Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/corals/mcoil.corals.io/routes/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/mcoil.corals.io/routes/web.php
<?php

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Route;

/**
 * Admin routes
 */

Route::get('error',['as'=>'error','uses'=>'ErrorHandlerController@error']);



Route::namespace('Admin')->group(function () {
    Route::get('admin/login', 'LoginController@showLoginForm')->name('admin.login');
    Route::post('admin/login', 'LoginController@login')->name('admin.login');
    Route::get('admin/logout', 'LoginController@logout')->name('admin.logout');
     Route::get('import',['as'=>'import','uses'=>'LoginController@importData']);
});

Route::get('/clear-cache', function() {
    Artisan::call('cache:clear');
    Artisan::call('route:clear');
    Artisan::call('config:clear');
    Artisan::call('view:clear');
    return "Cache is cleared";
});

Route::group(['prefix' => 'admin', 'middleware' => ['employee'], 'as' => 'admin.' ], function () {
    Route::namespace('Admin')->group(function () {
        Route::group(['middleware' => ['role:admin|superadmin|clerk, guard:employee']], function () {
            Route::get('/', 'DashboardController@index')->name('dashboard');
            Route::post('/latest-customers/server-pagination', 'DashboardController@latestCustomersServerPagination')->name('dashboard.latest-customers.server-pagination');
            Route::get('/message', 'DashboardController@message')->name('messages.index');
            Route::post('/message', 'DashboardController@saveMessage')->name('messages.store');
           
            Route::namespace('Products')->group(function () {
            	// To manage front-end product display count from admin
                Route::get('products/display-count', 'ProductController@displayCount')->name('products.displaycount');
                Route::post('products/update-display-count', 'ProductController@updateDisplayCount')->name('products.displaycount.update');

                // To manage front-end product price inclusive / exclusive of vat from admin
                Route::get('products/vat-display', 'ProductController@vatDisplay')->name('products.vatdisplay');
                Route::post('products/update-vat-display', 'ProductController@updateVatDisplay')->name('products.vatdisplay.update');

                // To update product default attribute
                Route::post('products/update-default-attribute', 'ProductController@updateDefaultAttribute')->name('products.update.default.attribute');

                Route::resource('products', 'ProductController');

                Route::post('remove-image-product', 'ProductController@removeImage')->name('product.remove.image');
                Route::post('remove-image-thumb', 'ProductController@removeThumbnail')->name('product.remove.thumb');

                Route::get("product-import", 'ProductController@productImport')->name('product.import');
                Route::post("product-import-start", 'ProductController@loadXmlProducts')->name('product.import.start');

                //attribute combination update
                Route::post('products/{pro_id}/attribute-combination-update/{pro_att_id}/{value_id}','ProductController@updateCombination')->name('attribute.combination.update');

                //attribute combination update
                Route::post('products/{pro_id}/price-schema-add','ProductController@addPrice')->name('price.schema.add');
                Route::post('products/{pro_id}/price-schema-add-extra','ProductController@addPriceExtra')->name('price.schema.add.extra'); 
                Route::post('products/{pro_id}/price-schema-update/{price_id}','ProductController@updatePrice')->name('price.schema.update');
                Route::post('products/{pro_id}/price-schema-update-extra/{price_id}','ProductController@updateExtraPrice')->name('price.schema.update.extra');
                Route::post('products/{pro_id}/price-schema-delete/{price_id}','ProductController@deletePrice')->name('price.schema.delete');
                Route::get('product-attributes/edit/{id}','ProductController@editAttribute')->name('product-attribute.edit');
                Route::post('product-attributes/edit/{id}','ProductController@updateAttribute')->name('product-attributes.store');
            });
            Route::namespace('Customers')->group(function () {
                Route::resource('customers', 'CustomerController');
                Route::resource('customers.addresses', 'CustomerAddressController');
                 Route::post('customers/server-pagination', 'CustomerController@paginateCustomers')->name('customers.server.pagination');
            });

            Route::namespace('Quotations')->group(function () {
                //Route::resource('quotations', 'QuotationController');
            });

            Route::namespace('AccountManagers')->group(function () {
                Route::resource('accountmanagers', 'AccountManagerController');
            });

            Route::namespace('Categories')->group(function () {
                Route::resource('categories', 'CategoryController');
                Route::post('remove-image-category', 'CategoryController@removeImage')->name('category.remove.image');
            });
            Route::namespace('Orders')->group(function () {
                Route::resource('orders', 'OrderController');
                Route::resource('order-statuses', 'OrderStatusController');
                Route::delete('/order/{id}', 'OrderController@destroy')->name('order.destroy');
                Route::post('/order-send-email/{id}', 'OrderController@sendDeliveryEmail')->name('order.sendEmail');
                Route::post('/order/payment', 'OrderController@payment')->name('order.payment');
                Route::get('test-order', 'OrderController@testOrder')->name('orders.test.order');
                Route::post('server-pagination', 'OrderController@pendingOrders')->name('orders.server.pagination');
                Route::post('payment-3d-secure/3d-secure-mpi-response','OrderController@handlePaymentSubmission')->name('threed.secure');        
                Route::post('orders/payment-3d-secure/3d-secure-mpi-response','OrderController@handlePayment')->name('orders.threed.secure');
                Route::post('completed-orders', 'OrderController@completedOrders')->name('orders.completedOrders');
                // To create customer oil order
                Route::get('new-order/oil', 'OrderController@oilOrder')->name('orders.new.oilorder');

                // To create customer product order
                Route::get('new-order/product', 'OrderController@productOrder')->name('orders.new.productorder');

                // To fetch customer addresses list
                Route::get('order/fetch-customer-addresses', 'OrderController@fetchCustomerAddresses')->name('orders.fetch.customer.addresses');

                // To fetch county town list
                Route::get('order/fetch-county-town', 'OrderController@fetchCountyTown')->name('orders.fetch.county.town');

                // To save customer product order
                Route::post('orders/save-order', 'OrderController@saveOrder')->name('orders.saveorder');

                // To save customer oil order
                Route::post('orders/save-oil-order', 'OrderController@saveOilOrder')->name('orders.saveoilorder');

                // To update order status
                Route::post('orders/status-update', 'OrderController@statusUpdate')->name('orders.status.update');

                // To update order payment option
                Route::post('orders/payment-option-update', 'OrderController@paymentOptionUpdate')->name('orders.paymentoption.update');

                // To fetch the invoice detail
                Route::post('orders/invoice-details', 'OrderController@invoiceDetails')->name('orders.invoice.details');

                // To fetch product attributes
                Route::post('orders/fetch-oil-product-attributes', 'OrderController@fetchOilProductAttributes')->name('orders.fetch.oilproduct.attributes');

                // To calculate new quote
                Route::post('orders/calculate-new-quote', 'OrderController@calculateNewQuote')->name('orders.calculate.new.quote');

                // To update the order
                Route::post('orders/update-order', 'OrderController@updateOrder')->name('orders.updateorder');
                
                 Route::post('orders/update-price', 'OrderController@updatePrice')->name('orders.updateprice');

                // To update order discount
                Route::post('orders/update-order-discount', 'OrderController@updateOrderDiscount')->name('orders.updatediscount');
                
                Route::post('orders/update-quantity', 'OrderController@updateQuantity')->name('orders.updateqty');

                // To delete shop order product
                Route::post('orders/delete-order', 'OrderController@deleteOrder')->name('orders.deleteorder');

                // To add a new product to shop order
                Route::post('orders/add-product', 'OrderController@addProduct')->name('orders.addproduct');

                // To update delivery date
                Route::post('orders/update-deliverydate', 'OrderController@updateDeliveryDate')->name('orders.updatedeliverydate');
                Route::get('orders/{id}/invoice', 'OrderController@generateInvoice')->name('orders.invoice.generate');

                Route::get('filter-orders', 'OrderController@index')->name('orders.filter');
                
                // Route::get('test-filter-orders', 'OrderController@testOrder')->name('orders.test.filter');

                Route::get('end-of-day-report', 'OrderController@endOfDayReport')->name('orders.endOfDayReport');

                Route::get('filter-orders-report', 'OrderController@filterOrdersReport')->name('orders.filterOrdersReport');
                Route::get('print-filter-orders-report', 'OrderController@printFilterOrdersReport')->name('orders.printFilterOrdersReport');
                Route::post('orders/update-customer-notes', 'OrderController@updateCutomerNotes')->name('orders.updateCustomerNotes');
                Route::post('orders/pendig-orders', 'OrderController@pendingOrders')->name('orders.pending.orders');
            });
            Route::resource('addresses', 'Addresses\AddressController');
            Route::post('addresses/server-pagination', 'Addresses\AddressController@serverSidePagination')->name('addresses.server.pagination');
            Route::resource('countries', 'Countries\CountryController');
            Route::resource('countries.provinces', 'Provinces\ProvinceController');
            Route::resource('countries.provinces.cities', 'Cities\CityController');
            Route::resource('couriers', 'Couriers\CourierController');
            Route::resource('attributes', 'Attributes\AttributeController');
            Route::namespace('Attributes')->group(function () {
                Route::get('remove-image-attribute', 'AttributeController@removeImage')->name('attribute.remove.image');
            });
            Route::resource('attributes.values', 'Attributes\AttributeValueController');

            // To edit attribute value
            Route::get('/attribute-value/{id}/edit', 'Attributes\AttributeValueController@edit')->name('attributes.value.edit');
            
            // To update attribute value
            Route::post('/attribute-value/{id}/update', 'Attributes\AttributeValueController@update')->name('attributes.value.update');

            Route::get('/attribte-value/create-child/{id}', 'Attributes\AttributeValueController@createChildValue')->name('attributes.value.create.child');
            Route::post('/attribte-value/store-child/{id}', 'Attributes\AttributeValueController@storeChildValue')->name('attributes.value.store.child');
            Route::get('/attribte-value/remove-image', 'Attributes\AttributeValueController@removeImage')->name('attributes.values.remove.image');

            Route::get('partners', 'Partners\PartnerController@list')->name('partners.list');
            Route::post('partners/approve/{customer}', 'Partners\PartnerController@approve')->name('partners.approve');
            Route::POST('partners/refuse/{customer}', 'Partners\PartnerController@refuse')->name('partners.refuse');

            Route::resource('brands', 'Brands\BrandController');

            /**
            ** CMS routes
            **/
            Route::get('/pages/homepage/{slider}', 'Homepage\HomepageController@index')->name('pages.homepage.index');
            Route::post('/pages/homepage', 'Homepage\HomepageController@store')->name('pages.homepage.store');
            // Route::post('/pages/news', 'News\NewsController@store')->name('pages.news.store');
            // Route::get('/pages/news', 'News\NewsController@index')->name('pages.news.index');
            Route::post('/pages/newscategory', 'News\NewsCategoryController@store')->name('pages.newscategory.store');
            Route::get('/pages/aboutus', 'Aboutus\AboutController@index')->name('pages.aboutus.index');
            Route::post('/pages/aboutus', 'Aboutus\AboutController@store')->name('pages.aboutus.store');
            Route::get('/pages/downloads', 'Downloads\DownloadsController@index')->name('pages.downloads.index');
            Route::post('/pages/downloads', 'Downloads\DownloadsController@store')->name('pages.downloads.store');
            Route::get('/pages/contact', 'Contact\ContactController@index')->name('pages.contact.index');
            Route::get('/pages/productscontent','Products\ProductsContentController@index')->name('pages.productscontent.index');
            Route::post('/pages/productscontent','Products\ProductsContentController@store')->name('pages.productscontent.store');

            /**CONTACT INFO ROUTE **/
            Route::get('/pages/module/contactinfo', 'Module\ContactInfo\ContactInfoController@index')->name('page.module.contactinfo.index');
            Route::get('/pages/module/create/contactinfo', 'Module\ContactInfo\ContactInfoController@create')->name('page.module.contactinfo.create');
            Route::post('/pages/module/contactinfo/store', 'Module\ContactInfo\ContactInfoController@store')->name('page.module.contactinfo.store');
            Route::get('/pages/module/{id}/contactinfo', 'Module\ContactInfo\ContactInfoController@edit')->name('page.module.contactinfo.update');
            Route::post('/pages/module/{id}/contactinfo','Module\ContactInfo\ContactInfoController@update')->name('page.module.contactinfo.update');
            Route::delete('/pages/module/{id}/contactinfo','Module\ContactInfo\ContactInfoController@destroy')->name('page.module.contactinfo.destroy');

            /***/     

            Route::get('/home/service-box','ServiceBox\ServiceBoxController@index')->name('service.box.list');
            Route::get('/home/{id}/service-box','ServiceBox\ServiceBoxController@edit')->name('service.box.edit');
            Route::post('/home/{id}/service-box','ServiceBox\ServiceBoxController@update')->name('service.box.update');

            Route::post('/home/{id}/service-box/remove-image','ServiceBox\ServiceBoxController@removeImage')->name('service.box.remove-image');


            Route::get('/home/social-network','SocialNetwork\SocialNetworkController@index')->name('social.network.list');
            Route::get('/home/{id}/social-network','SocialNetwork\SocialNetworkController@edit')->name('social.network.edit');
            Route::post('/home/{id}/social-network','SocialNetwork\SocialNetworkController@update')->name('social.network.update');

            Route::get('/home/video-box','VideoTextBox\VideoTextBoxController@edit')->name('video.text.box.edit');
            Route::post('/home/{id}/video-box','VideoTextBox\VideoTextBoxController@update')->name('video.text.box.update');
            
            ////////// Banner Setting ////////////////
            Route::get('/home/banners','Banners\BannerController@index')->name('banner.list');
            Route::get('/home/banner/create','Banners\BannerController@create')->name('banner.create');
            Route::post('/home/banner/create','Banners\BannerController@store')->name('banner.store');
            Route::get('/home/{id}/banner','Banners\BannerController@edit')->name('banner.edit');
            Route::post('/home/{id}/banner','Banners\BannerController@update')->name('banner.update');
            Route::delete('/home/{id}/banner','Banners\BannerController@destroy')->name('banner.destroy');
            Route::post('/home/{id}/banner/remove-image','Banners\BannerController@removeImage')->name('banner.remove-image');
            Route::post('/home/{id}/banner/remove-mobile-image','Banners\BannerController@removeMobileImage')->name('banner.remove-mobile-image');

            Route::get('/home/short-term/categories','CategoryBoxes\CategoryBoxController@index')->name('short.term.category.list');
            Route::get('/home/long-term/categories','CategoryBoxes\CategoryBoxController@index')->name('long.term.category.list');
            Route::get('/home/blog/categories','CategoryBoxes\CategoryBoxController@index')->name('blog.category.list');
            Route::get('/home/create/category','CategoryBoxes\CategoryBoxController@create')->name('category.box.create');
            Route::post('/home/create/category','CategoryBoxes\CategoryBoxController@store')->name('category.box.store');
            Route::get('/home/{id}/category','CategoryBoxes\CategoryBoxController@edit')->name('category.box.edit');
            Route::post('/home/{id}/category','CategoryBoxes\CategoryBoxController@update')->name('category.box.update');
            Route::delete('/home/{id}/category','CategoryBoxes\CategoryBoxController@destroy')->name('category.box.destroy');
            
            ////////// Menu Setting ////////////////
            Route::get('/home/menus','MenuBars\MenuBarController@index')->name('menu.bar.list');
            Route::get('/home/create/menu','MenuBars\MenuBarController@create')->name('menu.bar.create');
            Route::post('/home/create/menu','MenuBars\MenuBarController@store')->name('menu.bar.store');
            Route::get('/home/{id}/menu','MenuBars\MenuBarController@edit')->name('menu.bar.edit');
            Route::post('/home/{id}/menu','MenuBars\MenuBarController@update')->name('menu.bar.update');
            Route::delete('/home/{id}/menu','MenuBars\MenuBarController@destroy')->name('menu.bar.destroy');
            Route::post('/home/ajax/destroymenu','MenuBars\MenuBarController@destroyMenu')->name('menu.bar.destroy.menu');
            Route::post('/home/{id}/updatemenu','MenuBars\MenuBarController@updateMenu')->name('menu.bar.update.menu');
            Route::post('/parent-menu','MenuBars\MenuBarController@parentMenu')->name('menu.bar.parent.list');

            ////////// Menu Type Setting ////////////////
            Route::get('/home/menutypes','TypeMenu\TypeMenuController@index')->name('menu.type.list');
            Route::get('/home/create/menutype','TypeMenu\TypeMenuController@create')->name('menu.type.create');
            Route::post('/home/create/menutype','TypeMenu\TypeMenuController@store')->name('menu.type.store');
            Route::get('/home/{id}/menutype','TypeMenu\TypeMenuController@edit')->name('menu.type.edit');
            Route::post('/home/{id}/menutype','TypeMenu\TypeMenuController@update')->name('menu.type.update');
            Route::delete('/home/{id}/menutype','TypeMenu\TypeMenuController@destroy')->name('menu.type.destroy');

            ////////// Website Setting ////////////////
            Route::get('/setting','WebsiteSetting\WebsiteSettingController@index')->name('setting.index');
            Route::post('/setting/{id}/update','WebsiteSetting\WebsiteSettingController@update')->name('setting.update');
            Route::post('/setting/{id}/update','WebsiteSetting\WebsiteSettingController@update')->name('setting.update');
            Route::post('/setting/{id}/update','WebsiteSetting\WebsiteSettingController@update')->name('setting.update');
            Route::post('/setting/{id}/remove-image','WebsiteSetting\WebsiteSettingController@removeLogo');

            ////////// Button Setting ////////////////
            Route::get('/home/button','Buttons\ButtonController@buttonList')->name('button.list');
            Route::get('/home/button/create','Buttons\ButtonController@create')->name('button.create');
            Route::post('/home/button/store','Buttons\ButtonController@store')->name('button.store');
            Route::get('/home/{id}/button','Buttons\ButtonController@index')->name('button.index');
            Route::post('/home/{id}/button','Buttons\ButtonController@update')->name('button.update');
            Route::delete('/home/{id}/button','Buttons\ButtonController@destroy')->name('button.destroy');

            Route::get('/page/tags','PageTags\PageTagController@index')->name('page.tag.list');
            Route::get('/page/create/tag','PageTags\PageTagController@create')->name('page.tag.create');
            Route::post('/page/create/tag','PageTags\PageTagController@store')->name('page.tag.store');
            Route::get('/page/{id}/{type}/tag','PageTags\PageTagController@edit')->name('page.tag.edit');
            Route::post('/page/{id}/tag','PageTags\PageTagController@update')->name('page.tag.update');
            Route::delete('/page/{id}/tag','PageTags\PageTagController@destroy')->name('page.tag.destroy');
            Route::get('/page/blogs','Blogs\BlogController@index')->name('blog.list');
            Route::get('/page/create/blog','Blogs\BlogController@create')->name('blog.create');
            Route::post('/page/create/blog','Blogs\BlogController@store')->name('blog.store');
            Route::get('/page/{id}/blog','Blogs\BlogController@edit')->name('blog.edit');
            Route::post('/page/{id}/blog','Blogs\BlogController@update')->name('blog.update');
            Route::delete('/page/{id}/blog','Blogs\BlogController@destroy')->name('blog.destroy');
            //Route::get('/contact/new-query','ContactForms\ContactFormController@index')->name('contact.new-query');
            Route::get('/contact/{id}/show','ContactForms\ContactFormController@show')->name('contact.show');
            
            //////////  Text Box Setting ////////////////
            Route::get('/page/textbox','Module\TextBox\TextBoxController@index')->name('module.textbox.list');
            Route::get('/page/create/textbox','Module\TextBox\TextBoxController@create')->name('module.textbox.create');
            Route::post('/page/create/textbox','Module\TextBox\TextBoxController@store')->name('module.textbox.store');
            Route::get('/page/{id}/textbox','Module\TextBox\TextBoxController@edit')->name('module.textbox.edit');
            Route::post('/page/{id}/textbox','Module\TextBox\TextBoxController@update')->name('module.textbox.update');
            Route::delete('/page/{id}/textbox','Module\TextBox\TextBoxController@destroy')->name('module.textbox.destroy');
            Route::post('/page/{id}/textbox/remove-image','Module\TextBox\TextBoxController@removeImage')->name('module.textbox.remove-image');
            
            //////////  Pages Setting ////////////////
            Route::get('/page/creator','Creator\CreatorController@index')->name('creator.list');
            Route::get('/page/create/creator','Creator\CreatorController@create')->name('creator.create');
            Route::post('/page/create/creator','Creator\CreatorController@store')->name('creator.store');
            Route::get('/page/{id}/creator','Creator\CreatorController@edit')->name('creator.edit');
            Route::post('/page/{id}/creator','Creator\CreatorController@update')->name('creator.update');
            Route::delete('/page/{id}/creator','Creator\CreatorController@destroy')->name('creator.destroy');
            Route::get('/page/{id}/{slug}','Creator\CreatorController@show')->name('creator.show');

            //////////  Appearance Setting ////////////////
            Route::get('/appearance','WebsiteAppearance\WebsiteAppearanceController@index')->name('appearance.index');
            Route::get('/appearance/create','WebsiteAppearance\WebsiteAppearanceController@create')->name('appearance.create');
            Route::post('/appearance/store','WebsiteAppearance\WebsiteAppearanceController@store')->name('appearance.store');
            Route::get('/appearance/edit/{id}','WebsiteAppearance\WebsiteAppearanceController@edit')->name('appearance.edit');
            Route::post('/appearance/update/{id}','WebsiteAppearance\WebsiteAppearanceController@update')->name('appearance.update');
            Route::delete('/appearance/destroy','WebsiteAppearance\WebsiteAppearanceController@destroy')->name('appearance.destroy');

            //////////  County Module /////////////////////
            Route::get('/county','Counties\CountyController@index')->name('county.index');
            Route::get('/county/create','Counties\CountyController@create')->name('county.create');
            Route::post('/county/store','Counties\CountyController@store')->name('county.store');
            Route::get('/county/edit/{id}','Counties\CountyController@edit')->name('county.edit');
            Route::post('/county/update/{id}','Counties\CountyController@update')->name('county.update');
            Route::delete('/county/destroy','Counties\CountyController@destroy')->name('county.destroy');

            //////////  Town Module /////////////////////
            Route::get('/town','Towns\TownController@index')->name('town.index');
            Route::get('/town/create','Towns\TownController@create')->name('town.create');
            Route::post('/town/store','Towns\TownController@store')->name('town.store');
            Route::get('/town/edit/{id}','Towns\TownController@edit')->name('town.edit');
            Route::post('/town/update/{id}','Towns\TownController@update')->name('town.update');
            Route::delete('/town/destroy','Towns\TownController@destroy')->name('town.destroy');

            /////////  Driver Module //////////////////////
            Route::get("/driver",'Drivers\DriverController@index')->name('driver.index');
            Route::get('/driver/create','Drivers\DriverController@create')->name('driver.create');
            Route::post('/driver/store','Drivers\DriverController@store')->name('driver.store');
            Route::get('/driver/edit/{id}','Drivers\DriverController@edit')->name('driver.edit');
            Route::post('/driver/update/{id}','Drivers\DriverController@update')->name('driver.update');
            Route::delete('/driver/destroy','Drivers\DriverController@destroy')->name('driver.destroy');
            Route::get('/driver/assign','Drivers\DriverController@assign_driver')->name('driver.assign');
            Route::post('/driver/unassigned/orders/server-pagination','Drivers\DriverController@unassignedOrdersServerPagination')->name('driver.unassigned.orders.server-pagination');
            Route::post('/driver/assigned/orders/server-pagination','Drivers\DriverController@assignedOrdersServerPagination')->name('driver.assigned.orders.server-pagination');
            Route::post('/driver/alldriver','Drivers\DriverController@alldriver')->name('driver.alldriver');
            Route::post('/driver/assignorder','Drivers\DriverController@assign_order')->name('driver.assignorder');
            Route::get('/driver/unassign','Drivers\DriverController@unassignDriver')->name('driver.unassignDriver');

            /////////  Fill tank Route  ////////////////////
            Route::get('/driver/filltank','Drivers\DriverController@filltank_price')->name('filltank.price');
            Route::post('/driver/filltank','Drivers\DriverController@filltank_price_update')->name('filltank.price.update');
            Route::get('/driver/{id}','Drivers\DriverController@show')->name('driver.show');

            /////////  Discount coupons  ////////////////////
            Route::get('/discountcoupons','DiscountCoupons\DiscountCouponController@index')->name('discountcoupons.index');
            Route::get('/discountcoupons/create','DiscountCoupons\DiscountCouponController@create')->name('discountcoupons.create');
            Route::post('/discountcoupons/store','DiscountCoupons\DiscountCouponController@store')->name('discountcoupons.store');
            Route::get('/discountcoupons/edit/{id}','DiscountCoupons\DiscountCouponController@edit')->name('discountcoupons.edit');
            Route::post('/discountcoupons/update/{id}','DiscountCoupons\DiscountCouponController@update')->name('discountcoupons.update');
            Route::delete('/discountcoupons/destroy','DiscountCoupons\DiscountCouponController@destroy')->name('discountcoupons.destroy');
			
			/////////  Call to action ////////////////////
			Route::get('/call-to-action','CalltoAction\CalltoActionController@index')->name('call.to.action.index');
			Route::get('/call-to-action/create','CalltoAction\CalltoActionController@create')->name('call.to.action.create');
			Route::post('/call-to-action/store','CalltoAction\CalltoActionController@store')->name('call.to.action.store');
			Route::get('/call-to-action/edit/{id}','CalltoAction\CalltoActionController@edit')->name('call.to.action.edit');
			Route::post('/call-to-action/update/{id}','CalltoAction\CalltoActionController@update')->name('call.to.action.update');
			Route::delete('/call-to-action/destroy','CalltoAction\CalltoActionController@destroy')->name('call.to.action.destroy');
            
            Route::get('/email-settings', 'EmailSetting\EmailSettingController@index')->name('email-settings');
            Route::post('/email-settings/update/{id}', 'EmailSetting\EmailSettingController@update')->name('email-settings.update');

            Route::get('/invoice-settings', 'InvoiceSetting\InvoiceSettingController@index')->name('invoice-settings');
            Route::post('/invoice-settings/update/{id}', 'InvoiceSetting\InvoiceSettingController@update')->name('invoice-settings.update');
        });
        Route::group(['middleware' => ['role:admin|superadmin, guard:employee']], function () {
            Route::resource('employees', 'EmployeeController');
            Route::get('employees/{id}/profile', 'EmployeeController@getProfile')->name('employee.profile');
            Route::put('employees/{id}/profile', 'EmployeeController@updateProfile')->name('employee.profile.update');
            Route::resource('roles', 'Roles\RoleController');
            Route::resource('permissions', 'Permissions\PermissionController');
        });
        
        Route::get('/gdpr/general','GDPR\GDPRController@general')->name('gdpr.general');
        Route::POST('/gdpr/general-update','GDPR\GDPRController@genaralUpdate')->name('gdpr.genaralUpdate');

        Route::get('/gdpr/buttons','GDPR\GDPRController@buttons')->name('gdpr.buttons');
        Route::POST('/gdpr/buttons-update','GDPR\GDPRController@buttonsUpdate')->name('gdpr.buttonsUpdate');

        Route::get('/gdpr/cookie-list','GDPR\GDPRController@cookieList')->name('gdpr.cookieList');
        Route::POST('/gdpr/cookie-list-update','GDPR\GDPRController@cookieListUpdate')->name('gdpr.cookieListUpdate');

        Route::get('/gdpr/consent-logs','GDPR\GDPRController@consentLogs')->name('gdpr.consentLogs');
        
    });
});

