Разработка:storages/cstreamlinks — различия между версиями

Материал из DOF
Перейти к: навигация, поиск
(Дополнительные методы:: описано какие id из каких таблиц надо брать, добавлены ссылки)
(Добавлено описание событий и проставлены категории)
Строка 70: Строка 70:
  
 
===Планы:===
 
===Планы:===
 +
 +
===События===
 +
В этом разделе описан список всех событий, которые генерируются, перехватываются и обрабатываются этим плагином.
 +
====Перехватываемые события====
 +
{| border="1"
 +
|+ Таблица событий, которые перехватывает этот плагин
 +
! Тип плагина
 +
! Код плагина
 +
! Код события
 +
! Доп. данные
 +
! Пояснение
 +
|-
 +
|colspan=5 align=center | ''Этот плагин не перехватывает никаких событий''
 +
|}
 +
====Генерируемые события====
 +
{| border="1"
 +
|+ Таблица событий, которые генерирует этот плагин
 +
! Тип плагина
 +
! Код плагина
 +
! Код события
 +
! Доп. данные
 +
! Пояснение
 +
|-
 +
|storage
 +
|cstreamlinks
 +
|insert
 +
|Массив, содержащий в поле "new" объект с данными для вставки в таблицу.
 +
''Пример:'' array('new' => $dataobject)
 +
|Генерируется каждый раз при вставке новой записи в таблицу cstreamlinks.
 +
|-
 +
|storage
 +
|cstreamlinks
 +
|update
 +
|Массив, содержащий в поле "new" обновленный объект, и в поле "old" объект со старыми данными, до обновления записи.
 +
''Пример:'' array('old' => $dataobject_old, 'new' => $dataobject_new)
 +
|Генерируется каждый раз при обновлении записи в таблице cstreamlinks.
 +
|-
 +
|storage
 +
|cstreamlinks
 +
|delete
 +
|Массив, содержащий в поле "old" объект с данными, которые удаляются из таблицы
 +
''Пример:'' array('old' => $dataobject)
 +
|Генерируется каждый раз при удалении записи из таблицы cstreamlinks.
 +
|}
 +
 +
[[Категория:Разработка]]
 +
[[Категория:Плагины_storages]]

Версия 17:19, 16 февраля 2010

Плагин
Название cstreamlinks
Тип storages


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

cstreamlinks - участие академических групп в учебных потоках (основание для инициации учебного процесса).

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

  • cstreamid (int) - учебный процесс в таблице cstreams
  • agroupid (int) - академическая группа в таблице agroups (вместе с полем cstreamid составляет уникальный ключ)
  • agroupsync (char, 20) - тип связи с академической группой: полная, не обязательный курс, нет связи
Поведение, при разных типах связей

Синхронизации членов групп распространяется только на текущие, приостановленные и запланированные потоки. А на завершенные и отмененные не распространяются. При записи студента в поток через синхронизацию, в таблице cpassed устанавливается id академической группы, чтобы отслеживать связь при отчислении.

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

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

get_typesync_cstreamlink()

Получает список связей, по типу связи.

Аргументы:

  • $typesync(string) - статус потока.

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

  • (array) список связей.
  • (bool) false если связи не найдены.

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

  • по типу сязи находит все необходимые записи.

get_agroup_cstreamlink()

Получает список связей по академической группе.

Аргументы:

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

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

  • (array) список связей.
  • (bool) false если связи не найдены.

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

  • по данному id находит все необходимые записи.

get_cstream_cstreamlink()

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

Аргументы:

  • $id(int) - id академической группы.

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

  • (array) список связей .
  • (bool) false если связи не найдены.

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

  • по данному id находит все необходимые записи.

get_link_cstreamlink()

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

Аргументы:

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

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

  • (object) - запись из таблицы БД.
  • (bool) false если связь не найдена.

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

  • по данным id находит запись о связи.

Планы:

События

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

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

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

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

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

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

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

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

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

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

Генерируется каждый раз при удалении записи из таблицы cstreamlinks.