/**
  * Modifica el periodo de Credito Actual
  * @param integer $nuevo_periodo
  */
 function setCambiar($nuevo_periodo)
 {
     $xC = new cConfiguration();
     $msg = "";
     $xC->set("periodo_de_solicitudes_anterior", EACP_PER_SOLICITUDES);
     $xC->set("periodo_de_solicitudes_actual", $nuevo_periodo);
     if ($nuevo_periodo != $xC->get("periodo_de_solicitudes_actual")) {
         $msg .= "ERROR\tLa actualizacion del periodo ha Fallado\r\n";
     } else {
         $msg .= "SUCESS\tLa actualizacion del periodo({$nuevo_periodo}) ha sido un exito!!\r\n";
     }
     return $msg;
 }
define("PATH_XSD", PATH_HTDOCS . "/mfi/xsd/");
define("PATH_CERTS", PATH_HTDOCS . "/mfi/certs/");
//Define un Mensaje en STRING para contestar algunas consultas
define("MSG_NO_PARAM_VALID", "_NO_HAY_PARAMETROS_VALIDOS_");
define("MSG_NO_DATA", "MSG_NO_DATA");
define("MSG_ERROR_SAVE", "MSG_ERROR_SAVE");
define("MSG_READY_SAVE", "MSG_OK_SAVE");
define("MSG_CONFIRM_SAVE", "MSG_CONFIRM_SAVE");
define("MSG_UPDATE_PLAN_PAGOS", "MSG_UPDATE_PLAN_PAGOS");
//======================================= CONFIGURACION CSS
//Define el CCS General
define("CSS_GENERAL_FILE", "../css/general.css");
//Define el CCS de reportes
define("CSS_REPORT_FILE", "../css/reporte.css");
//======================================= DATOS DEL ADMIN
define("ADMIN_MAIL", $xC->get("email_del_administrador", "", MMOD_SISTEMA));
define("ADMIN_MAIL_SMTP_SERVER", $xC->get("servidor_smtp_para_notificaciones", "smtp.gmail.com", MMOD_SISTEMA));
define("ADMIN_MAIL_SMTP_PORT", (int) $xC->get("puerto_smtp_para_notificaciones", "587", MMOD_SISTEMA));
define("ADMIN_MAIL_SMTP_TLS", $xC->get("smtp_seguro_para_notificaciones", "tls", MMOD_SISTEMA));
define("NOMINA_MAIL", $xC->get("email_de_nominas", "*****@*****.**", MMOD_SISTEMA));
define("EACP_MAIL", $xC->get("email_de_la_entidad", "", MMOD_SISTEMA));
define("ARCHIVO_MAIL", $xC->get("email_del_archivo", ADMIN_MAIL, MMOD_SISTEMA));
define("TASK_USR", $xC->get("usuario_de_trabajos_automaticos", "", MMOD_SISTEMA));
define("ADMIN_MAIL_PWD", $xC->get("password_del_email_del_administrador", "", MMOD_SISTEMA));
define("TASK_PWD", $xC->get("contrasenna_de_trabajos_automaticos", "", MMOD_SISTEMA));
define("SMS_PWD", $xC->get("contrasenna_de_sms_automaticos", "", MMOD_SISTEMA));
define("SMS_USR", $xC->get("usuario_de_sms_automaticos", "", MMOD_SISTEMA));
define("SAFE_DB_VERSION", $xC->get("safe_osms_database_version", "1", MMOD_SISTEMA));
define("SYSTEM_ON_HOSTING", (bool) $xC->get("sistema_en_hosting", "false", MMOD_SISTEMA));
define("SYSTEM_ON_LINE", (bool) $xC->get("el_sistema_esta_en_linea", "true", MMOD_SISTEMA));
define("SVC_REMOTE_HOST", $xC->get("url_de_servicios_remotos", "https://sdn.sipakal.com/", MMOD_SISTEMA));
<?php

