MDL-34338: renderer for mod_folder should not use file_info

This commit is contained in:
Marina Glancy 2012-09-04 10:29:37 +08:00
parent 935c3d5ed2
commit eb8d220d68

View file

@ -60,24 +60,26 @@ class mod_folder_renderer extends plugin_renderer_base {
$result = '<ul>'; $result = '<ul>';
foreach ($dir['subdirs'] as $subdir) { foreach ($dir['subdirs'] as $subdir) {
$image = $this->output->pix_icon(file_folder_icon(24), $subdir['dirname'], 'moodle'); $image = $this->output->pix_icon(file_folder_icon(24), $subdir['dirname'], 'moodle');
$filename = html_writer::tag('span', $image, array('class' => 'fp-icon')). html_writer::tag('span', s($subdir['dirname']), array('class' => 'fp-filename')); $filename = html_writer::tag('span', $image, array('class' => 'fp-icon')).
html_writer::tag('span', s($subdir['dirname']), array('class' => 'fp-filename'));
$filename = html_writer::tag('div', $filename, array('class' => 'fp-filename-icon')); $filename = html_writer::tag('div', $filename, array('class' => 'fp-filename-icon'));
$result .= html_writer::tag('li', $filename. $this->htmllize_tree($tree, $subdir)); $result .= html_writer::tag('li', $filename. $this->htmllize_tree($tree, $subdir));
} }
foreach ($dir['files'] as $file) { foreach ($dir['files'] as $file) {
$fileinfo = $browser->get_file_info($tree->context, $file->get_component(),
$file->get_filearea(), $file->get_itemid(), $file->get_filepath(), $file->get_filename());
$url = $fileinfo->get_url(true);
$filename = $file->get_filename(); $filename = $file->get_filename();
if ($imageinfo = $fileinfo->get_imageinfo()) { $url = moodle_url::make_pluginfile_url($file->get_contextid(), $file->get_component(),
$fileurl = new moodle_url($fileinfo->get_url()); $file->get_filearea(), $file->get_itemid(), $file->get_filepath(), $filename, false);
$image = $fileurl->out(false, array('preview' => 'tinyicon', 'oid' => $fileinfo->get_timemodified())); if (file_extension_in_typegroup($filename, 'web_image')) {
$image = $url->out(false, array('preview' => 'tinyicon', 'oid' => $file->get_timemodified()));
$image = html_writer::empty_tag('img', array('src' => $image)); $image = html_writer::empty_tag('img', array('src' => $image));
} else { } else {
$image = $this->output->pix_icon(file_file_icon($file, 24), $filename, 'moodle'); $image = $this->output->pix_icon(file_file_icon($file, 24), $filename, 'moodle');
} }
$filename = html_writer::tag('span', $image, array('class' => 'fp-icon')). html_writer::tag('span', $filename, array('class' => 'fp-filename')); $filename = html_writer::tag('span', $image, array('class' => 'fp-icon')).
$filename = html_writer::tag('span', html_writer::link($url, $filename), array('class' => 'fp-filename-icon')); html_writer::tag('span', $filename, array('class' => 'fp-filename'));
$filename = html_writer::tag('span',
html_writer::link($url->out(false, array('forcedownload' => 1)), $filename),
array('class' => 'fp-filename-icon'));
$result .= html_writer::tag('li', $filename); $result .= html_writer::tag('li', $filename);
} }
$result .= '</ul>'; $result .= '</ul>';