Разработка:storages/teachers — различия между версиями

Материал из DOF
Перейти к: навигация, поиск
(get_pitem_teachers($pitemid, $count=false, $mask=\'\'))
 
(не показаны 4 промежуточные версии 1 участника)
Строка 24: Строка 24:
 
* $appointmentid(int) - id назначения на должность в таблице [[Разработка:storages/appointments | appointments ]]
 
* $appointmentid(int) - id назначения на должность в таблице [[Разработка:storages/appointments | appointments ]]
 
* $programmitemid(int) - id предмета в таблице [[Разработка:storages/programmitems | programmitems ]]
 
* $programmitemid(int) - id предмета в таблице [[Разработка:storages/programmitems | programmitems ]]
* $departmentid(int) - id подразделения в таблице [[Разработка:storages/departments | departments ]]
+
* $departmentid(int) - id подразделения в таблице [[Разработка:storages/departments | departments ]], по умочанию null
 
''Возвращает значение:''
 
''Возвращает значение:''
 
* bool
 
* bool
Строка 50: Строка 50:
 
''Аргументы:''
 
''Аргументы:''
 
* $dataobject(obj) - объект для вставки в таблицу
 
* $dataobject(obj) - объект для вставки в таблицу
* $quiet[optional](obj) - не генерировать событий
+
* $quiet(obj) - не генерировать событий, по умолчанию false
 
''Возвращает значение:''
 
''Возвращает значение:''
 
* int|bool (id новой записи если операция вставки прошла успешно, false усли вставка в таблицу не удалась)
 
* int|bool (id новой записи если операция вставки прошла успешно, false усли вставка в таблицу не удалась)
Строка 61: Строка 61:
 
* $dataobject(obj) - объект для вставки в таблицу
 
* $dataobject(obj) - объект для вставки в таблицу
 
* $id(int) - id обновляемой записи
 
* $id(int) - id обновляемой записи
* $quiet[optional](obj) - не генерировать событий
+
* $quiet(obj) - не генерировать событий, по умолчанию false
 
''Возвращает значение:''
 
''Возвращает значение:''
 
* array|bool ($dataobject(obj) | false - если не успешно)
 
* array|bool ($dataobject(obj) | false - если не успешно)
Строка 80: Строка 80:
 
''Аргументы:''
 
''Аргументы:''
 
* $dataobject(obj) - объект для обновления таблицы
 
* $dataobject(obj) - объект для обновления таблицы
* $id(int) - id обновляемой записи
+
* $id(int) - id обновляемой записи, по умолчанию null
 
''Возвращает значение:''
 
''Возвращает значение:''
 
* bool (true - если вставка возможна, false - если вставка невозможна)
 
* bool (true - если вставка возможна, false - если вставка невозможна)
Строка 86: Строка 86:
 
===='''get_available_pitems_for_appointment($appointmentid)'''====
 
===='''get_available_pitems_for_appointment($appointmentid)'''====
  
Получить список возможных предметов для преподавания для переданного назначения на должность
+
Получение списков возможных предметов для преподавания для переданного назначения на должность
  
 
''Аргументы:''
 
''Аргументы:''
Строка 95: Строка 95:
 
===='''get_appointment_pitems($appointmentid)'''====
 
===='''get_appointment_pitems($appointmentid)'''====
  
Получить список курсов, которые учитель уже может вести в рамках указанного назначения на должность
+
Получение списков курсов, которые учитель уже может вести в рамках указанного назначения на должность
  
 
''Аргументы:''
 
''Аргументы:''
Строка 104: Строка 104:
 
===='''get_pitem_teachers($pitemid, $count=false, $mask=" ")'''====
 
===='''get_pitem_teachers($pitemid, $count=false, $mask=" ")'''====
  
Получить список курсов, которые учитель уже может вести в рамках указанного назначения на должность
+
Получение списков курсов, которые учитель уже может вести в рамках указанного назначения на должность
  
 
''Аргументы:''
 
''Аргументы:''
 
* $pitemid(int) - id предмета в таблице [[Разработка:storages/programmitems | programmitems ]]
 
* $pitemid(int) - id предмета в таблице [[Разработка:storages/programmitems | programmitems ]]
* $count[optional](bool) - получить только количество учителей
+
* $coun(bool) - получить только количество учителей, по умолчанию false
 +
* $mask(str) - поиск по маске (если он производится), по умолчанию пусто
 
''Возвращает значение:''
 
''Возвращает значение:''
 
* return array|bool массив записей из таблицы [[Разработка:storages/persons | persons ]] или false в случае ошибки
 
* return array|bool массив записей из таблицы [[Разработка:storages/persons | persons ]] или false в случае ошибки
 +
 +
===='''get_pitem_no_teachers($pitemid, $count=false, $mask=" ")'''====
 +
 +
Получение всех учителей, которые не ведут указанный предмет
 +
 +
''Аргументы:''
 +
* $pitemid(int) - id предмета в таблице [[Разработка:storages/programmitems | programmitems ]]
 +
* $count(bool) - получить только количество учителей, по умолчаню false
 +
* $mask(str) - поиск по маске (если он производится), по умолчанию пусто
 +
''Возвращает значение:''
 +
* return array|int|bool - список учителей, количество учителей, или false если ничего не найдено
 +
 +
====''' get_persons($teachers, $enum = false)'''====
 +
 +
Получение списка записей из таблицы [[Разработка:storages/persons | persons ]], по списку из таблицы [[Разработка:storages/teachers | teachers ]]
 +
 +
''Аргументы:''
 +
* $teachers(array) - массив записей из таблицы [[Разработка:storages/teachers | teachers ]]
 +
* $enum(bool) - добавлять табельный номер в результат или нет, по умолчанию false
 +
''Возвращает значение:''
 +
* return array|bool - массив записей из таблицы [[Разработка:storages/persons | persons ]] или false если ничего не нашлось
 +
 +
====''' get_persons_with_appid($teachers, $enum = false)'''====
 +
 +
Получение списка записей из таблицы [[Разработка:storages/persons | persons ]], по списку из таблицы [[Разработка:storages/teachers | teachers ]]. в качестве ключей массива используются id записей из таблицы [[Разработка:storages/appointments | appointments ]] к каждой записи добавляется поле appointmentid и, если указать, enumber - табельный номер
 +
 +
''Аргументы:''
 +
* $teachers(array) - массив записей из таблицы [[Разработка:storages/teachers | teachers ]]
 +
* $enum(bool) - добавлять табельный номер в результат или нет, по умолчанию false
 +
''Возвращает значение:''
 +
* return array|bool - массив записей из таблицы [[Разработка:storages/persons | persons ]] или false если ничего не нашлось
 +
 +
====''' get_person_by_teacher($teacher, $enum = false)'''====
 +
 +
Получение объекта из таблицы [[Разработка:storages/persons | persons ]] по id в таблице [[Разработка:storages/teachers | teachers ]]
 +
 +
''Аргументы:''
 +
* $teachers(array) - массив записей из таблицы [[Разработка:storages/teachers | teachers ]]
 +
* $enum(bool) - добавлять табельный номер в результат или нет, по умолчанию false
 +
''Возвращает значение:''
 +
* return array|bool - массив записей из таблицы [[Разработка:storages/persons | persons ]] или false если ничего не нашлось
 +
 +
====''' get_teachers_for_pitem($pitemid)'''====
 +
 +
Получение списка учителей, преподающих указанный предмет
 +
 +
''Аргументы:''
 +
* $pitemid(int) - id предмета из таблицы [[Разработка:storages/programmitems | programmitems ]]
 +
''Возвращает значение:''
 +
* return array|bool массив записей из таблицы [[Разработка:storages/teachers | teachers ]] или false если ничего не нашлось
 +
 +
====''' get_teachers_no_pitem($pitemid, $withworktime = true)'''====
 +
 +
Получение списка учителей, могущих преподавать указанный предмет
 +
 +
''Аргументы:''
 +
* $pitemid(int) - id предмета из таблицы [[Разработка:storages/programmitems | programmitems ]]
 +
* $withworktime(bool) - вернуть всех кто не преподает этот предмет (false) или исключить преподавателей, у которых нет часов для этого (true), по умолчанию - true
 +
''Возвращает значение:''
 +
* return array|bool массив записей из таблицы [[Разработка:storages/appointments | appointments ]] или false если ничего не нашлось
  
 
===События===
 
===События===
Строка 155: Строка 216:
 
  |Генерируется каждый раз при удалении записи из таблицы.
 
  |Генерируется каждый раз при удалении записи из таблицы.
 
  |}
 
  |}
 
