diff --git a/phpBB/adm/admin_permissions.php b/phpBB/adm/admin_permissions.php
index bd2e7bbd85..e64bae1211 100644
--- a/phpBB/adm/admin_permissions.php
+++ b/phpBB/adm/admin_permissions.php
@@ -354,7 +354,7 @@ switch ($submit)
case 'presetsave':
$holding_ary = array();
- foreach ($auth_settings as $option => $setting)
+ foreach ($auth_settings[$which_mode] as $option => $setting)
{
switch ($setting)
{
@@ -705,7 +705,23 @@ if (in_array($submit, array('add_options', 'edit_options', 'presetsave', 'preset
$sql = 'SELECT user_id AS id, username AS name
FROM ' . USERS_TABLE . '
WHERE ';
- $sql .= ($submit == 'add_options') ? ' username IN (' . implode(', ', array_unique(preg_replace('#^[\s]*?(.*?)[\s]*?$#', "'\\1'", explode("\n", $ug_data[0])))) . ')' : ' user_id ' . ((is_array($ug_data)) ? 'IN (' . implode(', ', $ug_data) . ')' : '= ' . $ug_data);
+
+ if ($submit == 'add_options')
+ {
+ $_ug_data = explode("\r\n", $ug_data[0]);
+
+ $_u_sql = '';
+ foreach ($_ug_data as $_u_name)
+ {
+ $_u_sql .= (($_u_sql) ? ', ' : '') . "'" . $db->sql_escape($_u_name) . "'";
+ }
+ $sql .= ' username IN (' . $_u_sql . ')';
+ }
+ else
+ {
+ $sql .= ' user_id ' . ((is_array($ug_data)) ? 'IN (' . implode(', ', $ug_data) . ')' : '= ' . $ug_data);
+ }
+
break;
case 'group':
@@ -818,8 +834,8 @@ if (in_array($submit, array('add_options', 'edit_options', 'presetsave', 'preset
$preset_update_options .= '';
$preset_options .= '';
- $preset_data = unserialize($row['preset_data']);
-
+ $preset_data = unserialize(stripslashes($row['preset_data']));
+
foreach ($preset_data as $preset_type => $preset_type_ary)
{
$holding[$preset_type] = '';
@@ -830,7 +846,7 @@ if (in_array($submit, array('add_options', 'edit_options', 'presetsave', 'preset
}
$preset_js .= "\tpresets['preset_" . $row['preset_id'] . "'] = new Array();" . "\n";
- $preset_js .= "\tpresets['preset_" . $row['preset_id'] . "'] = new preset_obj('" . $holding['allow'] . "', '" . $holding['deny'] . "', '" . $holding['inherit'] . "');\n";
+ $preset_js .= "\tpresets['preset_" . $row['preset_id'] . "'] = new preset_obj('" . $holding['yes'] . "', '" . $holding['no'] . "', '" . $holding['inherit'] . "');\n";
}
while ($row = $db->sql_fetchrow($result));
}
diff --git a/phpBB/adm/pagestart.php b/phpBB/adm/pagestart.php
index 8d029c38c7..a4eeff712c 100644
--- a/phpBB/adm/pagestart.php
+++ b/phpBB/adm/pagestart.php
@@ -21,7 +21,7 @@ require($phpbb_root_path . 'common.'.$phpEx);
require($phpbb_root_path . 'includes/functions_admin.'.$phpEx);
// Start session management
-$user->start();
+$user->session_begin();
$auth->acl($user->data);
$user->setup('admin');
// End session management