diff options
author | Andreas Fischer <bantu@phpbb.com> | 2009-12-20 13:18:04 +0000 |
---|---|---|
committer | Andreas Fischer <bantu@phpbb.com> | 2009-12-20 13:18:04 +0000 |
commit | 28c33de6d9bb72e23b653656594627f3f9529712 (patch) | |
tree | 2a82dfb61c272fbc405579e07c6f1681f75126c9 /phpBB/feed.php | |
parent | 7d406a36cdb3b66cbc2d3c4c4ebdcf10564917d7 (diff) | |
download | forums-28c33de6d9bb72e23b653656594627f3f9529712.tar forums-28c33de6d9bb72e23b653656594627f3f9529712.tar.gz forums-28c33de6d9bb72e23b653656594627f3f9529712.tar.bz2 forums-28c33de6d9bb72e23b653656594627f3f9529712.tar.xz forums-28c33de6d9bb72e23b653656594627f3f9529712.zip |
Provide some more generic methods.
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10351 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/feed.php')
-rw-r--r-- | phpBB/feed.php | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/phpBB/feed.php b/phpBB/feed.php index eae4207cd0..014d768fc4 100644 --- a/phpBB/feed.php +++ b/phpBB/feed.php @@ -550,6 +550,48 @@ class phpbb_feed_base return $this->excluded_forums_ary; } + function get_readable_forums() + { + global $auth; + + return array_keys($auth->acl_getf('f_read')); + } + + function get_excluded_forums() + { + global $db, $cache; + static $forum_ids; + + $cache_name = 'feed_excluded_forum_ids'; + $cache_ttl = 300; + + if (!isset($forum_ids) && ($forum_ids = $cache->get('_' . $cache_name)) === false) + { + $sql = 'SELECT forum_id + FROM ' . FORUMS_TABLE . ' + WHERE ' . $db->sql_bit_and('forum_options', FORUM_OPTION_FEED_EXCLUDE, '<> 0'); + $result = $db->sql_query($sql); + + $forum_ids = array(); + while ($forum_id = (int) $db->sql_fetchfield('forum_id')) + { + $forum_ids[$forum_id] = $forum_id; + } + $db->sql_freeresult($result); + + $cache->put('_' . $cache_name, $forum_ids, $cache_ttl); + } + + return $forum_ids; + } + + function is_excluded_forum($forum_id) + { + $forum_ids = $this->get_excluded_forums(); + + return isset($forum_ids[$forum_id]) ? true : false; + } + function get_passworded_forums() { global $db, $user; |