diff options
author | Andreas Fischer <bantu@phpbb.com> | 2012-08-10 03:06:14 +0200 |
---|---|---|
committer | Andreas Fischer <bantu@phpbb.com> | 2012-08-10 03:07:38 +0200 |
commit | 7bd81cd0cd088ba13648f293fb738060f221a8de (patch) | |
tree | 1326710a6e546cf7d722b47e41610cf6f040dd56 /phpBB/includes | |
parent | 9b7b794beb8d5acc71f1b6d3f60ba5e22c70c17f (diff) | |
download | forums-7bd81cd0cd088ba13648f293fb738060f221a8de.tar forums-7bd81cd0cd088ba13648f293fb738060f221a8de.tar.gz forums-7bd81cd0cd088ba13648f293fb738060f221a8de.tar.bz2 forums-7bd81cd0cd088ba13648f293fb738060f221a8de.tar.xz forums-7bd81cd0cd088ba13648f293fb738060f221a8de.zip |
[feature/attach-dl] Move logic for passworded forums to a function.
PHPBB3-11042
Diffstat (limited to 'phpBB/includes')
-rw-r--r-- | phpBB/includes/functions_download.php | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/phpBB/includes/functions_download.php b/phpBB/includes/functions_download.php index b01712357d..4299ed47c5 100644 --- a/phpBB/includes/functions_download.php +++ b/phpBB/includes/functions_download.php @@ -613,3 +613,28 @@ function phpbb_increment_downloads($db, $ids) WHERE ' . $db->sql_in_set('attach_id', $ids); $db->sql_query($sql); } + +function phpbb_download_handle_passworded_forum($db, $auth, $topic_id) +{ + $sql = 'SELECT t.forum_id, f.forum_password, f.parent_id + FROM ' . TOPICS_TABLE . ' t, ' . FORUMS_TABLE . " f + WHERE t.topic_id = " . (int) $topic_id . " + AND t.forum_id = f.forum_id"; + $result = $db->sql_query_limit($sql, 1); + $row = $db->sql_fetchrow($result); + $db->sql_freeresult($result); + + if ($auth->acl_get('u_download') && $auth->acl_get('f_download', $row['forum_id'])) + { + if ($row && $row['forum_password']) + { + // Do something else ... ? + login_forum_box($row); + } + } + else + { + send_status_line(403, 'Forbidden'); + trigger_error('SORRY_AUTH_VIEW_ATTACH'); + } +} |