Merge branch 'dev' of github.com:int2001/Cloudlog into dev

这个提交包含在:
int2001 2023-07-06 13:52:18 +00:00
当前提交 f7b35a38b1
共有 19 个文件被更改,包括 120 次插入15 次删除

查看文件

@ -21,7 +21,7 @@ $config['migration_enabled'] = TRUE;
| be upgraded / downgraded to.
|
*/
$config['migration_version'] = 125;
$config['migration_version'] = 126;
/*
|--------------------------------------------------------------------------

查看文件

@ -497,7 +497,7 @@ class Lotw extends CI_Controller {
$record['qsl_rcvd'] = $config['lotw_rcvd_mark'];
}
$status = $this->logbook_model->import_check($time_on, $record['call'], $record['band'],$record['station_callsign']);
$status = $this->logbook_model->import_check($time_on, $record['call'], $record['band'], $record['mode'], $record['station_callsign']);
$skipNewQso = $this->input->post('importMissing'); // If import missing was checked
if($status[0] == "No Match" && $skipNewQso != NULL) {

查看文件

@ -84,6 +84,7 @@ class User extends CI_Controller {
$data['user_show_profile_image'] = $this->input->post('user_show_profile_image');
$data['user_previous_qsl_type'] = $this->input->post('user_previous_qsl_type');
$data['user_amsat_status_upload'] = $this->input->post('user_amsat_status_upload');
$data['user_mastodon_url'] = $this->input->post('user_mastodon_url');
$this->load->view('user/add', $data);
} else {
$this->load->view('user/add', $data);
@ -116,7 +117,8 @@ class User extends CI_Controller {
$this->input->post('user_column5'),
$this->input->post('user_show_profile_image'),
$this->input->post('user_previous_qsl_type'),
$this->input->post('user_amsat_status_upload'))) {
$this->input->post('user_amsat_status_upload'),
$this->input->post('user_mastodon_url'))) {
// Check for errors
case EUSERNAMEEXISTS:
$data['username_error'] = 'Username <b>'.$this->input->post('user_name').'</b> already in use!';
@ -159,6 +161,7 @@ class User extends CI_Controller {
$data['user_show_profile_image'] = $this->input->post('user_show_profile_image');
$data['user_previous_qsl_type'] = $this->input->post('user_previous_qsl_type');
$data['user_amsat_status_upload'] = $this->input->post('user_amsat_status_upload');
$data['user_mastodon_url'] = $this->input->post('user_mastodon_url');
$this->load->view('user/add', $data);
$this->load->view('interface_assets/footer');
}
@ -366,6 +369,12 @@ class User extends CI_Controller {
$data['user_amsat_status_upload'] = $q->user_amsat_status_upload;
}
if($this->input->post('user_mastodon_url')) {
$data['user_mastodon_url'] = $this->input->post('user_mastodon_url', false);
} else {
$data['user_mastodon_url'] = $q->user_mastodon_url;
}
if($this->input->post('user_column1')) {
$data['user_column1'] = $this->input->post('user_column1', true);
} else {
@ -451,6 +460,7 @@ class User extends CI_Controller {
$data['user_show_profile_image'] = $this->input->post('user_show_profile_image');
$data['user_previous_qsl_type'] = $this->input->post('user_previous_qsl_type');
$data['user_amsat_status_upload'] = $this->input->post('user_amsat_status_upload');
$data['user_mastodon_url'] = $this->input->post('user_mastodon_url');
$this->load->view('user/edit');
$this->load->view('interface_assets/footer');
}

查看文件

@ -89,3 +89,6 @@ $lang['account_forgot_your_password'] = 'Forgot your password?';
$lang['account_login_to_cloudlog'] = 'Login to Cloudlog';
$lang['account_login'] = 'Login';
$lang['account_mastodon'] = 'Mastodonserver';
$lang['account_user_mastodon'] = 'URL of Mastodonserver';

查看文件

@ -89,3 +89,6 @@ $lang['account_forgot_your_password'] = 'Salasana unohtunut?';
$lang['account_login_to_cloudlog'] = 'Kirjaudu Cloudlogiin';
$lang['account_login'] = 'Kirjaudu';
$lang['account_mastodon'] = 'Mastodonserver';
$lang['account_user_mastodon'] = 'URL of Mastodonserver';

查看文件

@ -89,3 +89,6 @@ $lang['account_forgot_your_password'] = 'Passwort vergessen?';
$lang['account_login_to_cloudlog'] = 'Anmeldung bei Cloudlog';
$lang['account_login'] = 'Anmeldung';
$lang['account_mastodon'] = 'Mastodonserver';
$lang['account_user_mastodon'] = 'URL des Mastodonservers';

查看文件

@ -89,3 +89,6 @@ $lang['account_forgot_your_password'] = 'Забыли пароль?';
$lang['account_login_to_cloudlog'] = 'Вход в Cloudlog';
$lang['account_login'] = 'Вход';
$lang['account_mastodon'] = 'Mastodonserver';
$lang['account_user_mastodon'] = 'URL of Mastodonserver';

查看文件

@ -59,6 +59,7 @@ $lang['general_mark_qsl_rx_bureau'] = 'Отметить QSL полученной
$lang['general_mark_qsl_rx_direct'] = 'Отметить QSL полученной (напрямую)';
$lang['general_mark_qsl_tx_bureau'] = 'Отметить QSL отправленной (через бюро)';
$lang['general_mark_qsl_tx_direct'] = 'Отметить QSL отправленой (напрямую)';
$lang['general_mark_qsl_rx_electronic'] = 'Отметить QSL полученной (электронно)';
$lang['general_delete_qso'] = 'Удалить QSO';
@ -111,6 +112,7 @@ $lang['gen_hamradio_iota'] = 'IOTA';
$lang['gen_hamradio_sota'] = 'SOTA';
$lang['gen_hamradio_pota'] = 'POTA';
$lang['gen_hamradio_gridsquare'] = 'Квадрат';
$lang['gen_hamradio_distance'] = 'Дистанция';
$lang['gen_hamradio_operator'] = 'Оператор';
$lang['gen_hamradio_sig'] = 'Sig';

查看文件

@ -2,14 +2,25 @@
defined('BASEPATH') OR exit('No direct script access allowed');
$lang['gridsquares_gridsquare_map'] = 'Выбор диапазона';
$lang['gridsquares_gridsquare_map'] = 'Карта квадратов';
$lang['gridsquares_confirmed_is_green'] = 'Подтверждённые окрашены зелёным';
$lang['gridsquares_worked_but_not_confirmed_is_red'] = 'Сработанные, но не подтверждённые — красным';
$lang['gridsquares_worked_but_not_confirmed_is_red'] = 'Сработанные, но не подтверждённые окрвшены красным';
$lang['gridsquares_activated_but_not_confirmed_is_red'] = 'Активированные, но не подтверждённые окрашены красным';
$lang['gridsquares_this_map_does_not_include_satellite_internet_or_repeater_qsos'] = 'На этой карте не отображены QSO, проведённые через спутники, интернет или репитеры';
$lang['gridsquares_grid_squares'] = 'квадрат(/-а/-ов)';
$lang['gridsquares_total_count'] = 'Всего';
$lang['gridsquares_band'] = 'Диапазон';
$lang['gridsquares_mode'] = 'Вид излучения';
$lang['gridsquares_sat'] = 'Спутник';
$lang['gridsquares_confirmation'] = 'Подтверждение';
$lang['gridsquares_button_plot'] = 'Отобразить';
$lang['gridsquares_gridsquares'] = 'Квадраты';
$lang['gridsquares_gridsquares_confirmed'] = 'Подтверждёно квадратов';
$lang['gridsquares_gridsquares_not_confirmed'] = 'Неподтверждёно квадратов';
$lang['gridsquares_gridsquares_total_worked'] = 'Всего сработано квадратов';

查看文件

@ -21,6 +21,7 @@ $lang['menu_notes'] = 'Заметки';
$lang['menu_analytics'] = 'Аналитика';
$lang['menu_statistics'] = 'Статистика';
$lang['menu_gridsquares'] = 'Квадраты';
$lang['menu_gridmap'] = 'Карта квадратов';
$lang['menu_activated_gridsquares'] = 'Активированные квадраты';
$lang['menu_gridsquare_activators'] = 'Активаторы квадратов';
$lang['menu_distances_worked'] = 'Сработанные дистанции';
@ -70,6 +71,7 @@ $lang['menu_sota_csv_export'] = 'Экспорт SOTA CSV';
$lang['menu_cabrillo_export'] = 'Экспорт Cabrillo';
$lang['menu_oqrs_requests'] = 'Запросы OQRS';
$lang['menu_print_requested_qsls'] = 'Распечатать запрошенные QSL';
$lang['menu_labels'] = 'Наклейки';
$lang['menu_logbook_of_the_world'] = 'Logbook of the World';
$lang['menu_eqsl_import_export'] = 'Импорт / экспорт eQSL';
$lang['menu_qrz_logbook'] = 'QRZ Logbook';

查看文件

@ -32,6 +32,8 @@ $lang['options_radio_timeout_warning_changed_to'] = 'Значение тайма
$lang['options_email'] = 'Емэйл';
$lang['options_outgoing_protocol'] = 'Протокол отправки емэйл';
$lang['options_smtp_encryption'] = 'Шифрование SMTP';
$lang['options_email_address'] = 'Адрес электронной почты';
$lang['options_email_sender_name'] = 'Имя отправителя';
$lang['options_smtp_host'] = 'SMTP хост';
$lang['options_smtp_port'] = 'SMTP порт';
$lang['options_smtp_username'] = 'SMTP логин';
@ -40,6 +42,8 @@ $lang['options_crlf'] = 'CRLF';
$lang['options_newline'] = 'Newline';
$lang['options_outgoing_email_protocol_changed_to'] = 'Протокол отправки емэйл изменён на ';
$lang['options_smtp_encryption_changed_to'] = 'Шифрование SMTP изменено на ';
$lang['options_email_address_changed_to'] = 'Адрес электронной почты изменён на ';
$lang['options_email_sender_name_changed_to'] = 'Имя отправителя изменено на ';
$lang['options_smtp_host_changed_to'] = 'SMTP хост изменён на ';
$lang['options_smtp_port_changed_to'] = 'SMTP порт изменён на ';
$lang['options_smtp_username_changed_to'] = 'SMTP логин изменён на ';

查看文件

@ -156,14 +156,14 @@ class EqslImporter
$record['qsl_sent'] = $config['eqsl_rcvd_mark'];
}
$status = $this->CI->logbook_model->import_check($time_on, $record['call'], $record['band'],$station_callsign);
$status = $this->CI->logbook_model->import_check($time_on, $record['call'], $record['band'], $record['mode'],$station_callsign);
$qsoid = 0;
if ($status[0] == "Found") {
$qsoid = $status[1];
$dupe = $this->CI->eqslmethods_model->eqsl_dupe_check($time_on, $record['call'], $record['band'], $config['eqsl_rcvd_mark'],$station_callsign);
$dupe = $this->CI->eqslmethods_model->eqsl_dupe_check($time_on, $record['call'], $record['band'], $record['mode'],$config['eqsl_rcvd_mark'],$station_callsign);
if ($dupe == false) {
$updated += 1;
$eqsl_status = $this->CI->eqslmethods_model->eqsl_update($time_on, $record['call'], $record['band'], $config['eqsl_rcvd_mark'],$station_callsign);
$eqsl_status = $this->CI->eqslmethods_model->eqsl_update($time_on, $record['call'], $record['band'], $record['mode'], $config['eqsl_rcvd_mark'],$station_callsign);
} else {
$dupes += 1;
$eqsl_status = "Already received an eQSL for this QSO.";

查看文件

@ -0,0 +1,30 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
/**
* Class Migration_mastodon_url
*
* Creates a varchar column for the Mastodon-URL of the User
*/
class Migration_mastodon_url extends CI_Migration {
public function up()
{
if (!$this->db->field_exists('user_mastodon_url', 'users')) {
$fields = array(
'user_mastodon_url varchar(32) default NULL',
);
$this->dbforge->add_column('users', $fields, 'user_column5');
}
}
public function down()
{
$this->dbforge->drop_column('users', 'user_mastodon_url');
}
}

