diff options
| -rw-r--r-- | phpBB/feed.php | 25 | ||||
| -rw-r--r-- | phpBB/includes/session.php | 33 | 
2 files changed, 35 insertions, 23 deletions
diff --git a/phpBB/feed.php b/phpBB/feed.php index d737b8e10c..4b1836497b 100644 --- a/phpBB/feed.php +++ b/phpBB/feed.php @@ -604,30 +604,9 @@ class phpbb_feed_base  	function get_passworded_forums()  	{ -		global $db, $user; - -		// Exclude passworded forums -		$sql = 'SELECT f.forum_id, fa.user_id -			FROM ' . FORUMS_TABLE . ' f -			LEFT JOIN ' . FORUMS_ACCESS_TABLE . " fa -				ON (fa.forum_id = f.forum_id -					AND fa.session_id = '" . $db->sql_escape($user->session_id) . "') -			WHERE f.forum_password <> ''"; -		$result = $db->sql_query($sql); - -		$forum_ids = array(); -		while ($row = $db->sql_fetchrow($result)) -		{ -			$forum_id = (int) $row['forum_id']; - -			if ($row['user_id'] != $user->data['user_id']) -			{ -				$forum_ids[$forum_id] = $forum_id; -			} -		} -		$db->sql_freeresult($result); +		global $user; -		return $forum_ids; +		return $user->get_passworded_forums();  	}  	function get_item() diff --git a/phpBB/includes/session.php b/phpBB/includes/session.php index e9e706e2b8..caadcbafaa 100644 --- a/phpBB/includes/session.php +++ b/phpBB/includes/session.php @@ -2410,6 +2410,39 @@ class user extends session  		return true;  	} + +	/** +	* Returns all password protected forum ids the user is currently NOT authenticated for. +	* +	* @return array		Array of forum ids +	* @access public +	*/ +	function get_passworded_forums() +	{ +		global $db; + +		$sql = 'SELECT f.forum_id, fa.user_id +			FROM ' . FORUMS_TABLE . ' f +			LEFT JOIN ' . FORUMS_ACCESS_TABLE . " fa +				ON (fa.forum_id = f.forum_id +					AND fa.session_id = '" . $db->sql_escape($this->session_id) . "') +			WHERE f.forum_password <> ''"; +		$result = $db->sql_query($sql); + +		$forum_ids = array(); +		while ($row = $db->sql_fetchrow($result)) +		{ +			$forum_id = (int) $row['forum_id']; + +			if ($row['user_id'] != $this->data['user_id']) +			{ +				$forum_ids[$forum_id] = $forum_id; +			} +		} +		$db->sql_freeresult($result); + +		return $forum_ids; +	}  }  ?>
\ No newline at end of file  | 
