445 行
		
	
	
	
		
			16 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			445 行
		
	
	
	
		
			16 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
 | |
| 
 | |
| /*
 | |
| 	Handles Displaying of information for awards.
 | |
| 	
 | |
| 	These are taken from comments fields or ADIF fields 
 | |
| */
 | |
| 
 | |
| class Awards extends CI_Controller {
 | |
| 	
 | |
| 	function __construct()
 | |
| 	{
 | |
| 		parent::__construct();
 | |
| 
 | |
| 		$this->load->model('user_model');
 | |
| 		if(!$this->user_model->authorize(2)) { $this->session->set_flashdata('notice', 'You\'re not allowed to do that!'); redirect('dashboard'); }
 | |
| 	}
 | |
| 
 | |
| 	public function index()
 | |
| 	{
 | |
| 		// Render Page
 | |
| 		$data['page_title'] = "Awards";
 | |
| 		$this->load->view('interface_assets/header', $data);
 | |
| 		$this->load->view('awards/index');
 | |
| 		$this->load->view('interface_assets/footer');
 | |
| 	}
 | |
| 	
 | |
| 	public function dok ()
 | |
| 	{
 | |
| 		//echo "Needs Developed";
 | |
| 		$this->load->model('dok');
 | |
| 		$data['doks'] = $this->dok->show_stats();
 | |
| 		$data['worked_bands'] = $this->dok->get_worked_bands();
 | |
| 
 | |
| 		// Render Page
 | |
| 		$data['page_title'] = "Awards - DOK";
 | |
| 		$this->load->view('interface_assets/header', $data);
 | |
| 		$this->load->view('awards/dok/index');
 | |
| 		$this->load->view('interface_assets/footer');
 | |
| 
 | |
| 	}
 | |
| 	
 | |
| 	public function dok_details(){
 | |
|         $a = $this->input->get();
 | |
|         $q = "";
 | |
|         foreach ($a as $key => $value) {
 | |
|         	$q .= $key."=".$value.("(and)");
 | |
|         }
 | |
|         $q = substr($q, 0, strlen($q)-13);
 | |
| 
 | |
|         $arguments["query"] = $q;
 | |
|         $arguments["fields"] = '';
 | |
|         $arguments["format"] = "json";
 | |
|         $arguments["limit"] = '';
 | |
|         $arguments["order"] = '';
 | |
| 
 | |
|         // print_r($arguments);
 | |
|         // return;
 | |
| 
 | |
| 		// Load the API and Logbook models
 | |
| 		$this->load->model('api_model');
 | |
| 		$this->load->model('logbook_model');
 | |
| 
 | |
| 		// Call the parser within the API model to build the query
 | |
| 		$query = $this->api_model->select_parse($arguments);
 | |
| 
 | |
| 		// Execute the query, and retrieve the results
 | |
| 		$data = $this->logbook_model->api_search_query($query);
 | |
| 
 | |
| 		// Render Page
 | |
| 		$data['page_title'] = "Log View - DOK";
 | |
| 		$data['filter'] = str_replace("(and)", ", ", $q);//implode(", ", array_keys($a));
 | |
| 		$this->load->view('interface_assets/header', $data);
 | |
| 		$this->load->view('awards/dok/details');
 | |
| 		$this->load->view('interface_assets/footer');
 | |
| 	}
 | |
| 	
 | |
| 	public function dxcc ()	{
 | |
| 		$this->load->model('dxcc');
 | |
|         $data['worked_bands'] = $this->dxcc->get_worked_bands(); // Used in the view for band select
 | |
| 
 | |
|         if ($this->input->post('band') != NULL) {   // Band is not set when page first loads.
 | |
|             if ($this->input->post('band') == 'All') {         // Did the user specify a band? If not, use all bands
 | |
|                 $bands = $data['worked_bands'];
 | |
|             }
 | |
|             else {
 | |
|                 $bands[] = $this->input->post('band');
 | |
|             }
 | |
|         }
 | |
|         else {
 | |
|             $bands = $data['worked_bands'];
 | |
|         }
 | |
| 
 | |
|         $data['bands'] = $bands; // Used for displaying selected band(s) in the table in the view
 | |
| 
 | |
|         if($this->input->method() === 'post') {
 | |
|             $postdata['lotw'] = $this->input->post('lotw');
 | |
|             $postdata['qsl'] = $this->input->post('qsl');
 | |
|             $postdata['worked'] = $this->input->post('worked');
 | |
|             $postdata['confirmed'] = $this->input->post('confirmed');
 | |
|             $postdata['notworked'] = $this->input->post('notworked');
 | |
|             $postdata['includedeleted'] = $this->input->post('includedeleted');
 | |
|             $postdata['Africa'] = $this->input->post('Africa');
 | |
|             $postdata['Asia'] = $this->input->post('Asia');
 | |
|             $postdata['Europe'] = $this->input->post('Europe');
 | |
|             $postdata['NorthAmerica'] = $this->input->post('NorthAmerica');
 | |
|             $postdata['SouthAmerica'] = $this->input->post('SouthAmerica');
 | |
|             $postdata['Oceania'] = $this->input->post('Oceania');
 | |
|             $postdata['Antarctica'] = $this->input->post('Antarctica');
 | |
|             $postdata['band'] = $this->input->post('band');
 | |
|         }
 | |
|         else { // Setting default values at first load of page
 | |
|             $postdata['lotw'] = 1;
 | |
|             $postdata['qsl'] = 1;
 | |
|             $postdata['worked'] = 1;
 | |
|             $postdata['confirmed'] = 1;
 | |
|             $postdata['notworked'] = 1;
 | |
|             $postdata['includedeleted'] = 1;
 | |
|             $postdata['Africa'] = 1;
 | |
|             $postdata['Asia'] = 1;
 | |
|             $postdata['Europe'] = 1;
 | |
|             $postdata['NorthAmerica'] = 1;
 | |
|             $postdata['SouthAmerica'] = 1;
 | |
|             $postdata['Oceania'] = 1;
 | |
|             $postdata['Antarctica'] = 1;
 | |
|             $postdata['band'] = 'All';
 | |
|         }
 | |
| 
 | |
| 		$dxcclist = $this->dxcc->fetchdxcc($postdata);
 | |
|         $data['dxcc_array'] = $this->dxcc->get_dxcc_array($dxcclist, $bands, $postdata);
 | |
|         $data['dxcc_summary'] = $this->dxcc->get_dxcc_summary($bands);
 | |
| 
 | |
| 		// Render Page
 | |
| 		$data['page_title'] = "Awards - DXCC";
 | |
| 		$this->load->view('interface_assets/header', $data);
 | |
| 		$this->load->view('awards/dxcc/index');
 | |
| 		$this->load->view('interface_assets/footer');
 | |
| 	}
 | |
| 
 | |
| 	public function dxcc_details(){
 | |
|  
 | |
| 		$this->load->model('logbook_model');
 | |
| 
 | |
| 		$country = str_replace('"', "", $this->input->get("Country"));
 | |
| 		$band = str_replace('"', "", $this->input->get("Band"));
 | |
| 		$data['results'] = $this->logbook_model->dxcc_qso_details($country, $band);
 | |
| 
 | |
| 				// Render Page
 | |
| 		$data['page_title'] = "Log View - DXCC";
 | |
| 		$data['filter'] = "country ".$country. " and ".$band;
 | |
| 		$this->load->view('interface_assets/header', $data);
 | |
| 		$this->load->view('awards/dxcc/details');
 | |
| 		$this->load->view('interface_assets/footer');
 | |
| 	}
 | |
| 
 | |
|     public function vucc()	{
 | |
|         $this->load->model('vucc');
 | |
|         $data['worked_bands'] = $this->vucc->get_worked_bands();
 | |
| 
 | |
|         $data['vucc_array'] = $this->vucc->get_vucc_array($data);
 | |
| 
 | |
|         // Render Page
 | |
|         $data['page_title'] = "Awards - VUCC";
 | |
|         $this->load->view('interface_assets/header', $data);
 | |
|         $this->load->view('awards/vucc/index');
 | |
|         $this->load->view('interface_assets/footer');
 | |
|     }
 | |
| 
 | |
|     public function vucc_band(){
 | |
|         $this->load->model('vucc');
 | |
|         $band = str_replace('"', "", $this->input->get("Band"));
 | |
|         $data['vucc_array'] = $this->vucc->vucc_details($band);
 | |
| 
 | |
|         // Render Page
 | |
|         $data['page_title'] = "VUCC - band";
 | |
|         $data['filter'] = "band ".$band;
 | |
|         $data['band'] = $band;
 | |
|         $this->load->view('interface_assets/header', $data);
 | |
|         $this->load->view('awards/vucc/band');
 | |
|         $this->load->view('interface_assets/footer');
 | |
|     }
 | |
| 
 | |
|     public function vucc_details(){
 | |
|         $this->load->model('logbook_model');
 | |
| 
 | |
|         $gridsquare = str_replace('"', "", $this->input->get("Gridsquare"));
 | |
|         $band = str_replace('"', "", $this->input->get("Band"));
 | |
|         $data['results'] = $this->logbook_model->vucc_qso_details($gridsquare, $band);
 | |
| 
 | |
|         // Render Page
 | |
|         $data['page_title'] = "Log View - VUCC";
 | |
|         $data['filter'] = "vucc " . $gridsquare . " and band ".$band;
 | |
|         $this->load->view('interface_assets/header', $data);
 | |
|         $this->load->view('awards/vucc/details');
 | |
|         $this->load->view('interface_assets/footer');
 | |
|     }
 | |
| 
 | |
| 	/*
 | |
| 		Handles Displaying of WAB Squares worked.
 | |
| 		Comment field - WAB:#
 | |
| 	*/
 | |
| 	public function wab() {
 | |
| 	
 | |
| 		// Grab all worked WABs
 | |
| 		$this->load->model('wab');
 | |
| 		$data['wab_all'] = $this->wab->get_all();
 | |
| 	
 | |
| 		// Render Page
 | |
| 		$data['page_title'] = "Awards - WAB";
 | |
| 		$this->load->view('interface_assets/header', $data);
 | |
| 		$this->load->view('awards/wab/index');
 | |
| 		$this->load->view('interface_assets/footer');
 | |
| 	}
 | |
| 	
 | |
| 	/*
 | |
| 		Handles showing worked SOTAs
 | |
| 		Comment field - SOTA:#
 | |
| 	*/
 | |
| 	public function sota() {
 | |
| 	
 | |
| 		// Grab all worked sota stations
 | |
| 		$this->load->model('sota');
 | |
| 		$data['sota_all'] = $this->sota->get_all();
 | |
| 	
 | |
| 		// Render page
 | |
| 		$data['page_title'] = "Awards - SOTA";
 | |
| 		$this->load->view('interface_assets/header', $data);
 | |
| 		$this->load->view('awards/sota/index');
 | |
| 		$this->load->view('interface_assets/footer');
 | |
| 	}
 | |
| 	
 | |
| 	/*
 | |
| 		Handles showing worked WACRAL members (wacral.org)
 | |
| 		Comment field - WACRAL:#
 | |
| 	*/
 | |
| 	public function wacral() {
 | |
| 	
 | |
| 		// Grab all worked wacral members
 | |
| 		$this->load->model('wacral');
 | |
| 		$data['wacral_all'] = $this->wacral->get_all();
 | |
| 	
 | |
| 		// Render page
 | |
| 		$data['page_title'] = "Awards - WACRAL Members";
 | |
| 		$this->load->view('interface_assets/header', $data);
 | |
| 		$this->load->view('awards/wacral/index');
 | |
| 		$this->load->view('interface_assets/footer');
 | |
| 	}
 | |
| 	
 | |
| 	public function cq(){
 | |
|         $this->load->model('cq');
 | |
|         $zones = array();
 | |
|         foreach($this->cq->get_zones() as $row){
 | |
|             array_push($zones, intval($row->COL_CQZ));
 | |
|         }
 | |
|         $data['cqz'] = $zones;
 | |
| 
 | |
|         $data['worked_bands'] = $this->cq->get_worked_bands();
 | |
| 
 | |
|         if ($this->input->post('band') != NULL) {   // Band is not set when page first loads.
 | |
|             if ($this->input->post('band') == 'All') {         // Did the user specify a band? If not, use all bands
 | |
|                 $bands = $data['worked_bands'];
 | |
|             }
 | |
|             else {
 | |
|                 $bands[] = $this->input->post('band');
 | |
|             }
 | |
|         }
 | |
|         else {
 | |
|             $bands = $data['worked_bands'];
 | |
|         }
 | |
| 
 | |
|         $data['bands'] = $bands; // Used for displaying selected band(s) in the table in the view
 | |
| 
 | |
|         if($this->input->method() === 'post') {
 | |
|             $postdata['lotw'] = $this->input->post('lotw');
 | |
|             $postdata['qsl'] = $this->input->post('qsl');
 | |
|             $postdata['worked'] = $this->input->post('worked');
 | |
|             $postdata['confirmed'] = $this->input->post('confirmed');
 | |
|             $postdata['notworked'] = $this->input->post('notworked');
 | |
|             $postdata['band'] = $this->input->post('band');
 | |
|         }
 | |
|         else { // Setting default values at first load of page
 | |
|             $postdata['lotw'] = 1;
 | |
|             $postdata['qsl'] = 1;
 | |
|             $postdata['worked'] = 1;
 | |
|             $postdata['confirmed'] = 1;
 | |
|             $postdata['notworked'] = 1;
 | |
|             $postdata['band'] = 'All';
 | |
|         }
 | |
| 
 | |
|         $data['cq_array'] = $this->cq->get_cq_array($bands, $postdata);
 | |
| 
 | |
|         // Render page
 | |
|         $data['page_title'] = "Awards - CQ Magazine";
 | |
| 		$this->load->view('interface_assets/header', $data);
 | |
| 		$this->load->view('awards/cq/index');
 | |
| 		$this->load->view('interface_assets/footer');
 | |
| 	}
 | |
| 
 | |
|     public function cq_details(){
 | |
|         $this->load->model('logbook_model');
 | |
| 
 | |
|         $cqzone = str_replace('"', "", $this->input->get("CQZone"));
 | |
|         $band = str_replace('"', "", $this->input->get("Band"));
 | |
|         $data['results'] = $this->logbook_model->cq_qso_details($cqzone, $band);
 | |
| 
 | |
|         // Render Page
 | |
|         $data['page_title'] = "Log View - DXCC";
 | |
|         $data['filter'] = "CQZone ".$cqzone;
 | |
|         $this->load->view('interface_assets/header', $data);
 | |
|         $this->load->view('awards/cq/details');
 | |
|         $this->load->view('interface_assets/footer');
 | |
|     }
 | |
| 
 | |
|     public function was() {
 | |
|         $this->load->model('was');
 | |
|         $data['worked_bands'] = $this->was->get_worked_bands();
 | |
| 
 | |
|         if ($this->input->post('band') != NULL) {   // Band is not set when page first loads.
 | |
|             if ($this->input->post('band') == 'All') {         // Did the user specify a band? If not, use all bands
 | |
|                 $bands = $data['worked_bands'];
 | |
|             }
 | |
|             else {
 | |
|                 $bands[] = $this->input->post('band');
 | |
|             }
 | |
|         }
 | |
|         else {
 | |
|             $bands = $data['worked_bands'];
 | |
|         }
 | |
| 
 | |
|         $data['bands'] = $bands; // Used for displaying selected band(s) in the table in the view
 | |
| 
 | |
|         if($this->input->method() === 'post') {
 | |
|             $postdata['lotw'] = $this->input->post('lotw');
 | |
|             $postdata['qsl'] = $this->input->post('qsl');
 | |
|             $postdata['worked'] = $this->input->post('worked');
 | |
|             $postdata['confirmed'] = $this->input->post('confirmed');
 | |
|             $postdata['notworked'] = $this->input->post('notworked');
 | |
|             $postdata['band'] = $this->input->post('band');
 | |
|         }
 | |
|         else { // Setting default values at first load of page
 | |
|             $postdata['lotw'] = 1;
 | |
|             $postdata['qsl'] = 1;
 | |
|             $postdata['worked'] = 1;
 | |
|             $postdata['confirmed'] = 1;
 | |
|             $postdata['notworked'] = 1;
 | |
|             $postdata['band'] = 'All';
 | |
|         }
 | |
| 
 | |
|         $data['was_array'] = $this->was->get_was_array($bands, $postdata);
 | |
|         $data['was_summary'] = $this->was->get_was_summary($bands);
 | |
| 
 | |
|         // Render Page
 | |
|         $data['page_title'] = "Awards - WAS (Worked all states)";
 | |
|         $this->load->view('interface_assets/header', $data);
 | |
|         $this->load->view('awards/was/index');
 | |
|         $this->load->view('interface_assets/footer');
 | |
|     }
 | |
| 
 | |
|     public function was_details() {
 | |
|         $this->load->model('logbook_model');
 | |
| 
 | |
|         $state = str_replace('"', "", $this->input->get("State"));
 | |
|         $band = str_replace('"', "", $this->input->get("Band"));
 | |
|         $data['results'] = $this->logbook_model->was_qso_details($state, $band);
 | |
| 
 | |
|         // Render Page
 | |
|         $data['page_title'] = "Log View - WAS";
 | |
|         $data['filter'] = "state ".$state. " and ".$band;
 | |
|         $this->load->view('interface_assets/header', $data);
 | |
|         $this->load->view('awards/was/details');
 | |
|         $this->load->view('interface_assets/footer');
 | |
|     }
 | |
| 
 | |
|     public function iota ()	{
 | |
|         $this->load->model('iota');
 | |
|         $data['worked_bands'] = $this->iota->get_worked_bands(); // Used in the view for band select
 | |
| 
 | |
|         if ($this->input->post('band') != NULL) {   // Band is not set when page first loads.
 | |
|             if ($this->input->post('band') == 'All') {         // Did the user specify a band? If not, use all bands
 | |
|                 $bands = $data['worked_bands'];
 | |
|             }
 | |
|             else {
 | |
|                 $bands[] = $this->input->post('band');
 | |
|             }
 | |
|         }
 | |
|         else {
 | |
|             $bands = $data['worked_bands'];
 | |
|         }
 | |
| 
 | |
|         $data['bands'] = $bands; // Used for displaying selected band(s) in the table in the view
 | |
| 
 | |
|         if($this->input->method() === 'post') {
 | |
|             $postdata['worked'] = $this->input->post('worked');
 | |
|             $postdata['confirmed'] = $this->input->post('confirmed');
 | |
|             $postdata['notworked'] = $this->input->post('notworked');
 | |
|             $postdata['includedeleted'] = $this->input->post('includedeleted');
 | |
|             $postdata['Africa'] = $this->input->post('Africa');
 | |
|             $postdata['Asia'] = $this->input->post('Asia');
 | |
|             $postdata['Europe'] = $this->input->post('Europe');
 | |
|             $postdata['NorthAmerica'] = $this->input->post('NorthAmerica');
 | |
|             $postdata['SouthAmerica'] = $this->input->post('SouthAmerica');
 | |
|             $postdata['Oceania'] = $this->input->post('Oceania');
 | |
|             $postdata['Antarctica'] = $this->input->post('Antarctica');
 | |
|             $postdata['band'] = $this->input->post('band');
 | |
|         }
 | |
|         else { // Setting default values at first load of page
 | |
|             $postdata['worked'] = 1;
 | |
|             $postdata['confirmed'] = 1;
 | |
|             $postdata['notworked'] = 1;
 | |
|             $postdata['includedeleted'] = 1;
 | |
|             $postdata['Africa'] = 1;
 | |
|             $postdata['Asia'] = 1;
 | |
|             $postdata['Europe'] = 1;
 | |
|             $postdata['NorthAmerica'] = 1;
 | |
|             $postdata['SouthAmerica'] = 1;
 | |
|             $postdata['Oceania'] = 1;
 | |
|             $postdata['Antarctica'] = 1;
 | |
|             $postdata['band'] = 'All';
 | |
|         }
 | |
| 
 | |
|         $iotalist = $this->iota->fetchIota($postdata);
 | |
|         $data['iota_array'] = $this->iota->get_iota_array($iotalist, $bands, $postdata);
 | |
| 
 | |
|         // Render Page
 | |
|         $data['page_title'] = "Awards - IOTA (Islands On The Air)";
 | |
|         $this->load->view('interface_assets/header', $data);
 | |
|         $this->load->view('awards/iota/index');
 | |
|         $this->load->view('interface_assets/footer');
 | |
|     }
 | |
| 
 | |
|     public function iota_details(){
 | |
|         $this->load->model('logbook_model');
 | |
| 
 | |
|         $iota = str_replace('"', "", $this->input->get("Iota"));
 | |
|         $band = str_replace('"', "", $this->input->get("Band"));
 | |
|         $data['results'] = $this->logbook_model->iota_qso_details($iota, $band);
 | |
| 
 | |
|         // Render Page
 | |
|         $data['page_title'] = "Log View - IOTA";
 | |
|         $data['filter'] = "iota ".$iota. " and ".$band;
 | |
|         $this->load->view('interface_assets/header', $data);
 | |
|         $this->load->view('awards/iota/details');
 | |
|         $this->load->view('interface_assets/footer');
 | |
|     }
 | |
| }
 |