mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-27 21:58:52 +00:00
please have a second look at the change within session.php - we had a few "doubled" keys within the db...
git-svn-id: file:///svn/phpbb/trunk@7946 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
parent
c28dc56084
commit
4ca00cba39
3 changed files with 29 additions and 13 deletions
|
@ -2276,6 +2276,19 @@ function submit_post($mode, $subject, $username, $topic_type, &$poll, &$data, $u
|
||||||
$db->sql_query($sql);
|
$db->sql_query($sql);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Committing the transaction before updating search index
|
||||||
|
$db->sql_transaction('commit');
|
||||||
|
|
||||||
|
// Delete draft if post was loaded...
|
||||||
|
$draft_id = request_var('draft_loaded', 0);
|
||||||
|
if ($draft_id)
|
||||||
|
{
|
||||||
|
$sql = 'DELETE FROM ' . DRAFTS_TABLE . "
|
||||||
|
WHERE draft_id = $draft_id
|
||||||
|
AND user_id = {$user->data['user_id']}";
|
||||||
|
$db->sql_query($sql);
|
||||||
|
}
|
||||||
|
|
||||||
// Index message contents
|
// Index message contents
|
||||||
if ($update_message && $data['enable_indexing'])
|
if ($update_message && $data['enable_indexing'])
|
||||||
{
|
{
|
||||||
|
@ -2303,16 +2316,6 @@ function submit_post($mode, $subject, $username, $topic_type, &$poll, &$data, $u
|
||||||
$search->index($mode, $data['post_id'], $data['message'], $subject, $poster_id, ($topic_type == POST_GLOBAL) ? 0 : $data['forum_id']);
|
$search->index($mode, $data['post_id'], $data['message'], $subject, $poster_id, ($topic_type == POST_GLOBAL) ? 0 : $data['forum_id']);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Delete draft if post was loaded...
|
|
||||||
$draft_id = request_var('draft_loaded', 0);
|
|
||||||
if ($draft_id)
|
|
||||||
{
|
|
||||||
$sql = 'DELETE FROM ' . DRAFTS_TABLE . "
|
|
||||||
WHERE draft_id = $draft_id
|
|
||||||
AND user_id = {$user->data['user_id']}";
|
|
||||||
$db->sql_query($sql);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Topic Notification, do not change if moderator is changing other users posts...
|
// Topic Notification, do not change if moderator is changing other users posts...
|
||||||
if ($user->data['user_id'] == $poster_id)
|
if ($user->data['user_id'] == $poster_id)
|
||||||
{
|
{
|
||||||
|
@ -2331,8 +2334,6 @@ function submit_post($mode, $subject, $username, $topic_type, &$poll, &$data, $u
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$db->sql_transaction('commit');
|
|
||||||
|
|
||||||
if ($mode == 'post' || $mode == 'reply' || $mode == 'quote')
|
if ($mode == 'post' || $mode == 'reply' || $mode == 'quote')
|
||||||
{
|
{
|
||||||
// Mark this topic as posted to
|
// Mark this topic as posted to
|
||||||
|
|
|
@ -311,7 +311,7 @@ class session
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Added logging temporarly to help debug bugs...
|
// Added logging temporarly to help debug bugs...
|
||||||
if (defined('DEBUG_EXTRA'))
|
if (defined('DEBUG_EXTRA') && $this->data['user_id'] != ANONYMOUS)
|
||||||
{
|
{
|
||||||
add_log('critical', 'LOG_IP_BROWSER_FORWARDED_CHECK', $u_ip, $s_ip, $u_browser, $s_browser, htmlspecialchars($u_forwarded_for), htmlspecialchars($s_forwarded_for));
|
add_log('critical', 'LOG_IP_BROWSER_FORWARDED_CHECK', $u_ip, $s_ip, $u_browser, $s_browser, htmlspecialchars($u_forwarded_for), htmlspecialchars($s_forwarded_for));
|
||||||
}
|
}
|
||||||
|
@ -1121,6 +1121,12 @@ class session
|
||||||
|
|
||||||
if ($key)
|
if ($key)
|
||||||
{
|
{
|
||||||
|
// removing "stale" keys
|
||||||
|
$sql = 'DELETE FROM ' . SESSIONS_KEYS_TABLE . '
|
||||||
|
WHERE user_id = ' . (int) $user_id . "
|
||||||
|
AND key_id <> '" . $db->sql_escape(md5($key)) . "'";
|
||||||
|
$db->sql_query($sql);
|
||||||
|
|
||||||
$sql = 'UPDATE ' . SESSIONS_KEYS_TABLE . '
|
$sql = 'UPDATE ' . SESSIONS_KEYS_TABLE . '
|
||||||
SET ' . $db->sql_build_array('UPDATE', $sql_ary) . '
|
SET ' . $db->sql_build_array('UPDATE', $sql_ary) . '
|
||||||
WHERE user_id = ' . (int) $user_id . "
|
WHERE user_id = ' . (int) $user_id . "
|
||||||
|
@ -1128,6 +1134,11 @@ class session
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
// Before inserting, we will remove all previous keys. ;)
|
||||||
|
$sql = 'DELETE FROM ' . SESSIONS_KEYS_TABLE . '
|
||||||
|
WHERE user_id = ' . (int) $user_id;
|
||||||
|
$db->sql_query($sql);
|
||||||
|
|
||||||
$sql = 'INSERT INTO ' . SESSIONS_KEYS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary);
|
$sql = 'INSERT INTO ' . SESSIONS_KEYS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary);
|
||||||
}
|
}
|
||||||
$db->sql_query($sql);
|
$db->sql_query($sql);
|
||||||
|
|
|
@ -608,6 +608,8 @@ if (version_compare($current_version, '3.0.RC3', '<='))
|
||||||
<p><?php echo $lang['PROGRESS']; ?> :: <strong>
|
<p><?php echo $lang['PROGRESS']; ?> :: <strong>
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
flush();
|
||||||
|
|
||||||
// after RC3 a different utf8_clean_string function is used, this requires that
|
// after RC3 a different utf8_clean_string function is used, this requires that
|
||||||
// the unique column username_clean is recalculated, during this recalculation
|
// the unique column username_clean is recalculated, during this recalculation
|
||||||
// duplicates might be created. Since the column has to be unique such usernames
|
// duplicates might be created. Since the column has to be unique such usernames
|
||||||
|
@ -1316,6 +1318,8 @@ add_log('admin', 'LOG_UPDATE_DATABASE', $orig_version, $updates_to_version);
|
||||||
// Now we purge the session table as well as all cache files
|
// Now we purge the session table as well as all cache files
|
||||||
$cache->purge();
|
$cache->purge();
|
||||||
|
|
||||||
|
exit;
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Add table
Reference in a new issue