Merge branch 'dev' into addM17AndFreeDV

这个提交包含在:
Peter Goodhall 2022-12-07 10:50:28 +00:00 提交者 GitHub
当前提交 f7bfee9850
找不到此签名对应的密钥
GPG 密钥 ID: 4AEE18F83AFDEB23
共有 46 个文件被更改,包括 40213 次插入79 次删除

查看文件

@ -257,6 +257,23 @@ class Awards extends CI_Controller {
$this->load->view('interface_assets/footer'); $this->load->view('interface_assets/footer');
} }
/*
Handles showing worked POTAs
Comment field - POTA:#
*/
public function pota() {
// Grab all worked pota stations
$this->load->model('pota');
$data['pota_all'] = $this->pota->get_all();
// Render page
$data['page_title'] = "Awards - POTA";
$this->load->view('interface_assets/header', $data);
$this->load->view('awards/pota/index');
$this->load->view('interface_assets/footer');
}
public function cq() { public function cq() {
$CI =& get_instance(); $CI =& get_instance();
$CI->load->model('logbooks_model'); $CI->load->model('logbooks_model');

查看文件

@ -369,6 +369,35 @@ class QSO extends CI_Controller {
echo json_encode($json); echo json_encode($json);
} }
public function get_pota() {
$json = [];
if(!empty($this->input->get("query"))) {
$query = isset($_GET['query']) ? $_GET['query'] : FALSE;
$pota = strtoupper($query);
$file = 'assets/json/pota.txt';
if (is_readable($file)) {
$lines = file($file, FILE_IGNORE_NEW_LINES);
$input = preg_quote($pota, '~');
$reg = '~^'. $input .'(.*)$~';
$result = preg_grep($reg, $lines);
$json = [];
$i = 0;
foreach ($result as &$value) {
// Limit to 100 as to not slowdown browser too much
if (count($json) <= 100) {
$json[] = ["name"=>$value];
}
}
}
}
header('Content-Type: application/json');
echo json_encode($json);
}
/* /*
* Function is used for autocompletion of DOK in the QSO entry form * Function is used for autocompletion of DOK in the QSO entry form
*/ */

查看文件

@ -417,6 +417,43 @@ class Update extends CI_Controller {
} }
} }
public function update_pota() {
$csvfile = 'https://pota.app/all_parks.csv';
$potafile = './assets/json/pota.txt';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $csvfile);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_USERAGENT, 'Cloudlog Updater');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$csv = curl_exec($ch);
curl_close($ch);
$potafilehandle = fopen($potafile, 'w');
$data = str_getcsv($csv,"\n");
foreach ($data as $idx => $row) {
if ($idx == 0) continue; // Skip line we are not interested in
$row = str_getcsv($row, ',');
if ($row[0]) {
fwrite($potafilehandle, $row[0].PHP_EOL);
}
}
fclose($potafilehandle);
if (file_exists($potafile))
{
$nCount = count(file($potafile));
if ($nCount > 0)
{
echo "DONE: " . number_format($nCount) . " POTA's saved";
} else {
echo"FAILED: Empty file";
}
} else {
echo"FAILED: Could not create pota.txt file locally";
}
}
} }
?> ?>

查看文件

@ -12,8 +12,8 @@ $lang['qso_transmit_power_helptext'] = 'Посочете стойността н
$lang['qso_sota_ref_helptext'] = 'Например: GM/NS-001.'; $lang['qso_sota_ref_helptext'] = 'Например: GM/NS-001.';
$lang['qso_sig_helptext'] = 'Например: WWFF или POTA'; $lang['qso_sig_helptext'] = 'Например: GMA';
$lang['qso_sig_info_helptext'] = 'Например: DLFF-0029'; $lang['qso_sig_info_helptext'] = 'Например: DA/NW-357';
$lang['qso_dok_helptext'] = 'Например: Q03'; $lang['qso_dok_helptext'] = 'Например: Q03';

查看文件

@ -12,8 +12,8 @@ $lang['qso_transmit_power_helptext'] = '以瓦特为单位设置功率值。在
$lang['qso_sota_ref_helptext'] = '例如: GM/NS-001.'; $lang['qso_sota_ref_helptext'] = '例如: GM/NS-001.';
$lang['qso_sig_helptext'] = '例如: WWFF or POTA'; $lang['qso_sig_helptext'] = '例如: GMA';
$lang['qso_sig_info_helptext'] = '例如: DLFF-0029'; $lang['qso_sig_info_helptext'] = '例如: DA/NW-357';
$lang['qso_dok_helptext'] = '例如: Q03'; $lang['qso_dok_helptext'] = '例如: Q03';

查看文件

@ -12,8 +12,8 @@ $lang['qso_transmit_power_helptext'] = 'Zadej výkon ve Wattech. Jsou povolen po
$lang['qso_sota_ref_helptext'] = 'Příklad: GM/NS-001.'; $lang['qso_sota_ref_helptext'] = 'Příklad: GM/NS-001.';
$lang['qso_sig_helptext'] = 'Příklad: WWFF or POTA'; $lang['qso_sig_helptext'] = 'Příklad: GMA';
$lang['qso_sig_info_helptext'] = 'Příklad: DLFF-0029'; $lang['qso_sig_info_helptext'] = 'Příklad: DA/NW-357';
$lang['qso_dok_helptext'] = 'Příklad: Q03'; $lang['qso_dok_helptext'] = 'Příklad: Q03';

查看文件

@ -12,8 +12,8 @@ $lang['qso_transmit_power_helptext'] = 'Geef vermogen in Watt. Vermeld alleen ci
$lang['qso_sota_ref_helptext'] = 'Bijvoorbeeld: GM/NS-001.'; $lang['qso_sota_ref_helptext'] = 'Bijvoorbeeld: GM/NS-001.';
$lang['qso_sig_helptext'] = 'Bijvoorbeeld: WWFF of POTA'; $lang['qso_sig_helptext'] = 'Bijvoorbeeld: GMA';
$lang['qso_sig_info_helptext'] = 'Bijvoorbeeld: DLFF-0029'; $lang['qso_sig_info_helptext'] = 'Bijvoorbeeld: DA/NW-357';
$lang['qso_dok_helptext'] = 'Bijvoorbeeld: Q03'; $lang['qso_dok_helptext'] = 'Bijvoorbeeld: Q03';

查看文件

@ -99,11 +99,13 @@ $lang['gen_hamradio_county_reference'] = 'USA County';
$lang['gen_hamradio_iota_reference'] = 'IOTA Reference'; $lang['gen_hamradio_iota_reference'] = 'IOTA Reference';
$lang['gen_hamradio_sota_reference'] = 'SOTA Reference'; $lang['gen_hamradio_sota_reference'] = 'SOTA Reference';
$lang['gen_hamradio_wwff_reference'] = 'WWFF Reference'; $lang['gen_hamradio_wwff_reference'] = 'WWFF Reference';
$lang['gen_hamradio_pota_reference'] = 'POTA Reference';
$lang['gen_hamradio_dok'] = 'DOK'; $lang['gen_hamradio_dok'] = 'DOK';
$lang['gen_hamradio_state'] = 'State'; $lang['gen_hamradio_state'] = 'State';
$lang['gen_hamradio_iota'] = 'IOTA'; $lang['gen_hamradio_iota'] = 'IOTA';
$lang['gen_hamradio_sota'] = 'SOTA'; $lang['gen_hamradio_sota'] = 'SOTA';
$lang['gen_hamradio_wwff'] = 'WWFF'; $lang['gen_hamradio_wwff'] = 'WWFF';
$lang['gen_hamradio_pota'] = 'POTA';
$lang['gen_hamradio_gridsquare'] = 'Gridsquare'; $lang['gen_hamradio_gridsquare'] = 'Gridsquare';
$lang['gen_hamradio_operator'] = 'Operator'; $lang['gen_hamradio_operator'] = 'Operator';

查看文件

@ -13,9 +13,10 @@ $lang['qso_transmit_power_helptext'] = 'Give power value in Watts. Include only
$lang['qso_sota_ref_helptext'] = 'For example: GM/NS-001.'; $lang['qso_sota_ref_helptext'] = 'For example: GM/NS-001.';
$lang['qso_wwff_ref_helptext'] = 'For example: DLFF-0069.'; $lang['qso_wwff_ref_helptext'] = 'For example: DLFF-0069.';
$lang['qso_pota_ref_helptext'] = 'For example: PA-0150.';
$lang['qso_sig_helptext'] = 'For example: POTA'; $lang['qso_sig_helptext'] = 'For example: GMA';
$lang['qso_sig_info_helptext'] = 'For example: PA-0150'; $lang['qso_sig_info_helptext'] = 'For example: DA/NW-357';
$lang['qso_dok_helptext'] = 'For example: Q03'; $lang['qso_dok_helptext'] = 'For example: Q03';

查看文件

@ -12,8 +12,8 @@ $lang['qso_transmit_power_helptext'] = 'Anna teholukema Watteina käyttäen vain
$lang['qso_sota_ref_helptext'] = 'Esimerkiksi: OH/JS-004.'; $lang['qso_sota_ref_helptext'] = 'Esimerkiksi: OH/JS-004.';
$lang['qso_sig_helptext'] = 'Esimerkiksi: WWFF tai POTA'; $lang['qso_sig_helptext'] = 'Esimerkiksi: GMA';
$lang['qso_sig_info_helptext'] = 'Esimerkiksi: OHFF-0029'; $lang['qso_sig_info_helptext'] = 'Esimerkiksi: DA/NW-357';
$lang['qso_dok_helptext'] = 'Esimerkiksi: Q03'; $lang['qso_dok_helptext'] = 'Esimerkiksi: Q03';

查看文件

@ -12,8 +12,8 @@ $lang['qso_transmit_power_helptext'] = 'Saisissez la ouissance en Watts en utili
$lang['qso_sota_ref_helptext'] = 'Par exemple: GM/NS-001.'; $lang['qso_sota_ref_helptext'] = 'Par exemple: GM/NS-001.';
$lang['qso_sig_helptext'] = 'Par exemple: WWFF or POTA'; $lang['qso_sig_helptext'] = 'Par exemple: GMA';
$lang['qso_sig_info_helptext'] = 'Par exemple: DLFF-0029'; $lang['qso_sig_info_helptext'] = 'Par exemple: DA/NW-357';
$lang['qso_dok_helptext'] = 'Par exemple: Q03'; $lang['qso_dok_helptext'] = 'Par exemple: Q03';

查看文件

