File "Orders.php"
Full Path: /home/romayxjt/public_html/wp-content/plugins/the-events-calendar/common/src/Common/Event_Automator/Zapier/Triggers/Orders.php
File size: 1.4 KB
MIME-type: text/x-php
Charset: utf-8
<?php
/**
* The Zapier Orders Triggers.
*
* @since 6.0.0 Migrated to Common from Event Automator
* @package TEC\Event_Automator\Zapier\Triggers;
*/
namespace TEC\Event_Automator\Zapier\Triggers;
use TEC\Event_Automator\Zapier\Trigger_Queue\Abstract_Trigger_Queue;
use Tribe__Tickets__Tickets;
/**
* Class Orders
*
* @since 6.0.0 Migrated to Common from Event Automator
*
* @package TEC\Event_Automator\Zapier\Triggers
*/
class Orders extends Abstract_Trigger_Queue {
/**
* @inheritdoc
*/
protected static $queue_name = 'orders';
/**
* @inheritdoc
*/
protected static $added_to_queue_meta_field = 'zapier_order_run_once';
/**
* @inheritdoc
*/
protected function validate_for_trigger( $post_id, $data ) {
if ( empty( $post_id ) ) {
return false;
}
if ( ! $data['provider'] instanceof Tribe__Tickets__Tickets ) {
return false;
}
$run_once = get_post_meta( $post_id, $this->get_meta_field_name() );
if ( $data['provider']->orm_provider === 'edd' ) {
$run_once = edd_get_order_meta( $post_id, $this->get_meta_field_name(), true );
}
if ( $run_once ) {
return false;
}
// Set meta field so this event is added only once to the queue.
if ( $data['provider']->orm_provider === 'edd' ) {
edd_update_order_meta( $post_id, $this->get_meta_field_name(), true );
} else {
update_post_meta( $post_id, $this->get_meta_field_name(), true );
}
return true;
}
}