ТЗ Введение Нужна постановка уже сверстанного сайта на движок Drupal. Если какие-то моменты в ТЗ реализуются на Друпале с большим трудом – нужно будет обсудить, что можно изменить. Функционально сайт представляет собой аналог http://www.notcot.org/ Это многопользовательский блог с премодерацией постов, в котором зарегистрированные пользователи имеют возможность постить фотографии и добавлять в избранное чужие. Структура сайта Есть набор сверстанных шаблонов, которые практически полностью описывают внешний вид всех страниц и состояний элементов. Вот перечень страниц, соответствующих им шаблонов и заголовков страниц на сайте. Шаблон index Страницы Главная Выборка по категории Выборка по тегу Избранное Новости сайта about Что Это? Правила card profile profile_2 find add resize categories Условия использования Отдельный пост Профиль пользователя Профиль пользователя – режим редактирования Результаты поиска Добавление фото Выбор фрагмента фото Выбор категорий для фото 1 Посты Каждый пост – это: 1. Фотография (загружается пользователем, есть возможность откадрировать, ресайзится до 250x250 pix). 2. Заголовок (вводится пользователем, при выводе на главной обрезается до 55 символов с добавлением “…” ) 3. URL страницы блога или сайта, на которой представлено фото. На главной странице текст ссылки обрезается до домена (сама ссылка все равно ведет на внутреннюю страницу). 4. Краткое описание – текстовое описание, необязательный параметр. 5. Категории – пост может относиться к одной или нескольким предопределенным категориям, выбираются пользователем с помощью формы с чекбоксами. Есть особая категория – “новости”, возможность добавлять посты с ней имеет только пользователь со статусом God. 6. Теги – прописываются пользователем через запятую, необязательный параметр. 7. Дата – не показывается, используется при сортировке по дате. 8. Счетчик добавлений в избранное - не показывается, используется при сортировке по популярности. Пользователи Есть три категории пользователей: User – может публиковать свои посты, добавлять чужие посты в свое избранное. Moderator – все возможности user + может просматривать текущий набор неотмодерированных постов от всех пользователей, пропускать или не пропускать посты на публикацию, возможность удалять пользователей. God - все возможности Moderator + возможность назначать модераторов и убирать назначение + возможность добавлять новости. Вход и регистрация Вход по логину и паролю с возможностью запомнить пользователя и выслать ссылку на изменение пароля для забывших его. 2 При регистрации указывается желаемый логин, пароль, e-mail, пол. В качестве защиты от спам-регистрации используется самодельная CAPTCHA – случайным образом выбираемая картинка из набора, к которой нужно правильно подобрать название (может быть несколько правильных названий, например, помидор, помидоры и томат). Картинки и список названий я предоставлю. Есть возможность обновить картинку. Для блока вход-регистрация есть состояние для залогиненых юзеров (Привет, {ник}) Все страницы Шапка, меню и подвал на все страницах одинаковые. Главная страница На главной странице представлены одобренные модераторами посты, по умолчанию отсортированные по дате добавления, от новых к старым. Внизу предусмотрена пагинация. Можно задать выборку по одной категории, показать посты только из избранного, отсортировать по популярности (то есть количеству добавлений в избранное) или в случайном порядке. У каждого поста есть иконка, нажатие на которую добавляет пост в избранное, впоследствии иконка отображается в mouseover – состоянии, повторное нажатие исключает из избранного. Ссылка с фотографии ведет на страницу отдельного поста. Ссылка с заголовка и с URL - переход на страницу на внешнем сайте, указанную автором поста. Ссылка с ника пользователя – ведет на страницу его профиля. Страница отдельного поста На странице выводится фотография, ник пользователя с аватаром, ссылка на страницу внешнего сайта, иконка добавления в избранное, краткое описание с о ссылкой “далее”, которая также ведет на страницу внешнего сайта. Есть возможность перехода на предыдущий и следующий пост в текущей выборке. Кроме того, дополнительно показываются два блока – другие посты того же пользователя (до четырех), и “возможно, вам понравится” – посты других пользователей, которые пересекаются с текущими по тегам. Добавление поста Состоит из трех этапов: 1. Загрузка фото с описанием, ссылкой на внешний сайт и описанием. 2. Выбор квадратного фрагмента загруженной фотографии. 3. Добавление категории и тегов. 3 Профиль пользователя Есть два режима - просмотра и редактирования профиля. Желательно, чтобы переход к редактированию происходил без перезагрузки страницы. По нажатию на кнопку “загрузить аватар” появляется стандартный диалог операционной системы для выбора файла, далее переход на страницу выбора квадратного фрагмента (такую же, как в случае с фотографией в посте), далее возврат на страницу профиля. В режиме редактирования, кроме заполнения полей, есть возможность отметить опции “показывать другим мое избранное ” и “ оповещать меня, когда мой пост публикуется или отклоняется”. Оповещение – приходит на e-mail. Кроме того, на странице профиля справа отображаются выборки постов, относящиеся к пользователю. По умолчанию это опубликованные посты. Можно также посмотреть непринятые посты, ожидающие модерации, чужие посты из избранного. Поиск Поле поиска доступно на всех страницах в шапке. Поиск ведется по заголовку поста, краткому описанию, тегам и категориям одновременно. Результаты поиска выводятся в виде, аналогичном представлению постов на главной, но с полем поиска вверху. RSS Сайт отдает RSS-поток. В поток попадает – заголовок, фото, ник пользователя, категории и теги (со ссылками на соответствующие страницы), ссылка на страницу поста. 4