--- \\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 .= "
"; + $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)) {