/** * handlePagina controleer of er inloggegevens zijn gepost, zo ja, log in en redirect naar homepage * @throws WebsiteException */ public function handlePagina() { // standaard wordt dit scherm getoond $oResult = $this; if (Registry::exists('Bezoeker')) { $oGebruiker = Registry::get('Bezoeker'); } else { // gebruiker moet al bestaan, dus fout throw new WebsiteException('Gebruiker object bestaat niet'); } if (!$oGebruiker->isIngelogd()) { // gebruiker was nog niet ingelogd $oValidator = InputValidator::instantiate(); $oValidator->addValidation('gebruiker', InputValidator::SCOPE_POST, InputValidator::TYPE_STRING, true); $oValidator->addValidation('wachtwoord', InputValidator::SCOPE_POST, InputValidator::TYPE_STRING, true); if ($oValidator->validateAll() == InputValidator::RESULT_OK) { // inloggegevens gepost if ($oGebruiker->login($oValidator->getValue('gebruiker', InputValidator::SCOPE_POST), $oValidator->getValue('wachtwoord', InputValidator::SCOPE_POST))) { // login gelukt $oResult = SchermGenerator::genereerSchermObject(SchermGenerator::BEHEER); } } } else { // gebruiker was al eerder ingelogd, ga naar homepage $oResult = SchermGenerator::genereerSchermObject(SchermGenerator::BEHEER); } return $oResult; }
/** * handlePagina controleer of er inloggegevens zijn gepost, zo ja, log in en redirect naar homepage * @throws WebsiteException */ public function handlePagina() { // standaard wordt dit scherm getoond $oResult = $this; if (Registry::exists('Bezoeker')) { $oGebruiker = Registry::get('Bezoeker'); } else { // gebruiker moet al bestaan, dus fout throw new WebsiteException('Gebruiker object bestaat niet'); } if ($oGebruiker->isIngelogd()) { // Gebruiker wordt uitgelogd $oGebruiker->logout(); $oResult = SchermGenerator::genereerSchermObject(SchermGenerator::WELKOM); } else { // gebruiker was al eerder uitgelogd / niet ingelogd, ga naar homepage $oResult = SchermGenerator::genereerSchermObject(SchermGenerator::WELKOM); } return $oResult; }
/** * handlePagina Handelt de gegeven pagina af * * Deze methode controleert of de juiste invoer is gegeven en handelt de pagina verder af * Er wordt een gebruikerobject gemaakt dat de gegevens van de huidige gebruiker bevat. * @return void */ public function handlePagina() { try { // vang alle fouten af // creeer een Gebruiker object $this->m_oGebruiker = new Gebruiker(); // plaats de gebruiker in de Registry zodat andere objecten deze kunnen gebruiken Registry::add($this->m_oGebruiker, 'Bezoeker'); // creeer de inputvalidator $oValidator = InputValidator::instantiate(); $nResult = $oValidator->validate('page', InputValidator::SCOPE_GET | InputValidator::SCOPE_POST, InputValidator::TYPE_INT, true); if ($nResult == InputValidator::RESULT_OK || $nResult == InputValidator::RESULT_CONVERTABLE) { // pagina bestaat in GET of POST $nPagina = intVal($oValidator->getValue('page', InputValidator::SCOPE_GET | InputValidator::SCOPE_POST)); // maak het juiste Scherm object aan $oScherm = SchermGenerator::genereerSchermObject($nPagina); } else { // geen pagina opgegeven, ga naar homepage $oScherm = SchermGenerator::genereerSchermObject(SchermGenerator::WELKOM); } } catch (Exception $e) { // iets is fout gegaan, log uit en toon homepage if (is_object($this->m_oGebruiker)) { $this->m_oGebruiker->logout(); } // zet exception in de registry zodat de errorpage de info kan tonen Registry::add($e, 'Exception'); $oScherm = SchermGenerator::genereerSchermObject(SchermGenerator::ERRORPAGE); } if (is_object($oScherm)) { // handel eventuele input af $oScherm = $oScherm->handlePagina(); // bouw het scherm met de juiste informatie en toon het $oScherm->bouwScherm(); $oScherm->toon(); } else { // geen scherm object, heel erg fout. echo 'Er is geen scherm-object aangemaakt/of ontbreekt.'; } }