pull/184/head
Andy 2016-02-12 16:31:29 +00:00
rodzic 51366b4c3a
commit c40eb37f40
13 zmienionych plików z 235 dodań i 199 usunięć

Wyświetl plik

@ -100,7 +100,9 @@ $mimes = array( 'hqx' => 'application/mac-binhex40',
'eml' => 'message/rfc822',
'json' => array('application/json', 'text/json'),
'adi' => 'application/octet-stream',
'adif' => 'application/octet-stream',
'ADI' => 'application/octet-stream',
'ADIF' => 'application/octet-stream',
'tq8' => 'application/octet-stream',
'TQ8' => 'application/octet-stream',
);

Wyświetl plik

@ -71,12 +71,14 @@ class adif extends CI_Controller {
$data['page_title'] = "ADIF Import";
$config['upload_path'] = 'uploads/';
$config['allowed_types'] = 'adi|ADI';
$config['allowed_types'] = 'adi|ADI|adif|ADIF';
$this->load->library('upload', $config);
if ( ! $this->upload->do_upload())
{
//print $this->upload->display_errors();
//exit(0);
$data['error'] = $this->upload->display_errors();
$this->load->view('layout/header', $data);

Wyświetl plik

@ -19,7 +19,16 @@ class Awards extends CI_Controller {
public function dxcc ()
{
echo "Needs Developed";
//echo "Needs Developed";
$this->load->model('dxcc');
$data['dxcc'] = $this->dxcc->show_stats();
// Render Page
$data['page_title'] = "Awards - DXCC";
$this->load->view('layout/header', $data);
$this->load->view('awards/dxcc/index');
$this->load->view('layout/footer');
}
/*
@ -73,4 +82,4 @@ class Awards extends CI_Controller {
$this->load->view('layout/footer');
}
}
}

Wyświetl plik

@ -347,7 +347,8 @@ class Logbook extends CI_Controller {
$json = file_get_contents($url);
$data = json_decode($json, TRUE);
echo ucfirst(strtolower($data['Name']));
// echo ucfirst(strtolower($data['Name']));
echo $json;
}
/* return station bearing */

Wyświetl plik

@ -40,7 +40,9 @@ class QSO extends CI_Controller {
else
{
// Add QSO
$this->logbook_model->add();
// $this->logbook_model->add();
//change to create_qso function as add and create_qso duplicate functionality
$this->logbook_model->create_qso();
// Store Basic QSO Info for reuse
// Put data in an array first, then call set_userdata once.
@ -49,7 +51,7 @@ class QSO extends CI_Controller {
// For more info, see http://bizhole.com/codeigniter-nginx-error-502-bad-gateway/
// $qso_data = [
// 18-Jan-2016 - make php v5.3 friendly!
$sqo_data = array(
$qso_data = array(
'band' => $this->input->post('band'),
'freq' => $this->input->post('freq'),
'mode' => $this->input->post('mode'),

Wyświetl plik

@ -4,20 +4,20 @@ class Search extends CI_Controller {
public function index()
{
// Auth check
$this->load->model('user_model');
if(!$this->user_model->authorize($this->config->item('auth_mode'))) {
if($this->user_model->validate_session()) {
$this->user_model->clear_session();
show_error('Access denied<p>Click <a href="'.site_url('user/login').'">here</a> to log in as another user', 403);
} else {
redirect('user/login');
}
}
// Auth check
$this->load->model('user_model');
if(!$this->user_model->authorize($this->config->item('auth_mode'))) {
if($this->user_model->validate_session()) {
$this->user_model->clear_session();
show_error('Access denied<p>Click <a href="'.site_url('user/login').'">here</a> to log in as another user', 403);
} else {
redirect('user/login');
}
}
$data['page_title'] = "Search";
$this->load->view('layout/header', $data);
$this->load->view('layout/header', $data);
$this->load->view('search/main');
$this->load->view('layout/footer');
}

Wyświetl plik

@ -7,6 +7,43 @@ class DXCC extends CI_Model {
// Call the Model constructor
parent::__construct();
}
function show_stats(){
$data = $this->db->query(
"select COL_COUNTRY, COL_MODE, lcase(COL_BAND) as COL_BAND, count(COL_COUNTRY) as cnt
from TABLE_HRD_CONTACTS_V01
group by COL_COUNTRY, COL_MODE, COL_BAND"
);
$results = array();
$last_country = "";
foreach($data->result() as $row){
if ($last_country != $row->COL_COUNTRY){
// new row
$results[$row->COL_COUNTRY] = array("160m"=>0,
"80m"=>0,
"40m"=>0,
"30m"=>0,
"20m"=>0,
"17m"=>0,
"15m"=>0,
"12m"=>0,
"10m"=>0,
"6m"=>0,
"2m"=>0);
$last_country = $row->COL_COUNTRY;
}
// update stats
$results[$row->COL_COUNTRY][$row->COL_BAND] = $row->cnt;
}
//print_r($results);
return $results;
}
/**
* Function: mostactive
* Information: Returns the most active band

Wyświetl plik

@ -2,11 +2,11 @@
class Logbook_model extends CI_Model {
function __construct()
{
// Call the Model constructor
parent::__construct();
}
function __construct()
{
// Call the Model constructor
parent::__construct();
}
/* Add QSO to Logbook */
function add() {
@ -79,84 +79,87 @@ class Logbook_model extends CI_Model {
'COL_RX_PWR' => null,
'COL_LAT' => null,
'COL_LON' => null,
'COL_DXCC' => $this->input->post('dxcc_id'),
'COL_CQZ' => $this->input->post('cqz'),
);
$this->add_qso($data);
}
/* Add QSO to Logbook */
function create_qso() {
// Join date+time
$datetime = date("Y-m-d",strtotime($this->input->post('start_date')))." ". $this->input->post('start_time');
if ($this->input->post('prop_mode') != null) {
$prop_mode = $this->input->post('prop_mode');
} else {
$prop_mode = "";
}
function create_qso() {
// Join date+time
$datetime = date("Y-m-d",strtotime($this->input->post('start_date')))." ". $this->input->post('start_time');
if ($this->input->post('prop_mode') != null) {
$prop_mode = $this->input->post('prop_mode');
} else {
$prop_mode = "";
}
if($this->input->post('sat_name')) {
$prop_mode = "SAT";
}
if($this->input->post('sat_name')) {
$prop_mode = "SAT";
}
if($this->session->userdata('user_locator')){
$locator = $this->session->userdata('user_locator');
} else {
$locator = $this->config->item('locator');
}
if($this->session->userdata('user_locator')){
$locator = $this->session->userdata('user_locator');
} else {
$locator = $this->config->item('locator');
}
// Create array with QSO Data
// Create array with QSO Data
$data = array(
'COL_TIME_ON' => $datetime,
'COL_TIME_OFF' => $datetime,
'COL_CALL' => strtoupper(trim($this->input->post('callsign'))),
'COL_BAND' => $this->input->post('band'),
'COL_FREQ' => $this->input->post('freq_display'),
'COL_MODE' => $this->input->post('mode'),
'COL_RST_RCVD' => $this->input->post('rst_recv'),
'COL_RST_SENT' => $this->input->post('rst_sent'),
'COL_NAME' => $this->input->post('name'),
'COL_COMMENT' => $this->input->post('comment'),
'COL_SAT_NAME' => strtoupper($this->input->post('sat_name')),
'COL_SAT_MODE' => strtoupper($this->input->post('sat_mode')),
'COL_GRIDSQUARE' => strtoupper(trim($this->input->post('locator'))),
'COL_COUNTRY' => $this->input->post('country'),
'COL_MY_RIG' => $this->input->post('equipment'),
'COL_QSLSDATE' => date('Y-m-d'),
'COL_QSLRDATE' => date('Y-m-d'),
'COL_QSL_SENT' => $this->input->post('qsl_sent'),
'COL_QSL_RCVD' => $this->input->post('qsl_recv'),
'COL_QSL_SENT_VIA' => $this->input->post('qsl_sent_method'),
'COL_QSL_RCVD_VIA' => $this->input->post('qsl_recv_method'),
'COL_QSL_VIA' => $this->input->post('qsl_via'),
'COL_OPERATOR' => $this->session->userdata('user_callsign'),
'COL_QTH' => $this->input->post('qth'),
'COL_PROP_MODE' => $prop_mode,
'COL_IOTA' => trim($this->input->post('iota_ref')),
'COL_MY_GRIDSQUARE' => $locator,
'COL_DISTANCE' => "0",
'COL_FREQ_RX' => 0,
'COL_BAND_RX' => null,
'COL_ANT_AZ' => null,
'COL_ANT_EL' => null,
'COL_A_INDEX' => null,
'COL_AGE' => null,
'COL_TEN_TEN' => null,
'COL_TX_PWR' => null,
'COL_STX' => null,
'COL_SRX' => null,
'COL_NR_BURSTS' => null,
'COL_NR_PINGS' => null,
'COL_MAX_BURSTS' => null,
'COL_K_INDEX' => null,
'COL_SFI' => null,
'COL_RX_PWR' => null,
'COL_LAT' => null,
'COL_LON' => null,
'COL_DXCC' => $this->input->post('dxcc_id'),
'COL_CQZ' => $this->input->post('cqz'),
);
$data = array(
'COL_TIME_ON' => $datetime,
'COL_TIME_OFF' => $datetime,
'COL_CALL' => strtoupper(trim($this->input->post('callsign'))),
'COL_BAND' => $this->input->post('band'),
'COL_FREQ' => $this->input->post('freq_display'),
'COL_MODE' => $this->input->post('mode'),
'COL_RST_RCVD' => $this->input->post('rst_recv'),
'COL_RST_SENT' => $this->input->post('rst_sent'),
'COL_NAME' => $this->input->post('name'),
'COL_COMMENT' => $this->input->post('comment'),
'COL_SAT_NAME' => strtoupper($this->input->post('sat_name')),
'COL_SAT_MODE' => strtoupper($this->input->post('sat_mode')),
'COL_GRIDSQUARE' => strtoupper(trim($this->input->post('locator'))),
'COL_COUNTRY' => $this->input->post('country'),
'COL_MY_RIG' => $this->input->post('equipment'),
'COL_QSLSDATE' => date('Y-m-d'),
'COL_QSLRDATE' => date('Y-m-d'),
'COL_QSL_SENT' => $this->input->post('qsl_sent'),
'COL_QSL_RCVD' => $this->input->post('qsl_recv'),
'COL_QSL_SENT_VIA' => $this->input->post('qsl_sent_method'),
'COL_QSL_RCVD_VIA' => $this->input->post('qsl_recv_method'),
'COL_QSL_VIA' => $this->input->post('qsl_via'),
'COL_OPERATOR' => $this->session->userdata('user_callsign'),
'COL_QTH' => $this->input->post('qth'),
'COL_PROP_MODE' => $prop_mode,
'COL_IOTA' => trim($this->input->post('iota_ref')),
'COL_MY_GRIDSQUARE' => $locator,
'COL_DISTANCE' => "0",
'COL_FREQ_RX' => 0,
'COL_BAND_RX' => null,
'COL_ANT_AZ' => null,
'COL_ANT_EL' => null,
'COL_A_INDEX' => null,
'COL_AGE' => null,
'COL_TEN_TEN' => null,
'COL_TX_PWR' => null,
'COL_STX' => null,
'COL_SRX' => null,
'COL_NR_BURSTS' => null,
'COL_NR_PINGS' => null,
'COL_MAX_BURSTS' => null,
'COL_K_INDEX' => null,
'COL_SFI' => null,
'COL_RX_PWR' => null,
'COL_LAT' => null,
'COL_LON' => null,
);
$this->add_qso($data);
}
$this->add_qso($data);
}
function add_qso($data) {
// Add QSO to database
@ -273,7 +276,7 @@ class Logbook_model extends CI_Model {
function get_qsos($num, $offset) {
$this->db->select('COL_CALL, COL_BAND, COL_TIME_ON, COL_RST_RCVD, COL_RST_SENT, COL_MODE, COL_NAME, COL_COUNTRY, COL_PRIMARY_KEY, COL_SAT_NAME, COL_GRIDSQUARE, COL_QSL_RCVD, COL_QSL_SENT, COL_STX_STRING, COL_SRX_STRING, COL_OPERATOR, COL_STATION_CALLSIGN');
$this->db->select('COL_CALL, COL_BAND, COL_TIME_ON, COL_RST_RCVD, COL_RST_SENT, COL_MODE, COL_NAME, COL_COUNTRY, COL_PRIMARY_KEY, COL_SAT_NAME, COL_GRIDSQUARE, COL_QSL_RCVD, COL_EQSL_QSL_RCVD, COL_EQSL_QSL_SENT, COL_QSL_SENT, COL_STX_STRING, COL_SRX_STRING, COL_OPERATOR, COL_STATION_CALLSIGN');
$this->db->order_by("COL_TIME_ON", "desc");
$query = $this->db->get($this->config->item('table_name'), $num, $offset);

Wyświetl plik

@ -51,6 +51,8 @@
<h2>Add QSO</h2>
<form id="qso_input" method="post" action="<?php echo site_url('qso'); ?>" name="qsos">
<input type="hidden" id="dxcc_id" name="dxcc_id" value=""/>
<input type="hidden" id="cqz" name="cqz" value="" />
<table style="margin-bottom: 0px;">
@ -392,7 +394,12 @@
/* Find and populate DXCC */
$.get('logbook/find_dxcc/' + $(this).val(), function(result) {
$('#country').val(result);
//$('#country').val(result);
obj = JSON.parse(result);
$('#country').val(convert_case(obj.Name));
$('#dxcc_id').val(obj.DXCC);
$('#cqz').val(obj.CQZ);
});
/* Find Locator if the field is empty */
@ -440,5 +447,17 @@
$('#rst_recv').val('59');
}
});
});
function convert_case(str) {
var lower = str.toLowerCase();
return lower.replace(/(^| )(\w)/g, function(x) {
return x.toUpperCase();
});
}
</script>

Wyświetl plik

@ -41,6 +41,8 @@
<h2>Manual QSO</h2>
<form id="qso_input" method="post" action="<?php echo site_url('qso/manual'); ?>" name="qsos">
<input type="hidden" id="dxcc_id" name="dxcc_id" value=""/>
<input type="hidden" id="cqz" name="cqz" value="" />
<table style="margin-bottom: 0px;">
@ -482,7 +484,11 @@
/* Find and populate DXCC */
$.get('<?php echo site_url('logbook/find_dxcc'); ?>/' + $(this).val(), function(result) {
$('#country').val(result);
//$('#country').val(result);
obj = JSON.parse(result);
$('#country').val(convert_case(obj.Name));
$('#dxcc_id').val(obj.DXCC);
$('#cqz').val(obj.CQZ);
});
/* Find Locator if the field is empty */
@ -510,4 +516,11 @@
}
});
});
function convert_case(str) {
var lower = str.toLowerCase();
return lower.replace(/(^| )(\w)/g, function(x) {
return x.toUpperCase();
});
}
</script>

Wyświetl plik

@ -17,6 +17,15 @@ $(document).ready(function(){
$('#partial_view').load("logbook/search_result/<?php echo $this->input->post('callsign'); ?>", function() {
// after load trigger your fancybox
$(".qsobox").fancybox({
'autoDimensions' : false,
'width' : 700,
'height' : 300,
'transitionIn' : 'fade',
'transitionOut' : 'fade',
'type' : 'iframe'
});
$(".editbox").fancybox({
'autoDimensions' : false,
'width' : 450,
@ -30,18 +39,26 @@ $(document).ready(function(){
$("#callsign").keyup(function(){
if ($(this).val()) {
$('#partial_view').load("logbook/search_result/" + $(this).val(), function() {
// after load trigger your fancybox
$(".editbox").fancybox({
'autoDimensions' : false,
'width' : 450,
'height' : 550,
'transitionIn' : 'fade',
'transitionOut' : 'fade',
'type' : 'iframe',
});
});
$('#partial_view').load("logbook/search_result/" + $(this).val(), function() {
$(".qsobox").fancybox({
'autoDimensions' : false,
'width' : 700,
'height' : 300,
'transitionIn' : 'fade',
'transitionOut' : 'fade',
'type' : 'iframe'
});
// after load trigger your fancybox
$(".editbox").fancybox({
'autoDimensions' : false,
'width' : 450,
'height' : 550,
'transitionIn' : 'fade',
'transitionOut' : 'fade',
'type' : 'iframe',
});
});
}
});
@ -54,28 +71,3 @@ $(document).ready(function(){
<link rel="stylesheet" type="text/css" href="<?php echo base_url() ;?>/fancybox/jquery.fancybox-1.3.4.css" media="screen" />
<script type="text/javascript">
$(document).ready(function() {
$(".qsobox").fancybox({
'autoDimensions' : false,
'width' : 700,
'height' : 300,
'transitionIn' : 'fade',
'transitionOut' : 'fade',
'type' : 'iframe'
});
$(".editbox").fancybox({
'autoDimensions' : false,
'width' : 700,
'height' : 550,
'transitionIn' : 'fade',
'transitionOut' : 'fade',
'type' : 'iframe',
onCleanup : function() {
return window.location.reload();
}
});
});
</script>

Wyświetl plik

@ -9,7 +9,8 @@
<td>Band</td>
<td>Country</td>
<?php if(($this->config->item('use_auth')) && ($this->session->userdata('user_type') >= 2)) { ?>
<td></td>
<td>QSL</td>
<td>eQSL</td>
<td></td>
<?php } ?>
</tr>
@ -45,10 +46,31 @@
<img src="<?php echo base_url();?>images/icons/qslcard_sent.png" alt="QSL Cards sent" title="QSL Cards sent" />
<?php } ?>
</td>
<td class="eqsl">
<?php if ($row->COL_EQSL_QSL_SENT != ''){ ?>
<span class="eqsl-<?php echo ($row->COL_EQSL_QSL_SENT=='Y')?'green':'red'?>">&#9650;</span>
<span class="eqsl-<?php echo ($row->COL_EQSL_QSL_RCVD=='Y')?'green':'red'?>">&#9660;</span>
<?php } ?>
</td>
<td><a class="editbox" href="<?php echo site_url('qso/edit'); ?>/<?php echo $row->COL_PRIMARY_KEY; ?>" ><img src="<?php echo base_url(); ?>/images/application_edit.png" width="16" height="16" alt="Edit" />
</a></td>
<?php } ?>
</tr>
<?php $i++; } ?>
</table>
</table>
<style>
TD.qsl{
width: 20px;
}
TD.eqsl{
width: 33px;
}
.eqsl-green{
color: #00A000;
font-size: 1.1em;
}
.eqsl-red{
color: #F00;
font-size: 1.1em;
}

Wyświetl plik

@ -85,70 +85,4 @@
<!-- Map -->
<div id="map" style="width: 100%; height: 300px"></div>
<table width="100%">
<tr class="titles">
<td>Date</td>
<td>Time</td>
<td>Call</td>
<td>Mode</td>
<td>Sent</td>
<td>Recv</td>
<td>Band</td>
<td>Country</td>
<?php if(($this->config->item('use_auth')) && ($this->session->userdata('user_type') >= 2)) { ?>
<td></td>
<td></td>
<?php } ?>
</tr>
<?php $i = 0; foreach ($results->result() as $row) { ?>
<?php echo '<tr class="tr'.($i & 1).'">'; ?>
<td><?php $timestamp = strtotime($row->COL_TIME_ON); echo date('d/m/y', $timestamp); ?></td>
<td><?php $timestamp = strtotime($row->COL_TIME_ON); echo date('H:i', $timestamp); ?></td>
<td><a class="qsobox" href="<?php echo site_url('logbook/view')."/".$row->COL_PRIMARY_KEY; ?>"><?php echo strtoupper($row->COL_CALL); ?></a></td>
<td><?php echo $row->COL_MODE; ?></td>
<td><?php echo $row->COL_RST_SENT; ?> <?php if ($row->COL_STX_STRING) { ?><span class="label"><?php echo $row->COL_STX_STRING;?></span><?php } ?></td>
<td><?php echo $row->COL_RST_RCVD; ?> <?php if ($row->COL_SRX_STRING) { ?><span class="label"><?php echo $row->COL_SRX_STRING;?></span><?php } ?></td>
<?php if($row->COL_SAT_NAME != null) { ?>
<td><?php echo $row->COL_SAT_NAME; ?></td>
<?php } else { ?>
<td><?php echo strtolower($row->COL_BAND); ?></td>
<?php } ?>
<td><?php echo $row->COL_COUNTRY; ?></td>
<?php if(($this->config->item('use_auth')) && ($this->session->userdata('user_type') >= 2)) { ?>
<td>
<?php
if($row->COL_QSL_RCVD == "Y" && $row->COL_QSL_SENT == "Y")
{
?>
<img src="<?php echo base_url();?>images/icons/qslcard.png" alt="QSL Cards Both sent and received" title="QSL Cards Both sent and received" />
<?php
} elseif($row->COL_QSL_RCVD == "Y") {
?>
<img src="<?php echo base_url();?>images/icons/qslcard_in.png" alt="QSL Cards received" title="QSL Cards received" />
<?php
} elseif($row->COL_QSL_SENT == "Y") {
?>
<img src="<?php echo base_url();?>images/icons/qslcard_sent.png" alt="QSL Cards sent" title="QSL Cards sent" />
<?php } ?>
</td>
<td><a class="editbox" href="<?php echo site_url('qso/edit'); ?>/<?php echo $row->COL_PRIMARY_KEY; ?>" ><img src="<?php echo base_url(); ?>/images/application_edit.png" width="16" height="16" alt="Edit" />
</a></td>
<?php if($this->config->item('callsign_tags') == true) { ?>
<?php if($row->COL_STATION_CALLSIGN != null) { ?>
<td><span class="label notice"><?php echo $row->COL_STATION_CALLSIGN; ?></span></td>
<?php } elseif($row->COL_OPERATOR != null) { ?>
<td><span class="label notice"><?php echo $row->COL_OPERATOR; ?></span></td>
<?php } ?>
<?php } ?>
<?php } ?>
</tr>
<?php $i++; } ?>
</table>
<div class="pagination">
<?php echo $this->pagination->create_links(); ?>
</div>
</div>
<?php $this->load->view('view_log/partial/log') ?>