2022-12-12 17:42:40 -08:00
|
|
|
<?php
|
|
|
|
|
|
|
|
// src/Controller/DataImport.php
|
|
|
|
// Grab data from transfer app
|
|
|
|
|
|
|
|
namespace App\Controller\Routes\Back;
|
|
|
|
|
|
|
|
use Symfony\Component\HttpFoundation\Response;
|
|
|
|
use Symfony\Component\HttpFoundation\Request;
|
|
|
|
use Symfony\Component\Routing\Annotation\Route;
|
|
|
|
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
|
|
|
use App\Service\HandleMembers;
|
2023-01-16 20:17:22 -08:00
|
|
|
use App\Service\Render;
|
|
|
|
use App\Service\Auth;
|
2022-12-12 17:42:40 -08:00
|
|
|
|
|
|
|
class Members extends AbstractController
|
|
|
|
{
|
|
|
|
/**
|
2023-01-16 20:17:22 -08:00
|
|
|
* @Route("/den/members/page/{pageNum}", name="den-locations")
|
2022-12-12 17:42:40 -08:00
|
|
|
*/
|
|
|
|
public function showMembers(
|
|
|
|
Request $request,
|
2023-01-16 20:17:22 -08:00
|
|
|
Auth $auth,
|
|
|
|
Render $render,
|
|
|
|
HandleMembers $members,
|
|
|
|
int $pageNum = 1
|
|
|
|
) {
|
2022-12-12 17:42:40 -08:00
|
|
|
$result = $auth->status();
|
|
|
|
if ($result["status"]) {
|
2023-01-16 20:17:22 -08:00
|
|
|
$self = $members->getYou();
|
|
|
|
$you = $self->getId();
|
|
|
|
$list = $members->getMemberPage($pageNum);
|
|
|
|
|
|
|
|
return $render->page([
|
|
|
|
"mode" => "index",
|
|
|
|
"you" => $you,
|
|
|
|
"list" => $list], "Bad Space | Members", "back/members.twig");
|
2022-12-12 17:42:40 -08:00
|
|
|
} else {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2023-01-16 20:17:22 -08:00
|
|
|
* @Route("/den/members/{action}/{id}", name="den-members")
|
|
|
|
*/
|
|
|
|
public function handleMemberActions(
|
2022-12-12 17:42:40 -08:00
|
|
|
Request $request,
|
|
|
|
Auth $auth,
|
2023-01-16 20:17:22 -08:00
|
|
|
Render $render,
|
2022-12-12 17:42:40 -08:00
|
|
|
HandleMembers $members,
|
2023-01-16 20:17:22 -08:00
|
|
|
string $action = "index",
|
|
|
|
int $id = 0
|
2022-12-12 17:42:40 -08:00
|
|
|
): Response {
|
|
|
|
$result = $auth->status();
|
|
|
|
if ($result["status"]) {
|
|
|
|
if ($request->getMethod() == "GET") {
|
2023-01-16 20:17:22 -08:00
|
|
|
$self = $members->getYou();
|
|
|
|
$you = $self->getId();
|
|
|
|
$member = [];
|
|
|
|
if ($id != 0) {
|
|
|
|
$member = $members->getMemberById($id);
|
|
|
|
}
|
|
|
|
return $render->page([
|
|
|
|
"mode" => $action,
|
|
|
|
"you" => $you,
|
|
|
|
"currentMember" => $member], "Bad Space | Members", "back/members.twig");
|
2022-12-12 17:42:40 -08:00
|
|
|
} else {
|
|
|
|
//add new member
|
2023-01-16 20:17:22 -08:00
|
|
|
$token = $request->get("token");
|
|
|
|
$notice = "";
|
|
|
|
$mode = $request->get("mode");
|
|
|
|
$id = $request->get("member_id");
|
2022-12-12 17:42:40 -08:00
|
|
|
|
|
|
|
//token check
|
|
|
|
if (!$this->isCsrfTokenValid("upload", $token)) {
|
|
|
|
$logger->info("CSRF failure");
|
|
|
|
|
|
|
|
return new Response(
|
|
|
|
"Operation not allowed",
|
|
|
|
Response::HTTP_BAD_REQUEST,
|
|
|
|
[
|
|
|
|
"content-type" => "text/plain",
|
|
|
|
]
|
|
|
|
);
|
|
|
|
}
|
2023-01-16 20:17:22 -08:00
|
|
|
$self = $members->getYou();
|
|
|
|
$you = $self->getId();
|
|
|
|
$member = [];
|
|
|
|
if ($id != 0) {
|
|
|
|
$member = $members->getMemberById($id);
|
|
|
|
}
|
2022-12-12 17:42:40 -08:00
|
|
|
if (
|
|
|
|
$request->request->get("handle") == "" ||
|
|
|
|
$request->request->get("role") == "" ||
|
|
|
|
$request->request->get("gender") == "" ||
|
|
|
|
$request->request->get("email") == "" ||
|
|
|
|
$request->request->get("pronoun") == ""
|
|
|
|
) {
|
|
|
|
$notice = "All fields are required, champ.";
|
2023-01-16 20:17:22 -08:00
|
|
|
return $render->page([
|
|
|
|
"notice" => $notice,
|
|
|
|
"mode" => $mode,
|
|
|
|
"you" => $you,
|
|
|
|
"currentMember" => $member], "Bad Space | Members", "back/members.twig");
|
2022-12-12 17:42:40 -08:00
|
|
|
}
|
2023-01-16 20:17:22 -08:00
|
|
|
//empty valid email check
|
2022-12-12 17:42:40 -08:00
|
|
|
if (
|
|
|
|
!filter_var($request->request->get("email"), FILTER_VALIDATE_EMAIL)
|
|
|
|
) {
|
|
|
|
$notice = "Need a valid email, slick.";
|
2023-01-16 20:17:22 -08:00
|
|
|
return $render->page([
|
|
|
|
"notice" => $notice,
|
|
|
|
"mode" => $mode,
|
|
|
|
"you" => $you,
|
|
|
|
"currentMember" => $member], "Bad Space | Members", "back/members.twig");
|
|
|
|
}
|
|
|
|
// password confirm check
|
|
|
|
if ($request->request->get("new_pass") != "") {
|
|
|
|
if ($request->request->get("new_pass") != $request->request->get("new_pass_confirm")) {
|
|
|
|
$notice = "New password must be confirmed";
|
|
|
|
return $render->page([
|
|
|
|
"notice" => $notice,
|
|
|
|
"mode" => $mode,
|
|
|
|
"you" => $you,
|
|
|
|
"currentMember" => $member], "Bad Space | Members", "back/members.twig");
|
|
|
|
}
|
2022-12-12 17:42:40 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
//check clear, call add method
|
2023-01-16 20:17:22 -08:00
|
|
|
$response = $members->modifyMember($request, $id, $mode);
|
2022-12-12 17:42:40 -08:00
|
|
|
if ($response["status"]) {
|
2023-01-16 20:17:22 -08:00
|
|
|
return $render->page([
|
|
|
|
"notice" => $response["message"],
|
|
|
|
"mode" => $mode,
|
|
|
|
"you" => $you,
|
|
|
|
"currentMember" => $member], "Bad Space | Members", "back/members.twig");
|
2022-12-12 17:42:40 -08:00
|
|
|
} else {
|
|
|
|
return new Response("<html><body>" . $response["message"] . "</body></html>");
|
|
|
|
/*
|
|
|
|
return $render->renderPage(
|
|
|
|
["bgImage" => "", "message" => $response["message"]],
|
|
|
|
"The Nile List | Uh Oh Time",
|
|
|
|
"front/error.html.twig"
|
|
|
|
);
|
|
|
|
*/
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
//back to index to login
|
2022-12-30 14:41:49 -08:00
|
|
|
header("Location:/den");
|
2023-01-16 20:17:22 -08:00
|
|
|
return new Response("<html><body>TO THE FRONT</body></html>");
|
2022-12-12 17:42:40 -08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|