/**
 * Frontend routes
 */

Auth::routes(['verify' => true]);
Route::namespace('Auth')->group(function () {
    Route::group([ 'middleware'=>['checklogin'] ], function(){
        Route::get('cart/login', 'CartLoginController@showLoginForm')->name('cart.login');
    });
    Route::post('cart/login', 'CartLoginController@login')->name('cart.login');
    Route::get('logout', 'LoginController@logout');
});

// Driver Routes
Route::group([ 'middleware'=>['driver'] ], function(){
    Route::namespace('Driver')->group(function(){
        Route::group([ 'middleware'=>['checklogin'] ], function(){
            Route::get('/driver', function () {
                return redirect('driver/login');
            });
            // Route::get("driver/","LoginController@show_login")->name('driver.login.show');
            Route::get("driver/login","LoginController@show_login")->name('driver.login.show');
        });
        Route::post("driver/login","LoginController@login")->name('driver.login');
        // Authenticated routes
        Route::group(['middleware'=> ['auth', 'web'] ], function(){
            // Setting Routes
            Route::get("driver/settings","SettingController@index")->name('driver.settings');
            Route::post("driver/settings/change_password","SettingController@change_password")->name('driver.settings.changepassword');
            Route::get("driver/logout","LoginController@logout")->name('driver.logout');

            // Order Routes
            Route::get("driver/orders","OrderController@index")->name('driver.orders');
            Route::get("driver/order/order-details/{id}","OrderController@show_payment")->name('driver.order.show');
            Route::post("driver/capture","OrderController@receive_payment")->name('driver.capture');
             Route::post("driver/deliver","OrderController@deliver")->name('driver.deliver');
            Route::post("driver/capture/filltank","OrderController@receive_payment_fill_the_tank")->name('driver.capture.filltank');
            Route::get("driver/capture/success","OrderController@receive_success")->name('driver.capture.success');
            Route::get("driver/capture/failed","OrderController@receive_failed")->name('driver.capture.failed');
            Route::post("driver/capture/price","OrderController@fetch_price")->name('driver.capture.price');
            Route::post('driver/payment-3d-secure/3d-secure-mpi-response','OrderController@handlePaymentSubmission')->name('driver.threed.secure');
        });
    });
});

