function jsaGetLog($txt)
{
    $xHT = new cHObject();
    $log_file = "grep error_log /etc/php.ini";
    $vars = file_get_contents(SYS_LOG_FILE);
    $vars = $xHT->Out($vars, OUT_HTML);
    return $vars;
}
function jsaPrevalidarCredito($socio, $solicitud, $numpagos, $periocidad, $convenio, $contrato, $fechaMin, $fechaVenc, $monto)
{
    $clave = md5($socio . $solicitud . ROTTER_KEY . date("Ymd"));
    $out = false;
    $msg = "";
    $ctrl = "";
    $xHO = new cHObject();
    $xBtn = new cHButton();
    $arrDatos = array("numero_de_solicitud" => $solicitud, "periocidad_de_pago" => $periocidad, "tipo_de_producto" => $convenio, "numero_de_pagos" => $numpagos, "contrato_corriente_relacionado" => $contrato, "fecha_de_ministracion" => $fechaMin, "fecha_de_vencimiento" => $fechaVenc);
    if ($socio == DEFAULT_SOCIO or $socio == 0) {
        $msg .= "ERROR\t{$socio}\tClave de Persona no Valido\r\n";
        $out = false;
    } else {
        if ($solicitud == DEFAULT_CREDITO or $solicitud == 0) {
            $msg .= "ERROR\t{$socio}\t{$solicitud}\tNumero de Credito no Valido\r\n";
            $out = false;
        } else {
            //Valorar Numero de Creditos por Socio
            $xSoc = new cSocio($socio);
            if ($xSoc->existe($socio) == false) {
                $msg .= "ERROR\t{$socio}\tEl Socio No Existe\r\n";
                $out = false;
            } else {
                $xSoc->init();
                $out = $xSoc->setPrevalidarCredito($arrDatos);
                $msg .= $xSoc->getMessages();
            }
        }
    }
    if ($out == true) {
        $msg .= "OK\tEL CREDITO HA SIDO VALIDADO POR EL SISTEMA - CUMPLE LOS REQUISITOS\r\n";
        $ctrl .= $xBtn->getBasic("TR.guardar credito", "jsFormularioValidado('{$clave}')", "guardar", "idvalidarok");
        $ctrl .= $xBtn->getBasic("TR.validar nuevamente", "jsPrevalidarCredito()", "checar", "idnuevavalidacion");
    } else {
        //$ctrl = "<input type=\"button\" name=\"cmdSubmit\" onclick=\"jsPrevalidarCredito();\" value=\"VALIDAR CREDITO NUEVAMENTE\" />";
        $ctrl .= $xBtn->getBasic("TR.validar nuevamente", "jsPrevalidarCredito()", "checar", "idnuevavalidacion");
    }
    $msg = $xHO->Out($msg, OUT_HTML);
    $svalidate = "{$msg} {$ctrl}";
    return $svalidate;
}
 function getMessages($put = OUT_TXT)
 {
     $xH = new cHObject();
     return $xH->Out($this->mMessages, $put);
 }
 /**
  * Obtiene un nombre limpio, para guardar como un archivo
  * @param $mNombreArchivo
  */
 function getNombreExportable($mNombreArchivo)
 {
     $xh = new cHObject();
     return $xh->getNombreExportable($mNombreArchivo);
 }
                                $msg .= "{$iReg}\t{$socio}\t{$credito}\tERROR\tLa Persona o el Credito NO EXISTE, Verifique su informacion\r\n";
                            }
                        } else {
                            $msg .= "{$iReg}\t{$socio}\t{$credito}\tERROR\tEl credito {$credito} de la persona {$socio} no se pudo leer\r\n";
                        }
                        if (!$socio or $socio == "") {
                            $td = "";
                            $msg .= "{$iReg}\t.\t.\tALERTA\tLa Linea({$iReg}) no se Imprimio ({$bufer})\r\n";
                        } else {
                            echo $td;
                            $iReg++;
                        }
                    }
                    fclose($gestor);
                    echo "\n\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t<th />\n\t\t\t\t\t\t\t\t\t<th colspan='3'>SUMAS</th>\n\t\t\t\t\t\t\t\t\t<th />\n\t\t\t\t\t\t\t\t\t<th class='mny'>" . getFMoney($SCapital) . "</th>\n\t\t\t\t\t\t\t\t\t<th class='mny'>" . getFMoney($SInteres) . "</th>\n\t\t\t\t\t\t\t\t\t<th class='mny'>" . getFMoney($SIva) . "</th>\n\t\t\t\t\t\t\t\t\t<th class='mny'>" . getFMoney($SAhorro) . "</th>\n\t\t\t\t\t\t\t\t\t<th class='mny'>" . getFMoney($STotal) . "</th>\n\t\t\t\t\t\t\t\t\t<th />\n\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t<th />\n\t\t\t\t\t\t\t\t\t<th colspan='8'>" . convertirletras($STotal) . "</th>\n\t\t\t\t\t\t\t\t\t<th>Diferencias</th>\n\t\t\t\t\t\t\t\t\t<th class='warn'>" . getFMoney($diferencias) . "</th>\n\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t<th />\n\t\t\t\t\t\t\t\t\t<th colspan='2'>Numero de Cheque</th>\n\t\t\t\t\t\t\t\t\t<th><input type=\"text\" id=\"cCheque\" value=\"\" size='8' /></th>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t<th colspan='2'>Observaciones</th>\n\t\t\t\t\t\t\t\t\t<th colspan='3'><input type=\"text\" id=\"cObservaciones\" value=\"\" size='35' /></th>\n\t\t\t\t\t\t\t\t\t<th id=\"idThGo\"><input type=\"button\" value=\"Enviar Pago\" onclick=\"addNewMvto()\" id=\"idButtonGo\" /></th>\n\t\t\t\t\t\t\t\t\t<th />\n\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t</tbody>\n\n\t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"maxCounts\" value=\"{$iReg}\" />";
                    $html = new cHObject();
                    $hmsg = $html->Out($msg, "html");
                    echo "<p class ='aviso'>{$hmsg}</p>";
                    //echo $msg;
                }
                $xLog = new cFileLog("recibo_masivo_num_" . $_SESSION["recibo_en_proceso"]);
                $xLog->setWrite($msg);
            } else {
                echo "<p class='aviso'>EL TIPO DE ARCHIVO DE " . $usrFiles[$i]['name'] . "(" . $mExt . ") NO SE ACEPTA</p>";
            }
        }
    }
}
if (!isset($iReg)) {
    $iReg = 0;
}
}
if (isset($tipo_cuenta) and $tipo_cuenta != "todas") {
    $ByTipoCuenta = " AND\n\t(`captacion_cuentas`.`tipo_cuenta` = {$tipo_cuenta})";
}
if (isset($producto) and $producto != "todas") {
    $ByProducto = " AND\n\t(`captacion_cuentas`.`tipo_subproducto` = {$producto}) ";
}
$input = $_GET["out"];
if (!$input) {
    $input = "default";
}
$setSql = " SELECT\n\t`socios_general`.`codigo`,\n\tCONCAT( \n\t`socios_general`.`apellidopaterno`, ' ',\n\t`socios_general`.`apellidomaterno`, ' ' ,\n\t`socios_general`.`nombrecompleto`) AS 'nombre',\n\t`captacion_cuentas`.`numero_cuenta`,\n\t`captacion_cuentas`.`saldo_cuenta`,\n\t`operaciones_mvtos`.`tipo_operacion`,\n\t`operaciones_tipos`.`descripcion_operacion` AS 'tipo_de_operacion',\n\tSUM(`operaciones_mvtos`.`afectacion_real`)AS 'monto'\n\nFROM\n\t`captacion_cuentas` `captacion_cuentas` \n\t\tINNER JOIN `operaciones_mvtos` `operaciones_mvtos` \n\t\tON `captacion_cuentas`.`numero_cuenta` = `operaciones_mvtos`.\n\t\t`docto_afectado` \n\t\t\tINNER JOIN `operaciones_tipos` `operaciones_tipos` \n\t\t\tON `operaciones_tipos`.`idoperaciones_tipos` = `operaciones_mvtos`.\n\t\t\t`tipo_operacion` \n\t\t\t\tINNER JOIN `socios_general` `socios_general` \n\t\t\t\tON `captacion_cuentas`.`numero_socio` = `socios_general`.\n\t\t\t\t`codigo` \nWHERE\n\t(`operaciones_mvtos`.`fecha_afectacion` >='{$fecha_inicial}') \n\tAND\n\t(`operaciones_mvtos`.`fecha_afectacion` <='{$fecha_final}')\n\t{$ByProducto}\n\t{$ByTipoCuenta}\n\t{$ByTipoMvto}\nGROUP BY\n\t`operaciones_mvtos`.`tipo_operacion`,\n\t`operaciones_mvtos`.`docto_afectado` \nORDER BY\n\t`operaciones_mvtos`.`tipo_operacion`,\n\t`captacion_cuentas`.`numero_socio`, \n\t`captacion_cuentas`.`numero_cuenta`";
//			*/
if ($input != OUT_EXCEL) {
    $oRpt = new PHPReportMaker();
    $oRpt->setDatabase(MY_DB_IN);
    $oRpt->setUser(RPT_USR_DB);
    $oRpt->setPassword(RPT_PWD_DB);
    $oRpt->setSQL($setSql);
    $oRpt->setXML("../repository/report91.xml");
    $oOut = $oRpt->createOutputPlugin($input);
    $oRpt->setOutputPlugin($oOut);
    $oRpt->run();
} else {
    $xOb = new cHObject();
    $xOb->setExcelType($sucursal . "-movimientos-de-captacion-{$producto}-{$operacion}-");
    //
    $cTbl = new cTabla($setSql);
    $cTbl->setWidth();
    $cTbl->Show("", false);
}
    $xFL->setWrite($msg);
    $xFL->setClose();
    if ($procesado != SYS_AUTOMATICO) {
        $xFRM->addToolbar($xFL->getLinkDownload("TR.Archivo de sucesos", ""));
    }
}
if ($procesado != SYS_AUTOMATICO) {
    $xFRM->addHElem($oRec->getFicha(true));
    $total_letras = convertirletras($total_recibo);
    $xBtn = new cHButton("");
    $xFRM->addToolbar($xBtn->getRegresar("./frmcobrosdecreditos.php", true));
    $xFRM->addToolbar($xBtn->getBasic("TR.Imprimir Recibo", "printrec()", "imprimir", "cmdPrint", false));
    $xFRM->addHTML("<table><tbody>{$tds}</tbody><tfoot><tr><th></th><th>TOTAL</th><th class='mny'>" . getFMoney($total_recibo) . "</th></tr><tr><th colspan=\"3\" class='warn'>{$total_letras}</th></tr></tfoot></table>");
    echo $xFRM->get();
    echo $oRec->getJsPrint(true);
    ?>
</body>
<script>
var Wo	= new Gen();
function jsCloseRecibo(){ window.close(); }
function getEdoCtaCredito(){ Wo.w({url: "../rpt_edos_cuenta/rptestadocuentacredito.php?pb=" + mCredito}); }
</script>
</html>
<?php 
} else {
    $xho = new cHObject();
    header("Content-type: text/xml");
    //PRINT XML
    $msg = $xho->Out($msg, OUT_TXT);
    echo "<?xml version =\"1.0\" ?>\n<resultados>{$msg}</resultados>";
}