По мотивам обсуждений на форуме решил реализовать небольшой хак "Объявления зависящие от содержания"
Версия 0.9 (так как еще совсем не готов к первому релизу)
Немного о хаке.
AnDeCO v0.9 "
Announcements depending on the contents" (Объявления зависящие от содержания).
Описание
Хак реализует возможность вывода своих объявлений в зависимости от содержания темы.
Например, у нас есть тема про vBulletin в которой слово "vBulletin" повторяется несколько раз.
У нас есть список советов по вопросу vBulletin и мы хотим его вывести на всех страницах этой темы. Для этого мы создаем в разделе объявлений тему с названием "vBulletin" и делаем статью с этими ссылками или сообщение или рекламу. Теперь при заходе в тему форума про vBulletin будет выводиться эта статья.
Список слов можно вывести внизу объявления, этот список виден только тем, кому разрешено это видеть.
Вывод статей происходит по следующей схеме:
- Слова приводятся в нормализованный вид
- Список очищается от всех ненужных слов (это настраивается с помощью разрешений частей речи)
- Расчет количества вхождений слов в теме
- Список сортируется по количеству вхождений
- Идет перебор сравнений доступных статей со славами из списка, от слова с самым большим количеством вхождений к слову появившемуся только 1 раз. В случае совпадений, статья выводится в теме.
- В случае отсутствия статьи можно вывести статью по умолчанию
Есть возможность вывода объявлений в списке тем. Для этого применяется префикс и ID раздела, эта конструкция и является названием темы в разделе объявлений. [*]Управление объявлениями реализовано путем ссылок прямо в объявлении, которые видны только указанной группе пользователей. Если объявление есть, то ссылка откроет это объявление. В случае отсутствия объявления, ссылка откроет форму и передаст в нее необходимый заголовок.
Установка- Загрузить файлы на форум.
- Загрузить словари для библиотеки phpMorphy http://phpmorphy.sourceforge.net/dokuwiki/download
- Установить продукт.
- Указать в настройках путь к словарям.
- Создать раздел для хранения объявлений. Его можно сделать скрытым для всех кроме например администраторов.
- Сделать настройки.
- Вставить в шаблоны showthread и forumdisplay переменные $andeco_thread и $andeco_forum соответственно.

Прошу если кому не будет лень потестить и высказать свое мнение и мысли. заранее спасибо.