diff --git a/application/controllers/dashboard.php b/application/controllers/dashboard.php index 076794a9..21c69926 100644 --- a/application/controllers/dashboard.php +++ b/application/controllers/dashboard.php @@ -54,6 +54,8 @@ class Dashboard extends CI_Controller { function map() { $this->load->model('logbook_model'); + $this->load->library('qra'); + //echo date('Y-m-d') $raw = strtotime('Monday last week'); @@ -67,7 +69,7 @@ class Dashboard extends CI_Controller { foreach ($qsos->result() as $row) { //print_r($row); if($row->COL_GRIDSQUARE != null) { - $stn_loc = qra2latlong($row->COL_GRIDSQUARE); + $stn_loc = $this->qra->qra2latlong($row->COL_GRIDSQUARE); if($count != 1) { echo ","; } @@ -102,7 +104,7 @@ class Dashboard extends CI_Controller { function todays_map() { - + $this->load->library('qra'); $this->load->model('logbook_model'); // TODO: Auth $qsos = $this->logbook_model->get_todays_qsos(''); @@ -113,7 +115,7 @@ class Dashboard extends CI_Controller { foreach ($qsos->result() as $row) { //print_r($row); if($row->COL_GRIDSQUARE != null) { - $stn_loc = qra2latlong($row->COL_GRIDSQUARE); + $stn_loc = $this->qra->qra2latlong($row->COL_GRIDSQUARE); echo "{\"point\":new GLatLng(".$stn_loc[0].",".$stn_loc[1]."), \"html\":\"Callsign: ".$row->COL_CALL."
Date/Time: ".$row->COL_TIME_ON."
Band: ".$row->COL_BAND."
Mode: ".$row->COL_MODE."\",\"label\":\"".$row->COL_CALL."\"},"; } else { $query = $this->db->query(' @@ -135,74 +137,4 @@ class Dashboard extends CI_Controller { } -} - -function distance($lat1, $lon1, $lat2, $lon2, $unit = 'M') { - $theta = $lon1 - $lon2; - $dist = sin(deg2rad($lat1)) * sin(deg2rad($lat2)) + cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * -cos(deg2rad($theta)); - $dist = acos($dist); - $dist = rad2deg($dist); - $dist = $dist * 60 * 1.1515; - - if ($unit == "K") { - $dist *= 1.609344; - } else if ($unit == "N") { - $dist *= 0.8684; - } - - return round($dist, 1); -} - -function bearing($lat1, $lon1, $lat2, $lon2) { - if (round($lon1, 1) == round($lon2, 1)) { - if ($lat1 < $lat2) { - $bearing = 0; - } else { - $bearing = 180; - } - } else { - $dist = distance($lat1, $lon1, $lat2, $lon2, 'N'); - $arad = acos((sin(deg2rad($lat2)) - sin(deg2rad($lat1)) * cos(deg2rad($dist / 60))) / (sin(deg2rad($dist -/ 60)) * cos(deg2rad($lat1)))); - $bearing = $arad * 180 / pi(); - if (sin(deg2rad($lon2 - $lon1)) < 0) { - $bearing = 360 - $bearing; - } - } - - $dirs = array("N","E","S","W"); - - $rounded = round($bearing / 22.5) % 16; - if (($rounded % 4) == 0) { - $dir = $dirs[$rounded / 4]; - } else { - $dir = $dirs[2 * floor(((floor($rounded / 4) + 1) % 4) / 2)]; - $dir .= $dirs[1 + 2 * floor($rounded / 8)]; - #if ($rounded % 2 == 1) - # $dir = $dirs[round_to_int($rounded/4) % 4] . "-" . $dir; - } - - #return $dir; - return round($bearing, 0)."º ".$dir." ".$dist." miles"; -} - -function qra2latlong($strQRA) - -{ - $strQRA = strtoupper($strQRA); - if (strlen($strQRA) == 4) $strQRA .= "MM"; - if (!preg_match('/^[A-Z]{2}[0-9]{2}[A-Z]{2}$/',$strQRA)) return false; - list($a,$b,$c,$d,$e,$f) = str_split($strQRA,1); - $a = ord($a) - ord('A'); - $b = ord($b) - ord('A'); - $c = ord($c) - ord('0'); - $d = ord($d) - ord('0'); - $e = ord($e) - ord('A'); - $f = ord($f) - ord('A'); - $nLong = ($a*20) + ($c*2) + (($e+0.5)/12) - 180; - $nLat = ($b*10) + $d + (($f+0.5)/24) - 90; - $arLatLong = array($nLat,$nLong); - return($arLatLong); - -} +} \ No newline at end of file diff --git a/application/controllers/qsl.php b/application/controllers/qsl.php new file mode 100644 index 00000000..67e28221 --- /dev/null +++ b/application/controllers/qsl.php @@ -0,0 +1,18 @@ +load->view('layout/header'); + $this->load->view('qsl/main'); + $this->load->view('layout/footer'); + } +} \ No newline at end of file diff --git a/application/views/layout/header.php b/application/views/layout/header.php index 0a388353..0e924ebc 100644 --- a/application/views/layout/header.php +++ b/application/views/layout/header.php @@ -161,6 +161,7 @@ config->item('use_auth') && ($this->session->userdata('user_type') >= 2)) || $this->config->item('use_auth') === FALSE){ ?>
  • Notes
  • +
  • QSLing
  • Statistics
  • config->item('use_auth') && $this->session->userdata('user_type') >= 99) || $this->config->item('use_auth') === FALSE) { ?> @@ -220,4 +221,12 @@ + + uri->segment(1) == "qsl") { ?> + +
    diff --git a/application/views/qsl/main.php b/application/views/qsl/main.php new file mode 100644 index 00000000..60d3ccd0 --- /dev/null +++ b/application/views/qsl/main.php @@ -0,0 +1,6 @@ +

    QSLing

    +
    + +

    QSLing functions.

    + +
    \ No newline at end of file diff --git a/cloudlog.sublime-workspace b/cloudlog.sublime-workspace index 2ffca8ca..e4d368cf 100644 --- a/cloudlog.sublime-workspace +++ b/cloudlog.sublime-workspace @@ -44,6 +44,12 @@ }, "file_history": [ + "/C/Users/Peter/git/HRD-Web-Frontend/application/views/view_log/qso.php", + "/C/Users/Peter/git/HRD-Web-Frontend/application/controllers/logbook.php", + "/C/Users/Peter/git/HRD-Web-Frontend/application/models/logbook_model.php", + "/C/Users/Peter/git/HRD-Web-Frontend/application/controllers/dashboard.php", + "/C/Users/Peter/git/HRD-Web-Frontend/application/views/view_log/index.php", + "/C/Users/Peter/git/HRD-Web-Frontend/application/views/dashboard/index.php", "/C/Users/Peter/git/HRD-Web-Frontend/application/controllers/backup.php", "/C/Users/Peter/git/HRD-Web-Frontend/application/views/layout/header.php", "/C/Users/Peter/git/HRD-Web-Frontend/application/views/backup/notes_view.php", @@ -58,14 +64,10 @@ "/C/Users/Peter/git/HRD-Web-Frontend/application/controllers/adif.php", "/C/Users/Peter/git/HRD-Web-Frontend/application/config/config.php", "/C/Users/Peter/Desktop/log.kml", - "/C/Users/Peter/git/HRD-Web-Frontend/application/models/logbook_model.php", - "/C/Users/Peter/git/HRD-Web-Frontend/application/controllers/dashboard.php", - "/C/Users/Peter/git/HRD-Web-Frontend/application/views/view_log/qso.php", "/C/Users/Peter/git/HRD-Web-Frontend/application/config/routes.php", "/C/Users/Peter/git/HRD-Web-Frontend/application/views/social/map.php", "/C/Users/Peter/git/HRD-Web-Frontend/application/controllers/social.php", "/C/Users/Peter/AppData/Roaming/Sublime Text 2/Packages/User/Default (Windows).sublime-keymap", - "/C/Users/Peter/git/HRD-Web-Frontend/application/views/dashboard/index.php", "/C/wamp/www/m3php/data.html", "/C/Users/Peter/git/HRD-Web-Frontend/index.php", "/C/Users/Peter/AppData/Roaming/Sublime Text 2/Packages/Default/Base File.sublime-settings",