The RF and Net hang time values for the P25, NXDN, and M17 modes that are entered on the Configuration dashboard in the MMDVMHost Configuration section are not being propagated to the appropriate fields in their respective gateway init files. Instead, those values are consistently being (re)set to zero on any configuration update processing regardless of what's specified in the dashboard.
The following code in configure.php:
Code: Select all
:
// Set P25 Hang Timers
if (empty($_POST['p25RfHangTime']) != TRUE ) {
$configmmdvm['P25']['ModeHang'] = preg_replace('/[^0-9]/', '', $_POST['p25RfHangTime']);
$configp25gateway['Network']['RFHangTime'] = "0";
}
if (empty($_POST['p25NetHangTime']) != TRUE ) {
$configmmdvm['P25 Network']['ModeHang'] = preg_replace('/[^0-9]/', '', $_POST['p25NetHangTime']);
$configp25gateway['Network']['NetHangTime'] = "0";
}
// Set NXDN Hang Timers
if (empty($_POST['nxdnRfHangTime']) != TRUE ) {
$configmmdvm['NXDN']['ModeHang'] = preg_replace('/[^0-9]/', '', $_POST['nxdnRfHangTime']);
$confignxdngateway['Network']['RFHangTime'] = "0";
}
if (empty($_POST['nxdnNetHangTime']) != TRUE ) {
$configmmdvm['NXDN Network']['ModeHang'] = preg_replace('/[^0-9]/', '', $_POST['nxdnNetHangTime']);
$confignxdngateway['Network']['NetHangTime'] = "0";
}
// Set M17 Hang Timers
if (empty($_POST['m17RfHangTime']) != TRUE ) {
$configmmdvm['M17']['ModeHang'] = preg_replace('/[^0-9]/', '', $_POST['m17RfHangTime']);
$configm17gateway['Network']['RFHangTime'] = "0";
}
if (empty($_POST['m17NetHangTime']) != TRUE ) {
$configmmdvm['M17 Network']['ModeHang'] = preg_replace('/[^0-9]/', '', $_POST['m17NetHangTime']);
$configm17gateway['Network']['NetHangTime'] = "0";
}
:
should be recoded as:
Code: Select all
:
// Set P25 Hang Timers
if (empty($_POST['p25RfHangTime']) != TRUE ) {
$configmmdvm['P25']['ModeHang'] = preg_replace('/[^0-9]/', '', $_POST['p25RfHangTime']);
$configp25gateway['Network']['RFHangTime'] = preg_replace('/[^0-9]/', '', $_POST['p25RfHangTime']);
}
if (empty($_POST['p25NetHangTime']) != TRUE ) {
$configmmdvm['P25 Network']['ModeHang'] = preg_replace('/[^0-9]/', '', $_POST['p25NetHangTime']);
$configp25gateway['Network']['NetHangTime'] = preg_replace('/[^0-9]/', '', $_POST['p25NetHangTime']);
}
// Set NXDN Hang Timers
if (empty($_POST['nxdnRfHangTime']) != TRUE ) {
$configmmdvm['NXDN']['ModeHang'] = preg_replace('/[^0-9]/', '', $_POST['nxdnRfHangTime']);
$confignxdngateway['Network']['RFHangTime'] = preg_replace('/[^0-9]/', '', $_POST['nxdnRfHangTime']);
}
if (empty($_POST['nxdnNetHangTime']) != TRUE ) {
$configmmdvm['NXDN Network']['ModeHang'] = preg_replace('/[^0-9]/', '', $_POST['nxdnNetHangTime']);
$confignxdngateway['Network']['NetHangTime'] = preg_replace('/[^0-9]/', '', $_POST['nxdnNetHangTime']);
}
// Set M17 Hang Timers
if (empty($_POST['m17RfHangTime']) != TRUE ) {
$configmmdvm['M17']['ModeHang'] = preg_replace('/[^0-9]/', '', $_POST['m17RfHangTime']);
$configm17gateway['Network']['RFHangTime'] = preg_replace('/[^0-9]/', '', $_POST['m17RfHangTime']);
}
if (empty($_POST['m17NetHangTime']) != TRUE ) {
$configmmdvm['M17 Network']['ModeHang'] = preg_replace('/[^0-9]/', '', $_POST['m17NetHangTime']);
$configm17gateway['Network']['NetHangTime'] = preg_replace('/[^0-9]/', '', $_POST['m17NetHangTime']);
}
:
The following patch can be applied to fix this:
Code: Select all
rpi-rw
cd /var/www/dashboard/admin
sudo sed -i 's/\(configp25gateway\[\x27Network\x27\]\[\x27RFHangTime\x27\] = \)"0"/\1 preg_replace(\x27\/[^0-9]\/\x27, \x27\x27, $_POST[\x27p25RfHangTime\x27])/g' configure.php
sudo sed -i 's/\(configp25gateway\[\x27Network\x27\]\[\x27NetHangTime\x27\] = \)"0"/\1 preg_replace(\x27\/[^0-9]\/\x27, \x27\x27, $_POST[\x27p25NetHangTime\x27])/g' configure.php
sudo sed -i 's/\(confignxdngateway\[\x27Network\x27\]\[\x27RFHangTime\x27\] = \)"0"/\1 preg_replace(\x27\/[^0-9]\/\x27, \x27\x27, $_POST[\x27nxdnRfHangTime\x27])/g' configure.php
sudo sed -i 's/\(confignxdngateway\[\x27Network\x27\]\[\x27NetHangTime\x27\] = \)"0"/\1 preg_replace(\x27\/[^0-9]\/\x27, \x27\x27, $_POST[\x27nxdnNetHangTime\x27])/g' configure.php
sudo sed -i 's/\(configm17gateway\[\x27Network\x27\]\[\x27RFHangTime\x27\] = \)"0"/\1 preg_replace(\x27\/[^0-9]\/\x27, \x27\x27, $_POST[\x27m17RfHangTime\x27])/g' configure.php
sudo sed -i 's/\(configm17gateway\[\x27Network\x27\]\[\x27NetHangTime\x27\] = \)"0"/\1 preg_replace(\x27\/[^0-9]\/\x27, \x27\x27, $_POST[\x27m17NetHangTime\x27])/g' configure.php