Ignore:
Timestamp:
Mar 16, 2014, 1:33:22 AM (11 years ago)
Author:
chronos
Message:
  • Přidáno: Při úpravě ve formuláři pro typ OneToMany přidána možnost přidat novou vztaženou položku.
  • Přidáno: Možnost předefinovat předvolené hodnoty nových položek formuláře. Použito především pro vztažené položky typu OneToMany.
File:
1 edited

Legend:

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

    r628 r639  
    1313  function Show()
    1414  {
    15     if(!$this->System->User->CheckPermission('IS', 'Manage')) 
     15    if(!$this->System->User->CheckPermission('IS', 'Manage'))
    1616      return('Nemáte oprávnění');
    1717    $this->System->FormManager->ShowRelation = true;
    18    
     18
    1919    if(array_key_exists('a', $_GET)) $Action = $_GET['a'];
    2020      else $Action = '';
     
    2323    if(array_key_exists('i', $_GET)) $ItemId = $_GET['i'];
    2424      else $ItemId = 0;
    25    
     25
    2626    if($Action == 'list') $Content = $this->ShowList($Table);
    2727    else if($Action == 'select') $Content = $this->ShowSelect($Table);
     
    2929    else if($Action == 'edit') $Content = $this->ShowEdit($Table, $ItemId);
    3030    else if($Action == 'add') $Content = $this->ShowAdd($Table);
     31    else if($Action == 'addsub') $Content = $this->ShowAddSub($Table);
    3132    else if($Action == 'view') $Content = $this->ShowView($Table, $ItemId);
    3233    else if($Action == 'delete') $Content = $this->ShowDelete($Table, $ItemId);
     
    3536    {
    3637      $Output = '<table style="width: 100%"><tr><td style="width: 20%; vertical-align: top;">';
    37       $Output .= '<strong>Nabídka:</strong>'.$this->ShowMenu(); 
     38      $Output .= '<strong>Nabídka:</strong>'.$this->ShowMenu();
    3839      $Output .= '</td><td style="width: 80%; vertical-align: top;">';
    3940      $Output .= $Content;
    4041      $Output .= '</td></tr></table>';
    4142    } else $Output = $Content;
    42    
    43     return($Output);
    44   }
    45  
     43
     44    return($Output);
     45  }
     46
    4647  function Dashboard()
    4748  {
    48     $Output = '<strong>Nástěnka:</strong><br/>'; 
     49    $Output = '<strong>Nástěnka:</strong><br/>';
    4950    $DbResult = $this->Database->select('Task', 'COUNT(*)', 'Progress < 100');
    5051    $DbRow = $DbResult->fetch_row();
     
    7071    return($Output);
    7172  }
    72  
     73
    7374  function ShowEdit($Table, $Id)
    7475  {
     
    8687          $Form->Validate();
    8788          $Form->SaveValuesToDatabase($Id);
    88           $Values = $Table.': '.str_replace('=>', '=', str_replace('array', '', var_export($Form->Values, true)));       
     89          $Values = $Table.': '.str_replace('=>', '=', str_replace('array', '', var_export($Form->Values, true)));
    8990          $this->System->ModuleManager->Modules['Log']->NewRecord('IS', 'Edit', $Values);
    9091          $Output .= $this->SystemMessage('Úprava položky', 'Položka upravena');
    91           $Output .= $this->ShowView($Table, $Id);   
     92          $Output .= $this->ShowView($Table, $Id);
    9293        } catch (Exception $E)
    9394        {
     
    105106         }
    106107      }
    107     } else 
     108    } else
    108109    {
    109110      $Form = new Form($this->System->FormManager);
     
    123124    return($Output);
    124125  }
    125  
     126
    126127  function ShowDelete($Table, $Id)
    127128  {
     
    142143        $Output .= $this->SystemMessage('Smazání položky', 'Položku se nepodařilo smazat. Pravděpodobně na ni závisejí další položky.');
    143144      }
    144     } else $Output .= $this->SystemMessage('Smazání položky', 'Položka nenalezena'); 
    145     $Output .= $this->ShowList($Table);   
    146     return($Output);
    147   }
    148  
    149   function ShowAdd($Table)
     145    } else $Output .= $this->SystemMessage('Smazání položky', 'Položka nenalezena');
     146    $Output .= $this->ShowList($Table);
     147    return($Output);
     148  }
     149
     150  function ShowAdd($Table, $Actions = array())
    150151  {
    151152    $Output = '';
     
    158159        $Form = new Form($this->System->FormManager);
    159160        $Form->SetClass($Table);
    160         $Form->LoadValuesFromForm();       
     161        $Form->LoadValuesFromForm();
    161162        try {
    162163          $Form->Validate();
     
    170171          $Form->SaveValuesToDatabase(0);
    171172          $Id = $this->Database->insert_id;
    172           $Values = $Table.': '.str_replace('=>', '=', str_replace('array', '', var_export($Form->Values, true)));       
     173          $Values = $Table.': '.str_replace('=>', '=', str_replace('array', '', var_export($Form->Values, true)));
    173174          $this->System->ModuleManager->Modules['Log']->NewRecord('IS', 'Add', $Values);
    174175          $Output .= $this->SystemMessage('Přidání položky', 'Nová položka vytvořena');
    175           $Output .= $this->ShowView($Table, $Id);   
     176          $Output .= $this->ShowView($Table, $Id, $_GET['a'] == 'addsub');
    176177          if(array_key_exists('AfterInsert', $Form->Definition))
    177178          {
     
    180181            $this->Values = $Class->$Method($Form);
    181182          }
    182         //$this->Database->update($Table, 'Id='.$Id,
    183         //  array('UserCreate' => $this->System->User->User['Id'],
     183          // Add action to update caller form
     184          if($_GET['a'] == 'addsub')
     185          {
     186            $Type = $this->System->FormManager->FormTypes[$_GET['rt']];
     187            $DbResult = $this->Database->select($Table, '('.$Type['Name'].') AS Name', 'Id='.$Id);
     188            $DbRow = $DbResult->fetch_assoc();
     189            $Actions[] = '<a href="javascript:window.close();" onclick="add_select_item('.$Id.',&quot;'.$DbRow['Name'].'&quot;,&quot;'.
     190              $_GET['r'].'&quot;); set_return('.$Id.',&quot;'.
     191              $_GET['r'].'&quot;);"><img alt="Vybrat" title="Vybrat" src="'.
     192              $this->System->Link('/images/select.png').'"/> Vybrat</a>';
     193          }
     194
     195        //$this->Database->update($Table, 'Id='.$Id,
     196        //  array('UserCreate' => $this->System->User->User['Id'],
    184197        //  'TimeCreate' => 'NOW()'));
    185198        } catch (Exception $E)
     
    188201                $Form->OnSubmit = '?a=add&amp;t='.$Table.'&amp;o=save';
    189202          $Output .= $Form->ShowEditForm();
    190           $Output .= '<ul class="ActionMenu">';
    191           $Output .= '<li><a href="?a=list&amp;t='.$Table.'"><img alt="Seznam" title="Seznam" src="'.
    192             $this->System->Link('/images/list.png').'"/>Seznam</a></li>';
    193           $Output .= '</ul>';
     203          $Actions[] = '<a href="?a=list&amp;t='.$Table.'"><img alt="Seznam" title="Seznam" src="'.
     204            $this->System->Link('/images/list.png').'"/>Seznam</a>';
    194205        }
    195206      }
    196     } else 
     207    } else
    197208    {
    198209      $Form = new Form($this->System->FormManager);
    199210      $Form->SetClass($Table);
    200       // Check preset name and value
    201       if(array_key_exists('pn', $_GET) and array_key_exists('pv', $_GET))
    202         $Form->Values[$_GET['pn']] = $_GET['pv'];
    203       $Form->OnSubmit = '?a=add&amp;t='.$Table.'&amp;o=save';
     211      // Load presets from URL
     212      foreach($_GET as $Key => $Value)
     213      if(substr($Key, 0, 6) == 'preset')
     214      {
     215        $Key = substr($Key, 6);
     216        if(($Key != '') and array_key_exists($Key, $Form->Values))
     217          $Form->Values[$Key] = $Value;
     218      }
     219      if(array_key_exists('r', $_GET)) $URL = '&amp;r='.$_GET['r'].'&amp;rt='.$_GET['rt'];
     220        else $URL = '';
     221      $Form->OnSubmit = '?a='.$_GET['a'].'&amp;t='.$Table.'&amp;o=save'.$URL;
    204222      $Output .= $Form->ShowEditForm();
    205       $Output .= '<ul class="ActionMenu">';
    206       $Output .= '<li><a href="?a=list&amp;t='.$Table.'"><img alt="Seznam" title="Seznam" src="'.
    207         $this->System->Link('/images/list.png').'"/>Seznam</a></li>';
    208       $Output .= '</ul>';
    209     }
    210     return($Output);
    211   }
    212  
    213   function ShowView($Table, $Id)
     223      $Actions[] = '<a href="?a=list&amp;t='.$Table.'"><img alt="Seznam" title="Seznam" src="'.
     224        $this->System->Link('/images/list.png').'"/>Seznam</a>';
     225    }
     226    $Output .= '<ul class="ActionMenu">';
     227    foreach($Actions as $Action)
     228    {
     229      $Output .= '<li>'.$Action.'</li>';
     230    }
     231    $Output .= '</ul>';
     232    return($Output);
     233  }
     234
     235  function ShowAddSub($Table, $Filter = '', $Title = '')
     236  {
     237    if(defined('NEW_PERMISSION') and !$this->System->User->CheckPermission($this->TableToModule($Table), 'Write'))
     238      return('Nemáte oprávnění');
     239    $this->BasicHTML = true;
     240    $this->HideMenu = true;
     241    $Output = $this->ShowAdd($Table);
     242    return($Output);
     243  }
     244
     245  function ShowView($Table, $Id, $WithoutActions = false)
    214246  {
    215247    if($Table != '') $FormClass = $this->System->FormManager->Classes[$Table];
     
    217249    if(defined('NEW_PERMISSION') and !$this->System->User->CheckPermission($this->TableToModule($Table), 'Read'))
    218250      return('Nemáte oprávnění');
    219    
     251
    220252    $Form = new Form($this->System->FormManager);
    221253    $Form->SetClass($Table);
     
    223255    $Form->OnSubmit = '?a=view';
    224256    $Output = $Form->ShowViewForm();
     257    if($WithoutActions == false)
     258    {
     259    $Actions = array(
     260      '<a href="?a=edit&amp;t='.$Table.'&amp;i='.$Id.'"><img alt="Upravit" title="Upravit" src="'.
     261        $this->System->Link('/images/edit.png').'"/>Upravit</a>',
     262      '<a href="?a=list&amp;t='.$Table.'"><img alt="Seznam" title="Seznam" src="'.
     263      $this->System->Link('/images/list.png').'"/>Seznam</a>',
     264      '<a href="?a=delete&amp;t='.$Table.'&amp;i='.$Id.'" onclick="return confirmAction(\'Opravdu smazat položku?\');"><img alt="Odstranit" title="Odstranit" src="'.
     265      $this->System->Link('/images/delete.png').'" />Odstranit</a>',
     266      '<a href="?a=add&amp;t='.$Table.'"><img alt="Přidat" title="Přidat" src="'.
     267      $this->System->Link('/images/add.png').'"/>Přidat</a>');
     268    if(array_key_exists('ItemActions', $FormClass))
     269    {
     270      foreach($FormClass['ItemActions'] as $Action)
     271      {
     272        $URL = $this->System->Link($Action['URL']);
     273        if(strpos($URL, '?') === false) $URL .= '?';
     274        else if((substr($URL, -5, 5) !== '&amp;') and (substr($URL, -1, 1) !== '?')) $URL .= '&amp;';
     275        $URL .= 'i='.$Id;
     276        $Actions[] = '<a href="'.$URL.'"><img alt="'.$Action['Caption'].'" title="'.$Action['Caption'].'" src="'.
     277            $this->System->Link('/images/action.png').'"/>'.$Action['Caption'].'</a>';
     278      }
     279    }
    225280    $Output .= '<ul class="ActionMenu">';
    226     $Output .= '<li><a href="?a=edit&amp;t='.$Table.'&amp;i='.$Id.'"><img alt="Upravit" title="Upravit" src="'.
    227       $this->System->Link('/images/edit.png').'"/>Upravit</a></li>';
    228     $Output .= '<li><a href="?a=list&amp;t='.$Table.'"><img alt="Seznam" title="Seznam" src="'.
    229       $this->System->Link('/images/list.png').'"/>Seznam</a></li>';
    230     $Output .= '<li><a href="?a=delete&amp;t='.$Table.'&amp;i='.$Id.'" onclick="return confirmAction(\'Opravdu smazat položku?\');"><img alt="Odstranit" title="Odstranit" src="'.
    231       $this->System->Link('/images/delete.png').'" />Odstranit</a></li>';
    232     $Output .= '<li><a href="?a=add&amp;t='.$Table.'"><img alt="Přidat" title="Přidat" src="'.
    233       $this->System->Link('/images/add.png').'"/>Přidat</a></li>';
    234     if(array_key_exists('ItemActions', $FormClass))
    235     {
    236       foreach($FormClass['ItemActions'] as $Action)
    237       {
    238         $URL = $this->System->Link($Action['URL']);
    239         if(strpos('?', $URL) === false) $URL .= '?';
    240         else if((substr($URL, -5, 5) !== '&amp;') and (substr($URL, -1, 1) !== '?')) $URL .= '&amp;';
    241         $URL .= '&amp;i='.$Id;
    242         $Output .= '<li><a href="'.$URL.'"><img alt="'.$Action['Caption'].'" title="'.$Action['Caption'].'" src="'.
    243             $this->System->Link('/images/action.png').'"/>'.$Action['Caption'].'</a></li>';
    244       }
    245     } 
     281    foreach($Actions as $Action)
     282    {
     283      $Output .= '<li>'.$Action.'</li>';
     284    }
    246285    $Output .= '</ul><br/>';
    247    
     286
    248287    // Show ManyToOne relations
    249288    foreach($Form->Definition['Items'] as $Index => $Item)
    250     if((array_key_exists($Item['Type'], $this->System->FormManager->FormTypes) and 
     289    if((array_key_exists($Item['Type'], $this->System->FormManager->FormTypes) and
    251290    ($this->System->FormManager->FormTypes[$Item['Type']]['Type'] == 'ManyToOne')))
    252291    {
    253292      $Output .= $this->ShowList($this->System->FormManager->FormTypes[$Item['Type']]['Table'], '`'.
    254         $this->System->FormManager->FormTypes[$Item['Type']]['Ref'].'`='.$Id, $Item['Caption'], 
     293        $this->System->FormManager->FormTypes[$Item['Type']]['Ref'].'`='.$Id, $Item['Caption'],
    255294        $this->System->FormManager->FormTypes[$Item['Type']]['Ref'], $Id).'<br/>';
    256     }   
    257     return($Output);
    258   }
    259  
     295    }
     296    }
     297    return($Output);
     298  }
     299
    260300  function ShowTable($Table, $Filter = '', $Title = '', $RowActions = array(), $ExcludeColumn = '')
    261   {   
     301  {
    262302        if($Table != '') $FormClass = $this->System->FormManager->Classes[$Table];
    263303      else return($this->SystemMessage('Chyba', 'Tabulka nenalezena'));
     
    271311      if(!array_key_exists($FormItem['Type'], $this->System->FormManager->FormTypes) or
    272312      (array_key_exists($FormItem['Type'], $this->System->FormManager->FormTypes) and
    273       ($this->System->FormManager->FormTypes[$FormItem['Type']]['Type'] != 'ManyToOne')))     
     313      ($this->System->FormManager->FormTypes[$FormItem['Type']]['Type'] != 'ManyToOne')))
    274314      {
    275315        $UseType = $UseType = $FormItem['Type'];
    276316        if(array_key_exists($FormItem['Type'], $this->System->FormManager->FormTypes))
    277317        {
    278           if(!array_key_exists($FormItem['Type'], $this->System->FormManager->Type->TypeDefinitionList)) 
    279             $this->System->FormManager->Type->RegisterType($FormItem['Type'], '', 
     318          if(!array_key_exists($FormItem['Type'], $this->System->FormManager->Type->TypeDefinitionList))
     319            $this->System->FormManager->Type->RegisterType($FormItem['Type'], '',
    280320              $this->System->FormManager->FormTypes[$FormItem['Type']]);
    281           if($this->System->FormManager->FormTypes[$FormItem['Type']]['Type'] == 'Reference') 
     321          if($this->System->FormManager->FormTypes[$FormItem['Type']]['Type'] == 'Reference')
    282322          $UseType = 'OneToMany';
    283           else 
    284           if($this->System->FormManager->FormTypes[$FormItem['Type']]['Type'] == 'Enumeration') 
     323          else
     324          if($this->System->FormManager->FormTypes[$FormItem['Type']]['Type'] == 'Enumeration')
    285325          $UseType = 'Enumeration';
    286326        }
     
    290330          $UserFilter .= ' AND ('.$FilterName.' LIKE "%'.$_POST['Filter'.$ItemIndex].'%")';
    291331      }
    292     }     
     332    }
    293333    if(($Filter == '') and ($UserFilter != '')) $Filter = '1 '.$UserFilter;
    294334    if($Filter != '') $Filter = ' WHERE '.$Filter;
    295    
     335
    296336    foreach($FormClass['Items'] as $ItemIndex => $FormItem)
    297337      if(!array_key_exists($FormItem['Type'], $this->System->FormManager->FormTypes) or
     
    315355        if(array_key_exists('Filter'.$ItemIndex, $_POST) and ($_POST['Filter'.$ItemIndex] != ''))
    316356          $Value = $_POST['Filter'.$ItemIndex];
    317           else $Value = '';       
     357          else $Value = '';
    318358        if($ItemIndex == 'Id') unset($Columns['Id']);
    319        
     359
    320360        if(!array_key_exists('SQL', $FormItem)) $FormItem['SQL'] = '';
    321361          else $FormItem['SQL'] = str_replace('#Id', '`'.$FormClass['Table'].'`.`Id`', $FormItem['SQL']);
     
    324364            'Type' => $FormItem['Type'], 'SQL' => $FormItem['SQL']));
    325365      }
    326      
     366
    327367    // Get total item count in database
    328368    $Query = 'SELECT COUNT(*) FROM `'.$FormClass['Table'].'`';
     
    330370    $DbRow = $DbResult->fetch_assoc();
    331371    $TotalCount = $DbRow['COUNT(*)'];
    332    
     372
    333373    // Get total filtered item count in database
    334374    $Columns = implode(',', $Columns);
    335     if($Filter != '') 
     375    if($Filter != '')
    336376    {
    337377      $Query = 'SELECT COUNT(*) FROM (SELECT '.$Columns.' FROM `'.$FormClass['Table'].'`) AS `TS` '.$Filter;
     
    340380      $TotalFilteredCount = $DbRow[0];
    341381    } else $TotalFilteredCount = $TotalCount;
    342     $PageList = GetPageList($TotalFilteredCount);   
     382    $PageList = GetPageList($TotalFilteredCount);
    343383
    344384    $Output = '<div style="text-align: center;">'.$FormClass['Title'].'</div>';
    345385    $Output .= $PageList['Output'];
    346386    $Output .= '<table class="WideTable" style="font-size: small;">';
    347    
     387
    348388    $TableColumns[] = array('Name' => '', 'Title' => 'Akce');
    349389    if(!array_key_exists('DefaultSortColumn', $FormClass))
     
    351391    $Order = GetOrderTableHeader($TableColumns, $FormClass['DefaultSortColumn'], 0);
    352392    $Output .= $Order['Output'];
    353    
     393
    354394    // Show search fields
    355395    if(array_key_exists('r', $_GET)) $Addition = '&amp;r='.$_GET['r'];
     
    364404      if(array_key_exists('Filter'.$ItemIndex, $_POST) and ($_POST['Filter'.$ItemIndex] != ''))
    365405        $Value = $_POST['Filter'.$ItemIndex];
    366         else $Value = ''; 
    367       $Output .= '<td><input type="text" name="Filter'.$ItemIndex.'" value="'.$Value.'" style="width: 100%"/></td>';   
     406        else $Value = '';
     407      $Output .= '<td><input type="text" name="Filter'.$ItemIndex.'" value="'.$Value.'" style="width: 100%"/></td>';
    368408    }
    369409    $Output .= '<td><input type="Submit" value="Hledat"/></td></form></tr>';
    370    
     410
    371411    // Load and show items
    372412    $Query = 'SELECT * FROM (SELECT '.$Columns.' FROM `'.$FormClass['Table'].'`) AS `TS` '.
    373       $Filter.' '.$Order['SQL'].$PageList['SQLLimit'];   
     413      $Filter.' '.$Order['SQL'].$PageList['SQLLimit'];
    374414    $VisibleItemCount = 0;
    375415    $DbResult = $this->Database->query($Query);
    376     while($Row = $DbResult->fetch_assoc()) 
    377     { 
     416    while($Row = $DbResult->fetch_assoc())
     417    {
    378418      $Output .= '<tr>';
    379419      foreach($FormClass['Items'] as $ItemIndex => $FormItem)
    380       if((!array_key_exists($FormItem['Type'], $this->System->FormManager->FormTypes) or 
    381       (array_key_exists($FormItem['Type'], $this->System->FormManager->FormTypes) and 
     420      if((!array_key_exists($FormItem['Type'], $this->System->FormManager->FormTypes) or
     421      (array_key_exists($FormItem['Type'], $this->System->FormManager->FormTypes) and
    382422      ($this->System->FormManager->FormTypes[$FormItem['Type']]['Type'] != 'ManyToOne'))) and
    383423      ($ExcludeColumn != $ItemIndex))
     
    387427        if(array_key_exists($FormItem['Type'], $this->System->FormManager->FormTypes))
    388428        {
    389           if(!array_key_exists($FormItem['Type'], $this->System->FormManager->Type->TypeDefinitionList)) 
    390             $this->System->FormManager->Type->RegisterType($FormItem['Type'], '', 
     429          if(!array_key_exists($FormItem['Type'], $this->System->FormManager->Type->TypeDefinitionList))
     430            $this->System->FormManager->Type->RegisterType($FormItem['Type'], '',
    391431              $this->System->FormManager->FormTypes[$FormItem['Type']]);
    392           if($this->System->FormManager->FormTypes[$FormItem['Type']]['Type'] == 'Reference') 
     432          if($this->System->FormManager->FormTypes[$FormItem['Type']]['Type'] == 'Reference')
    393433          $UseType = 'OneToMany';
    394           else 
    395           if($this->System->FormManager->FormTypes[$FormItem['Type']]['Type'] == 'Enumeration') 
     434          else
     435          if($this->System->FormManager->FormTypes[$FormItem['Type']]['Type'] == 'Enumeration')
    396436          $UseType = 'Enumeration';
    397437        }
    398         $Row[$ItemIndex] = $this->System->FormManager->Type->ExecuteTypeEvent($UseType, 'OnLoadDb', 
    399           array('Value' => $Row[$ItemIndex], 'Name' => $ItemIndex, 
     438        $Row[$ItemIndex] = $this->System->FormManager->Type->ExecuteTypeEvent($UseType, 'OnLoadDb',
     439          array('Value' => $Row[$ItemIndex], 'Name' => $ItemIndex,
    400440          'Type' => $FormItem['Type']));
    401         $Value = $this->System->FormManager->Type->ExecuteTypeEvent($UseType, 'OnView', 
    402           array('Value' => $Row[$ItemIndex], 'Name' => $ItemIndex, 
     441        $Value = $this->System->FormManager->Type->ExecuteTypeEvent($UseType, 'OnView',
     442          array('Value' => $Row[$ItemIndex], 'Name' => $ItemIndex,
    403443          'Type' => $FormItem['Type'], 'Filter' => $Row[$ItemIndex.'_Filter']));
    404444        if($Value == '') $Value = '&nbsp;';
     
    415455    return($Output);
    416456  }
    417  
     457
    418458  function ShowSelect($Table, $Filter = '', $Title = '')
    419   { 
     459  {
    420460    if(defined('NEW_PERMISSION') and !$this->System->User->CheckPermission($this->TableToModule($Table), 'Read'))
    421461      return('Nemáte oprávnění');
     
    425465      $_GET['r'].'&quot;);"><img alt="Vybrat" title="Vybrat" src="'.
    426466      $this->System->Link('/images/select.png').'"/></a>';
    427     $Output = $this->ShowTable($Table, $Filter, $Title, $RowActions);   
    428     return($Output);
    429   }   
    430  
     467    $Output = $this->ShowTable($Table, $Filter, $Title, $RowActions);
     468    return($Output);
     469  }
     470
    431471  function ShowMapSelect($Table, $Filter = '', $Title = '')
    432472  {
     
    434474      return('Nemáte oprávnění');
    435475    $MapApi = new MapApiGoogle($this->System);
    436     $MapApi->Position = array('Lat' => $this->System->Config['Map']['DefaultLatitude'], 
     476    $MapApi->Position = array('Lat' => $this->System->Config['Map']['DefaultLatitude'],
    437477      'Lng' => $this->System->Config['Map']['DefaultLongitude']);
    438478    $MapApi->Zoom = $this->System->Config['Map']['DefaultZoom'];
     
    440480    $MapApi->OnClickObject = $_GET['r'];
    441481    //$MapApi->ShowMarker = true;
    442     $Output = $MapApi->ShowPage($this); 
    443     return($Output);
    444   }   
    445  
    446   function ShowList($Table, $Filter = '', $Title = '', $ExcludeColumn = '', $ExcludeValue = '') 
     482    $Output = $MapApi->ShowPage($this);
     483    return($Output);
     484  }
     485
     486  function ShowList($Table, $Filter = '', $Title = '', $ExcludeColumn = '', $ExcludeValue = '')
    447487  {
    448488    if(defined('NEW_PERMISSION') and !$this->System->User->CheckPermission($this->TableToModule($Table), 'Read'))
     
    461501      {
    462502        $URL = $this->System->Link($Action['URL']);
    463         if(strpos('?', $URL) === false) $URL .= '?';
     503        if(strpos($URL, '?') === false) $URL .= '?';
    464504        else if((substr($URL, -5, 5) !== '&amp;') and (substr($URL, -1, 1) !== '?')) $URL .= '&amp;';
    465         $URL .= '&amp;i=#RowId';
     505        $URL .= 'i=#RowId';
    466506        $RowActions .= '<a href="'.$URL.'"><img alt="'.$Action['Caption'].'" title="'.$Action['Caption'].'" src="'.
    467507          $this->System->Link('/images/action.png').'"/></a>';
    468508      }
    469     }   
     509    }
    470510    $Output = $this->ShowTable($Table, $Filter, $Title, $RowActions, $ExcludeColumn);
    471511    $Output .= '<ul class="ActionMenu">';
    472     $Output .= '<li><a href="?a=add&amp;t='.$Table.'&amp;pn='.$ExcludeColumn.'&amp;pv='.$ExcludeValue.'"><img alt="Přidat" title="Přidat" src="'.
     512    $Output .= '<li><a href="?a=add&amp;t='.$Table.'&amp;preset'.$ExcludeColumn.'='.$ExcludeValue.'"><img alt="Přidat" title="Přidat" src="'.
    473513      $this->System->Link('/images/add.png').'"/>Přidat</a></li>';
    474514    $Output .= '<li><a href="?a=list&amp;t='.$Table.'"><img alt="Seznam" title="Seznam" src="'.
     
    481521    }
    482522    $Output .= '</ul>';
    483     return($Output);   
    484   }
    485  
     523    return($Output);
     524  }
     525
    486526  function ShowMenu()
    487527  {
     
    499539    return($this->ShowMenuItem(''));
    500540  }
    501  
     541
    502542  function ShowMenuItem($Parent)
    503543  {
     
    507547    {
    508548      $LinkTitle = $MenuItem['Name'];
    509       if($MenuItem['URL'] != '') 
     549      if($MenuItem['URL'] != '')
    510550      {
    511551        if(substr($MenuItem['URL'], 0, 4) != 'http') $MenuItem['URL'] = $this->System->Link($MenuItem['URL']);
     
    514554      if($MenuItem['IconName'] != '') $Image = '<img src="'.$this->System->Link('/images/favicons/'.$MenuItem['IconName']).'"/>&nbsp;';
    515555        else $Image = '<img src="'.$this->System->Link('/images/favicons/blank.png').'"/>&nbsp;';
    516       //if($this->System->User->CheckPermission($this->TableToModule($Table), 'Write') or !defined('NEW_PERMISSION'))       
     556      //if($this->System->User->CheckPermission($this->TableToModule($Table), 'Write') or !defined('NEW_PERMISSION'))
    517557        $Output .= '<li>'.$Image.$LinkTitle.'</li>';
    518558      $Output .= $this->ShowMenuItem($MenuItem['Id']);
     
    521561    return($Output);
    522562  }
    523  
     563
    524564  function TableToModule($Table)
    525565  {
     
    529569    {
    530570      $DbRow = $DbResult->fetch_assoc();
    531       return($DbRow['Name']);     
     571      return($DbRow['Name']);
    532572    } else return('');
    533573  }
     
    545585    $this->Description = 'User interface for generic information system';
    546586    $this->Dependencies = array();
    547   } 
     587  }
    548588
    549589  function DoInstall()
    550590  {
    551591  }
    552  
     592
    553593  function DoUninstall()
    554   {     
    555   }
    556  
     594  {
     595  }
     596
    557597  function DoStart()
    558598  {
     
    576616        'Items' => array('Type' => 'TMenuItemListMenu', 'Caption' => 'Položky'),
    577617      ),
    578     ));   
    579   } 
    580  
     618    ));
     619  }
     620
    581621  function DoStop()
    582   { 
    583   } 
     622  {
     623  }
    584624}
Note: See TracChangeset for help on using the changeset viewer.