Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив1 / docx31 / Курсовой проектНОВЫЙ.docx
Скачиваний:
70
Добавлен:
01.08.2013
Размер:
581.23 Кб
Скачать
        1. Класс Admin

Class Admin отвечает за назначение прав пользователей. При регистрации новый пользователь получает права студента, только просмотр материалов и выполнение тестов. Также администратор публикует новости.

Были созданы контроллеры по функциям администратора (рис.12):

Рис.12. Контроллеры класса Admin

В контроллере index.php описан класс Controller_Admin_Index. Внутри него есть только один метод action_index(), отображающий данные на панели управления администратора.

В контроллере news.php описан класс Controller_Admin_News. Внутри него описаны методы action_index(), action_add() – добавление, action_edit() – редактирование новости, action_delete() – удаление новости.

Администратор для работы с новостями нажимает на ссылку «Новости». При нажатии на ссылку срабатывает метод action_index(): происходит запрос на выбор всех записей из таблицы news и массив с этими данными передается в представление.

Чтобы добавить новость, администратор заполняет необходимые поля формы, такие как «Название», «Краткая новость», «Полная новость». Эти значения передаются в глобальный массив $_POST. Далее формируется запрос на добавление новой записи в таблицу, где id автора, это id текущего пользователя, все остальные данные получаем из массива $_POST. Если запрос на добавление записи выполнен успешно, администратор перенаправляется на страницу «Новости».

За редактирование новостей отвечает метод action_edit(). Когда администратор нажимает на ссылку редактировать, он перенаправляется на страницу «Редактирование новости». Метод action_edit() получает id новости и происходит выбор записей из таблицы news по соответствующему id. В форму редактирования выгружаются данные. Администратор редактирует новость и нажимает кнопку «Обновить». Обновленные значения передаются в глобальный массив $_POST. Далее формируется запрос на обновление записи в таблице. Если запрос на обновление записи выполнен успешно, администратор перенаправляется на страницу «Новости».

Удаляется новость функцией delete() по полученному идентификационному номеру новости.

Таким образом, был реализован класс Admin, созданы контроллеры и их методы, удовлетворяющие функциональным возможностям администратора системы.

        1. Класс Index

Class Index предназначен для работы со студентами и не авторизованными пользователями. Студент может проходить курсы, читать лекции, выполнять тесты, смотреть новости, отправлять сообщения. Также в этом классе описан метод для работы с профилем всех пользователей и администратора и преподавателя.

Были созданы контроллеры по функциям студента (рис.13):

Рис.13. Контроллеры класса Index

Контроллер auth.php описан класс Controller_Index_Auth, который содержит методы action_login() – авторизация пользователя, action_register() – регистрация нового пользователя, action_logout() – выход из системы.

Метод action_index() контроллера courses.php класса Controller_Index_Courses передает данные о существующих курсах, такие как название, категория и записан ли пользователь на данных курс. Метод action_view() отображает содержимое курса. Метод передает в представление массив данных из таблицы lections и tests, выбранных для соответствующего курса.

Отображает содержимое лекции метод action_view() класса Controller_Index_Lection в контроллере lection.php. При выборе лекции метод получает идентификационный номер лекции и выполняется запрос на выбор из таблицы lection значений по соответствующему id лекции. Полученный массив данных передается в представление.

Метод action_view() контроллера main.php получает данных из модели для вывода их на главную страницу ИС.

В контроллере news.php описан класс Controller_Index_News с методами action_index() и action_view(). Метод action_index() отправляет запрос к модели на выбор записей сортированных по уменьшению даты. Этот массив данных передается в представление, где отображается весь список новостей с кратким описанием. Для просмотра полной новости надо нажать на название новости и тогда сработает метод action_view(), который получит id выбранной новости и передаст данных в представление, выбранные из модели.

Один из главных контроллеров tests.php. В нем описан класс Controller_Index_Tests c методами action_index() и action_go(). При работе метода action_index() происходит выбор из вопросов и вариантов ответов по выбранному курсу. Когда тестирование завершено, работает метод action_go(), который подсчитывает результат тестирования и записывает результат в таблицу testresult.

Контроллер user.php предоставляет функции одинаковые для всех пользователей, такие как отображение информации в личном профиле, список пройденных курсов - метод action_index(), просмотр полученных и отправленных сообщений – метод action_message(), отправка сообщений другим пользователям – метод action_sendpm(), изменение данных своего профиля – метод action_settings(), обновление аватара пользователя - action_updateavatar().

Таким образом, был реализован класс Index, созданы контроллеры и их методы, удовлетворяющие функциональным возможностям пользователя системы.

В каждом методе необходимо было передавать значения в шаблон. Во всех контроллерах есть свойства public $template = '', которые определяет базовый шаблон представления для каждого пользователя. В самом контроллере свойство $template является строкой, а в методах контроллера обращение к нему как к объекту. Более подробно описана работа с представлениями в пояснительной записке к курсовому проекту Пакульских Е.И [10].

Соседние файлы в папке docx31