Разработка:storages/cstreams

Материал из DOF
Версия от 12:48, 10 ноября 2010; Puppetmaster (обсуждение | вклад) (Дополнительные методы:)
Перейти к: навигация, поиск
Плагин
Название cstreams
Тип storages


Таблица в базе данных

cstreams - учебный поток. Представляет учебный процесс, идущий по учебной дисциплине/предмету в течение одного учебного периоду с конкретным преподавателем, одним или несколькими учащимися или группой.

Подробный формат полей в таблице:

  • ageid - учебный период в таблице ages
  • programmitemid - дисциплина в таблице programmitems
  • teacherid - id преподавателя в таблице persons . После создания поля appointmentid стало ненужным. Все старые обращения к этому полю будут переделаны на обращения к appointmentid, при создании новых обращений они должны обращаться к appointmentid. После переработки старых методов данное поле удалиться.
  • departmentid - подразделение, которому принадлежит учебный процесс в таблице departments
  • appointmentid - id назначения на должность в таблице appointments .
  • mdlgroup - id группы moodle, соответствующей учебному потоку
  • eduweeks - количество учебных недель/циклов (каждая соответствует одному циклу в расписании) продолжительности курса, по-умолчанию берется из programmitems, если там не указано - из ages. Нужны для подсчета часов при составлении расписания.
  • begindate - дата и время, когда учебный процесс был впервые переведен в состояние "идет обучение" по UTC
  • enddate - дата и время окончания по UTC, когда учебный процесс был в последний раз выведен из состояния "идет обучение"
  • status - список статусов указан в одноименном плагине рабочих процессов cstreams
  • hours - часов всего
  • hoursweek - часов в неделю

Дополнительные методы:

get_teacher_cstream()

Получает список учебных процессов у данного преподавателя.

Аргументы:

  • $id(int) - id преподавателя в таблице persons .
  • $status(string) - статус потока, по умолчанию - идет(go).

Возвращаемые значения:

  • (array) массив процессов.
  • (bool) false если процессы не найдены.

Структура работы:

  • формируем SQL-запрос и возвращаем список процессов:
    • если указывается статус - процессы с указанным статусом,
    • если статус указывается null - процессы с любым статусом,
    • если статус не указывается - процессы со статусом go.

get_department_cstream()

Получает список учебных процессов у данного подразделения.

Аргументы:

  • $id(int) - id подразделения в таблице departments .
  • $status(string) - статус потока, по умолчанию - идет(go).

Возвращаемые значения:

  • (array) массив процессов.
  • (bool) false если процессы не найдены.

Структура работы:

  • формируем SQL-запрос и возвращаем список процессов:
    • если указывается статус - процессы с указанным статусом,
    • если статус указывается null - процессы с любым статусом,
    • если статус не указывается - процессы со статусом go.

get_age_cstream()

Получает список учебных процессов для данного учебного периода.

Аргументы:

  • $id(int) - id учебного периода в таблице ages .
  • $status(string) - статус потока, по умолчанию - идет(go).

Возвращаемые значения:

  • (array) массив процессов.
  • (bool) false если процессы не найдены.

Структура работы:

  • формируем SQL-запрос и возвращаем список процессов:
    • если указывается статус - процессы с указанным статусом,
    • если статус указывается null - процессы с любым статусом,
    • если статус не указывается - процессы со статусом go.

get_programmitem_cstream()

Получает список учебных процессов по данной дисциплине.

Аргументы:

  • $id(int) - id дисциплины в таблице programmitems .
  • $status(string) - статус потока, по умолчанию - идет(go).

Возвращаемые значения:

  • (array) массив процессов.
  • (bool) false если процессы не найдены.

Структура работы:

  • формируем SQL-запрос и возвращаем список процессов:
    • если указывается статус - процессы с указанным статусом,
    • если статус указывается null - процессы с любым статусом,
    • если статус не указывается - процессы со статусом go.

get_agroup_cstream

Получает список учебных процессов для академической группы.

Аргументы:

  • $id(int) - id академической группы в таблице agroups .

Возвращаемые значения:

  • (array) массив процессов.
  • (bool) false если процессы не найдены.

get_agroup_agenum_cstreams()

get_agroup_status_cstreams()

get_prog_age_cstreams()

get_listing()

get_select_listing()

protected-метод.

is_teacher()

get_agroup_ageids()

create_cstreams_for_agroup()

create_cstreams_for_programm()

enrol_agroup_on_cstreams()

Планы:

Дополнительные методы:

  • Получить список учебных процессов для данного ученика с учетом персональной подписки и академических групп (второй параметр - статус, по умолчанию - "идет").

События

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

Перехватываемые события

Таблица событий, которые перехватывает этот плагин
Тип плагина Код плагина Код события Доп. данные Пояснение
Этот плагин не перехватывает никаких событий

Генерируемые события

Таблица событий, которые генерирует этот плагин
Тип плагина Код плагина Код события Доп. данные Пояснение
storage cstreams insert Массив, содержащий в поле "new" объект с данными для вставки в таблицу.

Пример: array('new' => $dataobject)

Генерируется каждый раз при вставке новой записи в таблицу cstreams.
storage cstreams update Массив, содержащий в поле "new" обновленный объект, и в поле "old" объект со старыми данными, до обновления записи.

Пример: array('old' => $dataobject_old, 'new' => $dataobject_new)

Генерируется каждый раз при обновлении записи в таблице cstreams.
storage cstreams delete Массив, содержащий в поле "old" объект с данными, которые удаляются из таблицы

Пример: array('old' => $dataobject)

Генерируется каждый раз при удалении записи из таблицы cstreams.
storage cstreams changestatus Массив, содержащий id учебного потока

Пример: array('cstreamid'=>$id)

Событие посылается при изменении статуса учебного потока на "активный" (active)