From e084ee913fab65f0d8a99758710548423f3afcef Mon Sep 17 00:00:00 2001 From: Alex Tselegidis Date: Sat, 5 Dec 2020 11:55:09 +0200 Subject: [PATCH] Moved all the loader commands to the constructors --- application/controllers/Appointments.php | 3 - application/controllers/Backend.php | 1 - application/controllers/Backend_api.php | 87 +++--------------------- application/controllers/Consents.php | 11 ++- application/controllers/Console.php | 2 +- application/controllers/Errors.php | 10 ++- application/controllers/Google.php | 14 ++-- application/controllers/Installation.php | 14 ++-- application/controllers/Privacy.php | 13 ++-- application/controllers/User.php | 21 +++--- 10 files changed, 61 insertions(+), 115 deletions(-) diff --git a/application/controllers/Appointments.php b/application/controllers/Appointments.php index 2923245e..2a143c1c 100755 --- a/application/controllers/Appointments.php +++ b/application/controllers/Appointments.php @@ -26,7 +26,6 @@ class Appointments extends EA_Controller { $this->load->helper('installation'); $this->load->helper('google_analytics'); - $this->load->model('appointments_model'); $this->load->model('providers_model'); $this->load->model('admins_model'); @@ -34,12 +33,10 @@ class Appointments extends EA_Controller { $this->load->model('services_model'); $this->load->model('customers_model'); $this->load->model('settings_model'); - $this->load->library('timezones'); $this->load->library('synchronization'); $this->load->library('notifications'); $this->load->library('availability'); - $this->load->driver('cache', ['adapter' => 'file']); } diff --git a/application/controllers/Backend.php b/application/controllers/Backend.php index 85f24aa5..11cc36e5 100755 --- a/application/controllers/Backend.php +++ b/application/controllers/Backend.php @@ -35,7 +35,6 @@ class Backend extends EA_Controller { $this->load->model('user_model'); $this->load->model('secretaries_model'); $this->load->model('admins_model'); - $this->load->library('timezones'); $this->load->library('migration'); } diff --git a/application/controllers/Backend_api.php b/application/controllers/Backend_api.php index 20538f06..8619881b 100755 --- a/application/controllers/Backend_api.php +++ b/application/controllers/Backend_api.php @@ -36,18 +36,21 @@ class Backend_api extends EA_Controller { { parent::__construct(); - $this->load->model('roles_model'); - $this->load->model('appointments_model'); - $this->load->model('providers_model'); $this->load->model('admins_model'); + $this->load->model('appointments_model'); + $this->load->model('consents_model'); + $this->load->model('customers_model'); + $this->load->model('providers_model'); + $this->load->model('roles_model'); $this->load->model('secretaries_model'); $this->load->model('services_model'); - $this->load->model('customers_model'); $this->load->model('settings_model'); $this->load->model('user_model'); - $this->load->library('timezones'); - $this->load->library('synchronization'); + $this->load->library('google_sync'); + $this->load->library('ics_file'); $this->load->library('notifications'); + $this->load->library('synchronization'); + $this->load->library('timezones'); if ($this->session->userdata('role_slug')) { @@ -113,7 +116,6 @@ class Backend_api extends EA_Controller { // If the current user is a secretary he must only see the appointments of his providers. if ($role_slug === DB_SLUG_SECRETARY) { - $this->load->model('secretaries_model'); $providers = $this->secretaries_model->get_row($user_id)['providers']; foreach ($response['appointments'] as $index => $appointment) { @@ -349,14 +351,6 @@ class Backend_api extends EA_Controller { } // Store appointment data for later use in this method. - $this->load->model('appointments_model'); - $this->load->model('providers_model'); - $this->load->model('admins_model'); - $this->load->model('secretaries_model'); - $this->load->model('customers_model'); - $this->load->model('services_model'); - $this->load->model('settings_model'); - $appointment = $this->appointments_model->get_row($this->input->post('appointment_id')); $provider = $this->providers_model->get_row($appointment['id_users_provider']); $customer = $this->customers_model->get_row($appointment['id_users_customer']); @@ -384,7 +378,6 @@ class Backend_api extends EA_Controller { { $google_token = json_decode($this->providers_model ->get_setting('google_token', $provider['id'])); - $this->load->library('Google_sync'); $this->google_sync->refresh_token($google_token->refresh_token); $this->google_sync->delete_appointment($provider, $appointment['id_google_calendar']); } @@ -512,8 +505,6 @@ class Backend_api extends EA_Controller { throw new Exception('You do not have the required privileges for this task.'); } - $this->load->model('providers_model'); - $this->load->model('appointments_model'); $this->providers_model->set_setting('google_sync', FALSE, $this->input->post('provider_id')); $this->providers_model->set_setting('google_token', NULL, $this->input->post('provider_id')); $this->appointments_model->clear_google_sync_ids($this->input->post('provider_id')); @@ -549,11 +540,6 @@ class Backend_api extends EA_Controller { throw new Exception('You do not have the required privileges for this task.'); } - $this->load->model('appointments_model'); - $this->load->model('services_model'); - $this->load->model('providers_model'); - $this->load->model('customers_model'); - $key = $this->db->escape_str($this->input->post('key')); $key = strtoupper($key); @@ -627,9 +613,6 @@ class Backend_api extends EA_Controller { throw new Exception('You do not have the required privileges for this task.'); } - $this->load->model('appointments_model'); - $this->load->model('providers_model'); - $provider = $this->providers_model->get_row($unavailable['id_users_provider']); // Add appointment @@ -647,7 +630,6 @@ class Backend_api extends EA_Controller { $google_token = json_decode($this->providers_model->get_setting('google_token', $unavailable['id_users_provider'])); - $this->load->library('google_sync'); $this->google_sync->refresh_token($google_token->refresh_token); if ($unavailable['id_google_calendar'] == NULL) @@ -709,9 +691,6 @@ class Backend_api extends EA_Controller { throw new Exception('You do not have the required privileges for this task.'); } - $this->load->model('appointments_model'); - $this->load->model('providers_model'); - $unavailable = $this->appointments_model->get_row($this->input->post('unavailable_id')); $provider = $this->providers_model->get_row($unavailable['id_users_provider']); @@ -725,7 +704,6 @@ class Backend_api extends EA_Controller { if ($google_sync == TRUE) { $google_token = json_decode($this->providers_model->get_setting('google_token', $provider['id'])); - $this->load->library('google_sync'); $this->google_sync->refresh_token($google_token->refresh_token); $this->google_sync->delete_unavailable($provider, $unavailable['id_google_calendar']); } @@ -778,8 +756,6 @@ class Backend_api extends EA_Controller { $working_plan_exception = $this->input->post('working_plan_exception'); $provider_id = $this->input->post('provider_id'); - $this->load->model('providers_model'); - $success = $this->providers_model->save_working_plan_exception($date, $working_plan_exception, $provider_id); if ($success) @@ -824,8 +800,6 @@ class Backend_api extends EA_Controller { $date = $this->input->post('date'); $provider_id = $this->input->post('provider_id'); - $this->load->model('providers_model'); - $success = $this->providers_model->delete_working_plan_exception($date, $provider_id); if ($success) @@ -859,7 +833,6 @@ class Backend_api extends EA_Controller { { try { - $this->load->model('customers_model'); $customer = json_decode($this->input->post('customer'), TRUE); $required_privileges = ( ! isset($customer['id'])) @@ -904,8 +877,6 @@ class Backend_api extends EA_Controller { throw new Exception('You do not have the required privileges for this task.'); } - $this->load->model('customers_model'); - $this->customers_model->delete($this->input->post('customer_id')); $response = AJAX_SUCCESS; @@ -932,7 +903,6 @@ class Backend_api extends EA_Controller { { try { - $this->load->model('services_model'); $service = json_decode($this->input->post('service'), TRUE); $required_privileges = ( ! isset($service['id'])) @@ -976,8 +946,6 @@ class Backend_api extends EA_Controller { throw new Exception('You do not have the required privileges for this task.'); } - $this->load->model('services_model'); - $result = $this->services_model->delete($this->input->post('service_id')); $response = $result ? AJAX_SUCCESS : AJAX_FAILURE; @@ -1009,8 +977,6 @@ class Backend_api extends EA_Controller { throw new Exception('You do not have the required privileges for this task.'); } - $this->load->model('services_model'); - $key = $this->db->escape_str($this->input->post('key')); $where = @@ -1042,7 +1008,6 @@ class Backend_api extends EA_Controller { { try { - $this->load->model('services_model'); $category = json_decode($this->input->post('category'), TRUE); $required_privileges = ( ! isset($category['id'])) @@ -1087,8 +1052,6 @@ class Backend_api extends EA_Controller { throw new Exception('You do not have the required privileges for this task.'); } - $this->load->model('services_model'); - $result = $this->services_model->delete_category($this->input->post('category_id')); $response = $result ? AJAX_SUCCESS : AJAX_FAILURE; @@ -1120,8 +1083,6 @@ class Backend_api extends EA_Controller { throw new Exception('You do not have the required privileges for this task.'); } - $this->load->model('services_model'); - $key = $this->db->escape_str($this->input->post('key')); $where = '(name LIKE "%' . $key . '%" OR description LIKE "%' . $key . '%")'; @@ -1155,8 +1116,6 @@ class Backend_api extends EA_Controller { throw new Exception('You do not have the required privileges for this task.'); } - $this->load->model('admins_model'); - $key = $this->db->escape_str($this->input->post('key')); $where = @@ -1190,7 +1149,6 @@ class Backend_api extends EA_Controller { { try { - $this->load->model('admins_model'); $admin = json_decode($this->input->post('admin'), TRUE); $required_privileges = ( ! isset($admin['id'])) @@ -1235,8 +1193,6 @@ class Backend_api extends EA_Controller { throw new Exception('You do not have the required privileges for this task.'); } - $this->load->model('admins_model'); - $result = $this->admins_model->delete($this->input->post('admin_id')); $response = $result ? AJAX_SUCCESS : AJAX_FAILURE; @@ -1268,8 +1224,6 @@ class Backend_api extends EA_Controller { throw new Exception('You do not have the required privileges for this task.'); } - $this->load->model('providers_model'); - $key = $this->db->escape_str($this->input->post('key')); $where = @@ -1303,7 +1257,6 @@ class Backend_api extends EA_Controller { { try { - $this->load->model('providers_model'); $provider = json_decode($this->input->post('provider'), TRUE); $required_privileges = ( ! isset($provider['id'])) @@ -1316,7 +1269,6 @@ class Backend_api extends EA_Controller { if ( ! isset($provider['settings']['working_plan'])) { - $this->load->model('settings_model'); $provider['settings']['working_plan'] = $this->settings_model ->get_setting('company_working_plan'); } @@ -1355,8 +1307,6 @@ class Backend_api extends EA_Controller { throw new Exception('You do not have the required privileges for this task.'); } - $this->load->model('providers_model'); - $result = $this->providers_model->delete($this->input->post('provider_id')); $response =$result ? AJAX_SUCCESS : AJAX_FAILURE; @@ -1388,8 +1338,6 @@ class Backend_api extends EA_Controller { throw new Exception('You do not have the required privileges for this task.'); } - $this->load->model('secretaries_model'); - $key = $this->db->escape_str($this->input->post('key')); $where = @@ -1423,7 +1371,6 @@ class Backend_api extends EA_Controller { { try { - $this->load->model('secretaries_model'); $secretary = json_decode($this->input->post('secretary'), TRUE); $required_privileges = ( ! isset($secretary['id'])) @@ -1468,8 +1415,6 @@ class Backend_api extends EA_Controller { throw new Exception('You do not have the required privileges for this task.'); } - $this->load->model('secretaries_model'); - $result = $this->secretaries_model->delete($this->input->post('secretary_id')); $response =$result ? AJAX_SUCCESS : AJAX_FAILURE; @@ -1503,8 +1448,6 @@ class Backend_api extends EA_Controller { throw new Exception('You do not have the required privileges for this task.'); } - $this->load->model('settings_model'); - $settings = json_decode($this->input->post('settings', FALSE), TRUE); $this->settings_model->save_settings($settings); @@ -1518,8 +1461,6 @@ class Backend_api extends EA_Controller { throw new Exception('You do not have the required privileges for this task.'); } - $this->load->model('user_model'); - $settings = json_decode($this->input->post('settings'), TRUE); $this->user_model->save_user($settings); @@ -1558,9 +1499,6 @@ class Backend_api extends EA_Controller { { // We will only use the function in the admins_model because it is sufficient for the rest user types for // now (providers, secretaries). - - $this->load->model('admins_model'); - $is_valid = $this->admins_model->validate_username($this->input->post('username'), $this->input->post('user_id')); @@ -1637,9 +1575,6 @@ class Backend_api extends EA_Controller { { try { - $this->load->library('google_sync'); - $this->load->model('providers_model'); - if ( ! $this->input->post('provider_id')) { throw new Exception('Provider id is required in order to fetch the google calendars.'); @@ -1693,8 +1628,6 @@ class Backend_api extends EA_Controller { throw new Exception('You do not have the required privileges for this task.'); } - $this->load->model('providers_model'); - $result = $this->providers_model->set_setting('google_calendar', $this->input->post('calendar_id'), $this->input->post('provider_id')); @@ -1729,8 +1662,6 @@ class Backend_api extends EA_Controller { $working_plan = $this->input->post('working_plan'); - $this->load->model('providers_model'); - $providers = $this->providers_model->get_batch(); foreach ($providers as $provider) diff --git a/application/controllers/Consents.php b/application/controllers/Consents.php index 7a13215b..4ffbb985 100644 --- a/application/controllers/Consents.php +++ b/application/controllers/Consents.php @@ -19,6 +19,15 @@ * @package Controllers */ class Consents extends EA_Controller { + /** + * Consents constructor. + */ + public function __construct() + { + parent::__construct(); + $this->load->model('consents_model'); + } + /** * Save the user's consent. */ @@ -26,8 +35,6 @@ class Consents extends EA_Controller { { try { - $this->load->model('consents_model'); - $consent = $this->input->post('consent'); $consent['ip'] = $this->input->ip_address(); diff --git a/application/controllers/Console.php b/application/controllers/Console.php index dfae98f2..40818b8f 100644 --- a/application/controllers/Console.php +++ b/application/controllers/Console.php @@ -31,8 +31,8 @@ class Console extends EA_Controller { parent::__construct(); - $this->load->helper('file'); $this->load->dbutil(); + $this->load->helper('file'); $this->load->library('migration'); $this->load->model('admins_model'); $this->load->model('customers_model'); diff --git a/application/controllers/Errors.php b/application/controllers/Errors.php index 08535e93..afbbf17e 100644 --- a/application/controllers/Errors.php +++ b/application/controllers/Errors.php @@ -17,6 +17,13 @@ * @package Controllers */ class Errors extends EA_Controller { + public function __construct() + { + parent::__construct(); + $this->load->helper('google_analytics'); + $this->load->model('settings_model'); + } + /** * Display the 404 error page. */ @@ -30,9 +37,6 @@ class Errors extends EA_Controller { */ public function error404() { - $this->load->helper('google_analytics'); - $this->load->model('settings_model'); - $view['company_name'] = $this->settings_model->get_setting('company_name'); $this->load->view('general/error404', $view); diff --git a/application/controllers/Google.php b/application/controllers/Google.php index e7d6d2bd..9aab4c80 100644 --- a/application/controllers/Google.php +++ b/application/controllers/Google.php @@ -19,6 +19,16 @@ * @package Controllers */ class Google extends EA_Controller { + /** + * Google constructor. + */ + public function __construct() + { + parent::__construct(); + $this->load->library('google_sync'); + $this->load->model('providers_model'); + } + /** * Authorize Google Calendar API usage for a specific provider. * @@ -33,7 +43,6 @@ class Google extends EA_Controller { $this->session->set_userdata('oauth_provider_id', $provider_id); // Redirect browser to google user content page. - $this->load->library('google_sync'); header('Location: ' . $this->google_sync->get_auth_url()); } @@ -58,8 +67,6 @@ class Google extends EA_Controller { return; } - $this->load->library('Google_sync'); - $token = $this->google_sync->authenticate($code); if (empty($token)) @@ -73,7 +80,6 @@ class Google extends EA_Controller { if ($oauth_provider_id) { - $this->load->model('providers_model'); $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); diff --git a/application/controllers/Installation.php b/application/controllers/Installation.php index 8e61d69b..00a9b363 100644 --- a/application/controllers/Installation.php +++ b/application/controllers/Installation.php @@ -25,8 +25,13 @@ class Installation extends EA_Controller { public function __construct() { parent::__construct(); - + $this->load->model('admins_model'); + $this->load->model('settings_model'); + $this->load->model('services_model'); + $this->load->model('providers_model'); + $this->load->library('migration'); $this->load->helper('installation'); + $this->load->helper('string'); } /** @@ -57,13 +62,6 @@ class Installation extends EA_Controller { return; } - $this->load->model('admins_model'); - $this->load->model('settings_model'); - $this->load->model('services_model'); - $this->load->model('providers_model'); - $this->load->library('migration'); - $this->load->helper('string'); - $admin = $this->input->post('admin'); $company = $this->input->post('company'); diff --git a/application/controllers/Privacy.php b/application/controllers/Privacy.php index 08073a0d..f68183bc 100644 --- a/application/controllers/Privacy.php +++ b/application/controllers/Privacy.php @@ -17,6 +17,15 @@ * @package Controllers */ class Privacy extends EA_Controller { + /** + * Privacy constructor + */ + public function __construct() + { + $this->load->driver('cache', ['adapter' => 'file']); + $this->load->model('customers_model'); + } + /** * Remove all customer data (including appointments from the system). */ @@ -31,8 +40,6 @@ class Privacy extends EA_Controller { throw new InvalidArgumentException('Invalid customer token value provided.'); } - $this->load->driver('cache', ['adapter' => 'file']); - $customer_id = $this->cache->get('customer-token-' . $customer_token); if (empty($customer_id)) @@ -41,8 +48,6 @@ class Privacy extends EA_Controller { . 'and try again.'); } - $this->load->model('customers_model'); - $this->customers_model->delete($customer_id); $response = [ diff --git a/application/controllers/User.php b/application/controllers/User.php index d29d216d..3423de06 100644 --- a/application/controllers/User.php +++ b/application/controllers/User.php @@ -21,6 +21,16 @@ use EA\Engine\Types\NonEmptyText; * @package Controllers */ class User extends EA_Controller { + /** + * User constructor. + */ + public function __construct() + { + parent::__construct(); + $this->load->model('settings_model'); + $this->load->model('user_model'); + } + /** * Default Method * @@ -38,8 +48,6 @@ class User extends EA_Controller { */ public function login() { - $this->load->model('settings_model'); - $view['base_url'] = config('base_url'); $view['dest_url'] = $this->session->userdata('dest_url'); @@ -58,8 +66,6 @@ class User extends EA_Controller { */ public function logout() { - $this->load->model('settings_model'); - $this->session->unset_userdata('user_id'); $this->session->unset_userdata('user_email'); $this->session->unset_userdata('role_slug'); @@ -77,7 +83,6 @@ class User extends EA_Controller { */ public function forgot_password() { - $this->load->model('settings_model'); $view['base_url'] = config('base_url'); $view['company_name'] = $this->settings_model->get_setting('company_name'); $this->load->view('user/forgot_password', $view); @@ -89,7 +94,6 @@ class User extends EA_Controller { */ public function no_privileges() { - $this->load->model('settings_model'); $view['base_url'] = config('base_url'); $view['company_name'] = $this->settings_model->get_setting('company_name'); $this->load->view('user/no_privileges', $view); @@ -113,8 +117,6 @@ class User extends EA_Controller { throw new Exception('Invalid credentials given!'); } - $this->load->model('user_model'); - $user_data = $this->user_model->check_login($this->input->post('username'), $this->input->post('password')); if ($user_data) @@ -162,9 +164,6 @@ class User extends EA_Controller { . 'order to get a new password!'); } - $this->load->model('user_model'); - $this->load->model('settings_model'); - $new_password = $this->user_model->regenerate_password( $this->input->post('username'), $this->input->post('email')