diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 6526dcb..d67f73a 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,68 +2,49 @@ - - - - - - - - - - - - - - - + + + + + + + + + + - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -323,6 +236,9 @@ base_ url aktvie + ac + card_show + route @@ -360,57 +276,57 @@ @@ -432,6 +348,7 @@ + @@ -544,8 +461,8 @@ - @@ -594,6 +511,21 @@ + + + + + + + + + + + + + + + @@ -659,6 +591,22 @@ + + + + + + + + + + + + + + + + @@ -667,6 +615,14 @@ + + + + + + + + @@ -674,6 +630,14 @@ + + + + + + + + @@ -696,6 +660,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -715,17 +738,18 @@ + + + + + + + + - - - - - - - - - + - + @@ -804,301 +829,354 @@ + + + + + file://$PROJECT_DIR$/app/Http/Middleware/Subdomain.php + 4 + + + + - - - - - - - - - - + - - - - - + + - - - - - - - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - + + - + - - - - - - - - - - - - + + - - + + - + - - - - - - + - + - - - - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - - + + + + + diff --git a/app/Http/Controllers/Api/KasController.php b/app/Http/Controllers/Api/KasController.php index b1169fa..cf6d450 100755 --- a/app/Http/Controllers/Api/KasController.php +++ b/app/Http/Controllers/Api/KasController.php @@ -5,6 +5,7 @@ namespace App\Http\Controllers\Api; use App\Http\Controllers\Controller; use Input; +use Session; use \SoapClient; class KasController extends Controller @@ -17,6 +18,7 @@ class KasController extends Controller private $session_lifetime = 600; // Gültigkeit des Tokens in Sek. bis zur neuen Authentifizierung private $session_update_lifetime = 'Y'; // bei N läuft die Session nach <$session_lifetime> Sekunden ab, bei Y verlängert sich die Session mit jeder Benutzung private $CredentialToken = false; + private $kas_flood_delay = 2; /** * Create a new controller instance. @@ -31,6 +33,7 @@ class KasController extends Controller public function action($func, $para = array()){ + $this->checkSession($func); try { $Params = array(); // Parameter für die API-Funktion @@ -42,6 +45,8 @@ class KasController extends Controller 'KasRequestType' => $func, // API-Funktion 'KasRequestParams' => $para // Parameter an die API-Funktion ))); + Session::put('flood_protection.'.$func, time() + $this->kas_flood_delay + 0.2); + if(isset($req['Response']['ReturnString']) && $req['Response']['ReturnString'] == "TRUE"){ return $req['Response']['ReturnInfo']; } @@ -60,8 +65,11 @@ class KasController extends Controller private function login(){ + + $this->checkSession('auth'); try { + $SoapLogon = new SoapClient('https://kasapi.kasserver.com/soap/wsdl/KasAuth.wsdl'); $this->CredentialToken = $SoapLogon->KasAuth(json_encode(array( 'KasUser' => $this->kas_user, @@ -70,6 +78,8 @@ class KasController extends Controller 'SessionLifeTime' => $this->session_lifetime, 'SessionUpdateLifeTime' => $this->session_update_lifetime ))); + Session::put('flood_protection.auth', time() + $this->kas_flood_delay + 0.2); + } // Fehler abfangen und ausgeben @@ -83,7 +93,19 @@ class KasController extends Controller } + private function checkSession($func) + { + $name = 'flood_protection.'.$func; + if(Session::exists($name)){ + $time_to_wait = (float)Session::get($name) - time(); + Session::forget($name); + }else { + $time_to_wait = 0; + } + if ( $time_to_wait >= 0 ) { + usleep( intval( $time_to_wait*1000000 ) ); + } - + } } \ No newline at end of file diff --git a/app/Http/Controllers/ShippingController.php b/app/Http/Controllers/ShippingController.php new file mode 100755 index 0000000..1474c5c --- /dev/null +++ b/app/Http/Controllers/ShippingController.php @@ -0,0 +1,104 @@ +middleware('superadmin'); + + } + + /** + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View + */ + public function index() + { + $data = [ + 'values' => Shipping::all(), + ]; + return view('admin.shipping.index', $data); + } + + public function edit($shipping_id) + { + if($shipping_id == "new"){ + $shipping = new Shipping(); + $shipping->active = 1; + + }else{ + $shipping = Shipping::findOrFail($shipping_id); + + } + $data = [ + 'value' => $shipping, + ]; + return view('admin.shipping.edit', $data); + + + } + + /** + * @param Request $request + * @return \Illuminate\Contracts\View\Factory|\Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector|\Illuminate\View\View + */ + public function store(Request $request) + { + $data = Input::all(); + if ($data['id'] == "new") { + $shipping = new Shipping(); + $rules = array( + 'name' => 'required', + ); + + } else { + $shipping = Shipping::findOrFail($data['id']); + $rules = array( + 'name' => 'required', + ); + } + $data = [ + 'value' => $shipping, + ]; + $validator = Validator::make(Input::all(), $rules); + + if ($validator->fails()) { + return view('admin.shipping.edit', $data)->withErrors($validator); + + } + $data = Input::all(); + + $shipping->name = $data['name']; + $shipping->free = $data['free']; + $shipping->active = isset($data['active']) ? true : false; + $shipping->save(); + + + \Session()->flash('alert-save', true); + + return redirect(route('admin_shipping_edit', [$shipping->id])); + + } + + public function deleteShipping($shipping_id) + { + $shipping = Shipping::findOrFail($shipping_id); + $shipping->delete(); + + \Session()->flash('alert-success', "Versandkosten gelöscht"); + return redirect('/admin/shippings'); + + } + +} \ No newline at end of file diff --git a/app/Http/Controllers/Web/CardController.php b/app/Http/Controllers/Web/CardController.php index fa82657..bb46d50 100755 --- a/app/Http/Controllers/Web/CardController.php +++ b/app/Http/Controllers/Web/CardController.php @@ -5,6 +5,7 @@ namespace App\Http\Controllers\Web; use App\Http\Controllers\Controller; use App\Models\Product; +use Util; use Yard; use Input; @@ -56,7 +57,10 @@ class CardController extends Controller } public function showCard(){ - return view('web.templates.card'); + $data = [ + 'user_shop' => Util::getUserShop(), + ]; + return view('web.templates.card', $data); } public function updateCard(){ @@ -73,11 +77,17 @@ class CardController extends Controller } public function checkoutCard(){ - return view('web.templates.checkout'); + $data = [ + 'user_shop' => Util::getUserShop(), + ]; + return view('web.templates.checkout', $data); } public function checkoutFinalCard(){ - return view('web.templates.checkout-final'); + $data = [ + 'user_shop' => Util::getUserShop(), + ]; + return view('web.templates.checkout-final', $data); } diff --git a/app/Http/Controllers/Web/SiteController.php b/app/Http/Controllers/Web/SiteController.php index 3b52a03..f0b766b 100755 --- a/app/Http/Controllers/Web/SiteController.php +++ b/app/Http/Controllers/Web/SiteController.php @@ -7,6 +7,7 @@ use App\Http\Controllers\Controller; use App\Models\Category; use App\Models\Product; use Input; +use Util; class SiteController extends Controller { @@ -22,7 +23,10 @@ class SiteController extends Controller public function index() { - return view('web.index'); + $data = [ + 'user_shop' => Util::getUserShop() + ]; + return view('web.index', $data); } public function site($site, $subsite = false, $product_slug = false) @@ -35,6 +39,7 @@ class SiteController extends Controller if ($category && $product) { $data = [ + 'user_shop' => Util::getUserShop(), 'subsite' => $subsite, 'categories' => Category::where('active', true)->orderBy('pos', 'ASC')->get(), 'product' => $product, @@ -51,6 +56,7 @@ class SiteController extends Controller $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) { @@ -65,6 +71,7 @@ class SiteController extends Controller } } $data = [ + 'user_shop' => Util::getUserShop(), 'subsite' => 'alle-produkte', 'categories' => Category::where('active', true)->orderBy('pos', 'ASC')->get(), 'products' => Product::where('active', true)->orderBy('pos', 'ASC')->get(), @@ -72,17 +79,19 @@ class SiteController extends Controller ]; 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); + return view('web.templates.'.$subsite, $data); } if(!view()->exists('web.templates.'.$site)){ abort(404); } - return view('web.templates.'.$site); + return view('web.templates.'.$site, $data); } diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index 8bda5a9..cef55e6 100755 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -56,6 +56,7 @@ class Kernel extends HttpKernel 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, 'admin' => \App\Http\Middleware\Admin::class, 'superadmin' => \App\Http\Middleware\SuperAdmin::class, + 'subdomain' => \App\Http\Middleware\Subdomain::class, 'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class, 'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class, 'can' => \Illuminate\Auth\Middleware\Authorize::class, diff --git a/app/Http/Middleware/Subdomain.php b/app/Http/Middleware/Subdomain.php new file mode 100755 index 0000000..844f108 --- /dev/null +++ b/app/Http/Middleware/Subdomain.php @@ -0,0 +1,35 @@ +route('subdomain'))){ + $user_shop = UserShop::where('slug', $request->route('subdomain'))->where('active', 1)->first(); + $request->route()->forgetParameter('subdomain'); + Util::setPostRoute('user.'); + if($user_shop){ + \Session::put('user_shop', $user_shop); + return $next($request); + } + } + return redirect(config('app.url')); + + } +} diff --git a/app/Models/Shipping.php b/app/Models/Shipping.php new file mode 100644 index 0000000..61fab51 --- /dev/null +++ b/app/Models/Shipping.php @@ -0,0 +1,50 @@ + 'array', + ]; + + protected $fillable = [ + 'name', 'active', 'free' + ]; + + public function _format_number($value){ + return preg_replace("/[^0-9,]/", "", $value); + } + + public function setFreeAttribute( $value ) { + if($value == ""){ + $this->attributes['free'] = null; + }else{ + $value = $this->_format_number($value); + $this->attributes['free'] = floatval(str_replace(',', '.', $value)); + } + } + public function getFormattedFree() + { + if($this->attributes['free'] === null) { + return ""; + } + if(\App::getLocale() == "en"){ + return number_format($this->attributes['free'], 2, '.', ','); + } + return number_format($this->attributes['free'], 2, ',', '.'); + } + + + public function countries(){ + return $this->hasMany('App\Models\ShippingCountry', 'shipping_id', 'id'); + } + + public function prices(){ + return $this->hasMany('App\Models\ShippingPrice', 'shipping_id', 'id'); + } +} diff --git a/app/Models/ShippingCountry.php b/app/Models/ShippingCountry.php new file mode 100644 index 0000000..e278512 --- /dev/null +++ b/app/Models/ShippingCountry.php @@ -0,0 +1,25 @@ +belongsTo('App\Models\Shipping', 'shipping_id'); + } + + public function country() + { + return $this->belongsTo('App\Models\Country', 'country_id'); + } +} diff --git a/app/Models/ShippingPrice.php b/app/Models/ShippingPrice.php new file mode 100644 index 0000000..44d2035 --- /dev/null +++ b/app/Models/ShippingPrice.php @@ -0,0 +1,93 @@ +belongsTo('App\Models\Shipping', 'shipping_id'); + } + + + public function _format_number($value){ + return preg_replace("/[^0-9,]/", "", $value); + } + + public function setPriceAttribute( $value ) { + $value = $this->_format_number($value); + $this->attributes['price'] = floatval(str_replace(',', '.', $value)); + } + public function setFactorAttribute( $value ) { + $value = $this->_format_number($value); + $this->attributes['factor'] = floatval(str_replace(',', '.', $value)); + } + public function setTaxAttribute( $value ) { + $value = $this->_format_number($value); + $this->attributes['tax'] = floatval(str_replace(',', '.', $value)); + } + public function setPriceOldAttribute( $value ) { + $value = $this->_format_number($value); + $this->attributes['price_old'] = floatval(str_replace(',', '.', $value)); + } + + public function setTotalFromAttribute( $value ) { + $value = $this->_format_number($value); + $this->attributes['total_from'] = floatval(str_replace(',', '.', $value)); + } + public function setTotalToAttribute( $value ) { + $value = $this->_format_number($value); + $this->attributes['total_to'] = floatval(str_replace(',', '.', $value)); + } + + + public function getFormattedPrice() + { + if(\App::getLocale() == "en"){ + return number_format($this->attributes['price'], 2, '.', ','); + } + return number_format($this->attributes['price'], 2, ',', '.'); + } + public function getFormattedTax() + { + if(\App::getLocale() == "en"){ + return number_format($this->attributes['tax'], 2, '.', ','); + } + return number_format($this->attributes['tax'], 2, ',', '.'); + } + + public function getFormattedFactor() + { + if(\App::getLocale() == "en"){ + return number_format($this->attributes['factor'], 2, '.', ','); + } + return number_format($this->attributes['factor'], 2, ',', '.'); + } + + + public function getFormatTotalFrom() + { + if(\App::getLocale() == "en"){ + return number_format($this->attributes['total_from'], 2, '.', ','); + } + return number_format($this->attributes['total_from'], 2, ',', '.'); + } + public function getFormattedTotalTo() + { + if(\App::getLocale() == "en"){ + return number_format($this->attributes['total_to'], 2, '.', ','); + } + return number_format($this->attributes['total_to'], 2, ',', '.'); + } + + + +} diff --git a/app/Models/UserShop.php b/app/Models/UserShop.php index 8086d4f..ae0fbcb 100644 --- a/app/Models/UserShop.php +++ b/app/Models/UserShop.php @@ -55,7 +55,7 @@ class UserShop extends Model public function getSubdomainStatus() { - if($this->is_online != NULL){ + if($this->is_online !== NULL){ return $this->is_online; } diff --git a/app/Services/Util.php b/app/Services/Util.php index d52ec0a..d1b1361 100644 --- a/app/Services/Util.php +++ b/app/Services/Util.php @@ -6,6 +6,7 @@ namespace App\Services; class Util { + private static $postRoute = 'base.'; public static function formatDate(){ if(\App::getLocale() == "en"){ @@ -28,4 +29,30 @@ class Util } return 'd.m.Y - H:i'; } + public static function getPostRoute(){ + return self::$postRoute; + } + public static function setPostRoute($postRoute){ + self::$postRoute = $postRoute; + } + + public static function getUserShop(){ + if(\Session::has('user_shop')){ + if($user_shop = \Session::get('user_shop')){ + return $user_shop; + } + } + return false; + } + + public static function addRoute($p = []){ + $b = []; + if(\Session::has('user_shop')){ + if($user_shop = \Session::get('user_shop')){ + $b = ['subdomain' => $user_shop->slug]; + } + } + return array_merge($p, $b); + } + } \ No newline at end of file diff --git a/database/migrations/2018_10_21_164001_create_products_table.php b/database/migrations/2018_10_21_164001_create_products_table.php index 5cfedd7..ac7909a 100644 --- a/database/migrations/2018_10_21_164001_create_products_table.php +++ b/database/migrations/2018_10_21_164001_create_products_table.php @@ -31,6 +31,9 @@ class CreateProductsTable extends Migration $table->decimal('price_old', 8, 2)->nullable(); //streichpreis + $table->unsignedInteger('weight')->nullable(); + + $table->string('contents')->nullable(); $table->string('number')->nullable(); $table->string('icons')->nullable(); //as array cast diff --git a/database/migrations/2019_01_06_004815_create_shippings_table.php b/database/migrations/2019_01_06_004815_create_shippings_table.php new file mode 100644 index 0000000..5d7af8d --- /dev/null +++ b/database/migrations/2019_01_06_004815_create_shippings_table.php @@ -0,0 +1,39 @@ +increments('id'); + + $table->string('name')->index(); + $table->text('trans_name')->nullable(); + + $table->decimal('free', 8, 2)->nullable(); + + $table->boolean('active')->default(false); + + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('shippings'); + } +} diff --git a/database/migrations/2019_01_06_004849_create_shipping_prices_table.php b/database/migrations/2019_01_06_004849_create_shipping_prices_table.php new file mode 100644 index 0000000..f02e75a --- /dev/null +++ b/database/migrations/2019_01_06_004849_create_shipping_prices_table.php @@ -0,0 +1,49 @@ +increments('id'); + $table->unsignedInteger('shipping_id'); + + $table->decimal('price', 8, 2)->nullable(); + $table->decimal('tax', 5, 2)->nullable(); + $table->decimal('factor', 5, 2)->nullable(); + + $table->decimal('total_from', 8, 2)->nullable(); + $table->decimal('total_to', 8, 2)->nullable(); + + $table->unsignedInteger('weight_from')->nullable(); + $table->unsignedInteger('weight_to')->nullable(); + + + $table->timestamps(); + + $table->foreign('shipping_id') + ->references('id') + ->on('shippings') + ->onDelete('cascade'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('shipping_prices'); + } +} diff --git a/database/migrations/2019_01_06_004907_create_shipping_countries_table.php b/database/migrations/2019_01_06_004907_create_shipping_countries_table.php new file mode 100644 index 0000000..03b0aae --- /dev/null +++ b/database/migrations/2019_01_06_004907_create_shipping_countries_table.php @@ -0,0 +1,44 @@ +increments('id'); + $table->unsignedInteger('shipping_id'); + $table->unsignedInteger('country_id')->nullable()->index(); + + $table->timestamps(); + + $table->foreign('shipping_id') + ->references('id') + ->on('shippings') + ->onDelete('cascade'); + + $table->foreign('country_id') + ->references('id') + ->on('countries'); + }); + + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('shipping_countries'); + } +} diff --git a/public/assets/images/logo_bio.png b/public/assets/images/logo_bio.png new file mode 100644 index 0000000..b32de59 Binary files /dev/null and b/public/assets/images/logo_bio.png differ diff --git a/public/assets/images/logo_derma.png b/public/assets/images/logo_derma.png new file mode 100644 index 0000000..06a6ab8 Binary files /dev/null and b/public/assets/images/logo_derma.png differ diff --git a/resources/lang/de.json b/resources/lang/de.json index 4fd219c..dc5bd28 100755 --- a/resources/lang/de.json +++ b/resources/lang/de.json @@ -128,6 +128,7 @@ "OK": "OK", "Contacts": "Kontake", "active": "aktiviert", + "inactive": "deaktiviert", "verified": "verifiziert", "'E-Mail": "'E-Mail", "create new Contact": "Neuen Kontakt erstellen", @@ -189,10 +190,13 @@ "available":"erreichbar", "not available":"nicht erreichbar", "active since":"Aktiv seit", + "open since":"Eröffnet seit", "Domain":"Domain", "name":"Name", "not available copy":" Bei neu angelegten Shops dauert es einige Minuten, bis die Domain zu erreichen ist. Bitte schauen Sie in einigen Minuten noch einmal nach.", "shop image":"Dein Shop Bild", "shop image copy":"Lade hier ein Foto / Bild / Logo von Dir hoch.", + "open your shop": "Eröffne Deinen eigenen mivita-Shop", + "settings your shop":"Deine Shop-Einstellungen", "":"" } \ No newline at end of file diff --git a/resources/views/admin/shipping/edit.blade.php b/resources/views/admin/shipping/edit.blade.php new file mode 100755 index 0000000..1097b3f --- /dev/null +++ b/resources/views/admin/shipping/edit.blade.php @@ -0,0 +1,72 @@ +@extends('layouts.layout-2') + +@section('content') + + @if ($errors->any()) +
+
+
+
    + @foreach ($errors->all() as $error) +
  • {{ $error }}
  • + @endforeach +
