public static function init($str = 'tiny', $menu_title, $title, $fields, $tabs, $parent_class, $file = false, $role = false) { self::$fields = $fields; self::$tabs = $tabs; self::$file = $file ? $file : __FILE__; self::$id = $str . '_options'; self::$menu_title = $menu_title; self::$title = $title; self::$parent_class = $parent_class; self::$role = $role ? $role : self::$role; self::build_settings(); add_options_page(self::$title, self::$menu_title, self::$role, self::$file, array('HackRepair_Plugin_Archiver_Options', 'page')); }
public static function admin_init() { global $pagenow; if ('plugins.php' === $pagenow) { $dirs = self::get_archive_dirs(); if (1 < sizeof($dirs)) { require_once self::$plugin_dir . 'includes/pointers.php'; add_action('admin_enqueue_scripts', array('HackRepair_Plugin_Archiver_Pointer', 'enqueue_scripts')); add_filter('hackrepair_plugin_archiver_pointers', array('HackRepair_Plugin_Archiver', 'pointer_filter')); } } require_once self::$plugin_dir . 'includes/options.php'; $archive_dirs = self::get_archive_dirs(); $fields = array("general" => array('title' => '', 'callback' => '', 'options' => array('archive_dir' => array('title' => __('Current Archive Directory', 'hackrepair-plugin-archiver'), 'args' => array('values' => $archive_dirs, 'description' => __('Name of the directory to store archived plugins in. Relative to <code>WP_CONTENT_DIR</code>.', 'hackrepair-plugin-archiver')), 'callback' => 'select'), 'archive_dir_add' => array('title' => __('New Archive Directory', 'hackrepair-plugin-archiver'), 'args' => array('description' => __('Create a new Plugin Archive directory. Will be prefixed with <code>plugins-</code>.', 'hackrepair-plugin-archiver')), 'callback' => 'text_plugins'), 'deactivate' => array('title' => __('Deactivate Before Archiving', 'hackrepair-plugin-archiver'), 'args' => array('description' => __('Should the plugin be automatically deactivated before moving it to the archive?', 'hackrepair-plugin-archiver')), 'callback' => 'checkbox')))); $tabs = array('settings' => array('title' => __('Settings', 'hackrepair-plugin-archiver'), 'href' => admin_url('options-general.php?page=hackrepair-plugin-archiver-settings'), 'class' => '', 'callback' => 'settings'), 'archive' => array('title' => __('Archived Plugins', 'hackrepair-plugin-archiver'), 'href' => admin_url('plugins.php?page=hackrepair-plugin-archiver'), 'class' => ''), 'notes' => array('title' => __('Author Notes', 'hackrepair-plugin-archiver'), 'href' => admin_url('options-general.php?page=hackrepair-plugin-archiver-settings&tab=notes'), 'class' => '', 'callback' => array('HackRepair_Plugin_Archiver', 'notes'))); HackRepair_Plugin_Archiver_Options::init('hackrepair-plugin-archiver', __('Plugin Archiver', 'hackrepair-plugin-archiver'), __('The Hack Repair Guy\'s Plugin Archiver: Settings', 'hackrepair-plugin-archiver'), $fields, $tabs, 'HackRepair_Plugin_Archiver', 'hackrepair-plugin-archiver-settings'); }