I zamieniamy go na:
Standardowo w oscommerce dostępna jest aktualizacja kursów walut z banków światowych. W Polsce jednak bardziej opłaca się korzystać z kursów NBP.
Na początek zmieniamy plik zarządzający aktualizacją kursów walut, czyli admin/includes/functions/localization.php. Usuwamy z niego dotychczasową zawartość i wstawiamy:
testKod: php
<?php /* $Id: localization.php 1739 2007-12-20 00:52:16Z hpdl $ osCommerce, Open Source E-Commerce Solutions www.oscommerce.com Copyright (c) 2003 osCommerce Released under the GNU General Public License */ function xml_to_array( $file ) { foreach ( $tags as $tag ) { if ( $tag['type'] == "complete" || $tag['type'] == "open" ) { $elements[$index]['name'] = $tag['tag']; $elements[$index]['attributes'] = $tag['attributes']; $elements[$index]['content'] = $tag['value']; if ( $tag['type'] == "open" ) { # push $elements = &$elements[$index]['children']; } } if ( $tag['type'] == "close" ) { # pop } } return $elements[0]; } function nazwa_aktualnego_kursu() { $alte_url = "http://nbp.pl/Kursy/KursyA.html"; $alte_params = ''; $alte_user_agent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"; $tresc = $alte_page; $wzorzec = '/xml\/[\d\w]+\.xml/'; return $pasujace[0]; } function quote_nbp_currency($code, $base = DEFAULT_CURRENCY) { if($code == $base) return 1; $aktualny_kurs = nazwa_aktualnego_kursu(); $alte_url = "http://nbp.pl/Kursy/".$aktualny_kurs; $alte_user_agent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"; $tresc = $alte_page; $tresc = xml_to_array($tresc); $i=0; if($tresc['children'][$i]['children'][2]['content'] == $code){ $kurs = 1/$kurs; return $kurs; } } } return false; } function quote_oanda_currency($code, $base = DEFAULT_CURRENCY) { $alte_url = "http://www.oanda.com/convert/fxdaily"; $alte_params = 'value=1&redirected=1&exch=' . $code . '&format=CSV&dest=Get+Table&sel_list=' . $base; $alte_user_agent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"; return $match[3]; } else { return false; } } function quote_xe_currency($to, $from = DEFAULT_CURRENCY) { $alte_url = "http://www.xe.net/ucc/convert.cgi"; $alte_params = 'Amount=1&From=' . $from . '&To=' . $to; $alte_user_agent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"; return $match[1]; } else { return false; } } ?>
Następnie edytujemy plik admin/currencies.php. Odszukujemy kod:
testKod: php
case 'update': $server_used = CURRENCY_SERVER_PRIMARY; $currency_query = tep_db_query("select currencies_id, code, title from " . TABLE_CURRENCIES); while ($currency = tep_db_fetch_array($currency_query)) { $quote_function = 'quote_' . CURRENCY_SERVER_PRIMARY . '_currency'; $rate = $quote_function($currency['code']); $messageStack->add_session(sprintf(WARNING_PRIMARY_SERVER_FAILED, CURRENCY_SERVER_PRIMARY, $currency['title'], $currency['code']), 'warning'); $quote_function = 'quote_' . CURRENCY_SERVER_BACKUP . '_currency'; $rate = $quote_function($currency['code']); $server_used = CURRENCY_SERVER_BACKUP; } if (tep_not_null($rate)) { tep_db_query("update " . TABLE_CURRENCIES . " set value = '" . $rate . "', last_updated = now() where currencies_id = '" . (int)$currency['currencies_id'] . "'"); $messageStack->add_session(sprintf(TEXT_INFO_CURRENCY_UPDATED, $currency['title'], $currency['code'], $server_used), 'success'); } else { $messageStack->add_session(sprintf(ERROR_CURRENCY_INVALID, $currency['title'], $currency['code'], $server_used), 'error'); } } tep_redirect(tep_href_link(FILENAME_CURRENCIES, 'page=' . $HTTP_GET_VARS['page'] . '&cID=' . $HTTP_GET_VARS['cID'])); break;
i zamieniamy go na:
testKod: php
case 'update': $server_used = CURRENCY_SERVER_PRIMARY; $currency_query = tep_db_query("select currencies_id, code, title from " . TABLE_CURRENCIES); while ($currency = tep_db_fetch_array($currency_query)) { $quote_function = 'quote_' . CURRENCY_SERVER_PRIMARY . '_currency'; $rate = $quote_function($currency['code']); $messageStack->add_session(sprintf(WARNING_PRIMARY_SERVER_FAILED, CURRENCY_SERVER_PRIMARY, $currency['title'], $currency['code']), 'warning'); $quote_function = 'quote_' . CURRENCY_SERVER_BACKUP . '_currency'; $rate = $quote_function($currency['code']); $server_used = CURRENCY_SERVER_BACKUP; } $messageStack->add_session(sprintf(WARNING_PRIMARY_SERVER_FAILED, CURRENCY_SERVER_BACKUP, $currency['title'], $currency['code']), 'warning'); $quote_function = 'quote_' . CURRENCY_SERVER_BACKUP2 . '_currency'; $rate = $quote_function($currency['code']); $server_used = CURRENCY_SERVER_BACKUP2; } if ($rate > 0) { tep_db_query("update " . TABLE_CURRENCIES . " set value = '" . $rate . "', last_updated = now() where currencies_id = '" . (int)$currency['currencies_id'] . "'"); $messageStack->add_session(sprintf(TEXT_INFO_CURRENCY_UPDATED, $currency['title'], $currency['code'], $server_used), 'success'); } else { $messageStack->add_session(sprintf(ERROR_CURRENCY_INVALID, $currency['title'], $currency['code'], $server_used), 'error'); } } tep_redirect(tep_href_link(FILENAME_CURRENCIES, 'page=' . $HTTP_GET_VARS['page'] . '&cID=' . $HTTP_GET_VARS['cID'])); break;
Na koniec edytujemy plik admin/includes/application_top.php. Odszukujemy w nim kod:
testKod: php
I zamieniamy go na:
testKod: php
| 23 maja 2012 |
|
|
| Źródło: MeteoGroup |