<?php

require_once "./pdocontroller.php";
if (isset($_REQUEST['proyecto'])){$proyecto=$_REQUEST['proyecto'];}else{$proyecto="";}
if (isset($_REQUEST['rol'])){$rol=$_REQUEST['rol'];}else{$rol="";}
if (isset($_REQUEST['codempresa'])){$codemp=$_REQUEST['codempresa'];}else{$codemp="";}
if (isset($_REQUEST['nommodulo'])){$nommodulo=$_REQUEST['nommodulo'];}else{$nommodulo="";}
if (isset($_REQUEST['accion'])){$accion=$_REQUEST['accion'];}else{$accion="";}

$modulo=$nommodulo;
$DBclase="PDOCONTROLLER";
$DBconex=new $DBclase;
$syseli="Eliminado";
$primarykey="";
$primaryVlr="";
$query="select chkedi,listasql,tabla,tabqts,sqlinit,sqledit,sqllost,tabadi,datadi,proyecto,sqlres,sqlqst,chkint,sqltmp,sqlele,chkele,sqlsearch,tipo,reporte from modcmp where nommod= :modulo ";
$tipo="";
$reporte="";
$parametros=array(":modulo"=>$modulo);
try{
    $datos=$DBconex->executeconsulta($query,$parametros);
    //echo json_encode($datos);
    foreach($datos as $qdatos){
        $tabla=$qdatos["tabla"];
        $tipo=$qdatos["tipo"];
        $reporte=$qdatos["reporte"];
        $primarykey=$qdatos["chkedi"];//para verificar si tiene un campo primario
    }
 }catch(Exception $ex){
     echo $ex->getMessage();
 }

if($codemp!='' && $modulo!='modulo' && $rol!='empleado' && $codemp!='DND'){
    $DBclase="PDO".$codemp;
}else{
    $DBclase="PDOCONTROLLER";
}
$DBconex=new $DBclase;
$sqlquery="select * from ".$tabla." where ".$primarykey."= :primary ";
$queryedit="";
$paramedi=[];
$sw=0;
$values="";
$query="insert into ".$tabla."(";
// ESTO ES PARA CUANDO RECIBO FORMULARIO
print_r($_POST);
foreach ($_POST as $campo => $valor) {
    echo "Campo: $campo, Valor: $valor<br>";
    if($campo=="nommodulo" || $campo=="codempresa"){
  
    }else{
        if($campo==$primarykey){
            $primaryVlr=$valor;
        }
        if(strlen($queryedit)>0){
            $queryedit=$queryedit.",";

        }
        if(substr($campo,0,3)=='chk'){
            if($valor=='no'){
                $valor=0;
            }else{
                $valor=1;
            }
        }else{
            if($campo!=$primarykey){
                $paramedi[":".$campo]=$valor;
            }
        }

        if($sw!=0){
            $query=$query.",";
            $values=$values.",";
            $parametros[":".$campo]=$valor;
        }else{
            $parametros=array(":".$campo=>$valor);
        }

        if($campo!=$primarykey){
            $queryedit=$queryedit.$campo."= :".$campo;
        }
        $query=$query.$campo;
        $values=$values.":".$campo;
       
    }
    $sw=1;
    
}

$query=$query.") value(".$values.")";
echo $query;
if(strlen($queryedit)>0){
    $queryedit=" update ".$tabla." set ".$queryedit." where ".$primarykey."= :primary ";
    $parameter=array(":primary"=>$primaryVlr);
    //realizar consulta por si existe registro
    try{
        $datos=$DBconex->executeconsulta($sqlquery,$parameter);
        //header("Content-Type: application/json");
        //echo json_encode($datos);
         if(is_integer($datos)){
             echo "ocurrio un error";
             return;
        }else{
            if(isset($datos) && !empty($datos) && sizeof($datos)>0){
                $paramedi[":primary"]=$primaryVlr;
                try{
                    $datos=$DBconex->execute_update($queryedit,$paramedi);
                    //echo $datos;
                    //echo $queryedit; 
                    //print_r($paramedi);
                    if($datos>0){
                        echo "Registro ".$datos." actualiza satisfactoriamente"; 
                    }
                        
                }catch(Exception $ex){
                    echo $ex->getMessage();
               }
            }else{
                try{
                    $datos=$DBconex->execute_insert($query,$parametros);
                    echo $datos;
                    if($datos>0){
                        echo "Registro ".$datos." almacenado satisfactoriamente"; 
                    }
                }catch(Exception $ex){
                    echo $ex->getMessage();
                }
            }
        }

    }catch(Exception $ex){
         echo $ex->getMessage();
    }
    
}

return; 
print_r($parametros);
echo $query;

try{
    $datos=$DBconex->execute_insert($query,$parametros);
    if($datos>0){
        if($tipo=="TRS"){
            echo $tipo.$reporte.$datos.'&codemp='.$codemp.'&nommodulo='.$nommodulo;
        }else{
           echo "Registro ".$datos." almacenado satisfactoriamente"; 
        }
        
    }
 }catch(Exception $ex){
     echo $ex->getMessage();
 }

?>