Unreported: Attachments from specific forum(s) (block and installer)

This commit is contained in:
Ice
2008-02-14 21:52:04 +00:00
parent a6359f9685
commit bb3026f9e6
3 changed files with 72 additions and 38 deletions

View File

@@ -1,6 +1,6 @@
<?php
$current_version = '0.2.1';
$current_version = '0.2.2';
// If only checking version, exit.
if( defined('IN_PHPBB') )

View File

@@ -7,4 +7,7 @@ $sql_update['0.2.0'] = array(
"INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_birthdays_ahead', '7')",
);
$sql_update['0.2.2'] = array(
"INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('pportal_attachments_forum_ids', '')",
);
?>

View File

@@ -19,17 +19,41 @@ if (!defined('IN_PORTAL'))
{
exit;
}
$portal_config['portal_attachments_forum_ids'] = '2';
$attach_forums = false;
$where = '';
$allowed_forums = array_unique(array_keys($auth->acl_getf('f_read', true)));
foreach( $allowed_forums as $allowed_id )
if( $portal_config['portal_attachments_forum_ids'] !== '' )
{
$where .= 't.forum_id = \'' . $allowed_id . '\' OR ';
$attach_forums_config = ( strpos($portal_config['portal_attachments_forum_ids'], ',') !== FALSE ) ? explode(',', $portal_config['portal_attachments_forum_ids']) : array($portal_config['portal_attachments_forum_ids']);
$forum_list = array_unique(array_keys($auth->acl_getf('f_read', true)));
$forum_list = array_unique( array_intersect($attach_forums_config, $forum_list) );
}
else
{
$forum_list = array_unique(array_keys($auth->acl_getf('f_read', true)));
}
if( sizeof($forum_list) )
{
foreach($forum_list as $af )
{
$af = (int) trim($af);
$attach_forums = true;
$where .= 't.forum_id = \''.$af.'\' OR ';
}
}
if( $where != '' )
{
$where = 'AND (' . substr($where, 0, -4) . ')';
}
if( $attach_forums === TRUE )
{
// Just grab all attachment info from database
$sql = 'SELECT
a.*,
@@ -70,5 +94,12 @@ $db->sql_freeresult($result);
$template->assign_vars(array(
'S_DISPLAY_ATTACHMENTS' => true,
));
} else {
// Assign specific vars
$template->assign_vars(array(
'S_DISPLAY_ATTACHMENTS' => false,
));
}
?>