- Add Buton "Update Buton Labels". If you replace User nams, this functon Regenerate device labels
This commit is contained in:
parent
06031ad89c
commit
2031587f29
|
@ -106,6 +106,7 @@ class Sccp_manager extends \FreePBX_Helpers implements \BMO {
|
||||||
public $sccp_conf_init = array();
|
public $sccp_conf_init = array();
|
||||||
public $xml_data;
|
public $xml_data;
|
||||||
public $class_error; //error construct
|
public $class_error; //error construct
|
||||||
|
public $info_warning;
|
||||||
|
|
||||||
public function __construct($freepbx = null) {
|
public function __construct($freepbx = null) {
|
||||||
if ($freepbx == null) {
|
if ($freepbx == null) {
|
||||||
|
@ -621,6 +622,7 @@ class Sccp_manager extends \FreePBX_Helpers implements \BMO {
|
||||||
case 'model_update':
|
case 'model_update':
|
||||||
case 'model_add':
|
case 'model_add':
|
||||||
case 'model_delete':
|
case 'model_delete':
|
||||||
|
case 'update_button_label':
|
||||||
case 'updateSoftKey':
|
case 'updateSoftKey':
|
||||||
case 'deleteSoftKey':
|
case 'deleteSoftKey':
|
||||||
case 'delete_dialplan':
|
case 'delete_dialplan':
|
||||||
|
@ -646,6 +648,7 @@ class Sccp_manager extends \FreePBX_Helpers implements \BMO {
|
||||||
$this->sccp_create_tftp_XML();
|
$this->sccp_create_tftp_XML();
|
||||||
|
|
||||||
$res = $this->srvinterface->sccp_core_commands(array('cmd' => 'sccp_reload'));
|
$res = $this->srvinterface->sccp_core_commands(array('cmd' => 'sccp_reload'));
|
||||||
|
// $res = $this->srvinterface->sccp_core_commands(array('cmd' => 'restart_phone'));
|
||||||
$msg = 'Config Saved: ' . $res['Response'] . '. Info :' . $res['data'];
|
$msg = 'Config Saved: ' . $res['Response'] . '. Info :' . $res['data'];
|
||||||
// needreload();
|
// needreload();
|
||||||
// !TODO!: It is necessary in the future to check, and replace all server responses on correct messages. Use _(msg)
|
// !TODO!: It is necessary in the future to check, and replace all server responses on correct messages. Use _(msg)
|
||||||
|
@ -755,6 +758,24 @@ class Sccp_manager extends \FreePBX_Helpers implements \BMO {
|
||||||
return array('status' => true, 'message' => 'Reset command send ' . $msg, 'reload' => true);
|
return array('status' => true, 'message' => 'Reset command send ' . $msg, 'reload' => true);
|
||||||
// }
|
// }
|
||||||
break;
|
break;
|
||||||
|
case 'update_button_label':
|
||||||
|
$msg = '';
|
||||||
|
$hw_list = array();
|
||||||
|
// return array('status' => false, 'message' => 'update_button_label send ' . $msg, 'reload' => false);
|
||||||
|
if (!empty($request['name'])) {
|
||||||
|
foreach ($request['name'] as $idv) {
|
||||||
|
if (!(strpos($idv, 'SEP') === false)) {
|
||||||
|
$hw_list[] = array('name' => $idv);
|
||||||
|
}
|
||||||
|
if ($idv == 'all') {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$res = $this->sccp_db_update_butons($hw_list);
|
||||||
|
$msg .= $res['Response'] . ' raw: ' . $res['data'] . ' ';
|
||||||
|
// !TODO!: It is necessary in the future to check, and replace all server responses on correct messages. Use _(msg)
|
||||||
|
return array('status' => true, 'message' => 'Update Butons Labels Complite ' . $msg, 'reload' => true);
|
||||||
|
|
||||||
case 'model_add':
|
case 'model_add':
|
||||||
$save_settings = array();
|
$save_settings = array();
|
||||||
$key_name = array('model', 'vendor', 'dns', 'buttons', 'loadimage', 'loadinformationid', 'nametemplate');
|
$key_name = array('model', 'vendor', 'dns', 'buttons', 'loadimage', 'loadinformationid', 'nametemplate');
|
||||||
|
@ -1792,6 +1813,52 @@ class Sccp_manager extends \FreePBX_Helpers implements \BMO {
|
||||||
return $errors;
|
return $errors;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Update Butons Labels on mysql DB
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private function sccp_db_update_butons($hw_list = array()) {
|
||||||
|
|
||||||
|
$save_buttons = array();
|
||||||
|
if (!empty($hw_list)) {
|
||||||
|
$buton_list = array();
|
||||||
|
foreach ($hw_list as $value) {
|
||||||
|
$buton_tmp =$this->dbinterface->get_db_SccpTableData("get_sccpdevice_buttons", array('buttontype'=>'speeddial','id'=>$value['name']));
|
||||||
|
// die(print_r($buton_tmp,1));
|
||||||
|
if (!empty($buton_tmp)) {
|
||||||
|
$buton_list = array_merge($buton_list, $buton_tmp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$buton_list = $this->dbinterface->get_db_SccpTableData("get_sccpdevice_buttons", array('buttontype'=>'speeddial'));
|
||||||
|
}
|
||||||
|
// die(print_r($buton_list,1));
|
||||||
|
if (empty($buton_list)) {
|
||||||
|
return array('Response'=> ' Found 0 device ', 'data'=> '');
|
||||||
|
}
|
||||||
|
$copy_fld = array('ref','reftype','instance','buttontype');
|
||||||
|
$user_list = $user_list = $this->dbinterface->get_db_SccpTableByID("SccpExtension",Array(),'name');
|
||||||
|
foreach ($buton_list as $value) {
|
||||||
|
$btn_opt = explode(',',$value['options']);
|
||||||
|
$btn_id = $btn_opt[0];
|
||||||
|
if (!empty($user_list[$btn_id])){
|
||||||
|
if ($user_list[$btn_id]['label'] != $value['name']) {
|
||||||
|
$btn_data['name'] = $user_list[$btn_id]['label'];
|
||||||
|
foreach ($copy_fld as $ckey) {
|
||||||
|
$btn_data[$ckey] = $value[$ckey];
|
||||||
|
}
|
||||||
|
$save_buttons[] = $btn_data;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (empty($save_buttons)) {
|
||||||
|
return array('Response'=> 'No update required', 'data'=> ' 0 - records ');
|
||||||
|
}
|
||||||
|
$res = $this->dbinterface->sccp_save_db("sccpbuttons", $save_buttons, 'replace', '','');
|
||||||
|
return array('Response'=> 'Update records :'.count($save_buttons),'data'=>$res);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Save Config Value to mysql DB
|
* Save Config Value to mysql DB
|
||||||
* sccp_db_save_setting(empty) - Save All settings from $sccpvalues
|
* sccp_db_save_setting(empty) - Save All settings from $sccpvalues
|
||||||
|
|
|
@ -26,6 +26,18 @@ class dbinterface {
|
||||||
/*
|
/*
|
||||||
* Core Access Function
|
* Core Access Function
|
||||||
*/
|
*/
|
||||||
|
public function get_db_SccpTableByID($dataid, $data = array(), $indexField = '') {
|
||||||
|
$resut = array();
|
||||||
|
$raw = $this->get_db_SccpTableData($dataid, $data);
|
||||||
|
if ( empty($raw) || empty($indexField)) {
|
||||||
|
return $raw;
|
||||||
|
}
|
||||||
|
foreach ($raw as $value) {
|
||||||
|
$id = $value[$indexField];
|
||||||
|
$resut[$id] = $value;
|
||||||
|
}
|
||||||
|
return $resut;
|
||||||
|
}
|
||||||
|
|
||||||
public function get_db_SccpTableData($dataid, $data = array()) {
|
public function get_db_SccpTableData($dataid, $data = array()) {
|
||||||
if ($dataid == '') {
|
if ($dataid == '') {
|
||||||
|
@ -76,8 +88,19 @@ class dbinterface {
|
||||||
$raw_settings = sql($sql, "getRow", DB_FETCHMODE_ASSOC);
|
$raw_settings = sql($sql, "getRow", DB_FETCHMODE_ASSOC);
|
||||||
break;
|
break;
|
||||||
case "get_sccpdevice_buttons":
|
case "get_sccpdevice_buttons":
|
||||||
$sql = 'SELECT * FROM sccpbuttonconfig WHERE ref="' . $data['id'] . '" ORDER BY `instance`;';
|
$sql = '';
|
||||||
$raw_settings = sql($sql, "getAll", DB_FETCHMODE_ASSOC);
|
if (!empty($data['buttontype'])) {
|
||||||
|
$sql .= 'buttontype="' . $data['buttontype'] . '" ';
|
||||||
|
}
|
||||||
|
if (!empty($data['id'])) {
|
||||||
|
$sql .= (empty($sql)) ? 'ref="' . $data['id'] . '" ' : 'and ref="' . $data['id'] . '" ';
|
||||||
|
}
|
||||||
|
if (!empty($sql)) {
|
||||||
|
$sql = 'SELECT * FROM sccpbuttonconfig WHERE ' .$sql. 'ORDER BY `instance`;';
|
||||||
|
$raw_settings = sql($sql, "getAll", DB_FETCHMODE_ASSOC);
|
||||||
|
} else {
|
||||||
|
$raw_settings = Array();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -90,6 +113,12 @@ class dbinterface {
|
||||||
return $raw_settings;
|
return $raw_settings;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function get_db_sysvalues() {
|
||||||
|
$sql = "SHOW VARIABLES LIKE '%group_concat%'";
|
||||||
|
$raw_settings = sql($sql, "getRow", DB_FETCHMODE_ASSOC);
|
||||||
|
return $raw_settings;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Get Sccp Device Model information
|
* Get Sccp Device Model information
|
||||||
*/
|
*/
|
||||||
|
@ -213,11 +242,20 @@ class dbinterface {
|
||||||
if ($mode == 'delete') {
|
if ($mode == 'delete') {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (!empty($save_value)) {
|
if (empty($save_value)) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if ($mode == 'replace') {
|
||||||
|
$sql = 'UPDATE `sccpbuttonconfig` SET `name`=? WHERE `ref`= ? AND `reftype`=? AND `instance`=? AND `buttontype`=?;';
|
||||||
|
// $sql = 'INSERT INTO `sccpbuttonconfig` (`ref`, `reftype`,`instance`, `buttontype`, `name`, `options`) VALUES (?,?,?,?,?,?);';
|
||||||
|
// die(print_r($save_value,1));
|
||||||
|
$stmt = $db->prepare($sql);
|
||||||
|
$result= $db->executeMultiple($stmt, $save_value);
|
||||||
|
} else {
|
||||||
$sql = 'INSERT INTO `sccpbuttonconfig` (`ref`, `reftype`,`instance`, `buttontype`, `name`, `options`) VALUES (?,?,?,?,?,?);';
|
$sql = 'INSERT INTO `sccpbuttonconfig` (`ref`, `reftype`,`instance`, `buttontype`, `name`, `options`) VALUES (?,?,?,?,?,?);';
|
||||||
// die(print_r($save_value,1));
|
// die(print_r($save_value,1));
|
||||||
$stmt = $db->prepare($sql);
|
$stmt = $db->prepare($sql);
|
||||||
$res = $db->executeMultiple($stmt, $save_value);
|
$result = $db->executeMultiple($stmt, $save_value);
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -601,16 +601,26 @@ $(document).ready(function () {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
if ($(this).data('id') === 'reset_dev' || $(this).data('id') === 'reset_token') {
|
if ($(this).data('id') === 'reset_dev' || $(this).data('id') === 'reset_token' || $(this).data('id') === 'update_button_label' ) {
|
||||||
var dev_cmd = $(this).data('id');
|
var dev_cmd = $(this).data('id');
|
||||||
var datas = '';
|
var datas = '';
|
||||||
var i = 0;
|
var i = 0;
|
||||||
|
var conf_msg = '??????';
|
||||||
|
if ($(this).data('id') === 'reset_dev') {
|
||||||
|
conf_msg = 'Reset All device ?';
|
||||||
|
}
|
||||||
|
if ($(this).data('id') === 'reset_token') {
|
||||||
|
conf_msg = 'Reset Token on All device ?';
|
||||||
|
}
|
||||||
|
if ($(this).data('id') === 'update_button_label') {
|
||||||
|
conf_msg = 'Update Butons Labels on All device ?';
|
||||||
|
}
|
||||||
$('table').bootstrapTable('getSelections').forEach(function (entry) {
|
$('table').bootstrapTable('getSelections').forEach(function (entry) {
|
||||||
datas = datas + 'name[' + i + ']=' + entry['name'] + '&';
|
datas = datas + 'name[' + i + ']=' + entry['name'] + '&';
|
||||||
i++;
|
i++;
|
||||||
});
|
});
|
||||||
if (datas === '') {
|
if (datas === '') {
|
||||||
if (confirm('Resaet All device')) {
|
if (confirm(conf_msg)) {
|
||||||
datas = 'name[0]=all';
|
datas = 'name[0]=all';
|
||||||
} else {
|
} else {
|
||||||
dev_cmd = '';
|
dev_cmd = '';
|
||||||
|
|
|
@ -185,8 +185,8 @@ ri ^(ATA030204SCCP090202A.zup)$ firmware/ata186/\1
|
||||||
#ri ^(.+\.sbn)$ firmware/\1
|
#ri ^(.+\.sbn)$ firmware/\1
|
||||||
|
|
||||||
# Keep locales in a separate directory (optional)
|
# Keep locales in a separate directory (optional)
|
||||||
ri ^(.+)\/(.+-sccp.jar)$ locales/\1/\2
|
ri ^(.+)\/(.+-sccp.jar)$ languages/\1/\2
|
||||||
ri ^(.+)\/(.+-dictionary.xml)$ locales/\1/\2
|
ri ^(.+)\/(.+-dictionary.xml)$ languages/\1/\2
|
||||||
ri ^(.+)\/(.+-dictionary-ext.xml)$ languages/\1/\2
|
ri ^(.+)\/(.+-dictionary-ext.xml)$ languages/\1/\2
|
||||||
ri ^(.+)\/(.+-tones.xml)$ languages/\1/\2
|
ri ^(.+)\/(.+-tones.xml)$ languages/\1/\2
|
||||||
ri ^(.+)\/(.+-font.xml)$ languages/\1/\2
|
ri ^(.+)\/(.+-font.xml)$ languages/\1/\2
|
||||||
|
|
|
@ -268,6 +268,7 @@ function Get_DB_config($sccp_compatible) {
|
||||||
'video_tos' => array('def_modify' => "0x88"),
|
'video_tos' => array('def_modify' => "0x88"),
|
||||||
'video_cos' => array('def_modify' => "5"),
|
'video_cos' => array('def_modify' => "5"),
|
||||||
'trustphoneip' => array('drop' => "yes"),
|
'trustphoneip' => array('drop' => "yes"),
|
||||||
|
'transfer_on_hangup' => array('create' => "enum('on','off') NULL DEFAULT NULL", 'modify' => "enum('on','off')"),
|
||||||
'phonecodepage' => array('create' => 'VARCHAR(50) NULL DEFAULT NULL', 'modify' => "VARCHAR(50)"),
|
'phonecodepage' => array('create' => 'VARCHAR(50) NULL DEFAULT NULL', 'modify' => "VARCHAR(50)"),
|
||||||
'mwilamp' => array('create' => "enum('on','off','wink','flash','blink') NULL default 'on'", 'modify' => "enum('on','off','wink','flash','blink')"),
|
'mwilamp' => array('create' => "enum('on','off','wink','flash','blink') NULL default 'on'", 'modify' => "enum('on','off','wink','flash','blink')"),
|
||||||
'mwioncall' => array('create' => "enum('on','off') NULL default 'on'", 'modify' => "enum('on','off')"),
|
'mwioncall' => array('create' => "enum('on','off') NULL default 'on'", 'modify' => "enum('on','off')"),
|
||||||
|
@ -333,7 +334,7 @@ function Get_DB_config($sccp_compatible) {
|
||||||
'_description' => array('rename' => "description"),
|
'_description' => array('rename' => "description"),
|
||||||
'_loginname' => array('drop' => "yes"),
|
'_loginname' => array('drop' => "yes"),
|
||||||
'_profileid' => array('drop' => "yes"),
|
'_profileid' => array('drop' => "yes"),
|
||||||
|
'transfer_on_hangup' => array('create' => "enum('on','off') NULL DEFAULT NULL", 'modify' => "enum('on','off')"),
|
||||||
),
|
),
|
||||||
'sccpline' => array(
|
'sccpline' => array(
|
||||||
'directed_pickup' => array('create' => "enum('on','off') NULL default NULL", 'modify' => "enum('on','off')"),
|
'directed_pickup' => array('create' => "enum('on','off') NULL default NULL", 'modify' => "enum('on','off')"),
|
||||||
|
|
|
@ -255,5 +255,5 @@ if (!empty($_REQUEST['ru_id'])) {
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
<div class="section-butom" data-for="<?php echo $forminfo[0]['name'];?>">
|
<div class="section-butom" data-for="<?php echo $forminfo[0]['name'];?>">
|
||||||
<h3></h3>
|
<h3></h3>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -21,6 +21,9 @@
|
||||||
<button name="cr_sccp_phone_xml" class="btn sccp_update btn-default" data-id="create-cnf">
|
<button name="cr_sccp_phone_xml" class="btn sccp_update btn-default" data-id="create-cnf">
|
||||||
<i class="glyphicon glyphicon-ok"></i> <span><?php echo _('Create CNF') ?></span>
|
<i class="glyphicon glyphicon-ok"></i> <span><?php echo _('Create CNF') ?></span>
|
||||||
</button>
|
</button>
|
||||||
|
<button name="update_button_label" class="btn sccp_update btn-default" data-id="update_button_label">
|
||||||
|
<i class="glyphicon glyphicon-ok"></i> <span><?php echo _('Update Button label') ?></span>
|
||||||
|
</button>
|
||||||
<button name="reset_sccp_phone" class="btn sccp_update btn-default" data-id="reset_dev">
|
<button name="reset_sccp_phone" class="btn sccp_update btn-default" data-id="reset_dev">
|
||||||
<i class="glyphicon glyphicon-ok"></i> <span><?php echo _('Reset Device') ?></span>
|
<i class="glyphicon glyphicon-ok"></i> <span><?php echo _('Reset Device') ?></span>
|
||||||
</button>
|
</button>
|
||||||
|
|
|
@ -30,6 +30,9 @@ $info['dbinterface'] = $this->dbinterface->info();
|
||||||
$info['aminterface'] = $this->aminterface->info();
|
$info['aminterface'] = $this->aminterface->info();
|
||||||
$db_Schema = $this->dbinterface->validate();
|
$db_Schema = $this->dbinterface->validate();
|
||||||
|
|
||||||
|
$mysql_info = $this->dbinterface->get_db_sysvalues();
|
||||||
|
|
||||||
|
|
||||||
$info['XML'] = $this->xmlinterface->info();
|
$info['XML'] = $this->xmlinterface->info();
|
||||||
$info['sccp_class'] = $driver['sccp'];
|
$info['sccp_class'] = $driver['sccp'];
|
||||||
$info['Core_sccp'] = array('Version' => $core['Version'], 'about'=> 'Sccp ver.'. $core['Version'].' r'.$core['vCode']. ' Revision :'. $core['RevisionNum']. ' Hash :'. $core['RevisionHash']);
|
$info['Core_sccp'] = array('Version' => $core['Version'], 'about'=> 'Sccp ver.'. $core['Version'].' r'.$core['vCode']. ' Revision :'. $core['RevisionNum']. ' Hash :'. $core['RevisionHash']);
|
||||||
|
@ -89,30 +92,27 @@ if (empty($conf_realtime)) {
|
||||||
if (!empty($rt_info)) {
|
if (!empty($rt_info)) {
|
||||||
$info['ConfigsRealTime'] = array('Version' => 'Error', 'about'=> $rt_info);
|
$info['ConfigsRealTime'] = array('Version' => 'Error', 'about'=> $rt_info);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
// $mysql_info
|
||||||
|
if ($mysql_info['Value'] <= '2000') {
|
||||||
|
$this->info_warning['MySql'] = Array('Increase Mysql Group Concat Max. Length','Step 1: Go to mysql path <br> nano /etc/my.cnf',
|
||||||
|
'Step 2: And add the following line below [mysqld] as shown below <br> [mysql] <br>group_concat_max_len = 4096 or more',
|
||||||
|
'Step 3: Save and restart <br> systemctl restart mariadb.service<br> Or <br> service mysqld restart');
|
||||||
}
|
}
|
||||||
//global $amp_conf;
|
//global $amp_conf;
|
||||||
// ************************************************************************************
|
// ************************************************************************************
|
||||||
print_r("<br> Request:<br><pre>");
|
$buton_list = $this->dbinterface->get_db_SccpTableData("get_sccpdevice_buttons", array('buttontype'=>'speeddial'));
|
||||||
$json = '';
|
$user_list = $this->dbinterface->get_db_SccpTableByID("SccpExtension",Array(),'name');
|
||||||
|
|
||||||
|
print_r("<br> Help Info:<br><pre>");
|
||||||
print_r("<br>");
|
print_r("<br>");
|
||||||
// print_r($conf_realtime);
|
//print_r($buton_list);
|
||||||
print_r("<br>");
|
print_r("<br>");
|
||||||
|
print_r($user_list);
|
||||||
print_r("<br>");
|
print_r("<br>");
|
||||||
// print_r("DIRECT START");
|
// print_r("DIRECT START");
|
||||||
// print_r($this->sccpvalues['ccm_address']);
|
// print_r($this->sccpvalues['ccm_address']);
|
||||||
//print_r($this->get_php_classes('\\FreePBX\\modules\\'));
|
//print_r($this->get_php_classes('\\FreePBX\\modules\\'));
|
||||||
/*
|
|
||||||
print_r(get_declared_classes());
|
|
||||||
print_r($this->aminterface->open());
|
|
||||||
|
|
||||||
|
|
||||||
print_r($this->aminterface->_error);
|
|
||||||
print_r("<br>");
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//print_r($this->dbinterface->get_db_SccpTableData('SccpExtension'));
|
//print_r($this->dbinterface->get_db_SccpTableData('SccpExtension'));
|
||||||
// print_r($this->srvinterface->getеtestChanSCCP_GlablsInfo());
|
// print_r($this->srvinterface->getеtestChanSCCP_GlablsInfo());
|
||||||
// $test_data = $this->srvinterface-> astman_GetRaw('ExtensionStateList');
|
// $test_data = $this->srvinterface-> astman_GetRaw('ExtensionStateList');
|
||||||
|
@ -134,6 +134,33 @@ print_r("<br> Request:<br><pre>");
|
||||||
|
|
||||||
//print_r($this->dbinterface->info());
|
//print_r($this->dbinterface->info());
|
||||||
|
|
||||||
|
if (!empty($this->info_warning)) {
|
||||||
|
?>
|
||||||
|
<div class="fpbx-container container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
<div class="container">
|
||||||
|
<h2 style="border:2px solid Tomato;color:Tomato;" >Sccp Manager Warning</h2>
|
||||||
|
<div class="table-responsive">
|
||||||
|
<br> There are Warning in the SCCP Module:<br><pre>
|
||||||
|
<?php
|
||||||
|
foreach ($this->info_warning as $key => $value) {
|
||||||
|
echo '<h3>'.$key.'</h3>';
|
||||||
|
if (is_array($value)) {
|
||||||
|
echo '<li>'.implode('</li><li>',$value).'</li>';
|
||||||
|
} else {
|
||||||
|
echo '<li>'.$value.'</li>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</pre>
|
||||||
|
<br><h4 style="border:2px solid Tomato;color:Green;" > Check these problems before continuing to work.</h4> <br>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<br>
|
||||||
|
<?php }
|
||||||
|
|
||||||
if (!empty($this->class_error)) {
|
if (!empty($this->class_error)) {
|
||||||
?>
|
?>
|
||||||
<div class="fpbx-container container-fluid">
|
<div class="fpbx-container container-fluid">
|
||||||
|
|
Loading…
Reference in a new issue