Merge pull request #251 from wavelog/dev

Release 1.4
This commit is contained in:
HB9HIL
2024-04-07 13:34:21 +02:00
committed by GitHub
191 changed files with 80882 additions and 2644 deletions

1
.gitignore vendored
View File

@@ -2,6 +2,7 @@
/application/config/config.php
/application/logs/*.php
/application/cache/*
/uploads
/uploads/*.adi
/uploads/*.ADI
/uploads/*.tq8

View File

@@ -22,7 +22,7 @@ $config['migration_enabled'] = TRUE;
|
*/
$config['migration_version'] = 188;
$config['migration_version'] = 191;
/*
|--------------------------------------------------------------------------

View File

@@ -139,6 +139,9 @@ class adif extends CI_Controller {
}
public function index() {
$this->load->model('contesting_model');
$data['contests']=$this->contesting_model->getActivecontests();
$this->load->model('stations');
$data['page_title'] = "ADIF Import / Export";
@@ -183,6 +186,7 @@ class adif extends CI_Controller {
$this->load->view('interface_assets/footer');
} else {
if ($this->stations->check_station_is_accessible($this->input->post('station_profile'))) {
$contest=$this->security->xss_clean($this->input->post('contest')) ?? '';
$stopnow=false;
$fdata = array('upload_data' => $this->upload->data());
ini_set('memory_limit', '-1');
@@ -222,6 +226,9 @@ class adif extends CI_Controller {
$alladif=[];
while($record = $this->adif_parser->get_record())
{
if ($contest != '') {
$record['contest_id']=$contest;
}
if(count($record) == 0) {
break;
};

View File

@@ -373,10 +373,12 @@ class Awards extends CI_Controller {
$searchphrase = str_replace('"', "", $this->security->xss_clean($this->input->post("Searchphrase")));
$band = str_replace('"', "", $this->security->xss_clean($this->input->post("Band")));
$mode = str_replace('"', "", $this->security->xss_clean($this->input->post("Mode")));
$sat = str_replace('"', "", $this->security->xss_clean($this->input->post("Sat")));
$orbit = str_replace('"', "", $this->security->xss_clean($this->input->post("Orbit")));
$type = $this->security->xss_clean($this->input->post('Type'));
$qsl = $this->input->post('QSL') == null ? '' : $this->security->xss_clean($this->input->post('QSL'));
$searchmode = $this->input->post('searchmode') == null ? '' : $this->security->xss_clean($this->input->post('searchmode'));
$data['results'] = $this->logbook_model->qso_details($searchphrase, $band, $mode, $type, $qsl, $searchmode);
$data['results'] = $this->logbook_model->qso_details($searchphrase, $band, $mode, $type, $qsl, $sat, $orbit, $searchmode);
// This is done because we have two different ways to get dxcc info in Wavelog. Once is using the name (in awards), and the other one is using the ADIF DXCC.
// We replace the values to make it look a bit nicer
@@ -402,7 +404,18 @@ class Awards extends CI_Controller {
// Render Page
$data['page_title'] = "Log View - " . $type;
$data['filter'] = $type . " " . $searchphrase . " and band ".$band . " and mode ".$mode;
$data['filter'] = $type." ".$searchphrase." and band ".$band;
if ($band == 'SAT') {
if ($sat != 'All' && $sat != null) {
$data['filter'] .= " and sat ".$sat;
}
if ($orbit != 'All' && $orbit != null) {
$data['filter'] .= " and orbit type ".$orbit;
}
}
if ($mode != null && strtolower($mode) != 'all') {
$data['filter'] .= " and mode ".$mode;
}
if (!empty($qsltype)) {
$data['filter'] .= " and ".implode('/', $qsltype);
}

View File

@@ -44,14 +44,13 @@ class Bandmap extends CI_Controller {
'assets/js/sections/bandmap_list.js'
];
$CI =& get_instance();
// Get Date format
if($CI->session->userdata('user_date_format')) {
if($this->session->userdata('user_date_format')) {
// If Logged in and session exists
$pageData['custom_date_format'] = $CI->session->userdata('user_date_format');
$pageData['custom_date_format'] = $this->session->userdata('user_date_format');
} else {
// Get Default date format from /config/wavelog.php
$pageData['custom_date_format'] = $CI->config->item('qso_date_format');
$pageData['custom_date_format'] = $this->config->item('qso_date_format');
}
switch ($pageData['custom_date_format']) {

View File

@@ -2,176 +2,207 @@
class Debug extends CI_Controller
{
function __construct()
{
parent::__construct();
function __construct() {
parent::__construct();
$this->load->model('user_model');
if (!$this->user_model->authorize(2)) {
$this->session->set_flashdata('notice', 'You\'re not allowed to do that!');
redirect('dashboard');
}
$this->load->model('user_model');
if (!$this->user_model->authorize(2)) {
$this->session->set_flashdata('notice', 'You\'re not allowed to do that!');
redirect('dashboard');
}
$this->load->library('Permissions');
}
$this->load->library('Permissions');
}
/* User Facing Links to Backup URLs */
public function index()
{
$this->load->helper('file');
/* User Facing Links to Backup URLs */
public function index() {
$this->load->helper('file');
$this->load->model('MigrationVersion');
$this->load->model('Logbook_model');
$this->load->model('Stations');
$this->load->model('MigrationVersion');
$this->load->model('Logbook_model');
$this->load->model('Stations');
$footerData = [];
$footerData['scripts'] = ['assets/js/sections/debug.js'];
$footerData = [];
$footerData['scripts'] = ['assets/js/sections/debug.js'];
$data['stations'] = $this->Stations->all();
$data['stations'] = $this->Stations->all();
$data['qsos_with_no_station_id'] = $this->Logbook_model->check_for_station_id();
if ($data['qsos_with_no_station_id']) {
$data['calls_wo_sid'] = $this->Logbook_model->calls_without_station_id();
}
$data['qsos_with_no_station_id'] = $this->Logbook_model->check_for_station_id();
if ($data['qsos_with_no_station_id']) {
$data['calls_wo_sid'] = $this->Logbook_model->calls_without_station_id();
}
$data['migration_version'] = $this->MigrationVersion->getMigrationVersion();
$data['migration_version'] = $this->MigrationVersion->getMigrationVersion();
// Test writing to backup folder
$backup_folder = $this->permissions->is_really_writable('backup');
$data['backup_folder'] = $backup_folder;
// Test writing to backup folder
$backup_folder = $this->permissions->is_really_writable('backup');
$data['backup_folder'] = $backup_folder;
// Test writing to updates folder
$updates_folder = $this->permissions->is_really_writable('updates');
$data['updates_folder'] = $updates_folder;
// Test writing to updates folder
$updates_folder = $this->permissions->is_really_writable('updates');
$data['updates_folder'] = $updates_folder;
// Test writing to uploads folder
$uploads_folder = $this->permissions->is_really_writable('uploads');
$data['uploads_folder'] = $uploads_folder;
// Test writing to uploads folder
$uploads_folder = $this->permissions->is_really_writable('uploads');
$data['uploads_folder'] = $uploads_folder;
// Check if userdata config is enabled
$userdata_enabled = $this->config->item('userdata');
$data['userdata_enabled'] = $userdata_enabled;
// Check if userdata config is enabled
$userdata_enabled = $this->config->item('userdata');
$data['userdata_enabled'] = $userdata_enabled;
if (isset($userdata_enabled)) {
// Test writing to userdata folder if option is enabled
$userdata_folder = $this->permissions->is_really_writable('userdata');
$data['userdata_folder'] = $userdata_folder;
if (isset($userdata_enabled)) {
// Test writing to userdata folder if option is enabled
$userdata_folder = $this->permissions->is_really_writable('userdata');
$data['userdata_folder'] = $userdata_folder;
// run the status check and return the array to the view
$userdata_status = $this->check_userdata_status($userdata_folder);
$data['userdata_status'] = $userdata_status;
}
// run the status check and return the array to the view
$userdata_status = $this->check_userdata_status($userdata_folder);
$data['userdata_status'] = $userdata_status;
}
$data['page_title'] = "Debug";
$data['page_title'] = "Debug";
$this->load->view('interface_assets/header', $data);
$this->load->view('debug/index');
$this->load->view('interface_assets/footer', $footerData);
}
$this->load->view('interface_assets/header', $data);
$this->load->view('debug/index');
$this->load->view('interface_assets/footer', $footerData);
}
function check_userdata_status($userdata_folder)
{
$this->load->model('debug_model');
$status = array();
function check_userdata_status($userdata_folder) {
$this->load->model('debug_model');
// Check if the folder is writable
if ($userdata_folder === true) {
$status = array();
// Check if the qsl and eqsl folders are accessible and if there is any data the user could migrate
$qsl_dir = $this->permissions->is_really_writable('assets/qslcard');
$eqsl_dir = $this->permissions->is_really_writable('images/eqsl_card_images');
// Check if the folder is writable
if ($userdata_folder === true) {
$flag_file = $this->debug_model->check_migrated_flag();
// Check if the qsl and eqsl folders are accessible and if there is any data the user could migrate
$qsl_dir = $this->permissions->is_really_writable('assets/qslcard');
$eqsl_dir = $this->permissions->is_really_writable('images/eqsl_card_images');
if ($qsl_dir && $eqsl_dir) {
$flag_file = $this->debug_model->check_migrated_flag();
// Check for content of the qsl card folder other than *.html files
$qsl_files = glob('assets/qslcard/*');
$qsl_files_filtered = array_filter($qsl_files, function ($file) {
return !is_dir($file) && pathinfo($file, PATHINFO_EXTENSION) !== 'html';
});
if ($qsl_dir && $eqsl_dir) {
// Check for content of the eqsl card folder other than *.html files
$eqsl_files = glob('images/eqsl_card_images/*');
$eqsl_files_filtered = array_filter($eqsl_files, function ($file) {
return !is_dir($file) && pathinfo($file, PATHINFO_EXTENSION) !== 'html';
});
// Check for content of the qsl card folder other than *.html files
$qsl_files = glob('assets/qslcard/*');
$qsl_files_filtered = array_filter($qsl_files, function ($file) {
return !is_dir($file) && pathinfo($file, PATHINFO_EXTENSION) !== 'html';
});
// Set the status info
if (!empty($qsl_files_filtered) || !empty($eqsl_files_filtered)) {
if (!$flag_file) {
$status['btn_class'] = '';
$status['btn_text'] = 'Migrate data now';
} else {
$status['btn_class'] = '';
$status['btn_text'] = 'Migration already done. Run again?';
}
} else {
$status['btn_class'] = 'disabled';
$status['btn_text'] = 'No data to migrate';
}
} else {
$status['btn_class'] = 'disabled';
$status['btn_text'] = 'No migration possible';
}
} else {
// If the folder is not writable, we don't need to continue
$status['btn_class'] = 'disabled';
$status['btn_text'] = 'No migration possible';
}
// Check for content of the eqsl card folder other than *.html files
$eqsl_files = glob('images/eqsl_card_images/*');
$eqsl_files_filtered = array_filter($eqsl_files, function ($file) {
return !is_dir($file) && pathinfo($file, PATHINFO_EXTENSION) !== 'html';
});
return $status;
}
// Set the status info
if (!empty($qsl_files_filtered) || !empty($eqsl_files_filtered)) {
if (!$flag_file) {
$status['btn_class'] = '';
$status['btn_text'] = 'Migrate data now';
} else {
$status['btn_class'] = '';
$status['btn_text'] = 'Migration already done. Run again?';
}
} else {
$status['btn_class'] = 'disabled';
$status['btn_text'] = 'No data to migrate';
}
} else {
$status['btn_class'] = 'disabled';
$status['btn_text'] = 'No migration possible';
}
} else {
// If the folder is not writable, we don't need to continue
$status['btn_class'] = 'disabled';
$status['btn_text'] = 'No migration possible';
}
public function reassign()
{
$this->load->model('Logbook_model');
$this->load->model('Stations');
return $status;
}
$call = xss_clean(($this->input->post('call')));
$qsoids = xss_clean(($this->input->post('qsoids')));
$station_profile_id = xss_clean(($this->input->post('station_id')));
public function reassign() {
$this->load->model('Logbook_model');
$this->load->model('Stations');
log_message('debug', 'station_profile_id:', $station_profile_id);
// Check if target-station-id exists
$allowed = false;
$status = false;
$stations = $this->Stations->all();
foreach ($stations->result() as $station) {
if ($station->station_id == $station_profile_id) {
$allowed = true;
}
}
if ($allowed) {
$status = $this->Logbook_model->update_station_ids($station_profile_id, $call, $qsoids);
} else {
$status = false;
}
$call = xss_clean(($this->input->post('call')));
$qsoids = xss_clean(($this->input->post('qsoids')));
$station_profile_id = xss_clean(($this->input->post('station_id')));
header('Content-Type: application/json');
echo json_encode(array('status' => $status));
return;
}
log_message('debug', 'station_profile_id:', $station_profile_id);
// Check if target-station-id exists
$allowed = false;
$status = false;
$stations = $this->Stations->all();
foreach ($stations->result() as $station) {
if ($station->station_id == $station_profile_id) {
$allowed = true;
}
}
if ($allowed) {
$status = $this->Logbook_model->update_station_ids($station_profile_id, $call, $qsoids);
} else {
$status = false;
}
public function migrate_userdata()
{
// Check if users logged in
$this->load->model('user_model');
if ($this->user_model->validate_session() == 0) {
// user is not logged in
redirect('user/login');
} else {
$this->load->model('debug_model');
$migrate = $this->debug_model->migrate_userdata();
header('Content-Type: application/json');
echo json_encode(array('status' => $status));
return;
}
if ($migrate == true) {
$this->session->set_flashdata('success', 'File Migration was successfull, but please check also manually. If everything seems right you can delete the folders "assets/qslcard" and "images/eqsl_card_images".');
redirect('debug');
} else {
$this->session->set_flashdata('error', 'File Migration failed. Please check the Error Log.');
redirect('debug');
}
}
}
public function selfupdate() {
if (file_exists('.git')) {
try {
$st=exec('touch '.realpath(APPPATH.'../').'/.maintenance');
$st=exec('git stash push --include-untracked');
$st=exec('git fetch');
$st=exec('git pull');
$st=exec('git stash pop');
$st=exec('rm '.realpath(APPPATH.'../').'/.maintenance');
} catch (\Throwable $th) {
log_message("Error","Error at selfupdating");
}
}
redirect('debug');
}
public function wavelog_fetch() {
$a_versions=[];
try {
$st=exec('git fetch'); // Fetch latest things from Repo. ONLY Fetch. Doesn't hurt since it isn't a pull!
$versions['branch'] = trim(exec('git rev-parse --abbrev-ref HEAD')); // Get ONLY Name of the Branch we're on
$versions['latest_commit_hash']=substr(trim(exec('git log --pretty="%H" -n1 origin'.'/'.$versions['branch'])),0,8); // fetch latest commit-hash from repo
} catch (Exception $e) {
$versions['latest_commit_hash']='';
$versions['branch']='';
}
header('Content-Type: application/json');
echo json_encode($versions);
}
public function wavelog_version() {
$commit_hash=substr(trim(exec('git log --pretty="%H" -n1 HEAD')),0,8); // Get latest LOCAL Hash
header('Content-Type: application/json');
echo json_encode($commit_hash);
}
public function migrate_userdata() {
// Check if users logged in
$this->load->model('user_model');
if ($this->user_model->validate_session() == 0) {
// user is not logged in
redirect('user/login');
} else {
$this->load->model('debug_model');
$migrate = $this->debug_model->migrate_userdata();
if ($migrate == true) {
$this->session->set_flashdata('success', 'File Migration was successfull, but please check also manually. If everything seems right you can delete the folders "assets/qslcard" and "images/eqsl_card_images".');
redirect('debug');
} else {
$this->session->set_flashdata('error', 'File Migration failed. Please check the Error Log.');
redirect('debug');
}
}
}
}

View File

