Разработка:storages/cstreamlinks — различия между версиями
(→Дополнительные методы:) |
(→Дополнительные методы:) |
||
Строка 30: | Строка 30: | ||
* (bool) - false, если связи не найдены. | * (bool) - false, если связи не найдены. | ||
''Структура работы:'' | ''Структура работы:'' | ||
− | + | * по типу сязи находит все необходимые записи. | |
Строка 43: | Строка 43: | ||
* (bool) - false, если связи не найдены. | * (bool) - false, если связи не найдены. | ||
''Структура работы:'' | ''Структура работы:'' | ||
− | + | * по данному id находит все необходимые записи. | |
Строка 56: | Строка 56: | ||
* (bool) - false, если связи не найдены. | * (bool) - false, если связи не найдены. | ||
''Структура работы:'' | ''Структура работы:'' | ||
− | + | * по данному id находит все необходимые записи. | |
Строка 70: | Строка 70: | ||
* (bool) - false, если связь не найдена. | * (bool) - false, если связь не найдена. | ||
''Структура работы:'' | ''Структура работы:'' | ||
− | + | * по данным id находит запись о связи. | |
Строка 84: | Строка 84: | ||
* (bool) - false, если запись не найдена. | * (bool) - false, если запись не найдена. | ||
''Структура работы:'' | ''Структура работы:'' | ||
− | + | * Из списка возможных типов связок выбирает нужную, соответствующую информации о связи, полученной по данным id. | |
Строка 96: | Строка 96: | ||
* (array) | * (array) | ||
''Структура работы:'' | ''Структура работы:'' | ||
− | + | * Создаёт массив из записей типа: 'тип связки' => 'описание'. | |
Строка 111: | Строка 111: | ||
* (bool) - true, если такая запись уже существует, и false, если произошла ошибка. | * (bool) - true, если такая запись уже существует, и false, если произошла ошибка. | ||
''Структура работы:'' | ''Структура работы:'' | ||
− | + | * Получает все доступные виды связей академических групп с потоками. | |
− | + | * Проверяет, является ли переданный вариант допустимым. | |
− | + | * Если всё правильно вставляет запись с переданными данными в базу и возвращает результат. | |
===Планы:=== | ===Планы:=== |
Версия 12:34, 10 ноября 2010
Плагин | |
Название | cstreamlinks |
Тип | storages |
Таблица в базе данных
cstreamlinks - участие академических групп в учебных потоках (основание для инициации учебного процесса).
Подробный формат полей в таблице:
- cstreamid (int) - учебный процесс в таблице cstreams
- agroupid (int) - академическая группа в таблице agroups (вместе с полем cstreamid составляет уникальный ключ)
- agroupsync (char, 20) - тип связи с академической группой: полная, не обязательный курс, нет связи
Поведение, при разных типах связей
Синхронизации членов групп распространяется только на текущие, приостановленные и запланированные потоки. А на завершенные и отмененные не распространяются. При записи студента в поток через синхронизацию, в таблице cpassed устанавливается id академической группы, чтобы отслеживать связь при отчислении.
- Полная - при добавлении студента в группу, он добавляется и в поток, при исключении - отчисляется.
- Не обязательный курс - при добавлении студента в группу, он НЕ добавляется в поток, а при исключении - отчисляется.
- Нет связи - нет автоматических синхронизаций ни при включении в группу, ни при исключении, но поток числится связанным с группой. Все добавленные студенты из этой группы числятся индивидуалами (записанными на поток вручную по одному, не зависимо от группы).
Дополнительные методы:
get_typesync_cstreamlink($typesync)
Получает список связей, по типу связи.
Аргументы:
- $typesync(string) - статус потока.
Возвращаемые значения:
- (array) - список связей.
- (bool) - false, если связи не найдены.
Структура работы:
- по типу сязи находит все необходимые записи.
get_agroup_cstreamlink($id)
Получает список связей по академической группе.
Аргументы:
- $id(int) - id академической группы в таблице agroups .
Возвращаемые значения:
- (array) - список связей.
- (bool) - false, если связи не найдены.
Структура работы:
- по данному id находит все необходимые записи.
get_cstream_cstreamlink($id)
Получает список связей по учебному процессу.
Аргументы:
- $id(int) - id учебного процесса в таблице cstreams .
Возвращаемые значения:
- (array) - список связей .
- (bool) - false, если связи не найдены.
Структура работы:
- по данному id находит все необходимые записи.
get_link_cstreamlink($agid, $csid)
Получает информацию о связи академической группы с учебным процессом или false.
Аргументы:
- $agid(int) - id академической группы в таблице agroups .
- $csid(int) - id учебного процесса в таблице cstreams .
Возвращаемые значения:
- (object) - запись из таблицы БД.
- (bool) - false, если связь не найдена.
Структура работы:
- по данным id находит запись о связи.
get_type_cstreamlink($agid, $csid)
Получает тип связи связи академической группы с учебным процессом или false.
Аргументы:
- $agid(int) - id академической группы в таблице agroups .
- $csid(int) - id учебного процесса в таблице cstreams .
Возвращаемые значения:
- (string) - запись со связью.
- (bool) - false, если запись не найдена.
Структура работы:
- Из списка возможных типов связок выбирает нужную, соответствующую информации о связи, полученной по данным id.
get_list_agroupsync()
Возвращает массив возможных типов связок
Аргументы:
- (нет).
Возвращаемые значения:
- (array)
Структура работы:
- Создаёт массив из записей типа: 'тип связки' => 'описание'.
enrol_agroup_on_cstream($agroupid, $cstreamid, $agroupsync='full')
Подписывает одну учебную группу на один поток
Аргументы:
- $agroupid(int) - id группы в таблице agroups .
- $cstreamid(int) - id учебного потока в таблице cstreams .
- $agroupsync(string) - тип связи с академической группой: полная(full), не обязательный курс(norequired), нет связи(nolink).
Возвращаемые значения:
- (int) - id новой записи в таблице cstreams
- (bool) - true, если такая запись уже существует, и false, если произошла ошибка.
Структура работы:
- Получает все доступные виды связей академических групп с потоками.
- Проверяет, является ли переданный вариант допустимым.
- Если всё правильно вставляет запись с переданными данными в базу и возвращает результат.
Планы:
События
В этом разделе описан список всех событий, которые генерируются, перехватываются и обрабатываются этим плагином.
Перехватываемые события
Тип плагина | Код плагина | Код события | Доп. данные | Пояснение |
---|---|---|---|---|
Этот плагин не перехватывает никаких событий |
Генерируемые события
Тип плагина | Код плагина | Код события | Доп. данные | Пояснение |
---|---|---|---|---|
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. |