public static function renderSiteSelector($tmpl) { global $wpdb; $tmpl = mvb_Model_Template::retrieveSub('MULTISITE_SELECTOR', $tmpl); $content = ''; $render_mss = mvb_Model_Helper::getParam('render_mss', 'REQUEST'); if (mvb_Model_API::isNetworkPanel() || $render_mss) { $list_tmpl = mvb_Model_Template::retrieveSub('ROLE_LIST', $tmpl); $list = ''; $sites = mvb_Model_Helper::getSiteList(); $current = mvb_Model_Helper::getParam('site', 'REQUEST', get_current_blog_id()); if (is_array($sites)) { foreach ($sites as $site) { $blog_prefix = $wpdb->get_blog_prefix($site->blog_id); //get Site Name $query = "SELECT option_value FROM {$blog_prefix}options "; $query .= "WHERE option_name = 'blogname'"; $name = $wpdb->get_var($query); if ($site->blog_id == $current) { $is_current = 'selected'; $c_name = $name; } else { $is_current = ''; } $markers = array('###value###' => $site->blog_id, '###title###' => $name . ' ', '###selected###' => $is_current); $list .= mvb_Model_Template::updateMarkers($markers, $list_tmpl); } } $content = mvb_Model_Template::replaceSub('ROLE_LIST', $list, $tmpl); $markers = array('###current_site###' => mvb_Model_Helper::cutStr($c_name, 15), '###title_full###' => $c_name); $content = mvb_Model_Template::updateMarkers($markers, $content); } return $content; }
public function renderInfo() { $id = mvb_Model_Helper::getParam('id', 'POST'); $type = mvb_Model_Helper::getParam('type', 'POST'); if (mvb_Model_Helper::getParam('restore', 'POST')) { $user = mvb_Model_Helper::getParam('user', 'POST'); $role = mvb_Model_Helper::getParam('role', 'POST'); if ($user) { $config = mvb_Model_API::getUserAccessConfig($user); } else { $config = mvb_Model_API::getRoleAccessConfig($role); } $config->deleteRestriction($type, $id); $config->saveConfig(); } $tmpl = mvb_Model_Template::retrieveSub('POST_INFORMATION', $this->template); $result = mvb_Model_Manager_Restriction::renderInfo($id, $type, $this, $tmpl); return $result; }
/** * */ public function render_optionlist() { $role = mvb_Model_Helper::getParam('role', 'POST'); $user = mvb_Model_Helper::getParam('user', 'POST'); $m = new mvb_Model_Manager($this, $role, $user); $or_roles = mvb_Model_API::getBlogOption(WPACCESS_PREFIX . 'original_user_roles'); $content = $m->getMainOptionsList(); $content = $m->templObj->clearTemplate($content); $result = array('html' => apply_filters(WPACCESS_PREFIX . 'option_page', $content), 'restorable' => isset($or_roles[$role]) ? TRUE : FALSE); die(json_encode($result)); }
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 function render_optionlist() { $role = mvb_Model_Helper::getParam('role', 'POST'); $user = mvb_Model_Helper::getParam('user', 'POST'); $m = new mvb_Model_ManagerAjax($this, $role, $user); die(json_encode($m->manage_ajax('option_list'))); }
/** * Add New Capability * * @global type $wpdb * @return type */ protected function add_capability() { global $wpdb; $cap = strtolower(trim($_POST['cap'])); if ($cap) { $cap = sanitize_title_with_dashes($cap); $cap = str_replace('-', '_', $cap); $capList = mvb_Model_API::getCurrentUser()->getAllCaps(); if (!isset($capList[$cap])) { //create new capability $roles = mvb_Model_API::getRoleList(FALSE); if (isset($roles[WPACCESS_SADMIN_ROLE])) { $roles[WPACCESS_SADMIN_ROLE]['capabilities'][$cap] = 1; } $roles[WPACCESS_ADMIN_ROLE]['capabilities'][$cap] = 1; //add this role for admin automatically mvb_Model_API::updateBlogOption('user_roles', $roles); //check if this is for specific user //TODO $user = mvb_Model_Helper::getParam('user', 'POST'); if ($user) { $conf = mvb_Model_API::getUserAccessConfig($user); $conf->addCapability($cap); $conf->saveConfig(); } //save this capability as custom created $custom_caps = mvb_Model_API::getBlogOption(WPACCESS_PREFIX . 'custom_caps'); if (!is_array($custom_caps)) { $custom_caps = array(); } $custom_caps[] = $cap; mvb_Model_API::updateBlogOption(WPACCESS_PREFIX . 'custom_caps', $custom_caps); //render html $tmpl = new mvb_Model_Template(); $templatePath = WPACCESS_TEMPLATE_DIR . 'admin_options.html'; $template = $tmpl->readTemplate($templatePath); $listTemplate = $tmpl->retrieveSub('CAPABILITY_LIST', $template); $itemTemplate = $tmpl->retrieveSub('CAPABILITY_ITEM', $listTemplate); $markers = array('###role###' => $_POST['role'], '###title###' => $cap, '###description###' => '', '###checked###' => 'checked', '###cap_name###' => mvb_Model_Helper::getCapabilityHumanTitle($cap)); $titem = $tmpl->updateMarkers($markers, $itemTemplate); $titem = $tmpl->replaceSub('CAPABILITY_DELETE', $tmpl->retrieveSub('CAPABILITY_DELETE', $titem), $titem); $result = array('status' => 'success', 'html' => $tmpl->clearTemplate($titem)); } else { $result = array('status' => 'error', 'message' => 'Capability ' . $_POST['cap'] . ' already exists'); } mvb_Model_Cache::clearCache(); } else { $result = array('status' => 'error', 'message' => mvb_Model_Label::get('LABEL_124')); } return $result; }
/** * Save Restriction Information * * @access protected * @return array */ protected function save_info() { $role = mvb_Model_Helper::getParam('role', 'POST'); $user = mvb_Model_Helper::getParam('user', 'POST'); $apply_all = mvb_Model_Helper::getParam('apply', 'POST'); $apply_all_cb = mvb_Model_Helper::getParam('apply_all_cb', 'POST'); $info = mvb_Model_Helper::getParam('info', 'POST'); mvb_Model_API::updateBlogOption(WPACCESS_PREFIX . 'hide_apply_all', $apply_all_cb); if ($user) { $config = mvb_Model_API::getUserAccessConfig($user); $result = $this->updateRestriction($config, $info); } else { if ($apply_all) { foreach (mvb_Model_API::getRoleList() as $role => $dummy) { $config = mvb_Model_API::getRoleAccessConfig($role); $result = $this->updateRestriction($config, $info); if ($result['status'] == 'error') { break; } } } else { $config = mvb_Model_API::getRoleAccessConfig($role); $result = $this->updateRestriction($config, $info); } } return $result; }