/// <summary> /// Validates information supplied to create a new image. /// </summary> /// <param name="model">Create image details.</param> /// <param name="keyPrefix">Validation key prefix.</param> /// <returns>Width and height of image.</returns> public Size?ValidateCreateImage(CreateUploadModel model, string keyPrefix) { // Perform generic upload checks ValidateCreateUpload(model, keyPrefix); // Check that upload is image Size?size = _imageAnalysisService.GetImageDimensions(model.Content); if (size == null) { throw new ValidationErrorException(new ValidationError(UploadPropertyNames.Content, UploadResource.ImageInvalidMessage, keyPrefix)); } // Return dimensions of image return(size); }
public Size ValidatePrepareImages(long tenantId, long masterPageId, CreateUploadModel model, string keyPrefix = null) { // Check that content type identifies an image UploadType uploadType = _uploadService.GetUploadType(model.ContentType); if (uploadType != UploadType.Image) { throw new ValidationErrorException(new ValidationError(HtmlPropertyNames.Image, ElementResource.HtmlImageInvalidMessage, keyPrefix)); } // Check that supplied upload is an image Size?size = _imageAnalysisService.GetImageDimensions(model.Content); if (size == null) { throw new ValidationErrorException(new ValidationError(HtmlPropertyNames.Image, ElementResource.HtmlImageInvalidMessage, keyPrefix)); } // Return result return(size.Value); }
/// <summary> /// Validates avatar upload details before images can be prepared for a user. /// </summary> /// <param name="tenantId">Website that user belongs to.</param> /// <param name="model">Uploaded image.</param> /// <param name="keyPrefix">Validation key prefix.</param> /// <returns>Useful information retrieved during validation.</returns> public AuthenticationValidateResult ValidatePrepareImages(long tenantId, CreateUploadModel model, string keyPrefix = null) { // Check that website allows avatars Web web = _webRepository.Read(tenantId); if (!web.UserHasImage) { throw new ValidationErrorException(new ValidationError(AuthenticationPropertyNames.Image, AuthenticationResource.UpdateUserImageNotAllowedMessage, keyPrefix)); } // Check that content type identifies an image UploadType uploadType = _uploadService.GetUploadType(model.ContentType); if (uploadType != UploadType.Image) { throw new ValidationErrorException(new ValidationError(AuthenticationPropertyNames.Image, AuthenticationResource.UpdateUserImageInvalidMessage, keyPrefix)); } // Check that supplied upload is an image Size?size = _imageAnalysisService.GetImageDimensions(model.Content); if (size == null) { throw new ValidationErrorException(new ValidationError(AuthenticationPropertyNames.Image, AuthenticationResource.UpdateUserImageInvalidMessage, keyPrefix)); } // Check image dimension constraints (minimum width and height) if (size.Value.Width < web.UserImageMinWidth.Value || size.Value.Height < web.UserImageMinHeight.Value) { throw new ValidationErrorException(new ValidationError(AuthenticationPropertyNames.Image, string.Format(AuthenticationResource.UpdateUserImageDimensionsInvalidMessage, web.UserImageMinWidth.Value, web.UserImageMinHeight.Value), keyPrefix)); } // Return result return(new AuthenticationValidateResult { Web = web, Size = size.Value }); }
/// <summary> /// Validates page, master page and file upload details before images can be prepared for a page. /// </summary> /// <param name="tenantId">Website that page belongs to.</param> /// <param name="masterPageId">Master page containing image upload rules.</param> /// <param name="model">Uploaded image.</param> /// <param name="keyPrefix">Validation key prefix.</param> /// <returns>Useful information retrieved during validation.</returns> public ValidatePrepareImagesResult ValidatePrepareImages(long tenantId, long masterPageId, CreateUploadModel model, string keyPrefix = null) { // Check that master page associated with page allows images MasterPage masterPage = _masterPageRepository.Read(tenantId, masterPageId); if (!masterPage.HasImage) { throw new ValidationErrorException(new ValidationError(PagePropertyNames.Image, PageResource.ImageNotAllowedMessage, keyPrefix)); } // Check that content type identifies an image UploadType uploadType = _uploadService.GetUploadType(model.ContentType); if (uploadType != UploadType.Image) { throw new ValidationErrorException(new ValidationError(PagePropertyNames.Image, PageResource.ImageInvalidMessage, keyPrefix)); } // Check that supplied upload is an image Size?size = _imageAnalysisService.GetImageDimensions(model.Content); if (size == null) { throw new ValidationErrorException(new ValidationError(PagePropertyNames.Image, PageResource.ImageInvalidMessage, keyPrefix)); } // Check image dimension constraints (minimum width and height) if (size.Value.Width < masterPage.ImageMinWidth.Value || size.Value.Height < masterPage.ImageMinHeight.Value) { throw new ValidationErrorException(new ValidationError(PagePropertyNames.Image, string.Format(PageResource.ImageDimensionsInvalidMessage, masterPage.ImageMinWidth.Value, masterPage.ImageMinHeight.Value), keyPrefix)); } // Return result return(new ValidatePrepareImagesResult { MasterPage = masterPage, Size = size.Value }); }
public void ValidatePrepareImages(long tenantId, long elementId, CreateUploadModel model, string keyPrefix = null) { // Check that content type identifies an image UploadType uploadType = _uploadService.GetUploadType(model.ContentType); if (uploadType != UploadType.Image) { throw new ValidationErrorException(new ValidationError(CarouselPropertyNames.Image, ElementResource.CarouselImageInvalidMessage, keyPrefix)); } // Check that supplied upload is an image Size?size = _imageAnalysisService.GetImageDimensions(model.Content); if (size == null) { throw new ValidationErrorException(new ValidationError(CarouselPropertyNames.Image, ElementResource.CarouselImageInvalidMessage, keyPrefix)); } // Check image dimension constraints (minimum width and height) if (size.Value.Width < ImageMinWidth || size.Value.Height < ImageMinHeight) { throw new ValidationErrorException(new ValidationError(CarouselPropertyNames.Image, string.Format(ElementResource.CarouselImageDimensionsInvalidMessage, ImageMinWidth, ImageMinHeight), keyPrefix)); } }