Merge branch 'master' into develop
This commit is contained in:
commit
f03e01bf64
61 changed files with 787 additions and 677 deletions
10
CHANGELOG.md
10
CHANGELOG.md
|
@ -5,16 +5,20 @@ their custom modifications on the main project codebase.
|
|||
|
||||
### Version 1.1.0
|
||||
- Issue #4: Raising more useful exceptions and enable error logging by default.
|
||||
- Issue #6: Business Logic created is not getting assigned to service provider.
|
||||
- Issue #10: Unable to use address tags in email address.
|
||||
- Issue #13 + #16: Updated project to Bootstrap v3.3.4 and modified frontend CSS so that it is responsive.
|
||||
- Issue #13: Upgrade to Bootstrap 3.x.x.
|
||||
- Issue #14: Add Google Analytics tracking for the booking page.
|
||||
- Issue #15: Add captcha to booking page.
|
||||
- Issue #16: Responsive Frontend
|
||||
- Issue #18: Duration is not changing when adding a new appointment.
|
||||
- Issue #21: Fix E!A installation problems with AJAX requests.
|
||||
- Issue #22: Google Calendar Sync - Time Zone Issue
|
||||
- Issue #25: Add a disable customer mail notifications setting
|
||||
- Issue #27: Support american time format within the app.
|
||||
- Issue #31: Double booking when two users try to book the same appointment hour and at the same time.
|
||||
- Issue #38: Renamed `configuration.php` file to `config.php` and changed the `SystemConfiguration` class to `Config`. This class will contain constants with the project configuration and will be statically used.
|
||||
- Issue #39: Added new translations to project (japanese, polish, luxembourgish, protuguese-br, french, chinese, italian, spanish, dutch, danish, slovak, finnish).
|
||||
- Issue #39: Add latest translations to source code so that user can select them immediately.
|
||||
- Issue #40: Removed `.htaccess` file and updated all the URLs with the `index.php` file so that mod_rewrite problems are eliminated.
|
||||
- Issue #41: Removed `cancel.php` file. Frontend must use the `message.php` file for displaying simple messages to user.
|
||||
- Issue #42: Place all external assets to "ext" directory.
|
||||
- Issue #66: Trouble with breaks for providers.
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
@ -62,6 +62,17 @@ class Appointments extends CI_Controller {
|
|||
$company_name = $this->settings_model->get_setting('company_name');
|
||||
$date_format = $this->settings_model->get_setting('date_format');
|
||||
|
||||
// Remove the data that are not needed inside the $available_providers array.
|
||||
foreach ($available_providers as $index=>$provider) {
|
||||
$stripped_data = array(
|
||||
'id' => $provider['id'],
|
||||
'first_name' => $provider['first_name'],
|
||||
'last_name' => $provider['last_name'],
|
||||
'services' => $provider['services']
|
||||
);
|
||||
$available_providers[$index] = $stripped_data;
|
||||
}
|
||||
|
||||
// If an appointment hash is provided then it means that the customer
|
||||
// is trying to edit a registered appointment record.
|
||||
if ($appointment_hash !== ''){
|
||||
|
@ -328,7 +339,11 @@ class Appointments extends CI_Controller {
|
|||
// Validate the CAPTCHA string.
|
||||
if ($this->settings_model->get_setting('require_captcha') === '1'
|
||||
&& $this->session->userdata('captcha_phrase') !== $_POST['captcha']) {
|
||||
throw new Exception($this->lang->line('captcha_is_wrong'));
|
||||
echo json_encode(array(
|
||||
'captcha_verification' => FALSE,
|
||||
'expected_phrase' => $this->session->userdata('captcha_phrase')
|
||||
));
|
||||
return;
|
||||
}
|
||||
|
||||
// Check appointment availability.
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
@ -259,21 +259,6 @@ class Backend extends CI_Controller {
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the user data in order to be available at the view and js code.
|
||||
*
|
||||
* @param array $view Contains the view data.
|
||||
*/
|
||||
public function set_user_data(&$view) {
|
||||
$this->load->model('roles_model');
|
||||
|
||||
// Get privileges
|
||||
$view['user_id'] = $this->session->userdata('user_id');
|
||||
$view['user_email'] = $this->session->userdata('user_email');
|
||||
$view['role_slug'] = $this->session->userdata('role_slug');
|
||||
$view['privileges'] = $this->roles_model->get_privileges($this->session->userdata('role_slug'));
|
||||
}
|
||||
|
||||
/**
|
||||
* This method will update the installation to the latest available
|
||||
* version in the server. IMPORTANT: The code files must exist in the
|
||||
|
@ -301,6 +286,21 @@ class Backend extends CI_Controller {
|
|||
));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the user data in order to be available at the view and js code.
|
||||
*
|
||||
* @param array $view Contains the view data.
|
||||
*/
|
||||
private function set_user_data(&$view) {
|
||||
$this->load->model('roles_model');
|
||||
|
||||
// Get privileges
|
||||
$view['user_id'] = $this->session->userdata('user_id');
|
||||
$view['user_email'] = $this->session->userdata('user_email');
|
||||
$view['role_slug'] = $this->session->userdata('role_slug');
|
||||
$view['privileges'] = $this->roles_model->get_privileges($this->session->userdata('role_slug'));
|
||||
}
|
||||
}
|
||||
|
||||
/* End of file backend.php */
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
@ -32,8 +32,9 @@ class Captcha extends CI_Controller {
|
|||
public function index() {
|
||||
header('Content-type: image/jpeg');
|
||||
$builder = new Gregwar\Captcha\CaptchaBuilder;
|
||||
$builder->build()->output();
|
||||
$builder->build();
|
||||
$this->session->set_userdata('captcha_phrase', $builder->getPhrase());
|
||||
$builder->output();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.1.0
|
||||
|
@ -100,6 +100,16 @@ class Installation extends CI_Controller {
|
|||
$this->settings_model->set_setting('company_email', $company['company_email']);
|
||||
$this->settings_model->set_setting('company_link', $company['company_link']);
|
||||
|
||||
// Create sample records.
|
||||
$this->load->model('services_model');
|
||||
$this->load->model('providers_model');
|
||||
|
||||
$sample_service = get_sample_service();
|
||||
$sample_service['id'] = $this->services_model->add($sample_service);
|
||||
$sample_provider = get_sample_provider();
|
||||
$sample_provider['services'][] = $sample_service['id'];
|
||||
$this->providers_model->add($sample_provider);
|
||||
|
||||
echo json_encode(AJAX_SUCCESS);
|
||||
|
||||
} catch (Exception $exc) {
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
|
|
@ -1,5 +1,16 @@
|
|||
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
/* ----------------------------------------------------------------------------
|
||||
* Easy!Appointments - Open Source Web Scheduler
|
||||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.1.0
|
||||
* ---------------------------------------------------------------------------- */
|
||||
|
||||
/**
|
||||
* Check if Easy!Appointments is installed.
|
||||
*
|
||||
|
@ -16,3 +27,44 @@ function is_ea_installed() {
|
|||
$ci =& get_instance();
|
||||
return $ci->db->table_exists('ea_users');
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the data of a sample service.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
function get_sample_service() {
|
||||
return array(
|
||||
'name' => 'Test Service',
|
||||
'duration' => 30,
|
||||
'price' => 50.0,
|
||||
'currency' => 'Euro',
|
||||
'description' => 'This is a test service automatically inserted by the installer.',
|
||||
'id_service_categories' => NULL
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the data of a sample provider.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
function get_sample_provider() {
|
||||
return array(
|
||||
'first_name' => 'John',
|
||||
'last_name' => 'Doe',
|
||||
'email' => 'john@doe.com',
|
||||
'phone_number' => '0123456789',
|
||||
'services' => array(),
|
||||
'settings' => array(
|
||||
'username' => 'johndoe',
|
||||
'password' => '59fe9d073a9c3c606a7e01e402dca4b49b6aa517bd0fdf940c46cb13a7b63dd0',
|
||||
'salt' => 'dc5570debc71fc1fe94b1b0aee444fcde5b8cb83d62a6a2b736ead6557d7a2e1',
|
||||
'working_plan' => '{"monday":{"start":"09:00","end":"18:00","breaks":[{"start":"14:30","end":"15:00"}]},"tuesday":{"start":"09:00","end":"18:00","breaks":[{"start":"14:30","end":"15:00"}]},"wednesday":{"start":"09:00","end":"18:00","breaks":[{"start":"14:30","end":"15:00"}]},"thursday":{"start":"09:00","end":"18:00","breaks":[{"start":"14:30","end":"15:00"}]},"friday":{"start":"09:00","end":"18:00","breaks":[{"start":"14:30","end":"15:00"}]},"saturday":null,"sunday":null}',
|
||||
'notifications' => FALSE,
|
||||
'google_sync' => FALSE,
|
||||
'sync_past_days' => 5,
|
||||
'sync_future_days' => 5
|
||||
)
|
||||
);
|
||||
}
|
||||
|
|
|
@ -264,13 +264,13 @@ $lang['google_calendar_selected'] = 'Google-Kalender ausgewählt wurde erfolgrei
|
|||
$lang['oops_something_went_wrong'] = 'Oops! Etwas ist schiefgelaufen!';
|
||||
$lang['could_not_add_to_google_calendar'] = 'Ihr Termin konnte nicht in den Google-Kalender-Konto hinzugefügt werden.';
|
||||
$lang['ea_update_success'] = 'Easy!Appointments wurde erfolgreich aktualisiert!';
|
||||
$lang['require_captcha'] = 'Require CAPTCHA';
|
||||
$lang['require_captcha_hint'] = 'When enabled, the customers will have to type a random generated CAPTCHA string before booking/updating an appointment.';
|
||||
$lang['require_captcha'] = 'Erfordern CAPTCHA';
|
||||
$lang['require_captcha_hint'] = 'Wenn Aktiv, werden die Kunden eine zufällig generierte Zeichenfolge (CAPTCHA) eintippen vor die eine Termin buchen/speichern dürfen.';
|
||||
$lang['captcha_is_wrong'] = 'CAPTCHA Überprüfung fehlgeschlagen, bitte versuchen Sie es wieder.';
|
||||
$lang['any_provider'] = 'Jeder Anbieter';
|
||||
$lang['requested_hour_is_unavailable'] = 'The requested appointment is unfornately not available. Please select a different hour for your appointment.';
|
||||
$lang['customer_notifications'] = 'Customer Notifications';
|
||||
$lang['customer_notifications_hint'] = 'Defines whether the customer will receive email notifications whenever there is a schedule change on one of his appointments.';
|
||||
$lang['requested_hour_is_unavailable'] = 'Der gewünschte Termin ist leider nicht verfügbar. Bitte wählen Sie eine andere Zeit für den Termin.';
|
||||
$lang['customer_notifications'] = 'Kunden Benachrichtigungen';
|
||||
$lang['customer_notifications_hint'] = 'Stellen Sie ein, ob die Kunden eine E-Mail-Benachrichtigungen erhalten, jedes mal es gibt ein neue änderung auf ein Termin.';
|
||||
$lang['date_format'] = 'Datumsformat';
|
||||
$lang['date_format_hint'] = 'Ändern Sie das Datumsanzeigeformat (D - Datum, M - Monat, Y - Jahr).';
|
||||
$lang['google_analytics_code_hint'] = 'Fügen Sie Ihre Google Analytics-ID hinzu, das auf der Buchungsseite enthalten wird.';
|
||||
|
|
|
@ -264,13 +264,13 @@ $lang['google_calendar_selected'] = 'Το ημερολόγιο της Google ε
|
|||
$lang['oops_something_went_wrong'] = 'Ώχ! Κάτι πήγε στραβά!';
|
||||
$lang['could_not_add_to_google_calendar'] = 'Το ραντεβού σας δεν μπόρεσε να προστεθεί στον λογαριασμό σας στο Google Calendar.';
|
||||
$lang['ea_update_success'] = 'Το Easy!Appointments ενημερώθηκε με επιτυχία!';
|
||||
$lang['require_captcha'] = 'Απαιτώ CAPTCHA';
|
||||
$lang['require_captcha'] = 'Απαίτηση CAPTCHA';
|
||||
$lang['require_captcha_hint'] = 'Όταν είναι ενεργοποιημένο, οι πελάτες θα χρειαστεί να πληκτρολογήσουν μια τυχαία παραγόμενη συμβολοσειρά CAPTCHA πριν κλείσουν/αποθηκεύσουν ένα ραντεβού.';
|
||||
$lang['captcha_is_wrong'] = 'Η επαλήθευση του CAPTCHA απέτυχε, παρακαλώ δοκιμάστε πάλι.';
|
||||
$lang['any_provider'] = 'Οποιοσδήποτε Πάροχος';
|
||||
$lang['requested_hour_is_unavailable'] = 'Το απαιτούμενο ραντεβού δεν είναι δυστυχώς διαθέσιμο. Παρακαλώ επιλέξτε κάποια άλλη ώρα για το ραντεβού σας.';
|
||||
$lang['customer_notifications'] = 'Customer Notifications';
|
||||
$lang['customer_notifications_hint'] = 'Defines whether the customer will receive email notifications whenever there is a schedule change on one of his appointments.';
|
||||
$lang['customer_notifications'] = 'Ειδοποιήσεις Πελατών';
|
||||
$lang['customer_notifications_hint'] = 'Ορίζει αν οι πελάτες θα λαμβάνουν ειδοποιήσεις μέσω email κάθε φορά που θα υπαχει μια αλλαγή σε κάποιο από τα ραντεβού τους.';
|
||||
$lang['date_format'] = 'Μορφή Ημερομηνίας';
|
||||
$lang['date_format_hint'] = 'Αλλάξτε την μορφή ημερομηνίας (D - Ημέρα, M - Μήνας, Y - Χρόνος).';
|
||||
$lang['google_analytics_code_hint'] = 'Προσθέστε τον Google Analytics ID σας το οποίο θα συμπεριληφθεί στην σελίδα κράτησης.';
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.1.0
|
||||
|
|
|
@ -5,13 +5,13 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.1.0
|
||||
* ---------------------------------------------------------------------------- */
|
||||
|
||||
class Migration_Add_google_analytics_setting extends CI_Migration {
|
||||
class Migration_Add_customer_notifications_setting extends CI_Migration {
|
||||
public function up() {
|
||||
$this->load->model('settings_model');
|
||||
$this->settings_model->set_setting('customer_notifications', '1');
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.1.0
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.1.0
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
@ -430,8 +430,6 @@ class Providers_Model extends CI_Model {
|
|||
* provide.
|
||||
*
|
||||
* @return array Returns an array with the providers data.
|
||||
*
|
||||
* @deprecated since version 0.5 - Use get_batch() instead.
|
||||
*/
|
||||
public function get_available_providers() {
|
||||
// Get provider records from database.
|
||||
|
@ -448,6 +446,7 @@ class Providers_Model extends CI_Model {
|
|||
// Services
|
||||
$services = $this->db->get_where('ea_services_providers',
|
||||
array('id_users' => $provider['id']))->result_array();
|
||||
|
||||
$provider['services'] = array();
|
||||
foreach($services as $service) {
|
||||
$provider['services'][] = $service['id_services'];
|
||||
|
@ -456,7 +455,9 @@ class Providers_Model extends CI_Model {
|
|||
// Settings
|
||||
$provider['settings'] = $this->db->get_where('ea_user_settings',
|
||||
array('id_users' => $provider['id']))->row_array();
|
||||
unset($provider['settings']['id_users']);
|
||||
unset($provider['settings']['username']);
|
||||
unset($provider['settings']['password']);
|
||||
unset($provider['settings']['salt']);
|
||||
}
|
||||
|
||||
// Return provider records.
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
|
|
@ -373,6 +373,7 @@
|
|||
</h4>
|
||||
<img class="captcha-image" src="<?php echo $this->config->item('base_url'); ?>/index.php/captcha">
|
||||
<input class="captcha-text" type="text" value="" />
|
||||
<span id="captcha-hint" class="help-block" style="opacity:0"> </span>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
|
|
@ -117,6 +117,17 @@
|
|||
<?php echo $this->lang->line('date_format_hint'); ?>
|
||||
</span>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label><?php echo $this->lang->line('customer_notifications'); ?></label>
|
||||
<br>
|
||||
<button type="button" id="customer-notifications" class="btn btn-default" data-toggle="button" aria-pressed="false">
|
||||
<span class="glyphicon glyphicon-envelope"></span>
|
||||
<?php echo $this->lang->line('receive_notifications'); ?>
|
||||
</button>
|
||||
<span class="help-block">
|
||||
<?php echo $this->lang->line('customer_notifications_hint'); ?>
|
||||
</span>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="require-captcha">
|
||||
CAPTCHA
|
||||
|
@ -270,19 +281,6 @@
|
|||
<label for="book-advance-timeout"><?php echo $this->lang->line('timeout_minutes'); ?></label>
|
||||
<input type="text" id="book-advance-timeout" data-field="book_advance_timeout" class="form-control" />
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<h4><?php echo $this->lang->line('customer_notifications'); ?></h4>
|
||||
<span class="help-block">
|
||||
<?php echo $this->lang->line('customer_notifications_hint'); ?>
|
||||
</span>
|
||||
<div class="form-group">
|
||||
<button type="button" id="customer-notifications" class="btn btn-default" data-toggle="button" aria-pressed="false">
|
||||
<span class="glyphicon glyphicon-envelope"></span>
|
||||
<?php echo $this->lang->line('receive_notifications'); ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-5 breaks-wrapper">
|
||||
<h4><?php echo $this->lang->line('breaks'); ?></h4>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
@ -54,6 +54,7 @@ root {
|
|||
#header #header-menu .menu-item {
|
||||
float: left;
|
||||
padding: 18px 18px 19px;
|
||||
height: 70px;
|
||||
min-width: 130px;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
|
@ -666,6 +667,7 @@ padding: 4px 7px;
|
|||
|
||||
#settings-page .tab-content {
|
||||
margin: 15px;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
#settings-page .nav {
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
@ -198,6 +198,8 @@ body {
|
|||
#book-appointment-wizard .captcha-image {
|
||||
float: right;
|
||||
margin-bottom: 20px;
|
||||
border-radius: 3px;
|
||||
box-shadow: 1px 1px 4px rgba(0,0,0,0.4);
|
||||
}
|
||||
|
||||
#book-appointment-wizard .captcha-text {
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
@ -13,6 +13,10 @@
|
|||
* Main javascript code for the backend of Easy!Appointments.
|
||||
*/
|
||||
$(document).ready(function() {
|
||||
if (window.console === undefined) {
|
||||
window.console = function() {} // IE compatibility
|
||||
}
|
||||
|
||||
$(window).resize(function() {
|
||||
Backend.placeFooterToBottom();
|
||||
}).trigger('resize');
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
@ -271,6 +271,11 @@ SystemSettings.prototype.get = function() {
|
|||
});
|
||||
});
|
||||
|
||||
settings.push({
|
||||
'name': 'customer_notifications',
|
||||
'value': $('#customer-notifications').hasClass('active') === true ? '1' : '0'
|
||||
});
|
||||
|
||||
settings.push({
|
||||
'name': 'require_captcha',
|
||||
'value': $('#require-captcha').hasClass('active') === true ? '1' : '0'
|
||||
|
@ -287,11 +292,6 @@ SystemSettings.prototype.get = function() {
|
|||
'value': $('#book-advance-timeout').val()
|
||||
});
|
||||
|
||||
settings.push({
|
||||
'name': 'customer_notifications',
|
||||
'value': $('#customer-notifications').hasClass('active') === true ? '1' : '0'
|
||||
});
|
||||
|
||||
return settings;
|
||||
};
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
@ -41,6 +41,10 @@ var FrontendBook = {
|
|||
manageMode = false; // Default Value
|
||||
}
|
||||
|
||||
if (window.console === undefined) {
|
||||
window.console = function() {} // IE compatibility
|
||||
}
|
||||
|
||||
FrontendBook.manageMode = manageMode;
|
||||
|
||||
// Initialize page's components (tooltips, datepickers etc).
|
||||
|
@ -620,7 +624,7 @@ var FrontendBook = {
|
|||
if ($captchaText.length > 0) {
|
||||
$captchaText.css('border', '');
|
||||
if ($captchaText.val() === '') {
|
||||
$captchaText.css('border', '1px solid red');
|
||||
$captchaText.css('border', '1px solid #dc3b40');
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -668,6 +672,22 @@ var FrontendBook = {
|
|||
return false;
|
||||
}
|
||||
|
||||
if (response.captcha_verification === false) {
|
||||
$('#captcha-hint')
|
||||
.text(EALang['captcha_is_wrong'] + '(' + response.expected_phrase + ')')
|
||||
.fadeTo(400, 1);
|
||||
|
||||
setTimeout(function() {
|
||||
$('#captcha-hint').fadeTo(400, 0);
|
||||
}, 3000);
|
||||
|
||||
$('.captcha-title small').trigger('click');
|
||||
|
||||
$captchaText.css('border', '1px solid #dc3b40');
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
window.location.replace(GlobalVariables.baseUrl
|
||||
+ '/index.php/appointments/book_success/' + response.appointment_id);
|
||||
})
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
--
|
||||
-- @package EasyAppointments
|
||||
-- @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
-- @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
-- @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
-- @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
-- @link http://easyappointments.org
|
||||
-- @since v1.0.0
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2015, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2016, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
|
Loading…
Reference in a new issue