Страница 73 из 93
Re: [Модуль] Погода Яндекс (yandexweather)
Добавлено: Чт окт 17, 2019 3:59 pm
Aleksandr_A
Может кому пригодится - функция для получения русских состояний.
Код: Выделить всё
function getCondRus($cond_str){
$eng_str = array("overcast-thunderstorms-with-rain","partly-cloudy-and-light-rain","partly-cloudy-and-light-snow","overcast-and-light-rain","overcast-and-light-snow","partly-cloudy-and-rain","partly-cloudy-and-snow","cloudy-and-light-rain","overcast-and-wet-snow","cloudy-and-light-snow","overcast-and-rain","overcast-and-snow","cloudy-and-rain","cloudy-and-snow","partly-cloudy","overcast","cloudy","clear");
$rus_str = array("сильный дождь, гроза","небольшой дождь","небольшой снег","небольшой дождь","небольшой снег","дождь","снег","небольшой дождь","дождь со снегом","небольшой снег","сильный дождь","снегопад","дождь","снег","малооблачно","пасмурно","облачно с прояснениями","ясно");
return(str_replace($eng_str, $rus_str, $cond_str));
}
Re: [Модуль] Погода Яндекс (yandexweather)
Добавлено: Пн окт 21, 2019 9:33 am
AndySot
Зачем так сложно. В методе все есть.... решается добавлением пары строк.
Re: [Модуль] Погода Яндекс (yandexweather)
Добавлено: Чт окт 31, 2019 3:19 pm
Ko/|xo3HUk
Модуль поддерживается ещё? Я только сейчас начал им пользоваться. Наткнулся на вот такие грабли:
файл "modules\yandexweather\indata.inc.php" - код, отображающий прогноз осадков:
Код: Выделить всё
$osadki="В ближайшие два часа осадки не ожидаются.";
if (($data[0]['prec_prob']!='0' )&&($data[1]['prec_prob']='0' )) $osadki="В ближайший час ожидается прекращение осадков.";
if (($data[0]['prec_prob']!='0' )&&($data[1]['prec_prob']!='0' )&&($data[2]['prec_prob']!='0' )) $osadki="В ближайшие два часа ожидается прекращение осадков.";
if (($data[0]['prec_prob']='0' )&&($data[1]['prec_prob']!='0' )) $osadki="В ближайший час ожидаются осадки.";
if (($data[0]['prec_prob']!='0' )&&($data[1]['prec_prob']!='0' )&&($data[2]['prec_prob']!='0' )) $osadki="В ближайшие два часа ожидаются осадки.";
Здесь есть ошибки. Во-первых:
- это не сравнение, а присвоение. Должно быть
Ну и здесь не совсем логично:
Код: Выделить всё
if (($data[0]['prec_prob']!='0' )&&($data[1]['prec_prob']!='0' )&&($data[2]['prec_prob']!='0' )) $osadki="В ближайшие два часа ожидается прекращение осадков.";
- вроде наоборот, сейчас и в следующие два часа предполагаются осадки.
Я себе вот так сделал:
Код: Выделить всё
$osadki="В ближайшие два часа осадки не ожидаются.";
if (($data[0]['prec_prob']!=0 )&&($data[1]['prec_prob']==0 )) {$osadki="В ближайший час ожидается прекращение осадков.";}
if (($data[0]['prec_prob']!=0 )&&($data[1]['prec_prob']!=0 )&&($data[2]['prec_prob']==0 )) {$osadki="Через час ожидается прекращение осадков.";}
if (($data[0]['prec_prob']==0 )&&($data[1]['prec_prob']!=0 )) {$osadki="В ближайший час ожидаются осадки.";}
if (($data[0]['prec_prob']==0 )&&($data[1]['prec_prob']==0 )&&($data[2]['prec_prob']!=0 )) {$osadki="Через час ожидаются осадки.";}
if (($data[0]['prec_prob']==0 )&&($data[1]['prec_prob']!=0 )&&($data[2]['prec_prob']!=0 )) {$osadki="В ближайшие два часа ожидаются осадки.";}
if (($data[0]['prec_prob']!=0 )&&($data[1]['prec_prob']!=0 )&&($data[2]['prec_prob']!=0 )) {$osadki="Сейчас и в ближайшие два часа ожидаются осадки.";}
Re: [Модуль] Погода Яндекс (yandexweather)
Добавлено: Чт окт 31, 2019 4:26 pm
directman66
Ko/|xo3HUk писал(а): Чт окт 31, 2019 3:19 pm
Модуль поддерживается ещё? Я только сейчас начал им пользоваться. Наткнулся на вот такие грабли:
файл "modules\yandexweather\indata.inc.php" - код, отображающий прогноз осадков:
Код: Выделить всё
$osadki="В ближайшие два часа осадки не ожидаются.";
if (($data[0]['prec_prob']!='0' )&&($data[1]['prec_prob']='0' )) $osadki="В ближайший час ожидается прекращение осадков.";
if (($data[0]['prec_prob']!='0' )&&($data[1]['prec_prob']!='0' )&&($data[2]['prec_prob']!='0' )) $osadki="В ближайшие два часа ожидается прекращение осадков.";
if (($data[0]['prec_prob']='0' )&&($data[1]['prec_prob']!='0' )) $osadki="В ближайший час ожидаются осадки.";
if (($data[0]['prec_prob']!='0' )&&($data[1]['prec_prob']!='0' )&&($data[2]['prec_prob']!='0' )) $osadki="В ближайшие два часа ожидаются осадки.";
Здесь есть ошибки. Во-первых:
- это не сравнение, а присвоение. Должно быть
Ну и здесь не совсем логично:
Код: Выделить всё
if (($data[0]['prec_prob']!='0' )&&($data[1]['prec_prob']!='0' )&&($data[2]['prec_prob']!='0' )) $osadki="В ближайшие два часа ожидается прекращение осадков.";
- вроде наоборот, сейчас и в следующие два часа предполагаются осадки.
Я себе вот так сделал:
Код: Выделить всё
$osadki="В ближайшие два часа осадки не ожидаются.";
if (($data[0]['prec_prob']!=0 )&&($data[1]['prec_prob']==0 )) {$osadki="В ближайший час ожидается прекращение осадков.";}
if (($data[0]['prec_prob']!=0 )&&($data[1]['prec_prob']!=0 )&&($data[2]['prec_prob']==0 )) {$osadki="Через час ожидается прекращение осадков.";}
if (($data[0]['prec_prob']==0 )&&($data[1]['prec_prob']!=0 )) {$osadki="В ближайший час ожидаются осадки.";}
if (($data[0]['prec_prob']==0 )&&($data[1]['prec_prob']==0 )&&($data[2]['prec_prob']!=0 )) {$osadki="Через час ожидаются осадки.";}
if (($data[0]['prec_prob']==0 )&&($data[1]['prec_prob']!=0 )&&($data[2]['prec_prob']!=0 )) {$osadki="В ближайшие два часа ожидаются осадки.";}
if (($data[0]['prec_prob']!=0 )&&($data[1]['prec_prob']!=0 )&&($data[2]['prec_prob']!=0 )) {$osadki="Сейчас и в ближайшие два часа ожидаются осадки.";}
Спасибо, с удовольствие приму доработки в виде пулреквеста )
Re: [Модуль] Погода Яндекс (yandexweather)
Добавлено: Чт окт 31, 2019 4:46 pm
Ko/|xo3HUk
Это на Гитхабе надо Pull Request создать? Я ещё пуллреквесты не делал, попробую как-нибудь

