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 Кб
Комментарии:
А проблемы с открытием сайта при отсутствии интернета на локальной машине у меня нет. Так, что смоделировать ее не получается не на Vist'e ни на XP.
Проблема с Maximum execution time of 30 на локальной машине решается увеличением времени исполнения скрипта. Это можно сделать в файле php.ini или через .htaccess. Тогда плагин вместо прогноза будет давать сообщение о недоступности данных.
Спасибо за сообщения об ошибках
Есть сайт в локальной сети, на котором установлен ваш плагин, если нет доступа к интернету то сайт открыть нельзя.
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
Можно это как то исправить?
Использовать информер только на главной странице? : 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
На локальной работает нормально. Помог последний вариант с добавлением строки.
Ошибка только на хостинге или на локальной машине тоже?
Возможно какая-то ошибка в настройках сервера или cotonti.
Проверьте настройки $cfg['mainurl'] в файле datas/config.php
Возможно сервер не корректно возвращает значение ф-ции dirname(__FILE__) или некорректно установлено значение $_SERVER['DOCUMENT_ROOT']
Если побороть это не удается, то в файле plugins/weather/weather.header.main.php
после строки:
добавте строку:
Должно помочь
File does not exist: /home/domains/smolcity.net.ru/homewwwsmolcity.net.rupluginsweather,
Версия плагина 1.0.1
Тормоз в 18 сек. вероятнее всего указывает на то, что скрипт не может получить ответ от google. Ждет 18 сек и рвет соединение. Возможно на Вашем хостинге действуют какие-либо ограничения на cURL. Иногда на фришных хостах не удается обратиться ни к одному домену в зоне .RU через cURL.
Если разбираетесь в PHP, можно попробовать в файле plugins/weather/inc/googleweather.class.php метод make_request переписать используя
функцию file_get_contents. Мне как-то помогло. Из за нехватки времени сам сейчас не смогу в ближайшее время попробовать этот способ.
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. Ну это совсем не реально.
Может есть еще какие мысли?
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 работает достаточно быстро и заметно не замедляет загрузку страницы.
Оставить комментарий:
* Просьба все технические вопросы, которые могут потребовать обсуждения, задавать на форуме.
** все некорректные и рекламные посты будут удаляться, ненормативная лексика и оскорбительные высказывания запрещаются.