diff --git a/application/config/migration.php b/application/config/migration.php
index fc8056f6..da1ea557 100644
--- a/application/config/migration.php
+++ b/application/config/migration.php
@@ -21,7 +21,7 @@ $config['migration_enabled'] = TRUE;
| be upgraded / downgraded to.
|
*/
-$config['migration_version'] = 110;
+$config['migration_version'] = 112;
/*
|--------------------------------------------------------------------------
diff --git a/application/controllers/Logbook.php b/application/controllers/Logbook.php
index 1470c924..b02a208a 100644
--- a/application/controllers/Logbook.php
+++ b/application/controllers/Logbook.php
@@ -509,7 +509,7 @@ class Logbook extends CI_Controller {
$html = "";
if(!empty($logbooks_locations_array)) {
- $this->db->select(''.$this->config->item('table_name').'.COL_CALL, '.$this->config->item('table_name').'.COL_BAND, '.$this->config->item('table_name').'.COL_TIME_ON, '.$this->config->item('table_name').'.COL_RST_RCVD, '.$this->config->item('table_name').'.COL_RST_SENT, '.$this->config->item('table_name').'.COL_MODE, '.$this->config->item('table_name').'.COL_SUBMODE, '.$this->config->item('table_name').'.COL_PRIMARY_KEY, '.$this->config->item('table_name').'.COL_SAT_NAME, '.$this->config->item('table_name').'.COL_GRIDSQUARE, '.$this->config->item('table_name').'.COL_QSL_RCVD, '.$this->config->item('table_name').'.COL_EQSL_QSL_RCVD, '.$this->config->item('table_name').'.COL_EQSL_QSL_SENT, '.$this->config->item('table_name').'.COL_QSL_SENT, '.$this->config->item('table_name').'.COL_STX, '.$this->config->item('table_name').'.COL_STX_STRING, '.$this->config->item('table_name').'.COL_SRX, '.$this->config->item('table_name').'.COL_SRX_STRING, '.$this->config->item('table_name').'.COL_LOTW_QSL_SENT, '.$this->config->item('table_name').'.COL_LOTW_QSL_RCVD, '.$this->config->item('table_name').'.COL_VUCC_GRIDS, station_profile.*');
+ $this->db->select(''.$this->config->item('table_name').'.COL_CALL, '.$this->config->item('table_name').'.COL_BAND, '.$this->config->item('table_name').'.COL_FREQ, '.$this->config->item('table_name').'.COL_TIME_ON, '.$this->config->item('table_name').'.COL_RST_RCVD, '.$this->config->item('table_name').'.COL_RST_SENT, '.$this->config->item('table_name').'.COL_MODE, '.$this->config->item('table_name').'.COL_SUBMODE, '.$this->config->item('table_name').'.COL_PRIMARY_KEY, '.$this->config->item('table_name').'.COL_SAT_NAME, '.$this->config->item('table_name').'.COL_GRIDSQUARE, '.$this->config->item('table_name').'.COL_QSL_RCVD, '.$this->config->item('table_name').'.COL_EQSL_QSL_RCVD, '.$this->config->item('table_name').'.COL_EQSL_QSL_SENT, '.$this->config->item('table_name').'.COL_QSL_SENT, '.$this->config->item('table_name').'.COL_STX, '.$this->config->item('table_name').'.COL_STX_STRING, '.$this->config->item('table_name').'.COL_SRX, '.$this->config->item('table_name').'.COL_SRX_STRING, '.$this->config->item('table_name').'.COL_LOTW_QSL_SENT, '.$this->config->item('table_name').'.COL_LOTW_QSL_RCVD, '.$this->config->item('table_name').'.COL_VUCC_GRIDS, 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');
@@ -530,10 +530,14 @@ class Logbook extends CI_Controller {
$html .= "
";
$html .= "| ".date($custom_date_format, $timestamp). date(' H:i',strtotime($row->COL_TIME_ON)) . " | ";
$html .= "" . str_replace('0','Ø',strtoupper($row->COL_CALL)) . " | ";
- $html .= "".$row->COL_RST_SENT." | ";
- $html .= "".$row->COL_RST_RCVD." | ";
- if($row->COL_SAT_NAME != null) {
- $html .= "".$row->COL_SAT_NAME." | ";
- } else {
- $html .= "".$row->COL_BAND." | ";
- }
if ($row->COL_SUBMODE==null)
$html .= "".$row->COL_MODE." | ";
else
$html .= "".$row->COL_SUBMODE." | ";
+ $html .= "".$row->COL_RST_SENT." | ";
+ $html .= "".$row->COL_RST_RCVD." | ";
+ if($row->COL_SAT_NAME != null) {
+ $html .= "".$row->COL_SAT_NAME." | ";
+ } else {
+ if ($this->session->userdata('user_column1')=='Frequency' || $this->session->userdata('user_column2')=='Frequency' || $this->session->userdata('user_column3')=='Frequency' || $this->session->userdata('user_column4')=='Frequency' || $this->session->userdata('user_column5')=='Frequency') {
+ $html .= "".$this->frequency->hz_to_mhz($row->COL_FREQ)." | ";
+ } else {
+ $html .= "".$row->COL_BAND." | ";
+ }
+ }
if ($this->session->userdata('user_previous_qsl_type') == 1) {
$html .= "";
$html .= "load->helper(array('form', 'url', 'psr4_autoloader'));
+
+ $this->load->model('user_model');
+ if (!$this->user_model->authorize(2)) {
+ $this->session->set_flashdata('notice', 'You\'re not allowed to do that!');
+ redirect('dashboard');
+ }
+ }
+
+ function index() {
+ $this->load->model('stations');
+ $this->load->model('logbookadvanced_model');
+ $this->load->model('logbook_model');
+ $this->load->model('bands');
+ $this->load->model('iota');
+ $this->load->model('dxcc');
+
+ $stationIds = [];
+
+ $deOptions = [];
+ foreach ($this->stations->all_of_user()->result() as $station) {
+ $deOptions[$station->station_callsign] = 1;
+ $stationIds[] = $station->station_id;
+ }
+ ksort($deOptions);
+ $deOptions = array_keys($deOptions);
+
+ $modes = [];
+ if ($stationIds !== []) {
+ foreach ($this->logbookadvanced_model->get_worked_modes($stationIds) as $mode) {
+ $key = $mode['mode'];
+ if ($mode['submode'] !== null) {
+ $key .= "|" . $mode['submode'];
+ }
+ if ($mode['submode'] == null) {
+ $modes[$key] = $mode['mode'];
+ } else {
+ $modes[$key] = $mode['submode'];
+ }
+ }
+ }
+
+ $data = [];
+ $data['page_title'] = "Advanced logbook";
+ $data['hasDatePicker'] = true;
+
+ $pageData = [];
+ $pageData['datePlaceholder'] = 'DD/MM/YYYY';
+ $pageData['deOptions'] = $deOptions;
+ $pageData['modes'] = $modes;
+ $pageData['dxccarray'] = $this->logbook_model->fetchDxcc();
+ $pageData['iotaarray'] = $this->logbook_model->fetchIota();
+
+ $pageData['bands'] = $this->bands->get_worked_bands();
+
+ $footerData = [];
+ $footerData['scripts'] = [
+ 'assets/js/moment.min.js',
+ 'assets/js/tempusdominus-bootstrap-4.min.js',
+ 'assets/js/sections/logbookadvanced.js?' . filemtime(realpath(__DIR__ . "/../../assets/js/sections/logbookadvanced.js"))
+ ];
+
+ $this->load->view('interface_assets/header', $data);
+ $this->load->view('logbookadvanced/index', $pageData);
+ $this->load->view('interface_assets/footer', $footerData);
+ }
+
+ public function search() {
+ $this->load->model('logbookadvanced_model');
+
+ $searchCriteria = array(
+ 'user_id' => (int)$this->session->userdata('user_id'),
+ 'dateFrom' => xss_clean($this->input->post('dateFrom')),
+ 'dateTo' => xss_clean($this->input->post('dateTo')),
+ 'de' => xss_clean($this->input->post('de')),
+ 'dx' => xss_clean($this->input->post('dx')),
+ 'mode' => xss_clean($this->input->post('mode')),
+ 'band' => xss_clean($this->input->post('band')),
+ 'qslSent' => xss_clean($this->input->post('qslSent')),
+ 'qslReceived' => xss_clean($this->input->post('qslReceived')),
+ 'iota' => xss_clean($this->input->post('iota')),
+ 'dxcc' => xss_clean($this->input->post('dxcc')),
+ 'propmode' => xss_clean($this->input->post('propmode')),
+ 'gridsquare' => xss_clean($this->input->post('gridsquare')),
+ 'state' => xss_clean($this->input->post('state')),
+ 'qsoresults' => xss_clean($this->input->post('qsoresults')),
+ );
+
+ $qsos = [];
+ foreach ($this->logbookadvanced_model->searchQsos($searchCriteria) as $qso) {
+ $qsos[] = $qso->toArray();
+ }
+
+ header("Content-Type: application/json");
+ print json_encode($qsos);
+ }
+
+ public function updateFromCallbook() {
+ $this->load->model('logbook_model');
+ $this->load->model('logbookadvanced_model');
+
+ $qsoID = xss_clean($this->input->post('qsoID'));
+ $qso = $this->logbook_model->qso_info($qsoID)->row_array();
+ if ($qso === null) {
+ header("Content-Type: application/json");
+ echo json_encode([]);
+ return;
+ }
+
+ $callbook = $this->logbook_model->loadCallBook($qso['COL_CALL'], $this->config->item('use_fullname'));
+
+ if ($callbook['callsign'] !== "") {
+ $this->logbookadvanced_model->updateQsoWithCallbookInfo($qsoID, $qso, $callbook);
+ $qso['COL_NAME'] = trim($callbook['name']);
+ if (isset($callbook['qslmgr'])) {
+ $qso['COL_QSL_VIA'] = trim($callbook['qslmgr']);
+ }
+ }
+
+ $qsoObj = new QSO($qso);
+
+ header("Content-Type: application/json");
+ echo json_encode($qsoObj->toArray());
+ }
+
+ function export_to_adif() {
+ $this->load->model('logbookadvanced_model');
+
+ $ids = xss_clean($this->input->post('id'));
+ $user_id = (int)$this->session->userdata('user_id');
+
+ $data['qsos'] = $this->logbookadvanced_model->getQsosForAdif($ids, $user_id);
+
+ $this->load->view('adif/data/exportall', $data);
+ }
+
+ function update_qsl() {
+ $this->load->model('logbookadvanced_model');
+
+ $ids = xss_clean($this->input->post('id'));
+ $user_id = (int)$this->session->userdata('user_id');
+ $method = xss_clean($this->input->post('method'));
+ $sent = xss_clean($this->input->post('sent'));
+
+ $status = $this->logbookadvanced_model->updateQsl($ids, $user_id, $method, $sent);
+
+ $data = $this->logbookadvanced_model->getQsosForAdif($ids, $user_id);
+
+ $results = $data->result('array');
+
+ $qsos = [];
+ foreach ($results as $data) {
+ $qsos[] = new QSO($data);
+ }
+
+ $q = [];
+ foreach ($qsos as $qso) {
+ $q[] = $qso->toArray();
+ }
+
+ header("Content-Type: application/json");
+ print json_encode($q);
+ }
+}
\ No newline at end of file
diff --git a/application/helpers/psr4_autoloader_helper.php b/application/helpers/psr4_autoloader_helper.php
new file mode 100644
index 00000000..74a00521
--- /dev/null
+++ b/application/helpers/psr4_autoloader_helper.php
@@ -0,0 +1,21 @@
+db->set('COL_SAT_NAME', 'FO-118');
+ $this->db->where('COL_SAT_NAME', 'CAS-5A');
+ $this->db->update($this->config->item('table_name'));
+ }
+
+ public function down()
+ {
+ $this->db->set('COL_SAT_NAME', 'CAS-5A');
+ $this->db->where('COL_SAT_NAME', 'FO-118');
+ $this->db->update($this->config->item('table_name'));
+ }
+}
diff --git a/application/migrations/111_reupload_io117_and_fo118.php b/application/migrations/111_reupload_io117_and_fo118.php
new file mode 100644
index 00000000..6e6506b7
--- /dev/null
+++ b/application/migrations/111_reupload_io117_and_fo118.php
@@ -0,0 +1,21 @@
+db->set('COL_LOTW_QSL_SENT', 'N');
+ $this->db->where('COL_SAT_NAME', 'IO-117');
+ $this->db->update($this->config->item('table_name'));
+
+ $this->db->set('COL_LOTW_QSL_SENT', 'N');
+ $this->db->where('COL_SAT_NAME', 'FO-118');
+ $this->db->update($this->config->item('table_name'));
+ }
+
+ public function down()
+ {
+ // Not Possible
+ }
+}
diff --git a/application/models/Logbook_model.php b/application/models/Logbook_model.php
index a8ba548b..56bc6be9 100755
--- a/application/models/Logbook_model.php
+++ b/application/models/Logbook_model.php
@@ -776,7 +776,7 @@ 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');
+ $this->db->select('COL_CALL, COL_BAND, COL_FREQ, COL_TIME_ON, COL_RST_RCVD, COL_RST_SENT, COL_MODE, COL_SUBMODE, COL_NAME, COL_COUNTRY, COL_PRIMARY_KEY, COL_SAT_NAME');
$this->db->where_in('station_id', $logbooks_locations_array);
$this->db->order_by("COL_TIME_ON", "desc");
$this->db->limit(10);
@@ -791,7 +791,7 @@ class Logbook_model extends CI_Model {
$logbooks_locations_array = $CI->logbooks_model->list_logbook_relationships($this->session->userdata('active_station_logbook'));
if(!empty($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');
+ $this->db->select('COL_CALL, COL_BAND, COL_FREQ, COL_TIME_ON, COL_RST_RCVD, COL_RST_SENT, COL_MODE, COL_SUBMODE, COL_NAME, COL_COUNTRY, COL_PRIMARY_KEY, COL_SAT_NAME');
$this->db->where_in('station_id', $logbooks_locations_array);
$this->db->order_by("COL_TIME_ON", "desc");
$this->db->limit($num);
diff --git a/application/models/Logbookadvanced_model.php b/application/models/Logbookadvanced_model.php
new file mode 100644
index 00000000..58dccd1f
--- /dev/null
+++ b/application/models/Logbookadvanced_model.php
@@ -0,0 +1,227 @@
+load->model('logbooks_model');
+
+ $ids = "'".implode("','",$stationIds)."'";
+
+ $sql = "
+ SELECT distinct `COL_MODE`, `COL_SUBMODE`
+ FROM `" . $this->config->item('table_name') . "` qsos
+ WHERE qsos.station_id IN (".$ids.")
+ ORDER BY COL_MODE, COL_SUBMODE";
+
+ $data = $this->db->query($sql);
+
+ $results = [];
+ foreach ($data->result() as $row) {
+ $results[] = [
+ 'mode' => $row->COL_MODE,
+ 'submode' => $row->COL_SUBMODE
+ ];
+ }
+ return $results;
+ }
+
+ /*
+ * @param array $searchCriteria
+ * @return array
+ */
+ public function searchQsos($searchCriteria) : array {
+ $conditions = [];
+ $binding = [$searchCriteria['user_id']];
+
+ if ($searchCriteria['dateFrom'] !== '') {
+ $from = DateTime::createFromFormat('d/m/Y', $searchCriteria['dateFrom']);
+ $from = $from->format('Y-m-d');
+ $conditions[] = "date(COL_TIME_ON) >= ?";
+ $binding[] = $from;
+ }
+ if ($searchCriteria['dateTo'] !== '') {
+ $to = DateTime::createFromFormat('d/m/Y', $searchCriteria['dateTo']);
+ $to = $to->format('Y-m-d');
+ $conditions[] = "date(COL_TIME_ON) <= ?";
+ $binding[] = $to;
+ }
+ if ($searchCriteria['de'] !== '') {
+ $conditions[] = "COL_STATION_CALLSIGN = ?";
+ $binding[] = trim($searchCriteria['de']);
+ }
+ if ($searchCriteria['dx'] !== '') {
+ $conditions[] = "COL_CALL LIKE ?";
+ $binding[] = '%' . trim($searchCriteria['dx']) . '%';
+ }
+ if ($searchCriteria['mode'] !== '') {
+ list ($mode, $subMode) = explode("|", trim($searchCriteria['mode']));
+ $mode = trim($mode);
+ $subMode = trim($subMode);
+ $conditions[] = "COL_MODE = ?";
+ $binding[] = $mode;
+ if ($subMode !== '') {
+ $conditions[] = "COL_SUBMODE = ?";
+ $binding[] = $subMode;
+ }
+ }
+ if ($searchCriteria['band'] !== '') {
+ if($searchCriteria['band'] != "SAT") {
+ $conditions[] = "COL_BAND = ? and COL_PROP_MODE != 'SAT'";
+ $binding[] = trim($searchCriteria['band']);
+ } else {
+ $conditions[] = "COL_PROP_MODE = 'SAT'";
+ }
+ }
+ if ($searchCriteria['qslSent'] !== '') {
+ $conditions[] = "COL_QSL_SENT = ?";
+ $binding[] = $searchCriteria['qslSent'];
+ }
+ if ($searchCriteria['qslReceived'] !== '') {
+ $conditions[] = "COL_QSL_RCVD = ?";
+ $binding[] = $searchCriteria['qslReceived'];
+ }
+
+ if ($searchCriteria['iota'] !== '') {
+ $conditions[] = "COL_IOTA = ?";
+ $binding[] = $searchCriteria['iota'];
+ }
+
+ if ($searchCriteria['dxcc'] !== '') {
+ $conditions[] = "COL_DXCC = ?";
+ $binding[] = $searchCriteria['dxcc'];
+ }
+
+ if ($searchCriteria['state'] !== '') {
+ $conditions[] = "COL_STATE = ?";
+ $binding[] = $searchCriteria['state'];
+ }
+
+ if ($searchCriteria['gridsquare'] !== '') {
+ $conditions[] = "(COL_GRIDSQUARE like ? or COL_VUCC_GRIDS like ?)";
+ $binding[] = '%' . $searchCriteria['gridsquare'] . '%';
+ $binding[] = '%' . $searchCriteria['gridsquare'] . '%';
+ }
+
+ if ($searchCriteria['propmode'] !== '') {
+ $conditions[] = "COL_PROP_MODE = ?";
+ $binding[] = $searchCriteria['propmode'];
+ }
+
+ $where = trim(implode(" AND ", $conditions));
+ if ($where != "") {
+ $where = "AND $where";
+ }
+
+ $limit = $searchCriteria['qsoresults'];
+
+ $sql = "
+ SELECT *
+ FROM " . $this->config->item('table_name') . " qsos
+ INNER JOIN station_profile ON qsos.station_id=station_profile.station_id
+ WHERE station_profile.user_id = ?
+ $where
+ ORDER BY qsos.COL_TIME_ON desc
+ LIMIT $limit
+ ";
+
+ $data = $this->db->query($sql, $binding);
+
+ $results = $data->result('array');
+
+ $qsos = [];
+ foreach ($results as $data) {
+ $qsos[] = new QSO($data);
+ }
+
+ return $qsos;
+ }
+
+ public function getQsosForAdif($ids, $user_id) : object {
+ $binding = [$user_id];
+ $conditions[] = "COL_PRIMARY_KEY in ?";
+ $binding[] = json_decode($ids, true);
+
+ $where = trim(implode(" AND ", $conditions));
+ if ($where != "") {
+ $where = "AND $where";
+ }
+
+ $sql = "
+ SELECT *
+ FROM " . $this->config->item('table_name') . " qsos
+ INNER JOIN station_profile ON qsos.station_id = station_profile.station_id
+ WHERE station_profile.user_id = ?
+ $where
+ ORDER BY qsos.COL_TIME_ON desc
+ ";
+
+ return $this->db->query($sql, $binding);
+ }
+
+ public function updateQsl($ids, $user_id, $method, $sent) {
+ $this->load->model('user_model');
+
+ if(!$this->user_model->authorize(2)) {
+ return array('message' => 'Error');
+ } else {
+ $data = array(
+ 'COL_QSLSDATE' => date('Y-m-d H:i:s'),
+ 'COL_QSL_SENT' => $sent,
+ 'COL_QSL_SENT_VIA' => $method
+ );
+ $this->db->where_in('COL_PRIMARY_KEY', json_decode($ids, true));
+ $this->db->update($this->config->item('table_name'), $data);
+
+ return array('message' => 'OK');
+ }
+ }
+
+ public function updateQsoWithCallbookInfo($qsoID, $qso, $callbook) {
+ $updatedData = array();
+ if (!empty($callbook['name']) && empty($qso['COL_NAME'])) {
+ $updatedData['COL_NAME'] = $callbook['name'];
+ }
+ if (!empty($callbook['gridsquare']) && empty($qso['COL_GRIDSQUARE']) && empty($qso['COL_VUCC_GRIDS'] )) {
+ if (strpos(trim($callbook['gridsquare']), ',') === false) {
+ $updatedData['COL_GRIDSQUARE'] = strtoupper(trim($callbook['gridsquare']));
+ } else {
+ $updatedData['COL_VUCC_GRIDS'] = strtoupper(trim($callbook['gridsquare']));
+ }
+ }
+ if (!empty($callbook['city']) && empty($qso['COL_QTH'])) {
+ $updatedData['COL_QTH'] = $callbook['city'];
+ }
+ if (!empty($callbook['lat']) && empty($qso['COL_LAT'])) {
+ $updatedData['COL_LAT'] = $callbook['lat'];
+ }
+ if (!empty($callbook['long']) && empty($qso['COL_LON'])) {
+ $updatedData['COL_LON'] = $callbook['long'];
+ }
+ if (!empty($callbook['iota']) && empty($qso['COL_IOTA'])) {
+ $updatedData['COL_IOTA'] = $callbook['iota'];
+ }
+ if (!empty($callbook['state']) && empty($qso['COL_STATE'])) {
+ $updatedData['COL_STATE'] = $callbook['state'];
+ }
+ if (!empty($callbook['us_county']) && empty($qso['COL_USACA_COUNTIES'])) {
+ $updatedData['COL_USACA_COUNTIES'] = $callbook['us_county'];
+ }
+ if (!empty($callbook['qslmgr']) && empty($qso['COL_QSL_VIA'])) {
+ $updatedData['COL_QSL_VIA'] = $callbook['qslmgr'];
+ }
+
+ if (count($updatedData) > 0) {
+ $this->db->where('COL_PRIMARY_KEY', $qsoID);
+ $this->db->update($this->config->item('table_name'), $updatedData);
+ return true;
+ }
+
+ return false;
+ }
+}
\ No newline at end of file
diff --git a/application/views/dashboard/index.php b/application/views/dashboard/index.php
index 8b37b3d6..d99945da 100644
--- a/application/views/dashboard/index.php
+++ b/application/views/dashboard/index.php
@@ -12,11 +12,13 @@ function echo_table_header_col($ctx, $name) {
case 'State': echo ' | '.$ctx->lang->line('gen_hamradio_state').' | '; break;
case 'Grid': echo ''.$ctx->lang->line('gen_hamradio_gridsquare').' | '; break;
case 'Band': echo ''.$ctx->lang->line('gen_hamradio_band').' | '; break;
+ case 'Frequency': echo ''.$ctx->lang->line('gen_hamradio_frequency').' | '; break;
case 'Operator': echo ''.$ctx->lang->line('gen_hamradio_operator').' | '; break;
}
}
function echo_table_col($row, $name) {
+ $ci =& get_instance();
switch($name) {
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) { echo 'COL_CONTEST_ID:"n/a").'" class="badge badge-light">'; printf("%03d", $row->COL_STX); echo '';} if ($row->COL_STX_STRING) { echo 'COL_CONTEST_ID:"n/a").'" class="badge badge-light">' . $row->COL_STX_STRING . '';} echo ' | '; break;
@@ -28,15 +30,16 @@ function echo_table_col($row, $name) {
case 'POTA': echo '' . ($row->COL_POTA_REF) . ' | '; break;
case 'Grid': echo ''; echoQrbCalcLink($row->station_gridsquare, $row->COL_VUCC_GRIDS, $row->COL_GRIDSQUARE); echo ' | '; break;
case 'Band': echo ''; if($row->COL_SAT_NAME != null) { echo ''.$row->COL_SAT_NAME.' | '; } else { echo strtolower($row->COL_BAND); } echo ''; break;
+ case 'Frequency': echo ''; if($row->COL_SAT_NAME != null) { echo ''.$row->COL_SAT_NAME.' | '; } else { if($row->COL_FREQ != null) { echo $ci->frequency->hz_to_mhz($row->COL_FREQ); } else { echo strtolower($row->COL_BAND); } } echo ''; break;
case 'State': echo '' . ($row->COL_STATE) . ' | '; break;
case 'Operator': echo '' . ($row->COL_OPERATOR) . ' | '; break;
}
}
function echoQrbCalcLink($mygrid, $grid, $vucc) {
- if (strlen($grid) != 0) {
+ if (!empty($grid)) {
echo $grid . ' ';
- } else if (strlen($vucc) != 0) {
+ } else if (!empty($vucc)) {
echo $vucc .' ';
}
}
diff --git a/application/views/interface_assets/footer.php b/application/views/interface_assets/footer.php
index f223920f..df4031da 100644
--- a/application/views/interface_assets/footer.php
+++ b/application/views/interface_assets/footer.php
@@ -3217,5 +3217,14 @@ function deleteQsl(id) {
+
+
+