Модуль Погода Гизметео, автоопределение города!

Определяет город пользователя, погоду берет из xml !

#1 19 декабря 2011 в 18:24
Всем Привет!
Решил поделиться небольшой доработкой .

Захотел я поставить модуль погоды на сайт…
через поиск, нашел 2, на мой взгляд, самых оптимальных варианта :

1. Первый выложил mihalich, его преимущество в том, что он парсит погоду с гизметео, т.е. можно задать любой
дизайн, отредактировать всякие параметры, + он сам кешируется, нет внешних ссылок и тп…
в общем отличный вариант… но город, к сожалению только один может выводить…

2. Это модуль который вылажил HolyGun, его преимущества в том что он сам определяет город пользователя и
показывает прогноз именно для этого города ..
но… там простой информер…

Да простят меня авторы этих модулей, я их немного переделал и скрестил,
B теперь у нас есть модуль который парсит погоду, можно как угодно настраивать,
и он сам определяет город пользователя (из профиля конечно же))
Мелочь, но приятно ..)

Код максимально облегчен, настроен кеш .
Сложность было только достать коды и имена городов из xml гизметео…
но пол часа и банка пива решило проблему )
теперь он знает 4628 городов .

Установка:
Внимание! перед любыми изменениями, сделайте резервные копии файлов которые меняете!

вносим изменения в ./core/classes/user.class.php (для чего, уже описал HolyGun)

Находим в этом файле эту строчку:

  1. public function loadUser($user_id) {
Внутри этой функции находим строчку:

  1. $sql = "SELECT u.*, g.is_admin is_admin, p.imageurl as imageurl
и меняем ее на:

  1. $sql = "SELECT u.*, g.is_admin is_admin, p.imageurl as imageurl, p.*

далее создаем модуль, например "погода"
и жмем — вставить — внешний скрипт ,
указываем weather.php
отображать — нужно сделать — вертикально (т.е. позиция — sidebar или подобная)
переделать для отображения горизонтально не сложно, все в — class.weather.php

можно сделать еще так, на ваше усмотрение :
после, справа заходим в Доступ и убираем пункт — общий доступ,
после выделяем все группы кроме гостей.
это позволит не показывать погоду гостям, так как город берется из профиля .

теперь файлы:

заливаем файлы согласно папок на сайт
и проверяем работу модуля!
Незабудтьте отредактировать — weather.php, в нем- строчку с кодом города по умолчанию,
это необходимо если город пользователя не определяется или он его не вписал в профиле.
дизайн редактируется в class.weather.php
необходимо также выставить права папке cacheweather в корне сайта .

демо к сожалению нет, т.к. сайт еще пока на денвере…

Всех С Наступающим Новым Годом !

instantcms.ru/users/files/download1682.html
#2 19 декабря 2011 в 19:13
Спасибо!
#3 20 декабря 2011 в 01:12
Вообще никаких признаков жизни модуль не подает,v 1.9
#4 20 декабря 2011 в 04:54
спасибо
#5 20 декабря 2011 в 06:15


Вообще никаких признаков жизни модуль не подает,v 1.9

GarikKR

Блин, 3тий раз уже это сообщение набираю… чтото инет глучит и обрывается… Нет чтобы в буфер его скопировать))

Странно что модуль не отображается! У меня тож 1.9, отлично работает! Думаю и на 1.8 без проблем встанет .
В систему он не вмешивается… ну, только одна строчка дополняется и все !
Попробую описать где можно ошибиться и что будет :

1. Если не поставить галочку где отображать модуль, например "Отображать на главной странице", — то признаков жизни не будет никаких ))
Так же можно забыть его активировать уже в самом списке модулей ..

2. Если не поправить строчку, как описано выше, — модуль должен включаться, но работать в режиме "по умолчанию"

3. Если скопировать файлы не туда, а все остальное сделать правильно, то вместо модуля будет отображаться только его название с шапкой .

4. Если не поставить права на запись папке с кешем, то модуль просто будет обнавлятся каждый раз при загрузке страницы, ничего страшного нет, он и так легкий, а с кешем так вообще практически не заметен!)…

5. Если город не определяется, возможно пользователь — шутник и указал у себя в профиле, например вместо Москва — Масквэ… Такое лечить только в ручную у него в профиле или, как вариант, можно добавить в citylist строку с городом Масквэ и прописать код нужного города..

Еще разок всех с Наступающим !)
#6 20 декабря 2011 в 08:01
Посмотрите на всякий случай еще тут :

В адмике — в фильтрах- проверьте, должен быть включен фильтр который находит и подключает внешние скрипты — "подключать внешний скрипт"… кажется так…
мда… у меня сообщение полчаса отправляется… usbмодем блин…
#7 20 декабря 2011 в 08:51
Браузер не файрфокс с реквестблокером? Может запрещены js и флаш?
#8 20 декабря 2011 в 09:35

Браузер не файрфокс с реквестблокером? Может запрещены js и флаш?

Anabiotick

Я на файрфоксе проверял! Работает !
Как может файрфокс узнать что двиг подключает внешний скрипт? Он же не флаш…
#9 20 декабря 2011 в 10:25
Оч странно…
А на 1.9 пробовали?
#10 20 декабря 2011 в 10:36
Спасибо только вчера начал писать парсер для гисметио, блин а тут случайно вообще зашёл сюда, поставлю тогда ваше решение и не буду иметь себе мозг, большое спасибо, отпишусь вам.
#11 20 декабря 2011 в 10:50
Сегодня с утра опять все перепроверил, все удолил изаного залил, права выставлены, файлы залиты по папкам как указано в инструкции, Модуль катигорично отказывается работать.Просто пустое место…
#12 20 декабря 2011 в 12:17

Спасибо только вчера начал писать парсер для гисметио, блин а тут случайно вообще зашёл сюда, поставлю тогда ваше решение и не буду иметь себе мозг, большое спасибо, отпишусь вам.

Taurus
Ждем! Обязательно напишите, пойдет или нет!
Есть уже те кто поставил и все ок?
#13 20 декабря 2011 в 13:58
Обновил архив!
Незнаю, может поможет…
Если нет, попробую еще вариант…
#14 20 декабря 2011 в 20:32
KS Нет тоже самое не хочет работать… такое ощущение чегото не хватает а вот чего ?!
#15 22 декабря 2011 в 20:49
Похоже все затихло(((
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.