121 lines
3.5 KiB
PHP
Executable file
121 lines
3.5 KiB
PHP
Executable file
<?php
|
|
|
|
namespace App\Http\Controllers\CMS;
|
|
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\CMSContent;
|
|
use App\Repositories\CMSFileRepository;
|
|
use Request;
|
|
use Validator;
|
|
|
|
class CMSContentController extends Controller
|
|
{
|
|
|
|
protected $identifier_content;
|
|
|
|
|
|
public function __construct()
|
|
{
|
|
$this->middleware(['admin', '2fa']);
|
|
$this->identifier_content = 'general';
|
|
}
|
|
|
|
|
|
public function index()
|
|
{
|
|
$data = [
|
|
'contents' => CMSContent::where('identifier', '=', $this->identifier_content)->get()->sortByDesc('id'),
|
|
'identifier_content' => $this->identifier_content,
|
|
];
|
|
return view('cms.content.all.index', $data);
|
|
}
|
|
|
|
|
|
public function store()
|
|
{
|
|
$data = Request::all();
|
|
if(Request::ajax()) {
|
|
//upload file
|
|
if($data['file']){
|
|
$cmsFileRepo = new CMSFileRepository(new CMSContent());
|
|
$cmsFileRepo->_set('data', $data);
|
|
$cmsFileRepo->_set('disk', 'public');
|
|
$cmsFileRepo->_set('dir', '/cms_files/'.date('Y/m').'/');
|
|
$cmsFileRepo->_set('identifier', 'cms_file');
|
|
return $cmsFileRepo->uploadFile(Request::all());
|
|
}
|
|
return response()->json(['response' => $data, 'html'=>""]);
|
|
}
|
|
$rules = array(
|
|
'name' => 'required',
|
|
'field' => 'required',
|
|
);
|
|
$validator = Validator::make(Request::all(), $rules);
|
|
|
|
if ($validator->fails()) {
|
|
return back()->withErrors($validator);
|
|
}
|
|
|
|
if($data['id'] === "new"){
|
|
CMSContent::create($data);
|
|
//store in cms old Datebase
|
|
\App\Models\Sym\CmsContent::create($data);
|
|
}else{
|
|
if($data['identifier'] === 'fewo-email-file'){
|
|
$data['integer'] = isset($data['default_travel_info']) ? 1 : 0;
|
|
}
|
|
$model = CMSContent::find($data['id']);
|
|
$model->fill($data);
|
|
$model->save();
|
|
|
|
$m = \App\Models\Sym\CmsContent::find($data['id']);
|
|
$m->fill($data);
|
|
$m->save();
|
|
|
|
}
|
|
\Session()->flash('alert-save', '1');
|
|
if(isset($data['back'])){
|
|
return redirect($data['back']);
|
|
|
|
}
|
|
return redirect(route('cms_content_all'));
|
|
}
|
|
|
|
|
|
public function loadModal()
|
|
{
|
|
if(Request::ajax()){
|
|
$data = Request::all();
|
|
$returnHTML = "";
|
|
if(isset($data['model']) && isset($data['id']) ){
|
|
if($data['model'] === 'content'){
|
|
if($data['id'] === "new"){
|
|
$value = new CMSContent();
|
|
$value->identifier = $data['identifier'];
|
|
$value->field = isset($data['field']) ? $data['field'] : null;
|
|
}else {
|
|
$value = CMSContent::find($data['id']);
|
|
}
|
|
$returnHTML = view("cms.content.all.modal", compact('data','value') )->render();
|
|
}
|
|
}
|
|
return response()->json(['response' => $data, 'html'=>$returnHTML]);
|
|
}
|
|
}
|
|
|
|
//public
|
|
|
|
public function delete($id){
|
|
$content = CMSContent::findOrFail($id);
|
|
if($content->isFile()){
|
|
$content->deleteFile();
|
|
}
|
|
$content->delete();
|
|
$m = \App\Models\Sym\CmsContent::find($id);
|
|
$m->delete();
|
|
\Session()->flash('alert-success', __('Content gelöscht'));
|
|
return back(); //redirect(route('cms_content_all'));
|
|
}
|
|
|
|
}
|