| 
									
										
										
										
											2019-08-29 03:13:24 +08:00
										 |  |  | <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class QSLPrint extends CI_Controller { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	function __construct() | 
					
						
							|  |  |  | 	{ | 
					
						
							|  |  |  | 		parent::__construct(); | 
					
						
							|  |  |  | 		$this->load->helper(array('form', 'url')); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		$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() | 
					
						
							|  |  |  | 	{ | 
					
						
							|  |  |  | 		$this->load->model('user_model'); | 
					
						
							|  |  |  | 		if(!$this->user_model->authorize(99)) { $this->session->set_flashdata('notice', 'You\'re not allowed to do that!'); redirect('dashboard'); } | 
					
						
							|  |  |  | 	 | 
					
						
							|  |  |  | 		$data['page_title'] = "Export requested QSLs for printing"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		$this->load->view('interface_assets/header', $data); | 
					
						
							|  |  |  | 		$this->load->view('qslprint/index'); | 
					
						
							|  |  |  | 		$this->load->view('interface_assets/footer'); | 
					
						
							|  |  |  | 	 | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	public function exportadif() | 
					
						
							|  |  |  | 	{ | 
					
						
							|  |  |  | 		// Set memory limit to unlimited to allow heavy usage
 | 
					
						
							|  |  |  | 		ini_set('memory_limit', '-1'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		$this->load->model('adif_data'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		$data['qsos'] = $this->adif_data->export_printrequested(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		$this->load->view('adif/data/exportall', $data); | 
					
						
							|  |  |  | 	}	 | 
					
						
							|  |  |  | 	 | 
					
						
							|  |  |  | 	public function exportcsv() | 
					
						
							|  |  |  | 	{ | 
					
						
							|  |  |  | 		// Set memory limit to unlimited to allow heavy usage
 | 
					
						
							|  |  |  | 		ini_set('memory_limit', '-1'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		$this->load->model('logbook_model'); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-12 04:09:51 +08:00
										 |  |  | 		$myData = $this->logbook_model->get_qsos_for_printing(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		// file name
 | 
					
						
							| 
									
										
										
										
											2019-09-12 04:15:43 +08:00
										 |  |  | 		$filename = 'qsl_export.csv'; | 
					
						
							|  |  |  | 		header("Content-Description: File Transfer"); | 
					
						
							|  |  |  | 		header("Content-Disposition: attachment; filename=$filename"); | 
					
						
							|  |  |  | 		header("Content-Type: application/csv;charset=iso-8859-1"); | 
					
						
							| 
									
										
										
										
											2019-09-12 04:09:51 +08:00
										 |  |  |   | 
					
						
							| 
									
										
										
										
											2019-09-12 04:15:43 +08:00
										 |  |  | 		// file creation
 | 
					
						
							|  |  |  | 		$file = fopen('php://output', 'w'); | 
					
						
							| 
									
										
										
										
											2019-09-12 04:09:51 +08:00
										 |  |  |   | 
					
						
							| 
									
										
										
										
											2019-09-28 23:35:57 +08:00
										 |  |  | 		$header = array("STATION_CALLSIGN", | 
					
						
							| 
									
										
										
										
											2019-09-28 05:11:10 +08:00
										 |  |  | 						"COL_CALL",  | 
					
						
							| 
									
										
										
										
											2019-09-12 04:09:51 +08:00
										 |  |  | 						"COL_QSL_VIA",  | 
					
						
							|  |  |  | 						"COL_TIME_ON",  | 
					
						
							|  |  |  | 						"COL_MODE",  | 
					
						
							|  |  |  | 						"COL_FREQ",  | 
					
						
							|  |  |  | 						"COL_BAND",  | 
					
						
							|  |  |  | 						"COL_RST_SENT",  | 
					
						
							|  |  |  | 						"COL_SAT_NAME",  | 
					
						
							|  |  |  | 						"COL_SAT_MODE",  | 
					
						
							|  |  |  | 						"COL_QSL_RCVD",  | 
					
						
							| 
									
										
										
										
											2019-10-07 01:52:18 +08:00
										 |  |  | 						"COL_COMMENT", | 
					
						
							| 
									
										
										
										
											2019-09-12 04:09:51 +08:00
										 |  |  | 						"COL_ROUTING",  | 
					
						
							|  |  |  | 						"ADIF",  | 
					
						
							|  |  |  | 						"ENTITY"); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-12 04:15:43 +08:00
										 |  |  | 		fputcsv($file, $header); | 
					
						
							| 
									
										
										
										
											2019-09-12 04:09:51 +08:00
										 |  |  |   | 
					
						
							|  |  |  | 		foreach ($myData->result() as $qso) { | 
					
						
							|  |  |  | 			fputcsv($file,  | 
					
						
							| 
									
										
										
										
											2019-09-28 23:35:57 +08:00
										 |  |  | 				array($qso->STATION_CALLSIGN, | 
					
						
							| 
									
										
										
										
											2019-09-28 05:11:10 +08:00
										 |  |  | 				str_replace("0", "Ø", $qso->COL_CALL),  | 
					
						
							| 
									
										
										
										
											2019-09-12 04:09:51 +08:00
										 |  |  | 				$qso->COL_QSL_VIA!=""?"Via ".str_replace("0", "Ø", $qso->COL_QSL_VIA):"",  | 
					
						
							|  |  |  | 				$qso->COL_TIME_ON,  | 
					
						
							|  |  |  | 				$qso->COL_MODE,  | 
					
						
							|  |  |  | 				$qso->COL_FREQ,  | 
					
						
							|  |  |  | 				$qso->COL_BAND,  | 
					
						
							|  |  |  | 				$qso->COL_RST_SENT,  | 
					
						
							|  |  |  | 				$qso->COL_SAT_NAME,  | 
					
						
							|  |  |  | 				$qso->COL_SAT_MODE,  | 
					
						
							|  |  |  | 				$qso->COL_QSL_RCVD =='Y'?'TNX QSL':'PSE QSL',  | 
					
						
							| 
									
										
										
										
											2019-10-07 01:52:18 +08:00
										 |  |  | 				$qso->COL_COMMENT,  | 
					
						
							| 
									
										
										
										
											2019-09-12 04:09:51 +08:00
										 |  |  | 				$qso->COL_ROUTING, | 
					
						
							|  |  |  | 				$qso->ADIF,  | 
					
						
							|  |  |  | 				$qso->ENTITY)); | 
					
						
							|  |  |  | 		} | 
					
						
							| 
									
										
										
										
											2019-09-12 04:15:43 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 		fclose($file); | 
					
						
							|  |  |  | 		exit; | 
					
						
							| 
									
										
										
										
											2019-08-29 03:13:24 +08:00
										 |  |  | 	} | 
					
						
							|  |  |  | 	 | 
					
						
							|  |  |  | 	function qsl_printed() { | 
					
						
							|  |  |  | 		$this->load->model('qslprint_model'); | 
					
						
							|  |  |  | 		$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'); } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 			// Update Logbook to Mark Paper Card Received
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 			$this->qslprint_model->mark_qsos_printed(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 			$this->session->set_flashdata('notice', 'QSOs are marked as sent via buro'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 			redirect('logbook'); | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-12 04:09:51 +08:00
										 |  |  | /* End of file Qslprint.php */ | 
					
						
							|  |  |  | /* Location: ./application/controllers/Qslprint.php */ |