Update
This commit is contained in:
204
oldSite/Plugins/Services/Controllers/ServicesController.php
Normal file
204
oldSite/Plugins/Services/Controllers/ServicesController.php
Normal file
@@ -0,0 +1,204 @@
|
||||
<?php
|
||||
namespace Klevze\ControlPanel\Plugins\Services\Controllers;
|
||||
|
||||
use Auth;
|
||||
use DB;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Language;
|
||||
use FileMan;
|
||||
use Klevze\ControlPanel\Framework\Utils\Sort;
|
||||
|
||||
class ServicesController extends Controller
|
||||
{
|
||||
|
||||
private $uploadPath = 'files/services/';
|
||||
private $mainRoute = 'admin.plugin.services';
|
||||
private $db_table = 'services';
|
||||
private $db_table_description = 'services_description';
|
||||
private $db_tableID = 'service_id';
|
||||
private $pageTitle;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->middleware('cp.auth');
|
||||
FileMan::checkUploadPath(public_path($this->uploadPath));
|
||||
$this->pageTitle = trans('admin.SERVICES');
|
||||
}
|
||||
|
||||
|
||||
public function Main()
|
||||
{
|
||||
$data['page_title'] = $this->pageTitle;
|
||||
|
||||
$data['table'] = DB::table($this->db_table . ' AS t1')
|
||||
->select('t1.*', 't2.headline')
|
||||
->leftJoin($this->db_table_description . ' AS t2', 't1.' . $this->db_tableID, 't2.' . $this->db_tableID)
|
||||
->where('t2.iso', Language::getDefaultLanguage())
|
||||
->orderBy('service_id', 'desc')
|
||||
->get();
|
||||
|
||||
return view('plugin.services::main', $data);
|
||||
}
|
||||
|
||||
|
||||
public function Create()
|
||||
{
|
||||
$data['page_title'] = $this->pageTitle;
|
||||
$data['table'] = new \stdClass();
|
||||
$data['table']->active = 'Y';
|
||||
$data['uploadPath'] = $this->uploadPath;
|
||||
$data['languages'] = Language::getLanguagesList();
|
||||
$data['default_language'] = Language::getDefaultLanguage();
|
||||
|
||||
return view('plugin.services::create', $data);
|
||||
}
|
||||
|
||||
|
||||
public function Insert(Request $request)
|
||||
{
|
||||
$id = DB::table($this->db_table)
|
||||
->insertGetId([
|
||||
'active' => $request->input('active'),
|
||||
'created_at' => time(),
|
||||
]);
|
||||
|
||||
$this->updateTranslations($id, $request);
|
||||
$this->storePictures($id, $request);
|
||||
|
||||
return redirect()->route($this->mainRoute);
|
||||
}
|
||||
|
||||
|
||||
public function Delete($id)
|
||||
{
|
||||
DB::table($this->db_table)
|
||||
->where($this->db_tableID, $id)
|
||||
->delete();
|
||||
|
||||
return redirect()->route($this->mainRoute);
|
||||
}
|
||||
|
||||
|
||||
public function Update($id, Request $request)
|
||||
{
|
||||
DB::table($this->db_table)
|
||||
->where($this->db_tableID, $id)
|
||||
->update([
|
||||
'active' => $request->input('active'),
|
||||
'updated_at' => time(),
|
||||
]);
|
||||
|
||||
$this->updateTranslations($id, $request);
|
||||
$this->storePictures($id, $request);
|
||||
|
||||
return redirect()->route($this->mainRoute);
|
||||
}
|
||||
|
||||
|
||||
public function Edit($id)
|
||||
{
|
||||
### Load Table Data ###
|
||||
$data['table'] = DB::table($this->db_table)
|
||||
->where($this->db_tableID, $id)
|
||||
->first();
|
||||
|
||||
$data['page_title'] = $this->pageTitle;
|
||||
$data[$this->db_tableID] = $id;
|
||||
$data['languages'] = Language::getLanguagesList();
|
||||
$data['default_language'] = Language::getDefaultLanguage();
|
||||
$data['translation'] = $this->getTranslation($id);
|
||||
$data['uploadPath'] = $this->uploadPath;
|
||||
|
||||
return view('plugin.services::edit', $data);
|
||||
}
|
||||
|
||||
|
||||
public function SortPages(Request $request)
|
||||
{
|
||||
Sort::Items($request, $this->db_table, $this->db_tableID);
|
||||
}
|
||||
|
||||
|
||||
protected function updatePicture($id, $file, $dbField)
|
||||
{
|
||||
$folder = public_path($this->uploadPath);
|
||||
|
||||
$picture = [];
|
||||
|
||||
if (is_null($file)) {
|
||||
return;
|
||||
}
|
||||
|
||||
$ext = $file->getClientOriginalExtension();
|
||||
$diskname = uniqid() . "." . $ext;
|
||||
$destination = $folder . $diskname;
|
||||
$file->move($folder, $diskname);
|
||||
$picture = $diskname;
|
||||
|
||||
DB::table($this->db_table)
|
||||
->where($this->db_tableID, $id)
|
||||
->update([$dbField => $picture]);
|
||||
|
||||
return $picture;
|
||||
}
|
||||
|
||||
protected function storePictures($id, $request)
|
||||
{
|
||||
$picture1 = $this->updatePicture($id, $request->file('picture_1'), 'picture_1');
|
||||
$picture2 = $this->updatePicture($id, $request->file('picture_2'), 'picture_2');
|
||||
$picture3 = $this->updatePicture($id, $request->file('picture_3'), 'picture_3');
|
||||
$picture4 = $this->updatePicture($id, $request->file('picture_4'), 'picture_4');
|
||||
$picture5 = $this->updatePicture($id, $request->file('picture_5'), 'picture_5');
|
||||
$picture6 = $this->updatePicture($id, $request->file('picture_6'), 'picture_6');
|
||||
$picture7 = $this->updatePicture($id, $request->file('picture_7'), 'picture_7');
|
||||
$picture8 = $this->updatePicture($id, $request->file('picture_8'), 'picture_8');
|
||||
}
|
||||
|
||||
protected function updateTranslations($id, $request)
|
||||
{
|
||||
$prevod = $request->input('prevod');
|
||||
|
||||
### Remove Old Entries ###
|
||||
DB::table($this->db_table_description)
|
||||
->where($this->db_tableID, $id)
|
||||
->delete();
|
||||
|
||||
### Insert New Entries ###
|
||||
foreach ($prevod as $iso => $data) {
|
||||
|
||||
DB::table($this->db_table_description)
|
||||
->insert(['iso' => $iso,
|
||||
$this->db_tableID => $id,
|
||||
'headline' => $data['headline'],
|
||||
'content1' => $data['content1'],
|
||||
'content2' => $data['content2'],
|
||||
'content3' => $data['content3'],
|
||||
'content4' => $data['content4'],
|
||||
'content5' => $data['content5'],
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected function getTranslation($id)
|
||||
{
|
||||
$data = [];
|
||||
|
||||
$trans = DB::table($this->db_table_description)
|
||||
->where($this->db_tableID, $id)
|
||||
->get();
|
||||
|
||||
foreach ($trans as $key => $row) {
|
||||
$data[$row->iso]['headline'] = $row->headline;
|
||||
$data[$row->iso]['content1'] = $row->content1;
|
||||
$data[$row->iso]['content2'] = $row->content2;
|
||||
$data[$row->iso]['content3'] = $row->content3;
|
||||
$data[$row->iso]['content4'] = $row->content4;
|
||||
$data[$row->iso]['content5'] = $row->content5;
|
||||
}
|
||||
|
||||
return $data;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user