Merge branch 'dev' into dev
这个提交包含在:
		
						当前提交
						031954f5ef
					
				
					共有  73 个文件被更改,包括 739 次插入 和 140 次删除
				
			
		
							
								
								
									
										2
									
								
								LICENSE
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								LICENSE
									
									
									
									
									
								
							|  | @ -1,6 +1,6 @@ | ||||||
| MIT License | 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 | Permission is hereby granted, free of charge, to any person obtaining a copy | ||||||
| of this software and associated documentation files (the "Software"), to deal | of this software and associated documentation files (the "Software"), to deal | ||||||
|  |  | ||||||
|  | @ -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: | 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)  | 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)  | ||||||
|  |  | ||||||
|  | @ -22,7 +22,7 @@ $config['migration_enabled'] = TRUE; | ||||||
| | | | | ||||||
| */ | */ | ||||||
| 
 | 
 | ||||||
| $config['migration_version'] = 166; | $config['migration_version'] = 167; | ||||||
| 
 | 
 | ||||||
| /* | /* | ||||||
| |-------------------------------------------------------------------------- | |-------------------------------------------------------------------------- | ||||||
|  |  | ||||||
|  | @ -189,7 +189,10 @@ class Contesting extends CI_Controller { | ||||||
| 		 | 		 | ||||||
| 		header('Content-Type: application/json'); | 		header('Content-Type: application/json'); | ||||||
| 		if ($result && $result->num_rows()) { | 		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; | 		return; | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | @ -15,7 +15,7 @@ class Dayswithqso extends CI_Controller { | ||||||
|     { |     { | ||||||
|         $this->load->model('dayswithqso_model'); |         $this->load->model('dayswithqso_model'); | ||||||
|         // Render Page
 |         // 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['result'] = $this->dayswithqso_model->getDaysWithQso(); | ||||||
|         $data['streaks'] = $this->dayswithqso_model->getLongestStreak(); |         $data['streaks'] = $this->dayswithqso_model->getLongestStreak(); | ||||||
|  |  | ||||||
|  | @ -833,6 +833,11 @@ class Logbook extends CI_Controller { | ||||||
| 						$this->session->set_userdata('qrz_session_key', $qrz_session_key); | 						$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')); | 						$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) { | 				} else if ($this->config->item('callbook') == "hamqth" && $this->config->item('hamqth_username') != null && $this->config->item('hamqth_password') != null) { | ||||||
| 					// Load the HamQTH library
 | 					// Load the HamQTH library
 | ||||||
| 					$this->load->library('hamqth'); | 					$this->load->library('hamqth'); | ||||||
|  | @ -854,6 +859,11 @@ class Logbook extends CI_Controller { | ||||||
| 						$this->load->model('logbook_model'); | 						$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')); | 						$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'])) { | 					if (isset($callsign['callsign']['error'])) { | ||||||
| 						$callsign['error'] = $callsign['callsign']['error']; | 						$callsign['error'] = $callsign['callsign']['error']; | ||||||
| 					} | 					} | ||||||
|  | @ -876,8 +886,8 @@ class Logbook extends CI_Controller { | ||||||
| 				if (isset($callsign['callsign']['error'])) { | 				if (isset($callsign['callsign']['error'])) { | ||||||
| 					$callsign['error'] = $callsign['callsign']['error']; | 					$callsign['error'] = $callsign['callsign']['error']; | ||||||
| 				} | 				} | ||||||
| 				$callsign['id'] = strtoupper($id); |  | ||||||
| 
 | 
 | ||||||
|  | 				$callsign['id'] = strtoupper($id); | ||||||
| 				return $this->load->view('search/result', $callsign, true); | 				return $this->load->view('search/result', $callsign, true); | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  | @ -930,6 +940,11 @@ class Logbook extends CI_Controller { | ||||||
| 							$this->load->model('logbook_model'); | 							$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')); | 							$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'])) { | 						if (isset($data['callsign']['error'])) { | ||||||
| 							$data['error'] = $data['callsign']['error']; | 							$data['error'] = $data['callsign']['error']; | ||||||
| 						} | 						} | ||||||
|  | @ -954,6 +969,11 @@ class Logbook extends CI_Controller { | ||||||
| 							$this->load->model('logbook_model'); | 							$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')); | 							$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'])) { | 						if (isset($data['callsign']['error'])) { | ||||||
| 							$data['error'] = $data['callsign']['error']; | 							$data['error'] = $data['callsign']['error']; | ||||||
| 						} | 						} | ||||||
|  |  | ||||||
|  | @ -695,6 +695,7 @@ class User extends CI_Controller { | ||||||
| 			if($this->user_model->login() == 1) { | 			if($this->user_model->login() == 1) { | ||||||
| 				$this->session->set_flashdata('notice', 'User logged in'); | 				$this->session->set_flashdata('notice', 'User logged in'); | ||||||
| 				$this->user_model->update_session($data['user']->user_id); | 				$this->user_model->update_session($data['user']->user_id); | ||||||
|  | 				$this->user_model->set_last_login($data['user']->user_id); | ||||||
| 				$cookie= array( | 				$cookie= array( | ||||||
| 
 | 
 | ||||||
| 					'name'   => 'language', | 					'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) | 	function reset_password($reset_code = NULL) | ||||||
| 	{ | 	{ | ||||||
| 		$data['reset_code'] = $reset_code; | 		$data['reset_code'] = $reset_code; | ||||||
|  |  | ||||||
|  | @ -5,12 +5,14 @@ defined('BASEPATH') OR exit('Не е разрешен директен дост | ||||||
| $lang['admin_user_line1'] = 'Cloudlog needs at least one user configured in order to operate.'; | $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_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_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_list'] = 'User List'; | ||||||
| 
 | 
 | ||||||
| $lang['admin_user'] = 'User'; | $lang['admin_user'] = 'User'; | ||||||
| $lang['admin_email'] = 'E-mail'; | $lang['admin_email'] = 'E-mail'; | ||||||
| $lang['admin_type'] = 'Type'; | $lang['admin_type'] = 'Type'; | ||||||
|  | $lang['admin_last_login'] = "Last Login"; | ||||||
| $lang['admin_options'] = 'Options'; | $lang['admin_options'] = 'Options'; | ||||||
| 
 | 
 | ||||||
| $lang['admin_create_user'] = 'Create user'; | $lang['admin_create_user'] = 'Create user'; | ||||||
|  | @ -25,7 +27,10 @@ $lang['admin_close'] = 'Close'; | ||||||
| $lang['admin_user_accounts'] = 'User Accounts'; | $lang['admin_user_accounts'] = 'User Accounts'; | ||||||
| $lang['admin_danger'] = 'DANGER!'; | $lang['admin_danger'] = 'DANGER!'; | ||||||
| $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
 | // Contest Menu
 | ||||||
|  |  | ||||||
|  | @ -25,6 +25,7 @@ $lang['general_word_count'] = "Count"; | ||||||
| $lang['general_word_filtering_on'] = "Filtering on"; | $lang['general_word_filtering_on'] = "Filtering on"; | ||||||
| $lang['general_word_not_display'] = "Not display"; | $lang['general_word_not_display'] = "Not display"; | ||||||
| $lang['general_word_icon'] = "Icon"; | $lang['general_word_icon'] = "Icon"; | ||||||
|  | $lang['general_word_never'] = "Never"; | ||||||
| 
 | 
 | ||||||
| $lang['general_word_date'] = 'Дата'; | $lang['general_word_date'] = 'Дата'; | ||||||
| $lang['general_word_startdate'] = "Start Date"; | $lang['general_word_startdate'] = "Start Date"; | ||||||
|  | @ -47,6 +48,8 @@ $lang['general_word_city'] = 'Град'; | ||||||
| $lang['general_word_total'] = 'Общо'; | $lang['general_word_total'] = 'Общо'; | ||||||
| $lang['general_word_year'] = 'Година'; | $lang['general_word_year'] = 'Година'; | ||||||
| $lang['general_word_month'] = 'Месец'; | $lang['general_word_month'] = 'Месец'; | ||||||
|  | $lang['general_word_day'] = "Day"; | ||||||
|  | $lang['general_word_days'] = "Days"; | ||||||
| 
 | 
 | ||||||
| $lang['general_word_colors'] = "Colors"; | $lang['general_word_colors'] = "Colors"; | ||||||
| $lang['general_word_light'] = "Light/Laser"; | $lang['general_word_light'] = "Light/Laser"; | ||||||
|  |  | ||||||
|  | @ -42,3 +42,19 @@ $lang['statistics_distances_and_band'] = "and band"; | ||||||
| 
 | 
 | ||||||
| $lang['statistics_timeline'] = "Timeline"; | $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!"; | ||||||
|  | 
 | ||||||
|  |  | ||||||
|  | @ -5,12 +5,14 @@ defined('BASEPATH') OR exit('No direct script access allowed'); | ||||||
| $lang['admin_user_line1'] = 'Cloudlog至少需要配置一个用户才能运行。'; | $lang['admin_user_line1'] = 'Cloudlog至少需要配置一个用户才能运行。'; | ||||||
| $lang['admin_user_line2'] = '用户可以被分配不同的角色,这些角色赋予他们不同的权限,例如向日志簿添加 QSO 和访问Cloudlog API。'; | $lang['admin_user_line2'] = '用户可以被分配不同的角色,这些角色赋予他们不同的权限,例如向日志簿添加 QSO 和访问Cloudlog API。'; | ||||||
| $lang['admin_user_line3'] = '页面右上方显示当前登录的用户。'; | $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_list'] = '用户列表'; | ||||||
| 
 | 
 | ||||||
| $lang['admin_user'] = '用户名'; | $lang['admin_user'] = '用户名'; | ||||||
| $lang['admin_email'] = '电子邮件'; | $lang['admin_email'] = '电子邮件'; | ||||||
| $lang['admin_type'] = '用户类型'; | $lang['admin_type'] = '用户类型'; | ||||||
|  | $lang['admin_last_login'] = "Last Login"; | ||||||
| $lang['admin_options'] = '设置'; | $lang['admin_options'] = '设置'; | ||||||
| 
 | 
 | ||||||
| $lang['admin_create_user'] = '创建用户'; | $lang['admin_create_user'] = '创建用户'; | ||||||
|  | @ -25,7 +27,10 @@ $lang['admin_close'] = '关闭'; | ||||||
| $lang['admin_user_accounts'] = '用户账户'; | $lang['admin_user_accounts'] = '用户账户'; | ||||||
| $lang['admin_danger'] = '危险!'; | $lang['admin_danger'] = '危险!'; | ||||||
| $lang['admin_experimental'] = "实验性功能"; | $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
 | // Contest Menu
 | ||||||
|  |  | ||||||
|  | @ -25,6 +25,7 @@ $lang['general_word_count'] = "数量"; | ||||||
| $lang['general_word_filtering_on'] = "筛选打开"; | $lang['general_word_filtering_on'] = "筛选打开"; | ||||||
| $lang['general_word_not_display'] = "Not display"; | $lang['general_word_not_display'] = "Not display"; | ||||||
| $lang['general_word_icon'] = "Icon"; | $lang['general_word_icon'] = "Icon"; | ||||||
|  | $lang['general_word_never'] = "Never"; | ||||||
| 
 | 
 | ||||||
| $lang['general_word_date'] = '日期'; | $lang['general_word_date'] = '日期'; | ||||||
| $lang['general_word_startdate'] = "开始时间"; | $lang['general_word_startdate'] = "开始时间"; | ||||||
|  | @ -47,6 +48,8 @@ $lang['general_word_city'] = '城市'; | ||||||
| $lang['general_word_total'] = '总计'; | $lang['general_word_total'] = '总计'; | ||||||
| $lang['general_word_year'] = '年'; | $lang['general_word_year'] = '年'; | ||||||
| $lang['general_word_month'] = '月'; | $lang['general_word_month'] = '月'; | ||||||
|  | $lang['general_word_day'] = "Day"; | ||||||
|  | $lang['general_word_days'] = "Days"; | ||||||
| 
 | 
 | ||||||
| $lang['general_word_colors'] = "颜色"; | $lang['general_word_colors'] = "颜色"; | ||||||
| $lang['general_word_light'] = "浅色/激光"; | $lang['general_word_light'] = "浅色/激光"; | ||||||
|  |  | ||||||
|  | @ -42,3 +42,19 @@ $lang['statistics_distances_and_band'] = "和波段"; | ||||||
| 
 | 
 | ||||||
| $lang['statistics_timeline'] = "时间线"; | $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!"; | ||||||
|  | 
 | ||||||
|  |  | ||||||
|  | @ -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_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_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_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_list'] = 'Seznam uživatelů'; | ||||||
| 
 | 
 | ||||||
| $lang['admin_user'] = 'Uživatel'; | $lang['admin_user'] = 'Uživatel'; | ||||||
| $lang['admin_email'] = 'E-mail'; | $lang['admin_email'] = 'E-mail'; | ||||||
| $lang['admin_type'] = 'Typ'; | $lang['admin_type'] = 'Typ'; | ||||||
|  | $lang['admin_last_login'] = "Last Login"; | ||||||
| $lang['admin_options'] = 'Možnosti'; | $lang['admin_options'] = 'Možnosti'; | ||||||
| 
 | 
 | ||||||
| $lang['admin_create_user'] = 'Vytvořit uživatele'; | $lang['admin_create_user'] = 'Vytvořit uživatele'; | ||||||
|  | @ -25,7 +27,10 @@ $lang['admin_close'] = 'Close'; | ||||||
| $lang['admin_user_accounts'] = 'User Accounts'; | $lang['admin_user_accounts'] = 'User Accounts'; | ||||||
| $lang['admin_danger'] = 'DANGER!'; | $lang['admin_danger'] = 'DANGER!'; | ||||||
| $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
 | // Contest Menu
 | ||||||
|  |  | ||||||
|  | @ -25,6 +25,7 @@ $lang['general_word_count'] = "Count"; | ||||||
| $lang['general_word_filtering_on'] = "Filtering on"; | $lang['general_word_filtering_on'] = "Filtering on"; | ||||||
| $lang['general_word_not_display'] = "Not display"; | $lang['general_word_not_display'] = "Not display"; | ||||||
| $lang['general_word_icon'] = "Icon"; | $lang['general_word_icon'] = "Icon"; | ||||||
|  | $lang['general_word_never'] = "Never"; | ||||||
| 
 | 
 | ||||||
| $lang['general_word_date'] = 'Datum'; | $lang['general_word_date'] = 'Datum'; | ||||||
| $lang['general_word_startdate'] = "Start Date"; | $lang['general_word_startdate'] = "Start Date"; | ||||||
|  | @ -47,6 +48,8 @@ $lang['general_word_city'] = 'Město'; | ||||||
| $lang['general_word_total'] = 'Celkem'; | $lang['general_word_total'] = 'Celkem'; | ||||||
| $lang['general_word_year'] = 'Rok'; | $lang['general_word_year'] = 'Rok'; | ||||||
| $lang['general_word_month'] = 'Měsíc'; | $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_colors'] = "Colors"; | ||||||
| $lang['general_word_light'] = "Light/Laser"; | $lang['general_word_light'] = "Light/Laser"; | ||||||
|  |  | ||||||
|  | @ -42,3 +42,19 @@ $lang['statistics_distances_and_band'] = "and band"; | ||||||
| 
 | 
 | ||||||
| $lang['statistics_timeline'] = "Timeline"; | $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!"; | ||||||
|  | 
 | ||||||
|  |  | ||||||
|  | @ -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_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_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_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_list'] = 'User List'; | ||||||
| 
 | 
 | ||||||
| $lang['admin_user'] = 'User'; | $lang['admin_user'] = 'User'; | ||||||
| $lang['admin_email'] = 'E-mail'; | $lang['admin_email'] = 'E-mail'; | ||||||
| $lang['admin_type'] = 'Type'; | $lang['admin_type'] = 'Type'; | ||||||
|  | $lang['admin_last_login'] = "Last Login"; | ||||||
| $lang['admin_options'] = 'Options'; | $lang['admin_options'] = 'Options'; | ||||||
| 
 | 
 | ||||||
| $lang['admin_create_user'] = 'Create user'; | $lang['admin_create_user'] = 'Create user'; | ||||||
|  | @ -25,7 +27,10 @@ $lang['admin_close'] = 'Close'; | ||||||
| $lang['admin_user_accounts'] = 'User Accounts'; | $lang['admin_user_accounts'] = 'User Accounts'; | ||||||
| $lang['admin_danger'] = 'DANGER!'; | $lang['admin_danger'] = 'DANGER!'; | ||||||
| $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
 | // Contest Menu
 | ||||||
|  |  | ||||||
|  | @ -25,6 +25,7 @@ $lang['general_word_count'] = "Count"; | ||||||
| $lang['general_word_filtering_on'] = "Filtering on"; | $lang['general_word_filtering_on'] = "Filtering on"; | ||||||
| $lang['general_word_not_display'] = "Not display"; | $lang['general_word_not_display'] = "Not display"; | ||||||
| $lang['general_word_icon'] = "Icon"; | $lang['general_word_icon'] = "Icon"; | ||||||
|  | $lang['general_word_never'] = "Never"; | ||||||
| 
 | 
 | ||||||
| $lang['general_word_date'] = 'Datum'; | $lang['general_word_date'] = 'Datum'; | ||||||
| $lang['general_word_startdate'] = "Start Date"; | $lang['general_word_startdate'] = "Start Date"; | ||||||
|  | @ -47,6 +48,8 @@ $lang['general_word_city'] = 'By'; | ||||||
| $lang['general_word_total'] = 'Totaal'; | $lang['general_word_total'] = 'Totaal'; | ||||||
| $lang['general_word_year'] = 'Jaar'; | $lang['general_word_year'] = 'Jaar'; | ||||||
| $lang['general_word_month'] = 'Maand'; | $lang['general_word_month'] = 'Maand'; | ||||||
|  | $lang['general_word_day'] = "Day"; | ||||||
|  | $lang['general_word_days'] = "Days"; | ||||||
| 
 | 
 | ||||||
| $lang['general_word_colors'] = "Colors"; | $lang['general_word_colors'] = "Colors"; | ||||||
| $lang['general_word_light'] = "Light/Laser"; | $lang['general_word_light'] = "Light/Laser"; | ||||||
|  |  | ||||||
|  | @ -42,3 +42,19 @@ $lang['statistics_distances_and_band'] = "and band"; | ||||||
| 
 | 
 | ||||||
| $lang['statistics_timeline'] = "Timeline"; | $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!"; | ||||||
|  | 
 | ||||||
|  |  | ||||||
|  | @ -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_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_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_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_list'] = 'User List'; | ||||||
| 
 | 
 | ||||||
| $lang['admin_user'] = 'User'; | $lang['admin_user'] = 'User'; | ||||||
| $lang['admin_email'] = 'E-mail'; | $lang['admin_email'] = 'E-mail'; | ||||||
| $lang['admin_type'] = 'Type'; | $lang['admin_type'] = 'Type'; | ||||||
|  | $lang['admin_last_login'] = "Last Login"; | ||||||
| $lang['admin_options'] = 'Options'; | $lang['admin_options'] = 'Options'; | ||||||
| 
 | 
 | ||||||
| $lang['admin_create_user'] = 'Create user'; | $lang['admin_create_user'] = 'Create user'; | ||||||
|  | @ -25,7 +27,10 @@ $lang['admin_close'] = 'Close'; | ||||||
| $lang['admin_user_accounts'] = 'User Accounts'; | $lang['admin_user_accounts'] = 'User Accounts'; | ||||||
| $lang['admin_danger'] = 'DANGER!'; | $lang['admin_danger'] = 'DANGER!'; | ||||||
| $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
 | // Contest Menu
 | ||||||
|  |  | ||||||
|  | @ -25,6 +25,7 @@ $lang['general_word_count'] = "Count"; | ||||||
| $lang['general_word_filtering_on'] = "Filtering on"; | $lang['general_word_filtering_on'] = "Filtering on"; | ||||||
| $lang['general_word_not_display'] = "Not display"; | $lang['general_word_not_display'] = "Not display"; | ||||||
| $lang['general_word_icon'] = "Icon"; | $lang['general_word_icon'] = "Icon"; | ||||||
|  | $lang['general_word_never'] = "Never"; | ||||||
| 
 | 
 | ||||||
| $lang['general_word_date'] = 'Date'; | $lang['general_word_date'] = 'Date'; | ||||||
| $lang['general_word_startdate'] = "Start Date"; | $lang['general_word_startdate'] = "Start Date"; | ||||||
|  | @ -47,6 +48,8 @@ $lang['general_word_city'] = 'City'; | ||||||
| $lang['general_word_total'] = 'Total'; | $lang['general_word_total'] = 'Total'; | ||||||
| $lang['general_word_year'] = 'Year'; | $lang['general_word_year'] = 'Year'; | ||||||
| $lang['general_word_month'] = 'Month'; | $lang['general_word_month'] = 'Month'; | ||||||
|  | $lang['general_word_day'] = "Day"; | ||||||
|  | $lang['general_word_days'] = "Days"; | ||||||
| 
 | 
 | ||||||
| $lang['general_word_colors'] = "Colors"; | $lang['general_word_colors'] = "Colors"; | ||||||
| $lang['general_word_light'] = "Light/Laser"; | $lang['general_word_light'] = "Light/Laser"; | ||||||
|  |  | ||||||
|  | @ -42,3 +42,19 @@ $lang['statistics_distances_and_band'] = "and band"; | ||||||
| 
 | 
 | ||||||
| $lang['statistics_timeline'] = "Timeline"; | $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!"; | ||||||
|  | 
 | ||||||
|  |  | ||||||
|  | @ -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_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_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_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_list'] = 'Käyttäjälista'; | ||||||
| 
 | 
 | ||||||
| $lang['admin_user'] = 'Käyttäjä'; | $lang['admin_user'] = 'Käyttäjä'; | ||||||
| $lang['admin_email'] = 'E-mail'; | $lang['admin_email'] = 'E-mail'; | ||||||
| $lang['admin_type'] = 'Rooli'; | $lang['admin_type'] = 'Rooli'; | ||||||
|  | $lang['admin_last_login'] = "Last Login"; | ||||||
| $lang['admin_options'] = 'Valinnat'; | $lang['admin_options'] = 'Valinnat'; | ||||||
| 
 | 
 | ||||||
| $lang['admin_create_user'] = 'Luo käyttäjä'; | $lang['admin_create_user'] = 'Luo käyttäjä'; | ||||||
|  | @ -25,7 +27,10 @@ $lang['admin_close'] = 'Close'; | ||||||
| $lang['admin_user_accounts'] = 'User Accounts'; | $lang['admin_user_accounts'] = 'User Accounts'; | ||||||
| $lang['admin_danger'] = 'DANGER!'; | $lang['admin_danger'] = 'DANGER!'; | ||||||
| $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
 | // Contest Menu
 | ||||||
|  |  | ||||||
|  | @ -25,6 +25,7 @@ $lang['general_word_count'] = "Count"; | ||||||
| $lang['general_word_filtering_on'] = "Filtering on"; | $lang['general_word_filtering_on'] = "Filtering on"; | ||||||
| $lang['general_word_not_display'] = "Not display"; | $lang['general_word_not_display'] = "Not display"; | ||||||
| $lang['general_word_icon'] = "Icon"; | $lang['general_word_icon'] = "Icon"; | ||||||
|  | $lang['general_word_never'] = "Never"; | ||||||
| 
 | 
 | ||||||
| $lang['general_word_date'] = 'Päivä'; | $lang['general_word_date'] = 'Päivä'; | ||||||
| $lang['general_word_startdate'] = "Start Date"; | $lang['general_word_startdate'] = "Start Date"; | ||||||
|  | @ -47,6 +48,8 @@ $lang['general_word_city'] = 'City'; | ||||||
| $lang['general_word_total'] = 'Yhteensä'; | $lang['general_word_total'] = 'Yhteensä'; | ||||||
| $lang['general_word_year'] = 'Vuosi'; | $lang['general_word_year'] = 'Vuosi'; | ||||||
| $lang['general_word_month'] = 'Kuukausi'; | $lang['general_word_month'] = 'Kuukausi'; | ||||||
|  | $lang['general_word_day'] = "Day"; | ||||||
|  | $lang['general_word_days'] = "Days"; | ||||||
| 
 | 
 | ||||||
| $lang['general_word_colors'] = "Colors"; | $lang['general_word_colors'] = "Colors"; | ||||||
| $lang['general_word_light'] = "Light/Laser"; | $lang['general_word_light'] = "Light/Laser"; | ||||||
|  |  | ||||||
|  | @ -42,3 +42,19 @@ $lang['statistics_distances_and_band'] = "and band"; | ||||||
| 
 | 
 | ||||||
| $lang['statistics_timeline'] = "Timeline"; | $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!"; | ||||||
|  | 
 | ||||||
|  |  | ||||||
|  | @ -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_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_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_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_list'] = "Liste des utilisateurs"; | ||||||
| 
 | 
 | ||||||
| $lang['admin_user'] = "Utilisateur"; | $lang['admin_user'] = "Utilisateur"; | ||||||
| $lang['admin_email'] = "E-mail"; | $lang['admin_email'] = "E-mail"; | ||||||
| $lang['admin_type'] = "Type"; | $lang['admin_type'] = "Type"; | ||||||
|  | $lang['admin_last_login'] = "Last Login"; | ||||||
| $lang['admin_options'] = "Options"; | $lang['admin_options'] = "Options"; | ||||||
| 
 | 
 | ||||||
| $lang['admin_create_user'] = "Création d'un utilisateur"; | $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_user_accounts'] = "Compte des utilisateurs"; | ||||||
| $lang['admin_danger'] = "DANGER!"; | $lang['admin_danger'] = "DANGER!"; | ||||||
| $lang['admin_experimental'] = "Expérimental"; | $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
 | // Contest Menu
 | ||||||
|  |  | ||||||
|  | @ -25,6 +25,7 @@ $lang['general_word_count'] = "Nombre"; | ||||||
| $lang['general_word_filtering_on'] = "Filtré sur"; | $lang['general_word_filtering_on'] = "Filtré sur"; | ||||||
| $lang['general_word_not_display'] = "Ne pas afficher"; | $lang['general_word_not_display'] = "Ne pas afficher"; | ||||||
| $lang['general_word_icon'] = "Icône"; | $lang['general_word_icon'] = "Icône"; | ||||||
|  | $lang['general_word_never'] = "Never"; | ||||||
| 
 | 
 | ||||||
| $lang['general_word_date'] = "Date"; | $lang['general_word_date'] = "Date"; | ||||||
| $lang['general_word_startdate'] = "Date début"; | $lang['general_word_startdate'] = "Date début"; | ||||||
|  | @ -47,6 +48,8 @@ $lang['general_word_city'] = "Ville"; | ||||||
| $lang['general_word_total'] = "Total"; | $lang['general_word_total'] = "Total"; | ||||||
| $lang['general_word_year'] = "Année"; | $lang['general_word_year'] = "Année"; | ||||||
| $lang['general_word_month'] = "Mois"; | $lang['general_word_month'] = "Mois"; | ||||||
|  | $lang['general_word_day'] = "Day"; | ||||||
|  | $lang['general_word_days'] = "Days"; | ||||||
| 
 | 
 | ||||||
| $lang['general_word_colors'] = "Couleurs"; | $lang['general_word_colors'] = "Couleurs"; | ||||||
| $lang['general_word_light'] = "Lumière/Laser"; | $lang['general_word_light'] = "Lumière/Laser"; | ||||||
|  |  | ||||||
|  | @ -42,3 +42,19 @@ $lang['statistics_distances_and_band'] = "et bandes"; | ||||||
| 
 | 
 | ||||||
| $lang['statistics_timeline'] = "Chronologie"; | $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!"; | ||||||
|  | 
 | ||||||
|  |  | ||||||
|  | @ -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_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_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_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_list'] = 'Benutzer Liste'; | ||||||
| 
 | 
 | ||||||
| $lang['admin_user'] = 'Benutzer'; | $lang['admin_user'] = 'Benutzer'; | ||||||
| $lang['admin_email'] = 'E-Mail'; | $lang['admin_email'] = 'E-Mail'; | ||||||
| $lang['admin_type'] = 'Typ'; | $lang['admin_type'] = 'Typ'; | ||||||
|  | $lang['admin_last_login'] = "Letzter Login"; | ||||||
| $lang['admin_options'] = 'Optionen'; | $lang['admin_options'] = 'Optionen'; | ||||||
| 
 | 
 | ||||||
| $lang['admin_create_user'] = 'Benutzer anlegen'; | $lang['admin_create_user'] = 'Benutzer anlegen'; | ||||||
|  | @ -25,7 +27,10 @@ $lang['admin_close'] = 'Schliessen'; | ||||||
| $lang['admin_user_accounts'] = 'Benutzerkonten'; | $lang['admin_user_accounts'] = 'Benutzerkonten'; | ||||||
| $lang['admin_danger'] = 'ACHTUNG!'; | $lang['admin_danger'] = 'ACHTUNG!'; | ||||||
| $lang['admin_experimental'] = "Experimentell"; | $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
 | // Contest Menu
 | ||||||
|  |  | ||||||
|  | @ -25,6 +25,7 @@ $lang['general_word_count'] = "Zähler"; | ||||||
| $lang['general_word_filtering_on'] = "Filtern auf"; | $lang['general_word_filtering_on'] = "Filtern auf"; | ||||||
| $lang['general_word_not_display'] = "Not display"; | $lang['general_word_not_display'] = "Not display"; | ||||||
| $lang['general_word_icon'] = "Icon"; | $lang['general_word_icon'] = "Icon"; | ||||||
|  | $lang['general_word_never'] = "Nie"; | ||||||
| 
 | 
 | ||||||
| $lang['general_word_date'] = 'Datum'; | $lang['general_word_date'] = 'Datum'; | ||||||
| $lang['general_word_startdate'] = "Start Datum"; | $lang['general_word_startdate'] = "Start Datum"; | ||||||
|  | @ -47,6 +48,8 @@ $lang['general_word_city'] = 'Stadt'; | ||||||
| $lang['general_word_total'] = 'Gesamt'; | $lang['general_word_total'] = 'Gesamt'; | ||||||
| $lang['general_word_year'] = 'Jahr'; | $lang['general_word_year'] = 'Jahr'; | ||||||
| $lang['general_word_month'] = 'Monat'; | $lang['general_word_month'] = 'Monat'; | ||||||
|  | $lang['general_word_day'] = "Tag"; | ||||||
|  | $lang['general_word_days'] = "Tage"; | ||||||
| 
 | 
 | ||||||
| $lang['general_word_colors'] = "Farben"; | $lang['general_word_colors'] = "Farben"; | ||||||
| $lang['general_word_light'] = "Licht/Laser"; | $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_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 <a href="'.site_url('update').'">hier</a>, um das zu tun!'; | $lang['dashboard_country_files_warning'] = 'Die Länderlisten müssen aktualisiert werden! Klicke <a href="'.site_url('update').'">hier</a>, um das zu tun!'; | ||||||
| $lang['dashboard_locations_warning'] = 'Ea wurde kein Stationsstandort angelegt! Klicke <a href="'. site_url('station') . '">hier</a>, um das zu tun!'; | $lang['dashboard_locations_warning'] = 'Es wurde kein Stationsstandort angelegt! Klicke <a href="'. site_url('station') . '">hier</a>, um das zu tun!'; | ||||||
| $lang['dashboard_logbooks_warning'] = 'Es wurde kein Stationslogbuch angelegt. Klicke <a href="'. site_url('logbooks') . '">hier</a>, um das zu tun!'; | $lang['dashboard_logbooks_warning'] = 'Es wurde kein Stationslogbuch angelegt. Klicke <a href="'. site_url('logbooks') . '">hier</a>, um das zu tun!'; | ||||||
| 
 | 
 | ||||||
| $lang['hams_at_no_activations_found'] = 'Keine bevorstehenden Aktivierungen gefunden. Bitte später noch einmal vorbeischauen.'; | $lang['hams_at_no_activations_found'] = 'Keine bevorstehenden Aktivierungen gefunden. Bitte später noch einmal vorbeischauen.'; | ||||||
|  |  | ||||||
|  | @ -42,3 +42,19 @@ $lang['statistics_distances_and_band'] = "und Band"; | ||||||
| 
 | 
 | ||||||
| $lang['statistics_timeline'] = "Zeitleiste"; | $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!"; | ||||||
|  | 
 | ||||||
|  |  | ||||||
|  | @ -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_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_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_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_list'] = 'User List'; | ||||||
| 
 | 
 | ||||||
| $lang['admin_user'] = 'User'; | $lang['admin_user'] = 'User'; | ||||||
| $lang['admin_email'] = 'E-mail'; | $lang['admin_email'] = 'E-mail'; | ||||||
| $lang['admin_type'] = 'Type'; | $lang['admin_type'] = 'Type'; | ||||||
|  | $lang['admin_last_login'] = "Last Login"; | ||||||
| $lang['admin_options'] = 'Options'; | $lang['admin_options'] = 'Options'; | ||||||
| 
 | 
 | ||||||
| $lang['admin_create_user'] = 'Create user'; | $lang['admin_create_user'] = 'Create user'; | ||||||
|  | @ -25,7 +27,10 @@ $lang['admin_close'] = 'Close'; | ||||||
| $lang['admin_user_accounts'] = 'User Accounts'; | $lang['admin_user_accounts'] = 'User Accounts'; | ||||||
| $lang['admin_danger'] = 'DANGER!'; | $lang['admin_danger'] = 'DANGER!'; | ||||||
| $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
 | // Contest Menu
 | ||||||
|  |  | ||||||
|  | @ -25,6 +25,7 @@ $lang['general_word_count'] = "Count"; | ||||||
| $lang['general_word_filtering_on'] = "Filtering on"; | $lang['general_word_filtering_on'] = "Filtering on"; | ||||||
| $lang['general_word_not_display'] = "Not display"; | $lang['general_word_not_display'] = "Not display"; | ||||||
| $lang['general_word_icon'] = "Icon"; | $lang['general_word_icon'] = "Icon"; | ||||||
|  | $lang['general_word_never'] = "Never"; | ||||||
| 
 | 
 | ||||||
| $lang['general_word_date'] = 'Ημερομηνία'; | $lang['general_word_date'] = 'Ημερομηνία'; | ||||||
| $lang['general_word_startdate'] = "Start Date"; | $lang['general_word_startdate'] = "Start Date"; | ||||||
|  | @ -47,6 +48,8 @@ $lang['general_word_city'] = 'City'; | ||||||
| $lang['general_word_total'] = 'Σύνολο'; | $lang['general_word_total'] = 'Σύνολο'; | ||||||
| $lang['general_word_year'] = 'Ετος'; | $lang['general_word_year'] = 'Ετος'; | ||||||
| $lang['general_word_month'] = 'Μήνας'; | $lang['general_word_month'] = 'Μήνας'; | ||||||
|  | $lang['general_word_day'] = "Day"; | ||||||
|  | $lang['general_word_days'] = "Days"; | ||||||
| 
 | 
 | ||||||
| $lang['general_word_colors'] = "Colors"; | $lang['general_word_colors'] = "Colors"; | ||||||
| $lang['general_word_light'] = "Light/Laser"; | $lang['general_word_light'] = "Light/Laser"; | ||||||
|  |  | ||||||
|  | @ -42,3 +42,19 @@ $lang['statistics_distances_and_band'] = "and band"; | ||||||
| 
 | 
 | ||||||
| $lang['statistics_timeline'] = "Timeline"; | $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!"; | ||||||
|  | 
 | ||||||
|  |  | ||||||
|  | @ -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_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_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_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_list'] = 'User List'; | ||||||
| 
 | 
 | ||||||
| $lang['admin_user'] = 'User'; | $lang['admin_user'] = 'User'; | ||||||
| $lang['admin_email'] = 'E-mail'; | $lang['admin_email'] = 'E-mail'; | ||||||
| $lang['admin_type'] = 'Type'; | $lang['admin_type'] = 'Type'; | ||||||
|  | $lang['admin_last_login'] = "Last Login"; | ||||||
| $lang['admin_options'] = 'Options'; | $lang['admin_options'] = 'Options'; | ||||||
| 
 | 
 | ||||||
| $lang['admin_create_user'] = 'Create user'; | $lang['admin_create_user'] = 'Create user'; | ||||||
|  | @ -25,7 +27,10 @@ $lang['admin_close'] = 'Close'; | ||||||
| $lang['admin_user_accounts'] = 'User Accounts'; | $lang['admin_user_accounts'] = 'User Accounts'; | ||||||
| $lang['admin_danger'] = 'DANGER!'; | $lang['admin_danger'] = 'DANGER!'; | ||||||
| $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
 | // Contest Menu
 | ||||||
|  |  | ||||||
|  | @ -25,6 +25,7 @@ $lang['general_word_count'] = "Count"; | ||||||
| $lang['general_word_filtering_on'] = "Filtering on"; | $lang['general_word_filtering_on'] = "Filtering on"; | ||||||
| $lang['general_word_not_display'] = "Not display"; | $lang['general_word_not_display'] = "Not display"; | ||||||
| $lang['general_word_icon'] = "Icon"; | $lang['general_word_icon'] = "Icon"; | ||||||
|  | $lang['general_word_never'] = "Never"; | ||||||
| 
 | 
 | ||||||
| $lang['general_word_date'] = 'Data'; | $lang['general_word_date'] = 'Data'; | ||||||
| $lang['general_word_startdate'] = "Start Date"; | $lang['general_word_startdate'] = "Start Date"; | ||||||
|  | @ -47,6 +48,8 @@ $lang['general_word_city'] = 'City'; | ||||||
| $lang['general_word_total'] = 'Totale'; | $lang['general_word_total'] = 'Totale'; | ||||||
| $lang['general_word_year'] = 'Anno'; | $lang['general_word_year'] = 'Anno'; | ||||||
| $lang['general_word_month'] = 'Mese'; | $lang['general_word_month'] = 'Mese'; | ||||||
|  | $lang['general_word_day'] = "Day"; | ||||||
|  | $lang['general_word_days'] = "Days"; | ||||||
| 
 | 
 | ||||||
| $lang['general_word_colors'] = "Colors"; | $lang['general_word_colors'] = "Colors"; | ||||||
| $lang['general_word_light'] = "Light/Laser"; | $lang['general_word_light'] = "Light/Laser"; | ||||||
|  |  | ||||||
|  | @ -42,3 +42,19 @@ $lang['statistics_distances_and_band'] = "and band"; | ||||||
| 
 | 
 | ||||||
| $lang['statistics_timeline'] = "Timeline"; | $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!"; | ||||||
|  | 
 | ||||||
|  |  | ||||||
|  | @ -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_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_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_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_list'] = 'User List'; | ||||||
| 
 | 
 | ||||||
| $lang['admin_user'] = 'User'; | $lang['admin_user'] = 'User'; | ||||||
| $lang['admin_email'] = 'E-mail'; | $lang['admin_email'] = 'E-mail'; | ||||||
| $lang['admin_type'] = 'Type'; | $lang['admin_type'] = 'Type'; | ||||||
|  | $lang['admin_last_login'] = "Last Login"; | ||||||
| $lang['admin_options'] = 'Options'; | $lang['admin_options'] = 'Options'; | ||||||
| 
 | 
 | ||||||
| $lang['admin_create_user'] = 'Create user'; | $lang['admin_create_user'] = 'Create user'; | ||||||
|  | @ -25,7 +27,10 @@ $lang['admin_close'] = 'Close'; | ||||||
| $lang['admin_user_accounts'] = 'User Accounts'; | $lang['admin_user_accounts'] = 'User Accounts'; | ||||||
| $lang['admin_danger'] = 'DANGER!'; | $lang['admin_danger'] = 'DANGER!'; | ||||||
| $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
 | // Contest Menu
 | ||||||
|  |  | ||||||
|  | @ -25,6 +25,7 @@ $lang['general_word_count'] = "Count"; | ||||||
| $lang['general_word_filtering_on'] = "Filtering on"; | $lang['general_word_filtering_on'] = "Filtering on"; | ||||||
| $lang['general_word_not_display'] = "Not display"; | $lang['general_word_not_display'] = "Not display"; | ||||||
| $lang['general_word_icon'] = "Icon"; | $lang['general_word_icon'] = "Icon"; | ||||||
|  | $lang['general_word_never'] = "Never"; | ||||||
| 
 | 
 | ||||||
| $lang['general_word_date'] = 'Data'; | $lang['general_word_date'] = 'Data'; | ||||||
| $lang['general_word_startdate'] = "Start Date"; | $lang['general_word_startdate'] = "Start Date"; | ||||||
|  | @ -47,6 +48,8 @@ $lang['general_word_city'] = 'City'; | ||||||
| $lang['general_word_total'] = 'Suma'; | $lang['general_word_total'] = 'Suma'; | ||||||
| $lang['general_word_year'] = 'Rok'; | $lang['general_word_year'] = 'Rok'; | ||||||
| $lang['general_word_month'] = 'Miesiąc'; | $lang['general_word_month'] = 'Miesiąc'; | ||||||
|  | $lang['general_word_day'] = "Day"; | ||||||
|  | $lang['general_word_days'] = "Days"; | ||||||
| 
 | 
 | ||||||
| $lang['general_word_colors'] = "Colors"; | $lang['general_word_colors'] = "Colors"; | ||||||
| $lang['general_word_light'] = "Light/Laser"; | $lang['general_word_light'] = "Light/Laser"; | ||||||
|  |  | ||||||
|  | @ -42,3 +42,19 @@ $lang['statistics_distances_and_band'] = "and band"; | ||||||
| 
 | 
 | ||||||
| $lang['statistics_timeline'] = "Timeline"; | $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!"; | ||||||
|  | 
 | ||||||
|  |  | ||||||
|  | @ -5,12 +5,14 @@ defined('BASEPATH') OR exit('No direct script access allowed'); | ||||||
| $lang['admin_user_line1'] = 'Для работы Cloudlog требуется хотя наличие хотя бы одного пользовательского аккаунта.'; | $lang['admin_user_line1'] = 'Для работы Cloudlog требуется хотя наличие хотя бы одного пользовательского аккаунта.'; | ||||||
| $lang['admin_user_line2'] = 'Пользователям могут быть назначены роли, которые предоставляют им различные права, например, добавление QSO в журнал и доступ к API Cloudlog.'; | $lang['admin_user_line2'] = 'Пользователям могут быть назначены роли, которые предоставляют им различные права, например, добавление QSO в журнал и доступ к API Cloudlog.'; | ||||||
| $lang['admin_user_line3'] = 'Текущий вошедший в систему пользователь отображается в правом верхнем углу каждой страницы.'; | $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_list'] = 'Список пользователей'; | ||||||
| 
 | 
 | ||||||
| $lang['admin_user'] = 'Пользователь'; | $lang['admin_user'] = 'Пользователь'; | ||||||
| $lang['admin_email'] = 'Емэйл'; | $lang['admin_email'] = 'Емэйл'; | ||||||
| $lang['admin_type'] = 'Роль'; | $lang['admin_type'] = 'Роль'; | ||||||
|  | $lang['admin_last_login'] = "Last Login"; | ||||||
| $lang['admin_options'] = 'Опции'; | $lang['admin_options'] = 'Опции'; | ||||||
| 
 | 
 | ||||||
| $lang['admin_create_user'] = 'Создать пользователя'; | $lang['admin_create_user'] = 'Создать пользователя'; | ||||||
|  | @ -25,7 +27,10 @@ $lang['admin_close'] = 'Close'; | ||||||
| $lang['admin_user_accounts'] = 'Аккаунты пользователей'; | $lang['admin_user_accounts'] = 'Аккаунты пользователей'; | ||||||
| $lang['admin_danger'] = 'ОПАСНО!'; | $lang['admin_danger'] = 'ОПАСНО!'; | ||||||
| $lang['admin_experimental'] = "Экспериментально"; | $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
 | // Contest Menu
 | ||||||
|  |  | ||||||
|  | @ -25,6 +25,7 @@ $lang['general_word_count'] = "Счётчик"; | ||||||
| $lang['general_word_filtering_on'] = "Отфильтровано по"; | $lang['general_word_filtering_on'] = "Отфильтровано по"; | ||||||
| $lang['general_word_not_display'] = "Not display"; | $lang['general_word_not_display'] = "Not display"; | ||||||
| $lang['general_word_icon'] = "Icon"; | $lang['general_word_icon'] = "Icon"; | ||||||
|  | $lang['general_word_never'] = "Never"; | ||||||
| 
 | 
 | ||||||
| $lang['general_word_date'] = 'Дата'; | $lang['general_word_date'] = 'Дата'; | ||||||
| $lang['general_word_startdate'] = "Дата начала"; | $lang['general_word_startdate'] = "Дата начала"; | ||||||
|  | @ -47,6 +48,8 @@ $lang['general_word_city'] = 'City'; | ||||||
| $lang['general_word_total'] = 'Всего'; | $lang['general_word_total'] = 'Всего'; | ||||||
| $lang['general_word_year'] = 'Год'; | $lang['general_word_year'] = 'Год'; | ||||||
| $lang['general_word_month'] = 'Месяц'; | $lang['general_word_month'] = 'Месяц'; | ||||||
|  | $lang['general_word_day'] = "Day"; | ||||||
|  | $lang['general_word_days'] = "Days"; | ||||||
| 
 | 
 | ||||||
| $lang['general_word_colors'] = "Цвета"; | $lang['general_word_colors'] = "Цвета"; | ||||||
| $lang['general_word_light'] = "Свет/лазер"; | $lang['general_word_light'] = "Свет/лазер"; | ||||||
|  |  | ||||||
|  | @ -42,3 +42,19 @@ $lang['statistics_distances_and_band'] = "и диапазоне"; | ||||||
| 
 | 
 | ||||||
| $lang['statistics_timeline'] = "Лента времени"; | $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!"; | ||||||
|  | 
 | ||||||
|  |  | ||||||
|  | @ -24,8 +24,12 @@ $lang['admin_save'] = 'Guardar'; | ||||||
| $lang['admin_close'] = 'Cerrar'; | $lang['admin_close'] = 'Cerrar'; | ||||||
| $lang['admin_user_accounts'] = 'Cuentas de Usuario'; | $lang['admin_user_accounts'] = 'Cuentas de Usuario'; | ||||||
| $lang['admin_danger'] = '¡PELIGRO!'; | $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
 | // Contest Menu
 | ||||||
|  |  | ||||||
|  | @ -16,6 +16,7 @@ $lang['general_word_next'] = 'Siguiente'; | ||||||
| $lang['general_word_previous'] = 'Anterior'; | $lang['general_word_previous'] = 'Anterior'; | ||||||
| $lang['general_word_cancel'] = "Cancelar"; | $lang['general_word_cancel'] = "Cancelar"; | ||||||
| $lang['general_word_ok'] = "OK"; | $lang['general_word_ok'] = "OK"; | ||||||
|  | 
 | ||||||
| $lang['general_word_attention'] = "Atención"; | $lang['general_word_attention'] = "Atención"; | ||||||
| $lang['general_word_enabled'] = "Activado"; | $lang['general_word_enabled'] = "Activado"; | ||||||
| $lang['general_word_disabled'] = "Desactivado"; | $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_not_display'] = "No mostrar"; | ||||||
| $lang['general_word_icon'] = "Icono"; | $lang['general_word_icon'] = "Icono"; | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| $lang['general_word_date'] = 'Fecha'; | $lang['general_word_date'] = 'Fecha'; | ||||||
| $lang['general_word_startdate'] = "Fecha de inicio"; | $lang['general_word_startdate'] = "Fecha de inicio"; | ||||||
| $lang['general_word_enddate'] = "Fecha de fin"; | $lang['general_word_enddate'] = "Fecha de fin"; | ||||||
|  | @ -47,6 +49,8 @@ $lang['general_word_city'] = 'Ciudad'; | ||||||
| $lang['general_word_total'] = 'Total'; | $lang['general_word_total'] = 'Total'; | ||||||
| $lang['general_word_year'] = 'Año'; | $lang['general_word_year'] = 'Año'; | ||||||
| $lang['general_word_month'] = 'Mes'; | $lang['general_word_month'] = 'Mes'; | ||||||
|  | $lang['general_word_day'] = "Day"; | ||||||
|  | $lang['general_word_days'] = "Days"; | ||||||
| 
 | 
 | ||||||
| $lang['general_word_colors'] = "Colores"; | $lang['general_word_colors'] = "Colores"; | ||||||
| $lang['general_word_light'] = "Luz/Láser"; | $lang['general_word_light'] = "Luz/Láser"; | ||||||
|  |  | ||||||
|  | @ -42,3 +42,19 @@ $lang['statistics_distances_and_band'] = "y banda"; | ||||||
| 
 | 
 | ||||||
| $lang['statistics_timeline'] = "Línea de tiempo"; | $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!"; | ||||||
|  | 
 | ||||||
|  |  | ||||||
|  | @ -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_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_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_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_list'] = 'Användarlista'; | ||||||
| 
 | 
 | ||||||
| $lang['admin_user'] = 'Användare'; | $lang['admin_user'] = 'Användare'; | ||||||
| $lang['admin_email'] = 'E-post'; | $lang['admin_email'] = 'E-post'; | ||||||
| $lang['admin_type'] = 'Typ'; | $lang['admin_type'] = 'Typ'; | ||||||
|  | $lang['admin_last_login'] = "Last Login"; | ||||||
| $lang['admin_options'] = 'Alternativ'; | $lang['admin_options'] = 'Alternativ'; | ||||||
| 
 | 
 | ||||||
| $lang['admin_create_user'] = 'Skapa användare'; | $lang['admin_create_user'] = 'Skapa användare'; | ||||||
|  | @ -25,7 +27,10 @@ $lang['admin_close'] = 'Close'; | ||||||
| $lang['admin_user_accounts'] = 'User Accounts'; | $lang['admin_user_accounts'] = 'User Accounts'; | ||||||
| $lang['admin_danger'] = 'DANGER!'; | $lang['admin_danger'] = 'DANGER!'; | ||||||
| $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
 | // Contest Menu
 | ||||||
|  |  | ||||||
|  | @ -25,6 +25,7 @@ $lang['general_word_enabled'] = "Enabled"; | ||||||
| $lang['general_word_disabled'] = "Disabled"; | $lang['general_word_disabled'] = "Disabled"; | ||||||
| $lang['general_word_count'] = "Count"; | $lang['general_word_count'] = "Count"; | ||||||
| $lang['general_word_filtering_on'] = "Filtering on"; | $lang['general_word_filtering_on'] = "Filtering on"; | ||||||
|  | $lang['general_word_never'] = "Never"; | ||||||
| $lang['general_word_export'] = "Export"; | $lang['general_word_export'] = "Export"; | ||||||
| $lang['general_word_import'] = "Import"; | $lang['general_word_import'] = "Import"; | ||||||
| $lang['general_word_startdate'] = "Start Date"; | $lang['general_word_startdate'] = "Start Date"; | ||||||
|  | @ -47,6 +48,8 @@ $lang['general_word_country'] = 'Land'; | ||||||
| $lang['general_word_city'] = 'City'; | $lang['general_word_city'] = 'City'; | ||||||
| 
 | 
 | ||||||
| $lang['general_word_total'] = 'Totalt'; | $lang['general_word_total'] = 'Totalt'; | ||||||
|  | $lang['general_word_day'] = "Day"; | ||||||
|  | $lang['general_word_days'] = "Days"; | ||||||
| $lang['general_word_year'] = 'I år'; | $lang['general_word_year'] = 'I år'; | ||||||
| $lang['general_word_month'] = 'Denna månad'; | $lang['general_word_month'] = 'Denna månad'; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -42,3 +42,19 @@ $lang['statistics_distances_and_band'] = "and band"; | ||||||
| 
 | 
 | ||||||
| $lang['statistics_timeline'] = "Timeline"; | $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!"; | ||||||
|  | 
 | ||||||
|  |  | ||||||
|  | @ -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_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_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_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_list'] = 'User List'; | ||||||
| 
 | 
 | ||||||
| $lang['admin_user'] = 'User'; | $lang['admin_user'] = 'User'; | ||||||
| $lang['admin_email'] = 'E-mail'; | $lang['admin_email'] = 'E-mail'; | ||||||
| $lang['admin_type'] = 'Type'; | $lang['admin_type'] = 'Type'; | ||||||
|  | $lang['admin_last_login'] = "Last Login"; | ||||||
| $lang['admin_options'] = 'Options'; | $lang['admin_options'] = 'Options'; | ||||||
| 
 | 
 | ||||||
| $lang['admin_create_user'] = 'Create user'; | $lang['admin_create_user'] = 'Create user'; | ||||||
|  | @ -25,7 +27,10 @@ $lang['admin_close'] = 'Close'; | ||||||
| $lang['admin_user_accounts'] = 'User Accounts'; | $lang['admin_user_accounts'] = 'User Accounts'; | ||||||
| $lang['admin_danger'] = 'DANGER!'; | $lang['admin_danger'] = 'DANGER!'; | ||||||
| $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
 | // Contest Menu
 | ||||||
|  |  | ||||||
|  | @ -25,6 +25,7 @@ $lang['general_word_count'] = "Count"; | ||||||
| $lang['general_word_filtering_on'] = "Filtering on"; | $lang['general_word_filtering_on'] = "Filtering on"; | ||||||
| $lang['general_word_not_display'] = "Not display"; | $lang['general_word_not_display'] = "Not display"; | ||||||
| $lang['general_word_icon'] = "Icon"; | $lang['general_word_icon'] = "Icon"; | ||||||
|  | $lang['general_word_never'] = "Never"; | ||||||
| 
 | 
 | ||||||
| $lang['general_word_date'] = 'Tarih'; | $lang['general_word_date'] = 'Tarih'; | ||||||
| $lang['general_word_startdate'] = "Start Date"; | $lang['general_word_startdate'] = "Start Date"; | ||||||
|  | @ -47,6 +48,8 @@ $lang['general_word_city'] = 'City'; | ||||||
| $lang['general_word_total'] = 'Toplam'; | $lang['general_word_total'] = 'Toplam'; | ||||||
| $lang['general_word_year'] = 'Yıl'; | $lang['general_word_year'] = 'Yıl'; | ||||||
| $lang['general_word_month'] = 'Ay'; | $lang['general_word_month'] = 'Ay'; | ||||||
|  | $lang['general_word_day'] = "Day"; | ||||||
|  | $lang['general_word_days'] = "Days"; | ||||||
| 
 | 
 | ||||||
| $lang['general_word_colors'] = "Colors"; | $lang['general_word_colors'] = "Colors"; | ||||||
| $lang['general_word_light'] = "Light/Laser"; | $lang['general_word_light'] = "Light/Laser"; | ||||||
|  |  | ||||||
|  | @ -42,3 +42,19 @@ $lang['statistics_distances_and_band'] = "and band"; | ||||||
| 
 | 
 | ||||||
| $lang['statistics_timeline'] = "Timeline"; | $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!"; | ||||||
|  | 
 | ||||||
|  |  | ||||||
|  | @ -80,6 +80,7 @@ class Hamqth { | ||||||
|             $data['city'] = (string)$xml->search->adr_city; |             $data['city'] = (string)$xml->search->adr_city; | ||||||
|             $data['lat'] = (string)$xml->search->latitude; |             $data['lat'] = (string)$xml->search->latitude; | ||||||
|             $data['long'] = (string)$xml->search->longitude; |             $data['long'] = (string)$xml->search->longitude; | ||||||
|  | 			$data['dxcc'] = (string)$xml->search->adif;  | ||||||
|             $data['iota'] = (string)$xml->search->iota; |             $data['iota'] = (string)$xml->search->iota; | ||||||
|             $data['image'] = (string)$xml->search->picture; |             $data['image'] = (string)$xml->search->picture; | ||||||
|             $data['us_state'] = (string)$xml->search->us_state; |             $data['us_state'] = (string)$xml->search->us_state; | ||||||
|  |  | ||||||
|  | @ -91,6 +91,7 @@ class Qrz { | ||||||
|             $data['city'] = (string)$xml->Callsign->addr2; |             $data['city'] = (string)$xml->Callsign->addr2; | ||||||
|             $data['lat'] = (string)$xml->Callsign->lat; |             $data['lat'] = (string)$xml->Callsign->lat; | ||||||
|             $data['long'] = (string)$xml->Callsign->lon; |             $data['long'] = (string)$xml->Callsign->lon; | ||||||
|  |             $data['dxcc'] = (string)$xml->Callsign->dxcc; | ||||||
|             $data['iota'] = (string)$xml->Callsign->iota; |             $data['iota'] = (string)$xml->Callsign->iota; | ||||||
|             $data['qslmgr'] = (string)$xml->Callsign->qslmgr; |             $data['qslmgr'] = (string)$xml->Callsign->qslmgr; | ||||||
|             $data['image'] = (string)$xml->Callsign->image; |             $data['image'] = (string)$xml->Callsign->image; | ||||||
|  |  | ||||||
|  | @ -0,0 +1,24 @@ | ||||||
|  | <?php | ||||||
|  | 
 | ||||||
|  | defined('BASEPATH') or exit('No direct script access allowed'); | ||||||
|  | 
 | ||||||
|  | // Adding a column to users table for the timestamp of the last login
 | ||||||
|  | 
 | ||||||
|  | class Migration_add_last_login extends CI_Migration | ||||||
|  | { | ||||||
|  | 
 | ||||||
|  |   public function up() | ||||||
|  |   { | ||||||
|  |     if (!$this->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'); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | @ -220,6 +220,7 @@ class Contesting_model extends CI_Model { | ||||||
| 			$date = DateTime::createFromFormat('d-m-Y H:i:s', $qsoarray[0]); | 			$date = DateTime::createFromFormat('d-m-Y H:i:s', $qsoarray[0]); | ||||||
| 			$date = $date->format('Y-m-d H:i:s'); | 			$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('STATION_ID', $station_id); | ||||||
| 			$this->db->where('COL_CALL', xss_clean($call)); | 			$this->db->where('COL_CALL', xss_clean($call)); | ||||||
| 			$this->db->where("COL_BAND", xss_clean($band)); | 			$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->where("COL_MODE", xss_clean($mode)); | ||||||
| 			$this->db->or_where("COL_SUBMODE", xss_clean($mode)); | 			$this->db->or_where("COL_SUBMODE", xss_clean($mode)); | ||||||
| 			$this->db->group_end(); | 			$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')); | 			$query = $this->db->get($this->config->item('table_name')); | ||||||
| 	 | 	 | ||||||
| 			return $query; | 			return $query; | ||||||
|  |  | ||||||
|  | @ -32,6 +32,7 @@ class Lookup_model extends CI_Model{ | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
|  | 		if (!(isset($resultArray))) $resultArray=[]; | ||||||
| 		return $resultArray; | 		return $resultArray; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -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')); | 		$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('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'); | 		$this->db->join('lotw_users', 'lotw_users.callsign = '.$this->config->item('table_name').'.col_call', 'left outer'); | ||||||
| 
 | 
 | ||||||
|         if ($band != 'All') { |         if ($band != 'All') { | ||||||
|  |  | ||||||
|  | @ -423,6 +423,16 @@ class User_Model extends CI_Model { | ||||||
| 		return 0; | 		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)
 | 	// FUNCTION: bool authorize($level)
 | ||||||
| 	// Checks a user's level of access against the given $level
 | 	// Checks a user's level of access against the given $level
 | ||||||
| 	function authorize($level) { | 	function authorize($level) { | ||||||
|  |  | ||||||
|  | @ -1,3 +1,7 @@ | ||||||
|  | <script> | ||||||
|  |     var lang_days_with_qso_short = "<?php echo lang('statistics_days_with_qso_short'); ?>"; | ||||||
|  | </script> | ||||||
|  | 
 | ||||||
| <div class="container"> | <div class="container"> | ||||||
| 
 | 
 | ||||||
|     <br> |     <br> | ||||||
|  | @ -9,7 +13,7 @@ | ||||||
|     echo '<div id="diffDays" class="table-responsive"><table class="qsotable table table-sm table-bordered table-hover table-striped table-condensed">'; |     echo '<div id="diffDays" class="table-responsive"><table class="qsotable table table-sm table-bordered table-hover table-striped table-condensed">'; | ||||||
| 
 | 
 | ||||||
|             echo '<tr>'; |             echo '<tr>'; | ||||||
|                 echo '<th style=\'text-align: center\'>Year</th>'; |                 echo '<th style=\'text-align: center\'>' . lang('general_word_year') . '</th>'; | ||||||
| 
 | 
 | ||||||
|                 foreach ($result as $master) { |                 foreach ($result as $master) { | ||||||
|                 echo '<td style=\'text-align: center\'>' . $master->Year . '</td>'; |                 echo '<td style=\'text-align: center\'>' . $master->Year . '</td>'; | ||||||
|  | @ -18,7 +22,7 @@ | ||||||
|                 echo '</tr>'; |                 echo '</tr>'; | ||||||
| 
 | 
 | ||||||
|             echo '<tr>'; |             echo '<tr>'; | ||||||
|                 echo '<th style=\'text-align: center\'>Days</th>'; |                 echo '<th style=\'text-align: center\'>' . lang('general_word_days') . '</th>'; | ||||||
| 
 | 
 | ||||||
|                 foreach ($result as $master) { |                 foreach ($result as $master) { | ||||||
|                 echo '<td style=\'text-align: center\'>' . $master->Days . '</td>'; |                 echo '<td style=\'text-align: center\'>' . $master->Days . '</td>'; | ||||||
|  | @ -30,8 +34,8 @@ | ||||||
|     } |     } | ||||||
|     ?>
 |     ?>
 | ||||||
|     <canvas id="myChartDiff" width="400" height="150"></canvas> |     <canvas id="myChartDiff" width="400" height="150"></canvas> | ||||||
|     <h2>Longest streak with QSOs in the log</h2> |     <h2><?php echo lang('statistics_dwq_longest_streak_in_log'); ?></h2>
 | ||||||
|     <p>A maximum of the 10 longest streaks are shown!</p> |     <p><?php echo lang('statistics_dwq_longest_streak_in_log_hint'); ?></p>
 | ||||||
| 
 | 
 | ||||||
|     <?php  |     <?php  | ||||||
|     // Get Date format
 |     // Get Date format
 | ||||||
|  | @ -49,9 +53,9 @@ | ||||||
|         echo '<div id="streaks" class="table-responsive"><table class="qsotable table table-sm table-bordered table-hover table-striped table-condensed">'; |         echo '<div id="streaks" class="table-responsive"><table class="qsotable table table-sm table-bordered table-hover table-striped table-condensed">'; | ||||||
| 
 | 
 | ||||||
|             echo '<tr>'; |             echo '<tr>'; | ||||||
|                 echo '<th style=\'text-align: center\'>Streak (continuous days with QSOs)</th>'; |                 echo '<th style=\'text-align: center\'>' . lang('statistics_dwq_streak_continuous_days') . '</th>'; | ||||||
|                 echo '<th style=\'text-align: center\'>Begin date</th>'; |                 echo '<th style=\'text-align: center\'>' . lang('general_word_startdate') . '</th>'; | ||||||
|                 echo '<th style=\'text-align: center\'>End date</th>'; |                 echo '<th style=\'text-align: center\'>' . lang('general_word_enddate') . '</th>'; | ||||||
|                 echo '</tr>'; |                 echo '</tr>'; | ||||||
| 
 | 
 | ||||||
|             foreach ($streaks as $streak) { |             foreach ($streaks as $streak) { | ||||||
|  | @ -71,15 +75,15 @@ | ||||||
|     } |     } | ||||||
|     ?>
 |     ?>
 | ||||||
| 
 | 
 | ||||||
|     <h2>Current streak with QSOs in the log</h2> |     <h2><?php echo lang('statistics_dwq_current_streak_in_log'); ?></h2>
 | ||||||
|     <?php |     <?php | ||||||
|     if (is_array($currentstreak)) { |     if (is_array($currentstreak)) { | ||||||
|         echo '<div id="streaks" class="table-responsive"><table class="qsotable table table-sm table-bordered table-hover table-striped table-condensed">'; |         echo '<div id="streaks" class="table-responsive"><table class="qsotable table table-sm table-bordered table-hover table-striped table-condensed">'; | ||||||
| 
 | 
 | ||||||
|         echo '<tr>'; |         echo '<tr>'; | ||||||
|         echo '<th style=\'text-align: center\'>Current streak (continuous days with QSOs)</th>'; |         echo '<th style=\'text-align: center\'>' . lang('statistics_dwq_current_streak_continuous_days') . '</th>'; | ||||||
|         echo '<th style=\'text-align: center\'>Begin date</th>'; |         echo '<th style=\'text-align: center\'>' . lang('general_word_startdate') . '</th>'; | ||||||
|         echo '<th style=\'text-align: center\'>End date</th>'; |         echo '<th style=\'text-align: center\'>' . lang('general_word_enddate') . '</th>'; | ||||||
|         echo '</tr>'; |         echo '</tr>'; | ||||||
| 
 | 
 | ||||||
|             echo '<tr>'; |             echo '<tr>'; | ||||||
|  | @ -94,14 +98,14 @@ | ||||||
|     } |     } | ||||||
|     elseif (is_array($almostcurrentstreak)) { |     elseif (is_array($almostcurrentstreak)) { | ||||||
|         ?>
 |         ?>
 | ||||||
|         <p>If you make a QSO today, you can continue to extend your streak... or else your current streak will be broken!</p> |         <div class="alert alert-warning" role="alert"><?php echo lang('statistics_dwq_make_qso_to_extend_streak'); ?></div>
 | ||||||
|         <?php |         <?php | ||||||
|         echo '<div id="streaks" class="table-responsive"><table class="qsotable table table-sm table-bordered table-hover table-striped table-condensed">'; |         echo '<div id="streaks" class="table-responsive"><table class="qsotable table table-sm table-bordered table-hover table-striped table-condensed">'; | ||||||
| 
 | 
 | ||||||
|         echo '<tr>'; |         echo '<tr>'; | ||||||
|         echo '<th style=\'text-align: center\'>Current streak (continuous days with QSOs)</th>'; |         echo '<th style=\'text-align: center\'>' . lang('statistics_dwq_current_streak_continuous_days') . '</th>'; | ||||||
|         echo '<th style=\'text-align: center\'>Begin date</th>'; |         echo '<th style=\'text-align: center\'>' . lang('general_word_startdate') . '</th>'; | ||||||
|         echo '<th style=\'text-align: center\'>End date</th>'; |         echo '<th style=\'text-align: center\'>' . lang('general_word_enddate') . '</th>'; | ||||||
|         echo '</tr>'; |         echo '</tr>'; | ||||||
| 
 | 
 | ||||||
|         echo '<tr>'; |         echo '<tr>'; | ||||||
|  | @ -115,7 +119,7 @@ | ||||||
|         echo '</table></div>'; |         echo '</table></div>'; | ||||||
|     } |     } | ||||||
|     else { |     else { | ||||||
|         echo '<div class="alert alert-danger" role="alert">No current streak found!</div>'; |         echo '<div class="alert alert-danger" role="alert">' . lang('statistics_dwq_no_current_streak') . '</div>'; | ||||||
|     } |     } | ||||||
|     ?>
 |     ?>
 | ||||||
| </div> | </div> | ||||||
|  |  | ||||||
|  | @ -0,0 +1,15 @@ | ||||||
|  | Hello <?php echo $user_firstname . ", " . $user_callsign ?>
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | An admin initiated a password reset for your Cloudlog account. | ||||||
|  | 
 | ||||||
|  | Your username is:    <?php echo $user_name; ?>
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | Click here to reset your password: <?php echo site_url('user/reset_password/').$reset_code; ?>
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | If you didn't request any password reset, just ignore this email and talk to an admin of your Cloudlog instance. | ||||||
|  | 
 | ||||||
|  | Regards, | ||||||
|  | Cloudlog | ||||||
|  | @ -1333,6 +1333,23 @@ $($('#callsign')).on('keypress',function(e) { | ||||||
|     <script> |     <script> | ||||||
|     // Javascript for controlling rig frequency.
 |     // Javascript for controlling rig frequency.
 | ||||||
| 	  var updateFromCAT = function() { | 	  var updateFromCAT = function() { | ||||||
|  |       var cat2UI = function(ui, cat, allow_empty, allow_zero, callback_on_update) { | ||||||
|  |         // Check, if cat-data is available
 | ||||||
|  |         if(cat == null) { | ||||||
|  |           return; | ||||||
|  |         } else if (typeof allow_empty !== 'undefined' && !allow_empty && cat == '') { | ||||||
|  |           return; | ||||||
|  |         } else if (typeof allow_zero !== 'undefined' && !allow_zero && cat == '0' ) { | ||||||
|  |           return; | ||||||
|  |         } | ||||||
|  |         // Only update the ui-element, if cat-data has changed
 | ||||||
|  |         if (ui.data('catValue') != cat) { | ||||||
|  |           ui.val(cat); | ||||||
|  |           ui.data('catValue',cat); | ||||||
|  |           if (typeof callback_on_update === 'function') { callback_on_update(cat); } | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  | 
 | ||||||
| 		  if($('select.radios option:selected').val() != '0') { | 		  if($('select.radios option:selected').val() != '0') { | ||||||
| 			  radioID = $('select.radios option:selected').val(); | 			  radioID = $('select.radios option:selected').val(); | ||||||
| 			  $.getJSON( "radio/json/" + radioID, function( data ) { | 			  $.getJSON( "radio/json/" + radioID, function( data ) { | ||||||
|  | @ -1358,30 +1375,13 @@ $($('#callsign')).on('keypress',function(e) { | ||||||
| 					  if($('.radio_login_error').length != 0) { | 					  if($('.radio_login_error').length != 0) { | ||||||
| 						  $(".radio_login_error" ).remove(); | 						  $(".radio_login_error" ).remove(); | ||||||
| 					  } | 					  } | ||||||
| 					  $('#frequency').val(data.frequency); |             cat2UI($('#frequency'),data.frequency,false,true,function(d){$("#band").val(frequencyToBand(d))}); | ||||||
| 					  $("#band").val(frequencyToBand(data.frequency)); |             cat2UI($('#frequency_rx'),data.frequency_rx,false,true,function(d){$("#band_rx").val(frequencyToBand(d))}); | ||||||
| 					  if (data.frequency_rx != "") { |             cat2UI($('.mode'),data.mode,false,false,function(d){setRst($(".mode").val())}); | ||||||
| 						  $('#frequency_rx').val(data.frequency_rx); |             cat2UI($('#sat_name'),data.satname,false,false); | ||||||
| 						  $("#band_rx").val(frequencyToBand(data.frequency_rx)); |             cat2UI($('#sat_mode'),data.satmode,false,false); | ||||||
| 					  } |             cat2UI($('#transmit_power'),data.power,false,false); | ||||||
| 
 |             cat2UI($('#selectPropagation'),data.prop_mode,false,false); | ||||||
| 					  if ((data.mode != "") && (data.mode != null)) { |  | ||||||
| 					  	old_mode = $(".mode").val(); |  | ||||||
| 					  	$(".mode").val(data.mode); |  | ||||||
| 					  } else { |  | ||||||
| 					  	old_mode = $(".mode").val(); |  | ||||||
| 					  } |  | ||||||
| 
 |  | ||||||
| 					  if (old_mode !== $(".mode").val()) { |  | ||||||
| 						  // Update RST on mode change via CAT
 |  | ||||||
| 						  setRst($(".mode").val()); |  | ||||||
| 					  } |  | ||||||
| 					  $("#sat_name").val(data.satname); |  | ||||||
| 					  $("#sat_mode").val(data.satmode); |  | ||||||
| 					  if(data.power != null && data.power != 0) { |  | ||||||
| 						  $("#transmit_power").val(data.power); |  | ||||||
| 					  } |  | ||||||
| 					  $("#selectPropagation").val(data.prop_mode); |  | ||||||
|              |              | ||||||
| 					  // Display CAT Timeout warning based on the figure given in the config file
 | 					  // Display CAT Timeout warning based on the figure given in the config file
 | ||||||
| 					  var minutes = Math.floor(<?php echo $this->optionslib->get_option('cat_timeout_interval'); ?> / 60);
 | 					  var minutes = Math.floor(<?php echo $this->optionslib->get_option('cat_timeout_interval'); ?> / 60);
 | ||||||
|  | @ -1402,15 +1402,17 @@ $($('#callsign')).on('keypress',function(e) { | ||||||
| 						  if(data.power != null && data.power != 0) { | 						  if(data.power != null && data.power != 0) { | ||||||
| 							  text = text+'<span style="margin-left:10px"></span>'+data.power+' W'; | 							  text = text+'<span style="margin-left:10px"></span>'+data.power+' W'; | ||||||
| 						  } | 						  } | ||||||
|  |               ptext = ''; | ||||||
| 						  if(data.prop_mode != null && data.prop_mode != '') { | 						  if(data.prop_mode != null && data.prop_mode != '') { | ||||||
| 							  text = text+'<span style="margin-left:10px"></span>('+data.prop_mode; | 							  ptext = ptext + data.prop_mode; | ||||||
| 							  if (data.prop_mode == 'SAT') { | 							  if (data.prop_mode == 'SAT') { | ||||||
| 								  text = text+' '+data.satname; | 								  ptext = ptext + ' ' + data.satname; | ||||||
| 							  } | 							  } | ||||||
| 						  } | 						  } | ||||||
| 						  if(data.frequency_rx != null && data.frequency_rx != 0) { | 						  if(data.frequency_rx != null && data.frequency_rx != 0) { | ||||||
| 							  text = text+'<span style="margin-left:10px"></span><b>RX:</b> '+(Math.round(parseInt(data.frequency_rx)/1000)/1000).toFixed(3)+' MHz)'; | 							  ptext = ptext + '<span style="margin-left:10px"></span><b>RX:</b> ' + (Math.round(parseInt(data.frequency_rx)/1000)/1000).toFixed(3) + ' MHz'; | ||||||
| 						  } | 						  } | ||||||
|  |               if( ptext != '') { text = text + '<span style="margin-left:10px"></span>(' + ptext + ')';} | ||||||
| 						  if (! $('#radio_cat_state').length) { | 						  if (! $('#radio_cat_state').length) { | ||||||
| 							  $('#radio_status').prepend('<div aria-hidden="true"><div id="radio_cat_state" class="alert alert-success radio_cat_state" role="alert">'+text+'</div></div>'); | 							  $('#radio_status').prepend('<div aria-hidden="true"><div id="radio_cat_state" class="alert alert-success radio_cat_state" role="alert">'+text+'</div></div>'); | ||||||
| 						  } else { | 						  } else { | ||||||
|  |  | ||||||
|  | @ -13,15 +13,22 @@ | ||||||
| </tr> | </tr> | ||||||
| 
 | 
 | ||||||
| <tr> | <tr> | ||||||
| 	<td style="padding: 0 0.3em 0 0" align="left">Name</td> | 	<td style="padding: 0 0.3em 0 0;" align="left">Name</td> | ||||||
| 	<td style="padding: 0.3em 0 0.3em 0.5em;" align="left"><?php echo $callsign['name']; ?></td>
 | 	<td style="padding: 0.3em 0 0.3em 0.5em;" align="left"><?php echo $callsign['name']; ?></td>
 | ||||||
| </tr> | </tr> | ||||||
| 
 | 
 | ||||||
| <tr> | <tr> | ||||||
| 	<td style="padding: 0 0.3em 0 0:" align="left">City</td> | 	<td style="padding: 0 0.3em 0 0;" align="left">City</td> | ||||||
| 	<td style="padding: 0.3em 0 0.3em 0.5em;" align="left"><?php echo $callsign['city']; ?></td>
 | 	<td style="padding: 0.3em 0 0.3em 0.5em;" align="left"><?php echo $callsign['city']; ?></td>
 | ||||||
| </tr> | </tr> | ||||||
| 
 | 
 | ||||||
|  | <?php if(isset($callsign['dxcc_name'])) { ?>
 | ||||||
|  | <tr> | ||||||
|  | 	<td style="padding: 0 0.3em 0 0;" align="left">DXCC</td> | ||||||
|  | 	<td style="padding: 0.3em 0 0.3em 0.5em;" align="left"><?php echo $callsign['dxcc_name']; ?></td>
 | ||||||
|  | </tr> | ||||||
|  | <?php } ?>
 | ||||||
|  | 
 | ||||||
| <tr> | <tr> | ||||||
| 	<td style="padding: 0 0.3em 0 0;" align="left">Gridsquare</td> | 	<td style="padding: 0 0.3em 0 0;" align="left">Gridsquare</td> | ||||||
| 	<td style="padding: 0.3em 0 0.3em 0.5em;" align="left"> | 	<td style="padding: 0.3em 0 0.3em 0.5em;" align="left"> | ||||||
|  |  | ||||||
|  | @ -12,6 +12,22 @@ | ||||||
| 
 | 
 | ||||||
| 	<?php } ?>
 | 	<?php } ?>
 | ||||||
| 
 | 
 | ||||||
|  | 	<?php if ($this->session->flashdata('success')) { ?>
 | ||||||
|  | 		<!-- Display Message --> | ||||||
|  | 		<div class="alert alert-success" role="alert"> | ||||||
|  | 			<?php echo $this->session->flashdata('success'); ?>
 | ||||||
|  | 		</div> | ||||||
|  | 
 | ||||||
|  | 	<?php } ?>
 | ||||||
|  | 
 | ||||||
|  | 	<?php if ($this->session->flashdata('danger')) { ?>
 | ||||||
|  | 		<!-- Display Message --> | ||||||
|  | 		<div class="alert alert-danger" role="alert"> | ||||||
|  | 			<?php echo $this->session->flashdata('danger'); ?>
 | ||||||
|  | 		</div> | ||||||
|  | 
 | ||||||
|  | 	<?php } ?>
 | ||||||
|  | 
 | ||||||
| 	<div class="card"> | 	<div class="card"> | ||||||
| 		<div class="card-header"> | 		<div class="card-header"> | ||||||
| 			<?php echo lang('admin_user_list'); ?>
 | 			<?php echo lang('admin_user_list'); ?>
 | ||||||
|  | @ -20,14 +36,21 @@ | ||||||
| 			<p class="card-text"><?php echo lang('admin_user_line1'); ?></p>
 | 			<p class="card-text"><?php echo lang('admin_user_line1'); ?></p>
 | ||||||
| 			<p class="card-text"><?php echo lang('admin_user_line2'); ?></p>
 | 			<p class="card-text"><?php echo lang('admin_user_line2'); ?></p>
 | ||||||
| 			<p class="card-text"><?php echo lang('admin_user_line3'); ?></p>
 | 			<p class="card-text"><?php echo lang('admin_user_line3'); ?></p>
 | ||||||
|  | 			<p class="card-text"><?php echo lang('admin_user_line4'); ?></p>
 | ||||||
|  | 			<p><a class="btn btn-primary" href="<?php echo site_url('user/add'); ?>"><i class="fas fa-user-plus"></i> <?php echo lang('admin_create_user'); ?></a></p>
 | ||||||
|  | 
 | ||||||
| 			<div class="table-responsive"> | 			<div class="table-responsive"> | ||||||
| 				<table class="table table-striped"> | 				<table class="table table-striped"> | ||||||
| 					<thead> | 					<thead> | ||||||
| 						<tr> | 						<tr> | ||||||
| 							<th scope="col"><?php echo lang('admin_user'); ?></th>
 | 							<th scope="col"><?php echo lang('admin_user'); ?></th>
 | ||||||
|  | 							<th scope="col"><?php echo lang('gen_hamradio_callsign'); ?></th>
 | ||||||
| 							<th scope="col"><?php echo lang('admin_email'); ?></th>
 | 							<th scope="col"><?php echo lang('admin_email'); ?></th>
 | ||||||
| 							<th scope="col"><?php echo lang('admin_type'); ?></th>
 | 							<th scope="col"><?php echo lang('admin_type'); ?></th>
 | ||||||
| 		      <th scope="col"><?php echo lang('admin_options'); ?></th>
 | 							<th scope="col"><?php echo lang('admin_last_login'); ?></th>
 | ||||||
|  | 							<th style="text-align: center; vertical-align: middle;" scope="col"><?php echo lang('admin_edit'); ?></th>
 | ||||||
|  | 							<th style="text-align: center; vertical-align: middle;" scope="col"><?php echo lang('admin_password_reset'); ?></th>
 | ||||||
|  | 							<th style="text-align: center; vertical-align: middle;" scope="col"><?php echo lang('admin_delete'); ?></th>
 | ||||||
| 						</tr> | 						</tr> | ||||||
| 					</thead> | 					</thead> | ||||||
| 					<tbody> | 					<tbody> | ||||||
|  | @ -38,26 +61,38 @@ | ||||||
| 						foreach ($results->result() as $row) { ?>
 | 						foreach ($results->result() as $row) { ?>
 | ||||||
| 							<?php echo '<tr class="tr' . ($i & 1) . '">'; ?>
 | 							<?php echo '<tr class="tr' . ($i & 1) . '">'; ?>
 | ||||||
| 							<td><a href="<?php echo site_url('user/edit') . "/" . $row->user_id; ?>"><?php echo $row->user_name; ?></a></td>
 | 							<td><a href="<?php echo site_url('user/edit') . "/" . $row->user_id; ?>"><?php echo $row->user_name; ?></a></td>
 | ||||||
|  | 							<td><?php echo $row->user_callsign; ?></td>
 | ||||||
| 							<td><?php echo $row->user_email; ?></td>
 | 							<td><?php echo $row->user_email; ?></td>
 | ||||||
| 					<td><?php $l = $this->config->item('auth_level'); echo $l[$row->user_type]; ?></td>
 | 							<td><?php $l = $this->config->item('auth_level'); | ||||||
| 					<td> | 								echo $l[$row->user_type]; ?></td>
 | ||||||
| 						<a href="<?php echo site_url('user/edit')."/".$row->user_id; ?>" class="btn btn-outline-primary btn-sm"><i class="fas fa-user-edit"></i> <?php echo lang('admin_edit'); ?></a>
 | 							<td><?php  | ||||||
|  | 								if ($row->last_login_date != null) { // if the user never logged in before the value is null. We can show "never" then.
 | ||||||
|  | 									echo $row->last_login_date; | ||||||
|  | 								} else { | ||||||
|  | 									echo lang('general_word_never'); | ||||||
|  | 								}?>
 | ||||||
|  | 							</td> | ||||||
|  | 							<td style="text-align: center; vertical-align: middle;"><a href="<?php echo site_url('user/edit') . "/" . $row->user_id; ?>" class="btn btn-outline-primary btn-sm"><i class="fas fa-user-edit"></i></a> | ||||||
|  | 							<td style="text-align: center; vertical-align: middle;"> | ||||||
| 								<?php | 								<?php | ||||||
| 								if ($_SESSION['user_id'] != $row->user_id) { | 								if ($_SESSION['user_id'] != $row->user_id) { | ||||||
| 							echo "<a href=" . site_url('user/delete'). "/" . $row->user_id . " class=\"btn btn-danger btn-sm\"><i class=\"fas fa-user-minus\"></i> ".lang('admin_delete')."</a>"; | 									echo "<a href=" . site_url('user/admin_send_passwort_reset') . "/" . $row->user_id . " class=\"btn btn-primary btn-sm ms-1\"><i class=\"fas fa-key\"></i></a>"; | ||||||
| 								} | 								} | ||||||
| 						?>
 | 								?></td>
 | ||||||
|  | 							<td style="text-align: center; vertical-align: middle;"> | ||||||
|  | 								<?php | ||||||
|  | 								if ($_SESSION['user_id'] != $row->user_id) { | ||||||
|  | 									echo "<a href=" . site_url('user/delete') . "/" . $row->user_id . " class=\"btn btn-danger btn-sm\"><i class=\"fas fa-user-minus\"></i></a>"; | ||||||
|  | 								} | ||||||
|  | 								?></td>
 | ||||||
| 							</td> | 							</td> | ||||||
| 							</tr> | 							</tr> | ||||||
| 				<?php $i++; } ?>
 | 						<?php $i++; | ||||||
|  | 						} ?>
 | ||||||
| 					</tbody> | 					</tbody> | ||||||
| 				</table> | 				</table> | ||||||
| 			</div> | 			</div> | ||||||
| 		<p> |  | ||||||
| 			<a class="btn btn-primary" href="<?php echo site_url('user/add'); ?>"><i class="fas fa-user-plus"></i> <?php echo lang('admin_create_user'); ?></a>
 |  | ||||||
| 		</p> |  | ||||||
|   </div> |  | ||||||
| </div> |  | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
| 		</div> | 		</div> | ||||||
|  | 	</div> | ||||||
|  | </div> | ||||||
|  | @ -39,3 +39,7 @@ TD.qrz { | ||||||
| 	--bs-accordion-btn-bg: #f9f9f9; | 	--bs-accordion-btn-bg: #f9f9f9; | ||||||
| 	--bs-accordion-active-bg: #f9f9f9; | 	--bs-accordion-active-bg: #f9f9f9; | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | .dxccsummaryheader:after { | ||||||
|  | 	background-image: linear-gradient(to right, black 0, black 12ch, black 12ch, black 100%); | ||||||
|  | } | ||||||
|  | @ -103,3 +103,6 @@ TD.qrz { | ||||||
| 	--bs-accordion-active-bg: #f9f9f9; | 	--bs-accordion-active-bg: #f9f9f9; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | .dxccsummaryheader:after { | ||||||
|  | 	background-image: linear-gradient(to right, black 0, black 12ch, black 12ch, black 100%); | ||||||
|  | } | ||||||
|  | @ -57,3 +57,7 @@ thead > tr > td { | ||||||
| 	--bs-accordion-btn-bg: #f9f9f9; | 	--bs-accordion-btn-bg: #f9f9f9; | ||||||
| 	--bs-accordion-active-bg: #f9f9f9; | 	--bs-accordion-active-bg: #f9f9f9; | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | .dxccsummaryheader:after { | ||||||
|  | 	background-image: linear-gradient(to right, black 0, black 12ch, black 12ch, black 100%); | ||||||
|  | } | ||||||
|  | @ -97,3 +97,7 @@ thead > tr > td { | ||||||
| 	--bs-accordion-btn-bg: #f9f9f9; | 	--bs-accordion-btn-bg: #f9f9f9; | ||||||
| 	--bs-accordion-active-bg: #f9f9f9; | 	--bs-accordion-active-bg: #f9f9f9; | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | .dxccsummaryheader:after { | ||||||
|  | 	background-image: linear-gradient(to right, black 0, black 12ch, black 12ch, black 100%); | ||||||
|  | } | ||||||
|  | @ -752,3 +752,19 @@ label { | ||||||
| .btn-pwd-showhide, .btn-pwd-showhide:hover { | .btn-pwd-showhide, .btn-pwd-showhide:hover { | ||||||
| 	border: 1px solid var(--cl-border-btn-pwd); | 	border: 1px solid var(--cl-border-btn-pwd); | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | .dxccsummaryheader:after { | ||||||
|  | 	content: '\02795'; /* Unicode character for "plus" sign (+) */ | ||||||
|  | 	float: right; | ||||||
|  | 	margin-left: 5px; | ||||||
|  | 	color: #000000; | ||||||
|  | 	background-image: linear-gradient(to right, white 0, white 12ch, black 12ch, black 100%); | ||||||
|  |     -webkit-background-clip: text; | ||||||
|  |     background-clip: text; | ||||||
|  |     -webkit-text-fill-color: transparent; | ||||||
|  |     -webkit-text-fill-color: transparent; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .dxccsummaryheaderopened:after { | ||||||
|  | 	content: "\2796"; /* Unicode character for "minus" sign (-) */ | ||||||
|  | } | ||||||
|  | @ -526,6 +526,9 @@ function getDxccResult(dxcc, name) { | ||||||
|             $('.dxccsummary').remove(); |             $('.dxccsummary').remove(); | ||||||
|             $('.qsopane').append('<div class="dxccsummary col-sm-12"><br><div class="card"><div class="card-header dxccsummaryheader" data-bs-toggle="collapse" data-bs-target=".dxccsummarybody">DXCC Summary for '+name+'</div><div class="card-body collapse dxccsummarybody"></div></div></div>'); |             $('.qsopane').append('<div class="dxccsummary col-sm-12"><br><div class="card"><div class="card-header dxccsummaryheader" data-bs-toggle="collapse" data-bs-target=".dxccsummarybody">DXCC Summary for '+name+'</div><div class="card-body collapse dxccsummarybody"></div></div></div>'); | ||||||
|             $('.dxccsummarybody').append(html); |             $('.dxccsummarybody').append(html); | ||||||
|  | 			$('.dxccsummaryheader').click(function(){ | ||||||
|  | 				$('.dxccsummaryheader').toggleClass('dxccsummaryheaderopened'); | ||||||
|  | 			}); | ||||||
| 		} | 		} | ||||||
| 	}); | 	}); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -241,8 +241,8 @@ function checkIfWorkedBefore() { | ||||||
| 				'contest': $("#contestname").val() | 				'contest': $("#contestname").val() | ||||||
| 			}, | 			}, | ||||||
| 			success: function (result) { | 			success: function (result) { | ||||||
| 				if (result.message == 'Worked before') { | 				if (result.message.substr(0,6) == 'Worked') { | ||||||
| 					$('#callsign_info').text("Worked before!"); | 					$('#callsign_info').text(result.message); | ||||||
| 				} | 				} | ||||||
| 			} | 			} | ||||||
| 		}); | 		}); | ||||||
|  |  | ||||||
|  | @ -15,7 +15,7 @@ $.ajax({ | ||||||
| 				data: { | 				data: { | ||||||
| 					labels: labels, | 					labels: labels, | ||||||
| 					datasets: [{ | 					datasets: [{ | ||||||
| 						label: 'Days with QSOs', | 						label: lang_days_with_qso_short, | ||||||
| 						data: dataDxcc, | 						data: dataDxcc, | ||||||
| 						backgroundColor: 'rgba(54, 162, 235, 0.2)', | 						backgroundColor: 'rgba(54, 162, 235, 0.2)', | ||||||
| 						borderColor: 'rgba(54, 162, 235, 1)', | 						borderColor: 'rgba(54, 162, 235, 1)', | ||||||
|  |  | ||||||
|  | @ -439,6 +439,18 @@ | ||||||
|          ] |          ] | ||||||
|       } |       } | ||||||
|    }, |    }, | ||||||
|  |    "SO-121":{ | ||||||
|  |       "Modes":{ | ||||||
|  |          "V/U":[ | ||||||
|  |             { | ||||||
|  |                "Uplink_Mode":"FM", | ||||||
|  |                "Uplink_Freq":"145875000", | ||||||
|  |                "Downlink_Mode":"FM", | ||||||
|  |                "Downlink_Freq":"436666000" | ||||||
|  |             } | ||||||
|  |          ] | ||||||
|  |       } | ||||||
|  |    }, | ||||||
|    "TEVEL-1":{ |    "TEVEL-1":{ | ||||||
|       "Modes":{ |       "Modes":{ | ||||||
|          "V/U":[ |          "V/U":[ | ||||||
|  | @ -559,18 +571,6 @@ | ||||||
|          ] |          ] | ||||||
|       } |       } | ||||||
|    }, |    }, | ||||||
|    "HADES-D":{ |  | ||||||
|       "Modes":{ |  | ||||||
|          "V/U":[ |  | ||||||
|             { |  | ||||||
|                "Uplink_Mode":"FM", |  | ||||||
|                "Uplink_Freq":"145875000", |  | ||||||
|                "Downlink_Mode":"FM", |  | ||||||
|                "Downlink_Freq":"436666000" |  | ||||||
|             } |  | ||||||
|          ] |  | ||||||
|       } |  | ||||||
|    }, |  | ||||||
|    "INSPIRE-SAT 7":{ |    "INSPIRE-SAT 7":{ | ||||||
|       "Modes":{ |       "Modes":{ | ||||||
|          "V/U":[ |          "V/U":[ | ||||||
|  |  | ||||||
		正在加载…
	
		在新工单中引用