Exemple #1
0
 function postForm()
 {
     $tilmelding = new VIH_Model_KortKursus_Tilmelding($this->context->name());
     $allowed_brev_type = array('' => '_fejl_', 'rykker.php' => 'rykker', 'depositumrykker.php' => 'depositumrykker', 'depositum.php' => 'depositum', 'bekraeftelse.php' => 'bekraeftelse', 'depositumbekraeftelse.php' => 'depositumbekraeftelse');
     $brev_type = $this->body('type');
     $brev_type_key = array_search($brev_type, $allowed_brev_type);
     if ($brev_type_key === false) {
         throw new Exception("Ugyldig brev type");
     }
     include dirname(__FILE__) . '/breve/' . $brev_type_key;
     if ($this->body('send_email')) {
         $mail = new VIH_Email();
         $mail->setSubject(ucfirst($brev_type) . " fra Vejle Idrætshøjskole");
         $mail->setBody($brev_tekst);
         $mail->addAddress($tilmelding->get('email'), $tilmelding->get('navn'));
         if (!$mail->send()) {
             throw new Exception("Email blev ikke sendt. Der opstod en fejl. Du kan forsøge igen eller kontakte ham den dovne webmaster");
         }
         $historik = new VIH_Model_Historik('kortekurser', $tilmelding->get("id"));
         $historik->save(array('type' => $brev_type, 'comment' => "Sendt via e-mail"));
         return new k_SeeOther($this->context->url());
     } elseif ($this->body('send_pdf')) {
         $historik = new VIH_Model_Historik('kortekurser', $tilmelding->get("id"));
         $historik->save(array('type' => $brev_type, 'comment' => "Sendt via post"));
         return new k_SeeOther($this->url(null . '.pdf', array('type' => $brev_type)));
     }
     return $this->render();
 }
Exemple #2
0
 function postForm()
 {
     $tilmelding = new VIH_Model_KortKursus_Tilmelding($this->name());
     if (!empty($_POST['annuller_tilmelding'])) {
         $tilmelding->setStatus("annulleret");
     }
     return new k_SeeOther($this->url());
 }
Exemple #3
0
 function renderHtml()
 {
     $this->document->setTitle('Tilmeldinger i restance');
     $data = array('tilmeldinger' => VIH_Model_KortKursus_Tilmelding::getList('restance', 400));
     $tpl = $this->template->create('kortekurser/tilmeldinger');
     return $this->render($this, $data);
 }
Exemple #4
0
 function renderHtml()
 {
     $tilmelding = VIH_Model_KortKursus_Tilmelding::factory($usr->getProperty('handle'));
     $tilmelding->loadBetaling();
     $data = array('login_uri' => KORTEKURSER_LOGIN_URI, 'tilmelding' => $tilmelding);
     $this->document->setTitle('Tilmelding #' . $tilmelding->get('id'));
     $tpl = $this->template->create('Tilmelding/betaling');
     return '
         <h1>Hjælp</h1>
     ' . $tpl->render('VIH/View/tilmelding/betaling-tpl.php', $data);
 }
Exemple #5
0
 function renderHtml()
 {
     $this->document->setTitle('Korte kurser');
     $this->document->addOption('Se de korte kurser', $this->url('../'));
     $this->document->addOption('Se liste over folk i restance', $this->url('restance'));
     if ($this->getForm()->validate()) {
         $tilmeldinger = VIH_Model_KortKursus_Tilmelding::search($this->query('search'));
         $data = array('caption' => 'Søgning', 'tilmeldinger' => $tilmeldinger);
     } else {
         $tilmeldinger = VIH_Model_KortKursus_Tilmelding::getList();
         $data = array('caption' => '5 nyeste tilmeldinger', 'tilmeldinger' => $tilmeldinger);
     }
     $tpl = $this->template->create('kortekurser/tilmeldinger');
     return $tpl->render($this, $data) . $this->getForm()->toHtml();
 }
