Exemplo n.º 1
0
 /**
  * @param LBoxFormControl control 
  */
 public function addControl(LBoxFormControl $control)
 {
     try {
         // multiple rozdelime a prekontrolujeme zvlast
         if ($control instanceof LBoxFormControlMultiple) {
             foreach ($control->getControls() as $subControl) {
                 if (array_key_exists($subControl->getName(), $this->controls)) {
                     throw new LBoxExceptionForm($control->getName() . ": " . LBoxExceptionForm::MSG_FORM_CONTROL_DOES_EXISTS, LBoxExceptionForm::CODE_FORM_CONTROL_DOES_EXISTS);
                 }
                 $this->controls[$subControl->getName()] = $subControl;
                 if ($this->form) {
                     $control->setForm($this->form);
                     $this->form->addControl($control);
                 }
             }
         } else {
             // kontrola unikatnosti sub controls mezi sebou
             if (array_key_exists($control->getName(), $this->controls)) {
                 throw new LBoxExceptionForm($control->getName() . ": " . LBoxExceptionForm::MSG_FORM_CONTROL_DOES_EXISTS, LBoxExceptionForm::CODE_FORM_CONTROL_DOES_EXISTS);
             }
             $this->controls[$control->getName()] = $control;
             $control->setIsSubControl();
             /* pokud uz je nastaven form, musime provest kontrolu sub-controls na unikatnost apod - podle toho co Form vyzaduje
              * toto si sama zaridi metoda LBoxForm::addControl(LBoxFormControlMultiple)
              */
             if ($this->form) {
                 $control->setForm($this->form);
                 $this->form->addControl($this);
             }
         }
         $control->setPersist($this->isPersist);
     } catch (Exception $e) {
         throw $e;
     }
 }
Exemplo n.º 2
0
 /**
  * vypisuje HTML kod pro vypis simple controlu
  * @param LBoxFormControl $control
  * @return string
  */
 protected function printHTMLControlSimple(LBoxFormControl $control)
 {
     try {
         if ($control instanceof LBoxFormControlChooseMore) {
             echo "<fieldset>";
             echo "<legend><font color='#cc0000'><strong>" . $control->getName() . " Choose more values choosed:</strong></font></legend>";
             foreach ($control->getValue() as $value => $choosed) {
                 var_dump("{$choosed}");
             }
             echo "</fieldset>";
         } else {
             var_dump($control->getName() . " = " . $control->getValue());
         }
     } catch (Exception $e) {
         throw $e;
     }
 }
 /**
  * kontroluje, jestli byl control uzivatelem zadan
  */
 public function validate(LBoxFormControl $control = NULL)
 {
     try {
         switch (true) {
             case $control instanceof LBoxFormControlChooseMoreFromRecords:
             case $control instanceof LBoxFormControlChooseMore:
                 if (!$control->getValue()) {
                     throw new LBoxExceptionFormValidator($control->getName() . ": " . LBoxExceptionFormValidator::MSG_FORM_VALIDATION_CONTROL_EMPTY, LBoxExceptionFormValidator::CODE_FORM_VALIDATION_CONTROL_EMPTY);
                 }
                 break;
             default:
                 if (strlen($control->getValue()) < 1) {
                     throw new LBoxExceptionFormValidator($control->getName() . ": " . LBoxExceptionFormValidator::MSG_FORM_VALIDATION_CONTROL_EMPTY, LBoxExceptionFormValidator::CODE_FORM_VALIDATION_CONTROL_EMPTY);
                 }
         }
     } catch (Exception $e) {
         throw $e;
     }
 }
 /**
  * kontroluje, jestli je vyplnena alespon jedna odpoved
  */
 public function validate(LBoxFormControl $control = NULL)
 {
     try {
         $controls = $control->getControls();
         foreach ($control->getControls() as $subControl) {
             // hodnota je vyplnena
             if (strlen($subControl->getValue()) > 0) {
                 return;
             }
         }
         // hodnota nikde nebyla vyplnena
         throw new LBoxExceptionFormValidator($control->getName() . ": " . LBoxExceptionFormValidator::MSG_FORM_VALIDATION_CONTROL_EMPTY, LBoxExceptionFormValidator::CODE_FORM_VALIDATION_CONTROL_EMPTY);
     } catch (Exception $e) {
         throw $e;
     }
 }
Exemplo n.º 5
0
 /**
  * @param LBoxFormControl $control
  * @throws LBoxExceptionForm
  */
 public function addControl(LBoxFormControl $control)
 {
     try {
         if (array_key_exists($control->getName(), $this->controls)) {
             throw new LBoxExceptionForm($control->getName() . ": " . LBoxExceptionForm::MSG_FORM_CONTROL_DOES_EXISTS, LBoxExceptionForm::CODE_FORM_CONTROL_DOES_EXISTS);
         }
         // z multistep control prebereme jeho subcontrols
         if ($control instanceof LBoxFormControlMultiple) {
             foreach ($control->getControls() as $subControl) {
                 if (!array_key_exists($subControl->getName(), $this->controls)) {
                     $this->controls[$subControl->getName()] = $subControl;
                 }
             }
         }
         if (strtolower($control->getName()) == "previous") {
             throw new LBoxExceptionFormControl(LBoxExceptionFormControl::MSG_FORM_CONTROL_NAME_FORBIDDEN, LBoxExceptionFormControl::CODE_FORM_CONTROL_NAME_FORBIDDEN);
         }
         $this->controls[$control->getName()] = $control;
         $control->setForm($this);
     } catch (Exception $e) {
         throw $e;
     }
 }