Further clean ups and annotations

Document changes
This commit is contained in:
steve-lad 2021-02-08 15:27:35 +01:00
parent 22a4eb6e9e
commit 124f7052eb
4 changed files with 56 additions and 82 deletions

View file

@ -869,6 +869,7 @@ class Sccp_manager extends \FreePBX_Helpers implements \BMO {
} }
break; break;
case 'getDeviceModel': case 'getDeviceModel':
dbug('getting Device model');
switch ($request['type']) { switch ($request['type']) {
case 'all': case 'all':
case 'extension': case 'extension':
@ -929,6 +930,7 @@ class Sccp_manager extends \FreePBX_Helpers implements \BMO {
return $result; return $result;
break; break;
case 'getExtensionGrid': case 'getExtensionGrid':
dbug('getting Extension Grid');
$result = $this->dbinterface->HWextension_db_SccpTableData('SccpExtension'); $result = $this->dbinterface->HWextension_db_SccpTableData('SccpExtension');
if (empty($result)) { if (empty($result)) {
return array(); return array();
@ -952,6 +954,7 @@ class Sccp_manager extends \FreePBX_Helpers implements \BMO {
return $result; return $result;
break; break;
case 'getPhoneGrid': case 'getPhoneGrid':
dbug('getting Phone Grid');
$cmd_type = !empty($request['type']) ? $request['type'] : ''; $cmd_type = !empty($request['type']) ? $request['type'] : '';
$result = $this->dbinterface->HWextension_db_SccpTableData('SccpDevice', array('type' => $cmd_type)); $result = $this->dbinterface->HWextension_db_SccpTableData('SccpDevice', array('type' => $cmd_type));
@ -1865,22 +1868,10 @@ class Sccp_manager extends \FreePBX_Helpers implements \BMO {
// $save_settings = array(); // $save_settings = array();
if (empty($save_value)) { if (empty($save_value)) {
$this->dbinterface->write('sccpsettings', $this->sccpvalues, 'clear'); $this->dbinterface->write('sccpsettings', $this->sccpvalues, 'clear');
/* foreach ($this->sccpvalues as $key => $val) {
if ((trim($val['data']) !== '') or ($val['data'] == '0')) {
$save_settings[] = array($key, $val['data'], $val['seq'], $val['type']);
} else {
$unsaved_settings[] = array($key, $val['data'], $val['seq'], $val['type']);
}
}
$this->dbinterface->write('sccpsettings', $save_settings, 'clear');
*/
} else { } else {
$this->dbinterface->write('sccpsettings', $save_value, 'update'); $this->dbinterface->write('sccpsettings', $save_value, 'update');
} }
return true; return true;
// }
// return true;
} }
/* /*
@ -2140,9 +2131,8 @@ class Sccp_manager extends \FreePBX_Helpers implements \BMO {
} else { } else {
$dir_list = $this->findAllFiles($dir, $file_ext, 'fileonly'); $dir_list = $this->findAllFiles($dir, $file_ext, 'fileonly');
} }
$raw_settings = $this->dbinterface->getDb_model_info($get, $format_list, $filter); $raw_settings = $this->dbinterface->getDb_model_info($get, $format_list, $filter);
dbug('reloading table');
if ($validate) { if ($validate) {
for ($i = 0; $i < count($raw_settings); $i++) { for ($i = 0; $i < count($raw_settings); $i++) {
$raw_settings[$i]['validate'] = '-;-'; $raw_settings[$i]['validate'] = '-;-';

View file

@ -121,7 +121,7 @@ class dbinterface
$sql = "DESCRIBE sccpuser"; $sql = "DESCRIBE sccpuser";
$stmts = $db->prepare($sql); $stmts = $db->prepare($sql);
break; break;
case "get_sccpdevice_byid": case 'get_sccpdevice_byid':
$sql = 'SELECT t1.*, types.dns, types.buttons, types.loadimage, types.nametemplate as nametemplate, ' $sql = 'SELECT t1.*, types.dns, types.buttons, types.loadimage, types.nametemplate as nametemplate, '
. 'addon.buttons as addon_buttons FROM sccpdevice AS t1 ' . 'addon.buttons as addon_buttons FROM sccpdevice AS t1 '
. 'LEFT JOIN sccpdevmodel as types ON t1.type=types.model ' . 'LEFT JOIN sccpdevmodel as types ON t1.type=types.model '
@ -185,21 +185,15 @@ class dbinterface
* Get Sccp Device Model information * Get Sccp Device Model information
*/ */
function getDb_model_info($get = "all", $format_list = "all", $filter = array()) function getDb_model_info($get = 'all', $format_list = 'all', $filter = array())
{ {
global $db; global $db;
switch ($format_list) { $sel_inf = '*, 0 as validate';
case "model": if ($format_list === 'model') {
$sel_inf = "model, vendor, dns, buttons"; $sel_inf = 'model, vendor, dns, buttons, 0 as validate';
break;
case "all":
default:
$sel_inf = "*";
break;
} }
$sel_inf .= ", '0' as 'validate'";
switch ($get) { switch ($get) {
case "byciscoid": case 'byciscoid':
if (!empty($filter)) { if (!empty($filter)) {
if (!empty($filter['model'])) { if (!empty($filter['model'])) {
if (strpos($filter['model'], 'loadInformation')) { if (strpos($filter['model'], 'loadInformation')) {
@ -214,7 +208,7 @@ class dbinterface
break; break;
} }
break; break;
case "byid": case 'byid':
if (!empty($filter)) { if (!empty($filter)) {
if (!empty($filter['model'])) { if (!empty($filter['model'])) {
$sql = 'SELECT ' . $sel_inf . ' FROM sccpdevmodel WHERE (model =' . $filter['model'] . ') ORDER BY model'; $sql = 'SELECT ' . $sel_inf . ' FROM sccpdevmodel WHERE (model =' . $filter['model'] . ') ORDER BY model';
@ -225,31 +219,29 @@ class dbinterface
break; break;
} }
break; break;
case "extension": case 'extension':
$sql = 'SELECT ' . $sel_inf . ' FROM sccpdevmodel WHERE (dns = 0) and (enabled > 0) ORDER BY model'; //check table $sql = 'SELECT ' . $sel_inf . ' FROM sccpdevmodel WHERE (dns = 0) and (enabled > 0) ORDER BY model'; //check table
break; break;
case "enabled": case 'enabled':
$sql = 'SELECT ' . $sel_inf . ' FROM sccpdevmodel WHERE enabled > 0 ORDER BY model '; $sql = 'SELECT ' . $sel_inf . ' FROM sccpdevmodel WHERE enabled > 0 ORDER BY model '; //previously this fell through to phones.
break; break;
case "phones": case 'phones':
$sql = 'SELECT ' . $sel_inf . ' FROM sccpdevmodel WHERE (dns > 0) and (enabled > 0) ORDER BY model '; //check table $sql = 'SELECT ' . $sel_inf . ' FROM sccpdevmodel WHERE (dns > 0) and (enabled > 0) ORDER BY model '; //check table
break; break;
case "ciscophones": case 'ciscophones':
$sql = 'SELECT ' . $sel_inf . ' FROM sccpdevmodel WHERE (dns > 0) and (enabled > 0) AND vendor NOT LIKE \'%-sip\' ORDER BY model'; $sql = 'SELECT ' . $sel_inf . ' FROM sccpdevmodel WHERE (dns > 0) and (enabled > 0) AND vendor NOT LIKE \'%-sip\' ORDER BY model';
break; break;
case "sipphones": case 'sipphones':
$sql = 'SELECT ' . $sel_inf . ' FROM sccpdevmodel WHERE (dns > 0) and (enabled > 0) AND `vendor` LIKE \'%-sip\' ORDER BY model'; $sql = 'SELECT ' . $sel_inf . ' FROM sccpdevmodel WHERE (dns > 0) and (enabled > 0) AND `vendor` LIKE \'%-sip\' ORDER BY model';
break; break;
case "all": case 'all': // Fall through to default
$sql = 'SELECT ' . $sel_inf . ' FROM sccpdevmodel ORDER BY model';
break;
default: default:
$sql = 'SELECT ' . $sel_inf . ' FROM sccpdevmodel ORDER BY model'; $sql = 'SELECT ' . $sel_inf . ' FROM sccpdevmodel ORDER BY model';
break; break;
} }
$stmt = $db->prepare($sql); $stmt = $db->prepare($sql);
$stmt->execute(); $stmt->execute();
return $stmt->fetchAll(); return $stmt->fetchAll(\PDO::FETCH_ASSOC);
} }
function write($table_name = "", $save_value = array(), $mode = 'update', $key_fld = "", $hwid = "") function write($table_name = "", $save_value = array(), $mode = 'update', $key_fld = "", $hwid = "")
@ -318,7 +310,7 @@ class dbinterface
$req = 'DELETE FROM sccpuser WHERE ' . $sql_key . ''; $req = 'DELETE FROM sccpuser WHERE ' . $sql_key . '';
} else { } else {
if ($mode == 'update') { if ($mode == 'update') {
$req = 'UPDATE sccpuser SET ' . $sql_var . WHERE . $sql_key . ''; $req = 'UPDATE sccpuser SET ' . $sql_var . 'WHERE ' . $sql_key . '';
} else { } else {
$req = 'REPLACE INTO sccpuser SET ' . $sql_var . ''; $req = 'REPLACE INTO sccpuser SET ' . $sql_var . '';
} }
@ -368,37 +360,29 @@ class dbinterface
public function validate() public function validate()
{ {
global $db; global $db;
$result = false; $result = 0;
$check_fields = array('430' => array('_hwlang' => "varchar(12)"), '431' => array('private'=> "enum('on','off')"), '433' => array('directed_pickup'=>'') ); $check_fields = [
'430' => ['_hwlang' => "varchar(12)"],
'431' => ['private'=> "enum('on','off')"],
'433' => ['directed_pickup'=>'']
];
$stmt = $db->prepare('DESCRIBE sccpdevice'); $stmt = $db->prepare('DESCRIBE sccpdevice');
$stmt->execute(); $stmt->execute();
foreach ($stmt->fetchAll() as $value) { foreach ($stmt->fetchAll(\PDO::FETCH_ASSOC) as $value) {
$id_result[$value['Field']] = $value['Type']; $id_result[$value['Field']] = $value['Type'];
} }
foreach ($check_fields as $key => $value) { foreach ($check_fields as $key => $value) {
$sub_result = true; if (!empty(array_intersect_assoc($value, $id_result))) {
foreach ($value as $skey => $svalue) { $result = $key;
if (!empty($svalue)) { } else {
if (empty($id_result[$skey])) { // no match but maybe checking against an empty string so just need to check key does not exist
$sub_result = false; foreach ($value as $skey => $svalue) {
} else { if (empty($svalue) && (!isset($id_result[$skey]))) {
if (strtolower($id_result[$skey]) != strtolower($svalue)) { $result = $key;
$sub_result = false;
}
}
} else {
if (!empty($id_result[$skey])) {
$sub_result = false;
} }
} }
} }
if ($sub_result) {
$result = $key;
} else {
break;
}
} }
return $result; return $result;
} }
} }

View file

@ -241,7 +241,7 @@ $(document).ready(function () {
} }
e.preventDefault(); e.preventDefault();
}); });
// Form.buttons - Form.adddevice // Form.buttons - Form.adddevice
$('.futuretype').change(function (e) { $('.futuretype').change(function (e) {
var kid = $(this).data('id'); var kid = $(this).data('id');
@ -256,7 +256,7 @@ $(document).ready(function () {
} }
} }
}); });
}); });
$('.buttontype').change(function (e) { $('.buttontype').change(function (e) {
@ -627,7 +627,7 @@ $(document).ready(function () {
i++; i++;
}); });
} }
if (datas === '') { if (datas === '') {
if (confirm(conf_msg)) { if (confirm(conf_msg)) {
datas = 'name[0]=all'; datas = 'name[0]=all';
@ -692,7 +692,7 @@ $(document).ready(function () {
//}); //});
// Bootstrap table Enabled / Disabled buttons ( class="btn-tab-select") // Bootstrap table Enable / Disable buttons ( class="btn-tab-select")
$("table").on('check-all.bs.table', function (rows) { $("table").on('check-all.bs.table', function (rows) {
var id_fld = $(this).data('id'); var id_fld = $(this).data('id');
$(".btn-tab-select").each(function () { $(".btn-tab-select").each(function () {
@ -1011,7 +1011,7 @@ function bs_page_reload()
} }
function bs_alert(data, status, reload) function bs_alert(data, status, reload)
{ {
if (document.getElementById('hwalert') === null) { if (document.getElementById('hwalert') === null) {
if (Array.isArray(data)) { if (Array.isArray(data)) {
data.forEach(function (entry) { data.forEach(function (entry) {
@ -1075,4 +1075,3 @@ function sleep(milliseconds)
} }
} }
} }

View file

@ -13,12 +13,13 @@
<div class="display no-border"> <div class="display no-border">
<div id="toolbar-model"> <div id="toolbar-model">
<button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target=".add_new_model"><i class="fa fa-bolt"></i> <?php echo _("Add model"); ?></button> <button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target=".add_new_model"><i class="fa fa-bolt"></i> <?php echo _("Add model"); ?>
</button>
<button data-id="model_disabled" class="btn btn-danger sccp_update btn-tab-select" data-type="sccp_model" data-table="table-models" disabled data-section="all"> <button data-id="model_disabled" class="btn btn-danger sccp_update btn-tab-select" data-type="sccp_model" data-table="table-models" disabled data-section="all">
<i class="glyphicon glyphicon-remove"></i> <span><?php echo _('Disabled') ?></span> <i class="glyphicon glyphicon-remove"></i> <span><?php echo _('Disable') ?></span>
</button> </button>
<button data-id="model_enabled" class="btn btn-danger sccp_update btn-tab-select" data-table="table-models" data-type="sccp_model" disabled data-section="all"> <button data-id="model_enabled" class="btn btn-danger sccp_update btn-tab-select" data-table="table-models" data-type="sccp_model" disabled data-section="all">
<i class="glyphicon glyphicon-active"></i> <span><?php echo _('Enabled') ?></span> <i class="glyphicon glyphicon-active"></i> <span><?php echo _('Enable') ?></span>
</button> </button>
<div class="btn-group"> <div class="btn-group">
<a class="btn dropdown-toggle" data-toggle="dropdown" href="#"> <a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
@ -27,8 +28,8 @@
</a> </a>
<ul class="dropdown-menu"> <ul class="dropdown-menu">
<li><a class="dropitem" data-id="enabled" tabindex="-1" href="#"><span><?php echo _('Show Enabled') ?></span></a></li> <li><a class="dropitem" data-id="enabled" tabindex="-1" href="#"><span><?php echo _('Show Enabled') ?></span></a></li>
<li><a class="dropitem" data-id="extension" tabindex="-1" href="#"><span><?php echo _('Expansion Module')?></span></a></li> <li><a class="dropitem" data-id="extension" tabindex="-1" href="#"><span><?php echo _('Expansion Module')?></span></a></li>
<li><a class="dropitem" data-id="all" tabindex="-1" href="#"><span><?php echo _('Show All') ?></span></a></li> <li><a class="dropitem" data-id="all" tabindex="-1" href="#"><span><?php echo _('Show All') ?></span></a></li>
</ul> </ul>
</div> </div>
</div> </div>
@ -108,8 +109,8 @@
<div class="row"><div class="col-md-12"> <div class="row"><div class="col-md-12">
<span id="new_buttons-help" class="help-block fpbx-help-block">Help.</span> <span id="new_buttons-help" class="help-block fpbx-help-block">Help.</span>
</div></div></div> </div></div></div>
<div class="element-container"><div class="row"> <div class="form-group"><div class="col-md-3"> <div class="element-container"><div class="row"> <div class="form-group"><div class="col-md-3">
<label class="control-label" for="new_loadimage"><?php echo _('Load Image');?></label> <label class="control-label" for="new_loadimage"><?php echo _('Load Image');?></label>
<i class="fa fa-question-circle fpbx-help-icon" data-for="new_loadimage"></i> <i class="fa fa-question-circle fpbx-help-icon" data-for="new_loadimage"></i>
@ -129,7 +130,7 @@
<div class="row"><div class="col-md-12"> <div class="row"><div class="col-md-12">
<span id="new_loadinformationid-help" class="help-block fpbx-help-block">Help.</span> <span id="new_loadinformationid-help" class="help-block fpbx-help-block">Help.</span>
</div></div></div> </div></div></div>
<div class="element-container"><div class="row"> <div class="form-group"><div class="col-md-3"> <div class="element-container"><div class="row"> <div class="form-group"><div class="col-md-3">
<label class="control-label" for="new_nametemplate"><?php echo _('Model template XML');?></label> <label class="control-label" for="new_nametemplate"><?php echo _('Model template XML');?></label>
<i class="fa fa-question-circle fpbx-help-icon" data-for="new_nametemplate"></i> <i class="fa fa-question-circle fpbx-help-icon" data-for="new_nametemplate"></i>
@ -143,7 +144,7 @@
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal"><?php echo _('Close');?></button> <button type="button" class="btn btn-default" data-dismiss="modal"><?php echo _('Close');?></button>
<button type="button" class="btn btn-primary sccp_update" data-id="model_add" id="add_new_model" data-dismiss="modal"><?php echo _('Add New model without Enabled');?></button> <button type="button" class="btn btn-primary sccp_update" data-id="model_add" id="add_new_model" data-dismiss="modal"><?php echo _('Add New model without Enabled');?></button>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
@ -169,7 +170,7 @@
<span id="editd_model-help" class="help-block fpbx-help-block">Help.</span> <span id="editd_model-help" class="help-block fpbx-help-block">Help.</span>
</div></div></div> </div></div></div>
<div class="element-container"><div class="row"> <div class="form-group"><div class="col-md-3"> <div class="element-container"><div class="row"> <div class="form-group"><div class="col-md-3">
<label class="control-label" for="editd_loadimage"><?php echo _('Load Image');?></label> <label class="control-label" for="editd_loadimage"><?php echo _('Load Image');?></label>
<i class="fa fa-question-circle fpbx-help-icon" data-for="edit_devimage"></i> <i class="fa fa-question-circle fpbx-help-icon" data-for="edit_devimage"></i>
@ -190,12 +191,12 @@
<span id="editd_nametemplate-help" class="help-block fpbx-help-block">Help.</span> <span id="editd_nametemplate-help" class="help-block fpbx-help-block">Help.</span>
</div></div></div> </div></div></div>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal"><?php echo _('Close');?></button> <button type="button" class="btn btn-default" data-dismiss="modal"><?php echo _('Close');?></button>
<button type="button" class="btn btn-primary sccp_update" data-id="model_apply" data-dismiss="modal"><?php echo _('apply');?></button> <button type="button" class="btn btn-primary sccp_update" data-id="model_apply" data-dismiss="modal"><?php echo _('apply');?></button>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
@ -214,7 +215,7 @@
// function DispayInputFormatter(value, row, index) { // function DispayInputFormatter(value, row, index) {
// return (value == null) ? '<input class="tabl-edit form-control" name="' + row['model'] + '_template" type="text" value="">' : '<input class="tabl-edit form-control" name="' + row['model'] + '_template" type="text" value="' + value + '">'; // return (value == null) ? '<input class="tabl-edit form-control" name="' + row['model'] + '_template" type="text" value="">' : '<input class="tabl-edit form-control" name="' + row['model'] + '_template" type="text" value="' + value + '">';
// } // }
function DispayActionsModelFormatter(value, row, index) { function DispayActionsModelFormatter(value, row, index) {
var exp_model = ''; var exp_model = '';
// exp_model += '<a href="#edit_model" class="btn btn-info" onclick="load_model(this, &quot;'+row['model']+'&quot;)" data-toggle="modal"><i class="fa fa-pencil"></i></a>'; // exp_model += '<a href="#edit_model" class="btn btn-info" onclick="load_model(this, &quot;'+row['model']+'&quot;)" data-toggle="modal"><i class="fa fa-pencil"></i></a>';
@ -236,12 +237,12 @@
return value; return value;
} }
function SetRowColor(row, index) { function SetRowColor(row, index) {
var tclass = "active"; var tclass = "active";
if (row['enabled'] === 1) { if (row['enabled'] === 1) {
tclass = (index % 2 === 0) ? "info" : "info"; tclass = (index % 2 === 0) ? "info" : "info";
} }
if ((row['validate'] === 'yes;yes') || (row['validate'] === 'yes;-')) { if ((row['validate'] === 'yes;yes') || (row['validate'] === 'yes;-')) {
// tclass = (row['enabled'] === '1') ? "danger" : "warning"; // tclass = (row['enabled'] === '1') ? "danger" : "warning";
} else { } else {
@ -249,7 +250,7 @@
} }
return {classes: tclass}; return {classes: tclass};
} }
function load_model(elmnt,clr) { function load_model(elmnt,clr) {
// $("#edit_devmodel").text(clr); // $("#edit_devmodel").text(clr);
var drow = $("#table-models").bootstrapTable('getRowByUniqueId',clr); var drow = $("#table-models").bootstrapTable('getRowByUniqueId',clr);