76 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| /**
 | |
|  * Class ActionScheduler_Action
 | |
|  */
 | |
| class ActionScheduler_Action {
 | |
| 	protected $hook = '';
 | |
| 	protected $args = array();
 | |
| 	/** @var ActionScheduler_Schedule */
 | |
| 	protected $schedule = NULL;
 | |
| 	protected $group = '';
 | |
| 
 | |
| 	public function __construct( $hook, array $args = array(), ActionScheduler_Schedule $schedule = NULL, $group = '' ) {
 | |
| 		$schedule = empty( $schedule ) ? new ActionScheduler_NullSchedule() : $schedule;
 | |
| 		$this->set_hook($hook);
 | |
| 		$this->set_schedule($schedule);
 | |
| 		$this->set_args($args);
 | |
| 		$this->set_group($group);
 | |
| 	}
 | |
| 
 | |
| 	public function execute() {
 | |
| 		return do_action_ref_array( $this->get_hook(), array_values( $this->get_args() ) );
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * @param string $hook
 | |
| 	 */
 | |
| 	protected function set_hook( $hook ) {
 | |
| 		$this->hook = $hook;
 | |
| 	}
 | |
| 
 | |
| 	public function get_hook() {
 | |
| 		return $this->hook;
 | |
| 	}
 | |
| 
 | |
| 	protected function set_schedule( ActionScheduler_Schedule $schedule ) {
 | |
| 		$this->schedule = $schedule;
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * @return ActionScheduler_Schedule
 | |
| 	 */
 | |
| 	public function get_schedule() {
 | |
| 		return $this->schedule;
 | |
| 	}
 | |
| 
 | |
| 	protected function set_args( array $args ) {
 | |
| 		$this->args = $args;
 | |
| 	}
 | |
| 
 | |
| 	public function get_args() {
 | |
| 		return $this->args;
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * @param string $group
 | |
| 	 */
 | |
| 	protected function set_group( $group ) {
 | |
| 		$this->group = $group;
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * @return string
 | |
| 	 */
 | |
| 	public function get_group() {
 | |
| 		return $this->group;
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * @return bool If the action has been finished
 | |
| 	 */
 | |
| 	public function is_finished() {
 | |
| 		return FALSE;
 | |
| 	}
 | |
| }
 |