@@ -16,8 +16,9 @@ class Gridmap extends CI_Controller {
$data['visitor'] = false;
$data['homegrid'] = explode(',', $this->stations->find_gridsquare());
$data['modes'] = $this->gridmap_model->get_worked_modes();
$data['modes'] = $this->gridmap_model->get_worked_modes();
$data['bands'] = $this->bands->get_worked_bands();
$data['orbits'] = $this->bands->get_worked_orbits();
$data['sats_available'] = $this->bands->get_worked_sats();
$data['user_default_band'] = $this->session->userdata('user_default_band');
@@ -45,13 +46,14 @@ class Gridmap extends CI_Controller {
}
public function getGridsjs() {
$band = $this->security->xss_clean($this->input->post('band'));
$mode = $this->security->xss_clean($this->input->post('mode'));
$qsl = $this->security->xss_clean($this->input->post('qsl'));
$lotw = $this->security->xss_clean($this->input->post('lotw'));
$eqsl = $this->security->xss_clean($this->input->post('eqsl'));
$qrz = $this->security->xss_clean($this->input->post('qrz'));
$band = $this->security->xss_clean($this->input->post('band'));
$mode = $this->security->xss_clean($this->input->post('mode'));
$qsl = $this->security->xss_clean($this->input->post('qsl'));
$lotw = $this->security->xss_clean($this->input->post('lotw'));
$eqsl = $this->security->xss_clean($this->input->post('eqsl'));
$qrz = $this->security->xss_clean($this->input->post('qrz'));
$sat = $this->security->xss_clean($this->input->post('sat'));
$orbit = $this->security->xss_clean($this->input->post('orbit'));
$this->load->model('gridmap_model');
$array_grid_2char = array();
@@ -70,7 +72,7 @@ class Gridmap extends CI_Controller {
$grid_4char_confirmed = "";
$grid_6char_confirmed = "";
$query = $this->gridmap_model->get_band_confirmed($band, $mode, $qsl, $lotw, $eqsl, $qrz, $sat);
$query = $this->gridmap_model->get_band_confirmed($band, $mode, $qsl, $lotw, $eqsl, $qrz, $sat, $orbit);
if ($query && $query->num_rows() > 0) {
foreach ($query->result() as $row) {
@@ -97,7 +99,7 @@ class Gridmap extends CI_Controller {
}
}
$query = $this->gridmap_model->get_band($band, $mode, $qsl, $lotw, $eqsl, $qrz, $sat);
$query = $this->gridmap_model->get_band($band, $mode, $qsl, $lotw, $eqsl, $qrz, $sat, $orbit);
if ($query && $query->num_rows() > 0) {
foreach ($query->result() as $row) {
@@ -124,7 +126,7 @@ class Gridmap extends CI_Controller {
}
}
}
$query_vucc = $this->gridmap_model->get_band_worked_vucc_squares($band, $mode, $qsl, $lotw, $eqsl, $qrz, $sat);
$query_vucc = $this->gridmap_model->get_band_worked_vucc_squares($band, $mode, $qsl, $lotw, $eqsl, $qrz, $sat, $orbit);
if ($query_vucc && $query_vucc->num_rows() > 0) {
foreach ($query_vucc->result() as $row) {
@@ -149,7 +151,7 @@ class Gridmap extends CI_Controller {
}
// // Confirmed Squares
$query_vucc = $this->gridmap_model->get_band_confirmed_vucc_squares($band, $mode, $qsl, $lotw, $eqsl, $qrz, $sat);
$query_vucc = $this->gridmap_model->get_band_confirmed_vucc_squares($band, $mode, $qsl, $lotw, $eqsl, $qrz, $sat, $orbit);
if ($query_vucc && $query_vucc->num_rows() > 0) {
foreach ($query_vucc->result() as $row) {

View File

@@ -143,10 +143,11 @@ class Labels extends CI_Controller {
$offset = xss_clean($this->input->post('startat'));
$grid = $this->input->post('grid') === "true" ? 1 : 0;
$via = $this->input->post('via') === "true" ? 1 : 0;
$reference = $this->input->post('reference') == "true" ? 1 : 0;
$this->load->model('labels_model');
$result = $this->labels_model->export_printrequestedids($ids);
$this->prepareLabel($result, true, $offset, $grid, $via);
$this->prepareLabel($result, true, $offset, $grid, $via, $reference);
}
public function print($station_id) {
@@ -154,18 +155,19 @@ class Labels extends CI_Controller {
$offset = xss_clean($this->input->post('startat'));
$grid = xss_clean($this->input->post('grid') ?? 0);
$via = xss_clean($this->input->post('via') ?? 0);
$reference = xss_clean($this->input->post('reference') ?? 0);
$this->load->model('stations');
if ($this->stations->check_station_is_accessible($station_id)) {
$this->load->model('labels_model');
$result = $this->labels_model->export_printrequested($clean_id);
$this->prepareLabel($result, false, $offset, $grid, $via);
$this->prepareLabel($result, false, $offset, $grid, $via, $reference);
} else {
redirect('labels');
}
}
function prepareLabel($qsos, $jscall = false, $offset = 1, $grid = false, $via = false) {
function prepareLabel($qsos, $jscall = false, $offset = 1, $grid = false, $via = false, $reference = false) {
$this->load->model('labels_model');
$label = $this->labels_model->getDefaultLabel();
@@ -241,9 +243,9 @@ class Labels extends CI_Controller {
if ($qsos->num_rows() > 0) {
if ($label->qsos == 1) {
$this->makeMultiQsoLabel($qsos->result(), $pdf, 1, $offset, $ptype->orientation, $grid, $via);
$this->makeMultiQsoLabel($qsos->result(), $pdf, 1, $offset, $ptype->orientation, $grid, $via, $reference);
} else {
$this->makeMultiQsoLabel($qsos->result(), $pdf, $label->qsos, $offset, $ptype->orientation, $grid, $via);
$this->makeMultiQsoLabel($qsos->result(), $pdf, $label->qsos, $offset, $ptype->orientation, $grid, $via, $reference);
}
} else {
$this->session->set_flashdata('message', '0 QSOs found for print!');
@@ -252,7 +254,7 @@ class Labels extends CI_Controller {
$pdf->Output();
}
function makeMultiQsoLabel($qsos, $pdf, $numberofqsos, $offset, $orientation, $grid, $via) {
function makeMultiQsoLabel($qsos, $pdf, $numberofqsos, $offset, $orientation, $grid, $via, $reference) {
$text = '';
$current_callsign = '';
$current_sat = '';
@@ -269,7 +271,7 @@ class Labels extends CI_Controller {
( ($qso->COL_BAND_RX !== $current_sat_bandrx) && ($this->pretty_sat_mode($qso->COL_SAT_MODE) !== '')) ) {
// ((($qso->COL_SAT_NAME ?? '' !== $current_sat) || ($qso->COL_CALL !== $current_callsign)) && ($qso->COL_SAT_NAME ?? '' !== '') && ($col->COL_BAND_RX ?? '' !== $current_sat_bandrx))) {
if (!empty($qso_data)) {
$this->finalizeData($pdf, $current_callsign, $qso_data, $numberofqsos, $orientation, $grid, $via);
$this->finalizeData($pdf, $current_callsign, $qso_data, $numberofqsos, $orientation, $grid, $via, $reference);
$qso_data = [];
}
$current_callsign = $qso->COL_CALL;
@@ -281,7 +283,7 @@ class Labels extends CI_Controller {
$qso_data[] = [
'time' => $qso->COL_TIME_ON,
'band' => $qso->COL_BAND,
'mode' => ($qso->COL_SUBMODE ?? $qso->COL_MODE),
'mode' => (($qso->COL_SUBMODE ?? '') == '') ? $qso->COL_MODE : $qso->COL_SUBMODE,
'rst' => $qso->COL_RST_SENT,
'mygrid' => $qso->station_gridsquare,
'via' => $qso->COL_QSL_VIA,
@@ -289,11 +291,17 @@ class Labels extends CI_Controller {
'sat_mode' => $this->pretty_sat_mode($qso->COL_SAT_MODE ?? ''),
'sat_band_rx' => ($qso->COL_BAND_RX ?? ''),
'qsl_recvd' => $qso->COL_QSL_RCVD,
'mycall' => $qso->COL_STATION_CALLSIGN
'mycall' => $qso->COL_STATION_CALLSIGN,
'sig' => $qso->station_sig ?? '',
'sig_info' => $qso->station_sig_info ?? '',
'sota' => $qso->station_sota ?? '',
'iota' => $qso->station_iota ?? '',
'pota' => $qso->station_pota ?? '',
'wwff' => $qso->station_wwff ?? ''
];
}
if (!empty($qso_data)) {
$this->finalizeData($pdf, $current_callsign, $qso_data, $numberofqsos, $orientation, $grid, $via);
$this->finalizeData($pdf, $current_callsign, $qso_data, $numberofqsos, $orientation, $grid, $via, $reference);
}
}
// New begin
@@ -301,7 +309,7 @@ class Labels extends CI_Controller {
return(strlen($sat_mode ?? '') == 2 ? (strtoupper($sat_mode[0]).'/'.strtoupper($sat_mode[1])) : strtoupper($sat_mode ?? ''));
}
function finalizeData($pdf, $current_callsign, &$preliminaryData, $qso_per_label,$orientation, $grid, $via) {
function finalizeData($pdf, $current_callsign, &$preliminaryData, $qso_per_label,$orientation, $grid, $via, $reference) {
$tableData = [];
$count_qso = 0;
@@ -321,7 +329,7 @@ class Labels extends CI_Controller {
if($count_qso == $qso_per_label){
$this->generateLabel($pdf, $current_callsign, $tableData,$count_qso,$qso,$orientation, $grid, $via);
$this->generateLabel($pdf, $current_callsign, $tableData,$count_qso,$qso,$orientation, $grid, $via, $reference);
$tableData = []; // reset the data
$count_qso = 0; // reset the counter
}
@@ -329,12 +337,12 @@ class Labels extends CI_Controller {
}
// generate label for remaining QSOs
if($count_qso > 0){
$this->generateLabel($pdf, $current_callsign, $tableData,$count_qso,$qso,$orientation, $grid, $via);
$this->generateLabel($pdf, $current_callsign, $tableData,$count_qso,$qso,$orientation, $grid, $via, $reference);
$preliminaryData = []; // reset the data
}
}
function generateLabel($pdf, $current_callsign, $tableData,$numofqsos,$qso,$orientation,$grid=true, $via=false){
function generateLabel($pdf, $current_callsign, $tableData,$numofqsos,$qso,$orientation,$grid=true, $via=false, $reference = false){
$builder = new \AsciiTable\Builder();
$builder->addRows($tableData);
$text = "Confirming QSO".($numofqsos>1 ? 's' : '')." with ";
@@ -355,10 +363,19 @@ class Labels extends CI_Controller {
}
$text.="\n";
if ($grid) { $text .= "My call: ".$qso['mycall']." Grid: ".$qso['mygrid']."\n"; }
if ($reference) {
$ref_text = "";
$ref_avail = false;
if (!empty($qso['sig']) && !empty($qso['sig_info'])) { $ref_text .= $qso['sig'].":".$qso['sig_info']." "; $ref_avail = true;}
if (!empty($qso['sota'])) { $ref_text .= "SOTA:".$qso['sota']." "; $ref_avail = true;}
if (!empty($qso['iota'])) { $ref_text .= "IOTA:".$qso['iota']." "; $ref_avail = true;}
if (!empty($qso['pota'])) { $ref_text .= "POTA:".$qso['pota']." "; $ref_avail = true;}
if (!empty($qso['wwff'])) { $ref_text .= "WWFF:".$qso['wwff']; $ref_avail = true;}
if ($ref_avail == true) {$text .= $ref_text."\n";}
}
$text .= "Thanks for the QSO".($numofqsos>1 ? 's' : '');
$text .= " | ".($qso['qsl_recvd'] == 'Y' ? 'TNX' : 'PSE')." QSL";
$pdf->Add_Label($text,$orientation);
}
$pdf->Add_Label($text,$orientation); }
// New End

View File

@@ -635,7 +635,7 @@ class Logbook extends CI_Controller {
$html = "";
if(!empty($logbooks_locations_array)) {
$this->db->select(''.$this->config->item('table_name').'.COL_CALL, '.$this->config->item('table_name').'.COL_BAND, '.$this->config->item('table_name').'.COL_FREQ, '.$this->config->item('table_name').'.COL_TIME_ON, '.$this->config->item('table_name').'.COL_RST_RCVD, '.$this->config->item('table_name').'.COL_RST_SENT, '.$this->config->item('table_name').'.COL_MODE, '.$this->config->item('table_name').'.COL_SUBMODE, '.$this->config->item('table_name').'.COL_PRIMARY_KEY, '.$this->config->item('table_name').'.COL_SAT_NAME, '.$this->config->item('table_name').'.COL_GRIDSQUARE, '.$this->config->item('table_name').'.COL_QSL_RCVD, '.$this->config->item('table_name').'.COL_EQSL_QSL_RCVD, '.$this->config->item('table_name').'.COL_EQSL_QSL_SENT, '.$this->config->item('table_name').'.COL_QSL_SENT, '.$this->config->item('table_name').'.COL_STX, '.$this->config->item('table_name').'.COL_STX_STRING, '.$this->config->item('table_name').'.COL_SRX, '.$this->config->item('table_name').'.COL_SRX_STRING, '.$this->config->item('table_name').'.COL_LOTW_QSL_SENT, '.$this->config->item('table_name').'.COL_LOTW_QSL_RCVD, '.$this->config->item('table_name').'.COL_VUCC_GRIDS, '.$this->config->item('table_name').'.COL_MY_GRIDSQUARE, '.$this->config->item('table_name').'.COL_CONTEST_ID, '.$this->config->item('table_name').'.COL_STATE, '.$this->config->item('table_name').'.COL_QRZCOM_QSO_UPLOAD_STATUS, '.$this->config->item('table_name').'.COL_QRZCOM_QSO_DOWNLOAD_STATUS, station_profile.*');
$this->db->select(''.$this->config->item('table_name').'.COL_CALL, '.$this->config->item('table_name').'.COL_BAND, '.$this->config->item('table_name').'.COL_FREQ, '.$this->config->item('table_name').'.COL_TIME_ON, '.$this->config->item('table_name').'.COL_RST_RCVD, '.$this->config->item('table_name').'.COL_RST_SENT, '.$this->config->item('table_name').'.COL_MODE, '.$this->config->item('table_name').'.COL_SUBMODE, '.$this->config->item('table_name').'.COL_PRIMARY_KEY, '.$this->config->item('table_name').'.COL_SAT_NAME, '.$this->config->item('table_name').'.COL_GRIDSQUARE, '.$this->config->item('table_name').'.COL_QSL_RCVD, '.$this->config->item('table_name').'.COL_EQSL_QSL_RCVD, '.$this->config->item('table_name').'.COL_EQSL_QSL_SENT, '.$this->config->item('table_name').'.COL_QSL_SENT, '.$this->config->item('table_name').'.COL_STX, '.$this->config->item('table_name').'.COL_STX_STRING, '.$this->config->item('table_name').'.COL_SRX, '.$this->config->item('table_name').'.COL_SRX_STRING, '.$this->config->item('table_name').'.COL_LOTW_QSL_SENT, '.$this->config->item('table_name').'.COL_LOTW_QSL_RCVD, '.$this->config->item('table_name').'.COL_VUCC_GRIDS, '.$this->config->item('table_name').'.COL_MY_GRIDSQUARE, '.$this->config->item('table_name').'.COL_CONTEST_ID, '.$this->config->item('table_name').'.COL_STATE, '.$this->config->item('table_name').'.COL_QRZCOM_QSO_UPLOAD_STATUS, '.$this->config->item('table_name').'.COL_QRZCOM_QSO_DOWNLOAD_STATUS, '.$this->config->item('table_name').'.COL_POTA_REF, '.$this->config->item('table_name').'.COL_IOTA, '.$this->config->item('table_name').'.COL_SOTA_REF, '.$this->config->item('table_name').'.COL_WWFF_REF, '.$this->config->item('table_name').'.COL_OPERATOR, '.$this->config->item('table_name').'.COL_COUNTRY, station_profile.*');
$this->db->from($this->config->item('table_name'));
$this->db->join('station_profile', 'station_profile.station_id = '.$this->config->item('table_name').'.station_id');
@@ -1289,7 +1289,7 @@ class Logbook extends CI_Controller {
case 'Mode': $ret.= '<td>'; $ret.= $row->COL_SUBMODE==null?$row->COL_MODE:$row->COL_SUBMODE . '</td>'; break;
case 'RSTS': $ret.= '<td class="d-none d-sm-table-cell">' . $row->COL_RST_SENT; if ($row->COL_STX) { $ret.= ' <span data-bs-toggle="tooltip" title="'.($row->COL_CONTEST_ID!=""?$row->COL_CONTEST_ID:"n/a").'" class="badge text-bg-light">'; $ret.=sprintf("%03d", $row->COL_STX); $ret.= '</span>';} if ($row->COL_STX_STRING) { $ret.= ' <span data-bs-toggle="tooltip" title="'.($row->COL_CONTEST_ID!=""?$row->COL_CONTEST_ID:"n/a").'" class="badge text-bg-light">' . $row->COL_STX_STRING . '</span>';} $ret.= '</td>'; break;
case 'RSTR': $ret.= '<td class="d-none d-sm-table-cell">' . $row->COL_RST_RCVD; if ($row->COL_SRX) { $ret.= ' <span data-bs-toggle="tooltip" title="'.($row->COL_CONTEST_ID!=""?$row->COL_CONTEST_ID:"n/a").'" class="badge text-bg-light">'; $ret.=sprintf("%03d", $row->COL_SRX); $ret.= '</span>';} if ($row->COL_SRX_STRING) { $ret.= ' <span data-bs-toggle="tooltip" title="'.($row->COL_CONTEST_ID!=""?$row->COL_CONTEST_ID:"n/a").'" class="badge text-bg-light">' . $row->COL_SRX_STRING . '</span>';} $ret.= '</td>'; break;
case 'Country': $ret.= '<td>' . ucwords(strtolower(($row->COL_COUNTRY))); if ($row->end != NULL) $ret.= ' <span class="badge text-bg-danger">'.$ci->lang->line('gen_hamradio_deleted_dxcc').'</span>' . '</td>'; break;
case 'Country': $ret.= '<td>' . ucwords(strtolower(($row->COL_COUNTRY ?? ''))); if ($row->end ?? '' != '') $ret.= ' <span class="badge text-bg-danger">'.$ci->lang->line('gen_hamradio_deleted_dxcc').'</span>' . '</td>'; break;
case 'IOTA': $ret.= '<td>' . ($row->COL_IOTA) . '</td>'; break;
case 'SOTA': $ret.= '<td>' . ($row->COL_SOTA_REF) . '</td>'; break;
case 'WWFF': $ret.= '<td>' . ($row->COL_WWFF_REF) . '</td>'; break;

View File

@@ -93,6 +93,7 @@ class Logbookadvanced extends CI_Controller {
'assets/js/sections/itumap_geojson.js?' . filemtime(realpath(__DIR__ . "/../../assets/js/sections/itumap_geojson.js")),
'assets/js/leaflet/L.Terminator.js?' . filemtime(realpath(__DIR__ . "/../../assets/js/leaflet/L.Terminator.js")),
'assets/js/leaflet/geocoding.js',
'assets/js/globe/globe.gl.js?' . filemtime(realpath(__DIR__ . "/../../assets/js/globe/globe.gl.js")),
];
$this->load->view('interface_assets/header', $data);

View File

@@ -1,176 +0,0 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/*
Handles Displaying of information for Station Logbooks
*/
class Logbooks extends CI_Controller {
function __construct()
{
parent::__construct();
$this->load->helper(array('form', 'url'));
$this->load->model('user_model');
if(!$this->user_model->authorize(2)) { $this->session->set_flashdata('notice', 'You\'re not allowed to do that!'); redirect('dashboard'); }
}
function index() {
$this->load->model('logbooks_model');
$data['my_logbooks'] = $this->logbooks_model->show_all();
// Render Page
$data['page_title'] = "Station Logbooks";
$this->load->view('interface_assets/header', $data);
$this->load->view('logbooks/index');
$this->load->view('interface_assets/footer');
}
public function create()
{
$this->load->library('form_validation');
$this->form_validation->set_rules('stationLogbook_Name', 'Station Logbook Name', 'required');
if ($this->form_validation->run() == FALSE)
{
$data['page_title'] = "Create Station Logbook";
$this->load->view('interface_assets/header', $data);
$this->load->view('logbooks/create');
$this->load->view('interface_assets/footer');
}
else
{
$this->load->model('logbooks_model');
$this->logbooks_model->add();
redirect('stationsetup');
}
}
public function edit($id)
{
$this->load->library('form_validation');
$this->load->model('logbooks_model');
$this->load->model('stations');
$station_logbook_id = $this->security->xss_clean($id);
$station_logbook_details_query = $this->logbooks_model->logbook($station_logbook_id);
$data['station_locations_array'] = $this->logbooks_model->list_logbook_relationships($station_logbook_id);
$data['station_logbook_details'] = $station_logbook_details_query->row();
$data['station_locations_list'] = $this->stations->all_of_user();
$data['station_locations_linked'] = $this->logbooks_model->list_logbooks_linked($station_logbook_id);
$data['page_title'] = "Edit Station Logbook";
$this->form_validation->set_rules('station_logbook_id', 'Station Logbook Name', 'required');
if ($this->form_validation->run() == FALSE)
{
$this->load->view('interface_assets/header', $data);
$this->load->view('logbooks/edit');
$this->load->view('interface_assets/footer');
}
else
{
$data['notice'] = "Station Logbooks ".$this->security->xss_clean($this->input->post('station_logbook_name', true))." Updated";
if($this->input->post('SelectedStationLocation') != "") {
if($this->logbooks_model->relationship_exists($this->input->post('station_logbook_id'), $this->input->post('SelectedStationLocation')) != TRUE) {
// If no link exisits create
$this->logbooks_model->create_logbook_location_link($this->input->post('station_logbook_id'), $this->input->post('SelectedStationLocation'));
}
} else {
$this->logbooks_model->edit();
}
redirect('logbooks/edit/'.$this->input->post('station_logbook_id'));
}
}
public function set_active($id) {
$this->load->model('logbooks_model');
$this->logbooks_model->set_logbook_active($id);
$this->user_model->update_session($this->session->userdata('user_id'));
redirect('stationsetup');
}
public function delete($id) {
$this->load->model('logbooks_model');
$this->logbooks_model->delete($id);
redirect('stationsetup');
}
public function delete_relationship($logbook_id, $station_id) {
$this->load->model('logbooks_model');
$this->logbooks_model->delete_relationship($logbook_id, $station_id);
redirect('logbooks/edit/'.$logbook_id);
}
public function publicslug_validate() {
$this->load->model('logbooks_model');
$result = $this->logbooks_model->is_public_slug_available($this->input->post('public_slug'));
if($result == true) {
$data['slugAvailable'] = true;
} else {
$data['slugAvailable'] = false;
}
$this->load->view('logbooks/components/publicSlugInputValidation', $data);
}
public function save_publicsearch() {
$this->load->model('logbooks_model');
$returndata = $this->logbooks_model->save_public_search($this->input->post('public_search'), $this->input->post('logbook_id'));
echo "<div class=\"alert alert-success\" role=\"alert\">Public Search Settings Saved</div>";
}
public function save_publicslug() {
$this->load->model('logbooks_model');
$this->load->library('form_validation');
$this->form_validation->set_rules('public_slug', 'Public Slug', 'required|alpha_numeric');
if ($this->form_validation->run() == FALSE)
{
echo "<div class=\"alert alert-danger\" role=\"alert\">Oops! This Public Slug is unavailable</div>";
echo validation_errors();
}
else
{
$this->load->model('logbooks_model');
$result = $this->logbooks_model->is_public_slug_available($this->input->post('public_slug'));
if($result == true) {
$returndata = $this->logbooks_model->save_public_slug($this->input->post('public_slug'), $this->input->post('logbook_id'));
echo "<div class=\"alert alert-success\" role=\"alert\">Public Slug Saved</div>";
} else {
echo "<div class=\"alert alert-danger\" role=\"alert\">Oops! This Public Slug is unavailable</div>";
}
}
}
public function remove_publicslug() {
$this->load->model('logbooks_model');
$this->logbooks_model->remove_public_slug($this->input->post('logbook_id'));
if ($this->db->affected_rows() > 0) {
echo "<div class=\"alert alert-success\" role=\"alert\">Public Slug Removed</div>";
} else {
echo "<div class=\"alert alert-danger\" role=\"alert\">Oops! This Public Slug could not be removed</div>";
}
}
}

View File

@@ -25,4 +25,17 @@ class Map extends CI_Controller {
echo json_encode(array_merge($plot_array, $station_array));
}
// Generic fonction for return Json for MAP //
public function glob_plot() {
$footerData = [];
$footerData['scripts'] = [
'assets/js/globe/globe.gl.js?' . filemtime(realpath(__DIR__ . "/../../assets/js/globe/globe.gl.js")),
'assets/js/sections/globe.js?' . filemtime(realpath(__DIR__ . "/../../assets/js/sections/globe.js")),
];
$this->load->view('interface_assets/header');
$this->load->view('globe/index');
$this->load->view('interface_assets/footer',$footerData);
}
}

View File

@@ -42,15 +42,8 @@ class Qsl extends CI_Controller {
public function delete() {
$this->load->model('user_model');
if(!$this->user_model->authorize(2)) { $this->session->set_flashdata('notice', 'You\'re not allowed to do that!'); redirect('dashboard'); }
$id = $this->input->post('id');
$this->load->model('Qsl_model');
$path = $this->Qsl_model->get_imagePath('p');
$file = $this->Qsl_model->getFilename($id)->row();
$filename = $file->filename;
unlink($path.'/'.$filename);
$this->Qsl_model->deleteQsl($id);
}
@@ -174,4 +167,4 @@ class Qsl extends CI_Controller {
$this->load->view('qslcard/qslcarousel', $data);
}
}
}

View File

@@ -33,6 +33,48 @@ class QSO extends CI_Controller {
$data['user_default_band'] = $this->session->userdata('user_default_band');
$data['sat_active'] = array_search("SAT", $this->bands->get_user_bands(), true);
$qkey_opt=$this->user_options_model->get_options('qso_tab',array('option_name'=>'iota','option_key'=>'show'))->result();
if (count($qkey_opt)>0) {
$data['user_iota_to_qso_tab'] = $qkey_opt[0]->option_value;
} else {
$data['user_iota_to_qso_tab'] = 0;
}
$qkey_opt=$this->user_options_model->get_options('qso_tab',array('option_name'=>'sota','option_key'=>'show'))->result();
if (count($qkey_opt)>0) {
$data['user_sota_to_qso_tab'] = $qkey_opt[0]->option_value;
} else {
$data['user_sota_to_qso_tab'] = 0;
}
$qkey_opt=$this->user_options_model->get_options('qso_tab',array('option_name'=>'wwff','option_key'=>'show'))->result();
if (count($qkey_opt)>0) {
$data['user_wwff_to_qso_tab'] = $qkey_opt[0]->option_value;
} else {
$data['user_wwff_to_qso_tab'] = 0;
}
$qkey_opt=$this->user_options_model->get_options('qso_tab',array('option_name'=>'pota','option_key'=>'show'))->result();
if (count($qkey_opt)>0) {
$data['user_pota_to_qso_tab'] = $qkey_opt[0]->option_value;
} else {
$data['user_pota_to_qso_tab'] = 0;
}
$qkey_opt=$this->user_options_model->get_options('qso_tab',array('option_name'=>'sig','option_key'=>'show'))->result();
if (count($qkey_opt)>0) {
$data['user_sig_to_qso_tab'] = $qkey_opt[0]->option_value;
} else {
$data['user_sig_to_qso_tab'] = 0;
}
$qkey_opt=$this->user_options_model->get_options('qso_tab',array('option_name'=>'dok','option_key'=>'show'))->result();
if (count($qkey_opt)>0) {
$data['user_dok_to_qso_tab'] = $qkey_opt[0]->option_value;
} else {
$data['user_dok_to_qso_tab'] = 0;
}
$this->load->library('form_validation');
$this->form_validation->set_rules('start_date', 'Date', 'required');

View File

@@ -0,0 +1,141 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/*
Handles Displaying of band information
*/
class Satellite extends CI_Controller {
function __construct()
{
parent::__construct();
$this->load->helper(array('form', 'url'));
$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'); }
}
public function index()
{
$this->load->model('satellite_model');
$pageData['satellites'] = $this->satellite_model->get_all_satellites();
$footerData = [];
$footerData['scripts'] = [
'assets/js/sections/satellite.js?' . filemtime(realpath(__DIR__ . "/../../assets/js/sections/satellite.js")),
];
// Render Page
$pageData['page_title'] = "Satellites";
$this->load->view('interface_assets/header', $pageData);
$this->load->view('satellite/index');
$this->load->view('interface_assets/footer', $footerData);
}
public function create() {
$data['page_title'] = "Create Satellite";
$this->load->view('satellite/create', $data);
}
public function createSatellite() {
$this->load->model('satellite_model');
$this->satellite_model->add();
}
public function edit()
{
$this->load->model('satellite_model');
$item_id_clean = $this->security->xss_clean($this->input->post('id'));
$satellite_query = $this->satellite_model->getsatellite($item_id_clean);
$mode_query = $this->satellite_model->getsatmodes($item_id_clean);
$data['satellite'] = $satellite_query->row();
$data['satmodes'] = $mode_query->result();
$data['page_title'] = "Edit Satellite";
$this->load->view('satellite/edit', $data);
}
public function saveupdatedSatellite() {
$this->load->model('satellite_model');
$id = $this->security->xss_clean($this->input->post('id', true));
$satellite['name'] = $this->security->xss_clean($this->input->post('name'));
$satellite['exportname'] = $this->security->xss_clean($this->input->post('exportname'));
$satellite['orbit'] = $this->security->xss_clean($this->input->post('orbit'));
$this->satellite_model->saveupdatedsatellite($id, $satellite);
echo json_encode(array('message' => 'OK'));
return;
}
public function delete() {
$id = $this->input->post('id');
$this->load->model('satellite_model');
$this->satellite_model->delete($id);
}
public function deleteSatMode() {
$id = $this->input->post('id');
$this->load->model('satellite_model');
$this->satellite_model->deleteSatMode($id);
}
public function saveSatellite() {
$id = $this->security->xss_clean($this->input->post('id'));
$satellite['name'] = $this->security->xss_clean($this->input->post('name'));
$this->load->model('satellite_model');
$this->satellite_model->saveSatellite($id, $satellite);
header('Content-Type: application/json');
echo json_encode(array('message' => 'OK'));
return;
}
public function saveSatModeChanges() {
$id = $this->security->xss_clean($this->input->post('id'));
$satmode['name'] = $this->security->xss_clean($this->input->post('name'));
$satmode['uplink_mode'] = $this->security->xss_clean($this->input->post('uplink_mode'));
$satmode['uplink_freq'] = $this->security->xss_clean($this->input->post('uplink_freq'));
$satmode['downlink_mode'] = $this->security->xss_clean($this->input->post('downlink_mode'));
$satmode['downlink_freq'] = $this->security->xss_clean($this->input->post('downlink_freq'));
$this->load->model('satellite_model');
$this->satellite_model->saveSatelliteMode($id, $satmode);
header('Content-Type: application/json');
echo json_encode(array('message' => 'OK'));
return;
}
public function addSatMode() {
$this->load->model('satellite_model');
$inserted_id = $this->satellite_model->insertSatelliteMode();
header('Content-Type: application/json');
echo json_encode(array('inserted_id' => $inserted_id));
return;
}
public function satellite_data() {
$this->load->model('satellite_model');
$satellite_data = $this->satellite_model->satellite_data();
$sat_list = array();
foreach ($satellite_data as $sat) {
$sat_list[$sat->satellite]['Modes'][$sat->satmode][0]['Uplink_Mode'] = $sat->Uplink_Mode;
$sat_list[$sat->satellite]['Modes'][$sat->satmode][0]['Uplink_Freq'] = $sat->Uplink_Freq;
$sat_list[$sat->satellite]['Modes'][$sat->satmode][0]['Downlink_Mode'] = $sat->Downlink_Mode;
$sat_list[$sat->satellite]['Modes'][$sat->satmode][0]['Downlink_Freq'] = $sat->Downlink_Freq;
}
header('Content-Type: application/json');
echo json_encode($sat_list, JSON_FORCE_OBJECT);
}
}

View File

@@ -92,7 +92,7 @@ class Stationsetup extends CI_Controller {
public function getActiveStation() {
$active_loc = $this->stations->find_active();
echo json_encode($active_loc);
}
}
public function setFavorite_json() {
$id2fav = xss_clean($this->input->post('id2Favorite', true));
@@ -160,6 +160,61 @@ class Stationsetup extends CI_Controller {
$this->load->view('stationsetup/create', $data);
}
public function editContainerName() {
$this->load->model('stationsetup_model');
$data['container'] = $this->stationsetup_model->getContainer(xss_clean($this->input->post('id', true)))->row();
$data['page_title'] = "Edit container name";
$this->load->view('stationsetup/edit', $data);
}
public function saveContainerName() {
$this->load->model('stationsetup_model');
$this->stationsetup_model->saveContainer();
}
public function editLinkedLocations() {
$this->load->model('logbooks_model');
$data['station_locations_list'] = $this->stations->all_of_user();
$station_logbook_details_query = $this->logbooks_model->logbook(xss_clean($this->input->post('id', true)));
$data['station_logbook_details'] = $station_logbook_details_query->row();
$data['station_locations_linked'] = $this->logbooks_model->list_logbooks_linked($this->input->post('id', true));
$data['page_title'] = "Edit lined locations";
$this->load->view('stationsetup/linkedlocations', $data);
}
public function editVisitorLink() {
$this->load->model('logbooks_model');
$station_logbook_details_query = $this->logbooks_model->logbook(xss_clean($this->input->post('id', true)));
$data['station_logbook_details'] = $station_logbook_details_query->row();
$data['station_locations_list'] = $this->stations->all_of_user();
$data['page_title'] = "Edit visitor site";
$this->load->view('stationsetup/visitor', $data);
}
public function saveVisitorLink() {
$name = xss_clean($this->input->post('name', true));
$id = xss_clean($this->input->post('id', true));
$this->load->model('stationsetup_model');
$result = $this->stationsetup_model->is_public_slug_available($name);
if (!($result)) {
$current_lb4slug=$this->stationsetup_model->public_slug_exists_logbook_id($name);
if ($current_lb4slug == $id) {
$result=true; // Set to true if we want to update the SAME slug for the SAME Logbook
}
}
if($result == true) {
$this->stationsetup_model->saveVisitorLink($id, $name);
$data['success'] = 1;
} else {
$data['success'] = 0;
$data['flashdata'] = 'Error. Link is already in use!';
}
echo json_encode($data);
}
public function newLocation() {
$this->load->model('stations');
$this->load->model('dxcc');
@@ -178,20 +233,26 @@ class Stationsetup extends CI_Controller {
$result = $this->logbooks_model->show_all()->result();
foreach ($result as $entry) {
$single=(Object)[];
$single->logbook_id=$entry->logbook_id;
$single->logbook_name=$entry->logbook_name;
$single->logbook_state=$this->lbstate2html($entry->logbook_id);
$single->logbook_edit=$this->lbedit2html($entry->logbook_id,$entry->logbook_name);
$single->logbook_delete=$this->lbdel2html($entry->logbook_id,$entry->logbook_name);
$single->logbook_link=$this->lblnk2html($entry->public_slug,$entry->logbook_name);
$single->logbook_publicsearch = $this->lbpublicsearch2html($entry->public_search);
$single->logbook_id = $entry->logbook_id;
$single->logbook_name = $this->lbname2html($entry->logbook_id, $entry->logbook_name);
$single->logbook_state = $this->lbstate2html($entry->logbook_id);
$single->logbook_edit = $this->lbedit2html($entry->logbook_id);
$single->logbook_delete = $this->lbdel2html($entry->logbook_id, $entry->logbook_name);
$single->logbook_link = $this->lblnk2html($entry->public_slug, $entry->logbook_name, $entry->logbook_id);
$single->logbook_publicsearch = $this->lbpublicsearch2html($entry->public_search, $entry->logbook_id);
array_push($hres,$single);
}
echo json_encode($hres);
}
private function lbpublicsearch2html($publicsearch) {
return ($publicsearch=='1' ? '<span class="badge text-bg-success">Enabled</span>' : 'Disabled');
private function lbname2html($id, $name) {
return $name . ' <i id="' . $id . '" class="editContainerName fas fa-edit" role="button"></i>';
}
private function lbpublicsearch2html($publicsearch, $id) {
$htmret = ($publicsearch=='1' ? '<span class="badge text-bg-success">Enabled</span>' : '<span class="badge bg-dark">Disabled</span>');
$htmret .= '<div class="form-check" style="margin-top: -1.5em"><input id="'.$id.'" class="form-check-input publicSearchCheckbox" type="checkbox"'. ($publicsearch=='1' ? 'checked' : '') . '/></div>';
return $htmret;
}
@@ -206,28 +267,24 @@ class Stationsetup extends CI_Controller {
private function lbdel2html($id, $logbook_name) {
if($this->session->userdata('active_station_logbook') != $id) {
$htmret='<button id="'.$id.'" class="deleteLogbook btn btn-danger btn-sm" cnftext="'.lang('station_logbooks_confirm_delete').$logbook_name.'"><i class="fas fa-trash-alt"></i></button>';
$htmret='<button id="'.$id.'" class="deleteLogbook btn btn-outline-danger btn-sm" cnftext="'.lang('station_logbooks_confirm_delete').$logbook_name.'"><i class="fas fa-trash-alt"></i></button>';
} else {
$htmret='';
}
return $htmret;
}
private function lblnk2html($public_slug, $logbook_name) {
private function lblnk2html($public_slug, $logbook_name, $id) {
$htmret = '<button class="btn btn-outline-primary btn-sm editVisitorLink" id="' . $id . '"><i class="fas fa-edit"></i></button> ';
if($public_slug != '') {
$htmret='<a target="_blank" href="'.site_url('visitor')."/".$public_slug.'" class="btn btn-outline-primary btn-sm"><i class="fas fa-globe" title="'.lang('station_logbooks_view_public') . $logbook_name.'"></i></a>';
} else {
$htmret='';
$htmret .= '<a target="_blank" href="'.site_url('visitor')."/".$public_slug.'" class="btn btn-outline-primary btn-sm"><i class="fas fa-globe" title="'.lang('station_logbooks_view_public') . $logbook_name.'"></i></a>';
$htmret .= ' <button id="' . $id . '" class="deletePublicSlug btn btn-outline-danger btn-sm" cnftext="Are you sure you want to delete the public slug?"><i class="fas fa-trash-alt"></i></button>';
}
return $htmret;
}
private function lbps2html($id, $logbook_name) {
return '<a href="'.site_url('logbooks/edit')."/".$id.'" class="btn btn-outline-primary btn-sm"><i class="fas fa-edit" title="'.lang('station_logbooks_edit_logbook').': '.$logbook_name.'"></i></a>';
}
private function lbedit2html($id, $logbook_name) {
return '<a href="'.site_url('logbooks/edit')."/".$id.'" class="btn btn-outline-primary btn-sm"><i class="fas fa-edit" title="'.lang('station_logbooks_edit_logbook').': '.$logbook_name.'"></i></a>';
private function lbedit2html($id) {
return '<button class="btn btn-outline-primary btn-sm editLinkedLocations" id="' . $id . '"><i class="fas fa-edit"></i></button>';
}
public function fetchLocations() {
@@ -285,7 +342,7 @@ class Stationsetup extends CI_Controller {
$returntext .= '<span class="badge bg-success text-bg-success">' . lang('station_location_active') . '</span><br/>';
}
$returntext .='<span class="badge bg-light">' . $qso_total .' '. lang('gen_hamradio_qso') . '</span>';
$returntext .='<span class="badge bg-dark">' . $qso_total .' '. lang('gen_hamradio_qso') . '</span>';
return $returntext;
}
@@ -318,4 +375,57 @@ class Stationsetup extends CI_Controller {
return $returntext;
}
public function remove_publicslug() {
$id = xss_clean($this->input->post('id',true));
if ($id ?? '' != '') {
$this->load->model('stationsetup_model');
$this->stationsetup_model->remove_public_slug($id);
$data['success']=1;
} else {
$data['success']=0;
$data['flashdata']='Not allowed';
}
echo json_encode($data);
}
public function togglePublicSearch() {
$id = xss_clean($this->input->post('id',true));
$publicSearch = xss_clean($this->input->post('checked',true));
if ($id ?? '' != '') {
$this->load->model('stationsetup_model');
$this->stationsetup_model->togglePublicSearch($id, $publicSearch);
$data['success']=1;
} else {
$data['success']=0;
$data['flashdata']='Not allowed';
}
echo json_encode($data);
}
public function unLinkLocations() {
$containerid = xss_clean($this->input->post('containerid',true));
$locationid = xss_clean($this->input->post('locationid',true));
$this->load->model('stationsetup_model');
$this->stationsetup_model->unLinkLocations($containerid, $locationid);
$data['success']=1;
echo json_encode($data);
}
public function linkLocations() {
$containerid = xss_clean($this->input->post('containerid',true));
$locationid = xss_clean($this->input->post('locationid',true));
$this->load->model('stationsetup_model');
if(!$this->stationsetup_model->relationship_exists($containerid, $locationid)) {
// If no link exists, create
$this->stationsetup_model->create_logbook_location_link($containerid, $locationid);
$data['success']=1;
$data['locationdata'] = $this->stationsetup_model->locationInfo($locationid)->result();
} else {
$data['success']=0;
$data['flashdata']='Error';
}
echo json_encode($data);
}
}

View File

@@ -11,7 +11,7 @@ class Update extends CI_Controller {
function __construct()
{
parent::__construct();
if (ENVIRONMENT == 'maintenance' && $this->session->userdata('user_id') == '') {
echo "Maintenance Mode is active. Try again later.\n";
redirect('user/login');
@@ -45,7 +45,6 @@ class Update extends CI_Controller {
*/
public function dxcc_entities() {
// Load Database connectors
$this->load->model('dxcc_entities');
// Load the cty file
$xml_data = simplexml_load_file($this->make_update_path("cty.xml"));
@@ -97,7 +96,6 @@ class Update extends CI_Controller {
*/
public function dxcc_exceptions() {
// Load Database connectors
$this->load->model('dxcc_exceptions');
// Load the cty file
$xml_data = simplexml_load_file($this->make_update_path("cty.xml"));
@@ -139,7 +137,6 @@ class Update extends CI_Controller {
*/
public function dxcc_prefixes() {
// Load Database connectors
$this->load->model('dxcc_prefixes');
// Load the cty file
$xml_data = simplexml_load_file($this->make_update_path("cty.xml"));
@@ -261,22 +258,45 @@ class Update extends CI_Controller {
}
public function check_missing_dxcc($all = false){
$this->load->model('logbook_model');
$this->logbook_model->check_missing_dxcc_id($all);
$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');
}
$this->load->model('logbook_model');
$this->logbook_model->check_missing_dxcc_id($all);
}
public function check_missing_continent() {
$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');
}
$this->load->model('logbook_model');
$this->logbook_model->check_missing_continent();
}
public function update_distances() {
$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');
}
$this->load->model('logbook_model');
$this->logbook_model->update_distances();
}
public function check_missing_grid($all = false){
$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');
}
$this->load->model('logbook_model');
$this->logbook_model->check_missing_grid_id($all);
}

View File

@@ -97,6 +97,12 @@ class User extends CI_Controller {
$data['user_quicklog_enter'] = $this->input->post('user_quicklog_enter');
$data['user_hamsat_key'] = $this->input->post('user_hamsat_key');
$data['user_hamsat_workable_only'] = $this->input->post('user_hamsat_workable_only');
$data['user_iota_to_qso_tab'] = $this->input->post('user_iota_to_qso_tab');
$data['user_sota_to_qso_tab'] = $this->input->post('user_sota_to_qso_tab');
$data['user_wwff_to_qso_tab'] = $this->input->post('user_wwff_to_qso_tab');
$data['user_pota_to_qso_tab'] = $this->input->post('user_pota_to_qso_tab');
$data['user_sig_to_qso_tab'] = $this->input->post('user_sig_to_qso_tab');
$data['user_dok_to_qso_tab'] = $this->input->post('user_dok_to_qso_tab');
$data['language'] = $this->input->post('language');
$this->load->view('user/edit', $data);
} else {
@@ -138,6 +144,12 @@ class User extends CI_Controller {
$this->input->post('language'),
$this->input->post('user_hamsat_key'),
$this->input->post('user_hamsat_workable_only'),
$this->input->post('user_iota_to_qso_tab'),
$this->input->post('user_sota_to_qso_tab'),
$this->input->post('user_wwff_to_qso_tab'),
$this->input->post('user_pota_to_qso_tab'),
$this->input->post('user_sig_to_qso_tab'),
$this->input->post('user_dok_to_qso_tab')
)) {
// Check for errors
case EUSERNAMEEXISTS:
@@ -515,6 +527,60 @@ class User extends CI_Controller {
}
}
if($this->input->post('user_iota_to_qso_tab')) {
$data['user_iota_to_qso_tab'] = $this->input->post('user_iota_to_qso_tab', false);
} else {
$qkey_opt=$this->user_options_model->get_options('qso_tab',array('option_name'=>'iota','option_key'=>'show'))->result();
if (count($qkey_opt)>0) {
$data['user_iota_to_qso_tab'] = $qkey_opt[0]->option_value;
}
}
if($this->input->post('user_sota_to_qso_tab')) {
$data['user_sota_to_qso_tab'] = $this->input->post('user_sota_to_qso_tab', false);
} else {
$qkey_opt=$this->user_options_model->get_options('qso_tab',array('option_name'=>'sota','option_key'=>'show'))->result();
if (count($qkey_opt)>0) {
$data['user_sota_to_qso_tab'] = $qkey_opt[0]->option_value;
}
}
if($this->input->post('user_wwff_to_qso_tab')) {
$data['user_wwff_to_qso_tab'] = $this->input->post('user_wwff_to_qso_tab', false);
} else {
$qkey_opt=$this->user_options_model->get_options('qso_tab',array('option_name'=>'wwff','option_key'=>'show'))->result();
if (count($qkey_opt)>0) {
$data['user_wwff_to_qso_tab'] = $qkey_opt[0]->option_value;
}
}
if($this->input->post('user_pota_to_qso_tab')) {
$data['user_pota_to_qso_tab'] = $this->input->post('user_pota_to_qso_tab', false);
} else {
$qkey_opt=$this->user_options_model->get_options('qso_tab',array('option_name'=>'pota','option_key'=>'show'))->result();
if (count($qkey_opt)>0) {
$data['user_pota_to_qso_tab'] = $qkey_opt[0]->option_value;
}
}
if($this->input->post('user_sig_to_qso_tab')) {
$data['user_sig_to_qso_tab'] = $this->input->post('user_sig_to_qso_tab', false);
} else {
$qkey_opt=$this->user_options_model->get_options('qso_tab',array('option_name'=>'sig','option_key'=>'show'))->result();
if (count($qkey_opt)>0) {
$data['user_sig_to_qso_tab'] = $qkey_opt[0]->option_value;
}
}
if($this->input->post('user_dok_to_qso_tab')) {
$data['user_dok_to_qso_tab'] = $this->input->post('user_dok_to_qso_tab', false);
} else {
$qkey_opt=$this->user_options_model->get_options('qso_tab',array('option_name'=>'dok','option_key'=>'show'))->result();
if (count($qkey_opt)>0) {
$data['user_dok_to_qso_tab'] = $qkey_opt[0]->option_value;
}
}
// [MAP Custom] GET user options //
$options_object = $this->user_options_model->get_options('map_custom')->result();
if (count($options_object)>0) {
@@ -675,6 +741,7 @@ class User extends CI_Controller {
$this->form_validation->set_rules('id', 'user_id', 'required');
$data = $query->row();
$data->page_title = "Delete User";
if ($this->form_validation->run() == FALSE)
{

View File

@@ -36,14 +36,6 @@ class Visitor extends CI_Controller {
$this->load->model('user_model');
// Check if users logged in
if($this->user_model->validate_session() != 0) {
// If environment is set to development then show the debug toolbar
if(ENVIRONMENT == 'development') {
$this->output->enable_profiler(TRUE);
}
}
// Check slug passed and is valid
if ($this->security->xss_clean($public_slug, TRUE) === FALSE)
{
@@ -164,7 +156,7 @@ class Visitor extends CI_Controller {
$qsos = $this->logbook_model->get_qsos('18', null, $logbooks_locations_array);
// [PLOT] ADD plot //
$plot_array = $this->logbook_model->get_plot_array_for_map($qsos->result());
header('Content-Type: application/json; charset=utf-8');
echo json_encode($plot_array);
}

View File

@@ -132,3 +132,6 @@ $lang['account_hamsat_private_feed_key'] = "Private Feed Key";
$lang['account_hamsat_hint'] = "See your profile at <a href='https://hams.at/users/settings' target='_blank'>https://hams.at/users/settings</a>.";
$lang['account_hamsat_workable_only'] = "Show Workable Passes Only";
$lang['account_hamsat_workable_only_hint'] = "If enabled shows only workable passes based on the gridsquare set in your hams.at account. Requires private feed key to be set.";
$lang['account_references_show'] = "Show Reference Fields on QSO Tab";
$lang['account_show_references_on_1st_tab'] = "The enabled items will be shown on the QSO tab rather than the General tab.";

View File

@@ -27,6 +27,7 @@ $lang['contesting_btn_save_qso'] = 'Запазване на QSO';
$lang['contesting_title_callsign_suggestions'] = 'Предложения за инициали';
$lang['contesting_title_contest_logbook'] = 'Дневник на състезанието';
$lang['contesting_copy_exch_to_dok'] = 'Copy received exchange to DOK field in the database!';
$lang['contesting_copy_exch_to'] = 'Copy received exchange to';
$lang['contesting_copy_exch_hint'] = 'Exchange is only copied if it is matching rules for the selected field!';

View File

@@ -117,6 +117,7 @@ $lang['filter_actions_print_label'] = 'Print Label';
$lang['filter_actions_start_print_title'] = 'Print Labels';
$lang['filter_actions_print_include_via'] = "Include Via";
$lang['filter_actions_print_include_grid'] = 'Include Grid?';
$lang['filter_actions_print_include_ref'] = "Include reference? (SIG, SOTA, POTA, IOTA, WWFF; If available in location)";
$lang['filter_actions_start_print'] = 'Start printing at?';
$lang['filter_actions_print'] = 'Print';
$lang['filter_actions_qsl_slideshow'] = 'QSL Slideshow';

View File

@@ -19,6 +19,7 @@ $lang['general_word_cancel'] = "Cancel";
$lang['general_word_ok'] = "OK";
$lang['general_word_show'] = "Show";
$lang['general_word_attention'] = "Attention";
$lang['general_word_message'] = "Message";
$lang['general_word_enabled'] = "Enabled";
$lang['general_word_disabled'] = "Disabled";
$lang['general_word_export'] = "Export";
@@ -48,6 +49,7 @@ $lang['general_word_satellite_short'] = 'Сат';
$lang['general_word_notes'] = 'Бележки';
$lang['general_word_country'] = 'Държава';
$lang['general_word_city'] = 'Град';
$lang['general_word_age'] = 'Age';
$lang['general_word_total'] = 'Общо';
$lang['general_word_year'] = 'Година';
@@ -153,6 +155,7 @@ $lang['gen_hamradio_qslvia'] = 'QSL via';
$lang['gen_hamradio_qslmsg'] = 'QSL Msg';
$lang['gen_hamradio_locator'] = 'Локатор';
$lang['gen_hamradio_transmit_power'] = 'Мощност на предавателя (W)';
$lang['gen_hamradio_receive_power'] = 'RX Power (W)';
$lang['gen_hamradio_propagation_mode'] = 'Propagation Mode';
$lang['gen_hamradio_satellite_name'] = 'Име на сателита';
@@ -232,4 +235,5 @@ $lang['dashboard_logbooks_warning'] = 'You have no station logbook. Go <a href="
$lang['hams_at_no_activations_found'] = 'No upcoming activations found. Please check back later.';
$lang['gen_add_to_contest'] = "Add QSOs to Contest";
$lang['datatables_language'] = "en-GB";

View File

@@ -105,3 +105,6 @@ $lang['menu_forum'] = 'Forum';
$lang['menu_logout'] = 'Logout';
$lang['menu_extras'] = "Extras";
$lang['menu_satellites'] = 'Satellites';
$lang['menu_dx_calendar'] = 'DX Calendar';
$lang['menu_contest_calendar'] = 'Contest Calendar';

View File

@@ -132,3 +132,6 @@ $lang['account_hamsat_private_feed_key'] = "Private Feed Key";
$lang['account_hamsat_hint'] = "See your profile at <a href='https://hams.at/users/settings' target='_blank'>https://hams.at/users/settings</a>.";
$lang['account_hamsat_workable_only'] = "Show Workable Passes Only";
$lang['account_hamsat_workable_only_hint'] = "If enabled shows only workable passes based on the gridsquare set in your hams.at account. Requires private feed key to be set.";
$lang['account_references_show'] = "Show Reference Fields on QSO Tab";
$lang['account_show_references_on_1st_tab'] = "The enabled items will be shown on the QSO tab rather than the General tab.";

View File

@@ -27,6 +27,7 @@ $lang['contesting_btn_save_qso'] = '保存 QSO';
$lang['contesting_title_callsign_suggestions'] = '呼号建议';
$lang['contesting_title_contest_logbook'] = '竞赛日志簿';
$lang['contesting_copy_exch_to_dok'] = '将收到的交换信息复制到数据库中的 DOK 字段!';
$lang['contesting_copy_exch_to'] = 'Copy received exchange to';
$lang['contesting_copy_exch_hint'] = 'Exchange is only copied if it is matching rules for the selected field!';

View File

@@ -117,6 +117,7 @@ $lang['filter_actions_print_label'] = '打印标签';
$lang['filter_actions_start_print_title'] = '打印标签';
$lang['filter_actions_print_include_via'] = "包含通过";
$lang['filter_actions_print_include_grid'] = '包含网格?';
$lang['filter_actions_print_include_ref'] = "Include reference? (SIG, SOTA, POTA, IOTA, WWFF; If available in location)";
$lang['filter_actions_start_print'] = '开始打印编号';
$lang['filter_actions_print'] = '打印';
$lang['filter_actions_qsl_slideshow'] = 'QSL 展示窗';

View File

@@ -19,6 +19,7 @@ $lang['general_word_cancel'] = "取消";
$lang['general_word_ok'] = "确认";
$lang['general_word_show'] = "Show";
$lang['general_word_attention'] = "注意";
$lang['general_word_message'] = "Message";
$lang['general_word_enabled'] = "已启用";
$lang['general_word_disabled'] = "已禁用";
$lang['general_word_export'] = "导出";
@@ -48,6 +49,7 @@ $lang['general_word_satellite_short'] = '卫星';
$lang['general_word_notes'] = '笔记';
$lang['general_word_country'] = 'DXCC 实体';
$lang['general_word_city'] = '城市';
$lang['general_word_age'] = 'Age';
$lang['general_word_total'] = '总计';
$lang['general_word_year'] = '年';
@@ -153,6 +155,7 @@ $lang['gen_hamradio_qslvia'] = 'QSL via';
$lang['gen_hamradio_qslmsg'] = 'QSL 信息';
$lang['gen_hamradio_locator'] = '定位地图';
$lang['gen_hamradio_transmit_power'] = '发射功率 (W)';
$lang['gen_hamradio_receive_power'] = 'RX Power (W)';
$lang['gen_hamradio_propagation_mode'] = '传播模式';
$lang['gen_hamradio_satellite_name'] = '卫星名称';
@@ -232,4 +235,5 @@ $lang['dashboard_logbooks_warning'] = '你没有电台日志。 请前往<a href
$lang['hams_at_no_activations_found'] = '未找到即将进行的激活。 请稍后再回来查看。';
$lang['gen_add_to_contest'] = "Add QSOs to Contest";
$lang['datatables_language'] = "en-GB";

View File

@@ -105,3 +105,6 @@ $lang['menu_forum'] = '论坛';
$lang['menu_logout'] = '注销';
$lang['menu_extras'] = "Extras";
$lang['menu_satellites'] = 'Satellites';
$lang['menu_dx_calendar'] = 'DX Calendar';
$lang['menu_contest_calendar'] = 'Contest Calendar';

View File

@@ -132,3 +132,6 @@ $lang['account_hamsat_private_feed_key'] = "Private Feed Key";
$lang['account_hamsat_hint'] = "See your profile at <a href='https://hams.at/users/settings' target='_blank'>https://hams.at/users/settings</a>.";
$lang['account_hamsat_workable_only'] = "Show Workable Passes Only";
$lang['account_hamsat_workable_only_hint'] = "If enabled shows only workable passes based on the gridsquare set in your hams.at account. Requires private feed key to be set.";
$lang['account_references_show'] = "Show Reference Fields on QSO Tab";
$lang['account_show_references_on_1st_tab'] = "The enabled items will be shown on the QSO tab rather than the General tab.";

View File

@@ -27,6 +27,7 @@ $lang['contesting_btn_save_qso'] = 'Uložit QSO';
$lang['contesting_title_callsign_suggestions'] = 'Našeptávač značek';
$lang['contesting_title_contest_logbook'] = 'Závodní deník';
$lang['contesting_copy_exch_to_dok'] = 'Copy received exchange to DOK field in the database!';
$lang['contesting_copy_exch_to'] = 'Copy received exchange to';
$lang['contesting_copy_exch_hint'] = 'Exchange is only copied if it is matching rules for the selected field!';

View File

@@ -117,6 +117,7 @@ $lang['filter_actions_print_label'] = 'Print Label';
$lang['filter_actions_start_print_title'] = 'Print Labels';
$lang['filter_actions_print_include_via'] = "Include Via";
$lang['filter_actions_print_include_grid'] = 'Include Grid?';
$lang['filter_actions_print_include_ref'] = "Include reference? (SIG, SOTA, POTA, IOTA, WWFF; If available in location)";
$lang['filter_actions_start_print'] = 'Start printing at?';
$lang['filter_actions_print'] = 'Print';
$lang['filter_actions_qsl_slideshow'] = 'QSL Slideshow';

View File

@@ -19,6 +19,7 @@ $lang['general_word_cancel'] = "Cancel";
$lang['general_word_ok'] = "OK";
$lang['general_word_show'] = "Show";
$lang['general_word_attention'] = "Attention";
$lang['general_word_message'] = "Message";
$lang['general_word_enabled'] = "Enabled";
$lang['general_word_disabled'] = "Disabled";
$lang['general_word_export'] = "Export";
@@ -48,6 +49,7 @@ $lang['general_word_satellite_short'] = 'Sat';
$lang['general_word_notes'] = 'Poznámky';
$lang['general_word_country'] = 'Země';
$lang['general_word_city'] = 'Město';
$lang['general_word_age'] = 'Age';
$lang['general_word_total'] = 'Celkem';
$lang['general_word_year'] = 'Rok';
@@ -153,6 +155,7 @@ $lang['gen_hamradio_qslvia'] = 'QSL via';
$lang['gen_hamradio_qslmsg'] = 'QSL Msg';
$lang['gen_hamradio_locator'] = 'Lokátor';
$lang['gen_hamradio_transmit_power'] = 'Vysílací výkon (W)';
$lang['gen_hamradio_receive_power'] = 'RX Power (W)';
$lang['gen_hamradio_propagation_mode'] = 'Šíření signálu';
$lang['gen_hamradio_satellite_name'] = 'Název satelitu';
@@ -232,4 +235,5 @@ $lang['dashboard_logbooks_warning'] = 'You have no station logbook. Go <a href="
$lang['hams_at_no_activations_found'] = 'No upcoming activations found. Please check back later.';
$lang['gen_add_to_contest'] = "Add QSOs to Contest";
$lang['datatables_language'] = "en-GB";

View File

@@ -105,3 +105,6 @@ $lang['menu_forum'] = 'Fórum';
$lang['menu_logout'] = 'Odhlásit se';
$lang['menu_extras'] = "Extras";
$lang['menu_satellites'] = 'Satellites';
$lang['menu_dx_calendar'] = 'DX Calendar';
$lang['menu_contest_calendar'] = 'Contest Calendar';

View File

@@ -132,3 +132,6 @@ $lang['account_hamsat_private_feed_key'] = "Private Feed Key";
$lang['account_hamsat_hint'] = "See your profile at <a href='https://hams.at/users/settings' target='_blank'>https://hams.at/users/settings</a>.";
$lang['account_hamsat_workable_only'] = "Show Workable Passes Only";
$lang['account_hamsat_workable_only_hint'] = "If enabled shows only workable passes based on the gridsquare set in your hams.at account. Requires private feed key to be set.";
$lang['account_references_show'] = "Show Reference Fields on QSO Tab";
$lang['account_show_references_on_1st_tab'] = "The enabled items will be shown on the QSO tab rather than the General tab.";

View File

@@ -27,6 +27,7 @@ $lang['contesting_btn_save_qso'] = 'Bewaar QSO';
$lang['contesting_title_callsign_suggestions'] = 'Roepnaam suggesties';
$lang['contesting_title_contest_logbook'] = 'Contest Logboek';
$lang['contesting_copy_exch_to_dok'] = 'Copy received exchange to DOK field in the database!';
$lang['contesting_copy_exch_to'] = 'Copy received exchange to';
$lang['contesting_copy_exch_hint'] = 'Exchange is only copied if it is matching rules for the selected field!';

View File

@@ -117,6 +117,7 @@ $lang['filter_actions_print_label'] = 'Print Label';
$lang['filter_actions_start_print_title'] = 'Print Labels';
$lang['filter_actions_print_include_via'] = "Include Via";
$lang['filter_actions_print_include_grid'] = 'Include Grid?';
$lang['filter_actions_print_include_ref'] = "Include reference? (SIG, SOTA, POTA, IOTA, WWFF; If available in location)";
$lang['filter_actions_start_print'] = 'Start printing at?';
$lang['filter_actions_print'] = 'Print';
$lang['filter_actions_qsl_slideshow'] = 'QSL Slideshow';

View File

@@ -19,6 +19,7 @@ $lang['general_word_cancel'] = "Cancel";
$lang['general_word_ok'] = "OK";
$lang['general_word_show'] = "Show";
$lang['general_word_attention'] = "Attention";
$lang['general_word_message'] = "Message";
$lang['general_word_enabled'] = "Enabled";
$lang['general_word_disabled'] = "Disabled";
$lang['general_word_export'] = "Export";
@@ -48,6 +49,7 @@ $lang['general_word_satellite_short'] = 'Sat';
$lang['general_word_notes'] = 'Aantekeningen';
$lang['general_word_country'] = 'Land';
$lang['general_word_city'] = 'By';
$lang['general_word_age'] = 'Age';
$lang['general_word_total'] = 'Totaal';
$lang['general_word_year'] = 'Jaar';
@@ -153,6 +155,7 @@ $lang['gen_hamradio_qslvia'] = 'QSL via';
$lang['gen_hamradio_qslmsg'] = 'QSL Msg';
$lang['gen_hamradio_locator'] = 'Locator';
$lang['gen_hamradio_transmit_power'] = 'Vermogen (W)';
$lang['gen_hamradio_receive_power'] = 'RX Power (W)';
$lang['gen_hamradio_propagation_mode'] = 'Propagattie Mode';
$lang['gen_hamradio_satellite_name'] = 'Satelliet Naam';
@@ -232,4 +235,5 @@ $lang['dashboard_logbooks_warning'] = 'You have no station logbook. Go <a href="
$lang['hams_at_no_activations_found'] = 'No upcoming activations found. Please check back later.';
$lang['gen_add_to_contest'] = "Add QSOs to Contest";
$lang['datatables_language'] = "en-GB";

View File

@@ -105,3 +105,6 @@ $lang['menu_forum'] = 'Forum';
$lang['menu_logout'] = 'Logout';
$lang['menu_extras'] = "Extras";
$lang['menu_satellites'] = 'Satellites';
$lang['menu_dx_calendar'] = 'DX Calendar';
$lang['menu_contest_calendar'] = 'Contest Calendar';

View File

@@ -132,3 +132,6 @@ $lang['account_hamsat_private_feed_key'] = "Private Feed Key";
$lang['account_hamsat_hint'] = "See your profile at <a href='https://hams.at/users/settings' target='_blank'>https://hams.at/users/settings</a>.";
$lang['account_hamsat_workable_only'] = "Show Workable Passes Only";
$lang['account_hamsat_workable_only_hint'] = "If enabled shows only workable passes based on the gridsquare set in your hams.at account. Requires private feed key to be set.";
$lang['account_references_show'] = "Show Reference Fields on QSO Tab";
$lang['account_show_references_on_1st_tab'] = "The enabled items will be shown on the QSO tab rather than the General tab.";

View File

@@ -27,6 +27,7 @@ $lang['contesting_btn_save_qso'] = 'Save QSO';
$lang['contesting_title_callsign_suggestions'] = 'Callsign Suggestions';
$lang['contesting_title_contest_logbook'] = 'Contest Logbook';
$lang['contesting_copy_exch_to_dok'] = 'Copy received exchange to DOK field in the database!';
$lang['contesting_copy_exch_to'] = 'Copy received exchange to';
$lang['contesting_copy_exch_hint'] = 'Exchange is only copied if it is matching rules for the selected field!';

View File

@@ -117,6 +117,7 @@ $lang['filter_actions_print_label'] = 'Print Label';
$lang['filter_actions_start_print_title'] = 'Print Labels';
$lang['filter_actions_print_include_via'] = "Include Via";
$lang['filter_actions_print_include_grid'] = 'Include Grid?';
$lang['filter_actions_print_include_ref'] = "Include reference? (SIG, SOTA, POTA, IOTA, WWFF; If available in location)";
$lang['filter_actions_start_print'] = 'Start printing at?';
$lang['filter_actions_print'] = 'Print';
$lang['filter_actions_qsl_slideshow'] = 'QSL Slideshow';

View File

@@ -19,6 +19,7 @@ $lang['general_word_cancel'] = "Cancel";
$lang['general_word_ok'] = "OK";
$lang['general_word_show'] = "Show";
$lang['general_word_attention'] = "Attention";
$lang['general_word_message'] = "Message";
$lang['general_word_enabled'] = "Enabled";
$lang['general_word_disabled'] = "Disabled";
$lang['general_word_export'] = "Export";
@@ -48,6 +49,7 @@ $lang['general_word_satellite_short'] = 'Sat';
$lang['general_word_notes'] = 'Notes';
$lang['general_word_country'] = 'Country';
$lang['general_word_city'] = 'City';
$lang['general_word_age'] = 'Age';
$lang['general_word_total'] = 'Total';
$lang['general_word_year'] = 'Year';
@@ -153,6 +155,7 @@ $lang['gen_hamradio_qslvia'] = 'QSL via';
$lang['gen_hamradio_qslmsg'] = 'QSL Msg';
$lang['gen_hamradio_locator'] = 'Locator';
$lang['gen_hamradio_transmit_power'] = 'Transmit Power (W)';
$lang['gen_hamradio_receive_power'] = 'RX Power (W)';
$lang['gen_hamradio_propagation_mode'] = 'Propagation Mode';
$lang['gen_hamradio_satellite_name'] = 'Satellite Name';
@@ -232,4 +235,5 @@ $lang['dashboard_logbooks_warning'] = 'You have no station logbook. Go <a href="
$lang['hams_at_no_activations_found'] = 'No upcoming activations found. Please check back later.';
$lang['gen_add_to_contest'] = "Add QSOs to Contest";
$lang['datatables_language'] = "en-GB";

View File

@@ -20,6 +20,7 @@ $lang['gridsquares_show_qsos'] = "Show QSO's";
$lang['gridsquares_show_map'] = "Show Map";
$lang['gridsquares_band'] = 'Band';
$lang['gridsquares_mode'] = 'Mode';
$lang['gridsquares_orbit'] = 'Orbit';
$lang['gridsquares_sat'] = 'Satellite';
$lang['gridsquares_confirmation'] = 'Confirmation';

View File

@@ -105,3 +105,6 @@ $lang['menu_forum'] = 'Forum';
$lang['menu_logout'] = 'Logout';
$lang['menu_extras'] = "Extras";
$lang['menu_satellites'] = 'Satellites';
$lang['menu_dx_calendar'] = 'DX Calendar';
$lang['menu_contest_calendar'] = 'Contest Calendar';

View File

@@ -132,3 +132,6 @@ $lang['account_hamsat_private_feed_key'] = "Private Feed Key";
$lang['account_hamsat_hint'] = "See your profile at <a href='https://hams.at/users/settings' target='_blank'>https://hams.at/users/settings</a>.";
$lang['account_hamsat_workable_only'] = "Show Workable Passes Only";
$lang['account_hamsat_workable_only_hint'] = "If enabled shows only workable passes based on the gridsquare set in your hams.at account. Requires private feed key to be set.";
$lang['account_references_show'] = "Show Reference Fields on QSO Tab";
$lang['account_show_references_on_1st_tab'] = "The enabled items will be shown on the QSO tab rather than the General tab.";

View File

@@ -27,6 +27,7 @@ $lang['contesting_btn_save_qso'] = 'TALLENNA QSO';
$lang['contesting_title_callsign_suggestions'] = 'Ehdotettu kutsu';
$lang['contesting_title_contest_logbook'] = 'Kilpailussa pidetyt yhteydet';
$lang['contesting_copy_exch_to_dok'] = 'Copy received exchange to DOK field in the database!';
$lang['contesting_copy_exch_to'] = 'Copy received exchange to';
$lang['contesting_copy_exch_hint'] = 'Exchange is only copied if it is matching rules for the selected field!';

View File

@@ -117,6 +117,7 @@ $lang['filter_actions_print_label'] = 'Print Label';
$lang['filter_actions_start_print_title'] = 'Print Labels';
$lang['filter_actions_print_include_via'] = "Include Via";
$lang['filter_actions_print_include_grid'] = 'Include Grid?';
$lang['filter_actions_print_include_ref'] = "Include reference? (SIG, SOTA, POTA, IOTA, WWFF; If available in location)";
$lang['filter_actions_start_print'] = 'Start printing at?';
$lang['filter_actions_print'] = 'Print';
$lang['filter_actions_qsl_slideshow'] = 'QSL Slideshow';

View File

@@ -19,6 +19,7 @@ $lang['general_word_cancel'] = "Cancel";
$lang['general_word_ok'] = "OK";
$lang['general_word_show'] = "Show";
$lang['general_word_attention'] = "Attention";
$lang['general_word_message'] = "Message";
$lang['general_word_enabled'] = "Enabled";
$lang['general_word_disabled'] = "Disabled";
$lang['general_word_export'] = "Export";
@@ -48,6 +49,7 @@ $lang['general_word_satellite_short'] = 'Sat';
$lang['general_word_notes'] = 'Muistiinpanot';
$lang['general_word_country'] = 'Maa';
$lang['general_word_city'] = 'City';
$lang['general_word_age'] = 'Age';
$lang['general_word_total'] = 'Yhteensä';
$lang['general_word_year'] = 'Vuosi';
@@ -153,6 +155,7 @@ $lang['gen_hamradio_qslvia'] = 'QSL via';
$lang['gen_hamradio_qslmsg'] = 'QSL Msg';
$lang['gen_hamradio_locator'] = 'Lokaattori';
$lang['gen_hamradio_transmit_power'] = 'Lähetysteho (W)';
$lang['gen_hamradio_receive_power'] = 'RX Power (W)';
$lang['gen_hamradio_propagation_mode'] = 'Propagaatiomuoto';
$lang['gen_hamradio_satellite_name'] = 'Satelliitti';
@@ -232,4 +235,5 @@ $lang['dashboard_logbooks_warning'] = 'You have no station logbook. Go <a href="
$lang['hams_at_no_activations_found'] = 'No upcoming activations found. Please check back later.';
$lang['gen_add_to_contest'] = "Add QSOs to Contest";
$lang['datatables_language'] = "en-GB";

View File

@@ -105,3 +105,6 @@ $lang['menu_forum'] = 'Foorumi';
$lang['menu_logout'] = 'Kirjaudu ulos';
$lang['menu_extras'] = "Extras";
$lang['menu_satellites'] = 'Satellites';
$lang['menu_dx_calendar'] = 'DX Calendar';
$lang['menu_contest_calendar'] = 'Contest Calendar';

View File

@@ -130,3 +130,6 @@ $lang['account_hamsat_private_feed_key'] = "Private Feed Key";
$lang['account_hamsat_hint'] = "See your profile at <a href='https://hams.at/users/settings' target='_blank'>https://hams.at/users/settings</a>.";
$lang['account_hamsat_workable_only'] = "Show Workable Passes Only";
$lang['account_hamsat_workable_only_hint'] = "If enabled shows only workable passes based on the gridsquare set in your hams.at account. Requires private feed key to be set.";
$lang['account_references_show'] = "Show Reference Fields on QSO Tab";
$lang['account_show_references_on_1st_tab'] = "The enabled items will be shown on the QSO tab rather than the General tab.";

View File

@@ -27,6 +27,7 @@ $lang['contesting_btn_save_qso'] = "Sauvegarder QSO";
$lang['contesting_title_callsign_suggestions'] = "Suggestion d'indicatif";
$lang['contesting_title_contest_logbook'] = "Journal de trafic du concours";
$lang['contesting_copy_exch_to_dok'] = "Copiez l'échange reçu dans le champ DOK de la base de données !";
$lang['contesting_copy_exch_to'] = "Copiez l'échange reçu dans le champ";
$lang['contesting_copy_exch_hint'] = "Exchange is only copied if it is matching rules for the selected field!";

View File

@@ -117,6 +117,7 @@ $lang['filter_actions_print_label'] = "Imprimer Etiquette";
$lang['filter_actions_start_print_title'] = "Impression d'étiquettes";
$lang['filter_actions_print_include_via'] = "Ajouter Via";
$lang['filter_actions_print_include_grid'] = "Ajouter Locator";
$lang['filter_actions_print_include_ref'] = "Include reference? (SIG, SOTA, POTA, IOTA, WWFF; If available in location)";
$lang['filter_actions_start_print'] = "Commencer à imprimer à";
$lang['filter_actions_print'] = "Imprimer";
$lang['filter_actions_qsl_slideshow'] = "Diaporama QSL";

View File

@@ -19,6 +19,7 @@ $lang['general_word_cancel'] = "Annuler";
$lang['general_word_ok'] = "OK";
$lang['general_word_show'] = "Show";
$lang['general_word_attention'] = "Attention";
$lang['general_word_message'] = "Message";
$lang['general_word_enabled'] = "Activé";
$lang['general_word_disabled'] = "Désactivé";
$lang['general_word_export'] = "Export";
@@ -48,6 +49,7 @@ $lang['general_word_satellite_short'] = "Sat";
$lang['general_word_notes'] = "Notes";
$lang['general_word_country'] = "Pays";
$lang['general_word_city'] = "Ville";
$lang['general_word_age'] = "Âge";
$lang['general_word_total'] = "Total";
$lang['general_word_year'] = "Année";
@@ -153,6 +155,7 @@ $lang['gen_hamradio_qslvia'] = "QSL via";
$lang['gen_hamradio_qslmsg'] = "QSL Msg";
$lang['gen_hamradio_locator'] = "Locator";
$lang['gen_hamradio_transmit_power'] = "Puissance Emission (W)";
$lang['gen_hamradio_receive_power'] = "Puissance RX (W)";
$lang['gen_hamradio_propagation_mode'] = "Mode Propagation";
$lang['gen_hamradio_satellite_name'] = "Nom du Satellite";
@@ -232,4 +235,5 @@ $lang['dashboard_logbooks_warning'] = "Vous n'avez pas de journal de travail pou
$lang['hams_at_no_activations_found'] = "Aucune activation à venir trouvée. Veuillez revenir plus tard.";
$lang['gen_add_to_contest'] = "Add QSOs to Contest";
$lang['datatables_language'] = "fr-FR";

View File

@@ -105,3 +105,6 @@ $lang['menu_forum'] = 'Forum';
$lang['menu_logout'] = 'Logout';
$lang['menu_extras'] = "Extras";
$lang['menu_satellites'] = 'Satellites';
$lang['menu_dx_calendar'] = 'DX Calendar';
$lang['menu_contest_calendar'] = 'Contest Calendar';

View File

@@ -132,3 +132,6 @@ $lang['account_hamsat_private_feed_key'] = "Private Feed Key";
$lang['account_hamsat_hint'] = "Siehe dein Profil unter <a href='https://hams.at/users/settings' target='_blank'>https://hams.at/users/settings</a>.";
$lang['account_hamsat_workable_only'] = "Zeige nur Überflüge an, die gearbeitet werden können";
$lang['account_hamsat_workable_only_hint'] = "Wenn aktiviert, werden nur sichtbare Überflüge basierend auf dem Locator des hams.at Profils angezeigt. Dazu muss der Private Feed Key konfiguriert sein.";
$lang['account_references_show'] = "Zeige Referenzen auf QSO-Reiter";
$lang['account_show_references_on_1st_tab'] = "Die aktivierten Elemente werden auf dem QSO-Reiter statt des allgemeinen Reiters angezeigt.";

View File

@@ -27,6 +27,7 @@ $lang['contesting_btn_save_qso'] = 'Speichere QSO';
$lang['contesting_title_callsign_suggestions'] = 'Rufzeichenvorschläge';
$lang['contesting_title_contest_logbook'] = 'Contest-Logbuch';
$lang['contesting_copy_exch_to_dok'] = 'Kopiere den erhaltenen Exchange in das DOK Feld der Datenbank!';
$lang['contesting_copy_exch_to'] = 'Kopiere Exchange zu';
$lang['contesting_copy_exch_hint'] = 'Exchange wird nur kopiert, wenn der Wert Regeln für das Zielfeld erfüllt!';

View File

@@ -117,6 +117,7 @@ $lang['filter_actions_print_label'] = 'Label drucken';
$lang['filter_actions_start_print_title'] = 'Label Drucken';
$lang['filter_actions_print_include_via'] = "Include Via";
$lang['filter_actions_print_include_grid'] = 'Mit Planquadrat?';
$lang['filter_actions_print_include_ref'] = "Include reference? (SIG, SOTA, POTA, IOTA, WWFF; If available in location)";
$lang['filter_actions_start_print'] = 'Druck starten bei?';
$lang['filter_actions_print'] = 'Drucken';
$lang['filter_actions_qsl_slideshow'] = 'QSL Präsentation';

View File

@@ -19,6 +19,7 @@ $lang['general_word_cancel'] = "Abbrechen";
$lang['general_word_ok'] = "OK";
$lang['general_word_show'] = "Anzeigen";
$lang['general_word_attention'] = "Achtung";
$lang['general_word_message'] = "Nachricht";
$lang['general_word_enabled'] = "Eingeschaltet";
$lang['general_word_disabled'] = "Ausgeschaltet";
$lang['general_word_export'] = "Exportieren";
@@ -48,6 +49,7 @@ $lang['general_word_satellite_short'] = 'Sat';
$lang['general_word_notes'] = 'Notizen';
$lang['general_word_country'] = 'Land';
$lang['general_word_city'] = 'Stadt';
$lang['general_word_age'] = 'Alter';
$lang['general_word_total'] = 'Gesamt';
$lang['general_word_year'] = 'Jahr';
@@ -153,6 +155,7 @@ $lang['gen_hamradio_qslvia'] = 'QSL via';
$lang['gen_hamradio_qslmsg'] = 'QSL Msg';
$lang['gen_hamradio_locator'] = 'Locator';
$lang['gen_hamradio_transmit_power'] = 'Sendeleistung (W)';
$lang['gen_hamradio_receive_power'] = 'Leistung Gegenstation (W)';
$lang['gen_hamradio_propagation_mode'] = 'Propagation';
$lang['gen_hamradio_satellite_name'] = 'Satellit';
@@ -232,4 +235,5 @@ $lang['dashboard_logbooks_warning'] = 'Es wurde kein Stationslogbuch angelegt. K
$lang['hams_at_no_activations_found'] = 'Keine bevorstehenden Aktivierungen gefunden. Bitte später noch einmal vorbeischauen.';
$lang['gen_add_to_contest'] = "QSOs zu Contest hinzuf&uuml;gen";
$lang['datatables_language'] = "de-DE";

View File

@@ -105,3 +105,6 @@ $lang['menu_forum'] = 'Forum';
$lang['menu_logout'] = 'Logout';
$lang['menu_extras'] = "Extras";
$lang['menu_satellites'] = 'Satelliten';
$lang['menu_dx_calendar'] = 'DX Calendar';
$lang['menu_contest_calendar'] = 'Contest Calendar';

View File

@@ -132,3 +132,6 @@ $lang['account_hamsat_private_feed_key'] = "Private Feed Key";
$lang['account_hamsat_hint'] = "See your profile at <a href='https://hams.at/users/settings' target='_blank'>https://hams.at/users/settings</a>.";
$lang['account_hamsat_workable_only'] = "Show Workable Passes Only";
$lang['account_hamsat_workable_only_hint'] = "If enabled shows only workable passes based on the gridsquare set in your hams.at account. Requires private feed key to be set.";
$lang['account_references_show'] = "Show Reference Fields on QSO Tab";
$lang['account_show_references_on_1st_tab'] = "The enabled items will be shown on the QSO tab rather than the General tab.";

View File

@@ -27,6 +27,7 @@ $lang['contesting_btn_save_qso'] = 'Aποθήκευση QSO';
$lang['contesting_title_callsign_suggestions'] = 'Προτάσεις διακριτικού';
$lang['contesting_title_contest_logbook'] = 'Αρχείο διαγωνισμού';
$lang['contesting_copy_exch_to_dok'] = 'Copy received exchange to DOK field in the database!';
$lang['contesting_copy_exch_to'] = 'Copy received exchange to';
$lang['contesting_copy_exch_hint'] = 'Exchange is only copied if it is matching rules for the selected field!';

View File

@@ -117,6 +117,7 @@ $lang['filter_actions_print_label'] = 'Print Label';
$lang['filter_actions_start_print_title'] = 'Print Labels';
$lang['filter_actions_print_include_via'] = "Include Via";
$lang['filter_actions_print_include_grid'] = 'Include Grid?';
$lang['filter_actions_print_include_ref'] = "Include reference? (SIG, SOTA, POTA, IOTA, WWFF; If available in location)";
$lang['filter_actions_start_print'] = 'Start printing at?';
$lang['filter_actions_print'] = 'Print';
$lang['filter_actions_qsl_slideshow'] = 'QSL Slideshow';

View File

@@ -19,6 +19,7 @@ $lang['general_word_cancel'] = "Cancel";
$lang['general_word_ok'] = "OK";
$lang['general_word_show'] = "Show";
$lang['general_word_attention'] = "Attention";
$lang['general_word_message'] = "Message";
$lang['general_word_enabled'] = "Enabled";
$lang['general_word_disabled'] = "Disabled";
$lang['general_word_export'] = "Export";
@@ -48,6 +49,7 @@ $lang['general_word_satellite_short'] = 'Δορ';
$lang['general_word_notes'] = 'Σημειώσεις';
$lang['general_word_country'] = 'Χώρα';
$lang['general_word_city'] = 'City';
$lang['general_word_age'] = 'Age';
$lang['general_word_total'] = 'Σύνολο';
$lang['general_word_year'] = 'Ετος';
@@ -153,6 +155,7 @@ $lang['gen_hamradio_qslvia'] = 'QSL via';
$lang['gen_hamradio_qslmsg'] = 'QSL Msg';
$lang['gen_hamradio_locator'] = 'Τοποθετών';
$lang['gen_hamradio_transmit_power'] = 'Ισχύ διαβίβασης (W)';
$lang['gen_hamradio_receive_power'] = 'RX Power (W)';
$lang['gen_hamradio_propagation_mode'] = 'Λειτουργία διάδοσης';
$lang['gen_hamradio_satellite_name'] = 'Όνομα δορυφόρου';
@@ -232,4 +235,5 @@ $lang['dashboard_logbooks_warning'] = 'You have no station logbook. Go <a href="
$lang['hams_at_no_activations_found'] = 'No upcoming activations found. Please check back later.';
$lang['gen_add_to_contest'] = "Add QSOs to Contest";
$lang['datatables_language'] = "en-GB";

View File

@@ -105,3 +105,6 @@ $lang['menu_forum'] = 'Forum';
$lang['menu_logout'] = 'Logout';
$lang['menu_extras'] = "Extras";
$lang['menu_satellites'] = 'Satellites';
$lang['menu_dx_calendar'] = 'DX Calendar';
$lang['menu_contest_calendar'] = 'Contest Calendar';

View File

@@ -132,3 +132,6 @@ $lang['account_hamsat_private_feed_key'] = "Private Feed Key";
$lang['account_hamsat_hint'] = "See your profile at <a href='https://hams.at/users/settings' target='_blank'>https://hams.at/users/settings</a>.";
$lang['account_hamsat_workable_only'] = "Show Workable Passes Only";
$lang['account_hamsat_workable_only_hint'] = "If enabled shows only workable passes based on the gridsquare set in your hams.at account. Requires private feed key to be set.";
$lang['account_references_show'] = "Show Reference Fields on QSO Tab";
$lang['account_show_references_on_1st_tab'] = "The enabled items will be shown on the QSO tab rather than the General tab.";

View File

@@ -27,6 +27,7 @@ $lang['contesting_btn_save_qso'] = 'Salva QSO';
$lang['contesting_title_callsign_suggestions'] = 'Suggerimenti Nominativi';
$lang['contesting_title_contest_logbook'] = 'Log del Contest';
$lang['contesting_copy_exch_to_dok'] = 'Copy received exchange to DOK field in the database!';
$lang['contesting_copy_exch_to'] = 'Copy received exchange to';
$lang['contesting_copy_exch_hint'] = 'Exchange is only copied if it is matching rules for the selected field!';

View File

@@ -117,6 +117,7 @@ $lang['filter_actions_print_label'] = 'Print Label';
$lang['filter_actions_start_print_title'] = 'Print Labels';
$lang['filter_actions_print_include_via'] = "Include Via";
$lang['filter_actions_print_include_grid'] = 'Include Grid?';
$lang['filter_actions_print_include_ref'] = "Include reference? (SIG, SOTA, POTA, IOTA, WWFF; If available in location)";
$lang['filter_actions_start_print'] = 'Start printing at?';
$lang['filter_actions_print'] = 'Print';
$lang['filter_actions_qsl_slideshow'] = 'QSL Slideshow';

View File

@@ -19,6 +19,7 @@ $lang['general_word_cancel'] = "Cancel";
$lang['general_word_ok'] = "OK";
$lang['general_word_show'] = "Show";
$lang['general_word_attention'] = "Attention";
$lang['general_word_message'] = "Message";
$lang['general_word_enabled'] = "Enabled";
$lang['general_word_disabled'] = "Disabled";
$lang['general_word_export'] = "Export";
@@ -48,6 +49,7 @@ $lang['general_word_satellite_short'] = 'Sat';
$lang['general_word_notes'] = 'Note';
$lang['general_word_country'] = 'Paese';
$lang['general_word_city'] = 'City';
$lang['general_word_age'] = 'Age';
$lang['general_word_total'] = 'Totale';
$lang['general_word_year'] = 'Anno';
@@ -153,6 +155,7 @@ $lang['gen_hamradio_qslvia'] = 'QSL via';
$lang['gen_hamradio_qslmsg'] = 'QSL Msg';
$lang['gen_hamradio_locator'] = 'Locatore';
$lang['gen_hamradio_transmit_power'] = 'Potenza di Trasmissione (W)';
$lang['gen_hamradio_receive_power'] = 'RX Power (W)';
$lang['gen_hamradio_propagation_mode'] = 'Modo di Propagazione';
$lang['gen_hamradio_satellite_name'] = 'Nome Satellite';
@@ -232,4 +235,5 @@ $lang['dashboard_logbooks_warning'] = 'You have no station logbook. Go <a href="
$lang['hams_at_no_activations_found'] = 'No upcoming activations found. Please check back later.';
$lang['gen_add_to_contest'] = "Add QSOs to Contest";
$lang['datatables_language'] = "it-IT";

View File

@@ -105,3 +105,6 @@ $lang['menu_forum'] = 'Forum';
$lang['menu_logout'] = 'Logout';
$lang['menu_extras'] = "Extras";
$lang['menu_satellites'] = 'Satellites';
$lang['menu_dx_calendar'] = 'DX Calendar';
$lang['menu_contest_calendar'] = 'Contest Calendar';

View File

@@ -132,3 +132,6 @@ $lang['account_hamsat_private_feed_key'] = "Private Feed Key";
$lang['account_hamsat_hint'] = "See your profile at <a href='https://hams.at/users/settings' target='_blank'>https://hams.at/users/settings</a>.";
$lang['account_hamsat_workable_only'] = "Show Workable Passes Only";
$lang['account_hamsat_workable_only_hint'] = "If enabled shows only workable passes based on the gridsquare set in your hams.at account. Requires private feed key to be set.";
$lang['account_references_show'] = "Show Reference Fields on QSO Tab";
$lang['account_show_references_on_1st_tab'] = "The enabled items will be shown on the QSO tab rather than the General tab.";

View File

@@ -27,6 +27,7 @@ $lang['contesting_btn_save_qso'] = 'Zapisz łączność';
$lang['contesting_title_callsign_suggestions'] = 'Podpowiadanie znaków';
$lang['contesting_title_contest_logbook'] = 'Log zawodów';
$lang['contesting_copy_exch_to_dok'] = 'Copy received exchange to DOK field in the database!';
$lang['contesting_copy_exch_to'] = 'Copy received exchange to';
$lang['contesting_copy_exch_hint'] = 'Exchange is only copied if it is matching rules for the selected field!';

View File

@@ -117,6 +117,7 @@ $lang['filter_actions_print_label'] = 'Print Label';
$lang['filter_actions_start_print_title'] = 'Print Labels';
$lang['filter_actions_print_include_via'] = "Include Via";
$lang['filter_actions_print_include_grid'] = 'Include Grid?';
$lang['filter_actions_print_include_ref'] = "Include reference? (SIG, SOTA, POTA, IOTA, WWFF; If available in location)";
$lang['filter_actions_start_print'] = 'Start printing at?';
$lang['filter_actions_print'] = 'Print';
$lang['filter_actions_qsl_slideshow'] = 'QSL Slideshow';

View File

@@ -19,6 +19,7 @@ $lang['general_word_cancel'] = "Cancel";
$lang['general_word_ok'] = "OK";
$lang['general_word_show'] = "Show";
$lang['general_word_attention'] = "Attention";
$lang['general_word_message'] = "Message";
$lang['general_word_enabled'] = "Enabled";
$lang['general_word_disabled'] = "Disabled";
$lang['general_word_export'] = "Export";
@@ -48,6 +49,7 @@ $lang['general_word_satellite_short'] = 'Sat';
$lang['general_word_notes'] = 'Notatki';
$lang['general_word_country'] = 'Kraj';
$lang['general_word_city'] = 'City';
$lang['general_word_age'] = 'Age';
$lang['general_word_total'] = 'Suma';
$lang['general_word_year'] = 'Rok';
@@ -153,6 +155,7 @@ $lang['gen_hamradio_qslvia'] = 'QSL via';
$lang['gen_hamradio_qslmsg'] = 'QSL Msg';
$lang['gen_hamradio_locator'] = 'Lokator';
$lang['gen_hamradio_transmit_power'] = 'Moc nadajnika (W)';
$lang['gen_hamradio_receive_power'] = 'RX Power (W)';
$lang['gen_hamradio_propagation_mode'] = 'Typ propagacji';
$lang['gen_hamradio_satellite_name'] = 'Nazwa satelity';
@@ -232,4 +235,5 @@ $lang['dashboard_logbooks_warning'] = 'You have no station logbook. Go <a href="
$lang['hams_at_no_activations_found'] = 'No upcoming activations found. Please check back later.';
$lang['gen_add_to_contest'] = "Add QSOs to Contest";
$lang['datatables_language'] = "en-GB";

View File

@@ -105,3 +105,6 @@ $lang['menu_forum'] = 'Forum';
$lang['menu_logout'] = 'Logout';
$lang['menu_extras'] = "Extras";
$lang['menu_satellites'] = 'Satellites';
$lang['menu_dx_calendar'] = 'DX Calendar';
$lang['menu_contest_calendar'] = 'Contest Calendar';

View File

@@ -132,3 +132,6 @@ $lang['account_hamsat_private_feed_key'] = "Private Feed Key";
$lang['account_hamsat_hint'] = "See your profile at <a href='https://hams.at/users/settings' target='_blank'>https://hams.at/users/settings</a>.";
$lang['account_hamsat_workable_only'] = "Show Workable Passes Only";
$lang['account_hamsat_workable_only_hint'] = "If enabled shows only workable passes based on the gridsquare set in your hams.at account. Requires private feed key to be set.";
$lang['account_references_show'] = "Show Reference Fields on QSO Tab";
$lang['account_show_references_on_1st_tab'] = "The enabled items will be shown on the QSO tab rather than the General tab.";

View File

@@ -27,6 +27,7 @@ $lang['contesting_btn_save_qso'] = 'Сохранить QSO';
$lang['contesting_title_callsign_suggestions'] = 'Предложение позывных';
$lang['contesting_title_contest_logbook'] = 'Журнал контеста';
$lang['contesting_copy_exch_to_dok'] = 'Копировать принятый обмен в поле DOK базы данных!';
$lang['contesting_copy_exch_to'] = 'Copy received exchange to';
$lang['contesting_copy_exch_hint'] = 'Exchange is only copied if it is matching rules for the selected field!';

View File

@@ -117,6 +117,7 @@ $lang['filter_actions_start_print_title'] = 'Печать наклеек';
$lang['filter_actions_print_include_via'] = "Включить через?";
$lang['filter_actions_print_include_grid'] = 'Включить квадрат?';
$lang['filter_actions_start_print'] = 'Начать печать в?';
$lang['filter_actions_print_include_ref'] = "Include reference? (SIG, SOTA, POTA, IOTA, WWFF; If available in location)";
$lang['filter_actions_print'] = 'Печать';
$lang['filter_actions_qsl_slideshow'] = 'Слайдшоу QSL';
$lang['filter_actions_delete'] = 'Удалить';

View File

@@ -19,6 +19,7 @@ $lang['general_word_cancel'] = "Отмена";
$lang['general_word_ok'] = "ОК";
$lang['general_word_show'] = "Show";
$lang['general_word_attention'] = "Внимание";
$lang['general_word_message'] = "Message";
$lang['general_word_enabled'] = "Включено";
$lang['general_word_disabled'] = "Выключено";
$lang['general_word_export'] = "Экспорт";
@@ -48,6 +49,7 @@ $lang['general_word_satellite_short'] = 'Спутн.';
$lang['general_word_notes'] = 'Заметки';
$lang['general_word_country'] = 'Страна';
$lang['general_word_city'] = 'City';
$lang['general_word_age'] = 'Age';
$lang['general_word_total'] = 'Всего';
$lang['general_word_year'] = 'Год';
@@ -154,6 +156,7 @@ $lang['gen_hamradio_qslvia'] = 'QSL через';
$lang['gen_hamradio_qslmsg'] = 'сообщение QSL ';
$lang['gen_hamradio_locator'] = 'Локатор';
$lang['gen_hamradio_transmit_power'] = 'Мощность передачи (Вт)';
$lang['gen_hamradio_receive_power'] = 'RX Power (W)';
$lang['gen_hamradio_propagation_mode'] = 'Тип прохождения';
$lang['gen_hamradio_satellite_name'] = 'Название спутника';
@@ -232,5 +235,6 @@ $lang['dashboard_locations_warning'] = 'У вас нет расположени
$lang['dashboard_logbooks_warning'] = 'У вас нет аппаратного журнала! Перейдите <a href="'. site_url('stationsetup') . '">сюда</a>, чтобы создать его!';
$lang['hams_at_no_activations_found'] = 'не найдены предстоящие активации. Проверьте позже.';
$lang['gen_add_to_contest'] = "Add QSOs to Contest";
$lang['datatables_language'] = "en-GB";

View File

@@ -105,3 +105,6 @@ $lang['menu_forum'] = 'Форум';
$lang['menu_logout'] = 'Выход';
$lang['menu_extras'] = "Extras";
$lang['menu_satellites'] = 'Satellites';
$lang['menu_dx_calendar'] = 'DX Calendar';
$lang['menu_contest_calendar'] = 'Contest Calendar';

View File

@@ -132,3 +132,6 @@ $lang['account_hamsat_private_feed_key'] = "Private Feed Key";
$lang['account_hamsat_hint'] = "See your profile at <a href='https://hams.at/users/settings' target='_blank'>https://hams.at/users/settings</a>.";
$lang['account_hamsat_workable_only'] = "Show Workable Passes Only";
$lang['account_hamsat_workable_only_hint'] = "If enabled shows only workable passes based on the gridsquare set in your hams.at account. Requires private feed key to be set.";
$lang['account_references_show'] = "Show Reference Fields on QSO Tab";
$lang['account_show_references_on_1st_tab'] = "The enabled items will be shown on the QSO tab rather than the General tab.";

View File

@@ -27,6 +27,7 @@ $lang['contesting_btn_save_qso'] = 'Guardar QSO';
$lang['contesting_title_callsign_suggestions'] = 'Indicativos sugeridos';
$lang['contesting_title_contest_logbook'] = 'Libro de guardia del concurso';
$lang['contesting_copy_exch_to_dok'] = '¡Copiar intercambio recibido al campo DOK de la base de datos!';
$lang['contesting_copy_exch_to'] = '¡Copiar intercambio recibido al campo';
$lang['contesting_copy_exch_hint'] = 'Exchange is only copied if it is matching rules for the selected field!';

View File

@@ -117,6 +117,7 @@ $lang['filter_actions_print_label'] = 'Imprimir Etiqueta';
$lang['filter_actions_start_print_title'] = 'Imprimir Etiquetas';
$lang['filter_actions_print_include_via'] = "Incluir Vía";
$lang['filter_actions_start_print'] = '¿Iniciar impresión desde?';
$lang['filter_actions_print_include_ref'] = "Include reference? (SIG, SOTA, POTA, IOTA, WWFF; If available in location)";
$lang['filter_actions_print'] = 'Imprimir';
$lang['filter_actions_qsl_slideshow'] = 'Presentación QSL';
$lang['filter_actions_delete'] = 'Eliminar';

View File

@@ -19,6 +19,7 @@ $lang['general_word_cancel'] = "Cancelar";
$lang['general_word_ok'] = "OK";
$lang['general_word_show'] = "Show";
$lang['general_word_message'] = "Message";
$lang['general_word_attention'] = "Atención";
$lang['general_word_enabled'] = "Activado";
$lang['general_word_disabled'] = "Desactivado";
@@ -49,6 +50,7 @@ $lang['general_word_satellite_short'] = 'Sat';
$lang['general_word_notes'] = 'Notas';
$lang['general_word_country'] = 'País';
$lang['general_word_city'] = 'Ciudad';
$lang['general_word_age'] = 'Age';
$lang['general_word_total'] = 'Total';
$lang['general_word_year'] = 'Año';
@@ -154,6 +156,7 @@ $lang['gen_hamradio_qslvia'] = 'QSL via';
$lang['gen_hamradio_qslmsg'] = 'Mensaje QSL';
$lang['gen_hamradio_locator'] = 'Localizador';
$lang['gen_hamradio_transmit_power'] = 'Potencia de transmisión (W)';
$lang['gen_hamradio_receive_power'] = 'RX Power (W)';
$lang['gen_hamradio_propagation_mode'] = 'Modo de propagación';
$lang['gen_hamradio_satellite_name'] = 'Nombre del Satélite';
@@ -232,5 +235,6 @@ $lang['dashboard_locations_warning'] = 'No tiene localizaciones de estaciones.
$lang['dashboard_logbooks_warning'] = 'No tiene libro de guardias. ¡Haga clic <a href="'. site_url('stationsetup') . '">aquí</a> para crear uno!';
$lang['hams_at_no_activations_found'] = 'No hay activaciones próximas. Por favor vuelve a revisar más tarde.';
$lang['gen_add_to_contest'] = "Add QSOs to Contest";
$lang['datatables_language'] = "es-ES";

View File

@@ -105,3 +105,6 @@ $lang['menu_forum'] = 'Forum';
$lang['menu_logout'] = 'Logout';
$lang['menu_extras'] = "Extras";
$lang['menu_satellites'] = 'Satellites';
$lang['menu_dx_calendar'] = 'DX Calendar';
$lang['menu_contest_calendar'] = 'Contest Calendar';

View File

@@ -132,3 +132,6 @@ $lang['account_hamsat_private_feed_key'] = "Private Feed Key";
$lang['account_hamsat_hint'] = "See your profile at <a href='https://hams.at/users/settings' target='_blank'>https://hams.at/users/settings</a>.";
$lang['account_hamsat_workable_only'] = "Show Workable Passes Only";
$lang['account_hamsat_workable_only_hint'] = "If enabled shows only workable passes based on the gridsquare set in your hams.at account. Requires private feed key to be set.";
$lang['account_references_show'] = "Show Reference Fields on QSO Tab";
$lang['account_show_references_on_1st_tab'] = "The enabled items will be shown on the QSO tab rather than the General tab.";

View File

@@ -27,6 +27,7 @@ $lang['contesting_btn_save_qso'] = 'Spara QSO';
$lang['contesting_title_callsign_suggestions'] = 'Signal-förslag';
$lang['contesting_title_contest_logbook'] = 'Contest loggbok';
$lang['contesting_copy_exch_to_dok'] = 'Copy received exchange to DOK field in the database!';
$lang['contesting_copy_exch_to'] = 'Copy received exchange to';
$lang['contesting_copy_exch_hint'] = 'Exchange is only copied if it is matching rules for the selected field!';

View File

@@ -117,6 +117,7 @@ $lang['filter_actions_print_label'] = 'Print Label';
$lang['filter_actions_start_print_title'] = 'Print Labels';
$lang['filter_actions_print_include_via'] = "Include Via";
$lang['filter_actions_print_include_grid'] = 'Include Grid?';
$lang['filter_actions_print_include_ref'] = "Include reference? (SIG, SOTA, POTA, IOTA, WWFF; If available in location)";
$lang['filter_actions_start_print'] = 'Start printing at?';
$lang['filter_actions_print'] = 'Print';
$lang['filter_actions_qsl_slideshow'] = 'QSL Slideshow';

View File

@@ -19,6 +19,7 @@ $lang['general_word_not_display'] = "Not display";
$lang['general_word_show'] = "Show";
$lang['general_word_icon'] = "Icon";
$lang['general_word_message'] = "Message";
$lang['general_word_cancel'] = "Cancel";
$lang['general_word_ok'] = "OK";
$lang['general_word_attention'] = "Attention";
@@ -50,6 +51,7 @@ $lang['general_word_satellite_short'] = 'Sat';
$lang['general_word_notes'] = 'Anteckningar';
$lang['general_word_country'] = 'Land';
$lang['general_word_city'] = 'City';
$lang['general_word_age'] = 'Age';
$lang['general_word_total'] = 'Totalt';
$lang['general_word_day'] = "Day";
@@ -154,6 +156,7 @@ $lang['gen_hamradio_qslvia'] = 'QSL via';
$lang['gen_hamradio_qslmsg'] = 'QSL Msg';
$lang['gen_hamradio_locator'] = 'Lokator';
$lang['gen_hamradio_transmit_power'] = 'Effekt (W)';
$lang['gen_hamradio_receive_power'] = 'RX Power (W)';
$lang['gen_hamradio_propagation_mode'] = 'Propagation Mode';
$lang['gen_hamradio_satellite_name'] = 'Satellitnamn';
@@ -232,6 +235,7 @@ $lang['dashboard_country_files_warning'] = 'You need to update country files! Go
$lang['dashboard_locations_warning'] = 'You have no station locations. Go <a href="'. site_url('stationsetup') . '">here</a> to create it!';
$lang['dashboard_logbooks_warning'] = 'You have no station logbook. Go <a href="'. site_url('stationsetup') . '">here</a> to create it!';
$lang['gen_add_to_contest'] = "Add QSOs to Contest";
$lang['hams_at_no_activations_found'] = 'No upcoming activations found. Please check back later.';
$lang['datatables_language'] = "en-GB";

View File

@@ -105,3 +105,6 @@ $lang['menu_forum'] = 'Forum';
$lang['menu_logout'] = 'Logga ut';
$lang['menu_extras'] = "Extras";
$lang['menu_satellites'] = 'Satellites';
$lang['menu_dx_calendar'] = 'DX Calendar';
$lang['menu_contest_calendar'] = 'Contest Calendar';

View File

@@ -132,3 +132,6 @@ $lang['account_hamsat_private_feed_key'] = "Private Feed Key";
$lang['account_hamsat_hint'] = "See your profile at <a href='https://hams.at/users/settings' target='_blank'>https://hams.at/users/settings</a>.";
$lang['account_hamsat_workable_only'] = "Show Workable Passes Only";
$lang['account_hamsat_workable_only_hint'] = "If enabled shows only workable passes based on the gridsquare set in your hams.at account. Requires private feed key to be set.";
$lang['account_references_show'] = "Show Reference Fields on QSO Tab";
$lang['account_show_references_on_1st_tab'] = "The enabled items will be shown on the QSO tab rather than the General tab.";

View File

@@ -27,6 +27,7 @@ $lang['contesting_btn_save_qso'] = 'QSO\'yu kaydet';
$lang['contesting_title_callsign_suggestions'] = 'Çağrı Kodu Önerileri';
$lang['contesting_title_contest_logbook'] = 'Yarışma kayıt defteri';
$lang['contesting_copy_exch_to_dok'] = 'Copy received exchange to DOK field in the database!';
$lang['contesting_copy_exch_to'] = 'Copy received exchange to';
$lang['contesting_copy_exch_hint'] = 'Exchange is only copied if it is matching rules for the selected field!';

View File

@@ -117,6 +117,7 @@ $lang['filter_actions_print_label'] = 'Print Label';
$lang['filter_actions_start_print_title'] = 'Print Labels';
$lang['filter_actions_print_include_via'] = "Include Via";
$lang['filter_actions_print_include_grid'] = 'Include Grid?';
$lang['filter_actions_print_include_ref'] = "Include reference? (SIG, SOTA, POTA, IOTA, WWFF; If available in location)";
$lang['filter_actions_start_print'] = 'Start printing at?';
$lang['filter_actions_print'] = 'Print';
$lang['filter_actions_qsl_slideshow'] = 'QSL Slideshow';

View File

@@ -19,6 +19,7 @@ $lang['general_word_cancel'] = "Cancel";
$lang['general_word_ok'] = "OK";
$lang['general_word_show'] = "Show";
$lang['general_word_attention'] = "Attention";
$lang['general_word_message'] = "Message";
$lang['general_word_enabled'] = "Enabled";
$lang['general_word_disabled'] = "Disabled";
$lang['general_word_export'] = "Export";
@@ -48,6 +49,7 @@ $lang['general_word_satellite_short'] = 'Uydu';
$lang['general_word_notes'] = 'Notlar';
$lang['general_word_country'] = 'Ülke';
$lang['general_word_city'] = 'City';
$lang['general_word_age'] = 'Age';
$lang['general_word_total'] = 'Toplam';
$lang['general_word_year'] = 'Yıl';
@@ -153,6 +155,7 @@ $lang['gen_hamradio_qslvia'] = 'QSL via';
$lang['gen_hamradio_qslmsg'] = 'QSL Msg';
$lang['gen_hamradio_locator'] = 'Konum kodu';
$lang['gen_hamradio_transmit_power'] = 'Yayın Gücü (W)';
$lang['gen_hamradio_receive_power'] = 'RX Power (W)';
$lang['gen_hamradio_propagation_mode'] = 'Yayın Mode';
$lang['gen_hamradio_satellite_name'] = 'Uydu Adı';
@@ -232,4 +235,5 @@ $lang['dashboard_logbooks_warning'] = 'You have no station logbook. Go <a href="
$lang['hams_at_no_activations_found'] = 'No upcoming activations found. Please check back later.';
$lang['gen_add_to_contest'] = "Add QSOs to Contest";
$lang['datatables_language'] = "en-GB";

View File

@@ -105,3 +105,6 @@ $lang['menu_forum'] = 'Forum';
$lang['menu_logout'] = 'Logout';
$lang['menu_extras'] = "Extras";
$lang['menu_satellites'] = 'Satellites';
$lang['menu_dx_calendar'] = 'DX Calendar';
$lang['menu_contest_calendar'] = 'Contest Calendar';

View File

@@ -409,8 +409,8 @@ class DxccFlag
'522' => "\u{1F1FD}\u{1F1F0}" //REPUBLIC OF KOSOVO
);
public function get($dxcc)
{
public function get($dxcc) {
if ($dxcc ?? '' == '') { $dxcc='0'; } // Failover if Empty or NULL
return $this->dxccFlags[$dxcc];
}
}

View File

@@ -17,6 +17,8 @@ class Hamqth {
curl_setopt($ch, CURLOPT_URL, $xml_feed_url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$xml = curl_exec($ch);
curl_close($ch);
@@ -40,6 +42,8 @@ class Hamqth {
curl_setopt($ch, CURLOPT_URL, $xml_feed_url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$xml = curl_exec($ch);
curl_close($ch);
@@ -66,6 +70,8 @@ class Hamqth {
curl_setopt($ch, CURLOPT_URL, $xml_feed_url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$xml = curl_exec($ch);
curl_close($ch);

View File

@@ -17,6 +17,8 @@ class Qrz {
curl_setopt($ch, CURLOPT_URL, $xml_feed_url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$xml = curl_exec($ch);
curl_close($ch);
@@ -40,6 +42,8 @@ class Qrz {
curl_setopt($ch, CURLOPT_URL, $xml_feed_url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$xml = curl_exec($ch);
curl_close($ch);
@@ -65,6 +69,8 @@ class Qrz {
curl_setopt($ch, CURLOPT_URL, $xml_feed_url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$xml = curl_exec($ch);
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

View File

@@ -14,7 +14,7 @@ class Migration_migration extends CI_Migration {
$this->db->query("ALTER TABLE cat CHANGE COLUMN uplink_mode uplink_mode varchar(255) DEFAULT NULL; # was varchar(255) NOT NULL");
$this->db->query("ALTER TABLE cat ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; # was ENGINE=InnoDB DEFAULT CHARSET=latin1");
$this->db->query("ALTER TABLE config ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4; # was ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8");
$this->db->query("ALTER TABLE dxcc ENGINE=MyISAM DEFAULT CHARSET=utf8mb4; # was ENGINE=MyISAM DEFAULT CHARSET=utf8");
$this->db->query("ALTER TABLE dxcc ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;");
$this->db->query("ALTER TABLE dxccexceptions ENGINE=InnoDB AUTO_INCREMENT=166 DEFAULT CHARSET=utf8mb4; # was ENGINE=InnoDB AUTO_INCREMENT=166 DEFAULT CHARSET=utf8");
$this->db->query("ALTER TABLE notes ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4; # was ENGINE=InnoDB DEFAULT CHARSET=latin1");
@@ -23,7 +23,7 @@ class Migration_migration extends CI_Migration {
$this->db->query("ALTER TABLE station_profile ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; # was ENGINE=InnoDB DEFAULT CHARSET=latin1");
$this->db->query("ALTER TABLE timezones CHANGE COLUMN name name varchar(120) COLLATE utf8mb4_bin NOT NULL; # was varchar(120) COLLATE utf8_bin NOT NULL");
$this->db->query("ALTER TABLE timezones ENGINE=MyISAM AUTO_INCREMENT=151 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; # was ENGINE=MyISAM AUTO_INCREMENT=151 DEFAULT CHARSET=utf8 COLLATE=utf8_bin");
$this->db->query("ALTER TABLE timezones ENGINE=InnoDB AUTO_INCREMENT=151 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;");
$this->db->query("ALTER TABLE users CHANGE COLUMN user_callsign user_callsign varchar(32) NOT NULL COMMENT 'User''s callsign'; # was varchar(255) NOT NULL");
$this->db->query("ALTER TABLE users CHANGE COLUMN user_firstname user_firstname varchar(32) NOT NULL COMMENT 'User''s first name'; # was varchar(255) NOT NULL");
$this->db->query("ALTER TABLE users CHANGE COLUMN user_locator user_locator varchar(16) NOT NULL COMMENT 'User''s locator'; # was varchar(255) NOT NULL");
@@ -32,7 +32,7 @@ class Migration_migration extends CI_Migration {
$this->db->query("ALTER TABLE users ADD COLUMN user_eqsl_qth_nickname varchar(32) DEFAULT NULL;");
$this->db->query("ALTER TABLE users ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4; # was ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=latin1");
$this->db->query("ALTER TABLE users ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4;");
$this->db->query("CREATE TABLE IF NOT EXISTS contest_template (
id int(11) NOT NULL AUTO_INCREMENT,
name varchar(255) NOT NULL,
@@ -87,7 +87,6 @@ class Migration_migration extends CI_Migration {
$this->db->query("ALTER TABLE ".$this->config->item('table_name')." CHANGE COLUMN COL_FREQ_RX COL_FREQ_RX bigint(13) DEFAULT NULL; # was int(11) DEFAULT NULL");
$this->db->query("ALTER TABLE ".$this->config->item('table_name')." CHANGE COLUMN COL_FREQ COL_FREQ bigint(13) DEFAULT NULL; # was int(11) DEFAULT NULL");
// $this->db->query("ALTER TABLE ".$this->config->item('table_name')." ENGINE=MyISAM DEFAULT CHARSET=utf8mb4; # was ENGINE=MyISAM DEFAULT CHARSET=latin1"); // Is already MyISAM
$this->db->db_debug = true;
}

View File

@@ -5,7 +5,7 @@ class Migration_create_iota_tables extends CI_Migration {
public function up()
{
// create iota table
$this->db->query("CREATE TABLE `iota` (`Tag` VARCHAR(8) NOT NULL, `Name` LONGTEXT, `Prefix` VARCHAR(16), `DXCCID` INTEGER DEFAULT 0, `Lat1` FLOAT NULL DEFAULT 0, `Lat2` FLOAT NULL DEFAULT 0, `Lon1` FLOAT NULL DEFAULT 0, `Lon2` FLOAT NULL DEFAULT 0, `Status` VARCHAR(1), `Notes` VARCHAR(50), INDEX (`DXCCID`)) ENGINE=myisam DEFAULT CHARSET=utf8;");
$this->db->query("CREATE TABLE `iota` (`Tag` VARCHAR(8) NOT NULL, `Name` LONGTEXT, `Prefix` VARCHAR(16), `DXCCID` INTEGER DEFAULT 0, `Lat1` FLOAT NULL DEFAULT 0, `Lat2` FLOAT NULL DEFAULT 0, `Lon1` FLOAT NULL DEFAULT 0, `Lon2` FLOAT NULL DEFAULT 0, `Status` VARCHAR(1), `Notes` VARCHAR(50), INDEX (`DXCCID`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;");
$this->db->query("INSERT INTO `iota` (`Tag`, `Name`, `Prefix`, `DXCCID`, `Lat1`, `Lat2`, `Lon1`, `Lon2`, `Status`, `Notes`) VALUES ('AF-001', 'Agalega Islands', '3B6', 4, 10, 10.75, 56.25, 57, NULL, NULL);");
$this->db->query("INSERT INTO `iota` (`Tag`, `Name`, `Prefix`, `DXCCID`, `Lat1`, `Lat2`, `Lon1`, `Lon2`, `Status`, `Notes`) VALUES ('AF-002', 'Amsterdam & St Paul Islands', 'FT*Z', 10, 37.75, 39, 77.25, 77.75, NULL, NULL);");

Some files were not shown because too many files have changed in this diff Show More