diff --git a/.gitignore b/.gitignore
index ca591b75..39d9a71b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,6 +11,7 @@
/images/eqsl_card_images/*.jpg
/updates/clublog_scp.txt
/assets/qslcard/*
+/assets/js/sections/custom.js
.idea/*
.DS_Store
sync.sh
diff --git a/application/config/migration.php b/application/config/migration.php
index 4a7774a3..98fd0f82 100644
--- a/application/config/migration.php
+++ b/application/config/migration.php
@@ -22,7 +22,7 @@ $config['migration_enabled'] = TRUE;
|
*/
-$config['migration_version'] = 153;
+$config['migration_version'] = 154;
/*
|--------------------------------------------------------------------------
diff --git a/application/controllers/Dashboard.php b/application/controllers/Dashboard.php
index 6f4f1b36..8a238d6f 100644
--- a/application/controllers/Dashboard.php
+++ b/application/controllers/Dashboard.php
@@ -110,6 +110,7 @@ class Dashboard extends CI_Controller {
$data['last_five_qsos'] = $this->logbook_model->get_last_qsos('18', $logbooks_locations_array);
$data['vucc'] = $this->vucc->fetchVuccSummary();
+ $data['vuccSAT'] = $this->vucc->fetchVuccSummary('SAT');
$data['page_title'] = "Dashboard";
diff --git a/application/language/bulgarian/awards_lang.php b/application/language/bulgarian/awards_lang.php
index 611ee016..00bf3286 100644
--- a/application/language/bulgarian/awards_lang.php
+++ b/application/language/bulgarian/awards_lang.php
@@ -156,7 +156,7 @@ ________________________________________________________________________________
$lang['awards_vucc_description_ln1'] = "VUCC - VHF/UHF Century Club Award";
$lang['awards_vucc_description_ln2'] = "The VHF/UHF Century Club Award is given for a minimum number of worked and confirmed gridsquares on a desired band.";
-$lang['awards_vucc_description_ln3'] = "Official information and the rules can be found in this document: Click here.";
+$lang['awards_vucc_description_ln3'] = "Official information and the rules can be found in this document: Click here.";
$lang['awards_vucc_description_ln4'] = "Only VHF/UHF bands are relevant.";
diff --git a/application/language/chinese_simplified/awards_lang.php b/application/language/chinese_simplified/awards_lang.php
index 611ee016..00bf3286 100644
--- a/application/language/chinese_simplified/awards_lang.php
+++ b/application/language/chinese_simplified/awards_lang.php
@@ -156,7 +156,7 @@ ________________________________________________________________________________
$lang['awards_vucc_description_ln1'] = "VUCC - VHF/UHF Century Club Award";
$lang['awards_vucc_description_ln2'] = "The VHF/UHF Century Club Award is given for a minimum number of worked and confirmed gridsquares on a desired band.";
-$lang['awards_vucc_description_ln3'] = "Official information and the rules can be found in this document: Click here.";
+$lang['awards_vucc_description_ln3'] = "Official information and the rules can be found in this document: Click here.";
$lang['awards_vucc_description_ln4'] = "Only VHF/UHF bands are relevant.";
diff --git a/application/language/czech/awards_lang.php b/application/language/czech/awards_lang.php
index 611ee016..00bf3286 100644
--- a/application/language/czech/awards_lang.php
+++ b/application/language/czech/awards_lang.php
@@ -156,7 +156,7 @@ ________________________________________________________________________________
$lang['awards_vucc_description_ln1'] = "VUCC - VHF/UHF Century Club Award";
$lang['awards_vucc_description_ln2'] = "The VHF/UHF Century Club Award is given for a minimum number of worked and confirmed gridsquares on a desired band.";
-$lang['awards_vucc_description_ln3'] = "Official information and the rules can be found in this document: Click here.";
+$lang['awards_vucc_description_ln3'] = "Official information and the rules can be found in this document: Click here.";
$lang['awards_vucc_description_ln4'] = "Only VHF/UHF bands are relevant.";
diff --git a/application/language/dutch/awards_lang.php b/application/language/dutch/awards_lang.php
index 611ee016..00bf3286 100644
--- a/application/language/dutch/awards_lang.php
+++ b/application/language/dutch/awards_lang.php
@@ -156,7 +156,7 @@ ________________________________________________________________________________
$lang['awards_vucc_description_ln1'] = "VUCC - VHF/UHF Century Club Award";
$lang['awards_vucc_description_ln2'] = "The VHF/UHF Century Club Award is given for a minimum number of worked and confirmed gridsquares on a desired band.";
-$lang['awards_vucc_description_ln3'] = "Official information and the rules can be found in this document: Click here.";
+$lang['awards_vucc_description_ln3'] = "Official information and the rules can be found in this document: Click here.";
$lang['awards_vucc_description_ln4'] = "Only VHF/UHF bands are relevant.";
diff --git a/application/language/english/awards_lang.php b/application/language/english/awards_lang.php
index 611ee016..00bf3286 100644
--- a/application/language/english/awards_lang.php
+++ b/application/language/english/awards_lang.php
@@ -156,7 +156,7 @@ ________________________________________________________________________________
$lang['awards_vucc_description_ln1'] = "VUCC - VHF/UHF Century Club Award";
$lang['awards_vucc_description_ln2'] = "The VHF/UHF Century Club Award is given for a minimum number of worked and confirmed gridsquares on a desired band.";
-$lang['awards_vucc_description_ln3'] = "Official information and the rules can be found in this document: Click here.";
+$lang['awards_vucc_description_ln3'] = "Official information and the rules can be found in this document: Click here.";
$lang['awards_vucc_description_ln4'] = "Only VHF/UHF bands are relevant.";
diff --git a/application/language/finnish/awards_lang.php b/application/language/finnish/awards_lang.php
index 611ee016..00bf3286 100644
--- a/application/language/finnish/awards_lang.php
+++ b/application/language/finnish/awards_lang.php
@@ -156,7 +156,7 @@ ________________________________________________________________________________
$lang['awards_vucc_description_ln1'] = "VUCC - VHF/UHF Century Club Award";
$lang['awards_vucc_description_ln2'] = "The VHF/UHF Century Club Award is given for a minimum number of worked and confirmed gridsquares on a desired band.";
-$lang['awards_vucc_description_ln3'] = "Official information and the rules can be found in this document: Click here.";
+$lang['awards_vucc_description_ln3'] = "Official information and the rules can be found in this document: Click here.";
$lang['awards_vucc_description_ln4'] = "Only VHF/UHF bands are relevant.";
diff --git a/application/language/french/awards_lang.php b/application/language/french/awards_lang.php
index 6da125f3..ed0b29d5 100644
--- a/application/language/french/awards_lang.php
+++ b/application/language/french/awards_lang.php
@@ -156,7 +156,7 @@ ________________________________________________________________________________
$lang['awards_vucc_description_ln1'] = "VUCC - VHF/UHF Century Club Award";
$lang['awards_vucc_description_ln2'] = "The VHF/UHF Century Club Award is given for a minimum number of worked and confirmed gridsquares on a desired band.";
-$lang['awards_vucc_description_ln3'] = "Official information and the rules can be found in this document: Click here.";
+$lang['awards_vucc_description_ln3'] = "Official information and the rules can be found in this document: Click here.";
$lang['awards_vucc_description_ln4'] = "Only VHF/UHF bands are relevant.";
diff --git a/application/language/german/awards_lang.php b/application/language/german/awards_lang.php
index 8c70fe17..ea70866a 100644
--- a/application/language/german/awards_lang.php
+++ b/application/language/german/awards_lang.php
@@ -156,7 +156,7 @@ ________________________________________________________________________________
$lang['awards_vucc_description_ln1'] = "VUCC - VHF/UHF Century Club Award";
$lang['awards_vucc_description_ln2'] = "Der VHF/UHF Century Club Award wird für eine Mindestanzahl von gearbeiteten und bestätigten Gitterquadraten auf einem gewünschten Band verliehen.";
-$lang['awards_vucc_description_ln3'] = "Offizielle Informationen und Regeln finden Sie in diesem Dokument: Klick hier..";
+$lang['awards_vucc_description_ln3'] = "Offizielle Informationen und Regeln finden Sie in diesem Dokument: Klick hier..";
$lang['awards_vucc_description_ln4'] = "Nur VHF/UHF-Bänder sind relevant.";
diff --git a/application/language/greek/awards_lang.php b/application/language/greek/awards_lang.php
index 611ee016..00bf3286 100644
--- a/application/language/greek/awards_lang.php
+++ b/application/language/greek/awards_lang.php
@@ -156,7 +156,7 @@ ________________________________________________________________________________
$lang['awards_vucc_description_ln1'] = "VUCC - VHF/UHF Century Club Award";
$lang['awards_vucc_description_ln2'] = "The VHF/UHF Century Club Award is given for a minimum number of worked and confirmed gridsquares on a desired band.";
-$lang['awards_vucc_description_ln3'] = "Official information and the rules can be found in this document: Click here.";
+$lang['awards_vucc_description_ln3'] = "Official information and the rules can be found in this document: Click here.";
$lang['awards_vucc_description_ln4'] = "Only VHF/UHF bands are relevant.";
diff --git a/application/language/italian/awards_lang.php b/application/language/italian/awards_lang.php
index 611ee016..00bf3286 100644
--- a/application/language/italian/awards_lang.php
+++ b/application/language/italian/awards_lang.php
@@ -156,7 +156,7 @@ ________________________________________________________________________________
$lang['awards_vucc_description_ln1'] = "VUCC - VHF/UHF Century Club Award";
$lang['awards_vucc_description_ln2'] = "The VHF/UHF Century Club Award is given for a minimum number of worked and confirmed gridsquares on a desired band.";
-$lang['awards_vucc_description_ln3'] = "Official information and the rules can be found in this document: Click here.";
+$lang['awards_vucc_description_ln3'] = "Official information and the rules can be found in this document: Click here.";
$lang['awards_vucc_description_ln4'] = "Only VHF/UHF bands are relevant.";
diff --git a/application/language/polish/awards_lang.php b/application/language/polish/awards_lang.php
index 611ee016..00bf3286 100644
--- a/application/language/polish/awards_lang.php
+++ b/application/language/polish/awards_lang.php
@@ -156,7 +156,7 @@ ________________________________________________________________________________
$lang['awards_vucc_description_ln1'] = "VUCC - VHF/UHF Century Club Award";
$lang['awards_vucc_description_ln2'] = "The VHF/UHF Century Club Award is given for a minimum number of worked and confirmed gridsquares on a desired band.";
-$lang['awards_vucc_description_ln3'] = "Official information and the rules can be found in this document: Click here.";
+$lang['awards_vucc_description_ln3'] = "Official information and the rules can be found in this document: Click here.";
$lang['awards_vucc_description_ln4'] = "Only VHF/UHF bands are relevant.";
diff --git a/application/language/russian/awards_lang.php b/application/language/russian/awards_lang.php
index 611ee016..00bf3286 100644
--- a/application/language/russian/awards_lang.php
+++ b/application/language/russian/awards_lang.php
@@ -156,7 +156,7 @@ ________________________________________________________________________________
$lang['awards_vucc_description_ln1'] = "VUCC - VHF/UHF Century Club Award";
$lang['awards_vucc_description_ln2'] = "The VHF/UHF Century Club Award is given for a minimum number of worked and confirmed gridsquares on a desired band.";
-$lang['awards_vucc_description_ln3'] = "Official information and the rules can be found in this document: Click here.";
+$lang['awards_vucc_description_ln3'] = "Official information and the rules can be found in this document: Click here.";
$lang['awards_vucc_description_ln4'] = "Only VHF/UHF bands are relevant.";
diff --git a/application/language/spanish/awards_lang.php b/application/language/spanish/awards_lang.php
index 611ee016..00bf3286 100644
--- a/application/language/spanish/awards_lang.php
+++ b/application/language/spanish/awards_lang.php
@@ -156,7 +156,7 @@ ________________________________________________________________________________
$lang['awards_vucc_description_ln1'] = "VUCC - VHF/UHF Century Club Award";
$lang['awards_vucc_description_ln2'] = "The VHF/UHF Century Club Award is given for a minimum number of worked and confirmed gridsquares on a desired band.";
-$lang['awards_vucc_description_ln3'] = "Official information and the rules can be found in this document: Click here.";
+$lang['awards_vucc_description_ln3'] = "Official information and the rules can be found in this document: Click here.";
$lang['awards_vucc_description_ln4'] = "Only VHF/UHF bands are relevant.";
diff --git a/application/language/swedish/awards_lang.php b/application/language/swedish/awards_lang.php
index 611ee016..00bf3286 100644
--- a/application/language/swedish/awards_lang.php
+++ b/application/language/swedish/awards_lang.php
@@ -156,7 +156,7 @@ ________________________________________________________________________________
$lang['awards_vucc_description_ln1'] = "VUCC - VHF/UHF Century Club Award";
$lang['awards_vucc_description_ln2'] = "The VHF/UHF Century Club Award is given for a minimum number of worked and confirmed gridsquares on a desired band.";
-$lang['awards_vucc_description_ln3'] = "Official information and the rules can be found in this document: Click here.";
+$lang['awards_vucc_description_ln3'] = "Official information and the rules can be found in this document: Click here.";
$lang['awards_vucc_description_ln4'] = "Only VHF/UHF bands are relevant.";
diff --git a/application/language/turkish/awards_lang.php b/application/language/turkish/awards_lang.php
index 611ee016..00bf3286 100644
--- a/application/language/turkish/awards_lang.php
+++ b/application/language/turkish/awards_lang.php
@@ -156,7 +156,7 @@ ________________________________________________________________________________
$lang['awards_vucc_description_ln1'] = "VUCC - VHF/UHF Century Club Award";
$lang['awards_vucc_description_ln2'] = "The VHF/UHF Century Club Award is given for a minimum number of worked and confirmed gridsquares on a desired band.";
-$lang['awards_vucc_description_ln3'] = "Official information and the rules can be found in this document: Click here.";
+$lang['awards_vucc_description_ln3'] = "Official information and the rules can be found in this document: Click here.";
$lang['awards_vucc_description_ln4'] = "Only VHF/UHF bands are relevant.";
diff --git a/application/migrations/154_create_dxpedition_table.php b/application/migrations/154_create_dxpedition_table.php
new file mode 100644
index 00000000..a10562ea
--- /dev/null
+++ b/application/migrations/154_create_dxpedition_table.php
@@ -0,0 +1,60 @@
+db->table_exists('dxpedition')) {
+
+ $this->dbforge->add_field(array(
+ 'id' => array(
+ 'type' => 'INT',
+ 'constraint' => 6,
+ 'unsigned' => TRUE,
+ 'auto_increment' => TRUE,
+ 'null' => FALSE
+ ),
+ 'start_date' => array(
+ 'type' => 'DATE',
+ 'null' => TRUE,
+ ),
+ 'end_date' => array(
+ 'type' => 'DATE',
+ 'null' => TRUE,
+ ),
+ 'callsign' => array(
+ 'type' => 'VARCHAR',
+ 'constraint' => '255',
+ 'null' => FALSE,
+ ),
+ 'country' => array(
+ 'type' => 'VARCHAR',
+ 'constraint' => '255',
+ 'null' => TRUE,
+ ),
+ 'notes' => array(
+ 'type' => 'VARCHAR',
+ 'constraint' => '255',
+ 'null' => TRUE,
+ ),
+ ));
+ $this->dbforge->add_key('id', TRUE);
+ $this->dbforge->add_key('callsign', TRUE);
+
+ $this->dbforge->create_table('dxpedition');
+ }
+ }
+
+ public function down()
+ {
+ $this->dbforge->drop_table('dxpedition');
+ }
+}
diff --git a/application/models/Logbookadvanced_model.php b/application/models/Logbookadvanced_model.php
index 3f62409a..ff98b865 100644
--- a/application/models/Logbookadvanced_model.php
+++ b/application/models/Logbookadvanced_model.php
@@ -8,14 +8,15 @@ class Logbookadvanced_model extends CI_Model {
$binding = [$searchCriteria['user_id']];
if ((isset($searchCriteria['dupes'])) && ($searchCriteria['dupes'] !== '')) {
- $id_sql="select group_concat(x.qsoids separator ',') as QSO_IDs from (
- select GROUP_CONCAT(col_primary_key separator ',') as qsoids, COL_CALL, COL_MODE, COL_SUBMODE, station_callsign, COL_SAT_NAME, COL_BAND, min(col_time_on) Mintime, max(col_time_on) Maxtime from " . $this->config->item('table_name') . "
+ $id_sql="select GROUP_CONCAT(col_primary_key separator ',') as qsoids, COL_CALL, COL_MODE, COL_SUBMODE, station_callsign, COL_SAT_NAME, COL_BAND, min(col_time_on) Mintime, max(col_time_on) Maxtime from " . $this->config->item('table_name') . "
join station_profile on " . $this->config->item('table_name') . ".station_id = station_profile.station_id where station_profile.user_id=?
- group by col_call, col_mode, COL_SUBMODE, STATION_CALLSIGN, col_band, COL_SAT_NAME having count(*) > 1 and timediff(maxtime, mintime) < 3000) x";
+ group by col_call, col_mode, COL_SUBMODE, STATION_CALLSIGN, col_band, COL_SAT_NAME having count(*) > 1 and timediff(maxtime, mintime) < 3000";
$id_query = $this->db->query($id_sql, $searchCriteria['user_id']);
+ $ids2fetch = '';
foreach ($id_query->result() as $id) {
- $ids2fetch=$id->QSO_IDs;
+ $ids2fetch .= ','.$id->qsoids;
}
+ $ids2fetch = ltrim($ids2fetch, ',');
if ($ids2fetch ?? '' !== '') {
$conditions[] = "qsos.COL_PRIMARY_KEY in (".$ids2fetch.")";
} else {
diff --git a/application/models/Vucc.php b/application/models/Vucc.php
index 148feb60..8aba12a1 100644
--- a/application/models/Vucc.php
+++ b/application/models/Vucc.php
@@ -144,43 +144,47 @@ class VUCC extends CI_Model
* $confirmationMethod - qsl, lotw or both, use anything else to skip confirmed
*/
function get_vucc_summary($band, $confirmationMethod) {
- $CI =& get_instance();
- $CI->load->model('logbooks_model');
- $logbooks_locations_array = $CI->logbooks_model->list_logbook_relationships($this->session->userdata('active_station_logbook'));
+ $CI =& get_instance();
+ $CI->load->model('logbooks_model');
+ $logbooks_locations_array = $CI->logbooks_model->list_logbook_relationships($this->session->userdata('active_station_logbook'));
- if (!$logbooks_locations_array) {
- return null;
- }
+ if (!$logbooks_locations_array) {
+ return null;
+ }
- $location_list = "'".implode("','",$logbooks_locations_array)."'";
+ $location_list = "'".implode("','",$logbooks_locations_array)."'";
- $sql = "select distinct upper(substring(col_gridsquare, 1, 4)) gridsquare
- from " . $this->config->item('table_name') .
- " where station_id in (" . $location_list . ")" .
- " and col_gridsquare <> ''";
+ $sql = "select distinct upper(substring(log.col_gridsquare, 1, 4)) gridsquare
+ from " . $this->config->item('table_name') . " log".
+ " inner join bands b on (b.band = log.col_band) ".
+ " where log.station_id in (" . $location_list . ")" .
+ " and log.col_gridsquare <> ''";
+
+ if (($band == 'SAT') || ($band == 'All')) {
+ $sql.=" and b.bandgroup in ('vhf','uhf','shf','sat')";
+ }
- if ($confirmationMethod == 'both') {
- $sql .= " and (col_qsl_rcvd='Y' or col_lotw_qsl_rcvd='Y')";
- }
- else if ($confirmationMethod == 'qsl') {
- $sql .= " and col_qsl_rcvd='Y'";
- }
- else if ($confirmationMethod == 'lotw') {
- $sql .= " and col_lotw_qsl_rcvd='Y'";
- }
+ if ($confirmationMethod == 'both') {
+ $sql .= " and (log.col_qsl_rcvd='Y' or log.col_lotw_qsl_rcvd='Y')";
+ } else if ($confirmationMethod == 'qsl') {
+ $sql .= " and log.col_qsl_rcvd='Y'";
+ } else if ($confirmationMethod == 'lotw') {
+ $sql .= " and log.col_lotw_qsl_rcvd='Y'";
+ }
- if ($band != 'All') {
- if ($band == 'SAT') {
- $sql .= " and col_prop_mode ='" . $band . "'";
- } else {
- $sql .= " and col_prop_mode !='SAT'";
- $sql .= " and col_band ='" . $band . "'";
- }
- }
+ if ($band != 'All') {
+ if ($band == 'SAT') {
+ $sql .= " and log.col_prop_mode ='" . $band . "'";
+ } else {
+ $sql .= " and log.col_prop_mode !='SAT'";
+ $sql .= " and log.col_band ='" . $band . "'";
+ }
+ } else {
+ $sql .= " and log.col_prop_mode !='SAT'";
+ }
+ $query = $this->db->query($sql);
- $query = $this->db->query($sql);
-
- return $query->result_array();
+ return $query->result_array();
}
/*
@@ -333,12 +337,12 @@ class VUCC extends CI_Model
/*
* Builds the array to display worked/confirmed vucc on dashboard page
*/
- function fetchVuccSummary() {
+ function fetchVuccSummary($band = 'All') {
$totalGridConfirmed = array();
$totalGridWorked = array();
// Getting all the worked grids
- $col_gridsquare_worked = $this->get_vucc_summary('All', 'none');
+ $col_gridsquare_worked = $this->get_vucc_summary($band, 'none');
$workedGridArray = array();
if ($col_gridsquare_worked != null) {
@@ -350,7 +354,7 @@ class VUCC extends CI_Model
}
}
- $col_vucc_grids_worked = $this->get_vucc_summary_col_vucc('All', 'none');
+ $col_vucc_grids_worked = $this->get_vucc_summary_col_vucc($band, 'none');
if ($col_vucc_grids_worked != null) {
foreach ($col_vucc_grids_worked as $gridSplit) {
@@ -370,7 +374,7 @@ class VUCC extends CI_Model
}
// Getting all the confirmed grids
- $col_gridsquare_confirmed = $this->get_vucc_summary('All', 'both');
+ $col_gridsquare_confirmed = $this->get_vucc_summary($band, 'both');
if ($col_gridsquare_confirmed != null) {
$confirmedGridArray = array();
@@ -382,7 +386,7 @@ class VUCC extends CI_Model
}
}
- $col_vucc_grids_confirmed = $this->get_vucc_summary_col_vucc('All', 'both');
+ $col_vucc_grids_confirmed = $this->get_vucc_summary_col_vucc($band, 'both');
if ($col_vucc_grids_confirmed != null) {
foreach ($col_vucc_grids_confirmed as $gridSplit) {
@@ -401,8 +405,8 @@ class VUCC extends CI_Model
}
}
- $vuccArray['All']['worked'] = count($totalGridWorked);
- $vuccArray['All']['confirmed'] = count($totalGridConfirmed);
+ $vuccArray[$band]['worked'] = count($totalGridWorked);
+ $vuccArray[$band]['confirmed'] = count($totalGridConfirmed);
return $vuccArray;
}
diff --git a/application/views/adif/data/exportall.php b/application/views/adif/data/exportall.php
index 76dd8413..7c8b58da 100644
--- a/application/views/adif/data/exportall.php
+++ b/application/views/adif/data/exportall.php
@@ -1,6 +1,6 @@
session->userdata('user_callsign').'-'.date('dmY-Hi').'.adi"')
+ header('Content-Disposition: attachment; filename="'.$this->session->userdata('user_callsign').'-'.date('Ymd-Hi').'.adi"')
?>
Cloudlog ADIF export
3.1.4
diff --git a/application/views/adif/data/exportsat.php b/application/views/adif/data/exportsat.php
index 76dd8413..7c8b58da 100644
--- a/application/views/adif/data/exportsat.php
+++ b/application/views/adif/data/exportsat.php
@@ -1,6 +1,6 @@
session->userdata('user_callsign').'-'.date('dmY-Hi').'.adi"')
+ header('Content-Disposition: attachment; filename="'.$this->session->userdata('user_callsign').'-'.date('Ymd-Hi').'.adi"')
?>
Cloudlog ADIF export
3.1.4
diff --git a/application/views/awards/vucc/index.php b/application/views/awards/vucc/index.php
index 0b44a7e6..e483bcbd 100644
--- a/application/views/awards/vucc/index.php
+++ b/application/views/awards/vucc/index.php
@@ -25,11 +25,11 @@
$vucc) {
- echo '