Version: current

# Class PageInformerWeather

Модуль получения погоды с сервиса eurometeo Получает погоду через xml сервис с сайта eurometeo.ru, кеширует данные в течении указаного времени (10 часов)

  Extension
  PageInformerWeather

Author: dvp
Located at informer_weather/code/PageInformerWeather.php

## Methods summary

`public static` | # `SetCityId( mixed $id )` Устанавливает ID города вызов в конфиге: PageInformerWeather::SetCityId('russia/region/city'); Устанавливает ID города вызов в конфиге: PageInformerWeather::SetCityId('russia/region/city'); #### Parameters $id $id int ID города
`public static` | # `SetExpire( mixed $hours )` Устанавливает время жизни кеша вызов в конфиге: PageInformerWeather::SetExpire(2); Устанавливает время жизни кеша вызов в конфиге: PageInformerWeather::SetExpire(2); #### Parameters $hours $hours int время жизни кеша в часах
`public static` | # `SetImagePath( mixed $path )` Устанавливает базовый каталог для картинок погоды вызов в конфиге: PageInformerWeather::SetImagePath('site/images/weather'); Устанавливает базовый каталог для картинок погоды вызов в конфиге: PageInformerWeather::SetImagePath('site/images/weather'); #### Parameters $path $path string Путь к картинкам относительно корня сайта (без ведущего /)
`public static` | # `SetImageExt( mixed $ext )` Устанавливает расширение для картинок вызов в конфиге: PageInformerWeather::SetImageExt('.gif'); Устанавливает расширение для картинок вызов в конфиге: PageInformerWeather::SetImageExt('.gif'); #### Parameters $ext $ext string строка с расширением файлов (с .)
`public static` | # `ShowFullDay( boolean $val = true )` Использовать 4 показания в день (ночь, утро, день, вечер), а не 2 (ночь, день) Использовать 4 показания в день (ночь, утро, день, вечер), а не 2 (ночь, день) #### Parameters $val boolean $val флаг показывать 4 или 2 [true]
`public `DataObjectSet`` | # `WeatherInfo( mixed $days = 2, mixed $cityId = false )` Возвращает данные погодного информера сгруппированные по дням Формат каждого дня: $Date - дата этого дня (объект) $Items - список показаний за этот день Формат каждого показания: $Date - дата/время показания $Hour - час показания (сейчас это 4 и 16) $DayTimeName - локализованное название времени суток $CloudCover - облачность в % $CloudLevel - уровень облачности для визаулизации (наш) $CloudName - текстовое описание облачности $CloudImageUrl - url картинки с облачностью, типа informer_weather/images/c<d|n><level>.png, где: <d> - дневная, <n> - ночная, <level> - $CloudLevel $Pressure - давление, мм.р.ст. $Temperature - температура, С $Humidity - влажность, % $Precipitation - кол-во осадков, мм за период между показаниями (3 часа) $Drops - кол-во капель для визуализации 0, 0.5, 1, 2, 3, 4, 5, 6, 7, 8, 9 $FallsType - тип осадков 0 - без осадков, 1 - дождь, 2 - дождь + снег, 3 - снег $FallsName - локализованное название осадков $FallsLevel - уровень осадков для визуализации (наш) $FallsImageUrl - url картинки осадков, типа informer_weather/images/o<type>d<level>.png, где: <type> - $FallsType, <level> - $FallsLevel $WindDirection - направление ветра (локализовано) $WindVelocity - скорость ветра, м/с $WindGust - скорость порывов ветра, м/с Возвращает данные погодного информера сгруппированные по дням Формат каждого дня: $Date - дата этого дня (объект) $Items - список показаний за этот день Формат каждого показания: $Date - дата/время показания $Hour - час показания (сейчас это 4 и 16) $DayTimeName - локализованное название времени суток $CloudCover - облачность в % $CloudLevel - уровень облачности для визаулизации (наш) $CloudName - текстовое описание облачности $CloudImageUrl - url картинки с облачностью, типа informer_weather/images/c<d|n><level>.png, где: <d> - дневная, <n> - ночная, <level> - $CloudLevel $Pressure - давление, мм.р.ст. $Temperature - температура, С $Humidity - влажность, % $Precipitation - кол-во осадков, мм за период между показаниями (3 часа) $Drops - кол-во капель для визуализации 0, 0.5, 1, 2, 3, 4, 5, 6, 7, 8, 9 $FallsType - тип осадков 0 - без осадков, 1 - дождь, 2 - дождь + снег, 3 - снег $FallsName - локализованное название осадков $FallsLevel - уровень осадков для визуализации (наш) $FallsImageUrl - url картинки осадков, типа informer_weather/images/o<type>d<level>.png, где: <type> - $FallsType, <level> - $FallsLevel $WindDirection - направление ветра (локализовано) $WindVelocity - скорость ветра, м/с $WindGust - скорость порывов ветра, м/с #### Parameters $days $days int Кол-во дней в прогнозе [2] максимум 3 $cityId $cityId string город (если не указан - берется из конфига) #### Returns ``DataObjectSet`` - данные погоды или false если их не получить
`public string` | # `CityID( )` Возвращает id города Возвращает id города #### Returns `string` - id города на сайте eurometeo.ru
`public string` | # `CityLink( )` Возвращает ссылку на прогноз погоды на сайте источнике Возвращает ссылку на прогноз погоды на сайте источнике #### Returns `string` string
`public string` | # `CityName( mixed $index = 0 )` Возвращает название города Работает только после вызова WeatherInfo() Возвращает название города Работает только после вызова WeatherInfo() #### Parameters $index $index int номер названия 0 - именительный падеж, 1 - родительный #### Returns `string` строка с названием
`protected <type>` | # `_dropsLevel( <type> $falls )` Переводит уровень осадков в drops rp5 Переводит уровень осадков в drops rp5 #### Parameters $falls <type> $falls #### Returns `<type>` <type>
`protected integer` | # `_fallsLevel( mixed $falls )` Переводит уровень осдаков в наш уровень визуализации Переводит уровень осдаков в наш уровень визуализации #### Parameters $falls $falls float уровень осдаков #### Returns `integer` наш уровень осдаков (0-9)
`protected string` | # `_windDirection( mixed $dir, mixed $speed )` Локализует направление ветра !!! Локализует направление ветра !!! #### Parameters $dir $dir int строка с направлением ветра в градусах $speed $speed float скорость ветра м/с #### Returns `string` локализованное направление ветра
`protected integer` | # `_fallsType( float $temp, float $falls )` Фантазирует на тему типа осадков (на eurometeo его нет) Фантазирует на тему типа осадков (на eurometeo его нет) #### Parameters $temp float $temp - температура $falls float $falls - кол-во осадков #### Returns `integer` int
`protected string` | # `_fallsName( mixed $type )` Локализованное название типа осадков Локализованное название типа осадков #### Parameters $type $type int тип осадков rp5 #### Returns `string` название типа осадков
`protected string` | # `_cloudName( mixed $level, mixed $percent )` Локализованное название облачности Локализованное название облачности #### Parameters $level $level int уровень облачности в наших баллах $percent $percent int порцент покрытия облачности #### Returns `string` название облачности
`protected string` | # `_getCloudImage( mixed $level, mixed $hour )` Формирует url картинки облачности Формирует url картинки облачности #### Parameters $level $level int уровень облачности $hour $hour int час показаний (для времени суток) #### Returns `string` url картинки относительно корня сайта (без ведущего /)
`protected string` | # `_getFallsImage( mixed $type, mixed $level )` Формирует url картинки осадков Формирует url картинки осадков #### Parameters $type $type int тип осадков $level $level int уровень осадков #### Returns `string` url картинки относительно корня сайта (без ведущего /)

