Subversion-Projekte lars-tiefland.laravel_shop

Revision

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

<?php

    use App\Http\Controllers\ActionController;
    use App\Http\Controllers\ActionMediumController;
    use App\Http\Controllers\BackendController;
    use App\Http\Controllers\BackendUserController;
    use App\Http\Controllers\MediumController;
    use App\Http\Controllers\OrderController;
    use App\Http\Controllers\ShippingController;
    use App\Http\Controllers\ShippingGroupController;
    use App\Http\Controllers\ToolboxController;
    use App\Models\Module;
    use App\Models\OrderType;
    use App\Models\Shop;
    use App\Models\UserProperty;
    use App\Models\Web;
    use App\Models\WebProperty;
    use Illuminate\Support\Facades\Route;

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

    $w = new Web();
    $GLOBALS["web"] = $w->where( "domain", "=", env( 'shop' ) )->first();
    if ( php_sapi_name() != "cli" )
    {
        if ( !file_exists( $_SERVER["DOCUMENT_ROOT"] . "/public/admin/styles/" . $GLOBALS["web"]["domain"] . "_styles.css" ) )
        {
            require_once "styles.php";
        }
    }
    \View::share( "webs", $GLOBALS["web"] );
    $c_bestellarten = array();
    $c_shops = array();
    $d_shops = array();
    $ba = OrderType::get();
    foreach ( $ba as $ba_id => $bestellart )
    {
        $c_bestellarten[$bestellart->id] = $bestellart->name;
    }
    $shops = Shop::get();
    View::share( "shops", $shops );
    foreach ( $shops as $s_id => $shop )
    {
        $c_shops[$shop->id] = $shop->name;
        $d_shops[$shop->id] = $shop;
    }
    \View::share( "c_bestellarten", $c_bestellarten );
    \View::share( "c_shops", $c_shops );
    \View::share( "d_shops", $d_shops );
    $_SESSION["loadingGif"] = "/images/navigation/loading.gif";
    if ( file_exists( $_SERVER["DOCUMENT_ROOT"] . "/images/webelemente/loading.gif" ) )
    {
        $_SESSION["loadingGif"] = "/images/webelemente/loading.gif";
    }
    $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;
        $user_rechte = $GLOBALS["web_rechte"];
        if ( !$admin )
        {
            $user_rechte = UserProperty::with( [
                "property",
                "tool",
                "module"
            ] )->where( "backend_user_id", "=", $uId )->get();
        }
        \View::share( "user_rechte", $user_rechte );
    }

    Route::get( '/login', [
        BackendController::class,
        'create'
    ] )->name( 'login' );
    Route::post( '/login', [
        BackendController::class,
        'store'
    ] );
    Route::middleware( [
        'auth:admin',
        //'2fa'
    ] )->group( function ()
    {
        Route::get( '/logout', [
            BackendController::class,
            'destroy'
        ] )->name( 'logout' );
        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::resource( 'media', MediumController::class );
        Route::resource( 'backend_users', BackendUserController::class );
        Route::prefix( "/Online-Shop" )->group( function ()
        {
            Route::resource( '/actions', ActionController::class );
            Route::resource( "/shippings", ShippingController::class );
            Route::resource( "/shippingGroups", ShippingGroupController::class );
        } );

        Route::prefix( "/Warenwirtschaft" )->group( function ()
        {
            Route::resource( 'orders', OrderController::class );
        } );
        Route::prefix( "vportale" )->group( function ()
        {
            Route::resource( "salesPortals", \App\Http\Controllers\SalesPortalController::class );
        } );
        Route::get( "/actions/{id}/getMedia", [
            ActionMediumController::class,
            "liste"
        ] );
        Route::view( "/", "admin.index" );
    } );