Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 3 |
CRAP | |
0.00% |
0 / 33 |
forums | |
0.00% |
0 / 1 |
|
0.00% |
0 / 3 |
30.00 | |
0.00% |
0 / 33 |
set_keys | |
0.00% |
0 / 1 |
2.00 | |
0.00% |
0 / 8 |
|||
get_sql | |
0.00% |
0 / 1 |
6.00 | |
0.00% |
0 / 17 |
|||
adjust_item | |
0.00% |
0 / 1 |
6.00 | |
0.00% |
0 / 8 |
<?php | |
/** | |
* | |
* This file is part of the phpBB Forum Software package. | |
* | |
* @copyright (c) phpBB Limited <https://www.phpbb.com> | |
* @license GNU General Public License, version 2 (GPL-2.0) | |
* | |
* For full copyright and license information, please see | |
* the docs/CREDITS.txt file. | |
* | |
*/ | |
namespace phpbb\feed; | |
/** | |
* 'All Forums' feed | |
* | |
* This will give you a list of all postable forums where feeds are enabled | |
* including forum description, topic stats and post stats | |
*/ | |
class forums extends base | |
{ | |
protected $num_items = 0; | |
/** | |
* {@inheritdoc} | |
*/ | |
public function set_keys() | |
{ | |
$this->set('title', 'forum_name'); | |
$this->set('text', 'forum_desc'); | |
$this->set('bitfield', 'forum_desc_bitfield'); | |
$this->set('bbcode_uid','forum_desc_uid'); | |
$this->set('updated', 'forum_last_post_time'); | |
$this->set('options', 'forum_desc_options'); | |
} | |
/** | |
* {@inheritdoc} | |
*/ | |
public function get_sql() | |
{ | |
$in_fid_ary = array_diff($this->get_readable_forums(), $this->get_excluded_forums()); | |
if (empty($in_fid_ary)) | |
{ | |
return false; | |
} | |
// Build SQL Query | |
$this->sql = array( | |
'SELECT' => 'f.forum_id, f.left_id, f.forum_name, f.forum_last_post_time, | |
f.forum_desc, f.forum_desc_bitfield, f.forum_desc_uid, f.forum_desc_options, | |
f.forum_topics_approved, f.forum_posts_approved', | |
'FROM' => array(FORUMS_TABLE => 'f'), | |
'WHERE' => 'f.forum_type = ' . FORUM_POST . ' | |
AND ' . $this->db->sql_in_set('f.forum_id', $in_fid_ary), | |
'ORDER_BY' => 'f.left_id ASC', | |
); | |
return true; | |
} | |
/** | |
* {@inheritdoc} | |
*/ | |
public function adjust_item(&$item_row, &$row) | |
{ | |
$item_row['link'] = $this->helper->append_sid('viewforum.' . $this->phpEx, 'f=' . $row['forum_id']); | |
if ($this->config['feed_item_statistics']) | |
{ | |
$item_row['statistics'] = $this->user->lang('TOTAL_TOPICS', (int) $row['forum_topics_approved']) | |
. ' ' . $this->separator_stats . ' ' . $this->user->lang('TOTAL_POSTS_COUNT', (int) $row['forum_posts_approved']); | |
} | |
} | |
} |