mivita/app/Http/Controllers/Web/SiteController.php
2019-03-04 17:05:44 +01:00

106 lines
No EOL
3.8 KiB
PHP
Executable file

<?php
namespace App\Http\Controllers\Web;
use App\Http\Controllers\Controller;
use App\Models\Category;
use App\Models\Product;
use Input;
use App\Services\Util;
class SiteController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
}
public function index()
{
$products = ['aloe-vera-gel-99', 'aloe-vera-saft-500-ml', 'aloe-vera-lippenbalsam'];
$set_products = ['aloe-vera-cleaner-set', 'aloe-vera-koerper-set', 'aloe-vera-repair-set'];
$data = [
'products' => Product::whereIn('slug', $products)->where('active', true)->where('show_at', '<=', 1)->get(),
'set_products' => Product::whereIn('slug', $set_products)->where('active', true)->where('show_at', '<=', 1)->get(),
'user_shop' => Util::getUserShop(),
];
return view('web.index', $data);
}
public function domainCheck(){
die("checked");
}
public function site($site, $subsite = false, $product_slug = false)
{
$subsite = trim($subsite, '/');
$product_slug = trim($product_slug, '/');
if($product_slug){
$category = Category::where('slug', $subsite)->where('active', true)->first();
$product = Product::where('slug', $product_slug)->where('active', true)->where('show_at', '<=', 1)->first();
if ($category && $product) {
$data = [
'user_shop' => Util::getUserShop(),
'subsite' => $subsite,
'categories' => Category::where('active', true)->orderBy('pos', 'ASC')->get(),
'product' => $product,
'p_count' => Product::where('active', true)->where('show_at', '<=', 1)->count(),
];
return view('web.templates.produkte-show', $data);
}
}
if($site == 'produkte'){
if($subsite || $subsite != 'alle-produkte') {
$category = Category::where('slug', $subsite)->where('active', true)->first();
if ($category) {
$data = [
'user_shop' => Util::getUserShop(),
'subsite' => $subsite,
'categories' => Category::where('active', true)->orderBy('pos', 'ASC')->get(),
'products' => Product::whereHas('categories', function ($query) use ($category) {
$query->where('category_id', '=', $category->id);
})->where('active', true)->where('show_at', '<=', 1)->orderBy('pos', 'DESC')->get(),
'p_count' => Product::where('active', true)->where('show_at', '<=', 1)->count(),
];
return view('web.templates.' . $site, $data);
}
}
$data = [
'user_shop' => Util::getUserShop(),
'subsite' => 'alle-produkte',
'categories' => Category::where('active', true)->orderBy('pos', 'ASC')->get(),
'products' => Product::where('active', true)->where('show_at', '<=', 1)->orderBy('pos', 'ASC')->get(),
'p_count' => Product::where('active', true)->where('show_at', '<=', 1)->count(),
];
return view('web.templates.'.$site, $data);
}
$data = [
'user_shop' => Util::getUserShop()
];
if($subsite){
if(!view()->exists('web.templates.'.$subsite)){
abort(404);
}
return view('web.templates.'.$subsite, $data);
}
if(!view()->exists('web.templates.'.$site)){
abort(404);
}
return view('web.templates.'.$site, $data);
}
}