update 20.10.2025

This commit is contained in:
Kevin Adametz 2025-10-20 17:42:08 +02:00
parent 8c11130b5d
commit a939cd51ef
616 changed files with 84821 additions and 4121 deletions

View file

@ -68,6 +68,7 @@ Route::domain(config('app.pre_url_crm') . config('app.domain') . config('app.tld
Route::group(['middleware' => ['auth:user']], function () {
Route::get('storage/{type?}/{file?}', function ($type = null, $file = null) {
$path = "";
$filename = "";
@ -393,6 +394,10 @@ Route::domain(config('app.pre_url_crm') . config('app.domain') . config('app.tld
Route::post('/admin/business/commissions/store', 'BusinessCommissionController@store')->name('admin_business_commissions_store');
Route::get('/admin/business/commissions/datatable', 'BusinessCommissionController@datatable')->name('admin_business_commissions_datatable');
// Level Reports
Route::get('/admin/level-reports', 'LevelReportsController@index')->name('admin.level-reports.index');
Route::get('/admin/level-reports/export', 'LevelReportsController@export')->name('admin.level-reports.export');
Route::get('/admin/downloadcenter/files', 'Admin\DownloadController@files')->name('admin_downloadcenter_files');
Route::get('/admin/downloadcenter/upload', 'Admin\DownloadController@upload')->name('admin_downloadcenter_upload');
Route::post('/admin/downloadcenter/upload', 'Admin\DownloadController@uploadFile')->name('admin_downloadcenter_upload');

View file

@ -6,6 +6,7 @@
|--------------------------------------------------------------------------
|
*/
use App\Http\Controllers\FileController;
use App\Http\Controllers\Portal\InController;
use App\Http\Controllers\Portal\AboController;
@ -25,10 +26,10 @@ Route::domain(config('app.pre_url_portal') . config('app.domain') . config('app.
Route::get('portal/change-login', [InController::class, 'changeLogin'])->name('portal.change_login');
// Standard login route für Laravel Auth-Kompatibilität
Route::get('login', function() {
Route::get('login', function () {
return redirect()->route('portal.login.form');
})->name('login');
Route::get('portal/login', [LoginController::class, 'showLoginForm'])->name('portal.login.form');
Route::post('portal/login/send-otp', [LoginController::class, 'sendOtp'])->name('portal.login.send-otp');
Route::get('portal/login/verify/{email?}/{otp?}', [LoginController::class, 'showOtpForm'])->name('portal.login.otp.form'); // Zeigt OTP-Eingabeformular
@ -38,7 +39,7 @@ Route::domain(config('app.pre_url_portal') . config('app.domain') . config('app.
// Geschützte Kunden-Routen
Route::middleware('auth:customers')->group(function () {
Route::get('portal/dashboard', [InController::class, 'dashboard'])->name('portal.dashboard');
//Route::get('portal/go-to-shop', [InController::class, 'goToShop'])->name('portal.go_to_shop');
Route::get('portal/my-data/edit', [CustomerController::class, 'myDataEdit'])->name('portal.my_data.edit');
@ -55,5 +56,5 @@ Route::domain(config('app.pre_url_portal') . config('app.domain') . config('app.
// Logout für Kunden
// Logout für Kunden
// Logout für Kunden
});

View file

@ -11,43 +11,36 @@
*/
// Rechtliche und Kontakt-Routen - Umleitung zur Shop-Domain für checkout.*
$context = app(\App\Domain\DomainContext::class);
if ($context->type === 'checkout') {
// Verwendet EarlyDomainParser für domain-awareness
if (\App\Domain\EarlyDomainParser::getCurrentDomainType() === 'checkout') {
// Shop-Domain aus Config laden
$shopHost = config('domains.domains.shop.host');
$protocol = config('domains.protocol', 'https://');
$shopBaseUrl = $protocol . $shopHost;
// Für Checkout-Domain: Umleitung zur Shop-Domain
Route::get('/datenschutz', function () {
$domainService = app(\App\Services\DomainService::class);
$shopUrl = $domainService->buildUrl('shop', '/datenschutz');
return redirect()->away($shopUrl);
Route::get('/datenschutz', function () use ($shopBaseUrl) {
return redirect()->away($shopBaseUrl . '/datenschutz');
})->name('legal.data-protected');
Route::get('/impressum', function () {
$domainService = app(\App\Services\DomainService::class);
$shopUrl = $domainService->buildUrl('shop', '/impressum');
return redirect()->away($shopUrl);
Route::get('/impressum', function () use ($shopBaseUrl) {
return redirect()->away($shopBaseUrl . '/impressum');
})->name('legal.imprint');
Route::get('/agb', function () {
$domainService = app(\App\Services\DomainService::class);
$shopUrl = $domainService->buildUrl('shop', '/agb');
return redirect()->away($shopUrl);
Route::get('/agb', function () use ($shopBaseUrl) {
return redirect()->away($shopBaseUrl . '/agb');
})->name('legal.agb');
Route::get('/kontakt', function () {
$domainService = app(\App\Services\DomainService::class);
$shopUrl = $domainService->buildUrl('shop', '/kontakt');
return redirect()->away($shopUrl);
Route::get('/kontakt', function () use ($shopBaseUrl) {
return redirect()->away($shopBaseUrl . '/kontakt');
})->name('contact.create');
Route::get('/zahlungsarten', function () {
$domainService = app(\App\Services\DomainService::class);
$shopUrl = $domainService->buildUrl('shop', '/zahlungsarten');
return redirect()->away($shopUrl);
Route::get('/zahlungsarten', function () use ($shopBaseUrl) {
return redirect()->away($shopBaseUrl . '/zahlungsarten');
})->name('zahlungsarten');
Route::get('/versandkosten', function () {
$domainService = app(\App\Services\DomainService::class);
$shopUrl = $domainService->buildUrl('shop', '/versandkosten');
return redirect()->away($shopUrl);
Route::get('/versandkosten', function () use ($shopBaseUrl) {
return redirect()->away($shopBaseUrl . '/versandkosten');
})->name('versandkosten');
} else {
// Für alle anderen Domains: normale Controller-Routen
@ -71,7 +64,7 @@ Route::post('/change_website_lang', 'Web\SiteController@changeLang')->name('lang
Route::get('translation/{locale}', function ($locale) {
app()->setLocale($locale);
session()->put('locale', $locale);
// Optional: Sprache für eingeloggte Benutzer speichern
if (auth()->guard('user')->check()) {
auth()->guard('user')->user()->update(['lang' => $locale]);
@ -137,41 +130,36 @@ Route::get('/shop/product/image/{slug}', function ($slug = null) {
// Alias für /home, damit auch /home erreichbar ist
// Checkout-Weiterleitung nur für Domains, die NICHT checkout.* sind
$context = app(\App\Domain\DomainContext::class);
if ($context->type !== 'checkout') {
Route::get('/checkout/card/{identifier?}', function ($identifier = null) {
$domainService = app(\App\Services\DomainService::class);
$checkoutUrl = $domainService->buildUrl('checkout', '/checkout/card/' . $identifier, null);
return redirect()->away($checkoutUrl);
if (\App\Domain\EarlyDomainParser::getCurrentDomainType() !== 'checkout') {
// Checkout-Domain aus Config laden
$checkoutHost = config('domains.domains.checkout.host');
$protocol = config('domains.protocol', 'https://');
$checkoutBaseUrl = $protocol . $checkoutHost;
Route::get('/checkout/card/{identifier?}', function ($identifier = null) use ($checkoutBaseUrl) {
$path = '/checkout/card/' . ($identifier ?: '');
return redirect()->away($checkoutBaseUrl . $path);
})->name('checkout.checkout_card');
Route::post('/checkout/card/final', function () {
$domainService = app(\App\Services\DomainService::class);
$checkoutUrl = $domainService->buildUrl('checkout', '/checkout/card/final', null);
return redirect()->away($checkoutUrl);
Route::post('/checkout/card/final', function () use ($checkoutBaseUrl) {
return redirect()->away($checkoutBaseUrl . '/checkout/card/final');
})->name('checkout.checkout_card_final');
// Weiterleitung für Transaktionsstatus
Route::get('/transaction/status/{status?}/{reference?}', function ($status = null, $reference = null) {
$domainService = app(\App\Services\DomainService::class);
$checkoutUrl = $domainService->buildUrl('checkout', "/transaction/status/{$status}/{$reference}", null);
return redirect()->away($checkoutUrl);
Route::get('/transaction/status/{status?}/{reference?}', function ($status = null, $reference = null) use ($checkoutBaseUrl) {
$path = "/transaction/status/" . ($status ?: '') . "/" . ($reference ?: '');
return redirect()->away($checkoutBaseUrl . $path);
})->name('checkout.transaction_status');
Route::post('/transaction/status/{status?}/{reference?}', function ($status = null, $reference = null) {
$domainService = app(\App\Services\DomainService::class);
$checkoutUrl = $domainService->buildUrl('checkout', "/transaction/status/{$status}/{$reference}", null);
return redirect()->away($checkoutUrl);
Route::post('/transaction/status/{status?}/{reference?}', function ($status = null, $reference = null) use ($checkoutBaseUrl) {
$path = "/transaction/status/" . ($status ?: '') . "/" . ($reference ?: '');
return redirect()->away($checkoutBaseUrl . $path);
})->name('checkout.transaction_status_post');
Route::get('/transaction/approved/{transactionId}/{reference}', function ($transactionId, $reference) {
$domainService = app(\App\Services\DomainService::class);
$checkoutUrl = $domainService->buildUrl('checkout', "/transaction/approved/{$transactionId}/{$reference}", null);
return redirect()->away($checkoutUrl);
Route::get('/transaction/approved/{transactionId}/{reference}', function ($transactionId, $reference) use ($checkoutBaseUrl) {
return redirect()->away($checkoutBaseUrl . "/transaction/approved/{$transactionId}/{$reference}");
})->name('checkout.transaction_approved');
}
Route::get('/register/verify/{confirmationCode}', 'HomeController@verify')->name('register_verify');