aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/phpbb/plupload
diff options
context:
space:
mode:
authormrgoldy <gijsmartens1@gmail.com>2019-08-25 21:24:22 +0200
committermrgoldy <gijsmartens1@gmail.com>2019-08-25 21:24:22 +0200
commit8bc056ebe6d5876c6de2a2ca84bf234678c3e702 (patch)
tree2dcd7bd57b28c17866edfc0577dbe058240feb9c /phpBB/phpbb/plupload
parent9c15594fe498a8a1640bb89aa0c93800918a9798 (diff)
downloadforums-8bc056ebe6d5876c6de2a2ca84bf234678c3e702.tar
forums-8bc056ebe6d5876c6de2a2ca84bf234678c3e702.tar.gz
forums-8bc056ebe6d5876c6de2a2ca84bf234678c3e702.tar.bz2
forums-8bc056ebe6d5876c6de2a2ca84bf234678c3e702.tar.xz
forums-8bc056ebe6d5876c6de2a2ca84bf234678c3e702.zip
[ticket/16076] addFileFilter to check max file size per mime type
PHPBB3-16076
Diffstat (limited to 'phpBB/phpbb/plupload')
-rw-r--r--phpBB/phpbb/plupload/plupload.php36
1 files changed, 17 insertions, 19 deletions
diff --git a/phpBB/phpbb/plupload/plupload.php b/phpBB/phpbb/plupload/plupload.php
index eb698fb35d..9ad12b1082 100644
--- a/phpBB/phpbb/plupload/plupload.php
+++ b/phpBB/phpbb/plupload/plupload.php
@@ -216,38 +216,36 @@ class plupload
}
/**
- * Looks at the list of allowed extensions and generates a string
- * appropriate for use in configuring plupload with
- *
- * @param \phpbb\cache\service $cache
- * @param string $forum_id The ID of the forum
- *
- * @return string
- */
+ * Looks at the list of allowed extensions and generates a string
+ * appropriate for use in configuring plupload with
+ *
+ * @param \phpbb\cache\service $cache Cache service object
+ * @param string $forum_id The forum identifier
+ *
+ * @return string
+ */
public function generate_filter_string(\phpbb\cache\service $cache, $forum_id)
{
+ $groups = [];
+ $filters = [];
+
$attach_extensions = $cache->obtain_attach_extensions($forum_id);
unset($attach_extensions['_allowed_']);
- $groups = array();
// Re-arrange the extension array to $groups[$group_name][]
foreach ($attach_extensions as $extension => $extension_info)
{
- if (!isset($groups[$extension_info['group_name']]))
- {
- $groups[$extension_info['group_name']] = array();
- }
-
- $groups[$extension_info['group_name']][] = $extension;
+ $groups[$extension_info['group_name']]['extensions'][] = $extension;
+ $groups[$extension_info['group_name']]['max_file_size'] = (int) $extension_info['max_filesize'];
}
- $filters = array();
- foreach ($groups as $group => $extensions)
+ foreach ($groups as $group => $group_info)
{
$filters[] = sprintf(
- "{title: '%s', extensions: '%s'}",
+ "{title: '%s', extensions: '%s', max_file_size: %s}",
addslashes(ucfirst(strtolower($group))),
- addslashes(implode(',', $extensions))
+ addslashes(implode(',', $group_info['extensions'])),
+ $group_info['max_file_size']
);
}