@ -99,10 +99,13 @@ $lang['gen_hamradio_county_reference'] = 'USA County';
$lang['gen_hamradio_iota_reference'] = 'IOTA Referenznummer'; $lang['gen_hamradio_iota_reference'] = 'IOTA Referenznummer';
$lang['gen_hamradio_sota_reference'] = 'SOTA Referenznummer'; $lang['gen_hamradio_sota_reference'] = 'SOTA Referenznummer';
$lang['gen_hamradio_wwff_reference'] = 'WWFF Referenznummer'; $lang['gen_hamradio_wwff_reference'] = 'WWFF Referenznummer';
$lang['gen_hamradio_pota_reference'] = 'POTA Referenznummer';
$lang['gen_hamradio_dok'] = 'DOK'; $lang['gen_hamradio_dok'] = 'DOK';
$lang['gen_hamradio_state'] = 'Staat'; $lang['gen_hamradio_state'] = 'Staat';
$lang['gen_hamradio_iota'] = 'IOTA'; $lang['gen_hamradio_iota'] = 'IOTA';
$lang['gen_hamradio_sota'] = 'SOTA'; $lang['gen_hamradio_sota'] = 'SOTA';
$lang['gen_hamradio_wwff'] = 'WWFF';
$lang['gen_hamradio_pota'] = 'POTA';
$lang['gen_hamradio_gridsquare'] = 'Planquadrat'; $lang['gen_hamradio_gridsquare'] = 'Planquadrat';
$lang['gen_hamradio_operator'] = 'Operator'; $lang['gen_hamradio_operator'] = 'Operator';

查看文件

@ -13,9 +13,10 @@ $lang['qso_transmit_power_helptext'] = 'Gib die Ausgangsleistung in Watt an. Erf
$lang['qso_sota_ref_helptext'] = 'Zum Beispiel: GM/NS-001.'; $lang['qso_sota_ref_helptext'] = 'Zum Beispiel: GM/NS-001.';
$lang['qso_wwff_ref_helptext'] = 'Zum Beispiel: DLFF-0069.'; $lang['qso_wwff_ref_helptext'] = 'Zum Beispiel: DLFF-0069.';
$lang['qso_pota_ref_helptext'] = 'Zum Beispiel: PA-0150.';
$lang['qso_sig_helptext'] = 'Zum Beispiel: POTA'; $lang['qso_sig_helptext'] = 'Zum Beispiel: GMA';
$lang['qso_sig_info_helptext'] = 'Zum Beispiel: PA-0150'; $lang['qso_sig_info_helptext'] = 'Zum Beispiel: DA/NW-357';
$lang['qso_dok_helptext'] = 'Zum Beispiel: Q03'; $lang['qso_dok_helptext'] = 'Zum Beispiel: Q03';

查看文件

@ -13,9 +13,10 @@ $lang['qso_transmit_power_helptext'] = 'Dare valore di potenza in Watt. Includer
$lang['qso_sota_ref_helptext'] = 'Per esempio: GM/NS-001.'; $lang['qso_sota_ref_helptext'] = 'Per esempio: GM/NS-001.';
$lang['qso_wwff_ref_helptext'] = 'Per esempio: DLFF-0069.'; $lang['qso_wwff_ref_helptext'] = 'Per esempio: DLFF-0069.';
$lang['qso_pota_ref_helptext'] = 'Per esempio: PA-0150.';
$lang['qso_sig_helptext'] = 'Per esempio: POTA'; $lang['qso_sig_helptext'] = 'Per esempio: GMA';
$lang['qso_sig_info_helptext'] = 'Per esempio: PA-0150'; $lang['qso_sig_info_helptext'] = 'Per esempio: DA/NW-357';
$lang['qso_dok_helptext'] = 'Per esempio: Q03'; $lang['qso_dok_helptext'] = 'Per esempio: Q03';

查看文件

@ -12,8 +12,8 @@ $lang['qso_transmit_power_helptext'] = 'Wpisz wartość mocy w watach. W polu po
$lang['qso_sota_ref_helptext'] = 'Na przykład: GM/NS-001.'; $lang['qso_sota_ref_helptext'] = 'Na przykład: GM/NS-001.';
$lang['qso_sig_helptext'] = 'Na przykład: WWFF lub POTA'; $lang['qso_sig_helptext'] = 'Na przykład: GMA';
$lang['qso_sig_info_helptext'] = 'Na przykład: SPFF-0029'; $lang['qso_sig_info_helptext'] = 'Na przykład: DA/NW-357';
$lang['qso_dok_helptext'] = 'Na przykład: Q03'; $lang['qso_dok_helptext'] = 'Na przykład: Q03';

查看文件

@ -13,9 +13,10 @@ $lang['qso_transmit_power_helptext'] = 'Укажите мощность в Ва
$lang['qso_sota_ref_helptext'] = 'Например: GM/NS-001.'; $lang['qso_sota_ref_helptext'] = 'Например: GM/NS-001.';
$lang['qso_wwff_ref_helptext'] = 'Например: DLFF-0069.'; $lang['qso_wwff_ref_helptext'] = 'Например: DLFF-0069.';
$lang['qso_pota_ref_helptext'] = 'Например: PA-0150.';
$lang['qso_sig_helptext'] = 'Например: WWFF or POTA'; $lang['qso_sig_helptext'] = 'Например: GMA';
$lang['qso_sig_info_helptext'] = 'Например: DLFF-0029'; $lang['qso_sig_info_helptext'] = 'Например: DA/NW-357';
$lang['qso_dok_helptext'] = 'Например: Q03'; $lang['qso_dok_helptext'] = 'Например: Q03';

查看文件

@ -12,8 +12,8 @@ $lang['qso_transmit_power_helptext'] = 'Especifique el valor de potencia en Wati
$lang['qso_sota_ref_helptext'] = 'Por ejemplo: GM/NS-001.'; $lang['qso_sota_ref_helptext'] = 'Por ejemplo: GM/NS-001.';
$lang['qso_sig_helptext'] = 'Por ejemplo: WWFF or POTA'; $lang['qso_sig_helptext'] = 'Por ejemplo: GMA';
$lang['qso_sig_info_helptext'] = 'Por ejemplo: DLFF-0029'; $lang['qso_sig_info_helptext'] = 'Por ejemplo: DA/NW-357';
$lang['qso_dok_helptext'] = 'Por ejemplo: Q03'; $lang['qso_dok_helptext'] = 'Por ejemplo: Q03';

查看文件

@ -13,9 +13,10 @@ $lang['qso_transmit_power_helptext'] = 'Ange effekt i watt, enbart med siffror.'
$lang['qso_sota_ref_helptext'] = 'Exempel: GM/NS-001.'; $lang['qso_sota_ref_helptext'] = 'Exempel: GM/NS-001.';
$lang['qso_wwff_ref_helptext'] = 'Exempel: DLFF-0069.'; $lang['qso_wwff_ref_helptext'] = 'Exempel: DLFF-0069.';
$lang['qso_pota_ref_helptext'] = 'Exempel: PA-0150.';
$lang['qso_sig_helptext'] = 'Exempel: POTA'; $lang['qso_sig_helptext'] = 'Exempel: GMA';
$lang['qso_sig_info_helptext'] = 'Exempel: PA-0150'; $lang['qso_sig_info_helptext'] = 'Exempel: DA/NW-357';
$lang['qso_dok_helptext'] = 'Exempel: Q03'; $lang['qso_dok_helptext'] = 'Exempel: Q03';

查看文件

@ -14,9 +14,10 @@ $lang['qso_transmit_power_helptext'] = 'Gücü Watt olarak veriniz. Sadece rakam
$lang['qso_sota_ref_helptext'] = 'Örnek: GM/NS-001.'; $lang['qso_sota_ref_helptext'] = 'Örnek: GM/NS-001.';
$lang['qso_wwff_ref_helptext'] = 'Örnek: DLFF-0069.'; $lang['qso_wwff_ref_helptext'] = 'Örnek: DLFF-0069.';
$lang['qso_pota_ref_helptext'] = 'Örnek: PA-0150.';
$lang['qso_sig_helptext'] = 'Örnek: WWFF or POTA'; $lang['qso_sig_helptext'] = 'Örnek: GMA';
$lang['qso_sig_info_helptext'] = 'Örnek: DLFF-0029'; $lang['qso_sig_info_helptext'] = 'Örnek: DA/NW-357';
$lang['qso_dok_helptext'] = 'Örnek: Q03'; $lang['qso_dok_helptext'] = 'Örnek: Q03';

查看文件

@ -88,6 +88,7 @@ class AdifHelper {
'SKCC', 'SKCC',
'SOTA_REF', 'SOTA_REF',
'WWFF_REF', 'WWFF_REF',
'POTA_REF',
'SRX', 'SRX',
'SRX_STRING', 'SRX_STRING',
'STATE', 'STATE',
@ -191,6 +192,8 @@ class AdifHelper {
$line .= $this->getAdifFieldLine("MY_WWFF_REF", $qso->station_wwff); $line .= $this->getAdifFieldLine("MY_WWFF_REF", $qso->station_wwff);
$line .= $this->getAdifFieldLine("MY_POTA_REF", $qso->station_pota);
$line .= $this->getAdifFieldLine("MY_CQ_ZONE", $qso->station_cq); $line .= $this->getAdifFieldLine("MY_CQ_ZONE", $qso->station_cq);
$line .= $this->getAdifFieldLine("MY_ITU_ZONE", $qso->station_itu); $line .= $this->getAdifFieldLine("MY_ITU_ZONE", $qso->station_itu);

查看文件

@ -0,0 +1,68 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
/**
* Class Migration_add_pota_columns
*
* Add POTA columnds to database to reflect latest ADIF v3.1.4 spec changes
* See http://adif.org.uk/314/ADIF_314_annotated.htm
*
*/
class Migration_add_pota_columns extends CI_Migration {
public function up()
{
if (!$this->db->field_exists('COL_POTA_REF', 'TABLE_HRD_CONTACTS_V01')) {
$fields = array(
'COL_POTA_REF VARCHAR(30) DEFAULT NULL',
'COL_MY_POTA_REF VARCHAR(50) DEFAULT NULL',
);
$this->dbforge->add_column('TABLE_HRD_CONTACTS_V01', $fields, 'COL_VUCC_GRIDS');
// Now copy over data from SIG_INFO fields and remove COL_SIG and COL_SIG_INFO only if COL_SIG is POTA
// This cannot be reverted on downgrade to prevent overwriting of other COL_SIG information
$this->db->set('COL_POTA_REF', 'COL_SIG_INFO', FALSE);
$this->db->set('COL_SIG_INFO', '');
$this->db->set('COL_SIG', '');
$this->db->where('COL_SIG', 'POTA');
$this->db->update('TABLE_HRD_CONTACTS_V01');
}
if (!$this->db->field_exists('station_pota', 'station_profile')) {
// Add MY_POTA_REF to station profile
$fields = array(
'station_pota varchar(50) DEFAULT NULL',
);
$this->dbforge->add_column('station_profile', $fields);
}
if (!$this->db->field_exists('pota', 'bandxuser')) {
$fields = array(
'pota' => array(
'type' => 'INT',
'constraint' => 20,
'unsigned' => TRUE,
),
);
$this->dbforge->add_column('bandxuser', $fields);
$this->db->query("update bandxuser set pota = 1");
}
}
public function down()
{
if ($this->db->field_exists('COL_POTA_REF', 'TABLE_HRD_CONTACTS_V01')) {
$this->dbforge->drop_column('TABLE_HRD_CONTACTS_V01', 'COL_POTA_REF');
}
if ($this->db->field_exists('COL_MY_POTA_REF', 'TABLE_HRD_CONTACTS_V01')) {
$this->dbforge->drop_column('TABLE_HRD_CONTACTS_V01', 'COL_MY_POTA_REF');
}
if ($this->db->field_exists('station_pota', 'station_profile')) {
$this->dbforge->drop_column('station_profile', 'station_pota');
}
if ($this->db->field_exists('pota', 'bandxuser')) {
$this->dbforge->drop_column('bandxuser', 'pota');
}
}
}

查看文件

@ -247,6 +247,7 @@ class Bands extends CI_Model {
'dok' => $band['dok'] == "true" ? '1' : '0', 'dok' => $band['dok'] == "true" ? '1' : '0',
'dxcc' => $band['dxcc'] == "true" ? '1' : '0', 'dxcc' => $band['dxcc'] == "true" ? '1' : '0',
'iota' => $band['iota'] == "true" ? '1' : '0', 'iota' => $band['iota'] == "true" ? '1' : '0',
'pota' => $band['pota'] == "true" ? '1' : '0',
'sig' => $band['sig'] == "true" ? '1' : '0', 'sig' => $band['sig'] == "true" ? '1' : '0',
'sota' => $band['sota'] == "true" ? '1' : '0', 'sota' => $band['sota'] == "true" ? '1' : '0',
'uscounties' => $band['uscounties'] == "true" ? '1' : '0', 'uscounties' => $band['uscounties'] == "true" ? '1' : '0',
@ -291,8 +292,8 @@ class Bands extends CI_Model {
$this->db->insert('bands', $data); $this->db->insert('bands', $data);
} }
$this->db->query("insert into bandxuser (bandid, userid, active, cq, dok, dxcc, iota, sig, sota, uscounties, was, wwff, vucc) $this->db->query("insert into bandxuser (bandid, userid, active, cq, dok, dxcc, iota, pota, sig, sota, uscounties, was, wwff, vucc)
select bands.id, " . $this->session->userdata('user_id') . ", 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 from bands where band ='".$data['band']."' and not exists (select 1 from bandxuser where userid = " . $this->session->userdata('user_id') . " and bandid = bands.id);"); select bands.id, " . $this->session->userdata('user_id') . ", 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 from bands where band ='".$data['band']."' and not exists (select 1 from bandxuser where userid = " . $this->session->userdata('user_id') . " and bandid = bands.id);");
} }
function getband($id) { function getband($id) {
@ -317,4 +318,4 @@ class Bands extends CI_Model {
} }
} }
?> ?>