+
+
+
+ @endif + +

+ {{ __('Create/Edit Versandkosten') }} +

+ + {!! Form::open(['url' => route('admin_shipping_store'), 'class' => 'form-horizontal', 'id'=>'']) !!} + + +
+   + {{ __('back') }} +
+ + +
+ +
+ {{ __('Versandkosten') }} + +
+ +
+
+ + + {{ Form::text('name', $value->name, array('placeholder'=>__('Name'), 'class'=>'form-control'.($errors->has('name') ? ' is-invalid' : ''), 'id'=>'name', 'required')) }} +
+ @if ($errors->has('name')) + + {{ $errors->first('name') }} + + @endif + + +
+ + {{ Form::text('free', $value->getFormattedFree(), array('placeholder'=>__('Free'), 'class'=>'form-control', 'id'=>'free')) }} +
+ +
+
+
+   + {{ __('back') }} +
+ + {!! Form::close() !!} + + + + +@endsection diff --git a/resources/views/admin/shipping/index.blade.php b/resources/views/admin/shipping/index.blade.php new file mode 100755 index 0000000..074da9c --- /dev/null +++ b/resources/views/admin/shipping/index.blade.php @@ -0,0 +1,59 @@ +@extends('layouts.layout-2') + +@section('content') +
+
+ {{__('Versandkosten')}} +
+
+ + + + + + + + + + + @foreach($values as $value) + + + + + + + + @endforeach + +
 {{__('Name')}}{{__('Status')}}
