/** * @covers ilRoomSharingFileUtils::isImageType */ public function testIsImageType() { self::assertTrue(UTILS::isImageType("image/bmp")); self::assertTrue(UTILS::isImageType("image/x-bmp")); self::assertTrue(UTILS::isImageType("image/x-bitmap")); self::assertTrue(UTILS::isImageType("image/x-xbitmap")); self::assertTrue(UTILS::isImageType("image/x-win-bitmap")); self::assertTrue(UTILS::isImageType("image/x-windows-bmp")); self::assertTrue(UTILS::isImageType("image/x-ms-bmp")); self::assertTrue(UTILS::isImageType("application/bmp")); self::assertTrue(UTILS::isImageType("application/x-bmp")); self::assertTrue(UTILS::isImageType("application/x-win-bitmap")); //Formats for type ".png" self::assertTrue(UTILS::isImageType("image/png")); self::assertTrue(UTILS::isImageType("application/png")); self::assertTrue(UTILS::isImageType("application/x-png")); //Formats for type ".jpg/.jpeg" self::assertTrue(UTILS::isImageType("image/jpeg")); self::assertTrue(UTILS::isImageType("image/jpg")); self::assertTrue(UTILS::isImageType("image/jp_")); self::assertTrue(UTILS::isImageType("application/jpg")); self::assertTrue(UTILS::isImageType("application/x-jpg")); self::assertTrue(UTILS::isImageType("image/pjpeg")); self::assertTrue(UTILS::isImageType("image/pipeg")); self::assertTrue(UTILS::isImageType("image/vnd.swiftview-jpeg")); self::assertTrue(UTILS::isImageType("image/x-xbitmap")); //Formats for type ".gif" self::assertTrue(UTILS::isImageType("image/gif")); self::assertTrue(UTILS::isImageType("image/x-xbitmap")); self::assertTrue(UTILS::isImageType("image/gi_")); // Negative cases self::assertFalse(UTILS::isImageType("file/pdf")); self::assertFalse(UTILS::isImageType("")); self::assertFalse(UTILS::isImageType(12)); self::assertFalse(UTILS::isImageType(NULL)); self::assertFalse(UTILS::isImageType(1)); }
/** * Returns true if the given mime type is allowed for the room agreement file. * * @param string $a_mimeType * * @return boolean */ private function isAllowedFileType($a_mimeType) { $isImage = ilRoomSharingFileUtils::isImageType($a_mimeType); $isPDF = ilRoomSharingFileUtils::isPDFType($a_mimeType); $isTXT = ilRoomSharingFileUtils::isTXTType($a_mimeType); return $isImage || $isPDF || $isTXT; }
/** * Creates a new floor plan by using the ILIAS MediaObject Service * and leaves a database entry. * * @param string $a_title the title of the floor plan * @param string $a_desc the floor plan description * @param array $a_newfile an array containing the input values of the form * * @return boolean success or failure */ public function addFloorPlan($a_title, $a_desc, $a_newfile) { if (!$this->permission->checkPrivilege(PRIVC::ADD_FLOORPLANS)) { ilUtil::sendFailure($this->lng->txt("rep_robj_xrs_no_permission_for_action"), true); $this->ctrl->redirectByClass('ilinfoscreengui', 'showSummary', 'showSummary'); return false; } if ($this->isTitleAlreadyTaken($a_title)) { throw new ilRoomSharingFloorplanException("rep_robj_xrs_floor_plan_title_is_already_taken"); } $mediaObj = $this->createMediaObject($a_title, $a_desc, NULL); $fileinfo = $this->configureFile($mediaObj, $a_newfile); if (!ilRoomSharingFileUtils::isImageType($fileinfo["format"])) { throw new ilRoomSharingFloorplanException("rep_robj_xrs_floor_plans_upload_error"); } if (!ilRoomSharingNumericUtils::isPositiveNumber($a_newfile['size'])) { throw new ilRoomSharingFloorplanException("rep_robj_xrs_floor_plans_upload_error"); } $this->updateMediaObject($mediaObj, $fileinfo); $this->fileToDatabase($mediaObj->getId()); }