Examples of code I've written in PHP, Javascript, SCSS, etc.
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 
 
 
 
 

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