2019-06-26 16:17:06 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< ? php  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  DOK  extends  CI_Model  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-01-26 16:18:29 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									function  show_stats ( $postdata )  { 
							 
						 
					
						
							
								
									
										
										
										
											2019-09-25 07:05:45 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$CI  =&  get_instance (); 
							 
						 
					
						
							
								
									
										
										
										
											2021-09-10 00:14:41 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$CI -> load -> model ( 'logbooks_model' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$logbooks_locations_array  =  $CI -> logbooks_model -> list_logbook_relationships ( $this -> session -> userdata ( 'active_station_logbook' )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-11-15 00:11:59 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										if  ( ! $logbooks_locations_array )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											return  null ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-11-13 22:55:17 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$this -> load -> model ( 'bands' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-09-10 00:14:41 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$location_list  =  " ' " . implode ( " ',' " , $logbooks_locations_array ) . " ' " ; 
							 
						 
					
						
							
								
									
										
										
										
											2022-01-26 16:18:29 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$sql  =  " select upper(COL_DARC_DOK) as COL_DARC_DOK, COL_MODE, lcase(COL_BAND) as COL_BAND, count(COL_DARC_DOK) as cnt from  " . $this -> config -> item ( 'table_name' ) . "  WHERE station_id in ( "  .  $location_list  .  " ) AND COL_DARC_DOK IS NOT NULL AND COL_DARC_DOK != '' AND COL_DXCC = 230 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( $postdata [ 'doks' ]  ==  'dok' )  { 
							 
						 
					
						
							
								
									
										
										
										
											2022-05-14 03:00:10 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											$sql  .=  "  AND COL_DARC_DOK REGEXP '^[A-Z][0-9] { 2} $ ' " ; 
							 
						 
					
						
							
								
									
										
										
										
											2022-01-26 16:18:29 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										}  else  if  ( $postdata [ 'doks' ]  ==  'sdok' )  { 
							 
						 
					
						
							
								
									
										
										
										
											2022-05-14 03:00:10 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											$sql  .=  "  AND COL_DARC_DOK NOT REGEXP '^[A-Z][0-9] { 2} $ ' " ; 
							 
						 
					
						
							
								
									
										
										
										
											2022-01-26 16:18:29 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$sql  .=  "  group by COL_DARC_DOK, COL_MODE, COL_BAND " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$sql  .=  "  order by COL_DARC_DOK asc " ; 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-26 16:17:06 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-01-26 16:18:29 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        $data  =  $this -> db -> query ( $sql ); 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-26 16:17:06 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $results  =  array (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $last_dok  =  " " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        foreach ( $data -> result ()  as  $row ){ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            if  ( $last_dok  !=  $row -> COL_DARC_DOK ){ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                // new row
 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-13 22:55:17 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                $results [ $row -> COL_DARC_DOK ]  =  $this -> bands -> bandslots ; 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-26 16:17:06 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								                $last_dok  =  $row -> COL_DARC_DOK ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            // update stats
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            if  ( ! isset ( $results [ $row -> COL_DARC_DOK ])) 
							 
						 
					
						
							
								
									
										
										
										
											2021-09-10 00:14:41 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                $results [ $row -> COL_DARC_DOK ]  =  []; 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-26 16:17:06 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            if  ( ! isset ( $results [ $row -> COL_DARC_DOK ][ $row -> COL_BAND ])) 
							 
						 
					
						
							
								
									
										
										
										
											2021-09-10 00:14:41 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                $results [ $row -> COL_DARC_DOK ][ $row -> COL_BAND ]  =  0 ; 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-26 16:17:06 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            $results [ $row -> COL_DARC_DOK ][ $row -> COL_BAND ]  +=  $row -> cnt ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2021-09-10 00:14:41 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-06-26 16:17:06 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								        return  $results ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/** 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									* 	Function :  mostactive 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									* 	Information :  Returns  the  most  active  band 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									**/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									function  info ( $callsign ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$exceptions  =  $this -> db -> query ( ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												SELECT  * 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-06 05:26:20 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												FROM  `dxcc_exceptions` 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-26 16:17:06 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
												WHERE  `prefix`  =  \ '' . $callsign . ' \ ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												LIMIT  1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( $exceptions -> num_rows ()  >  0 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											return  $exceptions ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										}  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$query  =  $this -> db -> query ( ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													SELECT  * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													FROM  dxcc_entities 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													WHERE  prefix  =  SUBSTRING (  \ '' . $callsign . ' \ ' ,  1 ,  LENGTH (  prefix  )  ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													ORDER  BY  LENGTH (  prefix  )  DESC 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													LIMIT  1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											return  $query ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    function  search (){ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        print_r ( $this -> input -> get ()); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									function  empty_table ( $table )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> db -> empty_table ( $table ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									function  list ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> db -> order_by ( 'name' ,  'ASC' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  $this -> db -> get ( 'dxcc_entities' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								?>