Added "All" to Bandchooser at List
这个提交包含在:
父节点
4717ca2252
当前提交
e1003e07d7
共有 3 个文件被更改,包括 99 次插入 和 74 次删除
|
|
@ -3,78 +3,82 @@
|
||||||
use Cloudlog\Dxcc\Dxcc;
|
use Cloudlog\Dxcc\Dxcc;
|
||||||
|
|
||||||
class Dxcluster_model extends CI_Model {
|
class Dxcluster_model extends CI_Model {
|
||||||
public function dxc_spotlist($band = '20m', $maxage = 60, $de = '') {
|
public function dxc_spotlist($band = '20m', $maxage = 60, $de = '') {
|
||||||
$this->load->helper(array('psr4_autoloader'));
|
$this->load->helper(array('psr4_autoloader'));
|
||||||
$CI =& get_instance();
|
$CI =& get_instance();
|
||||||
if ( ($this->optionslib->get_option('dxcache_url') != '') ) {
|
if ( ($this->optionslib->get_option('dxcache_url') != '') ) {
|
||||||
if($CI->session->userdata('user_date_format')) {
|
if($CI->session->userdata('user_date_format')) {
|
||||||
$custom_date_format = $CI->session->userdata('user_date_format');
|
$custom_date_format = $CI->session->userdata('user_date_format');
|
||||||
} else {
|
} else {
|
||||||
$custom_date_format = $CI->config->item('qso_date_format');
|
$custom_date_format = $CI->config->item('qso_date_format');
|
||||||
}
|
}
|
||||||
|
|
||||||
$dxcache_url = $this->optionslib->get_option('dxcache_url').'/spots/'.$band;
|
if ($band == "All") {
|
||||||
$CI->load->model('logbooks_model');
|
$dxcache_url = $this->optionslib->get_option('dxcache_url').'/spots/';
|
||||||
|
} else {
|
||||||
|
$dxcache_url = $this->optionslib->get_option('dxcache_url').'/spots/'.$band;
|
||||||
|
}
|
||||||
|
$CI->load->model('logbooks_model');
|
||||||
$CI->load->model('logbook_model');
|
$CI->load->model('logbook_model');
|
||||||
$logbooks_locations_array = $CI->logbooks_model->list_logbook_relationships($this->session->userdata('active_station_logbook'));
|
$logbooks_locations_array = $CI->logbooks_model->list_logbook_relationships($this->session->userdata('active_station_logbook'));
|
||||||
|
|
||||||
// CURL Functions
|
// CURL Functions
|
||||||
$ch = curl_init();
|
$ch = curl_init();
|
||||||
curl_setopt($ch, CURLOPT_URL, $dxcache_url);
|
curl_setopt($ch, CURLOPT_URL, $dxcache_url);
|
||||||
curl_setopt($ch, CURLOPT_USERAGENT, 'Cloudlog DXLookup');
|
curl_setopt($ch, CURLOPT_USERAGENT, 'Cloudlog DXLookup');
|
||||||
curl_setopt($ch, CURLOPT_HEADER, false);
|
curl_setopt($ch, CURLOPT_HEADER, false);
|
||||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||||
$jsonraw = curl_exec($ch);
|
$jsonraw = curl_exec($ch);
|
||||||
curl_close($ch);
|
curl_close($ch);
|
||||||
$json = json_decode($jsonraw);
|
$json = json_decode($jsonraw);
|
||||||
$date = date('Ymd', time());
|
$date = date('Ymd', time());
|
||||||
|
|
||||||
$dxccObj = new DXCC($date);
|
$dxccObj = new DXCC($date);
|
||||||
|
|
||||||
// Create JSON object
|
// Create JSON object
|
||||||
if (strlen($jsonraw)>20) {
|
if (strlen($jsonraw)>20) {
|
||||||
$spotsout=[];
|
$spotsout=[];
|
||||||
foreach($json as $singlespot){
|
foreach($json as $singlespot){
|
||||||
$spotband = $CI->frequency->GetBand($singlespot->frequency*1000);
|
$spotband = $CI->frequency->GetBand($singlespot->frequency*1000);
|
||||||
$singlespot->band=$spotband;
|
$singlespot->band=$spotband;
|
||||||
if ($band != $spotband) { continue; }
|
if (($band != 'All') && ($band != $spotband)) { continue; }
|
||||||
$datetimecurrent = new DateTime("now", new DateTimeZone('UTC')); // Today's Date/Time
|
$datetimecurrent = new DateTime("now", new DateTimeZone('UTC')); // Today's Date/Time
|
||||||
$datetimespot = new DateTime($singlespot->when, new DateTimeZone('UTC'));
|
$datetimespot = new DateTime($singlespot->when, new DateTimeZone('UTC'));
|
||||||
$spotage = $datetimecurrent->diff($datetimespot);
|
$spotage = $datetimecurrent->diff($datetimespot);
|
||||||
$minutes = $spotage->days * 24 * 60;
|
$minutes = $spotage->days * 24 * 60;
|
||||||
$minutes += $spotage->h * 60;
|
$minutes += $spotage->h * 60;
|
||||||
$minutes += $spotage->i;
|
$minutes += $spotage->i;
|
||||||
$singlespot->age=$minutes;
|
$singlespot->age=$minutes;
|
||||||
$singlespot->when_pretty=date($custom_date_format . " H:i", strtotime($singlespot->when));
|
$singlespot->when_pretty=date($custom_date_format . " H:i", strtotime($singlespot->when));
|
||||||
|
|
||||||
if ($minutes<=$maxage) {
|
if ($minutes<=$maxage) {
|
||||||
if (!(property_exists($singlespot,'dxcc_spotted'))) { // Check if we already have dxcc of spotted
|
if (!(property_exists($singlespot,'dxcc_spotted'))) { // Check if we already have dxcc of spotted
|
||||||
$dxcc=$dxccObj->dxcc_lookup($singlespot->spotted,date('Ymd', time()));
|
$dxcc=$dxccObj->dxcc_lookup($singlespot->spotted,date('Ymd', time()));
|
||||||
$singlespot->dxcc_spotted=$dxcc;
|
$singlespot->dxcc_spotted=$dxcc;
|
||||||
}
|
}
|
||||||
if (!(property_exists($singlespot,'dxcc_spotter'))) { // Check if we already have dxcc of spotter
|
if (!(property_exists($singlespot,'dxcc_spotter'))) { // Check if we already have dxcc of spotter
|
||||||
$dxcc=$dxccObj->dxcc_lookup($singlespot->spotter,date('Ymd', time()));
|
$dxcc=$dxccObj->dxcc_lookup($singlespot->spotter,date('Ymd', time()));
|
||||||
$singlespot->dxcc_spotter=$dxcc;
|
$singlespot->dxcc_spotter=$dxcc;
|
||||||
}
|
}
|
||||||
if ( ($de != '') && ($de != 'Any') && (property_exists($singlespot->dxcc_spotter,'cont')) ){ // If we have a "de continent" and a filter-wish filter on that
|
if ( ($de != '') && ($de != 'Any') && (property_exists($singlespot->dxcc_spotter,'cont')) ){ // If we have a "de continent" and a filter-wish filter on that
|
||||||
if (strtolower($de) == strtolower($singlespot->dxcc_spotter->cont)) {
|
if (strtolower($de) == strtolower($singlespot->dxcc_spotter->cont)) {
|
||||||
$singlespot->worked_call = ($this->logbook_model->check_if_callsign_worked_in_logbook($singlespot->spotted, $logbooks_locations_array, $singlespot->band) == 1);
|
$singlespot->worked_call = ($this->logbook_model->check_if_callsign_worked_in_logbook($singlespot->spotted, $logbooks_locations_array, $singlespot->band) == 1);
|
||||||
array_push($spotsout,$singlespot);
|
array_push($spotsout,$singlespot);
|
||||||
}
|
}
|
||||||
} else { // No de continent? No Filter --> Just push
|
} else { // No de continent? No Filter --> Just push
|
||||||
$singlespot->worked_call = ($this->logbook_model->check_if_callsign_worked_in_logbook($singlespot->spotted, $logbooks_locations_array, $singlespot->band) == 1);
|
$singlespot->worked_call = ($this->logbook_model->check_if_callsign_worked_in_logbook($singlespot->spotted, $logbooks_locations_array, $singlespot->band) == 1);
|
||||||
array_push($spotsout,$singlespot);
|
array_push($spotsout,$singlespot);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return ($spotsout);
|
return ($spotsout);
|
||||||
} else {
|
} else {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function dxc_qrg_lookup($qrg, $maxage = 120) {
|
public function dxc_qrg_lookup($qrg, $maxage = 120) {
|
||||||
$this->load->helper(array('psr4_autoloader'));
|
$this->load->helper(array('psr4_autoloader'));
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,9 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
|
.kHz::after {
|
||||||
|
content: " kHz";
|
||||||
|
}
|
||||||
.fresh{
|
.fresh{
|
||||||
-webkit-transition: all 15s ease;
|
-webkit-transition: all 15s ease;
|
||||||
-moz-transition: all 15s ease;
|
-moz-transition: all 15s ease;
|
||||||
|
|
@ -56,6 +59,7 @@
|
||||||
|
|
||||||
<label class="my-1 mr-2" for="band"><?php echo lang('gen_hamradio_band'); ?></label>
|
<label class="my-1 mr-2" for="band"><?php echo lang('gen_hamradio_band'); ?></label>
|
||||||
<select id="band" class="form-control-sm my-1 mr-sm-2" name="band">
|
<select id="band" class="form-control-sm my-1 mr-sm-2" name="band">
|
||||||
|
<option value="All">All</option>
|
||||||
<?php foreach($bands as $key=>$bandgroup) {
|
<?php foreach($bands as $key=>$bandgroup) {
|
||||||
echo '<optgroup label="' . strtoupper($key) . '">';
|
echo '<optgroup label="' . strtoupper($key) . '">';
|
||||||
foreach($bandgroup as $band) {
|
foreach($bandgroup as $band) {
|
||||||
|
|
|
||||||
|
|
@ -6,9 +6,24 @@ $(function() {
|
||||||
return ((a< b) ? -1 : ((a> b) ? 1 : 0));
|
return ((a< b) ? -1 : ((a> b) ? 1 : 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function get_dtable () {
|
||||||
|
var table = $('.spottable').DataTable({
|
||||||
|
"retrieve":true,
|
||||||
|
'columnDefs': [
|
||||||
|
{
|
||||||
|
'targets': 1, "type":"num",
|
||||||
|
'createdCell': function (td, cellData, rowData, row, col) {
|
||||||
|
$(td).addClass("kHz");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
});
|
||||||
|
return table;
|
||||||
|
}
|
||||||
|
|
||||||
function fill_list(band,de,maxAgeMinutes) {
|
function fill_list(band,de,maxAgeMinutes) {
|
||||||
var table = $('.spottable').DataTable();
|
// var table = $('.spottable').DataTable();
|
||||||
|
var table = get_dtable();
|
||||||
if ((band != '') && (band !== undefined)) {
|
if ((band != '') && (band !== undefined)) {
|
||||||
let dxurl = dxcluster_provider + "/spots/" + band + "/" +maxAgeMinutes + "/" + de;
|
let dxurl = dxcluster_provider + "/spots/" + band + "/" +maxAgeMinutes + "/" + de;
|
||||||
$.ajax({
|
$.ajax({
|
||||||
|
|
@ -25,7 +40,7 @@ $(function() {
|
||||||
var data=[];
|
var data=[];
|
||||||
data[0]=[];
|
data[0]=[];
|
||||||
data[0].push(single.when_pretty);
|
data[0].push(single.when_pretty);
|
||||||
data[0].push(single.frequency + " kHz");
|
data[0].push(single.frequency*1);
|
||||||
data[0].push((single.worked_call ?'<span class="text-success">' : '')+single.spotted+(single.worked_call ? '</span>' : ''));
|
data[0].push((single.worked_call ?'<span class="text-success">' : '')+single.spotted+(single.worked_call ? '</span>' : ''));
|
||||||
data[0].push(single.dxcc_spotted.entity);
|
data[0].push(single.dxcc_spotted.entity);
|
||||||
data[0].push(single.spotter);
|
data[0].push(single.spotter);
|
||||||
|
|
@ -57,7 +72,8 @@ $(function() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function highlight_current_qrg(qrg) {
|
function highlight_current_qrg(qrg) {
|
||||||
var table=$('.spottable').DataTable();
|
var table=get_dtable();
|
||||||
|
// var table=$('.spottable').DataTable();
|
||||||
table.rows().every(function() {
|
table.rows().every(function() {
|
||||||
var d=this.data();
|
var d=this.data();
|
||||||
var distance=Math.abs(parseInt(d[1].substring(0,d[1].length-4))-qrg);
|
var distance=Math.abs(parseInt(d[1].substring(0,d[1].length-4))-qrg);
|
||||||
|
|
@ -71,27 +87,28 @@ $(function() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
$('.spottable').DataTable().order([1, 'asc']);
|
var table=get_dtable();
|
||||||
$('.spottable').DataTable().clear();
|
table.order([1, 'asc']);
|
||||||
|
table.clear();
|
||||||
fill_list($('#band option:selected').val(), $('#decontSelect option:selected').val(),dxcluster_maxage);
|
fill_list($('#band option:selected').val(), $('#decontSelect option:selected').val(),dxcluster_maxage);
|
||||||
setInterval(function () { fill_list($('#band option:selected').val(), $('#decontSelect option:selected').val(),dxcluster_maxage); },60000);
|
setInterval(function () { fill_list($('#band option:selected').val(), $('#decontSelect option:selected').val(),dxcluster_maxage); },60000);
|
||||||
|
|
||||||
$("#decontSelect").on("change",function() {
|
$("#decontSelect").on("change",function() {
|
||||||
$('.spottable').DataTable().clear();
|
table.clear();
|
||||||
fill_list($('#band option:selected').val(), $('#decontSelect option:selected').val(),dxcluster_maxage);
|
fill_list($('#band option:selected').val(), $('#decontSelect option:selected').val(),dxcluster_maxage);
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#band").on("change",function() {
|
$("#band").on("change",function() {
|
||||||
$('.spottable').DataTable().order([1, 'asc']);
|
table.order([1, 'asc']);
|
||||||
$('.spottable').DataTable().clear();
|
table.clear();
|
||||||
fill_list($('#band option:selected').val(), $('#decontSelect option:selected').val(),dxcluster_maxage);
|
fill_list($('#band option:selected').val(), $('#decontSelect option:selected').val(),dxcluster_maxage);
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#spottertoggle").on("click", function() {
|
$("#spottertoggle").on("click", function() {
|
||||||
if ($('.spottable').DataTable().column(4).visible()) {
|
if (table.column(4).visible()) {
|
||||||
$('.spottable').DataTable().column(4).visible(false);
|
table.column(4).visible(false);
|
||||||
} else {
|
} else {
|
||||||
$('.spottable').DataTable().column(4).visible(true);
|
table.column(4).visible(true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
正在加载…
在新工单中引用