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

Материал из DOF
Перейти к: навигация, поиск
(Дополнительные методы:: Добавлены описания методов)
 
(не показано 9 промежуточных версий 3 участников)
Строка 1: Строка 1:
 +
{{Infobox_Plugin
 +
| name = cstreamlinks
 +
| type = storages
 +
}}
 +
 
===Таблица в базе данных===
 
===Таблица в базе данных===
 
''cstreamlinks'' - участие академических групп в учебных потоках (основание для инициации учебного процесса).  
 
''cstreamlinks'' - участие академических групп в учебных потоках (основание для инициации учебного процесса).  
  
 
====Подробный формат полей в таблице:====
 
====Подробный формат полей в таблице:====
* cstreamid - учебный процесс
+
* cstreamid (int) - учебный процесс в таблице [[Разработка:storages/cstreams | cstreams ]]
* agroupid - академическая группа (вместе с полем cstreamid составляет уникальный ключ)
+
* agroupid (int) - академическая группа в таблице [[Разработка:storages/agroups | agroups ]] (вместе с полем cstreamid составляет уникальный ключ)
* agroupsync - тип связи с академической группой: полная, не обязательный курс, нет связи
+
* agroupsync (char, 20) - тип связи с академической группой: полная, не обязательный курс, нет связи
 +
=====Поведение, при разных типах связей=====
 +
Синхронизации членов групп распространяется только на текущие, приостановленные и запланированные потоки. А на завершенные и отмененные не распространяются.
 +
При записи студента в поток через синхронизацию, в таблице [[Разработка:storages/cpassed | cpassed ]] устанавливается id академической группы, чтобы отслеживать связь при отчислении.
 +
* Полная - при добавлении студента в группу, он добавляется и в поток, при исключении - отчисляется.
 +
* Не обязательный курс - при добавлении студента в группу, он НЕ добавляется в поток, а при исключении - отчисляется.
 +
* Нет связи - нет автоматических синхронизаций ни при включении в группу, ни при исключении, но поток числится связанным с группой. Все добавленные студенты из этой группы числятся индивидуалами (записанными на поток вручную по одному, не зависимо от группы).
  
 
===Дополнительные методы:===
 
===Дополнительные методы:===
  
'''get_typesync_cstreamlink()'''
+
===='''get_typesync_cstreamlink($typesync)'''====
  
 
Получает список связей, по типу связи.
 
Получает список связей, по типу связи.
Строка 16: Строка 27:
 
* $typesync(string) - статус потока.
 
* $typesync(string) - статус потока.
 
''Возвращаемые значения:''
 
''Возвращаемые значения:''
* (array) список связей.
+
* (array) - список связей.
* (bool) false если связи не найдены.
+
* (bool) - false, если связи не найдены.
 
''Структура работы:''
 
''Структура работы:''
 
* по типу сязи находит все необходимые записи.
 
* по типу сязи находит все необходимые записи.
  
'''get_agroup_cstreamlink()'''  
+
 
 +
===='''get_agroup_cstreamlink($id)''' ====
  
 
Получает список связей по академической группе.
 
Получает список связей по академической группе.
  
 
''Аргументы:''  
 
''Аргументы:''  
* $id(int) - id академической группы.
+
* $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 академической группы.
+
* $agid(int) - id академической группы в таблице [[Разработка:storages/agroups | agroups ]].
* $csid(int) - id учебного процесса.
+
* $csid(int) - id учебного процесса в таблице [[Разработка:storages/cstreams | cstreams ]].
 
''Возвращаемые значения:''
 
''Возвращаемые значения:''
 
* (object) - запись из таблицы БД.
 
* (object) - запись из таблицы БД.
* (bool) false если связь не найдена.
+
* (bool) - false, если связь не найдена.
 
''Структура работы:''
 
''Структура работы:''
 
* по данным id находит запись о связи.
 
* по данным 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, если произошла ошибка.
 +
''Структура работы:''
 +
* Получает все доступные виды связей академических групп с потоками.
 +
* Проверяет, является ли переданный вариант допустимым.
 +
* Если всё правильно вставляет запись с переданными данными в базу и возвращает результат.
  
 
===Планы:===
 
===Планы:===
 +
 +
===События===
 +
В этом разделе описан список всех событий, которые генерируются, перехватываются и обрабатываются этим плагином.
 +
====Перехватываемые события====
 +
{| 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.
 +
|}

Текущая версия на 13:15, 30 июня 2014

Плагин
Название 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.