public function send_activation_email($email, $activate_key)
 {
     $activation = $this->generate_key();
     $message = " To activate your account, please click on this link:\n\n";
     $message .= DEFAULT_WEBSITE_URL . 'Activations/confirm/email=' . urlencode(trim($email)) . "/key={$activate_key}";
     Email::init($email, 'Confirm Registration to ' . DEFAULT_HOSTNAME, $message);
     Email::send_mail();
     return TRUE;
 }
 public function request_reset()
 {
     /* Controleren of de reCaptcha is geset en of er een waarde ingevuld is. */
     if (!empty($_POST['g-recaptcha-response']) && !empty($_POST['vergeten'])) {
         /* Controleren of de reCaptcha correct is. */
         if (Functions::check_captcha($_POST['g-recaptcha-response'])) {
             /* Escape de input tegen mysql injecties. */
             $input = Database::escape($_POST['vergeten']);
             /* Controleren of het ingevulde data een e-mailadre is. */
             if (filter_var($input, FILTER_VALIDATE_EMAIL)) {
                 /* Het is een e-mailadres, dus selecteer de benodigde data van het account. */
                 $query = Database::query("SELECT id, UNIX_TIMESTAMP(reset_date) AS reset_date FROM customer WHERE email = '" . $input . "'");
                 /* Stel type in. */
                 $type = 'email';
             } else {
                 /* Geen e-mailadres, dus kijk of het een getal is voor het abonneenummer. */
                 if (is_numeric($input)) {
                     /* Het is een nummer. */
                     $query = Database::query("SELECT c.id, UNIX_TIMESTAMP(c.reset_date) AS reset_date FROM subscription AS s INNER JOIN customer AS c ON c.id = s.customer_id WHERE s.sub_number = " . $input);
                     /* Stel type in. */
                     $type = 'sub';
                 } else {
                     /* Zowel het e-mailadres als de abonneenummer check zijn gefaalt. */
                     throw new Exception('Het e-mailadres of abonneenummer dat u heeft ingevuld, is onjuist.');
                 }
             }
             /* Controleren of de query gelukt is. */
             if ($query) {
                 /* Controleren of het account bestaat. */
                 if ($query->num_rows != 0) {
                     /* Object maken om gegevens uit te halen. */
                     $obj = $query->fetch_object();
                     /* Kijken of er niet al binnen een ingestelde tijd al eerder een request is gedaan. */
                     if (time() - $obj->reset_date > Settings::get('login_password_request_timeout')) {
                         /* Maak een random string aan met 96 karakters. */
                         $reset_key_db = Functions::random_string(96);
                         /* Zet hier het account id voor. */
                         $reset_key = $obj->id . '-' . $reset_key_db;
                         /* Base64 encode de reset keys. */
                         $reset_key = base64_encode($reset_key);
                         $reset_key_db = base64_encode($reset_key_db);
                         /* Update de database. */
                         $update = Database::query("UPDATE customer SET reset_key = '" . Database::escape($reset_key_db) . "', reset_date = NOW() WHERE id = " . $obj->id);
                         /* Controleren of de update is gelukt. */
                         if ($update) {
                             /* Probeer onderstaande. */
                             try {
                                 /* Probeer een mail te sturen. */
                                 Email::send_mail($input, 'CityPark - Wachtwoord reset', 'Beste ' . $_SESSION['login']['naam'] . ',<br /><br />Op ' . Date('d-m-Y \\o\\m H:i:s') . ' is een aanvraag gedaan om het wachtwoord van uw account te resetten.<br /><br />U kunt uw wachtwoord resetten door op de onderstaande link te klikken.<br /><a href="' . Config::$base_href . '?reset=' . $reset_key . '">Klik hier om uw wachtwoord te resetten.</a><br /><br />Wanneer u geen aanvraag heeft gedaan om uw wachtwoord te resetten, kunt u deze mail negeren en verwijderen.<br />De link blijft een bepaalde periode geldig, waarna hij vervalt. Indien u went het wachtwoord te resetten terwijl de link vervallen is, dient u opnieuw een aanvraag in te dienen.');
                                 /* Success bericht instellen, zodat deze op de login pagina weergeven wordt. */
                                 $_SESSION['vergeten'] = 'Er is een e-mail verzonden met daarin instructies om uw wachtwoord opnieuw in te stellen.';
                             } catch (Exception $e) {
                                 /* Foutmelding gevangen, gooi deze door. */
                                 throw new Exception($e->getMessage());
                             }
                         } else {
                             /* MySQL foutmelding. */
                             throw new Exception('Er ging wat fout bij het aanmaken van een reset key.<br />' . Database::error());
                         }
                     } else {
                         /* Er is al eerder een request gedaan binnen de minimale 'rust' tijd. */
                         throw new Exception('Er is recent al een aanvraag gedaan om het wachtwoord te resetten.');
                     }
                 } else {
                     /* Het account bestaat niet. */
                     throw new Exception('Er is geen account gevonden met het opgegeven ' . ($type == 'email' ? 'e-mailadres' : 'abonneenummer') . '.');
                 }
             } else {
                 /* MySQL foutmelding. */
                 throw new Exception('Er ging wat fout bij het opzoeken van het bijbehorende account.<br />' . Database::error());
             }
         } else {
             /* De key is incorrect, dus stop het login procedure en gooi een foutmelding. */
             throw new Exception('Kon niet valideren of u een mens of robot bent.');
         }
     } else {
         /* Niet alle velden zijn ingevuld. */
         throw new Exception('Niet alle velden zijn ingevuld.');
     }
 }
