public static function renderInfo($id, $type, $parent, $tmpl) { global $wp_post_statuses, $wp_post_types; switch ($type) { case 'post': //get information about page or post $post = get_post($id); if ($post->ID) { $tmpl = mvb_Model_Template::retrieveSub('POST', $tmpl); $tmpl = phpQuery::newDocument($tmpl); $data = $parent->getConfig()->getRestriction('post', $id); foreach ($data as $key => $value) { $tmpl['#' . $key]->attr('checked', 'checked'); } if ($parent->getCurrentUser()) { $tmpl['.save-postinfo-all']->attr('disabled', 'disabled'); } $tmpl['.category-title']->html(mvb_Model_Helper::editPostLink($post)); //check what type of post is it and render exclude if page if (isset($wp_post_types[$post->post_type])) { if ($wp_post_types[$post->post_type]->capability_type != 'page') { $tmpl['#exclude']->remove(); } } $tmpl = $tmpl->htmlOuter(); } break; case 'taxonomy': //get information about category $taxonomy = mvb_Model_Helper::getTaxonomyByTerm($id); $term = get_term($id, $taxonomy); if ($term->term_id) { $tmpl = mvb_Model_Template::retrieveSub('CATEGORY', $tmpl); $tmpl = phpQuery::newDocument($tmpl); $data = $parent->getConfig()->getRestriction('taxonomy', $id); foreach ($data as $key => $value) { $tmpl['#' . $key]->attr('checked', 'checked'); } if ($parent->getCurrentUser()) { $tmpl['.save-postinfo-all']->attr('disabled', 'disabled'); } $tmpl['.category-title']->html(mvb_Model_Helper::editTermLink($term)); $tmpl['.subposts']->html(sprintf(mvb_Model_Label::get('LABEL_178'), $term->name)); if (mvb_Model_Helper::isPremium()) { $tmpl['.premium']->removeClass('premium'); $tmpl['#premium-ind']->html(' '); } $tmpl = $tmpl->htmlOuter(); } break; default: $tmpl = ''; break; } $tmpl = mvb_Model_Label::clearLabels($tmpl); $result = array('status' => 'success', 'html' => mvb_Model_Template::clearTemplate($tmpl)); return $result; }
public function renderVersionIndicator() { $template = mvb_Model_Template::retrieveSub('VERSION', $this->template); if (mvb_Model_Helper::isPremium()) { $tmpl = mvb_Model_Template::retrieveSub('VERSION_PREMIUM', $template); $template = mvb_Model_Template::replaceSub('VERSION_BASIC', '', $template); $template = mvb_Model_Template::replaceSub('VERSION_PREMIUM', $tmpl, $template); } else { $tmpl = mvb_Model_Template::retrieveSub('VERSION_BASIC', $template); $template = mvb_Model_Template::replaceSub('VERSION_PREMIUM', '', $template); $template = mvb_Model_Template::replaceSub('VERSION_BASIC', $tmpl, $template); } return $template; }
public function map_meta_cap($caps, $cap, $user_id, $args) { switch ($cap) { case 'edit_comment': case 'moderate_comments': if (mvb_Model_Helper::getParam('trash', 'POST', FALSE) && mvb_Model_Helper::isPremium()) { $caps[] = 'trash_comment'; } elseif (mvb_Model_Helper::getParam('untrash', 'POST', FALSE)) { $caps[] = 'untrash_comment'; } elseif (mvb_Model_Helper::getParam('spam', 'POST', FALSE) && mvb_Model_Helper::isPremium()) { $caps[] = 'spam_comment'; } elseif (mvb_Model_Helper::getParam('unspam', 'POST', FALSE)) { $caps[] = 'unspam_comment'; } elseif (mvb_Model_Helper::getParam('delete', 'POST', FALSE) && mvb_Model_Helper::isPremium()) { $caps[] = 'delete_comment'; } elseif (mvb_Model_Helper::getParam('action', 'POST', FALSE) == 'dim-comment') { if ($comment = get_comment($args[0])) { $current = wp_get_comment_status($comment->comment_ID); if (in_array($current, array('unapproved', 'spam'))) { if (mvb_Model_Helper::isPremium()) { $caps[] = 'approve_comment'; } } else { $caps[] = 'unapprove_comment'; } } } else { $caps[] = 'edit_comment'; } break; case 'edit_post': if (mvb_Model_Helper::getParam('action', 'POST', FALSE) == 'replyto-comment') { $caps[] = 'reply_comment'; } break; default: break; } return $caps; }
private static function isPremium($capability) { return in_array($capability, self::$premium_caps) && !mvb_Model_Helper::isPremium() ? 'premium' : ''; }
protected function populateRestriction($type) { $result = array(); if (mvb_Model_Helper::isPremium()) { $result = mvb_Model_Pro::populateRestriction($type); } return $result; }
protected function prepareRestrictions($data) { $prep = array(); if ($data['type'] == 'taxonomy') { $prep['taxonomy'] = mvb_Model_Helper::getTaxonomyByTerm($data['id']); } if (isset($data['data']) && is_array($data['data'])) { foreach ($data['data'] as $input) { if ($data['type'] == 'taxonomy' && strpos($input['name'], '_post_') !== FALSE && !mvb_Model_Helper::isPremium()) { continue; } $prep[$input['name']] = $input['value']; } } return $prep; }