From 03c92a9683df068ecfff0a4f317996468e4a7e7a Mon Sep 17 00:00:00 2001 From: int2001 Date: Mon, 4 Dec 2023 13:21:59 +0000 Subject: [PATCH 1/4] Added Operator to Table/Quicksearch/Search --- application/controllers/Logbookadvanced.php | 6 ++++++ application/language/bulgarian/filter_lang.php | 1 + .../language/chinese_simplified/filter_lang.php | 1 + application/language/czech/filter_lang.php | 1 + application/language/dutch/filter_lang.php | 1 + application/language/english/filter_lang.php | 1 + application/language/finnish/filter_lang.php | 1 + application/language/french/filter_lang.php | 1 + application/language/german/filter_lang.php | 1 + application/language/greek/filter_lang.php | 1 + application/language/italian/filter_lang.php | 1 + application/language/polish/filter_lang.php | 1 + application/language/spanish/filter_lang.php | 1 + application/language/swedish/filter_lang.php | 1 + application/language/turkish/filter_lang.php | 1 + application/models/Logbookadvanced_model.php | 5 +++++ application/views/logbookadvanced/index.php | 12 +++++++++++- application/views/logbookadvanced/useroptions.php | 4 ++++ 18 files changed, 40 insertions(+), 1 deletion(-) diff --git a/application/controllers/Logbookadvanced.php b/application/controllers/Logbookadvanced.php index ba7df5c1..17860683 100644 --- a/application/controllers/Logbookadvanced.php +++ b/application/controllers/Logbookadvanced.php @@ -124,6 +124,7 @@ class Logbookadvanced extends CI_Controller { 'wwff' => xss_clean($this->input->post('wwff')), 'qslimages' => xss_clean($this->input->post('qslimages')), 'dupes' => xss_clean($this->input->post('dupes')), + 'operator' => xss_clean($this->input->post('operator')), ); $qsos = []; @@ -286,6 +287,7 @@ class Logbookadvanced extends CI_Controller { 'pota' => '', 'wwff' => '', 'qslimages' => '', + 'operator' => '', 'ids' => xss_clean($this->input->post('ids')) ); @@ -324,6 +326,7 @@ class Logbookadvanced extends CI_Controller { 'sota' => xss_clean($this->input->post('sota')), 'pota' => xss_clean($this->input->post('pota')), 'wwff' => xss_clean($this->input->post('wwff')), + 'operator' => xss_clean($this->input->post('operator')), 'qslimages' => xss_clean($this->input->post('qslimages')), ); @@ -460,8 +463,11 @@ class Logbookadvanced extends CI_Controller { $json_string['state']['show'] = $this->input->post('state'); $json_string['cqzone']['show'] = $this->input->post('cqzone'); $json_string['iota']['show'] = $this->input->post('iota'); + $json_string['pota']['show'] = $this->input->post('pota'); + $json_string['operator']['show'] = $this->input->post('operator'); $obj['column_settings']= json_encode($json_string); + log_message("Error",json_encode($json_string)); $this->load->model('user_options_model'); $this->user_options_model->set_option('LogbookAdvanced', 'LogbookAdvanced', $obj); diff --git a/application/language/bulgarian/filter_lang.php b/application/language/bulgarian/filter_lang.php index 0a7c7df3..38b597a6 100644 --- a/application/language/bulgarian/filter_lang.php +++ b/application/language/bulgarian/filter_lang.php @@ -156,4 +156,5 @@ $lang['filter_options_show'] = 'Show'; // $lang['gen_hamradio_wwff'] --> application/language/english/general_words_lang.php // $lang['gen_hamradio_pota'] --> application/language/english/general_words_lang.php // $lang['options_save'] --> application/language/english/options_lang.php +$lang['filter_search_operator']='Search Operator'; $lang['filter_options_close'] = 'Close'; \ No newline at end of file diff --git a/application/language/chinese_simplified/filter_lang.php b/application/language/chinese_simplified/filter_lang.php index f0d35a07..23a8a272 100644 --- a/application/language/chinese_simplified/filter_lang.php +++ b/application/language/chinese_simplified/filter_lang.php @@ -156,4 +156,5 @@ $lang['filter_options_show'] = '显示'; // $lang['gen_hamradio_wwff'] --> application/language/english/general_words_lang.php // $lang['gen_hamradio_pota'] --> application/language/english/general_words_lang.php // $lang['options_save'] --> application/language/english/options_lang.php +$lang['filter_search_operator']='Search Operator'; $lang['filter_options_close'] = '关闭'; \ No newline at end of file diff --git a/application/language/czech/filter_lang.php b/application/language/czech/filter_lang.php index 0a7c7df3..38b597a6 100644 --- a/application/language/czech/filter_lang.php +++ b/application/language/czech/filter_lang.php @@ -156,4 +156,5 @@ $lang['filter_options_show'] = 'Show'; // $lang['gen_hamradio_wwff'] --> application/language/english/general_words_lang.php // $lang['gen_hamradio_pota'] --> application/language/english/general_words_lang.php // $lang['options_save'] --> application/language/english/options_lang.php +$lang['filter_search_operator']='Search Operator'; $lang['filter_options_close'] = 'Close'; \ No newline at end of file diff --git a/application/language/dutch/filter_lang.php b/application/language/dutch/filter_lang.php index 0a7c7df3..38b597a6 100644 --- a/application/language/dutch/filter_lang.php +++ b/application/language/dutch/filter_lang.php @@ -156,4 +156,5 @@ $lang['filter_options_show'] = 'Show'; // $lang['gen_hamradio_wwff'] --> application/language/english/general_words_lang.php // $lang['gen_hamradio_pota'] --> application/language/english/general_words_lang.php // $lang['options_save'] --> application/language/english/options_lang.php +$lang['filter_search_operator']='Search Operator'; $lang['filter_options_close'] = 'Close'; \ No newline at end of file diff --git a/application/language/english/filter_lang.php b/application/language/english/filter_lang.php index 4ddad7a0..c4108eac 100644 --- a/application/language/english/filter_lang.php +++ b/application/language/english/filter_lang.php @@ -156,4 +156,5 @@ $lang['filter_options_show'] = 'Show'; // $lang['gen_hamradio_wwff'] --> application/language/english/general_words_lang.php // $lang['gen_hamradio_pota'] --> application/language/english/general_words_lang.php // $lang['options_save'] --> application/language/english/options_lang.php +$lang['filter_search_operator']='Search Operator'; $lang['filter_options_close'] = 'Close'; diff --git a/application/language/finnish/filter_lang.php b/application/language/finnish/filter_lang.php index 0a7c7df3..38b597a6 100644 --- a/application/language/finnish/filter_lang.php +++ b/application/language/finnish/filter_lang.php @@ -156,4 +156,5 @@ $lang['filter_options_show'] = 'Show'; // $lang['gen_hamradio_wwff'] --> application/language/english/general_words_lang.php // $lang['gen_hamradio_pota'] --> application/language/english/general_words_lang.php // $lang['options_save'] --> application/language/english/options_lang.php +$lang['filter_search_operator']='Search Operator'; $lang['filter_options_close'] = 'Close'; \ No newline at end of file diff --git a/application/language/french/filter_lang.php b/application/language/french/filter_lang.php index f2ead602..3c07d13c 100644 --- a/application/language/french/filter_lang.php +++ b/application/language/french/filter_lang.php @@ -156,4 +156,5 @@ $lang['filter_options_show'] = "Afficher"; // $lang['gen_hamradio_wwff'] --> application/language/english/general_words_lang.php // $lang['gen_hamradio_pota'] --> application/language/english/general_words_lang.php // $lang['options_save'] --> application/language/english/options_lang.php +$lang['filter_search_operator']='Search Operator'; $lang['filter_options_close'] = "Fermer"; \ No newline at end of file diff --git a/application/language/german/filter_lang.php b/application/language/german/filter_lang.php index 144b4a56..aa91de90 100644 --- a/application/language/german/filter_lang.php +++ b/application/language/german/filter_lang.php @@ -156,4 +156,5 @@ $lang['filter_options_show'] = 'Anzeigen'; // $lang['gen_hamradio_wwff'] --> application/language/english/general_words_lang.php // $lang['gen_hamradio_pota'] --> application/language/english/general_words_lang.php // $lang['options_save'] --> application/language/english/options_lang.php +$lang['filter_search_operator']='Search Operator'; $lang['filter_options_close'] = 'Schliessen'; diff --git a/application/language/greek/filter_lang.php b/application/language/greek/filter_lang.php index 0a7c7df3..38b597a6 100644 --- a/application/language/greek/filter_lang.php +++ b/application/language/greek/filter_lang.php @@ -156,4 +156,5 @@ $lang['filter_options_show'] = 'Show'; // $lang['gen_hamradio_wwff'] --> application/language/english/general_words_lang.php // $lang['gen_hamradio_pota'] --> application/language/english/general_words_lang.php // $lang['options_save'] --> application/language/english/options_lang.php +$lang['filter_search_operator']='Search Operator'; $lang['filter_options_close'] = 'Close'; \ No newline at end of file diff --git a/application/language/italian/filter_lang.php b/application/language/italian/filter_lang.php index 0a7c7df3..38b597a6 100644 --- a/application/language/italian/filter_lang.php +++ b/application/language/italian/filter_lang.php @@ -156,4 +156,5 @@ $lang['filter_options_show'] = 'Show'; // $lang['gen_hamradio_wwff'] --> application/language/english/general_words_lang.php // $lang['gen_hamradio_pota'] --> application/language/english/general_words_lang.php // $lang['options_save'] --> application/language/english/options_lang.php +$lang['filter_search_operator']='Search Operator'; $lang['filter_options_close'] = 'Close'; \ No newline at end of file diff --git a/application/language/polish/filter_lang.php b/application/language/polish/filter_lang.php index 0a7c7df3..38b597a6 100644 --- a/application/language/polish/filter_lang.php +++ b/application/language/polish/filter_lang.php @@ -156,4 +156,5 @@ $lang['filter_options_show'] = 'Show'; // $lang['gen_hamradio_wwff'] --> application/language/english/general_words_lang.php // $lang['gen_hamradio_pota'] --> application/language/english/general_words_lang.php // $lang['options_save'] --> application/language/english/options_lang.php +$lang['filter_search_operator']='Search Operator'; $lang['filter_options_close'] = 'Close'; \ No newline at end of file diff --git a/application/language/spanish/filter_lang.php b/application/language/spanish/filter_lang.php index 0a7c7df3..38b597a6 100644 --- a/application/language/spanish/filter_lang.php +++ b/application/language/spanish/filter_lang.php @@ -156,4 +156,5 @@ $lang['filter_options_show'] = 'Show'; // $lang['gen_hamradio_wwff'] --> application/language/english/general_words_lang.php // $lang['gen_hamradio_pota'] --> application/language/english/general_words_lang.php // $lang['options_save'] --> application/language/english/options_lang.php +$lang['filter_search_operator']='Search Operator'; $lang['filter_options_close'] = 'Close'; \ No newline at end of file diff --git a/application/language/swedish/filter_lang.php b/application/language/swedish/filter_lang.php index 0a7c7df3..38b597a6 100644 --- a/application/language/swedish/filter_lang.php +++ b/application/language/swedish/filter_lang.php @@ -156,4 +156,5 @@ $lang['filter_options_show'] = 'Show'; // $lang['gen_hamradio_wwff'] --> application/language/english/general_words_lang.php // $lang['gen_hamradio_pota'] --> application/language/english/general_words_lang.php // $lang['options_save'] --> application/language/english/options_lang.php +$lang['filter_search_operator']='Search Operator'; $lang['filter_options_close'] = 'Close'; \ No newline at end of file diff --git a/application/language/turkish/filter_lang.php b/application/language/turkish/filter_lang.php index 0a7c7df3..38b597a6 100644 --- a/application/language/turkish/filter_lang.php +++ b/application/language/turkish/filter_lang.php @@ -156,4 +156,5 @@ $lang['filter_options_show'] = 'Show'; // $lang['gen_hamradio_wwff'] --> application/language/english/general_words_lang.php // $lang['gen_hamradio_pota'] --> application/language/english/general_words_lang.php // $lang['options_save'] --> application/language/english/options_lang.php +$lang['filter_search_operator']='Search Operator'; $lang['filter_options_close'] = 'Close'; \ No newline at end of file diff --git a/application/models/Logbookadvanced_model.php b/application/models/Logbookadvanced_model.php index ff98b865..bb2f5b70 100644 --- a/application/models/Logbookadvanced_model.php +++ b/application/models/Logbookadvanced_model.php @@ -168,6 +168,11 @@ class Logbookadvanced_model extends CI_Model { $binding[] = $searchCriteria['wwff'].'%'; } + if ($searchCriteria['operator'] !== '') { + $conditions[] = "COL_OPERATOR like ?"; + $binding[] = $searchCriteria['operator'].'%'; + } + if ($searchCriteria['gridsquare'] !== '') { $conditions[] = "(COL_GRIDSQUARE like ? or COL_VUCC_GRIDS like ?)"; $binding[] = '%' . $searchCriteria['gridsquare'] . '%'; diff --git a/application/views/logbookadvanced/index.php b/application/views/logbookadvanced/index.php index 5bd0ce84..6531177e 100644 --- a/application/views/logbookadvanced/index.php +++ b/application/views/logbookadvanced/index.php @@ -7,7 +7,7 @@ var custom_date_format = ""; @@ -200,6 +200,10 @@ $options = json_decode($options); +
+ + +
@@ -366,6 +370,9 @@ $options = json_decode($options); refs->show ?? "true") == "true") { ?> + operator->show ?? "true") == "true") { ?> +
@@ -457,6 +464,9 @@ $options = json_decode($options); iota->show ?? "true") == "true") { echo '' . lang('gen_hamradio_iota') . ''; } ?> + operator->show ?? "true") == "true") { + echo '' . lang('gen_hamradio_operator') . ''; + } ?> diff --git a/application/views/logbookadvanced/useroptions.php b/application/views/logbookadvanced/useroptions.php index e6241c35..ca4efe73 100644 --- a/application/views/logbookadvanced/useroptions.php +++ b/application/views/logbookadvanced/useroptions.php @@ -90,5 +90,9 @@
pota->show ?? "true") == "true") { echo 'checked'; } ?>>
+ + +
operator->show ?? "true") == "true") { echo 'checked'; } ?>>
+ From 6ad92cea08ce300d7ac9e260c2e1ca6d7778bff3 Mon Sep 17 00:00:00 2001 From: int2001 Date: Mon, 4 Dec 2023 13:30:45 +0000 Subject: [PATCH 2/4] Removed Errormsg and added changes at QSO.php --- application/controllers/Logbookadvanced.php | 1 - 1 file changed, 1 deletion(-) diff --git a/application/controllers/Logbookadvanced.php b/application/controllers/Logbookadvanced.php index 17860683..19c60a60 100644 --- a/application/controllers/Logbookadvanced.php +++ b/application/controllers/Logbookadvanced.php @@ -467,7 +467,6 @@ class Logbookadvanced extends CI_Controller { $json_string['operator']['show'] = $this->input->post('operator'); $obj['column_settings']= json_encode($json_string); - log_message("Error",json_encode($json_string)); $this->load->model('user_options_model'); $this->user_options_model->set_option('LogbookAdvanced', 'LogbookAdvanced', $obj); From 7d0ee70f58d933bd490428b5b73cec33ec54d9c4 Mon Sep 17 00:00:00 2001 From: int2001 Date: Mon, 4 Dec 2023 13:32:32 +0000 Subject: [PATCH 3/4] Missing Files added --- assets/js/sections/logbookadvanced.js | 21 +++++++++++++++++++++ src/QSLManager/QSO.php | 10 ++++++++++ 2 files changed, 31 insertions(+) diff --git a/assets/js/sections/logbookadvanced.js b/assets/js/sections/logbookadvanced.js index 82ba3d12..ef63ea54 100644 --- a/assets/js/sections/logbookadvanced.js +++ b/assets/js/sections/logbookadvanced.js @@ -81,6 +81,12 @@ function updateRow(qso) { if (user_options.iota.show == "true"){ cells.eq(c++).html(qso.iota); } + if (user_options.pota.show == "true"){ + cells.eq(c++).html(qso.pota); + } + if (user_options.operator.show == "true"){ + cells.eq(c++).html(qso.operator); + } $('[data-bs-toggle="tooltip"]').tooltip(); return row; @@ -174,6 +180,12 @@ function loadQSOTable(rows) { if (user_options.iota.show == "true"){ data.push(qso.iota); } + if (user_options.pota.show == "true"){ + data.push(qso.pota); + } + if (user_options.operator.show == "true"){ + data.push(qso.operator); + } let createdRow = table.row.add(data).index(); table.rows(createdRow).nodes().to$().data('qsoID', qso.qsoID); @@ -261,6 +273,7 @@ $(document).ready(function () { qslSentMethod: this.qslSentMethod.value, qslReceivedMethod: this.qslReceivedMethod.value, iota: this.iota.value, + operator: this.operator.value, dxcc: this.dxcc.value, propmode: this.selectPropagation.value, gridsquare: this.gridsquare.value, @@ -497,6 +510,10 @@ $(document).ready(function () { quickSearch('pota'); }); + $('#searchOperator').click(function (event) { + quickSearch('operator'); + }); + $('#dupeButton').click(function (event) { dupeSearch(); }); @@ -623,6 +640,7 @@ $(document).ready(function () { case 'sota': col1 = $(currentRow).find('#dxsota').text(); break; case 'wwff': col1 = $(currentRow).find('#dxwwff').text(); break; case 'pota': col1 = $(currentRow).find('#dxpota').text(); break; + case 'operator': col1 = $(currentRow).find('#operator').text(); break; case 'mode': col1 = currentRow.find("td:eq(4)").text(); break; case 'band': col1 = currentRow.find("td:eq(7)").text(); col1 = col1.match(/\S\w*/); break; } @@ -872,6 +890,7 @@ function mapQsos(form) { qslvia: $('[name="qslviainput"]').val(), sota: form.sota.value, pota: form.pota.value, + operator: form.operator.value, wwff: form.wwff.value, qslimages: form.qslimages.value, }, @@ -1069,6 +1088,8 @@ function loadMap(data) { state: $('input[name="state"]').is(':checked') ? true : false, cqzone: $('input[name="cqzone"]').is(':checked') ? true : false, iota: $('input[name="iota"]').is(':checked') ? true : false, + pota: $('input[name="pota"]').is(':checked') ? true : false, + operator: $('input[name="operator"]').is(':checked') ? true : false, }, success: function(data) { $('#saveButton').prop("disabled", false); diff --git a/src/QSLManager/QSO.php b/src/QSLManager/QSO.php index 698e8aea..19648c38 100644 --- a/src/QSLManager/QSO.php +++ b/src/QSLManager/QSO.php @@ -65,6 +65,7 @@ class QSO private string $callsign; private string $lastupload; private string $lotw_hint; + private string $operator; /** * @param array $data Does no validation, it's assumed to be a row from the database in array format @@ -116,6 +117,7 @@ class QSO 'COL_STATE', 'COL_COUNTRY', 'COL_IOTA', + 'COL_OPERATOR', ]; @@ -202,6 +204,7 @@ class QSO $this->callsign = (($data['callsign'] ?? null) === null) ? '' : $data['callsign']; $this->lastupload = (($data['lastupload'] ?? null) === null) ? '' : date($custom_date_format . " H:i", strtotime($data['lastupload'] ?? null)); $this->lotw_hint = $this->getLotwHint($data['lastupload'] ?? null); + $this->operator = ($data['COL_OPERATOR'] === null) ? '' :$data['COL_OPERATOR']; } /** @@ -771,6 +774,11 @@ class QSO return '' . $this->iota . ''; } + public function getOperator(): string + { + return '' . $this->operator . ''; + } + public function toArray(): array { return [ @@ -792,6 +800,8 @@ class QSO 'name' => $this->getName(), 'dxcc' => $this->getDXCC(), 'state' => $this->getState(), + 'pota' => $this->dxPOTAReference, + 'operator' => $this->getOperator(), 'cqzone' => $this->getCqzone(), 'iota' => $this->getIOTA(), 'end' => $this->end === null ? null : $this->end->format("Y-m-d"), From 905ec93724568bd633b0b7cda04e22f987cf7238 Mon Sep 17 00:00:00 2001 From: int2001 Date: Mon, 4 Dec 2023 14:12:33 +0000 Subject: [PATCH 4/4] Added object for operator if not set --- application/views/logbookadvanced/index.php | 4 ++++ assets/js/sections/logbookadvanced.js | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/application/views/logbookadvanced/index.php b/application/views/logbookadvanced/index.php index 6531177e..85c0d207 100644 --- a/application/views/logbookadvanced/index.php +++ b/application/views/logbookadvanced/index.php @@ -10,6 +10,10 @@ if (!isset($options)) { $options = "{\"datetime\":{\"show\":\"true\"},\"de\":{\"show\":\"true\"},\"dx\":{\"show\":\"true\"},\"mode\":{\"show\":\"true\"},\"rstr\":{\"show\":\"true\"},\"rsts\":{\"show\":\"true\"},\"band\":{\"show\":\"true\"},\"myrefs\":{\"show\":\"true\"},\"refs\":{\"show\":\"true\"},\"name\":{\"show\":\"true\"},\"qslvia\":{\"show\":\"true\"},\"qsl\":{\"show\":\"true\"},\"lotw\":{\"show\":\"true\"},\"eqsl\":{\"show\":\"true\"},\"qslmsg\":{\"show\":\"true\"},\"dxcc\":{\"show\":\"true\"},\"state\":{\"show\":\"true\"},\"cqzone\":{\"show\":\"true\"},\"iota\":{\"show\":\"true\"},\"pota\":{\"show\":\"true\"},\"operator\":{\"show\":\"true\"}}"; } echo "var user_options = $options;"; +if (!isset($options->operator)) { + echo "\nvar o_template = { operator: {show: 'true'}};"; + echo "\nuser_options={...user_options, ...o_template}"; +} ?>