示例#1
0
 public function render($name)
 {
     $this->addAttribute('class', 'btn');
     if ($this->theme != 'default') {
         $this->addAttribute('class', 'btn-' . $this->theme);
     }
     if ($this->size != 'default') {
         $this->addAttribute('class', 'btn-' . $this->size);
     }
     parent::render($name);
     if ($this->clear) {
         $this->html .= '<div>&nbsp;</div>';
     }
     switch ($this->tag_type) {
         default:
         case 'a':
             //WBN this is broken sort of, fix that ish
             $this->html .= '<a href="/" ' . $this->element_attributes . '>' . $this->text . '</a>';
             break;
         case 'input':
             $this->html .= '<input ' . $this->element_attributes . 'type ="' . $this->type . '" value="' . $this->text . '" />';
             break;
         case 'button':
             $this->html .= '<button ' . $this->element_attributes . ' type ="' . $this->type . '" >' . $this->text . '' . $this->icon . '</button>';
             break;
         case 'icon_submit':
             $this->html .= '<button ' . $this->element_attributes . ' type ="' . $this->type . '" >' . $this->text . '' . $this->icon . '</button>';
             break;
     }
     return $this->html;
 }
示例#2
0
 public function render($name)
 {
     parent::render($name);
     if ($this->label) {
         $this->html = $this->label();
     }
     if ($this->prepended || $this->appended) {
         $div_class = '';
         if ($this->prepended) {
             $div_class .= ' input-prepend';
         }
         if ($this->appended) {
             $div_class .= ' input-append';
         }
         $this->html .= '<div class="' . $div_class . '">';
     }
     if ($this->prepended) {
         $this->html .= '<span class="add-on">' . $this->prepended . '</span>';
     }
     $this->html .= $this->rendered_input($name);
     if ($this->appended) {
         $this->html .= '<span class="add-on">' . $this->appended . '</span>';
     }
     if ($this->prepended || $this->appended) {
         $this->html .= '</div>';
     }
     return $this->html;
 }
示例#3
0
 public function render()
 {
     /*
      * En el caso que $div YA SEA UN element significa que nos está llamando él para renderearse
      * Tambien nos rendereamos en el caso que no tengamos un label (tal vez no habra label y seamos nosotros solitos)
      */
     if (is_null($this->label) || is_a($this->div, 'element')) {
         return parent::render();
     }
     // Si $div NO ES un element lo rendereamos metiendonos en medio con nuestra label
     if (!is_a($this->div, 'element')) {
         $this->div = new element(array('tag' => 'div', 'class' => 'form-group', 'id' => false, $this->label, $this));
         return $this->div->render();
     }
 }
示例#4
0
 public function render($buffer = false)
 {
     // Build Element Structure
     $this->build_element_structure($this->table_elements['header'], $this->table_data['elements']['header']);
     $this->build_element_structure($this->table_elements['body'], $this->table_data['elements']['body']);
     $this->build_element_structure($this->table_elements['footer'], $this->table_data['elements']['footer']);
     // Convert Table Data to XML
     $this->inset_val = array2xml('table_data', $this->table_data);
     // Render Table Element
     parent::render($buffer);
 }
示例#5
0
 public function render($buffer = false)
 {
     //============================================================
     // Form Label
     //============================================================
     if (isset($this->form_label)) {
         $this->add_child(xhe('form_label', $this->form_label));
     }
     //============================================================
     // Hidden Form Elements
     //============================================================
     $hid_elements = new gen_element('hidden_elements');
     $hid_elements->display_tree();
     foreach ($this->hidden_elements as $hid_element) {
         ob_start();
         $this->process_element($hid_element);
         $tmp_element = !empty($this->xsl_template) ? $this->xml_escape(ob_get_clean()) : ob_get_clean();
         $tmp_element = trim($tmp_element);
         $tmp_he = new gen_element('hid_element', $tmp_element);
         $tmp_he->display_tree();
         $hid_elements->add_child($tmp_he);
     }
     $this->add_child($hid_elements);
     //============================================================
     // Process Visible Form Elements
     //============================================================
     $elements = new gen_element('form_elements');
     $elements->display_tree();
     foreach ($this->form_elements as $element) {
         //-----------------------------------------------------
         // Validate Each Element
         //-----------------------------------------------------
         if (!is_array($element) || is_array($element) && count($element) < 2) {
             continue;
         }
         //-----------------------------------------------------
         // Process the element
         //-----------------------------------------------------
         ob_start();
         $this->process_element($element[0]);
         $tmp_element = ob_get_clean();
         //-----------------------------------------------------
         // Build Form Element into XML and add it to Tree
         //-----------------------------------------------------
         $fe_attrs = array();
         $fe_content = trim($tmp_element);
         $content_empty = $fe_content == '' ? true : false;
         if ($fe_content != '' && !empty($this->xsl_template)) {
             $fe_content = xml_escape($fe_content);
         }
         $fe_attrs = isset($element[2]) && is_array($element[2]) ? $element[2] : array();
         $tmp_fe = new gen_element($element[1], $fe_content, $fe_attrs);
         if (substr($element[1], 0, 4) != 'end_' && !$content_empty) {
             $tmp_fe->display_tree();
         }
         $elements->add_child($tmp_fe);
     }
     $this->add_child($elements);
     //============================================================
     // Call Parent Render Function
     //============================================================
     return parent::render($buffer);
 }
