Example #1
0
 private function processPreference($preference)
 {
     $type = (string) $preference['type'];
     if ($type == 'hidden') {
         return;
     }
     $formField = new Gpf_Db_FormField();
     $formField->setFormId($this->getPreferencesFormId());
     $formField->setName((string) $preference['label']);
     $formField->setCode((string) $preference['name']);
     $formField->setStatus(Gpf_Db_FormField::STATUS_OPTIONAL);
     switch ($type) {
         case 'password':
             $formField->setType(Gpf_Db_FormField::TYPE_PASSWORD);
             break;
         case 'text':
             $formField->setType(Gpf_Db_FormField::TYPE_TEXT);
             break;
         case 'boolean':
             $formField->setType(Gpf_Db_FormField::TYPE_CHECKBOX);
             break;
         case 'range':
             $formField->setType(Gpf_Db_FormField::TYPE_LISTBOX);
             $formField->clearAvailableValues();
             for ($i = $preference['min']; $i <= $preference['max']; $i += $preference['step']) {
                 $formField->addAvailableValue($i, $i);
             }
             break;
         case 'list':
             $formField->setType(Gpf_Db_FormField::TYPE_LISTBOX);
             $formField->clearAvailableValues();
             foreach ($preference->option as $option) {
                 $formField->addAvailableValue((string) $option['value'], (string) $option['label']);
             }
             break;
     }
     $this->addPreferenceField($formField);
 }
Example #2
0
 private function processPreference($preference)
 {
     $type = (string) $preference['datatype'];
     if ($type == '' || $type == null) {
         $type = 'string';
     }
     if ($type == 'hidden') {
         return;
     }
     $formField = new Gpf_Db_FormField();
     $formField->setFormId($this->getPreferencesFormId());
     $formField->setCode((string) $preference['name']);
     $displayName = (string) $preference['display_name'];
     if ($displayName == '') {
         $displayName = (string) $preference['name'];
     }
     $formField->setName($displayName);
     if ($preference['required'] == "true") {
         $formField->setStatus(Gpf_Db_FormField::STATUS_MANDATORY);
     } else {
         $formField->setStatus(Gpf_Db_FormField::STATUS_OPTIONAL);
     }
     switch ($type) {
         case 'string':
             $formField->setType(Gpf_Db_FormField::TYPE_TEXT);
             break;
         case 'bool':
             $formField->setType(Gpf_Db_FormField::TYPE_CHECKBOX);
             break;
         case 'enum':
             $formField->setType(Gpf_Db_FormField::TYPE_LISTBOX);
             $formField->clearAvailableValues();
             foreach ($preference->EnumValue as $option) {
                 $value = (string) $option['value'];
                 $displayValue = (string) $option['display_value'];
                 if ($displayValue == '') {
                     $displayValue = $value;
                 }
                 $formField->addAvailableValue($value, $displayValue);
             }
             break;
     }
     $this->addPreferenceField($formField);
 }