JRuDevels

Jabber Russian Developers Forum.
Log in Register FAQ Memberlist Search JRuDevels Forum Index

JRuDevels Forum Index » Разработка и проектирование [Devel] » Jabber IM MoD - мод для жабберизации phbBB Goto page 1, 2, 3, 4  Next
Post new topic  Reply to topic View previous topic :: View next topic 
PostPosted: Tue Feb 13, 2007 2:53 am Reply with quote
nE0sIghT
Guest




Для любителей опенсорса: http://www.phpbb.com/phpBB/viewtopic.php?p=1668769#1668769

МоД не заменяет мыло жабой, но позволяет получать уведомления об ответах на жабу, писать с Форума на JID
Ну и еще дружит с SSL
PostPosted: Tue Feb 13, 2007 11:43 pm Reply with quote
S_talker
Бывалый Жабовод
Бывалый Жабовод
Joined: 05 Feb 2006
Posts: 63




nE0sIghT wrote:
Для любителей опенсорса: http://www.phpbb.com/phpBB/viewtopic.php?p=1668769#1668769

МоД не заменяет мыло жабой, но позволяет получать уведомления об ответах на жабу, писать с Форума на JID
Ну и еще дружит с SSL
Харошая штучка - сегодня прикрутил. Правда помучался немного, подгоняя хак под нюковый мод пхпбб, и дошлифовывая под себя, но в целом доволен Smile Вот если бы еще и верификация жида была, то он бы меня вообще всем устроил Smile

_________________
...Чтобы понять рекурсию, надо сначала понять рекурсию...
View user's profile Send private message Send Jabber-message Visit poster's website HabaHaba - Fast communicate ICQ Number
PostPosted: Wed Feb 14, 2007 10:29 am Reply with quote
nE0sIghT
Guest




Code:
// Jabber MoD
   if($jid != "")
   {
      // http://www.jabber.org/jeps/jep-0029.html
      // JID must(in this case) contain 2 parts: a NODE and a DOMAIN
      // "Node identifiers are restricted to 256 bytes" and must
      // contain at least 1 character
      // ?! phpBB doesn't use UTF-8?
      // ?! \x80-\xff
      if(!preg_match('/^[\x21\x23-\x25\x28-\x2E\x30-\x39\x3B\x3D\x3F\x41-\x7E\x80-\xFF]{1,256}@[a-z0-9\-]+\.([a-z0-9\-]+\.)*?[a-z]{1,4}$/isU', $jid))
      {
         $jid = '';
      }
   }
   // Jabber MoD />


Это часть кода МоДа.
Если Jid не проходит валидацию - юзеру об этом не сообщается, поле просто очищается, поскольку это не жизненно-важное поле профиля
PostPosted: Wed Feb 14, 2007 4:18 pm Reply with quote
S_talker
Бывалый Жабовод
Бывалый Жабовод
Joined: 05 Feb 2006
Posts: 63




nE0sIghT wrote:
Если Jid не проходит валидацию - юзеру об этом не сообщается, поле просто очищается, поскольку это не жизненно-важное поле профиля
Ну а если я впишу чужой JID, и его будет спамить мессагами с форума?

_________________
...Чтобы понять рекурсию, надо сначала понять рекурсию...
View user's profile Send private message Send Jabber-message Visit poster's website HabaHaba - Fast communicate ICQ Number
PostPosted: Wed Feb 14, 2007 5:38 pm Reply with quote
Arioch
Бывалый Жабовод
Бывалый Жабовод
Joined: 17 Jan 2007
Posts: 97




обычно когда ты вписываешь e-mail в любой web-service - web-service спрашивает этот адрес, действительно ли владелец адреса это делал. И пока почта не подтвердит - ничего не сделаешь.


Надеюсь с JID то же самое
View user's profile Send private message Send Jabber-message Visit poster's website
PostPosted: Wed Feb 14, 2007 9:25 pm Reply with quote
Guest




S_talker wrote:
Ну а если я впишу чужой JID, и его будет спамить мессагами с форума?

