Current File : /home/aventura/www/site/wp-content/plugins/victheme_core/wordpress/objects/queue.php |
<?php
/**
* Class for managing asset queues
*
* This class cannot save to database nor
* load data from database.
*
* @author jason.xie@victheme.com
*
*/
class VTCore_Wordpress_Objects_Queue
extends VTCore_Wordpress_Models_Dot {
protected $options = array();
protected $processed = array();
/**
* Mark queue as processed
* @return VTCore_Wordpress_Objects_Queue
*/
public function processed($queue) {
if ($this->get($queue)) {
$this->processed[$queue] = $this->get($queue);
$this->remove($queue);
}
return $this;
}
/**
* Check if queue is processed
*/
public function check($queue) {
return isset($this->processed[$queue]);
}
/**
* Get all processed queues
*/
public function getProcessed() {
return $this->processed;
}
/**
* Allow user to force remove processed queue
*/
public function removeProcessed($queue) {
if (isset($this->processed[$queue])) {
unset($this->processed[$queue]);
}
return $this;
}
/**
* Overridden method
* Don't allow user to requeue processed asset
*
* @return VTCore_Wordpress_Objects_Queue
*/
public function add($keys, $value) {
if (!$this->check($keys)) {
parent::add($keys, $value);
}
return $this;
}
}