Разработка:storages/ages — различия между версиями
(→Дополнительные методы:) |
(→Дополнительные методы:) |
||
Строка 22: | Строка 22: | ||
− | ===='''get_department_ages( | + | ===='''get_department_ages()'''==== |
находит список всех или в указанном статусе учебных периодов структурного подразделения | находит список всех или в указанном статусе учебных периодов структурного подразделения | ||
Строка 32: | Строка 32: | ||
* mixed array - массив объектов из таблицы ages или false | * mixed array - массив объектов из таблицы ages или false | ||
− | ===='''get_next_ageid( | + | ===='''get_next_ageid()'''==== |
находит один из дочерних учебных периодов | находит один из дочерних учебных периодов | ||
Строка 40: | Строка 40: | ||
* $agenum - сколько периодов вперед отсчитать относительно переданного ageid. При этом переданный id считается первым. | * $agenum - сколько периодов вперед отсчитать относительно переданного ageid. При этом переданный id считается первым. | ||
''Возвращаемые значения'' | ''Возвращаемые значения'' | ||
− | * int - id периода | + | * int - id периода |
+ | * bool false - если установить id не удалось | ||
− | ===='''get_previous_ageid( | + | ===='''get_previous_ageid()'''==== |
находит предшествующий указанному в ageid учебный период | находит предшествующий указанному в ageid учебный период | ||
Строка 51: | Строка 52: | ||
* $agenum - сколько периодов назад отсчитать относительно переданного ageid. При этом переданный ageid считается последним. | * $agenum - сколько периодов назад отсчитать относительно переданного ageid. При этом переданный ageid считается последним. | ||
''Возвращаемые значения'' | ''Возвращаемые значения'' | ||
− | * int | + | * int - id периода или |
+ | * bool false - если установить id не удалось | ||
− | ===='''create_period_for_department( | + | ===='''create_period_for_department()'''==== |
создаёт период для структурного подразделения | создаёт период для структурного подразделения | ||
Строка 66: | Строка 68: | ||
* $previosid[optional] - id предыдущего учебного периода | * $previosid[optional] - id предыдущего учебного периода | ||
''Возвращает'' | ''Возвращает'' | ||
− | * int - id созданного периода | + | * int - id созданного периода |
+ | * bool false - если произошла ошибка | ||
− | ===='''get_numberof_ages( | + | ===='''get_numberof_ages()'''==== |
находит количество периодов | находит количество периодов | ||
Строка 79: | Строка 82: | ||
− | ===='''get_ages_by_idrange( | + | ===='''get_ages_by_idrange()'''==== |
получаеть список записей по диапазону id | получаеть список записей по диапазону id | ||
Строка 90: | Строка 93: | ||
− | ===='''get_agenum_byageid( | + | ===='''get_agenum_byageid()'''==== |
находит порядковый номер периода, считая от заданного периода | находит порядковый номер периода, считая от заданного периода | ||
Строка 99: | Строка 102: | ||
* $maxagenum - максимально возможный номер agenum | * $maxagenum - максимально возможный номер agenum | ||
''Возвращает'' | ''Возвращает'' | ||
− | * mixed int - agenum | + | * mixed int - agenum |
+ | * bool false - если не находит | ||
===Планы:=== | ===Планы:=== |
Версия 18:25, 4 ноября 2010
Плагин | |
Название | ages |
Тип | storages |
Таблица в базе данных
ages - учебные периоды (учебный год в школе, семестр в ВУЗе). Каждый учебный поток и итоговая отметка по курсу принадлежат какому-то одному учебному периоду.
Подробный формат полей в таблице:
- name - название учебного периода
- begindate - дата и время начала по UTC
- enddate - дата и время окончания по UTC
- eduweeks - количество учебных недель/циклов (каждая соответствует одному циклу в расписании) продолжительности курса, которые помещаются в этом учебном периоде.
- departmentid - структурное подразделение в таблице departments , объявившее учебный период
- previousid - предыдущий учебный период
- status - список статусов указан в одноименном плагине рабочих процессов ages
Дополнительные методы:
- + Получить список текущих учебных периодов для структурного подразделения. Возвращает массив объектов. По умолчанию - все периоды в статусе "идет учебный процесс". Если второй параметр null - возвращаются все периоды, если строка - периоды в этом статусе, если массив - все периоды в таких статусах. Для удобства нужно сделать заготовку, которая принимает такой параметр и имя sql-колонки и возвращает соответствующий фрагмент sql-запроса - и поместить ее защищенным методом в storage_base.
- + Получить id учебного периода, являющегося x по счету после периода с заданным id. При этом x=1 - это сам исходный период (период для "первого класса), x=2 - это период, для которого период x=1 был предыдущим. Метод возвращает id или false, если однозначно установить id периода не удалось.
- Создать период для структурного подразделения: получает параметры "структурное подразделение", "дата начала", "дата конца", "количество учебных недель", "название", "предыдущий период" - по умолчанию 0. Не указывать предыдущий период допускается только если для этого структурного подразделения еще не было создано периодов. Если для периода уже есть один "последующий период", то больше его указывать в качестве "предыдущего" нельзя. Метод возвращает id созданного периода или false.
get_department_ages()
находит список всех или в указанном статусе учебных периодов структурного подразделения
Аргументы:
- $departmentid - id учебного подразделения в таблице departments
- $status[optional] - статус учебного периода, или null если нужны периоды с любым статусом
Возвращаемые значения
- mixed array - массив объектов из таблицы ages или false
get_next_ageid()
находит один из дочерних учебных периодов
Аргументы:
- $ageid - id учебного периода в таблице ages
- $agenum - сколько периодов вперед отсчитать относительно переданного ageid. При этом переданный id считается первым.
Возвращаемые значения
- int - id периода
- bool false - если установить id не удалось
get_previous_ageid()
находит предшествующий указанному в ageid учебный период
Аргументы:
- $ageid - id учебного периода в таблице ages
- $agenum - сколько периодов назад отсчитать относительно переданного ageid. При этом переданный ageid считается последним.
Возвращаемые значения
- int - id периода или
- bool false - если установить id не удалось
create_period_for_department()
создаёт период для структурного подразделения
Аргументы:
- $deptid - id учебного подразделения
- $datebegin - время начала периода в формате unixtime
- $dateend - время окончания периода в формате unixtime
- $numweeks - количество недель в учебном периоде
- $name - название учебного периода
- $previosid[optional] - id предыдущего учебного периода
Возвращает
- int - id созданного периода
- bool false - если произошла ошибка
get_numberof_ages()
находит количество периодов
Аргументы:
- $select - критерии отбора записей
Возвращает
- int количество найденных записей
get_ages_by_idrange()
получаеть список записей по диапазону id
Аргументы:
- $minid - минимальный id
- $maxid - максимальный id
Возвращает
- array|bool
get_agenum_byageid()
находит порядковый номер периода, считая от заданного периода
Аргументы:
- $startageid - id периода на котором нужно остановить поиск
- $currentageid - id периода, порядковый номер которого нам надо узнать
- $maxagenum - максимально возможный номер agenum
Возвращает
- mixed int - agenum
- bool false - если не находит
Планы:
Надо реализовать удаление периода так: если к периоду ничего не привязано (потоки, подразделения и т.п.), то его можно удалять. Иначе - нельзя.
События
В этом разделе описан список всех событий, которые генерируются, перехватываются и обрабатываются этим плагином.
Перехватываемые события
Тип плагина | Код плагина | Код события | Доп. данные | Пояснение |
---|---|---|---|---|
Этот плагин не перехватывает никаких событий |
Генерируемые события
Тип плагина | Код плагина | Код события | Доп. данные | Пояснение |
---|---|---|---|---|
storage | ages | insert | Массив, содержащий в поле "new" объект с данными для вставки в таблицу.
Пример: array('new' => $dataobject) |
Генерируется каждый раз при вставке новой записи в таблицу ages. |
storage | ages | update | Массив, содержащий в поле "new" обновленный объект, и в поле "old" объект со старыми данными, до обновления записи.
Пример: array('old' => $dataobject_old, 'new' => $dataobject_new) |
Генерируется каждый раз при обновлении записи в таблице ages. |
storage | ages | delete | Массив, содержащий в поле "old" объект с данными, которые удаляются из таблицы
Пример: array('old' => $dataobject) |
Генерируется каждый раз при удалении записи из таблицы ages. |