<?php 
/*
 * Copyright 2017-08-29  Cámara de Comercio de Santa Marta para el Magdalena.
 * Autor: Libardo Bolañpo <lbolano@ccsm.org.co at www.ccsm.org.co>
 * Archivo: index.
 *
 * 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.
 */
session_start();
require_once __DIR__ . '/config.php';

if($_POST['operacion'] == 'iniciarSesion'):
    $idLog =  Log::insertarRegistro(
            $_POST['componente'], $_POST['controlador'],  $_POST['operacion'], Cliente::ip(), $_POST['usuario'] 
        );
elseif($_POST['operacion']!='datosParaTab'):
    $idLog =  Log::insertarRegistro(
            $_POST['componente'], $_POST['controlador'],  $_POST['operacion'], Cliente::ip(), Cliente::dato('usuarioNOMBRE') 
        );
endif;
if(!empty($idLog)):
    SesionCliente::valor("IDLOG",$idLog);
endif;
if (isset($_POST['controlador']) and isset($_POST['componente'])) {
    $archivoControlador = DIR_SICAM32 . 'componentes' . DS . strtolower($_POST['componente']) . DS . 'controladores' . DS . (ucfirst($_POST['controlador'])) . EXT_CONTROLADOR;
    if (file_exists($archivoControlador)) {
        require_once $archivoControlador;
        $nombreClase = ucfirst($_POST['controlador']) . 'Controlador';
        if (class_exists($nombreClase)) {
            $classCtrl = new $nombreClase();
            if ($classCtrl instanceof $nombreClase) {
                $nombreFuncion = $_POST['operacion'];
                if (method_exists($classCtrl, $nombreFuncion)) {
                    switch(CODIGO_APP):
                        case 'API':
                            $classCtrl->$nombreFuncion($request, $response, $params);
                            break;
                        default:
                            $classCtrl->$nombreFuncion();
                    endswitch;
                } else {
                    echo RespuestasSistema::error('NO EXISTE LA OPERACION [' . $nombreFuncion . ']');
                }
            } else {
                echo RespuestasSistema::error('NO ES UN OBJETO VALIDO [' . $classCtrl . ']');
            }
        } else {
            echo RespuestasSistema::error('NO EXISTE LA CLASE [' . $nombreClase . ']');
        }
    } else {
        echo RespuestasSistema::error('NO EXISTE EL ARCHIVO [' . $archivoControlador . ']');
    }
} else {
    echo RespuestasSistema::error('NO LLEGARON DATOS PARA LA OPERACION');
}
