My SMM panel
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
 
 
 
 
 
 

161 lines
5.0 KiB

  1. <?php
  2. use Illuminate\Support\Facades\Route;
  3. use App\Http\Controllers\UserController;
  4. use App\Http\Controllers\ServiceController;
  5. use App\Http\Controllers\OrderController;
  6. use App\Http\Controllers\BillingController;
  7. use App\Http\Controllers\Ticket;
  8. use Illuminate\Foundation\Auth\EmailVerificationRequest;
  9. use Illuminate\Http\Request;
  10. use Illuminate\Support\Facades\Auth;
  11. use App\Notifications\ChangeEmail;
  12. /*
  13. |--------------------------------------------------------------------------
  14. | Web Routes
  15. |--------------------------------------------------------------------------
  16. |
  17. | Here is where you can register web routes for your application. These
  18. | routes are loaded by the RouteServiceProvider within a group which
  19. | contains the "web" middleware group. Now create something great!
  20. |
  21. */
  22. Route::get('/', function () {
  23. if (Auth::check()) {
  24. return redirect('panel');
  25. }
  26. return view('home');
  27. })->name('login');
  28. Route::view('/panel', 'panel')->middleware([ 'auth', 'verified' ])->name('panel');
  29. Route::view('/terms-and-policy', 'terms-and-policy');
  30. //Verification routes
  31. Route::get('/verify-email', function() {
  32. if (Auth::user()->email_verified_at) {
  33. abort(404);
  34. } else {
  35. return view('verify-email');
  36. }
  37. })->middleware('auth')->name('verification.notice');
  38. Route::get('/verify/{id}/{hash}', function (EmailVerificationRequest $request, $id) {
  39. if (Auth::user()->email_verified_at) {
  40. abort(404);
  41. }
  42. Auth::loginUsingId($id);
  43. $request->fulfill();
  44. return redirect('/panel');
  45. })->middleware(['signed'])->name('verification.verify');
  46. Route::post('/resend-verification', function (Request $request) {
  47. if (Auth::user()->email_verified_at) {
  48. abort(404);
  49. }
  50. $request->user()->sendEmailVerificationNotification();
  51. return back()->with('message', 'Verification link sent!');
  52. })->middleware(['auth', 'throttle:6,1'])->name('verification.send');
  53. //Creation and recovery
  54. Route::post('/register', [UserController::class, 'create']);
  55. Route::post('/forgot-password', [UserController::class,
  56. 'forgotPassword'])->middleware('guest')->name('password.email');
  57. Route::get('/reset-password/{token}', function ($token) {
  58. return view('reset-password', ['token' => $token]);
  59. })->middleware('guest')->name('password.reset');
  60. Route::post('/reset-passowrd', [UserController::class,
  61. 'resetPassword'])->middleware('guest');
  62. Route::post('/login', [UserController::class,
  63. 'login'])->middleware('guest');
  64. Route::get('/logout', [UserController::class,
  65. 'logout'])->middleware('auth');
  66. //These should probably be grouped by name later
  67. Route::get('/panel/user', function (Request $request) {
  68. return $request->user();
  69. })->middleware([ 'auth', 'verified' ]);
  70. Route::post('/panel/change-card', function (Request $request) {
  71. return App::make(BillingController::class)->changeDefaultCard($request->card);
  72. })->middleware([ 'auth', 'verified' ]);
  73. Route::post('/panel/delete-card', [BillingController::class,
  74. 'deleteCard'])->middleware([ 'auth', 'verified' ]);
  75. Route::get('/panel/orders', [UserController::class,
  76. 'getOrders'])->middleware([ 'auth', 'verified' ]);
  77. Route::get('/panel/services', [ServiceController::class,
  78. 'getServices'])->middleware([ 'auth', 'verified' ]);
  79. Route::post('/panel/change-name', [UserController::class,
  80. 'changeName'])->middleware([ 'auth', 'verified' ]);
  81. Route::post('/panel/change-email', [UserController::class,
  82. 'changeEmail'])->middleware([ 'auth', 'verified' ]);
  83. Route::post('/panel/change-password', [UserController::class,
  84. 'changePassword'])->middleware([ 'auth', 'verified' ]);
  85. Route::get('/reset-email', [UserController::class,
  86. 'resetEmail'])->name('reset-email');
  87. Route::post('/panel/orders', [OrderController::class,
  88. 'newOrder'])->middleware([ 'auth', 'verified' ]);
  89. Route::post('/panel/secret', [BillingController::class,
  90. 'stripeSecret'])->middleware([ 'auth', 'verified' ]);
  91. //Initiate a payeer payment
  92. Route::post('/panel/payeer', [BillingController::class,
  93. 'payeer'])->middleware([ 'auth', 'verified' ]);
  94. //Initiate a Perfect Money payment
  95. Route::post('/panel/pm', [BillingController::class,
  96. 'pm'])->middleware([ 'auth', 'verified' ]);
  97. Route::post('/panel/pm-complete', [BillingController::class,
  98. 'completePM'])->middleware([ 'auth', 'verified' ]);
  99. Route::post('/panel/pm-fail', [BillingController::class,
  100. 'failPM'])->middleware([ 'auth', 'verified' ]);
  101. Route::get('/panel/cards', [BillingController::class,
  102. 'getCards'])->middleware([ 'auth', 'verified' ]);
  103. Route::post('/panel/save-url', [OrderController::class,
  104. 'changeURL'])->middleware([ 'auth', 'verified' ]);
  105. //Stripe webhooks
  106. Route::post('/hooks/charge',
  107. [BillingController::class, 'chargeEvent']);
  108. //Payeer handler function
  109. Route::post('/hooks/payeer-transaction',
  110. [BillingController::class, 'processPayeer']);
  111. //PM handler function
  112. Route::post('/hooks/pm-transaction',
  113. [BillingController::class, 'processPM']);
  114. //Payment attempt is over
  115. Route::get('/panel/clear-paying',
  116. [UserController::class, 'clearPaying'])->middleware(['auth', 'verified']);
  117. Route::post('/panel/support',
  118. [Ticket::class, 'send'])->middleware(['auth', 'verified']);