. */ require_once('AddActionsAndFilters_AdminPageActions.php'); class AddActionsAndFilters_ViewAdminPage { /** * @var AddActionsAndFilters_Plugin */ var $plugin; /** * @var AddActionsAndFilters_CodeListTable */ var $table; /** * Sets Admin page screen options */ public static function addAdminPageScreenOptions() { require_once('AddActionsAndFilters_DataModelConfig.php'); $option = 'per_page'; $args = array( 'label' => 'Code Items', 'default' => AddActionsAndFilters_DataModelConfig::PER_PAGE_DEFAULT, 'option' => AddActionsAndFilters_DataModelConfig::PER_PAGE_OPTION ); add_screen_option($option, $args); } // set-screen-option callback - does not work // public static function setScreenOptionCallback($status, $option, $value) // { // // http://chrismarslender.com/2012/01/26/wordpress-screen-options-tutorial/ // if (AddActionsAndFilters_DataModelConfig::PER_PAGE_OPTION == $option) { // return $value; // } // return $status; // } // Work-around for the above callback not working public static function setScreenOptionCallback($option, $value) { if (AddActionsAndFilters_DataModelConfig::PER_PAGE_OPTION == $option) { $userId = get_current_user_id(); if ($userId != 0) { update_user_option($userId, $option, $value); } } } public static function addHelpTab() { $screen = get_current_screen(); $screen->add_help_tab(array( 'id' => 'AddActionsAndFilters_help', 'title' => __('Help'), 'content' => 'Shortcode
add_action
add_filter', //'callback' => $callback )); } public function __construct(&$plugin, &$table) { $this->plugin = $plugin; $this->table = $table; } public function display() { require_once('AddActionsAndFilters_AdminViewUrlBuilder.php'); $urlBuilder = new AddActionsAndFilters_AdminViewUrlBuilder(); $cleanUrl = $urlBuilder->buildUrl(); // no action value in it echo '
'; // Header $adminUrl = get_admin_url() . 'admin.php?page='; printf('
', '100%', $cleanUrl, $this->plugin->getPluginFileUrl('img/admin-banner.png'), $adminUrl . $this->plugin->getImportExportSlug(), $this->plugin->getPluginFileUrl('img/import-export.png'), $adminUrl . $this->plugin->getSettingsSlug(), $this->plugin->getPluginFileUrl('img/settings.png') ); printf('
'); $actions = new AddActionsAndFilters_AdminPageActions(); printf('%s', get_admin_url(), 'admin.php?page=', $this->plugin->getAdminPageSlug(), '&action=', $actions->getEditKey(), __('Add New')); // Table Styles echo ''; // Form for bulk actions printf('
', $cleanUrl); // Search box $this->table->search_box('search', 'search_id'); // Code table $this->table->display(); // Closing Tags echo '
'; echo '
'; } }