Exemple #6
0
 function getForm()
 {
     if ($this->form) {
         return $this->form;
     }
     $tilmelding = VIH_Model_KortKursus_Tilmelding::factory($this->context->name());
     $tilmelding->loadBetaling();
     $forsikringstekst = '';
     if ($tilmelding->get('pris_forsikring') > 0) {
         $forsikringstekst = ' og afbestillingsforsikring';
     }
     $form = new HTML_QuickForm('onlinebetaling', 'POST', $this->url());
     if ($tilmelding->get('skyldig_depositum') > 0 and $tilmelding->get('dato_forfalden') > date('Y-m-d')) {
         $form->addElement('header', null, 'Hvilket beløb vil du betale?');
         $options[] =& HTML_QuickForm::createElement('radio', null, null, $tilmelding->get('pris_total') . ' kroner (DKK) - dækker hele kursusprisen', $tilmelding->get('pris_total') * 100);
         $options[] =& HTML_QuickForm::createElement('radio', null, null, $tilmelding->get('pris_forudbetaling') . ' kroner (DKK) - dækker depositum' . $forsikringstekst, $tilmelding->get('pris_forudbetaling') * 100);
         $form->addGroup($options, 'amount', 'Beløb', '<br />');
         $form->addGroupRule('amount', 'Du skal vælge et beløb', 'required', null);
     } else {
         $form->addElement('header', null, 'Du skal betale nedenstående beløb');
         $form->addElement('radio', 'amount', 'Beløb', $tilmelding->get('skyldig') . ' kroner (DKK) - dækker resten af beløbet', $tilmelding->get('skyldig') * 100);
         $form->addRule('amount', 'Du skal vælge et beløb', 'required');
         $form->addRule('amount', 'Du skal vælge et beløb', 'numeric');
         $form->setDefaults(array('amount' => $tilmelding->get('skyldig') * 100));
     }
     $form->addElement('header', null, 'Betaling');
     $form->addElement('text', 'cardnumber', 'Kortnummer');
     $form->addElement('text', 'cvd', 'Sikkerhedsnummer');
     $form->addElement('text', 'mm', 'Mdr.');
     $form->addElement('text', 'yy', 'år');
     $form->addElement('html', null, 'Vær opmærksom på, at det kan tage helt op til et minut at gennemføre transaktionen hos PBS.');
     $form->addElement('submit', null, 'Betal');
     $form->addRule('cardnumber', 'Du skal skrive et kortnummer', 'required');
     $form->addRule('cardnumber', 'Du skal skrive et kortnummer', 'numeric');
     $form->addRule('cvd', 'Du skal skrive et sikkerhedsnummer', 'required');
     $form->addRule('cvd', 'Du skal skrive et sikkerhedsnummer', 'numeric');
     $form->addRule('mm', 'Du skal udfylde Mdr.', 'required');
     $form->addRule('mm', 'Du skal udfylde Mdr.', 'numeric');
     $form->addRule('yy', 'Du skal udfylde år ', 'required');
     $form->addRule('yy', 'Du skal udfylde år', 'numeric');
     $form->applyFilter('__ALL__', 'trim');
     $form->applyFilter('__ALL__', 'addslashes');
     $form->applyFilter('__ALL__', 'strip_tags');
     return $this->form = $form;
 }
