Esempio n. 1
0
 function renderHtml()
 {
     $kursus = new VIH_Model_KortKursus($this->context->name());
     $data = array('kursus' => $kursus, 'deltagere' => $kursus->getDeltagere());
     $tpl = $this->template->create('list/ministerium');
     return new k_HttpResponsen(200, $tpl->render($this, $data));
 }
Esempio n. 2
0
 function createGolfKursus()
 {
     $data = array('navn' => 'test', 'dato_start' => date('Y-m-d'), 'dato_slut' => date('Y-m-d'), 'gruppe_id' => 1);
     $kursus = new VIH_Model_KortKursus();
     $kursus->save($data);
     return $kursus;
 }
Esempio n. 3
0
 /**
  * Loader v�rdier
  */
 function load()
 {
     // Informationer om kurser.
     if ($this->belong_to == 1 && $this->belong_to_id != 0) {
         // Kort kursus
         $kortkursus = new VIH_Model_KortKursus($this->belong_to_id);
         $this->value["kursusnavn"] = $kortkursus->get("kursusnavn");
         $this->value["kursus_id"] = $kortkursus->get("id");
     } elseif ($this->belong_to == 2) {
         // Langt kursus
         throw new Exception("Lange kurser Endnu ikke implementeret i load");
     }
     if ($this->id == 0) {
         return 1;
     }
     $db = new DB_Sql();
     $db->query("SELECT * FROM venteliste WHERE id = " . $this->id);
     $db->nextRecord() or die("Ugyldig id");
     $this->value["id"] = $db->f("id");
     $this->value["adresse_id"] = $db->f("adresse_id");
     $this->value["antal"] = $db->f("antal");
     $this->value["besked"] = $db->f("besked");
     $this->adresse = new VIH_Model_Adresse($db->f("adresse_id"));
     return 1;
 }
Esempio n. 4
0
 function renderHtml()
 {
     $kursus = new VIH_Model_KortKursus($this->context->name());
     if ($kursus->get('gruppe_id') != 1) {
         echo '';
         exit;
     }
     $begyndere = $kursus->getBegyndere();
     throw new k_http_Response(200, $begyndere);
 }
Esempio n. 5
0
 function renderHtml()
 {
     $kursus = new VIH_Model_KortKursus((int) $this->context->name());
     $tilmeldinger = $kursus->getTilmeldinger();
     $this->document->setTitle('Tilmeldinger til ' . $kursus->getKursusNavn());
     $this->document->addOption('Kurser', $this->url('../../'));
     $this->document->addOption('Deltagere', $this->context->url('deltagere'));
     $data = array('tilmeldinger' => $tilmeldinger, 'vis_besked' => 'ja', 'caption' => 'Tilmeldinger');
     $tpl = $this->template->create('kortekurser/tilmeldinger');
     return $tpl->render($this, $data);
 }
Esempio n. 6
0
 function renderHtml()
 {
     $kursus = new VIH_Model_KortKursus($this->context->name());
     $deltagere = $kursus->getDeltagere();
     $data = $this->printAddressLabels($deltagere);
     $response = new k_HttpResponse(200, $data);
     $response->setEncoding(NULL);
     $response->setContentType("application/pdf");
     $response->setHeader("Content-Length", strlen($data));
     $response->setHeader("Content-Disposition", "attachment;filename=\"navneskilte.pdf\"");
     $response->setHeader("Content-Transfer-Encoding", "binary");
     $response->setHeader("Cache-Control", "Public");
     $response->setHeader("Pragma", "public");
     throw $response;
 }
