суббота, 7 ноября 2009 г.

Модуль связи PunBB 1.3 и Drupal 6

Модуль связи PunBB и Drupal
Изменения:
1. Переработка модуля для версии Drupal 6
2. Усложнение авторизации и регистрации форума punbb привело к изменению модуля.

Напомню еще раз характеристики:
Только через Drupal. Рекомендую на пунбб вообще отключить регистрацию.
1. Единая регистрация
2. Единая авторизация
3. Единый выход
4. Единая смена учетных данных (В данной версии: почта, временная зона и пароль)
5. Анонс нодов на форуме

Доступ внутри node к информации о топике:
$node['punbb'] == array('id', //ид топика
                        'subject', //тема топика
                        'posted', //автор топика
                        'url'); //url до топика на форуме

Дата разработки: ноябрь 2009
Основное место обсуждения

Скачать архив (Размер файла: 8КБ)

44 комментария:

  1. when i login. -> can not authorize user at forum. what i need do ?

    ОтветитьУдалить
  2. Module has new version (http://skahin.blogspot.com/2009/11/punbb-drupal.html)?
    Drupal and forum install on one domain?

    ОтветитьУдалить
  3. Скачал твой модуль поставил на сайт, стоит зтии 1.3 - но старые юзеры из друпала не могут заходить на форум.
    Как дать права всем старым юзерам из друпала заходить на новый форум?

    ОтветитьУдалить
  4. Видимо необходим еще дополнительный конвертер, который бы синхронизировал существующих пользователей друпала, пунбб и создавал недостающих.
    Скорей это не дело этого модуля, но тема заслуживает внимания - может как-нибудь сделаю.

    ОтветитьУдалить
  5. Спасибо за оперативный ответ!
    Т.е. мне надо полностью отключить регистрацию на форуме ( что я и сделал), но у меня там есть пользователь с правами администратора форума - его удалить?
    И еще - как я понял новые пользователи на друпале будут автоматически регистрироваться и на форум, а старые нет?

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

    ОтветитьУдалить
  7. не работает ни с новыми пользователями друпала ни со старыми.
    можно подробную инструкцию по установке и настройке модуля и сайта?

    ОтветитьУдалить
  8. Внутри есть файл readme:
    УСТАНОВКА:
    1. Установите Drupal (Модуль расчитан на ветку 6.x)
    2. Установите PunBB на тотже поддомен и в туже БД, что и Drupal (Во избежание перекрестных названий таблиц воспользуйтесь префиксом)
    3. Установите модуль PunBB на Drupal
    4. В администрации (По адресу /admin/content/punbb) задайте путь до форума

    ОтветитьУдалить
  9. Я как понял это для вновь ставящих друпал и форум. А если уже стоит друпал и форум,базы понятно разные.то это уже невозможно?

    ОтветитьУдалить
  10. Да.
    Может, если есть на сайте и форуме пользователи с одинаковым сочетанием логин/пароль, может тогда авторизация и пройдет.

    ОтветитьУдалить
  11. >>4. В администрации (По адресу /admin/content/punbb) задайте путь до форума

    Не задается. Типа как сохраняет, потом перезагружается страница и поля остаются пустЬІми. =( Что делать?



    Но что хотелось бЬІ увидеть в следующей версии, так ето:
    *граббер пользователей с форума на сайт и с сайта на форум
    * возможность отображения форума в основном блоке сайта (фрейм?)
    * двойная регистрация не тольно сайт-форум, а и форум-сайт (на сколько я понял такой нет)
    * замена профиля на сайте профилем на форуме(или наоборот), а не просто соединение некоторЬІх полей. Или добавление полей идентичнЬІх созданнЬІх на друпале в сам punBB и полное дублирование.

    (прошу прощения за мой корявЬІй русский)

    ОтветитьУдалить
  12. Не знаю даже, надо проверять
    Если хватает навыков, то можно указать путь до форума вручную в таблице drupal_forum, поле path

    ОтветитьУдалить
  13. Там нет такого поля. Кинь, пожалуста, полн. список параметров, которЬІе должнЬІ бЬІть в таблице (ну и форматЬІ даннЬІх). А то там только 2 записи=)

    ОтветитьУдалить
  14. Там не поля, а записи в таблице, вот пример из установочного файла:
    INSERT INTO {drupal_forum} VALUES
    ('path', 'forum'), --локальный путь до форума
    ('http_path', '/forum/'), --http путь до форума
    ('allow_post', '1'), --дублировать новости на форуме
    ('delete_posts', '1') --удалять темы вместе с новостями

    Если такие записи уже есть, то их нужно редактировать!

    ОтветитьУдалить
  15. allow_post smallint(5) 1
    delete_posts smallint(5) 1
    path varchar(255)cp1251_general_ci /home/vynnyche/domains/brainland.org.ua/public_html/forum/
    http_path varchar(255) cp1251_general_ci http://brainland.org.ua/forum/

    Теперь в таблице Drupal_forum все перечисленное есть, как я написал вЬІше. (раньше бЬІли какие-то левЬІе записи. Я удалил и создал новую таблицу[или зря?]).

    Вот только когда захожу в настройки модуля, то там все равно пустЬІе поля =(

    ОтветитьУдалить
  16. Зря вы удалили таблицу. Структуру таблицы можно увидеть в установочном файл punbb.install
    Копирую из установочного файла (фигурные скобки не нужны):
    Скрипт создания таблицы:
    CREATE TABLE {drupal_forum} (
    {name} VARCHAR( 250 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
    {value} VARCHAR( 250 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL
    ) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci

    Скрипт вставки настроек по умолчанию:
    INSERT INTO {drupal_forum} VALUES
    ('path', 'forum'),
    ('http_path', 'http://".$_SERVER['SERVER_NAME']."/forum/'),
    ('allow_post', '1'),
    ('delete_posts', '1')
    Вот последний инсерт должен содержать ваши настройки. После первой вставки дальше данные надо уже редактировать в этой таблице.

    ОтветитьУдалить
  17. Какая версия друпала еще у вас? То что тут выложено - это для 6ой версии.

    ОтветитьУдалить
  18. 6-ая конечно же=)

    вот почему скрипт не работает:
    Скрипт указанЬІй вЬІше не работал из-за фигурнЬІх скобок. Когда убрал, перестал вЬІдавать ошибку.

    Запустились и тот и другой скриптЬІ. Таблица создалась. А вот второй скрипт написало что стоздало записи в таблице, но я почемуто их не вижу. (хотя смотрю где нужно, как думаю: в phpmysql в моей БД в таблице друпал_форум только 2 значения: нейм и валью. Других нету)

    ОтветитьУдалить
  19. В phpmyadmin нужно нажать обзор, чтобы увидеть данные.
    Или выполнить запрос вручную:
    select * from drupal_forum

    ОтветитьУдалить
  20. Итак: Таблица есть, заполненная.
    Но вот в настройках так ничего и не можна сменить(как и раньше страница перезагружается и все поля стают пустЬІми). И единого входа в систему нет. И единой регистрации тоже. Зарегестрировал пользователя на друпале, на ПанББ не зарегестрировался. Может, легче будет в аське списатся как-то?=)

    ОтветитьУдалить
  21. Думаю разговоры ни к чему не приведут.

    Сделай бэкап файлов, базы и вышли на почту (почта указана в правой колонке блога). Если есть возможность то еще страницу с информацией о пхп (php.ini или phpinfo();)

    ОтветитьУдалить
  22. http://dl.dropbox.com/u/5732489/3.7z

    Логин/пасс нужно?

    ОтветитьУдалить
  23. В архиве только файлы, нужен еще дамп базы данных сайта и форума

    ОтветитьУдалить
  24. *архів*\sites\default\files\backup_migrate\manual\


    Но на всякий случай(если той не подойдет):
    http://dl.dropbox.com/u/5732489/localhost.sql.zip

    ОтветитьУдалить
  25. Сдвиги есть? Или так и не ясна причина неработоспособности?

    ОтветитьУдалить
  26. Никак не могу включить апач на локальном компе :)
    Посмотрю в течение этой недели.

    ОтветитьУдалить
  27. Наконец проверил.
    Действительно в инсталяторе модуля ошибка.
    Изменил инсталятор. Вам можно переустановить модуль или выполнить последовательно 2 эти команды:
    drop table Drupal_drupal_forum;
    RENAME TABLE drupal_forum TO Drupal_drupal_forum;

    После этого настройки начали показываться на вашем сайте.

    ОтветитьУдалить
  28. Да, настройки начали показЬІватся на сайте, но

    Почему-то не хочет видеть форум.
    Http path to Punbb:
    http://brainland.org.ua/forum/

    Path to Punbb:
    /forum/

    При том что на brainland.org.ua/forum/ заходит. Почему-то говорит: "Wrong forum path. Try again"

    Не понимаю в чем проблема=)

    ОтветитьУдалить
  29. Потому, что путь до форума не верный. Путь должен быть или относительным или полным от корня ФС.
    В вашем случае подойдет относительный: forum/

    ОтветитьУдалить
  30. ПробЬІвал. ВЬІдает вот ето:

    "user warning: Unknown column 'Drupal_name' in 'where clause' query: UPDATE Drupal_drupal_forum SET Drupal_value = "forum" WHERE Drupal_name = "path" in /home/vynnyche/domains/brainland.org.ua/public_html/sites/all/modules/punbb/punbb.module on line 431.
    user warning: Unknown column 'Drupal_name' in 'where clause' query: UPDATE Drupal_drupal_forum SET Drupal_value = "http://brainland.org.ua/forum" WHERE Drupal_name = "http_path" in /home/vynnyche/domains/brainland.org.ua/public_html/sites/all/modules/punbb/punbb.module on line 432.
    user warning: Unknown column 'Drupal_name' in 'where clause' query: UPDATE Drupal_drupal_forum SET Drupal_value = "1" WHERE Drupal_name = "allow_post" in /home/vynnyche/domains/brainland.org.ua/public_html/sites/all/modules/punbb/punbb.module on line 433.
    user warning: Unknown column 'Drupal_name' in 'where clause' query: UPDATE Drupal_drupal_forum SET Drupal_value = "1" WHERE Drupal_name = "delete_posts" in /home/vynnyche/domains/brainland.org.ua/public_html/sites/all/modules/punbb/punbb.module on line 434."



    Так же пробЬІвал и полнЬІй(/home/vynnyche/domains/brainland.org.ua/public_html/forum/). ВЬІшло то же самое.

    ОтветитьУдалить
  31. Поставил "forum\" вручную через phpmyadmin.

    Теперь на сайте вЬІдает ошибку:
    "user warning: Table 'vynnyche_upchk.Drupal_punbb_config' doesn't exist query: select conf_value from Drupal_punbb_config WHERE conf_name = 'o_default_lang' in /home/vynnyche/domains/brainland.org.ua/public_html/sites/all/modules/punbb/punbb.module on line 31.
    user warning: Table 'vynnyche_upchk.Drupal_punbb_topics' doesn't exist query: SELECT ft.id, ft.subject, ft.posted FROM Drupal_punbb_topics ft, Drupal_drupal_forum_link dfl WHERE ft.id = dfl.thread_id AND dfl.nod_id = 10 in /home/vynnyche/domains/brainland.org.ua/public_html/sites/all/modules/punbb/punbb.module on line 228."

    ОтветитьУдалить
  32. Извиняюсь, там действительно ошибки в обработке префиксов таблиц. Все полностью проверю в выходные.

    ОтветитьУдалить
  33. Ваш сайт чет у меня дико медленно пашет, фиг знает че такое.
    Поставил последние версии друпала и пунбб, поставил теже префиксы, что у вас.
    Изменения можете скачать по прежнему адресу, необходимо только заменить файлы.

    Изменения:
    22:47 05.06.2010 (спасибо U Ku Shu )
    1. Исправлены ошибки неправильной обработки префиксов таблиц форума (префикс применялся два раза: первый раз от друпала, второй раз от пунбб).
    2. Исправлена ошибка при работе с драйвером mysqli

    ОтветитьУдалить
  34. А у меня все еще вЬІдает вот ето:

    "
    user warning: Unknown column 'dfl.thread_id' in 'where clause' query: SELECT ft.id, ft.subject, ft.posted FROM punbb_topics ft, Drupal_drupal_forum_link dfl WHERE ft.id = dfl.thread_id AND dfl.nod_id = 1 in /home/vynnyche/domains/brainland.org.ua/public_html/sites/all/modules/punbb/punbb.module on line 230.
    user warning: Unknown column 'dfl.thread_id' in 'where clause' query: SELECT ft.id, ft.subject, ft.posted FROM punbb_topics ft, Drupal_drupal_forum_link dfl WHERE ft.id = dfl.thread_id AND dfl.nod_id = 1 in /home/vynnyche/domains/brainland.org.ua/public_html/sites/all/modules/punbb/punbb.module on line 230.
    user warning: Unknown column 'dfl.thread_id' in 'where clause' query: SELECT ft.id, ft.subject, ft.posted FROM punbb_topics ft, Drupal_drupal_forum_link dfl WHERE ft.id = dfl.thread_id AND dfl.nod_id = 10 in /home/vynnyche/domains/brainland.org.ua/public_html/sites/all/modules/punbb/punbb.module on line 230.
    "
    Я полностью удалил прошлЬІй и установил новЬІй, которЬІй скачал по ссЬІлке сверху страницЬІ.=(((


    А на тему "медленно пашет"... не знаю, у меня проблем вообще нет. Все пашет очень шустренько и безпроблемно. Только вот с форумом проблема О_о
    Уже думаю не легче ли будет установить phpBB или SMF)
    Но все же хочется punBB(((

    Но зато уже логонится как на сайт, так и на форум))) Уже радует)))
    Но вот сверху страници такая вот штука напрягает)))

    (прошу прощения за такой "флуд")

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

    ОтветитьУдалить
  36. Или можно переименовать столбцы в таблице вручную без переустановки:
    ALTER TABLE `Drupal_drupal_forum_link` CHANGE `Drupal_thread_id` `thread_id` INT( 8 ) UNSIGNED NOT NULL ,
    CHANGE `Drupal_nod_id` `nod_id` INT( 8 ) UNSIGNED NOT NULL

    ОтветитьУдалить
  37. О! Пашет) Пасибки большое от всей УкраинЬІ и от меня в частности)))

    А будет ли модуль обновлятся? Я имею ввиду новЬІе версии=)
    Ну и если будут, то когда ждать?=)

    ОтветитьУдалить
  38. Пожалуйста.
    Сейчас планов по обновлению нет, хотя не решенных проблем достаточно.
    На текущий момент занимаюсь только исправлением ошибок.

    ОтветитьУдалить
  39. Ну... Если планЬІ поменяются, то вот идеи на следующую версию интеграции:

    * возможность отображения форума в основном блоке сайта (фреймом?)
    * замена профиля на сайте профилем на форуме(или наоборот), а не просто соединение некоторЬІх полей. Или добавление полей идентичнЬІх созданнЬІх на друпале в сам punBB и полное дублирование.
    *автоматическая замена аватарки как на форуме, так и на сайте(ну и наоборот)

    и в далееееком будущем:
    *граббер пользователей с форума на сайт и с сайта на форум
    * двойная регистрация не тольно сайт-форум, а и форум-сайт (на сколько я понял такой нет)

    ОтветитьУдалить
  40. Вы забыли про более важные моменты, которые думаю останавливают многих от использования:
    1. Кросдоменная авторизация (когда форум на поддомене или вообще другом домене)
    2. Работа форума и сайта на разные базах данных (возможно разные сервера)

    По вашим предложениям:
    * Отображение форума в блоке уже есть - отображаются последние темы на форуме.
    * это не первостепенная необходимость
    * хорошая идея

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

    ОтветитьУдалить
  41. >>1. Кросдоменная авторизация (когда форум на поддомене или вообще другом домене)
    >>2. Работа форума и сайта на разные базах данных (возможно разные сервера)

    Ну таким я точно пользоватся не буду) Поетому и "забЬІл"=)

    >>* Отображение форума в блоке уже есть - отображаются последние темы на форуме.
    Я немножко про другое... вот пример: http://vgb.org.ru/forum

    ОтветитьУдалить
  42. По-моему это делается в теме друпала, и модуль тут не причем

    ОтветитьУдалить
  43. Ну как... Я не видел в настройках друпала такого.

    Кроме того, если учесть что если на одной с ссЬІлок(на показаном примере)вЬІбрать в контекстном меню "открЬІть в новой вкладке", то оно открЬІвает без темЬІ друпала... то вряд ли делалось ето с помощью друпаловских стандартнЬІх функций. Вот я и подумал что там делалось через фрейм... Ну и сюда предложил такое же сделать.

    Вот, только что посмотрел. Точно сделано через фрейм там.

    ОтветитьУдалить
  44. Есть 2 варианта встроить форум в дизайн друпала, и оба не имеют отношения к модулям:
    1. Вставка в шаблон (к примеру page.tpl.php) iframe с форумом: http://www.htmlbook.ru/html/iframe.html
    2. Использование api drupalа (многие забывают, что он не cms, а cmf: http://ru.wikipedia.org/wiki/CMF#PHP): вызывать функии темизации друпала внутри файлов punbb. Вот это можно оформить как модуль, но уже к punbb.

    ОтветитьУдалить