1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- <?php
- namespace Base\OAuthClientBundle\Twig;
- use Buzz\Message\RequestInterface as HttpRequestInterface;
- use WebserviceBundle\Services\Webservice;
- class IsGrantedPreviousAdminExtension extends \Twig_Extension
- {
- /**
- * @var Webservice
- */
- protected $webservice;
- /**
- * @var string
- */
- protected $urlBase;
- /**
- * @var RequestStack
- */
- protected $request;
- /**
- * @param Webservice $webservice
- * @param string $urlBase
- * @param RequestStack $request
- */
- public function __construct(Webservice $webservice, $urlBase, $request)
- {
- $this->webservice = $webservice;
- $this->urlBase = $urlBase;
-
- $this->request = $request->getCurrentRequest();
- }
- /**
- * @return array
- */
- public function getFunctions()
- {
- return array(
- new \Twig_SimpleFunction('is_granted_previous_admin', array($this, 'isGrantedPreviousAdmin')),
- new \Twig_SimpleFunction('switch_user_exit', array($this, 'switchUserExit')),
- );
- }
- /**
- * @return boolean
- */
- public function isGrantedPreviousAdmin()
- {
- try {
- $url = "https://{$this->urlBase}/admin/user/is_granted";
- $cookies = $this->request->cookies->all();
- $response = $this->webservice->makeGetRequest($url, HttpRequestInterface::METHOD_GET, [], null, $cookies);
-
- return json_decode($response);
- } catch (\Exception $e) {
- return false;
- }
- }
- /**
- * @return boolean
- */
- public function switchUserExit()
- {
- return 'https://' . $this->urlBase . '/?_switch_user=_exit';
- }
- /**
- * @return string
- */
- public function getName()
- {
- return 'is_granted_previous_admin_extension';
- }
- }
|