* Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2015 Jean-François Ferry * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ /** * \file cfdimx/cfdimxindex.php * \ingroup cfdimx * \brief Home page of cfdimx top menu */ // Load Dolibarr environment $res = 0; // Try main.inc.php into web root known defined into CONTEXT_DOCUMENT_ROOT (not always defined) if (!$res && !empty($_SERVER["CONTEXT_DOCUMENT_ROOT"])) { $res = @include $_SERVER["CONTEXT_DOCUMENT_ROOT"]."/main.inc.php"; } // Try main.inc.php into web root detected using web root calculated from SCRIPT_FILENAME $tmp = empty($_SERVER['SCRIPT_FILENAME']) ? '' : $_SERVER['SCRIPT_FILENAME']; $tmp2 = realpath(__FILE__); $i = strlen($tmp) - 1; $j = strlen($tmp2) - 1; while ($i > 0 && $j > 0 && isset($tmp[$i]) && isset($tmp2[$j]) && $tmp[$i] == $tmp2[$j]) { $i--; $j--; } if (!$res && $i > 0 && file_exists(substr($tmp, 0, ($i + 1))."/main.inc.php")) { $res = @include substr($tmp, 0, ($i + 1))."/main.inc.php"; } if (!$res && $i > 0 && file_exists(dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php")) { $res = @include dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php"; } // Try main.inc.php using relative path if (!$res && file_exists("../main.inc.php")) { $res = @include "../main.inc.php"; } if (!$res && file_exists("../../main.inc.php")) { $res = @include "../../main.inc.php"; } if (!$res && file_exists("../../../main.inc.php")) { $res = @include "../../../main.inc.php"; } if (!$res) { die("Include of main fails"); } require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php'; require_once DOL_DOCUMENT_ROOT."/core/lib/company.lib.php"; dol_include_once('/cfdimx/class/societe.class.php'); // Load translation files required by the page $langs->loadLangs(array("cfdimx@cfdimx", "main", "admin")); $action = GETPOST('action', 'aZ09'); /* * Actions */ if($action == "guardar"){ $sql = "SELECT * FROM ".MAIN_DB_PREFIX."cfdimx_emisor_datacomp"; $sql .= " WHERE emisor_rfc = '".GETPOST('rfc')."'"; $sql .= " AND entity_id = ".$conf->entity; $resql = $db->query($sql); if($resql){ $num = $db->num_rows($resql); $i = 0; $cod_mun = (GETPOST('codmuni') != "") ? GETPOST('codmuni') : ""; $cod_col = (GETPOST('codcol') != "") ? GETPOST('codcol') : ""; $razon_social = (GETPOST('razon_social') != "") ? GETPOST('razon_social') : $conf->global->MAIN_INFO_SOCIETE_NOM; $regimen_sel = (GETPOST('regimen_fiscal') != "") ? GETPOST('regimen_fiscal') : 0; $rfc = GETPOST('rfc'); $cp = GETPOST('cp'); $estado_info = getState(GETPOST('estado'), 'all'); $valor_estado = $estado_info["id"].":".$estado_info["code"].":".$estado_info["label"]; $pais_info = getCountry(GETPOST('pais'), 'all'); $valor_pais = $pais_info["id"].":".$pais_info["code"].":".$pais_info["label"]; $direccion = GETPOST('direccion'); $emisor_delompio = GETPOST('delmpio'); $emisor_colonia = GETPOST('colonia'); $emisor_calle = GETPOST('calle'); $emisor_noext = GETPOST('noext'); $emisor_noint = GETPOST('noint'); dolibarr_set_const($db, "MAIN_INFO_SOCIETE_STATE", $valor_estado, 'chaine', 0, '', $conf->entity); dolibarr_set_const($db, "MAIN_INFO_SOCIETE_COUNTRY", $valor_pais, 'chaine', 0, '', $conf->entity); dolibarr_set_const($db, "CFDIMX_HUSO_HORARIO", GETPOST('huso_horario'), 'chaine', 0, '', $conf->entity); dolibarr_set_const($db, "CFDIMX_RAZON_SOCIAL", $razon_social, 'chaine', 0, '', $conf->entity); dolibarr_set_const($db, "MAIN_INFO_SOCIETE_NOM", $razon_social, 'chaine', 0, '', $conf->entity); dolibarr_set_const($db, "CFDIMX_REGIMEN_FISCAL", $regimen_sel, 'chaine', 0, '', $conf->entity); dolibarr_set_const($db, "MAIN_INFO_SIREN", $rfc, 'chaine', 0, '', $conf->entity); dolibarr_set_const($db, "MAIN_INFO_SOCIETE_ZIP", $cp, 'chaine', 0, '', $conf->entity); dolibarr_set_const($db, "MAIN_INFO_SOCIETE_ADDRESS", $direccion, 'chaine', 0, '', $conf->entity); dolibarr_set_const($db, "MAIN_MONNAIE", GETPOST("currency", 'aZ09'), 'chaine', 0, '', $conf->entity); dolibarr_set_const($db, "MAIN_INFO_SOCIETE_MAIL", GETPOST("email", 'alphanohtml'), 'chaine', 0, '', $conf->entity); dolibarr_set_const($db, "MAIN_INFO_SOCIETE_TOWN", $emisor_delompio, 'chaine', 0, '', $conf->entity); // Ajuste Logo $archivo_logo = $_FILES['logo']['name']; $source_logo = $_FILES['logo']['tmp_name']; if($archivo_logo != "" && $source_logo != ""){ dolibarr_set_const($db, "MAIN_INFO_SOCIETE_LOGO", $archivo_logo, 'chaine', 0, '', $conf->entity); $dir_subida_logo = $conf->mycompany->dir_output.'/logos/'.basename($archivo_logo); if (move_uploaded_file($source_logo, $dir_subida_logo)) { } else { echo 'Error al cargar el logo
'; } } if($num > 0){ $sql = "UPDATE ".MAIN_DB_PREFIX."cfdimx_emisor_datacomp"; $sql .= " SET"; $sql .= " cod_municipio = '".$cod_mun."',"; $sql .= " cod_colonia = '".$cod_col."',"; $sql .= " emisor_delompio = '".$emisor_delompio."',"; $sql .= " emisor_colonia = '".$emisor_colonia."',"; $sql .= " emisor_calle = '".$emisor_calle."',"; $sql .= " emisor_noext = '".$emisor_noext."',"; $sql .= " emisor_noint = '".$emisor_noint."',"; $sql .= " razon_social = '".$razon_social."',"; $sql .= " regimen = '".$regimen_sel."'"; $sql .= " WHERE"; $sql .= " emisor_rfc = '".$rfc."'"; $sql .= " AND entity_id = '".$conf->entity."'"; $resql = $db->query($sql); if($resql){ setEventMessage("Se actualizaron correctamente los Datos Fiscales y del Domicilio del Emisor.", 'mesgs'); }else{ setEventMessage("Error: No se pudo actualizar correctamente los Datos Fiscales y del Domicilio.".$sql, 'errors'); } }else{ $sql = "INSERT INTO ".MAIN_DB_PREFIX."cfdimx_emisor_datacomp"; $sql .= "(emisor_rfc,razon_social,regimen,pais,estado,codigo_postal,emisor_delompio, emisor_colonia,emisor_calle,emisor_noext,emisor_noint,entity_id,"; $sql .= "cod_municipio,cod_colonia,password_timbrado,password_timbrado_txt,formato_cfdi,modo_timbrado,config_seriefolio,status_conf,predeterminado)"; $sql .= " VALUES"; $sql .= "("; $sql .= "'".$conf->global->MAIN_INFO_SIREN."',"; $sql .= "'".$razon_social."',"; $sql .= "'".$regimen_sel."',"; $sql .= "'".$valor_pais."',"; $sql .= "'".$valor_estado."',"; $sql .= "'".$cp."',"; $sql .= "'".$emisor_delompio."',"; $sql .= "'".$emisor_colonia."',"; $sql .= "'".$emisor_calle."',"; $sql .= "'".$emisor_noext."',"; $sql .= "'".$emisor_noint."',"; $sql .= "'".$conf->entity."',"; $sql .= "'".$cod_mun."',"; $sql .= "'".$cod_col."',"; $sql .= "'',"; $sql .= "'',"; $sql .= "'standard',"; $sql .= "'1',"; $sql .= "'1',"; $sql .= "'1',"; $sql .= "'1'"; $sql.= ')'; $resql = $db->query($sql); if($resql){ setEventMessage("Se agrego correctamente los Datos Fiscales y del Domicilio del Emisor.", 'mesgs'); }else{ setEventMessage("Error: No se pudo actualizar correctamente los Datos Fiscales y del Domicilio.".$sql, 'errors'); } } } } /* * View */ $form = new Form($db); $formfile = new FormFile($db); $formcompany = new FormCompany($db); $societe_static = new SocieteCFDIMX($db); $help_url = ''; $arrayofjs = array('/cfdimx/js/cfdimx.js.php'); llxHeader("", $langs->trans("Datos Fiscales"), $help_url, '', 0, 0, $arrayofjs); print load_fiche_titre($langs->trans("Datos Fiscales"), '', 'fa-file-text'); // Datos iniciales $rfc = $conf->global->MAIN_INFO_SIREN; $regimen = $conf->global->CFDIMX_REGIMEN_FISCAL; $huso_horario = $conf->global->CFDIMX_HUSO_HORARIO; $cp = $conf->global->MAIN_INFO_SOCIETE_ZIP; $razon_social = $conf->global->CFDIMX_RAZON_SOCIAL; $separa_estado = ($conf->global->MAIN_INFO_SOCIETE_STATE != "" ? explode(':', $conf->global->MAIN_INFO_SOCIETE_STATE) : ''); $direccion = ($conf->global->MAIN_INFO_SOCIETE_ADDRESS != "" ? $conf->global->MAIN_INFO_SOCIETE_ADDRESS : ''); $email = (!empty($conf->global->MAIN_INFO_SOCIETE_MAIL) && $conf->global->MAIN_INFO_SOCIETE_MAIL != "" ? $conf->global->MAIN_INFO_SOCIETE_MAIL : ''); $delompio = ''; $colonia = ''; $calle = ''; $noext = ''; $noint = ''; $cod_municipio = ''; $cod_colonia = ''; $sql = "SELECT * FROM ".MAIN_DB_PREFIX."cfdimx_emisor_datacomp"; $sql .= " WHERE"; $sql .= " emisor_rfc = '".$rfc."'"; $sql .= " AND entity_id = ".$conf->entity; $resql = $db->query($sql); if($resql){ $num = $db->num_rows($resql); $i = 0; while($i < $num){ $obj = $db->fetch_object($resql); $delompio = $obj->emisor_delompio; $colonia = $obj->emisor_colonia; $calle = $obj->emisor_calle; $noext = $obj->emisor_noext; $noint = $obj->emisor_noint; $cod_municipio = $obj->cod_municipio; $cod_colonia = $obj->cod_colonia; $razon_social = $obj->razon_social; $i++; } } print '
'; if((int)DOL_VERSION > 15){ print ''; } print ''; print '
'; print '
'; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print '
'; print ''; print 'Datos Generales'; print '
R.F.C.'; print ''; print '
Razón Social'; print ''; print '
Régimen Fiscal'; print $form->selectarray('regimen_fiscal', $societe_static->getInfoCatalogos(2), $regimen, 'Selecciona Régimen Fiscal', 0, 0, '', 0, 0, 0, '', 'maxwidth400'); print '
Dirección'; print ''; print '
Logo'; print '
'; print '
'; print ''; print '
'; if ($conf->global->MAIN_INFO_SOCIETE_LOGO) { print '
'; $src = DOL_URL_ROOT.'/viewimage.php?modulepart=mycompany&file='.urlencode('logos/'.$mysoc->logo); print ''; print '
'; } print '
'; print '
Correo'; print img_picto('', 'object_email', '', false, 0, 0, '', 'pictofixedwidth'); print ''; print '
Huso Horario'; print $form->selectarray('huso_horario', $societe_static->getInfoCatalogos(3), $huso_horario, 'Selecciona Huso Horario', 0, 0, '', 0, 0, 0, '', 'maxwidth400'); print '
'; print '
'; print '
'; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print '
'; print ''; print 'Datos Domicilio'; print '
'.$langs->trans("CompanyCurrency").''; print img_picto('', 'multicurrency', 'class="pictofixedwidth"'); print $form->selectCurrency($conf->currency, "currency"); print '
País'; print img_picto('', 'country', 'class="pictofixedwidth"'); print $formcompany->select_country('MX', 'pais', '', 0, 0, '', ''); print '
Estado'; print img_picto('', 'state', 'class="pictofixedwidth"'); print $formcompany->select_state($separa_estado[0], 154, 'estado'); print '
Código Postal'; print ''; print '
Delegación/Municipio'; print ''; print '
Códgio Municipio'; print ''; print '
Colonia'; print ''; print '
Código Colonia'; print ''; print '
Calle'; print ''; print '
No. Exterior'; print ''; print '
No. Interior'; print ''; print '
'; print '
'; print '
'; print '
'; print '
'; print '
'; print 'Diccionarios'; print 'Configuración Web Services'; print ''; print '
'; print '
'; // End of page llxFooter(); $db->close();