From 93c31e53b260bc725ccbc6b4d14b5a27661b3bc6 Mon Sep 17 00:00:00 2001 From: Andreas Kristiansen <6977712+AndreasK79@users.noreply.github.com> Date: Tue, 7 May 2024 18:22:52 +0200 Subject: [PATCH 1/9] Adif export can now use filter for adif export --- application/controllers/Logbookadvanced.php | 14 ++++- application/models/Logbookadvanced_model.php | 17 ++++-- application/views/logbookadvanced/index.php | 12 ++-- assets/js/sections/logbookadvanced.js | 62 ++++++++++++-------- assets/js/sections/logbookadvanced_map.js | 12 ++-- 5 files changed, 73 insertions(+), 44 deletions(-) diff --git a/application/controllers/Logbookadvanced.php b/application/controllers/Logbookadvanced.php index 89a356453..c431c32ed 100644 --- a/application/controllers/Logbookadvanced.php +++ b/application/controllers/Logbookadvanced.php @@ -201,6 +201,16 @@ class Logbookadvanced extends CI_Controller { $this->load->view('adif/data/exportall', $data); } + function export_to_adif_params() { + $this->load->model('logbookadvanced_model'); + + $postdata = $this->input->post(); + $postdata['user_id'] = (int)$this->session->userdata('user_id'); + $data['qsos'] = $this->logbookadvanced_model->getSearchResult($postdata); + + $this->load->view('adif/data/exportall', $data); + } + function update_qsl() { $this->load->model('logbookadvanced_model'); @@ -306,7 +316,7 @@ class Logbookadvanced extends CI_Controller { 'ids' => xss_clean($this->input->post('ids')) ); - $result = $this->logbookadvanced_model->searchDb($searchCriteria); + $result = $this->logbookadvanced_model->getSearchResultArray($searchCriteria); $this->prepareMappedQSos($result); } @@ -347,7 +357,7 @@ class Logbookadvanced extends CI_Controller { 'qslimages' => xss_clean($this->input->post('qslimages')), ); - $result = $this->logbookadvanced_model->searchDb($searchCriteria); + $result = $this->logbookadvanced_model->getSearchResultArray($searchCriteria); $this->prepareMappedQSos($result); } diff --git a/application/models/Logbookadvanced_model.php b/application/models/Logbookadvanced_model.php index 6d8205caa..625d2827c 100644 --- a/application/models/Logbookadvanced_model.php +++ b/application/models/Logbookadvanced_model.php @@ -222,7 +222,7 @@ class Logbookadvanced_model extends CI_Model { } $sql = " - SELECT * + SELECT *, dxcc_entities.name AS station_country FROM " . $this->config->item('table_name') . " qsos INNER JOIN station_profile ON qsos.station_id=station_profile.station_id LEFT OUTER JOIN satellite ON qsos.COL_SAT_NAME = satellite.name @@ -239,10 +239,17 @@ class Logbookadvanced_model extends CI_Model { ORDER BY qsos.COL_TIME_ON desc, qsos.COL_PRIMARY_KEY desc LIMIT $limit "; - $data = $this->db->query($sql, $binding); + return $this->db->query($sql, $binding); - $results = $data->result('array'); - return $results; + } + + public function getSearchResult($searchCriteria) { + return $this->searchDb($searchCriteria); + } + + public function getSearchResultArray($searchCriteria) { + $result = $this->searchDb($searchCriteria); + return $result->result('array'); } /* @@ -250,7 +257,7 @@ class Logbookadvanced_model extends CI_Model { * @return array */ public function searchQsos($searchCriteria) : array { - $results = $this->searchDb($searchCriteria); + $results = $this->getSearchResultArray($searchCriteria); $qsos = []; foreach ($results as $data) { diff --git a/application/views/logbookadvanced/index.php b/application/views/logbookadvanced/index.php index 05351ed9c..05338cb03 100644 --- a/application/views/logbookadvanced/index.php +++ b/application/views/logbookadvanced/index.php @@ -139,7 +139,7 @@ $options = json_decode($options);
- @@ -310,7 +310,7 @@ $options = json_decode($options);
- +
@@ -401,11 +401,13 @@ $options = json_decode($options); - + + -
-
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
- - -
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - +
" method="post"> + +
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ + +
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
-
-
-
-
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - +
+
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
-
-
- -
- - - - - - - - - - - - - - - - +
+ +
+ + + + + + + + + + + + + + + + +
-
-
-
- - dx->show ?? "true") == "true") { ?> - - dxcc->show ?? "true") == "true") { ?> - - state->show ?? "true") == "true") { ?> - - refs->show ?? "true") == "true") { ?> - - cqzone->show ?? "true") == "true") { ?> - - ituzone->show ?? "true") == "true") { ?> - - mode->show ?? "true") == "true") { ?> - - band->show ?? "true") == "true") { ?> - - iota->show ?? "true") == "true") { ?> - - refs->show ?? "true") == "true") { ?> - - refs->show ?? "true") == "true") { ?> - - refs->show ?? "true") == "true") { ?> - - operator->show ?? "true") == "true") { ?> - +
+
+ + dx->show ?? "true") == "true") { ?> + + dxcc->show ?? "true") == "true") { ?> + + state->show ?? "true") == "true") { ?> + + refs->show ?? "true") == "true") { ?> + + cqzone->show ?? "true") == "true") { ?> + + ituzone->show ?? "true") == "true") { ?> + + mode->show ?? "true") == "true") { ?> + + band->show ?? "true") == "true") { ?> + + iota->show ?? "true") == "true") { ?> + + refs->show ?? "true") == "true") { ?> + + refs->show ?? "true") == "true") { ?> + + refs->show ?? "true") == "true") { ?> + + operator->show ?? "true") == "true") { ?> + +
-
-
-
- - - - - - - - - - - - -
- - - -
- - +
+
+ + + + + + + + + + + + +
+ + + +
+ + +
+
+ + + + + + datetime->show ?? "true") == "true") { + echo ''; + } ?> + de->show ?? "true") == "true") { + echo ''; + } ?> + dx->show ?? "true") == "true") { + echo ''; + } ?> + mode->show ?? "true") == "true") { + echo ''; + } ?> + rsts->show ?? "true") == "true") { + echo ''; + } ?> + rstr->show ?? "true") == "true") { + echo ''; + } ?> + band->show ?? "true") == "true") { + echo ''; + } ?> + myrefs->show ?? "true") == "true") { + echo ''; + } ?> + refs->show ?? "true") == "true") { + echo ''; + } ?> + name->show ?? "true") == "true") { + echo ''; + } ?> + qslvia->show ?? "true") == "true") { + echo ''; + } ?> + qsl->show ?? "true") == "true") { + echo ''; + } ?> + session->userdata('user_eqsl_name') != "" && ($options->eqsl->show ?? "true") == "true") { + echo ''; + } ?> + session->userdata('user_lotw_name') != "" && ($options->lotw->show ?? "true") == "true") { + echo ''; + } ?> + qslmsg->show ?? "true") == "true") { + echo ''; + } ?> + dxcc->show ?? "true") == "true") { + echo ''; + } ?> + state->show ?? "true") == "true") { + echo ''; + } ?> + cqzone->show ?? "true") == "true") { + echo ''; + } ?> + ituzone->show ?? "true") == "true") { + echo ''; + } ?> + iota->show ?? "true") == "true") { + echo ''; + } ?> + pota->show ?? "true") == "true") { + echo ''; + } ?> + operator->show ?? "true") == "true") { + echo ''; + } ?> + comment->show ?? "true") == "true") { + echo ''; + } ?> + + + + +
+
+
' . lang('general_word_datetime') . '' . lang('gen_hamradio_de') . '' . lang('gen_hamradio_dx') . '' . lang('gen_hamradio_mode') . '' . lang('gen_hamradio_rsts') . '' . lang('gen_hamradio_rstr') . '' . lang('gen_hamradio_band') . '' . lang('gen_hamradio_myrefs') . '' . lang('gen_hamradio_refs') . '' . lang('general_word_name') . '' . lang('gen_hamradio_qslvia') . '' . lang('gen_hamradio_qsl') . 'eQSLLoTW' . lang('gen_hamradio_qslmsg') . '' . lang('gen_hamradio_dxcc') . '' . lang('gen_hamradio_state') . '' . lang('gen_hamradio_cq_zone') . '' . lang('gen_hamradio_itu_zone') . '' . lang('gen_hamradio_iota') . '' . lang('gen_hamradio_pota') . '' . lang('gen_hamradio_operator') . '' . lang('general_word_comment') . '
-
- - - - - - datetime->show ?? "true") == "true") { - echo ''; - } ?> - de->show ?? "true") == "true") { - echo ''; - } ?> - dx->show ?? "true") == "true") { - echo ''; - } ?> - mode->show ?? "true") == "true") { - echo ''; - } ?> - rsts->show ?? "true") == "true") { - echo ''; - } ?> - rstr->show ?? "true") == "true") { - echo ''; - } ?> - band->show ?? "true") == "true") { - echo ''; - } ?> - myrefs->show ?? "true") == "true") { - echo ''; - } ?> - refs->show ?? "true") == "true") { - echo ''; - } ?> - name->show ?? "true") == "true") { - echo ''; - } ?> - qslvia->show ?? "true") == "true") { - echo ''; - } ?> - qsl->show ?? "true") == "true") { - echo ''; - } ?> - session->userdata('user_eqsl_name') != "" && ($options->eqsl->show ?? "true") == "true"){ - echo ''; - } ?> - session->userdata('user_lotw_name') != "" && ($options->lotw->show ?? "true") == "true"){ - echo ''; - } ?> - qslmsg->show ?? "true") == "true") { - echo ''; - } ?> - dxcc->show ?? "true") == "true") { - echo ''; - } ?> - state->show ?? "true") == "true") { - echo ''; - } ?> - cqzone->show ?? "true") == "true") { - echo ''; - } ?> - ituzone->show ?? "true") == "true") { - echo ''; - } ?> - iota->show ?? "true") == "true") { - echo ''; - } ?> - pota->show ?? "true") == "true") { - echo ''; - } ?> - operator->show ?? "true") == "true") { - echo ''; - } ?> - comment->show ?? "true") == "true") { - echo ''; - } ?> - - - - -
-
-
' . lang('general_word_datetime') . '' . lang('gen_hamradio_de') . '' . lang('gen_hamradio_dx') . '' . lang('gen_hamradio_mode') . '' . lang('gen_hamradio_rsts') . '' . lang('gen_hamradio_rstr') . '' . lang('gen_hamradio_band') . '' . lang('gen_hamradio_myrefs') . '' . lang('gen_hamradio_refs') . '' . lang('general_word_name') . '' . lang('gen_hamradio_qslvia') . '' . lang('gen_hamradio_qsl') . 'eQSLLoTW' . lang('gen_hamradio_qslmsg') . '' . lang('gen_hamradio_dxcc') . '' . lang('gen_hamradio_state') . '' . lang('gen_hamradio_cq_zone') . '' . lang('gen_hamradio_itu_zone') . '' . lang('gen_hamradio_iota') . '' . lang('gen_hamradio_pota') . '' . lang('gen_hamradio_operator') . '' . lang('general_word_comment') . '
-
+
\ No newline at end of file diff --git a/assets/css/cosmo_wide/overrides.css b/assets/css/cosmo_wide/overrides.css index fb0d66928..729f7b612 100644 --- a/assets/css/cosmo_wide/overrides.css +++ b/assets/css/cosmo_wide/overrides.css @@ -65,11 +65,6 @@ height: 500px !important; } -#gridsquare_map { - height: calc(100vh - 380px) !important; - max-height: 900px !important; -} - @media (min-width: 992px) { .modal-lg, .modal-xl { max-width: 1300px; diff --git a/assets/css/cyborg_wide/overrides.css b/assets/css/cyborg_wide/overrides.css index 1dbf2c575..14dca4f97 100644 --- a/assets/css/cyborg_wide/overrides.css +++ b/assets/css/cyborg_wide/overrides.css @@ -223,11 +223,6 @@ path.grid-worked { height: 500px !important; } -#gridsquare_map { - height: calc(100vh - 380px) !important; - max-height: 900px !important; -} - #mapqso { height: 400px !important; } diff --git a/assets/css/darkly_wide/overrides.css b/assets/css/darkly_wide/overrides.css index 7a0878e2b..39f745e6d 100644 --- a/assets/css/darkly_wide/overrides.css +++ b/assets/css/darkly_wide/overrides.css @@ -241,11 +241,6 @@ div.alert-danger { height: 500px !important; } -#gridsquare_map { - height: calc(100vh - 380px) !important; - max-height: 900px !important; -} - #mapqso { height: 400px !important; } diff --git a/assets/css/default_wide/overrides.css b/assets/css/default_wide/overrides.css index a83139a56..f2f1749d4 100644 --- a/assets/css/default_wide/overrides.css +++ b/assets/css/default_wide/overrides.css @@ -65,11 +65,6 @@ thead > tr > td { height: 500px !important; } -#gridsquare_map { - height: calc(100vh - 380px) !important; - max-height: 900px !important; -} - @media (min-width: 992px) { .modal-lg, .modal-xl { max-width: 1300px; diff --git a/assets/css/general.css b/assets/css/general.css index 29fb898ca..589906874 100644 --- a/assets/css/general.css +++ b/assets/css/general.css @@ -666,11 +666,6 @@ div#station_logbooks_linked_table_paginate { margin-bottom: 0px; } -#advancedmap { - height: calc(100vh - 280px) !important; - max-height: 1000px !important; -} - .lotw-cert-list table { margin-bottom: 0px; } @@ -840,9 +835,14 @@ label { } .coordinates { - justify-content: center; + position: absolute; + bottom: 0; + left: 0; + width: 100%; + justify-content: center; align-items: stretch; } + .cohidden { display:none; } diff --git a/assets/css/superhero_wide/overrides.css b/assets/css/superhero_wide/overrides.css index b5367b4f4..62808f476 100644 --- a/assets/css/superhero_wide/overrides.css +++ b/assets/css/superhero_wide/overrides.css @@ -87,11 +87,6 @@ path.grid-worked { height: 400px !important; } -#gridsquare_map { - height: calc(100vh - 380px) !important; - max-height: 900px !important; -} - /* * Dark Navigation */ diff --git a/assets/js/sections/common.js b/assets/js/sections/common.js index 6b422c0cc..2f56f9240 100644 --- a/assets/js/sections/common.js +++ b/assets/js/sections/common.js @@ -929,6 +929,28 @@ $(document).ready(function() { } }); +// auto setting of gridmap height +function set_map_height() { + //header menu + var headerNavHeight = $('nav').outerHeight(); + // console.log('nav: ' + headerNavHeight); + + // line with coordinates + var coordinatesHeight = $('.coordinates').outerHeight(); + // console.log('.coordinates: ' + coordinatesHeight); + + // form for gridsquare map + var gridsquareFormHeight = $('.gridsquare_map_form').outerHeight(); + // console.log('.gridsquare_map_form: ' + gridsquareFormHeight); + + // calculate correct map height + var gridsquareMapHeight = window.innerHeight - headerNavHeight - coordinatesHeight - gridsquareFormHeight; + + // and set it + $('#gridsquare_map').css('height', gridsquareMapHeight + 'px'); + // console.log('#gridsquare_map: ' + gridsquareMapHeight); +} + console.log("Ready to unleash your coding prowess and join the fun?\n\n" + "Check out our GitHub Repository and dive into the coding adventure:\n\n" + diff --git a/assets/js/sections/ffma.js b/assets/js/sections/ffma.js index 0bfbe813d..157afb8f3 100644 --- a/assets/js/sections/ffma.js +++ b/assets/js/sections/ffma.js @@ -13,7 +13,8 @@ function gridPlot(form) { if(container != null){ container._leaflet_id = null; container.remove(); - $("#gridmapcontainer").append('
'); + $("#gridmapcontainer").append('
'); + set_map_height(); } ajax_url = site_url + '/awards/getFfmaGridsjs'; @@ -23,6 +24,7 @@ function gridPlot(form) { type: 'get', success: function (data) { $('.cohidden').show(); + set_map_height(); $(".ld-ext-right-plot").removeClass('running'); $(".ld-ext-right-plot").prop('disabled', false); $('#plot').prop("disabled", false); @@ -145,5 +147,8 @@ function spawnGridsquareModal(loc_4char) { } $(document).ready(function(){ - gridPlot(this.form); + gridPlot(this.form); + $(window).resize(function () { + set_map_height(); + }); }) diff --git a/assets/js/sections/gridmap.js b/assets/js/sections/gridmap.js index 807002bb7..b90f29519 100644 --- a/assets/js/sections/gridmap.js +++ b/assets/js/sections/gridmap.js @@ -39,7 +39,8 @@ function gridPlot(form, visitor=true) { if(container != null){ container._leaflet_id = null; container.remove(); - $("#gridmapcontainer").append('
'); + $("#gridmapcontainer").append('
'); + set_map_height(); } if (typeof type == 'undefined') { type=''; } @@ -68,6 +69,7 @@ function gridPlot(form, visitor=true) { }, success: function (data) { $('.cohidden').show(); + set_map_height(); $(".ld-ext-right-plot").removeClass('running'); $(".ld-ext-right-plot").prop('disabled', false); $('#plot').prop("disabled", false); @@ -219,5 +221,8 @@ function clearMarkers() { } $(document).ready(function(){ - gridPlot(this.form, visitor); + gridPlot(this.form, visitor); + $(window).resize(function () { + set_map_height(); + }); }) diff --git a/assets/js/sections/gridmaster.js b/assets/js/sections/gridmaster.js index b1a15bbf9..18d67cee3 100644 --- a/assets/js/sections/gridmaster.js +++ b/assets/js/sections/gridmaster.js @@ -13,7 +13,8 @@ function gridPlot(form, dxcc) { if(container != null){ container._leaflet_id = null; container.remove(); - $("#gridmapcontainer").append('
'); + $("#gridmapcontainer").append('
'); + set_map_height(); } ajax_url = site_url + '/awards/getGridmasterGridsjs/'+dxcc; @@ -27,6 +28,7 @@ function gridPlot(form, dxcc) { success: function (data) { $('.cohidden').show(); + set_map_height(); $(".ld-ext-right-plot").removeClass('running'); $(".ld-ext-right-plot").prop('disabled', false); $('#plot').prop("disabled", false); @@ -151,5 +153,8 @@ function spawnGridsquareModal(loc_4char) { } $(document).ready(function(){ - gridPlot(this.form, dxcc); + gridPlot(this.form, dxcc); + $(window).resize(function () { + set_map_height(); + }); }) diff --git a/assets/js/sections/logbookadvanced_map.js b/assets/js/sections/logbookadvanced_map.js index 7b6292c70..9623c6904 100644 --- a/assets/js/sections/logbookadvanced_map.js +++ b/assets/js/sections/logbookadvanced_map.js @@ -273,8 +273,8 @@ function loadMap(data, iconsList) { container._leaflet_id = null; container.remove(); $(".coordinates").remove(); - $(".qso_manager").append('
'); - $(".qso_manager").append('
' + + $("#lba_div").append('
'); + $("#lba_div").append('
' + '
' + lang_gen_hamradio_latitude + ' 
' + '
' + '
' + lang_gen_hamradio_longitude + ' 
' + @@ -287,6 +287,7 @@ function loadMap(data, iconsList) { '
' + '
'); $('.cohidden').show(); + set_advancedmap_height(); } map = new L.Map('advancedmap', { @@ -435,292 +436,323 @@ function loadMap(data, iconsList) { } } - function createContentMessage(qso) { - var table = '' + - '' + - '" + - '' + - '"; - return (table += "
' + - 'Station callsign: ' + qso.mycallsign + - "
' + - 'Gridsquare: ' + qso.mygridsquare + - "
"); - } +function createContentMessage(qso) { + var table = '' + + '' + + '" + + '' + + '"; + return (table += "
' + + 'Station callsign: ' + qso.mycallsign + + "
' + + 'Gridsquare: ' + qso.mygridsquare + + "
"); +} - function createContentMessageDx(qso) { - var table = '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + +function createContentMessageDx(qso) { + var table = '
Callsign' + qso.callsign + '
Date/time' + qso.datetime + '
' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + ''; + if (qso.satname != "") { + table += '' + + '' + '' + ''; - if (qso.satname != "") { - table += '' + - '' + + '' + + '' + + ''; + } + table += '' + + '' + + '' + + ''; + if (qso.gridsquare != undefined) { + table += '' + + '' + + ''; + } + if (qso.distance != undefined) { + table += '' + + '' + + ''; + } + if (qso.bearing != undefined) { + table += '' + + '' + + ''; + } + return (table += '
Callsign' + qso.callsign + '
Date/time' + qso.datetime + '
BandSAT ' + qso.satname + if (qso.orbit != "") { + table += ' (' + qso.orbit + ') ' + } + table += '
BandSAT ' + qso.satname - if (qso.orbit != "") { - table += ' (' + qso.orbit + ') ' + } else { + table += 'Band' + qso.band + '
Mode' + qso.mode + '
Gridsquare' + qso.gridsquare + '
Distance' + qso.distance + '
Bearing' + qso.bearing + '
'); +} + +function loadMapOptions(data) { + $.ajax({ + url: base_url + 'index.php/user_options/get_map_custom', + type: 'GET', + dataType: 'json', + error: function () { + }, + success: function (json_mapinfo) { + if (typeof json_mapinfo.qso !== "undefined") { + iconsList = json_mapinfo; } - table += '' + - '' + - ''; - } else { - table += 'Band' + - '' + qso.band + '' + - '' + - ''; + loadMap(data, iconsList) } - table += 'Mode' + - '' + qso.mode + '' + - '' + - ''; - if (qso.gridsquare != undefined) { - table += 'Gridsquare' + - '' + qso.gridsquare + '' + - ''; - } - if (qso.distance != undefined) { - table += 'Distance' + - '' + qso.distance + '' + - ''; - } - if (qso.bearing != undefined) { - table += 'Bearing' + - '' + qso.bearing + '' + - ''; - } - return (table += ''); + }); +} + +function mapQsos(form) { + $('#mapButton').prop("disabled", true).addClass("running"); + + var id_list=[]; + var elements = $('#qsoList tbody input:checked'); + var nElements = elements.length; + + elements.each(function() { + let id = $(this).first().closest('tr').data('qsoID') + id_list.push(id); + unselectQsoID(id); + }); + + $("#qsoList").attr("Hidden", true); + $("#qsoList_wrapper").attr("Hidden", true); + $("#qsoList_info").attr("Hidden", true); + + amap = $('#advancedmap').val(); + if (amap == undefined) { + $("#lba_div").append('
'); } - function loadMapOptions(data) { + if (id_list.length > 0) { $.ajax({ - url: base_url + 'index.php/user_options/get_map_custom', - type: 'GET', - dataType: 'json', - error: function () { - }, - success: function (json_mapinfo) { - if (typeof json_mapinfo.qso !== "undefined") { - iconsList = json_mapinfo; - } - loadMap(data, iconsList) - } + url: base_url + 'index.php/logbookadvanced/mapSelectedQsos', + type: 'post', + data: { + ids: id_list, + de: form.de.value + }, + success: function(data) { + loadMapOptions(data); + }, + error: function() { + $('#mapButton').prop("disabled", false).removeClass("running"); + }, + }); + } else { + $.ajax({ + url: base_url + 'index.php/logbookadvanced/mapQsos', + type: 'post', + data: { + dateFrom: form.dateFrom.value, + dateTo: form.dateTo.value, + de: form.de.value, + dx: form.dx.value, + mode: form.mode.value, + band: form.band.value, + qslSent: form.qslSent.value, + qslReceived: form.qslReceived.value, + qslSentMethod: this.qslSentMethod.value, + qslReceivedMethod: this.qslReceivedMethod.value, + iota: form.iota.value, + dxcc: form.dxcc.value, + propmode: form.selectPropagation.value, + gridsquare: form.gridsquare.value, + state: form.state.value, + qsoresults: form.qsoResults.value, + sats: form.sats.value, + orbits: form.orbits.value, + cqzone: form.cqzone.value, + lotwSent: form.lotwSent.value, + lotwReceived: form.lotwReceived.value, + eqslSent: form.eqslSent.value, + eqslReceived: form.eqslReceived.value, + qslvia: $('[name="qslviainput"]').val(), + sota: form.sota.value, + pota: form.pota.value, + operator: form.operator.value, + wwff: form.wwff.value, + qslimages: form.qslimages.value, + }, + success: function(data) { + loadMapOptions(data); + }, + error: function() { + $('#mapButton').prop("disabled", false).removeClass("running"); + }, }); } +}; - function mapQsos(form) { - $('#mapButton').prop("disabled", true).addClass("running"); +function mapGlobeQsos(form) { + var container = L.DomUtil.get('advancedmap'); + if(container != null){ + container._leaflet_id = null; + container.remove(); + $(".coordinates").remove(); + } - var id_list=[]; - var elements = $('#qsoList tbody input:checked'); - var nElements = elements.length; + var id_list=[]; + var elements = $('#qsoList tbody input:checked'); + var nElements = elements.length; - elements.each(function() { - let id = $(this).first().closest('tr').data('qsoID') - id_list.push(id); - unselectQsoID(id); + elements.each(function() { + let id = $(this).first().closest('tr').data('qsoID') + id_list.push(id); + unselectQsoID(id); + }); + + $("#qsoList").attr("Hidden", true); + $("#qsoList_wrapper").attr("Hidden", true); + $("#qsoList_info").attr("Hidden", true); + + amap = $('#advancedmap').val(); + if (amap == undefined) { + $("#lba_div").append('
'); + } + + if (id_list.length > 0) { + $.ajax({ + url: base_url + 'index.php/logbookadvanced/mapSelectedQsos', + type: 'post', + data: { + ids: id_list, + de: form.de.value + }, + success: function(data) { + globemap(data); + }, + error: function() { + + }, }); + } else { + $.ajax({ + url: base_url + 'index.php/logbookadvanced/mapQsos', + type: 'post', + data: { + dateFrom: form.dateFrom.value, + dateTo: form.dateTo.value, + de: form.de.value, + dx: form.dx.value, + mode: form.mode.value, + band: form.band.value, + qslSent: form.qslSent.value, + qslReceived: form.qslReceived.value, + qslSentMethod: this.qslSentMethod.value, + qslReceivedMethod: this.qslReceivedMethod.value, + iota: form.iota.value, + dxcc: form.dxcc.value, + propmode: form.selectPropagation.value, + gridsquare: form.gridsquare.value, + state: form.state.value, + qsoresults: form.qsoResults.value, + sats: form.sats.value, + orbits: form.orbits.value, + cqzone: form.cqzone.value, + lotwSent: form.lotwSent.value, + lotwReceived: form.lotwReceived.value, + eqslSent: form.eqslSent.value, + eqslReceived: form.eqslReceived.value, + qslvia: $('[name="qslviainput"]').val(), + sota: form.sota.value, + pota: form.pota.value, + operator: form.operator.value, + wwff: form.wwff.value, + qslimages: form.qslimages.value, + }, + success: function(data) { + globemap(data); + }, + error: function() { - $("#qsoList").attr("Hidden", true); - $("#qsoList_wrapper").attr("Hidden", true); - $("#qsoList_info").attr("Hidden", true); + }, + }); + } +}; - amap = $('#advancedmap').val(); - if (amap == undefined) { - $(".qso_manager").append('
'); - } - - if (id_list.length > 0) { - $.ajax({ - url: base_url + 'index.php/logbookadvanced/mapSelectedQsos', - type: 'post', - data: { - ids: id_list, - de: form.de.value - }, - success: function(data) { - loadMapOptions(data); - }, - error: function() { - $('#mapButton').prop("disabled", false).removeClass("running"); - }, - }); +function globemap(x) { + globePayArc=[]; + globePayLab=[]; + x.forEach((element) => { + let OneQsoArc={}; + OneQsoArc.startLat=element.latlng1[0]; + OneQsoArc.startLng=element.latlng1[1]; + OneQsoArc.endLat=element.latlng2[0]; + OneQsoArc.endLng=element.latlng2[1]; + OneQsoArc.name=element.callsign; + if (element.confirmed) { + OneQsoArc.color = 'green'; } else { - $.ajax({ - url: base_url + 'index.php/logbookadvanced/mapQsos', - type: 'post', - data: { - dateFrom: form.dateFrom.value, - dateTo: form.dateTo.value, - de: form.de.value, - dx: form.dx.value, - mode: form.mode.value, - band: form.band.value, - qslSent: form.qslSent.value, - qslReceived: form.qslReceived.value, - qslSentMethod: this.qslSentMethod.value, - qslReceivedMethod: this.qslReceivedMethod.value, - iota: form.iota.value, - dxcc: form.dxcc.value, - propmode: form.selectPropagation.value, - gridsquare: form.gridsquare.value, - state: form.state.value, - qsoresults: form.qsoResults.value, - sats: form.sats.value, - orbits: form.orbits.value, - cqzone: form.cqzone.value, - lotwSent: form.lotwSent.value, - lotwReceived: form.lotwReceived.value, - eqslSent: form.eqslSent.value, - eqslReceived: form.eqslReceived.value, - qslvia: $('[name="qslviainput"]').val(), - sota: form.sota.value, - pota: form.pota.value, - operator: form.operator.value, - wwff: form.wwff.value, - qslimages: form.qslimages.value, - }, - success: function(data) { - loadMapOptions(data); - }, - error: function() { - $('#mapButton').prop("disabled", false).removeClass("running"); - }, - }); + OneQsoArc.color = 'red'; } - }; + // OneQsoArc.color = [['red', 'white', 'blue', 'green'][Math.round(Math.random() * 3)], ['red', 'white', 'blue', 'green'][Math.round(Math.random() * 3)]] + OneQsoArc.altitude=0.15; + globePayArc.push(OneQsoArc); + let OneQsoLab={}; + OneQsoLab.lat=element.latlng2[0]; + OneQsoLab.lng=element.latlng2[1]; + OneQsoLab.text=element.callsign; + globePayLab.push(OneQsoLab); + }); + renderGlobe(globePayArc,globePayLab); +} - function mapGlobeQsos(form) { - var container = L.DomUtil.get('advancedmap'); - if(container != null){ - container._leaflet_id = null; - container.remove(); - $(".coordinates").remove(); - } +function renderGlobe(arcsData,labelData) { + Globe() + .globeImageUrl(base_url + '/assets/images/earth-blue-marble.jpg') + .pointOfView({ lat: arcsData[0].startLat, lng: arcsData[0].startLng, altitude:1}, 100) + .labelsData(labelData) + .arcsData(arcsData) + .arcColor('color') + //.arcAltitude('altitude') + .arcAltitudeAutoScale(.3) + .arcStroke(.2) + .arcDashLength(() => .1) + .arcDashGap(() => 0.01) + .arcDashAnimateTime(() => 4000 + 500) + (document.getElementById('advancedmap')) +} - var id_list=[]; - var elements = $('#qsoList tbody input:checked'); - var nElements = elements.length; +// auto setting of gridmap height +function set_advancedmap_height() { + //header menu + var headerNavHeight = $('nav').outerHeight(); + // console.log('nav: ' + headerNavHeight); - elements.each(function() { - let id = $(this).first().closest('tr').data('qsoID') - id_list.push(id); - unselectQsoID(id); - }); + // line with coordinates + var coordinatesHeight = $('.coordinates').outerHeight(); + // console.log('.coordinates: ' + coordinatesHeight); - $("#qsoList").attr("Hidden", true); - $("#qsoList_wrapper").attr("Hidden", true); - $("#qsoList_info").attr("Hidden", true); + // form for gridsquare map + var qsoManagerHeight = $('.qso_manager').outerHeight(); + // console.log('.qso_manager: ' + qsoManagerHeight); - amap = $('#advancedmap').val(); - if (amap == undefined) { - $(".qso_manager").append('
'); - } + // calculate correct map height + var advancedMapHeight = window.innerHeight - headerNavHeight - coordinatesHeight - qsoManagerHeight; - if (id_list.length > 0) { - $.ajax({ - url: base_url + 'index.php/logbookadvanced/mapSelectedQsos', - type: 'post', - data: { - ids: id_list, - de: form.de.value - }, - success: function(data) { - globemap(data); - }, - error: function() { - - }, - }); - } else { - $.ajax({ - url: base_url + 'index.php/logbookadvanced/mapQsos', - type: 'post', - data: { - dateFrom: form.dateFrom.value, - dateTo: form.dateTo.value, - de: form.de.value, - dx: form.dx.value, - mode: form.mode.value, - band: form.band.value, - qslSent: form.qslSent.value, - qslReceived: form.qslReceived.value, - qslSentMethod: this.qslSentMethod.value, - qslReceivedMethod: this.qslReceivedMethod.value, - iota: form.iota.value, - dxcc: form.dxcc.value, - propmode: form.selectPropagation.value, - gridsquare: form.gridsquare.value, - state: form.state.value, - qsoresults: form.qsoResults.value, - sats: form.sats.value, - orbits: form.orbits.value, - cqzone: form.cqzone.value, - lotwSent: form.lotwSent.value, - lotwReceived: form.lotwReceived.value, - eqslSent: form.eqslSent.value, - eqslReceived: form.eqslReceived.value, - qslvia: $('[name="qslviainput"]').val(), - sota: form.sota.value, - pota: form.pota.value, - operator: form.operator.value, - wwff: form.wwff.value, - qslimages: form.qslimages.value, - }, - success: function(data) { - globemap(data); - }, - error: function() { - - }, - }); - } - }; - - function globemap(x) { - globePayArc=[]; - globePayLab=[]; - x.forEach((element) => { - let OneQsoArc={}; - OneQsoArc.startLat=element.latlng1[0]; - OneQsoArc.startLng=element.latlng1[1]; - OneQsoArc.endLat=element.latlng2[0]; - OneQsoArc.endLng=element.latlng2[1]; - OneQsoArc.name=element.callsign; - if (element.confirmed) { - OneQsoArc.color = 'green'; - } else { - OneQsoArc.color = 'red'; - } - // OneQsoArc.color = [['red', 'white', 'blue', 'green'][Math.round(Math.random() * 3)], ['red', 'white', 'blue', 'green'][Math.round(Math.random() * 3)]] - OneQsoArc.altitude=0.15; - globePayArc.push(OneQsoArc); - let OneQsoLab={}; - OneQsoLab.lat=element.latlng2[0]; - OneQsoLab.lng=element.latlng2[1]; - OneQsoLab.text=element.callsign; - globePayLab.push(OneQsoLab); - }); - renderGlobe(globePayArc,globePayLab); - } - - function renderGlobe(arcsData,labelData) { - Globe() - .globeImageUrl(base_url + '/assets/images/earth-blue-marble.jpg') - .pointOfView({ lat: arcsData[0].startLat, lng: arcsData[0].startLng, altitude:1}, 100) - .labelsData(labelData) - .arcsData(arcsData) - .arcColor('color') - //.arcAltitude('altitude') - .arcAltitudeAutoScale(.3) - .arcStroke(.2) - .arcDashLength(() => .1) - .arcDashGap(() => 0.01) - .arcDashAnimateTime(() => 4000 + 500) - (document.getElementById('advancedmap')) - } + // and set it + $('#advancedmap').css('height', advancedMapHeight + 'px'); + // console.log('#advancedmap: ' + advancedMapHeight); +} +$(document).ready(function() { + $(window).resize(function() { + set_advancedmap_height(); + }); + $('.lba_buttons').click(function() { + // we need some delay because of the bs collapse menu + setTimeout(set_advancedmap_height, 400); + }); +}); \ No newline at end of file From b998f56b76068031061d43c7b1d68b9c6e681507 Mon Sep 17 00:00:00 2001 From: HB9HIL Date: Tue, 7 May 2024 19:44:49 +0200 Subject: [PATCH 3/9] fix visitor gridsquare map --- application/views/visitor/layout/footer.php | 26 +++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/application/views/visitor/layout/footer.php b/application/views/visitor/layout/footer.php index 3b37372db..d4a767cf0 100644 --- a/application/views/visitor/layout/footer.php +++ b/application/views/visitor/layout/footer.php @@ -59,6 +59,32 @@ + + \ No newline at end of file + From 331c3defe0d764dbedc0b0d92407d73acc0fdfcf Mon Sep 17 00:00:00 2001 From: phl0 Date: Wed, 8 May 2024 13:36:36 +0200 Subject: [PATCH 7/9] Add tooltip --- application/views/debug/index.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/application/views/debug/index.php b/application/views/debug/index.php index 38e8088f0..204377f22 100644 --- a/application/views/debug/index.php +++ b/application/views/debug/index.php @@ -69,7 +69,7 @@ ".phpversion().""; + echo "".phpversion().""; } else { echo "".phpversion().""; } From 84e2e7065e891fdaa2c1c913955386fcfa14a095 Mon Sep 17 00:00:00 2001 From: phl0 Date: Wed, 8 May 2024 14:06:36 +0200 Subject: [PATCH 8/9] Put badge after text --- application/views/debug/index.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/application/views/debug/index.php b/application/views/debug/index.php index 204377f22..09c5ef4ff 100644 --- a/application/views/debug/index.php +++ b/application/views/debug/index.php @@ -68,10 +68,10 @@ PHP Version ".phpversion().""; + if (version_compare(phpversion(), '8', '>')) { + echo phpversion()." OK"; } else { - echo "".phpversion().""; + echo phpversion()." Deprecated"; } ?> From 7e7064a49265fc91c127e07eb3d4680da7948f55 Mon Sep 17 00:00:00 2001 From: phl0 Date: Wed, 8 May 2024 14:21:10 +0200 Subject: [PATCH 9/9] Align version comparison --- application/views/debug/index.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/application/views/debug/index.php b/application/views/debug/index.php index 09c5ef4ff..086ac8ae5 100644 --- a/application/views/debug/index.php +++ b/application/views/debug/index.php @@ -68,7 +68,7 @@ PHP Version ')) { + if (version_compare(PHP_VERSION, '8.0.0') >= 0) { echo phpversion()." OK"; } else { echo phpversion()." Deprecated";