Hero_Dsa3Controller Klassenreferenz

Controller fuer die Heldengenerierung. Mehr ...

Klassendiagramm für Hero_Dsa3Controller:

Dsao_Controller_Action

Aufstellung aller Elemente

Ö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.


Ausführliche Beschreibung

Controller fuer die Heldengenerierung.

Diese Klasse enthaelt den Kontroller fuer die Heldengenerierung, die

Autor:
DSAo-Md

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

Definiert in Zeile 13 der Datei Dsa3Controller.php.


Dokumentation der Elementfunktionen

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.

Rückgabe:
bool

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.

Rückgabe:
bool

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.

Rückgabe:
void

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   }


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