Разработка:storages/tags
Плагин | |
Название | tags |
Тип | storages |
Содержание
- 1 Таблица в базе данных
- 1.1 Подробный формат полей в таблице:
- 1.2 get_list_tags($active = false, $order = 0, $limitfrom = 0, $limitnum = 0)
- 1.3 add_tag($class, $code, $department, $alias=, $about=, $parentid=0, $cron=-1, $cronrepeate=0, $options=NULL )
- 1.4 tagclass($class, $tagobjectdb = NULL)
- 1.5 tag($tagid)
- 1.6 set_croninfo($tagid)
- 1.7 translit($lang, $string, $small = true, $clear = true)
- 2 Приватные методы:
- 3 Классы:
- 4 Tags_tags:
- 5 Планы:
- 6 События
Таблица в базе данных
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, $tagobjectdb = NULL)
Создание объекта тега на основе класса
В зависимости от $tagobjectdb совершает действия
Если объект тега не передан
- Проверяем наличие класса
- Подключаем файл класса
- Возвращаем имя класса для запуска статических методов класса
Если $tagobjectdb передан
- Проверяем наличие класса
- Подключаем файл класса
- Создаем объект класса тега
Аргументы:
- $class(string) - класс тега
- $tagobjectdb(object) - объект тега из БД
Возвращаемые значения:
- object|bool|string объект класса тега, либо false в случае ошибки, либо имя класса
tag($tagid)
Возвращает объект тега по его ID
Аргументы:
- $tagid(int) - ID тега
Возвращаемые значения:
- object|bool объект класса тега и false в случае ошибки
set_croninfo($tagid)
Метод добавления тегу информации по прошедшей перелинковке
Аргументы:
- $sucсess(bool) - true при успешной пролинковке и false при ошибке
- $tagid(int) - ID тега
- $timestamp(int) - Время начала линковки
Возвращаемые значения:
- 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 тега
Статические методы:
Планы:
События
В этом разделе описан список всех событий, которые генерируются, перехватываются и обрабатываются этим плагином.