查看文件

@ -178,6 +178,7 @@ class Logbook_model extends CI_Model {
'COL_CNTY' => $clean_county_input, 'COL_CNTY' => $clean_county_input,
'COL_SOTA_REF' => trim($this->input->post('sota_ref')), 'COL_SOTA_REF' => trim($this->input->post('sota_ref')),
'COL_WWFF_REF' => trim($this->input->post('wwff_ref')), 'COL_WWFF_REF' => trim($this->input->post('wwff_ref')),
'COL_POTA_REF' => trim($this->input->post('pota_ref')),
'COL_SIG' => trim($this->input->post('sig')), 'COL_SIG' => trim($this->input->post('sig')),
'COL_SIG_INFO' => trim($this->input->post('sig_info')), 'COL_SIG_INFO' => trim($this->input->post('sig_info')),
'COL_DARC_DOK' => strtoupper(trim($darc_dok)), 'COL_DARC_DOK' => strtoupper(trim($darc_dok)),
@ -211,6 +212,7 @@ class Logbook_model extends CI_Model {
$data['COL_MY_IOTA'] = strtoupper(trim($station['station_iota'])); $data['COL_MY_IOTA'] = strtoupper(trim($station['station_iota']));
$data['COL_MY_SOTA_REF'] = strtoupper(trim($station['station_sota'])); $data['COL_MY_SOTA_REF'] = strtoupper(trim($station['station_sota']));
$data['COL_MY_WWFF_REF'] = strtoupper(trim($station['station_wwff'])); $data['COL_MY_WWFF_REF'] = strtoupper(trim($station['station_wwff']));
$data['COL_MY_POTA_REF'] = strtoupper(trim($station['station_pota']));
$data['COL_STATION_CALLSIGN'] = strtoupper(trim($station['station_callsign'])); $data['COL_STATION_CALLSIGN'] = strtoupper(trim($station['station_callsign']));
$data['COL_MY_DXCC'] = strtoupper(trim($station['station_dxcc'])); $data['COL_MY_DXCC'] = strtoupper(trim($station['station_dxcc']));
@ -287,6 +289,9 @@ class Logbook_model extends CI_Model {
case 'WWFF': case 'WWFF':
$this->db->where('COL_WWFF_REF', $searchphrase); $this->db->where('COL_WWFF_REF', $searchphrase);
break; break;
case 'POTA':
$this->db->where('COL_POTA_REF', $searchphrase);
break;
} }
$this->db->where_in($this->config->item('table_name').'.station_id', $logbooks_locations_array); $this->db->where_in($this->config->item('table_name').'.station_id', $logbooks_locations_array);
@ -723,6 +728,7 @@ class Logbook_model extends CI_Model {
'COL_IOTA' => $this->input->post('iota_ref'), 'COL_IOTA' => $this->input->post('iota_ref'),
'COL_SOTA_REF' => $this->input->post('sota_ref'), 'COL_SOTA_REF' => $this->input->post('sota_ref'),
'COL_WWFF_REF' => $this->input->post('wwff_ref'), 'COL_WWFF_REF' => $this->input->post('wwff_ref'),
'COL_POTA_REF' => $this->input->post('pota_ref'),
'COL_TX_PWR' => $txpower, 'COL_TX_PWR' => $txpower,
'COL_SIG' => $this->input->post('sig'), 'COL_SIG' => $this->input->post('sig'),
'COL_SIG_INFO' => $this->input->post('sig_info'), 'COL_SIG_INFO' => $this->input->post('sig_info'),
@ -2680,6 +2686,7 @@ class Logbook_model extends CI_Model {
'COL_MY_SIG_INTL' => (!empty($record['my_sig_intl'])) ? $record['my_sig_intl'] : '', 'COL_MY_SIG_INTL' => (!empty($record['my_sig_intl'])) ? $record['my_sig_intl'] : '',
'COL_MY_SOTA_REF' => (!empty($record['my_sota_ref'])) ? $record['my_sota_ref'] : '', 'COL_MY_SOTA_REF' => (!empty($record['my_sota_ref'])) ? $record['my_sota_ref'] : '',
'COL_MY_WWFF_REF' => (!empty($record['my_wwff_ref'])) ? $record['my_wwff_ref'] : '', 'COL_MY_WWFF_REF' => (!empty($record['my_wwff_ref'])) ? $record['my_wwff_ref'] : '',
'COL_MY_POTA_REF' => (!empty($record['my_pota_ref'])) ? $record['my_pota_ref'] : '',
'COL_MY_STATE' => (!empty($record['my_state'])) ? $record['my_state'] : '', 'COL_MY_STATE' => (!empty($record['my_state'])) ? $record['my_state'] : '',
'COL_MY_STREET' => (!empty($record['my_street'])) ? $record['my_street'] : '', 'COL_MY_STREET' => (!empty($record['my_street'])) ? $record['my_street'] : '',
'COL_MY_STREET_INTL' => (!empty($record['my_street_intl'])) ? $record['my_street_intl'] : '', 'COL_MY_STREET_INTL' => (!empty($record['my_street_intl'])) ? $record['my_street_intl'] : '',
@ -2729,12 +2736,13 @@ class Logbook_model extends CI_Model {
'COL_SKCC' => (!empty($record['skcc'])) ? $record['skcc'] : '', 'COL_SKCC' => (!empty($record['skcc'])) ? $record['skcc'] : '',
'COL_SOTA_REF' => (!empty($record['sota_ref'])) ? $record['sota_ref'] : '', 'COL_SOTA_REF' => (!empty($record['sota_ref'])) ? $record['sota_ref'] : '',
'COL_WWFF_REF' => (!empty($record['wwff_ref'])) ? $record['wwff_ref'] : '', 'COL_WWFF_REF' => (!empty($record['wwff_ref'])) ? $record['wwff_ref'] : '',
'COL_POTA_REF' => (!empty($record['pota_ref'])) ? $record['pota_ref'] : '',
'COL_SRX' => (!empty($record['srx'])) ? (int)$record['srx'] : null, 'COL_SRX' => (!empty($record['srx'])) ? (int)$record['srx'] : null,
//convert to integer to make sure no invalid entries are imported //convert to integer to make sure no invalid entries are imported
'COL_SRX_STRING' => (!empty($record['srx_string'])) ? $record['srx_string'] : '', 'COL_SRX_STRING' => (!empty($record['srx_string'])) ? $record['srx_string'] : '',
'COL_STATE' => (!empty($record['state'])) ? strtoupper($record['state']) : '', 'COL_STATE' => (!empty($record['state'])) ? strtoupper($record['state']) : '',
'COL_STATION_CALLSIGN' => (!empty($record['station_callsign'])) ? $record['station_callsign'] : '', 'COL_STATION_CALLSIGN' => (!empty($record['station_callsign'])) ? $record['station_callsign'] : '',
//convert to integer to make sure no invalid entries are imported //convert to integer to make sure no invalid entries are imported
'COL_STX' => (!empty($record['stx'])) ? (int)$record['stx'] : null, 'COL_STX' => (!empty($record['stx'])) ? (int)$record['stx'] : null,
'COL_STX_STRING' => (!empty($record['stx_string'])) ? $record['stx_string'] : '', 'COL_STX_STRING' => (!empty($record['stx_string'])) ? $record['stx_string'] : '',
'COL_SUBMODE' => $input_submode, 'COL_SUBMODE' => $input_submode,
@ -2769,6 +2777,7 @@ class Logbook_model extends CI_Model {
$data['COL_MY_IOTA'] = strtoupper(trim($row['station_iota'])); $data['COL_MY_IOTA'] = strtoupper(trim($row['station_iota']));
$data['COL_MY_SOTA_REF'] = strtoupper(trim($row['station_sota'])); $data['COL_MY_SOTA_REF'] = strtoupper(trim($row['station_sota']));
$data['COL_MY_WWFF_REF'] = strtoupper(trim($row['station_wwff'])); $data['COL_MY_WWFF_REF'] = strtoupper(trim($row['station_wwff']));
$data['COL_MY_POTA_REF'] = strtoupper(trim($row['station_pota']));
$data['COL_STATION_CALLSIGN'] = strtoupper(trim($row['station_callsign'])); $data['COL_STATION_CALLSIGN'] = strtoupper(trim($row['station_callsign']));
$data['COL_MY_DXCC'] = strtoupper(trim($row['station_dxcc'])); $data['COL_MY_DXCC'] = strtoupper(trim($row['station_dxcc']));

27
application/models/Pota.php 普通文件
查看文件

@ -0,0 +1,27 @@
<?php
class Pota extends CI_Model {
function get_all() {
$CI =& get_instance();
$CI->load->model('logbooks_model');
$logbooks_locations_array = $CI->logbooks_model->list_logbook_relationships($this->session->userdata('active_station_logbook'));
if (!$logbooks_locations_array) {
return null;
}
$this->load->model('bands');
$bandslots = $this->bands->get_worked_bands('pota');
$this->db->where_in("station_id", $logbooks_locations_array);
$this->db->where_in("col_band", $bandslots);
$this->db->order_by("COL_POTA_REF", "ASC");
$this->db->where('COL_POTA_REF !=', '');
return $this->db->get($this->config->item('table_name'));
}
}
?>

查看文件

@ -65,6 +65,7 @@ class Stations extends CI_Model {
'station_iota' => xss_clean(strtoupper($this->input->post('iota', true))), 'station_iota' => xss_clean(strtoupper($this->input->post('iota', true))),
'station_sota' => xss_clean(strtoupper($this->input->post('sota', true))), 'station_sota' => xss_clean(strtoupper($this->input->post('sota', true))),
'station_wwff' => xss_clean(strtoupper($this->input->post('wwff', true))), 'station_wwff' => xss_clean(strtoupper($this->input->post('wwff', true))),
'station_pota' => xss_clean(strtoupper($this->input->post('pota', true))),
'station_sig' => xss_clean(strtoupper($this->input->post('sig', true))), 'station_sig' => xss_clean(strtoupper($this->input->post('sig', true))),
'station_sig_info' => xss_clean(strtoupper($this->input->post('sig_info', true))), 'station_sig_info' => xss_clean(strtoupper($this->input->post('sig_info', true))),
'station_callsign' => xss_clean($this->input->post('station_callsign', true)), 'station_callsign' => xss_clean($this->input->post('station_callsign', true)),
@ -91,6 +92,7 @@ class Stations extends CI_Model {
'station_iota' => xss_clean($this->input->post('iota', true)), 'station_iota' => xss_clean($this->input->post('iota', true)),
'station_sota' => xss_clean($this->input->post('sota', true)), 'station_sota' => xss_clean($this->input->post('sota', true)),
'station_wwff' => xss_clean($this->input->post('wwff', true)), 'station_wwff' => xss_clean($this->input->post('wwff', true)),
'station_pota' => xss_clean($this->input->post('pota', true)),
'station_sig' => xss_clean($this->input->post('sig', true)), 'station_sig' => xss_clean($this->input->post('sig', true)),
'station_sig_info' => xss_clean($this->input->post('sig_info', true)), 'station_sig_info' => xss_clean($this->input->post('sig_info', true)),
'station_callsign' => xss_clean($this->input->post('station_callsign', true)), 'station_callsign' => xss_clean($this->input->post('station_callsign', true)),
@ -267,6 +269,10 @@ class Stations extends CI_Model {
$this->db->where('COL_MY_WWFF_REF', $row->station_wwff); $this->db->where('COL_MY_WWFF_REF', $row->station_wwff);
} }
if($row->station_pota != "") {
$this->db->where('COL_MY_POTA_REF', $row->station_pota);
}
if($row->station_sig != "") { if($row->station_sig != "") {
$this->db->where('COL_MY_SIG', $row->station_sig); $this->db->where('COL_MY_SIG', $row->station_sig);
} }

查看文件

@ -156,7 +156,7 @@ class User_Model extends CI_Model {
// Add user and insert bandsettings for user // Add user and insert bandsettings for user
$this->db->insert($this->config->item('auth_table'), $data); $this->db->insert($this->config->item('auth_table'), $data);
$insert_id = $this->db->insert_id(); $insert_id = $this->db->insert_id();
$this->db->query("insert into bandxuser (bandid, userid, active, cq, dok, dxcc, iota, sig, sota, uscounties, was, wwff, vucc) select bands.id, " . $insert_id . ", 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 from bands;"); $this->db->query("insert into bandxuser (bandid, userid, active, cq, dok, dxcc, iota, pota, sig, sota, uscounties, was, wwff, vucc) select bands.id, " . $insert_id . ", 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 from bands;");
return OK; return OK;
} else { } else {
return EUSERNAMEEXISTS; return EUSERNAMEEXISTS;

查看文件

@ -0,0 +1,55 @@
<div class="container">
<h2><?php echo $page_title; ?></h2>
<?php
if ($pota_all) {
if($this->session->userdata('user_date_format')) {
// If Logged in and session exists
$custom_date_format = $this->session->userdata('user_date_format');
} else {
// Get Default date format from /config/cloudlog.php
$custom_date_format = $this->config->item('qso_date_format');
}
?>
<table style="width: 100%" id="potatable" class="potatable table table-sm table-striped table-hover">
<thead>
<tr>
<th style="text-align: center"><?php echo $this->lang->line('gen_hamradio_pota_reference') ?></th>
<th style="text-align: center"><?php echo $this->lang->line('general_word_date') ?></th>
<th style="text-align: center"><?php echo $this->lang->line('general_word_time') ?></th>
<th style="text-align: center"><?php echo $this->lang->line('gen_hamradio_callsign') ?></th>
<th style="text-align: center"><?php echo $this->lang->line('gen_hamradio_band') ?></th>
<th style="text-align: center"><?php echo $this->lang->line('gen_hamradio_rsts') ?></th>
<th style="text-align: center"><?php echo $this->lang->line('gen_hamradio_rstr') ?></th>
</tr>
</thead>
<tbody>
<?php
if ($pota_all->num_rows() > 0) {
foreach ($pota_all->result() as $row) {
?>
<tr>
<td style="text-align: center"><?php echo $row->COL_POTA_REF; ?></td>
<td style="text-align: center"><?php $timestamp = strtotime($row->COL_TIME_ON); echo date($custom_date_format, $timestamp); ?></td>
<td style="text-align: center"><?php $timestamp = strtotime($row->COL_TIME_ON); echo date('H:i', $timestamp); ?></td>
<td style="text-align: center"><?php echo $row->COL_CALL; ?></td>
<td style="text-align: center"><?php if($row->COL_SAT_NAME != null) { echo $row->COL_SAT_NAME; } else { echo $row->COL_BAND; } ?></td>
<td style="text-align: center"><?php echo $row->COL_RST_SENT; ?></td>
<td style="text-align: center"><?php echo $row->COL_RST_RCVD; ?></td>
</tr>
<?php
}
}
?>
</tbody>
</table>
<?php } else {
echo '<div class="alert alert-danger" role="alert"><a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a>Nothing found!</div>';
}?>
</div>

查看文件

@ -44,6 +44,7 @@ $wwff = 0;
<th>DOK</th> <th>DOK</th>
<th>DXCC</th> <th>DXCC</th>
<th>IOTA</th> <th>IOTA</th>
<th>POTA</th>
<th>SIG</th> <th>SIG</th>
<th>SOTA</th> <th>SOTA</th>
<th>US Counties</th> <th>US Counties</th>
@ -69,6 +70,7 @@ $wwff = 0;
<td class='dok_<?php echo $band->id ?>'><input type="checkbox" <?php if ($band->dok == 1) {echo 'checked'; $dok++;}?>></td> <td class='dok_<?php echo $band->id ?>'><input type="checkbox" <?php if ($band->dok == 1) {echo 'checked'; $dok++;}?>></td>
<td class='dxcc_<?php echo $band->id ?>'><input type="checkbox" <?php if ($band->dxcc == 1) {echo 'checked'; $dxcc++;}?>></td> <td class='dxcc_<?php echo $band->id ?>'><input type="checkbox" <?php if ($band->dxcc == 1) {echo 'checked'; $dxcc++;}?>></td>
<td class='iota_<?php echo $band->id ?>'><input type="checkbox" <?php if ($band->iota == 1) {echo 'checked'; $iota++;}?>></td> <td class='iota_<?php echo $band->id ?>'><input type="checkbox" <?php if ($band->iota == 1) {echo 'checked'; $iota++;}?>></td>
<td class='pota_<?php echo $band->id ?>'><input type="checkbox" <?php if ($band->pota == 1) {echo 'checked';}?>></td>
<td class='sig_<?php echo $band->id ?>'><input type="checkbox" <?php if ($band->sig == 1) {echo 'checked'; $sig++;}?>></td> <td class='sig_<?php echo $band->id ?>'><input type="checkbox" <?php if ($band->sig == 1) {echo 'checked'; $sig++;}?>></td>
<td class='sota_<?php echo $band->id ?>'><input type="checkbox" <?php if ($band->sota == 1) {echo 'checked'; $sota++;}?>></td> <td class='sota_<?php echo $band->id ?>'><input type="checkbox" <?php if ($band->sota == 1) {echo 'checked'; $sota++;}?>></td>
<td class='uscounties_<?php echo $band->id ?>'><input type="checkbox" <?php if ($band->uscounties == 1) {echo 'checked'; $uscounties++;}?>></td> <td class='uscounties_<?php echo $band->id ?>'><input type="checkbox" <?php if ($band->uscounties == 1) {echo 'checked'; $uscounties++;}?>></td>

查看文件

@ -8,6 +8,7 @@ function echo_table_header_col($ctx, $name) {
case 'IOTA': echo '<th>'.$ctx->lang->line('gen_hamradio_iota').'</th>'; break; case 'IOTA': echo '<th>'.$ctx->lang->line('gen_hamradio_iota').'</th>'; break;
case 'SOTA': echo '<th>'.$ctx->lang->line('gen_hamradio_sota').'</th>'; break; case 'SOTA': echo '<th>'.$ctx->lang->line('gen_hamradio_sota').'</th>'; break;
case 'WWFF': echo '<th>'.$ctx->lang->line('gen_hamradio_wwff').'</th>'; break; case 'WWFF': echo '<th>'.$ctx->lang->line('gen_hamradio_wwff').'</th>'; break;
case 'POTA': echo '<th>'.$ctx->lang->line('gen_hamradio_pota').'</th>'; break;
case 'State': echo '<th>'.$ctx->lang->line('gen_hamradio_state').'</th>'; break; case 'State': echo '<th>'.$ctx->lang->line('gen_hamradio_state').'</th>'; break;
case 'Grid': echo '<th>'.$ctx->lang->line('gen_hamradio_gridsquare').'</th>'; break; case 'Grid': echo '<th>'.$ctx->lang->line('gen_hamradio_gridsquare').'</th>'; break;
case 'Band': echo '<th>'.$ctx->lang->line('gen_hamradio_band').'</th>'; break; case 'Band': echo '<th>'.$ctx->lang->line('gen_hamradio_band').'</th>'; break;
@ -24,6 +25,7 @@ function echo_table_col($row, $name) {
case 'IOTA': echo '<td>' . ($row->COL_IOTA) . '</td>'; break; case 'IOTA': echo '<td>' . ($row->COL_IOTA) . '</td>'; break;
case 'SOTA': echo '<td>' . ($row->COL_SOTA_REF) . '</td>'; break; case 'SOTA': echo '<td>' . ($row->COL_SOTA_REF) . '</td>'; break;
case 'WWFF': echo '<td>' . ($row->COL_WWFF_REF) . '</td>'; break; case 'WWFF': echo '<td>' . ($row->COL_WWFF_REF) . '</td>'; break;
case 'POTA': echo '<td>' . ($row->COL_POTA_REF) . '</td>'; break;
case 'Grid': echo '<td>'; echoQrbCalcLink($row->station_gridsquare, $row->COL_VUCC_GRIDS, $row->COL_GRIDSQUARE); echo '</td>'; break; case 'Grid': echo '<td>'; echoQrbCalcLink($row->station_gridsquare, $row->COL_VUCC_GRIDS, $row->COL_GRIDSQUARE); echo '</td>'; break;
case 'Band': echo '<td>'; if($row->COL_SAT_NAME != null) { echo '<a href="https://db.satnogs.org/search/?q='.$row->COL_SAT_NAME.'" target="_blank">'.$row->COL_SAT_NAME.'</a></td>'; } else { echo strtolower($row->COL_BAND); } echo '</td>'; break; case 'Band': echo '<td>'; if($row->COL_SAT_NAME != null) { echo '<a href="https://db.satnogs.org/search/?q='.$row->COL_SAT_NAME.'" target="_blank">'.$row->COL_SAT_NAME.'</a></td>'; } else { echo strtolower($row->COL_BAND); } echo '</td>'; break;
case 'State': echo '<td>' . ($row->COL_STATE) . '</td>'; break; case 'State': echo '<td>' . ($row->COL_STATE) . '</td>'; break;

查看文件

@ -2171,6 +2171,34 @@ $(document).ready(function(){
} }
}); });
$('#pota_ref_edit').selectize({
maxItems: 1,
closeAfterSelect: true,
loadThrottle: 250,
valueField: 'name',
labelField: 'name',
searchField: 'name',
options: [],
create: false,
load: function(query, callback) {
if (!query || query.length < 3) return callback(); // Only trigger if 3 or more characters are entered
$.ajax({
url: baseURL+'index.php/qso/get_pota',
type: 'GET',
dataType: 'json',
data: {
query: query,
},
error: function() {
callback();
},
success: function(res) {
callback(res);
}
});
}
});
$('#darc_dok_edit').selectize({ $('#darc_dok_edit').selectize({
maxItems: 1, maxItems: 1,
closeAfterSelect: true, closeAfterSelect: true,
@ -3042,7 +3070,7 @@ function deleteQsl(id) {
</script> </script>
<?php } ?> <?php } ?>
<?php if ($this->uri->segment(1) == "awards" && ($this->uri->segment(2) == "wwff") ) { <?php if ($this->uri->segment(1) == "awards") {
// Get Date format // Get Date format
if($this->session->userdata('user_date_format')) { if($this->session->userdata('user_date_format')) {
// If Logged in and session exists // If Logged in and session exists
@ -3067,39 +3095,75 @@ function deleteQsl(id) {
?> ?>
<script type="text/javascript" src="<?php echo base_url(); ?>assets/js/moment.min.js"></script> <script type="text/javascript" src="<?php echo base_url(); ?>assets/js/moment.min.js"></script>
<script type="text/javascript" src="<?php echo base_url(); ?>assets/js/datetime-moment.js"></script> <script type="text/javascript" src="<?php echo base_url(); ?>assets/js/datetime-moment.js"></script>
<script> <?php if ($this->uri->segment(2) == "wwff") { ?>
$.fn.dataTable.moment('<?php echo $usethisformat ?>'); <script>
$.fn.dataTable.ext.buttons.clear = { $.fn.dataTable.moment('<?php echo $usethisformat ?>');
className: 'buttons-clear', $.fn.dataTable.ext.buttons.clear = {
action: function ( e, dt, node, config ) { className: 'buttons-clear',
dt.search('').draw(); action: function ( e, dt, node, config ) {
dt.search('').draw();
}
};
$('#wwfftable').DataTable({
"pageLength": 25,
responsive: false,
ordering: true,
"scrollY": "500px",
"scrollCollapse": true,
"paging": false,
"scrollX": true,
"order": [ 0, 'asc' ],
dom: 'Bfrtip',
buttons: [
{
extend: 'csv'
},
{
extend: 'clear',
text: 'Clear'
}
]
});
// change color of csv-button if dark mode is chosen
if (isDarkModeTheme()) {
$('[class*="buttons"]').css("color", "white");
} }
}; </script>
$('#wwfftable').DataTable({ <?php } else if ($this->uri->segment(2) == "pota") { ?>
"pageLength": 25, <script>
responsive: false, $.fn.dataTable.moment('<?php echo $usethisformat ?>');
ordering: true, $.fn.dataTable.ext.buttons.clear = {
"scrollY": "500px", className: 'buttons-clear',
"scrollCollapse": true, action: function ( e, dt, node, config ) {
"paging": false, dt.search('').draw();
"scrollX": true, }
"order": [ 0, 'asc' ], };
dom: 'Bfrtip', $('#potatable').DataTable({
buttons: [ "pageLength": 25,
{ responsive: false,
extend: 'csv' ordering: true,
}, "scrollY": "500px",
{ "scrollCollapse": true,
extend: 'clear', "paging": false,
text: 'Clear' "scrollX": true,
} "order": [ 0, 'asc' ],
] dom: 'Bfrtip',
}); buttons: [
// change color of csv-button if dark mode is chosen {
if (isDarkModeTheme()) { extend: 'csv'
$('[class*="buttons"]').css("color", "white"); },
} {
</script> extend: 'clear',
text: 'Clear'
}
]
});
// change color of csv-button if dark mode is chosen
if (isDarkModeTheme()) {
$('[class*="buttons"]').css("color", "white");
}
</script>
<?php } ?>
<?php } ?> <?php } ?>
</body> </body>

查看文件

@ -116,6 +116,8 @@
<a class="dropdown-item" href="<?php echo site_url('awards/dxcc');?>"><i class="fas fa-trophy"></i> DXCC</a> <a class="dropdown-item" href="<?php echo site_url('awards/dxcc');?>"><i class="fas fa-trophy"></i> DXCC</a>
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>
<a class="dropdown-item" href="<?php echo site_url('awards/iota');?>"><i class="fas fa-trophy"></i> IOTA</a> <a class="dropdown-item" href="<?php echo site_url('awards/iota');?>"><i class="fas fa-trophy"></i> IOTA</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="<?php echo site_url('awards/pota');?>"><i class="fas fa-trophy"></i> POTA</a>
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>
<a class="dropdown-item" href="<?php echo site_url('awards/sig');?>"><i class="fas fa-trophy"></i> SIG</a> <a class="dropdown-item" href="<?php echo site_url('awards/sig');?>"><i class="fas fa-trophy"></i> SIG</a>
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>

查看文件

@ -107,6 +107,7 @@
case 'IOTA': echo '<td>' . ($row->COL_IOTA); break; case 'IOTA': echo '<td>' . ($row->COL_IOTA); break;
case 'SOTA': echo '<td>' . ($row->COL_SOTA_REF); break; case 'SOTA': echo '<td>' . ($row->COL_SOTA_REF); break;
case 'WWFF': echo '<td>' . ($row->COL_WWFF_REF); break; case 'WWFF': echo '<td>' . ($row->COL_WWFF_REF); break;
case 'POTA': echo '<td>' . ($row->COL_POTA_REF); break;
case 'Grid': echo '<td>'; echo strlen($row->COL_GRIDSQUARE)==0?$row->COL_VUCC_GRIDS:$row->COL_GRIDSQUARE; break; case 'Grid': echo '<td>'; echo strlen($row->COL_GRIDSQUARE)==0?$row->COL_VUCC_GRIDS:$row->COL_GRIDSQUARE; break;
case 'Band': echo '<td>'; if($row->COL_SAT_NAME != null) { echo $row->COL_SAT_NAME; } else { echo strtolower($row->COL_BAND); }; break; case 'Band': echo '<td>'; if($row->COL_SAT_NAME != null) { echo $row->COL_SAT_NAME; } else { echo strtolower($row->COL_BAND); }; break;
case 'State': echo '<td>' . ($row->COL_STATE); break; case 'State': echo '<td>' . ($row->COL_STATE); break;
@ -121,6 +122,7 @@
case 'IOTA': echo '<td>' . ($row->COL_IOTA); break; case 'IOTA': echo '<td>' . ($row->COL_IOTA); break;
case 'SOTA': echo '<td>' . ($row->COL_SOTA_REF); break; case 'SOTA': echo '<td>' . ($row->COL_SOTA_REF); break;
case 'WWFF': echo '<td>' . ($row->COL_WWFF_REF); break; case 'WWFF': echo '<td>' . ($row->COL_WWFF_REF); break;
case 'POTA': echo '<td>' . ($row->COL_POTA_REF); break;
case 'Grid': echo '<td>'; echo strlen($row->COL_GRIDSQUARE)==0?$row->COL_VUCC_GRIDS:$row->COL_GRIDSQUARE; break; case 'Grid': echo '<td>'; echo strlen($row->COL_GRIDSQUARE)==0?$row->COL_VUCC_GRIDS:$row->COL_GRIDSQUARE; break;
case 'Band': echo '<td>'; if($row->COL_SAT_NAME != null) { echo $row->COL_SAT_NAME; } else { echo strtolower($row->COL_BAND); }; break; case 'Band': echo '<td>'; if($row->COL_SAT_NAME != null) { echo $row->COL_SAT_NAME; } else { echo strtolower($row->COL_BAND); }; break;
case 'State': echo '<td>' . ($row->COL_STATE); break; case 'State': echo '<td>' . ($row->COL_STATE); break;
@ -136,6 +138,7 @@
case 'IOTA': echo '<td>' . ($row->COL_IOTA); break; case 'IOTA': echo '<td>' . ($row->COL_IOTA); break;
case 'SOTA': echo '<td>' . ($row->COL_SOTA_REF); break; case 'SOTA': echo '<td>' . ($row->COL_SOTA_REF); break;
case 'WWFF': echo '<td>' . ($row->COL_WWFF_REF); break; case 'WWFF': echo '<td>' . ($row->COL_WWFF_REF); break;
case 'POTA': echo '<td>' . ($row->COL_POTA_REF); break;
case 'Grid': echo '<td>'; echo strlen($row->COL_GRIDSQUARE)==0?$row->COL_VUCC_GRIDS:$row->COL_GRIDSQUARE; break; case 'Grid': echo '<td>'; echo strlen($row->COL_GRIDSQUARE)==0?$row->COL_VUCC_GRIDS:$row->COL_GRIDSQUARE; break;
case 'Band': echo '<td>'; if($row->COL_SAT_NAME != null) { echo $row->COL_SAT_NAME; } else { echo strtolower($row->COL_BAND); }; break; case 'Band': echo '<td>'; if($row->COL_SAT_NAME != null) { echo $row->COL_SAT_NAME; } else { echo strtolower($row->COL_BAND); }; break;
case 'State': echo '<td>' . ($row->COL_STATE); break; case 'State': echo '<td>' . ($row->COL_STATE); break;
@ -150,6 +153,7 @@
case 'IOTA': echo '<td>' . ($row->COL_IOTA); break; case 'IOTA': echo '<td>' . ($row->COL_IOTA); break;
case 'SOTA': echo '<td>' . ($row->COL_SOTA_REF); break; case 'SOTA': echo '<td>' . ($row->COL_SOTA_REF); break;
case 'WWFF': echo '<td>' . ($row->COL_WWFF_REF); break; case 'WWFF': echo '<td>' . ($row->COL_WWFF_REF); break;
case 'POTA': echo '<td>' . ($row->COL_POTA_REF); break;
case 'Grid': echo '<td>'; echo strlen($row->COL_GRIDSQUARE)==0?$row->COL_VUCC_GRIDS:$row->COL_GRIDSQUARE; break; case 'Grid': echo '<td>'; echo strlen($row->COL_GRIDSQUARE)==0?$row->COL_VUCC_GRIDS:$row->COL_GRIDSQUARE; break;
case 'Band': echo '<td>'; if($row->COL_SAT_NAME != null) { echo $row->COL_SAT_NAME; } else { echo strtolower($row->COL_BAND); }; break; case 'Band': echo '<td>'; if($row->COL_SAT_NAME != null) { echo $row->COL_SAT_NAME; } else { echo strtolower($row->COL_BAND); }; break;
case 'State': echo '<td>' . ($row->COL_STATE); break; case 'State': echo '<td>' . ($row->COL_STATE); break;
@ -164,6 +168,7 @@
case 'IOTA': echo '<td>' . ($row->COL_IOTA); break; case 'IOTA': echo '<td>' . ($row->COL_IOTA); break;
case 'SOTA': echo '<td>' . ($row->COL_SOTA_REF); break; case 'SOTA': echo '<td>' . ($row->COL_SOTA_REF); break;
case 'WWFF': echo '<td>' . ($row->COL_WWFF_REF); break; case 'WWFF': echo '<td>' . ($row->COL_WWFF_REF); break;
case 'POTA': echo '<td>' . ($row->COL_POTA_REF); break;
case 'Grid': echo '<td>'; echo strlen($row->COL_GRIDSQUARE)==0?$row->COL_VUCC_GRIDS:$row->COL_GRIDSQUARE; break; case 'Grid': echo '<td>'; echo strlen($row->COL_GRIDSQUARE)==0?$row->COL_VUCC_GRIDS:$row->COL_GRIDSQUARE; break;
case 'Band': echo '<td>'; if($row->COL_SAT_NAME != null) { echo $row->COL_SAT_NAME; } else { echo strtolower($row->COL_BAND); }; break; case 'Band': echo '<td>'; if($row->COL_SAT_NAME != null) { echo $row->COL_SAT_NAME; } else { echo strtolower($row->COL_BAND); }; break;
case 'State': echo '<td>' . ($row->COL_STATE); break; case 'State': echo '<td>' . ($row->COL_STATE); break;

查看文件

@ -358,6 +358,11 @@
<input type="text" class="form-control" id="wwff_ref_edit" name="wwff_ref" value="<?php echo $qso->COL_WWFF_REF; ?>"> <input type="text" class="form-control" id="wwff_ref_edit" name="wwff_ref" value="<?php echo $qso->COL_WWFF_REF; ?>">
</div> </div>
<div class="form-group">
<label for="pota_ref">POTA</label>
<input type="text" class="form-control" id="pota_ref_edit" name="pota_ref" value="<?php echo $qso->COL_POTA_REF; ?>">
</div>
<div class="form-group"> <div class="form-group">
<label for="sig">Sig</label> <label for="sig">Sig</label>
<input type="text" class="form-control" id="sig" name="sig" value="<?php echo $qso->COL_SIG; ?>"> <input type="text" class="form-control" id="sig" name="sig" value="<?php echo $qso->COL_SIG; ?>">

查看文件

@ -357,6 +357,17 @@
</div> </div>
</div> </div>
<div class="form-row">
<div class="form-group col-md-9">
<label for="pota_ref"><?php echo $this->lang->line('gen_hamradio_pota_reference'); ?></label>
<input class="form-control" id="pota_ref" type="text" name="pota_ref" value="" />
<small id="potaRefHelp" class="form-text text-muted"><?php echo $this->lang->line('qso_pota_ref_helptext'); ?></small>
</div>
<div class="form-group col-md-3 align-self-center">
<small id="pota_info" class="badge badge-secondary"></small>
</div>
</div>
<div class="form-group"> <div class="form-group">
<label for="sig"><?php echo $this->lang->line('gen_hamradio_sig'); ?></label> <label for="sig"><?php echo $this->lang->line('gen_hamradio_sig'); ?></label>
<input class="form-control" id="sig" type="text" name="sig" value="" /> <input class="form-control" id="sig" type="text" name="sig" value="" />

查看文件

@ -125,6 +125,7 @@
case 'IOTA': echo '<td>' . ($row->COL_IOTA); break; case 'IOTA': echo '<td>' . ($row->COL_IOTA); break;
case 'SOTA': echo '<td>' . ($row->COL_SOTA_REF); break; case 'SOTA': echo '<td>' . ($row->COL_SOTA_REF); break;
case 'WWFF': echo '<td>' . ($row->COL_WWFF_REF); break; case 'WWFF': echo '<td>' . ($row->COL_WWFF_REF); break;
case 'POTA': echo '<td>' . ($row->COL_POTA_REF); break;
case 'Grid': echo '<td>'; echo strlen($row->COL_GRIDSQUARE)==0?$row->COL_VUCC_GRIDS:$row->COL_GRIDSQUARE; break; case 'Grid': echo '<td>'; echo strlen($row->COL_GRIDSQUARE)==0?$row->COL_VUCC_GRIDS:$row->COL_GRIDSQUARE; break;
case 'Band': echo '<td>'; if($row->COL_SAT_NAME != null) { echo $row->COL_SAT_NAME; } else { echo strtolower($row->COL_BAND); }; break; case 'Band': echo '<td>'; if($row->COL_SAT_NAME != null) { echo $row->COL_SAT_NAME; } else { echo strtolower($row->COL_BAND); }; break;
case 'State': echo '<td>' . ($row->COL_STATE); break; case 'State': echo '<td>' . ($row->COL_STATE); break;
@ -139,6 +140,7 @@
case 'IOTA': echo '<td>' . ($row->COL_IOTA); break; case 'IOTA': echo '<td>' . ($row->COL_IOTA); break;
case 'SOTA': echo '<td>' . ($row->COL_SOTA_REF); break; case 'SOTA': echo '<td>' . ($row->COL_SOTA_REF); break;
case 'WWFF': echo '<td>' . ($row->COL_WWFF_REF); break; case 'WWFF': echo '<td>' . ($row->COL_WWFF_REF); break;
case 'POTA': echo '<td>' . ($row->COL_POTA_REF); break;
case 'Grid': echo '<td>'; echo strlen($row->COL_GRIDSQUARE)==0?$row->COL_VUCC_GRIDS:$row->COL_GRIDSQUARE; break; case 'Grid': echo '<td>'; echo strlen($row->COL_GRIDSQUARE)==0?$row->COL_VUCC_GRIDS:$row->COL_GRIDSQUARE; break;
case 'Band': echo '<td>'; if($row->COL_SAT_NAME != null) { echo $row->COL_SAT_NAME; } else { echo strtolower($row->COL_BAND); }; break; case 'Band': echo '<td>'; if($row->COL_SAT_NAME != null) { echo $row->COL_SAT_NAME; } else { echo strtolower($row->COL_BAND); }; break;
case 'State': echo '<td>' . ($row->COL_STATE); break; case 'State': echo '<td>' . ($row->COL_STATE); break;
@ -154,6 +156,7 @@
case 'IOTA': echo '<td>' . ($row->COL_IOTA); break; case 'IOTA': echo '<td>' . ($row->COL_IOTA); break;
case 'SOTA': echo '<td>' . ($row->COL_SOTA_REF); break; case 'SOTA': echo '<td>' . ($row->COL_SOTA_REF); break;
case 'WWFF': echo '<td>' . ($row->COL_WWFF_REF); break; case 'WWFF': echo '<td>' . ($row->COL_WWFF_REF); break;
case 'POTA': echo '<td>' . ($row->COL_POTA_REF); break;
case 'Grid': echo '<td>'; echo strlen($row->COL_GRIDSQUARE)==0?$row->COL_VUCC_GRIDS:$row->COL_GRIDSQUARE; break; case 'Grid': echo '<td>'; echo strlen($row->COL_GRIDSQUARE)==0?$row->COL_VUCC_GRIDS:$row->COL_GRIDSQUARE; break;
case 'Band': echo '<td>'; if($row->COL_SAT_NAME != null) { echo $row->COL_SAT_NAME; } else { echo strtolower($row->COL_BAND); }; break; case 'Band': echo '<td>'; if($row->COL_SAT_NAME != null) { echo $row->COL_SAT_NAME; } else { echo strtolower($row->COL_BAND); }; break;
case 'State': echo '<td>' . ($row->COL_STATE); break; case 'State': echo '<td>' . ($row->COL_STATE); break;
@ -168,6 +171,7 @@
case 'IOTA': echo '<td>' . ($row->COL_IOTA); break; case 'IOTA': echo '<td>' . ($row->COL_IOTA); break;
case 'SOTA': echo '<td>' . ($row->COL_SOTA_REF); break; case 'SOTA': echo '<td>' . ($row->COL_SOTA_REF); break;
case 'WWFF': echo '<td>' . ($row->COL_WWFF_REF); break; case 'WWFF': echo '<td>' . ($row->COL_WWFF_REF); break;
case 'POTA': echo '<td>' . ($row->COL_POTA_REF); break;
case 'Grid': echo '<td>'; echo strlen($row->COL_GRIDSQUARE)==0?$row->COL_VUCC_GRIDS:$row->COL_GRIDSQUARE; break; case 'Grid': echo '<td>'; echo strlen($row->COL_GRIDSQUARE)==0?$row->COL_VUCC_GRIDS:$row->COL_GRIDSQUARE; break;
case 'Band': echo '<td>'; if($row->COL_SAT_NAME != null) { echo $row->COL_SAT_NAME; } else { echo strtolower($row->COL_BAND); }; break; case 'Band': echo '<td>'; if($row->COL_SAT_NAME != null) { echo $row->COL_SAT_NAME; } else { echo strtolower($row->COL_BAND); }; break;
case 'State': echo '<td>' . ($row->COL_STATE); break; case 'State': echo '<td>' . ($row->COL_STATE); break;
@ -182,6 +186,7 @@
case 'IOTA': echo '<td>' . ($row->COL_IOTA); break; case 'IOTA': echo '<td>' . ($row->COL_IOTA); break;
case 'SOTA': echo '<td>' . ($row->COL_SOTA_REF); break; case 'SOTA': echo '<td>' . ($row->COL_SOTA_REF); break;
case 'WWFF': echo '<td>' . ($row->COL_WWFF_REF); break; case 'WWFF': echo '<td>' . ($row->COL_WWFF_REF); break;
case 'POTA': echo '<td>' . ($row->COL_POTA_REF); break;
case 'Grid': echo '<td>'; echo strlen($row->COL_GRIDSQUARE)==0?$row->COL_VUCC_GRIDS:$row->COL_GRIDSQUARE; break; case 'Grid': echo '<td>'; echo strlen($row->COL_GRIDSQUARE)==0?$row->COL_VUCC_GRIDS:$row->COL_GRIDSQUARE; break;
case 'Band': echo '<td>'; if($row->COL_SAT_NAME != null) { echo $row->COL_SAT_NAME; } else { echo strtolower($row->COL_BAND); }; break; case 'Band': echo '<td>'; if($row->COL_SAT_NAME != null) { echo $row->COL_SAT_NAME; } else { echo strtolower($row->COL_BAND); }; break;
case 'State': echo '<td>' . ($row->COL_STATE); break; case 'State': echo '<td>' . ($row->COL_STATE); break;

查看文件

@ -198,16 +198,22 @@
<small id="stationWWFFInputHelp" class="form-text text-muted">Station WWFF reference (e.g. DLFF-0069).</small> <small id="stationWWFFInputHelp" class="form-text text-muted">Station WWFF reference (e.g. DLFF-0069).</small>
</div> </div>
<div class="form-group">
<label for="stationPOTAInput">POTA Reference</label>
<input type="text" class="form-control" name="pota" id="stationPOTAInput" aria-describedby="stationPOTAInputHelp">
<small id="stationPOTAInputHelp" class="form-text text-muted">Station POTA reference (e.g. PA-0150).</small>
</div>
<div class="form-group"> <div class="form-group">
<label for="stationSigInput">Signature</label> <label for="stationSigInput">Signature</label>
<input type="text" class="form-control" name="sig" id="stationSigInput" aria-describedby="stationSigInputHelp"> <input type="text" class="form-control" name="sig" id="stationSigInput" aria-describedby="stationSigInputHelp">
<small id="stationSigInputHelp" class="form-text text-muted">Station Signature (e.g. POTA).</small> <small id="stationSigInputHelp" class="form-text text-muted">Station Signature (e.g. GMA).</small>
</div> </div>
<div class="form-group"> <div class="form-group">
<label for="stationSigInfoInput">Signature Info</label> <label for="stationSigInfoInput">Signature Info</label>
<input type="text" class="form-control" name="sig_info" id="stationSigInfoInput" aria-describedby="stationSigInfoInputHelp"> <input type="text" class="form-control" name="sig_info" id="stationSigInfoInput" aria-describedby="stationSigInfoInputHelp">
<small id="stationSigInfoInput" class="form-text text-muted">Station Signature Info (e.g. PA-0150).</small> <small id="stationSigInfoInput" class="form-text text-muted">Station Signature Info (e.g. DA/NW-357).</small>
</div> </div>
<div class="form-group"> <div class="form-group">

查看文件

@ -284,6 +284,19 @@
</div> </div>
</div> </div>
</div> </div>
<div class="col-md">
<div class="card">
<h5 class="card-header">POTA</h5>
<div class="card-body">
<div class="form-group">
<label for="stationPOTAInput">POTA Reference</label>
<input type="text" class="form-control" name="pota" id="stationPOTAInput" aria-describedby="stationPOTAInputHelp" value="<?php if(set_value('pota') != "") { echo set_value('pota'); } else { echo $my_station_profile->station_pota; } ?>">
<small id="stationPOTAInputHelp" class="form-text text-muted">Station POTA reference.</small>
</div>
</div>
</div>
</div>
</div> </div>
<div class="row"> <div class="row">
@ -294,13 +307,13 @@
<div class="form-group"> <div class="form-group">
<label for="stationSigInput">Signature</label> <label for="stationSigInput">Signature</label>
<input type="text" class="form-control" name="sig" id="stationSigInput" aria-describedby="stationSigInputHelp" value="<?php if(set_value('sig') != "") { echo set_value('sig'); } else { echo $my_station_profile->station_sig; } ?>"> <input type="text" class="form-control" name="sig" id="stationSigInput" aria-describedby="stationSigInputHelp" value="<?php if(set_value('sig') != "") { echo set_value('sig'); } else { echo $my_station_profile->station_sig; } ?>">
<small id="stationSigInputHelp" class="form-text text-muted">Station Signature (e.g. WWFF)..</small> <small id="stationSigInputHelp" class="form-text text-muted">Station Signature (e.g. GMA)..</small>
</div> </div>
<div class="form-group"> <div class="form-group">
<label for="stationSigInfoInput">Signature Information</label> <label for="stationSigInfoInput">Signature Information</label>
<input type="text" class="form-control" name="sig_info" id="stationSigInfoInput" aria-describedby="stationSigInfoInputHelp" value="<?php if(set_value('sig_info') != "") { echo set_value('sig_info'); } else { echo $my_station_profile->station_sig_info; } ?>"> <input type="text" class="form-control" name="sig_info" id="stationSigInfoInput" aria-describedby="stationSigInfoInputHelp" value="<?php if(set_value('sig_info') != "") { echo set_value('sig_info'); } else { echo $my_station_profile->station_sig_info; } ?>">
<small id="stationSigInfoInputHelp" class="form-text text-muted">Station Signature Info (e.g. DLFF-0029).</small> <small id="stationSigInfoInputHelp" class="form-text text-muted">Station Signature Info (e.g. DA/NW-357).</small>
</div> </div>
</div> </div>
</div> </div>

查看文件

@ -357,6 +357,7 @@
<option value="IOTA" <?php if ($user_column1 == "IOTA") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_iota'); ?></option> <option value="IOTA" <?php if ($user_column1 == "IOTA") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_iota'); ?></option>
<option value="SOTA" <?php if ($user_column1 == "SOTA") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_sota'); ?></option> <option value="SOTA" <?php if ($user_column1 == "SOTA") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_sota'); ?></option>
<option value="WWFF" <?php if ($user_column1 == "WWFF") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_wwff'); ?></option> <option value="WWFF" <?php if ($user_column1 == "WWFF") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_wwff'); ?></option>
<option value="POTA" <?php if ($user_column1 == "POTA") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_pota'); ?></option>
<option value="State" <?php if ($user_column1 == "State") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_state'); ?></option> <option value="State" <?php if ($user_column1 == "State") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_state'); ?></option>
<option value="Grid" <?php if ($user_column1 == "Grid") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_gridsquare'); ?></option> <option value="Grid" <?php if ($user_column1 == "Grid") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_gridsquare'); ?></option>
<option value="Operator" <?php if ($user_column1 == "Operator") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_operator'); ?></option> <option value="Operator" <?php if ($user_column1 == "Operator") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_operator'); ?></option>
@ -374,6 +375,7 @@
<option value="IOTA" <?php if ($user_column2 == "IOTA") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_iota'); ?></option> <option value="IOTA" <?php if ($user_column2 == "IOTA") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_iota'); ?></option>
<option value="SOTA" <?php if ($user_column2 == "SOTA") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_sota'); ?></option> <option value="SOTA" <?php if ($user_column2 == "SOTA") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_sota'); ?></option>
<option value="WWFF" <?php if ($user_column1 == "WWFF") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_wwff'); ?></option> <option value="WWFF" <?php if ($user_column1 == "WWFF") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_wwff'); ?></option>
<option value="POTA" <?php if ($user_column1 == "POTA") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_pota'); ?></option>
<option value="State" <?php if ($user_column2 == "State") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_state'); ?></option> <option value="State" <?php if ($user_column2 == "State") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_state'); ?></option>
<option value="Grid" <?php if ($user_column2 == "Grid") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_gridsquare'); ?></option> <option value="Grid" <?php if ($user_column2 == "Grid") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_gridsquare'); ?></option>
<option value="Operator" <?php if ($user_column2 == "Operator") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_operator'); ?></option> <option value="Operator" <?php if ($user_column2 == "Operator") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_operator'); ?></option>
@ -391,6 +393,7 @@
<option value="IOTA" <?php if ($user_column3 == "IOTA") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_iota'); ?></option> <option value="IOTA" <?php if ($user_column3 == "IOTA") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_iota'); ?></option>
<option value="SOTA" <?php if ($user_column3 == "SOTA") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_sota'); ?></option> <option value="SOTA" <?php if ($user_column3 == "SOTA") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_sota'); ?></option>
<option value="WWFF" <?php if ($user_column1 == "WWFF") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_wwff'); ?></option> <option value="WWFF" <?php if ($user_column1 == "WWFF") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_wwff'); ?></option>
<option value="POTA" <?php if ($user_column1 == "POTA") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_pota'); ?></option>
<option value="State" <?php if ($user_column3 == "State") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_state'); ?></option> <option value="State" <?php if ($user_column3 == "State") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_state'); ?></option>
<option value="Grid" <?php if ($user_column3 == "Grid") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_gridsquare'); ?></option> <option value="Grid" <?php if ($user_column3 == "Grid") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_gridsquare'); ?></option>
<option value="Operator" <?php if ($user_column3 == "Operator") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_operator'); ?></option> <option value="Operator" <?php if ($user_column3 == "Operator") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_operator'); ?></option>
@ -408,6 +411,7 @@
<option value="IOTA" <?php if ($user_column4 == "IOTA") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_iota'); ?></option> <option value="IOTA" <?php if ($user_column4 == "IOTA") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_iota'); ?></option>
<option value="SOTA" <?php if ($user_column4 == "SOTA") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_sota'); ?></option> <option value="SOTA" <?php if ($user_column4 == "SOTA") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_sota'); ?></option>
<option value="WWFF" <?php if ($user_column1 == "WWFF") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_wwff'); ?></option> <option value="WWFF" <?php if ($user_column1 == "WWFF") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_wwff'); ?></option>
<option value="POTA" <?php if ($user_column1 == "POTA") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_pota'); ?></option>
<option value="State" <?php if ($user_column4 == "State") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_state'); ?></option> <option value="State" <?php if ($user_column4 == "State") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_state'); ?></option>
<option value="Grid" <?php if ($user_column4 == "Grid") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_gridsquare'); ?></option> <option value="Grid" <?php if ($user_column4 == "Grid") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_gridsquare'); ?></option>
<option value="Operator" <?php if ($user_column4 == "Operator") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_operator'); ?></option> <option value="Operator" <?php if ($user_column4 == "Operator") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_operator'); ?></option>
@ -424,6 +428,7 @@
<option value="IOTA" <?php if ($user_column5 == "IOTA") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_iota'); ?></option> <option value="IOTA" <?php if ($user_column5 == "IOTA") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_iota'); ?></option>
<option value="SOTA" <?php if ($user_column5 == "SOTA") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_sota'); ?></option> <option value="SOTA" <?php if ($user_column5 == "SOTA") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_sota'); ?></option>
<option value="WWFF" <?php if ($user_column1 == "WWFF") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_wwff'); ?></option> <option value="WWFF" <?php if ($user_column1 == "WWFF") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_wwff'); ?></option>
<option value="POTA" <?php if ($user_column1 == "POTA") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_pota'); ?></option>
<option value="State" <?php if ($user_column5 == "State") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_state'); ?></option> <option value="State" <?php if ($user_column5 == "State") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_state'); ?></option>
<option value="Grid" <?php if ($user_column5 == "Grid") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_gridsquare'); ?></option> <option value="Grid" <?php if ($user_column5 == "Grid") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_gridsquare'); ?></option>
<option value="Operator" <?php if ($user_column5 == "Operator") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_operator'); ?></option> <option value="Operator" <?php if ($user_column5 == "Operator") { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_operator'); ?></option>