查看文件

@ -156,7 +156,7 @@ class Eqslmethods_model extends CI_Model {
// Update a QSO with eQSL QSL info
// We could also probably use this use this: http://eqsl.cc/qslcard/VerifyQSO.txt
// http://www.eqsl.cc/qslcard/ImportADIF.txt
function eqsl_update($datetime, $callsign, $band, $qsl_status,$station_callsign) {
function eqsl_update($datetime, $callsign, $band, $mode, $qsl_status,$station_callsign) {
$data = array(
'COL_EQSL_QSLRDATE' => date('Y-m-d H:i:s'), // eQSL doesn't give us a date, so let's use current
'COL_EQSL_QSL_RCVD' => $qsl_status
@ -167,6 +167,7 @@ class Eqslmethods_model extends CI_Model {
$this->db->where('COL_CALL', $callsign);
$this->db->where('COL_STATION_CALLSIGN', $station_callsign);
$this->db->where('COL_BAND', $band);
$this->db->where('COL_MODE', $mode);
$this->db->update($this->config->item('table_name'), $data);
@ -174,12 +175,13 @@ class Eqslmethods_model extends CI_Model {
}
// Determine if we've already received an eQSL for this QSO
function eqsl_dupe_check($datetime, $callsign, $band, $qsl_status,$station_callsign) {
function eqsl_dupe_check($datetime, $callsign, $band, $mode, $qsl_status,$station_callsign) {
$this->db->select('COL_EQSL_QSLRDATE');
$this->db->where('COL_TIME_ON >= DATE_ADD(DATE_FORMAT("'.$datetime.'", \'%Y-%m-%d %H:%i\' ), INTERVAL -15 MINUTE )');
$this->db->where('COL_TIME_ON <= DATE_ADD(DATE_FORMAT("'.$datetime.'", \'%Y-%m-%d %H:%i\' ), INTERVAL 15 MINUTE )');
$this->db->where('COL_CALL', $callsign);
$this->db->where('COL_BAND', $band);
$this->db->where('COL_MODE', $mode);
$this->db->where('COL_STATION_CALLSIGN', $station_callsign);
$this->db->where('COL_EQSL_QSL_RCVD', $qsl_status);
$this->db->limit(1);

查看文件

@ -2469,7 +2469,7 @@ class Logbook_model extends CI_Model {
}
/* Used to check if the qso is already in the database */
function import_check($datetime, $callsign, $band,$station_callsign) {
function import_check($datetime, $callsign, $band, $mode, $station_callsign) {
$this->db->select('COL_PRIMARY_KEY, COL_TIME_ON, COL_CALL, COL_BAND');
$this->db->where('COL_TIME_ON >= DATE_ADD(DATE_FORMAT("'.$datetime.'", \'%Y-%m-%d %H:%i\' ), INTERVAL -15 MINUTE )');
@ -2477,6 +2477,7 @@ class Logbook_model extends CI_Model {
$this->db->where('COL_CALL', $callsign);
$this->db->where('COL_STATION_CALLSIGN', $station_callsign);
$this->db->where('COL_BAND', $band);
$this->db->where('COL_MODE', $mode);
$query = $this->db->get($this->config->item('table_name'));

查看文件

@ -123,7 +123,7 @@ class User_Model extends CI_Model {
function add($username, $password, $email, $type, $firstname, $lastname, $callsign, $locator, $timezone,
$measurement, $user_date_format, $user_stylesheet, $user_qth_lookup, $user_sota_lookup, $user_wwff_lookup,
$user_pota_lookup, $user_show_notes, $user_column1, $user_column2, $user_column3, $user_column4, $user_column5,
$user_show_profile_image, $user_previous_qsl_type, $user_amsat_status_upload) {
$user_show_profile_image, $user_previous_qsl_type, $user_amsat_status_upload, $user_mastodon_url) {
// Check that the user isn't already used
if(!$this->exists($username)) {
$data = array(
@ -152,6 +152,7 @@ class User_Model extends CI_Model {
'user_show_profile_image' => xss_clean($user_show_profile_image),
'user_previous_qsl_type' => xss_clean($user_previous_qsl_type),
'user_amsat_status_upload' => xss_clean($user_amsat_status_upload),
'user_mastodon_url' => xss_clean($user_mastodon_url),
);
// Check the password is valid
@ -208,6 +209,7 @@ class User_Model extends CI_Model {
'user_show_profile_image' => xss_clean($fields['user_show_profile_image']),
'user_previous_qsl_type' => xss_clean($fields['user_previous_qsl_type']),
'user_amsat_status_upload' => xss_clean($fields['user_amsat_status_upload']),
'user_mastodon_url' => xss_clean($fields['user_mastodon_url']),
);
// Check to see if the user is allowed to change user levels
@ -328,6 +330,7 @@ class User_Model extends CI_Model {
'user_column5' => isset($u->row()->user_column5) ? $u->row()->user_column5: 'Country',
'user_previous_qsl_type' => isset($u->row()->user_previous_qsl_type) ? $u->row()->user_previous_qsl_type: 0,
'user_amsat_status_upload' => isset($u->row()->user_amsat_status_upload) ? $u->row()->user_amsat_status_upload: 0,
'user_mastodon_url' => $u->row()->user_mastodon_url,
'active_station_logbook' => $u->row()->active_station_logbook,
);

查看文件

@ -514,6 +514,20 @@
</div>
</div>
</div>
<div class="col-md">
<div class="card">
<div class="card-header">
<?php echo lang('account_mastodon'); ?>
</div>
<div class="card-body">
<div class="form-group">
<label><?php echo lang('account_user_mastodon'); ?></label>
<input class="form-control" type="text" name="user_mastodon_url" value="<?php if(isset($user_mastodon_url)) { echo $user_mastodon_url; } ?>" />
<div class="small form-text text-muted">Main-URL of your Mastodonserver. f.ex. https://radiosocial.de</div></td>
</div>
</div>
</div>
</div>
</div>
<input type="hidden" name="id" value="<?php echo $this->uri->segment(3); ?>" />

查看文件

@ -512,7 +512,20 @@
</div>
</div>
</div>
<div class="col-md">
<div class="card">
<div class="card-header">
<?php echo lang('account_mastodon'); ?>
</div>
<div class="card-body">
<div class="form-group">
<label><?php echo lang('account_user_mastodon'); ?></label>
<input class="form-control" type="text" name="user_mastodon_url" value="<?php if(isset($user_mastodon_url)) { echo $user_mastodon_url; } ?>" />
<div class="small form-text text-muted">Main-URL of your Mastodonserver. f.ex. https://radiosocial.de</div></td>
</div>
</div>
</div>
</div>
</div>
<input type="hidden" name="id" value="<?php echo $this->uri->segment(3); ?>" />

查看文件

@ -407,6 +407,7 @@
?>
<div style="display: inline-block;"><a class="btn btn-primary twitter-share-button" target="_blank" href="https://twitter.com/intent/tweet?text=<?php echo $twitter_string; ?>"><i class="fab fa-twitter"></i> Tweet</a></div>
<?php if($this->session->userdata('user_mastodon_url') != null) { echo '<div style="display: inline-block;"><a class="btn btn-primary twitter-share-button" target="_blank" href="'.$this->session->userdata('user_mastodon_url').'/share?text='.$twitter_string.'"><i class="fab fa-mastodon"></i> Toot</a></div>'; } ?>
</div>
</div>