Exemple #7
0
 function renderHtml()
 {
     $tilmelding = VIH_Model_KortKursus_Tilmelding::factory($this->name());
     if (!$tilmelding->loadBetaling()) {
         throw new Exception('Kunne ikke loade betaling');
     }
     if (strtolower($tilmelding->get('status')) == 'slettet') {
         throw new Exception('Denne ordre er slettet. Ring til 75820811, hvis det er en fejl.');
     }
     $opl_data = array('caption' => 'Tilmeldingsoplysninger', 'tilmelding' => $tilmelding);
     $delt_data = array('deltagere' => $tilmelding->getDeltagere(), 'type' => $tilmelding->get('keywords'), 'kursus' => $tilmelding->kursus);
     $betal_data = array('tilmelding' => $tilmelding);
     $opl_tpl = $this->template->create('KortKursus/Tilmelding/oplysninger');
     $delt_tpl = $this->template->create('KortKursus/Tilmelding/deltagere');
     $bet_tpl = $this->template->create('KortKursus/Tilmelding/prisoversigt');
     $oversigt_data = array('tilmelding' => $tilmelding, 'oplysninger' => $opl_tpl->render($this, $opl_data), 'deltagere' => $delt_tpl->render($this, $delt_data), 'betalinger' => $bet_tpl->render($this, $betal_data));
     $this->document->setTitle('Tilmelding #' . $tilmelding->get('id'));
     $tpl = $this->template->create('Kundelogin/kortekurser');
     return $tpl->render($this, $oversigt_data);
 }
 function testSaveCanUpdateAndAddInfoToAnOnlineTilmelding()
 {
     $kort_kursus_id = $this->createKortKursusId();
     $data = array('kursus_id' => $kort_kursus_id, 'antal_deltagere' => 1);
     $session_id = rand(1, 1000000000);
     $tilmelding = new VIH_Model_KortKursus_OnlineTilmelding($session_id);
     $this->assertTrue($id = $tilmelding->start($data) > 0);
     $data = array('kursus_id' => $kort_kursus_id, 'kontaktnavn' => 'Test', 'adresse' => 'Test', 'postnr' => '2000', 'postby' => 'Test', 'email' => 'Test', 'mobil' => 'Test', 'telefonnummer' => 'Test', 'mobil' => 'Test', 'besked' => 'test', 'afbestillingsforsikring' => 'Ja');
     $tilmelding = new VIH_Model_KortKursus_Tilmelding($id);
     $this->assertTrue($tilmelding->save($data) > 0);
 }
Exemple #9
0
 /**
  * Gets vacant rooms for family courses
  *
  * Rules, a bed is needed when:
  * - older than two years
  * - more than three persons = another room
  *
  * @see	Tilmelding
  *
  * @return integer
  */
 function getVaerelser()
 {
     $vaerelser = 0;
     $sql = "SELECT id FROM kortkursus_tilmelding WHERE kortkursus_id = " . $this->id . " AND active = 1";
     $db = new DB_Sql();
     $db->query($sql);
     while ($db->nextRecord()) {
         $tilmelding = new VIH_Model_KortKursus_Tilmelding($db->f('id'));
         $vaerelser += $tilmelding->getVaerelser();
     }
     return $this->get('vaerelser') - $vaerelser;
 }
Exemple #10
0
 /**
  * Cleans up old subscriptions
  *
  * NOTICE: Use cancel() and not delete()
  *
  * @return 1 on success
  */
 function cleanUp()
 {
     $db = new DB_Sql();
     $db->query("SELECT id, DATE_ADD(date_updated, INTERVAL 1 HOUR) AS date_created FROM kortkursus_tilmelding\n            WHERE DATE_ADD(date_updated, INTERVAL 1 HOUR) < NOW()\n                AND (status_key = '" . $this->getStatusKey('undervejs') . "' OR status_key = '" . $this->getStatusKey('ikke tilmeldt') . "') AND active = 1");
     while ($db->nextRecord()) {
         $tilmelding = new VIH_Model_KortKursus_Tilmelding($db->f('id'));
         $tilmelding->setStatus('annulleret');
     }
     return true;
 }