Ух теперь понял про какую верификацию речь Smile
На самом деле не задумывался об этом.
Как появится свободное время, обязательно реализую
PostPosted: Fri Feb 16, 2007 8:59 am Reply with quote
S_talker
Бывалый Жабовод
Бывалый Жабовод
Joined: 05 Feb 2006
Posts: 63




Итак, поюзал я более внимательно этот мод, и что бы сказал со своей стороны:
1) Нет проверки JID-а, мой это или нет - об этом уже говорилось
2) По жабберу высылается только линк на пост, а не само содержание поста
3) Нотификейшны шлются только топик-стартеру, а не всем, кто подписался (по принципу мыльной рассылки)
4) При создании поста состояние чекбокса "отсылать мне уведомление" всегда включено, и не зависит от реального состояния подписки
5) После вызова check_jabber_messages() (и успешной рассылки хотя бы одного уведомления) результирующая HTML-форма портится (перед каждой кавычкой в коде формы ставится обратный слеш)

п.п. 2 и 3 я вроде у себя сделал как хотел. До п. 4 пока не дошел, исправлю чуть попозже. Насчет п.5 - навскидку ошибки не обнаружил, предположительно она возникает после инклуда class.jabber.php

Надеюсь, это поможет автору в улучшении мода Smile

_________________
...Чтобы понять рекурсию, надо сначала понять рекурсию...
View user's profile Send private message Send Jabber-message Visit poster's website HabaHaba - Fast communicate ICQ Number
PostPosted: Fri Feb 16, 2007 2:24 pm Reply with quote
leksey
Графоман
Графоман
Joined: 17 Dec 2004
Posts: 1909
Location: Москва, Тушино




nE0sIghT wrote:
Для любителей опенсорса: http://www.phpbb.com/phpBB/viewtopic.php?p=1668769#1668769

МоД не заменяет мыло жабой, но позволяет получать уведомления об ответах на жабу, писать с Форума на JID
Ну и еще дружит с SSL

Полезное начинание. Мы свое там в мод и не оформили.
Надеюсь, что твое творение со временем позволит заменить наш грязный хак. :-)
View user's profile Send private message Send Jabber-message Visit poster's website HabaHaba - Fast communicate
PostPosted: Fri Feb 16, 2007 5:26 pm Reply with quote
nE0sIghT
Разработчик
Разработчик
Joined: 16 Feb 2007
Posts: 20




Поскольку к МоДу появился хоть какой-то интерес, начал дописывать код. Так что думаю что-то культурное оформиться не больше чем за неделю.
Обсуждение МоДа на phpBB GuRu: http://www.phpbbguru.net/community/topic13632.html

S_talker wrote:
Итак, поюзал я более внимательно этот мод, и что бы сказал со своей стороны:
1) Нет проверки JID-а, мой это или нет - об этом уже говорилось

Сейчас занимаюсь окультуриванием админки, следующей на очереди будет проверка JIDa и активизация через JID как альтернатива активизации по мылу

S_talker wrote:
2) По жабберу высылается только линк на пост, а не само содержание поста

Так и задумывалось с самого начала, и менять это я не буду. Ну да подправить код на посты не трудно Wink

S_talker wrote:
3) Нотификейшны шлются только топик-стартеру, а не всем, кто подписался (по принципу мыльной рассылки)
4) При создании поста состояние чекбокса "отсылать мне уведомление" всегда включено, и не зависит от реального состояния подписки

Угу, так и есть - последствия оформления хака в код МоДа.
Еще из замеченных багов - баг радиокнопки в админке. Патч тута: http://www.phpbbguru.net/community/topic2185-30.html

S_talker wrote:
5) После вызова check_jabber_messages() (и успешной рассылки хотя бы одного уведомления) результирующая HTML-форма портится (перед каждой кавычкой в коде формы ставится обратный слеш)

