Разработка:storages/tags
Плагин | |
Название | 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 тега
Статические методы:
Планы:
События
В этом разделе описан список всех событий, которые генерируются, перехватываются и обрабатываются этим плагином.