mirror of
https://github.com/Mibew/mibew.git
synced 2025-02-07 00:14:40 +03:00
Prevent low level system settings from being stored in the database (see Issue #22)
This commit is contained in:
parent
7dd680cea1
commit
f3ec6dd53b
@ -252,6 +252,18 @@ function check_admin($link)
|
||||
return false;
|
||||
}
|
||||
|
||||
function remove_low_level_settings($link)
|
||||
{
|
||||
global $mysqlprefix, $low_level_settings;
|
||||
foreach ($low_level_settings as $key) {
|
||||
if (!mysql_query("delete from ${mysqlprefix}chatconfig where vckey = '" . mysql_real_escape_string($key, $link) . "'", $link)) {
|
||||
$errors[] = "Unable to remove low level setting " . htmlspecialchars($key) . " from the database. Error: " . mysql_error($link);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
function check_status()
|
||||
{
|
||||
global $page, $mibewroot, $settings, $dbversion;
|
||||
@ -286,6 +298,11 @@ function check_status()
|
||||
return;
|
||||
}
|
||||
|
||||
if (!remove_low_level_settings($link)) {
|
||||
mysql_close($link);
|
||||
return;
|
||||
}
|
||||
|
||||
check_sound();
|
||||
|
||||
$page['done'][] = getlocal("installed.message");
|
||||
|
@ -631,7 +631,7 @@ function date_to_text($unixtime)
|
||||
return strftime($date_format . " " . getlocal("time.timeformat"), $unixtime);
|
||||
}
|
||||
|
||||
$dbversion = '1.6.6';
|
||||
$dbversion = '1.6.10';
|
||||
$featuresversion = '1.6.6';
|
||||
|
||||
$settings = array(
|
||||
@ -675,6 +675,13 @@ $settings = array(
|
||||
'updatefrequency_oldchat' => 7,
|
||||
);
|
||||
$settingsloaded = false;
|
||||
|
||||
// List of low level settings that can't be changed from the UI
|
||||
$low_level_settings = array(
|
||||
'left_messages_locale',
|
||||
'max_uploaded_file_size'
|
||||
);
|
||||
|
||||
$settings_in_db = array();
|
||||
|
||||
function loadsettings_($link)
|
||||
|
@ -17,9 +17,16 @@
|
||||
|
||||
function update_settings()
|
||||
{
|
||||
global $settings, $settings_in_db, $mysqlprefix;
|
||||
global $settings, $settings_in_db, $low_level_settings, $mysqlprefix;
|
||||
$link = connect();
|
||||
foreach ($settings as $key => $value) {
|
||||
|
||||
// Don't store low level settings in the database to prevent them from being
|
||||
// unchangeable
|
||||
if (in_array($key, $low_level_settings)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!isset($settings_in_db[$key])) {
|
||||
perform_query("insert into ${mysqlprefix}chatconfig (vckey) values ('" . mysql_real_escape_string($key, $link) . "')", $link);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user