/** * ... * * @param array $params * @param Smarty $smarty * @return string * * @package application.helper.smarty.form * @author Integry Systems */ function smarty_function_textarea($params, $smarty) { if (empty($params['name'])) { $params['name'] = $smarty->getTemplateVars('input_name'); } // @todo: can be removed when all TinyMCE editors are instantiated via Angular if (empty($params['id']) && empty($params['tinymce'])) { $params['id'] = uniqid(); } $formParams = $smarty->_tag_stack[0][1]; $formHandler = $formParams['handle']; $fieldName = $params['name']; if (empty($params['ng_model']) && !empty($formParams['model'])) { $params['ng-model'] = $formParams['model'] . '.' . $params['name']; unset($params['ng_model']); } $params = $smarty->applyFieldValidation($params, $formHandler); if (!empty($params['tinymce'])) { if (is_bool($params['tinymce'])) { $params['tinymce'] = 'getTinyMceOpts()'; } $params['ui-tinymce'] = $params['tinymce']; unset($params['tinymce']); } // Check permissions if ($formParams['readonly']) { $params['readonly'] = 'readonly'; } $content = '<textarea'; $content = $smarty->appendParams($content, $params); $content .= '>' . htmlspecialchars($formHandler->get($fieldName), ENT_QUOTES, 'UTF-8') . '</textarea>'; $content = $smarty->formatControl($content, $params); return $content; }
/** * ... * * @param array $params * @param Smarty $smarty * @return string * * @package application.helper.smarty.form * @author Integry Systems */ function smarty_function_selectfield($params, $smarty) { if (empty($params['name'])) { $params['name'] = $smarty->getTemplateVars('input_name'); } $formParams = $smarty->_tag_stack[0][1]; $formHandler = $formParams['handle']; if (!empty($formParams['model']) && !empty($formParams['name'])) { $params['ng-model'] = $formParams['model'] . '.' . $params['name']; } $options = $params['options']; if (empty($options)) { $options = array(); } unset($params['options']); $before = isset($params['before']) ? $params['before'] : ''; $after = isset($params['after']) ? $params['after'] : ''; $defaultValue = isset($params['value']) ? $params['value'] : ''; unset($params['value'], $params['before'], $params['after']); // Check permissions if ($formParams['readonly']) { $params['disabled'] = 'disabled'; } if ($formHandler) { $fieldValue = $formHandler->get($params['name']); if (is_null($fieldValue)) { $fieldValue = $defaultValue; } //$params['initialValue'] = $fieldValue; } $content = '<select'; $content = $smarty->appendParams($content, $params); $content .= ">\n"; if (isset($params['blank'])) { $content .= '<option></option>'; } $content .= $before; foreach ($options as $value => $title) { if (preg_match('/optgroup_\\d+/', $value)) { $content .= "\t" . '<optgroup label="' . htmlspecialchars($title) . '" />' . "\n"; } else { if (is_array($fieldValue) && in_array($value, $fieldValue) || !is_array($fieldValue) && $fieldValue == $value && strlen($fieldValue) == strlen($value)) { $content .= "\t" . '<option value="' . $value . '" selected="selected">' . htmlspecialchars($title) . '</option>' . "\n"; } else { $content .= "\t" . '<option value="' . $value . '">' . htmlspecialchars($title) . '</option>' . "\n"; } } } $content .= $after . '</select>'; $content = $smarty->formatControl($content, $params); return $content; }