/** * Sets up plugin pages and loads their scripts * * @since 3.0 * */ static function admin_menu() { global $wpi_settings, $submenu, $wp_version; /* Get capability required for this plugin's menu to be displayed to the user */ $capability = self::get_capability_by_level($wpi_settings['user_level']); $wpi_settings['pages']['main'] = add_object_page(__('Invoice', WPI), 'Invoice', $capability, 'wpi_main', null, 'dashicons-money'); $overview_page = new \UsabilityDynamics\UI\Page('wpi_main', __('View All', WPI), __('View All', WPI), $capability, 'wpi_main'); $wpi_settings['pages']['main'] = $overview_page->screen_id; $wpi_settings['pages']['edit'] = add_submenu_page('wpi_main', __('Add New', WPI), __('Add New', WPI), $capability, 'wpi_page_manage_invoice', array('WPI_UI', 'page_loader')); $wpi_settings['pages']['reports'] = add_submenu_page('wpi_main', __('Reports', WPI), __('Reports', WPI), $capability, 'wpi_page_reports', array('WPI_UI', 'page_loader')); $wpi_settings['pages'] = apply_filters('wpi_pages', $wpi_settings['pages']); $wpi_settings['pages']['settings'] = add_submenu_page('wpi_main', __('Settings', WPI), __('Settings', WPI), $capability, 'wpi_page_settings', array('WPI_UI', 'page_loader')); /* Update screens information */ WPI_Settings::setOption('pages', $wpi_settings['pages']); /* Register meta boxes */ add_action('add_meta_boxes_' . $wpi_settings['pages']['main'], array(__CLASS__, 'metaboxes_overview')); // Add Actions add_action('load-' . $wpi_settings['pages']['main'], array(__CLASS__, 'pre_load_overview')); add_action('load-' . $wpi_settings['pages']['edit'], array(__CLASS__, 'pre_load_edit_page')); add_action('load-' . $wpi_settings['pages']['reports'], array(__CLASS__, 'pre_load_reports_page')); add_action('load-' . $wpi_settings['pages']['settings'], array(__CLASS__, 'pre_load_settings_page')); //* Load common actions on all WPI pages */ foreach ($wpi_settings['pages'] as $page_slug) { add_action('load-' . $page_slug, array('WPI_UI', 'common_pre_header')); } // Add Filters add_filter('wpi_page_loader_path', array('WPI_UI', "wpi_display_user_selection"), 0, 3); add_filter('wpi_pre_header_invoice_page_wpi_page_manage_invoice', array('WPI_UI', "page_manage_invoice_preprocess")); add_filter('wpi_overview_filter_types', array(__CLASS__, 'add_wpi_overview_filter_types')); add_filter('wpi_overview_filter_statuses', array(__CLASS__, 'add_wpi_overview_filter_statuses')); }
/** * Sets up plugin pages and loads their scripts * * @since 3.0 * */ function admin_menu() { global $wpi_settings, $submenu, $wp_version; //unset($submenu['edit.php?post_type=wpi_object'][10]); /* Get capability required for this plugin's menu to be displayed to the user */ $capability = self::get_capability_by_level($wpi_settings['user_level']); $wpi_settings['pages']['main'] = add_object_page( __('Invoice', WPI), 'Invoice', $capability, 'wpi_main', array('WPI_UI', 'page_loader'), WPI_URL . "/core/css/images/wp_invoice.png"); $wpi_settings['pages']['main'] = add_submenu_page('wpi_main', __('View All', WPI), __('View All', WPI), $capability, 'wpi_main',array('WPI_UI', 'page_loader')); $wpi_settings['pages']['edit'] = add_submenu_page('wpi_main', __('Add New', WPI), __('Add New', WPI), $capability, 'wpi_page_manage_invoice',array('WPI_UI', 'page_loader')); $wpi_settings['pages']['reports'] = add_submenu_page('wpi_main', __('Reports', WPI), __('Reports', WPI), $capability, 'wpi_page_reports',array('WPI_UI', 'page_loader')); $wpi_settings['pages'] = apply_filters('wpi_pages', $wpi_settings['pages']); $wpi_settings['pages']['settings'] = add_submenu_page('wpi_main', __('Settings', WPI), __('Settings', WPI), $capability, 'wpi_page_settings', array('WPI_UI', 'page_loader')); /* Update screens information */ WPI_Settings::setOption('pages', $wpi_settings['pages']); // Add Actions add_action('load-' . $wpi_settings['pages']['main'], array( 'WPI_UI', 'pre_load_main_page' )); add_action('load-' . $wpi_settings['pages']['edit'], array( 'WPI_UI', 'pre_load_edit_page' )); //* Load common actions on all WPI pages */ foreach($wpi_settings['pages'] as $page_slug) { add_action('load-' . $page_slug, array( 'WPI_UI', 'common_pre_header')); //** WP 3.3 fix. - korotkov@ud */ if ( version_compare($wp_version, '3.3', '>=') ) { add_action("load-$page_slug", array( 'WPI_UI', 'contextual_help' )); } } // Add Filters add_filter('wpi_page_loader_path', array('WPI_UI', "wpi_display_user_selection"), 0,3); add_filter('wpi_pre_header_invoice_page_wpi_page_manage_invoice', array('WPI_UI', "page_manage_invoice_preprocess")); }
/** * Import legacy invoice data via ajax call * * @since 3.0 * */ static function update_wpi_option() { global $wpdb, $wpi_settings; $type = $_REQUEST['import_type']; if(WPI_Settings::setOption($_REQUEST['option'], $_REQUEST['value'], $_REQUEST['group'])) { $return['success'] = 'true'; } else { $return['success'] = 'false'; } die(json_encode($return)); }