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/public_html/test.tradze.com/app/Http/ |
<?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);
}
});