示例#1
0
 /**
  *
  * @global array $submenu
  * @param string $tmpl
  * @param mvb_Model_Manager $parent
  * @return string
  */
 public static function render($tmpl, $parent)
 {
     global $wp_post_types;
     self::$parent = $parent;
     //get cache. Compatible with version previouse versions
     $cache = mvb_Model_API::getBlogOption(WPACCESS_PREFIX . 'cache', NULL);
     if (!is_array($cache)) {
         //yeap this is new version
         $cache = mvb_Model_API::getBlogOption(WPACCESS_PREFIX . 'options', array());
         $cache = isset($cache['settings']) ? $cache['settings'] : array();
         mvb_Model_API::updateBlogOption(WPACCESS_PREFIX . 'cache', $cache);
     }
     $row_tmpl = mvb_Model_Template::retrieveSub('METABOX_LIST_ITEM', $tmpl);
     $list = '';
     if (isset($cache['metaboxes']) && is_array($cache['metaboxes'])) {
         $list_tmpl = mvb_Model_Template::retrieveSub('POST_METABOXES_LIST', $row_tmpl);
         $item_tmpl = mvb_Model_Template::retrieveSub('POST_METABOXES_ITEM', $list_tmpl);
         $widget_tmpl = mvb_Model_Template::retrieveSub('WIDGET_ITEM', $list_tmpl);
         foreach ($cache['metaboxes'] as $type => $metaboxes) {
             $render = TRUE;
             switch ($type) {
                 case 'widgets':
                     $temp = self::renderWidget($widget_tmpl, $metaboxes);
                     $label = mvb_Model_Label::get('LABEL_79');
                     break;
                 case 'dashboard':
                     $temp = self::renderMetabox($item_tmpl, $metaboxes, $type);
                     $label = mvb_Model_Label::get('LABEL_116');
                     break;
                 default:
                     if (isset($wp_post_types[$type])) {
                         $temp = self::renderMetabox($item_tmpl, $metaboxes, $type);
                         $label = $wp_post_types[$type]->labels->name;
                     } else {
                         $render = FALSE;
                     }
                     break;
             }
             if ($render) {
                 $temp = mvb_Model_Template::replaceSub('POST_METABOXES_LIST', $temp, $row_tmpl);
                 $list .= mvb_Model_Template::updateMarkers(array('###post_type_label###' => $label), $temp);
             }
         }
         $content = mvb_Model_Template::replaceSub('METABOX_LIST_ITEM', $list, $tmpl);
         $content = mvb_Model_Template::replaceSub('METABOX_LIST_EMPTY', '', $content);
     } else {
         $empty_tmpl = mvb_Model_Template::retrieveSub('METABOX_LIST_EMPTY', $tmpl);
         $content = mvb_Model_Template::replaceSub('METABOX_LIST_ITEM', '', $tmpl);
         $content = mvb_Model_Template::replaceSub('METABOX_LIST_EMPTY', $empty_tmpl, $content);
     }
     return $content;
 }
示例#2
0
 public function renderMetaboxTab()
 {
     $template = mvb_Model_Template::retrieveSub('METABOX_TAB', $this->template);
     return mvb_Model_Manager_Metabox::render($template, $this);
 }
示例#3
0
 public function renderMetaboxList()
 {
     $template = mvb_Model_Template::retrieveSub('METABOX_TAB', $this->template);
     $content = mvb_Model_Manager_Metabox::render($template, $this);
     $content = $this->updateMarkers($content);
     $content = mvb_Model_Label::clearLabels($content);
     $result = array('status' => 'success', 'html' => mvb_Model_Template::clearTemplate($content));
     return $result;
 }