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); }
/** * 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; }