[Advanced Logbook] Added SOTA, POTA, WWFF searches and refs
这个提交包含在:
		
							父节点
							
								
									878094a5ab
								
							
						
					
					
						当前提交
						6fc021f14c
					
				
					共有  5 个文件被更改,包括 174 次插入 和 77 次删除
				
			
		|  | @ -111,6 +111,10 @@ class Logbookadvanced extends CI_Controller { | ||||||
| 			'lotwReceived' => xss_clean($this->input->post('lotwReceived')), | 			'lotwReceived' => xss_clean($this->input->post('lotwReceived')), | ||||||
| 			'eqslSent' => xss_clean($this->input->post('eqslSent')), | 			'eqslSent' => xss_clean($this->input->post('eqslSent')), | ||||||
| 			'eqslReceived' => xss_clean($this->input->post('eqslReceived')), | 			'eqslReceived' => xss_clean($this->input->post('eqslReceived')), | ||||||
|  | 			'qslvia' => xss_clean($this->input->post('qslvia')), | ||||||
|  | 			'sota' => xss_clean($this->input->post('sota')), | ||||||
|  | 			'pota' => xss_clean($this->input->post('pota')), | ||||||
|  | 			'wwff' => xss_clean($this->input->post('wwff')), | ||||||
| 		); | 		); | ||||||
| 
 | 
 | ||||||
