这个提交包含在:
root 2023-05-23 10:05:58 +00:00
当前提交 bb3b8f45ae
共有 20 个文件被更改,包括 386 次插入24 次删除

查看文件

@ -182,16 +182,16 @@ class eqsl extends CI_Controller {
$status = "";
// begin script
$ch = curl_init();
$ch = curl_init();
// basic curl options for all requests
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
// use the URL we built
curl_setopt($ch, CURLOPT_URL, $adif);
$result = curl_exec($ch);
$result = curl_exec($ch);
$chi = curl_getinfo($ch);
curl_close($ch);
@ -507,8 +507,8 @@ class eqsl extends CI_Controller {
$image_url = $this->electronicqsl->card_image($username, urlencode($password), $callsign, $band, $mode, $year, $month, $day, $hour, $minute);
$file = file_get_contents($image_url, true);
$dom = new domDocument;
$dom->loadHTML($file);
$dom = new domDocument;
$dom->loadHTML($file);
$dom->preserveWhiteSpace = false;
$images = $dom->getElementsByTagName('img');
@ -517,7 +517,7 @@ class eqsl extends CI_Controller {
exit;
}
foreach ($images as $image)
foreach ($images as $image)
{
header('Content-Type: image/jpg');
$content = file_get_contents("https://www.eqsl.cc".$image->getAttribute('src'));
@ -539,6 +539,63 @@ class eqsl extends CI_Controller {
}
function bulk_download_image($id) {
$this->load->library('electronicqsl');
$this->load->model('Eqsl_images');
$this->load->model('logbook_model');
$this->load->model('user_model');
$qso_query = $this->logbook_model->get_qso($id);
$qso = $qso_query->row();
$qso_timestamp = strtotime($qso->COL_TIME_ON);
$callsign = $qso->COL_CALL;
$band = $qso->COL_BAND;
$mode = $qso->COL_MODE;
$year = date('Y', $qso_timestamp);
$month = date('m', $qso_timestamp);
$day = date('d', $qso_timestamp);
$hour = date('H', $qso_timestamp);
$minute = date('i', $qso_timestamp);
$query = $this->user_model->get_by_id($this->session->userdata('user_id'));
$q = $query->row();
$username = $q->user_eqsl_name;
$password = $q->user_eqsl_password;
$error = '';
$image_url = $this->electronicqsl->card_image($username, urlencode($password), $callsign, $band, $mode, $year, $month, $day, $hour, $minute);
$file = file_get_contents($image_url, true);
if (strpos($file, 'Error') !== false) {
$error = rtrim(preg_replace('/^\s*Error: /', '', $file));
return $error;
}
$dom = new domDocument;
$dom->loadHTML($file);
$dom->preserveWhiteSpace = false;
$images = $dom->getElementsByTagName('img');
if(!isset($images) || count($images) == 0) {
$error = "Rate Limited";
return $error;
}
foreach ($images as $image)
{
$content = file_get_contents("https://www.eqsl.cc".$image->getAttribute('src'));
if ($content === false) {
$error = "No response";
return $error;
}
$filename = uniqid().'.jpg';
if (file_put_contents('images/eqsl_card_images/' . '/'.$filename, $content) !== false) {
$this->Eqsl_images->save_image($id, $filename);
}
}
return $error;
}
public function tools() {
// Check logged in
$this->load->model('user_model');
@ -557,15 +614,54 @@ class eqsl extends CI_Controller {
$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'); }
$data['page_title'] = "eQSL Card Image Download";
$this->load->model('eqslmethods_model');
if ($this->input->post('eqsldownload') == 'download') {
$i = 0;
$this->load->model('eqslmethods_model');
$qslsnotdownloaded = $this->eqslmethods_model->eqsl_not_yet_downloaded();
$eqsl_results = array();
foreach ($qslsnotdownloaded->result_array() as $qsl) {
$result = $this->bulk_download_image($qsl['COL_PRIMARY_KEY']);
if ($result != '') {
$errors++;
if ($result == 'Rate Limited') {
break;
} else {
$eqsl_results[] = array(
'date' => $qsl['COL_TIME_ON'],
'call' => $qsl['COL_CALL'],
'mode' => $qsl['COL_MODE'],
'submode' => $qsl['COL_SUBMODE'],
'status' => $result,
'qsoid' => $qsl['COL_PRIMARY_KEY']
);
continue;
}
} else {
$i++;
}
if ($i > 0) {
sleep(15);
}
}
$data['eqsl_results'] = $eqsl_results;
$data['eqsl_stats'] = "Successfully downloaded: ".$i." / Errors: ".count($eqsl_results);
$data['page_title'] = "eQSL Download Information";
$data['custom_date_format'] = $this->session->userdata('user_date_format');
$data['qslsnotdownloaded'] = $this->eqslmethods_model->eqsl_not_yet_downloaded();
$this->load->view('interface_assets/header', $data);
$this->load->view('eqsl/result');
$this->load->view('interface_assets/footer');
} else {
$this->load->view('interface_assets/header', $data);
$this->load->view('eqsl/download');
$this->load->view('interface_assets/footer');
$data['page_title'] = "eQSL Card Image Download";
$this->load->model('eqslmethods_model');
$data['custom_date_format'] = $this->session->userdata('user_date_format');
$data['qslsnotdownloaded'] = $this->eqslmethods_model->eqsl_not_yet_downloaded();
$this->load->view('interface_assets/header', $data);
$this->load->view('eqsl/download');
$this->load->view('interface_assets/footer');
}
}
public function mark_all_sent() {

查看文件

@ -156,7 +156,7 @@ class Lotw extends CI_Controller {
} else {
// Certificate is in the system time to update
$this->LotwCert->update_certificate($this->session->userdata('user_id'), $info['issued_callsign'], $info['dxcc-id'], $info['validFrom'], $info['validTo_Date'], $info['pem_key'], $info['general_cert']);
$this->LotwCert->update_certificate($this->session->userdata('user_id'), $info['issued_callsign'], $info['dxcc-id'], $info['validFrom'], $info['validTo_Date'], $info['qso-first-date'], $info['qso-end-date'], $info['pem_key'], $info['general_cert']);
// Cert success flash message
$this->session->set_flashdata('Success', $info['issued_callsign'].' Certificate Updated.');

查看文件

@ -23,7 +23,7 @@ $lang['account_user_role'] = 'User Role';
$lang['account_theme'] = 'Theme';
$lang['account_stylesheet'] = 'Stylesheet';
$lang['account_personal_iformation'] = 'Personal Information';
$lang['account_personal_information'] = 'Personal Information';
$lang['account_first_name'] = 'First Name';
$lang['account_last_name'] = 'Last Name';
$lang['account_callsign'] = 'Callsign';

查看文件

@ -8,3 +8,84 @@ $lang['account_column2_text'] = 'Wähle Spalte 2';
$lang['account_column3_text'] = 'Wähle Spalte 3';
$lang['account_column4_text'] = 'Wähle Spalte 4';
$lang['account_column5_text'] = 'Wähle Spalte 5 (nur für Logbuch)';
$lang['account_create_user_account'] = 'Benutzerkonto anlegen';
$lang['account_edit_account'] = 'Benutzerkonto editieren';
$lang['account_account_information'] = 'Bnutzerkonto Informationen';
$lang['account_username'] = 'Benutzername';
$lang['account_email_address'] = 'Emailadresse';
$lang['account_password'] = 'Passwort';
$lang['account_roles'] = 'Rollen';
$lang['account_user_role'] = 'Benutzerrolle';
$lang['account_theme'] = 'Thema';
$lang['account_stylesheet'] = 'Stylesheet';
$lang['account_personal_information'] = 'Informationen';
$lang['account_first_name'] = 'Vorname';
$lang['account_last_name'] = 'Nachname';
$lang['account_callsign'] = 'Rufzeichen';
$lang['account_gridsquare'] = 'Planquadrat';
$lang['account_cloudlog_preferences'] = 'Cloudlog Einstellungen';
$lang['account_timezone'] = 'Zeitzone';
$lang['account_date_format'] = 'Datumsformat';
$lang['account_measurement_preference'] = 'Entfernungsformat';
$lang['account_select_how_you_would_like_dates_shown_when_logged_into_your_account'] = 'Wähle, wie Datumsfelder angezeigt werden sollen, wenn du eingeloggt bist.';
$lang['account_choose_which_unit_distances_will_be_shown_in'] = 'Wähle, in welcher Einheit Entfernungen angezeigt werden sollen.';
$lang['account_main_menu'] = 'Hauptmenü';
$lang['account_show_notes_in_the_main_menu'] = 'Zeige Notizen im Hauptmenü';
$lang['account_gridsquare_and_location_autocomplete'] = 'Vervollständigung von Planquadrat und Lokation';
$lang['account_location_auto_lookup'] = 'Automatische Ermittlung der Lokation.';
$lang['account_if_set_gridsquare_is_fetched_based_on_location_name'] = 'Wenn aktiviert, wird das Planquadrat basierend auf der Lokation ermittelt.';
$lang['account_sota_auto_lookup_gridsquare_and_name_for_summit'] = 'Automatische Ermittlung von Planquadrat und Lokation anhand des SOTA Gipfels.';
$lang['account_wwff_auto_lookup_gridsquare_and_name_for_reference'] = 'Automatische Ermittlung von Planquadrat und Lokation andhand der WWFF Referenz.';
$lang['account_pota_auto_lookup_gridsquare_and_name_for_park'] = 'Automatische Ermuttlung des Parknamens anhand der POTA Referenz.';
$lang['account_if_set_name_and_gridsquare_is_fetched_from_the_api_and_filled_in_location_and_locator'] = 'Wenn aktiviert, werden Name und Planquadrat über die API ermittelt und gesetzt.';
$lang['account_previous_qsl_type'] = 'QSL Typ der vorherigen QSOs';
$lang['account_select_the_type_of_qsl_to_show_in_the_previous_qsos_section'] = 'Wähle den QSL-Typ für die Anzeige der bereits getätigten QSOs.';
$lang['account_qrzcom_hamqthcom_images'] = 'qrz.com/hamqth.com Bilder';
$lang['account_show_profile_picture_of_qso_partner_from_qrzcom_hamqthcom_profile_in_the_log_qso_section'] = 'Zeige das Profilbild des QSO-Partners aus seinem qrz.com/hamqth.com Profil in der QSO Loggen Sektion.';
$lang['account_please_set_your_qrzcom_hamqthcom_credentials_in_the_general_config_file'] = 'Bitte qrz.com/hamqth.com Zugangsdaten in der Basiskonfigurationsdatei ablegen.';
$lang['account_amsat_status_upload'] = 'AMSAT Status Upload';
$lang['account_upload_status_of_sat_qsos_to'] = 'Status von SAT QSOs hochladen auf';
$lang['account_logbook_of_the_world'] = 'Logbook of the World';
$lang['account_logbook_of_the_world_lotw_username'] = 'Logbook of The World (LoTW) Benutzername';
$lang['account_logbook_of_the_world_lotw_password'] = 'Logbook of The World (LoTW) Passwort';
$lang['account_leave_blank_to_keep_existing_password'] = 'Leer lassen um das existierende Passwort zu übernehmen';
$lang['account_clublog'] = 'Club Log';
$lang['account_clublog_email_callsign'] = 'Club Log Email/Rufzeichen';
$lang['account_clublog_password'] = 'Club Log Passwort';
$lang['account_the_email_or_callsign_you_use_to_login_to_club_log'] = 'Die Emailadresse oder Rufzeichen, das für den Club Log Login verwendet wird';
$lang['account_eqsl'] = 'eQSL';
$lang['account_eqsl_username'] = 'eQSL.cc Benutzername';
$lang['account_eqsl_password'] = 'eQSL.cc Passwort';
$lang['account_save_account_changes'] = 'Speichere Kontoänderungen';
$lang['account_create_account'] = 'Konto anlegen';
$lang['account_delete_user_account'] = 'Benutzerkonto löschen';
$lang['account_are_you_sure_you_want_to_delete_the_user_account'] = 'Bist du sicher, dass du das Benutzerkonto löschen willst';
$lang['account_yes_delete_this_user'] = 'Ja, Benutzerkonto löschen';
$lang['account_no_do_not_delete_this_user'] = 'Nein, Benutzerkonto nicht löschen';
$lang['account_forgot_password'] = 'Passwort vergessen?';
$lang['account_you_can_reset_your_password_here'] = 'Du kannst dein Passwort hier zurücksetzen.';
$lang['account_reset_password'] = 'Passwort zurücksetzen';
$lang['account_the_email_field_is_required'] = 'Die Emailadresse ist erforderlich';
$lang['account_confirm_password'] = 'Bestätige Passwort';
$lang['account_forgot_your_password'] = 'Passwort vergessen?';
$lang['account_login_to_cloudlog'] = 'Anmeldung bei Cloudlog';
$lang['account_login'] = 'Anmeldung';

查看文件

@ -0,0 +1,18 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
$lang['admin_user_line1'] = 'Es muss mindestens ein Benutzer konfiguriert sein, damit Cloudlog funktioniert.';
$lang['admin_user_line2'] = 'Benutzer können verschiedene Rollen zugewiesen bekommen, die ihnen unterschiedliche Rechte geben wie QSOs zum Logbuch hinzuzufügen und die APIs von Cloudlog zu benutzen';
$lang['admin_user_line3'] = 'Der aktuell angemeldete Benutzer wird oben rechts auf jeder Seite angezeigt.';
$lang['admin_user_list'] = 'User List';
$lang['admin_user'] = 'Benutzer';
$lang['admin_email'] = 'Email';
$lang['admin_type'] = 'Typ';
$lang['admin_options'] = 'Optionen';
$lang['admin_create_user'] = 'Benutzer anlegen';
$lang['admin_delete'] = 'Löschen';
$lang['admin_edit'] = 'Editieren';

查看文件

@ -46,6 +46,7 @@ $lang['general_word_qslcards'] = 'QSL Karten';
$lang['general_word_qslcard_direct'] = 'Direkt';
$lang['general_word_qslcard_bureau'] = 'Büro';
$lang['general_word_qslcard_electronic'] = 'Elektronisch';
$lang['general_word_qslcard_manager'] = 'Manager';
$lang['general_word_qslcard_via'] = 'Via';
$lang['general_word_eqslcard'] = 'eQSL Karte';
$lang['general_word_eqslcards'] = 'eQSL Karten';
@ -126,6 +127,8 @@ $lang['gen_from_date'] = 'Ab Datum';
$lang['gen_this_qso_was_confirmed_on'] = 'Dieses QSO wurde bestätigt am';
$lang['error_no_logbook_found'] = 'Keine Logbücher gefunden. Du muss ein Stationslogbuch anlegen! Mach es hier:';
$lang['copy_to_clipboard'] = 'In die Zwischenablage kopieren';
$lang['africa'] = 'Afrika';
@ -135,3 +138,5 @@ $lang['europe'] = 'Europa';
$lang['northamerica'] = 'Nord-Amerika';
$lang['oceania'] = 'Ozeanien';
$lang['southamerica'] = 'Süd-Amerika';
$lang['gen_band_selection'] = 'Bandauswahl';

查看文件

@ -0,0 +1,13 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
$lang['gridsquares_gridsquare_map'] = 'Planquadratkarte';
$lang['gridsquares_confirmed_is_green'] = 'Bestätigt ist grün';
$lang['gridsquares_worked_but_not_confirmed_is_red'] = 'Gearbeitet aber nicht bestätigt ist rot';
$lang['gridsquares_this_map_does_not_include_satellite_internet_or_repeater_qsos'] = 'Diese Karte beinhaltet keine Satelliten-, Internet- oder Relais-QSOs';
$lang['gridsquares_grid_squares'] = 'Planquadrate';
$lang['gridsquares_total_count'] = 'Summe';

查看文件

@ -16,6 +16,8 @@ $lang['menu_post_contest_logging'] = 'Zeitversetztes Contest Logging';
$lang['menu_view_qsl'] = 'QSL Ansicht';
$lang['menu_view_eqsl'] = 'eQSL Ansicht';
$lang['menu_notes'] = 'Notizen';
$lang['menu_analytics'] = 'Analysen';
$lang['menu_statistics'] = 'Statistik';
$lang['menu_gridsquares'] = 'Planquadrate';

查看文件

@ -0,0 +1,57 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
$lang['options_cloudlog_options'] = 'Cloudlog Optionen';
$lang['options_message1'] = 'Cloudlog Optionen sind globe Einstellungen, die für alle Benutzer der Installation genutzt werden. Sie können auf Benutzerebene überschrieben werden, wenn eine entsprechende Option auf Benutzerebene vorhanden ist.';
$lang['options_appearance'] = 'Erscheinungsbild';
$lang['options_theme'] = 'Thema';
$lang['options_global_theme_choice_this_is_used_when_users_arent_logged_in'] = 'Globales Thema. Dies wird verwendet, wenn keine Benutzer angemeldet sind.';
$lang['options_public_search_bar'] = 'Öffentliches Suchfeld';
$lang['options_this_allows_non_logged_in_users_to_access_the_search_functions'] = 'Dies erlaubt nicht angemeldeten Benutzern, die Suchfunktion zu nutzen.';
$lang['options_dashboard_notification_banner'] = 'Dashboard Benachrichtigungsbanner';
$lang['options_this_allows_to_disable_the_global_notification_banner_on_the_dashboard'] = 'Dies ermöglicht es, die globalen Benachrichtigungsbanner auf dem Dashboard zu deaktivieren.';
$lang['options_dashboard_map'] = 'Dashboard Karte';
$lang['options_this_allows_the_map_on_the_dashboard_to_be_disabled_or_placed_on_the_right'] = 'Dies erlaubt es, die Karte auf dem Dashboard rechts anzuzeigen oder zu deaktivieren.';
$lang['options_logbook_map'] = 'Logbook Karte';
$lang['options_this_allows_to_disable_the_map_in_the_logbook'] = 'Dies erlaubt, die Karte im Logbuch zu deaktivieren.';
$lang['options_theme_changed_to'] = 'Thema geänder zu ';
$lang['options_global_search_changed_to'] = 'Globale Suche geändert zu ';
$lang['options_dashboard_banner_changed_to'] = 'Dashboard Benachrichtigungsbanner geändert zu ';
$lang['options_dashboard_map_changed_to'] = 'Dashboard Karte geändert zu ';
$lang['options_logbook_map_changed_to'] = 'Logbook Karte geändert zu ';
$lang['options_radios'] = 'Funkgeräte';
$lang['options_radio_settings'] = 'Funkgeräteeinstellungen';
$lang['options_radio_timeout_warning'] = 'Funkgeräte Timeout Warnung';
$lang['options_the_radio_timeout_warning_is_used_on_the_qso_entry_panel_to_alert_you_to_radio_interface_disconnects'] = 'Die Funkgeräte Timeout Warnung wird im QSOs Eingabepanel verwendet, um anzuzeigen, wenn die Funkgeräteschnittstelle getrennt wurde.';
$lang['options_this_number_is_in_seconds'] = 'Die Angabe erfolgt in Sekunden.';
$lang['options_radio_timeout_warning_changed_to'] = 'Radio Timeout Warnung geändert zu ';
$lang['options_email'] = 'Email';
$lang['options_outgoing_protocol'] = 'Protokoll für ausgehende Emails';
$lang['options_smtp_encryption'] = 'SMTP Verschlüsselung';
$lang['options_smtp_host'] = 'SMTP Host';
$lang['options_smtp_port'] = 'SMTP Port';
$lang['options_smtp_username'] = 'SMTP Benutzername';
$lang['options_smtp_password'] = 'SMTP Passwort';
$lang['options_crlf'] = 'CRLF';
$lang['options_newline'] = 'Zeilenvorschub';
$lang['options_outgoing_email_protocol_changed_to'] = 'Protokoll für ausgehende Emails geändert zu ';
$lang['options_smtp_encryption_changed_to'] = 'SMTP Verschlüsselung geändert zu ';
$lang['options_smtp_host_changed_to'] = 'SMTP Host geändert zu ';
$lang['options_smtp_port_changed_to'] = 'SMTP Post changed to ';
$lang['options_smtp_username_changed_to'] = 'SMTP Benutzername geändert zu ';
$lang['options_smtp_password_changed_to'] = 'SMTP Passwort geändert zu ';
$lang['options_email_crlf_changed_to'] = 'Email CRLF geändert zu ';
$lang['options_email_newline_changed_to'] = 'Email Zeilenvorschub geändert zu ';
$lang['options_oqrs'] = 'OQRS Optionen';
$lang['options_global_text'] = 'Globaler Text';
$lang['options_this_text_is_an_optional_text_that_can_be_displayed_on_top_of_the_oqrs_page'] = 'Dies ist ein optionaler Text, der auf oben auf der OQRS Seite angezeigt werden kann.';
$lang['options_grouped_search'] = 'Gruppierte Suche';
$lang['options_when_this_is_on_all_station_locations_with_oqrs_active_will_be_searched_at_once'] = 'Wenn aktiviert, werden alle Stationsstandorte auf einmal durchsucht.';
$lang['options_oqrs_options_have_been_saved'] = 'OQRS options have been saved.';
$lang['options_save'] = 'Speichern';

查看文件

@ -0,0 +1,17 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
$lang['statistics_statistics'] = 'Statistiken';
$lang['statistics_explore_the_logbook'] = 'Logbuch untersuchen.';
$lang['statistics_years'] = 'Jahre';
$lang['statistics_mode'] = 'Modi';
$lang['statistics_bands'] = 'Bänder';
$lang['statistics_qsos'] = 'QSOs';
$lang['statistics_unique_callsigns'] = 'Eindeutige Rufzeichen';
$lang['statistics_total'] = 'Gesamt';
$lang['statistics_year'] = 'Jahr';

查看文件

@ -23,7 +23,7 @@ $lang['account_user_role'] = 'Роль пользователя';
$lang['account_theme'] = 'Тема оформления';
$lang['account_stylesheet'] = 'Шаблон';
$lang['account_personal_iformation'] = 'Персональная информация';
$lang['account_personal_information'] = 'Персональная информация';
$lang['account_first_name'] = 'Имя';
$lang['account_last_name'] = 'Фамилия';
$lang['account_callsign'] = 'Позывной';

查看文件

@ -90,6 +90,7 @@ class Eqslmethods_model extends CI_Model {
$this->db->where($this->config->item('table_name').'.COL_EQSL_QSL_RCVD', 'Y');
$this->db->where('qso_id', NULL);
$this->db->where_in('station_profile.station_id', $logbooks_locations_array);
$this->db->order_by("COL_TIME_ON", "desc");
return $this->db->get();
}

查看文件

@ -54,11 +54,13 @@ class LotwCert extends CI_Model {
$this->db->insert('lotw_certs', $data);
}
function update_certificate($user_id, $callsign, $dxcc, $date_created, $date_expires, $cert_key, $general_cert) {
function update_certificate($user_id, $callsign, $dxcc, $date_created, $date_expires, $qso_start_date, $qso_end_date, $cert_key, $general_cert) {
$data = array(
'cert_dxcc_id' => $dxcc,
'date_created' => $date_created,
'date_expires' => $date_expires,
'qso_start_date' => $qso_start_date,
'qso_end_date' => $qso_end_date,
'cert_key' => $cert_key,
'cert' => $general_cert
);

查看文件

@ -17,7 +17,7 @@ $custom_date_format = $this->session->userdata('user_date_format');
<a class="nav-link" href="<?php echo site_url('eqsl/tools');?>">Tools</a>
</li>
<li class="nav-item">
<a class="nav-link" href="<?php echo site_url('eqsl/download');?>">Download eQSL Images</a>
<a class="nav-link" href="<?php echo site_url('eqsl/download');?>">Download eQSL cards</a>
</li>
</ul>
</div>

查看文件

@ -15,7 +15,7 @@
<a class="nav-link" href="<?php echo site_url('eqsl/tools');?>">Tools</a>
</li>
<li class="nav-item">
<a class="nav-link active" href="<?php echo site_url('eqsl/download');?>">Download eQSL Images</a>
<a class="nav-link active" href="<?php echo site_url('eqsl/download');?>">Download eQSL cards</a>
</li>
</ul>
</div>
@ -58,6 +58,18 @@ foreach ($qslsnotdownloaded->result_array() as $qsl) {
echo "</tr>";
?>
</tbody></table>
<br /><br />
<?php echo form_open_multipart('eqsl/download');?>
<div class="form-check">
<input class="form-check-input" type="hidden" name="eqsldownload" id="download" value="download" checked />
<p>Cloudlog will use the eQSL credentials from your Cloudlog user profile to connect to eQSL and download confirmations.</p>
</div>
<p><div class="alert alert-danger" role="alert">Due to a rate limit of approximately 10 seconds per eQSL picture download calling this function will take a long time to complete! Thus you may have to call this function several times depending on the amount of outstanding cards. This may run into a script timeout depending on the PHP configuration.</div></p>
<input class="btn btn-primary" type="submit" value="Download un-synced eQSL cards" />
</form>
<?php
} else {

查看文件

@ -15,7 +15,7 @@
<a class="nav-link" href="<?php echo site_url('eqsl/tools');?>">Tools</a>
</li>
<li class="nav-item">
<a class="nav-link" href="<?php echo site_url('eqsl/download');?>">Download eQSL Images</a>
<a class="nav-link" href="<?php echo site_url('eqsl/download');?>">Download eQSL cards</a>
</li>
</ul>
</div>

查看文件

@ -15,7 +15,7 @@
<a class="nav-link" href="<?php echo site_url('eqsl/tools');?>">Tools</a>
</li>
<li class="nav-item">
<a class="nav-link" href="<?php echo site_url('eqsl/download');?>">Download eQSL Images</a>
<a class="nav-link" href="<?php echo site_url('eqsl/download');?>">Download eQSL cards</a>
</li>
</ul>
</div>

查看文件

@ -0,0 +1,55 @@
<?php
$custom_date_format = $this->session->userdata('user_date_format');
?>
<div class="container eqsl">
<div class="card">
<div class="card-header">
<h5 class="card-title"><?php echo $page_title; ?></h5>
<ul class="nav nav-tabs card-header-tabs">
<li class="nav-item">
<a class="nav-link" href="<?php echo site_url('eqsl/import');?>">Download QSOs</a>
</li>
<li class="nav-item">
<a class="nav-link" href="<?php echo site_url('eqsl/Export');?>">Upload QSOs</a>
</li>
<li class="nav-item">
<a class="nav-link" href="<?php echo site_url('eqsl/tools');?>">Tools</a>
</li>
<li class="nav-item">
<a class="nav-link active" href="<?php echo site_url('eqsl/download');?>">Download eQSL cards</a>
</li>
</ul>
</div>
<div class="card-body">
<?php $this->load->view('layout/messages'); ?>
<div class="alert alert-info" role="alert">
<?php echo $eqsl_stats; ?>
</div>
<table width="100%">
<tr class="titles">
<td>Date</td>
<td>Time</td>
<td>Call</td>
<td>Mode</td>
<td>Submode</td>
<td>eQSL Status</td>
</tr>
<?php foreach ($eqsl_results as $qso) { ?>
<tr>
<?php $timestamp = strtotime($qso['date']); ?>
<td><?php echo date($custom_date_format, $timestamp) ?></td>
<td><?php echo date('H:i', $timestamp); ?></td>
<td><a id="edit_qso" href="javascript:displayQso(<?php echo $qso['qsoid']; ?>)"><?php echo $qso['call']; ?></a></td>
<td><?php echo $qso['mode']; ?></td>
<td><?php echo $qso['submode']; ?></td>
<td><?php echo $qso['status']; ?></td>
</tr>
<?php } ?>
</table>
</div>
</div>
</div>

查看文件

@ -17,7 +17,7 @@
</li>
<li class="nav-item">
<a class="nav-link" href="<?php echo site_url('eqsl/download');?>">Download eQSL Images</a>
<a class="nav-link" href="<?php echo site_url('eqsl/download');?>">Download eQSL cards</a>
</li>
</ul>
</div>

查看文件

@ -1255,9 +1255,12 @@ $(document).on('keypress',function(e) {
}
} else {
$(".radio_timeout_error" ).remove();
text = '<i class="fas fa-broadcast-tower"></i><span style="margin-left:10px;"></span><b>TX:</b> '+(Math.round(parseInt(data.frequency)/1000)/1000).toFixed(3)+' MHz';
text = '<i class="fas fa-broadcast-tower"></i><span style="margin-left:10px;"></span><b>TX:</b> '+(Math.round(parseInt(data.frequency)/100)/10000).toFixed(4)+' MHz';
if(data.mode != null) {
text = text+'<span style="margin-left:10px"></span>'+data.mode;
}
if(data.power != null && data.power != 0) {
text = text+'<span style="margin-left:10px"></span>'+data.power+'W';
text = text+'<span style="margin-left:10px"></span>'+data.power+' W';
}
if(data.prop_mode != null && data.prop_mode != '') {
text = text+'<span style="margin-left:10px"></span>('+data.prop_mode;