Example #1
0
 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;
 }
Example #2
0
 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));
 }
Example #4
0
 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);
 }
Example #5
0
 /**
  *
  */
 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;
 }
Example #7
0
 /**
  * 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;
 }