Subversion-Projekte lars-tiefland.webanos.marine-sales.de

Revision

Revision 483 | Blame | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

<?php

    use App\Http\Controllers\online_shop\ActionController;
    use App\Http\Controllers\online_shop\ActionMediumController;
    use App\Http\Controllers\online_shop\DirectoryController;
    use App\Http\Controllers\online_shop\ItemController;
    use App\Http\Controllers\online_shop\TreeController;
    use App\Http\Controllers\BackendController;
    use App\Http\Controllers\BackendUserController;
    use App\Http\Controllers\GoogleAuthenticatorController;
    use App\Http\Controllers\online_shop\ManufacturerController;
    use App\Http\Controllers\MediumController;
    use App\Http\Controllers\PriceAgencyController;
    use App\Http\Controllers\warenwirtschaft\OrderController;
    use App\Http\Controllers\SalesPortalController;
    use App\Http\Controllers\SalesPortalItemController;
    use App\Http\Controllers\online_shop\ShippingController;
    use App\Http\Controllers\online_shop\ShippingGroupController;
    use App\Http\Controllers\bestellwesen\SupplierController;
    use App\Http\Controllers\bestellwesen\SupplierShippingController;
    use App\Http\Controllers\bestellwesen\SupplierWarehouseController;
    use App\Http\Controllers\ToolboxController;
    use App\Models\Module;
    use App\Models\OrderType;
    use App\Models\Shop;
    use App\Models\Tool;
    use App\Models\UserProperty;
    use App\Models\Web;
    use App\Models\WebProperty;
    use Illuminate\Support\Facades\Route;

    session_start();

    setlocale( LC_TIME, 'de_DE.UTF-8' );

    $_SESSION["loadingGif"] = "/images/navigation/loading.gif";
    if ( file_exists( $_SERVER["DOCUMENT_ROOT"] . "/images/webelemente/loading.gif" ) )
    {
        $_SESSION["loadingGif"] = "/images/webelemente/loading.gif";
    }

    $c_bestellarten = array();
    $c_shops = array();
    $d_shops = array();

    $w = new Web();
    $GLOBALS["web"] = $w->where( "domain", "=", env( 'shop' ) )->first();
    if ( php_sapi_name() != "cli" )
    {
        if ( !file_exists( $_SERVER["DOCUMENT_ROOT"] . "/public/styles/" . $GLOBALS["web"]["domain"] . "_styles.css" ) )
        {
            require_once "styles.php";
        }
    }
    View::share( "webs", $GLOBALS["web"] );

    $shops = Shop::all();
    View::share( "shops", $shops );
    $c_shops[""] = "alle";
    foreach ( $shops as $s_id => $shop )
    {
        $c_shops[$shop->id] = $shop->name;
        $d_shops[$shop->id] = $shop;
    }
    View::share( "c_shops", $c_shops );
    View::share( "d_shops", $d_shops );

    $ba = OrderType::all();
    foreach ( $ba as $ba_id => $bestellart )
    {
        $c_bestellarten[$bestellart->id] = $bestellart->name;
    }
    View::share( "c_bestellarten", $c_bestellarten );

    $webRechte = WebProperty::with( [
        "property",
        "property.tool",
        "property.tool.module"
    ] )->where( "web_id", "=", $GLOBALS["web"]->ID )->get();
    $navi = Module::with( 'tool' )->orderBy( 'modules.rang' )->get();
    View::share( "navi", $navi );
    foreach ( $webRechte as $web_recht )
    {
        $property = $web_recht->property;
        $tool = $property->tool;
        $module = $tool->module;
        $GLOBALS["web_rechte"][$module->interner_name][$tool->button_name][$property->interner_name] = $web_recht->Bezeichnung;
    }
    View::share( "web_rechte", $GLOBALS["web_rechte"] );

    if ( isset( $_SESSION["admin"]["uid"] ) )
    {
        $uId = $_SESSION["admin"]["uid"];
        $admin = $_SESSION["admin"]["user"]->admin;
        if ( !$admin )
        {
            $user_rechte = UserProperty::with( [
                "property",
                "property.tool",
                "property.tool.module",
            ] )->where( "backend_user_id", "=", $uId )->get();
            foreach ( $user_rechte as $user_recht )
            {
                $property = $user_recht->property;
                $tool = $property->tool;
                $module = $tool->module;
                $GLOBALS["user_rechte"][$module->interner_name][$tool->button_name][$property->interner_name] = 1;
            }
        }
        else
        {
            $GLOBALS["user_rechte"] = $GLOBALS["web_rechte"];
        }
        View::share( "user_rechte", $GLOBALS["user_rechte"] );
    }

    Route::get( '/login', [
        BackendController::class,
        'create'
    ] )->name( 'login' );
    Route::post( '/login', [
        BackendController::class,
        'store'
    ] );
    Route::middleware( [
        'auth',
        //'2fa'
    ] )->group( function ()
    {
        Route::view( "/", "index" );
        Route::get( "/actions/{id}/getMedia", [
            ActionMediumController::class,
            "liste"
        ] );
        Route::resource( 'backend_users', BackendUserController::class );
        Route::prefix( "/bestellwesen" )->group( function ()
        {
            Route::resource( "/suppliers", SupplierController::class );
            Route::scopeBindings()->group( function ()
            {
                Route::resource( "/suppliers.supplierWarehouse", SupplierWarehouseController::class );
                Route::resource( "/suppliers.shipping", SupplierShippingController::class );
            } );
        } );
        Route::get( '/logout', [
            BackendController::class,
            'destroy'
        ] )->name( 'logout' );
        Route::resource( 'media', MediumController::class );
        Route::prefix( "/Online-Shop" )->group( function ()
        {
            Route::resource( '/actions', ActionController::class );
            Route::resource( '/manufacturers', ManufacturerController::class );
            Route::resource( "/shippings", ShippingController::class );
            Route::resource( "/shippingGroups", ShippingGroupController::class );
            Route::resource("/directory", DirectoryController::class);
            Route::resource("/item", ItemController::class);
            Route::get( "/tree", [ TreeController::class, "show" ] );
            Route::view( "/itemManagement", "online_shop.start" );
        } );
        Route::prefix( '/marketing' )->group( function ()
        {
            Route::resource( '/priceAgencies', PriceAgencyController::class );
        } );
        Route::prefix( "/toolbox" )->group( function ()
        {
            Route::get( "/ga", [
                GoogleAuthenticatorController::class,
                "create"
            ] )->name( 'complete.registration' );
            Route::post( "/ga", [
                GoogleAuthenticatorController::class,
                "store"
            ] )->name( '2fa' );
            Route::delete( "/ga", [
                GoogleAuthenticatorController::class,
                "DESTROY"
            ] );
            Route::get( "/", [
                ToolboxController::class,
                "create"
            ] );
            Route::get( "/changeShopVersion", [
                ToolboxController::class,
                "changeShopVersion"
            ] );
            Route::get( "/updateShopVersion", [
                ToolboxController::class,
                "updateShopVersion"
            ] );
            Route::get( "/readSVNLog", [
                ToolboxController::class,
                "readSVNLog"
            ] );
        } );

        Route::prefix( "vportale" )->group( function ()
        {
            Route::resource( "salesPortals", SalesPortalController::class );
            Route::get( "salesPortalItems/getArtikel", [ SalesPortalItemController::class, "getArtikel" ] );
            Route::resource( "salesPortalItems", SalesPortalItemController::class );
        } );

        Route::prefix( "/Warenwirtschaft" )->group( function ()
        {
            Route::resource( 'orders', OrderController::class );
        } );
    } );