Exemple #11
0
 function postForm()
 {
     if ($this->getForm()->validate()) {
         $tilmelding = new VIH_Model_KortKursus_Tilmelding($this->context->name());
         $deltagere = $tilmelding->getDeltagere();
         if ($id = $tilmelding->save($this->body())) {
             $i = 0;
             $indkvartering = $this->body('indkvartering_key');
             $post = $this->body();
             foreach ($deltagere as $deltager) {
                 $var['id'] = $post['deltager_id'][$i];
                 $var['navn'] = $post['navn'][$i];
                 $var['cpr'] = $post['cpr'][$i];
                 if (!empty($indkvartering[$i])) {
                     $var['indkvartering_key'] = $indkvartering[$i];
                     $var['sambo'] = $post['sambo'][$i];
                 }
                 switch ($tilmelding->kursus->get('gruppe_id')) {
                     case 1:
                         // golf
                         $var['handicap'] = $post['handicap'][$i];
                         $var['klub'] = $post['klub'][$i];
                         $var['dgu'] = $post['dgu'][$i];
                         break;
                     case 3:
                         // bridge
                         $var['niveau'] = $post['niveau'][$i];
                         break;
                     case 4:
                         // golf og bridge
                         $var['handicap'] = $post['handicap'][$i];
                         $var['klub'] = $post['klub'][$i];
                         $var['dgu'] = $post['dgu'][$i];
                         $var['niveau'] = $post['niveau'][$i];
                         break;
                     default:
                         break;
                 }
                 // switch
                 $deltager_object = new VIH_Model_KortKursus_Tilmelding_Deltager($tilmelding, $post['deltager_id'][$i]);
                 if (!$deltager_object->save($var)) {
                     // saving was unsuccessful. What @todo
                 }
                 $i++;
             }
             // foreach
             return new k_SeeOther($this->context->url());
         }
     }
     return $this->render();
 }
Exemple #12
0
<?php

require_once 'config.local.php';
set_include_path('/home/vih/pear/php/' . PATH_SEPARATOR . get_include_path());
require_once 'Ilib/ClassLoader.php';
$date = date('Y-m-d');
//$date_sent = '2010-06-08 12:00:00';
$date_sent = '2009-05-08 12:00:00';
$db = MDB2::factory(DB_DSN);
$res = $db->query('SELECT kortkursus_tilmelding.id
    FROM kortkursus_tilmelding
    INNER JOIN kortkursus ON kortkursus.id = kortkursus_tilmelding.kortkursus_id
    WHERE kortkursus.dato_start > "' . $date . '" AND kortkursus.active = 1
        AND kortkursus_tilmelding.active = 1 AND kortkursus_tilmelding.status_key > 1 AND kortkursus_tilmelding.date_created > "' . $date_sent . '"');
if (PEAR::isError($res)) {
    die($res->getUserInfo());
}
$i = 0;
while ($row = $res->fetchRow(MDB2_FETCHMODE_ASSOC)) {
    $tilmelding = new VIH_Model_KortKursus_Tilmelding($row['id']);
    $subject = 'Vil du have en udfordring?';
    $body = "Du er tilmeldt et af de kommende korte kurser på Vejle Idrætshøjskole. Vi glæder os til at se dig - og vi håber på en aktiv sommer :) Eleverne på de lange kurser er rejst, og skolen er ved at blive gjort klar til en travl og dejlig sommer.\n\nHvis du har lyst, kan du deltage i en lille udfordring, hvor det handler om at røre sig i flest minutter i løbet af sommeren. Det tæller lige meget om du går, løber, cykler eller ror. Det tæller ikke hvis du kører i bil :):\n\nhttp://www.endomondo.com/challenge/ihR2EWTL9nU\n\nDu kan læse lidt mere om Endomondo på http://motionsplan.dk/artikel/endomondo-din-motivation.\n\nHvis du har lyst, kan du også stadig klikke ind på vores Facebook-side og finde det kursus, du er tilmeldt :)\n\nhttp://www.facebook.com/pages/Vejle-Idraetshojskole/93365171887?v=app_2344061033&vm=all\n\n.\n\nHvis der er mindre end 14 dage til dit kursus starter, skulle du gerne have modtaget yderligere materiale om kurset med posten. Hvis det ikke er tilfældet, må du gerne skrive til kontor@vih.dk.\n\nVenlig hilsen\n\nLars Olesen\nVejle Idrætshøjskole";
    $headers = 'From: kontor@vih.dk' . "\r\n" . 'Reply-To: kontor@vih.dk';
    if ($email = $tilmelding->get('email')) {
        //mail('*****@*****.**', $subject, $body, $headers);
        mail($email, $subject, $body, $headers);
        $i++;
    }
}
echo 'Sendt til' . $i;