/** * Output admin page */ public static function admin_page() { include_once 'Pods_Jobs_Queue_API.php'; /** * @var $wpdb wpdb */ global $wpdb; $table = Pods_Jobs_Queue_API::table(); Pods_Jobs_Queue_API::install(); $ui = array('item' => __('Job', 'pods-jobs-queue'), 'items' => __('Jobs', 'pods-jobs-queue'), 'header' => array('view' => __('View Job Info', 'pods-jobs-queue')), 'sql' => array('table' => $table, 'field_id' => 'id', 'field_index' => 'callback'), 'orderby' => '( `t`.`status` = "queued" ) DESC, ( `t`.`status` = "completed" ) DESC, `t`.`date_queued` DESC, `t`.`date_completed` DESC', 'fields' => array('manage' => array('callback' => array('name' => 'callback', 'label' => 'Callback', 'type' => 'text'), 'group' => array('name' => 'group', 'label' => 'Group', 'type' => 'text'), 'memo' => array('name' => 'memo', 'label' => 'Memo', 'type' => 'text'), 'status' => array('name' => 'status', 'label' => 'Status', 'type' => 'pick', 'pick_object' => 'custom-simple', 'data' => array('queued' => __('Queued', 'pods-jobs-queue'), 'processing' => __('Processing', 'pods-jobs-queue'), 'completed' => __('Completed', 'pods-jobs-queue'), 'failed' => __('Failed', 'pods-jobs-queue'))), 'date_queued' => array('name' => 'date_queued', 'label' => 'Time Queued', 'type' => 'datetime', 'options' => array('datetime_allow_empty' => 1)), 'date_started' => array('name' => 'date_started', 'label' => 'Time Started', 'type' => 'datetime', 'options' => array('datetime_allow_empty' => 1)), 'date_completed' => array('name' => 'date_completed', 'label' => 'Time Completed', 'type' => 'datetime', 'options' => array('datetime_allow_empty' => 1))), 'search' => array()), 'filters' => array('callback', 'memo', 'group', 'status', 'date_queued', 'date_started', 'date_completed'), 'filters_enhanced' => true, 'actions_disabled' => array('add', 'edit', 'duplicate', 'export'), 'actions_custom' => array('process_job' => array('callback' => array(__CLASS__, 'admin_page_process_job')), 'view' => array('callback' => array(__CLASS__, 'admin_page_view_job')), 'delete' => array('callback' => array(__CLASS__, 'admin_page_delete_job'))), 'actions_bulk' => array('delete' => array('label' => __('Delete', 'pods')), 'process_jobs' => array('callback' => array(__CLASS__, 'admin_page_process_jobs')))); $ui['fields']['search']['callback'] = $ui['fields']['manage']['callback']; $ui['fields']['search']['memo'] = $ui['fields']['manage']['memo']; $ui['fields']['search']['group'] = $ui['fields']['manage']['group']; $ui['fields']['search']['status'] = $ui['fields']['manage']['status']; $ui['fields']['search']['date_queued'] = $ui['fields']['manage']['date_queued']; $ui['fields']['search']['date_started'] = $ui['fields']['manage']['date_started']; $ui['fields']['search']['date_completed'] = $ui['fields']['manage']['date_completed']; $ui['fields']['view'] = $ui['fields']['manage']; unset($ui['fields']['view']['callback']); $ui['fields']['view']['arguments'] = array('name' => 'arguments', 'label' => 'Callback Arguments', 'type' => 'paragraph'); $ui['fields']['view']['log'] = array('name' => 'log', 'label' => 'Callback Log', 'type' => 'text'); $ui['fields']['view']['blog_id'] = array('name' => 'blog_id', 'label' => 'Blog ID', 'type' => 'number', 'options' => array('number_format_type' => '9999.99', 'number_decimals' => 0), 'width' => '5%'); if (!defined('PODS_JOBS_QUEUE_GROUPS') || !PODS_JOBS_QUEUE_GROUPS) { unset($ui['fields']['manage']['group']); unset($ui['fields']['manage']['search']); unset($ui['fields']['manage']['view']); unset($ui['filters'][array_search('group', $ui['filters'])]); } if (1 == pods_v('deleted_bulk')) { unset($ui['actions_custom']['delete']); } pods_ui($ui); }
/** * Activate plugin routine */ public static function activate() { include_once 'Pods_Jobs_Queue_API.php'; Pods_Jobs_Queue_API::install(); }