Esempio n. 7
0
 function postForm()
 {
     if ($this->getForm()->validate()) {
         $kursus = new VIH_Model_KortKursus($this->context->name());
         $values = $this->body();
         $values['dato_start'] = $values['dato_start']['Y'] . '-' . $values['dato_start']['M'] . '-' . $values['dato_start']['d'];
         $values['dato_slut'] = $values['dato_slut']['Y'] . '-' . $values['dato_slut']['M'] . '-' . $values['dato_slut']['d'];
         $values['beskrivelse'] = vih_handle_microsoft($values['beskrivelse']);
         if (empty($values['tilmeldingsmulighed'])) {
             $values['tilmeldingsmulighed'] = 0;
         }
         if (empty($values['published'])) {
             $values['published'] = 0;
         }
         if (empty($values['nyhed'])) {
             $values['nyhed'] = 0;
         }
         if ($id = $kursus->save($values)) {
             $gateway = new VIH_Model_KortKursus_Indkvartering($kursus);
             $gateway->flushAll();
             foreach ($values['indkvartering'] as $key => $indkvartering) {
                 if (isset($indkvartering['chosen'])) {
                     $gateway->activate($key, $indkvartering['price']);
                 }
             }
             return new k_SeeOther($this->context->url(null));
         }
     }
     return $this->render();
 }
Esempio n. 8
0
 function renderHtml()
 {
     $kursus = new VIH_Model_KortKursus($this->context->name());
     $deltagere = $kursus->getDeltagere();
     switch ($kursus->get('gruppe_id')) {
         case 1:
             // golf
             $keywords[] = 'golf';
             break;
         case 2:
             // �vrige
             $keywords[] = 'familie';
             break;
         case 3:
             // bridge
             $keywords[] = 'bridge';
             break;
         case 4:
             // golf og bridge
             $keywords[] = 'golf';
             $keywords[] = 'bridge';
             break;
         case 5:
             // camp
             $keywords[] = 'camp';
             break;
         default:
             $keywords = array();
             break;
     }
     $this->document->setTitle('Deltagere på ' . $kursus->getKursusNavn());
     $this->document->addOption('Tilmeldingerne', $this->url('../tilmeldinger'));
     $this->document->addOption('Deltagerliste', $this->url('../deltagerliste'));
     $this->document->addOption('Adresselabels', $this->url('../adresselabels'));
     $this->document->addOption('Drikkevareliste', $this->url('../drikkevareliste'));
     $this->document->addOption('Navneskilte', $this->url('../navneskilte'));
     $this->document->addOption('Ministerium', $this->url('../ministeriumliste'));
     $this->document->addOption('Excel', $this->url('./', array('format' => 'excel')));
     $data = array('vis_tilmelding' => 'ja', 'deltagere' => $deltagere, 'type' => $keywords, 'indkvartering' => $kursus->get('indkvartering'));
     $tpl = $this->template->create('kortekurser/deltagere');
     return '<p>Deltagerantal: ' . count($deltagere) . '</p>' . $tpl->render($this, $data);
 }
Esempio n. 9
0
 function renderHtml()
 {
     $kursus = new VIH_Model_KortKursus((int) $this->context->name());
     $deltagere = $kursus->getTilmeldinger();
     $data = $this->printAddressLabels($deltagere);
     // hack ...
     $pdf = $this->fpdf;
     $pdf->Open();
     $pdf->AddPage();
     $pdf->Cell(10, 10, 'text');
     $data = $pdf->Output();
     $response = new k_HttpResponse(200, $data);
     $response->setEncoding(NULL);
     $response->setContentType("application/pdf");
     $response->setHeader("Content-Length", strlen($data));
     $response->setHeader("Content-Disposition", "attachment;filename=\"adresselabels.pdf\"");
     $response->setHeader("Content-Transfer-Encoding", "binary");
     $response->setHeader("Cache-Control", "Public");
     $response->setHeader("Pragma", "public");
     throw $response;
 }
