Clublog will upload to logbook based on the station callsign of the station profile
这个提交包含在:
父节点
151e82f3ff
当前提交
eff165f28e
共有 3 个文件被更改,包括 82 次插入 和 70 次删除
|
|
@ -23,6 +23,8 @@ class Clublog extends CI_Controller {
|
||||||
|
|
||||||
$this->load->model('logbook_model');
|
$this->load->model('logbook_model');
|
||||||
|
|
||||||
|
$this->load->model('stations');
|
||||||
|
|
||||||
$this->load->model('clublog_model');
|
$this->load->model('clublog_model');
|
||||||
|
|
||||||
$clublog_info = $this->clublog_model->get_clublog_auth_info($username);
|
$clublog_info = $this->clublog_model->get_clublog_auth_info($username);
|
||||||
|
|
@ -32,84 +34,91 @@ class Clublog extends CI_Controller {
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
$data['qsos'] = $this->logbook_model->get_clublog_qsos();
|
|
||||||
|
|
||||||
if($data['qsos']->num_rows()){
|
$station_profiles = $this->stations->all_with_count();
|
||||||
// Create ADIF File of contacts not uploaded to Clublog
|
|
||||||
$string = $this->load->view('adif/data/clublog', $data, TRUE);
|
|
||||||
|
|
||||||
$ranid = uniqid();
|
if($station_profiles->num_rows()){
|
||||||
if ( ! write_file('uploads/clublog'.$ranid.'.adi', $string)) {
|
foreach ($station_profiles->result() as $station_row)
|
||||||
echo 'Unable to write the file - Make the folder Upload folder has write permissions.';
|
{
|
||||||
|
if($station_row->qso_total > 0) {
|
||||||
|
$data['qsos'] = $this->logbook_model->get_clublog_qsos($station_row->station_id);
|
||||||
|
|
||||||
|
$string = $this->load->view('adif/data/clublog', $data, TRUE);
|
||||||
|
|
||||||
|
$ranid = uniqid();
|
||||||
|
|
||||||
|
if ( ! write_file('uploads/clublog'.$ranid.'.adi', $string)) {
|
||||||
|
echo 'Unable to write the file - Make the folder Upload folder has write permissions.';
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
|
||||||
|
$file_info = get_file_info('uploads/clublog'.$ranid.'.adi');
|
||||||
|
|
||||||
|
// initialise the curl request
|
||||||
|
$request = curl_init('https://clublog.org/putlogs.php');
|
||||||
|
|
||||||
|
if($this->config->item('directory') != "") {
|
||||||
|
$filepath = $_SERVER['DOCUMENT_ROOT']."/".$this->config->item('directory')."/".$file_info['server_path'];
|
||||||
|
} else {
|
||||||
|
$filepath = $_SERVER['DOCUMENT_ROOT']."/".$file_info['server_path'];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (function_exists('curl_file_create')) { // php 5.5+
|
||||||
|
$cFile = curl_file_create($filepath);
|
||||||
|
} else { //
|
||||||
|
$cFile = '@' . realpath($filepath);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 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' => $station_row->station_callsign,
|
||||||
|
'api' => "a11c3235cd74b88212ce726857056939d52372bd",
|
||||||
|
'file' => $cFile
|
||||||
|
));
|
||||||
|
|
||||||
|
// 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);
|
||||||
|
|
||||||
|
|
||||||
|
// If Clublog Accepts mark the QSOs
|
||||||
|
if (preg_match('/\baccepted\b/', $response)) {
|
||||||
|
echo "QSOs uploaded and Logbook QSOs marked as sent to Clublog";
|
||||||
|
|
||||||
|
$this->load->model('clublog_model');
|
||||||
|
$this->clublog_model->mark_qsos_sent($station_row->station_id);
|
||||||
|
} else {
|
||||||
|
echo "Error ".$response;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
echo "Nothing awaiting upload to clublog";
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
|
|
||||||
$file_info = get_file_info('uploads/clublog'.$ranid.'.adi');
|
|
||||||
|
|
||||||
// initialise the curl request
|
|
||||||
$request = curl_init('https://clublog.org/putlogs.php');
|
|
||||||
|
|
||||||
if($this->config->item('directory') != "") {
|
|
||||||
$filepath = $_SERVER['DOCUMENT_ROOT']."/".$this->config->item('directory')."/".$file_info['server_path'];
|
|
||||||
} else {
|
|
||||||
$filepath = $_SERVER['DOCUMENT_ROOT']."/".$file_info['server_path'];
|
|
||||||
}
|
|
||||||
|
|
||||||
if (function_exists('curl_file_create')) { // php 5.5+
|
|
||||||
$cFile = curl_file_create($filepath);
|
|
||||||
} else { //
|
|
||||||
$cFile = '@' . realpath($filepath);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 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);
|
|
||||||
$response = curl_exec($request);
|
|
||||||
$info = curl_getinfo($request);
|
|
||||||
|
|
||||||
if(curl_errno($request)) {
|
|
||||||
echo curl_error($request);
|
|
||||||
}
|
|
||||||
curl_close ($request);
|
|
||||||
|
|
||||||
|
|
||||||
// If Clublog Accepts mark the QSOs
|
|
||||||
if (preg_match('/\baccepted\b/', $response)) {
|
|
||||||
echo "QSOs uploaded and Logbook QSOs marked as sent to Clublog";
|
|
||||||
|
|
||||||
$this->load->model('clublog_model');
|
|
||||||
$this->clublog_model->mark_qsos_sent();
|
|
||||||
} else {
|
|
||||||
echo "Error ".$response;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
echo "Nothing awaiting upload to clublog";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function markqso() {
|
function markqso($station_id) {
|
||||||
$this->load->model('clublog_model');
|
$this->load->model('clublog_model');
|
||||||
$this->clublog_model->mark_qsos_sent();
|
$this->clublog_model->mark_qsos_sent($station_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
function markallnotsent() {
|
function markallnotsent() {
|
||||||
$this->load->model('clublog_model');
|
$this->load->model('clublog_model');
|
||||||
$this->clublog_model->mark_all_qsos_notsent();
|
$this->clublog_model->mark_all_qsos_notsent($station_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Find DXCC
|
// Find DXCC
|
||||||
|
|
|
||||||
|
|
@ -14,24 +14,26 @@ class Clublog_model extends CI_Model {
|
||||||
return $row = $query->row_array();
|
return $row = $query->row_array();
|
||||||
}
|
}
|
||||||
|
|
||||||
function mark_qsos_sent() {
|
function mark_qsos_sent($station_id) {
|
||||||
$data = array(
|
$data = array(
|
||||||
'COL_CLUBLOG_QSO_UPLOAD_DATE' => date('Y-m-d'),
|
'COL_CLUBLOG_QSO_UPLOAD_DATE' => date('Y-m-d'),
|
||||||
'COL_CLUBLOG_QSO_UPLOAD_STATUS' => "Y",
|
'COL_CLUBLOG_QSO_UPLOAD_STATUS' => "Y",
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$this->db->where("station_id", $station_id);
|
||||||
$this->db->where("COL_CLUBLOG_QSO_UPLOAD_STATUS", null);
|
$this->db->where("COL_CLUBLOG_QSO_UPLOAD_STATUS", null);
|
||||||
$this->db->or_where("COL_CLUBLOG_QSO_UPLOAD_STATUS", "");
|
$this->db->or_where("COL_CLUBLOG_QSO_UPLOAD_STATUS", "");
|
||||||
$this->db->or_where("COL_CLUBLOG_QSO_UPLOAD_STATUS", "N");
|
$this->db->or_where("COL_CLUBLOG_QSO_UPLOAD_STATUS", "N");
|
||||||
$this->db->update($this->config->item('table_name'), $data);
|
$this->db->update($this->config->item('table_name'), $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
function mark_all_qsos_notsent() {
|
function mark_all_qsos_notsent($station_id) {
|
||||||
$data = array(
|
$data = array(
|
||||||
'COL_CLUBLOG_QSO_UPLOAD_DATE' => null,
|
'COL_CLUBLOG_QSO_UPLOAD_DATE' => null,
|
||||||
'COL_CLUBLOG_QSO_UPLOAD_STATUS' => "N",
|
'COL_CLUBLOG_QSO_UPLOAD_STATUS' => "N",
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$this->db->where("station_id", $station_id);
|
||||||
$this->db->where("COL_CLUBLOG_QSO_UPLOAD_STATUS", "Y");
|
$this->db->where("COL_CLUBLOG_QSO_UPLOAD_STATUS", "Y");
|
||||||
$this->db->update($this->config->item('table_name'), $data);
|
$this->db->update($this->config->item('table_name'), $data);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -444,7 +444,8 @@ class Logbook_model extends CI_Model {
|
||||||
return $this->db->get();
|
return $this->db->get();
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_clublog_qsos(){
|
function get_clublog_qsos($station_id){
|
||||||
|
$this->db->where('station_id', $station_id);
|
||||||
$this->db->where("COL_CLUBLOG_QSO_UPLOAD_STATUS", null);
|
$this->db->where("COL_CLUBLOG_QSO_UPLOAD_STATUS", null);
|
||||||
$this->db->or_where("COL_CLUBLOG_QSO_UPLOAD_STATUS", "");
|
$this->db->or_where("COL_CLUBLOG_QSO_UPLOAD_STATUS", "");
|
||||||
$this->db->or_where("COL_CLUBLOG_QSO_UPLOAD_STATUS", "N");
|
$this->db->or_where("COL_CLUBLOG_QSO_UPLOAD_STATUS", "N");
|
||||||
|
|
|
||||||
正在加载…
在新工单中引用