/** * Initialise menu items, notices, etc. */ function init() { global $wp_version; if (version_compare($wp_version, "2.7-alpha", '>')) { add_object_page(__('Ads', 'advman'), __('Ads', 'advman'), 8, 'advman-manage', array('Advman_Admin', 'process')); add_submenu_page('advman-manage', __('Edit Ads', 'advman'), __('Edit', 'advman'), 8, 'advman-manage', array('Advman_Admin', 'process')); add_submenu_page('advman-manage', __('Create New Ad', 'advman'), __('Create New', 'advman'), 8, 'advman-create', array('Advman_Admin', 'create')); add_options_page(__('Ads', 'advman'), __('Ads', 'advman'), 8, 'advman-settings', array('Advman_Admin', 'settings')); } else { add_menu_page(__('Ads', 'advman'), __('Ads', 'advman'), 8, 'advman-manage', array('Advman_Admin', 'process')); add_submenu_page('advman-manage', __('Edit Ads', 'advman'), __('Edit', 'advman'), 8, 'advman-manage', array('Advman_Admin', 'process')); add_submenu_page('advman-manage', __('Create New Ad', 'advman'), __('Create New', 'advman'), 8, 'advman-create', array('Advman_Admin', 'create')); add_options_page(__('Ads', 'advman'), __('Ads', 'advman'), 8, 'advman-settings', array('Advman_Admin', 'settings')); } add_action('admin_print_scripts', array('Advman_Admin', 'add_scripts')); add_action('admin_notices', array('Advman_Admin', 'display_notices'), 1); add_action('admin_footer', array('Advman_Admin', 'display_editor')); $mode = OX_Tools::sanitize_post_var('advman-mode'); if ($mode == 'notice') { $action = OX_Tools::sanitize_post_var('advman-action'); $yes = OX_Tools::sanitize_post_var('advman-notice-confirm-yes'); switch ($action) { case 'optimise': Advman_Admin::set_auto_optimise(!empty($yes)); Advman_Admin::remove_notice('optimise'); break; case 'activate advertising-manager': Advman_Admin::remove_notice('activate advertising-manager'); break; } } }
/** * Display notices in the Admin UI. Called staticly from the Wordpress 'admin_notices' hook. */ static function display_notices() { // $advman_page = Advman_Tools::is_advman_page(); $notices = Advman_Admin::get_notices(); // if (!empty($notices) && $advman_page) { if (!empty($notices)) { // remove advman_page for now - showing across admin screens until users say something. $template = Advman_Tools::get_template('Notice'); $template->display($notices); // Remove any 'one time' notices Advman_Admin::remove_notice('advman-notice-once'); } }