replace annotation with attributes

This commit is contained in:
Simon Vieille 2022-11-19 19:35:28 +01:00
parent e130a42a57
commit 7dc463d14a
Signed by: deblan
GPG key ID: 579388D585F70417
33 changed files with 229 additions and 578 deletions

View file

@ -2,6 +2,8 @@
### Fixed ### Fixed
* fix tinymce modal z-index in tox * fix tinymce modal z-index in tox
### Changed
* replace annotation with attributes
## [1.16.0] - 2022-09-06 ## [1.16.0] - 2022-09-06
### Added ### Added

View file

@ -14,14 +14,10 @@ use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;
use Symfony\Component\Security\Csrf\TokenGenerator\TokenGeneratorInterface; use Symfony\Component\Security\Csrf\TokenGenerator\TokenGeneratorInterface;
use ZxcvbnPhp\Zxcvbn; use ZxcvbnPhp\Zxcvbn;
/** #[Route(path: '/admin/account')]
* @Route("/admin/account")
*/
class AccountAdminController extends AdminController class AccountAdminController extends AdminController
{ {
/** #[Route(path: '/', name: 'admin_account')]
* @Route("/", name="admin_account")
*/
public function account(Request $request, TotpAuthenticatorInterface $totpAuthenticatorService): Response public function account(Request $request, TotpAuthenticatorInterface $totpAuthenticatorService): Response
{ {
$account = $this->getUser(); $account = $this->getUser();
@ -31,9 +27,7 @@ class AccountAdminController extends AdminController
]); ]);
} }
/** #[Route(path: '/2fa', name: 'admin_account_2fa')]
* @Route("/2fa", name="admin_account_2fa")
*/
public function twoFactorAuthentication( public function twoFactorAuthentication(
Request $request, Request $request,
GoogleAuthenticatorInterface $totpAuthenticatorService, GoogleAuthenticatorInterface $totpAuthenticatorService,
@ -93,9 +87,7 @@ class AccountAdminController extends AdminController
]); ]);
} }
/** #[Route(path: '/password', name: 'admin_account_password', methods: ['POST'])]
* @Route("/password", name="admin_account_password", methods={"POST"})
*/
public function password( public function password(
Request $request, Request $request,
UserRepository $repository, UserRepository $repository,

View file

@ -9,9 +9,7 @@ use Symfony\Component\Routing\Annotation\Route;
abstract class AdminController extends AbstractController abstract class AdminController extends AbstractController
{ {
/** #[Route(path: '/_ping', name: '_ping')]
* @Route("/_ping", name="_ping")
*/
public function ping() public function ping()
{ {
return $this->json(true); return $this->json(true);

View file

@ -8,14 +8,10 @@ use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route; use Symfony\Component\Routing\Annotation\Route;
/** #[Route(path: '/admin/analytic')]
* @Route("/admin/analytic")
*/
class AnalyticController extends AbstractController class AnalyticController extends AbstractController
{ {
/** #[Route(path: '/stats/{node}/{range}', name: 'admin_analytic_stats')]
* @Route("/stats/{node}/{range}", name="admin_analytic_stats")
*/
public function stats(Node $node, DateRangeAnalytic $analytic, string $range = '7days'): Response public function stats(Node $node, DateRangeAnalytic $analytic, string $range = '7days'): Response
{ {
if (!in_array($range, ['7days', '30days', '90days', '1year'])) { if (!in_array($range, ['7days', '30days', '90days', '1year'])) {

View file

@ -25,9 +25,7 @@ class AuthController extends AbstractController
$this->coreParameters = $parameters->get('core'); $this->coreParameters = $parameters->get('core');
} }
/** #[Route(path: '/login', name: 'auth_login')]
* @Route("/login", name="auth_login")
*/
public function login(AuthenticationUtils $authenticationUtils): Response public function login(AuthenticationUtils $authenticationUtils): Response
{ {
if ($this->getUser()) { if ($this->getUser()) {
@ -45,9 +43,7 @@ class AuthController extends AbstractController
]); ]);
} }
/** #[Route(path: '/resetting/request', name: 'auth_resetting_request')]
* @Route("/resetting/request", name="auth_resetting_request")
*/
public function requestResetting(Request $request, UserRepository $repository, EventDispatcherInterface $eventDispatcher): Response public function requestResetting(Request $request, UserRepository $repository, EventDispatcherInterface $eventDispatcher): Response
{ {
if ($this->getUser()) { if ($this->getUser()) {
@ -85,9 +81,7 @@ class AuthController extends AbstractController
]); ]);
} }
/** #[Route(path: '/resetting/update/{token}', name: 'auth_resetting_update')]
* @Route("/resetting/update/{token}", name="auth_resetting_update")
*/
public function requestUpdate( public function requestUpdate(
string $token, string $token,
Request $request, Request $request,
@ -145,9 +139,7 @@ class AuthController extends AbstractController
]); ]);
} }
/** #[Route(path: '/logout', name: 'auth_logout')]
* @Route("/logout", name="auth_logout")
*/
public function logout() public function logout()
{ {
throw new \Exception('This method can be blank - it will be intercepted by the logout key on your firewall'); throw new \Exception('This method can be blank - it will be intercepted by the logout key on your firewall');

View file

@ -9,14 +9,10 @@ use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route; use Symfony\Component\Routing\Annotation\Route;
use Symfony\Contracts\HttpClient\HttpClientInterface; use Symfony\Contracts\HttpClient\HttpClientInterface;
/** #[Route(path: '/admin/editor/editorjs')]
* @Route("/admin/editor/editorjs")
*/
class EditorJsController extends AbstractController class EditorJsController extends AbstractController
{ {
/** #[Route(path: '/fetch_url', name: 'admin_editor_editorjs_fetch_url', options: ['expose' => true])]
* @Route("/fetch_url", name="admin_editor_editorjs_fetch_url", options={"expose"=true})
*/
public function fetchUrl(Request $request, HttpClientInterface $client): JsonResponse public function fetchUrl(Request $request, HttpClientInterface $client): JsonResponse
{ {
$url = filter_var($request->query->get('url'), FILTER_VALIDATE_URL); $url = filter_var($request->query->get('url'), FILTER_VALIDATE_URL);

View file

@ -15,22 +15,16 @@ use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route; use Symfony\Component\Routing\Annotation\Route;
use Symfony\Contracts\Translation\TranslatorInterface; use Symfony\Contracts\Translation\TranslatorInterface;
/** #[Route(path: '/admin/file_manager')]
* @Route("/admin/file_manager")
*/
class FileManagerAdminController extends AdminController class FileManagerAdminController extends AdminController
{ {
/** #[Route(path: '/', name: 'admin_file_manager_index')]
* @Route("/", name="admin_file_manager_index")
*/
public function index(): Response public function index(): Response
{ {
return $this->render('@Core/file_manager/index.html.twig'); return $this->render('@Core/file_manager/index.html.twig');
} }
/** #[Route(path: '/api/directory', name: 'admin_file_manager_api_directory', options: ['expose' => true])]
* @Route("/api/directory", name="admin_file_manager_api_directory", options={"expose"=true})
*/
public function directory(FsFileManager $manager, Request $request): Response public function directory(FsFileManager $manager, Request $request): Response
{ {
$options = [ $options = [
@ -43,9 +37,7 @@ class FileManagerAdminController extends AdminController
return $this->json($files); return $this->json($files);
} }
/** #[Route(path: '/info/{tab}/{context}/{ajax}', name: 'admin_file_manager_info', options: ['expose' => true])]
* @Route("/info/{tab}/{context}/{ajax}", name="admin_file_manager_info", options={"expose"=true})
*/
public function info( public function info(
FsFileManager $manager, FsFileManager $manager,
Request $request, Request $request,
@ -115,9 +107,7 @@ class FileManagerAdminController extends AdminController
]); ]);
} }
/** #[Route(path: '/directory/new/{ajax}', name: 'admin_file_manager_directory_new', options: ['expose' => true], methods: ['GET', 'POST'])]
* @Route("/directory/new/{ajax}", name="admin_file_manager_directory_new", options={"expose"=true}, methods={"GET", "POST"})
*/
public function directoryNew(FsFileManager $manager, Request $request, TranslatorInterface $translator, bool $ajax = false): Response public function directoryNew(FsFileManager $manager, Request $request, TranslatorInterface $translator, bool $ajax = false): Response
{ {
$splInfo = $manager->getSplInfo($request->query->get('file')); $splInfo = $manager->getSplInfo($request->query->get('file'));
@ -184,9 +174,7 @@ class FileManagerAdminController extends AdminController
]); ]);
} }
/** #[Route(path: '/directory/rename/{ajax}', name: 'admin_file_manager_directory_rename', methods: ['GET', 'POST'])]
* @Route("/directory/rename/{ajax}", name="admin_file_manager_directory_rename", methods={"GET", "POST"})
*/
public function directoryRename(FsFileManager $manager, Request $request, TranslatorInterface $translator, bool $ajax = false): Response public function directoryRename(FsFileManager $manager, Request $request, TranslatorInterface $translator, bool $ajax = false): Response
{ {
$splInfo = $manager->getSplInfo($request->query->get('file')); $splInfo = $manager->getSplInfo($request->query->get('file'));
@ -255,9 +243,7 @@ class FileManagerAdminController extends AdminController
]); ]);
} }
/** #[Route(path: '/file/rename/{ajax}', name: 'admin_file_manager_file_rename', methods: ['GET', 'POST'])]
* @Route("/file/rename/{ajax}", name="admin_file_manager_file_rename", methods={"GET", "POST"})
*/
public function fileRename(FsFileManager $manager, Request $request, TranslatorInterface $translator, bool $ajax = false): Response public function fileRename(FsFileManager $manager, Request $request, TranslatorInterface $translator, bool $ajax = false): Response
{ {
$splInfo = $manager->getSplInfo($request->query->get('file')); $splInfo = $manager->getSplInfo($request->query->get('file'));
@ -327,9 +313,7 @@ class FileManagerAdminController extends AdminController
]); ]);
} }
/** #[Route(path: '/upload/{ajax}', name: 'admin_file_manager_upload', options: ['expose' => true], methods: ['GET', 'POST'])]
* @Route("/upload/{ajax}", name="admin_file_manager_upload", options={"expose"=true}, methods={"GET", "POST"})
*/
public function upload(FsFileManager $manager, Request $request, TranslatorInterface $translator, bool $ajax = false): Response public function upload(FsFileManager $manager, Request $request, TranslatorInterface $translator, bool $ajax = false): Response
{ {
$splInfo = $manager->getSplInfo($request->query->get('file')); $splInfo = $manager->getSplInfo($request->query->get('file'));
@ -406,9 +390,7 @@ class FileManagerAdminController extends AdminController
]); ]);
} }
/** #[Route(path: '/delete', name: 'admin_file_manager_delete', methods: ['DELETE'])]
* @Route("/delete", name="admin_file_manager_delete", methods={"DELETE"})
*/
public function delete(FsFileManager $manager, Request $request): Response public function delete(FsFileManager $manager, Request $request): Response
{ {
$path = $request->request->get('file'); $path = $request->request->get('file');

View file

@ -19,65 +19,49 @@ use Symfony\Component\Routing\Annotation\Route;
class RedirectAdminController extends CrudController class RedirectAdminController extends CrudController
{ {
/** #[Route(path: '/admin/redirect/{page}', name: 'admin_redirect_index', methods: ['GET'], requirements: ['page' => '\d+'])]
* @Route("/admin/redirect/{page}", name="admin_redirect_index", methods={"GET"}, requirements={"page":"\d+"})
*/
public function index(RepositoryQuery $query, Request $request, Session $session, int $page = 1): Response public function index(RepositoryQuery $query, Request $request, Session $session, int $page = 1): Response
{ {
return $this->doIndex($page, $query, $request, $session); return $this->doIndex($page, $query, $request, $session);
} }
/** #[Route(path: '/admin/redirect/new', name: 'admin_redirect_new', methods: ['GET', 'POST'])]
* @Route("/admin/redirect/new", name="admin_redirect_new", methods={"GET", "POST"})
*/
public function new(Factory $factory, EntityManager $entityManager, Request $request): Response public function new(Factory $factory, EntityManager $entityManager, Request $request): Response
{ {
return $this->doNew($factory->create(), $entityManager, $request); return $this->doNew($factory->create(), $entityManager, $request);
} }
/** #[Route(path: '/admin/redirect/show/{entity}', name: 'admin_redirect_show', methods: ['GET'])]
* @Route("/admin/redirect/show/{entity}", name="admin_redirect_show", methods={"GET"})
*/
public function show(Entity $entity): Response public function show(Entity $entity): Response
{ {
return $this->doShow($entity); return $this->doShow($entity);
} }
/** #[Route(path: '/admin/redirect/filter', name: 'admin_redirect_filter', methods: ['GET'])]
* @Route("/admin/redirect/filter", name="admin_redirect_filter", methods={"GET"})
*/
public function filter(Session $session): Response public function filter(Session $session): Response
{ {
return $this->doFilter($session); return $this->doFilter($session);
} }
/** #[Route(path: '/admin/redirect/edit/{entity}', name: 'admin_redirect_edit', methods: ['GET', 'POST'])]
* @Route("/admin/redirect/edit/{entity}", name="admin_redirect_edit", methods={"GET", "POST"})
*/
public function edit(Entity $entity, EntityManager $entityManager, Request $request): Response public function edit(Entity $entity, EntityManager $entityManager, Request $request): Response
{ {
return $this->doEdit($entity, $entityManager, $request); return $this->doEdit($entity, $entityManager, $request);
} }
/** #[Route(path: '/admin/redirect/sort/{page}', name: 'admin_redirect_sort', methods: ['POST'], requirements: ['page' => '\d+'])]
* @Route("/admin/redirect/sort/{page}", name="admin_redirect_sort", methods={"POST"}, requirements={"page":"\d+"})
*/
public function sort(RepositoryQuery $query, EntityManager $entityManager, Request $request, Session $session, int $page = 1): Response public function sort(RepositoryQuery $query, EntityManager $entityManager, Request $request, Session $session, int $page = 1): Response
{ {
return $this->doSort($page, $query, $entityManager, $request, $session); return $this->doSort($page, $query, $entityManager, $request, $session);
} }
/** #[Route(path: '/admin/redirect/batch/{page}', name: 'admin_redirect_batch', methods: ['POST'], requirements: ['page' => '\d+'])]
* @Route("/admin/redirect/batch/{page}", name="admin_redirect_batch", methods={"POST"}, requirements={"page":"\d+"})
*/
public function batch(RepositoryQuery $query, EntityManager $entityManager, Request $request, Session $session, int $page = 1): Response public function batch(RepositoryQuery $query, EntityManager $entityManager, Request $request, Session $session, int $page = 1): Response
{ {
return $this->doBatch($page, $query, $entityManager, $request, $session); return $this->doBatch($page, $query, $entityManager, $request, $session);
} }
/** #[Route(path: '/admin/redirect/delete/{entity}', name: 'admin_redirect_delete', methods: ['DELETE'])]
* @Route("/admin/redirect/delete/{entity}", name="admin_redirect_delete", methods={"DELETE"})
*/
public function delete(Entity $entity, EntityManager $entityManager, Request $request): Response public function delete(Entity $entity, EntityManager $entityManager, Request $request): Response
{ {
return $this->doDelete($entity, $entityManager, $request); return $this->doDelete($entity, $entityManager, $request);

View file

@ -11,14 +11,10 @@ use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route; use Symfony\Component\Routing\Annotation\Route;
/** #[Route(path: '/admin/navigation_setting')]
* @Route("/admin/navigation_setting")
*/
class NavigationSettingAdminController extends AdminController class NavigationSettingAdminController extends AdminController
{ {
/** #[Route(path: '/edit/{entity}', name: 'admin_navigation_setting_edit')]
* @Route("/edit/{entity}", name="admin_navigation_setting_edit")
*/
public function edit( public function edit(
Entity $entity, Entity $entity,
EntityManager $entityManager, EntityManager $entityManager,
@ -58,9 +54,7 @@ class NavigationSettingAdminController extends AdminController
]); ]);
} }
/** #[Route(path: '/delete/{entity}', name: 'admin_navigation_setting_delete', methods: ['DELETE'])]
* @Route("/delete/{entity}", name="admin_navigation_setting_delete", methods={"DELETE"})
*/
public function delete(Entity $entity, EntityManager $entityManager, Request $request): Response public function delete(Entity $entity, EntityManager $entityManager, Request $request): Response
{ {
if ($this->isCsrfTokenValid('delete'.$entity->getId(), $request->request->get('_token'))) { if ($this->isCsrfTokenValid('delete'.$entity->getId(), $request->request->get('_token'))) {

View file

@ -12,14 +12,10 @@ use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route; use Symfony\Component\Routing\Annotation\Route;
/** #[Route(path: '/admin/site/menu')]
* @Route("/admin/site/menu")
*/
class MenuAdminController extends AdminController class MenuAdminController extends AdminController
{ {
/** #[Route(path: '/new/{navigation}', name: 'admin_site_menu_new', methods: ['POST'])]
* @Route("/new/{navigation}", name="admin_site_menu_new", methods={"POST"})
*/
public function new(Navigation $navigation, EntityFactory $factory, EntityManager $entityManager, Request $request): Response public function new(Navigation $navigation, EntityFactory $factory, EntityManager $entityManager, Request $request): Response
{ {
$entity = $factory->create($navigation); $entity = $factory->create($navigation);
@ -39,9 +35,7 @@ class MenuAdminController extends AdminController
]); ]);
} }
/** #[Route(path: '/edit/{entity}', name: 'admin_site_menu_edit', methods: ['POST'])]
* @Route("/edit/{entity}", name="admin_site_menu_edit", methods={"POST"})
*/
public function edit(Entity $entity, EntityManager $entityManager, Request $request): Response public function edit(Entity $entity, EntityManager $entityManager, Request $request): Response
{ {
$form = $this->createForm(EntityType::class, $entity); $form = $this->createForm(EntityType::class, $entity);
@ -59,9 +53,7 @@ class MenuAdminController extends AdminController
]); ]);
} }
/** #[Route(path: '/delete/{entity}', name: 'admin_site_menu_delete', methods: ['DELETE'])]
* @Route("/delete/{entity}", name="admin_site_menu_delete", methods={"DELETE"})
*/
public function delete(Entity $entity, EntityManager $entityManager, Request $request): Response public function delete(Entity $entity, EntityManager $entityManager, Request $request): Response
{ {
if ($this->isCsrfTokenValid('delete'.$entity->getId(), $request->request->get('_token'))) { if ($this->isCsrfTokenValid('delete'.$entity->getId(), $request->request->get('_token'))) {

View file

@ -20,25 +20,19 @@ use Symfony\Component\Routing\Annotation\Route;
class NavigationAdminController extends CrudController class NavigationAdminController extends CrudController
{ {
/** #[Route(path: '/admin/site/navigation/{page}', name: 'admin_site_navigation_index', methods: ['GET'], requirements: ['page' => '\d+'])]
* @Route("/admin/site/navigation/{page}", name="admin_site_navigation_index", methods={"GET"}, requirements={"page":"\d+"})
*/
public function index(RepositoryQuery $query, Request $request, Session $session, int $page = 1): Response public function index(RepositoryQuery $query, Request $request, Session $session, int $page = 1): Response
{ {
return $this->doIndex($page, $query, $request, $session); return $this->doIndex($page, $query, $request, $session);
} }
/** #[Route(path: '/admin/site/navigation/new', name: 'admin_site_navigation_new', methods: ['GET', 'POST'])]
* @Route("/admin/site/navigation/new", name="admin_site_navigation_new", methods={"GET", "POST"})
*/
public function new(Factory $factory, EntityManager $entityManager, Request $request): Response public function new(Factory $factory, EntityManager $entityManager, Request $request): Response
{ {
return $this->doNew($factory->create(), $entityManager, $request); return $this->doNew($factory->create(), $entityManager, $request);
} }
/** #[Route(path: '/admin/site/navigation/show/{entity}', name: 'admin_site_navigation_show', methods: ['GET'])]
* @Route("/admin/site/navigation/show/{entity}", name="admin_site_navigation_show", methods={"GET"})
*/
public function show( public function show(
Entity $entity, Entity $entity,
EventDispatcherInterface $eventDispatcher, EventDispatcherInterface $eventDispatcher,
@ -60,33 +54,25 @@ class NavigationAdminController extends CrudController
return $this->doShow($entity); return $this->doShow($entity);
} }
/** #[Route(path: '/admin/site/navigation/filter', name: 'admin_site_navigation_filter', methods: ['GET'])]
* @Route("/admin/site/navigation/filter", name="admin_site_navigation_filter", methods={"GET"})
*/
public function filter(Session $session): Response public function filter(Session $session): Response
{ {
return $this->doFilter($session); return $this->doFilter($session);
} }
/** #[Route(path: '/admin/site/navigation/edit/{entity}', name: 'admin_site_navigation_edit', methods: ['GET', 'POST'])]
* @Route("/admin/site/navigation/edit/{entity}", name="admin_site_navigation_edit", methods={"GET", "POST"})
*/
public function edit(Entity $entity, EntityManager $entityManager, Request $request): Response public function edit(Entity $entity, EntityManager $entityManager, Request $request): Response
{ {
return $this->doEdit($entity, $entityManager, $request); return $this->doEdit($entity, $entityManager, $request);
} }
/** #[Route(path: '/admin/site/navigation/sort/{page}', name: 'admin_site_navigation_sort', methods: ['POST'], requirements: ['page' => '\d+'])]
* @Route("/admin/site/navigation/sort/{page}", name="admin_site_navigation_sort", methods={"POST"}, requirements={"page":"\d+"})
*/
public function sort(RepositoryQuery $query, EntityManager $entityManager, Request $request, Session $session, int $page = 1, ): Response public function sort(RepositoryQuery $query, EntityManager $entityManager, Request $request, Session $session, int $page = 1, ): Response
{ {
return $this->doSort($page, $query, $entityManager, $request, $session); return $this->doSort($page, $query, $entityManager, $request, $session);
} }
/** #[Route(path: '/admin/site/navigation/delete/{entity}', name: 'admin_site_navigation_delete', methods: ['DELETE'])]
* @Route("/admin/site/navigation/delete/{entity}", name="admin_site_navigation_delete", methods={"DELETE"})
*/
public function delete(Entity $entity, EntityManager $entityManager, Request $request): Response public function delete(Entity $entity, EntityManager $entityManager, Request $request): Response
{ {
return $this->doDelete($entity, $entityManager, $request); return $this->doDelete($entity, $entityManager, $request);

View file

@ -24,14 +24,10 @@ use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route; use Symfony\Component\Routing\Annotation\Route;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
/** #[Route(path: '/admin/site/node')]
* @Route("/admin/site/node")
*/
class NodeAdminController extends AbstractController class NodeAdminController extends AbstractController
{ {
/** #[Route(path: '/new/{node}', name: 'admin_site_node_new')]
* @Route("/new/{node}", name="admin_site_node_new")
*/
public function new( public function new(
Node $node, Node $node,
EntityFactory $factory, EntityFactory $factory,
@ -103,9 +99,7 @@ class NodeAdminController extends AbstractController
]); ]);
} }
/** #[Route(path: '/edit/{entity}/{tab}', name: 'admin_site_node_edit')]
* @Route("/edit/{entity}/{tab}", name="admin_site_node_edit")
*/
public function edit( public function edit(
Entity $entity, Entity $entity,
EntityManager $entityManager, EntityManager $entityManager,
@ -166,9 +160,7 @@ class NodeAdminController extends AbstractController
]); ]);
} }
/** #[Route(path: '/urls/{entity}', name: 'admin_site_node_urls')]
* @Route("/urls/{entity}", name="admin_site_node_urls")
*/
public function urls(Entity $entity, SitemapBuilder $builder): Response public function urls(Entity $entity, SitemapBuilder $builder): Response
{ {
return $this->render('@Core/site/node_admin/urls.html.twig', [ return $this->render('@Core/site/node_admin/urls.html.twig', [
@ -177,9 +169,7 @@ class NodeAdminController extends AbstractController
]); ]);
} }
/** #[Route(path: '/move/{entity}', name: 'admin_site_node_move')]
* @Route("/move/{entity}", name="admin_site_node_move")
*/
public function move( public function move(
Entity $entity, Entity $entity,
EntityManager $entityManager, EntityManager $entityManager,
@ -233,9 +223,7 @@ class NodeAdminController extends AbstractController
]); ]);
} }
/** #[Route(path: '/toggle/visibility/{entity}', name: 'admin_site_node_toggle_visibility', methods: ['POST'])]
* @Route("/toggle/visibility/{entity}", name="admin_site_node_toggle_visibility", methods={"POST"})
*/
public function toggleVisibility(Entity $entity, EntityManager $entityManager, Request $request): Response public function toggleVisibility(Entity $entity, EntityManager $entityManager, Request $request): Response
{ {
if ($this->isCsrfTokenValid('toggle_visibility'.$entity->getId(), $request->request->get('_token'))) { if ($this->isCsrfTokenValid('toggle_visibility'.$entity->getId(), $request->request->get('_token'))) {
@ -251,9 +239,7 @@ class NodeAdminController extends AbstractController
]).sprintf('#node-%d', $entity->getId())); ]).sprintf('#node-%d', $entity->getId()));
} }
/** #[Route(path: '/delete/{entity}', name: 'admin_site_node_delete', methods: ['DELETE'])]
* @Route("/delete/{entity}", name="admin_site_node_delete", methods={"DELETE"})
*/
public function delete( public function delete(
Entity $entity, Entity $entity,
NodeRepository $nodeRepository, NodeRepository $nodeRepository,

View file

@ -21,33 +21,25 @@ use App\Core\Entity\EntityInterface;
class PageAdminController extends CrudController class PageAdminController extends CrudController
{ {
/** #[Route(path: '/admin/site/page/{page}', name: 'admin_site_page_index', methods: ['GET'], requirements: ['page' => '\d+'])]
* @Route("/admin/site/page/{page}", name="admin_site_page_index", methods={"GET"}, requirements={"page":"\d+"})
*/
public function index(RepositoryQuery $query, Request $request, Session $session, int $page = 1): Response public function index(RepositoryQuery $query, Request $request, Session $session, int $page = 1): Response
{ {
return $this->doIndex($page, $query, $request, $session); return $this->doIndex($page, $query, $request, $session);
} }
/** #[Route(path: '/admin/site/page/show/{entity}', name: 'admin_site_page_show', methods: ['GET'])]
* @Route("/admin/site/page/show/{entity}", name="admin_site_page_show", methods={"GET"})
*/
public function show(Entity $entity): Response public function show(Entity $entity): Response
{ {
return $this->doShow($entity); return $this->doShow($entity);
} }
/** #[Route(path: '/admin/site/page/filter', name: 'admin_site_page_filter', methods: ['GET'])]
* @Route("/admin/site/page/filter", name="admin_site_page_filter", methods={"GET"})
*/
public function filter(Session $session): Response public function filter(Session $session): Response
{ {
return $this->doFilter($session); return $this->doFilter($session);
} }
/** #[Route(path: '/admin/site/page/edit/{entity}', name: 'admin_site_page_edit', methods: ['GET', 'POST'])]
* @Route("/admin/site/page/edit/{entity}", name="admin_site_page_edit", methods={"GET", "POST"})
*/
public function edit( public function edit(
int $entity, int $entity,
EntityManager $entityManager, EntityManager $entityManager,
@ -69,17 +61,13 @@ class PageAdminController extends CrudController
return $this->doEdit($entity, $entityManager, $request); return $this->doEdit($entity, $entityManager, $request);
} }
/** #[Route(path: '/admin/site/page/delete/{entity}', name: 'admin_site_page_delete', methods: ['DELETE'])]
* @Route("/admin/site/page/delete/{entity}", name="admin_site_page_delete", methods={"DELETE"})
*/
public function delete(Entity $entity, EntityManager $entityManager, Request $request): Response public function delete(Entity $entity, EntityManager $entityManager, Request $request): Response
{ {
return $this->doDelete($entity, $entityManager, $request); return $this->doDelete($entity, $entityManager, $request);
} }
/** #[Route(path: '/admin/site/page/batch/{page}', name: 'admin_site_page_batch', methods: ['POST'], requirements: ['page' => '\d+'])]
* @Route("/admin/site/page/batch/{page}", name="admin_site_page_batch", methods={"POST"}, requirements={"page":"\d+"})
*/
public function batch(RepositoryQuery $query, EntityManager $entityManager, Request $request, Session $session, int $page = 1): Response public function batch(RepositoryQuery $query, EntityManager $entityManager, Request $request, Session $session, int $page = 1): Response
{ {
return $this->doBatch($page, $query, $entityManager, $request, $session); return $this->doBatch($page, $query, $entityManager, $request, $session);

View file

@ -11,9 +11,7 @@ use Symfony\Component\Routing\Annotation\Route;
class SitemapController extends AbstractController class SitemapController extends AbstractController
{ {
/** #[Route(path: '/sitemap.xml', name: 'sitemap')]
* @Route("/sitemap.xml", name="sitemap")
*/
public function sitemap(Request $request, NavigationRepositoryQuery $query, SitemapBuilder $builder): Response public function sitemap(Request $request, NavigationRepositoryQuery $query, SitemapBuilder $builder): Response
{ {
$navigations = $query->create()->find(); $navigations = $query->create()->find();

View file

@ -11,14 +11,10 @@ use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Session\Session; use Symfony\Component\HttpFoundation\Session\Session;
use Symfony\Component\Routing\Annotation\Route; use Symfony\Component\Routing\Annotation\Route;
/** #[Route(path: '/admin/site/tree')]
* @Route("/admin/site/tree")
*/
class TreeAdminController extends AdminController class TreeAdminController extends AdminController
{ {
/** #[Route(path: '/', name: 'admin_site_tree_index')]
* @Route("/", name="admin_site_tree_index")
*/
public function index(NavigationRepositoryQuery $navigationQuery, Session $session): Response public function index(NavigationRepositoryQuery $navigationQuery, Session $session): Response
{ {
$navigation = null; $navigation = null;
@ -48,9 +44,7 @@ class TreeAdminController extends AdminController
]); ]);
} }
/** #[Route(path: '/navigation/{navigation}', name: 'admin_site_tree_navigation')]
* @Route("/navigation/{navigation}", name="admin_site_tree_navigation")
*/
public function navigation( public function navigation(
Navigation $navigation, Navigation $navigation,
NavigationRepositoryQuery $navigationQuery, NavigationRepositoryQuery $navigationQuery,

View file

@ -13,14 +13,10 @@ use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route; use Symfony\Component\Routing\Annotation\Route;
/** #[Route(path: '/admin/task')]
* @Route("/admin/task")
*/
class TaskAdminController extends AdminController class TaskAdminController extends AdminController
{ {
/** #[Route(path: '/', name: 'admin_task_index')]
* @Route("/", name="admin_task_index")
*/
public function index(EventDispatcherInterface $eventDispatcher): Response public function index(EventDispatcherInterface $eventDispatcher): Response
{ {
$event = new TaskInitEvent(); $event = new TaskInitEvent();
@ -31,9 +27,7 @@ class TaskAdminController extends AdminController
]); ]);
} }
/** #[Route(path: '/run/{task}', name: 'admin_task_run', methods: ['GET'])]
* @Route("/run/{task}", name="admin_task_run", methods={"GET"})
*/
public function run( public function run(
string $task, string $task,
Request $request, Request $request,

View file

@ -20,57 +20,43 @@ use App\Core\Security\TokenGenerator;
class UserAdminController extends CrudController class UserAdminController extends CrudController
{ {
/** #[Route(path: '/admin/user/{page}', name: 'admin_user_index', methods: ['GET'], requirements: ['page' => '\d+'])]
* @Route("/admin/user/{page}", name="admin_user_index", methods={"GET"}, requirements={"page":"\d+"})
*/
public function index(RepositoryQuery $query, Request $request, Session $session, int $page = 1): Response public function index(RepositoryQuery $query, Request $request, Session $session, int $page = 1): Response
{ {
return $this->doIndex($page, $query, $request, $session); return $this->doIndex($page, $query, $request, $session);
} }
/** #[Route(path: '/admin/user/new', name: 'admin_user_new', methods: ['GET', 'POST'])]
* @Route("/admin/user/new", name="admin_user_new", methods={"GET", "POST"})
*/
public function new(Factory $factory, EntityManager $entityManager, Request $request, TokenGenerator $tokenGenerator): Response public function new(Factory $factory, EntityManager $entityManager, Request $request, TokenGenerator $tokenGenerator): Response
{ {
return $this->doNew($factory->create(null, $tokenGenerator->generateToken()), $entityManager, $request); return $this->doNew($factory->create(null, $tokenGenerator->generateToken()), $entityManager, $request);
} }
/** #[Route(path: '/admin/user/show/{entity}', name: 'admin_user_show', methods: ['GET'])]
* @Route("/admin/user/show/{entity}", name="admin_user_show", methods={"GET"})
*/
public function show(Entity $entity): Response public function show(Entity $entity): Response
{ {
return $this->doShow($entity); return $this->doShow($entity);
} }
/** #[Route(path: '/admin/user/filter', name: 'admin_user_filter', methods: ['GET'])]
* @Route("/admin/user/filter", name="admin_user_filter", methods={"GET"})
*/
public function filter(Session $session): Response public function filter(Session $session): Response
{ {
return $this->doFilter($session); return $this->doFilter($session);
} }
/** #[Route(path: '/admin/user/edit/{entity}', name: 'admin_user_edit', methods: ['GET', 'POST'])]
* @Route("/admin/user/edit/{entity}", name="admin_user_edit", methods={"GET", "POST"})
*/
public function edit(Entity $entity, EntityManager $entityManager, Request $request): Response public function edit(Entity $entity, EntityManager $entityManager, Request $request): Response
{ {
return $this->doEdit($entity, $entityManager, $request); return $this->doEdit($entity, $entityManager, $request);
} }
/** #[Route(path: '/admin/user/delete/{entity}', name: 'admin_user_delete', methods: ['DELETE'])]
* @Route("/admin/user/delete/{entity}", name="admin_user_delete", methods={"DELETE"})
*/
public function delete(Entity $entity, EntityManager $entityManager, Request $request): Response public function delete(Entity $entity, EntityManager $entityManager, Request $request): Response
{ {
return $this->doDelete($entity, $entityManager, $request); return $this->doDelete($entity, $entityManager, $request);
} }
/** #[Route(path: '/admin/user/resetting_request/{entity}', name: 'admin_user_resetting_request', methods: ['POST'])]
* @Route("/admin/user/resetting_request/{entity}", name="admin_user_resetting_request", methods={"POST"})
*/
public function requestResetting(Entity $entity, EventDispatcherInterface $eventDispatcher, Request $request): Response public function requestResetting(Entity $entity, EventDispatcherInterface $eventDispatcher, Request $request): Response
{ {
if ($this->isCsrfTokenValid('resetting_request'.$entity->getId(), $request->request->get('_token'))) { if ($this->isCsrfTokenValid('resetting_request'.$entity->getId(), $request->request->get('_token'))) {

View file

@ -7,38 +7,26 @@ use App\Repository\Entity\Analytic\NodeViewRepository;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
use App\Core\Entity\EntityInterface; use App\Core\Entity\EntityInterface;
/** #[ORM\Table(name: 'analytic_referer')]
* @ORM\Entity(repositoryClass=ViewRepository::class) #[ORM\Entity(repositoryClass: ViewRepository::class)]
* @ORM\Table(name="analytic_referer")
*/
class Referer implements EntityInterface class Referer implements EntityInterface
{ {
/** #[ORM\Id]
* @ORM\Id #[ORM\GeneratedValue]
* @ORM\GeneratedValue #[ORM\Column(type: 'integer')]
* @ORM\Column(type="integer")
*/
protected $id; protected $id;
/** #[ORM\ManyToOne(targetEntity: Node::class, inversedBy: 'analyticReferers')]
* @ORM\ManyToOne(targetEntity=Node::class, inversedBy="analyticReferers") #[ORM\JoinColumn(nullable: false, onDelete: 'CASCADE')]
* @ORM\JoinColumn(nullable=false, onDelete="CASCADE")
*/
protected $node; protected $node;
/** #[ORM\Column(type: 'string', length: 255)]
* @ORM\Column(type="string", length=255)
*/
protected $uri; protected $uri;
/** #[ORM\Column(type: 'integer', options: ['default' => 0])]
* @ORM\Column(type="integer", options={"default"=0})
*/
protected $views = 0; protected $views = 0;
/** #[ORM\Column(type: 'date')]
* @ORM\Column(type="date")
*/
protected $date; protected $date;
public function getId(): ?int public function getId(): ?int

View file

@ -7,48 +7,32 @@ use App\Repository\Entity\Analytic\NodeViewRepository;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
use App\Core\Entity\EntityInterface; use App\Core\Entity\EntityInterface;
/** #[ORM\Table(name: 'analytic_view')]
* @ORM\Entity(repositoryClass=ViewRepository::class) #[ORM\Entity(repositoryClass: ViewRepository::class)]
* @ORM\Table(name="analytic_view")
*/
class View implements EntityInterface class View implements EntityInterface
{ {
/** #[ORM\Id]
* @ORM\Id #[ORM\GeneratedValue]
* @ORM\GeneratedValue #[ORM\Column(type: 'integer')]
* @ORM\Column(type="integer")
*/
protected $id; protected $id;
/** #[ORM\ManyToOne(targetEntity: Node::class, inversedBy: 'analyticViews')]
* @ORM\ManyToOne(targetEntity=Node::class, inversedBy="analyticViews") #[ORM\JoinColumn(nullable: false, onDelete: 'CASCADE')]
* @ORM\JoinColumn(nullable=false, onDelete="CASCADE")
*/
protected $node; protected $node;
/** #[ORM\Column(type: 'string', length: 255)]
* @ORM\Column(type="string", length=255)
*/
protected $path; protected $path;
/** #[ORM\Column(type: 'integer', options: ['default' => 0])]
* @ORM\Column(type="integer", options={"default"=0})
*/
protected $views = 0; protected $views = 0;
/** #[ORM\Column(type: 'integer', options: ['default' => 0])]
* @ORM\Column(type="integer", options={"default"=0})
*/
protected $desktopViews = 0; protected $desktopViews = 0;
/** #[ORM\Column(type: 'integer', options: ['default' => 0])]
* @ORM\Column(type="integer", options={"default"=0})
*/
protected $mobileViews = 0; protected $mobileViews = 0;
/** #[ORM\Column(type: 'date')]
* @ORM\Column(type="date")
*/
protected $date; protected $date;
public function getId(): ?int public function getId(): ?int

View file

@ -5,21 +5,15 @@ namespace App\Core\Entity;
use App\Repository\Entity\FileInformationRepository; use App\Repository\Entity\FileInformationRepository;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
/** #[ORM\Entity(repositoryClass: FileInformationRepository::class)]
* @ORM\Entity(repositoryClass=FileInformationRepository::class)
*/
class FileInformation implements EntityInterface class FileInformation implements EntityInterface
{ {
/** #[ORM\Id]
* @ORM\Id #[ORM\GeneratedValue(strategy: 'NONE')]
* @ORM\GeneratedValue(strategy="NONE") #[ORM\Column(type: 'string', length: 96, unique: true)]
* @ORM\Column(type="string", length=96, unique=true)
*/
protected $id; protected $id;
/** #[ORM\Column(type: 'text', nullable: true)]
* @ORM\Column(type="text", nullable=true)
*/
protected $attributes; protected $attributes;
public function getId(): ?string public function getId(): ?string

View file

@ -6,42 +6,28 @@ use App\Core\Entity\Site\Navigation;
use App\Core\Repository\NavigationSettingRepository; use App\Core\Repository\NavigationSettingRepository;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
/** #[ORM\Entity(repositoryClass: NavigationSettingRepository::class)]
* @ORM\Entity(repositoryClass=NavigationSettingRepository::class)
*/
class NavigationSetting implements EntityInterface class NavigationSetting implements EntityInterface
{ {
/** #[ORM\Id]
* @ORM\Id #[ORM\GeneratedValue]
* @ORM\GeneratedValue #[ORM\Column(type: 'integer')]
* @ORM\Column(type="integer")
*/
protected $id; protected $id;
/** #[ORM\Column(type: 'string', length: 255)]
* @ORM\Column(type="string", length=255)
*/
protected $section; protected $section;
/** #[ORM\Column(type: 'string', length: 255)]
* @ORM\Column(type="string", length=255)
*/
protected $label; protected $label;
/** #[ORM\Column(type: 'string', length: 255)]
* @ORM\Column(type="string", length=255)
*/
protected $code; protected $code;
/** #[ORM\Column(type: 'text', nullable: true)]
* @ORM\Column(type="text", nullable=true)
*/
protected $value; protected $value;
/** #[ORM\ManyToOne(targetEntity: Navigation::class, inversedBy: 'navigationSettings')]
* @ORM\ManyToOne(targetEntity=Navigation::class, inversedBy="navigationSettings") #[ORM\JoinColumn(nullable: false, onDelete: 'CASCADE')]
* @ORM\JoinColumn(nullable=false, onDelete="CASCADE")
*/
protected $navigation; protected $navigation;
public function getId(): ?int public function getId(): ?int

View file

@ -5,71 +5,45 @@ namespace App\Core\Entity;
use App\Core\Repository\RedirectRepository; use App\Core\Repository\RedirectRepository;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
/** #[ORM\Entity(repositoryClass: RedirectRepository::class)]
* @ORM\Entity(repositoryClass=RedirectRepository::class)
*/
class Redirect implements EntityInterface class Redirect implements EntityInterface
{ {
/** #[ORM\Id]
* @ORM\Id #[ORM\GeneratedValue]
* @ORM\GeneratedValue #[ORM\Column(type: 'integer')]
* @ORM\Column(type="integer")
*/
protected $id; protected $id;
/** #[ORM\Column(type: 'string', length: 5)]
* @ORM\Column(type="string", length=5)
*/
protected $scheme; protected $scheme;
/** #[ORM\Column(type: 'string', length: 255)]
* @ORM\Column(type="string", length=255)
*/
protected $domain; protected $domain;
/** #[ORM\Column(type: 'string', length: 6)]
* @ORM\Column(type="string", length=6)
*/
protected $domainType; protected $domainType;
/** #[ORM\Column(type: 'string', length: 255)]
* @ORM\Column(type="string", length=255)
*/
protected $rule; protected $rule;
/** #[ORM\Column(type: 'string', length: 6)]
* @ORM\Column(type="string", length=6)
*/
protected $ruleType; protected $ruleType;
/** #[ORM\Column(type: 'string', length: 255)]
* @ORM\Column(type="string", length=255)
*/
protected $location; protected $location;
/** #[ORM\Column(type: 'integer')]
* @ORM\Column(type="integer")
*/
protected $redirectCode; protected $redirectCode;
/** #[ORM\Column(type: 'string', length: 255)]
* @ORM\Column(type="string", length=255)
*/
protected $label; protected $label;
/** #[ORM\Column(type: 'integer', nullable: true)]
* @ORM\Column(type="integer", nullable=true)
*/
protected $sortOrder; protected $sortOrder;
/** #[ORM\Column(type: 'boolean')]
* @ORM\Column(type="boolean")
*/
protected $isEnabled; protected $isEnabled;
/** #[ORM\Column(type: 'boolean')]
* @ORM\Column(type="boolean")
*/
protected $reuseQueryString; protected $reuseQueryString;
public function getId(): ?int public function getId(): ?int

View file

@ -5,36 +5,24 @@ namespace App\Core\Entity;
use App\Core\Repository\SettingRepository; use App\Core\Repository\SettingRepository;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
/** #[ORM\Entity(repositoryClass: SettingRepository::class)]
* @ORM\Entity(repositoryClass=SettingRepository::class)
*/
class Setting implements EntityInterface class Setting implements EntityInterface
{ {
/** #[ORM\Id]
* @ORM\Id #[ORM\GeneratedValue]
* @ORM\GeneratedValue #[ORM\Column(type: 'integer')]
* @ORM\Column(type="integer")
*/
protected $id; protected $id;
/** #[ORM\Column(type: 'string', length: 255)]
* @ORM\Column(type="string", length=255)
*/
protected $section; protected $section;
/** #[ORM\Column(type: 'string', length: 255)]
* @ORM\Column(type="string", length=255)
*/
protected $label; protected $label;
/** #[ORM\Column(type: 'string', length: 255)]
* @ORM\Column(type="string", length=255)
*/
protected $code; protected $code;
/** #[ORM\Column(type: 'text', nullable: true)]
* @ORM\Column(type="text", nullable=true)
*/
protected $value; protected $value;
public function getId(): ?int public function getId(): ?int

View file

@ -9,46 +9,32 @@ use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection; use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
/** #[ORM\Entity(repositoryClass: MenuRepository::class)]
* @ORM\Entity(repositoryClass=MenuRepository::class) #[ORM\HasLifecycleCallbacks]
* @ORM\HasLifecycleCallbacks
*/
class Menu implements EntityInterface class Menu implements EntityInterface
{ {
use Timestampable; use Timestampable;
/** #[ORM\Id]
* @ORM\Id #[ORM\GeneratedValue]
* @ORM\GeneratedValue #[ORM\Column(type: 'integer')]
* @ORM\Column(type="integer")
*/
protected $id; protected $id;
/** #[ORM\Column(type: 'string', length: 255)]
* @ORM\Column(type="string", length=255)
*/
protected $label; protected $label;
/** #[ORM\Column(type: 'string', length: 255)]
* @ORM\Column(type="string", length=255)
*/
protected $code; protected $code;
/** #[ORM\ManyToOne(targetEntity: Navigation::class, inversedBy: 'menus')]
* @ORM\ManyToOne(targetEntity=Navigation::class, inversedBy="menus") #[ORM\JoinColumn(nullable: false, onDelete: 'CASCADE')]
* @ORM\JoinColumn(nullable=false, onDelete="CASCADE")
*/
protected $navigation; protected $navigation;
/** #[ORM\OneToMany(targetEntity: Node::class, mappedBy: 'menu', orphanRemoval: true, cascade: ['remove', 'persist'])]
* @ORM\OneToMany(targetEntity=Node::class, mappedBy="menu", orphanRemoval=true, cascade={"remove", "persist"})
*/
protected $nodes; protected $nodes;
/** #[ORM\OneToOne(targetEntity: Node::class, cascade: ['persist'])]
* @ORM\OneToOne(targetEntity=Node::class, cascade={"persist"}) #[ORM\JoinColumn(onDelete: 'CASCADE')]
* @ORM\JoinColumn(onDelete="CASCADE")
*/
protected $rootNode; protected $rootNode;
public function __construct() public function __construct()

View file

@ -10,64 +10,42 @@ use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection; use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
/** #[ORM\Entity(repositoryClass: NavigationRepository::class)]
* @ORM\Entity(repositoryClass=NavigationRepository::class) #[ORM\HasLifecycleCallbacks]
* @ORM\HasLifecycleCallbacks
*/
class Navigation implements EntityInterface class Navigation implements EntityInterface
{ {
use Timestampable; use Timestampable;
/** #[ORM\Id]
* @ORM\Id #[ORM\GeneratedValue]
* @ORM\GeneratedValue #[ORM\Column(type: 'integer')]
* @ORM\Column(type="integer")
*/
protected $id; protected $id;
/** #[ORM\Column(type: 'string', length: 255)]
* @ORM\Column(type="string", length=255)
*/
protected $label; protected $label;
/** #[ORM\Column(type: 'string', length: 255)]
* @ORM\Column(type="string", length=255)
*/
protected $code; protected $code;
/** #[ORM\Column(type: 'string', length: 255)]
* @ORM\Column(type="string", length=255)
*/
protected $domain; protected $domain;
/** #[ORM\Column(type: 'boolean', options: ['default' => 0])]
* @ORM\Column(type="boolean", options={"default"=0})
*/
protected $forceDomain = false; protected $forceDomain = false;
/** #[ORM\Column(type: 'text', nullable: true)]
* @ORM\Column(type="text", nullable=true)
*/
protected $additionalDomains = '[]'; protected $additionalDomains = '[]';
/** #[ORM\OneToMany(targetEntity: Menu::class, mappedBy: 'navigation')]
* @ORM\OneToMany(targetEntity=Menu::class, mappedBy="navigation")
*/
protected $menus; protected $menus;
/** #[ORM\Column(type: 'string', length: 10)]
* @ORM\Column(type="string", length=10)
*/
protected $locale = 'en'; protected $locale = 'en';
/** #[ORM\Column(type: 'integer', nullable: true)]
* @ORM\Column(type="integer", nullable=true)
*/
protected $sortOrder; protected $sortOrder;
/** #[ORM\OneToMany(targetEntity: NavigationSetting::class, mappedBy: 'navigation', orphanRemoval: true)]
* @ORM\OneToMany(targetEntity=NavigationSetting::class, mappedBy="navigation", orphanRemoval=true)
*/
protected $navigationSettings; protected $navigationSettings;
public function __construct() public function __construct()

View file

@ -16,164 +16,118 @@ use function Symfony\Component\String\u;
/** /**
* @Gedmo\Tree(type="nested") * @Gedmo\Tree(type="nested")
* @ORM\HasLifecycleCallbacks
* @ORM\Entity(repositoryClass=NodeRepository::class)
*/ */
#[ORM\HasLifecycleCallbacks]
#[ORM\Entity(repositoryClass: NodeRepository::class)]
class Node implements EntityInterface class Node implements EntityInterface
{ {
use Timestampable; use Timestampable;
/** #[ORM\Id]
* @ORM\Id #[ORM\GeneratedValue]
* @ORM\GeneratedValue #[ORM\Column(type: 'integer')]
* @ORM\Column(type="integer")
*/
protected $id; protected $id;
/** #[ORM\ManyToOne(targetEntity: Menu::class, inversedBy: 'nodes', cascade: ['persist', 'remove'])]
* @ORM\ManyToOne(targetEntity=Menu::class, inversedBy="nodes", cascade={"persist", "remove"}) #[ORM\JoinColumn(nullable: false, onDelete: 'CASCADE')]
* @ORM\JoinColumn(nullable=false, onDelete="CASCADE")
*/
protected $menu; protected $menu;
/** #[ORM\Column(type: 'string', length: 255, nullable: true)]
* @ORM\Column(type="string", length=255, nullable=true)
*/
protected $label; protected $label;
/** #[ORM\Column(type: 'string', length: 255, nullable: true)]
* @ORM\Column(type="string", length=255, nullable=true)
*/
protected $url; protected $url;
/** #[ORM\Column(type: 'boolean', options: ['default' => 0])]
* @ORM\Column(type="boolean", options={"default"=0})
*/
protected $disableUrl = false; protected $disableUrl = false;
/** #[ORM\Column(type: 'boolean', options: ['default' => 0])]
* @ORM\Column(type="boolean", options={"default"=0})
*/
protected $isVisible = false; protected $isVisible = false;
/** /**
* @Gedmo\TreeLeft * @Gedmo\TreeLeft
* @ORM\Column(type="integer")
*/ */
#[ORM\Column(type: 'integer')]
protected $treeLeft; protected $treeLeft;
/** /**
* @Gedmo\TreeLevel * @Gedmo\TreeLevel
* @ORM\Column(type="integer")
*/ */
#[ORM\Column(type: 'integer')]
protected $treeLevel; protected $treeLevel;
/** /**
* @Gedmo\TreeRight * @Gedmo\TreeRight
* @ORM\Column(type="integer")
*/ */
#[ORM\Column(type: 'integer')]
protected $treeRight; protected $treeRight;
/** /**
* @Gedmo\TreeRoot * @Gedmo\TreeRoot
* @ORM\ManyToOne(targetEntity="Node")
* @ORM\JoinColumn(referencedColumnName="id", onDelete="CASCADE")
*/ */
#[ORM\ManyToOne(targetEntity: 'Node')]
#[ORM\JoinColumn(referencedColumnName: 'id', onDelete: 'CASCADE')]
protected $treeRoot; protected $treeRoot;
/** /**
* @Gedmo\TreeParent * @Gedmo\TreeParent
* @ORM\ManyToOne(targetEntity="Node", inversedBy="children")
* @ORM\JoinColumn(referencedColumnName="id", onDelete="CASCADE")
*/ */
#[ORM\ManyToOne(targetEntity: 'Node', inversedBy: 'children')]
#[ORM\JoinColumn(referencedColumnName: 'id', onDelete: 'CASCADE')]
protected $parent; protected $parent;
/** #[ORM\OneToMany(targetEntity: 'Node', mappedBy: 'parent')]
* @ORM\OneToMany(targetEntity="Node", mappedBy="parent") #[ORM\OrderBy(['treeLeft' => 'ASC'])]
* @ORM\OrderBy({"treeLeft"="ASC"})
*/
protected $children; protected $children;
/** #[ORM\ManyToOne(targetEntity: Page::class, inversedBy: 'nodes', cascade: ['persist'])]
* @ORM\ManyToOne(targetEntity=Page::class, inversedBy="nodes", cascade={"persist"}) #[ORM\JoinColumn(nullable: true, onDelete: 'SET NULL')]
* @ORM\JoinColumn(nullable=true, onDelete="SET NULL")
*/
protected $page; protected $page;
/** #[ORM\Column(type: 'string', length: 255, nullable: true)]
* @ORM\Column(type="string", length=255, nullable=true)
*/
protected $code; protected $code;
/** #[ORM\Column(type: 'array', nullable: true)]
* @ORM\Column(type="array", nullable=true)
*/
protected $parameters = []; protected $parameters = [];
/** #[ORM\Column(type: 'array', nullable: true)]
* @ORM\Column(type="array", nullable=true)
*/
protected $attributes = []; protected $attributes = [];
/** #[ORM\Column(type: 'string', length: 255, nullable: true)]
* @ORM\Column(type="string", length=255, nullable=true)
*/
protected $controller; protected $controller;
/** #[ORM\Column(type: 'array', nullable: true)]
* @ORM\Column(type="array", nullable=true)
*/
protected $sitemapParameters = []; protected $sitemapParameters = [];
/** #[ORM\ManyToOne(targetEntity: Node::class, inversedBy: 'aliasNodes')]
* @ORM\ManyToOne(targetEntity=Node::class, inversedBy="aliasNodes") #[ORM\JoinColumn(nullable: true, onDelete: 'SET NULL')]
* @ORM\JoinColumn(nullable=true, onDelete="SET NULL")
*/
protected $aliasNode; protected $aliasNode;
/** #[ORM\OneToMany(targetEntity: Node::class, mappedBy: 'aliasNode')]
* @ORM\OneToMany(targetEntity=Node::class, mappedBy="aliasNode")
*/
protected $aliasNodes; protected $aliasNodes;
/** #[ORM\Column(type: 'string', length: 255, nullable: true)]
* @ORM\Column(type="string", length=255, nullable=true)
*/
protected $contentType; protected $contentType;
/** #[ORM\Column(type: 'boolean', options: ['default' => 0])]
* @ORM\Column(type="boolean", options={"default"=0})
*/
protected $enableAnalytics = false; protected $enableAnalytics = false;
/** #[ORM\OneToMany(targetEntity: View::class, mappedBy: 'node')]
* @ORM\OneToMany(targetEntity=View::class, mappedBy="node")
*/
protected $analyticViews; protected $analyticViews;
/** #[ORM\OneToMany(targetEntity: Referer::class, mappedBy: 'node')]
* @ORM\OneToMany(targetEntity=Referer::class, mappedBy="node")
*/
protected $analyticReferers; protected $analyticReferers;
/** #[ORM\Column(type: 'array', nullable: true)]
* @ORM\Column(type="array", nullable=true)
*/
private $securityRoles = []; private $securityRoles = [];
/** #[ORM\Column(type: 'string', length: 3, nullable: true)]
* @ORM\Column(type="string", length=3, nullable=true)
*/
private $securityOperator = 'or'; private $securityOperator = 'or';
/** #[ORM\Column(type: 'boolean', options: ['default' => 0])]
* @ORM\Column(type="boolean", options={"default"=0})
*/
private $hasAbTest = false; private $hasAbTest = false;
/** #[ORM\Column(type: 'string', length: 255, nullable: true)]
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $abTestCode; private $abTestCode;
public function __construct() public function __construct()

View file

@ -6,37 +6,27 @@ use App\Core\Doctrine\Timestampable;
use App\Core\Repository\Site\Page\BlockRepository; use App\Core\Repository\Site\Page\BlockRepository;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
/** #[ORM\Entity(repositoryClass: BlockRepository::class)]
* @ORM\Entity(repositoryClass=BlockRepository::class) #[ORM\DiscriminatorColumn(name: 'class_key', type: 'string')]
* @ORM\DiscriminatorColumn(name="class_key", type="string") #[ORM\InheritanceType('SINGLE_TABLE')]
* @ORM\InheritanceType("SINGLE_TABLE") #[ORM\HasLifecycleCallbacks]
* @ORM\HasLifecycleCallbacks
*/
class Block class Block
{ {
use Timestampable; use Timestampable;
/** #[ORM\Id]
* @ORM\Id #[ORM\GeneratedValue]
* @ORM\GeneratedValue #[ORM\Column(type: 'integer')]
* @ORM\Column(type="integer")
*/
protected $id; protected $id;
/** #[ORM\Column(type: 'string', length: 255)]
* @ORM\Column(type="string", length=255)
*/
protected $name; protected $name;
/** #[ORM\Column(type: 'text', nullable: true)]
* @ORM\Column(type="text", nullable=true)
*/
protected $value; protected $value;
/** #[ORM\ManyToOne(targetEntity: Page::class, inversedBy: 'blocks')]
* @ORM\ManyToOne(targetEntity=Page::class, inversedBy="blocks") #[ORM\JoinColumn(onDelete: 'CASCADE')]
* @ORM\JoinColumn(onDelete="CASCADE")
*/
protected $page; protected $page;
public function getId(): ?int public function getId(): ?int

View file

@ -4,9 +4,7 @@ namespace App\Core\Entity\Site\Page;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
/** #[ORM\Entity]
* @ORM\Entity
*/
class ChoiceBlock extends Block class ChoiceBlock extends Block
{ {
public function getValue() public function getValue()

View file

@ -4,9 +4,7 @@ namespace App\Core\Entity\Site\Page;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
/** #[ORM\Entity]
* @ORM\Entity
*/
class CollectionBlock extends Block class CollectionBlock extends Block
{ {
public function getValue() public function getValue()

View file

@ -6,9 +6,7 @@ use App\Core\File\FileAttribute;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\HttpFoundation\File\File; use Symfony\Component\HttpFoundation\File\File;
/** #[ORM\Entity]
* @ORM\Entity
*/
class FileBlock extends Block class FileBlock extends Block
{ {
public function getValue() public function getValue()

View file

@ -13,66 +13,44 @@ use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\HttpFoundation\File\File; use Symfony\Component\HttpFoundation\File\File;
use App\Core\File\FileAttribute; use App\Core\File\FileAttribute;
/** #[ORM\Entity(repositoryClass: PageRepository::class)]
* @ORM\Entity(repositoryClass=PageRepository::class) #[ORM\DiscriminatorColumn(name: 'class_key', type: 'string')]
* @ORM\DiscriminatorColumn(name="class_key", type="string") #[ORM\InheritanceType('SINGLE_TABLE')]
* @ORM\InheritanceType("SINGLE_TABLE") #[ORM\HasLifecycleCallbacks]
* @ORM\HasLifecycleCallbacks
*/
class Page implements EntityInterface class Page implements EntityInterface
{ {
use Timestampable; use Timestampable;
/** #[ORM\Id]
* @ORM\Id #[ORM\GeneratedValue]
* @ORM\GeneratedValue #[ORM\Column(type: 'integer')]
* @ORM\Column(type="integer")
*/
protected $id; protected $id;
/** #[ORM\Column(type: 'string', length: 255)]
* @ORM\Column(type="string", length=255)
*/
protected $name; protected $name;
/** #[ORM\Column(type: 'string', length: 255, nullable: true)]
* @ORM\Column(type="string", length=255, nullable=true)
*/
protected $template; protected $template;
/** #[ORM\OneToMany(targetEntity: Block::class, mappedBy: 'page', cascade: ['persist'])]
* @ORM\OneToMany(targetEntity=Block::class, mappedBy="page", cascade={"persist"})
*/
protected $blocks; protected $blocks;
/** #[ORM\Column(type: 'string', length: 255, nullable: true)]
* @ORM\Column(type="string", length=255, nullable=true)
*/
protected $metaTitle; protected $metaTitle;
/** #[ORM\Column(type: 'string', length: 255, nullable: true)]
* @ORM\Column(type="string", length=255, nullable=true)
*/
protected $metaDescription; protected $metaDescription;
/** #[ORM\Column(type: 'string', length: 255, nullable: true)]
* @ORM\Column(type="string", length=255, nullable=true)
*/
protected $ogTitle; protected $ogTitle;
/** #[ORM\Column(type: 'string', length: 255, nullable: true)]
* @ORM\Column(type="string", length=255, nullable=true)
*/
protected $ogDescription; protected $ogDescription;
/** #[ORM\Column(type: 'string', length: 255, nullable: true)]
* @ORM\Column(type="string", length=255, nullable=true)
*/
protected $ogImage; protected $ogImage;
/** #[ORM\OneToMany(targetEntity: Node::class, mappedBy: 'page')]
* @ORM\OneToMany(targetEntity=Node::class, mappedBy="page")
*/
protected $nodes; protected $nodes;
public function __construct() public function __construct()

View file

@ -4,9 +4,7 @@ namespace App\Core\Entity\Site\Page;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
/** #[ORM\Entity]
* @ORM\Entity
*/
class TextBlock extends Block class TextBlock extends Block
{ {
} }

View file

@ -17,7 +17,7 @@ abstract class RepositoryQuery
protected QueryBuilder $query; protected QueryBuilder $query;
protected PaginatorInterface $paginator; protected PaginatorInterface $paginator;
protected string $id; protected string $id;
protected array $forcedFilterHandlers; protected array $forcedFilterHandlers = [];
public function __construct(ServiceEntityRepository $repository, string $id, PaginatorInterface $paginator = null) public function __construct(ServiceEntityRepository $repository, string $id, PaginatorInterface $paginator = null)
{ {
@ -25,7 +25,6 @@ abstract class RepositoryQuery
$this->query = $repository->createQueryBuilder($id); $this->query = $repository->createQueryBuilder($id);
$this->paginator = $paginator; $this->paginator = $paginator;
$this->id = $id; $this->id = $id;
$this->forcedFilterHandlers = [];
} }
public function __call(string $name, $params): self public function __call(string $name, $params): self