mirror of
				https://github.com/librenms/librenms.git
				synced 2024-10-07 16:52:45 +00:00 
			
		
		
		
	Travis tests for code conformance. Ignore warnings for now. Fixed all errors, left most warnings.
		
			
				
	
	
		
			123 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			123 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| /*
 | |
|  * LibreNMS
 | |
|  *
 | |
|  * Copyright (c) 2014 Neil Lathwood <https://github.com/laf/ http://www.lathwood.co.uk/fa>
 | |
|  *
 | |
|  * This program is free software: you can redistribute it and/or modify it
 | |
|  * under the terms of the GNU General Public License as published by the
 | |
|  * Free Software Foundation, either version 3 of the License, or (at your
 | |
|  * option) any later version.  Please see LICENSE.txt at the top level of
 | |
|  * the source code distribution for details.
 | |
|  */
 | |
| 
 | |
| if (empty($results_limit)) {
 | |
|     $results_limit = 25;
 | |
| }
 | |
| $tmp_output = '<h3>Graylog</h3>
 | |
| 
 | |
| <div class="table-responsive">
 | |
|     <table id="graylog" class="table table-hover table-condensed graylog">
 | |
|         <thead>
 | |
|             <tr>
 | |
|                 <th data-column-id="timestamp">Timestamp</th>
 | |
|                 <th data-column-id="source">Source</th>
 | |
|                 <th data-column-id="message">Message</th>
 | |
|                 <th data-column-id="facility" data-visible="false">Facility</th>
 | |
|                 <th data-column-id="level" data-visible="false">Level</th>
 | |
|             </tr>
 | |
|         </thead>
 | |
|     </table>
 | |
| </div>
 | |
| 
 | |
| <script>
 | |
| 
 | |
| searchbar = "<div id=\"{{ctx.id}}\" class=\"{{css.header}}\"><div class=\"row\">"+
 | |
|             "<div class=\"col-sm-8\"><form method=\"post\" action=\"\" class=\"form-inline\">"+
 | |
|             "Filter: "+
 | |
| ';
 | |
| 
 | |
| if (!empty($filter_device)) {
 | |
|     $tmp_output .= '
 | |
|             "<input type=\"hidden\" name=\"hostname\" id=\"hostname\" value=\"'. $filter_device .'\">"+
 | |
| ';
 | |
| } else {
 | |
|     $tmp_output .= '
 | |
|             "<div class=\"form-group\"><select name=\"hostname\" id=\"hostname\" class=\"form-control input-sm\">"+
 | |
|             "<option value=\"\">All devices</option>"+
 | |
| ';
 | |
| 
 | |
|     if (is_admin() === true || is_read() === true) {
 | |
|         $results = dbFetchRows("SELECT `hostname` FROM `devices` GROUP BY `hostname` ORDER BY `hostname`");
 | |
|     } else {
 | |
|         $results = dbFetchRows("SELECT `D`.`hostname` FROM `devices` AS `D`, `devices_perms` AS `P` WHERE `P`.`user_id` = ? AND `P`.`device_id` = `D`.`device_id` GROUP BY `hostname` ORDER BY `hostname`", array($_SESSION['user_id']));
 | |
|     }
 | |
| 
 | |
|     foreach ($results as $data) {
 | |
|         $tmp_output .= '"<option value=\"'.$data['hostname'].'\""+';
 | |
|         if ($data['hostname'] == $vars['hostname']) {
 | |
|             $tmp_output .= '"selected"+';
 | |
|         }
 | |
|         $tmp_output .= '">'.$data['hostname'].'</option>"+';
 | |
|     }
 | |
| 
 | |
|     $tmp_output .= '
 | |
|                 "</select> </div>"+
 | |
| ';
 | |
| }
 | |
| 
 | |
| if (empty($filter_device)) {
 | |
|     $filter_device = mres($_POST['hostname']);
 | |
| }
 | |
| 
 | |
| $tmp_output .= '
 | |
|                 "<div class=\"form-group\"><select name=\"range\" class=\"form-group input-sm\">"+
 | |
|                 "<option value=\"300\">Search last 5 minutes</option>"+
 | |
|                 "<option value=\"900\">Search last 15 minutes</option>"+
 | |
|                 "<option value=\"1800\">Search last 30 minutes</option>"+
 | |
|                 "<option value=\"3600\">Search last 1 hour</option>"+
 | |
|                 "<option value=\"7200\">Search last 2 hours</option>"+
 | |
|                 "<option value=\"28800\">Search last 8 hours</option>"+
 | |
|                 "<option value=\"86400\">Search last 1 day</option>"+
 | |
|                 "<option value=\"172800\">Search last 2 days</option>"+
 | |
|                 "<option value=\"432000\">Search last 5 days</option>"+
 | |
|                 "<option value=\"604800\">Search last 7 days</option>"+
 | |
|                 "<option value=\"1209600\">Search last 14 days</option>"+
 | |
|                 "<option value=\"2592000\">Search last 30 days</option>"+
 | |
|                 "<option value=\"0\">Search all time</option>"+
 | |
|                 "</select> </div>"+
 | |
|                 "<button type=\"submit\" class=\"btn btn-success btn-sm\">Filter</button> "+
 | |
|                 "</form></div>"+
 | |
|                 "<div class=\"col-sm-4 actionBar\"><p class=\"{{css.search}}\"></p><p class=\"{{css.actions}}\"></p></div></div></div>"
 | |
| 
 | |
|     var graylog_grid = $("#graylog").bootgrid({
 | |
|         ajax: true,
 | |
|         rowCount: ['. $results_limit .', 25,50,100,250,-1],
 | |
| ';
 | |
| 
 | |
| if ($no_form !== true) {
 | |
|     $tmp_output .= '
 | |
|         templates: {
 | |
|             header: searchbar
 | |
|         },
 | |
|     ';
 | |
| }
 | |
| 
 | |
| $tmp_output .= '
 | |
|         post: function ()
 | |
|         {
 | |
|             return {
 | |
|                 id: "graylog",
 | |
|                 hostname: "' . $filter_device . '",
 | |
|                 range: "' . mres($_POST['range'])  . '"
 | |
|             };
 | |
|         },
 | |
|         url: "ajax_table.php",
 | |
|     });
 | |
| </script>
 | |
| 
 | |
| ';
 | |
| 
 | |
| $common_output[] = $tmp_output;
 |