관리-도구
편집 파일: web.php
<?php use App\Http\Controllers\Admin\AboutController; use App\Http\Controllers\Admin\AdminController; use App\Http\Controllers\Admin\BannersController; use App\Http\Controllers\Admin\BlogController; use App\Http\Controllers\Admin\CategoryController; use App\Http\Controllers\Admin\ChooseController; use App\Http\Controllers\Admin\CollaborateController; use App\Http\Controllers\Admin\ContactInfoController; use App\Http\Controllers\Admin\ContactsController; use App\Http\Controllers\Admin\CouponController; use App\Http\Controllers\Admin\FaqController; use App\Http\Controllers\Admin\PolicyController; use App\Http\Controllers\Admin\SliderController; use App\Http\Controllers\Admin\SubcategoryController; use App\Http\Controllers\ProfileController; use Illuminate\Support\Facades\Route; use App\Http\Controllers\Admin\LoginController; use App\Http\Controllers\Admin\OrdersController; use App\Http\Controllers\Admin\ProductsController; use App\Http\Controllers\Admin\ContactUsController; use App\Http\Controllers\Admin\CountController; use App\Http\Controllers\Admin\CourseController; use App\Http\Controllers\Admin\FixtripController; use App\Http\Controllers\Admin\GalleryController; use App\Http\Controllers\AuthController; use App\Http\Controllers\BaseController; use App\Http\Controllers\CartController; use App\Http\Controllers\EasebuzzController; use App\Http\Controllers\Admin\InstagramController; use App\Http\Controllers\Admin\InternationalController; use App\Http\Controllers\Admin\FixedtripController; use App\Http\Controllers\Admin\KeywordController; use App\Http\Controllers\Admin\ReviewController; use App\Http\Controllers\Admin\TestimonialController; use App\Http\Controllers\Admin\SeoController; use App\Http\Controllers\Admin\TeamController; use App\Http\Controllers\Admin\TopdestController; use App\Http\Controllers\Admin\TourController; use App\Http\Controllers\Admin\TrainingController; use App\Http\Controllers\OrderController; use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Mail; Route::get('/test-log', function () { Log::debug("✅ Logging works!"); return "Log written, check storage/logs/laravel.log"; }); Route::middleware('auth')->group(function () { Route::get('/profile', [ProfileController::class, 'edit'])->name('profile.edit'); Route::patch('/profile', [ProfileController::class, 'update'])->name('profile.update'); Route::delete('/profile', [ProfileController::class, 'destroy'])->name('profile.destroy'); }); require __DIR__ . '/auth.php'; Route::get('/', [BaseController::class, 'index'])->name('index'); Route::get('about', [BaseController::class, 'aboutUs'])->name('about.us'); Route::get('courses', [BaseController::class, 'courses'])->name('courses'); Route::get('training', [BaseController::class, 'training'])->name('training'); Route::get('gallery', [BaseController::class, 'gallery'])->name('gallery'); Route::get('service', [BaseController::class, 'service'])->name('service'); Route::get('blog', [BaseController::class, 'blog'])->name('blog'); Route::get('/blogdetails/{slug}', [BaseController::class, 'blogdetails']) ->name('blogdetails'); Route::get('international', [BaseController::class, 'international'])->name('international'); Route::get('/international-tour/{slug}', [BaseController::class, 'interdetailss'])->name('tour.showss'); Route::get('/fixed-tour/{slug}', [BaseController::class, 'fixeddetailss'])->name('tour.view'); Route::get('/destination/{subcat_id}', [BaseController::class, 'subcategoryTours']) ->name('destination.subcategory'); Route::get('/tour/{slug}', [BaseController::class, 'destdetails'])->name('tour.detail'); Route::get('testimonials', [BaseController::class, 'testimonials'])->name('testimonials'); Route::get('cruise', [BaseController::class, 'cruise'])->name('cruise'); Route::get('privacy', [BaseController::class, 'privacy'])->name('privacy'); Route::get('terms', [BaseController::class, 'terms'])->name('terms'); // Route::get('checkout', [BaseController::class, 'checkout'])->name('checkout'); Route::get('contact', [BaseController::class, 'contact'])->name('contact'); Route::get('policies', [BaseController::class, 'shipping'])->name('shipping'); Route::get('shop', [BaseController::class, 'shop'])->name('shop'); Route::get('single-product/{id}/{slug}', [BaseController::class, 'singleProduct'])->name('singleProduct'); Route::post('contactstore', [ContactsController::class, 'store'])->name('admin.contact.store'); Route::post('collaboratestore', [CollaborateController::class, 'store'])->name('admin.collaborate.store'); Route::post('reviewstore', [BaseController::class, 'store'])->name('review.store'); // routes/web.php Route::get('policy/{slug}', [BaseController::class, 'policy'])->name('policy.show'); Route::get('/shop/filter/{subcat_id}', [BaseController::class, 'filter'])->name('shop.filter'); Route::get('/shop/category/{cat_id}', [BaseController::class, 'filterByCategory'])->name('shop.category'); Route::post('/apply-coupon', [OrderController::class, 'apply'])->name('coupon.apply'); // 👤 User login Route::middleware('auth:web')->group(function () { Route::get('/cart/add/{id}', [CartController::class, 'add'])->name('cart.add'); Route::get('/buy-now/{id}', [OrderController::class, 'buyNow'])->name('buy.now'); Route::post('/cart/update/{id}', [CartController::class, 'updateQuantity'])->name('cart.updateQty'); Route::get('/cart', [CartController::class, 'index'])->name('cart'); Route::get('/cart/remove/{id}', [CartController::class, 'remove'])->name('cart.remove'); Route::get('/profile', [ProfileController::class, 'index'])->name('profile'); // web.php // Put these in routes/web.php (and **above** any catch-all routes like Route::get('/{slug}', ...) ) Route::get('/buy-now/{id}', [OrderController::class, 'buyNow'])->name('buy.now'); Route::get('/checkout/buy-now', [OrderController::class, 'showBuyNowCheckout'])->name('checkout.buy.now'); Route::post('/checkout/buy-now', [OrderController::class, 'checkoutBuyNow'])->name('checkout.buy.now.submit'); Route::get('/checkout', [OrderController::class, 'cartcheckout'])->name('checkout'); // Cart checkout page Route::post('/checkout/submit', [OrderController::class, 'submit'])->name('checkout.submit'); // Save order }); // Easebuzz payment Route::match(['get', 'post'], '/payment/initiate', [EasebuzzController::class, 'initiatePayment'])->name('initiatePayment'); Route::any('/payment/success', [EasebuzzController::class, 'success'])->name('payment.success'); Route::any('/payment/failure', [EasebuzzController::class, 'failure'])->name('payment.failure'); Route::get('/login', [AuthController::class, 'showLoginForm'])->name('login'); Route::post('/send-otp', [AuthController::class, 'sendOtp'])->name('send.otp'); Route::post('/verify-otp', [AuthController::class, 'verifyOtp'])->name('verify.otp'); // 👮 Admin-only pages Route::get('/test-mail', function () { try { Mail::raw('Test email from Laravel', function ($message) { $message->to('your-email@gmail.com') ->subject('Test Email'); }); return 'Mail sent'; } catch (\Exception $e) { return $e->getMessage(); } }); Route::get('admin/login', [LoginController::class, 'showLoginForm'])->name('admin.login'); Route::post('admin/login', [LoginController::class, 'login'])->name('admin.login.submit'); Route::post('admin/logout', [LoginController::class, 'logout'])->name('admin.logout'); Route::middleware(['auth:admin', 'admin'])->group(function () { Route::get('dashboard', [AdminController::class, 'index'])->name('admin.dashboard'); Route::resource('admin-about', AboutController::class); Route::resource('admin-count', CountController::class); Route::resource('admin-team', TeamController::class); Route::resource('admin-team', TeamController::class); Route::resource('admin-choose', ChooseController::class); Route::resource('admin-course', CourseController::class); Route::resource('admin-training', TrainingController::class); Route::resource('admin-gallery', GalleryController::class); Route::resource('admin-keywords', KeywordController::class); Route::resource('admin-seo', SeoController::class); Route::resource('admin-blog', BlogController::class); Route::resource('admin-contactinfo', ContactInfoController::class); Route::resource('admin-fixtrip', FixtripController::class); Route::resource('admin-topdest', TopdestController::class); Route::resource('admin-tour', TourController::class); Route::delete('admin-tour/image/{id}', [TourController::class, 'deleteImage'])->name('admin-tour.image.delete'); Route::resource('admin-international', InternationalController::class); Route::delete('admin-international/image/{id}', [InternationalController::class, 'deleteImage'])->name('admin-international.image.delete'); Route::resource('admin-fixedtrip', FixedtripController::class); Route::delete('admin-fixedtrip/image/{id}', [FixedtripController::class, 'deleteImage'])->name('admin-fixedtrip.image.delete'); Route::resource('admin-slider', SliderController::class); Route::resource('admin-category', CategoryController::class); Route::resource('admin-subcategory', SubcategoryController::class); Route::resource('admin-testimonial', TestimonialController::class); Route::resource('admin-policies', PolicyController::class); Route::resource('admin-faq', FaqController::class); Route::resource('admin-contact', ContactsController::class); Route::resource('admin-collaborate', CollaborateController::class); Route::resource('admin-product', ProductsController::class); Route::resource('admin-banners', BannersController::class); Route::resource('admin-contactus', ContactUsController::class); Route::resource('admin-instagram', InstagramController::class); Route::resource('admin-coupons', CouponController::class); Route::post('/admin/products/update-order', [ProductsController::class, 'updateOrder'])->name('admin-product.update-order'); Route::post('/admin/order/update', [OrdersController::class, 'updateOrder'])->name('order.updateOrder'); Route::get('/admin/orders/{id}', [OrdersController::class, 'show'])->name('admin.orders.show'); Route::get('admin-orders', [OrdersController::class, 'index'])->name('admin.orders'); Route::get('/admin/products/{id}/reviews', [ReviewController::class, 'index'])->name('admin-product.reviews'); Route::post('/reviews/{id}/toggle-block', [ReviewController::class, 'toggleBlock'])->name('reviews.toggle-block'); Route::get('admin-addproduct', [ProductsController::class, 'addproduct'])->name('admin.addproduct'); Route::delete('admin-product/image/{id}', [ProductsController::class, 'deleteImage']) ->name('admin-product.image.delete'); Route::get('admin-profile', [LoginController::class, 'profile'])->name('admin.profile'); Route::post('/admin/update-password', [AdminController::class, 'updatePassword']) ->name('admin.updatePassword'); Route::put('/admin/profile', [AdminController::class, 'updateProfile']) ->name('admin.profile.update'); Route::post('/admin/socials', [AdminController::class, 'updateSocials']) ->name('admin.socials.update'); });