????JFIF??x?x????'
Server IP : 104.21.80.1 / Your IP : 216.73.216.145 Web Server : LiteSpeed System : Linux premium151.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 User : tempvsty ( 647) PHP Version : 8.0.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/tempvsty/./pontiacques.org/wp-content/plugins/event-calendar-wd/includes/ |
Upload File : |
<?php class ECWD_Config { protected static $instance = null; private $file_name = 'ecwd_config.json'; private $file_dir = ''; private $response = array(); private $config = array(); private $show_config_submenu = false; public $is_writable = false; private function __construct() { $this->set_show_config_submenu(); $this->set_file_path(); $this->get_file_data(); } private function get_file_data() { if ($this->is_writable) { $file_content = file_get_contents($this->file_dir); if ($file_content != '') { $this->config = json_decode($file_content, true); } else { $this->set_default_configs(); file_put_contents($this->file_dir, json_encode($this->config)); } } else { $this->set_default_configs(); $this->add_response('Writable chi ' . $this->file_dir); } $this->set_data_to_global(); } private function set_default_configs() { $file_content = file_get_contents(ECWD_DIR . '/config/config.json'); $this->config = json_decode($file_content, true); $this->import_from_settings(); } private function add_response($response) { $this->response[] = $response; } private function set_file_path() { $upload_dir = wp_upload_dir(); $dir = $upload_dir['basedir'] . '/wd_configs/'; $this->file_dir = $dir . $this->file_name; if (!is_dir($dir)) { mkdir($dir, 0777,true); chmod($dir, 0777); $fp = fopen($this->file_dir, 'w'); } $this->is_writable = is_writable($dir); } private function set_show_config_submenu() { if (isset($_GET['ecwd_config'])) { if ($_GET['ecwd_config'] == 'on') { add_option('ecwd_config', 'on'); } else if ($_GET['ecwd_config'] == 'off') { delete_option('ecwd_config'); header('Location: '.ECWD_MENU_SLUG); die; } } $option = get_option('ecwd_config'); if ($option !== false && $option == 'on') { $this->show_config_submenu = true; } } private function set_data_to_global() { global $ecwd_config; $ecwd_config = $this->config; $ecwd_config['show_config_submenu'] = $this->show_config_submenu; } public function update_conf_file() { $default_conf = file_get_contents(ECWD_DIR . '/config/config.json'); $default_conf = json_decode($default_conf, true); if (count($default_conf) !== count($this->config) || true) { foreach ($default_conf as $id => $value) { if (!isset($this->config[$id])) { $this->config[$id] = $value; } } $this->import_from_settings(); file_put_contents($this->file_dir, json_encode($this->config)); } $this->set_data_to_global(); } private function import_from_settings() { $opt = get_option('ecwd_settings_general'); if ($opt == false || !isset($opt['featured_image_for_themes'])) { return; } $this->config['featured_image_for_themes']['value'] = $opt['featured_image_for_themes']; if ($this->is_writable) { unset($opt['featured_image_for_themes']); update_option('ecwd_settings_general', $opt); } } public function save_new_config($new_config) { if ($this->is_writable) { foreach ($new_config as $id => $value) { $this->config[$id]['value'] = $value; } file_put_contents($this->file_dir, json_encode($this->config)); } } public function get_config() { return $this->config; } public function get_response() { return $this->response; } public static function get_instance() { if (null == self::$instance) { self::$instance = new self(); } return self::$instance; } }