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 = "";
     }
     if (isset($this->hodnoteniaData[$predmet][HodnoteniaFields::MOZE_PRIHLASIT]) && $this->hodnoteniaData[$predmet][HodnoteniaFields::MOZE_PRIHLASIT] == 'N') {
         $mozePredmet = false;
     } else {
         $mozePredmet = true;
     }
     if ($znamka != "" && $znamka != "FX" && !$mozePredmet) {
         return self::PRIHLASIT_NEMOZE_ZNAMKA;
     }
     $prihlasRange = AIS2Utils::parseAISDateTimeRange($prihlasTerminyRow[PrihlasTerminyFields::PRIHLASOVANIE_DATUM]);
     if (!($prihlasRange['od'] < $time && $prihlasRange['do'] > $time)) {
         return self::PRIHLASIT_NEMOZE_CAS;
     }
     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 != "FX" && $mozePredmet) {
         return self::PRIHLASIT_MOZE_ZNAMKA;
     }
     return self::PRIHLASIT_MOZE;
 }
 public function mozeSaPrihlasit($row)
 {
     $prihlasRange = AIS2Utils::parseAISDateTimeRange($row['prihlasovanie']);
     $predmet = $row['predmet'];
     if (isset($this->hodnoteniaData[$predmet]['znamka'])) {
         $znamka = $this->hodnoteniaData[$predmet]['znamka'];
     } else {
         $znamka = "";
     }
     if (isset($this->hodnoteniaData[$predmet]['mozePrihlasit']) && $this->hodnoteniaData[$predmet]['mozePrihlasit'] == 'N') {
         $mozePredmet = false;
     } else {
         $mozePredmet = true;
     }
     if ($znamka != "" && $znamka != "FX" && !$mozePredmet) {
         return self::PRIHLASIT_NEMOZE_ZNAMKA;
     }
     if (!($prihlasRange['od'] < time() && $prihlasRange['do'] > time())) {
         return self::PRIHLASIT_NEMOZE_CAS;
     }
     if ($row['maxPocet'] != '' && $row['maxPocet'] == $row['pocetPrihlasenych']) {
         return self::PRIHLASIT_NEMOZE_POCET;
     }
     if (!$mozePredmet) {
         return self::PRIHLASIT_NEMOZE_INE;
     }
     if ($znamka != "" && $znamka != "FX" && $mozePredmet) {
         return self::PRIHLASIT_MOZE_ZNAMKA;
     }
     return self::PRIHLASIT_MOZE;
 }
 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;
     }
     $prihlasRange = AIS2Utils::parseAISDateTimeRange($prihlasTerminyRow[PrihlasTerminyFields::PRIHLASOVANIE_DATUM]);
     if (!($prihlasRange['od'] < $time && $prihlasRange['do'] > $time)) {
         return self::PRIHLASIT_NEMOZE_CAS;
     }
     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;
 }
예제 #4
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)));
 }