Ignore:
Timestamp:
Jan 19, 2012, 9:43:36 PM (13 years ago)
Author:
chronos
Message:
  • Přidáno: Různé knihovny pro zpracování HTML kódu, tabulek, stránkování, zasílání emailů, aj.
  • Přidáno: Kód zpracování fronty emailů přesunut z Global do modulu EmailQueue.
File:
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/Common/ViewForm.php

    r372 r373  
    11<?php
    22
    3 define('ViewItemTypeDate', 'Date');
    4 define('ViewItemTypeTime', 'Time');
    5 define('ViewItemTypeDateTime', 'DateTime');
    6 define('ViewItemTypeText', 'Text');
    7 define('ViewItemTypeString', 'String');
    8 define('ViewItemTypeBoolean', 'Boolean');
    9 define('ViewItemTypeInteger', 'Integer');
    10 define('ViewItemTypeFloat', 'Float');
    11 define('ViewItemTypeOneToMany', 'OneToMany');
    12 define('ViewItemTypeManyToOne', 'ManyToOne');
    13 define('ViewItemTypeManyToMany', 'ManyToMany');
    14 define('ViewItemTypeIPv4', 'IPv4');
    15 define('ViewItemTypeIPv6', 'IPv6');
    16 define('ViewItemTypeMACAddrees', 'MACAddress');
    17 define('ViewItemTypeFileName', 'FileName');
    18 define('ViewItemTypePassword', 'Password');
    19 define('ViewItemTypeURL', 'URL');
    20 define('ViewItemTypeImage', 'Image');
    21 
    22 class View
     3class ViewForm extends View
    234{
    24   var $Name;
    25   var $Title;
    26   var $Items;
    27   var $ModelName;
    285  var $SubmitText;
    296  var $Values = array();
    307  var $OnSubmit = '';
    31   var $Database;
    328   
    339  function __construct($Database)
     
    3814  function AddItemOneToMany($Name, $Title, $TargetModel, $Default)
    3915  {
    40     $this->Items[$Name] = array('Name' => $Name, 'Title' => $Title, 'Type' => ViewItemTypeOneToMany, 'Default' => $Default,
     16    $this->Items[$Name] = array('Name' => $Name, 'Title' => $Title,
     17      'Type' => ViewItemTypeOneToMany, 'Default' => $Default,
    4118      'TargetModel' => $TargetModel);
    4219  }
     
    4421  function AddItemManyToOne($Name, $Title, $TargetModel, $Default)
    4522  {
    46     $this->Items[$Name] = array('Name' => $Name, 'Title' => $Title, 'Type' => ViewItemTypeManyToOne, 'Default' => $Default,
     23    $this->Items[$Name] = array('Name' => $Name, 'Title' => $Title,
     24      'Type' => ViewItemTypeManyToOne, 'Default' => $Default,
    4725      'TargetModel' => $TargetModel);
    4826  }
     
    5028  function AddItemInteger($Name, $Title, $Default)
    5129  {
    52     $this->Items[$Name] = array('Name' => $Name, 'Title' => $Title, 'Type' => ViewItemTypeInteger, 'Default' => $Default);
     30    $this->Items[$Name] = array('Name' => $Name, 'Title' => $Title,
     31      'Type' => ViewItemTypeInteger, 'Default' => $Default);
    5332  }
    5433
    5534  function AddItemFloat($Name, $Title, $Default)
    5635  {
    57     $this->Items[$Name] = array('Name' => $Name, 'Title' => $Title, 'Type' => ViewItemTypeFloat, 'Default' => $Default);
     36    $this->Items[$Name] = array('Name' => $Name, 'Title' => $Title,
     37      'Type' => ViewItemTypeFloat, 'Default' => $Default);
    5838  }
    5939
    6040  function AddItemText($Name, $Title, $Default)
    6141  {
    62     $this->Items[$Name] = array('Name' => $Name, 'Title' => $Title, 'Type' => ViewItemTypeText, 'Default' => $Default);
     42    $this->Items[$Name] = array('Name' => $Name, 'Title' => $Title,
     43      'Type' => ViewItemTypeText, 'Default' => $Default);
    6344  }
    6445
    6546  function AddItemString($Name, $Title, $Default)
    6647  {
    67     $this->Items[$Name] = array('Name' => $Name, 'Title' => $Title, 'Type' => ViewItemTypeString, 'Default' => $Default);
     48    $this->Items[$Name] = array('Name' => $Name, 'Title' => $Title,
     49      'Type' => ViewItemTypeString, 'Default' => $Default);
    6850  }
    6951
    7052  function AddItemBoolean($Name, $Title, $Default)
    7153  {
    72     $this->Items[$Name] = array('Name' => $Name, 'Title' => $Title, 'Type' => ViewItemTypeBoolean, 'Default' => $Default);
     54    $this->Items[$Name] = array('Name' => $Name, 'Title' => $Title,
     55      'Type' => ViewItemTypeBoolean, 'Default' => $Default);
    7356  }
    7457 
    7558  function AddItemDate($Name, $Title, $Default)
    7659  {
    77     $this->Items[$Name] = array('Name' => $Name, 'Title' => $Title, 'Type' => ViewItemTypeDate, 'Default' => $Default);
     60    $this->Items[$Name] = array('Name' => $Name, 'Title' => $Title,
     61      'Type' => ViewItemTypeDate, 'Default' => $Default);
    7862  }
    7963
    8064  function AddItemTime($Name, $Title, $Default)
    8165  {
    82     $this->Items[$Name] = array('Name' => $Name, 'Title' => $Title, 'Type' => ViewItemTypeTime, 'Default' => $Default);
     66    $this->Items[$Name] = array('Name' => $Name, 'Title' => $Title,
     67      'Type' => ViewItemTypeTime, 'Default' => $Default);
    8368  }
    8469 
    8570  function AddItemDateTime($Name, $Title, $Default)
    8671  {
    87     $this->Items[$Name] = array('Name' => $Name, 'Title' => $Title, 'Type' => ViewItemTypeDateTime, 'Default' => $Default);
     72    $this->Items[$Name] = array('Name' => $Name, 'Title' => $Title,
     73      'Type' => ViewItemTypeDateTime, 'Default' => $Default);
    8874  }
    8975
    9076  function AddItemIPv4($Name, $Title, $Default)
    9177  {
    92     $this->Items[$Name] = array('Name' => $Name, 'Title' => $Title, 'Type' => ViewItemTypeIPv4, 'Default' => $Default);
     78    $this->Items[$Name] = array('Name' => $Name, 'Title' => $Title,
     79      'Type' => ViewItemTypeIPv4, 'Default' => $Default);
    9380  }
    9481 
    9582  function AddItemIPv6($Name, $Title, $Default)
    9683  {
    97     $this->Items[$Name] = array('Name' => $Name, 'Title' => $Title, 'Type' => ViewItemTypeIPv6, 'Default' => $Default);
     84    $this->Items[$Name] = array('Name' => $Name, 'Title' => $Title,
     85      'Type' => ViewItemTypeIPv6, 'Default' => $Default);
    9886  }
    9987
    10088  function AddItemMACAddress($Name, $Title, $Default)
    10189  {
    102     $this->Items[$Name] = array('Name' => $Name, 'Title' => $Title, 'Type' => ViewItemTypeMACAddress, 'Default' => $Default);
     90    $this->Items[$Name] = array('Name' => $Name, 'Title' => $Title,
     91      'Type' => ViewItemTypeMACAddress, 'Default' => $Default);
    10392  }
    10493 
    10594  function AddItemFileName($Name, $Title, $Default)
    10695  {
    107     $this->Items[$Name] = array('Name' => $Name, 'Title' => $Title, 'Type' => ViewItemTypeFileName, 'Default' => $Default);
     96    $this->Items[$Name] = array('Name' => $Name, 'Title' => $Title,
     97      'Type' => ViewItemTypeFileName, 'Default' => $Default);
    10898  }
    10999
    110100  function AddItemURL($Name, $Title, $Default)
    111101  {
    112     $this->Items[$Name] = array('Name' => $Name, 'Title' => $Title, 'Type' => ViewItemTypeURL, 'Default' => $Default);
     102    $this->Items[$Name] = array('Name' => $Name, 'Title' => $Title,
     103      'Type' => ViewItemTypeURL, 'Default' => $Default);
    113104  }
    114105 
    115106  function AddItemPassword($Name, $Title, $Default)
    116107  {
    117     $this->Items[$Name] = array('Name' => $Name, 'Title' => $Title, 'Type' => ViewItemTypePassword, 'Default' => $Default);
     108    $this->Items[$Name] = array('Name' => $Name, 'Title' => $Title,
     109      'Type' => ViewItemTypePassword, 'Default' => $Default);
    118110  }
    119111
    120112  function AddItemImage($Name, $Title, $Default)
    121113  {
    122     $this->Items[$Name] = array('Name' => $Name, 'Title' => $Title, 'Type' => ViewItemTypeImage, 'Default' => $Default);
     114    $this->Items[$Name] = array('Name' => $Name, 'Title' => $Title,
     115      'Type' => ViewItemTypeImage, 'Default' => $Default);
    123116  } 
    124117   
     118  function AddItemEnumeration($Name, $Title, $Default, $States)
     119  {
     120    $this->Items[$Name] = array('Name' => $Name, 'Title' => $Title,
     121      'Type' => ViewItemTypeEnumeration, 'Default' => $Default, 'States' => $States);
     122  } 
     123
    125124  function ShowEditForm()
    126125  {
     
    173172              else $Selected = '';
    174173            $Edit .= '<option value="'.$Row['Id'].'"'.$Selected.'>'.$Row['Id'].': '.$Row['Name'].'</option>';
     174          }
     175          $Edit .= '</select>';
     176          break;
     177        case ViewItemTypeEnumeration:
     178          $Edit = '<select style="width: 100%;" name="'.$Context.$Index.'">';
     179          foreach($Item['States'] as $StateIndex => $StateName)
     180          {
     181            if($this->Values[$Index] == $StateIndex) $Selected = 'selected="selected"';
     182              else $Selected = '';
     183            $Edit .= '<option value="'.$StateIndex.'"'.$Selected.'>'.$StateName.'</option>';
    175184          }
    176185          $Edit .= '</select>';
     
    191200          break;
    192201        default:
    193           if(array_key_exists($Item['Type'], $FormTypes))
    194           {
    195             // Custom types
    196             switch($FormTypes[$Item['Type']]['Type'])
    197             {
    198               case 'Enumeration':
    199                 $Edit = '<select style="width: 100%;" name="'.$Context.$Index.'">';
    200                 foreach($FormTypes[$Item['Type']]['States'] as $StateIndex => $StateName)
    201                 {
    202                   if($this->Values[$Index] == $StateIndex) $Selected = 'selected="selected"';
    203                     else $Selected = '';
    204                   $Edit .= '<option value="'.$StateIndex.'"'.$Selected.'>'.$StateName.'</option>';
    205                 }
    206                 $Edit .= '</select>';
    207                 break;
    208               default:
    209                 $Edit = 'Neznámý typ';
    210             }
    211           } else $Edit = 'Neznámý typ';
     202          $Edit = 'Neznámý typ';
    212203      }
    213204      array_push($Table['Rows'], array($Item['Title'].':', $Edit));
     
    297288          $Values[$Index] = explode('.', $_POST[$Context.$Index]);
    298289          $Values[$Index] = mktime(0, 0, 0, $Values[$Index][1], $Values[$Index][0], $Values[$Index][2]);
    299           break;
     290          break;     
     291        case ViewItemTypeOneToMany:
     292          $Values[$Index] = $_POST[$Context.$Index];
     293          break;
     294        case ViewItemTypeEnumeration:
     295          $Values[$Index] = $_POST[$Context.$Index];
     296          break; 
    300297        case 'Array':
    301298          $I = 1;
     
    309306          break;
    310307        default:
    311           if(array_key_exists($Item['Type'], $FormTypes))
    312           {
    313             // Custom types
    314             switch($FormTypes[$Item['Type']]['Type'])
    315             {
    316               case 'Enumeration':
    317                 $Values[$Index] = $_POST[$Context.$Index];
    318                 break;
    319               case 'Reference':
    320                 $Values[$Index] = $_POST[$Context.$Index];
    321                 break;
    322               default:
    323             }
    324           }
    325308      }
    326309    }
Note: See TracChangeset for help on using the changeset viewer.