Merge remote-tracking branch 'upstream/station_logbooks' into activatedGrids
这个提交包含在:
当前提交
a49ec4c42c
共有 24 个文件被更改,包括 381 次插入 和 107 次删除
|
|
@ -116,4 +116,46 @@ class Logbooks extends CI_Controller {
|
|||
redirect('logbooks/edit/'.$logbook_id);
|
||||
}
|
||||
|
||||
public function publicslug_validate() {
|
||||
$this->load->model('logbooks_model');
|
||||
$result = $this->logbooks_model->is_public_slug_available($this->input->post('public_slug'));
|
||||
|
||||
if($result == true) {
|
||||
$data['slugAvailable'] = true;
|
||||
} else {
|
||||
$data['slugAvailable'] = false;
|
||||
}
|
||||
|
||||
$this->load->view('logbooks/components/publicSlugInputValidation', $data);
|
||||
}
|
||||
|
||||
public function save_publicslug() {
|
||||
$this->load->model('logbooks_model');
|
||||
|
||||
$this->load->library('form_validation');
|
||||
|
||||
$this->form_validation->set_rules('public_slug', 'Public Slug', 'required|alpha_numeric');
|
||||
|
||||
if ($this->form_validation->run() == FALSE)
|
||||
{
|
||||
echo "<div class=\"alert alert-danger\" role=\"alert\">Oops! This Public Slug is unavailable</div>";
|
||||
echo validation_errors();
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->load->model('logbooks_model');
|
||||
$result = $this->logbooks_model->is_public_slug_available($this->input->post('public_slug'));
|
||||
|
||||
|
||||
if($result == true) {
|
||||
$returndata = $this->logbooks_model->save_public_slug($this->input->post('public_slug'), $this->input->post('logbook_id'));
|
||||
echo "<div class=\"alert alert-success\" role=\"alert\">Public Slug Saved</div>";
|
||||
} else {
|
||||
echo "<div class=\"alert alert-danger\" role=\"alert\">Oops! This Public Slug is unavailable</div>";
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -3,13 +3,144 @@
|
|||
class AdifHelper {
|
||||
|
||||
public function getAdifLine($qso) {
|
||||
$line = "";
|
||||
$line .= $this->getAdifFieldLine("CALL", $qso->COL_CALL);
|
||||
$line .= $this->getAdifFieldLine("BAND", $qso->COL_BAND);
|
||||
$line .= $this->getAdifFieldLine("MODE", $qso->COL_MODE);
|
||||
$normalFields = array(
|
||||
'ADDRESS',
|
||||
'AGE',
|
||||
'A_INDEX',
|
||||
'ANT_AZ',
|
||||
'ANT_EL',
|
||||
'ANT_PATH',
|
||||
'ARRL_SECT',
|
||||
'AWARD_GRANTED',
|
||||
'AWARD_SUMMITED', // Typo in DB!
|
||||
'BAND',
|
||||
'BAND_RX',
|
||||
'BIOGRAPHY',
|
||||
'CALL',
|
||||
'CHECK',
|
||||
'CLASS',
|
||||
'CLUBLOG_QSO_UPLOAD_STATUS',
|
||||
'CNTY',
|
||||
'COMMENT',
|
||||
'CONT',
|
||||
'CONTACTED_OP',
|
||||
'CONTEST_ID',
|
||||
'COUNTRY',
|
||||
'CQZ',
|
||||
'CREDIT_GRANTED',
|
||||
'CREDIT_SUBMITTED',
|
||||
'DARC_DOK',
|
||||
'DISTANCE',
|
||||
'DXCC',
|
||||
'EMAIL',
|
||||
'EQ_CALL',
|
||||
'EQSL_QSL_RCVD',
|
||||
'EQSL_QSL_SENT',
|
||||
'EQSL_STATUS',
|
||||
'FISTS',
|
||||
'FISTS_CC',
|
||||
'FORCE_INIT',
|
||||
'GRIDSQUARE',
|
||||
'HEADING',
|
||||
'HRDLOG_QSO_UPLOAD_STATUS',
|
||||
'IOTA',
|
||||
'ITUZ',
|
||||
'K_INDEX',
|
||||
'LAT',
|
||||
'LON',
|
||||
'LOTW_QSL_RCVD',
|
||||
'LOTW_QSL_SENT',
|
||||
'LOTW_STATUS',
|
||||
'MAX_BURSTS',
|
||||
'MODE',
|
||||
'MS_SHOWER',
|
||||
'NAME',
|
||||
'NOTES',
|
||||
'NR_BURSTS',
|
||||
'NR_PINGS',
|
||||
'OPERATOR',
|
||||
'OWNER_CALLSIGN',
|
||||
'PFX',
|
||||
'PRECEDENCE',
|
||||
'PROP_MODE',
|
||||
'PUBLIC_KEY',
|
||||
'QRZCOM_QSO_UPLOAD_STATUS',
|
||||
'QSLMSG',
|
||||
'QSL_RCVD',
|
||||
'QSL_RCVD_VIA',
|
||||
'QSL_SENT',
|
||||
'QSL_SENT_VIA',
|
||||
'QSL_VIA',
|
||||
'QSO_COMPLETE',
|
||||
'QSO_RANDOM',
|
||||
'QTH',
|
||||
'REGION',
|
||||
'RIG',
|
||||
'RST_RCVD',
|
||||
'RST_SENT',
|
||||
'RX_PWR',
|
||||
'SAT_MODE',
|
||||
'SAT_NAME',
|
||||
'SFI',
|
||||
'SIG',
|
||||
'SIG_INFO',
|
||||
'SILENT_KEY',
|
||||
'SKCC',
|
||||
'SOTA_REF',
|
||||
'SRX',
|
||||
'SRX_STRING',
|
||||
'STATE',
|
||||
'STX',
|
||||
'STX_STRING',
|
||||
'SUBMODE',
|
||||
'SWL',
|
||||
'TEN_TEN',
|
||||
'TX_PWR',
|
||||
'UKSMG',
|
||||
'USACA_COUNTIES',
|
||||
'VUCC_GRIDS',
|
||||
'WEB',
|
||||
);
|
||||
|
||||
if ($qso->COL_SUBMODE) {
|
||||
$line .= $this->getAdifFieldLine("SUBMODE", $qso->COL_SUBMODE);
|
||||
$dateFields = array(
|
||||
'EQSL_QSLRDATE',
|
||||
'EQSL_QSLSDATE',
|
||||
'LOTW_QSLRDATE',
|
||||
'LOTW_QSLSDATE',
|
||||
'QSLRDATE',
|
||||
'QSLSDATE',
|
||||
'CLUBLOG_QSO_UPLOAD_DATE',
|
||||
'HRDLOG_QSO_UPLOAD_DATE',
|
||||
'QRZCOM_QSO_UPLOAD_DATE',
|
||||
);
|
||||
|
||||
/**
|
||||
Missing:
|
||||
USER_DEFINED_0
|
||||
USER_DEFINED_1
|
||||
USER_DEFINED_2
|
||||
USER_DEFINED_3
|
||||
USER_DEFINED_4
|
||||
USER_DEFINED_5
|
||||
USER_DEFINED_6
|
||||
USER_DEFINED_7
|
||||
USER_DEFINED_8
|
||||
USER_DEFINED_9
|
||||
*/
|
||||
|
||||
// Build ADIF fields
|
||||
|
||||
$line = "";
|
||||
foreach ($normalFields as $field) {
|
||||
$line .= $this->getAdifFieldLine($field, $qso->{'COL_' . $field});
|
||||
}
|
||||
|
||||
foreach ($dateFields as $field) {
|
||||
if ($qso->{'COL_' . $field}) {
|
||||
$date = strtotime($qso->{'COL_' . $field});
|
||||
$date = date('Ymd', $date);
|
||||
$line .= $this->getAdifFieldLine($field, $date);
|
||||
}
|
||||
}
|
||||
|
||||
if ($qso->COL_FREQ != 0) {
|
||||
|
|
@ -22,59 +153,23 @@ class AdifHelper {
|
|||
$line .= $this->getAdifFieldLine("FREQ_RX", $freq_rx_in_mhz);
|
||||
}
|
||||
|
||||
if ($qso->COL_BAND_RX) {
|
||||
$line .= $this->getAdifFieldLine("BAND_RX", $qso->COL_BAND_RX);
|
||||
}
|
||||
|
||||
$date_on = strtotime($qso->COL_TIME_ON);
|
||||
$new_date = date('Ymd', $date_on);
|
||||
$line .= $this->getAdifFieldLine("QSO_DATE", $new_date);
|
||||
$date_on = date('Ymd', $date_on);
|
||||
$line .= $this->getAdifFieldLine("QSO_DATE", $date_on);
|
||||
|
||||
$time_on = strtotime($qso->COL_TIME_ON);
|
||||
$new_on = date('His', $time_on);
|
||||
$line .= $this->getAdifFieldLine("TIME_ON", $new_on);
|
||||
$time_on = date('His', $time_on);
|
||||
$line .= $this->getAdifFieldLine("TIME_ON", $time_on);
|
||||
|
||||
$date_off = strtotime($qso->COL_TIME_OFF);
|
||||
$date_off = date('Ymd', $date_off);
|
||||
$line .= $this->getAdifFieldLine("QSO_DATE_OFF", $date_off);
|
||||
|
||||
$time_off = strtotime($qso->COL_TIME_OFF);
|
||||
$new_off = date('His', $time_off);
|
||||
$line .= $this->getAdifFieldLine("TIME_OFF", $new_off);
|
||||
|
||||
$line .= $this->getAdifFieldLine("RST_RCVD", $qso->COL_RST_RCVD);
|
||||
|
||||
$line .= $this->getAdifFieldLine("RST_SENT", $qso->COL_RST_SENT);
|
||||
|
||||
$line .= $this->getAdifFieldLine("QSL_RCVD", $qso->COL_QSL_RCVD);
|
||||
|
||||
$line .= $this->getAdifFieldLine("QSL_SENT", $qso->COL_QSL_SENT);
|
||||
|
||||
if ($qso->COL_QSL_VIA) {
|
||||
$line .= $this->getAdifFieldLine("QSL_VIA", $qso->COL_QSL_VIA);
|
||||
}
|
||||
|
||||
$line .= $this->getAdifFieldLine("COUNTRY", $qso->COL_COUNTRY);
|
||||
|
||||
if ($qso->COL_VUCC_GRIDS != "") {
|
||||
$line .= $this->getAdifFieldLine("VUCC_GRIDS", $qso->COL_VUCC_GRIDS);
|
||||
}
|
||||
if ($qso->COL_VUCC_GRIDS == "" && $qso->COL_GRIDSQUARE != "") {
|
||||
$line .= $this->getAdifFieldLine("GRIDSQUARE", $qso->COL_GRIDSQUARE);
|
||||
}
|
||||
if ($qso->COL_SAT_NAME) {
|
||||
if ($qso->COL_SAT_MODE != 0 || $qso->COL_SAT_MODE !="") {
|
||||
$line .= $this->getAdifFieldLine("SAT_MODE", $qso->COL_SAT_MODE);
|
||||
$line .= $this->getAdifFieldLine("SAT_NAME", $qso->COL_SAT_NAME);
|
||||
}
|
||||
}
|
||||
|
||||
$line .= $this->getAdifFieldLine("PROP_MODE", $qso->COL_PROP_MODE);
|
||||
|
||||
$line .= $this->getAdifFieldLine("NAME", $qso->COL_NAME);
|
||||
|
||||
$line .= $this->getAdifFieldLine("STATE", $qso->COL_STATE);
|
||||
|
||||
$line .= $this->getAdifFieldLine("SOTA_REF", $qso->COL_SOTA_REF);
|
||||
|
||||
$line .= $this->getAdifFieldLine("OPERATOR", $qso->COL_OPERATOR);
|
||||
$time_off = date('His', $time_off);
|
||||
$line .= $this->getAdifFieldLine("TIME_OFF", $time_off);
|
||||
|
||||
// "MY" information
|
||||
$line .= $this->getAdifFieldLine("STATION_CALLSIGN", $qso->station_callsign);
|
||||
|
||||
$line .= $this->getAdifFieldLine("MY_CITY", $qso->station_city);
|
||||
|
|
@ -85,8 +180,7 @@ class AdifHelper {
|
|||
|
||||
if (strpos($qso->station_gridsquare, ',') !== false ) {
|
||||
$line .= $this->getAdifFieldLine("MY_VUCC_GRIDS", $qso->station_gridsquare);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
$line .= $this->getAdifFieldLine("MY_GRIDSQUARE", $qso->station_gridsquare);
|
||||
}
|
||||
|
||||
|
|
@ -100,40 +194,35 @@ class AdifHelper {
|
|||
|
||||
$line .= $this->getAdifFieldLine("MY_CNTY", $qso->station_cnty);
|
||||
|
||||
$line .= $this->getAdifFieldLine("MY_STATE", $qso->COL_MY_STATE);
|
||||
|
||||
$line .= $this->getAdifFieldLine("STX", $qso->COL_STX);
|
||||
|
||||
$line .= $this->getAdifFieldLine("STX_STRING", $qso->COL_STX_STRING);
|
||||
|
||||
$line .= $this->getAdifFieldLine("SRX", $qso->COL_SRX);
|
||||
|
||||
$line .= $this->getAdifFieldLine("SRX_STRING", $qso->COL_SRX_STRING);
|
||||
|
||||
$line .= $this->getAdifFieldLine("CONTEST_ID", $qso->COL_CONTEST_ID);
|
||||
|
||||
$line .= $this->getAdifFieldLine("TX_PWR", $qso->COL_TX_PWR);
|
||||
|
||||
$line .= $this->getAdifFieldLine("COMMENT", $qso->COL_COMMENT);
|
||||
|
||||
$line .= $this->getAdifFieldLine("MY_SIG", $qso->station_sig);
|
||||
|
||||
$line .= $this->getAdifFieldLine("MY_SIG_INFO", $qso->station_sig_info);
|
||||
|
||||
$line .= $this->getAdifFieldLine("SIG", $qso->COL_SIG);
|
||||
/*
|
||||
Missing:
|
||||
MY_ANTENNA
|
||||
MY_FISTS
|
||||
MY_IOTA_ISLAND_ID
|
||||
MY_LAT
|
||||
MY_LON
|
||||
MY_NAME
|
||||
MY_POSTAL_CODE
|
||||
MY_RIG
|
||||
MY_STATE
|
||||
MY_STREET
|
||||
MY_USACA_COUNTIES
|
||||
*/
|
||||
|
||||
$line .= $this->getAdifFieldLine("SIG_INFO", $qso->COL_SIG_INFO);
|
||||
|
||||
$line .= "<eor>\r\n";
|
||||
$line .= "<eor>\r\n\r\n";
|
||||
|
||||
return $line;
|
||||
}
|
||||
|
||||
function getAdifFieldLine($adifcolumn, $dbvalue) {
|
||||
if ($dbvalue != "") {
|
||||
return "<" . $adifcolumn . ":" . mb_strlen($dbvalue, "UTF-8") . ">" . $dbvalue;
|
||||
if ($dbvalue !== "" && $dbvalue !== null && $dbvalue !== 0) {
|
||||
return "<" . $adifcolumn . ":" . mb_strlen($dbvalue, "UTF-8") . ">" . $dbvalue . "\r\n";
|
||||
} else {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,12 +13,19 @@ class Migration_add_reset_pass_to_users extends CI_Migration {
|
|||
|
||||
public function up()
|
||||
{
|
||||
$fields = array(
|
||||
'reset_password_code varchar(50) DEFAULT NULL',
|
||||
'reset_password_date TIMESTAMP NULL DEFAULT NULL',
|
||||
);
|
||||
if (!$this->db->field_exists('reset_password_code', 'users')) {
|
||||
$fields = array(
|
||||
'reset_password_code varchar(50) DEFAULT NULL',
|
||||
);
|
||||
$this->dbforge->add_column('users', $fields);
|
||||
}
|
||||
|
||||
$this->dbforge->add_column('users', $fields);
|
||||
if (!$this->db->field_exists('reset_password_date', 'users')) {
|
||||
$fields = array(
|
||||
'reset_password_date TIMESTAMP NULL DEFAULT NULL',
|
||||
);
|
||||
$this->dbforge->add_column('users', $fields);
|
||||
}
|
||||
}
|
||||
|
||||
public function down()
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ defined('BASEPATH') OR exit('No direct script access allowed');
|
|||
* removing the need for lots of configuration files.
|
||||
*/
|
||||
|
||||
class Migration_create_station_logbook_relationship_table extends CI_Migration {
|
||||
class Migration_create_station_logbook_relationship_table2 extends CI_Migration {
|
||||
|
||||
public function up()
|
||||
{
|
||||
|
|
@ -15,15 +15,18 @@ class Migration_add_public_slug_to_stationlogbooks extends CI_Migration {
|
|||
$fields = array(
|
||||
'public_slug' => array(
|
||||
'type' => 'VARCHAR',
|
||||
'constraint' => '200',
|
||||
'constraint' => '191',
|
||||
'null' => TRUE,
|
||||
'unique' => TRUE
|
||||
)
|
||||
);
|
||||
);
|
||||
|
||||
$this->dbforge->add_column('station_logbooks', $fields);
|
||||
if (!$this->db->field_exists('public_slug', 'station_logbooks')) {
|
||||
$this->dbforge->add_column('station_logbooks', $fields);
|
||||
|
||||
$this->dbforge->add_key('public_slug');
|
||||
$this->dbforge->add_key('public_slug');
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1952,9 +1952,19 @@ class Logbook_model extends CI_Model {
|
|||
$time_on = date('Y-m-d', strtotime($record['qso_date'])) ." ".date('H:i:s', strtotime($record['time_on']));
|
||||
|
||||
if (isset($record['time_off'])) {
|
||||
$time_off = date('Y-m-d', strtotime($record['qso_date'])) ." ".date('H:i:s', strtotime($record['time_off']));
|
||||
if (isset($record['date_off'])) {
|
||||
// date_off and time_off set
|
||||
$time_off = date('Y-m-d', strtotime($record['date_off'])) . ' ' . date('H:i:s', strtotime($record['time_off']));
|
||||
} elseif (strtotime($record['time_off']) < strtotime($record['time_on'])) {
|
||||
// date_off is not set, QSO ends next day
|
||||
$time_off = date('Y-m-d', strtotime($record['qso_date'] . ' + 1 day')) . ' ' . date('H:i:s', strtotime($record['time_off']));
|
||||
} else {
|
||||
// date_off is not set, QSO ends same day
|
||||
$time_off = date('Y-m-d', strtotime($record['qso_date'])) . ' ' . date('H:i:s', strtotime($record['time_off']));
|
||||
}
|
||||
} else {
|
||||
$time_off = $time_on;
|
||||
// date_off and time_off not set, QSO end == QSO start
|
||||
$time_off = $time_on;
|
||||
}
|
||||
|
||||
// Store Freq
|
||||
|
|
|
|||
|
|
@ -124,6 +124,33 @@ class Logbooks_model extends CI_Model {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
function is_public_slug_available($slug) {
|
||||
// Clean public_slug
|
||||
$clean_slug = $this->security->xss_clean($slug);
|
||||
|
||||
|
||||
$this->db->where('public_slug', $clean_slug);
|
||||
$query = $this->db->get('station_logbooks');
|
||||
|
||||
if ($query->num_rows() > 0){
|
||||
return false;
|
||||
}
|
||||
else{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
function save_public_slug($public_slug, $logbook_id) {
|
||||
$data = array(
|
||||
'public_slug' => xss_clean($public_slug),
|
||||
);
|
||||
|
||||
$this->db->where('user_id', $this->session->userdata('user_id'));
|
||||
$this->db->where('logbook_id', xss_clean($logbook_id));
|
||||
$this->db->update('station_logbooks', $data);
|
||||
}
|
||||
|
||||
function list_logbook_relationships($logbook_id) {
|
||||
|
||||
$relationships_array = array();
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<ADIF_VERS:5>3.1.0
|
||||
Cloudlog ADIF export
|
||||
<ADIF_VER:5>3.1.2
|
||||
<PROGRAMID:<?php echo strlen($this->config->item('app_name')); ?>><?php echo $this->config->item('app_name')."\r\n"; ?>
|
||||
<PROGRAMVERSION:<?php echo strlen('Version ' . $this->config->item('app_version')); ?>>Version <?php echo $this->config->item('app_version')."\r\n"; ?>
|
||||
<EOH>
|
||||
|
|
|
|||
|
|
@ -2,7 +2,8 @@
|
|||
header('Content-Type: text/plain; charset=utf-8');
|
||||
header('Content-Disposition: attachment; filename="'.$this->session->userdata('user_callsign').'-'.date('dmY-Hi').'.adi"')
|
||||
?>
|
||||
<ADIF_VERS:5>3.1.0
|
||||
Cloudlog ADIF export
|
||||
<ADIF_VER:5>3.1.2
|
||||
<PROGRAMID:<?php echo strlen($this->config->item('app_name')); ?>><?php echo $this->config->item('app_name')."\r\n"; ?>
|
||||
<PROGRAMVERSION:<?php echo strlen('Version ' . $this->config->item('app_version')); ?>>Version <?php echo $this->config->item('app_version')."\r\n"; ?>
|
||||
<EOH>
|
||||
|
|
|
|||
|
|
@ -2,7 +2,8 @@
|
|||
header('Content-Type: text/plain; charset=utf-8');
|
||||
header('Content-Disposition: attachment; filename="'.$this->session->userdata('user_callsign').'-'.date('dmY-Hi').'.adi"')
|
||||
?>
|
||||
<ADIF_VERS:5>3.1.0
|
||||
Cloudlog ADIF export
|
||||
<ADIF_VER:5>3.1.2
|
||||
<PROGRAMID:<?php echo strlen($this->config->item('app_name')); ?>><?php echo $this->config->item('app_name')."\r\n"; ?>
|
||||
<PROGRAMVERSION:<?php echo strlen('Version ' . $this->config->item('app_version')); ?>>Version <?php echo $this->config->item('app_version')."\r\n"; ?>
|
||||
<EOH>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<ADIF_VERS:5>3.1.0
|
||||
Cloudlog ADIF export
|
||||
<ADIF_VER:5>3.1.2
|
||||
<PROGRAMID:<?php echo strlen($this->config->item('app_name')); ?>><?php echo $this->config->item('app_name')."\n"; ?>
|
||||
<PROGRAMVERSION:<?php echo strlen($this->config->item('app_version')); ?>>Version <?php echo $this->config->item('app_version')."\n"; ?>
|
||||
<EOH>
|
||||
|
|
|
|||
|
|
@ -60,7 +60,11 @@
|
|||
<option value="All">All</option>
|
||||
<?php
|
||||
foreach($dxcc as $d){
|
||||
echo '<option value=' . $d->adif . '>' . $d->prefix . ' - ' . ucwords(strtolower(($d->name))) . '</option>';
|
||||
echo '<option value=' . $d->adif . '>' . $d->prefix . ' - ' . ucwords(strtolower(($d->name)));
|
||||
if ($d->Enddate != null) {
|
||||
echo ' (deleted dxcc)';
|
||||
}
|
||||
echo '</option>';
|
||||
}
|
||||
?>
|
||||
|
||||
|
|
|
|||
|
|
@ -8,6 +8,9 @@
|
|||
<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/darkmodehelpers.js"></script>
|
||||
<script src="<?php echo base_url(); ?>assets/js/bootstrapdialog/js/bootstrap-dialog.min.js"></script>
|
||||
<script type="text/javascript" src="<?php echo base_url() ;?>assets/js/easyprint.js"></script>
|
||||
<script src="https://unpkg.com/htmx.org@1.6.1"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
/*
|
||||
*
|
||||
|
|
@ -1022,6 +1025,15 @@ $(document).on('keypress',function(e) {
|
|||
}).addTo(mymap);
|
||||
|
||||
|
||||
|
||||
var printer = L.easyPrint({
|
||||
tileLayer: tiles,
|
||||
sizeModes: ['Current', 'A4Landscape', 'A4Portrait'],
|
||||
filename: 'myMap',
|
||||
exportOnly: true,
|
||||
hideControlContainer: true
|
||||
}).addTo(mymap);
|
||||
|
||||
var redIcon = L.icon({
|
||||
iconUrl: icon_dot_url,
|
||||
iconSize: [18, 18], // size of the icon
|
||||
|
|
@ -1071,13 +1083,20 @@ $(document).ready(function(){
|
|||
id: 'mapbox.streets'
|
||||
});
|
||||
|
||||
|
||||
var map = L.map('gridsquare_map', {
|
||||
layers: [layer],
|
||||
center: [19, 0],
|
||||
zoom: 2
|
||||
});
|
||||
|
||||
var printer = L.easyPrint({
|
||||
tileLayer: layer,
|
||||
sizeModes: ['Current'],
|
||||
filename: 'myMap',
|
||||
exportOnly: true,
|
||||
hideControlContainer: true
|
||||
}).addTo(map);
|
||||
|
||||
var grid_two = <?php echo $grid_2char; ?>;
|
||||
var grid_four = <?php echo $grid_4char; ?>;
|
||||
var grid_six = <?php echo $grid_6char; ?>;
|
||||
|
|
@ -1341,12 +1360,20 @@ $(document).ready(function(){
|
|||
var callsign = $("#callsign").text();
|
||||
var mymap = L.map('mapqso').setView([lat,long], 5);
|
||||
|
||||
L.tileLayer('<?php echo $this->optionslib->get_option('map_tile_server');?>', {
|
||||
var tiles = L.tileLayer('<?php echo $this->optionslib->get_option('map_tile_server');?>', {
|
||||
maxZoom: 18,
|
||||
attribution: '<?php echo $this->optionslib->get_option('map_tile_server_copyright');?>',
|
||||
id: 'mapbox.streets'
|
||||
}).addTo(mymap);
|
||||
|
||||
|
||||
var printer = L.easyPrint({
|
||||
tileLayer: tiles,
|
||||
sizeModes: ['Current'],
|
||||
filename: 'myMap',
|
||||
exportOnly: true,
|
||||
hideControlContainer: true
|
||||
}).addTo(mymap);
|
||||
|
||||
var redIcon = L.icon({
|
||||
iconUrl: icon_dot_url,
|
||||
iconSize: [18, 18], // size of the icon
|
||||
|
|
|
|||
|
|
@ -33,7 +33,11 @@
|
|||
<option value="All">All</option>
|
||||
<?php
|
||||
foreach($dxcc as $d){
|
||||
echo '<option value=' . $d->adif . '>' . $d->prefix . ' - ' . ucwords(strtolower(($d->name))) . '</option>';
|
||||
echo '<option value=' . $d->adif . '>' . $d->prefix . ' - ' . ucwords(strtolower(($d->name)));
|
||||
if ($d->Enddate != null) {
|
||||
echo ' (deleted dxcc)';
|
||||
}
|
||||
echo '</option>';
|
||||
}
|
||||
?>
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,10 @@
|
|||
<div hx-target="this" hx-swap="outerHTML">
|
||||
<input aria-describedat="slugHelp" pattern="[a-zA-Z0-9-]+" class="form-control <?php if($slugAvailable == true) { echo "is-valid"; } else { echo "is-invalid"; } ?>" name="public_slug" id="publicSlugInput" hx-post="<?php echo site_url('logbooks/publicslug_validate/'); ?>" value="<?php echo $this->input->post('public_slug'); ?>" hx-trigger="keyup changed delay:500ms" required>
|
||||
<?php
|
||||
if($slugAvailable == true) { ?>
|
||||
<div class="valid-feedback">Looks good! <?php echo $this->input->post('public_slug'); ?> is available</div>
|
||||
<?php } else { ?>
|
||||
<div class="invalid-feedback">Please choose a public slug. <?php echo $this->input->post('public_slug'); ?> is not available</div>
|
||||
<?php } ?>
|
||||
|
||||
</div>
|
||||
|
|
@ -40,7 +40,30 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-md">
|
||||
<div class="card">
|
||||
<div class="card-header">Public Slug</div>
|
||||
<div class="card-body">
|
||||
<p>Setting a public slug allows you to share your logbook with anyone via a custom website address, this slug can contain letters & numbers only.</p>
|
||||
|
||||
<form hx-post="<?php echo site_url('logbooks/save_publicslug/'); ?>" hx-target="#publicSlugForm">
|
||||
<div id="publicSlugForm">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<input type="hidden" name="logbook_id" value="<?php echo $station_logbook_details->logbook_id; ?>">
|
||||
<label for="publicSlugInput">Type in Public Slug choice</label>
|
||||
<div hx-target="this" hx-swap="outerHTML">
|
||||
<input class="form-control" name="public_slug" id="publicSlugInput" pattern="[a-zA-Z0-9-]+" value="<?php echo $station_logbook_details->public_slug; ?>" hx-post="<?php echo site_url('logbooks/publicslug_validate/'); ?>" hx-trigger="keyup changed delay:500ms" required>
|
||||
</div>
|
||||
</div>
|
||||
<button type="submit" class="btn btn-primary"><i class="fas fa-plus-square"></i> Save</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md">
|
||||
<div class="card">
|
||||
<div class="card-header">Station Locations</div>
|
||||
|
|
@ -60,7 +83,7 @@
|
|||
<input type="hidden" class="form-control" name="station_logbook_id" value="<?php echo $station_logbook_details->logbook_id; ?>" required>
|
||||
|
||||
<button type="submit" class="btn btn-primary"><i class="fas fa-plus-square"></i> Link Location</button>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -14,7 +14,11 @@
|
|||
|
||||
<?php
|
||||
foreach($dxcc as $d){
|
||||
echo '<option value=' . $d->adif . '>' . $d->prefix . ' - ' . ucwords(strtolower(($d->name))) . '</option>';
|
||||
echo '<option value=' . $d->adif . '>' . $d->prefix . ' - ' . ucwords(strtolower(($d->name)));
|
||||
if ($d->Enddate != null) {
|
||||
echo ' (deleted dxcc)';
|
||||
}
|
||||
echo '</option>';
|
||||
}
|
||||
?>
|
||||
|
||||
|
|
|
|||
|
|
@ -266,7 +266,11 @@
|
|||
if ($qso->COL_DXCC == $d->adif) {
|
||||
echo " selected=\"selected\"";
|
||||
}
|
||||
echo '>' . $d->prefix . ' - ' . $d->name . '</option>';
|
||||
echo '>' . $d->prefix . ' - ' . ucwords(strtolower($d->name));
|
||||
if ($d->Enddate != null) {
|
||||
echo ' (deleted dxcc)';
|
||||
}
|
||||
echo '</option>';
|
||||
}
|
||||
?>
|
||||
|
||||
|
|
|
|||
|
|
@ -258,7 +258,11 @@
|
|||
<option value="0">None</option>
|
||||
<?php
|
||||
foreach($dxcc as $d){
|
||||
echo '<option value=' . $d->adif . '>' . $d->prefix . ' - ' . ucwords(strtolower(($d->name))) . '</option>';
|
||||
echo '<option value=' . $d->adif . '>' . $d->prefix . ' - ' . ucwords(strtolower(($d->name)));
|
||||
if ($d->Enddate != null) {
|
||||
echo ' (deleted dxcc)';
|
||||
}
|
||||
echo '</option>';
|
||||
}
|
||||
?>
|
||||
|
||||
|
|
|
|||
|
|
@ -46,7 +46,8 @@
|
|||
<select class="form-control" id="dxcc_select" name="dxcc" aria-describedby="stationCallsignInputHelp">
|
||||
<option value="0" selected>NONE</option>
|
||||
<?php foreach ($dxcc_list->result() as $dxcc) { ?>
|
||||
<option value="<?php echo $dxcc->adif; ?>"><?php echo $dxcc->name; ?></option>
|
||||
<option value="<?php echo $dxcc->adif; ?>"><?php echo ucwords(strtolower($dxcc->name)) . ' - ' . $dxcc->prefix; if ($dxcc->end != NULL) echo ' (deleted dxcc)';?>
|
||||
</option>
|
||||
<?php } ?>
|
||||
</select>
|
||||
<?php } ?>
|
||||
|
|
|
|||
|
|
@ -57,7 +57,8 @@
|
|||
<select class="form-control" id="dxcc_select" name="dxcc" aria-describedby="stationCallsignInputHelp">
|
||||
<option value="0" <?php if($my_station_profile->station_dxcc == "0") { ?>selected<?php } ?>>NONE</option>
|
||||
<?php foreach ($dxcc_list->result() as $dxcc) { ?>
|
||||
<option value="<?php echo $dxcc->adif; ?>" <?php if($my_station_profile->station_dxcc == $dxcc->adif) { ?>selected<?php } ?>><?php echo $dxcc->name; ?></option>
|
||||
<option value="<?php echo $dxcc->adif; ?>" <?php if($my_station_profile->station_dxcc == $dxcc->adif) { ?>selected<?php } ?>><?php echo ucwords(strtolower($dxcc->name)) . ' - ' . $dxcc->prefix; if ($dxcc->end != NULL) echo ' (deleted dxcc)';?>
|
||||
</option>
|
||||
<?php } ?>
|
||||
</select>
|
||||
<?php } ?>
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
<?php
|
||||
if ($dxcc_list->num_rows() > 0) {
|
||||
foreach ($dxcc_list->result() as $dxcc) {
|
||||
echo '<option value=' . $dxcc->adif . '> ' . $dxcc->name . ' - ' . $dxcc->prefix;
|
||||
echo '<option value=' . $dxcc->adif . '> ' . ucwords(strtolower($dxcc->name)) . ' - ' . $dxcc->prefix;
|
||||
if ($dxcc->end != null) {
|
||||
echo ' (deleted)';
|
||||
}
|
||||
|
|
|
|||
2
assets/js/easyprint.js
普通文件
2
assets/js/easyprint.js
普通文件
文件差异因一行或多行过长而隐藏
|
|
@ -26,6 +26,14 @@ function initmap(ShowGrid = 'No') {
|
|||
var osmAttrib='Map data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors';
|
||||
var osm = new L.TileLayer(osmUrl, {minZoom: 1, maxZoom: 9, attribution: osmAttrib});
|
||||
|
||||
var printer = L.easyPrint({
|
||||
tileLayer: osm,
|
||||
sizeModes: ['Current'],
|
||||
filename: 'myMap',
|
||||
exportOnly: true,
|
||||
hideControlContainer: true
|
||||
}).addTo(map);
|
||||
|
||||
// start the map in South-East England
|
||||
map.setView(new L.LatLng(q_lat, q_lng), q_zoom);
|
||||
|
||||
|
|
|
|||
正在加载…
在新工单中引用