2022-02-12 18:45:06 +08:00
|
|
|
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
|
|
|
|
/*
|
|
|
|
|
|
|
|
|
|
Data lookup functions used within Cloudlog
|
|
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
class Qrbcalc extends CI_Controller {
|
|
|
|
|
|
2022-02-14 01:08:55 +08:00
|
|
|
function __construct() {
|
2022-02-12 18:45:06 +08:00
|
|
|
parent::__construct();
|
|
|
|
|
|
|
|
|
|
$this->load->model('user_model');
|
|
|
|
|
if(!$this->user_model->authorize(2)) { $this->session->set_flashdata('notice', 'You\'re not allowed to do that!'); redirect('dashboard'); }
|
|
|
|
|
}
|
|
|
|
|
|
2022-02-14 01:08:55 +08:00
|
|
|
public function index() {
|
|
|
|
|
$data['page_title'] = "QRB Calculator";
|
2022-02-16 03:28:37 +08:00
|
|
|
|
|
|
|
|
$this->load->model('stations');
|
|
|
|
|
$data['station_locator'] = $this->stations->find_gridsquare();
|
|
|
|
|
|
2022-02-12 18:45:06 +08:00
|
|
|
$this->load->view('qrbcalc/index', $data);
|
|
|
|
|
}
|
2022-02-14 01:08:55 +08:00
|
|
|
|
|
|
|
|
public function calculate() {
|
|
|
|
|
$locator1 = $this->input->post("locator1");
|
|
|
|
|
$locator2 = $this->input->post("locator2");
|
|
|
|
|
|
|
|
|
|
if ($this->session->userdata('user_measurement_base') == NULL) {
|
|
|
|
|
$measurement_base = $this->config->item('measurement_base');
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
$measurement_base = $this->session->userdata('user_measurement_base');
|
|
|
|
|
}
|
|
|
|
|
|
2022-02-16 03:28:37 +08:00
|
|
|
switch ($measurement_base) {
|
|
|
|
|
case 'M':
|
|
|
|
|
$var_dist = " miles";
|
|
|
|
|
break;
|
|
|
|
|
case 'N':
|
|
|
|
|
$var_dist = " nautic miles";
|
|
|
|
|
break;
|
|
|
|
|
case 'K':
|
|
|
|
|
$var_dist = " kilometers";
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
2022-02-14 01:08:55 +08:00
|
|
|
$this->load->library('Qra');
|
|
|
|
|
|
|
|
|
|
$data['result'] = $this->qra->bearing($locator1, $locator2, $measurement_base);
|
2022-02-16 03:28:37 +08:00
|
|
|
$data['distance'] = $this->qra->distance($locator1, $locator2, $measurement_base) . $var_dist;
|
|
|
|
|
$data['bearing'] = $this->qra->get_bearing($locator1, $locator2) . "º ";
|
2022-02-14 01:08:55 +08:00
|
|
|
$data['latlng1'] = $this->qra->qra2latlong($locator1);
|
|
|
|
|
$data['latlng2'] = $this->qra->qra2latlong($locator2);
|
|
|
|
|
header('Content-Type: application/json');
|
|
|
|
|
echo json_encode($data);
|
|
|
|
|
}
|
|
|
|
|
}
|