Skip to end of metadata
Go to start of metadata

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

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

Установка

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

mysql --default-character-set=utf8 -D abills < db/Info.sql

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

@MODULES = (
             'Info'
            );

Создайте папки для хранения документов и картинок:

mkdir -p /usr/abills/Abills/templates/Info/docs/
сhown -R apache /usr/abills/Abills/templates/Info/docs/
mkdir -p /usr/abills/Abills/templates/Info/images/
chown -R apache /usr/abills/Abills/templates/Info/images/

Структура

Модуль состоит из файлов:

  • Abills\mysql\Info.pm

  • Abills\modules\Info\webinterface

  • cgi-bin\styles\default\js\info.js

  • cgi-bin\styles\default\css\info.css

В файле cgi-bin\styles\default\js\info.js содержатся JavaScript функции для реализации AJAX технологии. Это позволяет удалять, добавлять и обновлять блок комментариев без перезагрузки страницы.

В файле cgi-bin\styles\default\js\info.css стили для шаблонов.

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

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

Аргументы функции: 

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

  • $object_id - id объекта

  • $attr - дополнительные атрибуты для tpl_show();

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

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

Пример:

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

Для отображения блока комментариев в боксе нужно использовать следующий пример:

load_module('Info', $html);
info_comments_show('admins', 25, { WITH_BOX => 1 }); # Show comments for 'admins' table object with id 25

Чтобы в данный блок записывался комментарий, которые администратор вносит/изменяет в блоке пользователя "Информация", нужно добавить параметр в config.pl

config.pl
$conf{INFO_ADD_COMMENT_TO_STORY} = 1;


Разрешить/Запретить удаление комментария администратору можно в меню
Настройка>Администраторы>Права.

31Удалить КомментарииУдаление комментариев в кабинете абонента

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

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

Аргументы функции: 

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

  • $object_id - id объекта

  • $attr - дополнительные атрибуты для SQL-запроса (SORT, PAGE_ROWS , DESC, PG);

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

Пример:

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
      }
    ]

Подключено

Страницы на которых реализовано использование модуля:

  • Клиенты>Логины>Информация - кабинет пользователя

Поиск по комментариям 

Система позволяет сделать поиск по комментариям с помощью глобального поиска:

Если комментарий существует, он будет успешно найден. Следующее, что вы увидите после успешного поиска - название модуля и количество найденных совпадений:


Чтобы посмотреть подробную информацию о комментариях, нажмите на циферку, которая обозначает количество найденных совпадений. Вы увидите список найденных комментариев:

В данной таблице есть возможность редактировать комментарии, для этого нажмите на карандаш напротив комментария, вам откроется страница где будет указан старый комментарий, а также поле для ввода нового


Лог комментариев 

Чтобы посмотреть лог изменений в комментария зайдите в Отчет>Комментарии 

или в Настройка>Администраторы>История


  • No labels