You are here

function nodequeue_queue_back in Nodequeue 6.2

Same name and namespace in other branches
  1. 5.2 nodequeue.module \nodequeue_queue_back()
  2. 5 nodequeue.module \nodequeue_queue_back()
  3. 7.3 nodequeue.module \nodequeue_queue_back()
  4. 7.2 nodequeue.module \nodequeue_queue_back()

Move an item to the back of the queue.

1 call to nodequeue_queue_back()
NodequeueAPISubqueueUnitTest::testNodequeueQueueBack in tests/nodequeue.test

File

./nodequeue.module, line 1221
Maintains queues of nodes in arbitrary order.

Code

function nodequeue_queue_back($subqueue, $position) {
  if ($position < 1 || $position >= $subqueue->count) {
    return;
  }
  $entry = db_fetch_object(db_query("SELECT * FROM {nodequeue_nodes} WHERE sqid = %d AND position = %d", $subqueue->sqid, $position));
  db_query("DELETE FROM {nodequeue_nodes} WHERE sqid = %d AND position = %d", $subqueue->sqid, $position);
  db_query("UPDATE {nodequeue_nodes} SET position = position - 1 WHERE sqid = %d AND position > %d", $subqueue->sqid, $position);
  db_query("INSERT INTO {nodequeue_nodes} (qid, sqid, nid, position, timestamp) VALUES (%d, %d, %d, %d, %d)", $entry->qid, $subqueue->sqid, $entry->nid, $subqueue->count, $entry->timestamp);
}