Pokolenie (CMS)

Что представляет собой проект?

Данный проект представляет собой реализацию системы управления контентом сайта. Главные отличительные черты от других подобных CMS должно заключаться в удобной административной панели без полос прокрутки, все должно умещаться в одном статичестком блоке (840*400px). Это необходимо для того, чтобы без проблем изменять контент сайта с планшетников и нетбуков. Также должна быть максимально простая архитектура, чтобы пользователь без проблем мог найти документ, который необходимо редактировать,  и с легкостью разобраться в коде. Панель администрирования должна иметь удобные редакторы html/css/php с подсветкой текста. CMS должна поставляться в максимально минимальной комплектации и быть максимально и удобно расширяемой.

Проект включает в себя:

  1. Разработку архитектуры продукта (mvc, oop, структуры каталогов)
  2. Разработка первоначальных шаблонов для панели администрирования и для первого сайта
  3. Разработка программой оболочки 
Архитектура проекта. Классы для работы с данными

  • Полное взаимодействие с базой данных MySQL
    • Конструктор класса устанавливает соединение с базой данных MySQL (если она существует)
    • Метод "dbCreate" создает базу данных
      • Принимает переменные:
        • соединение с сервером
        • имя создаваемой базы
      • Возвращает true в случае успеха
      • Возвращает false в случае неудачи
    • Метод "tableCreate" создает таблицу с заданным именем и полями
      • Принимает переменные:
        • соединение с сервером
        • имя создаваемой таблицы
        • структуру создаваемой таблицы
      • Возвращает true в случае успеха
      • Возвращает false в случае неудачи
    • Метод "insertRecord" создает новую запись в таблице
      • Принимает значения для созданной таблицы
    • Метод "updateRecord" обновляет данные в таблице
    • Метод "dropRecord" удаляет заданную строку из базы
    • Деструктор базы разрывает соединение
  • Регистрация\авторизация пользователей
    • Метод "newUser" принимает имя (или e-mail, должно настраиваться).Проверяет наличие такого пользователя (и/или e-mail) в базе данных. Возвращает неудачу в случае, если пользователь зарегистрирован (и/или e-mail).
    • Метод "passwordUser" принимает две переменных, содержащих пароли. Проверяет условие сложности, соответствие паролей. Возвращает md5() строку пароля.
    • Метод "mailUser" принимает метод передачи (sendmail, phpmail), имя пользователя, e-mail, пароль, метод регистрации (с подтверждением или нет), и в зависимости от последнего отправляет тот или иной вид письма. 
  • Работа с данными, получаемыми из форм
    • Метод "textForm" проверяет наличие html/java-script/mysql тегов, и превращает их в html мнемоники.
    • Метод "textHtmlForm" обрезает все, кроме html тегов.
    • Метод "textPhpForm" обрезает все, кроме php текста.
    • Метод "textCssForm" обрезает все, кроме css.
    • Метод "textJsForm" обрезает все, кроме JavaScript.
    • Метод "textSizeForm" принимает строку и нужный размер и обрезает.
Архитектура проекта. Структура шаблонов

  • header.php (шапка сайта и верхнее навигационное меню)
  • leftMenu.php (левое навигационное меню)
  • content.php (основной контент сайта)
  • footer.php (подвал сайта)
Архитектура проекта. Программная оболочка
  • Файлы взаимодействия между ядром (модель) и шаблонами (представление)




Комментариев нет:

Отправить комментарий