2011-08-17 09:21:23 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< ? php  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-08-19 03:59:31 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/*  api_model . php  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Provides  API  functions  to  the  web  frontend 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-08-17 09:21:23 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								class  API_Model  extends  CI_Model  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    function  __construct () 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        // Call the Model constructor
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        parent :: __construct (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-12-10 01:34:50 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    // GET API Keys
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    function  keys ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    	return  $this -> db -> get ( 'api' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-07-10 00:18:19 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    function  key_description ( $key )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    	$this -> db -> where ( 'key' ,  $key );  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    	$query  =  $this -> db -> get ( 'api' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    	return  $query -> result_array ()[ 0 ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    function  update_key_description ( $key ,  $description )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    	
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    	$data  =  array ( 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-06 05:09:06 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        'description'  =>  xss_clean ( $description ), 
							 
						 
					
						
							
								
									
										
										
										
											2019-07-10 00:18:19 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-10-06 05:09:06 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$this -> db -> where ( 'key' ,  xss_clean ( $key )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> db -> update ( 'api' ,  xss_clean ( $data )); 
							 
						 
					
						
							
								
									
										
										
										
											2019-07-10 00:18:19 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-07-22 23:27:18 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    function  country_worked ( $dxcc_num ,  $band ,  $mode ){ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-07-27 04:53:00 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    	if ( $band  ==  " all " )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    		if ( $mode  !=  NULL )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									    		$query  =  $this -> db -> query ( 'SELECT COUNT(1) as count FROM ' . $this -> config -> item ( 'table_name' ) . ' WHERE COL_DXCC = "' . $dxcc_num . '" AND COL_MODE = "' . $mode . '"' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									    	}  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									    		$query  =  $this -> db -> query ( 'SELECT COUNT(1) as count FROM ' . $this -> config -> item ( 'table_name' ) . ' WHERE COL_DXCC = "' . $dxcc_num . '"' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									    	} 
							 
						 
					
						
							
								
									
										
										
										
											2019-07-22 23:27:18 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    	}  else  { 
							 
						 
					
						
							
								
									
										
										
										
											2019-07-27 04:53:00 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									    	if ( $mode  !=  NULL )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									    		$query  =  $this -> db -> query ( 'SELECT COUNT(1) as count FROM ' . $this -> config -> item ( 'table_name' ) . ' WHERE COL_DXCC = "' . $dxcc_num . '" AND COL_BAND = "' . $band . '" AND COL_MODE = "' . $mode . '"' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									    	}  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									    		$query  =  $this -> db -> query ( 'SELECT COUNT(1) as count FROM ' . $this -> config -> item ( 'table_name' ) . ' WHERE COL_DXCC = "' . $dxcc_num . '" AND COL_BAND = "' . $band . '"' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									    	} 
							 
						 
					
						
							
								
									
										
										
										
											2019-07-22 23:27:18 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    	} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    	if  ( $query -> num_rows ()  >  0 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            foreach  ( $query -> result ()  as  $row ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                 return  $row -> count ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-07-22 23:46:06 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    function  gridsquare_worked ( $gridsquare ,  $band ,  $mode ){ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-07-27 04:53:00 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    	if ( $band  ==  " all " )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											if ( $mode  !=  NULL )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									    		$query  =  $this -> db -> query ( 'SELECT COUNT(1) as count FROM ' . $this -> config -> item ( 'table_name' ) . ' WHERE COL_GRIDSQUARE LIKE "%' . $gridsquare . '%" AND COL_MODE = "' . $mode . '"' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									    	}  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									    		$query  =  $this -> db -> query ( 'SELECT COUNT(1) as count FROM ' . $this -> config -> item ( 'table_name' ) . ' WHERE COL_GRIDSQUARE LIKE "%' . $gridsquare . '%"' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									    	} 
							 
						 
					
						
							
								
									
										
										
										
											2019-07-22 23:46:06 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    	}  else  { 
							 
						 
					
						
							
								
									
										
										
										
											2019-07-27 04:53:00 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											if ( $mode  !=  NULL )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									    		$query  =  $this -> db -> query ( 'SELECT COUNT(1) as count FROM ' . $this -> config -> item ( 'table_name' ) . ' WHERE COL_GRIDSQUARE LIKE "%' . $gridsquare . '%" AND COL_BAND = "' . $band . '" AND COL_MODE = "' . $mode . '"' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									    	}  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									    		$query  =  $this -> db -> query ( 'SELECT COUNT(1) as count FROM ' . $this -> config -> item ( 'table_name' ) . ' WHERE COL_GRIDSQUARE LIKE "%' . $gridsquare . '%" AND COL_BAND ="' . $band . '"' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									    	} 
							 
						 
					
						
							
								
									
										
										
										
											2019-07-22 23:46:06 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    	} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    	if  ( $query -> num_rows ()  >  0 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            foreach  ( $query -> result ()  as  $row ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                 return  $row -> count ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-06-22 04:22:22 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    function  delete_key ( $key )  { 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-06 05:09:06 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    	$this -> db -> where ( 'key' ,  xss_clean ( $key )); 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-22 04:22:22 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$this -> db -> delete ( 'api' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
									
										
										
										
											2011-12-10 01:34:50 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    // Generate API Key
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    function  generate_key ( $rights )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    	
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    	// Expects either rw (Read, Write) or r (read only)
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    	// Generate Unique Key
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    	$data [ 'key' ]  =  uniqid ( " cl " ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    	$data [ 'rights' ]  =  $rights ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    	
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    	// Set API key to active
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    	$data [ 'status' ]  =  " active " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    	$this -> db -> insert ( 'api' ,  $data );  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    function  access ( $key )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    	
							 
						 
					
						
							
								
									
										
										
										
											2012-01-02 08:08:36 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      // No key = no access, mate
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      if ( ! $key )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  $status  =  " No Key Found " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-12-10 01:34:50 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    	// Check that the key is valid
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    	$this -> db -> where ( 'key' ,  $key );  
							 
						 
					
						
							
								
									
										
										
										
											2012-01-02 08:08:36 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								     	$query  =  $this -> db -> get ( 'api' ); 
							 
						 
					
						
							
								
									
										
										
										
											2011-12-10 01:34:50 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-01-02 08:08:36 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										  if  ( $query -> num_rows ()  >  0 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  		{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        foreach  ( $query -> result ()  as  $row ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									      { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									     	  if ( $row -> status  ==  " active " )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									   	  	  return  $status  =  $row -> rights ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									   		  }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 		   		 	return  $status  =  " Key Disabled " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  	   		} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									      } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										  }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											  return  $status  =  " No Key Found " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  		} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  function  authorize ( $key )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $r  =  $this -> access ( $key ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if ( $r  ==  " rw " )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      return  2 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    }  else  if ( $r  ==  " r " )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      return  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      return  0 ; 
							 
						 
					
						
							
								
									
										
										
										
											2011-12-10 01:34:50 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
									
										
										
										
											2012-01-02 08:08:36 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
									
										
										
										
											2011-12-10 01:34:50 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-08-17 09:21:23 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									// FUNCTION: string name(string $column)
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// Converts a MySQL column name to a more friendly name
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									function  name ( $col ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if ( $this -> _columnName [ $col ]) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											return  $this -> _columnName [ $col ][ 'Name' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											return  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// FUNCTION: string description(string $column)
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// Returns the description for a MySQL column name
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									function  description ( $col ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if ( $this -> _columnName [ $col ]) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											if ( $this -> _columnName [ $col ][ 'Description' ]  !=  " " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												return  $this -> _columnName [ $col ][ 'Description' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												return  " No description available " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											return  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// FUNCTION: string name(string $name)
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// Converts a friendly name to a MySQL column name
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									function  column ( $name ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										while  ( $column  =  current ( $this -> _columnName )) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											if ( $this -> _columnName [ key ( $this -> _columnName )][ 'Name' ]  ==  $name ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											{ 
							 
						 
					
						
							
								
									
										
										
										
											2011-09-30 23:51:35 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												$a  =  key ( $this -> _columnName ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												reset ( $this -> _columnName ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												return  $a ; 
							 
						 
					
						
							
								
									
										
										
										
											2011-08-17 09:21:23 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											next ( $this -> _columnName ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-09-30 23:51:35 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										reset ( $this -> _columnName ); 
							 
						 
					
						
							
								
									
										
										
										
											2011-08-17 09:21:23 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										return  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-09-30 23:51:35 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									function  insert_parse ( $arguments ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#		$q = "INSERT INTO ".$this->config->item('table_name');
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$f  =  explode ( " , " ,  $arguments [ 'query' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$r  =  $this -> _insert_field_translate ( $f ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  $r ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// FUNCTION: string select_parse(array $arguments)
 
							 
						 
					
						
							
								
									
										
										
										
											2011-08-17 09:21:23 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									// Converts an array of arguments into a MySQL query string
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// See documentation for search() under the API controller for more details
 
							 
						 
					
						
							
								
									
										
										
										
											2011-09-30 23:51:35 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									function  select_parse ( $arguments ) 
							 
						 
					
						
							
								
									
										
										
										
											2011-08-17 09:21:23 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// Initialise our string
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$q  =  " SELECT  " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// Cycle through the fields, converting friendly names to MySQL column names
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if ( $arguments [ 'fields' ]  !=  " " )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$field  =  " " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$fields  =  explode ( " , " ,  $arguments [ 'fields' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											foreach  ( $fields  as  $f )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												if ( $field  !=  " " )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													$field  .=  " , " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												// Add field to the query, with '++' placeholders for later translation
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$field  .=  " ++ $f ++ " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// Handle any DISTINCT arguments
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$field  =  str_replace ( " ++distinct( " ,  " DISTINCT(++ " ,  $field ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$field  =  str_replace ( " )++ " ,  " ++) " ,  $field ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// Add the MySQL column name to the query
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$q  .=  $field . "   " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										}  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// If no fields are specified, display all fields
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$q  .=  " *  " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// Append the table we're pulling data from
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$q  .=  " FROM  " . $this -> config -> item ( 'table_name' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// Parse the 'query' string, which is converted into a standard MySQL 'WHERE'
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// clause.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// $s and $r can be refactored into single array definitions, but during
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// development it's easier to list them in this way for quick reference.
 
							 
						 
					
						
							
								
									
										
										
										
											2011-09-30 23:51:35 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-08-17 09:21:23 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										if ( $arguments [ 'query' ]  !=  " " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$q  .=  "  WHERE  " ; 
							 
						 
					
						
							
								
									
										
										
										
											2011-09-30 23:51:35 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											$q  =  $this -> _query_parse ( $q ,  $arguments [ 'query' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// Parse any order arguments
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if ( $arguments [ 'order' ]  !=  " " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$q  .=  "  ORDER BY  " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$s  =  null ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$r  =  null ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$s [ 0 ]    =  '/(/' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$s [ 1 ] 	=  '/)/' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$s [ 2 ] 	=  '/([a-zA-Z0-9\-\_]+)([,\(]{1}|$)/' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										    $s [ 3 ]    =  '/\(asc\)/' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									    	$s [ 4 ]    =  '/\(desc\)/' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$s [ 5 ] 	=  '/,$/' ; 
							 
						 
					
						
							
								
									
										
										
										
											2012-01-04 07:30:53 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      $s [ 6 ]  =  '/\[/' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $s [ 7 ]  =  '/\]/' ; 
							 
						 
					
						
							
								
									
										
										
										
											2011-09-30 23:51:35 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$r [ 0 ] 	=  '(' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$r [ 1 ] 	=  ')' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$r [ 2 ] 	=  '++$1++ $2' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										    $r [ 3 ]    =  ' ASC ' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										    $r [ 4 ]    =  ' DESC ' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$r [ 5 ] 	=  '' ; 
							 
						 
					
						
							
								
									
										
										
										
											2012-01-04 07:30:53 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											$r [ 6 ] 	=  '' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$r [ 7 ] 	=  '' ; 
							 
						 
					
						
							
								
									
										
										
										
											2011-09-30 23:51:35 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$q  .=  preg_replace ( $s ,  $r ,  $arguments [ 'order' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$q  =  $this -> _select_field_translate ( $q ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// Parse any limit arguments
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if ( $arguments [ 'limit' ]  !=  " " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// Add the limit arguments, removing any characters other than numbers and commas
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$q  .=  "  LIMIT  "  .  preg_replace ( array ( " /[^0-9 \ ,]/ " , " /, $ / " ),  " " ,  $arguments [ 'limit' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// If no limit argument is given, default to the first 20 results
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$q  .=  "  LIMIT 0,20 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  $q ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									private  function  _query_parse ( $q ,  $qs ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if ( $qs  !=  " " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										{ 
							 
						 
					
						
							
								
									
										
										
										
											2011-08-17 09:21:23 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											$s  =  null ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$r  =  null ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// (and), becomes ' AND '
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$s [ 0 ]    =  '/(and)/' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// (or), becomes ' OR '
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$s [ 1 ]    =  '/(or)/' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// <, >, [ and ] all translated from their urlencoded forms
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$s [ 2 ]    =  '/%3C/' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$s [ 3 ]    =  '/%3E/' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$s [ 4 ]    =  '/%5B/' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$s [ 5 ]    =  '/%5D/' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// FieldName=, which becomes '++FieldName++ = '
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$s [ 6 ]    =  '/([a-zA-Z0-9\-\_\*\(\)\=\~]+)=/' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// =Value, which becomes '= 'Value''
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$s [ 7 ]    =  '/=([a-zA-Z0-9\-\_\*\(\)\=\~]+)/' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// now(), which becomes 'UNIX_TIMESTAMP(NOW())'
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$s [ 8 ]    =  '/now()/' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// (, and ), which are translated to their non-HTML entity forms,
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// and with added padding
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$s [ 9 ]    =  '/(/' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$s [ 10 ]   =  '/)/' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// FieldName~, becomes '++FieldName++ LIKE~'
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$s [ 11 ]   =  '/([a-zA-Z0-9\-\_\*\(\)\=\~]+)~/' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// ~Value, becomes ' 'Value''
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$s [ 12 ]   =  '/~([a-zA-Z0-9\-\_\*\(\)\=\~]+)/' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// *, which becomes '%'
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$s [ 13 ]   =  '/\*/' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$r [ 0 ]    =  ' AND ' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$r [ 1 ]    =  ' OR ' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$r [ 2 ]    =  ' < ' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$r [ 3 ]    =  ' > ' ; 
							 
						 
					
						
							
								
									
										
										
										
											2012-01-04 07:30:53 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      // Strip out square brackets
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$r [ 4 ]    =  '' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$r [ 5 ]    =  '' ; 
							 
						 
					
						
							
								
									
										
										
										
											2011-08-17 09:21:23 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											$r [ 6 ]    =  '++$1++ =' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$r [ 7 ]    =  '= \'$1\'' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$r [ 8 ]    =  'UNIX_TIMESTAMP(NOW())' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$r [ 9 ]    =  '( ' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$r [ 10 ]   =  ' )' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$r [ 11 ]   =  '++$1++ LIKE~' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$r [ 12 ]   =  ' \'$1\'' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$r [ 13 ]   =  '%' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// Bulk replace everything
 
							 
						 
					
						
							
								
									
										
										
										
											2011-09-30 23:51:35 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											$q  .=  preg_replace ( $s ,  $r ,  $qs ); 
							 
						 
					
						
							
								
									
										
										
										
											2011-08-17 09:21:23 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-09-30 23:51:35 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										return  $q ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
									
										
										
										
											2011-08-17 09:21:23 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-09-30 23:51:35 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									private  function  _select_field_translate ( $q ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									{ 
							 
						 
					
						
							
								
									
										
										
										
											2011-08-17 09:21:23 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										// Do search/replace on field names, to convert from friendly names
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// to MySQL column names
 
							 
						 
					
						
							
								
									
										
										
										
											2018-11-27 23:50:50 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										foreach ( $this -> _columnName  as  $key  =>  $val )  { 
							 
						 
					
						
							
								
									
										
										
										
											2011-08-17 09:21:23 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											$q  =  str_replace ( " ++ " . $val [ 'Name' ] . " ++ " ,  $key ,  $q ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-11-27 23:50:50 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-08-17 09:21:23 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										return  $q ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-09-30 23:51:35 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									private  function  _insert_field_translate ( $q ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// Do search/replace on field names, to convert from friendly names
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// to MySQL column names
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$r  =  array (); 
							 
						 
					
						
							
								
									
										
										
										
											2018-11-27 23:50:50 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										foreach ( $q  as  $key  =>  $val )  { 
							 
						 
					
						
							
								
									
										
										
										
											2011-09-30 23:51:35 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											$f  =  explode ( '=' ,  $val ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$r [ $this -> column ( $f [ 0 ])]  =  $f [ 1 ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
									
										
										
										
											2018-11-27 23:50:50 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-09-30 23:51:35 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										return  $r ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-08-17 09:21:23 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									// ARRAY: $_columnName
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// An array matching MySQL column names to friendly names, descriptions and types
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									private  $_columnName  =  array ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_PRIMARY_KEY' 				=>  array ( 'Name'  =>  'ID' ,  'Description'  =>  'Unique QSO ID' ,  'Type'  =>  'I' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_ADDRESS' 					=>  array ( 'Name'  =>  'Address' ,  'Description'  =>  'Operator\'s address' ,  'Type'  =>  'S' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_AGE' 						=>  array ( 'Name'  =>  'Age' ,  'Description'  =>  'Operator\'s age' ,  'Type'  =>  'I' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_A_INDEX' 					=>  array ( 'Name'  =>  'AIndex' ,  'Description'  =>  'Solar A Index' ,  'Type'  =>  'I' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_ANT_AZ' 					=>  array ( 'Name'  =>  'AntennaAzimuth' ,  'Description'  =>  'Antenna azimuth' ,  'Type'  =>  'I' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_ANT_EL' 					=>  array ( 'Name'  =>  'AntennaElevation' ,  'Description'  =>  'Antenna elevation' ,  'Type'  =>  'I' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_ANT_PATH' 					=>  array ( 'Name'  =>  'AntennaPath' ,  'Description'  =>  'Antenna path' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_ARRL_SECT' 					=>  array ( 'Name'  =>  'ARRLSection' ,  'Description'  =>  'ARRL Section' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_BAND' 						=>  array ( 'Name'  =>  'Band' ,  'Description'  =>  'Band' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_BAND_RX' 					=>  array ( 'Name'  =>  'BandRX' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_BIOGRAPHY' 					=>  array ( 'Name'  =>  'Biography' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_CALL' 						=>  array ( 'Name'  =>  'Call' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_CHECK' 						=>  array ( 'Name'  =>  'UNK_CHECK' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_CLASS' 						=>  array ( 'Name'  =>  'Class' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_CNTY' 						=>  array ( 'Name'  =>  'County' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_COMMENT' 					=>  array ( 'Name'  =>  'Comment' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_CONT' 						=>  array ( 'Name'  =>  'Continent' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_CONTACTED_OP' 				=>  array ( 'Name'  =>  'UNK_CONTACTED_OP' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_CONTEST_ID' 				=>  array ( 'Name'  =>  'ContestID' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_COUNTRY' 					=>  array ( 'Name'  =>  'Country' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_CQZ' 						=>  array ( 'Name'  =>  'CQZone' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-26 16:17:06 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										'COL_DARC_DOK' 					=>  array ( 'Name'  =>  'Dok' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
									
										
										
										
											2011-08-17 09:21:23 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										'COL_DISTANCE' 					=>  array ( 'Name'  =>  'Distance' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_DXCC' 						=>  array ( 'Name'  =>  'DXCC' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_EMAIL' 						=>  array ( 'Name'  =>  'EMail' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_EQ_CALL' 					=>  array ( 'Name'  =>  'UNK_EQ_CALL' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_EQSL_QSLRDATE' 				=>  array ( 'Name'  =>  'EQSLRecievedDate' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_EQSL_QSLSDATE' 				=>  array ( 'Name'  =>  'EQSLSentDate' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_EQSL_QSL_RCVD' 				=>  array ( 'Name'  =>  'EQSLRecieved' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_EQSL_QSL_SENT' 				=>  array ( 'Name'  =>  'EQSLSent' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_EQSL_STATUS' 				=>  array ( 'Name'  =>  'EQSLStatus' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_FORCE_INIT' 				=>  array ( 'Name'  =>  'UNK_FORCE_INIT' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_FREQ' 						=>  array ( 'Name'  =>  'Frequency' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_FREQ_RX' 					=>  array ( 'Name'  =>  'FrequencyRX' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_GRIDSQUARE' 				=>  array ( 'Name'  =>  'Locator' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_HEADING' 					=>  array ( 'Name'  =>  'Heading' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_IOTA' 						=>  array ( 'Name'  =>  'IOTA' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_ITUZ' 						=>  array ( 'Name'  =>  'ITUZone' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_K_INDEX' 					=>  array ( 'Name'  =>  'KIndex' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_LAT' 						=>  array ( 'Name'  =>  'Latitude' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_LON' 						=>  array ( 'Name'  =>  'Longitude' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_LOTW_QSLRDATE' 				=>  array ( 'Name'  =>  'LOTWRecievedDate' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_LOTW_QSLSDATE' 				=>  array ( 'Name'  =>  'LOTWSentDate' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_LOTW_QSL_RCVD' 				=>  array ( 'Name'  =>  'LOTWRecieved' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_LOTW_QSL_SENT' 				=>  array ( 'Name'  =>  'LOTWSent' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_LOTW_STATUS' 				=>  array ( 'Name'  =>  'LOTWStatus' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_MAX_BURSTS' 				=>  array ( 'Name'  =>  'MaxBursts' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_MODE' 						=>  array ( 'Name'  =>  'Mode' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_MS_SHOWER' 					=>  array ( 'Name'  =>  'MSShower' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_MY_CITY' 					=>  array ( 'Name'  =>  'MyCity' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_MY_CNTY' 					=>  array ( 'Name'  =>  'MyCounty' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_MY_COUNTRY' 				=>  array ( 'Name'  =>  'MyCountry' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_MY_CQ_ZONE' 				=>  array ( 'Name'  =>  'MyCQZone' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_MY_GRIDSQUARE' 				=>  array ( 'Name'  =>  'MyLocator' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_MY_IOTA' 					=>  array ( 'Name'  =>  'MyIOTA' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_MY_ITU_ZONE' 				=>  array ( 'Name'  =>  'MyITUZone' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_MY_LAT' 					=>  array ( 'Name'  =>  'MyLatitude' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_MY_LON' 					=>  array ( 'Name'  =>  'MyLongitude' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_MY_NAME' 					=>  array ( 'Name'  =>  'MyName' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_MY_POSTAL_CODE' 			=>  array ( 'Name'  =>  'MyPostalCode' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_MY_RIG' 					=>  array ( 'Name'  =>  'MyRig' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_MY_SIG' 					=>  array ( 'Name'  =>  'MySig' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_MY_SIG_INFO' 				=>  array ( 'Name'  =>  'MySigInfo' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_MY_STATE' 					=>  array ( 'Name'  =>  'MyState' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_MY_STREET' 					=>  array ( 'Name'  =>  'MyStreet' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_NAME' 						=>  array ( 'Name'  =>  'Name' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_NOTES' 						=>  array ( 'Name'  =>  'Notes' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_NR_BURSTS' 					=>  array ( 'Name'  =>  'NumBursts' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_NR_PINGS' 					=>  array ( 'Name'  =>  'NumPings' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_OPERATOR' 					=>  array ( 'Name'  =>  'Operator' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_OWNER_CALLSIGN' 			=>  array ( 'Name'  =>  'OwnerCallsign' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_PFX' 						=>  array ( 'Name'  =>  'Prefix' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_PRECEDENCE' 				=>  array ( 'Name'  =>  'Precedence' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_PROP_MODE' 					=>  array ( 'Name'  =>  'PropMode' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_PUBLIC_KEY' 				=>  array ( 'Name'  =>  'PublicKey' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_QSLMSG' 					=>  array ( 'Name'  =>  'QSLMessage' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_QSLRDATE' 					=>  array ( 'Name'  =>  'QSLRecievedDate' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_QSLSDATE' 					=>  array ( 'Name'  =>  'QSLSentDate' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_QSL_RCVD' 					=>  array ( 'Name'  =>  'QSLRecieved' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_QSL_RCVD_VIA' 				=>  array ( 'Name'  =>  'QSLRecievedVia' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_QSL_SENT' 					=>  array ( 'Name'  =>  'QSLSent' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_QSL_SENT_VIA' 				=>  array ( 'Name'  =>  'QSLSentVia' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_QSL_VIA' 					=>  array ( 'Name'  =>  'QSLVia' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_QSO_COMPLETE' 				=>  array ( 'Name'  =>  'QSOComplete' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_QSO_RANDOM' 				=>  array ( 'Name'  =>  'QSORandom' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_QTH' 						=>  array ( 'Name'  =>  'QTH' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_RIG' 						=>  array ( 'Name'  =>  'Rig' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_RST_RCVD' 					=>  array ( 'Name'  =>  'ReportRecieved' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_RST_SENT' 					=>  array ( 'Name'  =>  'ReportSent' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_RX_PWR' 					=>  array ( 'Name'  =>  'RXPower' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_SAT_MODE' 					=>  array ( 'Name'  =>  'SatMode' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_SAT_NAME' 					=>  array ( 'Name'  =>  'SatName' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_SFI' 						=>  array ( 'Name'  =>  'SFI' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_SIG' 						=>  array ( 'Name'  =>  'Sig' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_SIG_INFO' 					=>  array ( 'Name'  =>  'SigInfo' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_SRX' 						=>  array ( 'Name'  =>  'UNK_SRX' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_STX' 						=>  array ( 'Name'  =>  'UNK_STX' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_SRX_STRING' 				=>  array ( 'Name'  =>  'UNK_SRX_STRING' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_STX_STRING' 				=>  array ( 'Name'  =>  'UNK_STX_STRING' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_STATE' 						=>  array ( 'Name'  =>  'State' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_STATION_CALLSIGN' 			=>  array ( 'Name'  =>  'StationCall' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_SWL' 						=>  array ( 'Name'  =>  'SWL' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_TEN_TEN' 					=>  array ( 'Name'  =>  'TenTen' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_TIME_OFF' 					=>  array ( 'Name'  =>  'TimeOff' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_TIME_ON' 					=>  array ( 'Name'  =>  'TimeOn' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_TX_PWR' 					=>  array ( 'Name'  =>  'TXPower' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_WEB' 						=>  array ( 'Name'  =>  'Website' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_USER_DEFINED_0' 			=>  array ( 'Name'  =>  'UNK_USER_DEFINED_0' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_USER_DEFINED_1' 			=>  array ( 'Name'  =>  'UNK_USER_DEFINED_1' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_USER_DEFINED_2' 			=>  array ( 'Name'  =>  'UNK_USER_DEFINED_2' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_USER_DEFINED_3' 			=>  array ( 'Name'  =>  'UNK_USER_DEFINED_3' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_USER_DEFINED_4' 			=>  array ( 'Name'  =>  'UNK_USER_DEFINED_4' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_USER_DEFINED_5' 			=>  array ( 'Name'  =>  'UNK_USER_DEFINED_5' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_USER_DEFINED_6' 			=>  array ( 'Name'  =>  'UNK_USER_DEFINED_6' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_USER_DEFINED_7' 			=>  array ( 'Name'  =>  'UNK_USER_DEFINED_7' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_USER_DEFINED_8' 			=>  array ( 'Name'  =>  'UNK_USER_DEFINED_8' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_USER_DEFINED_9' 			=>  array ( 'Name'  =>  'UNK_USER_DEFINED_9' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_CREDIT_GRANTED' 			=>  array ( 'Name'  =>  'UNK_CREDIT_GRANTED' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'COL_CREDIT_SUBMITTED' 			=>  array ( 'Name'  =>  'UNK_CREDIT_SUBMITTED' ,  'Description'  =>  '' ,  'Type'  =>  '' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								?>