Точно помню, что кады были живы демо-форумы, там был точно такой же баг. Все по той же причине - не все правильно влезло в МоД ((
Не помню точно причины, но обязательно поправлю.

leksey wrote:
Надеюсь, что твое творение со временем позволит заменить наш грязный хак. Smile

Ну полностью заменить ваш хак моему МоДу не удасться ) Насколько я понял, ваш БОТ может еще и принимать мессаги с жабы - клиентским скриптам такое не под cилу (
Кстати очень интересует вопросик: ваш БОТ на PHP написан?
Сам тоже написал БОТа на ПХП ради уведомлялок с форума, да потом сделал его развлекаловкой простой Smile Может выложу на вашем сайте как нить Ж)
View user's profile Send private message Visit poster's website
PostPosted: Fri Feb 16, 2007 7:52 pm Reply with quote
Binary
Разработчик
Разработчик
Joined: 17 Dec 2004
Posts: 1712
Location: Омск




у нас бот neutron, он на python

_________________
And I'm feeling good!
View user's profile Send private message Send Jabber-message Visit poster's website HabaHaba - Fast communicate
PostPosted: Sat Feb 17, 2007 11:04 am Reply with quote
leksey
Графоман
Графоман
Joined: 17 Dec 2004
Posts: 1909
Location: Москва, Тушино




nE0sIghT wrote:
Поскольку к МоДу появился хоть какой-то интерес, начал дописывать код. Так что думаю что-то культурное оформиться не больше чем за неделю.

Если судить по количеству приватных просьб к нам предоставить наши наработки, то функциональность востребованная.
Но мы отказывали по вполне объективным причинам.

nE0sIghT wrote:
Так и задумывалось с самого начала, и менять это я не буду. Ну да подправить код на посты не трудно ;)

Не знаю, какой смысл просто в ссылке.
Думаю, лучше реализовать отсылку текста опцией (выключенной по дефолту, если совсем ненравится). Тем более админку сейчас делаешь.

nE0sIghT wrote:
Ну полностью заменить ваш хак моему МоДу не удасться ) Насколько я понял, ваш БОТ может еще и принимать мессаги с жабы - клиентским скриптам такое не под cилу (

Нужна какая-то резидентная часть. Типа, бота, который слушает эфир.
Не думаю, что это так сложно.

nE0sIghT wrote:
Кстати очень интересует вопросик: ваш БОТ на PHP написан?

Сначала был на перле, потом на питоне. Но никто не мешает использовать php.

nE0sIghT wrote:
Сам тоже написал БОТа на ПХП ради уведомлялок с форума, да потом сделал его развлекаловкой простой :) Может выложу на вашем сайте как нить Ж)

Конечно давай. И форумный мод, думаю, тоже имеет смысл после доработки выложить.
С учетом популярности, даже попсовости пхпбыбы любые наработки для него становятся также популярными. Если действительно оформить все то, что мы сделали (и задумывали изначально) в мод, то будет вобще убойно. Типа, ставишь мод и твой пыхббы стару становиться xmpp-powered. И это самое поверед вовсе не кнопочка с лампочкой в профиле.
View user's profile Send private message Send Jabber-message Visit poster's website HabaHaba - Fast communicate
PostPosted: Sun Feb 18, 2007 5:52 am Reply with quote
nE0sIghT
Разработчик
Разработчик
Joined: 16 Feb 2007
Posts: 20




Ну вот и готова новая версия МоДа!
Линк прежний: http://www.phpbb.com/phpBB/viewtopic.php?t=307455

Переписал тучу всего. В общем и реализовал все, что хотел
Quote:
Название: Jabber IM MoD
Описание: MoD добавляет поддержку Jabber IM для форума: поддержку Jabber'a в профилях, все виды уведомлений, которые обычно совершаются по e-mail, активацию аккаунта с помощью JabberIM, отправление Jabber сообщений через Форум и др. Эти возможности могут быть совмещены со стандартными возможностями e-mail, но как альтернативу данный MoD добавляет возможность полного отключения e-mail функций Форума и замену их функциями Jabber
Версия: 1.1

Файл: http://clanctl.narod.ru/JabberIM_MoD.zip
Линк на phpBB.com: http://www.phpbb.com/phpBB/viewtopic.php?t=307455

Демо-форумы: умерли

МоД тестировался с серваком jabber.org(проверял только SSL, остальное должно работать) и с локальным JabberD сервером(с SSL и без)

МоД совместим с EasyMOD(проверялось с версиями 0.2.1a и 0.3.0 на phpBB 2.0.21 и 2.0.22)

