2
0
mirror of https://github.com/ACSPRI/queXS synced 2024-04-02 12:12:16 +00:00

Fixed bug: Global settings in LimeSurvey being ignored on PHP7

This commit is contained in:
Adam Zammit
2019-06-28 10:42:12 +10:00
parent d468148512
commit f7b0830a01

View File

@@ -32,9 +32,9 @@ function injectglobalsettings()
foreach ($dbvaluearray as $setting) foreach ($dbvaluearray as $setting)
{ {
global ${$setting['stg_name']}; global ${$setting['stg_name']};
if (isset($$setting['stg_name'])) if (isset(${$setting['stg_name']}))
{ {
$$setting['stg_name']=$setting['stg_value']; ${$setting['stg_name']}=$setting['stg_value'];
} }
$registry->set($setting['stg_name'],$setting['stg_value']); $registry->set($setting['stg_name'],$setting['stg_value']);
} }
@@ -441,7 +441,7 @@ end queXS Removal */
$thisforce_ssl = 'neither'; $thisforce_ssl = 'neither';
}; };
$this_opt = 'opt_force_ssl_'.$thisforce_ssl; $this_opt = 'opt_force_ssl_'.$thisforce_ssl;
$$this_opt = ' selected="selected"'; ${$this_opt} = ' selected="selected"';
$editsurvey .= '<li><label for="force_ssl">'.$clang->gT('Force HTTPS:')."</label>\n" $editsurvey .= '<li><label for="force_ssl">'.$clang->gT('Force HTTPS:')."</label>\n"
. "<select name=\"force_ssl\" id=\"force_ssl\">\n\t" . "<select name=\"force_ssl\" id=\"force_ssl\">\n\t"
. '<option value="on" '.$opt_force_ssl_on.'>'.$clang->gT('On')."</option>\n\t" . '<option value="on" '.$opt_force_ssl_on.'>'.$clang->gT('On')."</option>\n\t"
@@ -556,7 +556,7 @@ end queXS Removal */
function getGlobalSetting($settingname) function getGlobalSetting($settingname)
{ {
global $connect, $$settingname; global $connect, ${$settingname};
$registry = SettingsStorage::getInstance(); $registry = SettingsStorage::getInstance();
if (!$registry->isRegistered($settingname)) { if (!$registry->isRegistered($settingname)) {
$usquery = "SELECT stg_value FROM ".db_table_name("settings_global")." where stg_name='$settingname'"; $usquery = "SELECT stg_value FROM ".db_table_name("settings_global")." where stg_name='$settingname'";
@@ -564,11 +564,11 @@ function getGlobalSetting($settingname)
if (!is_null($dbvalue)) if (!is_null($dbvalue))
{ {
$registry->set($settingname,$dbvalue); $registry->set($settingname,$dbvalue);
} elseif (isset($$settingname)) { } elseif (isset(${$settingname})) {
// If the setting was not found in the setting table but exists as a variable (from config.php) // If the setting was not found in the setting table but exists as a variable (from config.php)
// get it and save it to the table // get it and save it to the table
setGlobalSetting($settingname,$$settingname); setGlobalSetting($settingname,${$settingname});
$dbvalue=$$settingname; $dbvalue=${$settingname};
} }
} else { } else {
$dbvalue=$registry->get($settingname); $dbvalue=$registry->get($settingname);
@@ -579,7 +579,7 @@ function getGlobalSetting($settingname)
function setGlobalSetting($settingname,$settingvalue) function setGlobalSetting($settingname,$settingvalue)
{ {
global $connect, $$settingname, $demoModeOnly; global $connect, ${$settingname}, $demoModeOnly;
if ($demoModeOnly==true && ($settingname=='sitename' || $settingname=='defaultlang' || $settingname=='defaulthtmleditormode' || $settingname=='filterxsshtml')) if ($demoModeOnly==true && ($settingname=='sitename' || $settingname=='defaultlang' || $settingname=='defaulthtmleditormode' || $settingname=='filterxsshtml'))
{ {
return; //don't save return; //don't save
@@ -593,7 +593,7 @@ function setGlobalSetting($settingname,$settingvalue)
} }
$registry = SettingsStorage::getInstance(); $registry = SettingsStorage::getInstance();
$registry->set($settingname,$settingvalue); $registry->set($settingname,$settingvalue);
if (isset($$settingname)) $$settingname=$settingvalue; if (isset(${$settingname})) ${$settingname}=$settingvalue;
} }