File "ActionScheduler_AdminView.php"

Full path: /home/kosmetik/public_html/wp-content/plugins/woocommerce/packages/action-scheduler/classes/ActionScheduler_AdminView.php
File size: 4.23 B
MIME-type: text/x-php
Charset: utf-8

Download   Open   Edit   Advanced Editor   Back

<?php

class ActionScheduler_AdminView extends ActionScheduler_AdminView_Deprecated
{
    private static $admin_view = NULL;
    private static $screen_id = 'tools_page_action-scheduler';
    protected $list_table;
    public static function instance()
    {
        if (empty(self::$admin_view)) {
            $class = apply_filters('action_scheduler_admin_view_class', 'ActionScheduler_AdminView');
            self::$admin_view = new $class();
        }
        return self::$admin_view;
    }
    public function init()
    {
        if (is_admin() && (!defined('DOING_AJAX') || false == DOING_AJAX)) {
            if (class_exists('WooCommerce')) {
                add_action('woocommerce_admin_status_content_action-scheduler', array($this, 'render_admin_ui'));
                add_action('woocommerce_system_status_report', array($this, 'system_status_report'));
                add_filter('woocommerce_admin_status_tabs', array($this, 'register_system_status_tab'));
            }
            add_action('admin_menu', array($this, 'register_menu'));
            add_action('current_screen', array($this, 'add_help_tabs'));
        }
    }
    public function system_status_report()
    {
        $table = new ActionScheduler_wcSystemStatus(ActionScheduler::store());
        $table->render();
    }
    public function register_system_status_tab(array $tabs)
    {
        $tabs['action-scheduler'] = __('Scheduled Actions', 'woocommerce');
        return $tabs;
    }
    public function register_menu()
    {
        $hook_suffix = add_submenu_page('tools.php', __('Scheduled Actions', 'woocommerce'), __('Scheduled Actions', 'woocommerce'), 'manage_options', 'action-scheduler', array($this, 'render_admin_ui'));
        add_action('load-' . $hook_suffix, array($this, 'process_admin_ui'));
    }
    public function process_admin_ui()
    {
        $this->get_list_table();
    }
    public function render_admin_ui()
    {
        $table = $this->get_list_table();
        $table->display_page();
    }
    protected function get_list_table()
    {
        if (null === $this->list_table) {
            $this->list_table = new ActionScheduler_ListTable(ActionScheduler::store(), ActionScheduler::logger(), ActionScheduler::runner());
            $this->list_table->process_actions();
        }
        return $this->list_table;
    }
    public function add_help_tabs()
    {
        $screen = get_current_screen();
        if (!$screen || self::$screen_id != $screen->id) {
            return;
        }
        $as_version = ActionScheduler_Versions::instance()->latest_version();
        $screen->add_help_tab(array('id' => 'action_scheduler_about', 'title' => __('About', 'woocommerce'), 'content' => '<h2>' . sprintf(__('About Action Scheduler %s', 'woocommerce'), $as_version) . '</h2>' . '<p>' . __('Action Scheduler is a scalable, traceable job queue for background processing large sets of actions. Action Scheduler works by triggering an action hook to run at some time in the future. Scheduled actions can also be scheduled to run on a recurring schedule.', 'woocommerce') . '</p>'));
        $screen->add_help_tab(array('id' => 'action_scheduler_columns', 'title' => __('Columns', 'woocommerce'), 'content' => '<h2>' . __('Scheduled Action Columns', 'woocommerce') . '</h2>' . '<ul>' . sprintf('<li><strong>%1$s</strong>: %2$s</li>', __('Hook', 'woocommerce'), __('Name of the action hook that will be triggered.', 'woocommerce')) . sprintf('<li><strong>%1$s</strong>: %2$s</li>', __('Status', 'woocommerce'), __('Action statuses are Pending, Complete, Canceled, Failed', 'woocommerce')) . sprintf('<li><strong>%1$s</strong>: %2$s</li>', __('Arguments', 'woocommerce'), __('Optional data array passed to the action hook.', 'woocommerce')) . sprintf('<li><strong>%1$s</strong>: %2$s</li>', __('Group', 'woocommerce'), __('Optional action group.', 'woocommerce')) . sprintf('<li><strong>%1$s</strong>: %2$s</li>', __('Recurrence', 'woocommerce'), __('The action\'s schedule frequency.', 'woocommerce')) . sprintf('<li><strong>%1$s</strong>: %2$s</li>', __('Scheduled', 'woocommerce'), __('The date/time the action is/was scheduled to run.', 'woocommerce')) . sprintf('<li><strong>%1$s</strong>: %2$s</li>', __('Log', 'woocommerce'), __('Activity log for the action.', 'woocommerce')) . '</ul>'));
    }
}