| 		$qsos = []; | 		$qsos = []; | ||||||
|  |  | ||||||
|  | @ -94,6 +94,26 @@ class Logbookadvanced_model extends CI_Model { | ||||||
| 			$binding[] = $searchCriteria['cqzone']; | 			$binding[] = $searchCriteria['cqzone']; | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
|  | 		if ($searchCriteria['qslvia'] !== '') { | ||||||
|  | 			$conditions[] = "COL_QSL_VIA like ?"; | ||||||
|  | 			$binding[] = $searchCriteria['qslvia'].'%'; | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		if ($searchCriteria['sota'] !== '') { | ||||||
|  | 			$conditions[] = "COL_SOTA_REF like ?"; | ||||||
|  | 			$binding[] = $searchCriteria['sota'].'%'; | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		if ($searchCriteria['pota'] !== '') { | ||||||
|  | 			$conditions[] = "COL_POTA_REF like ?"; | ||||||
|  | 			$binding[] = $searchCriteria['pota'].'%'; | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		if ($searchCriteria['wwff'] !== '') { | ||||||
|  | 			$conditions[] = "COL_WWFF_REF like ?"; | ||||||
|  | 			$binding[] = $searchCriteria['wwff'].'%'; | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|         if ($searchCriteria['gridsquare'] !== '') { |         if ($searchCriteria['gridsquare'] !== '') { | ||||||
|                 $conditions[] = "(COL_GRIDSQUARE like ? or COL_VUCC_GRIDS like ?)"; |                 $conditions[] = "(COL_GRIDSQUARE like ? or COL_VUCC_GRIDS like ?)"; | ||||||
|                 $binding[] = '%' . $searchCriteria['gridsquare'] . '%'; |                 $binding[] = '%' . $searchCriteria['gridsquare'] . '%'; | ||||||
|  |  | ||||||
|  | @ -156,6 +156,18 @@ | ||||||
| 					?>
 | 					?>
 | ||||||
| 				</select> | 				</select> | ||||||
| 			</div> | 			</div> | ||||||
|  | 			<div class="form-group col-lg-2 col-md-2 col-sm-3 col-xl"> | ||||||
|  | 				<label class="form-label" for="sota">SOTA</label> | ||||||
|  | 				<input type="text" name="sota" id="sota" class="form-control form-control-sm" value=""> | ||||||
|  | 			</div> | ||||||
|  | 			<div class="form-group col-lg-2 col-md-2 col-sm-3 col-xl"> | ||||||
|  | 				<label class="form-label" for="wwff">WWFF</label> | ||||||
|  | 				<input type="text" name="wwff" id="wwff" class="form-control form-control-sm" value=""> | ||||||
|  | 			</div> | ||||||
|  | 			<div class="form-group col-lg-2 col-md-2 col-sm-3 col-xl"> | ||||||
|  | 				<label class="form-label" for="pota">POTA</label> | ||||||
|  | 				<input type="text" name="pota" id="pota" class="form-control form-control-sm" value=""> | ||||||
|  | 			</div> | ||||||
| 		</div> | 		</div> | ||||||
| 		<div class="form-row"> | 		<div class="form-row"> | ||||||
| 		<div class="form-group col-lg-2 col-md-2 col-sm-3 col-xl"> | 		<div class="form-group col-lg-2 col-md-2 col-sm-3 col-xl"> | ||||||
|  | @ -224,6 +236,17 @@ | ||||||
| 					<option value="V">Verified</option> | 					<option value="V">Verified</option> | ||||||
| 				</select> | 				</select> | ||||||
| 			</div> | 			</div> | ||||||
|  | 			<div class="form-group col-lg-2 col-md-2 col-sm-3 col-xl"> | ||||||
|  | 				<label for="qslvia">QSL Via</label> | ||||||
|  | 				<datalist id="qslvia" name="qslvia"> | ||||||
|  | 					<option value="">All</option> | ||||||
|  | 					<option value="B">Bureau</option> | ||||||
|  | 					<option value="D">Direct</option> | ||||||
|  | 					<option value="E">Electronic</option> | ||||||
|  | 					<option value="M">Manager</option> | ||||||
|  | 				</datalist> | ||||||
|  | 				<input type="search" list="qslvia" name="qslviainput" class="custom-select custom-select-sm"> | ||||||
|  | 			</div> | ||||||
| 		</div> | 		</div> | ||||||
| 	</div> | 	</div> | ||||||
| 
 | 
 | ||||||
|  | @ -257,6 +280,9 @@ | ||||||
| 		<button type="button" class="btn btn-sm btn-primary mr-1" id="searchCqZone">Search CQ Zone</button> | 		<button type="button" class="btn btn-sm btn-primary mr-1" id="searchCqZone">Search CQ Zone</button> | ||||||
| 		<button type="button" class="btn btn-sm btn-primary mr-1" id="searchMode">Search Mode</button> | 		<button type="button" class="btn btn-sm btn-primary mr-1" id="searchMode">Search Mode</button> | ||||||
| 		<button type="button" class="btn btn-sm btn-primary mr-1" id="searchBand">Search Band</button> | 		<button type="button" class="btn btn-sm btn-primary mr-1" id="searchBand">Search Band</button> | ||||||
|  | 		<button type="button" class="btn btn-sm btn-primary mr-1" id="searchSota">Search SOTA</button> | ||||||
|  | 		<button type="button" class="btn btn-sm btn-primary mr-1" id="searchWwff">Search WWFF</button> | ||||||
|  | 		<button type="button" class="btn btn-sm btn-primary mr-1" id="searchPota">Search POTA</button> | ||||||
| 	</div> | 	</div> | ||||||
| 	</div> | 	</div> | ||||||
| </div> | </div> | ||||||
|  |  | ||||||
|  | @ -193,6 +193,10 @@ $(document).ready(function () { | ||||||
| 				lotwReceived: this.lotwReceived.value, | 				lotwReceived: this.lotwReceived.value, | ||||||
| 				eqslSent: this.eqslSent.value, | 				eqslSent: this.eqslSent.value, | ||||||
| 				eqslReceived: this.eqslReceived.value, | 				eqslReceived: this.eqslReceived.value, | ||||||
|  | 				qslvia: $('[name="qslviainput"]').val(), | ||||||
|  | 				sota: this.sota.value, | ||||||
|  | 				pota: this.pota.value, | ||||||
|  | 				wwff: this.wwff.value, | ||||||
| 			}, | 			}, | ||||||
| 			dataType: 'json', | 			dataType: 'json', | ||||||
| 			success: function (data) { | 			success: function (data) { | ||||||
|  | @ -392,6 +396,18 @@ $(document).ready(function () { | ||||||
| 		quickSearch('band'); | 		quickSearch('band'); | ||||||
| 	}); | 	}); | ||||||
| 
 | 
 | ||||||
|  | 	$('#searchSota').click(function (event) { | ||||||
|  | 		quickSearch('sota'); | ||||||
|  | 	}); | ||||||
|  | 
 | ||||||
|  | 	$('#searchWwff').click(function (event) { | ||||||
|  | 		quickSearch('wwff'); | ||||||
|  | 	}); | ||||||
|  | 
 | ||||||
|  | 	$('#searchPota').click(function (event) { | ||||||
|  | 		quickSearch('pota'); | ||||||
|  | 	}); | ||||||
|  | 
 | ||||||
| 	function quickSearch(type) { | 	function quickSearch(type) { | ||||||
| 		var elements = $('#qsoList tbody input:checked'); | 		var elements = $('#qsoList tbody input:checked'); | ||||||
| 		var nElements = elements.length; | 		var nElements = elements.length; | ||||||
|  | @ -427,6 +443,9 @@ $(document).ready(function () { | ||||||
| 				case 'state': var tdoffset = (offset + 17); col1 = currentRow.find("td:eq("+tdoffset+")").text(); break; | 				case 'state': var tdoffset = (offset + 17); col1 = currentRow.find("td:eq("+tdoffset+")").text(); break; | ||||||
| 				case 'dx': col1 = currentRow.find("td:eq(3)").text(); col1 = col1.match(/^([^\s]+)/gm); break; | 				case 'dx': col1 = currentRow.find("td:eq(3)").text(); col1 = col1.match(/^([^\s]+)/gm); break; | ||||||
| 				case 'gridsquare': col1 = $(currentRow).find('#dxgrid').text(); col1 = col1.substring(0, 4); break; | 				case 'gridsquare': col1 = $(currentRow).find('#dxgrid').text(); col1 = col1.substring(0, 4); break; | ||||||
|  | 				case 'sota': col1 = $(currentRow).find('#dxsota').text(); break; | ||||||
|  | 				case 'wwff': col1 = $(currentRow).find('#dxwwff').text(); break; | ||||||
|  | 				case 'pota': col1 = $(currentRow).find('#dxpota').text(); break; | ||||||
| 				case 'mode': col1 = currentRow.find("td:eq(4)").text(); break; | 				case 'mode': col1 = currentRow.find("td:eq(4)").text(); break; | ||||||
| 				case 'band': col1 = currentRow.find("td:eq(7)").text(); col1 = col1.match(/\S\w*/); break; | 				case 'band': col1 = currentRow.find("td:eq(7)").text(); col1 = col1.match(/\S\w*/); break; | ||||||
| 			} | 			} | ||||||
|  |  | ||||||
|  | @ -45,6 +45,8 @@ class QSO | ||||||
| 	private string $dxSigInfo; | 	private string $dxSigInfo; | ||||||
| 	private string $dxDARCDOK; | 	private string $dxDARCDOK; | ||||||
| 	private string $dxSOTAReference; | 	private string $dxSOTAReference; | ||||||
|  | 	private string $dxPOTAReference; | ||||||
|  | 	private string $dxWWFFReference; | ||||||
| 	/** @var string[] */ | 	/** @var string[] */ | ||||||
| 	private string $dxVUCCGridsquares; | 	private string $dxVUCCGridsquares; | ||||||
| 	private string $QSLMsg; | 	private string $QSLMsg; | ||||||
|  | @ -107,6 +109,8 @@ class QSO | ||||||
| 			'COL_MY_SOTA_REF', | 			'COL_MY_SOTA_REF', | ||||||
| 			'COL_MY_VUCC_GRIDS', | 			'COL_MY_VUCC_GRIDS', | ||||||
| 			'COL_SOTA_REF', | 			'COL_SOTA_REF', | ||||||
|  | 			'COL_POTA_REF', | ||||||
|  | 			'COL_WWFF_REF', | ||||||
| 			'COL_SUBMODE', | 			'COL_SUBMODE', | ||||||
| 			'COL_VUCC_GRIDS', | 			'COL_VUCC_GRIDS', | ||||||
| 			'COL_CQZ', | 			'COL_CQZ', | ||||||
|  | @ -171,6 +175,8 @@ class QSO | ||||||
| 		$this->dxDARCDOK = $data['COL_DARC_DOK'] ?? ''; | 		$this->dxDARCDOK = $data['COL_DARC_DOK'] ?? ''; | ||||||
| 
 | 
 | ||||||
| 		$this->dxSOTAReference = $data['COL_SOTA_REF'] ?? ''; | 		$this->dxSOTAReference = $data['COL_SOTA_REF'] ?? ''; | ||||||
|  | 		$this->dxPOTAReference = $data['COL_POTA_REF'] ?? ''; | ||||||
|  | 		$this->dxWWFFReference = $data['COL_WWFF_REF'] ?? ''; | ||||||
| 
 | 
 | ||||||
| 		$this->dxVUCCGridsquares = $data['COL_VUCC_GRIDS'] ?? ''; | 		$this->dxVUCCGridsquares = $data['COL_VUCC_GRIDS'] ?? ''; | ||||||
| 
 | 
 | ||||||
|  | @ -637,6 +643,22 @@ class QSO | ||||||
| 		return $this->dxSOTAReference; | 		return $this->dxSOTAReference; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | 	/** | ||||||
|  | 	 * @return string | ||||||
|  | 	 */ | ||||||
|  | 	public function getDxPOTAReference(): string | ||||||
|  | 	{ | ||||||
|  | 		return $this->dxPOTAReference; | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	/** | ||||||
|  | 	 * @return string | ||||||
|  | 	 */ | ||||||
|  | 	public function getWWFFReference(): string | ||||||
|  | 	{ | ||||||
|  | 		return $this->dxWWFFReference; | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
| 	/** | 	/** | ||||||
| 	 * @return string[] | 	 * @return string[] | ||||||
| 	 */ | 	 */ | ||||||
|  | @ -846,7 +868,13 @@ class QSO | ||||||
| 			$refs[] = '<span id="dxgrid">' . $this->dxGridsquare . '</span> ' .$this->getQrbLink($this->stationGridsquare, $this->dxVUCCGridsquares, $this->dxGridsquare); | 			$refs[] = '<span id="dxgrid">' . $this->dxGridsquare . '</span> ' .$this->getQrbLink($this->stationGridsquare, $this->dxVUCCGridsquares, $this->dxGridsquare); | ||||||
| 		} | 		} | ||||||
| 		if ($this->dxSOTAReference !== '') { | 		if ($this->dxSOTAReference !== '') { | ||||||
| 			$refs[] = "SOTA:" . $this->dxSOTAReference; | 			$refs[] = "SOTA: " . '<span id="dxsota">' . $this->dxSOTAReference. '</span>'; | ||||||
|  | 		} | ||||||
|  | 		if ($this->dxPOTAReference !== '') { | ||||||
|  | 			$refs[] = "POTA: " . '<span id="dxpota">' . $this->dxPOTAReference. '</span>'; | ||||||
|  | 		} | ||||||
|  | 		if ($this->dxWWFFReference !== '') { | ||||||
|  | 			$refs[] = "WWFF: " . '<span id="dxwwff">' . $this->dxWWFFReference. '</span>'; | ||||||
| 		} | 		} | ||||||
| 		if ($this->dxSig !== '') { | 		if ($this->dxSig !== '') { | ||||||
| 			$refs[] = $this->dxSig . ":" . $this->dxSigInfo; | 			$refs[] = $this->dxSig . ":" . $this->dxSigInfo; | ||||||
|  |  | ||||||
		正在加载…
	
		在新工单中引用