Cotonti. Плагин прогноза погоды.

Плагин для Cotonti. Прогноз погоды.

Плагин прогноза погоды для CMF Cotonti. Он использует Google Weather API. Позволяет выводить текущую погоду и прогноз на 4 дня для выбранного города. Пользователь может выбрать любой город. Допускается ввод данных как на русском, так и на английском языке. Возможно отображение температуры воздуха как в градусах по Цельсию ( °С ), так и по Фаренгейту ( °F ). Выбранный пользователем город запоминается, и при следующем посещении пользователем сайта, ему отобразится прогноз для этого города.

 

Основные функции плагина:
- Вывод текущей погоды для указанного города
- Погодный информер на сайте
- Прогноз на 4 дня на отдельной странице.
- Город по-умолчанию указывается в настройках плагина в панели управления.
- В настройках плагина указывается отображать ли влажность, скорость ветра
- Кеширование данных
- Обновление данных в информере через Ajax

 

Версия плагина: 1.0.2   от 3 августа 2010 г.

Язык: русский, english

 

Отличия от версии 1.0.1:
 - Исправлена ошибка, возникающая при использовании плагина в топиках форума

Отличия от версии 1.0.0:
- Совместимость с PHP 5.3
- Исправлена ошибка: на некоторых хостах не в url не ставился слеш после доменного имени.

 

Требования:
- jQuery
- PHP библиотека CURL должна быть установлена на Вашем сервере

 

Установка:
- распаковать архив
- папку «weather» скопировать на сервер в папку «plugins»
- установить и настроить в панеле администратора.
- в файл скина «header.tpl» или «footer.tpl» добавить тег {WEATHER}

 

Плагин тестировался с Cotonti Genoa 0.6.7

 

Обсудить на форуме.


Файл
Этот файл доступен только для зарегистрированных пользователей
Размер: 235,5 Кб
 
Автор: Alex
Опубликовано: Alex
Комментарии: (30)
Рейтинги:  
0

Комментарии:


15. Алексей
Изменены файлы: weather.header.tags.php, weather.php и weather.ajax.php. Переменная $w в них заменена на $weather. Это решило проблему с конфликтом в топике форума.
А проблемы с открытием сайта при отсутствии интернета на локальной машине у меня нет. Так, что смоделировать ее не получается не на Vist'e ни на XP.
14. Nafanya
Alex:
Проблема с Maximum execution time of 30 на локальной машине решается увеличением времени исполнения скрипта. Это можно сделать в файле php.ini или через .htaccess
Этим проблема не решается. Только время через которое перестаёт работать сайт увеличивается и всё.
13. Nafanya
Alex В чём изменения, сравнил файлы со старым архивом, что то ни какой разницы не заметил.
12. Алексей
Архив с новой версией перезалит.
11. Алексей
Проблема с форумом решена. Сейчас проблемы с доступом в интернет. (Видимо провайдер отметил день сисадмина с размахом :( ). В ближайшее время архив перезалью.

Проблема с Maximum execution time of 30 на локальной машине решается увеличением времени исполнения скрипта. Это можно сделать в файле php.ini или через .htaccess. Тогда плагин вместо прогноза будет давать сообщение о недоступности данных.

Спасибо за сообщения об ошибках :)
10. Nafanya
Вот ещё проблема.
Есть сайт в локальной сети, на котором установлен ваш плагин, если нет доступа к интернету то сайт открыть нельзя.

Fatal error: Maximum execution time of 30 seconds exceeded in X:\home\10.151.72.14\www\plugins\weather\inc\googleweather.class.php on line 275

