4040
4141if (get_request_var ('action ' ) == 'ajax_programs ' ) {
4242 return get_ajax_programs (true );
43+ } elseif (get_request_var ('action ' ) == 'ajax_programs_wnone ' ) {
44+ return get_ajax_programs (true , true );
4345}
4446
4547$ title = __ ('Syslog Viewer ' , 'syslog ' );
@@ -194,19 +196,17 @@ function syslog_statistics() {
194196 'default ' => '' ,
195197 ),
196198 'facility ' => array (
197- 'filter ' => FILTER_CALLBACK ,
199+ 'filter ' => FILTER_VALIDATE_INT ,
198200 'pageset ' => true ,
199201 'default ' => '' ,
200- 'options ' => array ('options ' => 'sanitize_search_string ' )
201202 ),
202203 'priority ' => array (
203- 'filter ' => FILTER_CALLBACK ,
204+ 'filter ' => FILTER_VALIDATE_INT ,
204205 'pageset ' => true ,
205206 'default ' => '' ,
206- 'options ' => array ('options ' => 'sanitize_search_string ' )
207207 ),
208- 'eprogram ' => array (
209- 'filter ' => FILTER_CALLBACK ,
208+ 'program ' => array (
209+ 'filter ' => FILTER_VALIDATE_INT ,
210210 'pageset ' => true ,
211211 'default ' => '' ,
212212 'options ' => array ('options ' => 'sanitize_search_string ' )
@@ -482,7 +482,7 @@ function syslog_stats_filter() {
482482 ?>
483483 </select>
484484 </td>
485- <?php print html_program_filter (get_request_var ('eprogram ' ) );?>
485+ <?php print html_program_filter (get_request_var ('program ' ), true , ' ajax_programs_wnone ' );?>
486486 <td>
487487 <span>
488488 <input id='go' type='button' value='<?php print __esc ('Go ' , 'syslog ' );?> '>
@@ -563,10 +563,11 @@ function clearFilter() {
563563
564564 function applyFilter() {
565565 strURL = 'syslog.php?header=false';
566+ strURL += '&none=true';
566567 strURL += '&facility=' + $('#facility').val();
567568 strURL += '&host=' + $('#host').val();
568569 strURL += '&priority=' + $('#priority').val();
569- strURL += '&program=' + $('#program ').val();
570+ strURL += '&program=' + $('#eprogram ').val();
570571 strURL += '×pan=' + $('#timespan').val();
571572 strURL += '&filter=' + $('#filter').val();
572573 strURL += '&rows=' + $('#rows').val();
@@ -662,10 +663,9 @@ function syslog_request_validation($current_tab, $force = false) {
662663 'options ' => array ('options ' => 'sanitize_search_string ' )
663664 ),
664665 'eprogram ' => array (
665- 'filter ' => FILTER_CALLBACK ,
666+ 'filter ' => FILTER_VALIDATE_INT ,
666667 'pageset ' => true ,
667668 'default ' => read_user_setting ('syslog_eprogram ' , '-1 ' , $ force ),
668- 'options ' => array ('options ' => 'sanitize_search_string ' )
669669 ),
670670 'filter ' => array (
671671 'filter ' => FILTER_DEFAULT ,
@@ -1363,7 +1363,7 @@ function timeshiftFilterRight() {
13631363 <table class='filterTable'>
13641364 <tr>
13651365 <?php api_plugin_hook ('syslog_extend_filter ' );?>
1366- <?php html_program_filter (get_request_var ('eprogram ' ));?>
1366+ <?php html_program_filter (get_request_var ('eprogram ' ), false );?>
13671367 <td>
13681368 <?php print __ ('Facility ' , 'syslog ' );?>
13691369 </td>
@@ -1735,7 +1735,7 @@ function save_settings() {
17351735 syslog_request_validation ($ current_tab , true );
17361736}
17371737
1738- function html_program_filter ($ program_id = '-1 ' , $ call_back = 'applyFilter ' , $ sql_where = '' ) {
1738+ function html_program_filter ($ program_id = '-1 ' , $ none_entry , $ action = ' ajax_programs ' , $ call_back = 'applyFilter ' , $ sql_where = '' ) {
17391739 if (strpos ($ call_back , '() ' ) === false ) {
17401740 $ call_back .= '() ' ;
17411741 }
@@ -1744,6 +1744,8 @@ function html_program_filter($program_id = '-1', $call_back = 'applyFilter', $sq
17441744 $ program = syslog_db_fetch_cell ("SELECT program
17451745 FROM syslog_programs
17461746 WHERE program_id = $ program_id " );
1747+ } elseif ($ program_id == -2 ) {
1748+ $ program = __ ('None ' , 'syslog ' );
17471749 } else {
17481750 $ program = __ ('All Programs ' , 'syslog ' );
17491751 }
@@ -1753,15 +1755,21 @@ function html_program_filter($program_id = '-1', $call_back = 'applyFilter', $sq
17531755 print '</td> ' ;
17541756 print '<td> ' ;
17551757
1758+ if ($ none_entry ) {
1759+ $ none_entry = __ ('None ' , 'syslog ' );
1760+ } else {
1761+ $ none_entry = '' ;
1762+ }
1763+
17561764 syslog_form_callback (
17571765 'eprogram ' ,
17581766 'SELECT DISTINCT program_id, program FROM syslog_programs AS spr ORDER BY program ' ,
17591767 'program ' ,
17601768 'program_id ' ,
1761- ' ajax_programs ' ,
1769+ $ action ,
17621770 $ program_id ,
17631771 $ program ,
1764- __ ( ' All Programs ' , ' syslog ' ) ,
1772+ $ none_entry ,
17651773 __ ('All Programs ' , 'syslog ' ),
17661774 '' ,
17671775 $ call_back
@@ -1770,7 +1778,7 @@ function html_program_filter($program_id = '-1', $call_back = 'applyFilter', $sq
17701778 print '</td> ' ;
17711779}
17721780
1773- function get_ajax_programs ($ include_any = true , $ sql_where = '' ) {
1781+ function get_ajax_programs ($ include_any = true , $ include_none = false , $ sql_where = '' ) {
17741782 $ return = array ();
17751783
17761784 $ term = get_filter_request_var ('term ' , FILTER_CALLBACK , array ('options ' => 'sanitize_search_string ' ));
@@ -1786,6 +1794,14 @@ function get_ajax_programs($include_any = true, $sql_where = '') {
17861794 'id ' => '-1 '
17871795 );
17881796 }
1797+
1798+ if ($ include_none ) {
1799+ $ return [] = array (
1800+ 'label ' => __ ('None ' , 'syslog ' ),
1801+ 'value ' => __ ('None ' , 'syslog ' ),
1802+ 'id ' => '-2 '
1803+ );
1804+ }
17891805 }
17901806
17911807 $ programs = syslog_db_fetch_assoc ("SELECT program_id, program
@@ -1834,7 +1850,7 @@ function syslog_form_callback($form_name, $classic_sql, $column_display, $column
18341850 print "<select id=' " . html_escape ($ form_name ) . "' name=' " . html_escape ($ form_name ) . "' " . $ class . ($ on_change != '' ? "onChange=' $ on_change' " :'' ) . '> ' ;
18351851
18361852 if (!empty ($ none_entry )) {
1837- print "<option value='-1 ' " . (empty ($ previous_value ) ? ' selected ' : '' ) . "> $ none_entry</option> " ;
1853+ print "<option value='-2 ' " . (empty ($ previous_value ) ? ' selected ' : '' ) . "> $ none_entry</option> " ;
18381854 }
18391855
18401856 $ form_data = syslog_db_fetch_assoc ($ classic_sql );
0 commit comments