[BETA] Jabber IM MoD 1.1.2

Здесь авторы могут постить бета-версии своих модификаций для phpBB 2.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!

Сообщение Flat 26.03.2007 10:57

nE0sIghT писал(а):1) попробуй удалить из файла includes/class.jabber.php две строки:

Код:set_magic_quotes_runtime(0);

Код:set_magic_quotes_runtime(get_magic_quotes_gpc());

Это помогло и мне в админке, спасибо.

Нашел пару других проблем. ВО первых в профиле пользователя два поля пустых, пришлось из англиской версии вытащить две переменных недостающих в русской.
Аналогично с одной переменной в админке.

А во вторых перестал работать зараза :( Все сделал, удачный тест у меня и еще у пары пользователей. а потом просто перестал посылать сообщения и все. По логам jabberd он удачно коннектится и отцепляется, но сообщение создать не может. Ума не приложу где рыть. Играл с настрйоками разно всяко, удалял и заново создавал поля для мода в базе, неработает.
Mhash это критично? его у меня нет.
Аватара пользователя
Flat
phpBB 1.4.3
 
Сообщения: 67
Зарегистрирован: 05.07.2005 14:52


Сообщение nE0sIghT 26.03.2007 15:25

Flat писал(а):ВО первых в профиле пользователя два поля пустых, пришлось из англиской версии вытащить две переменных недостающих в русской.
Аналогично с одной переменной в админке.

Угу, забыл добавить их в русский ланг-файл, но не стал ничего отписывать, это не критично для БЕТы

Flat писал(а):А во вторых перестал работать зараза :( Все сделал, удачный тест у меня и еще у пары пользователей. а потом просто перестал посылать сообщения и все. По логам jabberd он удачно коннектится и отцепляется

Какое значение стоит в php.ini для magic_quotes_runtime?
Я пока не определился с одной неточностью в мануале PHP:
Для magic_quotes_runtime написано, что она влияет и на чтение файлов(равно сетевых потоков), но для fread() написано, что это бинарно-безопасное чтение файла - несоответствие млин :(
Если magic_quotes_runtime = 1(и оно влияет на сетевые потоки), то по идее нужно сделать вот что:
Код: Выделить всё
#
#-----[ OPEN ]------------------------------------------
#
includes/class.jabber.php
#
#-----[ FIND ]------------------------------------------
#
$buffer = fread($this->active_socket, $chunksize);
#
#-----[ REPLACE WITH ]------------------------------------------
#
         if(get_magic_quotes_runtime())
            $buffer = stripslashes(fread($this->active_socket, $chunksize));
         else
            $buffer = fread($this->active_socket, $chunksize);

Пробуй...

Flat писал(а):Mhash это критично? его у меня нет.

Для большинства серверов - нет. Критично только в том случае, если на сервере запрещена авторизация "PLAIN TEXT"
nE0sIghT
phpBB 1.2.1
 
Сообщения: 26
Зарегистрирован: 13.02.2007 4:02

Сообщение VEG 12.04.2007 14:18

Классный мод. Но на самом деле не очень полезный. Полезным был бы мод, который бы оповещал о всех новых темах и ответах в специальной Jabber чат-комнате форума. То есть пользователям тогда стимул был бы Jabber-ом пользоваться — трепаться впустую друг с другом просто так и плюс получать информацию о новых сообщениях в общий канал.
Аватара пользователя
VEG
phpBB 2.0.0
 
Сообщения: 124
Зарегистрирован: 29.03.2006 20:13
Откуда: Минск

Сообщение VEG 13.04.2007 13:36

Еще очень полезно было бы написать веб-чат, который на самом деле являлся бы каналом на conference.jabber.ru. То есть пользователи без регистрации чтобы могли сидеть в канале, не выходя из сайта. Ну и всегда у их останется возможность подключиться из клиента. А еще если бы был бот, который смог бы синхронизировать комнаты IRC и Jabber — это была бы вообще песня.
Логин с сайта в конференцию без регистрации можно сделать под одной учетной записью для всего сайта (типа bla@conference.jabber.ru/VEG)...
Аватара пользователя
VEG
phpBB 2.0.0
 
Сообщения: 124
Зарегистрирован: 29.03.2006 20:13
Откуда: Минск

Сообщение Alexalexis 14.04.2007 3:15

VEG
А причём тут phpBB ? :roll:
Alexalexis
phpBB 2.0.4
 
Сообщения: 216
Зарегистрирован: 03.01.2007 4:01

Сообщение VEG 15.04.2007 13:33

Ну оформить его в виде дополнения к phpbb :) Чтобы работало с его авторизацией и тому подобное.
Аватара пользователя
VEG
phpBB 2.0.0
 
Сообщения: 124
Зарегистрирован: 29.03.2006 20:13
Откуда: Минск

Сообщение nE0sIghT 17.04.2007 13:58

VEG писал(а):Классный мод. Но на самом деле не очень полезный. Полезным был бы мод, который бы оповещал о всех новых темах и ответах в специальной Jabber чат-комнате форума.

Форум оповещает юзеров персонально, к чему флуд в общий канал?
Затем, о чьих ответах будет форум оповещать если конференция предполагает общность, а не персонального юзера?
НУ а если форум будет оповещать обо всех новых темах/сообщениях, представьте какой поток флуда польется в чате - оно нужно?

VEG писал(а):То есть пользователям тогда стимул был бы Jabber-ом пользоваться — трепаться впустую друг с другом просто так и плюс получать информацию о новых сообщениях в общий канал.

Я бы сказал, что МоД создан не для стимулирования юзеров в плане пользования Jabber'om, скорее наоборот - для удобства общения на Форуме тех, у кого Jabber есть.
Насчет информации - все сказано выше, добавлю, что такая "информация" в перемешку с общими сообщениями думаю только бесить начнет

VEG писал(а):Еще очень полезно было бы написать веб-чат, который на самом деле являлся бы каналом на conference.jabber.ru. То есть пользователи без регистрации чтобы могли сидеть в канале, не выходя из сайта. Ну и всегда у их останется возможность подключиться из клиента. А еще если бы был бот, который смог бы синхронизировать комнаты IRC и Jabber — это была бы вообще песня.
Логин с сайта в конференцию без регистрации можно сделать под одной учетной записью для всего сайта (типа bla@conference.jabber.ru/VEG)...

Согласен, полезно было бы... Только какое отношение веб-чат, синхронизация комнат IRC и конференций Jabber и Тем Более БОТ(уж точно смутно ассоциирующийся у меня с модификацией phpBB) имеют отношение к общению на Форуме??! Запрос фич не туда отправлен

Вообще нечто подобное обсуждалось на jrudevels.org(да и на phpBB.com) - речь шла про БОТа и про ЧАТ. Я свою позицию там уже высказал, моя цель - создать модификацию phpBB, максимально упрощающую общение на Форуме, используя Jabber. ЧАТы, БОТы - это все к модификации никак не относится.
Да и если серьезно, создать все это совсем не трудно. Если есть девелопер, готовый взяться - могу помочь консультациями.

Ну и патч, позволяющий использовать расширенную авторизацию без модуля MHASH(в проверке требований на предупреждения о mhash можно внимания не обращать)
Код: Выделить всё
#
#-----[ OPEN ]------------------------------------------
#
includes/class.jabber.php
#
#-----[ FIND ]------------------------------------------
#
!function_exists(mhash)
#
#-----[ REPLACE ALL IN FILE WITH ]------------------------------------------
#
!function_exists(sha1)
#
#-----[ FIND ]------------------------------------------
#
$zerok_hash = mhash(MHASH_SHA1, $this->password);
$zerok_hash = bin2hex($zerok_hash);
#
#-----[ REPLACE WITH ]------------------------------------------
#
$zerok_hash = sha1($this->password);
#
#-----[ FIND ]------------------------------------------
#
$zerok_hash = mhash(MHASH_SHA1, $zerok_hash . $zerok_token);
$zerok_hash = bin2hex($zerok_hash);
#
#-----[ REPLACE WITH ]------------------------------------------
#
$zerok_hash = sha1($zerok_hash . $zerok_token);
#
#-----[ FIND ]------------------------------------------
#
$zerok_hash = mhash(MHASH_SHA1, $zerok_hash);
$zerok_hash = bin2hex($zerok_hash);
#
#-----[ REPLACE WITH ]------------------------------------------
#
$zerok_hash = sha1($zerok_hash);
#
#-----[ FIND ]------------------------------------------
#
<digest>" . bin2hex(mhash(MHASH_SHA1, $this->stream_id . $this->password)) . "</digest>";
#
#-----[ REPLACE WITH ]------------------------------------------
#
<digest>" . sha1($this->stream_id . $this->password) . "</digest>";
nE0sIghT
phpBB 1.2.1
 
Сообщения: 26
Зарегистрирован: 13.02.2007 4:02

Сообщение |{0N(T@NT1N 14.08.2007 12:31

Код: Выделить всё
##############################################################
## MOD Title: phpBB JabberIM MoD
## MOD Versions: 1.1.2
## Translation:  Russian
##############################################################
#
#-----[ OPEN ]------------------------------------------
#
language/lang_russian/lang_admin.php
#
#-----[ FIND ]------------------------------------------
#
$lang['Default_jabber_language'] = 'Язык jabber-сообщений по умолчанию';
#
#-----[ AFTER, ADD ]------------------------------------------
#
$lang['Jabber_post_len'] = 'Укажите число символов отправляемого поста';
$lang['Jabber_post_len_explain'] = 'Определяет, сколько символов нового поста будут посланы пользователю, если он указал получать часть поста.<br />Значение ноль, чтобы включить полный пост.';
#
#-----[ OPEN ]------------------------------------------
#
language/lang_russian/lang_admin.php
#
#-----[ FIND ]------------------------------------------
#
$lang['Jabber_server'] = 'Текущий Jabber сервер, используемый Форумом';
#
#-----[ AFTER, ADD ]------------------------------------------
#
$lang['Public_view_jid'] = 'Всегда показывать мой JabberID';
#
#-----[ FIND ]------------------------------------------
#
$lang['Always_jnotify_explain'] = 'Когда кто-нибудь ответит на тему, в которую вы писали, вам высылается сообщение на JabberID. Это можно также настроить при размещении сообщения.';
#
#-----[ AFTER, ADD ]------------------------------------------
#
$lang['Jnotify_post'] = 'Уведомление с частью новых сообщений на JabberID';
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM
Аватара пользователя
|{0N(T@NT1N
phpBB 1.4.3
 
Сообщения: 64
Зарегистрирован: 09.08.2007 17:52
Откуда: Украина

Сообщение FladeX 14.08.2007 16:36

Мод интересный, сегодня попробую поставить. Только пару небольших предложений: во-первых, в viewprofile имхо кнопочку джаббера лучше бы сделать после кнопки аськи, как-то логичнее было бы, ибо сервисы немного похожи. А во-вторых, на моем форуме установлен мод online-offline, там для subSilver используются абсолютно такие же кнопки с лампочками. :?
//
// Okay, let's do the loop, yeah come on baby let's do the loop
// and it goes like this ...
Интеграция phpBB 3.0.0 и Slaed 2.5 lite
Сверстал стилей для phpBB: 5
Аватара пользователя
FladeX
phpBB 2.0.18
 
Сообщения: 1162
Зарегистрирован: 02.06.2007 23:44
Откуда: Саранск

Сообщение fskon 15.08.2007 0:02

Не понимаю. Может в адинке в настройках дело...
При выкл. в админке емайл, в memberlist исчезает колонка с мылом, значит S_EMAIL_HIDE работает. Но ссылка не меняется, а просто исчезает колонка. Пример работы брал по ссылке в первом сообщении, там кнопка емайл ведет на профиль.
Во viewtopic никак не удалось добиться появления кнопки, емайл исчезает если в админке галка стоит.
На скриншоте выбор ssl стоит ДА. Знаю что сервер поддерживает ssl, но выбор не активен и кажет нет.
В админке:
Проверка конфигурации говорит доступен Iconv.
Адрес Jabber-сервера: jabber.sitename.com
Порт сервера: 5222
Имя jabber пользователя: Nickname@sitename (так прочел на этом жабе сервере)
Пункт - Настройки теста/Зарегистрировать пользователя, если не существует - стоит нет. При смене на да, действие опции не меняется, все равно кажет нет.

Все кажется верно, но при Проверить соединение получаю - Подключение не удалось!
fskon
phpBB 2.0.8
 
Сообщения: 331
Зарегистрирован: 26.05.2006 7:48
Откуда: msk.reg.ru

Сообщение |{0N(T@NT1N 17.08.2007 10:37

Перевод-то переводом, но вот не работает

Сам ставил как ручкам, так и с помощью easymod - результат одинаков

nE0sIghT в личку не отвечает не тут на phpBB Guru не на JRuDevels, на емыл тоже

В Админке вижу, что соединение есть, Mhash недоступен, но это с патчем писали не обращать внимание, Iconv работает, OpenSSL как это не странно не работает, а на сервере SSL поддерживается. но это не так важно - идем обычным соединением по порту 5222. Вижу, что пользователь Форума с Джаббер сервером коннектится, а вот сообщения никто не получает, как при регистрации, так и при новых сообщениях в топиках

+ к тому когда пытаешься просмотреть "Пользователи" выпадает ошибка: "Parse error: syntax error, unexpected T_DOUBLE_ARROW in C:\Apache\localhost\forum\memberlist.php on line 306" в этой строке все как описано JabberIM.txt, танцы с бубном не помогают :'(
Аватара пользователя
|{0N(T@NT1N
phpBB 1.4.3
 
Сообщения: 64
Зарегистрирован: 09.08.2007 17:52
Откуда: Украина

Сообщение |{0N(T@NT1N 18.08.2007 13:34

|{0N(T@NT1N писал(а): + к тому когда пытаешься просмотреть "Пользователи" выпадает ошибка: "Parse error: syntax error, unexpected T_DOUBLE_ARROW in C:\Apache\localhost\forum\memberlist.php on line 306" в этой строке все как описано JabberIM.txt, танцы с бубном не помогают :'(

Эти грабли убрал, но сообщения как не ходили, так и не ходят :cry: HELP :shock:
Аватара пользователя
|{0N(T@NT1N
phpBB 1.4.3
 
Сообщения: 64
Зарегистрирован: 09.08.2007 17:52
Откуда: Украина

Сообщение nE0sIghT 19.08.2007 21:43

FladeX писал(а):... в viewprofile имхо кнопочку джаббера лучше бы сделать после кнопки аськи, как-то логичнее было бы, ибо сервисы немного похожи.

Скажите это всем страждущим скорой гибели аськи - они Вас уничтожат мгновенно :))))
Ну а если серьезно, то иконка аськи должна идти последней по немного другим сооброжениям... Дело в том, что иконки аськи существует две и одна из них показывает онлайн статус аккаунта ICQ - проще говоря в этом месте распологается ссылка на внешний интернет источник. Соответственно запрос к нему тормозит загрузку страницы, а потому иконка эта идет последней

FladeX писал(а):А во-вторых, на моем форуме установлен мод online-offline, там для subSilver используются абсолютно такие же кнопки с лампочками. :?

Ну лампочка - оффициальный символ Jabber. Но кнопки мона менять - рисуй свои ) Те что в моде - взяты с phpBB3

|{0N(T@NT1N писал(а):nE0sIghT в личку не отвечает не тут на phpBB Guru не на JRuDevels, на емыл тоже

Отдыхал просто вот и не доступен был )

|{0N(T@NT1N писал(а):В Админке вижу, что соединение есть,

Это значит, что конект нормальный. Трабл в получении сообщений... Может быть что-то с кодировками. Русский язык на Форуме поставлен?? Если нет - то русские сообщения получить не получиться

Mhash недоступен, но это с патчем писали не обращать внимание

Все верно, если буду делать новую версию, эта строка пропадет

OpenSSL как это не странно не работает, а на сервере SSL поддерживается.

Поддержка OpenSSL должна быть не только на сервере, а в PHP

Вижу, что пользователь Форума с Джаббер сервером коннектится, а вот сообщения никто не получает, как при регистрации, так и при новых сообщениях в топиках

Логи сервера есть возможност просмотреть?
В любом случае думаю дело с языком на Форуме

|{0N(T@NT1N писал(а): + к тому когда пытаешься просмотреть "Пользователи" выпадает ошибка:

-10 и +10 строчек кода в студию. И исправления(если сам делал).


Рад бы что-то конкретно подсказать, но думаю просто напросто нужно проверить еще раз правильность настроек, правильность JID'ов и т.п.
nE0sIghT
phpBB 1.2.1
 
Сообщения: 26
Зарегистрирован: 13.02.2007 4:02

Сообщение |{0N(T@NT1N 20.08.2007 10:35

nE0sIghT писал(а):Это значит, что конект нормальный. Трабл в получении сообщений... Может быть что-то с кодировками. Русский язык на Форуме поставлен?? Если нет - то русские сообщения получить не получиться

Русский конечно стоит и по умолчанию
Все верно, если буду делать новую версию, эта строка пропадет

Когда ждать эту "новую" версию?
Поддержка OpenSSL должна быть не только на сервере, а в PHP

Это понятное дело, я и не стал на это акцент делать
Логи сервера есть возможност просмотреть?
В любом случае думаю дело с языком на Форуме

Логи смотрел, но ошибок не нашел
В логе форума access.log
Код: Выделить всё
127.0.0.1 - - [20/Aug/2007:09:10:01 +0300] "GET /profile.php?mode=jabber&u=2 HTTP/1.1" 200 5003
127.0.0.1 - - [20/Aug/2007:09:10:20 +0300] "POST /profile.php?mode=jabber&u=2 HTTP/1.1" 200 4218
127.0.0.1 - - [20/Aug/2007:09:10:25 +0300] "GET /index.php HTTP/1.1" 200 5894

В логе ejabberd.log
Код: Выделить всё
=INFO REPORT==== 2007-08-20 09:10:20 ===
I(<0.415.0>:ejabberd_listener:90): (#Port<0.545>) Accepted connection {{IPaddress1},1428} -> {{IPaddress2},5222}

=INFO REPORT==== 2007-08-20 09:10:20 ===
I(<0.613.0>:ejabberd_c2s:382): (#Port<0.545>) Accepted legacy authentication for forum@jabber.mydomainname.com/forum.mydomainname.com

=INFO REPORT==== 2007-08-20 09:10:20 ===
I(<0.613.0>:ejabberd_c2s:1161): (#Port<0.545>) Close session for forum@jabber.mydomainname.com/forum.mydomainname.com

-10 и +10 строчек кода в студию. И исправления(если сам делал).
Тут видать ошибку сам допустил, когда поставил второй раз ручками и третий с помощью эсимода, то ошибка ушла. Если интересно то могу поднять бекапы и сравнить, что и как было
Аватара пользователя
|{0N(T@NT1N
phpBB 1.4.3
 
Сообщения: 64
Зарегистрирован: 09.08.2007 17:52
Откуда: Украина

Сообщение nE0sIghT 20.08.2007 16:13

Такс по логу видно что мессаги вообще не посылаются.
Значит нужно проверить енти самые мессаги.

Внеси изменения:
Код: Выделить всё
#
#-----[ OPEN ]------------------------------------------
#
includes/functions.php
#
#-----[ FIND ]------------------------------------------
#

      $jabber->enable_logging = NULL;
#
#-----[ AFTER, ADD ]------------------------------------------
#
$lnk = fopen("JabberMoD.log", "a+");
fwrite($lnk, "Starting log on " . date("d-m-Y H:i:s") . "\nConnecting... ");
#
#-----[ FIND ]------------------------------------------
#
      if($jabber->Connect())
      {
#
#-----[ AFTER, ADD ]------------------------------------------
#
fwrite($lnk, "OK\nAuth... ");
#
#-----[ FIND ]------------------------------------------
#
         if($jabber->SendAuth())
         {
#
#-----[ AFTER, ADD ]------------------------------------------
#
fwrite($lnk, "OK\nPresence... ");
#
#-----[ FIND ]------------------------------------------
#
            if($jabber->SendPresence("invisible", NULL, ""))
            {
#
#-----[ AFTER, ADD ]------------------------------------------
#
fwrite($lnk, "OK\nDumping vars...\n ");
fwrite($lnk, var_export($rows, true) . "\nOK\n");
#
#-----[ FIND ]------------------------------------------
#
               foreach($rows AS $row)
               {
#
#-----[ AFTER, ADD ]------------------------------------------
#
fwrite($lnk, "\nSending message... ");
#
#-----[ FIND ]------------------------------------------
#
$sql = "DELETE FROM " . JABBER_TABLE . "
#
#-----[ BEFORE, ADD ]------------------------------------------
#
fwrite($lnk, "OK\n");
#
#-----[ FIND ]------------------------------------------
#
$jabber->Disconnect();
#
#-----[ BEFORE, ADD ]------------------------------------------
#
fwrite($lnk, "Disconnecting\nStopping log\n---------------------\n\n");
fclose($lnk);
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#


Код не проверял - могут быть синтаксические ошибки
Несколько раз попробуй отправить мессаги на жабу - в корне пхпхББ появится файл JabberMoD.log - его листинг сюды


|{0N(T@NT1N писал(а):Русский конечно стоит и по умолчанию

Он должен быть выбран в профиле у получателя. Если выбран - с кириллицей все должно быть ок.

|{0N(T@NT1N писал(а):Когда ждать эту "новую" версию?

Если честно, я уже давно перешел на phpBB3 и развивать этот МоД врядли буду. Но как появится настроение я просто подчищу код и отправлю на валидацию... Может быть через полгода, а может быть и на этой неделе... Кто знает
Последний раз редактировалось nE0sIghT 20.08.2007 17:29, всего редактировалось 1 раз.
nE0sIghT
phpBB 1.2.1
 
Сообщения: 26
Зарегистрирован: 13.02.2007 4:02

Пред.След.

Вернуться в Бета-версии модов для phpBB 2.0.x

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0