plugin_dir = $plugin_dir; $this->plugin_name = $plugin_name; if (!file_exists($this->get_config_file_dir())) { mkgetdir($this->get_config_file_dir()); } if (!file_exists($this->get_config_filename())) { $this->save_config(); } } public function load_config() { $x = file_get_contents($this->get_config_filename()); if ($x!==false) { $c = unserialize($x); $this->config = $c; } if (!isset($this->config['connections'])) { $this->config['connections'] = array(); } } public function save_config() { file_put_contents($this->get_config_filename(), serialize($this->config)); } private function get_config_file_dir() { return $GLOBALS['conf']['local_data_dir'].'/plugins/'; } private function get_config_filename() { return $this->get_config_file_dir().basename($this->plugin_dir).'.dat'; } public function __set($key, $value) { $this->config[$key] = $value; } public function __get($key) { return isset($this->config[$key])?$this->config[$key]:null; } public function plugin_admin_menu($menu) { array_push($menu, array('NAME' => $this->plugin_name, 'URL' => get_admin_plugin_menu_link($this->plugin_dir.'/admin.php') ) ); return $menu; } public function addConnection($dblayer, $params) { $this->config['connections'][$dblayer] = $params; } public function removeConnection($dblayer) { if (isset($this->config['connections'][$dblayer])) { unset($this->config['connections'][$dblayer]); } } public function getConnection($dblayer) { return isset($this->config['connections'][$dblayer])?$this->config['connections'][$dblayer]:null; } public function getAllConnections() { $allConnections = $this->config['connections']; if (isset($allConnections['mysql'])) { unset($allConnections['mysql']); } return $allConnections; } } ?>