Beispiel #3
0
 private static function notify_by_email($user, $password)
 {
     $file = "account_creation_email";
     $data = array('{user_name}' => $user->firstname . " " . $user->lastname, '{email}' => $user->email, '{password}' => $password);
     Email::send_mail($user->email, $file, $data);
 }
Beispiel #4
0
 public function send_exam_reminder_email($students, $exam_result)
 {
     foreach ($students as $student) {
         $file = "exam_reminder_email";
         $data = array('{user_name}' => $student->firstname . " " . $student->lastname, '{exam_name}' => $exam_result->name, '{date}' => date('d-m-Y', $exam_result->eventstart), '{time}' => date('g:i:s a', $exam_result->eventstart));
         Email::send_mail($student->email, $file, $data);
     }
 }
Beispiel #5
0
 private function invoice_subscription()
 {
     /* Selecteer alle abonnees. */
     $select = Database::query("SELECT s.*, c.email, ci.bank_account FROM subscription AS s INNER JOIN customer AS c ON c.id = s.customer_id INNER JOIN customer_info AS ci ON ci.customer_id = s.customer_id");
     /* Kijken of query gelukt is. */
     if ($select) {
         /* Kijken of er abonnees zijn. */
         if ($select->num_rows != 0) {
             /* Haal de prijs op van de abonneekosten. */
             $sub_price = Settings::get('citypark_subscription_month_cost');
             /* Loop elke abonnee bij langs. */
             while ($obj = $select->fetch_object()) {
                 /* Maak een invoice object aan. */
                 $obj->invoice = new Invoice();
                 /* Maak nieuw factuur aan. */
                 $obj->invoice->new_invoice($obj->customer_id, 'subscription');
                 /* Voeg een item toe aan het factuur, met daarin de abonnement kosten van nu (eerste van de maand) tot en met einde deze maand. */
                 $obj->invoice->add_item('Abonnement kosten', 'Van 01-' . Date('m-Y') . ' tot en met ' . Date('t-m-Y') . '.', '1', $sub_price);
                 /* Haal aantal gratis minuten op, en zet deze in het object. */
                 $obj->free_minutes = Settings::get('citypark_guest_free_minutes');
                 /* Geef obj als current sub in. */
                 $this->current_sub = $obj;
                 /* Bereken de gastenpas kosten. */
                 $this->invoice_guest_pass($obj);
                 /* Haal totaal bedrag op. */
                 $price = $obj->invoice->get_total_price();
                 /* Proberen te betalen. */
                 if (Bank_api::transfer($price, $obj->bank_account, Config::$bank_account)) {
                     /* Stel factuur als betaald in. */
                     $obj->invoice->set_paid();
                     /* Mail success. */
                     Email::send_mail($obj->email, 'CityPark - Factuur aangemaakt en betaald', 'Er is zojuist een factuur aangemaakt waarin de kosten van het abonnement en de eventuele kosten van het gebruik van de gasten pas. Het factuur is succesvol betaald.<br /><br />U kun het factuur downloaden en bekijken in het klanten paneel.');
                 } else {
                     /* Mail foutmelding. */
                     Email::send_mail($obj->email, 'CityPark - Factuur aangemaakt en niet betaald', 'Er is zojuist een factuur aangemaakt waarin de kosten van het abonnement en de eventuele kosten van het gebruik van de gasten pas<br /><br />Het factuur kon niet worden betaald. Binnen een aantal dagen proberen wij het verschuldigde bedrag nogmaals van uw rekeningnummer af te schrijven.<br /><br />U kun het factuur downloaden en bekijken in het klanten paneel.');
                 }
             }
         }
     } else {
         /* MySQL Foutmelding. */
         die('Error [invoice_subscription]: ' . Database::error());
     }
 }
