Разработка:storages/statushistory — различия между версиями
Ilya (обсуждение | вклад) (→Подробный формат полей в таблице:) |
Ilya (обсуждение | вклад) (Добавлено описание событий и проставлены категории) |
||
Строка 43: | Строка 43: | ||
#* заносим остальные значения в соответствии с полями. | #* заносим остальные значения в соответствии с полями. | ||
# записываем объект в таблицу БД и возвращаем результат. | # записываем объект в таблицу БД и возвращаем результат. | ||
+ | |||
+ | ===События=== | ||
+ | В этом разделе описан список всех событий, которые генерируются, перехватываются и обрабатываются этим плагином. | ||
+ | ====Перехватываемые события==== | ||
+ | {| border="1" | ||
+ | |+ Таблица событий, которые перехватывает этот плагин | ||
+ | ! Тип плагина | ||
+ | ! Код плагина | ||
+ | ! Код события | ||
+ | ! Доп. данные | ||
+ | ! Пояснение | ||
+ | |- | ||
+ | |colspan=5 align=center | ''Этот плагин не перехватывает никаких событий'' | ||
+ | |} | ||
+ | ====Генерируемые события==== | ||
+ | {| border="1" | ||
+ | |+ Таблица событий, которые генерирует этот плагин | ||
+ | ! Тип плагина | ||
+ | ! Код плагина | ||
+ | ! Код события | ||
+ | ! Доп. данные | ||
+ | ! Пояснение | ||
+ | |- | ||
+ | |storage | ||
+ | |statushistory | ||
+ | |insert | ||
+ | |Массив, содержащий в поле "new" объект с данными для вставки в таблицу. | ||
+ | ''Пример:'' array('new' => $dataobject) | ||
+ | |Генерируется каждый раз при вставке новой записи в таблицу statushistory. | ||
+ | |- | ||
+ | |storage | ||
+ | |statushistory | ||
+ | |update | ||
+ | |Массив, содержащий в поле "new" обновленный объект, и в поле "old" объект со старыми данными, до обновления записи. | ||
+ | ''Пример:'' array('old' => $dataobject_old, 'new' => $dataobject_new) | ||
+ | |Генерируется каждый раз при обновлении записи в таблице statushistory. | ||
+ | |- | ||
+ | |storage | ||
+ | |statushistory | ||
+ | |delete | ||
+ | |Массив, содержащий в поле "old" объект с данными, которые удаляются из таблицы | ||
+ | ''Пример:'' array('old' => $dataobject) | ||
+ | |Генерируется каждый раз при удалении записи из таблицы statushistory. | ||
+ | |} | ||
+ | |||
+ | [[Категория:Разработка]] | ||
+ | [[Категория:Плагины_storages]] |
Версия 17:40, 16 февраля 2010
Плагин | |
Название | statushistory |
Тип | storages |
Содержание
Таблица в базе данных
statushistory
Подробный формат полей в таблице:
- status - текущий статус
- prevstatus - предыдущий статус
- plugintype - тип плигина
- plugincode - код плагина
- muserid - id пользователя в Moodle, выполнившего изменения
- objectid - id объекта, в котором изменился статус
- statusdate - дата смены статуса
- notes - заметки
- opt - дополнительные параметры
- orderid - id приказа в таблице orders , на основании которого был изменен статус (если статус изменен на основании приказа)
Дополнительные методы:
change_status()
Записывает в базу данных информацию об изменении статуса.
Аргументы:
- $plugin(mixed) - имя справочника(string) или объект плагина(object), которому принадлежит изменившийся объект
- $objectid(int) - id изменившегося объекта
- $status(string) - новый статус
- $prevstatus(string) - старое значение статуса, по умолчанию - нет (null)
- $opt(mixed) - дополнительные параметры при изменении статуса, по умолчанию - нет (null)
- $notice(string) - заметка об изменении статуса, по умолчанию - нет.
- $muserid(int) - id пользователя moodle, от имени которого изменяется статус, по умолчанию - нет (null)
- $quiet(bool) - "тихий" режим (без отправки событий), по умолчанию - генерируется (false)
Возвращаемые значения:
- (int) id вставленной записи.
- (bool) false если операция не удалась.
Структура работы:
- Создаем объект для вставки в БД:
- имя и тип плагина заносим в соответствии с полученным $plugin.
- если не указан пользователь, выполневший изменения, заносим текущего пользователя.
- заносим остальные значения в соответствии с полями.
- записываем объект в таблицу БД и возвращаем результат.
События
В этом разделе описан список всех событий, которые генерируются, перехватываются и обрабатываются этим плагином.
Перехватываемые события
Тип плагина | Код плагина | Код события | Доп. данные | Пояснение |
---|---|---|---|---|
Этот плагин не перехватывает никаких событий |
Генерируемые события
Тип плагина | Код плагина | Код события | Доп. данные | Пояснение |
---|---|---|---|---|
storage | statushistory | insert | Массив, содержащий в поле "new" объект с данными для вставки в таблицу.
Пример: array('new' => $dataobject) |
Генерируется каждый раз при вставке новой записи в таблицу statushistory. |
storage | statushistory | update | Массив, содержащий в поле "new" обновленный объект, и в поле "old" объект со старыми данными, до обновления записи.
Пример: array('old' => $dataobject_old, 'new' => $dataobject_new) |
Генерируется каждый раз при обновлении записи в таблице statushistory. |
storage | statushistory | delete | Массив, содержащий в поле "old" объект с данными, которые удаляются из таблицы
Пример: array('old' => $dataobject) |
Генерируется каждый раз при удалении записи из таблицы statushistory. |