diff -r 07239de796bb -r e756a8c72c3d cms/drupal/includes/batch.queue.inc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cms/drupal/includes/batch.queue.inc Fri Sep 08 12:04:06 2017 +0200 @@ -0,0 +1,84 @@ + $this->name))->fetchObject(); + if ($item) { + $item->data = unserialize($item->data); + return $item; + } + return FALSE; + } + + /** + * Retrieves all remaining items in the queue. + * + * This is specific to Batch API and is not part of the DrupalQueueInterface. + */ + public function getAllItems() { + $result = array(); + $items = db_query('SELECT data FROM {queue} q WHERE name = :name ORDER BY item_id ASC', array(':name' => $this->name))->fetchAll(); + foreach ($items as $item) { + $result[] = unserialize($item->data); + } + return $result; + } +} + +/** + * Defines a batch queue for non-progressive batches. + */ +class BatchMemoryQueue extends MemoryQueue { + + /** + * Overrides MemoryQueue::claimItem(). + * + * Unlike MemoryQueue::claimItem(), this method provides a default lease + * time of 0 (no expiration) instead of 30. This allows the item to be + * claimed repeatedly until it is deleted. + */ + public function claimItem($lease_time = 0) { + if (!empty($this->queue)) { + reset($this->queue); + return current($this->queue); + } + return FALSE; + } + + /** + * Retrieves all remaining items in the queue. + * + * This is specific to Batch API and is not part of the DrupalQueueInterface. + */ + public function getAllItems() { + $result = array(); + foreach ($this->queue as $item) { + $result[] = $item->data; + } + return $result; + } +}