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); }
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); }