sarga/packages/Webkul/Velocity/src/Http/Controllers/Admin/ConfigurationController.php

102 lines
2.7 KiB
PHP
Raw Normal View History

2019-12-30 06:55:51 +00:00
<?php
namespace Webkul\Velocity\Http\Controllers\Admin;
2019-12-30 14:48:35 +00:00
use DB;
2020-01-02 15:50:44 +00:00
use Illuminate\Support\Facades\Storage;
2019-12-30 14:48:35 +00:00
use Webkul\Velocity\Repositories\MetadataRepository;
2019-12-30 16:06:55 +00:00
use Webkul\Velocity\Repositories\VelocityMetadataRepository;
2019-12-30 14:48:35 +00:00
2019-12-30 06:55:51 +00:00
/**
* Category Controller
*
* @author Shubham Mehrotra <shubhammehrotra.symfony@webkul.com> @shubhwebkul
* @copyright 2019 Webkul Software Pvt Ltd (http://www.webkul.com)
*/
class ConfigurationController extends Controller
{
2019-12-30 14:48:35 +00:00
/**
2019-12-30 16:06:55 +00:00
* VelocityMetadataRepository object
2019-12-30 14:48:35 +00:00
*
* @var Object
*/
2019-12-30 16:06:55 +00:00
protected $velocityMetaDataRepository;
2019-12-30 14:48:35 +00:00
/**
* Create a new controller instance.
*
* @param \Webkul\Velocity\Repositories\MetadataRepository $metaDataRepository
*/
2019-12-30 16:06:55 +00:00
public function __construct (
VelocityMetadataRepository $velocityMetadataRepository
) {
2019-12-30 14:48:35 +00:00
$this->_config = request('_config');
2019-12-30 16:06:55 +00:00
$this->velocityMetaDataRepository = $velocityMetadataRepository;
2019-12-30 06:55:51 +00:00
}
2019-12-30 16:06:55 +00:00
public function renderMetaData()
2019-12-30 06:55:51 +00:00
{
2019-12-30 16:06:55 +00:00
$velocityHelper = app('Webkul\Velocity\Helpers\Helper');
$velocityMetaData = $velocityHelper->getVelocityMetaData();
return view($this->_config['view'], [
'metaData' => $velocityMetaData
]);
}
2019-12-30 14:48:35 +00:00
2019-12-30 16:06:55 +00:00
public function storeMetaData($id)
{
2020-01-02 15:50:44 +00:00
// check if radio button value
2019-12-31 05:55:28 +00:00
if (request()->get('slides') == "on") {
2019-12-30 16:06:55 +00:00
$params = request()->all() + [
2019-12-31 05:55:28 +00:00
'slider' => 1
2019-12-30 16:06:55 +00:00
];
} else {
2019-12-31 05:55:28 +00:00
$params = request()->all() + [
'slider' => 0
];
2019-12-30 14:48:35 +00:00
}
2020-01-02 15:50:44 +00:00
$params['advertisement'] = [];
foreach ($params['images'] as $index => $advertisement) {
if ($advertisement['image_1'] !== "") {
$params['advertisement'][$index] = $this->uploadImages($advertisement, $index);
}
}
$params['advertisement'] = json_encode($params['advertisement']);
unset($params['images']);
2019-12-31 05:55:28 +00:00
unset($params['slides']);
2020-01-02 15:50:44 +00:00
// update row
2019-12-30 16:06:55 +00:00
$product = $this->velocityMetaDataRepository->update($params, $id);
session()->flash('success', trans('admin::app.response.update-success', ['name' => 'Velocity Theme']));
return redirect()->route($this->_config['redirect']);
2019-12-30 06:55:51 +00:00
}
2020-01-02 15:50:44 +00:00
public function uploadImages($data, $index)
{
$type = 'images';
$request = request();
foreach ($data as $imageId => $image) {
$file = $type . '.' . $index . '.' . $imageId;
$dir = "velocity/$type";
if ($request->hasFile($file)) {
Storage::delete($dir . $file);
$advertisement[$imageId] = $request->file($file)->store($dir);
}
}
return $advertisement;
}
2019-12-30 06:55:51 +00:00
}