Re: [Модуль] Погода Яндекс (yandexweather)
Добавлено: Чт окт 31, 2019 7:53 pm
Ko/|xo3HUk
Создал пуллреквест. А почему старые реквесты не закрыты? С декабря прошлого года два реквеста не закрыты. Хотя изменения по этим реквестам вроде внесены.
Re: [Модуль] Погода Яндекс (yandexweather)
Добавлено: Чт окт 31, 2019 11:25 pm
directman66
Ko/|xo3HUk писал(а): Чт окт 31, 2019 7:53 pm
Создал пуллреквест. А почему старые реквесты не закрыты? С декабря прошлого года два реквеста не закрыты. Хотя изменения по этим реквестам вроде внесены.
А где исправления главного файла?
Re: [Модуль] Погода Яндекс (yandexweather)
Добавлено: Чт окт 31, 2019 11:28 pm
Ko/|xo3HUk
Вон оно чё

Я просто чайник в этом деле, только начинаю разбираться, вот и задаю глупые вопросы ))
Re: [Модуль] Погода Яндекс (yandexweather)
Добавлено: Чт окт 31, 2019 11:30 pm
directman66
Создаешь форк всего проекта, правишь, пушишь в свой репозиторий и потом предлагаешь смержить с моей веткой. Тогда изменения будут касаться всей ветки.
Re: [Модуль] Погода Яндекс (yandexweather)
Добавлено: Пт ноя 08, 2019 9:36 am
Ko/|xo3HUk
По виджетам есть замечание - прогноз на сегодня [утро, день, вечер, ночь] - нужно изменить последовательность на [ночь, утро, день, вечер]. У меня на основе этих виджетов свой был сделан и сегодня столкнулся с таким: вчера и сегодня ночью ещё была плюсовая температура, а утром уже мороз ударил. А на виджете я вижу такое: [утро: -1, день: -3, вечер: -7, ночь: +6 дождь]. И на завтра прогноз -7°С.