Public Member Functions | Static Public Member Functions | Public Attributes | Protected Attributes | Static Private Member Functions

GauffrUser Class Reference

GauffrUser persistant object. More...

Inheritance diagram for GauffrUser:
GauffrPersistentObject

List of all members.

Public Member Functions

 getState ()
 getCredential ()
 hasCredentialByID ($id)
 hasCredentialByIdentifier ($identifier)
 getExtended ()

Static Public Member Functions

static fetchUserByID ($id)
static fetchWithRelatedObjectsUserByID ($id)
static fetchUserByLogin ($login)
static fetchUserByAltLogin ($alt_login)
static fetchUserByMail ($mail)

Public Attributes

 $GroupID
 $Login
 $Mail
 $Credential = array()
 $Extended = array()

Protected Attributes

 $ID

Static Private Member Functions

static getPrefetchRelations ()

Detailed Description

GauffrUser persistant object.

The GauffrUser classes.

Allow persistence for object GauffrUser.

Version:
0.4

Definition at line 19 of file gauffruser.php.


Member Function Documentation

static GauffrUser::fetchUserByAltLogin ( alt_login  )  [static]

Fetch user by Login

$user = GauffrUser::fetchUserByAltLogin( 'TestTest' );

Parameters:
string $alt_login
Returns:
GauffrUser

Definition at line 149 of file gauffruser.php.

References GauffrPersistentObject::getPersistentSessionInstance(), and GauffrPersistentObject::unique().

Referenced by Gauffr::authenticationDatabaseFilter().

    {
        $extended = GauffrUserExtended::unique( self::fetchPersistantObjectByAttribute( 'GauffrUserExtended', 'AltLogin', $alt_login ) );
        if ( !$extended )
            return false;

        $session = self::getPersistentSessionInstance();
        $user = GauffrUser::unique( $session->getRelatedObjects( $extended, 'GauffrUser' ) );
        $user->Extended = $extended;

        return $user;
    }

static GauffrUser::fetchUserByID ( id  )  [static]

Fetch user by ID

$user = GauffrUser::fetchUserByID( 1 );

Parameters:
mixed $id
Returns:
GauffrUser

Definition at line 82 of file gauffruser.php.

References GauffrPersistentObject::getPersistentSessionInstance().

    {
        $session = self::getPersistentSessionInstance();

        try {
            return  $session->load( 'GauffrUser', $id );
        }
        catch ( ezcPersistentObjectNotFoundException $e ) {
            return false;
        }
    }

static GauffrUser::fetchUserByLogin ( login  )  [static]

Fetch user by Login

$user = GauffrUser::fetchUserByLogin( 'test' );

Parameters:
string $login
Returns:
GauffrUser

Definition at line 132 of file gauffruser.php.

References GauffrPersistentObject::fetchPersistantObjectByAttribute().

    {
        return self::fetchPersistantObjectByAttribute( 'GauffrUser', 'Login', $login );
    }

static GauffrUser::fetchUserByMail ( mail  )  [static]

Fetch user by Mail

$user = GauffrUser::fetchUserByLogin( 'test.com' );

Parameters:
string $mail
Returns:
GauffrUser

Definition at line 174 of file gauffruser.php.

References GauffrPersistentObject::fetchPersistantObjectByAttribute().

    {
        return self::fetchPersistantObjectByAttribute( 'GauffrUser', 'Mail', $mail );
    }

static GauffrUser::fetchWithRelatedObjectsUserByID ( id  )  [static]

Fetch user by ID with all related objects

Parameters:
mixed $id
Returns:
GauffrUser

Definition at line 102 of file gauffruser.php.

References GauffrPersistentObject::getPersistentSessionInstance().

    {
        $session = self::getPersistentSessionInstance();

        try {
            $user =  $session->load( 'GauffrUser', $id );
        }
        catch ( ezcPersistentObjectNotFoundException $e ) {
            return false;
        }

        /* Add RO */
        $user->Credential = $user->getCredential();
        $user->Extended = $user->getExtended();

        return $user;
    }

GauffrUser::getCredential (  ) 

Get credential for a GauffrUser

Returns:
Array of GauffrCredential

Definition at line 190 of file gauffruser.php.

References GauffrPersistentObject::getPersistentSessionIdentity(), and GauffrPersistentObject::getPersistentSessionInstance().

Referenced by hasCredentialByID(), and hasCredentialByIdentifier().

    {
        /* 1: Try to load session identity */
        $identitySession = self::getPersistentSessionIdentity();
        try {
            return $identitySession->getRelatedObjects( $this, 'GauffrCredential' );
        }

        /* 2: Use query */
        catch (ezcPersistentIdentityMissingException $e) {
             $session = self::getPersistentSessionInstance();
             return $session->getRelatedObjects( $this, 'GauffrCredential' );
        }
    }

GauffrUser::getExtended (  ) 

Get GauffrUser extended informations

Returns:
array

Definition at line 261 of file gauffruser.php.

References GauffrPersistentObject::getPersistentSessionIdentity(), and GauffrPersistentObject::getPersistentSessionInstance().

    {
        /* 1: Try to load session identity */
        $identitySession = self::getPersistentSessionIdentity();
        try {
            $extended = $identitySession->getRelatedObjects( $this, 'GauffrUserExtended' );
            return reset($extended);
        }

        /* 2: Use query */
        catch (ezcPersistentIdentityMissingException $e) {
            $session = self::getPersistentSessionInstance();
            $extended = $session->getRelatedObjects( $this, 'GauffrUserExtended' );
            return reset($extended);
        }
    }

static GauffrUser::getPrefetchRelations (  )  [static, private]

Get prefetched relation

Returns:
array

Definition at line 55 of file gauffruser.php.

    {
        return array(
            'GauffrCredential' =>  new ezcPersistentRelationFindDefinition(
                'GauffrCredential'
            ),
            'GauffrUserExtended' =>  new ezcPersistentRelationFindDefinition(
                'GauffrUserExtended'
            )
        );
    }

GauffrUser::getState (  ) 

Get PersistantObject state

Returns:
array

Definition at line 38 of file gauffruser.php.

    {
        return array(
            'ID' => $this->ID,
            'GroupID' => $this->GroupID,
            'Login' => $this->Login,
            'Mail' => $this->Mail,
        );
    }

GauffrUser::hasCredentialByID ( id  ) 

The GauffrUser has access to GauffrSlave by GauffrSlave's identifier ?

Parameters:
$id 
Returns:
boolean

Definition at line 213 of file gauffruser.php.

References getCredential().

    {
        $credential = $this->getCredential();
        if ( isset($credential[$id]) && $credential[$id]->Can )
            return true;
        else
            return false;
    }

GauffrUser::hasCredentialByIdentifier ( identifier  ) 

The GauffrUser has access to GauffrSlave ?

Parameters:
$id 
Returns:
boolean

Definition at line 230 of file gauffruser.php.

References GauffrSlave::fetchSlaveByIdentifier(), getCredential(), and GauffrPersistentObject::unique().

    {
        $credential = $this->getCredential();

        if ( empty($credential) )
            return false;

        $gauffrslave = GauffrUser::unique(GauffrSlave::fetchSlaveByIdentifier($identifier));

        if ( !$gauffrslave )
            return false;

        $id = $gauffrslave->getID();

        if ( isset($credential[$id]) && $credential[$id]->Can )
            return true;
        else
            return false;
    }


The documentation for this class was generated from the following file:
 All Classes Functions Variables