Dsao_User Klassenreferenz

Repraesentiert einen einzelnen Benutzer. Mehr ...

Klassendiagramm für Dsao_User:

Dsao_Db_Table_DataHandler_Abstract Dsao_DataHandler_Abstract

Aufstellung aller Elemente

Öffentliche Methoden

 exists ()
 Prüft, ob zum Objekt gehörende Datensätze in der Datenbank existieren, ohne diese (vollständig) zu laden.
 getReserialize ()
 Gibt self::$_reserialize zurueck, oder false, wenn Benutzer ungueltig.
 refresh ()
 Aktualisiert Daten des Objekts aus der Datenbank und überschreibt eventuelle Änderungen an den Daten.
 insert ()
 Fügt Daten des Objekts in Datenbank ein.
 setReserialize ($flag)
 Setzen von Flag um Benutzerobjekt neu zu serialisieren.
 update (array $properties=array())
 Aktualisiert (teilweise) Daten des Objekts in der Datenbank.

Geschützte Methoden

 _checkValidity ()
 Prüft Gültigkeit, indemie Identifizierer kontrolliert werden.
 _fetchAll ()
 Lädt alle Benutzerdaten aus Datenbank.

Geschützte Attribute

 $_identifiers = array('id', array('username', 'emailAddress'))
 Array mit Eigenschaften, die eine klare Identifizierung eines Datenbanksatzes zulassen.
 $_propertiesProtected = array('id')
 array, Geschützte Eigenschaften, können nicht über setData() gesetzt werden
 $_reserialize = false
 bool, Ist true, wenn Sessiondaten nicht mehr aktuell sind und neu serialisiert werden sollen
 $_table = 'user_data'
 string, zunächst Name und später Objekt der (Haupt-)-Tabelle


Ausführliche Beschreibung

Repraesentiert einen einzelnen Benutzer.

Die Klasse repraesentiert einen einzelnen Benutzer und sammelt und verwaltet alle damit zusammenhaengenden Informationen.

Autor:
DSAo-Md

http://www.gnu.org/licenses/gpl-3.0.html GNU Public License

Version:
SVN: $Id: User.php 518 2009-09-02 18:34:53Z saviola777 $

Definiert in Zeile 12 der Datei User.php.


Dokumentation der Elementfunktionen

Dsao_User::_checkValidity (  )  [protected]

Prüft Gültigkeit, indemie Identifizierer kontrolliert werden.

Rückgabe:
bool, Gültigkeit

Erneute Implementation von Dsao_Db_Table_DataHandler_Abstract.

Definiert in Zeile 25 der Datei User.php.

00026   {
00027     // Gültigkeit auf false setzen, dann aber true zurück geben. Grund:
00028     // Hier kann die Gültigkeit des Objekts nicht geprüft werden, also ist es
00029     // per Definition ungültig. Auf der anderen Seite spricht von hier aus
00030     // nichts dagegen, dass es gültig sein _könnte_. Also true zurück geben
00031     $this->_valid = false;
00032 
00033     return true;
00034   }

Dsao_User::_fetchAll (  )  [protected]

Lädt alle Benutzerdaten aus Datenbank.

Rückgabe:
void

Definiert in Zeile 41 der Datei User.php.

Benutzt Dsao_Db_Table_DataHandler_Abstract::_addWhere(), Dsao_Db_Table_DataHandler_Abstract::_parseResult() und Dsao_Db_Table_DataHandler_Abstract::getTable().

Wird benutzt von refresh().

00042   {
00043     // Select-Statement aufbauen
00044     $select = $this->getTable()->getAdapter()->select()->from('user_data')
00045       // Profildaten
00046       ->joinUsing('user_profile', 'id')
00047       // Einstellungen
00048       ->joinUsing('user_settings', 'id')
00049       // ACL-Rollennamen laden
00050       ->join('acl_role', 'user_data.idRole = acl_role.id',
00051         array('role' => 'name'));
00052 
00053     // Where-Klausel bilden
00054     $this->_addWhere($select, array(), array('table' => 'user_data'));
00055 
00056     $result = $this->getTable()->getAdapter()->fetchAll($select);
00057 
00058     // Daten setzen
00059     $this->_parseResult(array_pop($result));
00060   }

Dsao_User::exists (  ) 

Prüft, ob zum Objekt gehörende Datensätze in der Datenbank existieren, ohne diese (vollständig) zu laden.

Rückgabe:
bool, ob Datensätze vorhanden

Erneute Implementation von Dsao_Db_Table_DataHandler_Abstract.

Definiert in Zeile 62 der Datei User.php.

Benutzt Dsao_Db_Table_DataHandler_Abstract::_addWhere() und Dsao_Db_Table_DataHandler_Abstract::getTable().

