<?php

//---------------------------------------------------------------------------------------------------------
// 06/Junio/2016
// Versión 1.0 Extensión usuario widget personalizables
//---------------------------------------------------------------------------------------------------------



function loginV2($opciones = NULL) {
    include('comunes/globals.php');
    $ocultarCabecera = false;
    $email_por_defecto = Sesion::get('email_login');
    $fichero_login = 'login';

    if ($opciones == NULL) {
        $opciones = new OpcionesWidget();
    }
    if (is_a($opciones, 'OpcionesWidget')) {
        $fichero_login = ($opciones->configuracion->fichero_login != NULL) ? $opciones->configuracion->fichero_login : $fichero_login;
        $ocultarCabecera = ($opciones->configuracion->ocultarCabecera != NULL) ? $opciones->configuracion->ocultarCabecera : $ocultarCabecera;
        $ruta_fichero = $fichero_login . '.php';
        $ruta_fichero = Theme::findFile($ruta_fichero);
        if ($ruta_fichero != NULL) {
            //Variables OBLIGATORIAS
            $error_login = '';
            $cod_error_login = 0;
            //ERROR LOGIN ==> $error_login
            //$cod_error_login:
            /*
              1 => Datos incorrectos. Inténtelo de nuevo.
              2 => No existe ningún usuario con esa dirección de email. Si no está registrado, vaya al apartado de registro.
              3 => La contraseña que ha introducido no es correcta. Si no recuerda su contraseña, pinche en el enlace recuperar contraseña.
             */
            //Vamos a coger el mensaje que hubiese para el widget de usuario:
            $mensajes_de_este_widget = $listaSysMsg->findElement(array('origen' => '/^widget_usuario$/', 'funcion' => '/^login$/'));
            if ($mensajes_de_este_widget != NULL) {
                //Vamos a ver que mensajes son
                $error_email = '';
                $error_password = '';
                for ($i = 0; $i < count($mensajes_de_este_widget); $i++) {
                    if ($mensajes_de_este_widget[$i]->getClase() == 'email') {
                        $error_email = $mensajes_de_este_widget[$i]->getCuerpo();
                    }
                    if ($mensajes_de_este_widget[$i]->getClase() == 'password') {
                        $error_password = $mensajes_de_este_widget[$i]->getCuerpo();
                    }
                }

                if (($error_email != '') || ($error_password != '')) {
                    $error_login = traducir('Datos incorrectos. Inténtelo de nuevo.
					');
                    $cod_error_login = 1;
                }
                if ($error_email != '') {
                    $error_login .= traducir('No existe ningún usuario con esa dirección de email. Si no está registrado, vaya al apartado de registro.');
                    $cod_error_login = 2;
                } else if ($error_password != '') {
                    $error_login .= traducir('La contraseña que ha introducido no es correcta. Si no recuerda su contraseña, pinche en el enlace recuperar contraseña.');
                    $cod_error_login = 3;
                }
            }
            ?>
            <?php
            if (!$ocultarCabecera) {
                ?>
                <div class="<?= (__FUNCTION__); ?>">
                    <?php
                }
				/* <form action="<?= parse_url($_SERVER["REQUEST_URI"], PHP_URL_PATH); ?>" method="post" class="login_simple"> */
                ?>
                <form action="<?= parse_url($_SERVER["REQUEST_URI"], PHP_URL_PATH); ?>" method="post" class="login_simple">
                    <?php
                    include($ruta_fichero);
                    ?>
                </form>
				<?php
				$nombre_script = 'script_' . incrementa_contador();
				?>
                <script type="text/javascript" id="<?=$nombre_script;?>">
				document.addEventListener('WSLE', function(event) {
                    ;(function () {
                        var form_login = getLastHtmlObject('<?=$nombre_script;?>');
                        form_login.on("submit", function (event) {
                            var login_correcto = true;
                            //No estamos ni en chrome ni en firefox, así que hay que controlar los campos obligatorios
                            $(form_login).on("submit", function (event) {
                                login_correcto = true;
                                var fieldset = $(this).children("fieldset")[0];
                                //Comrobaciones sólo para IE y resto de navegadores que no sean chrome o firefox

                                var lista_input = $(fieldset).children("input[required]");
                                var total = lista_input.length;
                                for (var i = 0; (i < total) && (login_correcto); i++) {
                                    var elemento = lista_input[i];
                                    if ($(elemento).prop("value") == "") {
                                        login_correcto = false;
                                        $(elemento).focus();
                                        poner_sombra($(elemento));
                                    }
                                }
                                //Ahora vamos a controlar si hubiese un campo email y si todo es correcto
                                if (login_correcto) {
                                    lista_input = $(this).children("fieldset").children("input[type='email']");
                                    var total = lista_input.length;
                                    for (var i = 0; (i < total) && (login_correcto); i++) {
                                        //Comprobamos que tiene un arroba
                                        var elemento = lista_input[i];
                                        var contenido = $(elemento).prop("value");
                                        if (contenido.split("@").length != 2) {
                                            login_correcto = false;
                                            $(elemento).focus();
                                            poner_sombra($(elemento));
                                        }
                                    }
                                }
                                if (!login_correcto) {
                                    event.preventDefault();
                                }
                            });

                            //Vamos a crear un "listener" para que cuando cambie un input, si el borde es rojo, que se ponga en su borde inicial
                            $(form_login).children("fieldset").children("input[required]").on("input", function () {
                                quitar_sombra($(this));
                            });



                        });

                    }());
				});
                </script>
                <?php
                if (!$ocultarCabecera) {
                    ?>
                </div>
                <?php
            }
            ?>
            <?php
        }
    }
}

function mod_password_usuarioV2($opciones = NULL) {
    include('comunes/globals.php');
    $ocultarCabecera = false;
    $mensajes_de_este_widget = $listaSysMsg->findElement(array('origen' => '/^widget_usuario$/', 'funcion' => '/^mod_password_usuario$/'));
    /* Declaramos las variables que vamos a poder utilizar */
    $texto_a_mostrar = '';
    $correcto = '';
    //Cargamos el primero que haya, si lo hay
    if ($mensajes_de_este_widget != NULL) {
        $mensajes_de_este_widget = $mensajes_de_este_widget[0];
        $texto_a_mostrar = $mensajes_de_este_widget->getCuerpo();
        $correcto = $mensajes_de_este_widget->getClase();
    }
    $fichero = 'form_mod_pass';

    if ($opciones == NULL) {
        //En caso de venir en nulo lo creamos
        $opciones = new OpcionesWidget();
    }

    if (is_a($opciones, 'OpcionesWidget')) {
        //Extraemos los datos del opciones
        $fichero = ($opciones->configuracion->fichero != NULL) ? $opciones->configuracion->fichero : $fichero;
        $ocultarCabecera = ($opciones->configuracion->ocultarCabecera != NULL) ? $opciones->configuracion->ocultarCabecera : $ocultarCabecera;
        ;
        //Aquí incluimos el fichero
        $ruta_fichero = Theme::findFile($fichero . '.php');
        ?>
        <?php
        if (!$ocultarCabecera) {
            ?>
            <div class="<?= (__FUNCTION__); ?>">
                <?php
            }
            ?>
            <h3><?= traducir('Contraseña'); ?></h3>
            <?php
            //Si todo ha sido correcto no muestro el texto introductorio, si no que muestro un P indicando que todo ha sido correcto
            if ($correcto == 'correcto') {
                ?>
                <p class="mod_datos_correcto"><?= $texto_a_mostrar; ?></p>
                <?php
            } else {
                ?>
                <p><?= traducir('Para modificar su password escriba su password actual y posteriormente escriba el nuevo password. Por seguridad debe repetir la nueva contraseña en el tercer campo. Una vez introducidos pulse sobre el botón "Modificar password".'); ?></p>			
                <?php
                if ($correcto == 'error') {
                    ?>
                    <p class="error_mod_datos"><?= $texto_a_mostrar; ?></p>
                    <?php
                }
            }
            ?>
            <form action="<?= parse_url($_SERVER["REQUEST_URI"], PHP_URL_PATH); ?>" method="post" class="mod_datos_simple">
                <?php
                if ($ruta_fichero != NULL) {
                    include($ruta_fichero);
                }
                ?>
            </form>
            <?php
            crear_script_control_mod_pass();
            ?>
            <p class="error_mod_pass"></p>
            <?php
            if (!$ocultarCabecera) {
                ?>
            </div>
            <?php
        }
        ?>
        <?php
    }
}

function datos_usuario($opciones = NULL) {
    include('comunes/globals.php');
    $ocultarCabecera = false;
    $codigo_usuario = 0;
    $fichero_usuario = 'datos_usuario';
    if ($opciones == NULL) {
        $opciones = new OpcionesWidget();
    }
    if (is_a($opciones, 'OpcionesWidget')) {
        $codigo_usuario = ($opciones->configuracion->codigo_usuario != NULL) ? $opciones->configuracion->codigo_usuario : $codigo_usuario;
        $fichero_usuario = ($opciones->configuracion->fichero_usuario != NULL) ? $opciones->configuracion->fichero_usuario : $fichero_usuario;
        $ocultarCabecera = ($opciones->configuracion->ocultarCabecera != NULL) ? $opciones->configuracion->ocultarCabecera : $ocultarCabecera;
        $usuario = NULL;
        if (is_numeric($codigo_usuario)) {
            $usuario = new Usuario($codigo_usuario);
        } else {
            $usuario = $codigo_usuario;
        }
        if ($usuario->codigo != 0) {
            $ruta_fichero = $fichero_usuario . '.php';
            $ruta_fichero = Theme::findFile($ruta_fichero);
            if ($ruta_fichero != NULL) {
                ?>
                <?php
                if (!$ocultarCabecera) {
                    ?>
                    <div class="<?= (__FUNCTION__); ?>">
                        <?php
                    }
                    ?>
                    <?php include($ruta_fichero); ?>
                    <?php
                    if (!$ocultarCabecera) {
                        ?>
                    </div>
                    <?php
                }
                ?>
                <?php
            }
        }
    }
}
?>