Разработка:storages/plans — различия между версиями
Yumeneco (обсуждение | вклад) (→Подробный формат полей в таблице:) |
Dido86 (обсуждение | вклад) (→Дополнительные методы:) |
||
Строка 21: | Строка 21: | ||
===Дополнительные методы:=== | ===Дополнительные методы:=== | ||
− | '''get_checkpoints()''' | + | |
+ | |||
+ | ===='''get_checkpoints($id, $type, $status = 'active')'''==== | ||
Получает список контрольных точек напрямую связанных с одним объектом привязки. Сортируются по относительной дате. Данный метод возвращает только контрольные точки, напрямую привязанные к объекту, его не следует использовать для отображения полного учебно-тематического плана! | Получает список контрольных точек напрямую связанных с одним объектом привязки. Сортируются по относительной дате. Данный метод возвращает только контрольные точки, напрямую привязанные к объекту, его не следует использовать для отображения полного учебно-тематического плана! | ||
''Аргументы:'' | ''Аргументы:'' | ||
− | * | + | * (int) $id - id элемента, к которому привязана контрольная точка. |
− | * $type | + | * (str) $type - тип элемента, к которому привязана контрольная точка. ([[Разработка:storages/ages | ages ]], [[Разработка:storages/programmitems | programmitems ]], [[Разработка:storages/cstreams | cstreams ]]). |
− | * $status | + | * (str) $status - статус контрольной точки, по умолчанию - действующая(active). |
''Возвращаемые значения:'' | ''Возвращаемые значения:'' | ||
* (array) массив объектов из таблицы. | * (array) массив объектов из таблицы. | ||
Строка 38: | Строка 40: | ||
** если статус не указывается - КТ со статусом active. | ** если статус не указывается - КТ со статусом active. | ||
− | ''' | + | ===='''get_list_no_status($status = 'active')'''==== |
− | Получает список контрольных точек | + | Получает список контрольных точек, со всеми статусами, кроме указанного |
− | ''Аргументы:'' | + | ''Аргументы:'' |
− | * $ | + | * (str) $status - статус уоторый надо исключить, по умолчанию active |
''Возвращаемые значения:'' | ''Возвращаемые значения:'' | ||
− | * | + | * array|bool - массив записей из таблицы [[Разработка:storages/plans | plans ]] или false если ничего не найдено |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | ===='''sort_checkpoints_and_events($id, $planstatuses=null, $eventstatuses=null)'''==== | |
− | |||
− | '' | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Получает список объединенных контрольных точек и событий отсортированных по дате события или контрольной точки. | Получает список объединенных контрольных точек и событий отсортированных по дате события или контрольной точки. | ||
''Аргументы:'' | ''Аргументы:'' | ||
− | * | + | * (int) $id - id учебного процесса в таблице [[Разработка:storages/cstreams | cstreams ]] |
− | + | * array $planstatuses - список статусов с которыми получаются контрольные точки из таблицы [[Разработка:storages/plans | plans ]], по умолчанию - с любым статусом(null) | |
− | + | * array $eventstatuses - список статусов с которыми нужно получить события из таблицы [[Разработка:storages/schevents | schevents ]], по умолчанию - с любым статусом(null) | |
''Возвращаемые значения:'' | ''Возвращаемые значения:'' | ||
− | * | + | * array массив объектов - контрольных точек из таблицы [[Разработка:storages/plans | plans ]]. Если для КТ есть событие - то оно записывается в поле "event" |
''Структура работы:'' | ''Структура работы:'' | ||
# находим необходимые контрольные точки. | # находим необходимые контрольные точки. | ||
Строка 90: | Строка 69: | ||
# соритуем массив по ключам в порядке возрастания. | # соритуем массив по ключам в порядке возрастания. | ||
# возвращаем результат. | # возвращаем результат. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===='''get_checkpoints_for_cstreams($csid, $statuses=null)'''==== | ||
+ | |||
+ | Получает список контрольных точек актуальных для данного учебного процесса (включая контрольные точки дисциплины и периода, с которыми связан данный учебный процесс). Сортируются по абсолютной дате, которая вычисляется как дата старта учебного процесса + относительная дата точек, привязанных к учебному процессу или точек, привязанных к дисциплине, или как дата начала учебного периода + относительная дата точек, привязанных к учебному периоду. | ||
+ | |||
+ | ''Аргументы:'' | ||
+ | * (int) $csid - id учебного процесса в таблице [[Разработка:storages/cstreams | cstreams ]]. | ||
+ | * (str) $statuses - статусы контрольных точек в таблице [[Разработка:storages/plans | plans ]] | ||
+ | ''Возвращаемые значения:'' | ||
+ | * array - массив объектов из таблицы. | ||
+ | * bool - false если контрольные точки не найдены. | ||
+ | ''Структура работы:'' | ||
+ | * формируем SQL-запрос: | ||
+ | ** по данному id находим учебный процесс. | ||
+ | ** формируем условие выборки. | ||
+ | ** по id периода из учебного находим учебный период. | ||
+ | *** если период существует, добавляем его в условие выборки и формируем дополнительную колонку содержащюю абсолютную дату для каждой КТ, | ||
+ | *** если периода нет, формируем дополнительную колонку без учета периода. | ||
+ | * возвращаем список КТ по SQL-запросу. | ||
===Планы:=== | ===Планы:=== |
Версия 17:47, 9 ноября 2010
Плагин | |
Название | plans |
Тип | storages |
Таблица в базе данных
plans - темы в учебном плане и контрольные точки внутри учебной дисциплины/предмета, предусмотренные учебным планом курса.
Подробный формат полей в таблице:
- linkid - связь с учебным периодом, учебной программой, дисциплиной или учебным процессом
- linktype - тип связи ( ages , programmitems , cstreams )
- parentid - id родительской контрольной точки, если она наследовалась от стандартной темы в плане (модификация или дубль), либо id основной контрольной точки, если оценка является "дополнительной" (статус "дополнительная" - при этом тема не отображается в плане отдельной строкой, а только в подробной информации про основную тему, если основная тема наследуется, то и все дополнительные наследуются), по умолчанию - 0
- name - название контрольной точки или темы занятия
- reldate - относительная дата сдачи в секундах от начала учебного процесса, периода.
- reldldate - относительная дата последнего срока сдачи в секундах от начала учебного процесса, периода. Может совпадать с reldate.
- scale - диапазон или перечисленные через запятую возможные оценки, пустая строка если оценка не предусмотрена
- type - тип события (очный урок/лекция(facetime), дистанционный урок/лекция(distance), семинар(seminar), лабораторная работа(laboratorywork), практическая работа(practicework), контрольная работа(testwork), промежуточная аттестация(intermediate))
- typesync - тип синхронизации (выставление вручную, синхронизация с moodle)
- mdlinstance - id задания в moodle для синхронизации
- status - список статусов указан в одноименном плагине рабочих процессов plans
Дополнительные методы:
get_checkpoints($id, $type, $status = 'active')
Получает список контрольных точек напрямую связанных с одним объектом привязки. Сортируются по относительной дате. Данный метод возвращает только контрольные точки, напрямую привязанные к объекту, его не следует использовать для отображения полного учебно-тематического плана!
Аргументы:
- (int) $id - id элемента, к которому привязана контрольная точка.
- (str) $type - тип элемента, к которому привязана контрольная точка. ( ages , programmitems , cstreams ).
- (str) $status - статус контрольной точки, по умолчанию - действующая(active).
Возвращаемые значения:
- (array) массив объектов из таблицы.
- (bool) false если контрольные точки не найдены.
Структура работы:
- формируем SQL-запрос и возвращаем список КТ:
- если указывается статус - КТ с указанным статусом,
- если статус указывается null - КТ с любим статусом,
- если статус не указывается - КТ со статусом active.
get_list_no_status($status = 'active')
Получает список контрольных точек, со всеми статусами, кроме указанного
Аргументы:
- (str) $status - статус уоторый надо исключить, по умолчанию active
Возвращаемые значения:
- array|bool - массив записей из таблицы plans или false если ничего не найдено
sort_checkpoints_and_events($id, $planstatuses=null, $eventstatuses=null)
Получает список объединенных контрольных точек и событий отсортированных по дате события или контрольной точки.
Аргументы:
- (int) $id - id учебного процесса в таблице cstreams
- array $planstatuses - список статусов с которыми получаются контрольные точки из таблицы plans , по умолчанию - с любым статусом(null)
- array $eventstatuses - список статусов с которыми нужно получить события из таблицы schevents , по умолчанию - с любым статусом(null)
Возвращаемые значения:
- array массив объектов - контрольных точек из таблицы plans . Если для КТ есть событие - то оно записывается в поле "event"
Структура работы:
- находим необходимые контрольные точки.
- получаем масив состыкованных КТ и событий.
- формируем новый массив состыкованных КТ и событий, в котором индексы заменены на метки времени.
- получаем метку времени при помощи get_date().
- если метку времени не получили, переходим к следующему элементу,
- если метка времени не уникальна, делаем ее уникальной.
- записываем получившуюся метку времени, как ключ массива.
- соритуем массив по ключам в порядке возрастания.
- возвращаем результат.
get_checkpoints_for_cstreams($csid, $statuses=null)
Получает список контрольных точек актуальных для данного учебного процесса (включая контрольные точки дисциплины и периода, с которыми связан данный учебный процесс). Сортируются по абсолютной дате, которая вычисляется как дата старта учебного процесса + относительная дата точек, привязанных к учебному процессу или точек, привязанных к дисциплине, или как дата начала учебного периода + относительная дата точек, привязанных к учебному периоду.
Аргументы:
- (int) $csid - id учебного процесса в таблице cstreams .
- (str) $statuses - статусы контрольных точек в таблице plans
Возвращаемые значения:
- array - массив объектов из таблицы.
- bool - false если контрольные точки не найдены.
Структура работы:
- формируем SQL-запрос:
- по данному id находим учебный процесс.
- формируем условие выборки.
- по id периода из учебного находим учебный период.
- если период существует, добавляем его в условие выборки и формируем дополнительную колонку содержащюю абсолютную дату для каждой КТ,
- если периода нет, формируем дополнительную колонку без учета периода.
- возвращаем список КТ по SQL-запросу.
Планы:
События
В этом разделе описан список всех событий, которые генерируются, перехватываются и обрабатываются этим плагином.
Перехватываемые события
Тип плагина | Код плагина | Код события | Доп. данные | Пояснение |
---|---|---|---|---|
Этот плагин не перехватывает никаких событий |
Генерируемые события
Тип плагина | Код плагина | Код события | Доп. данные | Пояснение |
---|---|---|---|---|
storage | plans | insert | Массив, содержащий в поле "new" объект с данными для вставки в таблицу.
Пример: array('new' => $dataobject) |
Генерируется каждый раз при вставке новой записи в таблицу plans. |
storage | plans | update | Массив, содержащий в поле "new" обновленный объект, и в поле "old" объект со старыми данными, до обновления записи.
Пример: array('old' => $dataobject_old, 'new' => $dataobject_new) |
Генерируется каждый раз при обновлении записи в таблице plans. |
storage | plans | delete | Массив, содержащий в поле "old" объект с данными, которые удаляются из таблицы
Пример: array('old' => $dataobject) |
Генерируется каждый раз при удалении записи из таблицы plans. |