00063   {
00064     // Falls schon übergeordnete Funktion Vorhandensein eindeutig klären konnte
00065     if (null !== ($exists = parent::exists()))
00066     {
00067       return $exists;
00068     }
00069 
00070     // Select-Statement bauen
00071     $select = $this->getTable()->select(true)->reset(Zend_Db_Select::COLUMNS)
00072       ->columns('id');
00073     $this->_addWhere($select);
00074 
00075     return (bool) $select->fetchRow();
00076   }

Dsao_User::getReserialize (  ) 

Gibt self::$_reserialize zurueck, oder false, wenn Benutzer ungueltig.

Rückgabe:
bool, Ob Benutzer neu serialisiert werden soll

Definiert in Zeile 83 der Datei User.php.

00084   {
00085     // Falls Benutzer ungueltig ist, immer false zurueckgeben
00086     return ($this->_valid ? (bool) $this->_reserialize : false);
00087   }

Dsao_User::insert (  ) 

Fügt Daten des Objekts in Datenbank ein.

Rückgabe:
Dsao_Db_Table_DataHandler_Abstract, fließendes Interface

Erneute Implementation von Dsao_Db_Table_DataHandler_Abstract.

Definiert in Zeile 98 der Datei User.php.

00099   {
00100     // Benutzer kann nicht über Objekt eingefügt werden
00101     throw new Dsao_Exception('dsao_user_insert');
00102   }

Dsao_User::refresh (  ) 

Aktualisiert Daten des Objekts aus der Datenbank und überschreibt eventuelle Änderungen an den Daten.

Rückgabe:
Dsao_Db_Table_DataHandler_Abstract, fließendes Interface

Erneute Implementation von Dsao_Db_Table_DataHandler_Abstract.

Definiert in Zeile 89 der Datei User.php.

Benutzt _fetchAll().

00090   {
00091     parent::refresh();
00092 
00093     $this->_fetchAll();
00094 
00095     return $this;
00096   }

Dsao_User::setReserialize ( flag  ) 

Setzen von Flag um Benutzerobjekt neu zu serialisieren.

Setzt den Flag self::$_reserialize, damit Benutzerobjekt beim Verlassen der Applikation (Dsao_Plugin_Auth::postDispatch()) neu serialisiert wird

Parameter:
$flag bool, Neuer Wert fuer self::$_rezerialize
Rückgabe:
void

Definiert in Zeile 113 der Datei User.php.

00114   {
00115       $this->_reserialize = (bool) $flag;
00116   }

Dsao_User::update ( array $  properties = array()  ) 

Aktualisiert (teilweise) Daten des Objekts in der Datenbank.

Parameter:
$properties array, Felder, die geändert werden sollen
Rückgabe:
Dsao_Db_Table_DataHandler_Abstract, fließendes Interface

Erneute Implementation von Dsao_Db_Table_DataHandler_Abstract.

Definiert in Zeile 118 der Datei User.php.

Benutzt Dsao_DataHandler_Abstract::__get(), Dsao_Db_Table_DataHandler_Abstract::getData(), Dsao_Db_Table_DataHandler_Abstract::getTable() und Dsao_Db_Table_DataHandler_Abstract::setSynchronous().

00119   {
00120     parent::update($properties);
00121 
00122     // Zeile aus Tabellen laden
00123     $rowUserData = Dsao_Registry::getTable('user_data')->find($this->__get('id'))->current();
00124 
00125     // Zeilen aus anderen Tabellen laden
00126     $rowUserProfile   = $rowUserData->findParentRow
00127       ('Dsao_Db_Table_UserProfile', 'userProfile');
00128     $rowUserSettings  = $rowUserData->findParentRow
00129       ('Dsao_Db_Table_UserSettings', 'userSettings');
00130 
00131     $data = $this->getData($properties);
00132 
00133     // Daten übergeben (es werden jeweils nur relevante übernommen)
00134     $rowUserData->setFromArray($data);
00135     $rowUserProfile->setFromArray($data);
00136     $rowUserSettings->setFromArray($data);
00137 
00138     // Speichern
00139     $rowUserData->save();
00140     $rowUserProfile->save();
00141     $rowUserSettings->save();
00142 
00143     $this->setSynchronous(true);
00144 
00145     return $this;
00146   }


Dokumentation der Datenelemente

Dsao_User::$_identifiers = array('id', array('username', 'emailAddress')) [protected]

Array mit Eigenschaften, die eine klare Identifizierung eines Datenbanksatzes zulassen.

Der Primary-Key muss hier nicht festgehalten werden, nur weitere Unique-Spalten oder Kombinationen. Über Unterarrays können Spaltenkombinationen festgehalten werden.

Erneute Implementation von Dsao_Db_Table_DataHandler_Abstract.

Definiert in Zeile 14 der Datei User.php.


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:

Erzeugt am Fri Sep 18 19:04:13 2009 für DSA online - Morgendaemmerung von  doxygen 1.5.7.1