public function Printable($value, $currency = false, $negative = false) { global $ari; $separador = trim($ari->locale->get('decimal', 'numbers')); if ($currency) { $moneda = $currency; } else { $moneda = currency_currency::getDefault(); } return $moneda->get('sign') . " " . ($negative ? '-' : '') . number_format(strval($value), 2, $separador, ""); }
public function Convert($currency_value, $currency, $previous_change = false) { $multiplicador = 0; //moneda predeterminada $default = currency_currency::getDefault(); if ($previous_change) { $last_change_from = $currency_value->get('currency')->get_quote($currency_value); $last_change_from_value = $last_change_from[0]['value']; $last_change_to = $currency->get_quote($currency_value); $last_change_to_value = $last_change_to[0]['value']; } else { $last_change_from = $currency_value->get('currency')->getLastChange(); $last_change_from_value = $last_change_from['value']; $last_change_to = $currency->getLastChange(); $last_change_to_value = $last_change_to['value']; } $default_is_from = $currency_value->get('currency')->id() == $default->id(); $defailt_is_to = $currency->id() == $default->id(); $valor = $currency_value->get('value'); $new_value = 0; //si la moneda desde es la predeterminada if ($default_is_from) { //si tengo que convertir a una moneda fija(1) if ($currency->get('type') == 1) { $new_value = $valor * $currency->get('value'); } else { $new_value = $valor * $last_change_to_value; } //end if } else { //NO PREDETERMINADA // //si tengo que convertir a una moneda fija(1) if ($currency_value->get('currency')->get('type') == 1) { if ($defailt_is_to) { $new_value = $valor / $currency_value->get('currency')->get('value'); } else { if ($currency->get('type') == 1) { $new_value = $valor / $currency_value->get('currency')->get('value') * $currency->get('value'); } else { $new_value = $valor / $currency_value->get('currency')->get('value') * $last_change_to_value; } //end if } //end if } else { if ($defailt_is_to) { $new_value = $valor / $last_change_from_value; } else { if ($currency->get('type') == 1) { $new_value = $valor / $last_change_from_value * $currency->get('value'); } else { $new_value = $valor / $last_change_from_value * $last_change_to_value; } //end if } //end if } //end if } //end if $new_currency_value = new currency_value(); $new_currency_value->set('value', $new_value); $new_currency_value->set('currency', $currency); return $new_currency_value; }