aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/session.php
diff options
context:
space:
mode:
authorNils Adermann <naderman@naderman.de>2011-08-25 23:20:55 -0400
committerNils Adermann <naderman@naderman.de>2011-08-25 23:20:55 -0400
commit0d4089da7fab3c4e2f177ad62bed142d4df181e1 (patch)
treedf314f77d6f284e6bbda02998a0c57db9bf3d90c /phpBB/includes/session.php
parentd602f748663ea1b726bbf2614e4d54ee5da309b1 (diff)
parent4f8bb02a57dbc11a1c390abf7ca70fd08d8fd5c2 (diff)
downloadforums-0d4089da7fab3c4e2f177ad62bed142d4df181e1.tar
forums-0d4089da7fab3c4e2f177ad62bed142d4df181e1.tar.gz
forums-0d4089da7fab3c4e2f177ad62bed142d4df181e1.tar.bz2
forums-0d4089da7fab3c4e2f177ad62bed142d4df181e1.tar.xz
forums-0d4089da7fab3c4e2f177ad62bed142d4df181e1.zip
Merge remote-tracking branch 'github-bantu/ticket/10320' into develop-olympus
* github-bantu/ticket/10320: [ticket/10320] Exclude passworded forums when determining "Most active topic". [ticket/10320] Move phpbb_feed_base::get_passworded_forums() to user class.
Diffstat (limited to 'phpBB/includes/session.php')
-rw-r--r--phpBB/includes/session.php33
1 files changed, 33 insertions, 0 deletions
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