Merge pull request #1 from magicbug/master

merge with origin
这个提交包含在:
Kim - DG9VH 2019-06-14 09:07:32 +02:00 提交者 GitHub
当前提交 fad58f6bff
找不到此签名对应的密钥
GPG 密钥 ID: 4AEE18F83AFDEB23
共有 13 个文件被更改,包括 299 次插入114 次删除

查看文件

@ -70,7 +70,7 @@ class Logbook extends CI_Controller {
"workedBefore" => false "workedBefore" => false
]; ];
$return['dxcc'] = $this->find_dxcc($callsign); $return['dxcc'] = $this->dxcheck($callsign);
$return['partial'] = $this->partial($callsign); $return['partial'] = $this->partial($callsign);
// Do we have local data for the Callsign? // Do we have local data for the Callsign?
@ -82,6 +82,11 @@ class Logbook extends CI_Controller {
$return['callsign_iota'] = $this->logbook_model->call_iota($callsign); $return['callsign_iota'] = $this->logbook_model->call_iota($callsign);
$return['bearing'] = $this->bearing($return['callsign_qra']); $return['bearing'] = $this->bearing($return['callsign_qra']);
$return['workedBefore'] = $this->worked_grid_before($return['callsign_qra']); $return['workedBefore'] = $this->worked_grid_before($return['callsign_qra']);
if ($return['callsign_qra'] != "") {
$return['latlng'] = $this->qralatlng($return['callsign_qra']);
}
echo json_encode($return, JSON_PRETTY_PRINT); echo json_encode($return, JSON_PRETTY_PRINT);
return; return;
} }
@ -118,6 +123,9 @@ class Logbook extends CI_Controller {
$return['callsign_qra'] = $callbook['gridsquare']; $return['callsign_qra'] = $callbook['gridsquare'];
$return['callsign_qth'] = $callbook['city']; $return['callsign_qth'] = $callbook['city'];
$return['callsign_iota'] = $callbook['iota']; $return['callsign_iota'] = $callbook['iota'];
if ($return['callsign_qra'] != "") {
$return['latlng'] = $this->qralatlng($return['callsign_qra']);
}
$return['workedBefore'] = $this->worked_grid_before($return['callsign_qra']); $return['workedBefore'] = $this->worked_grid_before($return['callsign_qra']);
} }
$return['bearing'] = $this->bearing($return['callsign_qra']); $return['bearing'] = $this->bearing($return['callsign_qra']);
@ -343,6 +351,15 @@ class Logbook extends CI_Controller {
print json_encode($ans); print json_encode($ans);
} }
function dxcheck($call = "", $date = "") {
$this->load->model("logbook_model");
if ($date == ''){
$date = date("Y-m-d");
}
$ans = $this->logbook_model->dxcc_lookup($call, $date);
return $ans;
}
/* return station bearing */ /* return station bearing */
function searchbearing($locator) { function searchbearing($locator) {
@ -385,4 +402,16 @@ class Logbook extends CI_Controller {
} }
return ""; return "";
} }
function qralatlng($qra) {
$this->load->library('Qra');
$latlng = $this->qra->qra2latlong($qra);
return $latlng;
}
function qralatlngjson($qra) {
$this->load->library('Qra');
$latlng = $this->qra->qra2latlong($qra);
print json_encode($latlng);
}
} }

查看文件

