MDL-51306 mod_folder: Use context_module to find details

renderable should not be used for extracting
details. Use cm to get context and dir information
This commit is contained in:
Rajesh Taneja
2016-02-10 15:51:31 +08:00
committed by David Monllao
parent 985dca606f
commit cd6e7e0da0
3 changed files with 9 additions and 6 deletions
+1 -2
View File
@@ -35,8 +35,7 @@ require_capability('mod/folder:view', $context);
$folder = $DB->get_record('folder', array('id' => $cm->instance), '*', MUST_EXIST);
$foldertree = new folder_tree($folder, $cm);
$downloadable = folder_archive_available($folder, $foldertree);
$downloadable = folder_archive_available($folder, $cm);
if (!$downloadable) {
print_error('cannotdownloaddir', 'repository');
}
+7 -3
View File
@@ -486,16 +486,20 @@ function folder_view($folder, $course, $cm, $context) {
/**
* Check if the folder can be zipped and downloaded.
* @param stdClass $folder
* @param folder_tree $foldertree
* @param context_module $cm
* @return bool True if the folder can be zipped and downloaded.
* @throws \dml_exception
*/
function folder_archive_available($folder, $foldertree) {
function folder_archive_available($folder, $cm) {
if (!$folder->showdownloadfolder) {
return false;
}
$size = folder_get_directory_size($foldertree->dir);
$context = context_module::instance($cm->id);
$fs = get_file_storage();
$dir = $fs->get_area_tree($context->id, 'mod_folder', 'content', 0);
$size = folder_get_directory_size($dir);
$maxsize = get_config('folder', 'maxsizetodownload') * 1024 * 1024;
if ($size == 0) {
+1 -1
View File
@@ -67,7 +67,7 @@ class mod_folder_renderer extends plugin_renderer_base {
// Do not append the edit button on the course page.
if ($folder->display != FOLDER_DISPLAY_INLINE) {
$containercontents = '';
$downloadable = folder_archive_available($folder, $foldertree);
$downloadable = folder_archive_available($folder, $cm);
if ($downloadable) {
$containercontents .= $this->output->single_button(