Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
abills:docs:modules:info:ru [2015/12/04 11:34]
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
  
 Подключение модуля. Подключение модуля.
Строка 16: Строка 19:
 </​code>​ </​code>​
  
-Основная и единственная публичная функция ''​show_comments''​.\\+Создайте папки для хранения документов и картинок: 
 +  # 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_type - тип объекта ​азвание таблицы). Служит для создания уникального ключа идентификации комментариев. 
-  * object_id ​  - id объекта+  * $object_id ​  - id объекта 
 +  * $attr        - дополнительные атрибуты для tpl_show();​ 
 + 
 +Результатом выполнения функции будет вывод HTML-кода с блоком комментариев,​ в котором присутствуют кнопки для добавления и удаления комментариев.\\ 
 +\\ 
 +{{:​abills:​docs:​modules:​info:​info_comments.png?​nolink&​800|}} 
 +\\ 
 +Каждому добавленному комментарию присваивается текущее время и id администратора,​ который добавил комментарий.\\ 
 + 
 +Пример:​
 <​code>​ <​code>​
   load_module('​Info',​ $html);   load_module('​Info',​ $html);
-  ​info_show_comments('​admins',​ 25); # Show comments for '​admins'​ table object with id 25+  ​info_comments_show('​admins',​ 25); # Show comments for '​admins'​ table object with id 25
 </​code>​ </​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>​
 +