===== Info =====
Модуль предназначен для введения возможностей универсальных комментариев для любого объекта в системе.\\
\\
На данный момент поддерживается возможность ведения текстовых коментариев.\\
В дальнейшем планируются ведение координат и фотографий объекта.\\
====Установка====
Создать таблицы в базе.
# mysql --default-character-set=utf8 -D abills < db/Info.sql
Подключение модуля.
**abills/libexec/config.pl**
@MODULES = (
'Info'
);
Создайте папки для хранения документов и картинок:
# mkdir -p /usr/abills/Abills/templates/Info/docs/
# chown -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_adm\js\info.js
* cgi-bin\styles\default_adm\css\info.css
В файле ''cgi-bin\styles\default_adm\js\info.js'' содержатся JavaScript функции для реализации AJAX технологии.\\
Это позволяет удалять, добавлять и обновлять блок комментариев без перезагрузки страницы.
В файле ''cgi-bin\styles\default_adm\js\info.css'' стили для шаблонов.
==== Использование ====
Для отображения блока комментариев используется функция ''show_comments($object_type, $object_id, $attr)''.\\
Аргументы функции: \\
* $object_type - тип объекта (Название таблицы). Служит для создания уникального ключа идентификации комментариев.
* $object_id - id объекта
* $attr - дополнительные атрибуты для tpl_show();
Результатом выполнения функции будет вывод HTML-кода с блоком комментариев, в котором присутствуют кнопки для добавления и удаления комментариев.\\
\\
{{:abills:docs:modules:info:info_comments.png?nolink&800|}}
\\
Каждому добавленному комментарию присваивается текущее время и id администратора, который добавил комментарий.\\
Пример:
load_module('Info', $html);
info_comments_show('admins', 25); # Show comments for 'admins' table object with id 25
==== Внешний 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
}
]