[Fixed: issue #2329 has been resolved.]

This commit is contained in:
Vivek Sharma 2020-02-07 18:57:46 +05:30
parent e78e61d989
commit ceccbf9db2
5 changed files with 141 additions and 58 deletions

View File

@ -2,15 +2,15 @@
namespace Webkul\Velocity\Http\Controllers\Admin;
use DB;
use Illuminate\Support\Facades\Storage;
use Webkul\Velocity\Repositories\MetadataRepository;
use Illuminate\Support\Str;
use Webkul\Velocity\Repositories\VelocityMetadataRepository;
/**
* Category Controller
*
* @author Shubham Mehrotra <shubhammehrotra.symfony@webkul.com> @shubhwebkul
* @author Vivek Sharma <viveksh047@webkul.com> @vivek-webkul
* @copyright 2019 Webkul Software Pvt Ltd (http://www.webkul.com)
*/
@ -33,14 +33,17 @@ class ConfigurationController extends Controller
VelocityMetadataRepository $velocityMetadataRepository
) {
$this->_config = request('_config');
$this->velocityHelper = app('Webkul\Velocity\Helpers\Helper');
$this->velocityMetaDataRepository = $velocityMetadataRepository;
}
public function renderMetaData()
{
$velocityHelper = app('Webkul\Velocity\Helpers\Helper');
$velocityMetaData = $velocityHelper->getVelocityMetaData();
$velocityMetaData = $this->velocityHelper->getVelocityMetaData();
$velocityMetaData->advertisement = $this->manageAddImages(json_decode($velocityMetaData->advertisement, true));
return view($this->_config['view'], [
'metaData' => $velocityMetaData
@ -60,11 +63,15 @@ class ConfigurationController extends Controller
];
}
$velocityMetaData = $this->velocityMetaDataRepository->findorFail($id);
$advertisement = json_decode($velocityMetaData->advertisement, true);
$params['advertisement'] = [];
foreach ($params['images'] as $index => $advertisement) {
if ($advertisement['image_1'] !== "") {
$params['advertisement'][$index] = $this->uploadAdvertisementImages($advertisement, $index);
if ( isset($params['images'])) {
foreach ($params['images'] as $index => $images) {
$params['advertisement'][$index] = $this->uploadAdvertisementImages($images, $index, $advertisement);
}
}
@ -92,24 +99,42 @@ class ConfigurationController extends Controller
return redirect()->route($this->_config['redirect']);
}
public function uploadAdvertisementImages($data, $index)
public function uploadAdvertisementImages($data, $index, $advertisement)
{
$type = 'images';
$request = request();
$save_image = [];
$advertisement = [];
foreach ($data as $imageId => $image) {
$file = $type . '.' . $index . '.' . $imageId;
$dir = "velocity/$type";
$file = 'images.' . $index . '.' . $imageId;
$dir = 'velocity/images';
if ($request->hasFile($file)) {
Storage::delete($dir . $file);
if (Str::contains($imageId, 'image_')) {
if (request()->hasFile($file) && $image) {
Storage::delete($dir . $file);
$advertisement[$imageId] = $request->file($file)->store($dir);
$save_image[substr($imageId, 6, 1)] = request()->file($file)->store($dir);
}
} else {
if ( isset($advertisement[$index][$imageId]) && $advertisement[$index][$imageId]) {
$save_image[$imageId] = $advertisement[$index][$imageId];
unset($advertisement[$index][$imageId]);
}
if (request()->hasFile($file) && isset($advertisement[$index][$imageId])) {
Storage::delete($advertisement[$index][$imageId]);
$save_image[$imageId] = request()->file($file)->store($dir);
}
}
}
return $advertisement;
if ( isset($advertisement[$index]) && $advertisement[$index]) {
foreach ($advertisement[$index] as $imageId) {
Storage::delete($imageId);
$save_image[$imageId] = '';
}
}
return $save_image;
}
public function uploadImage($data, $index)
@ -129,4 +154,23 @@ class ConfigurationController extends Controller
return $image;
}
public function manageAddImages($add_images)
{
$images_path = [];
foreach ($add_images as $add_id => $images) {
foreach ($images as $key => $image) {
if ( $image ) {
$images_path[$add_id][] = [
'id' => $key,
'type' => null,
'path' => $image,
'url' => Storage::url($image)
];
}
}
}
return $images_path;
}
}

View File

@ -106,28 +106,48 @@
<div class="control-group">
<label>{{ __('velocity::app.admin.meta-data.advertisement-four') }}</label>
<image-wrapper
:button-label="'{{ __('admin::app.catalog.products.add-image-btn-title') }}'"
input-name="images[4]">
</image-wrapper>
@if(! isset($metaData->advertisement[4]))
<image-wrapper
:button-label="'{{ __('admin::app.catalog.products.add-image-btn-title') }}'"
input-name="images[4]">
</image-wrapper>
@else
<image-wrapper
:button-label="'{{ __('admin::app.catalog.products.add-image-btn-title') }}'"
input-name="images[4]" :images='@json($metaData->advertisement[4])'>
</image-wrapper>
@endif
</div>
<div class="control-group">
<label>{{ __('velocity::app.admin.meta-data.advertisement-three') }}</label>
<image-wrapper
:button-label="'{{ __('admin::app.catalog.products.add-image-btn-title') }}'"
input-name="images[3]">
</image-wrapper>
@if(! isset($metaData->advertisement[3]))
<image-wrapper
:button-label="'{{ __('admin::app.catalog.products.add-image-btn-title') }}'"
input-name="images[3]">
</image-wrapper>
@else
<image-wrapper
:button-label="'{{ __('admin::app.catalog.products.add-image-btn-title') }}'"
input-name="images[3]" :images='@json($metaData->advertisement[3])'>
</image-wrapper>
@endif
</div>
<div class="control-group">
<label>{{ __('velocity::app.admin.meta-data.advertisement-two') }}</label>
<image-wrapper
:button-label="'{{ __('admin::app.catalog.products.add-image-btn-title') }}'"
input-name="images[2]">
</image-wrapper>
@if(! isset($metaData->advertisement[2]))
<image-wrapper
:button-label="'{{ __('admin::app.catalog.products.add-image-btn-title') }}'"
input-name="images[2]">
</image-wrapper>
@else
<image-wrapper
:button-label="'{{ __('admin::app.catalog.products.add-image-btn-title') }}'"
input-name="images[2]" :images='@json($metaData->advertisement[2])'>
</image-wrapper>
@endif
</div>
{{-- <div class="control-group">

View File

@ -18,22 +18,31 @@
<div class="container-fluid advertisement-four-container">
<div class="row">
<a @if (isset($one)) href="{{ $one }}" @endif class="col-lg-4 col-12 no-padding">
<img class="col-12" src="{{ asset('/storage/' . $advertisementFour['image_1']) }}" />
</a>
@if ( isset($advertisementFour[1]))
<a @if (isset($one)) href="{{ $one }}" @endif class="col-lg-4 col-12 no-padding">
<img class="col-12" src="{{ asset('/storage/' . $advertisementFour[1]) }}" />
</a>
@endif
<div class="col-lg-4 col-12 offers-ct-panel">
<a @if (isset($two)) href="{{ $two }}" @endif class="row col-12 remove-padding-margin">
<img class="col-12 offers-ct-top" src="{{ asset('/storage/' . $advertisementFour['image_2']) }}" />
</a>
<a @if (isset($three)) href="{{ $three }}" @endif class="row col-12 remove-padding-margin">
<img class="col-12 offers-ct-bottom" src="{{ asset('/storage/' . $advertisementFour['image_3']) }}" />
</a>
@if ( isset($advertisementFour[2]))
<a @if (isset($two)) href="{{ $two }}" @endif class="row col-12 remove-padding-margin">
<img class="col-12 offers-ct-top" src="{{ asset('/storage/' . $advertisementFour[2]) }}" />
</a>
@endif
@if ( isset($advertisementFour[3]))
<a @if (isset($three)) href="{{ $three }}" @endif class="row col-12 remove-padding-margin">
<img class="col-12 offers-ct-bottom" src="{{ asset('/storage/' . $advertisementFour[3]) }}" />
</a>
@endif
</div>
<a @if (isset($four)) href="{{ $four }}" @endif class="col-lg-4 col-12 no-padding">
<img class="col-12" src="{{ asset('/storage/' . $advertisementFour['image_4']) }}" />
</a>
@if ( isset($advertisementFour[4]))
<a @if (isset($four)) href="{{ $four }}" @endif class="col-lg-4 col-12 no-padding">
<img class="col-12" src="{{ asset('/storage/' . $advertisementFour[4]) }}" />
</a>
@endif
</div>
</div>
@endif

View File

@ -18,17 +18,23 @@
<div class="container-fluid advertisement-three-container">
<div class="row">
<a @if (isset($one)) href="{{ $one }}" @endif class="col-lg-6 col-md-12 no-padding">
<img src="{{ asset('/storage/' . $advertisementThree['image_1']) }}" class="full-width" />
</a>
@if ( isset($advertisementThree[1]))
<a @if (isset($one)) href="{{ $one }}" @endif class="col-lg-6 col-md-12 no-padding">
<img src="{{ asset('/storage/' . $advertisementThree[1]) }}" class="full-width" />
</a>
@endif
<div class="col-lg-6 col-md-12 second-panel">
<a @if (isset($two)) href="{{ $two }}" @endif class="row top-container">
<img src="{{ asset('/storage/' . $advertisementThree['image_2']) }}" class="col-12 pr0" />
</a>
<a @if (isset($three)) href="{{ $three }}" @endif class="row bottom-container">
<img src="{{ asset('/storage/' . $advertisementThree['image_3']) }}" class="col-12 pr0" />
</a>
@if ( isset($advertisementThree[2]))
<a @if (isset($two)) href="{{ $two }}" @endif class="row top-container">
<img src="{{ asset('/storage/' . $advertisementThree[2]) }}" class="col-12 pr0" />
</a>
@endif
@if ( isset($advertisementThree[3]))
<a @if (isset($three)) href="{{ $three }}" @endif class="row bottom-container">
<img src="{{ asset('/storage/' . $advertisementThree[3]) }}" class="col-12 pr0" />
</a>
@endif
</div>
</div>
</div>

View File

@ -18,13 +18,17 @@
<div class="container-fluid advertisement-two-container">
<div class="row">
<a class="col-lg-9 col-md-12 no-padding">
<img src="{{ asset('/storage/' . $advertisementTwo['image_1']) }}" />
</a>
<a class="col-lg-3 col-md-12 pr0">
<img src="{{ asset('/storage/' . $advertisementTwo['image_2']) }}" />
</a>
@if ( isset($advertisementTwo[1]))
<a class="col-lg-9 col-md-12 no-padding">
<img src="{{ asset('/storage/' . $advertisementTwo[1]) }}" />
</a>
@endif
@if ( isset($advertisementTwo[2]))
<a class="col-lg-3 col-md-12 pr0">
<img src="{{ asset('/storage/' . $advertisementTwo[2]) }}" />
</a>
@endif
</div>
</div>
@endif