| 
									
										
										
										
											2011-04-25 23:24:01 +08:00
										 |  |  | <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class Dashboard extends CI_Controller { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	public function index() | 
					
						
							|  |  |  | 	{ | 
					
						
							| 
									
										
										
										
											2013-02-26 11:11:49 +08:00
										 |  |  | 		// Check our version and run any migrations
 | 
					
						
							|  |  |  | 		$this->load->library('Migration'); | 
					
						
							|  |  |  | 		$this->migration->current();	 | 
					
						
							|  |  |  | 		 | 
					
						
							| 
									
										
										
										
											2011-06-17 20:52:00 +08:00
										 |  |  | 		// Database connections
 | 
					
						
							|  |  |  | 		$this->load->model('logbook_model'); | 
					
						
							| 
									
										
										
										
											2011-08-20 01:24:56 +08:00
										 |  |  | 		$this->load->model('user_model'); | 
					
						
							|  |  |  | 		if(!$this->user_model->authorize($this->config->item('auth_mode'))) { | 
					
						
							|  |  |  | 			if($this->user_model->validate_session()) { | 
					
						
							|  |  |  | 				$this->user_model->clear_session(); | 
					
						
							|  |  |  | 				show_error('Access denied<p>Click <a href="'.site_url('user/login').'">here</a> to log in as another user', 403); | 
					
						
							|  |  |  | 			} else { | 
					
						
							|  |  |  | 				redirect('user/login'); | 
					
						
							|  |  |  | 			} | 
					
						
							|  |  |  | 		} | 
					
						
							| 
									
										
										
										
											2011-06-17 20:52:00 +08:00
										 |  |  | 		 | 
					
						
							| 
									
										
										
										
											2012-12-01 00:16:43 +08:00
										 |  |  | 		// Calculate Lat/Lng from Locator to use on Maps
 | 
					
						
							|  |  |  | 		if($this->session->userdata('user_locator')) { | 
					
						
							|  |  |  | 				$this->load->library('qra'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 				$qra_position = $this->qra->qra2latlong($this->session->userdata('user_locator')); | 
					
						
							|  |  |  | 				$data['qra'] = "set"; | 
					
						
							|  |  |  | 				$data['qra_lat'] = $qra_position[0]; | 
					
						
							|  |  |  | 				$data['qra_lng'] = $qra_position[1];    | 
					
						
							|  |  |  | 		} else { | 
					
						
							|  |  |  | 				$data['qra'] = "none"; | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 		 | 
					
						
							| 
									
										
										
										
											2011-06-17 20:52:00 +08:00
										 |  |  | 		// Store info
 | 
					
						
							|  |  |  | 		$data['todays_qsos'] = $this->logbook_model->todays_qsos(); | 
					
						
							|  |  |  | 		$data['total_qsos'] = $this->logbook_model->total_qsos(); | 
					
						
							|  |  |  | 		$data['month_qsos'] = $this->logbook_model->month_qsos(); | 
					
						
							|  |  |  | 		$data['year_qsos'] = $this->logbook_model->year_qsos(); | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		$data['total_ssb'] = $this->logbook_model->total_ssb(); | 
					
						
							|  |  |  | 		$data['total_cw'] = $this->logbook_model->total_cw(); | 
					
						
							|  |  |  | 		$data['total_fm'] = $this->logbook_model->total_fm(); | 
					
						
							|  |  |  | 		$data['total_digi'] = $this->logbook_model->total_digi(); | 
					
						
							|  |  |  | 		 | 
					
						
							| 
									
										
										
										
											2011-09-22 05:17:24 +08:00
										 |  |  | 		$data['total_countrys'] = $this->logbook_model->total_countrys(); | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		$data['total_qsl_sent'] = $this->logbook_model->total_qsl_sent(); | 
					
						
							|  |  |  | 		$data['total_qsl_recv'] = $this->logbook_model->total_qsl_recv(); | 
					
						
							| 
									
										
										
										
											2011-09-23 03:58:58 +08:00
										 |  |  | 		$data['total_qsl_requested'] = $this->logbook_model->total_qsl_requested(); | 
					
						
							| 
									
										
										
										
											2011-09-22 05:17:24 +08:00
										 |  |  | 		 | 
					
						
							| 
									
										
										
										
											2011-06-17 20:52:00 +08:00
										 |  |  | 		$data['total_bands'] = $this->logbook_model->total_bands(); | 
					
						
							|  |  |  | 		 | 
					
						
							| 
									
										
										
										
											2011-11-07 07:09:51 +08:00
										 |  |  | 		$data['last_five_qsos'] = $this->logbook_model->get_last_qsos('11'); | 
					
						
							| 
									
										
										
										
											2011-06-17 20:52:00 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-11-05 01:32:03 +08:00
										 |  |  | 		$data['page_title'] = "Dashboard"; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-21 00:58:06 +08:00
										 |  |  | 		$this->load->view('interface_assets/header', $data); | 
					
						
							| 
									
										
										
										
											2011-11-05 01:32:03 +08:00
										 |  |  | 		$this->load->view('dashboard/index'); | 
					
						
							| 
									
										
										
										
											2019-03-21 00:58:06 +08:00
										 |  |  | 		$this->load->view('interface_assets/footer'); | 
					
						
							| 
									
										
										
										
											2011-04-25 23:24:01 +08:00
										 |  |  | 	} | 
					
						
							| 
									
										
										
										
											2011-06-17 20:52:00 +08:00
										 |  |  | 	 | 
					
						
							| 
									
										
										
										
											2011-09-22 05:17:24 +08:00
										 |  |  | 	function map() { | 
					
						
							|  |  |  | 		$this->load->model('logbook_model'); | 
					
						
							|  |  |  | 		 | 
					
						
							| 
									
										
										
										
											2011-10-05 22:21:18 +08:00
										 |  |  | 		$this->load->library('qra'); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-09-22 05:17:24 +08:00
										 |  |  | 		//echo date('Y-m-d')
 | 
					
						
							|  |  |  | 		$raw = strtotime('Monday last week'); | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		$mon = date('Y-m-d', $raw); | 
					
						
							|  |  |  | 		$sun = date('Y-m-d', strtotime('Sunday this week')); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		$qsos = $this->logbook_model->map_week_qsos($mon, $sun); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		echo "{\"markers\": ["; | 
					
						
							| 
									
										
										
										
											2011-09-30 01:07:21 +08:00
										 |  |  | 		$count = 1; | 
					
						
							| 
									
										
										
										
											2011-09-22 05:17:24 +08:00
										 |  |  | 		foreach ($qsos->result() as $row) { | 
					
						
							|  |  |  | 			//print_r($row);
 | 
					
						
							|  |  |  | 			if($row->COL_GRIDSQUARE != null) { | 
					
						
							| 
									
										
										
										
											2011-10-05 22:21:18 +08:00
										 |  |  | 				$stn_loc = $this->qra->qra2latlong($row->COL_GRIDSQUARE); | 
					
						
							| 
									
										
										
										
											2011-09-30 01:07:21 +08:00
										 |  |  | 				if($count != 1) { | 
					
						
							|  |  |  | 					echo ","; | 
					
						
							|  |  |  | 				} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-11-20 03:41:44 +08:00
										 |  |  | 				if($row->COL_SAT_NAME != null) {  | 
					
						
							|  |  |  | 						echo "{\"lat\":\"".$stn_loc[0]."\",\"lng\":\"".$stn_loc[1]."\", \"html\":\"Callsign: ".$row->COL_CALL."<br />Date/Time: ".$row->COL_TIME_ON."<br />SAT: ".$row->COL_SAT_NAME."<br />Mode: ".$row->COL_MODE."\",\"label\":\"".$row->COL_CALL."\"}"; | 
					
						
							|  |  |  | 				} else { | 
					
						
							|  |  |  | 						echo "{\"lat\":\"".$stn_loc[0]."\",\"lng\":\"".$stn_loc[1]."\", \"html\":\"Callsign: ".$row->COL_CALL."<br />Date/Time: ".$row->COL_TIME_ON."<br />Band: ".$row->COL_BAND."<br />Mode: ".$row->COL_MODE."\",\"label\":\"".$row->COL_CALL."\"}"; | 
					
						
							|  |  |  | 				} | 
					
						
							| 
									
										
										
										
											2011-09-30 01:07:21 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 				$count++; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-09-22 05:17:24 +08:00
										 |  |  | 			} else { | 
					
						
							|  |  |  | 				$query = $this->db->query(' | 
					
						
							|  |  |  | 					SELECT * | 
					
						
							| 
									
										
										
										
											2019-08-19 23:38:38 +08:00
										 |  |  | 					FROM dxcc_entities | 
					
						
							| 
									
										
										
										
											2011-09-22 05:17:24 +08:00
										 |  |  | 					WHERE prefix = SUBSTRING( \''.$row->COL_CALL.'\', 1, LENGTH( prefix ) ) | 
					
						
							|  |  |  | 					ORDER BY LENGTH( prefix ) DESC | 
					
						
							|  |  |  | 					LIMIT 1  | 
					
						
							|  |  |  | 				'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 				foreach ($query->result() as $dxcc) { | 
					
						
							| 
									
										
										
										
											2011-09-30 01:07:21 +08:00
										 |  |  | 					if($count != 1) { | 
					
						
							|  |  |  | 					echo ","; | 
					
						
							|  |  |  | 						} | 
					
						
							|  |  |  | 					echo "{\"lat\":\"".$dxcc->lat."\",\"lng\":\"".$dxcc->long."\", \"html\":\"Callsign: ".$row->COL_CALL."<br />Date/Time: ".$row->COL_TIME_ON."<br />Band: ".$row->COL_BAND."<br />Mode: ".$row->COL_MODE."\",\"label\":\"".$row->COL_CALL."\"}"; | 
					
						
							|  |  |  | 					$count++; | 
					
						
							| 
									
										
										
										
											2011-09-22 05:17:24 +08:00
										 |  |  | 				} | 
					
						
							|  |  |  | 			} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 		echo "]"; | 
					
						
							|  |  |  | 		echo "}"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	 | 
					
						
							|  |  |  | 	 | 
					
						
							| 
									
										
										
										
											2011-06-17 20:52:00 +08:00
										 |  |  | 	function todays_map() { | 
					
						
							| 
									
										
										
										
											2011-10-05 22:21:18 +08:00
										 |  |  | 		$this->load->library('qra'); | 
					
						
							| 
									
										
										
										
											2011-06-17 20:52:00 +08:00
										 |  |  | 		$this->load->model('logbook_model'); | 
					
						
							| 
									
										
										
										
											2011-08-20 01:24:56 +08:00
										 |  |  | 		// TODO: Auth
 | 
					
						
							| 
									
										
										
										
											2011-09-13 00:39:06 +08:00
										 |  |  | 		$qsos = $this->logbook_model->get_todays_qsos(''); | 
					
						
							| 
									
										
										
										
											2011-06-17 20:52:00 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	 | 
					
						
							|  |  |  | 		echo "{\"markers\": ["; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		foreach ($qsos->result() as $row) { | 
					
						
							|  |  |  | 			//print_r($row);
 | 
					
						
							|  |  |  | 			if($row->COL_GRIDSQUARE != null) { | 
					
						
							| 
									
										
										
										
											2011-10-05 22:21:18 +08:00
										 |  |  | 				$stn_loc = $this->qra->qra2latlong($row->COL_GRIDSQUARE); | 
					
						
							| 
									
										
										
										
											2011-06-17 20:52:00 +08:00
										 |  |  | 				echo "{\"point\":new GLatLng(".$stn_loc[0].",".$stn_loc[1]."), \"html\":\"Callsign: ".$row->COL_CALL."<br />Date/Time: ".$row->COL_TIME_ON."<br />Band: ".$row->COL_BAND."<br />Mode: ".$row->COL_MODE."\",\"label\":\"".$row->COL_CALL."\"},"; | 
					
						
							|  |  |  | 			} else { | 
					
						
							|  |  |  | 				$query = $this->db->query(' | 
					
						
							|  |  |  | 					SELECT * | 
					
						
							| 
									
										
										
										
											2019-08-19 23:38:38 +08:00
										 |  |  | 					FROM dxcc_entities | 
					
						
							| 
									
										
										
										
											2011-06-17 20:52:00 +08:00
										 |  |  | 					WHERE prefix = SUBSTRING( \''.$row->COL_CALL.'\', 1, LENGTH( prefix ) ) | 
					
						
							|  |  |  | 					ORDER BY LENGTH( prefix ) DESC | 
					
						
							|  |  |  | 					LIMIT 1  | 
					
						
							|  |  |  | 				'); | 
					
						
							|  |  |  | 				 | 
					
						
							|  |  |  | 				foreach ($query->result() as $dxcc) { | 
					
						
							|  |  |  | 					echo "{\"point\":new GLatLng(".$dxcc->lat.",".$dxcc->long."), \"html\":\"Callsign: ".$row->COL_CALL."<br />Date/Time: ".$row->COL_TIME_ON."<br />Band: ".$row->COL_BAND."<br />Mode: ".$row->COL_MODE."\",\"label\":\"".$row->COL_CALL."\"},"; | 
					
						
							|  |  |  | 				} | 
					
						
							|  |  |  | 			} | 
					
						
							|  |  |  | 			 | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 		echo "]"; | 
					
						
							|  |  |  | 		echo "}"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	} | 
					
						
							| 
									
										
										
										
											2011-11-09 01:42:59 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	function test() { | 
					
						
							|  |  |  | 		 | 
					
						
							| 
									
										
										
										
											2011-11-20 03:41:44 +08:00
										 |  |  | 		$this->load->library('clublog'); | 
					
						
							| 
									
										
										
										
											2011-11-09 01:42:59 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-11-20 03:41:44 +08:00
										 |  |  | 		echo $this->clublog->send(); | 
					
						
							| 
									
										
										
										
											2011-11-09 01:42:59 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	} | 
					
						
							| 
									
										
										
										
											2011-09-22 05:17:24 +08:00
										 |  |  | 	 | 
					
						
							| 
									
										
										
										
											2013-02-26 11:11:49 +08:00
										 |  |  | } |