当前提交
						6aa1fd2754
					
				
					共有  24 个文件被更改,包括 123 次插入 和 90 次删除
				
			
		|  | @ -22,7 +22,7 @@ $config['migration_enabled'] = TRUE; | ||||||
| | | | | ||||||
| */ | */ | ||||||
| 
 | 
 | ||||||
| $config['migration_version'] = 162; | $config['migration_version'] = 163; | ||||||
| 
 | 
 | ||||||
| /* | /* | ||||||
| |-------------------------------------------------------------------------- | |-------------------------------------------------------------------------- | ||||||
|  |  | ||||||
|  | @ -158,9 +158,10 @@ class adif extends CI_Controller { | ||||||
| 	public function import() { | 	public function import() { | ||||||
| 		$this->load->model('stations'); | 		$this->load->model('stations'); | ||||||
| 		$data['station_profile'] = $this->stations->all_of_user(); | 		$data['station_profile'] = $this->stations->all_of_user(); | ||||||
|  | 		log_message("debug","Started ADIF Import"); | ||||||
| 
 | 
 | ||||||
|         $active_station_id = $this->stations->find_active(); |         	$active_station_id = $this->stations->find_active(); | ||||||
|         $station_profile = $this->stations->profile($active_station_id); |         	$station_profile = $this->stations->profile($active_station_id); | ||||||
| 
 | 
 | ||||||
| 		$data['active_station_info'] = $station_profile->row(); | 		$data['active_station_info'] = $station_profile->row(); | ||||||
| 
 | 
 | ||||||
|  | @ -183,7 +184,6 @@ class adif extends CI_Controller { | ||||||
| 		} else { | 		} else { | ||||||
| 			if ($this->stations->check_station_is_accessible($this->input->post('station_profile'))) { | 			if ($this->stations->check_station_is_accessible($this->input->post('station_profile'))) { | ||||||
| 				$data = array('upload_data' => $this->upload->data()); | 				$data = array('upload_data' => $this->upload->data()); | ||||||
| 
 |  | ||||||
| 				ini_set('memory_limit', '-1'); | 				ini_set('memory_limit', '-1'); | ||||||
| 				set_time_limit(0); | 				set_time_limit(0); | ||||||
| 
 | 
 | ||||||
|  | @ -192,21 +192,21 @@ class adif extends CI_Controller { | ||||||
| 				$this->load->library('adif_parser'); | 				$this->load->library('adif_parser'); | ||||||
| 
 | 
 | ||||||
| 				$this->adif_parser->load_from_file('./uploads/'.$data['upload_data']['file_name']); | 				$this->adif_parser->load_from_file('./uploads/'.$data['upload_data']['file_name']); | ||||||
|  | 				unlink('./uploads/'.$data['upload_data']['file_name']); | ||||||
|  | 				$data['upload_data']='';	// free memory
 | ||||||
| 
 | 
 | ||||||
| 				$this->adif_parser->initialize(); | 				$this->adif_parser->initialize(); | ||||||
| 				$custom_errors = ""; | 				$custom_errors = ""; | ||||||
|  | 				$alladif=[]; | ||||||
| 				while($record = $this->adif_parser->get_record()) | 				while($record = $this->adif_parser->get_record()) | ||||||
| 				{ | 				{ | ||||||
| 					if(count($record) == 0) { | 					if(count($record) == 0) { | ||||||
| 						break; | 						break; | ||||||
| 					}; | 					}; | ||||||
| 
 | 					array_push($alladif,$record); | ||||||
| 					$one_error = $this->logbook_model->import($record, $this->input->post('station_profile'), $this->input->post('skipDuplicate'), $this->input->post('markClublog'),$this->input->post('markLotw'), $this->input->post('dxccAdif'), $this->input->post('markQrz'), $this->input->post('markHrd'), true, $this->input->post('operatorName'), false, $this->input->post('skipStationCheck')); |  | ||||||
| 					if ($one_error != '') { |  | ||||||
| 						$custom_errors.=$one_error."<br/>"; |  | ||||||
| 					} |  | ||||||
| 				}; | 				}; | ||||||
| 				unlink('./uploads/'.$data['upload_data']['file_name']); | 				$record='';	// free memory
 | ||||||
|  | 				$custom_errors = $this->logbook_model->import_bulk($alladif, $this->input->post('station_profile'), $this->input->post('skipDuplicate'), $this->input->post('markClublog'),$this->input->post('markLotw'), $this->input->post('dxccAdif'), $this->input->post('markQrz'), $this->input->post('markHrd'), true, $this->input->post('operatorName'), false, $this->input->post('skipStationCheck')); | ||||||
| 			} else { | 			} else { | ||||||
| 				$custom_errors='Station Profile not valid for User'; | 				$custom_errors='Station Profile not valid for User'; | ||||||
| 			} | 			} | ||||||
|  | @ -214,7 +214,7 @@ class adif extends CI_Controller { | ||||||
| 			$data['adif_errors'] = $custom_errors; | 			$data['adif_errors'] = $custom_errors; | ||||||
| 			$data['skip_dupes'] = $this->input->post('skipDuplicate'); | 			$data['skip_dupes'] = $this->input->post('skipDuplicate'); | ||||||
| 
 | 
 | ||||||
| 
 | 			log_message("debug","Finished ADIF Import"); | ||||||
| 			$data['page_title'] = "ADIF Imported"; | 			$data['page_title'] = "ADIF Imported"; | ||||||
| 			$this->load->view('interface_assets/header', $data); | 			$this->load->view('interface_assets/header', $data); | ||||||
| 			$this->load->view('adif/import_success'); | 			$this->load->view('adif/import_success'); | ||||||
|  |  | ||||||
|  | @ -123,7 +123,7 @@ $lang['account_map_qso_confirm'] = "QSO (confirmed)"; | ||||||
| $lang['account_map_qso_confirm_same_qso'] = "(If 'No', displayed as ".$lang['account_map_qso_by_default'].")"; | $lang['account_map_qso_confirm_same_qso'] = "(If 'No', displayed as ".$lang['account_map_qso_by_default'].")"; | ||||||
| 
 | 
 | ||||||
| $lang['account_general_information'] = "General Information"; | $lang['account_general_information'] = "General Information"; | ||||||
| $lang['account_qso_page_options'] = "QSO Page Options"; | $lang['account_qso_logging_options'] = "QSO Logging Options"; | ||||||
| $lang['account_website_confirmation_account'] = "WebSite Confirmation Account"; | $lang['account_third_party_services'] = "Third Party Services"; | ||||||
| $lang['account_default_values'] = "Default Values"; | $lang['account_default_values'] = "Default Values"; | ||||||
| $lang['account_miscellaneous'] = "Miscellaneous"; | $lang['account_miscellaneous'] = "Miscellaneous"; | ||||||
|  | @ -123,7 +123,7 @@ $lang['account_map_qso_confirm'] = "QSO (confirmed)"; | ||||||
| $lang['account_map_qso_confirm_same_qso'] = "(If 'No', displayed as ".$lang['account_map_qso_by_default'].")"; | $lang['account_map_qso_confirm_same_qso'] = "(If 'No', displayed as ".$lang['account_map_qso_by_default'].")"; | ||||||
| 
 | 
 | ||||||
| $lang['account_general_information'] = "General Information"; | $lang['account_general_information'] = "General Information"; | ||||||
| $lang['account_qso_page_options'] = "QSO Page Options"; | $lang['account_qso_logging_options'] = "QSO Logging Options"; | ||||||
| $lang['account_website_confirmation_account'] = "WebSite Confirmation Account"; | $lang['account_third_party_services'] = "Third Party Services"; | ||||||
| $lang['account_default_values'] = "Default Values"; | $lang['account_default_values'] = "Default Values"; | ||||||
| $lang['account_miscellaneous'] = "Miscellaneous"; | $lang['account_miscellaneous'] = "Miscellaneous"; | ||||||
|  | @ -123,7 +123,7 @@ $lang['account_map_qso_confirm'] = "QSO (confirmed)"; | ||||||
| $lang['account_map_qso_confirm_same_qso'] = "(If 'No', displayed as ".$lang['account_map_qso_by_default'].")"; | $lang['account_map_qso_confirm_same_qso'] = "(If 'No', displayed as ".$lang['account_map_qso_by_default'].")"; | ||||||
| 
 | 
 | ||||||
| $lang['account_general_information'] = "General Information"; | $lang['account_general_information'] = "General Information"; | ||||||
| $lang['account_qso_page_options'] = "QSO Page Options"; | $lang['account_qso_logging_options'] = "QSO Logging Options"; | ||||||
| $lang['account_website_confirmation_account'] = "WebSite Confirmation Account"; | $lang['account_third_party_services'] = "Third Party Services"; | ||||||
| $lang['account_default_values'] = "Default Values"; | $lang['account_default_values'] = "Default Values"; | ||||||
| $lang['account_miscellaneous'] = "Miscellaneous"; | $lang['account_miscellaneous'] = "Miscellaneous"; | ||||||
|  |  | ||||||
|  | @ -123,7 +123,7 @@ $lang['account_map_qso_confirm'] = "QSO (confirmed)"; | ||||||
| $lang['account_map_qso_confirm_same_qso'] = "(If 'No', displayed as ".$lang['account_map_qso_by_default'].")"; | $lang['account_map_qso_confirm_same_qso'] = "(If 'No', displayed as ".$lang['account_map_qso_by_default'].")"; | ||||||
| 
 | 
 | ||||||
| $lang['account_general_information'] = "General Information"; | $lang['account_general_information'] = "General Information"; | ||||||
| $lang['account_qso_page_options'] = "QSO Page Options"; | $lang['account_qso_logging_options'] = "QSO Logging Options"; | ||||||
| $lang['account_website_confirmation_account'] = "WebSite Confirmation Account"; | $lang['account_third_party_services'] = "Third Party Services"; | ||||||
| $lang['account_default_values'] = "Default Values"; | $lang['account_default_values'] = "Default Values"; | ||||||
| $lang['account_miscellaneous'] = "Miscellaneous"; | $lang['account_miscellaneous'] = "Miscellaneous"; | ||||||
|  | @ -123,7 +123,7 @@ $lang['account_map_qso_confirm'] = "QSO (confirmed)"; | ||||||
| $lang['account_map_qso_confirm_same_qso'] = "(If 'No', displayed as ".$lang['account_map_qso_by_default'].")"; | $lang['account_map_qso_confirm_same_qso'] = "(If 'No', displayed as ".$lang['account_map_qso_by_default'].")"; | ||||||
| 
 | 
 | ||||||
| $lang['account_general_information'] = "General Information"; | $lang['account_general_information'] = "General Information"; | ||||||
| $lang['account_qso_page_options'] = "QSO Page Options"; | $lang['account_qso_logging_options'] = "QSO Logging Options"; | ||||||
| $lang['account_website_confirmation_account'] = "WebSite Confirmation Account"; | $lang['account_third_party_services'] = "Third Party Services"; | ||||||
| $lang['account_default_values'] = "Default Values"; | $lang['account_default_values'] = "Default Values"; | ||||||
| $lang['account_miscellaneous'] = "Miscellaneous"; | $lang['account_miscellaneous'] = "Miscellaneous"; | ||||||
|  |  | ||||||
|  | @ -123,7 +123,7 @@ $lang['account_map_qso_confirm'] = "QSO (confirmed)"; | ||||||
| $lang['account_map_qso_confirm_same_qso'] = "(If 'No', displayed as ".$lang['account_map_qso_by_default'].")"; | $lang['account_map_qso_confirm_same_qso'] = "(If 'No', displayed as ".$lang['account_map_qso_by_default'].")"; | ||||||
| 
 | 
 | ||||||
| $lang['account_general_information'] = "General Information"; | $lang['account_general_information'] = "General Information"; | ||||||
| $lang['account_qso_page_options'] = "QSO Page Options"; | $lang['account_qso_logging_options'] = "QSO Logging Options"; | ||||||
| $lang['account_website_confirmation_account'] = "WebSite Confirmation Account"; | $lang['account_third_party_services'] = "Third Party Services"; | ||||||
| $lang['account_default_values'] = "Default Values"; | $lang['account_default_values'] = "Default Values"; | ||||||
| $lang['account_miscellaneous'] = "Miscellaneous"; | $lang['account_miscellaneous'] = "Miscellaneous"; | ||||||
|  | @ -121,7 +121,7 @@ $lang['account_map_qso_confirm'] = "QSO (confirmé)"; | ||||||
| $lang['account_map_qso_confirm_same_qso'] = "(Si 'Non', sera affiché comme ".$lang['account_map_qso_by_default'].")"; | $lang['account_map_qso_confirm_same_qso'] = "(Si 'Non', sera affiché comme ".$lang['account_map_qso_by_default'].")"; | ||||||
| 
 | 
 | ||||||
| $lang['account_general_information'] = "Informations Générales"; | $lang['account_general_information'] = "Informations Générales"; | ||||||
| $lang['account_qso_page_options'] = "Page QSO (Options)"; | $lang['account_qso_logging_options'] = "QSO Logging Options"; | ||||||
| $lang['account_website_confirmation_account'] = "Compte des sites de Confirmation"; | $lang['account_third_party_services'] = "Third Party Services"; | ||||||
| $lang['account_default_values'] = "Valeur par défaut"; | $lang['account_default_values'] = "Valeur par défaut"; | ||||||
| $lang['account_miscellaneous'] = "Divers"; | $lang['account_miscellaneous'] = "Divers"; | ||||||
|  | @ -16,7 +16,7 @@ $lang['account_account_information'] = 'Benutzerkonto Informationen'; | ||||||
| $lang['account_user'] = "Benutzer"; | $lang['account_user'] = "Benutzer"; | ||||||
| $lang['account_word_edited'] = "bearbeitet"; | $lang['account_word_edited'] = "bearbeitet"; | ||||||
| $lang['account_username'] = 'Benutzername'; | $lang['account_username'] = 'Benutzername'; | ||||||
| $lang['account_email_address'] = 'Emailadresse'; | $lang['account_email_address'] = 'E-Mail Adresse'; | ||||||
| $lang['account_password'] = 'Passwort'; | $lang['account_password'] = 'Passwort'; | ||||||
| 
 | 
 | ||||||
| $lang['account_roles'] = 'Rollen'; | $lang['account_roles'] = 'Rollen'; | ||||||
|  | @ -117,13 +117,13 @@ $lang['account_winkeyer'] = 'Winkeyer'; | ||||||
| $lang['account_winkeyer_hint'] = "Die Winkeyer Unterstützung in Cloudlog ist sehr experimentell. Lese zuerst den Wikieintrag auf <a href='https://github.com/magicbug/Cloudlog/wiki/Winkey' target='_blank'>https://github.com/magicbug/Cloudlog/wiki/Winkey</a> bevor du ihn einschaltest."; | $lang['account_winkeyer_hint'] = "Die Winkeyer Unterstützung in Cloudlog ist sehr experimentell. Lese zuerst den Wikieintrag auf <a href='https://github.com/magicbug/Cloudlog/wiki/Winkey' target='_blank'>https://github.com/magicbug/Cloudlog/wiki/Winkey</a> bevor du ihn einschaltest."; | ||||||
| $lang['account_winkeyer_enabled'] = "Winkeyer Features Eingeschaltet"; | $lang['account_winkeyer_enabled'] = "Winkeyer Features Eingeschaltet"; | ||||||
| 
 | 
 | ||||||
| $lang['account_map_params'] = "Map Settings"; | $lang['account_map_params'] = "Karten Einstellungen"; | ||||||
| $lang['account_map_qso_by_default'] = "QSO (by default)"; | $lang['account_map_qso_by_default'] = "QSO (standardmässig)"; | ||||||
| $lang['account_map_qso_confirm'] = "QSO (confirmed)"; | $lang['account_map_qso_confirm'] = "QSO (bestätigte)"; | ||||||
| $lang['account_map_qso_confirm_same_qso'] = "(If 'No', displayed as ".$lang['account_map_qso_by_default'].")"; | $lang['account_map_qso_confirm_same_qso'] = "(Falls 'Nein', wird '".$lang['account_map_qso_by_default']."' verwendet)"; | ||||||
| 
 | 
 | ||||||
| $lang['account_general_information'] = "General Information"; | $lang['account_general_information'] = "Generelle Informationen"; | ||||||
| $lang['account_qso_page_options'] = "QSO Page Options"; | $lang['account_qso_logging_options'] = "QSO-Logging Optionen"; | ||||||
| $lang['account_website_confirmation_account'] = "WebSite Confirmation Account"; | $lang['account_third_party_services'] = "Externe Dienste"; | ||||||
| $lang['account_default_values'] = "Default Values"; | $lang['account_default_values'] = "Standardwerte / Favoriten"; | ||||||
| $lang['account_miscellaneous'] = "Miscellaneous"; | $lang['account_miscellaneous'] = "Verschiedenes"; | ||||||
|  | @ -123,7 +123,7 @@ $lang['account_map_qso_confirm'] = "QSO (confirmed)"; | ||||||
| $lang['account_map_qso_confirm_same_qso'] = "(If 'No', displayed as ".$lang['account_map_qso_by_default'].")"; | $lang['account_map_qso_confirm_same_qso'] = "(If 'No', displayed as ".$lang['account_map_qso_by_default'].")"; | ||||||
| 
 | 
 | ||||||
| $lang['account_general_information'] = "General Information"; | $lang['account_general_information'] = "General Information"; | ||||||
| $lang['account_qso_page_options'] = "QSO Page Options"; | $lang['account_qso_logging_options'] = "QSO Logging Options"; | ||||||
| $lang['account_website_confirmation_account'] = "WebSite Confirmation Account"; | $lang['account_third_party_services'] = "Third Party Services"; | ||||||
| $lang['account_default_values'] = "Default Values"; | $lang['account_default_values'] = "Default Values"; | ||||||
| $lang['account_miscellaneous'] = "Miscellaneous"; | $lang['account_miscellaneous'] = "Miscellaneous"; | ||||||
|  | @ -123,7 +123,7 @@ $lang['account_map_qso_confirm'] = "QSO (confirmed)"; | ||||||
| $lang['account_map_qso_confirm_same_qso'] = "(If 'No', displayed as ".$lang['account_map_qso_by_default'].")"; | $lang['account_map_qso_confirm_same_qso'] = "(If 'No', displayed as ".$lang['account_map_qso_by_default'].")"; | ||||||
| 
 | 
 | ||||||
| $lang['account_general_information'] = "General Information"; | $lang['account_general_information'] = "General Information"; | ||||||
| $lang['account_qso_page_options'] = "QSO Page Options"; | $lang['account_qso_logging_options'] = "QSO Logging Options"; | ||||||
| $lang['account_website_confirmation_account'] = "WebSite Confirmation Account"; | $lang['account_third_party_services'] = "Third Party Services"; | ||||||
| $lang['account_default_values'] = "Default Values"; | $lang['account_default_values'] = "Default Values"; | ||||||
| $lang['account_miscellaneous'] = "Miscellaneous"; | $lang['account_miscellaneous'] = "Miscellaneous"; | ||||||
|  | @ -123,7 +123,7 @@ $lang['account_map_qso_confirm'] = "QSO (confirmed)"; | ||||||
| $lang['account_map_qso_confirm_same_qso'] = "(If 'No', displayed as ".$lang['account_map_qso_by_default'].")"; | $lang['account_map_qso_confirm_same_qso'] = "(If 'No', displayed as ".$lang['account_map_qso_by_default'].")"; | ||||||
| 
 | 
 | ||||||
| $lang['account_general_information'] = "General Information"; | $lang['account_general_information'] = "General Information"; | ||||||
| $lang['account_qso_page_options'] = "QSO Page Options"; | $lang['account_qso_logging_options'] = "QSO Logging Options"; | ||||||
| $lang['account_website_confirmation_account'] = "WebSite Confirmation Account"; | $lang['account_third_party_services'] = "Third Party Services"; | ||||||
| $lang['account_default_values'] = "Default Values"; | $lang['account_default_values'] = "Default Values"; | ||||||
| $lang['account_miscellaneous'] = "Miscellaneous"; | $lang['account_miscellaneous'] = "Miscellaneous"; | ||||||
|  | @ -123,7 +123,7 @@ $lang['account_map_qso_confirm'] = "QSO (confirmed)"; | ||||||
| $lang['account_map_qso_confirm_same_qso'] = "(If 'No', displayed as ".$lang['account_map_qso_by_default'].")"; | $lang['account_map_qso_confirm_same_qso'] = "(If 'No', displayed as ".$lang['account_map_qso_by_default'].")"; | ||||||
| 
 | 
 | ||||||
| $lang['account_general_information'] = "General Information"; | $lang['account_general_information'] = "General Information"; | ||||||
| $lang['account_qso_page_options'] = "QSO Page Options"; | $lang['account_qso_logging_options'] = "QSO Logging Options"; | ||||||
| $lang['account_website_confirmation_account'] = "WebSite Confirmation Account"; | $lang['account_third_party_services'] = "Third Party Services"; | ||||||
| $lang['account_default_values'] = "Default Values"; | $lang['account_default_values'] = "Default Values"; | ||||||
| $lang['account_miscellaneous'] = "Miscellaneous"; | $lang['account_miscellaneous'] = "Miscellaneous"; | ||||||
|  | @ -123,7 +123,7 @@ $lang['account_map_qso_confirm'] = "QSO (confirmed)"; | ||||||
| $lang['account_map_qso_confirm_same_qso'] = "(If 'No', displayed as ".$lang['account_map_qso_by_default'].")"; | $lang['account_map_qso_confirm_same_qso'] = "(If 'No', displayed as ".$lang['account_map_qso_by_default'].")"; | ||||||
| 
 | 
 | ||||||
| $lang['account_general_information'] = "General Information"; | $lang['account_general_information'] = "General Information"; | ||||||
| $lang['account_qso_page_options'] = "QSO Page Options"; | $lang['account_qso_logging_options'] = "QSO Logging Options"; | ||||||
| $lang['account_website_confirmation_account'] = "WebSite Confirmation Account"; | $lang['account_third_party_services'] = "Third Party Services"; | ||||||
| $lang['account_default_values'] = "Default Values"; | $lang['account_default_values'] = "Default Values"; | ||||||
| $lang['account_miscellaneous'] = "Miscellaneous"; | $lang['account_miscellaneous'] = "Miscellaneous"; | ||||||
|  | @ -123,7 +123,7 @@ $lang['account_map_qso_confirm'] = "QSO (confirmed)"; | ||||||
| $lang['account_map_qso_confirm_same_qso'] = "(If 'No', displayed as ".$lang['account_map_qso_by_default'].")"; | $lang['account_map_qso_confirm_same_qso'] = "(If 'No', displayed as ".$lang['account_map_qso_by_default'].")"; | ||||||
| 
 | 
 | ||||||
| $lang['account_general_information'] = "General Information"; | $lang['account_general_information'] = "General Information"; | ||||||
| $lang['account_qso_page_options'] = "QSO Page Options"; | $lang['account_qso_logging_options'] = "QSO Logging Options"; | ||||||
| $lang['account_website_confirmation_account'] = "WebSite Confirmation Account"; | $lang['account_third_party_services'] = "Third Party Services"; | ||||||
| $lang['account_default_values'] = "Default Values"; | $lang['account_default_values'] = "Default Values"; | ||||||
| $lang['account_miscellaneous'] = "Miscellaneous"; | $lang['account_miscellaneous'] = "Miscellaneous"; | ||||||
|  | @ -123,7 +123,7 @@ $lang['account_map_qso_confirm'] = "QSO (confirmed)"; | ||||||
| $lang['account_map_qso_confirm_same_qso'] = "(If 'No', displayed as ".$lang['account_map_qso_by_default'].")"; | $lang['account_map_qso_confirm_same_qso'] = "(If 'No', displayed as ".$lang['account_map_qso_by_default'].")"; | ||||||
| 
 | 
 | ||||||
| $lang['account_general_information'] = "General Information"; | $lang['account_general_information'] = "General Information"; | ||||||
| $lang['account_qso_page_options'] = "QSO Page Options"; | $lang['account_qso_logging_options'] = "QSO Logging Options"; | ||||||
| $lang['account_website_confirmation_account'] = "WebSite Confirmation Account"; | $lang['account_third_party_services'] = "Third Party Services"; | ||||||
| $lang['account_default_values'] = "Default Values"; | $lang['account_default_values'] = "Default Values"; | ||||||
| $lang['account_miscellaneous'] = "Miscellaneous"; | $lang['account_miscellaneous'] = "Miscellaneous"; | ||||||
|  | @ -0,0 +1,16 @@ | ||||||
|  | <?php | ||||||
|  | 
 | ||||||
|  | defined('BASEPATH') OR exit('No direct script access allowed'); | ||||||
|  | 
 | ||||||
|  | class Migration_dxcc_index extends CI_Migration { | ||||||
|  | 
 | ||||||
|  | 	public function up() { | ||||||
|  | 		$this->db->query("ALTER TABLE `dxcc_prefixes` ADD INDEX `idx_dxcc_prefixes_logic` (`call`, `start`, `end`)"); | ||||||
|  | 		$this->db->query("ALTER TABLE `dxcc_exceptions` ADD INDEX `idx_dxcc_exceptions_logic` (`call`, `start`, `end`)"); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	public function down(){ | ||||||
|  | 		$this->db->query("ALTER TABLE dxcc_prefixes DROP INDEX idx_dxcc_prefixes_logic"); | ||||||
|  | 		$this->db->query("ALTER TABLE dxcc_exceptions DROP INDEX idx_dxcc_exceptions_logic"); | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | @ -3077,6 +3077,16 @@ function lotw_last_qsl_date($user_id) { | ||||||
| 	  return '1900-01-01 00:00:00.000'; | 	  return '1900-01-01 00:00:00.000'; | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|  |   function import_bulk($records, $station_id = "0", $skipDuplicate = false, $markClublog = false, $markLotw = false, $dxccAdif = false, $markQrz = false, $markHrd = false,$skipexport = false, $operatorName = false, $apicall = false, $skipStationCheck = false) { | ||||||
|  | 	  $custom_errors=''; | ||||||
|  | 	  foreach ($records as $record) { | ||||||
|  | 		  $one_error = $this->logbook_model->import($record, $station_id, $skipDuplicate, $markClublog, $markLotw,$dxccAdif, $markQrz, $markHrd, $skipexport, $operatorName, $apicall, $skipStationCheck); | ||||||
|  | 		  if ($one_error != '') { | ||||||
|  | 			  $custom_errors.=$one_error."<br/>"; | ||||||
|  | 		  } | ||||||
|  | 	  } | ||||||
|  | 	  return $custom_errors; | ||||||
|  |   } | ||||||
|     /* |     /* | ||||||
|      * $skipDuplicate - used in ADIF import to skip duplicate checking when importing QSOs |      * $skipDuplicate - used in ADIF import to skip duplicate checking when importing QSOs | ||||||
|      * $markLoTW - used in ADIF import to mark QSOs as exported to LoTW when importing QSOs |      * $markLoTW - used in ADIF import to mark QSOs as exported to LoTW when importing QSOs | ||||||
|  | @ -3087,13 +3097,12 @@ function lotw_last_qsl_date($user_id) { | ||||||
|      */ |      */ | ||||||
| 	function import($record, $station_id = "0", $skipDuplicate = false, $markClublog = false, $markLotw = false, $dxccAdif = false, $markQrz = false, $markHrd = false,$skipexport = false, $operatorName = false, $apicall = false, $skipStationCheck = false) { | 	function import($record, $station_id = "0", $skipDuplicate = false, $markClublog = false, $markLotw = false, $dxccAdif = false, $markQrz = false, $markHrd = false,$skipexport = false, $operatorName = false, $apicall = false, $skipStationCheck = false) { | ||||||
|         // be sure that station belongs to user
 |         // be sure that station belongs to user
 | ||||||
|         $CI =& get_instance(); |         $this->load->model('stations'); | ||||||
|         $CI->load->model('stations'); |         if (!$this->stations->check_station_is_accessible($station_id) && $apicall == false ) { | ||||||
|         if (!$CI->stations->check_station_is_accessible($station_id) && $apicall == false ) { |  | ||||||
|             return 'Station not accessible<br>'; |             return 'Station not accessible<br>'; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
| 	$station_profile=$CI->stations->profile_clean($station_id); | 	$station_profile=$this->stations->profile_clean($station_id); | ||||||
| 	$station_profile_call=$station_profile->station_callsign; | 	$station_profile_call=$station_profile->station_callsign; | ||||||
| 
 | 
 | ||||||
| 	if (($station_id !=0 ) && (!(isset($record['station_callsign'])))) { | 	if (($station_id !=0 ) && (!(isset($record['station_callsign'])))) { | ||||||
|  | @ -3105,8 +3114,7 @@ function lotw_last_qsl_date($user_id) { | ||||||
|               "<br>See the <a target=\"_blank\" href=\"https://github.com/magicbug/Cloudlog/wiki/ADIF-file-can't-be-imported\">Cloudlog Wiki</a> for hints about errors in ADIF files."; |               "<br>See the <a target=\"_blank\" href=\"https://github.com/magicbug/Cloudlog/wiki/ADIF-file-can't-be-imported\">Cloudlog Wiki</a> for hints about errors in ADIF files."; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         $CI =& get_instance(); |         $this->load->library('frequency'); | ||||||
|         $CI->load->library('frequency'); |  | ||||||
|         $my_error = ""; |         $my_error = ""; | ||||||
| 
 | 
 | ||||||
|         // Join date+time
 |         // Join date+time
 | ||||||
|  | @ -3188,7 +3196,7 @@ function lotw_last_qsl_date($user_id) { | ||||||
|         } else { |         } else { | ||||||
|             if (isset($record['freq'])){ |             if (isset($record['freq'])){ | ||||||
|               if($freq != "0") { |               if($freq != "0") { | ||||||
|                 $band = $CI->frequency->GetBand($freq); |                 $band = $this->frequency->GetBand($freq); | ||||||
|               } |               } | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  | @ -3198,7 +3206,7 @@ function lotw_last_qsl_date($user_id) { | ||||||
|         } else { |         } else { | ||||||
|                 if (isset($record['freq_rx'])){ |                 if (isset($record['freq_rx'])){ | ||||||
|                   if($freq != "0") { |                   if($freq != "0") { | ||||||
|                     $band_rx = $CI->frequency->GetBand($freqRX); |                     $band_rx = $this->frequency->GetBand($freqRX); | ||||||
|                   } |                   } | ||||||
|                 } else { |                 } else { | ||||||
|                   $band_rx = ""; |                   $band_rx = ""; | ||||||
|  | @ -3424,9 +3432,8 @@ function lotw_last_qsl_date($user_id) { | ||||||
| 
 | 
 | ||||||
|         // Get active station_id from station profile if one hasn't been provided
 |         // Get active station_id from station profile if one hasn't been provided
 | ||||||
|         if($station_id == "" || $station_id == "0") { |         if($station_id == "" || $station_id == "0") { | ||||||
|           $CI =& get_instance(); |           $this->load->model('stations'); | ||||||
|           $CI->load->model('stations'); |           $station_id = $this->stations->find_active(); | ||||||
|           $station_id = $CI->stations->find_active(); |  | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         // Check if QSO is already in the database
 |         // Check if QSO is already in the database
 | ||||||
|  | @ -3682,10 +3689,9 @@ function lotw_last_qsl_date($user_id) { | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     function update_dok($record, $ignoreAmbiguous, $onlyConfirmed, $overwriteDok) { |     function update_dok($record, $ignoreAmbiguous, $onlyConfirmed, $overwriteDok) { | ||||||
|         $CI =& get_instance(); |         $this->load->model('logbooks_model'); | ||||||
|         $CI->load->model('logbooks_model'); |  | ||||||
|         $custom_date_format = $this->session->userdata('user_date_format'); |         $custom_date_format = $this->session->userdata('user_date_format'); | ||||||
|         $logbooks_locations_array = $CI->logbooks_model->list_logbook_relationships($this->session->userdata('active_station_logbook')); |         $logbooks_locations_array = $this->logbooks_model->list_logbook_relationships($this->session->userdata('active_station_logbook')); | ||||||
| 
 | 
 | ||||||
|         if(isset($record['call'])) { |         if(isset($record['call'])) { | ||||||
|                 $call = strtoupper($record['call']); |                 $call = strtoupper($record['call']); | ||||||
|  | @ -3702,7 +3708,7 @@ function lotw_last_qsl_date($user_id) { | ||||||
|         } else { |         } else { | ||||||
|             if (isset($record['freq'])){ |             if (isset($record['freq'])){ | ||||||
|               if($record['freq'] != "0") { |               if($record['freq'] != "0") { | ||||||
|                 $band = $CI->frequency->GetBand($record['freq']); |                 $band = $this->frequency->GetBand($record['freq']); | ||||||
|               } |               } | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  | @ -141,10 +141,10 @@ | ||||||
| 		<!-- ZONE 2 / Cloudlog --> | 		<!-- ZONE 2 / Cloudlog --> | ||||||
| 		<div class="accordion-item"> | 		<div class="accordion-item"> | ||||||
| 			<h2 class="accordion-header" id="panelsStayOpen-H_cloudlog_general"> | 			<h2 class="accordion-header" id="panelsStayOpen-H_cloudlog_general"> | ||||||
| 				<button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#panelsStayOpen-B_cloudlog_general" aria-expanded="true" aria-controls="panelsStayOpen-B_cloudlog_general"> | 				<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#panelsStayOpen-B_cloudlog_general" aria-expanded="false" aria-controls="panelsStayOpen-B_cloudlog_general"> | ||||||
| 				<?php echo lang('account_cloudlog_preferences'); ?></button>
 | 				<?php echo lang('account_cloudlog_preferences'); ?></button>
 | ||||||
| 			</h2> | 			</h2> | ||||||
| 			<div id="panelsStayOpen-B_cloudlog_general" class="accordion-collapse collapse show" aria-labelledby="panelsStayOpen-H_cloudlog_general"> | 			<div id="panelsStayOpen-B_cloudlog_general" class="accordion-collapse collapse" aria-labelledby="panelsStayOpen-H_cloudlog_general"> | ||||||
| 				<div class="accordion-body"> | 				<div class="accordion-body"> | ||||||
| 					<div class="row mb-3"> | 					<div class="row mb-3"> | ||||||
| 						<!-- Cloudlog Preferences --> | 						<!-- Cloudlog Preferences --> | ||||||
|  | @ -152,6 +152,18 @@ | ||||||
| 							<div class="card"> | 							<div class="card"> | ||||||
| 								<div class="card-header"><?php echo lang('general_word_general'); ?></div>
 | 								<div class="card-header"><?php echo lang('general_word_general'); ?></div>
 | ||||||
| 								<div class="card-body"> | 								<div class="card-body"> | ||||||
|  | 									<div class="mb-3"> | ||||||
|  | 										<label><?php echo lang('account_theme').' / '.lang('account_stylesheet'); ?></label>
 | ||||||
|  | 										<?php if(!isset($user_stylesheet)) { $user_stylesheet='default'; }?>
 | ||||||
|  | 										<select class="form-select" id="user_stylesheet" name="user_stylesheet" required> | ||||||
|  | 											<?php | ||||||
|  | 											foreach ($themes as $theme) { | ||||||
|  | 												echo '<option value="' . $theme->foldername . '" ' . (( $user_stylesheet == $theme->foldername)?'selected="selected"':"") . '>' . $theme->name . '</option>'; | ||||||
|  | 											} | ||||||
|  | 											?>
 | ||||||
|  | 										</select> | ||||||
|  | 									</div> | ||||||
|  | 									<hr/> | ||||||
| 									<?php if ($this->config->item('cl_multilanguage')) { ?>
 | 									<?php if ($this->config->item('cl_multilanguage')) { ?>
 | ||||||
| 										<div class="mb-3"> | 										<div class="mb-3"> | ||||||
| 											<label for="language"><?php echo lang('account_cloudlog_language'); ?></label>
 | 											<label for="language"><?php echo lang('account_cloudlog_language'); ?></label>
 | ||||||
|  | @ -201,19 +213,6 @@ | ||||||
| 										</select> | 										</select> | ||||||
| 										<small id="user_measurement_base_Help" class="form-text text-muted"><?php echo lang('account_choose_which_unit_distances_will_be_shown_in'); ?></small>
 | 										<small id="user_measurement_base_Help" class="form-text text-muted"><?php echo lang('account_choose_which_unit_distances_will_be_shown_in'); ?></small>
 | ||||||
| 									</div> | 									</div> | ||||||
| 									 |  | ||||||
| 									<hr/> |  | ||||||
| 									<div class="mb-3"> |  | ||||||
| 										<label><?php echo lang('account_theme').' / '.lang('account_stylesheet'); ?></label>
 |  | ||||||
| 										<?php if(!isset($user_stylesheet)) { $user_stylesheet='default'; }?>
 |  | ||||||
| 										<select class="form-select" id="user_stylesheet" name="user_stylesheet" required> |  | ||||||
| 											<?php |  | ||||||
| 											foreach ($themes as $theme) { |  | ||||||
| 												echo '<option value="' . $theme->foldername . '" ' . (( $user_stylesheet == $theme->foldername)?'selected="selected"':"") . '>' . $theme->name . '</option>'; |  | ||||||
| 											} |  | ||||||
| 											?>
 |  | ||||||
| 										</select> |  | ||||||
| 									</div> |  | ||||||
| 								</div> | 								</div> | ||||||
| 							</div> | 							</div> | ||||||
| 						</div> | 						</div> | ||||||
|  | @ -338,10 +337,10 @@ | ||||||
| 							</div> | 							</div> | ||||||
| 						</div> | 						</div> | ||||||
| 
 | 
 | ||||||
| 						<!-- QSO Page Options --> | 						<!-- QSO Logging Options --> | ||||||
| 						<div class="col-md"> | 						<div class="col-md"> | ||||||
| 							<div class="card"> | 							<div class="card"> | ||||||
| 								<div class="card-header"><?php echo lang('account_qso_page_options'); ?></div>
 | 								<div class="card-header"><?php echo lang('account_qso_logging_options'); ?></div>
 | ||||||
| 								<div class="card-body"> | 								<div class="card-body"> | ||||||
| 									<div class="mb-3"> | 									<div class="mb-3"> | ||||||
| 										<label for="logendtime"><?php echo lang('account_log_end_time'); ?></label>
 | 										<label for="logendtime"><?php echo lang('account_log_end_time'); ?></label>
 | ||||||
|  | @ -556,10 +555,10 @@ | ||||||
| 		<!-- ZONE 3 / Default Value --> | 		<!-- ZONE 3 / Default Value --> | ||||||
| 		<div class="accordion-item"> | 		<div class="accordion-item"> | ||||||
| 			<h2 class="accordion-header" id="panelsStayOpen-H_default_value"> | 			<h2 class="accordion-header" id="panelsStayOpen-H_default_value"> | ||||||
| 				<button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#panelsStayOpen-B_default_value" aria-expanded="true" aria-controls="panelsStayOpen-B_default_value"> | 				<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#panelsStayOpen-B_default_value" aria-expanded="false" aria-controls="panelsStayOpen-B_default_value"> | ||||||
| 					<?php echo lang('account_default_values');?></button>
 | 					<?php echo lang('account_default_values');?></button>
 | ||||||
| 			</h2> | 			</h2> | ||||||
| 			<div id="panelsStayOpen-B_default_value" class="accordion-collapse collapse show" aria-labelledby="panelsStayOpen-H_default_value"> | 			<div id="panelsStayOpen-B_default_value" class="accordion-collapse collapse" aria-labelledby="panelsStayOpen-H_default_value"> | ||||||
| 				<div class="accordion-body"> | 				<div class="accordion-body"> | ||||||
| 					<div class="row"> | 					<div class="row"> | ||||||
| 						<!-- Default --> | 						<!-- Default --> | ||||||
|  | @ -622,10 +621,10 @@ | ||||||
| 		<!-- ZONE 4 / Confirmation Account --> | 		<!-- ZONE 4 / Confirmation Account --> | ||||||
| 		<div class="accordion-item"> | 		<div class="accordion-item"> | ||||||
| 			<h2 class="accordion-header" id="panelsStayOpen-H_confirmation_account"> | 			<h2 class="accordion-header" id="panelsStayOpen-H_confirmation_account"> | ||||||
| 				<button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#panelsStayOpen-B_confirmation_account" aria-expanded="true" aria-controls="panelsStayOpen-B_confirmation_account"> | 				<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#panelsStayOpen-B_confirmation_account" aria-expanded="false" aria-controls="panelsStayOpen-B_confirmation_account"> | ||||||
| 				<?php echo lang('account_website_confirmation_account'); ?></button>
 | 				<?php echo lang('account_third_party_services'); ?></button>
 | ||||||
| 			</h2> | 			</h2> | ||||||
| 			<div id="panelsStayOpen-B_confirmation_account" class="accordion-collapse collapse show" aria-labelledby="panelsStayOpen-H_confirmation_account"> | 			<div id="panelsStayOpen-B_confirmation_account" class="accordion-collapse collapse" aria-labelledby="panelsStayOpen-H_confirmation_account"> | ||||||
| 				<div class="accordion-body"> | 				<div class="accordion-body"> | ||||||
| 					<div class="row"> | 					<div class="row"> | ||||||
| 						<!-- Logbook of the World --> | 						<!-- Logbook of the World --> | ||||||
|  | @ -710,10 +709,10 @@ | ||||||
| 		<!-- ZONE 5 / Miscellaneous --> | 		<!-- ZONE 5 / Miscellaneous --> | ||||||
| 		<div class="accordion-item"> | 		<div class="accordion-item"> | ||||||
| 			<h2 class="accordion-header" id="panelsStayOpen-H_miscellaneous"> | 			<h2 class="accordion-header" id="panelsStayOpen-H_miscellaneous"> | ||||||
| 				<button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#panelsStayOpen-B_miscellaneous" aria-expanded="true" aria-controls="panelsStayOpen-B_miscellaneous"> | 				<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#panelsStayOpen-B_miscellaneous" aria-expanded="false" aria-controls="panelsStayOpen-B_miscellaneous"> | ||||||
| 				<?php echo lang('account_miscellaneous');?></button>
 | 				<?php echo lang('account_miscellaneous');?></button>
 | ||||||
| 			</h2> | 			</h2> | ||||||
| 			<div id="panelsStayOpen-B_miscellaneous" class="accordion-collapse collapse show" aria-labelledby="panelsStayOpen-H_miscellaneous"> | 			<div id="panelsStayOpen-B_miscellaneous" class="accordion-collapse collapse" aria-labelledby="panelsStayOpen-H_miscellaneous"> | ||||||
| 				<div class="accordion-body"> | 				<div class="accordion-body"> | ||||||
| 					<div class="row"> | 					<div class="row"> | ||||||
| 						<!-- AMSAT Upload --> | 						<!-- AMSAT Upload --> | ||||||
|  |  | ||||||
|  | @ -5,6 +5,10 @@ | ||||||
| 	--cl-border-btn-pwd:#333; | 	--cl-border-btn-pwd:#333; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | .card-header { | ||||||
|  | 	color: white; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| .awardsBgDanger a { | .awardsBgDanger a { | ||||||
| 	color: white; | 	color: white; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -5,6 +5,10 @@ | ||||||
| 	--cl-border-btn-pwd:#333; | 	--cl-border-btn-pwd:#333; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | .card-header { | ||||||
|  | 	color: white; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| .awardsBgDanger a { | .awardsBgDanger a { | ||||||
| 	color: white; | 	color: white; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -333,7 +333,7 @@ TD.lotw { | ||||||
| *   Debug CSS | *   Debug CSS | ||||||
| */ | */ | ||||||
| 
 | 
 | ||||||
| .debug_main .card { | .card { | ||||||
| 	margin-bottom: 10px; | 	margin-bottom: 10px; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -745,6 +745,10 @@ table.dataTable tfoot td { | ||||||
| 	overflow-x: unset; | 	overflow-x: unset; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | label { | ||||||
|  | 	margin-bottom: 0.25rem; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| .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); | ||||||
| } | } | ||||||
|  | @ -581,7 +581,7 @@ function btn_pwd_showhide() { | ||||||
|         $(this).closest('div').find('.fa-eye-slash').removeClass('fa-eye-slash').addClass('fa-eye'); |         $(this).closest('div').find('.fa-eye-slash').removeClass('fa-eye-slash').addClass('fa-eye'); | ||||||
| 	} else { | 	} else { | ||||||
|         $(this).closest('div').find('input[type="text"]').attr('type','password'); |         $(this).closest('div').find('input[type="text"]').attr('type','password'); | ||||||
|         $(this).closest('div').find('.fa-eye').removeClass('Òfa-eye').addClass('fa-eye-slash'); |         $(this).closest('div').find('.fa-eye').removeClass('fa-eye').addClass('fa-eye-slash'); | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| $('.user_edit .btn-pwd-showhide').off('click').on('click', btn_pwd_showhide ); | $('.user_edit .btn-pwd-showhide').off('click').on('click', btn_pwd_showhide ); | ||||||
		正在加载…
	
		在新工单中引用