ActionScheduler_DBStore::make_action_from_db_recordprotectedWC 1.0

Create an action from a database record.

Метод класса: ActionScheduler_DBStore{}

Хуков нет.

Возвращает

ActionScheduler_Action|ActionScheduler_CanceledAction|ActionScheduler_FinishedAction.

Использование

// protected - в коде основоного (родительского) или дочернего класса
$result = $this->make_action_from_db_record( $data );
$data(объект) (обязательный)
Action database record.

Код ActionScheduler_DBStore::make_action_from_db_record() WC 11.0.1

protected function make_action_from_db_record( $data ) {
	$args = json_decode( $data->args, true );
	if ( ! is_array( $args ) && $data->status === self::STATUS_CANCELED ) {
		// The handled corrupted action should appear in UI.
		$args = array();
	} else {
		$this->validate_args( $args, $data->action_id );
	}

	$schedule = @unserialize( $data->schedule ); // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.serialize_unserialize WordPress.PHP.NoSilencingOperator
	if ( false === $schedule && $data->status === self::STATUS_CANCELED ) {
		// The handled corrupted action should appear in UI.
		$schedule = new ActionScheduler_NullSchedule();
	} else {
		$this->validate_schedule( $schedule, $data->action_id );
	}

	$group = $data->group ? $data->group : '';

	return ActionScheduler::factory()->get_stored_action( $data->status, $data->hook, $args, $schedule, $group, $data->priority );
}