'?', 'version'=>'?', 'uri'=>'', 'description'=>''); $plg_data = implode( '', file($path.'/index.php') ); if ( preg_match("|Plugin Name: (.*)|i", $plg_data, $val) ) { $plugin['name'] = trim( $val[1] ); } if (preg_match("|Version: (.*)|i", $plg_data, $val)) { $plugin['version'] = trim($val[1]); } if ( preg_match("|Plugin URI: (.*)|i", $plg_data, $val) ) { $plugin['uri'] = $val[1]; } if ( preg_match("|Description: (.*)|i", $plg_data, $val) ) { $plugin['description'] = trim($val[1]); } $plugins[$file] = $plugin; } } } closedir($dir); return $plugins; } function activate_plugin($plugin_name) { global $conf; $arr = get_active_plugins(false); array_push($arr, $plugin_name); if ($arr != array_unique($arr) ) return false; // just added the same one $conf['active_plugins'] = implode(',', $arr); pwg_query(' UPDATE '.CONFIG_TABLE.' SET value="'.$conf['active_plugins'].'" WHERE param="active_plugins"'); return true; } function deactivate_plugin($plugin_name) { global $conf; $arr = get_active_plugins(false); $idx = array_search($plugin_name, $arr); if ($idx!==false) { unset( $arr[$idx] ); $conf['active_plugins'] = implode(',', $arr); pwg_query(' UPDATE '.CONFIG_TABLE.' SET value="'.$conf['active_plugins'].'" WHERE param="active_plugins"'); return true; } return false; } /*allows plugins to add their content to the administration page*/ function add_plugin_admin_menu($title, $func) { global $page; $uid = md5( var_export($func, true) ); $page['plugin_admin_menu'][] = array( 'title' => $title, 'function' => $func, 'uid' => $uid ); } ?>