Beispiel #6
0
 private function send_change_password_email($email, $email_key)
 {
     $activation = $this->generate_key();
     $message = " To reset your password, please click on this link:\n\n";
     $message .= DEFAULT_WEBSITE_URL . 'Users/change_password/email=' . urlencode(trim($email)) . "/key={$email_key}";
     Email::init($email, 'Reset your password', $message);
     Email::send_mail();
     return TRUE;
 }
Beispiel #7
0
 public function send_child_email()
 {
     if (!$this->is_role('parent')) {
         throw new Exception('Invalid Role');
     }
     $child = ORM::factory('user')->where('parent_user_id', '=', $this->id)->find();
     if ($child->status == '1') {
         $forgot_password_string = md5($child->email . time());
         $child->forgot_password_string = $forgot_password_string;
         $child->save();
         $file = "child_approved_email";
         $data = array('{child_name}' => $child->firstname . " " . $child->lastname, '{url}' => Url::site("auth"), '{parent_name}' => $this->firstname . " " . $this->lastname, '{child_email}' => $child->email, '{password_url}' => Url::site("auth/changepassword/u/" . $forgot_password_string));
     } else {
         $file = "child_unapproved_email";
         $data = array('{parent_name}' => $parent->firstname . " " . $parent->lastname, '{child_name}' => $this->firstname . " " . $this->lastname, '{parent_email}' => $parent->email);
     }
     Email::send_mail($child->email, $file, $data);
 }
