Модуль обмена сообщениями для портала
-------------------------------------------------------
требуется ХОРОШИЙ УРОВЕНЬ знания PERL.
также обязательно иметь ранее написанный _работающий_ код.
пожалуйста не надо общих фраз. конкретно - цену и срок выполнения (срок как чистое время "20 часов" так и общего до завершения работ).
-------------------------------------------------------
Задание
реализует обмен сообщениями между авторизованными пользователями портала,
также имеет возможность для отправки сообщения анонимным пользователем,
рассылку группе пользователей, уведомление на адрес электронной почты.
требования:
1) язык perl, "use strict", fastcgi, СУБД MySQL
2) соблюдение общего стиля программирования и оформления кода.
3) соблюдение общего стиля оформления вывода
4) обязательная проверка валидности полей
5) вывод - HTML
реализуемые функции:
1) блок "у вас N новых сообщений"
2) блок "вам пришло сообщение от ВАСИ"
3) страница - форма отправки нового сообщения /msg/newmsgform.html
4) операция - отправка нового сообщения /msg/newmsg.html
5) страница - форма отправки нового сообщения группе (сообщение дублируется каждому) /msg/newgrpform.html
6) операция - отправка сообщений группе /msg/newgrp.html
7) страница - форма отправки нового сообщения всем (сообщение дублируется каждому) /msg/newallform.html
8) операция - отправка сообщений всем /msg/newall.html
9) страница - просмотр сообщения по номеру /msg/view.html
10) операция - удаление сообщения по номеру /msg/delete.html
11) страница - просмотр списка всех сообщений по пользователю (полностью), постранично
12) страница - просмотр списка всех сообщений по пользователю (только заголовки), постранично
13) операция - удаление всех сообщений по пользователю
14) операция - удаление всех сообщений
15) страница - просмотр списка всех сообщений (только заголовки), постранично
16) страница - просмотр списка всех сообщений (полностью), постранично
17) страница - новых сообщений полностью, по одному, последовательно, по дате в порядке возрастания
(2 варианта - обычный и попап) попап должен иметь возможность обратного закрытия
18) страница настроек
19) обязатльная функция - "добавить сообщение"
20) операция - закрыть/открыть сообщение
замечания:
*) у сообщения есть получатель и отправитель. реально сообщение
должно удаляться когда оно удалено и отправителем и получателем.
одно сообщение хранить 2 раза не надо
*) у сообщения есть "срок жизни", он выставляется отправителем.
для групповых сообшений в обязательном порядке выставляется не
вечный срок.
*) если сообщение формируется как ответ, у него должен храниться
номер исходного сообщения.
*) при просмотре сообщения по номеру если есть исходник -
давать ссылку на него.
*) имя пользователя - ссылка на личную информацию
*) имя группы - ссылка на информацию о группе
*) у сообщения - есть дата прочтения, флаг прочтения.
*) при удалении - подтверждение на отдельной странице
*) сохранять IP отправителя
*) лимит сообщений
*) страница newmsgform.html имеет разную функциональность в зависимости от прав
для гостя - только отправка сообщения на административный контакт (-1), для пользователя -
отправка сообщения пользователю. (newmsgform.html?TO=23) если пользователь не указан
- воспользоваться выбором (выбор реализован)
*) у каждого пользователя есть флаг "не принимать сообщения других пользователей"
соответственно если отправка запрещена, то ему сообщение может отправить ТОЛЬКО
модератор и администратор_группы
*) если пишет гость - то в обязательном порядке должен указываться email и имя
e-mail проверяется на валидность (проверка на валидность реализована)
*) данные форм передаются постом
*) если в режиме попап идет ссылка на обычную страницу - попап закрывается и в обычной
странице открывается заданная ссылка
*) отправка уведомления на электронное желательно должна выполняться один раз в форме "вам поступили личные сообщения" (отправка почты реализована)
в настройках константы:
количество сообщений на одной странице
количество заголовков на одной странице
лимит сообщений на IP в сутки
задержка между сообщениями
шаблон для основных страниц
шаблон для попап-страниц
административный контакт
как реализована ссылка из блоков - на попап или на нормальную форму
права доступа (уже реализованы):
1) отправка сообщения на административный контакт (гость)
2) отправка сообщения пользователю (авторизованный пользователь)
3) отправка сообщений группе (администратор_группы, модератор)
4) отправка сообщений всем пользователям (модератор)
5) настройки (администратор)
--
*) заготовка файла будет предоставлена
*) пример модуля будет предоставлен и обеспечены консультации по ходу работы
*) тестирование выполняется у нас на машинке, будет предоставлен доступ
*) все функции авторизации, логина, управлекния правами уже реализованы
-----------
если все получается - возможно длительное сотрудничество