Index: modules/nodequeue/nodequeue.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/nodequeue/nodequeue.module,v retrieving revision 1.39.2.19 diff -u -p -r1.39.2.19 nodequeue.module --- modules/nodequeue/nodequeue.module 14 Mar 2007 18:31:51 -0000 1.39.2.19 +++ modules/nodequeue/nodequeue.module 15 Jun 2007 05:27:11 -0000 @@ -537,8 +537,9 @@ function nodequeue_queue_admin_submit($f db_query("DELETE FROM {nodequeue_nodes} WHERE qid = %d", $form_values['qid']); if ($form_values['op'] == t('Save') && $form_values['order']) { $counter = 1; + $now = time(); foreach (explode(',', $form_values['order']) as $nid) { - db_query("INSERT INTO {nodequeue_nodes} (qid, nid, position) VALUES (%d, %d, %d)", $form_values['qid'], $nid, $counter++); + db_query("INSERT INTO {nodequeue_nodes} (qid, nid, position, timestamp) VALUES (%d, %d, %d, %d)", $form_values['qid'], $nid, $counter++, $now); } } drupal_set_message(t('The queue has been updated')); @@ -780,7 +781,7 @@ function nodequeue_queue_front($queue, $ $entry = db_fetch_object(db_query("SELECT * FROM {nodequeue_nodes} WHERE qid= %d AND position = %d", $queue->qid, $position)); db_query("DELETE FROM {nodequeue_nodes} WHERE qid = %d AND position = %d", $queue->qid, $position); db_query("UPDATE {nodequeue_nodes} SET position = position + 1 WHERE qid= %d AND position < %d", $queue->qid, $position); - db_query("INSERT INTO {nodequeue_nodes} (qid, nid, position) VALUES (%d, %d, 1)", $queue->qid, $entry->nid); + db_query("INSERT INTO {nodequeue_nodes} (qid, nid, position, timestamp) VALUES (%d, %d, 1, %d)", $queue->qid, $entry->nid, $entry->timestamp); } function nodequeue_queue_back($queue, $position) { @@ -789,7 +790,7 @@ function nodequeue_queue_back($queue, $p $entry = db_fetch_object(db_query("SELECT * FROM {nodequeue_nodes} WHERE qid = %d AND position = %d", $queue->qid, $position)); db_query("DELETE FROM {nodequeue_nodes} WHERE qid = %d AND position = %d", $queue->qid, $position); db_query("UPDATE {nodequeue_nodes} SET position = position - 1 WHERE qid = %d AND position > %d", $queue->qid, $position); - db_query("INSERT INTO {nodequeue_nodes} (qid, nid, position) VALUES (%d, %d, %d)", $queue->qid, $entry->nid, $queue->count); + db_query("INSERT INTO {nodequeue_nodes} (qid, nid, position, timestamp) VALUES (%d, %d, %d, %d)", $queue->qid, $entry->nid, $queue->count, $entry->timestamp); } function _nodequeue_queue_remove(&$queue, $start, $end = 0) { @@ -816,7 +817,7 @@ function _nodequeue_queue_add(&$queue, $ $nid = intval($nid); $queue->count++; - db_query("INSERT INTO {nodequeue_nodes} (qid, nid, position) VALUES (%d, %d, %d)", $queue->qid, $nid, $queue->count); + db_query("INSERT INTO {nodequeue_nodes} (qid, nid, position, timestamp) VALUES (%d, %d, %d, %d)", $queue->qid, $nid, $queue->count, time()); } function nodequeue_queue_clear($qid) { @@ -1017,6 +1018,16 @@ function nodequeue_views_tables() { "field" => "nid" ), ), + "fields" => array( + 'timestamp' => array( + 'name' => t('NodeQueue: Timestamp'), + 'sortable' => true, + 'handler' => views_handler_field_dates(), + 'option' => 'string', + 'help' => t('Display the time the node was added to a given node queue.').' '. + t('The option field may be used to specify the custom date format as it\'s required by the date() function or if "as time ago" has been chosen to customize the granularity of the time interval.'), + ), + ), "filters" => array( "qid" => array( 'name' => "NodeQueue: Queue", @@ -1030,6 +1041,14 @@ function nodequeue_views_tables() { 'operator' => 'views_handler_operator_gtlt', 'help' => t('Filter by where in the queue an item is.'), ), + "timestamp" => array( + 'name' => t('NodeQueue: Queue Timestamp'), + 'operator' => 'views_handler_operator_gtlt', + 'value' => views_handler_filter_date_value_form(), + 'handler' => 'views_handler_filter_timestamp', + 'option' => 'string', + 'help' => t('This filter allows nodes to be filtered by the time they were added to a given NodeQueue.') .' '. views_t_strings('filter date'), + ), ), "sorts" => array( "position" => array( @@ -1037,6 +1056,12 @@ function nodequeue_views_tables() { 'field' => 'position', 'help' => t('When sorting by queue position, be sure the view is filtered to a single queue or the sort will not work very well.'), ), + 'timestamp' => array( + 'name' => t('NodeQueue: Timestamp'), + 'handler' => 'views_handler_sort_date', + 'option' => views_handler_sort_date_options(), + 'help' => t('Sort by the time the node was added to a node queue.'), + ), ), ); $tables['nodequeue_queue'] = array( Index: modules/nodequeue/nodequeue.install =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/nodequeue/nodequeue.install,v retrieving revision 1.3.2.4 diff -u -p -r1.3.2.4 nodequeue.install --- modules/nodequeue/nodequeue.install 6 Feb 2007 15:44:25 -0000 1.3.2.4 +++ modules/nodequeue/nodequeue.install 15 Jun 2007 05:27:11 -0000 @@ -28,6 +28,7 @@ function nodequeue_install() { qid int(10) unsigned NOT NULL, nid int(10) unsigned, position int(3) unsigned + timestamp int NOT NULL default '0', )"); $success = TRUE; break; @@ -88,3 +89,9 @@ function nodequeue_update_2() { $ret[] = update_sql("ALTER TABLE {nodequeue_queue} ADD COLUMN link VARCHAR(40) DEFAULT '' NOT NULL"); return $ret; } + +function nodequeue_update_3() { + $ret = array(); + $ret[] = update_sql("ALTER TABLE {nodequeue_nodes} ADD COLUMN timestamp int DEFAULT '0' NOT NULL"); + return $ret; +}