+ + + + {{ $value->name }}@if($value->active) @else@endif
+ +
+
+ + +@endsection diff --git a/resources/views/home.blade.php b/resources/views/home.blade.php index 91730fc..61b4777 100755 --- a/resources/views/home.blade.php +++ b/resources/views/home.blade.php @@ -54,7 +54,21 @@ @if($user->active == 1 && !$user->user_shop)

{{__('Your Shop') }}

- {{__('open your shop')}} + @if($user->shop) +

+ {{__('open since')}} {{__('at')}} {{ $user->shop->getActiveDateFormat() }}

+ @if($user->shop->active) +

+ {{__('Status')}} {{ __('active') }}

+ @else +

+ {{__('Status')}} {{ __('inactive') }}

+ @endif + {{__('settings your shop')}} + + @else + {{__('open your shop')}} + @endif
@endif diff --git a/resources/views/layouts/application.blade.php b/resources/views/layouts/application.blade.php index ffb3832..c7bdc95 100755 --- a/resources/views/layouts/application.blade.php +++ b/resources/views/layouts/application.blade.php @@ -117,6 +117,8 @@ + + @@ -136,6 +138,20 @@ $('.summernote').summernote({ height: 140, lang: 'de-DE', + cleaner:{ + action: 'both', // both|button|paste 'button' only cleans via toolbar button, 'paste' only clean when pasting content, both does both options. + newline: '
', // Summernote's default is to use '


' + notStyle: 'position:absolute;top:0;left:0;right:0', // Position of Notification + icon: '[Your Button]', + keepHtml: false, // Remove all Html formats + keepOnlyTags: ['

', '
', '

    ', '
  • ', '', '','', ''], // If keepHtml is true, remove all tags except these + keepClasses: false, // Remove Classes + badTags: ['style', 'script', 'applet', 'embed', 'noframes', 'noscript', 'html'], // Remove full tags with contents + badAttributes: ['style', 'start'], // Remove attributes from remaining tags + limitChars: false, // 0/false|# 0/false disables option + limitDisplay: 'both', // text|html|both + limitStop: false // true/false + } }); $('.summernote-small').summernote({ @@ -148,9 +164,27 @@ ['fontsize', ['fontsize']], ['color', ['color']], ['para', ['ul', 'ol', 'paragraph']], - ['height', ['height']] - ] + ['height', ['height']], + ['view',['fullscreen','codeview']], + + ], + cleaner:{ + action: 'both', // both|button|paste 'button' only cleans via toolbar button, 'paste' only clean when pasting content, both does both options. + newline: '
    ', // Summernote's default is to use '


    ' + notStyle: 'position:absolute;top:0;left:0;right:0', // Position of Notification + icon: '[Your Button]', + keepHtml: false, // Remove all Html formats + keepOnlyTags: ['

    ', '
    ', '

      ', '
    • ', '', '','', ''], // If keepHtml is true, remove all tags except these + keepClasses: false, // Remove Classes + badTags: ['style', 'script', 'applet', 'embed', 'noframes', 'noscript', 'html'], // Remove full tags with contents + badAttributes: ['style', 'start'], // Remove attributes from remaining tags + limitChars: false, // 0/false|# 0/false disables option + limitDisplay: 'both', // text|html|both + limitStop: false // true/false + } }); + $('.note-status-output').hide(); + }); diff --git a/resources/views/layouts/includes/layout-sidenav.blade.php b/resources/views/layouts/includes/layout-sidenav.blade.php index 08d1e64..7b403d9 100755 --- a/resources/views/layouts/includes/layout-sidenav.blade.php +++ b/resources/views/layouts/includes/layout-sidenav.blade.php @@ -82,6 +82,10 @@
      {{ __('User Rechte') }}
    • +
    • +
      {{ __('Versandkosten') }}
      +
    • + @endif diff --git a/resources/views/user/components/user_shop_edit.blade.php b/resources/views/user/components/user_shop_edit.blade.php index 1814e21..8da50d6 100644 --- a/resources/views/user/components/user_shop_edit.blade.php +++ b/resources/views/user/components/user_shop_edit.blade.php @@ -76,7 +76,11 @@ @if(!$user->shop->getSubdomainStatus())
    • - {{ __('not available copy') }} + {{ __('not available copy') }} + + + +
    • @endif
    • diff --git a/resources/views/web/index.blade.php b/resources/views/web/index.blade.php index 7f7435e..85bfc6c 100644 --- a/resources/views/web/index.blade.php +++ b/resources/views/web/index.blade.php @@ -1,230 +1 @@ -@extends('web.layouts.layout') - -@section('content') - - - - - -
      - -
      -
        - - -
      • - - - -
        - -
        - Deutscher Direktvertrieb für -
        - -
        - 100% Premium Bio Aloe Vera -
        -
      • -
      -
      -
      -
      - - - - -
      -
      - -

      MIVITA ist ein Unternehmen mit Standort in Deutschland, das innovative und umweltfreundliche - sowie hochwertige Produkte vertreibt. Seit seinem Markteintritt bekennt sich das MIVITA Unternehmen zu einem - Werteverständnis, bei dem die Zufriedenheit der Kunden, wie auch die Verantwortung für die Umwelt im Fokus - stehen.

      - -
      - -
      - - -
      -
      - - - -
      -
      -

      Warum MIVITA?

      -

      Unsere Kunden vertrauen zurecht auf die exzellenten Eigenschaften der MIVITA Produkte. Damit trifft - jeder aktiv eine kluge Entscheidung für Gesundheit und Umwelt.

      - -

      Wir legen nicht nur auf die Qualität unserer Produkte einen hohen Stellenwert, sondern natürlich auch - auf umfassende, kompetente Beratung durch freundliche und fachkundige Berater und Beraterinnen.

      - -

      Wir entwickeln und vertreiben ausschließlich Produkte, die qualitativ hochwertig sind. So sind sie - bei sachgemäßer Anwendung und Pflege langlebig und sehr ergiebig. Faktoren, die uns die - Zufriedenheit unserer Kunden sichern.

      - -
      -
      - - -
      -
      - - - - -
      -
      - - -
      -
      -
      -

      Aloe Vera

      -

      Mit höchstem Anspruch arbeiten wir gemeinsam mit der Aloe Vera Farm auf Mallorca - zusammen, die weltweite Qualität der Spitzenklasse garantiert.

      - - - Mehr - - - - lesen - JETZT - - - - - -
      -
      -
      -
      -

      Produkte

      -

      Hier findest Du einen Überblick über das komplette Premium-Produktsortiment von MIVITA. - Vom hochwertigen Aloe Saft bis zu wohltuender Kosmetik.

      - - - Mehr - - - - lesen - JETZT - - - - - -
      -
      -
      -
      -

      Vertriebspartner

      -

      Werde auch Du ein Vertriebspartner von MIVITA und baue Dir Dein eigenes Geschäft mit - Qualitätsprodukten auf. Wenn Du magst, kannst Du sofort starten ...

      - - - Mehr - - - - lesen - JETZT - - - - - -
      -
      - -
      - - -
      -
      - - - -
      -
      - -
      - -
      - -

      MIVITA ist exklusiver Partner der Farm Aloe Vera de Mallorca im Bereich Direktvertrieb Deutschland. - Hier haben zwei Unternehmen zusammengefunden, für die Qualität und Nachhaltigkeit oberstes Gebot - sind. Nur so lassen sich langfristig zufriedene Kunden zu echten Fans unserer Produkte gewinnen.

      -
      -

      „Mensch, Tier und Natur zuliebe ... Nachhaltigkeit und Produkte, die wirklich „guttun“, sind - uns wichtig.“

      -

      Alois Ried - Inhaber MIVITA

      -
      - -
      - -
      - -
      - -
      - -
      - - -
      - -
      -
      - - - - -@endsection +@include($user_shop ?'web.user.start' : 'web.start') diff --git a/resources/views/web/layouts/includes/footer.blade.php b/resources/views/web/layouts/includes/footer.blade.php index 2c99d5e..a011754 100644 --- a/resources/views/web/layouts/includes/footer.blade.php +++ b/resources/views/web/layouts/includes/footer.blade.php @@ -85,11 +85,11 @@ - zum Warenkorb + zum Warenkorb @@ -123,7 +123,7 @@ Aloe Vera
    • -
    • +
    • Produktwelt diff --git a/resources/views/web/start.blade.php b/resources/views/web/start.blade.php new file mode 100644 index 0000000..7f7435e --- /dev/null +++ b/resources/views/web/start.blade.php @@ -0,0 +1,230 @@ +@extends('web.layouts.layout') + +@section('content') + + + + + +
      + +
      +
        + + +
      • + + + +
        + +
        + Deutscher Direktvertrieb für +
        + +
        + 100% Premium Bio Aloe Vera +
        +
      • +
      +
      +
      +
      + + + + +
      +
      + +

      MIVITA ist ein Unternehmen mit Standort in Deutschland, das innovative und umweltfreundliche + sowie hochwertige Produkte vertreibt. Seit seinem Markteintritt bekennt sich das MIVITA Unternehmen zu einem + Werteverständnis, bei dem die Zufriedenheit der Kunden, wie auch die Verantwortung für die Umwelt im Fokus + stehen.

      + +
      + +
      + + +
      +
      + + + +
      +
      +

      Warum MIVITA?

      +

      Unsere Kunden vertrauen zurecht auf die exzellenten Eigenschaften der MIVITA Produkte. Damit trifft + jeder aktiv eine kluge Entscheidung für Gesundheit und Umwelt.

      + +

      Wir legen nicht nur auf die Qualität unserer Produkte einen hohen Stellenwert, sondern natürlich auch + auf umfassende, kompetente Beratung durch freundliche und fachkundige Berater und Beraterinnen.

      + +

      Wir entwickeln und vertreiben ausschließlich Produkte, die qualitativ hochwertig sind. So sind sie + bei sachgemäßer Anwendung und Pflege langlebig und sehr ergiebig. Faktoren, die uns die + Zufriedenheit unserer Kunden sichern.

      + +
      +
      + + +
      +
      + + + + +
      +
      + + +
      +
      +
      +

      Aloe Vera

      +

      Mit höchstem Anspruch arbeiten wir gemeinsam mit der Aloe Vera Farm auf Mallorca + zusammen, die weltweite Qualität der Spitzenklasse garantiert.

      + + + Mehr + + + + lesen + JETZT + + + + + +
      +
      +
      +
      +

      Produkte

      +

      Hier findest Du einen Überblick über das komplette Premium-Produktsortiment von MIVITA. + Vom hochwertigen Aloe Saft bis zu wohltuender Kosmetik.

      + + + Mehr + + + + lesen + JETZT + + + + + +
      +
      +
      +
      +

      Vertriebspartner

      +

      Werde auch Du ein Vertriebspartner von MIVITA und baue Dir Dein eigenes Geschäft mit + Qualitätsprodukten auf. Wenn Du magst, kannst Du sofort starten ...

      + + + Mehr + + + + lesen + JETZT + + + + + +
      +
      + +
      + + +
      +
      + + + +
      +
      + +
      + +
      + +

      MIVITA ist exklusiver Partner der Farm Aloe Vera de Mallorca im Bereich Direktvertrieb Deutschland. + Hier haben zwei Unternehmen zusammengefunden, für die Qualität und Nachhaltigkeit oberstes Gebot + sind. Nur so lassen sich langfristig zufriedene Kunden zu echten Fans unserer Produkte gewinnen.

      +
      +

      „Mensch, Tier und Natur zuliebe ... Nachhaltigkeit und Produkte, die wirklich „guttun“, sind + uns wichtig.“

      +

      Alois Ried - Inhaber MIVITA

      +
      + +
      + +
      + +
      + +
      + +
      + + +
      + +
      +
      + + + + +@endsection diff --git a/resources/views/web/templates/aloevera.blade.php b/resources/views/web/templates/aloevera.blade.php index 55fd0d4..d30138d 100644 --- a/resources/views/web/templates/aloevera.blade.php +++ b/resources/views/web/templates/aloevera.blade.php @@ -1,4 +1,4 @@ -@extends('web.layouts.layout') +@extends($user_shop ?'web.user.layouts.layout' : 'web.layouts.layout') @section('content') diff --git a/resources/views/web/templates/anforderungsprofil.blade.php b/resources/views/web/templates/anforderungsprofil.blade.php index 134c9b8..b71e508 100644 --- a/resources/views/web/templates/anforderungsprofil.blade.php +++ b/resources/views/web/templates/anforderungsprofil.blade.php @@ -1,4 +1,4 @@ -@extends('web.layouts.layout') +@extends($user_shop ?'web.user.layouts.layout' : 'web.layouts.layout') @section('content') diff --git a/resources/views/web/templates/card.blade.php b/resources/views/web/templates/card.blade.php index c12c5d0..b643604 100644 --- a/resources/views/web/templates/card.blade.php +++ b/resources/views/web/templates/card.blade.php @@ -1,4 +1,4 @@ -@extends('web.layouts.layout') +@extends($user_shop ?'web.user.layouts.layout' : 'web.layouts.layout') @section('content') @@ -120,7 +120,7 @@ @if(Yard::instance('shopping')->content()->count()) - {!! Form::open(['url' => route('card_update'), 'class' => 'cartContent clearfix', 'id'=>'']) !!} + {!! Form::open(['url' => route(Util::getPostRoute().'card_update', Util::addRoute()), 'class' => 'cartContent clearfix', 'id'=>'']) !!}
      @@ -149,7 +149,7 @@ {{ $row->name }} Lieferzeit: 1-3 Werktage - +
      {{ $row->subtotal() }}
      × {{ $row->price() }} €
      @@ -158,7 +158,7 @@ @endforeach
      - Warenkorb löschen + Warenkorb löschen
      @@ -213,7 +213,7 @@ - zur Kasse + zur Kasse diff --git a/resources/views/web/templates/checkout-final.blade.php b/resources/views/web/templates/checkout-final.blade.php index 7d768f3..4e13f37 100644 --- a/resources/views/web/templates/checkout-final.blade.php +++ b/resources/views/web/templates/checkout-final.blade.php @@ -1,4 +1,4 @@ -@extends('web.layouts.layout') +@extends($user_shop ?'web.user.layouts.layout' : 'web.layouts.layout') @section('content') diff --git a/resources/views/web/templates/checkout.blade.php b/resources/views/web/templates/checkout.blade.php index a1fb45d..64cea1c 100644 --- a/resources/views/web/templates/checkout.blade.php +++ b/resources/views/web/templates/checkout.blade.php @@ -1,4 +1,4 @@ -@extends('web.layouts.layout') +@extends($user_shop ?'web.user.layouts.layout' : 'web.layouts.layout') @section('content') @@ -103,7 +103,7 @@
      - {!! Form::open(['url' => route('card_checkout_final'), 'class' => 'row clearfix', 'id'=>'']) !!} + {!! Form::open(['url' => route(Util::getPostRoute().'card_checkout_final', Util::addRoute()), 'class' => 'row clearfix', 'id'=>'']) !!} diff --git a/resources/views/web/templates/datenschutz.blade.php b/resources/views/web/templates/datenschutz.blade.php index ff575ea..5d62e18 100644 --- a/resources/views/web/templates/datenschutz.blade.php +++ b/resources/views/web/templates/datenschutz.blade.php @@ -1,4 +1,4 @@ -@extends('web.layouts.layout') +@extends($user_shop ?'web.user.layouts.layout' : 'web.layouts.layout') @section('content')
      diff --git a/resources/views/web/templates/erreichbarkeit.blade.php b/resources/views/web/templates/erreichbarkeit.blade.php index 7fd69de..34023c9 100644 --- a/resources/views/web/templates/erreichbarkeit.blade.php +++ b/resources/views/web/templates/erreichbarkeit.blade.php @@ -1,4 +1,4 @@ -@extends('web.layouts.layout') +@extends($user_shop ?'web.user.layouts.layout' : 'web.layouts.layout') @section('content') diff --git a/resources/views/web/templates/existenzgruendung.blade.php b/resources/views/web/templates/existenzgruendung.blade.php index b3cad8b..7a4c0ca 100644 --- a/resources/views/web/templates/existenzgruendung.blade.php +++ b/resources/views/web/templates/existenzgruendung.blade.php @@ -1,4 +1,4 @@ -@extends('web.layouts.layout') +@extends($user_shop ?'web.user.layouts.layout' : 'web.layouts.layout') @section('content') diff --git a/resources/views/web/templates/impressum.blade.php b/resources/views/web/templates/impressum.blade.php index a347325..02a52c0 100644 --- a/resources/views/web/templates/impressum.blade.php +++ b/resources/views/web/templates/impressum.blade.php @@ -1,4 +1,4 @@ -@extends('web.layouts.layout') +@extends($user_shop ?'web.user.layouts.layout' : 'web.layouts.layout') @section('content')
      diff --git a/resources/views/web/templates/karrierechancen.blade.php b/resources/views/web/templates/karrierechancen.blade.php index f93c7e1..4042022 100644 --- a/resources/views/web/templates/karrierechancen.blade.php +++ b/resources/views/web/templates/karrierechancen.blade.php @@ -1,5 +1,5 @@ -@extends('web.layouts.layout') +@extends($user_shop ?'web.user.layouts.layout' : 'web.layouts.layout') @section('content') diff --git a/resources/views/web/templates/kontakt.blade.php b/resources/views/web/templates/kontakt.blade.php index 903b2fd..bf58034 100644 --- a/resources/views/web/templates/kontakt.blade.php +++ b/resources/views/web/templates/kontakt.blade.php @@ -1,4 +1,4 @@ -@extends('web.layouts.layout') +@extends($user_shop ?'web.user.layouts.layout' : 'web.layouts.layout') @section('content') diff --git a/resources/views/web/templates/partner.blade.php b/resources/views/web/templates/partner.blade.php index 7b1fbf6..6ac7515 100644 --- a/resources/views/web/templates/partner.blade.php +++ b/resources/views/web/templates/partner.blade.php @@ -1,4 +1,4 @@ -@extends('web.layouts.layout') +@extends($user_shop ?'web.user.layouts.layout' : 'web.layouts.layout') @section('content') diff --git a/resources/views/web/templates/produkte-show.blade.php b/resources/views/web/templates/produkte-show.blade.php index 45ad93d..d63d41a 100644 --- a/resources/views/web/templates/produkte-show.blade.php +++ b/resources/views/web/templates/produkte-show.blade.php @@ -1,4 +1,4 @@ -@extends('web.layouts.layout') +@extends($user_shop ?'web.user.layouts.layout' : 'web.layouts.layout') @section('content') @@ -117,7 +117,7 @@

      - {!! Form::open(['url' => route('card_add_post', [$product->id]), 'class' => 'mb-0', 'id'=>'']) !!} + {!! Form::open(['url' => route(Util::getPostRoute().'card_add_post', Util::addRoute([$product->id])), 'class' => 'mb-0', 'id'=>'']) !!}

      diff --git a/resources/views/web/templates/produkte.blade.php b/resources/views/web/templates/produkte.blade.php index 56a9120..372e917 100644 --- a/resources/views/web/templates/produkte.blade.php +++ b/resources/views/web/templates/produkte.blade.php @@ -1,4 +1,6 @@ -@extends('web.layouts.layout') + +@extends($user_shop ?'web.user.layouts.layout' : 'web.layouts.layout') + @section('content') @@ -103,7 +105,7 @@
      - + In den Warenkorb diff --git a/resources/views/web/templates/ueber-uns.blade.php b/resources/views/web/templates/ueber-uns.blade.php index f89bf96..66ed4f9 100644 --- a/resources/views/web/templates/ueber-uns.blade.php +++ b/resources/views/web/templates/ueber-uns.blade.php @@ -1,4 +1,4 @@ -@extends('web.layouts.layout') +@extends($user_shop ?'web.user.layouts.layout' : 'web.layouts.layout') @section('content') diff --git a/resources/views/web/templates/vereinbarkeit.blade.php b/resources/views/web/templates/vereinbarkeit.blade.php index 4a5b734..5d008d1 100644 --- a/resources/views/web/templates/vereinbarkeit.blade.php +++ b/resources/views/web/templates/vereinbarkeit.blade.php @@ -1,4 +1,4 @@ -@extends('web.layouts.layout') +@extends($user_shop ?'web.user.layouts.layout' : 'web.layouts.layout') @section('content') diff --git a/resources/views/web/templates/vorteile.blade.php b/resources/views/web/templates/vorteile.blade.php index b606bc0..2bbc025 100644 --- a/resources/views/web/templates/vorteile.blade.php +++ b/resources/views/web/templates/vorteile.blade.php @@ -1,4 +1,4 @@ -@extends('web.layouts.layout') +@extends($user_shop ?'web.user.layouts.layout' : 'web.layouts.layout') @section('content') diff --git a/resources/views/web/user/layouts/application.blade.php b/resources/views/web/user/layouts/application.blade.php new file mode 100644 index 0000000..c170267 --- /dev/null +++ b/resources/views/web/user/layouts/application.blade.php @@ -0,0 +1,79 @@ + + + + + mivita care + + + + + + + + + + + + + + + + + + + + + + + + + + + @yield('layout-content') + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/views/web/user/layouts/includes/footer.blade.php b/resources/views/web/user/layouts/includes/footer.blade.php new file mode 100644 index 0000000..7ed8711 --- /dev/null +++ b/resources/views/web/user/layouts/includes/footer.blade.php @@ -0,0 +1,62 @@ + +
      +
      + +
      + +
      + +

      + Du möchtest Kontakt aufnehmen? +

      + {!! $user_shop->info !!} +
      + +
      + +
      +
      + + + + + \ No newline at end of file diff --git a/resources/views/web/user/layouts/includes/header.blade.php b/resources/views/web/user/layouts/includes/header.blade.php new file mode 100644 index 0000000..3a66c6c --- /dev/null +++ b/resources/views/web/user/layouts/includes/header.blade.php @@ -0,0 +1,135 @@ + diff --git a/resources/views/web/user/layouts/layout.blade.php b/resources/views/web/user/layouts/layout.blade.php new file mode 100644 index 0000000..d3184d9 --- /dev/null +++ b/resources/views/web/user/layouts/layout.blade.php @@ -0,0 +1,23 @@ +@extends('web.user.layouts.application') + +@section('layout-content') + + @include('web.user.layouts.includes.header') + + +
      + + + + @yield('content') + + + + + @include('web.user.layouts.includes.footer') + + +
      + + +@endsection diff --git a/resources/views/web/user/start.blade.php b/resources/views/web/user/start.blade.php new file mode 100644 index 0000000..32dcf9d --- /dev/null +++ b/resources/views/web/user/start.blade.php @@ -0,0 +1,121 @@ +@extends('web.user.layouts.layout') + +@section('content') + + + + + + + + +
      +
      + + + +
      +
      + + @if($user_shop->isImage()) + + @else +

      {{ $user_shop->title }}

      + @endif + + + +
      +
      + @if($user_shop->isImage()) +

      {{ $user_shop->title }}

      + @endif + {!! $user_shop->copy !!} +
      +
      + + +
      +
      + + + + +
      +
      + + +
      +
      +
      +

      Aloe Vera

      +

      Mit höchstem Anspruch arbeiten wir gemeinsam mit der Aloe Vera Farm auf Mallorca + zusammen, die weltweite Qualität der Spitzenklasse garantiert.

      + + + Mehr + + + + lesen + JETZT + + + + + +
      +
      +
      +
      +

      Produkte

      +

      Hier findest Du einen Überblick über das komplette Premium-Produktsortiment von MIVITA. + Vom hochwertigen Aloe Saft bis zu wohltuender Kosmetik.

      + + + Mehr + + + + lesen + JETZT + + + + + +
      +
      +
      +
      +

      Vertriebspartner

      +

      Werde auch Du ein Vertriebspartner von MIVITA und baue Dir Dein eigenes Geschäft mit + Qualitätsprodukten auf. Wenn Du magst, kannst Du sofort starten ...

      + + + Mehr + + + + lesen + JETZT + + + + + +
      +
      + +
      + + +
      +
      + + +@endsection diff --git a/routes/_web.php b/routes/_web.php new file mode 100755 index 0000000..ee1fd16 --- /dev/null +++ b/routes/_web.php @@ -0,0 +1,312 @@ + '{subdomain}.mivita.local', 'middleware' => 'subdomain'], $RoutesOnlyForExamp); + + + + +/* ROUTING the SUBDOMAINS*/ +/* +Route::group(['domain' => '{subdomain}.mivita.local'], $RoutesOnlyForExamp); + +Route::group(['domain' => 'mivita.local'], $RoutesOnlyForExamp); + +*/ +/* + + + +*/ + + + +Route::get('/data_protected', 'HomeController@legalDataProtected')->name('data_protected'); +Route::get('/imprint', 'HomeController@legalImprint')->name('imprint'); + +Route::get('storage/images/{from}/{slug}', function($from = null, $slug = null) { + if ($from == 'shop'){ + $image = \App\Models\UserShop::where('filename', $slug)->first(); + $path = storage_path('app/public').'/images/shop'.'/'.$image->filename; + + } + if (file_exists($path)) { + return Response::file($path); + } +})->name('storage_images'); + + +Route::domain('mivita.local')->group(function () { + + Route::get('/', 'Web\SiteController@index')->name('/'); + Route::get('/{site}/{subsite?}/{product_slug?}', 'Web\SiteController@site')->name('site'); + Route::get('/card/add/{id}/{quantity?}/{product_slug?}', 'Web\CardController@addToCardGet')->name('card_add_get'); + Route::post('/card/add/{id}', 'Web\CardController@addToCardPost')->name('card_add_post'); + Route::get('/card/show', 'Web\CardController@showCard')->name('card_show'); + Route::get('/card/checkout', 'Web\CardController@checkoutCard')->name('card_checkout'); + Route::post('/card/checkout_final', 'Web\CardController@checkoutFinalCard')->name('card_checkout_final'); + Route::post('/card/update', 'Web\CardController@updateCard')->name('card_update'); + Route::get('/card/remove/{rowId}', 'Web\CardController@removeCard')->name('card_remove'); + Route::get('/card/delete', 'Web\CardController@deleteCard')->name('card_delete'); + + Route::get('product/image/{slug}', function($slug = null) + { + $image = \App\Models\ProductImage::where('slug', $slug)->first(); + $path = storage_path('app/public').'/images/product'.'/'.$image->product_id.'/'.$image->filename; + if (file_exists($path)) { + return Response::file($path); + } + })->name('product_image'); + +}); + + +Route::domain('mein.mivita.local')->group(function () { + + Auth::routes(); + Route::get('/logout', function(){ + Auth::logout(); + return Redirect::to('login'); + })->name('logout'); + + Route::get('locale/{locale}', function ($locale) { + \Session::put('locale', $locale); + if(Auth::check()){ + $user = Auth::user(); + $user->lang = $locale; + $user->save(); + } + return redirect()->back(); + })->name('locale'); + + + Route::post('/loading/modal', 'HomeController@loadingModal')->name('loading_modal'); + Route::get('/', 'HomeController@index')->name('home'); + Route::get('/user/update_email_confirm/{token}', 'UserUpdateEmailController@activateMail')->name('user_update_email_confirm'); + Route::post('/user/check/mail', 'HomeController@checkMail')->name('user_check_mail'); + + Route::get('/register/verify/{confirmationCode}', 'HomeController@verify')->name('register_verify'); + + Route::get('/status/register', 'HomeController@statusRegister')->name('status_register'); + Route::get('/status/verify', 'HomeController@statusVerify')->name('status_verify'); + Route::get('/status/error', 'HomeController@statusError')->name('status_error'); + Route::get('/status/not/found', 'HomeController@notFound')->name('not_found'); + + + Route::group(['middleware' => ['auth']], function() + { + Route::get('storage/{type?}/{file?}', function($type = null, $file = null) + { + if($type == 'xls'){ + $path = storage_path("app/export/"); + $filename = $file.'.xls'; + } + + if (file_exists($path.$filename)) { + return Response::download($path.$filename, $filename); + } + })->name('storage'); + + Route::get('/home', 'HomeController@show')->name('home'); + + + /* Route::get('/user/edit', 'UserController@userEdit')->name('user_edit'); + + */ + Route::get('/user/edit', 'UserDataController@userEdit')->name('user_edit'); + Route::post('/user/edit', 'UserDataController@userEditStore')->name('user_edit'); + Route::post('/user/data/store', 'UserDataController@userDataStore')->name('user_data_store'); + + + Route::get('/user/update_password', 'UserUpdatePasswordController@updatePassword')->name('user_update_password'); + Route::post('/user/update_password', 'UserUpdatePasswordController@updatePasswordStore')->name('user_update_password'); + + Route::get('/user/update_password_first', 'UserUpdatePasswordController@updatePasswordFirst')->name('user_update_password_first'); + Route::post('/user/update_password_first', 'UserUpdatePasswordController@updatePasswordFirstStore')->name('user_update_password_first'); + + Route::get('/user/update_email', 'UserUpdateEmailController@index')->name('user_update_email'); + Route::post('/user/update_email', 'UserUpdateEmailController@update')->name('user_update_email'); + + Route::get('/user/delete_account', 'UserDeleteController@deleteAccount')->name('user_delete_account'); + Route::post('/user/delete_account', 'UserDeleteController@deleteAccountAction')->name('user_delete_account'); + + Route::post('/user/data/accepted/form', 'UserDataController@userDataAcceptedForm')->name('user_data_accepted_form'); + + Route::get('/user/data/free', 'UserDataController@userDataFree')->name('user_data_free'); + Route::post('/user/data/free/form', 'UserDataController@userDataFreeForm')->name('user_data_free_form'); + + Route::get('/user/shop', 'UserShopController@index')->name('user_shop'); + Route::post('/user/shop/store', 'UserShopController@store')->name('user_shop_store'); + Route::post('/user/shop/register/form', 'UserShopController@userShopRegisterForm')->name('user_shop_register_form'); + Route::post('/user/shop/name/check', 'UserShopController@checkUserShopName')->name('user_shop_name_check'); + Route::post('/user/shop/upload/image', 'UserShopController@uploadImage')->name('user_shop_upload_image'); + Route::get('/user/shop/delete/image', 'UserShopController@deleteImage')->name('user_shop_delete_image'); + + }); + + Route::group(['middleware' => ['admin']], function() + { + //translate + Route::get('/admin/translate/all', 'TranslationController@index')->name('admin_translate_all'); + Route::get('/admin/translate/all/edit/{lang}/{from?}', 'TranslationController@edit')->name('admin_translate_all_edit'); + Route::post('/admin/translate/all/update/{lang}/{from?}', 'TranslationController@update')->name('admin_translate_all_update'); + + Route::get('/admin/translate/file', 'TranslationFileController@index')->name('admin_translate_file'); + Route::get('/admin/translation/file/{file}/{language?}/{langsource?}/{show?}', 'TranslationFileController@edit')->name('admin_translate_file_edit'); + Route::post('/admin/translation/file/{file}/{language?}/{langsource?}/{show?}', 'TranslationFileController@update')->name('admin_translate_file_update'); + + //products + Route::get('admin/product/show', 'ProductController@index')->name('admin_product_show'); + Route::post('admin/product/store', 'ProductController@store')->name('admin_product_store'); + Route::get('admin/product/edit/{id}', 'ProductController@edit')->name('admin_product_edit'); + Route::get('admin/product/delete/{id}', 'ProductController@delete')->name('admin_product_delete'); + //products images + Route::post('admin/product/upload/image', 'ProductController@uploadImage')->name('admin_product_upload_image'); + Route::get('admin/product/{image_id}/{product_id}', 'ProductController@deleteImage')->name('admin_product_delete_image'); + //products categories + Route::get('admin/product/categories', 'CategoryController@index')->name('admin_product_categories'); + Route::post('admin/product/category/store', 'CategoryController@store')->name('admin_product_category_store'); + Route::get('admin/product/category/delete/{id}', 'CategoryController@delete')->name('admin_product_category_delete'); + //products attributes + Route::get('admin/product/attributes', 'AttributeController@index')->name('admin_product_attributes'); + Route::post('admin/product/attribute/store', 'AttributeController@store')->name('admin_product_attribute_store'); + Route::get('admin/product/attribute/delete/{id}', 'AttributeController@delete')->name('admin_product_attribute_delete'); + + + //Route::get('/admin/products/import', 'ImportProductController@import')->name('admin_product_import'); + + //leads + Route::get('datatables/leads', 'DataTableController@getLeads')->name('datatables-leads'); + + Route::get('/admin/leads', 'LeadController@index')->name('admin_leads'); + Route::get('/admin/lead/edit/{id}', 'LeadController@edit')->name('admin_lead_edit'); + + Route::get('/admin/lead/change_mail/{id}', 'UserUpdateEmailController@adminChangeMail')->name('admin_lead_change_mail'); + Route::post('/admin/lead/change_mail/{id}', 'UserUpdateEmailController@adminUpdateMail')->name('admin_lead_change_mail'); + + Route::post('/admin/lead/store', 'LeadController@store')->name('admin_lead_store'); + + + + + + + }); + + //login pages for superadmin + Route::group(['middleware' => ['superadmin']], function() { + //leads + Route::get('/admin/users', 'AdminUserController@index')->name('admin_users'); + Route::get('/admin/user/edit/{user_id}', 'AdminUserController@edit')->name('admin_user_edit'); + Route::post('/admin/user/store', 'AdminUserController@store')->name('admin_user_store'); + Route::get('/admin/user/delete/{user_id}', 'AdminUserController@deleteUser')->name('admin_user_delete'); + + Route::get('data_table', 'DataTableController@datatable')->name('data_table'); + // Route::get('datatables/leads', 'DataTableController@getLeads')->name('datatables-leads'); + Route::get('data/table/users', 'DataTableController@getUsers')->name('data_table_users'); + + }); + + +}); + + +Route::domain('{subdomain}.mivita.local')->group(function () { + + Route::group(['middleware' => ['subdomain']], function() { + + + + + }); +}); + + + + +/* + +//Route::get('/', 'HomeController@index')->name('/'); + +/*Route::post('/register/data', 'HomeController@register')->name('register_data'); +Route::post('/user/check/mail', 'HomeController@checkMail')->name('user_check_mail'); + +Route::get('/register/verify/{confirmationCode}', 'HomeController@verify')->name('register_verify'); + +Route::get('/status/register', 'HomeController@statusRegister')->name('status_register'); +Route::get('/status/verify', 'HomeController@statusVerify')->name('status_verify'); +Route::get('/status/error', 'HomeController@statusError')->name('status_error'); + + +Route::get('/user/update_email_confirm/{token}', 'UpdateEmailController@activateMail')->name('user_update_email_confirm'); +*/ + + + + + +/*Route::get('storage/{what}/{path}/{id}/{file_name}', function($what = null, $path = null, $id = null, $file_name = null) +{ + $path = storage_path().'/app/'.$path.'/'.$id.'/images/'.$what.'/'.$file_name; + if (file_exists($path)) { + return Response::file($path); + } +}); + +Route::get('storage/{user_id}/{file_name}', function($user_id = null, $file_name = null) +{ + $path = storage_path().'/'.'app'.'/user/' . $user_id . '/verification/' . $file_name; + if (file_exists($path)) { + return Response::file($path); + } +}); +*/ + +/* +use App\Mail\MailResetPassword; + +Route::get('/send_test_email', function(){ + + try { + // Mail::to('kevin.adametz@me.com')->send(new MailResetPassword('asdasd', Auth::user())); + + Mail::raw('Sending emails with Mailgun and Laravel is easy!', function($message) { + $message->to('kevin.adametz@me.com', 'Kevin Adametz'); + $message->subject('testing Networktrips'); + }); + + + + } catch (\Exception $e) { + dd($e->getMessage()); + } + + $fail = Mail::failures(); + + if(!empty($fail)) throw new \Exception('Could not send message to '.$fail[0]); + + }); + +*/ \ No newline at end of file diff --git a/routes/web.php b/routes/web.php index ec6b1f7..69fcfb3 100755 --- a/routes/web.php +++ b/routes/web.php @@ -23,38 +23,29 @@ Route::get('storage/images/{from}/{slug}', function($from = null, $slug = null) } })->name('storage_images'); +Route::get('product/image/{slug}', function($slug = null) +{ + $image = \App\Models\ProductImage::where('slug', $slug)->first(); + $path = storage_path('app/public').'/images/product'.'/'.$image->product_id.'/'.$image->filename; + if (file_exists($path)) { + return Response::file($path); + } +})->name('product_image'); Route::domain('mivita.local')->group(function () { Route::get('/', 'Web\SiteController@index')->name('/'); - - Route::get('product/image/{slug}', function($slug = null) - { - $image = \App\Models\ProductImage::where('slug', $slug)->first(); - $path = storage_path('app/public').'/images/product'.'/'.$image->product_id.'/'.$image->filename; - if (file_exists($path)) { - return Response::file($path); - } - })->name('product_image'); - - Route::get('/card/add/{id}/{quantity?}/{product_slug?}', 'Web\CardController@addToCardGet')->name('card_add_get'); - - Route::post('/card/add/{id}', 'Web\CardController@addToCardPost')->name('card_add_post'); - - Route::get('/card/show', 'Web\CardController@showCard')->name('card_show'); - - Route::get('/card/checkout', 'Web\CardController@checkoutCard')->name('card_checkout'); - Route::post('/card/checkout_final', 'Web\CardController@checkoutFinalCard')->name('card_checkout_final'); - - Route::post('/card/update', 'Web\CardController@updateCard')->name('card_update'); - - Route::get('/card/remove/{rowId}', 'Web\CardController@removeCard')->name('card_remove'); - - Route::get('/card/delete', 'Web\CardController@deleteCard')->name('card_delete'); - - Route::get('/{site}/{subsite?}/{product_slug?}', 'Web\SiteController@site')->name('site'); + Route::get('/card/add/{id}/{quantity?}/{product_slug?}', 'Web\CardController@addToCardGet')->name('base.card_add_get'); + Route::post('/card/add/{id}', 'Web\CardController@addToCardPost')->name('base.card_add_post'); + Route::get('/card/show', 'Web\CardController@showCard')->name('base.card_show'); + Route::get('/card/checkout', 'Web\CardController@checkoutCard')->name('base.card_checkout'); + Route::post('/card/checkout_final', 'Web\CardController@checkoutFinalCard')->name('base.card_checkout_final'); + Route::post('/card/update', 'Web\CardController@updateCard')->name('base.card_update'); + Route::get('/card/remove/{rowId}', 'Web\CardController@removeCard')->name('base.card_remove'); + Route::get('/card/delete', 'Web\CardController@deleteCard')->name('base.card_delete'); + Route::get('/{site}/{subsite?}/{product_slug?}', 'Web\SiteController@site')->name('base.site'); }); @@ -185,11 +176,6 @@ Route::domain('mein.mivita.local')->group(function () { Route::post('/admin/lead/store', 'LeadController@store')->name('admin_lead_store'); - - - - - }); //login pages for superadmin @@ -200,13 +186,14 @@ Route::domain('mein.mivita.local')->group(function () { Route::post('/admin/user/store', 'AdminUserController@store')->name('admin_user_store'); Route::get('/admin/user/delete/{user_id}', 'AdminUserController@deleteUser')->name('admin_user_delete'); + Route::get('/admin/shippings', 'ShippingController@index')->name('admin_shippings'); + Route::get('/admin/shipping/edit/{shipping_id}', 'ShippingController@edit')->name('admin_shipping_edit'); + Route::post('/admin/shipping/store', 'ShippingController@store')->name('admin_shipping_store'); + Route::get('/admin/shipping/delete/{shipping_id}', 'ShippingController@deleteUser')->name('admin_shipping_delete'); + Route::get('data_table', 'DataTableController@datatable')->name('data_table'); // Route::get('datatables/leads', 'DataTableController@getLeads')->name('datatables-leads'); Route::get('data/table/users', 'DataTableController@getUsers')->name('data_table_users'); - - - - }); @@ -215,12 +202,22 @@ Route::domain('mein.mivita.local')->group(function () { /* ROUTING the SUBDOMAINS*/ -Route::domain('{sub}.mivita.local')->group(function () { +Route::domain('{subdomain}.mivita.local')->group(function () { + Route::group(['middleware' => ['subdomain']], function() { - Route::get('/', function ($sub) { - die($sub); - }); + Route::get('/', 'Web\SiteController@index')->name(''); + Route::get('/card/add/{id}/{quantity?}/{product_slug?}', 'Web\CardController@addToCardGet')->name('user.card_add_get'); + Route::post('/card/add/{id}', 'Web\CardController@addToCardPost')->name('user.card_add_post'); + Route::get('/card/show', 'Web\CardController@showCard')->name('user.card_show'); + Route::get('/card/checkout', 'Web\CardController@checkoutCard')->name('user.card_checkout'); + Route::post('/card/checkout_final', 'Web\CardController@checkoutFinalCard')->name('user.card_checkout_final'); + Route::post('/card/update', 'Web\CardController@updateCard')->name('user.card_update'); + Route::get('/card/remove/{rowId}', 'Web\CardController@removeCard')->name('user.card_remove'); + Route::get('/card/delete', 'Web\CardController@deleteCard')->name('user.card_delete'); + Route::get('/{site}/{subsite?}/{product_slug?}', 'Web\SiteController@site')->name('user.site'); + + }); });