| Server IP : 108.167.142.43 / Your IP : 216.73.217.58 Web Server : Apache System : Linux gator4174.hostgator.com 5.14.0-687.39.1.el9_8.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Aug 18 06:09:16 EDT 2026 x86_64 User : delarice ( 2406) PHP Version : 8.3.36 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home2/delarice/www/wp-content/plugins/elementor/modules/global-classes/ |
Upload File : |
<?php
namespace Elementor\Modules\GlobalClasses;
use Elementor\Core\Kits\Documents\Kit;
use Elementor\Core\Kits\Concerns\Has_Kit_Dependency;
use Elementor\Modules\GlobalClasses\Concerns\Has_Preview_Context;
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
class Global_Classes_Order {
use Has_Kit_Dependency;
use Has_Preview_Context;
const META_KEY = '_elementor_global_classes_order';
const META_KEY_PREVIEW = '_elementor_global_classes_order_preview';
protected array $context_keys = [
'order' => [
'frontend' => self::META_KEY,
'preview' => self::META_KEY_PREVIEW,
],
];
private ?array $cache = null;
private function __construct() {
}
public static function make( Kit $kit ): self {
return ( new self() )->set_kit( $kit );
}
public function get_order(): array {
$payload = $this->read_kit_meta_payload();
return $payload['order'] ?? [];
}
public function set_order( array $ids ): bool {
$kit = $this->get_kit();
if ( ! $kit ) {
return false;
}
$payload = [
'order' => array_values( $ids ),
];
$result = $kit->update_meta( $this->get_context_key( 'order' ), $payload );
$this->cache = null;
return false !== $result;
}
public function remove_class_id( string $id ): bool {
$order = $this->get_order();
if ( ! in_array( $id, $order, true ) ) {
return true;
}
$order = array_filter( $order, fn( $item ) => $item !== $id );
return $this->set_order( $order );
}
private function read_kit_meta_payload(): array {
if ( null !== $this->cache ) {
return $this->cache;
}
$kit = $this->get_kit();
if ( ! $kit ) {
return [];
}
$payload = $kit->get_meta( $this->get_context_key( 'order' ) );
if ( $this->is_preview() && empty( $payload ) ) {
$payload = self::make( $this->get_kit() )->set_preview( false )->read_kit_meta_payload();
}
$this->cache = is_array( $payload ) ? $payload : [];
return $this->cache;
}
}