查看文件

@ -8,6 +8,7 @@ function echo_table_header_col($ctx, $name) {
case 'IOTA': echo '<td>'.$ctx->lang->line('gen_hamradio_iota').'</td>'; break; case 'IOTA': echo '<td>'.$ctx->lang->line('gen_hamradio_iota').'</td>'; break;
case 'SOTA': echo '<td>'.$ctx->lang->line('gen_hamradio_sota').'</td>'; break; case 'SOTA': echo '<td>'.$ctx->lang->line('gen_hamradio_sota').'</td>'; break;
case 'WWFF': echo '<td>'.$ctx->lang->line('gen_hamradio_wwff').'</td>'; break; case 'WWFF': echo '<td>'.$ctx->lang->line('gen_hamradio_wwff').'</td>'; break;
case 'POTA': echo '<td>'.$ctx->lang->line('gen_hamradio_pota').'</td>'; break;
case 'State': echo '<td>'.$ctx->lang->line('gen_hamradio_state').'</td>'; break; case 'State': echo '<td>'.$ctx->lang->line('gen_hamradio_state').'</td>'; break;
case 'Grid': echo '<td>'.$ctx->lang->line('gen_hamradio_gridsquare').'</td>'; break; case 'Grid': echo '<td>'.$ctx->lang->line('gen_hamradio_gridsquare').'</td>'; break;
case 'Band': echo '<td>'.$ctx->lang->line('gen_hamradio_band').'</td>'; break; case 'Band': echo '<td>'.$ctx->lang->line('gen_hamradio_band').'</td>'; break;
@ -25,6 +26,7 @@ function echo_table_col($row, $name) {
case 'IOTA': echo '<td>' . ($row->COL_IOTA) . '</td>'; break; case 'IOTA': echo '<td>' . ($row->COL_IOTA) . '</td>'; break;
case 'SOTA': echo '<td>' . ($row->COL_SOTA_REF) . '</td>'; break; case 'SOTA': echo '<td>' . ($row->COL_SOTA_REF) . '</td>'; break;
case 'WWFF': echo '<td>' . ($row->COL_WWFF_REF) . '</td>'; break; case 'WWFF': echo '<td>' . ($row->COL_WWFF_REF) . '</td>'; break;
case 'POTA': echo '<td>' . ($row->COL_POTA_REF) . '</td>'; break;
case 'Grid': echo '<td>'; echoQrbCalcLink($row->station_gridsquare, $row->COL_VUCC_GRIDS, $row->COL_GRIDSQUARE); echo '</td>'; break; case 'Grid': echo '<td>'; echoQrbCalcLink($row->station_gridsquare, $row->COL_VUCC_GRIDS, $row->COL_GRIDSQUARE); echo '</td>'; break;
case 'Band': echo '<td>'; if($row->COL_SAT_NAME != null) { echo '<a href="https://db.satnogs.org/search/?q='.$row->COL_SAT_NAME.'" target="_blank">'.$row->COL_SAT_NAME.'</a></td>'; } else { echo strtolower($row->COL_BAND); } echo '</td>'; break; case 'Band': echo '<td>'; if($row->COL_SAT_NAME != null) { echo '<a href="https://db.satnogs.org/search/?q='.$row->COL_SAT_NAME.'" target="_blank">'.$row->COL_SAT_NAME.'</a></td>'; } else { echo strtolower($row->COL_BAND); } echo '</td>'; break;
case 'State': echo '<td>' . ($row->COL_STATE) . '</td>'; break; case 'State': echo '<td>' . ($row->COL_STATE) . '</td>'; break;

查看文件

@ -216,6 +216,13 @@
</tr> </tr>
<?php } ?> <?php } ?>
<?php if($row->COL_POTA_REF != null) { ?>
<tr>
<td><?php echo $this->lang->line('gen_hamradio_pota_reference'); ?></td>
<td><a href="https://pota.app/#/park/<?php echo $row->COL_POTA_REF; ?>" target="_blank"><?php echo $row->COL_POTA_REF; ?></a></td>
</tr>
<?php } ?>
<?php if($row->COL_SIG != null) { ?> <?php if($row->COL_SIG != null) { ?>
<tr> <tr>
<td><?php echo $this->lang->line('gen_hamradio_sig'); ?></td> <td><?php echo $this->lang->line('gen_hamradio_sig'); ?></td>
@ -234,12 +241,6 @@
case "MQC": case "MQC":
echo "<td><a href=\"https://www.mountainqrp.it/awards/referenza.php?ref=".$row->COL_SIG_INFO."\" target=\"_blank\">".$row->COL_SIG_INFO."</a></td>"; echo "<td><a href=\"https://www.mountainqrp.it/awards/referenza.php?ref=".$row->COL_SIG_INFO."\" target=\"_blank\">".$row->COL_SIG_INFO."</a></td>";
break; break;
case "WWFF":
echo "<td><a href=\"https://www.cqgma.org/zinfo.php?ref=".$row->COL_SIG_INFO."\" target=\"_blank\">".$row->COL_SIG_INFO."</a></td>";
break;
case "POTA":
echo "<td><a href=\"https://pota.app/#/park/".$row->COL_SIG_INFO."\" target=\"_blank\">".$row->COL_SIG_INFO."</a></td>";
break;
default: default:
echo "<td>".$row->COL_SIG_INFO."</td>"; echo "<td>".$row->COL_SIG_INFO."</td>";
break; break;
@ -391,6 +392,13 @@
<td><?php echo $row->COL_MY_WWFF_REF; ?></td> <td><?php echo $row->COL_MY_WWFF_REF; ?></td>
</tr> </tr>
<?php } ?> <?php } ?>
<?php if($row->COL_MY_POTA_REF) { ?>
<tr>
<td>Station POTA Reference</td>
<td><?php echo $row->COL_MY_POTA_REF; ?></td>
</tr>
<?php } ?>
</table> </table>
</div> </div>

