PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
| Dir : /home/oligap/www/wp-content/plugins/elementor/core/common/modules/event-tracker/data/ |
| Server: Linux cloud.virginhosting.lk 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64 IP: 128.140.68.198 |
| Dir : /home/oligap/www/wp-content/plugins/elementor/core/common/modules/event-tracker/data/controller.php |
<?php
namespace Elementor\Core\Common\Modules\EventTracker\Data;
use Elementor\Core\Common\Modules\EventTracker\DB as Events_DB_Manager;
use Elementor\Plugin;
use WP_REST_Server;
use Elementor\Data\V2\Base\Controller as Controller_Base;
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
class Controller extends Controller_Base {
public function get_name() {
return 'send-event';
}
public function register_endpoints() {
$this->index_endpoint->register_items_route( \WP_REST_Server::CREATABLE, [
'event_data' => [
'description' => 'All the recorded event data in JSON format',
'type' => 'object',
'required' => true,
],
] );
}
/**
* Get Permissions Callback
*
* This endpoint should only accept POST requests, and currently we only track site administrator actions.
*
* @since 3.6.0
*
* @param \WP_REST_Request $request
* @return bool
*/
public function get_permission_callback( $request ) {
if ( WP_REST_Server::CREATABLE !== $request->get_method() ) {
return false;
}
return current_user_can( 'manage_options' );
}
/**
* Create Items
*
* Receives a request for adding an event data entry into the database. If the request contains event data, this
* method initiates creation of a database entry with the event data in the Events DB table.
*
* @since 3.6.0
*
* @param \WP_REST_Request $request
* @return bool
*/
public function create_items( $request ) {
$request_body = $request->get_json_params();
if ( empty( $request_body['event_data'] ) ) {
return false;
}
/** @var Events_DB_Manager $event_tracker_db_manager */
$event_tracker_db_manager = Plugin::$instance->common
->get_component( 'event-tracker' )
->get_component( 'events-db' );
$event_tracker_db_manager->create_entry( $request_body['event_data'] );
return true;
}
}