示例#6
0
     */
    $html->getElementById('bt-container')->addElement(new element(array('id' => 'menu_usuario', 'tag' => 'div', new element(array('tag' => 'ul', 'class' => 'nav nav-tabs')))));
    $html->getElementById('bt-container')->addElement(new element(array('tag' => 'div', 'class' => 'tab-content', 'id' => 'tab-content')));
    //Aqui va el contenido de los tabs
    foreach ($_SESSION['usuario']->getMenu() as $value) {
        $active = true;
        /*
         * Agregamos el contenido y el menu
         */
        try {
            $html->getElementById('tab-content')->addElement(new element(array('tag' => 'div', 'id' => $value['leyenda'], 'class' => 'tab-pane fade', include_once 'view/' . stripAccents($value['leyenda']) . '.php')));
            $html->getElementByTag('head')->addElement(new element(array('tag' => 'script', 'id' => false, 'src' => 'js/' . stripAccents($value['leyenda']) . '.js')));
            if ($active) {
                $html->getElementById($value['leyenda'])->addAtributo('class', 'in active');
                $active = false;
                // Esto es únicamente para el primer tab
            }
            // Si hemos llegado aqui el archivo existe y por lo tanto podemos agregar el menu
            $html->getElementById('menu_usuario')->getElementByTag('ul')->addElement(new element(array('tag' => 'li', new element(array('tag' => 'a', 'data-toggle' => 'tab', 'href' => '#' . $value['leyenda'], '_text' => $value['leyenda'])))));
        } catch (ErrorException $e) {
            error_log('No se encontró el archivo view/' . stripAccents($value['leyenda']) . '.php');
        }
    }
    /*
     * El primer li en el primer ul en el menu
     */
    $html->getElementById('menu_usuario')->getElementByTag('ul')->getElementByTag('li')->addAtributo('class', 'active');
}
echo '<!DOCTYPE html>' . "\n";
echo $html->render();
示例#7
0
 public function render($buffer = false)
 {
     // Inset Value Buffer
     ob_start();
     // Data Output Buffer
     ob_start();
     // Form Label
     if (isset($this->form_label)) {
         print new gen_element('form_label', $this->form_label);
     }
     // Headers
     $headers_arr = array();
     for ($x = 0; $x < $this->cols; $x++) {
         if (isset($this->headers[$x])) {
             $headers_arr[] = $this->headers[$x];
         }
     }
     print array2xml('headers', $headers_arr);
     // Button Cell Attributes
     print array2xml('button_cell_attrs', $this->button_cell_attrs);
     // Button(s)
     if (gettype($this->button) == 'array') {
         $buttons = array();
         foreach ($this->button as $key => $value) {
             if (gettype($key) == 'integer') {
                 $key = 'button_' . $key;
             }
             $buttons[$key] = array('name' => $key, 'value' => $this->xml_escape($value));
         }
         print array2xml('buttons', $buttons);
     } else {
         if ($this->button !== NULL) {
             print new gen_element('button', $this->xml_escape($this->button));
         }
     }
     print new gen_element('columns', $this->cols);
     // Form content
     $curr_cols = 0;
     $colspan = 0;
     $row_begin = false;
     $row_end = false;
     // Hidden Form Elements
     $hid_elems = array();
     foreach ($this->hidden_elements as $he_key => $hid_element) {
         ob_start();
         $this->process_element($hid_element);
         $hid_elems[] = !empty($this->xsl_template) ? $this->xml_escape(ob_get_clean()) : ob_get_clean();
     }
     print array2xml('hidden_elements', $hid_elems);
     // Visible Form Elements
     ob_start();
     $rows = 0;
     foreach ($this->form_elements as $element) {
         // Process the element (object -> render, text -> print, array -> process elements)
         ob_start();
         $this->process_element($element[0]);
         $tmp_element = ob_get_clean();
         if ($element[2] == 'cell') {
             // Start ROW
             if ($curr_cols == 0) {
                 ob_start();
                 if ($rows % 2 == 1 && $this->alt_rows) {
                     $this->set_row_attr($rows, 'class', 'alt');
                 }
                 $row_attrs = isset($this->row_attrs[$rows]) ? $this->row_attrs[$rows] : array();
                 $row_begin = true;
                 $row_end = false;
                 $rows++;
             }
             // Build Form Element
             $colspan = $element[1] + 0;
             $fe_attrs = array('colspan' => $element[1]);
             foreach ($element[3] as $fe_attr_key => $fe_attr_val) {
                 $fe_attrs[$fe_attr_key] = $fe_attr_val;
             }
             $fe_content = !empty($this->xsl_template) ? $this->xml_escape($tmp_element) : $tmp_element;
             print new gen_element('form_element', $fe_content, $fe_attrs);
             // End ROW
             if ($curr_cols + $colspan >= $this->cols) {
                 print new gen_element('row', ob_get_clean(), $row_attrs);
                 $row_begin = false;
                 $row_end = true;
                 $curr_cols = 0;
             } else {
                 $curr_cols += $colspan;
             }
         } else {
             print !empty($this->xsl_template) && $element[2] != 'fieldset' ? $this->xml_escape($tmp_element) : $tmp_element;
         }
     }
     // End ROW if not already terminated
     if (!$row_end && $row_begin && count($this->form_elements) > 0) {
         print new gen_element('row', ob_get_clean(), $row_attrs);
     }
     print new gen_element('elements', ob_get_clean());
     print new gen_element('data', ob_get_clean());
     $this->inset_val .= ob_get_clean();
     return parent::render($buffer);
 }