mirror of
https://github.com/openclassify/openclassify.git
synced 2026-01-11 18:01:10 -06:00
#3002 maabir pdf.rar geliştirme talebi
This commit is contained in:
parent
4c81790ab5
commit
ec008183d8
@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
use Anomaly\Streams\Platform\Database\Migration\Migration;
|
||||
|
||||
class VisiosoftModuleAdvsAddDocFilesField extends Migration
|
||||
{
|
||||
protected $delete = false;
|
||||
|
||||
protected $stream = [
|
||||
'slug' => 'advs',
|
||||
];
|
||||
|
||||
protected $fields = [
|
||||
'doc_files' => [
|
||||
'type' => 'visiosoft.field_type.media',
|
||||
'config' => [
|
||||
'folders' => ["ads_documents"],
|
||||
'mode' => 'upload',
|
||||
],
|
||||
],
|
||||
];
|
||||
|
||||
protected $assignments = [
|
||||
'doc_files'
|
||||
];
|
||||
}
|
||||
@ -319,6 +319,7 @@ return [
|
||||
'congratulations' => 'Congratulations',
|
||||
'ad_desc' => 'Ad Description',
|
||||
'upload_photos' => 'Upload Photos',
|
||||
'upload_files' => 'Upload Files',
|
||||
'additional_fields' => 'Additional Fields',
|
||||
'ad_location' => 'Ad Location',
|
||||
|
||||
|
||||
@ -36,6 +36,12 @@
|
||||
</div>
|
||||
<!--detail-ad -->
|
||||
|
||||
<ul class="docs list-unstyled">
|
||||
{% for doc in adv.doc_files %}
|
||||
<li><a class="text-dark small" href="{{ doc.url }}"><i class="fa fa-lg fa-download small"></i> {{ doc.name }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
{% if setting_value('visiosoft.theme.base::ad_details_tab') %}
|
||||
|
||||
{% if blocks('ad-item-content-block-area') is null %}
|
||||
|
||||
@ -178,6 +178,7 @@
|
||||
<div class="row form-group images">
|
||||
<div class="col-md-12">
|
||||
{{ form.fields.files.input |raw }}
|
||||
<input name="doc_files" value="{{ form.fields.doc_files.value.pluck('id').all()|join(',') }}" >
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -53,7 +53,8 @@ class AdvFormBuilder extends FormBuilder
|
||||
'class' => 'hidden d-none mapVal'
|
||||
],
|
||||
'files',
|
||||
'popular_adv',
|
||||
'doc_files',
|
||||
'popular_adv',
|
||||
'adv_day',
|
||||
'product_options_value'
|
||||
];
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
<?php namespace Visiosoft\AdvsModule\Http\Controller;
|
||||
|
||||
use Anomaly\FilesModule\File\Contract\FileRepositoryInterface;
|
||||
use Anomaly\SettingsModule\Setting\Contract\SettingRepositoryInterface;
|
||||
use Anomaly\Streams\Platform\Http\Controller\PublicController;
|
||||
use Anomaly\Streams\Platform\Message\MessageBag;
|
||||
|
||||
@ -3,6 +3,7 @@ Dropzone.autoDiscover = false;
|
||||
$("div#myDrop").dropzone({url: "/file/post"});
|
||||
|
||||
var uploaded = $('input[name="files"]').val().split(',').map(Number);
|
||||
var docsUploaded = $('input[name="doc_files"]').val().split(',').map(Number);
|
||||
|
||||
$(function () {
|
||||
|
||||
@ -67,23 +68,28 @@ $(function () {
|
||||
dropzone.on('success', function (file) {
|
||||
|
||||
var response = JSON.parse(file.xhr.response);
|
||||
var mimeType = response.mime_type.split('/')
|
||||
if (mimeType[0] === 'image'){
|
||||
uploaded.push(response.id);
|
||||
|
||||
uploaded.push(response.id);
|
||||
$('.media-selected-wrapper').load(
|
||||
REQUEST_ROOT_PATH + '/streams/media-field_type/selected?uploaded=' + uploaded.join(','),
|
||||
function () {
|
||||
$('input[name="files"]').val(uploaded.join(','))
|
||||
}
|
||||
);
|
||||
|
||||
$('.media-selected-wrapper').load(
|
||||
REQUEST_ROOT_PATH + '/streams/media-field_type/selected?uploaded=' + uploaded.join(','),
|
||||
function () {
|
||||
$('input[name="files"]').val(uploaded.join(','))
|
||||
}
|
||||
);
|
||||
file.previewElement.querySelector('[data-dz-uploadprogress]').setAttribute('class', 'progress progress-success');
|
||||
|
||||
file.previewElement.querySelector('[data-dz-uploadprogress]').setAttribute('class', 'progress progress-success');
|
||||
setTimeout(function () {
|
||||
|
||||
setTimeout(function () {
|
||||
|
||||
addAppendByData(uploaded[0])
|
||||
file.previewElement.remove();
|
||||
}, 500);
|
||||
addAppendByData(uploaded[0])
|
||||
file.previewElement.remove();
|
||||
}, 500);
|
||||
} else {
|
||||
docsUploaded.push(response.id);
|
||||
$('input[name="doc_files"]').val(docsUploaded.join(','))
|
||||
}
|
||||
});
|
||||
|
||||
// When file fails to upload.
|
||||
|
||||
@ -50,94 +50,104 @@ class UploadController extends AdminController
|
||||
|
||||
public function upload()
|
||||
{
|
||||
$file = $this->uploader->upload($this->request->file('upload'), $this->folders->find($this->request->get('folder')));
|
||||
$doc_folder = app(FolderRepositoryInterface::class)->findBySlug('ads_documents')->id;
|
||||
$mimes = explode('/', $this->request->file('upload')->getMimeType());
|
||||
|
||||
if ($mimes[0] == 'image'){
|
||||
$file = $this->uploader->upload($this->request->file('upload'), $this->folders->find($this->request->get('folder')));
|
||||
} else {
|
||||
$file = $this->uploader->upload($this->request->file('upload'), $this->folders->find($doc_folder));
|
||||
}
|
||||
|
||||
if ($file) {
|
||||
if ($mimes[0] == 'image'){
|
||||
|
||||
$settings_key = [
|
||||
'image_resize_backend',
|
||||
'full_image_width',
|
||||
'full_image_height',
|
||||
'medium_image_width',
|
||||
'medium_image_height',
|
||||
'thumbnail_width',
|
||||
'thumbnail_height',
|
||||
'add_canvas',
|
||||
'image_canvas_width',
|
||||
'image_canvas_height',
|
||||
'watermark_type',
|
||||
'watermark_text',
|
||||
'watermark_image',
|
||||
'watermark_position'
|
||||
];
|
||||
$settings_key = [
|
||||
'image_resize_backend',
|
||||
'full_image_width',
|
||||
'full_image_height',
|
||||
'medium_image_width',
|
||||
'medium_image_height',
|
||||
'thumbnail_width',
|
||||
'thumbnail_height',
|
||||
'add_canvas',
|
||||
'image_canvas_width',
|
||||
'image_canvas_height',
|
||||
'watermark_type',
|
||||
'watermark_text',
|
||||
'watermark_image',
|
||||
'watermark_position'
|
||||
];
|
||||
|
||||
$settings_value = array();
|
||||
$settings_value = array();
|
||||
|
||||
foreach ($settings_key as $key) {
|
||||
$settings_value[$key] = setting_value('visiosoft.module.advs::' . $key);
|
||||
}
|
||||
foreach ($settings_key as $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']) {
|
||||
$fullImg = $fullImg->resize(null, $settings_value['full_image_height'],
|
||||
function ($constraint) {
|
||||
$constraint->aspectRatio();
|
||||
});
|
||||
}
|
||||
if ($settings_value['image_resize_backend']) {
|
||||
$fullImg = $fullImg->resize(null, $settings_value['full_image_height'],
|
||||
function ($constraint) {
|
||||
$constraint->aspectRatio();
|
||||
});
|
||||
}
|
||||
|
||||
$mdImg = WaterMark::make($this->request->file('upload')->getRealPath())
|
||||
->resize(null, $settings_value['medium_image_height'], function ($constraint) {
|
||||
$constraint->aspectRatio();
|
||||
});
|
||||
$mdImg = WaterMark::make($this->request->file('upload')->getRealPath())
|
||||
->resize(null, $settings_value['medium_image_height'], function ($constraint) {
|
||||
$constraint->aspectRatio();
|
||||
});
|
||||
|
||||
|
||||
if ($settings_value['add_canvas']) {
|
||||
if ($settings_value['add_canvas']) {
|
||||
|
||||
$fullImg->resizeCanvas(
|
||||
$settings_value['image_canvas_width'], $settings_value['image_canvas_height'],
|
||||
'center', false, 'fff'
|
||||
);
|
||||
$fullImg->resizeCanvas(
|
||||
$settings_value['image_canvas_width'], $settings_value['image_canvas_height'],
|
||||
'center', false, 'fff'
|
||||
);
|
||||
|
||||
$mdImg->resizeCanvas(
|
||||
$settings_value['medium_image_width'], $settings_value['medium_image_height'],
|
||||
'center', false, 'fff'
|
||||
);
|
||||
}
|
||||
$mdImg->resizeCanvas(
|
||||
$settings_value['medium_image_width'], $settings_value['medium_image_height'],
|
||||
'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'])) {
|
||||
$watermark = WaterMark::make(app_storage_path() . '/files-module/local/' . $watermarkimage->path());
|
||||
$image->insert($watermark, $settings_value['watermark_position']);
|
||||
}
|
||||
if ($watermarkimage = $this->files->find($settings_value['watermark_image'])) {
|
||||
$watermark = WaterMark::make(app_storage_path() . '/files-module/local/' . $watermarkimage->path());
|
||||
$image->insert($watermark, $settings_value['watermark_position']);
|
||||
}
|
||||
|
||||
} else {
|
||||
$v = "top";
|
||||
$h = "center";
|
||||
$w = $image->width() / 2;
|
||||
$h1 = $image->height() / 2;
|
||||
$font_size = $w / 20;
|
||||
$image->text($settings_value['watermark_text'], $w, $h1, function ($font) use ($v, $h, $font_size) {
|
||||
$font->file(public_path('Antonio-Bold.ttf'));
|
||||
$font->size($font_size);
|
||||
$font->align($h);
|
||||
$font->valign($v);
|
||||
});
|
||||
}
|
||||
if ($key === "full") {
|
||||
$fileName = $file->getAttributes()['name'];
|
||||
} else {
|
||||
$fileName = 'md-' . $file->getAttributes()['name'];
|
||||
} else {
|
||||
$v = "top";
|
||||
$h = "center";
|
||||
$w = $image->width() / 2;
|
||||
$h1 = $image->height() / 2;
|
||||
$font_size = $w / 20;
|
||||
$image->text($settings_value['watermark_text'], $w, $h1, function ($font) use ($v, $h, $font_size) {
|
||||
$font->file(public_path('Antonio-Bold.ttf'));
|
||||
$font->size($font_size);
|
||||
$font->align($h);
|
||||
$font->valign($v);
|
||||
});
|
||||
}
|
||||
if ($key === "full") {
|
||||
$fileName = $file->getAttributes()['name'];
|
||||
} else {
|
||||
$fileName = 'md-' . $file->getAttributes()['name'];
|
||||
|
||||
$this->createFile($this->request->get('folder'),$fileName,$image);
|
||||
}
|
||||
$image->save(app_storage_path() . '/files-module/local/images/' . $fileName);
|
||||
}
|
||||
$this->createFile($this->request->get('folder'),$fileName,$image);
|
||||
}
|
||||
$image->save(app_storage_path() . '/files-module/local/images/' . $fileName);
|
||||
}
|
||||
}
|
||||
return $this->response->json($file->getAttributes());
|
||||
}
|
||||
|
||||
@ -173,15 +183,15 @@ class UploadController extends AdminController
|
||||
return response()->json(['status' => 'error']);
|
||||
}
|
||||
|
||||
public function createFile($folder, $filename, $image)
|
||||
{
|
||||
$this->files->create([
|
||||
'folder_id' => $folder,
|
||||
'name' => $filename,
|
||||
'disk_id' => 1,
|
||||
'size' => $image->filesize(),
|
||||
'mime_type' => $image->mime,
|
||||
'extension' => $image->extension,
|
||||
]);
|
||||
}
|
||||
public function createFile($folder, $filename, $image = null)
|
||||
{
|
||||
$this->files->create([
|
||||
'folder_id' => $folder,
|
||||
'name' => $filename,
|
||||
'disk_id' => 1,
|
||||
'size' => $image->filesize(),
|
||||
'mime_type' => $image->mime,
|
||||
'extension' => $image->extension,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@ -174,5 +174,23 @@ class DatabaseSeeder extends Seeder
|
||||
],
|
||||
]);
|
||||
};
|
||||
|
||||
|
||||
//Create Ads Documents Folder
|
||||
if (!$this->folders->findBySlug('ads_documents')) {
|
||||
$disk = $this->disks->findBySlug('local');
|
||||
|
||||
$this->folders->create([
|
||||
'en' => [
|
||||
'name' => 'Ads Documents',
|
||||
'description' => 'A folder for Ads Documents.',
|
||||
],
|
||||
'slug' => 'ads_documents',
|
||||
'disk' => $disk,
|
||||
'allowed_types' => [
|
||||
'pdf', 'doc', 'docx', 'xls', 'xlsx',
|
||||
],
|
||||
]);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user