diff --git a/mod/forum/lib.php b/mod/forum/lib.php
index 208e008956e42..45bc8474c0422 100644
--- a/mod/forum/lib.php
+++ b/mod/forum/lib.php
@@ -3930,51 +3930,54 @@ function forum_print_attachments($post, $cm, $type) {
$imagereturn = '';
$output = '';
- $canexport = (has_capability('mod/forum:exportpost', $context) || ($post->userid == $USER->id && has_capability('mod/forum:exportownpost', $context)));
+ $canexport = !empty($CFG->enableportfolios) && (has_capability('mod/forum:exportpost', $context) || ($post->userid == $USER->id && has_capability('mod/forum:exportownpost', $context)));
- if (!empty($CFG->enableportfolios)) {
+ if ($canexport) {
require_once($CFG->libdir.'/portfoliolib.php');
- $files = $fs->get_area_files($context->id, 'mod_forum', 'attachment', $post->id, "timemodified", false);
- if ($files) {
+ }
+
+ $files = $fs->get_area_files($context->id, 'mod_forum', 'attachment', $post->id, "timemodified", false);
+ if ($files) {
+ if ($canexport) {
$button = new portfolio_add_button();
- foreach ($files as $file) {
- $filename = $file->get_filename();
- $mimetype = $file->get_mimetype();
- $iconimage = '';
- $path = file_encode_url($CFG->wwwroot.'/pluginfile.php', '/'.$context->id.'/mod_forum/attachment/'.$post->id.'/'.$filename);
+ }
+ foreach ($files as $file) {
+ $filename = $file->get_filename();
+ $mimetype = $file->get_mimetype();
+ $iconimage = '';
+ $path = file_encode_url($CFG->wwwroot.'/pluginfile.php', '/'.$context->id.'/mod_forum/attachment/'.$post->id.'/'.$filename);
+
+ if ($type == 'html') {
+ $output .= "$iconimage ";
+ $output .= "".s($filename)."";
+ if ($canexport) {
+ $button->set_callback_options('forum_portfolio_caller', array('postid' => $post->id, 'attachment' => $file->get_id()), '/mod/forum/locallib.php');
+ $button->set_format_by_file($file);
+ $output .= $button->to_html(PORTFOLIO_ADD_ICON_LINK);
+ }
+ $output .= "
";
- if ($type == 'html') {
+ } else if ($type == 'text') {
+ $output .= "$strattachment ".s($filename).":\n$path\n";
+
+ } else { //'returnimages'
+ if (in_array($mimetype, array('image/gif', 'image/jpeg', 'image/png'))) {
+ // Image attachments don't get printed as links
+ $imagereturn .= "
";
+ if ($canexport) {
+ $button->set_callback_options('forum_portfolio_caller', array('postid' => $post->id, 'attachment' => $file->get_id()), '/mod/forum/locallib.php');
+ $button->set_format_by_file($file);
+ $imagereturn .= $button->to_html(PORTFOLIO_ADD_ICON_LINK);
+ }
+ } else {
$output .= "$iconimage ";
- $output .= "".s($filename)."";
+ $output .= format_text("".s($filename)."", FORMAT_HTML, array('context'=>$context));
if ($canexport) {
$button->set_callback_options('forum_portfolio_caller', array('postid' => $post->id, 'attachment' => $file->get_id()), '/mod/forum/locallib.php');
$button->set_format_by_file($file);
$output .= $button->to_html(PORTFOLIO_ADD_ICON_LINK);
}
- $output .= "
";
-
- } else if ($type == 'text') {
- $output .= "$strattachment ".s($filename).":\n$path\n";
-
- } else { //'returnimages'
- if (in_array($mimetype, array('image/gif', 'image/jpeg', 'image/png'))) {
- // Image attachments don't get printed as links
- $imagereturn .= "
";
- if ($canexport) {
- $button->set_callback_options('forum_portfolio_caller', array('postid' => $post->id, 'attachment' => $file->get_id()), '/mod/forum/locallib.php');
- $button->set_format_by_file($file);
- $imagereturn .= $button->to_html(PORTFOLIO_ADD_ICON_LINK);
- }
- } else {
- $output .= "$iconimage ";
- $output .= format_text("".s($filename)."", FORMAT_HTML, array('context'=>$context));
- if ($canexport) {
- $button->set_callback_options('forum_portfolio_caller', array('postid' => $post->id, 'attachment' => $file->get_id()), '/mod/forum/locallib.php');
- $button->set_format_by_file($file);
- $output .= $button->to_html(PORTFOLIO_ADD_ICON_LINK);
- }
- $output .= '
';
- }
+ $output .= '
';
}
}
}