Add parameter to static map to show only today's (or yesterday's) QSOs

This commit is contained in:
phl0
2025-05-15 14:22:20 +02:00
parent e360d883ec
commit 06c48d7225
2 changed files with 21 additions and 10 deletions

View File

@@ -35,6 +35,7 @@ class Staticmap extends CI_Controller {
$start_date = $this->input->get('start_date', TRUE) ?? 'noStart'; // Format YYYY-MM-DD
$end_date = $this->input->get('end_date', TRUE) ?? 'noEnd'; // Format YYYY-MM-DD
$day = $this->input->get('day', TRUE) ?? '';
// if the user defines an Satellite Orbit, we need to set the band to SAT
if ($orbit != 'nOrb') {
@@ -119,7 +120,8 @@ class Staticmap extends CI_Controller {
. $contest
. $start_date
. $end_date
. $watermark;
. $day
. $watermark;
$filename = crc32('staticmap_' . $slug) . '_' . substr(md5($filenameRaw), 0, 12) . '.png';
$filepath = $cacheDir . '/' . $filename;
@@ -182,7 +184,8 @@ class Staticmap extends CI_Controller {
$orbit == 'nOrb' ? '' : $orbit,
$contest == 'nContest' ? '' : $contest,
$start_date == 'noStart' ? '' : $start_date,
$end_date == 'noEnd' ? '' : $end_date
$end_date == 'noEnd' ? '' : $end_date,
$day
);
$image = $this->staticmap_model->render_static_map($qsos, $uid, $centerMap, $coordinates, $filepath, $continent, $thememode, $hide_home, $night_shadow, $pathlines, $cqzones, $ituzones, $watermark);

View File

@@ -2,7 +2,7 @@
class Visitor_model extends CI_Model {
function get_qsos($num, $StationLocationsArray, $band = '', $continent = '', $orbit = '', $contest = '', $start_date = '', $end_date = '') {
function get_qsos($num, $StationLocationsArray, $band = '', $continent = '', $orbit = '', $contest = '', $start_date = '', $end_date = '', $day = '') {
$this->db->select($this->config->item('table_name').'.*, station_profile.*');
$this->db->from($this->config->item('table_name'));
@@ -11,13 +11,21 @@ class Visitor_model extends CI_Model {
$this->db->join('satellite', 'satellite.name = '.$this->config->item('table_name').'.COL_SAT_NAME', 'left');
}
if ($start_date != '') {
$start_date = date('Y-m-d', strtotime($start_date));
$this->db->where($this->config->item('table_name').'.COL_TIME_ON >=', $start_date);
}
if ($end_date != '') {
$end_date = date('Y-m-d', strtotime($end_date));
$this->db->where($this->config->item('table_name').'.COL_TIME_ON <=', $end_date);
if ($day != '') {
if ($day == 'today') {
$this->db->where('DATE('.$this->config->item('table_name').'.COL_TIME_ON) = CURDATE()');
} elseif ($day == 'yesterday') {
$this->db->where('DATE('.$this->config->item('table_name').'.COL_TIME_ON) = CURDATE() - INTERVAL 1 DAY');
}
} else {
if ($start_date != '') {
$start_date = date('Y-m-d', strtotime($start_date));
$this->db->where($this->config->item('table_name').'.COL_TIME_ON >=', $start_date);
}
if ($end_date != '') {
$end_date = date('Y-m-d', strtotime($end_date));
$this->db->where($this->config->item('table_name').'.COL_TIME_ON <=', $end_date);
}
}
if ($band != '') {