- Send stylesheet in style.php even without a valid session id [Bug #11531]

- request_var should strictly return the requested number of dimensions
- corrected a character mapping in the search indexing character list, people might want to reindex after this change if they use fulltext_native


git-svn-id: file:///svn/phpbb/trunk@7685 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
Nils Adermann 2007-05-26 14:23:00 +00:00
parent 62be0ed93a
commit a69e12e3ab
5 changed files with 196 additions and 170 deletions

View file

@ -216,6 +216,8 @@ p a {
<li>[Fix] Allow posts without subjects to be clicked in the MCP (Bug #11483)</li> <li>[Fix] Allow posts without subjects to be clicked in the MCP (Bug #11483)</li>
<li>[Fix] Sync the forums that shadow topics reside in when the topic that they point to is deleted</li> <li>[Fix] Sync the forums that shadow topics reside in when the topic that they point to is deleted</li>
<li>[Fix] Do not use the gen_random_string function to create cookie names during install (Bug #11431)</li> <li>[Fix] Do not use the gen_random_string function to create cookie names during install (Bug #11431)</li>
<li>[Fix] Send stylesheet in style.php even without a valid session id (Bug #11531)</li>
<li>[Fix] request_var should strictly return the requested number of dimensions</li>
</ul> </ul>
</div> </div>

View file

@ -78,6 +78,14 @@ function request_var($var_name, $default, $multibyte = false, $cookie = false)
list($key_type, $type) = each($default); list($key_type, $type) = each($default);
$type = gettype($type); $type = gettype($type);
$key_type = gettype($key_type); $key_type = gettype($key_type);
if ($type == 'array')
{
reset($default);
list($sub_key_type, $sub_type) = each(current($default));
$sub_type = gettype($sub_type);
$sub_type = ($sub_type == 'array') ? 'NULL' : $sub_type;
$sub_key_type = gettype($sub_key_type);
}
} }
if (is_array($var)) if (is_array($var))
@ -87,18 +95,25 @@ function request_var($var_name, $default, $multibyte = false, $cookie = false)
foreach ($_var as $k => $v) foreach ($_var as $k => $v)
{ {
if (is_array($v)) set_var($k, $k, $key_type);
if ($type == 'array' && is_array($v))
{ {
foreach ($v as $_k => $_v) foreach ($v as $_k => $_v)
{ {
set_var($k, $k, $key_type); if (is_array($_v))
set_var($_k, $_k, $key_type); {
set_var($var[$k][$_k], $_v, $type, $multibyte); $_v = null;
}
set_var($_k, $_k, $sub_key_type);
set_var($var[$k][$_k], $_v, $sub_type, $multibyte);
} }
} }
else else
{ {
set_var($k, $k, $key_type); if ($type == 'array' || is_array($v))
{
$v = null;
}
set_var($var[$k], $v, $type, $multibyte); set_var($var[$k], $v, $type, $multibyte);
} }
} }

View file

@ -875,7 +875,7 @@ function update_unread_status($unread, $msg_id, $user_id, $folder_id)
*/ */
function handle_mark_actions($user_id, $mark_action) function handle_mark_actions($user_id, $mark_action)
{ {
global $db, $user, $_POST, $phpbb_root_path, $phpEx; global $db, $user, $phpbb_root_path, $phpEx;
$msg_ids = request_var('marked_msg_id', array(0)); $msg_ids = request_var('marked_msg_id', array(0));
$cur_folder_id = request_var('cur_folder_id', PRIVMSGS_NO_BOX); $cur_folder_id = request_var('cur_folder_id', PRIVMSGS_NO_BOX);

File diff suppressed because one or more lines are too long

View file

@ -70,7 +70,10 @@ if ($id && $sid)
unset($dbpasswd); unset($dbpasswd);
$config = $cache->obtain_config(); $config = $cache->obtain_config();
$user = false;
if ($sid)
{
$sql = 'SELECT u.user_id, u.user_lang $sql = 'SELECT u.user_id, u.user_lang
FROM ' . SESSIONS_TABLE . ' s, ' . USERS_TABLE . " u FROM ' . SESSIONS_TABLE . ' s, ' . USERS_TABLE . " u
WHERE s.session_id = '" . $db->sql_escape($sid) . "' WHERE s.session_id = '" . $db->sql_escape($sid) . "'
@ -78,9 +81,16 @@ if ($id && $sid)
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
$user = $db->sql_fetchrow($result); $user = $db->sql_fetchrow($result);
$db->sql_freeresult($result); $db->sql_freeresult($result);
}
if ($user) $recompile = $config['load_tplcompile'];
if (!$user)
{ {
$id = $config['default_style'];
$recompile = false;
$user = array('user_id' => ANONYMOUS);
}
$sql = 'SELECT s.style_id, c.theme_data, c.theme_path, c.theme_name, c.theme_mtime, i.*, t.template_path $sql = 'SELECT s.style_id, c.theme_data, c.theme_path, c.theme_name, c.theme_mtime, i.*, t.template_path
FROM ' . STYLES_TABLE . ' s, ' . STYLES_TEMPLATE_TABLE . ' t, ' . STYLES_THEME_TABLE . ' c, ' . STYLES_IMAGESET_TABLE . ' i FROM ' . STYLES_TABLE . ' s, ' . STYLES_TEMPLATE_TABLE . ' t, ' . STYLES_THEME_TABLE . ' c, ' . STYLES_IMAGESET_TABLE . ' i
WHERE s.style_id = ' . $id . ' WHERE s.style_id = ' . $id . '
@ -117,7 +127,7 @@ if ($id && $sid)
} }
// Re-cache stylesheet data if necessary // Re-cache stylesheet data if necessary
if ($config['load_tplcompile'] || empty($theme['theme_data'])) if ($recompile || empty($theme['theme_data']))
{ {
$recache = (empty($theme['theme_data'])) ? true : false; $recache = (empty($theme['theme_data'])) ? true : false;
$update_time = time(); $update_time = time();
@ -237,7 +247,6 @@ if ($id && $sid)
} }
echo $theme['theme_data']; echo $theme['theme_data'];
}
if (!empty($cache)) if (!empty($cache))
{ {