[Logbookadvanced] Saves callsign callbook info in database

这个提交包含在:
Andreas 2022-12-20 22:23:22 +01:00
父节点 6ca8bb117f
当前提交 52401647f9
共有 3 个文件被更改,包括 49 次插入2 次删除

查看文件

@ -108,6 +108,7 @@ class Logbookadvanced extends CI_Controller {
public function updateFromCallbook() {
$this->load->model('logbook_model');
$this->load->model('logbookadvanced_model');
$qsoID = xss_clean($this->input->post('qsoID'));
$qso = $this->logbook_model->qso_info($qsoID)->row_array();
@ -120,8 +121,11 @@ class Logbookadvanced extends CI_Controller {
$callbook = $this->logbook_model->loadCallBook($qso['COL_CALL'], $this->config->item('use_fullname'));
if ($callbook['callsign'] !== "") {
$this->logbookadvanced_model->updateQsoWithCallbookInfo($qsoID, $qso, $callbook);
$qso['COL_NAME'] = trim($callbook['name']);
$qso['COL_QSL_VIA'] = trim($callbook['qslmgr']);
if (isset($callbook['qslmgr'])) {
$qso['COL_QSL_VIA'] = trim($callbook['qslmgr']);
}
}
$qsoObj = new QSO($qso);

查看文件

@ -177,4 +177,47 @@ class Logbookadvanced_model extends CI_Model {
return array('message' => 'OK');
}
}
public function updateQsoWithCallbookInfo($qsoID, $qso, $callbook) {
$updatedData = array();
if (!empty($callbook['name']) && empty($qso['COL_NAME'])) {
$updatedData['COL_NAME'] = $callbook['name'];
}
if (!empty($callbook['gridsquare']) && empty($qso['COL_GRIDSQUARE']) && empty($qso['COL_VUCC_GRIDS'] )) {
if (strpos(trim($callbook['gridsquare']), ',') === false) {
$updatedData['COL_GRIDSQUARE'] = strtoupper(trim($callbook['gridsquare']));
} else {
$updatedData['COL_VUCC_GRIDS'] = strtoupper(trim($callbook['gridsquare']));
}
}
if (!empty($callbook['city']) && empty($qso['COL_QTH'])) {
$updatedData['COL_QTH'] = $callbook['city'];
}
if (!empty($callbook['lat']) && empty($qso['COL_LAT'])) {
$updatedData['COL_LAT'] = $callbook['lat'];
}
if (!empty($callbook['long']) && empty($qso['COL_LON'])) {
$updatedData['COL_LON'] = $callbook['long'];
}
if (!empty($callbook['iota']) && empty($qso['COL_IOTA'])) {
$updatedData['COL_IOTA'] = $callbook['iota'];
}
if (!empty($callbook['state']) && empty($qso['COL_STATE'])) {
$updatedData['COL_STATE'] = $callbook['state'];
}
if (!empty($callbook['us_county']) && empty($qso['COL_USACA_COUNTIES'])) {
$updatedData['COL_USACA_COUNTIES'] = $callbook['us_county'];
}
if (!empty($callbook['qslmgr']) && empty($qso['COL_QSL_VIA'])) {
$updatedData['COL_QSL_VIA'] = $callbook['qslmgr'];
}
if (count($updatedData) > 0) {
$this->db->where('COL_PRIMARY_KEY', $qsoID);
$this->db->update($this->config->item('table_name'), $updatedData);
return true;
}
return false;
}
}

查看文件

@ -56,7 +56,7 @@ function loadQSOTable(rows) {
'<div class="form-check"><input class="form-check-input" type="checkbox" /></div>',
qso.qsoDateTime,
qso.de,
qso.dx,
'<a id="edit_qso" href="javascript:displayQso('+qso.qsoID+')">'+qso.dx+'</a>',
qso.mode,
qso.rstS,
qso.rstR,