Changeset 738 for trunk/Modules


Ignore:
Timestamp:
Apr 14, 2015, 10:20:16 PM (10 years ago)
Author:
chronos
Message:
  • Removed: Spaces on end of line.
  • Modified: Tabs converted to spaces.
Location:
trunk/Modules
Files:
88 edited

Legend:

Unmodified
Added
Removed
  • trunk/Modules/Chat/Chat.php

    r586 r738  
    1010    $this->ParentClass = 'PagePortal';
    1111  }
    12  
     12
    1313  function dechexr($Num)
    1414  {
     
    2020  {
    2121    global $MonthNames;
    22    
     22
    2323    if(!$this->System->User->CheckPermission('Chat', 'Display')) return('Nemáte oprávnění');
    2424
    25     if(array_key_exists('date', $_GET)) $Date = $_GET['date']; 
     25    if(array_key_exists('date', $_GET)) $Date = $_GET['date'];
    2626      else $Date = date('Y-m-d');
    2727    $DateParts = explode('-', $Date);
     
    5656            if(($Year == $StartDateParts[0]) and ($Month == $StartDateParts[1])) $StartDay = ($StartDateParts[2]+0); else $StartDay = 1;
    5757            if(($Year == $EndDateParts[0]) and ($Month == $EndDateParts[1])) $EndDay = ($EndDateParts[2]+0); else $EndDay = date('t',mktime(0,0,0,$Month,0,$Year));
    58             for($Day = $StartDay; $Day <= $EndDay; $Day++) 
    59             { 
     58            for($Day = $StartDay; $Day <= $EndDay; $Day++)
     59            {
    6060              $Text = '<a href="?date='.$Year.'-'.$Month.'-'.$Day.'">'.$Day.'</a> ';
    6161              if(($DateParts[0] == $Year) and ($DateParts[1] == $Month) and ($DateParts[2] == $Day)) $Text = '<strong>'.$Text.'</strong>';
     
    7676    {
    7777      $Text = $Row['Text'];;
    78       // StrTr($Row['text'], "\x8A\x8D\x8E\x9A\x9D\x9E", "\xA9\xAB\xAE\xB9\xBB\xBE"); 
     78      // StrTr($Row['text'], "\x8A\x8D\x8E\x9A\x9D\x9E", "\xA9\xAB\xAE\xB9\xBB\xBE");
    7979      $Output .= '['.date('d.m.Y H:i:s',$Row['UNIX_TIMESTAMP(Time)']).'] <span style="color: #'.$this->dechexr($Row['Color']).'"><strong>&lt;'.$Row['Nick'].'&gt;</strong> '.(htmlspecialchars($Text)).'</span><br>';
    8080    }
     
    9797    $this->Dependencies = array();
    9898  }
    99  
     99
    100100  function DoStart()
    101101  {
    102102    $this->System->Pages['chat'] = 'PageChatHistory';
    103   } 
     103  }
    104104}
  • trunk/Modules/Chat/irc_bot.php

    r577 r738  
    1313  var $File;
    1414
    15   function __construct() 
     15  function __construct()
    1616  {
    1717    $this->Jokes = file($this->JokeFileName);
     
    7474      $Line = substr($Line, strlen($Commands[0]));
    7575      $Commands[1] = substr($Line, 0, strpos($Line, ':') + 1);
    76       $Commands[2] = substr($Line, strlen($Commands[1]));     
     76      $Commands[2] = substr($Line, strlen($Commands[1]));
    7777      //print_r($Commands);
    7878
     
    8989      }
    9090
    91      
     91
    9292      explode(':', $Line);
    9393      foreach($Commands as $Index => $Item)
     
    185185
    186186        // hjoke - Posle nahodny vtip
    187         if($Command == 'hjoke') 
     187        if($Command == 'hjoke')
    188188        {
    189189          $Joke = ($this->Jokes[rand(0, (sizeof($this->Jokes) - 1))]);
  • trunk/Modules/Customer/Customer.php

    r727 r738  
    1313    $this->Dependencies = array('User');
    1414  }
    15  
     15
    1616  function DoStart()
    1717  {
     
    3636        'Consumption' => array('Type' => 'TCustomerStockSerialNumber', 'Caption' => 'Spotřeba zařízení', 'Default' => ''),
    3737      ),
    38         'ItemActions' => array(
    39         array('Caption' => 'Klientská sekce', 'URL' => '/finance/platby/?i=#RowId'),
     38      'ItemActions' => array(
     39        array('Caption' => 'Klientská sekce', 'URL' => '/finance/platby/?i=#RowId'),
    4040      ),
    41     ));   
     41    ));
    4242    $this->System->FormManager->RegisterClass('MemberPayment', array(
    4343      'Title' => 'Placení zákazníků',
     
    5656    ));
    5757    $this->System->FormManager->RegisterFormType('TMember', array(
    58         'Type' => 'Reference',
    59         'Table' => 'Member',
    60         'Id' => 'Id',
    61         'Name' => 'Name',
    62         'Filter' => '1',
     58      'Type' => 'Reference',
     59      'Table' => 'Member',
     60      'Id' => 'Id',
     61      'Name' => 'Name',
     62      'Filter' => '1',
    6363    ));
    6464    $this->System->FormManager->RegisterClass('Service', array(
    65         'Title' => 'Služby',
    66         'Table' => 'Service',
    67         'DefaultSortColumn' => 'Name',
    68         'Items' => array(
    69                 'Name' => array('Type' => 'String', 'Caption' => 'Jméno', 'Default' => ''),
    70                 'Category' => array('Type' => 'TServiceCategory', 'Caption' => 'Skupina', 'Default' => '', 'Null' => true),
    71                 'Price' => array('Type' => 'Integer', 'Caption' => 'Cena', 'Default' => '0', 'Suffix' => 'Kč'),
    72                 'VAT' => array('Type' => 'TFinanceVATType', 'Caption' => 'Sazba DPH', 'Default' => '0', 'Suffix' => ''),
    73                 'CustomerCount' => array('Type' => 'Integer', 'Caption' => 'Počet zákazníků', 'Default' => '', 'ReadOnly' => true,
    74                         'SQL' => '(SELECT COUNT(*) FROM `ServiceCustomerRel` LEFT JOIN `Member` ON `Member`.`Id`=`ServiceCustomerRel`.`Customer` WHERE (`ServiceCustomerRel`.`Service`=#Id) AND (`Member`.`Blocked`=0))'),
    75                 'Public' => array('Type' => 'Boolean', 'Caption' => 'Veřejné', 'Default' => ''),
    76                 'InternetSpeedMin' => array('Type' => 'Integer', 'Caption' => 'Min. rychlost internetu', 'Default' => '0', 'Suffix' => 'kbit/s'),
    77                 'InternetSpeedMax' => array('Type' => 'Integer', 'Caption' => 'Max. rychlost internetu', 'Default' => '0', 'Suffix' => 'kbit/s'),
    78                 'UploadAsymmetry' => array('Type' => 'Integer', 'Caption' => 'Asymetrie odesílání', 'Default' => '1'),
    79                 'Memory' => array('Type' => 'Integer', 'Caption' => 'Paměť', 'Default' => '0', 'Suffix' => 'GB'),
    80                 'MemorySwap' => array('Type' => 'Integer', 'Caption' => 'Odkládací oddíl', 'Default' => '0', 'Suffix' => 'GB'),
    81                 'Storage' => array('Type' => 'Integer', 'Caption' => 'Úložiště', 'Default' => '0', 'Suffix' => 'GB'),
    82                 'CPUCount' => array('Type' => 'Integer', 'Caption' => 'Počet jader', 'Default' => '0', 'Suffix' => ''),
    83                 'ChangeAction' => array('Type' => 'TActionEnum', 'Caption' => 'Změna - akce', 'Default' => '', 'Null' => true),
    84                 'ChangeTime' => array('Type' => 'DateTime', 'Caption' => 'Změna - čas', 'Default' => '', 'Null' => true),
    85                 'ChangeReplaceId' => array('Type' => 'TService', 'Caption' => 'Změna - položka', 'Default' => '', 'Null' => true),
    86                 'CustomerRel' => array('Type' => 'TServiceCustomerRelListService', 'Caption' => 'Placení zákazníky', 'Default' => ''),
    87         ),
     65      'Title' => 'Služby',
     66      'Table' => 'Service',
     67      'DefaultSortColumn' => 'Name',
     68      'Items' => array(
     69        'Name' => array('Type' => 'String', 'Caption' => 'Jméno', 'Default' => ''),
     70        'Category' => array('Type' => 'TServiceCategory', 'Caption' => 'Skupina', 'Default' => '', 'Null' => true),
     71        'Price' => array('Type' => 'Integer', 'Caption' => 'Cena', 'Default' => '0', 'Suffix' => 'Kč'),
     72        'VAT' => array('Type' => 'TFinanceVATType', 'Caption' => 'Sazba DPH', 'Default' => '0', 'Suffix' => ''),
     73        'CustomerCount' => array('Type' => 'Integer', 'Caption' => 'Počet zákazníků', 'Default' => '', 'ReadOnly' => true,
     74          'SQL' => '(SELECT COUNT(*) FROM `ServiceCustomerRel` LEFT JOIN `Member` ON `Member`.`Id`=`ServiceCustomerRel`.`Customer` WHERE (`ServiceCustomerRel`.`Service`=#Id) AND (`Member`.`Blocked`=0))'),
     75        'Public' => array('Type' => 'Boolean', 'Caption' => 'Veřejné', 'Default' => ''),
     76        'InternetSpeedMin' => array('Type' => 'Integer', 'Caption' => 'Min. rychlost internetu', 'Default' => '0', 'Suffix' => 'kbit/s'),
     77        'InternetSpeedMax' => array('Type' => 'Integer', 'Caption' => 'Max. rychlost internetu', 'Default' => '0', 'Suffix' => 'kbit/s'),
     78        'UploadAsymmetry' => array('Type' => 'Integer', 'Caption' => 'Asymetrie odesílání', 'Default' => '1'),
     79        'Memory' => array('Type' => 'Integer', 'Caption' => 'Paměť', 'Default' => '0', 'Suffix' => 'GB'),
     80        'MemorySwap' => array('Type' => 'Integer', 'Caption' => 'Odkládací oddíl', 'Default' => '0', 'Suffix' => 'GB'),
     81        'Storage' => array('Type' => 'Integer', 'Caption' => 'Úložiště', 'Default' => '0', 'Suffix' => 'GB'),
     82        'CPUCount' => array('Type' => 'Integer', 'Caption' => 'Počet jader', 'Default' => '0', 'Suffix' => ''),
     83        'ChangeAction' => array('Type' => 'TActionEnum', 'Caption' => 'Změna - akce', 'Default' => '', 'Null' => true),
     84        'ChangeTime' => array('Type' => 'DateTime', 'Caption' => 'Změna - čas', 'Default' => '', 'Null' => true),
     85        'ChangeReplaceId' => array('Type' => 'TService', 'Caption' => 'Změna - položka', 'Default' => '', 'Null' => true),
     86        'CustomerRel' => array('Type' => 'TServiceCustomerRelListService', 'Caption' => 'Placení zákazníky', 'Default' => ''),
     87      ),
    8888    ));
    8989    $this->System->FormManager->RegisterClass('ServiceCategory', array(
    90         'Title' => 'Kategorie služeb',
    91         'Table' => 'ServiceCategory',
    92         'Items' => array(
    93                 'Name' => array('Type' => 'String', 'Caption' => 'Jméno', 'Default' => ''),
    94                 'Items' => array('Type' => 'TServiceListServiceCategory', 'Caption' => 'Služby', 'Default' => ''),
    95         ),
     90      'Title' => 'Kategorie služeb',
     91      'Table' => 'ServiceCategory',
     92      'Items' => array(
     93        'Name' => array('Type' => 'String', 'Caption' => 'Jméno', 'Default' => ''),
     94        'Items' => array('Type' => 'TServiceListServiceCategory', 'Caption' => 'Služby', 'Default' => ''),
     95      ),
    9696    ));
    9797    $this->System->FormManager->RegisterClass('ServiceCustomerRel', array(
     
    102102        'Customer' => array('Type' => 'TMember', 'Caption' => 'Zákazník', 'Default' => ''),
    103103        'ChangeAction' => array('Type' => 'TActionEnum', 'Caption' => 'Změna - akce', 'Default' => '', 'Null' => true),
    104                 'ChangeTime' => array('Type' => 'DateTime', 'Caption' => 'Změna - čas', 'Default' => '', 'Null' => true),
    105         'ChangeReplaceId' => array('Type' => 'TServiceCustomerRel', 'Caption' => 'Změna - položka', 'Default' => '', 'Null' => true),
     104        'ChangeTime' => array('Type' => 'DateTime', 'Caption' => 'Změna - čas', 'Default' => '', 'Null' => true),
     105        'ChangeReplaceId' => array('Type' => 'TServiceCustomerRel', 'Caption' => 'Změna - položka', 'Default' => '', 'Null' => true),
    106106      ),
    107107    ));
    108108    $this->System->FormManager->RegisterFormType('TServiceCategory', array(
    109         'Type' => 'Reference',
    110         'Table' => 'ServiceCategory',
    111         'Id' => 'Id',
    112         'Name' => 'Name',
    113         'Filter' => '1',
     109      'Type' => 'Reference',
     110      'Table' => 'ServiceCategory',
     111      'Id' => 'Id',
     112      'Name' => 'Name',
     113      'Filter' => '1',
    114114    ));
    115115    $this->System->FormManager->RegisterFormType('TService', array(
    116         'Type' => 'Reference',
    117         'Table' => 'Service',
    118         'Id' => 'Id',
    119         'Name' => 'Name',
    120         'Filter' => '1',
     116      'Type' => 'Reference',
     117      'Table' => 'Service',
     118      'Id' => 'Id',
     119      'Name' => 'Name',
     120      'Filter' => '1',
    121121    ));
    122122    $this->System->FormManager->RegisterFormType('TServiceCustomerRel', array(
    123         'Type' => 'Reference',
    124         'Table' => 'ServiceCustomerRel',
    125         'Id' => 'Id',
    126         'Name' => 'Id',
    127         'Filter' => '1',
    128     ));   
     123      'Type' => 'Reference',
     124      'Table' => 'ServiceCustomerRel',
     125      'Id' => 'Id',
     126      'Name' => 'Id',
     127      'Filter' => '1',
     128    ));
    129129    $this->System->FormManager->RegisterFormType('TServiceCustomerRelListCustomer', array(
    130130      'Type' => 'ManyToOne',
     
    148148      'Filter' => '1',
    149149    ));
    150   } 
     150  }
    151151}
  • trunk/Modules/EmailQueue/EmailQueue.php

    r689 r738  
    5252        'Title' => 'Fronta e-mailů',
    5353        'Table' => 'EmailQueue',
    54                 'DefaultSortColumn' => 'Time',
    55                 'DefaultSortOrder' => 1,
     54        'DefaultSortColumn' => 'Time',
     55        'DefaultSortOrder' => 1,
    5656        'Items' => array(
    5757            'Time' => array('Type' => 'DateTime', 'Caption' => 'Vytvořeno'),
  • trunk/Modules/Employee/Employee.php

    r736 r738  
    3737        'Contract' => array('Type' => 'TContract', 'Caption' => 'Smlouva', 'Default' => ''),
    3838      ),
    39     ));         
    40         $this->System->FormManager->RegisterFormType('TEmployee', array(
     39    ));
     40    $this->System->FormManager->RegisterFormType('TEmployee', array(
    4141      'Type' => 'Reference',
    42         'Table' => 'Employee',
    43         'Id' => 'Id',
    44         'Name' => 'CONCAT_WS(" ", NULLIF(`FirstName`, ""), NULLIF(`SecondName`, ""))',
    45         'Filter' => '1',
    46     ));   
     42      'Table' => 'Employee',
     43      'Id' => 'Id',
     44      'Name' => 'CONCAT_WS(" ", NULLIF(`FirstName`, ""), NULLIF(`SecondName`, ""))',
     45      'Filter' => '1',
     46    ));
    4747    $this->System->FormManager->RegisterFormType('TEmployeeSalaryList', array(
    48         'Type' => 'ManyToOne',
    49         'Table' => 'EmployeeSalary',
    50         'Id' => 'Id',
    51         'Ref' => 'Employee',
    52         'Filter' => '1',
     48      'Type' => 'ManyToOne',
     49      'Table' => 'EmployeeSalary',
     50      'Id' => 'Id',
     51      'Ref' => 'Employee',
     52      'Filter' => '1',
    5353    ));
    5454  }
  • trunk/Modules/Error/Error.php

    r682 r738  
    3232  function DoStart()
    3333  {
    34         $this->ShowError = $this->System->Config['Web']['ShowPHPError'];
     34    $this->ShowError = $this->System->Config['Web']['ShowPHPError'];
    3535    set_error_handler(array($this, 'ErrorHandler'));
    3636    set_exception_handler(array($this, 'ExceptionHandler'));
     
    3939  function Stop()
    4040  {
    41         restore_error_handler();
    42         restore_exception_handler();
    43         parent::Stop();
     41    restore_error_handler();
     42    restore_exception_handler();
     43    parent::Stop();
    4444  }
    4545
     
    128128          '<meta http-equiv="Content-Type" content="text/html; charset='.$this->Encoding.'"></head><body>'."\n".
    129129          'Došlo k vnitřní chybě!<br/> O chybě byl uvědoměn správce webu a chybu brzy odstraní.<br/><br/>');
    130         echo('<pre>'.$Error.'</pre><br/>');                     // V případě ladění chybu i zobraz
     130        echo('<pre>'.$Error.'</pre><br/>');     // V případě ladění chybu i zobraz
    131131        echo('</body></html>');
    132132      } else
    133133      {
    134         echo($Error);
     134        echo($Error);
    135135      }
    136136    }
  • trunk/Modules/File/File.php

    r737 r738  
    4343  function DetectMimeType($FileName)
    4444  {
    45         global $MimeTypes;
     45    global $MimeTypes;
    4646
    4747    $Result = $MimeTypes[pathinfo($FileName, PATHINFO_EXTENSION)][0];
     
    140140       'Parent' => array('Type' => 'TDirectory', 'Caption' => 'Nadřazený adresář', 'Default' => '', 'Null' => true),
    141141        'Subdirectories' => array('Type' => 'TDirectoryList', 'Caption' => 'Podadresáře', 'Default' => ''),
    142         'Files' => array('Type' => 'TFileList', 'Caption' => 'Soubory', 'Default' => ''),
     142        'Files' => array('Type' => 'TFileList', 'Caption' => 'Soubory', 'Default' => ''),
    143143      ),
    144144    ));
     
    151151    ));
    152152    $this->System->FormManager->RegisterFormType('TFile', array(
    153                 'Type' => 'Reference',
    154                 'Table' => 'File',
    155                 'Id' => 'Id',
    156                 'Name' => 'Name',
    157                 'Filter' => '1',
     153      'Type' => 'Reference',
     154      'Table' => 'File',
     155      'Id' => 'Id',
     156      'Name' => 'Name',
     157      'Filter' => '1',
    158158    ));
    159159    $this->System->FormManager->RegisterFormType('TFileList', array(
    160         'Type' => 'ManyToOne',
    161         'Table' => 'File',
    162         'Id' => 'Id',
    163         'Ref' => 'Directory',
    164         'Filter' => '1',
     160      'Type' => 'ManyToOne',
     161      'Table' => 'File',
     162      'Id' => 'Id',
     163      'Ref' => 'Directory',
     164      'Filter' => '1',
    165165    ));
    166166    $this->System->FormManager->RegisterFormType('TDirectoryList', array(
    167                 'Type' => 'ManyToOne',
    168                 'Table' => 'FileDirectory',
    169                 'Id' => 'Id',
    170                 'Ref' => 'Parent',
    171                 'Filter' => '1',
     167      'Type' => 'ManyToOne',
     168      'Table' => 'FileDirectory',
     169      'Id' => 'Id',
     170      'Ref' => 'Parent',
     171      'Filter' => '1',
    172172    ));
    173173  }
  • trunk/Modules/File/MimeTypes.php

    r548 r738  
    4343  'jpe'   => array('image/jpeg', 'image/pjpeg'),
    4444  'js'    => array('application/x-javascript'),
    45   'json'  => array('application/json'), 
     45  'json'  => array('application/json'),
    4646  'lha'   => array('application/octet-stream'),
    4747  'log'   => array('text/plain', 'text/x-log'),
  • trunk/Modules/Finance/Bill.php

    r727 r738  
    44{
    55  var $SpecificSymbol = 1; // počítačová sít
    6   var $Checked; 
    7  
     6  var $Checked;
     7
    88  function GenerateHTML()
    99  {
     
    2121  function HtmlToPdf($HtmlCode)
    2222  {
    23         $Encoding = new Encoding();
    24         if($this->Checked == false) {
    25                 if(CommandExist('htmldoc')) {
    26                         $this->Checked = true;
    27                 } else throw new Exception('htmldoc is not installed.');
    28         }
     23    $Encoding = new Encoding();
     24    if($this->Checked == false) {
     25      if(CommandExist('htmldoc')) {
     26        $this->Checked = true;
     27      } else throw new Exception('htmldoc is not installed.');
     28    }
    2929    $Output = shell_exec('echo "'.addslashes($Encoding->FromUTF8($HtmlCode)).
    3030      '"|htmldoc --no-numbered --webpage --no-embedfonts --charset 8859-2 -t pdf -');
     
    3939  function ShowSubjectInfo($Subject)
    4040  {
    41         $BooleanText = array('Ne', 'Ano');
    42         $Output = $Subject['Name'].'<br>'.
     41    $BooleanText = array('Ne', 'Ano');
     42    $Output = $Subject['Name'].'<br>'.
    4343      $Subject['AddressStreet'].'<br>'.
    4444      $Subject['AddressPSC'].' '.$Subject['AddressTown'].'<br>';
     
    4747    if($Subject['Account'] != '') $Output .= 'Účet: '.$Subject['Account'].'<br>';
    4848    if($Subject['PayVAT'] != '') $Output .= 'Plátce DPH: '.$BooleanText[$Subject['PayVAT']].'<br>';
    49         return($Output);
     49    return($Output);
    5050  }
    5151
     
    8181    if($Invoice['Direction'] == -1)
    8282    {
    83         $Subject = $SubjectTo;
    84         $SubjectTo = $SubjectFrom;
    85         $SubjectFrom = $Subject;
     83      $Subject = $SubjectTo;
     84      $SubjectTo = $SubjectFrom;
     85      $SubjectFrom = $Subject;
    8686    }
    8787
  • trunk/Modules/Finance/Finance.php

    r737 r738  
    159159  function GetVATByType($TypeId)
    160160  {
    161         $Time = time();
    162         $DbResult = $this->Database->select('FinanceVAT', 'Value', '(Type='.$TypeId.
     161    $Time = time();
     162    $DbResult = $this->Database->select('FinanceVAT', 'Value', '(Type='.$TypeId.
    163163      ') AND (ValidFrom <= "'.TimeToMysqlDate($Time).'") AND ((ValidTo >= "'.
    164164      TimeToMysqlDate($Time).'") OR (ValidTo IS NULL)) LIMIT 1');
     
    204204      'DefaultSortOrder' => 1,
    205205      'Items' => array(
    206         'Direction' => array('Type' => 'TFinanceOperationDirection', 'Caption' => 'Směr', 'Default' => '1'),
    207         'DocumentLine' => array('Type' => 'TDocumentLine', 'Caption' => 'Dokladová řada', 'Default' => ''),
     206        'Direction' => array('Type' => 'TFinanceOperationDirection', 'Caption' => 'Směr', 'Default' => '1'),
     207        'DocumentLine' => array('Type' => 'TDocumentLine', 'Caption' => 'Dokladová řada', 'Default' => ''),
    208208        'BillCode' => array('Type' => 'String', 'Caption' => 'Označení', 'Default' => ''),
    209209        'Subject' => array('Type' => 'TSubject', 'Caption' => 'Subjekt', 'Default' => ''),
     
    274274      'DefaultSortOrder' => 1,
    275275      'Items' => array(
    276         'Direction' => array('Type' => 'TFinanceInvoiceDirection', 'Caption' => 'Směr', 'Default' => '1'),
    277         'DocumentLine' => array('Type' => 'TDocumentLine', 'Caption' => 'Dokladová řada', 'Default' => ''),
     276        'Direction' => array('Type' => 'TFinanceInvoiceDirection', 'Caption' => 'Směr', 'Default' => '1'),
     277        'DocumentLine' => array('Type' => 'TDocumentLine', 'Caption' => 'Dokladová řada', 'Default' => ''),
    278278        'BillCode' => array('Type' => 'String', 'Caption' => 'Označení', 'Default' => ''),
    279279        'Subject' => array('Type' => 'TSubject', 'Caption' => 'Subjekt', 'Default' => ''),
     
    286286        'PeriodFrom' => array('Type' => 'Date', 'Caption' => 'Období od', 'Default' => '', 'Null' => true),
    287287        'PeriodTo' => array('Type' => 'Date', 'Caption' => 'Období do', 'Default' => '', 'Null' => true),
    288         'Cash' => array('Type' => 'Boolean', 'Caption' => 'Platit hotově', 'Default' => ''),
     288        'Cash' => array('Type' => 'Boolean', 'Caption' => 'Platit hotově', 'Default' => ''),
    289289        'Items' => array('Type' => 'TFinanceInvoiceItemListInvoice', 'Caption' => 'Položky', 'Default' => ''),
    290290        'OperationRel' => array('Type' => 'TFinanceInvoiceOperationRelListInvoice', 'Caption' => 'Platba', 'Default' => ''),
     
    314314
    315315    $this->System->FormManager->RegisterFormType('TFinanceInvoiceDirection', array(
    316                 'Type' => 'Enumeration',
    317                 'States' => array(-1 => 'Příjem', 1 => 'Výdej'),
     316        'Type' => 'Enumeration',
     317        'States' => array(-1 => 'Příjem', 1 => 'Výdej'),
    318318    ));
    319319
     
    323323      'Items' => array(
    324324        'Name' => array('Type' => 'String', 'Caption' => 'Název', 'Default' => '0'),
    325         'Subject' => array('Type' => 'TSubject', 'Caption' => 'Subjekt', 'Default' => '0'),
     325        'Subject' => array('Type' => 'TSubject', 'Caption' => 'Subjekt', 'Default' => '0'),
    326326      ),
    327327    ));
     
    353353    ));
    354354    $this->System->FormManager->RegisterFormType('TFinanceTreasury', array(
    355         'Type' => 'Reference',
    356         'Table' => 'FinanceTreasury',
    357         'Id' => 'Id',
    358         'Name' => 'Name',
    359         'Filter' => '1',
     355      'Type' => 'Reference',
     356      'Table' => 'FinanceTreasury',
     357      'Id' => 'Id',
     358      'Name' => 'Name',
     359      'Filter' => '1',
    360360    ));
    361361    $this->System->FormManager->RegisterClass('FinanceBankAccount', array(
     
    374374        'LoginPassword' => array('Type' => 'String', 'Caption' => 'Přihlašovací heslo', 'Default' => ''),
    375375        'Operations' => array('Type' => 'TFinanceOperationListAccount', 'Caption' => 'Operace', 'Default' => ''),
    376         'Use' => array('Type' => 'Boolean', 'Caption' => 'Používat', 'Default' => '0'),
     376        'Use' => array('Type' => 'Boolean', 'Caption' => 'Používat', 'Default' => '0'),
    377377        'LastImportDate' => array('Type' => 'Date', 'Caption' => 'Datum posledního importu', 'Default' => ''),
    378378        'LastImportId' => array('Type' => 'String', 'Caption' => 'Id posledního importu', 'Default' => ''),
     
    380380          'ReadOnly' => true, 'Suffix' => 'Kč', 'SQL' => '(SELECT SUM(`FinanceOperation`.`Value` * `FinanceOperation`.`Direction`) FROM `FinanceOperation` '.
    381381          'WHERE `FinanceOperation`.`BankAccount`=#Id)'),
    382         'AutoImport' => array('Type' => 'Boolean', 'Caption' => 'Automaticky stahovat z banky', 'Default' => ''),
     382        'AutoImport' => array('Type' => 'Boolean', 'Caption' => 'Automaticky stahovat z banky', 'Default' => ''),
    383383      ),
    384384      'ItemActions' => array(
     
    388388    ));
    389389    $this->System->FormManager->RegisterFormType('TFinanceBankAccount', array(
    390         'Type' => 'Reference',
    391         'Table' => 'FinanceBankAccount',
    392         'Id' => 'Id',
    393         'Name' => 'Comment',
    394         'Filter' => '1',
     390      'Type' => 'Reference',
     391      'Table' => 'FinanceBankAccount',
     392      'Id' => 'Id',
     393      'Name' => 'Comment',
     394      'Filter' => '1',
    395395    ));
    396396    $this->System->FormManager->RegisterClass('FinanceBank', array(
     
    433433        'TopTariffPrice' => array('Type' => 'Integer', 'Caption' => 'Nejvyšší cena tarifu', 'Default' => '0', 'Suffix' => 'Kč'),
    434434        'ChangeAction' => array('Type' => 'TActionEnum', 'Caption' => 'Změna - akce', 'Default' => '', 'Null' => true),
    435                 'ChangeTime' => array('Type' => 'DateTime', 'Caption' => 'Změna - čas', 'Default' => '', 'Null' => true),
    436         'ChangeReplaceId' => array('Type' => 'TFinanceCharge', 'Caption' => 'Změna - položka', 'Default' => '0', 'Null' => true),
     435        'ChangeTime' => array('Type' => 'DateTime', 'Caption' => 'Změna - čas', 'Default' => '', 'Null' => true),
     436        'ChangeReplaceId' => array('Type' => 'TFinanceCharge', 'Caption' => 'Změna - položka', 'Default' => '0', 'Null' => true),
    437437      ),
    438438    ));
     
    475475    ));
    476476    $this->System->FormManager->RegisterFormType('TFinanceVAT', array(
    477         'Type' => 'Reference',
    478         'Table' => 'FinanceVAT',
    479         'Id' => 'Id',
    480         'Name' => 'Name',
    481         'Filter' => '1',
     477      'Type' => 'Reference',
     478      'Table' => 'FinanceVAT',
     479      'Id' => 'Id',
     480      'Name' => 'Name',
     481      'Filter' => '1',
    482482    ));
    483483    $this->System->FormManager->RegisterFormType('TFinanceVATType', array(
    484                 'Type' => 'Reference',
    485                 'Table' => 'FinanceVATType',
    486                 'Id' => 'Id',
    487                 'Name' => 'Name',
    488                 'Filter' => '1',
     484      'Type' => 'Reference',
     485      'Table' => 'FinanceVATType',
     486      'Id' => 'Id',
     487      'Name' => 'Name',
     488      'Filter' => '1',
    489489    ));
    490490    $this->System->FormManager->RegisterFormType('TBankAccount', array(
    491         'Type' => 'Reference',
    492         'Table' => 'FinanceBankAccount',
    493         'Id' => 'Id',
    494         'Name' => 'CONCAT(`Comment`, " (", `Number`, "/", '.
    495         '(SELECT `FinanceBank`.`Code` FROM `FinanceBank` WHERE `FinanceBank`.`Id`=`FinanceBankAccount`.`Bank`), ")")',
    496         'Filter' => '1',
     491      'Type' => 'Reference',
     492      'Table' => 'FinanceBankAccount',
     493      'Id' => 'Id',
     494      'Name' => 'CONCAT(`Comment`, " (", `Number`, "/", '.
     495      '(SELECT `FinanceBank`.`Code` FROM `FinanceBank` WHERE `FinanceBank`.`Id`=`FinanceBankAccount`.`Bank`), ")")',
     496      'Filter' => '1',
    497497    ));
    498498
     
    509509  function BeforeInsertFinanceOperation($Form)
    510510  {
    511         if(array_key_exists('Time', $Form->Values)) $Year = date("Y", $Form->Values['Time']);
    512           else $Year = date("Y", $Form->Values['ValidFrom']);
     511    if(array_key_exists('Time', $Form->Values)) $Year = date("Y", $Form->Values['Time']);
     512      else $Year = date("Y", $Form->Values['ValidFrom']);
    513513    $DocumentLine = $Form->Values['DocumentLine'];
    514514    $Form->Values['BillCode'] = $this->System->Modules['Finance']->GetNextDocumentLineNumber($DocumentLine, $Year);
  • trunk/Modules/Finance/Import.php

    r719 r738  
    2525    }
    2626  }
    27  
     27
    2828  function Prepare()
    29   {   
     29  {
    3030    $Finance = $this->System->Modules['Finance'];
    3131    $Finance->LoadMonthParameters(0);
     
    3939      {
    4040        if(substr($Data[$Key][$Key2], 0, 2) == '\"')
    41           $Data[$Key][$Key2] = substr($Data[$Key][$Key2], 2, -2); 
     41          $Data[$Key][$Key2] = substr($Data[$Key][$Key2], 2, -2);
    4242      }
    4343    }
    4444    $Header = array(
    45       0 => 'datum zaúčtování',         
     45      0 => 'datum zaúčtování',
    4646      1 => 'částka',
    4747      2 => 'měna',
     
    6060    //print_r($_POST['Source']);
    6161    //print_r($Data);
    62  
     62
    6363    if($Header != $Data[0]) $Output = 'Nekompatibilní struktura CSV';
    64     else 
     64    else
    6565    {
    6666      array_shift($Data);
     
    8585          $Subject = '? ('.$Value[5].')';
    8686        }
    87         if(!is_numeric($Subject)) 
     87        if(!is_numeric($Subject))
    8888        {
    8989          $Mode = 'Ručně';
    9090          $Style = 'style="background-color: LightPink;" ';
    91         } else 
     91        } else
    9292        {
    9393          $Mode = 'Automaticky';
    9494          $Style = '';
    9595        }
    96    
     96
    9797        if($Money < 0) $Text = 'Platba převodem';
    9898          else $Text = 'Přijatá platba';
     
    106106            '<td><input type="text" name="Taxable'.$I.'" value="1"/></td>'.
    107107            '<td><input type="text" name="Network'.$I.'" value="1"/></td>'.
    108             '</tr><tr><td colspan="7">'.implode(', ', $Value).'</td></tr>'; 
     108            '</tr><tr><td colspan="7">'.implode(', ', $Value).'</td></tr>';
    109109        $I++;
    110110      }
     
    114114        '<th>Datum</th><th>Var. symbol</th><th>Protiúčet</th><th>Částka [Kč]</th><th>Text</th><th>Zdanitelné</th><th>Síť</th></tr>';
    115115      $Output .= $Automatic.'</table>';
    116       $Output .= '<input type="hidden" name="ItemCount" value="'.$I.'"/>'; 
    117       $Output .= '<input type="submit" value="Zpracovat"/></form>';     
     116      $Output .= '<input type="hidden" name="ItemCount" value="'.$I.'"/>';
     117      $Output .= '<input type="submit" value="Zpracovat"/></form>';
    118118    }
    119119    return($Output);
    120120  }
    121  
     121
    122122  function InsertMoney($Subject, $Value, $Direction, $Cash, $Taxable, $Time, $Text, $DocumentLine)
    123123  {
     
    125125    $BillCode = $this->System->Modules['Finance']->GetNextDocumentLineNumber($DocumentLine, $Year);
    126126    // TODO: Fixed BankAccount=1, allow to select bank account for import
    127     $this->Database->insert('FinanceOperation', array('Text' => $Text, 
    128       'Subject' => $Subject, 'Cash' => $Cash, 'Value' => $Value, 'Direction' => $Direction, 
     127    $this->Database->insert('FinanceOperation', array('Text' => $Text,
     128      'Subject' => $Subject, 'Cash' => $Cash, 'Value' => $Value, 'Direction' => $Direction,
    129129      'Time' => TimeToMysqlDateTime($Time), 'Taxable' => $Taxable, 'BillCode' => $BillCode,
    130130      'BankAccount' => 1));
     
    136136    $Finance->LoadMonthParameters(0);
    137137    $Output = '';
    138    
     138
    139139    for($I = $_POST['ItemCount'] - 1; $I >= 0 ; $I--)
    140140    {
    141         // TODO: Use links to database records instead of contants
     141      // TODO: Use links to database records instead of contants
    142142      if($_POST['Money'.$I] < 0) {
    143         $DocumentLine = 4;
    144         $Direction = -1;
     143        $DocumentLine = 4;
     144        $Direction = -1;
    145145      } else {
    146         $DocumentLine = 3;
    147         $Direction = 1;
     146        $DocumentLine = 3;
     147        $Direction = 1;
    148148      }
    149149      $Date = explode('-', $_POST['Date'.$I]);
  • trunk/Modules/Finance/Manage.php

    r727 r738  
    109109    $SumValue = 0;
    110110    foreach($Items as $Item)
    111       $SumValue = $SumValue + ceil($Item['Price'] * $Item['Quantity']);   
     111      $SumValue = $SumValue + ceil($Item['Price'] * $Item['Quantity']);
    112112    $this->Database->insert('FinanceInvoice', array(
    113113      'Subject' => $Subject, 'Time' => TimeToMysqlDateTime($TimeCreation),
    114       'TimeDue' => TimeToMysqlDateTime($TimeDue), 'Value' => $SumValue, 
    115         'Direction' => $Direction, 'BillCode' => $BillCode,
     114      'TimeDue' => TimeToMysqlDateTime($TimeDue), 'Value' => $SumValue,
     115      'Direction' => $Direction, 'BillCode' => $BillCode,
    116116      'PeriodFrom' => TimeToMysqlDate($PeriodFrom), 'PeriodTo' => TimeToMysqlDate($PeriodTo),
    117117      'Generate' => 1, 'DocumentLine' => $DocumentLine));
     
    163163          $MonthlyTotal += $Service['Price'];
    164164        }
    165         $PayPerPeriod = $MonthlyTotal * $Period['MonthCount'];               
     165        $PayPerPeriod = $MonthlyTotal * $Period['MonthCount'];
    166166        // We can't produce negative invoice except storno invoice.
    167         // TODO: In case of negative invoice it is not sufficient to reverse invoicing direction 
    168         // Other subject should invoice only possitive items. Negative items should be somehow removed. 
     167        // TODO: In case of negative invoice it is not sufficient to reverse invoicing direction
     168        // Other subject should invoice only possitive items. Negative items should be somehow removed.
    169169        if($MonthlyTotal >= 0) {
    170                 $DocumentLine = DOC_LINE_INVOICE_OUT;       
    171                 $Direction = 1; // Standard out invoice
     170          $DocumentLine = DOC_LINE_INVOICE_OUT;
     171          $Direction = 1; // Standard out invoice
    172172        } else {
    173                 $DocumentLine = DOC_LINE_INVOICE_IN;
     173          $DocumentLine = DOC_LINE_INVOICE_IN;
    174174          $Direction = -1; // In case of negative total value generate reverse invoice for other subject
    175175          foreach($InvoiceItems as $Index => $Item)
    176                 $InvoiceItems[$Index]['Price'] = -$Item['Price'];
    177         }       
    178        
     176          $InvoiceItems[$Index]['Price'] = -$Item['Price'];
     177        }
     178
    179179        if($PayPerPeriod != 0)
    180180        {
     
    195195  function TableUpdateChanges($Table)
    196196  {
    197         $Time = time();
     197    $Time = time();
    198198    $DbResult = $this->Database->select($Table, '*', '(`ChangeAction` IS NOT NULL) AND '.
    199         '(`ChangeTime` <= "'.TimeToMysqlDateTime($Time).'") ORDER BY `ChangeTime` ASC');
     199      '(`ChangeTime` <= "'.TimeToMysqlDateTime($Time).'") ORDER BY `ChangeTime` ASC');
    200200    while($Service = $DbResult->fetch_array())
    201201    {
     
    225225  function ProcessTableUpdates()
    226226  {
    227         // Update finance charge
    228         $Output = 'Měním aktuální parametry sítě...<br>';
    229         $this->TableUpdateChanges('FinanceCharge');
    230        
    231         // Update services
    232         $Output .= 'Aktualizuji služby....<br>';
    233         $this->TableUpdateChanges('Service');
    234        
    235         // Update customer service selections
    236         $Output .= 'Aktualizuji výběr služeb zákazníků....<br>';
    237         $this->TableUpdateChanges('ServiceCustomerRel');
    238 
    239         return($Output);
    240   }
    241  
     227    // Update finance charge
     228    $Output = 'Měním aktuální parametry sítě...<br>';
     229    $this->TableUpdateChanges('FinanceCharge');
     230
     231    // Update services
     232    $Output .= 'Aktualizuji služby....<br>';
     233    $this->TableUpdateChanges('Service');
     234
     235    // Update customer service selections
     236    $Output .= 'Aktualizuji výběr služeb zákazníků....<br>';
     237    $this->TableUpdateChanges('ServiceCustomerRel');
     238
     239    return($Output);
     240  }
     241
    242242  function ProcessMonthlyPayment()
    243243  {
     
    246246
    247247    $Output .= $this->ProcessTableUpdates();
    248    
     248
    249249    $Finance = &$this->System->Modules['Finance'];
    250250    $Finance->LoadMonthParameters(0);
     
    282282      $Output .= 'Odečítám měsíční poplatek...<br />';
    283283      $Output .= $this->ProduceInvoices();
    284      
     284
    285285      $Output .= 'Přidávám měsíční přehled...<br />';
    286286      $DbResult = $this->Database->query('SELECT * FROM `FinanceCharge` WHERE (`ChangeAction` IS NULL) LIMIT 1');
     
    327327
    328328    $DbResult = $this->Database->query('SELECT `FinanceBankAccount`.*, '.
    329                 'CONCAT(`FinanceBankAccount`.`Number`, "/", `FinanceBank`.`Code`) AS `NumberFull` FROM `FinanceBankAccount` '.
     329      'CONCAT(`FinanceBankAccount`.`Number`, "/", `FinanceBank`.`Code`) AS `NumberFull` FROM `FinanceBankAccount` '.
    330330      'JOIN `FinanceBank` ON `FinanceBank`.`Id`=`FinanceBankAccount`.`Bank` '.
    331331      'WHERE (`FinanceBankAccount`.`Subject`='.$Config['Finance']['MainSubjectId'].') '.
    332         'AND (`FinanceBankAccount`.`Use`=1)');
     332      'AND (`FinanceBankAccount`.`Use`=1)');
    333333    $MainSubjectAccount = $DbResult->fetch_assoc();
    334334
     
    356356      $DbResult = $this->Database->query('SELECT T1.* FROM ((SELECT `Text`, `Time`, (`Value`*`Direction`) AS `Value`, `File` FROM `FinanceOperation` WHERE (`Subject`='.$Member['Subject'].')) UNION ALL '.
    357357        '(SELECT (SELECT GROUP_CONCAT(`Description` SEPARATOR ", ") FROM `FinanceInvoiceItem` '.
    358         'WHERE `FinanceInvoiceItem`.`FinanceInvoice` = `FinanceInvoice`.`Id`) AS `Text`, '.
    359         '`Time`, -(`Value`*`Direction`) AS `Value`, `File` FROM `FinanceInvoice` WHERE (`Subject`='.
     358        'WHERE `FinanceInvoiceItem`.`FinanceInvoice` = `FinanceInvoice`.`Id`) AS `Text`, '.
     359        '`Time`, -(`Value`*`Direction`) AS `Value`, `File` FROM `FinanceInvoice` WHERE (`Subject`='.
    360360        $Member['Subject'].')) ORDER BY `Time` DESC) AS `T1` WHERE (`T1`.`Time` > "'.$Member['BillingPeriodLastDate'].'")');
    361361      while($DbRow = $DbResult->fetch_assoc())
  • trunk/Modules/Finance/UserState.php

    r728 r738  
    99  function ShowFinanceOperation($Subject)
    1010  {
    11         $UserOperationTableQuery = '((SELECT `Text`, `Time`, (`Value`*`Direction`) AS `Value`, `File`, `BillCode`, NULL AS `PeriodFrom`, NULL AS `PeriodTo` '.
    12           'FROM `FinanceOperation` WHERE (`Subject`='.$Subject['Id'].')) UNION ALL '.
    13                 '(SELECT (SELECT GROUP_CONCAT(`Description` SEPARATOR ",") FROM `FinanceInvoiceItem` WHERE `FinanceInvoice`=`FinanceInvoice`.`Id`) AS `Text`, '.
    14                 '`Time`, -(`Value`*`Direction`) AS `Value`, `File`, `BillCode`, `PeriodFrom`, `PeriodTo` FROM `FinanceInvoice` WHERE (`Subject`='.$Subject['Id'].')))';
     11    $UserOperationTableQuery = '((SELECT `Text`, `Time`, (`Value`*`Direction`) AS `Value`, `File`, `BillCode`, NULL AS `PeriodFrom`, NULL AS `PeriodTo` '.
     12      'FROM `FinanceOperation` WHERE (`Subject`='.$Subject['Id'].')) UNION ALL '.
     13      '(SELECT (SELECT GROUP_CONCAT(`Description` SEPARATOR ",") FROM `FinanceInvoiceItem` WHERE `FinanceInvoice`=`FinanceInvoice`.`Id`) AS `Text`, '.
     14      '`Time`, -(`Value`*`Direction`) AS `Value`, `File`, `BillCode`, `PeriodFrom`, `PeriodTo` FROM `FinanceInvoice` WHERE (`Subject`='.$Subject['Id'].')))';
    1515
    1616    $Output = '<div style="text-align:center">Výpis finančních operací</div>';
    17         $DbResult = $this->Database->query('SELECT COUNT(*) FROM '.$UserOperationTableQuery.' AS `T1`');
    18         $DbRow = $DbResult->fetch_row();
    19         $PageList = GetPageList($DbRow[0]);
     17    $DbResult = $this->Database->query('SELECT COUNT(*) FROM '.$UserOperationTableQuery.' AS `T1`');
     18    $DbRow = $DbResult->fetch_row();
     19    $PageList = GetPageList($DbRow[0]);
    2020
    21         $Output .= $PageList['Output'];
    22         $Output .= '<table class="WideTable" style="font-size: small;">';
     21    $Output .= $PageList['Output'];
     22    $Output .= '<table class="WideTable" style="font-size: small;">';
    2323
    24         $TableColumns = array(
    25                         array('Name' => 'Time', 'Title' => 'Datum'),
    26                         array('Name' => 'Text', 'Title' => 'Popis'),
    27                         array('Name' => 'Value', 'Title' => 'Změna [Kč]'),
    28                         array('Name' => 'State', 'Title' => 'Zůstatek [Kč]'),
    29                         array('Name' => 'PeriodFrom', 'Title' => 'Období'),
    30                         array('Name' => 'BillCode', 'Title' => 'Doklad'),
    31         );
    32         $Order = GetOrderTableHeader($TableColumns, 'Time', 1);
    33         $Output .= $Order['Output'];
     24    $TableColumns = array(
     25        array('Name' => 'Time', 'Title' => 'Datum'),
     26        array('Name' => 'Text', 'Title' => 'Popis'),
     27        array('Name' => 'Value', 'Title' => 'Změna [Kč]'),
     28        array('Name' => 'State', 'Title' => 'Zůstatek [Kč]'),
     29        array('Name' => 'PeriodFrom', 'Title' => 'Období'),
     30        array('Name' => 'BillCode', 'Title' => 'Doklad'),
     31    );
     32    $Order = GetOrderTableHeader($TableColumns, 'Time', 1);
     33    $Output .= $Order['Output'];
    3434
    35         $StateQuery = 'SELECT SUM(`T2`.`Value`) FROM '.$UserOperationTableQuery.
    36           ' AS `T2` WHERE `T2`.`Time` <= `T1`.`Time` ';
    37         $Query = 'SELECT *, ('.$StateQuery.') AS `State` FROM '.$UserOperationTableQuery.' AS `T1` '.$Order['SQL'].$PageList['SQLLimit'];
     35    $StateQuery = 'SELECT SUM(`T2`.`Value`) FROM '.$UserOperationTableQuery.
     36      ' AS `T2` WHERE `T2`.`Time` <= `T1`.`Time` ';
     37    $Query = 'SELECT *, ('.$StateQuery.') AS `State` FROM '.$UserOperationTableQuery.' AS `T1` '.$Order['SQL'].$PageList['SQLLimit'];
    3838
    39         $DbResult = $this->Database->query($Query);
     39    $DbResult = $this->Database->query($Query);
    4040    $SumValue = 0;
    41         while($Row = $DbResult->fetch_assoc())
    42         {
    43                 $Row['State'] = round($Row['State'], 2);
    44                 if($Row['State'] > 0) $Row['State'] = '<span style="color:green;">'.$Row['State'].'</span>';
    45                 if($Row['State'] < 0) $Row['State'] = '<span style="color:red;">'.$Row['State'].'</span>';
    46                 if($Row['Value'] == -0) $Row['Value'] = 0;
    47                 if($Row['Value'] > 0) $Row['Value'] = '+'.$Row['Value'];
    48                 if($Row['BillCode'] == '') $Row['BillCode'] = 'PDF';
    49                 if($Row['File'] > 0) $Invoice = '<a href="'.$this->System->Link('/file?id='.$Row['File']).'">'.$Row['BillCode'].'</a>';
    50                 else $Invoice = NotBlank($Row['BillCode']);
    51                 if($Row['PeriodFrom'] != '') $Period = HumanDate($Row['PeriodFrom']).' - '.HumanDate($Row['PeriodTo']);
    52                 else $Period = '&nbsp;';
    53                 $Output .= '<tr><td style="text-align: right;">'.HumanDate($Row['Time']).'</td>'.
    54                                 '<td style="text-align: left;">'.$Row['Text'].'</td>'.
    55                                 '<td style="text-align: right;">'.round($Row['Value'], 2).'</td>'.
    56                                 '<td style="text-align: right;">'.$Row['State'].'</td>'.
    57                                 '<td>'.$Period.'</td>'.
    58                                 '<td>'.$Invoice.'</td></tr>';
    59                 $SumValue = $SumValue + $Row['Value'];
    60         }
    61         $Output .= '</table>';
    62         $Output .= $PageList['Output'];
    63         return($Output);
     41    while($Row = $DbResult->fetch_assoc())
     42    {
     43      $Row['State'] = round($Row['State'], 2);
     44      if($Row['State'] > 0) $Row['State'] = '<span style="color:green;">'.$Row['State'].'</span>';
     45      if($Row['State'] < 0) $Row['State'] = '<span style="color:red;">'.$Row['State'].'</span>';
     46      if($Row['Value'] == -0) $Row['Value'] = 0;
     47      if($Row['Value'] > 0) $Row['Value'] = '+'.$Row['Value'];
     48      if($Row['BillCode'] == '') $Row['BillCode'] = 'PDF';
     49      if($Row['File'] > 0) $Invoice = '<a href="'.$this->System->Link('/file?id='.$Row['File']).'">'.$Row['BillCode'].'</a>';
     50      else $Invoice = NotBlank($Row['BillCode']);
     51      if($Row['PeriodFrom'] != '') $Period = HumanDate($Row['PeriodFrom']).' - '.HumanDate($Row['PeriodTo']);
     52      else $Period = '&nbsp;';
     53      $Output .= '<tr><td style="text-align: right;">'.HumanDate($Row['Time']).'</td>'.
     54          '<td style="text-align: left;">'.$Row['Text'].'</td>'.
     55          '<td style="text-align: right;">'.round($Row['Value'], 2).'</td>'.
     56          '<td style="text-align: right;">'.$Row['State'].'</td>'.
     57          '<td>'.$Period.'</td>'.
     58          '<td>'.$Invoice.'</td></tr>';
     59      $SumValue = $SumValue + $Row['Value'];
     60    }
     61    $Output .= '</table>';
     62    $Output .= $PageList['Output'];
     63    return($Output);
    6464  }
    6565
     
    8585      } else return($this->SystemMessage('Chyba', 'Nejste zákazníkem'));
    8686    }
    87        
     87
    8888    // Load customer info
    8989    $DbResult = $this->Database->query('SELECT * FROM `Member` WHERE `Id`='.$CustomerId);
    9090    if($DbResult->num_rows == 1)
    9191    {
    92         $Customer = $DbResult->fetch_assoc();     
     92      $Customer = $DbResult->fetch_assoc();
    9393    } else return($this->SystemMessage('Položka nenalezena', 'Zákazník nenalezen'));
    94    
    95    
     94
     95
    9696    // Load subject info
    9797    $DbResult = $this->Database->query('SELECT * FROM `Subject` WHERE `Id`='.$Customer['Subject']);
    9898    if($DbResult->num_rows == 1)
    99     {   
    100       $Subject = $DbResult->fetch_assoc();     
     99    {
     100      $Subject = $DbResult->fetch_assoc();
    101101    } else return($this->SystemMessage('Položka nenalezena', 'Subjekt nenalezen'));
    102    
    103    
    104     $Output = '<table width="100%" border="0" cellspacing="0" cellpadding="3"><tr><td valign="top">';       
     102
     103
     104    $Output = '<table width="100%" border="0" cellspacing="0" cellpadding="3"><tr><td valign="top">';
    105105
    106106    // Account state
     
    120120
    121121    $DbResult = $this->Database->query('SELECT FinanceBankAccount.*, CONCAT(FinanceBankAccount.Number, "/", FinanceBank.Code) AS NumberFull FROM FinanceBankAccount '.
    122                 'JOIN FinanceBank ON FinanceBank.Id=FinanceBankAccount.Bank '.
    123                 'WHERE (FinanceBankAccount.`Subject`='.$this->System->Config['Finance']['MainSubjectId'].') AND (FinanceBankAccount.`Use`=1)');
     122        'JOIN FinanceBank ON FinanceBank.Id=FinanceBankAccount.Bank '.
     123        'WHERE (FinanceBankAccount.`Subject`='.$this->System->Config['Finance']['MainSubjectId'].') AND (FinanceBankAccount.`Use`=1)');
    124124    $SubjectFromAccount = $DbResult->fetch_assoc();
    125125    $Account = $SubjectFromAccount['NumberFull'];
     
    138138    while($DbRow = $DbResult->fetch_assoc())
    139139    {
    140             $Output .= '<tr><td>'.$DbRow['Name'].'</td><td>'.$DbRow['Price'].'</td></tr>';
     140      $Output .= '<tr><td>'.$DbRow['Name'].'</td><td>'.$DbRow['Price'].'</td></tr>';
    141141      $Total += $DbRow['Price'];
    142142    }
  • trunk/Modules/Finance/Zivnost.php

    r724 r738  
    5050    $Balance['SmallAssets']['End'] = $Row[0] + 0;
    5151    return($Balance);
    52   } 
     52  }
    5353
    5454  function Show()
     
    142142        $Output .= '<strong>Příjmy za rok '.$Year['Year'].'</strong>';
    143143        $Output .= '<table style="font-size: smaller;" class="WideTable">';
    144         $Output .= '<tr><th>Čas</th><th>Kód</th><th>Subjekt</th><th>Text</th><th>Hodnota [Kč]</th><th>Daňový</th><th>Hotovost</th></tr>';       
     144        $Output .= '<tr><th>Čas</th><th>Kód</th><th>Subjekt</th><th>Text</th><th>Hodnota [Kč]</th><th>Daňový</th><th>Hotovost</th></tr>';
    145145        $DbResult = $this->Database->query('SELECT * FROM FinanceOperation LEFT JOIN Subject ON Subject.Id = FinanceOperation.Subject '.
    146146          'WHERE (Direction = 1) AND (FinanceOperation.Time >= "'.$Year['DateStart'].'") AND (FinanceOperation.Time <= "'.$Year['DateEnd'].'") ORDER BY Time');
     
    172172        $Output .= '<strong>Výdaje za rok '.$Year['Year'].'</strong>';
    173173        $Output .= '<table style="font-size: smaller;" class="WideTable">';
    174         $Output .= '<tr><th>Čas</th><th>Kód</th><th>Subjekt</th><th>Text</th><th>Hodnota [Kč]</th><th>Daňový</th><th>Hotovost</th></tr>';       
     174        $Output .= '<tr><th>Čas</th><th>Kód</th><th>Subjekt</th><th>Text</th><th>Hodnota [Kč]</th><th>Daňový</th><th>Hotovost</th></tr>';
    175175        $DbResult = $this->Database->query('SELECT * FROM FinanceOperation LEFT JOIN Subject ON Subject.Id = FinanceOperation.Subject '.
    176176          'WHERE (Direction = -1) AND (FinanceOperation.Time >= "'.$Year['DateStart'].'") AND (FinanceOperation.Time <= "'.$Year['DateEnd'].'") ORDER BY Time');
     
    197197        $DbResult = $this->Database->select('FinanceYear', '*', 'Id='.$_GET['year']);
    198198        $Year = $DbResult->fetch_assoc();
    199        
     199
    200200        $Total = 0;
    201201        $Output .= '<strong>Pohledávky za rok '.$Year['Year'].'</strong>';
     
    234234          $Row['Value'] = $Row['Value'] * -1;
    235235          $Output .= '<tr><td>'.HumanDate($Row['Time']).'</td><td>'.$Row['BillCode'].
    236             '</td><td>'.$Row['Name'].'</td><td>'.$Row['Text'].'</td><td>'.($Row['Value'] * $Row['Direction']).'</td></tr>';         
     236            '</td><td>'.$Row['Name'].'</td><td>'.$Row['Text'].'</td><td>'.($Row['Value'] * $Row['Direction']).'</td></tr>';
    237237          $Total += $Row['Value'];
    238238        }
     
    288288        $Output .= '<tr><th>Datum vytvoření</th><th>Datum zaplacení</th><th>Název</th><th>Hodnota [Kč]</th><th>Doklad</th></tr>';
    289289        $DbResult = $this->Database->select('FinanceInvoice', '*, (SELECT GROUP_CONCAT(Description SEPARATOR ",") '.
    290                 'FROM FinanceInvoiceItem WHERE FinanceInvoiceItem.FinanceInvoice = FinanceInvoice.Id) AS Text',
    291                 'Subject='.$_GET['Id'].' ORDER BY Time');
     290          'FROM FinanceInvoiceItem WHERE FinanceInvoiceItem.FinanceInvoice = FinanceInvoice.Id) AS Text',
     291          'Subject='.$_GET['Id'].' ORDER BY Time');
    292292        while($Row = $DbResult->fetch_array())
    293293        {
     
    317317          'WHERE (FinanceInvoice.Subject = Subject.Id) AND (FinanceInvoice.Direction = -1) '.
    318318          'AND (TimePayment IS NULL)) AS OpenedLiabilities, '.
    319                 '(SELECT SUM(FinanceOperation.Value*FinanceOperation.Direction) '.
     319          '(SELECT SUM(FinanceOperation.Value*FinanceOperation.Direction) '.
    320320          'FROM FinanceOperation WHERE FinanceOperation.Subject = Subject.Id AND FinanceOperation.Direction = 1) '.
    321321          'AS Gains, (SELECT SUM(FinanceOperation.Value*FinanceOperation.Direction) FROM FinanceOperation WHERE '.
     
    341341        $Output .= '<strong>Roční přehledy</strong><br/>';
    342342        $Output .= $this->ShowFinanceYears();
    343         if(array_key_exists('year', $_GET)) 
     343        if(array_key_exists('year', $_GET))
    344344        {
    345345          $Year = $_GET['year'] * 1;
     
    353353    return($Output);
    354354  }
    355  
     355
    356356  function ShowFinanceYears()
    357357  {
  • trunk/Modules/FinanceBankAPI/FileImport.php

    r719 r738  
    88  var $Database;
    99  var $BankAccount;
    10  
     10
    1111  function __construct($System)
    1212  {
     
    1414    $this->System = &$System;
    1515  }
    16      
     16
    1717  function Import()
    1818  {
    1919  }
    20  
     20
    2121  function ImportFile($Content, $Ext)
    22   {   
     22  {
    2323  }
    24  
     24
    2525  function PairOperations()
    2626  {
     
    3232        $DbResult2 = $this->Database->select('Subject', 'Id', 'Id='.$DbRow['VariableSymbol']);
    3333        if($DbResult2->num_rows == 1)
    34         { 
     34        {
    3535          $DbRow2 = $DbResult2->fetch_assoc();
    36           // TODO: Replace constants by links to real database numbers 
     36          // TODO: Replace constants by links to real database numbers
    3737          if($DbRow['Value'] >= 0) {
    38                 $DocumentLine = 3; // Receive money
    39                 $Direction = 1;                 
     38            $DocumentLine = 3; // Receive money
     39            $Direction = 1;
    4040          } else {
    41                 $DocumentLine = 4; // Send money
    42                 $Direction = -1;
     41            $DocumentLine = 4; // Send money
     42            $Direction = -1;
    4343          }
    4444          $Year = date('Y', MysqlDateToTime($DbRow['Time']));
    4545          $BillCode = $this->System->Modules['Finance']->GetNextDocumentLineNumber($DocumentLine, $Year);
    46           $DbResult3 = $this->Database->insert('FinanceOperation', array('Subject' => $DbRow2['Id'], 'Cash' => 0, 
     46          $DbResult3 = $this->Database->insert('FinanceOperation', array('Subject' => $DbRow2['Id'], 'Cash' => 0,
    4747            'Value' => Abs($DbRow['Value']), 'Direction' => $Direction, 'Taxable' => 1, 'BankAccount' => $DbRow['BankAccount'], 'Network' => 1,
    4848            'Time' => $DbRow['Time'], 'Text' => $DbRow['Description'], 'BillCode' => $BillCode, 'DocumentLine' => $DocumentLine));
     
    6161
    6262  function Show()
    63   {   
     63  {
    6464    $Output = '';
    6565    if(!$this->System->User->CheckPermission('Finance', 'SubjectList')) return('Nemáte oprávnění');
    66      
     66
    6767    $DbResult = $this->Database->select('FinanceBankAccount', '*', 'Id='.$_GET['i']);
    6868    $BankAccount = $DbResult->fetch_assoc();
    69    
     69
    7070    $DbResult = $this->Database->select('FinanceBank', '*', 'Id='.$BankAccount['Bank']);
    7171    $Bank = $DbResult->fetch_assoc();
    7272    $Output .= 'Účet: '.$BankAccount['Number'].'/'.$Bank['Code'].' ('.$Bank['Name'].')';
    73    
     73
    7474    if($Bank['Code'] == '2010') $Import = new ImportFio($this->System);
    7575      else if($Bank['Code'] == '0300') $Import = new ImportPS($this->System);
     
    8080      $Output .= $Import->Import();
    8181      $Import->PairOperations();
    82     } 
     82    }
    8383    return($Output);
    8484  }
    8585}
    86  
     86
    8787class PageImportFile extends Page
    8888{
     
    9090  var $ShortTitle = 'Import plateb ze souboru';
    9191  var $ParentClass = 'PageFinance';
    92  
     92
    9393  function Show()
    9494  {
     
    103103    return($Output);
    104104  }
    105  
     105
    106106  function ShowForm()
    107107  {
     
    113113    return($Output);
    114114  }
    115  
     115
    116116  function Prepare()
    117   {   
     117  {
    118118    $Form = new Form($this->System->FormManager);
    119119    $Form->SetClass('ImportBankFile');
     
    125125    $DbResult = $this->Database->select('FinanceBankAccount', '*', 'Id='.$Form->Values['BankAccount']);
    126126    $BankAccount = $DbResult->fetch_assoc();
    127    
     127
    128128    $DbResult = $this->Database->select('FinanceBank', '*', 'Id='.$BankAccount['Bank']);
    129129    $Bank = $DbResult->fetch_assoc();
    130130    $Output .= 'Účet: '.$BankAccount['Number'].'/'.$Bank['Code'].' ('.$Bank['Name'].')';
    131    
     131
    132132    if($Bank['Code'] == '2010') $Import = new ImportFio($this->System);
    133133      else if($Bank['Code'] == '0300') $Import = new ImportPS($this->System);
     
    135135    $Import->BankAccount = $BankAccount;
    136136    $Output .= $Import->ImportFile($File->GetContent(), $File->GetExt());
    137    
     137
    138138    return($Output);
    139139  }
    140  
     140
    141141  function InsertMoney($Subject, $Value, $Direction, $Cash, $Taxable, $Time, $Text, $DocumentLine)
    142142  {
    143     $Year = date('Y', $Time);     
     143    $Year = date('Y', $Time);
    144144    $BillCode = $this->System->Modules['Finance']->GetNextDocumentLineNumber($DocumentLine, $Year);
    145     $this->Database->insert('FinanceOperation', array('Text' => $Text, 
    146         'Subject' => $Subject, 'Cash' => $Cash, 'Value' => $Value, 'Direction' => $Direction,
    147         'Time' => TimeToMysqlDateTime($Time), 'Taxable' => $Taxable, 'BillCode' => $BillCode));
     145    $this->Database->insert('FinanceOperation', array('Text' => $Text,
     146      'Subject' => $Subject, 'Cash' => $Cash, 'Value' => $Value, 'Direction' => $Direction,
     147      'Time' => TimeToMysqlDateTime($Time), 'Taxable' => $Taxable, 'BillCode' => $BillCode));
    148148  }
    149149
     
    152152    $Finance = $this->System->Modules['Finance'];
    153153    $Output = '';
    154    
     154
    155155    for($I = $_POST['ItemCount'] - 1; $I >= 0 ; $I--)
    156156    {
    157157      // TODO: Use links to database records instead of contants
    158158      if($_POST['Money'.$I] < 0) {
    159         $DocumentLine = 4;
    160         $Direction = -1;
     159        $DocumentLine = 4;
     160        $Direction = -1;
    161161      } else {
    162         $DocumentLine = 3;
    163         $Direction = 1;
     162        $DocumentLine = 3;
     163        $Direction = 1;
    164164      }
    165         $Date = explode('-', $_POST['Date'.$I]);
     165      $Date = explode('-', $_POST['Date'.$I]);
    166166      $Date = mktime(0, 0, 0, $Date[1], $Date[2], $Date[0]);
    167167      $this->InsertMoney($_POST['Subject'.$I], Abs($_POST['Money'.$I]), $Direction, 0, $_POST['Taxable'.$I], $Date, $_POST['Text'.$I], $DocumentLine);
  • trunk/Modules/FinanceBankAPI/FinanceBankAPI.php

    r735 r738  
    5959
    6060    $this->System->RegisterPage(array('finance', 'import-api'), 'PageImportAPI');
    61     $this->System->RegisterPage(array('finance', 'import-soubor'), 'PageImportFile');   
     61    $this->System->RegisterPage(array('finance', 'import-soubor'), 'PageImportFile');
    6262  }
    6363
     
    7979      'presetBankAccount' => $Item['BankAccount'],
    8080      'presetDocumentLine' => $DocumentLine);
    81         return($Preset);
     81    return($Preset);
    8282  }
    8383}
     
    8585class ScheduleBankImport extends SchedulerTask
    8686{
    87         function Execute()
    88         {
    89                 $Output = '';
    90                 $DbResult = $this->Database->select('FinanceBankAccount', 'Id, Comment',
    91                         '(`AutoImport`=1) AND ((`TimeEnd` IS NULL) OR (`TimeEnd` > NOW()))');
    92                 while($DbRow = $DbResult->fetch_assoc())
    93                 {                       
    94                         echo($DbRow['Comment']."\n");
    95                         $Page = new PageImportAPI($this->System);
    96                         $Output .= $Page->Show();
    97                 }
    98                 return($Output);
    99         }
     87  function Execute()
     88  {
     89    $Output = '';
     90    $DbResult = $this->Database->select('FinanceBankAccount', 'Id, Comment',
     91      '(`AutoImport`=1) AND ((`TimeEnd` IS NULL) OR (`TimeEnd` > NOW()))');
     92    while($DbRow = $DbResult->fetch_assoc())
     93    {
     94      echo($DbRow['Comment']."\n");
     95      $Page = new PageImportAPI($this->System);
     96      $Output .= $Page->Show();
     97    }
     98    return($Output);
     99  }
    100100}
  • trunk/Modules/FinanceBankAPI/Fio.php

    r550 r738  
    11<?php
    2  
     2
    33include('GPC.php');
    4  
    5 class Fio 
     4
     5class Fio
    66{
    77  var $UserName;
    88  var $Password;
    9   var $Account; 
    10  
     9  var $Account;
     10
    1111  function Import($TimeFrom, $TimeTo)
    1212  {
     
    1414    if($this->Password == '') throw new Exception('Missing value for Password property.');
    1515    if(!is_numeric($this->Account)) throw new Exception('Missing or not numeric value for Account property.');
    16  
     16
    1717    $fp = fsockopen('ssl://www.fio.cz', 443, $errno, $errstr, 30);
    18     if(!$fp) 
     18    if(!$fp)
    1919    {
    2020      throw new Exception('Connection error: '.$errstr);
    21     } else 
     21    } else
    2222    {
    2323      // Send request
     
    3232      $Request .= "Connection: Close\r\n\r\n";
    3333      fwrite($fp, $Request);
    34  
     34
    3535      // Read response
    3636      $Response = array();
    37       while(!feof($fp)) 
     37      while(!feof($fp))
    3838      {
    3939        $Response[] = trim(fgets($fp, 1024));
    4040      }
    4141      fclose($fp);
    42  
     42
    4343      // Strip HTTP header
    4444      while($Response[0] != '') array_shift($Response);
    4545      array_shift($Response); // Remove empty line
    4646      //echo(implode("\n", $Response));
    47  
     47
    4848      // Parse all GPC lines
    4949      $GPC = new GPC();
     
    5858    }
    5959  }
    60  
     60
    6161  function NoValidDataError($Response)
    6262  {
    6363    // Try to get error message
    6464    // If something go wrong fio show HTML login page and display error message
    65         $Response = implode('', $Response);
     65  $Response = implode('', $Response);
    6666    $ErrorMessageStart = '<div id="oldform_warning">';
    67     if(strpos($Response, $ErrorMessageStart) !== false) 
    68         {
    69           $Response = substr($Response, strpos($Response, $ErrorMessageStart) + strlen($ErrorMessageStart));
    70           $ErrorMessage = trim(substr($Response, 0, strpos($Response, '</div>')));
    71         } else $ErrorMessage = '';
    72         throw new Exception('No valid GPC data: '.$ErrorMessage);
     67    if(strpos($Response, $ErrorMessageStart) !== false)
     68  {
     69    $Response = substr($Response, strpos($Response, $ErrorMessageStart) + strlen($ErrorMessageStart));
     70    $ErrorMessage = trim(substr($Response, 0, strpos($Response, '</div>')));
     71  } else $ErrorMessage = '';
     72  throw new Exception('No valid GPC data: '.$ErrorMessage);
    7373  }
    7474}
  • trunk/Modules/FinanceBankAPI/FioAPI.php

    r628 r738  
    11<?php
    2  
     2
    33// Specifikace API: http://www.fio.cz/docs/cz/API_Bankovnictvi.pdf
    44
     
    1010    else return($Text);
    1111}
    12  
     12
    1313class FioAPI
    1414{
     
    1616  var $Encoding;
    1717  var $Format;
    18  
     18
    1919  function __construct()
    2020  {
     
    2222    $this->Format = 'csv';
    2323  }
    24  
     24
    2525  function Import($TimeFrom, $TimeTo)
    2626  {
    2727    if($this->Token == '') throw new Exception('Missing value for Token property.');
    28  
     28
    2929    // URL format: https://www.fio.cz/ib_api/rest/periods/{token}/{datum od}/{datum do}/transactions.{format}
    3030    // Send request
     
    3232      date('Y-m-d', $TimeFrom).'/'.date('Y-m-d', $TimeTo).'/transactions.'.$this->Format;
    3333    $Response = file_get_contents('https://www.fio.cz'.$RequestURL);
    34     if($Response == FALSE) 
     34    if($Response == FALSE)
    3535    {
    3636      throw new Exception('Connection error');
    37     } else 
     37    } else
    3838    {
    3939      if($this->Format == 'gpc') $Response = iconv('windows-1250', $this->Encoding, $Response);
    4040      $Response = explode("\n", $Response);
    41      
     41
    4242      if($this->Format == 'gpc')
    43       {       
     43      {
    4444        // Parse all GPC lines
    4545        $GPC = new GPC();
     
    5757          'Items' => array(),
    5858        );
    59        
     59
    6060        // CVS header
    61         while($Response[0] != '') 
     61        while($Response[0] != '')
    6262        {
    6363          $Line = explode(';', $Response[0]);
    6464          if($Line[0] == 'accountId') $Result['AccountNumber'] = $Line[0];
    65           else if($Line[0] == 'bankId') $Result['BankId'] = $Line[0]; 
     65          else if($Line[0] == 'bankId') $Result['BankId'] = $Line[0];
    6666          else if($Line[0] == 'currency') $Result['Currency'] = $Line[0];
    6767          else if($Line[0] == 'iban') $Result['IBAN'] = $Line[0];
     
    7272          else if($Line[0] == 'dateEnd') $Result['DateEnd'] = $Line[0];
    7373          else if($Line[0] == 'idFrom') $Result['IdFrom'] = $Line[0];
    74           else if($Line[0] == 'idTo') $Result['IdTo'] = $Line[0];           
     74          else if($Line[0] == 'idTo') $Result['IdTo'] = $Line[0];
    7575          array_shift($Response);
    7676        }
     
    8686          $Date = explode('.', $Line[1]);
    8787          $Date = mktime(0, 0, 0, $Date[1], $Date[0], $Date[2]);
    88           $NewRecord = array('ID' => $Line[0], 'Date' => $Date, 'Value' => $Line[2], 'CurrencyCode' => $Line[3], 
     88          $NewRecord = array('ID' => $Line[0], 'Date' => $Date, 'Value' => $Line[2], 'CurrencyCode' => $Line[3],
    8989            'OffsetAccount' => $Line[4], 'OffsetAccountName' => $Line[5], 'BankCode' => $Line[6], 'BankName' => RemoveComma($Line[7]),
    9090            'ConstantSymbol' => $Line[8], 'VariableSymbol' => $Line[9], 'SpecificSymbol' => $Line[10],
    91             'UserIdent' => RemoveComma($Line[11]), 'Message' => RemoveComma($Line[12]), 'Type' => RemoveComma($Line[13]), 
    92             'User' => RemoveComma($Line[14]), 'Details' => RemoveComma($Line[15]), 'Comment' => RemoveComma($Line[16]), 
     91            'UserIdent' => RemoveComma($Line[11]), 'Message' => RemoveComma($Line[12]), 'Type' => RemoveComma($Line[13]),
     92            'User' => RemoveComma($Line[14]), 'Details' => RemoveComma($Line[15]), 'Comment' => RemoveComma($Line[16]),
    9393            'BIC' => $Line[17], 'OrderID' => $Line[18]);
    94           $Result['Items'][] = $NewRecord;         
     94          $Result['Items'][] = $NewRecord;
    9595        }
    9696      }
     
    9898    }
    9999  }
    100  
     100
    101101  function NoValidDataError($Response)
    102102  {
     
    105105    $Response = implode('', $Response);
    106106    $ErrorMessageStart = '<div id="oldform_warning">';
    107     if(strpos($Response, $ErrorMessageStart) !== false) 
     107    if(strpos($Response, $ErrorMessageStart) !== false)
    108108    {
    109109      $Response = substr($Response, strpos($Response, $ErrorMessageStart) + strlen($ErrorMessageStart));
  • trunk/Modules/FinanceBankAPI/FioDemo.php

    r548 r738  
    11<?php
    2  
     2
    33include('FioAPI.php');
    4  
     4
    55$Fio = new FioAPI();
    66$Fio->Token = '';
     
    1414{
    1515  echo('<tr>');
    16   if($Record['Type'] == GPC_TYPE_REPORT) 
     16  if($Record['Type'] == GPC_TYPE_REPORT)
    1717  {
    1818    echo('<td>Jméno účtu: '.$Record['AccountName'].'</td>');
     
    2222    echo('<td>Suma příjmů: '.$Record['CreditValue'].' Kč</td>');
    2323    echo('<td>Suma výdajů: '.$Record['DebitValue'].' Kč</td>');
    24  
     24
    2525    echo('</tr></table><br><br>');
    2626    echo('<table border="1"><tr>');
    27  
     27
    2828    echo('<th>Datum</th>');
    2929    echo('<th>Částka</th>');
     
    3535    echo('<th>Uživatelská identifikace</th>');
    3636  } else
    37   if($Record['Type'] == GPC_TYPE_ITEM) 
     37  if($Record['Type'] == GPC_TYPE_ITEM)
    3838  {
    3939    echo('<td>'.date('j.n.Y', $Record['DueDate']).'</td>');
     
    4545    echo('<td>'.$Record['SpecificSymbol'].'</td>');
    4646    echo('<td>'.$Record['ClientName'].'</td>');
    47   }         
     47  }
    4848  echo('</tr>');
    49  
     49
    5050}
    5151echo('</table>');
  • trunk/Modules/FinanceBankAPI/GPC.php

    r550 r738  
    11<?php
    2  
     2
    33define('GPC_TYPE_REPORT', '074');
    44define('GPC_TYPE_ITEM', '075');
    5  
     5
    66class GPC
    77{
    88  function ParseLine($Line)
    9   { 
     9  {
    1010    $Line = ' '.$Line;
    11     $Type = mb_substr($Line, 1, 3);                                                   
    12  
     11    $Type = mb_substr($Line, 1, 3);
     12
    1313    if($Type == GPC_TYPE_REPORT)
    1414    {
     
    1919        'AccountName' => trim(mb_substr($Line, 20, 20)),
    2020        'OldBalanceDate' => mktime(0, 0, 0, mb_substr($Line, 42, 2), mb_substr($Line, 40, 2), '20'.mb_substr($Line, 44, 2)),
    21         'OldBalanceValue' => (mb_substr($Line, 60, 1).mb_substr($Line, 46, 14)) / 100, 
     21        'OldBalanceValue' => (mb_substr($Line, 60, 1).mb_substr($Line, 46, 14)) / 100,
    2222        'NewBalanceValue' => (mb_substr($Line, 75, 1).mb_substr($Line, 61, 14)) / 100,
    23         'DebitValue' => (mb_substr($Line, 90, 1).mb_substr($Line, 76, 14)) / 100,   
    24         'CreditValue' => (mb_substr($Line, 105, 1).mb_substr($Line, 91, 14)) / 100,   
     23        'DebitValue' => (mb_substr($Line, 90, 1).mb_substr($Line, 76, 14)) / 100,
     24        'CreditValue' => (mb_substr($Line, 105, 1).mb_substr($Line, 91, 14)) / 100,
    2525        'SequenceNumber' => intval(mb_substr($Line, 106, 3)),
    2626        'Date' => mktime(0, 0, 0, mb_substr($Line, 111, 2), mb_substr($Line, 109, 2), '20'.mb_substr($Line, 113, 2)),
     
    2828        'CheckSum' => sha1(md5($Line).$Line),
    2929      );
    30     } else   
     30    } else
    3131    if($Type == GPC_TYPE_ITEM)
    32     {   
     32    {
    3333      $GPCLine = array
    3434      (
    3535        'Type' => GPC_TYPE_ITEM,
    3636        'AccountNumber' => mb_substr($Line, 4, 16),
    37         'OffsetAccount' => mb_substr($Line, 20, 16), 
    38         'RecordNumber' => mb_substr($Line, 36, 13), 
     37        'OffsetAccount' => mb_substr($Line, 20, 16),
     38        'RecordNumber' => mb_substr($Line, 36, 13),
    3939        'Value' => mb_substr($Line, 49, 12) / 100,
    40         'Code' => mb_substr($Line, 61, 1),   
     40        'Code' => mb_substr($Line, 61, 1),
    4141        'VariableSymbol' => intval(mb_substr($Line, 62, 10)),
    4242        'BankCode' => mb_substr($Line, 74, 4),
    4343        'ConstantSymbol' => intval(mb_substr($Line, 78, 4)),
    44         'SpecificSymbol' => intval(mb_substr($Line, 82, 10)), 
     44        'SpecificSymbol' => intval(mb_substr($Line, 82, 10)),
    4545        'Valut' => mb_substr($Line, 92, 6),
    46         'ClientName' => mb_substr($Line, 98, 20), 
     46        'ClientName' => mb_substr($Line, 98, 20),
    4747        //'Zero' => substr($Line, 118, 1),
    4848        'CurrencyCode' => mb_substr($Line, 119, 4),
     
    5050        'CheckSum' => sha1(md5($Line).$Line),
    5151      );
    52     } else 
     52    } else
    5353    $GPCLine = NULL;
    54  
     54
    5555    return($GPCLine);
    5656  }
  • trunk/Modules/FinanceBankAPI/ImportFio.php

    r715 r738  
    11<?php
    2  
     2
    33include('FioAPI.php');
    4  
     4
    55class ImportFio extends BankImport
    66{
    77  function Import()
    8   {   
     8  {
    99    $Fio = new FioAPI();
    1010    $Fio->Token = $this->BankAccount['LoginName'];
     
    2020        //$Output .= '<td>Ke dni '.date('j.n.Y', $Records['DateEnd']).' je stav účtu '.$Records['ClosingBalance'].' Kč</td>';
    2121        //$Output .= '<td>Suma příjmů: '.$Records['CreditValue'].' Kč</td>';
    22         //$Output .= '<td>Suma výdajů: '.$Records['DebitValue'].' Kč</td>';     
     22        //$Output .= '<td>Suma výdajů: '.$Records['DebitValue'].' Kč</td>';
    2323      //$Output .= '</tr>';
    2424    foreach($Records['Items'] as $Record)
     
    2626      $DbResult = $this->Database->select('FinanceBankImport', 'ID', 'Identification='.$Record['ID']);
    2727      if($DbResult->num_rows == 0)
    28       {     
     28      {
    2929        $Output .= '<tr>';
    3030        $this->Database->insert('FinanceBankImport', array('Time' => TimeToMysqlDate($Record['Date']),
    31           'BankAccount' => $this->BankAccount['Id'], 'Value' => $Record['Value'], 
     31          'BankAccount' => $this->BankAccount['Id'], 'Value' => $Record['Value'],
    3232          'SpecificSymbol' => $Record['SpecificSymbol'], 'VariableSymbol' => $Record['VariableSymbol'],
    3333          'ConstantSymbol' => $Record['ConstantSymbol'], 'Currency' => $this->BankAccount['Currency'],
     
    4141      }
    4242    }
    43     $Output .= '</table>';   
    44     $this->Database->update('FinanceBankAccount', 'Id='.$this->BankAccount['Id'], 
    45         array('LastImportDate' => TimeToMysqlDate($PeriodEnd)));
     43    $Output .= '</table>';
     44    $this->Database->update('FinanceBankAccount', 'Id='.$this->BankAccount['Id'],
     45      array('LastImportDate' => TimeToMysqlDate($PeriodEnd)));
    4646    return($Output);
    4747  }
  • trunk/Modules/FinanceBankAPI/ImportPS.php

    r550 r738  
    1414    $Data = explode("\n", $Content);
    1515  }
    16  
     16
    1717  function ImportCVS($Content)
    1818  {
    1919    $Finance = &$this->System->Modules['Finance'];
    20    
     20
    2121    $Data = explode("\n", $Content);
    2222    foreach($Data as $Key => $Value)
     
    4545        11 => '',
    4646    );
    47    
     47
    4848    if($Header != $Data[0]) $Output = 'Nekompatibilní struktura CSV';
    4949    else
     
    7979          $Style = '';
    8080        }
    81    
     81
    8282        if($Money < 0) $Text = 'Platba převodem';
    8383        else $Text = 'Přijatá platba';
     
    102102      $Output .= '<input type="submit" value="Zpracovat"/></form>';
    103103    }
    104   } 
     104  }
    105105}
  • trunk/Modules/IS/IS.php

    r736 r738  
    3232    if(array_key_exists('t', $_GET)) $Table = $_GET['t'];
    3333      else $Table = '';
    34     // i - index of item 
     34    // i - index of item
    3535    if(array_key_exists('i', $_GET)) $ItemId = $_GET['i'];
    3636      else $ItemId = 0;
    37     // fc - preset colum 
     37    // fc - preset colum
    3838    if(array_key_exists('fn', $_GET)) $FilterName = $_GET['fn'];
    3939      else $FilterName = '';
     
    4646
    4747    if($Action == 'list') {
    48         if($FilterName == '') $Content = $this->ShowList($Table);
    49           else $Content = $this->ShowList($Table, '', '', $FilterName, $FilterValue);
     48      if($FilterName == '') $Content = $this->ShowList($Table);
     49        else $Content = $this->ShowList($Table, '', '', $FilterName, $FilterValue);
    5050    }
    5151    else if($Action == 'select') $Content = $this->ShowSelect($Table);
     
    8484    $DbRow = $DbResult->fetch_row();
    8585    $Output .= 'Nedokončených úkolů: '.$DbRow['0'].'<br/>';
    86    
     86
    8787    $DbResult = $this->Database->select('Member', 'COUNT(*)', '1');
    8888    $DbRow = $DbResult->fetch_row();
    8989    $Output .= 'Zákazníků: '.$DbRow['0'].'<br/>';
    90    
     90
    9191    $DbResult = $this->Database->select('Subject', 'COUNT(*)', '1');
    9292    $DbRow = $DbResult->fetch_row();
    9393    $Output .= 'Subjektů: '.$DbRow['0'].'<br/>';
    94    
     94
    9595    $DbResult = $this->Database->select('User', 'COUNT(*)', '1');
    9696    $DbRow = $DbResult->fetch_row();
    9797    $Output .= 'Uživatelů: '.$DbRow['0'].'<br/>';
    98    
     98
    9999    $DbResult = $this->Database->select('NetworkDevice', 'COUNT(*)', '1');
    100100    $DbRow = $DbResult->fetch_row();
    101101    $Output .= 'Registrovaných zařízení: '.$DbRow['0'].'<br/>';
    102    
     102
    103103    $DbResult = $this->Database->select('FinanceOperation', 'SUM(`Value` * `Direction`)', '1');
    104104    $DbRow = $DbResult->fetch_row();
    105105    $Output .= 'Stav placení: '.$DbRow['0'].'<br/>';
    106    
     106
    107107    $DbResult = $this->Database->select('FinanceBankImport', 'COUNT(*)', '`FinanceOperation` IS NULL');
    108108    $DbRow = $DbResult->fetch_row();
     
    142142  function LogChange($Form, $Action, $NewId, $OldId)
    143143  {
    144         $Values = $Form->Definition['Table'].' (Id: '.$OldId.' => '.$NewId.'):'."\n";
    145         // Compare old values loaded from database with new values in Form variable
    146         $NewValues = $Form->Values;
    147         if($OldId != 0)
    148         {
    149           $FormOld = new Form($this->System->FormManager);
    150           $FormOld->SetClass($Form->Definition['Table']);
    151           $FormOld->LoadValuesFromDatabase($OldId);
    152                 $OldValues = $FormOld->Values;
    153                 // Keep only changes values
    154           foreach($NewValues as $Index => $Value)
    155           {
    156                 if($OldValues[$Index] != $NewValues[$Index])
    157                 {
    158                 $Values .= $Index.': '.$FormOld->GetValue($Index);
    159                 if($NewId != 0) $Values .= ' => '.$Form->GetValue($Index);
    160                 $Values .= "\n";
    161                 }
    162         }
    163         } else {
    164                 foreach($NewValues as $Index => $Value)
    165                 {
    166                         $Values .= $Index.': '.$Form->GetValue($Index)."\n";
    167                 }
    168         }
    169         $this->System->ModuleManager->Modules['Log']->NewRecord('IS', $Action, $Values);
     144    $Values = $Form->Definition['Table'].' (Id: '.$OldId.' => '.$NewId.'):'."\n";
     145    // Compare old values loaded from database with new values in Form variable
     146    $NewValues = $Form->Values;
     147    if($OldId != 0)
     148    {
     149      $FormOld = new Form($this->System->FormManager);
     150      $FormOld->SetClass($Form->Definition['Table']);
     151      $FormOld->LoadValuesFromDatabase($OldId);
     152      $OldValues = $FormOld->Values;
     153      // Keep only changes values
     154      foreach($NewValues as $Index => $Value)
     155      {
     156        if($OldValues[$Index] != $NewValues[$Index])
     157        {
     158          $Values .= $Index.': '.$FormOld->GetValue($Index);
     159          if($NewId != 0) $Values .= ' => '.$Form->GetValue($Index);
     160          $Values .= "\n";
     161        }
     162      }
     163    } else {
     164      foreach($NewValues as $Index => $Value)
     165      {
     166        $Values .= $Index.': '.$Form->GetValue($Index)."\n";
     167      }
     168    }
     169    $this->System->ModuleManager->Modules['Log']->NewRecord('IS', $Action, $Values);
    170170  }
    171171
     
    179179      if($_GET['o'] == 'save')
    180180      {
    181         if(!array_key_exists('submit', $_POST))
    182                 return($this->SystemMessage('Formulář', 'Formulář nebyl řádně odeslán. Vraťte se zpět a odešlete formulář znovu.'));
     181        if(!array_key_exists('submit', $_POST))
     182          return($this->SystemMessage('Formulář', 'Formulář nebyl řádně odeslán. Vraťte se zpět a odešlete formulář znovu.'));
    183183        $Form = new Form($this->System->FormManager);
    184184        $Form->SetClass($Table);
     
    193193        } catch (Exception $E)
    194194        {
    195                 $Output .= $this->SystemMessage('Úprava položky', 'Položku se nepodařilo uložit. Opravte problém a opakujte akci.<br/>'.$E->getMessage());
     195          $Output .= $this->SystemMessage('Úprava položky', 'Položku se nepodařilo uložit. Opravte problém a opakujte akci.<br/>'.$E->getMessage());
    196196          $Form->OnSubmit = '?a=edit&amp;t='.$Table.'&amp;i='.$_GET['i'].'&amp;o=save';
    197197          $Output .= $Form->ShowEditForm();
     
    230230    $Output = '';
    231231    if(defined('NEW_PERMISSION') and !$this->System->User->CheckPermission($this->TableToModule($Table), 'Write'))
    232       return('Nemáte oprávnění');   
     232      return('Nemáte oprávnění');
    233233    $DbResult = $this->Database->select($Table, '*', '`Id`='.$Id);
    234234    if($DbResult->num_rows > 0)
    235235    {
    236         $DbRow = $DbResult->fetch_assoc();
    237         try {
     236      $DbRow = $DbResult->fetch_assoc();
     237      try {
    238238        $Form = new Form($this->System->FormManager);
    239239        $this->ShortTitle .= ' - '.$Form->Definition['Title'].' odstranění';
     
    244244      } catch (Exception $E)
    245245      {
    246         $Output .= $this->SystemMessage('Smazání položky', 'Položku se nepodařilo smazat. Pravděpodobně na ni závisejí další položky.');
     246        $Output .= $this->SystemMessage('Smazání položky', 'Položku se nepodařilo smazat. Pravděpodobně na ni závisejí další položky.');
    247247      }
    248248    } else $Output .= $this->SystemMessage('Smazání položky', 'Položka nenalezena');
     
    301301        } catch (Exception $E)
    302302        {
    303                 $Output .= $this->SystemMessage('Přidání položky', 'Položku se nepodařilo přidat. Opravte problém a opakujte akci.<br/>'.$E->getMessage());
    304                 $Form->OnSubmit = '?a=add&amp;t='.$Table.'&amp;o=save';
     303          $Output .= $this->SystemMessage('Přidání položky', 'Položku se nepodařilo přidat. Opravte problém a opakujte akci.<br/>'.$E->getMessage());
     304          $Form->OnSubmit = '?a=add&amp;t='.$Table.'&amp;o=save';
    305305          $Output .= $Form->ShowEditForm();
    306306          $Actions[] = '<a href="?a=list&amp;t='.$Table.'"><img alt="Seznam" title="Seznam" src="'.
     
    353353    if(defined('NEW_PERMISSION') and !$this->System->User->CheckPermission($this->TableToModule($Table), 'Read'))
    354354      return('Nemáte oprávnění');
    355    
     355
    356356    $FormClass = $this->System->FormManager->Classes[$Table];
    357357    if(array_key_exists('BaseTable', $FormClass)) $TableModify = $FormClass['BaseTable'];
    358358      else $TableModify = $Table;
    359    
     359
    360360    $Form = new Form($this->System->FormManager);
    361361    $Form->SetClass($Table);
     
    407407  function ShowTable($Table, $Filter = '', $Title = '', $RowActions = array(), $ExcludeColumn = '')
    408408  {
    409         if($Table != '') $FormClass = $this->System->FormManager->Classes[$Table];
     409    if($Table != '') $FormClass = $this->System->FormManager->Classes[$Table];
    410410      else return($this->SystemMessage('Chyba', 'Tabulka nenalezena'));
    411411
     
    416416    // Build form type filter
    417417    $TypeFilter = '';
    418     foreach($FormClass['Items'] as $ItemIndex => $FormItem)   
     418    foreach($FormClass['Items'] as $ItemIndex => $FormItem)
    419419    if(!array_key_exists($FormItem['Type'], $this->System->FormManager->FormTypes) or
    420420    (array_key_exists($FormItem['Type'], $this->System->FormManager->FormTypes) and
     
    422422    if(array_key_exists('Filter', $FormItem) and ($FormItem['Filter'] == true))
    423423    {
    424         if($TypeFilter != '') $TypeFilter .= ' AND ';           
    425         $TypeFilter .= '('.$ItemIndex.' = "'.$FormItem['Default'].'")';
    426     }     
     424      if($TypeFilter != '') $TypeFilter .= ' AND ';
     425      $TypeFilter .= '('.$ItemIndex.' = "'.$FormItem['Default'].'")';
     426    }
    427427    if($TypeFilter != '')
    428428    {
    429         if($Filter != '') $Filter = ' AND';
    430         $Filter .= ' '.$TypeFilter;
    431     }
    432    
     429      if($Filter != '') $Filter = ' AND';
     430      $Filter .= ' '.$TypeFilter;
     431    }
     432
    433433    // Build user filter
    434434    $UserFilter = '';
     
    470470    if($Filter != '') $Filter = ' HAVING '.$Filter;
    471471
    472     foreach($FormClass['Items'] as $ItemIndex => $FormItem)     
     472    foreach($FormClass['Items'] as $ItemIndex => $FormItem)
    473473      if(!array_key_exists($FormItem['Type'], $this->System->FormManager->FormTypes) or
    474474      (array_key_exists($FormItem['Type'], $this->System->FormManager->FormTypes) and
    475475      ($this->System->FormManager->FormTypes[$FormItem['Type']]['Type'] != 'ManyToOne')))
    476476      {
    477         if($ExcludeColumn != $ItemIndex)
    478         if(!array_key_exists('Hidden', $FormItem) or ($FormItem['Hidden'] == false))
     477        if($ExcludeColumn != $ItemIndex)
     478        if(!array_key_exists('Hidden', $FormItem) or ($FormItem['Hidden'] == false))
    479479          $TableColumns[] = array('Name' => $ItemIndex, 'Title' => $FormItem['Caption']);
    480480        $UseType = $UseType = $FormItem['Type'];
     
    563563      ($ExcludeColumn != $ItemIndex))
    564564      {
    565         //$Output .= '<td>'.$Row[$ItemIndex].'</td>';
     565        //$Output .= '<td>'.$Row[$ItemIndex].'</td>';
    566566        $UseType = $UseType = $FormItem['Type'];
    567567        if(array_key_exists($FormItem['Type'], $this->System->FormManager->FormTypes))
     
    632632    if(array_key_exists('BaseTable', $FormClass)) $TableModify = $FormClass['BaseTable'];
    633633      else $TableModify = $Table;
    634    
     634
    635635    $RowActions = '<a href="?a=view&amp;t='.$Table.'&amp;i=#RowId"><img alt="Ukázat" title="Ukázat" src="'.
    636636      $this->System->Link('/images/view.png').'"/></a>'.
     
    755755      $Confirm = ' onclick="return confirmAction(\''.$Confirm.'\');"';
    756756    $Output = '<a href="'.$Target.'"'.$Confirm.'>'.$Output.'</a>';
    757         return($Output);
     757    return($Output);
    758758  }
    759759}
  • trunk/Modules/Map/Map.php

    r721 r738  
    1515    if(count($this->System->PathItems) > 1)
    1616    {
    17       if($this->System->PathItems[1] == 'show-position') return($this->ShowPosition()); 
     17      if($this->System->PathItems[1] == 'show-position') return($this->ShowPosition());
    1818      else return(PAGE_NOT_FOUND);
    1919    } else return($this->ShowMain());
    2020  }
    21  
     21
    2222  function ShowPosition()
    2323  {
     
    3737    } else return('Položka nenalezena');
    3838  }
    39  
     39
    4040  function ShowMain()
    4141  {
     
    4949    var tinyIcon;
    5050
    51     function initialize() 
    52     {
    53       if (GBrowserIsCompatible()) 
     51    function initialize()
     52    {
     53      if (GBrowserIsCompatible())
    5454      {
    5555        map = new GMap2(document.getElementById("map_canvas"));
     
    5858        map.setUIToDefault();
    5959        map.addControl(new GOverviewMapControl(new GSize(128, 96)));
    60        
     60
    6161
    6262// Create our "tiny" marker icon
     
    6868tinyIcon.iconAnchor = new GPoint(5, 5);
    6969tinyIcon.infoWindowAnchor = new GPoint(5, 1);
    70    
    71         toggleLabel(\'NetworkLinks\');
    72         toggleLabel(\'NetworkDevices\');';
    73    
    74             $Output .= '   
    75        }     
    76     }
    77    
    78 function toggleLabel(id) 
    79 {
    80         var ele = document.getElementById(id);
    81         ele.checked = !ele.checked;
    82         ele.onclick( );
    83 }
    84 
    85     function UpdateNetworkLinks() 
    86     {
    87             if ((document.getElementById("NetworkLinks")).checked == true)
    88       {
    89                     NetworkLinks = [';
     70
     71  toggleLabel(\'NetworkLinks\');
     72  toggleLabel(\'NetworkDevices\');';
     73
     74      $Output .= '
     75       }
     76    }
     77
     78function toggleLabel(id)
     79{
     80  var ele = document.getElementById(id);
     81  ele.checked = !ele.checked;
     82  ele.onclick( );
     83}
     84
     85    function UpdateNetworkLinks()
     86    {
     87      if ((document.getElementById("NetworkLinks")).checked == true)
     88      {
     89        NetworkLinks = [';
    9090    $DbResult = $this->Database->query('SELECT * FROM NetworkLink WHERE Interface1 <> 0 AND Interface2 <> 0');
    9191    while($Link = $DbResult->fetch_assoc())
     
    114114                }
    115115
    116         } else { //checkbox turned off
    117                 for (var i in NetworkLinks)
    118     {
    119                         map.removeOverlay(NetworkLinks[i]);
    120                         NetworkLinks[i] = null;
    121                 }
    122         }
    123 }
    124 
    125 function toggleLabel(id) 
    126 {
    127         var ele = document.getElementById(id);
    128         ele.checked = !ele.checked;
    129         ele.onclick( );
    130 }
    131 
    132     function UpdateNetworkDevices() 
    133     {
    134             if ((document.getElementById("NetworkDevices")).checked == true)
    135       {
    136                     NetworkDevices = [';
     116  } else { //checkbox turned off
     117    for (var i in NetworkLinks)
     118    {
     119      map.removeOverlay(NetworkLinks[i]);
     120      NetworkLinks[i] = null;
     121    }
     122  }
     123}
     124
     125function toggleLabel(id)
     126{
     127  var ele = document.getElementById(id);
     128  ele.checked = !ele.checked;
     129  ele.onclick( );
     130}
     131
     132    function UpdateNetworkDevices()
     133    {
     134      if ((document.getElementById("NetworkDevices")).checked == true)
     135      {
     136        NetworkDevices = [';
    137137
    138138    $DbResult = $this->Database->query('SELECT GROUP_CONCAT(NetworkDevice.Name SEPARATOR ",") AS Name, '.
     
    153153                }
    154154
    155         } else { //checkbox turned off
    156                 for (var i in NetworkDevices)
    157     {
    158                         map.removeOverlay(NetworkDevices[i]);
    159                         NetworkDevices[i] = null;
    160                 }
    161         }       
     155  } else { //checkbox turned off
     156    for (var i in NetworkDevices)
     157    {
     158      map.removeOverlay(NetworkDevices[i]);
     159      NetworkDevices[i] = null;
     160    }
     161  }
    162162}
    163163
     
    165165    $Output .= '<table style="margin-left: auto; margin-right: auto; width: 100%; height: 80%;">
    166166                  <tr>
    167                     <td style="width: 80%; height: 100%;"> 
     167                    <td style="width: 80%; height: 100%;">
    168168    <div id="map_canvas" style="width: 100%; height: 100%;"></div></td>
    169169    <td style="width: 20%">
     
    208208    $this->SupportedModels = array();
    209209  }
    210  
     210
    211211  function DoStart()
    212212  {
     
    225225    ));
    226226    $this->System->FormManager->RegisterFormType('TMapPosition', array(
    227         'Type' => 'Reference',
    228         'Table' => 'MapPosition',
    229         'Id' => 'Id',
    230         'Name' => 'Name',
    231         'Filter' => '1',
     227      'Type' => 'Reference',
     228      'Table' => 'MapPosition',
     229      'Id' => 'Id',
     230      'Name' => 'Name',
     231      'Filter' => '1',
    232232    ));
    233    
    234   } 
    235 }
     233
     234  }
     235}
  • trunk/Modules/Map/MapAPI.php

    r574 r738  
    11<?php
    22
    3 class MapApi extends Model 
     3class MapApi extends Model
    44{
    55  var $Position;
     
    99  var $ShowMarker;
    1010  var $MarkerText;
    11  
     11
    1212  function __construct($System)
    1313  {
    1414    parent::__construct($System);
    15     $this->Zoom = 2; 
     15    $this->Zoom = 2;
    1616    $this->Position = array('Lat' => 40.178873, 'Lng' => 65.039062);
    1717    $this->Key = '';
    1818    $this->ShowMarker = false;
    19     $this->MarkerText = ''; 
     19    $this->MarkerText = '';
    2020  }
    21  
     21
    2222  function Show()
    2323  {
     
    3939      </script>';
    4040    $Output .= '<script type="text/javascript">
    41    
     41
    4242    var map;
    4343    var tinyIcon;
    44    
     44
    4545    function initialize()
    4646    {
     
    5252        map.setUIToDefault();
    5353        map.addControl(new GOverviewMapControl(new GSize(128, 96)));
    54    
     54
    5555        GEvent.addListener(map,"click",function(overlay, point)
    5656        {
     
    6161        });
    6262      }
    63    
     63
    6464    // Create our "tiny" marker icon
    6565    var tinyIcon = new GIcon();
     
    8484class MapApiSeznam extends MapApi
    8585{
    86  
     86
    8787}
  • trunk/Modules/Meals/Meals.php

    r586 r738  
    44{
    55  var $FullTitle = 'Jídleníček jídelny Na kopečku';
    6   var $ShortTitle = 'Jídelníček'; 
     6  var $ShortTitle = 'Jídelníček';
    77  var $ParentClass = 'PagePortal';
    88  var $DayNames = array('Neděle', 'Pondělí', 'Úterý', 'Středa', 'Čtvrtek', 'Pátek', 'Sobota');
     
    1414  {
    1515    if(count($this->System->PathItems) > 1)
    16     { 
     16    {
    1717      if($this->System->PathItems[1] == 'tisk') return($this->ShowPrint());
    1818        else if($this->System->PathItems[1] == 'menuedit.php') return($this->ShowEdit());
     
    4242    return($Output);
    4343  }
    44  
     44
    4545  function ShowPrint()
    4646  {
    4747    $this->ClearPage = true;
    48    
     48
    4949    $Output = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    5050<html>
     
    7979      {
    8080        $Output .= '<br>'.$this->Status[$Row['Status']].'<br>&nbsp;';
    81       } 
     81      }
    8282      $Output .= '</td></tr>';
    8383    }
     
    9191
    9292    $Output .= '</body></html>';
    93     return($Output);   
     93    return($Output);
    9494  }
    9595
     
    109109        '">Tisk</a></td>';
    110110      else $WeekRowSpan = '';
    111     if($Week == 0) $Color = ' style="color: #ff0000;" '; else $Color = ''; 
     111    if($Week == 0) $Color = ' style="color: #ff0000;" '; else $Color = '';
    112112    $Output = '<tr><td'.$Color.'>'.$this->DayNames[$Week].'</td><td>'.HumanDate($Row['Date']).'</td>'.$WeekRowSpan.'
    113113    <td><input name="soup_'.$Row['Date'].'" size="30" value="'.$Row['Soup'].'"></td>
     
    190190    $this->SupportedModels = array('Meals', 'MealsInfo');
    191191  }
    192  
     192
    193193  function DoInstall()
    194194  {
    195195  }
    196  
     196
    197197  function DoUnInstall()
    198198  {
  • trunk/Modules/Meteostation/Meteostation.php

    r586 r738  
    99  var $ShortTitle = 'Meteostanice';
    1010  var $ParentClass = 'PagePortal';
    11  
     11
    1212  function Show()
    1313  {
     
    2424  var $Period;
    2525  var $URL;
    26  
     26
    2727  function DownloadData()
    2828  {
    2929    $XmlData = simplexml_load_file($this->URL);
    3030
    31     $Data = array('MeteoStation' => $this->Id, 
     31    $Data = array('MeteoStation' => $this->Id,
    3232      'WindSpeed' => trim($XmlData->windspeed),
    3333      'WindDir' => trim($XmlData->winddir),
     
    4343    );
    4444    $this->Database->insert('MeteoStationMeasure', array(
    45       'Time' => TimeToMysqlDateTime(time()), 'MeteoStation' => $Data['MeteoStation'], 
    46       'WindSpeed' => $Data['WindSpeed'], 'WindDir' => $Data['WindDir'], 
    47       'WindGust' => $Data['WindGust'], 'Pressure' => $Data['Pressure'], 
     45      'Time' => TimeToMysqlDateTime(time()), 'MeteoStation' => $Data['MeteoStation'],
     46      'WindSpeed' => $Data['WindSpeed'], 'WindDir' => $Data['WindDir'],
     47      'WindGust' => $Data['WindGust'], 'Pressure' => $Data['Pressure'],
    4848      'SysTemp' => $Data['SysTemp'], 'Temperature' => $Data['Temperature'],
    4949      'BarAltitude' => $Data['BarAltitude'], 'WindChill' => $Data['WindChill'],
     
    5252    $this->Data = $Data;
    5353  }
    54  
     54
    5555  function CreateImage($FileName)
    5656  {
     
    6565    $Image->SaveToFile($FileName);
    6666  }
    67  
     67
    6868  function LoadFromDb()
    6969  {
     
    7979{
    8080  var $Data;
    81  
     81
    8282  function __construct($System)
    8383  {
     
    9090    $this->Dependencies = array();
    9191  }
    92  
     92
    9393  function DownloadAll()
    9494  {
     
    9898      $MeteoStation = new MeteoStation();
    9999      $MeteoStation->Id = $DbRow['Id'];
    100       $MeteoStation->LoadFromDb();     
     100      $MeteoStation->LoadFromDb();
    101101      $MeteoStation->DownloadData();
    102102      $MeteoStation->CreateImage('cache/'.$DbRow['Id'].'.png');
    103103    }
    104104  }
    105  
    106  
     105
     106
    107107  function DoInstall()
    108108  {
    109109  }
    110  
     110
    111111  function DoUninstall()
    112   {     
     112  {
    113113  }
    114  
     114
    115115  function DoStart()
    116116  {
    117117    $this->System->RegisterPage('meteo', 'PageMeteo');
    118   } 
    119  
     118  }
     119
    120120  function DoStop()
    121   { 
     121  {
    122122  }
    123123}
  • trunk/Modules/Network/HostList.php

    r717 r738  
    88  var $ShortTitle = 'Seznam počítačů';
    99  var $ParentClass = 'PageNetwork';
    10  
     10
    1111  function Show()
    1212  {
     
    4545          if($Interface['Name'] != '') $InterfaceName .= '-'.$Interface['Name'];
    4646          $Output .= '<tr><td style="text-align: left; '.$Style.'">&nbsp;&nbsp;'.$InterfaceName.'</td><td>'.$Interface['LocalIP'].'</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>';
    47         }     
     47        }
    4848      }
    49     } 
     49    }
    5050    $Output .= '</table></div>';
    5151    return($Output);
  • trunk/Modules/Network/Network.php

    r736 r738  
    6565          $Output .= '<td style="background-color: '.$Color.';">&nbsp;</td>';
    6666        }
    67                    
    68         $Output .= '</tr>';       
     67
     68        $Output .= '</tr>';
    6969      }
    7070    }
     
    186186        'Online' => array('Type' => 'TOnlineState', 'Caption' => 'Běží', 'Default' => '0', 'ReadOnly' => true),
    187187        'LastOnline' => array('Type' => 'DateTime', 'Caption' => 'Naposledy běželo', 'Default' => '', 'ReadOnly' => true),
    188         'Links' => array('Type' => 'TNetworkLinkListInterface', 'Caption' => 'Propojení', 'Default' => ''),
     188        'Links' => array('Type' => 'TNetworkLinkListInterface', 'Caption' => 'Propojení', 'Default' => ''),
    189189        'UpDown' => array('Type' => 'TNetworkInterfaceUpDown', 'Caption' => 'Změny stavu', 'Default' => ''),
    190190        'Signal' => array('Type' => 'TNetworkSignalListInterface', 'Caption' => 'Signál', 'Default' => ''),
     
    192192
    193193      ),
    194     ));   
     194    ));
    195195    $this->System->FormManager->RegisterClass('NetworkInterfaceType', array(
    196196      'Title' => 'Typ síťového rozhraní',
     
    235235    $this->System->FormManager->RegisterClass('NetworkLinkUnion', array(
    236236      'Title' => 'Síťové propojení',
    237         'BaseTable' => 'NetworkLink',
     237      'BaseTable' => 'NetworkLink',
    238238      'SQL' => '(SELECT `Id`, `Type`, `Interface1` AS `Interface`, `Interface2` AS `InterfaceOther` FROM `NetworkLink`) '.
    239                 'UNION (SELECT `Id`, `Type`, `Interface2` AS `Interface`, `Interface1` AS `InterfaceOther` FROM `NetworkLink`)',
     239        'UNION (SELECT `Id`, `Type`, `Interface2` AS `Interface`, `Interface1` AS `InterfaceOther` FROM `NetworkLink`)',
    240240      'Items' => array(
    241241        'Type' => array('Type' => 'TNetworkLinkType', 'Caption' => 'Typ', 'Default' => '1', 'ReadOnly' => true),
    242242        'Interface' => array('Type' => 'TNetworkInterface', 'Caption' => 'Rozhraní 1', 'Default' => '', 'ReadOnly' => true),
    243                 'InterfaceOther' => array('Type' => 'TNetworkInterface', 'Caption' => 'Rozhraní 2', 'Default' => '', 'ReadOnly' => true),
    244       ),
    245     ));
    246    
     243        'InterfaceOther' => array('Type' => 'TNetworkInterface', 'Caption' => 'Rozhraní 2', 'Default' => '', 'ReadOnly' => true),
     244      ),
     245    ));
     246
    247247    $this->System->FormManager->RegisterClass('NetworkLinkType', array(
    248248      'Title' => 'Typ síťového propojení',
     
    371371    ));
    372372    $this->System->FormManager->RegisterFormType('TNetworkDevice', array(
    373         'Type' => 'Reference',
    374         'Table' => 'NetworkDevice',
    375         'Id' => 'Id',
    376         'Name' => 'Name',
    377         'Filter' => '1',
     373      'Type' => 'Reference',
     374      'Table' => 'NetworkDevice',
     375      'Id' => 'Id',
     376      'Name' => 'Name',
     377      'Filter' => '1',
    378378    ));
    379379    $this->System->FormManager->RegisterFormType('TNetworkDeviceType', array(
    380         'Type' => 'Reference',
    381         'Table' => 'NetworkDeviceType',
    382         'Id' => 'Id',
    383         'Name' => 'Name',
    384         'Filter' => '1',
     380      'Type' => 'Reference',
     381      'Table' => 'NetworkDeviceType',
     382      'Id' => 'Id',
     383      'Name' => 'Name',
     384      'Filter' => '1',
    385385    ));
    386386    $this->System->FormManager->RegisterFormType('TNetworkInterface', array(
    387         'Type' => 'Reference',
    388         'Table' => 'NetworkInterface',
    389         'View' => '(SELECT NetworkInterface.*, CONCAT_WS("-", NetworkDevice.Name, NULLIF(NetworkInterface.Name, "")) AS DeviceName FROM NetworkInterface '.
    390         'LEFT JOIN NetworkDevice ON NetworkDevice.Id = NetworkInterface.Device) AS T',
    391         'Id' => 'Id',
    392         'Name' => 'DeviceName',
    393         'Filter' => '1',
     387      'Type' => 'Reference',
     388      'Table' => 'NetworkInterface',
     389      'View' => '(SELECT NetworkInterface.*, CONCAT_WS("-", NetworkDevice.Name, NULLIF(NetworkInterface.Name, "")) AS DeviceName FROM NetworkInterface '.
     390      'LEFT JOIN NetworkDevice ON NetworkDevice.Id = NetworkInterface.Device) AS T',
     391      'Id' => 'Id',
     392      'Name' => 'DeviceName',
     393      'Filter' => '1',
    394394    ));
    395395    $this->System->FormManager->RegisterFormType('TNetworkInterfaceType', array(
    396         'Type' => 'Reference',
    397         'Table' => 'NetworkInterfaceType',
    398         'Id' => 'Id',
    399         'Name' => 'Name',
    400         'Filter' => '1',
     396      'Type' => 'Reference',
     397      'Table' => 'NetworkInterfaceType',
     398      'Id' => 'Id',
     399      'Name' => 'Name',
     400      'Filter' => '1',
    401401    ));
    402402    $this->System->FormManager->RegisterFormType('TDeviceList', array(
     
    416416    $this->System->FormManager->RegisterFormType('TNetworkLinkType', array(
    417417      'Type' => 'Reference',
    418         'Table' => 'NetworkLinkType',
    419         'Id' => 'Id',
    420         'Name' => 'Name',
    421         'Filter' => '1',
    422     ));   
     418      'Table' => 'NetworkLinkType',
     419      'Id' => 'Id',
     420      'Name' => 'Name',
     421      'Filter' => '1',
     422    ));
    423423    $this->System->FormManager->RegisterFormType('TDeviceAPIType', array(
    424424      'Type' => 'Reference',
    425         'Table' => 'DeviceAPIType',
    426         'Id' => 'Id',
    427         'Name' => 'Name',
    428         'Filter' => '1',
    429     ));   
     425      'Table' => 'DeviceAPIType',
     426      'Id' => 'Id',
     427      'Name' => 'Name',
     428      'Filter' => '1',
     429    ));
    430430    $this->System->FormManager->RegisterFormType('TNetworkInterfaceWirelessListInterface', array(
    431431      'Type' => 'ManyToOne',
     
    445445      'Type' => 'ManyToOne',
    446446      'Table' => 'NetworkLinkUnion',
    447         'Id' => 'Id',
    448         'Ref' => 'Interface',
    449         'Filter' => '1',
     447      'Id' => 'Id',
     448      'Ref' => 'Interface',
     449      'Filter' => '1',
    450450    ));
    451451    $this->System->FormManager->RegisterFormType('TNetworkLinkListInterface1', array(
    452         'Type' => 'ManyToOne',
    453         'Table' => 'NetworkLink',
    454         'Id' => 'Id',
    455         'Ref' => 'Interface1',
    456         'Filter' => '1',
     452      'Type' => 'ManyToOne',
     453      'Table' => 'NetworkLink',
     454      'Id' => 'Id',
     455      'Ref' => 'Interface1',
     456      'Filter' => '1',
    457457    ));
    458458    $this->System->FormManager->RegisterFormType('TNetworkLinkListInterface2', array(
    459         'Type' => 'ManyToOne',
    460         'Table' => 'NetworkLink',
    461         'Id' => 'Id',
    462         'Ref' => 'Interface2',
    463         'Filter' => '1',
     459      'Type' => 'ManyToOne',
     460      'Table' => 'NetworkLink',
     461      'Id' => 'Id',
     462      'Ref' => 'Interface2',
     463      'Filter' => '1',
    464464    ));
    465465    $this->System->FormManager->RegisterFormType('TNetworkInterfaceUpDown', array(
    466         'Type' => 'ManyToOne',
    467         'Table' => 'NetworkInterfaceUpDown',
    468         'Id' => 'Id',
    469         'Ref' => 'Interface',
    470         'Filter' => '1',
    471     ));
    472    
     466      'Type' => 'ManyToOne',
     467      'Table' => 'NetworkInterfaceUpDown',
     468      'Id' => 'Id',
     469      'Ref' => 'Interface',
     470      'Filter' => '1',
     471    ));
     472
    473473  }
    474474
  • trunk/Modules/Network/Subnet.php

    r548 r738  
    1515    $DbResult = $this->Database->query('SELECT COUNT(*) FROM `NetworkSubnet`');
    1616    $DbRow = $DbResult->fetch_row();
    17     $PageList = GetPageList($DbRow[0]);   
     17    $PageList = GetPageList($DbRow[0]);
    1818
    1919    $Output = $PageList['Output'];
    2020    $Output .= '<table class="WideTable" style="font-size: small;">';
    21    
     21
    2222    $TableColumns = array(
    23       array('Name' => 'Name', 'Title' => 'Název'), 
    24       array('Name' => 'AddressRange', 'Title' => 'IP rozsah'), 
    25       array('Name' => 'DHCP', 'Title' => 'Adresa DHCP'), 
    26       array('Name' => 'Gateway', 'Title' => 'Výchozí brána'), 
    27       array('Name' => '', 'Title' => 'Max. adres'), 
    28       array('Name' => '', 'Title' => 'Registrovaných adres'), 
    29       array('Name' => '', 'Title' => 'Využití'), 
    30       array('Name' => 'SubjectName', 'Title' => 'Účastník'), 
     23      array('Name' => 'Name', 'Title' => 'Název'),
     24      array('Name' => 'AddressRange', 'Title' => 'IP rozsah'),
     25      array('Name' => 'DHCP', 'Title' => 'Adresa DHCP'),
     26      array('Name' => 'Gateway', 'Title' => 'Výchozí brána'),
     27      array('Name' => '', 'Title' => 'Max. adres'),
     28      array('Name' => '', 'Title' => 'Registrovaných adres'),
     29      array('Name' => '', 'Title' => 'Využití'),
     30      array('Name' => 'SubjectName', 'Title' => 'Účastník'),
    3131    );
    3232    $Order = GetOrderTableHeader($TableColumns, 'AddressRange', 0);
     
    3434
    3535    $Query = 'SELECT NetworkSubnet.*, Subject.Name AS SubjectName FROM NetworkSubnet LEFT JOIN Member ON Member.Id = NetworkSubnet.Member LEFT JOIN Subject ON Subject.Id = Member.Subject '.$Order['SQL'].$PageList['SQLLimit'];
    36    
     36
    3737    $DbResult = $this->Database->query($Query);
    38     while($Subnet = $DbResult->fetch_assoc()) 
    39     { 
     38    while($Subnet = $DbResult->fetch_assoc())
     39    {
    4040      $DbResult2 = $this->Database->query('SELECT COUNT(*) FROM NetworkInterface WHERE CompareNetworkPrefix(INET_ATON("'.$Subnet['AddressRange'].'"), INET_ATON(LocalIP), '.$Subnet['Mask'].')');
    4141      $DbRow = $DbResult2->fetch_row();
  • trunk/Modules/Network/UserHosts.php

    r558 r738  
    1414  {
    1515    global $Config;
    16    
     16
    1717    if($this->System->User->User['Id'] == '') return($this->SystemMessage('Nepovolený přístup', 'Nemáte oprávnění pro tuto operaci'));
    1818    $Output = '<div align="center" style="font-size: small;"><table class="WideTable">';
     
    3636          NotBlank($Interface['ExternalIP']).'</td><td>'.
    3737          NotBlank($Interface['MAC']).'</td><td>&nbsp;</td><td>&nbsp;</td></tr>';
    38       }     
     38      }
    3939    }
    4040    $Output .= '</table></div>';
  • trunk/Modules/NetworkConfig/Generate.php

    r621 r738  
    1919    $Output = array();
    2020    foreach($ExecuteParts as $Command)
    21       if($Command != '') 
     21      if($Command != '')
    2222      {
    23         exec($Command, $Output);       
     23        exec($Command, $Output);
    2424        //echo($Command."\n");
    2525        //sleep(5);
  • trunk/Modules/NetworkConfig/NetworkConfig.php

    r721 r738  
    1313    $this->Dependencies = array('Network');
    1414  }
    15  
     15
    1616  function DoInstall()
    1717  {
    1818  }
    19  
     19
    2020  function DoUnInstall()
    2121  {
     
    4848      ),
    4949    ));
    50    
     50
    5151  }
    5252}
  • trunk/Modules/NetworkConfigLinux/Generators/DHCP.php

    r548 r738  
    3636    fputs($File, "  host ".$Data."\t{ fixed-address ".$Row['IP'].";\thardware ethernet ".$Row['MAC']."; }\n");
    3737  }
    38  
     38
    3939  fputs($File, "}\n\n");
    4040}
  • trunk/Modules/NetworkConfigLinux/Generators/DNS.php

    r699 r738  
    137137    if(array_key_exists('IPv6', $Host) and ($Host['IPv6'] != ''))
    138138    {
    139         $Addr = new NetworkAddressIPv6();
    140         $Addr->AddressFromString($Host['IPv6']);
    141         $Octets = $Addr->GetOctets();
    142         $Octets = array_slice($Octets, 0, (128 - $Prefix) / 4);
    143         $Octets = implode('.', $Octets);
     139      $Addr = new NetworkAddressIPv6();
     140      $Addr->AddressFromString($Host['IPv6']);
     141      $Octets = $Addr->GetOctets();
     142      $Octets = array_slice($Octets, 0, (128 - $Prefix) / 4);
     143      $Octets = implode('.', $Octets);
    144144
    145145      $Host['Name'] = strtolower($Host['Name']);
     
    175175  'Alias' => array(),
    176176  'Network' => array('10.145.64', '10.145.65', '10.145.66', '10.145.67', '10.145.68',
    177         '10.145.69', '10.145.70', '10.145.71', '77.92.221', '172.16.0', '172.16.1'),
    178         'IPv6Network' => array('2a00:e580:244::/48'),
     177    '10.145.69', '10.145.70', '10.145.71', '77.92.221', '172.16.0', '172.16.1'),
     178  'IPv6Network' => array('2a00:e580:244::/48'),
    179179);
    180180
     
    237237  'Alias' => array(),
    238238  'Network' => array('81.2.194', '193.86.238', '212.111.4', '77.92.221'),
    239         'IPv6Network' => array('2a00:e580:244::/48'),
     239  'IPv6Network' => array('2a00:e580:244::/48'),
    240240);
    241241
     
    278278  'Network' => array('10.145.64', '10.145.65', '10.145.66', '10.145.67',
    279279    '10.145.68', '10.145.69', '10.145.70', '10.145.71'),
    280         'IPv6Network' => array(),
     280  'IPv6Network' => array(),
    281281);
    282282
     
    317317  'Alias' => array(),
    318318  'Network' => array('10.145.64', '10.145.65', '10.145.66', '10.145.67',
    319         '10.145.68', '10.145.69', '10.145.70', '10.145.71'),
    320         'IPv6Network' => array(),
     319    '10.145.68', '10.145.69', '10.145.70', '10.145.71'),
     320  'IPv6Network' => array(),
    321321);
    322322
  • trunk/Modules/NetworkConfigLinux/Generators/IPTables.php

    r548 r738  
    1313/*
    1414// Blocking according IP address
    15 $DbResult = $Database->select('users', '*', 'inet = 0'); 
     15$DbResult = $Database->select('users', '*', 'inet = 0');
    1616while($User = $DbResult->fetch_array())
    1717{
     
    4848      //    else exec('/sbin/iptables -t nat -A Block -m mac --mac-source '.$Row['MAC']." -j Local");
    4949    } else {
    50       if($Row['vpn'] == 0) 
     50      if($Row['vpn'] == 0)
    5151      {
    52         $CZFreeLocalIP = $Row['IP'];
     52  $CZFreeLocalIP = $Row['IP'];
    5353        //echo($Row['external_ip']."\n");
    54         //if($Row['name'] == 'TBC')
    55         //{
     54  //if($Row['name'] == 'TBC')
     55  //{
    5656        //  exec('/sbin/iptables -t nat -A PreroutingDNAT -m tcp -p tcp --dport 3724 -d '.$Row['external_ip'].' -j DNAT --to-destination '.$Row['IP'].':3725');
    5757        //  exec('/sbin/iptables -t nat -A POSTROUTING -m tcp -p tcp -s '.$Row['IP'].' --sport 3725 -o '.$InetInterface.' -j SNAT --to-source '.$Row['external_ip'].':3724');
    58         //}
     58  //}
    5959        if(strtolower($Row['name']) != 'gate')
    60         {
    61           if($Row['external_ip'] != '')
     60  {
     61      if($Row['external_ip'] != '')
    6262          {
    6363            echo($Row['name'].'='.$Row['external_ip']."\n");
    64            
     64
    6565            exec('/sbin/iptables -t nat -A PreroutingDNAT -i '.$InetInterface.' -d '.$Row['external_ip'].' -j DNAT --to-destination '.$Row['IP']);
    6666            exec('/sbin/iptables -t nat -A PreroutingDNAT -i '.$InetInterface.' -d '.$Row['external_ip'].' -j ACCEPT');
    6767            exec('/sbin/iptables -t nat -A POSTROUTING -s '.$Row['IP'].' -o '.$InetInterface.' -j SNAT --to-source '.$Row['external_ip']);
    68           }
     68      }
    6969          //exec('/sbin/iptables -t nat -A Block -m mac --mac-source '.$Row['MAC']." -j Proxy");
    70         }
     70  }
    7171      }
    7272      else
    7373      {
    74         $CZFreeLocalIP = $Row['external_ip'];
     74  $CZFreeLocalIP = $Row['external_ip'];
    7575 //echo('vpn');
    7676        //exec('/sbin/iptables -t nat -A PreroutingDNAT -s '.$Row['IP'].' -p udp -m udp --dport 55556 -j DROP');
     
    7979
    8080        //if($Row['vpn'] == 1)
    81         //{
    82           //exec('/sbin/iptables -t nat -A Block -m mac --mac-source '.$Row['MAC']." -j Local");
     81  //{
     82    //exec('/sbin/iptables -t nat -A Block -m mac --mac-source '.$Row['MAC']." -j Local");
    8383        //} else if($Row['vpn'] == 2) exec('/sbin/iptables -t nat -A Block -m mac --mac-source '.$Row['MAC']." -j Proxy");
    8484      }
  • trunk/Modules/NetworkConfigLinux/Generators/NAT.php

    r548 r738  
    1313/*
    1414// Blocking according IP address
    15 $DbResult = $Database->select('users', '*', 'inet = 0'); 
     15$DbResult = $Database->select('users', '*', 'inet = 0');
    1616while($User = $DbResult->fetch_array())
    1717{
     
    4848      //    else exec('/sbin/iptables -t nat -A Block -m mac --mac-source '.$Row['MAC']." -j Local");
    4949    } else {
    50       if($Row['vpn'] == 0) 
     50      if($Row['vpn'] == 0)
    5151      {
    52         $CZFreeLocalIP = $Row['IP'];
     52  $CZFreeLocalIP = $Row['IP'];
    5353        //echo($Row['external_ip']."\n");
    54         //if($Row['name'] == 'TBC')
    55         //{
     54  //if($Row['name'] == 'TBC')
     55  //{
    5656        //  exec('/sbin/iptables -t nat -A PreroutingDNAT -m tcp -p tcp --dport 3724 -d '.$Row['external_ip'].' -j DNAT --to-destination '.$Row['IP'].':3725');
    5757        //  exec('/sbin/iptables -t nat -A POSTROUTING -m tcp -p tcp -s '.$Row['IP'].' --sport 3725 -o eth1 -j SNAT --to-source '.$Row['external_ip'].':3724');
    58         //}
     58  //}
    5959        if(strtolower($Row['name']) != 'centrala')
    60         {
    61           if($Row['external_ip'] != '')
     60  {
     61      if($Row['external_ip'] != '')
    6262          {
    6363            echo($Row['name'].'='.$Row['external_ip']."\n");
    64            
     64
    6565            exec('/sbin/iptables -t nat -A PreroutingDNAT -i eth1 -d '.$Row['external_ip'].' -j DNAT --to-destination '.$Row['IP']);
    6666            exec('/sbin/iptables -t nat -A PreroutingDNAT -i eth1 -d '.$Row['external_ip'].' -j ACCEPT');
    6767            exec('/sbin/iptables -t nat -A POSTROUTING -s '.$Row['IP'].' -o eth1 -j SNAT --to-source '.$Row['external_ip']);
    68           }
     68      }
    6969          //exec('/sbin/iptables -t nat -A Block -m mac --mac-source '.$Row['MAC']." -j Proxy");
    70         }
     70  }
    7171      }
    7272      else
    7373      {
    74         $CZFreeLocalIP = $Row['external_ip'];
     74  $CZFreeLocalIP = $Row['external_ip'];
    7575 //echo('vpn');
    7676        //exec('/sbin/iptables -t nat -A PreroutingDNAT -s '.$Row['IP'].' -p udp -m udp --dport 55556 -j DROP');
     
    7979
    8080        //if($Row['vpn'] == 1)
    81         //{
    82           //exec('/sbin/iptables -t nat -A Block -m mac --mac-source '.$Row['MAC']." -j Local");
     81  //{
     82    //exec('/sbin/iptables -t nat -A Block -m mac --mac-source '.$Row['MAC']." -j Local");
    8383        //} else if($Row['vpn'] == 2) exec('/sbin/iptables -t nat -A Block -m mac --mac-source '.$Row['MAC']." -j Proxy");
    8484      }
  • trunk/Modules/NetworkConfigLinux/Generators/TrafficShaping.php

    r548 r738  
    1010// Generate traffic shaping rules
    1111//$TotalMaxSpeedIn = 4048; //$RealMaxSpeed; //1536;
    12 //TotalMaxSpeedOut = 3048; //$RealMaxSpeed; //1536; 
     12//TotalMaxSpeedOut = 3048; //$RealMaxSpeed; //1536;
    1313//$UsersMaxSpeedIn = 1900; //$MaxSpeed;
    1414//$UsersMaxSpeedOut = 1900; //$MaxSpeed;
     
    4545
    4646  $FreeInetClass = 2;
    47  
     47
    4848  // In going traffic
    4949  fputs($File, "/sbin/tc qdisc del dev ".$InInterface." root\n");
    5050  if($Enabled)
    51   { 
     51  {
    5252    fputs($File, "/sbin/tc qdisc add dev ".$InInterface." root handle 1:0 htb default 2\n");
    5353    fputs($FileClassInfo, "1:1 Základní\n");
     
    6868    fputs($File, "/sbin/tc qdisc add dev ".$OutInterface." parent 1:".$FreeInetClass." handle ".$FreeInetClass.": sfq perturb 10\n");
    6969  }
    70  
     70
    7171  if(!$Enabled) die("Traffic shaping disabled\n");
    7272
    73   if($ClassesEnabled) 
     73  if($ClassesEnabled)
    7474  {
    7575  $ClassId = 3;
     
    9898  //$SpeedOut = round($UsersMaxSpeedOut / $InetUserCount);
    9999  $Prio = 1;
    100  
    101  
     100
     101
    102102  $AllUsersClassId = $ClassId;
    103103  $ClassId = $ClassId + 1;
     
    123123  fputs($FileClassInfo, '1:'.$TorrentClassId." Torrent\n");
    124124
    125   $DbResult = $Database->select('users', '*, CONCAT(second_name, " ", first_name) as fullname', '(inet=1)'); 
     125  $DbResult = $Database->select('users', '*, CONCAT(second_name, " ", first_name) as fullname', '(inet=1)');
    126126  while($User = $DbResult->fetch_array())
    127127  {
     
    144144
    145145    //echo('User class id: '.$UserClassId."\n");
    146  
     146
    147147    $DbResult2 = $Database->select('hosts', 'COUNT(*)', "block=0 AND MAC!='' AND user=".$User['id']);
    148148    $Row = $DbResult2->fetch_array();
     
    150150    $HostSpeedIn = round($SpeedIn / $HostCount);
    151151    $HostSpeedOut = round($SpeedOut / $HostCount);
    152  
     152
    153153    $DbResult2 = $Database->select('hosts','*',"block=0 AND MAC!='' AND user=".$User['id']);
    154154    while($Host = $DbResult2->fetch_array())
     
    164164        $Prio = 1;
    165165        if($Host['vpn'] == 1)
    166               {
    167                 if($Host['external_ip'] != '') $Host['IP'] = $Host['external_ip'];
    168                 else $Host['IP'] = ToVpnIp($Host);
    169               }
    170        
    171               //if($Host['name'] == 'TERMINAL') $SpeedDivider = 0.5;
    172                 //else
     166        {
     167          if($Host['external_ip'] != '') $Host['IP'] = $Host['external_ip'];
     168          else $Host['IP'] = ToVpnIp($Host);
     169        }
     170
     171        //if($Host['name'] == 'TERMINAL') $SpeedDivider = 0.5;
     172          //else
    173173        $SpeedDivider = 1;
    174174
    175               if($Host['name'] == 'centrala')
    176               {
    177                 $Host['IP'] = $Host['external_ip'];
    178                 $TableOut = 'OUTPUT';
    179                 $TableIn = 'INPUT';
    180                } else
     175        if($Host['name'] == 'centrala')
     176        {
     177          $Host['IP'] = $Host['external_ip'];
     178          $TableOut = 'OUTPUT';
     179          $TableIn = 'INPUT';
     180         } else
    181181         {
    182                  $TableOut = 'FORWARD';
    183                  $TableIn = 'FORWARD';
    184                }
    185               //if($Row['name'] == 'TERMINAL2') $Prio = 0;
    186         //      if($Row['name'] = 'TERMINAL2') $Prio = 0;
    187         if($Host['name'] == 'voip-hajda') $Protocol = ' -p tcp'; 
    188           else $Protocol = '';
    189         //      if($Host['name'] == 'KARLOS') $UserMaxSpeedIn = 128000;
     182           $TableOut = 'FORWARD';
     183           $TableIn = 'FORWARD';
     184         }
     185        //if($Row['name'] == 'TERMINAL2') $Prio = 0;
     186        //  if($Row['name'] = 'TERMINAL2') $Prio = 0;
     187        if($Host['name'] == 'voip-hajda') $Protocol = ' -p tcp';
     188        else $Protocol = '';
     189        //  if($Host['name'] == 'KARLOS') $UserMaxSpeedIn = 128000;
    190190        /*
    191 if($Host['name'] == 'GAME') 
    192         {
    193           exec('/sbin/iptables -t mangle -F game-server');       
    194                 $TableOut = 'game-server';
    195                 $TableIn = 'game-server';
    196         }*/
     191if($Host['name'] == 'GAME')
     192        {
     193          exec('/sbin/iptables -t mangle -F game-server');
     194          $TableOut = 'game-server';
     195          $TableIn = 'game-server';
     196        }*/
    197197        //if($Host['name'] == 'TBC') continue;
    198198
    199199        // In going traffic
    200         //exec('/sbin/iptables -t mangle -A '.$TableIn.' -i eth1 -d '.$Host['IP'].$Protocol." -j MARK --set-mark ".$HostClassId); 
    201               fputs($File, "/sbin/tc class add dev ".$InInterface." parent 1:".$UserClassId." classid 1:".$HostClassId." htb rate ".$HostSpeedIn."bit ceil ".$UserMaxSpeedIn."bit prio ".$Prio." quantum ".$Quantum."\n");
    202               fputs($File, "/sbin/tc qdisc add dev ".$InInterface." parent 1:".$HostClassId." handle ".$HostClassId.":0 sfq perturb 10\n");
    203             //fputs($File, "/sbin/tc filter add dev ".$InInterface." parent 1:0 protocol ip handle ".$HostClassId." fw flowid 1:".$UserClassId."\n");
    204             fputs($File, "/sbin/tc filter add dev ".$InInterface." parent 1:0 protocol ip prio 1 u32 match ip dst ".$Host['external_ip']."/32 flowid 1:".$HostClassId."\n");
    205        
     200        //exec('/sbin/iptables -t mangle -A '.$TableIn.' -i eth1 -d '.$Host['IP'].$Protocol." -j MARK --set-mark ".$HostClassId);
     201        fputs($File, "/sbin/tc class add dev ".$InInterface." parent 1:".$UserClassId." classid 1:".$HostClassId." htb rate ".$HostSpeedIn."bit ceil ".$UserMaxSpeedIn."bit prio ".$Prio." quantum ".$Quantum."\n");
     202        fputs($File, "/sbin/tc qdisc add dev ".$InInterface." parent 1:".$HostClassId." handle ".$HostClassId.":0 sfq perturb 10\n");
     203        //fputs($File, "/sbin/tc filter add dev ".$InInterface." parent 1:0 protocol ip handle ".$HostClassId." fw flowid 1:".$UserClassId."\n");
     204        fputs($File, "/sbin/tc filter add dev ".$InInterface." parent 1:0 protocol ip prio 1 u32 match ip dst ".$Host['external_ip']."/32 flowid 1:".$HostClassId."\n");
     205
    206206        // Out going traffic
    207207        //exec('/sbin/iptables -t mangle -A '.$TableOut.' -o eth1 -s '.$Host['IP'].$Protocol." -j MARK --set-mark ".$HostClassId);
    208         fputs($File, "/sbin/tc class add dev ".$OutInterface." parent 1:".$UserClassId." classid 1:".$HostClassId." htb rate ".$HostSpeedOut."bit ceil ".$UserMaxSpeedOut."bit prio ".$Prio." quantum ".$Quantum."\n");
    209               fputs($File, "/sbin/tc qdisc add dev ".$OutInterface." parent 1:".$HostClassId." handle ".$HostClassId.":0 sfq perturb 10\n");
    210               //fputs($File, "/sbin/tc filter add dev ".$OutInterface." parent 1:0 protocol ip handle ".$HostClassId." fw flowid 1:".$UserClassId."\n");
    211               fputs($File, "/sbin/tc filter add dev ".$OutInterface." parent 1:0 protocol ip prio 1 u32 match ip src ".$Host['external_ip']."/32 flowid 1:".$HostClassId."\n");
    212                //echo($Row['id'].',');
     208        fputs($File, "/sbin/tc class add dev ".$OutInterface." parent 1:".$UserClassId." classid 1:".$HostClassId." htb rate ".$HostSpeedOut."bit ceil ".$UserMaxSpeedOut."bit prio ".$Prio." quantum ".$Quantum."\n");
     209        fputs($File, "/sbin/tc qdisc add dev ".$OutInterface." parent 1:".$HostClassId." handle ".$HostClassId.":0 sfq perturb 10\n");
     210        //fputs($File, "/sbin/tc filter add dev ".$OutInterface." parent 1:0 protocol ip handle ".$HostClassId." fw flowid 1:".$UserClassId."\n");
     211        fputs($File, "/sbin/tc filter add dev ".$OutInterface." parent 1:0 protocol ip prio 1 u32 match ip src ".$Host['external_ip']."/32 flowid 1:".$HostClassId."\n");
     212         //echo($Row['id'].',');
    213213      }
    214214      // Free inet
    215215      if($Tarify[$User['inet_tarif_now']]['group_id'] == 3)
    216216      {
    217         //exec('/sbin/iptables -t mangle -A '.$TableIn.' -i eth1 -d '.$Host['IP'].$Protocol." -j MARK --set-mark ".$FreeInetClass); 
     217        //exec('/sbin/iptables -t mangle -A '.$TableIn.' -i eth1 -d '.$Host['IP'].$Protocol." -j MARK --set-mark ".$FreeInetClass);
    218218        //exec('/sbin/iptables -t mangle -A '.$TableOut.' -o eth1 -s '.$Host['IP'].$Protocol." -j MARK --set-mark ".$FreeInetClass);
    219219      }
    220220      // VoIP devices
    221221/*
    222       if(($Host['name'] == 'HAJDA-VOIP') || ($Host['name'] == 'NAVRATIL-VOIP')) 
     222      if(($Host['name'] == 'HAJDA-VOIP') || ($Host['name'] == 'NAVRATIL-VOIP'))
    223223      {
    224224        exec('/sbin/iptables -t mangle -A '.$TableIn." -i eth1 -d ".$Host['IP']." -p udp -j MARK --set-mark ".$VoipClassId);
    225225        exec('/sbin/iptables -t mangle -A '.$TableOut." -o eth1 -s ".$Host['IP']." -p udp -j MARK --set-mark ".$VoipClassId);
    226       } else 
     226      } else
    227227      if($Host['name'] == 'GAME')
    228228      {
    229         exec('/sbin/iptables -t mangle -A FORWARD -o eth1 -s '.$Host['IP']." -j game-server"); 
    230         exec('/sbin/iptables -t mangle -A FORWARD -i eth1 -d '.$Host['IP']." -j game-server"); 
    231    
     229        exec('/sbin/iptables -t mangle -A FORWARD -o eth1 -s '.$Host['IP']." -j game-server");
     230        exec('/sbin/iptables -t mangle -A FORWARD -i eth1 -d '.$Host['IP']." -j game-server");
     231
    232232        exec('/sbin/iptables -t mangle -A game-server -o eth1 -s '.$Host['IP']." -j MARK --set-mark ".$TorrentClassId);
    233233        exec('/sbin/iptables -t mangle -A game-server -i eth1 -d '.$Host['IP']." -j MARK --set-mark ".$TorrentClassId);
     
    237237
    238238        // Local services
    239               exec('/sbin/iptables -t mangle -A game-server -o eth1 -s '.$Host['IP']." -p icmp -j MARK --set-mark ".$HostClassId); // ICMP
     239        exec('/sbin/iptables -t mangle -A game-server -o eth1 -s '.$Host['IP']." -p icmp -j MARK --set-mark ".$HostClassId); // ICMP
    240240        exec('/sbin/iptables -t mangle -A game-server -i eth1 -d '.$Host['IP']." -p icmp -j MARK --set-mark ".$HostClassId);
    241241        exec('/sbin/iptables -t mangle -A game-server -o eth1 -s '.$Host['IP']." -p tcp --sport 6969 -j MARK --set-mark ".$HostClassId); // web torrent
    242242        exec('/sbin/iptables -t mangle -A game-server -i eth1 -d '.$Host['IP']." -p tcp --dport 6969 -j MARK --set-mark ".$HostClassId);
    243243        exec('/sbin/iptables -t mangle -A game-server -o eth1 -s '.$Host['IP']." -p tcp --sport 80 -j MARK --set-mark ".$HostClassId);   // web
    244         exec('/sbin/iptables -t mangle -A game-server -i eth1 -d '.$Host['IP']." -p tcp --dport 80 -j MARK --set-mark ".$HostClassId); 
     244        exec('/sbin/iptables -t mangle -A game-server -i eth1 -d '.$Host['IP']." -p tcp --dport 80 -j MARK --set-mark ".$HostClassId);
    245245        exec('/sbin/iptables -t mangle -A game-server -o eth1 -s '.$Host['IP']." -p tcp --sport 21 -j MARK --set-mark ".$HostClassId);    // FTP
    246246        exec('/sbin/iptables -t mangle -A game-server -i eth1 -d '.$Host['IP']." -p tcp --dport 21 -j MARK --set-mark ".$HostClassId);
     
    252252        exec('/sbin/iptables -t mangle -A game-server -i eth1 -d '.$Host['IP']." -p tcp --dport 22 -j MARK --set-mark ".$HostClassId);
    253253        exec('/sbin/iptables -t mangle -A game-server -o eth1 -s '.$Host['IP']." -p tcp --sport 443 -j MARK --set-mark ".$HostClassId);   // https
    254               exec('/sbin/iptables -t mangle -A game-server -i eth1 -d '.$Host['IP']." -p tcp --dport 443 -j MARK --set-mark ".$HostClassId);
     254        exec('/sbin/iptables -t mangle -A game-server -i eth1 -d '.$Host['IP']." -p tcp --dport 443 -j MARK --set-mark ".$HostClassId);
    255255        exec('/sbin/iptables -t mangle -A game-server -o eth1 -s '.$Host['IP']." -p tcp --sport 27015 -j MARK --set-mark ".$HostClassId); // Counter Strike
    256256        exec('/sbin/iptables -t mangle -A game-server -i eth1 -d '.$Host['IP']." -p tcp --dport 27015 -j MARK --set-mark ".$HostClassId);
     
    259259        exec('/sbin/iptables -t mangle -A game-server -o eth1 -s '.$Host['IP']." -p tcp --sport 5906 -j MARK --set-mark ".$HostClassId);  // VNC
    260260        exec('/sbin/iptables -t mangle -A game-server -i eth1 -d '.$Host['IP']." -p tcp --dport 5906 -j MARK --set-mark ".$HostClassId);
    261        
    262         // Remote services
     261
     262  // Remote services
    263263        exec('/sbin/iptables -t mangle -A game-server -o eth1 -s '.$Host['IP']." -p tcp --dport 443 -j MARK --set-mark ".$HostClassId);   // https
    264         exec('/sbin/iptables -t mangle -A game-server -i eth1 -d '.$Host['IP']." -p tcp --sport 443 -j MARK --set-mark ".$HostClassId);
     264  exec('/sbin/iptables -t mangle -A game-server -i eth1 -d '.$Host['IP']." -p tcp --sport 443 -j MARK --set-mark ".$HostClassId);
    265265        exec('/sbin/iptables -t mangle -A game-server -o eth1 -s '.$Host['IP']." -p tcp --dport 80 -j MARK --set-mark ".$HostClassId);   // http
    266         exec('/sbin/iptables -t mangle -A game-server -i eth1 -d '.$Host['IP']." -p tcp --sport 80 -j MARK --set-mark ".$HostClassId);
    267        
     266  exec('/sbin/iptables -t mangle -A game-server -i eth1 -d '.$Host['IP']." -p tcp --sport 80 -j MARK --set-mark ".$HostClassId);
     267
    268268      }
    269269*/
  • trunk/Modules/NetworkConfigLinux/NetworkConfigLinux.php

    r586 r738  
    1313    $this->Dependencies = array('NetworkConfig');
    1414  }
    15  
     15
    1616  function DoInstall()
    1717  {
    1818  }
    19  
     19
    2020  function DoUnInstall()
    2121  {
  • trunk/Modules/NetworkConfigRouterOS/Generators/AddressPortability.php

    r548 r738  
    66$Path = array('ip', 'dhcp-server', 'lease');
    77
    8 $Host = array(); 
     8$Host = array();
    99
    1010function ConvertExpireTime2($Time)
  • trunk/Modules/NetworkConfigRouterOS/Generators/Common.php

    r548 r738  
    66{
    77  global $Database;
    8  
     8
    99  $DbResult = $Database->query('SELECT `Id` FROM `NetworkMark` WHERE `Comment`="'.$Comment.'"');
    1010  if($DbResult->num_rows > 0)
     
    1616    $DbResult = $Database->query('INSERT INTO `NetworkMark` (`Comment`) VALUES ("'.$Comment.'")');
    1717    return($Database->insert_id);
    18   } 
     18  }
    1919}
    2020
     
    2222{
    2323  global $Database;
    24  
     24
    2525  $DbResult = $Database->query('SELECT `Id` FROM `NetworkMangleSubgroup` WHERE `AddressRange`="'.$AddressRange.'"');
    2626  if($DbResult->num_rows > 0)
     
    3232    $DbResult = $Database->query('INSERT INTO `NetworkMangleSubgroup` (`AddressRange`) VALUES ("'.$AddressRange.'")');
    3333    return($Database->insert_id);
    34   } 
     34  }
    3535}
    3636
     
    3838{
    3939  global $Config;
    40  
     40
    4141  $Found = false;
    4242  foreach($Tree['Items'] as $Index => $Node)
     
    5050  if($Found == false)
    5151  {
    52     if($InterSubnets and ($Tree['Address']->Prefix < $Config['MainRouter']['MangleRuleSubgroupMinPrefix']) and 
     52    if($InterSubnets and ($Tree['Address']->Prefix < $Config['MainRouter']['MangleRuleSubgroupMinPrefix']) and
    5353    ($Address->Prefix > ($Tree['Address']->Prefix + 1)))
    5454    {
     
    6161    } else
    6262    {
    63      
     63
    6464      $NewNode = array('Address' => $Address, 'Name' => $Name, 'Items' => array(), 'ForceMark' => $ForceMark);
    65      
     65
    6666      // Should be existed items placed under new node?
    6767      $Found = false;
    6868      foreach($Tree['Items'] as $Index => $Node)
    6969      {
    70         if(($Node['Address']->Address == $NewNode['Address']->Address) and 
    71         ($Node['Address']->Prefix == $NewNode['Address']->Prefix)) $Found = true;       
    72        
     70        if(($Node['Address']->Address == $NewNode['Address']->Address) and
     71        ($Node['Address']->Prefix == $NewNode['Address']->Prefix)) $Found = true;
     72
    7373        //echo($Index.',');
    7474        if($Address->Contain($Node['Address']))
     
    7878        }
    7979      }
    80       if($Found == false) $Tree['Items'][] = $NewNode;     
     80      if($Found == false) $Tree['Items'][] = $NewNode;
    8181    }
    8282  }
     
    8989  {
    9090    ShowSubnetNode($Item, $Indent + 1);
    91   } 
     91  }
    9292}
    9393
  • trunk/Modules/NetworkConfigRouterOS/Generators/DHCP.php

    r617 r738  
    2929    $Items[] = array('mac-address' => $Interface['MAC'], 'address' => $Interface['LocalIP'], 'server' => $Server, 'comment' => $Name);
    3030  }
    31  
    32   print_r($Routerboard->ListUpdate($Path, array('mac-address', 'address', 'server', 'comment'), $Items, array('server' => $Server, 'dynamic' => 'no')));   
     31
     32  print_r($Routerboard->ListUpdate($Path, array('mac-address', 'address', 'server', 'comment'), $Items, array('server' => $Server, 'dynamic' => 'no')));
    3333  echo("\n");
    3434}
  • trunk/Modules/NetworkConfigRouterOS/Generators/FirewallFilter.php

    r617 r738  
    2424
    2525// Inet traffic groups
    26 //$Items[] = array('chain' => 'forward', 'out-interface' => $InetInterface, 'action' => 'jump', 'jump-target' => 'inet-out', 'comment' => 'inet-out');     
     26//$Items[] = array('chain' => 'forward', 'out-interface' => $InetInterface, 'action' => 'jump', 'jump-target' => 'inet-out', 'comment' => 'inet-out');
    2727//$Items[] = array('chain' => 'forward', 'in-interface' => $InetInterface, 'action' => 'jump', 'jump-target' => 'inet-in', 'comment' => 'inet-in');
    2828
     
    6363  $DbResult2 = $System->Database->select('NetworkSubnet', '*', 'Member='.$Member['Id']);
    6464  while($Subnet = $DbResult2->fetch_assoc())
    65   {   
     65  {
    6666    $Subnet['Name'] = RouterOSIdent('subnet-'.$Subnet['Name']);
    6767    echo($Subnet['Name'].'('.$Subnet['AddressRange'].'/'.$Subnet['Mask'].'), ');
     
    7575        else $Src = $Subnet['AddressRange'].'/'.$Subnet['Mask'];
    7676      $Items[] = array('chain' => 'forward', 'out-interface' => $InetInterface, 'src-address' => $Src, 'action' => 'drop','comment' => $Subnet['Name'].'-out-drop');
    77    
     77
    7878      $NewAddress = new NetworkAddressIPv4();
    7979      $NewAddress->AddressFromString($Subnet['AddressRange']);
  • trunk/Modules/NetworkConfigRouterOS/Generators/FirewallMangle.php

    r735 r738  
    3030  $NewAddress->AddressFromString($Subnet['AddressRange']);
    3131  $NewAddress->Prefix = $Subnet['Mask'];
    32   InsertToAddressTree($AddressTree, $NewAddress, 'subnet-'.RouterOSIdent($Subnet['Name'])); 
     32  InsertToAddressTree($AddressTree, $NewAddress, 'subnet-'.RouterOSIdent($Subnet['Name']));
    3333}
    3434
     
    5858    }
    5959  }
    60  
     60
    6161  $DbResult2 = $System->Database->select('NetworkSubnet', '*', '`Member`='.$Member['Id']);
    6262  while($Subnet = $DbResult2->fetch_assoc())
     
    8080{
    8181  global $InetInterface, $ItemsFirewall;
    82  
     82
    8383  foreach($Node['Items'] as $Index => $Item)
    8484  {
     
    8989      $Address = $Item['Address']->AddressToString();
    9090      if($Item['Address']->Prefix != 32) $Address .= '/'.$Item['Address']->Prefix;
    91      
     91
    9292      $PacketMark = GetMarkByComment($Item['Name'].'-out');
    9393      $ItemsFirewall[] = array('chain' => 'inet-'.$ParentSubnetId.'-out', 'src-address' => $Address, 'out-interface' =>  $InetInterface, 'action' => 'mark-packet', 'new-packet-mark' => $PacketMark, 'passthrough' => 'no', 'comment' => $Item['Name'].'-out');
     
    100100      $SubnetId = GetSubgroupByRange($Item['Address']->AddressToString().'/'.$Item['Address']->Prefix);
    101101      $PacketMark = GetMarkByComment($Item['Name'].'-out');
    102      
     102
    103103      $Address = $Item['Address']->AddressToString();
    104104      if($Item['Address']->Prefix != 32) $Address .= '/'.$Item['Address']->Prefix;
    105      
    106       $ItemsFirewall[] = array('chain' => 'inet-'.$ParentSubnetId.'-out', 'src-address' => $Address, 'out-interface' => $InetInterface, 'action' => 'jump', 'jump-target' => 'inet-'.$SubnetId.'-out', 'comment' => $Item['Name'].'-out');   
    107       $ItemsFirewall[] = array('chain' => 'inet-'.$ParentSubnetId.'-in', 'dst-address' => $Address, 'in-interface' => $InetInterface, 'action' => 'jump', 'jump-target' => 'inet-'.$SubnetId.'-in', 'comment' => $Item['Name'].'-in');   
    108      
    109       ProcessNode($Item);     
    110     }   
     105
     106      $ItemsFirewall[] = array('chain' => 'inet-'.$ParentSubnetId.'-out', 'src-address' => $Address, 'out-interface' => $InetInterface, 'action' => 'jump', 'jump-target' => 'inet-'.$SubnetId.'-out', 'comment' => $Item['Name'].'-out');
     107      $ItemsFirewall[] = array('chain' => 'inet-'.$ParentSubnetId.'-in', 'dst-address' => $Address, 'in-interface' => $InetInterface, 'action' => 'jump', 'jump-target' => 'inet-'.$SubnetId.'-in', 'comment' => $Item['Name'].'-in');
     108
     109      ProcessNode($Item);
     110    }
    111111  }
    112112  if($Node['ForceMark'] == true)
     
    133133// Slow free internet
    134134$PacketMark = GetMarkByComment('free-out');
    135 $ItemsFirewall[] = array('chain' => 'inet-1-out', 'out-interface' => $InetInterface, 
     135$ItemsFirewall[] = array('chain' => 'inet-1-out', 'out-interface' => $InetInterface,
    136136  'action' => 'mark-packet', 'new-packet-mark' => $PacketMark, 'comment' => 'free-out', 'passthrough' => 'yes');
    137137$PacketMark = GetMarkByComment('free-in');
    138 $ItemsFirewall[] = array('chain' => 'inet-1-in', 'in-interface' => $InetInterface, 
    139         'action' => 'mark-packet', 'new-packet-mark' => $PacketMark, 'comment' => 'free-in', 'passthrough' => 'no');
     138$ItemsFirewall[] = array('chain' => 'inet-1-in', 'in-interface' => $InetInterface,
     139  'action' => 'mark-packet', 'new-packet-mark' => $PacketMark, 'comment' => 'free-in', 'passthrough' => 'no');
    140140// Unregistred clients add to address list
    141 $ItemsFirewall[] = array('chain' => 'inet-1-out', 'out-interface' => $InetInterface, 'src-address' => '10.145.0.0/16', 
    142         'action' => 'add-src-to-address-list', 'address-list' => 'unregistred', 'timeout' => '1d',
    143         'comment' => 'unregistred-clients');
     141$ItemsFirewall[] = array('chain' => 'inet-1-out', 'out-interface' => $InetInterface, 'src-address' => '10.145.0.0/16',
     142  'action' => 'add-src-to-address-list', 'address-list' => 'unregistred', 'timeout' => '1d',
     143  'comment' => 'unregistred-clients');
    144144
    145145//print_r($ItemsFirewall);
  • trunk/Modules/NetworkConfigRouterOS/Generators/FirewallNAT.php

    r735 r738  
    3434
    3535// Skip local subnet
    36 //$Items[] = array('chain' => 'inet-out', 'dst-address' => '172.16.1.1/30', 'action' => 'accept', 'comment' => 'Local_subnet');     
     36//$Items[] = array('chain' => 'inet-out', 'dst-address' => '172.16.1.1/30', 'action' => 'accept', 'comment' => 'Local_subnet');
    3737//$Items[] = array('chain' => 'inet-in', 'dst-address' => '172.16.1.1/30', 'action' => 'accept', 'comment' => 'Local_subnet');
    3838
     
    4646  $DbResult2 = $System->Database->query('SELECT `NetworkInterface`.*, `NetworkDevice`.`Name` AS `DeviceName`, `NetworkDevice`.`InboundNATPriority` FROM `NetworkInterface`'.
    4747  ' LEFT JOIN `NetworkDevice` ON `NetworkDevice`.`Id` = `NetworkInterface`.`Device` WHERE (`NetworkInterface`.`ExternalIP` <> "")'.
    48   ' AND (`NetworkInterface`.`LocalIP` <> "")'. 
     48  ' AND (`NetworkInterface`.`LocalIP` <> "")'.
    4949  ' AND (`NetworkDevice`.`Member` = '.$Member['Id'].') AND (`NetworkInterface`.`LocalIP` != `NetworkInterface`.`ExternalIP`) ORDER BY `id` DESC');
    5050  while($Interface = $DbResult2->fetch_assoc())
     
    5757    {
    5858      $Items[] = array('chain' => 'inet-out', 'src-address' => $Interface['LocalIP'], 'action' => 'src-nat',  'to-addresses' => $Interface['ExternalIP'], 'comment' => $Name.'-out');
    59       if($Interface['InboundNATPriority'] > 0) 
     59      if($Interface['InboundNATPriority'] > 0)
    6060        $Items[] = array('chain' => 'inet-in', 'dst-address' => $Interface['ExternalIP'], 'action' => 'dst-nat', 'to-addresses' => $Interface['LocalIP'], 'comment' => $Name.'-in');
    61     } else 
     61    } else
    6262    {
    6363      $Items[] = array('chain' => 'dstnat', 'src-address' => $Interface['LocalIP'], 'protocol' => 'tcp', 'dst-port' => 80, 'action' => 'dst-nat',  'to-addresses' => $IPCentrala, 'to-ports' => 81, 'comment' => $Name.'-out');
     
    6868  $DbResult2 = $System->Database->select('NetworkSubnet', '*', '`Member`='.$Member['Id']);
    6969  while($Subnet = $DbResult2->fetch_assoc())
    70   {   
     70  {
    7171    $Subnet['Name'] = RouterOSIdent('subnet-'.$Subnet['Name']);
    7272    echo($Subnet['Name'].'('.$Subnet['AddressRange'].'/'.$Subnet['Mask'].'), ');
     
    8282        else $Src = $Subnet['AddressRange'].'/'.$Subnet['Mask'];
    8383      $Items[] = array('chain' => 'inet-out', 'src-address' => $Src, 'action' => 'src-nat', 'to-addresses' => $Range, 'comment' => $Subnet['Name'].'-out');
    84    
     84
    8585      $NewAddress = new NetworkAddressIPv4();
    8686      $NewAddress->AddressFromString($Subnet['AddressRange']);
     
    114114
    115115// Accept free-access clients
    116 $Items[] = array('chain' => 'dstnat', 'dst-address' => '!10.145.0.0/16', 
    117         'src-address-list' => 'free-access', 'in-interface' => $LocalInterface,
    118         'action' => 'accept', 'comment' => 'Free_access');
     116$Items[] = array('chain' => 'dstnat', 'dst-address' => '!10.145.0.0/16',
     117  'src-address-list' => 'free-access', 'in-interface' => $LocalInterface,
     118  'action' => 'accept', 'comment' => 'Free_access');
    119119// Redirect unregistred clients to free access activation page
    120 $Items[] = array('chain' => 'dstnat', 'dst-address' => '!10.145.0.0/16', 
    121         'src-address-list' => 'unregistred', 'in-interface' => $LocalInterface,
    122         'action' => 'dst-nat', 'to-addresses' => '10.145.64.8', 'to-ports' => 82, 'comment' => 'Redirect_unregistred');
     120$Items[] = array('chain' => 'dstnat', 'dst-address' => '!10.145.0.0/16',
     121  'src-address-list' => 'unregistred', 'in-interface' => $LocalInterface,
     122  'action' => 'dst-nat', 'to-addresses' => '10.145.64.8', 'to-ports' => 82, 'comment' => 'Redirect_unregistred');
    123123
    124124/*
  • trunk/Modules/NetworkConfigRouterOS/Generators/Netwatch.php

    r617 r738  
    3535    }
    3636  }
    37   $Routerboard->ListUpdate($Path, array('host', 'interval', 'comment'), $Items);   
     37  $Routerboard->ListUpdate($Path, array('host', 'interval', 'comment'), $Items);
    3838  echo("\n");
    3939}
  • trunk/Modules/NetworkConfigRouterOS/Generators/NetwatchImport.php

    r697 r738  
    2121  // Load netwatch status from all DHCP routers
    2222  $DbResult3 = $System->Database->query('SELECT `DHCP`, `AddressRange`, `Mask` FROM `NetworkSubnet` '.
    23                 'WHERE (`Configure` = 1) AND (`Member` IS NULL) GROUP BY DHCP');
     23    'WHERE (`Configure` = 1) AND (`Member` IS NULL) GROUP BY DHCP');
    2424  while($Subnet = $DbResult3->fetch_assoc())
    2525  {
     
    5454        array('LastOnline' => TimeToMysqlDateTime($StartTime)));
    5555
    56         if($Interface['Online'] != $Interface['NewOnline'])
     56    if($Interface['Online'] != $Interface['NewOnline'])
    5757    {
    58         // Online state changed
     58      // Online state changed
    5959      $DbResult = $System->Database->query('INSERT INTO `NetworkInterfaceUpDown` (`Interface`,
    60         `State`, `Time`, `Duration`) VALUES ('.$Interface['Id'].', '.$Interface['NewOnline'].', "'.
     60        `State`, `Time`, `Duration`) VALUES ('.$Interface['Id'].', '.$Interface['NewOnline'].', "'.
    6161         TimeToMysqlDateTime($StartTime).'", NULL)');
    6262      // Update previous record duration in UpDown table
     
    6464      '`TM`.`Time`, (SELECT `Time` FROM (SELECT * FROM `NetworkInterfaceUpDown`) AS `TA` WHERE (`TA`.`Time` > `TM`.`Time`) '.
    6565      'AND (`TA`.`Interface`=`TM`.`Interface`) ORDER BY `TA`.`Time` ASC LIMIT 1)) '.
    66         'WHERE (`TM`.`Duration` IS NULL) AND (`TM`.`Interface` ='.$Interface['Id'].')');
     66      'WHERE (`TM`.`Duration` IS NULL) AND (`TM`.`Interface` ='.$Interface['Id'].')');
    6767      $System->Database->update('NetworkInterface', '`Id` = "'.$Interface['Id'].'"',
    6868        array('Online' => $Interface['NewOnline']));
     
    7575  while($DbRow = $DbResult->fetch_assoc())
    7676  {
    77         echo('IP '.$DbRow['LocalIP'].' online but time not updated.'."\n");
     77    echo('IP '.$DbRow['LocalIP'].' online but time not updated.'."\n");
    7878  }
    7979  $DbResult = $System->Database->select('NetworkInterface', '*', '(`Online` = 0) AND '.
  • trunk/Modules/NetworkConfigRouterOS/Generators/Queue.php

    r726 r738  
    2222{
    2323  global $UsedNames;
    24  
     24
    2525  if(in_array($Name, $UsedNames)) die("\n".'Duplicate name: '.$Name);
    2626  else $UsedNames[] = $Name;
     
    5353if($DbResult->num_rows == 1)
    5454{
    55         $Service = $DbResult->fetch_array();
     55  $Service = $DbResult->fetch_array();
    5656  $FreeInetSpeed = $Service['InternetSpeedMax'] * 1000;
    5757} else $FreeInetSpeed = 0;
     
    128128      }
    129129    }
    130  
     130
    131131    $DbResult2 = $System->Database->select('NetworkSubnet', '*', '`Service`='.$Service['RelId']);
    132132    while($Subnet = $DbResult2->fetch_assoc())
  • trunk/Modules/NetworkConfigRouterOS/Generators/Signal.php

    r682 r738  
    3535      if($DbResult->num_rows > 0)
    3636      {
    37         $DbRow = $DbResult->fetch_assoc();
     37        $DbRow = $DbResult->fetch_assoc();
    3838        $Interface = $DbRow['Id'];
    3939      } else $Interface = null;
  • trunk/Modules/NetworkConfigRouterOS/NetworkConfigRouterOS.php

    r735 r738  
    2828  function DoStart()
    2929  {
    30         $this->System->Pages['zdarma'] = 'PageFreeAccess';
     30    $this->System->Pages['zdarma'] = 'PageFreeAccess';
    3131    $this->System->FormManager->RegisterClass('NetworkInterfaceUpDown', array(
    3232      'Title' => 'Změny stavu rozhraní',
     
    4444}
    4545
    46 class PageFreeAccess extends Page 
     46class PageFreeAccess extends Page
    4747{
    4848  var $FullTitle = 'Přístup zdarma k Internetu';
     
    5151  var $AddressList = 'free-access';
    5252  var $Timeout;
    53  
     53
    5454  function __construct($System)
    5555  {
    56         parent::__construct($System);
    57         $this->Timeout = 24 * 60 * 60;
     56    parent::__construct($System);
     57    $this->Timeout = 24 * 60 * 60;
    5858  }
    59  
    60         function Show()
    61         {
    62                 $IPAddress = GetRemoteAddress();
    63                 if(IsInternetAddr($IPAddress))
    64                         return('<p>Internet zdarma je dostupný pouze z vnitřní sítě.</p>'); 
    65                 $Time = time();
    66        
    67                 $DbResult = $this->Database->select('NetworkFreeAccess', '*', '(IPAddress="'.$IPAddress.
    68                         '") ORDER BY Time DESC LIMIT 1');
    69                 if($DbResult->num_rows > 0)
    70                 {
    71                         $DbRow = $DbResult->fetch_assoc();
    72                         $ActivationTime = MysqlDateTimeToTime($DbRow['Time']);
    73       if(($ActivationTime + $this->Timeout) < $Time) 
     59
     60  function Show()
     61  {
     62    $IPAddress = GetRemoteAddress();
     63    if(IsInternetAddr($IPAddress))
     64      return('<p>Internet zdarma je dostupný pouze z vnitřní sítě.</p>');
     65    $Time = time();
     66
     67    $DbResult = $this->Database->select('NetworkFreeAccess', '*', '(IPAddress="'.$IPAddress.
     68      '") ORDER BY Time DESC LIMIT 1');
     69    if($DbResult->num_rows > 0)
     70    {
     71      $DbRow = $DbResult->fetch_assoc();
     72      $ActivationTime = MysqlDateTimeToTime($DbRow['Time']);
     73      if(($ActivationTime + $this->Timeout) < $Time)
    7474      {
    75         $Activated = false;
    76       } else $Activated = true;                 
    77                 } else $Activated = false;
    78                
    79                 if(array_key_exists('a', $_GET))
    80                 {
    81                   if($_GET['a'] == 'activate')
    82                   {
    83                         if($Activated == false)
    84                         {
    85                                 $DbResult = $this->Database->insert('NetworkFreeAccess',
    86                                         array('IPAddress' => $IPAddress, 'Time' => TimeToMysqlDateTime(time()),
    87                                         'Configured' => 0));
    88                                 $ActivationTime = $Time;
    89                                 $Activated = true;
    90                         }
    91                   }     
    92                 }
    93                 $Output = '<div style="text-align:center;"><h3>Vítejte v síti ZděchovNET</h3></div>';
    94                 //$Output .= 'Vaše adresa IP je: '.GetRemoteAddress().'<br/>';         
    95                 $Output .= '<p>Pro přístup k Internetu zdarma sdílenou rychlostí 128/128 kbit/s klikněte na odkaz níže.
    96                         Internet bude zpřístupněn po dobu 24 hodin. Po uplynutí této doby je potřeba provést novou aktivaci.</p>';
    97                 $Output .= '<p>Pokud jste platícím zákazníkem a přesto se vám zobrazuje tato stránka, tak pravděpodobně nemáte registrovano v síti vaše klientské zařízení.</p>';
    98                
    99                 $PrefixMultiplier = new PrefixMultiplier();
    100                 if($Activated) $Output .= 'Aktivováno. Vyprší za '.$PrefixMultiplier->Add($ActivationTime + $this->Timeout - $Time, '', 4, 'Time');
    101                   else $Output .= '<a href="?a=activate">Aktivovat</a>';
    102                
    103                 return($Output);
     75        $Activated = false;
     76      } else $Activated = true;
     77    } else $Activated = false;
     78
     79    if(array_key_exists('a', $_GET))
     80    {
     81      if($_GET['a'] == 'activate')
     82      {
     83        if($Activated == false)
     84        {
     85          $DbResult = $this->Database->insert('NetworkFreeAccess',
     86            array('IPAddress' => $IPAddress, 'Time' => TimeToMysqlDateTime(time()),
     87            'Configured' => 0));
     88          $ActivationTime = $Time;
     89          $Activated = true;
     90        }
     91      }
     92    }
     93    $Output = '<div style="text-align:center;"><h3>Vítejte v síti ZděchovNET</h3></div>';
     94    //$Output .= 'Vaše adresa IP je: '.GetRemoteAddress().'<br/>';
     95    $Output .= '<p>Pro přístup k Internetu zdarma sdílenou rychlostí 128/128 kbit/s klikněte na odkaz níže.
     96      Internet bude zpřístupněn po dobu 24 hodin. Po uplynutí této doby je potřeba provést novou aktivaci.</p>';
     97    $Output .= '<p>Pokud jste platícím zákazníkem a přesto se vám zobrazuje tato stránka, tak pravděpodobně nemáte registrovano v síti vaše klientské zařízení.</p>';
     98
     99    $PrefixMultiplier = new PrefixMultiplier();
     100    if($Activated) $Output .= 'Aktivováno. Vyprší za '.$PrefixMultiplier->Add($ActivationTime + $this->Timeout - $Time, '', 4, 'Time');
     101      else $Output .= '<a href="?a=activate">Aktivovat</a>';
     102
     103    return($Output);
    104104  }
    105105}
     
    107107class ScheduleConfigureFreeAccess extends SchedulerTask
    108108{
    109         function Execute()
    110         {
    111                 $Output = '';
    112                 $Commands = array();
    113                 $DbResult = $this->Database->select('NetworkFreeAccess', '`Id`, `IPAddress`', '(`Configured`=0)');
    114                 while($DbRow = $DbResult->fetch_assoc())
    115                 {
    116                         $Commands[] = '/ip firewall address-list add address='.$DbRow['IPAddress'].
    117                         ' list=free-access timeout=1d';
    118                 }
    119                 $DbResult = $this->Database->update('NetworkFreeAccess', '`Configured`=0', array('Configured' => 1));
    120                
    121                 $Routerboard = new Routerboard($this->System->Config['MainRouter']['HostName']);
    122                 $Routerboard->UserName = $this->System->Config['MainRouter']['UserName'];
    123                 $Routerboard->Timeout = $this->System->Config['MainRouter']['ConnectTimeout'];
    124                 $Routerboard->Debug = true;
    125                 $Routerboard->ExecuteBatch(implode(';', $Commands));
    126                                        
    127                 return($Output);
    128         }
     109  function Execute()
     110  {
     111    $Output = '';
     112    $Commands = array();
     113    $DbResult = $this->Database->select('NetworkFreeAccess', '`Id`, `IPAddress`', '(`Configured`=0)');
     114    while($DbRow = $DbResult->fetch_assoc())
     115    {
     116      $Commands[] = '/ip firewall address-list add address='.$DbRow['IPAddress'].
     117      ' list=free-access timeout=1d';
     118    }
     119    $DbResult = $this->Database->update('NetworkFreeAccess', '`Configured`=0', array('Configured' => 1));
     120
     121    $Routerboard = new Routerboard($this->System->Config['MainRouter']['HostName']);
     122    $Routerboard->UserName = $this->System->Config['MainRouter']['UserName'];
     123    $Routerboard->Timeout = $this->System->Config['MainRouter']['ConnectTimeout'];
     124    $Routerboard->Debug = true;
     125    $Routerboard->ExecuteBatch(implode(';', $Commands));
     126
     127    return($Output);
     128  }
    129129}
  • trunk/Modules/NetworkConfigRouterOS/Routerboard2.php

    r548 r738  
    6767  function GetDHCPServerLeasesList()
    6868  {
    69     return($this->GetList('/ip dhcp-server lease', array('address', 'active-address', 'comment', 'lease-time', 'status', 'host-name'))); 
     69    return($this->GetList('/ip dhcp-server lease', array('address', 'active-address', 'comment', 'lease-time', 'status', 'host-name')));
    7070  }
    7171}
  • trunk/Modules/NetworkConfigRouterOS/RouterboardAPI.php

    r704 r738  
    4848    if($this->SSL)
    4949    {
    50         $IP = 'ssl://'.$IP;
     50      $IP = 'ssl://'.$IP;
    5151    }
    5252    $this->Socket = @fsockopen($IP, $this->Port, $this->ErrorNo, $this->ErrorStr, $this->Timeout);
  • trunk/Modules/NetworkConfigRouterOS/SSH.php

    r548 r738  
    3737            /*
    3838            //echo(') '.strlen($Buffer).' '.ord($Buffer{0}).'(');
    39             for($I = 0; $I < strlen($Buffer); $I++) 
     39            for($I = 0; $I < strlen($Buffer); $I++)
    4040            {
    4141              if(((ord($Buffer{$I}) >= 32) and (ord($Buffer{$I}) <= 128)) or ($Buffer{$I} = "\n") or ($Buffer{$I} = "\r")) echo($Buffer{$I});
     
    5555    echo($Response);
    5656    return(explode("\n", substr($Response, 0, -1)));
    57   } 
     57  }
    5858}
  • trunk/Modules/NetworkShare/NetworkShare.php

    r586 r738  
    1717    $this->Dependencies = array('Network');
    1818  }
    19  
     19
    2020  function DoInstall()
    2121  {
    2222  }
    23  
     23
    2424  function DoUnInstall()
    2525  {
  • trunk/Modules/NetworkShare/SharePage.php

    r584 r738  
    7474
    7575    // Default host list view
    76     if((count($_POST) == 0) and (count($_GET) == 0)) 
     76    if((count($_POST) == 0) and (count($_GET) == 0))
    7777    {
    7878      $_POST['view'] = 1;
    79       $_POST['page'] = 0; 
     79      $_POST['page'] = 0;
    8080    }
    8181
     
    101101
    102102    // Log search
    103     if(array_key_exists('keyword', $_POST) or array_key_exists('keyword', $_GET)) 
     103    if(array_key_exists('keyword', $_POST) or array_key_exists('keyword', $_GET))
    104104      $this->System->ModuleManager->Modules['Log']->NewRecord('Share', 'Hledaný výraz', $_SESSION['keyword']);
    105105
     
    218218    $Pocet = $Row[0];
    219219
    220     if($Pocet > 0) 
     220    if($Pocet > 0)
    221221    {
    222222      $Output .= 'Nalezeno celkem: '.$Pocet.' položek<br />';
    223     } else 
     223    } else
    224224    $Output .= 'Podle zadaných podmínek nic nenalezeno';
    225225    if(($Pocet > 0) || ($upstr))
     
    228228      <tr><th bgcolor="#E0E0FF"><a href="index.php?order=name">Soubor</a></th><th bgcolor="#E0E0FF"><a href="index.php?order=ext">Přípona</a></th><th bgcolor="#E0E0FF"><a href="index.php?order=size">Velikost</a></th><th bgcolor="#E0E0FF"><a href="index.php?order=date">Datum</a></th><th bgcolor="#E0E0FF">Umístění</th></tr>';
    229229      $Output .= $upstr;
    230       if($Pocet > 0) 
     230      if($Pocet > 0)
    231231      {
    232232        // Zobrazení tabulky s výsledky
     
    260260      }
    261261    }
    262     if($Pocet > 0) 
     262    if($Pocet > 0)
    263263    {
    264264      // Celkový přehled
  • trunk/Modules/NetworkShare/browse.php

    r548 r738  
    44$SambaSbinDir = '/usr/sbin/';
    55$Database->select_db('share');
    6 $ZanoreniMax = 8;                  // Maximální úroven zanoreni
    7 $MaxProgress = 70;              // Pocet casti stavu prubehu operace
     6$ZanoreniMax = 8;      // Maximální úroven zanoreni
     7$MaxProgress = 70;    // Pocet casti stavu prubehu operace
    88$StartTime = time();
    9 $MountDir = '/tmp/browse/host'; // Složka, kde se dočasně připojují síťové disky
    10 $TempDir = '/tmp/browse/';      // Složka, kde se dočasně připojují síťové disky
     9$MountDir = '/tmp/browse/host'; // Složka, kde se dočasně připojují síťové disky
     10$TempDir = '/tmp/browse/';  // Složka, kde se dočasně připojují síťové disky
    1111if(!is_dir($TempDir)) mkdir($TempDir, 0777);
    1212if(!is_dir($MountDir)) mkdir($MountDir, 0777);
     
    4444{
    4545  global $Citac, $Soubor, $Host, $HostID, $Share, $ZanoreniMax, $Pocet, $Hotovo, $MountDir, $TempDir, $FileSize, $MaxProgress, $Database;
    46  
     46
    4747  $VelikostSlozky = 0;
    4848  //$Vlozit = '';
     
    9393    $Nazev = ltrim(substr($Radek,strlen($Time)+1));
    9494    //echo($Date.','.$Time.','.$Radek.' ');
    95    
     95
    9696    if((strpos($Nazev,'.') > 0) && ($Type != 2))
    9797    {
     
    101101    //$Vlozit .= "INSERT INTO NetworkShareItem (name,size,date,ext,parent,type,host) ".
    102102    //"VALUES ('$Nazev','$Velikost',NOW(),'$Ext','$Parent','$Type','$HostID'); ";
    103    
     103
    104104    $Database->insert('NetworkShareItem', array(
    105105      'name' => $Nazev,
     
    114114    $Citac = $Citac + 1;
    115115    // Pokud jde o sloľku, tak projdi jeji obsah a aktualizuj velikost
    116     if($Type == 2) 
     116    if($Type == 2)
    117117    {
    118118      //echo($Vlozit);
     
    120120    //  $Vlozit = '';
    121121      $VelikostSlozky += Vetev($Cesta.$Nazev.'/',$Zanoreni+1);
    122     } 
     122    }
    123123  }
    124124  //echo($Vlozit);
    125125  //if($Vlozit!='') DB_Query($Vlozit);  // Vloz vsechny polozky
    126  
     126
    127127  // Aktualizuj velikost
    128128  //DB_Query("SELECT SUM(size) FROM NetworkShareItem WHERE (parent=".$Parent.")");
     
    134134
    135135// Proskenuj jednotlive sdileni
    136 $Database->query('DELETE FROM NetworkShareItem WHERE host='.$HostID);   // Smaz predchozi polozky
     136$Database->query('DELETE FROM NetworkShareItem WHERE host='.$HostID); // Smaz predchozi polozky
    137137
    138138// Zapis nazev pocitace
     
    185185      $Soubor = fopen($TempDir.$Host.'.list','r');
    186186      $Citac = 0;
    187       Vetev('/', 0);            // Skenuj sdileni
    188       fclose($Soubor);                  // Uzavřít soubor
    189       unlink($TempDir.$Host.'.list');           // Smazat soubor stromu adresářové struktury
     187      Vetev('/', 0);    // Skenuj sdileni
     188      fclose($Soubor);      // Uzavřít soubor
     189      unlink($TempDir.$Host.'.list');   // Smazat soubor stromu adresářové struktury
    190190      //echo(str_repeat('#',40-$Pocet));
    191191      echo("] $Citac\n");
    192192    //} else echo("CHYBA\n");
    193193  } else echo('Soubor sdílení nenalezen!');
    194   passthru('umount '.$MountDir);        // Odpojit sitovy disk
     194  passthru('umount '.$MountDir);  // Odpojit sitovy disk
    195195}
    196196
     
    215215$DbResult = $Database->query('SELECT id FROM hosts');
    216216$Vyber = '';
    217 while($Row = $DbResult->fetch_array()) 
     217while($Row = $DbResult->fetch_array())
    218218  $Vyber .= $Row['id'].',';
    219  
     219
    220220$Database->select_db('share');
    221221$DbResult = $Database->query("SELECT SUM(size) FROM NetworkShareItem WHERE ((parent=1) AND (host IN (".substr($Vyber,0,-1).')))');
     
    226226echo("Chyby sdílení...\n");
    227227$Database->delete('NetworkShareError', 'host="'.$Host.'"');
    228 if(is_dir($TempDir.'errors')) 
     228if(is_dir($TempDir.'errors'))
    229229{
    230230  $Dir = scandir($TempDir.'errors');
    231231  foreach($Dir as $File)
    232   { 
     232  {
    233233    if(substr($File, 0, strpos($File, '_')) == $Host)
    234234    {
     
    241241        {
    242242          $Row = fgets($ErrorFile);
    243           if($Row != '') 
     243          if($Row != '')
    244244          {
    245245            $Row = substr($ShareFull.'/'.substr($Row, 39), 0, -1);
     
    249249        }
    250250        fclose($ErrorFile);
    251       } 
     251      }
    252252    }
    253253  }
  • trunk/Modules/NetworkShare/firefox.php

    r548 r738  
    88<!--
    99function addSearchEngine(engineURL, iconURL, suggestedTitle, suggestedCategory){
    10         var msg="Přidání vyhledávacího modulu selhalo - ";
     10  var msg="Přidání vyhledávacího modulu selhalo - ";
    1111
    12         if((typeof window.sidebar == "object") && (typeof window.sidebar.addSearchEngine == "function")){
    13                 if(engineURL == null || engineURL == ""){
    14                         alert(msg + "nebyla zadána jeho URL.");
    15                         return false;
    16                 }
    17                 if(iconURL == null || iconURL == ""){
    18                         alert(msg + "nebyla zadána URL ikony.");
    19                         return false;
    20                 }
    21                 if(engineURL.search(/^http:\/\//i) == -1 || engineURL.search(/\.src$/i) == -1){
    22                         alert(msg + "nebyla zadána platná URL.");
    23                         return false;
    24                 }
    25                 if(iconURL.search(/^http:\/\//i) == -1 || iconURL.search(/\.(gif|jpg|jpeg|png)$/i) == -1){
    26                         alert(msg + " nebyla platná URL ikony.");
    27                         return false;
    28                 }
    29                 if(suggestedTitle == null) suggestedTitle = "";
    30                 if(suggestedCategory == null) suggestedCategory = "";
    31                 window.sidebar.addSearchEngine(engineURL, iconURL, suggestedTitle, suggestedCategory);
    32         }else{
    33                 alert("Váš prohlížeč nepodporuje tuto funkci. Zkuste Mozillu.");
    34         }
    35         return false;
    36 } 
     12  if((typeof window.sidebar == "object") && (typeof window.sidebar.addSearchEngine == "function")){
     13    if(engineURL == null || engineURL == ""){
     14      alert(msg + "nebyla zadána jeho URL.");
     15      return false;
     16    }
     17    if(iconURL == null || iconURL == ""){
     18      alert(msg + "nebyla zadána URL ikony.");
     19      return false;
     20    }
     21    if(engineURL.search(/^http:\/\//i) == -1 || engineURL.search(/\.src$/i) == -1){
     22      alert(msg + "nebyla zadána platná URL.");
     23      return false;
     24    }
     25    if(iconURL.search(/^http:\/\//i) == -1 || iconURL.search(/\.(gif|jpg|jpeg|png)$/i) == -1){
     26      alert(msg + " nebyla platná URL ikony.");
     27      return false;
     28    }
     29    if(suggestedTitle == null) suggestedTitle = "";
     30    if(suggestedCategory == null) suggestedCategory = "";
     31    window.sidebar.addSearchEngine(engineURL, iconURL, suggestedTitle, suggestedCategory);
     32  }else{
     33    alert("Váš prohlížeč nepodporuje tuto funkci. Zkuste Mozillu.");
     34  }
     35  return false;
     36}
    3737//-->
    3838</script>');
    39 echo(' 
     39echo('
    4040Pomocí <a href="http://centrala/share/prohledavac_sdileni8.src" onclick="return addSearchEngine(\'http://centrala/share/prohledavac_sdileni8.src\', \'http://centrala/share/prohledavac_sdileni8.gif\', \'Prohledávač sdílení sítě ZděchovNET\', \'Web\')">tohoto odkazu</a> přidáte tento prohledávač sdílení do políčka Hledat ve vašem internetovém prohlížeči Mozilla Firefox. Pak můžete vyhledávat zjednodušeně zadáím hesel do tohoto políčka.<br><br>
    4141<div align="center"><img src="firefox.png" alt="Firefox"></div>');
  • trunk/Modules/NetworkShare/online.php

    r548 r738  
    1212  echo("OK\n\nSeznam online pocitacu:\n");
    1313  array_shift($Output);
    14   $Online = array();            // Seznam online pocitacu
     14  $Online = array();    // Seznam online pocitacu
    1515  foreach($Output as $Radek)
    1616  {
     
    3535    {
    3636      $Output = array();
    37      
     37
    3838      //echo('arping -c 1 '.$Host);
    3939      exec('arping -c 1 '.$Host,$Output);
    4040      if(count($Output)!=4)
    41       { 
     41      {
    4242        $Output = array();
    4343        exec('arping -I wlan0 -c 1 '.$Host,$Output);
    4444        if(count($Output)!=4)
    45         { 
     45        {
    4646          $Output = array();
    4747          exec('arping -I wlan1 -c 1 '.$Host,$Output);
    4848          if(count($Output)!=4)
    49           { 
     49          {
    5050            $Output = array();
    5151            exec('arping -I wlan2 -c 1 '.$Host,$Output);
    52             if(count($Output)!=4) 
     52            if(count($Output)!=4)
    5353            {
    5454              $Output = array();
     
    7171  // Deaktivuj predchozi online pocitace
    7272  $Database->update('hosts', 1, array('online' => 0));
    73  
     73
    7474  //print_r($Online);
    7575  // Aktivuj online pocitace
     
    8282    } else $Database->insert('hosts',array('name' => $Item['host'], 'IP' => $Item['IP'], 'MAC' => $Item['MAC'], 'online' => 1,'date' => 'NOW()','lastdate' => 'NOW()', 'section' => $Section));
    8383  }
    84  
     84
    8585  echo("\nSeznam offline pocitacu:\n");
    8686  $DbResult = $Database->query("SELECT * FROM hosts WHERE online=0");
  • trunk/Modules/NetworkShare/playlist.php

    r548 r738  
    66$Vyber = '';
    77$Podminka = '';
    8 while($Row = $DbResult->fetch_array()) 
     8while($Row = $DbResult->fetch_array())
    99  $Vyber .= $Row['id'].',';
    1010$Podminka .= ' AND (host IN ('.substr($Vyber,0,-1).'))';
     
    2020{
    2121  global $MaxNesting, $Database;
    22  
     22
    2323  // Vyhled�n� cesty
    2424  $Otec = $Row['parent'];
  • trunk/Modules/NetworkShare/update.php

    r548 r738  
    11<?php
    22
    3 //$Perioda = 3600*3;    // prochazet po tech hodinach
     3//$Perioda = 3600*3;  // prochazet po tech hodinach
    44
    55$Dnes = date('Y-m-d');
     
    1212  {
    1313    //echo('Host: '.$Host."...\n");
    14    
     14
    1515    //echo(.','.$Row['date']."\n");
    1616    $HostID = 100;
    1717    $StartTime2 = GetMicrotime();
    18     if($Dnes != $Row['last_share_check']) 
     18    if($Dnes != $Row['last_share_check'])
    1919    {
    2020      echo("Kontroluji ".$Row['Name']."...\n");
     
    2222    }
    2323    else echo("Vynechavam ".$Row['Name']."...\n");
    24     // Aktualizuj datum prochazeni   
     24    // Aktualizuj datum prochazeni
    2525    $Database->update('Hosts', "name='".$Row['name']."'",array('last_share_check' => $Dnes));
    2626  }
    2727  $Rozdil = GetMicrotime()-$StartTime+10;
    28  
     28
    2929  // Oprav a zoptimalizuj tabulku
    3030  //$Database->select_db('share');
     
    3333  echo("\nOptimalizuji tabulku...");
    3434  $Database->query('OPTIMIZE TABLE NetworkShareItem');
    35  
     35
    3636  echo("\nDoba procháení ".date("H:i:s",$Rozdil-3600)."\n\n");
    3737  //$Cekat = $Perioda-$Rozdil;
  • trunk/Modules/NetworkTopology/NetworkTopology.php

    r586 r738  
    77  var $ParentClass = 'PagePortal';
    88  var $TopHostName = 'NIX-ROUTER';
    9  
     9
    1010  function Show()
    1111  {
    1212    if(count($this->System->PathItems) > 1)
    13     { 
     13    {
    1414      if($this->System->PathItems[1] == 'topologie.png') return($this->ShowImage());
    1515        else return(PAGE_NOT_FOUND);
    16      
     16
    1717    } else return($this->ShowOverview());
    1818  }
    19  
     19
    2020  function ShowImage()
    2121  {
     
    3131    $width = $item[0];
    3232    $height = $item[1];
    33  
     33
    3434    $spacex = 32;
    3535    $spacey = 68;
    3636    $halfx = $spacex / 2;
    3737    $halfy = $spacey / 2;
    38     // Načtení pomocných obrázků 
     38    // Načtení pomocných obrázků
    3939    $im_comp = imagecreatefrompng(dirname(__FILE__).'/images/comp.png');
    4040    $im_dev = imagecreatefrompng(dirname(__FILE__).'/images/device.png');
     
    4747    $blue = imagecolorallocate($im, 100, 100, 255);
    4848    $gray = imagecolorallocate($im, 160, 160, 160);
    49    
     49
    5050    //$DbResult = $Database->query("SELECT * FROM hosts, NetworkTopology WHERE host = id AND used=1");
    5151    $DbResult = $this->Database->query('SELECT NetworkTopology.*, NetworkTopology.Host AS Id, '.
     
    9898      }
    9999    }
    100    
     100
    101101    // === Sestavení výsledného souboru ============================================
    102102    if($debug == 0)
    103103    {
    104104      Header("Content-type: image/png");
    105       Header("Cache-Control: no-cache");        // Dynamický graf, nekešovat
     105      Header("Cache-Control: no-cache");  // Dynamický graf, nekešovat
    106106      imagepng($im);
    107107      imagedestroy($im);
     
    111111    return('');
    112112  }
    113  
     113
    114114  function ShowOverview()
    115115  {
     
    142142    $this->Dependencies = array('Network');
    143143  }
    144  
     144
    145145  function DoInstall()
    146146  {
    147147  }
    148  
     148
    149149  function DoUnInstall()
    150150  {
  • trunk/Modules/NetworkTopology/topologie-img.php

    r548 r738  
    99
    1010// === Zpětné vyvážení stromu do hloubky =======================================
    11 function balance($id, $level, &$vlast, &$vleft, &$vpred, &$vfirst, &$vnext, &$tbound, &$width, $limit) 
     11function balance($id, $level, &$vlast, &$vleft, &$vpred, &$vfirst, &$vnext, &$tbound, &$width, $limit)
    1212{
    1313  global $debug, $bbound;
    14  
     14
    1515  if(!array_key_exists($id, $vfirst)) $vfirst[$id] = 0;
    16   if($i = $vfirst[$id]) 
     16  if($i = $vfirst[$id])
    1717  {
    1818    //if ($debug==2) echo $id.':'.@$i.','.@$vpred[$i].'-'.@$vleft[@$vpred[$i]]."\n";
    19     if (($vlast[$id] > 0) && ($vleft[$id] > $vleft[$vlast[$id]])) 
     19    if (($vlast[$id] > 0) && ($vleft[$id] > $vleft[$vlast[$id]]))
    2020    {
    2121      $diff=$vleft[$id]-$vleft[$vlast[$id]];
    2222      $i=$vfirst[$id];
    23       if ($vleft[$id] >= $tbound[$level]) 
     23      if ($vleft[$id] >= $tbound[$level])
    2424      {
    2525        $tbound[$level] = $vleft[$id] + 2;
     
    2828    } else {
    2929      $diff=0;
    30       if ($vpred[$i]&&($vleft[$i]<=$vleft[$vpred[$i]])) 
     30      if ($vpred[$i]&&($vleft[$i]<=$vleft[$vpred[$i]]))
    3131      {
    3232        $diff=$vleft[$i]-$vleft[$vpred[$i]]+2;
    3333      } else $i = 0;
    3434    }
    35     while ($i>0) 
     35    while ($i>0)
    3636    {
    3737      $vleft[$i]+=$diff;
     
    4545// === Generování rovinné stromové struktury ===================================
    4646function gentree($mode)                         // depth-first algorithm
    47 {                       
     47{
    4848  global $debug, $TopHostName, $Database;
    49  
     49
    5050  // --- Inicializace ----------------------------------------------------------
    5151  $tbound = array();                               // Hranice pozic jednotlivých úrovní
     
    5858  $vtop = array();                                 // Pozice prvku shora
    5959  $vpred = array();                                // Vedlejsi prvek na řádku
    60  
     60
    6161  $index = 0;                                    // Index aktuálního prvku
    6262  $curr = 0;                                     // Aktuální prvek
     
    6868  $position[$level] = 0;                           // Aktuální pozice prvku na dané úrovni
    6969  $count[$level] = 0;                              // Počet prvků na dané úrovni
    70  
     70
    7171  $maxindex = 0;
    7272  $tbound[$level] = 0;
    7373  $tranger[$level] = 0;
    74    
     74
    7575  // --- Hlavní cyklus ---------------------------------------------------------
    76   do 
     76  do
    7777  {
    7878  // --- Proveď databázový dotaz -----------------------------------------------
    7979    $query = 'SELECT * FROM hosts WHERE used=1 AND ';
    80     if ($level == 0) 
    81     { 
    82       $query .= 'name = "'.$TopHostName.'" ORDER BY id'; 
    83     } else 
     80    if ($level == 0)
     81    {
     82      $query .= 'name = "'.$TopHostName.'" ORDER BY id';
     83    } else
    8484    {
    8585      $query .= ' parent = '.$parent[$level].' ORDER BY id';
     
    9191    $item = $DbResult->fetch_array();
    9292    //print_r($item);
    93     if($item) 
     93    if($item)
    9494    {
    9595  // --- Zpracování položky z DB -----------------------------------------------
    96       if($position[$level] > 0) 
     96      if($position[$level] > 0)
    9797      {
    9898        $vnext[$curr] = $item['id']; // Neprvní položka, nastav předchozí
     
    114114      $DbResult = $Database->query('SELECT COUNT(*) FROM hosts WHERE used=1 AND parent = '.$curr);
    115115      $childcnt = $DbResult->fetch_array();
    116       if ($childcnt[0] > 0) 
    117       {   
     116      if ($childcnt[0] > 0)
     117      {
    118118        // Uzelový vrchol
    119         if(array_key_exists($level + 1, $tbound))                 
     119        if(array_key_exists($level + 1, $tbound))
    120120          if($tbound[$level + 1] > $vleft[$curr]) $vleft[$curr] = $tbound[$level + 1];
    121121      }
    122122      $tbound[$level] = $vleft[$curr] + 2;
    123123      if ($vleft[$curr] > $width) $width = $vleft[$curr];
    124       if ($childcnt[0] > 0) 
     124      if ($childcnt[0] > 0)
    125125      {
    126126        $level++;
     
    130130        $count[$level] = 0;
    131131      } else $index++;                            // Listový vrchol
    132     } else 
     132    } else
    133133    {
    134134  // --- Zarovnávání prvků kvůli vzhledu
    135135      if(!array_key_exists($vfirst[$parent[$level]], $vleft)) $vleft[$vfirst[$parent[$level]]] = 0;
    136136      if(!array_key_exists($parent[$level], $vleft)) $vleft[$parent[$level]] = 0;
    137       if ($vleft[$vfirst[$parent[$level]]] > $vleft[$parent[$level]]) 
     137      if ($vleft[$vfirst[$parent[$level]]] > $vleft[$parent[$level]])
    138138      {
    139139        $vleft[$parent[$level]] = $vleft[$vfirst[$parent[$level]]];
     
    141141      }
    142142      balance($parent[$level],$level, $vlast,$vleft,$vpred,$vfirst,$vnext,$tbound, $width, 0);
    143       if ($position[$level]==1) 
     143      if ($position[$level]==1)
    144144      {
    145145        $vleft[$vfirst[$parent[$level]]] = $vleft[$parent[$level]];
     
    149149      if(!array_key_exists($parent[$level], $vlast)) $vlast[$parent[$level]] = 0;
    150150      $curr = $vlast[$parent[$level]];
    151      
     151
    152152      if(!array_key_exists($level, $tbound)) $tbound[$level] = 0;
    153153      if(!array_key_exists($level + 1, $tbound)) $tbound[$level + 1] = 0;
     
    165165$datawidth = $data['width'];
    166166for($i = 0; $i <= $maxindex; $i++)
    167 { 
     167{
    168168  if(!array_key_exists($i, $vleft)) $vleft[$i] = 0;
    169169  if(!array_key_exists($i, $data['vleft'])) $data['vleft'][$i] = 0;
     
    179179$IconList = array();
    180180$DbResult = $Database->query('SELECT * FROM HostType');
    181 while($HostType = $DbResult->fetch_assoc()) 
     181while($HostType = $DbResult->fetch_assoc())
    182182  $IconList[$HostType['Id']] = imagecreatefrompng('images/'.$HostType['IconName'].'.png');
    183183
     
    191191$gray = imagecolorallocate($im, 160, 160, 160);
    192192
    193 function xpos($id) 
     193function xpos($id)
    194194{
    195195  global $vleft, $spacex;
     
    198198
    199199$DbResult = $Database->query('SELECT * FROM hosts JOIN HostType ON HostType.Id = hosts.type WHERE hosts.used=1');
    200 while($item = $DbResult->fetch_array()) 
     200while($item = $DbResult->fetch_array())
    201201{
    202202  $id = $item['id'];
    203203  if(!array_key_exists($id, $vtop)) $vtop[$id] = 0;
    204   if(($vtop[$id] > 0) || ($item['name'] == $TopHostName)) 
     204  if(($vtop[$id] > 0) || ($item['name'] == $TopHostName))
    205205  {
    206206    if($vtop[$id] > 0) imageline($im, xpos($id) + $halfx, $vtop[$id] * $spacey, xpos($id) + $halfx, $vtop[$id] * $spacey + 8, $black);
    207207    if(!array_key_exists($id, $vfirst)) $vfirst[$id] = 0;
    208     if($vfirst[$id] > 0) 
     208    if($vfirst[$id] > 0)
    209209    {
    210210      imageline($im, xpos($vfirst[$id]) + $halfx, $vtop[$id] * $spacey + $spacey, xpos($vlast[$id]) + $halfx, $vtop[$id] * $spacey + $spacey, $black);
    211211      imageline($im, xpos($id) + $halfx, ($vtop[$id] + 1) * $spacey - 10, xpos($id) + $halfx, ($vtop[$id] + 1) * $spacey, $black);
    212212    }
    213    
     213
    214214    $image = $IconList[$item['type']];
    215215    if($item['IP'] == '')
     
    228228    imagecopy($im, $image, xpos($id) + $halfx - 15, $vtop[$id] * $spacey + 12, 0, 0, 30, 30);
    229229//    imagerectangle($im,xpos($id)+$halfx-6,$vtop[$id]*$spacey+16,xpos($id)+$halfx+6,$vtop[$id]*$spacey+28,$color);
    230     if($debug) 
     230    if($debug)
    231231    {
    232232      imagestring($im, 2, xpos($id) + ($spacex - strlen($item['id']) * imagefontwidth(2)) / 2, $vtop[$id] * $spacey + 31 + imagefontheight(2), $item['id'], $color);
    233     } else 
     233    } else
    234234      imagestring($im, 2, xpos($id) + ($spacex - strlen($item['name']) * imagefontwidth(2)) / 2, $vtop[$id] * $spacey + 31 + imagefontheight(2), strtoupper($item['name']), $color);
    235235  }
  • trunk/Modules/NetworkTopology/topologie2.php

    r577 r738  
    3838    }
    3939
    40     $this->Tree = $Hosts[$this->TopHostId]; 
     40    $this->Tree = $Hosts[$this->TopHostId];
    4141  }
    42  
     42
    4343  function CalculateDimension(&$Host)
    4444  {
     
    6666
    6767  function MoveNode(&$Host, $Displacement)
    68   { 
     68  {
    6969    $Host['displacement'] = $Host['displacement'] + $Displacement;
    7070    foreach($Host['subitems'] as $Index => $SubHost)
     
    9292          $II = 0;
    9393          while($RightHost['parent_node']['subitems'][$II]['id'] != $RightHost['id']) $II++;
    94           while($II < count($RightHost['parent_node']['subitems'])) 
     94          while($II < count($RightHost['parent_node']['subitems']))
    9595          {
    9696            $this->MoveNode($RightHost['parent_node']['subitems'][$II], $Level[$I]['displacement'] - $Level[$I + 1]['displacement']);
     
    100100    }
    101101  }
    102  
     102
    103103  function BuildLevels(&$Host)
    104104  {
     
    116116    {
    117117      $HostPos = array('x' => -$this->RelPos['min'] + $SubHost['displacement'], 'y' => $SubHost['level'] * $this->HostHeight);
    118       imageline($this->Image, $ParentHostPos['x'], $ParentHostPos['y'], $ParentHostPos['x'], $ParentHostPos['y'] + $this->HostHeight * 0.5,   $this->LineColor); 
    119       imageline($this->Image, $ParentHostPos['x'], $ParentHostPos['y'] + $this->HostHeight * 0.5, $HostPos['x'], $ParentHostPos['y']  + $this->HostHeight * 0.5, $this->LineColor); 
    120       imageline($this->Image, $HostPos['x'], $ParentHostPos['y'] + $this->HostHeight * 0.5, $HostPos['x'], $HostPos['y'], $this->LineColor); 
     118      imageline($this->Image, $ParentHostPos['x'], $ParentHostPos['y'], $ParentHostPos['x'], $ParentHostPos['y'] + $this->HostHeight * 0.5,   $this->LineColor);
     119      imageline($this->Image, $ParentHostPos['x'], $ParentHostPos['y'] + $this->HostHeight * 0.5, $HostPos['x'], $ParentHostPos['y']  + $this->HostHeight * 0.5, $this->LineColor);
     120      imageline($this->Image, $HostPos['x'], $ParentHostPos['y'] + $this->HostHeight * 0.5, $HostPos['x'], $HostPos['y'], $this->LineColor);
    121121      $this->DrawNode(&$Host['subitems'][$Index]);
    122122      imagecopy($this->Image, $this->ImageComputer, $HostPos['x'] - imagesx($this->ImageComputer) * 0.5, $HostPos['y'] - imagesy($this->ImageComputer) * 0.5, 0, 0, 30, 30);
  • trunk/Modules/News/ImportKinoVatra.php

    r622 r738  
    1616$doc = new DOMDocument();
    1717$doc->load($SourceURL);
    18 foreach($doc->getElementsByTagName('item') as $node) 
     18foreach($doc->getElementsByTagName('item') as $node)
    1919{
    2020  $Title = $node->getElementsByTagName('title')->item(0)->nodeValue;
    2121  $Description = $node->getElementsByTagName('description')->item(0)->nodeValue;
    22   $Link = $node->getElementsByTagName('link')->item(0)->nodeValue; 
     22  $Link = $node->getElementsByTagName('link')->item(0)->nodeValue;
    2323  $Date = $node->getElementsByTagName('pubDate')->item(0)->nodeValue;
    24  
     24
    2525  $Description = strip_tags($Description);
    2626  $Description = str_replace("\r", '', $Description);
     
    2929  //  $Date = substr($Date, $CommaPos + 1);
    3030  $Date = TimeToMysqlDateTime(strtotime($Date));
    31  
     31
    3232  $Query = 'SELECT Id FROM News WHERE (`Title`="'.$System->Database->real_escape_string($Title).'") AND (`Category`='.$Category.') AND (`Content` = "'.$System->Database->real_escape_string($Description).'") AND (`Link` = "'.$System->Database->real_escape_string($Link).'")';
    3333  $DbResult = $System->Database->query($Query);
  • trunk/Modules/News/News.php

    r711 r738  
    6767    ));
    6868    $this->System->FormManager->RegisterFormType('TNewsCategory', array(
    69         'Type' => 'Reference',
    70         'Table' => 'NewsCategory',
    71         'Id' => 'Id',
    72         'Name' => 'Caption',
    73         'Filter' => '1',
     69      'Type' => 'Reference',
     70      'Table' => 'NewsCategory',
     71      'Id' => 'Id',
     72      'Name' => 'Caption',
     73      'Filter' => '1',
    7474    ));
    7575    $this->System->FormManager->RegisterFormType('TNewsList', array(
    76         'Type' => 'ManyToOne',
    77         'Table' => 'News',
    78         'Id' => 'Id',
    79         'Ref' => 'Category',
    80         'Filter' => '1',
    81     ));
    82    
     76      'Type' => 'ManyToOne',
     77      'Table' => 'News',
     78      'Id' => 'Id',
     79      'Ref' => 'Category',
     80      'Filter' => '1',
     81    ));
     82
    8383    if($this->System->ModuleManager->ModulePresent('Search'))
    8484    {
  • trunk/Modules/OpeningHours/OpeningHours.php

    r586 r738  
    1010  var $EventType = array('Žádný', 'Otevřeno', 'Zavřeno');
    1111  var $ParentClass = 'PagePortal';
    12  
     12
    1313  function ToHumanTime($Time)
    1414  {
    1515    $Hours = floor($Time / 60);
    1616    $Minutes = $Time - $Hours * 60;
    17     if($Minutes < 10) $Minutes = '0'.$Minutes;   
     17    if($Minutes < 10) $Minutes = '0'.$Minutes;
    1818    $Hours = $Hours % 24;
    1919    return($Hours.':'.$Minutes);
    20   } 
     20  }
    2121
    2222  function ToHumanTime2($Time)
     
    3333    return($Output);
    3434  }
    35  
     35
    3636  function EditSubject($Id)
    3737  {
     
    7272    return($Output);
    7373  }
    74  
     74
    7575  function SaveSubject($Id)
    7676  {
    7777    global $Config;
    78    
     78
    7979    $Output = '';
    8080    if($this->System->User->CheckPermission('OpeningHours', 'Edit'))
     
    9797        $Day['Close2'] = $_POST['day'.$Index.'_close2_m'] + $_POST['day'.$Index.'_close2_h'] * 60;
    9898        $this->Database->insert('SubjectOpenTimeDay', $Day);
    99       }   
    100       $Output .= 'Uloženo'; 
    101      
     99      }
     100      $Output .= 'Uloženo';
     101
    102102      $File = new File($this->Database);
    103103
     
    112112    } else $Output = 'Nemáte oprávnění';
    113113    return($Output);
    114   } 
    115  
     114  }
     115
    116116  function ShowAll()
    117117  {
     
    121121    {
    122122      $Output .= '<strong>'.$Subject['Name'].':</strong><br />';
    123    
     123
    124124      // Load time event list
    125125      $Events = array();
     
    139139      }
    140140      //print_r($Events);
    141      
     141
    142142      // Calculate time to next event
    143143      if(count($Events) > 0)
    144144      {
    145145        $CurrentTime = ((date('w') + 6) % 7) * 24 * 60 + date('G') * 60 + date('i');
    146      
     146
    147147        $I = 0;
    148         while(($I < count($Events)) and ($Events[$I]['Time'] < $CurrentTime)) 
     148        while(($I < count($Events)) and ($Events[$I]['Time'] < $CurrentTime))
    149149          $I++;
    150150        if($I < count($Events))
     
    152152          $NextTime = $Events[$I]['Time'];
    153153          $NextEventType = $Events[$I]['Type'];
    154         } else 
     154        } else
    155155        {
    156156          $NextTime = $Events[0]['Time'] + 7 * 24 * 60;
    157157          $NextEventType = $Events[0]['Type'];
    158158        }
    159      
     159
    160160        $TimeDelta = $NextTime - $CurrentTime;
    161161        //$Output .= $CurrentTime.' '.$NextTime;
     
    163163          else $Output .= 'Otevírá za '.$this->ToHumanTime2($TimeDelta);
    164164      }
    165      
    166       // Show time inteval table 
     165
     166      // Show time inteval table
    167167      $Output .= '<table class="WideTable"><tr><th>Den</th><th>Čas</th></tr>';
    168168      foreach($this->DaysOfWeek as $DayIndex => $DayOfWeek)
     
    187187      $Output .= '</table>Aktualizováno: '.$Subject['UpdateTime'].'<br />';
    188188      if($Subject['Notice'] != '') $Output .= 'Poznámka: '.$Subject['Notice'].'<br />';
    189      
     189
    190190      if($Subject['Photo'] != 0) $Output .= '<a href="file?id='.$Subject['Photo'].'">Fotka</a> ';
    191      
     191
    192192      if($this->System->User->CheckPermission('SubjectOpenTime', 'Edit'))
    193193        $Output .= '<a href="edit?Subject='.$Subject['Id'].'">Editovat</a><br />';
     
    197197    return($Output);
    198198  }
    199  
     199
    200200  function Show()
    201201  {
    202202    if(count($this->System->PathItems) > 1)
    203     { 
     203    {
    204204      if($this->System->PathItems[1] == 'edit') $Output = $this->EditSubject($_GET['Subject']);
    205       else if($this->System->PathItems[1] == 'save') 
     205      else if($this->System->PathItems[1] == 'save')
    206206      {
    207207        $Output = $this->SaveSubject($_GET['Subject']);
    208208        $Output .= $this->ShowAll();
    209       } else $Output = PAGE_NOT_FOUND;       
    210     } else $Output = $this->ShowAll();   
     209      } else $Output = PAGE_NOT_FOUND;
     210    } else $Output = $this->ShowAll();
    211211    return($Output);
    212212  }
     
    225225    $this->Dependencies = array();
    226226  }
    227  
     227
    228228  function DoStart()
    229229  {
    230230    $this->System->Pages['otviraci-doby'] = 'PageSubjectOpenTime';
    231231  }
    232  
     232
    233233  function DoInstall()
    234234  {
  • trunk/Modules/Portal/Portal.php

    r737 r738  
    6363    while($Action = $DbResult->fetch_assoc())
    6464    {
    65         $Output .= $this->System->ShowAction($Action['Id']).'<br/>';
     65      $Output .= $this->System->ShowAction($Action['Id']).'<br/>';
    6666    }
    6767    return($this->Panel($ActionGroup['Name'], $Output));
  • trunk/Modules/RSS/RSS.php

    r670 r738  
    1919  function Start()
    2020  {
    21         $this->System->RegisterPage('rss', 'PageRSS');
     21    $this->System->RegisterPage('rss', 'PageRSS');
    2222  }
    2323
     
    4242    $Output = '';
    4343    foreach($this->RSSChannels as $Channel)
    44                 {
    45                   if($this->System->User->Licence($Channel['Permission']))
    46                           $Output .= ' <link rel="alternate" title="'.$Channel['Title'].'" href="'.
    47                         $this->System->Link('/rss/?channel='.$Channel['Channel']).'" type="application/rss+xml" />';
    48                 }
     44    {
     45      if($this->System->User->Licence($Channel['Permission']))
     46        $Output .= ' <link rel="alternate" title="'.$Channel['Title'].'" href="'.
     47          $this->System->Link('/rss/?channel='.$Channel['Channel']).'" type="application/rss+xml" />';
     48    }
    4949    return($Output);
    5050  }
     
    5353class PageRSS extends Page
    5454{
    55         function Show()
    56         {
    57           $this->ClearPage = true;
     55  function Show()
     56  {
     57    $this->ClearPage = true;
    5858
    59           if(array_key_exists('channel', $_GET)) $ChannelName = $_GET['channel'];
    60             else $ChannelName = '';
    61           if(array_key_exists('token', $_GET)) $Token = $_GET['token'];
    62             else $Token = '';
    63           if(array_key_exists($ChannelName, $this->System->ModuleManager->Modules['RSS']->RSSChannels))
    64           {
    65             $Channel = $this->System->ModuleManager->Modules['RSS']->RSSChannels[$ChannelName];
    66             if($this->System->User->CheckPermission($Channel['Permission']['Module'], $Channel['Permission']['Operation']) or
    67             $this->System->User->CheckToken($Channel['Permission']['Module'], $Channel['Permission']['Operation'], $Token))
    68             {
    69             if(is_string($Channel['Callback'][0]))
    70               {
    71                 $Class = new $Channel['Callback'][0]($this->System);
    72                 $Output = $Class->$Channel['Callback'][1]();
    73               } else $Output = call_user_func($Channel['Callback']);
    74             } else $Output = 'Nemáte oprávnění';
    75           } else $Output = 'Kanál nenalezen';
     59    if(array_key_exists('channel', $_GET)) $ChannelName = $_GET['channel'];
     60      else $ChannelName = '';
     61    if(array_key_exists('token', $_GET)) $Token = $_GET['token'];
     62      else $Token = '';
     63    if(array_key_exists($ChannelName, $this->System->ModuleManager->Modules['RSS']->RSSChannels))
     64    {
     65      $Channel = $this->System->ModuleManager->Modules['RSS']->RSSChannels[$ChannelName];
     66      if($this->System->User->CheckPermission($Channel['Permission']['Module'], $Channel['Permission']['Operation']) or
     67      $this->System->User->CheckToken($Channel['Permission']['Module'], $Channel['Permission']['Operation'], $Token))
     68      {
     69        if(is_string($Channel['Callback'][0]))
     70        {
     71          $Class = new $Channel['Callback'][0]($this->System);
     72          $Output = $Class->$Channel['Callback'][1]();
     73        } else $Output = call_user_func($Channel['Callback']);
     74      } else $Output = 'Nemáte oprávnění';
     75    } else $Output = 'Kanál nenalezen';
    7676    return($Output);
    77         }
     77  }
    7878}
  • trunk/Modules/Scheduler/Scheduler.php

    r735 r738  
    1313    $this->Dependencies = array();
    1414  }
    15  
     15
    1616  function DoStart()
    1717  {
     
    3434      'Table' => 'SchedulerAction',
    3535      'DefaultSortColumn' => 'Name',
    36         'ReadOnly' => true,
     36      'ReadOnly' => true,
    3737      'Items' => array(
    3838        'Name' => array('Type' => 'String', 'Caption' => 'Jméno', 'Default' => '', 'ReadOnly' => true),
     
    4141    ));
    4242    $this->System->FormManager->RegisterFormType('TSchedulerAction', array(
    43         'Type' => 'Reference',
    44         'Table' => 'SchedulerAction',
    45         'Id' => 'Id',
    46         'Name' => 'Name',
    47         'Filter' => '1',
     43      'Type' => 'Reference',
     44      'Table' => 'SchedulerAction',
     45      'Id' => 'Id',
     46      'Name' => 'Name',
     47      'Filter' => '1',
    4848    ));
    4949    $this->System->RegisterCommandLine('run-scheduler', array('ModuleScheduler', 'Run'));
    5050  }
    51  
     51
    5252  function DoInstall()
    5353  {
     
    5555
    5656  function DoUnInstall()
    57   { 
     57  {
    5858  }
    59  
     59
    6060  function Run()
    61   {     
    62         while(true)
    63         {
    64           $DbResult = $this->Database->query('SELECT `Scheduler`.*, `SchedulerAction`.`Class` AS `Class` FROM `Scheduler` '.
    65                 'LEFT JOIN `SchedulerAction` ON `SchedulerAction`.`Id` = `Scheduler`.`Action` '.
    66                 'WHERE (`Scheduler`.`Enabled`=1) AND (((`Scheduler`.`ScheduledTime` < "'.TimeToMysqlDateTime(time()).'") AND '.
    67                 ' (`Scheduler`.`LastExecutedTime` < `Scheduler`.`ScheduledTime`)) OR '.
    68                 '(`Scheduler`.`ScheduledTime` IS NULL))');
    69           while($DbRow = $DbResult->fetch_assoc())
    70           {
    71                 echo('Executing '.$DbRow['Name']."\n");
    72                 $Output = '';
    73             if(class_exists($DbRow['Class']))
    74             {
    75                 $Class = new $DbRow['Class']($this->System);
    76               $Output = $Class->Execute();
    77             } else echo('Class '.$DbRow['Class'].' not found'."\n");
    78                           $this->Database->update('Scheduler', 'Id='.$DbRow['Id'],
    79                           array('Log' => $Output, 'LastExecutedTime' => 'NOW()'));
    80                           if($DbRow['ScheduledTime'] == '') $NewScheduledTime = time() + $DbRow['Period'];
    81                             else $NewScheduledTime = MysqlDateTimeToTime($DbRow['ScheduledTime']) + $DbRow['Period']; 
    82                         if($DbRow['Period'] != '') $this->Database->update('Scheduler', 'Id='.$DbRow['Id'],
    83                                 array('ScheduledTime' => TimeToMysqlDateTime($NewScheduledTime)));                       
    84           }     
    85           echo('.');
    86           sleep(1);
    87         }
     61  {
     62    while(true)
     63    {
     64      $DbResult = $this->Database->query('SELECT `Scheduler`.*, `SchedulerAction`.`Class` AS `Class` FROM `Scheduler` '.
     65        'LEFT JOIN `SchedulerAction` ON `SchedulerAction`.`Id` = `Scheduler`.`Action` '.
     66        'WHERE (`Scheduler`.`Enabled`=1) AND (((`Scheduler`.`ScheduledTime` < "'.TimeToMysqlDateTime(time()).'") AND '.
     67        ' (`Scheduler`.`LastExecutedTime` < `Scheduler`.`ScheduledTime`)) OR '.
     68        '(`Scheduler`.`ScheduledTime` IS NULL))');
     69      while($DbRow = $DbResult->fetch_assoc())
     70      {
     71        echo('Executing '.$DbRow['Name']."\n");
     72        $Output = '';
     73        if(class_exists($DbRow['Class']))
     74        {
     75          $Class = new $DbRow['Class']($this->System);
     76          $Output = $Class->Execute();
     77        } else echo('Class '.$DbRow['Class'].' not found'."\n");
     78        $this->Database->update('Scheduler', 'Id='.$DbRow['Id'],
     79          array('Log' => $Output, 'LastExecutedTime' => 'NOW()'));
     80        if($DbRow['ScheduledTime'] == '') $NewScheduledTime = time() + $DbRow['Period'];
     81          else $NewScheduledTime = MysqlDateTimeToTime($DbRow['ScheduledTime']) + $DbRow['Period'];
     82        if($DbRow['Period'] != '') $this->Database->update('Scheduler', 'Id='.$DbRow['Id'],
     83          array('ScheduledTime' => TimeToMysqlDateTime($NewScheduledTime)));
     84      }
     85      echo('.');
     86      sleep(1);
     87    }
    8888  }
    8989}
     
    9191class SchedulerTask extends Model
    9292{
    93         function Execute()
    94         {
    95         }
     93  function Execute()
     94  {
     95  }
    9696}
  • trunk/Modules/Search/Search.php

    r586 r738  
    1010    $this->ParentClass = 'PagePortal';
    1111  }
    12  
     12
    1313  function Show()
    1414  {
     
    2929        $Columns .= ', `'.$Column.'`';
    3030        $Condition .= ' OR (`'.$Column.'` LIKE "%'.$Text.'%")';
    31       } 
     31      }
    3232      $Columns = substr($Columns, 2);
    3333      $Condition = substr($Condition, 3);
     
    5151  var $Items;
    5252  var $MaxItemCount;
    53  
     53
    5454  function __construct($System)
    5555  {
     
    6464    $this->Items = array();
    6565  }
    66  
     66
    6767  function DoStart()
    6868  {
    6969    $this->System->Pages['search'] = 'PageSearch';
    7070  }
    71  
     71
    7272  function DoInstall()
    7373  {
     
    7575
    7676  function DoUnInstall()
    77   { 
     77  {
    7878  }
    79  
     79
    8080  function RegisterSearch($Title, $TableName, $Columns)
    8181  {
  • trunk/Modules/SpeedTest/SpeedTest.php

    r615 r738  
    2424    $this->Dependencies = array();
    2525  }
    26  
     26
    2727  function DoStart()
    2828  {
    2929    $this->System->Pages['speedtest'] = 'PageSpeedTest';
    30   } 
     30  }
    3131}
    3232
     
    3636  var $ShortTitle = 'Test rychlosti';
    3737  var $ParentClass = 'PagePortal';
    38  
     38
    3939  function Show()
    4040  {
     
    4646    } else return($this->ShowMain());
    4747  }
    48  
     48
    4949  function ShowDownload()
    5050  {
    5151    global $config;
    5252    require_once(dirname(__FILE__)."/download.php");
    53    
     53
    5454  }
    55  
     55
    5656  function ShowMain()
    57   {   
     57  {
    5858    global $config;
    59    
     59
    6060    require_once(dirname(__FILE__)."/common.php");
    6161    ReadConfig(dirname(__FILE__)."/speedtest.cfg");
    62    
     62
    6363## Redirect immediately to download.php if auto_start = 1
    6464if($config->{'general'}->{'auto_start'}) {
     
    7070<head>
    7171<title>'.$config->{'general'}->{'page_title'}.' - Fancy Speed Test</title>
    72 <meta http-equiv="Expires" CONTENT="Fri, Jan 1 1980 00:00:00 GMT" /> 
    73 <meta http-equiv="Pragma" CONTENT="no-cache" /> 
    74 <meta http-equiv="Cache-Control" CONTENT="no-cache" /> 
     72<meta http-equiv="Expires" CONTENT="Fri, Jan 1 1980 00:00:00 GMT" />
     73<meta http-equiv="Pragma" CONTENT="no-cache" />
     74<meta http-equiv="Cache-Control" CONTENT="no-cache" />
    7575<link rel="stylesheet" href="style.css" />
    7676</head>
     
    8989    ## Include "welcome.html" for a custom welcome page, if the file exists
    9090    include("welcome.html");
    91 } else { 
     91} else {
    9292    ## Else print a standard welcome message
    9393
  • trunk/Modules/SpeedTest/download.php

    r560 r738  
    3838        ## Intial test is done.  Set down/upload sizes to the same as
    3939        ## our initial measured speeds.   That way the test should take
    40         ## about 8 seconds for each test (up/down) making it about a 
     40        ## about 8 seconds for each test (up/down) making it about a
    4141        ## 16 second test
    4242        $down_kbytes = $_GET['downspeed'];
     
    4646        $down_kbytes = $config->{'download'}->{'initial_kbytes'};
    4747        $up_kbytes = $config->{'upload'}->{'initial_kbytes'};
    48    } 
     48   }
    4949} else {
    5050    ## auto_size is off.  Just to the default sizes
     
    8484<head>
    8585<title><?php print $config->{'general'}->{'page_title'}; ?> - Fancy Speed Test</title>
    86 <meta http-equiv="Expires" CONTENT="Fri, Jan 1 1980 00:00:00 GMT" /> 
    87 <meta http-equiv="Pragma" CONTENT="no-cache" /> 
    88 <meta http-equiv="Cache-Control" CONTENT="no-cache" /> 
     86<meta http-equiv="Expires" CONTENT="Fri, Jan 1 1980 00:00:00 GMT" />
     87<meta http-equiv="Pragma" CONTENT="no-cache" />
     88<meta http-equiv="Cache-Control" CONTENT="no-cache" />
    8989<link rel="stylesheet" href="style.css" />
    9090</head>
    9191<body>
    9292
    93 <?php 
     93<?php
    9494if(file_exists("header.html")) {
    9595    ## Include "header.html" for a custom header, if the file exists
    9696    include("header.html");
    97 } else { 
     97} else {
    9898    ## Else just print a plain header
    9999    print "<br /><br /><br /><br />\n";
     
    102102<div id="speedtest_contents">
    103103
    104 <?php 
    105 if( ($config_auto_size) && (! isset($_GET['auto_size'])) ) { 
     104<?php
     105if( ($config_auto_size) && (! isset($_GET['auto_size'])) ) {
    106106    ## auto_size is performing the initial, small test
    107107    print "<div>Calculating appropriate file sizes for testing</div>\n";
    108     ob_flush(); 
     108    ob_flush();
    109109} else {
    110110?>
     
    190190    }
    191191}
    192    
     192
    193193
    194194// -->
     
    218218
    219219    ## Read some stuff from our payload file
    220         $data_file = "payload.js";
    221         $fd = fopen ($data_file, "r");
     220  $data_file = "payload.js";
     221  $fd = fopen ($data_file, "r");
    222222    $data = fread ($fd, $each_chunk * 1024);
    223223
     
    281281    CompleteDownloadBar();
    282282
    283         time          = new Date();
    284         endtime       = time.getTime();
    285         if (endtime == starttime)
    286                 {downloadtime = 0
    287         } else {
    288             downloadtime = (endtime - starttime)/1000;
    289         }
     283  time          = new Date();
     284  endtime       = time.getTime();
     285  if (endtime == starttime)
     286    {downloadtime = 0
     287  } else {
     288      downloadtime = (endtime - starttime)/1000;
     289  }
    290290    <?php if(! $config->{'upload'}->{'skip_upload'}){ ?> StartUpload(); <?php } ?>
    291291
    292         down_size = <?php echo $total_kbytes; ?>;
    293         downspeed     = down_size/downloadtime;
    294         downspeed          = (Math.round((downspeed*8)*10*1.024))/10;
     292  down_size = <?php echo $total_kbytes; ?>;
     293  downspeed     = down_size/downloadtime;
     294  downspeed          = (Math.round((downspeed*8)*10*1.024))/10;
    295295
    296296    formElement = document.getElementById('upload_test_form');
    297297
    298 <?php 
     298<?php
    299299if($config_auto_size && (! isset($_GET['auto_size'])) ) {
    300300    $params_auto_size = "&auto_size=1";
  • trunk/Modules/SpeedTest/results.php

    r331 r738  
    4949<head>
    5050<title><?php print $config->{'general'}->{'page_title'}; ?> - Fancy  Speed Test</title>
    51 <meta http-equiv="Expires" CONTENT="Fri, Jan 1 1980 00:00:00 GMT" /> 
    52 <meta http-equiv="Pragma" CONTENT="no-cache" /> 
    53 <meta http-equiv="Cache-Control" CONTENT="no-cache" /> 
     51<meta http-equiv="Expires" CONTENT="Fri, Jan 1 1980 00:00:00 GMT" />
     52<meta http-equiv="Pragma" CONTENT="no-cache" />
     53<meta http-equiv="Cache-Control" CONTENT="no-cache" />
    5454<link rel="stylesheet" href="style.css" />
    5555</head>
    5656<body>
    5757
    58 <?php 
     58<?php
    5959if(file_exists("header.html")) {
    6060    ## Include "header.html" for a custom header, if the file exists
    6161    include("header.html");
    62 } else { 
     62} else {
    6363    ## Else just print a plain header
    6464    print "<center>\n";
     
    118118        print "</table>\n";
    119119        }
    120        
     120
    121121?>
    122122
  • trunk/Modules/Stock/Stock.php

    r736 r738  
    6868          'ReadOnly' => true, 'SQL' => '(SELECT SUM(`SellPrice`) FROM `StockSerialNumber` WHERE '.
    6969          '(`StockSerialNumber`.`Stock`=#Id) AND (`StockSerialNumber`.`TimeElimination` IS NULL))', 'Suffix' => 'Kč'),
    70         'Moves' => array('Type' => 'TStockMoveStock', 'Caption' => 'Pohyby', 'Default' => ''),
     70        'Moves' => array('Type' => 'TStockMoveStock', 'Caption' => 'Pohyby', 'Default' => ''),
    7171      ),
    7272    ));
     
    7878        'DocumentLine' => array('Type' => 'TDocumentLine', 'Caption' => 'Dokladová řada', 'Default' => ''),
    7979        'BillCode' => array('Type' => 'String', 'Caption' => 'Označení', 'Default' => ''),
    80         'Time' => array('Type' => 'DateTime', 'Caption' => 'Čas', 'Default' => ''),
    81         'StockFrom' => array('Type' => 'TStock', 'Caption' => 'Zdrojový sklad', 'Default' => '', 'Null' => true),
    82         'StockTo' => array('Type' => 'TStock', 'Caption' => 'Cílový sklad', 'Default' => '', 'Null' => true),
     80        'Time' => array('Type' => 'DateTime', 'Caption' => 'Čas', 'Default' => ''),
     81        'StockFrom' => array('Type' => 'TStock', 'Caption' => 'Zdrojový sklad', 'Default' => '', 'Null' => true),
     82        'StockTo' => array('Type' => 'TStock', 'Caption' => 'Cílový sklad', 'Default' => '', 'Null' => true),
    8383        'File' => array('Type' => 'TFile', 'Caption' => 'Doklad', 'Default' => '', 'Null' => true),
    8484        'Price' => array('Type' => 'Float', 'Caption' => 'Cena', 'Default' => '',
    8585          'ReadOnly' => true, 'Suffix' => 'Kč', 'SQL' => '(SELECT SUM(`StockMoveItem`.`UnitPrice` * `StockMoveItem`.`Amount`) FROM `StockMoveItem` '.
    8686          'WHERE `StockMoveItem`.`StockMove`=#Id)'),
    87         'Items' => array('Type' => 'TStockMoveItemListStockMove', 'Caption' => 'Položky', 'Default' => ''),
    88       ),       
     87        'Items' => array('Type' => 'TStockMoveItemListStockMove', 'Caption' => 'Položky', 'Default' => ''),
     88      ),
    8989      'BeforeInsert' => array($this, 'BeforeInsertStockMove'),
    9090    ));
     
    9393      'BaseTable' => 'StockMove',
    9494      'DefaultSortColumn' => 'Time',
    95         'SQL' => '(SELECT *, -1 AS `Direction`, `StockFrom` AS `Stock`, `StockTo` AS `StockOther` FROM `StockMove`) '.
    96                 'UNION (SELECT *, 1 AS `Direction`, `StockTo` AS `Stock`, `StockFrom` AS `StockOther` FROM `StockMove`)',
     95      'SQL' => '(SELECT *, -1 AS `Direction`, `StockFrom` AS `Stock`, `StockTo` AS `StockOther` FROM `StockMove`) '.
     96        'UNION (SELECT *, 1 AS `Direction`, `StockTo` AS `Stock`, `StockFrom` AS `StockOther` FROM `StockMove`)',
    9797      'Items' => array(
    9898        'DocumentLine' => array('Type' => 'TDocumentLine', 'Caption' => 'Dokladová řada', 'Default' => ''),
    9999        'BillCode' => array('Type' => 'String', 'Caption' => 'Označení', 'Default' => ''),
    100         'Time' => array('Type' => 'DateTime', 'Caption' => 'Čas', 'Default' => ''),
    101         'Stock' => array('Type' => 'TStock', 'Caption' => 'První sklad', 'Default' => '', 'Null' => true),
    102         'StockOther' => array('Type' => 'TStock', 'Caption' => 'Druhý sklad', 'Default' => '', 'Null' => true),
     100        'Time' => array('Type' => 'DateTime', 'Caption' => 'Čas', 'Default' => ''),
     101        'Stock' => array('Type' => 'TStock', 'Caption' => 'První sklad', 'Default' => '', 'Null' => true),
     102        'StockOther' => array('Type' => 'TStock', 'Caption' => 'Druhý sklad', 'Default' => '', 'Null' => true),
    103103        'File' => array('Type' => 'TFile', 'Caption' => 'Doklad', 'Default' => '', 'Null' => true),
    104104        'Price' => array('Type' => 'Float', 'Caption' => 'Cena', 'Default' => '',
    105105          'ReadOnly' => true, 'Suffix' => 'Kč', 'SQL' => '(SELECT `TX`.`Direction` * SUM(`StockMoveItem`.`UnitPrice` * `StockMoveItem`.`Amount`) FROM `StockMoveItem` '.
    106106          'WHERE `StockMoveItem`.`StockMove`=#Id)'),
    107         'Items' => array('Type' => 'TStockMoveItemListStockMove', 'Caption' => 'Položky', 'Default' => ''),
    108       ),       
     107        'Items' => array('Type' => 'TStockMoveItemListStockMove', 'Caption' => 'Položky', 'Default' => ''),
     108      ),
    109109      'BeforeInsert' => array($this, 'BeforeInsertStockMove'),
    110110    ));
     
    116116        'StockMove' => array('Type' => 'TStockMove', 'Caption' => 'Skladový pohyb', 'Default' => ''),
    117117        'Product' => array('Type' => 'TProduct', 'Caption' => 'Produkt', 'Default' => ''),
    118         'Amount' => array('Type' => 'Integer', 'Caption' => 'Množství', 'Default' => '1'),
    119         'Text' => array('Type' => 'String', 'Caption' => 'Text', 'Default' => ''),
     118        'Amount' => array('Type' => 'Integer', 'Caption' => 'Množství', 'Default' => '1'),
     119        'Text' => array('Type' => 'String', 'Caption' => 'Text', 'Default' => ''),
    120120        'UnitPrice' => array('Type' => 'Integer', 'Caption' => 'Jednotková cena', 'Default' => '0', 'Suffix' => 'Kč'),
    121       ),       
     121      ),
    122122    ));
    123123    $this->System->FormManager->RegisterFormType('TStockMoveItemListStockMove', array(
     
    127127      'Ref' => 'StockMove',
    128128      'Filter' => '1',
    129     )); 
     129    ));
    130130    $this->System->FormManager->RegisterFormType('TStockMoveStock', array(
    131131      'Type' => 'ManyToOne',
     
    134134      'Ref' => 'Stock',
    135135      'Filter' => '1',
    136     ));     
     136    ));
    137137    $this->System->FormManager->RegisterFormType('TStockMove', array(
    138138      'Type' => 'Reference',
     
    167167  function BeforeInsertStockMove($Form)
    168168  {
    169         if(array_key_exists('Time', $Form->Values)) $Year = date("Y", $Form->Values['Time']);
    170           else $Year = date("Y", $Form->Values['ValidFrom']);
     169    if(array_key_exists('Time', $Form->Values)) $Year = date("Y", $Form->Values['Time']);
     170      else $Year = date("Y", $Form->Values['ValidFrom']);
    171171    $DocumentLine = $Form->Values['DocumentLine'];
    172172    $Form->Values['BillCode'] = $this->System->Modules['Finance']->GetNextDocumentLineNumber($DocumentLine, $Year);
  • trunk/Modules/Subject/Subject.php

    r727 r738  
    2828        'AddressCountry' => array('Type' => 'TCountry', 'Caption' => 'Země', 'Default' => ''),
    2929        'IC' => array('Type' => 'String', 'Caption' => 'IČ', 'Default' => ''),
    30         'DIC' => array('Type' => 'String', 'Caption' => 'DIČ', 'Default' => ''),       
     30        'DIC' => array('Type' => 'String', 'Caption' => 'DIČ', 'Default' => ''),
    3131        'MapPosition' => array('Type' => 'TMapPosition', 'Caption' => 'Pozice na mapě', 'Default' => '', 'Null' => true),
    3232        'WWW' => array('Type' => 'Hyperlink', 'Caption' => 'WWW', 'Default' => ''),
     
    3939          'WHERE `FinanceOperation`.`Subject`=#Id), 0) - IFNULL((SELECT SUM(`FinanceInvoice`.`Value` * `FinanceInvoice`.`Direction`) FROM `FinanceInvoice` '.
    4040          'WHERE `FinanceInvoice`.`Subject`=#Id), 0)'),
    41         'BankAccounts' => array('Type' => 'TFinanceBankAccountListSubject', 'Caption' => 'Bankovní účety', 'Default' => ''),
     41        'BankAccounts' => array('Type' => 'TFinanceBankAccountListSubject', 'Caption' => 'Bankovní účety', 'Default' => ''),
    4242      ),
    4343    ));
  • trunk/Modules/System/System.php

    r731 r738  
    22
    33class PageModules extends Page
    4 { 
     4{
    55  function __construct($System)
    66  {
     
    1010    $this->ParentClass = 'PagePortal';
    1111  }
    12  
     12
    1313  function ShowList()
    1414  {
     
    1717    $DbRow = $DbResult->fetch_row();
    1818    $PageList = GetPageList($DbRow[0]);
    19    
     19
    2020    $Output .= $PageList['Output'];
    2121    $Output .= '<table class="WideTable" style="font-size: small;">';
    22      
     22
    2323    $TableColumns = array(
    2424      array('Name' => 'Name', 'Title' => 'Jméno'),
     
    3737        'WHERE `ModuleLink`.`Module` = `Module`.`Id`) AS `Dependencies` '.
    3838        'FROM `Module` '.$Order['SQL'].$PageList['SQLLimit'];
    39    
     39
    4040    $DbResult = $this->Database->query($Query);
    4141    while($Module = $DbResult->fetch_assoc())
     
    5959    $Output .= $PageList['Output'];
    6060    $Output .= '<p><a href="?A=SaveToDb">Uložit do databáze</a></p>';
    61     return($Output);   
    62   }
    63  
     61    return($Output);
     62  }
     63
    6464  function Show()
    65   {   
     65  {
    6666    $Output = '';
    6767    if(array_key_exists('A', $_GET))
    6868    {
    69       if($_GET['A'] == 'SaveToDb') 
     69      if($_GET['A'] == 'SaveToDb')
    7070      {
    7171        $Output .= $this->System->ModuleManager->Modules['System']->SaveToDatabase();
    72         $Output .= $this->SystemMessage('Načtení modulů', 'Seznam modulů v databázi zaktualizován');   
     72        $Output .= $this->SystemMessage('Načtení modulů', 'Seznam modulů v databázi zaktualizován');
    7373      } else
    74       if($_GET['A'] == 'Install') 
     74      if($_GET['A'] == 'Install')
    7575      {
    7676        $this->System->ModuleManager->LoadModules(false);
    7777        $ModuleName = $this->System->ModuleManager->SearchModuleById($_GET['Id']);
    78         if($ModuleName != '') 
     78        if($ModuleName != '')
    7979        {
    8080          $this->System->Modules[$ModuleName]->Install();
    8181          $this->System->ModuleManager->Init();
    8282        } else $Output .= 'Modul id '.$_GET['Id'].' nenalezen';
    83        
     83
    8484      } else
    85       if($_GET['A'] == 'Uninstall') 
     85      if($_GET['A'] == 'Uninstall')
    8686      {
    8787        $ModuleName = $this->System->ModuleManager->SearchModuleById($_GET['Id']);
    88         if($ModuleName != '') 
     88        if($ModuleName != '')
    8989        {
    9090          $this->System->ModuleManager->Modules[$ModuleName]->UnInstall();
    9191          $this->System->ModuleManager->Init();
    9292        } else $Output .= 'Modul id '.$_GET['Id'].' nenalezen';
    93       } else $Output .= 'Neplatná akce';         
     93      } else $Output .= 'Neplatná akce';
    9494    }
    9595    $Output .= $this->ShowList();
    96     return($Output);   
    97   }
    98 } 
     96    return($Output);
     97  }
     98}
    9999
    100100class ModuleSystem extends AppModule
    101101{
    102102  var $InstalledChecked;
    103        
     103
    104104  function __construct($System)
    105105  {
     
    112112    $this->Dependencies = array();
    113113  }
    114  
     114
    115115  function DoInstall()
    116116  {
     
    131131  PRIMARY KEY (`Id`)
    132132) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci AUTO_INCREMENT=1;');
    133    
     133
    134134    $this->Database->query('CREATE TABLE IF NOT EXISTS `SystemModuleDependency` (
    135135  `Id` int(11) NOT NULL AUTO_INCREMENT,
     
    143143    $this->Database->query('ALTER TABLE `SystemModuleDependency` ADD CONSTRAINT `SystemModuleDependency_ibfk_1` FOREIGN KEY ( `Module` ) REFERENCES `SystemModule` (`Id`)');
    144144    $this->Database->query('ALTER TABLE `SystemModuleDependency` ADD CONSTRAINT `SystemModuleDependency_ibfk_2` FOREIGN KEY ( `DependencyModule` ) REFERENCES `SystemModule` (`Id`)');
    145    
     145
    146146    $this->Database->query('CREATE TABLE IF NOT EXISTS `SystemModel` (
    147147  `Id` int(11) NOT NULL AUTO_INCREMENT,
     
    152152) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci AUTO_INCREMENT=1;');
    153153    $this->Database->query('ALTER TABLE `SystemModel` ADD CONSTRAINT `SystemModel_ibfk_1` FOREIGN KEY ( `Module` ) REFERENCES `SystemModule` (`Id`)');
    154    
     154
    155155    $this->Database->query('CREATE TABLE IF NOT EXISTS `SystemModelProperty` (
    156156  `Id` int(11) NOT NULL AUTO_INCREMENT,
     
    163163    $this->Database->query('ALTER TABLE `SystemModelProperty` ADD CONSTRAINT `SystemModelProperty_ibfk_1` FOREIGN KEY ( `Model` ) REFERENCES `SystemModel` (`Id`)');
    164164  }
    165  
     165
    166166  function DoUnInstall()
    167167  {
     
    220220    ));
    221221    $this->System->FormManager->RegisterClass('Module', array(
    222         'Title' => 'Moduly',
    223           'Table' => 'Module',
    224           'Items' => array(
    225                 'Name' => array('Type' => 'String', 'Caption' => 'Systémové jméno', 'Default' => ''),
    226                   'Title' => array('Type' => 'String', 'Caption' => 'Název', 'Default' => ''),
    227                 'Description' => array('Type' => 'Text', 'Caption' => 'Popis', 'Default' => ''),
    228                 'Version' => array('Type' => 'String', 'Caption' => 'Verze', 'Default' => ''),
    229                 'License' => array('Type' => 'String', 'Caption' => 'Licence', 'Default' => ''),
    230                 'Creator' => array('Type' => 'String', 'Caption' => 'Tvůrce', 'Default' => ''),
    231         'HomePage' => array('Type' => 'Hyperlink', 'Caption' => 'Domovské stránky', 'Default' => ''),           
    232                 'Installed' => array('Type' => 'Boolean', 'Caption' => 'Instalováno', 'Default' => '', 'ReadOnly' => true),
    233                 'Models' => array('Type' => 'TModelListModule', 'Caption' => 'Modely', 'Default' => ''),
    234                 'Links' => array('Type' => 'TModuleLinkListModule', 'Caption' => 'Vazby', 'Default' => ''),
    235           ),
    236         'Actions' => array(
    237                 array('Caption' => 'Aktualizovat z disku', 'URL' => '/module/?A=SaveToDb'),
    238           ),
     222      'Title' => 'Moduly',
     223      'Table' => 'Module',
     224      'Items' => array(
     225        'Name' => array('Type' => 'String', 'Caption' => 'Systémové jméno', 'Default' => ''),
     226        'Title' => array('Type' => 'String', 'Caption' => 'Název', 'Default' => ''),
     227        'Description' => array('Type' => 'Text', 'Caption' => 'Popis', 'Default' => ''),
     228        'Version' => array('Type' => 'String', 'Caption' => 'Verze', 'Default' => ''),
     229        'License' => array('Type' => 'String', 'Caption' => 'Licence', 'Default' => ''),
     230        'Creator' => array('Type' => 'String', 'Caption' => 'Tvůrce', 'Default' => ''),
     231        'HomePage' => array('Type' => 'Hyperlink', 'Caption' => 'Domovské stránky', 'Default' => ''),
     232        'Installed' => array('Type' => 'Boolean', 'Caption' => 'Instalováno', 'Default' => '', 'ReadOnly' => true),
     233        'Models' => array('Type' => 'TModelListModule', 'Caption' => 'Modely', 'Default' => ''),
     234        'Links' => array('Type' => 'TModuleLinkListModule', 'Caption' => 'Vazby', 'Default' => ''),
     235      ),
     236      'Actions' => array(
     237        array('Caption' => 'Aktualizovat z disku', 'URL' => '/module/?A=SaveToDb'),
     238      ),
    239239    ));
    240240    $this->System->FormManager->RegisterFormType('TModule', array(
    241         'Type' => 'Reference',
    242         'Table' => 'Module',
    243         'Id' => 'Id',
    244         'Name' => 'Title',
    245         'Filter' => '1',
     241      'Type' => 'Reference',
     242      'Table' => 'Module',
     243      'Id' => 'Id',
     244      'Name' => 'Title',
     245      'Filter' => '1',
    246246    ));
    247247    $this->System->FormManager->RegisterFormType('TModelListModule', array(
     
    253253    ));
    254254    $this->System->FormManager->RegisterClass('Model', array(
    255         'Title' => 'Modely',
    256           'Table' => 'Model',
    257           'Items' => array(
    258                 'Name' => array('Type' => 'String', 'Caption' => 'Systémové jméno', 'Default' => ''),
    259                   'Title' => array('Type' => 'String', 'Caption' => 'Název', 'Default' => ''),
    260                 'Module' => array('Type' => 'TModule', 'Caption' => 'Module', 'Default' => ''),
    261             'Query' => array('Type' => 'String', 'Caption' => 'SQL dotaz', 'Default' => ''),
    262                 'DefaultSortColumn' => array('Type' => 'String', 'Caption' => 'Výchozí sloupce řazení', 'Default' => ''),
    263                 'DefaultSortOrder' => array('Type' => 'Text', 'Caption' => 'Výchozí směr řazení', 'Default' => ''),
    264                 'Fields' => array('Type' => 'TModelFieldListModel', 'Caption' => 'Pole', 'Default' => ''),
    265           ),
     255      'Title' => 'Modely',
     256      'Table' => 'Model',
     257      'Items' => array(
     258        'Name' => array('Type' => 'String', 'Caption' => 'Systémové jméno', 'Default' => ''),
     259        'Title' => array('Type' => 'String', 'Caption' => 'Název', 'Default' => ''),
     260        'Module' => array('Type' => 'TModule', 'Caption' => 'Module', 'Default' => ''),
     261        'Query' => array('Type' => 'String', 'Caption' => 'SQL dotaz', 'Default' => ''),
     262        'DefaultSortColumn' => array('Type' => 'String', 'Caption' => 'Výchozí sloupce řazení', 'Default' => ''),
     263        'DefaultSortOrder' => array('Type' => 'Text', 'Caption' => 'Výchozí směr řazení', 'Default' => ''),
     264        'Fields' => array('Type' => 'TModelFieldListModel', 'Caption' => 'Pole', 'Default' => ''),
     265      ),
    266266    ));
    267267    $this->System->FormManager->RegisterFormType('TModel', array(
    268         'Type' => 'Reference',
    269         'Table' => 'Model',
    270         'Id' => 'Id',
    271         'Name' => 'Title',
    272         'Filter' => '1',
     268      'Type' => 'Reference',
     269      'Table' => 'Model',
     270      'Id' => 'Id',
     271      'Name' => 'Title',
     272      'Filter' => '1',
    273273    ));
    274274    $this->System->FormManager->RegisterFormType('TModelFieldListModel', array(
     
    280280    ));
    281281    $this->System->FormManager->RegisterClass('ModelField', array(
    282         'Title' => 'Pole modelu',
    283           'Table' => 'ModelField',
    284           'Items' => array(
    285                 'Name' => array('Type' => 'String', 'Caption' => 'Systémové jméno', 'Default' => ''),
    286                   'Title' => array('Type' => 'String', 'Caption' => 'Název', 'Default' => ''),
    287                 'Model' => array('Type' => 'TModel', 'Caption' => 'Model', 'Default' => ''),
    288             'Query' => array('Type' => 'String', 'Caption' => 'SQL dotaz', 'Default' => ''),
    289                 'Type' => array('Type' => 'String', 'Caption' => 'Typ', 'Default' => ''),
    290                 'DefaultValue' => array('Type' => 'String', 'Caption' => 'Výchozí hodnota', 'Default' => ''),
    291                 'IsNull' => array('Type' => 'Boolean', 'Caption' => 'Také nulová hodnota', 'Default' => ''),
    292                 'Suffix' => array('Type' => 'String', 'Caption' => 'Text za', 'Default' => ''),
    293           ),
     282      'Title' => 'Pole modelu',
     283      'Table' => 'ModelField',
     284      'Items' => array(
     285        'Name' => array('Type' => 'String', 'Caption' => 'Systémové jméno', 'Default' => ''),
     286        'Title' => array('Type' => 'String', 'Caption' => 'Název', 'Default' => ''),
     287        'Model' => array('Type' => 'TModel', 'Caption' => 'Model', 'Default' => ''),
     288        'Query' => array('Type' => 'String', 'Caption' => 'SQL dotaz', 'Default' => ''),
     289        'Type' => array('Type' => 'String', 'Caption' => 'Typ', 'Default' => ''),
     290        'DefaultValue' => array('Type' => 'String', 'Caption' => 'Výchozí hodnota', 'Default' => ''),
     291        'IsNull' => array('Type' => 'Boolean', 'Caption' => 'Také nulová hodnota', 'Default' => ''),
     292        'Suffix' => array('Type' => 'String', 'Caption' => 'Text za', 'Default' => ''),
     293      ),
    294294    ));
    295295    $this->System->FormManager->RegisterFormType('TModuleLink', array(
    296         'Type' => 'Reference',
    297         'Table' => 'ModuleLink',
    298         'Id' => 'Id',
    299         'Name' => 'Module',
    300         'Filter' => '1',
     296      'Type' => 'Reference',
     297      'Table' => 'ModuleLink',
     298      'Id' => 'Id',
     299      'Name' => 'Module',
     300      'Filter' => '1',
    301301    ));
    302302    $this->System->FormManager->RegisterFormType('TModuleLinkListModule', array(
     
    308308    ));
    309309    $this->System->FormManager->RegisterClass('ModuleLink', array(
    310         'Title' => 'Vazby modulu',
    311           'Table' => 'ModuleLink',
    312           'Items' => array(
    313                 'Module' => array('Type' => 'TModule', 'Caption' => 'Modul', 'Default' => ''),
    314                 'LinkedModule' => array('Type' => 'TModule', 'Caption' => 'Vázaný modul', 'Default' => ''),
    315             'Type' => array('Type' => 'String', 'Caption' => 'Typ vazby', 'Default' => ''),
    316           ),
     310      'Title' => 'Vazby modulu',
     311      'Table' => 'ModuleLink',
     312      'Items' => array(
     313        'Module' => array('Type' => 'TModule', 'Caption' => 'Modul', 'Default' => ''),
     314        'LinkedModule' => array('Type' => 'TModule', 'Caption' => 'Vázaný modul', 'Default' => ''),
     315        'Type' => array('Type' => 'String', 'Caption' => 'Typ vazby', 'Default' => ''),
     316      ),
    317317    ));
    318318    $this->System->FormManager->RegisterClass('Language', array(
    319         'Title' => 'Jazyky',
    320           'Table' => 'Language',
    321           'DefaultSortColumn' => 'Name',
    322           'Items' => array(
    323                 'Name' => array('Type' => 'String', 'Caption' => 'Jméno', 'Default' => ''),                     
    324           ),
     319      'Title' => 'Jazyky',
     320      'Table' => 'Language',
     321      'DefaultSortColumn' => 'Name',
     322      'Items' => array(
     323        'Name' => array('Type' => 'String', 'Caption' => 'Jméno', 'Default' => ''),
     324      ),
    325325    ));
    326326    $this->System->FormManager->RegisterClass('UnitOfMeasure', array(
    327         'Title' => 'Měrné jednotky',
    328           'Table' => 'UnitOfMeasure',
    329           'DefaultSortColumn' => 'Name',
    330           'Items' => array(
    331                         'Name' => array('Type' => 'String', 'Caption' => 'Jméno', 'Default' => ''),
    332                         'Unit' => array('Type' => 'String', 'Caption' => 'Jednotka', 'Default' => ''),
    333           ),
     327      'Title' => 'Měrné jednotky',
     328      'Table' => 'UnitOfMeasure',
     329      'DefaultSortColumn' => 'Name',
     330      'Items' => array(
     331        'Name' => array('Type' => 'String', 'Caption' => 'Jméno', 'Default' => ''),
     332        'Unit' => array('Type' => 'String', 'Caption' => 'Jednotka', 'Default' => ''),
     333      ),
    334334    ));
    335335    $this->System->FormManager->RegisterClass('Country', array(
    336         'Title' => 'Země',
    337           'Table' => 'Country',
    338           'DefaultSortColumn' => 'Name',
    339           'Items' => array(
    340                 'Name' => array('Type' => 'String', 'Caption' => 'Jméno', 'Default' => ''),
    341           ),
     336      'Title' => 'Země',
     337      'Table' => 'Country',
     338      'DefaultSortColumn' => 'Name',
     339      'Items' => array(
     340        'Name' => array('Type' => 'String', 'Caption' => 'Jméno', 'Default' => ''),
     341      ),
    342342    ));
    343343    $this->System->FormManager->RegisterFormType('TCountry', array(
    344         'Type' => 'Reference',
    345         'Table' => 'Country',
    346         'Id' => 'Id',
    347         'Name' => 'Name',
    348         'Filter' => '1',
     344      'Type' => 'Reference',
     345      'Table' => 'Country',
     346      'Id' => 'Id',
     347      'Name' => 'Name',
     348      'Filter' => '1',
    349349    ));
    350350    $this->System->FormManager->RegisterFormType('TUnitOfMeasure', array(
    351         'Type' => 'Reference',
    352         'Table' => 'UnitOfMeasure',
    353         'Id' => 'Id',
    354         'Name' => 'Name',
    355         'Filter' => '1',
     351      'Type' => 'Reference',
     352      'Table' => 'UnitOfMeasure',
     353      'Id' => 'Id',
     354      'Name' => 'Name',
     355      'Filter' => '1',
    356356    ));
    357357    $this->System->FormManager->RegisterFormType('TLanguage', array(
    358         'Type' => 'Reference',
    359         'Table' => 'Language',
    360         'Id' => 'Id',
    361         'Name' => 'Name',
    362         'Filter' => '1',
     358      'Type' => 'Reference',
     359      'Table' => 'Language',
     360      'Id' => 'Id',
     361      'Name' => 'Name',
     362      'Filter' => '1',
    363363    ));
    364364    $this->System->FormManager->RegisterFormType('TAction', array(
    365         'Type' => 'Reference',
    366         'Table' => 'Action',
    367         'Id' => 'Id',
    368         'Name' => 'Title',
    369         'Filter' => '1',
     365      'Type' => 'Reference',
     366      'Table' => 'Action',
     367      'Id' => 'Id',
     368      'Name' => 'Title',
     369      'Filter' => '1',
    370370    ));
    371371    $this->System->FormManager->RegisterFormType('TActionIcon', array(
    372         'Type' => 'Reference',
    373         'Table' => 'ActionIcon',
    374         'Id' => 'Id',
    375         'Name' => 'Name',
    376         'Filter' => '1',
     372      'Type' => 'Reference',
     373      'Table' => 'ActionIcon',
     374      'Id' => 'Id',
     375      'Name' => 'Name',
     376      'Filter' => '1',
    377377    ));
    378378    $this->System->FormManager->RegisterFormType('TActionType', array(
    379         'Type' => 'Reference',
    380         'Table' => 'ActionType',
    381         'Id' => 'Id',
    382         'Name' => 'Name',
    383         'Filter' => '1',
     379      'Type' => 'Reference',
     380      'Table' => 'ActionType',
     381      'Id' => 'Id',
     382      'Name' => 'Name',
     383      'Filter' => '1',
    384384    ));
    385385    $this->System->FormManager->RegisterFormType('TActionGroup', array(
    386         'Type' => 'Reference',
    387         'Table' => 'ActionGroup',
    388         'Id' => 'Id',
    389         'Name' => 'Name',
    390         'Filter' => '1',
    391     ));   
     386      'Type' => 'Reference',
     387      'Table' => 'ActionGroup',
     388      'Id' => 'Id',
     389      'Name' => 'Name',
     390      'Filter' => '1',
     391    ));
    392392    $this->System->FormManager->RegisterFormType('TModule', array(
    393         'Type' => 'Reference',
    394         'Table' => 'Module',
    395         'Id' => 'Id',
    396         'Name' => 'Name',
    397         'Filter' => '1',
    398     ));
    399    
     393      'Type' => 'Reference',
     394      'Table' => 'Module',
     395      'Id' => 'Id',
     396      'Name' => 'Name',
     397      'Filter' => '1',
     398    ));
     399
    400400    //$this->Manager->OnModuleChange = array($this, 'ModuleChange');
    401401    //$this->LoadFromDatabase();
    402402  }
    403  
     403
    404404  function DoStop()
    405405  {
    406406  }
    407  
     407
    408408  function IsInstalled()
    409409  {
     
    411411    {
    412412      $DbResult = $this->Database->query('SELECT table_name FROM information_schema.tables
    413 WHERE table_schema = "'.$this->Database->Database.'" AND table_name = "SystemVersion";');   
     413WHERE table_schema = "'.$this->Database->Database.'" AND table_name = "SystemVersion";');
    414414      if($DbResult->num_rows > 0) $this->Installed = true;
    415415        else $this->Installed = false;
    416416      $this->InstalledChecked = true;
    417417    }
    418     return($this->Installed); 
    419   }
    420  
     418    return($this->Installed);
     419  }
     420
    421421  function ModuleChange($Module)
    422422  {
    423423    //if($this->IsInstalled())
    424424    {
    425        
     425
    426426      if($Module->IsInstalled()) $Installed = 1;
    427         else $Installed = 0; 
     427        else $Installed = 0;
    428428      $this->Database->query('UPDATE `Module` SET `Installed`=1 WHERE `Name`="'.$Module->Name.'"');
    429429    }
    430430  }
    431  
     431
    432432  function LoadFromDatabase()
    433433  {
     
    441441      include_once('Modules/'.$Module['Name'].'/'.$Module['Name'].'.php');
    442442      $ModuleClassName = 'Module'.$Module['Name'];
    443       $NewModule = new $ModuleClassName($this->Database, $this->Manager);     
     443      $NewModule = new $ModuleClassName($this->Database, $this->Manager);
    444444      $NewModule->Id = $Module['Id'];
    445       $NewModule->Installed = $Module['Installed'];     
     445      $NewModule->Installed = $Module['Installed'];
    446446      $this->Manager->RegisterModule($NewModule);
    447     }     
    448   }
    449  
     447    }
     448  }
     449
    450450  function SaveToDatabase()
    451451  {
    452         $Output = '';
     452    $Output = '';
    453453    $Modules = array();
    454454    $DbResult = $this->Database->query('SELECT * FROM `Module`');
     
    461461
    462462    // Add missing
    463     foreach($this->System->ModuleManager->Modules as $Module)   
    464     {     
     463    foreach($this->System->ModuleManager->Modules as $Module)
     464    {
    465465      if(!array_key_exists($Module->Name, $Modules))
    466466      {
    467         $this->Database->insert('Module', array('Name' => $Module->Name, 
     467        $this->Database->insert('Module', array('Name' => $Module->Name,
    468468          'Version' => $Module->Version, 'Creator' => $Module->Creator,
    469                 'HomePage' => $Module->HomePage, 'Title' => $Module->Title,
     469          'HomePage' => $Module->HomePage, 'Title' => $Module->Title,
    470470          'Description' => $Module->Description, 'License' => $Module->License,
    471471          'Installed' => $Module->Installed));
     
    474474      else $this->Database->update('Module', 'Name = "'.$Module->Name.'"', array(
    475475        'Version' => $Module->Version, 'Creator' => $Module->Creator,
    476         'HomePage' => $Module->HomePage, 'Title' => $Module->Title,
     476        'HomePage' => $Module->HomePage, 'Title' => $Module->Title,
    477477        'Description' => $Module->Description, 'License' => $Module->License,
    478478        'Installed' => $Module->Installed));
    479479    }
    480    
     480
    481481    // Remove exceeding
    482     foreach($Modules as $Module)   
     482    foreach($Modules as $Module)
    483483    if(!$this->System->ModuleManager->ModulePresent($Module['Name']))
    484484    {
     
    487487      $this->Database->query('DELETE FROM `ModuleLink` WHERE `LinkedModule` = '.$Module['Id']);
    488488      $DbResult = $this->Database->query('SELECT Id FROM `PermissionOperation` WHERE `Module` = '.$Module['Id']);
    489       while($DbRow = $DbResult->fetch_assoc()) 
     489      while($DbRow = $DbResult->fetch_assoc())
    490490      {
    491491        $this->Database->query('DELETE FROM `PermissionGroupAssignment` WHERE `AssignedOperation` = '.$DbRow['Id']);
     
    498498        $this->Database->query('DELETE FROM `ModelField` WHERE `Model` = '.$DbRow['Id']);
    499499      $this->Database->query('DELETE FROM `Module` WHERE `Id` = '.$Module['Id']);
    500     }   
    501    
     500    }
     501
    502502    // Reload dependencies
    503503    $DbDependency = array();
     
    505505    while($DbRow = $DbResult->fetch_assoc())
    506506      $DbDependency[$DbRow['Module']][] = $DbRow['LinkedModule'];
    507    
     507
    508508    foreach($this->System->ModuleManager->Modules as $Module)
    509509    {
     
    517517            $DependencyId = $this->System->ModuleManager->Modules[$Dependency]->Id;
    518518            else throw new Exception('Dependent module '.$Dependency.' not found');
    519           $this->Database->insert('ModuleLink', array('Module' => $Module->Id, 
     519          $this->Database->insert('ModuleLink', array('Module' => $Module->Id,
    520520            'LinkedModule' => $DependencyId, 'Type' => 'DependOn'));
    521         }       
     521        }
    522522      }
    523      
     523
    524524      // Remove exceeding
    525525      if(array_key_exists($Module->Id, $DbDependency))
     
    530530        $this->Database->query('DELETE FROM `ModuleLink` WHERE `Module` = '.
    531531          $Module->Id.' AND LinkedModule='.$Dep);
    532       }     
     532      }
    533533    }
    534534    return($Output);
    535   } 
     535  }
    536536}
  • trunk/Modules/TV/TV.php

    r712 r738  
    88  var $ShortTitle = 'IPTV';
    99  var $ParentClass = 'PagePortal';
    10  
     10
    1111  function Show()
    12   {   
     12  {
    1313    if(count($this->System->PathItems) > 1)
    14     { 
     14    {
    1515      if($this->System->PathItems[1] == 'playlist.m3u') return($this->ShowPlayList());
    1616        else return(PAGE_NOT_FOUND);
    1717    } else return($this->ShowChannelList());
    1818  }
    19  
     19
    2020  function ShowChannelList()
    2121  {
    2222    global $Channels;
    23    
     23
    2424    $Output = 'Stažení přehrávače: <a href="http://www.videolan.org/vlc/">VLC Media Player</a><br/>'.
    2525    'Seznam všech kanálů do přehrávače: <a href="playlist.m3u">Playlist</a><br/>'.
     
    2828    '<div align="center"><strong>Výpis kanálů:</strong><br>';
    2929
    30     $Where = 
     30    $Where =
    3131    $DbResult = $this->Database->query('SELECT COUNT(*) FROM `TV` LEFT JOIN `TVGroup` ON `TVGroup`.`Id` = `TV`.`Category` '.
    3232      ' LEFT JOIN `Language` ON `Language`.`Id` = `TV`.`Language` WHERE (`TV`.`Stream` <> "") OR (`TV`.`StreamWeb` <> "")');
    3333    $DbRow = $DbResult->fetch_row();
    34     $PageList = GetPageList($DbRow[0]);   
     34    $PageList = GetPageList($DbRow[0]);
    3535
    3636    $Output .= $PageList['Output'];
    3737    $Output .= '<table class="WideTable">';
    38    
     38
    3939    $TableColumns = array(
    40       array('Name' => 'Name', 'Title' => 'Jméno stanice'), 
    41       array('Name' => 'Language', 'Title' => 'Jazyk'), 
    42       array('Name' => 'Category', 'Title' => 'Zaměření'), 
    43       array('Name' => 'SourceType', 'Title' => 'Zdroj'), 
    44       array('Name' => '', 'Title' => 'Ladění'), 
     40      array('Name' => 'Name', 'Title' => 'Jméno stanice'),
     41      array('Name' => 'Language', 'Title' => 'Jazyk'),
     42      array('Name' => 'Category', 'Title' => 'Zaměření'),
     43      array('Name' => 'SourceType', 'Title' => 'Zdroj'),
     44      array('Name' => '', 'Title' => 'Ladění'),
    4545    );
    4646    $Order = GetOrderTableHeader($TableColumns, 'Name', 0);
     
    5151
    5252    $DbResult = $this->Database->query($Query);
    53     while($Line = $DbResult->fetch_assoc()) 
    54     { 
     53    while($Line = $DbResult->fetch_assoc())
     54    {
    5555      if($Line['Stream'] <> '') $Line['Show'] = '<a href="playlist.m3u?id='.$Line['ShortName'].'">Naladit</a>';
    5656      else
    5757      if($Line['StreamWeb'] <> '') $Line['Show'] = '<a href="'.$Line['StreamWeb'].'">Naladit</a>';
    5858        else $Line['Show'] = '&nbsp;';
    59      
     59
    6060      $Output .= '<tr><td><a href="'.$Line['Homepage'].'">'.$Line['Name'].'</a></td>'.
    6161      '<td>'.$Line['Language'].'</td>'.
     
    6666    $Output .= '</table>';
    6767    $Output .= $PageList['Output'];
    68    
     68
    6969    $Output .= '</div><br/>';
    70    
     70
    7171    $Output .= 'Další online TV na webu: <a href="http://spustit.cz">Spustit.cz</a><br/>';
    7272    $Output .= 'Další online TV na webu: <a href="http://www.tvinfo.cz/live/televize/evropa/cz">TV info</a><br/>';
    73    
     73
    7474    return($Output);
    7575  }
     
    7878  {
    7979    $this->ClearPage = true;
    80        
     80
    8181    Header("Content-Type: audio/mpegurl");
    8282    Header("Content-Disposition: attachment; filename=playlist.m3u");
     
    101101      }
    102102    }
    103   } 
     103  }
    104104}
    105105
     
    115115    $this->Description = 'Television channels management';
    116116    $this->Dependencies = array();
    117   } 
     117  }
    118118
    119119  function DoInstall()
    120120  {
    121121  }
    122  
     122
    123123  function DoUninstall()
    124   {     
     124  {
    125125  }
    126  
     126
    127127  function DoStart()
    128128  {
     
    155155    ));
    156156    $this->System->FormManager->RegisterFormType('TTVGroup', array(
    157         'Type' => 'Reference',
    158         'Table' => 'TVGroup',
    159         'Id' => 'Id',
    160         'Name' => 'Name',
    161         'Filter' => '1',
     157      'Type' => 'Reference',
     158      'Table' => 'TVGroup',
     159      'Id' => 'Id',
     160      'Name' => 'Name',
     161      'Filter' => '1',
    162162    ));
    163163    $this->System->FormManager->RegisterFormType('TTVListCategory', array(
    164         'Type' => 'ManyToOne',
    165         'Table' => 'TV',
    166         'Id' => 'Id',
    167         'Ref' => 'Category',
    168         'Filter' => '1',
    169     ));   
    170   } 
    171  
     164      'Type' => 'ManyToOne',
     165      'Table' => 'TV',
     166      'Id' => 'Id',
     167      'Ref' => 'Category',
     168      'Filter' => '1',
     169    ));
     170  }
     171
    172172  function DoStop()
    173   { 
    174   } 
     173  {
     174  }
    175175}
  • trunk/Modules/Task/Task.php

    r712 r738  
    6868    ));
    6969    $this->System->FormManager->RegisterFormType('TWorkListTask', array(
    70         'Type' => 'ManyToOne',
    71         'Table' => 'Work',
    72         'Id' => 'Id',
    73         'Ref' => 'Task',
    74         'Filter' => '1',
     70      'Type' => 'ManyToOne',
     71      'Table' => 'Work',
     72      'Id' => 'Id',
     73      'Ref' => 'Task',
     74      'Filter' => '1',
    7575    ));
    7676    $this->System->FormManager->RegisterFormType('TTaskList', array(
    77         'Type' => 'ManyToOne',
    78         'Table' => 'Task',
    79         'Id' => 'Id',
    80         'Ref' => 'Group',
    81         'Filter' => '1',
     77      'Type' => 'ManyToOne',
     78      'Table' => 'Task',
     79      'Id' => 'Id',
     80      'Ref' => 'Group',
     81      'Filter' => '1',
    8282    ));
    8383    $this->System->FormManager->RegisterFormType('TTaskGroup', array(
    84         'Type' => 'Reference',
    85         'Table' => 'TaskGroup',
    86         'Id' => 'Id',
    87         'Name' => 'Name',
    88         'Filter' => '1',
     84      'Type' => 'Reference',
     85      'Table' => 'TaskGroup',
     86      'Id' => 'Id',
     87      'Name' => 'Name',
     88      'Filter' => '1',
    8989    ));
    90    
     90
    9191  }
    9292}
  • trunk/Modules/TimeMeasure/Graph.php

    r656 r738  
    2020  {
    2121    $this->ClearPage = true;
    22         return($this->Render());
     22    return($this->Render());
    2323  }
    2424
  • trunk/Modules/TimeMeasure/Main.php

    r656 r738  
    1616    $this->ImageHeight = 200;
    1717    $this->ParentClass = 'PagePortal';
    18         $this->DefaultVariables = array(
     18    $this->DefaultVariables = array(
    1919      'TimeSpecify' => 0,
    2020      'Period' => 'day',
  • trunk/Modules/TimeMeasure/Measurement/MeasureClient.php

    r548 r738  
    2626      } else echo('Třída '.$MeasureMethod['MeasureClass'].' neexistuje.');
    2727    }
    28   } 
     28  }
    2929}
  • trunk/Modules/TimeMeasure/Measurement/WoW.php

    r536 r738  
    2828    $DbResult = $Database->query('SELECT COUNT(*) FROM account');
    2929    $Row = $DbResult->fetch_array();
    30     return($Row[0]); 
     30    return($Row[0]);
    3131  }
    3232
     
    5757  function WoWEmulatorAvailability()
    5858  {
    59     if(CheckPortStatus('localhost', 8085)) return(100); else return(0); 
     59    if(CheckPortStatus('localhost', 8085)) return(100); else return(0);
    6060  }
    6161
  • trunk/Modules/User/User.php

    r729 r738  
    434434class ModuleUser extends AppModule
    435435{
    436         var $UserPanel;
     436  var $UserPanel;
    437437
    438438  function __construct($System)
     
    659659    ));
    660660    $this->System->FormManager->RegisterFormType('TUser', array(
    661         'Type' => 'Reference',
    662         'Table' => 'User',
    663         'Id' => 'Id',
    664         'Name' => 'Name',
    665         'Filter' => '1',
     661      'Type' => 'Reference',
     662      'Table' => 'User',
     663      'Id' => 'Id',
     664      'Name' => 'Name',
     665      'Filter' => '1',
    666666    ));
    667667    $this->System->FormManager->RegisterFormType('TPermissionGroup', array(
    668         'Type' => 'Reference',
    669         'Table' => 'PermissionGroup',
    670         'Id' => 'Id',
    671         'Name' => 'Description',
    672         'Filter' => '1',
     668      'Type' => 'Reference',
     669      'Table' => 'PermissionGroup',
     670      'Id' => 'Id',
     671      'Name' => 'Description',
     672      'Filter' => '1',
    673673    ));
    674674    $this->System->FormManager->RegisterFormType('TPermissionGroupAssignment', array(
    675         'Type' => 'Reference',
    676         'Table' => 'PermissionGroupAssignment',
    677         'Id' => 'Id',
    678         'Name' => 'Id',
    679         'Filter' => '1',
     675      'Type' => 'Reference',
     676      'Table' => 'PermissionGroupAssignment',
     677      'Id' => 'Id',
     678      'Name' => 'Id',
     679      'Filter' => '1',
    680680    ));
    681681    $this->System->FormManager->RegisterFormType('TPermissionOperation', array(
    682         'Type' => 'Reference',
    683         'Table' => 'PermissionOperation',
    684         'Id' => 'Id',
    685         'Name' => 'Id',
    686         'Filter' => '1',
    687     ));
    688    
     682      'Type' => 'Reference',
     683      'Table' => 'PermissionOperation',
     684      'Id' => 'Id',
     685      'Name' => 'Id',
     686      'Filter' => '1',
     687    ));
     688
    689689  }
    690690
     
    695695  function TopBarCallback()
    696696  {
    697     if($this->System->User->User['Id'] == null) 
     697    if($this->System->User->User['Id'] == null)
    698698    {
    699699      $Output = '<a href="'.$this->System->Link('/user/?Action=LoginForm').'">Přihlášení</a> '.
    700700        '<a href="'.$this->System->Link('/user/?Action=UserRegister').'">Registrace</a>';
    701     } else 
    702     {
    703         $Output = $this->System->User->User['Name'].
     701    } else
     702    {
     703      $Output = $this->System->User->User['Name'].
    704704        ' <a href="'.$this->System->Link('/user/?Action=UserMenu').'">Nabídka</a>'.
    705705        ' <a href="'.$this->System->Link('/user/?Action=Logout').'">Odhlásit</a>';
    706         //   <a href="'.$this->System->Link('/?Action=UserOptions').'">Nastavení</a>';
     706      //   <a href="'.$this->System->Link('/?Action=UserOptions').'">Nastavení</a>';
    707707    }
    708708    return($Output);
  • trunk/Modules/User/UserPage.php

    r694 r738  
    5454    if($this->System->User->User['Id'] != null)
    5555    {
    56         $Actions = '';
    57         foreach($this->System->ModuleManager->Modules['User']->UserPanel as $Action)
    58         {
    59                 if(is_string($Action[0]))
    60           {
    61                   $Class = new $Action[0]($this->System);
    62                   $Actions .= $Class->$Action[1]();
    63           } else $Actions .= call_user_func($Action).'<br/>';
    64         }
     56      $Actions = '';
     57      foreach($this->System->ModuleManager->Modules['User']->UserPanel as $Action)
     58      {
     59        if(is_string($Action[0]))
     60        {
     61          $Class = new $Action[0]($this->System);
     62          $Actions .= $Class->$Action[1]();
     63        } else $Actions .= call_user_func($Action).'<br/>';
     64      }
    6565      $Output .= '<div class="Centred"><table id="MainTable"><tr><td style="vertical-align:top;">';
    6666      $Output .= $this->Panel('Nabídka uživatele', $Actions);
     
    8383  }
    8484
    85         function Show()
    86         {
    87                 $Output = '';
     85  function Show()
     86  {
     87    $Output = '';
    8888    if(array_key_exists('Action', $_GET))
    8989    {
     
    209209    } else $Output = $this->ShowMain();
    210210    return($Output);
    211         }
    212 
    213         function ShowMain()
    214         {
    215                 $Output = 'Nebyla vybrána akce';
    216                 return($Output);
    217         }
     211  }
     212
     213  function ShowMain()
     214  {
     215    $Output = 'Nebyla vybrána akce';
     216    return($Output);
     217  }
    218218}
  • trunk/Modules/VPS/VPS.php

    r731 r738  
    1515    $this->Modules = array();
    1616  }
    17  
     17
    1818  function DoStart()
    1919  {
    20    
    21   } 
     20
     21  }
    2222}
  • trunk/Modules/WebCam/WebCam.php

    r586 r738  
    66  var $ShortTitle = 'Kamera';
    77  var $ParentClass = 'PagePortal';
    8  
     8
    99  function Show()
    1010  {
     
    1717      var theTimer = setTimeout("reloadImage()", 1);
    1818
    19       function reloadImage() 
     19      function reloadImage()
    2020      {
    2121        theDate = new Date();
     
    5757    $this->SupportedModels = array();
    5858  }
    59  
     59
    6060  function DoStart()
    6161  {
    6262    $this->System->Pages['webcam'] = 'PageWebcam';
    63   } 
     63  }
    6464
    6565 function ShowImage()
     
    7171    $Output .= '<a href="http://www.zdechov.net/kamery/?id=3"><img alt="Skiareál, motokrosová grapa" width="140" height="79" src="http://www.zdechov.net/images/webcam/webcam3.jpg" /></a>';
    7272    $Output .= '<a href="http://www.zdechov.net/kamery/?id=4"><img alt="Fotbalové hřiště" width="140" height="79" src="http://www.zdechov.net/images/webcam/webcam4.jpg" /></a>';
    73           return($Output);   
    74   } 
     73    return($Output);
     74  }
    7575}
  • trunk/Modules/WebCam/webcam_refresh.php

    r579 r738  
    1010//    $Output = shell_exec('wget "http://kamera-stred/Webcam.jpg?MobilePass='.$Config['Web']['WebcamPassword'].'&V=2&Q=2&B=2&U=0" -O webcam_cache.jpg -T '.($Config['Web']['WebcamRefresh']).' --limit-rate=200k');
    1111    $Output = shell_exec('wget "http://kamera-knihovna/cgi-bin/viewer/video.jpg" -O webcam_cache.jpg -T '.($Config['Web']['WebcamRefresh']).' --limit-rate=200k');
    12    
    13     if((strpos($Output, 'failed') === false) and (strpos($Output, 'error') === false)) 
     12
     13    if((strpos($Output, 'failed') === false) and (strpos($Output, 'error') === false))
    1414      shell_exec('mv -f webcam_cache.jpg webcam.jpg');
    1515  }
  • trunk/Modules/Wiki/Wiki.php

    r586 r738  
    1414    $this->Revision = 1;
    1515  }
    16  
     16
    1717  function DoInstall()
    1818  {
    1919    parent::Install();
    2020    $this->Database->Query("'CREATE TABLE IF NOT EXISTS `WikiPage` (
    21                 `Id` int(11) NOT NULL AUTO_INCREMENT,
    22                 `Name` varchar(255) NOT NULL,
    23                 `NormalizedName` varchar(255) NOT NULL,
    24                 `VisibleInMenu` int(11) NOT NULL,
    25                 PRIMARY KEY (`Id`),
    26                 UNIQUE KEY `Name` (`Name`),
    27                 KEY `VisibleInMenu` (`VisibleInMenu`)
     21    `Id` int(11) NOT NULL AUTO_INCREMENT,
     22    `Name` varchar(255) NOT NULL,
     23    `NormalizedName` varchar(255) NOT NULL,
     24    `VisibleInMenu` int(11) NOT NULL,
     25    PRIMARY KEY (`Id`),
     26    UNIQUE KEY `Name` (`Name`),
     27    KEY `VisibleInMenu` (`VisibleInMenu`)
    2828) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
    2929    CREATE TABLE IF NOT EXISTS `WikiPageContent` (
    30                 `Id` int(11) NOT NULL AUTO_INCREMENT,
    31                 `Page` int(11) NOT NULL,
    32                 `Time` datetime NOT NULL,
    33                 `Content` text NOT NULL,
    34                 `User` int(11) NOT NULL,
    35                 PRIMARY KEY (`Id`),
    36                 KEY `User` (`User`),
    37                 KEY `Page` (`Page`)
     30    `Id` int(11) NOT NULL AUTO_INCREMENT,
     31    `Page` int(11) NOT NULL,
     32    `Time` datetime NOT NULL,
     33    `Content` text NOT NULL,
     34    `User` int(11) NOT NULL,
     35    PRIMARY KEY (`Id`),
     36    KEY `User` (`User`),
     37    KEY `Page` (`Page`)
    3838) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
    3939    ALTER TABLE `WikiPageContent`
     
    4747      'DELETE TABLE `WikiPage`;");
    4848    parent::UnInstall();
    49   } 
    50  
     49  }
     50
    5151  function DoStart()
    5252  {
    5353    $this->LoadPages();
    5454  }
    55  
     55
    5656  function DoStop()
    5757  {
    5858  }
    59  
     59
    6060  function LoadPages()
    6161  {
    62         $DbResult = $this->Database->select('WikiPage', '*', 'VisibleInMenu=1');
    63         while($DbRow = $DbResult->fetch_assoc())
    64         {
    65                 $this->System->RegisterPage($DbRow['NormalizedName'], 'PageWiki');
    66                 $this->System->RegisterMenuItem(array(
    67                                 'Title' => $DbRow['Name'],
    68                                 'Hint' => '',
    69                                 'Link' => $this->System->Link('/'.$DbRow['NormalizedName'].'/'),
    70                                 'Permission' => LICENCE_ANONYMOUS,
    71                                 'Icon' => '',
    72                 ), 2);
    73         }
     62    $DbResult = $this->Database->select('WikiPage', '*', 'VisibleInMenu=1');
     63    while($DbRow = $DbResult->fetch_assoc())
     64    {
     65      $this->System->RegisterPage($DbRow['NormalizedName'], 'PageWiki');
     66      $this->System->RegisterMenuItem(array(
     67          'Title' => $DbRow['Name'],
     68          'Hint' => '',
     69          'Link' => $this->System->Link('/'.$DbRow['NormalizedName'].'/'),
     70          'Permission' => LICENCE_ANONYMOUS,
     71          'Icon' => '',
     72      ), 2);
     73    }
    7474  }
    7575}
     
    8080  var $ShortTitle = 'Wiki';
    8181  var $ParentClass = 'PagePortal';
    82  
     82
    8383  function Show()
    84         {
    85                 if(array_key_exists('Action', $_GET))
    86                 {
    87                         if($_GET['Action'] == 'Edit') $Output = $this->EditContent();
    88                         else if($_GET['Action'] == 'EditSave') $Output = $this->SaveContent();
    89                         else if($_GET['Action'] == 'History') $Output = $this->ShowHistory();
    90                         else $Output = $this->ShowContent();
    91                 } else $Output = $this->ShowContent();
    92                 return($Output);
    93         }
    94        
    95         function ShowContent()
    96         {
    97                 $PageName = $this->System->PathItems[count($this->System->PathItems) - 1];
    98                 $DbResult = $this->Database->select('WikiPage', 'Name, Id', 'NormalizedName="'.$PageName.'"');
    99                 if($DbResult->num_rows > 0)
    100                 {
    101                         $DbRow = $DbResult->fetch_assoc();
    102                         if(array_key_exists('ver', $_GET))
    103                         {
    104                                 $DbResult2 = $this->Database->select('WikiPageContent', '*', 'Page='.$DbRow['Id'].' AND Id='.$_GET['ver']*1);
    105                           if($DbResult2->num_rows > 0)
    106                           {
    107                                   $DbRow2 = $DbResult2->fetch_assoc();
    108                                 $Output = '<h3>Archív stránky '.$DbRow['Name'].' ('.HumanDateTime($DbRow2['Time']).')</h3>';
    109                                   $Output .= $DbRow2['Content'];
    110                       if($this->System->User->Licence(LICENCE_MODERATOR))
    111                         $Output .= '<div><a href="?Action=Edit">Upravit nejnovější</a> <a href="?Action=History">Historie</a></div>';
    112                           } else $Output = ShowMessage('Wiki stránka nenalezena', MESSAGE_CRITICAL);
    113                         } else
    114                         {
    115                           $DbResult2 = $this->Database->select('WikiPageContent', '*', 'Page='.$DbRow['Id'].' ORDER BY Time DESC LIMIT 1');
    116                           if($DbResult2->num_rows > 0)
    117                           {
    118                                   $DbRow2 = $DbResult2->fetch_assoc();
    119                             $Output = '<h3>'.$DbRow['Name'].'</h3>';
    120                                   $Output .= $DbRow2['Content'];
    121                       if($this->System->User->Licence(LICENCE_MODERATOR))
    122                         $Output .= '<div><a href="?Action=Edit">Upravit</a> <a href="?Action=History">Historie</a></div>';
    123                           } else $Output = ShowMessage('Wiki stránka nenalezena', MESSAGE_CRITICAL);
    124                         }
    125                 } else $Output = ShowMessage('Wiki stránka nenalezena', MESSAGE_CRITICAL);
    126                 return($Output);
    127         }
    128 
    129         function EditContent()
    130         {
    131                 if($this->System->User->Licence(LICENCE_MODERATOR))
    132                 {
    133                 $PageName = $this->System->PathItems[count($this->System->PathItems) - 1];
    134                 $DbResult = $this->Database->select('WikiPage', 'Name, Id', 'NormalizedName="'.$PageName.'"');
    135                 if($DbResult->num_rows > 0)
    136                 {
    137                         $DbRow = $DbResult->fetch_assoc();
    138                         $Output = '<h3>Úprava '.$DbRow['Name'].'</h3>';
    139                         $DbResult2 = $this->Database->select('WikiPageContent', '*', 'Page='.$DbRow['Id'].' ORDER BY Time DESC LIMIT 1');
    140                         if($DbResult2->num_rows > 0)
    141                         {
    142                                 $DbRow2 = $DbResult2->fetch_assoc();
    143                     $Output .= '<form action="?Action=EditSave" method="post">'.
    144                     '<textarea name="content" rows="8" cols="80" onkeydown="ResizeTextArea(this)" class="textedit">'.$DbRow2['Content'].'</textarea><br/>'.
    145                     '<input type="submit" name="save" value="Uložit"/> '.
    146                     '<input type="button" name="cancel" value="Zrušit" onclick="location.href=\'?\'"/>'.
    147                     '</form>';
    148                         } else $Output = ShowMessage('Wiki stránka nenalezena', MESSAGE_CRITICAL);
    149                 } else $Output = ShowMessage('Wiki stránka nenalezena', MESSAGE_CRITICAL);
    150                 } else $Output = ShowMessage('Nemáte oprávnění', MESSAGE_CRITICAL);
    151                 return($Output);
    152         }
    153        
    154         function SaveContent()
    155         {
    156                 if($this->System->User->Licence(LICENCE_MODERATOR))
    157                 {
    158                 $PageName = $this->System->PathItems[count($this->System->PathItems) - 1];
    159                 $DbResult = $this->Database->select('WikiPage', 'Name, Id', 'NormalizedName="'.$PageName.'"');
    160                 if($DbResult->num_rows > 0)
    161                 {
    162                         $DbRow = $DbResult->fetch_assoc();
    163                         if(array_key_exists('content', $_POST) and array_key_exists('save', $_POST))
    164                         {
    165                           $DbResult2 = $this->Database->insert('WikiPageContent', array('Content' => stripslashes($_POST['content']),
    166                                 'User' => $this->System->User->Id, 'Time' => 'NOW()', 'Page' => $DbRow['Id']));
    167                           $Output = ShowMessage('Wiki stránka uložena', MESSAGE_INFORMATION);                     
    168                         } else $Output = ShowMessage('Nezadána platná data', MESSAGE_CRITICAL);
    169                         $Output .= $this->ShowContent();
    170                 } else $Output = ShowMessage('Wiki stránka nenalezena', MESSAGE_CRITICAL);
    171                 } else $Output = ShowMessage('Nemáte oprávnění', MESSAGE_CRITICAL);
    172                 return($Output);
    173         }
    174        
    175         function ShowHistory()
    176         {               
    177                 if($this->System->User->Licence(LICENCE_MODERATOR))
    178                 {
    179                   $PageName = $this->System->PathItems[count($this->System->PathItems) - 1];
    180                   $DbResult = $this->Database->select('WikiPage', 'Name, Id', 'NormalizedName="'.$PageName.'"');
    181                   if($DbResult->num_rows > 0)
    182                   {
    183                           $DbRow = $DbResult->fetch_assoc();
    184                        
    185                           $Output = '<h3>Historie stránky '.$DbRow['Name'].'</h3>';
    186                           $DbResult2 = $this->Database->query('SELECT COUNT(*) FROM `WikiPageContent` WHERE Page='.$DbRow['Id']);
    187                         $DbRow2 = $DbResult2->fetch_row();
    188                         $PageList = GetPageList($DbRow2[0]);
    189                        
    190                         $Output .= $PageList['Output'];
    191                         $Output .= '<table class="BaseTable">';
    192                        
    193                           $TableColumns = array(
    194                                         array('Name' => 'Time', 'Title' => 'Čas'),
    195                                         array('Name' => 'User', 'Title' => 'Uživatel'),
    196                                         array('Name' => 'Action', 'Title' => 'Akce'),
    197                           );
    198                          
    199                           $Order = GetOrderTableHeader($TableColumns, 'Time', 1);
    200                           $Output .= $Order['Output'];
    201                          
    202                           $DbResult2 = $this->Database->query('SELECT *, (SELECT `Name` FROM `User` WHERE `User`.`ID`=`WikiPageContent`.`User`) AS `UserName` '.
    203                                 ' FROM `WikiPageContent` WHERE Page='.
    204                         $DbRow['Id'].' '.$Order['SQL'].$PageList['SQLLimit']);
    205                           while($PageContent = $DbResult2->fetch_assoc())
    206                           {
    207                                 $Output .= '<tr>'.
    208                                         '<td>'.HumanDateTime($PageContent['Time']).'</td>'.
    209                                 '<td><a href="'.$this->System->Link('/user.php?user='.$PageContent['User']).'">'.$PageContent['UserName'].'</a></td>'.                                                                                         
    210                                         '<td><a href="?id='.$PageContent['Id'].'&amp;ver='.$PageContent['Id'].'">Zobrazit</a></td>';
    211                                 $Output .= '</tr>';
    212                           }                     
    213                      
    214                           $Output .= '</table>'.
    215                                   $PageList['Output'];
    216                   } else $Output = ShowMessage('Wiki stránka nenalezena', MESSAGE_CRITICAL);
    217                 } else $Output = ShowMessage('Nemáte oprávnění', MESSAGE_CRITICAL);
    218                 return($Output);
    219   }
    220        
     84  {
     85    if(array_key_exists('Action', $_GET))
     86    {
     87      if($_GET['Action'] == 'Edit') $Output = $this->EditContent();
     88      else if($_GET['Action'] == 'EditSave') $Output = $this->SaveContent();
     89      else if($_GET['Action'] == 'History') $Output = $this->ShowHistory();
     90      else $Output = $this->ShowContent();
     91    } else $Output = $this->ShowContent();
     92    return($Output);
     93  }
     94
     95  function ShowContent()
     96  {
     97    $PageName = $this->System->PathItems[count($this->System->PathItems) - 1];
     98    $DbResult = $this->Database->select('WikiPage', 'Name, Id', 'NormalizedName="'.$PageName.'"');
     99    if($DbResult->num_rows > 0)
     100    {
     101      $DbRow = $DbResult->fetch_assoc();
     102      if(array_key_exists('ver', $_GET))
     103      {
     104        $DbResult2 = $this->Database->select('WikiPageContent', '*', 'Page='.$DbRow['Id'].' AND Id='.$_GET['ver']*1);
     105        if($DbResult2->num_rows > 0)
     106        {
     107          $DbRow2 = $DbResult2->fetch_assoc();
     108          $Output = '<h3>Archív stránky '.$DbRow['Name'].' ('.HumanDateTime($DbRow2['Time']).')</h3>';
     109          $Output .= $DbRow2['Content'];
     110          if($this->System->User->Licence(LICENCE_MODERATOR))
     111            $Output .= '<div><a href="?Action=Edit">Upravit nejnovější</a> <a href="?Action=History">Historie</a></div>';
     112        } else $Output = ShowMessage('Wiki stránka nenalezena', MESSAGE_CRITICAL);
     113      } else
     114      {
     115        $DbResult2 = $this->Database->select('WikiPageContent', '*', 'Page='.$DbRow['Id'].' ORDER BY Time DESC LIMIT 1');
     116        if($DbResult2->num_rows > 0)
     117        {
     118          $DbRow2 = $DbResult2->fetch_assoc();
     119          $Output = '<h3>'.$DbRow['Name'].'</h3>';
     120          $Output .= $DbRow2['Content'];
     121          if($this->System->User->Licence(LICENCE_MODERATOR))
     122            $Output .= '<div><a href="?Action=Edit">Upravit</a> <a href="?Action=History">Historie</a></div>';
     123        } else $Output = ShowMessage('Wiki stránka nenalezena', MESSAGE_CRITICAL);
     124      }
     125    } else $Output = ShowMessage('Wiki stránka nenalezena', MESSAGE_CRITICAL);
     126    return($Output);
     127  }
     128
     129  function EditContent()
     130  {
     131    if($this->System->User->Licence(LICENCE_MODERATOR))
     132    {
     133    $PageName = $this->System->PathItems[count($this->System->PathItems) - 1];
     134    $DbResult = $this->Database->select('WikiPage', 'Name, Id', 'NormalizedName="'.$PageName.'"');
     135    if($DbResult->num_rows > 0)
     136    {
     137      $DbRow = $DbResult->fetch_assoc();
     138      $Output = '<h3>Úprava '.$DbRow['Name'].'</h3>';
     139      $DbResult2 = $this->Database->select('WikiPageContent', '*', 'Page='.$DbRow['Id'].' ORDER BY Time DESC LIMIT 1');
     140      if($DbResult2->num_rows > 0)
     141      {
     142        $DbRow2 = $DbResult2->fetch_assoc();
     143        $Output .= '<form action="?Action=EditSave" method="post">'.
     144        '<textarea name="content" rows="8" cols="80" onkeydown="ResizeTextArea(this)" class="textedit">'.$DbRow2['Content'].'</textarea><br/>'.
     145        '<input type="submit" name="save" value="Uložit"/> '.
     146        '<input type="button" name="cancel" value="Zrušit" onclick="location.href=\'?\'"/>'.
     147        '</form>';
     148      } else $Output = ShowMessage('Wiki stránka nenalezena', MESSAGE_CRITICAL);
     149    } else $Output = ShowMessage('Wiki stránka nenalezena', MESSAGE_CRITICAL);
     150    } else $Output = ShowMessage('Nemáte oprávnění', MESSAGE_CRITICAL);
     151    return($Output);
     152  }
     153
     154  function SaveContent()
     155  {
     156    if($this->System->User->Licence(LICENCE_MODERATOR))
     157    {
     158    $PageName = $this->System->PathItems[count($this->System->PathItems) - 1];
     159    $DbResult = $this->Database->select('WikiPage', 'Name, Id', 'NormalizedName="'.$PageName.'"');
     160    if($DbResult->num_rows > 0)
     161    {
     162      $DbRow = $DbResult->fetch_assoc();
     163      if(array_key_exists('content', $_POST) and array_key_exists('save', $_POST))
     164      {
     165        $DbResult2 = $this->Database->insert('WikiPageContent', array('Content' => stripslashes($_POST['content']),
     166          'User' => $this->System->User->Id, 'Time' => 'NOW()', 'Page' => $DbRow['Id']));
     167        $Output = ShowMessage('Wiki stránka uložena', MESSAGE_INFORMATION);
     168      } else $Output = ShowMessage('Nezadána platná data', MESSAGE_CRITICAL);
     169      $Output .= $this->ShowContent();
     170    } else $Output = ShowMessage('Wiki stránka nenalezena', MESSAGE_CRITICAL);
     171    } else $Output = ShowMessage('Nemáte oprávnění', MESSAGE_CRITICAL);
     172    return($Output);
     173  }
     174
     175  function ShowHistory()
     176  {
     177    if($this->System->User->Licence(LICENCE_MODERATOR))
     178    {
     179      $PageName = $this->System->PathItems[count($this->System->PathItems) - 1];
     180      $DbResult = $this->Database->select('WikiPage', 'Name, Id', 'NormalizedName="'.$PageName.'"');
     181      if($DbResult->num_rows > 0)
     182      {
     183        $DbRow = $DbResult->fetch_assoc();
     184
     185        $Output = '<h3>Historie stránky '.$DbRow['Name'].'</h3>';
     186        $DbResult2 = $this->Database->query('SELECT COUNT(*) FROM `WikiPageContent` WHERE Page='.$DbRow['Id']);
     187        $DbRow2 = $DbResult2->fetch_row();
     188        $PageList = GetPageList($DbRow2[0]);
     189
     190        $Output .= $PageList['Output'];
     191        $Output .= '<table class="BaseTable">';
     192
     193        $TableColumns = array(
     194            array('Name' => 'Time', 'Title' => 'Čas'),
     195            array('Name' => 'User', 'Title' => 'Uživatel'),
     196            array('Name' => 'Action', 'Title' => 'Akce'),
     197        );
     198
     199        $Order = GetOrderTableHeader($TableColumns, 'Time', 1);
     200        $Output .= $Order['Output'];
     201
     202        $DbResult2 = $this->Database->query('SELECT *, (SELECT `Name` FROM `User` WHERE `User`.`ID`=`WikiPageContent`.`User`) AS `UserName` '.
     203          ' FROM `WikiPageContent` WHERE Page='.
     204          $DbRow['Id'].' '.$Order['SQL'].$PageList['SQLLimit']);
     205        while($PageContent = $DbResult2->fetch_assoc())
     206        {
     207          $Output .= '<tr>'.
     208            '<td>'.HumanDateTime($PageContent['Time']).'</td>'.
     209            '<td><a href="'.$this->System->Link('/user.php?user='.$PageContent['User']).'">'.$PageContent['UserName'].'</a></td>'.
     210            '<td><a href="?id='.$PageContent['Id'].'&amp;ver='.$PageContent['Id'].'">Zobrazit</a></td>';
     211          $Output .= '</tr>';
     212        }
     213
     214        $Output .= '</table>'.
     215          $PageList['Output'];
     216      } else $Output = ShowMessage('Wiki stránka nenalezena', MESSAGE_CRITICAL);
     217    } else $Output = ShowMessage('Nemáte oprávnění', MESSAGE_CRITICAL);
     218    return($Output);
     219  }
     220
    221221  function ToHtml($text)
    222222  {
Note: See TracChangeset for help on using the changeset viewer.