Beispiel #8
0
 private function forgot_password()
 {
     $user = ORM::factory('user');
     $validator = $user->validator_forgot_password($this->request->post());
     if ($validator->check()) {
         $user->where('email', ' = ', $this->request->post('email'));
         $user->find();
         $forgot_password_string = md5($user->email . time());
         $user->forgot_password_string = $forgot_password_string;
         $user->save();
         //$user->email;
         //Email::connect($config = NULL);
         $to = $user->email;
         $file = "forgot_password_email";
         $data = array('{user_name}' => $user->firstname . " " . $user->lastname, '{password_url}' => Url::site("auth/changepassword/u/" . $forgot_password_string));
         Email::send_mail($to, $file, $data);
         return '<div class="formMessages" style="width:300px; height:50px">
                     <span class="fmIcon good"></span> 
                     <span class="fmText">A link to reset your password has been sent at ' . $user->email . '</span>
                     <span class="clear"></span>
                </div>';
     } else {
         $this->_errors = $validator->errors('register');
     }
 }
 public static function register_subscription()
 {
     /* Controleren of alle vereiste velden ingevuld zijn. */
     if (!empty($_POST['firstname']) && !empty($_POST['lastname']) && !empty($_POST['street']) && !empty($_POST['house_nr']) && !empty($_POST['zipcode']) && !empty($_POST['city']) && !empty($_POST['bank_account']) && !empty($_POST['email']) && !empty($_POST['passwd_sha512']) && !empty($_POST['passwd_conf_sha512'])) {
         /* Kijken of minimaal een van de twee telefoonnummers ingevuld is. */
         if (!empty($_POST['phone_home']) || !empty($_POST['phone_mob'])) {
             /* Controleren of het bank rekening nummer een getal is. */
             if (is_numeric($_POST['bank_account']) && strlen($_POST['bank_account']) == 6) {
                 /* Controleren of het huis nummer een getal is. */
                 if (is_numeric($_POST['house_nr'])) {
                     /* Controleren of het e-mailadres klopt. */
                     if (filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
                         /* Kijken of beide ingevulde wachtwoorden overeen komen. */
                         if ($_POST['passwd_sha512'] == $_POST['passwd_conf_sha512']) {
                             /* Escape de heel $_POST array, en plaats het resultaat terug in $_POST. */
                             $_POST = Database::escape_array($_POST);
                             /* Select query uitvoeren op het ingevulde email. */
                             $check_mail = Database::query("SELECT id FROM customer WHERE email = '" . $_POST['email'] . "' LIMIT 1");
                             /* Kijken of de query is gelukt. */
                             if ($check_mail) {
                                 /* Kijken of het email niet al bestaat. */
                                 if ($check_mail->num_rows == 0) {
                                     /* Haal minimaal bedrag op wat de klant moet kunnen betalen. */
                                     $min_balance = Settings::get('citypark_subscription_month_cost') * Settings::get('citypark_register_min_balance');
                                     /* Voor de zekerheid komma's vervangen met punten. */
                                     $min_balance = str_replace(',', '.', $min_balance);
                                     /* Bij de bank controlleren of de gebruiker het minimum bedrag kan betalen. */
                                     if (Bank_api::check($_POST['bank_account'], $min_balance)) {
                                         /* Het nieuwe wachtwoord aanmaken. */
                                         $passwd = password_hash($_POST['passwd_sha512'], PASSWORD_DEFAULT, ['cost' => Settings::get('login_passwd_cost')]);
                                         /* Het nieuwe wachtwoord base64 encoderen. */
                                         $passwd = base64_encode($passwd);
                                         /* Insert query voor een customer. */
                                         $insert_customer = Database::query("INSERT INTO customer (username, password, email, active, register_date) VALUES ('', '" . $passwd . "', '" . $_POST['email'] . "', 0, NOW())");
                                         /* Controleren of de query is gelukt. */
                                         if ($insert_customer) {
                                             /* Haal het customer ID op. */
                                             $customer_id = Database::insert_id();
                                             /* Insert query voor customer info. */
                                             $insert_customer_info = Database::query("INSERT INTO customer_info (customer_id, firstname, inserts, lastname, street, house_nr, house_nr_add, city, zipcode, phone_home, phone_mob, bank_account) VALUES (" . $customer_id . ", '" . $_POST['firstname'] . "', " . (!empty($_POST['inserts']) ? '\'' . $_POST['inserts'] . '\'' : 'NULL') . ", '" . $_POST['lastname'] . "', '" . $_POST['street'] . "', " . $_POST['house_nr'] . ", " . (!empty($_POST['house_nr_add']) ? '\'' . $_POST['house_nr_add'] . '\'' : 'NULL') . ", '" . $_POST['city'] . "', '" . $_POST['zipcode'] . "', '" . $_POST['phone_home'] . "', '" . $_POST['phone_mob'] . "', " . $_POST['bank_account'] . ")");
                                             /* Controleren of de insert query is gelukt. */
                                             if ($insert_customer_info) {
                                                 /* Proberen twee passen op te halen. */
                                                 try {
                                                     /* Haal de passen op. */
                                                     $pass_array = Self::get_free_pass();
                                                 } catch (Exception $e) {
                                                     /* Foutmelding gevangen, verwijder de customer uit de database. */
                                                     Database::query("DELETE FROM customer WHERE id = " . $customer_id);
                                                     Database::query("DELETE FROM customer_info WHERE customer_id = " . $customer_id);
                                                     /* Gooi foutmelding door. */
                                                     throw new Exception($e->getMessage());
                                                 }
                                                 /* Maak een nieuw abonneenummer. */
                                                 $abonneenummer = Self::new_sub_number();
                                                 /* Insert query voor abonnee. */
                                                 $insert_subscription = Database::query("INSERT INTO subscription (customer_id, sub_number, start_date) VALUES (" . $customer_id . ", " . $abonneenummer . ", NOW())");
                                                 /* Kijken of de insert gelukt is. */
                                                 if ($insert_subscription) {
                                                     /* Haal het abonnee ID op. */
                                                     $abonnee_id = Database::insert_id();
                                                     /* Maak een random string aan met 96 karakters. */
                                                     $activate_key_db = Functions::random_string(96);
                                                     /* Zet hier het account id voor. */
                                                     $activate_key = $customer_id . '-' . $activate_key_db;
                                                     /* Base64 encode de activate keys. */
                                                     $activate_key = base64_encode($activate_key);
                                                     $activate_key_db = base64_encode($activate_key_db);
                                                     /* Update de customer, en geef de gebruikersnaam het zelfde als het abonneenummer en sla de activate key op. */
                                                     $update_username = Database::query("UPDATE customer SET username = '******', activate_key = '" . Database::escape($activate_key_db) . "' WHERE id = " . $customer_id);
                                                     /* Kijken of de update query gelukt is. */
                                                     if ($update_username) {
                                                         /* Update de twee RFID kaarten en koppel ze aan het abonnement. */
                                                         $update_card_one = Database::query("UPDATE rfid_card SET subscription_id = " . $abonnee_id . ", type_card = 'subscription', in_use = 1, blocked = 0, blocked_reason = NULL, blocked_date = NULL WHERE id = " . Database::escape($pass_array[0]));
                                                         /* Kijken of de update query is gelukt. */
                                                         if ($update_card_one) {
                                                             /* Update de tweede kaart. */
                                                             $update_card_two = Database::query("UPDATE rfid_card SET subscription_id = " . $abonnee_id . ", type_card = 'guest', in_use = 1, blocked = 0, blocked_reason = NULL, blocked_date = NULL WHERE id = " . Database::escape($pass_array[1]));
                                                             /* Kijken tweede update query is gelukt. */
                                                             if ($update_card_two) {
                                                                 /* Betaling maken, en kijken of deze is gelukt. */
                                                                 if (Payment::pay_subscription($abonneenummer, 1, $_POST['bank_account'], true)) {
                                                                     /* Query om permissies aan account toe te voegen. */
                                                                     $insert_permission = Database::query("INSERT INTO permission_customer_in_group (customer_id, group_id) VALUES (" . $customer_id . ", " . (int) Database::escape(Settings::get('citypark_standard_group')) . ")");
                                                                     if ($insert_permission) {
                                                                         /* Probeer het onderstaande. */
                                                                         try {
                                                                             /* Probeer een mail te sturen. */
                                                                             Email::send_mail($_POST['email'], 'CityPark - Abonnoment aanvraag', 'Beste ' . $_POST['firstname'] . ' ' . $_POST['lastname'] . ',<br /><br />Op ' . Date('d-m-Y \\o\\m H:i:s') . ' heeft u succesvol een abonnement aangevraagd bij CityPark.<br /><br />Er zijn twee parkeerpassen aan uw abonnement gekoppeld en worden zo snel mogelijk naar uw adres gestuurt. De parkeerpassen die aan uw abonnement zijn gekoppeld hebben de nummers:<br /><i>Abonneepas #' . $pass_array[0] . '</i><br /><i>Gastenpas #' . $pass_array[1] . '</i><br /><br />Om toegang te krijgen tot het klantenpaneel, dient u het account, die aangemaakt is tijdens het aanvragen van het abonnement, te activeren. U kunt uw account activeren door op de onderstaande link te klikken.<br /><a href="' . Config::$base_href . '?activate=' . $activate_key . '">Klik hier om uw account te activeren</a><br /><br />Het gebruikersnaam van uw account is <strong>' . $abonneenummer . '</strong>, en het wachtwoord heeft u zelf ingevuld.<br /><br />Het factuur van uw eerste maandafschiften is te vinden op het klantenpaneel.<br /><br />Uw abonnement is per direct in gegaan, en u kunt de parkeerpassen direct gebruiken wanneer u deze ontvangen heeft. Indien de parkeerpassen verloren raken of gestolen zijn, kunt u deze blokkeren in het klantenpaneel.');
                                                                             /* Registratie gelukt, return een true. */
                                                                             return true;
                                                                         } catch (Exception $e) {
                                                                             /* Foutmelding gevangen, gooi deze door. */
                                                                             throw new Exception($e->getMessage());
                                                                         }
                                                                     } else {
                                                                         /* Query mislukt, maar omdat de betaling wel gelukt is, laten we het abonnement in de database staan. */
                                                                         /* Gooi foutmelding. */
                                                                         throw new Exception('Er is wat fout gegaan bij het toevoegen van de rechten op uw account. Neem a.u.b. contact op.<br />' . Database::error());
                                                                     }
                                                                 } else {
                                                                     /* Query mislukt, verwijder de customer uit de database. */
                                                                     Database::query("DELETE FROM customer WHERE id = " . $customer_id);
                                                                     Database::query("UPDATE rfid_card SET type_card = NULL, in_use = 0 WHERE id = " . Database::escape($pass_array[0]));
                                                                     Database::query("UPDATE rfid_card SET type_card = NULL, in_use = 0 WHERE id = " . Database::escape($pass_array[1]));
                                                                     /* Gooi foutmelding door. */
                                                                     throw new Exception('Er kon geen betaling worden gedaan.');
                                                                 }
                                                             } else {
                                                                 /* Query mislukt, verwijder de customer uit de database. */
                                                                 Database::query("DELETE FROM customer WHERE id = " . $customer_id);
                                                                 Database::query("UPDATE rfid_card SET type_card = NULL, in_use = 0 WHERE id = " . Database::escape($pass_array[0]));
                                                                 /* Gooi foutmelding. */
                                                                 throw new Exception('[1] Er ging wat fout bij het koppelen van de parkeer passen.<br />' . Database::error());
                                                             }
                                                         } else {
                                                             /* Query mislukt, verwijder de customer uit de database. */
                                                             Database::query("DELETE FROM customer WHERE id = " . $customer_id);
                                                             /* Gooi foutmelding. */
                                                             throw new Exception('[0] Er ging wat fout bij het koppelen van de parkeer passen.<br />' . Database::error());
                                                         }
                                                     } else {
                                                         /* Query mislukt, verwijder de customer uit de database. */
                                                         Database::query("DELETE FROM customer WHERE id = " . $customer_id);
                                                         /* Gooi foutmelding door. */
                                                         throw new Exception('Er ging wat fout tijdens het genereren van uw gebruikersnaam.<br />' . Database::error());
                                                     }
                                                 } else {
                                                     /* Query mislukt, verwijder de customer uit de database. */
                                                     Database::query("DELETE FROM customer WHERE id = " . $customer_id);
                                                     /* Gooi foutmelding door. */
                                                     throw new Exception('Er ging wat fout bij het aanmaken van uw abonnement.<br />' . Database::error());
                                                 }
                                             } else {
                                                 /* Om de database schoon te houden, verwijderen we de customer zelf. */
                                                 Database::query("DELETE FROM customer WHERE id = " . $customer_id);
                                                 /* MySQL Foutmelding. */
                                                 throw new Exception('Er ging wat fout tijdens het aanmaken van uw account gegevens.<br />' . Database::error());
                                             }
                                         } else {
                                             /* MySQL Foutmelding. */
                                             throw new Exception('Er ging wat fout tijdens het aanmaken van uw account.<br />' . Database::error());
                                         }
                                     } else {
                                         /* De klant heeft niet genoeg saldo om te mogen registreren. */
                                         throw new Exception('Het saldo op rekeningnummer \'' . $_POST['bank_account'] . '\' is te laag om de registratie te voltooien.');
                                     }
                                 } else {
                                     /* Er bestaat al een klant met dit email. */
                                     throw new Exception('Er is al reeds een klant geregistreerd met het ingevulde e-mailadres.');
                                 }
                             } else {
                                 /* MySQL Foutmelding. */
                                 throw new Exception('Er ging wat fout tijdens het controleren van uw e-mailadres.<br />' . Database::error());
                             }
                         } else {
                             /* Wachtwoorden komen niet overeen. */
                             throw new Exception('De twee ingevulde wachtwoorden komen niet overeen.');
                         }
                     } else {
                         /* E-mailadres is ongeldig. */
                         throw new Exception('Het ingevulde e-mailadres is ongeldig.');
                     }
                 } else {
                     /* Huisnummer is geen getal. */
                     throw new Exception('Het ingevulde huisnummer is ongeldig.');
                 }
             } else {
                 /* Banknummer is geen getal. */
                 throw new Exception('Het ingevulde rekeningnummer is ongeldig.');
             }
         } else {
             /* Beide telefoonnummers missen. */
             throw new Exception('Minimaal een van de telefoonnummers dient ingevuld te worden.');
         }
     } else {
         /* Niet alle verplichte velden zijn ingevuld. */
         throw new Exception('Niet alle verplichte velden zijn ingevuld.');
     }
 }