| 
									
										
										
										
											2012-11-20 06:24:10 +08:00
										 |  |  | <?php | 
					
						
							|  |  |  | class Update extends CI_Controller { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	/* | 
					
						
							|  |  |  | 		Controls Updating Elements of Cloudlog | 
					
						
							|  |  |  | 		Functions: | 
					
						
							| 
									
										
										
										
											2014-03-04 01:28:33 +08:00
										 |  |  | 			dxcc - imports the latest clublog cty.xml data | 
					
						
							|  |  |  | 			lotw_users - imports lotw users | 
					
						
							| 
									
										
										
										
											2012-11-20 06:24:10 +08:00
										 |  |  | 	*/ | 
					
						
							|  |  |  | 	 | 
					
						
							|  |  |  | 	public function index() | 
					
						
							|  |  |  | 	{ | 
					
						
							| 
									
										
										
										
											2014-03-04 01:14:02 +08:00
										 |  |  | 		// Create frontend pages.
 | 
					
						
							| 
									
										
										
										
											2012-11-20 06:24:10 +08:00
										 |  |  | 	} | 
					
						
							| 
									
										
										
										
											2014-03-03 09:27:28 +08:00
										 |  |  | 	 | 
					
						
							| 
									
										
										
										
											2014-03-04 01:14:02 +08:00
										 |  |  | 	// Updates the DXCC & Exceptions from the Clublog Cty.xml file.
 | 
					
						
							| 
									
										
										
										
											2012-11-20 06:24:10 +08:00
										 |  |  | 	public function dxcc() { | 
					
						
							| 
									
										
										
										
											2014-03-03 09:26:26 +08:00
										 |  |  | 	 | 
					
						
							| 
									
										
										
										
											2014-03-04 01:14:02 +08:00
										 |  |  | 		// Load Migration data if any.
 | 
					
						
							|  |  |  | 		$this->load->library('migration'); | 
					
						
							| 
									
										
										
										
											2014-03-03 09:26:26 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-03-04 01:14:02 +08:00
										 |  |  | 		if ( ! $this->migration->latest()) | 
					
						
							|  |  |  | 		{ | 
					
						
							|  |  |  | 			show_error($this->migration->error_string()); | 
					
						
							|  |  |  | 		} | 
					
						
							| 
									
										
										
										
											2014-03-03 09:26:26 +08:00
										 |  |  | 	 | 
					
						
							|  |  |  | 		// Download latest file.
 | 
					
						
							|  |  |  | 		$url = "https://secure.clublog.org/cty.php?api=a11c3235cd74b88212ce726857056939d52372bd"; | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		$gz = gzopen($url, 'r'); | 
					
						
							|  |  |  | 		$data = ""; | 
					
						
							|  |  |  | 		while (!gzeof($gz)) { | 
					
						
							|  |  |  | 		  $data .= gzgetc($gz); | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 		gzclose($gz); | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		file_put_contents('./updates/cty.xml', $data); | 
					
						
							|  |  |  | 	 | 
					
						
							| 
									
										
										
										
											2012-11-20 06:24:10 +08:00
										 |  |  | 		// Set timeout to unlimited
 | 
					
						
							|  |  |  | 		set_time_limit(0); | 
					
						
							|  |  |  | 	 | 
					
						
							|  |  |  | 		// Load Database connectors
 | 
					
						
							|  |  |  | 		$this->load->model('dxcc'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		// Load the cty file
 | 
					
						
							|  |  |  | 		$xml_data = simplexml_load_file("updates/cty.xml"); | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		$this->dxcc->empty_table("dxcc"); | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		echo "<h2>Prefix List</h2>"; | 
					
						
							| 
									
										
										
										
											2014-03-03 09:26:26 +08:00
										 |  |  | 		 | 
					
						
							|  |  |  | 		echo "<table>"; | 
					
						
							|  |  |  | 		echo "<tr>"; | 
					
						
							|  |  |  | 		echo "<td>Prefix</td>"; | 
					
						
							|  |  |  | 		echo "<td>Country Name</td>"; | 
					
						
							|  |  |  | 		echo "<td>DXCC Expire Date</td>"; | 
					
						
							|  |  |  | 		echo "</tr>"; | 
					
						
							|  |  |  | 		 | 
					
						
							| 
									
										
										
										
											2012-11-20 06:24:10 +08:00
										 |  |  | 		foreach ($xml_data->prefixes as $prefixs) { | 
					
						
							|  |  |  | 			foreach ($prefixs->prefix as $callsign) { | 
					
						
							| 
									
										
										
										
											2014-03-03 09:26:26 +08:00
										 |  |  | 				$endinfo = strtotime($callsign->end); | 
					
						
							| 
									
										
										
										
											2012-11-20 06:24:10 +08:00
										 |  |  | 				 | 
					
						
							| 
									
										
										
										
											2014-03-03 09:26:26 +08:00
										 |  |  | 				if($endinfo) { | 
					
						
							|  |  |  | 					$end_date = date('Y-m-d H:i:s',$endinfo); | 
					
						
							|  |  |  | 				} else { | 
					
						
							|  |  |  | 					$end_date = ""; | 
					
						
							|  |  |  | 				} | 
					
						
							|  |  |  | 			 | 
					
						
							| 
									
										
										
										
											2012-11-20 06:24:10 +08:00
										 |  |  | 				if(!$callsign->cqz) { | 
					
						
							|  |  |  | 					$data = array( | 
					
						
							| 
									
										
										
										
											2014-03-03 09:26:26 +08:00
										 |  |  | 					   'prefix' => (string) $callsign->call, | 
					
						
							| 
									
										
										
										
											2012-11-20 06:24:10 +08:00
										 |  |  | 					   'name' =>  (string) $callsign->entity, | 
					
						
							|  |  |  | 					); | 
					
						
							|  |  |  | 				} else { | 
					
						
							|  |  |  | 					$data = array( | 
					
						
							|  |  |  | 					   'prefix' => (string)  $callsign->call, | 
					
						
							|  |  |  | 					   'name' =>  (string) $callsign->entity, | 
					
						
							| 
									
										
										
										
											2014-03-03 09:26:26 +08:00
										 |  |  | 					   'cqz' => (string) $callsign->cqz, | 
					
						
							|  |  |  | 					   'ituz' => (string) $callsign->ituz, | 
					
						
							| 
									
										
										
										
											2012-11-20 06:24:10 +08:00
										 |  |  | 					   'cont' => (string) $callsign->cont, | 
					
						
							| 
									
										
										
										
											2014-03-03 09:26:26 +08:00
										 |  |  | 					   'long' => (string) $callsign->long, | 
					
						
							|  |  |  | 					   'lat' => (string) $callsign->lat, | 
					
						
							|  |  |  | 						 'end_date' => $end_date, | 
					
						
							| 
									
										
										
										
											2012-11-20 06:24:10 +08:00
										 |  |  | 					);	 | 
					
						
							|  |  |  | 				} | 
					
						
							| 
									
										
										
										
											2014-03-03 09:26:26 +08:00
										 |  |  | 			 | 
					
						
							|  |  |  | 				echo "<tr>"; | 
					
						
							|  |  |  | 				echo "<td>".$callsign->call."</td>"; | 
					
						
							|  |  |  | 				echo "<td>".ucwords(strtolower($callsign->entity))."</td>"; | 
					
						
							|  |  |  | 				echo "<td>".$end_date."</td>"; | 
					
						
							|  |  |  | 				echo "<td>".$callsign->deleted."</td>"; | 
					
						
							|  |  |  | 				echo "</tr>"; | 
					
						
							| 
									
										
										
										
											2012-11-20 06:24:10 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 				$this->db->insert('dxcc', $data);  | 
					
						
							|  |  |  | 			} | 
					
						
							|  |  |  | 		} | 
					
						
							| 
									
										
										
										
											2014-03-03 09:26:26 +08:00
										 |  |  | 		echo "<table>"; | 
					
						
							| 
									
										
										
										
											2014-03-04 01:14:02 +08:00
										 |  |  | 		 | 
					
						
							|  |  |  | 				// empty table
 | 
					
						
							| 
									
										
										
										
											2012-11-20 06:24:10 +08:00
										 |  |  | 		$this->dxcc->empty_table("dxccexceptions"); | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		echo "<h2>Exceptions</h2>"; | 
					
						
							| 
									
										
										
										
											2014-03-04 01:14:02 +08:00
										 |  |  | 		 | 
					
						
							|  |  |  | 		echo "<table>"; | 
					
						
							|  |  |  | 		 | 
					
						
							| 
									
										
										
										
											2012-11-20 06:24:10 +08:00
										 |  |  | 		foreach ($xml_data->exceptions as $exceptions) { | 
					
						
							|  |  |  | 			foreach ($exceptions->exception as $callsign) { | 
					
						
							|  |  |  | 			 | 
					
						
							| 
									
										
										
										
											2014-03-04 01:14:02 +08:00
										 |  |  | 			echo "<tr>"; | 
					
						
							|  |  |  | 				echo "<td>".$callsign->call."</td>"; | 
					
						
							|  |  |  | 				echo "<td>".$callsign->entity."</td>"; | 
					
						
							|  |  |  | 			echo "</tr>"; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-11-20 06:24:10 +08:00
										 |  |  | 				 | 
					
						
							|  |  |  | 				if(!$callsign->start) { | 
					
						
							|  |  |  | 					$data = array( | 
					
						
							| 
									
										
										
										
											2014-03-04 01:14:02 +08:00
										 |  |  | 						'prefix' => (string)  $callsign->call, | 
					
						
							|  |  |  | 						'name' =>  (string) $callsign->entity, | 
					
						
							|  |  |  | 						'cqz' => (string) $callsign->cqz, | 
					
						
							|  |  |  | 						'ituz' => (string) $callsign->ituz, | 
					
						
							|  |  |  | 						'cont' => (string) $callsign->cont, | 
					
						
							|  |  |  | 						'long' => (string) $callsign->long, | 
					
						
							|  |  |  | 						'lat' => (string) $callsign->lat | 
					
						
							| 
									
										
										
										
											2012-11-20 06:24:10 +08:00
										 |  |  | 					);	 | 
					
						
							|  |  |  | 				} else { | 
					
						
							|  |  |  | 				 | 
					
						
							| 
									
										
										
										
											2014-03-04 01:14:02 +08:00
										 |  |  | 					$startinfo = strtotime($callsign->start); | 
					
						
							|  |  |  | 				 | 
					
						
							|  |  |  | 					if($startinfo) { | 
					
						
							|  |  |  | 						$start = date('Y-m-d H:i:s',$startinfo); | 
					
						
							|  |  |  | 					} else { | 
					
						
							|  |  |  | 						$start = ""; | 
					
						
							|  |  |  | 					} | 
					
						
							|  |  |  | 				 | 
					
						
							|  |  |  | 					$endinfo = strtotime($callsign->end); | 
					
						
							|  |  |  | 				 | 
					
						
							|  |  |  | 					if($endinfo) { | 
					
						
							|  |  |  | 						$end = date('Y-m-d H:i:s',$endinfo); | 
					
						
							|  |  |  | 					} else { | 
					
						
							|  |  |  | 						$end = ""; | 
					
						
							|  |  |  | 					} | 
					
						
							| 
									
										
										
										
											2012-11-20 06:24:10 +08:00
										 |  |  | 				 | 
					
						
							|  |  |  | 					$data = array( | 
					
						
							| 
									
										
										
										
											2014-03-04 01:14:02 +08:00
										 |  |  | 						'prefix' => (string) $callsign->call, | 
					
						
							|  |  |  | 						'name' =>  (string) $callsign->entity, | 
					
						
							|  |  |  | 						'cqz' => (string) $callsign->cqz, | 
					
						
							|  |  |  | 						'ituz' => (string) $callsign->ituz, | 
					
						
							|  |  |  | 						'cont' => (string) $callsign->cont, | 
					
						
							|  |  |  | 						'long' => (string) $callsign->long, | 
					
						
							|  |  |  | 						'lat' => (string) $callsign->lat, | 
					
						
							|  |  |  | 						'start' => $start, | 
					
						
							|  |  |  | 						'end' => $end | 
					
						
							| 
									
										
										
										
											2012-11-20 06:24:10 +08:00
										 |  |  | 					);	 | 
					
						
							|  |  |  | 				} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 				$this->db->insert('dxccexceptions', $data);  | 
					
						
							|  |  |  | 				 | 
					
						
							|  |  |  | 			} | 
					
						
							|  |  |  | 		} | 
					
						
							| 
									
										
										
										
											2014-03-04 01:14:02 +08:00
										 |  |  | 		 | 
					
						
							|  |  |  | 		echo "<table>"; | 
					
						
							|  |  |  | 		 | 
					
						
							| 
									
										
										
										
											2012-11-20 06:24:10 +08:00
										 |  |  | 	} | 
					
						
							| 
									
										
										
										
											2014-03-04 01:28:33 +08:00
										 |  |  | 	 | 
					
						
							|  |  |  | 	public function lotw_users() { | 
					
						
							|  |  |  | 		// Load Database connectors
 | 
					
						
							|  |  |  | 		$this->load->model('lotw'); | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		$this->lotw->empty_table("lotw_list"); | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		$lines = file('http://www.hb9bza.net/lotw/lotw1.txt'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		// Loop through our array, show HTML source as HTML source; and line numbers too.
 | 
					
						
							|  |  |  | 		foreach ($lines as $line_num => $line) { | 
					
						
							|  |  |  | 			 echo "Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br />\n"; | 
					
						
							|  |  |  | 			  | 
					
						
							|  |  |  | 			 $data = array( | 
					
						
							|  |  |  | 					'Callsign' => $line, | 
					
						
							|  |  |  | 				); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 			$this->db->insert('lotw_list', $data);  | 
					
						
							|  |  |  | 			  | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 	} | 
					
						
							| 
									
										
										
										
											2012-11-20 06:24:10 +08:00
										 |  |  | } | 
					
						
							|  |  |  | ?>
 |