
Öffentliche Methoden | |
| createAction () | |
| insertAction () | |
| Datenbankbeschreibung. | |
| postDispatch () | |
| Schreibt Benutzerobjekt in Session. | |
| preDispatch () | |
| Vor dem Dispatchen auszuführende Routinen. | |
| heronameAction () | |
| Entgegennahme des Heldennamens. | |
Geschützte Attribute | |
| $_namespaceRegister = null | |
| Zend_Session_Namespace, Session-Namensbereich der Registrierung. | |
| $_heroCreate = null | |
| Dsao_Hero, Objekt des zu generierenden Helden. | |
Diese Klasse enthaelt den Kontroller fuer die Heldengenerierung, die
Definiert in Zeile 13 der Datei Dsa3Controller.php.
| Hero_Dsa3Controller::heronameAction | ( | ) |
Entgegennahme des Heldennamens.
Die Methode nimmt den gewuenschten Heldennamen entgegen und wertet diesen nach dem Abschicken aus und gibt ggf. Vorschlaege fuer Alternativen.
Definiert in Zeile 119 der Datei Dsa3Controller.php.
Benutzt Dsao_Controller_Action::_getModel(), Dsao_Controller_Action::getLog(), Dsao_Controller_Action::getUser(), Dsao_Controller_Action::getView() und insertAction().
00120 { 00121 //Ohne template arbeiten. einfach nur eine Bestätigung ausgeben 00122 $this->getView()->addTemplate(false); 00123 00124 // Heldennamen uebergeben 00125 $this->getView()->assign 00126 ('heroCreateHeroname', $this->_heroCreate->name); 00127 00128 // Falls Formular noch nicht abgeschickt wurde 00129 if (!$this->getRequest()->isPost()) 00130 { 00131 return true; 00132 } 00133 00134 // Post-Parameter entgegennehmen 00135 $heroname = $this->getRequest()->getPost('heroname'); 00136 $heronameSelection = $this->getRequest()->getPost('heronameSelection'); 00137 00138 // Zend_Validate, Validator fuer Heldennamen 00139 $validator = new Zend_Validate(); 00140 $validator->addValidator(new Dsao_Validate_Heroname()); 00141 00142 // Falls Heldenname ungueltig 00143 if (!$validator->isValid($heroname)) 00144 { 00145 // Fehlermeldung ausgeben 00146 $this->getLog()->err('hero_dsa3_insert_heroname_error_invalid'); 00147 00148 return false; 00149 } 00150 00151 // Falls Name bereits verwendet 00152 if (!$this->_getModel()->isUniqueHeroname($heroname)) 00153 { 00154 $this->getLog()->info('hero_dsa3_insert_heroname_info_not_unique'); 00155 return false; 00156 } 00157 if (!$this->_getModel()->isUniqueHeroOfUser($this->getUser()->getId())) 00158 { 00159 $this->getLog()->info('hero_dsa3_insert_hero_current_user_info_exist'); 00160 00161 return false; 00162 } 00163 00164 //abspeichern der User ID für die Datenbank 00165 $this->_heroCreate->idUser = $this->getUser()->getId(); 00166 // Heldennamen speichern 00167 $this->_heroCreate->name = $heroname; 00168 $this->insertAction(); 00169 00170 return true; 00171 }
| Hero_Dsa3Controller::insertAction | ( | ) |
Datenbankbeschreibung.
Bei richtiger Eingabe wird der Held in die Datenbank geschrieben.
Held wird in die Datenbank geschrieben.
Definiert in Zeile 42 der Datei Dsa3Controller.php.
Benutzt Dsao_Controller_Action::_getModel(), Dsao_Controller_Action::getLog() und Dsao_Controller_Action::getView().
Wird benutzt von heronameAction().
00043 { 00044 $this->getView()->addTemplate(false); 00045 00046 // Falls Benutzername einmalig, also noch nicht in Datenbank eingefügt 00047 if ($this->_getModel()->isUniqueHeroname($this->_heroCreate->name)) 00048 { 00049 00050 // Benutzer in Datenbank eingefuegen 00051 $this->_getModel()->insertHero($this->_heroCreate); 00052 // Bestätigungen 00053 $this->getLog()->affirm 00054 ('hero_dsa3_insert_affirmation_inserted'); 00055 } 00056 else 00057 { 00058 // Ansonsten Fehlermeldung ausgeben und Session zurücksetzen 00059 $this->getLog()->err('hero_dsa3_insert_error_hero_exists'); 00060 } 00061 00062 // Sessiondaten zuruecksetzen 00063 Zend_Session::namespaceUnset('hero_create'); 00064 $this->_heroCreate = null; 00065 00066 return true; 00067 }
| Hero_Dsa3Controller::postDispatch | ( | ) |
Schreibt Benutzerobjekt in Session.
Erneute Implementation von Dsao_Controller_Action.
Definiert in Zeile 75 der Datei Dsa3Controller.php.
00076 { 00077 // Falls Session vorhanden, Benutzerobjekt darin speichern 00078 if (null != $this->_heroCreate) 00079 { 00080 // Benutzerobjekt serialisiert in Session speichern 00081 $this->_namespaceRegister->hero = serialize($this->_heroCreate); 00082 } 00083 }
1.5.7.1