Exemplo n.º 1
0
 public function renderSubmissionPosition($position, $args = array())
 {
     // init vars
     $elements = array();
     $output = '';
     $trusted_mode = !JFactory::getUser()->guest && $this->_form->getSubmission()->isInTrustedMode();
     $show_tooltip = $this->_form->getSubmission()->showTooltip();
     // get style
     $style = isset($args['style']) ? $args['style'] : 'default';
     // get renderer
     $renderer = new YRenderer();
     $renderer->addPath($this->_path);
     // render elements
     foreach ($this->_getConfigPosition($position) as $data) {
         if (($element = $this->_item->getElement($data->element)) && ($field = $this->_form->getFormField($data->element))) {
             $metadata = $element->getMetaData();
             if (!$trusted_mode && $metadata['trusted'] == 'true') {
                 continue;
             }
             // bind field data to elements
             if ($field_data = $field->hasError() ? $field->getTaintedValue() : $field->getValue()) {
                 $element->bindData($field_data);
             } else {
                 $element->bindData();
             }
             // set params
             $params = array_merge((array) $data, $args);
             // check value
             $elements[] = compact('element', 'params', 'field');
         }
     }
     foreach ($elements as $i => $data) {
         $params = array_merge(array('first' => $i == 0, 'last' => $i == count($elements) - 1, 'layout_path' => $this->_path), compact('trusted_mode', 'show_tooltip'), $data['params']);
         $output .= $renderer->render("element.{$style}", array('element' => $data['element'], 'field' => $data['field'], 'params' => $params));
     }
     return $output;
 }