Use new code style
This commit is contained in:
@ -11,9 +11,9 @@
|
||||
|
||||
namespace WP_Ultimo\Managers;
|
||||
|
||||
use \WP_Ultimo\Managers\Base_Manager;
|
||||
use WP_Ultimo\Managers\Base_Manager;
|
||||
use WP_Ultimo\Models\Base_Model;
|
||||
use \WP_Ultimo\Models\Event;
|
||||
use WP_Ultimo\Models\Event;
|
||||
|
||||
// Exit if accessed directly
|
||||
defined('ABSPATH') || exit;
|
||||
@ -25,7 +25,9 @@ defined('ABSPATH') || exit;
|
||||
*/
|
||||
class Event_Manager extends Base_Manager {
|
||||
|
||||
use \WP_Ultimo\Apis\Rest_Api, \WP_Ultimo\Apis\WP_CLI, \WP_Ultimo\Traits\Singleton;
|
||||
use \WP_Ultimo\Apis\Rest_Api;
|
||||
use \WP_Ultimo\Apis\WP_CLI;
|
||||
use \WP_Ultimo\Traits\Singleton;
|
||||
|
||||
/**
|
||||
* The manager slug.
|
||||
@ -80,8 +82,7 @@ class Event_Manager extends Base_Manager {
|
||||
add_action('wu_model_post_save', array($this, 'log_transitions'), 10, 4);
|
||||
|
||||
add_action('wu_daily', array($this, 'clean_old_events'));
|
||||
|
||||
} // end init;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the payload to be displayed in the payload preview field.
|
||||
@ -98,45 +99,41 @@ class Event_Manager extends Base_Manager {
|
||||
public function log_transitions($model, $data, $data_unserialized, $object) {
|
||||
|
||||
if ($model === 'event') {
|
||||
|
||||
return;
|
||||
|
||||
} // end if;
|
||||
}
|
||||
|
||||
/*
|
||||
* Editing Model
|
||||
*/
|
||||
if (wu_get_isset($data_unserialized, 'id')) {
|
||||
|
||||
$original = $object->_get_original();
|
||||
|
||||
$diff = wu_array_recursive_diff($data_unserialized, $original);
|
||||
|
||||
$keys_to_remove = apply_filters('wu_exclude_transitions_keys', array(
|
||||
'meta',
|
||||
'last_login',
|
||||
'ips',
|
||||
'query_class',
|
||||
'settings',
|
||||
'_compiled_product_list',
|
||||
'_gateway_info',
|
||||
'_limitations',
|
||||
));
|
||||
$keys_to_remove = apply_filters(
|
||||
'wu_exclude_transitions_keys',
|
||||
array(
|
||||
'meta',
|
||||
'last_login',
|
||||
'ips',
|
||||
'query_class',
|
||||
'settings',
|
||||
'_compiled_product_list',
|
||||
'_gateway_info',
|
||||
'_limitations',
|
||||
)
|
||||
);
|
||||
|
||||
foreach ($keys_to_remove as $key_to_remove) {
|
||||
|
||||
unset($diff[$key_to_remove]);
|
||||
|
||||
} // end foreach;
|
||||
unset($diff[ $key_to_remove ]);
|
||||
}
|
||||
|
||||
/**
|
||||
* If empty, go home.
|
||||
*/
|
||||
if (empty($diff)) {
|
||||
|
||||
return;
|
||||
|
||||
} // end if;
|
||||
}
|
||||
|
||||
$changed = array();
|
||||
|
||||
@ -144,27 +141,21 @@ class Event_Manager extends Base_Manager {
|
||||
* Loop changed data.
|
||||
*/
|
||||
foreach ($diff as $key => $new_value) {
|
||||
|
||||
$old_value = wu_get_isset($original, $key, '');
|
||||
|
||||
if ($key === 'id' && intval($old_value) === 0) {
|
||||
|
||||
return;
|
||||
|
||||
} // end if;
|
||||
}
|
||||
|
||||
if (empty(json_encode($old_value)) && empty(json_encode($new_value))) {
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
} // end if;
|
||||
|
||||
$changed[$key] = array(
|
||||
$changed[ $key ] = array(
|
||||
'old_value' => $old_value,
|
||||
'new_value' => $new_value,
|
||||
);
|
||||
|
||||
} // end foreach;
|
||||
}
|
||||
|
||||
$event_data = array(
|
||||
'severity' => Event::SEVERITY_INFO,
|
||||
@ -173,9 +164,7 @@ class Event_Manager extends Base_Manager {
|
||||
'object_id' => $object->get_id(),
|
||||
'payload' => $changed,
|
||||
);
|
||||
|
||||
} else {
|
||||
|
||||
$event_data = array(
|
||||
'severity' => Event::SEVERITY_INFO,
|
||||
'slug' => 'created',
|
||||
@ -183,19 +172,15 @@ class Event_Manager extends Base_Manager {
|
||||
'object_id' => $object->get_id(),
|
||||
'payload' => array(),
|
||||
);
|
||||
}
|
||||
|
||||
} // end if;
|
||||
|
||||
if (!empty($_POST) && is_user_logged_in()) {
|
||||
|
||||
if ( ! empty($_POST) && is_user_logged_in()) {
|
||||
$event_data['initiator'] = 'manual';
|
||||
$event_data['author_id'] = get_current_user_id();
|
||||
|
||||
} // end if;
|
||||
}
|
||||
|
||||
return wu_create_event($event_data);
|
||||
|
||||
} // end log_transitions;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the payload to be displayed in the payload preview field.
|
||||
@ -205,37 +190,28 @@ class Event_Manager extends Base_Manager {
|
||||
*/
|
||||
public function event_payload_preview() {
|
||||
|
||||
if (!wu_request('event')) {
|
||||
|
||||
if ( ! wu_request('event')) {
|
||||
wp_send_json_error(new \WP_Error('error', __('No event was selected.', 'wp-ultimo')));
|
||||
|
||||
} // end if;
|
||||
}
|
||||
|
||||
$slug = wu_request('event');
|
||||
|
||||
if (!$slug) {
|
||||
|
||||
if ( ! $slug) {
|
||||
wp_send_json_error(new \WP_Error('not-found', __('Event was not found.', 'wp-ultimo')));
|
||||
|
||||
} // end if;
|
||||
}
|
||||
|
||||
$event = wu_get_event_type($slug);
|
||||
|
||||
if (!$event) {
|
||||
|
||||
if ( ! $event) {
|
||||
wp_send_json_error(new \WP_Error('not-found', __('Data not found.', 'wp-ultimo')));
|
||||
|
||||
} else {
|
||||
|
||||
$payload = isset($event['payload']) ? wu_maybe_lazy_load_payload($event['payload']) : '{}';
|
||||
|
||||
$payload = array_map('htmlentities2', $payload);
|
||||
|
||||
wp_send_json_success($payload);
|
||||
|
||||
} // end if;
|
||||
|
||||
} // end event_payload_preview;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the list of event types to register.
|
||||
@ -263,8 +239,7 @@ class Event_Manager extends Base_Manager {
|
||||
$types = array_filter($types, fn($item) => $item['hidden'] === false);
|
||||
|
||||
return $types;
|
||||
|
||||
} // end get_event_type_as_options;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a new event.
|
||||
@ -280,23 +255,17 @@ class Event_Manager extends Base_Manager {
|
||||
|
||||
$registered_event = $this->get_event($slug);
|
||||
|
||||
if (!$registered_event) {
|
||||
|
||||
if ( ! $registered_event) {
|
||||
return array('error' => 'Event not found');
|
||||
|
||||
} // end if;
|
||||
}
|
||||
|
||||
$payload_diff = array_diff_key(wu_maybe_lazy_load_payload($registered_event['payload']), $payload);
|
||||
|
||||
if (isset($payload_diff[0])) {
|
||||
|
||||
foreach ($payload_diff[0] as $diff_key => $diff_value) {
|
||||
|
||||
return array('error' => 'Param required:' . $diff_key);
|
||||
|
||||
} // end foreach;
|
||||
|
||||
} // end if;
|
||||
}
|
||||
}
|
||||
|
||||
$payload['wu_version'] = wu_get_version();
|
||||
|
||||
@ -308,8 +277,7 @@ class Event_Manager extends Base_Manager {
|
||||
* Saves in the database
|
||||
*/
|
||||
$this->save_event($slug, $payload);
|
||||
|
||||
} // end do_event;
|
||||
}
|
||||
|
||||
/**
|
||||
* Register a new event to be used as param.
|
||||
@ -323,11 +291,10 @@ class Event_Manager extends Base_Manager {
|
||||
*/
|
||||
public function register_event($slug, $args): bool {
|
||||
|
||||
$this->events[$slug] = $args;
|
||||
$this->events[ $slug ] = $args;
|
||||
|
||||
return true;
|
||||
|
||||
} // end register_event;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the list of available webhook events.
|
||||
@ -338,8 +305,7 @@ class Event_Manager extends Base_Manager {
|
||||
public function get_events() {
|
||||
|
||||
return $this->events;
|
||||
|
||||
} // end get_events;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the list of available webhook events.
|
||||
@ -354,22 +320,15 @@ class Event_Manager extends Base_Manager {
|
||||
$events = $this->get_events();
|
||||
|
||||
if ($events) {
|
||||
|
||||
foreach ($events as $key => $event) {
|
||||
|
||||
if ($key === $slug) {
|
||||
|
||||
return $event;
|
||||
|
||||
} // end if;
|
||||
|
||||
} // end foreach;
|
||||
|
||||
} // end if;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
} // end get_event;
|
||||
}
|
||||
|
||||
/**
|
||||
* Saves event in the database.
|
||||
@ -380,18 +339,19 @@ class Event_Manager extends Base_Manager {
|
||||
*/
|
||||
public function save_event($slug, $payload) {
|
||||
|
||||
$event = new Event(array(
|
||||
'object_id' => wu_get_isset($payload, 'object_id', ''),
|
||||
'object_type' => wu_get_isset($payload, 'object_type', ''),
|
||||
'severity' => wu_get_isset($payload, 'type', Event::SEVERITY_INFO),
|
||||
'date_created' => wu_get_current_time('mysql', true),
|
||||
'slug' => strtolower($slug),
|
||||
'payload' => $payload,
|
||||
));
|
||||
$event = new Event(
|
||||
array(
|
||||
'object_id' => wu_get_isset($payload, 'object_id', ''),
|
||||
'object_type' => wu_get_isset($payload, 'object_type', ''),
|
||||
'severity' => wu_get_isset($payload, 'type', Event::SEVERITY_INFO),
|
||||
'date_created' => wu_get_current_time('mysql', true),
|
||||
'slug' => strtolower($slug),
|
||||
'payload' => $payload,
|
||||
)
|
||||
);
|
||||
|
||||
$event->save();
|
||||
|
||||
} // end save_event;
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers the list of default events.
|
||||
@ -404,80 +364,94 @@ class Event_Manager extends Base_Manager {
|
||||
/**
|
||||
* Payment Received.
|
||||
*/
|
||||
wu_register_event_type('payment_received', array(
|
||||
'name' => __('Payment Received', 'wp-ultimo'),
|
||||
'desc' => __('This event is fired every time a new payment is received, regardless of the payment status.', 'wp-ultimo'),
|
||||
'payload' => fn() => array_merge(
|
||||
wu_register_event_type(
|
||||
'payment_received',
|
||||
array(
|
||||
'name' => __('Payment Received', 'wp-ultimo'),
|
||||
'desc' => __('This event is fired every time a new payment is received, regardless of the payment status.', 'wp-ultimo'),
|
||||
'payload' => fn() => array_merge(
|
||||
wu_generate_event_payload('payment'),
|
||||
wu_generate_event_payload('membership'),
|
||||
wu_generate_event_payload('customer')
|
||||
),
|
||||
'deprecated_args' => array(
|
||||
'user_id' => 'customer_user_id',
|
||||
'amount' => 'payment_total',
|
||||
'gateway' => 'payment_gateway',
|
||||
'status' => 'payment_status',
|
||||
'date' => 'payment_date_created',
|
||||
),
|
||||
));
|
||||
'deprecated_args' => array(
|
||||
'user_id' => 'customer_user_id',
|
||||
'amount' => 'payment_total',
|
||||
'gateway' => 'payment_gateway',
|
||||
'status' => 'payment_status',
|
||||
'date' => 'payment_date_created',
|
||||
),
|
||||
)
|
||||
);
|
||||
|
||||
/**
|
||||
* Site Published.
|
||||
*/
|
||||
wu_register_event_type('site_published', array(
|
||||
'name' => __('Site Published', 'wp-ultimo'),
|
||||
'desc' => __('This event is fired every time a new site is created tied to a membership, or transitions from a pending state to a published state.', 'wp-ultimo'),
|
||||
'payload' => fn() => array_merge(
|
||||
wu_register_event_type(
|
||||
'site_published',
|
||||
array(
|
||||
'name' => __('Site Published', 'wp-ultimo'),
|
||||
'desc' => __('This event is fired every time a new site is created tied to a membership, or transitions from a pending state to a published state.', 'wp-ultimo'),
|
||||
'payload' => fn() => array_merge(
|
||||
wu_generate_event_payload('site'),
|
||||
wu_generate_event_payload('customer'),
|
||||
wu_generate_event_payload('membership')
|
||||
),
|
||||
'deprecated_args' => array(),
|
||||
));
|
||||
'deprecated_args' => array(),
|
||||
)
|
||||
);
|
||||
|
||||
/**
|
||||
* Confirm Email Address
|
||||
*/
|
||||
wu_register_event_type('confirm_email_address', array(
|
||||
'name' => __('Email Verification Needed', 'wp-ultimo'),
|
||||
'desc' => __('This event is fired every time a new customer is added with an email verification status of pending.', 'wp-ultimo'),
|
||||
'payload' => fn() => array_merge(
|
||||
wu_register_event_type(
|
||||
'confirm_email_address',
|
||||
array(
|
||||
'name' => __('Email Verification Needed', 'wp-ultimo'),
|
||||
'desc' => __('This event is fired every time a new customer is added with an email verification status of pending.', 'wp-ultimo'),
|
||||
'payload' => fn() => array_merge(
|
||||
array(
|
||||
'verification_link' => 'https://linktoverifyemail.com',
|
||||
),
|
||||
wu_generate_event_payload('customer')
|
||||
),
|
||||
'deprecated_args' => array(),
|
||||
));
|
||||
'deprecated_args' => array(),
|
||||
)
|
||||
);
|
||||
|
||||
/**
|
||||
* Domain Mapping Added
|
||||
*/
|
||||
wu_register_event_type('domain_created', array(
|
||||
'name' => __('New Domain Mapping Added', 'wp-ultimo'),
|
||||
'desc' => __('This event is fired every time a new domain mapping is added by a customer.', 'wp-ultimo'),
|
||||
'payload' => fn() => array_merge(
|
||||
wu_register_event_type(
|
||||
'domain_created',
|
||||
array(
|
||||
'name' => __('New Domain Mapping Added', 'wp-ultimo'),
|
||||
'desc' => __('This event is fired every time a new domain mapping is added by a customer.', 'wp-ultimo'),
|
||||
'payload' => fn() => array_merge(
|
||||
wu_generate_event_payload('domain'),
|
||||
wu_generate_event_payload('site'),
|
||||
wu_generate_event_payload('membership'),
|
||||
wu_generate_event_payload('customer')
|
||||
),
|
||||
'deprecated_args' => array(
|
||||
'user_id' => 1,
|
||||
'user_site_id' => 1,
|
||||
'mapped_domain' => 'mydomain.com',
|
||||
'user_site_url' => 'http://test.mynetwork.com/',
|
||||
'network_ip' => '125.399.3.23',
|
||||
),
|
||||
));
|
||||
'deprecated_args' => array(
|
||||
'user_id' => 1,
|
||||
'user_site_id' => 1,
|
||||
'mapped_domain' => 'mydomain.com',
|
||||
'user_site_url' => 'http://test.mynetwork.com/',
|
||||
'network_ip' => '125.399.3.23',
|
||||
),
|
||||
)
|
||||
);
|
||||
|
||||
/**
|
||||
* Renewal payment created
|
||||
*/
|
||||
wu_register_event_type('renewal_payment_created', array(
|
||||
'name' => __('New Renewal Payment Created', 'wp-ultimo'),
|
||||
'desc' => __('This event is fired every time a new renewal payment is created by WP Multisite WaaS.', 'wp-ultimo'),
|
||||
'payload' => fn() => array_merge(
|
||||
wu_register_event_type(
|
||||
'renewal_payment_created',
|
||||
array(
|
||||
'name' => __('New Renewal Payment Created', 'wp-ultimo'),
|
||||
'desc' => __('This event is fired every time a new renewal payment is created by WP Multisite WaaS.', 'wp-ultimo'),
|
||||
'payload' => fn() => array_merge(
|
||||
array(
|
||||
'default_payment_url' => 'https://linktopayment.com',
|
||||
),
|
||||
@ -485,31 +459,30 @@ class Event_Manager extends Base_Manager {
|
||||
wu_generate_event_payload('membership'),
|
||||
wu_generate_event_payload('customer')
|
||||
),
|
||||
'deprecated_args' => array(),
|
||||
));
|
||||
'deprecated_args' => array(),
|
||||
)
|
||||
);
|
||||
|
||||
$models = $this->models_events;
|
||||
|
||||
foreach ($models as $model => $params) {
|
||||
|
||||
foreach ($params['types'] as $type) {
|
||||
|
||||
wu_register_event_type($model . '_' . $type, array(
|
||||
'name' => sprintf(__('%1$s %2$s', 'wp-ultimo'), $params['label'], ucfirst($type)),
|
||||
'desc' => sprintf(__('This event is fired every time a %1$s is %2$s by WP Multisite WaaS.', 'wp-ultimo'), $params['label'], $type),
|
||||
'deprecated_args' => array(),
|
||||
'payload' => fn() => $this->get_model_payload($model),
|
||||
));
|
||||
|
||||
} // end foreach;
|
||||
wu_register_event_type(
|
||||
$model . '_' . $type,
|
||||
array(
|
||||
'name' => sprintf(__('%1$s %2$s', 'wp-ultimo'), $params['label'], ucfirst($type)),
|
||||
'desc' => sprintf(__('This event is fired every time a %1$s is %2$s by WP Multisite WaaS.', 'wp-ultimo'), $params['label'], $type),
|
||||
'deprecated_args' => array(),
|
||||
'payload' => fn() => $this->get_model_payload($model),
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
add_action("wu_{$model}_post_save", array($this, 'dispatch_base_model_event'), 10, 3);
|
||||
|
||||
} // end foreach;
|
||||
}
|
||||
|
||||
do_action('wu_register_all_events');
|
||||
|
||||
} // end register_all_events;
|
||||
}
|
||||
|
||||
/**
|
||||
* Register models events
|
||||
@ -523,12 +496,11 @@ class Event_Manager extends Base_Manager {
|
||||
|
||||
$instance = self::get_instance();
|
||||
|
||||
$instance->models_events[$slug] = array(
|
||||
$instance->models_events[ $slug ] = array(
|
||||
'label' => $label,
|
||||
'types' => $event_types,
|
||||
);
|
||||
|
||||
} // end register_model_events;
|
||||
}
|
||||
|
||||
/**
|
||||
* Dispatch registered model events
|
||||
@ -547,17 +519,14 @@ class Event_Manager extends Base_Manager {
|
||||
|
||||
$registered_model = wu_get_isset($this->models_events, $model);
|
||||
|
||||
if (!$registered_model || !in_array($type, $registered_model['types'], true)) {
|
||||
|
||||
if ( ! $registered_model || ! in_array($type, $registered_model['types'], true)) {
|
||||
return;
|
||||
|
||||
} // end if;
|
||||
}
|
||||
|
||||
$payload = $this->get_model_payload($model, $obj);
|
||||
|
||||
wu_do_event($model . '_' . $type, $payload);
|
||||
|
||||
} // end dispatch_base_model_event;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the full payload for a given model.
|
||||
@ -574,31 +543,25 @@ class Event_Manager extends Base_Manager {
|
||||
$payload = wu_generate_event_payload($model, $obj);
|
||||
|
||||
if (method_exists($obj, 'get_membership')) {
|
||||
|
||||
$membership = $model_object ? $obj->get_membership() : false;
|
||||
|
||||
$payload = array_merge(
|
||||
$payload,
|
||||
wu_generate_event_payload('membership', $membership)
|
||||
);
|
||||
|
||||
} // end if;
|
||||
}
|
||||
|
||||
if (method_exists($obj, 'get_customer')) {
|
||||
|
||||
$customer = $model_object ? $obj->get_customer() : false;
|
||||
|
||||
$payload = array_merge(
|
||||
$payload,
|
||||
wu_generate_event_payload('customer', $customer)
|
||||
);
|
||||
|
||||
} // end if;
|
||||
}
|
||||
|
||||
if (method_exists($obj, 'get_billing_address') || method_exists($obj, 'get_membership')) {
|
||||
|
||||
if ($model_object) {
|
||||
|
||||
$payload = method_exists($obj, 'get_billing_address')
|
||||
? array_merge(
|
||||
$payload,
|
||||
@ -607,23 +570,21 @@ class Event_Manager extends Base_Manager {
|
||||
$payload,
|
||||
$obj->get_membership()->get_billing_address()->to_array()
|
||||
);
|
||||
|
||||
} else {
|
||||
|
||||
$payload = array_merge(
|
||||
$payload,
|
||||
array_map(function () {
|
||||
return '';
|
||||
}, \WP_Ultimo\Objects\Billing_Address::fields())
|
||||
array_map(
|
||||
function () {
|
||||
return '';
|
||||
},
|
||||
\WP_Ultimo\Objects\Billing_Address::fields()
|
||||
)
|
||||
);
|
||||
|
||||
} // end if;
|
||||
|
||||
} // end if;
|
||||
}
|
||||
}
|
||||
|
||||
return $payload;
|
||||
|
||||
} // end get_model_payload;
|
||||
}
|
||||
|
||||
/**
|
||||
* Every day, deletes old events that we don't want to keep.
|
||||
@ -638,39 +599,34 @@ class Event_Manager extends Base_Manager {
|
||||
$threshold_days = apply_filters('wu_events_threshold_days', 1);
|
||||
|
||||
if (empty($threshold_days)) {
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
} // end if;
|
||||
|
||||
$events_to_remove = wu_get_events(array(
|
||||
'number' => 100,
|
||||
'date_query' => array(
|
||||
'column' => 'date_created',
|
||||
'before' => "-{$threshold_days} days",
|
||||
'inclusive' => true,
|
||||
),
|
||||
));
|
||||
$events_to_remove = wu_get_events(
|
||||
array(
|
||||
'number' => 100,
|
||||
'date_query' => array(
|
||||
'column' => 'date_created',
|
||||
'before' => "-{$threshold_days} days",
|
||||
'inclusive' => true,
|
||||
),
|
||||
)
|
||||
);
|
||||
|
||||
$success_count = 0;
|
||||
|
||||
foreach ($events_to_remove as $event) {
|
||||
|
||||
$status = $event->delete();
|
||||
|
||||
if (!is_wp_error($status) && $status) {
|
||||
|
||||
$success_count++;
|
||||
|
||||
} // end if;
|
||||
|
||||
} // end foreach;
|
||||
if ( ! is_wp_error($status) && $status) {
|
||||
++$success_count;
|
||||
}
|
||||
}
|
||||
|
||||
wu_log_add('wu-cron', sprintf(__('Removed %1$d events successfully. Failed to remove %2$d events.', 'wp-ultimo'), $success_count, count($events_to_remove) - $success_count));
|
||||
|
||||
return true;
|
||||
|
||||
} // end clean_old_events;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a endpoint to retrieve all available event hooks.
|
||||
@ -681,21 +637,22 @@ class Event_Manager extends Base_Manager {
|
||||
*/
|
||||
public function hooks_endpoint() {
|
||||
|
||||
if (!wu_get_setting('enable_api', true)) {
|
||||
|
||||
if ( ! wu_get_setting('enable_api', true)) {
|
||||
return;
|
||||
|
||||
} // end if;
|
||||
}
|
||||
|
||||
$api = \WP_Ultimo\API::get_instance();
|
||||
|
||||
register_rest_route($api->get_namespace(), '/hooks', array(
|
||||
'methods' => 'GET',
|
||||
'callback' => array($this, 'get_hooks_rest'),
|
||||
'permission_callback' => array($api, 'check_authorization'),
|
||||
));
|
||||
|
||||
} // end hooks_endpoint;
|
||||
register_rest_route(
|
||||
$api->get_namespace(),
|
||||
'/hooks',
|
||||
array(
|
||||
'methods' => 'GET',
|
||||
'callback' => array($this, 'get_hooks_rest'),
|
||||
'permission_callback' => array($api, 'check_authorization'),
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return all event types for the REST API request.
|
||||
@ -710,19 +667,13 @@ class Event_Manager extends Base_Manager {
|
||||
$response = wu_get_event_types();
|
||||
|
||||
foreach ($response as $key => $value) {
|
||||
|
||||
$payload = wu_get_isset($value, 'payload');
|
||||
|
||||
if (is_callable($payload)) {
|
||||
|
||||
$response[$key]['payload'] = $payload();
|
||||
|
||||
} // end if;
|
||||
|
||||
} // end foreach;
|
||||
$response[ $key ]['payload'] = $payload();
|
||||
}
|
||||
}
|
||||
|
||||
return rest_ensure_response($response);
|
||||
|
||||
} // end get_hooks_rest;
|
||||
|
||||
} // end class Event_Manager;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user