/** * Test add_user_private_files */ public function test_add_user_private_files() { global $USER, $CFG, $DB; $this->resetAfterTest(true); $context = context_system::instance(); $roleid = $this->assignUserCapability('moodle/user:manageownfiles', $context->id); $context = context_user::instance($USER->id); $contextid = $context->id; $component = "user"; $filearea = "draft"; $itemid = 0; $filepath = "/"; $filename = "Simple.txt"; $filecontent = base64_encode("Let us create a nice simple file"); $contextlevel = null; $instanceid = null; $browser = get_file_browser(); // Call the files api to create a file. $draftfile = core_files_external::upload($contextid, $component, $filearea, $itemid, $filepath, $filename, $filecontent, $contextlevel, $instanceid); $draftid = $draftfile['itemid']; // Make sure the file was created. $file = $browser->get_file_info($context, $component, $filearea, $draftid, $filepath, $filename); $this->assertNotEmpty($file); // Make sure the file does not exist in the user private files. $file = $browser->get_file_info($context, $component, 'private', 0, $filepath, $filename); $this->assertEmpty($file); // Call the external function. core_user_external::add_user_private_files($draftid); // Make sure the file was added to the user private files. $file = $browser->get_file_info($context, $component, 'private', 0, $filepath, $filename); $this->assertNotEmpty($file); }
public function test_upload_param_area() { global $USER; $this->resetAfterTest(); $this->setAdminUser(); $context = context_user::instance($USER->id); $contextid = $context->id; $component = "user"; $filearea = "draft"; $itemid = 0; $filepath = "/"; $filename = "Simple4.txt"; $filecontent = base64_encode("Let us create a nice simple file"); // Make sure exception is thrown. $this->setExpectedException("coding_exception"); core_files_external::upload($contextid, $component, $filearea, $itemid, $filepath, $filename, $filecontent); }
public function test_upload_without_new_param() { global $USER; $this->resetAfterTest(); $this->setAdminUser(); $context = context_user::instance($USER->id); $contextid = $context->id; $component = "user"; $filearea = "private"; $itemid = 0; $filepath = "/"; $filename = "Simple4.txt"; $filecontent = base64_encode("Let us create a nice simple file"); $fileinfo = @core_files_external::upload($contextid, $component, $filearea, $itemid, $filepath, $filename, $filecontent); $fileinfo = external_api::clean_returnvalue(core_files_external::upload_returns(), $fileinfo); // Assert debugging called (deprecation warning). $this->assertDebuggingCalled(); // Make sure the file is created. $browser = get_file_browser(); $file = $browser->get_file_info($context, $component, $filearea, $itemid, $filepath, $filename); $this->assertNotEmpty($file); }
/** * Uploading a file to moodle * * @param int $contextid * @param string $component * @param string $filearea * @param int $itemid * @param string $filepath * @param string $filename * @param string $filecontent * @return array * @since Moodle 2.0 * @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more. * @see core_files_external::upload() */ public static function upload($contextid, $component, $filearea, $itemid, $filepath, $filename, $filecontent) { return core_files_external::upload($contextid, $component, $filearea, $itemid, $filepath, $filename, $filecontent); }
/** * Test update_picture */ public function test_update_picture() { global $DB, $USER; $this->resetAfterTest(true); $user = self::getDataGenerator()->create_user(); self::setUser($user); $context = context_user::instance($USER->id); $contextid = $context->id; $filename = "reddot.png"; $filecontent = "iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38" . "GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=="; // Call the files api to create a file. $draftfile = core_files_external::upload($contextid, 'user', 'draft', 0, '/', $filename, $filecontent, null, null); $draftid = $draftfile['itemid']; // Change user profile image. $result = core_user_external::update_picture($draftid); $result = external_api::clean_returnvalue(core_user_external::update_picture_returns(), $result); $picture = $DB->get_field('user', 'picture', array('id' => $user->id)); // The new revision is in the url for the user. $this->assertContains($picture, $result['profileimageurl']); // Check expected URL for serving the image. $this->assertContains("/{$contextid}/user/icon", $result['profileimageurl']); // Delete image. $result = core_user_external::update_picture(0, true); $result = external_api::clean_returnvalue(core_user_external::update_picture_returns(), $result); $picture = $DB->get_field('user', 'picture', array('id' => $user->id)); // No picture. $this->assertEquals(0, $picture); // Add again the user profile image (as admin). $this->setAdminUser(); $context = context_user::instance($USER->id); $admincontextid = $context->id; $draftfile = core_files_external::upload($admincontextid, 'user', 'draft', 0, '/', $filename, $filecontent, null, null); $draftid = $draftfile['itemid']; $result = core_user_external::update_picture($draftid, false, $user->id); $result = external_api::clean_returnvalue(core_user_external::update_picture_returns(), $result); // The new revision is in the url for the user. $picture = $DB->get_field('user', 'picture', array('id' => $user->id)); $this->assertContains($picture, $result['profileimageurl']); $this->assertContains("/{$contextid}/user/icon", $result['profileimageurl']); }
public function test_upload_param_area() { global $USER; $this->resetAfterTest(); $this->setAdminUser(); $context = context_user::instance($USER->id); $contextid = $context->id; $component = "user"; $filearea = "draft"; $itemid = file_get_unused_draft_itemid(); $filepath = "/"; $filename = "Simple4.txt"; $filecontent = base64_encode("Let us create a nice simple file"); $contextlevel = null; $instanceid = null; // Make sure the file is created. $fileinfo = @core_files_external::upload($contextid, $component, $filearea, $itemid, $filepath, $filename, $filecontent); $fileinfo = external_api::clean_returnvalue(core_files_external::upload_returns(), $fileinfo); $browser = get_file_browser(); $file = $browser->get_file_info($context, $component, $filearea, $itemid, $filepath, $filename); $this->assertNotEmpty($file); }