$file, 'version'=>'0', 'uri'=>'', 'description'=>'', 'author'=>'', ); $plg_data = implode( '', file($path.'/main.inc.php') ); if ( preg_match("|Plugin Name: (.*)|", $plg_data, $val) ) { $plugin['name'] = trim( $val[1] ); } if (preg_match("|Version: (.*)|", $plg_data, $val)) { $plugin['version'] = trim($val[1]); } if ( preg_match("|Plugin URI: (.*)|", $plg_data, $val) ) { $plugin['uri'] = trim($val[1]); } if ( preg_match("|Description: (.*)|", $plg_data, $val) ) { $plugin['description'] = trim($val[1]); } if ( preg_match("|Author: (.*)|", $plg_data, $val) ) { $plugin['author'] = trim($val[1]); } if ( preg_match("|Author URI: (.*)|", $plg_data, $val) ) { $plugin['author uri'] = trim($val[1]); } // IMPORTANT SECURITY ! $plugin = array_map('htmlspecialchars', $plugin); $plugins[$file] = $plugin; } } } closedir($dir); return $plugins; } /** * Retrieves an url for a plugin page. * @param string file - php script full name */ function get_admin_plugin_menu_link($file) { global $page; $real_file = realpath($file); $url = get_root_url().'admin.php?page=plugin'; if (false!==$real_file) { $real_plugin_path = realpath(PHPWG_PLUGINS_PATH); $file = substr($real_file, strlen($real_plugin_path)+1); $file = str_replace('\\', '/', $file);//Windows $url .= '&section='.urlencode($file); } else if (isset($page['errors'])) { array_push($page['errors'], 'PLUGIN ERROR: "'.$file.'" is not a valid file'); } return $url; } ?>