Орла
Области
Компаний
Пользователи
Галерея
Фиксированные новости
Орла
Отзывы о фирмах
Тарифы
Пользователи
Области
Банкоматы
Торговые точки
Доска объявлений
Курсы валют
Скидки
организации Орла
организации области
товары
сайты
сайты Орел
Данные
Разделы
Поиск
Поиск запросы
Статистика
Показы каталога организаций
Статистика клиенты
Пользователи
Сайты
Управление сайтом
Анкета
Аптеки
Афиша
Афиша новая
Баннеры
Бизнес >
Викторина
Голосование
Гость на сайте
Истории
Календарь событий
Каталоги >
Конкурс красоты
Конкурс аудио
Консультации
Меню
Новое на сайте
Новости >
Организации >
Программа ТВ
Публикации
Разделы сайта
Рассылка
Рестораны
Секрет фирмы >
Сервисы >
Ссылки
Тесты
Файловый менеджер
Форум
Фотогалерея
Обратная связь
Недвижимость
Новый год
Тексты
Пользователи
Юридический рейтинг
Отзывы на товары
Бан пользователей
Жалобы
Новые тесты
Коронавирус
Файловый менеджер
Имя файла
Currency.php
Содержимое
<?php namespace app\currency; use App; /** * Класс для работыс валютой. * Class Currency * @package app\currency */ class Currency { private $_data = []; public function __construct() { $pdo = App::getStranaPdo(); // Was a correlated MAX() subquery (~10s on MySQL 5.7). Fetch latest row per valute instead. $sth = $pdo->prepare(' SELECT c1.`date`, c1.`valute`, c1.`rate`, c1.`dynamic` FROM `currency_rate_rbc` c1 INNER JOIN ( SELECT `valute`, MAX(`date`) AS max_date FROM `currency_rate_rbc` GROUP BY `valute` ) t ON c1.`valute` = t.`valute` AND c1.`date` = t.max_date '); $sth->execute(); $rows = $sth->fetchAll(); $byValute = []; foreach ($rows as $row) { $byValute[$row['valute']] = $row; } // Keep legacy numeric indexes expected by old templates: // after reverse([EUR, USD]) => [0]=USD, [1]=EUR, while methods are swapped in header markup. // Prefer explicit valute keys; also expose [0]/[1] for any leftover callers. $this->_data = $byValute; if (isset($byValute['USD'])) { $this->_data[0] = $byValute['USD']; } if (isset($byValute['EUR'])) { $this->_data[1] = $byValute['EUR']; } return $this; } public function getUsd() { if (isset($this->_data['USD']['rate'])) { return round($this->_data['USD']['rate'], 2); } if (isset($this->_data[0]['rate'])) { return round($this->_data[0]['rate'], 2); } return null; } public function getUsdDynamic() { if (isset($this->_data['USD']['dynamic'])) { return $this->_data['USD']['dynamic']; } if (isset($this->_data[0]['dynamic'])) { return $this->_data[0]['dynamic']; } return 0; } public function getEur() { if (isset($this->_data['EUR']['rate'])) { return round($this->_data['EUR']['rate'], 2); } if (isset($this->_data[1]['rate'])) { return round($this->_data[1]['rate'], 2); } return null; } public function getEurDynaimic() { if (isset($this->_data['EUR']['dynamic'])) { return $this->_data['EUR']['dynamic']; } if (isset($this->_data[1]['dynamic'])) { return $this->_data[1]['dynamic']; } return 0; } }
/app/currency/
Имя
Дата
Размер
..
2026-10-01
Currency.php
2026-10-01
3 кб.
Currency.php.bak.speed
2026-10-01
1 кб.
/app/currency
Загрузить файлы
Файл 1
Файл 2
Файл 3