--- \\Ninjapanda\webvcr\drupal-4.6.0\modules\watchdog.module	Sun Jun 12 18:28:39 2005
+++ \\Ninjapanda\webvcr\modules\watchdog.module	Sun Jun 12 18:52:12 2005
@@ -65,6 +65,7 @@
                  WATCHDOG_WARNING => theme('image', 'misc/watchdog-warning.png', t('warning'), t('warning')),
                  WATCHDOG_ERROR   => theme('image', 'misc/watchdog-error.png', t('error'), t('error')));
   $classes = array(WATCHDOG_NOTICE => 'watchdog-notice', WATCHDOG_WARNING => 'watchdog-warning', WATCHDOG_ERROR => 'watchdog-error');
+  $severity = array(WATCHDOG_NOTICE => t('notice'), WATCHDOG_WARNING => t('warning'), WATCHDOG_ERROR => t('error'));
 
   $names['all'] = t('all messages');
   $queries['all'] = '';
@@ -80,10 +81,37 @@
   $op = $_POST['op'];
   if ($op == t('Filter') && isset($_POST['edit']['filter'])) {
     $_SESSION['watchdog_overview_filter'] = $_POST['edit']['filter'];
+  } 
+  if (isset($_POST['edit']['search'])) {
+    $_SESSION['watchdog_overview_search'] = $_POST['edit']['search'];
+  }
+
+  if (!empty($_SESSION['watchdog_overview_search']))  {
+    if (empty($_SESSION['watchdog_overview_filter']))  {
+      $search_query = " WHERE ";
+    } else {
+      $search_query = " AND ";
+    }
+    $severity_found = -1;
+    foreach($severity as $severity_num => $severity_desc)  {
+      if (strcasecmp($severity_desc,$_SESSION['watchdog_overview_search']) == 0)  {
+        $severity_found = $severity_num;
+        break;
+      }
+    }
+    $search_query .= " (w.message LIKE '%".$_SESSION['watchdog_overview_search']."%' OR w.hostname LIKE '%".$_SESSION['watchdog_overview_search']."%' OR u.name LIKE '%".$_SESSION['watchdog_overview_search']."%'";
+    if ($severity_found != -1)  {
+      $search_query .= " OR w.severity=$severity_found)";
+    } else {
+      $search_query .= ")";
+    }
   }
 
   $form  = form_select(t('Filter by message type'), 'filter', $_SESSION['watchdog_overview_filter'], $names);
   $form .= form_submit(t('Filter'));
+  $form .= "<br />";
+  $form .= form_textfield(t('Search message logs'), 'search', $_SESSION['watchdog_overview_search'],29,100);
+  $form .= form_submit(t('Search'));
 
   $header = array(
     ' ',
@@ -93,7 +121,7 @@
     array('data' => t('User'), 'field' => 'u.name'),
     array('data' => t('Operations'), 'colspan' => '2')
   );
-  $sql = 'SELECT w.*, u.name, u.uid FROM {watchdog} w INNER JOIN {users} u ON w.uid = u.uid '. $queries[$_SESSION['watchdog_overview_filter']] . tablesort_sql($header);
+  $sql = 'SELECT w.*, u.name, u.uid FROM {watchdog} w INNER JOIN {users} u ON w.uid = u.uid '. $queries[$_SESSION['watchdog_overview_filter']] . $search_query . tablesort_sql($header);
   $result = pager_query($sql, 50);
 
   while ($watchdog = db_fetch_object($result)) {
