* @copyright (C) 2006-2013 Adam Armstrong, (C) 2013-2019 Observium Limited
*
*/
foreach ($vars as $var => $value)
{
if ($value != "")
{
switch ($var)
{
case 'name':
$where .= generate_query_values($value, $var);
break;
}
}
}
echo generate_box_open();
echo '
';
echo ' ';
echo ' ';
echo ' Package | ';
echo ' Version | ';
echo '
';
echo ' ';
echo ' ';
// Build array of packages - faster than SQL
// foreach (dbFetchRows("SELECT * FROM `packages`", $param) as $entry)
// {
// }
foreach (dbFetchRows("SELECT * FROM `packages` WHERE 1 $where GROUP BY `name`", $param) as $package)
{
echo ' '.PHP_EOL;
echo ' '.$package['name'].' | '.PHP_EOL;
echo ' ';
foreach (dbFetchRows("SELECT * FROM `packages` WHERE `name` = ? ORDER BY version, build", array($package['name'])) as $v)
{
$package['versions'][$v['version']][$v['build']][] = $v;
}
//r($package);
if (!empty($vars['name']))
{
echo '';
echo '';
}
foreach ($package['versions'] as $version => $builds)
{
$content = "";
foreach ($builds as $build => $device_ids)
{
if ($build) { $dbuild = '-' . $build; } else { $dbuild = ''; }
$content .= $version.$dbuild;
foreach ($device_ids as $entry)
{
$this_device = device_by_id_cache($entry['device_id']);
switch($entry['arch'])
{
case "amd64":
$entry['arch_class'] = 'label-success';
break;
case "i386":
$entry['arch_class'] = 'label-info';
break;
default:
$entry['arch_class'] = '';
}
switch($entry['manager'])
{
case "deb":
$entry['manager_class'] = 'label-warning';
break;
case "rpm":
$entry['manager_class'] = 'label-important';
break;
default:
$entry['manager_class'] = '';
}
if ($build != '') { $dbuild = '-'.$entry['build']; } else { $dbuild = ''; }
if (!empty($this_device['hostname'])) {
if (!empty($vars['name']))
{
echo '';
echo ''.$entry['version'].$dbuild.' | '.$entry['arch'].' |
'.$entry['manager'].' |
'.generate_device_link($this_device).' | | '.format_si($entry['size']).' | ';
echo ' ';
} else {
$hosts[] = '' . $this_device['hostname'].'';
}
}
}
}
if (empty($vars['name']))
{
#if ($first) { $first = false; $middot = ""; } else { $middot = " · "; }
$vers[] = generate_tooltip_link('', $version . $dbuild, implode(' ', $hosts));
}
unset($hosts);
}
if (!empty($vars['name']))
{
echo '';
echo ' ';
} else {
echo implode(' - ', $vers);
}
unset($vers);
echo ' | '.PHP_EOL;
echo '
'.PHP_EOL;
}
echo ' ';
echo '
';
echo generate_box_close();
// EOF