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

Материал из DOF
Перейти к: навигация, поиск
м (переименовал «Storages/tags» в «Разработка: Storages/tags»)
(нет различий)

Версия 08:55, 17 ноября 2014

Плагин
Название tags
Тип storages


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

tags - теги (выборки объектов по определенным критериям). Каждому тегу формируется выборка объектов из деканата,

Подробный формат полей в таблице:

  • id - идентификатор тега.
  • class - класс тега. Все доступные классы хранятся в папке /classes/. Только латинские символы.
  • parentid - идентификатор родительского тега.
  • options - сериализованный объект с параметрами тега, на основе которых формируется выборка.
  • cron - требуется ли запуск крона по расписанию(-1 - не требуется, 0 - при следующем запуске, timestamp - после указанного времени).
  • crondone - дата выполнения прследнего крона.
  • cronstatus - статус выполнения крона (пусто - не выполнен, ok - успешно, error - неуспешно).
  • cronrepeate - периодичность повторения крона (0 - не повторять, 1 и больше - минимальный интервал в секундах между повторениями).
  • about - описание тега.
  • code - код тега. Уникален в рамках родителя. Только латинские символы.
  • alias - Название тега для отображения.
  • status - Статус тега.

get_list_tags($active = false, $order = 0, $limitfrom = 0, $limitnum = 0)

Метод предназначен для получения массива тегов из БД

Аргументы:

  • $active(bool) - false, если хотим получить все теги и true, если хотим получить только со статусом active
  • $order(int) - сортировка полученного результата по полю code, 0 - прямая, 1 - обратная
  • $from(int) - смещение выборки из БД
  • $limit(int) - число строк, полученных из БД (0 - получить все строки)

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

  • array - массив объектов тегов, хранящихся в БД


add_tag($class, $code, $department, $alias=, $about=, $parentid=0, $cron=-1, $cronrepeate=0, $options=NULL )

Метод для добавления тега в БД. На вход получает все необходимые данные для добавления тега.

Аргументы:

  • @param string $class - класс тега, должен быть описан в папке /classes/#имя класса#/init.php .
  • @param string $code - код тега. Уникален в рамках родителя. Только латинские символы.
  • @param int $department - код подразделения.
  • @param string $alias - алиас тега.
  • @param string $about - описание тега.
  • @param int $parentid - id родителького тега.
  • @param int $cron - требуется ли запуск крона по расписанию(-1 - не требуется, 0 - при следующем запуске, timestamp - после указанного времени).
  • @param int $cronrepeate - периодичность запуска крона. Следующий запуск вычисляется как crondone + cronrepeate.
  • @param object $options - параметры тега, на основе которых формируется выборка

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

  • object - объект , готовый для вставки в БД. Если произошла ошибка - свойство объекта errorstatus становится равным true, а также добавляется свойство errortext, которое хранит в себе текст ошибки


tagclass($class, $tagobject = NULL)

Метод в зависимости от tagid совершает действия:

  • Если tagid = 0 - Проверяем наличие класса.Подключаем файл класса.Возвращаем имя класса для запуска статических методов класса
  • Если tagid > 0 - Проверяем наличие класса.Подключаем файл класса.Поучаем тег из БД и на основе него создаем объект тега

Аргументы:

  • @param string $class - класс тега, должен быть описан в папке /classes/#имя класса#/init.php .
  • @param object $tagobject - объект тега из БД.

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

  • object - объект класса тега.
  • bool - false в случае ошибки.
  • string - либо имя класса для доступа к статическим методам


tag($tagid)

Метод возвращает объект класса тега

Аргументы:

  • @param int $tagid - id тега.

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

  • object - объект класса тега.
  • bool - false в случае ошибки.


Приватные методы:

translit($lang, $string, $small = true, $clear = true)

Транслителировать строку в латиницу

Аргументы:

  • string $lang - двухбуквенный код языка
  • string $string - строка для транслитерации
  • bool $small - true перевод в нижний регистр
  • bool $clear - удаление всего, кроме букв. Формат строки названия класса и кода.

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

  • string - результат транслитерации

Классы:

Классы тегов позволяют разделить все теги по их функциональным возможностям. Все классы наследуются от абстрактного класса tags_tags

Tags_tags:

Свойства:

  • dof - Ссылка на объект $DOF
  • id - id тега

Статические методы:

Планы:

События

В этом разделе описан список всех событий, которые генерируются, перехватываются и обрабатываются этим плагином.

Перехватываемые события

Генерируемые события