From 2be01abef42e7304daa09eb132cc674fe6253dcd Mon Sep 17 00:00:00 2001 From: Andreas Kristiansen <6977712+AndreasK79@users.noreply.github.com> Date: Fri, 12 Apr 2024 08:43:45 +0200 Subject: [PATCH 1/2] [Exportmap] Added options --- application/controllers/Stationsetup.php | 33 +++++++++ application/controllers/Visitor.php | 17 +++-- .../views/stationsetup/exportmapoptions.php | 31 ++++++++ .../views/stationsetup/stationsetup.php | 1 + .../views/visitor/exportmap/exportmap.php | 3 + .../views/visitor/exportmap/footer.php | 1 + assets/js/sections/exportmap.js | 71 ++++++++++--------- assets/js/sections/stationsetup.js | 70 ++++++++++++++++++ 8 files changed, 191 insertions(+), 36 deletions(-) create mode 100644 application/views/stationsetup/exportmapoptions.php diff --git a/application/controllers/Stationsetup.php b/application/controllers/Stationsetup.php index 4343dcf08..554dedbed 100644 --- a/application/controllers/Stationsetup.php +++ b/application/controllers/Stationsetup.php @@ -279,6 +279,7 @@ class Stationsetup extends CI_Controller { if($public_slug != '') { $htmret .= ''; $htmret .= ' '; + $htmret .= ' '; } return $htmret; } @@ -428,4 +429,36 @@ class Stationsetup extends CI_Controller { } echo json_encode($data); } + + public function editExportmapOptions() { + $this->load->model('stationsetup_model'); + $container = $this->stationsetup_model->getContainer(xss_clean($this->input->post('id', true)))->row(); + $slug = $container->public_slug; + $data['logbookid'] = xss_clean($this->input->post('id', true)); + + $exportmapoptions['gridsquare_layer'] = $this->user_options_model->get_options('ExportMapOptions',array('option_name'=>'gridsquare_layer','option_key'=>$slug))->row(); + $exportmapoptions['path_lines'] = $this->user_options_model->get_options('ExportMapOptions',array('option_name'=>'path_lines','option_key'=>$slug))->row(); + $exportmapoptions['cqzone_layer'] = $this->user_options_model->get_options('ExportMapOptions',array('option_name'=>'cqzone_layer','option_key'=>$slug))->row(); + $exportmapoptions['qsocount'] = $this->user_options_model->get_options('ExportMapOptions',array('option_name'=>'qsocount','option_key'=>$slug))->row(); + $exportmapoptions['nightshadow_layer'] = $this->user_options_model->get_options('ExportMapOptions',array('option_name'=>'nightshadow_layer','option_key'=>$slug))->row(); + + $data['exportmapoptions'] = $exportmapoptions; + + $data['page_title'] = "Edit Export Map options"; + $this->load->view('stationsetup/exportmapoptions', $data); + } + + public function saveExportmapOptions() { + $this->load->model('stationsetup_model'); + $container = $this->stationsetup_model->getContainer(xss_clean($this->input->post('id', true)))->row(); + $slug = $container->public_slug; + + $this->load->model('user_options_model'); + + $this->user_options_model->set_option('ExportMapOptions', 'gridsquare_layer', array($slug => xss_clean($this->input->post('gridsquare_layer')))); + $this->user_options_model->set_option('ExportMapOptions', 'path_lines', array($slug => xss_clean($this->input->post('path_lines')))); + $this->user_options_model->set_option('ExportMapOptions', 'cqzone_layer', array($slug => xss_clean($this->input->post('cqzone_layer')))); + $this->user_options_model->set_option('ExportMapOptions', 'nightshadow_layer', array($slug => xss_clean($this->input->post('nightshadow_layer')))); + $this->user_options_model->set_option('ExportMapOptions', 'qsocount', array($slug => xss_clean($this->input->post('qsocount')))); + } } diff --git a/application/controllers/Visitor.php b/application/controllers/Visitor.php index ad412cc15..c2fb75d31 100644 --- a/application/controllers/Visitor.php +++ b/application/controllers/Visitor.php @@ -420,6 +420,9 @@ class Visitor extends CI_Controller { } public function exportmap() { + $slug = $this->security->xss_clean($this->uri->segment(3)); + $data['slug'] = $slug; + $data['page_title'] = "Export Map"; $this->load->view('visitor/exportmap/header', $data); $this->load->view('visitor/exportmap/exportmap', $data); @@ -431,13 +434,13 @@ class Visitor extends CI_Controller { $this->load->library('qra'); - $slug = $this->security->xss_clean($this->input->get('slug')); - $qsocount = $this->security->xss_clean($this->input->get('qsocount')) == '' ? '100' : $this->security->xss_clean($this->input->get('qsocount')); - $band = $this->security->xss_clean($this->input->get('band')); + $slug = $this->security->xss_clean($this->input->post('slug')); + $qsocount = $this->security->xss_clean($this->input->post('qsocount')) == '' ? '100' : $this->security->xss_clean($this->input->post('qsocount')); + $band = $this->security->xss_clean($this->input->post('band')); $this->load->model('stationsetup_model'); $logbook_id = $this->stationsetup_model->public_slug_exists_logbook_id($slug); - if($logbook_id != false) + if ($logbook_id != false) { // Get associated station locations for mysql queries $logbooks_locations_array = $this->stationsetup_model->get_container_relations($logbook_id); @@ -522,6 +525,12 @@ class Visitor extends CI_Controller { if ($options->option_name=='icon') $jsonout[$options->option_key]=json_decode($options->option_value,true); else $jsonout[$options->option_name.'_'.$options->option_key]=$options->option_value; } + $jsonout['gridsquare_layer'] = $this->user_options_model->get_options('ExportMapOptions',array('option_name'=>'gridsquare_layer','option_key'=>$slug), $userid)->row()->option_value ?? true; + $jsonout['path_lines'] = $this->user_options_model->get_options('ExportMapOptions',array('option_name'=>'path_lines','option_key'=>$slug), $userid)->row()->option_value ?? true; + $jsonout['cqzone_layer'] = $this->user_options_model->get_options('ExportMapOptions',array('option_name'=>'cqzone_layer','option_key'=>$slug), $userid)->row()->option_value ?? true; + $jsonout['qsocount'] = $this->user_options_model->get_options('ExportMapOptions',array('option_name'=>'qsocount','option_key'=>$slug), $userid)->row()->option_value ?? 250; + $jsonout['nightshadow_layer'] = $this->user_options_model->get_options('ExportMapOptions',array('option_name'=>'nightshadow_layer','option_key'=>$slug), $userid)->row()->option_value ?? true; + header('Content-Type: application/json'); echo json_encode($jsonout); } diff --git a/application/views/stationsetup/exportmapoptions.php b/application/views/stationsetup/exportmapoptions.php new file mode 100644 index 000000000..efce5c604 --- /dev/null +++ b/application/views/stationsetup/exportmapoptions.php @@ -0,0 +1,31 @@ + +
| Options | ++ |
|---|---|
| CQ Zone overlay | +option_value ?? "true") == "true") { echo 'checked'; } ?>> |
+
| Gridsquare overlay | +option_value ?? "true") == "true") { echo 'checked'; } ?>> |
+
| Night shadow overlay | +option_value ?? "true") == "true") { echo 'checked'; } ?>> |
+
| Path lines | +option_value ?? "true") == "true") { echo 'checked'; } ?>> |
+
| # QSOs shown | ++ |