Code:
##############################################################
## MOD History:
##
##   2007-02-17 - Version 1.1, "Too close to light"
##      - created separate admin category for Jabber settings;
##      - added Checking for MoD's requrements;
##      - added ability to activate account with Jabber;
##      - added ability to totally switch off board e-mail functions;
##      - added ability to test Jabber server settings in ACP;
##      - added ability to register Jabber account in ACP;
##      - all Jabber ID's now validating by user;
##      - added more JabberID checks: "already-in-use", ban check;
##      - added ability to ban JabberID via e-mail ban;
##      - added ability in ACP to allow to user reuse already registered JIDs;
##      - this forum features now using user's JabberID if present:
##            retrieve password, all group actions, registration,
##            private message notification, admin activation;
##      - totally rewrited Jabber notification, it seems now working well and
##            provide all notification features;
##      - rewrited Jabber messaging mechanism - it now integrated in
##            emailer class and using phpBB templates;
##      - tweaked class.jabber.php for phpBB: commented all stuff that MoD
##            not used, removed useless delays and sleeps, some changes
##            in socket class;
##   - removed unused lang strings;
##
##   2007-02-12 - Version 1.0, "In validating we trust!"
##   - some encoding changes in usercp_jabber.php
##   - two lines removed from russian lang
##   - some search changes in MoD's lang files
##   - wrong lang string fixed
##   - nasty "EM COMPATIBLE" line in MoD file moved to notes section
##   - REALY, i do not remember if there is some else...
##
##   2006-07-03 - Version 0.0.5
##   - added all losted code for notifications on JID
##      - added language check when sending messages
##   - added ''LITE`` version of iconv()
##   - optimized some parts of the mod
##
##   2006-07-02 - Version 0.0.4
##      - added SSL support
##   - fixed posibly ban issues
##   - using of iconv() now optional
##   - other that i forgot
##
##   2005-07-16 - Version 0.0.3
##      - fixed some errors in MoD syntax
##      - add russification MoD
##
##   2005-07-16 - Version 0.0.2
##      - fixed some errors in MoD syntax
##      - this MoD now EasyMod compliant
##
##   2005-07-15 - Version 0.0.1
##      - first public release
##
############################################################## 


Last edited by nE0sIghT on Sun Feb 18, 2007 6:12 am; edited 1 time in total
View user's profile Send private message Visit poster's website
PostPosted: Sun Feb 18, 2007 6:09 am Reply with quote
nE0sIghT
Разработчик
Разработчик
Joined: 16 Feb 2007
Posts: 20




leksey wrote:
Если судить по количеству приватных просьб к нам предоставить наши наработки, то функциональность востребованная.
Но мы отказывали по вполне объективным причинам.

Хм, зато я припомню только 4 юзеров за полтора года, которые так или иначе со мной связывались на счет мода

leksey wrote:
Не знаю, какой смысл просто в ссылке.
Думаю, лучше реализовать отсылку текста опцией (выключенной по дефолту, если совсем ненравится). Тем более админку сейчас делаешь

Смысл в самой идее Форума. Jabber(мыло) - это удобное дополнение для Форума, позволяющее оперативнее реагировать на ответы. Ну а читать/писать с жабы мессаги с/на ФОрум думаю лишнее.
Но опционально реализую отправку всего поста - это совсем не трудно

Quote:
Нужна какая-то резидентная часть. Типа, бота, который слушает эфир.
Не думаю, что это так сложно.

Ну о чем я и говорю, без какой-то серверной надстройки тут необойтись.
View user's profile Send private message Visit poster's website
PostPosted: Sun Feb 18, 2007 12:27 pm Reply with quote
leksey
Графоман
Графоман
Joined: 17 Dec 2004
Posts: 1909
Location: Москва, Тушино




nE0sIghT wrote:
Хм, зато я припомню только 4 юзеров за полтора года, которые так или иначе со мной связывались на счет мода

Это странно.
Вобще выбор, куда слать активацию ту же самую на mail или IM должны уже встраивать в сам скрипт. Отсылка всего подряд на мыло и его засветка это уже просто анахронизм.

