$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; } }