Reformatted code files

This commit is contained in:
Alex Tselegidis 2020-12-09 14:17:45 +02:00
parent cc44f3e0c6
commit 8a68e97f94
116 changed files with 1252 additions and 1198 deletions

View file

@ -1,4 +1,4 @@
<?php defined('BASEPATH') OR exit('No direct script access allowed');
<?php defined('BASEPATH') or exit('No direct script access allowed');
/*
| -------------------------------------------------------------------

View file

@ -1,4 +1,4 @@
<?php defined('BASEPATH') OR exit('No direct script access allowed');
<?php defined('BASEPATH') or exit('No direct script access allowed');
/*
|--------------------------------------------------------------------------

View file

@ -1,4 +1,4 @@
<?php defined('BASEPATH') OR exit('No direct script access allowed');
<?php defined('BASEPATH') or exit('No direct script access allowed');
/*
|--------------------------------------------------------------------------

View file

@ -1,4 +1,4 @@
<?php defined('BASEPATH') OR exit('No direct script access allowed');
<?php defined('BASEPATH') or exit('No direct script access allowed');
/*
| -------------------------------------------------------------------

View file

@ -1,4 +1,4 @@
<?php defined('BASEPATH') OR exit('No direct script access allowed');
<?php defined('BASEPATH') or exit('No direct script access allowed');
$_doctypes = [
'xhtml11' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">',

View file

@ -1,4 +1,4 @@
<?php defined('BASEPATH') OR exit('No direct script access allowed');
<?php defined('BASEPATH') or exit('No direct script access allowed');
// Add custom values by settings them to the $config array.
// Example: $config['smtp_host'] = 'smtp.gmail.com';

View file

@ -1,4 +1,4 @@
<?php defined('BASEPATH') OR exit('No direct script access allowed');
<?php defined('BASEPATH') or exit('No direct script access allowed');
/*
| -------------------------------------------------------------------

View file

@ -1,4 +1,4 @@
<?php defined('BASEPATH') OR exit('No direct script access allowed');
<?php defined('BASEPATH') or exit('No direct script access allowed');
/*
| -------------------------------------------------------------------------

View file

@ -1,4 +1,4 @@
<?php defined('BASEPATH') OR exit('No direct script access allowed');
<?php defined('BASEPATH') or exit('No direct script access allowed');
/*
|--------------------------------------------------------------------------

View file

@ -1,5 +1,5 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
defined('BASEPATH') or exit('No direct script access allowed');
/*
| -------------------------------------------------------------------
@ -9,31 +9,31 @@ defined('BASEPATH') OR exit('No direct script access allowed');
| Upload class to help identify allowed file types.
|
*/
return array(
'hqx' => array('application/mac-binhex40', 'application/mac-binhex', 'application/x-binhex40', 'application/x-mac-binhex40'),
return [
'hqx' => ['application/mac-binhex40', 'application/mac-binhex', 'application/x-binhex40', 'application/x-mac-binhex40'],
'cpt' => 'application/mac-compactpro',
'csv' => array('text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream', 'application/vnd.ms-excel', 'application/x-csv', 'text/x-csv', 'text/csv', 'application/csv', 'application/excel', 'application/vnd.msexcel', 'text/plain'),
'bin' => array('application/macbinary', 'application/mac-binary', 'application/octet-stream', 'application/x-binary', 'application/x-macbinary'),
'csv' => ['text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream', 'application/vnd.ms-excel', 'application/x-csv', 'text/x-csv', 'text/csv', 'application/csv', 'application/excel', 'application/vnd.msexcel', 'text/plain'],
'bin' => ['application/macbinary', 'application/mac-binary', 'application/octet-stream', 'application/x-binary', 'application/x-macbinary'],
'dms' => 'application/octet-stream',
'lha' => 'application/octet-stream',
'lzh' => 'application/octet-stream',
'exe' => array('application/octet-stream', 'application/x-msdownload'),
'exe' => ['application/octet-stream', 'application/x-msdownload'],
'class' => 'application/octet-stream',
'psd' => array('application/x-photoshop', 'image/vnd.adobe.photoshop'),
'psd' => ['application/x-photoshop', 'image/vnd.adobe.photoshop'],
'so' => 'application/octet-stream',
'sea' => 'application/octet-stream',
'dll' => 'application/octet-stream',
'oda' => 'application/oda',
'pdf' => array('application/pdf', 'application/force-download', 'application/x-download', 'binary/octet-stream'),
'ai' => array('application/pdf', 'application/postscript'),
'pdf' => ['application/pdf', 'application/force-download', 'application/x-download', 'binary/octet-stream'],
'ai' => ['application/pdf', 'application/postscript'],
'eps' => 'application/postscript',
'ps' => 'application/postscript',
'smi' => 'application/smil',
'smil' => 'application/smil',
'mif' => 'application/vnd.mif',
'xls' => array('application/vnd.ms-excel', 'application/msexcel', 'application/x-msexcel', 'application/x-ms-excel', 'application/x-excel', 'application/x-dos_ms_excel', 'application/xls', 'application/x-xls', 'application/excel', 'application/download', 'application/vnd.ms-office', 'application/msword'),
'ppt' => array('application/powerpoint', 'application/vnd.ms-powerpoint', 'application/vnd.ms-office', 'application/msword'),
'pptx' => array('application/vnd.openxmlformats-officedocument.presentationml.presentation', 'application/x-zip', 'application/zip'),
'xls' => ['application/vnd.ms-excel', 'application/msexcel', 'application/x-msexcel', 'application/x-ms-excel', 'application/x-excel', 'application/x-dos_ms_excel', 'application/xls', 'application/x-xls', 'application/excel', 'application/download', 'application/vnd.ms-office', 'application/msword'],
'ppt' => ['application/powerpoint', 'application/vnd.ms-powerpoint', 'application/vnd.ms-office', 'application/msword'],
'pptx' => ['application/vnd.openxmlformats-officedocument.presentationml.presentation', 'application/x-zip', 'application/zip'],
'wbxml' => 'application/wbxml',
'wmlc' => 'application/wmlc',
'dcr' => 'application/x-director',
@ -43,88 +43,88 @@ return array(
'gtar' => 'application/x-gtar',
'gz' => 'application/x-gzip',
'gzip' => 'application/x-gzip',
'php' => array('application/x-httpd-php', 'application/php', 'application/x-php', 'text/php', 'text/x-php', 'application/x-httpd-php-source'),
'php' => ['application/x-httpd-php', 'application/php', 'application/x-php', 'text/php', 'text/x-php', 'application/x-httpd-php-source'],
'php4' => 'application/x-httpd-php',
'php3' => 'application/x-httpd-php',
'phtml' => 'application/x-httpd-php',
'phps' => 'application/x-httpd-php-source',
'js' => array('application/x-javascript', 'text/plain'),
'js' => ['application/x-javascript', 'text/plain'],
'swf' => 'application/x-shockwave-flash',
'sit' => 'application/x-stuffit',
'tar' => 'application/x-tar',
'tgz' => array('application/x-tar', 'application/x-gzip-compressed'),
'tgz' => ['application/x-tar', 'application/x-gzip-compressed'],
'z' => 'application/x-compress',
'xhtml' => 'application/xhtml+xml',
'xht' => 'application/xhtml+xml',
'zip' => array('application/x-zip', 'application/zip', 'application/x-zip-compressed', 'application/s-compressed', 'multipart/x-zip'),
'rar' => array('application/x-rar', 'application/rar', 'application/x-rar-compressed'),
'zip' => ['application/x-zip', 'application/zip', 'application/x-zip-compressed', 'application/s-compressed', 'multipart/x-zip'],
'rar' => ['application/x-rar', 'application/rar', 'application/x-rar-compressed'],
'mid' => 'audio/midi',
'midi' => 'audio/midi',
'mpga' => 'audio/mpeg',
'mp2' => 'audio/mpeg',
'mp3' => array('audio/mpeg', 'audio/mpg', 'audio/mpeg3', 'audio/mp3'),
'aif' => array('audio/x-aiff', 'audio/aiff'),
'aiff' => array('audio/x-aiff', 'audio/aiff'),
'mp3' => ['audio/mpeg', 'audio/mpg', 'audio/mpeg3', 'audio/mp3'],
'aif' => ['audio/x-aiff', 'audio/aiff'],
'aiff' => ['audio/x-aiff', 'audio/aiff'],
'aifc' => 'audio/x-aiff',
'ram' => 'audio/x-pn-realaudio',
'rm' => 'audio/x-pn-realaudio',
'rpm' => 'audio/x-pn-realaudio-plugin',
'ra' => 'audio/x-realaudio',
'rv' => 'video/vnd.rn-realvideo',
'wav' => array('audio/x-wav', 'audio/wave', 'audio/wav'),
'bmp' => array('image/bmp', 'image/x-bmp', 'image/x-bitmap', 'image/x-xbitmap', 'image/x-win-bitmap', 'image/x-windows-bmp', 'image/ms-bmp', 'image/x-ms-bmp', 'application/bmp', 'application/x-bmp', 'application/x-win-bitmap'),
'wav' => ['audio/x-wav', 'audio/wave', 'audio/wav'],
'bmp' => ['image/bmp', 'image/x-bmp', 'image/x-bitmap', 'image/x-xbitmap', 'image/x-win-bitmap', 'image/x-windows-bmp', 'image/ms-bmp', 'image/x-ms-bmp', 'application/bmp', 'application/x-bmp', 'application/x-win-bitmap'],
'gif' => 'image/gif',
'jpeg' => array('image/jpeg', 'image/pjpeg'),
'jpg' => array('image/jpeg', 'image/pjpeg'),
'jpe' => array('image/jpeg', 'image/pjpeg'),
'jp2' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'),
'j2k' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'),
'jpf' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'),
'jpg2' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'),
'jpx' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'),
'jpm' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'),
'mj2' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'),
'mjp2' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'),
'png' => array('image/png', 'image/x-png'),
'jpeg' => ['image/jpeg', 'image/pjpeg'],
'jpg' => ['image/jpeg', 'image/pjpeg'],
'jpe' => ['image/jpeg', 'image/pjpeg'],
'jp2' => ['image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'],
'j2k' => ['image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'],
'jpf' => ['image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'],
'jpg2' => ['image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'],
'jpx' => ['image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'],
'jpm' => ['image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'],
'mj2' => ['image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'],
'mjp2' => ['image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'],
'png' => ['image/png', 'image/x-png'],
'tiff' => 'image/tiff',
'tif' => 'image/tiff',
'css' => array('text/css', 'text/plain'),
'html' => array('text/html', 'text/plain'),
'htm' => array('text/html', 'text/plain'),
'shtml' => array('text/html', 'text/plain'),
'css' => ['text/css', 'text/plain'],
'html' => ['text/html', 'text/plain'],
'htm' => ['text/html', 'text/plain'],
'shtml' => ['text/html', 'text/plain'],
'txt' => 'text/plain',
'text' => 'text/plain',
'log' => array('text/plain', 'text/x-log'),
'log' => ['text/plain', 'text/x-log'],
'rtx' => 'text/richtext',
'rtf' => 'text/rtf',
'xml' => array('application/xml', 'text/xml', 'text/plain'),
'xsl' => array('application/xml', 'text/xsl', 'text/xml'),
'xml' => ['application/xml', 'text/xml', 'text/plain'],
'xsl' => ['application/xml', 'text/xsl', 'text/xml'],
'mpeg' => 'video/mpeg',
'mpg' => 'video/mpeg',
'mpe' => 'video/mpeg',
'qt' => 'video/quicktime',
'mov' => 'video/quicktime',
'avi' => array('video/x-msvideo', 'video/msvideo', 'video/avi', 'application/x-troff-msvideo'),
'avi' => ['video/x-msvideo', 'video/msvideo', 'video/avi', 'application/x-troff-msvideo'],
'movie' => 'video/x-sgi-movie',
'doc' => array('application/msword', 'application/vnd.ms-office'),
'docx' => array('application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/zip', 'application/msword', 'application/x-zip'),
'dot' => array('application/msword', 'application/vnd.ms-office'),
'dotx' => array('application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/zip', 'application/msword'),
'xlsx' => array('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/zip', 'application/vnd.ms-excel', 'application/msword', 'application/x-zip'),
'word' => array('application/msword', 'application/octet-stream'),
'doc' => ['application/msword', 'application/vnd.ms-office'],
'docx' => ['application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/zip', 'application/msword', 'application/x-zip'],
'dot' => ['application/msword', 'application/vnd.ms-office'],
'dotx' => ['application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/zip', 'application/msword'],
'xlsx' => ['application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/zip', 'application/vnd.ms-excel', 'application/msword', 'application/x-zip'],
'word' => ['application/msword', 'application/octet-stream'],
'xl' => 'application/excel',
'eml' => 'message/rfc822',
'json' => array('application/json', 'text/json'),
'pem' => array('application/x-x509-user-cert', 'application/x-pem-file', 'application/octet-stream'),
'p10' => array('application/x-pkcs10', 'application/pkcs10'),
'json' => ['application/json', 'text/json'],
'pem' => ['application/x-x509-user-cert', 'application/x-pem-file', 'application/octet-stream'],
'p10' => ['application/x-pkcs10', 'application/pkcs10'],
'p12' => 'application/x-pkcs12',
'p7a' => 'application/x-pkcs7-signature',
'p7c' => array('application/pkcs7-mime', 'application/x-pkcs7-mime'),
'p7m' => array('application/pkcs7-mime', 'application/x-pkcs7-mime'),
'p7c' => ['application/pkcs7-mime', 'application/x-pkcs7-mime'],
'p7m' => ['application/pkcs7-mime', 'application/x-pkcs7-mime'],
'p7r' => 'application/x-pkcs7-certreqresp',
'p7s' => 'application/pkcs7-signature',
'crt' => array('application/x-x509-ca-cert', 'application/x-x509-user-cert', 'application/pkix-cert'),
'crl' => array('application/pkix-crl', 'application/pkcs-crl'),
'crt' => ['application/x-x509-ca-cert', 'application/x-x509-user-cert', 'application/pkix-cert'],
'crl' => ['application/pkix-crl', 'application/pkcs-crl'],
'der' => 'application/x-x509-ca-cert',
'kdb' => 'application/octet-stream',
'pgp' => 'application/pgp',
@ -132,12 +132,12 @@ return array(
'sst' => 'application/octet-stream',
'csr' => 'application/octet-stream',
'rsa' => 'application/x-pkcs7',
'cer' => array('application/pkix-cert', 'application/x-x509-ca-cert'),
'cer' => ['application/pkix-cert', 'application/x-x509-ca-cert'],
'3g2' => 'video/3gpp2',
'3gp' => array('video/3gp', 'video/3gpp'),
'3gp' => ['video/3gp', 'video/3gpp'],
'mp4' => 'video/mp4',
'm4a' => 'audio/x-m4a',
'f4v' => array('video/mp4', 'video/x-f4v'),
'f4v' => ['video/mp4', 'video/x-f4v'],
'flv' => 'video/x-flv',
'webm' => 'video/webm',
'aac' => 'audio/x-acc',
@ -145,26 +145,26 @@ return array(
'm3u' => 'text/plain',
'xspf' => 'application/xspf+xml',
'vlc' => 'application/videolan',
'wmv' => array('video/x-ms-wmv', 'video/x-ms-asf'),
'wmv' => ['video/x-ms-wmv', 'video/x-ms-asf'],
'au' => 'audio/x-au',
'ac3' => 'audio/ac3',
'flac' => 'audio/x-flac',
'ogg' => array('audio/ogg', 'video/ogg', 'application/ogg'),
'kmz' => array('application/vnd.google-earth.kmz', 'application/zip', 'application/x-zip'),
'kml' => array('application/vnd.google-earth.kml+xml', 'application/xml', 'text/xml'),
'ogg' => ['audio/ogg', 'video/ogg', 'application/ogg'],
'kmz' => ['application/vnd.google-earth.kmz', 'application/zip', 'application/x-zip'],
'kml' => ['application/vnd.google-earth.kml+xml', 'application/xml', 'text/xml'],
'ics' => 'text/calendar',
'ical' => 'text/calendar',
'zsh' => 'text/x-scriptzsh',
'7z' => array('application/x-7z-compressed', 'application/x-compressed', 'application/x-zip-compressed', 'application/zip', 'multipart/x-zip'),
'7zip' => array('application/x-7z-compressed', 'application/x-compressed', 'application/x-zip-compressed', 'application/zip', 'multipart/x-zip'),
'cdr' => array('application/cdr', 'application/coreldraw', 'application/x-cdr', 'application/x-coreldraw', 'image/cdr', 'image/x-cdr', 'zz-application/zz-winassoc-cdr'),
'wma' => array('audio/x-ms-wma', 'video/x-ms-asf'),
'jar' => array('application/java-archive', 'application/x-java-application', 'application/x-jar', 'application/x-compressed'),
'svg' => array('image/svg+xml', 'application/xml', 'text/xml'),
'7z' => ['application/x-7z-compressed', 'application/x-compressed', 'application/x-zip-compressed', 'application/zip', 'multipart/x-zip'],
'7zip' => ['application/x-7z-compressed', 'application/x-compressed', 'application/x-zip-compressed', 'application/zip', 'multipart/x-zip'],
'cdr' => ['application/cdr', 'application/coreldraw', 'application/x-cdr', 'application/x-coreldraw', 'image/cdr', 'image/x-cdr', 'zz-application/zz-winassoc-cdr'],
'wma' => ['audio/x-ms-wma', 'video/x-ms-asf'],
'jar' => ['application/java-archive', 'application/x-java-application', 'application/x-jar', 'application/x-compressed'],
'svg' => ['image/svg+xml', 'application/xml', 'text/xml'],
'vcf' => 'text/x-vcard',
'srt' => array('text/srt', 'text/plain'),
'vtt' => array('text/vtt', 'text/plain'),
'ico' => array('image/x-icon', 'image/x-ico', 'image/vnd.microsoft.icon'),
'srt' => ['text/srt', 'text/plain'],
'vtt' => ['text/vtt', 'text/plain'],
'ico' => ['image/x-icon', 'image/x-ico', 'image/vnd.microsoft.icon'],
'odc' => 'application/vnd.oasis.opendocument.chart',
'otc' => 'application/vnd.oasis.opendocument.chart-template',
'odf' => 'application/vnd.oasis.opendocument.formula',
@ -181,4 +181,4 @@ return array(
'odm' => 'application/vnd.oasis.opendocument.text-master',
'ott' => 'application/vnd.oasis.opendocument.text-template',
'oth' => 'application/vnd.oasis.opendocument.text-web'
);
];

View file

@ -1,4 +1,4 @@
<?php defined('BASEPATH') OR exit('No direct script access allowed');
<?php defined('BASEPATH') or exit('No direct script access allowed');
/*
| -------------------------------------------------------------------------

View file

@ -1,4 +1,4 @@
<?php defined('BASEPATH') OR exit('No direct script access allowed');
<?php defined('BASEPATH') or exit('No direct script access allowed');
/*
| -------------------------------------------------------------------------

View file

@ -1,4 +1,4 @@
<?php defined('BASEPATH') OR exit('No direct script access allowed');
<?php defined('BASEPATH') or exit('No direct script access allowed');
/*
| -------------------------------------------------------------------

View file

@ -1,4 +1,4 @@
<?php defined('BASEPATH') OR exit('No direct script access allowed');
<?php defined('BASEPATH') or exit('No direct script access allowed');
/*
| -------------------------------------------------------------------

View file

@ -14,7 +14,6 @@
use EA\Engine\Notifications\Email as EmailClient;
use EA\Engine\Types\Email;
use EA\Engine\Types\Text;
use EA\Engine\Types\Url;
/**
* Backend API Controller
@ -562,7 +561,7 @@ class Backend_api extends EA_Controller {
$limit = 1000;
}
$customers = $this->customers_model->get_batch($where, $limit, null, $order_by);
$customers = $this->customers_model->get_batch($where, $limit, NULL, $order_by);
foreach ($customers as &$customer)
{

View file

@ -41,6 +41,22 @@ class Console extends EA_Controller {
$this->load->model('settings_model');
}
/**
* Perform a console installation.
*
* Use this method to install Easy!Appointments directly from the terminal.
*
* Usage:
*
* php index.php console install
*/
public function install()
{
$this->migrate('fresh');
$this->seed();
$this->output->set_output(PHP_EOL . '⇾ Installation completed, login with "administrator" / "administrator".' . PHP_EOL . PHP_EOL);
}
/**
* Migrate the database to the latest state.
*
@ -142,22 +158,6 @@ class Console extends EA_Controller {
]);
}
/**
* Perform a console installation.
*
* Use this method to install Easy!Appointments directly from the terminal.
*
* Usage:
*
* php index.php console install
*/
public function install()
{
$this->migrate('fresh');
$this->seed();
$this->output->set_output(PHP_EOL . '⇾ Installation completed, login with "administrator" / "administrator".' . PHP_EOL . PHP_EOL);
}
/**
* Create a backup file.
*

View file

@ -29,67 +29,6 @@ class Google extends EA_Controller {
$this->load->model('providers_model');
}
/**
* Authorize Google Calendar API usage for a specific provider.
*
* Since it is required to follow the web application flow, in order to retrieve a refresh token from the Google API
* service, this method is going to authorize the given provider.
*
* @param int $provider_id The provider id, for whom the sync authorization is made.
*/
public function oauth($provider_id)
{
// Store the provider id for use on the callback function.
$this->session->set_userdata('oauth_provider_id', $provider_id);
// Redirect browser to google user content page.
header('Location: ' . $this->google_sync->get_auth_url());
}
/**
* Callback method for the Google Calendar API authorization process.
*
* Once the user grants consent with his Google Calendar data usage, the Google OAuth service will redirect him back
* in this page. Here we are going to store the refresh token, because this is what will be used to generate access
* tokens in the future.
*
* IMPORTANT: Because it is necessary to authorize the application using the web server flow (see official
* documentation of OAuth), every Easy!Appointments installation should use its own calendar api key. So in every
* api console account, the "http://path-to-Easy!Appointments/google/oauth_callback" should be included in an allowed redirect URL.
*/
public function oauth_callback()
{
$code = $this->input->get('code');
if (empty($code))
{
$this->output->set_output('Code authorization failed.');
return;
}
$token = $this->google_sync->authenticate($code);
if (empty($token))
{
$this->output->set_output('Token authorization failed.');
return;
}
// Store the token into the database for future reference.
$oauth_provider_id = $this->session->userdata('oauth_provider_id');
if ($oauth_provider_id)
{
$this->providers_model->set_setting('google_sync', TRUE, $oauth_provider_id);
$this->providers_model->set_setting('google_token', json_encode($token), $oauth_provider_id);
$this->providers_model->set_setting('google_calendar', 'primary', $oauth_provider_id);
}
else
{
$this->output->set_output('Sync provider id not specified.');
}
}
/**
* Complete synchronization of appointments between Google Calendar and Easy!Appointments.
*
@ -288,5 +227,66 @@ class Google extends EA_Controller {
->set_output(json_encode($response));
}
/**
* Authorize Google Calendar API usage for a specific provider.
*
* Since it is required to follow the web application flow, in order to retrieve a refresh token from the Google API
* service, this method is going to authorize the given provider.
*
* @param int $provider_id The provider id, for whom the sync authorization is made.
*/
public function oauth($provider_id)
{
// Store the provider id for use on the callback function.
$this->session->set_userdata('oauth_provider_id', $provider_id);
// Redirect browser to google user content page.
header('Location: ' . $this->google_sync->get_auth_url());
}
/**
* Callback method for the Google Calendar API authorization process.
*
* Once the user grants consent with his Google Calendar data usage, the Google OAuth service will redirect him back
* in this page. Here we are going to store the refresh token, because this is what will be used to generate access
* tokens in the future.
*
* IMPORTANT: Because it is necessary to authorize the application using the web server flow (see official
* documentation of OAuth), every Easy!Appointments installation should use its own calendar api key. So in every
* api console account, the "http://path-to-Easy!Appointments/google/oauth_callback" should be included in an allowed redirect URL.
*/
public function oauth_callback()
{
$code = $this->input->get('code');
if (empty($code))
{
$this->output->set_output('Code authorization failed.');
return;
}
$token = $this->google_sync->authenticate($code);
if (empty($token))
{
$this->output->set_output('Token authorization failed.');
return;
}
// Store the token into the database for future reference.
$oauth_provider_id = $this->session->userdata('oauth_provider_id');
if ($oauth_provider_id)
{
$this->providers_model->set_setting('google_sync', TRUE, $oauth_provider_id);
$this->providers_model->set_setting('google_token', json_encode($token), $oauth_provider_id);
$this->providers_model->set_setting('google_calendar', 'primary', $oauth_provider_id);
}
else
{
$this->output->set_output('Sync provider id not specified.');
}
}
}

View file

@ -74,7 +74,7 @@ class Installation extends EA_Controller {
$admin['timezone'] = 'UTC';
$admin['settings']['username'] = $admin['username'];
$admin['settings']['password'] = $admin['password'];
$admin['settings']['notifications'] = true;
$admin['settings']['notifications'] = TRUE;
$admin['settings']['calendar_view'] = CALENDAR_VIEW_DEFAULT;
unset($admin['username'], $admin['password']);
$admin['id'] = $this->admins_model->add($admin);

View file

@ -49,7 +49,7 @@ class Unavailabilities extends API_V1_Controller {
{
try
{
$where = $id !== NULL ? ['id' => $id] : ['is_unavailable' => true];
$where = $id !== NULL ? ['id' => $id] : ['is_unavailable' => TRUE];
$unavailabilities = $this->appointments_model->get_batch($where);

View file

@ -7,7 +7,7 @@
* @license http://opensource.org/licenses/MIT MIT License
* @link https://codeigniter.com
*/
defined('BASEPATH') OR exit('No direct script access allowed');
defined('BASEPATH') or exit('No direct script access allowed');
$lang['db_invalid_connection_str'] = 'غير قادر على إيجاد إعدادات الإتصال بقواعد البيانات بناء على البيانات المرسلة.';
$lang['db_unable_to_connect'] = 'غير قادر على الإتصال بقواعد البيانات بناء على الإعدادات المقدمة.';

View file

@ -7,7 +7,7 @@
* @license http://opensource.org/licenses/MIT MIT License
* @link https://codeigniter.com
*/
defined('BASEPATH') OR exit('No direct script access allowed');
defined('BASEPATH') or exit('No direct script access allowed');
$lang['email_must_be_array'] = 'يجب تمرير مصفوفة إلى دالة التحقق من البريد الإلكتروني.';
$lang['email_invalid_address'] = 'عنوان بريد إلكتروني خاطئ: %s';

View file

@ -7,7 +7,7 @@
* @license http://opensource.org/licenses/MIT MIT License
* @link https://codeigniter.com
*/
defined('BASEPATH') OR exit('No direct script access allowed');
defined('BASEPATH') or exit('No direct script access allowed');
$lang['migration_none_found'] = "لا يوجد أي عمليات ترحيل.";
$lang['migration_not_found'] = "تعذر العثور على عملية الترحيل هذه.";

View file

@ -35,7 +35,7 @@
* @since Version 1.0.0
* @filesource
*/
defined('BASEPATH') OR exit('No direct script access allowed');
defined('BASEPATH') or exit('No direct script access allowed');
$lang['db_invalid_connection_str'] = 'Z řetězce spojení které jste zadali nelze určit nastavení databáze.';
$lang['db_unable_to_connect'] = 'Se zadanými nastaveními se není možné připojit k databázovému serveru.';

View file

@ -35,7 +35,7 @@
* @since Version 1.0.0
* @filesource
*/
defined('BASEPATH') OR exit('No direct script access allowed');
defined('BASEPATH') or exit('No direct script access allowed');
$lang['email_must_be_array'] = 'Metoda validace emailu musí být předána jako pole.';
$lang['email_invalid_address'] = 'Neplatná emailová adresa: %s';

View file

@ -7,7 +7,7 @@
* @license http://opensource.org/licenses/MIT MIT License
* @link https://codeigniter.com
*/
defined('BASEPATH') OR exit('No direct script access allowed');
defined('BASEPATH') or exit('No direct script access allowed');
$lang['migration_none_found'] = 'Nebyla nalezena žádná migrace.';
$lang['migration_not_found'] = 'Migrace s číslem verze %s nebyla nalezena.';

View file

@ -1,4 +1,4 @@
<?php defined('BASEPATH') OR exit('No direct script access allowed');
<?php defined('BASEPATH') or exit('No direct script access allowed');
// Czech
$lang['page_title'] = 'Rezervace schůzky s';
$lang['service_and_provider'] = 'Výběr služby & poskytovatele';

View file

@ -7,7 +7,7 @@
* @license http://opensource.org/licenses/MIT MIT License
* @link https://codeigniter.com
*/
defined('BASEPATH') OR exit('No direct script access allowed');
defined('BASEPATH') or exit('No direct script access allowed');
$lang['db_invalid_connection_str'] = 'Kan ikke fastsætte database indstillingerne baseret på forbindelsen strengen du angav.';
$lang['db_unable_to_connect'] = 'Kan ikke forbinde til din database server udfra de angivne indstillinger.';

View file

@ -7,7 +7,7 @@
* @license http://opensource.org/licenses/MIT MIT License
* @link https://codeigniter.com
*/
defined('BASEPATH') OR exit('No direct script access allowed');
defined('BASEPATH') or exit('No direct script access allowed');
$lang['email_must_be_array'] = 'Email valideringsmetoden kræver at modtage et array.';
$lang['email_invalid_address'] = 'Ugyldig email adresse: %s';

View file

@ -7,7 +7,7 @@
* @license http://opensource.org/licenses/MIT MIT License
* @link https://codeigniter.com
*/
defined('BASEPATH') OR exit('No direct script access allowed');
defined('BASEPATH') or exit('No direct script access allowed');
$lang['migration_none_found'] = 'Ingen migrationer blev fundet.';
$lang['migration_not_found'] = 'Ingen migrationer blev fundet med versionsnummeret: %s.';

View file

@ -1,4 +1,4 @@
<?php defined('BASEPATH') OR exit('No direct script access allowed');
<?php defined('BASEPATH') or exit('No direct script access allowed');
// Danish
$lang['page_title'] = 'Book tid ved ...';
$lang['service_and_provider'] = 'Vælg tjeneste og leverandør';

View file

@ -8,7 +8,7 @@
* @license http://opensource.org/licenses/MIT MIT License
* @link https://codeigniter.com
*/
defined('BASEPATH') OR exit('Directe toegang tot scripts is niet toegestaan');
defined('BASEPATH') or exit('Directe toegang tot scripts is niet toegestaan');
$lang['db_invalid_connection_str'] = 'Het lukt niet om de instellingen voor de database te kunnen bepalen via de connectiegegevens.';
$lang['db_unable_to_connect'] = 'Het lukt niet om een verbinding naar de database te maken met de opgegeven informatie.';

View file

@ -8,7 +8,7 @@
* @license http://opensource.org/licenses/MIT MIT License
* @link https://codeigniter.com
*/
defined('BASEPATH') OR exit('Directe toegang tot scripts is niet toegestaan');
defined('BASEPATH') or exit('Directe toegang tot scripts is niet toegestaan');
$lang['email_must_be_array'] = 'De e-mail validatie methode moet de array passeren.';
$lang['email_invalid_address'] = 'De opgegeven waarde is geen geldig e-mailadres: %s';

View file

@ -8,7 +8,7 @@
* @license http://opensource.org/licenses/MIT MIT License
* @link https://codeigniter.com
*/
defined('BASEPATH') OR exit('Directe toegang tot scripts is niet toegestaan');
defined('BASEPATH') or exit('Directe toegang tot scripts is niet toegestaan');
$lang['migration_none_found'] = 'Er is geen enkele migratie gevonden.';
$lang['migration_not_found'] = 'Een migratie met dit versienummer is onvindbaar. %s.';

View file

@ -1,4 +1,4 @@
<?php defined('BASEPATH') OR exit('No direct script access allowed');
<?php defined('BASEPATH') or exit('No direct script access allowed');
// Dutch
$lang['page_title'] = 'Boek afspraak met';
$lang['service_and_provider'] = 'Kies een dienst en een medewerker';

View file

@ -6,7 +6,7 @@
* @license http://opensource.org/licenses/MIT MIT License
* @link https://codeigniter.com
*/
defined('BASEPATH') OR exit('No direct script access allowed');
defined('BASEPATH') or exit('No direct script access allowed');
$lang['db_invalid_connection_str'] = "Impossible de déterminer les paramètres d'accès à la base de données en se basant sur la chaîne de connexion que vous avez fournie.";
$lang['db_unable_to_connect'] = "Impossible de se connecter à la base de données en utilisant les paramètres fournis.";

View file

@ -6,7 +6,7 @@
* @license http://opensource.org/licenses/MIT MIT License
* @link https://codeigniter.com
*/
defined('BASEPATH') OR exit('No direct script access allowed');
defined('BASEPATH') or exit('No direct script access allowed');
$lang['email_must_be_array'] = "La méthode de validation d'email n'accepte que les tableaux associatifs (array).";
$lang['email_invalid_address'] = "Adresse email invalide : %s";

View file

@ -6,7 +6,7 @@
* @license http://opensource.org/licenses/MIT MIT License
* @link https://codeigniter.com
*/
defined('BASEPATH') OR exit('No direct script access allowed');
defined('BASEPATH') or exit('No direct script access allowed');
$lang['migration_none_found'] = "Aucune migration trouvée.";
$lang['migration_not_found'] = "Aucune migration n'a été trouvée avec le numéro de version : %d.";

View file

@ -1,4 +1,4 @@
<?php defined('BASEPATH') OR exit('No direct script access allowed');
<?php defined('BASEPATH') or exit('No direct script access allowed');
// French
$lang['page_title'] = 'Prendre rendez-vous avec ...';
$lang['service_and_provider'] = 'Choisissez une prestation et un exécutant';

View file

@ -7,7 +7,7 @@
* @license http://opensource.org/licenses/MIT MIT License
* @link https://codeigniter.com
*/
defined('BASEPATH') OR exit('No direct script access allowed');
defined('BASEPATH') or exit('No direct script access allowed');
$lang['db_invalid_connection_str'] = 'Die Datenbank-Einstellungen sind anhand der vorliegenden Verbindungsdaten nicht zu ermitteln.';
$lang['db_unable_to_connect'] = 'Mit den vorliegenden Einstellungen ist keine Verbindung zum Datenbank-Server möglich.';

View file

@ -7,7 +7,7 @@
* @license http://opensource.org/licenses/MIT MIT License
* @link https://codeigniter.com
*/
defined('BASEPATH') OR exit('No direct script access allowed');
defined('BASEPATH') or exit('No direct script access allowed');
$lang['email_must_be_array'] = 'Die Methode zur Überprüfung der E-Mail muss in einem Array übergeben werden.';
$lang['email_invalid_address'] = 'Ungültige E-Mail-Adresse: %s';

View file

@ -7,7 +7,7 @@
* @license http://opensource.org/licenses/MIT MIT License
* @link https://codeigniter.com
*/
defined('BASEPATH') OR exit('No direct script access allowed');
defined('BASEPATH') or exit('No direct script access allowed');
$lang['migration_none_found'] = 'Es wurde keine Migration gefunden.';
$lang['migration_not_found'] = 'Die Migration mit der Versionsnummer %s wurde nicht gefunden.';

View file

@ -1,4 +1,4 @@
<?php defined('BASEPATH') OR exit('No direct script access allowed');
<?php defined('BASEPATH') or exit('No direct script access allowed');
// German
$lang['page_title'] = 'Vereinbaren Sie einen Termin mit';
$lang['service_and_provider'] = 'Dienstleistung & Anbieter';

View file

@ -8,7 +8,7 @@
* @license http://opensource.org/licenses/MIT MIT License
* @link https://codeigniter.com
*/
defined('BASEPATH') OR exit('No direct script access allowed');
defined('BASEPATH') or exit('No direct script access allowed');
$lang['db_invalid_connection_str'] = 'Αδυναμία να ρυθμιστεί η βάση δεδομένων με τα στοιχεία σύνδεσης που υποβάλλονται.';
$lang['db_unable_to_connect'] = 'Δεν είναι δυνατή η σύνδεση με την βάση δεδομένων σας, παρακαλώ ελέγξτε τα στοιχεία σύνδεσης.';

View file

@ -8,7 +8,7 @@
* @license http://opensource.org/licenses/MIT MIT License
* @link https://codeigniter.com
*/
defined('BASEPATH') OR exit('No direct script access allowed');
defined('BASEPATH') or exit('No direct script access allowed');
$lang['email_must_be_array'] = 'Η μέθοδος email validation πρέπει να περάσει απο έναν πίνακα.';
$lang['email_invalid_address'] = 'Μη έγκυρη διεύθυνση e-mail: %s';

View file

@ -8,7 +8,7 @@
* @license http://opensource.org/licenses/MIT MIT License
* @link https://codeigniter.com
*/
defined('BASEPATH') OR exit('No direct script access allowed');
defined('BASEPATH') or exit('No direct script access allowed');
$lang['migration_none_found'] = 'Δεν βρέθηκαν migrations.';
$lang['migration_not_found'] = 'Όχι migrations, θα μπορούσε να βρεθεί με τον αριθμό έκδοσης: %s.';

View file

@ -1,4 +1,4 @@
<?php defined('BASEPATH') OR exit('No direct script access allowed');
<?php defined('BASEPATH') or exit('No direct script access allowed');
// Greek
$lang['page_title'] = 'Κράτηση Ραντεβού Με';
$lang['service_and_provider'] = 'Υπηρεσία & Πάροχος';

View file

@ -35,7 +35,7 @@
* @since Version 1.0.0
* @filesource
*/
defined('BASEPATH') OR exit('No direct script access allowed');
defined('BASEPATH') or exit('No direct script access allowed');
$lang['db_invalid_connection_str'] = 'לא ניתן לקבוע את הגדרות מסד הנתונים בהתבסס על מחרוזת החיבור שהגשת.';
$lang['db_unable_to_connect'] = 'לא ניתן להתחבר לשרת מסד הנתונים שלך באמצעות ההגדרות שסופקו.';

View file

@ -35,7 +35,7 @@
* @since Version 1.0.0
* @filesource
*/
defined('BASEPATH') OR exit('No direct script access allowed');
defined('BASEPATH') or exit('No direct script access allowed');
$lang['email_must_be_array'] = 'שיטת אימות הדוא"ל חחיבת להיות במערך.';
$lang['email_invalid_address'] = 'כתובת דוא"ל לא תקנית: %s';

View file

@ -8,7 +8,7 @@
* @license http://opensource.org/licenses/MIT MIT License
* @link https://codeigniter.com
*/
defined('BASEPATH') OR exit('No direct script access allowed');
defined('BASEPATH') or exit('No direct script access allowed');
$lang['migration_none_found'] = 'מיזוג לא נמצא.';
$lang['migration_not_found'] = 'לא נמצאה מיזוג למספר הגרסה: %s.';

View file

@ -8,7 +8,7 @@
* @license http://opensource.org/licenses/MIT MIT License
* @link https://codeigniter.com
*/
defined('BASEPATH') OR exit('Directe toegang tot scripts is niet toegestaan');
defined('BASEPATH') or exit('Directe toegang tot scripts is niet toegestaan');
$lang['db_invalid_connection_str'] = 'मैं कनेक्शन डेटा का उपयोग कर डेटाबेस के लिए सेटिंग्स का निर्धारण करने में असमर्थ हूँ।';
$lang['db_unable_to_connect'] = 'मैं निर्दिष्ट जानकारी के साथ डेटाबेस से कनेक्ट करने में असमर्थ हूँ।';
$lang['db_unable_to_select'] = 'मैं डेटाबेस का उपयोग करने में असमर्थ हूँ:% s';

View file

@ -8,7 +8,7 @@
* @license http://opensource.org/licenses/MIT MIT License
* @link https://codeigniter.com
*/
defined('BASEPATH') OR exit('Directe toegang tot scripts is niet toegestaan');
defined('BASEPATH') or exit('Directe toegang tot scripts is niet toegestaan');
$lang['email_must_be_array'] = 'ईमेल सत्यापन विधि को सरणी (array) भेजी जानी चाहिए।';
$lang['email_invalid_address'] = 'अवैध ईमेल पता है:% s';
$lang['email_attachment_missing'] = '% S: निम्नलिखित ईमेल संलग्नक (अटैचमेंट) पता लगाने में असमर्थ';

View file

@ -7,7 +7,7 @@
* @license http://opensource.org/licenses/MIT MIT License
* @link https://codeigniter.com
*/
defined('BASEPATH') OR exit('No direct script access allowed');
defined('BASEPATH') or exit('No direct script access allowed');
$lang['migration_none_found'] = 'कोई माइग्रेशन नहीं पाए गए।';
$lang['migration_not_found'] = 'कोई माइग्रेशन वर्जन नंबर के साथनहीं नहीं पाया जा सका:% s।';

View file

@ -1,4 +1,4 @@
<?php defined('BASEPATH') OR exit('No direct script access allowed');
<?php defined('BASEPATH') or exit('No direct script access allowed');
// Hindi
$lang['page_title'] = 'नअपॉइंटमेंट बुक करें';
$lang['service_and_provider'] = 'प्रदान करनेवाला और सेवा का चयन करें';

View file

@ -32,17 +32,21 @@
<span id="company-name"><?= $company_name ?></span>
<div id="steps">
<div id="step-1" class="book-step active-step" data-tippy-content="<?= lang('service_and_provider') ?>">
<div id="step-1" class="book-step active-step"
data-tippy-content="<?= lang('service_and_provider') ?>">
<strong>1</strong>
</div>
<div id="step-2" class="book-step" data-toggle="tooltip" data-tippy-content="<?= lang('appointment_date_and_time') ?>">
<div id="step-2" class="book-step" data-toggle="tooltip"
data-tippy-content="<?= lang('appointment_date_and_time') ?>">
<strong>2</strong>
</div>
<div id="step-3" class="book-step" data-toggle="tooltip" data-tippy-content="<?= lang('customer_information') ?>">
<div id="step-3" class="book-step" data-toggle="tooltip"
data-tippy-content="<?= lang('customer_information') ?>">
<strong>3</strong>
</div>
<div id="step-4" class="book-step" data-toggle="tooltip" data-tippy-content="<?= lang('appointment_confirmation') ?>">
<div id="step-4" class="book-step" data-toggle="tooltip"
data-tippy-content="<?= lang('appointment_confirmation') ?>">
<strong>4</strong>
</div>
</div>

View file

@ -3,7 +3,8 @@
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title"><?= lang('privacy_policy') ?></h4>
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span></button>
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<p><?= $privacy_policy_content ?></p>

View file

@ -3,7 +3,8 @@
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title"><?= lang('terms_and_conditions') ?></h4>
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span></button>
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<p><?= $terms_and_conditions_content ?></p>

View file

@ -91,7 +91,8 @@
</div>
<?php endif ?>
<button id="reload-appointments" class="btn btn-light" data-tippy-content="<?= lang('reload_appointments_hint') ?>">
<button id="reload-appointments" class="btn btn-light"
data-tippy-content="<?= lang('reload_appointments_hint') ?>">
<i class="fas fa-sync-alt"></i>
</button>
@ -325,7 +326,8 @@
<span class="text-danger">*</span>
<?php endif ?>
</label>
<input id="phone-number" class="form-control <?= $require_phone_number === '1' ? 'required' : '' ?>">
<input id="phone-number"
class="form-control <?= $require_phone_number === '1' ? 'required' : '' ?>">
</div>
</div>
<div class="col-12 col-sm-6">

View file

@ -35,10 +35,12 @@
<div class="input-group-addon">
<div>
<button class="filter btn btn-outline-secondary" type="submit" data-tippy-content="<?= lang('filter') ?>">
<button class="filter btn btn-outline-secondary" type="submit"
data-tippy-content="<?= lang('filter') ?>">
<i class="fas fa-search"></i>
</button>
<button class="clear btn btn-outline-secondary" type="button" data-tippy-content="<?= lang('clear') ?>">
<button class="clear btn btn-outline-secondary" type="button"
data-tippy-content="<?= lang('clear') ?>">
<i class="fas fa-redo-alt"></i>
</button>
</div>

View file

@ -51,10 +51,12 @@
<div class="input-group-addon">
<div>
<button class="filter btn btn-outline-secondary" type="submit" data-tippy-content="<?= lang('filter') ?>">
<button class="filter btn btn-outline-secondary" type="submit"
data-tippy-content="<?= lang('filter') ?>">
<i class="fas fa-search"></i>
</button>
<button class="clear btn btn-outline-secondary" type="button" data-tippy-content="<?= lang('clear') ?>">
<button class="clear btn btn-outline-secondary" type="button"
data-tippy-content="<?= lang('clear') ?>">
<i class="fas fa-redo-alt"></i>
</button>
</div>
@ -192,10 +194,12 @@
<div class="input-group-addon">
<div>
<button class="filter btn btn-outline-secondary" type="submit" data-tippy-content="<?= lang('filter') ?>">
<button class="filter btn btn-outline-secondary" type="submit"
data-tippy-content="<?= lang('filter') ?>">
<i class="fas fa-search"></i>
</button>
<button class="clear btn btn-outline-secondary" type="button" data-tippy-content="<?= lang('clear') ?>">
<button class="clear btn btn-outline-secondary" type="button"
data-tippy-content="<?= lang('clear') ?>">
<i class="fas fa-redo-alt"></i>
</button>
</div>

View file

@ -68,10 +68,12 @@
<div class="input-group-addon">
<div>
<button class="filter btn btn-outline-secondary" type="submit" data-tippy-content="<?= lang('filter') ?>">
<button class="filter btn btn-outline-secondary" type="submit"
data-tippy-content="<?= lang('filter') ?>">
<i class="fas fa-search"></i>
</button>
<button class="clear btn btn-outline-secondary" type="button" data-tippy-content="<?= lang('clear') ?>">
<button class="clear btn btn-outline-secondary" type="button"
data-tippy-content="<?= lang('clear') ?>">
<i class="fas fa-redo-alt"></i>
</button>
</div>
@ -374,10 +376,12 @@
<span class="input-group-addon">
<div>
<button class="filter btn btn-outline-secondary" type="submit" data-tippy-content="<?= lang('filter') ?>">
<button class="filter btn btn-outline-secondary" type="submit"
data-tippy-content="<?= lang('filter') ?>">
<i class="fas fa-search"></i>
</button>
<button class="clear btn btn-outline-secondary" type="button" data-tippy-content="<?= lang('clear') ?>">
<button class="clear btn btn-outline-secondary" type="button"
data-tippy-content="<?= lang('clear') ?>">
<i class="fas fa-redo-alt"></i>
</button>
</div>
@ -580,10 +584,12 @@
<span class="input-group-addon">
<div>
<button class="filter btn btn-outline-secondary" type="submit" data-tippy-content="<?= lang('filter') ?>">
<button class="filter btn btn-outline-secondary" type="submit"
data-tippy-content="<?= lang('filter') ?>">
<i class="fas fa-search"></i>
</button>
<button class="clear btn btn-outline-secondary" type="button" data-tippy-content="<?= lang('clear') ?>">
<button class="clear btn btn-outline-secondary" type="button"
data-tippy-content="<?= lang('clear') ?>">
<i class="fas fa-redo-alt"></i>
</button>
</div>

View file

@ -51,7 +51,8 @@
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal"><?= lang('cancel') ?></button>
<button type="button" class="btn btn-primary" id="working-plan-exceptions-save"><?= lang('save') ?></button>
<button type="button" class="btn btn-primary"
id="working-plan-exceptions-save"><?= lang('save') ?></button>
</div>
</div>
</div>

View file

@ -1,3 +1,3 @@
<?php defined('BASEPATH') OR exit('No direct script access allowed');
<?php defined('BASEPATH') or exit('No direct script access allowed');
echo "\nERROR: ", $heading, "\n\n", $message, "\n\n";

View file

@ -1,3 +1,3 @@
<?php defined('BASEPATH') OR exit('No direct script access allowed');
<?php defined('BASEPATH') or exit('No direct script access allowed');
echo "\nDatabase error: ", $heading, "\n\n", $message, "\n\n";

View file

@ -1,4 +1,4 @@
<?php defined('BASEPATH') OR exit('No direct script access allowed') ?>
<?php defined('BASEPATH') or exit('No direct script access allowed') ?>
An uncaught Exception was encountered
@ -7,7 +7,7 @@ Message: <?= $message, "\n" ?>
Filename: <?= $exception->getFile(), "\n" ?>
Line Number: <?= $exception->getLine() ?>
<?php if (defined('SHOW_DEBUG_BACKTRACE') && SHOW_DEBUG_BACKTRACE === true): ?>
<?php if (defined('SHOW_DEBUG_BACKTRACE') && SHOW_DEBUG_BACKTRACE === TRUE): ?>
Backtrace:
<?php foreach ($exception->getTrace() as $error): ?>
<?php if (isset($error['file']) && strpos($error['file'], realpath(BASEPATH)) !== 0): ?>

View file

@ -1,3 +1,3 @@
<?php defined('BASEPATH') OR exit('No direct script access allowed');
<?php defined('BASEPATH') or exit('No direct script access allowed');
echo "\nERROR: ", $heading, "\n\n", $message, "\n\n";

View file

@ -1,4 +1,4 @@
<?php defined('BASEPATH') OR exit('No direct script access allowed') ?>
<?php defined('BASEPATH') or exit('No direct script access allowed') ?>
A PHP Error was encountered
@ -7,7 +7,7 @@ Message: <?= $message, "\n" ?>
Filename: <?= $filepath, "\n" ?>
Line Number: <?= $line ?>
<?php if (defined('SHOW_DEBUG_BACKTRACE') && SHOW_DEBUG_BACKTRACE === true): ?>
<?php if (defined('SHOW_DEBUG_BACKTRACE') && SHOW_DEBUG_BACKTRACE === TRUE): ?>
Backtrace:
<?php foreach (debug_backtrace() as $error): ?>
<?php if (isset($error['file']) && strpos($error['file'], realpath(BASEPATH)) !== 0): ?>

View file

@ -4,9 +4,20 @@
<title>404 Page Not Found</title>
<style type="text/css">
::selection{ background-color: #E13300; color: white; }
::moz-selection{ background-color: #E13300; color: white; }
::webkit-selection{ background-color: #E13300; color: white; }
::selection {
background-color: #E13300;
color: white;
}
::moz-selection {
background-color: #E13300;
color: white;
}
::webkit-selection {
background-color: #E13300;
color: white;
}
body {
background-color: #fff;

View file

@ -4,9 +4,20 @@
<title>Database Error</title>
<style type="text/css">
::selection{ background-color: #E13300; color: white; }
::moz-selection{ background-color: #E13300; color: white; }
::webkit-selection{ background-color: #E13300; color: white; }
::selection {
background-color: #E13300;
color: white;
}
::moz-selection {
background-color: #E13300;
color: white;
}
::webkit-selection {
background-color: #E13300;
color: white;
}
body {
background-color: #fff;

View file

@ -1,4 +1,4 @@
<?php defined('BASEPATH') OR exit('No direct script access allowed') ?>
<?php defined('BASEPATH') or exit('No direct script access allowed') ?>
<div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;">
@ -9,7 +9,7 @@
<p>Filename: <?= $exception->getFile() ?></p>
<p>Line Number: <?= $exception->getLine() ?></p>
<?php if (defined('SHOW_DEBUG_BACKTRACE') && SHOW_DEBUG_BACKTRACE === true): ?>
<?php if (defined('SHOW_DEBUG_BACKTRACE') && SHOW_DEBUG_BACKTRACE === TRUE): ?>
<p>Backtrace:</p>

View file

@ -4,9 +4,20 @@
<title>Error</title>
<style type="text/css">
::selection{ background-color: #E13300; color: white; }
::moz-selection{ background-color: #E13300; color: white; }
::webkit-selection{ background-color: #E13300; color: white; }
::selection {
background-color: #E13300;
color: white;
}
::moz-selection {
background-color: #E13300;
color: white;
}
::webkit-selection {
background-color: #E13300;
color: white;
}
body {
background-color: #fff;

View file

@ -125,7 +125,8 @@
<button type="button" id="install" class="btn btn-success btn-large">
<i class="icon-white icon-ok mr-2"></i>
Install Easy!Appointments</button>
Install Easy!Appointments
</button>
</div>
<footer>

View file

@ -1085,7 +1085,7 @@ window.BackendCalendarTableView = window.BackendCalendarTableView || {};
* @param {Event} event
*/
function getEventNotes(event) {
if (!event.data || !event.data.notes) {
if (!event.data || !event.data.notes) {
return '-';
}