<?php
include_once('global.php');

class UserListPage extends Page
{
  var $FullTitle = 'Seznam registrovaných uživatelů';
  var $ShortTitle = 'Seznam uživatelů';

  function Show()
  {
    $DbResult = $this->Database->query('SELECT COUNT(*) FROM `User` WHERE (`Login` != "Anonym")');
    $DbRow = $DbResult->fetch_row();
    $PageList = GetPageList($DbRow[0]);    

    $Output = $PageList['Output'];
    $Output .= '<table class="WideTable" style="font-size: small;">';
   
    $TableColumns = array(
      array('Name' => 'Name', 'Title' => 'Jméno'), 
      array('Name' => 'Email', 'Title' => 'E-mail'), 
      array('Name' => 'ICQ', 'Title' => 'ICQ'), 
      array('Name' => 'PhoneNumber', 'Title' => 'Telefón'), 
      array('Name' => '', 'Title' => 'Počítače'), 
    );
    $Order = GetOrderTableHeader($TableColumns, 'Name', 0);
    $Output .= $Order['Output'];

    $Query = 'SELECT * FROM `User` WHERE (`Login` != "Anonym") '.$Order['SQL'].$PageList['SQLLimit'];

    $DbResult = $this->Database->query($Query);
    while($User = $DbResult->fetch_assoc()) 
    { 
      if($User['ICQ'] > 0) $User['ICQ'] = $User['ICQ']; 
        else $User['ICQ'] = '&nbsp;';
      if($User['PhoneNumber'] > 0) $User['PhoneNumber'] = $User['PhoneNumber']; 
        else $User['PhoneNumber'] = '&nbsp;';

      $DbResult2 = $this->Database->query('SELECT Name, Id FROM NetworkDevice WHERE Member = (SELECT Id FROM Member WHERE Member.ResponsibleUser = '.$User['Id'].') AND Used=1 ORDER BY Name');
      $Devices = array();
      while($Device = $DbResult2->fetch_assoc())
      {
        $Devices[] = $Device['Name'];
      }
      $User['Devices'] = implode(', ', $Devices);
      
      $Output .= '<tr><td>'.$User['Name'].'</td>'.
      '<td>'.$User['Email'].'</td>'.
      '<td>'.$User['ICQ'].'</td>'.
      '<td>'.$User['PhoneNumber'].'</td>'.
      '<td>'.$User['Devices'].'</td></tr>';
    }
    $Output .= '</table>';
    $Output .= $PageList['Output'];
    
    return($Output);
  }
}

$System->AddModule(new UserListPage());
$System->Modules['UserListPage']->GetOutput();

?>