61 行
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			61 行
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
 | |
| 
 | |
| /*
 | |
| 	Controller to interact with the QRZ.com API
 | |
| */
 | |
| 
 | |
| class Qrz extends CI_Controller {
 | |
| 
 | |
|     // Show frontend if there is one
 | |
|     public function index() {
 | |
|         $this->config->load('config');
 | |
|     }
 | |
| 
 | |
|     // Upload QSO to QRZ.com
 | |
|     public function upload() {
 | |
| 
 | |
|         $this->config->load('config');
 | |
|         ini_set('memory_limit', '-1');
 | |
|         ini_set('display_errors', 1);
 | |
|         ini_set('display_startup_errors', 1);
 | |
|         error_reporting(E_ALL);
 | |
| 
 | |
|         $this->load->model('logbook_model');
 | |
| 
 | |
|         $station_ids = $this->logbook_model->get_station_id_with_qrz_api();
 | |
| 
 | |
|         if ($station_ids) {
 | |
|             foreach ($station_ids as $station_id) {
 | |
|                 $qrz_api_key = $this->logbook_model->exists_qrz_api_key($station_id);
 | |
|                 $this->mass_upload_qsos($station_id, $qrz_api_key);
 | |
|             }
 | |
|         } else {
 | |
|             echo "No station_id's with a QRZ API Key found";
 | |
|             log_message('info', "No station_id's with a QRZ API Key found");
 | |
|         }
 | |
| 
 | |
|     }
 | |
| 
 | |
|     function mass_upload_qsos($station_id, $qrz_api_key) {
 | |
|         $data['qsos'] = $this->logbook_model->get_qrz_qsos($station_id);
 | |
| 
 | |
|         if ($data['qsos']) {
 | |
|             foreach ($data['qsos'] as $qso) {
 | |
|                 $adif = $this->logbook_model->create_adif_from_data($qso);
 | |
|                 $result = $this->logbook_model->push_qso_to_qrz($qrz_api_key, $adif);
 | |
|                 if ($result) {
 | |
|                     $this->markqso($qso['COL_PRIMARY_KEY']);
 | |
|                 }
 | |
|             }
 | |
|         echo "QSOs has been uploaded to QRZ.com.";
 | |
|         log_message('info', 'QSOs has been uploaded to QRZ.com.');
 | |
|         } else {
 | |
|             echo "No QSOs found for upload.";
 | |
|             log_message('info', 'No QSOs found for upload.');
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     function markqso($primarykey) {
 | |
|         $this->logbook_model->mark_qrz_qsos_sent($primarykey);
 | |
|     }
 | |
| }
 |