<?php

function HumanDate($Time)
{
  return(date('j.n.Y', $Time));
}

function GetMicrotime()
{
  list($Usec, $Sec) = explode(" ", microtime());
  return ((float)$Usec + (float)$Sec);
}

function ShowPage($Content)
{
  global $Config, $ReleaseTime, $Revision;

  $Output = '<?xml version="1.0" encoding="'.$Config['Web']['Charset'].'"?>'."\n".
  '<!DOCTYPE html>'.
  '<html>'.
  '<head>'.
  '<meta http-equiv="Content-Language" content="cs"/>'.
  '<meta http-equiv="content-type" content="text/html; charset='.$Config['Web']['Charset'].'" />'.
  '<meta name="robots" content="all" />'.
  '<title>'.$Config['Web']['Title'].'</title>'.
  '<link rel="StyleSheet" href="style/style.css" type="text/css" media="all"/>'.
  '</head><body>';
  $Output .= $Content;
  $Output .= '<br/><div style="text-align: center; font-size: small;">Verze: '.$Revision.' ('.HumanDate($ReleaseTime).')'.
    ' &nbsp; <a href="http://svn.zdechov.net/trac/statistic/browser/trunk">Zdrojový kód</a> &nbsp; '.
    '<a href="http://svn.zdechov.net/trac/statistic/log/trunk?verbose=on">Historie změn</a></div>';
  $Output .= '</body></html>';
  echo($Output);
}

function MakeLink($Target, $Title)
{
  return('<a href="'.$Target.'">'.$Title.'</a>');
}

function Table($Table)
{
  $Result = '<table cellspacing="0" class="BasicTable">';
  $Result .= '<tr>';
  foreach($Table['Header'] as $Item)
    $Result .= '<th>'.$Item.'</th>';
  $Result .= '</tr>';
  foreach($Table['Rows'] as $Row)
  {
    $Result .= '<tr>';
    foreach($Row as $Item)
      $Result .= '<td>'.$Item.'</td>';
    $Result .= '</tr>';
  }
  $Result .= '</table>';
  return($Result);
}

function ShowEditTable($ClassName, $Values)
{
  global $Classes, $Types;
  $Class = $Classes[$ClassName];
  $Table = array(
    'Header' => array('Položka', 'Hodnota'),
    'Rows' => array(),
  );

  foreach($Class as $Index => $Item)
  {
    if(!array_key_exists($Index, $Values)) $Values[$Index] = $Item['Default'];
    switch($Item['Type'])
    {
      case 'Boolean':
        if($Values[$Index] == 0) $Checked = ''; else $Checked = ' checked="yes"';
        $Edit = '<input type="checkbox" name="'.$Index.'"'.$Checked.'>';
        break;
      case 'String':
        $Edit = '<input type="text" name="'.$Index.'" value="'.$Values[$Index].'">';
        break;
      case 'Integer':
        $Edit = '<input type="text" name="'.$Index.'" value="'.$Values[$Index].'">';
        break;
      default:
        $Edit = 'Neznámý typ';
    }
    array_push($Table['Rows'], array($Item['Caption'], $Edit));
  }
  $Output = '<h3>Tabulka '.$ClassName.'</h3>'.Table($Table).MakeLink('?Operation=Add2', 'Přidat');
  return($Output);
}
