From a66339f8b1708757db57f280a6c9bf0b5af2ebc2 Mon Sep 17 00:00:00 2001 From: int2001 Date: Sat, 17 Feb 2024 17:49:17 +0000 Subject: [PATCH] Added Wked/cnfmd to call and DXCC including link to DXCC-Scoretable --- application/controllers/Dxcalendar.php | 20 +++++++++-- application/views/dxcalendar/index.php | 49 +++++++++++++++++++------- 2 files changed, 54 insertions(+), 15 deletions(-) diff --git a/application/controllers/Dxcalendar.php b/application/controllers/Dxcalendar.php index 666eeda77..48a33fe6f 100644 --- a/application/controllers/Dxcalendar.php +++ b/application/controllers/Dxcalendar.php @@ -4,6 +4,7 @@ class Dxcalendar extends CI_Controller { public function index() { $this->load->model('user_model'); + $this->load->model('logbook_model'); if(!$this->user_model->authorize(2)) { $this->session->set_flashdata('notice', 'You\'re not allowed to do that!'); redirect('dashboard'); } $data['page_title'] = "DX Calendar"; @@ -27,6 +28,7 @@ class Dxcalendar extends CI_Controller { $dxped->dxcc = $tempinfo[0]; $date = $tempinfo[1] ?? ''; + $dxped->dates = $this->extractDates($date, $custom_date_format); $dxped->description = $item->description; @@ -34,7 +36,21 @@ class Dxcalendar extends CI_Controller { $descsplit = explode("\n", $item->description); $call = (string) $descsplit[3]; - $dxped->call = str_replace('--', '', $call); + $dxped->call = trim(str_replace('--', '', $call)); + + $chk_dxcc=$this->logbook_model->dxcc_lookup($dxped->call,$dxped->dates[2]->format('Y-m-d')); + if ($chk_dxcc['adif'] ?? '' != '') { + $chk_dxcc_val=$chk_dxcc['adif']; + $dxped->no_dxcc=false; + } else { + $chk_dxcc_val=-1; + $dxped->no_dxcc=true; + } + $dxped->call_wked =$this->logbook_model->check_if_callsign_worked_in_logbook($dxped->call); + $dxped->call_cnfmd =$this->logbook_model->check_if_callsign_cnfmd_in_logbook($dxped->call); + $dxped->dxcc_wked =$this->logbook_model->check_if_dxcc_worked_in_logbook($chk_dxcc_val); + $dxped->dxcc_cnfmd =$this->logbook_model->check_if_dxcc_cnfmd_in_logbook($chk_dxcc_val); + $dxped->dxcc_adif = $chk_dxcc_val; $qslinfo = (string) $descsplit[4]; $qslinfo = str_replace('--', '', $qslinfo); $dxped->qslinfo = str_replace('QSL: ', '', $qslinfo); @@ -90,7 +106,7 @@ class Dxcalendar extends CI_Controller { // Check if parsing was successful if ($startDateTime !== false && $endDateTime !== false) { - return array($startDateTime->format($custom_date_format), $endDateTime->format($custom_date_format)); + return array($startDateTime->format($custom_date_format), $endDateTime->format($custom_date_format), $startDateTime, $endDateTime); } else { return false; // Failed to parse dates } diff --git a/application/views/dxcalendar/index.php b/application/views/dxcalendar/index.php index def5bdacd..c006fe315 100644 --- a/application/views/dxcalendar/index.php +++ b/application/views/dxcalendar/index.php @@ -16,20 +16,43 @@ - '; - echo "" . $item->dates[0] ?? '' . ""; - echo "" . $item->dates[1] ?? '' . ""; - echo "$item->dxcc"; - echo "$item->call"; - echo "$item->qslinfo"; - echo "$item->source"; - echo "$item->info"; +'; + echo "" . $item->dates[0] ?? '' . ""; + echo "" . $item->dates[1] ?? '' . ""; + echo ""; + if ($item->dxcc_adif >= 1) { + echo ''; + } + if ($item->dxcc_cnfmd) { + echo ''; + } elseif ($item->dxcc_wked) { + echo ''; + } elseif ($item->no_dxcc) { + echo ''; + } else { + echo ''; + } + echo $item->dxcc.""; + if ($item->dxcc_adif >= 1) { echo ""; } + echo "call_cnfmd) { + echo ' class"text-success">'; + } elseif ($item->call_wked) { + echo ' class="text-warning">'; + } else { + echo ' class="text-danger">'; + } + echo $item->call.""; + echo "$item->qslinfo"; + echo "$item->source"; + echo "$item->info"; - echo ''; - } - ?> + echo ''; + echo "\n"; +} +?>