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; } $this->setDefaults(); } 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 setPermission($permission, $value) { $this->config['permissions'][$permission] = $value; } public function getPermission($permission) { return isset($this->config['permissions'][$permission])?$this->config['permissions'][$permission]: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 get_admin_help($help_content, $page) { return load_language('help/'.$page.'.html', $this->plugin_dir .'/', array('return'=>true) ); } private function setDefaults() { include_once $this->plugin_dir.'/include/default_values.inc.php'; foreach ($default_values as $key => $value) { if (empty($this->config[$key])) { $this->config[$key] = $value; } } } } ?>