Разработка:storages/statushistory — различия между версиями
Alex (обсуждение | вклад) (Новая: {{Infobox_Plugin | name = statushistory | type = storages }}) |
Konovalov (обсуждение | вклад) |
||
(не показано 8 промежуточных версий 3 участников) | |||
Строка 3: | Строка 3: | ||
| type = storages | | type = storages | ||
}} | }} | ||
+ | |||
+ | ===Таблица в базе данных=== | ||
+ | ''statushistory'' | ||
+ | |||
+ | ====Подробный формат полей в таблице:==== | ||
+ | * status - текущий статус | ||
+ | * prevstatus - предыдущий статус | ||
+ | * plugintype - тип плигина | ||
+ | * plugincode - код плагина | ||
+ | * muserid - id пользователя в Moodle, выполнившего изменения | ||
+ | * objectid - id объекта, в котором изменился статус | ||
+ | * statusdate - дата смены статуса | ||
+ | * notes - заметки | ||
+ | * opt - дополнительные параметры | ||
+ | * orderid - id приказа в таблице [[Разработка:storages/orders | orders ]], на основании которого был изменен статус (если статус изменен на основании приказа) | ||
+ | |||
+ | ===Дополнительные методы:=== | ||
+ | |||
+ | ===='''change_status($plugin,$objectid,$status,$prevstatus=null,$opt=null,$notice=" ",$muserid=null,$quiet=false)'''==== | ||
+ | |||
+ | Записывает в базу данных информацию об изменении статуса. | ||
+ | |||
+ | ''Аргументы:'' | ||
+ | * $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. | ||
+ | #* если не указан пользователь, выполневший изменения, заносим текущего пользователя. | ||
+ | #* заносим остальные значения в соответствии с полями. | ||
+ | # записываем объект в таблицу БД и возвращаем результат. | ||
+ | |||
+ | ===События=== | ||
+ | В этом разделе описан список всех событий, которые генерируются, перехватываются и обрабатываются этим плагином. | ||
+ | ====Перехватываемые события==== | ||
+ | {| 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. | ||
+ | |} |
Текущая версия на 13:18, 30 июня 2014
Плагин | |
Название | statushistory |
Тип | storages |
Содержание
Таблица в базе данных
statushistory
Подробный формат полей в таблице:
- status - текущий статус
- prevstatus - предыдущий статус
- plugintype - тип плигина
- plugincode - код плагина
- muserid - id пользователя в Moodle, выполнившего изменения
- objectid - id объекта, в котором изменился статус
- statusdate - дата смены статуса
- notes - заметки
- opt - дополнительные параметры
- orderid - id приказа в таблице orders , на основании которого был изменен статус (если статус изменен на основании приказа)
Дополнительные методы:
change_status($plugin,$objectid,$status,$prevstatus=null,$opt=null,$notice=" ",$muserid=null,$quiet=false)
Записывает в базу данных информацию об изменении статуса.
Аргументы:
- $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. |