<?php

/*
 * Copyright 2017-09-21  Cámara de Comercio de Santa Marta para el Magdalena.
 * Autor: Luis Montoya <lmontoya@ccsm.org.co at www.ccsm.org.co>.
 * Archivo: Log.
 *
 * Licenciado bajo la Licencia Apache, Versión 2.0;
 * Usted no puede usar este archivo excepto en conformidad con la Licencia.
 * Usted puede obtener una copia de la Licencia en
 *
 *   	http://www.apache.org/licenses/LICENSE-2.0
 *
 * A menos que sea requerido por la ley aplicable o acordado por escrito, el software
 * Distribuido bajo la licencia se distribuye en una "AS IS" o  "COMO ESTA" BASE,
 * SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, expresas o implícitas.
 * Consulte la Licencia para los permisos y Limitaciones bajo la Licencia.
 */

/**
 * Description of Log
 *
 * @author Luis Montoya <lmontoya@ccsm.org.co at www.ccsm.org.co>
 * 
 * 
 * 
 * 
 */
class Log {

    //put your code here
    public static function insertarRegistro($componente, $controlador, $operacion, $ip, $usuario ) {
        $sqlQuery = LogSQL::CREAR_REGISTRO;
        return LogDB::insertFila($sqlQuery, array($usuario, $ip, $componente, $controlador, $operacion ));
    }
    
    public static function todos() {
        $sqlQuery = LogSQL::DATOS_BASICOS . ' ORDER BY logFECHA DESC LIMIT 250;';
        return LogDB::selectVariasFilas($sqlQuery, array());
    }
    
    public static function porUsuario($usuarioNOMBRE) {
        $sqlQuery = LogSQL::DATOS_BASICOS . 'WHERE logUSUARIONOMBRE = ? ORDER BY logFECHA DESC LIMIT 250;';
        return LogDB::selectVariasFilas($sqlQuery, array($usuarioNOMBRE));
    }
    
    public static function errores() {
        $sqlQuery = LogSQL::DATOS_BASICOS . ' WHERE logRESPUESTA != "EXITO" ORDER BY logFECHA DESC LIMIT 250;';
        return LogDB::selectVariasFilas($sqlQuery, array());
    }
    
    public static function respuestaOperacion($logID, $respuesta, $mensaje) {
        $sqlQuery = LogSQL::REGISTRAR_RESPUESTA;
        return LogDB::actualizarFila($sqlQuery, array( $respuesta, $mensaje, $logID));
    }
    
    public static function fechas($usuarioNOMBRE = null){
        $sqlQuery = LogSQL::GRUPO_FECHAS;
        if(!empty($usuarioNOMBRE)):
            $sqlQuery .= " WHERE Log.logUSUARIONOMBRE = ? ";
        endif;
        $sqlQuery .= " GROUP BY FECHA ORDER BY logFECHA DESC LIMIT 2 ";
        return LogDB::selectVariasFilas($sqlQuery, array($usuarioNOMBRE));
    }
    
    public static function datosPorFecha($fecha ,$usuarioNOMBRE = null){
        $sqlQuery = LogSQL::DATOS_BASICOS . " WHERE DATE(Log.logFECHA) = '$fecha' ";
        if(!empty($usuarioNOMBRE)):
            $sqlQuery .= " AND Log.logUSUARIONOMBRE = ? ";
        endif;
        $sqlQuery .= " ORDER BY logFECHA DESC LIMIT 10";
        return LogDB::selectVariasFilas($sqlQuery, array( $usuarioNOMBRE));
    }
    
}

