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 = ''.$mimetype.''; - $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 = ''.$mimetype.''; + $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 .= '
'; } } }