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

Материал из DOF
Перейти к: навигация, поиск
(Дополнительные методы:)
(Дополнительные методы:)
Строка 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


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

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).