diff options
| author | Nils Adermann <naderman@naderman.de> | 2010-03-02 01:05:38 +0100 |
|---|---|---|
| committer | Nils Adermann <naderman@naderman.de> | 2010-03-02 01:05:38 +0100 |
| commit | 5324afeffd84810db3cac6e1d8dfec3678ab99c6 (patch) | |
| tree | 35c93b2056006be40f9e4660cedd52d45eb6d342 /phpBB/includes/session.php | |
| parent | 0434ccf303e1313e0b157012da9fb8ded26e886b (diff) | |
| parent | 4ff33f5d49597e5168223cf17b0d595b4df3b8da (diff) | |
| download | forums-5324afeffd84810db3cac6e1d8dfec3678ab99c6.tar forums-5324afeffd84810db3cac6e1d8dfec3678ab99c6.tar.gz forums-5324afeffd84810db3cac6e1d8dfec3678ab99c6.tar.bz2 forums-5324afeffd84810db3cac6e1d8dfec3678ab99c6.tar.xz forums-5324afeffd84810db3cac6e1d8dfec3678ab99c6.zip | |
Merge commit 'release-3.0.1'
Diffstat (limited to 'phpBB/includes/session.php')
| -rw-r--r-- | phpBB/includes/session.php | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/phpBB/includes/session.php b/phpBB/includes/session.php index 382f76aca3..da54a6c512 100644 --- a/phpBB/includes/session.php +++ b/phpBB/includes/session.php @@ -311,9 +311,24 @@ class session $sql_ary['session_forum_id'] = $this->page['forum']; } + $db->sql_return_on_error(true); + $sql = 'UPDATE ' . SESSIONS_TABLE . ' SET ' . $db->sql_build_array('UPDATE', $sql_ary) . " WHERE session_id = '" . $db->sql_escape($this->session_id) . "'"; - $db->sql_query($sql); + $result = $db->sql_query($sql); + + $db->sql_return_on_error(false); + + // If the database is not yet updated, there will be an error due to the session_forum_id + // @todo REMOVE for 3.0.2 + if ($result === false) + { + unset($sql_ary['session_forum_id']); + + $sql = 'UPDATE ' . SESSIONS_TABLE . ' SET ' . $db->sql_build_array('UPDATE', $sql_ary) . " + WHERE session_id = '" . $db->sql_escape($this->session_id) . "'"; + $db->sql_query($sql); + } } $this->data['is_registered'] = ($this->data['user_id'] != ANONYMOUS && ($this->data['user_type'] == USER_NORMAL || $this->data['user_type'] == USER_FOUNDER)) ? true : false; |