@ -99,9 +99,7 @@ class QSO extends CI_Controller {
if ($this->form_validation->run() == FALSE) if ($this->form_validation->run() == FALSE)
{ {
$this->load->view('layout/mini_header', $data); $this->load->view('qso/edit', $data);
$this->load->view('qso/edit');
$this->load->view('layout/mini_footer');
} }
else else
{ {

查看文件

@ -50,7 +50,7 @@
} }
$phpdate = strtotime($row->timestamp); $phpdate = strtotime($row->timestamp);
echo "<td>".date('H:i:s d-m-y', $phpdate)."</td>" ; echo "<td>".date('H:i:s d-m-y', $phpdate)."</td>" ;
echo "<td><a href=\"".site_url('radio/delete')."/".$row->id."\" ><img src=\"".base_url()."/images/delete.png\" width=\"16\" height=\"16\" alt=\"Delete\" /></a></td>" ; echo "<td><a href=\"".site_url('radio/delete')."/".$row->id."\" class=\"btn btn-danger\"> <i class=\"fas fa-trash-alt\"></i> Delete</a></td>" ;
echo "</tr>"; echo "</tr>";
} }
} else { } else {

查看文件

@ -80,6 +80,7 @@ class Logbook_model extends CI_Model {
'COL_LON' => null, 'COL_LON' => null,
'COL_DXCC' => $this->input->post('dxcc_id'), 'COL_DXCC' => $this->input->post('dxcc_id'),
'COL_CQZ' => $this->input->post('cqz'), 'COL_CQZ' => $this->input->post('cqz'),
'COL_SOTA_REF' => trim($this->input->post('sota_ref')),
); );
if (strpos(trim($this->input->post('locator')), ',') !== false) { if (strpos(trim($this->input->post('locator')), ',') !== false) {
@ -161,6 +162,7 @@ class Logbook_model extends CI_Model {
'COL_LON' => null, 'COL_LON' => null,
'COL_DXCC' => $this->input->post('dxcc_id'), 'COL_DXCC' => $this->input->post('dxcc_id'),
'COL_CQZ' => $this->input->post('cqz'), 'COL_CQZ' => $this->input->post('cqz'),
'COL_SOTA_REF' => trim($this->input->post('sota_ref')),
); );
// If station profile has been provided fill in the fields // If station profile has been provided fill in the fields
@ -253,11 +255,13 @@ class Logbook_model extends CI_Model {
'COL_LOTW_QSL_SENT' => $this->input->post('lotw_sent'), 'COL_LOTW_QSL_SENT' => $this->input->post('lotw_sent'),
'COL_LOTW_QSL_RCVD' => $this->input->post('lotw_recv'), 'COL_LOTW_QSL_RCVD' => $this->input->post('lotw_recv'),
'COL_IOTA' => $this->input->post('iota_ref'), 'COL_IOTA' => $this->input->post('iota_ref'),
'COL_SOTA_REF' => $this->input->post('sota_ref'),
'COL_QTH' => $this->input->post('qth'), 'COL_QTH' => $this->input->post('qth'),
'COL_PROP_MODE' => $this->input->post('prop_mode'), 'COL_PROP_MODE' => $this->input->post('prop_mode'),
'COL_FREQ_RX' => $this->parse_frequency($this->input->post('freq_display_rx')), 'COL_FREQ_RX' => $this->parse_frequency($this->input->post('freq_display_rx')),
'COL_STX_STRING' => $this->input->post('stx_string'), 'COL_STX_STRING' => $this->input->post('stx_string'),
'COL_SRX_STRING' => $this->input->post('srx_string') 'COL_SRX_STRING' => $this->input->post('srx_string'),
'COL_QSL_VIA' => $this->input->post('qsl_via_callsign')
); );
$this->db->where('COL_PRIMARY_KEY', $this->input->post('id')); $this->db->where('COL_PRIMARY_KEY', $this->input->post('id'));
@ -1083,6 +1087,34 @@ class Logbook_model extends CI_Model {
return array("Not Found", "Not Found"); return array("Not Found", "Not Found");
} }
public function dxcc_lookup($call, $date){
$len = strlen($call);
// query the table, removing a character from the right until a match
for ($i = $len; $i > 0; $i--){
//printf("searching for %s\n", substr($call, 0, $i));
$dxcc_result = $this->db->select('*')
->where('call', substr($call, 0, $i))
->where('(start <= ', $date)
->or_where("start = '0000-00-00'", NULL, false)
->or_where("start is null)", NULL, false)
->where('(end >= ', $date)
->or_where("end = '0000-00-00'", NULL, false)
->or_where("end is null)", NULL, false)
->get('dxcc_prefixes');
//$dxcc_result = $this->db->query("select `call`, `entity`, `adif` from dxcc_prefixes where `call` = '".substr($call, 0, $i) ."'");
//print $this->db->last_query();
if ($dxcc_result->num_rows() > 0){
$row = $dxcc_result->row_array();
return $row;
}
}
return array("Not Found", "Not Found");
}
/* /*
* Same as check_dxcc_table, but the functionality is in * Same as check_dxcc_table, but the functionality is in
* a stored procedure which we call * a stored procedure which we call

查看文件

@ -8,8 +8,8 @@ class Sota extends CI_Model {
} }
function get_all() { function get_all() {
$this->db->order_by("COL_COMMENT", "ASC"); $this->db->order_by("COL_SOTA_REF", "ASC");
$this->db->like('COL_COMMENT', 'SOTA:'); $this->db->where('COL_SOTA_REF !=', '');
return $this->db->get($this->config->item('table_name')); return $this->db->get($this->config->item('table_name'));
} }

查看文件

@ -43,7 +43,7 @@
?> ?>
</td> </td>
<td><span class="btn btn-outline-primary btn-sm"><?php echo ucfirst($row->status); ?></span> <a href="<?php echo site_url('/api/validate/?key='.$row->key); ?>" class="btn btn-success btn-sm">Test</td> <td><span class="badge badge-pill badge-light"><?php echo ucfirst($row->status); ?></span> <a href="<?php echo site_url('api/auth/'.$row->key); ?>" target="_blank" class="btn btn-primary btn-sm">Test</td>
</tr> </tr>
<?php } ?> <?php } ?>

查看文件

@ -36,7 +36,7 @@
if ($count == 0){ if ($count == 0){
print("<td>&nbsp;</td>"); print("<td>&nbsp;</td>");
}else{ }else{
printf("<td><a href='dxcc_details?Country=\"%s\"&Band=\"%s\"'>%d</a></td>", $country, $band, $count); printf("<td><a href='dxcc_details?Country=\"%s\"&Band=\"%s\"'>%d</a></td>", str_replace("&", "%26", $country), $band, $count);
} }
} }
print("</tr>"); print("</tr>");

查看文件

@ -24,15 +24,7 @@
<tr> <tr>
<td> <td>
<?php <?php echo $row->COL_SOTA_REF; ?>
$pieces = explode(" ", $row->COL_COMMENT);
foreach($pieces as $val) {
if (strpos($val,'SOTA:') !== false) {
//echo $val;
echo $rest = substr($val, 5); // returns "cde"
}
}
?>
</td> </td>
<td><?php $timestamp = strtotime($row->COL_TIME_ON); echo date('d/m/y', $timestamp); ?> - <?php $timestamp = strtotime($row->COL_TIME_ON); echo date('H:i', $timestamp); ?></td> <td><?php $timestamp = strtotime($row->COL_TIME_ON); echo date('d/m/y', $timestamp); ?> - <?php $timestamp = strtotime($row->COL_TIME_ON); echo date('H:i', $timestamp); ?></td>
<td><?php echo $row->COL_CALL; ?></td> <td><?php echo $row->COL_CALL; ?></td>

查看文件

@ -110,12 +110,26 @@ $(document).ready(function(){
<?php } ?> <?php } ?>
<?php if ($this->uri->segment(1) == "qso") { ?> <?php if ($this->uri->segment(1) == "qso") { ?>
<script>
var markers = L.layerGroup();
var mymap = L.map('qsomap').setView([51.505, -0.09], 13);
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
maxZoom: 18,
attribution: 'Map data &copy; <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, ' +
'<a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, ' +
'Created by Cloudlog',
id: 'mapbox.streets'
}).addTo(mymap);
</script>
<script type="text/javascript"> <script type="text/javascript">
var manual = <?php echo $_GET['manual']; ?>; var manual = <?php echo $_GET['manual']; ?>;
console.log(manual);
$(document).ready(function() { $(document).ready(function() {
/* On Page Load */ /* On Page Load */
@ -197,6 +211,8 @@ $(document).ready(function(){
$('#iota_ref').val(""); $('#iota_ref').val("");
$("#locator").removeClass("workedGrid"); $("#locator").removeClass("workedGrid");
$("#locator").removeClass("newGrid"); $("#locator").removeClass("newGrid");
mymap.setView([51.505, -0.09], 13);
mymap.removeLayer(markers);
} }
}); });
}); });
@ -208,10 +224,25 @@ $(document).ready(function(){
$.getJSON('logbook/json/' + $(this).val(), function(result) $.getJSON('logbook/json/' + $(this).val(), function(result)
{ {
//$('#country').val(result); //$('#country').val(result);
$('#country').val(convert_case(result.dxcc.Name)); $('#country').val(convert_case(result.dxcc.entity));
$('#callsign_info').text(convert_case(result.dxcc.Name)); $('#callsign_info').text(convert_case(result.dxcc.entity));
$('#dxcc_id').val(result.dxcc.DXCC); $('#dxcc_id').val(result.dxcc.adif);
$('#cqz').val(result.dxcc.CQZ); $('#cqz').val(result.dxcc.cqz);
// Set Map to Lat/Long
markers.clearLayers();
if (typeof result.latlng !== "undefined") {
console.log("defined!");
var marker = L.marker([result.latlng[0], result.latlng[1]]);
mymap.setView([result.latlng[0], result.latlng[1]], 8);
} else {
var marker = L.marker([result.dxcc.lat, result.dxcc.long]);
mymap.setView([result.dxcc.lat, result.dxcc.long], 8);
}
markers.addLayer(marker).addTo(mymap);
/* Find Locator if the field is empty */ /* Find Locator if the field is empty */
if($('#locator').val() == "") { if($('#locator').val() == "") {
@ -301,6 +332,22 @@ $(document).ready(function(){
/* On Key up Calculate Bearing and Distance */ /* On Key up Calculate Bearing and Distance */
$("#locator").keyup(function(){ $("#locator").keyup(function(){
if ($(this).val()) { if ($(this).val()) {
$.getJSON('logbook/qralatlngjson/' + $(this).val(), function(result)
{
console.log(result[0]);
// Set Map to Lat/Long
markers.clearLayers();
if (typeof result !== "undefined") {
console.log("defined!");
var marker = L.marker([result[0], result[1]]);
mymap.setView([result[0], result[1]], 8);
}
markers.addLayer(marker).addTo(mymap);
})
$('#locator_info').load("logbook/searchbearing/" + $(this).val()).fadeIn("slow"); $('#locator_info').load("logbook/searchbearing/" + $(this).val()).fadeIn("slow");
} }
}); });

查看文件

@ -1,28 +1,28 @@
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head> <head>
<!-- JS --> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<script type="text/javascript" src="<?php echo base_url(); ?>js/jquery-1.5.1.min.js"></script>
<script type="text/javascript" src="<?php echo base_url(); ?>js/jquery-ui-1.8.12.custom.min.js"></script>
<script type="text/javascript" src="<?php echo base_url(); ?>js/bootstrap-dropdown.js"></script>
<script type="text/javascript" src="<?php echo base_url(); ?>js/bootstrap-tabs.js"></script>
<script type="text/javascript"> <!-- Bootstrap CSS -->
$(function () { <link rel="stylesheet" href="<?php echo base_url(); ?>assets/css/bootstrap.min.css">
$('.tabs').tabs() <link rel="stylesheet" href="<?php echo base_url(); ?>assets/fontawesome/css/all.css">
})
</script> <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.css" />
<link rel="stylesheet" href="<?php echo base_url(); ?>assets/css/general.css">
<script src="<?php echo base_url(); ?>assets/js/jquery-3.3.1.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/gh/fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.js"></script>
<script src="<?php echo base_url(); ?>assets/js/bootstrap.min.js"></script>
<!-- CSS Files -->
<link type="text/css" href="<?php echo base_url(); ?>css/flick/jquery-ui-1.8.12.custom.css" rel="stylesheet" />
<link rel="stylesheet" href="<?php echo base_url();?>css/bootcamp/bootstrap.css" type="text/css" />
</head> </head>
<body> <body class="qso-edit-box">
<!-- Option to Delete QSO --> <!-- Option to Delete QSO -->
<div style="float: right; padding-right: 60px; padding-top: 30px;"> <div style="float: right; padding-right: 60px; padding-top: 30px;">
<p><a href="<?php echo site_url('qso/delete'); ?>/<?php echo $COL_PRIMARY_KEY; ?>" >Delete QSO <img src="<?php echo base_url(); ?>/images/delete.png" width="16" height="16" alt="Delete" /></a></p> <p><a class="btn btn-danger" href="<?php echo site_url('qso/delete'); ?>/<?php echo $COL_PRIMARY_KEY; ?>" ><i class="fas fa-trash-alt"></i> Delete QSO</a></p>
</div> </div>
<?php echo validation_errors(); ?> <?php echo validation_errors(); ?>
@ -143,6 +143,11 @@
<td><input type="text" name="iota_ref" value="<?php echo $COL_IOTA; ?>" /></td> <td><input type="text" name="iota_ref" value="<?php echo $COL_IOTA; ?>" /></td>
</tr> </tr>
<tr>
<td>SOTA</td>
<td><input type="text" name="sota_ref" value="<?php echo $COL_SOTA_REF; ?>" /></td>
</tr>
<tr> <tr>
<td>Country</td> <td>Country</td>
<td><input type="text" name="country" value="<?php echo $COL_COUNTRY; ?>" /></td> <td><input type="text" name="country" value="<?php echo $COL_COUNTRY; ?>" /></td>
@ -152,102 +157,132 @@
<h3>QSLing</h3> <h3>QSLing</h3>
<ul class="tabs"> <ul class="nav nav-tabs" id="myTab" role="tablist">
<li class="active"><a href="#paper">Paper</a></li> <li class="nav-item">
<li><a href="#eqsl">eQSL</a></li> <a class="nav-link active" id="home-tab" data-toggle="tab" href="#home" role="tab" aria-controls="home" aria-selected="true">QSL Card</a>
<li><a href="#lotw">LoTW</a></li> </li>
</ul> <li class="nav-item">
<a class="nav-link" id="profile-tab" data-toggle="tab" href="#profile" role="tab" aria-controls="profile" aria-selected="false">eQSL</a>
<div class="pill-content"> </li>
<div class="active" id="paper"> <li class="nav-item">
<table> <a class="nav-link" id="contact-tab" data-toggle="tab" href="#contact" role="tab" aria-controls="contact" aria-selected="false">LOTW</a>
<tr> </li>
<td>Sent</td> </ul>
<td><select name="qsl_sent"> <div class="tab-content" id="myTabContent">
<div class="tab-pane fade show active" id="home" role="tabpanel" aria-labelledby="home-tab">
<div class="form-group row">
<label for="sent" class="col-sm-3 col-form-label">Sent</label>
<div class="col-sm-9">
<select class="custom-select" name="qsl_sent">
<option value="N" <?php if($COL_QSL_SENT == "N") { echo "selected=\"selected\""; } ?>>No</option> <option value="N" <?php if($COL_QSL_SENT == "N") { echo "selected=\"selected\""; } ?>>No</option>
<option value="Y" <?php if($COL_QSL_SENT == "Y") { echo "selected=\"selected\""; } ?>>Yes</option> <option value="Y" <?php if($COL_QSL_SENT == "Y") { echo "selected=\"selected\""; } ?>>Yes</option>
<option value="R" <?php if($COL_QSL_SENT == "R") { echo "selected=\"selected\""; } ?>>Requested</option> <option value="R" <?php if($COL_QSL_SENT == "R") { echo "selected=\"selected\""; } ?>>Requested</option>
<option value="Q" <?php if($COL_QSL_SENT == "Q") { echo "selected=\"selected\""; } ?>>Queued</option> <option value="Q" <?php if($COL_QSL_SENT == "Q") { echo "selected=\"selected\""; } ?>>Queued</option>
<option value="I" <?php if($COL_QSL_SENT == "I") { echo "selected=\"selected\""; } ?>>Invalid (Ignore)</option> <option value="I" <?php if($COL_QSL_SENT == "I") { echo "selected=\"selected\""; } ?>>Invalid (Ignore)</option>
</select></td> </select>
<td>Recv</td> </div>
<td><select name="qsl_recv"> </div>
<option value="N" <?php if($COL_QSL_RCVD == "N") { echo "selected=\"selected\""; } ?>>No</option>
<option value="Y" <?php if($COL_QSL_RCVD == "Y") { echo "selected=\"selected\""; } ?>>Yes</option>
<option value="R" <?php if($COL_QSL_RCVD == "R") { echo "selected=\"selected\""; } ?>>Requested</option>
<option value="Q" <?php if($COL_QSL_RCVD == "I") { echo "selected=\"selected\""; } ?>>Invalid (Ignore)</option>
<option value="I" <?php if($COL_QSL_RCVD == "V") { echo "selected=\"selected\""; } ?>>Verified (Match)</option>
</select></td>
</tr>
<tr>
<td></td>
<!-- <?php if($COL_QSL_SENT_VIA == "") { echo "selected=\"selected\""; } ?> --> <div class="form-group row">
<label for="sent-method" class="col-sm-3 col-form-label">Sent Method</label>
<td><select name="qsl_sent_method"> <div class="col-sm-9">
<select class="custom-select" name="qsl_sent_method">
<option value="" <?php if($COL_QSL_SENT_VIA == "") { echo "selected=\"selected\""; } ?>>Method</option> <option value="" <?php if($COL_QSL_SENT_VIA == "") { echo "selected=\"selected\""; } ?>>Method</option>
<option value="D" <?php if($COL_QSL_SENT_VIA == "D") { echo "selected=\"selected\""; } ?>>Direct</option> <option value="D" <?php if($COL_QSL_SENT_VIA == "D") { echo "selected=\"selected\""; } ?>>Direct</option>
<option value="B" <?php if($COL_QSL_SENT_VIA == "B") { echo "selected=\"selected\""; } ?>>Bureau</option> <option value="B" <?php if($COL_QSL_SENT_VIA == "B") { echo "selected=\"selected\""; } ?>>Bureau</option>
<option value="E" <?php if($COL_QSL_SENT_VIA == "E") { echo "selected=\"selected\""; } ?>>Electronic</option> <option value="E" <?php if($COL_QSL_SENT_VIA == "E") { echo "selected=\"selected\""; } ?>>Electronic</option>
<option value="M" <?php if($COL_QSL_SENT_VIA == "M") { echo "selected=\"selected\""; } ?>>Manager</option> <option value="M" <?php if($COL_QSL_SENT_VIA == "M") { echo "selected=\"selected\""; } ?>>Manager</option>
</select></td> </select>
<td></td> </div>
<td><select name="qsl_recv_method"> </div>
<div class="form-group row">
<label for="qsl-via" class="col-sm-2 col-form-label">Sent Via</label>
<div class="col-sm-10">
<input type="text" id="qsl-via" class="form-control" name="qsl_via_callsign" value="<?php echo $COL_QSL_VIA; ?>" />
</div>
</div>
<div class="form-group row">
<label for="sent-method" class="col-sm-3 col-form-label">Received</label>
<div class="col-sm-9">
<select class="custom-select" name="qsl_recv">
<option value="N" <?php if($COL_QSL_RCVD == "N") { echo "selected=\"selected\""; } ?>>No</option>
<option value="Y" <?php if($COL_QSL_RCVD == "Y") { echo "selected=\"selected\""; } ?>>Yes</option>
<option value="R" <?php if($COL_QSL_RCVD == "R") { echo "selected=\"selected\""; } ?>>Requested</option>
<option value="Q" <?php if($COL_QSL_RCVD == "I") { echo "selected=\"selected\""; } ?>>Invalid (Ignore)</option>
<option value="I" <?php if($COL_QSL_RCVD == "V") { echo "selected=\"selected\""; } ?>>Verified (Match)</option>
</select>
</div>
</div>
<div class="form-group row">
<label for="sent-method" class="col-sm-3 col-form-label">Received Method</label>
<div class="col-sm-9">
<select class="custom-select" name="qsl_recv_method">
<option value="" <?php if($COL_QSL_RCVD_VIA == "") { echo "selected=\"selected\""; } ?>>Method</option> <option value="" <?php if($COL_QSL_RCVD_VIA == "") { echo "selected=\"selected\""; } ?>>Method</option>
<option value="D" <?php if($COL_QSL_RCVD_VIA == "D") { echo "selected=\"selected\""; } ?>>Direct</option> <option value="D" <?php if($COL_QSL_RCVD_VIA == "D") { echo "selected=\"selected\""; } ?>>Direct</option>
<option value="B" <?php if($COL_QSL_RCVD_VIA == "B") { echo "selected=\"selected\""; } ?>>Bureau</option> <option value="B" <?php if($COL_QSL_RCVD_VIA == "B") { echo "selected=\"selected\""; } ?>>Bureau</option>
<option value="E" <?php if($COL_QSL_RCVD_VIA == "E") { echo "selected=\"selected\""; } ?>>Electronic</option> <option value="E" <?php if($COL_QSL_RCVD_VIA == "E") { echo "selected=\"selected\""; } ?>>Electronic</option>
<option value="M" <?php if($COL_QSL_RCVD_VIA == "M") { echo "selected=\"selected\""; } ?>>Manager</option> <option value="M" <?php if($COL_QSL_RCVD_VIA == "M") { echo "selected=\"selected\""; } ?>>Manager</option>
</select></td> </select>
</tr> </div>
</table> </div>
</div>
</div> <div class="tab-pane fade" id="profile" role="tabpanel" aria-labelledby="profile-tab">
<div id="eqsl"> <div class="form-group row">
<table> <label for="sent" class="col-sm-3 col-form-label">Sent</label>
<tr> <div class="col-sm-9">
<td>Sent</td> <select class="custom-select" name="eqsl_sent">
<td><select name="eqsl_sent">
<option value="N" <?php if($COL_EQSL_QSL_SENT == "N") { echo "selected=\"selected\""; } ?>>No</option> <option value="N" <?php if($COL_EQSL_QSL_SENT == "N") { echo "selected=\"selected\""; } ?>>No</option>
<option value="Y" <?php if($COL_EQSL_QSL_SENT == "Y") { echo "selected=\"selected\""; } ?>>Yes</option> <option value="Y" <?php if($COL_EQSL_QSL_SENT == "Y") { echo "selected=\"selected\""; } ?>>Yes</option>
<option value="R" <?php if($COL_EQSL_QSL_SENT == "R") { echo "selected=\"selected\""; } ?>>Requested</option> <option value="R" <?php if($COL_EQSL_QSL_SENT == "R") { echo "selected=\"selected\""; } ?>>Requested</option>
<option value="Q" <?php if($COL_EQSL_QSL_SENT == "Q") { echo "selected=\"selected\""; } ?>>Queued</option> <option value="Q" <?php if($COL_EQSL_QSL_SENT == "Q") { echo "selected=\"selected\""; } ?>>Queued</option>
<option value="I" <?php if($COL_EQSL_QSL_SENT == "I") { echo "selected=\"selected\""; } ?>>Invalid (Ignore)</option> <option value="I" <?php if($COL_EQSL_QSL_SENT == "I") { echo "selected=\"selected\""; } ?>>Invalid (Ignore)</option>
</select></td> </select>
<td>Recv</td> </div>
<td><select name="eqsl_recv"> </div>
<div class="form-group row">
<label for="sent" class="col-sm-3 col-form-label">Received</label>
<div class="col-sm-9">
<select class="custom-select" name="eqsl_recv">
<option value="N" <?php if($COL_EQSL_QSL_RCVD == "N") { echo "selected=\"selected\""; } ?>>No</option> <option value="N" <?php if($COL_EQSL_QSL_RCVD == "N") { echo "selected=\"selected\""; } ?>>No</option>
<option value="Y" <?php if($COL_EQSL_QSL_RCVD == "Y") { echo "selected=\"selected\""; } ?>>Yes</option> <option value="Y" <?php if($COL_EQSL_QSL_RCVD == "Y") { echo "selected=\"selected\""; } ?>>Yes</option>
<option value="R" <?php if($COL_EQSL_QSL_RCVD == "R") { echo "selected=\"selected\""; } ?>>Requested</option> <option value="R" <?php if($COL_EQSL_QSL_RCVD == "R") { echo "selected=\"selected\""; } ?>>Requested</option>
<option value="I" <?php if($COL_EQSL_QSL_RCVD == "I") { echo "selected=\"selected\""; } ?>>Invalid (Ignore)</option> <option value="I" <?php if($COL_EQSL_QSL_RCVD == "I") { echo "selected=\"selected\""; } ?>>Invalid (Ignore)</option>
<option value="V" <?php if($COL_EQSL_QSL_RCVD == "V") { echo "selected=\"selected\""; } ?>>Verified (Match)</option> <option value="V" <?php if($COL_EQSL_QSL_RCVD == "V") { echo "selected=\"selected\""; } ?>>Verified (Match)</option>
</select></td> </select></div>
</tr> </div>
</table> </div>
</div> <div class="tab-pane fade" id="contact" role="tabpanel" aria-labelledby="contact-tab">
<div id="lotw"> <div class="form-group row">
<table> <label for="sent" class="col-sm-3 col-form-label">Sent</label>
<tr> <div class="col-sm-9">
<td>Sent</td> <select class="custom-select" name="lotw_sent">
<td><select name="lotw_sent">
<option value="N" <?php if($COL_LOTW_QSL_SENT == "N") { echo "selected=\"selected\""; } ?>>No</option> <option value="N" <?php if($COL_LOTW_QSL_SENT == "N") { echo "selected=\"selected\""; } ?>>No</option>
<option value="Y" <?php if($COL_LOTW_QSL_SENT == "Y") { echo "selected=\"selected\""; } ?>>Yes</option> <option value="Y" <?php if($COL_LOTW_QSL_SENT == "Y") { echo "selected=\"selected\""; } ?>>Yes</option>
<option value="R" <?php if($COL_LOTW_QSL_SENT == "R") { echo "selected=\"selected\""; } ?>>Requested</option> <option value="R" <?php if($COL_LOTW_QSL_SENT == "R") { echo "selected=\"selected\""; } ?>>Requested</option>
<option value="Q" <?php if($COL_LOTW_QSL_SENT == "Q") { echo "selected=\"selected\""; } ?>>Queued</option> <option value="Q" <?php if($COL_LOTW_QSL_SENT == "Q") { echo "selected=\"selected\""; } ?>>Queued</option>
<option value="I" <?php if($COL_LOTW_QSL_SENT == "I") { echo "selected=\"selected\""; } ?>>Invalid (Ignore)</option> <option value="I" <?php if($COL_LOTW_QSL_SENT == "I") { echo "selected=\"selected\""; } ?>>Invalid (Ignore)</option>
</select></td> </select></div>
<td>Recv</td> </div>
<td><select name="lotw_recv">
<div class="form-group row">
<label for="sent" class="col-sm-3 col-form-label">Received</label>
<div class="col-sm-9">
<select class="custom-select" name="lotw_recv">
<option value="N" <?php if($COL_LOTW_QSL_RCVD == "N") { echo "selected=\"selected\""; } ?>>No</option> <option value="N" <?php if($COL_LOTW_QSL_RCVD == "N") { echo "selected=\"selected\""; } ?>>No</option>
<option value="Y" <?php if($COL_LOTW_QSL_RCVD == "Y") { echo "selected=\"selected\""; } ?>>Yes</option> <option value="Y" <?php if($COL_LOTW_QSL_RCVD == "Y") { echo "selected=\"selected\""; } ?>>Yes</option>
<option value="R" <?php if($COL_LOTW_QSL_RCVD == "R") { echo "selected=\"selected\""; } ?>>Requested</option> <option value="R" <?php if($COL_LOTW_QSL_RCVD == "R") { echo "selected=\"selected\""; } ?>>Requested</option>
<option value="I" <?php if($COL_LOTW_QSL_RCVD == "I") { echo "selected=\"selected\""; } ?>>Invalid (Ignore)</option> <option value="I" <?php if($COL_LOTW_QSL_RCVD == "I") { echo "selected=\"selected\""; } ?>>Invalid (Ignore)</option>
<option value="V" <?php if($COL_LOTW_QSL_RCVD == "V") { echo "selected=\"selected\""; } ?>>Verified (Match)</option> <option value="V" <?php if($COL_LOTW_QSL_RCVD == "V") { echo "selected=\"selected\""; } ?>>Verified (Match)</option>
</select></td> </select></div>
</tr> </div>
</table> </div>
</div> </div>
</div>
<input type="hidden" name="id" value="<?php echo $this->uri->segment(3); ?>" /> <input type="hidden" name="id" value="<?php echo $this->uri->segment(3); ?>" />

查看文件

@ -1,17 +1,5 @@
<div class="container qso_panel"> <div class="container qso_panel">
<?php if($notice) { ?>
<div class="alert alert-info" role="alert">
<?php echo $notice; ?>
</div>
<?php } ?>
<?php if(validation_errors()) { ?>
<div class="alert alert-warning" role="alert">
<?php echo validation_errors(); ?>
</div>
<?php } ?>
<div class="row"> <div class="row">
<div class="col-sm-5"> <div class="col-sm-5">
@ -72,7 +60,7 @@
<div class="form-group"> <div class="form-group">
<label for="callsign">Callsign</label> <label for="callsign">Callsign</label>
<input type="text" class="form-control" id="callsign" name="callsign" required> <input type="text" class="form-control" id="callsign" name="callsign" required>
<small id="callsign_info" class="form-text text-muted"></small> <small id="callsign_info" class="badge badge-primary"></small>
</div> </div>
@ -221,6 +209,11 @@
<label for="iota_ref">IOTA Reference</label> <label for="iota_ref">IOTA Reference</label>
<input class="form-control" id="iota_ref" type="text" name="iota_ref" value="" /> e.g: EU-005 <input class="form-control" id="iota_ref" type="text" name="iota_ref" value="" /> e.g: EU-005
</div> </div>
<div class="form-group">
<label for="sota_ref">SOTA Reference</label>
<input class="form-control" id="sota_ref" type="text" name="sota_ref" value="" /> e.g: GM/NS-001
</div>
</div> </div>
<!-- Satellite Panel --> <!-- Satellite Panel -->
@ -287,10 +280,26 @@
<div class="col-sm-7"> <div class="col-sm-7">
<?php if($notice) { ?>
<div class="alert alert-info" role="alert">
<?php echo $notice; ?>
</div>
<?php } ?>
<?php if(validation_errors()) { ?>
<div class="alert alert-warning" role="alert">
<?php echo validation_errors(); ?>
</div>
<?php } ?>
<div class="card qso-map">
<div class="card-header"><h4 class="card-title">QSO Map</h4></div>
<div id="qsomap" style="width: 100%; height: 200px;"></div>
</div>
<div class="card previous-qsos"> <div class="card previous-qsos">
<div class="card-header"><h2 class="card-title">Previous Contacts</h2></div> <div class="card-header"><h4 class="card-title">Previous Contacts</h4></div>
<div class="card-body"> <div class="card-body">
<div id="partial_view"> <div id="partial_view">
@ -326,6 +335,7 @@
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>

查看文件

@ -98,6 +98,21 @@
<td><?php echo $row->COL_COUNTRY; ?></td> <td><?php echo $row->COL_COUNTRY; ?></td>
</tr> </tr>
<?php } ?> <?php } ?>
<?php if($row->COL_IOTA != null) { ?>
<tr>
<td>IOTA Ref:</td>
<td><?php echo $row->COL_IOTA; ?></td>
</tr>
<?php } ?>
<?php if($row->COL_SOTA_REF != null) { ?>
<tr>
<td>SOTA Ref:</td>
<td><?php echo $row->COL_SOTA_REF; ?></td>
</tr>
<?php } ?>
</table> </table>
<?php if($row->COL_QSL_SENT == "Y" || $row->COL_QSL_RCVD == "Y") { ?> <?php if($row->COL_QSL_SENT == "Y" || $row->COL_QSL_RCVD == "Y") { ?>
<h3>QSL Info</h3> <h3>QSL Info</h3>

查看文件

@ -59,6 +59,14 @@
text-transform: uppercase; text-transform: uppercase;
} }
.qso_panel .iota_ref {
text-transform: uppercase;
}
.qso_panel .sota_ref {
text-transform: uppercase;
}
.workedGrid { .workedGrid {
border-color: green; border-color: green;
} }
@ -103,3 +111,22 @@ TD.lotw{
color: #F00; color: #F00;
font-size: 1.1em; font-size: 1.1em;
} }
.qso-edit-box {
padding: 10px;
}
.previous-qsos .card-title {
margin-bottom: 0px;
}
.qso-map .card-title {
margin-bottom: 0px;
}
.qso-map {
margin-bottom: 10px;
}