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/test.tradze.com/app/Http/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/tradze/www/test.tradze.com/app/Http/routes.php
<?php

use App\Modules\Users\Models\UserDevice;

use \Illuminate\Support\Facades\Cookie;
use App\Modules\Plans\Http\Controllers\Admin\PlanController;
use App\Modules\Users\Models\UserProfile;
use App\User;
use GuzzleHttp\Client;

/*

|--------------------------------------------------------------------------

| Application Routes

|--------------------------------------------------------------------------

|

| Here is where you can register all of the routes for an application.

| It's a breeze. Simply tell Laravel the URIs it should respond to

| and give it the controller to call when that URI is requested.

|

*/



Route::get('/home', function () {

    return redirect('/');
});

Route::get('/clear-cache', function () {
    // Clear application cache
    Artisan::call('cache:clear');

    // Clear route cache
    Artisan::call('route:clear');

    // Clear config cache
    Artisan::call('config:clear');

    // Clear view cache
    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 () {



    \Illuminate\Support\Facades\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 () {

    \Illuminate\Support\Facades\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');
});



//BT client token

Route::get('bt-client-token', function () {

    $gateway = new Braintree\ClientToken();

    return $gateway->generate([

        'merchantAccountId' => env('BRAINTREE_MERCHANT_ID'),

    ]);
});



//register cookie

Route::get('register-cookie', function () {

    $response = new \Illuminate\Http\Response('cookie disclaimer agreed');

    $response->withCookie(cookie()->forever('cookie_disclaimer', 'agreed'));

    return $response;
});



//admin routes

Route::get('admin', function () {

    return redirect(route('admin.schedules.bookings.index'));
});



Route::auth();

Route::get('/login', 'Auth\AuthController@getLogin');

Route::get('/register', 'Auth\AuthController@getRegister');

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

// search inside admin controlelr
// Route::get('/search/query', [AdminController::class, 'search'])->name('search');
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'

);



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'

        ],

        //        'data' => [

        //            'extraPayLoad1' => 'value1',

        //            'extraPayLoad2' => 'value2'

        //        ]

    ]);

    $push->setApiKey('AIzaSyAmxJHaJS5lwExz4s5K9ciQtfyZCtqy6DA');

    try {

        $status = $push->setDevicesToken(['a8b203798909ae23d5f956d7669f1e8977cccd120b83c04c1dc6bc8a17a7a24e']);

        dd($status);
    } catch (Exception $e) {

        dd($e->getMessage());
    }
});



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



/*

|--------------------------------------------------------------------------

| Application Routes API LOGIN

|--------------------------------------------------------------------------

*/

Route::post('api/login', [function () {

    // dd(Request::get('email'), Request::get('password'));

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

        $user = Auth::user();

        // if (!Request::get('device_push_token') || Request::get('device_push_token')=="null")

        //     return response(['success'=>false,'message'=>'Please try again'],401);



        //if user has no token, generate one and save it

        if (!$user->api_token) {

            $user->api_token = str_random(60);

            $user->save();
        } //endif generate token



        //deviceInfo

        if (Request::get('device_uuid')) {

            $deviceInfo = [

                'uuid' => Request::get('device_uuid'),

                'push_token' => Request::get('device_push_token'),

                'os' => Request::get('device_os'),

                'os_version' => Request::get('device_os_version'),

                'brand' => Request::get('device_brand'),

                'model' => Request::get('device_model'),

                'user_agent' => Request::get('user_agent'),

                'user_id' => $user->id,

            ];



            //first search for device

            $device = UserDevice::where('uuid', $deviceInfo['uuid'])

                ->first();



            //if device exists, update user_id data

            if ($device)

                $device->update($deviceInfo);

            else {

                //create new device entry for the logged user

                UserDevice::create($deviceInfo);
            }
        }

        //compose user data

        if (!$user->braintree_id) {

            $cardInfo = null;
        } else {

            $cardInfo = [

                'payment_id' => $user->braintree_id,

                'paypal_email' => $user->paypal_email,

                'card_brand' => $user->card_brand,

                'card_last_four' => $user->card_last_four

            ];
        } //endif card info



        //get last used postcode & address

        $postcode = $address = null;



        $lastBooking = $user->bookings()->orderBy('id', 'desc')->first();



        if ($lastBooking) {

            $info = json_decode($lastBooking->orderInfo, true);

            $postcode =  !empty($info['postcode']) ? $info['postcode'] : '';

            $address =  $lastBooking->address;
        } //endif


        $userData = [

            'id' => $user->id,

            'is_subscribed' => $user->is_subscribed,

            'subscription_details' => $user->subscription_details,

            'api_token' => $user->api_token,

            'first_name' => $user->profile->first_name,

            'last_name' => $user->profile->last_name,

            'email' => $user->email,

            'mobile_number' => $user->profile->mobile_number,

            'country_code' => $user->profile->country_code,

            'role' => $user->roles()->first()->slug,

            'image_avatar' => $user->public_avatar_url,

            'card_info' => $cardInfo,



            'address' => $address,

            'postcode' => $postcode,



            // 'therapist' => [

            //     'available' => true,

            //     'transport_mode'=>$user->profile->transport_mode,

            //     'about' => $user->profile->about,

            //     'district' => [

            //         'id' => $user->profile->district_id,

            //         'name' => $user->profile->district->name

            //     ],

            // ],

        ];


        // //return logged-in user

        return response([
            'success' => true,
            'data' => $userData,
            'message' => 'Welcome ' . $user->profile->first_name . '!'
        ], 200);
    } else

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


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

    // dd(Request::get('email'), Request::get('password'));

    $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'));
            $m->to($user->email, $user->name);
            $m->bcc(explode(',', env('MAIL_NEWORDER_BCC')), env('MAIL_NEWORDER_BCC_NAME'));
            $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