HosipLan

Untitled

Jun 12th, 2012
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.50 KB | None | 0 0
  1.     public function __construct($parent, $name)
  2.     {
  3.         parent::__construct($parent, $name);
  4.        
  5.         $this->getElementPrototype()->class = "ajax";
  6.         $this->addProtection('Vypršela platnost bezpečnostného tokenu.');
  7.  
  8.         $this->addGroup('Přihlašovací údaje');
  9.     $credentials = $this->addContainer(credentials);
  10.  
  11.         $credentials->addText('email', 'Email:')
  12.              ->setRequired('Zadejte prosím email')
  13.              ->setAttribute('type', 'email');
  14.        
  15.         $credentials->addCheckbox('new', 'nové heslo');
  16.  
  17.         $credentials->addPassword('password', 'Heslo:')
  18.              ->addConditionOn($this['new'], HForm::EQUAL, TRUE)
  19.              ->addRule(HForm::FILLED, 'Zadejte prosím heslo')
  20.              ->addRule(HForm::MIN_LENGTH, 'Heslo musí mít alespoň %d znaků', 6)
  21.              ->addRule(HForm::PATTERN, 'Musí obsahovat alespoň jednu číslici (aby bylo heslo dost bezpečné)', '.*[0-9].*');
  22.  
  23.         $credentials->addPassword('passwordVerify', 'Heslo pro kontrolu:')
  24.              ->addConditionOn($this['new'], HForm::EQUAL, TRUE)
  25.              ->addRule(HForm::FILLED, 'Zadejte prosím heslo ještě jednou pro kontrolu')
  26.              ->addRule(HForm::EQUAL, 'Hesla se neshodují', $this['password']);
  27.              
  28.        
  29.         $credentials->addSelect('role', 'Role:', $this->db->getUsersRoles())
  30.              ->setPrompt('-- vyberte --')
  31.              ->setRequired('Zvolte uživatelskou roli');
  32.  
  33.         $credentials->addSelect('position', 'Pozice:', $this->db->getUsersPosition())
  34.              ->setPrompt('-- vyberte --')
  35.              ->setRequired('Zvolte pozici');
  36.        
  37.         $this->addGroup('Osobní údaje');
  38.         $personalData = $this->addContainer('personal');
  39.  
  40.         $personalData->addText('personalNumber', 'Identifikační číslo:')
  41.                      ->addRule(HForm::PATTERN, 'Zadejte správný tvar.', '[A-Z]{2}[0-9]{4}')
  42.                      ->addRule(HForm::MAX_LENGTH, 'číslo poradce může obsahovat maximalně %d čísel.', 6)
  43.                      ->setOption('description', 'identifikační číslo poradce vzor: BFXXXX');
  44.        
  45.         $personalData->addText('lastName', 'Přijmení:')
  46.                      ->setRequired('Zadejte prosím přijmení')
  47.                      ->addRule(HForm::MAX_LENGTH, 'přijmení poradce může obsahovat maximalně %d znaků.', 25);
  48.        
  49.         $personalData->addText('firstName', 'Jméno:')
  50.                      ->setRequired('Zadejte prosím jméno')
  51.                      ->addRule(HForm::MAX_LENGTH, 'jméno poradce může obsahovat maximalně %d znaků.', 25);
  52.                
  53.         $personalData->addText('phone', 'Telefon:')
  54.                      ->setRequired('Zadejte prosím telefon')
  55.                      ->addRule(HForm::PATTERN, 'Telefonní číslo obsahuje 9 čisel', '([0-9]\s*){9}')
  56.                      ->addRule(HForm::MAX_LENGTH, 'Telefonní číslo obsahuje %d čísel', 9);
  57.  
  58.         $this->addGroup('Trvalý pobyt');
  59.     $address = $this->addContainer('address');
  60.  
  61.         $address->addText('street', 'Ulice:')
  62.              ->setRequired('Zadejte prosím ulici');
  63.  
  64.         $address->addText('houseNumber', 'Č.p:')
  65.              ->setRequired('Zadejte prosím číslo popisné')
  66.              ->setAttribute('type', 'number');
  67.  
  68.         $address->addText('approximateNumber', 'O.č:')
  69.              ->setAttribute('type', 'number');
  70.  
  71.         $address->addText('zipCode', 'PSČ:')
  72.              ->setRequired('Zadejte prosím PSČ')
  73.              ->setAttribute('type', 'number');
  74.  
  75.         $address->addText('city', 'Město:')
  76.              ->setRequired('Zadejte prosím město');
  77.  
  78.         $address->addText('region', 'Kraj:');
  79.  
  80.         $address->addText('country', 'Stát:');
  81.  
  82.        
  83.         $this->db = $this->getPresenter()->getContext()->usersModel;
  84.         $id = $this->presenter->getParameter("id");
  85.        
  86.         if ($id) {
  87.             $this->addSubmit('save', 'Upravit uživatele')
  88.                  ->getControlPrototype()
  89.                  ->class('btn btn-warning btn-large');
  90.  
  91.         } else {
  92.             $this->addSubmit('save', 'Nový uživatele')
  93.                  ->getControlPrototype()
  94.                  ->class('btn btn-primary btn-large');
  95.         }
  96.  
  97.         // ... tohle jako myslis vazne? v roce 2012 mit ve formulari reset button? ?!!??!!!
  98.         $this->addSubmit('reset', 'Zrušit')
  99.              ->getControlPrototype()
  100.              ->class('btn btn-danger btn-large')
  101.              ->setAttribute('type', 'reset');    
  102.     }
Advertisement
Add Comment
Please, Sign In to add comment