diff options
author | Joas Schilling <nickvergessen@gmx.de> | 2013-07-14 11:57:53 -0400 |
---|---|---|
committer | Joas Schilling <nickvergessen@gmx.de> | 2013-07-14 11:57:53 -0400 |
commit | d7a85ebc245e76038b8ccd56524f045cc92a6c13 (patch) | |
tree | 66aa645c4d86636f0bce04a7125a7757a466b224 /phpBB/includes/feed/forum.php | |
parent | fa3cdb6bf2cfdca9c26168bd258752718bc8a43f (diff) | |
parent | f6865dc33a8cedb7d21a64401ed80d2edbac36bd (diff) | |
download | forums-d7a85ebc245e76038b8ccd56524f045cc92a6c13.tar forums-d7a85ebc245e76038b8ccd56524f045cc92a6c13.tar.gz forums-d7a85ebc245e76038b8ccd56524f045cc92a6c13.tar.bz2 forums-d7a85ebc245e76038b8ccd56524f045cc92a6c13.tar.xz forums-d7a85ebc245e76038b8ccd56524f045cc92a6c13.zip |
Merge remote-tracking branch 'igorw/ticket/11574' into ticket/11574
* igorw/ticket/11574: (575 commits)
[ticket/11702] Fix forum_posts left over for link-click counts in viewforum.php
[ticket/11696] Move file to new directory
[ticket/11696] Rename constructor to __construct()
[ticket/11696] Remove manual loading of db_tools in extension controller test
[ticket/11696] Rename db_tools.php so it can be autoloaded
[ticket/11698] Moving all autoloadable files to phpbb/
[ticket/11694] Do not locate assets with root path
[ticket/11692] Don't update search_type in dev migration if already appended
[ticket/11675] Fix template loop
[ticket/11690] Old module class names may get autoloaded by class_exists
[ticket/9649] Display information on index for moderators on unapproved posts
[ticket/10999] Fix assets_version in ACP
[prep-release-3.0.12] More changelog items for the 3.0.12 release.
[ticket/11687] Add assets_version to phpbb_config
[ticket/11686] Not checking for phpBB Debug errors on functional tests
[ticket/11670] Consistency with logo: Replace "phpBB(tm)" with "phpBB(R)".
[ticket/11674] Do not include vendor folder if there are no dependencies.
[ticket/11685] Remove logout confirmation page
[ticket/11684] Remove useless confirmation page after login and admin login
[ticket/9657] Define user before injecting
...
Diffstat (limited to 'phpBB/includes/feed/forum.php')
-rw-r--r-- | phpBB/includes/feed/forum.php | 147 |
1 files changed, 0 insertions, 147 deletions
diff --git a/phpBB/includes/feed/forum.php b/phpBB/includes/feed/forum.php deleted file mode 100644 index 7670fbeaaa..0000000000 --- a/phpBB/includes/feed/forum.php +++ /dev/null @@ -1,147 +0,0 @@ -<?php -/** -* -* @package phpBB3 -* @copyright (c) 2013 phpBB Group -* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 -* -*/ - -/** -* @ignore -*/ -if (!defined('IN_PHPBB')) -{ - exit; -} - -/** -* Forum feed -* -* This will give you the last {$this->num_items} posts made -* within a specific forum. -* -* @package phpBB3 -*/ -class phpbb_feed_forum extends phpbb_feed_post_base -{ - var $forum_id = 0; - var $forum_data = array(); - - /** - * Set the Forum ID - * - * @param int $forum_id Forum ID - * @return phpbb_feed_forum - */ - public function set_forum_id($topic_id) - { - $this->forum_id = (int) $forum_id; - - return $this; - } - - function open() - { - // Check if forum exists - $sql = 'SELECT forum_id, forum_name, forum_password, forum_type, forum_options - FROM ' . FORUMS_TABLE . ' - WHERE forum_id = ' . $this->forum_id; - $result = $this->db->sql_query($sql); - $this->forum_data = $this->db->sql_fetchrow($result); - $this->db->sql_freeresult($result); - - if (empty($this->forum_data)) - { - trigger_error('NO_FORUM'); - } - - // Forum needs to be postable - if ($this->forum_data['forum_type'] != FORUM_POST) - { - trigger_error('NO_FEED'); - } - - // Make sure forum is not excluded from feed - if (phpbb_optionget(FORUM_OPTION_FEED_EXCLUDE, $this->forum_data['forum_options'])) - { - trigger_error('NO_FEED'); - } - - // Make sure we can read this forum - if (!$this->auth->acl_get('f_read', $this->forum_id)) - { - trigger_error('SORRY_AUTH_READ'); - } - - // Make sure forum is not passworded or user is authed - if ($this->forum_data['forum_password']) - { - $forum_ids_passworded = $this->get_passworded_forums(); - - if (isset($forum_ids_passworded[$this->forum_id])) - { - trigger_error('SORRY_AUTH_READ'); - } - - unset($forum_ids_passworded); - } - } - - function get_sql() - { - $m_approve = ($this->auth->acl_get('m_approve', $this->forum_id)) ? true : false; - - // Determine topics with recent activity - $sql = 'SELECT topic_id, topic_last_post_time - FROM ' . TOPICS_TABLE . ' - WHERE forum_id = ' . $this->forum_id . ' - AND topic_moved_id = 0 - ' . ((!$m_approve) ? 'AND topic_approved = 1' : '') . ' - ORDER BY topic_last_post_time DESC'; - $result = $this->db->sql_query_limit($sql, $this->num_items); - - $topic_ids = array(); - $min_post_time = 0; - while ($row = $this->db->sql_fetchrow()) - { - $topic_ids[] = (int) $row['topic_id']; - - $min_post_time = (int) $row['topic_last_post_time']; - } - $this->db->sql_freeresult($result); - - if (empty($topic_ids)) - { - return false; - } - - $this->sql = array( - 'SELECT' => 'p.post_id, p.topic_id, p.post_time, p.post_edit_time, p.post_approved, p.post_subject, p.post_text, p.bbcode_bitfield, p.bbcode_uid, p.enable_bbcode, p.enable_smilies, p.enable_magic_url, ' . - 'u.username, u.user_id', - 'FROM' => array( - POSTS_TABLE => 'p', - USERS_TABLE => 'u', - ), - 'WHERE' => $this->db->sql_in_set('p.topic_id', $topic_ids) . ' - ' . ((!$m_approve) ? 'AND p.post_approved = 1' : '') . ' - AND p.post_time >= ' . $min_post_time . ' - AND p.poster_id = u.user_id', - 'ORDER_BY' => 'p.post_time DESC', - ); - - return true; - } - - function adjust_item(&$item_row, &$row) - { - parent::adjust_item($item_row, $row); - - $item_row['title'] = (isset($row['forum_name']) && $row['forum_name'] !== '') ? $row['forum_name'] . ' ' . $this->separator . ' ' . $item_row['title'] : $item_row['title']; - } - - function get_item() - { - return ($row = parent::get_item()) ? array_merge($this->forum_data, $row) : $row; - } -} |