<?php

define( '_JEXEC', 1 );
define('JPATH_BASE', getcwd() );
define( 'DS', DIRECTORY_SEPARATOR );

require_once( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once( JPATH_BASE .DS.'includes'.DS.'framework.php' );

use Joomla\CMS\Version;
use Joomla\CMS\Factory;
use Joomla\CMS\User\User;

$container = \Joomla\CMS\Factory::getContainer();

$container->alias('session.web', 'session.web.site')
    ->alias('session', 'session.web.site')
    ->alias('JSession', 'session.web.site')
    ->alias(\Joomla\CMS\Session\Session::class, 'session.web.site')
    ->alias(\Joomla\Session\Session::class, 'session.web.site')
    ->alias(\Joomla\Session\SessionInterface::class, 'session.web.site');

$app = $container->get(\Joomla\CMS\Application\SiteApplication::class);

// Set the application as global app
\Joomla\CMS\Factory::$application = $app;

$mainframe  = Factory::getApplication();
$user       = Factory::getUser();
$session    = Factory::getSession();

function getDataUsersToken($container, $userId) {
    try {
        $db = $container->get('db');
        $query = $db->getQuery(true);

        $query->select([
            $db->quoteName('t.user_id'),
            $db->quoteName('t.fcm_token'),
            $db->quoteName('u.username'),
            $db->quoteName('u.name'),
            $db->quoteName('u.email')
        ]);
        
        $query->from($db->quoteName('#__user_push_tokens','t'));

        $query->join(
            'INNER',
            $db->quoteName('#__users', 'u'),
            $db->quoteName('t.user_id') . ' = ' . $db->quoteName('u.id')
        );

        $query->where($db->quoteName('t.user_id') . ' = ' . (int) $userId);

        $db->setQuery($query);
       
        return $db->loadObject();


    } catch (\Exception $e) {
        Factory::getApplication()->enqueueMessage($e->getMessage(), 'error');
    }
}


require_once('db.inc');
require_once('md5_edw.inc');
require_once('imagen_edw.php');

$abrIn = traeAbrIn();
$plantel = trim(dameCodomad());

$usersTokens = getDataUsersToken($container, $user->id);

$sqlInsertToken = "INSERT INTO users_push_tokens (username, fcm_token, device_type, user_id_portal, plantel, created, modified)
VALUES('{$usersTokens->username}','{$usersTokens->fcm_token}', 'web', '{$usersTokens->user_id}', '$plantel', now(), now())";

$con = conectar();

$login  = $user->username;
$ip     = $_SERVER['REMOTE_ADDR'];
$sql    = "INSERT INTO ebs (usuario,ip,plantel,fecha) VALUES ('$login','$ip','$plantel',now())";

$guardado_eb = pg_query($con,$sql);
$saveTokens = pg_query($con, $sqlInsertToken);
 
desconectar($con);

$protocolo  = 'https';
$dominio    = 'eduweb.com.ve';
$pasovalor  = "usuario=".trim(base64_encode($login));
$uri        = "login.php?$pasovalor";

$url = "$protocolo://$abrIn.$dominio/$uri";

$session->destroy();

@Header("Location:$url"); 

exit();
