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é Sauna 2 uur',
'Privé Sauna 3 uur',
'Privé Sauna 4 uur',
'Privé Sauna - All In',
'Sauna & Kuren - Stoomstempels & Kruiden',
'Sauna & Kuren - Houtkrullen & Bronwater',
'Sauna & Kuren - Stoom & Rasul',
'Sauna & Kuren - Geitenmelk & Balnéo',
'Sauna & Kuren - Bamboe & Massage',
'Sauna & Kuren - Aroma & 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™',
'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');
}
}