diff --git a/application/controllers/Webadif.php b/application/controllers/Webadif.php index d5fcb183..a958f402 100644 --- a/application/controllers/Webadif.php +++ b/application/controllers/Webadif.php @@ -21,7 +21,7 @@ class Webadif extends CI_Controller { foreach ($station_ids as $station) { $webadif_api_key = $station->webadifapikey; $webadif_api_url = $station->webadifapiurl; - if ($this->mass_upload_qsos($station->station_id, $webadif_api_key, $webadif_api_url)) { + if ($this->mass_upload_qsos($station->station_id, $webadif_api_key, $webadif_api_url, true)) { echo "QSOs have been uploaded to QO-100 Dx Club."; log_message('info', 'QSOs have been uploaded to QO-100 Dx Club.'); } else { @@ -47,9 +47,9 @@ class Webadif extends CI_Controller { * Function gets all QSOs from given station_id, that are not previously uploaded to webADIF consumer. * Adif is build for each qso, and then uploaded, one at a time */ - function mass_upload_qsos($station_id, $webadif_api_key, $webadif_api_url) { + function mass_upload_qsos($station_id, $webadif_api_key, $webadif_api_url, $trusted = false) { $i = 0; - $data['qsos'] = $this->logbook_model->get_webadif_qsos($station_id); + $data['qsos'] = $this->logbook_model->get_webadif_qsos($station_id, $trusted); $errormessages=array(); $CI =& get_instance(); @@ -91,7 +91,7 @@ class Webadif extends CI_Controller { $data['page_title'] = "QO-100 Dx Club Upload"; - $data['station_profiles'] = $this->stations->stations_with_webadif_api_key(); + $data['station_profiles'] = $this->stations->stations_with_webadif_api_key(); $data['station_profile'] = $this->stations->stations_with_webadif_api_key(); $this->load->view('interface_assets/header', $data); @@ -103,32 +103,34 @@ class Webadif extends CI_Controller { * Used for ajax-function when selecting log for upload to webADIF consumer */ public function upload_station() { - $this->setOptions(); - $this->load->model('stations'); + $this->setOptions(); + $postData = $this->input->post(); + $this->load->model('stations'); + if (!$this->stations->check_station_is_accessible($postData['station_id'])) { + return; + } - $postData = $this->input->post(); + $this->load->model('logbook_model'); + $result = $this->logbook_model->exists_webadif_api_key($postData['station_id']); + $webadif_api_key = $result->webadifapikey; + $webadif_api_url = $result->webadifapiurl; + header('Content-type: application/json'); + $result = $this->mass_upload_qsos($postData['station_id'], $webadif_api_key, $webadif_api_url); + if ($result['status'] == 'OK') { + $stationinfo = $this->stations->stations_with_webadif_api_key(); + $info = $stationinfo->result(); - $this->load->model('logbook_model'); - $result = $this->logbook_model->exists_webadif_api_key($postData['station_id']); - $webadif_api_key = $result->webadifapikey; - $webadif_api_url = $result->webadifapiurl; - header('Content-type: application/json'); - $result = $this->mass_upload_qsos($postData['station_id'], $webadif_api_key, $webadif_api_url); - if ($result['status'] == 'OK') { - $stationinfo = $this->stations->stations_with_webadif_api_key(); - $info = $stationinfo->result(); - - $data['status'] = 'OK'; - $data['info'] = $info; - $data['infomessage'] = $result['count'] . " QSOs are now uploaded to QO-100 Dx Club"; - $data['errormessages'] = $result['errormessages']; - echo json_encode($data); - } else { - $data['status'] = 'Error'; - $data['info'] = 'Error: No QSOs found to upload.'; - $data['errormessages'] = $result['errormessages']; - echo json_encode($data); - } + $data['status'] = 'OK'; + $data['info'] = $info; + $data['infomessage'] = $result['count'] . " QSOs are now uploaded to QO-100 Dx Club"; + $data['errormessages'] = $result['errormessages']; + echo json_encode($data); + } else { + $data['status'] = 'Error'; + $data['info'] = 'Error: No QSOs found to upload.'; + $data['errormessages'] = $result['errormessages']; + echo json_encode($data); + } } public function mark_webadif() { diff --git a/application/models/Logbook_model.php b/application/models/Logbook_model.php index 86ce4928..ee934bc0 100755 --- a/application/models/Logbook_model.php +++ b/application/models/Logbook_model.php @@ -237,13 +237,13 @@ class Logbook_model extends CI_Model { if($station_id == "" || $station_id == "0") { $CI =& get_instance(); - $CI->load->model('Stations'); - $station_id = $CI->Stations->find_active(); + $CI->load->model('stations'); + $station_id = $CI->stations->find_active(); } $CI =& get_instance(); - $CI->load->model('Stations'); - if (!$CI->Stations->check_station_is_accessible($station_id)) { // Hard Exit if station_profile not accessible + $CI->load->model('stations'); + if (!$CI->stations->check_station_is_accessible($station_id)) { // Hard Exit if station_profile not accessible return 'Station not accessible
'; } @@ -881,8 +881,8 @@ class Logbook_model extends CI_Model { // be sure that station belongs to user $CI =& get_instance(); - $CI->load->model('Stations'); - if (!$CI->Stations->check_station_is_accessible($stationId)) { + $CI->load->model('stations'); + if (!$CI->stations->check_station_is_accessible($stationId)) { return; } @@ -1376,8 +1376,8 @@ class Logbook_model extends CI_Model { function get_qsos_for_printing($station_id2 = null) { $CI =& get_instance(); - $CI->load->model('Stations'); - $station_id = $CI->Stations->find_active(); + $CI->load->model('stations'); + $station_id = $CI->stations->find_active(); $sql = 'SELECT STATION_CALLSIGN, @@ -1500,10 +1500,10 @@ class Logbook_model extends CI_Model { /* * Function returns the QSOs from the logbook, which have not been either marked as uploaded to webADIF */ - function get_webadif_qsos($station_id,$from = null, $to = null){ + function get_webadif_qsos($station_id,$from = null, $to = null,$trusted = false){ $CI =& get_instance(); - $CI->load->model('Stations'); - if (!$CI->Stations->check_station_is_accessible($station_id)) { + $CI->load->model('stations'); + if ((!$trusted) && (!$CI->stations->check_station_is_accessible($station_id))) { return; } $sql = " @@ -1968,8 +1968,8 @@ class Logbook_model extends CI_Model { /* Return QSOs for the year for the active profile */ function map_all_qsos_for_active_station_profile() { $CI =& get_instance(); - $CI->load->model('Stations'); - $station_id = $CI->Stations->find_active(); + $CI->load->model('stations'); + $station_id = $CI->stations->find_active(); $this->db->where("station_id", $station_id); $this->db->order_by("COL_TIME_ON", "ASC"); @@ -2762,12 +2762,12 @@ class Logbook_model extends CI_Model { function import($record, $station_id = "0", $skipDuplicate = false, $markLotw = false, $dxccAdif = false, $markQrz = false, $markHrd = false,$skipexport = false, $operatorName = false, $apicall = false) { // be sure that station belongs to user $CI =& get_instance(); - $CI->load->model('Stations'); - if (!$CI->Stations->check_station_is_accessible($station_id) && $apicall == false ) { + $CI->load->model('stations'); + if (!$CI->stations->check_station_is_accessible($station_id) && $apicall == false ) { return 'Station not accessible
'; } - $station_profile=$CI->Stations->profile_clean($station_id); + $station_profile=$CI->stations->profile_clean($station_id); $station_profile_call=$station_profile->station_callsign; if (($station_id !=0 ) && (!(isset($record['station_callsign'])))) { @@ -3078,8 +3078,8 @@ class Logbook_model extends CI_Model { // Get active station_id from station profile if one hasn't been provided if($station_id == "" || $station_id == "0") { $CI =& get_instance(); - $CI->load->model('Stations'); - $station_id = $CI->Stations->find_active(); + $CI->load->model('stations'); + $station_id = $CI->stations->find_active(); } // Check if QSO is already in the database