예제 #1
0
// dynamic content
$language = $ari->get('agent')->getLang();
//var_dump($params);exit;
//validar parametros del bloque
$currency_selected = false;
if (isset($params['currencyID']) && OOB_validatetext::isNumeric($params['currencyID']) && $params['currencyID'] > 0) {
    $currency_selected = $params['currencyID'];
}
$value = '';
if (isset($params['value']) && OOB_validatetext::isNumeric($params['value'])) {
    $value = $params['value'];
}
$prefix = 'currency';
if (isset($params['prefix'])) {
    $prefix = $params['prefix'];
}
if ($currencies = currency_currency::listCurrenciesForLanguage(USED, 'name', $operator = OPERATOR_EQUAL, $language)) {
    $i = 0;
    foreach ($currencies as $c) {
        $array_currencies[$c->get('id')] = $c->get('name') . " (" . $c->get('sign') . ")";
        if ($currency_selected === false && $c->get('default') == YES) {
            $currency_selected = $c->get('id');
        }
        $i++;
    }
}
$plantilla_bl->assign("options", $array_currencies);
$plantilla_bl->assign("prefix", $prefix);
$plantilla_bl->assign("value", $value);
$plantilla_bl->assign("currency_selected", $currency_selected);
$plantilla_bl->display($modulo->admintpldir() . "/bl_selector.tpl");
    $news_values = json_decode($_POST['NewsValuesData'], true);
    foreach ($news_values['items'] as $item) {
        $currency = new currency_currency($item['id']);
        if ($currency->get("type") == 2) {
            $date = new Date(date('Y-m-d', strtotime($news_values['fecha'])) . " " . date('H:i:s'));
            $separador = trim($ari->locale->get('decimal', 'numbers'));
            $currency->addChange(number_format(1 / $item['value'], 6, $separador, ""), $date);
        }
    }
}
//SE OBTIENE EL LISTADO DE CAMBIOS DE MONEDAS
$i = 0;
$return = array();
//para que no muestre las monedas de cambio fijo
$where = ' AND type = 2';
if ($currencies = currency_currency::listCurrenciesForLanguage(USED, 'name', OPERATOR_EQUAL, $language, $where)) {
    foreach ($currencies as $c) {
        $return[$i]['id'] = $c->get('id');
        $return[$i]['currency'] = $c->get('name') . " (" . $c->get('sign') . ")";
        if ($lastValue = $c->getLastChange()) {
            $return[$i]['value'] = round(1 / $lastValue['value'], 2);
            $return[$i]['date'] = $lastValue['date'];
        }
        $i++;
    }
}
$result = array();
$result["totalCount"] = $i;
$result["topics"] = $return;
//RESULTADO
$obj_comunication = new OOB_ext_comunication();
예제 #3
0
 /** Retorna un array con las monedas y los valores de cambio, 
  *  segun la moneda actual y el valor pasado. 
  *	Estructura del array de retorno:
  *	$return[]["currency"] = oCurrency;
  *	$return[]["valueDesde"] = nDesde	
  *	$return[]["valueHasta"] = nHasta	
  */
 public function arrayVariations($valueDesde = false, $valueHasta = false)
 {
     global $ari;
     $return = false;
     if (!$valueDesde && !$valueHasta) {
         return $return;
     }
     //var_dump($valueDesde);
     //var_dump($valueHasta);exit;
     //traducir valor hacia la moneda predeterminada
     if ($this->default) {
         if ($valueDesde) {
             $patternDesde = $valueDesde;
         }
         if ($valueHasta) {
             $patternHasta = $valueHasta;
         }
     } else {
         if ($change = $this->getLastChange()) {
             $change = $change["value"];
         } else {
             $change = 1;
         }
         //var_dump($change);exit;
         if ($valueDesde) {
             $patternDesde = $valueDesde * $change;
         }
         if ($valueHasta) {
             $patternHasta = $valueHasta * $change;
         }
     }
     //recorrer todas las monedas
     $language = $ari->get('agent')->getLang();
     if ($currencies = currency_currency::listCurrenciesForLanguage(USED, 'name', OPERATOR_EQUAL, $language)) {
         $i = 0;
         foreach ($currencies as $c) {
             if ($c->default) {
                 $change = 1;
             } else {
                 if ($change = $c->getLastChange()) {
                     $change = $change["value"];
                 } else {
                     $change = 1;
                 }
             }
             //var_dump($change);echo "<br /><br />";
             $return[$i]["currency"] = $c;
             if ($valueDesde) {
                 $return[$i]["valueDesde"] = $patternDesde / $change;
             }
             if ($valueHasta) {
                 $return[$i]["valueHasta"] = $patternHasta / $change;
             }
             $i++;
         }
     }
     //var_dump($return);
     //exit;
     return $return;
 }