Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
abills:docs:modules:info:ru [2015/12/04 11:29]
anton
abills:docs:modules:info:ru [2017/10/23 12:09] (текущий)
bohdan [Использование]
Строка 1: Строка 1:
 ===== Info ===== ===== Info =====
  
-Модуль предназначен для введения возможностей универсальных коментариев для любого объекта в системе.+Модуль предназначен для введения возможностей универсальных комментариев для любого объекта в системе.\\ 
 +\\ 
 +На данный момент поддерживается возможность ведения текстовых коментариев.\\ 
 +В дальнейшем планируются ведение координат и фотографий объекта.\\
  
 ====Установка==== ====Установка====
  
 Создать таблицы в базе. ​ Создать таблицы в базе. ​
-  # mysql -D abills < db/Info.sql+  # mysql --default-character-set=utf8 ​-D abills < db/Info.sql
  
 Подключение модуля. Подключение модуля.
Строка 15: Строка 18:
             );             );
 </​code>​ </​code>​
 +
 +Создайте папки для хранения документов и картинок:​
 +  # 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 администратора,​ который добавил комментарий.\\
 +
 +Пример:​
 +<​code>​
 +  load_module('​Info',​ $html);
 +  info_comments_show('​admins',​ 25); # Show comments for '​admins'​ table object with id 25
 +</​code>​
 +==== Внешний API модуля ====
 +Для получения списка комментариев используется функция $Info->​get_comments ($type, $id, $attr) \\
 +Аргументы функции:​ \\
 +  * $object_type - тип объекта (Название таблицы). Служит для создания уникального ключа идентификации комментария.
 +  * $object_id ​  - id объекта
 +  * $attr        - дополнительные атрибуты для SQL-запроса (''​SORT'',​ ''​PAGE_ROWS''​ , ''​DESC'',​ ''​PG''​);​
 +\\
 +Возвращает массив комментариев для объекта.\\
 +Пример:​
 +<​code>​
 +my $comments = $Info->​get_comments('​admins',​ 2, { COLS_NAME => 1 });
 +</​code>​
 +\\
 +В переменной ''​$comments''​ получим указатель на массив со структурой:​
 +<​code> ​
 +    [
 +      {
 +        '​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
 +      }
 +    ]
 +</​code>​
 +