Ilrilan
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Цитата: Если не лень - заведи ветку, вывали мысли, наработки - с удовольствием подключусь. Зачастую штука актуальная - активное участие в форуме "накачивает" порядочный трафик и часть моих участников имеет проблемы от админов с работы, вплоть до блокировки ресурса... | Ветку-то завел, только вот наработки выложить щас вряд ли смогу. Я уже неделю занимаюсь редактированием скриптов форума, и сейчас уже просто не помню, что я менял и где. А вот мыслями поделюсь. Цитата: IMHO стоит смотреть в сторону nntp | Не знаю, я такую штуку пишу потому, что инет дома лимитирован - а работа с форумами через ddd жрет слишком много времени - картинки, уже прочитанные сообщения... И в итоге 90% закачиваемого хтмл-кода оказывается лишним. Надо оно? Нет. А в сторону nntp смотреть... Думал я над этим. Решил, что не нужно (по крайней мере, мне) - в TheBat есть отличная функция для создания дерева сообщений (по темам/отправителю/...) NNTP конечно можно сделать - но для себя я ограничусь емйэлом. Хотя можно будет в принципе сделать обе функции, и дать админу возможность выбора. Только вот с NNTP я ещё ни разу не работал, а SMTP и POP3 уже изучил. Пока что мне NNTP не потянуть -разве что модуль нужный в Инете накопать... Если честно - просто влом пока. Итак, мысли - которыми я хотел поделиться. 1. В АйконБорде 3.1.2 уже есть возможность подписки на отдельный топик и механизм рассылки сообщений получателю. Подписка на форум из этого делается простым вырезанием/комментированием "and TOPIC_ID = $obj->{'TOPIC_ID'}" в переменной $query процедуры $check_email_replies модуля post.pm (придется закомментировать это ещё в нескольких местах) а также редактирования ForumView.pm - добавления ссылки "Подписаться на форум"/"Отписаться с форума". Также я убрал лимит подписки по дням путем постоянного (раз в 24 часа, с помощью Крона) обновления поля DATE_STARTED таблицы ib_forum_subscriptions. 2. Самому надо только написать механизм добавления сообщения в форум - рассылка будет автоматической. После долгого изучения модуля Post.pm я решил, что мне лень дублировать процедуры добавления топиков а так же всевозможные ветвления - и откопал старую библиотеку для Перла LibWWW вместе с русским руководством под неё же (http://perldoc.narod.ru/LWP-spec.pdf) и после чего решил написать робота, который будет через определенные промежутки времени (10 минут, чтобы не загружать сервер) проверять почтовый ящик форума, и если есть письма - то залезать на форум, логиниться там (создал под него спец. логин Forum_Robot) и постить сообщения как обычно, затем отключаться... Повторяется через 10 минут. Идеи закончились, и я приступил к их выолнению. Как оказалось, написание робота с помощью ЛибВВВ - дело одного дня, т.к. почти все процедуры низкого уровня там автоматизированы. Сейчас вот занят дальнейшим написанием робота - процедурой проверки ящика, определения кодировки письма и вытаскивания вложений для отдельной закачки в раздел "Обменник" (готова только процедура проверки). Может у кого-то есть готовый модуль для работы с письмами - я имею в виду вытягивание аттачей и определение кодировки? |