Функции действий модуля (папка Actions)


НАЧАЛО >> Сервер приложений ИРБИС 64/128 >> Ядро системы >> ObjectModule >> Функции действий модуля (папка Actions)


Функции действий модуля доступны извне с использованием URL вида ?id=WIrbis&action=<ModuleName>/<ActionName>&par1=val1&…

Тем самым для Actions необходимо самостоятельно проверять наличие необходимых прав на запуск действия.

Для создания функции действия необходимо в папке модуля, в подпапке Actions создать файл с именем <ActionName>.inc, внутри которого должен быть определен класс, являющийся наследником от класса _WIA_Action и имеющий имя WIA_<ИмяМодуля>_<ActionName>.

Например:

class WIA_Cabinet_RemoveNamedRequest extends _WIA_Action

Внутри класса должна быть определена функция Exec, которая и вызывается при запросе функции действия. Результат работы функция должна возвращать (а не выводить на экран)

Есть несколько способов вызвать Action.

  1. Вызов через запрос URL вида ?id=WIrbis&action=<ModuleName>/<ActionName>&par1=val1&…
    Перед вызовом функции действия происходит вызов ob_end_clean(). Возвращенный результат выводится в браузер как есть.
  2. Вызов через UseModule('WIrbis')->ActionAPI('<ModuleName>/<ActionName>',array(‘par1’=>’val1’,…));
    В этом случае происходит вызов функции Exec соответствующего Action и возвращается результат исполнения Action.
  3. Вызов, аналогичен по сути п.1, но происходит с использованием очереди сообщений (см. подробнее описание модуля Queue

Более подробное описание Actions см. в описании модуля WIrbis (именно этот модуль и управляет функциями действий модулей)