fixed media field

This commit is contained in:
vedatakd 2021-01-09 12:58:16 +03:00
parent 853f629ffb
commit 76b515a1b3
3 changed files with 92 additions and 89 deletions

View File

@ -10,4 +10,5 @@ return [
'uploading' => 'Uploading', 'uploading' => 'Uploading',
'loading' => 'Loading', 'loading' => 'Loading',
'error_upload' => 'There was a problem uploading the file.', 'error_upload' => 'There was a problem uploading the file.',
'error_upload_docs' => 'There is no document upload support. Please contact your system administrator!',
]; ];

View File

@ -10,4 +10,5 @@ return [
'uploading' => 'Yükleme', 'uploading' => 'Yükleme',
'loading' => 'Yükleniyor', 'loading' => 'Yükleniyor',
'error_upload' => 'Dosyayı yüklerken bir sorun oluştu.', 'error_upload' => 'Dosyayı yüklerken bir sorun oluştu.',
'error_upload_docs' => 'Döküman yükleme desteği bulunmamaktadır.Lütfen sistem yöneticiniz ile iletişim kurunuz!',
]; ];

View File

@ -50,104 +50,105 @@ class UploadController extends AdminController
public function upload() public function upload()
{ {
$doc_folder = app(FolderRepositoryInterface::class)->findBySlug('ads_documents')->id; $mimes = explode('/', $this->request->file('upload')->getMimeType());
$mimes = explode('/', $this->request->file('upload')->getMimeType());
if ($mimes[0] == 'image'){ if ($mimes[0] == 'image') {
$file = $this->uploader->upload($this->request->file('upload'), $this->folders->find($this->request->get('folder'))); $file = $this->uploader->upload($this->request->file('upload'), $this->folders->find($this->request->get('folder')));
} else { } else if ($doc_folder = app(FolderRepositoryInterface::class)->findBySlug('ads_documentsssssss')) {
$file = $this->uploader->upload($this->request->file('upload'), $this->folders->find($doc_folder)); $file = $this->uploader->upload($this->request->file('upload'), $doc_folder);
} } else {
return $this->response->json(['error' => trans('visiosoft.field_type.media::message.error_upload_docs')], 500);
}
if ($file) { if ($file) {
if ($mimes[0] == 'image'){ if ($mimes[0] == 'image') {
$settings_key = [ $settings_key = [
'image_resize_backend', 'image_resize_backend',
'full_image_width', 'full_image_width',
'full_image_height', 'full_image_height',
'medium_image_width', 'medium_image_width',
'medium_image_height', 'medium_image_height',
'thumbnail_width', 'thumbnail_width',
'thumbnail_height', 'thumbnail_height',
'add_canvas', 'add_canvas',
'image_canvas_width', 'image_canvas_width',
'image_canvas_height', 'image_canvas_height',
'watermark_type', 'watermark_type',
'watermark_text', 'watermark_text',
'watermark_image', 'watermark_image',
'watermark_position' 'watermark_position'
]; ];
$settings_value = array(); $settings_value = array();
foreach ($settings_key as $key) { foreach ($settings_key as $key) {
$settings_value[$key] = setting_value('visiosoft.module.advs::' . $key); $settings_value[$key] = setting_value('visiosoft.module.advs::' . $key);
} }
$fullImg = WaterMark::make($this->request->file('upload')->getRealPath()); $fullImg = WaterMark::make($this->request->file('upload')->getRealPath());
if ($settings_value['image_resize_backend']) { if ($settings_value['image_resize_backend']) {
$fullImg = $fullImg->resize(null, $settings_value['full_image_height'], $fullImg = $fullImg->resize(null, $settings_value['full_image_height'],
function ($constraint) { function ($constraint) {
$constraint->aspectRatio(); $constraint->aspectRatio();
}); });
} }
$mdImg = WaterMark::make($this->request->file('upload')->getRealPath()) $mdImg = WaterMark::make($this->request->file('upload')->getRealPath())
->resize(null, $settings_value['medium_image_height'], function ($constraint) { ->resize(null, $settings_value['medium_image_height'], function ($constraint) {
$constraint->aspectRatio(); $constraint->aspectRatio();
}); });
if ($settings_value['add_canvas']) { if ($settings_value['add_canvas']) {
$fullImg->resizeCanvas( $fullImg->resizeCanvas(
$settings_value['image_canvas_width'], $settings_value['image_canvas_height'], $settings_value['image_canvas_width'], $settings_value['image_canvas_height'],
'center', false, 'fff' 'center', false, 'fff'
); );
$mdImg->resizeCanvas( $mdImg->resizeCanvas(
$settings_value['medium_image_width'], $settings_value['medium_image_height'], $settings_value['medium_image_width'], $settings_value['medium_image_height'],
'center', false, 'fff' 'center', false, 'fff'
); );
} }
$image_types = array('full' => $fullImg, 'medium' => $mdImg); $image_types = array('full' => $fullImg, 'medium' => $mdImg);
foreach ($image_types as $key => $image) { foreach ($image_types as $key => $image) {
if ($settings_value['watermark_type'] == 'image') { if ($settings_value['watermark_type'] == 'image') {
if ($watermarkimage = $this->files->find($settings_value['watermark_image'])) { if ($watermarkimage = $this->files->find($settings_value['watermark_image'])) {
$watermark = WaterMark::make(app_storage_path() . '/files-module/local/' . $watermarkimage->path()); $watermark = WaterMark::make(app_storage_path() . '/files-module/local/' . $watermarkimage->path());
$image->insert($watermark, $settings_value['watermark_position']); $image->insert($watermark, $settings_value['watermark_position']);
} }
} else { } else {
$v = "top"; $v = "top";
$h = "center"; $h = "center";
$w = $image->width() / 2; $w = $image->width() / 2;
$h1 = $image->height() / 2; $h1 = $image->height() / 2;
$font_size = $w / 20; $font_size = $w / 20;
$image->text($settings_value['watermark_text'], $w, $h1, function ($font) use ($v, $h, $font_size) { $image->text($settings_value['watermark_text'], $w, $h1, function ($font) use ($v, $h, $font_size) {
$font->file(public_path('Antonio-Bold.ttf')); $font->file(public_path('Antonio-Bold.ttf'));
$font->size($font_size); $font->size($font_size);
$font->align($h); $font->align($h);
$font->valign($v); $font->valign($v);
}); });
} }
if ($key === "full") { if ($key === "full") {
$fileName = $file->getAttributes()['name']; $fileName = $file->getAttributes()['name'];
} else { } else {
$fileName = 'md-' . $file->getAttributes()['name']; $fileName = 'md-' . $file->getAttributes()['name'];
$this->createFile($this->request->get('folder'),$fileName,$image); $this->createFile($this->request->get('folder'), $fileName, $image);
} }
$image->save(app_storage_path() . '/files-module/local/images/' . $fileName); $image->save(app_storage_path() . '/files-module/local/images/' . $fileName);
} }
} }
return $this->response->json($file->getAttributes()); return $this->response->json($file->getAttributes());
} }
@ -183,15 +184,15 @@ class UploadController extends AdminController
return response()->json(['status' => 'error']); return response()->json(['status' => 'error']);
} }
public function createFile($folder, $filename, $image = null) public function createFile($folder, $filename, $image = null)
{ {
$this->files->create([ $this->files->create([
'folder_id' => $folder, 'folder_id' => $folder,
'name' => $filename, 'name' => $filename,
'disk_id' => 1, 'disk_id' => 1,
'size' => $image->filesize(), 'size' => $image->filesize(),
'mime_type' => $image->mime, 'mime_type' => $image->mime,
'extension' => $image->extension, 'extension' => $image->extension,
]); ]);
} }
} }