--- \\Ninjapanda\webvcr\drupal-4.6.0\modules\forum.module	Sun Jun 12 18:28:39 2005
+++ \\Ninjapanda\webvcr\modules\forum.module	Sun Jun 12 18:36:47 2005
@@ -794,7 +794,14 @@
     else {
       $output .= '<li>'. t('<a href="%login">Login</a> to post a new forum topic.', array('%login' => url('user/login'))) .'</li>';
     }
-    $output .= '</ul>';
+    if ($user && $user->uid)  {
+      if (!$tid)  {
+        $output .= '<li>'. l(t('Mark all content read.'), "node/readall") .'</li>';
+      } else {
+        $output .= '<li>'. l(t('Mark this forum read.'), "node/readall/$tid") .'</li>';
+      } 
+    }
+    $output .= '</ul></div><div class="clear">&nbsp;</div>';
 
     $output .= theme('forum_list', $forums, $parents, $tid);
 
--- \\Ninjapanda\webvcr\drupal-4.6.0\modules\node.module	Sun Jun 12 18:28:39 2005
+++ \\Ninjapanda\webvcr\modules\node.module	Sun Jun 12 18:37:44 2005
@@ -687,6 +687,10 @@
       'access' => user_access('access content'),
       'type' => MENU_ITEM_GROUPING,
       'weight' => 1);
+    $items[] = array('path' => 'node/readall', 'title' => t('mark all content read'),
+      'callback' => 'node_mark_all_read',
+      'access' => user_access('access content'),
+      'type' => MENU_CALLBACK);
   }
   else {
     if (arg(0) == 'node' && is_numeric(arg(1))) {
@@ -1985,5 +1989,19 @@
 /**
  * @} End of "defgroup node_access".
  */
+
+function node_mark_all_read($tid = 0)  {
+  global $user;
+  if ($user && $user->uid)  {
+    if (is_numeric($tid) && $tid)  {
+      db_query("REPLACE INTO {history} (uid,nid,timestamp) SELECT '%d',n.nid,UNIX_TIMESTAMP() from {node} n INNER JOIN {term_node} r ON n.nid=r.nid INNER JOIN {node_comment_statistics} l ON l.nid=n.nid WHERE (n.created > '%d' OR l.last_comment_timestamp > '%d') AND r.tid='%d'", $user->uid,NODE_NEW_LIMIT,NODE_NEW_LIMIT,$tid);
+      drupal_goto("forum/$tid");
+    } else {
+      db_query("REPLACE INTO {history} (uid,nid,timestamp) SELECT '%d',n.nid,UNIX_TIMESTAMP() from {node} n INNER JOIN {node_comment_statistics} l ON l.nid=n.nid WHERE (n.created > '%d' OR l.last_comment_timestamp > '%d')", $user->uid,NODE_NEW_LIMIT,NODE_NEW_LIMIT);
+      drupal_goto("forum");
+    }
+    print theme('page',"All content has been marked read");
+  }
+}
 
 ?>