[[Категория:Разработка]]
 
[[Категория:Плагины_storages]]
 

Текущая версия на 13:18, 30 июня 2014

Плагин
Название teachers
Тип storages


Таблица в базе данных

teachers - Связь должностей с преподаваемыми дисциплинами.

Подробный формат полей в таблице:

  • appointmentid - id связи должности с табельным номером в таблице appointments
  • programmitemid - id дисциплины в таблице programmitems (таблица programmitems)
  • worktime - ставка в часах/неделю,
  • departmentid - подразделение, которому принадлежит учебный процесс в таблице departments
  • status - список статусов указан в одноименном плагине рабочих процессов teachers

Дополнительные методы:

remove_programmitem_from_appointment($appointmentid, $programmitemid, $departmentid=null)

Освобождает учителя от преподавания упредмета в указанной должности

Аргументы:

  • $appointmentid(int) - id назначения на должность в таблице appointments
  • $programmitemid(int) - id предмета в таблице programmitems
  • $departmentid(int) - id подразделения в таблице departments , по умочанию null

Возвращает значение:

  • bool

remove_teacher($id)

Освободает учителя от преподаваемого предмета

Аргументы:

  • $id(int) - id записи о преподаваемом предмете в этой таблице

add_teacher($teacher)

Добавляет новую запись о преподавании учителем курса, сразу же переводя ее в статус "активна"

