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');
 }
示例#3
0
 } 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 = "";
示例#4
0
    //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