查看文件

@ -23,6 +23,7 @@ function echo_table_col($row, $name) {
case 'IOTA': echo '<td>' . ($row->COL_IOTA) . '</td>'; break; case 'IOTA': echo '<td>' . ($row->COL_IOTA) . '</td>'; break;
case 'SOTA': echo '<td>' . ($row->COL_SOTA_REF) . '</td>'; break; case 'SOTA': echo '<td>' . ($row->COL_SOTA_REF) . '</td>'; break;
case 'WWFF': echo '<td>' . ($row->COL_WWFF_REF) . '</td>'; break; case 'WWFF': echo '<td>' . ($row->COL_WWFF_REF) . '</td>'; break;
case 'POTA': echo '<td>' . ($row->COL_POTA_REF) . '</td>'; break;
case 'Grid': echo '<td>'; echoQrbCalcLink($row->station_gridsquare, $row->COL_VUCC_GRIDS, $row->COL_GRIDSQUARE); echo '</td>'; break; case 'Grid': echo '<td>'; echoQrbCalcLink($row->station_gridsquare, $row->COL_VUCC_GRIDS, $row->COL_GRIDSQUARE); echo '</td>'; break;
case 'Band': echo '<td>'; if($row->COL_SAT_NAME != null) { echo '<a href="https://db.satnogs.org/search/?q='.$row->COL_SAT_NAME.'" target="_blank">'.$row->COL_SAT_NAME.'</a></td>'; } else { echo strtolower($row->COL_BAND); } echo '</td>'; break; case 'Band': echo '<td>'; if($row->COL_SAT_NAME != null) { echo '<a href="https://db.satnogs.org/search/?q='.$row->COL_SAT_NAME.'" target="_blank">'.$row->COL_SAT_NAME.'</a></td>'; } else { echo strtolower($row->COL_BAND); } echo '</td>'; break;
case 'State': echo '<td>' . ($row->COL_STATE) . '</td>'; break; case 'State': echo '<td>' . ($row->COL_STATE) . '</td>'; break;

查看文件

@ -87,6 +87,10 @@ thead > tr > td {
text-transform: uppercase; text-transform: uppercase;
} }
.qso_panel #pota_ref-selectized {
text-transform: uppercase;
}
.qso_panel #darc_dok-selectized { .qso_panel #darc_dok-selectized {
text-transform: uppercase; text-transform: uppercase;
} }
@ -111,6 +115,10 @@ thead > tr > td {
text-transform: uppercase; text-transform: uppercase;
} }
.card-body #pota_ref_edit-selectized {
text-transform: uppercase;
}
.card-body #darc_dok_edit-selectized { .card-body #darc_dok_edit-selectized {
text-transform: uppercase; text-transform: uppercase;
} }

