75 lines
2.3 KiB
PHP
75 lines
2.3 KiB
PHP
<?php
|
|
|
|
// src/Controller/LuckyController.php
|
|
namespace App\Controller;
|
|
|
|
use App\Entity\WireguardRequest;
|
|
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
|
use Symfony\Component\Form\Extension\Core\Type\EmailType;
|
|
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
|
|
use Symfony\Component\Form\Extension\Core\Type\TextType;
|
|
use Symfony\Component\HttpFoundation\Response;
|
|
use Symfony\Component\Routing\Annotation\Route;
|
|
use Symfony\Component\HttpFoundation\Request;
|
|
|
|
|
|
class IndexController extends AbstractController
|
|
{
|
|
|
|
#[Route('/success', name: 'app_default_form_success')]
|
|
public function form_success() {
|
|
|
|
return $this->render('success.html.twig', []);
|
|
}
|
|
|
|
#[Route('/fail', name: 'app_default_form_fail')]
|
|
public function form_fail() {
|
|
|
|
return $this->render('fail.html.twig', []);
|
|
}
|
|
|
|
#[Route('/', name: 'app_default_form')]
|
|
public function form(Request $request): Response
|
|
{
|
|
$wireguardRequest = new WireguardRequest();
|
|
$wireguardRequest->setAuthToken(sha1(random_bytes(255)));
|
|
|
|
$form = $this->createFormBuilder($wireguardRequest)
|
|
->add('email', EmailType::class)
|
|
//->add('publicKey', TextType::class)
|
|
->add('submit', SubmitType::class)
|
|
->getForm();
|
|
|
|
$form->handleRequest($request);
|
|
|
|
if ($form->isSubmitted() && $form->isValid()) {
|
|
// $form->getData() holds the submitted values
|
|
// but, the original `$task` variable has also been updated
|
|
$wireguardRequest->setEmail($form->get('email')->getData());
|
|
|
|
if(str_ends_with($wireguardRequest->getEmail(), '@chaospott.de')) {
|
|
|
|
$model = new \App\Model\RequestsSqlite();
|
|
$model->addRequest($wireguardRequest);
|
|
|
|
// send E-Mail
|
|
return $this->redirectToRoute('app_default_form_success');
|
|
} else {
|
|
|
|
return $this->redirectToRoute('app_default_form_fail');
|
|
}
|
|
|
|
// ... perform some action, such as saving the task to the database
|
|
|
|
//return $this->redirectToRoute('task_success');
|
|
}
|
|
|
|
|
|
return $this->render('wireguardRequest.html.twig', [
|
|
'form' => $form,
|
|
]);
|
|
}
|
|
|
|
|
|
}
|