- •Дипломна робота
- •Попередній захист:
- •Завдання
- •Реферат
- •Перелік скорочень, умовних позначень, символів, одиниць і термінів
- •Розділ 1 Загальносистемні питання. Аналіз актуальності розв'язуваної задачі й огляд наявних результатів. Постановка задачі досліджень та проектування
- •1.1.Огляд існуючих сдн
- •1.2. Обґрунтування мети рішення поставленої проблеми і критеріїв ефективності
- •1.3. Постановка задачі. Технічне завдання на розробку
- •Розділ 2 Проектні і технічні рішення та документація
- •2.1. Інформаційне забезпечення проектованої системи
- •2.1.1. Структура і схеми інформаційних об’єктів і ресурсів
- •2.1.2. Структура та опис конфігураційних xml, php, tpl файлів
- •2.1.3. Схеми бази данних(діаграми)
- •2.2. Програмне забезпечення
- •2.2.1. Опис фрагменту коду
- •2.2.2. Опис окремих функцій, їх викликів, взаємодії компонентів
- •Розділ 3 Опис роботи програми
- •3.1. Інструкція користувача (адміністратора, викладача, студента)
- •3.2. Заходи щодо забезпечення безпеки використання програми (захист даних, резервне копіювання, захист від ндс)
- •Взаємодія «викладач – група студентів»
- •Розділ 4 Охорона праці
- •4.1. Аналіз особливостей охорони праці на робочому місці програміста (системного адміністратора, аналітика комп’ютерних систем тощо)
- •4.2. Розробка рекомендацій щодо покращення умов праці та розрахунок їх ефективності
- •4.3. Оцінка ефективності модернізації та заходів щодо охорони праці
- •4.3. Висновки до розділу
- •Висновки
- •Додатки
- •Модуль розроблення тестів
- •Контроль лекційного матеріалу
- •Самостійна робота
- •Інтерактивна взаємодія
2.2.1. Опис фрагменту коду
Для викладача та студента доступна функція експорту результуючих оцінок. Викладач має змогу експортувати всі оцінки, а студент оцінки лише по своїм дисциплінам.Файли експортуються то до табличного процессора EXCEL у форматі*.xls.
Фрагмент лістингу коду для експорту у EXCEL
else if(isset($_GET['export_student_excel']) && ($_GET['export_student_excel'] == 'current' || $_GET['export_student_excel'] == 'all')){//відправляються всі записи
require_once 'Spreadsheet/Excel/Writer.php';
$workBook = new Spreadsheet_Excel_Writer();
$workBook->setTempDir(G_UPLOADPATH);
$workBook->setVersion(8); //вибір необхідного формату.
$workBook->send('GradeBook.xls');// відправка до створеного файлу
if($_GET['export_student_excel'] == 'current'){// відправка по конкретному студенту
$workSheet = &$workBook->addWorksheet($currentLesson->lesson['name']);
$this->studentLessonToExcel($currentLessonID, $currentLesson->lesson['name'], $currentUser, $workBook, $workSheet);
}
else if($_GET['export_student_excel'] == 'all'){
$studentLessons = $currentUser->getLessons(false, 'student');
foreach($studentLessons as $key => $value){
// Чи встановлена залікова книжка для цього занняття ?
(перевіряється чи встановлений модуль для цього заняття)
$installed = eF_getTableData("module_gradebook_users", "*",
"lessons_ID=".$key." and users_LOGIN='".$currentUser->user['login']."'");
if(sizeof($installed) != 0){
$subLesson = new EfrontLesson($key);
$workSheet = &$workBook->addWorksheet($subLesson->lesson['name']);
$this->studentLessonToExcel($key, $subLesson->lesson['name'], $currentUser, $workBook, $workSheet);
}
}
Як раніше зазначалося адміністратор має змогу формувати діапазон білав, який і буде визначати оцінку, що отримав студент.
Фрагмент лістингу коду, який відповідає за визначення та свторення діапазону оцінок, у випадку коли адміністратор обрав створити діапазон:
isset($_GET['add_range']) ? $postTarget = "&add_range=1" : $postTarget = "&edit_range=".$_GET['edit_range'];
$form = new HTML_QuickForm("add_range_form", "post", $this->moduleBaseUrl.$postTarget, "", null, true);
$form->registerRule('checkParameter', 'callback', 'eF_checkParameter'); // XXX
$form->addElement('select', 'range_from', _GRADEBOOK_RANGE_FROM, $grades);
$form->addElement('select', 'range_to', _GRADEBOOK_RANGE_TO, $grades);
$form->addElement('text', 'grade', _GRADEBOOK_GRADE, 'class = "inputText"');
$form->addRule('grade', _THEFIELD.' "'._GRADEBOOK_GRADE.'" '._ISMANDATORY, 'required', null, 'client');
$form->addRule('grade', _INVALIDFIELDDATA, 'checkParameter', 'text'); // XXX
$form->addElement('submit', 'submit', _SUBMIT, 'class = "flatButton"');
2.2.2. Опис окремих функцій, їх викликів, взаємодії компонентів
Модулі eFront засновані на розширенні абстрактного класу модуля. Повернені значення цих методів використовуються ядром системи eFront для функціонування та управління модулем. Деякі з цих методів обов'язкові, в той час як інші могли б використовуватися чи ні. Якщо модуль не використовувати їх, вони автоматично повернуть значення за замовчуванням, як визначено в базовому класі, і система буде знати, що вони не були реалізовані для цього модуля. Тому необхідно визначати які методи є обовязковими, адже вони потрібні для модуля. [7]
Важливо описати загальні функції та методи. Отже в данному модулі найважливішу роль відіграють такі функції: class module_gradebook extends EfrontModule, public function getName(),public function getPermittedRoles(),public function getModule(),public function getSmartyTpl(),eF_executeNew.
class module_gradebook extends EfrontModule – класс module_gradebook розширює класс EfrontModule(загальний базовий класс для модулів)
public function getName() – повартає строку з назвою модуля.
public function getPermittedRoles() – повертає масив з усіма eFront ролями, які включені у модуль. Вони буду взаємодіяти з інтерфейсом модулю у будь-якому випадку(Можливі ролі:Адміністратор, викладач, студент)
public function getModule() – кожного разу, коли здійснюється підключення до модулю(виконується $this -> moduleBaseUrL) ця функцію виконається. Цей метод повертає чистий код HTML або істину, якщо використовується smarty. Більш ніж одна незалежна сторінка, може бути виведена на екран з цією функцією.
public function getSmartyTpl() – повертає ім’я шаблонного файлу, якщо використовується smarty, який може використовувати один або більше разів метод getmodule(). Якщо getSmartyTpl() повертає false, то eFront визначає, що жоден шаблон smarty не використовувався.
eF_executeNew – функція БД, дозволяє безпосередньо виконувати SQL – запити до бази даних eFront.
