Разработка:storages/persons — различия между версиями
Alex (обсуждение | вклад) (→Подробный формат полей в таблице:: описания полей) |
Ilya (обсуждение | вклад) (Добавлено описание событий и проставлены категории) |
||
Строка 130: | Строка 130: | ||
*Найти список людей, относящихся к структурному подразделению | *Найти список людей, относящихся к структурному подразделению | ||
*Удалить (изменить статус на "удален") | *Удалить (изменить статус на "удален") | ||
+ | |||
+ | ===События=== | ||
+ | В этом разделе описан список всех событий, которые генерируются, перехватываются и обрабатываются этим плагином. | ||
+ | ====Перехватываемые события==== | ||
+ | {| border="1" | ||
+ | |+ Таблица событий, которые перехватывает этот плагин | ||
+ | ! Тип плагина | ||
+ | ! Код плагина | ||
+ | ! Код события | ||
+ | ! Доп. данные | ||
+ | ! Пояснение | ||
+ | |- | ||
+ | |colspan=5 align=center | ''Этот плагин не перехватывает никаких событий'' | ||
+ | |} | ||
+ | ====Генерируемые события==== | ||
+ | {| border="1" | ||
+ | |+ Таблица событий, которые генерирует этот плагин | ||
+ | ! Тип плагина | ||
+ | ! Код плагина | ||
+ | ! Код события | ||
+ | ! Доп. данные | ||
+ | ! Пояснение | ||
+ | |- | ||
+ | |storage | ||
+ | |persons | ||
+ | |insert | ||
+ | |Массив, содержащий в поле "new" объект с данными для вставки в таблицу. | ||
+ | ''Пример:'' array('new' => $dataobject) | ||
+ | |Генерируется каждый раз при вставке новой записи в таблицу persons. | ||
+ | |- | ||
+ | |storage | ||
+ | |persons | ||
+ | |update | ||
+ | |Массив, содержащий в поле "new" обновленный объект, и в поле "old" объект со старыми данными, до обновления записи. | ||
+ | ''Пример:'' array('old' => $dataobject_old, 'new' => $dataobject_new) | ||
+ | |Генерируется каждый раз при обновлении записи в таблице persons. | ||
+ | |- | ||
+ | |storage | ||
+ | |persons | ||
+ | |delete | ||
+ | |Массив, содержащий в поле "old" объект с данными, которые удаляются из таблицы | ||
+ | ''Пример:'' array('old' => $dataobject) | ||
+ | |Генерируется каждый раз при удалении записи из таблицы persons. | ||
+ | |} | ||
+ | |||
+ | [[Категория:Разработка]] | ||
+ | [[Категория:Плагины_storages]] |
Версия 17:28, 16 февраля 2010
Плагин | |
Название | persons |
Тип | storages |
Таблица в базе данных
persons - адресная книга, в которую включены все участники учебного процесса: учащиеся, законные представители, сотрудники, преподаватели и т. д.
Подробный формат полей в таблице:
- firstname - имя
- middlename - отчество
- lastname - фамилия
- sortname - ФИО для сортировки по умолчанию (нужно ли оно?)
- preferredname - префикс для имения (Mr. Dr. Г-н, Г-а)
- dateofbirth - дата рождения у UTS
- gender - пол (male, female, unknown)
- email - основной адрес электронной почты
- phonehome - домашний телефон
- phonework - рабочий телефон
- phonecell - сотовый телефон
- passtypeid - тип удостоверения личности (1 - свидетельство о рождение, 2 - паспорт гражданина РФ, 3 - загранпасспорт, 4 - разрешение на временное проживание лица без гражданства, 5 - вид на жительство, 6 - военный билет, 7 - водительсткое удостоверение пластиковое, 8 - вод. удостоверение форма 1, 9 - вод. удостоверение международное)
- passportserial - серия удостоверения личности (если предусмотрена типом документа)
- passportnum - номер удостоверения личности
- passportdate - дата выдачи удостоверения личности
- passportem - название организации, выдавшей удостоверение личности
- citizenship - гражданство
- passportaddrid - адрес прописки по паспорту
- mdluser - id пользователя в moodle (если есть)
- sync2moodle - признак синхронизации с moodle
- addressid - текущий адрес
- status - список статусов указан в одноименном плагине рабочих процессов persons
- adddate - дата добавления
- departmentid - основной отдел, к которому приписан человек (может редактировать его данные в persons)
Дополнительные методы:
get_list_synced()
Получает список синхронизируемых персон.
Аргументы: нет
Возвращаемые значения:
- (array) список персон, требующих синхронизации.
Структура работы:
По SQL-запросу находим список необходимых персон.
get_list_normal()
Получает список неудаленных персон.
Аргументы: нет
Возвращаемые значения:
- (array) список неудаленных персон.
Структура работы:
По SQL-запросу находим список необходимых персон.
get_list_search_lastname()
Получает список персон по запрашиваемой фамилии
Аргументы:
- $query(string) - фамилия, которую ищем.
Возвращаемые значения:
- (array) список персон.
Структура работы:
По SQL-запросу находим список необходимых персон.
is_email_unique()
Проверяет, если другие персоны с указанным email.
Аргументы:
- $email(string) - электронный адрес, который ищем.
Возвращаемые значения:
- (bool) true - нет, false - да.
Структура работы:
По SQL-запросу находим количество персон и возвращаем результат.
reg_moodleuser()
Регестрирует персону для переданного пользователя Moodle
Аргументы:
- $USER(object) - пользователь Moodle.
Возвращаемые значения:
- (int) id созданной персоны.
- (bool) false если запись не удалась.
make_sortname()
Создает сортировочное имя для поля записи в таблицу БД. Защищенный метод.
Аргументы:
- $person(object) - объект записи в БД.
Возвращаемые значения:
- (string) имя для сортировки.
Структура работы:
Формирует имя в формате ФИО, исключая из него определенные пункты, если таковых не существует.
get_fullname()
Получает полное имя пользователя в формате ФИО.
Аргументы:
- $id(int) - id записи пользователя.
Возвращаемые значения:
- (string) - полное имя пользователя или пустая строка, если пользователь не найден.
Структура работы:
- по id находим запись из таблицы БД.
- формируем строку в формате ФИО и возвращаем результат.
- get_bu($userid = NULL,$create=false), get_by_moodleid($muserid = NULL,$create=false), get_by_moodleid_id($muserid = NULL,$create=false) - Получить запись по mdluser.
Планы:
Дополнительные методы:
- Получить запись вместе с адресом
- Сохранить (добавить или обновить) запись вместе с адресом
- Найти список людей, относящихся к структурному подразделению
- Удалить (изменить статус на "удален")
События
В этом разделе описан список всех событий, которые генерируются, перехватываются и обрабатываются этим плагином.
Перехватываемые события
Тип плагина | Код плагина | Код события | Доп. данные | Пояснение |
---|---|---|---|---|
Этот плагин не перехватывает никаких событий |
Генерируемые события
Тип плагина | Код плагина | Код события | Доп. данные | Пояснение |
---|---|---|---|---|
storage | persons | insert | Массив, содержащий в поле "new" объект с данными для вставки в таблицу.
Пример: array('new' => $dataobject) |
Генерируется каждый раз при вставке новой записи в таблицу persons. |
storage | persons | update | Массив, содержащий в поле "new" обновленный объект, и в поле "old" объект со старыми данными, до обновления записи.
Пример: array('old' => $dataobject_old, 'new' => $dataobject_new) |
Генерируется каждый раз при обновлении записи в таблице persons. |
storage | persons | delete | Массив, содержащий в поле "old" объект с данными, которые удаляются из таблицы
Пример: array('old' => $dataobject) |
Генерируется каждый раз при удалении записи из таблицы persons. |