From a7654f76cf637d607ade2f08acdf4e9a62b67e20 Mon Sep 17 00:00:00 2001 From: phl0 Date: Wed, 4 Sep 2024 09:49:36 +0200 Subject: [PATCH] Make controllers assign variables and remove CI calls from views --- application/controllers/Oqrs.php | 10 ++++-- application/controllers/Visitor.php | 40 +++++++++------------ application/models/Oqrs_model.php | 15 ++++++++ application/models/Publicsearch.php | 16 +++++---- application/views/visitor/layout/footer.php | 2 +- application/views/visitor/layout/header.php | 6 ++-- 6 files changed, 53 insertions(+), 36 deletions(-) diff --git a/application/controllers/Oqrs.php b/application/controllers/Oqrs.php index 8a8b177a6..cf477211d 100644 --- a/application/controllers/Oqrs.php +++ b/application/controllers/Oqrs.php @@ -17,8 +17,13 @@ class Oqrs extends CI_Controller { public function index($public_slug = NULL) { $this->load->model('oqrs_model'); + $this->load->model('publicsearch'); - $data['slug'] = $this->security->xss_clean($public_slug); + $slug = $this->security->xss_clean($public_slug); + $data['slug'] = $slug; + $data['oqrs_enabled'] = $this->oqrs_model->oqrs_enabled($slug); + $data['public_search_enabled'] = $this->publicsearch->public_search_enabled($slug); + $data['disable_oqrs'] = $this->config->item('disable_oqrs'); $data['stations'] = $this->oqrs_model->get_oqrs_stations(); $data['page_title'] = __("Log Search & OQRS"); $data['global_oqrs_text'] = $this->optionslib->get_option('global_oqrs_text'); @@ -26,7 +31,7 @@ class Oqrs extends CI_Controller { $this->load->view('visitor/layout/header', $data); $this->load->view('oqrs/index'); - $this->load->view('interface_assets/footer'); + $this->load->view('interface_assets/footer', $data); } public function get_station_info() { @@ -236,4 +241,5 @@ class Oqrs extends CI_Controller { header("Content-Type: application/json"); print json_encode($qsos); } + } diff --git a/application/controllers/Visitor.php b/application/controllers/Visitor.php index 5706e9920..6e7a00fce 100644 --- a/application/controllers/Visitor.php +++ b/application/controllers/Visitor.php @@ -59,6 +59,8 @@ class Visitor extends CI_Controller { $this->load->model('cat'); $this->load->model('logbook_model'); $this->load->model('logbooks_model'); + $this->load->model('oqrs_model'); + $this->load->model('publicsearch'); if($this->logbooks_model->public_slug_exists($public_slug)) { @@ -132,6 +134,10 @@ class Visitor extends CI_Controller { $data['page_title'] = __("Dashboard"); $data['slug'] = $public_slug; + $data['oqrs_enabled'] = $this->oqrs_model->oqrs_enabled($public_slug); + $data['public_search_enabled'] = $this->publicsearch->public_search_enabled($public_slug); + $data['disable_oqrs'] = $this->config->item('disable_oqrs'); + $this->load->view('visitor/layout/header', $data); $this->load->view('visitor/index'); $this->load->view('visitor/layout/footer'); @@ -180,8 +186,13 @@ class Visitor extends CI_Controller { public function satellites() { + $this->load->model('publicsearch'); + $this->load->model('oqrs_model'); $slug = $this->security->xss_clean($this->uri->segment(3)); $data['slug'] = $slug; + $data['public_search_enabled'] = $this->publicsearch->public_search_enabled($slug); + $data['oqrs_enabled'] = $this->oqrs_model->oqrs_enabled($slug); + $data['disable_oqrs'] = $this->config->item('disable_oqrs'); $this->load->model('logbooks_model'); if($this->logbooks_model->public_slug_exists($slug)) { // Load the public view @@ -383,31 +394,14 @@ class Visitor extends CI_Controller { $this->load->view('visitor/layout/footer'); } - public function oqrs_enabled($slug) { - $this->load->model('oqrs_model'); - $this->load->model('Logbooks_model'); - $logbook_id = $this->Logbooks_model->public_slug_exists_logbook_id($slug); - if (!empty($this->oqrs_model->getOqrsStationsFromSlug($logbook_id))) { - return true; - } else { - return false; - } - } - - public function public_search_enabled($slug) { - $this->load->model('Logbooks_model'); - $logbook_id = $this->Logbooks_model->public_slug_exists_logbook_id($slug); - if ($this->Logbooks_model->public_search_enabled($logbook_id) == 1) { - return true; - } else { - return false; - } - } - public function search() { + $this->load->model('publicsearch'); + $this->load->model('oqrs_model'); $callsign = trim($this->security->xss_clean($this->input->post('callsign'))); $public_slug = $this->security->xss_clean($this->input->post('public_slug')); - $this->load->model('publicsearch'); + $data['public_search_enabled'] = $this->publicsearch->public_search_enabled($public_slug); + $data['oqrs_enabled'] = $this->oqrs_model->oqrs_enabled($public_slug); + $data['disable_oqrs'] = $this->config->item('disable_oqrs'); $data['page_title'] = __("Public Search"); $data['callsign'] = $callsign; $data['slug'] = $public_slug; @@ -570,4 +564,4 @@ class Visitor extends CI_Controller { return ''; } } -} \ No newline at end of file +} diff --git a/application/models/Oqrs_model.php b/application/models/Oqrs_model.php index ccc12ef9e..9ecd6c879 100644 --- a/application/models/Oqrs_model.php +++ b/application/models/Oqrs_model.php @@ -386,4 +386,19 @@ class Oqrs_model extends CI_Model { return false; } } + + public function oqrs_enabled($slug) { + if ($slug) { + $this->load->model('Logbooks_model'); + $logbook_id = $this->Logbooks_model->public_slug_exists_logbook_id($slug); + if (!empty($this->getOqrsStationsFromSlug($logbook_id))) { + return true; + } else { + return false; + } + } else { + return false; + } + } + } diff --git a/application/models/Publicsearch.php b/application/models/Publicsearch.php index 304f3d11a..80a7d453b 100644 --- a/application/models/Publicsearch.php +++ b/application/models/Publicsearch.php @@ -24,13 +24,17 @@ class Publicsearch extends CI_Model { } function public_search_enabled($slug) { - $this->db->select('public_search'); - $this->db->where('public_slug', $slug); - $query = $this->db->get('station_logbooks'); - if ($query->result_array()[0]['public_search'] == 1) { - return true; + if ($slug) { + $this->db->select('public_search'); + $this->db->where('public_slug', $slug); + $query = $this->db->get('station_logbooks'); + if ($query->result_array()[0]['public_search'] == 1) { + return true; + } + return false; + } else { + return false; } - return false; } } diff --git a/application/views/visitor/layout/footer.php b/application/views/visitor/layout/footer.php index badbb5e4d..764dfc49d 100644 --- a/application/views/visitor/layout/footer.php +++ b/application/views/visitor/layout/footer.php @@ -195,7 +195,7 @@ if ($lang_code != 'en' && !file_exists(FCPATH . "assets/json/datatables_language - CI->public_search_enabled($slug) || $this->session->userdata('user_type') >= 2) { ?> + session->userdata('user_type') >= 2) { ?> diff --git a/application/views/visitor/layout/header.php b/application/views/visitor/layout/header.php index dd2bb186f..3dcbc5cd2 100644 --- a/application/views/visitor/layout/header.php +++ b/application/views/visitor/layout/header.php @@ -68,8 +68,7 @@ CI =& get_instance(); - if ($this->CI->oqrs_enabled($slug) && !$this->CI->config->item('disable_oqrs')) { + if ($oqrs_enabled && !$disable_oqrs) { ?>