mirror of
https://github.com/wavelog/wavelog.git
synced 2026-03-22 10:24:14 +00:00
@@ -500,7 +500,7 @@ class Lotw extends CI_Controller {
|
||||
|
||||
$time_on = date('Y-m-d', strtotime($record['qso_date'])) ." ".date('H:i', strtotime($record['time_on']));
|
||||
|
||||
$qsl_date = date('Y-m-d', strtotime($record['qslrdate'])) ." ".date('H:i', strtotime($record['qslrdate']));
|
||||
$qsl_date = date('Y-m-d H:i', strtotime($record['app_lotw_rxqsl']));
|
||||
|
||||
if (isset($record['time_off'])) {
|
||||
$time_off = date('Y-m-d', strtotime($record['qso_date'])) ." ".date('H:i', strtotime($record['time_off']));
|
||||
@@ -517,6 +517,7 @@ class Lotw extends CI_Controller {
|
||||
$status = $this->logbook_model->import_check($time_on, $record['call'], $record['band'], $record['mode'], $record['station_callsign']);
|
||||
|
||||
if($status[0] == "Found") {
|
||||
$qso_id4lotw=$status[1];
|
||||
if (isset($record['state'])) {
|
||||
$state = $record['state'];
|
||||
} else {
|
||||
@@ -559,7 +560,7 @@ class Lotw extends CI_Controller {
|
||||
$ituz = "";
|
||||
}
|
||||
|
||||
$lotw_status = $this->logbook_model->lotw_update($time_on, $record['call'], $record['band'], $qsl_date, $record['qsl_rcvd'], $state, $qsl_gridsquare, $qsl_vucc_grids, $iota, $cnty, $cqz, $ituz, $record['station_callsign']);
|
||||
$lotw_status = $this->logbook_model->lotw_update($time_on, $record['call'], $record['band'], $qsl_date, $record['qsl_rcvd'], $state, $qsl_gridsquare, $qsl_vucc_grids, $iota, $cnty, $cqz, $ituz, $record['station_callsign'],$qso_id4lotw);
|
||||
|
||||
$table .= "<tr>";
|
||||
$table .= "<td>".$record['station_callsign']."</td>";
|
||||
|
||||
@@ -3104,89 +3104,91 @@ function check_if_callsign_worked_in_logbook($callsign, $StationLocationsArray =
|
||||
|
||||
}
|
||||
|
||||
function lotw_update($datetime, $callsign, $band, $qsl_date, $qsl_status, $state, $qsl_gridsquare, $qsl_vucc_grids, $iota, $cnty, $cqz, $ituz, $station_callsign) {
|
||||
function lotw_update($datetime, $callsign, $band, $qsl_date, $qsl_status, $state, $qsl_gridsquare, $qsl_vucc_grids, $iota, $cnty, $cqz, $ituz, $station_callsign, $qsoid) {
|
||||
|
||||
$data = array(
|
||||
'COL_LOTW_QSLRDATE' => $qsl_date,
|
||||
'COL_LOTW_QSL_RCVD' => $qsl_status,
|
||||
'COL_LOTW_QSL_SENT' => 'Y'
|
||||
);
|
||||
if($state != "") {
|
||||
$data['COL_STATE'] = $state;
|
||||
}
|
||||
if($iota != "") {
|
||||
$data['COL_IOTA'] = $iota;
|
||||
}
|
||||
$data = array(
|
||||
'COL_LOTW_QSLRDATE' => $qsl_date,
|
||||
'COL_LOTW_QSL_RCVD' => $qsl_status,
|
||||
'COL_LOTW_QSL_SENT' => 'Y'
|
||||
);
|
||||
if($state != "") {
|
||||
$data['COL_STATE'] = $state;
|
||||
}
|
||||
if($iota != "") {
|
||||
$data['COL_IOTA'] = $iota;
|
||||
}
|
||||
|
||||
if($cnty != "") {
|
||||
$data['COL_CNTY'] = $cnty;
|
||||
}
|
||||
if($cnty != "") {
|
||||
$data['COL_CNTY'] = $cnty;
|
||||
}
|
||||
|
||||
if($cqz != "") {
|
||||
$data['COL_CQZ'] = $cqz;
|
||||
}
|
||||
if($cqz != "") {
|
||||
$data['COL_CQZ'] = $cqz;
|
||||
}
|
||||
|
||||
if($ituz != "") {
|
||||
$data['COL_ITUZ'] = $ituz;
|
||||
}
|
||||
if($ituz != "") {
|
||||
$data['COL_ITUZ'] = $ituz;
|
||||
}
|
||||
|
||||
// Check if QRZ or ClubLog is already uploaded. If so, set qso to reupload to qrz.com (M) or clublog
|
||||
$qsql = "select COL_CLUBLOG_QSO_UPLOAD_STATUS as CL_STATE, COL_QRZCOM_QSO_UPLOAD_STATUS as QRZ_STATE from ".$this->config->item('table_name')." where COL_BAND=? and COL_CALL=? and COL_STATION_CALLSIGN=? and date_format(COL_TIME_ON, '%Y-%m-%d %H:%i') = ?";
|
||||
$query = $this->db->query($qsql, array($band, $callsign,$station_callsign,$datetime));
|
||||
$row = $query->row();
|
||||
if (($row->QRZ_STATE ?? '') == 'Y') {
|
||||
$data['COL_QRZCOM_QSO_UPLOAD_STATUS'] = 'M';
|
||||
}
|
||||
if (($row->CL_STATE ?? '') == 'Y') {
|
||||
$data['COL_CLUBLOG_QSO_UPLOAD_STATUS'] = 'M';
|
||||
}
|
||||
// Check if QRZ or ClubLog is already uploaded. If so, set qso to reupload to qrz.com (M) or clublog
|
||||
$qsql = "select COL_CLUBLOG_QSO_UPLOAD_STATUS as CL_STATE, COL_QRZCOM_QSO_UPLOAD_STATUS as QRZ_STATE from ".$this->config->item('table_name')." where COL_BAND=? and COL_CALL=? and COL_STATION_CALLSIGN=? and date_format(COL_TIME_ON, '%Y-%m-%d %H:%i') = ? and COL_PRIMARY_KEY = ?";
|
||||
$query = $this->db->query($qsql, array($band, $callsign,$station_callsign,$datetime,$qsoid));
|
||||
$row = $query->row();
|
||||
if (($row->QRZ_STATE ?? '') == 'Y') {
|
||||
$data['COL_QRZCOM_QSO_UPLOAD_STATUS'] = 'M';
|
||||
}
|
||||
if (($row->CL_STATE ?? '') == 'Y') {
|
||||
$data['COL_CLUBLOG_QSO_UPLOAD_STATUS'] = 'M';
|
||||
}
|
||||
|
||||
$this->db->where('date_format(COL_TIME_ON, \'%Y-%m-%d %H:%i\') = "'.$datetime.'"');
|
||||
$this->db->where('COL_CALL', $callsign);
|
||||
$this->db->where('COL_BAND', $band);
|
||||
$this->db->where('ifnull(COL_LOTW_QSL_RCVD,\'\') !=', $qsl_status); // Prevent QSO from beeing updated twice (or more)
|
||||
$this->db->where('COL_STATION_CALLSIGN', $station_callsign);
|
||||
$this->db->where('date_format(COL_TIME_ON, \'%Y-%m-%d %H:%i\') = "'.$datetime.'"');
|
||||
$this->db->where('COL_CALL', $callsign);
|
||||
$this->db->where('COL_BAND', $band);
|
||||
$this->db->where('COL_STATION_CALLSIGN', $station_callsign);
|
||||
$this->db->where('COL_PRIMARY_KEY', $qsoid);
|
||||
|
||||
$this->db->update($this->config->item('table_name'), $data);
|
||||
unset($data);
|
||||
$this->db->update($this->config->item('table_name'), $data);
|
||||
unset($data);
|
||||
|
||||
if($qsl_gridsquare != "" || $qsl_vucc_grids != "") {
|
||||
$data = array(
|
||||
'COL_DISTANCE' => 0
|
||||
);
|
||||
$this->db->select('station_profile.station_gridsquare as station_gridsquare');
|
||||
$this->db->where('date_format(COL_TIME_ON, \'%Y-%m-%d %H:%i\') = "'.$datetime.'"');
|
||||
$this->db->where('COL_CALL', $callsign);
|
||||
$this->db->where('COL_BAND', $band);
|
||||
$this->db->join('station_profile', $this->config->item('table_name').'.station_id = station_profile.station_id', 'left outer');
|
||||
$this->db->limit(1);
|
||||
$query = $this->db->get($this->config->item('table_name'));
|
||||
$row = $query->row();
|
||||
$station_gridsquare = '';
|
||||
if (isset($row)) {
|
||||
$station_gridsquare = $row->station_gridsquare;
|
||||
}
|
||||
if(!$this->load->is_loaded('Qra')) {
|
||||
$this->load->library('Qra');
|
||||
}
|
||||
if ($qsl_gridsquare != "") {
|
||||
$data['COL_GRIDSQUARE'] = $qsl_gridsquare;
|
||||
$data['COL_DISTANCE'] = $this->qra->distance($station_gridsquare, $qsl_gridsquare, 'K');
|
||||
} elseif ($qsl_vucc_grids != "") {
|
||||
$data['COL_VUCC_GRIDS'] = $qsl_vucc_grids;
|
||||
$data['COL_DISTANCE'] = $this->qra->distance($station_gridsquare, $qsl_vucc_grids, 'K');
|
||||
}
|
||||
if($qsl_gridsquare != "" || $qsl_vucc_grids != "") {
|
||||
$data = array(
|
||||
'COL_DISTANCE' => 0
|
||||
);
|
||||
$this->db->select('station_profile.station_gridsquare as station_gridsquare');
|
||||
$this->db->where('date_format(COL_TIME_ON, \'%Y-%m-%d %H:%i\') = "'.$datetime.'"');
|
||||
$this->db->where('COL_CALL', $callsign);
|
||||
$this->db->where('COL_BAND', $band);
|
||||
$this->db->where('COL_PRIMARY_KEY', $qsoid);
|
||||
$this->db->join('station_profile', $this->config->item('table_name').'.station_id = station_profile.station_id', 'left outer');
|
||||
$this->db->limit(1);
|
||||
$query = $this->db->get($this->config->item('table_name'));
|
||||
$row = $query->row();
|
||||
$station_gridsquare = '';
|
||||
if (isset($row)) {
|
||||
$station_gridsquare = $row->station_gridsquare;
|
||||
}
|
||||
if(!$this->load->is_loaded('Qra')) {
|
||||
$this->load->library('Qra');
|
||||
}
|
||||
if ($qsl_gridsquare != "") {
|
||||
$data['COL_GRIDSQUARE'] = $qsl_gridsquare;
|
||||
$data['COL_DISTANCE'] = $this->qra->distance($station_gridsquare, $qsl_gridsquare, 'K');
|
||||
} elseif ($qsl_vucc_grids != "") {
|
||||
$data['COL_VUCC_GRIDS'] = $qsl_vucc_grids;
|
||||
$data['COL_DISTANCE'] = $this->qra->distance($station_gridsquare, $qsl_vucc_grids, 'K');
|
||||
}
|
||||
|
||||
$this->db->where('date_format(COL_TIME_ON, \'%Y-%m-%d %H:%i\') = "'.$datetime.'"');
|
||||
$this->db->where('COL_CALL', $callsign);
|
||||
$this->db->where('COL_BAND', $band);
|
||||
$this->db->where('date_format(COL_TIME_ON, \'%Y-%m-%d %H:%i\') = "'.$datetime.'"');
|
||||
$this->db->where('COL_CALL', $callsign);
|
||||
$this->db->where('COL_BAND', $band);
|
||||
$this->db->where('COL_PRIMARY_KEY', $qsoid);
|
||||
|
||||
$this->db->update($this->config->item('table_name'), $data);
|
||||
$this->db->update($this->config->item('table_name'), $data);
|
||||
}
|
||||
|
||||
return "Updated";
|
||||
}
|
||||
|
||||
return "Updated";
|
||||
}
|
||||
|
||||
function qrz_last_qsl_date($user_id) {
|
||||
$sql="SELECT date_format(MAX(COALESCE(COL_QRZCOM_QSO_DOWNLOAD_DATE, str_to_date('1900-01-01','%Y-%m-%d'))),'%Y-%m-%d') MAXDATE
|
||||
FROM ".$this->config->item('table_name')." INNER JOIN station_profile ON (".$this->config->item('table_name').".station_id = station_profile.station_id)
|
||||
|
||||
Reference in New Issue
Block a user