X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=src%2FWallabag%2FCoreBundle%2FController%2FSiteCredentialController.php;h=548de74486287c3076311338065cabcd660ede50;hb=773ac5b0f7a56ff2527601498b0822d6ef8bfa40;hp=98781dab0f84a071e09b4621b0e960ffb6fdb218;hpb=bead8b42da4f17238dc0d5e0f90184b224ec5df7;p=github%2Fwallabag%2Fwallabag.git diff --git a/src/Wallabag/CoreBundle/Controller/SiteCredentialController.php b/src/Wallabag/CoreBundle/Controller/SiteCredentialController.php index 98781dab..548de744 100644 --- a/src/Wallabag/CoreBundle/Controller/SiteCredentialController.php +++ b/src/Wallabag/CoreBundle/Controller/SiteCredentialController.php @@ -2,12 +2,12 @@ namespace Wallabag\CoreBundle\Controller; -use Symfony\Component\HttpFoundation\Request; -use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; -use Wallabag\UserBundle\Entity\User; +use Symfony\Bundle\FrameworkBundle\Controller\Controller; +use Symfony\Component\HttpFoundation\Request; use Wallabag\CoreBundle\Entity\SiteCredential; +use Wallabag\UserBundle\Entity\User; /** * SiteCredential controller. @@ -24,6 +24,8 @@ class SiteCredentialController extends Controller */ public function indexAction() { + $this->isSiteCredentialsEnabled(); + $credentials = $this->get('wallabag_core.site_credential_repository')->findByUser($this->getUser()); return $this->render('WallabagCoreBundle:SiteCredential:index.html.twig', [ @@ -43,6 +45,8 @@ class SiteCredentialController extends Controller */ public function newAction(Request $request) { + $this->isSiteCredentialsEnabled(); + $credential = new SiteCredential($this->getUser()); $form = $this->createForm('Wallabag\CoreBundle\Form\Type\SiteCredentialType', $credential); @@ -83,6 +87,8 @@ class SiteCredentialController extends Controller */ public function editAction(Request $request, SiteCredential $siteCredential) { + $this->isSiteCredentialsEnabled(); + $this->checkUserAction($siteCredential); $deleteForm = $this->createDeleteForm($siteCredential); @@ -125,6 +131,8 @@ class SiteCredentialController extends Controller */ public function deleteAction(Request $request, SiteCredential $siteCredential) { + $this->isSiteCredentialsEnabled(); + $this->checkUserAction($siteCredential); $form = $this->createDeleteForm($siteCredential); @@ -144,6 +152,16 @@ class SiteCredentialController extends Controller return $this->redirectToRoute('site_credentials_index'); } + /** + * Throw a 404 if the feature is disabled. + */ + private function isSiteCredentialsEnabled() + { + if (!$this->get('craue_config')->get('restricted_access')) { + throw $this->createNotFoundException('Feature "restricted_access" is disabled, controllers too.'); + } + } + /** * Creates a form to delete a site credential entity. * @@ -167,7 +185,7 @@ class SiteCredentialController extends Controller */ private function checkUserAction(SiteCredential $siteCredential) { - if (null === $this->getUser() || $this->getUser()->getId() != $siteCredential->getUser()->getId()) { + if (null === $this->getUser() || $this->getUser()->getId() !== $siteCredential->getUser()->getId()) { throw $this->createAccessDeniedException('You can not access this site credential.'); } }