Разработка:storages/statushistory — различия между версиями
Yumeneco (обсуждение | вклад)  | 
				Konovalov (обсуждение | вклад)   | 
				||
| (не показано 7 промежуточных версий 3 участников) | |||
| Строка 16: | Строка 16: | ||
* statusdate - дата смены статуса  | * statusdate - дата смены статуса  | ||
* notes - заметки  | * notes - заметки  | ||
| − | * opt - дополнительные параметры    | + | * 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. |