@@ -13,7 +13,7 @@ discard block |
||
| 13 | 13 | * @return string The action ID. |
| 14 | 14 | */ |
| 15 | 15 | function as_enqueue_async_action( $hook, $args = array(), $group = '' ) { |
| 16 | - return ActionScheduler::factory()->async( $hook, $args, $group ); |
|
| 16 | + return ActionScheduler::factory()->async( $hook, $args, $group ); |
|
| 17 | 17 | } |
| 18 | 18 | |
| 19 | 19 | /** |
@@ -27,7 +27,7 @@ discard block |
||
| 27 | 27 | * @return string The job ID |
| 28 | 28 | */ |
| 29 | 29 | function as_schedule_single_action( $timestamp, $hook, $args = array(), $group = '' ) { |
| 30 | - return ActionScheduler::factory()->single( $hook, $args, $timestamp, $group ); |
|
| 30 | + return ActionScheduler::factory()->single( $hook, $args, $timestamp, $group ); |
|
| 31 | 31 | } |
| 32 | 32 | |
| 33 | 33 | /** |
@@ -42,7 +42,7 @@ discard block |
||
| 42 | 42 | * @return string The job ID |
| 43 | 43 | */ |
| 44 | 44 | function as_schedule_recurring_action( $timestamp, $interval_in_seconds, $hook, $args = array(), $group = '' ) { |
| 45 | - return ActionScheduler::factory()->recurring( $hook, $args, $timestamp, $interval_in_seconds, $group ); |
|
| 45 | + return ActionScheduler::factory()->recurring( $hook, $args, $timestamp, $interval_in_seconds, $group ); |
|
| 46 | 46 | } |
| 47 | 47 | |
| 48 | 48 | /** |
@@ -69,7 +69,7 @@ discard block |
||
| 69 | 69 | * @return string The job ID |
| 70 | 70 | */ |
| 71 | 71 | function as_schedule_cron_action( $timestamp, $schedule, $hook, $args = array(), $group = '' ) { |
| 72 | - return ActionScheduler::factory()->cron( $hook, $args, $timestamp, $schedule, $group ); |
|
| 72 | + return ActionScheduler::factory()->cron( $hook, $args, $timestamp, $schedule, $group ); |
|
| 73 | 73 | } |
| 74 | 74 | |
| 75 | 75 | /** |
@@ -89,20 +89,20 @@ discard block |
||
| 89 | 89 | * @return string The scheduled action ID if a scheduled action was found, or empty string if no matching action found. |
| 90 | 90 | */ |
| 91 | 91 | function as_unschedule_action( $hook, $args = array(), $group = '' ) { |
| 92 | - $params = array(); |
|
| 93 | - if ( is_array($args) ) { |
|
| 94 | - $params['args'] = $args; |
|
| 95 | - } |
|
| 96 | - if ( !empty($group) ) { |
|
| 97 | - $params['group'] = $group; |
|
| 98 | - } |
|
| 99 | - $job_id = ActionScheduler::store()->find_action( $hook, $params ); |
|
| 100 | - |
|
| 101 | - if ( ! empty( $job_id ) ) { |
|
| 102 | - ActionScheduler::store()->cancel_action( $job_id ); |
|
| 103 | - } |
|
| 104 | - |
|
| 105 | - return $job_id; |
|
| 92 | + $params = array(); |
|
| 93 | + if ( is_array($args) ) { |
|
| 94 | + $params['args'] = $args; |
|
| 95 | + } |
|
| 96 | + if ( !empty($group) ) { |
|
| 97 | + $params['group'] = $group; |
|
| 98 | + } |
|
| 99 | + $job_id = ActionScheduler::store()->find_action( $hook, $params ); |
|
| 100 | + |
|
| 101 | + if ( ! empty( $job_id ) ) { |
|
| 102 | + ActionScheduler::store()->cancel_action( $job_id ); |
|
| 103 | + } |
|
| 104 | + |
|
| 105 | + return $job_id; |
|
| 106 | 106 | } |
| 107 | 107 | |
| 108 | 108 | /** |
@@ -113,19 +113,19 @@ discard block |
||
| 113 | 113 | * @param string $group |
| 114 | 114 | */ |
| 115 | 115 | function as_unschedule_all_actions( $hook, $args = array(), $group = '' ) { |
| 116 | - if ( empty( $args ) ) { |
|
| 117 | - if ( ! empty( $hook ) && empty( $group ) ) { |
|
| 118 | - ActionScheduler_Store::instance()->cancel_actions_by_hook( $hook ); |
|
| 119 | - return; |
|
| 120 | - } |
|
| 121 | - if ( ! empty( $group ) && empty( $hook ) ) { |
|
| 122 | - ActionScheduler_Store::instance()->cancel_actions_by_group( $group ); |
|
| 123 | - return; |
|
| 124 | - } |
|
| 125 | - } |
|
| 126 | - do { |
|
| 127 | - $unscheduled_action = as_unschedule_action( $hook, $args, $group ); |
|
| 128 | - } while ( ! empty( $unscheduled_action ) ); |
|
| 116 | + if ( empty( $args ) ) { |
|
| 117 | + if ( ! empty( $hook ) && empty( $group ) ) { |
|
| 118 | + ActionScheduler_Store::instance()->cancel_actions_by_hook( $hook ); |
|
| 119 | + return; |
|
| 120 | + } |
|
| 121 | + if ( ! empty( $group ) && empty( $hook ) ) { |
|
| 122 | + ActionScheduler_Store::instance()->cancel_actions_by_group( $group ); |
|
| 123 | + return; |
|
| 124 | + } |
|
| 125 | + } |
|
| 126 | + do { |
|
| 127 | + $unscheduled_action = as_unschedule_action( $hook, $args, $group ); |
|
| 128 | + } while ( ! empty( $unscheduled_action ) ); |
|
| 129 | 129 | } |
| 130 | 130 | |
| 131 | 131 | /** |
@@ -144,33 +144,33 @@ discard block |
||
| 144 | 144 | * @return int|bool The timestamp for the next occurrence of a pending scheduled action, true for an async or in-progress action or false if there is no matching action. |
| 145 | 145 | */ |
| 146 | 146 | function as_next_scheduled_action( $hook, $args = NULL, $group = '' ) { |
| 147 | - $params = array(); |
|
| 148 | - if ( is_array($args) ) { |
|
| 149 | - $params['args'] = $args; |
|
| 150 | - } |
|
| 151 | - if ( !empty($group) ) { |
|
| 152 | - $params['group'] = $group; |
|
| 153 | - } |
|
| 154 | - |
|
| 155 | - $params['status'] = ActionScheduler_Store::STATUS_RUNNING; |
|
| 156 | - $job_id = ActionScheduler::store()->find_action( $hook, $params ); |
|
| 157 | - if ( ! empty( $job_id ) ) { |
|
| 158 | - return true; |
|
| 159 | - } |
|
| 160 | - |
|
| 161 | - $params['status'] = ActionScheduler_Store::STATUS_PENDING; |
|
| 162 | - $job_id = ActionScheduler::store()->find_action( $hook, $params ); |
|
| 163 | - if ( empty($job_id) ) { |
|
| 164 | - return false; |
|
| 165 | - } |
|
| 166 | - $job = ActionScheduler::store()->fetch_action( $job_id ); |
|
| 167 | - $scheduled_date = $job->get_schedule()->get_date(); |
|
| 168 | - if ( $scheduled_date ) { |
|
| 169 | - return (int) $scheduled_date->format( 'U' ); |
|
| 170 | - } elseif ( NULL === $scheduled_date ) { // pending async action with NullSchedule |
|
| 171 | - return true; |
|
| 172 | - } |
|
| 173 | - return false; |
|
| 147 | + $params = array(); |
|
| 148 | + if ( is_array($args) ) { |
|
| 149 | + $params['args'] = $args; |
|
| 150 | + } |
|
| 151 | + if ( !empty($group) ) { |
|
| 152 | + $params['group'] = $group; |
|
| 153 | + } |
|
| 154 | + |
|
| 155 | + $params['status'] = ActionScheduler_Store::STATUS_RUNNING; |
|
| 156 | + $job_id = ActionScheduler::store()->find_action( $hook, $params ); |
|
| 157 | + if ( ! empty( $job_id ) ) { |
|
| 158 | + return true; |
|
| 159 | + } |
|
| 160 | + |
|
| 161 | + $params['status'] = ActionScheduler_Store::STATUS_PENDING; |
|
| 162 | + $job_id = ActionScheduler::store()->find_action( $hook, $params ); |
|
| 163 | + if ( empty($job_id) ) { |
|
| 164 | + return false; |
|
| 165 | + } |
|
| 166 | + $job = ActionScheduler::store()->fetch_action( $job_id ); |
|
| 167 | + $scheduled_date = $job->get_schedule()->get_date(); |
|
| 168 | + if ( $scheduled_date ) { |
|
| 169 | + return (int) $scheduled_date->format( 'U' ); |
|
| 170 | + } elseif ( NULL === $scheduled_date ) { // pending async action with NullSchedule |
|
| 171 | + return true; |
|
| 172 | + } |
|
| 173 | + return false; |
|
| 174 | 174 | } |
| 175 | 175 | |
| 176 | 176 | /** |
@@ -196,30 +196,30 @@ discard block |
||
| 196 | 196 | * @return array |
| 197 | 197 | */ |
| 198 | 198 | function as_get_scheduled_actions( $args = array(), $return_format = OBJECT ) { |
| 199 | - $store = ActionScheduler::store(); |
|
| 200 | - foreach ( array('date', 'modified') as $key ) { |
|
| 201 | - if ( isset($args[$key]) ) { |
|
| 202 | - $args[$key] = as_get_datetime_object($args[$key]); |
|
| 203 | - } |
|
| 204 | - } |
|
| 205 | - $ids = $store->query_actions( $args ); |
|
| 206 | - |
|
| 207 | - if ( $return_format == 'ids' || $return_format == 'int' ) { |
|
| 208 | - return $ids; |
|
| 209 | - } |
|
| 210 | - |
|
| 211 | - $actions = array(); |
|
| 212 | - foreach ( $ids as $action_id ) { |
|
| 213 | - $actions[$action_id] = $store->fetch_action( $action_id ); |
|
| 214 | - } |
|
| 215 | - |
|
| 216 | - if ( $return_format == ARRAY_A ) { |
|
| 217 | - foreach ( $actions as $action_id => $action_object ) { |
|
| 218 | - $actions[$action_id] = get_object_vars($action_object); |
|
| 219 | - } |
|
| 220 | - } |
|
| 221 | - |
|
| 222 | - return $actions; |
|
| 199 | + $store = ActionScheduler::store(); |
|
| 200 | + foreach ( array('date', 'modified') as $key ) { |
|
| 201 | + if ( isset($args[$key]) ) { |
|
| 202 | + $args[$key] = as_get_datetime_object($args[$key]); |
|
| 203 | + } |
|
| 204 | + } |
|
| 205 | + $ids = $store->query_actions( $args ); |
|
| 206 | + |
|
| 207 | + if ( $return_format == 'ids' || $return_format == 'int' ) { |
|
| 208 | + return $ids; |
|
| 209 | + } |
|
| 210 | + |
|
| 211 | + $actions = array(); |
|
| 212 | + foreach ( $ids as $action_id ) { |
|
| 213 | + $actions[$action_id] = $store->fetch_action( $action_id ); |
|
| 214 | + } |
|
| 215 | + |
|
| 216 | + if ( $return_format == ARRAY_A ) { |
|
| 217 | + foreach ( $actions as $action_id => $action_object ) { |
|
| 218 | + $actions[$action_id] = get_object_vars($action_object); |
|
| 219 | + } |
|
| 220 | + } |
|
| 221 | + |
|
| 222 | + return $actions; |
|
| 223 | 223 | } |
| 224 | 224 | |
| 225 | 225 | /** |
@@ -240,12 +240,12 @@ discard block |
||
| 240 | 240 | * @return ActionScheduler_DateTime |
| 241 | 241 | */ |
| 242 | 242 | function as_get_datetime_object( $date_string = null, $timezone = 'UTC' ) { |
| 243 | - if ( is_object( $date_string ) && $date_string instanceof DateTime ) { |
|
| 244 | - $date = new ActionScheduler_DateTime( $date_string->format( 'Y-m-d H:i:s' ), new DateTimeZone( $timezone ) ); |
|
| 245 | - } elseif ( is_numeric( $date_string ) ) { |
|
| 246 | - $date = new ActionScheduler_DateTime( '@' . $date_string, new DateTimeZone( $timezone ) ); |
|
| 247 | - } else { |
|
| 248 | - $date = new ActionScheduler_DateTime( $date_string, new DateTimeZone( $timezone ) ); |
|
| 249 | - } |
|
| 250 | - return $date; |
|
| 243 | + if ( is_object( $date_string ) && $date_string instanceof DateTime ) { |
|
| 244 | + $date = new ActionScheduler_DateTime( $date_string->format( 'Y-m-d H:i:s' ), new DateTimeZone( $timezone ) ); |
|
| 245 | + } elseif ( is_numeric( $date_string ) ) { |
|
| 246 | + $date = new ActionScheduler_DateTime( '@' . $date_string, new DateTimeZone( $timezone ) ); |
|
| 247 | + } else { |
|
| 248 | + $date = new ActionScheduler_DateTime( $date_string, new DateTimeZone( $timezone ) ); |
|
| 249 | + } |
|
| 250 | + return $date; |
|
| 251 | 251 | } |
@@ -10,138 +10,138 @@ |
||
| 10 | 10 | */ |
| 11 | 11 | class ActionScheduler_AdminView_Deprecated { |
| 12 | 12 | |
| 13 | - public function action_scheduler_post_type_args( $args ) { |
|
| 14 | - _deprecated_function( __METHOD__, '2.0.0' ); |
|
| 15 | - return $args; |
|
| 16 | - } |
|
| 13 | + public function action_scheduler_post_type_args( $args ) { |
|
| 14 | + _deprecated_function( __METHOD__, '2.0.0' ); |
|
| 15 | + return $args; |
|
| 16 | + } |
|
| 17 | 17 | |
| 18 | - /** |
|
| 19 | - * Customise the post status related views displayed on the Scheduled Actions administration screen. |
|
| 20 | - * |
|
| 21 | - * @param array $views An associative array of views and view labels which can be used to filter the 'scheduled-action' posts displayed on the Scheduled Actions administration screen. |
|
| 22 | - * @return array $views An associative array of views and view labels which can be used to filter the 'scheduled-action' posts displayed on the Scheduled Actions administration screen. |
|
| 23 | - */ |
|
| 24 | - public function list_table_views( $views ) { |
|
| 25 | - _deprecated_function( __METHOD__, '2.0.0' ); |
|
| 26 | - return $views; |
|
| 27 | - } |
|
| 18 | + /** |
|
| 19 | + * Customise the post status related views displayed on the Scheduled Actions administration screen. |
|
| 20 | + * |
|
| 21 | + * @param array $views An associative array of views and view labels which can be used to filter the 'scheduled-action' posts displayed on the Scheduled Actions administration screen. |
|
| 22 | + * @return array $views An associative array of views and view labels which can be used to filter the 'scheduled-action' posts displayed on the Scheduled Actions administration screen. |
|
| 23 | + */ |
|
| 24 | + public function list_table_views( $views ) { |
|
| 25 | + _deprecated_function( __METHOD__, '2.0.0' ); |
|
| 26 | + return $views; |
|
| 27 | + } |
|
| 28 | 28 | |
| 29 | - /** |
|
| 30 | - * Do not include the "Edit" action for the Scheduled Actions administration screen. |
|
| 31 | - * |
|
| 32 | - * Hooked to the 'bulk_actions-edit-action-scheduler' filter. |
|
| 33 | - * |
|
| 34 | - * @param array $actions An associative array of actions which can be performed on the 'scheduled-action' post type. |
|
| 35 | - * @return array $actions An associative array of actions which can be performed on the 'scheduled-action' post type. |
|
| 36 | - */ |
|
| 37 | - public function bulk_actions( $actions ) { |
|
| 38 | - _deprecated_function( __METHOD__, '2.0.0' ); |
|
| 39 | - return $actions; |
|
| 40 | - } |
|
| 29 | + /** |
|
| 30 | + * Do not include the "Edit" action for the Scheduled Actions administration screen. |
|
| 31 | + * |
|
| 32 | + * Hooked to the 'bulk_actions-edit-action-scheduler' filter. |
|
| 33 | + * |
|
| 34 | + * @param array $actions An associative array of actions which can be performed on the 'scheduled-action' post type. |
|
| 35 | + * @return array $actions An associative array of actions which can be performed on the 'scheduled-action' post type. |
|
| 36 | + */ |
|
| 37 | + public function bulk_actions( $actions ) { |
|
| 38 | + _deprecated_function( __METHOD__, '2.0.0' ); |
|
| 39 | + return $actions; |
|
| 40 | + } |
|
| 41 | 41 | |
| 42 | - /** |
|
| 43 | - * Completely customer the columns displayed on the Scheduled Actions administration screen. |
|
| 44 | - * |
|
| 45 | - * Because we can't filter the content of the default title and date columns, we need to recreate our own |
|
| 46 | - * custom columns for displaying those post fields. For the column content, @see self::list_table_column_content(). |
|
| 47 | - * |
|
| 48 | - * @param array $columns An associative array of columns that are use for the table on the Scheduled Actions administration screen. |
|
| 49 | - * @return array $columns An associative array of columns that are use for the table on the Scheduled Actions administration screen. |
|
| 50 | - */ |
|
| 51 | - public function list_table_columns( $columns ) { |
|
| 52 | - _deprecated_function( __METHOD__, '2.0.0' ); |
|
| 53 | - return $columns; |
|
| 54 | - } |
|
| 42 | + /** |
|
| 43 | + * Completely customer the columns displayed on the Scheduled Actions administration screen. |
|
| 44 | + * |
|
| 45 | + * Because we can't filter the content of the default title and date columns, we need to recreate our own |
|
| 46 | + * custom columns for displaying those post fields. For the column content, @see self::list_table_column_content(). |
|
| 47 | + * |
|
| 48 | + * @param array $columns An associative array of columns that are use for the table on the Scheduled Actions administration screen. |
|
| 49 | + * @return array $columns An associative array of columns that are use for the table on the Scheduled Actions administration screen. |
|
| 50 | + */ |
|
| 51 | + public function list_table_columns( $columns ) { |
|
| 52 | + _deprecated_function( __METHOD__, '2.0.0' ); |
|
| 53 | + return $columns; |
|
| 54 | + } |
|
| 55 | 55 | |
| 56 | - /** |
|
| 57 | - * Make our custom title & date columns use defaulting title & date sorting. |
|
| 58 | - * |
|
| 59 | - * @param array $columns An associative array of columns that can be used to sort the table on the Scheduled Actions administration screen. |
|
| 60 | - * @return array $columns An associative array of columns that can be used to sort the table on the Scheduled Actions administration screen. |
|
| 61 | - */ |
|
| 62 | - public static function list_table_sortable_columns( $columns ) { |
|
| 63 | - _deprecated_function( __METHOD__, '2.0.0' ); |
|
| 64 | - return $columns; |
|
| 65 | - } |
|
| 56 | + /** |
|
| 57 | + * Make our custom title & date columns use defaulting title & date sorting. |
|
| 58 | + * |
|
| 59 | + * @param array $columns An associative array of columns that can be used to sort the table on the Scheduled Actions administration screen. |
|
| 60 | + * @return array $columns An associative array of columns that can be used to sort the table on the Scheduled Actions administration screen. |
|
| 61 | + */ |
|
| 62 | + public static function list_table_sortable_columns( $columns ) { |
|
| 63 | + _deprecated_function( __METHOD__, '2.0.0' ); |
|
| 64 | + return $columns; |
|
| 65 | + } |
|
| 66 | 66 | |
| 67 | - /** |
|
| 68 | - * Print the content for our custom columns. |
|
| 69 | - * |
|
| 70 | - * @param string $column_name The key for the column for which we should output our content. |
|
| 71 | - * @param int $post_id The ID of the 'scheduled-action' post for which this row relates. |
|
| 72 | - */ |
|
| 73 | - public static function list_table_column_content( $column_name, $post_id ) { |
|
| 74 | - _deprecated_function( __METHOD__, '2.0.0' ); |
|
| 75 | - } |
|
| 67 | + /** |
|
| 68 | + * Print the content for our custom columns. |
|
| 69 | + * |
|
| 70 | + * @param string $column_name The key for the column for which we should output our content. |
|
| 71 | + * @param int $post_id The ID of the 'scheduled-action' post for which this row relates. |
|
| 72 | + */ |
|
| 73 | + public static function list_table_column_content( $column_name, $post_id ) { |
|
| 74 | + _deprecated_function( __METHOD__, '2.0.0' ); |
|
| 75 | + } |
|
| 76 | 76 | |
| 77 | - /** |
|
| 78 | - * Hide the inline "Edit" action for all 'scheduled-action' posts. |
|
| 79 | - * |
|
| 80 | - * Hooked to the 'post_row_actions' filter. |
|
| 81 | - * |
|
| 82 | - * @param array $actions An associative array of actions which can be performed on the 'scheduled-action' post type. |
|
| 83 | - * @return array $actions An associative array of actions which can be performed on the 'scheduled-action' post type. |
|
| 84 | - */ |
|
| 85 | - public static function row_actions( $actions, $post ) { |
|
| 86 | - _deprecated_function( __METHOD__, '2.0.0' ); |
|
| 87 | - return $actions; |
|
| 88 | - } |
|
| 77 | + /** |
|
| 78 | + * Hide the inline "Edit" action for all 'scheduled-action' posts. |
|
| 79 | + * |
|
| 80 | + * Hooked to the 'post_row_actions' filter. |
|
| 81 | + * |
|
| 82 | + * @param array $actions An associative array of actions which can be performed on the 'scheduled-action' post type. |
|
| 83 | + * @return array $actions An associative array of actions which can be performed on the 'scheduled-action' post type. |
|
| 84 | + */ |
|
| 85 | + public static function row_actions( $actions, $post ) { |
|
| 86 | + _deprecated_function( __METHOD__, '2.0.0' ); |
|
| 87 | + return $actions; |
|
| 88 | + } |
|
| 89 | 89 | |
| 90 | - /** |
|
| 91 | - * Run an action when triggered from the Action Scheduler administration screen. |
|
| 92 | - * |
|
| 93 | - * @codeCoverageIgnore |
|
| 94 | - */ |
|
| 95 | - public static function maybe_execute_action() { |
|
| 96 | - _deprecated_function( __METHOD__, '2.0.0' ); |
|
| 97 | - } |
|
| 90 | + /** |
|
| 91 | + * Run an action when triggered from the Action Scheduler administration screen. |
|
| 92 | + * |
|
| 93 | + * @codeCoverageIgnore |
|
| 94 | + */ |
|
| 95 | + public static function maybe_execute_action() { |
|
| 96 | + _deprecated_function( __METHOD__, '2.0.0' ); |
|
| 97 | + } |
|
| 98 | 98 | |
| 99 | - /** |
|
| 100 | - * Convert an interval of seconds into a two part human friendly string. |
|
| 101 | - * |
|
| 102 | - * The WordPress human_time_diff() function only calculates the time difference to one degree, meaning |
|
| 103 | - * even if an action is 1 day and 11 hours away, it will display "1 day". This funciton goes one step |
|
| 104 | - * further to display two degrees of accuracy. |
|
| 105 | - * |
|
| 106 | - * Based on Crontrol::interval() function by Edward Dale: https://wordpress.org/plugins/wp-crontrol/ |
|
| 107 | - * |
|
| 108 | - * @param int $interval A interval in seconds. |
|
| 109 | - * @return string A human friendly string representation of the interval. |
|
| 110 | - */ |
|
| 111 | - public static function admin_notices() { |
|
| 112 | - _deprecated_function( __METHOD__, '2.0.0' ); |
|
| 113 | - } |
|
| 99 | + /** |
|
| 100 | + * Convert an interval of seconds into a two part human friendly string. |
|
| 101 | + * |
|
| 102 | + * The WordPress human_time_diff() function only calculates the time difference to one degree, meaning |
|
| 103 | + * even if an action is 1 day and 11 hours away, it will display "1 day". This funciton goes one step |
|
| 104 | + * further to display two degrees of accuracy. |
|
| 105 | + * |
|
| 106 | + * Based on Crontrol::interval() function by Edward Dale: https://wordpress.org/plugins/wp-crontrol/ |
|
| 107 | + * |
|
| 108 | + * @param int $interval A interval in seconds. |
|
| 109 | + * @return string A human friendly string representation of the interval. |
|
| 110 | + */ |
|
| 111 | + public static function admin_notices() { |
|
| 112 | + _deprecated_function( __METHOD__, '2.0.0' ); |
|
| 113 | + } |
|
| 114 | 114 | |
| 115 | - /** |
|
| 116 | - * Filter search queries to allow searching by Claim ID (i.e. post_password). |
|
| 117 | - * |
|
| 118 | - * @param string $orderby MySQL orderby string. |
|
| 119 | - * @param WP_Query $query Instance of a WP_Query object |
|
| 120 | - * @return string MySQL orderby string. |
|
| 121 | - */ |
|
| 122 | - public function custom_orderby( $orderby, $query ){ |
|
| 123 | - _deprecated_function( __METHOD__, '2.0.0' ); |
|
| 124 | - } |
|
| 115 | + /** |
|
| 116 | + * Filter search queries to allow searching by Claim ID (i.e. post_password). |
|
| 117 | + * |
|
| 118 | + * @param string $orderby MySQL orderby string. |
|
| 119 | + * @param WP_Query $query Instance of a WP_Query object |
|
| 120 | + * @return string MySQL orderby string. |
|
| 121 | + */ |
|
| 122 | + public function custom_orderby( $orderby, $query ){ |
|
| 123 | + _deprecated_function( __METHOD__, '2.0.0' ); |
|
| 124 | + } |
|
| 125 | 125 | |
| 126 | - /** |
|
| 127 | - * Filter search queries to allow searching by Claim ID (i.e. post_password). |
|
| 128 | - * |
|
| 129 | - * @param string $search MySQL search string. |
|
| 130 | - * @param WP_Query $query Instance of a WP_Query object |
|
| 131 | - * @return string MySQL search string. |
|
| 132 | - */ |
|
| 133 | - public function search_post_password( $search, $query ) { |
|
| 134 | - _deprecated_function( __METHOD__, '2.0.0' ); |
|
| 135 | - } |
|
| 126 | + /** |
|
| 127 | + * Filter search queries to allow searching by Claim ID (i.e. post_password). |
|
| 128 | + * |
|
| 129 | + * @param string $search MySQL search string. |
|
| 130 | + * @param WP_Query $query Instance of a WP_Query object |
|
| 131 | + * @return string MySQL search string. |
|
| 132 | + */ |
|
| 133 | + public function search_post_password( $search, $query ) { |
|
| 134 | + _deprecated_function( __METHOD__, '2.0.0' ); |
|
| 135 | + } |
|
| 136 | 136 | |
| 137 | - /** |
|
| 138 | - * Change messages when a scheduled action is updated. |
|
| 139 | - * |
|
| 140 | - * @param array $messages |
|
| 141 | - * @return array |
|
| 142 | - */ |
|
| 143 | - public function post_updated_messages( $messages ) { |
|
| 144 | - _deprecated_function( __METHOD__, '2.0.0' ); |
|
| 145 | - return $messages; |
|
| 146 | - } |
|
| 137 | + /** |
|
| 138 | + * Change messages when a scheduled action is updated. |
|
| 139 | + * |
|
| 140 | + * @param array $messages |
|
| 141 | + * @return array |
|
| 142 | + */ |
|
| 143 | + public function post_updated_messages( $messages ) { |
|
| 144 | + _deprecated_function( __METHOD__, '2.0.0' ); |
|
| 145 | + return $messages; |
|
| 146 | + } |
|
| 147 | 147 | } |
| 148 | 148 | \ No newline at end of file |
@@ -19,8 +19,8 @@ discard block |
||
| 19 | 19 | * @return string The job ID |
| 20 | 20 | */ |
| 21 | 21 | function wc_schedule_single_action( $timestamp, $hook, $args = array(), $group = '' ) { |
| 22 | - _deprecated_function( __FUNCTION__, '2.1.0', 'as_schedule_single_action()' ); |
|
| 23 | - return as_schedule_single_action( $timestamp, $hook, $args, $group ); |
|
| 22 | + _deprecated_function( __FUNCTION__, '2.1.0', 'as_schedule_single_action()' ); |
|
| 23 | + return as_schedule_single_action( $timestamp, $hook, $args, $group ); |
|
| 24 | 24 | } |
| 25 | 25 | |
| 26 | 26 | /** |
@@ -37,8 +37,8 @@ discard block |
||
| 37 | 37 | * @return string The job ID |
| 38 | 38 | */ |
| 39 | 39 | function wc_schedule_recurring_action( $timestamp, $interval_in_seconds, $hook, $args = array(), $group = '' ) { |
| 40 | - _deprecated_function( __FUNCTION__, '2.1.0', 'as_schedule_recurring_action()' ); |
|
| 41 | - return as_schedule_recurring_action( $timestamp, $interval_in_seconds, $hook, $args, $group ); |
|
| 40 | + _deprecated_function( __FUNCTION__, '2.1.0', 'as_schedule_recurring_action()' ); |
|
| 41 | + return as_schedule_recurring_action( $timestamp, $interval_in_seconds, $hook, $args, $group ); |
|
| 42 | 42 | } |
| 43 | 43 | |
| 44 | 44 | /** |
@@ -65,8 +65,8 @@ discard block |
||
| 65 | 65 | * @return string The job ID |
| 66 | 66 | */ |
| 67 | 67 | function wc_schedule_cron_action( $timestamp, $schedule, $hook, $args = array(), $group = '' ) { |
| 68 | - _deprecated_function( __FUNCTION__, '2.1.0', 'as_schedule_cron_action()' ); |
|
| 69 | - return as_schedule_cron_action( $timestamp, $schedule, $hook, $args, $group ); |
|
| 68 | + _deprecated_function( __FUNCTION__, '2.1.0', 'as_schedule_cron_action()' ); |
|
| 69 | + return as_schedule_cron_action( $timestamp, $schedule, $hook, $args, $group ); |
|
| 70 | 70 | } |
| 71 | 71 | |
| 72 | 72 | /** |
@@ -79,8 +79,8 @@ discard block |
||
| 79 | 79 | * @deprecated 2.1.0 |
| 80 | 80 | */ |
| 81 | 81 | function wc_unschedule_action( $hook, $args = array(), $group = '' ) { |
| 82 | - _deprecated_function( __FUNCTION__, '2.1.0', 'as_unschedule_action()' ); |
|
| 83 | - as_unschedule_action( $hook, $args, $group ); |
|
| 82 | + _deprecated_function( __FUNCTION__, '2.1.0', 'as_unschedule_action()' ); |
|
| 83 | + as_unschedule_action( $hook, $args, $group ); |
|
| 84 | 84 | } |
| 85 | 85 | |
| 86 | 86 | /** |
@@ -93,8 +93,8 @@ discard block |
||
| 93 | 93 | * @return int|bool The timestamp for the next occurrence, or false if nothing was found |
| 94 | 94 | */ |
| 95 | 95 | function wc_next_scheduled_action( $hook, $args = NULL, $group = '' ) { |
| 96 | - _deprecated_function( __FUNCTION__, '2.1.0', 'as_next_scheduled_action()' ); |
|
| 97 | - return as_next_scheduled_action( $hook, $args, $group ); |
|
| 96 | + _deprecated_function( __FUNCTION__, '2.1.0', 'as_next_scheduled_action()' ); |
|
| 97 | + return as_next_scheduled_action( $hook, $args, $group ); |
|
| 98 | 98 | } |
| 99 | 99 | |
| 100 | 100 | /** |
@@ -121,6 +121,6 @@ discard block |
||
| 121 | 121 | * @return array |
| 122 | 122 | */ |
| 123 | 123 | function wc_get_scheduled_actions( $args = array(), $return_format = OBJECT ) { |
| 124 | - _deprecated_function( __FUNCTION__, '2.1.0', 'as_get_scheduled_actions()' ); |
|
| 125 | - return as_get_scheduled_actions( $args, $return_format ); |
|
| 124 | + _deprecated_function( __FUNCTION__, '2.1.0', 'as_get_scheduled_actions()' ); |
|
| 125 | + return as_get_scheduled_actions( $args, $return_format ); |
|
| 126 | 126 | } |
@@ -5,25 +5,25 @@ |
||
| 5 | 5 | */ |
| 6 | 6 | abstract class ActionScheduler_Schedule_Deprecated implements ActionScheduler_Schedule { |
| 7 | 7 | |
| 8 | - /** |
|
| 9 | - * Get the date & time this schedule was created to run, or calculate when it should be run |
|
| 10 | - * after a given date & time. |
|
| 11 | - * |
|
| 12 | - * @param DateTime $after |
|
| 13 | - * |
|
| 14 | - * @return DateTime|null |
|
| 15 | - */ |
|
| 16 | - public function next( DateTime $after = NULL ) { |
|
| 17 | - if ( empty( $after ) ) { |
|
| 18 | - $return_value = $this->get_date(); |
|
| 19 | - $replacement_method = 'get_date()'; |
|
| 20 | - } else { |
|
| 21 | - $return_value = $this->get_next( $after ); |
|
| 22 | - $replacement_method = 'get_next( $after )'; |
|
| 23 | - } |
|
| 8 | + /** |
|
| 9 | + * Get the date & time this schedule was created to run, or calculate when it should be run |
|
| 10 | + * after a given date & time. |
|
| 11 | + * |
|
| 12 | + * @param DateTime $after |
|
| 13 | + * |
|
| 14 | + * @return DateTime|null |
|
| 15 | + */ |
|
| 16 | + public function next( DateTime $after = NULL ) { |
|
| 17 | + if ( empty( $after ) ) { |
|
| 18 | + $return_value = $this->get_date(); |
|
| 19 | + $replacement_method = 'get_date()'; |
|
| 20 | + } else { |
|
| 21 | + $return_value = $this->get_next( $after ); |
|
| 22 | + $replacement_method = 'get_next( $after )'; |
|
| 23 | + } |
|
| 24 | 24 | |
| 25 | - _deprecated_function( __METHOD__, '3.0.0', __CLASS__ . '::' . $replacement_method ); |
|
| 25 | + _deprecated_function( __METHOD__, '3.0.0', __CLASS__ . '::' . $replacement_method ); |
|
| 26 | 26 | |
| 27 | - return $return_value; |
|
| 28 | - } |
|
| 27 | + return $return_value; |
|
| 28 | + } |
|
| 29 | 29 | } |
@@ -6,44 +6,44 @@ |
||
| 6 | 6 | */ |
| 7 | 7 | abstract class ActionScheduler_Store_Deprecated { |
| 8 | 8 | |
| 9 | - /** |
|
| 10 | - * Mark an action that failed to fetch correctly as failed. |
|
| 11 | - * |
|
| 12 | - * @since 2.2.6 |
|
| 13 | - * |
|
| 14 | - * @param int $action_id The ID of the action. |
|
| 15 | - */ |
|
| 16 | - public function mark_failed_fetch_action( $action_id ) { |
|
| 17 | - _deprecated_function( __METHOD__, '3.0.0', 'ActionScheduler_Store::mark_failure()' ); |
|
| 18 | - self::$store->mark_failure( $action_id ); |
|
| 19 | - } |
|
| 9 | + /** |
|
| 10 | + * Mark an action that failed to fetch correctly as failed. |
|
| 11 | + * |
|
| 12 | + * @since 2.2.6 |
|
| 13 | + * |
|
| 14 | + * @param int $action_id The ID of the action. |
|
| 15 | + */ |
|
| 16 | + public function mark_failed_fetch_action( $action_id ) { |
|
| 17 | + _deprecated_function( __METHOD__, '3.0.0', 'ActionScheduler_Store::mark_failure()' ); |
|
| 18 | + self::$store->mark_failure( $action_id ); |
|
| 19 | + } |
|
| 20 | 20 | |
| 21 | - /** |
|
| 22 | - * Add base hooks |
|
| 23 | - * |
|
| 24 | - * @since 2.2.6 |
|
| 25 | - */ |
|
| 26 | - protected static function hook() { |
|
| 27 | - _deprecated_function( __METHOD__, '3.0.0' ); |
|
| 28 | - } |
|
| 21 | + /** |
|
| 22 | + * Add base hooks |
|
| 23 | + * |
|
| 24 | + * @since 2.2.6 |
|
| 25 | + */ |
|
| 26 | + protected static function hook() { |
|
| 27 | + _deprecated_function( __METHOD__, '3.0.0' ); |
|
| 28 | + } |
|
| 29 | 29 | |
| 30 | - /** |
|
| 31 | - * Remove base hooks |
|
| 32 | - * |
|
| 33 | - * @since 2.2.6 |
|
| 34 | - */ |
|
| 35 | - protected static function unhook() { |
|
| 36 | - _deprecated_function( __METHOD__, '3.0.0' ); |
|
| 37 | - } |
|
| 30 | + /** |
|
| 31 | + * Remove base hooks |
|
| 32 | + * |
|
| 33 | + * @since 2.2.6 |
|
| 34 | + */ |
|
| 35 | + protected static function unhook() { |
|
| 36 | + _deprecated_function( __METHOD__, '3.0.0' ); |
|
| 37 | + } |
|
| 38 | 38 | |
| 39 | - /** |
|
| 40 | - * Get the site's local time. |
|
| 41 | - * |
|
| 42 | - * @deprecated 2.1.0 |
|
| 43 | - * @return DateTimeZone |
|
| 44 | - */ |
|
| 45 | - protected function get_local_timezone() { |
|
| 46 | - _deprecated_function( __FUNCTION__, '2.1.0', 'ActionScheduler_TimezoneHelper::set_local_timezone()' ); |
|
| 47 | - return ActionScheduler_TimezoneHelper::get_local_timezone(); |
|
| 48 | - } |
|
| 39 | + /** |
|
| 40 | + * Get the site's local time. |
|
| 41 | + * |
|
| 42 | + * @deprecated 2.1.0 |
|
| 43 | + * @return DateTimeZone |
|
| 44 | + */ |
|
| 45 | + protected function get_local_timezone() { |
|
| 46 | + _deprecated_function( __FUNCTION__, '2.1.0', 'ActionScheduler_TimezoneHelper::set_local_timezone()' ); |
|
| 47 | + return ActionScheduler_TimezoneHelper::get_local_timezone(); |
|
| 48 | + } |
|
| 49 | 49 | } |
@@ -5,23 +5,23 @@ |
||
| 5 | 5 | */ |
| 6 | 6 | abstract class ActionScheduler_Abstract_QueueRunner_Deprecated { |
| 7 | 7 | |
| 8 | - /** |
|
| 9 | - * Get the maximum number of seconds a batch can run for. |
|
| 10 | - * |
|
| 11 | - * @deprecated 2.1.1 |
|
| 12 | - * @return int The number of seconds. |
|
| 13 | - */ |
|
| 14 | - protected function get_maximum_execution_time() { |
|
| 15 | - _deprecated_function( __METHOD__, '2.1.1', 'ActionScheduler_Abstract_QueueRunner::get_time_limit()' ); |
|
| 8 | + /** |
|
| 9 | + * Get the maximum number of seconds a batch can run for. |
|
| 10 | + * |
|
| 11 | + * @deprecated 2.1.1 |
|
| 12 | + * @return int The number of seconds. |
|
| 13 | + */ |
|
| 14 | + protected function get_maximum_execution_time() { |
|
| 15 | + _deprecated_function( __METHOD__, '2.1.1', 'ActionScheduler_Abstract_QueueRunner::get_time_limit()' ); |
|
| 16 | 16 | |
| 17 | - $maximum_execution_time = 30; |
|
| 17 | + $maximum_execution_time = 30; |
|
| 18 | 18 | |
| 19 | - // Apply deprecated filter |
|
| 20 | - if ( has_filter( 'action_scheduler_maximum_execution_time' ) ) { |
|
| 21 | - _deprecated_function( 'action_scheduler_maximum_execution_time', '2.1.1', 'action_scheduler_queue_runner_time_limit' ); |
|
| 22 | - $maximum_execution_time = apply_filters( 'action_scheduler_maximum_execution_time', $maximum_execution_time ); |
|
| 23 | - } |
|
| 19 | + // Apply deprecated filter |
|
| 20 | + if ( has_filter( 'action_scheduler_maximum_execution_time' ) ) { |
|
| 21 | + _deprecated_function( 'action_scheduler_maximum_execution_time', '2.1.1', 'action_scheduler_queue_runner_time_limit' ); |
|
| 22 | + $maximum_execution_time = apply_filters( 'action_scheduler_maximum_execution_time', $maximum_execution_time ); |
|
| 23 | + } |
|
| 24 | 24 | |
| 25 | - return absint( $maximum_execution_time ); |
|
| 26 | - } |
|
| 25 | + return absint( $maximum_execution_time ); |
|
| 26 | + } |
|
| 27 | 27 | } |
@@ -27,27 +27,27 @@ |
||
| 27 | 27 | |
| 28 | 28 | if ( ! function_exists( 'action_scheduler_register_3_dot_1_dot_4' ) ) { |
| 29 | 29 | |
| 30 | - if ( ! class_exists( 'ActionScheduler_Versions' ) ) { |
|
| 31 | - require_once( 'classes/ActionScheduler_Versions.php' ); |
|
| 32 | - add_action( 'plugins_loaded', array( 'ActionScheduler_Versions', 'initialize_latest_version' ), 1, 0 ); |
|
| 33 | - } |
|
| 30 | + if ( ! class_exists( 'ActionScheduler_Versions' ) ) { |
|
| 31 | + require_once( 'classes/ActionScheduler_Versions.php' ); |
|
| 32 | + add_action( 'plugins_loaded', array( 'ActionScheduler_Versions', 'initialize_latest_version' ), 1, 0 ); |
|
| 33 | + } |
|
| 34 | 34 | |
| 35 | - add_action( 'plugins_loaded', 'action_scheduler_register_3_dot_1_dot_4', 0, 0 ); |
|
| 35 | + add_action( 'plugins_loaded', 'action_scheduler_register_3_dot_1_dot_4', 0, 0 ); |
|
| 36 | 36 | |
| 37 | - function action_scheduler_register_3_dot_1_dot_4() { |
|
| 38 | - $versions = ActionScheduler_Versions::instance(); |
|
| 39 | - $versions->register( '3.1.4', 'action_scheduler_initialize_3_dot_1_dot_4' ); |
|
| 40 | - } |
|
| 37 | + function action_scheduler_register_3_dot_1_dot_4() { |
|
| 38 | + $versions = ActionScheduler_Versions::instance(); |
|
| 39 | + $versions->register( '3.1.4', 'action_scheduler_initialize_3_dot_1_dot_4' ); |
|
| 40 | + } |
|
| 41 | 41 | |
| 42 | - function action_scheduler_initialize_3_dot_1_dot_4() { |
|
| 43 | - require_once( 'classes/abstracts/ActionScheduler.php' ); |
|
| 44 | - ActionScheduler::init( __FILE__ ); |
|
| 45 | - } |
|
| 42 | + function action_scheduler_initialize_3_dot_1_dot_4() { |
|
| 43 | + require_once( 'classes/abstracts/ActionScheduler.php' ); |
|
| 44 | + ActionScheduler::init( __FILE__ ); |
|
| 45 | + } |
|
| 46 | 46 | |
| 47 | - // Support usage in themes - load this version if no plugin has loaded a version yet. |
|
| 48 | - if ( did_action( 'plugins_loaded' ) && ! class_exists( 'ActionScheduler' ) ) { |
|
| 49 | - action_scheduler_initialize_3_dot_1_dot_4(); |
|
| 50 | - do_action( 'action_scheduler_pre_theme_init' ); |
|
| 51 | - ActionScheduler_Versions::initialize_latest_version(); |
|
| 52 | - } |
|
| 47 | + // Support usage in themes - load this version if no plugin has loaded a version yet. |
|
| 48 | + if ( did_action( 'plugins_loaded' ) && ! class_exists( 'ActionScheduler' ) ) { |
|
| 49 | + action_scheduler_initialize_3_dot_1_dot_4(); |
|
| 50 | + do_action( 'action_scheduler_pre_theme_init' ); |
|
| 51 | + ActionScheduler_Versions::initialize_latest_version(); |
|
| 52 | + } |
|
| 53 | 53 | } |
@@ -4,52 +4,52 @@ |
||
| 4 | 4 | * Class ActionScheduler_FatalErrorMonitor |
| 5 | 5 | */ |
| 6 | 6 | class ActionScheduler_FatalErrorMonitor { |
| 7 | - /** @var ActionScheduler_ActionClaim */ |
|
| 8 | - private $claim = NULL; |
|
| 9 | - /** @var ActionScheduler_Store */ |
|
| 10 | - private $store = NULL; |
|
| 11 | - private $action_id = 0; |
|
| 7 | + /** @var ActionScheduler_ActionClaim */ |
|
| 8 | + private $claim = NULL; |
|
| 9 | + /** @var ActionScheduler_Store */ |
|
| 10 | + private $store = NULL; |
|
| 11 | + private $action_id = 0; |
|
| 12 | 12 | |
| 13 | - public function __construct( ActionScheduler_Store $store ) { |
|
| 14 | - $this->store = $store; |
|
| 15 | - } |
|
| 13 | + public function __construct( ActionScheduler_Store $store ) { |
|
| 14 | + $this->store = $store; |
|
| 15 | + } |
|
| 16 | 16 | |
| 17 | - public function attach( ActionScheduler_ActionClaim $claim ) { |
|
| 18 | - $this->claim = $claim; |
|
| 19 | - add_action( 'shutdown', array( $this, 'handle_unexpected_shutdown' ) ); |
|
| 20 | - add_action( 'action_scheduler_before_execute', array( $this, 'track_current_action' ), 0, 1 ); |
|
| 21 | - add_action( 'action_scheduler_after_execute', array( $this, 'untrack_action' ), 0, 0 ); |
|
| 22 | - add_action( 'action_scheduler_execution_ignored', array( $this, 'untrack_action' ), 0, 0 ); |
|
| 23 | - add_action( 'action_scheduler_failed_execution', array( $this, 'untrack_action' ), 0, 0 ); |
|
| 24 | - } |
|
| 17 | + public function attach( ActionScheduler_ActionClaim $claim ) { |
|
| 18 | + $this->claim = $claim; |
|
| 19 | + add_action( 'shutdown', array( $this, 'handle_unexpected_shutdown' ) ); |
|
| 20 | + add_action( 'action_scheduler_before_execute', array( $this, 'track_current_action' ), 0, 1 ); |
|
| 21 | + add_action( 'action_scheduler_after_execute', array( $this, 'untrack_action' ), 0, 0 ); |
|
| 22 | + add_action( 'action_scheduler_execution_ignored', array( $this, 'untrack_action' ), 0, 0 ); |
|
| 23 | + add_action( 'action_scheduler_failed_execution', array( $this, 'untrack_action' ), 0, 0 ); |
|
| 24 | + } |
|
| 25 | 25 | |
| 26 | - public function detach() { |
|
| 27 | - $this->claim = NULL; |
|
| 28 | - $this->untrack_action(); |
|
| 29 | - remove_action( 'shutdown', array( $this, 'handle_unexpected_shutdown' ) ); |
|
| 30 | - remove_action( 'action_scheduler_before_execute', array( $this, 'track_current_action' ), 0 ); |
|
| 31 | - remove_action( 'action_scheduler_after_execute', array( $this, 'untrack_action' ), 0 ); |
|
| 32 | - remove_action( 'action_scheduler_execution_ignored', array( $this, 'untrack_action' ), 0 ); |
|
| 33 | - remove_action( 'action_scheduler_failed_execution', array( $this, 'untrack_action' ), 0 ); |
|
| 34 | - } |
|
| 26 | + public function detach() { |
|
| 27 | + $this->claim = NULL; |
|
| 28 | + $this->untrack_action(); |
|
| 29 | + remove_action( 'shutdown', array( $this, 'handle_unexpected_shutdown' ) ); |
|
| 30 | + remove_action( 'action_scheduler_before_execute', array( $this, 'track_current_action' ), 0 ); |
|
| 31 | + remove_action( 'action_scheduler_after_execute', array( $this, 'untrack_action' ), 0 ); |
|
| 32 | + remove_action( 'action_scheduler_execution_ignored', array( $this, 'untrack_action' ), 0 ); |
|
| 33 | + remove_action( 'action_scheduler_failed_execution', array( $this, 'untrack_action' ), 0 ); |
|
| 34 | + } |
|
| 35 | 35 | |
| 36 | - public function track_current_action( $action_id ) { |
|
| 37 | - $this->action_id = $action_id; |
|
| 38 | - } |
|
| 36 | + public function track_current_action( $action_id ) { |
|
| 37 | + $this->action_id = $action_id; |
|
| 38 | + } |
|
| 39 | 39 | |
| 40 | - public function untrack_action() { |
|
| 41 | - $this->action_id = 0; |
|
| 42 | - } |
|
| 40 | + public function untrack_action() { |
|
| 41 | + $this->action_id = 0; |
|
| 42 | + } |
|
| 43 | 43 | |
| 44 | - public function handle_unexpected_shutdown() { |
|
| 45 | - if ( $error = error_get_last() ) { |
|
| 46 | - if ( in_array( $error['type'], array( E_ERROR, E_PARSE, E_COMPILE_ERROR, E_USER_ERROR, E_RECOVERABLE_ERROR ) ) ) { |
|
| 47 | - if ( !empty($this->action_id) ) { |
|
| 48 | - $this->store->mark_failure( $this->action_id ); |
|
| 49 | - do_action( 'action_scheduler_unexpected_shutdown', $this->action_id, $error ); |
|
| 50 | - } |
|
| 51 | - } |
|
| 52 | - $this->store->release_claim( $this->claim ); |
|
| 53 | - } |
|
| 54 | - } |
|
| 44 | + public function handle_unexpected_shutdown() { |
|
| 45 | + if ( $error = error_get_last() ) { |
|
| 46 | + if ( in_array( $error['type'], array( E_ERROR, E_PARSE, E_COMPILE_ERROR, E_USER_ERROR, E_RECOVERABLE_ERROR ) ) ) { |
|
| 47 | + if ( !empty($this->action_id) ) { |
|
| 48 | + $this->store->mark_failure( $this->action_id ); |
|
| 49 | + do_action( 'action_scheduler_unexpected_shutdown', $this->action_id, $error ); |
|
| 50 | + } |
|
| 51 | + } |
|
| 52 | + $this->store->release_claim( $this->claim ); |
|
| 53 | + } |
|
| 54 | + } |
|
| 55 | 55 | } |
@@ -5,95 +5,95 @@ discard block |
||
| 5 | 5 | */ |
| 6 | 6 | class ActionScheduler_wcSystemStatus { |
| 7 | 7 | |
| 8 | - /** |
|
| 9 | - * The active data stores |
|
| 10 | - * |
|
| 11 | - * @var ActionScheduler_Store |
|
| 12 | - */ |
|
| 13 | - protected $store; |
|
| 14 | - |
|
| 15 | - function __construct( $store ) { |
|
| 16 | - $this->store = $store; |
|
| 17 | - } |
|
| 18 | - |
|
| 19 | - /** |
|
| 20 | - * Display action data, including number of actions grouped by status and the oldest & newest action in each status. |
|
| 21 | - * |
|
| 22 | - * Helpful to identify issues, like a clogged queue. |
|
| 23 | - */ |
|
| 24 | - public function render() { |
|
| 25 | - $action_counts = $this->store->action_counts(); |
|
| 26 | - $status_labels = $this->store->get_status_labels(); |
|
| 27 | - $oldest_and_newest = $this->get_oldest_and_newest( array_keys( $status_labels ) ); |
|
| 28 | - |
|
| 29 | - $this->get_template( $status_labels, $action_counts, $oldest_and_newest ); |
|
| 30 | - } |
|
| 31 | - |
|
| 32 | - /** |
|
| 33 | - * Get oldest and newest scheduled dates for a given set of statuses. |
|
| 34 | - * |
|
| 35 | - * @param array $status_keys Set of statuses to find oldest & newest action for. |
|
| 36 | - * @return array |
|
| 37 | - */ |
|
| 38 | - protected function get_oldest_and_newest( $status_keys ) { |
|
| 39 | - |
|
| 40 | - $oldest_and_newest = array(); |
|
| 41 | - |
|
| 42 | - foreach ( $status_keys as $status ) { |
|
| 43 | - $oldest_and_newest[ $status ] = array( |
|
| 44 | - 'oldest' => '–', |
|
| 45 | - 'newest' => '–', |
|
| 46 | - ); |
|
| 47 | - |
|
| 48 | - if ( 'in-progress' === $status ) { |
|
| 49 | - continue; |
|
| 50 | - } |
|
| 51 | - |
|
| 52 | - $oldest_and_newest[ $status ]['oldest'] = $this->get_action_status_date( $status, 'oldest' ); |
|
| 53 | - $oldest_and_newest[ $status ]['newest'] = $this->get_action_status_date( $status, 'newest' ); |
|
| 54 | - } |
|
| 55 | - |
|
| 56 | - return $oldest_and_newest; |
|
| 57 | - } |
|
| 58 | - |
|
| 59 | - /** |
|
| 60 | - * Get oldest or newest scheduled date for a given status. |
|
| 61 | - * |
|
| 62 | - * @param string $status Action status label/name string. |
|
| 63 | - * @param string $date_type Oldest or Newest. |
|
| 64 | - * @return DateTime |
|
| 65 | - */ |
|
| 66 | - protected function get_action_status_date( $status, $date_type = 'oldest' ) { |
|
| 67 | - |
|
| 68 | - $order = 'oldest' === $date_type ? 'ASC' : 'DESC'; |
|
| 69 | - |
|
| 70 | - $action = $this->store->query_actions( array( |
|
| 71 | - 'claimed' => false, |
|
| 72 | - 'status' => $status, |
|
| 73 | - 'per_page' => 1, |
|
| 74 | - 'order' => $order, |
|
| 75 | - ) ); |
|
| 76 | - |
|
| 77 | - if ( ! empty( $action ) ) { |
|
| 78 | - $date_object = $this->store->get_date( $action[0] ); |
|
| 79 | - $action_date = $date_object->format( 'Y-m-d H:i:s O' ); |
|
| 80 | - } else { |
|
| 81 | - $action_date = '–'; |
|
| 82 | - } |
|
| 83 | - |
|
| 84 | - return $action_date; |
|
| 85 | - } |
|
| 86 | - |
|
| 87 | - /** |
|
| 88 | - * Get oldest or newest scheduled date for a given status. |
|
| 89 | - * |
|
| 90 | - * @param array $status_labels Set of statuses to find oldest & newest action for. |
|
| 91 | - * @param array $action_counts Number of actions grouped by status. |
|
| 92 | - * @param array $oldest_and_newest Date of the oldest and newest action with each status. |
|
| 93 | - */ |
|
| 94 | - protected function get_template( $status_labels, $action_counts, $oldest_and_newest ) { |
|
| 95 | - $as_version = ActionScheduler_Versions::instance()->latest_version(); |
|
| 96 | - ?> |
|
| 8 | + /** |
|
| 9 | + * The active data stores |
|
| 10 | + * |
|
| 11 | + * @var ActionScheduler_Store |
|
| 12 | + */ |
|
| 13 | + protected $store; |
|
| 14 | + |
|
| 15 | + function __construct( $store ) { |
|
| 16 | + $this->store = $store; |
|
| 17 | + } |
|
| 18 | + |
|
| 19 | + /** |
|
| 20 | + * Display action data, including number of actions grouped by status and the oldest & newest action in each status. |
|
| 21 | + * |
|
| 22 | + * Helpful to identify issues, like a clogged queue. |
|
| 23 | + */ |
|
| 24 | + public function render() { |
|
| 25 | + $action_counts = $this->store->action_counts(); |
|
| 26 | + $status_labels = $this->store->get_status_labels(); |
|
| 27 | + $oldest_and_newest = $this->get_oldest_and_newest( array_keys( $status_labels ) ); |
|
| 28 | + |
|
| 29 | + $this->get_template( $status_labels, $action_counts, $oldest_and_newest ); |
|
| 30 | + } |
|
| 31 | + |
|
| 32 | + /** |
|
| 33 | + * Get oldest and newest scheduled dates for a given set of statuses. |
|
| 34 | + * |
|
| 35 | + * @param array $status_keys Set of statuses to find oldest & newest action for. |
|
| 36 | + * @return array |
|
| 37 | + */ |
|
| 38 | + protected function get_oldest_and_newest( $status_keys ) { |
|
| 39 | + |
|
| 40 | + $oldest_and_newest = array(); |
|
| 41 | + |
|
| 42 | + foreach ( $status_keys as $status ) { |
|
| 43 | + $oldest_and_newest[ $status ] = array( |
|
| 44 | + 'oldest' => '–', |
|
| 45 | + 'newest' => '–', |
|
| 46 | + ); |
|
| 47 | + |
|
| 48 | + if ( 'in-progress' === $status ) { |
|
| 49 | + continue; |
|
| 50 | + } |
|
| 51 | + |
|
| 52 | + $oldest_and_newest[ $status ]['oldest'] = $this->get_action_status_date( $status, 'oldest' ); |
|
| 53 | + $oldest_and_newest[ $status ]['newest'] = $this->get_action_status_date( $status, 'newest' ); |
|
| 54 | + } |
|
| 55 | + |
|
| 56 | + return $oldest_and_newest; |
|
| 57 | + } |
|
| 58 | + |
|
| 59 | + /** |
|
| 60 | + * Get oldest or newest scheduled date for a given status. |
|
| 61 | + * |
|
| 62 | + * @param string $status Action status label/name string. |
|
| 63 | + * @param string $date_type Oldest or Newest. |
|
| 64 | + * @return DateTime |
|
| 65 | + */ |
|
| 66 | + protected function get_action_status_date( $status, $date_type = 'oldest' ) { |
|
| 67 | + |
|
| 68 | + $order = 'oldest' === $date_type ? 'ASC' : 'DESC'; |
|
| 69 | + |
|
| 70 | + $action = $this->store->query_actions( array( |
|
| 71 | + 'claimed' => false, |
|
| 72 | + 'status' => $status, |
|
| 73 | + 'per_page' => 1, |
|
| 74 | + 'order' => $order, |
|
| 75 | + ) ); |
|
| 76 | + |
|
| 77 | + if ( ! empty( $action ) ) { |
|
| 78 | + $date_object = $this->store->get_date( $action[0] ); |
|
| 79 | + $action_date = $date_object->format( 'Y-m-d H:i:s O' ); |
|
| 80 | + } else { |
|
| 81 | + $action_date = '–'; |
|
| 82 | + } |
|
| 83 | + |
|
| 84 | + return $action_date; |
|
| 85 | + } |
|
| 86 | + |
|
| 87 | + /** |
|
| 88 | + * Get oldest or newest scheduled date for a given status. |
|
| 89 | + * |
|
| 90 | + * @param array $status_labels Set of statuses to find oldest & newest action for. |
|
| 91 | + * @param array $action_counts Number of actions grouped by status. |
|
| 92 | + * @param array $oldest_and_newest Date of the oldest and newest action with each status. |
|
| 93 | + */ |
|
| 94 | + protected function get_template( $status_labels, $action_counts, $oldest_and_newest ) { |
|
| 95 | + $as_version = ActionScheduler_Versions::instance()->latest_version(); |
|
| 96 | + ?> |
|
| 97 | 97 | |
| 98 | 98 | <table class="wc_status_table widefat" cellspacing="0"> |
| 99 | 99 | <thead> |
@@ -114,39 +114,39 @@ discard block |
||
| 114 | 114 | </thead> |
| 115 | 115 | <tbody> |
| 116 | 116 | <?php |
| 117 | - foreach ( $action_counts as $status => $count ) { |
|
| 118 | - // WC 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. |
|
| 119 | - printf( |
|
| 120 | - '<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>', |
|
| 121 | - esc_html( $status_labels[ $status ] ), |
|
| 122 | - number_format_i18n( $count ), |
|
| 123 | - $oldest_and_newest[ $status ]['oldest'], |
|
| 124 | - $oldest_and_newest[ $status ]['newest'] |
|
| 125 | - ); |
|
| 126 | - } |
|
| 127 | - ?> |
|
| 117 | + foreach ( $action_counts as $status => $count ) { |
|
| 118 | + // WC 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. |
|
| 119 | + printf( |
|
| 120 | + '<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>', |
|
| 121 | + esc_html( $status_labels[ $status ] ), |
|
| 122 | + number_format_i18n( $count ), |
|
| 123 | + $oldest_and_newest[ $status ]['oldest'], |
|
| 124 | + $oldest_and_newest[ $status ]['newest'] |
|
| 125 | + ); |
|
| 126 | + } |
|
| 127 | + ?> |
|
| 128 | 128 | </tbody> |
| 129 | 129 | </table> |
| 130 | 130 | |
| 131 | 131 | <?php |
| 132 | - } |
|
| 133 | - |
|
| 134 | - /** |
|
| 135 | - * is triggered when invoking inaccessible methods in an object context. |
|
| 136 | - * |
|
| 137 | - * @param string $name |
|
| 138 | - * @param array $arguments |
|
| 139 | - * |
|
| 140 | - * @return mixed |
|
| 141 | - * @link https://php.net/manual/en/language.oop5.overloading.php#language.oop5.overloading.methods |
|
| 142 | - */ |
|
| 143 | - public function __call( $name, $arguments ) { |
|
| 144 | - switch ( $name ) { |
|
| 145 | - case 'print': |
|
| 146 | - _deprecated_function( __CLASS__ . '::print()', '2.2.4', __CLASS__ . '::render()' ); |
|
| 147 | - return call_user_func_array( array( $this, 'render' ), $arguments ); |
|
| 148 | - } |
|
| 149 | - |
|
| 150 | - return null; |
|
| 151 | - } |
|
| 132 | + } |
|
| 133 | + |
|
| 134 | + /** |
|
| 135 | + * is triggered when invoking inaccessible methods in an object context. |
|
| 136 | + * |
|
| 137 | + * @param string $name |
|
| 138 | + * @param array $arguments |
|
| 139 | + * |
|
| 140 | + * @return mixed |
|
| 141 | + * @link https://php.net/manual/en/language.oop5.overloading.php#language.oop5.overloading.methods |
|
| 142 | + */ |
|
| 143 | + public function __call( $name, $arguments ) { |
|
| 144 | + switch ( $name ) { |
|
| 145 | + case 'print': |
|
| 146 | + _deprecated_function( __CLASS__ . '::print()', '2.2.4', __CLASS__ . '::render()' ); |
|
| 147 | + return call_user_func_array( array( $this, 'render' ), $arguments ); |
|
| 148 | + } |
|
| 149 | + |
|
| 150 | + return null; |
|
| 151 | + } |
|
| 152 | 152 | } |