
Ö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 | |
Die Klasse repraesentiert einen einzelnen Benutzer und sammelt und verwaltet alle damit zusammenhaengenden Informationen.
Definiert in Zeile 12 der Datei User.php.
| Dsao_User::_checkValidity | ( | ) | [protected] |
Prüft Gültigkeit, indemie Identifizierer kontrolliert werden.
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.
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.
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.
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.
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.
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
| $flag | bool, Neuer Wert fuer self::$_rezerialize |
Definiert in Zeile 113 der Datei User.php.
| Dsao_User::update | ( | array $ | properties = array() |
) |
Aktualisiert (teilweise) Daten des Objekts in der Datenbank.
| $properties | array, Felder, die geändert werden sollen |
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 }
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.
1.5.7.1