2019-06-19 13:14:10 +00:00
|
|
|
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
|
|
|
|
|
|
|
/*
|
|
|
|
Controller to interact with the Clublog API
|
|
|
|
*/
|
|
|
|
|
|
|
|
class Clublog extends CI_Controller {
|
|
|
|
|
|
|
|
// Show frontend if there is one
|
|
|
|
public function index() {
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// Upload ADIF to Clublog
|
2019-06-19 14:00:16 +00:00
|
|
|
public function upload($username) {
|
2019-06-19 16:14:07 +00:00
|
|
|
ini_set('memory_limit', '-1');
|
2019-06-19 16:16:17 +00:00
|
|
|
ini_set('display_errors', 1);
|
|
|
|
ini_set('display_startup_errors', 1);
|
|
|
|
error_reporting(E_ALL);
|
2019-06-19 16:19:05 +00:00
|
|
|
|
2019-06-19 13:48:06 +00:00
|
|
|
$this->load->helper('file');
|
|
|
|
|
|
|
|
$this->load->model('logbook_model');
|
2019-06-19 14:00:16 +00:00
|
|
|
|
|
|
|
$this->load->model('clublog_model');
|
|
|
|
|
|
|
|
$clublog_info = $this->clublog_model->get_clublog_auth_info($username);
|
|
|
|
|
|
|
|
if(!isset($clublog_info['user_name'])) {
|
|
|
|
echo "Username unknown";
|
|
|
|
exit;
|
|
|
|
}
|
|
|
|
|
2019-06-19 13:48:06 +00:00
|
|
|
$data['qsos'] = $this->logbook_model->get_clublog_qsos();
|
|
|
|
|
2019-06-19 15:42:04 +00:00
|
|
|
if($data['qsos']->num_rows()){
|
|
|
|
// Create ADIF File of contacts not uploaded to Clublog
|
2019-06-19 15:04:15 +00:00
|
|
|
$string = $this->load->view('adif/data/clublog', $data, TRUE);
|
|
|
|
|
2019-06-19 15:51:46 +00:00
|
|
|
$ranid = uniqid();
|
|
|
|
if ( ! write_file('uploads/clublog'.$ranid.'.adi', $string)) {
|
2019-06-19 15:04:15 +00:00
|
|
|
echo 'Unable to write the file - Make the folder Upload folder has write permissions.';
|
|
|
|
}
|
|
|
|
else {
|
2019-06-19 15:51:46 +00:00
|
|
|
|
|
|
|
$file_info = get_file_info('uploads/clublog'.$ranid.'.adi');
|
2019-06-19 15:04:15 +00:00
|
|
|
|
|
|
|
// initialise the curl request
|
|
|
|
$request = curl_init('https://clublog.org/putlogs.php');
|
|
|
|
|
|
|
|
if (function_exists('curl_file_create')) { // php 5.5+
|
|
|
|
$cFile = curl_file_create($_SERVER['DOCUMENT_ROOT']."/".$file_info['server_path']);
|
|
|
|
} else { //
|
|
|
|
$cFile = '@' . realpath($_SERVER['DOCUMENT_ROOT']."/".$file_info['server_path']);
|
|
|
|
}
|
|
|
|
|
|
|
|
// send a file
|
|
|
|
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' => $clublog_info['user_clublog_callsign'],
|
|
|
|
'api' => "a11c3235cd74b88212ce726857056939d52372bd",
|
|
|
|
'file' => $cFile
|
|
|
|
));
|
|
|
|
|
|
|
|
// output the response
|
|
|
|
curl_setopt($request, CURLOPT_RETURNTRANSFER, true);
|
2019-06-19 15:23:41 +00:00
|
|
|
echo curl_exec($request);
|
2019-06-19 15:21:16 +00:00
|
|
|
|
2019-06-19 16:21:49 +00:00
|
|
|
if(curl_errno($request)) {
|
2019-06-19 16:21:27 +00:00
|
|
|
echo 'Curl error: '.curl_error($ch);
|
|
|
|
}
|
2019-06-19 16:21:49 +00:00
|
|
|
curl_close ($request);
|
2019-06-19 16:21:27 +00:00
|
|
|
|
2019-06-19 16:11:15 +00:00
|
|
|
$results = strval($request);
|
2019-06-19 15:42:04 +00:00
|
|
|
|
2019-06-19 16:11:15 +00:00
|
|
|
$check = strpos($results, 'accepted');
|
2019-06-19 15:04:15 +00:00
|
|
|
|
|
|
|
// If Clublog Accepts mark the QSOs
|
2019-06-19 16:11:15 +00:00
|
|
|
if ($check !== false) {
|
2019-06-19 15:42:04 +00:00
|
|
|
$this->clublog_model->mark_qsos_sent();
|
2019-06-19 15:04:15 +00:00
|
|
|
|
2019-06-19 15:42:04 +00:00
|
|
|
echo "QSOs uploaded and Logbook QSOs marked as sent to Clublog";
|
2019-06-19 16:19:05 +00:00
|
|
|
} else {
|
|
|
|
echo "some other issue";
|
|
|
|
}
|
2019-06-19 15:04:15 +00:00
|
|
|
}
|
2019-06-19 15:42:04 +00:00
|
|
|
} else {
|
|
|
|
echo "Nothing awaiting upload to clublog";
|
|
|
|
}
|
2019-06-19 13:48:06 +00:00
|
|
|
|
2019-06-19 15:42:04 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2019-06-19 13:14:10 +00:00
|
|
|
}
|