/** * Looks at the list of allowed extensions and generates a string * appropriate for use in configuring plupload with * * @param \src\cache\service $cache * @param string $forum_id The ID of the forum * * @return string */ public function generate_filter_string(\src\cache\service $cache, $forum_id) { $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; } $filters = array(); foreach ($groups as $group => $extensions) { $filters[] = sprintf("{title: '%s', extensions: '%s'}", addslashes(ucfirst(strtolower($group))), addslashes(implode(',', $extensions))); } return implode(',', $filters); }