Exemplo n.º 1
0
 /**
  * Получает курсы валют ЦБ и обновляет их у нас (используется в crone файл hourly.php)
  */
 function updateCBRates()
 {
     // Удаляем старые курсы из кеша
     $memBuff = new memBuff();
     $memBuff->delete('getCBRates');
     $CBRates = getCBRates();
     if ($CBRates) {
         $pex = self::GetAll(false);
         $exs = array();
         $exs[12] = $pex[12];
         $exs[13] = $pex[13];
         $exs[14] = $pex[14];
         $exs[24] = str_replace(",", ".", $CBRates['USD']['Value']);
         $exs[34] = str_replace(",", ".", $CBRates['EUR']['Value']);
         $error = 0;
         foreach ($exs as $k => $v) {
             if ((double) $v <= 0) {
                 $error = 1;
                 break;
             }
             $pex[$k] = $v;
         }
         if (!$error) {
             $ex_cnt = 4;
             for ($i = 1; $i <= $ex_cnt; $i++) {
                 @($pex[$i . '1'] = 1 / $pex['1' . $i]);
                 $pex[$i . $i] = 1;
             }
             for ($i = 2; $i <= $ex_cnt; $i++) {
                 for ($j = 2; $j <= $ex_cnt; $j++) {
                     $pex[$j . $i] = $pex[$j . $j] / $pex[$i . $j];
                 }
             }
             self::BatchUpdate($pex);
         }
     }
 }
Exemplo n.º 2
0
<?php

ini_set('display_errors', 1);
error_reporting(E_ALL ^ E_NOTICE);
ini_set('max_execution_time', 0);
ini_set('memory_limit', '512M');
if (!isset($_SERVER['DOCUMENT_ROOT']) || !strlen($_SERVER['DOCUMENT_ROOT'])) {
    $_SERVER['DOCUMENT_ROOT'] = rtrim(realpath(pathinfo(__FILE__, PATHINFO_DIRNAME) . '/../'), '/');
}
$path = $_SERVER['DOCUMENT_ROOT'];
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/stdf.php';
$result = getCBRates();
var_dump($result);
Exemplo n.º 3
0
 /**
  * Переводит доллары в рубли курсу сайта ЦБ
  *
  * @param  float $usd_sum сумма в долларах
  * @return float сумма в рублях
  */
 function usd2rur($usd_sum)
 {
     $rates = getCBRates();
     return $usd_sum * str_replace(',', '.', $rates['USD']['Value']);
 }