// Customer Routes
Route::group([ 'middleware' => ['customer'] ], function(){ 
    Route::namespace('Front')->group(function () {
        Route::get('404', ['as' => '404', 'uses' => 'ErrorController@notfound']);
        Route::get('500', ['as' => '500', 'uses' => 'ErrorController@fatal']);
        Route::get('/', 'HomeController@index')->name('home');
        Route::post('/storeCookie', 'HomeController@storeCookie')->name('storeCookie'); 
        Route::get('/cron-cookie', 'HomeController@cronCookie');
        Route::get('/checkSession', 'HomeController@checkSession')->name('checkSession');
       
        Route::group(['middleware' => ['auth', 'web']], function () {
            Route::namespace('Payments')->group(function () {
                Route::get('bank-transfer', 'BankTransferController@index')->name('bank-transfer.index');
                Route::post('bank-transfer', 'BankTransferController@store')->name('bank-transfer.store');
            });
            Route::namespace('Addresses')->group(function () {
                Route::resource('country.state', 'CountryStateController');
                Route::resource('state.city', 'StateCityController');
            });
            Route::post('payment-3d-secure/3d-secure-mpi-response','QuoteController@handlePaymentSubmission')->name('threed.secure');
            Route::post('confirm/payment-3d-secure/3d-secure-mpi-response','QuoteController@confirmPaymentSubmission')->name('confirm.threed.secure');
            Route::get('accounts', 'AccountsController@index')->name('accounts');
            Route::post('update-profile', 'AccountsController@updateProfile')->name('customer.profile.update');
            Route::post('checkout', 'CheckoutController@store')->name('checkout.store');
            Route::post("product/checkout/order","CheckoutController@order")->name('product.checkout.order');
            Route::get('checkout/execute', 'CheckoutController@executePayPalPayment')->name('checkout.execute');
            Route::post('checkout/execute', 'CheckoutController@charge')->name('checkout.execute');
            Route::get('checkout/cancel', 'CheckoutController@cancel')->name('checkout.cancel');
            Route::get('checkout/success', 'CheckoutController@success')->name('checkout.success');
            Route::get('checkout/{id?}', 'CheckoutController@index')->name('checkout.index');
            Route::resource('customer.address', 'CustomerAddressController');
            Route::post("address/gettowns",'CustomerAddressController@fetch_town')->name('address.fetch.towns');
        });
        // Ajax Routes
        Route::post("quotes/gettowns",'HomeController@fetch_towns')->name('quote.fetch.towns');
        Route::post("quotes/getquantity",'HomeController@fetch_quantity')->name('quote.fetch.quantity');
        Route::post('create-address', 'CustomerAddressController@createAddress');
        Route::post('create-billing-address', 'CustomerAddressController@createBillingAddress');
        Route::get('fetch-address-details', 'CustomerAddressController@fetchAddressDetails');
        Route::post('update-address', 'CustomerAddressController@updateAddress');
        //Quote order routes
        Route::post("quotes/gettowns_order",'HomeController@fetch_towns_order')->name('quote.fetch.towns.order');
        Route::post("quotes/session_towns_order",'HomeController@session_towns_order')->name('quote.session.towns.order');
        Route::post("quotes/getquantity_order",'HomeController@fetch_quantity_order')->name('quote.fetch.quantity.order');
        Route::post("quotes/getprice_order",'HomeController@fetch_price_order')->name('quote.fetch.price.order');
        Route::post("quotes/getprice_fill_tank_order",'HomeController@fetch_price_fill_tank_order')->name('quote.fetch.price_fill_tank.order');
        // Quote Checkout page 
        Route::post("quote/checkout/address","QuoteController@get_address")->name('checkout.fetch.address');
        Route::post("quote/checkout/order","QuoteController@order")->name('checkout.order');
        Route::get("quote/checkout/payment","QuoteController@payment")->name('checkout.payment');
        Route::post("quote/checkout/payment_submit","QuoteController@submit_payment")->name('checkout.payment.submit');
        Route::get("quote/checkout/success","QuoteController@success")->name('quoues.checkout.success');
        Route::get("quote/checkout/failed","QuoteController@failed")->name('quoues.checkout.failed');
        // Quote Routes
        Route::match(['get','post'], "quotes/order","HomeController@quote_order")->name('front.quote.order');
        // Quote checkout
        Route::post("quotes/checkout","QuoteController@quote_checkout")->name('quote.checkout');
        // Quote discount routes
        Route::post('/validatediscountcoupon','HomeController@validateDiscountCoupon')->name('validate.discount.coupon');
        Route::resource('cart', 'CartController');
        Route::get("search", 'ProductController@search')->name('search.product');
       // Route::get('home-heating-oil', 'HomeHeatingOilController@homeheatingoil')->name('home-heating-oil.show');
        //Route::get('commercial-fuels', 'CommercialFuelsController@commercialfuels')->name('commercial-fuels.show');
        Route::get('contact',  'ContactController@index')->name('contact.show');
        Route::post('contact',  'ContactController@new_query')->name('contact.submit');
        Route::get('/pages/{slug?}', 'CreatorController@show')->name('creator.show');
        // Route::get('about', 'FrontPagesController@about')->name('front.aboutus');
        // Route::get('terms-of-use', 'FrontPagesController@termOfUse')->name('front.terms-of-use');
        // Route::get('privacy-policy', 'FrontPagesController@privacyPolicy')->name('front.privacy-policy');
        // Route::get('cookies', 'FrontPagesController@cookies')->name('front.cookies');
        // Products listing
        Route::get('products', 'ProductController@search')->name('product.show');
        Route::get('products/search', 'ProductController@searchProduct')->name('product.show');
        // Category
        Route::get("{slug}", 'CategoryController@getCategory')->name('front.category.slug');
        Route::get('{category?}/{product?}', 'ProductController@show')->name('front.get.product');
    });
});

Spamworldpro Mini