diff --git a/src/application/config/config.php b/src/application/config/config.php index 61ffc8b4..8ab10e56 100644 --- a/src/application/config/config.php +++ b/src/application/config/config.php @@ -273,7 +273,7 @@ $config['cache_path'] = __DIR__ . '/../../storage/cache/'; | new release. | */ -$config['cache_busting_token'] = '93GT3'; +$config['cache_busting_token'] = '93GX4'; /* |-------------------------------------------------------------------------- diff --git a/src/application/config/migration.php b/src/application/config/migration.php index 9f9804dd..5f8c03eb 100644 --- a/src/application/config/migration.php +++ b/src/application/config/migration.php @@ -37,7 +37,7 @@ $config['migration_table'] = 'ea_migrations'; | be upgraded / downgraded to. | */ -$config['migration_version'] = 12; // current +$config['migration_version'] = 13; // current /* diff --git a/src/application/controllers/Appointments.php b/src/application/controllers/Appointments.php index a13bdbbe..56a0f57f 100755 --- a/src/application/controllers/Appointments.php +++ b/src/application/controllers/Appointments.php @@ -76,6 +76,7 @@ class Appointments extends CI_Controller { $company_name = $this->settings_model->get_setting('company_name'); $date_format = $this->settings_model->get_setting('date_format'); $time_format = $this->settings_model->get_setting('time_format'); + $first_weekday = $this->settings_model->get_setting('first_weekday'); $display_cookie_notice = $this->settings_model->get_setting('display_cookie_notice'); $cookie_notice_content = $this->settings_model->get_setting('cookie_notice_content'); $display_terms_and_conditions = $this->settings_model->get_setting('display_terms_and_conditions'); @@ -147,6 +148,7 @@ class Appointments extends CI_Controller { 'customer_token' => $customer_token, 'date_format' => $date_format, 'time_format' => $time_format, + 'first_weekday' => $first_weekday, 'appointment_data' => $appointment, 'provider_data' => $provider, 'customer_data' => $customer, diff --git a/src/application/controllers/Backend.php b/src/application/controllers/Backend.php index fc0c33a2..62aa423c 100755 --- a/src/application/controllers/Backend.php +++ b/src/application/controllers/Backend.php @@ -70,6 +70,7 @@ class Backend extends CI_Controller { $view['book_advance_timeout'] = $this->settings_model->get_setting('book_advance_timeout'); $view['date_format'] = $this->settings_model->get_setting('date_format'); $view['time_format'] = $this->settings_model->get_setting('time_format'); + $view['first_weekday'] = $this->settings_model->get_setting('first_weekday'); $view['company_name'] = $this->settings_model->get_setting('company_name'); $view['available_providers'] = $this->providers_model->get_available_providers(); $view['available_services'] = $this->services_model->get_available_services(); @@ -132,6 +133,7 @@ class Backend extends CI_Controller { $view['company_name'] = $this->settings_model->get_setting('company_name'); $view['date_format'] = $this->settings_model->get_setting('date_format'); $view['time_format'] = $this->settings_model->get_setting('time_format'); + $view['first_weekday'] = $this->settings_model->get_setting('first_weekday'); $view['customers'] = $this->customers_model->get_batch(); $view['available_providers'] = $this->providers_model->get_available_providers(); $view['available_services'] = $this->services_model->get_available_services(); @@ -170,6 +172,7 @@ class Backend extends CI_Controller { $view['company_name'] = $this->settings_model->get_setting('company_name'); $view['date_format'] = $this->settings_model->get_setting('date_format'); $view['time_format'] = $this->settings_model->get_setting('time_format'); + $view['first_weekday'] = $this->settings_model->get_setting('first_weekday'); $view['services'] = $this->services_model->get_batch(); $view['categories'] = $this->services_model->get_all_categories(); $this->set_user_data($view); @@ -207,6 +210,7 @@ class Backend extends CI_Controller { $view['company_name'] = $this->settings_model->get_setting('company_name'); $view['date_format'] = $this->settings_model->get_setting('date_format'); $view['time_format'] = $this->settings_model->get_setting('time_format'); + $view['first_weekday'] = $this->settings_model->get_setting('first_weekday'); $view['admins'] = $this->admins_model->get_batch(); $view['providers'] = $this->providers_model->get_batch(); $view['secretaries'] = $this->secretaries_model->get_batch(); @@ -320,14 +324,13 @@ class Backend extends CI_Controller { { throw new Exception('You do not have the required privileges for this task!'); } - $this->load->library('migration'); - + if ( ! $this->migration->current()) { throw new Exception($this->migration->error_string()); } - + $view = ['success' => TRUE]; } catch (Exception $exc) diff --git a/src/application/language/arabic/translations_lang.php b/src/application/language/arabic/translations_lang.php index 19fdd8f0..f83238e0 100755 --- a/src/application/language/arabic/translations_lang.php +++ b/src/application/language/arabic/translations_lang.php @@ -276,6 +276,8 @@ $lang['date_format'] = 'صيغة التاريخ'; $lang['date_format_hint'] = 'تغيير صيغة وعرض التاريخ (D - Date, M - Month, Y - Year).'; $lang['time_format'] = 'Time Format'; $lang['time_format_hint'] = 'Change the time display format (H - Hours, M - Minutes).'; +$lang['first_weekday'] = 'First day of week'; +$lang['first_weekday_hint'] = 'Set the first day of the calendar week.'; $lang['google_analytics_code_hint'] = 'ليتم تضمينه في صفحة الحجز Google Analytics ID أضف معرّف'; $lang['availabilities_type'] = 'نوع التوفر أو الإتاحة'; $lang['flexible'] = 'مرن'; diff --git a/src/application/language/bulgarian/translations_lang.php b/src/application/language/bulgarian/translations_lang.php index ddc7dd70..35064573 100755 --- a/src/application/language/bulgarian/translations_lang.php +++ b/src/application/language/bulgarian/translations_lang.php @@ -276,6 +276,8 @@ $lang['date_format'] = 'Формат на Дата'; $lang['date_format_hint'] = 'Промяна на дормат за показ на дата (D - дата, M - месец, Y - година).'; $lang['time_format'] = 'Time Format'; $lang['time_format_hint'] = 'Change the time display format (H - Hours, M - Minutes).'; +$lang['first_weekday'] = 'First day of week'; +$lang['first_weekday_hint'] = 'Set the first day of the calendar week.'; $lang['google_analytics_code_hint'] = 'Добавете Google Analytics ID за да бъде включена статистика в страницата за запазване на час.'; $lang['availabilities_type'] = 'Типове на работен период.'; $lang['flexible'] = 'Гъвкав'; diff --git a/src/application/language/chinese/translations_lang.php b/src/application/language/chinese/translations_lang.php index edc0951a..846ddaf1 100755 --- a/src/application/language/chinese/translations_lang.php +++ b/src/application/language/chinese/translations_lang.php @@ -276,6 +276,8 @@ $lang['date_format'] = 'Date Format'; $lang['date_format_hint'] = 'Change the date display format (D - Date, M - Month, Y - Year).'; $lang['time_format'] = 'Time Format'; $lang['time_format_hint'] = 'Change the time display format (H - Hours, M - Minutes).'; +$lang['first_weekday'] = 'First day of week'; +$lang['first_weekday_hint'] = 'Set the first day of the calendar week.'; $lang['google_analytics_code_hint'] = 'Add your Google Analytics ID to be included in the booking page.'; $lang['availabilities_type'] = 'Availabilities Type'; $lang['flexible'] = 'Flexible'; diff --git a/src/application/language/danish/translations_lang.php b/src/application/language/danish/translations_lang.php index 5e4ac1ac..9803c15e 100755 --- a/src/application/language/danish/translations_lang.php +++ b/src/application/language/danish/translations_lang.php @@ -276,6 +276,8 @@ $lang['date_format'] = 'Date Format'; $lang['date_format_hint'] = 'Change the date display format (D - Date, M - Month, Y - Year).'; $lang['time_format'] = 'Time Format'; $lang['time_format_hint'] = 'Change the time display format (H - Hours, M - Minutes).'; +$lang['first_weekday'] = 'First day of week'; +$lang['first_weekday_hint'] = 'Set the first day of the calendar week.'; $lang['google_analytics_code_hint'] = 'Add your Google Analytics ID to be included in the booking page.'; $lang['availabilities_type'] = 'Availabilities Type'; $lang['flexible'] = 'Flexible'; diff --git a/src/application/language/dutch/translations_lang.php b/src/application/language/dutch/translations_lang.php index a1dbd5e8..088e19e0 100755 --- a/src/application/language/dutch/translations_lang.php +++ b/src/application/language/dutch/translations_lang.php @@ -276,6 +276,8 @@ $lang['date_format'] = 'Datum formaat'; $lang['date_format_hint'] = 'Verander het datum formaat (D - dag, M - maand, Y - jaar).'; $lang['time_format'] = 'Time Format'; $lang['time_format_hint'] = 'Change the time display format (H - Hours, M - Minutes).'; +$lang['first_weekday'] = 'First day of week'; +$lang['first_weekday_hint'] = 'Set the first day of the calendar week.'; $lang['google_analytics_code_hint'] = 'Voeg je Google Analytics ID toe om deze te gebruiken op je boekings pagina.'; $lang['availabilities_type'] = 'Beschikbaarheidstype'; $lang['flexible'] = 'Flexibel'; diff --git a/src/application/language/english/translations_lang.php b/src/application/language/english/translations_lang.php index fcb7c6e5..18ee9fed 100755 --- a/src/application/language/english/translations_lang.php +++ b/src/application/language/english/translations_lang.php @@ -276,6 +276,8 @@ $lang['date_format'] = 'Date Format'; $lang['date_format_hint'] = 'Change the date display format (D - Date, M - Month, Y - Year).'; $lang['time_format'] = 'Time Format'; $lang['time_format_hint'] = 'Change the time display format (H - Hours, M - Minutes).'; +$lang['first_weekday'] = 'First day of week'; +$lang['first_weekday_hint'] = 'Set the first day of the calendar week.'; $lang['google_analytics_code_hint'] = 'Add your Google Analytics ID to be included in the booking page.'; $lang['availabilities_type'] = 'Availabilities Type'; $lang['flexible'] = 'Flexible'; diff --git a/src/application/language/finnish/translations_lang.php b/src/application/language/finnish/translations_lang.php index 3112c095..dabb8b6d 100755 --- a/src/application/language/finnish/translations_lang.php +++ b/src/application/language/finnish/translations_lang.php @@ -276,6 +276,8 @@ $lang['date_format'] = 'Päiväyksen muoto'; $lang['date_format_hint'] = 'Vaihda päiväyksen esitysmuoto (D - Päivä, M - Kuukausi, Y - Vuosi).'; $lang['time_format'] = 'Time Format'; $lang['time_format_hint'] = 'Change the time display format (H - Hours, M - Minutes).'; +$lang['first_weekday'] = 'First day of week'; +$lang['first_weekday_hint'] = 'Set the first day of the calendar week.'; $lang['google_analytics_code_hint'] = 'Lisää Google Analytics ID varaussivulle.'; $lang['availabilities_type'] = 'Availabilities Type'; $lang['flexible'] = 'Flexible'; diff --git a/src/application/language/french/translations_lang.php b/src/application/language/french/translations_lang.php index 355ae447..384be3d3 100755 --- a/src/application/language/french/translations_lang.php +++ b/src/application/language/french/translations_lang.php @@ -274,6 +274,8 @@ $lang['date_format'] = 'Format des Dates'; $lang['date_format_hint'] = 'Change le format d\'affichage des dates (D - Jour, M - Mois, Y - Année).'; $lang['time_format'] = 'Format de l\'Heure'; $lang['time_format_hint'] = 'Change le format d\'affichage de l\'Heure (H - Heures, M - Minutes).'; +$lang['first_weekday'] = 'Premier jour de la semaine'; +$lang['first_weekday_hint'] = 'Définit le premier jour de la semaine calendaire.'; $lang['google_analytics_code_hint'] = 'Renseignez l\'ID Google Analytics à utiliser dans la page des réservations.'; $lang['availabilities_type'] = 'Type de disponibilités'; $lang['flexible'] = 'Flexible'; diff --git a/src/application/language/german/translations_lang.php b/src/application/language/german/translations_lang.php index c6e469ed..03799539 100755 --- a/src/application/language/german/translations_lang.php +++ b/src/application/language/german/translations_lang.php @@ -276,6 +276,8 @@ $lang['date_format'] = 'Datumsformat'; $lang['date_format_hint'] = 'Ändern Sie das Datumsanzeigeformat (D - Datum, M - Monat, Y - Jahr).'; $lang['time_format'] = 'Zeitformat'; $lang['time_format_hint'] = 'Ändern Sie das Zeitanzeigeformat (H - Stunden, M - Minuten).'; +$lang['first_weekday'] = 'First day of week'; +$lang['first_weekday_hint'] = 'Set the first day of the calendar week.'; $lang['google_analytics_code_hint'] = 'Fügen Sie Ihre Google Analytics-ID hinzu, das auf der Buchungsseite enthalten wird.'; $lang['availabilities_type'] = 'Verfügungstyp'; $lang['flexible'] = 'Flexibel'; diff --git a/src/application/language/greek/translations_lang.php b/src/application/language/greek/translations_lang.php index f09c8115..dddba1d9 100755 --- a/src/application/language/greek/translations_lang.php +++ b/src/application/language/greek/translations_lang.php @@ -276,6 +276,8 @@ $lang['date_format'] = 'Μορφή Ημερομηνίας'; $lang['date_format_hint'] = 'Αλλάξτε την μορφή ημερομηνίας (D - Ημέρα, M - Μήνας, Y - Χρόνος).'; $lang['time_format'] = 'Μορφή Ώρας'; $lang['time_format_hint'] = 'Αλλάξτε την μορφή ώρας (H - Ώρα, M - Λεπτά).'; +$lang['first_weekday'] = 'First day of week'; +$lang['first_weekday_hint'] = 'Set the first day of the calendar week.'; $lang['google_analytics_code_hint'] = 'Προσθέστε τον Google Analytics ID σας το οποίο θα συμπεριληφθεί στην σελίδα κράτησης.'; $lang['availabilities_type'] = 'Τύπος Διαθεσιμοτήτων'; $lang['flexible'] = 'Ευέλικτος'; diff --git a/src/application/language/hindi/translations_lang.php b/src/application/language/hindi/translations_lang.php index 0f0906b7..d429b81c 100755 --- a/src/application/language/hindi/translations_lang.php +++ b/src/application/language/hindi/translations_lang.php @@ -276,6 +276,8 @@ $lang['date_format'] = 'Date Format'; $lang['date_format_hint'] = 'Change the date display format (D - Date, M - Month, Y - Year).'; $lang['time_format'] = 'Time Format'; $lang['time_format_hint'] = 'Change the time display format (H - Hours, M - Minutes).'; +$lang['first_weekday'] = 'First day of week'; +$lang['first_weekday_hint'] = 'Set the first day of the calendar week.'; $lang['google_analytics_code_hint'] = 'Add your Google Analytics ID to be included in the booking page.'; $lang['availabilities_type'] = 'Availabilities Type'; $lang['flexible'] = 'Flexible'; diff --git a/src/application/language/hungarian/translations_lang.php b/src/application/language/hungarian/translations_lang.php index 7acf24a7..10447d44 100755 --- a/src/application/language/hungarian/translations_lang.php +++ b/src/application/language/hungarian/translations_lang.php @@ -276,6 +276,8 @@ $lang['date_format'] = 'Date Format'; $lang['date_format_hint'] = 'Change the date display format (D - Date, M - Month, Y - Year).'; $lang['time_format'] = 'Time Format'; $lang['time_format_hint'] = 'Change the time display format (H - Hours, M - Minutes).'; +$lang['first_weekday'] = 'First day of week'; +$lang['first_weekday_hint'] = 'Set the first day of the calendar week.'; $lang['google_analytics_code_hint'] = 'Add your Google Analytics ID to be included in the booking page.'; $lang['availabilities_type'] = 'Availabilities Type'; $lang['flexible'] = 'Flexible'; diff --git a/src/application/language/italian/translations_lang.php b/src/application/language/italian/translations_lang.php index 1de9ad9c..3f5000e5 100755 --- a/src/application/language/italian/translations_lang.php +++ b/src/application/language/italian/translations_lang.php @@ -282,6 +282,8 @@ $lang['date_format'] = 'Formato data'; $lang['date_format_hint'] = 'Cambia il formato di visualizzazione della data (D - Giorno, M - Mese, Y - Anno).'; $lang['time_format'] = 'Formato orario'; $lang['time_format_hint'] = 'Cambia il formato di visualizzazione dell\'orario. (H - Ore, M - Minuti)'; +$lang['first_weekday'] = 'First day of week'; +$lang['first_weekday_hint'] = 'Set the first day of the calendar week.'; $lang['google_analytics_code_hint'] = 'Aggiunti il tuo ID di Google Analytics per includerlo nella pagina di prenotazione.'; $lang['availabilities_type'] = 'Availabilities Type'; $lang['flexible'] = 'Flexible'; diff --git a/src/application/language/japanese/translations_lang.php b/src/application/language/japanese/translations_lang.php index 71100c88..8bdcc991 100755 --- a/src/application/language/japanese/translations_lang.php +++ b/src/application/language/japanese/translations_lang.php @@ -276,6 +276,8 @@ $lang['date_format'] = 'Date Format'; $lang['date_format_hint'] = 'Change the date display format (D - Date, M - Month, Y - Year).'; $lang['time_format'] = 'Time Format'; $lang['time_format_hint'] = 'Change the time display format (H - Hours, M - Minutes).'; +$lang['first_weekday'] = 'First day of week'; +$lang['first_weekday_hint'] = 'Set the first day of the calendar week.'; $lang['google_analytics_code_hint'] = 'Add your Google Analytics ID to be included in the booking page.'; $lang['availabilities_type'] = 'Availabilities Type'; $lang['flexible'] = 'Flexible'; diff --git a/src/application/language/luxembourgish/translations_lang.php b/src/application/language/luxembourgish/translations_lang.php index c6404b37..18cdcba6 100755 --- a/src/application/language/luxembourgish/translations_lang.php +++ b/src/application/language/luxembourgish/translations_lang.php @@ -276,6 +276,8 @@ $lang['date_format'] = 'Date Format'; $lang['date_format_hint'] = 'Change the date display format (D - Date, M - Month, Y - Year).'; $lang['time_format'] = 'Time Format'; $lang['time_format_hint'] = 'Change the time display format (H - Hours, M - Minutes).'; +$lang['first_weekday'] = 'First day of week'; +$lang['first_weekday_hint'] = 'Set the first day of the calendar week.'; $lang['google_analytics_code_hint'] = 'Add your Google Analytics ID to be included in the booking page.'; $lang['availabilities_type'] = 'Availabilities Type'; $lang['flexible'] = 'Flexible'; diff --git a/src/application/language/polish/translations_lang.php b/src/application/language/polish/translations_lang.php index 5d3e3f78..454fb447 100755 --- a/src/application/language/polish/translations_lang.php +++ b/src/application/language/polish/translations_lang.php @@ -276,6 +276,8 @@ $lang['date_format'] = 'Date Format'; $lang['date_format_hint'] = 'Change the date display format (D - Date, M - Month, Y - Year).'; $lang['time_format'] = 'Time Format'; $lang['time_format_hint'] = 'Change the time display format (H - Hours, M - Minutes).'; +$lang['first_weekday'] = 'First day of week'; +$lang['first_weekday_hint'] = 'Set the first day of the calendar week.'; $lang['google_analytics_code_hint'] = 'Add your Google Analytics ID to be included in the booking page.'; $lang['availabilities_type'] = 'Availabilities Type'; $lang['flexible'] = 'Flexible'; diff --git a/src/application/language/portuguese-br/translations_lang.php b/src/application/language/portuguese-br/translations_lang.php index f106171b..c7427796 100755 --- a/src/application/language/portuguese-br/translations_lang.php +++ b/src/application/language/portuguese-br/translations_lang.php @@ -276,6 +276,8 @@ $lang['date_format'] = 'Formato da Data'; $lang['date_format_hint'] = 'Altera o formato de visualização da Data (D - Data, M - Mes, Y - Ano).'; $lang['time_format'] = 'Time Format'; $lang['time_format_hint'] = 'Change the time display format (H - Hours, M - Minutes).'; +$lang['first_weekday'] = 'First day of week'; +$lang['first_weekday_hint'] = 'Set the first day of the calendar week.'; $lang['google_analytics_code_hint'] = 'Adicione o seu ID do Google Analytics para ser incluido na pagina de agendamentos.'; $lang['availabilities_type'] = 'Availabilities Type'; $lang['flexible'] = 'Flexible'; diff --git a/src/application/language/portuguese/translations_lang.php b/src/application/language/portuguese/translations_lang.php index 39550c76..459c89e7 100755 --- a/src/application/language/portuguese/translations_lang.php +++ b/src/application/language/portuguese/translations_lang.php @@ -276,6 +276,8 @@ $lang['date_format'] = 'Date Format'; $lang['date_format_hint'] = 'Change the date display format (D - Date, M - Month, Y - Year).'; $lang['time_format'] = 'Time Format'; $lang['time_format_hint'] = 'Change the time display format (H - Hours, M - Minutes).'; +$lang['first_weekday'] = 'First day of week'; +$lang['first_weekday_hint'] = 'Set the first day of the calendar week.'; $lang['google_analytics_code_hint'] = 'Add your Google Analytics ID to be included in the booking page.'; $lang['availabilities_type'] = 'Availabilities Type'; $lang['flexible'] = 'Flexible'; diff --git a/src/application/language/romanian/translations_lang.php b/src/application/language/romanian/translations_lang.php index 43ea9d19..cfb52fe0 100755 --- a/src/application/language/romanian/translations_lang.php +++ b/src/application/language/romanian/translations_lang.php @@ -282,6 +282,8 @@ $lang['date_format'] = 'Date Format'; $lang['date_format_hint'] = 'Change the date display format (D - Date, M - Month, Y - Year).'; $lang['time_format'] = ''; $lang['time_format_hint'] = ''; +$lang['first_weekday'] = 'First day of week'; +$lang['first_weekday_hint'] = 'Set the first day of the calendar week.'; $lang['google_analytics_code_hint'] = 'Add your Google Analytics ID to be included in the booking page.'; $lang['availabilities_type'] = 'Availabilities Type'; $lang['flexible'] = 'Flexible'; diff --git a/src/application/language/russian/translations_lang.php b/src/application/language/russian/translations_lang.php index 3d267e23..7a3daf5b 100755 --- a/src/application/language/russian/translations_lang.php +++ b/src/application/language/russian/translations_lang.php @@ -276,6 +276,8 @@ $lang['date_format'] = 'Date Format'; $lang['date_format_hint'] = 'Change the date display format (D - Date, M - Month, Y - Year).'; $lang['time_format'] = ''; $lang['time_format_hint'] = ''; +$lang['first_weekday'] = 'First day of week'; +$lang['first_weekday_hint'] = 'Set the first day of the calendar week.'; $lang['google_analytics_code_hint'] = 'Add your Google Analytics ID to be included in the booking page.'; $lang['availabilities_type'] = 'Availabilities Type'; $lang['flexible'] = 'Flexible'; diff --git a/src/application/language/slovak/translations_lang.php b/src/application/language/slovak/translations_lang.php index 17e0b90b..27a1f898 100755 --- a/src/application/language/slovak/translations_lang.php +++ b/src/application/language/slovak/translations_lang.php @@ -276,6 +276,8 @@ $lang['date_format'] = 'Formát dátumu'; $lang['date_format_hint'] = 'Zmeňte formát zobrazenia dátumu (D - Dátum, M - Mesiac, Y - Rok).'; $lang['time_format'] = ''; $lang['time_format_hint'] = ''; +$lang['first_weekday'] = 'First day of week'; +$lang['first_weekday_hint'] = 'Set the first day of the calendar week.'; $lang['google_analytics_code_hint'] = 'Pridajte svoje ID služby Google Analytics, aby ste bola zahrnutá do stránky rezervácie.'; $lang['availabilities_type'] = 'Typ dostupnosti'; $lang['flexible'] = 'Flexibilný'; diff --git a/src/application/language/spanish/translations_lang.php b/src/application/language/spanish/translations_lang.php index c8659ff6..d4202e8d 100755 --- a/src/application/language/spanish/translations_lang.php +++ b/src/application/language/spanish/translations_lang.php @@ -276,6 +276,8 @@ $lang['date_format'] = 'Formato de Fecha'; $lang['date_format_hint'] = 'Cambia el formato de fecha para mostrar (D - Día, M - Mes, Y - Año).'; $lang['time_format'] = ''; $lang['time_format_hint'] = ''; +$lang['first_weekday'] = 'First day of week'; +$lang['first_weekday_hint'] = 'Set the first day of the calendar week.'; $lang['google_analytics_code_hint'] = 'Agrega tu ID de Google Analytics para ser incluido en la página de reservas.'; $lang['availabilities_type'] = 'Tipos disponibles'; $lang['flexible'] = 'Flexible'; diff --git a/src/application/language/turkish/translations_lang.php b/src/application/language/turkish/translations_lang.php index 48bb8e0c..b88cba4a 100755 --- a/src/application/language/turkish/translations_lang.php +++ b/src/application/language/turkish/translations_lang.php @@ -276,6 +276,8 @@ $lang['date_format'] = 'Date Format'; $lang['date_format_hint'] = 'Change the date display format (D - Date, M - Month, Y - Year).'; $lang['time_format'] = ''; $lang['time_format_hint'] = ''; +$lang['first_weekday'] = 'First day of week'; +$lang['first_weekday_hint'] = 'Set the first day of the calendar week.'; $lang['google_analytics_code_hint'] = 'Add your Google Analytics ID to be included in the booking page.'; $lang['availabilities_type'] = 'Availabilities Type'; $lang['flexible'] = 'Flexible'; diff --git a/src/application/migrations/013_add_weekday_start_setting.php b/src/application/migrations/013_add_weekday_start_setting.php new file mode 100644 index 00000000..9314b2d1 --- /dev/null +++ b/src/application/migrations/013_add_weekday_start_setting.php @@ -0,0 +1,35 @@ + + * @copyright Copyright (c) 2013 - 2018, Alex Tselegidis + * @license http://opensource.org/licenses/GPL-3.0 - GPLv3 + * @link http://easyappointments.org + * @since v1.3.2 + * ---------------------------------------------------------------------------- */ + +class Migration_Add_weekday_start_setting extends CI_Migration { + public function up() + { + $this->load->model('settings_model'); + + try + { + $this->settings_model->get_setting('first_weekday'); + } + catch (Exception $exception) + { + $this->settings_model->set_setting('first_weekday', 'sunday'); + } + } + + public function down() + { + $this->load->model('settings_model'); + + $this->settings_model->remove_setting('first_weekday'); + } +} diff --git a/src/application/views/appointments/book.php b/src/application/views/appointments/book.php index 20b99982..04daa75f 100755 --- a/src/application/views/appointments/book.php +++ b/src/application/views/appointments/book.php @@ -370,6 +370,7 @@ customerToken : , dateFormat : , timeFormat : , + firstWeekday : , displayCookieNotice : , appointmentData : , providerData : , diff --git a/src/application/views/backend/calendar.php b/src/application/views/backend/calendar.php index b0e0afe6..d347e549 100755 --- a/src/application/views/backend/calendar.php +++ b/src/application/views/backend/calendar.php @@ -20,6 +20,7 @@ 'bookAdvanceTimeout' : , 'dateFormat' : , 'timeFormat' : , + 'firstWeekday' : , 'editAppointment' : , 'customers' : , 'secretaryProviders' : , diff --git a/src/application/views/backend/settings.php b/src/application/views/backend/settings.php index 65d9232b..2170c23c 100755 --- a/src/application/views/backend/settings.php +++ b/src/application/views/backend/settings.php @@ -135,6 +135,23 @@ +
+ + + + + +