Можно это как то исправить?
9. Nafanya
Столкнулся ещё с одной проблемой. Если в настройках плагина установить
Использовать информер только на главной странице? : NO то при входе на форум в любой топик ошибка.
Catchable fatal error: Object of class googleWeather could not be converted to string in X:\home\local\www\system\core\forums\forums.topics.inc.php on line 357
8. Nafanya
Спасибо.
На локальной работает нормально. Помог последний вариант с добавлением строки.
7. Алексей
Добрый день!
Ошибка только на хостинге или на локальной машине тоже?
Возможно какая-то ошибка в настройках сервера или cotonti.
Проверьте настройки $cfg['mainurl'] в файле datas/config.php

Возможно сервер не корректно возвращает значение ф-ции dirname(__FILE__) или некорректно установлено значение $_SERVER['DOCUMENT_ROOT']

Если побороть это не удается, то в файле plugins/weather/weather.header.main.php

после строки:
$weather_plugin_base_url = $cfg['mainurl'].getRelativeURL(dirname(__FILE__));	// URL папки с плагином

добавте строку:
$weather_plugin_base_url = $cfg['mainurl'].'/plugins/weather';

Должно помочь
6. Nafanya
Добрый день. Столкнулся с такой проблемой. Данные о погоде отображаются, но нет картинок погоды. В логах хостинга нашел вот что
File does not exist: /home/domains/smolcity.net.ru/homewwwsmolcity.net.rupluginsweather,
Версия плагина 1.0.1
Аватар
5. Прохожий
Спасибо за отличный плуг!
4. Алексей
На Денвере не пробовали?

Тормоз в 18 сек. вероятнее всего указывает на то, что скрипт не может получить ответ от google. Ждет 18 сек и рвет соединение. Возможно на Вашем хостинге действуют какие-либо ограничения на cURL. Иногда на фришных хостах не удается обратиться ни к одному домену в зоне .RU через cURL.

Если разбираетесь в PHP, можно попробовать в файле plugins/weather/inc/googleweather.class.php метод make_request переписать используя
функцию file_get_contents. Мне как-то помогло. Из за нехватки времени сам сейчас не смогу в ближайшее время попробовать этот способ.
3. Nafanya
Спасибо за быстрый ответ! Но
1. Сайт на реальном хостинге. В PHP info написанно
cURL support: enabled
cURL Information: libcurl/7.15.5 OpenSSL/0.9.8g zlib/1.2.3 libidn/0.6.5
2. Если набрать http://www.google.com/ig/api?weather=Astrakhan ответ в виде XML и дело не в этом.
3. Ну это совсем не реально. :)
Может есть еще какие мысли?
2. Алексей
Данная ошибка могла возникнуть в 3-х случаях:

1) в PHP отключена поддержка cURL. Данное расширение входит в состав PHP начиная версии 4.0.2. Для локального хоста убедитесь, что в php.ini раскоментирована строка extension=php_curl.dll. На реальном хосте как правило оно включено. Хотя скорее всего в этом случае Вы бы получили ошибку Fatal Error: function curl_init no exists.

2) Не ответил Google. Может быть, если у провайдера проблема с DNS-кешем и он не может разрешить адрес http://www.google.com. (Или Вы работаете на локальном хосте с отключенным интернет :) ) Попробуйте самостоятельно набрать в браузере:
http://www.google.com/ig/api?weather=Astrakhan
Если Вы видите ответ в виде XML то дело не в этом.

3) Упал и не отвечает Google. Вероятность такого случая настолько мала, что всерьез воспринимать не стоит.

Надеюсь мой ответ Вам помог.

Сам сервис Google Weather работает достаточно быстро и заметно не замедляет загрузку страницы.
1. Nafanya
Плагин с виду хороший. Но после установки начинаются тормоза, страница грузится за 18 секунд, а плагин пишет ошибка передачи. В чем может быть проблема?
Всего: 30, на странице: 15

Оставить комментарий:

* Просьба все технические вопросы, которые могут потребовать обсуждения, задавать на форуме.
** все некорректные и рекламные посты будут удаляться, ненормативная лексика и оскорбительные высказывания запрещаются.

* Для редактирования комментария осталось 15 минут