Skip to content

Commit 53dff31

Browse files
authored
Merge Dev into Master for Cloudlog 2.3.2
Merge Dev into Master for Cloudlog 2.3.2
2 parents 227c6f5 + f56d193 commit 53dff31

36 files changed

+1464
-670
lines changed

README.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# Cloudlog
22

3+
> Important: Only accepting PRs on the "dev" branch.
4+
35
Cloudlog is a self-hosted PHP application that allows you to log your amateur radio contacts anywhere. All you need is a web browser and active internet connection.
46

57
Website: [http://www.cloudlog.co.uk](http://www.cloudlog.co.uk)

application/controllers/Awards.php

+84-17
Original file line numberDiff line numberDiff line change
@@ -31,17 +31,63 @@ public function index()
3131

3232
public function dok ()
3333
{
34+
35+
$CI =& get_instance();
36+
$CI->load->model('logbooks_model');
37+
$logbooks_locations_array = $CI->logbooks_model->list_logbook_relationships($this->session->userdata('active_station_logbook'));
38+
3439
$this->load->model('dok');
3540
$this->load->model('bands');
41+
$this->load->model('modes');
3642

3743
if($this->input->method() === 'post') {
3844
$postdata['doks'] = $this->input->post('doks');
3945
} else {
4046
$postdata['doks'] = 'both';
4147
}
42-
$data['doks'] = $this->dok->show_stats($postdata);
4348

44-
$data['worked_bands'] = $this->bands->get_worked_bands_dok(); // Used in the view for band select
49+
$data['worked_bands'] = $this->bands->get_worked_bands('dok');
50+
$data['modes'] = $this->modes->active();
51+
52+
if ($this->input->post('band') != NULL) {
53+
if ($this->input->post('band') == 'All') {
54+
$bands = $data['worked_bands'];
55+
} else {
56+
$bands[] = $this->input->post('band');
57+
}
58+
} else {
59+
$bands = $data['worked_bands'];
60+
}
61+
62+
$data['bands'] = $bands;
63+
64+
if($this->input->method() === 'post') {
65+
$postdata['qsl'] = $this->input->post('qsl');
66+
$postdata['lotw'] = $this->input->post('lotw');
67+
$postdata['eqsl'] = $this->input->post('eqsl');
68+
$postdata['worked'] = $this->input->post('worked');
69+
$postdata['confirmed'] = $this->input->post('confirmed');
70+
$postdata['band'] = $this->input->post('band');
71+
$postdata['mode'] = $this->input->post('mode');
72+
} else {
73+
$postdata['qsl'] = 1;
74+
$postdata['lotw'] = 1;
75+
$postdata['eqsl'] = 0;
76+
$postdata['worked'] = 1;
77+
$postdata['confirmed'] = 1;
78+
$postdata['band'] = 'All';
79+
$postdata['mode'] = 'All';
80+
}
81+
82+
if ($logbooks_locations_array) {
83+
$location_list = "'".implode("','",$logbooks_locations_array)."'";
84+
$data['dok_array'] = $this->dok->get_dok_array($bands, $postdata, $location_list);
85+
$data['dok_summary'] = $this->dok->get_dok_summary($bands, $postdata, $location_list);
86+
} else {
87+
$location_list = null;
88+
$data['dok_array'] = null;
89+
$data['dok_summary'] = null;
90+
}
4591

4692
// Render Page
4793
$data['page_title'] = "Awards - DOK";
@@ -66,9 +112,6 @@ public function dok_details_ajax(){
66112
$arguments["order"] = '';
67113
$arguments["join_station_profile"] = true;
68114

69-
// print_r($arguments);
70-
// return;
71-
72115
// Load the API and Logbook models
73116
$this->load->model('api_model');
74117
$this->load->model('logbook_model');
@@ -81,7 +124,7 @@ public function dok_details_ajax(){
81124

82125
// Render Page
83126
$data['page_title'] = "Log View - DOK";
84-
$data['filter'] = str_replace("(and)", ", ", $q);//implode(", ", array_keys($a));
127+
$data['filter'] = str_replace("(and)", ", ", $q);
85128
$this->load->view('awards/details', $data);
86129
}
87130

@@ -108,8 +151,9 @@ public function dxcc () {
108151
$data['bands'] = $bands; // Used for displaying selected band(s) in the table in the view
109152

110153
if($this->input->method() === 'post') {
111-
$postdata['lotw'] = $this->input->post('lotw');
112154
$postdata['qsl'] = $this->input->post('qsl');
155+
$postdata['lotw'] = $this->input->post('lotw');
156+
$postdata['eqsl'] = $this->input->post('eqsl');
113157
$postdata['worked'] = $this->input->post('worked');
114158
$postdata['confirmed'] = $this->input->post('confirmed');
115159
$postdata['notworked'] = $this->input->post('notworked');
@@ -125,8 +169,9 @@ public function dxcc () {
125169
$postdata['mode'] = $this->input->post('mode');
126170
}
127171
else { // Setting default values at first load of page
128-
$postdata['lotw'] = 1;
129172
$postdata['qsl'] = 1;
173+
$postdata['lotw'] = 1;
174+
$postdata['eqsl'] = 0;
130175
$postdata['worked'] = 1;
131176
$postdata['confirmed'] = 1;
132177
$postdata['notworked'] = 1;
@@ -206,8 +251,9 @@ public function qso_details_ajax(){
206251
$band = str_replace('"', "", $this->input->post("Band"));
207252
$mode = str_replace('"', "", $this->input->post("Mode"));
208253
$type = $this->input->post('Type');
254+
$qsl = $this->input->post('QSL') == null ? '' : $this->input->post('QSL');
209255

210-
$data['results'] = $this->logbook_model->qso_details($searchphrase, $band, $mode, $type);
256+
$data['results'] = $this->logbook_model->qso_details($searchphrase, $band, $mode, $type, $qsl);
211257

212258
// This is done because we have two different ways to get dxcc info in Cloudlog. Once is using the name (in awards), and the other one is using the ADIF DXCC.
213259
// We replace the values to make it look a bit nicer
@@ -217,9 +263,23 @@ public function qso_details_ajax(){
217263
$searchphrase = $dxccname['name'];
218264
}
219265

266+
$qsltype = [];
267+
if (strpos($qsl, "Q") !== false) {
268+
$qsltype[] = "QSL";
269+
}
270+
if (strpos($qsl, "L") !== false) {
271+
$qsltype[] = "LotW";
272+
}
273+
if (strpos($qsl, "E") !== false) {
274+
$qsltype[] = "eQSL";
275+
}
276+
220277
// Render Page
221278
$data['page_title'] = "Log View - " . $type;
222279
$data['filter'] = $type . " " . $searchphrase . " and band ".$band . " and mode ".$mode;
280+
if (!empty($qsltype)) {
281+
$data['filter'] .= " and ".implode('/', $qsltype);
282+
}
223283
$this->load->view('awards/details', $data);
224284
}
225285

@@ -301,17 +361,19 @@ public function cq() {
301361
$data['bands'] = $bands; // Used for displaying selected band(s) in the table in the view
302362

303363
if($this->input->method() === 'post') {
304-
$postdata['lotw'] = $this->input->post('lotw');
305364
$postdata['qsl'] = $this->input->post('qsl');
365+
$postdata['lotw'] = $this->input->post('lotw');
366+
$postdata['eqsl'] = $this->input->post('eqsl');
306367
$postdata['worked'] = $this->input->post('worked');
307368
$postdata['confirmed'] = $this->input->post('confirmed');
308369
$postdata['notworked'] = $this->input->post('notworked');
309370
$postdata['band'] = $this->input->post('band');
310371
$postdata['mode'] = $this->input->post('mode');
311372
}
312373
else { // Setting default values at first load of page
313-
$postdata['lotw'] = 1;
314374
$postdata['qsl'] = 1;
375+
$postdata['lotw'] = 1;
376+
$postdata['eqsl'] = 0;
315377
$postdata['worked'] = 1;
316378
$postdata['confirmed'] = 1;
317379
$postdata['notworked'] = 1;
@@ -359,17 +421,19 @@ public function was() {
359421
$data['bands'] = $bands; // Used for displaying selected band(s) in the table in the view
360422

361423
if($this->input->method() === 'post') {
362-
$postdata['lotw'] = $this->input->post('lotw');
363424
$postdata['qsl'] = $this->input->post('qsl');
425+
$postdata['lotw'] = $this->input->post('lotw');
426+
$postdata['eqsl'] = $this->input->post('eqsl');
364427
$postdata['worked'] = $this->input->post('worked');
365428
$postdata['confirmed'] = $this->input->post('confirmed');
366429
$postdata['notworked'] = $this->input->post('notworked');
367430
$postdata['band'] = $this->input->post('band');
368431
$postdata['mode'] = $this->input->post('mode');
369432
}
370433
else { // Setting default values at first load of page
371-
$postdata['lotw'] = 1;
372434
$postdata['qsl'] = 1;
435+
$postdata['lotw'] = 1;
436+
$postdata['eqsl'] = 0;
373437
$postdata['worked'] = 1;
374438
$postdata['confirmed'] = 1;
375439
$postdata['notworked'] = 1;
@@ -553,8 +617,9 @@ public function was_map($band_type, $mode_type) {
553617

554618
$bands[] = $band_type;
555619

556-
$postdata['lotw'] = 1;
557620
$postdata['qsl'] = 1;
621+
$postdata['lotw'] = 1;
622+
$postdata['eqsl'] = 0;
558623
$postdata['worked'] = 1;
559624
$postdata['confirmed'] = 1;
560625
$postdata['notworked'] = 1;
@@ -581,8 +646,9 @@ public function cq_map() {
581646

582647
$bands[] = $this->input->post('band');
583648

584-
$postdata['lotw'] = $this->input->post('lotw') == 0 ? NULL: 1;
585649
$postdata['qsl'] = $this->input->post('qsl') == 0 ? NULL: 1;
650+
$postdata['lotw'] = $this->input->post('lotw') == 0 ? NULL: 1;
651+
$postdata['eqsl'] = $this->input->post('eqsl') == 0 ? NULL: 1;
586652
$postdata['worked'] = $this->input->post('worked') == 0 ? NULL: 1;
587653
$postdata['confirmed'] = $this->input->post('confirmed') == 0 ? NULL: 1;
588654
$postdata['notworked'] = $this->input->post('notworked') == 0 ? NULL: 1;
@@ -630,8 +696,9 @@ public function dxcc_map() {
630696

631697
$bands[] = $this->input->post('band');
632698

633-
$postdata['lotw'] = $this->input->post('lotw') == 0 ? NULL: 1;
634699
$postdata['qsl'] = $this->input->post('qsl') == 0 ? NULL: 1;
700+
$postdata['lotw'] = $this->input->post('lotw') == 0 ? NULL: 1;
701+
$postdata['eqsl'] = $this->input->post('eqsl') == 0 ? NULL: 1;
635702
$postdata['worked'] = $this->input->post('worked') == 0 ? NULL: 1;
636703
$postdata['confirmed'] = $this->input->post('confirmed') == 0 ? NULL: 1;
637704
$postdata['notworked'] = $this->input->post('notworked') == 0 ? NULL: 1;
@@ -733,4 +800,4 @@ function returnStatus($string) {
733800
}
734801
}
735802
}
736-
}
803+
}

application/language/chinese_simplified/general_words_lang.php

+16
Original file line numberDiff line numberDiff line change
@@ -38,16 +38,24 @@
3838
$lang['general_word_sent'] = '已发送';
3939
$lang['general_word_received'] = '已收到';
4040
$lang['general_word_requested'] = '已请求';
41+
$lang['general_word_queued'] = '已排队';
42+
$lang['general_word_invalid_ignore'] = '无效(忽略)';
4143
$lang['general_word_qslcard'] = 'QSL 卡片';
4244
$lang['general_word_qslcard_management'] = 'QSL 管理';
4345
$lang['general_word_qslcards'] = 'QSL 卡片';
4446
$lang['general_word_qslcard_direct'] = '直邮';
4547
$lang['general_word_qslcard_bureau'] = '卡片局';
48+
$lang['general_word_qslcard_electronic'] = '电子';
49+
$lang['general_word_qslcard_manager'] = '管理员';
4650
$lang['general_word_qslcard_via'] = '通过';
51+
$lang['general_word_eqslcards'] = 'eQSL 卡片';
52+
$lang['general_word_lotw'] = 'Logbook of the World';
4753

4854
$lang['general_edit_qso'] = '编辑 QSO';
4955
$lang['general_mark_qsl_rx_bureau'] = '标记 已收到的QSL (卡片局)';
5056
$lang['general_mark_qsl_rx_direct'] = '标记 已收到的QSL (直邮)';
57+
$lang['general_mark_qsl_tx_bureau'] = '标记 已发送的QSL (卡片局)';
58+
$lang['general_mark_qsl_tx_direct'] = '标记 已发送的QSL (直邮)';
5159

5260
$lang['general_delete_qso'] = '删除 QSO';
5361

@@ -91,11 +99,15 @@
9199
$lang['gen_hamradio_iota_reference'] = 'IOTA 参考';
92100
$lang['gen_hamradio_sota_reference'] = 'SOTA 参考';
93101
$lang['gen_hamradio_wwff_reference'] = 'WWFF 参考';
102+
$lang['gen_hamradio_pota_reference'] = 'POTA 参考';
94103
$lang['gen_hamradio_dok'] = 'DOK';
95104
$lang['gen_hamradio_state'] = '';
96105
$lang['gen_hamradio_iota'] = 'IOTA';
97106
$lang['gen_hamradio_sota'] = 'SOTA';
107+
$lang['gen_hamradio_wwff'] = 'WWFF';
108+
$lang['gen_hamradio_pota'] = 'POTA';
98109
$lang['gen_hamradio_gridsquare'] = '网格';
110+
$lang['gen_hamradio_operator'] = '操作员';
99111

100112
$lang['gen_hamradio_sig'] = 'Sig';
101113
$lang['gen_hamradio_sig_info'] = 'Sig 属性';
@@ -109,3 +121,7 @@
109121
$lang['gen_from_date'] = '起始日期';
110122

111123
$lang['gen_this_qso_was_confirmed_on'] = '该 QSO 确认于';
124+
125+
$lang['error_no_logbook_found'] = '没有找到日志本。 您需要在台站日志下添加一个日志本! 在这里添加:';
126+
127+
$lang['copy_to_clipboard'] = '复制到剪贴板';

application/language/chinese_simplified/lotw_lang.php

+2
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717
$lang['lotw_date_created'] = '创建日期';
1818
$lang['lotw_date_expires'] = '过期日期';
19+
$lang['lotw_qso_start_date'] = 'QSO 起始日期';
20+
$lang['lotw_qso_end_date'] = 'QSO 结束日期';
1921
$lang['lotw_status'] = '状态';
2022
$lang['lotw_options'] = '选项';
2123
$lang['lotw_valid'] = '有效';

application/language/chinese_simplified/qslcard_lang.php

+5
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,15 @@
77
$lang['qslcard_string_disk_space'] = '的磁盘空间保存 QSL 卡片资源';
88

99
$lang['qslcard_info'] = 'QSL 信息';
10+
$lang['qslcard_sent'] = 'QSL 卡片已经发出';
1011
$lang['qslcard_sent_bureau'] = 'QSL 卡片已由卡片局发出';
1112
$lang['qslcard_sent_direct'] = 'QSL 卡片已直邮发出';
13+
$lang['qslcard_sent_electronic'] = 'QSL 卡片已经发送电子版';
14+
$lang['qslcard_sent_manager'] = 'QSL 卡片已经由卡片管理员发出';
1215
$lang['qslcard_rcvd_bureau'] = 'QSL 卡片已由卡片局接收';
1316
$lang['qslcard_rcvd_direct'] = 'QSL 卡片已直邮接收';
17+
$lang['qslcard_rcvd_electronic'] = 'QSL 卡片已经接收电子版';
18+
$lang['qslcard_rcvd_manager'] = 'QSL 卡片已经由卡片管理员接收';
1419

1520
$lang['qslcard_upload_front'] = '上传 QSL 卡片正面图像';
1621
$lang['qslcard_upload_back'] = '上传 QSL 卡片背面图像';

application/language/chinese_simplified/qso_lang.php

+4
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,22 @@
66
$lang['qso_title_qso_map'] = 'QSO 地图';
77
$lang['qso_title_suggestions'] = '建议';
88
$lang['qso_title_previous_contacts'] = '先前通联';
9+
$lang['qso_title_image'] = '操作员照片';
910

1011
// Input Help Text on the /QSO Display
1112
$lang['qso_transmit_power_helptext'] = '以瓦特为单位设置功率值。在输入中仅填写数值。';
1213

1314
$lang['qso_sota_ref_helptext'] = '例如: GM/NS-001.';
15+
$lang['qso_wwff_ref_helptext'] = '例如: DLFF-0069.';
16+
$lang['qso_pota_ref_helptext'] = '例如: PA-0150.';
1417

1518
$lang['qso_sig_helptext'] = '例如: GMA';
1619
$lang['qso_sig_info_helptext'] = '例如: DA/NW-357';
1720

1821
$lang['qso_dok_helptext'] = '例如: Q03';
1922

2023
$lang['qso_notes_helptext'] = '仅在 Cloudlog 使用而不上传到其他的服务的笔记。';
24+
$lang['qsl_notes_helptext'] = '此笔记内容被导出到QSL服务,如 eqsl.cc。';
2125

2226
// Button Text on /qso Display
2327

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<?php
2+
3+
defined('BASEPATH') OR exit('No direct script access allowed');
4+
5+
$lang['account_logbook_fields'] = 'Πεδίο αρχείου';
6+
$lang['account_column1_text'] = 'Επιλογή στήλης 1';
7+
$lang['account_column2_text'] = 'Επιλογή στήλης 2';
8+
$lang['account_column3_text'] = 'Επιλογή στήλης 3';
9+
$lang['account_column4_text'] = 'Επιλογή στήλης 4';
10+
$lang['account_column5_text'] = 'Επιλογή στήλης 5 (Μόνο για αρχείο)';
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?php
2+
3+
defined('BASEPATH') OR exit('No direct script access allowed');
4+
5+
$lang['contesting_page_title'] = 'Αρχείο διαγωνισμού';
6+
$lang['contesting_button_reset_contest_session'] = 'Επαναφορά Session διαγωνισμού';
7+
8+
$lang['contesting_exchange_type'] = 'Είδος Ανταλλαγής';
9+
$lang['contesting_exchange_type_serial'] = 'Serial';
10+
$lang['contesting_exchange_type_other'] = 'Αλλα';
11+
12+
$lang['contesting_contest_name'] = 'Ονομα Διαγωνισμού';
13+
14+
$lang['contesting_btn_reset_qso'] = 'Επαναφορά QSO';
15+
$lang['contesting_btn_save_qso'] = 'Aποθήκευση QSO';
16+
17+
$lang['contesting_title_callsign_suggestions'] = 'Προτάσεις διακριτικού';
18+
$lang['contesting_title_contest_logbook'] = 'Αρχείο διαγωνισμού';

0 commit comments

Comments
 (0)