Аргументы:

  • $teacher(obj) - объект для вставки в таблицу teachers

Возвращает значение:

  • bool

safe_insert($dataobject, $quiet=false)

Безопасная вставка в таблицу. Использование этой функции вместо традиционного insert гарантирует, что все ваши данные будут проверены, идентификаторы на момент вставки будут точно указывать на существующие записи, а также что логика работы системы не будет нарушена

Аргументы:

  • $dataobject(obj) - объект для вставки в таблицу
  • $quiet(obj) - не генерировать событий, по умолчанию false

Возвращает значение:

  • int|bool (id новой записи если операция вставки прошла успешно, false усли вставка в таблицу не удалась)

safe_update($dataobject, $id, $quiet=false)

Безопасное обновление записи в таблице. Использование этой функции вместо традиционного update гарантирует, что все ваши данные будут проверены, идентификаторы на момент вставки будут точно указывать на существующие записи, а также что логика работы системы не будет нарушена

Аргументы:

  • $dataobject(obj) - объект для вставки в таблицу
  • $id(int) - id обновляемой записи
  • $quiet(obj) - не генерировать событий, по умолчанию false

Возвращает значение:

  • array|bool ($dataobject(obj) | false - если не успешно)

insert_possible($dataobject)

Определяет, возможно ли вставить запись в таблицу

Аргументы:

  • $dataobject(obj) - объект для вставки в таблицу

Возвращает значение:

  • bool (true - если вставка возможна, false - если вставка невозможна)

update_possible($dataobject, $id=null)

Определяет, возможно ли обновить запись в таблице

Аргументы:

  • $dataobject(obj) - объект для обновления таблицы
  • $id(int) - id обновляемой записи, по умолчанию null

Возвращает значение:

  • bool (true - если вставка возможна, false - если вставка невозможна)

get_available_pitems_for_appointment($appointmentid)

Получение списков возможных предметов для преподавания для переданного назначения на должность

Аргументы:

  • $appointmentid(int) - id назначения на должность в таблице appointments

Возвращает значение:

  • array|bool - массив записей из таблицы programmitems , исключая те предметы, которые уже были привязаны к этой должности в таблице teachers

get_appointment_pitems($appointmentid)

Получение списков курсов, которые учитель уже может вести в рамках указанного назначения на должность

