mirror of
https://github.com/typemill/typemill.git
synced 2025-07-31 19:30:40 +02:00
Add svg support
This commit is contained in:
@@ -22,6 +22,19 @@ class ProcessImage extends ProcessAssets
|
||||
$imageData = $imageDecoded["image"];
|
||||
$imageType = $imageDecoded["type"];
|
||||
|
||||
if($imageType == 'svg+xml')
|
||||
{
|
||||
# store the original name as txt-file
|
||||
$tmpname = fopen($this->tmpFolder . $this->getName() . ".svg.txt", "w");
|
||||
|
||||
# store the same svg file for original, live and thumb.
|
||||
$this->saveOriginal($this->tmpFolder, $imageData, $name = 'original', 'svg');
|
||||
$this->saveOriginal($this->tmpFolder, $imageData, $name = 'live', 'svg');
|
||||
$this->saveOriginal($this->tmpFolder, $imageData, $name = 'thumbs', 'svg');
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
$this->setExtension($imageType);
|
||||
|
||||
# transform image-stream into image
|
||||
@@ -325,17 +338,34 @@ class ProcessImage extends ProcessAssets
|
||||
{
|
||||
$imageinfo = getimagesize($this->liveFolder . $name);
|
||||
|
||||
$imagedetails = [
|
||||
'name' => $name,
|
||||
'timestamp' => filemtime($this->liveFolder . $name),
|
||||
'bytes' => filesize($this->liveFolder . $name),
|
||||
'width' => $imageinfo[0],
|
||||
'height' => $imageinfo[1],
|
||||
'type' => $imageinfo['mime'],
|
||||
'src_thumb' => 'media/thumbs/' . $name,
|
||||
'src_live' => 'media/live/' . $name,
|
||||
'pages' => $this->findPagesWithUrl($structure, $name, $result = [])
|
||||
];
|
||||
if(!$imageinfo && pathinfo($this->liveFolder . $name, PATHINFO_EXTENSION) == 'svg')
|
||||
{
|
||||
$imagedetails = [
|
||||
'name' => $name,
|
||||
'timestamp' => filemtime($this->liveFolder . $name),
|
||||
'bytes' => filesize($this->liveFolder . $name),
|
||||
'width' => '---',
|
||||
'height' => '---',
|
||||
'type' => 'svg',
|
||||
'src_thumb' => 'media/thumbs/' . $name,
|
||||
'src_live' => 'media/live/' . $name,
|
||||
'pages' => $this->findPagesWithUrl($structure, $name, $result = [])
|
||||
];
|
||||
}
|
||||
else
|
||||
{
|
||||
$imagedetails = [
|
||||
'name' => $name,
|
||||
'timestamp' => filemtime($this->liveFolder . $name),
|
||||
'bytes' => filesize($this->liveFolder . $name),
|
||||
'width' => $imageinfo[0],
|
||||
'height' => $imageinfo[1],
|
||||
'type' => $imageinfo['mime'],
|
||||
'src_thumb' => 'media/thumbs/' . $name,
|
||||
'src_live' => 'media/live/' . $name,
|
||||
'pages' => $this->findPagesWithUrl($structure, $name, $result = [])
|
||||
];
|
||||
}
|
||||
|
||||
return $imagedetails;
|
||||
}
|
||||
|
@@ -29,12 +29,12 @@ class Validation
|
||||
|
||||
Validator::addRule('image_types', function($field, $value, array $params, array $fields) use ($user)
|
||||
{
|
||||
$allowed = ['jpg', 'jpeg', 'png', 'webp'];
|
||||
$allowed = ['jpg', 'jpeg', 'png', 'webp', 'svg'];
|
||||
$pathinfo = pathinfo($value);
|
||||
$extension = strtolower($pathinfo['extension']);
|
||||
if(in_array($extension, $allowed)){ return true; }
|
||||
return false;
|
||||
}, 'only jpg, jpeg, png, webp, allowed');
|
||||
}, 'only jpg, jpeg, png, webp, svg allowed');
|
||||
|
||||
# checks if email is available if user is created
|
||||
Validator::addRule('emailAvailable', function($field, $value, array $params, array $fields) use ($user)
|
||||
|
Reference in New Issue
Block a user