Merge pull request #410 from AndreasK79/master
Implements a datepicker for exporting your log to an ADIF-file.
这个提交包含在:
		
						当前提交
						7c509f7cb4
					
				
					共有  8 个文件被更改,包括 79 次插入 和 8 次删除
				
			
		|  | @ -122,4 +122,11 @@ class Station extends CI_Controller { | ||||||
| 		redirect('station'); | 		redirect('station'); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  |     public function deletelog($id) { | ||||||
|  |         $this->load->model('stations'); | ||||||
|  |         $this->stations->deletelog($id); | ||||||
|  | 
 | ||||||
|  |         redirect('station'); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
| } | } | ||||||
|  | @ -63,7 +63,18 @@ class adif_data extends CI_Model { | ||||||
|         $this->load->model('stations'); |         $this->load->model('stations'); | ||||||
|         $active_station_id = $this->stations->find_active(); |         $active_station_id = $this->stations->find_active(); | ||||||
|         $this->db->where('station_id', $active_station_id); |         $this->db->where('station_id', $active_station_id); | ||||||
|         $this->db->where("COL_TIME_ON BETWEEN '".$from."' AND '".$to."'"); | 
 | ||||||
|  |         // If date is set, we format the date and add it to the where-statement
 | ||||||
|  |         if ($from != 0) { | ||||||
|  |             $from = DateTime::createFromFormat('d/m/Y', $from); | ||||||
|  |             $from = $from->format('Y-m-d'); | ||||||
|  |             $this->db->where("date(COL_TIME_ON) >= '".$from."'"); | ||||||
|  |         } | ||||||
|  |         if ($to != 0) { | ||||||
|  |             $to = DateTime::createFromFormat('d/m/Y', $to); | ||||||
|  |             $to = $to->format('Y-m-d'); | ||||||
|  |             $this->db->where("date(COL_TIME_ON) <= '".$to."'"); | ||||||
|  |         } | ||||||
|         $this->db->order_by("COL_TIME_ON", "ASC"); |         $this->db->order_by("COL_TIME_ON", "ASC"); | ||||||
|         $query = $this->db->get($this->config->item('table_name')); |         $query = $this->db->get($this->config->item('table_name')); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -81,6 +81,12 @@ class Stations extends CI_Model { | ||||||
| 		$this->db->delete('station_profile', array('station_id' => $clean_id));  | 		$this->db->delete('station_profile', array('station_id' => $clean_id));  | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | 	function deletelog($id) { | ||||||
|  |         // Delete QSOs
 | ||||||
|  |         $this->db->where('station_id', $id); | ||||||
|  |         $this->db->delete($this->config->item('table_name')); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
| 	function set_active($current, $new) { | 	function set_active($current, $new) { | ||||||
| 
 | 
 | ||||||
| 		// Clean inputs
 | 		// Clean inputs
 | ||||||
|  |  | ||||||
|  | @ -8,6 +8,5 @@ | ||||||
| <EOH> | <EOH> | ||||||
| 
 | 
 | ||||||
| <?php foreach ($qsos->result() as $qso) { //print_r($qso);?>
 | <?php foreach ($qsos->result() as $qso) { //print_r($qso);?>
 | ||||||
| 	<call:<?php echo strlen($qso->COL_CALL); ?>><?php echo $qso->COL_CALL; ?><band:<?php echo strlen($qso->COL_BAND); ?>><?php echo $qso->COL_BAND; ?><mode:<?php echo strlen($qso->COL_MODE); ?>><?php echo $qso->COL_MODE; ?><?php if($qso->COL_FREQ != "0") { ?><?php $freq_in_mhz = $qso->COL_FREQ / 1000000; ?><freq:<?php echo strlen($freq_in_mhz); ?>><?php echo $freq_in_mhz; ?><?php } ?><?php $date_on = strtotime($qso->COL_TIME_ON); $new_date = date('Ymd', $date_on); ?><qso_date:<?php echo strlen($new_date); ?>><?php echo $new_date; ?><?php $time_on = strtotime($qso->COL_TIME_ON); $new_on = date('His', $time_on); ?><time_on:<?php echo strlen($new_on); ?>><?php echo $new_on; ?><?php $time_off = strtotime($qso->COL_TIME_OFF); $new_off = date('His', $time_off); ?><time_off:<?php echo strlen($new_off); ?>><?php echo $new_off; ?><rst_rcvd:<?php echo strlen($qso->COL_RST_RCVD); ?>><?php echo $qso->COL_RST_RCVD; ?><rst_sent:<?php echo strlen($qso->COL_RST_SENT); ?>><?php echo $qso->COL_RST_SENT; ?><qsl_rcvd:<?php echo strlen($qso->COL_QSL_RCVD); ?>><?php echo $qso->COL_QSL_RCVD; ?><qsl_sent:<?php echo strlen($qso->COL_QSL_SENT); ?>><?php echo $qso->COL_QSL_SENT; ?><country:<?php echo strlen($qso->COL_COUNTRY); ?>><?php echo $qso->COL_COUNTRY; ?><?php if($qso->COL_VUCC_GRIDS != "") { ?><vucc_grids:<?php echo strlen($qso->COL_VUCC_GRIDS); ?>><?php echo $qso->COL_VUCC_GRIDS; ?><?php } ?><?php if($qso->COL_VUCC_GRIDS == "" && $qso->COL_GRIDSQUARE != "") { ?><gridsquare:<?php echo strlen($qso->COL_GRIDSQUARE); ?>><?php echo $qso->COL_GRIDSQUARE; ?><?php } ?><?php if($qso->COL_SAT_NAME) { ?><?php if($qso->COL_SAT_MODE != 0 || $qso->COL_SAT_MODE !="") {?><sat_mode:<?php echo strlen($qso->COL_SAT_MODE); ?>><?php echo $qso->COL_SAT_MODE; ?><?php } ?><sat_name:<?php echo strlen($qso->COL_SAT_NAME); ?>><?php echo $qso->COL_SAT_NAME; ?><?php } ?><?php if($qso->COL_PROP_MODE) { ?><prop_mode:<?php echo strlen($qso->COL_PROP_MODE); ?>><?php echo $qso->COL_PROP_MODE; ?><?php } ?><?php if($qso->COL_NAME) { ?><name:<?php echo strlen($qso->COL_NAME); ?>><?php echo $qso->COL_NAME; ?><?php } ?><?php if($qso->COL_OPERATOR) { ?><operator:<?php echo strlen($qso->COL_OPERATOR); ?>><?php echo $qso->COL_OPERATOR; ?><?php } ?><eor>
 | <call:<?php echo strlen($qso->COL_CALL); ?>><?php echo $qso->COL_CALL; ?><band:<?php echo strlen($qso->COL_BAND); ?>><?php echo $qso->COL_BAND; ?><mode:<?php echo strlen($qso->COL_MODE); ?>><?php echo $qso->COL_MODE; ?><?php if($qso->COL_FREQ != "0") { ?><?php $freq_in_mhz = $qso->COL_FREQ / 1000000; ?><freq:<?php echo strlen($freq_in_mhz); ?>><?php echo $freq_in_mhz; ?><?php } ?><?php $date_on = strtotime($qso->COL_TIME_ON); $new_date = date('Ymd', $date_on); ?><qso_date:<?php echo strlen($new_date); ?>><?php echo $new_date; ?><?php $time_on = strtotime($qso->COL_TIME_ON); $new_on = date('His', $time_on); ?><time_on:<?php echo strlen($new_on); ?>><?php echo $new_on; ?><?php $time_off = strtotime($qso->COL_TIME_OFF); $new_off = date('His', $time_off); ?><time_off:<?php echo strlen($new_off); ?>><?php echo $new_off; ?><rst_rcvd:<?php echo strlen($qso->COL_RST_RCVD); ?>><?php echo $qso->COL_RST_RCVD; ?><rst_sent:<?php echo strlen($qso->COL_RST_SENT); ?>><?php echo $qso->COL_RST_SENT; ?><qsl_rcvd:<?php echo strlen($qso->COL_QSL_RCVD); ?>><?php echo $qso->COL_QSL_RCVD; ?><qsl_sent:<?php echo strlen($qso->COL_QSL_SENT); ?>><?php echo $qso->COL_QSL_SENT; ?><country:<?php echo strlen($qso->COL_COUNTRY); ?>><?php echo $qso->COL_COUNTRY; ?><?php if($qso->COL_VUCC_GRIDS != "") { ?><vucc_grids:<?php echo strlen($qso->COL_VUCC_GRIDS); ?>><?php echo $qso->COL_VUCC_GRIDS; ?><?php } ?><?php if($qso->COL_VUCC_GRIDS == "" && $qso->COL_GRIDSQUARE != "") { ?><gridsquare:<?php echo strlen($qso->COL_GRIDSQUARE); ?>><?php echo $qso->COL_GRIDSQUARE; ?><?php } ?><?php if($qso->COL_SAT_NAME) { ?><?php if($qso->COL_SAT_MODE != 0 || $qso->COL_SAT_MODE !="") {?><sat_mode:<?php echo strlen($qso->COL_SAT_MODE); ?>><?php echo $qso->COL_SAT_MODE; ?><?php } ?><sat_name:<?php echo strlen($qso->COL_SAT_NAME); ?>><?php echo $qso->COL_SAT_NAME; ?><?php } ?><?php if($qso->COL_PROP_MODE) { ?><prop_mode:<?php echo strlen($qso->COL_PROP_MODE); ?>><?php echo $qso->COL_PROP_MODE; ?><?php } ?><?php if($qso->COL_NAME) { ?><name:<?php echo strlen($qso->COL_NAME); ?>><?php echo $qso->COL_NAME; ?><?php } ?><?php if($qso->COL_OPERATOR) { ?><operator:<?php echo strlen($qso->COL_OPERATOR); ?>><?php echo $qso->COL_OPERATOR; ?><?php } ?><eor>
 | ||||||
| 	 |  | ||||||
| <?php } ?>
 | <?php } ?>
 | ||||||
|  | @ -47,12 +47,35 @@ | ||||||
| 	</div> | 	</div> | ||||||
| 
 | 
 | ||||||
|   <div class="card-body"> |   <div class="card-body"> | ||||||
|  |       <form class="form" action="<?php echo site_url('adif/export_custom'); ?>" method="post" enctype="multipart/form-data"> | ||||||
|     <h5 class="card-title">Take your logbook file anywhere!</h5> |     <h5 class="card-title">Take your logbook file anywhere!</h5> | ||||||
|     <p class="card-text">Exporting ADIFs allows you to import contacts into third party applications like LoTW, Awards or just for keeping a backup.</p> |     <p class="card-text">Exporting ADIFs allows you to import contacts into third party applications like LoTW, Awards or just for keeping a backup.</p> | ||||||
| 
 | 
 | ||||||
|  |           <p class="card-text">From date:</p> | ||||||
|  |           <div class="row"> | ||||||
|  |               <div class="input-group date col-md-3" id="datetimepicker1" data-target-input="nearest"> | ||||||
|  |                   <input name="from" type="text" class="form-control datetimepicker-input" data-target="#datetimepicker1"/> | ||||||
|  |                   <div class="input-group-append" data-target="#datetimepicker1" data-toggle="datetimepicker"> | ||||||
|  |                       <div class="input-group-text"><i class="fa fa-calendar"></i></div> | ||||||
|  |                   </div> | ||||||
|  |               </div> | ||||||
|  |           </div> | ||||||
|  |           <p class="card-text">To date:</p> | ||||||
|  |           <div class="row"> | ||||||
| 
 | 
 | ||||||
|     <a href="<?php echo site_url('adif/exportall'); ?>" title="Export All" target="_blank" class="btn btn-outline-secondary btn-sm">Export All QSOs</a> |           <div class="input-group date col-md-3" id="datetimepicker2" data-target-input="nearest"> | ||||||
|  |               <input name="to" "totype="text" class="form-control datetimepicker-input" data-target="#datetimepicker2"/>
 | ||||||
|  |               <div class="input-group-append" data-target="#datetimepicker2" data-toggle="datetimepicker"> | ||||||
|  |                   <div class="input-group-text"><i class="fa fa-calendar"></i></div> | ||||||
|  |               </div> | ||||||
|  |           </div> | ||||||
|  |           </div> | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     <br> | ||||||
|  |     <button type="submit" class="btn btn-outline-secondary btn-sm" value="Export">Export QSOs</button> | ||||||
|  |       </form> | ||||||
|     <br><br> |     <br><br> | ||||||
| 
 | 
 | ||||||
|     <h6>Export Satellite Only QSOs</h6> |     <h6>Export Satellite Only QSOs</h6> | ||||||
|  | @ -64,3 +87,4 @@ | ||||||
| 
 | 
 | ||||||
| </div> | </div> | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|  |  | ||||||
|  | @ -9,6 +9,24 @@ | ||||||
|     <script type="text/javascript" src="<?php echo base_url(); ?>assets/js/leaflet/leaflet.js"></script> |     <script type="text/javascript" src="<?php echo base_url(); ?>assets/js/leaflet/leaflet.js"></script> | ||||||
|     <script type="text/javascript" src="<?php echo base_url() ;?>assets/js/radiohelpers.js"></script> |     <script type="text/javascript" src="<?php echo base_url() ;?>assets/js/radiohelpers.js"></script> | ||||||
| 
 | 
 | ||||||
|  |     <?php if ($this->uri->segment(1) == "adif") { ?>
 | ||||||
|  |         <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script> | ||||||
|  |         <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/tempusdominus-bootstrap-4/5.0.1/js/tempusdominus-bootstrap-4.min.js"></script> | ||||||
|  |         <script type="text/javascript"> | ||||||
|  |             $(function () { | ||||||
|  |                 $('#datetimepicker1').datetimepicker({ | ||||||
|  |                     format: 'DD/MM/YYYY', | ||||||
|  |                 }); | ||||||
|  |             }); | ||||||
|  | 
 | ||||||
|  |             $(function () { | ||||||
|  |                 $('#datetimepicker2').datetimepicker({ | ||||||
|  |                     format: 'DD/MM/YYYY', | ||||||
|  |                 }); | ||||||
|  |             }); | ||||||
|  |         </script> | ||||||
|  |     <?php } ?>
 | ||||||
|  | 
 | ||||||
| <?php if ($this->uri->segment(1) == "notes" && ($this->uri->segment(2) == "add" || $this->uri->segment(2) == "edit") ) { ?>
 | <?php if ($this->uri->segment(1) == "notes" && ($this->uri->segment(2) == "add" || $this->uri->segment(2) == "edit") ) { ?>
 | ||||||
|     <script src="<?php echo base_url() ;?>assets/plugins/quill/quill.min.js"></script> |     <script src="<?php echo base_url() ;?>assets/plugins/quill/quill.min.js"></script> | ||||||
|      |      | ||||||
|  |  | ||||||
|  | @ -27,7 +27,9 @@ | ||||||
| <?php if ($this->uri->segment(1) == "qso") { ?>
 | <?php if ($this->uri->segment(1) == "qso") { ?>
 | ||||||
| <link rel="stylesheet" type="text/css" href="<?php echo base_url(); ?>assets/plugins/select2/css/select2.min.css" /> | <link rel="stylesheet" type="text/css" href="<?php echo base_url(); ?>assets/plugins/select2/css/select2.min.css" /> | ||||||
| <?php } ?>
 | <?php } ?>
 | ||||||
| 	 |   <?php if ($this->uri->segment(1) == "adif") { ?>
 | ||||||
|  |   <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/tempusdominus-bootstrap-4/5.0.1/css/tempusdominus-bootstrap-4.min.css" /> | ||||||
|  |   <?php } ?>
 | ||||||
|     <link rel="icon" href="<?php echo base_url(); ?>/favicon.ico"> |     <link rel="icon" href="<?php echo base_url(); ?>/favicon.ico"> | ||||||
| 
 | 
 | ||||||
|     <title><?php if(isset($page_title)) { echo $page_title; } ?> - Cloudlog</title>
 |     <title><?php if(isset($page_title)) { echo $page_title; } ?> - Cloudlog</title>
 | ||||||
|  |  | ||||||
|  | @ -44,6 +44,7 @@ | ||||||
| 					<th></th> | 					<th></th> | ||||||
| 					<th scope="col"></th> | 					<th scope="col"></th> | ||||||
| 					<th scope="col"></th> | 					<th scope="col"></th> | ||||||
|  |                     <th scope="col"></th> | ||||||
| 				</tr> | 				</tr> | ||||||
| 			</thead> | 			</thead> | ||||||
| 			<tbody> | 			<tbody> | ||||||
|  | @ -69,6 +70,9 @@ | ||||||
| 					<td> | 					<td> | ||||||
| 						<a href="<?php echo site_url('station/edit')."/".$row->station_id; ?>" class="btn btn-info btn-sm"><i class="fas fa-edit-alt"></i> Edit</a> | 						<a href="<?php echo site_url('station/edit')."/".$row->station_id; ?>" class="btn btn-info btn-sm"><i class="fas fa-edit-alt"></i> Edit</a> | ||||||
| 					</td> | 					</td> | ||||||
|  |                     <td> | ||||||
|  |                         <a href="<?php echo site_url('station/deletelog')."/".$row->station_id; ?>" class="btn btn-danger btn-sm" onclick="return confirm('Are you sure you want to delete all QSOs within this station profile?');"><i class="fas fa-trash-alt"></i> Delete log</a></td> | ||||||
|  |                     </td> | ||||||
| 					<td> | 					<td> | ||||||
| 						<a href="<?php echo site_url('station/delete')."/".$row->station_id; ?>" class="btn btn-danger btn-sm" onclick="return confirm('Are you sure you want delete station profile <?php echo $row->station_profile_name; ?> this will delete all QSOs within this station profile?');"><i class="fas fa-trash-alt"></i> Delete</a></td> | 						<a href="<?php echo site_url('station/delete')."/".$row->station_id; ?>" class="btn btn-danger btn-sm" onclick="return confirm('Are you sure you want delete station profile <?php echo $row->station_profile_name; ?> this will delete all QSOs within this station profile?');"><i class="fas fa-trash-alt"></i> Delete</a></td> | ||||||
| 				</tr> | 				</tr> | ||||||
|  |  | ||||||
		正在加载…
	
		在新工单中引用