Skip to content

Commit 8c2478d

Browse files
authored
Merge pull request #1964 from wavelog/dev
Release 2.0.4
2 parents ebed76c + c1182db commit 8c2478d

File tree

144 files changed

+41633
-33609
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

144 files changed

+41633
-33609
lines changed

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ assignees: ''
1010
**This is for reporting bugs with the code, if this issue is regarding setting up on your local server please use the discussions area**
1111

1212
**Describe the bug**
13-
Provide a clear and concise description of the bug.
13+
Provide a clear and concise description of the bug. Please update to the latest version of Wavelog before filing a bug to make sure the bug still exists and has not been resolved in the meantime.
1414

1515
**Version Information**
1616
We need some information about your versions. You can get all Information in the Admin > Debug Menu

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
/application/config/database.php
22
/application/config/config.php
3+
/application/config/*/config.php
4+
/application/config/*/database.php
35
/application/logs/*
46
/application/cache/*
57
/backup/*.adi
@@ -18,6 +20,7 @@
1820
.idea/*
1921
.DS_Store
2022
sync.sh
23+
docker-compose.yml
2124
*.p12
2225
*.swp
2326
.debug

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,11 +68,11 @@ Wavelog-support can be reached by creating an issue here at github. If you've an
6868

6969
Special thanks to our contributors, who are part of Wavelog by improving code!
7070

71-
[F4ANS](https://github.com/abarrau), [DG0TM](https://github.com/dg0tm), [DG9VH](https://github.com/dg9vh), [DJ3CE](https://github.com/dj3ce), [R1BLH](https://github.com/r1blh), [BG2ELG](https://github.com/violarulan), [DF1ASH](https://github.com/derFogel), [DB4SCW](https://github.com/DB4SCW), [VE2HEW](https://github.com/anthonydiiorio), [OK1GOD](https://github.com/filipmelik), [DJ1PW](https://github.com/winnieXY), [toseppo](https://github.com/toseppo), [N7DSB](https://github.com/desertblade), [BA7LAC](https://github.com/imlonghao), [AE4CE](https://github.com/ethancedwards8), [K1AF](https://github.com/patrickrb), [OE4BAM](https://github.com/MatykoBr), [HB9HJQ](https://github.com/zone11), [R3DHX](https://github.com/AleksdemSA)
71+
[F4ANS](https://github.com/abarrau), [DG0TM](https://github.com/dg0tm), [DG9VH](https://github.com/dg9vh), [DJ3CE](https://github.com/dj3ce), [R1BLH](https://github.com/r1blh), [BG2ELG](https://github.com/violarulan), [DF1ASH](https://github.com/derFogel), [DB4SCW](https://github.com/DB4SCW), [VE2HEW](https://github.com/anthonydiiorio), [OK1GOD](https://github.com/filipmelik), [DJ1PW](https://github.com/winnieXY), [toseppo](https://github.com/toseppo), [N7DSB](https://github.com/desertblade), [BA7LAC](https://github.com/imlonghao), [AE4CE](https://github.com/ethancedwards8), [K1AF](https://github.com/patrickrb), [OE4BAM](https://github.com/MatykoBr), [HB9HJQ](https://github.com/zone11), [R3DHX](https://github.com/AleksdemSA), [uiolee](https://github.com/uiolee), [VK3ARR](https://github.com/VK3ARR)
7272

7373
Translators:
7474

75-
[Ondřej Koloničný (OK1CDJ)](https://translate.wavelog.org/user/ok1cdj/), [Michael Skolsky (R1BLH)](https://translate.wavelog.org/user/R1BLH/), [Karuru (BG2ELG)](https://translate.wavelog.org/user/viola/), [Byt3](https://translate.wavelog.org/user/205er/), [BG6HJE](https://translate.wavelog.org/user/BG6HJE/), [Francisco (F4VSE)](https://translate.wavelog.org/user/kikosgc/), [Kim (DG9VH)](https://translate.wavelog.org/user/dg9vh/), [Casper van Lieburg (PA7DX)](https://translate.wavelog.org/user/pa7dx/), [Halil AYYILDIZ (TA2LG)](https://translate.wavelog.org/user/TA2LG/), [Michal Šiman](https://translate.wavelog.org/user/michalsiman/), [DN4BS](https://github.com/dn4bs), [Luca (IU2FRL)](https://translate.wavelog.org/user/iu2frl/), [Dragan Đorđević (4O4A)](https://translate.wavelog.org/user/4o4a/), [Dren Imeraj (Z63DRI)](https://translate.wavelog.org/user/Dren/), [Filip Melik (OK1GOD)](https://translate.wavelog.org/user/filipmelik/), [Petr (OK1PTR)](https://translate.wavelog.org/user/OK1PTR/), [Stefan (DB4SCW)](https://translate.wavelog.org/user/DB4SCW/), [F4JSU](https://translate.wavelog.org/user/F4JSU/), [Maciej](https://translate.wavelog.org/user/maciejla/), [imlonghao](https://translate.wavelog.org/user/imlonghao/), [Reiner Herrmann](https://translate.wavelog.org/user/reinerh/), [Jian ke (BG8IXZ)](https://translate.wavelog.org/user/bg8ixz/), [Fabian Franz](https://translate.wavelog.org/user/fabianfrz/), [Fatih Önder](https://translate.wavelog.org/user/cektor/), [Qing He(BD8DHF)](https://translate.wavelog.org/user/BD8DHF), [hellofinch](https://translate.wavelog.org/user/hellofinch/), [tviitkar (ES5TVI )](https://translate.wavelog.org/user/tviitkar/), [utkuyalcin](https://translate.wavelog.org/user/utkuyalcin/), [Plamen Panteleev (LZ1PPL)](https://translate.wavelog.org/user/lz1ppl/), [Bartek](https://translate.wavelog.org/user/atimias/), [Samir (DL4DCO)](https://translate.wavelog.org/user/DL4DCO/), [Stanisław Korzeń (SP5CRO)](https://translate.wavelog.org/user/sp5cro/), [wxy (BA7NID)](https://translate.wavelog.org/user/ba7nid/), [David Quental (CT1DRB)](https://translate.wavelog.org/user/ct1drb/), [Sebastian K.](https://translate.wavelog.org/user/sebket/), [Limes](https://translate.wavelog.org/user/limes-github/), [Ethan C. Edwards (AE4CE)](https://translate.wavelog.org/user/ethancedwards8/), [Simon Pribec](https://translate.wavelog.org/user/spribec/), [Christian Egger (HB9HJQ)](https://translate.wavelog.org/user/HB9HJQ/), [André Berends (PE1PQX)](https://translate.wavelog.org/user/PE1PQX/), [Alexander (PA8S)](https://translate.wavelog.org/user/pa8s/), [Jorgen Dahl (NU1T)](https://translate.wavelog.org/user/Jorgen/), [bel-pol](https://translate.wavelog.org/user/bel-pol/), [Mathias Regner (OE4BAM)](https://translate.wavelog.org/user/MatykoBr/), [remy56k](https://translate.wavelog.org/user/remy56k/), [YuanRetro](https://translate.wavelog.org/user/yuanretro/), [李宇翔](https://translate.wavelog.org/user/vastsea-wuji/), [Pascal HB9HCG](https://translate.wavelog.org/user/hb9hcg/), [André Aubin](https://github.com/lambda2)
75+
[Ondřej Koloničný (OK1CDJ)](https://translate.wavelog.org/user/ok1cdj/), [Michael Skolsky (R1BLH)](https://translate.wavelog.org/user/R1BLH/), [Karuru (BG2ELG)](https://translate.wavelog.org/user/viola/), [Byt3](https://translate.wavelog.org/user/205er/), [BG6HJE](https://translate.wavelog.org/user/BG6HJE/), [Francisco (F4VSE)](https://translate.wavelog.org/user/kikosgc/), [Kim (DG9VH)](https://translate.wavelog.org/user/dg9vh/), [Casper van Lieburg (PA7DX)](https://translate.wavelog.org/user/pa7dx/), [Halil AYYILDIZ (TA2LG)](https://translate.wavelog.org/user/TA2LG/), [Michal Šiman](https://translate.wavelog.org/user/michalsiman/), [DN4BS](https://github.com/dn4bs), [Luca (IU2FRL)](https://translate.wavelog.org/user/iu2frl/), [Dragan Đorđević (4O4A)](https://translate.wavelog.org/user/4o4a/), [Dren Imeraj (Z63DRI)](https://translate.wavelog.org/user/Dren/), [Filip Melik (OK1GOD)](https://translate.wavelog.org/user/filipmelik/), [Petr (OK1PTR)](https://translate.wavelog.org/user/OK1PTR/), [Stefan (DB4SCW)](https://translate.wavelog.org/user/DB4SCW/), [F4JSU](https://translate.wavelog.org/user/F4JSU/), [Maciej](https://translate.wavelog.org/user/maciejla/), [imlonghao](https://translate.wavelog.org/user/imlonghao/), [Reiner Herrmann](https://translate.wavelog.org/user/reinerh/), [Jian ke (BG8IXZ)](https://translate.wavelog.org/user/bg8ixz/), [Fabian Franz](https://translate.wavelog.org/user/fabianfrz/), [Fatih Önder](https://translate.wavelog.org/user/cektor/), [Qing He(BD8DHF)](https://translate.wavelog.org/user/BD8DHF), [hellofinch](https://translate.wavelog.org/user/hellofinch/), [tviitkar (ES5TVI )](https://translate.wavelog.org/user/tviitkar/), [utkuyalcin](https://translate.wavelog.org/user/utkuyalcin/), [Plamen Panteleev (LZ1PPL)](https://translate.wavelog.org/user/lz1ppl/), [Bartek](https://translate.wavelog.org/user/atimias/), [Samir (DL4DCO)](https://translate.wavelog.org/user/DL4DCO/), [Stanisław Korzeń (SP5CRO)](https://translate.wavelog.org/user/sp5cro/), [wxy (BA7NID)](https://translate.wavelog.org/user/ba7nid/), [David Quental (CT1DRB)](https://translate.wavelog.org/user/ct1drb/), [Sebastian K.](https://translate.wavelog.org/user/sebket/), [Limes](https://translate.wavelog.org/user/limes-github/), [Ethan C. Edwards (AE4CE)](https://translate.wavelog.org/user/ethancedwards8/), [Simon Pribec](https://translate.wavelog.org/user/spribec/), [Christian Egger (HB9HJQ)](https://translate.wavelog.org/user/HB9HJQ/), [André Berends (PE1PQX)](https://translate.wavelog.org/user/PE1PQX/), [Alexander (PA8S)](https://translate.wavelog.org/user/pa8s/), [Jorgen Dahl (NU1T)](https://translate.wavelog.org/user/Jorgen/), [bel-pol](https://translate.wavelog.org/user/bel-pol/), [Mathias Regner (OE4BAM)](https://translate.wavelog.org/user/MatykoBr/), [remy56k](https://translate.wavelog.org/user/remy56k/), [YuanRetro (VA3LPZ/BI4LPZ)](https://translate.wavelog.org/user/yuanretro/), [李宇翔](https://translate.wavelog.org/user/vastsea-wuji/), [Pascal HB9HCG](https://translate.wavelog.org/user/hb9hcg/), [André Aubin](https://github.com/lambda2), [Tao Xu](https://translate.wavelog.org/user/tallcode/), [flothom](https://translate.wavelog.org/user/flothom/), [BH3HNI](https://translate.wavelog.org/user/BH3HNI/)
7676

7777
If you would like to contribute in any way to Wavelog, it is most appreciated. This has been developed in free time, help coding new features or writing documentation is always useful.
7878

application/config/migration.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
|
2323
*/
2424

