コード例 #1
0
ファイル: Antal.php プロジェクト: vih/vih.dk
 function postForm()
 {
     $tilmelding = $this->getTilmelding();
     if ($this->getForm()->validate()) {
         $kursus = new VIH_Model_KortKursus($this->body('kursus_id'));
         $kursus->getPladser();
         if ($kursus->get('pladser_ledige') < $this->body('antal_deltagere')) {
             return new k_SeeOther($this->context->url('../venteliste'), array('antal' => $this->body('antal_deltagere')));
         }
         if ($tilmelding->start($this->body())) {
             $tilmelding->kursus->getPladser();
             if ($tilmelding->kursus->get('pladser_ledige') >= $this->body('antal_deltagere')) {
                 $deltagere = $tilmelding->getDeltagere();
                 if (count($deltagere) == 0) {
                     for ($i = 1; $i <= $this->body('antal_deltagere'); $i++) {
                         $deltager = new VIH_Model_KortKursus_Tilmelding_Deltager($tilmelding);
                         $deltager->add();
                     }
                 } elseif (count($deltagere) < $this->body('antal_deltagere')) {
                     for ($i = 1, $max = $this->body('antal_deltagere') - count($deltagere); $i <= $max; $i++) {
                         $deltager = new VIH_Model_KortKursus_Tilmelding_Deltager($tilmelding);
                         $deltager->add();
                     }
                 } elseif (count($deltagere) > $tilmelding->get('antal_deltagere')) {
                     // burde nok lave et tjek på, om nogle af dem er tomme?
                     for ($i = 1, $max = count($deltagere) - $this->body('antal_deltagere'); $i <= $max; $i++) {
                         $deltager = new VIH_Model_KortKursus_Tilmelding_Deltager($tilmelding, $deltagere[$i]->get('id'));
                         $deltager->delete();
                     }
                 }
                 return new k_SeeOther($this->url('kontakt'));
             }
         }
     }
     return $this->render();
 }