| Server IP : 104.21.28.229 / Your IP : 216.73.216.142 Web Server : Apache/2 System : Linux hosting8537.lvs 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 User : mienphi ( 1014) PHP Version : 8.2.14 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /home/mienphi/public_html/wp-content/plugins/elementor/core/editor/data/globals/endpoints/ |
Upload File : |
<?php
namespace Elementor\Core\Editor\Data\Globals\Endpoints;
use Elementor\Data\V2\Base\Endpoint;
use Elementor\Data\V2\Base\Exceptions\Data_Exception;
use Elementor\Data\V2\Base\Exceptions\Error_404;
use Elementor\Plugin;
abstract class Base extends Endpoint {
protected function register() {
parent::register();
$args = [
'id_arg_type_regex' => '[\w]+',
];
$this->register_item_route( \WP_REST_Server::READABLE, $args );
$this->register_item_route( \WP_REST_Server::CREATABLE, $args );
$this->register_item_route( \WP_REST_Server::DELETABLE, $args );
}
public function get_items( $request ) {
return $this->get_kit_items();
}
/**
* @inheritDoc
* @throws \Elementor\Data\V2\Base\Exceptions\Error_404 Not found.
*/
public function get_item( $id, $request ) {
$items = $this->get_kit_items();
if ( ! isset( $items[ $id ] ) ) {
throw new Error_404( esc_html__( 'The Global value you are trying to use is not available.', 'elementor' ),
'global_not_found'
);
}
return $items[ $id ];
}
public function create_item( $id, $request ) {
$item = $request->get_body_params();
if ( ! isset( $item['title'] ) ) {
return new Data_Exception( esc_html__( 'Invalid title', 'elementor' ), 'invalid_title' );
}
$kit = Plugin::$instance->kits_manager->get_active_kit();
$item['id'] = $id;
$db_item = $this->convert_db_format( $item );
$kit->add_repeater_row( 'custom_' . $this->get_name(), $db_item );
return $item;
}
abstract protected function get_kit_items();
/**
* @param array $item frontend format.
* @return array backend format.
*/
abstract protected function convert_db_format( $item );
}