/** * * @global array $submenu * @param string $tmpl * @param mvb_Model_Manager $parent * @return string */ public static function render($tmpl, $parent) { global $submenu; $sorted_menu = $parent->getRoleMenu(); $item_tmpl = mvb_Model_Template::retrieveSub('MAIN_MENU_ITEM', $tmpl); $sublist_tmpl = mvb_Model_Template::retrieveSub('MAIN_MENU_SUBLIST', $item_tmpl); $subitem_tmpl = mvb_Model_Template::retrieveSub('MAIN_MENU_SUBITEM', $sublist_tmpl); $list = ''; foreach ($sorted_menu as $menu) { if (self::isSeperator($menu)) { continue; } //render submenu $sub_list = ''; if (isset($submenu[$menu[2]]) && is_array($submenu[$menu[2]])) { foreach ($submenu[$menu[2]] as $sub_menu) { $markers = array('###submenu_name###' => utf8_encode(mvb_Model_Helper::removeHTML($sub_menu[0])), '###value###' => $sub_menu[2], '###checked###' => $parent->getConfig()->hasSubMenu($menu[2], $sub_menu[2]) ? 'checked' : ''); $sub_list .= mvb_Model_Template::updateMarkers($markers, $subitem_tmpl); } $sub_list = mvb_Model_Template::replaceSub('MAIN_MENU_SUBITEM', $sub_list, $sublist_tmpl); } $temp = mvb_Model_Template::replaceSub('MAIN_MENU_SUBLIST', $sub_list, $item_tmpl); $whole = $parent->getConfig()->getMenu($menu[2]); $markers = array('###name###' => utf8_encode(mvb_Model_Helper::removeHTML($menu[0])), '###id###' => $menu[5], '###menu###' => $menu[2], '###whole_checked###' => isset($whole['whole']) ? 'checked' : ''); $list .= mvb_Model_Template::updateMarkers($markers, $temp); } return mvb_Model_Template::replaceSub('MAIN_MENU_ITEM', $list, $tmpl); }
public static function renderRoleRow($role, $data, $tmpl) { $count = 0; if (isset(self::$user_summary['avail_roles'][$role])) { $count = self::$user_summary['avail_roles'][$role]; } $markers = array('###role_id###' => esc_js($role), '###role_name###' => utf8_encode(stripcslashes($data['name'])), '###count###' => $count); if ($count) { $content = mvb_Model_Template::replaceSub('DELETE_ROLE_BUTTON', '', $tmpl); } else { $delete_tmpl = mvb_Model_Template::retrieveSub('DELETE_ROLE_BUTTON', $tmpl); $content = mvb_Model_Template::replaceSub('DELETE_ROLE_BUTTON', $delete_tmpl, $tmpl); } return mvb_Model_Template::updateMarkers($markers, $content); }
public static function renderMetabox($tmpl, $list, $type) { $content = ''; foreach ($list as $position => $set) { foreach ($set as $priority => $metaboxes) { if (is_array($metaboxes)) { foreach ($metaboxes as $id => $data) { if (is_array($data)) { $data['title'] = mvb_Model_Helper::removeHTML($data['title']); $markers = array('###title###' => utf8_encode(mvb_Model_Helper::removeHTML($data['title'])), '###short_id###' => mvb_Model_Helper::cutStr($data['id'], 25), '###id###' => $data['id'], '###priority###' => $priority, '###internal_id###' => $type . '-' . $id, '###position###' => $position, '###checked###' => self::$parent->getConfig()->hasMetabox($type . '-' . $id) ? 'checked' : ''); $content .= mvb_Model_Template::updateMarkers($markers, $tmpl); } } } } } return $content; }
/* Copyright (C) <2011> Vasyl Martyniuk <*****@*****.**> This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ require_once '../../../../wp-admin/admin.php'; require_once 'Zend/Markup.php'; require_once 'bbcodes.php'; wp_enqueue_style('aam-treeview', WPACCESS_CSS_URL . 'treeview/jquery.treeview.css'); wp_enqueue_style('aam-reference', WPACCESS_CSS_URL . 'reference.css'); wp_enqueue_script('jquery-treeview', WPACCESS_JS_URL . 'treeview/jquery.treeview.js', array('jquery')); wp_enqueue_script('jquery-treeedit', WPACCESS_JS_URL . 'treeview/jquery.treeview.edit.js'); wp_enqueue_script('admin-reference', WPACCESS_JS_URL . 'admin-reference.js'); iframe_header('ConfigPress Reference'); $template = mvb_Model_Template::readTemplate(WPACCESS_TEMPLATE_DIR . 'reference.html'); mvb_Model_Label::initConfigPressGuideLabels(); $bbcode = Zend_Markup::factory('Bbcode'); foreach ($bbcode_list as $code => $config) { $bbcode->addMarkup($code, Zend_Markup_Renderer_RendererAbstract::TYPE_REPLACE, $config); } $template = mvb_Model_Label::clearLabels($template, $bbcode); echo mvb_Model_Template::clearTemplate($template); iframe_footer();
public function updateMarkers($tmpl) { //TODO - render_mss do not like it $render_mss = mvb_Model_Helper::getParam('render_mss', 'REQUEST'); if (mvb_Model_API::isNetworkPanel() || $render_mss) { $submit_link = network_admin_url('admin.php?page=wp_access'); $blog_id = mvb_Model_Helper::getParam('site', 'REQUEST', get_current_blog_id()); $submit_link = add_query_arg('site', $blog_id, $submit_link); } else { $submit_link = admin_url('admin.php?page=wp_access'); } $submited = mvb_Model_Helper::getParam('submited', 'POST'); $show_msg = mvb_Model_Helper::getParam('show_message'); $message_class = $submited || $show_msg ? 'message-active' : 'message-passive'; $markers = array('###info_image###' => WPACCESS_CSS_URL . 'images/Info-tooltip.png', '###critical_image###' => WPACCESS_CSS_URL . 'images/Critical-tooltip.png', '###current_role###' => $this->roles[$this->getCurrentRole()]['name'], '###error_indicator###' => $this->error ? 1 : 0, '###error_message###' => $this->error_message, '###current_role_id###' => $this->current_role, '###site_url###' => site_url(), '###nonce###' => wp_nonce_field(WPACCESS_PREFIX . 'options', '_wpnonce', TRUE, FALSE), '###form_action###' => $submit_link, '###message_class###' => $message_class, '###reference_url###' => WPACCESS_BASE_URL . 'view/reference.php'); //get current user data if ($this->current_user) { $user = get_userdata($this->current_user); $markers['###current_user###'] = $user->user_login; $markers['###current_user_id###'] = $user->ID; } else { $markers['###current_user_id###'] = 0; $markers['###current_user###'] = mvb_Model_Label::get('LABEL_120'); } return mvb_Model_Template::updateMarkers($markers, $tmpl); }
public static function renderUserSelector($tmpl, $parent) { $tmpl = mvb_Model_Template::retrieveSub('USER_LIST', $tmpl); $list = ''; $users = mvb_Model_Helper::getUserList($parent->getCurrentRole()); $default = new stdClass(); $default->ID = 0; $default->user_login = mvb_Model_Label::get('LABEL_120'); array_unshift($users, $default); foreach ($users as $user) { $selected = $parent->getCurrentUser() == $user->ID ? 'selected' : ''; $markers = array('###value###' => $user->ID, '###title###' => stripcslashes($user->user_login) . ' ', '###selected###' => $selected); $list .= mvb_Model_Template::updateMarkers($markers, $tmpl); } return $list; }
public function renderOptionList() { $this->template = mvb_Model_Template::retrieveSub('MAIN_OPTIONS_LIST', $this->template); //render Admin Menu Tab $tmpl = mvb_Model_Template::replaceSub('MAIN_MENU_TAB', $this->renderMenuTab(), $this->template); //render Metabox & Widgets Tab $tmpl = mvb_Model_Template::replaceSub('METABOX_TAB', $this->renderMetaboxTab(), $tmpl); //render Capabilities Tab $tmpl = mvb_Model_Template::replaceSub('CAPABILITY_TAB', $this->renderCapabilityTab(), $tmpl); //render Restriction Tab $tmpl = mvb_Model_Template::replaceSub('RESTRICTION_TAB', $this->renderRestrictionTab(), $tmpl); //render ConfigPress Tab $tmpl = mvb_Model_Template::replaceSub('CONFIG_PRESS_TAB', $this->renderConfigPressTab(), $tmpl); $tmpl = $this->updateMarkers($tmpl); $tmpl = mvb_Model_Label::clearLabels($tmpl); $tmpl = mvb_Model_Template::clearTemplate($tmpl); $result = array('html' => apply_filters(WPACCESS_PREFIX . 'option_page', $tmpl), 'status' => 'success'); return $result; }
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; }
/** * Clear template from labels * * @param type $template * @return type */ public static function clearLabels($template, $bbcode = NULL) { //try to replace all labels $l_list = array(); $i = 1; for ($i = 1; $i <= 300; $i++) { if (($label = self::get('LABEL_' . $i)) !== FALSE) { $l_list['###LABEL_' . $i . '###'] = is_null($bbcode) ? $label : $bbcode->render($label); } } return mvb_Model_Template::updateMarkers($l_list, $template); }
/** * Get Information about current post or page * * @global type $wp_post_statuses * @global type $wp_post_types * @return type */ protected function get_info() { global $wp_post_statuses, $wp_post_types; $id = intval($_POST['id']); $type = trim($_POST['type']); $role = $_POST['role']; $user = $_POST['user']; if ($user) { $config = mvb_Model_API::getUserAccessConfig($user); } else { $config = mvb_Model_API::getRoleAccessConfig($role); } //render html $tmpl = new mvb_Model_Template(); $templatePath = WPACCESS_TEMPLATE_DIR . 'admin_options.html'; $template = $tmpl->readTemplate($templatePath); $template = $tmpl->retrieveSub('POST_INFORMATION', $template); $result = array('status' => 'error'); switch ($type) { case 'post': //get information about page or post $post = get_post($id); if ($post->ID) { $template = $tmpl->retrieveSub('POST', $template); if ($config->hasRestriction('post', $id)) { $restiction = $config->getRestriction('post', $id); $checked = $restiction['restrict'] ? 'checked' : ''; $checked_front = $restiction['restrict_front'] ? 'checked' : ''; $exclude = $config->hasExclude($id) ? 'checked' : ''; $expire = $restiction['expire'] ? date('m/d/Y', $restiction['expire']) : ''; } $markerArray = array('###post_title###' => mvb_Model_Helper::editPostLink($post), '###disabled_apply_all###' => $user ? 'disabled="disabled"' : '', '###restrict_checked###' => isset($checked) ? $checked : '', '###restrict_front_checked###' => isset($checked_front) ? $checked_front : '', '###restrict_expire###' => isset($expire) ? $expire : '', '###exclude_page_checked###' => isset($exclude) ? $exclude : '', '###post_type###' => ucfirst($post->post_type), '###post_status###' => $wp_post_statuses[$post->post_status]->label, '###post_visibility###' => mvb_Model_Helper::checkVisibility($post), '###ID###' => $post->ID); //check what type of post is it and render exclude if page $render_exclude = FALSE; if (isset($wp_post_types[$post->post_type])) { switch ($wp_post_types[$post->post_type]->capability_type) { case 'page': $render_exclude = TRUE; break; default: break; } } if ($render_exclude) { $excld_tmlp = $tmpl->retrieveSub('EXCLUDE_PAGE', $template); } else { $excld_tmlp = ''; } $template = $tmpl->replaceSub('EXCLUDE_PAGE', $excld_tmlp, $template); $template = $tmpl->updateMarkers($markerArray, $template); $result = array('status' => 'success', 'html' => $tmpl->clearTemplate($template)); } break; case 'taxonomy': //get information about category $taxonomy = mvb_Model_Helper::getTaxonomyByTerm($id); $term = get_term($id, $taxonomy); if ($term->term_id) { $template = $tmpl->retrieveSub('CATEGORY', $template); if ($config->hasRestriction('taxonomy', $id)) { $tax = $config->getRestriction('taxonomy', $id); $checked = $tax['restrict'] ? 'checked' : ''; $checked_front = $tax['restrict_front'] ? 'checked' : ''; $expire = $tax['expire'] ? date('m/d/Y', $tax['expire']) : ''; } $markerArray = array('###name###' => mvb_Model_Helper::editTermLink($term), '###disabled_apply_all###' => $user ? 'disabled="disabled"' : '', '###restrict_checked###' => isset($checked) ? $checked : '', '###restrict_front_checked###' => isset($checked_front) ? $checked_front : '', '###restrict_expire###' => isset($expire) ? $expire : '', '###post_number###' => $term->count, '###ID###' => $term->term_id); $template = $tmpl->updateMarkers($markerArray, $template); $result = array('status' => 'success', 'html' => $tmpl->clearTemplate($template)); } break; default: break; } return $result; }
public static function renderRow($cap, $tmpl, $parent, $allow_delete) { $desc = str_replace("\n", '<br/>', mvb_Model_Label::get($cap)); if (!$desc) { $desc = mvb_Model_Label::get('LABEL_117'); } $title = mvb_Model_Helper::getHumanTitle($cap); $markers = array('###title###' => $cap, '###premium###' => self::isPremium($cap), '###description###' => $desc, '###checked###' => $parent->getConfig()->hasCapability($cap) ? 'checked' : '', '###cap_name###' => mvb_Model_Helper::cutStr($title, 22), '###cap_name_full###' => $title); $content = mvb_Model_Template::updateMarkers($markers, $tmpl); if ($allow_delete) { $del_tmpl = mvb_Model_Template::retrieveSub('CAPABILITY_DELETE', $content); $content = mvb_Model_Template::replaceSub('CAPABILITY_DELETE', $del_tmpl, $content); } else { $content = mvb_Model_Template::replaceSub('CAPABILITY_DELETE', '', $content); } return $content; }
/** * * @global array $submenu * @param string $tmpl * @param mvb_Model_Manager $parent * @return string */ public static function render($tmpl, $parent) { $markers = array('###access_config###' => mvb_Model_ConfigPress::readConfig()); return mvb_Model_Template::updateMarkers($markers, $tmpl); }