include_once "core.config.inc.php";
include_once "core.error.inc.php";
include_once "core.init.inc.php";
include_once "core.db.inc.php";
$xC = new cConfiguration();
//========================================= DATOS DEL SISTEMA ===========================================
define("SYS_FECHA_DE_MIGRACION", $xC->get("fecha_de_migracion_al_sistema", "2012-01-01", $xC->SISTEMA));
//========================================= DATOS GENERALES DE LA ENTIDAD ===========================================
define("EACP_ID_DE_PERSONA", $xC->get("clave_de_persona_en_sistema", 10000, $xC->ENTIDAD));
define("EACP_NAME", $xC->get("nombre_de_la_entidad", "", $xC->ENTIDAD));
define("EACP_DESCRIPTION", $xC->get("descripcion_de_la_entidad", "", $xC->ENTIDAD));
define("EACP_PATH_LOGO", vIMG_PATH . "/logo.png");
//========================================= DATOS LEGALES DE LA ENTIDAD ===========================================
define("EACP_CLAVE", $xC->get("registro_ante_la_cnbv", "", $xC->ENTIDAD_LEGAL));
define("EACP_CLAVE_CASFIN", $xC->get("registro_casfin", "", $xC->ENTIDAD_LEGAL));
define("EACP_RFC", $xC->get("rfc_de_la_entidad", "", $xC->ENTIDAD_LEGAL));
define("EACP_REGISTRO_PATRONAL", $xC->get("registro_patronal_imss", "", $xC->ENTIDAD_LEGAL));
define("EACP_FECHA_DE_CONSTITUCION", $xC->get("fecha_de_constitucion", date("Y-m-d"), $xC->ENTIDAD_LEGAL));
define("ENTIDAD_CLAVE_SIC", $xC->get("entidad_clave_en_el_sic", "SinRegistro", $xC->ENTIDAD_LEGAL));
//Abril-2012 ;
define("ENTIDAD_NOMBRE_SIC", $xC->get("entidad_corto_en_el_sic", "FINANCIERA", $xC->ENTIDAD_LEGAL));
//Abril-2012 ;
define("EACP_DOCTO_CONSTITUCION", $xC->get("descripcion_del_documento_constitutivo", "", $xC->ENTIDAD_LEGAL));
define("EACP_REP_LEGAL", $xC->get("nombre_del_representante_legal", "", $xC->ENTIDAD_LEGAL));
define("EACP_RFC_REP_LEGAL", $xC->get("rfc_del_representante_legal", "", $xC->ENTIDAD_LEGAL));
define("EACP_CURP_REP_LEGAL", $xC->get("curp_del_representante_legal", "", $xC->ENTIDAD_LEGAL));
define("EACP_REGIMEN_FISCAL", $xC->get("regimen_fiscal_de_la_entidad", "REGIMEN GENERAL DE LEY PERSONAS MORALES", $xC->ENTIDAD_LEGAL));
define("EACP_DOCTO_REP_LEGAL", $xC->get("descripcion_del_documento_de_asignacion_del_representante", "", $xC->ENTIDAD_LEGAL));
define("EACP_PDTE_VIGILANCIA", $xC->get("nombre_del_presidente_del_consejo_de_vigilancia", "", $xC->ENTIDAD_LEGAL));
 function patch($force = false, $version_inicial = false, $soloIdioma = false)
 {
     $ql = new MQL();
     $xConf = new cConfiguration();
     $localver = $xConf->get("safe_osms_database_version");
     //Actualiza la configuracion
     //if($force == true){			$xConf->set("safe_osms_database_version", $version);		}
     if (FORCE_UPDATES_ON_BOOT == true or $force == true) {
         //Ejecutar Vistas y Functions
         if ($soloIdioma == false) {
             $this->setAplicarScripts();
         }
         $current = $version_inicial === false ? intval(SAFE_DB_VERSION) : $version_inicial;
         //201406.01
         $dbversion = intval(SAFE_VERSION . SAFE_REVISION);
         $sqlMenu = "INSERT INTO `general_menu` (`idgeneral_menu`, `menu_parent`, `menu_title`, `menu_file`, `menu_type`, `menu_order`) VALUES ";
         $lang = array();
         $sql = array();
         $xSrv = new MQLService("", "");
         $ulang = $xSrv->getRequest(URL_UPDATES . "install/updates/lang.php");
         $lang = json_decode($ulang, true);
         $ulang2 = $xSrv->getRequest(URL_UPDATES . "install/updates/lang2.php");
         $lang2 = json_decode($ulang2, true);
         $usql = $xSrv->getRequest(URL_UPDATES . "install/updates/sql.php?version={$localver}");
         $sql = json_decode($usql, true);
         //setLog(URL_UPDATES . "install/updates/sql.php?version=$dbversion");
         $this->mMessages .= "URL\t" . URL_UPDATES . "install/updates/sql.php?version={$localver}" . "\r\n";
         $upt = false;
         if (is_array($lang)) {
             foreach ($lang as $version => $patchs) {
                 if ($current <= intval($version)) {
                     foreach ($patchs as $idx => $content) {
                         $palabra = $content[0];
                         $traduccion = $content[1];
                         $language = $content[2];
                         $this->addLang($palabra, $traduccion, $language);
                     }
                     $upt = true;
                 }
             }
         }
         if (is_array($lang2)) {
             foreach ($lang2 as $version2 => $patchs2) {
                 if ($current <= intval($version2)) {
                     foreach ($patchs2 as $idx2 => $content2) {
                         $palabra = $content2[0];
                         $spanish = $content2[1];
                         $english = $content2[2];
                         $this->addLang($palabra, $spanish, "es");
                         $this->addLang($palabra, $english, "en");
                     }
                     $upt = true;
                 }
             }
         }
         if ($soloIdioma == false) {
             foreach ($sql as $version => $patchs) {
                 if ($current <= intval($version)) {
                     $this->mMessages .= "WARN\t===========PATCH {$version}\r\n";
                     foreach ($patchs as $idx => $content) {
                         $ql->setRawQuery($content);
                         $content = preg_replace('!\\s+!', ' ', $content);
                         $this->mMessages .= "{$idx}\t===={$content}====\r\n";
                         $upt = true;
                         //syslog(E_ERROR, $content);
                     }
                 } else {
                     $this->mMessages .= "WARN\tDescartado por ser {$version} de {$current}\r\n";
                 }
             }
             //Obtener el codigo y parcharlo
             //URL_UPDATES
             //Convierte la DB a UTF8
             //ALTER TABLE `operaciones_recibos` CHANGE COLUMN `clave_de_moneda` `clave_de_moneda` VARCHAR(6) NULL DEFAULT 'MXN', ADD COLUMN `archivo_fisico` VARCHAR(200) NULL COMMENT 'Archivo fisico del recibo, almacenado en server ftp' AFTER `origen_aml`
             $codif = $ql->getDataRecord("SHOW TABLES IN " . MY_DB_IN);
             foreach ($codif as $rows) {
                 $table = $rows["Tables_in_" . MY_DB_IN];
                 $trs = "ALTER TABLE `{$table}` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci";
                 //$ql->setRawQuery($trs);
             }
             $ql->setRawQuery("ALTER SCHEMA `" . MY_DB_IN . "`  DEFAULT CHARACTER SET utf8  DEFAULT COLLATE utf8_general_ci");
         }
         //Actualizar vistas y functions
         if ($soloIdioma == false) {
             if ($this->setAplicarScripts() == false) {
                 $this->mMessages .= "ERROR\tAl Aplicar Vistas y funciones...\r\n";
             } else {
                 $this->mMessages .= "OK\tSe aplicaron Vistas y funciones...\r\n";
             }
         }
         //ejecutar Mensajes
         $this->mMessages .= $ql->getMessages(OUT_TXT);
         if ($upt == true) {
             /*Actualiza la configuracion*/
             $xConf->set("safe_osms_database_version", $dbversion);
         }
     } else {
         $this->mMessages .= "WARN\tSistema no Actualizado\r\n";
     }
     return $this->mMessages;
 }