Ejemplo n.º 1
0
 /**
  *
  * @param type $post_id
  */
 public function before_delete_post($post_id)
 {
     if (!$this->getAccessControl()->checkPostAccess($post_id, WPACCESS_ACCESS_DELETE)) {
         mvb_Model_Helper::doRedirect();
     }
 }
Ejemplo n.º 2
0
 /**
  * Main function for checking if user has access to a page
  *
  * Check if current user has access to requested page. If no, print an
  * notification
  *
  * @access public
  * @global object $wp_query
  * @global object $post
  * @return bool
  */
 public function checkAccess()
 {
     global $wp_query, $post;
     //skip Super Admin Role
     if (mvb_Model_API::isSuperAdmin()) {
         return TRUE;
     }
     if (is_admin()) {
         //check if user has access to requested Menu
         $uri = $_SERVER['REQUEST_URI'];
         if (!$this->getMenuFilter()->checkAccess($uri)) {
             mvb_Model_Helper::doRedirect();
         }
         //check if current user has access to requested Post
         $post_id = mvb_Model_Helper::getCurrentPostID();
         if ($post_id) {
             if (!$this->checkPostAccess($post_id, WPACCESS_ACCESS_EDIT)) {
                 mvb_Model_Helper::doRedirect();
             }
         } elseif (isset($_GET['taxonomy']) && isset($_GET['tag_ID'])) {
             // TODO - Find better way
             if (!$this->checkTaxonomyAccess($_GET['tag_ID'], WPACCESS_ACCESS_EDIT)) {
                 mvb_Model_Helper::doRedirect();
             }
         }
     } else {
         if (is_category()) {
             $cat_obj = $wp_query->get_queried_object();
             if (!$this->checkTaxonomyAccess($cat_obj->term_id, WPACCESS_ACCESS_BROWSE)) {
                 mvb_Model_Helper::doRedirect();
             }
         } else {
             if (!$wp_query->is_home() && isset($post->ID)) {
                 if (!$this->checkPostAccess($post->ID, WPACCESS_ACCESS_READ)) {
                     mvb_Model_Helper::doRedirect();
                 }
             }
         }
     }
 }