Clublog Upload - added validation and marks qsos when sent.

pull/302/head
Peter Goodhall 2019-06-19 16:04:15 +01:00
rodzic 0a065e28c2
commit ee85bfcbaa
2 zmienionych plików z 58 dodań i 41 usunięć

Wyświetl plik

@ -26,51 +26,57 @@ class Clublog extends CI_Controller {
exit;
}
print_r($clublog_info);
$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($data['qsos']->num_rows()){
// 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.';
if ( ! write_file('uploads/clublog.adi', $string)) {
echo 'Unable to write the file - Make the folder Upload folder has write permissions.';
}
else {
$file_info = get_file_info('uploads/clublog.adi');
// 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);
$results = curl_exec($request);
// close the session
curl_close($request);
// If Clublog Accepts mark the QSOs
if (strpos($results, 'accepted') !== false) {
$this->clublog_model->mark_qsos_sent();
echo "QSOs uploaded and Logbook QSOs marked as sent to Clublog";
}
}
} else {
echo "Nothing awaiting upload to clublog";
}
else {
echo "uploads/clublog.adi file created.";
}
$file_info = get_file_info('uploads/clublog.adi');
// 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);
echo curl_exec($request);
// close the session
curl_close($request);
}

Wyświetl plik

@ -13,6 +13,17 @@ class Clublog_model extends CI_Model {
$query = $this->db->get($this->config->item('auth_table'));
return $row = $query->row_array();
}
function mark_qsos_sent() {
$data = array(
'COL_CLUBLOG_QSO_UPLOAD_DATE' => date('Y-m-d'),
'COL_CLUBLOG_QSO_UPLOAD_STATUS' => "Y",
);
$this->db->where("COL_CLUBLOG_QSO_UPLOAD_STATUS", "");
$this->db->or_where("COL_CLUBLOG_QSO_UPLOAD_STATUS", "N");
$this->db->update($this->config->item('table_name'), $data);
}
}
?>