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