Разработка:storages/cstreamlinks — различия между версиями
Ilya (обсуждение | вклад) (Добавлено описание событий и проставлены категории) |
(→Дополнительные методы:) |
||
Строка 20: | Строка 20: | ||
===Дополнительные методы:=== | ===Дополнительные методы:=== | ||
− | '''get_typesync_cstreamlink()''' | + | ===='''get_typesync_cstreamlink($typesync)'''==== |
Получает список связей, по типу связи. | Получает список связей, по типу связи. | ||
Строка 27: | Строка 27: | ||
* $typesync(string) - статус потока. | * $typesync(string) - статус потока. | ||
''Возвращаемые значения:'' | ''Возвращаемые значения:'' | ||
− | * (array) список связей. | + | * (array) - список связей. |
− | * (bool) false если связи не найдены. | + | * (bool) - false, если связи не найдены. |
''Структура работы:'' | ''Структура работы:'' | ||
− | * по типу сязи находит все необходимые записи. | + | #* по типу сязи находит все необходимые записи. |
− | '''get_agroup_cstreamlink()''' | + | |
+ | ===='''get_agroup_cstreamlink($id)''' ==== | ||
Получает список связей по академической группе. | Получает список связей по академической группе. | ||
Строка 39: | Строка 40: | ||
* $id(int) - id академической группы в таблице [[Разработка:storages/agroups | agroups ]]. | * $id(int) - id академической группы в таблице [[Разработка:storages/agroups | agroups ]]. | ||
''Возвращаемые значения:'' | ''Возвращаемые значения:'' | ||
− | * (array) список связей. | + | * (array) - список связей. |
− | * (bool) false если связи не найдены. | + | * (bool) - false, если связи не найдены. |
''Структура работы:'' | ''Структура работы:'' | ||
− | * по данному id находит все необходимые записи. | + | #* по данному id находит все необходимые записи. |
+ | |||
− | '''get_cstream_cstreamlink()''' | + | ===='''get_cstream_cstreamlink($id)'''==== |
Получает список связей по учебному процессу. | Получает список связей по учебному процессу. | ||
''Аргументы:'' | ''Аргументы:'' | ||
− | * $id(int) - id | + | * $id(int) - id учебного процесса в таблице [[Разработка:storages/cstreams | cstreams ]]. |
''Возвращаемые значения:'' | ''Возвращаемые значения:'' | ||
− | * (array) список связей . | + | * (array) - список связей . |
− | * (bool) false если связи не найдены. | + | * (bool) - false, если связи не найдены. |
''Структура работы:'' | ''Структура работы:'' | ||
− | * по данному id находит все необходимые записи. | + | #* по данному id находит все необходимые записи. |
+ | |||
− | '''get_link_cstreamlink()''' | + | ===='''get_link_cstreamlink($agid, $csid)'''==== |
Получает информацию о связи академической группы с учебным процессом или false. | Получает информацию о связи академической группы с учебным процессом или false. | ||
''Аргументы:'' | ''Аргументы:'' | ||
− | * $agid(int) - id академической группы в таблице [[Разработка:storages/ | + | * $agid(int) - id академической группы в таблице [[Разработка:storages/agroups | agroups ]]. |
* $csid(int) - id учебного процесса в таблице [[Разработка:storages/cstreams | cstreams ]]. | * $csid(int) - id учебного процесса в таблице [[Разработка:storages/cstreams | cstreams ]]. | ||
''Возвращаемые значения:'' | ''Возвращаемые значения:'' | ||
* (object) - запись из таблицы БД. | * (object) - запись из таблицы БД. | ||
− | * (bool) false если связь не найдена. | + | * (bool) - false, если связь не найдена. |
+ | ''Структура работы:'' | ||
+ | #* по данным id находит запись о связи. | ||
+ | |||
+ | |||
+ | ===='''get_type_cstreamlink($agid, $csid)'''==== | ||
+ | |||
+ | Получает тип связи связи академической группы с учебным процессом или false. | ||
+ | |||
+ | ''Аргументы:'' | ||
+ | * $agid(int) - id академической группы в таблице [[Разработка:storages/agroups | agroups ]]. | ||
+ | * $csid(int) - id учебного процесса в таблице [[Разработка:storages/cstreams | cstreams ]]. | ||
+ | ''Возвращаемые значения:'' | ||
+ | * (string) - запись со связью. | ||
+ | * (bool) - false, если запись не найдена. | ||
+ | ''Структура работы:'' | ||
+ | #* Из списка возможных типов связок выбирает нужную, соответствующую информации о связи, полученной по данным id. | ||
+ | |||
+ | |||
+ | ===='''get_list_agroupsync()'''==== | ||
+ | |||
+ | Возвращает массив возможных типов связок | ||
+ | |||
+ | ''Аргументы:'' | ||
+ | * (нет). | ||
+ | ''Возвращаемые значения:'' | ||
+ | * (array) | ||
+ | ''Структура работы:'' | ||
+ | #* Создаёт массив из записей типа: 'тип связки' => 'описание'. | ||
+ | |||
+ | |||
+ | ===='''enrol_agroup_on_cstream($agroupid, $cstreamid, $agroupsync='full')'''==== | ||
+ | |||
+ | Подписывает одну учебную группу на один поток | ||
+ | |||
+ | ''Аргументы:'' | ||
+ | * $agroupid(int) - id группы в таблице [[Разработка:storages/agroups | agroups ]]. | ||
+ | * $cstreamid(int) - id учебного потока в таблице [[Разработка:storages/cstreams | cstreams ]]. | ||
+ | * $agroupsync(string) - тип связи с академической группой: полная(full), не обязательный курс(norequired), нет связи(nolink). | ||
+ | ''Возвращаемые значения:'' | ||
+ | * (int) - id новой записи в таблице cstreams | ||
+ | * (bool) - true, если такая запись уже существует, и false, если произошла ошибка. | ||
''Структура работы:'' | ''Структура работы:'' | ||
− | * | + | #* Получает все доступные виды связей академических групп с потоками. |
+ | #* Проверяет, является ли переданный вариант допустимым. | ||
+ | #* Если всё правильно вставляет запись с переданными данными в базу и возвращает результат. | ||
===Планы:=== | ===Планы:=== |
Версия 12:32, 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. |