查看文件

@ -208,6 +208,7 @@ function saveBand(id) {
'dok': $(".dok_"+id+" input[type='checkbox']").is(":checked"), 'dok': $(".dok_"+id+" input[type='checkbox']").is(":checked"),
'dxcc': $(".dxcc_"+id+" input[type='checkbox']").is(":checked"), 'dxcc': $(".dxcc_"+id+" input[type='checkbox']").is(":checked"),
'iota': $(".iota_"+id+" input[type='checkbox']").is(":checked"), 'iota': $(".iota_"+id+" input[type='checkbox']").is(":checked"),
'pota': $(".pota_"+id+" input[type='checkbox']").is(":checked"),
'sig': $(".sig_"+id+" input[type='checkbox']").is(":checked"), 'sig': $(".sig_"+id+" input[type='checkbox']").is(":checked"),
'sota': $(".sota_"+id+" input[type='checkbox']").is(":checked"), 'sota': $(".sota_"+id+" input[type='checkbox']").is(":checked"),
'uscounties': $(".uscounties_"+id+" input[type='checkbox']").is(":checked"), 'uscounties': $(".uscounties_"+id+" input[type='checkbox']").is(":checked"),
@ -218,4 +219,4 @@ function saveBand(id) {
success: function (html) { success: function (html) {
} }
}); });
} }

