From b8ce4fa33d5e5fd24eaf188f40d7b77f2b364cf6 Mon Sep 17 00:00:00 2001
From: Andreas <6977712+AndreasK79@users.noreply.github.com>
Date: Sat, 6 Nov 2021 20:53:36 +0100
Subject: [PATCH] Added checks if logbooks exists. Cloudlog would load with an
error when starting a new install.
---
application/models/Logbook_model.php | 74 ++++++++-----
application/views/dashboard/index.php | 146 +++++++++++++-------------
2 files changed, 123 insertions(+), 97 deletions(-)
diff --git a/application/models/Logbook_model.php b/application/models/Logbook_model.php
index 88019934..3e6c77f6 100755
--- a/application/models/Logbook_model.php
+++ b/application/models/Logbook_model.php
@@ -904,13 +904,18 @@ class Logbook_model extends CI_Model {
$CI->load->model('logbooks_model');
$logbooks_locations_array = $CI->logbooks_model->list_logbook_relationships($this->session->userdata('active_station_logbook'));
- //$this->db->select('COL_CALL, COL_BAND, COL_TIME_ON, COL_RST_RCVD, COL_RST_SENT, COL_MODE, COL_SUBMODE, COL_NAME, COL_COUNTRY, COL_PRIMARY_KEY, COL_SAT_NAME, COL_STX_STRING, COL_SRX_STRING, COL_IOTA, COL_STATE, COL_GRIDSQUARE');
- $this->db->where_in('station_id', $logbooks_locations_array);
- $this->db->order_by("COL_TIME_ON", "desc");
- $this->db->limit($num);
- $query = $this->db->get($this->config->item('table_name'));
+ if ($logbooks_locations_array) {
+ //$this->db->select('COL_CALL, COL_BAND, COL_TIME_ON, COL_RST_RCVD, COL_RST_SENT, COL_MODE, COL_SUBMODE, COL_NAME, COL_COUNTRY, COL_PRIMARY_KEY, COL_SAT_NAME, COL_STX_STRING, COL_SRX_STRING, COL_IOTA, COL_STATE, COL_GRIDSQUARE');
+ $this->db->where_in('station_id', $logbooks_locations_array);
+ $this->db->order_by("COL_TIME_ON", "desc");
+ $this->db->limit($num);
+ $query = $this->db->get($this->config->item('table_name'));
+
+ return $query;
+ } else {
+ return null;
+ }
- return $query;
}
/* Get all QSOs with a valid grid for use in the KML export */
@@ -1003,17 +1008,20 @@ class Logbook_model extends CI_Model {
$CI->load->model('logbooks_model');
$logbooks_locations_array = $CI->logbooks_model->list_logbook_relationships($this->session->userdata('active_station_logbook'));
+ if ($logbooks_locations_array) {
+ $this->db->select('COUNT( * ) as count', FALSE);
+ $this->db->where_in('station_id', $logbooks_locations_array);
+ $query = $this->db->get($this->config->item('table_name'));
- $this->db->select('COUNT( * ) as count', FALSE);
- $this->db->where_in('station_id', $logbooks_locations_array);
- $query = $this->db->get($this->config->item('table_name'));
-
- if ($query->num_rows() > 0)
- {
- foreach ($query->result() as $row)
+ if ($query->num_rows() > 0)
{
- return $row->count;
+ foreach ($query->result() as $row)
+ {
+ return $row->count;
+ }
}
+ } else {
+ return null;
}
}
@@ -1023,23 +1031,27 @@ class Logbook_model extends CI_Model {
$CI->load->model('logbooks_model');
$logbooks_locations_array = $CI->logbooks_model->list_logbook_relationships($this->session->userdata('active_station_logbook'));
+ if ($logbooks_locations_array) {
+ $morning = date('Y-m-d 00:00:00');
+ $night = date('Y-m-d 23:59:59');
- $morning = date('Y-m-d 00:00:00');
- $night = date('Y-m-d 23:59:59');
+ $this->db->select('COUNT( * ) as count', FALSE);
+ $this->db->where_in('station_id', $logbooks_locations_array);
+ $this->db->where('COL_TIME_ON >=', $morning);
+ $this->db->where('COL_TIME_ON <=', $night);
+ $query = $this->db->get($this->config->item('table_name'));
- $this->db->select('COUNT( * ) as count', FALSE);
- $this->db->where_in('station_id', $logbooks_locations_array);
- $this->db->where('COL_TIME_ON >=', $morning);
- $this->db->where('COL_TIME_ON <=', $night);
- $query = $this->db->get($this->config->item('table_name'));
-
- if ($query->num_rows() > 0)
- {
- foreach ($query->result() as $row)
+ if ($query->num_rows() > 0)
{
- return $row->count;
+ foreach ($query->result() as $row)
+ {
+ return $row->count;
+ }
}
+ } else {
+ return null;
}
+
}
/* Return QSOs over a period of days */
@@ -1103,6 +1115,8 @@ class Logbook_model extends CI_Model {
$CI->load->model('logbooks_model');
$logbooks_locations_array = $CI->logbooks_model->list_logbook_relationships($this->session->userdata('active_station_logbook'));
+ if ($logbooks_locations_array) {
+
$morning = date('Y-m-01 00:00:00');
$date = new DateTime('now');
@@ -1123,6 +1137,9 @@ class Logbook_model extends CI_Model {
return $row->count;
}
}
+ } else {
+ return null;
+ }
}
/* Return QSOs for the year for the active profile */
@@ -1146,6 +1163,8 @@ class Logbook_model extends CI_Model {
$CI->load->model('logbooks_model');
$logbooks_locations_array = $CI->logbooks_model->list_logbook_relationships($this->session->userdata('active_station_logbook'));
+ if ($logbooks_locations_array) {
+
$morning = date('Y-01-01 00:00:00');
$night = date('Y-12-31 23:59:59');
@@ -1162,6 +1181,9 @@ class Logbook_model extends CI_Model {
return $row->count;
}
}
+ } else {
+ return null;
+ }
}
/* Return total amount of SSB QSOs logged */
diff --git a/application/views/dashboard/index.php b/application/views/dashboard/index.php
index b23c8326..3f1fa8d7 100644
--- a/application/views/dashboard/index.php
+++ b/application/views/dashboard/index.php
@@ -99,85 +99,89 @@
result() as $row) { ?>
- '; ?>
+ if ($last_five_qsos) {
+ foreach ($last_five_qsos->result() as $row) { ?>
+ '; ?>
- session->userdata('user_date_format')) {
- // If Logged in and session exists
- $custom_date_format = $this->session->userdata('user_date_format');
- } else {
- // Get Default date format from /config/cloudlog.php
- $custom_date_format = $this->config->item('qso_date_format');
- }
+ // Get Date format
+ if($this->session->userdata('user_date_format')) {
+ // If Logged in and session exists
+ $custom_date_format = $this->session->userdata('user_date_format');
+ } else {
+ // Get Default date format from /config/cloudlog.php
+ $custom_date_format = $this->config->item('qso_date_format');
+ }
- ?>
+ ?>
-
COL_TIME_ON); echo date($custom_date_format, $timestamp); ?> |
- config->item('use_auth') && ($this->session->userdata('user_type') >= 2)) || $this->config->item('use_auth') === FALSE || ($this->config->item('show_time'))) { ?>
- COL_TIME_ON); echo date('H:i', $timestamp); ?> |
+ COL_TIME_ON); echo date($custom_date_format, $timestamp); ?> |
+ config->item('use_auth') && ($this->session->userdata('user_type') >= 2)) || $this->config->item('use_auth') === FALSE || ($this->config->item('show_time'))) { ?>
+ COL_TIME_ON); echo date('H:i', $timestamp); ?> |
-
-
- COL_CALL)); ?>
- |
- session->userdata('user_column1')==""?'Mode':$this->session->userdata('user_column1')) {
- case 'Mode': echo ''; echo $row->COL_SUBMODE==null?$row->COL_MODE:$row->COL_SUBMODE; break;
- case 'RSTS': echo ' | ' . $row->COL_RST_SENT; if ($row->COL_STX_STRING) { echo '' . $row->COL_STX_STRING . '';}; break;
- case 'RSTR': echo ' | ' . $row->COL_RST_RCVD; if ($row->COL_SRX_STRING) { echo '' . $row->COL_SRX_STRING . '';}; break;
- case 'Country': echo ' | ' . ucwords(strtolower(($row->COL_COUNTRY)));; break;
- case 'IOTA': echo ' | ' . ($row->COL_IOTA); break;
- case 'SOTA': echo ' | ' . ($row->COL_SOTA_REF); break;
- case 'Grid': echo ' | '; echo strlen($row->COL_GRIDSQUARE)==0?$row->COL_VUCC_GRIDS:$row->COL_GRIDSQUARE; break;
- case 'Band': echo ' | '; if($row->COL_SAT_NAME != null) { echo $row->COL_SAT_NAME; } else { echo strtolower($row->COL_BAND); }; break;
- case 'State': echo ' | ' . ($row->COL_STATE); break;
- }
- echo ' | ';
+
+
+ COL_CALL)); ?>
+ |
+ session->userdata('user_column1')==""?'Mode':$this->session->userdata('user_column1')) {
+ case 'Mode': echo ''; echo $row->COL_SUBMODE==null?$row->COL_MODE:$row->COL_SUBMODE; break;
+ case 'RSTS': echo ' | ' . $row->COL_RST_SENT; if ($row->COL_STX_STRING) { echo '' . $row->COL_STX_STRING . '';}; break;
+ case 'RSTR': echo ' | ' . $row->COL_RST_RCVD; if ($row->COL_SRX_STRING) { echo '' . $row->COL_SRX_STRING . '';}; break;
+ case 'Country': echo ' | ' . ucwords(strtolower(($row->COL_COUNTRY)));; break;
+ case 'IOTA': echo ' | ' . ($row->COL_IOTA); break;
+ case 'SOTA': echo ' | ' . ($row->COL_SOTA_REF); break;
+ case 'Grid': echo ' | '; echo strlen($row->COL_GRIDSQUARE)==0?$row->COL_VUCC_GRIDS:$row->COL_GRIDSQUARE; break;
+ case 'Band': echo ' | '; if($row->COL_SAT_NAME != null) { echo $row->COL_SAT_NAME; } else { echo strtolower($row->COL_BAND); }; break;
+ case 'State': echo ' | ' . ($row->COL_STATE); break;
+ }
+ echo ' | ';
- switch($this->session->userdata('user_column2')==""?'RSTS':$this->session->userdata('user_column2')) {
- case 'Mode': echo ''; echo $row->COL_SUBMODE==null?$row->COL_MODE:$row->COL_SUBMODE; break;
- case 'RSTS': echo ' | ' . $row->COL_RST_SENT; if ($row->COL_STX_STRING) { echo '' . $row->COL_STX_STRING . '';}; break;
- case 'RSTR': echo ' | ' . $row->COL_RST_RCVD; if ($row->COL_SRX_STRING) { echo '' . $row->COL_SRX_STRING . '';}; break;
- case 'Country': echo ' | ' . ucwords(strtolower(($row->COL_COUNTRY)));; break;
- case 'IOTA': echo ' | ' . ($row->COL_IOTA); break;
- case 'SOTA': echo ' | ' . ($row->COL_SOTA_REF); break;
- case 'Grid': echo ' | '; echo strlen($row->COL_GRIDSQUARE)==0?$row->COL_VUCC_GRIDS:$row->COL_GRIDSQUARE; break;
- case 'Band': echo ' | '; if($row->COL_SAT_NAME != null) { echo $row->COL_SAT_NAME; } else { echo strtolower($row->COL_BAND); }; break;
- case 'State': echo ' | ' . ($row->COL_STATE); break;
- }
- echo ' | ';
+ switch($this->session->userdata('user_column2')==""?'RSTS':$this->session->userdata('user_column2')) {
+ case 'Mode': echo ''; echo $row->COL_SUBMODE==null?$row->COL_MODE:$row->COL_SUBMODE; break;
+ case 'RSTS': echo ' | ' . $row->COL_RST_SENT; if ($row->COL_STX_STRING) { echo '' . $row->COL_STX_STRING . '';}; break;
+ case 'RSTR': echo ' | ' . $row->COL_RST_RCVD; if ($row->COL_SRX_STRING) { echo '' . $row->COL_SRX_STRING . '';}; break;
+ case 'Country': echo ' | ' . ucwords(strtolower(($row->COL_COUNTRY)));; break;
+ case 'IOTA': echo ' | ' . ($row->COL_IOTA); break;
+ case 'SOTA': echo ' | ' . ($row->COL_SOTA_REF); break;
+ case 'Grid': echo ' | '; echo strlen($row->COL_GRIDSQUARE)==0?$row->COL_VUCC_GRIDS:$row->COL_GRIDSQUARE; break;
+ case 'Band': echo ' | '; if($row->COL_SAT_NAME != null) { echo $row->COL_SAT_NAME; } else { echo strtolower($row->COL_BAND); }; break;
+ case 'State': echo ' | ' . ($row->COL_STATE); break;
+ }
+ echo ' | ';
- switch($this->session->userdata('user_column3')==""?'RSTR':$this->session->userdata('user_column3')) {
- case 'Mode': echo ''; echo $row->COL_SUBMODE==null?$row->COL_MODE:$row->COL_SUBMODE; break;
- case 'RSTS': echo ' | ' . $row->COL_RST_SENT; if ($row->COL_STX_STRING) { echo '' . $row->COL_STX_STRING . '';}; break;
- case 'RSTR': echo ' | ' . $row->COL_RST_RCVD; if ($row->COL_SRX_STRING) { echo '' . $row->COL_SRX_STRING . '';}; break;
- case 'Country': echo ' | ' . ucwords(strtolower(($row->COL_COUNTRY)));; break;
- case 'IOTA': echo ' | ' . ($row->COL_IOTA); break;
- case 'SOTA': echo ' | ' . ($row->COL_SOTA_REF); break;
- case 'Grid': echo ' | '; echo strlen($row->COL_GRIDSQUARE)==0?$row->COL_VUCC_GRIDS:$row->COL_GRIDSQUARE; break;
- case 'Band': echo ' | '; if($row->COL_SAT_NAME != null) { echo $row->COL_SAT_NAME; } else { echo strtolower($row->COL_BAND); }; break;
- case 'State': echo ' | ' . ($row->COL_STATE); break;
- }
- echo ' | ';
+ switch($this->session->userdata('user_column3')==""?'RSTR':$this->session->userdata('user_column3')) {
+ case 'Mode': echo ''; echo $row->COL_SUBMODE==null?$row->COL_MODE:$row->COL_SUBMODE; break;
+ case 'RSTS': echo ' | ' . $row->COL_RST_SENT; if ($row->COL_STX_STRING) { echo '' . $row->COL_STX_STRING . '';}; break;
+ case 'RSTR': echo ' | ' . $row->COL_RST_RCVD; if ($row->COL_SRX_STRING) { echo '' . $row->COL_SRX_STRING . '';}; break;
+ case 'Country': echo ' | ' . ucwords(strtolower(($row->COL_COUNTRY)));; break;
+ case 'IOTA': echo ' | ' . ($row->COL_IOTA); break;
+ case 'SOTA': echo ' | ' . ($row->COL_SOTA_REF); break;
+ case 'Grid': echo ' | '; echo strlen($row->COL_GRIDSQUARE)==0?$row->COL_VUCC_GRIDS:$row->COL_GRIDSQUARE; break;
+ case 'Band': echo ' | '; if($row->COL_SAT_NAME != null) { echo $row->COL_SAT_NAME; } else { echo strtolower($row->COL_BAND); }; break;
+ case 'State': echo ' | ' . ($row->COL_STATE); break;
+ }
+ echo ' | ';
- switch($this->session->userdata('user_column4')==""?'Band':$this->session->userdata('user_column4')) {
- case 'Mode': echo ''; echo $row->COL_SUBMODE==null?$row->COL_MODE:$row->COL_SUBMODE; break;
- case 'RSTS': echo ' | ' . $row->COL_RST_SENT; if ($row->COL_STX_STRING) { echo '' . $row->COL_STX_STRING . '';}; break;
- case 'RSTR': echo ' | ' . $row->COL_RST_RCVD; if ($row->COL_SRX_STRING) { echo '' . $row->COL_SRX_STRING . '';}; break;
- case 'Country': echo ' | ' . ucwords(strtolower(($row->COL_COUNTRY)));; break;
- case 'IOTA': echo ' | ' . ($row->COL_IOTA); break;
- case 'SOTA': echo ' | ' . ($row->COL_SOTA_REF); break;
- case 'Grid': echo ' | '; echo strlen($row->COL_GRIDSQUARE)==0?$row->COL_VUCC_GRIDS:$row->COL_GRIDSQUARE; break;
- case 'Band': echo ' | '; if($row->COL_SAT_NAME != null) { echo $row->COL_SAT_NAME; } else { echo strtolower($row->COL_BAND); }; break;
- case 'State': echo ' | ' . ($row->COL_STATE); break;
- }
- echo ' | ';
- ?>
-
-
+ switch($this->session->userdata('user_column4')==""?'Band':$this->session->userdata('user_column4')) {
+ case 'Mode': echo ''; echo $row->COL_SUBMODE==null?$row->COL_MODE:$row->COL_SUBMODE; break;
+ case 'RSTS': echo ' | ' . $row->COL_RST_SENT; if ($row->COL_STX_STRING) { echo '' . $row->COL_STX_STRING . '';}; break;
+ case 'RSTR': echo ' | ' . $row->COL_RST_RCVD; if ($row->COL_SRX_STRING) { echo '' . $row->COL_SRX_STRING . '';}; break;
+ case 'Country': echo ' | ' . ucwords(strtolower(($row->COL_COUNTRY)));; break;
+ case 'IOTA': echo ' | ' . ($row->COL_IOTA); break;
+ case 'SOTA': echo ' | ' . ($row->COL_SOTA_REF); break;
+ case 'Grid': echo ' | '; echo strlen($row->COL_GRIDSQUARE)==0?$row->COL_VUCC_GRIDS:$row->COL_GRIDSQUARE; break;
+ case 'Band': echo ' | '; if($row->COL_SAT_NAME != null) { echo $row->COL_SAT_NAME; } else { echo strtolower($row->COL_BAND); }; break;
+ case 'State': echo ' | ' . ($row->COL_STATE); break;
+ }
+ echo ' | ';
+ ?>
+
+
+