From 7f538b4cab7f624d649bbe8ca20788de76dca027 Mon Sep 17 00:00:00 2001 From: Peter Goodhall Date: Sat, 12 Oct 2019 23:42:03 +0100 Subject: [PATCH] added clublog/realtime function this hasn't been tested current thinking is to run in a cronjob every minute or so --- application/controllers/Clublog.php | 44 +++++++++++++++++-- .../views/adif/data/clublog_realtime.php | 1 + 2 files changed, 41 insertions(+), 4 deletions(-) create mode 100644 application/views/adif/data/clublog_realtime.php diff --git a/application/controllers/Clublog.php b/application/controllers/Clublog.php index cb7d64f8..cbd70b96 100644 --- a/application/controllers/Clublog.php +++ b/application/controllers/Clublog.php @@ -138,10 +138,19 @@ class Clublog extends CI_Controller { } - function realtime() { + function realtime($username) { + $clean_username = $this->security->xss_clean($username); + $this->load->model('stations'); $this->load->model('clublog_model'); + $clublog_info = $this->clublog_model->get_clublog_auth_info($clean_username); + + if(!isset($clublog_info['user_name'])) { + echo "Username unknown"; + exit; + } + $station_profiles = $this->stations->all_with_count(); // if station profiles exist @@ -151,12 +160,39 @@ class Clublog extends CI_Controller { { // if the station profile has more than 1 qso if($station_row->qso_total > 0) { - $qsos = $this->clublog_model->get_last_five($station_row->station_id); + $myqsos = $this->clublog_model->get_last_five($station_row->station_id); - foreach ($qsos->result() as $qso) + foreach ($myqsos->result() as $qso) { - print_r($qso); + $data['qso'] = $qso; + $adif_string = $this->load->view('adif/data/clublog_realtime', $data, true); } + + // initialise the curl request + $request = curl_init('https://clublog.org/realtime.php'); + + curl_setopt($request, CURLOPT_POST, true); + curl_setopt( + $request, + CURLOPT_POSTFIELDS, + array( + 'email' => $clublog_info['user_clublog_name'], + 'password' => $clublog_info['user_clublog_password'], + 'callsign' => $station_row->station_callsign, + 'adif' => $adif_string, + 'api' => "a11c3235cd74b88212ce726857056939d52372bd", + )); + + // output the response + curl_setopt($request, CURLOPT_RETURNTRANSFER, true); + $response = curl_exec($request); + $info = curl_getinfo($request); + + if(curl_errno($request)) { + echo curl_error($request); + } + curl_close ($request); + } } } diff --git a/application/views/adif/data/clublog_realtime.php b/application/views/adif/data/clublog_realtime.php new file mode 100644 index 00000000..7bc90309 --- /dev/null +++ b/application/views/adif/data/clublog_realtime.php @@ -0,0 +1 @@ +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; ?>COL_OPERATOR) { ?>COL_OPERATOR); ?>>COL_OPERATOR; ?>