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.").'