Разработка:storages/learningplan — различия между версиями
Konovalov (обсуждение | вклад) (→Дополнительные методы:) |
Konovalov (обсуждение | вклад) (→Дополнительные методы:) |
||
Строка 74: | Строка 74: | ||
* $typeid(int) - id записи в таблице [[Разработка:storages/programmsbcs|programmsbcs]] или [[Разработка:storages/agroups|agroups]] | * $typeid(int) - id записи в таблице [[Разработка:storages/programmsbcs|programmsbcs]] или [[Разработка:storages/agroups|agroups]] | ||
* $agenum(int) - номер семестра (параллели), если false - все семестры | * $agenum(int) - номер семестра (параллели), если false - все семестры | ||
− | * $status(string|array) - статус дисциплин, можно передать массив или false для всех | + | * $status(string|array) - статус дисциплин, можно передать строку (в этом случае условие меняется на отрицательное: status != $status) массив или false для всех |
''Возвращаемые значения:'' | ''Возвращаемые значения:'' | ||
* (bool) - false в случае ошибки | * (bool) - false в случае ошибки | ||
* (array) - дисциплины программы, исключая запланированные | * (array) - дисциплины программы, исключая запланированные | ||
+ | |||
+ | |||
+ | ===='''get_current_agenum_type_typeid($type, $typeid)'''==== | ||
+ | |||
+ | Получить номер текущего семестра по типу и номеру индивидуального плана | ||
+ | |||
+ | ''Аргументы:'' | ||
+ | * $type(string) - тип индивидуального учебного плана (ИП), может быть 'programmsbc' или 'agroup' | ||
+ | * $typeid(int) - id записи в таблице [[Разработка:storages/programmsbcs|programmsbcs]] или [[Разработка:storages/agroups|agroups]] | ||
+ | ''Возвращаемые значения:'' | ||
+ | * (bool) - false в случае ошибки | ||
+ | * (int) - номер текущего семестра. | ||
Строка 88: | Строка 100: | ||
* $typeid(int) - id записи в таблице [[Разработка:storages/programmsbcs|programmsbcs]] или [[Разработка:storages/agroups|agroups]] | * $typeid(int) - id записи в таблице [[Разработка:storages/programmsbcs|programmsbcs]] или [[Разработка:storages/agroups|agroups]] | ||
* $agenum(int) - номер семестра (параллели), если false - все семестры | * $agenum(int) - номер семестра (параллели), если false - все семестры | ||
− | * $status(string|array) - статус дисциплин, можно передать массив или false для всех | + | * $status(string|array) - статус дисциплин, можно передать строку (в этом случае условие меняется на отрицательное: status != $status) массив или false для всех |
''Возвращаемые значения:'' | ''Возвращаемые значения:'' | ||
* (bool) - false в случае ошибки | * (bool) - false в случае ошибки | ||
Строка 111: | Строка 123: | ||
** age - текущий период - объект с полями id, name, begindate, eduweeks | ** age - текущий период - объект с полями id, name, begindate, eduweeks | ||
** agenums - количество семестров в программе | ** agenums - количество семестров в программе | ||
+ | * (bool) - false в случае возникновения ошибки | ||
+ | |||
+ | |||
+ | ===='''get_learningplan_pitems($type, $typeid)'''==== | ||
+ | |||
+ | Получить объект, содержащий в себе начальную конфигурацию учебного плана: добавление всех обязательных дисциплин в соответствии с указанными семестрами | ||
+ | |||
+ | ''Аргументы:'' | ||
+ | * $type(string) - тип индивидуального учебного плана (ИП), может быть 'programmsbc' или 'agroup' | ||
+ | * $typeid(int) - id записи в таблице [[Разработка:storages/programmsbcs|programmsbcs]] или [[Разработка:storages/agroups|agroups]] | ||
+ | ''Возвращаемые значения:'' | ||
+ | * (object) - возвращаемый объект с полями | ||
+ | ** planning(array) - дисциплины, предусмотренные программной на эту параллель, которые возможно запланировать | ||
+ | ** planned(array) - запланированные дисциплины | ||
+ | ** learned(array) - изученные дисциплины | ||
+ | ** all(array) - все дисциплины, предусмотренные программой для этой параллели (включая уже запланированные и изученные, исключая дисциплины из нулевой параллели) | ||
* (bool) - false в случае возникновения ошибки | * (bool) - false в случае возникновения ошибки | ||
Строка 126: | Строка 154: | ||
* (array) - массив записей из базы. | * (array) - массив записей из базы. | ||
* (bool) - false, в случае ошибки. | * (bool) - false, в случае ошибки. | ||
+ | |||
+ | |||
+ | ===='''get_pitem_grade($type, $typeid, $pitemid)'''==== | ||
+ | |||
+ | Получить оценку дисциплины учебного плана по подписке | ||
+ | |||
+ | ''Аргументы:'' | ||
+ | * $type(string) - тип индивидуального учебного плана (ИП), может быть 'programmsbc' или 'agroup' | ||
+ | * $typeid(int) - id записи в таблице [[Разработка:storages/programmsbcs|programmsbcs]] или [[Разработка:storages/agroups|agroups]] | ||
+ | * $pitemid(int) - id записи в таблице [[Разработка:storages/programmitems|programmitems]] | ||
+ | ''Возвращаемые значения:'' | ||
+ | * (bool) - false в случае ошибки | ||
+ | * (null) - оценки не получено | ||
+ | * (int) - оценка | ||
+ | * (string) - оценка. | ||
+ | |||
+ | |||
+ | ====''' get_pitem_status($type, $typeid, $pitemid)'''==== | ||
+ | |||
+ | Получить статус дисциплины учебного плана (запланирована, в программе, изучена) | ||
+ | |||
+ | ''Аргументы:'' | ||
+ | * $type(string) - тип индивидуального учебного плана (ИП), может быть 'programmsbc' или 'agroup' | ||
+ | * $typeid(int) - id записи в таблице [[Разработка:storages/programmsbcs|programmsbcs]] или [[Разработка:storages/agroups|agroups]] | ||
+ | * $pitemid(int) - id записи в таблице [[Разработка:storages/programmitems|programmitems]] | ||
+ | ''Возвращаемые значения:'' | ||
+ | * (bool) - false в случае ошибки | ||
+ | * (string) - одно из трёх возможных значений: 'planned', 'programm', 'learned'. | ||
+ | |||
+ | |||
+ | ===='''get_planned_pitems($type, $typeid, $agenum = false)'''==== | ||
+ | |||
+ | Получить запланированные для указанной параллели дисцплины ($agenum = 0 - академическая разница) | ||
+ | |||
+ | ''Аргументы:'' | ||
+ | * $type(string) - тип индивидуального учебного плана (ИП), может быть 'programmsbc' или 'agroup' | ||
+ | * $typeid(int) - id записи в таблице [[Разработка:storages/programmsbcs|programmsbcs]] или [[Разработка:storages/agroups|agroups]] | ||
+ | * $agenum(int) - номер семестра (параллели), если false - все семестры | ||
+ | ''Возвращаемые значения:'' | ||
+ | * (bool) - false в случае ошибки | ||
+ | * (array) - запланированные дисциплины. | ||
+ | |||
+ | |||
+ | ===='''get_planning_pitems($type, $typeid, $agenum)'''==== | ||
+ | |||
+ | Получить дисциплины, предусмотренные программной на эту параллель, которые возможно запланировать | ||
+ | |||
+ | ''Аргументы:'' | ||
+ | * $type(string) - тип индивидуального учебного плана (ИП), может быть 'programmsbc' или 'agroup' | ||
+ | * $typeid(int) - id записи в таблице [[Разработка:storages/programmsbcs|programmsbcs]] или [[Разработка:storages/agroups|agroups]] | ||
+ | * $agenum(int) - номер семестра (параллели), если false - все семестры | ||
+ | ''Возвращаемые значения:'' | ||
+ | * (bool) - false в случае ошибки | ||
+ | * (array) - планируемые дисциплины (которые можно добавить в план). | ||
+ | |||
+ | |||
+ | ===='''get_programmid_type_typeid($type, $typeid)'''==== | ||
+ | |||
+ | Получить номер программы по типу и номеру индивидуального плана | ||
+ | |||
+ | ''Аргументы:'' | ||
+ | * $type(string) - тип индивидуального учебного плана (ИП), может быть 'programmsbc' или 'agroup' | ||
+ | * $typeid(int) - id записи в таблице [[Разработка:storages/programmsbcs|programmsbcs]] или [[Разработка:storages/agroups|agroups]] | ||
+ | ''Возвращаемые значения:'' | ||
+ | * (bool) - false в случае ошибки | ||
+ | * (int) - номер программы. | ||
+ | |||
+ | |||
+ | ===='''get_reoffset_pitems($type, $typeid, $agenum = false, $status = null)'''==== | ||
+ | |||
+ | Получить список всех перезачтённых дисциплин учебного плана или только для указанной параллели | ||
+ | |||
+ | ''Аргументы:'' | ||
+ | * $type(string) - тип индивидуального учебного плана (ИП), может быть 'programmsbc' или 'agroup' | ||
+ | * $typeid(int) - id записи в таблице [[Разработка:storages/programmsbcs|programmsbcs]] или [[Разработка:storages/agroups|agroups]] | ||
+ | * $agenum(int) - номер семестра (параллели), если false - все семестры | ||
+ | * $status(string|array) - статус дисциплин, можно передать строку (в этом случае условие меняется на отрицательное: status != $status) массив или false для всех | ||
+ | ''Возвращаемые значения:'' | ||
+ | * (bool) - false в случае ошибки | ||
+ | * (array) - перезачтённые дисциплины. | ||
Версия 15:37, 16 июля 2014
Плагин | |
Название | learningplan |
Тип | storages |
Содержание
- 1 Таблица в базе данных
- 2 Дополнительные методы:
- 2.1 add_to_planned($type, $typeid, $agenum, $pitemid)
- 2.2 remove_from_planned($type, $typeid, $pitemid)
- 2.3 change_planned_agenum($type, $typeid, $agenum, $pitemid)
- 2.4 create_learningplan($type, $typeid)
- 2.5 get_all_pitems($type, $typeid, $agenum = false, $status = null)
- 2.6 get_current_agenum_type_typeid($type, $typeid)
- 2.7 get_learned_pitems($type, $typeid, $agenum = false, $status = null)
- 2.8 get_learningplan_info($type, $typeid)
- 2.9 get_learningplan_pitems($type, $typeid)
- 2.10 get_listing($limitfrom, $limitnum, $conds=null, $countonly=false)
- 2.11 get_pitem_grade($type, $typeid, $pitemid)
- 2.12 get_pitem_status($type, $typeid, $pitemid)
- 2.13 get_planned_pitems($type, $typeid, $agenum = false)
- 2.14 get_planning_pitems($type, $typeid, $agenum)
- 2.15 get_programmid_type_typeid($type, $typeid)
- 2.16 get_reoffset_pitems($type, $typeid, $agenum = false, $status = null)
- 2.17 get_select_listing($inputconds)
Таблица в базе данных
learningplan - запланированные на будущие периоды дисциплины.
Подробный формат полей в таблице:
- type - тип объекта, на которого запланирована дисциплина (programmsbc, agroup).
- programmsbcid - id слушателя из таблицы programmsbcs , type=programmsbc или NULL
- agroupid - id группы из таблицы agroups , если type=agroup или NULL
- agenum - номер параллели, для которой задан план. Если слушатель обязан пройти дисциплину в любой период обучения 0. Уточнение: ageid мы не планируем, так как он пока не известен.
- programmitemid - id запланированной дисциплины из таблицы programmitems (дисциплина должна относится к той программе, на которую подписан слушатель или группа и быть активной на момент перевода в соответствующую параллель, чтобы произошла подписка).
Дополнительные методы:
add_to_planned($type, $typeid, $agenum, $pitemid)
Добавить к учебному плану запланированную дисциплину $pitemid для параллели $agenum
Аргументы:
- $type(string) - тип индивидуального учебного плана (ИП), может быть 'programmsbc' или 'agroup'
- $typeid(int) - id записи в таблице programmsbcs или agroups
- $agenum(int) - номер семестра (параллели), если false - все семестры
- $pitemid(int) - id записи в таблице programmitems
Возвращаемые значения:
- (bool) - результат операции (false - ошибка, true - запись уже существует)
- (int) - id добавленной записи
remove_from_planned($type, $typeid, $pitemid)
Убрать из учебного плана запланированную дисциплину
Аргументы:
- $type(string) - тип индивидуального учебного плана (ИП), может быть 'programmsbc' или 'agroup'
- $typeid(int) - id записи в таблице programmsbcs или agroups
- $pitemid(int) - id записи в таблице programmitems
Возвращаемые значения:
- (bool) - результат операции (false - ошибка, true - запись удалена)
change_planned_agenum($type, $typeid, $agenum, $pitemid)
Изменить в учебном плане запланированной дисциплине $pitemid параллель на $agenum
Аргументы:
- $type(string) - тип индивидуального учебного плана (ИП), может быть 'programmsbc' или 'agroup'
- $typeid(int) - id записи в таблице programmsbcs или agroups
- $agenum(int) - номер семестра (параллели), если false - все семестры
- $pitemid(int) - id записи в таблице programmitems
Возвращаемые значения:
- (bool) - результат операции
create_learningplan($type, $typeid)
Создать начальную конфигурацию учебного плана: добавление всех обязательных дисциплин в соответствии с указанными семестрами.
Аргументы:
- $type(string) - тип индивидуального учебного плана (ИП), может быть 'programmsbc' или 'agroup'
- $typeid(int) - id записи в таблице programmsbcs или agroups
Возвращаемые значения:
- (bool) - результат операции
get_all_pitems($type, $typeid, $agenum = false, $status = null)
Получить все дисциплины программы, кроме запланированных в виде академической разницы (agenum=0), для всех параллелей, или только указанной
Аргументы:
- $type(string) - тип индивидуального учебного плана (ИП), может быть 'programmsbc' или 'agroup'
- $typeid(int) - id записи в таблице programmsbcs или agroups
- $agenum(int) - номер семестра (параллели), если false - все семестры
- $status(string|array) - статус дисциплин, можно передать строку (в этом случае условие меняется на отрицательное: status != $status) массив или false для всех
Возвращаемые значения:
- (bool) - false в случае ошибки
- (array) - дисциплины программы, исключая запланированные
get_current_agenum_type_typeid($type, $typeid)
Получить номер текущего семестра по типу и номеру индивидуального плана
Аргументы:
- $type(string) - тип индивидуального учебного плана (ИП), может быть 'programmsbc' или 'agroup'
- $typeid(int) - id записи в таблице programmsbcs или agroups
Возвращаемые значения:
- (bool) - false в случае ошибки
- (int) - номер текущего семестра.
get_learned_pitems($type, $typeid, $agenum = false, $status = null)
Получить список изученных, активных и перезачтённых дисциплин учебного плана для указанной параллели (или для всех)
Аргументы:
- $type(string) - тип индивидуального учебного плана (ИП), может быть 'programmsbc' или 'agroup'
- $typeid(int) - id записи в таблице programmsbcs или agroups
- $agenum(int) - номер семестра (параллели), если false - все семестры
- $status(string|array) - статус дисциплин, можно передать строку (в этом случае условие меняется на отрицательное: status != $status) массив или false для всех
Возвращаемые значения:
- (bool) - false в случае ошибки
- (array) - изученные, активные и перезачтённые дисциплины.
get_learningplan_info($type, $typeid)
Получить информацию об учебном плане: тип, код, имя, программа, текущий семестр, период, количество семестров.
Аргументы:
- $type(string) - тип индивидуального учебного плана (ИП), может быть 'programmsbc' или 'agroup'
- $typeid(int) - id записи в таблице programmsbcs или agroups
Возвращаемые значения:
- (object) - возвращаемый объект с полями
- type - тип учебного плана ('programmsbc' или 'agroup')
- typeid - id записи в таблице programmsbcs или agroups
- code - код объекта
- name - имя объекта (содержит либо имя группы, либо полное имя персоны с номером договора)
- programm - учебная программа, на которую планируются дисциплины - объект с полями id, code, name
- agenum - текущий семестр
- age - текущий период - объект с полями id, name, begindate, eduweeks
- agenums - количество семестров в программе
- (bool) - false в случае возникновения ошибки
get_learningplan_pitems($type, $typeid)
Получить объект, содержащий в себе начальную конфигурацию учебного плана: добавление всех обязательных дисциплин в соответствии с указанными семестрами
Аргументы:
- $type(string) - тип индивидуального учебного плана (ИП), может быть 'programmsbc' или 'agroup'
- $typeid(int) - id записи в таблице programmsbcs или agroups
Возвращаемые значения:
- (object) - возвращаемый объект с полями
- planning(array) - дисциплины, предусмотренные программной на эту параллель, которые возможно запланировать
- planned(array) - запланированные дисциплины
- learned(array) - изученные дисциплины
- all(array) - все дисциплины, предусмотренные программой для этой параллели (включая уже запланированные и изученные, исключая дисциплины из нулевой параллели)
- (bool) - false в случае возникновения ошибки
get_listing($limitfrom, $limitnum, $conds=null, $countonly=false)
Возвращает список запланированных дисциплин по заданным критериям.
Аргументы:
- $limitfrom(int) - начиная с какой записи просматривается фрагмент списка записей.
- $limitnum(int) - сколько записей нужно извлечь из базы.
- $conds(object) - объект со списком свойств, по которым будет происходить поиск, по умолчанию - нет(null),
- $countonly(object) - вернуть список записей по указанным условиям или только их количество, по умолчанию - список(false),
Возвращаемые значения:
- (array) - массив записей из базы.
- (bool) - false, в случае ошибки.
get_pitem_grade($type, $typeid, $pitemid)
Получить оценку дисциплины учебного плана по подписке
Аргументы:
- $type(string) - тип индивидуального учебного плана (ИП), может быть 'programmsbc' или 'agroup'
- $typeid(int) - id записи в таблице programmsbcs или agroups
- $pitemid(int) - id записи в таблице programmitems
Возвращаемые значения:
- (bool) - false в случае ошибки
- (null) - оценки не получено
- (int) - оценка
- (string) - оценка.
get_pitem_status($type, $typeid, $pitemid)
Получить статус дисциплины учебного плана (запланирована, в программе, изучена)
Аргументы:
- $type(string) - тип индивидуального учебного плана (ИП), может быть 'programmsbc' или 'agroup'
- $typeid(int) - id записи в таблице programmsbcs или agroups
- $pitemid(int) - id записи в таблице programmitems
Возвращаемые значения:
- (bool) - false в случае ошибки
- (string) - одно из трёх возможных значений: 'planned', 'programm', 'learned'.
get_planned_pitems($type, $typeid, $agenum = false)
Получить запланированные для указанной параллели дисцплины ($agenum = 0 - академическая разница)
Аргументы:
- $type(string) - тип индивидуального учебного плана (ИП), может быть 'programmsbc' или 'agroup'
- $typeid(int) - id записи в таблице programmsbcs или agroups
- $agenum(int) - номер семестра (параллели), если false - все семестры
Возвращаемые значения:
- (bool) - false в случае ошибки
- (array) - запланированные дисциплины.
get_planning_pitems($type, $typeid, $agenum)
Получить дисциплины, предусмотренные программной на эту параллель, которые возможно запланировать
Аргументы:
- $type(string) - тип индивидуального учебного плана (ИП), может быть 'programmsbc' или 'agroup'
- $typeid(int) - id записи в таблице programmsbcs или agroups
- $agenum(int) - номер семестра (параллели), если false - все семестры
Возвращаемые значения:
- (bool) - false в случае ошибки
- (array) - планируемые дисциплины (которые можно добавить в план).
get_programmid_type_typeid($type, $typeid)
Получить номер программы по типу и номеру индивидуального плана
Аргументы:
- $type(string) - тип индивидуального учебного плана (ИП), может быть 'programmsbc' или 'agroup'
- $typeid(int) - id записи в таблице programmsbcs или agroups
Возвращаемые значения:
- (bool) - false в случае ошибки
- (int) - номер программы.
get_reoffset_pitems($type, $typeid, $agenum = false, $status = null)
Получить список всех перезачтённых дисциплин учебного плана или только для указанной параллели
Аргументы:
- $type(string) - тип индивидуального учебного плана (ИП), может быть 'programmsbc' или 'agroup'
- $typeid(int) - id записи в таблице programmsbcs или agroups
- $agenum(int) - номер семестра (параллели), если false - все семестры
- $status(string|array) - статус дисциплин, можно передать строку (в этом случае условие меняется на отрицательное: status != $status) массив или false для всех
Возвращаемые значения:
- (bool) - false в случае ошибки
- (array) - перезачтённые дисциплины.
get_select_listing($inputconds)
Возвращает фрагмент sql-запроса после слова WHERE.
Аргументы:
- $inputconds(object) - список полей с условиями запроса в формате "поле_БД->значение".
Возвращаемые значения:
- (string).