[eQSL] Ability to set a date to force an update from

这个提交包含在:
Peter Goodhall 2023-10-03 13:57:16 +01:00 提交者 GitHub
当前提交 8eebe34d19
找不到此签名对应的密钥
GPG 密钥 ID: 4AEE18F83AFDEB23
共有 5 个文件被更改,包括 22 次插入12 次删除

查看文件

@ -69,6 +69,7 @@ class eqsl extends CI_Controller {
redirect('eqsl/import');
}
$eqsl_force_from_date = (!$this->input->post('eqsl_force_from_date')=="")?$this->input->post('eqsl_force_from_date'):"";
foreach ($eqsl_locations->result_array() as $eqsl_location) {
$this->eqslimporter->from_callsign_and_QTH(
$eqsl_location['station_callsign'],
@ -76,7 +77,7 @@ class eqsl extends CI_Controller {
$config['upload_path']
);
$eqsl_results[] = $this->eqslimporter->fetch($eqsl_password);
$eqsl_results[] = $this->eqslimporter->fetch($eqsl_password,$eqsl_force_from_date);
}
} elseif ($this->input->post('eqslimport') == 'upload') {
$station_id4upload=$this->input->post('station_profile');

查看文件

@ -53,7 +53,7 @@ class EqslImporter
}
// Download confirmed QSO from eQSL inbox and import them
public function fetch($password) {
public function fetch($password, $eqsl_force_from_date="") {
if (empty($password) || empty($this->callsign)) {
return $this->result('Missing username and/or password');
}
@ -63,8 +63,8 @@ class EqslImporter
$q = $query->row();
$eqsl_url = $q->eqsl_download_url;
// Query the logbook to determine when the last eQSL confirmation was
$eqsl_last_qsl_date = $this->CI->eqslmethods_model->eqsl_last_qsl_rcvd_date($this->callsign, $this->qth_nickname);
// Query the logbook to determine when the last eQSL confirmation was / Or use date input from form //
$eqsl_last_qsl_date = (strtotime($eqsl_force_from_date)!==false)?date("Ymd",strtotime($eqsl_force_from_date)):$this->CI->eqslmethods_model->eqsl_last_qsl_rcvd_date($this->callsign, $this->qth_nickname);
// Build parameters for eQSL inbox file
$eqsl_params = http_build_query(array(

查看文件

@ -149,7 +149,7 @@ class Eqslmethods_model extends CI_Model {
} else {
// No previous date (first time import has run?), so choose UNIX EPOCH!
// Note: date is yyyy/mm/dd format
return '1970/01/01';
return '19700101';
}
}

查看文件

@ -29,7 +29,7 @@
<label class="form-check-label" for="exampleRadios1">
Import from file...
</label>
<br><br>
<br>
<p>Upload the Exported ADIF file from eQSL from the <a href="https://eqsl.cc/qslcard/DownloadInBox.cfm" target="_blank">Download Inbox</a> page, to mark QSOs as confirmed on eQSL.</p>
<p><span class="label important">Important</span> Log files must have the file type .adi</p>
<input type="file" name="userfile" size="20" />
@ -47,14 +47,21 @@
<div class="form-check">
<input class="form-check-input" type="radio" name="eqslimport" id="fetch" value="fetch" checked="checked"/>
<label class="form-check-label" for="exampleRadios1">
Import directly from eQSL
</label>
<label class="form-check-label" for="exampleRadios1">Import directly from eQSL</label>
<p>Cloudlog will use the eQSL credentials from your Cloudlog user profile to connect to eQSL and download confirmations.</p>
<div class="form-row">
<div class="form-group col-sm-2">
<div class="dxatlasdatepicker input-group date" id="eqsl_force_from_date" data-target-input="nearest">
<input name="eqsl_force_from_date" type="text" placeholder="YYYY/MM/DD" class="form-control datetimepicker-input" data-target="#eqsl_force_from_date" value=""/>
<div class="input-group-append" data-target="#eqsl_force_from_date" data-toggle="datetimepicker"><div class="input-group-text"><i class="fa fa-calendar"></i></div></div>
</div>
</div>
<div class="form-group col-sm-5" style="vertical-align:middle;"><label class="form-label"><?php echo "(Select a date, only if you want to force an import with an older date)"; //$this->lang->line(''); ?></label></div>
</div>
</div>
<input class="btn btn-primary" type="submit" value="Import eQSL QSO Matches" />
<br>
<div class="form-group"><input class="btn btn-primary" type="submit" value="Import eQSL QSO Matches" /></div>
</form>
</div>
</div>

查看文件

@ -2249,7 +2249,9 @@ $(document).ready(function(){
if (isDarkModeTheme()) {
$('[class*="buttons"]').css("color", "white");
}
$('#eqsl_force_from_date').datetimepicker({
format: 'YYYY/MM/DD',
});
</script>
<?php } ?>