[Advanced Logbook] Fixed sort order when exporting ADIF

这个提交包含在:
Andreas 2023-05-02 20:53:29 +02:00
父节点 7b6a90634c
当前提交 ddca0a4fe7

查看文件

@ -122,25 +122,7 @@ class Logbookadvanced_model extends CI_Model {
$where = "AND $where";
}
if ($sortorder != null) {
$sortorder = explode(',', $sortorder);
switch($sortorder[0]) {
case 1: $order = 'ORDER BY qsos.COL_TIME_ON ' . $sortorder[1]; break;
case 2: $order = 'ORDER BY station_profile.station_callsign ' . $sortorder[1]; break;
case 3: $order = 'ORDER BY qsos.COL_CALL ' . $sortorder[1]; break;
case 4: $order = 'ORDER BY qsos.COL_MODE' . $sortorder[1] . ', qsos.COL_SUBMODE ' . $sortorder[1]; break;
case 7: $order = 'ORDER BY qsos.COL_BAND ' . $sortorder[1] . ', qsos.COL_SAT_NAME ' . $sortorder[1]; break;
case 15: $order = 'ORDER BY qsos.COL_COUNTRY ' . $sortorder[1]; break;
case 16: $order = 'ORDER BY qso.COL_STATE ' . $sortorder[1]; break;
case 17: $order = 'ORDER BY qsos.COL_CQZ ' . $sortorder[1]; break;
case 18: $order = 'ORDER BY qsos.COL_IOTA ' . $sortorder[1]; break;
default: $order = 'ORDER BY qsos.COL_TIME_ON desc'; break;
}
} else {
$order = 'ORDER BY qsos.COL_TIME_ON desc';
}
$order = $this->getSortorder($sortorder);
$sql = "
SELECT *, dxcc_entities.name AS station_country
@ -155,6 +137,59 @@ class Logbookadvanced_model extends CI_Model {
return $this->db->query($sql, $binding);
}
public function getSortOrder($sortorder) {
if ($sortorder == null) {
return 'ORDER BY qsos.COL_TIME_ON desc';
} else {
$sortorder = explode(',', $sortorder);
if ($this->session->userdata('user_lotw_name') != "" && $this->session->userdata('user_eqsl_name') != ""){
switch($sortorder[0]) {
case 1: return 'ORDER BY qsos.COL_TIME_ON ' . $sortorder[1];
case 2: return 'ORDER BY station_profile.station_callsign ' . $sortorder[1];
case 3: return 'ORDER BY qsos.COL_CALL ' . $sortorder[1];
case 4: return 'ORDER BY qsos.COL_MODE' . $sortorder[1] . ', qsos.COL_SUBMODE ' . $sortorder[1];
case 7: return 'ORDER BY qsos.COL_BAND ' . $sortorder[1] . ', qsos.COL_SAT_NAME ' . $sortorder[1];
case 16: return 'ORDER BY qsos.COL_COUNTRY ' . $sortorder[1];
case 17: return 'ORDER BY qso.COL_STATE ' . $sortorder[1];
case 18: return 'ORDER BY qsos.COL_CQZ ' . $sortorder[1];
case 19: return 'ORDER BY qsos.COL_IOTA ' . $sortorder[1];
default: return 'ORDER BY qsos.COL_TIME_ON desc';
}
}
else if (($this->session->userdata('user_eqsl_name') != "" && $this->session->userdata('user_lotw_name') == "") || ($this->session->userdata('user_eqsl_name') == "" && $this->session->userdata('user_lotw_name') != "")) {
switch($sortorder[0]) {
case 1: return 'ORDER BY qsos.COL_TIME_ON ' . $sortorder[1];
case 2: return 'ORDER BY station_profile.station_callsign ' . $sortorder[1];
case 3: return 'ORDER BY qsos.COL_CALL ' . $sortorder[1];
case 4: return 'ORDER BY qsos.COL_MODE' . $sortorder[1] . ', qsos.COL_SUBMODE ' . $sortorder[1];
case 7: return 'ORDER BY qsos.COL_BAND ' . $sortorder[1] . ', qsos.COL_SAT_NAME ' . $sortorder[1];
case 15: return 'ORDER BY qsos.COL_COUNTRY ' . $sortorder[1];
case 16: return 'ORDER BY qso.COL_STATE ' . $sortorder[1];
case 17: return 'ORDER BY qsos.COL_CQZ ' . $sortorder[1];
case 18: return 'ORDER BY qsos.COL_IOTA ' . $sortorder[1];
default: return 'ORDER BY qsos.COL_TIME_ON desc';
}
}
else if ($this->session->userdata('user_eqsl_name') == "" && $this->session->userdata('user_lotw_name') == ""){
switch($sortorder[0]) {
case 1: return 'ORDER BY qsos.COL_TIME_ON ' . $sortorder[1];
case 2: return 'ORDER BY station_profile.station_callsign ' . $sortorder[1];
case 3: return 'ORDER BY qsos.COL_CALL ' . $sortorder[1];
case 4: return 'ORDER BY qsos.COL_MODE' . $sortorder[1] . ', qsos.COL_SUBMODE ' . $sortorder[1];
case 7: return 'ORDER BY qsos.COL_BAND ' . $sortorder[1] . ', qsos.COL_SAT_NAME ' . $sortorder[1];
case 14: return 'ORDER BY qsos.COL_COUNTRY ' . $sortorder[1];
case 15: return 'ORDER BY qso.COL_STATE ' . $sortorder[1];
case 16: return 'ORDER BY qsos.COL_CQZ ' . $sortorder[1];
case 17: return 'ORDER BY qsos.COL_IOTA ' . $sortorder[1];
default: return 'ORDER BY qsos.COL_TIME_ON desc';
}
}
}
}
public function updateQsl($ids, $user_id, $method, $sent) {
$this->load->model('user_model');