new ui, added cfg options, add AUTH_DMD
This commit is contained in:
parent
e540ade02b
commit
5e87fdc889
|
@ -338,6 +338,22 @@
|
||||||
<input type="checkbox" id="showSlot"> <label for="showSlot"><span></span> Show Timeslots in Call History Log</label>
|
<input type="checkbox" id="showSlot"> <label for="showSlot"><span></span> Show Timeslots in Call History Log</label>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="border-right: 0px solid;"> </td>
|
||||||
|
<td style="border-left: 0px solid;"> </td>
|
||||||
|
<td>
|
||||||
|
<input type="checkbox" id="showLast"> <label for="showLast"><span></span> Show Last Seen Time in Frequency Table</label>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td style="border-right: 0px solid;"> </td>
|
||||||
|
<td style="border-left: 0px solid;"> </td>
|
||||||
|
<td>
|
||||||
|
<input type="checkbox" id="colSlot2"> <label for="colSlot2"><span title="Collapses Slot 2 in Active Frequency Table after 2 minutes of inactivity."></span> Collapse Slot 2 Display After 2 min.</label>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="3">
|
<td colspan="3">
|
||||||
<input type="checkbox" id="smartcolors"> <label for="smartcolors"><span></span>Use SmartColors -
|
<input type="checkbox" id="smartcolors"> <label for="smartcolors"><span></span>Use SmartColors -
|
||||||
|
@ -830,4 +846,4 @@
|
||||||
</div>
|
</div>
|
||||||
<!-- end div_logs -->
|
<!-- end div_logs -->
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
// Copyright 2017, 2018, 2019, 2020, 2021 Max H. Parke KA1RBI
|
// Copyright 2017, 2018, 2019, 2020, 2021, 2022 Max H. Parke KA1RBI
|
||||||
// Copyright 2020, 2021 Michael Rose
|
// Copyright 2020, 2021, 2022 Michael Rose
|
||||||
//
|
//
|
||||||
// This file is part of OP25
|
// This file is part of OP25
|
||||||
//
|
//
|
||||||
|
@ -18,7 +18,7 @@
|
||||||
// Software Foundation, Inc., 51 Franklin Street, Boston, MA
|
// Software Foundation, Inc., 51 Franklin Street, Boston, MA
|
||||||
// 02110-1301, USA.
|
// 02110-1301, USA.
|
||||||
|
|
||||||
var lastUpdated = "29-Aug-2021";
|
var lastUpdated = "09-Jan-2022";
|
||||||
|
|
||||||
var d_debug = 0;
|
var d_debug = 0;
|
||||||
var http_req = new XMLHttpRequest();
|
var http_req = new XMLHttpRequest();
|
||||||
|
@ -47,6 +47,7 @@ var last_keyid = [];
|
||||||
var tgid_files = {};
|
var tgid_files = {};
|
||||||
var srcid_files = {};
|
var srcid_files = {};
|
||||||
var channel_id = {};
|
var channel_id = {};
|
||||||
|
var freqTable = true;
|
||||||
var event_source = null; // must be in global scope for Babysitter to work.
|
var event_source = null; // must be in global scope for Babysitter to work.
|
||||||
|
|
||||||
window.g_change_freq = [];
|
window.g_change_freq = [];
|
||||||
|
@ -234,8 +235,10 @@ function rx_update(d) {
|
||||||
function change_freq(d) { // d json_type = change_freq
|
function change_freq(d) { // d json_type = change_freq
|
||||||
t = 'TDMA';
|
t = 'TDMA';
|
||||||
var t = 'FDMA';
|
var t = 'FDMA';
|
||||||
if ((d['tdma'] == 0) || (d['tdma'] == 1))
|
if ((d['tdma'] == 0) || (d['tdma'] == 1)) {
|
||||||
t = 'TDMA ' + d['tdma'];
|
t = '<span style="color: lime;">TDMA ' + d['tdma'] + '</span>';
|
||||||
|
}
|
||||||
|
|
||||||
$('#stx').html(t);
|
$('#stx').html(t);
|
||||||
|
|
||||||
var displayTgid = '—';
|
var displayTgid = '—';
|
||||||
|
@ -550,10 +553,14 @@ function trunk_detail(d) { // d json_type = trunk_update
|
||||||
|
|
||||||
// system frequencies table // d json_type = trunk_update
|
// system frequencies table // d json_type = trunk_update
|
||||||
html += '<br>';
|
html += '<br>';
|
||||||
|
|
||||||
|
if (freqTable == true) { // show/hide table with F key
|
||||||
|
|
||||||
html += '<table class="fixed" id="sysfreq">';
|
html += '<table class="fixed" id="sysfreq">';
|
||||||
|
|
||||||
html += '<col width="100px">'; // 1 Freq
|
html += '<col width="100px">'; // 1 Freq
|
||||||
html += '<col width=" 75px">'; // 2 Last
|
if (cbState('showLast'))
|
||||||
|
html += '<col width=" 75px">'; // 2 Last
|
||||||
html += '<col width=" 80px">'; // 3 tgid
|
html += '<col width=" 80px">'; // 3 tgid
|
||||||
html += '<col width="175px">'; // 4 tgtag
|
html += '<col width="175px">'; // 4 tgtag
|
||||||
html += '<col width=" 25px">'; // 5 enc
|
html += '<col width=" 25px">'; // 5 enc
|
||||||
|
@ -562,7 +569,8 @@ function trunk_detail(d) { // d json_type = trunk_update
|
||||||
|
|
||||||
html += '<tr>';
|
html += '<tr>';
|
||||||
html += '<th>Frequency </th>'; // 1
|
html += '<th>Frequency </th>'; // 1
|
||||||
html += '<th>Last </th>'; // 2
|
if (cbState('showLast'))
|
||||||
|
html += '<th>Last </th>'; // 2
|
||||||
html += '<th colspan="3">Talkgroup</th>'; // 3 / 4 / 5
|
html += '<th colspan="3">Talkgroup</th>'; // 3 / 4 / 5
|
||||||
html += '<th colspan="2">Source</th>'; // 6 / 7
|
html += '<th colspan="2">Source</th>'; // 6 / 7
|
||||||
html += '</tr>';
|
html += '</tr>';
|
||||||
|
@ -579,7 +587,6 @@ function trunk_detail(d) { // d json_type = trunk_update
|
||||||
sf_timeout = 0; // delay before clearing the tg info
|
sf_timeout = 0; // delay before clearing the tg info
|
||||||
|
|
||||||
// #frequency#
|
// #frequency#
|
||||||
var sf_tdma;
|
|
||||||
|
|
||||||
//calls
|
//calls
|
||||||
var sf_count = []; // "count"
|
var sf_count = []; // "count"
|
||||||
|
@ -623,7 +630,15 @@ function trunk_detail(d) { // d json_type = trunk_update
|
||||||
sf_la[1] = 0;
|
sf_la[1] = 0;
|
||||||
|
|
||||||
for (var freq in d[nac][ft]) {
|
for (var freq in d[nac][ft]) {
|
||||||
|
|
||||||
|
// temp for testing -- semi-perm?
|
||||||
|
if ( d[nac][ft][freq]['tdma'] == true ) {
|
||||||
|
zt = "<span style='color: #070;'>T</span>";
|
||||||
|
} else {
|
||||||
|
zt = " ";
|
||||||
|
}
|
||||||
|
// end temp
|
||||||
|
|
||||||
slot = 0;
|
slot = 0;
|
||||||
|
|
||||||
for (var call of d[nac][ft][freq][calls]) {
|
for (var call of d[nac][ft][freq][calls]) {
|
||||||
|
@ -716,13 +731,15 @@ function trunk_detail(d) { // d json_type = trunk_update
|
||||||
var sfile = d[nac]['unit_id_tags_file'];
|
var sfile = d[nac]['unit_id_tags_file'];
|
||||||
|
|
||||||
// Active Frequencies Table
|
// Active Frequencies Table
|
||||||
|
|
||||||
html += '<tr>';
|
html += '<tr>';
|
||||||
|
|
||||||
if (slot == 0)
|
if (slot == 0)
|
||||||
html += '<td style="cursor: crosshair;" title="' + sf_freq + ' Hits: ' + sf_count[slot] + '">' + sf_freq + '</td>'; // 1
|
html += '<td style="cursor: crosshair;" title="' + sf_freq + ' Hits: ' + sf_count[slot] + '">' + sf_freq + ' ' + zt + '</td>'; // 1
|
||||||
if (slot == 1)
|
if (slot == 1)
|
||||||
html += '<td align="right" style="cursor: crosshair;" title="' + sf_freq + ' Hits: ' + sf_count[slot] + '"> / 2 </td>'; // 1
|
html += '<td align="right" style="cursor: crosshair;" title="' + sf_freq + ' Hits: ' + sf_count[slot] + '"> <span class="label-sm">/</span> 2 </td>'; // 1
|
||||||
html += '<td>' + sf_la[slot] + '</td>'; // 2
|
if (cbState('showLast'))
|
||||||
|
html += '<td>' + sf_la[slot] + '</td>'; // 2
|
||||||
html += '<td name="tgid" ondblclick="editTsv(this, 1, \'' + tfile + '\', ' + nac +');">' + sc + sf_tgid[slot] + '</td>'; // 3
|
html += '<td name="tgid" ondblclick="editTsv(this, 1, \'' + tfile + '\', ' + nac +');">' + sc + sf_tgid[slot] + '</td>'; // 3
|
||||||
html += '<td name="tag" ondblclick="editTsv(this, 1, \'' + tfile + '\', ' + nac +');">' + sc + sf_tgtag[slot] + '</td>'; // 4
|
html += '<td name="tag" ondblclick="editTsv(this, 1, \'' + tfile + '\', ' + nac +');">' + sc + sf_tgtag[slot] + '</td>'; // 4
|
||||||
html += '<td><span class="enc">' + sf_enc[slot] + '</span></td>'; // 5
|
html += '<td><span class="enc">' + sf_enc[slot] + '</span></td>'; // 5
|
||||||
|
@ -730,13 +747,14 @@ function trunk_detail(d) { // d json_type = trunk_update
|
||||||
html += '<td name="srctag" ondblclick="editTsv(this, 1, \'' + sfile + '\', ' + nac +');">' + sc_src + sf_srctag[slot] + '</td>'; // 7
|
html += '<td name="srctag" ondblclick="editTsv(this, 1, \'' + sfile + '\', ' + nac +');">' + sc_src + sf_srctag[slot] + '</td>'; // 7
|
||||||
|
|
||||||
html += '</tr>';
|
html += '</tr>';
|
||||||
|
// if (!p2 || zt == " " ) break;
|
||||||
if (!p2) break;
|
if (!p2 || zt == " " || ( sf_la[slot] > 120 && cbState('colSlot2')) ) break;
|
||||||
} // end for slot
|
} // end for slot
|
||||||
} // end for freq
|
} // end for freq
|
||||||
|
|
||||||
html += '</table>';
|
html += '</table>';
|
||||||
|
} // end (freqTable == true)
|
||||||
|
|
||||||
if (cbState('show_adj'))
|
if (cbState('show_adj'))
|
||||||
html += adjacent_data(d[nac]['adjacent_data']);
|
html += adjacent_data(d[nac]['adjacent_data']);
|
||||||
|
|
||||||
|
@ -1001,6 +1019,7 @@ function dispatch_commands(txt) {
|
||||||
switch (j_type) {
|
switch (j_type) {
|
||||||
|
|
||||||
case 'freq_error_tracking':
|
case 'freq_error_tracking':
|
||||||
|
|
||||||
var ele, bx, cx, dx, ex, fx, gx;
|
var ele, bx, cx, dx, ex, fx, gx;
|
||||||
$('#error_tracking').show();
|
$('#error_tracking').show();
|
||||||
bx = d.device;
|
bx = d.device;
|
||||||
|
@ -1013,6 +1032,7 @@ function dispatch_commands(txt) {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'change_freq':
|
case 'change_freq':
|
||||||
|
|
||||||
cb = cbState('log_cf');
|
cb = cbState('log_cf');
|
||||||
time = getTime(d['effective_time'] * 1000);
|
time = getTime(d['effective_time'] * 1000);
|
||||||
if (d.tgid && !d.tag) {
|
if (d.tgid && !d.tag) {
|
||||||
|
@ -1054,6 +1074,7 @@ function dispatch_commands(txt) {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'trunk_update':
|
case 'trunk_update':
|
||||||
|
|
||||||
cb = cbState('log_tu');
|
cb = cbState('log_tu');
|
||||||
var tf, sf, sid, a, z;
|
var tf, sf, sid, a, z;
|
||||||
var sysid, site, rfid, color;
|
var sysid, site, rfid, color;
|
||||||
|
@ -1124,12 +1145,12 @@ function dispatch_commands(txt) {
|
||||||
appendJsonTable(time, j_type, ps, 'Fine Tune: ' + ft, 'Tune Err: ' + d['error'], 'OP25', 'RX Update', '--', 'history');
|
appendJsonTable(time, j_type, ps, 'Fine Tune: ' + ft, 'Tune Err: ' + d['error'], 'OP25', 'RX Update', '--', 'history');
|
||||||
} // this Events table entry doesn't add much value either.
|
} // this Events table entry doesn't add much value either.
|
||||||
|
|
||||||
// window.g_rx_update = d;
|
|
||||||
sessionStorage.fineTune = d['fine_tune'] ? d['fine_tune'] : "—";
|
sessionStorage.fineTune = d['fine_tune'] ? d['fine_tune'] : "—";
|
||||||
sessionStorage.errorVal = d['error'] ? d['error'] : "—";
|
sessionStorage.errorVal = d['error'] ? d['error'] : "—";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'cc_event':
|
case 'cc_event':
|
||||||
|
|
||||||
time = getTime(d['time'] * 1000);
|
time = getTime(d['time'] * 1000);
|
||||||
cb = cbState('log_cc');
|
cb = cbState('log_cc');
|
||||||
var opcode, n_opcode, sysid, tag, target, source, srctag, src_c, color;
|
var opcode, n_opcode, sysid, tag, target, source, srctag, src_c, color;
|
||||||
|
@ -1169,9 +1190,8 @@ function dispatch_commands(txt) {
|
||||||
|
|
||||||
if (d['srcaddr']) {
|
if (d['srcaddr']) {
|
||||||
source = (d.srcaddr.unit_id) ? d.srcaddr.unit_id : "— No ID"; // This condition is reached when there is traffic
|
source = (d.srcaddr.unit_id) ? d.srcaddr.unit_id : "— No ID"; // This condition is reached when there is traffic
|
||||||
// but no source unit id is present. on ebrcs, this
|
srctag = (d.srcaddr.tag) ? d.srcaddr.tag : " "; // but no source unit id is present. on ebrcs, this
|
||||||
// happens when an old u/vhf system is patched onto ebrcs.
|
// happens when an old u/vhf system is patched onto ebrcs.
|
||||||
srctag = (d.srcaddr.tag) ? d.srcaddr.tag : " ";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// handle manufacturer opcodes:
|
// handle manufacturer opcodes:
|
||||||
|
@ -1377,6 +1397,14 @@ function dispatch_commands(txt) {
|
||||||
noLog = cbState('je_log') ? 0 : 1;
|
noLog = cbState('je_log') ? 0 : 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case "31": // 0x31 - AUTH_DMD - Authentication Demand
|
||||||
|
source = d.source.unit_id;
|
||||||
|
srctag = d.source.tag;
|
||||||
|
target = d.target.unit_id;
|
||||||
|
tag = d.target.tag;
|
||||||
|
noLog = cbState('je_log') ? 0 : 1;
|
||||||
|
break;
|
||||||
|
|
||||||
case "33": // 0x33 - iden up tdma
|
case "33": // 0x33 - iden up tdma
|
||||||
var sysid = d.sysid;
|
var sysid = d.sysid;
|
||||||
var type = 'TDMA';
|
var type = 'TDMA';
|
||||||
|
@ -1562,6 +1590,14 @@ document.onkeydown = function(evt) {
|
||||||
return; // don't do anything if user is typing in an input field
|
return; // don't do anything if user is typing in an input field
|
||||||
|
|
||||||
switch (evt.keyCode) {
|
switch (evt.keyCode) {
|
||||||
|
|
||||||
|
case 70:
|
||||||
|
// 'f' key - show/hide frequency table
|
||||||
|
$('#lastCommand').html('F - Freq Tbl<br><br>').show();
|
||||||
|
freqTable = !freqTable;
|
||||||
|
setTimeout(function() {$('#lastCommand').html('').hide();}, 2000);
|
||||||
|
break;
|
||||||
|
|
||||||
case 71:
|
case 71:
|
||||||
// 'g' key - GOTO
|
// 'g' key - GOTO
|
||||||
$('#lastCommand').html('G - GOTO<br><br>').show();
|
$('#lastCommand').html('G - GOTO<br><br>').show();
|
||||||
|
@ -1685,20 +1721,17 @@ function appendJsonTable(a, b, c, d, e, f, srctag, opcode, target) {
|
||||||
|
|
||||||
if (target == 'history' && b == 'trunk_update' && window.g_trunk_update_c && window.g_trunk_update_d) {
|
if (target == 'history' && b == 'trunk_update' && window.g_trunk_update_c && window.g_trunk_update_d) {
|
||||||
if (c == window.g_trunk_update_c && d == window.g_trunk_update_d && a == prevTime) {
|
if (c == window.g_trunk_update_c && d == window.g_trunk_update_d && a == prevTime) {
|
||||||
// console.log('skip cond 1');
|
|
||||||
skip = 1;
|
skip = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (target == 'history' && b.includes('cc_event') && window.g_cc_event_c && window.g_cc_event_e) {
|
if (target == 'history' && b.includes('cc_event') && window.g_cc_event_c && window.g_cc_event_e) {
|
||||||
if (c == window.g_cc_event_c && (e == window.g_cc_event_e || f == window.g_cc_event_f) && a == prevTime) {
|
if (c == window.g_cc_event_c && (e == window.g_cc_event_e || f == window.g_cc_event_f) && a == prevTime) {
|
||||||
skip = 1;
|
skip = 1;
|
||||||
// console.log('skip cond 2');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
if (target == 'history' && b.includes('change_freq') && window.g_change_freq_c && window.g_change_freq_e) {
|
if (target == 'history' && b.includes('change_freq') && window.g_change_freq_c && window.g_change_freq_e) {
|
||||||
if (c == window.g_change_freq_c && e == window.g_change_freq_e && a == prevTime) {
|
if (c == window.g_change_freq_c && e == window.g_change_freq_e && a == prevTime) {
|
||||||
// console.log('skip cond 3');
|
|
||||||
skip = 1;
|
skip = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1779,7 +1812,6 @@ function appendCallHistory(a, b, c, d, e, f, target, options, xp, sysid, nac, td
|
||||||
// Search previous 9 rows, compares current data with existing tgid, srcaddr, and time
|
// Search previous 9 rows, compares current data with existing tgid, srcaddr, and time
|
||||||
// if tgid and srcaddr are equal and time is within 2 seconds, skip the entry,
|
// if tgid and srcaddr are equal and time is within 2 seconds, skip the entry,
|
||||||
search: {
|
search: {
|
||||||
|
|
||||||
for (x = 1; x < 8; x++) {
|
for (x = 1; x < 8; x++) {
|
||||||
if (!table.rows[x]) {
|
if (!table.rows[x]) {
|
||||||
break search;
|
break search;
|
||||||
|
@ -1802,11 +1834,10 @@ function appendCallHistory(a, b, c, d, e, f, target, options, xp, sysid, nac, td
|
||||||
}
|
}
|
||||||
|
|
||||||
// do not append the Call History table if not enabled on Home tab
|
// do not append the Call History table if not enabled on Home tab
|
||||||
if (enable_status[nac] == false)
|
if (enable_status[nac] == false) {
|
||||||
skip = 1;
|
skip = 1;
|
||||||
|
}
|
||||||
// console.log('callHistory slot=' + slot);
|
|
||||||
|
|
||||||
var tslot = '';
|
var tslot = '';
|
||||||
if (cbState('showSlot') == true && tdma_slot != null) {
|
if (cbState('showSlot') == true && tdma_slot != null) {
|
||||||
tslot = 'S' + ( tdma_slot +1 ) + ' ';
|
tslot = 'S' + ( tdma_slot +1 ) + ' ';
|
||||||
|
@ -1823,11 +1854,11 @@ function appendCallHistory(a, b, c, d, e, f, target, options, xp, sysid, nac, td
|
||||||
var cell4 = row.insertCell(4);
|
var cell4 = row.insertCell(4);
|
||||||
var cell5 = row.insertCell(5);
|
var cell5 = row.insertCell(5);
|
||||||
var cell6 = row.insertCell(6);
|
var cell6 = row.insertCell(6);
|
||||||
|
|
||||||
cell0.innerHTML = a;
|
cell0.innerHTML = a;
|
||||||
cell1.innerHTML = '<div align="center">' + hex(sysid).toUpperCase() + '</div>';
|
cell1.innerHTML = '<div align="center">' + hex(sysid).toUpperCase() + '</div>';
|
||||||
cell2.innerHTML = '<div align="center">' + tslot + enc + pri + '</div>';
|
cell2.innerHTML = '<div align="center">' + tslot + enc + pri + '</div>';
|
||||||
cell3.innerHTML = c;
|
cell3.innerHTML = c;
|
||||||
cell4.innerHTML = d;
|
cell4.innerHTML = d;
|
||||||
cell5.innerHTML = e;
|
cell5.innerHTML = e;
|
||||||
cell6.innerHTML = f;
|
cell6.innerHTML = f;
|
||||||
|
@ -2049,7 +2080,7 @@ function is_digit(s) {
|
||||||
|
|
||||||
function getTime(x) {
|
function getTime(x) {
|
||||||
//expects Unix timestamp, returns 24 hour time, hrs:min:sec
|
//expects Unix timestamp, returns 24 hour time, hrs:min:sec
|
||||||
date = new Date(x);
|
date = new Date(parseInt(x));
|
||||||
var time = zeroPad(date.getHours(), 2) + ':' + zeroPad(date.getMinutes(), 2) + ':' + zeroPad(date.getSeconds(), 2);
|
var time = zeroPad(date.getHours(), 2) + ':' + zeroPad(date.getMinutes(), 2) + ':' + zeroPad(date.getSeconds(), 2);
|
||||||
return time;
|
return time;
|
||||||
}
|
}
|
||||||
|
@ -2060,7 +2091,6 @@ function cbState(x) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function csvTable(table_id, separator = ',') { // Quick and simple export target #table_id into a csv
|
function csvTable(table_id, separator = ',') { // Quick and simple export target #table_id into a csv
|
||||||
// console.log('trying CSV table...');
|
|
||||||
// Select rows from table_id
|
// Select rows from table_id
|
||||||
var rows = document.querySelectorAll('table#' + table_id + ' tr');
|
var rows = document.querySelectorAll('table#' + table_id + ' tr');
|
||||||
// Construct csv
|
// Construct csv
|
||||||
|
@ -2250,7 +2280,9 @@ function saveDisplaySettings() {
|
||||||
"showBandPlan",
|
"showBandPlan",
|
||||||
"showSlot",
|
"showSlot",
|
||||||
"oplogip",
|
"oplogip",
|
||||||
"oplogport" ];
|
"oplogport",
|
||||||
|
"showLast",
|
||||||
|
"colSlot2" ];
|
||||||
|
|
||||||
for (r in s) {
|
for (r in s) {
|
||||||
if ($('#' + s[r]).attr('type') == "checkbox") {
|
if ($('#' + s[r]).attr('type') == "checkbox") {
|
||||||
|
@ -2266,7 +2298,6 @@ function saveDisplaySettings() {
|
||||||
|
|
||||||
|
|
||||||
function loadHelp(){ // this is also called from editor.js
|
function loadHelp(){ // this is also called from editor.js
|
||||||
|
|
||||||
f = 'help.html';
|
f = 'help.html';
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url : f,
|
url : f,
|
||||||
|
@ -2385,8 +2416,6 @@ function getSiteAlias() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function loadSiteAlias(json) {
|
function loadSiteAlias(json) {
|
||||||
window.siteAlias = json;
|
window.siteAlias = json;
|
||||||
localStorage.AliasTableUpdated == false;
|
localStorage.AliasTableUpdated == false;
|
||||||
|
@ -2493,6 +2522,7 @@ var g_opcode = { // global opcodes
|
||||||
'2d': 'Force SU Reg', // UnitRegCommand - U_REG_CMD - This transaction is to be used to force an SU to initiate Unit Registration
|
'2d': 'Force SU Reg', // UnitRegCommand - U_REG_CMD - This transaction is to be used to force an SU to initiate Unit Registration
|
||||||
'2e': 'UnitAuthCommand',
|
'2e': 'UnitAuthCommand',
|
||||||
'2f': 'Logout', // UnitDeregAck
|
'2f': 'Logout', // UnitDeregAck
|
||||||
|
'31': 'Auth Demand',
|
||||||
'36': 'RoamingAddrCommand',
|
'36': 'RoamingAddrCommand',
|
||||||
'37': 'RoamingAddrUpdate',
|
'37': 'RoamingAddrUpdate',
|
||||||
'38': 'SystemServiceBroadcast', // This broadcast will inform the subscriber units of the current system services supported and currently offered on the Primary control channel of this site.
|
'38': 'SystemServiceBroadcast', // This broadcast will inform the subscriber units of the current system services supported and currently offered on the Primary control channel of this site.
|
||||||
|
|
Loading…
Reference in New Issue