Это старая версия документа.


Info

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

На данный момент поддерживается возможность ведения текстовых коментариев.
В дальнейшем планируются ведение координат и фотографий объекта.

Установка

Создать таблицы в базе.

# mysql -D abills < db/Info.sql

Подключение модуля. abills/libexec/config.pl

@MODULES = (
             'Info'
            );

Использование

Для отображения блока комментариев используется функция show_comments($object_type, $object_id).
Аргументы функции:

  • $object_type - тип объекта (Название таблицы). Служит для создания уникального ключа идентификации комментариев.
  • $object_id - id объекта

Результатом выполнения функции будет вывод HTML-кода с блоком комментариев, в котором присутствуют кнопки для добавления и удаления комментариев.

Каждому добавленному комментарию присваивается текущее время и id администратора, который добавил комментарий.

Пример:

  load_module('Info', $html);
  info_show_comments('admins', 25); # Show comments for 'admins' table object with id 25

Внешний API модуля

Для получения списка комментариев используется функция $Info→get_comments ($type, $id, $attr)
Аргументы те же, что и для show_comments();

Возвращает массив комментариев для объекта.
Пример:

my $comments = $Info->get_comments('admins', 2, { COLS_NAME => 1 });


В переменной $comments получим указатель на массив со структурой:

 
    [
      {
        'id'         => 2,                        # Id of comment in `comments` table
        'text'       => 'This guy is awesome',    # Text of comment
        'date'       => '01.01.2016 01:02:59',    # DateTime when comment was leaved
        'name'       => 'John'                    # Name of administrator who leaved comment
      }
    ]