mirror of
https://github.com/alextselegidis/easyappointments.git
synced 2024-12-22 22:52:35 +03:00
Merge branch 'hotfix'
This commit is contained in:
commit
ae77d72458
178 changed files with 728 additions and 519 deletions
|
@ -39,6 +39,6 @@ class Config {
|
|||
}
|
||||
```
|
||||
|
||||
*This document applies to Easy!Appointments v1.3.0.*
|
||||
*This document applies to Easy!Appointments v1.3.1.*
|
||||
|
||||
[Back](readme.md)
|
||||
|
|
|
@ -54,6 +54,6 @@ You get this warning because PHP is not configured with a timezone setting. This
|
|||
`date_default_timezone_set('America/Los_Angeles'); // Use your own timezone string.`
|
||||
|
||||
|
||||
*This document applies to Easy!Appointments v1.3.0.*
|
||||
*This document applies to Easy!Appointments v1.3.1.*
|
||||
|
||||
[Back](readme.md)
|
||||
|
|
|
@ -20,6 +20,6 @@ You are more than welcome to help with the translation progress of the user inte
|
|||
|
||||
It would be much appreciated if you would take 5 minutes of your time to fill this small form on your experience with Easy!Appointments. User feedback is very important and will help with the future planning of the project. Fill the [E!A Feedback Form](https://docs.google.com/forms/d/15dw1jl7lUgw4q-XXMn13Gx_e8zJxAiyWYMOdqtZqIHU/viewform).
|
||||
|
||||
*This document applies to Easy!Appointments v1.3.0.*
|
||||
*This document applies to Easy!Appointments v1.3.1.*
|
||||
|
||||
[Back](readme.md)
|
||||
|
|
|
@ -49,6 +49,6 @@ Google Developers – https://developers.google.com/google-apps/calendar
|
|||
|
||||
E!A Support Group – https://groups.google.com/forum/#!forum/easy-appointments
|
||||
|
||||
*This document applies to Easy!Appointments v1.3.0.*
|
||||
*This document applies to Easy!Appointments v1.3.1.*
|
||||
|
||||
[Back](readme.md)
|
||||
|
|
|
@ -29,6 +29,6 @@ Finally just add a link in your website that points to your Easy!Appointments in
|
|||
|
||||
Happy Bookin'!
|
||||
|
||||
*This document applies to Easy!Appointments v1.3.0.*
|
||||
*This document applies to Easy!Appointments v1.3.1.*
|
||||
|
||||
[Back](readme.md)
|
||||
|
|
|
@ -14,6 +14,6 @@ Easy!Appointments is based upon CodeIgniter (PHP Framework) and it uses its buil
|
|||
|
||||
Follow these steps in order to add or adjust your translations and modify the message of the user interface of Easy!Appointments. If you want contribute to the translation process of Easy!Appointments please read the [Get Involved](https://github.com/alextselegidis/easyappointments/wiki/Get-Involved!) wiki page for more information. Please share your translations with the user community.
|
||||
|
||||
*This document applies to Easy!Appointments v1.3.0.*
|
||||
*This document applies to Easy!Appointments v1.3.1.*
|
||||
|
||||
[Back](readme.md)
|
||||
|
|
|
@ -10,4 +10,4 @@ Welcome to the documentation pages of Easy!Appointments. Navigate through the av
|
|||
- [Docker](docker.md)
|
||||
- [FAQ](faq.md)
|
||||
|
||||
*This document applies to Easy!Appointments v1.3.0.*
|
||||
*This document applies to Easy!Appointments v1.3.1.*
|
||||
|
|
|
@ -443,6 +443,6 @@ fastcgi_param PHP_AUTH_PW $http_authorization;
|
|||
|
||||
[[Source]](http://serverfault.com/a/520943)
|
||||
|
||||
*This document applies to Easy!Appointments v1.3.0.*
|
||||
*This document applies to Easy!Appointments v1.3.1.*
|
||||
|
||||
[Back](readme.md)
|
||||
|
|
|
@ -16,6 +16,6 @@ Version v1.2 introduces two new folders in the root directory of the project, th
|
|||
|
||||
Many core files were changed in v1.1 and it would be better if you replace all the Easy!Appointments files of version 1.0 with the new ones. Use the data of the old `configuration.php` file in the new `config.php` and open the `http://url-to-ea-installation/index.php/backend/update` as already mentioned. Your new version should work just fine!
|
||||
|
||||
*This document applies to Easy!Appointments v1.3.0.*
|
||||
*This document applies to Easy!Appointments v1.3.1.*
|
||||
|
||||
[Back](readme.md)
|
||||
|
|
8
package-lock.json
generated
8
package-lock.json
generated
|
@ -1090,7 +1090,7 @@
|
|||
"integrity": "sha1-C5tiseaX1S05wRGK+eTkEeUEVZA=",
|
||||
"requires": {
|
||||
"jquery": "3.2.1",
|
||||
"moment": "2.19.1"
|
||||
"moment": "2.21.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"jquery": {
|
||||
|
@ -2177,9 +2177,9 @@
|
|||
}
|
||||
},
|
||||
"moment": {
|
||||
"version": "2.19.1",
|
||||
"resolved": "https://registry.npmjs.org/moment/-/moment-2.19.1.tgz",
|
||||
"integrity": "sha1-VtoaLRy/AdOLfhr8McELz6GSkWc="
|
||||
"version": "2.21.0",
|
||||
"resolved": "https://registry.npmjs.org/moment/-/moment-2.21.0.tgz",
|
||||
"integrity": "sha512-TCZ36BjURTeFTM/CwRcViQlfkMvL1/vFISuNLO5GkcVm1+QHfbSiNqZuWeMFjj1/3+uAjXswgRk30j1kkLYJBQ=="
|
||||
},
|
||||
"ms": {
|
||||
"version": "2.0.0",
|
||||
|
|
|
@ -36,6 +36,7 @@
|
|||
"fullcalendar": "^3.6.1",
|
||||
"jquery": "^3.0.0",
|
||||
"jquery-ui": "^1.12.0",
|
||||
"moment": "^2.21.0",
|
||||
"qtip2": "^3.0.3",
|
||||
"sticky-table-headers": "^0.1.19"
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.5/phpunit.xsd"
|
||||
backupGlobals="true"
|
||||
backupStaticAttributes="false"
|
||||
bootstrap="bootstrap.php"
|
||||
bootstrap="test/php/bootstrap.php"
|
||||
cacheTokens="false"
|
||||
colors="false"
|
||||
convertErrorsToExceptions="true"
|
||||
|
@ -25,7 +25,7 @@
|
|||
verbose="false">
|
||||
<filter>
|
||||
<whitelist>
|
||||
<directory suffix=".php">../src/engine</directory>
|
||||
<directory suffix=".php">src/engine</directory>
|
||||
</whitelist>
|
||||
</filter>
|
||||
|
|
@ -1,52 +0,0 @@
|
|||
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
|
||||
SET time_zone = "+00:00";
|
||||
|
||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||||
/*!40101 SET NAMES utf8mb4 */;
|
||||
|
||||
|
||||
INSERT INTO `ea_roles` (`id`, `name`, `slug`, `is_admin`, `appointments`, `customers`, `services`, `users`, `system_settings`, `user_settings`) VALUES
|
||||
(1, 'Administrator', 'admin', 1, 15, 15, 15, 15, 15, 15),
|
||||
(2, 'Provider', 'provider', 0, 15, 15, 0, 0, 0, 15),
|
||||
(3, 'Customer', 'customer', 0, 0, 0, 0, 0, 0, 0),
|
||||
(4, 'Secretary', 'secretary', 0, 15, 15, 0, 0, 0, 15);
|
||||
|
||||
INSERT INTO `ea_secretaries_providers` (`id_users_secretary`, `id_users_provider`) VALUES
|
||||
(87, 85);
|
||||
|
||||
INSERT INTO `ea_services` (`id`, `name`, `duration`, `price`, `currency`, `description`, `availabilities_type`, `attendants_number`, `id_service_categories`) VALUES
|
||||
(13, 'Test Service', 30, '50.00', 'Euro', 'This is a test service automatically inserted by the installer.', 'flexible', 1, NULL);
|
||||
|
||||
INSERT INTO `ea_services_providers` (`id_users`, `id_services`) VALUES
|
||||
(85, 13);
|
||||
|
||||
INSERT INTO `ea_service_categories` (`id`, `name`, `description`) VALUES
|
||||
(24, 'Test Category', 'This is a test service category.');
|
||||
|
||||
INSERT INTO `ea_settings` (`id`, `name`, `value`) VALUES
|
||||
(16, 'company_working_plan', '{"monday":{"start":"09:00","end":"18:00","breaks":[{"start":"11:20","end":"11:30"},{"start":"14:30","end":"15:00"}]},"tuesday":{"start":"09:00","end":"18:00","breaks":[{"start":"11:20","end":"11:30"},{"start":"14:30","end":"15:00"}]},"wednesday":{"start":"09:00","end":"18:00","breaks":[{"start":"11:20","end":"11:30"},{"start":"14:30","end":"15:00"}]},"thursday":{"start":"09:00","end":"18:00","breaks":[{"start":"11:20","end":"11:30"},{"start":"14:30","end":"15:00"}]},"friday":{"start":"09:00","end":"18:00","breaks":[{"start":"11:20","end":"11:30"},{"start":"14:30","end":"15:00"}]},"saturday":{"start":"09:00","end":"18:00","breaks":[{"start":"11:20","end":"11:30"},{"start":"14:30","end":"15:00"}]},"sunday":{"start":"09:00","end":"18:00","breaks":[{"start":"11:20","end":"11:30"},{"start":"14:30","end":"15:00"}]}}'),
|
||||
(17, 'book_advance_timeout', '30'),
|
||||
(18, 'google_analytics_code', ''),
|
||||
(19, 'customer_notifications', '1'),
|
||||
(20, 'date_format', 'DMY'),
|
||||
(21, 'require_captcha', '0'),
|
||||
(22, 'company_name', 'JD & Co'),
|
||||
(23, 'company_email', 'john@doe12345.com'),
|
||||
(24, 'company_link', 'http://doe12345.com');
|
||||
|
||||
INSERT INTO `ea_users` (`id`, `first_name`, `last_name`, `email`, `mobile_number`, `phone_number`, `address`, `city`, `state`, `zip_code`, `notes`, `id_roles`) VALUES
|
||||
(84, 'John', 'Doe', 'john@doe12345.com', '123123123', '123123123', 'Some Str 123', 'Some City', 'Some State', '12345', 'This is a test administrator.', 1),
|
||||
(85, 'Jane', 'Doe', 'jane@doe12345.com', '0123456789', '0123456789', 'Some Str 123', 'Some City', 'Some State', '12345', 'This is a test provider', 2),
|
||||
(86, 'Chris', 'Doe', 'chris@doe12345.com', NULL, '123123123', 'Some Str 123', 'Some City', NULL, '12345', 'This is a test customer.', 3),
|
||||
(87, 'Chloe', 'Doe', 'chloe@doe12345.com', '123123123', '123123123', 'Some Str 123', 'Some City', 'Some State', '12345', 'This is a test secretary.', 4);
|
||||
|
||||
INSERT INTO `ea_user_settings` (`id_users`, `username`, `password`, `salt`, `working_plan`, `notifications`, `google_sync`, `google_token`, `google_calendar`, `sync_past_days`, `sync_future_days`, `calendar_view`) VALUES
|
||||
(84, 'administrator', 'c1871d3852f8b78503c5e4f585f3979d0580b4d0339533ae5b55abbe3dba7a4b', '703006e3a7c61db01c943eda81b50ac4ca567e1e61fd677b6a8b431c8bd95eeb', NULL, 0, 0, NULL, NULL, 5, 5, 'default'),
|
||||
(85, 'jane@doe12345.com', '29cc4447507f0ea740a5d666944e997059b02cc0a968fa3f29eb5574cc1df2e7', 'f7b509c4b37f734ed1c3c65466b62843979bf4a354c3c3a1ab4752f9399df95c', '{"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}', 0, 0, NULL, NULL, 5, 5, 'default'),
|
||||
(87, 'chloe@doe12345.com', '2ad09a6c7b100048a48c380290206c35d953ed224c706d6f61d2198a9413c115', '8701d60910fb5994d4700f8057cebb16e94326d397241c7baac7c9b9c61012e6', NULL, 0, 0, NULL, NULL, 5, 5, 'default');
|
||||
|
||||
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
|
@ -1,186 +0,0 @@
|
|||
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
|
||||
SET time_zone = "+00:00";
|
||||
|
||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT = @@CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS = @@CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET @OLD_COLLATION_CONNECTION = @@COLLATION_CONNECTION */;
|
||||
/*!40101 SET NAMES utf8mb4 */;
|
||||
|
||||
|
||||
CREATE TABLE `ea_appointments` (
|
||||
`id` INT(11) AUTO_INCREMENT NOT NULL,
|
||||
`book_datetime` DATETIME DEFAULT NULL,
|
||||
`start_datetime` DATETIME DEFAULT NULL,
|
||||
`end_datetime` DATETIME DEFAULT NULL,
|
||||
`notes` TEXT,
|
||||
`hash` TEXT,
|
||||
`is_unavailable` TINYINT(4) DEFAULT '0',
|
||||
`id_users_provider` INT(11) DEFAULT NULL,
|
||||
`id_users_customer` INT(11) DEFAULT NULL,
|
||||
`id_services` INT(11) DEFAULT NULL,
|
||||
`id_google_calendar` TEXT,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `id_users_customer` (`id_users_customer`),
|
||||
KEY `id_services` (`id_services`),
|
||||
KEY `id_users_provider` (`id_users_provider`)
|
||||
)
|
||||
ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8;
|
||||
|
||||
CREATE TABLE `ea_migrations` (
|
||||
`version` INT(11) NOT NULL
|
||||
)
|
||||
ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8;
|
||||
|
||||
CREATE TABLE `ea_roles` (
|
||||
`id` INT(11) AUTO_INCREMENT NOT NULL,
|
||||
`name` VARCHAR(256) DEFAULT NULL,
|
||||
`slug` VARCHAR(256) DEFAULT NULL,
|
||||
`is_admin` TINYINT(4) DEFAULT NULL,
|
||||
`appointments` INT(11) DEFAULT NULL,
|
||||
`customers` INT(11) DEFAULT NULL,
|
||||
`services` INT(11) DEFAULT NULL,
|
||||
`users` INT(11) DEFAULT NULL,
|
||||
`system_settings` INT(11) DEFAULT NULL,
|
||||
`user_settings` INT(11) DEFAULT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
)
|
||||
ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8;
|
||||
|
||||
CREATE TABLE `ea_secretaries_providers` (
|
||||
`id_users_secretary` INT(11) NOT NULL,
|
||||
`id_users_provider` INT(11) NOT NULL,
|
||||
PRIMARY KEY (`id_users_secretary`, `id_users_provider`),
|
||||
KEY `fk_ea_secretaries_providers_1` (`id_users_secretary`),
|
||||
KEY `fk_ea_secretaries_providers_2` (`id_users_provider`)
|
||||
)
|
||||
ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8;
|
||||
|
||||
CREATE TABLE `ea_services` (
|
||||
`id` INT(11) AUTO_INCREMENT NOT NULL,
|
||||
`name` VARCHAR(256) DEFAULT NULL,
|
||||
`duration` INT(11) DEFAULT NULL,
|
||||
`price` DECIMAL(10, 2) DEFAULT NULL,
|
||||
`currency` VARCHAR(32) DEFAULT NULL,
|
||||
`description` TEXT,
|
||||
`availabilities_type` VARCHAR(32) DEFAULT 'flexible',
|
||||
`attendants_number` INT(11) DEFAULT '1',
|
||||
`id_service_categories` INT(11) DEFAULT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `id_service_categories` (`id_service_categories`)
|
||||
)
|
||||
ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8;
|
||||
|
||||
CREATE TABLE `ea_services_providers` (
|
||||
`id_users` INT(11) NOT NULL,
|
||||
`id_services` INT(11) NOT NULL,
|
||||
PRIMARY KEY (`id_users`, `id_services`),
|
||||
KEY `id_services` (`id_services`)
|
||||
)
|
||||
ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8;
|
||||
|
||||
CREATE TABLE `ea_service_categories` (
|
||||
`id` INT(11) AUTO_INCREMENT NOT NULL,
|
||||
`name` VARCHAR(256) DEFAULT NULL,
|
||||
`description` TEXT,
|
||||
PRIMARY KEY (`id`)
|
||||
)
|
||||
ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8;
|
||||
|
||||
CREATE TABLE `ea_settings` (
|
||||
`id` INT(11) AUTO_INCREMENT NOT NULL,
|
||||
`name` VARCHAR(512) DEFAULT NULL,
|
||||
`value` TEXT,
|
||||
PRIMARY KEY (`id`)
|
||||
)
|
||||
ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8;
|
||||
|
||||
CREATE TABLE `ea_users` (
|
||||
`id` INT(11) AUTO_INCREMENT NOT NULL,
|
||||
`first_name` VARCHAR(256) DEFAULT NULL,
|
||||
`last_name` VARCHAR(512) DEFAULT NULL,
|
||||
`email` VARCHAR(512) DEFAULT NULL,
|
||||
`mobile_number` VARCHAR(128) DEFAULT NULL,
|
||||
`phone_number` VARCHAR(128) DEFAULT NULL,
|
||||
`address` VARCHAR(256) DEFAULT NULL,
|
||||
`city` VARCHAR(256) DEFAULT NULL,
|
||||
`state` VARCHAR(128) DEFAULT NULL,
|
||||
`zip_code` VARCHAR(64) DEFAULT NULL,
|
||||
`notes` TEXT,
|
||||
`id_roles` INT(11) NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `id_roles` (`id_roles`)
|
||||
)
|
||||
ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8;
|
||||
|
||||
CREATE TABLE `ea_user_settings` (
|
||||
`id_users` INT(11) NOT NULL,
|
||||
`username` VARCHAR(256) DEFAULT NULL,
|
||||
`password` VARCHAR(512) DEFAULT NULL,
|
||||
`salt` VARCHAR(512) DEFAULT NULL,
|
||||
`working_plan` TEXT,
|
||||
`notifications` TINYINT(4) DEFAULT '0',
|
||||
`google_sync` TINYINT(4) DEFAULT '0',
|
||||
`google_token` TEXT,
|
||||
`google_calendar` VARCHAR(128) DEFAULT NULL,
|
||||
`sync_past_days` INT(11) DEFAULT '5',
|
||||
`sync_future_days` INT(11) DEFAULT '5',
|
||||
`calendar_view` VARCHAR(32) DEFAULT 'default',
|
||||
PRIMARY KEY (`id_users`)
|
||||
)
|
||||
ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8;
|
||||
|
||||
ALTER TABLE `ea_appointments`
|
||||
ADD CONSTRAINT `ea_appointments_ea_users_customer` FOREIGN KEY (`id_users_customer`) REFERENCES `ea_users` (`id`)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE,
|
||||
ADD CONSTRAINT `ea_appointments_ea_services` FOREIGN KEY (`id_services`) REFERENCES `ea_services` (`id`)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE,
|
||||
ADD CONSTRAINT `ea_appointments_ea_users_provider` FOREIGN KEY (`id_users_provider`) REFERENCES `ea_users` (`id`)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE;
|
||||
|
||||
ALTER TABLE `ea_secretaries_providers`
|
||||
ADD CONSTRAINT `ea_secretaries_ea_users_secretary` FOREIGN KEY (`id_users_secretary`) REFERENCES `ea_users` (`id`)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE,
|
||||
ADD CONSTRAINT `ea_secretaries_ea_users_provider` FOREIGN KEY (`id_users_provider`) REFERENCES `ea_users` (`id`)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE;
|
||||
|
||||
ALTER TABLE `ea_services`
|
||||
ADD CONSTRAINT `ea_services_ea_service_categories` FOREIGN KEY (`id_service_categories`) REFERENCES `ea_service_categories` (`id`)
|
||||
ON DELETE SET NULL
|
||||
ON UPDATE CASCADE;
|
||||
|
||||
ALTER TABLE `ea_services_providers`
|
||||
ADD CONSTRAINT `ea_services_providers_ea_users_provider` FOREIGN KEY (`id_users`) REFERENCES `ea_users` (`id`)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE,
|
||||
ADD CONSTRAINT `ea_services_providers_ea_services` FOREIGN KEY (`id_services`) REFERENCES `ea_services` (`id`)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE;
|
||||
|
||||
ALTER TABLE `ea_users`
|
||||
ADD CONSTRAINT `ea_users_ea_roles` FOREIGN KEY (`id_roles`) REFERENCES `ea_roles` (`id`)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE;
|
||||
|
||||
ALTER TABLE `ea_user_settings`
|
||||
ADD CONSTRAINT `ea_user_settings_ea_users` FOREIGN KEY (`id_users`) REFERENCES `ea_users` (`id`)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE;
|
||||
|
||||
/*!40101 SET CHARACTER_SET_CLIENT = @OLD_CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET CHARACTER_SET_RESULTS = @OLD_CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET COLLATION_CONNECTION = @OLD_COLLATION_CONNECTION */;
|
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 41 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 7 KiB After Width: | Height: | Size: 7 KiB |
|
@ -8,7 +8,7 @@
|
|||
| Declare some of the global config values of Easy!Appointments.
|
||||
|
|
||||
*/
|
||||
$config['version'] = '1.3.0'; // This must be changed manually.
|
||||
$config['version'] = '1.3.1'; // This must be changed manually.
|
||||
$config['release_label'] = ''; // Leave empty for no title or add Alpha, Beta etc ...
|
||||
$config['google_sync_feature'] = Config::GOOGLE_SYNC_FEATURE;
|
||||
|
||||
|
@ -273,7 +273,7 @@ $config['cache_path'] = __DIR__ . '/../../storage/cache/';
|
|||
| new release.
|
||||
|
|
||||
*/
|
||||
$config['cache_busting_token'] = '9G7D4';
|
||||
$config['cache_busting_token'] = '93GE1';
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
|
@ -75,6 +75,9 @@ define('DATE_FORMAT_DMY', 'DMY');
|
|||
define('DATE_FORMAT_MDY', 'MDY');
|
||||
define('DATE_FORMAT_YMD', 'YMD');
|
||||
|
||||
define('TIME_FORMAT_REGULAR', 'regular');
|
||||
define('TIME_FORMAT_MILITARY', 'military');
|
||||
|
||||
define('MIN_PASSWORD_LENGTH', 7);
|
||||
define('ANY_PROVIDER', 'any-provider');
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@ $config['migration_table'] = 'ea_migrations';
|
|||
| be upgraded / downgraded to.
|
||||
|
|
||||
*/
|
||||
$config['migration_version'] = 9; // current
|
||||
$config['migration_version'] = 11; // current
|
||||
|
||||
|
||||
/*
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
@ -75,6 +75,7 @@ class Appointments extends CI_Controller {
|
|||
$available_providers = $this->providers_model->get_available_providers();
|
||||
$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');
|
||||
|
||||
// Remove the data that are not needed inside the $available_providers array.
|
||||
foreach ($available_providers as $index => $provider)
|
||||
|
@ -132,6 +133,7 @@ class Appointments extends CI_Controller {
|
|||
'company_name' => $company_name,
|
||||
'manage_mode' => $manage_mode,
|
||||
'date_format' => $date_format,
|
||||
'time_format' => $time_format,
|
||||
'appointment_data' => $appointment,
|
||||
'provider_data' => $provider,
|
||||
'customer_data' => $customer
|
||||
|
@ -180,7 +182,8 @@ class Appointments extends CI_Controller {
|
|||
'company_name' => $this->settings_model->get_setting('company_name'),
|
||||
'company_email' => $this->settings_model->get_setting('company_email'),
|
||||
'company_link' => $this->settings_model->get_setting('company_link'),
|
||||
'date_format' => $this->settings_model->get_setting('date_format')
|
||||
'date_format' => $this->settings_model->get_setting('date_format'),
|
||||
'time_format' => $this->settings_model->get_setting('time_format')
|
||||
];
|
||||
|
||||
// :: DELETE APPOINTMENT RECORD FROM THE DATABASE.
|
||||
|
@ -470,7 +473,8 @@ class Appointments extends CI_Controller {
|
|||
'company_name' => $this->settings_model->get_setting('company_name'),
|
||||
'company_link' => $this->settings_model->get_setting('company_link'),
|
||||
'company_email' => $this->settings_model->get_setting('company_email'),
|
||||
'date_format' => $this->settings_model->get_setting('date_format')
|
||||
'date_format' => $this->settings_model->get_setting('date_format'),
|
||||
'time_format' => $this->settings_model->get_setting('time_format')
|
||||
];
|
||||
|
||||
// :: SYNCHRONIZE APPOINTMENT WITH PROVIDER'S GOOGLE CALENDAR
|
||||
|
@ -605,12 +609,34 @@ class Appointments extends CI_Controller {
|
|||
$selected_date = new DateTime($selected_date_string);
|
||||
$number_of_days_in_month = (int)$selected_date->format('t');
|
||||
$unavailable_dates = [];
|
||||
$manage_mode = filter_var($this->input->get('manage_mode'), FILTER_VALIDATE_BOOLEAN);
|
||||
|
||||
$exclude_appointments = ($_REQUEST['manage_mode'] === 'true')
|
||||
? [$_REQUEST['appointment_id']]
|
||||
: [];
|
||||
|
||||
// Handle the "Any Provider" case.
|
||||
if ($provider_id === ANY_PROVIDER)
|
||||
{
|
||||
$provider_id = $this->_search_any_provider($service_id, $selected_date_string);
|
||||
|
||||
if ($provider_id === null) {
|
||||
$current_date = new DateTime($selected_date_string);
|
||||
$current_date->add(new DateInterval('P1D'));
|
||||
|
||||
do
|
||||
{
|
||||
$provider_id = $this->_search_any_provider($service_id, $current_date->format('Y-m-d H:i:s'));
|
||||
|
||||
if ($provider_id)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
$current_date->add(new DateInterval('P1D'));
|
||||
} while ((int)$current_date->format('d') <= $number_of_days_in_month);
|
||||
}
|
||||
|
||||
if ($provider_id === NULL)
|
||||
{
|
||||
// No provider is available in the selected date.
|
||||
|
@ -649,10 +675,10 @@ class Appointments extends CI_Controller {
|
|||
|
||||
$empty_periods = $this->_get_provider_available_time_periods($provider_id,
|
||||
$service_id,
|
||||
$current_date->format('Y-m-d'));
|
||||
$current_date->format('Y-m-d'), $exclude_appointments);
|
||||
|
||||
$available_hours = $this->_calculate_available_hours($empty_periods, $current_date->format('Y-m-d'),
|
||||
$service['duration'], FALSE, $service['availabilities_type']);
|
||||
$service['duration'], $manage_mode, $service['availabilities_type']);
|
||||
|
||||
if ($service['attendants_number'] > 1)
|
||||
{
|
||||
|
@ -867,6 +893,11 @@ class Appointments extends CI_Controller {
|
|||
$remove_current_period = TRUE;
|
||||
}
|
||||
|
||||
if ($break_start == $period_start && $break_end == $period_end)
|
||||
{
|
||||
$remove_current_period = TRUE;
|
||||
}
|
||||
|
||||
if ($remove_current_period)
|
||||
{
|
||||
unset($periods[$key]);
|
||||
|
|
7
src/application/controllers/Backend.php
Normal file → Executable file
7
src/application/controllers/Backend.php
Normal file → Executable file
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
@ -69,6 +69,7 @@ class Backend extends CI_Controller {
|
|||
$view['active_menu'] = PRIV_APPOINTMENTS;
|
||||
$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['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();
|
||||
|
@ -130,6 +131,7 @@ class Backend extends CI_Controller {
|
|||
$view['active_menu'] = PRIV_CUSTOMERS;
|
||||
$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['customers'] = $this->customers_model->get_batch();
|
||||
$view['available_providers'] = $this->providers_model->get_available_providers();
|
||||
$view['available_services'] = $this->services_model->get_available_services();
|
||||
|
@ -167,6 +169,7 @@ class Backend extends CI_Controller {
|
|||
$view['active_menu'] = PRIV_SERVICES;
|
||||
$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['services'] = $this->services_model->get_batch();
|
||||
$view['categories'] = $this->services_model->get_all_categories();
|
||||
$this->set_user_data($view);
|
||||
|
@ -203,6 +206,7 @@ class Backend extends CI_Controller {
|
|||
$view['active_menu'] = PRIV_USERS;
|
||||
$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['admins'] = $this->admins_model->get_batch();
|
||||
$view['providers'] = $this->providers_model->get_batch();
|
||||
$view['secretaries'] = $this->secretaries_model->get_batch();
|
||||
|
@ -242,6 +246,7 @@ class Backend extends CI_Controller {
|
|||
$view['active_menu'] = PRIV_SYSTEM_SETTINGS;
|
||||
$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['role_slug'] = $this->session->userdata('role_slug');
|
||||
$view['system_settings'] = $this->settings_model->get_settings();
|
||||
$view['user_settings'] = $this->user_model->get_settings($user_id);
|
||||
|
|
8
src/application/controllers/Backend_api.php
Normal file → Executable file
8
src/application/controllers/Backend_api.php
Normal file → Executable file
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
@ -311,7 +311,8 @@ class Backend_api extends CI_Controller {
|
|||
'company_name' => $this->settings_model->get_setting('company_name'),
|
||||
'company_link' => $this->settings_model->get_setting('company_link'),
|
||||
'company_email' => $this->settings_model->get_setting('company_email'),
|
||||
'date_format' => $this->settings_model->get_setting('date_format')
|
||||
'date_format' => $this->settings_model->get_setting('date_format'),
|
||||
'time_format' => $this->settings_model->get_setting('time_format')
|
||||
];
|
||||
|
||||
// :: SYNC APPOINTMENT CHANGES WITH GOOGLE CALENDAR
|
||||
|
@ -461,7 +462,8 @@ class Backend_api extends CI_Controller {
|
|||
'company_name' => $this->settings_model->get_setting('company_name'),
|
||||
'company_email' => $this->settings_model->get_setting('company_email'),
|
||||
'company_link' => $this->settings_model->get_setting('company_link'),
|
||||
'date_format' => $this->settings_model->get_setting('date_format')
|
||||
'date_format' => $this->settings_model->get_setting('date_format'),
|
||||
'time_format' => $this->settings_model->get_setting('time_format')
|
||||
];
|
||||
|
||||
// :: DELETE APPOINTMENT RECORD FROM DATABASE
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, 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 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, 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 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, 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 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.1.0
|
||||
|
@ -93,7 +93,7 @@ class Installation extends CI_Controller {
|
|||
|
||||
// Insert admin
|
||||
$this->load->model('admins_model');
|
||||
$admin = json_decode($this->input->post('admin'), TRUE);
|
||||
$admin = $this->input->post('admin');
|
||||
$admin['settings']['username'] = $admin['username'];
|
||||
$admin['settings']['password'] = $admin['password'];
|
||||
$admin['settings']['calendar_view'] = CALENDAR_VIEW_DEFAULT;
|
||||
|
@ -108,7 +108,7 @@ class Installation extends CI_Controller {
|
|||
|
||||
// Save company settings
|
||||
$this->load->model('settings_model');
|
||||
$company = json_decode($this->input->post('company'), TRUE);
|
||||
$company = $this->input->post('company');
|
||||
$this->settings_model->set_setting('company_name', $company['company_name']);
|
||||
$this->settings_model->set_setting('company_email', $company['company_email']);
|
||||
$this->settings_model->set_setting('company_link', $company['company_link']);
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, 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 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.2.0
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.2.0
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.2.0
|
||||
|
@ -50,8 +50,16 @@ class Appointments extends API_V1_Controller {
|
|||
{
|
||||
try
|
||||
{
|
||||
$condition = $id !== NULL ? 'id = ' . $id : NULL;
|
||||
$appointments = $this->appointments_model->get_batch($condition, array_key_exists('aggregates', $_GET));
|
||||
$conditions = [
|
||||
'is_unavailable' => FALSE
|
||||
];
|
||||
|
||||
if ($id !== NULL)
|
||||
{
|
||||
$conditions['id'] = $id;
|
||||
}
|
||||
|
||||
$appointments = $this->appointments_model->get_batch($conditions, array_key_exists('aggregates', $_GET));
|
||||
|
||||
if ($id !== NULL && count($appointments) === 0)
|
||||
{
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.2.0
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.2.0
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.2.0
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.2.0
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.2.0
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.2.0
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.2.0
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.2.0
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.3.0
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.3.0
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, 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 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, 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 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, 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 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, 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 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.1.0
|
||||
|
|
2
src/application/language/arabic/translations_lang.php
Normal file → Executable file
2
src/application/language/arabic/translations_lang.php
Normal file → Executable file
|
@ -274,6 +274,8 @@ $lang['customer_notifications'] = 'اشعارات الزبون';
|
|||
$lang['customer_notifications_hint'] = 'سيتم تلقي اشعارات للزبون عند تغيّر موعد الحجز أو عند تحديثه';
|
||||
$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['google_analytics_code_hint'] = 'ليتم تضمينه في صفحة الحجز Google Analytics ID أضف معرّف';
|
||||
$lang['availabilities_type'] = 'نوع التوفر أو الإتاحة';
|
||||
$lang['flexible'] = 'مرن';
|
||||
|
|
2
src/application/language/bulgarian/translations_lang.php
Normal file → Executable file
2
src/application/language/bulgarian/translations_lang.php
Normal file → Executable file
|
@ -274,6 +274,8 @@ $lang['customer_notifications_hint'] = 'Дефинира дали клиентъ
|
|||
$lang['customer_notifications'] = 'Клиентски Известия';
|
||||
$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['google_analytics_code_hint'] = 'Добавете Google Analytics ID за да бъде включена статистика в страницата за запазване на час.';
|
||||
$lang['availabilities_type'] = 'Типове на работен период.';
|
||||
$lang['flexible'] = 'Гъвкав';
|
||||
|
|
2
src/application/language/chinese/translations_lang.php
Normal file → Executable file
2
src/application/language/chinese/translations_lang.php
Normal file → Executable file
|
@ -274,6 +274,8 @@ $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['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['google_analytics_code_hint'] = 'Add your Google Analytics ID to be included in the booking page.';
|
||||
$lang['availabilities_type'] = 'Availabilities Type';
|
||||
$lang['flexible'] = 'Flexible';
|
||||
|
|
2
src/application/language/danish/translations_lang.php
Normal file → Executable file
2
src/application/language/danish/translations_lang.php
Normal file → Executable file
|
@ -274,6 +274,8 @@ $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['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['google_analytics_code_hint'] = 'Add your Google Analytics ID to be included in the booking page.';
|
||||
$lang['availabilities_type'] = 'Availabilities Type';
|
||||
$lang['flexible'] = 'Flexible';
|
||||
|
|
2
src/application/language/dutch/translations_lang.php
Normal file → Executable file
2
src/application/language/dutch/translations_lang.php
Normal file → Executable file
|
@ -274,6 +274,8 @@ $lang['customer_notifications'] = 'Klant mededelingen';
|
|||
$lang['customer_notifications_hint'] = 'Kies of de klant een bevestiging krijgt per email als er de afspraak wordt aangepast.';
|
||||
$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['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';
|
||||
|
|
2
src/application/language/english/translations_lang.php
Normal file → Executable file
2
src/application/language/english/translations_lang.php
Normal file → Executable file
|
@ -274,6 +274,8 @@ $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['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['google_analytics_code_hint'] = 'Add your Google Analytics ID to be included in the booking page.';
|
||||
$lang['availabilities_type'] = 'Availabilities Type';
|
||||
$lang['flexible'] = 'Flexible';
|
||||
|
|
2
src/application/language/finnish/translations_lang.php
Normal file → Executable file
2
src/application/language/finnish/translations_lang.php
Normal file → Executable file
|
@ -274,6 +274,8 @@ $lang['customer_notifications'] = 'Asiakas ilmoitukset';
|
|||
$lang['customer_notifications_hint'] = 'Jos aktivoitu, asiakkaalle lähetetään ilmoitus jos varattuun aikaan tulee muutoksia.';
|
||||
$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['google_analytics_code_hint'] = 'Lisää Google Analytics ID varaussivulle.';
|
||||
$lang['availabilities_type'] = 'Availabilities Type';
|
||||
$lang['flexible'] = 'Flexible';
|
||||
|
|
4
src/application/language/french/translations_lang.php
Normal file → Executable file
4
src/application/language/french/translations_lang.php
Normal file → Executable file
|
@ -34,7 +34,7 @@ $lang['reason'] = 'Motif';
|
|||
$lang['appointment_removed_from_schedule'] = 'Le rendez-vous suivant a été supprimé de l\'agenda.';
|
||||
$lang['appointment_details_was_sent_to_you'] = 'Un email reprennant les détails de votre rendez-vous vient de vous être envoyé';
|
||||
$lang['add_to_google_calendar'] = 'Ajouter à Google Calendar';
|
||||
$lang['appointment_booked'] = 'Votre rendez-vous a été confimé avec succès !';
|
||||
$lang['appointment_booked'] = 'Votre rendez-vous a été confirmé avec succès !';
|
||||
$lang['thank_you_for_appointment'] = 'Merci de votre prise de rendez-vous avec nous. Vous trouvez ci-joint les détails de votre rendez-vous. Si nécessaire, faites les changements souhaités en cliquant sur le lien du rendez-vous.';
|
||||
$lang['appointment_details_title'] = 'Détails du rendez-vous';
|
||||
$lang['customer_details_title'] = 'Vos informations';
|
||||
|
@ -272,6 +272,8 @@ $lang['customer_notifications'] = 'Notifications aux clients';
|
|||
$lang['customer_notifications_hint'] = 'Définit si les clients reçoivent des notifications par email chaque fois qu\'il y a un changement d\'horaire de l\'un de leurs rendez-vous.';
|
||||
$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'] = 'Time Format';
|
||||
$lang['time_format_hint'] = 'Change the time display format (H - Hours, M - Minutes).';
|
||||
$lang['google_analytics_code_hint'] = 'Renseignez l\'ID Google Analytics à utiliser dans la page des réservations.';
|
||||
$lang['availabilities_type'] = 'Availabilities Type';
|
||||
$lang['flexible'] = 'Flexible';
|
||||
|
|
2
src/application/language/german/translations_lang.php
Normal file → Executable file
2
src/application/language/german/translations_lang.php
Normal file → Executable file
|
@ -274,6 +274,8 @@ $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['time_format'] = 'Zeitformat';
|
||||
$lang['time_format_hint'] = 'Ändern Sie das Zeitanzeigeformat (H - Stunden, M - Minuten).';
|
||||
$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';
|
||||
|
|
2
src/application/language/greek/translations_lang.php
Normal file → Executable file
2
src/application/language/greek/translations_lang.php
Normal file → Executable file
|
@ -274,6 +274,8 @@ $lang['customer_notifications'] = 'Ειδοποιήσεις Πελατών';
|
|||
$lang['customer_notifications_hint'] = 'Ορίζει αν οι πελάτες θα λαμβάνουν ειδοποιήσεις μέσω email κάθε φορά που θα υπαχει μια αλλαγή σε κάποιο από τα ραντεβού τους.';
|
||||
$lang['date_format'] = 'Μορφή Ημερομηνίας';
|
||||
$lang['date_format_hint'] = 'Αλλάξτε την μορφή ημερομηνίας (D - Ημέρα, M - Μήνας, Y - Χρόνος).';
|
||||
$lang['time_format'] = 'Μορφή Ώρας';
|
||||
$lang['time_format_hint'] = 'Αλλάξτε την μορφή ώρας (H - Ώρα, M - Λεπτά).';
|
||||
$lang['google_analytics_code_hint'] = 'Προσθέστε τον Google Analytics ID σας το οποίο θα συμπεριληφθεί στην σελίδα κράτησης.';
|
||||
$lang['availabilities_type'] = 'Τύπος Διαθεσιμοτήτων';
|
||||
$lang['flexible'] = 'Ευέλικτος';
|
||||
|
|
2
src/application/language/hindi/translations_lang.php
Normal file → Executable file
2
src/application/language/hindi/translations_lang.php
Normal file → Executable file
|
@ -274,6 +274,8 @@ $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['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['google_analytics_code_hint'] = 'Add your Google Analytics ID to be included in the booking page.';
|
||||
$lang['availabilities_type'] = 'Availabilities Type';
|
||||
$lang['flexible'] = 'Flexible';
|
||||
|
|
2
src/application/language/hungarian/translations_lang.php
Normal file → Executable file
2
src/application/language/hungarian/translations_lang.php
Normal file → Executable file
|
@ -274,6 +274,8 @@ $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['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['google_analytics_code_hint'] = 'Add your Google Analytics ID to be included in the booking page.';
|
||||
$lang['availabilities_type'] = 'Availabilities Type';
|
||||
$lang['flexible'] = 'Flexible';
|
||||
|
|
2
src/application/language/italian/translations_lang.php
Normal file → Executable file
2
src/application/language/italian/translations_lang.php
Normal file → Executable file
|
@ -280,6 +280,8 @@ $lang['customer_notifications'] = 'Notifiche cliente';
|
|||
$lang['customer_notifications_hint'] = 'Definisce se il cliente riceverà notifiche email ogni volta che c\'è un cambiamento di programma su uno dei suoi appuntamenti.';
|
||||
$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['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';
|
||||
|
|
2
src/application/language/japanese/translations_lang.php
Normal file → Executable file
2
src/application/language/japanese/translations_lang.php
Normal file → Executable file
|
@ -274,6 +274,8 @@ $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['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['google_analytics_code_hint'] = 'Add your Google Analytics ID to be included in the booking page.';
|
||||
$lang['availabilities_type'] = 'Availabilities Type';
|
||||
$lang['flexible'] = 'Flexible';
|
||||
|
|
2
src/application/language/luxembourgish/translations_lang.php
Normal file → Executable file
2
src/application/language/luxembourgish/translations_lang.php
Normal file → Executable file
|
@ -274,6 +274,8 @@ $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['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['google_analytics_code_hint'] = 'Add your Google Analytics ID to be included in the booking page.';
|
||||
$lang['availabilities_type'] = 'Availabilities Type';
|
||||
$lang['flexible'] = 'Flexible';
|
||||
|
|
2
src/application/language/polish/translations_lang.php
Normal file → Executable file
2
src/application/language/polish/translations_lang.php
Normal file → Executable file
|
@ -274,6 +274,8 @@ $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['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['google_analytics_code_hint'] = 'Add your Google Analytics ID to be included in the booking page.';
|
||||
$lang['availabilities_type'] = 'Availabilities Type';
|
||||
$lang['flexible'] = 'Flexible';
|
||||
|
|
2
src/application/language/portuguese-br/translations_lang.php
Normal file → Executable file
2
src/application/language/portuguese-br/translations_lang.php
Normal file → Executable file
|
@ -274,6 +274,8 @@ $lang['customer_notifications'] = 'Notificações de Clientes';
|
|||
$lang['customer_notifications_hint'] = 'Define se o cliente receberá ou não, notificações por email sempre que um de seus agendamentos sejam alterados de horário.';
|
||||
$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['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';
|
||||
|
|
2
src/application/language/portuguese/translations_lang.php
Normal file → Executable file
2
src/application/language/portuguese/translations_lang.php
Normal file → Executable file
|
@ -274,6 +274,8 @@ $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['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['google_analytics_code_hint'] = 'Add your Google Analytics ID to be included in the booking page.';
|
||||
$lang['availabilities_type'] = 'Availabilities Type';
|
||||
$lang['flexible'] = 'Flexible';
|
||||
|
|
2
src/application/language/romanian/translations_lang.php
Normal file → Executable file
2
src/application/language/romanian/translations_lang.php
Normal file → Executable file
|
@ -280,6 +280,8 @@ $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['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['google_analytics_code_hint'] = 'Add your Google Analytics ID to be included in the booking page.';
|
||||
$lang['availabilities_type'] = 'Availabilities Type';
|
||||
$lang['flexible'] = 'Flexible';
|
||||
|
|
2
src/application/language/russian/translations_lang.php
Normal file → Executable file
2
src/application/language/russian/translations_lang.php
Normal file → Executable file
|
@ -274,6 +274,8 @@ $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['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['google_analytics_code_hint'] = 'Add your Google Analytics ID to be included in the booking page.';
|
||||
$lang['availabilities_type'] = 'Availabilities Type';
|
||||
$lang['flexible'] = 'Flexible';
|
||||
|
|
2
src/application/language/slovak/translations_lang.php
Normal file → Executable file
2
src/application/language/slovak/translations_lang.php
Normal file → Executable file
|
@ -274,6 +274,8 @@ $lang['customer_notifications'] = 'Upozornenia zákazníka';
|
|||
$lang['customer_notifications_hint'] = 'Určuje, či zákazník dostane e-mailové upozornenia vždy, keď nastane zmena plánu na jednej z jeho rezervácií.';
|
||||
$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['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ý';
|
||||
|
|
2
src/application/language/spanish/translations_lang.php
Normal file → Executable file
2
src/application/language/spanish/translations_lang.php
Normal file → Executable file
|
@ -274,6 +274,8 @@ $lang['customer_notifications'] = 'Notificaciones de Clientes';
|
|||
$lang['customer_notifications_hint'] = 'Define si su cliente recibirá notificaciones de correo cada vez que una agenda cambia o alguna de sus citas.';
|
||||
$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['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';
|
||||
|
|
2
src/application/language/turkish/translations_lang.php
Normal file → Executable file
2
src/application/language/turkish/translations_lang.php
Normal file → Executable file
|
@ -274,6 +274,8 @@ $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['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['google_analytics_code_hint'] = 'Add your Google Analytics ID to be included in the booking page.';
|
||||
$lang['availabilities_type'] = 'Availabilities Type';
|
||||
$lang['flexible'] = 'Flexible';
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, 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 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.3.0
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, 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 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.1.0
|
||||
|
@ -15,12 +15,21 @@ class Migration_Add_google_analytics_setting extends CI_Migration {
|
|||
public function up()
|
||||
{
|
||||
$this->load->model('settings_model');
|
||||
$this->settings_model->set_setting('google_analytics_code', '');
|
||||
|
||||
try
|
||||
{
|
||||
$this->settings_model->get_setting('google_analytics_code');
|
||||
}
|
||||
catch (Exception $exception)
|
||||
{
|
||||
$this->settings_model->set_setting('google_analytics_code', '');
|
||||
}
|
||||
}
|
||||
|
||||
public function down()
|
||||
{
|
||||
$this->load->model('settings_model');
|
||||
|
||||
$this->settings_model->remove_setting('google_analytics_code');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.1.0
|
||||
|
@ -15,12 +15,21 @@ 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');
|
||||
|
||||
try
|
||||
{
|
||||
$this->settings_model->get_setting('customer_notifications');
|
||||
}
|
||||
catch (Exception $exception)
|
||||
{
|
||||
$this->settings_model->set_setting('customer_notifications', '1');
|
||||
}
|
||||
}
|
||||
|
||||
public function down()
|
||||
{
|
||||
$this->load->model('settings_model');
|
||||
|
||||
$this->settings_model->remove_setting('customer_notifications');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.1.0
|
||||
|
@ -15,12 +15,21 @@ class Migration_Add_date_format_setting extends CI_Migration {
|
|||
public function up()
|
||||
{
|
||||
$this->load->model('settings_model');
|
||||
$this->settings_model->set_setting('date_format', DATE_FORMAT_DMY);
|
||||
|
||||
try
|
||||
{
|
||||
$this->settings_model->get_setting('date_format');
|
||||
}
|
||||
catch (Exception $exception)
|
||||
{
|
||||
$this->settings_model->set_setting('date_format', DATE_FORMAT_DMY);
|
||||
}
|
||||
}
|
||||
|
||||
public function down()
|
||||
{
|
||||
$this->load->model('settings_model');
|
||||
|
||||
$this->settings_model->remove_setting('date_format');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.1.0
|
||||
|
@ -15,12 +15,21 @@ class Migration_Add_require_captcha_setting extends CI_Migration {
|
|||
public function up()
|
||||
{
|
||||
$this->load->model('settings_model');
|
||||
$this->settings_model->set_setting('require_captcha', '1');
|
||||
|
||||
try
|
||||
{
|
||||
$this->settings_model->get_setting('require_captcha');
|
||||
}
|
||||
catch (Exception $exception)
|
||||
{
|
||||
$this->settings_model->set_setting('require_captcha', '1');
|
||||
}
|
||||
}
|
||||
|
||||
public function down()
|
||||
{
|
||||
$this->load->model('settings_model');
|
||||
|
||||
$this->settings_model->remove_setting('require_captcha');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.2.0
|
||||
|
@ -14,11 +14,8 @@
|
|||
class Migration_Add_calendar_view_setting extends CI_Migration {
|
||||
public function up()
|
||||
{
|
||||
$this->load->dbforge();
|
||||
|
||||
$fields = $this->db->list_fields('ea_user_settings');
|
||||
|
||||
if (!in_array('calendar_view', $fields, true)) {
|
||||
if ( ! $this->db->field_exists('calendar_view', 'ea_user_settings'))
|
||||
{
|
||||
$fields = [
|
||||
'calendar_view' => [
|
||||
'type' => 'VARCHAR',
|
||||
|
@ -26,16 +23,18 @@ class Migration_Add_calendar_view_setting extends CI_Migration {
|
|||
'default' => 'default'
|
||||
]
|
||||
];
|
||||
|
||||
|
||||
$this->dbforge->add_column('ea_user_settings', $fields);
|
||||
|
||||
|
||||
$this->db->update('ea_user_settings', ['calendar_view' => 'default']);
|
||||
}
|
||||
}
|
||||
|
||||
public function down()
|
||||
{
|
||||
$this->load->dbforge();
|
||||
$this->dbforge->drop_column('ea_user_settings', 'calendar_view');
|
||||
if ($this->db->field_exists('calendar_view', 'ea_user_settings'))
|
||||
{
|
||||
$this->dbforge->drop_column('ea_user_settings', 'calendar_view_calendar');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.2.0
|
||||
|
@ -14,7 +14,8 @@
|
|||
class Migration_Add_service_availabilities_type extends CI_Migration {
|
||||
public function up()
|
||||
{
|
||||
if (!$this->db->field_exists('availabilities_type', 'ea_services')) {
|
||||
if ( ! $this->db->field_exists('availabilities_type', 'ea_services'))
|
||||
{
|
||||
$fields = [
|
||||
'availabilities_type' => [
|
||||
'type' => 'VARCHAR',
|
||||
|
@ -23,16 +24,17 @@ class Migration_Add_service_availabilities_type extends CI_Migration {
|
|||
'after' => 'description'
|
||||
]
|
||||
];
|
||||
|
||||
|
||||
$this->dbforge->add_column('ea_services', $fields);
|
||||
|
||||
|
||||
$this->db->update('ea_services', ['availabilities_type' => 'flexible']);
|
||||
}
|
||||
}
|
||||
|
||||
public function down()
|
||||
{
|
||||
if ($this->db->field_exists('availabilities_type', 'ea_services')) {
|
||||
if ($this->db->field_exists('availabilities_type', 'ea_services'))
|
||||
{
|
||||
$this->dbforge->drop_column('ea_services', 'availabilities_type');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.2.0
|
||||
|
@ -14,7 +14,8 @@
|
|||
class Migration_Add_service_attendants_number extends CI_Migration {
|
||||
public function up()
|
||||
{
|
||||
if (!$this->db->field_exists('attendants_number', 'ea_services')) {
|
||||
if ( ! $this->db->field_exists('attendants_number', 'ea_services'))
|
||||
{
|
||||
$fields = [
|
||||
'attendants_number' => [
|
||||
'type' => 'INT',
|
||||
|
@ -23,16 +24,17 @@ class Migration_Add_service_attendants_number extends CI_Migration {
|
|||
'after' => 'availabilities_type'
|
||||
]
|
||||
];
|
||||
|
||||
|
||||
$this->dbforge->add_column('ea_services', $fields);
|
||||
|
||||
|
||||
$this->db->update('ea_services', ['attendants_number' => '1']);
|
||||
}
|
||||
}
|
||||
|
||||
public function down()
|
||||
{
|
||||
if (!$this->db->field_exists('attendants_number', 'ea_services')) {
|
||||
if ($this->db->field_exists('attendants_number', 'ea_services'))
|
||||
{
|
||||
$this->dbforge->drop_column('ea_services', 'attendants_number');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.3.0
|
||||
|
@ -14,6 +14,18 @@
|
|||
class Migration_Change_column_types extends CI_Migration {
|
||||
public function up()
|
||||
{
|
||||
// Drop table constraints.
|
||||
$this->db->query('ALTER TABLE ea_appointments DROP FOREIGN KEY ea_appointments_ibfk_2');
|
||||
$this->db->query('ALTER TABLE ea_appointments DROP FOREIGN KEY ea_appointments_ibfk_3');
|
||||
$this->db->query('ALTER TABLE ea_appointments DROP FOREIGN KEY ea_appointments_ibfk_4');
|
||||
$this->db->query('ALTER TABLE ea_secretaries_providers DROP FOREIGN KEY fk_ea_secretaries_providers_1');
|
||||
$this->db->query('ALTER TABLE ea_secretaries_providers DROP FOREIGN KEY fk_ea_secretaries_providers_2');
|
||||
$this->db->query('ALTER TABLE ea_services_providers DROP FOREIGN KEY ea_services_providers_ibfk_1');
|
||||
$this->db->query('ALTER TABLE ea_services_providers DROP FOREIGN KEY ea_services_providers_ibfk_2');
|
||||
$this->db->query('ALTER TABLE ea_services DROP FOREIGN KEY ea_services_ibfk_1');
|
||||
$this->db->query('ALTER TABLE ea_users DROP FOREIGN KEY ea_users_ibfk_1');
|
||||
$this->db->query('ALTER TABLE ea_user_settings DROP FOREIGN KEY ea_user_settings_ibfk_1');
|
||||
|
||||
// Appointments
|
||||
$fields = [
|
||||
'id' => [
|
||||
|
@ -97,7 +109,7 @@ class Migration_Change_column_types extends CI_Migration {
|
|||
]
|
||||
];
|
||||
|
||||
$this->dbforge->modify_column('ea_roles', $fields);
|
||||
$this->dbforge->modify_column('ea_secretaries_providers', $fields);
|
||||
|
||||
// Services
|
||||
$fields = [
|
||||
|
@ -165,7 +177,7 @@ class Migration_Change_column_types extends CI_Migration {
|
|||
'auto_increment' => TRUE
|
||||
],
|
||||
'id_roles' => [
|
||||
'name' => 'id',
|
||||
'name' => 'id_roles',
|
||||
'type' => 'int',
|
||||
'constraint' => '11'
|
||||
]
|
||||
|
@ -183,10 +195,65 @@ class Migration_Change_column_types extends CI_Migration {
|
|||
];
|
||||
|
||||
$this->dbforge->modify_column('ea_user_settings', $fields);
|
||||
|
||||
// Add table constraints again.
|
||||
$this->db->query('ALTER TABLE `ea_appointments`
|
||||
ADD CONSTRAINT `ea_appointments_ea_users_customer` FOREIGN KEY (`id_users_customer`) REFERENCES `ea_users` (`id`)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE,
|
||||
ADD CONSTRAINT `ea_appointments_ea_services` FOREIGN KEY (`id_services`) REFERENCES `ea_services` (`id`)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE,
|
||||
ADD CONSTRAINT `ea_appointments_ea_users_provider` FOREIGN KEY (`id_users_provider`) REFERENCES `ea_users` (`id`)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE');
|
||||
|
||||
$this->db->query('ALTER TABLE `ea_secretaries_providers`
|
||||
ADD CONSTRAINT `ea_secretaries_ea_users_secretary` FOREIGN KEY (`id_users_secretary`) REFERENCES `ea_users` (`id`)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE,
|
||||
ADD CONSTRAINT `ea_secretaries_ea_users_provider` FOREIGN KEY (`id_users_provider`) REFERENCES `ea_users` (`id`)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE');
|
||||
|
||||
$this->db->query('ALTER TABLE `ea_services`
|
||||
ADD CONSTRAINT `ea_services_ea_service_categories` FOREIGN KEY (`id_service_categories`) REFERENCES `ea_service_categories` (`id`)
|
||||
ON DELETE SET NULL
|
||||
ON UPDATE CASCADE');
|
||||
|
||||
$this->db->query('ALTER TABLE `ea_services_providers`
|
||||
ADD CONSTRAINT `ea_services_providers_ea_users_provider` FOREIGN KEY (`id_users`) REFERENCES `ea_users` (`id`)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE,
|
||||
ADD CONSTRAINT `ea_services_providers_ea_services` FOREIGN KEY (`id_services`) REFERENCES `ea_services` (`id`)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE');
|
||||
|
||||
$this->db->query('ALTER TABLE `ea_users`
|
||||
ADD CONSTRAINT `ea_users_ea_roles` FOREIGN KEY (`id_roles`) REFERENCES `ea_roles` (`id`)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE');
|
||||
|
||||
$this->db->query('ALTER TABLE `ea_user_settings`
|
||||
ADD CONSTRAINT `ea_user_settings_ea_users` FOREIGN KEY (`id_users`) REFERENCES `ea_users` (`id`)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE');
|
||||
}
|
||||
|
||||
public function down()
|
||||
{
|
||||
// Drop table constraints.
|
||||
$this->db->query('ALTER TABLE ea_appointments DROP FOREIGN KEY ea_appointments_ea_services');
|
||||
$this->db->query('ALTER TABLE ea_appointments DROP FOREIGN KEY ea_appointments_ea_users_customer');
|
||||
$this->db->query('ALTER TABLE ea_appointments DROP FOREIGN KEY ea_appointments_ea_users_provider');
|
||||
$this->db->query('ALTER TABLE ea_secretaries_providers DROP FOREIGN KEY ea_secretaries_ea_users_secretary');
|
||||
$this->db->query('ALTER TABLE ea_secretaries_providers DROP FOREIGN KEY ea_secretaries_ea_users_provider');
|
||||
$this->db->query('ALTER TABLE ea_services_providers DROP FOREIGN KEY ea_services_providers_ea_users_provider');
|
||||
$this->db->query('ALTER TABLE ea_services_providers DROP FOREIGN KEY ea_services_providers_ea_services');
|
||||
$this->db->query('ALTER TABLE ea_services DROP FOREIGN KEY ea_services_ea_service_categories');
|
||||
$this->db->query('ALTER TABLE ea_users DROP FOREIGN KEY ea_users_ea_roles');
|
||||
$this->db->query('ALTER TABLE ea_user_settings DROP FOREIGN KEY ea_user_settings_ea_users');
|
||||
|
||||
// Appointments
|
||||
$fields = [
|
||||
'id' => [
|
||||
|
@ -356,5 +423,28 @@ class Migration_Change_column_types extends CI_Migration {
|
|||
];
|
||||
|
||||
$this->dbforge->modify_column('ea_user_settings', $fields);
|
||||
|
||||
// Add database constraints.
|
||||
$this->db->query('ALTER TABLE `ea_appointments`
|
||||
ADD CONSTRAINT `ea_appointments_ibfk_2` FOREIGN KEY (`id_users_customer`) REFERENCES `ea_users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
ADD CONSTRAINT `ea_appointments_ibfk_3` FOREIGN KEY (`id_services`) REFERENCES `ea_services` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
ADD CONSTRAINT `ea_appointments_ibfk_4` FOREIGN KEY (`id_users_provider`) REFERENCES `ea_users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE');
|
||||
|
||||
$this->db->query('ALTER TABLE `ea_secretaries_providers`
|
||||
ADD CONSTRAINT `fk_ea_secretaries_providers_1` FOREIGN KEY (`id_users_secretary`) REFERENCES `ea_users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
ADD CONSTRAINT `fk_ea_secretaries_providers_2` FOREIGN KEY (`id_users_provider`) REFERENCES `ea_users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE');
|
||||
|
||||
$this->db->query('ALTER TABLE `ea_services`
|
||||
ADD CONSTRAINT `ea_services_ibfk_1` FOREIGN KEY (`id_service_categories`) REFERENCES `ea_service_categories` (`id`) ON DELETE SET NULL ON UPDATE CASCADE');
|
||||
|
||||
$this->db->query('ALTER TABLE `ea_services_providers`
|
||||
ADD CONSTRAINT `ea_services_providers_ibfk_1` FOREIGN KEY (`id_users`) REFERENCES `ea_users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
ADD CONSTRAINT `ea_services_providers_ibfk_2` FOREIGN KEY (`id_services`) REFERENCES `ea_services` (`id`) ON DELETE CASCADE ON UPDATE CASCADE');
|
||||
|
||||
$this->db->query('ALTER TABLE `ea_users`
|
||||
ADD CONSTRAINT `ea_users_ibfk_1` FOREIGN KEY (`id_roles`) REFERENCES `ea_roles` (`id`) ON DELETE CASCADE ON UPDATE CASCADE');
|
||||
|
||||
$this->db->query('ALTER TABLE `ea_user_settings`
|
||||
ADD CONSTRAINT `ea_user_settings_ibfk_1` FOREIGN KEY (`id_users`) REFERENCES `ea_users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE');
|
||||
}
|
||||
}
|
||||
|
|
35
src/application/migrations/010_add_time_format_setting.php
Normal file
35
src/application/migrations/010_add_time_format_setting.php
Normal file
|
@ -0,0 +1,35 @@
|
|||
<?php defined('BASEPATH') OR exit('No direct script access allowed');
|
||||
|
||||
/* ----------------------------------------------------------------------------
|
||||
* Easy!Appointments - Open Source Web Scheduler
|
||||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2018, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.3.0
|
||||
* ---------------------------------------------------------------------------- */
|
||||
|
||||
class Migration_Add_time_format_setting extends CI_Migration {
|
||||
public function up()
|
||||
{
|
||||
$this->load->model('settings_model');
|
||||
|
||||
try
|
||||
{
|
||||
$this->settings_model->get_setting('time_format');
|
||||
}
|
||||
catch (Exception $exception)
|
||||
{
|
||||
$this->settings_model->set_setting('time_format', 'regular');
|
||||
}
|
||||
}
|
||||
|
||||
public function down()
|
||||
{
|
||||
$this->load->model('settings_model');
|
||||
|
||||
$this->settings_model->remove_setting('time_format');
|
||||
}
|
||||
}
|
|
@ -0,0 +1,130 @@
|
|||
<?php defined('BASEPATH') OR exit('No direct script access allowed');
|
||||
|
||||
/* ----------------------------------------------------------------------------
|
||||
* Easy!Appointments - Open Source Web Scheduler
|
||||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2018, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.3.0
|
||||
* ---------------------------------------------------------------------------- */
|
||||
|
||||
class Migration_Remove_prefix_from_fkey_constraints extends CI_Migration {
|
||||
public function up()
|
||||
{
|
||||
// Drop table constraints.
|
||||
$this->db->query('ALTER TABLE ea_appointments DROP FOREIGN KEY ea_appointments_ea_services');
|
||||
$this->db->query('ALTER TABLE ea_appointments DROP FOREIGN KEY ea_appointments_ea_users_customer');
|
||||
$this->db->query('ALTER TABLE ea_appointments DROP FOREIGN KEY ea_appointments_ea_users_provider');
|
||||
$this->db->query('ALTER TABLE ea_secretaries_providers DROP FOREIGN KEY ea_secretaries_ea_users_secretary');
|
||||
$this->db->query('ALTER TABLE ea_secretaries_providers DROP FOREIGN KEY ea_secretaries_ea_users_provider');
|
||||
$this->db->query('ALTER TABLE ea_services_providers DROP FOREIGN KEY ea_services_providers_ea_users_provider');
|
||||
$this->db->query('ALTER TABLE ea_services_providers DROP FOREIGN KEY ea_services_providers_ea_services');
|
||||
$this->db->query('ALTER TABLE ea_services DROP FOREIGN KEY ea_services_ea_service_categories');
|
||||
$this->db->query('ALTER TABLE ea_users DROP FOREIGN KEY ea_users_ea_roles');
|
||||
$this->db->query('ALTER TABLE ea_user_settings DROP FOREIGN KEY ea_user_settings_ea_users');
|
||||
|
||||
// Add table constraints again without the "ea" prefix.
|
||||
$this->db->query('ALTER TABLE `ea_appointments`
|
||||
ADD CONSTRAINT `appointments_users_customer` FOREIGN KEY (`id_users_customer`) REFERENCES `ea_users` (`id`)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE,
|
||||
ADD CONSTRAINT `appointments_services` FOREIGN KEY (`id_services`) REFERENCES `ea_services` (`id`)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE,
|
||||
ADD CONSTRAINT `appointments_users_provider` FOREIGN KEY (`id_users_provider`) REFERENCES `ea_users` (`id`)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE');
|
||||
|
||||
$this->db->query('ALTER TABLE `ea_secretaries_providers`
|
||||
ADD CONSTRAINT `secretaries_users_secretary` FOREIGN KEY (`id_users_secretary`) REFERENCES `ea_users` (`id`)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE,
|
||||
ADD CONSTRAINT `secretaries_users_provider` FOREIGN KEY (`id_users_provider`) REFERENCES `ea_users` (`id`)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE');
|
||||
|
||||
$this->db->query('ALTER TABLE `ea_services`
|
||||
ADD CONSTRAINT `services_service_categories` FOREIGN KEY (`id_service_categories`) REFERENCES `ea_service_categories` (`id`)
|
||||
ON DELETE SET NULL
|
||||
ON UPDATE CASCADE');
|
||||
|
||||
$this->db->query('ALTER TABLE `ea_services_providers`
|
||||
ADD CONSTRAINT `services_providers_users_provider` FOREIGN KEY (`id_users`) REFERENCES `ea_users` (`id`)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE,
|
||||
ADD CONSTRAINT `services_providers_services` FOREIGN KEY (`id_services`) REFERENCES `ea_services` (`id`)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE');
|
||||
|
||||
$this->db->query('ALTER TABLE `ea_users`
|
||||
ADD CONSTRAINT `users_roles` FOREIGN KEY (`id_roles`) REFERENCES `ea_roles` (`id`)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE');
|
||||
|
||||
$this->db->query('ALTER TABLE `ea_user_settings`
|
||||
ADD CONSTRAINT `user_settings_users` FOREIGN KEY (`id_users`) REFERENCES `ea_users` (`id`)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE');
|
||||
}
|
||||
|
||||
public function down()
|
||||
{
|
||||
// Drop table constraints.
|
||||
$this->db->query('ALTER TABLE ea_appointments DROP FOREIGN KEY appointments_services');
|
||||
$this->db->query('ALTER TABLE ea_appointments DROP FOREIGN KEY appointments_users_customer');
|
||||
$this->db->query('ALTER TABLE ea_appointments DROP FOREIGN KEY appointments_users_provider');
|
||||
$this->db->query('ALTER TABLE ea_secretaries_providers DROP FOREIGN KEY secretaries_users_secretary');
|
||||
$this->db->query('ALTER TABLE ea_secretaries_providers DROP FOREIGN KEY secretaries_users_provider');
|
||||
$this->db->query('ALTER TABLE ea_services_providers DROP FOREIGN KEY services_providers_users_provider');
|
||||
$this->db->query('ALTER TABLE ea_services_providers DROP FOREIGN KEY services_providers_services');
|
||||
$this->db->query('ALTER TABLE ea_services DROP FOREIGN KEY services_service_categories');
|
||||
$this->db->query('ALTER TABLE ea_users DROP FOREIGN KEY users_roles');
|
||||
$this->db->query('ALTER TABLE ea_user_settings DROP FOREIGN KEY user_settings_users');
|
||||
|
||||
// Add table constraints again.
|
||||
$this->db->query('ALTER TABLE `ea_appointments`
|
||||
ADD CONSTRAINT `ea_appointments_ea_users_customer` FOREIGN KEY (`id_users_customer`) REFERENCES `ea_users` (`id`)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE,
|
||||
ADD CONSTRAINT `ea_appointments_ea_services` FOREIGN KEY (`id_services`) REFERENCES `ea_services` (`id`)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE,
|
||||
ADD CONSTRAINT `ea_appointments_ea_users_provider` FOREIGN KEY (`id_users_provider`) REFERENCES `ea_users` (`id`)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE');
|
||||
|
||||
$this->db->query('ALTER TABLE `ea_secretaries_providers`
|
||||
ADD CONSTRAINT `ea_secretaries_ea_users_secretary` FOREIGN KEY (`id_users_secretary`) REFERENCES `ea_users` (`id`)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE,
|
||||
ADD CONSTRAINT `ea_secretaries_ea_users_provider` FOREIGN KEY (`id_users_provider`) REFERENCES `ea_users` (`id`)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE');
|
||||
|
||||
$this->db->query('ALTER TABLE `ea_services`
|
||||
ADD CONSTRAINT `ea_services_ea_service_categories` FOREIGN KEY (`id_service_categories`) REFERENCES `ea_service_categories` (`id`)
|
||||
ON DELETE SET NULL
|
||||
ON UPDATE CASCADE');
|
||||
|
||||
$this->db->query('ALTER TABLE `ea_services_providers`
|
||||
ADD CONSTRAINT `ea_services_providers_ea_users_provider` FOREIGN KEY (`id_users`) REFERENCES `ea_users` (`id`)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE,
|
||||
ADD CONSTRAINT `ea_services_providers_ea_services` FOREIGN KEY (`id_services`) REFERENCES `ea_services` (`id`)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE');
|
||||
|
||||
$this->db->query('ALTER TABLE `ea_users`
|
||||
ADD CONSTRAINT `ea_users_ea_roles` FOREIGN KEY (`id_roles`) REFERENCES `ea_roles` (`id`)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE');
|
||||
|
||||
$this->db->query('ALTER TABLE `ea_user_settings`
|
||||
ADD CONSTRAINT `ea_user_settings_ea_users` FOREIGN KEY (`id_users`) REFERENCES `ea_users` (`id`)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE');
|
||||
}
|
||||
}
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, 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 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, 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 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, 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 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, 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 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, 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 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, 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 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, 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 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, 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 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
|
1
src/application/views/appointments/book.php
Normal file → Executable file
1
src/application/views/appointments/book.php
Normal file → Executable file
|
@ -327,6 +327,7 @@
|
|||
baseUrl : <?= json_encode(config('base_url')) ?>,
|
||||
manageMode : <?= $manage_mode ? 'true' : 'false' ?>,
|
||||
dateFormat : <?= json_encode($date_format) ?>,
|
||||
timeFormat : <?= json_encode($time_format) ?>,
|
||||
appointmentData : <?= json_encode($appointment_data) ?>,
|
||||
providerData : <?= json_encode($provider_data) ?>,
|
||||
customerData : <?= json_encode($customer_data) ?>,
|
||||
|
|
1
src/application/views/backend/calendar.php
Normal file → Executable file
1
src/application/views/backend/calendar.php
Normal file → Executable file
|
@ -19,6 +19,7 @@
|
|||
'baseUrl' : <?= json_encode($base_url) ?>,
|
||||
'bookAdvanceTimeout' : <?= $book_advance_timeout ?>,
|
||||
'dateFormat' : <?= json_encode($date_format) ?>,
|
||||
'timeFormat' : <?= json_encode($time_format) ?>,
|
||||
'editAppointment' : <?= json_encode($edit_appointment) ?>,
|
||||
'customers' : <?= json_encode($customers) ?>,
|
||||
'secretaryProviders' : <?= json_encode($secretary_providers) ?>,
|
||||
|
|
1
src/application/views/backend/customers.php
Normal file → Executable file
1
src/application/views/backend/customers.php
Normal file → Executable file
|
@ -7,6 +7,7 @@
|
|||
availableProviders : <?= json_encode($available_providers) ?>,
|
||||
availableServices : <?= json_encode($available_services) ?>,
|
||||
dateFormat : <?= json_encode($date_format) ?>,
|
||||
timeFormat : <?= json_encode($time_format) ?>,
|
||||
baseUrl : <?= json_encode($base_url) ?>,
|
||||
customers : <?= json_encode($customers) ?>,
|
||||
user : {
|
||||
|
|
1
src/application/views/backend/services.php
Normal file → Executable file
1
src/application/views/backend/services.php
Normal file → Executable file
|
@ -6,6 +6,7 @@
|
|||
csrfToken : <?= json_encode($this->security->get_csrf_hash()) ?>,
|
||||
baseUrl : <?= json_encode($base_url) ?>,
|
||||
dateFormat : <?= json_encode($date_format) ?>,
|
||||
timeFormat : <?= json_encode($time_format) ?>,
|
||||
services : <?= json_encode($services) ?>,
|
||||
categories : <?= json_encode($categories) ?>,
|
||||
user : {
|
||||
|
|
13
src/application/views/backend/settings.php
Normal file → Executable file
13
src/application/views/backend/settings.php
Normal file → Executable file
|
@ -9,6 +9,7 @@
|
|||
'csrfToken' : <?= json_encode($this->security->get_csrf_hash()) ?>,
|
||||
'baseUrl' : <?= json_encode($base_url) ?>,
|
||||
'dateFormat' : <?= json_encode($date_format) ?>,
|
||||
'timeFormat' : <?= json_encode($time_format) ?>,
|
||||
'userSlug' : <?= json_encode($role_slug) ?>,
|
||||
'settings' : {
|
||||
'system' : <?= json_encode($system_settings) ?>,
|
||||
|
@ -117,6 +118,18 @@
|
|||
<?= lang('date_format_hint') ?>
|
||||
</span>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="time-format">
|
||||
<?= lang('time_format') ?>
|
||||
</label>
|
||||
<select class="form-control" id="time-format" data-field="time_format">
|
||||
<option value="<?= TIME_FORMAT_REGULAR ?>">H:MM AM/PM</option>
|
||||
<option value="<?= TIME_FORMAT_MILITARY ?>">HH:MM</option>
|
||||
</select>
|
||||
<span class="help-block">
|
||||
<?= lang('time_format_hint') ?>
|
||||
</span>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label><?= lang('customer_notifications') ?></label>
|
||||
<br>
|
||||
|
|
1
src/application/views/backend/users.php
Normal file → Executable file
1
src/application/views/backend/users.php
Normal file → Executable file
|
@ -10,6 +10,7 @@
|
|||
csrfToken : <?= json_encode($this->security->get_csrf_hash()) ?>,
|
||||
baseUrl : <?= json_encode($base_url) ?>,
|
||||
dateFormat : <?= json_encode($date_format) ?>,
|
||||
timeFormat : <?= json_encode($time_format) ?>,
|
||||
admins : <?= json_encode($admins) ?>,
|
||||
providers : <?= json_encode($providers) ?>,
|
||||
secretaries : <?= json_encode($secretaries) ?>,
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
*
|
||||
* @package EasyAppointments
|
||||
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||
* @copyright Copyright (c) 2013 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, 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 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, 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 - 2017, Alex Tselegidis
|
||||
* @copyright Copyright (c) 2013 - 2018, Alex Tselegidis
|
||||
* @license http://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||
* @link http://easyappointments.org
|
||||
* @since v1.0.0
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue