File: /home/bdedition/public_html/core/routes/admin.php
<?php
use Illuminate\Support\Facades\Route;
Route::namespace('Auth')->group(function () {
Route::middleware('admin.guest')->group(function () {
Route::controller('LoginController')->group(function () {
Route::get('/', 'showLoginForm')->name('login');
Route::post('/', 'login')->name('login');
Route::get('logout', 'logout')->middleware('admin')->withoutMiddleware('admin.guest')->name('logout');
});
// Admin Password Reset
Route::controller('ForgotPasswordController')->prefix('password')->name('password.')->group(function () {
Route::get('reset', 'showLinkRequestForm')->name('reset');
Route::post('reset', 'sendResetCodeEmail');
Route::get('code-verify', 'codeVerify')->name('code.verify');
Route::post('verify-code', 'verifyCode')->name('verify.code');
});
Route::controller('ResetPasswordController')->group(function () {
Route::get('password/reset/{token}', 'showResetForm')->name('password.reset.form');
Route::post('password/reset/change', 'reset')->name('password.change');
});
});
});
Route::middleware('admin')->group(function () {
Route::controller('AdminController')->group(function () {
Route::get('dashboard', 'dashboard')->name('dashboard');
Route::get('profile', 'profile')->name('profile');
Route::post('profile', 'profileUpdate')->name('profile.update');
Route::get('password', 'password')->name('password');
Route::post('password', 'passwordUpdate')->name('password.update');
//Notification
Route::get('notifications', 'notifications')->name('notifications');
Route::get('notification/read/{id}', 'notificationRead')->name('notification.read');
Route::get('notifications/read-all', 'readAllNotification')->name('notifications.read.all');
Route::post('notifications/delete-all', 'deleteAllNotification')->name('notifications.delete.all');
Route::post('notifications/delete-single/{id}', 'deleteSingleNotification')->name('notifications.delete.single');
//Report Bugs
Route::get('request-report', 'requestReport')->name('request.report');
Route::post('request-report', 'reportSubmit');
Route::get('download-attachments/{file_hash}', 'downloadAttachment')->name('download.attachment');
Route::get('/staff/id-card-generate/{id}', 'id_card_generate')->name('staff.id_card_generate');
});
// Users Manager
Route::controller('ManageUsersController')->name('users.')->prefix('staff')->group(function () {
Route::get('/', 'allUsers')->name('all');
Route::get('active', 'activeUsers')->name('active');
Route::get('banned', 'bannedUsers')->name('banned');
Route::get('email-verified', 'emailVerifiedUsers')->name('email.verified');
Route::get('email-unverified', 'emailUnverifiedUsers')->name('email.unverified');
Route::get('mobile-unverified', 'mobileUnverifiedUsers')->name('mobile.unverified');
Route::get('mobile-verified', 'mobileVerifiedUsers')->name('mobile.verified');
Route::get('detail/{id}', 'detail')->name('detail');
Route::post('update/{id}', 'update')->name('update');
Route::get('send-notification/{id}', 'showNotificationSingleForm')->name('notification.single');
Route::post('send-notification/{id}', 'sendNotificationSingle')->name('notification.single');
Route::get('login/{id}', 'login')->name('login');
Route::post('status/{id}', 'status')->name('status');
Route::get('send-notification', 'showNotificationAllForm')->name('notification.all');
Route::post('send-notification', 'sendNotificationAll')->name('notification.all.send');
Route::get('list', 'list')->name('list');
Route::get('count-by-segment/{methodName}', 'countBySegment')->name('segment.count');
Route::get('notification-log/{id}', 'notificationLog')->name('notification.log');
Route::post('store', 'storeNewUser')->name('store');
});
// Category
Route::controller('CategoryController')->name('category.')->prefix('categories')->group(function () {
Route::get('', 'index')->name('index');
Route::post('store/{id?}', 'store')->name('store');
Route::post('status/{id}', 'status')->name('status');
Route::get('seo/{id}', 'seoSetting')->name('seo');
Route::post('seo-store/{id}', 'seoStore')->name('seo.submit');
});
//Advertise
Route::controller('AdvertiseController')->name('advertise.')->prefix('advertise')->group(function () {
Route::get('', 'index')->name('index');
Route::post('store/{id?}', 'store')->name('store');
Route::post('status/{id}', 'status')->name('status');
});
//News
Route::controller('NewsController')->name('news.')->prefix('news')->group(function () {
Route::get('', 'index')->name('index');
Route::get('pending', 'pending')->name('pending');
Route::get('approved', 'approved')->name('approved');
Route::get('rejected', 'rejected')->name('rejected');
// create news
Route::get('create', 'create')->name('create');
Route::get('edit/{id}', 'edit')->name('edit');
Route::get('slug-check', 'slugCheck')->name('slug.check');
Route::post('store/{id?}', 'store')->name('store');
// status
Route::post('status/{news}', 'status')->name('status');
Route::post('admin-check/{id}', 'approveOrReject')->name('admin.check');
// live news
Route::get('live', 'live')->name('live');
Route::post('live', 'storeLiveNews')->name('live');
});
// Report
Route::controller('ReportController')->prefix('report')->name('report.')->group(function () {
Route::get('login/history', 'loginHistory')->name('login.history');
Route::get('login/ipHistory/{ip}', 'loginIpHistory')->name('login.ipHistory');
Route::get('notification/history', 'notificationHistory')->name('notification.history');
Route::get('email/detail/{id}', 'emailDetails')->name('email.details');
});
// Admin Support
Route::controller('SupportTicketController')->prefix('ticket')->name('ticket.')->group(function () {
Route::get('/', 'tickets')->name('index');
Route::get('pending', 'pendingTicket')->name('pending');
Route::get('closed', 'closedTicket')->name('closed');
Route::get('answered', 'answeredTicket')->name('answered');
Route::get('view/{id}', 'ticketReply')->name('view');
Route::post('reply/{id}', 'replyTicket')->name('reply');
Route::post('close/{id}', 'closeTicket')->name('close');
Route::get('download/{attachment_id}', 'ticketDownload')->name('download');
Route::post('delete/{id}', 'ticketDelete')->name('delete');
});
// Language Manager
Route::controller('LanguageController')->prefix('language')->name('language.')->group(function () {
Route::get('/', 'langManage')->name('manage');
Route::post('/', 'langStore')->name('manage.store');
Route::post('delete/{id}', 'langDelete')->name('manage.delete');
Route::post('update/{id}', 'langUpdate')->name('manage.update');
Route::get('edit/{id}', 'langEdit')->name('key');
Route::post('import', 'langImport')->name('import.lang');
Route::post('store/key/{id}', 'storeLanguageJson')->name('store.key');
Route::post('delete/key/{id}', 'deleteLanguageJson')->name('delete.key');
Route::post('update/key/{id}', 'updateLanguageJson')->name('update.key');
Route::get('get-keys', 'getKeys')->name('get.key');
});
Route::controller('GeneralSettingController')->group(function () {
Route::get('system-setting', 'systemSetting')->name('setting.system');
// General Setting
Route::get('general-setting', 'general')->name('setting.general');
Route::post('general-setting', 'generalUpdate');
//configuration
Route::get('setting/system-configuration', 'systemConfiguration')->name('setting.system.configuration');
Route::post('setting/system-configuration', 'systemConfigurationSubmit');
// Logo-Icon
Route::get('setting/logo-icon', 'logoIcon')->name('setting.logo.icon');
Route::post('setting/logo-icon', 'logoIconUpdate')->name('setting.logo.icon');
//Custom CSS
Route::get('custom-css', 'customCss')->name('setting.custom.css');
Route::post('custom-css', 'customCssSubmit');
// sitemap
Route::get('sitemap', 'sitemap')->name('setting.sitemap');
Route::post('sitemap', 'sitemapSubmit');
// robots
Route::get('robot', 'robot')->name('setting.robot');
Route::post('robot', 'robotSubmit');
//Cookie
Route::get('cookie', 'cookie')->name('setting.cookie');
Route::post('cookie', 'cookieSubmit');
//maintenance_mode
Route::get('maintenance-mode', 'maintenanceMode')->name('maintenance.mode');
Route::post('maintenance-mode', 'maintenanceModeSubmit');
});
//Notification Setting
Route::name('setting.notification.')->controller('NotificationController')->prefix('notification')->group(function () {
//global email Setting
Route::get('global/email', 'globalEmail')->name('global.email');
Route::post('global/email/update', 'globalEmailUpdate')->name('global.email.update');
// global sms setting
Route::get('global/sms', 'globalSms')->name('global.sms');
Route::post('global/sms/update', 'globalSmsUpdate')->name('global.sms.update');
// global push setting
Route::get('global/push', 'globalPush')->name('global.push');
Route::post('global/push/update', 'globalPushUpdate')->name('global.push.update');
// template setting
Route::get('templates', 'templates')->name('templates');
Route::get('template/edit/{type}/{id}', 'templateEdit')->name('template.edit');
Route::post('template/update/{type}/{id}', 'templateUpdate')->name('template.update');
//Email Setting
Route::get('email/setting', 'emailSetting')->name('email');
Route::post('email/setting', 'emailSettingUpdate');
Route::post('email/test', 'emailTest')->name('email.test');
//SMS Setting
Route::get('sms/setting', 'smsSetting')->name('sms');
Route::post('sms/setting', 'smsSettingUpdate');
Route::post('sms/test', 'smsTest')->name('sms.test');
// push setting
Route::get('notification/push/setting', 'pushSetting')->name('push');
Route::post('notification/push/setting', 'pushSettingUpdate');
Route::post('notification/push/setting/upload', 'pushSettingUpload')->name('push.upload');
Route::get('notification/push/setting/download', 'pushSettingDownload')->name('push.download');
});
// Plugin
Route::controller('ExtensionController')->prefix('extensions')->name('extensions.')->group(function () {
Route::get('/', 'index')->name('index');
Route::post('update/{id}', 'update')->name('update');
Route::post('status/{id}', 'status')->name('status');
});
//System Information
Route::controller('SystemController')->name('system.')->prefix('system')->group(function () {
Route::get('info', 'systemInfo')->name('info');
Route::get('server-info', 'systemServerInfo')->name('server.info');
Route::get('optimize', 'optimize')->name('optimize');
Route::get('optimize-clear', 'optimizeClear')->name('optimize.clear');
Route::get('system-update', 'systemUpdate')->name('update');
Route::post('system-update', 'systemUpdateProcess')->name('update.process');
Route::get('system-update/log', 'systemUpdateLog')->name('update.log');
});
// SEO
Route::get('seo', 'FrontendController@seoEdit')->name('seo');
// Frontend
Route::name('frontend.')->prefix('frontend')->group(function () {
Route::controller('FrontendController')->group(function () {
Route::get('index', 'index')->name('index');
Route::get('templates', 'templates')->name('templates');
Route::post('templates', 'templatesActive')->name('templates.active');
Route::get('frontend-sections/{key?}', 'frontendSections')->name('sections');
Route::post('frontend-content/{key}', 'frontendContent')->name('sections.content');
Route::get('frontend-element/{key}/{id?}', 'frontendElement')->name('sections.element');
Route::get('frontend-slug-check/{key}/{id?}', 'frontendElementSlugCheck')->name('sections.element.slug.check');
Route::get('frontend-element-seo/{key}/{id}', 'frontendSeo')->name('sections.element.seo');
Route::post('frontend-element-seo/{key}/{id}', 'frontendSeoUpdate');
Route::post('remove/{id}', 'remove')->name('remove');
});
// Page Builder
Route::controller('PageBuilderController')->group(function () {
Route::get('manage-pages', 'managePages')->name('manage.pages');
Route::get('manage-pages/check-slug/{id?}', 'checkSlug')->name('manage.pages.check.slug');
Route::post('manage-pages', 'managePagesSave')->name('manage.pages.save');
Route::post('manage-pages/update', 'managePagesUpdate')->name('manage.pages.update');
Route::post('manage-pages/delete/{id}', 'managePagesDelete')->name('manage.pages.delete');
Route::get('manage-section/{id}', 'manageSection')->name('manage.section');
Route::post('manage-section/{id}', 'manageSectionUpdate')->name('manage.section.update');
Route::get('manage-seo/{id}', 'manageSeo')->name('manage.pages.seo');
Route::post('manage-seo/{id}', 'manageSeoStore');
});
});
});