/** * * @param type $post_id */ public function before_delete_post($post_id) { if (!$this->getAccessControl()->checkPostAccess($post_id, WPACCESS_ACCESS_DELETE)) { mvb_Model_Helper::doRedirect(); } }
/** * 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(); } } } } }