assets/js/sections/iotamap.js" tileUrl="optionslib->get_option('option_map_tile_server');?>">
+uri->segment(1) == "awards" && ($this->uri->segment(2) == "dxcc") ) { ?>
+
+
+
uri->segment(1) == "statistics") { ?>
@@ -2580,6 +2584,19 @@ function deleteQsl(id) {
message: html,
onshown: function(dialog) {
$('[data-toggle="tooltip"]').tooltip();
+ $('.contacttable').DataTable({
+ "pageLength": 25,
+ responsive: false,
+ ordering: false,
+ "scrollY": "550px",
+ "scrollCollapse": true,
+ "paging": false,
+ "scrollX": true,
+ dom: 'Bfrtip',
+ buttons: [
+ 'csv'
+ ]
+ });
},
buttons: [{
label: 'Close',
diff --git a/application/views/view_log/partial/log_ajax.php b/application/views/view_log/partial/log_ajax.php
index c880ed97..9500f152 100644
--- a/application/views/view_log/partial/log_ajax.php
+++ b/application/views/view_log/partial/log_ajax.php
@@ -1,19 +1,18 @@
'.$ctx->lang->line('gen_hamradio_mode').''; break;
- case 'RSTS': echo '| '.$ctx->lang->line('gen_hamradio_rsts').' | '; break;
- case 'RSTR': echo ''.$ctx->lang->line('gen_hamradio_rstr').' | '; break;
- case 'Country': echo ''.$ctx->lang->line('general_word_country').' | '; break;
- case 'IOTA': echo ''.$ctx->lang->line('gen_hamradio_iota').' | '; break;
- case 'SOTA': echo ''.$ctx->lang->line('gen_hamradio_sota').' | '; break;
- case 'WWFF': echo ''.$ctx->lang->line('gen_hamradio_wwff').' | '; break;
- case 'POTA': echo ''.$ctx->lang->line('gen_hamradio_pota').' | '; break;
- case 'State': echo ''.$ctx->lang->line('gen_hamradio_state').' | '; break;
- case 'Grid': echo ''.$ctx->lang->line('gen_hamradio_gridsquare').' | '; break;
- case 'Band': echo ''.$ctx->lang->line('gen_hamradio_band').' | '; break;
- case 'Operator': echo ''.$ctx->lang->line('gen_hamradio_operator').' | '; break;
-
+ case 'Mode': echo ''.$ctx->lang->line('gen_hamradio_mode').' | '; break;
+ case 'RSTS': echo ''.$ctx->lang->line('gen_hamradio_rsts').' | '; break;
+ case 'RSTR': echo ''.$ctx->lang->line('gen_hamradio_rstr').' | '; break;
+ case 'Country': echo ''.$ctx->lang->line('general_word_country').' | '; break;
+ case 'IOTA': echo ''.$ctx->lang->line('gen_hamradio_iota').' | '; break;
+ case 'SOTA': echo ''.$ctx->lang->line('gen_hamradio_sota').' | '; break;
+ case 'WWFF': echo ''.$ctx->lang->line('gen_hamradio_wwff').' | '; break;
+ case 'POTA': echo ''.$ctx->lang->line('gen_hamradio_pota').' | '; break;
+ case 'State': echo ''.$ctx->lang->line('gen_hamradio_state').' | '; break;
+ case 'Grid': echo ''.$ctx->lang->line('gen_hamradio_gridsquare').' | '; break;
+ case 'Band': echo ''.$ctx->lang->line('gen_hamradio_band').''; break;
+ case 'Operator': echo ' | '.$ctx->lang->line('gen_hamradio_operator').' | '; break;
}
}
@@ -46,34 +45,37 @@ function echoQrbCalcLink($mygrid, $grid, $vucc) {
-
-
- | lang->line('general_word_date'); ?> |
- config->item('use_auth') && ($this->session->userdata('user_type') >= 2)) || $this->config->item('use_auth') === FALSE || ($this->config->item('show_time'))) { ?>
- lang->line('general_word_time'); ?> |
-
- lang->line('gen_hamradio_call'); ?> |
- session->userdata('user_column1')==""?'Mode':$this->session->userdata('user_column1'));
- echo_table_header_col($this, $this->session->userdata('user_column2')==""?'RSTS':$this->session->userdata('user_column2'));
- echo_table_header_col($this, $this->session->userdata('user_column3')==""?'RSTR':$this->session->userdata('user_column3'));
- echo_table_header_col($this, $this->session->userdata('user_column4')==""?'Band':$this->session->userdata('user_column4'));
- echo_table_header_col($this, $this->session->userdata('user_column5')==""?'Country':$this->session->userdata('user_column5'));
+
diff --git a/assets/js/sections/dxccmap.js b/assets/js/sections/dxccmap.js
new file mode 100644
index 00000000..e117ffec
--- /dev/null
+++ b/assets/js/sections/dxccmap.js
@@ -0,0 +1,153 @@
+var osmUrl = $('#dxccmapjs').attr("tileUrl");
+
+function load_dxcc_map() {
+ $('.nav-tabs a[href="#dxccmaptab"]').tab('show');
+ $.ajax({
+ url: base_url + 'index.php/awards/dxcc_map',
+ type: 'post',
+ data: {
+ band: $('#band2').val(),
+ mode: $('#mode').val(),
+ worked: +$('#worked').prop('checked'),
+ confirmed: +$('#confirmed').prop('checked'),
+ notworked: +$('#notworked').prop('checked'),
+ qsl: +$('#qsl').prop('checked'),
+ lotw: +$('#lotw').prop('checked'),
+ includedeleted: +$('#includedeleted').prop('checked'),
+ Africa: +$('#Africa').prop('checked'),
+ Asia: +$('#Asia').prop('checked'),
+ Europe: +$('#Europe').prop('checked'),
+ NorthAmerica: +$('#NorthAmerica').prop('checked'),
+ SouthAmerica: +$('#SouthAmerica').prop('checked'),
+ Oceania: +$('#Oceania').prop('checked'),
+ Antarctica: +$('#Antarctica').prop('checked'),
+ },
+ success: function(data) {
+ load_dxcc_map2(data, worked, confirmed, notworked);
+ },
+ error: function() {
+
+ },
+ });
+}
+
+function load_dxcc_map2(data, worked, confirmed, notworked) {
+
+ // If map is already initialized
+ var container = L.DomUtil.get('dxccmap');
+
+ if(container != null){
+ container._leaflet_id = null;
+ container.remove();
+ $("#dxccmaptab").append('');
+ }
+
+ var map = L.map('dxccmap');
+ L.tileLayer(
+ osmUrl,
+ {
+ attribution: '© OpenStreetMap contributors, CC-BY-SA',
+ maxZoom: 18
+ }
+ ).addTo(map);
+
+ var notworkedcount = data.length;
+ var confirmedcount = 0;
+ var workednotconfirmedcount = 0;
+
+ for (var i = 0; i < data.length; i++) {
+ var D = data[i];
+ if (D['status'] != 'x') {
+ var mapColor = 'red';
+
+ if (D['status'] == 'C') {
+ mapColor = 'green';
+ if (confirmed != '0') {
+ addMarker(L, D, mapColor, map);
+ confirmedcount++;
+ notworkedcount--;
+ }
+ }
+ if (D['status'] == 'W') {
+ mapColor = 'orange';
+ if (worked != '0') {
+ addMarker(L, D, mapColor, map);
+ workednotconfirmedcount++;
+ notworkedcount--;
+ }
+ }
+
+
+ // Make a check here and hide what I don't want to show
+ if (notworked != '0') {
+ if (mapColor == 'red') {
+ addMarker(L, D, mapColor, map);
+ }
+ }
+ }
+ }
+
+ /*Legend specific*/
+ var legend = L.control({ position: "topright" });
+
+ if (notworked.checked == false) {
+ notworkedcount = 0;
+ }
+
+ legend.onAdd = function(map) {
+ var div = L.DomUtil.create("div", "legend");
+ div.innerHTML += "Colors
";
+ div.innerHTML += 'Confirmed ('+confirmedcount+')
';
+ div.innerHTML += 'Worked not confirmed ('+workednotconfirmedcount+')
';
+ div.innerHTML += 'Not worked ('+notworkedcount+')
';
+ return div;
+ };
+
+ legend.addTo(map);
+
+ map.setView([20, 0], 2);
+}
+
+function addMarker(L, D, mapColor, map) {
+ var title = '' + D['prefix'] + '';
+ var myIcon = L.divIcon({className: 'my-div-icon', html: title});
+
+ const markerHtmlStyles = `
+ background-color: ${mapColor};
+ width: 1rem;
+ height: 1rem;
+ display: block;
+ position: relative;
+ border-radius: 3rem 3rem 0;
+ transform: rotate(45deg);
+ border: 1px solid #FFFFFF`
+
+ const icon = L.divIcon({
+ className: "my-custom-pin",
+ iconAnchor: [0, 24],
+ labelAnchor: [-6, 0],
+ popupAnchor: [0, -36],
+ html: ``
+ })
+
+ L.marker(
+ [D['lat'], D['long']], {
+ icon: myIcon,
+ adif: D['adif'],
+ title: D['prefix'] + ' - ' + D['name'],
+ }
+ ).addTo(map).on('click', onClick);
+
+ L.marker(
+ [D['lat'], D['long']], {
+ icon: icon,
+ adif: D['adif'],
+ title: D['prefix'] + ' - ' + D['name'],
+ }
+ ).addTo(map).on('click', onClick);
+}
+
+function onClick(e) {
+ var marker = e.target;
+ displayContacts(marker.options.adif, $('#band2').val(), $('#mode').val(), 'DXCC2');
+}