mirror of
				https://github.com/librenms/librenms.git
				synced 2024-10-07 16:52:45 +00:00 
			
		
		
		
	Convert processors page to use bootgrid
- Based on @laf code from the storage page
This commit is contained in:
		@@ -1,83 +1,37 @@
 | 
			
		||||
<?php
 | 
			
		||||
<div class="table-responsive">
 | 
			
		||||
    <table id="processor" class="table table-hover table-condensed processor">
 | 
			
		||||
        <thead>
 | 
			
		||||
            <tr>
 | 
			
		||||
                <th data-column-id="hostname">Device</th>
 | 
			
		||||
                <th data-column-id="processor_descr">Processor</th>
 | 
			
		||||
                <th data-column-id="graph" data-sortable="false" data-searchable="false"></th>
 | 
			
		||||
                <th data-column-id="processor_usage" data-searchable="false">Usage</th>
 | 
			
		||||
            </tr>
 | 
			
		||||
        </thead>
 | 
			
		||||
    </table>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
$graph_type = "processor_usage";
 | 
			
		||||
 | 
			
		||||
echo("<div style='margin-top: 5px; padding: 0px;'>");
 | 
			
		||||
echo("  <table class='table table-condensed'>");
 | 
			
		||||
 | 
			
		||||
echo("<tr>
 | 
			
		||||
        <th>Device</th>
 | 
			
		||||
        <th>Processor</th>
 | 
			
		||||
        <th></th>
 | 
			
		||||
        <th>Usage</th>
 | 
			
		||||
      </tr>");
 | 
			
		||||
 | 
			
		||||
foreach (dbFetchRows("SELECT * FROM `processors` AS P, `devices` AS D WHERE D.device_id = P.device_id ORDER BY D.hostname") as $proc)
 | 
			
		||||
{
 | 
			
		||||
  if (device_permitted($proc['device_id']))
 | 
			
		||||
  {
 | 
			
		||||
    $device = $proc;
 | 
			
		||||
 | 
			
		||||
    // FIXME should that really be done here? :-)
 | 
			
		||||
    $text_descr = $proc['processor_descr'];
 | 
			
		||||
    $text_descr = str_replace("Routing Processor", "RP", $text_descr);
 | 
			
		||||
    $text_descr = str_replace("Switching Processor", "SP", $text_descr);
 | 
			
		||||
    $text_descr = str_replace("Sub-Module", "Module ", $text_descr);
 | 
			
		||||
    $text_descr = str_replace("DFC Card", "DFC", $text_descr);
 | 
			
		||||
 | 
			
		||||
    $proc_url   = "device/device=".$device['device_id']."/tab=health/metric=processor/";
 | 
			
		||||
 | 
			
		||||
    $mini_url = "graph.php?id=".$proc['processor_id']."&type=".$graph_type."&from=".$config['time']['day']."&to=".$config['time']['now']."&width=80&height=20&bg=f4f4f400";
 | 
			
		||||
 | 
			
		||||
    $proc_popup  = "onmouseover=\"return overlib('<div class=list-large>".$device['hostname']." - ".$text_descr;
 | 
			
		||||
    $proc_popup .= "</div><img src=\'graph.php?id=" . $proc['processor_id'] . "&type=".$graph_type."&from=".$config['time']['month']."&to=".$config['time']['now']."&width=400&height=125\'>";
 | 
			
		||||
    $proc_popup .= "', RIGHT".$config['overlib_defaults'].");\" onmouseout=\"return nd();\"";
 | 
			
		||||
 | 
			
		||||
    $perc = round($proc['processor_usage']);
 | 
			
		||||
 | 
			
		||||
    $background = get_percentage_colours($perc);
 | 
			
		||||
 | 
			
		||||
    echo("    <tr class=\"health\">
 | 
			
		||||
               <td>".generate_device_link($proc)."</td>
 | 
			
		||||
               <td class=\"tablehead\"><a href='".$proc_url."' $proc_popup>" . $text_descr . "</a></td>
 | 
			
		||||
               <td width=\"90\"><a href=\"".$proc_url."\"  $proc_popup><img src=\"$mini_url\" /></a></td>
 | 
			
		||||
               <td width=\"200\"><a href=\"".$proc_url."\" $proc_popup>
 | 
			
		||||
           ".print_percentage_bar (400, 20, $perc, $perc."%", "ffffff", $background['left'], (100 - $perc)."%" , "ffffff", $background['right']));
 | 
			
		||||
    echo('</a></td>
 | 
			
		||||
             </tr>');
 | 
			
		||||
 | 
			
		||||
    if ($vars['view'] == "graphs")
 | 
			
		||||
    {
 | 
			
		||||
      echo('    <tr></tr><tr class="health"><td colspan="5">');
 | 
			
		||||
 | 
			
		||||
      $daily_graph   = "graph.php?id=" . $proc['processor_id'] . "&type=".$graph_type."&from=".$config['time']['day']."&to=".$config['time']['now']."&width=211&height=100";
 | 
			
		||||
      $daily_url     = "graph.php?id=" . $proc['processor_id'] . "&type=".$graph_type."&from=".$config['time']['day']."&to=".$config['time']['now']."&width=400&height=150";
 | 
			
		||||
 | 
			
		||||
      $weekly_graph  = "graph.php?id=" . $proc['processor_id'] . "&type=".$graph_type."&from=".$config['time']['week']."&to=".$config['time']['now']."&width=211&height=100";
 | 
			
		||||
      $weekly_url    = "graph.php?id=" . $proc['processor_id'] . "&type=".$graph_type."&from=".$config['time']['week']."&to=".$config['time']['now']."&width=400&height=150";
 | 
			
		||||
 | 
			
		||||
      $monthly_graph = "graph.php?id=" . $proc['processor_id'] . "&type=".$graph_type."&from=".$config['time']['month']."&to=".$config['time']['now']."&width=211&height=100";
 | 
			
		||||
      $monthly_url   = "graph.php?id=" . $proc['processor_id'] . "&type=".$graph_type."&from=".$config['time']['month']."&to=".$config['time']['now']."&width=400&height=150";
 | 
			
		||||
 | 
			
		||||
      $yearly_graph  = "graph.php?id=" . $proc['processor_id'] . "&type=".$graph_type."&from=".$config['time']['year']."&to=".$config['time']['now']."&width=211&height=100";
 | 
			
		||||
      $yearly_url    = "graph.php?id=" . $proc['processor_id'] . "&type=".$graph_type."&from=".$config['time']['year']."&to=".$config['time']['now']."&width=400&height=150";
 | 
			
		||||
 | 
			
		||||
      echo("      <a onmouseover=\"return overlib('<img src=\'$daily_url\'>', LEFT);\" onmouseout=\"return nd();\">
 | 
			
		||||
        <img src=\"$daily_graph\" border=\"0\"></a> ");
 | 
			
		||||
      echo("      <a onmouseover=\"return overlib('<img src=\'$weekly_url\'>', LEFT);\" onmouseout=\"return nd();\">
 | 
			
		||||
        <img src=\"$weekly_graph\" border=\"0\"></a> ");
 | 
			
		||||
      echo("      <a onmouseover=\"return overlib('<img src=\'$monthly_url\'>', LEFT);\" onmouseout=\"return nd();\">
 | 
			
		||||
        <img src=\"$monthly_graph\" border=\"0\"></a> ");
 | 
			
		||||
      echo("      <a onmouseover=\"return overlib('<img src=\'$yearly_url\'>', LEFT);\" onmouseout=\"return nd();\">
 | 
			
		||||
        <img src=\"$yearly_graph\" border=\"0\"></a>");
 | 
			
		||||
      echo("  </td>
 | 
			
		||||
  </tr>");
 | 
			
		||||
 | 
			
		||||
    } #end graphs if
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
echo("</table>");
 | 
			
		||||
echo("</div>");
 | 
			
		||||
 | 
			
		||||
?>
 | 
			
		||||
<script>
 | 
			
		||||
    var grid = $("#processor").bootgrid({
 | 
			
		||||
        ajax: true,
 | 
			
		||||
        rowCount: [50,100,250,-1],
 | 
			
		||||
        post: function ()
 | 
			
		||||
        {
 | 
			
		||||
            return {
 | 
			
		||||
                id: "processor",
 | 
			
		||||
                view: '<?php echo $vars['view']; ?>'
 | 
			
		||||
            };
 | 
			
		||||
        },
 | 
			
		||||
        url: "/ajax_table.php",
 | 
			
		||||
        formatters: {
 | 
			
		||||
            "status": function(column,row) {
 | 
			
		||||
                return "<h4><span class='label label-"+row.extra+" threeqtr-width'>" + row.msg + "</span></h4>";
 | 
			
		||||
            },
 | 
			
		||||
            "ack": function(column,row) {
 | 
			
		||||
                return "<button type='button' class='btn btn-"+row.ack_col+" btn-sm command-ack-alert' data-target='#ack-alert' data-state='"+row.state+"' data-alert_id='"+row.alert_id+"' name='ack-alert' id='ack-alert' data-extra='"+row.extra+"'><span class='glyphicon glyphicon-"+row.ack_ico+"'aria-hidden='true'></span></button>";
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        templates: {
 | 
			
		||||
        }
 | 
			
		||||
    });
 | 
			
		||||
</script>
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user