@@ -7,71 +38,11 @@
lang->line('gen_hamradio_call'); ?>
';
- switch($this->session->userdata('user_column1')==""?'Mode':$this->session->userdata('user_column1')) {
- case 'Mode': echo $this->lang->line('gen_hamradio_mode'); break;
- case 'RSTS': echo $this->lang->line('gen_hamradio_rsts'); break;
- case 'RSTR': echo $this->lang->line('gen_hamradio_rstr'); break;
- case 'Country': echo $this->lang->line('general_word_country'); break;
- case 'IOTA': echo $this->lang->line('gen_hamradio_iota'); break;
- case 'SOTA': echo $this->lang->line('gen_hamradio_sota'); break;
- case 'State': echo $this->lang->line('gen_hamradio_state'); break;
- case 'Grid': echo $this->lang->line('gen_hamradio_gridsquare'); break;
- case 'Band': echo $this->lang->line('gen_hamradio_band'); break;
- }
- echo '';
- echo '';
- switch($this->session->userdata('user_column2')==""?'RSTS':$this->session->userdata('user_column2')) {
- case 'Mode': echo $this->lang->line('gen_hamradio_mode'); break;
- case 'RSTS': echo $this->lang->line('gen_hamradio_rsts'); break;
- case 'RSTR': echo $this->lang->line('gen_hamradio_rstr'); break;
- case 'Country': echo $this->lang->line('general_word_country'); break;
- case 'IOTA': echo $this->lang->line('gen_hamradio_iota'); break;
- case 'State': echo $this->lang->line('gen_hamradio_state'); break;
- case 'SOTA': echo $this->lang->line('gen_hamradio_sota'); break;
- case 'Grid': echo $this->lang->line('gen_hamradio_gridsquare'); break;
- case 'Band': echo $this->lang->line('gen_hamradio_band'); break;
- }
- echo ' ';
- echo '';
- switch($this->session->userdata('user_column3')==""?'RSTR':$this->session->userdata('user_column3')) {
- case 'Mode': echo $this->lang->line('gen_hamradio_mode'); break;
- case 'RSTS': echo $this->lang->line('gen_hamradio_rsts'); break;
- case 'RSTR': echo $this->lang->line('gen_hamradio_rstr'); break;
- case 'Country': echo $this->lang->line('general_word_country'); break;
- case 'IOTA': echo $this->lang->line('gen_hamradio_iota'); break;
- case 'SOTA': echo $this->lang->line('gen_hamradio_sota'); break;
- case 'State': echo $this->lang->line('gen_hamradio_state'); break;
- case 'Grid': echo $this->lang->line('gen_hamradio_gridsquare'); break;
- case 'Band': echo $this->lang->line('gen_hamradio_band'); break;
- }
- echo ' ';
- echo '';
- switch($this->session->userdata('user_column4')==""?'Band':$this->session->userdata('user_column4')) {
- case 'Mode': echo $this->lang->line('gen_hamradio_mode'); break;
- case 'RSTS': echo $this->lang->line('gen_hamradio_rsts'); break;
- case 'RSTR': echo $this->lang->line('gen_hamradio_rstr'); break;
- case 'Country': echo $this->lang->line('general_word_country'); break;
- case 'IOTA': echo $this->lang->line('gen_hamradio_iota'); break;
- case 'SOTA': echo $this->lang->line('gen_hamradio_sota'); break;
- case 'State': echo $this->lang->line('gen_hamradio_state'); break;
- case 'Grid': echo $this->lang->line('gen_hamradio_gridsquare'); break;
- case 'Band': echo $this->lang->line('gen_hamradio_band'); break;
- }
- echo ' ';
- echo '';
- switch($this->session->userdata('user_column5')==""?'Country':$this->session->userdata('user_column5')) {
- case 'Mode': echo $this->lang->line('gen_hamradio_mode'); break;
- case 'RSTS': echo $this->lang->line('gen_hamradio_rsts'); break;
- case 'RSTR': echo $this->lang->line('gen_hamradio_rstr'); break;
- case 'Country': echo $this->lang->line('general_word_country'); break;
- case 'IOTA': echo $this->lang->line('gen_hamradio_iota'); break;
- case 'SOTA': echo $this->lang->line('gen_hamradio_sota'); break;
- case 'State': echo $this->lang->line('gen_hamradio_state'); break;
- case 'Grid': echo $this->lang->line('gen_hamradio_gridsquare'); break;
- case 'Band': echo $this->lang->line('gen_hamradio_band'); break;
- }
- echo ' ';
+ echo_table_header_col($this, $this->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'));
if(($this->config->item('use_auth')) && ($this->session->userdata('user_type') >= 2)) { ?>
QSL
@@ -109,67 +80,12 @@
session->userdata('user_column1')==""?'Mode':$this->session->userdata('user_column1')) {
- case 'Mode': echo ''; echo $row->COL_SUBMODE==null?$row->COL_MODE:$row->COL_SUBMODE; break;
- case 'RSTS': echo ' ' . $row->COL_RST_SENT; if ($row->COL_STX) { echo '' . $row->COL_STX . ' ';}if ($row->COL_STX_STRING) { echo '' . $row->COL_STX_STRING . ' ';}; break;
- case 'RSTR': echo ' ' . $row->COL_RST_RCVD; if ($row->COL_SRX) { echo '' . $row->COL_SRX . ' ';}if ($row->COL_SRX_STRING) { echo '' . $row->COL_SRX_STRING . ' ';}; break;
- case 'Country': echo ' ' . ucwords(strtolower(($row->COL_COUNTRY)));; break;
- case 'IOTA': echo ' ' . ($row->COL_IOTA); break;
- case 'SOTA': echo ' ' . ($row->COL_SOTA_REF); break;
- case 'Grid': echo ' '; echo strlen($row->COL_GRIDSQUARE)==0?$row->COL_VUCC_GRIDS:$row->COL_GRIDSQUARE; break;
- case 'Band': echo ' '; if($row->COL_SAT_NAME != null) { echo $row->COL_SAT_NAME; } else { echo strtolower($row->COL_BAND); }; break;
- case 'State': echo ' ' . ($row->COL_STATE); break;
- }
- echo ' ';
- switch($this->session->userdata('user_column2')==""?'RSTS':$this->session->userdata('user_column2')) {
- case 'Mode': echo ''; echo $row->COL_SUBMODE==null?$row->COL_MODE:$row->COL_SUBMODE; break;
- case 'RSTS': echo ' ' . $row->COL_RST_SENT; if ($row->COL_STX) { echo '' . $row->COL_STX . ' ';}if ($row->COL_STX_STRING) { echo '' . $row->COL_STX_STRING . ' ';}; break;
- case 'RSTR': echo ' ' . $row->COL_RST_RCVD; if ($row->COL_SRX) { echo '' . $row->COL_SRX . ' ';}if ($row->COL_SRX_STRING) { echo '' . $row->COL_SRX_STRING . ' ';}; break;
- case 'Country': echo ' ' . ucwords(strtolower(($row->COL_COUNTRY)));; break;
- case 'IOTA': echo ' ' . ($row->COL_IOTA); break;
- case 'SOTA': echo ' ' . ($row->COL_SOTA_REF); break;
- case 'Grid': echo ' '; echo strlen($row->COL_GRIDSQUARE)==0?$row->COL_VUCC_GRIDS:$row->COL_GRIDSQUARE; break;
- case 'Band': echo ' '; if($row->COL_SAT_NAME != null) { echo $row->COL_SAT_NAME; } else { echo strtolower($row->COL_BAND); }; break;
- case 'State': echo ' ' . ($row->COL_STATE); break;
- }
- echo ' ';
-
- switch($this->session->userdata('user_column3')==""?'RSTR':$this->session->userdata('user_column3')) {
- case 'Mode': echo ''; echo $row->COL_SUBMODE==null?$row->COL_MODE:$row->COL_SUBMODE; break;
- case 'RSTS': echo ' ' . $row->COL_RST_SENT; if ($row->COL_STX) { echo '' . $row->COL_STX . ' ';}if ($row->COL_STX_STRING) { echo '' . $row->COL_STX_STRING . ' ';}; break;
- case 'RSTR': echo ' ' . $row->COL_RST_RCVD; if ($row->COL_SRX) { echo '' . $row->COL_SRX . ' ';}if ($row->COL_SRX_STRING) { echo '' . $row->COL_SRX_STRING . ' ';}; break;
- case 'Country': echo ' ' . ucwords(strtolower(($row->COL_COUNTRY)));; break;
- case 'IOTA': echo ' ' . ($row->COL_IOTA); break;
- case 'SOTA': echo ' ' . ($row->COL_SOTA_REF); break;
- case 'Grid': echo ' '; echo strlen($row->COL_GRIDSQUARE)==0?$row->COL_VUCC_GRIDS:$row->COL_GRIDSQUARE; break;
- case 'Band': echo ' '; if($row->COL_SAT_NAME != null) { echo $row->COL_SAT_NAME; } else { echo strtolower($row->COL_BAND); }; break;
- case 'State': echo ' ' . ($row->COL_STATE); break;
- }
- echo ' ';
- switch($this->session->userdata('user_column4')==""?'Band':$this->session->userdata('user_column4')) {
- case 'Mode': echo ''; echo $row->COL_SUBMODE==null?$row->COL_MODE:$row->COL_SUBMODE; break;
- case 'RSTS': echo ' ' . $row->COL_RST_SENT; if ($row->COL_STX) { echo '' . $row->COL_STX . ' ';}if ($row->COL_STX_STRING) { echo '' . $row->COL_STX_STRING . ' ';}; break;
- case 'RSTR': echo ' ' . $row->COL_RST_RCVD; if ($row->COL_SRX) { echo '' . $row->COL_SRX . ' ';}if ($row->COL_SRX_STRING) { echo '' . $row->COL_SRX_STRING . ' ';}; break;
- case 'Country': echo ' ' . ucwords(strtolower(($row->COL_COUNTRY)));; break;
- case 'IOTA': echo ' ' . ($row->COL_IOTA); break;
- case 'SOTA': echo ' ' . ($row->COL_SOTA_REF); break;
- case 'Grid': echo ' '; echo strlen($row->COL_GRIDSQUARE)==0?$row->COL_VUCC_GRIDS:$row->COL_GRIDSQUARE; break;
- case 'Band': echo ' '; if($row->COL_SAT_NAME != null) { echo $row->COL_SAT_NAME; } else { echo strtolower($row->COL_BAND); }; break;
- case 'State': echo ' ' . ($row->COL_STATE); break;
- }
- echo ' ';
- switch($this->session->userdata('user_column5')==""?'Country':$this->session->userdata('user_column5')) {
- case 'Mode': echo ''; echo $row->COL_SUBMODE==null?$row->COL_MODE:$row->COL_SUBMODE; break;
- case 'RSTS': echo ' ' . $row->COL_RST_SENT; if ($row->COL_STX) { echo '' . $row->COL_STX . ' ';}if ($row->COL_STX_STRING) { echo '' . $row->COL_STX_STRING . ' ';}; break;
- case 'RSTR': echo ' ' . $row->COL_RST_RCVD; if ($row->COL_SRX) { echo '' . $row->COL_SRX . ' ';}if ($row->COL_SRX_STRING) { echo '' . $row->COL_SRX_STRING . ' ';}; break;
- case 'Country': echo ' ' . ucwords(strtolower(($row->COL_COUNTRY)));; break;
- case 'IOTA': echo ' ' . ($row->COL_IOTA); break;
- case 'SOTA': echo ' ' . ($row->COL_SOTA_REF); break;
- case 'Grid': echo ' '; echo strlen($row->COL_GRIDSQUARE)==0?$row->COL_VUCC_GRIDS:$row->COL_GRIDSQUARE; break;
- case 'Band': echo ' '; if($row->COL_SAT_NAME != null) { echo $row->COL_SAT_NAME; } else { echo strtolower($row->COL_BAND); }; break;
- case 'State': echo ' ' . ($row->COL_STATE); break;
- }
- echo ' ';
+ echo_table_col($row, $this->session->userdata('user_column1')==""?'Mode':$this->session->userdata('user_column1'));
+ echo_table_col($row, $this->session->userdata('user_column2')==""?'RSTS':$this->session->userdata('user_column2'));
+ echo_table_col($row, $this->session->userdata('user_column3')==""?'RSTR':$this->session->userdata('user_column3'));
+ echo_table_col($row, $this->session->userdata('user_column4')==""?'Band':$this->session->userdata('user_column4'));
+ echo_table_col($row, $this->session->userdata('user_column5')==""?'Country':$this->session->userdata('user_column5'));
+
if(($this->config->item('use_auth')) && ($this->session->userdata('user_type') >= 2)) { ?>
'.$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 '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 '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 '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;
}
}
function echo_table_col($row, $name) {
switch($name) {
case 'Mode': echo ''; echo $row->COL_SUBMODE==null?$row->COL_MODE:$row->COL_SUBMODE . ' '; break;
- case 'RSTS': echo '' . $row->COL_RST_SENT; if ($row->COL_STX_STRING) { echo '' . $row->COL_STX_STRING . ' ';} echo ' '; break;
- case 'RSTR': echo '' . $row->COL_RST_RCVD; if ($row->COL_SRX_STRING) { echo '' . $row->COL_SRX_STRING . ' ';} echo ' '; break;
+ case 'RSTS': echo '' . $row->COL_RST_SENT; if ($row->COL_STX) { echo '' . $row->COL_STX . ' ';} if ($row->COL_STX_STRING) { echo '' . $row->COL_STX_STRING . ' ';} echo ' '; break;
+ case 'RSTR': echo '' . $row->COL_RST_RCVD; if ($row->COL_SRX) { echo '' . $row->COL_SRX . ' ';} if ($row->COL_SRX_STRING) { echo '' . $row->COL_SRX_STRING . ' ';} echo ' '; break;
case 'Country': echo '' . ucwords(strtolower(($row->COL_COUNTRY))) . ' '; break;
case 'IOTA': echo '' . ($row->COL_IOTA) . ' '; break;
case 'SOTA': echo '' . ($row->COL_SOTA_REF) . ' '; break;
From d44831d3f581ef3324f02144c67369db37d63ea4 Mon Sep 17 00:00:00 2001
From: Andreas <6977712+AndreasK79@users.noreply.github.com>
Date: Sat, 16 Oct 2021 16:03:54 +0200
Subject: [PATCH 10/37] [Contesting] Added selection for copying received
exchange over to DOK field in the database.
---
application/controllers/Contesting.php | 1 -
application/models/Logbook_model.php | 8 ++++++-
application/views/contesting/index.php | 22 +++++++------------
assets/js/sections/contesting.js | 29 +++++++-------------------
4 files changed, 23 insertions(+), 37 deletions(-)
diff --git a/application/controllers/Contesting.php b/application/controllers/Contesting.php
index 0200380a..6beb4edf 100644
--- a/application/controllers/Contesting.php
+++ b/application/controllers/Contesting.php
@@ -22,7 +22,6 @@ class Contesting extends CI_Controller {
$this->load->model('contesting_model');
$data['my_gridsquare'] = $this->stations->find_gridsquare();
- $data['my_dok'] = ""; // For now, this is set to blank, but need function to get
$data['radios'] = $this->cat->radios();
$data['modes'] = $this->modes->active();
$data['contestnames'] = $this->contesting_model->getActivecontests();
diff --git a/application/models/Logbook_model.php b/application/models/Logbook_model.php
index ab98d8d6..72fc2dd0 100755
--- a/application/models/Logbook_model.php
+++ b/application/models/Logbook_model.php
@@ -98,6 +98,12 @@ class Logbook_model extends CI_Model {
$clean_county_input = null;
}
+ if($this->input->post('copyexchangetodok')) {
+ $dark_dok = $this->input->post('exch_recv');
+ } else {
+ $dark_dok = $this->input->post('darc_dok');
+ }
+
// Create array with QSO Data
$data = array(
'COL_TIME_ON' => $datetime,
@@ -154,7 +160,7 @@ class Logbook_model extends CI_Model {
'COL_SOTA_REF' => trim($this->input->post('sota_ref')),
'COL_SIG' => trim($this->input->post('sig')),
'COL_SIG_INFO' => trim($this->input->post('sig_info')),
- 'COL_DARC_DOK' => trim($this->input->post('darc_dok')),
+ 'COL_DARC_DOK' => trim($dark_dok),
'COL_NOTES' => $this->input->post('notes'),
);
diff --git a/application/views/contesting/index.php b/application/views/contesting/index.php
index 140d9a04..599658ed 100644
--- a/application/views/contesting/index.php
+++ b/application/views/contesting/index.php
@@ -13,9 +13,6 @@
None
- DOK
- DOK + Serial
- DOK + Gridsquare
Exchange
Gridsquare
Serial
@@ -128,11 +125,6 @@
-
- DOK (S)
-
-
-
lang->line('gen_hamradio_exchange_sent_short'); ?>
@@ -152,11 +144,6 @@
Serial (R)
-
-
- DOK (R)
-
-
@@ -226,5 +221,4 @@
diff --git a/assets/js/sections/contesting.js b/assets/js/sections/contesting.js
index ff64a89e..8f6086d9 100644
--- a/assets/js/sections/contesting.js
+++ b/assets/js/sections/contesting.js
@@ -26,6 +26,7 @@ function reset_contest_session() {
setExchangetype("None");
$("#contestname").val("Other").change();
$(".contest_qso_table_contents").empty();
+ $('#copyexchangetodok').prop('checked', false);
localStorage.removeItem("contestid");
localStorage.removeItem("exchangetype");
@@ -36,6 +37,7 @@ function reset_contest_session() {
localStorage.removeItem("serialsent");
localStorage.removeItem("gridsquarereceived");
localStorage.removeItem("gridsquaresent");
+ localStorage.removeItem("copytodok");
}
// Storing the contestid in contest session
@@ -240,8 +242,6 @@ function setExchangetype(exchangetype) {
$(".serialr").hide();
$(".gridsquarer").hide();
$(".gridsquares").hide();
- $(".doks").hide();
- $(".dokr").hide();
$("#exch_serial_s").val("");
var serialsent = localStorage.getItem("serialsent");
@@ -258,23 +258,6 @@ function setExchangetype(exchangetype) {
$(".serials").show();
$(".serialr").show();
}
- else if (exchangetype == 'Dok') {
- $(".doks").show();
- $(".dokr").show();
- }
- else if (exchangetype == 'Serialdok') {
- $("#exch_serial_s").val(serialsent);
- $(".serials").show();
- $(".serialr").show();
- $(".doks").show();
- $(".dokr").show();
- }
- else if (exchangetype == 'Dokgridsquare') {
- $(".gridsquarer").show();
- $(".gridsquares").show();
- $(".doks").show();
- $(".dokr").show();
- }
else if (exchangetype == 'Serialexchange') {
$("#exch_serial_s").val(serialsent);
$(".exchanger").show();
@@ -365,6 +348,7 @@ function logQso() {
localStorage.setItem("serialsent", $("#exch_serial_s").val());
localStorage.setItem("gridsquarereceived", $("#exch_gridsquare_r").val());
localStorage.setItem("gridsquaresent", $("#exch_gridsquare_s").val());
+ localStorage.setItem("copytodok", $('#copyexchangetodok').is(":checked"));
}
});
}
@@ -372,14 +356,17 @@ function logQso() {
// We are restoring the settings in the contest logging form here
function restoreContestSession() {
- var contestname = localStorage.getItem("contestid");
+ var dokcopy = localStorage.getItem("copytodok");
+ if (dokcopy != null) {
+ $('#copyexchangetodok').prop('checked', true);
+ }
+ var contestname = localStorage.getItem("contestid");
if (contestname != null) {
$("#contestname").val(contestname);
}
var exchangetype = localStorage.getItem("exchangetype");
-
if (exchangetype != null) {
$("#exchangetype").val(exchangetype);
setExchangetype(exchangetype);
From 451beca21ec68b7ec29d8759f5c779190a764cee Mon Sep 17 00:00:00 2001
From: Kim - DG9VH
Date: Sun, 17 Oct 2021 17:19:13 +0200
Subject: [PATCH 11/37] Fixed Typo in eqsl_last_qsl_rcvd_date
There was the wrong database-field compared so eqsl_last_qsl_rcvd_date() always delivered 1970/01/01 as date.
---
application/models/Logbook_model.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/application/models/Logbook_model.php b/application/models/Logbook_model.php
index 72fc2dd0..2bfdb980 100755
--- a/application/models/Logbook_model.php
+++ b/application/models/Logbook_model.php
@@ -1512,7 +1512,7 @@ class Logbook_model extends CI_Model {
$query = $this->db->get($this->config->item('table_name'));
$row = $query->row();
- if (isset($row->COL_EQSL_QSLDATE)){
+ if (isset($row->COL_EQSL_QSLRDATE)){
return $row->COL_EQSL_QSLRDATE;
}else{
// No previous date (first time import has run?), so choose UNIX EPOCH!
From 93b6cba00ea63898706c69ec7e5e72b733ca36fb Mon Sep 17 00:00:00 2001
From: Andreas <6977712+AndreasK79@users.noreply.github.com>
Date: Sat, 23 Oct 2021 19:44:41 +0200
Subject: [PATCH 12/37] [Contests] Added buttons for activate/deactivate all
---
application/controllers/Contesting.php | 16 +++++
application/models/Contesting_model.php | 20 ++++++
application/views/contesting/add.php | 6 +-
assets/js/sections/contestingnames.js | 89 +++++++++++++++++++------
4 files changed, 109 insertions(+), 22 deletions(-)
diff --git a/application/controllers/Contesting.php b/application/controllers/Contesting.php
index 6beb4edf..bcb9f46e 100644
--- a/application/controllers/Contesting.php
+++ b/application/controllers/Contesting.php
@@ -134,4 +134,20 @@ class Contesting extends CI_Controller {
echo json_encode(array('message' => 'OK'));
return;
}
+
+ public function deactivateall() {
+ $this->load->model('Contesting_model');
+ $this->Contesting_model->deactivateall();
+ header('Content-Type: application/json');
+ echo json_encode(array('message' => 'OK'));
+ return;
+ }
+
+ public function activateall() {
+ $this->load->model('Contesting_model');
+ $this->Contesting_model->activateall();
+ header('Content-Type: application/json');
+ echo json_encode(array('message' => 'OK'));
+ return;
+ }
}
diff --git a/application/models/Contesting_model.php b/application/models/Contesting_model.php
index a3832258..b026e759 100644
--- a/application/models/Contesting_model.php
+++ b/application/models/Contesting_model.php
@@ -122,4 +122,24 @@ class Contesting_model extends CI_Model {
$this->db->where('id', $id);
$this->db->update('contest', $data);
}
+
+ function activateall() {
+ $data = array(
+ 'active' => '1',
+ );
+
+ $this->db->update('contest', $data);
+
+ return true;
+ }
+
+ function deactivateall() {
+ $data = array(
+ 'active' => '0',
+ );
+
+ $this->db->update('contest', $data);
+
+ return true;
+ }
}
diff --git a/application/views/contesting/add.php b/application/views/contesting/add.php
index 661b6830..e62b9596 100644
--- a/application/views/contesting/add.php
+++ b/application/views/contesting/add.php
@@ -59,6 +59,10 @@
- Add a Contest
+
+ Add a Contest
+ Activate All
+ Deactivate All
+
diff --git a/assets/js/sections/contestingnames.js b/assets/js/sections/contestingnames.js
index 9e06db28..25f49fe5 100644
--- a/assets/js/sections/contestingnames.js
+++ b/assets/js/sections/contestingnames.js
@@ -2,9 +2,9 @@ $('.contesttable').DataTable({
"pageLength": 25,
responsive: false,
ordering: false,
- "scrollY": "400px",
+ "scrollY": "400px",
"scrollCollapse": true,
- "paging": false,
+ "paging": false,
"scrollX": true,
dom: 'Bfrtip',
buttons: [
@@ -13,7 +13,7 @@ $('.contesttable').DataTable({
});
// using this to change color of csv-button if dark mode is chosen
-var background = $('body').css( "background-color");
+var background = $('body').css("background-color");
if (background != ('rgb(255, 255, 255)')) {
$(".buttons-csv").css("color", "white");
@@ -23,7 +23,7 @@ function createContestDialog() {
$.ajax({
url: base_url + 'index.php/contesting/create',
type: 'post',
- success: function(html) {
+ success: function (html) {
BootstrapDialog.show({
title: 'Add Contest',
size: BootstrapDialog.SIZE_WIDE,
@@ -46,9 +46,11 @@ function createContest(form) {
$.ajax({
url: base_url + 'index.php/contesting/create',
type: 'post',
- data: {'name': form.contestname.value,
- 'adifname': form.adifcontestname.value},
- success: function(html) {
+ data: {
+ 'name': form.contestname.value,
+ 'adifname': form.adifcontestname.value
+ },
+ success: function (html) {
location.reload();
}
});
@@ -59,11 +61,11 @@ function deactivateContest(contestid) {
$.ajax({
url: base_url + 'index.php/contesting/deactivate',
type: 'post',
- data: {'id': contestid },
- success: function(html) {
+ data: { 'id': contestid },
+ success: function (html) {
$(".contest_" + contestid).text('not active');
- $('.btn_'+contestid).html('Activate');
- $('.btn_'+contestid).attr('onclick', 'activateContest('+contestid+')')
+ $('.btn_' + contestid).html('Activate');
+ $('.btn_' + contestid).attr('onclick', 'activateContest(' + contestid + ')')
}
});
}
@@ -72,11 +74,11 @@ function activateContest(contestid) {
$.ajax({
url: base_url + 'index.php/contesting/activate',
type: 'post',
- data: {'id': contestid },
- success: function(html) {
- $('.contest_'+contestid).text('active');
- $('.btn_'+contestid).html('Deactivate');
- $('.btn_'+contestid).attr('onclick', 'deactivateContest('+contestid+')')
+ data: { 'id': contestid },
+ success: function (html) {
+ $('.contest_' + contestid).text('active');
+ $('.btn_' + contestid).html('Deactivate');
+ $('.btn_' + contestid).attr('onclick', 'deactivateContest(' + contestid + ')')
}
});
}
@@ -84,19 +86,20 @@ function activateContest(contestid) {
function deleteContest(id, contest) {
BootstrapDialog.confirm({
title: 'DANGER',
- message: 'Warning! Are you sure you want to delete the following contest: ' + contest + '?' ,
+ message: 'Warning! Are you sure you want to delete the following contest: ' + contest + '?',
type: BootstrapDialog.TYPE_DANGER,
closable: true,
draggable: true,
btnOKClass: 'btn-danger',
- callback: function(result) {
- if(result) {
+ callback: function (result) {
+ if (result) {
$.ajax({
url: base_url + 'index.php/contesting/delete',
type: 'post',
- data: {'id': id
+ data: {
+ 'id': id
},
- success: function(data) {
+ success: function (data) {
$(".contest_" + id).parent("tr:first").remove(); // removes mode from table
}
});
@@ -104,3 +107,47 @@ function deleteContest(id, contest) {
}
});
}
+
+function activateAllContests() {
+ BootstrapDialog.confirm({
+ title: 'DANGER',
+ message: 'Warning! Are you sure you want to activate all contests?',
+ type: BootstrapDialog.TYPE_DANGER,
+ closable: true,
+ draggable: true,
+ btnOKClass: 'btn-danger',
+ callback: function (result) {
+ if (result) {
+ $.ajax({
+ url: base_url + 'index.php/contesting/activateall',
+ type: 'post',
+ success: function (data) {
+ location.reload();
+ }
+ });
+ }
+ }
+ });
+}
+
+function deactivateAllContests() {
+ BootstrapDialog.confirm({
+ title: 'DANGER',
+ message: 'Warning! Are you sure you want to deactivate all contests?',
+ type: BootstrapDialog.TYPE_DANGER,
+ closable: true,
+ draggable: true,
+ btnOKClass: 'btn-danger',
+ callback: function (result) {
+ if (result) {
+ $.ajax({
+ url: base_url + 'index.php/contesting/deactivateall',
+ type: 'post',
+ success: function (data) {
+ location.reload();
+ }
+ });
+ }
+ }
+ });
+}
\ No newline at end of file
From 6f266567a19b097b8c8543869b46f8254058080c Mon Sep 17 00:00:00 2001
From: Andreas <6977712+AndreasK79@users.noreply.github.com>
Date: Sat, 23 Oct 2021 19:55:57 +0200
Subject: [PATCH 13/37] [Modes] Added buttons for activate / activate all
---
application/controllers/Mode.php | 16 ++++++
application/models/Modes.php | 20 ++++++++
application/views/mode/index.php | 6 ++-
assets/js/sections/mode.js | 87 ++++++++++++++++++++++++--------
4 files changed, 108 insertions(+), 21 deletions(-)
diff --git a/application/controllers/Mode.php b/application/controllers/Mode.php
index 258e1a22..e3eab2e6 100644
--- a/application/controllers/Mode.php
+++ b/application/controllers/Mode.php
@@ -103,4 +103,20 @@ class Mode extends CI_Controller {
echo json_encode(array('message' => 'OK'));
return;
}
+
+ public function activateall() {
+ $this->load->model('modes');
+ $this->modes->activateall();
+ header('Content-Type: application/json');
+ echo json_encode(array('message' => 'OK'));
+ return;
+ }
+
+ public function deactivateall() {
+ $this->load->model('modes');
+ $this->modes->deactivateall();
+ header('Content-Type: application/json');
+ echo json_encode(array('message' => 'OK'));
+ return;
+ }
}
\ No newline at end of file
diff --git a/application/models/Modes.php b/application/models/Modes.php
index 07d9ec28..531c43ad 100644
--- a/application/models/Modes.php
+++ b/application/models/Modes.php
@@ -102,6 +102,26 @@ class Modes extends CI_Model {
return true;
}
+ function activateall() {
+ $data = array(
+ 'active' => '1',
+ );
+
+ $this->db->update('adif_modes', $data);
+
+ return true;
+ }
+
+ function deactivateall() {
+ $data = array(
+ 'active' => '0',
+ );
+
+ $this->db->update('adif_modes', $data);
+
+ return true;
+ }
+
}
?>
\ No newline at end of file
diff --git a/application/views/mode/index.php b/application/views/mode/index.php
index 0cc7f30f..06c4936a 100644
--- a/application/views/mode/index.php
+++ b/application/views/mode/index.php
@@ -61,6 +61,10 @@
- Create a Mode
+
+ Create a Mode
+ Activate All
+ Deactivate All
+
diff --git a/assets/js/sections/mode.js b/assets/js/sections/mode.js
index 7717736d..c84f5120 100644
--- a/assets/js/sections/mode.js
+++ b/assets/js/sections/mode.js
@@ -2,9 +2,9 @@ $('.modetable').DataTable({
"pageLength": 25,
responsive: false,
ordering: false,
- "scrollY": "500px",
+ "scrollY": "500px",
"scrollCollapse": true,
- "paging": false,
+ "paging": false,
"scrollX": true
});
@@ -12,7 +12,7 @@ function createModeDialog() {
$.ajax({
url: base_url + 'index.php/mode/create',
type: 'post',
- success: function(html) {
+ success: function (html) {
BootstrapDialog.show({
title: 'Create mode',
size: BootstrapDialog.SIZE_WIDE,
@@ -35,11 +35,13 @@ function createMode(form) {
$.ajax({
url: base_url + 'index.php/mode/create',
type: 'post',
- data: {'mode': form.mode.value,
+ data: {
+ 'mode': form.mode.value,
'submode': form.submode.value,
'qrgmode': form.qrgmode.value,
- 'active': form.active.value},
- success: function(html) {
+ 'active': form.active.value
+ },
+ success: function (html) {
location.reload();
}
});
@@ -50,11 +52,11 @@ function deactivateMode(modeid) {
$.ajax({
url: base_url + 'index.php/mode/deactivate',
type: 'post',
- data: {'id': modeid },
- success: function(html) {
+ data: { 'id': modeid },
+ success: function (html) {
$(".mode_" + modeid).text('not active');
- $('.btn_'+modeid).html('Activate');
- $('.btn_'+modeid).attr('onclick', 'activateMode('+modeid+')')
+ $('.btn_' + modeid).html('Activate');
+ $('.btn_' + modeid).attr('onclick', 'activateMode(' + modeid + ')')
}
});
}
@@ -63,11 +65,11 @@ function activateMode(modeid) {
$.ajax({
url: base_url + 'index.php/mode/activate',
type: 'post',
- data: {'id': modeid },
- success: function(html) {
- $('.mode_'+modeid).text('active');
- $('.btn_'+modeid).html('Deactivate');
- $('.btn_'+modeid).attr('onclick', 'deactivateMode('+modeid+')')
+ data: { 'id': modeid },
+ success: function (html) {
+ $('.mode_' + modeid).text('active');
+ $('.btn_' + modeid).html('Deactivate');
+ $('.btn_' + modeid).attr('onclick', 'deactivateMode(' + modeid + ')')
}
});
}
@@ -75,19 +77,20 @@ function activateMode(modeid) {
function deleteMode(id, mode) {
BootstrapDialog.confirm({
title: 'DANGER',
- message: 'Warning! Are you sure you want to delete the following mode: ' + mode + '?' ,
+ message: 'Warning! Are you sure you want to delete the following mode: ' + mode + '?',
type: BootstrapDialog.TYPE_DANGER,
closable: true,
draggable: true,
btnOKClass: 'btn-danger',
- callback: function(result) {
- if(result) {
+ callback: function (result) {
+ if (result) {
$.ajax({
url: base_url + 'index.php/mode/delete',
type: 'post',
- data: {'id': id
+ data: {
+ 'id': id
},
- success: function(data) {
+ success: function (data) {
$(".mode_" + id).parent("tr:first").remove(); // removes mode from table
}
});
@@ -95,3 +98,47 @@ function deleteMode(id, mode) {
}
});
}
+
+function activateAllModes() {
+ BootstrapDialog.confirm({
+ title: 'DANGER',
+ message: 'Warning! Are you sure you want to activate all modes?',
+ type: BootstrapDialog.TYPE_DANGER,
+ closable: true,
+ draggable: true,
+ btnOKClass: 'btn-danger',
+ callback: function (result) {
+ if (result) {
+ $.ajax({
+ url: base_url + 'index.php/mode/activateall',
+ type: 'post',
+ success: function (data) {
+ location.reload();
+ }
+ });
+ }
+ }
+ });
+}
+
+function deactivateAllModes() {
+ BootstrapDialog.confirm({
+ title: 'DANGER',
+ message: 'Warning! Are you sure you want to deactivate all modes?',
+ type: BootstrapDialog.TYPE_DANGER,
+ closable: true,
+ draggable: true,
+ btnOKClass: 'btn-danger',
+ callback: function (result) {
+ if (result) {
+ $.ajax({
+ url: base_url + 'index.php/mode/deactivateall',
+ type: 'post',
+ success: function (data) {
+ location.reload();
+ }
+ });
+ }
+ }
+ });
+}
\ No newline at end of file
From 36d1b754846c66f1230b25b40c0cae6583851d71 Mon Sep 17 00:00:00 2001
From: Andreas <6977712+AndreasK79@users.noreply.github.com>
Date: Sun, 24 Oct 2021 16:48:23 +0200
Subject: [PATCH 14/37] [Contesting] Implemented dupecheck
---
application/controllers/Contesting.php | 20 ++++++++++++++++++++
application/models/Contesting_model.php | 24 ++++++++++++++++++++++++
application/views/contesting/index.php | 1 +
assets/js/sections/contesting.js | 24 ++++++++++++++++++++++++
4 files changed, 69 insertions(+)
diff --git a/application/controllers/Contesting.php b/application/controllers/Contesting.php
index bcb9f46e..a32765ff 100644
--- a/application/controllers/Contesting.php
+++ b/application/controllers/Contesting.php
@@ -150,4 +150,24 @@ class Contesting extends CI_Controller {
echo json_encode(array('message' => 'OK'));
return;
}
+
+ /*
+ * Function is used for dupe-checking in contestinglogging
+ */
+ public function checkIfWorkedBefore() {
+ $call = $this->input->post('call');
+ $band = $this->input->post('band');
+ $mode = $this->input->post('mode');
+ $contest = $this->input->post('contest');
+ $qso = $this->input->post('qso');
+
+ $this->load->model('Contesting_model');
+ $result = $this->Contesting_model->checkIfWorkedBefore($call, $band, $mode, $contest, $qso);
+
+ header('Content-Type: application/json');
+ if ($result->num_rows()) {
+ echo json_encode(array('message' => 'Worked before'));
+ }
+ return;
+ }
}
diff --git a/application/models/Contesting_model.php b/application/models/Contesting_model.php
index b026e759..2486b7bd 100644
--- a/application/models/Contesting_model.php
+++ b/application/models/Contesting_model.php
@@ -142,4 +142,28 @@ class Contesting_model extends CI_Model {
return true;
}
+
+ function checkIfWorkedBefore($call, $band, $mode, $contest, $qso) {
+ $CI =& get_instance();
+ $CI->load->model('Stations');
+ $station_id = $CI->Stations->find_active();
+
+ $qsoarray = explode(',', $qso);
+
+ $date = DateTime::createFromFormat('d-m-Y H:i:s', $qsoarray[0]);
+ $date = $date->format('Y-m-d H:i:s');
+
+ $this->db->where('STATION_ID', $station_id);
+ $this->db->where('COL_CALL', xss_clean($call));
+ $this->db->where("COL_BAND", xss_clean($band));
+ $this->db->where("COL_CONTEST_ID", xss_clean($contest));
+ $this->db->where("COL_TIME_ON >=", $date);
+ $this->db->group_start();
+ $this->db->where("COL_MODE", xss_clean($mode));
+ $this->db->or_where("COL_SUBMODE", xss_clean($mode));
+ $this->db->group_end();
+ $query = $this->db->get($this->config->item('table_name'));
+
+ return $query;
+ }
}
diff --git a/application/views/contesting/index.php b/application/views/contesting/index.php
index 599658ed..d875b0d0 100644
--- a/application/views/contesting/index.php
+++ b/application/views/contesting/index.php
@@ -113,6 +113,7 @@
lang->line('gen_hamradio_callsign'); ?>
+
diff --git a/assets/js/sections/contesting.js b/assets/js/sections/contesting.js
index 8f6086d9..c6afd092 100644
--- a/assets/js/sections/contesting.js
+++ b/assets/js/sections/contesting.js
@@ -165,12 +165,33 @@ $("#callsign").keyup(function () {
$('.callsign-suggestions').text(result);
highlight(call.toUpperCase());
});
+ checkIfWorkedBefore();
}
else if (call.length <= 2) {
$('.callsign-suggestions').text("");
}
});
+function checkIfWorkedBefore() {
+ $('#callsign_info').text("");
+ $.ajax({
+ url: base_url + 'index.php/contesting/checkIfWorkedBefore',
+ type: 'post',
+ data: {
+ 'call': $("#callsign").val(),
+ 'mode': $("#mode").val(),
+ 'band': $("#band").val(),
+ 'contest': $("#contestname").val(),
+ 'qso': localStorage.getItem("qso")
+ },
+ success: function (result) {
+ if (result.message == 'Worked before') {
+ $('#callsign_info').text("Worked before!");
+ }
+ }
+ });
+}
+
function reset_log_fields() {
$('#name').val("");
$('.callsign-suggestions').text("");
@@ -181,6 +202,7 @@ function reset_log_fields() {
$('#exch_gridsquare_r').val("");
$("#callsign").focus();
setRst($("#mode").val());
+ $('#callsign_info').text("");
}
RegExp.escape = function (text) {
@@ -218,6 +240,7 @@ $('#mode').change(function () {
$('#frequency_rx').val("");
});
setRst($("#mode").val());
+ checkIfWorkedBefore();
});
/* Calculate Frequency */
@@ -227,6 +250,7 @@ $('#band').change(function () {
$('#frequency').val(result);
$('#frequency_rx').val("");
});
+ checkIfWorkedBefore();
});
$('#exchangetype').change(function () {
From 6d066da791b7b1030333e317d42035dd1ddfa8d1 Mon Sep 17 00:00:00 2001
From: ShadowMov
Date: Wed, 27 Oct 2021 23:35:27 +0800
Subject: [PATCH 15/37] eqsl: close root div
---
application/views/eqsl/export.php | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/application/views/eqsl/export.php b/application/views/eqsl/export.php
index 6e08311d..39e1b2d9 100644
--- a/application/views/eqsl/export.php
+++ b/application/views/eqsl/export.php
@@ -50,4 +50,5 @@
?>
-
\ No newline at end of file
+
+
From 6fcb023216f98fc093aa311b2b77cb9c860d73dd Mon Sep 17 00:00:00 2001
From: Andreas <6977712+AndreasK79@users.noreply.github.com>
Date: Thu, 28 Oct 2021 19:28:22 +0200
Subject: [PATCH 16/37] [Search] Replace O with slash when searching
---
application/views/interface_assets/footer.php | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/application/views/interface_assets/footer.php b/application/views/interface_assets/footer.php
index ec156bd8..cce1859f 100644
--- a/application/views/interface_assets/footer.php
+++ b/application/views/interface_assets/footer.php
@@ -619,14 +619,15 @@ i=0;
function searchButtonPress(){
event.preventDefault()
if ($('#callsign').val()) {
- $('#partial_view').load("logbook/search_result/" + $('#callsign').val(), function() {});
+ let fixedcall = $('#callsign').val();
+ $('#partial_view').load("logbook/search_result/" + fixedcall.replace('Ø', '0'), function() {});
}
}
$(document).ready(function(){
input->post('callsign') != "") { ?>
- $('#partial_view').load("logbook/search_result/input->post('callsign'); ?>", function() {
+ $('#partial_view').load("logbook/search_result/input->post('callsign')); ?>", function() {
});
@@ -634,10 +635,10 @@ $(document).on('keypress',function(e) {
if(e.which == 13) {
if ($('#callsign').val()) {
- $('#partial_view').load("logbook/search_result/" + $('#callsign').val(), function() {});
+ let fixedcall = $('#callsign').val();
+ $('#partial_view').load("logbook/search_result/" + fixedcall.replace('Ø', '0'), function() {});
}
-
event.preventDefault();
return false;
}
From 33868efa4c78ad9d9dd65c83f1d42f41e5f12c65 Mon Sep 17 00:00:00 2001
From: Andreas <6977712+AndreasK79@users.noreply.github.com>
Date: Sun, 31 Oct 2021 17:11:46 +0100
Subject: [PATCH 17/37] [Contest Logging] Bugfix for exchange logging.
---
application/models/Logbook_model.php | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/application/models/Logbook_model.php b/application/models/Logbook_model.php
index 2bfdb980..41c660cd 100755
--- a/application/models/Logbook_model.php
+++ b/application/models/Logbook_model.php
@@ -24,15 +24,15 @@ class Logbook_model extends CI_Model {
// Contest exchange, need to separate between serial and other type of exchange
if($this->input->post('exchangetype')) {
- $srx_string = $this->input->post('exch_recv');
- $stx_string = $this->input->post('exch_sent');
- $srx = $this->input->post('exch_serial_r');
- $stx = $this->input->post('exch_serial_s');
+ $srx_string = $this->input->post('exch_recv') == '' ? null : $this->input->post('exch_recv');
+ $stx_string = $this->input->post('exch_sent') == '' ? null : $this->input->post('exch_sent');
+ $srx = $this->input->post('exch_serial_r') == '' ? null : $this->input->post('exch_serial_r');
+ $stx = $this->input->post('exch_serial_s') == '' ? null : $this->input->post('exch_serial_s');
} else {
- $srx_string = null;
- $stx_string = null;
- $srx = null;
- $stx = null;
+ $srx_string = null;
+ $stx_string = null;
+ $srx = null;
+ $stx = null;
}
if($this->input->post('contestname')) {
From 250c8e554ee24392d3b746552ef96a44417ef91e Mon Sep 17 00:00:00 2001
From: Andreas <6977712+AndreasK79@users.noreply.github.com>
Date: Sun, 31 Oct 2021 17:18:42 +0100
Subject: [PATCH 18/37] [Installer] Directory fix
---
install/includes/core_class.php | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/install/includes/core_class.php b/install/includes/core_class.php
index 51f5d733..37604e26 100644
--- a/install/includes/core_class.php
+++ b/install/includes/core_class.php
@@ -26,7 +26,7 @@ class Core {
}
if($data['directory'] != "") {
- if (file_exists("../".$data['directory'])) {
+ if (file_exists($_SERVER['DOCUMENT_ROOT'].$data['directory'])) {
//pass folders real
$counter++;
} else {
@@ -56,7 +56,7 @@ class Core {
// Config path
$template_path = 'config/database.php';
- $output_path = '../application/config/database.php';
+ $output_path = $_SERVER['DOCUMENT_ROOT'].$data['directory'].'/application/config/database.php';
// Open the file
$database_file = file_get_contents($template_path);
@@ -92,7 +92,7 @@ class Core {
// Config path
$template_path = 'config/config.php';
- $output_path = '../application/config/config.php';
+ $output_path = $_SERVER['DOCUMENT_ROOT'].$data['directory'].'/application/config/config.php';
// Open the file
$database_file = file_get_contents($template_path);
From 3d883409a12addb18ae7d81ef7ddf879f8e2535d Mon Sep 17 00:00:00 2001
From: iddq
Date: Mon, 1 Nov 2021 15:22:26 +0100
Subject: [PATCH 19/37] Added Operator (COL_OPERATOR) to possible columns
---
application/language/english/general_words_lang.php | 1 +
application/views/user/add.php | 5 +++++
application/views/user/edit.php | 5 +++++
application/views/view_log/partial/log_ajax.php | 3 +++
4 files changed, 14 insertions(+)
diff --git a/application/language/english/general_words_lang.php b/application/language/english/general_words_lang.php
index 3454a706..4501b673 100644
--- a/application/language/english/general_words_lang.php
+++ b/application/language/english/general_words_lang.php
@@ -96,6 +96,7 @@ $lang['gen_hamradio_state'] = 'State';
$lang['gen_hamradio_iota'] = 'IOTA';
$lang['gen_hamradio_sota'] = 'SOTA';
$lang['gen_hamradio_gridsquare'] = 'Gridsquare';
+$lang['gen_hamradio_operator'] = 'Operator';
$lang['gen_hamradio_sig'] = 'Sig';
$lang['gen_hamradio_sig_info'] = 'Sig Info';
diff --git a/application/views/user/add.php b/application/views/user/add.php
index d8421608..37a9f119 100644
--- a/application/views/user/add.php
+++ b/application/views/user/add.php
@@ -149,6 +149,7 @@
lang->line('gen_hamradio_sota'); ?>
lang->line('gen_hamradio_state'); ?>
lang->line('gen_hamradio_gridsquare'); ?>
+ lang->line('gen_hamradio_operator'); ?>
@@ -164,6 +165,7 @@
lang->line('gen_hamradio_sota'); ?>
lang->line('gen_hamradio_state'); ?>
lang->line('gen_hamradio_gridsquare'); ?>
+ lang->line('gen_hamradio_operator'); ?>
@@ -179,6 +181,7 @@
lang->line('gen_hamradio_sota'); ?>
lang->line('gen_hamradio_state'); ?>
lang->line('gen_hamradio_gridsquare'); ?>
+ lang->line('gen_hamradio_operator'); ?>
@@ -194,6 +197,7 @@
lang->line('gen_hamradio_sota'); ?>
lang->line('gen_hamradio_state'); ?>
lang->line('gen_hamradio_gridsquare'); ?>
+ lang->line('gen_hamradio_operator'); ?>
@@ -209,6 +213,7 @@
lang->line('gen_hamradio_sota'); ?>
lang->line('gen_hamradio_state'); ?>
lang->line('gen_hamradio_gridsquare'); ?>
+ lang->line('gen_hamradio_operator'); ?>
diff --git a/application/views/user/edit.php b/application/views/user/edit.php
index a4503096..923318ea 100644
--- a/application/views/user/edit.php
+++ b/application/views/user/edit.php
@@ -335,6 +335,7 @@
>lang->line('gen_hamradio_sota'); ?>
>lang->line('gen_hamradio_state'); ?>
>lang->line('gen_hamradio_gridsquare'); ?>
+ lang->line('gen_hamradio_operator'); ?>
@@ -350,6 +351,7 @@
>lang->line('gen_hamradio_sota'); ?>
>lang->line('gen_hamradio_state'); ?>
>lang->line('gen_hamradio_gridsquare'); ?>
+ lang->line('gen_hamradio_operator'); ?>
@@ -365,6 +367,7 @@
>lang->line('gen_hamradio_sota'); ?>
>lang->line('gen_hamradio_state'); ?>
>lang->line('gen_hamradio_gridsquare'); ?>
+ lang->line('gen_hamradio_operator'); ?>
@@ -380,6 +383,7 @@
>lang->line('gen_hamradio_sota'); ?>
>lang->line('gen_hamradio_state'); ?>
>lang->line('gen_hamradio_gridsquare'); ?>
+ lang->line('gen_hamradio_operator'); ?>
@@ -394,6 +398,7 @@
>lang->line('gen_hamradio_sota'); ?>
>lang->line('gen_hamradio_state'); ?>
>lang->line('gen_hamradio_gridsquare'); ?>
+ lang->line('gen_hamradio_operator'); ?>
diff --git a/application/views/view_log/partial/log_ajax.php b/application/views/view_log/partial/log_ajax.php
index dba57a51..6460ae1b 100644
--- a/application/views/view_log/partial/log_ajax.php
+++ b/application/views/view_log/partial/log_ajax.php
@@ -10,6 +10,8 @@ function echo_table_header_col($ctx, $name) {
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;
+
}
}
@@ -24,6 +26,7 @@ function echo_table_col($row, $name) {
case 'Grid': echo ''; echo strlen($row->COL_GRIDSQUARE)==0?$row->COL_VUCC_GRIDS:$row->COL_GRIDSQUARE . ' '; break;
case 'Band': echo ''; if($row->COL_SAT_NAME != null) { echo $row->COL_SAT_NAME; } else { echo strtolower($row->COL_BAND); } echo ' '; break;
case 'State': echo '' . ($row->COL_STATE) . ' '; break;
+ case 'Operator':echo '' . ($row->COL_OPERATOR) . ' '; break;
}
}
?>
From 40a77dbcd279bcd0ed78e8945c231819ce130cc6 Mon Sep 17 00:00:00 2001
From: iddq
Date: Mon, 1 Nov 2021 18:38:18 +0100
Subject: [PATCH 20/37] Added Operator (COL_OPERATOR) to possible columns
---
application/views/user/edit.php | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/application/views/user/edit.php b/application/views/user/edit.php
index 923318ea..abee7af1 100644
--- a/application/views/user/edit.php
+++ b/application/views/user/edit.php
@@ -335,7 +335,7 @@
>lang->line('gen_hamradio_sota'); ?>
>lang->line('gen_hamradio_state'); ?>
>lang->line('gen_hamradio_gridsquare'); ?>
- lang->line('gen_hamradio_operator'); ?>
+ >lang->line('gen_hamradio_operator'); ?>
@@ -351,7 +351,7 @@
>lang->line('gen_hamradio_sota'); ?>
>lang->line('gen_hamradio_state'); ?>
>lang->line('gen_hamradio_gridsquare'); ?>
- lang->line('gen_hamradio_operator'); ?>
+ >lang->line('gen_hamradio_operator'); ?>
@@ -367,7 +367,7 @@
>lang->line('gen_hamradio_sota'); ?>
>lang->line('gen_hamradio_state'); ?>
>lang->line('gen_hamradio_gridsquare'); ?>
- lang->line('gen_hamradio_operator'); ?>
+ >lang->line('gen_hamradio_operator'); ?>
@@ -383,7 +383,7 @@
>lang->line('gen_hamradio_sota'); ?>
>lang->line('gen_hamradio_state'); ?>
>lang->line('gen_hamradio_gridsquare'); ?>
- lang->line('gen_hamradio_operator'); ?>
+ >lang->line('gen_hamradio_operator'); ?>
@@ -398,7 +398,7 @@
>lang->line('gen_hamradio_sota'); ?>
>lang->line('gen_hamradio_state'); ?>
>lang->line('gen_hamradio_gridsquare'); ?>
- lang->line('gen_hamradio_operator'); ?>
+ >lang->line('gen_hamradio_operator'); ?>
From 144faa5c4c8281b6d792bd6e333b464b70d90443 Mon Sep 17 00:00:00 2001
From: ShadowMov
Date: Wed, 3 Nov 2021 00:51:25 +0800
Subject: [PATCH 21/37] [i18n] add translation Chinese Simplified
---
.../chinese_simplified/account_lang.php | 10 ++
.../chinese_simplified/contesting_lang.php | 18 +++
.../chinese_simplified/general_words_lang.php | 111 ++++++++++++++++++
.../language/chinese_simplified/index.html | 10 ++
.../language/chinese_simplified/lotw_lang.php | 52 ++++++++
.../chinese_simplified/notes_lang.php | 23 ++++
.../chinese_simplified/qslcard_lang.php | 18 +++
.../language/chinese_simplified/qso_lang.php | 30 +++++
8 files changed, 272 insertions(+)
create mode 100644 application/language/chinese_simplified/account_lang.php
create mode 100644 application/language/chinese_simplified/contesting_lang.php
create mode 100644 application/language/chinese_simplified/general_words_lang.php
create mode 100644 application/language/chinese_simplified/index.html
create mode 100644 application/language/chinese_simplified/lotw_lang.php
create mode 100644 application/language/chinese_simplified/notes_lang.php
create mode 100644 application/language/chinese_simplified/qslcard_lang.php
create mode 100644 application/language/chinese_simplified/qso_lang.php
diff --git a/application/language/chinese_simplified/account_lang.php b/application/language/chinese_simplified/account_lang.php
new file mode 100644
index 00000000..98c95c79
--- /dev/null
+++ b/application/language/chinese_simplified/account_lang.php
@@ -0,0 +1,10 @@
+
+
+ 403 Forbidden
+
+
+
+Directory access is forbidden.
+
+
+