|
|
Бюджет: 5000 руб.
$76.27 или €68.47 |
Скрипт на php + MySql. Вывод информации с сортировкой. Регистрация пользователей, админка, реализация платежей за публикацию информации через WebMoney и обменный пункт RoboXchange. Дизайн не нужен, только сам скрипт и вставка верха и низа страниц в одном файле через функцию include. Желательный срок для получения предварительного рабочего варианта: до 1 июня. ТЕХ. ЗАДАНИЕ На главной странице располагается список анонсов по 20 штук на страницу. Сортировка анонсов должна быть по дате проведения мероприятия. Вверху самые отдалённые мероприятия, ниже, которые ближе к текущей дате. Прошедшие пати должны удаляться из списка анонсов, но их можно посмотреть в архиве вечерин. У каждого анонса должна быть своя страничка с подробным описание, а в списке анонсов краткая версия. Разница в отображении краткой и расширенной версии анонса только в том, что поле "О мероприятии" в краткой версии обрезается до 400 символов. О полях будет сказано далее. URL подробной версии анонсов должны быть неизменными от момента попадания в список анонсов и до момента попадания в список прошдших вечерин, т.е. в архив. В архиве анонсы должны отображаться только после задания дат с какого числа (и года) и по какое показывать с сортировкой по 20 штук на страницу. Нужно сделать дополнительную сортировку по стилям и городам. Должно быть 2 выпадающих меню (см.картинку): Стиль: все, trance, house, dnb, techno, другой. Город: все, Москва, Питер, другой. По умолчанию должны показываться анонсы по всем городам и по всем стилям. Как должна работать сортировка: Например, я хочу посмотреть только пати, которые будут в Москве. Я выбираю город из выпадающего списка, а далее нажимаю кнопочку "показать" около этого меню и мне должны показываться только предстоящие пати в Москве. Далее я могу выбрать стиль и тоже нажать "Показать" и мне выйдут все пати Москвы по этому стилю, но можно и сразу при первом заходе и город и стиль указать, т.е. кнопка "показать" должна быть общая для этих двух меню. А по умолчанию в меню должен быть пункт "Все". В самом списке анонсы должны иметь следующие обязательные поля (почти как на psychedelic.ru): Заголовок Дата Организаторы Место Цена Начало О мероприятии (для этого пункта ограничение для краткой версии анонса - 400 символов) Lineup Флаер Типы полей: Флаер - это 1 или несколько картинок, которая должна показываться в общем списке в уменьшенном размере (150 пикселей в ширину), а при нажатии в новом окне должна открываться полноразмерная картинка, оригинал. Дата имеет вид типа "ДД.ММ.ГГГГ". Остальные поля текстовые. А также опциональные поля (если добавить, то показываются, если не добавить, то не показывать): 1. Фото 2. Видео 3. Обсуждение в форуме Эти поля в виде ссылок. У списка анонсов должен быть календать, в котором можно посмотреть предстоящие пати по выбранной дате (если в какой-то день пати нет, то число в календаре отображается как текст, а если есть, то как ссылка. Если в определённый день пати только 1, то ссылка должна вести на подробную версию анонса, а если больше 1, то на список с краткими версиями анонсов, но только на выбранный день). Желательно сделать календарь на яве, чтобы можно было листать годы и месяцы без перезагрузки страницы. АДМИНКА для организаторов и промо-груп. В админке будут автоматически регистрироваться организаторы вечерин и различные промоутеры. Поля регистрационной формы (* - обязательно): *1. Имя 2. Название компании/промо-группы *3. Мыло 4. Ася 5. Город Должна быть защиты от регистрации ботов путём ввода кода с картинки. После регистрации на мыло должна уходить ссылка для активации аккаунта. В админке для организаторов и промо-груп должны быть следующие поля: 1. Добавить анонс 2. Купить баннер 3. Не опубликованные анонсы 4. Опубликованные анонсы 5. Текущие цены 6. Профиль 7. Выход Описания: 1. Добавить анонс - при нажатии на странице вводятся поля (все обязательны): Заголовок - текст до 30 символов Дата - вводится путём выбора из выпадающих меню по отдельности число, месяц и год Организаторы - текст до 100 символов (если при регистрации было введено поле "2. Название компании/промо-группы", то автоматические подставлять сюда его содержимое, но как текст, который можно дополнить). Клуб - текст до 30 символов Описание клуба - текст до 1000 символов (нужно, чтобы переходы строк отображались в анонсе, т.е. если при вводе организатор нажал "Enter", то анонс для посетителей сайта в этом месте должен иметь тег <br>) *поля "Клуб" и "Описание клуба" должны отображаться в опубликованном анонсе одним полем "Место". Сначала идёт "Клуб", а через строку ниже "Описание клуба". Город - выбор из списка Москва, Питер, другой (если при регистрации было введено поле "5. Город", то автоматические подставлять его). Стили - выбор из списка trance, house, dnb, techno, другой. Нужно, чтобы была возможность выбрать до 3-х стилей. А в списке анонсов при сортировке по стилю выводить анонс, если выбранный стиль есть среди введённых организатором. Цена - текст до 1000 символов (тоже переходы строк как и у поля "место") Начало - текст до 100 символов О мероприятии - текст до 5000 символов (переходы строк) Lineup - текст до 5000 символов (переходы строк) Флаер - добавление картинок (загрузка на сайт) Нужно к каждому пункту добавить знак вопроса, при наведении на который должна выходить подсказка по кол-ву символов. Потом нажимаем кнопку "Добавить" и анонс сохраняется в списке "3. Не опубликованные анонсы", а после сохранения пользователь должен сразу попасть в этот пункт (3. Не опубликованные анонсы) и напротив каждого не опубликованного анонса должны быть ссылки: 1. Оплатить 2. Редактировать 3. Удалить Любой анонс (хоть опубликованный, хоть не опубликованный) должен иметь вид: Дата - Заголовок @ Клуб (Город) Если в поле "Город" было выбрано "Другой", то не отображать его, т.е. тогда будет так - Дата - Заголовок @ Клуб. Описания действий с не опубликованными анонсами: 1. Оплатить - выбор метода оплаты - WebMoney в рублях (WMR), Яндекс Деньги и другим способом через RoboXchange. Яндексы тоже можно через RoboXchange. Через RoboXchange все деньги должны переводиться в WMR. После оплаты анонс переходит в пункт "4. Опубликованные анонсы" и публикуется на сайте для всех посетителей. 2. Редактировать - редактирование всех полей 3. Удалить - удаление с предварительным вопросом - "Вы действительно хотите удалить не опубликованный анонс такой-то?". 2. Купить баннер Здесь должен быть текст "Здесь можно купить показ баннера для вашего мероприятия на неделю, если место свободно". Если у данного организатора нет опубликованных анонсов, то отображать в этом разделе "У вас ещё нет опубликованных анонсов". Если есть опубликованные анонсы, то отображать список опубликованных анонсов, но только тех, которые ещё не прошли. У каждой предстоящей вечерины должны быть ссылки "купить баннер вверху" и "купить баннер сбоку". При нажатии нужно загрузить собственно баннер (пока пусть будет размер 468х60 для верхнего и 300х400 для бокового, нужно предусмотреть функцию изменения размера в админке для администратора сайта) и после загрузки отобразить его (баннер) и ниже нужно подтвердить продолжение покупки баннера нажатием на ссылку "Оплатить", а если нажать "Отмена", то баннер должен удалиться с сервера. Оплата должна производиться аналогично публикации анонса. После оплаты баннер со ссылкой на расширенную версию анонса, для которого он покупался, должен отображаться на всех страницах для посетителей сайта вверху по центру и сбоку (позже определится точное положение). Баннер должен висеть неделю, а потом удаляться с сервера. Баннер вверху 1, а с боку 4. Если рекламное место занято, то отображать дату его освобождения. А также нужно сделать возможность бронирования размещения баннера с наценкой 50%, в случае, если он занят. Если баннерное место забронировано, то дата освобождения баннера должна быть дата окончания размещения баннера, который будет опубликован по брони сразу после освобождения текущего. Бронировать можно только на 1 цикл. Т.е. если место забронировано, то нельзя купить баннер пока забронированный баннер не будет опубликован. При бронировании точно также загружается сам баннер и оплачивается. 3. Не опубликованные анонсы Если вечерина уже прошла, а она так и не была опубликована, то она должна быть удалена из списка и из базы данных. И, как уже было сказано выше, описания действий с не опубликованными анонсами: 1. Оплатить 2. Редактировать 3. Удалить 4. Опубликованные анонсы В списке опубликованных анонсов около каждого анонса должны быть ссылки "Фото" (только для прошедших вечерин), "Видео" (только для прошедших вечерин), "Форум", "Редактировать" (только для предстоящих мероприятий, нельзя редактировать Дату проведения) Фото - текст до 100 символов (для посетителей сайта будет отображаться как ссылка, надо сделать проверку на правильность ввода ссылки) Видео - текст до 100 символов (аналогично) Обсуждение в форуме - текст до 100 символов (аналогично) 5. Текущие цены Таблица разценок на публикацию анонсов и добавление баннеров. 6. Профиль Здесь можно редактировать регистрационные данные: 1. Имя 2. Название компании/промо-группы 3. Мыло (подтверждение изменения на старое мыло) 4. Ася 5. Город. АДМИНКА для администратора сайта. 1. Опубликовать анонс Заголовок - текст до 30 символов Дата - вводится путём выбора из выпадающих меню по отдельности число, месяц и год Организаторы - текст до 100 символов Клуб - текст до 30 символов Описание клуба - текст до 1000 символов Город - выбор из списка Москва, Питер, другой (по умолчанию сделать Москву) Стили - выбор из списка trance, house, dnb, techno, другой. Нужно, чтобы была возможность выбрать до 3-х стилей. Цена - текст до 1000 символов Начало - текст до 100 символов О мероприятии - текст до 5000 символов Lineup - текст до 5000 символов Флаер - добавление картинок (загрузка на сайт) Обсуждение в форуме - текст до 100 символов 2. Повесить баннер Если нет опубликованных анонсов по предстоящим мероприятиям, то отображать в этом разделе "Наданный момент нет анонсов". Если есть опубликованные анонсы на предстоящие вечерины, то отображать их список. У каждой предстоящей вечерины должны быть ссылки "баннер вверху" и "баннер сбоку". При нажатии нужно загрузить баннер и после загрузки отобразить его (баннер) и ниже нужно подтвердить публикацию баннера нажатием на ссылку "Далее", а если нажать "Отмена", то баннер должен удалиться с сервера. После подтверждения баннер со ссылкой на расширенную версию анонса, для которого он публиковался, должен отображаться на всех страницах для посетителей сайта вверху по центру и сбоку (позже определится точное положение). У администратора должна быть возможность выбирать срок размещения баннера, путём выбора из: "на неделю" и "до начала пати". Если рекламное место занято, то можно автоматически забронировать место. 3. Изменить цены Здесь вводятся цены на публикацию анонсов и размещение баннеров в рублях за неделю. Для всех баннеров свои цены. Т.е. тут должно быть 6 полей: анонс, баннер вверху и 4 боковых баннера. 4. Редактировать анонсы Список всех анонсов вида "Дата - Заголовок @ Клуб (Город)" и опубликованных и не опубликованных со ссылкой "Редактировать". Администратор может менять абсолютно все поля. 5. статистика Кол-во зарегистрированных пользователей Кол-во анонсов: опубликованных / не опубликованных Отчёт по денежным поступлениям - ввод диапазона дат (с ДД.ММ.ГГГГ по ДД.ММ.ГГГГ). 6. пользователи Список пользователей в алфавитном порядке по полю "Имя". В списке должны отображаться все данные из профиля для каждого пользователя. Администратор сайта может редактировать все поля профиля, удалять пользователей (после удаления пользователя, с его опубликованными анонсами ничего не происходит, а если есть не опубликованные анонсы, то они удаляются из базы данных) 7. форматы баннеров Редактирование форматов баннеров. Указание разрешений для верхнего баннера и 4 боковых баннеров. 8. Выход. P.S. По цене можно договориться.
|
|
|
Опубликован 18.04.2008 в 20:41 по мск
Электронная почта: connect@cjcity.ru
Номер ICQ: 214282831
Проект ориентирован на фрилансеров со специализацией: Веб-программирование
Прошло времени с момента публикации: более 16 лет
прикреплённый файл:
(png, 3,09 Кб)
|
|
Просмотреть кандидатов на исполнение проекта
Исполнитель проекта:
не определён
|
|
|
|
|
|