src/Controller/PaymentController.php line 19

  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Setting;
  4. use Doctrine\Persistence\ManagerRegistry;
  5. use Symfony\Component\HttpFoundation\Request;
  6. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  7. use Symfony\Component\HttpFoundation\Response;
  8. use Symfony\Component\Routing\Annotation\Route;
  9. use Symfony\Component\Security\Http\Attribute\IsGranted;
  10. class PaymentController extends AbstractController
  11. {
  12.     public function __construct(private readonly ManagerRegistry $doctrine) {}
  13.     
  14.     #[IsGranted('ROLE_USER')]
  15.     #[Route('/payment'name'app_payment')]
  16.     public function index(): Response
  17.     {
  18.         $user $this->getUser();
  19.         $userOrds $user->getUserOrd();
  20.         return $this->render('payment/index.html.twig', [
  21.             'balance' => $user->getBalance(),
  22.             'paymentEmail' => $user->getEmail(),
  23.             'paymentUserId' => $user->getId(),
  24.             'cloudpayments_public' => $this->doctrine->getRepository(Setting::class)->get('cloudpayments_public') ?? '',
  25.             'email' => $user->getEmail(),
  26.             'userOrds' => $userOrds,
  27.         ]);
  28.     }
  29.     
  30.     #[Route('/payment/link'name'app_payment_by_link')]
  31.     public function paymentByLinkAction(Request $request): Response
  32.     {
  33.         $paymentEmail $request->query->get('paymentEmail');
  34.         $paymentUserId $request->query->get('paymentUserId');
  35.         $amount $request->query->get('amount');
  36.         
  37.         if (!($paymentEmail && $paymentUserId && $amount)) {
  38.             return $this->redirectToRoute('app_landing');
  39.         }
  40.         
  41.         return $this->render('payment/link.html.twig', [
  42.             'paymentEmail' => $paymentEmail,
  43.             'paymentUserId' => $paymentUserId,
  44.             'cloudpayments_public' => $this->doctrine->getRepository(Setting::class)->get('cloudpayments_public') ?? '',
  45.             'amount' => $amount
  46.         ]);
  47.     }
  48. }