diff --git a/src/assets/js/backend_calendar_appointments_modal.js b/src/assets/js/backend_calendar_appointments_modal.js index d3021b7c..a4464698 100755 --- a/src/assets/js/backend_calendar_appointments_modal.js +++ b/src/assets/js/backend_calendar_appointments_modal.js @@ -389,6 +389,9 @@ window.BackendCalendarAppointmentsModal = window.BackendCalendarAppointmentsModa throw new Error('Invalid GlobalVariables.dateFormat value.'); } + var fDay = GlobalVariables.firstWeekday; + var fDaynum = GeneralFunctions.getWeekDayId(fDay); + $dialog.find('#start-datetime').datetimepicker({ dateFormat: dateFormat, timeFormat: GlobalVariables.timeFormat === 'regular' ? 'h:mm TT' : 'HH:mm', @@ -415,7 +418,7 @@ window.BackendCalendarAppointmentsModal = window.BackendCalendarAppointmentsModa timeText: EALang.time, hourText: EALang.hour, minuteText: EALang.minutes, - firstDay: 0 + firstDay: fDaynum }); $dialog.find('#start-datetime').datetimepicker('setDate', startDatetime); @@ -445,7 +448,7 @@ window.BackendCalendarAppointmentsModal = window.BackendCalendarAppointmentsModa timeText: EALang.time, hourText: EALang.hour, minuteText: EALang.minutes, - firstDay: 0 + firstDay: fDaynum }); $dialog.find('#end-datetime').datetimepicker('setDate', endDatetime); }; diff --git a/src/assets/js/backend_calendar_default_view.js b/src/assets/js/backend_calendar_default_view.js index 840eacc0..fa680901 100755 --- a/src/assets/js/backend_calendar_default_view.js +++ b/src/assets/js/backend_calendar_default_view.js @@ -785,16 +785,6 @@ window.BackendCalendarDefaultView = window.BackendCalendarDefaultView || {}; $calendar.fullCalendar('removeEvents'); $calendar.fullCalendar('addEventSource', calendarEvents); - var weekDays = [ - 'sunday', - 'monday', - 'tuesday', - 'wednesday', - 'thursday', - 'friday', - 'saturday' - ]; - // :: ADD PROVIDER'S UNAVAILABLE TIME PERIODS var calendarView = $calendar.fullCalendar('getView').name; @@ -805,12 +795,13 @@ window.BackendCalendarDefaultView = window.BackendCalendarDefaultView || {}; var workingPlanBulk = jQuery.parseJSON(provider.settings.working_plan); var unavailablePeriod; - // Sort the working plan starting with Sunday as the first weekday to correctly align breaks in the calendar display - workingPlan = GeneralFunctions.sortWeekDict(workingPlanBulk,0); // 0 is the ID for Sunday + // Sort the working plan starting with the first day as set in General settings to correctly align breaks in the calendar display + var fDaynum = GeneralFunctions.getWeekDayId(GlobalVariables.firstWeekday); + workingPlan = GeneralFunctions.sortWeekDict(workingPlanBulk,fDaynum); switch (calendarView) { case 'agendaDay': - var selectedDayName = weekDays[$calendar.fullCalendar('getView').start.format('d')]; + var selectedDayName = GeneralFunctions.getWeekDayName(parseInt($calendar.fullCalendar('getView').start.format('d'))); // Add custom unavailable periods. $.each(response.unavailables, function (index, unavailable) { @@ -1091,12 +1082,15 @@ window.BackendCalendarDefaultView = window.BackendCalendarDefaultView || {}; var defaultView = window.innerWidth < 468 ? 'agendaDay' : 'agendaWeek'; + var fDay = GlobalVariables.firstWeekday; + var fDaynum = GeneralFunctions.getWeekDayId(fDay); + // Initialize page calendar $('#calendar').fullCalendar({ defaultView: defaultView, height: _getCalendarHeight(), editable: true, - firstDay: 0, + firstDay: fDaynum, snapDuration: '00:30:00', timeFormat: timeFormat, slotLabelFormat: slotTimeFormat, diff --git a/src/assets/js/backend_calendar_unavailabilities_modal.js b/src/assets/js/backend_calendar_unavailabilities_modal.js index ca0aef67..5f7baa21 100755 --- a/src/assets/js/backend_calendar_unavailabilities_modal.js +++ b/src/assets/js/backend_calendar_unavailabilities_modal.js @@ -180,6 +180,8 @@ window.BackendCalendarUnavailabilitiesModal = window.BackendCalendarUnavailabili break; } + var fDay = GlobalVariables.firstWeekday; + var fDaynum = GeneralFunctions.getWeekDayId(fDay); $dialog.find('#unavailable-start').datetimepicker({ dateFormat: dateFormat, @@ -207,7 +209,7 @@ window.BackendCalendarUnavailabilitiesModal = window.BackendCalendarUnavailabili timeText: EALang.time, hourText: EALang.hour, minuteText: EALang.minutes, - firstDay: 0 + firstDay: fDaynum }); $dialog.find('#unavailable-start').val(start); @@ -237,7 +239,7 @@ window.BackendCalendarUnavailabilitiesModal = window.BackendCalendarUnavailabili timeText: EALang.time, hourText: EALang.hour, minuteText: EALang.minutes, - firstDay: 0 + firstDay: fDaynum }); $dialog.find('#unavailable-end').val(end); diff --git a/src/assets/js/frontend_book.js b/src/assets/js/frontend_book.js index 892f8a86..7d6083ba 100644 --- a/src/assets/js/frontend_book.js +++ b/src/assets/js/frontend_book.js @@ -104,9 +104,12 @@ window.FrontendBook = window.FrontendBook || {}; } }); + var fDay = GlobalVariables.firstWeekday; + var fDaynum = GeneralFunctions.getWeekDayId(fDay); + $('#select-date').datepicker({ dateFormat: 'dd-mm-yy', - firstDay: 0, + firstDay: fDaynum, minDate: 0, defaultDate: Date.today(), diff --git a/src/assets/js/general_functions.js b/src/assets/js/general_functions.js index 52e76034..8a6518a9 100755 --- a/src/assets/js/general_functions.js +++ b/src/assets/js/general_functions.js @@ -431,6 +431,60 @@ window.GeneralFunctions = window.GeneralFunctions || {}; return result; }; + /** + * Get the Id of a Weekday using the US week format and day names (Sunday=0) as used in the JS code of the appli, case insensitive, short and long names supported. + * + * @param {String} weekDayName The weekday name amongs Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday. + + * @return {Integer} Returns the ID of the weekday. + */ + exports.getWeekDayId = function (weekDayName) { + var result; + + switch (weekDayName.toLowerCase()) { + + case 'sunday': + case 'sun': + result = 0; + break; + + case 'monday': + case 'mon': + result = 1; + break; + + case 'tuesday': + case 'tue': + result = 2; + break; + + case 'wednesday': + case 'wed': + result = 3; + break; + + case 'thursday': + case 'thu': + result = 4; + break; + + case 'friday': + case 'fri': + result = 5; + break; + + case 'saturday': + case 'sat': + result = 6; + break; + + default: + throw new Error('Invalid weekday name provided!', weekDayName); + } + + return result; + }; + /** * Get the name in lowercase of a Weekday using its Id. * diff --git a/src/assets/sql/data.sql b/src/assets/sql/data.sql index e6fca50c..d97512ca 100644 --- a/src/assets/sql/data.sql +++ b/src/assets/sql/data.sql @@ -22,6 +22,7 @@ VALUES ('display_terms_and_conditions', '0'), ('terms_and_conditions_content', 'Terms and conditions content.'), ('display_privacy_policy', '0'), - ('privacy_policy_content', 'Privacy policy content.'); + ('privacy_policy_content', 'Privacy policy content.'), + ('first_weekday', 'sunday'); -INSERT INTO `ea_migrations` VALUES ('12'); +INSERT INTO `ea_migrations` VALUES ('13');