[ADIF Backup] Added so that ADIF can be backed up with cron and api key

这个提交包含在:
Andreas 2023-05-01 15:25:30 +02:00
父节点 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'));