Submit
Path:
~
/
/
var
/
softaculous
/
sitepad
/
editor
/
site-data
/
plugins
/
kkart-pro
/
packages
/
action-scheduler
/
classes
/
File Content:
ActionScheduler_wcSystemStatus.php
<?php /** * Class ActionScheduler_wcSystemStatus */ class ActionScheduler_wcSystemStatus { /** * The active data stores * * @var ActionScheduler_Store */ protected $store; function __construct( $store ) { $this->store = $store; } /** * Display action data, including number of actions grouped by status and the oldest & newest action in each status. * * Helpful to identify issues, like a clogged queue. */ public function render() { $action_counts = $this->store->action_counts(); $status_labels = $this->store->get_status_labels(); $oldest_and_newest = $this->get_oldest_and_newest( array_keys( $status_labels ) ); $this->get_template( $status_labels, $action_counts, $oldest_and_newest ); } /** * Get oldest and newest scheduled dates for a given set of statuses. * * @param array $status_keys Set of statuses to find oldest & newest action for. * @return array */ protected function get_oldest_and_newest( $status_keys ) { $oldest_and_newest = array(); foreach ( $status_keys as $status ) { $oldest_and_newest[ $status ] = array( 'oldest' => '–', 'newest' => '–', ); if ( 'in-progress' === $status ) { continue; } $oldest_and_newest[ $status ]['oldest'] = $this->get_action_status_date( $status, 'oldest' ); $oldest_and_newest[ $status ]['newest'] = $this->get_action_status_date( $status, 'newest' ); } return $oldest_and_newest; } /** * Get oldest or newest scheduled date for a given status. * * @param string $status Action status label/name string. * @param string $date_type Oldest or Newest. * @return DateTime */ protected function get_action_status_date( $status, $date_type = 'oldest' ) { $order = 'oldest' === $date_type ? 'ASC' : 'DESC'; $action = $this->store->query_actions( array( 'claimed' => false, 'status' => $status, 'per_page' => 1, 'order' => $order, ) ); if ( ! empty( $action ) ) { $date_object = $this->store->get_date( $action[0] ); $action_date = $date_object->format( 'Y-m-d H:i:s O' ); } else { $action_date = '–'; } return $action_date; } /** * Get oldest or newest scheduled date for a given status. * * @param array $status_labels Set of statuses to find oldest & newest action for. * @param array $action_counts Number of actions grouped by status. * @param array $oldest_and_newest Date of the oldest and newest action with each status. */ protected function get_template( $status_labels, $action_counts, $oldest_and_newest ) { $as_version = ActionScheduler_Versions::instance()->latest_version(); ?> <table class="kkart_status_table widefat" cellspacing="0"> <thead> <tr> <th colspan="5" data-export-label="Action Scheduler"><h2><?php esc_html_e( 'Action Scheduler', 'kkart' ); ?><?php echo kkart_help_tip( esc_html__( 'This section shows scheduled action counts.', 'kkart' ) ); ?></h2></th> </tr> <tr> <td><strong><?php esc_html_e( 'Action Status', 'kkart' ); ?></strong></td> <td class="help"> </td> <td><strong><?php esc_html_e( 'Count', 'kkart' ); ?></strong></td> <td><strong><?php esc_html_e( 'Oldest Scheduled Date', 'kkart' ); ?></strong></td> <td><strong><?php esc_html_e( 'Newest Scheduled Date', 'kkart' ); ?></strong></td> </tr> </thead> <tbody> <?php foreach ( $action_counts as $status => $count ) { // KKART uses the 3rd column for export, so we need to display more data in that (hidden when viewed as part of the table) and add an empty 2nd column. printf( '<tr><td>%1$s</td><td> </td><td>%2$s<span style="display: none;">, Oldest: %3$s, Newest: %4$s</span></td><td>%3$s</td><td>%4$s</td></tr>', esc_html( $status_labels[ $status ] ), number_format_i18n( $count ), $oldest_and_newest[ $status ]['oldest'], $oldest_and_newest[ $status ]['newest'] ); } ?> </tbody> </table> <?php } /** * is triggered when invoking inaccessible methods in an object context. * * @param string $name * @param array $arguments * * @return mixed * @link https://php.net/manual/en/language.oop5.overloading.php#language.oop5.overloading.methods */ public function __call( $name, $arguments ) { switch ( $name ) { case 'print': _deprecated_function( __CLASS__ . '::print()', '2.2.4', __CLASS__ . '::render()' ); return call_user_func_array( array( $this, 'render' ), $arguments ); } return null; } }
Submit
FILE
FOLDER
Name
Size
Permission
Action
WP_CLI
---
0755
abstracts
---
0755
actions
---
0755
data-stores
---
0755
migration
---
0755
schedules
---
0755
schema
---
0755
ActionScheduler_ActionClaim.php
374 bytes
0644
ActionScheduler_ActionFactory.php
7939 bytes
0644
ActionScheduler_AdminView.php
5161 bytes
0644
ActionScheduler_AsyncRequest_QueueRunner.php
2221 bytes
0644
ActionScheduler_Compatibility.php
3143 bytes
0644
ActionScheduler_DataController.php
5263 bytes
0644
ActionScheduler_DateTime.php
1592 bytes
0644
ActionScheduler_Exception.php
211 bytes
0644
ActionScheduler_FatalErrorMonitor.php
2023 bytes
0644
ActionScheduler_InvalidActionException.php
1255 bytes
0644
ActionScheduler_ListTable.php
19023 bytes
0644
ActionScheduler_LogEntry.php
1764 bytes
0644
ActionScheduler_NullLogEntry.php
219 bytes
0644
ActionScheduler_OptionLock.php
1777 bytes
0644
ActionScheduler_QueueCleaner.php
5140 bytes
0644
ActionScheduler_QueueRunner.php
7530 bytes
0644
ActionScheduler_Versions.php
1263 bytes
0644
ActionScheduler_WPCommentCleaner.php
4392 bytes
0644
ActionScheduler_wcSystemStatus.php
4512 bytes
0644
N4ST4R_ID | Naxtarrr