/** * Test max file number for file_merge_files_from_draft_area_into_filearea */ public function test_file_merge_files_from_draft_area_into_filearea_max_files() { global $USER; $this->resetAfterTest(true); $this->setAdminUser(); $fs = get_file_storage(); $file = self::create_draft_file(); $options = array('subdirs' => 1, 'maxbytes' => 1000, 'maxfiles' => 0, 'areamaxbytes' => 1000); // Add new file. file_merge_files_from_draft_area_into_filearea($file->get_itemid(), $file->get_contextid(), 'user', 'private', 0, $options); $usercontext = context_user::instance($USER->id); // Check we only get the base directory, not a new file. $files = $fs->get_area_files($usercontext->id, 'user', 'private', 0); $this->assertCount(1, $files); $file = array_shift($files); $this->assertTrue($file->is_directory()); }
/** * Copy files from a draft area to users private files area. * * @throws invalid_parameter_exception * @param int $draftid Id of a draft area containing files. * @return array An array of warnings * @since Moodle 2.6 */ public static function add_user_private_files($draftid) { global $CFG, $USER; require_once $CFG->libdir . "/filelib.php"; $params = self::validate_parameters(self::add_user_private_files_parameters(), array('draftid' => $draftid)); if (isguestuser()) { throw new invalid_parameter_exception('Guest users cannot upload files'); } $context = context_user::instance($USER->id); require_capability('moodle/user:manageownfiles', $context); $maxbytes = $CFG->userquota; $maxareabytes = $CFG->userquota; if (has_capability('moodle/user:ignoreuserquota', $context)) { $maxbytes = USER_CAN_IGNORE_FILE_SIZE_LIMITS; $maxareabytes = FILE_AREA_MAX_BYTES_UNLIMITED; } $options = array('subdirs' => 1, 'maxbytes' => $maxbytes, 'maxfiles' => -1, 'areamaxbytes' => $maxareabytes); file_merge_files_from_draft_area_into_filearea($draftid, $context->id, 'user', 'private', 0, $options); return null; }