Модуль 5. Программирование на стороне сервера. Автоматизация работы сайта средствами РНР

Вступительная часть

Компания ООО «Постоянные новости» много лет назад разработала статический веб-сайт. Каждый день, специально обученный администратор, добавлял в статическую верстку сайта текущие новости, но неожиданно уволился. Менеджер, которому поручили вести новостную ленту, не знает HTML и не понимает, как верстать страницы сайта.

Задание

Вам поручается автоматизировать процесс добавления новостей на сайт и разработать для этого специальную панель администратора. Вся создаваемая текстовая информация, в том числе данные аккаунтов, должна храниться в базе данных.

Каждая новость состоит из:

- заголовка;

- даты;

- аннотации;

- текста;

- одной или нескольких фотографий;

- адреса ссылки на внешний ресурс;

- текста ссылки на внешний ресурс.

Новостная лента на главной странице сайта представляет собой список из ограниченного количества свежих новостей, для каждой из которых выводится:

- заголовок;

- дата;

- аннотация.

В ленте выводятся только актуальные новости, после них размещаются две ссылки:

- все новости;

- архив новостей.

При переходе по первой ссылке загружается HTML-страница «Новости» со всеми актуальными новостями, для каждой из которых выводится:

- заголовок;

- дата;

- текст;

- все фотографии (если они есть);

Дизайн страницы соответствует дизайну сайта и содержит его основные элементы навигации. Для удобства работы, выводимые новости разбиваются на страницы – внизу страницы формируется соответствующий навигационный блок.

При переходе по ссылке «Архив новостей», выводятся только новости из архива. Форма вывода, навигация и функционал страницы абсолютно совпадает со страницей «Актуальные новости».

Каждая новость в ленте новостей главной страницы оформляется как ссылка, ведущая на соответствующую страницу страницы «Все новости». Если новостей нет – лента и ссылки не выводятся.

Панель администратора должна позволять:

- авторизовать администратора;

- добавлять новость;

- изменять любую актуальную новость, в том числе добавлять или удалять ее фотографии;

- перемещать любую актуальную новость в архив;

- удалять любую новость из архива;

- переносить любую новость из архива в актуальные новости;

- изменять максимальное количество новостей в ленте на главной странице сайта;

- изменять количество новостей на одной странице при выводе всех актуальных и архивных новостей;

- принудительно отключать вывод новостной ленты на главной странице.

Все изменения новостей в панели администратора немедленно отображаются в ленте и архиве новостей.

Вводные данные

Сайт в формате HTML (главная страница).

Выходные данные

Работающий сайт формата HTML5/CSS3 с PHP-программой, реализующей указанный функционал.

Время выполнения

3 часа

Модуль 5. «Программирование на стороне сервера. автоматизация работы сайта средствами РНР».

Субкритерии и аспекты оценки

Аспект Максимальный балл
С1 Добавление новости
С1О1 Форма добавления новости охватывает все атрибуты 0.25
С1О2 Новость полностью добавляется в базу данных
С1О3 Реализована возможность одновременной загрузки нескольких фото 0.5
С2 Изменение новости
С2О1 Любая новость может быть изменена 0.5
С202 Реализована возможность добавлять фото новости 0.5
С2О3 Реализована возможность удалять любое фото новости 0.5
С204 При удалении фото запрашивается подтверждение 0.5
С3 Функционирование архива новостей
С3О1 Любую новость можно переместить в архив. Все атрибуты новости, в том числе ее фото, сохраняются
С3О2 Любую новость из архива можно восстановить. Все атрибуты новости, в том числе ее фото, сохраняются
С3О3 Любая новость из архива может быть удалена
С3О4 При удалении новости удаляются все ее фото 0.5
С3О5 При удалении новости запрашивается подтверждение 0.5
С4 Настройки новостной ленты
С4О1 Реализована возможность настройки количества новостей на главной странице сайта; на одной странице пагинации в разделе «Новости»; на одной странице пагинации раздела «Архив новостей». 0.5
С4О2 Реализована возможность временного отключения новостной ленты на сайте. 0.25
С5 Общие требования к администрированию новостей
С5O1 Реализована авторизация по логину и паролю
С5О2 Фотографии при добавлении копируются в отдельную папку с новым уникальным именем файла или в БД 0.5
С5О3 Весь функционал недоступен без авторизации 0.25
С5О4 Все текстовые атрибуты новости могут содержать любые печатные символы 0.5
С5О5 Для отображения новостей используется постраничная пагинация
С5О6 Списки актуальных новостей и архива новостей разделены 0.25
С5О7 Добавлена и работает кнопка «Выход» 0.25
C5C1 Панель администратора удобна для работы
С6 Отображение новостей на сайте
С6О1 На главной странице сайта отображаются только актуальные новости(заголовок, дата, аннотация)
С6О2 Реализованы ссылки «Все новости» и «Архив новостей» 0.25
С6О3 Страница «Новости» отображает все актуальные новости (заголовок, дата, текст, фото, ссылка) 0.5
С6О4 На странице «Новости» используется постраничная пагинация 0.5
С6О5 Страница «Архив новостей» отображает все архивные новости(заголовок, дата, текст, фото, ссылка)
С6О6 На странице «Архив новостей» используется постраничная пагинация 0.5
С6О7 Реализован режим вывода «Все новости» 0.25
С6О8 У новостей отображаются все их и только их фотографии 0.5
С6О9 Ссылки отображаются и работают только если они есть 0.25
С6О10 Новости на главной странице оформлены как ссылки, ведущие в раздел «Новости» на соответствующую страницу пагинации. После перехода по ней новость видна на мониторе.
С6О11 Настройки новостной ленты влияют на отображение новостей 1.5
С6С1 Новостная лента гармонично встроена в дизайн сайта 0.5
С6С2 Разделы «Новости» и «Архив новостей» соответствуют дизайну сайта 0.5
Итого максимально:


Указан максимальный балл. Аспекты.

O – объективные,

С – субъективные.


Наши рекомендации