mirror of
https://github.com/moodle/moodle.git
synced 2025-03-13 20:26:32 +01:00
Merge branch 'wip-MDL-30709-master' of git://github.com/marinaglancy/moodle
This commit is contained in:
commit
d88f6dafdc
@ -3940,6 +3940,45 @@ function assignment_get_file_areas($course, $cm, $context) {
|
||||
return $areas;
|
||||
}
|
||||
|
||||
/**
|
||||
* File browsing support for assignment module.
|
||||
*
|
||||
* @param object $browser
|
||||
* @param object $areas
|
||||
* @param object $course
|
||||
* @param object $cm
|
||||
* @param object $context
|
||||
* @param string $filearea
|
||||
* @param int $itemid
|
||||
* @param string $filepath
|
||||
* @param string $filename
|
||||
* @return object file_info instance or null if not found
|
||||
*/
|
||||
function assignment_get_file_info($browser, $areas, $course, $cm, $context, $filearea, $itemid, $filepath, $filename) {
|
||||
global $CFG, $DB, $USER;
|
||||
|
||||
if ($context->contextlevel != CONTEXT_MODULE || $filearea != 'submission') {
|
||||
return null;
|
||||
}
|
||||
if (!$submission = $DB->get_record('assignment_submissions', array('id' => $itemid))) {
|
||||
return null;
|
||||
}
|
||||
if (!(($submission->userid == $USER->id && has_capability('mod/assignment:view', $context))
|
||||
|| has_capability('mod/assignment:grade', $context))) {
|
||||
// no permission to view this submission
|
||||
return null;
|
||||
}
|
||||
|
||||
$fs = get_file_storage();
|
||||
$filepath = is_null($filepath) ? '/' : $filepath;
|
||||
$filename = is_null($filename) ? '.' : $filename;
|
||||
if (!($storedfile = $fs->get_file($context->id, 'mod_assignment', $filearea, $itemid, $filepath, $filename))) {
|
||||
return null;
|
||||
}
|
||||
$urlbase = $CFG->wwwroot.'/pluginfile.php';
|
||||
return new file_info_stored($browser, $context, $storedfile, $urlbase, $filearea, $itemid, true, true, false);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return a list of page types
|
||||
* @param string $pagetype current page type
|
||||
|
@ -97,7 +97,7 @@ class repository_recent extends repository {
|
||||
* @return mixed
|
||||
*/
|
||||
public function get_listing($encodedpath = '', $page = '') {
|
||||
global $CFG, $USER, $OUTPUT;
|
||||
global $OUTPUT;
|
||||
$ret = array();
|
||||
$ret['dynload'] = true;
|
||||
$ret['nosearch'] = true;
|
||||
@ -108,14 +108,18 @@ class repository_recent extends repository {
|
||||
try {
|
||||
foreach ($files as $file) {
|
||||
$params = base64_encode(serialize($file));
|
||||
$node = array(
|
||||
'title' => $file['filename'],
|
||||
'size' => 0,
|
||||
'date' => '',
|
||||
'source'=> $params,
|
||||
'thumbnail' => $OUTPUT->pix_url(file_extension_icon($file['filename'], 32))->out(false),
|
||||
);
|
||||
$list[] = $node;
|
||||
// Check that file exists and accessible
|
||||
$filesize = $this->get_file_size($params);
|
||||
if (!empty($filesize)) {
|
||||
$node = array(
|
||||
'title' => $file['filename'],
|
||||
'size' => $filesize,
|
||||
'date' => '',
|
||||
'source'=> $params,
|
||||
'thumbnail' => $OUTPUT->pix_url(file_extension_icon($file['filename'], 32))->out(false),
|
||||
);
|
||||
$list[] = $node;
|
||||
}
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
throw new repository_exception('emptyfilelist', 'repository_recent');
|
||||
|
Loading…
x
Reference in New Issue
Block a user