Example #1
0
function update_currency()
{
    echomsg("Start Updating Currency Conversion Rates");
    try {
        $curr_list = file_get_contents("http://openexchangerates.org/api/latest.json?app_id=c8cbe15270254f4686d6b3f3a7a2af89");
        $curr = Tools::jsonDecode($curr_list);
        if (strtoupper((string) $curr->base) === 'USD') {
            $update_clause = array();
            $rates = $curr->rates;
            $currencies = CurrencyCore::getCurrencies(false, 0);
            foreach ($currencies as $currency) {
                $iso_code = $currency['iso_code'];
                $this_rate = number_format((double) $rates->{$iso_code}, 2, '.', '');
                if ((string) $iso_code === 'INR') {
                    $inr_rate = $this_rate;
                }
                array_push($update_clause, "WHEN iso_code = '{$iso_code}' THEN '{$this_rate}'");
            }
            $sql = "update ps_currency set conversion_rate = CASE ";
            $sql .= implode(" ", $update_clause);
            $sql .= " END";
            Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS($sql);
            echomsg("All Currencies Conversions Updated Successfully");
            //add USD to INR in history table
            $today = date("Y-m-d 00:00:00");
            $sql = "insert into ps_currency_rates values('{$today}','{$inr_rate}')";
            Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS($sql);
        } else {
            echomsg("Base Currency not in US", true);
        }
    } catch (Exception $ex) {
        echomsg('Unable to retrieve currency conversion list', true);
    }
}
<?php

define('_PS_ADMIN_DIR_', getcwd());
define('PS_ADMIN_DIR', _PS_ADMIN_DIR_);
// Retro-compatibility
include PS_ADMIN_DIR . '/../config/config.inc.php';
include PS_ADMIN_DIR . '/functions.php';
echomsg("Start Updating Currency Conversion Rates");
try {
    $curr_list = file_get_contents("http://openexchangerates.org/api/latest.json?app_id=c8cbe15270254f4686d6b3f3a7a2af89");
    $curr = Tools::jsonDecode($curr_list);
    if (strtoupper((string) $curr->base) === 'USD') {
        $update_clause = array();
        $rates = $curr->rates;
        $currencies = CurrencyCore::getCurrencies(false, 0);
        foreach ($currencies as $currency) {
            $iso_code = $currency['iso_code'];
            $this_rate = number_format((double) $rates->{$iso_code}, 2, '.', '');
            array_push($update_clause, "WHEN iso_code = '{$iso_code}' THEN '{$this_rate}'");
        }
        $sql = "update ps_currency set conversion_rate = CASE ";
        $sql .= implode(" ", $update_clause);
        $sql .= " END";
        Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS($sql);
        echomsg("All Currencies Conversions Updated Successfully");
    } else {
        echomsg("Base Currency not in US", true);
    }
} catch (Exception $ex) {
    echomsg('Unable to retrieve currency conversion list', true);
}
Example #3
0
 /**
  * Return available currencies
  *
  * @return array Currencies
  */
 public function getCurrencies($object = false, $active = true, $group_by = false)
 {
     return \CurrencyCore::getCurrencies($object = false, $active = true, $group_by = false);
 }
 public function getSelectBox()
 {
     $currencies = CurrencyCore::getCurrencies();
     $default_currency = CurrencyCore::getDefaultCurrency();
     $product_multicurrency = $this->GetMultiCurrency(Tools::getValue('id_product'));
     $product_currency = new Currency($product_multicurrency['id_currency']);
     $data = '<div style="display: block; margin: 0;padding: 15px; border: 3px dashed #eee;"><table width="99%">' . '<tr valign="bottom" align="left"><td>' . '<h4>PLEASE SELECT CURRENCY</h4>';
     if (!isset($_GET['id_product'])) {
         return $data . $this->l("Anda harus menyimpan produk sebelum menggunakan Product Multi- Currency") . '</td></tr></table></div>' . '<div class="clear clearfix"></div><hr/>';
     }
     $data .= '<select class="" name="sbm_id_currency" style="width:300px; font-size:1.1em; color:#a00" id="sbm_id_currency">';
     if ($product_multicurrency) {
         $data .= '<option value="' . $product_currency->id . '" ' . 'sign="' . $product_currency->sign . '" Selected>' . $product_currency->name . ' (' . $this->l('Selected') . ')</option>';
     }
     $data .= '<option value="' . $default_currency->id . '" ' . 'sign="' . $default_currency->sign . '" >' . $default_currency->name . ' ' . '(' . $this->l('Default') . ')</option>';
     foreach ($currencies as $currency) {
         if ($default_currency->id == $currency['id_currency']) {
             continue;
         }
         $data .= '<option value="' . $currency['id_currency'] . '"' . 'sign="' . $currency['sign'] . '">' . $currency['name'] . '</option>';
     }
     $data .= '</select></td>' . '<td><div id="selected_currency_sign" style="font-size:13em; position:absolute;  margin-left: -178px; margin-top: 0.8em; font-weight:bolder; float:left; color:#ccc">Rp</div></td>' . '<td></td></tr></table></div><div class="clear clearfix"></div><hr/>';
     return $data;
 }