/** * doRender * * @param string $name * @param \SimpleXmlElement $element * @param mixed $data * * @throws \UnexpectedValueException * @return mixed */ protected static function doRender($name, XulEngine $engine, \SimpleXmlElement $element, $data) { XmlHelper::def($element, 'action', $data->uri->path); XmlHelper::def($element, 'method', 'post'); XmlHelper::def($element, 'id', $data->view->name . '-form'); XmlHelper::def($element, 'name', 'adminForm'); XmlHelper::def($element, 'class', 'form-validate'); XmlHelper::def($element, 'enctype', 'multipart/form-data'); $attributes = XmlHelper::getAttributes($element); $footerHandler = XmlHelper::get($element, 'type', 'default'); $footerHandler = array(__CLASS__, 'render' . ucfirst($footerHandler) . 'Footer'); // Build hidden inputs $footer = HtmlBuilder::create('input', null, array('type' => 'hidden', 'name' => 'option', 'value' => $data->view->option)); $footer .= HtmlBuilder::create('input', null, array('type' => 'hidden', 'name' => 'task', 'value' => '')); $footer .= is_callable($footerHandler) ? call_user_func_array($footerHandler, array()) : ''; $footer .= JHtml::_('form.token'); // Wrap inputs $children = static::renderChildren($engine, $element, $data); $children .= HtmlBuilder::create('div', $footer, array('id' => 'hidden-inputs')); return HtmlBuilder::create($name, $children, $attributes); }