Аргументы:

  • $appointmentid(int) - id назначения на должность в таблице appointments

Возвращает значение:

  • return array|bool - массив курсов из таблицы programmitems или false если учителю не назначено пока ни одного курса

get_pitem_teachers($pitemid, $count=false, $mask=" ")

Получение списков курсов, которые учитель уже может вести в рамках указанного назначения на должность

Аргументы:

  • $pitemid(int) - id предмета в таблице programmitems
  • $coun(bool) - получить только количество учителей, по умолчанию false
  • $mask(str) - поиск по маске (если он производится), по умолчанию пусто

Возвращает значение:

  • return array|bool массив записей из таблицы persons или false в случае ошибки

get_pitem_no_teachers($pitemid, $count=false, $mask=" ")

Получение всех учителей, которые не ведут указанный предмет

Аргументы:

  • $pitemid(int) - id предмета в таблице programmitems
  • $count(bool) - получить только количество учителей, по умолчаню false
  • $mask(str) - поиск по маске (если он производится), по умолчанию пусто

Возвращает значение:

  • return array|int|bool - список учителей, количество учителей, или false если ничего не найдено

get_persons($teachers, $enum = false)

Получение списка записей из таблицы persons , по списку из таблицы teachers

Аргументы:

  • $teachers(array) - массив записей из таблицы teachers
  • $enum(bool) - добавлять табельный номер в результат или нет, по умолчанию false

Возвращает значение:

  • return array|bool - массив записей из таблицы persons или false если ничего не нашлось

get_persons_with_appid($teachers, $enum = false)

Получение списка записей из таблицы persons , по списку из таблицы teachers . в качестве ключей массива используются id записей из таблицы appointments к каждой записи добавляется поле appointmentid и, если указать, enumber - табельный номер

Аргументы:

  • $teachers(array) - массив записей из таблицы teachers
  • $enum(bool) - добавлять табельный номер в результат или нет, по умолчанию false

Возвращает значение:

  • return array|bool - массив записей из таблицы persons или false если ничего не нашлось

get_person_by_teacher($teacher, $enum = false)

Получение объекта из таблицы persons по id в таблице teachers

Аргументы:

  • $teachers(array) - массив записей из таблицы teachers
  • $enum(bool) - добавлять табельный номер в результат или нет, по умолчанию false

Возвращает значение:

  • return array|bool - массив записей из таблицы persons или false если ничего не нашлось

get_teachers_for_pitem($pitemid)

Получение списка учителей, преподающих указанный предмет

Аргументы:

Возвращает значение:

  • return array|bool массив записей из таблицы teachers или false если ничего не нашлось

get_teachers_no_pitem($pitemid, $withworktime = true)

Получение списка учителей, могущих преподавать указанный предмет

Аргументы:

  • $pitemid(int) - id предмета из таблицы programmitems
  • $withworktime(bool) - вернуть всех кто не преподает этот предмет (false) или исключить преподавателей, у которых нет часов для этого (true), по умолчанию - true

Возвращает значение:

  • return array|bool массив записей из таблицы appointments или false если ничего не нашлось

События

В этом разделе описан список всех событий, которые генерируются, перехватываются и обрабатываются этим плагином.

Перехватываемые события

Таблица событий, которые перехватывает этот плагин
Тип плагина Код плагина Код события Доп. данные Пояснение
Этот плагин не перехватывает никаких событий

Генерируемые события

Таблица событий, которые генерирует этот плагин
Тип плагина Код плагина Код события Доп. данные Пояснение
storage teachers insert Массив, содержащий в поле "new" объект с данными для вставки в таблицу.

Пример: array('new' => $dataobject)

Генерируется каждый раз при вставке новой записи в таблицу.
storage teachers update Массив, содержащий в поле "new" обновленный объект, и в поле "old" объект со старыми данными, до обновления записи.

Пример: array('old' => $dataobject_old, 'new' => $dataobject_new)

Генерируется каждый раз при обновлении записи в таблице.
storage teachers delete Массив, содержащий в поле "old" объект с данными, которые удаляются из таблицы

Пример: array('old' => $dataobject)

Генерируется каждый раз при удалении записи из таблицы.