diff --git a/sites/all/modules/recently_read/recently_read.install b/sites/all/modules/recently_read/recently_read.install index a8d80a3..eb0511d 100644 --- a/sites/all/modules/recently_read/recently_read.install +++ b/sites/all/modules/recently_read/recently_read.install @@ -40,6 +40,13 @@ function recently_read_schema() { 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0 + ), + 'views' => array( + 'description' => 'The number of times that the node has been read.', + 'type' => 'int', + 'unsigned' => TRUE, + 'not null' => TRUE, + 'default' => 1 ) ), 'primary key' => array('nid', 'uid') diff --git a/sites/all/modules/recently_read/recently_read.module b/sites/all/modules/recently_read/recently_read.module index 71f1930..18d61f1 100644 --- a/sites/all/modules/recently_read/recently_read.module +++ b/sites/all/modules/recently_read/recently_read.module @@ -110,7 +110,7 @@ function recently_read_exit() { drupal_bootstrap(DRUPAL_BOOTSTRAP_PATH); // track history for authenticated user - if ((arg(0) == 'node') && is_numeric(arg(1)) && arg(2) == '') { + if ((arg(0) == 'node') && is_numeric(arg(1))) { // && arg(2) == '') { $nid = arg(1); // get node type @@ -124,16 +124,18 @@ function recently_read_exit() { $record->uid = $user->uid; $record->timestamp = time(); - $count = db_result(db_query( - 'SELECT COUNT(*) FROM {recently_read_nodes} WHERE nid = %d AND uid = %d AND type = "%s"', + $views = db_result(db_query( + 'SELECT views FROM {recently_read_nodes} WHERE nid = %d AND uid = %d AND type = "%s"', $nid, $user->uid, $type )); // a node has been viewed before, make an update - if ($count > 0) { + if (db_affected_rows()) { + $record->views = $views + 1; drupal_write_record('recently_read_nodes', $record, array('nid', 'uid')); } // a node has not been viewed before, add new row else { + $record->views = 1; drupal_write_record('recently_read_nodes', $record); } }