public function post() { //step 1: validate input-data $validate_data = Input::only('contestant_id', 'keystone'); $validate_rules = array('contestant_id' => 'required|integer', 'keystone' => 'required|min:8'); $validator = Validator::make($validate_data, $validate_rules); if ($validator->fails()) { $validate_messages = $validator->messages()->toArray(); $this->messageController->send($validate_messages, $this::MESSAGE_KEY); return Redirect::to('login'); } //step 2: check empty collection from 'contestant_id', bcs it may not exist $contestant = Contestant::find(Input::get('contestant_id')); if (!$contestant) { $this->messageController->send(array('contestant_id' => ['contestant_id:wrong']), $this::MESSAGE_KEY); return Redirect::to('login'); } //step 3: compare hashed-value, if equal, allow login //what we get after find is a 'collection', not a Contestant's instance, so fetch it, first() if (Hash::check(Input::get('keystone'), $contestant->keystone)) { Auth::login($contestant); if ($contestant->id == 1) { //admin after 'login' refer go to 'admin' page return Redirect::to('admin'); } else { //contestant after 'login' refer goto 'test' page return Redirect::to('test'); } } else { $this->messageController->send(array('keystone' => ['keystone:wrong']), $this::MESSAGE_KEY); } //as a fall-back, return to login return Redirect::to('login'); }
public function post() { //admin-navigation $admin_navigation = new AdminNavigation(); if ($admin_navigation->isNavigate()) { return $admin_navigation->goToN(); } //handle upload file if (Input::hasFile('file_to_upload')) { $file_patth = storage_path(); $file_upload_key = 'file_to_upload'; $csvUtil = new CsvUtil($file_patth, $file_upload_key); $data = $csvUtil->parse(); //now try import by csvUtil :) if (Input::has('model')) { $csvUtil->import(Input::get('model')); $this->messageController->send($csvUtil->getNotify(), $this::MESSAGE_KEY); return Redirect::to('admin/csv')->with('data', $data); } } if (Input::has('export-result')) { $contestants = Contestant::where('result', '>=', 0)->get(); $data = array(); foreach ($contestants as $contestant) { $data[] = array($contestant->id, $contestant->result, $contestant->email); } return CsvUtil::export($data); } //as a fallback return Redirect::to('admin/csv'); }
} elseif (!preg_match("/^[a-zæøåA-ZÆØÅ ]{2,30}\$/", $enavn)) { $resultat = "Feil - Navn må ha 2-30 norske bokstaver"; } elseif (!preg_match("/^[0-9a-zæøåA-ZÆØÅ ,.\\-]{4,40}\$/", $adresse)) { $resultat = "Feil - Gateadresse må ha 4-40 norske bokstaver"; } elseif (!preg_match("/^[0-9]{4}\$/", $postnr)) { $resultat = "Feil - Postnummer må ha 4 siffer"; } elseif (!preg_match("/^[a-zæøåA-ZÆØÅ ]{2,20}\$/", $poststed)) { $resultat = "Feil - Poststed må ha 2-20 norske bokstaver"; } elseif (!preg_match("/^[0-9]{8}\$/", $telefonnr)) { $resultat = "Feil - Telefonnummer må ha 8 siffer"; } elseif (!preg_match("/^[a-zæøåA-ZÆØÅ ]{2,30}\$/", $nasjonalitet)) { $resultat = "Feil - Fornavn må ha 2-30 norske bokstaver"; } elseif (!preg_match("/^[0-9]{1,10}\$/", $eID)) { $resultat = "Feil - Øvelse-ID må ha 1-10 siffer"; } else { $contestant = new Contestant(); $contestant->set_fornavn($fnavn); $contestant->set_etternavn($enavn); $contestant->set_adresse($adresse); $contestant->set_postnr($postnr); $contestant->set_poststed($poststed); $contestant->set_telefonnr($telefonnr); $contestant->set_eventID($eID); $contestant->set_value($_POST['land']); $datebase = new DBOperasjoner(); // sjekk hvis øvelse-id eksisterer if ($datebase->finnEvent($contestant->get_eventID())) { $resultat = $datebase->skrivPersonTilDatabase($contestant); $fnavn = ""; $enavn = ""; $adresse = "";
//slutt preg_match email $charno = $_POST['formSSBChar']; if (!ctype_digit($charno)) { $formSSBCharFeedback = '<span class="warning">Du må velge en karakter</span>'; $datasetValidert = false; } //slutt ctype_digit($charno) if (!isset($_POST['formTOC'])) { $formTOCFeedback = '<span class="warning">Du må godta brukeravtalen for å kunne registrere deg.</span>'; $datasetValidert = false; } //slutt !isset formTOC if (!$datasetValidert) { goto start; } else { $newContestant = new Contestant(); $newContestant->setNick($nick); $newContestant->setEmail($email); $newContestant->setSSBChar($charno); $regSuccess = DBhandler::regBrawler($newContestant); if ($regSuccess) { $characterObject = DBhandler::retrieveCharacterById($newContestant->getSSBChar()); ?> <h2>Takk for påmeldingen, <?php echo $newContestant->getNick(); ?> !</h2> <p>Du er påmeldt SmashBros konkurransen med følgende info:</p> <table> <tr> <th>Nick:</th><td><?php