Модуль 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 – объективные,
С – субъективные.