Example #1
0
 /**
  * Return an array with the elements according to the parameters
  *
  * @param int $id
  * @param int $langId
  * @param string $type
  *
  * @return array
  */
 protected function _selectElements($id, $all = false)
 {
     $oElem = new FormElement();
     $oElemType = new FormElementType();
     $select = $oElem->select()->setIntegrityCheck(false)->from($oElem->getName())->joinInner($oElemType->getName(), 'FET_ID = FE_TypeID', 'FET_Title');
     if (!$all) {
         $select->where('FE_ID = ?', $id);
     } else {
         $select->where('FE_SectionID = ?', $id);
     }
     $select->order('FE_Seq ASC');
     $elements = $oElem->fetchAll($select)->toArray();
     return $elements;
 }
Example #2
0
 public static function process_form_elements(FormElement $element)
 {
     ($element->getLabel() != null and $element->getLabel() != "") ? $isLabel = true : ($isLabel = false);
     ($element->getId() != null and $element->getId() != "") ? $label = $element->getId() : ($label = $element->getName());
     $output = "";
     // On case les checkbox / radio dans une div chez nous :)
     if (isset($element->getAttributes()['type'])) {
         if (!self::$flag_process_form_elements_radio_list_open) {
             if (!self::$flag_process_form_elements_checkbox_list_open and $element->getAttributes()['type'] == 'checkbox') {
                 self::$flag_process_form_elements_checkbox_list_open = true;
                 $output .= "<div style=\"float:left;\">";
             } else {
                 if (self::$flag_process_form_elements_checkbox_list_open and $element->getAttributes()['type'] != 'checkbox') {
                     self::$flag_process_form_elements_checkbox_list_open = false;
                     $output .= "</div><div style=\"clear:both;\"></div>";
                 }
             }
         }
         if (!self::$flag_process_form_elements_checkbox_list_open) {
             if (!self::$flag_process_form_elements_radio_list_open and $element->getAttributes()['type'] == 'radio') {
                 self::$flag_process_form_elements_radio_list_open = true;
                 $output .= "<div style=\"float:left;\">";
             } else {
                 if (self::$flag_process_form_elements_radio_list_open and $element->getAttributes()['type'] != 'radio') {
                     self::$flag_process_form_elements_radio_list_open = false;
                     $output .= "</div><div style=\"clear:both;\"></div>";
                 }
             }
         }
     } else {
         if (self::$flag_process_form_elements_radio_list_open or self::$flag_process_form_elements_checkbox_list_open) {
             self::$flag_process_form_elements_checkbox_list_open = false;
             self::$flag_process_form_elements_radio_list_open = false;
             $output .= "</div><div style=\"clear:both;\"></div>";
         }
     }
     // Element auto-fermable
     if ($element->is_closed()) {
         if ($isLabel and isset($element->getAttributes()['type']) and ($element->getAttributes()['type'] != 'radio' and $element->getAttributes()['type'] != 'checkbox')) {
             $output .= "<div class=\"formulaire_ligne\"><label for=\"" . $label . "\">" . $element->getLabel() . "</label>";
         }
         if (isset($element->getAttributes()['type']) and ($element->getAttributes()['type'] == 'checkbox' or $element->getAttributes()['type'] == 'radio')) {
             $output .= "<div class=\"FormElementCheckboxRadio\">";
         }
         $output .= "<" . $element->getBalise();
         if ($element->getId() != null and $element->getId() != "") {
             $output .= " id=\"" . $element->getId() . "\"";
         }
         if ($element->getName() != null and $element->getName() != "") {
             $output .= " name=\"" . $element->getName() . "\"";
         }
         $output .= " value=\"" . $element->getValue() . "\"";
         foreach ($element->getAttributes() as $k => $v) {
             $output .= " {$k}=\"{$v}\"";
             if ($k == 'type' and $v == 'radio') {
                 $output .= " class=\"radio\"";
             }
         }
         $output .= "/>";
         if ($isLabel and isset($element->getAttributes()['type']) and $element->getAttributes()['type'] == 'checkbox') {
             $output .= "<label for=\"" . $label . "\"><span class=\"ui\"></span><span class=\"label\">" . $element->getLabel() . "</span></label>";
             $output .= "</div>";
         } else {
             if ($isLabel and isset($element->getAttributes()['type']) and $element->getAttributes()['type'] == 'radio') {
                 $output .= "<label for=\"" . $label . "\"><span class=\"ui\"></span><span class=\"label\">" . $element->getLabel() . "</span></label>";
                 $output .= "</div>";
             } else {
                 if ($isLabel and isset($element->getAttributes()['type']) and ($element->getAttributes()['type'] != 'radio' and $element->getAttributes()['type'] != 'checkbox')) {
                     $output .= "</div>";
                 }
             }
         }
     } else {
         if ($isLabel and (strtolower($element->getBalise()) == "select" or strtolower($element->getBalise()) == "textarea")) {
             $output .= "<label for=\"" . $label . "\">" . $element->getLabel() . "</label>";
         }
         $output .= "<" . $element->getBalise();
         if ($element->getId() != null and $element->getId() != "") {
             $output .= " id=\"" . $element->getId() . "\"";
         }
         if ($element->getName() != null and $element->getName() != "") {
             $output .= " name=\"" . $element->getName() . "\"";
         }
         $output .= " value=\"" . $element->getValue() . "\"";
         foreach ($element->getAttributes() as $k => $v) {
             $output .= " {$k}=\"{$v}\"";
         }
         $output .= ">";
         if (sizeof($element->getElements()) > 0) {
             foreach ($element->getElements() as $v) {
                 $output .= self::process_form_elements($v);
             }
         } else {
             if (strtolower($element->getBalise()) != "textarea") {
                 $output .= $element->getLabel();
             } else {
                 $output .= $element->getValue();
             }
         }
         $output .= "</" . $element->getBalise() . ">";
     }
     return $output;
 }
