HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/ilysium.komma.pro/wwwroot/app/controllers/c_booking.class.php
<?php
/**
 * c_booking.class.php
 * Created by Komma Mediadesign.
 * Author: mike
 * Date: 11/02/14
 */

include DOCUMENT_ROOT . '/lib/form/form.class.php';
include DOCUMENT_ROOT . '/lib/mail/php_mailer.class.php';

class Booking extends Controller
{
    private $name = 'booking';
    private $options;

    public function __construct()
    {
        parent::__construct();

        $this->options = array(
            'Priv&eacute; Sauna 2 uur',
            'Priv&eacute; Sauna 3 uur',
            'Priv&eacute; Sauna 4 uur',
            'Priv&eacute; Sauna - All In',
            'Sauna &amp; Kuren - Stoomstempels &amp; Kruiden',
            'Sauna &amp; Kuren - Houtkrullen &amp; Bronwater',
            'Sauna &amp; Kuren - Stoom &amp; Rasul',
            'Sauna &amp; Kuren - Geitenmelk &amp; Baln&eacute;o',
            'Sauna &amp; Kuren - Bamboe &amp; Massage',
            'Sauna &amp; Kuren - Aroma &amp; Massage',
            'Me-Time - Puur balans',
            'Me-Time - Puur op adem komen',
            'Me-Time - Puur spa',
            'Me-Time - Puur welzijn',
            'Skin care - Ontgifting en huidverfijning',
            'Skin care - Fijne lijntjes en rimpels',
            'Skin care - Eau Thermale Spa&trade;',
            'Skin care - Na dermo-esthetiek',
            'Skin care - Collageen Hyaluron',
            'Skin care - Micro Dermabrasie',
            'Skin care - Oogbehandeling',
            'Skin care - Specifiek voor de man',
        );
    }

    /*
     * Index of the home page
     */
    public function index()
    {
        // Title
        $this->View->setData('page_title', 'Reserveren | ' . SITE_NAME );

        // Breadcrumb
        $bc = new Breadcrumb();
        $bc->push('','/','home');
        $bc->push('reserveren','/reserveren');
        $this->View->setData('breadcrumb', $bc->create() ); ;

        // Generate form
        $Form = new Form($this->name);
        $fields = $Form->generate();
        $this->View->setData('form_fields',$fields);

        // Load template view
        $this->View->render('v_booking');
    }


    /*
     * Validate contact form
     */
    public function validate()
    {
        if(isset($_POST['secret_code']) && $_POST['secret_code'] == 'spam_check_komma')
        {
            $Form = new Form($this->name);
            if($Form->validate())
            {
                // Get data for mail
                $data = $_SESSION[$this->name]['data'];

                $data['arrangement'] = $this->options[$data['arrangement']];
                /*$data['newsletter'] ? $data['newsletter'] = 'ja' : $data['newsletter'] = 'nee';*/

                // Convert message
                $data['message'] = nl2br($data['message']);

                $from['email'] = COMPANY_EMAIL;
                $from['name'] = COMPANY_NAME;
                $to['email'] = COMPANY_EMAIL;
                $to['name'] = COMPANY_NAME;

                // Create message for mail
                $msg = 'Er is een bericht binnen gekomen via het reserveringsformulier op de website:<br /><br />';
                foreach($data as $prop => $value)
                {
                    $msg .= '<strong>' . $this->lang[$prop] . '</strong>:<br />';
                    if($prop == 'email') $msg .= '<a href="mailto:' . $value . '">';
                    $msg .= $value;
                    if($prop == 'email') $msg .= '</a>';
                        $msg .= '<br /><br />';
                }

                // Message client
                $clientMsg = '<span style="color:#47474D">Geachte heer, mevrouw ' . ucfirst($data['last_name']) . '<br /><br /><br />';
                $clientMsg .= 'Uw aanvraag wordt zo snel mogelijk beantwoord.<br /><br /><br />';
                $clientMsg .= 'Met vriendelijke groeten<br />';
                $clientMsg .= '<b>ILYSIUM</b> Puur Welzijn</span>';

                // Send e-mail
                $Mailer = new PHPMailer(TRUE);
                try
                {
                    // Mail
                    $Mailer->AddAddress($to['email'], $to['name']);
                    $Mailer->SetFrom($from['email'], $from['name']);
                    $Mailer->Subject = 'Ilysium - Reserveringsformulier';
                    $Mailer->MsgHTML($msg);
                    $Mailer->Send();

                    // Mail Client
                    $ClientMailer = new PHPMailer(TRUE);
                    $ClientMailer->AddAddress($data['email'], $data['first_name'] . ' ' . $data['last_name']);
                    $ClientMailer->SetFrom(COMPANY_EMAIL, COMPANY_NAME);
                    $ClientMailer->Subject = 'Bedankt voor uw aanvraag';
                    $ClientMailer->MsgHTML($clientMsg);
                    $ClientMailer->Send();

                    // Success message
                    $_SESSION[$this->name]['success'] = 'Geachte heer, mevrouw ' . ucfirst($data['last_name']) . '<br /><br /><br />
                                                        Uw aanvraag wordt zo snel mogelijk beantwoord.<br /><br /><br />
                                                        Met vriendelijke groeten<br />
                                                        <strong>ILYSIUM</strong> Puur Welzijn';

                }
                catch (phpmailerException $e)
                {
                    // Catch mail problem?
                    $_SESSION[$this->name]['main_error'] = 'Er is iets fout gegaan bij verzenden. <br />Neem contact op met <a href="mailto:info@ilysium.be">info@ilysium.be</a>';

                }
                unset($_SESSION[$this->name]['data']);
            }
        }
        $_SESSION['to_form'] = 1;
        Fn::redirect('/reserveren');
    }
}