From 45ebcc2d97fd1c183680f845b579d4b0dc70ccc3 Mon Sep 17 00:00:00 2001 From: Peter Goodhall Date: Sat, 15 Oct 2022 14:29:14 +0100 Subject: [PATCH] [Widgets] QSO now requires /widget/qso/publicslug --- application/controllers/Widgets.php | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/application/controllers/Widgets.php b/application/controllers/Widgets.php index 6cd8e57c..96864075 100644 --- a/application/controllers/Widgets.php +++ b/application/controllers/Widgets.php @@ -15,11 +15,30 @@ class Widgets extends CI_Controller { // Can be used to embed last 11 QSOs in a iframe or javascript include. - public function qsos() { + public function qsos($logbook_slug) { $this->load->model('logbook_model'); - - $data['last_five_qsos'] = $this->logbook_model->get_last_qsos('11'); - - $this->load->view('widgets/qsos', $data); + + $this->load->model('logbooks_model'); + if($this->logbooks_model->public_slug_exists($logbook_slug)) { + // Load the public view + + $logbook_id = $this->logbooks_model->public_slug_exists_logbook_id($logbook_slug); + if($logbook_id != false) + { + // Get associated station locations for mysql queries + $logbooks_locations_array = $this->logbooks_model->list_logbook_relationships($logbook_id); + + if (!$logbooks_locations_array) { + show_404('Empty Logbook'); + } + } else { + log_message('error', $logbook_slug.' has no associated station locations'); + show_404('Unknown Public Page.'); + } + + $data['last_five_qsos'] = $this->logbook_model->get_last_qsos(15, $logbooks_locations_array); + + $this->load->view('widgets/qsos', $data); + } } } \ No newline at end of file