vendor/symfony/security-http/Logout/SessionLogoutHandler.php line 24

Open in your IDE?
  1. <?php
  2. /*
  3.  * This file is part of the Symfony package.
  4.  *
  5.  * (c) Fabien Potencier <fabien@symfony.com>
  6.  *
  7.  * For the full copyright and license information, please view the LICENSE
  8.  * file that was distributed with this source code.
  9.  */
  10. namespace Symfony\Component\Security\Http\Logout;
  11. use Symfony\Component\HttpFoundation\Request;
  12. use Symfony\Component\HttpFoundation\Response;
  13. use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;
  14. use Mysqli;
  15. /**
  16.  * Handler for clearing invalidating the current session.
  17.  *
  18.  * @author Johannes M. Schmitt <schmittjoh@gmail.com>
  19.  */
  20. class SessionLogoutHandler implements LogoutHandlerInterface
  21. {
  22.     /**
  23.      * Invalidate the current session.
  24.      */
  25.     public function logout(Request $requestResponse $responseTokenInterface $token)
  26.     {
  27.         $username $token->getUsername();
  28.    
  29.         $mysqli $this->conectionTKT();
  30.         $consulta "SELECT r.code, u.Id userId FROM uv_user u JOIN uv_user_instance ui ON ui.user_id = u.id JOIN uv_support_role r ON r.id = ui.supportRole_id WHERE u.email = '$username'";
  31.         $resultado $mysqli->query($consulta);
  32.         $roles = array();
  33.         $userId 0;
  34.         if ($resultado === FALSE) {
  35.             echo json_encode($mysqli->error);
  36.         } else {
  37.       
  38.             while ($fila $resultado->fetch_assoc()) {
  39.                 $userId $fila['userId'];
  40.                 $roles[] = $fila['code'];
  41.             }
  42.         }
  43.         
  44.         if (in_array('ROLE_ADMIN'$roles) || in_array('ROLE_SUPER_ADMIN'$roles) || in_array('ROLE_AGENT'$roles)) {
  45.             $mysqli $this->conectionTKT();
  46.             $consulta "INSERT INTO agent_login (agent_id,date,auth_type) VALUES ('".$userId."','".date('Y-m-d H:i:s')."', 'logout')";
  47.     
  48.             if ($mysqli->query($consulta) === TRUE) {
  49.                 echo 'ok';
  50.             } else {
  51.                 echo json_encode($mysqli->error);
  52.             }
  53.     
  54.             $mysqli->close();
  55.     
  56.         }
  57.        
  58.         $request->getSession()->invalidate();
  59.     }
  60.     public function conectionTKT(){
  61.         $mysqli = new mysqli("database-plesk.cfcc6wi065dc.us-east-1.rds.amazonaws.com""ticketera""Qn0is837Zo102""admin_tkt2");
  62.         //$mysqli = new mysqli("localhost", "root", "root", "ticketerasg");
  63.         /* comprobar la conexión */
  64.         if ($mysqli->connect_errno) {
  65.             printf("Falló la conexión: %s\n"$mysqli->connect_error);
  66.             exit();
  67.         }
  68.         return $mysqli;
  69.     }
  70. }