From b26e9e4bdb6c83905e91b782428841cab6153f01 Mon Sep 17 00:00:00 2001 From: Peter Goodhall Date: Wed, 19 Jun 2019 14:48:06 +0100 Subject: [PATCH] Generate ADIF file for upload to Clublog --- application/controllers/Clublog.php | 16 ++++++++++++++++ application/models/Logbook_model.php | 9 +++++++++ application/views/adif/data/clublog.php | 9 +++++++++ 3 files changed, 34 insertions(+) create mode 100644 application/views/adif/data/clublog.php diff --git a/application/controllers/Clublog.php b/application/controllers/Clublog.php index 03b91dd4..d39676d8 100644 --- a/application/controllers/Clublog.php +++ b/application/controllers/Clublog.php @@ -13,6 +13,22 @@ class Clublog extends CI_Controller { // Upload ADIF to Clublog public function upload() { + $this->load->helper('file'); + + $this->load->model('logbook_model'); + + $data['qsos'] = $this->logbook_model->get_clublog_qsos(); + + // Create ADIF File of contacts not uploaded to Clublog + $string = $this->load->view('adif/data/clublog', $data, TRUE); + + if ( ! write_file('uploads/clublog.adi', $string)) { + echo 'Unable to write the file - Make the folder Upload folder has write permissions.'; + } + else { + echo "uploads/clublog.adi file created."; + } + } diff --git a/application/models/Logbook_model.php b/application/models/Logbook_model.php index 3fc9f821..90f50b79 100755 --- a/application/models/Logbook_model.php +++ b/application/models/Logbook_model.php @@ -442,6 +442,15 @@ class Logbook_model extends CI_Model { return $query; } + function get_clublog_qsos(){ + $this->db->where("COL_CLUBLOG_QSO_UPLOAD_STATUS", ""); + $this->db->or_where("COL_CLUBLOG_QSO_UPLOAD_STATUS", "N"); + + $query = $this->db->get($this->config->item('table_name')); + + return $query; + } + function get_last_qsos($num) { $this->db->select('COL_CALL, COL_BAND, COL_TIME_ON, COL_RST_RCVD, COL_RST_SENT, COL_MODE, COL_NAME, COL_COUNTRY, COL_PRIMARY_KEY, COL_SAT_NAME, COL_STX_STRING, COL_SRX_STRING'); $this->db->order_by("COL_TIME_ON", "desc"); diff --git a/application/views/adif/data/clublog.php b/application/views/adif/data/clublog.php new file mode 100644 index 00000000..34533c80 --- /dev/null +++ b/application/views/adif/data/clublog.php @@ -0,0 +1,9 @@ +2.2 +config->item('app_name')); ?>>config->item('app_name')."\n"; ?> +config->item('app_version')); ?>>Version config->item('app_version')."\n"; ?> + + +result() as $qso) { //print_r($qso);?> + COL_CALL); ?>>COL_CALL; ?>COL_BAND); ?>>COL_BAND; ?>COL_MODE); ?>>COL_MODE; ?>COL_FREQ != "0") { ?>COL_FREQ / 1000000; ?>>COL_TIME_ON); $new_date = date('Ymd', $date_on); ?>>COL_TIME_ON); $new_on = date('His', $time_on); ?>>COL_TIME_OFF); $new_off = date('His', $time_off); ?>>COL_RST_RCVD); ?>>COL_RST_RCVD; ?>COL_RST_SENT); ?>>COL_RST_SENT; ?>COL_QSL_RCVD); ?>>COL_QSL_RCVD; ?>COL_QSL_SENT); ?>>COL_QSL_SENT; ?>COL_COUNTRY); ?>>COL_COUNTRY; ?>COL_VUCC_GRIDS != "") { ?>COL_VUCC_GRIDS); ?>>COL_VUCC_GRIDS; ?>COL_VUCC_GRIDS == "" && $qso->COL_GRIDSQUARE != "") { ?>COL_GRIDSQUARE); ?>>COL_GRIDSQUARE; ?>COL_SAT_NAME) { ?>COL_SAT_MODE); ?>>COL_SAT_MODE; ?>COL_SAT_NAME); ?>>COL_SAT_NAME; ?>COL_PROP_MODE) { ?>COL_PROP_MODE); ?>>COL_PROP_MODE; ?>COL_NAME) { ?>COL_NAME); ?>>COL_NAME; ?>COL_COMMENT) { ?>COL_COMMENT); ?>>COL_COMMENT; ?> + + \ No newline at end of file