コード例 #1
0
ファイル: menu.php プロジェクト: Netsoro/gdnlteamgroup
 /**
  *
  * @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);
 }
コード例 #2
0
ファイル: rolemetabox.php プロジェクト: Netsoro/gdnlteamgroup
 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);
 }
コード例 #3
0
ファイル: metabox.php プロジェクト: Netsoro/gdnlteamgroup
 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;
 }
コード例 #4
0
ファイル: reference.php プロジェクト: Netsoro/gdnlteamgroup
/*
  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();
コード例 #5
0
ファイル: manager.php プロジェクト: Netsoro/gdnlteamgroup
 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);
 }
コード例 #6
0
 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) . '&nbsp;', '###selected###' => $selected);
         $list .= mvb_Model_Template::updateMarkers($markers, $tmpl);
     }
     return $list;
 }
コード例 #7
0
ファイル: managerajax.php プロジェクト: Netsoro/gdnlteamgroup
 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;
 }
コード例 #8
0
ファイル: restriction.php プロジェクト: Netsoro/gdnlteamgroup
 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('&nbsp;');
                 }
                 $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;
 }
コード例 #9
0
ファイル: label.php プロジェクト: Netsoro/gdnlteamgroup
 /**
  * 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);
 }
コード例 #10
0
 /**
  * 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;
 }
コード例 #11
0
ファイル: capability.php プロジェクト: Netsoro/gdnlteamgroup
 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;
 }
コード例 #12
0
ファイル: configpress.php プロジェクト: Netsoro/gdnlteamgroup
 /**
  *
  * @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);
 }