Changeset 46 for trunk/Application/View


Ignore:
Timestamp:
Jul 27, 2014, 9:05:14 PM (10 years ago)
Author:
chronos
Message:
  • Opraveno: SQL aktualizace 40 plus chybějící tabulka MeasureMethod.
  • Opraveno: Neplatné ukázkové konfigurační soubory.
Location:
trunk/Application/View
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Application/View/Graph.php

    r45 r46  
    66class GraphView extends View
    77{
     8  var $DefaultWidth;
     9  var $DefaultHeight;
     10
     11  function __construct($System)
     12  {
     13        parent::__construct($System);
     14    $this->DefaultWidth = 800;
     15    $this->DefaultHeight = 200;
     16  }
     17
    818  function Render()
    919  {
    10     if(array_key_exists('Debug', $_GET)) $Debug = $_GET['Debug']; 
     20    if(array_key_exists('Debug', $_GET)) $Debug = $_GET['Debug'];
    1121      else $Debug = 0;
    12  
     22
    1323    if(!array_key_exists('From', $_GET)) die('Musíte zadat čas počátku');
    1424    $StartTime = addslashes($_GET['From']);
     
    1828    $TimeDifference = $EndTime - $StartTime;
    1929    if(!array_key_exists('Measure', $_GET)) die('Musíte zadat měřenou veličinu');
    20     $MeasureId = addslashes($_GET['Measure']);   
    21     if(!array_key_exists('Width', $_GET)) $Width = $DefaultWidth;
     30    $MeasureId = addslashes($_GET['Measure']);
     31    if(!array_key_exists('Width', $_GET)) $Width = $this->DefaultWidth;
    2232      else $Width = addslashes($_GET['Width']);
    23     if(!array_key_exists('Height', $_GET)) $Height = $DefaultHeight;
     33    if(!array_key_exists('Height', $_GET)) $Height = $this->DefaultHeight;
    2434      else $Height = addslashes($_GET['Height']);
    2535    if(!array_key_exists('Differential', $_GET)) $Differential = $this->Config['Application']['DefaultVariables']['Differential'];
     
    5060    $Points = $Measure->GetValues($StartTime, $EndTime, $Level);
    5161
    52     if($Debug) echo('Points count: '.count($Points).'<br/>'); 
    53     //if($Debug) foreach($Points as $Index => $Item) 
    54     // echo($Index.': '.$Item['min'].'<br>');
     62    if($Debug) echo('Points count: '.count($Points).'<br/>');
     63    //if($Debug) foreach($Points as $Index => $Item)
     64    // echo($Index.': '.$Item['min'].'<br/>');
    5565
    5666    // Calculate total max, avg, min value
     
    7383    $AvgValue = $AvgValue / count($Points); //round( * $Measure['Divider']) / $Measure['Divider'];
    7484
    75     // Generate polygon and recalculate y values to fit graph height 
     85    // Generate polygon and recalculate y values to fit graph height
    7686    $PointsMin = array(0, $Height - 1);
    7787    $PointsAvg = array(0, $Height - 1);
    7888    $PointsMax = array(0, $Height - 1);
    7989    if(($MaxValue - $MinValue) == 0) $MaxValue = $MinValue + 1;
    80     { 
     90    {
    8191      foreach($Points as $Index => $Item)
    8292      {
     
    8797        $PointsMax[] = $Index * $Width / $Measure->DivisionCount;
    8898        $PointsMax[] = $Height - 1 - ($Points[$Index]['Max'] - $MinValue) / ($MaxValue - $MinValue) * $Height * $this->Config['Application']['ValueToImageHeigthCoefficient'];
    89         //echo($Index.' - '.$Item.' '.$Points[$Index].'<br>');
     99        //echo($Index.' - '.$Item.' '.$Points[$Index].'<br/>');
    90100      }
    91101    }
     
    107117    //array_unshift($Points, 0);
    108118    //$Points[] = $Width - 1;
    109     //$Points[] = $Height - 1;
     119    //$Points[] = $Height - 1;      echo('sds');
     120
    110121
    111122    //print_r($PointsMax);
    112  
     123
    113124    // Generate image
    114     if(!$Debug) 
     125    if(!$Debug)
    115126    {
    116127      Header('Content-type: image/png');
    117       Header('Cache-Control: no-cache');  // Dynamic graph - no cache 
     128      Header('Cache-Control: no-cache');  // Dynamic graph - no cache
    118129      $Image = @imagecreate($Width, $Height);
    119130      $BackgroundColor = imagecolorallocate($Image, 255, 255, 255);
     
    132143      imagefilledpolygon($Image, $PointsAvg, count($PointsAvg) / 2, $LightGreen);
    133144      imagefilledpolygon($Image, $PointsMin, count($PointsMin) / 2, $LightBlue);
    134  
     145
    135146      $TimeMarks = array(1, 60, 60*60, 60*60*24, 60*60*24*7, 60*60*24*30, 60*60*24*365, 60*60*24*365*10);
    136  
     147
    137148      $TimeRange = $EndTime - $StartTime;
    138149      $TimeMarksIndex = 0;
     
    140151      if($TimeMarksIndex < 2) $TimeMarksIndex = 2;
    141152      $MajorTimeMarks = $TimeMarks[$TimeMarksIndex - 1];
    142       $MinorTimeMarks = $TimeMarks[$TimeMarksIndex - 2]; 
    143    
    144       $TimeShift = $Measure->AlignTime($StartTime, $MajorTimeMarks) - $StartTime; 
     153      $MinorTimeMarks = $TimeMarks[$TimeMarksIndex - 2];
     154
     155      $TimeShift = $Measure->AlignTime($StartTime, $MajorTimeMarks) - $StartTime;
    145156      //imagestring($Image, 10, 40, 50, $TimeShift, $Black);
    146  
     157
    147158      // Zobraz měřítko Y
    148159      $VerticalLinesDistance = $Height / $VerticalLinesCount;
     
    152163        for($X = 1; $X < $Width; $X = $X + 3) imagesetpixel($Image, $X, $Y, $Gray);
    153164        //imageline($Image, 30, $Y, $Width-1, $Y, IMG_COLOR_STYLED);
    154       } 
    155 
    156       $TimeShift = $Measure->AlignTime($StartTime, $MinorTimeMarks) - $StartTime; 
    157  
     165      }
     166
     167      $TimeShift = $Measure->AlignTime($StartTime, $MinorTimeMarks) - $StartTime;
     168
    158169      // Zobraz měřítko X
    159170      $LastTextEnd = 0;
    160171      for($Time = $StartTime; $Time < $EndTime; $Time += $MajorTimeMarks)
    161172      {
    162         $X = round(($Time - $StartTime + $TimeShift) / $TimeRange * $Width) % $Width; 
     173        $X = round(($Time - $StartTime + $TimeShift) / $TimeRange * $Width) % $Width;
    163174        //imageline($Image, 30, $Y, $Width-1, $Y, IMG_COLOR_STYLED);
    164175        if(($MajorTimeMarks > 60 * 60 * 24)) $Text = date('j.n.Y', $Time + $TimeShift);
     
    172183        }
    173184        else for($Y = 0; $Y < $Height; $Y = $Y + 3) imagesetpixel($Image, $X, $Y, $Gray);
    174       } 
    175  
     185      }
     186
    176187      // Popisky osy Y
    177188      for($I = 1; $I <= $VerticalLinesCount; $I++)
     
    183194        if(($Y - ($BoundBox[5] - $BoundBox[1]) / 2) > 10)
    184195          imagettftext($Image, $FontSize, 0, 2,  $Y - ($BoundBox[5] - $BoundBox[1]) / 2, $Black, $FontFile, $Text);
    185       } 
     196      }
    186197      $GenerationTime = floor(($this->System->GetMicrotime() - $StopWatchStart) * 1000  ) / 1000;
    187198
     
    208219      imagepng($Image);
    209220      imagedestroy($Image);
    210     }   
     221    }
    211222  }
    212223}
  • trunk/Application/View/Main.php

    r45 r46  
    2424      'caption' => 'Měsíc',
    2525      'period' => 2592000, // 3600 * 24 * 30,
    26     ), 
     26    ),
    2727    'year' => array(
    2828      'caption' => 'Rok',
     
    4646    for($I = 1; $I < 32; $I++)
    4747    {
    48       if($I == $TimeParts['mday']) $Selected = ' selected="1"'; else $Selected = ''; 
     48      if($I == $TimeParts['mday']) $Selected = ' selected="1"'; else $Selected = '';
    4949      $Output .= '<option value="'.$I.'"'.$Selected.'>'.$I.'</option>';
    5050    }
     
    5454    $Output .= '<select name="Month">';
    5555    foreach($this->Months as $Index => $Month)
    56     { 
     56    {
    5757      if($Index == $TimeParts['mon']) $Selected = ' selected="1"'; else $Selected = '';
    5858      if($Index > 0) $Output .= '<option value="'.$Index.'"'.$Selected.'>'.$Month.'</option>';
     
    6363    $Output .= '<select name="Year">';
    6464    for($I = 2000; $I < 2010; $I++)
    65     { 
     65    {
    6666      if($I == $TimeParts['year']) $Selected = ' selected="1"'; else $Selected = '';
    6767      $Output .= '<option value="'.$I.'"'.$Selected.'>'.$I.'</option>';
     
    7272    $Output .= '<select name="Hour">';
    7373    for($I = 0; $I < 24; $I++)
    74     { 
     74    {
    7575      if($I == $TimeParts['hours']) $Selected = ' selected="1"'; else $Selected = '';
    7676      $Output .= '<option value="'.$I.'"'.$Selected.'>'.$I.'</option>';
     
    8080    // Minute selection
    8181    $Output .= '<select name="Minute">';
    82     for($I = 0; $I < 60; $I++) 
     82    for($I = 0; $I < 60; $I++)
    8383    {
    8484      if($I == $TimeParts['minutes']) $Selected = ' selected="1"'; else $Selected = '';
     
    9999  {
    100100    $Debug = 0;
    101 
    102101    foreach($this->Config['Application']['DefaultVariables'] as $Index => $Variable)
    103102    {
     
    112111      $_SESSION['TimeEnd'] = time() - 60;
    113112      $_SESSION['TimeStart'] = $_SESSION['TimeEnd'] - $this->GraphTimeRanges[$_SESSION['Period']]['period'];
    114     } 
     113    }
    115114
    116115    $Output = '<div class="Title">Statistiky</div>';
     
    130129          }
    131130        }
    132         break; 
     131        break;
    133132      case 'SetTimeNow':
    134         if(array_key_exists('Time', $_GET)) 
     133        if(array_key_exists('Time', $_GET))
    135134        {
    136135          if(($_GET['Time'] == 'TimeStart') or ($_GET['Time'] == 'TimeEnd'))
     
    142141        break;
    143142    }
    144     $Output .= '<strong>Časový úsek:</strong><br>';
     143    $Output .= '<strong>Časový úsek:</strong><br/>';
    145144    // Show graf time range menu
    146145    if($_SESSION['TimeSpecify'] == 0)
     
    150149        $Output .= '<a href="?Period='.$Index.'">'.$Item['caption'].'</a>&nbsp;';
    151150      $Output .= '<br/>';
    152       $Output .= '<a href="?TimeSpecify=1">Přesnější nastavení...</a><br>';
     151      $Output .= '<a href="?TimeSpecify=1">Přesnější nastavení...</a><br/>';
    153152    } else {
    154153      $Output .= '<table cellspacing="0" cellpadding="2" border="0">';
     
    156155      $Output .= '<tr><td>Konec:</td><td>'.$this->EditTime('TimeEnd').'</td></tr>';
    157156      $Output .= '</table>';
    158       $Output .= '<a href="?TimeSpecify=0">Jednoduché nastavení...</a><br>';
     157      $Output .= '<a href="?TimeSpecify=0">Jednoduché nastavení...</a><br/>';
    159158    }
    160159    $Output .= '<br/>'.$this->Graph();
     
    162161    $Output .= '<br/>'.$this->MeasureTable();
    163162    return($Output);
    164   } 
    165  
     163  }
     164
    166165  function Graph()
    167166  {
    168167    $Output = '<strong>Graf:</strong><br/>';
    169     $Output .= '<img alt="Graf" src="?M=Graph&amp;Measure='.$_SESSION['Measure'].'&amp;From='.$_SESSION['TimeStart'].'&amp;To='.$_SESSION['TimeEnd'].'&amp;Width='.$this->Config['Application']['GraphSize']['Width'].'&amp;Height='.$this->Config['Application']['GraphSize']['Height'].'&amp;Differential='.$_SESSION['Differential'].'" width="'.$this->Config['Application']['GraphSize']['Width'].'" height="'.$this->Config['Application']['GraphSize']['Height'].'"><br>';
    170     $Output .= '<a href="?Measure='.$_SESSION['Measure'].'&amp;TimeStart='.$_SESSION['TimeStart'].'&amp;TimeEnd='.$_SESSION['TimeEnd'].'&amp;TimeSpecify=1&amp;Differential='.$_SESSION['Differential'].'">Odkaz na vybraný graf</a><br>';
     168    $Output .= '<img alt="Graf" src="?M=Graph&amp;Measure='.$_SESSION['Measure'].
     169      '&amp;From='.$_SESSION['TimeStart'].'&amp;To='.$_SESSION['TimeEnd'].'&amp;Width='.
     170      $this->Config['Application']['ImageWidth'].'&amp;Height='.$this->Config['Application']['ImageHeight'].
     171      '&amp;Differential='.$_SESSION['Differential'].'" width="'.$this->Config['Application']['ImageWidth'].
     172      '" height="'.$this->Config['Application']['ImageHeight'].'"/><br/>';
     173    $Output .= '<a href="?Measure='.$_SESSION['Measure'].'&amp;TimeStart='.$_SESSION['TimeStart'].'&amp;TimeEnd='.$_SESSION['TimeEnd'].'&amp;TimeSpecify=1&amp;Differential='.$_SESSION['Differential'].'">Odkaz na vybraný graf</a><br/>';
    171174//print_r(GetValues($Measure, $TimeStart, $TimeEnd));
    172175    return($Output);
    173176  }
    174  
     177
    175178  function MeasureTable()
    176179  {
     
    202205        $LastMeasureValue = '&nbsp;';
    203206      }
    204       if($Measure['Continuity'] == 1) $Interpolate = 'Ano'; 
     207      if($Measure['Continuity'] == 1) $Interpolate = 'Ano';
    205208        else $Interpolate = 'Ne';
    206209      if($Measure['Info'] == '') $Measure['Info'] = '&nbsp;';
     
    214217    //print_r(gd_info());
    215218    //print_r($_SESSION);
    216  
     219
    217220    //ShowPage($Output);
    218221    //echo(AddPrefixMultipliers('-0.000000071112345', 'B'));
  • trunk/Application/View/Page.php

    r40 r46  
    1111
    1212  function ShowHeader($Title, $Path)
    13   {   
     13  {
    1414    $BodyParam = '';
    1515    if($this->Load != '') $BodyParam .= ' onload="'.$this->Load.'"';
    1616    if($this->Unload != '') $BodyParam .= ' onunload="'.$this->Unload.'"';
    1717    $Output = '<?xml version="1.0" encoding="'.$this->Config['Web']['Charset'].'"?>'."\n".
    18     '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'.
    19     '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs" lang="cs">'.
     18    '<!DOCTYPE html>'.
     19    '<html>'.
    2020    '<head><link rel="stylesheet" href="Application/Style/Style.css" type="text/css" media="all" />'.
    21     '<meta http-equiv="content-type" content="application/xhtml+xml; charset='.$this->Config['Web']['Charset'].'" />'.
     21    '<meta http-equiv="content-type" content="text/html; charset='.$this->Config['Web']['Charset'].'" />'.
    2222    '<script type="text/javascript" src="Application/Style/Global.js"></script>'.
    2323    '<title>'.$this->Config['Web']['Title'].' - '.$Path.'</title>
     
    2525    return($Output);
    2626  }
    27  
     27
    2828  function ShowFooter()
    2929  {
    3030    global $ScriptTimeStart;
    31    
     31
    3232    $Time = round($this->System->GetMicrotime() - $ScriptTimeStart, 2);
    3333    $Output = '<div class="Footer">
     
    3939    if($this->Config['Web']['ShowRuntimeInfo'] == true) $Output .= '<li>Doba generování: '.$Time.' s / '.ini_get('max_execution_time').' s</li><li>Použitá paměť: '.HumanSize(memory_get_peak_usage(FALSE)).' / '.ini_get('memory_limit').'B</li>';
    4040  $Output .= '</ul></div></body></html>';
    41     return($Output); 
     41    return($Output);
    4242  }
    43  
     43
    4444  function GetOutput($Content)
    45   { 
     45  {
    4646    global $Config;
    47    
     47
    4848    $Output = $this->ShowHeader($this->FullTitle, $this->ShortTitle).$Content;
    4949    $Output .= $this->ShowFooter();
     
    5454
    5555  function SystemMessage($Text)
    56   { 
     56  {
    5757    return('<table align="center"><tr><td><div class="SystemMessage"><h3>Systémová zpráva</h3><div>'.$Text.'</div></div</td></tr></table>');
    5858    //ShowFooter();
    5959    //die();
    6060  }
    61  
     61
    6262  function AccessDenied()
    6363  {
    64     return($this->GetOutput($this->SystemMessage($this->System->Translate('AccessDenied')))); 
     64    return($this->GetOutput($this->SystemMessage($this->System->Translate('AccessDenied'))));
    6565  }
    6666}
Note: See TracChangeset for help on using the changeset viewer.