Разработка:storages/cstreams
Плагин | |
Название | cstreams |
Тип | storages |
Содержание
- 1 Таблица в базе данных
- 2 Дополнительные методы:
- 2.1 insert($dataobject, $id = NULL, $quiet=false)
- 2.2 delete($id,$quiet=false)
- 2.3 update($dataobject, $id = NULL, $quiet=false)
- 2.4 get($id)
- 2.5 get_field($id,$return)
- 2.6 get_filter($field1 = /, $value1 = /, $field2 = /, $value2 = /, $field3 = /, $value3 = /, $fields = '*')
- 2.7 get_list($field = , $value = , $sort = , $fields = '*', $limitfrom = , $limitnum = )
- 2.8 get_teacher_cstream()
- 3 Планы:
- 4 События
Таблица в базе данных
cstreams - учебный поток. Представляет учебный процесс, идущий по учебной дисциплине/предмету в течение одного учебного периоду с конкретным преподавателем, одним или несколькими учащимися или группой.
Подробный формат полей в таблице:
- ageid - учебный период в таблице ages
- programmitemid - дисциплина в таблице programmitems
- teacherid - id преподавателя в таблице persons . После создания поля appointmentid стало ненужным. Все старые обращения к этому полю будут переделаны на обращения к appointmentid, при создании новых обращений они должны обращаться к appointmentid. После переработки старых методов данное поле удалиться.
- departmentid - подразделение, которому принадлежит учебный процесс в таблице departments
- appointmentid - id назначения на должность в таблице appointments .
- mdlgroup - id группы moodle, соответствующей учебному потоку
- eduweeks - количество учебных недель/циклов (каждая соответствует одному циклу в расписании) продолжительности курса, по-умолчанию берется из programmitems, если там не указано - из ages. Нужны для подсчета часов при составлении расписания.
- begindate - дата и время, когда учебный процесс был впервые переведен в состояние "идет обучение" по UTC
- enddate - дата и время окончания по UTC, когда учебный процесс был в последний раз выведен из состояния "идет обучение"
- status - список статусов указан в одноименном плагине рабочих процессов cstreams
- hours - часов всего
- hoursweek - часов в неделю
- name - имя предмето-потока
- hoursweekdistance - количество часов в неделю дистанционно
Дополнительные методы:
insert($dataobject, $id = NULL, $quiet=false)
Вставляет запись в таблицу плагина.
Аргументы:
- dataobject(object) - данные для записи в таблицу.
- $id = NULL
- quiet(bool) - генерировать или нет события, по умолчанию - нет(false).
Возвращаемые значения:
- (int) - id вставленной записи.
- (bool) - false, если операция не удалась.
delete($id,$quiet=false)
Удаляет запись из таблицы плагина с указанным id.
Аргументы:
- id(int) - id записи в этой таблице .
- quiet(bool) - генерировать или нет события, по умолчанию - нет(false).
Возвращаемые значения:
- (bool) - true, если запись удалена или ее нет, false - в остальных случаях.
update($dataobject, $id = NULL, $quiet=false)
Обновляет запись в таблице плагина данными из объекта. Отсутствующие в объекте записи не изменяются. Если id передан, то обновляется запись с переданным id. Если id не передан обновляется запись с id, который передан в объекте.
Аргументы:
- dataobject(object) - данные, которыми надо заменить запись в таблице.
- id(int) - id обновляемой записи в этой таблице.
- quiet(bool) - не генерировать событий.
Возвращаемые значения:
- (bool) - true, если обновление прошло успешно, и false - во всех остальных случаях.
get($id)
Возвращает запись из таблицы плагина с указанным id.
Аргументы:
- id(int) - id записи в этой таблице.
Возвращаемые значения:
- @return mixed object - запись из таблицы или false в остальных случаях.
get_field($id,$return)
Возвращает содержимое поля по id записи и имени поля в таблице плагина .
Аргументы:
- id(int) - id записи в этой таблице.
- $return(string) - имя поля.
Возвращаемые значения:
- (mixed) - значение поля.
get_filter($field1 = /, $value1 = /, $field2 = /, $value2 = /, $field3 = /, $value3 = /, $fields = '*')
Возвращает объект, которые удовлетворяют заданным критериям.
Аргументы:
- field1(string) - название первого поля поиска, по умолчанию - пусто().
- value1(mixed) - значение, которое ищется в первом поле, по умолчанию - пусто().
- field2(string) - название второго поля поиска, по умолчанию - пусто().
- value2(mixed) - значение, которое ищется во втором поле, по умолчанию - пусто().
- field3(string) - название третьего поля поиска, по умолчанию - пусто().
- value3(mixed) - значение, которое ищется в третьем поле, по умолчанию - пусто().
- любая переменная $valueX может содержать как одно значение так и массив значений, которые ищутся в соответствующем поле.
- fields(string) - поля, которые должны быть возвращены, разделенные запятыми.
Возвращаемые значения:
- (object) - объект с указанными полями, если нашлась запись, удовлетворяюшая всем трем критериям поиска.
- (bool) - false, если произошла ошибка.
get_list($field = , $value = , $sort = , $fields = '*', $limitfrom = , $limitnum = )
Возвращает массив объектов, удовлетворяющих нескольким значениям одного поля из таблицы плагина.
Аргументы:
- field(string) - название поля для поиска в этой таблице.
- value(mixed) - может содержать как одно значение, так и массив значений, которые ищутся в указанном поле
- sort(string) - в каком направлении и по каким полям производится сортировка.
- fields(string) - поля, которые надо возвратить.
- limitfrom(int) - id, начиная с которого надо искать.
- limitnum(int) - максимальное количество записей, которое надо вернуть.
Возвращаемые значения:
- (mixed) - массив объектов если что-то нашлось.
- (bool) - false, если произошла ошибка.
get_teacher_cstream()
Получает список учебных процессов у данного преподавателя.
Аргументы:
- $id(int) - id преподавателя в таблице persons .
- $status(string) - статус потока, по умолчанию - идет(go).
Возвращаемые значения:
- (array) массив процессов.
- (bool) false если процессы не найдены.
Структура работы:
- формируем SQL-запрос и возвращаем список процессов:
- если указывается статус - процессы с указанным статусом,
- если статус указывается null - процессы с любым статусом,
- если статус не указывается - процессы со статусом go.
get_department_cstream()
Получает список учебных процессов у данного подразделения.
Аргументы:
- $id(int) - id подразделения в таблице departments .
- $status(string) - статус потока, по умолчанию - идет(go).
Возвращаемые значения:
- (array) массив процессов.
- (bool) false если процессы не найдены.
Структура работы:
- формируем SQL-запрос и возвращаем список процессов:
- если указывается статус - процессы с указанным статусом,
- если статус указывается null - процессы с любым статусом,
- если статус не указывается - процессы со статусом go.
get_age_cstream()
Получает список учебных процессов для данного учебного периода.
Аргументы:
- $id(int) - id учебного периода в таблице ages .
- $status(string) - статус потока, по умолчанию - идет(go).
Возвращаемые значения:
- (array) массив процессов.
- (bool) false если процессы не найдены.
Структура работы:
- формируем SQL-запрос и возвращаем список процессов:
- если указывается статус - процессы с указанным статусом,
- если статус указывается null - процессы с любым статусом,
- если статус не указывается - процессы со статусом go.
get_programmitem_cstream()
Получает список учебных процессов по данной дисциплине.
Аргументы:
- $id(int) - id дисциплины в таблице programmitems .
- $status(string) - статус потока, по умолчанию - идет(go).
Возвращаемые значения:
- (array) массив процессов.
- (bool) false если процессы не найдены.
Структура работы:
- формируем SQL-запрос и возвращаем список процессов:
- если указывается статус - процессы с указанным статусом,
- если статус указывается null - процессы с любым статусом,
- если статус не указывается - процессы со статусом go.
get_agroup_cstream
Получает список учебных процессов для академической группы.
Аргументы:
- $id(int) - id академической группы в таблице agroups .
Возвращаемые значения:
- (array) массив процессов.
- (bool) false если процессы не найдены.
get_agroup_agenum_cstreams()
get_agroup_status_cstreams()
get_prog_age_cstreams()
get_listing()
get_select_listing()
protected-метод.
is_teacher()
get_agroup_ageids()
create_cstreams_for_agroup()
create_cstreams_for_programm()
enrol_agroup_on_cstreams()
Планы:
Дополнительные методы:
- Получить список учебных процессов для данного ученика с учетом персональной подписки и академических групп (второй параметр - статус, по умолчанию - "идет").
События
В этом разделе описан список всех событий, которые генерируются, перехватываются и обрабатываются этим плагином.
Перехватываемые события
Тип плагина | Код плагина | Код события | Доп. данные | Пояснение |
---|---|---|---|---|
Этот плагин не перехватывает никаких событий |
Генерируемые события
Тип плагина | Код плагина | Код события | Доп. данные | Пояснение |
---|---|---|---|---|
storage | cstreams | insert | Массив, содержащий в поле "new" объект с данными для вставки в таблицу.
Пример: array('new' => $dataobject) |
Генерируется каждый раз при вставке новой записи в таблицу cstreams. |
storage | cstreams | update | Массив, содержащий в поле "new" обновленный объект, и в поле "old" объект со старыми данными, до обновления записи.
Пример: array('old' => $dataobject_old, 'new' => $dataobject_new) |
Генерируется каждый раз при обновлении записи в таблице cstreams. |
storage | cstreams | delete | Массив, содержащий в поле "old" объект с данными, которые удаляются из таблицы
Пример: array('old' => $dataobject) |
Генерируется каждый раз при удалении записи из таблицы cstreams. |
storage | cstreams | changestatus | Массив, содержащий id учебного потока
Пример: array('cstreamid'=>$id) |
Событие посылается при изменении статуса учебного потока на "активный" (active) |