| Server IP : 194.61.116.167 / Your IP : 216.73.217.84 Web Server : Apache/2 System : Linux nimbus2000.evosiber.com 5.14.0-503.11.1.el9_5.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Nov 12 09:26:13 EST 2024 x86_64 User : evoplastik ( 1130) PHP Version : 8.1.34 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/evoplastik/public_html/wp-content/plugins/mesmerize-companion/src/Customizer/ |
Upload File : |
<?php
namespace Mesmerize\Customizer;
class BaseSetting extends \WP_Customize_Setting
{
protected $cpData = null;
public function __construct($manager, $id, $cpData = array())
{
$this->cpData = $cpData;
$this->manager = $manager;
$this->id = $id;
$this->cpData["__is__kirki"] = isset($this->cpData["__is__kirki"]) ? $this->cpData["__is__kirki"] : false;
$args = (isset($this->cpData['wp_data'])) ? $this->cpData['wp_data'] : array();
if (isset($args['default'])) {
$default = $args['default'];
if ($default ==="__cp_filter__") {
$filter = $this->cpData['filterOptions']['filter'];
$filterDefault = isset($this->cpData['filterOptions']['default'])? $this->cpData['filterOptions']['default']: false;
$default = apply_filters($filter, $filterDefault) ;
}
$args['default'] = BaseSetting::filterDefault($default);
}
$args['capability'] = isset($args['capability']) ? $args['capability'] : "edit_theme_options";
$args['option_type'] = isset($args['option_type'])? $args['option_type'] : "theme_mod";
$this->cpData['wp_data'] = $args;
if ($this->isKirki()) {
\Kirki::add_config($id, $args);
} else {
parent::__construct($manager, $id, $args);
}
$this->init();
}
public function isKirki()
{
$controlClass = \Mesmerize\Companion::getTreeValueAt($this->cpData, "control:class");
$controlIsKirki = $controlClass && (strpos($controlClass, "kirki:") ===0);
$isKirki = $this->cpData["__is__kirki"] || $controlIsKirki;
return $isKirki;
}
public function setControl()
{
if (isset($this->cpData['no-control']) && $this->cpData['no-control']) {
return;
}
$controlData = array(
"class" => false,
"wp_data" => array(
"section" => $this->cpData['section'],
"label" => $this->id,
),
);
if (isset($this->cpData['control'])) {
$controlData = $this->cpData['control'];
if (!isset($controlData['wp_data'])) {
$controlData['wp_data'] = array();
}
$controlData['wp_data']['section'] = isset($this->cpData['section']) ? $this->cpData['section'] : null;
$controlData['wp_data']['settings'] = $this->id;
}
if ($this->isKirki()) {
$settingTransport = \Mesmerize\Companion::getTreeValueAt($this->cpData, "wp_data:transport");
$controlData['wp_data']['transport'] = $settingTransport ? $settingTransport : "refresh";
$settingDefault = \Mesmerize\Companion::getTreeValueAt($this->cpData, "wp_data:default");
$controlData['wp_data']['default'] = $settingDefault;
}
$this->companion()->customizer()->registerControls($this->manager, array(
$this->id => $controlData,
));
}
protected function init()
{
return true;
}
final protected function companion()
{
return \Mesmerize\Companion::instance();
}
public static function filterDefault($data)
{
return \Mesmerize\Companion::filterDefault($data);
}
public static function filterArrayDefaults($data)
{
return \Mesmerize\Companion::filterArrayDefaults($data);
}
}