### Methods inherited from Extension

`__construct()`, `clearOwner()`, `getOwner()`, `get_classname_without_arguments()`, `setOwner()`

### Magic methods summary

## Properties summary

`protected static string` | $api_base_url | # базовый адрес для запроса данных базовый адрес для запроса данных
`protected static string` | $city_id | # ID города в eurometeo ID города в eurometeo
`protected static integer` | $expire | # Время кеширования в секундах Время кеширования в секундах
`protected static string` | $ImageSrc | # Каталог с картинками Каталог с картинками
`protected static string` | $ImageExt | # Расширение картинок Расширение картинок
`protected static array` | $hours_to_show | # Какие точки времени показывать Какие точки времени показывать
`protected static array` | $rp5_eurometeo | # Трансляция id rp5 в id eurometeo Нужна для старых сайтов Трансляция id rp5 в id eurometeo Нужна для старых сайтов
`protected boolean` | $weather | # Кешированные данные погоды Кешированные данные погоды
`protected array` | $cityName | # Кешированные имена города Кешированные имена города
`protected boolean` | $cityId | #

### Properties inherited from Extension

`$allowed_actions`, `$class`, `$owner`, `$ownerBaseClass`

[Raise a SilverStripe Framework issue/bug](https://github.com/silverstripe/silverstripe-framework/issues/new)
- [Raise a SilverStripe CMS issue/bug](https://github.com/silverstripe/silverstripe-cms/issues/new)
- Please use the Silverstripe Forums to ask development related questions. -