public function mozeSaPrihlasit($prihlasTerminyRow, $time)
 {
     $predmet = $prihlasTerminyRow[PrihlasTerminyFields::PREDMET_SKRATKA];
     if (isset($this->hodnoteniaData[$predmet][HodnoteniaFields::ZNAMKA])) {
         $znamka = $this->hodnoteniaData[$predmet][HodnoteniaFields::ZNAMKA];
     } else {
         $znamka = "";
     }
     // Note(PPershing): never use $this->hodnoteniaData[$predmet][HodnoteniaFields::MOZE_PRIHLASIT]
     // AiS will incorrectly report that you can't sign up if you have FX!
     $mozePredmet = $prihlasTerminyRow[ZoznamTerminovFields::MOZE_PRIHLASIT] == 'A';
     if ($znamka != "" && !Znamka::isSame($znamka, 'Fx') && !$mozePredmet) {
         return self::PRIHLASIT_NEMOZE_ZNAMKA;
     }
     try {
         $prihlasRange = AIS2Utils::parseAISDateTimeRange($prihlasTerminyRow[PrihlasTerminyFields::PRIHLASOVANIE_DATUM]);
         if (!($prihlasRange['od'] < $time && $prihlasRange['do'] > $time)) {
             return self::PRIHLASIT_NEMOZE_CAS;
         }
     } catch (\Exception $e) {
         // ignorujme chybu pri parsovani datumu
         // lepsie pouzivatelovi umoznit vyskusat sa prihlasit
         // ako mu to neumoznit napriek tomu, ze by sa mal vediet prihlasit
     }
     if ($prihlasTerminyRow[PrihlasTerminyFields::MAX_POCET] !== '' && $prihlasTerminyRow[PrihlasTerminyFields::MAX_POCET] <= $prihlasTerminyRow[PrihlasTerminyFields::POCET_PRIHLASENYCH]) {
         return self::PRIHLASIT_NEMOZE_POCET;
     }
     if (!$mozePredmet) {
         return self::PRIHLASIT_NEMOZE_INE;
     }
     if ($znamka != "" && !Znamka::isSame($znamka, 'Fx') && $mozePredmet) {
         return self::PRIHLASIT_MOZE_ZNAMKA;
     }
     return self::PRIHLASIT_MOZE;
 }
Esempio n. 2
0
 public function testDateTimeRange()
 {
     $this->assertEquals(AIS2Utils::parseAISDateTimeRange("11.01.2010 08:30 do 12.02.2011 09:40"), array('od' => mktime(8, 30, 0, 1, 11, 2010), 'do' => mktime(9, 40, 0, 2, 12, 2011)));
 }