diff --git a/LICENSE b/LICENSE index 61abe68f..22b6a30c 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2019 Peter Goodhall +Copyright (c) 2024 Peter Goodhall Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index 0eed61dd..6b17f34f 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,6 @@ Thanks to Andy (VE7CXZ), Gavin (M1BXF), Graham (W5ISP), Robert (M0VFC), Corby (K Cloudlog is supported by Patreon and donations via PayPal, thanks to the following people: -Paul (M0TZO), Tim (G4VXE), Paul (N8HM), Michelle (W5NYV), Mitchell (AD0HJ), Dan (M0TCB), Martin (DK3ML), Juan Carlos (EA5WA), Iain (M0PCB), Charlie (GM1TGY), Ondrej (OK1CDJ), Trystan (G0KAY), Oliver (DL6KBG), Volkmar Schirmer, Jordan (M0PIR), Thomas Ziegler, Mathis (DB9MAT), Ken (VE3HLS), Tyler (WL7T), Jeremy Taylor, Ben Kuhn, Eric Thresher, Michael Cullen, Juuso (OH1JW), Anthony Castiglia, Fernando Ramirez-Ferrer, Robert Dixon, Mark Percival, Julia (KV1V), Timo Tomasini, Ant (NU1U), Christopher Williams, Danny Barnes, Vic, Tom (M0LTE), smurphboy, Lars (SM0TGU), Theo (PD9DP), Stefan (SM0RGM). Peter (G0ABI), Lou (KI5FTY), Michael (DG3NAB), Dragan (4O4A), minorsecond, Emily (W7AYQ), Steve (M0SKM), Rob (M0VFC), Doug (WA6L), Petr (OK1PKR), Fabian (HB9HIL), Daniel (OK2VLK). +Paul (M0TZO), Tim (G4VXE), Paul (N8HM), Michelle (W5NYV), Mitchell (AD0HJ), Dan (M0TCB), Martin (DK3ML), Juan Carlos (EA5WA), Iain (M0PCB), Charlie (GM1TGY), Ondrej (OK1CDJ), Trystan (G0KAY), Oliver (DL6KBG), Volkmar Schirmer, Jordan (M0PIR), Thomas Ziegler, Mathis (DB9MAT), Ken (VE3HLS), Tyler (WL7T), Jeremy Taylor, Ben Kuhn, Eric Thresher, Michael Cullen, Juuso (OH1JW), Anthony Castiglia, Fernando Ramirez-Ferrer, Robert Dixon, Mark Percival, Julia (KV1V), Timo Tomasini, Ant (NU1U), Christopher Williams, Danny Barnes, Vic, Tom (M0LTE), smurphboy, Lars (SM0TGU), Theo (PD9DP), Stefan (SM0RGM). Peter (G0ABI), Lou (KI5FTY), Michael (DG3NAB), Dragan (4O4A), minorsecond, Emily (W7AYQ), Steve (M0SKM), Rob (M0VFC), Doug (WA6L), Petr (OK1PKR), Fabian (HB9HIL), Daniel (OK2VLK), John (M5JFS). If you'd like to donate to Cloudlog to help allow @magicbug spend less time doing commercial work and more time coding Cloudlog then you can donate via [PayPal](https://paypal.me/PGoodhall), [Github Sponsor](https://github.com/sponsors/magicbug) or become a [Patreon](https://www.patreon.com/2m0sql) diff --git a/application/config/migration.php b/application/config/migration.php index a6519c61..6fc48a75 100644 --- a/application/config/migration.php +++ b/application/config/migration.php @@ -22,7 +22,7 @@ $config['migration_enabled'] = TRUE; | */ -$config['migration_version'] = 166; +$config['migration_version'] = 167; /* |-------------------------------------------------------------------------- diff --git a/application/controllers/Contesting.php b/application/controllers/Contesting.php index 2ab204b6..672f97f4 100644 --- a/application/controllers/Contesting.php +++ b/application/controllers/Contesting.php @@ -189,7 +189,10 @@ class Contesting extends CI_Controller { header('Content-Type: application/json'); if ($result && $result->num_rows()) { - echo json_encode(array('message' => 'Worked before')); + $timeb4=substr($result->row()->b4,0,5); + $custom_date_format = $this->session->userdata('user_date_format'); + $abstimeb4=date($custom_date_format, strtotime($result->row()->COL_TIME_OFF)).' '.date('H:i',strtotime($result->row()->COL_TIME_OFF)); + echo json_encode(array('message' => 'Worked at '.$abstimeb4.' ('.$timeb4.' ago) before')); } return; } diff --git a/application/controllers/Dayswithqso.php b/application/controllers/Dayswithqso.php index b6b88a33..a2906cc5 100644 --- a/application/controllers/Dayswithqso.php +++ b/application/controllers/Dayswithqso.php @@ -15,7 +15,7 @@ class Dayswithqso extends CI_Controller { { $this->load->model('dayswithqso_model'); // Render Page - $data['page_title'] = "Number of days with QSOs each year"; + $data['page_title'] = lang('statistics_days_with_qso'); $data['result'] = $this->dayswithqso_model->getDaysWithQso(); $data['streaks'] = $this->dayswithqso_model->getLongestStreak(); diff --git a/application/controllers/Logbook.php b/application/controllers/Logbook.php index ab8111ee..054de873 100644 --- a/application/controllers/Logbook.php +++ b/application/controllers/Logbook.php @@ -833,6 +833,11 @@ class Logbook extends CI_Controller { $this->session->set_userdata('qrz_session_key', $qrz_session_key); $callsign['callsign'] = $this->qrz->search($id, $this->session->userdata('qrz_session_key'), $this->config->item('use_fullname')); } + if (isset($callsign['callsign']['dxcc'])) { + $this->load->model('logbook_model'); + $entity = $this->logbook_model->get_entity($callsign['callsign']['dxcc']); + $callsign['callsign']['dxcc_name'] = $entity['name']; + } } else if ($this->config->item('callbook') == "hamqth" && $this->config->item('hamqth_username') != null && $this->config->item('hamqth_password') != null) { // Load the HamQTH library $this->load->library('hamqth'); @@ -854,6 +859,11 @@ class Logbook extends CI_Controller { $this->load->model('logbook_model'); $callsign['grid_worked'] = $this->logbook_model->check_if_grid_worked_in_logbook(strtoupper(substr($data['callsign']['gridsquare'],0,4)), 0, $this->session->userdata('user_default_band')); } + if (isset($callsign['callsign']['dxcc'])) { + $this->load->model('logbook_model'); + $entity = $this->logbook_model->get_entity($callsign['callsign']['dxcc']); + $callsign['callsign']['dxcc_name'] = $entity['name']; + } if (isset($callsign['callsign']['error'])) { $callsign['error'] = $callsign['callsign']['error']; } @@ -876,8 +886,8 @@ class Logbook extends CI_Controller { if (isset($callsign['callsign']['error'])) { $callsign['error'] = $callsign['callsign']['error']; } - $callsign['id'] = strtoupper($id); + $callsign['id'] = strtoupper($id); return $this->load->view('search/result', $callsign, true); } } @@ -930,6 +940,11 @@ class Logbook extends CI_Controller { $this->load->model('logbook_model'); $data['grid_worked'] = $this->logbook_model->check_if_grid_worked_in_logbook(strtoupper(substr($data['callsign']['gridsquare'],0,4)), 0, $this->session->userdata('user_default_band')); } + if (isset($data['callsign']['dxcc'])) { + $this->load->model('logbook_model'); + $entity = $this->logbook_model->get_entity($data['callsign']['dxcc']); + $data['callsign']['dxcc_name'] = $entity['name']; + } if (isset($data['callsign']['error'])) { $data['error'] = $data['callsign']['error']; } @@ -954,6 +969,11 @@ class Logbook extends CI_Controller { $this->load->model('logbook_model'); $data['grid_worked'] = $this->logbook_model->check_if_grid_worked_in_logbook(strtoupper(substr($data['callsign']['gridsquare'],0,4)), 0, $this->session->userdata('user_default_band')); } + if (isset($data['callsign']['dxcc'])) { + $this->load->model('logbook_model'); + $entity = $this->logbook_model->get_entity($data['callsign']['dxcc']); + $data['callsign']['dxcc_name'] = $entity['name']; + } if (isset($data['callsign']['error'])) { $data['error'] = $data['callsign']['error']; } diff --git a/application/controllers/User.php b/application/controllers/User.php index 50a04105..927ceffd 100644 --- a/application/controllers/User.php +++ b/application/controllers/User.php @@ -695,6 +695,7 @@ class User extends CI_Controller { if($this->user_model->login() == 1) { $this->session->set_flashdata('notice', 'User logged in'); $this->user_model->update_session($data['user']->user_id); + $this->user_model->set_last_login($data['user']->user_id); $cookie= array( 'name' => 'language', @@ -804,6 +805,85 @@ class User extends CI_Controller { } } + // Send an E-Mail to the user. Function is similar to forgot_password() + function admin_send_passwort_reset() { + + $this->load->model('user_model'); + if(!$this->user_model->authorize(99)) { $this->session->set_flashdata('notice', 'You\'re not allowed to do that!'); redirect('dashboard'); } + $query = $this->user_model->get_by_id($this->uri->segment(3)); + + $this->load->library('form_validation'); + + $this->form_validation->set_rules('id', 'user_id', 'required'); + + $data = $query->row(); + + if ($this->form_validation->run() != FALSE) + { + $this->session->set_flashdata('notice', 'Something went wrong! User has no user_id.'); + redirect('user'); + } + else + { + // Check email address exists + $this->load->model('user_model'); + + $check_email = $this->user_model->check_email_address($data->user_email); + + if($check_email == TRUE) { + // Generate password reset code 50 characters long + $this->load->helper('string'); + $reset_code = random_string('alnum', 50); + $this->user_model->set_password_reset_code(($data->user_email), $reset_code); + + // Send email with reset code and first Name of the User + + $this->data['reset_code'] = $reset_code; + $this->data['user_firstname'] = $data->user_firstname; // We can call the user by his first name in the E-Mail + $this->data['user_callsign'] = $data->user_callsign; + $this->data['user_name'] = $data->user_name; + $this->load->library('email'); + + if($this->optionslib->get_option('emailProtocol') == "smtp") { + $config = Array( + 'protocol' => $this->optionslib->get_option('emailProtocol'), + 'smtp_crypto' => $this->optionslib->get_option('smtpEncryption'), + 'smtp_host' => $this->optionslib->get_option('smtpHost'), + 'smtp_port' => $this->optionslib->get_option('smtpPort'), + 'smtp_user' => $this->optionslib->get_option('smtpUsername'), + 'smtp_pass' => $this->optionslib->get_option('smtpPassword'), + 'crlf' => "\r\n", + 'newline' => "\r\n" + ); + + $this->email->initialize($config); + } + + $message = $this->load->view('email/admin_reset_password', $this->data, TRUE); + + $this->email->from($this->optionslib->get_option('emailAddress'), $this->optionslib->get_option('emailSenderName')); + $this->email->to($data->user_email); + $this->email->subject('Cloudlog Account Password Reset'); + $this->email->message($message); + + if (! $this->email->send()) + { + // Redirect to user page with message + $this->session->set_flashdata('danger', lang('admin_email_settings_incorrect')); + redirect('user'); + } else { + // Redirect to user page with message + $this->session->set_flashdata('success', lang('admin_password_reset_processed')); + redirect('user'); + } + } else { + // No account found just return to user page + $this->session->set_flashdata('danger', 'Nothing done. No user found.'); + redirect('user'); + } + } + } + function reset_password($reset_code = NULL) { $data['reset_code'] = $reset_code; diff --git a/application/language/bulgarian/admin_lang.php b/application/language/bulgarian/admin_lang.php index e48558ba..88b5d392 100644 --- a/application/language/bulgarian/admin_lang.php +++ b/application/language/bulgarian/admin_lang.php @@ -5,27 +5,32 @@ defined('BASEPATH') OR exit('Не е разрешен директен дост $lang['admin_user_line1'] = 'Cloudlog needs at least one user configured in order to operate.'; $lang['admin_user_line2'] = 'Users can be assigned roles which give them different permissions, such as adding QSOs to the logbook and accessing Cloudlog APIs.'; $lang['admin_user_line3'] = 'The currently logged-in user is displayed at the upper-right of each page.'; +$lang['admin_user_line4'] = "With the password reset button, you can send a user an email containing a link to reset their password. To achieve this, ensure that the email settings in the global options are configured correctly."; $lang['admin_user_list'] = 'User List'; $lang['admin_user'] = 'User'; $lang['admin_email'] = 'E-mail'; $lang['admin_type'] = 'Type'; +$lang['admin_last_login'] = "Last Login"; $lang['admin_options'] = 'Options'; $lang['admin_create_user'] = 'Create user'; $lang['admin_delete'] = 'Delete'; -$lang['admin_remove'] = "Remove"; +$lang['admin_remove'] = "Remove"; $lang['admin_edit'] = 'Edit'; -$lang['admin_create'] = 'Create'; -$lang['admin_update'] = 'Update'; -$lang['admin_copy'] = 'Copy'; -$lang['admin_save'] = 'Save'; -$lang['admin_close'] = 'Close'; +$lang['admin_create'] = 'Create'; +$lang['admin_update'] = 'Update'; +$lang['admin_copy'] = 'Copy'; +$lang['admin_save'] = 'Save'; +$lang['admin_close'] = 'Close'; $lang['admin_user_accounts'] = 'User Accounts'; -$lang['admin_danger'] = 'DANGER!'; -$lang['admin_experimental'] = "Experimental"; +$lang['admin_danger'] = 'DANGER!'; +$lang['admin_experimental'] = "Experimental"; +$lang['admin_password_reset'] = "Password Reset"; +$lang['admin_email_settings_incorrect'] = "Email settings are incorrect."; +$lang['admin_password_reset_processed'] = "Password Reset E-Mail sent."; // Contest Menu @@ -40,16 +45,16 @@ $lang['admin_contest_menu_activate'] = 'Activate'; $lang['admin_contest_menu_deactivate'] = 'Deactivate'; $lang['admin_contest_add_contest'] = 'Add a Contest'; -$lang["admin_contest_create"] = "Create"; +$lang["admin_contest_create"] = "Create"; $lang['admin_contest_all_active'] = 'Activate All'; $lang['admin_contest_all_deactive'] = 'Deactivate All'; $lang['admin_contest_name_adif'] = 'Contest ADIF Name'; $lang['admin_contest_name_of_contest'] = 'Name of the Contest'; $lang['admin_contest_name_of_adif'] = 'Name of Contest in ADIF-specification'; -$lang['admin_contest_edit_active_hint'] = 'Set to active if to be listed in Contest-list'; -$lang['admin_contest_edit_update_contest'] = 'Update Contest'; -$lang['admin_contest_deletion_warning'] = 'Warning! Are you sure you want to delete the following contest: '; -$lang['admin_contest_active_all_warning'] = 'Warning! Are you sure you want to activate all contests?'; -$lang['admin_contest_deactive_all_warning'] = 'Warning! Are you sure you want to deactivate all contests?'; +$lang['admin_contest_edit_active_hint'] = 'Set to active if to be listed in Contest-list'; +$lang['admin_contest_edit_update_contest'] = 'Update Contest'; +$lang['admin_contest_deletion_warning'] = 'Warning! Are you sure you want to delete the following contest: '; +$lang['admin_contest_active_all_warning'] = 'Warning! Are you sure you want to activate all contests?'; +$lang['admin_contest_deactive_all_warning'] = 'Warning! Are you sure you want to deactivate all contests?'; diff --git a/application/language/bulgarian/general_words_lang.php b/application/language/bulgarian/general_words_lang.php index a32a9bbe..ae9c7254 100644 --- a/application/language/bulgarian/general_words_lang.php +++ b/application/language/bulgarian/general_words_lang.php @@ -25,6 +25,7 @@ $lang['general_word_count'] = "Count"; $lang['general_word_filtering_on'] = "Filtering on"; $lang['general_word_not_display'] = "Not display"; $lang['general_word_icon'] = "Icon"; +$lang['general_word_never'] = "Never"; $lang['general_word_date'] = 'Дата'; $lang['general_word_startdate'] = "Start Date"; @@ -47,6 +48,8 @@ $lang['general_word_city'] = 'Град'; $lang['general_word_total'] = 'Общо'; $lang['general_word_year'] = 'Година'; $lang['general_word_month'] = 'Месец'; +$lang['general_word_day'] = "Day"; +$lang['general_word_days'] = "Days"; $lang['general_word_colors'] = "Colors"; $lang['general_word_light'] = "Light/Laser"; diff --git a/application/language/bulgarian/statistics_lang.php b/application/language/bulgarian/statistics_lang.php index a92ce98c..97a2f0b9 100644 --- a/application/language/bulgarian/statistics_lang.php +++ b/application/language/bulgarian/statistics_lang.php @@ -42,3 +42,19 @@ $lang['statistics_distances_and_band'] = "and band"; $lang['statistics_timeline'] = "Timeline"; +/* +* +* Days with QSO +* +*/ + +$lang['statistics_days_with_qso'] = "Number of days with QSOs each year"; +$lang['statistics_days_with_qso_short'] = "Days with QSOs"; +$lang['statistics_dwq_longest_streak_in_log'] = "Longest streak with QSOs in the log"; +$lang['statistics_dwq_longest_streak_in_log_hint'] = "A maximum of the 10 longest streaks are shown!"; +$lang['statistics_dwq_streak_continuous_days'] = "Streak (continuous days with QSOs)"; +$lang['statistics_dwq_current_streak_in_log'] = "Current streak with QSOs in the log"; +$lang['statistics_dwq_current_streak_continuous_days'] = "Current streak (continuous days with QSOs)"; +$lang['statistics_dwq_make_qso_to_extend_streak'] = "If you make a QSO today, you can continue to extend your streak... or else your current streak will be broken!"; +$lang['statistics_dwq_no_current_streak'] = "No current streak found!"; + diff --git a/application/language/chinese_simplified/admin_lang.php b/application/language/chinese_simplified/admin_lang.php index 994d8d9e..05819370 100644 --- a/application/language/chinese_simplified/admin_lang.php +++ b/application/language/chinese_simplified/admin_lang.php @@ -5,12 +5,14 @@ defined('BASEPATH') OR exit('No direct script access allowed'); $lang['admin_user_line1'] = 'Cloudlog至少需要配置一个用户才能运行。'; $lang['admin_user_line2'] = '用户可以被分配不同的角色,这些角色赋予他们不同的权限,例如向日志簿添加 QSO 和访问Cloudlog API。'; $lang['admin_user_line3'] = '页面右上方显示当前登录的用户。'; +$lang['admin_user_line4'] = "With the password reset button, you can send a user an email containing a link to reset their password. To achieve this, ensure that the email settings in the global options are configured correctly."; $lang['admin_user_list'] = '用户列表'; $lang['admin_user'] = '用户名'; $lang['admin_email'] = '电子邮件'; $lang['admin_type'] = '用户类型'; +$lang['admin_last_login'] = "Last Login"; $lang['admin_options'] = '设置'; $lang['admin_create_user'] = '创建用户'; @@ -25,7 +27,10 @@ $lang['admin_close'] = '关闭'; $lang['admin_user_accounts'] = '用户账户'; $lang['admin_danger'] = '危险!'; $lang['admin_experimental'] = "实验性功能"; +$lang['admin_password_reset'] = "Password Reset"; +$lang['admin_email_settings_incorrect'] = "Email settings are incorrect."; +$lang['admin_password_reset_processed'] = "Password Reset E-Mail sent."; // Contest Menu diff --git a/application/language/chinese_simplified/general_words_lang.php b/application/language/chinese_simplified/general_words_lang.php index a55a4259..6d23c0d1 100644 --- a/application/language/chinese_simplified/general_words_lang.php +++ b/application/language/chinese_simplified/general_words_lang.php @@ -25,6 +25,7 @@ $lang['general_word_count'] = "数量"; $lang['general_word_filtering_on'] = "筛选打开"; $lang['general_word_not_display'] = "Not display"; $lang['general_word_icon'] = "Icon"; +$lang['general_word_never'] = "Never"; $lang['general_word_date'] = '日期'; $lang['general_word_startdate'] = "开始时间"; @@ -47,6 +48,8 @@ $lang['general_word_city'] = '城市'; $lang['general_word_total'] = '总计'; $lang['general_word_year'] = '年'; $lang['general_word_month'] = '月'; +$lang['general_word_day'] = "Day"; +$lang['general_word_days'] = "Days"; $lang['general_word_colors'] = "颜色"; $lang['general_word_light'] = "浅色/激光"; diff --git a/application/language/chinese_simplified/statistics_lang.php b/application/language/chinese_simplified/statistics_lang.php index 58607ee1..cc6f3633 100644 --- a/application/language/chinese_simplified/statistics_lang.php +++ b/application/language/chinese_simplified/statistics_lang.php @@ -42,3 +42,19 @@ $lang['statistics_distances_and_band'] = "和波段"; $lang['statistics_timeline'] = "时间线"; +/* +* +* Days with QSO +* +*/ + +$lang['statistics_days_with_qso'] = "Number of days with QSOs each year"; +$lang['statistics_days_with_qso_short'] = "Days with QSOs"; +$lang['statistics_dwq_longest_streak_in_log'] = "Longest streak with QSOs in the log"; +$lang['statistics_dwq_longest_streak_in_log_hint'] = "A maximum of the 10 longest streaks are shown!"; +$lang['statistics_dwq_streak_continuous_days'] = "Streak (continuous days with QSOs)"; +$lang['statistics_dwq_current_streak_in_log'] = "Current streak with QSOs in the log"; +$lang['statistics_dwq_current_streak_continuous_days'] = "Current streak (continuous days with QSOs)"; +$lang['statistics_dwq_make_qso_to_extend_streak'] = "If you make a QSO today, you can continue to extend your streak... or else your current streak will be broken!"; +$lang['statistics_dwq_no_current_streak'] = "No current streak found!"; + diff --git a/application/language/czech/admin_lang.php b/application/language/czech/admin_lang.php index 890fb449..d0cb04ac 100644 --- a/application/language/czech/admin_lang.php +++ b/application/language/czech/admin_lang.php @@ -5,12 +5,14 @@ defined('BASEPATH') OR exit('No direct script access allowed'); $lang['admin_user_line1'] = 'Cloudlog potřebuje alespoň jednoho uživatele nastaveného pro svůj provoz.'; $lang['admin_user_line2'] = 'Uživatelům mohou být přiděleny role, které jim udělují různá oprávnění, jako je přidávání QSO do logu a přístup k Cloudlog API.'; $lang['admin_user_line3'] = 'Nyní přihlášený uživatel je zobrazen v pravém horním rohu každé stránky.'; +$lang['admin_user_line4'] = "With the password reset button, you can send a user an email containing a link to reset their password. To achieve this, ensure that the email settings in the global options are configured correctly."; $lang['admin_user_list'] = 'Seznam uživatelů'; $lang['admin_user'] = 'Uživatel'; $lang['admin_email'] = 'E-mail'; $lang['admin_type'] = 'Typ'; +$lang['admin_last_login'] = "Last Login"; $lang['admin_options'] = 'Možnosti'; $lang['admin_create_user'] = 'Vytvořit uživatele'; @@ -25,7 +27,10 @@ $lang['admin_close'] = 'Close'; $lang['admin_user_accounts'] = 'User Accounts'; $lang['admin_danger'] = 'DANGER!'; $lang['admin_experimental'] = "Experimental"; +$lang['admin_password_reset'] = "Password Reset"; +$lang['admin_email_settings_incorrect'] = "Email settings are incorrect."; +$lang['admin_password_reset_processed'] = "Password Reset E-Mail sent."; // Contest Menu diff --git a/application/language/czech/general_words_lang.php b/application/language/czech/general_words_lang.php index e9f29b86..6ae87734 100644 --- a/application/language/czech/general_words_lang.php +++ b/application/language/czech/general_words_lang.php @@ -25,6 +25,7 @@ $lang['general_word_count'] = "Count"; $lang['general_word_filtering_on'] = "Filtering on"; $lang['general_word_not_display'] = "Not display"; $lang['general_word_icon'] = "Icon"; +$lang['general_word_never'] = "Never"; $lang['general_word_date'] = 'Datum'; $lang['general_word_startdate'] = "Start Date"; @@ -47,6 +48,8 @@ $lang['general_word_city'] = 'Město'; $lang['general_word_total'] = 'Celkem'; $lang['general_word_year'] = 'Rok'; $lang['general_word_month'] = 'Měsíc'; +$lang['general_word_day'] = "Day"; +$lang['general_word_days'] = "Days"; $lang['general_word_colors'] = "Colors"; $lang['general_word_light'] = "Light/Laser"; diff --git a/application/language/czech/statistics_lang.php b/application/language/czech/statistics_lang.php index dabf58d4..f636a7d1 100644 --- a/application/language/czech/statistics_lang.php +++ b/application/language/czech/statistics_lang.php @@ -42,3 +42,19 @@ $lang['statistics_distances_and_band'] = "and band"; $lang['statistics_timeline'] = "Timeline"; +/* +* +* Days with QSO +* +*/ + +$lang['statistics_days_with_qso'] = "Number of days with QSOs each year"; +$lang['statistics_days_with_qso_short'] = "Days with QSOs"; +$lang['statistics_dwq_longest_streak_in_log'] = "Longest streak with QSOs in the log"; +$lang['statistics_dwq_longest_streak_in_log_hint'] = "A maximum of the 10 longest streaks are shown!"; +$lang['statistics_dwq_streak_continuous_days'] = "Streak (continuous days with QSOs)"; +$lang['statistics_dwq_current_streak_in_log'] = "Current streak with QSOs in the log"; +$lang['statistics_dwq_current_streak_continuous_days'] = "Current streak (continuous days with QSOs)"; +$lang['statistics_dwq_make_qso_to_extend_streak'] = "If you make a QSO today, you can continue to extend your streak... or else your current streak will be broken!"; +$lang['statistics_dwq_no_current_streak'] = "No current streak found!"; + diff --git a/application/language/dutch/admin_lang.php b/application/language/dutch/admin_lang.php index 2f498237..a0fbce5c 100644 --- a/application/language/dutch/admin_lang.php +++ b/application/language/dutch/admin_lang.php @@ -5,12 +5,14 @@ defined('BASEPATH') OR exit('Directe toegang tot scripts is niet toegestaan'); $lang['admin_user_line1'] = 'Cloudlog needs at least one user configured in order to operate.'; $lang['admin_user_line2'] = 'Users can be assigned roles which give them different permissions, such as adding QSOs to the logbook and accessing Cloudlog APIs.'; $lang['admin_user_line3'] = 'The currently logged-in user is displayed at the upper-right of each page.'; +$lang['admin_user_line4'] = "With the password reset button, you can send a user an email containing a link to reset their password. To achieve this, ensure that the email settings in the global options are configured correctly."; $lang['admin_user_list'] = 'User List'; $lang['admin_user'] = 'User'; $lang['admin_email'] = 'E-mail'; $lang['admin_type'] = 'Type'; +$lang['admin_last_login'] = "Last Login"; $lang['admin_options'] = 'Options'; $lang['admin_create_user'] = 'Create user'; @@ -25,7 +27,10 @@ $lang['admin_close'] = 'Close'; $lang['admin_user_accounts'] = 'User Accounts'; $lang['admin_danger'] = 'DANGER!'; $lang['admin_experimental'] = "Experimental"; +$lang['admin_password_reset'] = "Password Reset"; +$lang['admin_email_settings_incorrect'] = "Email settings are incorrect."; +$lang['admin_password_reset_processed'] = "Password Reset E-Mail sent."; // Contest Menu diff --git a/application/language/dutch/general_words_lang.php b/application/language/dutch/general_words_lang.php index 5acbb1c7..e5607902 100644 --- a/application/language/dutch/general_words_lang.php +++ b/application/language/dutch/general_words_lang.php @@ -25,6 +25,7 @@ $lang['general_word_count'] = "Count"; $lang['general_word_filtering_on'] = "Filtering on"; $lang['general_word_not_display'] = "Not display"; $lang['general_word_icon'] = "Icon"; +$lang['general_word_never'] = "Never"; $lang['general_word_date'] = 'Datum'; $lang['general_word_startdate'] = "Start Date"; @@ -47,6 +48,8 @@ $lang['general_word_city'] = 'By'; $lang['general_word_total'] = 'Totaal'; $lang['general_word_year'] = 'Jaar'; $lang['general_word_month'] = 'Maand'; +$lang['general_word_day'] = "Day"; +$lang['general_word_days'] = "Days"; $lang['general_word_colors'] = "Colors"; $lang['general_word_light'] = "Light/Laser"; diff --git a/application/language/dutch/statistics_lang.php b/application/language/dutch/statistics_lang.php index 4709463c..62bfe00d 100644 --- a/application/language/dutch/statistics_lang.php +++ b/application/language/dutch/statistics_lang.php @@ -42,3 +42,19 @@ $lang['statistics_distances_and_band'] = "and band"; $lang['statistics_timeline'] = "Timeline"; +/* +* +* Days with QSO +* +*/ + +$lang['statistics_days_with_qso'] = "Number of days with QSOs each year"; +$lang['statistics_days_with_qso_short'] = "Days with QSOs"; +$lang['statistics_dwq_longest_streak_in_log'] = "Longest streak with QSOs in the log"; +$lang['statistics_dwq_longest_streak_in_log_hint'] = "A maximum of the 10 longest streaks are shown!"; +$lang['statistics_dwq_streak_continuous_days'] = "Streak (continuous days with QSOs)"; +$lang['statistics_dwq_current_streak_in_log'] = "Current streak with QSOs in the log"; +$lang['statistics_dwq_current_streak_continuous_days'] = "Current streak (continuous days with QSOs)"; +$lang['statistics_dwq_make_qso_to_extend_streak'] = "If you make a QSO today, you can continue to extend your streak... or else your current streak will be broken!"; +$lang['statistics_dwq_no_current_streak'] = "No current streak found!"; + diff --git a/application/language/english/admin_lang.php b/application/language/english/admin_lang.php index f045c1a9..2560697f 100644 --- a/application/language/english/admin_lang.php +++ b/application/language/english/admin_lang.php @@ -5,12 +5,14 @@ defined('BASEPATH') OR exit('No direct script access allowed'); $lang['admin_user_line1'] = 'Cloudlog needs at least one user configured in order to operate.'; $lang['admin_user_line2'] = 'Users can be assigned roles which give them different permissions, such as adding QSOs to the logbook and accessing Cloudlog APIs.'; $lang['admin_user_line3'] = 'The currently logged-in user is displayed at the upper-right of each page.'; +$lang['admin_user_line4'] = "With the password reset button, you can send a user an email containing a link to reset their password. To achieve this, ensure that the email settings in the global options are configured correctly."; $lang['admin_user_list'] = 'User List'; $lang['admin_user'] = 'User'; $lang['admin_email'] = 'E-mail'; $lang['admin_type'] = 'Type'; +$lang['admin_last_login'] = "Last Login"; $lang['admin_options'] = 'Options'; $lang['admin_create_user'] = 'Create user'; @@ -25,7 +27,10 @@ $lang['admin_close'] = 'Close'; $lang['admin_user_accounts'] = 'User Accounts'; $lang['admin_danger'] = 'DANGER!'; $lang['admin_experimental'] = "Experimental"; +$lang['admin_password_reset'] = "Password Reset"; +$lang['admin_email_settings_incorrect'] = "Email settings are incorrect."; +$lang['admin_password_reset_processed'] = "Password Reset E-Mail sent."; // Contest Menu diff --git a/application/language/english/general_words_lang.php b/application/language/english/general_words_lang.php index a0ab71a1..9d5dc399 100644 --- a/application/language/english/general_words_lang.php +++ b/application/language/english/general_words_lang.php @@ -25,6 +25,7 @@ $lang['general_word_count'] = "Count"; $lang['general_word_filtering_on'] = "Filtering on"; $lang['general_word_not_display'] = "Not display"; $lang['general_word_icon'] = "Icon"; +$lang['general_word_never'] = "Never"; $lang['general_word_date'] = 'Date'; $lang['general_word_startdate'] = "Start Date"; @@ -47,6 +48,8 @@ $lang['general_word_city'] = 'City'; $lang['general_word_total'] = 'Total'; $lang['general_word_year'] = 'Year'; $lang['general_word_month'] = 'Month'; +$lang['general_word_day'] = "Day"; +$lang['general_word_days'] = "Days"; $lang['general_word_colors'] = "Colors"; $lang['general_word_light'] = "Light/Laser"; diff --git a/application/language/english/statistics_lang.php b/application/language/english/statistics_lang.php index 50a90e0d..c995c0f2 100644 --- a/application/language/english/statistics_lang.php +++ b/application/language/english/statistics_lang.php @@ -42,3 +42,19 @@ $lang['statistics_distances_and_band'] = "and band"; $lang['statistics_timeline'] = "Timeline"; +/* +* +* Days with QSO +* +*/ + +$lang['statistics_days_with_qso'] = "Number of days with QSOs each year"; +$lang['statistics_days_with_qso_short'] = "Days with QSOs"; +$lang['statistics_dwq_longest_streak_in_log'] = "Longest streak with QSOs in the log"; +$lang['statistics_dwq_longest_streak_in_log_hint'] = "A maximum of the 10 longest streaks are shown!"; +$lang['statistics_dwq_streak_continuous_days'] = "Streak (continuous days with QSOs)"; +$lang['statistics_dwq_current_streak_in_log'] = "Current streak with QSOs in the log"; +$lang['statistics_dwq_current_streak_continuous_days'] = "Current streak (continuous days with QSOs)"; +$lang['statistics_dwq_make_qso_to_extend_streak'] = "If you make a QSO today, you can continue to extend your streak... or else your current streak will be broken!"; +$lang['statistics_dwq_no_current_streak'] = "No current streak found!"; + diff --git a/application/language/finnish/admin_lang.php b/application/language/finnish/admin_lang.php index ca8b5d12..8c1ed2b8 100644 --- a/application/language/finnish/admin_lang.php +++ b/application/language/finnish/admin_lang.php @@ -5,12 +5,14 @@ defined('BASEPATH') OR exit('No direct script access allowed'); $lang['admin_user_line1'] = 'Cloudlog tarvitsee toimiakseen vähintään yhden luodun käyttäjän.'; $lang['admin_user_line2'] = 'Käyttäjille voidaan määrittää rooleja, jotka antavat heille erilaisia käyttöoikeuksia, kuten QSO:n lisääminen lokikirjaan ja pääsy Cloudlog-sovellusliittymiin (API).'; $lang['admin_user_line3'] = 'Tällä hetkellä kirjautunut käyttäjä näkyy jokaisen sivun oikeassa yläkulmassa.'; +$lang['admin_user_line4'] = "With the password reset button, you can send a user an email containing a link to reset their password. To achieve this, ensure that the email settings in the global options are configured correctly."; $lang['admin_user_list'] = 'Käyttäjälista'; $lang['admin_user'] = 'Käyttäjä'; $lang['admin_email'] = 'E-mail'; $lang['admin_type'] = 'Rooli'; +$lang['admin_last_login'] = "Last Login"; $lang['admin_options'] = 'Valinnat'; $lang['admin_create_user'] = 'Luo käyttäjä'; @@ -25,7 +27,10 @@ $lang['admin_close'] = 'Close'; $lang['admin_user_accounts'] = 'User Accounts'; $lang['admin_danger'] = 'DANGER!'; $lang['admin_experimental'] = "Experimental"; +$lang['admin_password_reset'] = "Password Reset"; +$lang['admin_email_settings_incorrect'] = "Email settings are incorrect."; +$lang['admin_password_reset_processed'] = "Password Reset E-Mail sent."; // Contest Menu diff --git a/application/language/finnish/general_words_lang.php b/application/language/finnish/general_words_lang.php index 9aa142aa..358030a9 100644 --- a/application/language/finnish/general_words_lang.php +++ b/application/language/finnish/general_words_lang.php @@ -25,6 +25,7 @@ $lang['general_word_count'] = "Count"; $lang['general_word_filtering_on'] = "Filtering on"; $lang['general_word_not_display'] = "Not display"; $lang['general_word_icon'] = "Icon"; +$lang['general_word_never'] = "Never"; $lang['general_word_date'] = 'Päivä'; $lang['general_word_startdate'] = "Start Date"; @@ -47,6 +48,8 @@ $lang['general_word_city'] = 'City'; $lang['general_word_total'] = 'Yhteensä'; $lang['general_word_year'] = 'Vuosi'; $lang['general_word_month'] = 'Kuukausi'; +$lang['general_word_day'] = "Day"; +$lang['general_word_days'] = "Days"; $lang['general_word_colors'] = "Colors"; $lang['general_word_light'] = "Light/Laser"; diff --git a/application/language/finnish/statistics_lang.php b/application/language/finnish/statistics_lang.php index eb8feb45..c5b61102 100644 --- a/application/language/finnish/statistics_lang.php +++ b/application/language/finnish/statistics_lang.php @@ -42,3 +42,19 @@ $lang['statistics_distances_and_band'] = "and band"; $lang['statistics_timeline'] = "Timeline"; +/* +* +* Days with QSO +* +*/ + +$lang['statistics_days_with_qso'] = "Number of days with QSOs each year"; +$lang['statistics_days_with_qso_short'] = "Days with QSOs"; +$lang['statistics_dwq_longest_streak_in_log'] = "Longest streak with QSOs in the log"; +$lang['statistics_dwq_longest_streak_in_log_hint'] = "A maximum of the 10 longest streaks are shown!"; +$lang['statistics_dwq_streak_continuous_days'] = "Streak (continuous days with QSOs)"; +$lang['statistics_dwq_current_streak_in_log'] = "Current streak with QSOs in the log"; +$lang['statistics_dwq_current_streak_continuous_days'] = "Current streak (continuous days with QSOs)"; +$lang['statistics_dwq_make_qso_to_extend_streak'] = "If you make a QSO today, you can continue to extend your streak... or else your current streak will be broken!"; +$lang['statistics_dwq_no_current_streak'] = "No current streak found!"; + diff --git a/application/language/french/admin_lang.php b/application/language/french/admin_lang.php index b76b67ff..d87c4285 100644 --- a/application/language/french/admin_lang.php +++ b/application/language/french/admin_lang.php @@ -5,12 +5,14 @@ defined('BASEPATH') OR exit('No direct script access allowed'); $lang['admin_user_line1'] = "Cloudlog a besoin d'au moins un utilisateur configuré pour fonctionner."; $lang['admin_user_line2'] = "Les utilisateurs peuvent se voir attribuer des rôles qui leur donnent différentes autorisations, telles que l'ajout de QSO au journal de trafic et l'accès aux API Cloudlog."; $lang['admin_user_line3'] = "L'utilisateur actuellement connecté est affiché en haut à droite de chaque page."; +$lang['admin_user_line4'] = "With the password reset button, you can send a user an email containing a link to reset their password. To achieve this, ensure that the email settings in the global options are configured correctly."; $lang['admin_user_list'] = "Liste des utilisateurs"; $lang['admin_user'] = "Utilisateur"; $lang['admin_email'] = "E-mail"; $lang['admin_type'] = "Type"; +$lang['admin_last_login'] = "Last Login"; $lang['admin_options'] = "Options"; $lang['admin_create_user'] = "Création d'un utilisateur"; @@ -25,7 +27,10 @@ $lang['admin_close'] = "Fermer"; $lang['admin_user_accounts'] = "Compte des utilisateurs"; $lang['admin_danger'] = "DANGER!"; $lang['admin_experimental'] = "Expérimental"; +$lang['admin_password_reset'] = "Password Reset"; +$lang['admin_email_settings_incorrect'] = "Email settings are incorrect."; +$lang['admin_password_reset_processed'] = "Password Reset E-Mail sent."; // Contest Menu diff --git a/application/language/french/general_words_lang.php b/application/language/french/general_words_lang.php index c2d01dce..769a90cb 100644 --- a/application/language/french/general_words_lang.php +++ b/application/language/french/general_words_lang.php @@ -25,6 +25,7 @@ $lang['general_word_count'] = "Nombre"; $lang['general_word_filtering_on'] = "Filtré sur"; $lang['general_word_not_display'] = "Ne pas afficher"; $lang['general_word_icon'] = "Icône"; +$lang['general_word_never'] = "Never"; $lang['general_word_date'] = "Date"; $lang['general_word_startdate'] = "Date début"; @@ -47,6 +48,8 @@ $lang['general_word_city'] = "Ville"; $lang['general_word_total'] = "Total"; $lang['general_word_year'] = "Année"; $lang['general_word_month'] = "Mois"; +$lang['general_word_day'] = "Day"; +$lang['general_word_days'] = "Days"; $lang['general_word_colors'] = "Couleurs"; $lang['general_word_light'] = "Lumière/Laser"; diff --git a/application/language/french/statistics_lang.php b/application/language/french/statistics_lang.php index 132f5e6c..c9631523 100644 --- a/application/language/french/statistics_lang.php +++ b/application/language/french/statistics_lang.php @@ -42,3 +42,19 @@ $lang['statistics_distances_and_band'] = "et bandes"; $lang['statistics_timeline'] = "Chronologie"; +/* +* +* Days with QSO +* +*/ + +$lang['statistics_days_with_qso'] = "Number of days with QSOs each year"; +$lang['statistics_days_with_qso_short'] = "Days with QSOs"; +$lang['statistics_dwq_longest_streak_in_log'] = "Longest streak with QSOs in the log"; +$lang['statistics_dwq_longest_streak_in_log_hint'] = "A maximum of the 10 longest streaks are shown!"; +$lang['statistics_dwq_streak_continuous_days'] = "Streak (continuous days with QSOs)"; +$lang['statistics_dwq_current_streak_in_log'] = "Current streak with QSOs in the log"; +$lang['statistics_dwq_current_streak_continuous_days'] = "Current streak (continuous days with QSOs)"; +$lang['statistics_dwq_make_qso_to_extend_streak'] = "If you make a QSO today, you can continue to extend your streak... or else your current streak will be broken!"; +$lang['statistics_dwq_no_current_streak'] = "No current streak found!"; + diff --git a/application/language/german/admin_lang.php b/application/language/german/admin_lang.php index 683ad29e..113fed3e 100644 --- a/application/language/german/admin_lang.php +++ b/application/language/german/admin_lang.php @@ -5,12 +5,14 @@ defined('BASEPATH') OR exit('Direkter Zugriff auf Skripte ist nicht erlaubt'); $lang['admin_user_line1'] = 'Es muss mindestens ein Benutzer konfiguriert sein, damit Cloudlog funktioniert.'; $lang['admin_user_line2'] = 'Benutzer können verschiedene Rollen zugewiesen bekommen, die ihnen unterschiedliche Rechte geben wie QSOs zum Logbuch hinzuzufügen und die APIs von Cloudlog zu benutzen'; $lang['admin_user_line3'] = 'Der aktuell angemeldete Benutzer wird oben rechts auf jeder Seite angezeigt.'; +$lang['admin_user_line4'] = "Mit dem Passwort Reset Knopf kannst du dem Benutzer eine E-Mail mit einem Passwort-Reset Link zuschicken. Dafür müssen die E-Mail Einstellungen in den globalen Optionen korrekt eingerichtet sein."; $lang['admin_user_list'] = 'Benutzer Liste'; $lang['admin_user'] = 'Benutzer'; $lang['admin_email'] = 'E-Mail'; $lang['admin_type'] = 'Typ'; +$lang['admin_last_login'] = "Letzter Login"; $lang['admin_options'] = 'Optionen'; $lang['admin_create_user'] = 'Benutzer anlegen'; @@ -25,7 +27,10 @@ $lang['admin_close'] = 'Schliessen'; $lang['admin_user_accounts'] = 'Benutzerkonten'; $lang['admin_danger'] = 'ACHTUNG!'; $lang['admin_experimental'] = "Experimentell"; +$lang['admin_password_reset'] = "Passwort zurücksetzen"; +$lang['admin_email_settings_incorrect'] = "E-Mail Einstellungen sind nicht korrekt."; +$lang['admin_password_reset_processed'] = "Password Reset E-Mail verschickt."; // Contest Menu diff --git a/application/language/german/general_words_lang.php b/application/language/german/general_words_lang.php index c61ea4e2..e979d804 100644 --- a/application/language/german/general_words_lang.php +++ b/application/language/german/general_words_lang.php @@ -25,6 +25,7 @@ $lang['general_word_count'] = "Zähler"; $lang['general_word_filtering_on'] = "Filtern auf"; $lang['general_word_not_display'] = "Not display"; $lang['general_word_icon'] = "Icon"; +$lang['general_word_never'] = "Nie"; $lang['general_word_date'] = 'Datum'; $lang['general_word_startdate'] = "Start Datum"; @@ -47,6 +48,8 @@ $lang['general_word_city'] = 'Stadt'; $lang['general_word_total'] = 'Gesamt'; $lang['general_word_year'] = 'Jahr'; $lang['general_word_month'] = 'Monat'; +$lang['general_word_day'] = "Tag"; +$lang['general_word_days'] = "Tage"; $lang['general_word_colors'] = "Farben"; $lang['general_word_light'] = "Licht/Laser"; @@ -213,7 +216,7 @@ $lang['general_word_today'] = 'Heute'; $lang['dashboard_php_version_warning'] = 'Die PHP Version is zu alt. Benötigt wird mindestens die Version 7.4. Die installierte Version ist'; $lang['dashboard_country_files_warning'] = 'Die Länderlisten müssen aktualisiert werden! Klicke hier, um das zu tun!'; -$lang['dashboard_locations_warning'] = 'Ea wurde kein Stationsstandort angelegt! Klicke hier, um das zu tun!'; +$lang['dashboard_locations_warning'] = 'Es wurde kein Stationsstandort angelegt! Klicke hier, um das zu tun!'; $lang['dashboard_logbooks_warning'] = 'Es wurde kein Stationslogbuch angelegt. Klicke hier, um das zu tun!'; $lang['hams_at_no_activations_found'] = 'Keine bevorstehenden Aktivierungen gefunden. Bitte später noch einmal vorbeischauen.'; diff --git a/application/language/german/statistics_lang.php b/application/language/german/statistics_lang.php index 376dfc3b..f91e0d98 100644 --- a/application/language/german/statistics_lang.php +++ b/application/language/german/statistics_lang.php @@ -42,3 +42,19 @@ $lang['statistics_distances_and_band'] = "und Band"; $lang['statistics_timeline'] = "Zeitleiste"; +/* +* +* Days with QSO +* +*/ + +$lang['statistics_days_with_qso'] = "Anzahl der Tage mit QSOs pro Jahr"; +$lang['statistics_days_with_qso_short'] = "Tage mit QSOs"; +$lang['statistics_dwq_longest_streak_in_log'] = "Längste Serie mit QSOs im Logbuch"; +$lang['statistics_dwq_longest_streak_in_log_hint'] = "Es werden maximal die 10 längsten Serien angezeigt!"; +$lang['statistics_dwq_streak_continuous_days'] = "Serie (fortlaufende Tage mit QSOs)"; +$lang['statistics_dwq_current_streak_in_log'] = "Aktuelle Serie mit QSOs im Logbuch"; +$lang['statistics_dwq_current_streak_continuous_days'] = "Aktuelle Serie (fortlaufende Tage mit QSOs)"; +$lang['statistics_dwq_make_qso_to_extend_streak'] = "Wenn Sie heute ein QSO machen, können Sie Ihre Serie verlängern... Andernfalls wird Ihre aktuelle Serie unterbrochen!"; +$lang['statistics_dwq_no_current_streak'] = "Keine aktuelle Serie gefunden!"; + diff --git a/application/language/greek/admin_lang.php b/application/language/greek/admin_lang.php index f045c1a9..2560697f 100644 --- a/application/language/greek/admin_lang.php +++ b/application/language/greek/admin_lang.php @@ -5,12 +5,14 @@ defined('BASEPATH') OR exit('No direct script access allowed'); $lang['admin_user_line1'] = 'Cloudlog needs at least one user configured in order to operate.'; $lang['admin_user_line2'] = 'Users can be assigned roles which give them different permissions, such as adding QSOs to the logbook and accessing Cloudlog APIs.'; $lang['admin_user_line3'] = 'The currently logged-in user is displayed at the upper-right of each page.'; +$lang['admin_user_line4'] = "With the password reset button, you can send a user an email containing a link to reset their password. To achieve this, ensure that the email settings in the global options are configured correctly."; $lang['admin_user_list'] = 'User List'; $lang['admin_user'] = 'User'; $lang['admin_email'] = 'E-mail'; $lang['admin_type'] = 'Type'; +$lang['admin_last_login'] = "Last Login"; $lang['admin_options'] = 'Options'; $lang['admin_create_user'] = 'Create user'; @@ -25,7 +27,10 @@ $lang['admin_close'] = 'Close'; $lang['admin_user_accounts'] = 'User Accounts'; $lang['admin_danger'] = 'DANGER!'; $lang['admin_experimental'] = "Experimental"; +$lang['admin_password_reset'] = "Password Reset"; +$lang['admin_email_settings_incorrect'] = "Email settings are incorrect."; +$lang['admin_password_reset_processed'] = "Password Reset E-Mail sent."; // Contest Menu diff --git a/application/language/greek/general_words_lang.php b/application/language/greek/general_words_lang.php index 9554d7d6..85dd279c 100644 --- a/application/language/greek/general_words_lang.php +++ b/application/language/greek/general_words_lang.php @@ -25,6 +25,7 @@ $lang['general_word_count'] = "Count"; $lang['general_word_filtering_on'] = "Filtering on"; $lang['general_word_not_display'] = "Not display"; $lang['general_word_icon'] = "Icon"; +$lang['general_word_never'] = "Never"; $lang['general_word_date'] = 'Ημερομηνία'; $lang['general_word_startdate'] = "Start Date"; @@ -47,6 +48,8 @@ $lang['general_word_city'] = 'City'; $lang['general_word_total'] = 'Σύνολο'; $lang['general_word_year'] = 'Ετος'; $lang['general_word_month'] = 'Μήνας'; +$lang['general_word_day'] = "Day"; +$lang['general_word_days'] = "Days"; $lang['general_word_colors'] = "Colors"; $lang['general_word_light'] = "Light/Laser"; diff --git a/application/language/greek/statistics_lang.php b/application/language/greek/statistics_lang.php index 50a90e0d..c995c0f2 100644 --- a/application/language/greek/statistics_lang.php +++ b/application/language/greek/statistics_lang.php @@ -42,3 +42,19 @@ $lang['statistics_distances_and_band'] = "and band"; $lang['statistics_timeline'] = "Timeline"; +/* +* +* Days with QSO +* +*/ + +$lang['statistics_days_with_qso'] = "Number of days with QSOs each year"; +$lang['statistics_days_with_qso_short'] = "Days with QSOs"; +$lang['statistics_dwq_longest_streak_in_log'] = "Longest streak with QSOs in the log"; +$lang['statistics_dwq_longest_streak_in_log_hint'] = "A maximum of the 10 longest streaks are shown!"; +$lang['statistics_dwq_streak_continuous_days'] = "Streak (continuous days with QSOs)"; +$lang['statistics_dwq_current_streak_in_log'] = "Current streak with QSOs in the log"; +$lang['statistics_dwq_current_streak_continuous_days'] = "Current streak (continuous days with QSOs)"; +$lang['statistics_dwq_make_qso_to_extend_streak'] = "If you make a QSO today, you can continue to extend your streak... or else your current streak will be broken!"; +$lang['statistics_dwq_no_current_streak'] = "No current streak found!"; + diff --git a/application/language/italian/admin_lang.php b/application/language/italian/admin_lang.php index f045c1a9..2560697f 100644 --- a/application/language/italian/admin_lang.php +++ b/application/language/italian/admin_lang.php @@ -5,12 +5,14 @@ defined('BASEPATH') OR exit('No direct script access allowed'); $lang['admin_user_line1'] = 'Cloudlog needs at least one user configured in order to operate.'; $lang['admin_user_line2'] = 'Users can be assigned roles which give them different permissions, such as adding QSOs to the logbook and accessing Cloudlog APIs.'; $lang['admin_user_line3'] = 'The currently logged-in user is displayed at the upper-right of each page.'; +$lang['admin_user_line4'] = "With the password reset button, you can send a user an email containing a link to reset their password. To achieve this, ensure that the email settings in the global options are configured correctly."; $lang['admin_user_list'] = 'User List'; $lang['admin_user'] = 'User'; $lang['admin_email'] = 'E-mail'; $lang['admin_type'] = 'Type'; +$lang['admin_last_login'] = "Last Login"; $lang['admin_options'] = 'Options'; $lang['admin_create_user'] = 'Create user'; @@ -25,7 +27,10 @@ $lang['admin_close'] = 'Close'; $lang['admin_user_accounts'] = 'User Accounts'; $lang['admin_danger'] = 'DANGER!'; $lang['admin_experimental'] = "Experimental"; +$lang['admin_password_reset'] = "Password Reset"; +$lang['admin_email_settings_incorrect'] = "Email settings are incorrect."; +$lang['admin_password_reset_processed'] = "Password Reset E-Mail sent."; // Contest Menu diff --git a/application/language/italian/general_words_lang.php b/application/language/italian/general_words_lang.php index 1322446f..0ebcdac2 100644 --- a/application/language/italian/general_words_lang.php +++ b/application/language/italian/general_words_lang.php @@ -25,6 +25,7 @@ $lang['general_word_count'] = "Count"; $lang['general_word_filtering_on'] = "Filtering on"; $lang['general_word_not_display'] = "Not display"; $lang['general_word_icon'] = "Icon"; +$lang['general_word_never'] = "Never"; $lang['general_word_date'] = 'Data'; $lang['general_word_startdate'] = "Start Date"; @@ -47,6 +48,8 @@ $lang['general_word_city'] = 'City'; $lang['general_word_total'] = 'Totale'; $lang['general_word_year'] = 'Anno'; $lang['general_word_month'] = 'Mese'; +$lang['general_word_day'] = "Day"; +$lang['general_word_days'] = "Days"; $lang['general_word_colors'] = "Colors"; $lang['general_word_light'] = "Light/Laser"; diff --git a/application/language/italian/statistics_lang.php b/application/language/italian/statistics_lang.php index 50a90e0d..c995c0f2 100644 --- a/application/language/italian/statistics_lang.php +++ b/application/language/italian/statistics_lang.php @@ -42,3 +42,19 @@ $lang['statistics_distances_and_band'] = "and band"; $lang['statistics_timeline'] = "Timeline"; +/* +* +* Days with QSO +* +*/ + +$lang['statistics_days_with_qso'] = "Number of days with QSOs each year"; +$lang['statistics_days_with_qso_short'] = "Days with QSOs"; +$lang['statistics_dwq_longest_streak_in_log'] = "Longest streak with QSOs in the log"; +$lang['statistics_dwq_longest_streak_in_log_hint'] = "A maximum of the 10 longest streaks are shown!"; +$lang['statistics_dwq_streak_continuous_days'] = "Streak (continuous days with QSOs)"; +$lang['statistics_dwq_current_streak_in_log'] = "Current streak with QSOs in the log"; +$lang['statistics_dwq_current_streak_continuous_days'] = "Current streak (continuous days with QSOs)"; +$lang['statistics_dwq_make_qso_to_extend_streak'] = "If you make a QSO today, you can continue to extend your streak... or else your current streak will be broken!"; +$lang['statistics_dwq_no_current_streak'] = "No current streak found!"; + diff --git a/application/language/polish/admin_lang.php b/application/language/polish/admin_lang.php index f045c1a9..2560697f 100644 --- a/application/language/polish/admin_lang.php +++ b/application/language/polish/admin_lang.php @@ -5,12 +5,14 @@ defined('BASEPATH') OR exit('No direct script access allowed'); $lang['admin_user_line1'] = 'Cloudlog needs at least one user configured in order to operate.'; $lang['admin_user_line2'] = 'Users can be assigned roles which give them different permissions, such as adding QSOs to the logbook and accessing Cloudlog APIs.'; $lang['admin_user_line3'] = 'The currently logged-in user is displayed at the upper-right of each page.'; +$lang['admin_user_line4'] = "With the password reset button, you can send a user an email containing a link to reset their password. To achieve this, ensure that the email settings in the global options are configured correctly."; $lang['admin_user_list'] = 'User List'; $lang['admin_user'] = 'User'; $lang['admin_email'] = 'E-mail'; $lang['admin_type'] = 'Type'; +$lang['admin_last_login'] = "Last Login"; $lang['admin_options'] = 'Options'; $lang['admin_create_user'] = 'Create user'; @@ -25,7 +27,10 @@ $lang['admin_close'] = 'Close'; $lang['admin_user_accounts'] = 'User Accounts'; $lang['admin_danger'] = 'DANGER!'; $lang['admin_experimental'] = "Experimental"; +$lang['admin_password_reset'] = "Password Reset"; +$lang['admin_email_settings_incorrect'] = "Email settings are incorrect."; +$lang['admin_password_reset_processed'] = "Password Reset E-Mail sent."; // Contest Menu diff --git a/application/language/polish/general_words_lang.php b/application/language/polish/general_words_lang.php index 9932f502..43820d3f 100644 --- a/application/language/polish/general_words_lang.php +++ b/application/language/polish/general_words_lang.php @@ -25,6 +25,7 @@ $lang['general_word_count'] = "Count"; $lang['general_word_filtering_on'] = "Filtering on"; $lang['general_word_not_display'] = "Not display"; $lang['general_word_icon'] = "Icon"; +$lang['general_word_never'] = "Never"; $lang['general_word_date'] = 'Data'; $lang['general_word_startdate'] = "Start Date"; @@ -47,6 +48,8 @@ $lang['general_word_city'] = 'City'; $lang['general_word_total'] = 'Suma'; $lang['general_word_year'] = 'Rok'; $lang['general_word_month'] = 'Miesiąc'; +$lang['general_word_day'] = "Day"; +$lang['general_word_days'] = "Days"; $lang['general_word_colors'] = "Colors"; $lang['general_word_light'] = "Light/Laser"; diff --git a/application/language/polish/statistics_lang.php b/application/language/polish/statistics_lang.php index 50a90e0d..c995c0f2 100644 --- a/application/language/polish/statistics_lang.php +++ b/application/language/polish/statistics_lang.php @@ -42,3 +42,19 @@ $lang['statistics_distances_and_band'] = "and band"; $lang['statistics_timeline'] = "Timeline"; +/* +* +* Days with QSO +* +*/ + +$lang['statistics_days_with_qso'] = "Number of days with QSOs each year"; +$lang['statistics_days_with_qso_short'] = "Days with QSOs"; +$lang['statistics_dwq_longest_streak_in_log'] = "Longest streak with QSOs in the log"; +$lang['statistics_dwq_longest_streak_in_log_hint'] = "A maximum of the 10 longest streaks are shown!"; +$lang['statistics_dwq_streak_continuous_days'] = "Streak (continuous days with QSOs)"; +$lang['statistics_dwq_current_streak_in_log'] = "Current streak with QSOs in the log"; +$lang['statistics_dwq_current_streak_continuous_days'] = "Current streak (continuous days with QSOs)"; +$lang['statistics_dwq_make_qso_to_extend_streak'] = "If you make a QSO today, you can continue to extend your streak... or else your current streak will be broken!"; +$lang['statistics_dwq_no_current_streak'] = "No current streak found!"; + diff --git a/application/language/russian/admin_lang.php b/application/language/russian/admin_lang.php index 79440283..2cd36711 100644 --- a/application/language/russian/admin_lang.php +++ b/application/language/russian/admin_lang.php @@ -5,12 +5,14 @@ defined('BASEPATH') OR exit('No direct script access allowed'); $lang['admin_user_line1'] = 'Для работы Cloudlog требуется хотя наличие хотя бы одного пользовательского аккаунта.'; $lang['admin_user_line2'] = 'Пользователям могут быть назначены роли, которые предоставляют им различные права, например, добавление QSO в журнал и доступ к API Cloudlog.'; $lang['admin_user_line3'] = 'Текущий вошедший в систему пользователь отображается в правом верхнем углу каждой страницы.'; +$lang['admin_user_line4'] = "With the password reset button, you can send a user an email containing a link to reset their password. To achieve this, ensure that the email settings in the global options are configured correctly."; $lang['admin_user_list'] = 'Список пользователей'; $lang['admin_user'] = 'Пользователь'; $lang['admin_email'] = 'Емэйл'; $lang['admin_type'] = 'Роль'; +$lang['admin_last_login'] = "Last Login"; $lang['admin_options'] = 'Опции'; $lang['admin_create_user'] = 'Создать пользователя'; @@ -25,7 +27,10 @@ $lang['admin_close'] = 'Close'; $lang['admin_user_accounts'] = 'Аккаунты пользователей'; $lang['admin_danger'] = 'ОПАСНО!'; $lang['admin_experimental'] = "Экспериментально"; +$lang['admin_password_reset'] = "Password Reset"; +$lang['admin_email_settings_incorrect'] = "Email settings are incorrect."; +$lang['admin_password_reset_processed'] = "Password Reset E-Mail sent."; // Contest Menu diff --git a/application/language/russian/general_words_lang.php b/application/language/russian/general_words_lang.php index a7a2d6b6..a9a7159a 100644 --- a/application/language/russian/general_words_lang.php +++ b/application/language/russian/general_words_lang.php @@ -25,6 +25,7 @@ $lang['general_word_count'] = "Счётчик"; $lang['general_word_filtering_on'] = "Отфильтровано по"; $lang['general_word_not_display'] = "Not display"; $lang['general_word_icon'] = "Icon"; +$lang['general_word_never'] = "Never"; $lang['general_word_date'] = 'Дата'; $lang['general_word_startdate'] = "Дата начала"; @@ -47,6 +48,8 @@ $lang['general_word_city'] = 'City'; $lang['general_word_total'] = 'Всего'; $lang['general_word_year'] = 'Год'; $lang['general_word_month'] = 'Месяц'; +$lang['general_word_day'] = "Day"; +$lang['general_word_days'] = "Days"; $lang['general_word_colors'] = "Цвета"; $lang['general_word_light'] = "Свет/лазер"; diff --git a/application/language/russian/statistics_lang.php b/application/language/russian/statistics_lang.php index 46bc9a0c..2e9efab2 100644 --- a/application/language/russian/statistics_lang.php +++ b/application/language/russian/statistics_lang.php @@ -42,3 +42,19 @@ $lang['statistics_distances_and_band'] = "и диапазоне"; $lang['statistics_timeline'] = "Лента времени"; +/* +* +* Days with QSO +* +*/ + +$lang['statistics_days_with_qso'] = "Number of days with QSOs each year"; +$lang['statistics_days_with_qso_short'] = "Days with QSOs"; +$lang['statistics_dwq_longest_streak_in_log'] = "Longest streak with QSOs in the log"; +$lang['statistics_dwq_longest_streak_in_log_hint'] = "A maximum of the 10 longest streaks are shown!"; +$lang['statistics_dwq_streak_continuous_days'] = "Streak (continuous days with QSOs)"; +$lang['statistics_dwq_current_streak_in_log'] = "Current streak with QSOs in the log"; +$lang['statistics_dwq_current_streak_continuous_days'] = "Current streak (continuous days with QSOs)"; +$lang['statistics_dwq_make_qso_to_extend_streak'] = "If you make a QSO today, you can continue to extend your streak... or else your current streak will be broken!"; +$lang['statistics_dwq_no_current_streak'] = "No current streak found!"; + diff --git a/application/language/spanish/admin_lang.php b/application/language/spanish/admin_lang.php index b68ff4c4..8b49e819 100644 --- a/application/language/spanish/admin_lang.php +++ b/application/language/spanish/admin_lang.php @@ -24,8 +24,12 @@ $lang['admin_save'] = 'Guardar'; $lang['admin_close'] = 'Cerrar'; $lang['admin_user_accounts'] = 'Cuentas de Usuario'; $lang['admin_danger'] = '¡PELIGRO!'; -$lang['admin_experimental'] = "Experimental"; +$lang['admin_experimental'] = "Experimental"; +$lang['admin_password_reset'] = "Password Reset"; + +$lang['admin_email_settings_incorrect'] = "Email settings are incorrect."; +$lang['admin_password_reset_processed'] = "Password Reset E-Mail sent."; // Contest Menu diff --git a/application/language/spanish/general_words_lang.php b/application/language/spanish/general_words_lang.php index d74ebf9c..46cb6424 100644 --- a/application/language/spanish/general_words_lang.php +++ b/application/language/spanish/general_words_lang.php @@ -16,6 +16,7 @@ $lang['general_word_next'] = 'Siguiente'; $lang['general_word_previous'] = 'Anterior'; $lang['general_word_cancel'] = "Cancelar"; $lang['general_word_ok'] = "OK"; + $lang['general_word_attention'] = "Atención"; $lang['general_word_enabled'] = "Activado"; $lang['general_word_disabled'] = "Desactivado"; @@ -26,6 +27,7 @@ $lang['general_word_filtering_on'] = "Filtrado por"; $lang['general_word_not_display'] = "No mostrar"; $lang['general_word_icon'] = "Icono"; + $lang['general_word_date'] = 'Fecha'; $lang['general_word_startdate'] = "Fecha de inicio"; $lang['general_word_enddate'] = "Fecha de fin"; @@ -47,6 +49,8 @@ $lang['general_word_city'] = 'Ciudad'; $lang['general_word_total'] = 'Total'; $lang['general_word_year'] = 'Año'; $lang['general_word_month'] = 'Mes'; +$lang['general_word_day'] = "Day"; +$lang['general_word_days'] = "Days"; $lang['general_word_colors'] = "Colores"; $lang['general_word_light'] = "Luz/Láser"; diff --git a/application/language/spanish/statistics_lang.php b/application/language/spanish/statistics_lang.php index e4f5ec33..034e8316 100644 --- a/application/language/spanish/statistics_lang.php +++ b/application/language/spanish/statistics_lang.php @@ -42,3 +42,19 @@ $lang['statistics_distances_and_band'] = "y banda"; $lang['statistics_timeline'] = "Línea de tiempo"; +/* +* +* Days with QSO +* +*/ + +$lang['statistics_days_with_qso'] = "Number of days with QSOs each year"; +$lang['statistics_days_with_qso_short'] = "Days with QSOs"; +$lang['statistics_dwq_longest_streak_in_log'] = "Longest streak with QSOs in the log"; +$lang['statistics_dwq_longest_streak_in_log_hint'] = "A maximum of the 10 longest streaks are shown!"; +$lang['statistics_dwq_streak_continuous_days'] = "Streak (continuous days with QSOs)"; +$lang['statistics_dwq_current_streak_in_log'] = "Current streak with QSOs in the log"; +$lang['statistics_dwq_current_streak_continuous_days'] = "Current streak (continuous days with QSOs)"; +$lang['statistics_dwq_make_qso_to_extend_streak'] = "If you make a QSO today, you can continue to extend your streak... or else your current streak will be broken!"; +$lang['statistics_dwq_no_current_streak'] = "No current streak found!"; + diff --git a/application/language/swedish/admin_lang.php b/application/language/swedish/admin_lang.php index ab4babfb..4b5b927b 100644 --- a/application/language/swedish/admin_lang.php +++ b/application/language/swedish/admin_lang.php @@ -5,12 +5,14 @@ defined('BASEPATH') OR exit('No direct script access allowed'); $lang['admin_user_line1'] = 'Cloudlog behöver minst en användare konfigurerad för att fungera.'; $lang['admin_user_line2'] = 'Användare kan tilldelas roller som ger dem olika behörigheter, som att lägga till QSO:er i loggboken och komma åt Cloudlog API:er.'; $lang['admin_user_line3'] = 'Den för närvarande inloggade användaren visas uppe till höger på varje sida.'; +$lang['admin_user_line4'] = "With the password reset button, you can send a user an email containing a link to reset their password. To achieve this, ensure that the email settings in the global options are configured correctly."; $lang['admin_user_list'] = 'Användarlista'; $lang['admin_user'] = 'Användare'; $lang['admin_email'] = 'E-post'; $lang['admin_type'] = 'Typ'; +$lang['admin_last_login'] = "Last Login"; $lang['admin_options'] = 'Alternativ'; $lang['admin_create_user'] = 'Skapa användare'; @@ -25,7 +27,10 @@ $lang['admin_close'] = 'Close'; $lang['admin_user_accounts'] = 'User Accounts'; $lang['admin_danger'] = 'DANGER!'; $lang['admin_experimental'] = "Experimental"; +$lang['admin_password_reset'] = "Password Reset"; +$lang['admin_email_settings_incorrect'] = "Email settings are incorrect."; +$lang['admin_password_reset_processed'] = "Password Reset E-Mail sent."; // Contest Menu diff --git a/application/language/swedish/general_words_lang.php b/application/language/swedish/general_words_lang.php index 40e1be84..7035c6a9 100644 --- a/application/language/swedish/general_words_lang.php +++ b/application/language/swedish/general_words_lang.php @@ -25,6 +25,7 @@ $lang['general_word_enabled'] = "Enabled"; $lang['general_word_disabled'] = "Disabled"; $lang['general_word_count'] = "Count"; $lang['general_word_filtering_on'] = "Filtering on"; +$lang['general_word_never'] = "Never"; $lang['general_word_export'] = "Export"; $lang['general_word_import'] = "Import"; $lang['general_word_startdate'] = "Start Date"; @@ -47,6 +48,8 @@ $lang['general_word_country'] = 'Land'; $lang['general_word_city'] = 'City'; $lang['general_word_total'] = 'Totalt'; +$lang['general_word_day'] = "Day"; +$lang['general_word_days'] = "Days"; $lang['general_word_year'] = 'I år'; $lang['general_word_month'] = 'Denna månad'; diff --git a/application/language/swedish/statistics_lang.php b/application/language/swedish/statistics_lang.php index cbc11921..05419132 100644 --- a/application/language/swedish/statistics_lang.php +++ b/application/language/swedish/statistics_lang.php @@ -42,3 +42,19 @@ $lang['statistics_distances_and_band'] = "and band"; $lang['statistics_timeline'] = "Timeline"; +/* +* +* Days with QSO +* +*/ + +$lang['statistics_days_with_qso'] = "Number of days with QSOs each year"; +$lang['statistics_days_with_qso_short'] = "Days with QSOs"; +$lang['statistics_dwq_longest_streak_in_log'] = "Longest streak with QSOs in the log"; +$lang['statistics_dwq_longest_streak_in_log_hint'] = "A maximum of the 10 longest streaks are shown!"; +$lang['statistics_dwq_streak_continuous_days'] = "Streak (continuous days with QSOs)"; +$lang['statistics_dwq_current_streak_in_log'] = "Current streak with QSOs in the log"; +$lang['statistics_dwq_current_streak_continuous_days'] = "Current streak (continuous days with QSOs)"; +$lang['statistics_dwq_make_qso_to_extend_streak'] = "If you make a QSO today, you can continue to extend your streak... or else your current streak will be broken!"; +$lang['statistics_dwq_no_current_streak'] = "No current streak found!"; + diff --git a/application/language/turkish/admin_lang.php b/application/language/turkish/admin_lang.php index 574a8a8a..13890cc9 100644 --- a/application/language/turkish/admin_lang.php +++ b/application/language/turkish/admin_lang.php @@ -5,12 +5,14 @@ defined('BASEPATH') OR exit('Doğrudan komut dosyası erişimine izin verilmez') $lang['admin_user_line1'] = 'Cloudlog needs at least one user configured in order to operate.'; $lang['admin_user_line2'] = 'Users can be assigned roles which give them different permissions, such as adding QSOs to the logbook and accessing Cloudlog APIs.'; $lang['admin_user_line3'] = 'The currently logged-in user is displayed at the upper-right of each page.'; +$lang['admin_user_line4'] = "With the password reset button, you can send a user an email containing a link to reset their password. To achieve this, ensure that the email settings in the global options are configured correctly."; $lang['admin_user_list'] = 'User List'; $lang['admin_user'] = 'User'; $lang['admin_email'] = 'E-mail'; $lang['admin_type'] = 'Type'; +$lang['admin_last_login'] = "Last Login"; $lang['admin_options'] = 'Options'; $lang['admin_create_user'] = 'Create user'; @@ -25,7 +27,10 @@ $lang['admin_close'] = 'Close'; $lang['admin_user_accounts'] = 'User Accounts'; $lang['admin_danger'] = 'DANGER!'; $lang['admin_experimental'] = "Experimental"; +$lang['admin_password_reset'] = "Password Reset"; +$lang['admin_email_settings_incorrect'] = "Email settings are incorrect."; +$lang['admin_password_reset_processed'] = "Password Reset E-Mail sent."; // Contest Menu diff --git a/application/language/turkish/general_words_lang.php b/application/language/turkish/general_words_lang.php index f63557dc..1a15ccbe 100644 --- a/application/language/turkish/general_words_lang.php +++ b/application/language/turkish/general_words_lang.php @@ -25,6 +25,7 @@ $lang['general_word_count'] = "Count"; $lang['general_word_filtering_on'] = "Filtering on"; $lang['general_word_not_display'] = "Not display"; $lang['general_word_icon'] = "Icon"; +$lang['general_word_never'] = "Never"; $lang['general_word_date'] = 'Tarih'; $lang['general_word_startdate'] = "Start Date"; @@ -47,6 +48,8 @@ $lang['general_word_city'] = 'City'; $lang['general_word_total'] = 'Toplam'; $lang['general_word_year'] = 'Yıl'; $lang['general_word_month'] = 'Ay'; +$lang['general_word_day'] = "Day"; +$lang['general_word_days'] = "Days"; $lang['general_word_colors'] = "Colors"; $lang['general_word_light'] = "Light/Laser"; diff --git a/application/language/turkish/statistics_lang.php b/application/language/turkish/statistics_lang.php index 50a90e0d..c995c0f2 100644 --- a/application/language/turkish/statistics_lang.php +++ b/application/language/turkish/statistics_lang.php @@ -42,3 +42,19 @@ $lang['statistics_distances_and_band'] = "and band"; $lang['statistics_timeline'] = "Timeline"; +/* +* +* Days with QSO +* +*/ + +$lang['statistics_days_with_qso'] = "Number of days with QSOs each year"; +$lang['statistics_days_with_qso_short'] = "Days with QSOs"; +$lang['statistics_dwq_longest_streak_in_log'] = "Longest streak with QSOs in the log"; +$lang['statistics_dwq_longest_streak_in_log_hint'] = "A maximum of the 10 longest streaks are shown!"; +$lang['statistics_dwq_streak_continuous_days'] = "Streak (continuous days with QSOs)"; +$lang['statistics_dwq_current_streak_in_log'] = "Current streak with QSOs in the log"; +$lang['statistics_dwq_current_streak_continuous_days'] = "Current streak (continuous days with QSOs)"; +$lang['statistics_dwq_make_qso_to_extend_streak'] = "If you make a QSO today, you can continue to extend your streak... or else your current streak will be broken!"; +$lang['statistics_dwq_no_current_streak'] = "No current streak found!"; + diff --git a/application/libraries/Hamqth.php b/application/libraries/Hamqth.php index 1b71449b..6689ba3c 100644 --- a/application/libraries/Hamqth.php +++ b/application/libraries/Hamqth.php @@ -80,6 +80,7 @@ class Hamqth { $data['city'] = (string)$xml->search->adr_city; $data['lat'] = (string)$xml->search->latitude; $data['long'] = (string)$xml->search->longitude; + $data['dxcc'] = (string)$xml->search->adif; $data['iota'] = (string)$xml->search->iota; $data['image'] = (string)$xml->search->picture; $data['us_state'] = (string)$xml->search->us_state; diff --git a/application/libraries/Qrz.php b/application/libraries/Qrz.php index f87bd5af..cfecdac1 100755 --- a/application/libraries/Qrz.php +++ b/application/libraries/Qrz.php @@ -91,6 +91,7 @@ class Qrz { $data['city'] = (string)$xml->Callsign->addr2; $data['lat'] = (string)$xml->Callsign->lat; $data['long'] = (string)$xml->Callsign->lon; + $data['dxcc'] = (string)$xml->Callsign->dxcc; $data['iota'] = (string)$xml->Callsign->iota; $data['qslmgr'] = (string)$xml->Callsign->qslmgr; $data['image'] = (string)$xml->Callsign->image; diff --git a/application/migrations/167_add_last_login.php b/application/migrations/167_add_last_login.php new file mode 100644 index 00000000..802b6331 --- /dev/null +++ b/application/migrations/167_add_last_login.php @@ -0,0 +1,24 @@ +db->field_exists('last_login_date', 'users')) { + $fields = array( + 'last_login_date TIMESTAMP NULL DEFAULT NULL AFTER `reset_password_date`', + ); + $this->dbforge->add_column('users', $fields); + } + } + + public function down() + { + $this->dbforge->drop_column('users', 'last_login_date'); + } +} diff --git a/application/models/Contesting_model.php b/application/models/Contesting_model.php index 3ab63248..ce2f4823 100644 --- a/application/models/Contesting_model.php +++ b/application/models/Contesting_model.php @@ -219,7 +219,8 @@ class Contesting_model extends CI_Model { $date = DateTime::createFromFormat('d-m-Y H:i:s', $qsoarray[0]); $date = $date->format('Y-m-d H:i:s'); - + + $this->db->select('timediff(UTC_TIMESTAMP(),col_time_off) b4, COL_TIME_OFF'); $this->db->where('STATION_ID', $station_id); $this->db->where('COL_CALL', xss_clean($call)); $this->db->where("COL_BAND", xss_clean($band)); @@ -229,6 +230,7 @@ class Contesting_model extends CI_Model { $this->db->where("COL_MODE", xss_clean($mode)); $this->db->or_where("COL_SUBMODE", xss_clean($mode)); $this->db->group_end(); + $this->db->order_by($this->config->item('table_name').".COL_TIME_ON", "DESC"); $query = $this->db->get($this->config->item('table_name')); return $query; diff --git a/application/models/Lookup_model.php b/application/models/Lookup_model.php index fce00f5a..34c69657 100644 --- a/application/models/Lookup_model.php +++ b/application/models/Lookup_model.php @@ -32,6 +32,7 @@ class Lookup_model extends CI_Model{ } } + if (!(isset($resultArray))) $resultArray=[]; return $resultArray; } diff --git a/application/models/Timeline_model.php b/application/models/Timeline_model.php index 74411911..b34866d9 100644 --- a/application/models/Timeline_model.php +++ b/application/models/Timeline_model.php @@ -217,7 +217,7 @@ class Timeline_model extends CI_Model $logbooks_locations_array = $CI->logbooks_model->list_logbook_relationships($this->session->userdata('active_station_logbook')); $this->db->join('station_profile', 'station_profile.station_id = '.$this->config->item('table_name').'.station_id'); - $this->db->join('dxcc_entities', 'dxcc_entities.adif = '.$this->config->item('table_name').'.COL_DXCC'); + $this->db->join('dxcc_entities', 'dxcc_entities.adif = '.$this->config->item('table_name').'.COL_DXCC', 'left outer'); $this->db->join('lotw_users', 'lotw_users.callsign = '.$this->config->item('table_name').'.col_call', 'left outer'); if ($band != 'All') { diff --git a/application/models/User_model.php b/application/models/User_model.php index 7a7d5b6e..57c97a05 100644 --- a/application/models/User_model.php +++ b/application/models/User_model.php @@ -423,6 +423,16 @@ class User_Model extends CI_Model { return 0; } + // FUNCTION: set's the last-login timestamp in user table + function set_last_login($user_id) { + $data = array( + 'last_login_date' => date('Y-m-d H:i:s') + ); + + $this->db->where('user_id', $user_id); + $this->db->update('users', $data); + } + // FUNCTION: bool authorize($level) // Checks a user's level of access against the given $level function authorize($level) { diff --git a/application/views/dayswithqso/index.php b/application/views/dayswithqso/index.php index 7bd40f60..f247e348 100644 --- a/application/views/dayswithqso/index.php +++ b/application/views/dayswithqso/index.php @@ -1,3 +1,7 @@ + +

@@ -9,7 +13,7 @@ echo '
'; echo ''; - echo ''; + echo ''; foreach ($result as $master) { echo ''; @@ -18,7 +22,7 @@ echo ''; echo ''; - echo ''; + echo ''; foreach ($result as $master) { echo ''; @@ -30,8 +34,8 @@ } ?> -

Longest streak with QSOs in the log

-

A maximum of the 10 longest streaks are shown!

+

+

Year' . lang('general_word_year') . '' . $master->Year . '
Days' . lang('general_word_days') . '' . $master->Days . '
'; echo ''; - echo ''; - echo ''; - echo ''; + echo ''; + echo ''; + echo ''; echo ''; foreach ($streaks as $streak) { @@ -71,15 +75,15 @@ } ?> -

Current streak with QSOs in the log

+

Streak (continuous days with QSOs)Begin dateEnd date' . lang('statistics_dwq_streak_continuous_days') . '' . lang('general_word_startdate') . '' . lang('general_word_enddate') . '
'; echo ''; - echo ''; - echo ''; - echo ''; + echo ''; + echo ''; + echo ''; echo ''; echo ''; @@ -94,14 +98,14 @@ } elseif (is_array($almostcurrentstreak)) { ?> -

If you make a QSO today, you can continue to extend your streak... or else your current streak will be broken!

+
Current streak (continuous days with QSOs)Begin dateEnd date' . lang('statistics_dwq_current_streak_continuous_days') . '' . lang('general_word_startdate') . '' . lang('general_word_enddate') . '
'; echo ''; - echo ''; - echo ''; - echo ''; + echo ''; + echo ''; + echo ''; echo ''; echo ''; @@ -115,7 +119,7 @@ echo '
Current streak (continuous days with QSOs)Begin dateEnd date' . lang('statistics_dwq_current_streak_continuous_days') . '' . lang('general_word_startdate') . '' . lang('general_word_enddate') . '
'; } else { - echo ''; + echo ''; } ?>
diff --git a/application/views/email/admin_reset_password.php b/application/views/email/admin_reset_password.php new file mode 100644 index 00000000..954b1c73 --- /dev/null +++ b/application/views/email/admin_reset_password.php @@ -0,0 +1,15 @@ +Hello + + +An admin initiated a password reset for your Cloudlog account. + +Your username is: + + +Click here to reset your password: + + +If you didn't request any password reset, just ignore this email and talk to an admin of your Cloudlog instance. + +Regards, +Cloudlog diff --git a/application/views/interface_assets/footer.php b/application/views/interface_assets/footer.php index 624464a5..8abd4a15 100644 --- a/application/views/interface_assets/footer.php +++ b/application/views/interface_assets/footer.php @@ -1333,6 +1333,23 @@ $($('#callsign')).on('keypress',function(e) {