Files
.circleci
assets
bin
data
inc
admin-pages
customer-panel
debug
class-about-admin-page.php
class-base-admin-page.php
class-base-customer-facing-admin-page.php
class-broadcast-edit-admin-page.php
class-broadcast-list-admin-page.php
class-checkout-form-edit-admin-page.php
class-checkout-form-list-admin-page.php
class-customer-edit-admin-page.php
class-customer-list-admin-page.php
class-customizer-admin-page.php
class-dashboard-admin-page.php
class-discount-code-edit-admin-page.php
class-discount-code-list-admin-page.php
class-domain-edit-admin-page.php
class-domain-list-admin-page.php
class-edit-admin-page.php
class-email-edit-admin-page.php
class-email-list-admin-page.php
class-email-template-customize-admin-page.php
class-event-list-admin-page.php
class-event-view-admin-page.php
class-hosting-integration-wizard-admin-page.php
class-invoice-template-customize-admin-page.php
class-jobs-list-admin-page.php
class-list-admin-page.php
class-membership-edit-admin-page.php
class-membership-list-admin-page.php
class-migration-alert-admin-page.php
class-payment-edit-admin-page.php
class-payment-list-admin-page.php
class-placeholders-admin-page.php
class-product-edit-admin-page.php
class-product-list-admin-page.php
class-settings-admin-page.php
class-setup-wizard-admin-page.php
class-shortcodes-admin-page.php
class-site-edit-admin-page.php
class-site-list-admin-page.php
class-system-info-admin-page.php
class-tax-rates-admin-page.php
class-template-previewer-customize-admin-page.php
class-top-admin-nav-menu.php
class-view-logs-admin-page.php
class-webhook-edit-admin-page.php
class-webhook-list-admin-page.php
class-wizard-admin-page.php
api
builders
checkout
compat
contracts
country
database
debug
deprecated
development
domain-mapping
duplication
exception
functions
gateways
helpers
installers
integrations
internal
invoices
limitations
limits
list-tables
loaders
managers
mercator
models
next
objects
site-templates
sso
tax
traits
ui
updater
class-admin-notices.php
class-admin-themes-compatibility.php
class-ajax.php
class-api.php
class-async-calls.php
class-autoloader.php
class-cron.php
class-current.php
class-dashboard-statistics.php
class-dashboard-widgets.php
class-documentation.php
class-domain-mapping.php
class-faker.php
class-geolocation.php
class-helper.php
class-hooks.php
class-license.php
class-light-ajax.php
class-logger.php
class-maintenance-mode.php
class-newsletter.php
class-requirements.php
class-scripts.php
class-session-cookie.php
class-settings.php
class-sunrise.php
class-user-switching.php
class-views.php
class-whitelabel.php
class-wp-ultimo.php
lang
patches
tests
views
.gitignore
.phpcs.xml.dist
LICENSE
composer.json
composer.lock
constants.php
loco.xml
phpunit.xml.dist
readme.txt
sunrise.php
uninstall.php
wp-multisite-waas.php
wp-multisite-waas/inc/admin-pages/class-jobs-list-admin-page.php
2024-12-07 00:09:47 -07:00

170 lines
3.4 KiB
PHP

<?php
/**
* WP Multisite WaaS Jobs Admin Page.
*
* @package WP_Ultimo
* @subpackage Admin_Pages
* @since 2.0.0
*/
namespace WP_Ultimo\Admin_Pages;
// Exit if accessed directly
defined('ABSPATH') || exit;
/**
* WP Multisite WaaS Jobs Admin Page.
*/
class Jobs_List_Admin_Page extends Base_Admin_Page {
/**
* Holds the ID for this page, this is also used as the page slug.
*
* @var string
*/
protected $id = 'wp-ultimo-jobs';
/**
* Is this a top-level menu or a submenu?
*
* @since 1.8.2
* @var string
*/
protected $type = 'submenu';
/**
* If this is a submenu, we need a parent menu to attach this to
*
* @since 1.8.2
* @var string
*/
protected $parent = 'none';
/**
* Allows us to highlight another menu page, if this page has no parent page at all.
*
* @since 2.0.0
* @var boolean
*/
protected $highlight_menu_slug = 'wp-ultimo-settings';
/**
* If this number is greater than 0, a badge with the number will be displayed alongside the menu title
*
* @since 1.8.2
* @var integer
*/
protected $badge_count = 0;
/**
* Holds the admin panels where this page should be displayed, as well as which capability to require.
*
* To add a page to the regular admin (wp-admin/), use: 'admin_menu' => 'capability_here'
* To add a page to the network admin (wp-admin/network), use: 'network_admin_menu' => 'capability_here'
* To add a page to the user (wp-admin/user) admin, use: 'user_admin_menu' => 'capability_here'
*
* @since 2.0.0
* @var array
*/
protected $supported_panels = array(
'network_admin_menu' => 'wu_read_jobs',
);
/**
* Overrides the init method to add additional hooks.
*
* @since 2.0.0
* @return void
*/
public function init() {
parent::init();
add_filter('action_scheduler_admin_view_class', array($this, 'hide_as_admin_page'), 9999, 1);
} // end init;
/**
* Hide the Action Scheduler admin page on sub-sites.
*
* @since 2.0.0
*
* @param string $admin_view_class Admin View class name.
* @return string
*/
public function hide_as_admin_page($admin_view_class) {
if (is_network_admin() || class_exists('WooCommerce')) {
return $admin_view_class;
} // end if;
return '\WP_Ultimo\Compat\AS_Admin_View';
} // end hide_as_admin_page;
/**
* Returns the title of the page.
*
* @since 2.0.0
* @return string Title of the page.
*/
public function get_title() {
return __('Jobs', 'wp-ultimo');
} // end get_title;
/**
* Returns the title of menu for this page.
*
* @since 2.0.0
* @return string Menu label of the page.
*/
public function get_menu_title() {
return __('Jobs', 'wp-ultimo');
} // end get_menu_title;
/**
* Allows admins to rename the sub-menu (first item) for a top-level page.
*
* @since 2.0.0
* @return string False to use the title menu or string with sub-menu title.
*/
public function get_submenu_title() {
return __('Jobs', 'wp-ultimo');
} // end get_submenu_title;
/**
* Runs the hooks for the admin list table.
*
* Required for searched to work as intended.
*
* @since 2.0.10
* @return void
*/
public function page_loaded() {
\ActionScheduler_AdminView::instance()->process_admin_ui();
} // end page_loaded;
/**
* Calls the Action Scheduler renderer.
*
* @since 2.0.0
* @return void
*/
public function output() {
\ActionScheduler_AdminView::instance()->render_admin_ui();
} // end output;
} // end class Jobs_List_Admin_Page;