查看文件

@ -126,6 +126,39 @@ $( document ).ready(function() {
$('#wwff_info').attr('title', 'Lookup '+$('#wwff_ref').val()+' reference info on cqgma.org'); $('#wwff_info').attr('title', 'Lookup '+$('#wwff_ref').val()+' reference info on cqgma.org');
}); });
$('#pota_ref').selectize({
maxItems: 1,
closeAfterSelect: true,
loadThrottle: 250,
valueField: 'name',
labelField: 'name',
searchField: 'name',
options: [],
create: false,
load: function(query, callback) {
if (!query || query.length < 3) return callback(); // Only trigger if 3 or more characters are entered
$.ajax({
url: base_url+'index.php/qso/get_pota',
type: 'GET',
dataType: 'json',
data: {
query: query,
},
error: function() {
callback();
},
success: function(res) {
callback(res);
}
});
}
});
$('#pota_ref').change(function(){
$('#pota_info').html('<a target="_blank" href="https://pota.app/#/park/'+$('#pota_ref').val()+'"><img width="32" height="32" src="'+base_url+'images/icons/pota.app.png"></a>');
$('#pota_info').attr('title', 'Lookup '+$('#pota_ref').val()+' reference info on pota.co');
});
$('#darc_dok').selectize({ $('#darc_dok').selectize({
maxItems: 1, maxItems: 1,
closeAfterSelect: true, closeAfterSelect: true,
@ -322,6 +355,9 @@ function reset_fields() {
var $select = $('#wwff_ref').selectize(); var $select = $('#wwff_ref').selectize();
var selectize = $select[0].selectize; var selectize = $select[0].selectize;
selectize.clear(); selectize.clear();
var $select = $('#pota_ref').selectize();
var selectize = $select[0].selectize;
selectize.clear();
var $select = $('#darc_dok').selectize(); var $select = $('#darc_dok').selectize();
var selectize = $select[0].selectize; var selectize = $select[0].selectize;
selectize.clear(); selectize.clear();

39695
assets/json/pota.txt 普通文件

文件差异内容过多而无法显示 加载差异

二进制
images/icons/pota.app.png 普通文件

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 22 KiB