Разработка:storages/cstreamlinks — различия между версиями
Ilya (обсуждение | вклад) (→Дополнительные методы:: описано какие id из каких таблиц надо брать, добавлены ссылки) |
Ilya (обсуждение | вклад) (Добавлено описание событий и проставлены категории) |
||
Строка 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. |