diff --git a/application/controllers/Oqrs.php b/application/controllers/Oqrs.php index 5c358cf51..52ba6d31a 100644 --- a/application/controllers/Oqrs.php +++ b/application/controllers/Oqrs.php @@ -53,8 +53,20 @@ class Oqrs extends CI_Controller { $this->load->model('oqrs_model'); $data['result'] = $this->oqrs_model->getQueryDataGrouped($this->input->post('callsign')); $data['callsign'] = $this->security->xss_clean($this->input->post('callsign')); + + if($this->input->post('widget') != 'true') { + $this->load->view('oqrs/request_grouped', $data); + } else { + $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'); + $data['groupedSearch'] = 'on'; + $data['widget_call'] = true; - $this->load->view('oqrs/request_grouped', $data); + $this->load->view('visitor/layout/header', $data); + $this->load->view('oqrs/index'); + $this->load->view('interface_assets/footer'); + } } public function not_in_log() { diff --git a/application/controllers/Widgets.php b/application/controllers/Widgets.php index 19bc4e2cb..c8ec87163 100644 --- a/application/controllers/Widgets.php +++ b/application/controllers/Widgets.php @@ -18,7 +18,7 @@ class Widgets extends CI_Controller { public function qsos($logbook_slug = null) { if($logbook_slug == null) { - show_error('Unknown Public Page, please make sure the public slug is correct.'); + show_error(__("Unknown Public Page, please make sure the public slug is correct.")); } $this->load->model('logbook_model'); @@ -33,11 +33,11 @@ class Widgets extends CI_Controller { $logbooks_locations_array = $this->logbooks_model->list_logbook_relationships($logbook_id); if (!$logbooks_locations_array) { - show_404('Empty Logbook'); + show_404(__("Empty Logbook")); } } else { log_message('error', $logbook_slug.' has no associated station locations'); - show_404('Unknown Public Page.'); + show_404(__("Unknown Public Page.")); } $data['last_five_qsos'] = $this->logbook_model->get_last_qsos(15, $logbooks_locations_array); @@ -45,4 +45,39 @@ class Widgets extends CI_Controller { $this->load->view('widgets/qsos', $data); } } + + public function oqrs($logbook_slug = null) { + if ($logbook_slug == null || !$this->logbooks_model->public_slug_exists($logbook_slug)) { + show_404(__("Unknown Public Page, please make sure the public slug is correct.")); + return; + } + + $logbook_id = $this->logbooks_model->public_slug_exists_logbook_id($logbook_slug); + if ($logbook_id == false) { + show_404(__("Unknown Public Page, please make sure the public slug is correct.")); + return; + } + $this->load->model('user_model'); + $this->load->model('stationsetup_model'); + $user_callsign = $this->user_model->get_by_id($this->stationsetup_model->public_slug_exists_userid($logbook_slug))->row()->user_callsign; + if ($user_callsign == false) { + log_message('error', 'No user_id or user_callsign for public slug: '. $logbook_slug); + show_404(__("Can't find any users for this public slug.")); + return; + } + + $this->load->model('oqrs_model'); + $stations = $this->oqrs_model->get_oqrs_stations(); + + if ($stations->result() === NULL) { + show_404(__("No stations found that are using Wavelog OQRS.")); + return; + } + + $data['slug'] = $logbook_slug; + $data['user_callsign'] = $user_callsign; + $data['groupedSearch'] = $this->optionslib->get_option('groupedSearch'); + + $this->load->view('oqrs/oqrs_widget', $data); + } } \ No newline at end of file diff --git a/application/views/oqrs/index.php b/application/views/oqrs/index.php index a872a5cc2..d07d23599 100644 --- a/application/views/oqrs/index.php +++ b/application/views/oqrs/index.php @@ -17,9 +17,14 @@ echo $global_oqrs_text; echo '

'; } + if ($widget_call == true) { + $callsign_value = 'value="'.$callsign.'"'; + } else { + $callsign_value = ''; + } if ($groupedSearch == 'on') { echo __("This search will search in all station locations where OQRS is active.").'

- +
'; echo '
'; diff --git a/application/views/oqrs/oqrs_widget.php b/application/views/oqrs/oqrs_widget.php new file mode 100644 index 000000000..2d4ee76e1 --- /dev/null +++ b/application/views/oqrs/oqrs_widget.php @@ -0,0 +1,110 @@ + + + + + + + + + + + + + + + <?= __("Wavelog OQRS"); ?> + + + + +
+
+ +
+
+
+

+
+
+

+
+
+
+ +
+
+ +
+
+ + +
+
+
+
+
+
+ + + \ No newline at end of file diff --git a/assets/js/sections/oqrs.js b/assets/js/sections/oqrs.js index 8259d9670..e061bdad7 100644 --- a/assets/js/sections/oqrs.js +++ b/assets/js/sections/oqrs.js @@ -592,6 +592,10 @@ $(document).ready(function () { }); }); + if($('#oqrssearch').val() != '') { + searchOqrsGrouped(); + } + }); function selectQsoID(qsoID) {