nE0sIghT wrote:

Смысл в самой идее Форума. Jabber(мыло) - это удобное дополнение для Форума, позволяющее оперативнее реагировать на ответы. Ну а читать/писать с жабы мессаги с/на ФОрум думаю лишнее.
Но опционально реализую отправку всего поста - это совсем не трудно

На примере этого форума: приходят новые сообщения - я их читаю, на несколько отвечаю. А если бы ко мне пришли только 10 ссылок, то я сначала должен был бы по 10 этих ссылок протись, чтобы понять, что там написано.

nE0sIghT wrote:
Ну о чем я и говорю, без какой-то серверной надстройки тут необойтись.

А что мешает?
Тот, кто ставит мод поставит и бота. Мод для пхпбб разве не серверная компонента?
View user's profile Send private message Send Jabber-message Visit poster's website HabaHaba - Fast communicate
PostPosted: Sun Feb 18, 2007 2:15 pm Reply with quote
nE0sIghT
Разработчик
Разработчик
Joined: 16 Feb 2007
Posts: 20




leksey wrote:
Вобще выбор, куда слать активацию ту же самую на mail или IM должны уже встраивать в сам скрипт. Отсылка всего подряд на мыло и его засветка это уже просто анахронизм.

Согласен. Но есть очевидные причины тому, что мыло - дефакто основная ниточка, связывающая юзера и Форум. Причины эти - в доступности/распространенности протоколов.
Если сравнивать поп3/смтп с любым ИМ по популярности - второй проиграет всегда, ведь некоторые ИМ тоже используют мыло при регистрации(та же аська). То есть, мыло есть у каждого 1.1 пользователя сети, тогда как отдельный ИМ не стал эталоном, хотя каждый имеет свою орду поклонников.

leksey wrote:
На примере этого форума: приходят новые сообщения - я их читаю, на несколько отвечаю. А если бы ко мне пришли только 10 ссылок, то я сначала должен был бы по 10 этих ссылок протись, чтобы понять, что там написано.

Ну а предположим, 10 постов - цитаты статей, каждая на 2 экрана. А на интернет счету у юзера осталось 2 рубля - чтоб в жабе посидеть с друзьями пообщаться пару деньков до получки... ВОТ и пообщался...
И это не единственный минус. Есть определенные ограничения системы оповещений об ответах phpBB, так сказать защита от перегрузки сервера и контроль мыла(жабы) - для одного топика приходит уведомление только единожды, и приходить оно не будет, пока юзер не посетит пост. То бишь, вот написал какой-нить "оболтус" какую-нить чушь в топике - пришло уведомление, ты прочитал его - "чушь, значит не буду туда заходить" - а после него написал кто-нить очень нужную тебе инфу - а уведомление не придет, потому что в топик ты не заходил.
Ну а если снять это ограничение, то возникнет другая проблема - предположим забросил чел свою жабу, и плевать он хотел на Форум и то, что зареген на уведомления с 30 топиков. А если таких юзеров 10 будет? или 20?? Это уже называется дыра в безопасности, которая в конечном итоге приведет к перегрузке сервера и недоступности ресурса.
Я конечно за унификацию, но в пределах разумной безопасности и рациональности.

leksey wrote:
А что мешает?
Тот, кто ставит мод поставит и бота. Мод для пхпбб разве не серверная компонента?

И да и нет. МоД - серверная компонента, работающая по запросу(для приема сообщений нужна постоянная работа). А БОТ - дополнительная надстройка. Не у каждого есть возможность поставить БОТа в постоянную работу, потому что не каждый хоститься "у себя", да и не каждый платный хостинг разрешит установку БОТа.
View user's profile Send private message Visit poster's website
Jabber IM MoD - мод для жабберизации phbBB
JRuDevels Forum Index » Разработка и проектирование [Devel]
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
All times are GMT + 3 Hours  
Page 1 of 4  
Goto page 1, 2, 3, 4  Next
  
  
 Post new topic  Reply to topic  


Powered by phpBB © 2001-2004 phpBB Group
phpBB Style by Vjacheslav Trushkin