> WWW hints - примеры программирования > элементы бизнес-логики web-сайта
Древовидный форум

Введение

       Если вы решили на своем сайте предоставить посетителям возможность обсуждения каких-то тем, то для этого вам потребуется организация форума. Многие существующие форумы слишком громоздки, для применения на небольших сайтах, а также слишком сложны в освоении, тем более когда от них требуется минимальная функциональность - вести нить рассуждений и позволять пользователям оставлять свои ответы.

      Данный модуль реализует древовидное представление форума без обязательной авторизации, организованного по постмодерируемой модели, с возможностью создавать произвольное число тем, с постраничным выводом нитей. При совместном использовании с модулем авторизации вы получаете возможность авторизоваться в форуме и вести обсуждение от своего имени.

Ниже приводится внешний вид форума:

Структура модуля
Ядро - модуль c_forum.php
содержит описания классов SiteForum, ForumIterator, SiteForumMail, реализующие создание тем, сохранение ответов, удаление ответов, программное навигирование по нитям форума, рассылку почтовых уведомлений о появлении в форуме ответов. В модуле содержится структура базы данных, необходимой для функционирования форума.
answer(...) - сохранение ответа на сообщение
deleteAnswer(...) - удаление ответа
getThreadIterator() - итератор по нитям форума
getAnswerIterator() - итератор по ответам в нити форума
getLastUserName() - возвращает имя пользователя, добавившего предыдущее сообщение
getLastEmail() - возвращает электронный адрес пользователя, добавившего предыдущее сообщение

      Далее приведен список дополнительных модулей, обеспечивающих регистрацию пользователей и управление пользователями, основанными на использовании функций класса SiteUser:
common.php - общий модуль, содержащий параметры подключения к базе данных и некоторые вспомогательные функции
admin/forum.php - интерфейсный модуль, посредством которого осуществляется постмодерирование форума
index.php - интерфейсный модуль, реализующий пример страницы с форумом
answer.php - интерфейсный модуль, реализующий пример страницы для ответа в форуме
      Данные модули показывают как применять основные возможности древовидного форума. Скачать: forum.zip

 Evgeny Savitsky © 2002-2004