Changeset 6 for base.php


Ignore:
Timestamp:
Sep 16, 2008, 9:15:10 AM (16 years ago)
Author:
george
Message:
  • Upraveno: Definice základních tabulek SystemList a SystemListItem byly přesunuty do databáze a definují tak svojí vlastní struktůru.
  • Přidáno: Přidání nové položky v rámci podseznamu jiné položky nyní automaticky předdefinuje daný ukazatel. To umožnilo tzv. lokální vkládání místo globálního s nutností vybrat i nadřazený objekt.
  • Přidáno: Typy Float, Hyperlink.
  • Upraveno: Utřepána forma předávání parametrů přes URL.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • base.php

    r5 r6  
    11<?php
    22include('database.php');
    3 include('types.php');
    4 include('lists.php');
    53include('common.php');
    64
     
    1412include('types/Date.php');
    1513include('types/Password.php');
    16 
    17 function ShowList($List, $Column = '', $ParentId = 0)
     14include('types/Float.php');
     15include('types/Hyperlink.php');
     16
     17function ShowList($List, $Column = '', $ColumnValue = 0)
    1818{
    1919  global $Database, $Types, $Config;
     
    2727  $Output .= '<th>Akce</th></tr>';
    2828
    29   if(($Column != '') and ($ParentId != 0))
    30     $Where = $Column.'='.$ParentId;
    31   else $Where = '1';
     29  if(($Column != '') and ($ColumnValue != 0))
     30  {
     31    $Where = $Column.'='.$ColumnValue;
     32    $ColumnSelection = '&amp;Column='.$Column.'&amp;ColumnValue='.$ColumnValue;
     33    $FullListLink = '<a href="?Action=ViewList&amp;Table='.$List['TableName'].'">Celkový seznam</a>';
     34  } else
     35  {
     36    $Where = '1';
     37    $ColumnSelection = '';
     38    $FullListLink = '';
     39  }
    3240
    3341  // Handle ordering
     
    7078      }
    7179    }
    72     $Output .= '<td><a href="?Action=ViewItem&amp;TableId='.$List['TableName'].'&amp;ItemId='.$DbRow['Id'].'">Zobrazit</a> <a href="?Action=EditItem&amp;TableId='.$List['TableName'].'&amp;ItemId='.$DbRow['Id'].'">Editovat</a> <a href="?Action=DeleteItem&amp;TableId='.$List['TableName'].'&amp;ItemId='.$DbRow['Id'].'">Smazat</a></td></tr>';
     80    $Output .= '<td><a href="?Action=ViewItem&amp;Table='.$List['TableName'].'&amp;Item='.$DbRow['Id'].'">Zobrazit</a> <a href="?Action=EditItem&amp;Table='.$List['TableName'].'&amp;Item='.$DbRow['Id'].'">Editovat</a> <a href="?Action=DeleteItem&amp;Table='.$List['TableName'].'&amp;Item='.$DbRow['Id'].'">Smazat</a></td></tr>';
    7381  }
    7482  $Output .= '</table>';
    7583  $Output .= PagesList($Page, $TotalItemCount);
    76   $Output .= '<a href="?Action=AddItem&amp;TableId='.$List['TableName'].'">Přidat</a>';
     84  $Output .= '<a href="?Action=AddItem&amp;Table='.$List['TableName'].$ColumnSelection.'">Přidat</a> '.$FullListLink;
    7785  return($Output);
    7886}
     
    8290  global $Database, $Types;
    8391
    84   $Output = '<form action="?Action=EditItemFinish&amp;ItemId='.$Id.'" method="post"><table class="WideTable">';
     92  $Output = '<form action="?Action=EditItemFinish&amp;Item='.$Id.'" method="post"><table class="WideTable">';
    8593  $Output .= '<tr><th>Jméno položky</th><th>Hodnota</th></tr>';
    8694  $DbResult = $Database->select($List['TableName'], '*', 'Id='.$Id);
     
    103111    }
    104112  }
    105   $Output .= '</table><input type="submit" value="Uložit"></form><a href="?">Zpět</a>';
     113  $Output .= '</table><input type="submit" value="Uložit"></form>';
     114  if(($Column != '') and ($ColumnValue != 0))
     115  {
     116    $Output .= '<a href="?Action=ShowList&amp;Table='.$List['TableName'].'&amp;Column='.$Column.'&amp;ColumnValue='.$ColumnValue.'">Celkový seznam</a>';
     117  } else
     118  {
     119    $Output .= '<a href="?Action=ShowList&amp;Table='.$List['TableName'].'">Celkový seznam</a>';
     120  }
     121
    106122  return($Output);
    107123}
     
    127143}
    128144
    129 function ShowAddItem($List)
     145function ShowAddItem($List, $Column = '', $ColumnValue = 0)
    130146{
    131147  global $Database, $Types;
     
    133149  $Output = '<form action="?Action=AddItemFinish" method="post"><table class="WideTable">';
    134150  $Output .= '<tr><th>Jméno položky</th><th>Hodnota</th></tr>';
    135 
     151  $AfterTableOutput = '';
    136152  foreach($List['Items'] as $Index => $Item)
    137153  {
    138154    $ItemType = explode(':', $Item['Type']);
    139     if($ItemType[0] != 'PointerOneToMany')
     155    if(($ItemType[0] != 'PointerOneToMany') and ($Item['Name'] != $Column))
    140156    {
    141157      $Type = $Types[$ItemType[0]];
     
    147163      if($Item['Required'] == 1) $Required = ' *'; else $Required = '';
    148164      $Output .= '<tr><td>'.$Item['TextBefore'].':'.$Required.'</td><td title="'.$Item['Help'].'">'.$Value.'</td></tr>';
    149     }
    150   }
    151   $Output .= '</table><input type="submit" value="Přidat"></form><a href="?">Zpět</a>';
     165    } else
     166    if($Item['Name'] == $Column)
     167    {
     168      $AfterTableOutput = '<input type="hidden" name="'.$Column.'" value="'.$ColumnValue.'" />';
     169    }
     170  }
     171  $Output .= '</table>'.$AfterTableOutput.'<input type="submit" value="Přidat"></form>';
     172  if(($Column != '') and ($ColumnValue != 0))
     173  {
     174    $Output .= '<a href="?Action=ShowList&amp;Table='.$List['TableName'].'&amp;Column='.$Column.'&amp;ColumnValue='.$ColumnValue.'">Celkový seznam</a>';
     175  } else
     176  {
     177    $Output .= '<a href="?Action=ShowList&amp;Table='.$List['TableName'].'">Celkový seznam</a>';
     178  }
    152179  return($Output);
    153180}
     
    197224    }
    198225    $Output .= '</table>';
    199     $Output .= '<a href="?Action=EditItem&amp;ItemId='.$DbRow['Id'].'">Editovat</a>';
    200     $Output .= ' <a href="?Action=ShowList&amp;ItemId='.$DbRow['Id'].'">Seznam</a>';
     226    $Output .= '<a href="?Action=EditItem&amp;Table='.$List['TableName'].'&amp;Item='.$DbRow['Id'].'">Editovat</a> ';
     227
     228    if(($Column != '') and ($ColumnValue != 0))
     229    {
     230      $Output .= '<a href="?Action=ShowList&amp;Table='.$List['TableName'].'&amp;Column='.$Column.'&amp;ColumnValue='.$ColumnValue.'">Celkový seznam</a>';
     231    } else
     232    {
     233      $Output .= '<a href="?Action=ShowList&amp;Table='.$List['TableName'].'">Celkový seznam</a>';
     234    }
    201235    $Output .= '<div class="line"></div>';
    202236
     
    232266  {
    233267    if(($List['System'] == $System) and ($List['VisibleInMenu'] == 1))
    234       $Output .= '<a href="?Action=ShowList&amp;TableId='.$Index.'">'.$List['Title'].'</a><br />';
     268      $Output .= '<a href="?Action=ShowList&amp;Table='.$Index.'">'.$List['Title'].'</a><br />';
    235269  }
    236270  $Output .= '<br />';
     
    242276  global $Lists;
    243277
    244   $PermanentVar = array('TableId', 'ItemId', 'ParentTable', 'ParentColumn', 'Action');
     278  $PermanentVar = array('Table', 'Item', 'Column', 'ColumnValue', 'Action');
    245279  foreach($PermanentVar as $Var)
    246280  {
     
    249283
    250284  $Output = '';
    251   if(array_key_exists('TableId', $_SESSION) and array_key_exists($_SESSION['TableId'], $Lists))
    252   {
    253     $List = $Lists[$_SESSION['TableId']];
     285  if(array_key_exists('Table', $_SESSION) and array_key_exists($_SESSION['Table'], $Lists))
     286  {
     287    $List = $Lists[$_SESSION['Table']];
    254288    if(array_key_exists('Action', $_SESSION))
    255289    {
     
    257291      {
    258292        case 'EditItem':
    259           $Output = ShowEditItem($List, $_SESSION['ItemId']);
     293          $Output = ShowEditItem($List, $_SESSION['Item']);
    260294          break;
    261295        case 'EditItemFinish':
    262           $Output = ShowEditItemFinish($List, $_SESSION['ItemId']);
     296          $Output = ShowEditItemFinish($List, $_SESSION['Item']);
    263297          break;
    264298        case 'DeleteItem':
    265           $Output = ShowDeleteItem($List, $_SESSION['ItemId']);
     299          $Output = ShowDeleteItem($List, $_SESSION['Item']);
    266300          break;
    267301        case 'ViewItem':
    268           $Output = ShowViewItem($List, $_SESSION['ItemId']);
     302          $Output = ShowViewItem($List, $_SESSION['Item']);
    269303          break;
    270304        case 'AddItem':
    271            $Output = ShowAddItem($List);
     305           $Output = ShowAddItem($List, $_SESSION['Column'], $_SESSION['ColumnValue']);
    272306          break;
    273307        case 'AddItemFinish':
Note: See TracChangeset for help on using the changeset viewer.