Разработка:storages/pridepends

Материал из DOF

Перейти к: навигация, поиск
Плагин
Название 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 )

Метод возвращает список невыполненных предусловий, которые должны быть выполнены для записи на переданную параметром дисциплину.

Аргументы:

Возвращаемые значения:

  • Массив объектов с полями:
    • тип зависимости
    • текст ошибки
    • параметр невыполненного предусловия.

Структура работы

  • взять список по $targetpritemid
  • для каждой записи вызвать метод, код которого указан в поле type в таблице зависимостей
  • этот метод смотрит пройдена ли дисц, если да, то вернет true, иначе false

get_list_by_id( $id )

Метод возвращает массив зависимостей для дисциплины (массив из id дисциплин)

Аргументы:

Возвращаемые значения:

  • Массив объектов с полями:
    • тип зависимости
    • текст ошибки
    • параметр предусловия.


requirepritem( $targetpritid, $psbcid, $dependpritid )

Функция предусловия. Базовая. Проверяет, получен ли студентом зачет по данной дисциплине

Аргументы:

Возвращаемые значения:

  • Массив объектов с полями:
    • тип зависимости
    • текст ошибки
    • параметр предусловия.
Личные инструменты