Further clean ups and annotations

Document changes
This commit is contained in:
steve-lad 2021-02-08 15:27:35 +01:00 committed by Diederik de Groot
parent bda7518932
commit 7f047f7c10
No known key found for this signature in database
GPG key ID: AFA728250A1BECD6
4 changed files with 52 additions and 77 deletions

View file

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

View file

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

View file

@ -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) {
var id_fld = $(this).data('id');
$(".btn-tab-select").each(function () {

View file

@ -13,12 +13,13 @@
<div class="display no-border">
<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">
<i class="glyphicon glyphicon-remove"></i> <span><?php echo _('Disabled') ?></span>
<i class="glyphicon glyphicon-remove"></i> <span><?php echo _('Disable') ?></span>
</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">
<i class="glyphicon glyphicon-active"></i> <span><?php echo _('Enabled') ?></span>
<i class="glyphicon glyphicon-active"></i> <span><?php echo _('Enable') ?></span>
</button>
<div class="btn-group">
<a class="btn dropdown-toggle" data-toggle="dropdown" href="#">