| 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/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\PricingPlansController;
use App\Http\Controllers\ForgotPasswordController;
use App\Http\Controllers\ResetPasswordController;
use App\Http\Controllers\PaymentController;
use App\Http\Controllers\WebsiteController;
use App\Http\Controllers\ProfileController;
use App\Http\Controllers\MShotsController;
use App\Models\Prompt;
use App\Models\User;
use Illuminate\Http\Request;
use App\Services\EmailValidatorService;
/*
|--------------------------------------------------------------------------
| 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('bloxby.home');
Route::get('/site-structure', [HomeController::class, 'showHome'])->name('bloxby.home2');
Route::get('/color-template', [HomeController::class, 'showHome'])->name('bloxby.home1');
Route::get('/terms-of-service', [HomeController::class, 'showTermsPage'])->name('terms-of-service');
Route::get('/payment-terms-of-service', [HomeController::class, 'showPaymentTermsPage'])->name('payment-terms-of-service');
Route::get('/payment-privacy-policy', [HomeController::class, 'showPaymentPrivacyPolicyPage'])->name('payment-privacy-policy');
Route::post('/webhook/payment/checkout/session/complete', [PaymentController::class, 'handleCheckoutSessionWebhook']);
Route::post('/webhook/invoice/payment/succeeded', [PaymentController::class, 'handlePaymentSuccess']);
Route::post('/webhook/subscription/deleted', [PaymentController::class, 'handleSubscriptionDeleted']);
Route::get('/home', function () {
if (Auth::check()) {
return redirect()->route('dashboard'); // Or any protected route
} else {
return redirect('/'); // Public root page
}
});
Route::middleware(['blocked'])->group(function () {
Route::prefix('/api/v1')->group(function () {
Route::post('/websites/structure', [\App\Http\Controllers\Api\WebsiteController::class, 'getDefaultSiteData']);
Route::post('/websites/uploadlogo', [\App\Http\Controllers\Api\WebsiteController::class, 'uploadUserSelectedLogo']);
Route::post('/websites/add_page', [\App\Http\Controllers\Api\WebsiteController::class, 'addNewPage']);
Route::post('/websites/validate_prompt', [\App\Http\Controllers\Api\WebsiteController::class, 'checkPromptValidation']);
Route::post('/websites/transcribe_audio', [\App\Http\Controllers\Api\WebsiteController::class, 'transcribeSpeechToText']);
Route::prefix('/users')->group(function () {
Route::get('/check-login-status', [\App\Http\Controllers\ProfileController::class, 'checkLoginStatus']);
});
});
Route::prefix('/v1')->group(function () {
Route::post('/websites/uploadlogo', [\App\Http\Controllers\Api\WebsiteController::class, 'uploadUserSelectedLogo']);
});
Route::post('/api/store-session', function (Request $request) {
$data = $request->all();
/*$user = $request->user();
$prompt = new Prompt;
$prompt->prompt = json_encode($data);
if($user){
$prompt->user_id = $user->id;
}
$prompt->save();*/
// Save to session (you can name the key anything)
session(['website_json' => $data]);
return response()->json([
'message' => 'Data stored in session successfully',
'stored' => $data,
]);
});
});
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('/email/verification', [RegisterController::class, 'showEmailVerification'])->name('register.email_verification');
Route::post('/google/login', [LoginController::class, 'googleLogin'])->name('google.login');
Route::get('/google/callback', [LoginController::class, 'googleCallback'])->name('google.callback');
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::get('/email/verify', [RegisterController::class, 'verifyEmail'])->name('email.verify');
Route::any('/resend-verification-email', [RegisterController::class, 'resendVerificationEmail'])->name('resend-verification-email');
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.');
}
$user = User::where('email', $request->email)->first();
if($user){
if($user && $user->password==null){
return response()->json("This email is already registered with a social account. Please continue with social login.");
} else {
return response()->json("This email is already taken.");
}
}
return 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::get('/check-email-verification', function (Request $request) {
if($request->email){
$user = User::where("email", $request->email)->first();
if($user){
return response()->json([
'verified' => $user->email_verified_at !== null,
]);
}
}
return response()->json([
'verified' => false
]);
});
Route::prefix('invoices')->group(function () {
Route::get('/download/{id}', [\App\Http\Controllers\InvoiceController::class, 'downloadPdf'])->name('invoices.download');
});
Route::middleware(['auth','blocked'])->group(function () {
Route::get('/dashboard', [DashboardController::class, 'index'])->name('dashboard');
// routes/web.php
Route::get('/generate-site', [\App\Http\Controllers\WebsiteController::class, 'index']);
Route::post('/generate-site/run', [\App\Http\Controllers\WebsiteController::class, 'run']);
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::delete('/delete', [\App\Http\Controllers\ProfileController::class, 'deleteAccount'])->name('profile.deleteAccount');
});
Route::prefix('websites')->group(function () {
Route::delete('/remove/{id}', [\App\Http\Controllers\WebsiteController::class, 'remove'])->name('website.remove');
Route::get('/zip/download/{id}', [\App\Http\Controllers\WebsiteController::class, 'downloadZip'])->name('website.zip.download');
Route::get('/plan/cancel/{id}', [\App\Http\Controllers\WebsiteController::class, 'cancelPlan'])->name('website.cancel_plan');
Route::get('/plan/undo-cancel/{id}', [\App\Http\Controllers\WebsiteController::class, 'undoCancelPlan'])->name('website.undo_cancel_plan');
Route::get('/sftp', [\App\Http\Controllers\WebsiteController::class, 'getSFTPCredentials'])->name('website.sftp.get');
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::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::prefix('pricing-plans')->group(function () {
Route::get('/website/{id}/list', [PricingPlansController::class, 'list'])->name('website.pricing_plans.list');
});
Route::post('/payment/create-checkout-session/{website_id}/{plan_id}', [PaymentController::class, 'createCheckoutSession'])->name('checkout.session');
Route::get('/payment-success', [PaymentController::class, 'success'])->name('payment.success');
Route::get('/payment-cancel', [PaymentController::class, 'cancel'])->name('payment.cancel');
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::view('/sign-up-terms', 'pages.sign-up-terms');
Route::view('/payment-terms', 'pages.payment-terms');