apply lazyload patch

This commit is contained in:
Clint Armstrong
2015-07-16 12:42:58 -04:00
parent ef35ee1adc
commit b5e8998c70
23 changed files with 52 additions and 24 deletions

View File

@@ -30,6 +30,12 @@ LibreNMS ships with the following software components:
Mark Gibbons <mgibbons@oemcomp.com>
Initial code base submited via PR721
- Jquery LazyLoad
http://www.appelsiini.net/projects/lazyload
Mika Tuupola <tuupola@appelsiini.net> (@tuupola on github)
MIT License
Other components (needs details filled in):
- JpGraph (html/includes/jpgraph): QPL 1.0 license

View File

@@ -256,7 +256,7 @@ function overlib_link($url, $text, $contents, $class) {
$output .= '>';
}
else {
$output .= " onmouseover=\"return overlib('".$contents."'".$config['overlib_defaults'].', WRAP,HAUTO,VAUTO);" onmouseout="return nd();">';
$output .= " onmouseover=\"return overlib('".$contents."'".$config['overlib_defaults'].",WRAP,HAUTO,VAUTO); \" onmouseout=\"return nd();\">";
}
$output .= $text.'</a>';
@@ -430,6 +430,26 @@ function generate_graph_tag($args) {
}//end generate_graph_tag()
function generate_lazy_graph_tag($args) {
$urlargs = array();
$w = 0;
$h = 0;
foreach ($args as $key => $arg) {
switch (strtolower($key)) {
case 'width':
$w = $arg;
break;
case 'height':
$h = $arg;
break;
}
$urlargs[] = $key."=".urlencode($arg);
}
return '<img class="lazy" width="'.$w.'" height="'.$h.'" data-original="graph.php?' . implode('&amp;',$urlargs).'" border="0" />';
}//end generate_lazy_graph_tag()
function generate_graph_js_state($args) {
// we are going to assume we know roughly what the graph url looks like here.

View File

@@ -52,9 +52,9 @@ foreach ($periods as $period) {
$link = generate_url($link_array);
if ($return_data === true) {
$graph_data[] = overlib_link($link, generate_graph_tag($graph_array), generate_graph_tag($graph_array_zoom), null);
$graph_data[] = overlib_link($link, generate_lazy_graph_tag($graph_array), generate_graph_tag($graph_array_zoom), NULL);
}
else {
echo overlib_link($link, generate_graph_tag($graph_array), generate_graph_tag($graph_array_zoom), null);
echo(overlib_link($link, generate_lazy_graph_tag($graph_array), generate_graph_tag($graph_array_zoom), NULL));
}
}

View File

@@ -49,7 +49,7 @@ foreach (dbFetchRows($sql, $param) as $mempool) {
$graph_array_zoom['height'] = '150';
$graph_array_zoom['width'] = '400';
$link = 'graphs/id='.$graph_array['id'].'/type='.$graph_array['type'].'/from='.$graph_array['from'].'/to='.$graph_array['to'].'/';
$mini_graph = overlib_link($link, generate_graph_tag($graph_array), generate_graph_tag($graph_array_zoom), null);
$mini_graph = overlib_link($link, generate_lazy_graph_tag($graph_array), generate_graph_tag($graph_array_zoom), NULL);
$background = get_percentage_colours($perc);
$bar_link = overlib_link($link, print_percentage_bar(400, 20, $perc, "$used / $total", 'ffffff', $background['left'], $free, 'ffffff', $background['right']), generate_graph_tag($graph_array_zoom), null);

View File

@@ -46,7 +46,7 @@ foreach (dbFetchRows($sql, $param) as $processor) {
$graph_array_zoom['height'] = '150';
$graph_array_zoom['width'] = '400';
$link = 'graphs/id='.$graph_array['id'].'/type='.$graph_array['type'].'/from='.$graph_array['from'].'/to='.$graph_array['to'].'/';
$mini_graph = overlib_link($link, generate_graph_tag($graph_array), generate_graph_tag($graph_array_zoom), null);
$mini_graph = overlib_link($link, generate_lazy_graph_tag($graph_array), generate_graph_tag($graph_array_zoom), NULL);
$background = get_percentage_colours($perc);
$bar_link = overlib_link($link, print_percentage_bar(400, 20, $perc, $perc.'%', 'ffffff', $background['left'], (100 - $perc).'%', 'ffffff', $background['right']), generate_graph_tag($graph_array_zoom), null);

View File

@@ -58,7 +58,7 @@ foreach (dbFetchRows($sql, $param) as $drive) {
$graph_array_zoom['height'] = '150';
$graph_array_zoom['width'] = '400';
$link = 'graphs/id='.$graph_array['id'].'/type='.$graph_array['type'].'/from='.$graph_array['from'].'/to='.$graph_array['to'].'/';
$mini_graph = overlib_link($link, generate_graph_tag($graph_array), generate_graph_tag($graph_array_zoom), null);
$mini_graph = overlib_link($link, generate_lazy_graph_tag($graph_array), generate_graph_tag($graph_array_zoom), NULL);
$background = get_percentage_colours($perc);
$bar_link = overlib_link($link, print_percentage_bar(400, 20, $perc, "$used / $total", 'ffffff', $background['left'], $free, 'ffffff', $background['right']), generate_graph_tag($graph_array_zoom), null);

View File

@@ -155,6 +155,8 @@ else {
<script src="js/jquery.bootgrid.min.js"></script>
<script src="js/handlebars.min.js"></script>
<script src="js/pace.min.js"></script>
<script src="js/jquery.lazyload.min.js"></script>
<script src="js/lazyload.js"></script>
<script type="text/javascript">
<!-- Begin

View File

@@ -31,7 +31,7 @@ foreach ($app_devices as $app_device) {
$link = generate_url(array('page' => 'device', 'device' => $app_device['device_id'], 'tab' => 'apps', 'app' => $vars['app']));
echo overlib_link($link, generate_graph_tag($graph_array), generate_graph_tag($graph_array_zoom), null);
echo overlib_link($link, generate_lazy_graph_tag($graph_array), generate_graph_tag($graph_array_zoom), NULL);
}
echo '</td>';

View File

@@ -24,7 +24,7 @@ foreach (dbFetchRows('SELECT * FROM `hrDevice` WHERE `device_id` = ? ORDER BY `h
$graph_array_zoom['height'] = '150';
$graph_array_zoom['width'] = '400';
$mini_graph = overlib_link($proc_url, generate_graph_tag($graph_array), generate_graph_tag($graph_array_zoom), null);
$mini_graph = overlib_link($proc_url, generate_lazy_graph_tag($graph_array), generate_graph_tag($graph_array_zoom), NULL);
echo '<td>'.$mini_graph.'</td>';
}
@@ -45,7 +45,7 @@ foreach (dbFetchRows('SELECT * FROM `hrDevice` WHERE `device_id` = ? ORDER BY `h
$graph_array_zoom['width'] = '400';
// FIXME click on graph should also link to port, but can't use generate_port_link here...
$mini_graph = overlib_link(generate_port_url($interface), generate_graph_tag($graph_array), generate_graph_tag($graph_array_zoom), null);
$mini_graph = overlib_link(generate_port_url($interface), generate_lazy_graph_tag($graph_array), generate_graph_tag($graph_array_zoom), NULL);
echo "<td>$mini_graph</td>";
}

View File

@@ -77,7 +77,7 @@ foreach ($entity_state['group']['c6kxbar'] as $index => $entry) {
$graph_array['height'] = 20;
$graph_array['bg'] = 'ffffff00';
// the 00 at the end makes the area transparent.
$minigraph = generate_graph_tag($graph_array);
$minigraph = generate_lazy_graph_tag($graph_array);
echo ('<tr>
<td></td>

View File

@@ -52,7 +52,7 @@ if (count($sensors)) {
$graph_array['bg'] = 'ffffff00';
// the 00 at the end makes the area transparent.
$graph_array['from'] = $config['time']['day'];
$sensor_minigraph = generate_graph_tag($graph_array);
$sensor_minigraph = generate_lazy_graph_tag($graph_array);
$sensor['sensor_descr'] = truncate($sensor['sensor_descr'], 48, '');

View File

@@ -59,7 +59,7 @@ if (count($mempools)) {
$graph_array['height'] = 20;
$graph_array['bg'] = 'ffffff00';
// the 00 at the end makes the area transparent.
$minigraph = generate_graph_tag($graph_array);
$minigraph = generate_lazy_graph_tag($graph_array);
echo '<tr>
<td>'.overlib_link($link, $text_descr, $overlib_content).'</td>

View File

@@ -17,7 +17,7 @@ if ($ports['total']) {
$graph_array['type'] = 'device_bits';
$graph_array['from'] = $config['time']['day'];
$graph_array['legend'] = 'no';
$graph = generate_graph_tag($graph_array);
$graph = generate_lazy_graph_tag($graph_array);
$link_array = $graph_array;
$link_array['page'] = 'graphs';

View File

@@ -45,7 +45,7 @@ if (count($processors)) {
$graph_array['height'] = 20;
$graph_array['bg'] = 'ffffff00';
// the 00 at the end makes the area transparent.
$minigraph = generate_graph_tag($graph_array);
$minigraph = generate_lazy_graph_tag($graph_array);
echo '<tr>
<td>'.overlib_link($link, $text_descr, $overlib_content).'</td>

View File

@@ -66,7 +66,7 @@ if (count($drives)) {
$graph_array['height'] = 20;
$graph_array['bg'] = 'ffffff00';
// the 00 at the end makes the area transparent.
$minigraph = generate_graph_tag($graph_array);
$minigraph = generate_lazy_graph_tag($graph_array);
echo '<tr>
<td>'.overlib_link($link, $drive['storage_descr'], $overlib_content).'</td>

View File

@@ -42,7 +42,7 @@ if (count($toners)) {
$graph_array['height'] = 20;
$graph_array['bg'] = 'ffffff00';
// the 00 at the end makes the area transparent.
$minigraph = generate_graph_tag($graph_array);
$minigraph = generate_lazy_graph_tag($graph_array);
echo '<tr>
<td>'.overlib_link($link, $toner['toner_descr'], $overlib_content).'</td>

View File

@@ -44,7 +44,7 @@ foreach (dbFetchRows('SELECT * FROM juniAtmVp WHERE port_id = ?', array($interfa
$graph_array_zoom = $graph_array;
$graph_array_zoom['height'] = '150';
$graph_array_zoom['width'] = '400';
echo overlib_link('#', generate_graph_tag($graph_array), generate_graph_tag($graph_array_zoom), null);
echo overlib_link('#', generate_lazy_graph_tag($graph_array), generate_graph_tag($graph_array_zoom), NULL);
}
echo '</td></tr>';

View File

@@ -197,7 +197,7 @@ if($format == "graph") {
<div style=\'font-size: 16px; padding:5px; font-weight: bold; color: #e5e5e5;\'>".$device['hostname']." - ".$interface['ifDescr']."</div>\
<img src=\'graph.php?type=$graph_type&amp;device=".$device['device_id']."&amp;from=".$config['time']['day']."&amp;to=".$config['time']['now']."&amp;width=450&amp;height=150&amp;title=yes\'>\
', CENTER, LEFT, FGCOLOR, '#e5e5e5', BGCOLOR, '#e5e5e5', WIDTH, 400, HEIGHT, 150);\" onmouseout=\"return nd();\" >".
"<img src='graph.php?type=$graph_type&amp;device=".$device['device_id']."&amp;from=".$config['time']['day']."&amp;to=".$config['time']['now']."&amp;width=".$width."&amp;height=110&amp;legend=no&amp;title=yes'>
"<img class='lazy' height='110' width='$width' data-original='graph.php?type=$graph_type&amp;device=".$device['device_id']."&amp;from=".$config['time']['day']."&amp;to=".$config['time']['now']."&amp;width=".$width."&amp;height=110&amp;legend=no&amp;title=yes'>
</a>
</div>");
}

View File

@@ -99,7 +99,7 @@ else {
echo('<td align=center>');
echo('<span class="device-head">'.$text.'</span><br />');
echo('<a href="'.$link.'">');
echo(generate_graph_tag($graph_array));
echo generate_lazy_graph_tag($graph_array);
echo('</a>');
echo('</td>');
@@ -202,7 +202,7 @@ else {
echo generate_graph_js_state($graph_array);
echo('<div style="width: '.$graph_array['width'].'; margin: auto;">');
echo(generate_graph_tag($graph_array));
echo generate_lazy_graph_tag($graph_array);
echo("</div>");
if (isset($config['graph_descr'][$vars['type']])) {

View File

@@ -75,7 +75,7 @@ foreach (dbFetchRows($sql, $param) as $sensor) {
$graph_array['bg'] = 'ffffff00';
// the 00 at the end makes the area transparent.
$graph_array['from'] = $config['time']['day'];
$sensor_minigraph = generate_graph_tag($graph_array);
$sensor_minigraph = generate_lazy_graph_tag($graph_array);
$sensor['sensor_descr'] = truncate($sensor['sensor_descr'], 48, '');

View File

@@ -28,7 +28,7 @@ foreach (dbFetchRows('SELECT * FROM `toner` AS S, `devices` AS D WHERE S.device_
$graph_array_zoom['height'] = '150';
$graph_array_zoom['width'] = '400';
$link = 'graphs/id='.$graph_array['id'].'/type='.$graph_array['type'].'/from='.$graph_array['from'].'/to='.$graph_array['to'].'/';
$mini_graph = overlib_link($link, generate_graph_tag($graph_array), generate_graph_tag($graph_array_zoom), null);
$mini_graph = overlib_link($link, generate_lazy_graph_tag($graph_array), generate_graph_tag($graph_array_zoom), NULL);
$background = get_percentage_colours(100 - $perc);

View File

@@ -57,7 +57,7 @@ foreach ($ports as $port) {
$graph_array['title'] = 'yes';
$graph_array['width'] = $width;
$graph_array['height'] = 119;
$graph = generate_graph_tag($graph_array);
$graph = generate_lazy_graph_tag($graph_array);
echo "<div style='display: block; padding: 1px; margin: 2px; min-width: ".$width_div.'px; max-width:'.$width_div."px; min-height:180px; max-height:180px; text-align: center; float: left; background-color: #f5f5f5;'>";
echo overlib_link($link, $graph, $overlib_content);

View File

@@ -113,7 +113,7 @@ foreach (dbFetchRows($host_sql, $host_par) as $device) {
$graph_array_zoom = $graph_array;
$graph_array_zoom['height'] = '150';
$graph_array_zoom['width'] = '400';
echo overlib_link('', generate_graph_tag($graph_array), generate_graph_tag($graph_array_zoom), null);
echo overlib_link('', generate_lazy_graph_tag($graph_array), generate_graph_tag($graph_array_zoom), NULL);
}
echo '</td></tr>';