Разработка:storages/cstreams

Материал из DOF
Версия от 18:25, 10 ноября 2010; Puppetmaster (обсуждение | вклад) (Дополнительные методы:)
Перейти к: навигация, поиск
Плагин
Название cstreams
Тип storages


Таблица в базе данных

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)