MaketRandevu/application/core/EA_Controller.php

111 lines
3.3 KiB
PHP
Raw Normal View History

<?php defined('BASEPATH') or exit('No direct script access allowed');
/* ----------------------------------------------------------------------------
2022-01-18 15:05:42 +03:00
* Easy!Appointments - Online Appointment Scheduler
*
* @package EasyAppointments
* @author A.Tselegidis <alextselegidis@gmail.com>
2021-12-18 19:43:45 +03:00
* @copyright Copyright (c) Alex Tselegidis
* @license https://opensource.org/licenses/GPL-3.0 - GPLv3
* @link https://easyappointments.org
* @since v1.4.0
* ---------------------------------------------------------------------------- */
/**
2021-10-29 11:18:44 +03:00
* Easy!Appointments controller.
*
* @property EA_Benchmark $benchmark
* @property EA_Cache $cache
* @property EA_Calendar $calendar
* @property EA_Config $config
* @property EA_DB_forge $dbforge
* @property EA_DB_query_builder $db
* @property EA_DB_utility $dbutil
* @property EA_Email $email
* @property EA_Encrypt $encrypt
* @property EA_Encryption $encryption
* @property EA_Exceptions $exceptions
* @property EA_Hooks $hooks
* @property EA_Input $input
* @property EA_Lang $lang
* @property EA_Loader $load
* @property EA_Log $log
* @property EA_Migration $migration
* @property EA_Output $output
* @property EA_Profiler $profiler
* @property EA_Router $router
* @property EA_Security $security
* @property EA_Session $session
* @property EA_Upload $upload
* @property EA_URI $uri
*
* @property Admins_model $admins_model
* @property Appointments_model $appointments_model
* @property Categories_model $categories_model
* @property Consents_model $consents_model
* @property Customers_model $customers_model
* @property Providers_model $providers_model
* @property Roles_model $roles_model
* @property Secretaries_model $secretaries_model
* @property Services_model $services_model
* @property Settings_model $settings_model
* @property Unavailabilities_model $unavailabilities_model
* @property Users_model $users_model
*
2021-10-28 14:29:15 +03:00
* @property Accounts $accounts
* @property Api $api
* @property Availability $availability
* @property Email_messages $email_messages
* @property Captcha_builder $captcha_builder
* @property Google_Sync $google_sync
* @property Ics_file $ics_file
* @property Instance $instance
* @property Notifications $notifications
* @property Permissions $permissions
* @property Synchronization $synchronization
* @property Timezones $timezones
*/
class EA_Controller extends CI_Controller {
2020-12-02 21:04:06 +03:00
/**
* EA_Controller constructor.
*/
public function __construct()
{
parent::__construct();
$this->configure_language();
2021-12-14 09:59:11 +03:00
$this->load_common_script_vars();
rate_limit($this->input->ip_address());
2020-12-02 21:04:06 +03:00
}
/**
* Configure the language.
2020-12-02 21:04:06 +03:00
*/
private function configure_language()
{
2021-10-28 14:29:15 +03:00
$session_language = session('language');
if ($session_language)
2020-12-02 21:04:06 +03:00
{
2021-10-28 14:29:15 +03:00
config(['language' => $session_language]);
2020-12-02 21:04:06 +03:00
}
$this->lang->load('translations');
}
2021-12-14 09:59:11 +03:00
/**
* Load common script vars for all requests.
2021-12-14 09:59:11 +03:00
*/
private function load_common_script_vars()
2021-12-14 09:59:11 +03:00
{
script_vars([
2021-12-14 09:59:11 +03:00
'base_url' => config('base_url'),
'index_page' => config('index_page'),
'available_languages' => config('available_languages'),
2021-12-16 10:45:55 +03:00
'csrf_token' => $this->security->get_csrf_hash(),
2021-12-14 09:59:11 +03:00
]);
}
}