mirror of
https://github.com/alextselegidis/easyappointments.git
synced 2024-12-22 22:52:35 +03:00
Added the google_analytics_code in the booking page.
This commit is contained in:
parent
e0c3c0eba5
commit
6bfa642339
3 changed files with 460 additions and 436 deletions
|
@ -88,6 +88,8 @@ class Appointments extends CI_Controller {
|
|||
$customer = array();
|
||||
}
|
||||
|
||||
$google_analytics_code = $this->settings_model->get_setting('google_analytics_code');
|
||||
|
||||
// Load the book appointment view.
|
||||
$view = array (
|
||||
'available_services' => $available_services,
|
||||
|
@ -96,7 +98,8 @@ class Appointments extends CI_Controller {
|
|||
'manage_mode' => $manage_mode,
|
||||
'appointment_data' => $appointment,
|
||||
'provider_data' => $provider,
|
||||
'customer_data' => $customer
|
||||
'customer_data' => $customer,
|
||||
'google_analytics_code' => $google_analytics_code
|
||||
);
|
||||
|
||||
} catch(Exception $exc) {
|
||||
|
|
|
@ -1,407 +1,419 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="theme-color" content="#35A768">
|
||||
<title><?php echo $this->lang->line('page_title') . ' ' . $company_name; ?></title>
|
||||
|
||||
<?php
|
||||
// ------------------------------------------------------------
|
||||
// INCLUDE CSS FILES
|
||||
// ------------------------------------------------------------ ?>
|
||||
<link
|
||||
rel="stylesheet"
|
||||
type="text/css"
|
||||
href="<?php echo $this->config->item('base_url'); ?>/assets/ext/bootstrap/css/bootstrap.min.css">
|
||||
<link
|
||||
rel="stylesheet"
|
||||
type="text/css"
|
||||
href="<?php echo $this->config->item('base_url'); ?>/assets/ext/jquery-ui/jquery-ui.min.css">
|
||||
<link
|
||||
rel="stylesheet"
|
||||
type="text/css"
|
||||
href="<?php echo $this->config->item('base_url'); ?>/assets/ext/jquery-qtip/jquery.qtip.min.css">
|
||||
<link
|
||||
rel="stylesheet"
|
||||
type="text/css"
|
||||
href="<?php echo $this->config->item('base_url'); ?>/assets/css/frontend.css">
|
||||
<link
|
||||
rel="stylesheet"
|
||||
type="text/css"
|
||||
href="<?php echo $this->config->item('base_url'); ?>/assets/css/general.css">
|
||||
|
||||
<?php
|
||||
// ------------------------------------------------------------
|
||||
// INCLUDE JAVASCRIPT FILES
|
||||
// ------------------------------------------------------------ ?>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="<?php echo $this->config->item('base_url'); ?>/assets/ext/jquery/jquery.min.js"></script>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="<?php echo $this->config->item('base_url'); ?>/assets/ext/jquery-ui/jquery-ui.min.js"></script>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="<?php echo $this->config->item('base_url'); ?>/assets/ext/jquery-qtip/jquery.qtip.min.js"></script>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="<?php echo $this->config->item('base_url'); ?>/assets/ext/bootstrap/js/bootstrap.min.js"></script>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="<?php echo $this->config->item('base_url'); ?>/assets/ext/datejs/date.js"></script>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="<?php echo $this->config->item('base_url'); ?>/assets/js/frontend_book.js"></script>
|
||||
|
||||
<?php
|
||||
// ------------------------------------------------------------
|
||||
// WEBPAGE FAVICON
|
||||
// ------------------------------------------------------------ ?>
|
||||
<link rel="icon" type="image/x-icon"
|
||||
href="<?php echo $this->config->item('base_url'); ?>/assets/img/favicon.ico">
|
||||
|
||||
<link rel="icon" sizes="192x192"
|
||||
href="<?php echo $this->config->item('base_url'); ?>/assets/img/logo.png">
|
||||
|
||||
<?php
|
||||
// ------------------------------------------------------------
|
||||
// VIEW FILE JAVASCRIPT CODE
|
||||
// ------------------------------------------------------------ ?>
|
||||
<script type="text/javascript">
|
||||
var GlobalVariables = {
|
||||
availableServices : <?php echo json_encode($available_services); ?>,
|
||||
availableProviders : <?php echo json_encode($available_providers); ?>,
|
||||
baseUrl : <?php echo '"' . $this->config->item('base_url') . '"'; ?>,
|
||||
manageMode : <?php echo ($manage_mode) ? 'true' : 'false'; ?>,
|
||||
appointmentData : <?php echo json_encode($appointment_data); ?>,
|
||||
providerData : <?php echo json_encode($provider_data); ?>,
|
||||
customerData : <?php echo json_encode($customer_data); ?>,
|
||||
csrfToken : <?php echo json_encode($this->security->get_csrf_hash()); ?>
|
||||
};
|
||||
|
||||
var EALang = <?php echo json_encode($this->lang->language); ?>;
|
||||
var availableLanguages = <?php echo json_encode($this->config->item('available_languages')); ?>;
|
||||
|
||||
$(document).ready(function() {
|
||||
FrontendBook.initialize(true, GlobalVariables.manageMode);
|
||||
// GeneralFunctions.centerElementOnPage($('#book-appointment-wizard'));
|
||||
GeneralFunctions.enableLanguageSelection($('#select-language'));
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="main" class="container">
|
||||
<div class="wrapper row">
|
||||
<div id="book-appointment-wizard" class="col-xs-12 col-md-10 col-md-offset-1 col-lg-8 col-lg-offset-2">
|
||||
|
||||
<?php
|
||||
// ------------------------------------------------------
|
||||
// FRAME TOP BAR
|
||||
// ------------------------------------------------------ ?>
|
||||
<div id="header">
|
||||
<span id="company-name"><?php echo $company_name; ?></span>
|
||||
|
||||
<div id="steps">
|
||||
<div id="step-1" class="book-step active-step" title="<?php echo $this->lang->line('step_one_title'); ?>">
|
||||
<strong>1</strong>
|
||||
</div>
|
||||
|
||||
<div id="step-2" class="book-step" title="<?php echo $this->lang->line('step_two_title'); ?>">
|
||||
<strong>2</strong>
|
||||
</div>
|
||||
<div id="step-3" class="book-step" title="<?php echo $this->lang->line('step_three_title'); ?>">
|
||||
<strong>3</strong>
|
||||
</div>
|
||||
<div id="step-4" class="book-step" title="<?php echo $this->lang->line('step_four_title'); ?>">
|
||||
<strong>4</strong>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
// ------------------------------------------------------
|
||||
// CANCEL APPOINTMENT BUTTON
|
||||
// ------------------------------------------------------
|
||||
if ($manage_mode === TRUE) {
|
||||
echo '
|
||||
<div id="cancel-appointment-frame" class="row">
|
||||
<div class="col-xs-12 col-sm-10">
|
||||
<p>' .
|
||||
$this->lang->line('cancel_appointment_hint') .
|
||||
'</p>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-2">
|
||||
<form id="cancel-appointment-form" method="post"
|
||||
action="' . $this->config->item('base_url')
|
||||
. '/index.php/appointments/cancel/' . $appointment_data['hash'] . '">
|
||||
<input type="hidden" name="csrfToken" value="' . $this->security->get_csrf_hash() . '" />
|
||||
<textarea name="cancel_reason" style="display:none"></textarea>
|
||||
<button id="cancel-appointment" class="btn btn-default">' .
|
||||
$this->lang->line('cancel') . '</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>';
|
||||
}
|
||||
?>
|
||||
|
||||
<?php
|
||||
// ------------------------------------------------------
|
||||
// DISPLAY EXCEPTIONS (IF ANY)
|
||||
// ------------------------------------------------------
|
||||
if (isset($exceptions)) {
|
||||
echo '<div style="margin: 10px">';
|
||||
echo '<h4>' . $this->lang->line('unexpected_issues') . '</h4>';
|
||||
foreach($exceptions as $exception) {
|
||||
echo exceptionToHtml($exception);
|
||||
}
|
||||
echo '</div>';
|
||||
}
|
||||
?>
|
||||
<?php
|
||||
// ------------------------------------------------------
|
||||
// SELECT SERVICE AND PROVIDER
|
||||
// ------------------------------------------------------ ?>
|
||||
<div id="wizard-frame-1" class="wizard-frame">
|
||||
<div class="frame-container">
|
||||
<h3 class="frame-title"><?php echo $this->lang->line('step_one_title'); ?></h3>
|
||||
|
||||
<div class="frame-content">
|
||||
<div class="form-group">
|
||||
<label for="select-service">
|
||||
<strong><?php echo $this->lang->line('select_service'); ?></strong>
|
||||
</label>
|
||||
|
||||
<select id="select-service" class="col-md-4 form-control">
|
||||
<?php
|
||||
// Group services by category, only if there is at least one service
|
||||
// with a parent category.
|
||||
$has_category = FALSE;
|
||||
foreach($available_services as $service) {
|
||||
if ($service['category_id'] != NULL) {
|
||||
$has_category = TRUE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if ($has_category) {
|
||||
$grouped_services = array();
|
||||
|
||||
foreach($available_services as $service) {
|
||||
if ($service['category_id'] != NULL) {
|
||||
if (!isset($grouped_services[$service['category_name']])) {
|
||||
$grouped_services[$service['category_name']] = array();
|
||||
}
|
||||
|
||||
$grouped_services[$service['category_name']][] = $service;
|
||||
}
|
||||
}
|
||||
|
||||
// We need the uncategorized services at the end of the list so
|
||||
// we will use another iteration only for the uncategorized services.
|
||||
$grouped_services['uncategorized'] = array();
|
||||
foreach($available_services as $service) {
|
||||
if ($service['category_id'] == NULL) {
|
||||
$grouped_services['uncategorized'][] = $service;
|
||||
}
|
||||
}
|
||||
|
||||
foreach($grouped_services as $key => $group) {
|
||||
$group_label = ($key != 'uncategorized')
|
||||
? $group[0]['category_name'] : 'Uncategorized';
|
||||
|
||||
if (count($group) > 0) {
|
||||
echo '<optgroup label="' . $group_label . '">';
|
||||
foreach($group as $service) {
|
||||
echo '<option value="' . $service['id'] . '">'
|
||||
. $service['name'] . '</option>';
|
||||
}
|
||||
echo '</optgroup>';
|
||||
}
|
||||
}
|
||||
} else {
|
||||
foreach($available_services as $service) {
|
||||
echo '<option value="' . $service['id'] . '">'
|
||||
. $service['name'] . '</option>';
|
||||
}
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="select-provider">
|
||||
<strong><?php echo $this->lang->line('select_provider'); ?></strong>
|
||||
</label>
|
||||
|
||||
<select id="select-provider" class="col-md-4 form-control"></select>
|
||||
</div>
|
||||
|
||||
<div id="service-description" style="display:none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="command-buttons">
|
||||
<button type="button" id="button-next-1" class="btn button-next btn-primary"
|
||||
data-step_index="1">
|
||||
<?php echo $this->lang->line('next'); ?>
|
||||
<span class="glyphicon glyphicon-forward"></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
// ------------------------------------------------------
|
||||
// SELECT APPOINTMENT DATE
|
||||
// ------------------------------------------------------ ?>
|
||||
<div id="wizard-frame-2" class="wizard-frame" style="display:none;">
|
||||
<div class="frame-container">
|
||||
|
||||
<h3 class="frame-title"><?php echo $this->lang->line('step_two_title'); ?></h3>
|
||||
|
||||
<div class="frame-content row">
|
||||
<div class="col-md-6">
|
||||
<div id="select-date"></div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
<?php // Available hours are going to be fetched via ajax call. ?>
|
||||
<div id="available-hours"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="command-buttons">
|
||||
<button type="button" id="button-back-2" class="btn button-back btn-default"
|
||||
data-step_index="2">
|
||||
<span class="glyphicon glyphicon-backward"></span>
|
||||
<?php echo $this->lang->line('back'); ?>
|
||||
</button>
|
||||
<button type="button" id="button-next-2" class="btn button-next btn-primary"
|
||||
data-step_index="2">
|
||||
<?php echo $this->lang->line('next'); ?>
|
||||
<span class="glyphicon glyphicon-forward"></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
// ------------------------------------------------------
|
||||
// ENTER CUSTOMER DATA
|
||||
// ------------------------------------------------------ ?>
|
||||
<div id="wizard-frame-3" class="wizard-frame" style="display:none;">
|
||||
<div class="frame-container">
|
||||
|
||||
<h3 class="frame-title"><?php echo $this->lang->line('step_three_title'); ?></h3>
|
||||
|
||||
<div class="frame-content row">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label for="first-name" class="control-label"><?php echo $this->lang->line('first_name'); ?> *</label>
|
||||
<input type="text" id="first-name" class="required form-control" maxlength="100" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="last-name" class="control-label"><?php echo $this->lang->line('last_name'); ?> *</label>
|
||||
<input type="text" id="last-name" class="required form-control" maxlength="250" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="email" class="control-label"><?php echo $this->lang->line('email'); ?> *</label>
|
||||
<input type="text" id="email" class="required form-control" maxlength="250" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="phone-number" class="control-label"><?php echo $this->lang->line('phone_number'); ?> *</label>
|
||||
<input type="text" id="phone-number" class="required form-control" maxlength="60" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label for="address" class="control-label"><?php echo $this->lang->line('address'); ?></label>
|
||||
<input type="text" id="address" class="form-control" maxlength="250" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="city" class="control-label"><?php echo $this->lang->line('city'); ?></label>
|
||||
<input type="text" id="city" class="form-control" maxlength="120" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="zip-code" class="control-label"><?php echo $this->lang->line('zip_code'); ?></label>
|
||||
<input type="text" id="zip-code" class="form-control" maxlength="120" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="notes" class="control-label"><?php echo $this->lang->line('notes'); ?></label>
|
||||
<textarea id="notes" maxlength="500" class="form-control" rows="3"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<em id="form-message" class="text-danger"><?php echo $this->lang->line('fields_are_required'); ?></em>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="command-buttons">
|
||||
<button type="button" id="button-back-3" class="btn button-back btn-default"
|
||||
data-step_index="3"><span class="glyphicon glyphicon-backward"></span>
|
||||
<?php echo $this->lang->line('back'); ?>
|
||||
</button>
|
||||
<button type="button" id="button-next-3" class="btn button-next btn-primary"
|
||||
data-step_index="3">
|
||||
<?php echo $this->lang->line('next'); ?>
|
||||
<span class="glyphicon glyphicon-forward"></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
// ------------------------------------------------------
|
||||
// APPOINTMENT DATA CONFIRMATION
|
||||
// ------------------------------------------------------ ?>
|
||||
<div id="wizard-frame-4" class="wizard-frame" style="display:none;">
|
||||
<div class="frame-container">
|
||||
<h3 class="frame-title"><?php echo $this->lang->line('step_four_title'); ?></h3>
|
||||
<div class="frame-content row">
|
||||
<div id="appointment-details" class="col-md-6"></div>
|
||||
<div id="customer-details" class="col-md-6"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="command-buttons">
|
||||
<button type="button" id="button-back-4" class="btn button-back btn-default"
|
||||
data-step_index="4">
|
||||
<span class="glyphicon glyphicon-backward"></span>
|
||||
<?php echo $this->lang->line('back'); ?>
|
||||
</button>
|
||||
<form id="book-appointment-form" style="display:inline-block" method="post">
|
||||
<button id="book-appointment-submit" type="button" class="btn btn-success">
|
||||
<span class="glyphicon glyphicon-ok"></span>
|
||||
<?php
|
||||
echo (!$manage_mode) ? $this->lang->line('confirm')
|
||||
: $this->lang->line('update');
|
||||
?>
|
||||
</button>
|
||||
<input type="hidden" name="csrfToken" />
|
||||
<input type="hidden" name="post_data" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
// ------------------------------------------------------
|
||||
// FRAME FOOTER
|
||||
// ------------------------------------------------------ ?>
|
||||
<div id="frame-footer">
|
||||
Powered By
|
||||
<a href="http://easyappointments.org" target="_blank">Easy!Appointments</a>
|
||||
|
|
||||
<span id="select-language" class="label label-success">
|
||||
<?php echo ucfirst($this->config->item('language')); ?>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="<?php echo $this->config->item('base_url'); ?>/assets/js/general_functions.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="theme-color" content="#35A768">
|
||||
<title><?php echo $this->lang->line('page_title') . ' ' . $company_name; ?></title>
|
||||
|
||||
<?php
|
||||
// ------------------------------------------------------------
|
||||
// INCLUDE CSS FILES
|
||||
// ------------------------------------------------------------ ?>
|
||||
<link
|
||||
rel="stylesheet"
|
||||
type="text/css"
|
||||
href="<?php echo $this->config->item('base_url'); ?>/assets/ext/bootstrap/css/bootstrap.min.css">
|
||||
<link
|
||||
rel="stylesheet"
|
||||
type="text/css"
|
||||
href="<?php echo $this->config->item('base_url'); ?>/assets/ext/jquery-ui/jquery-ui.min.css">
|
||||
<link
|
||||
rel="stylesheet"
|
||||
type="text/css"
|
||||
href="<?php echo $this->config->item('base_url'); ?>/assets/ext/jquery-qtip/jquery.qtip.min.css">
|
||||
<link
|
||||
rel="stylesheet"
|
||||
type="text/css"
|
||||
href="<?php echo $this->config->item('base_url'); ?>/assets/css/frontend.css">
|
||||
<link
|
||||
rel="stylesheet"
|
||||
type="text/css"
|
||||
href="<?php echo $this->config->item('base_url'); ?>/assets/css/general.css">
|
||||
|
||||
<?php
|
||||
// ------------------------------------------------------------
|
||||
// INCLUDE JAVASCRIPT FILES
|
||||
// ------------------------------------------------------------ ?>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="<?php echo $this->config->item('base_url'); ?>/assets/ext/jquery/jquery.min.js"></script>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="<?php echo $this->config->item('base_url'); ?>/assets/ext/jquery-ui/jquery-ui.min.js"></script>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="<?php echo $this->config->item('base_url'); ?>/assets/ext/jquery-qtip/jquery.qtip.min.js"></script>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="<?php echo $this->config->item('base_url'); ?>/assets/ext/bootstrap/js/bootstrap.min.js"></script>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="<?php echo $this->config->item('base_url'); ?>/assets/ext/datejs/date.js"></script>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="<?php echo $this->config->item('base_url'); ?>/assets/js/frontend_book.js"></script>
|
||||
|
||||
<?php
|
||||
// ------------------------------------------------------------
|
||||
// WEBPAGE FAVICON
|
||||
// ------------------------------------------------------------ ?>
|
||||
<link rel="icon" type="image/x-icon"
|
||||
href="<?php echo $this->config->item('base_url'); ?>/assets/img/favicon.ico">
|
||||
|
||||
<link rel="icon" sizes="192x192"
|
||||
href="<?php echo $this->config->item('base_url'); ?>/assets/img/logo.png">
|
||||
|
||||
<?php
|
||||
// ------------------------------------------------------------
|
||||
// VIEW FILE JAVASCRIPT CODE
|
||||
// ------------------------------------------------------------ ?>
|
||||
<script type="text/javascript">
|
||||
var GlobalVariables = {
|
||||
availableServices : <?php echo json_encode($available_services); ?>,
|
||||
availableProviders : <?php echo json_encode($available_providers); ?>,
|
||||
baseUrl : <?php echo '"' . $this->config->item('base_url') . '"'; ?>,
|
||||
manageMode : <?php echo ($manage_mode) ? 'true' : 'false'; ?>,
|
||||
appointmentData : <?php echo json_encode($appointment_data); ?>,
|
||||
providerData : <?php echo json_encode($provider_data); ?>,
|
||||
customerData : <?php echo json_encode($customer_data); ?>,
|
||||
csrfToken : <?php echo json_encode($this->security->get_csrf_hash()); ?>
|
||||
};
|
||||
|
||||
var EALang = <?php echo json_encode($this->lang->language); ?>;
|
||||
var availableLanguages = <?php echo json_encode($this->config->item('available_languages')); ?>;
|
||||
|
||||
$(document).ready(function() {
|
||||
FrontendBook.initialize(true, GlobalVariables.manageMode);
|
||||
// GeneralFunctions.centerElementOnPage($('#book-appointment-wizard'));
|
||||
GeneralFunctions.enableLanguageSelection($('#select-language'));
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="main" class="container">
|
||||
<div class="wrapper row">
|
||||
<div id="book-appointment-wizard" class="col-xs-12 col-md-10 col-md-offset-1 col-lg-8 col-lg-offset-2">
|
||||
|
||||
<?php
|
||||
// ------------------------------------------------------
|
||||
// FRAME TOP BAR
|
||||
// ------------------------------------------------------ ?>
|
||||
<div id="header">
|
||||
<span id="company-name"><?php echo $company_name; ?></span>
|
||||
|
||||
<div id="steps">
|
||||
<div id="step-1" class="book-step active-step" title="<?php echo $this->lang->line('step_one_title'); ?>">
|
||||
<strong>1</strong>
|
||||
</div>
|
||||
|
||||
<div id="step-2" class="book-step" title="<?php echo $this->lang->line('step_two_title'); ?>">
|
||||
<strong>2</strong>
|
||||
</div>
|
||||
<div id="step-3" class="book-step" title="<?php echo $this->lang->line('step_three_title'); ?>">
|
||||
<strong>3</strong>
|
||||
</div>
|
||||
<div id="step-4" class="book-step" title="<?php echo $this->lang->line('step_four_title'); ?>">
|
||||
<strong>4</strong>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
// ------------------------------------------------------
|
||||
// CANCEL APPOINTMENT BUTTON
|
||||
// ------------------------------------------------------
|
||||
if ($manage_mode === TRUE) {
|
||||
echo '
|
||||
<div id="cancel-appointment-frame" class="row">
|
||||
<div class="col-xs-12 col-sm-10">
|
||||
<p>' .
|
||||
$this->lang->line('cancel_appointment_hint') .
|
||||
'</p>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-2">
|
||||
<form id="cancel-appointment-form" method="post"
|
||||
action="' . $this->config->item('base_url')
|
||||
. '/index.php/appointments/cancel/' . $appointment_data['hash'] . '">
|
||||
<input type="hidden" name="csrfToken" value="' . $this->security->get_csrf_hash() . '" />
|
||||
<textarea name="cancel_reason" style="display:none"></textarea>
|
||||
<button id="cancel-appointment" class="btn btn-default">' .
|
||||
$this->lang->line('cancel') . '</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>';
|
||||
}
|
||||
?>
|
||||
|
||||
<?php
|
||||
// ------------------------------------------------------
|
||||
// DISPLAY EXCEPTIONS (IF ANY)
|
||||
// ------------------------------------------------------
|
||||
if (isset($exceptions)) {
|
||||
echo '<div style="margin: 10px">';
|
||||
echo '<h4>' . $this->lang->line('unexpected_issues') . '</h4>';
|
||||
foreach($exceptions as $exception) {
|
||||
echo exceptionToHtml($exception);
|
||||
}
|
||||
echo '</div>';
|
||||
}
|
||||
?>
|
||||
<?php
|
||||
// ------------------------------------------------------
|
||||
// SELECT SERVICE AND PROVIDER
|
||||
// ------------------------------------------------------ ?>
|
||||
<div id="wizard-frame-1" class="wizard-frame">
|
||||
<div class="frame-container">
|
||||
<h3 class="frame-title"><?php echo $this->lang->line('step_one_title'); ?></h3>
|
||||
|
||||
<div class="frame-content">
|
||||
<div class="form-group">
|
||||
<label for="select-service">
|
||||
<strong><?php echo $this->lang->line('select_service'); ?></strong>
|
||||
</label>
|
||||
|
||||
<select id="select-service" class="col-md-4 form-control">
|
||||
<?php
|
||||
// Group services by category, only if there is at least one service
|
||||
// with a parent category.
|
||||
$has_category = FALSE;
|
||||
foreach($available_services as $service) {
|
||||
if ($service['category_id'] != NULL) {
|
||||
$has_category = TRUE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if ($has_category) {
|
||||
$grouped_services = array();
|
||||
|
||||
foreach($available_services as $service) {
|
||||
if ($service['category_id'] != NULL) {
|
||||
if (!isset($grouped_services[$service['category_name']])) {
|
||||
$grouped_services[$service['category_name']] = array();
|
||||
}
|
||||
|
||||
$grouped_services[$service['category_name']][] = $service;
|
||||
}
|
||||
}
|
||||
|
||||
// We need the uncategorized services at the end of the list so
|
||||
// we will use another iteration only for the uncategorized services.
|
||||
$grouped_services['uncategorized'] = array();
|
||||
foreach($available_services as $service) {
|
||||
if ($service['category_id'] == NULL) {
|
||||
$grouped_services['uncategorized'][] = $service;
|
||||
}
|
||||
}
|
||||
|
||||
foreach($grouped_services as $key => $group) {
|
||||
$group_label = ($key != 'uncategorized')
|
||||
? $group[0]['category_name'] : 'Uncategorized';
|
||||
|
||||
if (count($group) > 0) {
|
||||
echo '<optgroup label="' . $group_label . '">';
|
||||
foreach($group as $service) {
|
||||
echo '<option value="' . $service['id'] . '">'
|
||||
. $service['name'] . '</option>';
|
||||
}
|
||||
echo '</optgroup>';
|
||||
}
|
||||
}
|
||||
} else {
|
||||
foreach($available_services as $service) {
|
||||
echo '<option value="' . $service['id'] . '">'
|
||||
. $service['name'] . '</option>';
|
||||
}
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="select-provider">
|
||||
<strong><?php echo $this->lang->line('select_provider'); ?></strong>
|
||||
</label>
|
||||
|
||||
<select id="select-provider" class="col-md-4 form-control"></select>
|
||||
</div>
|
||||
|
||||
<div id="service-description" style="display:none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="command-buttons">
|
||||
<button type="button" id="button-next-1" class="btn button-next btn-primary"
|
||||
data-step_index="1">
|
||||
<?php echo $this->lang->line('next'); ?>
|
||||
<span class="glyphicon glyphicon-forward"></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
// ------------------------------------------------------
|
||||
// SELECT APPOINTMENT DATE
|
||||
// ------------------------------------------------------ ?>
|
||||
<div id="wizard-frame-2" class="wizard-frame" style="display:none;">
|
||||
<div class="frame-container">
|
||||
|
||||
<h3 class="frame-title"><?php echo $this->lang->line('step_two_title'); ?></h3>
|
||||
|
||||
<div class="frame-content row">
|
||||
<div class="col-md-6">
|
||||
<div id="select-date"></div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
<?php // Available hours are going to be fetched via ajax call. ?>
|
||||
<div id="available-hours"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="command-buttons">
|
||||
<button type="button" id="button-back-2" class="btn button-back btn-default"
|
||||
data-step_index="2">
|
||||
<span class="glyphicon glyphicon-backward"></span>
|
||||
<?php echo $this->lang->line('back'); ?>
|
||||
</button>
|
||||
<button type="button" id="button-next-2" class="btn button-next btn-primary"
|
||||
data-step_index="2">
|
||||
<?php echo $this->lang->line('next'); ?>
|
||||
<span class="glyphicon glyphicon-forward"></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
// ------------------------------------------------------
|
||||
// ENTER CUSTOMER DATA
|
||||
// ------------------------------------------------------ ?>
|
||||
<div id="wizard-frame-3" class="wizard-frame" style="display:none;">
|
||||
<div class="frame-container">
|
||||
|
||||
<h3 class="frame-title"><?php echo $this->lang->line('step_three_title'); ?></h3>
|
||||
|
||||
<div class="frame-content row">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label for="first-name" class="control-label"><?php echo $this->lang->line('first_name'); ?> *</label>
|
||||
<input type="text" id="first-name" class="required form-control" maxlength="100" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="last-name" class="control-label"><?php echo $this->lang->line('last_name'); ?> *</label>
|
||||
<input type="text" id="last-name" class="required form-control" maxlength="250" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="email" class="control-label"><?php echo $this->lang->line('email'); ?> *</label>
|
||||
<input type="text" id="email" class="required form-control" maxlength="250" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="phone-number" class="control-label"><?php echo $this->lang->line('phone_number'); ?> *</label>
|
||||
<input type="text" id="phone-number" class="required form-control" maxlength="60" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label for="address" class="control-label"><?php echo $this->lang->line('address'); ?></label>
|
||||
<input type="text" id="address" class="form-control" maxlength="250" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="city" class="control-label"><?php echo $this->lang->line('city'); ?></label>
|
||||
<input type="text" id="city" class="form-control" maxlength="120" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="zip-code" class="control-label"><?php echo $this->lang->line('zip_code'); ?></label>
|
||||
<input type="text" id="zip-code" class="form-control" maxlength="120" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="notes" class="control-label"><?php echo $this->lang->line('notes'); ?></label>
|
||||
<textarea id="notes" maxlength="500" class="form-control" rows="3"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<em id="form-message" class="text-danger"><?php echo $this->lang->line('fields_are_required'); ?></em>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="command-buttons">
|
||||
<button type="button" id="button-back-3" class="btn button-back btn-default"
|
||||
data-step_index="3"><span class="glyphicon glyphicon-backward"></span>
|
||||
<?php echo $this->lang->line('back'); ?>
|
||||
</button>
|
||||
<button type="button" id="button-next-3" class="btn button-next btn-primary"
|
||||
data-step_index="3">
|
||||
<?php echo $this->lang->line('next'); ?>
|
||||
<span class="glyphicon glyphicon-forward"></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
// ------------------------------------------------------
|
||||
// APPOINTMENT DATA CONFIRMATION
|
||||
// ------------------------------------------------------ ?>
|
||||
<div id="wizard-frame-4" class="wizard-frame" style="display:none;">
|
||||
<div class="frame-container">
|
||||
<h3 class="frame-title"><?php echo $this->lang->line('step_four_title'); ?></h3>
|
||||
<div class="frame-content row">
|
||||
<div id="appointment-details" class="col-md-6"></div>
|
||||
<div id="customer-details" class="col-md-6"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="command-buttons">
|
||||
<button type="button" id="button-back-4" class="btn button-back btn-default"
|
||||
data-step_index="4">
|
||||
<span class="glyphicon glyphicon-backward"></span>
|
||||
<?php echo $this->lang->line('back'); ?>
|
||||
</button>
|
||||
<form id="book-appointment-form" style="display:inline-block" method="post">
|
||||
<button id="book-appointment-submit" type="button" class="btn btn-success">
|
||||
<span class="glyphicon glyphicon-ok"></span>
|
||||
<?php
|
||||
echo (!$manage_mode) ? $this->lang->line('confirm')
|
||||
: $this->lang->line('update');
|
||||
?>
|
||||
</button>
|
||||
<input type="hidden" name="csrfToken" />
|
||||
<input type="hidden" name="post_data" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
// ------------------------------------------------------
|
||||
// FRAME FOOTER
|
||||
// ------------------------------------------------------ ?>
|
||||
<div id="frame-footer">
|
||||
Powered By
|
||||
<a href="http://easyappointments.org" target="_blank">Easy!Appointments</a>
|
||||
|
|
||||
<span id="select-language" class="label label-success">
|
||||
<?php echo ucfirst($this->config->item('language')); ?>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="<?php echo $this->config->item('base_url'); ?>/assets/js/general_functions.js"></script>
|
||||
|
||||
<?php if ($google_analytics_code !== ''): ?>
|
||||
<script>
|
||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
||||
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
||||
|
||||
ga('create', '<?php echo $google_analytics_code; ?>', 'auto');
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
<?php endif; ?>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -66,36 +66,45 @@
|
|||
<?php } ?>
|
||||
</legend>
|
||||
|
||||
<div class="wrapper">
|
||||
<div class="form-group">
|
||||
<label for="company-name"><?php echo $this->lang->line('company_name'); ?> *</label>
|
||||
<input type="text" id="company-name" data-field="company_name" class="required form-control">
|
||||
<span class="help-block">
|
||||
<?php echo $this->lang->line('company_name_hint'); ?>
|
||||
</span>
|
||||
<div class="wrapper row">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label for="company-name"><?php echo $this->lang->line('company_name'); ?> *</label>
|
||||
<input type="text" id="company-name" data-field="company_name" class="required form-control">
|
||||
<span class="help-block">
|
||||
<?php echo $this->lang->line('company_name_hint'); ?>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="company-email"><?php echo $this->lang->line('company_email'); ?> *</label>
|
||||
<input type="text" id="company-email" data-field="company_email" class="required form-control">
|
||||
<span class="help-block">
|
||||
<?php echo $this->lang->line('company_email_hint'); ?>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="company-link"><?php echo $this->lang->line('company_link'); ?> *</label>
|
||||
<input type="text" id="company-link" data-field="company_link" class="required form-control">
|
||||
<span class="help-block">
|
||||
<?php echo $this->lang->line('company_link_hint'); ?>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<a href="<?php echo $this->config->item('base_url'); ?>" target="_blank" class="btn btn-info">
|
||||
<span class="glyphicon glyphicon-calendar"></span>
|
||||
<?php echo $this->lang->line('go_to_booking_page'); ?>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="company-email"><?php echo $this->lang->line('company_email'); ?> *</label>
|
||||
<input type="text" id="company-email" data-field="company_email" class="required form-control">
|
||||
<span class="help-block">
|
||||
<?php echo $this->lang->line('company_email_hint'); ?>
|
||||
</span>
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label for="google-analytics-code">
|
||||
Google Analytics ID</label>
|
||||
<input type="text" id="google-analytics-code" placeholder="UA-XXXXXXXX-X"
|
||||
data-field="google_analytics_code" class="form-control">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="company-link"><?php echo $this->lang->line('company_link'); ?> *</label>
|
||||
<input type="text" id="company-link" data-field="company_link" class="required form-control">
|
||||
<span class="help-block">
|
||||
<?php echo $this->lang->line('company_link_hint'); ?>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
|
||||
<a href="<?php echo $this->config->item('base_url'); ?>" target="_blank" class="btn btn-info">
|
||||
<span class="glyphicon glyphicon-calendar"></span>
|
||||
<?php echo $this->lang->line('go_to_booking_page'); ?>
|
||||
</a>
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
|
|
Loading…
Reference in a new issue