Перейти к содержанию
UTM.SPACE community

Национальный Банк Азербайджана


Рекомендуемые сообщения

Здравствуйте!

Не могли бы помочь мне создать модель для курсов валют Центральеного Банка Азербаджана?

Пример XML: http://cbar.az/currencies/06.04.2012.xml

С уважением,

Чингиз.

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

В папке models создать файл az.class.php


<?php
/**
* @author Darang
* @copyright 2012 JExt
*/
defined ( '_JEXEC' ) or die ( 'Restricted access' );
class currency_data_az extends currency_data{

function __construct() {
parent::__construct ();
$this->url = "http://cbar.az/currencies/";
$this->bank_name = "ЦБ Азербайджана";
$this->bank_url = "http://cbar.az/";
$this->currency_name = "манат";
$this->date_format = 'd.m.Y';
}

function get_array($xml, $day = '', $replace_currency_array) {
// Handle no data received error
if (! isset ( $xml->document->ValType )) {
$error ['error'] = 1;
return $error;
}
// Save currencies' rates in an associative array indexed by currency 3 char code
$rates = array (); // array to store currencies exchange rates
$rates ['date'] = $xml->document->attributes ( 'date' );
$data = $xml->document->ValType[1]->Valute;
foreach ( $data as $dt ) {
$code = $dt->attributes ( "code" );
// Store data for selected by user currencies only, if they are set
if (empty ( $this->currencies ) || in_array ( $code, $this->currencies )) {
$rates ['currency'] [$code] ['charcode'] = $dt->attributes ( "code" ); // num code
$rates ['currency'] [$code] ['scale'] = $dt->Nominal [0]->data (); // units
// Set currency name (array with replacement rules will be searched for the ISO code)
$rates ['currency'] [$code] ['name'] = parent::replace_currency_name ( $dt->Name [0]->data (), $code, $replace_currency_array );
// Get the rate & replace comma to dot for further number processing
$rates ['currency'] [$code] ['rate'] = str_replace ( ',', '.', $dt->Value [0]->data () );
}
}
// Save additional info (only one time)
if ($day == 'today' || $this->before_flag == FALSE) {
$rates ['info'] = array ("bank_name" => $this->bank_name, "bank_url" => $this->bank_url, "currency_name" => $this->currency_name );
}
return $rates;

}

/**
* Возвращает url адрес для получения xml
* @param unknown_type $date
*/
public function getUrl($date="")
{

if(strlen($date)>1)
{
$url=$this->url.$date.'.xml';
}
else
{
$date = date("d.m.Y");
$url=$this->url.$date.'.xml';
}
return $url;
}
}
?>

в mod_jextcurrency.xml в секцию source_class добавить

<option value="az">Банк Азербайджана</option>

Ссылка на комментарий
Поделиться на другие сайты

  • 4 недели спустя...
  • 3 месяца спустя...

Чтото у меня опять ошибочка выходит. Не подскажите в чем проблемка?

А вот и та самая ошибочка:

Warning: Invalid argument supplied for foreach() in ...\modules\mod_jextcurrency\classes\currency.class.php on line 153

Warning: Invalid argument supplied for foreach() in ...\modules\mod_jextcurrency\tmpl\default.php on line 23

Чингиз.

Изменено пользователем china630
Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...