<?php

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of asistencia
 *
 * @author root
 */
class AsistenciaControlador extends Controladores {

    function inicio() {
        $this->sede = SesionCliente::valor("ASISTENCIA-SEDE");
        if ($this->sede) {
            $this->webcam();
        } else {
            Vistas::mostrarApps(
                "asistencia", "inicio",array("Sedes" => Sedes::todas())
            );
            // Vistas::mostrar(
            //     "talento-humano", "asistencia/inicio",array("Sedes" => Sedes::todas())
            // );
        }
    }
    
    function webcam() {
        SesionCliente::valor("ASISTENCIA-SEDE", $this->sede);
        Vistas::mostrarApps(
            "asistencia", "webcam", array(
            )
        );
        
        // Vistas::mostrar(
        //     "talento-humano", "asistencia/webcam", array(
        //     )
        // );
    }

    function inactividad() {
        Vistas::mostrarApps("asistencia", "inactividad", array());
    }

    function sinpermisos() {
        Vistas::mostrarApps("asistencia", "sinpermisos",
            array('error' => $this->error));
    }

    function confirmarMarcacion() {
        $Asistencia = Asistencias::datos($this->asistenciaID);
        $Permisos = Permisos::delColaborador($Asistencia->colaboradorID);
        if ($Asistencia->asistenciaLaboralSENTIDO == Asistencias::ENTRADA) {
            if ($Permisos) {
                $PermisosVigentes = array();
                $fecha = new DateTime();
                $fecha = $fecha->format('Y-m-d H:i:s');
                foreach ($Permisos as $Permiso) {
                    if ($Permiso->permisoFCHPERMISO < $fecha) {
                        array_push($PermisosVigentes, $Permiso);
                    }
                }
                if(empty($PermisosVigentes)) :
                    Vistas::mostrarApps("asistencia", "respuesta",
                    array('Asistencia' => $Asistencia));
                else:
                    Vistas::mostrarApps("asistencia", "respuesta",
                        array('Asistencia' => $Asistencia, 'Permisos' => $PermisosVigentes)
                    );
                endif;
            } else {
                Vistas::mostrarApps("asistencia", "respuesta",
                    array('Asistencia' => $Asistencia));
            }
        } else {
            Vistas::mostrarApps("asistencia", "respuesta",
                array('Asistencia' => $Asistencia));
        }
    }

    function controlTiempoMarcacion() {
        echo RespuestasSistema::exito(array("tiempo" => getdate()));
    }

    function controlIpMarcacion() {
        echo RespuestasSistema::exito(array("ipVisitante" => Cliente::ip()));
    }

}

