[Exportmap] Added lastqso

This commit is contained in:
Andreas Kristiansen
2024-04-14 14:54:35 +02:00
parent d7ef14d767
commit 367654efab
2 changed files with 60 additions and 2 deletions

View File

@@ -409,6 +409,16 @@ class Visitor extends CI_Controller {
public function exportmap() {
$slug = $this->security->xss_clean($this->uri->segment(3));
$lastqso = $this->security->xss_clean($this->uri->segment(4));
if ($lastqso === "lastqso") {
$this->load->model('visitor_model');
$result = $this->visitor_model->getlastqsodate($slug)->row();
header('Content-Type: application/json');
echo json_encode($result->lastqso);
return;
}
$data['slug'] = $slug;
$data['page_title'] = "Export Map";
@@ -418,7 +428,7 @@ class Visitor extends CI_Controller {
}
public function mapqsos() {
$this->load->model('logbook_model');
$this->load->model('visitor_model');
$this->load->library('qra');
@@ -441,7 +451,7 @@ class Visitor extends CI_Controller {
show_404('Unknown Public Page.');
}
$qsos = $this->logbook_model->get_qsos($qsocount, null, $logbooks_locations_array, $band);
$qsos = $this->visitor_model->get_qsos($qsocount, $logbooks_locations_array, $band);
$userid = $this->stationsetup_model->public_slug_exists_userid($slug);
$user_default_confirmation = $this->get_user_default_confirmation($userid);

View File

@@ -0,0 +1,48 @@
<?php
class Visitor_model extends CI_Model {
function get_qsos($num, $StationLocationsArray, $band = '') {
$this->db->select($this->config->item('table_name').'.*, station_profile.*');
$this->db->from($this->config->item('table_name'));
$this->db->join('station_profile', 'station_profile.station_id = '.$this->config->item('table_name').'.station_id');
if ($band != '') {
if ($band == 'SAT') {
$this->db->where($this->config->item('table_name').'.col_prop_mode', 'SAT');
} else {
$this->db->where($this->config->item('table_name').'.col_prop_mode !="SAT"');
$this->db->where($this->config->item('table_name').'.col_band', $band);
}
}
$this->db->where_in($this->config->item('table_name').'.station_id', $StationLocationsArray);
$this->db->order_by(''.$this->config->item('table_name').'.COL_TIME_ON', "desc");
$this->db->limit($num);
return $this->db->get();
}
function getlastqsodate ($slug) {
$this->load->model('stationsetup_model');
$logbook_id = $this->stationsetup_model->public_slug_exists_logbook_id($slug);
$userid = $this->stationsetup_model->public_slug_exists_userid($slug);
$band = $this->user_options_model->get_options('ExportMapOptions',array('option_name'=>'band','option_key'=>$slug), $userid)->row()->option_value ?? '';
$sql = "select max(col_time_on) lastqso from " . $this->config->item('table_name') .
" join station_profile on station_profile.station_id = " . $this->config->item('table_name') . ".station_id where 1 = 1";
if ($band != '') {
if ($band == 'SAT') {
$sql .= " and " . $this->config->item('table_name') . ".col_prop_mode = 'SAT'";
} else {
$sql .= " and " . $this->config->item('table_name') . ".col_prop_mode != 'SAT'";
$sql .= " and " . $this->config->item('table_name') . ".col_band = '". $band . "'";
}
}
return $this->db->query($sql);
}
}