/** * Authentication by array * * @param TlalokesRegistry $reg */ public static function validate ( TlalokesRegistry &$reg ) { if ( count( $_SESSION['profiles'] ) >= 1 ) { // check if role is enabled $roles = AuthRolesBss::getByPK( $_SESSION['role'] ); if ( is_string( $roles ) ) { tlalokes_error_msg( $roles ); } else { if ( $roles['role_status'] == 0 ) { tlalokes_error_msg( 'Authentication: Your role is not enabled' ); } } // check if controller is available in profile foreach ( $_SESSION['profiles'] as $profile ) { // get permission $p = AuthAccessPermissionsBss::getByCtl( $reg->conf['current']['controller'], $profile ); if ( !is_string( $p ) ) { // validate method access $methods = explode( ',', $p['methods'] ); foreach ( $methods as $method ) { if ( $reg->conf['current']['action'] == $method ) { tlalokes_error_msg( 'Authentication: Your profile has no '. 'access to this action' ); } } } unset( $p ); } } }
/** * Filter AuthAccessPermissions * * @ActionDefinition( layout='auth_layout.tpl', zone='content:access_permissions_display;', propel ) */ public function filter () { $response = AuthAccessPermissionsBss::filter( $this->request ); if ( is_array( $response ) ) { $this->response->vars = $_SERVER['QUERY_STRING']; $this->response->pager = $response['pager']; $this->response->list = $response['data']; // get reference's content for auth_access_profiles $auth_access_profiles = AuthAccessProfilesBss::getAll( $this->request ); $this->response->auth_access_profiles = $auth_access_profiles['data']; } else { $this->response->exception = $response; $list = AuthAccessPermissionsBss::getAll( $this->request ); $this->response->list = $list['pager']; $this->response->data = $list['data']; } }