25-
$config['migration_version'] = 243;
25+
$config['migration_version'] = 244;
2626

2727
/*
2828
|--------------------------------------------------------------------------

application/controllers/Api.php

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,14 +168,16 @@ function qso($dryrun = false) {
168168
$raw = file_get_contents("php://input");
169169
$raw = $raw = preg_replace('#<([eE][oO][rR])>[\r\n\t]+#', '<$1>', $raw);
170170
$obj = json_decode($raw,true);
171-
$raw='';
172171
if ($obj === NULL) {
172+
log_message("Debug",'API Call 200. Wrong JSON provided: '.$raw);
173173
echo json_encode(['status' => 'failed', 'reason' => "wrong JSON"]);
174174
die();
175175
}
176+
$raw='';
176177

177178
if(!isset($obj['key']) || $this->api_model->authorize($obj['key']) == 0) {
178179
http_response_code(401);
180+
log_message("Debug",'API Call 401. Invalid API Key: '.($obj['key'] ?? 'N/A'));
179181
echo json_encode(['status' => 'failed', 'reason' => "missing or wrong api key"]);
180182
die();
181183
}
@@ -205,6 +207,7 @@ function qso($dryrun = false) {
205207

206208
if(!isset($obj['station_profile_id']) || $this->stations->check_station_against_user($obj['station_profile_id'], $userid) == false) {
207209
http_response_code(401);
210+
log_message("Debug",'API Call 401: Wrong station_id '.($obj['station_profile_id'] ?? 'N/A').' for User '.$userid);
208211
echo json_encode(['status' => 'failed', 'reason' => "station id does not belong to the API key owner."]);
209212
die();
210213
}
@@ -263,9 +266,11 @@ function qso($dryrun = false) {
263266

264267
if ($adif_errors == 0) {
265268
http_response_code(201);
269+
log_message("Debug",'API Call 201: QSO created for Station-ID: '.($obj['station_profile_id'] ?? 'N/A').' and User: '.$userid);
266270
echo json_encode(['status' => 'created', 'type' => $obj['type'], 'string' => $obj['string'], 'adif_count' => $adif_count, 'adif_errors' => $adif_errors, 'messages' => $return_msg ]);
267271
} else {
268272
$return_msg[]=$custom_errors;
273+
log_message("Debug",'API Call 400: QSO NOT created for Station-ID: '.($obj['station_profile_id'] ?? 'N/A').' and User: '.$userid.' Reason: '.implode($return_msg));
269274
http_response_code(400);
270275
echo json_encode(['status' => 'abort', 'type' => $obj['type'], 'string' => $obj['string'], 'adif_count' => $adif_count, 'adif_errors' => $adif_errors, 'messages' => $return_msg ]);
271276
}

application/controllers/Awards.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -593,7 +593,7 @@ public function cq() {
593593
}
594594

595595
// Render page
596-
$data['page_title'] = sprintf(__("Awards - %s"), __("CQ Magazine WAZ"));
596+
$data['page_title'] = sprintf(__("Awards - %s"), __("CQ WAZ (Worked All Zones)"));
597597
$this->load->view('interface_assets/header', $data);
598598
$this->load->view('awards/cq/index');
599599
$this->load->view('interface_assets/footer', $footerData);

application/controllers/Dashboard.php

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,18 @@ public function index()
1313

1414
// Database connections
1515
$this->load->model('logbook_model');
16-
16+
1717
// LoTW infos
1818
$this->load->model('Lotw_model');
1919
$current_date = date('Y-m-d H:i:s');
2020
$data['lotw_cert_expired'] = $this->Lotw_model->lotw_cert_expired($this->session->userdata('user_id'), $current_date);
2121
$data['lotw_cert_expiring'] = $this->Lotw_model->lotw_cert_expiring($this->session->userdata('user_id'), $current_date);
22-
23-
22+
23+
2424
$this->load->model('logbooks_model');
2525
$logbooks_locations_array = $this->logbooks_model->list_logbook_relationships($this->session->userdata('active_station_logbook'));
2626

27-
27+
2828
if (($logbooks_locations_array[0]>-1) && (!(in_array($this->stations->find_active(),$logbooks_locations_array)))) {
2929
$data['active_not_linked']=true;
3030
} else {
@@ -73,6 +73,12 @@ public function index()
7373
$data['dashboard_map'] = 'N';
7474
}
7575

76+
if (($this->session->userdata('user_dashboard_banner') ?? '') != '') {
77+
$data['dashboard_banner'] = $this->session->userdata('user_dashboard_banner') ?? 'Y';
78+
} else {
79+
$data['dashboard_banner'] = 'N';
80+
}
81+
7682
$data['user_map_custom'] = $this->optionslib->get_map_custom();
7783

7884
$this->load->model('cat');

application/controllers/Logbookadvanced.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -685,4 +685,8 @@ public function getSubdivisionsForDxcc() {
685685
header("Content-Type: application/json");
686686
print json_encode($result);
687687
}
688+
689+
public function helpDialog() {
690+
$this->load->view('logbookadvanced/help');
691+
}
688692
}

application/controllers/Lotw.php

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ public function lotw_upload() {
243243
// Nothing to upload
244244
if(empty($data['qsos']->result())){
245245
if ($this->user_model->authorize(2)) { // Only be verbose if we have a session
246-
echo $station_profile->station_callsign." (".$station_profile->station_profile_name."): No QSOs to upload.<br>";
246+
echo str_replace("0", "&Oslash;", $station_profile->station_callsign)." (".$station_profile->station_profile_name."): No QSOs to upload.<br>";
247247
}
248248
continue;
249249
}
@@ -541,6 +541,9 @@ private function loadFromFile($filepath, $station_ids, $display_view = "TRUE") {
541541

542542
if($status[0] == "Found") {
543543
$qso_id4lotw=$status[1];
544+
545+
$call = str_replace("0", "&Oslash;", $record['call']);
546+
544547
if (isset($record['state'])) {
545548
$state = $record['state'];
546549
} else {
@@ -603,12 +606,12 @@ private function loadFromFile($filepath, $station_ids, $display_view = "TRUE") {
603606
$table .= "<tr>";
604607
$table .= "<td>".$record['station_callsign']."</td>";
605608
$table .= "<td>".$time_on."</td>";
606-
$table .= "<td><a id=\"view_lotw_qso\" href=\"javascript:displayQso(".$status[1].")\">".$record['call']."</a></td>";
609+
$table .= "<td><a id=\"view_lotw_qso\" href=\"javascript:displayQso(".$status[1].")\">".$call."</a></td>";
607610
$table .= "<td>".$record['mode']."</td>";
608611
$table .= "<td>".$record['qsl_rcvd']."</td>";
609612
$table .= "<td>".$qsl_date."</td>";
610613
$table .= "<td>".$state."</td>";
611-
$table .= "<td>".($qsl_gridsquare != '' ? $qsl_gridsquare : $qsl_vucc_grids)."</td>";
614+
$table .= "<td>".(($qsl_gridsquare != '' ? $qsl_gridsquare : ($record['gridsquare'] ?? '')) ?? $qsl_vucc_grids)."</td>";
612615
$table .= "<td>".$iota."</td>";
613616
$table .= "<td>QSO Record: ".$status[0]."</td>";
614617
$table .= "<td>LoTW Record: ".$lotw_status."</td>";

application/controllers/Options.php

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -75,14 +75,6 @@ function appearance_save() {
7575
$this->session->set_flashdata('success', __("Options saved"));
7676
}
7777

78-
// Update dashboard banner within the options system
79-
$dasboard_banner_update_status = $this->optionslib->update('dashboard_banner', $this->input->post('dashboardBanner'), 'yes');
80-
81-
// If dashboard banner update is complete set a flashsession with a success note
82-
if($dasboard_banner_update_status == TRUE) {
83-
$this->session->set_flashdata('success', __("Options saved"));
84-
}
85-
8678
// Update logbook map within the options system
8779
$logbook_map_update_status = $this->optionslib->update('logbook_map', $this->input->post('logbookMap'), 'yes');
8880

@@ -524,7 +516,7 @@ function version_dialog_save() {
524516
if($version_dialog_mode_update == TRUE) {
525517
$this->session->set_flashdata('success1', __("Version Info Mode changed to")." "."'".$this->input->post('version_dialog_mode')."'");
526518
}
527-
if ($this->input->post('version_dialog_mode') == "both" || $this->input->post('version_dialog_mode') == "custom_text" ) {
519+
if ($this->input->post('version_dialog_mode') == "both" || $this->input->post('version_dialog_mode') == "custom_text" ) {
528520
$version_dialog_custom_text_update = $this->optionslib->update('version_dialog_text', $this->input->post('version_dialog_custom_text'), 'yes');
529521
if($version_dialog_custom_text_update == TRUE) {
530522
$this->session->set_flashdata('success2', __("Version Info Custom Text saved!"));

0 commit comments

Comments
 (0)