<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://docs.deansoffice.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=ABalyshev</id>
		<title>DOF - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="http://docs.deansoffice.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=ABalyshev"/>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/ru/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/ABalyshev"/>
		<updated>2026-04-12T19:13:55Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.30.2</generator>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:storages/plans&amp;diff=2567</id>
		<title>Разработка:storages/plans</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:storages/plans&amp;diff=2567"/>
				<updated>2012-10-11T12:23:32Z</updated>
		
		<summary type="html">&lt;p&gt;ABalyshev: /* Дополнительные методы: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox_Plugin&lt;br /&gt;
| name = plans&lt;br /&gt;
| type = storages&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Таблица в базе данных===&lt;br /&gt;
''plans'' - темы в учебном плане и контрольные точки внутри учебной дисциплины/предмета, предусмотренные учебным планом курса.&lt;br /&gt;
&lt;br /&gt;
====Подробный формат полей в таблице:====&lt;br /&gt;
* linkid - связь с учебным периодом, учебной программой, дисциплиной или учебным процессом&lt;br /&gt;
* linktype - тип связи ([[Разработка:storages/ages | ages ]], [[Разработка:storages/programmitems | programmitems ]], [[Разработка:storages/cstreams | cstreams ]], plan). Тип связи &amp;quot;plan&amp;quot; - означает что эта контрольная точка относится к индивидуальному тематическому планированию ученика. linkid в этом случае указывает на таблицу cstreams.&lt;br /&gt;
* parentid - id родительской контрольной точки, если она наследовалась от стандартной темы в плане (модификация или дубль), либо id основной контрольной точки, если оценка является &amp;quot;дополнительной&amp;quot; (статус &amp;quot;дополнительная&amp;quot; - при этом тема не отображается в плане отдельной строкой, а только в подробной информации про основную тему, если основная тема наследуется, то и все дополнительные наследуются), по умолчанию - 0&lt;br /&gt;
* name - название контрольной точки или темы занятия&lt;br /&gt;
* reldate - относительная дата сдачи в секундах от начала учебного процесса, периода.&lt;br /&gt;
* reldldate - относительная дата последнего срока сдачи в секундах от начала учебного процесса, периода. Может совпадать с reldate.&lt;br /&gt;
* scale - диапазон или перечисленные через запятую возможные оценки, пустая строка если оценка не предусмотрена&lt;br /&gt;
* type - тип события (очный урок/лекция(facetime), дистанционный урок/лекция(distance),  семинар(seminar), лабораторная работа(laboratorywork), практическая работа(practicework), контрольная работа(testwork), промежуточная аттестация(intermediate))&lt;br /&gt;
* typesync - тип синхронизации (выставление вручную, синхронизация с moodle)&lt;br /&gt;
* mdlinstance - id задания в moodle для синхронизации&lt;br /&gt;
* status - список статусов указан в одноименном плагине рабочих процессов  [[Разработка:workflows/plans | plans ]]&lt;br /&gt;
* homework - домашнее задание&lt;br /&gt;
* homeworkhours - количество часов, отведенных на домашнее задание&lt;br /&gt;
* directmap - непосредственное отображение в журнале&lt;br /&gt;
* number - номер&lt;br /&gt;
* datetheme - дата темы&lt;br /&gt;
* plansectionsid - id из таблицы тематических разделов [[Разработка:storages/plansections | plansections ]]&lt;br /&gt;
* note - примечание&lt;br /&gt;
&lt;br /&gt;
===Дополнительные методы:===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===='''get_checkpoints($id, $type, $status = 'active')'''====&lt;br /&gt;
&lt;br /&gt;
Получает список контрольных точек напрямую связанных с одним объектом привязки. Сортируются по относительной дате. Данный метод возвращает только контрольные точки, напрямую привязанные к объекту, его не следует использовать для отображения полного учебно-тематического плана!&lt;br /&gt;
&lt;br /&gt;
''Аргументы:'' &lt;br /&gt;
* (int) $id - id элемента, к которому привязана контрольная точка.&lt;br /&gt;
* (str) $type - тип элемента, к которому привязана контрольная точка. ([[Разработка:storages/ages | ages ]], [[Разработка:storages/programmitems | programmitems ]], [[Разработка:storages/cstreams | cstreams ]]).&lt;br /&gt;
* (str) $status - статус контрольной точки, по умолчанию - действующая(active).&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* (array) массив объектов из таблицы. &lt;br /&gt;
* (bool) false если контрольные точки не найдены.&lt;br /&gt;
''Структура работы:''&lt;br /&gt;
* формируем SQL-запрос и возвращаем список КТ:&lt;br /&gt;
** если указывается статус - КТ с указанным статусом,&lt;br /&gt;
** если статус указывается null - КТ с любим статусом,&lt;br /&gt;
** если статус не указывается - КТ со статусом active.&lt;br /&gt;
&lt;br /&gt;
===='''get_list_no_status($status = 'active')'''====&lt;br /&gt;
&lt;br /&gt;
Получает список контрольных точек, со всеми статусами, кроме указанного&lt;br /&gt;
&lt;br /&gt;
''Аргументы:'' &lt;br /&gt;
* (str) $status - статус уоторый надо исключить, по умолчанию active&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* array|bool - массив записей из таблицы [[Разработка:storages/plans | plans ]] или false если ничего не найдено&lt;br /&gt;
&lt;br /&gt;
===='''sort_checkpoints_and_events($id, $planstatuses=null, $eventstatuses=null)'''====&lt;br /&gt;
&lt;br /&gt;
Получает список объединенных контрольных точек и событий отсортированных по дате события или контрольной точки. &lt;br /&gt;
&lt;br /&gt;
''Аргументы:''&lt;br /&gt;
* (int) $id - id учебного процесса в таблице [[Разработка:storages/cstreams | cstreams ]]&lt;br /&gt;
* array $planstatuses  - список статусов с которыми получаются контрольные точки из таблицы [[Разработка:storages/plans | plans ]], по умолчанию - с любым статусом(null)&lt;br /&gt;
* array $eventstatuses - список статусов с которыми нужно получить события из таблицы [[Разработка:storages/schevents | schevents ]], по умолчанию - с любым статусом(null) &lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* array массив объектов - контрольных точек из таблицы [[Разработка:storages/plans | plans ]]. Если для КТ есть событие - то оно записывается в поле &amp;quot;event&amp;quot;&lt;br /&gt;
''Структура работы:''&lt;br /&gt;
# находим необходимые контрольные точки.&lt;br /&gt;
# получаем масив состыкованных КТ и событий.&lt;br /&gt;
# формируем новый массив состыкованных КТ и событий, в котором индексы заменены на метки времени.&lt;br /&gt;
#* получаем метку времени при помощи get_date().&lt;br /&gt;
#* если метку времени не получили, переходим к следующему элементу,&lt;br /&gt;
#* если метка времени не уникальна, делаем ее уникальной.&lt;br /&gt;
#* записываем получившуюся метку времени, как ключ массива.&lt;br /&gt;
# соритуем массив по ключам в порядке возрастания.&lt;br /&gt;
# возвращаем результат.&lt;br /&gt;
&lt;br /&gt;
===='''get_date($pe)'''====&lt;br /&gt;
&lt;br /&gt;
Получает метку времени КT или соответствующего события.&lt;br /&gt;
&lt;br /&gt;
''Аргументы:''&lt;br /&gt;
* (object) $pe - объект контрольной точки&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* string - дата начало события, &lt;br /&gt;
* string - если нет даты события, дата начала КТ,&lt;br /&gt;
* string - если нет даты начала КТ, дата начала учебного потока + смещение.&lt;br /&gt;
* bool - false, если возникли ошибки&lt;br /&gt;
&lt;br /&gt;
===='''get_checkpoints_for_cstreams($csid, $statuses=null)'''====&lt;br /&gt;
&lt;br /&gt;
Получает список контрольных точек актуальных для данного учебного процесса (включая контрольные точки дисциплины и периода, с которыми связан данный учебный процесс). Сортируются по абсолютной дате, которая вычисляется как дата старта учебного процесса + относительная дата точек, привязанных к учебному процессу или точек, привязанных к дисциплине, или как дата начала учебного периода + относительная дата точек, привязанных к учебному периоду.&lt;br /&gt;
&lt;br /&gt;
''Аргументы:''&lt;br /&gt;
* (int) $csid - id учебного процесса в таблице [[Разработка:storages/cstreams | cstreams ]].&lt;br /&gt;
* (str) $statuses - статусы контрольных точек в таблице [[Разработка:storages/plans | plans ]]&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* array - массив объектов из таблицы. &lt;br /&gt;
* bool - false если контрольные точки не найдены.&lt;br /&gt;
''Структура работы:''&lt;br /&gt;
* формируем SQL-запрос:&lt;br /&gt;
** по данному id находим учебный процесс.&lt;br /&gt;
** формируем условие выборки.&lt;br /&gt;
** по id периода из учебного находим учебный период.&lt;br /&gt;
*** если период существует, добавляем его в условие выборки и формируем дополнительную колонку содержащюю абсолютную дату для каждой КТ,&lt;br /&gt;
*** если периода нет, формируем дополнительную колонку без учета периода.&lt;br /&gt;
* возвращаем список КТ по SQL-запросу.&lt;br /&gt;
&lt;br /&gt;
===='''get_numberof_points($select)'''====&lt;br /&gt;
&lt;br /&gt;
Возвращает количество КТ, удовлетворяющих указанным критериям.&lt;br /&gt;
&lt;br /&gt;
''Аргументы:''&lt;br /&gt;
* (str) $select - критерии отбора записей&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* int - количество найденных записей&lt;br /&gt;
&lt;br /&gt;
===='''cancel_checkpoint($id, $all = false)'''====&lt;br /&gt;
&lt;br /&gt;
Отменяет контрольную точку с событием.&lt;br /&gt;
&lt;br /&gt;
''Аргументы:''&lt;br /&gt;
* (int) $id - id контрольной точки&lt;br /&gt;
* (bool) $all - удалять ли все события: true - да, false - нет, по умолчанию false&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* bool true - КТ отменено, false - возникли ошибки&lt;br /&gt;
&lt;br /&gt;
===='''get_grades_scale($scale)'''====&lt;br /&gt;
&lt;br /&gt;
Разбивает шкалу оценок на массив оценок.&lt;br /&gt;
&lt;br /&gt;
''Аргументы:''&lt;br /&gt;
* (string) $scale - шкала оценок&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* array - массив оценок&lt;br /&gt;
&lt;br /&gt;
===='''get_theme_plan($linktype, $linkid, $statuses=null, $viewplan = false)'''====&lt;br /&gt;
&lt;br /&gt;
Возвращает список тематических разделов.&lt;br /&gt;
&lt;br /&gt;
''Аргументы:''&lt;br /&gt;
* (string)$linktype - тип связи (plans, cstreams, programmitems, ages)&lt;br /&gt;
* (int)$linkid - id связи&lt;br /&gt;
* (string)$statuses - список статусов (по умолчанию null)&lt;br /&gt;
* (string) $viewplan - (по умолчанию false)&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* array|false - список тематических разделов или false&lt;br /&gt;
&lt;br /&gt;
===='''succession_pitem_plan($cstream)'''====&lt;br /&gt;
&lt;br /&gt;
Наследует учебный темплан из планирования по предмету.&lt;br /&gt;
&lt;br /&gt;
''Аргументы:''&lt;br /&gt;
* (object)|(int) $cstream - объект учебного потока или id из таблицы cstreams&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* bool&lt;br /&gt;
&lt;br /&gt;
===='''widgets_save_field($querytype, $objectid, $data)'''====&lt;br /&gt;
&lt;br /&gt;
Сохрание данных одного поля при ajax-редактировании.&lt;br /&gt;
&lt;br /&gt;
''Аргументы:''&lt;br /&gt;
* (string) $querytype - уникальное имя запроса сохранения внутри плагина. Как правило имя &lt;br /&gt;
сохраняемого поля&lt;br /&gt;
* (int) $objectid - id объекта, данные которого редактируются&lt;br /&gt;
* (object) $data - данные для сохранения (обычно - новое значение поля)&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* string - новое значение элемента или строка с html-кодом ошибки&lt;br /&gt;
&lt;br /&gt;
===='''widgets_field_variants_list($querytype='standart', $obj)'''====&lt;br /&gt;
&lt;br /&gt;
Метод, который возвращает список для автозаполнения.&lt;br /&gt;
&lt;br /&gt;
''Аргументы:''&lt;br /&gt;
* (string) $querytype - тип запроса (по-умолчанию стандарт)&lt;br /&gt;
* (object) $obj - объект с параметрами для выборки&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* array | false - запись, если есть или false, если нет&lt;br /&gt;
&lt;br /&gt;
===='''widgets_load_field($fieldname, $objectid, $data=null)'''====&lt;br /&gt;
&lt;br /&gt;
Подгрузить значение поля перед inline-редактированием.&lt;br /&gt;
&lt;br /&gt;
''Аргументы:''&lt;br /&gt;
* (string) $fieldname - название поля объекта, которое будет подгружено&lt;br /&gt;
* (int) $objectid  - id редактируемого объекта&lt;br /&gt;
* (mixed)  $data[optional] - дополнительные данные для запроса&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* string&lt;br /&gt;
&lt;br /&gt;
===Планы:===&lt;br /&gt;
===События===&lt;br /&gt;
В этом разделе описан список всех событий, которые генерируются, перехватываются и обрабатываются этим плагином.&lt;br /&gt;
====Перехватываемые события====&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
 |+ Таблица событий, которые перехватывает этот плагин&lt;br /&gt;
 ! Тип плагина&lt;br /&gt;
 ! Код плагина&lt;br /&gt;
 ! Код события&lt;br /&gt;
 ! Доп. данные&lt;br /&gt;
 ! Пояснение&lt;br /&gt;
 |-&lt;br /&gt;
 |colspan=5 align=center | ''Этот плагин не перехватывает никаких событий''&lt;br /&gt;
 |}&lt;br /&gt;
====Генерируемые события====&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
 |+ Таблица событий, которые генерирует этот плагин&lt;br /&gt;
 ! Тип плагина&lt;br /&gt;
 ! Код плагина&lt;br /&gt;
 ! Код события&lt;br /&gt;
 ! Доп. данные&lt;br /&gt;
 ! Пояснение&lt;br /&gt;
 |-&lt;br /&gt;
 |storage&lt;br /&gt;
 |plans&lt;br /&gt;
 |insert&lt;br /&gt;
 |Массив, содержащий в поле &amp;quot;new&amp;quot; объект с данными для вставки в таблицу.&lt;br /&gt;
''Пример:'' array('new' =&amp;gt; $dataobject)&lt;br /&gt;
 |Генерируется каждый раз при вставке новой записи в таблицу plans.&lt;br /&gt;
 |-&lt;br /&gt;
 |storage&lt;br /&gt;
 |plans&lt;br /&gt;
 |update&lt;br /&gt;
 |Массив, содержащий в поле &amp;quot;new&amp;quot; обновленный объект, и в поле &amp;quot;old&amp;quot; объект со старыми данными, до обновления записи.&lt;br /&gt;
''Пример:'' array('old' =&amp;gt; $dataobject_old, 'new' =&amp;gt; $dataobject_new)&lt;br /&gt;
 |Генерируется каждый раз при обновлении записи в таблице plans.&lt;br /&gt;
 |-&lt;br /&gt;
 |storage&lt;br /&gt;
 |plans&lt;br /&gt;
 |delete&lt;br /&gt;
 |Массив, содержащий в поле &amp;quot;old&amp;quot; объект с данными, которые удаляются из таблицы&lt;br /&gt;
''Пример:'' array('old' =&amp;gt; $dataobject)&lt;br /&gt;
 |Генерируется каждый раз при удалении записи из таблицы plans.&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Разработка]]&lt;br /&gt;
[[Категория:Плагины_storages]]&lt;/div&gt;</summary>
		<author><name>ABalyshev</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:storages/plans&amp;diff=2566</id>
		<title>Разработка:storages/plans</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:storages/plans&amp;diff=2566"/>
				<updated>2012-10-11T11:56:26Z</updated>
		
		<summary type="html">&lt;p&gt;ABalyshev: /* Дополнительные методы: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox_Plugin&lt;br /&gt;
| name = plans&lt;br /&gt;
| type = storages&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Таблица в базе данных===&lt;br /&gt;
''plans'' - темы в учебном плане и контрольные точки внутри учебной дисциплины/предмета, предусмотренные учебным планом курса.&lt;br /&gt;
&lt;br /&gt;
====Подробный формат полей в таблице:====&lt;br /&gt;
* linkid - связь с учебным периодом, учебной программой, дисциплиной или учебным процессом&lt;br /&gt;
* linktype - тип связи ([[Разработка:storages/ages | ages ]], [[Разработка:storages/programmitems | programmitems ]], [[Разработка:storages/cstreams | cstreams ]], plan). Тип связи &amp;quot;plan&amp;quot; - означает что эта контрольная точка относится к индивидуальному тематическому планированию ученика. linkid в этом случае указывает на таблицу cstreams.&lt;br /&gt;
* parentid - id родительской контрольной точки, если она наследовалась от стандартной темы в плане (модификация или дубль), либо id основной контрольной точки, если оценка является &amp;quot;дополнительной&amp;quot; (статус &amp;quot;дополнительная&amp;quot; - при этом тема не отображается в плане отдельной строкой, а только в подробной информации про основную тему, если основная тема наследуется, то и все дополнительные наследуются), по умолчанию - 0&lt;br /&gt;
* name - название контрольной точки или темы занятия&lt;br /&gt;
* reldate - относительная дата сдачи в секундах от начала учебного процесса, периода.&lt;br /&gt;
* reldldate - относительная дата последнего срока сдачи в секундах от начала учебного процесса, периода. Может совпадать с reldate.&lt;br /&gt;
* scale - диапазон или перечисленные через запятую возможные оценки, пустая строка если оценка не предусмотрена&lt;br /&gt;
* type - тип события (очный урок/лекция(facetime), дистанционный урок/лекция(distance),  семинар(seminar), лабораторная работа(laboratorywork), практическая работа(practicework), контрольная работа(testwork), промежуточная аттестация(intermediate))&lt;br /&gt;
* typesync - тип синхронизации (выставление вручную, синхронизация с moodle)&lt;br /&gt;
* mdlinstance - id задания в moodle для синхронизации&lt;br /&gt;
* status - список статусов указан в одноименном плагине рабочих процессов  [[Разработка:workflows/plans | plans ]]&lt;br /&gt;
* homework - домашнее задание&lt;br /&gt;
* homeworkhours - количество часов, отведенных на домашнее задание&lt;br /&gt;
* directmap - непосредственное отображение в журнале&lt;br /&gt;
* number - номер&lt;br /&gt;
* datetheme - дата темы&lt;br /&gt;
* plansectionsid - id из таблицы тематических разделов [[Разработка:storages/plansections | plansections ]]&lt;br /&gt;
* note - примечание&lt;br /&gt;
&lt;br /&gt;
===Дополнительные методы:===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===='''get_checkpoints($id, $type, $status = 'active')'''====&lt;br /&gt;
&lt;br /&gt;
Получает список контрольных точек напрямую связанных с одним объектом привязки. Сортируются по относительной дате. Данный метод возвращает только контрольные точки, напрямую привязанные к объекту, его не следует использовать для отображения полного учебно-тематического плана!&lt;br /&gt;
&lt;br /&gt;
''Аргументы:'' &lt;br /&gt;
* (int) $id - id элемента, к которому привязана контрольная точка.&lt;br /&gt;
* (str) $type - тип элемента, к которому привязана контрольная точка. ([[Разработка:storages/ages | ages ]], [[Разработка:storages/programmitems | programmitems ]], [[Разработка:storages/cstreams | cstreams ]]).&lt;br /&gt;
* (str) $status - статус контрольной точки, по умолчанию - действующая(active).&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* (array) массив объектов из таблицы. &lt;br /&gt;
* (bool) false если контрольные точки не найдены.&lt;br /&gt;
''Структура работы:''&lt;br /&gt;
* формируем SQL-запрос и возвращаем список КТ:&lt;br /&gt;
** если указывается статус - КТ с указанным статусом,&lt;br /&gt;
** если статус указывается null - КТ с любим статусом,&lt;br /&gt;
** если статус не указывается - КТ со статусом active.&lt;br /&gt;
&lt;br /&gt;
===='''get_list_no_status($status = 'active')'''====&lt;br /&gt;
&lt;br /&gt;
Получает список контрольных точек, со всеми статусами, кроме указанного&lt;br /&gt;
&lt;br /&gt;
''Аргументы:'' &lt;br /&gt;
* (str) $status - статус уоторый надо исключить, по умолчанию active&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* array|bool - массив записей из таблицы [[Разработка:storages/plans | plans ]] или false если ничего не найдено&lt;br /&gt;
&lt;br /&gt;
===='''sort_checkpoints_and_events($id, $planstatuses=null, $eventstatuses=null)'''====&lt;br /&gt;
&lt;br /&gt;
Получает список объединенных контрольных точек и событий отсортированных по дате события или контрольной точки. &lt;br /&gt;
&lt;br /&gt;
''Аргументы:''&lt;br /&gt;
* (int) $id - id учебного процесса в таблице [[Разработка:storages/cstreams | cstreams ]]&lt;br /&gt;
* array $planstatuses  - список статусов с которыми получаются контрольные точки из таблицы [[Разработка:storages/plans | plans ]], по умолчанию - с любым статусом(null)&lt;br /&gt;
* array $eventstatuses - список статусов с которыми нужно получить события из таблицы [[Разработка:storages/schevents | schevents ]], по умолчанию - с любым статусом(null) &lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* array массив объектов - контрольных точек из таблицы [[Разработка:storages/plans | plans ]]. Если для КТ есть событие - то оно записывается в поле &amp;quot;event&amp;quot;&lt;br /&gt;
''Структура работы:''&lt;br /&gt;
# находим необходимые контрольные точки.&lt;br /&gt;
# получаем масив состыкованных КТ и событий.&lt;br /&gt;
# формируем новый массив состыкованных КТ и событий, в котором индексы заменены на метки времени.&lt;br /&gt;
#* получаем метку времени при помощи get_date().&lt;br /&gt;
#* если метку времени не получили, переходим к следующему элементу,&lt;br /&gt;
#* если метка времени не уникальна, делаем ее уникальной.&lt;br /&gt;
#* записываем получившуюся метку времени, как ключ массива.&lt;br /&gt;
# соритуем массив по ключам в порядке возрастания.&lt;br /&gt;
# возвращаем результат.&lt;br /&gt;
&lt;br /&gt;
===='''get_date($pe)'''====&lt;br /&gt;
&lt;br /&gt;
Получает метку времени КT или соответствующего события.&lt;br /&gt;
&lt;br /&gt;
''Аргументы:''&lt;br /&gt;
* (object) $pe - объект контрольной точки&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* string - дата начало события, &lt;br /&gt;
* string - если нет даты события, дата начала КТ,&lt;br /&gt;
* string - если нет даты начала КТ, дата начала учебного потока + смещение.&lt;br /&gt;
* bool - false, если возникли ошибки&lt;br /&gt;
&lt;br /&gt;
===='''get_checkpoints_for_cstreams($csid, $statuses=null)'''====&lt;br /&gt;
&lt;br /&gt;
Получает список контрольных точек актуальных для данного учебного процесса (включая контрольные точки дисциплины и периода, с которыми связан данный учебный процесс). Сортируются по абсолютной дате, которая вычисляется как дата старта учебного процесса + относительная дата точек, привязанных к учебному процессу или точек, привязанных к дисциплине, или как дата начала учебного периода + относительная дата точек, привязанных к учебному периоду.&lt;br /&gt;
&lt;br /&gt;
''Аргументы:''&lt;br /&gt;
* (int) $csid - id учебного процесса в таблице [[Разработка:storages/cstreams | cstreams ]].&lt;br /&gt;
* (str) $statuses - статусы контрольных точек в таблице [[Разработка:storages/plans | plans ]]&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* array - массив объектов из таблицы. &lt;br /&gt;
* bool - false если контрольные точки не найдены.&lt;br /&gt;
''Структура работы:''&lt;br /&gt;
* формируем SQL-запрос:&lt;br /&gt;
** по данному id находим учебный процесс.&lt;br /&gt;
** формируем условие выборки.&lt;br /&gt;
** по id периода из учебного находим учебный период.&lt;br /&gt;
*** если период существует, добавляем его в условие выборки и формируем дополнительную колонку содержащюю абсолютную дату для каждой КТ,&lt;br /&gt;
*** если периода нет, формируем дополнительную колонку без учета периода.&lt;br /&gt;
* возвращаем список КТ по SQL-запросу.&lt;br /&gt;
&lt;br /&gt;
===='''get_numberof_points($select)'''====&lt;br /&gt;
&lt;br /&gt;
Возвращает количество КТ, удовлетворяющих указанным критериям.&lt;br /&gt;
&lt;br /&gt;
''Аргументы:''&lt;br /&gt;
* (str) $select - критерии отбора записей&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* int - количество найденных записей&lt;br /&gt;
&lt;br /&gt;
===='''cancel_checkpoint($id, $all = false)'''====&lt;br /&gt;
&lt;br /&gt;
Отменяет контрольную точку с событием.&lt;br /&gt;
&lt;br /&gt;
''Аргументы:''&lt;br /&gt;
* (int) $id - id контрольной точки&lt;br /&gt;
* (bool) $all - удалять ли все события: true - да, false - нет, по умолчанию false&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* bool true - КТ отменено, false - возникли ошибки&lt;br /&gt;
&lt;br /&gt;
===='''get_grades_scale($scale)'''====&lt;br /&gt;
&lt;br /&gt;
Разбивает шкалу оценок на массив оценок.&lt;br /&gt;
&lt;br /&gt;
''Аргументы:''&lt;br /&gt;
* (string) $scale - шкала оценок&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* array - массив оценок&lt;br /&gt;
&lt;br /&gt;
===='''get_theme_plan($linktype, $linkid, $statuses=null, $viewplan = false)'''====&lt;br /&gt;
&lt;br /&gt;
Возвращает список тематических разделов.&lt;br /&gt;
&lt;br /&gt;
''Аргументы:''&lt;br /&gt;
* (string)$linktype - тип связи (plans, cstreams, programmitems, ages)&lt;br /&gt;
* (int)$linkid - id связи&lt;br /&gt;
* (string)$statuses - список статусов (по умолчанию null)&lt;br /&gt;
* (string) $viewplan - (по умолчанию false)&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* array|false - список тематических разделов или false&lt;br /&gt;
&lt;br /&gt;
===Планы:===&lt;br /&gt;
===События===&lt;br /&gt;
В этом разделе описан список всех событий, которые генерируются, перехватываются и обрабатываются этим плагином.&lt;br /&gt;
====Перехватываемые события====&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
 |+ Таблица событий, которые перехватывает этот плагин&lt;br /&gt;
 ! Тип плагина&lt;br /&gt;
 ! Код плагина&lt;br /&gt;
 ! Код события&lt;br /&gt;
 ! Доп. данные&lt;br /&gt;
 ! Пояснение&lt;br /&gt;
 |-&lt;br /&gt;
 |colspan=5 align=center | ''Этот плагин не перехватывает никаких событий''&lt;br /&gt;
 |}&lt;br /&gt;
====Генерируемые события====&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
 |+ Таблица событий, которые генерирует этот плагин&lt;br /&gt;
 ! Тип плагина&lt;br /&gt;
 ! Код плагина&lt;br /&gt;
 ! Код события&lt;br /&gt;
 ! Доп. данные&lt;br /&gt;
 ! Пояснение&lt;br /&gt;
 |-&lt;br /&gt;
 |storage&lt;br /&gt;
 |plans&lt;br /&gt;
 |insert&lt;br /&gt;
 |Массив, содержащий в поле &amp;quot;new&amp;quot; объект с данными для вставки в таблицу.&lt;br /&gt;
''Пример:'' array('new' =&amp;gt; $dataobject)&lt;br /&gt;
 |Генерируется каждый раз при вставке новой записи в таблицу plans.&lt;br /&gt;
 |-&lt;br /&gt;
 |storage&lt;br /&gt;
 |plans&lt;br /&gt;
 |update&lt;br /&gt;
 |Массив, содержащий в поле &amp;quot;new&amp;quot; обновленный объект, и в поле &amp;quot;old&amp;quot; объект со старыми данными, до обновления записи.&lt;br /&gt;
''Пример:'' array('old' =&amp;gt; $dataobject_old, 'new' =&amp;gt; $dataobject_new)&lt;br /&gt;
 |Генерируется каждый раз при обновлении записи в таблице plans.&lt;br /&gt;
 |-&lt;br /&gt;
 |storage&lt;br /&gt;
 |plans&lt;br /&gt;
 |delete&lt;br /&gt;
 |Массив, содержащий в поле &amp;quot;old&amp;quot; объект с данными, которые удаляются из таблицы&lt;br /&gt;
''Пример:'' array('old' =&amp;gt; $dataobject)&lt;br /&gt;
 |Генерируется каждый раз при удалении записи из таблицы plans.&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Разработка]]&lt;br /&gt;
[[Категория:Плагины_storages]]&lt;/div&gt;</summary>
		<author><name>ABalyshev</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:storages/plans&amp;diff=2565</id>
		<title>Разработка:storages/plans</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:storages/plans&amp;diff=2565"/>
				<updated>2012-10-11T11:36:51Z</updated>
		
		<summary type="html">&lt;p&gt;ABalyshev: /* Подробный формат полей в таблице: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox_Plugin&lt;br /&gt;
| name = plans&lt;br /&gt;
| type = storages&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Таблица в базе данных===&lt;br /&gt;
''plans'' - темы в учебном плане и контрольные точки внутри учебной дисциплины/предмета, предусмотренные учебным планом курса.&lt;br /&gt;
&lt;br /&gt;
====Подробный формат полей в таблице:====&lt;br /&gt;
* linkid - связь с учебным периодом, учебной программой, дисциплиной или учебным процессом&lt;br /&gt;
* linktype - тип связи ([[Разработка:storages/ages | ages ]], [[Разработка:storages/programmitems | programmitems ]], [[Разработка:storages/cstreams | cstreams ]], plan). Тип связи &amp;quot;plan&amp;quot; - означает что эта контрольная точка относится к индивидуальному тематическому планированию ученика. linkid в этом случае указывает на таблицу cstreams.&lt;br /&gt;
* parentid - id родительской контрольной точки, если она наследовалась от стандартной темы в плане (модификация или дубль), либо id основной контрольной точки, если оценка является &amp;quot;дополнительной&amp;quot; (статус &amp;quot;дополнительная&amp;quot; - при этом тема не отображается в плане отдельной строкой, а только в подробной информации про основную тему, если основная тема наследуется, то и все дополнительные наследуются), по умолчанию - 0&lt;br /&gt;
* name - название контрольной точки или темы занятия&lt;br /&gt;
* reldate - относительная дата сдачи в секундах от начала учебного процесса, периода.&lt;br /&gt;
* reldldate - относительная дата последнего срока сдачи в секундах от начала учебного процесса, периода. Может совпадать с reldate.&lt;br /&gt;
* scale - диапазон или перечисленные через запятую возможные оценки, пустая строка если оценка не предусмотрена&lt;br /&gt;
* type - тип события (очный урок/лекция(facetime), дистанционный урок/лекция(distance),  семинар(seminar), лабораторная работа(laboratorywork), практическая работа(practicework), контрольная работа(testwork), промежуточная аттестация(intermediate))&lt;br /&gt;
* typesync - тип синхронизации (выставление вручную, синхронизация с moodle)&lt;br /&gt;
* mdlinstance - id задания в moodle для синхронизации&lt;br /&gt;
* status - список статусов указан в одноименном плагине рабочих процессов  [[Разработка:workflows/plans | plans ]]&lt;br /&gt;
* homework - домашнее задание&lt;br /&gt;
* homeworkhours - количество часов, отведенных на домашнее задание&lt;br /&gt;
* directmap - непосредственное отображение в журнале&lt;br /&gt;
* number - номер&lt;br /&gt;
* datetheme - дата темы&lt;br /&gt;
* plansectionsid - id из таблицы тематических разделов [[Разработка:storages/plansections | plansections ]]&lt;br /&gt;
* note - примечание&lt;br /&gt;
&lt;br /&gt;
===Дополнительные методы:===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===='''get_checkpoints($id, $type, $status = 'active')'''====&lt;br /&gt;
&lt;br /&gt;
Получает список контрольных точек напрямую связанных с одним объектом привязки. Сортируются по относительной дате. Данный метод возвращает только контрольные точки, напрямую привязанные к объекту, его не следует использовать для отображения полного учебно-тематического плана!&lt;br /&gt;
&lt;br /&gt;
''Аргументы:'' &lt;br /&gt;
* (int) $id - id элемента, к которому привязана контрольная точка.&lt;br /&gt;
* (str) $type - тип элемента, к которому привязана контрольная точка. ([[Разработка:storages/ages | ages ]], [[Разработка:storages/programmitems | programmitems ]], [[Разработка:storages/cstreams | cstreams ]]).&lt;br /&gt;
* (str) $status - статус контрольной точки, по умолчанию - действующая(active).&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* (array) массив объектов из таблицы. &lt;br /&gt;
* (bool) false если контрольные точки не найдены.&lt;br /&gt;
''Структура работы:''&lt;br /&gt;
* формируем SQL-запрос и возвращаем список КТ:&lt;br /&gt;
** если указывается статус - КТ с указанным статусом,&lt;br /&gt;
** если статус указывается null - КТ с любим статусом,&lt;br /&gt;
** если статус не указывается - КТ со статусом active.&lt;br /&gt;
&lt;br /&gt;
===='''get_list_no_status($status = 'active')'''====&lt;br /&gt;
&lt;br /&gt;
Получает список контрольных точек, со всеми статусами, кроме указанного&lt;br /&gt;
&lt;br /&gt;
''Аргументы:'' &lt;br /&gt;
* (str) $status - статус уоторый надо исключить, по умолчанию active&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* array|bool - массив записей из таблицы [[Разработка:storages/plans | plans ]] или false если ничего не найдено&lt;br /&gt;
&lt;br /&gt;
===='''sort_checkpoints_and_events($id, $planstatuses=null, $eventstatuses=null)'''====&lt;br /&gt;
&lt;br /&gt;
Получает список объединенных контрольных точек и событий отсортированных по дате события или контрольной точки. &lt;br /&gt;
&lt;br /&gt;
''Аргументы:''&lt;br /&gt;
* (int) $id - id учебного процесса в таблице [[Разработка:storages/cstreams | cstreams ]]&lt;br /&gt;
* array $planstatuses  - список статусов с которыми получаются контрольные точки из таблицы [[Разработка:storages/plans | plans ]], по умолчанию - с любым статусом(null)&lt;br /&gt;
* array $eventstatuses - список статусов с которыми нужно получить события из таблицы [[Разработка:storages/schevents | schevents ]], по умолчанию - с любым статусом(null) &lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* array массив объектов - контрольных точек из таблицы [[Разработка:storages/plans | plans ]]. Если для КТ есть событие - то оно записывается в поле &amp;quot;event&amp;quot;&lt;br /&gt;
''Структура работы:''&lt;br /&gt;
# находим необходимые контрольные точки.&lt;br /&gt;
# получаем масив состыкованных КТ и событий.&lt;br /&gt;
# формируем новый массив состыкованных КТ и событий, в котором индексы заменены на метки времени.&lt;br /&gt;
#* получаем метку времени при помощи get_date().&lt;br /&gt;
#* если метку времени не получили, переходим к следующему элементу,&lt;br /&gt;
#* если метка времени не уникальна, делаем ее уникальной.&lt;br /&gt;
#* записываем получившуюся метку времени, как ключ массива.&lt;br /&gt;
# соритуем массив по ключам в порядке возрастания.&lt;br /&gt;
# возвращаем результат.&lt;br /&gt;
&lt;br /&gt;
===='''get_checkpoints_for_cstreams($csid, $statuses=null)'''====&lt;br /&gt;
&lt;br /&gt;
Получает список контрольных точек актуальных для данного учебного процесса (включая контрольные точки дисциплины и периода, с которыми связан данный учебный процесс). Сортируются по абсолютной дате, которая вычисляется как дата старта учебного процесса + относительная дата точек, привязанных к учебному процессу или точек, привязанных к дисциплине, или как дата начала учебного периода + относительная дата точек, привязанных к учебному периоду.&lt;br /&gt;
&lt;br /&gt;
''Аргументы:''&lt;br /&gt;
* (int) $csid - id учебного процесса в таблице [[Разработка:storages/cstreams | cstreams ]].&lt;br /&gt;
* (str) $statuses - статусы контрольных точек в таблице [[Разработка:storages/plans | plans ]]&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* array - массив объектов из таблицы. &lt;br /&gt;
* bool - false если контрольные точки не найдены.&lt;br /&gt;
''Структура работы:''&lt;br /&gt;
* формируем SQL-запрос:&lt;br /&gt;
** по данному id находим учебный процесс.&lt;br /&gt;
** формируем условие выборки.&lt;br /&gt;
** по id периода из учебного находим учебный период.&lt;br /&gt;
*** если период существует, добавляем его в условие выборки и формируем дополнительную колонку содержащюю абсолютную дату для каждой КТ,&lt;br /&gt;
*** если периода нет, формируем дополнительную колонку без учета периода.&lt;br /&gt;
* возвращаем список КТ по SQL-запросу.&lt;br /&gt;
&lt;br /&gt;
===='''get_numberof_points($select)'''====&lt;br /&gt;
&lt;br /&gt;
Возвращает количество КТ, удовлетворяющих указанным критериям.&lt;br /&gt;
&lt;br /&gt;
''Аргументы:''&lt;br /&gt;
* (str) $select - критерии отбора записей&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* int - количество найденных записей&lt;br /&gt;
&lt;br /&gt;
===='''cancel_checkpoint($id, $all = false)'''====&lt;br /&gt;
&lt;br /&gt;
Отменяет контрольную точку с событием.&lt;br /&gt;
&lt;br /&gt;
''Аргументы:''&lt;br /&gt;
* (int) $id - id контрольной точки&lt;br /&gt;
* (bool) $all - удалять ли все события: true - да, false - нет, по умолчанию false&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* bool true - КТ отменено, false - возникли ошибки&lt;br /&gt;
&lt;br /&gt;
===='''get_grades_scale($scale)'''====&lt;br /&gt;
&lt;br /&gt;
Разбивает шкалу оценок на массив оценок.&lt;br /&gt;
&lt;br /&gt;
''Аргументы:''&lt;br /&gt;
* (string) $scale - шкала оценок&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* array - массив оценок&lt;br /&gt;
&lt;br /&gt;
===='''get_theme_plan($linktype, $linkid, $statuses=null, $viewplan = false)'''====&lt;br /&gt;
&lt;br /&gt;
Возвращает список тематических разделов.&lt;br /&gt;
&lt;br /&gt;
''Аргументы:''&lt;br /&gt;
* (string)$linktype - тип связи (plans, cstreams, programmitems, ages)&lt;br /&gt;
* (int)$linkid - id связи&lt;br /&gt;
* (string)$statuses - список статусов (по умолчанию null)&lt;br /&gt;
* (string) $viewplan - (по умолчанию false)&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* array|false - список тематических разделов или false&lt;br /&gt;
&lt;br /&gt;
===Планы:===&lt;br /&gt;
===События===&lt;br /&gt;
В этом разделе описан список всех событий, которые генерируются, перехватываются и обрабатываются этим плагином.&lt;br /&gt;
====Перехватываемые события====&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
 |+ Таблица событий, которые перехватывает этот плагин&lt;br /&gt;
 ! Тип плагина&lt;br /&gt;
 ! Код плагина&lt;br /&gt;
 ! Код события&lt;br /&gt;
 ! Доп. данные&lt;br /&gt;
 ! Пояснение&lt;br /&gt;
 |-&lt;br /&gt;
 |colspan=5 align=center | ''Этот плагин не перехватывает никаких событий''&lt;br /&gt;
 |}&lt;br /&gt;
====Генерируемые события====&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
 |+ Таблица событий, которые генерирует этот плагин&lt;br /&gt;
 ! Тип плагина&lt;br /&gt;
 ! Код плагина&lt;br /&gt;
 ! Код события&lt;br /&gt;
 ! Доп. данные&lt;br /&gt;
 ! Пояснение&lt;br /&gt;
 |-&lt;br /&gt;
 |storage&lt;br /&gt;
 |plans&lt;br /&gt;
 |insert&lt;br /&gt;
 |Массив, содержащий в поле &amp;quot;new&amp;quot; объект с данными для вставки в таблицу.&lt;br /&gt;
''Пример:'' array('new' =&amp;gt; $dataobject)&lt;br /&gt;
 |Генерируется каждый раз при вставке новой записи в таблицу plans.&lt;br /&gt;
 |-&lt;br /&gt;
 |storage&lt;br /&gt;
 |plans&lt;br /&gt;
 |update&lt;br /&gt;
 |Массив, содержащий в поле &amp;quot;new&amp;quot; обновленный объект, и в поле &amp;quot;old&amp;quot; объект со старыми данными, до обновления записи.&lt;br /&gt;
''Пример:'' array('old' =&amp;gt; $dataobject_old, 'new' =&amp;gt; $dataobject_new)&lt;br /&gt;
 |Генерируется каждый раз при обновлении записи в таблице plans.&lt;br /&gt;
 |-&lt;br /&gt;
 |storage&lt;br /&gt;
 |plans&lt;br /&gt;
 |delete&lt;br /&gt;
 |Массив, содержащий в поле &amp;quot;old&amp;quot; объект с данными, которые удаляются из таблицы&lt;br /&gt;
''Пример:'' array('old' =&amp;gt; $dataobject)&lt;br /&gt;
 |Генерируется каждый раз при удалении записи из таблицы plans.&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Разработка]]&lt;br /&gt;
[[Категория:Плагины_storages]]&lt;/div&gt;</summary>
		<author><name>ABalyshev</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:storages/plans&amp;diff=2564</id>
		<title>Разработка:storages/plans</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:storages/plans&amp;diff=2564"/>
				<updated>2012-10-11T11:22:35Z</updated>
		
		<summary type="html">&lt;p&gt;ABalyshev: /* Подробный формат полей в таблице: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox_Plugin&lt;br /&gt;
| name = plans&lt;br /&gt;
| type = storages&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Таблица в базе данных===&lt;br /&gt;
''plans'' - темы в учебном плане и контрольные точки внутри учебной дисциплины/предмета, предусмотренные учебным планом курса.&lt;br /&gt;
&lt;br /&gt;
====Подробный формат полей в таблице:====&lt;br /&gt;
* linkid - связь с учебным периодом, учебной программой, дисциплиной или учебным процессом&lt;br /&gt;
* linktype - тип связи ([[Разработка:storages/ages | ages ]], [[Разработка:storages/programmitems | programmitems ]], [[Разработка:storages/cstreams | cstreams ]], plan). Тип связи &amp;quot;plan&amp;quot; - означает что эта контрольная точка относится к индивидуальному тематическому планированию ученика. linkid в этом случае указывает на таблицу cstreams.&lt;br /&gt;
* parentid - id родительской контрольной точки, если она наследовалась от стандартной темы в плане (модификация или дубль), либо id основной контрольной точки, если оценка является &amp;quot;дополнительной&amp;quot; (статус &amp;quot;дополнительная&amp;quot; - при этом тема не отображается в плане отдельной строкой, а только в подробной информации про основную тему, если основная тема наследуется, то и все дополнительные наследуются), по умолчанию - 0&lt;br /&gt;
* name - название контрольной точки или темы занятия&lt;br /&gt;
* reldate - относительная дата сдачи в секундах от начала учебного процесса, периода.&lt;br /&gt;
* reldldate - относительная дата последнего срока сдачи в секундах от начала учебного процесса, периода. Может совпадать с reldate.&lt;br /&gt;
* scale - диапазон или перечисленные через запятую возможные оценки, пустая строка если оценка не предусмотрена&lt;br /&gt;
* type - тип события (очный урок/лекция(facetime), дистанционный урок/лекция(distance),  семинар(seminar), лабораторная работа(laboratorywork), практическая работа(practicework), контрольная работа(testwork), промежуточная аттестация(intermediate))&lt;br /&gt;
* typesync - тип синхронизации (выставление вручную, синхронизация с moodle)&lt;br /&gt;
* mdlinstance - id задания в moodle для синхронизации&lt;br /&gt;
* status - список статусов указан в одноименном плагине рабочих процессов  [[Разработка:workflows/plans | plans ]]&lt;br /&gt;
* homework - домашнее задание&lt;br /&gt;
* homeworkhours - количество часов, отведенных на домашнее задание&lt;br /&gt;
* number - номер&lt;br /&gt;
* datetheme - дата темы&lt;br /&gt;
* plansectionsid - id из таблицы тематических разделов [[Разработка:storages/plansections | plansections ]]&lt;br /&gt;
* note - примечание&lt;br /&gt;
&lt;br /&gt;
===Дополнительные методы:===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===='''get_checkpoints($id, $type, $status = 'active')'''====&lt;br /&gt;
&lt;br /&gt;
Получает список контрольных точек напрямую связанных с одним объектом привязки. Сортируются по относительной дате. Данный метод возвращает только контрольные точки, напрямую привязанные к объекту, его не следует использовать для отображения полного учебно-тематического плана!&lt;br /&gt;
&lt;br /&gt;
''Аргументы:'' &lt;br /&gt;
* (int) $id - id элемента, к которому привязана контрольная точка.&lt;br /&gt;
* (str) $type - тип элемента, к которому привязана контрольная точка. ([[Разработка:storages/ages | ages ]], [[Разработка:storages/programmitems | programmitems ]], [[Разработка:storages/cstreams | cstreams ]]).&lt;br /&gt;
* (str) $status - статус контрольной точки, по умолчанию - действующая(active).&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* (array) массив объектов из таблицы. &lt;br /&gt;
* (bool) false если контрольные точки не найдены.&lt;br /&gt;
''Структура работы:''&lt;br /&gt;
* формируем SQL-запрос и возвращаем список КТ:&lt;br /&gt;
** если указывается статус - КТ с указанным статусом,&lt;br /&gt;
** если статус указывается null - КТ с любим статусом,&lt;br /&gt;
** если статус не указывается - КТ со статусом active.&lt;br /&gt;
&lt;br /&gt;
===='''get_list_no_status($status = 'active')'''====&lt;br /&gt;
&lt;br /&gt;
Получает список контрольных точек, со всеми статусами, кроме указанного&lt;br /&gt;
&lt;br /&gt;
''Аргументы:'' &lt;br /&gt;
* (str) $status - статус уоторый надо исключить, по умолчанию active&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* array|bool - массив записей из таблицы [[Разработка:storages/plans | plans ]] или false если ничего не найдено&lt;br /&gt;
&lt;br /&gt;
===='''sort_checkpoints_and_events($id, $planstatuses=null, $eventstatuses=null)'''====&lt;br /&gt;
&lt;br /&gt;
Получает список объединенных контрольных точек и событий отсортированных по дате события или контрольной точки. &lt;br /&gt;
&lt;br /&gt;
''Аргументы:''&lt;br /&gt;
* (int) $id - id учебного процесса в таблице [[Разработка:storages/cstreams | cstreams ]]&lt;br /&gt;
* array $planstatuses  - список статусов с которыми получаются контрольные точки из таблицы [[Разработка:storages/plans | plans ]], по умолчанию - с любым статусом(null)&lt;br /&gt;
* array $eventstatuses - список статусов с которыми нужно получить события из таблицы [[Разработка:storages/schevents | schevents ]], по умолчанию - с любым статусом(null) &lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* array массив объектов - контрольных точек из таблицы [[Разработка:storages/plans | plans ]]. Если для КТ есть событие - то оно записывается в поле &amp;quot;event&amp;quot;&lt;br /&gt;
''Структура работы:''&lt;br /&gt;
# находим необходимые контрольные точки.&lt;br /&gt;
# получаем масив состыкованных КТ и событий.&lt;br /&gt;
# формируем новый массив состыкованных КТ и событий, в котором индексы заменены на метки времени.&lt;br /&gt;
#* получаем метку времени при помощи get_date().&lt;br /&gt;
#* если метку времени не получили, переходим к следующему элементу,&lt;br /&gt;
#* если метка времени не уникальна, делаем ее уникальной.&lt;br /&gt;
#* записываем получившуюся метку времени, как ключ массива.&lt;br /&gt;
# соритуем массив по ключам в порядке возрастания.&lt;br /&gt;
# возвращаем результат.&lt;br /&gt;
&lt;br /&gt;
===='''get_checkpoints_for_cstreams($csid, $statuses=null)'''====&lt;br /&gt;
&lt;br /&gt;
Получает список контрольных точек актуальных для данного учебного процесса (включая контрольные точки дисциплины и периода, с которыми связан данный учебный процесс). Сортируются по абсолютной дате, которая вычисляется как дата старта учебного процесса + относительная дата точек, привязанных к учебному процессу или точек, привязанных к дисциплине, или как дата начала учебного периода + относительная дата точек, привязанных к учебному периоду.&lt;br /&gt;
&lt;br /&gt;
''Аргументы:''&lt;br /&gt;
* (int) $csid - id учебного процесса в таблице [[Разработка:storages/cstreams | cstreams ]].&lt;br /&gt;
* (str) $statuses - статусы контрольных точек в таблице [[Разработка:storages/plans | plans ]]&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* array - массив объектов из таблицы. &lt;br /&gt;
* bool - false если контрольные точки не найдены.&lt;br /&gt;
''Структура работы:''&lt;br /&gt;
* формируем SQL-запрос:&lt;br /&gt;
** по данному id находим учебный процесс.&lt;br /&gt;
** формируем условие выборки.&lt;br /&gt;
** по id периода из учебного находим учебный период.&lt;br /&gt;
*** если период существует, добавляем его в условие выборки и формируем дополнительную колонку содержащюю абсолютную дату для каждой КТ,&lt;br /&gt;
*** если периода нет, формируем дополнительную колонку без учета периода.&lt;br /&gt;
* возвращаем список КТ по SQL-запросу.&lt;br /&gt;
&lt;br /&gt;
===='''get_numberof_points($select)'''====&lt;br /&gt;
&lt;br /&gt;
Возвращает количество КТ, удовлетворяющих указанным критериям.&lt;br /&gt;
&lt;br /&gt;
''Аргументы:''&lt;br /&gt;
* (str) $select - критерии отбора записей&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* int - количество найденных записей&lt;br /&gt;
&lt;br /&gt;
===='''cancel_checkpoint($id, $all = false)'''====&lt;br /&gt;
&lt;br /&gt;
Отменяет контрольную точку с событием.&lt;br /&gt;
&lt;br /&gt;
''Аргументы:''&lt;br /&gt;
* (int) $id - id контрольной точки&lt;br /&gt;
* (bool) $all - удалять ли все события: true - да, false - нет, по умолчанию false&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* bool true - КТ отменено, false - возникли ошибки&lt;br /&gt;
&lt;br /&gt;
===='''get_grades_scale($scale)'''====&lt;br /&gt;
&lt;br /&gt;
Разбивает шкалу оценок на массив оценок.&lt;br /&gt;
&lt;br /&gt;
''Аргументы:''&lt;br /&gt;
* (string) $scale - шкала оценок&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* array - массив оценок&lt;br /&gt;
&lt;br /&gt;
===='''get_theme_plan($linktype, $linkid, $statuses=null, $viewplan = false)'''====&lt;br /&gt;
&lt;br /&gt;
Возвращает список тематических разделов.&lt;br /&gt;
&lt;br /&gt;
''Аргументы:''&lt;br /&gt;
* (string)$linktype - тип связи (plans, cstreams, programmitems, ages)&lt;br /&gt;
* (int)$linkid - id связи&lt;br /&gt;
* (string)$statuses - список статусов (по умолчанию null)&lt;br /&gt;
* (string) $viewplan - (по умолчанию false)&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* array|false - список тематических разделов или false&lt;br /&gt;
&lt;br /&gt;
===Планы:===&lt;br /&gt;
===События===&lt;br /&gt;
В этом разделе описан список всех событий, которые генерируются, перехватываются и обрабатываются этим плагином.&lt;br /&gt;
====Перехватываемые события====&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
 |+ Таблица событий, которые перехватывает этот плагин&lt;br /&gt;
 ! Тип плагина&lt;br /&gt;
 ! Код плагина&lt;br /&gt;
 ! Код события&lt;br /&gt;
 ! Доп. данные&lt;br /&gt;
 ! Пояснение&lt;br /&gt;
 |-&lt;br /&gt;
 |colspan=5 align=center | ''Этот плагин не перехватывает никаких событий''&lt;br /&gt;
 |}&lt;br /&gt;
====Генерируемые события====&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
 |+ Таблица событий, которые генерирует этот плагин&lt;br /&gt;
 ! Тип плагина&lt;br /&gt;
 ! Код плагина&lt;br /&gt;
 ! Код события&lt;br /&gt;
 ! Доп. данные&lt;br /&gt;
 ! Пояснение&lt;br /&gt;
 |-&lt;br /&gt;
 |storage&lt;br /&gt;
 |plans&lt;br /&gt;
 |insert&lt;br /&gt;
 |Массив, содержащий в поле &amp;quot;new&amp;quot; объект с данными для вставки в таблицу.&lt;br /&gt;
''Пример:'' array('new' =&amp;gt; $dataobject)&lt;br /&gt;
 |Генерируется каждый раз при вставке новой записи в таблицу plans.&lt;br /&gt;
 |-&lt;br /&gt;
 |storage&lt;br /&gt;
 |plans&lt;br /&gt;
 |update&lt;br /&gt;
 |Массив, содержащий в поле &amp;quot;new&amp;quot; обновленный объект, и в поле &amp;quot;old&amp;quot; объект со старыми данными, до обновления записи.&lt;br /&gt;
''Пример:'' array('old' =&amp;gt; $dataobject_old, 'new' =&amp;gt; $dataobject_new)&lt;br /&gt;
 |Генерируется каждый раз при обновлении записи в таблице plans.&lt;br /&gt;
 |-&lt;br /&gt;
 |storage&lt;br /&gt;
 |plans&lt;br /&gt;
 |delete&lt;br /&gt;
 |Массив, содержащий в поле &amp;quot;old&amp;quot; объект с данными, которые удаляются из таблицы&lt;br /&gt;
''Пример:'' array('old' =&amp;gt; $dataobject)&lt;br /&gt;
 |Генерируется каждый раз при удалении записи из таблицы plans.&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Разработка]]&lt;br /&gt;
[[Категория:Плагины_storages]]&lt;/div&gt;</summary>
		<author><name>ABalyshev</name></author>	</entry>

	</feed>