false, 'verify' => false, 'register' => false ]); // phpcs:disable Generic.Files.LineLength.TooLong Route::prefix('bo') ->name('bo.') ->middleware(['auth', 'is-admin']) ->group(function () { Route::namespace('Bo')->group(function () { Route::resource('ads', 'AdsController')->except(['show']); Route::resource('articles', 'ArticlesController')->except(['show']) ->withoutMiddleware('xss') ->middleware('xss:content'); Route::resource('balanced-menus', 'BalancedMenusController')->except(['show']) ->withoutMiddleware('xss') ->middleware('xss:entree,meal,dessert'); Route::resource('ocbbreeders', 'OCBBreedersController')->except([ 'index', 'edit', 'show', 'update' ]); Route::resource('breederportraits', 'BreederPortraitController')->except(['show']) ->withoutMiddleware('xss') ->middleware('xss:testimony'); Route::resource('consumption-times', 'ConsumptionTimesController')->except(['show']); Route::resource('faq-questions', 'FaqQuestionsController')->except(['show']); Route::resource('faq-themes', 'FaqThemesController')->except(['show']); Route::resource('home-slider-pictures', 'HomeSliderPicturesController')->except(['show']); Route::resource('meat-types', 'MeatTypesController')->except(['show']); Route::resource('moments', 'MomentsController')->except(['show']) ->withoutMiddleware('xss') ->middleware('xss:strates,featured_text'); Route::resource('news-slider-pictures', 'NewsSliderPicturesController')->except(['show']); Route::resource('ocb', 'OCBContentController') ->except(['index', 'show']) ->withoutMiddleware('xss') ->middleware('xss:content'); Route::resource('product-pictograms', 'ProductPictogramsController'); // Disabled product sliders Cf tasks Le Gaulois #PSP // Route::resource('product-slider-pictures', 'ProductSliderPicturesController'); Route::resource('products', 'ProductsController')->except(['show']) ->withoutMiddleware('xss') ->middleware('xss:preparation_advice,ingredients,tips'); Route::resource('ranges', 'RangesController')->except(['show']); Route::resource('recipes', 'RecipesController')->except(['show']) ->withoutMiddleware('xss') ->middleware('xss:ingredients,preparation,advice'); Route::resource('users', 'UsersController')->except(['show']); Route::resource('engagements', 'EngagementsController')->except(['show', 'create', 'destroy']) ->withoutMiddleware('xss') ->middleware('xss:content,title,value,text,bigText'); }); Route::get('/', [DashboardController::class, 'index'])->name('dashboard'); Route::get('/sondage/{article}/export', [ArticlesController::class, 'exportSondage'])->name('sondage.export'); Route::get('/ocbbreeders/change-published/{ocbbreeder}', [OCBBreedersController::class, 'changePublished'])->name('ocbbreeders.change-published'); Route::put('/ocbbreeders/{breeder}', [OCBBreedersController::class, 'update'])->name('ocbbreeders.update'); Route::get('/ocbbreeders/{type}/{breeder}', [OCBBreedersController::class, 'edit'])->name('ocbbreeders.edit'); Route::get('/ocbbreeders/{type}', [OCBBreedersController::class, 'index'])->name('ocbbreeders.index'); Route::get('/faq-themes/change-order/{id}/{action}', [FaqThemesController::class, 'changeOrder'])->name('faq-themes.change-order'); Route::get('/getinco', [BoProductsController::class, 'getXmlIncos'])->name('products.getXmlIncos'); Route::get('/home-slider-pictures/change-order/{id}/{action}', [HomeSliderPicturesController::class, 'changeOrder'])->name('home-slider-pictures.change-order'); Route::get('/moments/change-star/{id}', [BoMomentsController::class, 'setStar'])->name('moments.change-star'); Route::get('/news-slider-pictures/change-order/{id}/{action}', [NewsSliderPicturesController::class, 'changeOrder'])->name('news-slider-pictures.change-order'); Route::get('/ocb/change-order/{current}/{action}', [OCBContentController::class, 'changeOrder'])->name('ocb.change-order'); Route::get('/ocb/content/{type}', [OCBContentController::class, 'index'])->name('ocb.content'); Route::get('/product-slider-pictures/change-order/{id}/{action}', [ProductSliderPicturesController::class, 'changeOrder'])->name('product-slider-pictures.change-order'); Route::get('/products/change-order/{id}/{action}', [BoProductsController::class, 'changeOrder'])->name('products.change-order'); Route::get('/products/change-star/{product}', [BoProductsController::class, 'changeStar'])->name('products.change-star'); Route::get('/engagements/change-published/{engagement}', [BoEngagementsController::class, 'changePublished'])->name('engagements.change-published'); Route::get('/products/change-published/{product}', [BoProductsController::class, 'changePublished'])->name('products.change-published'); Route::get('/ranges/change-published/{range}', [RangesController::class, 'changePublished'])->name('ranges.change-published'); Route::get('/moments/change-published/{moment}', [BoMomentsController::class, 'changePublished'])->name('moments.change-published'); Route::get('/consumption-times/change-published/{consumptiontime}', [ConsumptionTimesController::class, 'changePublished'])->name('consumption-times.change-published'); Route::get('/meat-types/change-published/{meattype}', [MeatTypesController::class, 'changePublished'])->name('meat-types.change-published'); Route::get('/ads/change-published/{ad}', [AdsController::class, 'changePublished'])->name('ads.change-published'); Route::get('/home-slider-pictures/change-published/{homeslider}', [HomeSliderPicturesController::class, 'changePublished'])->name('home-slider-pictures.change-published'); Route::get('/news-slider-pictures/change-published/{newsslider}', [NewsSliderPicturesController::class, 'changePublished'])->name('news-slider-pictures.change-published'); Route::get('/product-slider-pictures/change-published/{productslider}', [ProductSliderPicturesController::class, 'changePublished'])->name('product-slider-pictures.change-published'); Route::get('/recipes/change-published/{recipe}', [BoRecipesController::class, 'changePublished'])->name('recipes.change-published'); Route::get('/balanced-menus/change-published/{balanced_menu}', [BalancedMenusController::class, 'changePublished'])->name('balanced-menus.change-published'); Route::get('/articles/change-published/{article}', [ArticlesController::class, 'changePublished'])->name('articles.change-published'); Route::get('/faq-questions/change-published/{faq_question}', [FaqQuestionsController::class, 'changePublished'])->name('faq-questions.change-published'); Route::get('/breederportraits/change-published/{breederportrait}', [BreederPortraitController::class, 'changePublished'])->name('breederportraits.change-published'); Route::get('/ocb/change-published/{ocb}', [OCBContentController::class, 'changePublished'])->name('ocb.change-published'); Route::get('/ranges/change-order/{id}/{action}', [RangesController::class, 'changeOrder'])->name('ranges.change-order'); Route::get('/recipes/highlights/choice', [BoRecipesController::class, 'highlights'])->name('recipes.highlights'); Route::get('/reductions', [ReductionsController::class, 'index'])->name('reductions.index'); Route::get('/reductions/update', [ReductionsController::class, 'updateBr'])->name('reductions.update-br'); Route::get('/traceability', [BoTraceabilityController::class, 'index'])->name('traceability.index'); Route::get('/page/joinus', [JoinusController::class, 'index'])->name('page.joinus.index'); Route::get('/products/{product}/copyinco', [BoProductsController::class, 'copyXmlIncoValues'])->name('products.copyXmlIncoValues'); Route::get('/products/{product}/copyincopicture', [BoProductsController::class, 'copyXmlIncoPicture'])->name('products.copyXmlIncoPicture'); Route::post('/ajax/reductions/save', [ReductionsController::class, 'saveDatas']); Route::post('/products/{product}/setinco', [BoProductsController::class, 'setXmlInco'])->name('products.setXmlInco'); Route::put('/recipes/highlights/store', [BoRecipesController::class, 'storeHighlights'])->name('recipes.store-highlights'); Route::put('/traceability/filters', [BoTraceabilityController::class, 'filter'])->name('traceability.filter'); Route::put('/page/joinus', [JoinusController::class, 'update'])->name('page.joinus.update'); }); Route::get('/', [HomeController::class, 'index'])->name('home'); Route::get('/de-smaak-om-te-delen', [OnePageController::class, 'index'])->name('home-nl'); Route::get('/faq', [FaqController::class, 'index'])->name('faq'); Route::post('/faq/{question?}', [FaqController::class, 'updateSatisfactionStat'])->name('faq.updateSatisfactionStat'); Route::view('/mentions-legales', 'front.legals')->name('legal-notice'); Route::view('/charte-de-confidentialite', 'front.charte')->name('chart-conf'); Route::prefix('/produits') ->name('products.') ->group(function () { Route::get('/', [ProductsController::class, 'index'])->name('index'); Route::get('/departaimants', [ProductsController::class, 'departaimants'])->name('departaimants'); Route::get('/gamme/{slugRange}', [ProductsController::class, 'filter'])->name('range'); Route::get('/moment-consommations/{slugConsumptionTime}', [ProductsController::class, 'filter'])->name('consumption-times'); Route::get('/type-viande/{slugMeatType}', [ProductsController::class, 'filter'])->name('meat-type'); }); Route::prefix('/produit') ->name('product.') ->group(function () { Route::get('/from-menus', [ProductsController::class, 'indexMenusAjax'])->name('from-menus'); Route::get('/{product}', [ProductsController::class, 'show'])->name('show'); }); Route::prefix('/cote-cuisine')->name('kitchen-side.')->group(function () { Route::get('/', [RecipesController::class, 'kitchenside'])->name('index'); Route::prefix('/sante-et-nutrition')->name('health-nutrition.')->group(function () { Route::get('/menu-equilibre-j/{type}/{product}/menu', [RecipesController::class, 'showForBalancedMenu'])->name('balanced-menu.menu'); Route::view('/', 'front.health-nutrition.health-nutrition')->name('index'); Route::view('/dechiffrez-valeurs-nutritionnelles', 'front.health-nutrition.nutritional-values')->name('nutritional-values'); Route::view('/engagement-nutrition', 'front.health-nutrition.nutrition')->name('nutrition'); Route::view('/menu-equilibre', 'front.health-nutrition.balanced-menu')->name('balanced-menu'); Route::view('/plaisir-et-equilibre', 'front.health-nutrition.pleasure-balance')->name('pleasure-balance'); }); }); Route::prefix('/recettes') ->name('recipes.') ->group(function () { Route::get('/proposer-une-recette', [ContactController::class, 'proposeRecipe'])->name('propose'); Route::post('/rate/{recipe:slug}', [RecipesController::class, 'rate'])->name('rate'); Route::get('/{recipe:slug}', [RecipesController::class, 'show'])->name('show'); Route::get('/{type?}/{value?}', [RecipesController::class, 'index'])->name('index'); }); Route::prefix('/la-marque') ->name('brand.') ->group(function () { Route::get('/', [BrandController::class, 'index'])->name('index'); Route::get('/saga-publicitaire', [BrandController::class, 'ads'])->name('pub'); Route::get('/tracabilite/search', [TraceabilityController::class, 'search'])->name('traceability-search'); Route::view('/nos-engagements-qualite', 'front.brand.quality')->name('our-quality-commitments'); Route::view('/notre-histoire', 'front.brand.history')->name('history'); Route::view('/tracabilite', 'front.brand.traceability')->name('traceability'); Route::view('/volailles-francaises', 'front.brand.poultry')->name('french-poultry'); }); Route::prefix('/oui-cest-bon') ->name('ocb.') ->group(function () { Route::get('/eleveurs/{breeder}', [OCBController::class, 'breeder'])->name('breeders'); Route::get('/temoignages-eleveurs', [OCBController::class, 'testimonials'])->name('testimonials'); Route::get('/volaille', [OCBController::class, 'poultry'])->name('poultry'); Route::get('/volaille', [OCBController::class, 'poultry'])->name('poultry'); Route::get('/oeuf', [OCBController::class, 'egg'])->name('egg'); Route::view('/', 'front.ocb.index')->name('index'); }); Route::get('/map/breeders', [MapController::class, 'breeders'])->name('map.breeders'); Route::get('/en-ce-moment/{moment}', [MomentsController::class, 'index'])->name('moment'); Route::get('/nous-rejoindre', [HomeController::class, 'joinUs'])->name('joinus'); Route::view('/frame/{type}', 'front.frame')->name('front.frame'); Route::prefix('/on-s-engage') ->name('onsengage.') ->group(function () { Route::prefix('/le-gaulois-marque-engagee-et-responsable') ->name('marqueengage.') ->group(function () { // Onglet 100% Française Route::get( '/la-grande-marque-alimentaire-francaise', [EngagementsController::class, 'lagrandemarque'] )->name('lagrandemarque'); // Onglet Bien nourrir Route::get( '/bien-nourrir-tous-les-francais', [EngagementsController::class, 'biennourrir'] )->name('biennourrir'); // Onglet Elever durablement Route::get( '/elever-durablement', [EngagementsController::class, 'eleverdurablement'] )->name('eleverdurablement'); // Onglet Restecpter la terre ^^ Route::get( '/respecter-la-terre', [EngagementsController::class, 'respecterlaterre'] )->name('respecterlaterre'); // Onglet Mieux vivre ensemble Route::get( '/favoriser-le-mieux-vivre-ensemble', [EngagementsController::class, 'vivreensemble'] )->name('vivreensemble'); }); }); // Route ajax pour Single Optin Route::post('/optin', [HomeController::class, 'addOptIn'])->name('add-single-optin'); Route::get('/activer/{hashcode}', [CustomerController::class, 'activate'])->name('activer'); Route::get('/connexion', [CustomerController::class, 'authenticateForm'])->name('form-connexion'); Route::get('/deconnexion', [CustomerController::class, 'logout'])->name('deconnexion')->middleware('auth:customer'); Route::get('/inscription', [CustomerController::class, 'registerForm'])->name('form-inscription'); Route::get('/reinitialiser-mot-de-passe/{token}', [CustomerController::class, 'viewChangePassword'])->name('form-change-mdp'); Route::post('/connexion', [CustomerController::class, 'authenticate'])->name('connexion'); Route::post('/inscription', [CustomerController::class, 'register'])->name('inscription'); Route::post('/reinitialiser-mot-de-passe', [CustomerController::class, 'passwordReset'])->name('reinit-mdp'); Route::post('/reinitialiser-mot-de-passe/{token}', [CustomerController::class, 'changePassword'])->name('change-mdp'); Route::get('/contactez-nous', [ContactController::class, 'contact'])->name('contact-us'); Route::get('/reclamation-produit', [ContactController::class, 'complain'])->name('product-request'); Route::post('/contactez-nous', [ContactController::class, 'contactSubmit'])->name('contact-us.submit'); Route::post('/reclamation-produit', [ContactController::class, 'complainSubmit'])->name('product-request.submit'); Route::prefix('/le-club-des-gaulois') ->name('club.') ->group(function () { Route::get('/les-infos-du-club/{publishedArticle}', [ClubController::class, 'article'])->name('infos.child'); Route::post('/les-infos-du-club/repondre-sondage', [ClubController::class, 'answerSurvey'])->name('infos.answer-survey'); Route::prefix('/la-bourse-aux-echanges') ->name('bourse.') ->middleware('auth:customer') ->group(function () { Route::get('/', [BourseController::class, 'bourse'])->name('index'); Route::post('/save-state/{type}', [BourseController::class, 'bourseSaveState'])->name('saveState'); Route::post('/search/{type}', [BourseController::class, 'bourseSearch'])->name('search'); }); Route::get('/les-promos', [ClubController::class, 'reductions'])->name('reductions') ->middleware('auth:customer'); Route::prefix('/la-boutique') ->middleware('auth:customer') // Il faut être connecté pour acceder à la boutique ->name('boutique.') ->group(function () { Route::get('/', [BoutiqueController::class, 'index'])->name('index'); Route::post('/validation', [BoutiqueController::class, 'validateBuy'])->name('validate'); Route::prefix('commande') ->group(function () { Route::get('{order}/valide', [BoutiqueController::class, 'validatedBuy'])->name('validated'); Route::get('{order}/reglement', [BoutiqueController::class, 'payWithCb'])->name('payementCB'); }); Route::prefix('/reglement') ->name('reglement.') ->group(function () { Route::post('/{order}/confirmServ', [BoutiqueController::class, 'confirmCbFromMercanet']) ->name('payementConfirmCBServ')->withoutMiddleware([ 'auth:customer', Authenticate::class, AddQueuedCookiesToResponse::class, EncryptCookies::class, VerifyCsrfToken::class, StartSession::class, ShareErrorsFromSession::class, XssSanitizer::class, ]); Route::post('/{order}/confirm', [BoutiqueController::class, 'confirmCb']) ->name('payementConfirmCB')->withoutMiddleware([ 'auth:customer', Authenticate::class, AddQueuedCookiesToResponse::class, EncryptCookies::class, VerifyCsrfToken::class, StartSession::class, ShareErrorsFromSession::class, XssSanitizer::class, ]); }); }); Route::get('/', [ClubController::class, 'index'])->name('index'); }); Route::prefix('/mon-compte') ->name('account.') ->middleware('auth:customer') ->group(function () { Route::get('/liste-de-courses', [ClubController::class, 'cart'])->name('cart'); Route::get('/mes-informations', [ClubController::class, 'infos'])->name('infos'); Route::get('/messages', [ClubController::class, 'messages'])->name('messages'); Route::get('/messages/report', [ContactController::class, 'reportCustomer'])->name('reportCustomer'); Route::get('/notifications', [ClubController::class, 'notifications'])->name('notifications'); Route::get('/recettes-favorites', [ClubController::class, 'favoritesRecipes'])->name('favs-recipes'); Route::post('/liste-de-courses/{product}/{status}', [CustomerController::class, 'setItemInCart'])->name('set-cart'); Route::post('/mes-informations', [ClubController::class, 'updateInfos'])->name('update-infos'); Route::post('/mes-informations/change-password', [CustomerController::class, 'changePasswordWhenAuthenticated'])->name('change-password'); Route::post('/messages/block/{status}', [ClubController::class, 'blockCustomer'])->name('blockCustomer'); Route::post('/messages/delete', [ClubController::class, 'deleteMessage'])->name('deleteMessage'); Route::post('/messages/send', [ClubController::class, 'sendMessage'])->name('sendMessage'); Route::post('/recettes-favorites/{recipe}/set-status/{status}', [CustomerController::class, 'setFavoriteRecipe'])->name('set-favs-recipes'); Route::redirect('/', '/mon-compte/mes-informations'); });