public function checkAccess($p = P, $do = P_DO, $user_id = 0)
    {
        // Guest module can be opened by anyone
        if ($p === 'guest') {
            return true;
        }

        // Only logged-in Users can proceed further
        if (!$this->isLogged()) {
            return false;
        }

        // Get User id
        if (!$user_id) {
            $user_id = USER_ID;
        }

        // Check maybe User have group with full access
        $group_id = $this->getUserData('group_id', $user_id);
        if (self::getInstance()->getGroupData('full_access', $group_id)) {
            return true;
        }

        // Check or init cache
        if (!self::$access) {
            $group_access_collection = new GroupAccessRepository();
            $group_access_collection->setWhereGroupId((int)$group_id);
            foreach ($group_access_collection->getAsArrayOfObjectData() as $group_access) {
                /** @var GroupAccess $group_access */
                self::$access[$group_access['p']][$group_access['do']] = true;
            }
        }

        // Check access for exact admin panel page and action
        return isset(self::$access[$p][$do]);
    }
public function checkAccess($p = P, $do = P_DO, $user_id = 0)
    {
        // Guest module can be opened by anyone
        if ($p === 'guest') {
            return true;
        }

        // Only logged-in Users can proceed further
        if (!$this->isLogged()) {
            return false;
        }

        // Get User id
        if (!$user_id) {
            $user_id = USER_ID;
        }

        // Check maybe User have group with full access
        $group_id = $this->getUserData('group_id', $user_id);
        if (self::getInstance()->getGroupData('full_access', $group_id)) {
            return true;
        }

        // Check or init cache
        if (!self::$access) {
            $group_access_collection = new GroupAccessRepository();
            $group_access_collection->setWhereGroupId((int)$group_id);
            foreach ($group_access_collection->getAsArrayOfObjectData() as $group_access) {
                /** @var GroupAccess $group_access */
                self::$access[$group_access['p']][$group_access['do']] = true;
            }
        }

        // Check access for exact admin panel page and action
        return isset(self::$access[$p][$do]);
    }
public function checkAccess ( $ p = P , $ do = P_DO , $ user_id = 0 ) { // Guest module can be opened by anyone if ( $ p === 'guest' ) { return true ; } // Only logged-in Users can proceed further if ( ! $ this -> isLogged ( ) ) { return false ; } // Get User id if ( ! $ user_id ) { $ user_id = USER_ID ; } // Check maybe User have group with full access $ group_id = $ this -> getUserData ( 'group_id' , $ user_id ) ; if ( self :: getInstance ( ) -> getGroupData ( 'full_access' , $ group_id ) ) { return true ; } // Check or init cache if ( ! self :: $ access ) { $ group_access_collection = new GroupAccessRepository ( ) ; $ group_access_collection -> setWhereGroupId ( ( int ) $ group_id ) ; foreach ( $ group_access_collection -> getAsArrayOfObjectData ( ) as $ group_access ) { /** @var GroupAccess $group_access */ self :: $ access [ $ group_access [ 'p' ] ] [ $ group_access [ 'do' ] ] = true ; } } // Check access for exact admin panel page and action return isset ( self :: $ access [ $ p ] [ $ do ] ) ; }
Check whether user have access to open selected page

@param string $p
@param string $do
@param int    $user_id

@return bool
Check whether user have access to open selected page