| Server IP : 138.197.107.151 / Your IP : 216.73.217.10 Web Server : Apache/2.4.58 (Ubuntu) System : Linux BloxBy-Builder 6.8.0-71-generic #71-Ubuntu SMP PREEMPT_DYNAMIC Tue Jul 22 16:52:38 UTC 2025 x86_64 User : wpbetasites_mrakzqskir ( 1022) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/shark-admin/routes/ |
Upload File : |
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\AuthController;
use App\Http\Controllers\RegisterController;
use App\Http\Controllers\HomeController;
use App\Http\Controllers\LoginController;
use App\Http\Controllers\DashboardController;
use App\Http\Controllers\ForgotPasswordController;
use App\Http\Controllers\ResetPasswordController;
use App\Http\Controllers\PaymentController;
use App\Http\Controllers\ProfileController;
use App\Http\Controllers\MShotsController;
use Illuminate\Http\Request;
use App\Services\EmailValidatorService;
use App\Models\User;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider and all of them will
| be assigned to the "web" middleware group. Make something great!
|
*/
Route::get('/', [HomeController::class, 'showHome'])->name('bloxbyadmin.home');
Route::get('/home', function () {
if (Auth::check()) {
return redirect()->route('dashboard'); // Or any protected route
} else {
return redirect('/login'); // Public root page
}
});
Route::middleware(['guest'])->group(function () {
// Registration
Route::get('/register', [RegisterController::class, 'showRegistrationForm'])->name('register.form');
Route::post('/register', [RegisterController::class, 'register'])->name('register');
Route::get('/login', [LoginController::class, 'showLoginForm'])->name('login');
Route::post('/login', [LoginController::class, 'login']);
Route::get('forgot-password', [ForgotPasswordController::class, 'showLinkRequestForm'])->name('password.request');
Route::post('forgot-password', [ForgotPasswordController::class, 'sendResetLinkEmail'])->name('password.email');
Route::get('reset-password/{token}', [ResetPasswordController::class, 'showResetForm'])->name('password.reset');
Route::post('reset-password', [ResetPasswordController::class, 'reset'])->name('password.update');
});
Route::any('/logout', [LoginController::class, 'logout'])->middleware('auth')->name('logout');
Route::post('/check-email', function (Request $request) {
$emailValidatorService = new EmailValidatorService;
$response = $emailValidatorService->validate($request->email);
if($response["disposable"]){
return response()->json('Please enter non disposable emails.');
}
$exists = User::where('email', $request->email)->exists();
return $exists ? response()->json("This email is already taken.") : response()->json(true);
});
Route::post('/check-phone', function (Request $request) {
$exists = User::where('phone', $request->phone)->exists();
return $exists ? response()->json(false) : response()->json(true);
});
Route::middleware(['auth'])->group(function () {
Route::get('/dashboard', [DashboardController::class, 'index'])->name('dashboard');
Route::prefix('profile')->group(function () {
Route::get('/', [ProfileController::class, 'edit'])->name('profile.edit');
Route::post('/', [ProfileController::class, 'updateProfile'])->name('profile.update');
Route::post('/change-password', [ProfileController::class, 'changePassword'])->name('profile.changePassword');
});
Route::prefix('users')->group(function () {
Route::get('/', [\App\Http\Controllers\UsersController::class, 'index'])->name('users.list');
Route::get('/create', [\App\Http\Controllers\UsersController::class, 'create'])->name('users.create');
Route::post('/save', [\App\Http\Controllers\UsersController::class, 'store'])->name('users.save');
Route::post('/{id}/toggle-block', [\App\Http\Controllers\UsersController::class, 'toggleBlock'])->name('users.toggleBlock');
Route::get('/{id}/edit', [\App\Http\Controllers\UsersController::class, 'edit'])->name('users.edit');
Route::put('/{id}/update', [\App\Http\Controllers\UsersController::class, 'update'])->name('users.update');
Route::get('/{id}/websites', [\App\Http\Controllers\WebsiteController::class, 'listUserWebsites'])->name('users.websites.list');
Route::get('/{id}/settings', [\App\Http\Controllers\UsersController::class, 'settings'])->name('users.settings');
Route::post('/{id}/settings/update', [\App\Http\Controllers\UsersController::class, 'updateSettings'])->name('users.settings.update');
Route::delete('/{id}/delete', [\App\Http\Controllers\UsersController::class, 'deleteUser'])->name('users.delete');
});
// routes/web.php
Route::prefix('prompts')->group(function () {
Route::get('/', [\App\Http\Controllers\PromptController::class, 'index'])->name('prompts.list');
Route::get('/{id}/users/list', [\App\Http\Controllers\PromptController::class, 'listUserPrompts'])->name('prompts.users.list');
Route::get('/{id}/site-structure', [\App\Http\Controllers\PromptController::class, 'viewSiteStructure'])->name('prompts.site-structure');
});
Route::prefix('websites')->group(function () {
Route::delete('/remove/{id}', [\App\Http\Controllers\WebsiteController::class, 'remove'])->name('website.remove');
Route::any('/toggle/{id}', [\App\Http\Controllers\WebsiteController::class, 'toggleSite'])->name('website.toggle');
Route::post('/pagespeed', [\App\Http\Controllers\PageSpeedController::class, 'handle']);
Route::prefix('{id}')->group(function () {
Route::get('/overview', [\App\Http\Controllers\WebsiteController::class, 'websiteDetails'])->name('website.details');
});
Route::post('/domain/add/{id}', [\App\Http\Controllers\WebsiteController::class, 'addDomain'])->name('website.domain.add');
Route::post('/domain/attach/{id}', [\App\Http\Controllers\WebsiteController::class, 'attachDomain'])->name('website.domain.attach');
Route::get('/domain/remove/{id}', [\App\Http\Controllers\WebsiteController::class, 'removeDomain'])->name('website.domain.remove');
Route::get('/domain/delete/{id}', [\App\Http\Controllers\WebsiteController::class, 'deleteDomain'])->name('website.domain.delete');
});
Route::get('pricing-plans', [\App\Http\Controllers\PricingPlanController::class, 'list'])->name('pricing_plans.list');
Route::get('pricing-plans/add', [\App\Http\Controllers\PricingPlanController::class, 'create'])->name('pricing_plans.create');
Route::post('pricing-plans/save', [\App\Http\Controllers\PricingPlanController::class, 'save'])->name('pricing_plans.save');
Route::get('/pricing-plans/{id}/edit', [\App\Http\Controllers\PricingPlanController::class, 'edit'])->name('pricing_plans.edit');
Route::put('/pricing-plans/{id}', [\App\Http\Controllers\PricingPlanController::class, 'update'])->name('pricing_plans.update');
Route::post('/pricing-plans/{id}/toggle-enable', [\App\Http\Controllers\PricingPlanController::class, 'toggleEnable'])->name('pricing_plans.toggleEnable');
Route::prefix('payments')->group(function () {
Route::get('/list', [PaymentController::class, 'list'])->name('payments.list');
});
Route::get('/check-mshots', [MShotsController ::class, 'check'])->name('mshots.check');
Route::prefix('invoices')->group(function () {
Route::get('/download/{id}', [\App\Http\Controllers\InvoiceController::class, 'downloadPdf'])->name('invoices.download');
});
});