[ADIF Backup] Added so that ADIF can be backed up with cron and api key
这个提交包含在:
父节点
cb71e0961f
当前提交
b45cfda3eb
共有 2 个文件被更改,包括 18 次插入 和 6 次删除
|
|
@ -20,14 +20,14 @@ class Backup extends CI_Controller {
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Gets all QSOs and Dumps them to logbook.adi */
|
/* Gets all QSOs and Dumps them to logbook.adi */
|
||||||
public function adif(){
|
public function adif($key){
|
||||||
$this->load->helper('file');
|
$this->load->helper('file');
|
||||||
// Set memory limit to unlimited to allow heavy usage
|
// Set memory limit to unlimited to allow heavy usage
|
||||||
ini_set('memory_limit', '-1');
|
ini_set('memory_limit', '-1');
|
||||||
|
|
||||||
$this->load->model('adif_data');
|
$this->load->model('adif_data');
|
||||||
|
|
||||||
$data['qsos'] = $this->adif_data->export_all();
|
$data['qsos'] = $this->adif_data->export_all($key);
|
||||||
|
|
||||||
if ( ! write_file('backup/logbook.adi', $this->load->view('backup/exportall', $data, true)))
|
if ( ! write_file('backup/logbook.adi', $this->load->view('backup/exportall', $data, true)))
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -2,13 +2,25 @@
|
||||||
|
|
||||||
class adif_data extends CI_Model {
|
class adif_data extends CI_Model {
|
||||||
|
|
||||||
function export_all() {
|
function export_all($api_key = null) {
|
||||||
$this->load->model('stations');
|
if ($api_key != null) {
|
||||||
$active_station_id = $this->stations->find_active();
|
$CI =& get_instance();
|
||||||
|
$CI->load->model('api_model');
|
||||||
|
if (strpos($this->api_model->access($api_key), 'r') !== false) {
|
||||||
|
$CI->load->model('logbooks_model');
|
||||||
|
$this->api_model->update_last_used($api_key);
|
||||||
|
$user_id = $this->api_model->key_userid($api_key);
|
||||||
|
$active_station_logbook = $CI->logbooks_model->find_active_station_logbook_from_userid($user_id);
|
||||||
|
$logbooks_locations_array = $CI->logbooks_model->list_logbook_relationships($active_station_logbook);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$logbooks_locations_array = $CI->logbooks_model->list_logbook_relationships($this->session->userdata('active_station_logbook'));
|
||||||
|
}
|
||||||
|
|
||||||
$this->db->select($this->config->item('table_name').'.*, station_profile.*, dxcc_entities.name as station_country');
|
$this->db->select($this->config->item('table_name').'.*, station_profile.*, dxcc_entities.name as station_country');
|
||||||
$this->db->where($this->config->item('table_name').'.station_id', $active_station_id);
|
|
||||||
$this->db->order_by("COL_TIME_ON", "ASC");
|
$this->db->order_by("COL_TIME_ON", "ASC");
|
||||||
$this->db->join('station_profile', 'station_profile.station_id = '.$this->config->item('table_name').'.station_id');
|
$this->db->join('station_profile', 'station_profile.station_id = '.$this->config->item('table_name').'.station_id');
|
||||||
|
$this->db->where_in('station_profile.station_id', $logbooks_locations_array);
|
||||||
$this->db->join('dxcc_entities', 'station_profile.station_dxcc = dxcc_entities.adif');
|
$this->db->join('dxcc_entities', 'station_profile.station_dxcc = dxcc_entities.adif');
|
||||||
$query = $this->db->get($this->config->item('table_name'));
|
$query = $this->db->get($this->config->item('table_name'));
|
||||||
|
|
||||||
|
|
|
||||||
正在加载…
在新工单中引用