/**
  * Prints the metabox markup
  * @param $post the current post
  * TODO: support for other input types and select :D
  */
 public function metabox_html($post)
 {
     wp_nonce_field($this->metaname, $this->metaname . '_nonce');
     $values = $this->get_meta($post->ID);
     $rows = '';
     foreach ($this->fields as $field) {
         $th = HtmlHelper::standard_tag('th', $field['label'], array('class' => ''));
         switch ($field['type']) {
             case 'callback':
                 $input = $this->_markup_callback($field, $values, $post);
                 break;
             case 'select':
                 $input = $this->_markup_select($field, $values);
                 break;
             case 'single-attachment':
                 $input = $this->_markup_single_attachment($field, $values);
                 break;
             case 'chebox-list':
                 $input = $this->_markup_checkbox_list($field, $values);
                 break;
             case 'checkbox':
                 $input = $this->_markup_checkbox($field, $values);
                 break;
             case 'text':
             default:
                 $input = $this->_markup_text($field, $values);
                 break;
         }
         if (!empty($field['description'])) {
             $input .= HtmlHelper::br() . HtmlHelper::paragraph($field['description'], array('class' => 'description'));
         }
         $td = HtmlHelper::standard_tag('td', $input, array('class' => ''));
         $tr = HtmlHelper::standard_tag('tr', $th . "\n" . $td);
         $rows .= $tr;
     }
     echo HtmlHelper::standard_tag('table', HtmlHelper::standard_tag('tbody', $rows), array('class' => 'form-table'));
 }
 public function get_markup()
 {
     $slides = '';
     $indicators = '';
     $slide_sub = new SubstitutionTemplate();
     $slide_sub->set_tpl($this->tpl_slide);
     foreach ($this->images as $k => $v) {
         $active = $k == 0 ? 'active' : '';
         $caption = '';
         $style = 'width: 100%; height: 100%; background: url(\'' . $this->get_image_src($k) . '\') no-repeat center center scroll transparent;';
         if ($this->get_image_title($k)) {
             $caption .= HtmlHelper::standard_tag('h2', $this->get_image_title($k));
         }
         if ($this->get_image_caption($k)) {
             $caption .= HtmlHelper::paragraph($this->get_image_caption($k));
         }
         $image = $slide_sub->set_markup('class', implode(' ', array('item', $active)))->set_markup('image', HtmlHelper::div('', array('alt' => $this->get_image_alt($k), 'style' => $style)))->set_markup('caption', HtmlHelper::div($caption, array('class' => 'carousel-caption')))->replace_markup();
         $indicator = HtmlHelper::list_item($inner_html, array('data-target' => '#' . $this->unid, 'data-slide-to' => $k, 'class' => $active));
         $slides .= $image . "\n";
         $indicators .= $indicator . "\n";
     }
     $subs = new SubstitutionTemplate();
     return $subs->set_tpl($this->tpl)->set_markup('id', $this->unid)->set_markup('container_classes', $this->container_classes)->set_markup('indicators', HtmlHelper::ordered_list($indicators, array('class' => 'carousel-indicators')))->set_markup('slides', HtmlHelper::div($slides, array('class' => 'carousel-inner')))->replace_markup();
 }
 /**
  * Returns the markup for an adaptive image
  * @param int $attachment_id the iamge id
  * @param string $size the image size
  * @param array $attr img tag attributes
  * @return string html merkup
  */
 public function image($attachment_id, $size, $attr = array())
 {
     $default_attr = self::get_image($attachment_id, $size);
     @($attr['class'] = $default_attr['class'] . ' responsive-image-placeholder ' . $attr['class']);
     return HtmlHelper::span('', $default_attr) . HtmlHelper::standard_tag('noscript', wp_get_attachment_image($imageid, $size, false, $attr));
 }