function smarty_function_input($params, $smarty) { $type = FormElement::getParameter($params, 'type', 'text'); $label = FormElement::getParameter($params, 'label'); if (! $label && !FormElement::getBoolParameter($params, 'nolabel')) { $type = 'hidden'; } $object = FormElement::getObject($type); if ($object instanceof FileInput) { $smarty->_coorg_form->file_upload = true; } if ($object instanceof LabeledFormElement) { $object->setLabel(t($label)); $object->setIDPrefix($smarty->_coorg_form->formID); if (FormElement::getBoolParameter($params, 'disabled')) $object->disable(); if ($tabindex = FormElement::getParameter($params, 'tabindex')) $object->tabindex($tabindex); } if ($object instanceof IUserInput) { if ($placeholder = FormElement::getParameter($params, 'placeholder')) $object->setPlaceholder($placeholder); if (FormElement::getBoolParameter($params, 'readonly')) $object->readonly(); if ($for = FormElement::getParameter($params, 'for')) { $object->setName($for); // This can be overriden by a name="" (see later) $instance = $smarty->_coorg_form->instance; $object->setObject($instance, $for); } else { $object->setValue(FormElement::getParameter($params, 'value')); } } if ($name = FormElement::getParameter($params, 'name')) { $object->setName($name); } $object->setSpecificParameters($params); return $object->render(); }