user shops + shipping
This commit is contained in:
parent
ccc2af4bf7
commit
d4f6a774d0
53 changed files with 2326 additions and 814 deletions
1082
.idea/workspace.xml
generated
1082
.idea/workspace.xml
generated
File diff suppressed because it is too large
Load diff
|
|
@ -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 ) );
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
104
app/Http/Controllers/ShippingController.php
Executable file
104
app/Http/Controllers/ShippingController.php
Executable file
|
|
@ -0,0 +1,104 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
|
||||
|
||||
|
||||
use App\Models\Shipping;
|
||||
use Input;
|
||||
use Illuminate\Http\Request;
|
||||
use Validator;
|
||||
|
||||
|
||||
class ShippingController extends Controller
|
||||
{
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->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');
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
35
app/Http/Middleware/Subdomain.php
Executable file
35
app/Http/Middleware/Subdomain.php
Executable file
|
|
@ -0,0 +1,35 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use App\Models\UserShop;
|
||||
use Closure;
|
||||
use Auth;
|
||||
use phpDocumentor\Reflection\DocBlock\Tags\Uses;
|
||||
use Util;
|
||||
|
||||
class Subdomain
|
||||
{
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \Closure $next
|
||||
* @return mixed
|
||||
*/
|
||||
public function handle($request, Closure $next)
|
||||
{
|
||||
|
||||
if(!empty($request->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'));
|
||||
|
||||
}
|
||||
}
|
||||
50
app/Models/Shipping.php
Normal file
50
app/Models/Shipping.php
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Shipping extends Model
|
||||
{
|
||||
protected $table = 'shippings';
|
||||
|
||||
protected $casts = [
|
||||
'trans_name' => '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');
|
||||
}
|
||||
}
|
||||
25
app/Models/ShippingCountry.php
Normal file
25
app/Models/ShippingCountry.php
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class ShippingCountry extends Model
|
||||
{
|
||||
protected $table = 'shipping_countries';
|
||||
|
||||
|
||||
protected $fillable = [
|
||||
'shipping_id', 'country_id'
|
||||
];
|
||||
|
||||
public function shipping()
|
||||
{
|
||||
return $this->belongsTo('App\Models\Shipping', 'shipping_id');
|
||||
}
|
||||
|
||||
public function country()
|
||||
{
|
||||
return $this->belongsTo('App\Models\Country', 'country_id');
|
||||
}
|
||||
}
|
||||
93
app/Models/ShippingPrice.php
Normal file
93
app/Models/ShippingPrice.php
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class ShippingPrice extends Model
|
||||
{
|
||||
protected $table = 'shipping_prices';
|
||||
|
||||
protected $fillable = [
|
||||
'shipping_id', 'price', 'tax', 'factor', 'total_from', 'total_to', 'weight_from', 'weight_to',
|
||||
];
|
||||
|
||||
public function shipping()
|
||||
{
|
||||
return $this->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, ',', '.');
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -0,0 +1,39 @@
|
|||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
class CreateShippingsTable extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('shippings', function (Blueprint $table) {
|
||||
$table->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');
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
class CreateShippingPricesTable extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('shipping_prices', function (Blueprint $table) {
|
||||
$table->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');
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
class CreateShippingCountriesTable extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('shipping_countries', function (Blueprint $table) {
|
||||
$table->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');
|
||||
}
|
||||
}
|
||||
BIN
public/assets/images/logo_bio.png
Normal file
BIN
public/assets/images/logo_bio.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 18 KiB |
BIN
public/assets/images/logo_derma.png
Normal file
BIN
public/assets/images/logo_derma.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 30 KiB |
|
|
@ -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",
|
||||
"":""
|
||||
}
|
||||
72
resources/views/admin/shipping/edit.blade.php
Executable file
72
resources/views/admin/shipping/edit.blade.php
Executable file
|
|
@ -0,0 +1,72 @@
|
|||
@extends('layouts.layout-2')
|
||||
|
||||
@section('content')
|
||||
|
||||
@if ($errors->any())
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="alert alert-danger">
|
||||
<ul>
|
||||
@foreach ($errors->all() as $error)
|
||||
<li>{{ $error }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<h4 class="font-weight-bold py-2 mb-2">
|
||||
{{ __('Create/Edit Versandkosten') }}
|
||||
</h4>
|
||||
|
||||
{!! Form::open(['url' => route('admin_shipping_store'), 'class' => 'form-horizontal', 'id'=>'']) !!}
|
||||
<input type="hidden" name="id" id="id" value="@if($value->id>0){{$value->id}}@else new @endif">
|
||||
|
||||
<div class="text-left mt-0 mb-2">
|
||||
<button type="submit" class="btn btn-submit">{{ __('save') }}</button>
|
||||
<a href="{{ route('admin_shippings') }}" class="btn btn-default">{{ __('back') }}</a>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="card mb-2">
|
||||
|
||||
<h5 class="card-header">
|
||||
{{ __('Versandkosten') }}
|
||||
|
||||
</h5>
|
||||
|
||||
<div class="card-body">
|
||||
<div class="form-group">
|
||||
<label class="custom-control custom-checkbox float-right">
|
||||
{!! Form::checkbox('active', 1, $value->active, ['class'=>'custom-control-input']) !!}
|
||||
<span class="custom-control-label">{{__('aktiv')}}</span>
|
||||
</label>
|
||||
<label class="form-label" for="name">{{ __('Name') }}*</label>
|
||||
{{ Form::text('name', $value->name, array('placeholder'=>__('Name'), 'class'=>'form-control'.($errors->has('name') ? ' is-invalid' : ''), 'id'=>'name', 'required')) }}
|
||||
</div>
|
||||
@if ($errors->has('name'))
|
||||
<span class="invalid-feedback" style="display: inline-block;">
|
||||
<strong>{{ $errors->first('name') }}</strong>
|
||||
</span>
|
||||
@endif
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="title">{{ __('Free') }}</label>
|
||||
{{ Form::text('free', $value->getFormattedFree(), array('placeholder'=>__('Free'), 'class'=>'form-control', 'id'=>'free')) }}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="text-left mt-0 mb-2">
|
||||
<button type="submit" class="btn btn-submit">{{ __('save') }}</button>
|
||||
<a href="{{ route('admin_shippings') }}" class="btn btn-default">{{ __('back') }}</a>
|
||||
</div>
|
||||
|
||||
{!! Form::close() !!}
|
||||
|
||||
|
||||
|
||||
|
||||
@endsection
|
||||
59
resources/views/admin/shipping/index.blade.php
Executable file
59
resources/views/admin/shipping/index.blade.php
Executable file
|
|
@ -0,0 +1,59 @@
|
|||
@extends('layouts.layout-2')
|
||||
|
||||
@section('content')
|
||||
<div class="card">
|
||||
<h6 class="card-header">
|
||||
{{__('Versandkosten')}}
|
||||
</h6>
|
||||
<div class="card-datatable table-responsive">
|
||||
<table class="datatables-style table table-striped table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="max-width: 60px;"> </th>
|
||||
<th>{{__('Name')}}</th>
|
||||
<th>{{__('Status')}}</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($values as $value)
|
||||
<tr>
|
||||
<td>
|
||||
<a href="{{route('admin_shipping_edit', [$value->id])}}" class="btn icon-btn btn-sm btn-primary">
|
||||
<span class="far fa-edit"></span>
|
||||
</a>
|
||||
</td>
|
||||
<td>{{ $value->name }}</td>
|
||||
<td data-sort="{{ $value->active }}">@if($value->active) <span class="badge badge-pill badge-success"><i class="far fa-check"></i></span>@else<span class="badge badge-pill badge-danger"><i class="far fa-times"></i></span>@endif</td>
|
||||
<td><a class="text-danger" href="{{ route('admin_shipping_delete', [$value->id]) }}" onclick="return confirm('{{__('Really delete entry?')}}');"><i class="far fa-trash-alt"></i></a></td>
|
||||
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="mt-4 ml-4">
|
||||
<a href="{{route('admin_shipping_edit', ['new'])}}" class="btn btn-sm btn-primary">
|
||||
{{__('Neue Versandkosten erstellen')}}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
$( document ).ready(function() {
|
||||
|
||||
$('.datatables-style').dataTable({
|
||||
"bLengthChange": false,
|
||||
"iDisplayLength": 50,
|
||||
"aoColumns": [
|
||||
{ "sWidth": "10%" },
|
||||
{ "sWidth": "80%" },
|
||||
{ "sWidth": "10%" },
|
||||
],
|
||||
"language": {
|
||||
"url": "/js/German.json"
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endsection
|
||||
|
|
@ -54,7 +54,21 @@
|
|||
@if($user->active == 1 && !$user->user_shop)
|
||||
<div class="card-body" style="background: #fff; border: 1px solid rgba(24, 28, 33, 0.06);">
|
||||
<h4>{{__('Your Shop') }}</h4>
|
||||
<a href="{{route('user_shop')}}" class="btn btn-secondary">{{__('open your shop')}}</a>
|
||||
@if($user->shop)
|
||||
<p><span class="ion ion-md-checkmark-circle-outline text-primary"></span>
|
||||
<strong>{{__('open since')}}</strong> {{__('at')}} {{ $user->shop->getActiveDateFormat() }}</p>
|
||||
@if($user->shop->active)
|
||||
<p><span class="ion ion-md-close-circle-outline text-danger"></span>
|
||||
<strong>{{__('Status')}}</strong> {{ __('active') }}</p>
|
||||
@else
|
||||
<p><span class="ion ion-md-close-circle-outline text-danger"></span>
|
||||
<strong>{{__('Status')}}</strong> {{ __('inactive') }}</p>
|
||||
@endif
|
||||
<a href="{{route('user_shop')}}" class="btn btn-secondary">{{__('settings your shop')}}</a>
|
||||
|
||||
@else
|
||||
<a href="{{route('user_shop')}}" class="btn btn-secondary">{{__('open your shop')}}</a>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
@endif
|
||||
|
|
|
|||
|
|
@ -117,6 +117,8 @@
|
|||
|
||||
<script src="{{ asset('/vendor/libs/summernote/dist/summernote-bs4.min.js') }}"></script>
|
||||
<script src="{{ asset('/vendor/libs/summernote/lang/summernote-de-DE.js') }}"></script>
|
||||
<script src="{{ asset('/vendor/libs/summernote-cleaner/summernote-cleaner.js') }}"></script>
|
||||
|
||||
|
||||
<script src="{{ asset('/js/forms_file-upload.js') }}"></script>
|
||||
<script src="{{ asset('/vendor/libs/slim-image-cropper/slim/slim.kickstart.min.js') }}"></script>
|
||||
|
|
@ -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: '<br>', // Summernote's default is to use '<p><br></p>'
|
||||
notStyle: 'position:absolute;top:0;left:0;right:0', // Position of Notification
|
||||
icon: '<i class="note-icon">[Your Button]</i>',
|
||||
keepHtml: false, // Remove all Html formats
|
||||
keepOnlyTags: ['<p>', '<br>', '<ul>', '<li>', '<b>', '<strong>','<i>', '<a>'], // 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: '<br>', // Summernote's default is to use '<p><br></p>'
|
||||
notStyle: 'position:absolute;top:0;left:0;right:0', // Position of Notification
|
||||
icon: '<i class="note-icon">[Your Button]</i>',
|
||||
keepHtml: false, // Remove all Html formats
|
||||
keepOnlyTags: ['<p>', '<br>', '<ul>', '<li>', '<b>', '<strong>','<i>', '<a>'], // 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();
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
|
|
|
|||
|
|
@ -82,6 +82,10 @@
|
|||
<a href="{{ route('admin_users') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-ribbon"></i><div>{{ __('User Rechte') }}</div></a>
|
||||
</li>
|
||||
|
||||
<li class="sidenav-item{{ Request::is('admin/shippings') ? ' active' : '' }} {{ Request::is('admin/shipping/edit/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_shippings') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-gift"></i><div>{{ __('Versandkosten') }}</div></a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
@endif
|
||||
|
|
|
|||
|
|
@ -76,7 +76,11 @@
|
|||
</li>
|
||||
@if(!$user->shop->getSubdomainStatus())
|
||||
<li class="list-group-item d-flex justify-content-between align-items-center">
|
||||
<small>{{ __('not available copy') }}</small>
|
||||
<small>{{ __('not available copy') }}
|
||||
<a href="" class="btn icon-btn btn-xs btn-outline-primary">
|
||||
<span class="lnr lnr-redo"></span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
@endif
|
||||
<li class="list-group-item d-flex justify-content-between align-items-center">
|
||||
|
|
|
|||
|
|
@ -1,230 +1 @@
|
|||
@extends('web.layouts.layout')
|
||||
|
||||
@section('content')
|
||||
|
||||
|
||||
<style type="text/css">
|
||||
.tp-caption {
|
||||
text-shadow: none;
|
||||
}
|
||||
</style>
|
||||
|
||||
<!-- REVOLUTION SLIDER -->
|
||||
<section id="slider" class="slider fullwidthbanner-container roundedcorners">
|
||||
|
||||
<div class="fullwidthbanner" data-height="500" data-navigationStyle="">
|
||||
<ul class="hide">
|
||||
|
||||
<!-- SLIDE -->
|
||||
<li data-transition="fade" data-slotamount="1" data-masterspeed="1000" data-saveperformance="off"
|
||||
data-title="Slide">
|
||||
|
||||
<img src="{{ asset('assets/images/1x1.png') }}" data-lazyload="{{ asset('assets/images/slider-hg_gruen-mitte.jpg') }}" alt=""
|
||||
data-bgfit="cover" data-bgposition="center top" data-bgrepeat="no-repeat"/>
|
||||
|
||||
<div class="overlay dark-0"><!-- dark overlay [1 to 9 opacity] --></div>
|
||||
|
||||
<div class="tp-caption customin ltl tp-resizeme text_white"
|
||||
data-x="center"
|
||||
data-y="60"
|
||||
data-customin="x:0;y:150;z:0;rotationZ:0;scaleX:1;scaleY:1;skewX:0;skewY:0;opacity:0;transformPerspective:200;transformOrigin:50% 0%;"
|
||||
data-speed="800"
|
||||
data-start="1000"
|
||||
data-easing="easeOutQuad"
|
||||
data-splitin="none"
|
||||
data-splitout="none"
|
||||
data-elementdelay="0.01"
|
||||
data-endelementdelay="0.1"
|
||||
data-endspeed="1000"
|
||||
data-endeasing="Power4.easeIn" style="z-index: 10;">
|
||||
<span class="weight-400">Deutscher Direktvertrieb für</span>
|
||||
</div>
|
||||
|
||||
<div class="tp-caption customin ltl tp-resizeme large_bold_white"
|
||||
data-x="center"
|
||||
data-y="100"
|
||||
data-customin="x:0;y:150;z:0;rotationZ:0;scaleX:1;scaleY:1;skewX:0;skewY:0;opacity:0;transformPerspective:200;transformOrigin:50% 0%;"
|
||||
data-speed="800"
|
||||
data-start="1200"
|
||||
data-easing="easeOutQuad"
|
||||
data-splitin="none"
|
||||
data-splitout="none"
|
||||
data-elementdelay="0.01"
|
||||
data-endelementdelay="0.1"
|
||||
data-endspeed="1000"
|
||||
data-endeasing="Power4.easeIn" style="z-index: 10;">
|
||||
<span class="h1">100% Premium Bio Aloe Vera</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tp-bannertimer"></div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- /REVOLUTION SLIDER -->
|
||||
|
||||
|
||||
<!-- -->
|
||||
<section>
|
||||
<div class="container">
|
||||
|
||||
<p class="">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.</p>
|
||||
|
||||
<div class="divider divider-center divider-color"><!-- divider -->
|
||||
<i class="fa fa-chevron-down"></i>
|
||||
</div>
|
||||
|
||||
<!-- BORN TO BE A WINNER -->
|
||||
<article class="row">
|
||||
<div class="col-md-6">
|
||||
<!-- OWL SLIDER -->
|
||||
<div class="owl-carousel buttons-autohide controlls-over nomargin"
|
||||
data-plugin-options='{"items": 1, "autoHeight": true, "navigation": true, "pagination": true, "transitionStyle":"backSlide", "progressBar":"true"}'>
|
||||
<div>
|
||||
<img class="img-responsive" src="{{ asset('assets/images/aloe-vera-farm-mallorca.jpg') }}" alt="">
|
||||
</div>
|
||||
<div>
|
||||
<img class="img-responsive" src="{{ asset('assets/images/beratung-ruth-mallorca.jpg') }}" alt="">
|
||||
</div>
|
||||
<div>
|
||||
<img class="img-responsive" src="{{ asset('assets/images/mivita-schulung-mallorca.jpg') }}" alt="">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /OWL SLIDER -->
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h2>Warum MIVITA?</h2>
|
||||
<p>Unsere Kunden vertrauen zurecht auf die exzellenten Eigenschaften der MIVITA Produkte. Damit trifft
|
||||
jeder aktiv eine kluge Entscheidung für Gesundheit und Umwelt.</p>
|
||||
|
||||
<p>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.</p>
|
||||
|
||||
<p>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.</p>
|
||||
|
||||
</div>
|
||||
</article>
|
||||
<!-- /BORN TO BE A WINNER -->
|
||||
|
||||
</div>
|
||||
</section>
|
||||
<!-- / -->
|
||||
|
||||
|
||||
<!-- -->
|
||||
<section>
|
||||
<div class="container">
|
||||
|
||||
<!-- FEATURED BOXES 3 -->
|
||||
<div class="row">
|
||||
<div class="col-md-4 col-xs-6">
|
||||
<div class="text-center">
|
||||
<h3 class="h3">Aloe Vera</h3>
|
||||
<p class="">Mit höchstem Anspruch arbeiten wir gemeinsam mit der Aloe Vera Farm auf Mallorca
|
||||
zusammen, die weltweite Qualität der Spitzenklasse garantiert.</p>
|
||||
|
||||
<a href="/aloevera">
|
||||
Mehr
|
||||
<!-- /word rotator -->
|
||||
<span class="word-rotator" data-delay="2000">
|
||||
<span class="items">
|
||||
<span>lesen</span>
|
||||
<span>JETZT</span>
|
||||
</span>
|
||||
</span><!-- /word rotator -->
|
||||
<i class="glyphicon glyphicon-menu-right size-12"></i>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 col-xs-6">
|
||||
<div class="text-center">
|
||||
<h3 class="h3">Produkte</h3>
|
||||
<p class="">Hier findest Du einen Überblick über das komplette Premium-Produktsortiment von MIVITA.
|
||||
Vom hochwertigen Aloe Saft bis zu wohltuender Kosmetik.</p>
|
||||
|
||||
<a href="/produkte">
|
||||
Mehr
|
||||
<!-- /word rotator -->
|
||||
<span class="word-rotator" data-delay="2000">
|
||||
<span class="items">
|
||||
<span>lesen</span>
|
||||
<span>JETZT</span>
|
||||
</span>
|
||||
</span><!-- /word rotator -->
|
||||
<i class="glyphicon glyphicon-menu-right size-12"></i>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 col-xs-6">
|
||||
<div class="text-center">
|
||||
<h3 class="h3">Vertriebspartner</h3>
|
||||
<p class="">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 ...</p>
|
||||
|
||||
<a href="/geschaeftsmodell/karrierechancen">
|
||||
Mehr
|
||||
<!-- /word rotator -->
|
||||
<span class="word-rotator" data-delay="2000">
|
||||
<span class="items">
|
||||
<span>lesen</span>
|
||||
<span>JETZT</span>
|
||||
</span>
|
||||
</span><!-- /word rotator -->
|
||||
<i class="glyphicon glyphicon-menu-right size-12"></i>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /FEATURED BOXES 3 -->
|
||||
|
||||
</div>
|
||||
</section>
|
||||
<!-- / -->
|
||||
|
||||
<!-- -->
|
||||
<section>
|
||||
<div class="container">
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-6">
|
||||
|
||||
<p>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.</p>
|
||||
<blockquote>
|
||||
<p><i>„Mensch, Tier und Natur zuliebe ... Nachhaltigkeit und Produkte, die wirklich „guttun“, sind
|
||||
uns wichtig.“</i></p>
|
||||
<p>Alois Ried - Inhaber MIVITA</p>
|
||||
</blockquote>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6">
|
||||
|
||||
<div class="embed-responsive embed-responsive-16by9 box-shadow-1">
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/ChHAxy6SbkM?rel=0"
|
||||
frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
<!-- / -->
|
||||
|
||||
|
||||
|
||||
@endsection
|
||||
@include($user_shop ?'web.user.start' : 'web.start')
|
||||
|
|
|
|||
|
|
@ -85,11 +85,11 @@
|
|||
<div class="copyright">
|
||||
<div class="container">
|
||||
<ul class="pull-right nomargin list-inline mobile-block">
|
||||
<li {{ Request::is('datenschutz') ? ' active' : '' }} "><a
|
||||
href="{{ url('/datenschutz') }}">Datenschutzerklärung</a></li>
|
||||
<li class="{{ Request::is('data_protected') ? ' active' : '' }}"><a
|
||||
href="{{ url('/data_protected') }}">Datenschutzerklärung</a></li>
|
||||
<li>•</li>
|
||||
<li {{ Request::is('impressum') ? ' active' : '' }} "><a
|
||||
href="{{ url('/impressum') }}">Impressum</a></li>
|
||||
<li class="{{ Request::is('imprint') ? ' active' : '' }} "><a
|
||||
href="{{ url('/imprint') }}">Impressum</a></li>
|
||||
</ul>
|
||||
© All Rights Reserved, mivita.care
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -94,7 +94,7 @@
|
|||
<em style="font-size: 0.9em">inkl. MwSt. zzgl. Versandkosten</em>
|
||||
|
||||
</div>
|
||||
<a href="{{ route('card_show') }}" class="btn btn-primary btn-block mt-3">zum Warenkorb</a>
|
||||
<a href="{{ route(Util::getPostRoute().'card_show', Util::addRoute()) }}" class="btn btn-primary btn-block mt-3">zum Warenkorb</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -123,7 +123,7 @@
|
|||
Aloe Vera
|
||||
</a>
|
||||
</li>
|
||||
<li class="{{ Request::is('/produkte/*') ? ' active' : '' }}">
|
||||
<li class="{{ Request::is('produkte/*') ? ' active' : '' }}">
|
||||
<a href="{{url('/produkte/alle-produkte')}}/">
|
||||
Produktwelt
|
||||
</a>
|
||||
|
|
|
|||
230
resources/views/web/start.blade.php
Normal file
230
resources/views/web/start.blade.php
Normal file
|
|
@ -0,0 +1,230 @@
|
|||
@extends('web.layouts.layout')
|
||||
|
||||
@section('content')
|
||||
|
||||
|
||||
<style type="text/css">
|
||||
.tp-caption {
|
||||
text-shadow: none;
|
||||
}
|
||||
</style>
|
||||
|
||||
<!-- REVOLUTION SLIDER -->
|
||||
<section id="slider" class="slider fullwidthbanner-container roundedcorners">
|
||||
|
||||
<div class="fullwidthbanner" data-height="500" data-navigationStyle="">
|
||||
<ul class="hide">
|
||||
|
||||
<!-- SLIDE -->
|
||||
<li data-transition="fade" data-slotamount="1" data-masterspeed="1000" data-saveperformance="off"
|
||||
data-title="Slide">
|
||||
|
||||
<img src="{{ asset('assets/images/1x1.png') }}" data-lazyload="{{ asset('assets/images/slider-hg_gruen-mitte.jpg') }}" alt=""
|
||||
data-bgfit="cover" data-bgposition="center top" data-bgrepeat="no-repeat"/>
|
||||
|
||||
<div class="overlay dark-0"><!-- dark overlay [1 to 9 opacity] --></div>
|
||||
|
||||
<div class="tp-caption customin ltl tp-resizeme text_white"
|
||||
data-x="center"
|
||||
data-y="60"
|
||||
data-customin="x:0;y:150;z:0;rotationZ:0;scaleX:1;scaleY:1;skewX:0;skewY:0;opacity:0;transformPerspective:200;transformOrigin:50% 0%;"
|
||||
data-speed="800"
|
||||
data-start="1000"
|
||||
data-easing="easeOutQuad"
|
||||
data-splitin="none"
|
||||
data-splitout="none"
|
||||
data-elementdelay="0.01"
|
||||
data-endelementdelay="0.1"
|
||||
data-endspeed="1000"
|
||||
data-endeasing="Power4.easeIn" style="z-index: 10;">
|
||||
<span class="weight-400">Deutscher Direktvertrieb für</span>
|
||||
</div>
|
||||
|
||||
<div class="tp-caption customin ltl tp-resizeme large_bold_white"
|
||||
data-x="center"
|
||||
data-y="100"
|
||||
data-customin="x:0;y:150;z:0;rotationZ:0;scaleX:1;scaleY:1;skewX:0;skewY:0;opacity:0;transformPerspective:200;transformOrigin:50% 0%;"
|
||||
data-speed="800"
|
||||
data-start="1200"
|
||||
data-easing="easeOutQuad"
|
||||
data-splitin="none"
|
||||
data-splitout="none"
|
||||
data-elementdelay="0.01"
|
||||
data-endelementdelay="0.1"
|
||||
data-endspeed="1000"
|
||||
data-endeasing="Power4.easeIn" style="z-index: 10;">
|
||||
<span class="h1">100% Premium Bio Aloe Vera</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tp-bannertimer"></div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- /REVOLUTION SLIDER -->
|
||||
|
||||
|
||||
<!-- -->
|
||||
<section>
|
||||
<div class="container">
|
||||
|
||||
<p class="">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.</p>
|
||||
|
||||
<div class="divider divider-center divider-color"><!-- divider -->
|
||||
<i class="fa fa-chevron-down"></i>
|
||||
</div>
|
||||
|
||||
<!-- BORN TO BE A WINNER -->
|
||||
<article class="row">
|
||||
<div class="col-md-6">
|
||||
<!-- OWL SLIDER -->
|
||||
<div class="owl-carousel buttons-autohide controlls-over nomargin"
|
||||
data-plugin-options='{"items": 1, "autoHeight": true, "navigation": true, "pagination": true, "transitionStyle":"backSlide", "progressBar":"true"}'>
|
||||
<div>
|
||||
<img class="img-responsive" src="{{ asset('assets/images/aloe-vera-farm-mallorca.jpg') }}" alt="">
|
||||
</div>
|
||||
<div>
|
||||
<img class="img-responsive" src="{{ asset('assets/images/beratung-ruth-mallorca.jpg') }}" alt="">
|
||||
</div>
|
||||
<div>
|
||||
<img class="img-responsive" src="{{ asset('assets/images/mivita-schulung-mallorca.jpg') }}" alt="">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /OWL SLIDER -->
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h2>Warum MIVITA?</h2>
|
||||
<p>Unsere Kunden vertrauen zurecht auf die exzellenten Eigenschaften der MIVITA Produkte. Damit trifft
|
||||
jeder aktiv eine kluge Entscheidung für Gesundheit und Umwelt.</p>
|
||||
|
||||
<p>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.</p>
|
||||
|
||||
<p>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.</p>
|
||||
|
||||
</div>
|
||||
</article>
|
||||
<!-- /BORN TO BE A WINNER -->
|
||||
|
||||
</div>
|
||||
</section>
|
||||
<!-- / -->
|
||||
|
||||
|
||||
<!-- -->
|
||||
<section>
|
||||
<div class="container">
|
||||
|
||||
<!-- FEATURED BOXES 3 -->
|
||||
<div class="row">
|
||||
<div class="col-md-4 col-xs-6">
|
||||
<div class="text-center">
|
||||
<h3 class="h3">Aloe Vera</h3>
|
||||
<p class="">Mit höchstem Anspruch arbeiten wir gemeinsam mit der Aloe Vera Farm auf Mallorca
|
||||
zusammen, die weltweite Qualität der Spitzenklasse garantiert.</p>
|
||||
|
||||
<a href="/aloevera">
|
||||
Mehr
|
||||
<!-- /word rotator -->
|
||||
<span class="word-rotator" data-delay="2000">
|
||||
<span class="items">
|
||||
<span>lesen</span>
|
||||
<span>JETZT</span>
|
||||
</span>
|
||||
</span><!-- /word rotator -->
|
||||
<i class="glyphicon glyphicon-menu-right size-12"></i>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 col-xs-6">
|
||||
<div class="text-center">
|
||||
<h3 class="h3">Produkte</h3>
|
||||
<p class="">Hier findest Du einen Überblick über das komplette Premium-Produktsortiment von MIVITA.
|
||||
Vom hochwertigen Aloe Saft bis zu wohltuender Kosmetik.</p>
|
||||
|
||||
<a href="/produkte">
|
||||
Mehr
|
||||
<!-- /word rotator -->
|
||||
<span class="word-rotator" data-delay="2000">
|
||||
<span class="items">
|
||||
<span>lesen</span>
|
||||
<span>JETZT</span>
|
||||
</span>
|
||||
</span><!-- /word rotator -->
|
||||
<i class="glyphicon glyphicon-menu-right size-12"></i>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 col-xs-6">
|
||||
<div class="text-center">
|
||||
<h3 class="h3">Vertriebspartner</h3>
|
||||
<p class="">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 ...</p>
|
||||
|
||||
<a href="/geschaeftsmodell/karrierechancen">
|
||||
Mehr
|
||||
<!-- /word rotator -->
|
||||
<span class="word-rotator" data-delay="2000">
|
||||
<span class="items">
|
||||
<span>lesen</span>
|
||||
<span>JETZT</span>
|
||||
</span>
|
||||
</span><!-- /word rotator -->
|
||||
<i class="glyphicon glyphicon-menu-right size-12"></i>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /FEATURED BOXES 3 -->
|
||||
|
||||
</div>
|
||||
</section>
|
||||
<!-- / -->
|
||||
|
||||
<!-- -->
|
||||
<section>
|
||||
<div class="container">
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-6">
|
||||
|
||||
<p>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.</p>
|
||||
<blockquote>
|
||||
<p><i>„Mensch, Tier und Natur zuliebe ... Nachhaltigkeit und Produkte, die wirklich „guttun“, sind
|
||||
uns wichtig.“</i></p>
|
||||
<p>Alois Ried - Inhaber MIVITA</p>
|
||||
</blockquote>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6">
|
||||
|
||||
<div class="embed-responsive embed-responsive-16by9 box-shadow-1">
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/ChHAxy6SbkM?rel=0"
|
||||
frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
<!-- / -->
|
||||
|
||||
|
||||
|
||||
@endsection
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
@extends('web.layouts.layout')
|
||||
@extends($user_shop ?'web.user.layouts.layout' : 'web.layouts.layout')
|
||||
|
||||
@section('content')
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
@extends('web.layouts.layout')
|
||||
@extends($user_shop ?'web.user.layouts.layout' : 'web.layouts.layout')
|
||||
|
||||
@section('content')
|
||||
|
||||
|
|
|
|||
|
|
@ -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())
|
||||
<!-- CART -->
|
||||
{!! Form::open(['url' => route('card_update'), 'class' => 'cartContent clearfix', 'id'=>'']) !!}
|
||||
{!! Form::open(['url' => route(Util::getPostRoute().'card_update', Util::addRoute()), 'class' => 'cartContent clearfix', 'id'=>'']) !!}
|
||||
|
||||
<!-- cart content -->
|
||||
<div id="cartContent">
|
||||
|
|
@ -149,7 +149,7 @@
|
|||
<span>{{ $row->name }}</span>
|
||||
<small>Lieferzeit: 1-3 Werktage</small>
|
||||
</a>
|
||||
<a href="{{ route('card_remove', [$row->rowId]) }}" class="remove_item"><i class="fa fa-times"></i></a>
|
||||
<a href="{{ route(Util::getPostRoute().'card_remove', Util::addRoute([$row->rowId])) }}" class="remove_item"><i class="fa fa-times"></i></a>
|
||||
|
||||
<div class="total_price"><span>{{ $row->subtotal() }} </span> €</div>
|
||||
<div class="qty"><input type="number" value="{{ $row->qty }}" name="quantity[{{$row->rowId}}]" maxlength="3" max="999" min="1" /> × {{ $row->price() }} € </div>
|
||||
|
|
@ -158,7 +158,7 @@
|
|||
|
||||
@endforeach
|
||||
</div>
|
||||
<a href="{{route('card_delete')}}" class="btn btn-default margin-top-20 margin-right-10 pull-left"><i class="glyphicon glyphicon-remove"></i> Warenkorb löschen</a>
|
||||
<a href="{{route(Util::getPostRoute().'card_delete', Util::addRoute())}}" class="btn btn-default margin-top-20 margin-right-10 pull-left"><i class="glyphicon glyphicon-remove"></i> Warenkorb löschen</a>
|
||||
<button type="submit" class="btn btn-primary margin-top-20 pull-right"><i class="glyphicon glyphicon-refresh"></i> Warenkorb aktualisieren</button>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
|
|
@ -213,7 +213,7 @@
|
|||
</span>
|
||||
|
||||
|
||||
<a href="{{ route('card_checkout') }}" class="btn btn-primary btn-lg btn-block size-15 mt-4"><i class="fa fa-mail-forward"></i> zur Kasse</a>
|
||||
<a href="{{ route(Util::getPostRoute().'card_checkout', Util::addRoute()) }}" class="btn btn-primary btn-lg btn-block size-15 mt-4"><i class="fa fa-mail-forward"></i> zur Kasse</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
@extends('web.layouts.layout')
|
||||
@extends($user_shop ?'web.user.layouts.layout' : 'web.layouts.layout')
|
||||
|
||||
@section('content')
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
@extends('web.layouts.layout')
|
||||
@extends($user_shop ?'web.user.layouts.layout' : 'web.layouts.layout')
|
||||
|
||||
@section('content')
|
||||
|
||||
|
|
@ -103,7 +103,7 @@
|
|||
|
||||
<!-- CHECKOUT -->
|
||||
<div class="">
|
||||
{!! 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'=>'']) !!}
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
@extends('web.layouts.layout')
|
||||
@extends($user_shop ?'web.user.layouts.layout' : 'web.layouts.layout')
|
||||
|
||||
@section('content')
|
||||
<section>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
@extends('web.layouts.layout')
|
||||
@extends($user_shop ?'web.user.layouts.layout' : 'web.layouts.layout')
|
||||
|
||||
@section('content')
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
@extends('web.layouts.layout')
|
||||
@extends($user_shop ?'web.user.layouts.layout' : 'web.layouts.layout')
|
||||
|
||||
@section('content')
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
@extends('web.layouts.layout')
|
||||
@extends($user_shop ?'web.user.layouts.layout' : 'web.layouts.layout')
|
||||
|
||||
@section('content')
|
||||
<section>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
|
||||
@extends('web.layouts.layout')
|
||||
@extends($user_shop ?'web.user.layouts.layout' : 'web.layouts.layout')
|
||||
|
||||
@section('content')
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
@extends('web.layouts.layout')
|
||||
@extends($user_shop ?'web.user.layouts.layout' : 'web.layouts.layout')
|
||||
|
||||
@section('content')
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
@extends('web.layouts.layout')
|
||||
@extends($user_shop ?'web.user.layouts.layout' : 'web.layouts.layout')
|
||||
|
||||
@section('content')
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
@extends('web.layouts.layout')
|
||||
@extends($user_shop ?'web.user.layouts.layout' : 'web.layouts.layout')
|
||||
|
||||
@section('content')
|
||||
|
||||
|
|
@ -117,7 +117,7 @@
|
|||
</div>
|
||||
<hr>
|
||||
<div class="shop-item-price text-right">
|
||||
{!! 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'=>'']) !!}
|
||||
<div class="qty float-left">
|
||||
<input type="number" value="1" name="quantity" maxlength="3" max="999" min="1"><br>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
@extends('web.layouts.layout')
|
||||
|
||||
@extends($user_shop ?'web.user.layouts.layout' : 'web.layouts.layout')
|
||||
|
||||
|
||||
@section('content')
|
||||
|
||||
|
|
@ -103,7 +105,7 @@
|
|||
|
||||
<!-- buttons -->
|
||||
<div class="shop-item-buttons text-left">
|
||||
<a href="{{ route('card_add_get', [$product->id, 1, $product->slug]) }}" data-quantity="1" data-product_id="{{ $product->id }}" aria-label="{{ $product->getLang('name') }} zu deinem Warenkorb hinzufügen" class="btn btn-primary btn-xs" rel="nofollow">
|
||||
<a href="{{ route(Util::getPostRoute().'card_add_get', Util::addRoute([$product->id, 1, $product->slug])) }}" data-quantity="1" data-product_id="{{ $product->id }}" aria-label="{{ $product->getLang('name') }} zu deinem Warenkorb hinzufügen" class="btn btn-primary btn-xs" rel="nofollow">
|
||||
<i class="fa fa-cart-plus"></i> In den Warenkorb
|
||||
</a>
|
||||
<a class="float-right btn btn-primary btn-xs" href="{{ url('/produkte/'.$subsite.'/'.$product->slug) }}">
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
@extends('web.layouts.layout')
|
||||
@extends($user_shop ?'web.user.layouts.layout' : 'web.layouts.layout')
|
||||
|
||||
@section('content')
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
@extends('web.layouts.layout')
|
||||
@extends($user_shop ?'web.user.layouts.layout' : 'web.layouts.layout')
|
||||
|
||||
@section('content')
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
@extends('web.layouts.layout')
|
||||
@extends($user_shop ?'web.user.layouts.layout' : 'web.layouts.layout')
|
||||
|
||||
@section('content')
|
||||
|
||||
|
|
|
|||
79
resources/views/web/user/layouts/application.blade.php
Normal file
79
resources/views/web/user/layouts/application.blade.php
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title>mivita care</title>
|
||||
<meta name="description" content="" />
|
||||
<meta name="Author" content="" />
|
||||
|
||||
<!-- mobile settings -->
|
||||
<meta name="viewport" content="width=device-width, maximum-scale=1, initial-scale=1, user-scalable=0" />
|
||||
<!--[if IE]><meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'><![endif]-->
|
||||
|
||||
<!-- WEB FONTS : use %7C instead of | (pipe) -->
|
||||
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600%7CRaleway:300,400,500,600,700%7CLato:300,400,400italic,600,700" rel="stylesheet" type="text/css" />
|
||||
|
||||
<!-- CORE CSS -->
|
||||
|
||||
<!-- REVOLUTION SLIDER -->
|
||||
<link href="{{ asset('/assets/plugins/slider.revolution/css/extralayers.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('/assets/plugins/slider.revolution/css/settings.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('/assets/css/mystyle.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('/assets/css/custom-style.css') }}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ asset('assets/css/custom-forms-v2.css') }}" rel="stylesheet" type="text/css" />
|
||||
|
||||
|
||||
<style type="text/css">
|
||||
|
||||
.text-primary {
|
||||
color:#a5d0a5 !important;
|
||||
}
|
||||
div.side-nav ul.list-group-bordered > li.list-group-item.active > a:hover{
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<body class="smoothscroll enable-animation">
|
||||
|
||||
@yield('layout-content')
|
||||
|
||||
<!-- SCROLL TO TOP -->
|
||||
<a href="#" id="toTop"></a>
|
||||
|
||||
|
||||
|
||||
<!-- JAVASCRIPT FILES -->
|
||||
<script type="text/javascript">var plugin_path = "{{ url('/assets/plugins/').'/' }}"</script>
|
||||
<script type="text/javascript" src="{{ asset('/assets/plugins/jquery/jquery-2.2.3.min.js') }}"></script>
|
||||
<script type="text/javascript" src="{{ asset('/assets/js/scripts.js') }}"></script>
|
||||
<!-- <script type="text/javascript" src="{{ asset('/assets/js/jquery.contact-form.js') }}"></script> -->
|
||||
<!-- REVOLUTION SLIDER -->
|
||||
<script type="text/javascript" src="{{ asset('/assets/plugins/slider.revolution/js/jquery.themepunch.tools.min.js') }}"></script>
|
||||
<script type="text/javascript" src="{{ asset('/assets/plugins/slider.revolution/js/jquery.themepunch.revolution.min.js') }}"></script>
|
||||
<script type="text/javascript" src="{{ asset('/assets/js/view/demo.revolution_slider.js') }}"></script>
|
||||
|
||||
<script>
|
||||
/** CHECKOUT
|
||||
** *********************** **/
|
||||
// New Account show|hide
|
||||
jQuery("#accountswitch").bind("click", function() {
|
||||
jQuery('#newaccount').slideToggle(200);
|
||||
});
|
||||
|
||||
// Shipping Address show|hide
|
||||
jQuery("#shipswitch").bind("click", function() {
|
||||
jQuery('#shipping').slideToggle(200, function() {
|
||||
|
||||
// scroll down to shipping area.
|
||||
if(jQuery('#shipping').is(":visible")) {
|
||||
_scrollTo('#shipping', 150);
|
||||
}
|
||||
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
62
resources/views/web/user/layouts/includes/footer.blade.php
Normal file
62
resources/views/web/user/layouts/includes/footer.blade.php
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
|
||||
<div class="alert alert-success bordered-bottom nomargin">
|
||||
<div class="container">
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-12"><!-- left text -->
|
||||
|
||||
<p class="font-lato weight-400 size-20">
|
||||
Du möchtest Kontakt aufnehmen?
|
||||
</p>
|
||||
{!! $user_shop->info !!}
|
||||
</div><!-- /left text -->
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- /CALLOUT -->
|
||||
<style>div.row > div img.img-responsive { width: auto } </style>
|
||||
<!-- FOOTER -->
|
||||
<footer id="footer">
|
||||
<div class="container">
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-xs-4">
|
||||
<!-- Footer Logo -->
|
||||
<img class="footer-logo img-responsive" src="{{asset('/assets/images/logo_mivita.png')}}" alt=""/>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-xs-4">
|
||||
<!-- Footer Logo -->
|
||||
<img class="footer-logo img-responsive" src="{{asset('/assets/images/logo_bio.png')}}" alt=""/>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-xs-4">
|
||||
<!-- Footer Logo -->
|
||||
<img class="footer-logo img-responsive" src="{{asset('/assets/images/logo_derma.png')}}" alt=""/>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="copyright">
|
||||
<div class="container">
|
||||
<ul class="pull-right nomargin list-inline mobile-block">
|
||||
<li class="{{ Request::is('data_protected') ? ' active' : '' }}"><a
|
||||
href="{{ url('/data_protected') }}">Datenschutzerklärung</a></li>
|
||||
<li>•</li>
|
||||
<li class="{{ Request::is('imprint') ? ' active' : '' }} "><a
|
||||
href="{{ url('/imprint') }}">Impressum</a></li>
|
||||
</ul>
|
||||
© All Rights Reserved, mivita.care
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
<!-- /FOOTER -->
|
||||
135
resources/views/web/user/layouts/includes/header.blade.php
Normal file
135
resources/views/web/user/layouts/includes/header.blade.php
Normal file
|
|
@ -0,0 +1,135 @@
|
|||
<div id="header" class="sticky clearfix">
|
||||
|
||||
<style>
|
||||
#header li.quick-cart .quick-cart-box {
|
||||
-webkit-box-shadow: 0px 2px 2px 0px rgba(0,0,0,0.3);
|
||||
-moz-box-shadow: 0px 2px 2px 0px rgba(0,0,0,0.3);
|
||||
box-shadow: 0px 2px 2px 0px rgba(0,0,0,0.3);
|
||||
}
|
||||
#header li.quick-cart .quick-cart-footer > span {
|
||||
background-color: transparent;
|
||||
}
|
||||
.quick-cart-wrapper span.price {
|
||||
color: #666666;
|
||||
font-size: 1.1em;
|
||||
}
|
||||
|
||||
.quick-cart-wrapper h5 {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
#header li.quick-cart .quick-cart-footer {
|
||||
padding: 10px 10px 10px 10px;
|
||||
background-color: #ebebeb;
|
||||
}
|
||||
#header li.quick-cart .quick-cart-box {
|
||||
padding-bottom: 0;
|
||||
}
|
||||
#header ul.nav-second-main {
|
||||
margin-top: 25px;
|
||||
}
|
||||
@media only screen and (max-width: 992px){
|
||||
|
||||
#header ul.nav-second-main
|
||||
{
|
||||
margin-top: 0px;
|
||||
}
|
||||
}
|
||||
#header.fixed ul.nav-second-main {
|
||||
margin-top: 8px;
|
||||
}
|
||||
</style>
|
||||
<!-- TOP NAV -->
|
||||
<header id="topNav">
|
||||
<div class="container">
|
||||
|
||||
<!-- Mobile Menu Button -->
|
||||
<button class="btn btn-mobile" data-toggle="collapse" data-target=".nav-main-collapse">
|
||||
<i class="fa fa-bars"></i>
|
||||
</button>
|
||||
|
||||
<ul class="pull-right nav nav-pills nav-second-main has-topBar">
|
||||
|
||||
<!-- QUICK SHOP CART -->
|
||||
<li class="quick-cart">
|
||||
|
||||
<a href="#" style="border: 1px solid #c3c3c3; padding: 10px;">
|
||||
<span style="position: relative">
|
||||
<span class="badge badge-success btn-xs badge-corner">{{ Yard::instance('shopping')->count() }}</span>
|
||||
<i class="fa fa-shopping-cart"></i>
|
||||
</span>
|
||||
|
||||
|
||||
@if(Yard::instance('shopping')->count())
|
||||
<span class="">{{ \Yard::instance('shopping')->subtotal() }} € </span>
|
||||
@endif
|
||||
</a>
|
||||
<div class="quick-cart-box" style="display: none;">
|
||||
<h4>Warenkorb</h4>
|
||||
|
||||
<div class="quick-cart-wrapper">
|
||||
|
||||
|
||||
@foreach(Yard::instance('shopping')->content() as $row)
|
||||
|
||||
<a href="{{ url('/produkte/alle-produkte/'.$row->options->slug) }}"><!-- cart item -->
|
||||
@if($row->options->has('image'))
|
||||
<img src="{{ route('product_image', [$row->options->image]) }}" width="50" height="66" alt="">
|
||||
@else
|
||||
<img src="{{ asset('/assets/images/1x1.png') }}" width="50" height="66" alt="">
|
||||
@endif
|
||||
<h5>{{ $row->name }}</h5>
|
||||
<span class="price">{{ $row->qty }}x <strong>{{ $row->price() }} €</strong></span>
|
||||
|
||||
</a><!-- /cart item -->
|
||||
|
||||
@endforeach
|
||||
|
||||
</div>
|
||||
|
||||
<!-- quick cart footer -->
|
||||
<div class="quick-cart-footer clearfix">
|
||||
<div class="text-left">
|
||||
<strong>Zwischensumme:</strong> <strong class="pull-right">{{ Yard::instance('shopping')->subtotal() }} €</strong>
|
||||
<br>
|
||||
<em style="font-size: 0.9em">inkl. MwSt. zzgl. Versandkosten</em>
|
||||
|
||||
</div>
|
||||
<a href="{{ route(Util::getPostRoute().'card_show', Util::addRoute()) }}" class="btn btn-primary btn-block mt-3">zum Warenkorb</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<!-- Logo -->
|
||||
<a class="logo pull-left" href="{{ url('/') }}">
|
||||
<img class="fixed_top" src="/assets/images/logo_mivita.png" alt="mivita" />
|
||||
<img class="fixed_scroll" src="/assets/images/logo_mivita_fixed.png" alt="mivita" />
|
||||
</a>
|
||||
|
||||
|
||||
<div class="navbar-collapse pull-right nav-main-collapse collapse">
|
||||
<nav class="nav-main">
|
||||
<ul id="topMain" class="nav nav-pills nav-main nav-onepage">
|
||||
<li class="{{ Request::is('/') ? ' active' : '' }}">
|
||||
<a href="/">
|
||||
{{ $user_shop->name }} Shop
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="{{ Request::is('produkte/*') ? ' active' : '' }}">
|
||||
<a href="{{url('/produkte/alle-produkte')}}/">
|
||||
Produktwelt
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</header>
|
||||
<!-- /Top Nav -->
|
||||
|
||||
</div>
|
||||
23
resources/views/web/user/layouts/layout.blade.php
Normal file
23
resources/views/web/user/layouts/layout.blade.php
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
@extends('web.user.layouts.application')
|
||||
|
||||
@section('layout-content')
|
||||
|
||||
@include('web.user.layouts.includes.header')
|
||||
|
||||
<!-- wrapper -->
|
||||
<div id="wrapper">
|
||||
|
||||
|
||||
|
||||
@yield('content')
|
||||
|
||||
|
||||
|
||||
<!-- /FOOTER -->
|
||||
@include('web.user.layouts.includes.footer')
|
||||
|
||||
|
||||
</div>
|
||||
<!-- /wrapper -->
|
||||
|
||||
@endsection
|
||||
121
resources/views/web/user/start.blade.php
Normal file
121
resources/views/web/user/start.blade.php
Normal file
|
|
@ -0,0 +1,121 @@
|
|||
@extends('web.user.layouts.layout')
|
||||
|
||||
@section('content')
|
||||
|
||||
|
||||
<style type="text/css">
|
||||
.tp-caption {
|
||||
text-shadow: none;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- -->
|
||||
<section>
|
||||
<div class="container">
|
||||
|
||||
|
||||
<!-- BORN TO BE A WINNER -->
|
||||
<article class="row">
|
||||
<div class="col-md-6">
|
||||
|
||||
@if($user_shop->isImage())
|
||||
<img class="img-responsive" src="{{ url($user_shop->getImage()) }}" alt="">
|
||||
@else
|
||||
<h2>{{ $user_shop->title }}</h2>
|
||||
@endif
|
||||
|
||||
<!-- OWL SLIDER -->
|
||||
<!-- /OWL SLIDER -->
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
@if($user_shop->isImage())
|
||||
<h2>{{ $user_shop->title }}</h2>
|
||||
@endif
|
||||
{!! $user_shop->copy !!}
|
||||
</div>
|
||||
</article>
|
||||
<!-- /BORN TO BE A WINNER -->
|
||||
|
||||
</div>
|
||||
</section>
|
||||
<!-- / -->
|
||||
|
||||
|
||||
<!-- -->
|
||||
<section>
|
||||
<div class="container">
|
||||
|
||||
<!-- FEATURED BOXES 3 -->
|
||||
<div class="row">
|
||||
<div class="col-md-4 col-xs-6">
|
||||
<div class="text-center">
|
||||
<h3 class="h3">Aloe Vera</h3>
|
||||
<p class="">Mit höchstem Anspruch arbeiten wir gemeinsam mit der Aloe Vera Farm auf Mallorca
|
||||
zusammen, die weltweite Qualität der Spitzenklasse garantiert.</p>
|
||||
|
||||
<a href="/aloevera">
|
||||
Mehr
|
||||
<!-- /word rotator -->
|
||||
<span class="word-rotator" data-delay="2000">
|
||||
<span class="items">
|
||||
<span>lesen</span>
|
||||
<span>JETZT</span>
|
||||
</span>
|
||||
</span><!-- /word rotator -->
|
||||
<i class="glyphicon glyphicon-menu-right size-12"></i>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 col-xs-6">
|
||||
<div class="text-center">
|
||||
<h3 class="h3">Produkte</h3>
|
||||
<p class="">Hier findest Du einen Überblick über das komplette Premium-Produktsortiment von MIVITA.
|
||||
Vom hochwertigen Aloe Saft bis zu wohltuender Kosmetik.</p>
|
||||
|
||||
<a href="/produkte">
|
||||
Mehr
|
||||
<!-- /word rotator -->
|
||||
<span class="word-rotator" data-delay="2000">
|
||||
<span class="items">
|
||||
<span>lesen</span>
|
||||
<span>JETZT</span>
|
||||
</span>
|
||||
</span><!-- /word rotator -->
|
||||
<i class="glyphicon glyphicon-menu-right size-12"></i>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 col-xs-6">
|
||||
<div class="text-center">
|
||||
<h3 class="h3">Vertriebspartner</h3>
|
||||
<p class="">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 ...</p>
|
||||
|
||||
<a href="/geschaeftsmodell/karrierechancen">
|
||||
Mehr
|
||||
<!-- /word rotator -->
|
||||
<span class="word-rotator" data-delay="2000">
|
||||
<span class="items">
|
||||
<span>lesen</span>
|
||||
<span>JETZT</span>
|
||||
</span>
|
||||
</span><!-- /word rotator -->
|
||||
<i class="glyphicon glyphicon-menu-right size-12"></i>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /FEATURED BOXES 3 -->
|
||||
|
||||
</div>
|
||||
</section>
|
||||
<!-- / -->
|
||||
|
||||
@endsection
|
||||
312
routes/_web.php
Executable file
312
routes/_web.php
Executable file
|
|
@ -0,0 +1,312 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Web Routes
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here is where you can register web routes for your application. These
|
||||
| routes are loaded by the RouteServiceProvider within a group which
|
||||
| contains the "web" middleware group. Now create something great!
|
||||
|
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
/* ROUTING FOR CRM / CMS*/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//Route::group(['domain' => '{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]);
|
||||
|
||||
});
|
||||
|
||||
*/
|
||||
|
|
@ -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');
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue