예제 #1
0
	final public static function removeRoles( $roles ) {
		
		foreach ( explode(',',$roles) as $role ) {
			
			$role = trim($role);
			
			if ( $r = Role::findByName($role) ) {
			
				UserRole::deleteWhere('UserRole','role_id='.$r->id);
				if ( UserRole::countFrom('UserRole','role_id='.$r->id) > 0 ) return self::__ERROR( __('Could not remove User->Role link') . ': ' . $role );
				
				RolePermission::deleteWhere('RolePermission','role_id='.$r->id);
				if ( RolePermission::countFrom('RolePermission','role_id='.$r->id) > 0 ) return self::__ERROR( __('Could not remove Role->Permission link') . ': ' . $role );
				
				if ( ! $r->delete() ) return  self::__ERROR( __('Could not remove Role') . ': ' . $role );
			
			}
		
		}
		
		return true;
	}