/**
  * Init Object
  *
  * @param int $user_id
  */
 public function __construct($caller, $user_id = FALSE)
 {
     $this->caller = $caller;
     $user_id = $user_id ? $user_id : get_current_user_id();
     $this->user_config = mvb_Model_API::getUserAccessConfig($user_id);
     $this->menu_filter = new mvb_Model_FilterMenu($this);
 }
function aam_set_current_user()
{
    global $current_user;
    //overwrite user capabilities
    //TODO - Not optimized
    $config = mvb_Model_API::getUserAccessConfig($current_user->ID);
    if ($config instanceof mvb_Model_UserConfig) {
        $current_user->allcaps = $config->getCapabilities();
        if ($config->getUser() instanceof WP_User) {
            foreach ($config->getUser()->getRoles() as $role) {
                $current_user->allcaps[$role] = 1;
            }
        }
    }
}
Beispiel #3
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;
 }
Beispiel #4
0
 protected function initConfig()
 {
     if ($this->current_user) {
         $this->config = mvb_Model_API::getUserAccessConfig($this->current_user);
     } else {
         $this->config = mvb_Model_API::getRoleAccessConfig($this->current_role);
     }
 }
 protected function filter_cap(&$all_caps, $user_id, $cap)
 {
     if (isset($all_caps[$cap]) && !mvb_Model_API::getUserAccessConfig($user_id)->hasCapability($cap)) {
         unset($all_caps[$cap]);
     }
 }
 /**
  * Initiate an object and other parameters
  * 
  * @param string $currentRole Current role to work with
  * @param string $currentUser Current user to work with
  * @param object Main Object
  */
 function __construct($pObj, $currentRole = FALSE, $currentUser = FALSE)
 {
     $this->pObj = $pObj;
     $this->templObj = new mvb_Model_Template();
     $templatePath = WPACCESS_TEMPLATE_DIR . 'admin_options.html';
     $this->template = $this->templObj->readTemplate($templatePath);
     $this->roles = mvb_Model_API::getRoleList();
     $this->custom_caps = mvb_Model_API::getBlogOption(WPACCESS_PREFIX . 'custom_caps', array());
     $this->setCurrentRole($currentRole);
     $this->setCurrentUser($currentUser);
     if ($this->currentUser) {
         $this->config = mvb_Model_API::getUserAccessConfig($this->currentUser);
     } else {
         $this->config = mvb_Model_API::getRoleAccessConfig($this->currentRole);
     }
     //get cache. Compatible with version previouse versions
     $cache = mvb_Model_API::getBlogOption(WPACCESS_PREFIX . 'cache', NULL);
     if (is_array($cache)) {
         //yeap this is new version
         $this->cache = $cache;
     } else {
         //TODO - will be deprecated
         $cache = mvb_Model_API::getBlogOption(WPACCESS_PREFIX . 'options', array());
         $this->cache = isset($cache['settings']) ? $cache['settings'] : array();
         mvb_Model_API::updateBlogOption(WPACCESS_PREFIX . 'cache', $this->cache);
     }
     $this->userSummary = count_users();
 }
 /**
  * Save menu order
  * 
  * @return array
  */
 protected function save_order()
 {
     $apply_all = $_POST['apply_all'];
     $role = $_POST['role'];
     $user = $_POST['user'];
     if ($user) {
         $config = mvb_Model_API::getUserAccessConfig($user);
         $config->setMenuOrder($_POST['menu']);
         $config->saveConfig();
     } else {
         if ($apply_all) {
             foreach (mvb_Model_API::getRoleList() as $role => $dummy) {
                 $config = mvb_Model_API::getRoleAccessConfig($role);
                 $config->setMenuOrder($_POST['menu']);
                 $config->saveConfig();
             }
         } else {
             $config = mvb_Model_API::getRoleAccessConfig($role);
             $config->setMenuOrder($_POST['menu']);
             $config->saveConfig();
         }
     }
     mvb_Model_Cache::clearCache();
     return array('status' => 'success');
 }