Разработка:storages/pridepends
Версия от 13:45, 28 апреля 2011; Jek312 (обсуждение | вклад) (→check_pridepends( $psbcid, $targetpritemid ))
Плагин | |
Название | pridepends |
Тип | storages |
Содержание
Таблица в базе данных
pridepends - содержит записи зависимостей дисциплин друг от друга с указанием характера зависимости (по коду типа зависимости запускается заранее созданный метод)
Подробный формат полей в таблице:
- programmitemid - дисциплина в таблице programmitems . Здесь указывается дисциплина, для которой будет указываться зависимость. Т.е. эта дисциплина будет зависеть от того, что указано в следующих полях.
- type - тип зависимости, строковое поле. По содержащемуся здесь коду при проверке зависимости запускается соответствующий метод
- value - параметр зависимости, строковое поле. В частности поле может содержать id дисциплины, которая будет выступать зависимостью.
Дополнительные методы:
get_cfg($key=null)
Позволяет обращаться к конфигурационному файлу данного плагина.
Аргументы:
- string[optional] $key=null Ключ в массиве, т.е. искомый параметр. Если параметр не передан, то возвращается весь массив.
Возвращаемые значения:
- Параметр или null (если конфигурационный файл не найден или если параметр не найден в файле или если он найден и его значение null, это стоит учитывать)
Структура работы:
- Для работы требуется переменная класса для хранения массива параметров из файла, т.е. обращение в файл производится только при первой попытке.
- Ищет конфигурационный файл (в соответствии с логикой работы dof - $this->dof->plugin_path($this->type(),$this->code(),'/cfg/cfg.php'))
- Возвращает значение по ключу (если ключ не указан, то возвращает весь массив параметров из файла). к примеру return @$mas['a'], т.е. если нет значения, то не генерируется ошибка, а возвращается null.
check_pridepends( $psbcid, $targetpritemid )
Метод возвращает список невыполненных предусловий, которые должны быть выполнены для записи на переданную параметром дисциплину.
Аргументы:
- int $targetpritemid id дисциплины
- int $psbcid id подписки на программу
Возвращаемые значения:
- Массив объектов с полями:
- тип зависимости
- текст ошибки
- параметр невыполненного предусловия.
Структура работы
- взять список по $targetpritemid
- для каждой записи вызвать метод, код которого указан в поле type в таблице зависимостей
- этот метод смотрит пройдена ли дисц, если да, то вернет true, иначе false
get_list_by_id( $id )
Метод возвращает массив зависимостей для дисциплины (массив из id дисциплин)
Аргументы:
- int $targetpritemid id дисциплины
Возвращаемые значения:
- Массив объектов с полями:
- тип зависимости
- текст ошибки
- параметр предусловия.
requirepritem( $targetpritid, $psbcid, $dependpritid )
Функция предусловия. Базовая. Проверяет, получен ли студентом зачет по данной дисциплине
Аргументы:
- int $targetpritid id целевой дисциплины (для универсальности интерфейса)
- int $psbcid id подписки на программу
- int $dependitid id дисциплины , необходимой для подписания на целевую дисциплину
Возвращаемые значения:
- Массив объектов с полями:
- тип зависимости
- текст ошибки
- параметр предусловия.