Esempio n. 10
0
 function postForm()
 {
     $emailsender = '';
     $kursus = new VIH_Model_KortKursus($this->context->name());
     if ($this->getForm()->validate()) {
         $venteliste = new VIH_Model_Venteliste(1, $this->context->name());
         if (intval($venteliste->get("kursus_id")) == 0) {
             die("Ugyldigt kursus");
         }
         if ($venteliste->save($this->body())) {
             $number = $venteliste->getNumber();
             if (defined('EMAIL_STATUS') && EMAIL_STATUS == "online") {
                 $antal_personer = $venteliste->get("antal") . " person";
                 if ($venteliste->get("antal") > 1) {
                     $antal_personer .= "er";
                 }
                 $error = "";
                 $body = "Køre " . $this->body('navn') . "\n\nDu er nu skrevet på venteliste til kurset: " . $venteliste->get("kursusnavn") . ". Du er pt. nummer " . $number . " på ventelisten. Vi kontakter dig, hvis der bliver ledig plads til dig. Ønsker du ikke længere at stå på ventelisten, må du meget gerne kontakte os på telefon 75820811 eller besvare denne e-mail.\n\nMed venlig hilsen\nVejle Idrætshøjskole";
                 $mailer = new VIH_Email();
                 $mailer->setSubject("Opskrivning på venteliste");
                 $mailer->addAddress($this->body('email'), $this->body('navn'));
                 $mailer->setBody($body);
                 if ($mailer->send()) {
                     $emailsender = "<p>Du vil om kort tid modtage en e-mail med en bekræftelse på at du er optaget på ventelisten.</p><p>Med venlig hilsen<br />En venlig e-mail-robot<br />Vejle Idrætshøjskole</p>";
                 } else {
                     $emailsender = "<p>Det var ikke muligt at sende dig en bekræftelse på e-mail på din optagelse på venteliste. Har du spørgsmål er du velkommen til at kontakte Vejle Idrætshøjskole. Imens tager vi lige en alvorlig snak med webmasteren.</p>";
                 }
             }
             $data = array('content' => '<h1>Du er optaget på ventelisten!</h1><p>Du er nu optaget på ventelisten til ' . $kursus->get('kursusnavn') . ' med ' . $venteliste->get("antal") . ' deltagere. Du står som nummer <strong>' . $number . '</strong> på ventelisten.</p>' . $emailsender);
         } else {
             $data = array('content' => '
                 <h1>Fejl i indtastning!</h1>
                 <p>Der er fejl i de indtastede data, gå venligst tilbage og kontroller at de korrekte.</p>');
         }
     } else {
         $data = array('content' => '<h1>Vil du på venteliste?</h1><p>Der var fejl i dine indtastninger.</p>' . $this->getForm()->toHTML());
     }
     $tpl = $this->template->create('wrapper');
     return $tpl->render($this, $data);
 }
Esempio n. 11
0
 function renderHtml()
 {
     if ($this->getForm()->validate()) {
         if ($this->query('filter') == 'old') {
             $kurser = VIH_Model_KortKursus::getList('old');
         } elseif ($this->query('filter') == 'golf') {
             $kurser = VIH_Model_KortKursus::getList('intranet', 'golf');
         } else {
             $kurser = VIH_Model_KortKursus::getList('intranet');
         }
     } else {
         $kurser = VIH_Model_KortKursus::getList('intranet');
     }
     $this->document->setTitle('Korte kurser');
     $this->document->addOption('Opret', $this->url('create'));
     $data = array('caption' => 'Korte kurser', 'kurser' => $kurser);
     $tpl = $this->template->create('kortekurser/kurser');
     return $this->getForm()->toHTML() . $tpl->render($this, $data);
 }
Esempio n. 12
0
 function renderHtmlCopy()
 {
     $kursus = new VIH_Model_KortKursus($this->name());
     $new_kursus = new VIH_Model_KortKursus();
     if ($id = $new_kursus->copy($kursus)) {
         return new k_SeeOther($this->url('../' . $id));
     }
     throw new Exception('Could not copy course');
 }
Esempio n. 13
0
 /**
  * Statistics
  *
  * @todo Optimize
  */
 function statistik($filter = '')
 {
     // count number of spots on each course
     $countPladser = 0;
     $countOptagne = 0;
     $db1 = new DB_Sql();
     $sql = "SELECT id, pladser FROM kortkursus\r\n            WHERE published=1\r\n                AND tilmeldingsmulighed = 'Ja'\r\n                AND DATE_FORMAT(dato_start, '%Y') >= 2005";
     if (!empty($filter)) {
         $sql .= "\tAND gruppe_id = " . (int) $filter;
     }
     $sql .= " ORDER BY dato_start ASC";
     $db1->query($sql);
     while ($db1->nextRecord()) {
         $countPladser += $db1->f('pladser');
         $kursus = new VIH_Model_KortKursus($db1->f('id'));
         $countOptagne += $kursus->getOptagnePladser();
     }
     if ($countPladser == 0) {
         $countPladser = 1;
     }
     $percent = round($countOptagne / $countPladser * 100, 0);
     return array('pladser' => $countPladser, 'percent' => $percent, 'optagne' => $countOptagne);
 }
Esempio n. 14
0
 function testGetDeltagereReturnsAnEmptyArrayWhenNobodyHasBeenAddedYet()
 {
     $kursus = new FakeKortKursus();
     $new_kursus = new VIH_Model_KortKursus();
     $this->assertTrue($new_kursus->copy($kursus) > 0);
     $this->assertTrue(is_array($new_kursus->getDeltagere()));
     $this->assertEquals(0, count($new_kursus->getDeltagere()));
 }
Esempio n. 15
0
File: Group.php Progetto: vih/vih.dk
 function renderHtml()
 {
     $this->document->theme = 'kortekurser';
     $this->document->body_class = 'widepicture';
     $kurser = $this->context->getGateway()->getList('open', $this->name());
     // array with the courses
     switch ($name) {
         case 'golf':
             $title = 'Højskole og golf - tag på golfhøjskole på Vejle Idrætshøjskole';
             $meta['description'] = 'Golfkurser: Golfkursus på Vejle Idrætshøjskole krydrer din passion for golf med debat og foredrag på højskole. Golfhøjskole henvender sig til spillere på flere niveauer: lige fra begynderen til den mere øvede.';
             $meta['keywords'] = 'golf, højskole, højskolegolf, golfhøjskole, idrætshøjskole, golfkursus, kursus, golfkurser';
             $table_data = array('summary' => 'Golfkurser: Oversigt over de aktuelle golfkurser på Vejle Idrætshøjskole. Kig her hvis du vil på golfkursus.', 'caption' => 'Højskole og golf - tag et kursus i golf', 'kurser' => $kurser);
             $content_data = array('headline' => 'Højskole og golf - golfhøjskole', 'text' => 'Vi forstår din passion for golf - og din lyst til at tage på golfhøjskole. Det er et dejligt spil, og hvad kan vïære bedre end at have en uge på højskole, hvor du har tid og rum til at øve dig, så banen i par kommer endnu tættere på. Kurserne henvender sig til spillere på flere niveauer: lige fra begynderen til den mere øvede. Du kan stille dine spørgsmål til kursuslederne af det golfkursus, du er interesseret i.');
             $news_data = array('nyheder' => VIH_News::getList(1));
             $this->document->theme = 'golf';
             break;
         case 'sommerhøjskole':
             $title = 'Sommerhøjskole og sommerkurser - tag på højskole til sommer';
             $meta['description'] = 'Sommerhøjskole og sommerkurser: Tag på sommerkursus på højskole i løbet af sommeren. Vi har både kurser til familier eller voksne.';
             $meta['keywords'] = 'sommerhøjskole, kurser, sommerkursus, sommerkurser, sommer, højskole';
             $table_data = array('summary' => 'Oversigt over aktuelle sommerkurser på Vejle Idrætshøjskole - højskole til sommer, sommerhøjskole', 'caption' => 'Sommerhøjskole - sommerkurser', 'kurser' => $kurser);
             $content_data = array('headline' => 'Sommerhøjskole på Vejle Idrætshøjskole', 'text' => 'Tag på højskole til sommer og få en stor oplevelse. At tage på sommerhøjskole giver et <em>boost</em> til hverdagen - enten du er en familie med fuld fart på, eller du er voksen og interesserer dig for noget af det samme, som vi interesserer os for. Sommeren skal bruges på højskole - og vi har en masse sommerkurser at vælge mellem:');
             $news_data = array('nyheder' => VIH_News::getList(1));
             $this->document->theme = 'familiekursus';
             break;
         case 'camp':
             $title = 'Idrætscamp - tag på højskole til sommer';
             $meta['description'] = 'Sommerhøjskole og sommerkurser: Tag på Idrætscamp på højskole i løbet af sommeren. Vi har både kurser til familier eller voksne.';
             $meta['keywords'] = 'sommerhøjskole, kurser, sommerkursus, sommerkurser, sommer, højskole';
             $table_data = array('summary' => 'Oversigt over aktuelle sommerkurser på Vejle Idrætshøjskole - højskole til sommer, sommerhøjskole, idrætscamp', 'caption' => 'Sommerhøjskole - sommerkurser', 'kurser' => $kurser);
             $content_data = array('headline' => 'Idrætscamp på Vejle Idrætshøjskole', 'text' => 'Tag på højskole til sommer og få en stor oplevelse. At tage på sommerhøjskole giver et <em>boost</em> til hverdagen - enten du er en familie med fuld fart på, eller du er voksen og interesserer dig for noget af det samme, som vi interesserer os for. Sommeren skal bruges på højskole - og vi har en masse sommerkurser at vælge mellem:');
             $news_data = array('nyheder' => VIH_News::getList(7));
             $this->document->theme = 'camp';
             break;
         case 'familiekursus':
             $title = 'Familiekursus - tag på højskole til sommer';
             $meta['description'] = 'Sommerhøjskole og sommerkurser: Tag på Idrætscamp på højskole i løbet af sommeren. Vi har både kurser til familier eller voksne.';
             $meta['keywords'] = 'sommerhøjskole, kurser, sommerkursus, sommerkurser, sommer, højskole';
             $table_data = array('summary' => 'Oversigt over aktuelle sommerkurser på Vejle Idrætshøjskole - højskole til sommer, sommerhøjskole, idrætscamp', 'caption' => 'Sommerhøjskole - sommerkurser', 'kurser' => $kurser);
             $content_data = array('headline' => 'Familiekursus på Vejle Idrætshøjskole', 'text' => 'Tag på højskole til sommer og få en stor oplevelse. At tage på sommerhøjskole giver et <em>boost</em> til hverdagen - enten du er en familie med fuld fart på, eller du er voksen og interesserer dig for noget af det samme, som vi interesserer os for. Sommeren skal bruges på højskole - og vi har en masse sommerkurser at vælge mellem:');
             $news_data = array('nyheder' => VIH_News::getList(7));
             $this->document->theme = 'camp';
             break;
         case 'cykel':
             $title = 'Cykel & Højskole - tag på højskole til sommer';
             $meta['description'] = 'Sommerhøjskole og sommerkurser: Tag på Idrætscamp på højskole i løbet af sommeren. Vi har både kurser til familier eller voksne.';
             $meta['keywords'] = 'sommerhøjskole, kurser, sommerkursus, sommerkurser, sommer, højskole';
             $table_data = array('summary' => 'Oversigt over aktuelle sommerkurser på Vejle Idrætshøjskole - højskole til sommer, sommerhøjskole, idrætscamp', 'caption' => 'Sommerhøjskole - sommerkurser', 'kurser' => $kurser);
             $content_data = array('headline' => 'Cykel & Højskole på Vejle Idrætshøjskole', 'text' => 'Tag på højskole til sommer og få en stor oplevelse. At tage på sommerhøjskole giver et <em>boost</em> til hverdagen - enten du er en familie med fuld fart på, eller du er voksen og interesserer dig for noget af det samme, som vi interesserer os for. Sommeren skal bruges på højskole - og vi har en masse sommerkurser at vælge mellem:');
             $news_data = array('nyheder' => VIH_News::getList(8));
             $this->document->theme = 'cykel';
             break;
         case 'kajak':
             $title = 'Kajak & Højskole - tag på højskole til sommer';
             $meta['description'] = 'Sommerhøjskole og sommerkurser: Tag på Idrætscamp på højskole i løbet af sommeren.';
             $meta['keywords'] = 'sommerhøjskole, kurser, sommerkursus, kajak, sommerkurser, sommer, højskole';
             $table_data = array('summary' => 'Oversigt over aktuelle sommerkurser på Vejle Idrætshøjskole - højskole til sommer, sommerhøjskole, idrætscamp', 'caption' => 'Kajakkurser', 'kurser' => $kurser);
             $content_data = array('headline' => 'Kajak & Højskole på Vejle Idrætshøjskole', 'text' => 'Tag på højskole til sommer og få en stor oplevelse. At tage på sommerhøjskole giver et <em>boost</em> til hverdagen - enten du er en familie med fuld fart på, eller du er voksen og interesserer dig for noget af det samme, som vi interesserer os for. Sommeren skal bruges på højskole - og vi har en masse sommerkurser at vælge mellem:');
             $news_data = array('nyheder' => VIH_News::getList());
             $this->document->theme = 'kajak';
             break;
         default:
             $title = 'Korte kurser og sommerkurser på højskole - højskolekurser';
             $meta['description'] = 'Korte kurser og sommerkurser på Vejle Idrætshøjskole. Brug din ferie på højskole. Vi har masser af højskolekurser at vælge mellem.';
             $meta['keywords'] = 'højskole, idrætshøjskole, sommerkurser, sommerkursus, højskolekurser, korte kurser, sommerhøjskole';
             $content_data = array('headline' => 'Korte kurser', 'text' => 'Vi arrangerer hele året korte højskolekurser. Vi har voksenkurser, familiekurser og kurser for <a href="' . $this->url('/kortekurser/golf/') . '">golfentusiaster</a>. Du sparker til livet gennem legen og fordybelsen, diskussionerne og festlighederne. Hvis du har spørgsmål om kurserne, er du meget velkommen til at ringe til skolen eller kursuslederne for de enkelte kurser.');
             $table_data = array('summary' => 'Oversigt over de aktuelle korte kurser på Vejle Idrætshøjskole - højskolekurser', 'caption' => 'Oversigt over aktuelle korte kurser', 'kurser' => VIH_Model_KortKursus::getList());
             $news_data = array('nyheder' => VIH_News::getList(1));
             break;
     }
     $this->document->setTitle($title);
     $this->document->meta = $meta;
     $this->document->feeds[] = array('title' => 'Korte kurser', 'link' => $this->url('/rss/kortekurser'));
     $this->document->widepicture = $this->getWidePictureUrl($this->document->theme);
     $table = $this->getTable($table_data);
     $data = array_merge(array('table' => $table), $content_data);
     $tpl = $this->template->create('KortKursus/group');
     $content = array('content' => $tpl->render($this, $data), 'content_sub' => $this->getSubContent());
     $tpl = $this->template->create('sidebar-wrapper');
     return $tpl->render($this, $content);
 }
Esempio n. 16
0
File: Antal.php Progetto: vih/vih.dk
 function getForm()
 {
     if ($this->form) {
         return $this->form;
     }
     $tilmelding = $this->getTilmelding();
     $kursus = new VIH_Model_KortKursus();
     $kurser = $kursus->getList();
     $kursus_list = array('' => 'Vælg');
     foreach ($kurser as $kursus) {
         $kursus_id = $kursus->get('id');
         $kursus_navn = $kursus->get('kursusnavn') . ' (' . $kursus->get('pladser_status') . ')';
         $kursus_list[$kursus_id] = $kursus_navn;
     }
     $form = new HTML_QuickForm('kortekurser', 'POST', $this->url());
     $form->addElement('header', null, 'Hvilket kursus vil du tilmelde dig?');
     $form->addElement('select', 'kursus_id', 'Kursus', $kursus_list);
     $form->addElement('header', 'null', 'Hvor mange vil du tilmelde?');
     $form->addElement('select', 'antal_deltagere', 'Antal deltagere', array(1 => 1, 2 => 2, 3 => 3, 4 => 4, 5 => 5, 6 => 6, 7 => 7, 8 => 8, 9 => 9, 10 => 10));
     $form->addElement('submit', null, 'Videre >>');
     $defaults = array();
     if ($tilmelding->get('kursus_id') > 0) {
         $defaults['kursus_id'] = $tilmelding->get('kursus_id');
         $defaults['antal_deltagere'] = count($tilmelding->getDeltagere());
     } else {
         $defaults['kursus_id'] = $this->context->getKursusId();
     }
     $form->setDefaults($defaults);
     $form->applyFilter('__ALL__', 'trim');
     $form->addRule('kursus_id', 'Du skal vælge et kursus', 'required');
     $form->addRule('kursus_id', 'Du skal vælge et kursus', 'numeric');
     $form->addRule('antal_deltagere', 'Du skal vælge hvor mange, du vil have', 'required');
     $form->addRule('antal_deltagere', 'Deltagerne skal være et tal', 'numeric');
     // $form->addRule('antal_deltagere', 'Du skal vælge flere end en deltager', 'range', array(1,10));
     return $this->form = $form;
 }