kopia lustrzana https://github.com/magicbug/Cloudlog
Clublog Upload - added validation and marks qsos when sent.
rodzic
0a065e28c2
commit
ee85bfcbaa
|
@ -26,51 +26,57 @@ class Clublog extends CI_Controller {
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
print_r($clublog_info);
|
|
||||||
|
|
||||||
$data['qsos'] = $this->logbook_model->get_clublog_qsos();
|
$data['qsos'] = $this->logbook_model->get_clublog_qsos();
|
||||||
|
|
||||||
// Create ADIF File of contacts not uploaded to Clublog
|
if($data['qsos']->num_rows()){
|
||||||
$string = $this->load->view('adif/data/clublog', $data, TRUE);
|
// 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)) {
|
if ( ! write_file('uploads/clublog.adi', $string)) {
|
||||||
echo 'Unable to write the file - Make the folder Upload folder has write permissions.';
|
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);
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -13,6 +13,17 @@ class Clublog_model extends CI_Model {
|
||||||
$query = $this->db->get($this->config->item('auth_table'));
|
$query = $this->db->get($this->config->item('auth_table'));
|
||||||
return $row = $query->row_array();
|
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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
Ładowanie…
Reference in New Issue