Example #3
0
 /**
  * add an element to the form
  * @param FormElement $element 
  * @return FormElement
  */
 private function addElement(FormElement $element)
 {
     return $this->_elements[$element->getName()] = $element;
 }
Example #4
0
 /**
  * Renders a list of errors
  *
  * 
  * @param  FormElement  $field A form element
  */
 public function renderFieldErrors(FormElement $field)
 {
     // Strip brakets on field to fix problem with arrays.
     // this happens with the multi select elements
     $name = str_replace(array('[', ']'), array('', ''), $field->getName());
     if (isset($this->errors[$name]) && count($this->errors[$name])) {
         echo "<ul class=\"form_input_error\">";
         foreach ($this->errors[$name] as $error) {
             echo "<li>{$error}</li>";
         }
         echo "</ul>";
     }
 }
Example #5
0
 public static function process_form_elements(FormElement $element)
 {
     ($element->getLabel() != null and $element->getLabel() != "") ? $isLabel = true : ($isLabel = false);
     ($element->getId() != null and $element->getId() != "") ? $label = $element->getId() : ($label = $element->getName());
     $output = "";
     // Element auto-fermable
     if ($element->is_closed()) {
         if ($isLabel and ($element->getAttributes()['type'] != 'radio' and $element->getAttributes()['type'] != 'checkbox')) {
             $output .= "<label for=\"" . $label . "\">" . $element->getLabel() . "</label>";
         }
         $output .= "<" . $element->getBalise();
         if ($element->getId() != null and $element->getId() != "") {
             $output .= " id=\"" . $element->getId() . "\"";
         }
         if ($element->getName() != null and $element->getName() != "") {
             $output .= " name=\"" . $element->getName() . "\"";
         }
         $output .= " value=\"" . $element->getValue() . "\"";
         foreach ($element->getAttributes() as $k => $v) {
             $output .= " {$k}=\"{$v}\"";
         }
         $output .= "/>";
         if ($isLabel and ($element->getAttributes()['type'] == 'radio' or $element->getAttributes()['type'] == 'checkbox')) {
             $output .= "<label for=\"" . $label . "\">" . $element->getLabel() . "</label>";
         }
     } else {
         if ($isLabel and (strtolower($element->getBalise()) == "select" or strtolower($element->getBalise()) == "textarea")) {
             $output .= "<label for=\"" . $label . "\">" . $element->getLabel() . "</label>";
         }
         $output .= "<" . $element->getBalise();
         if ($element->getId() != null and $element->getId() != "") {
             $output .= " id=\"" . $element->getId() . "\"";
         }
         if ($element->getName() != null and $element->getName() != "") {
             $output .= " name=\"" . $element->getName() . "\"";
         }
         $output .= " value=\"" . $element->getValue() . "\"";
         foreach ($element->getAttributes() as $k => $v) {
             $output .= " {$k}=\"{$v}\"";
         }
         $output .= ">";
         if (sizeof($element->getElements()) > 0) {
             foreach ($element->getElements() as $v) {
                 $output .= self::process_form_elements($v);
             }
         } else {
             if (strtolower($element->getBalise()) != "textarea") {
                 $output .= $element->getLabel();
             } else {
                 $output .= $element->getValue();
             }
         }
         $output .= "</" . $element->getBalise() . ">";
     }
     return $output;
 }