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; }
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))); }