[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 */
|
||||
public function adif(){
|
||||
public function adif($key){
|
||||
$this->load->helper('file');
|
||||
// Set memory limit to unlimited to allow heavy usage
|
||||
ini_set('memory_limit', '-1');
|
||||
|
||||
$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)))
|
||||
{
|
||||
|
|
|
|||
|
|
@ -2,13 +2,25 @@
|
|||
|
||||
class adif_data extends CI_Model {
|
||||
|
||||
function export_all() {
|
||||
$this->load->model('stations');
|
||||
$active_station_id = $this->stations->find_active();
|
||||
function export_all($api_key = null) {
|
||||
if ($api_key != null) {
|
||||
$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->where($this->config->item('table_name').'.station_id', $active_station_id);
|
||||
$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->where_in('station_profile.station_id', $logbooks_locations_array);
|
||||
$this->db->join('dxcc_entities', 'station_profile.station_dxcc = dxcc_entities.adif');
|
||||
$query = $this->db->get($this->config->item('table_name'));
|
||||
|
||||
|
|
|
|||
正在加载…
在新工单中引用