Lists » ');
$menu_options = array('basic'      => 'Basic',
                      'detail'     => 'Detail');
$sep = "";
foreach ($menu_options as $option => $text)
{
  echo($sep);
  if ($vars['format'] == "list_".$option)
  {
    echo("");
  }
  $sep = " | ";
}
?>
 |
Graphs »
 'Bits',
                      'upkts' => 'Unicast Packets',
                      'nupkts' => 'Non-Unicast Packets',
                      'errors' => 'Errors');
$sep = "";
foreach ($menu_options as $option => $text)
{
  echo($sep);
  if ($vars['format'] == 'graph_'.$option)
  {
    echo('");
  }
  $sep = " | ";
}
echo('
');
?>
  
Update URL |
 '')).'">Search');
  } else {
    echo('
Search');
  }
  echo("  | ");
  if ($vars['bare'] == "yes")
  {
    echo('
Header');
  } else {
    echo('
Header');
  }
echo('
 ');
print_optionbar_end();
print_optionbar_start();
if($vars['searchbar'] != "hide")
{
?>
  
  
 $value)
{
  if ($value != "")
  {
    switch ($var)
    {
      case 'hostname':
      case 'location':
        $where .= " AND D.$var LIKE ?";
        $param[] = "%".$value."%";
      case 'device_id':
      case 'deleted':
      case 'ignore':
        if ($value == 1)
        {
          $where .= " AND (I.ignore = 1 OR D.ignore = 1) AND I.deleted = 0";
        }
        break;
      case 'disable':
      case 'ifSpeed':
        if (is_numeric($value))
        {
          $where .= " AND I.$var = ?";
          $param[] = $value;
        }
        break;
      case 'ifType':
        $where .= " AND I.$var = ?";
        $param[] = $value;
        break;
      case 'ifAlias':
      case 'port_descr_type':
        $where .= " AND I.$var LIKE ?";
        $param[] = "%".$value."%";
        break;
      case 'errors':
        if ($value == 1)
        {
          $where .= " AND (I.`ifInErrors_delta` > '0' OR I.`ifOutErrors_delta` > '0')";
        }
        break;
      case 'state':
        if ($value == "down")
        {
          $where .= "AND I.ifAdminStatus = ? AND I.ifOperStatus = ?";
          $param[] = "up";
          $param[] = "down";
        } elseif($value == "up") {
          $where .= "AND I.ifAdminStatus = ? AND I.ifOperStatus = ?  AND I.ignore = '0' AND D.ignore='0' AND I.deleted='0'";
          $param[] = "up";
          $param[] = "up";
        } elseif($value == "admindown") {
          $where .= "AND I.ifAdminStatus = ? AND D.ignore = 0";
          $param[] = "down";
        }
      break;
    }
  }
}
$query = "SELECT * FROM `ports` AS I, `devices` AS D WHERE I.device_id = D.device_id ".$where." ".$query_sort;
$row = 1;
list($format, $subformat) = explode("_", $vars['format']);
$ports = dbFetchRows($query, $param);
// FIXME - only populate what we need to search at this point, because we shouldn't show *all* ports, as it's silly.
foreach ($ports as $port)
{
  if ($config['memcached']['enable'])
  {
    if ($config['memcached']['enable'])
    {
      $state = $memcache->get('port-'.$port['port_id'].'-state');
      if(is_array($state)) { $ports[$port['port_id']] = array_merge($port, $state); }
      unset($state);
    }
  }
}
switch ($vars['sort'])
{
  case 'traffic':
    $ports = array_sort($ports, 'ifOctets_rate', SORT_DESC);
    break;
  case 'traffic_in':
    $ports = array_sort($ports, 'ifInOctets_rate', SORT_DESC);
    break;
  case 'traffic_out':
    $ports = array_sort($ports, 'ifOutOctets_rate', SORT_DESC);
    break;
  case 'packets':
    $ports = array_sort($ports, 'ifUcastPkts_rate', SORT_DESC);
    break;
  case 'packets_in':
    $ports = array_sort($ports, 'ifInUcastOctets_rate', SORT_DESC);
    break;
  case 'packets_out':
    $ports = array_sort($ports, 'ifOutUcastOctets_rate', SORT_DESC);
    break;
  case 'errors':
    $ports = array_sort($ports, 'ifErrors_rate', SORT_DESC);
    break;
  case 'speed':
    $ports = array_sort($ports, 'ifSpeed', SORT_DESC);
    break;
  case 'port':
    $ports = array_sort($ports, 'ifDescr', SORT_ASC);
    break;
  case 'media':
    $ports = array_sort($ports, 'ifType', SORT_ASC);
    break;
  case 'descr':
    $ports = array_sort($ports, 'ifAlias', SORT_ASC);
    break;
  case 'device':
  default:
    $ports = array_sort($ports, 'hostname', SORT_ASC);
}
if(file_exists('pages/ports/'.$format.'.inc.php'))
{
 include('pages/ports/'.$format.'.inc.php');
}
?>