Прислал Андрей Волков
PHP можно не любить, но без него уже никуда. Это целый мир. Пример из практики:
Когда в 12 серии была добавлена обработка протокола FMP, разработчики получили возможность полностью интегрировать HTML в файлмейкер. Web-viewer стал по-настоящему интерактивным: появилась возможность запустить файлмейкер скрипт с заданными параметрами. Web-браузер научился интерпретировать запрос вида
fmp://192.168.10.0/Clients.fmp12?script=ListClients¶m=TopClients&$NumberToList=10
Равным образом стало возможно с помощью команд Open URL, Insert From URL открывать любой файл и даже запускать из него сценарий; ранее для этого требовалось, чтобы ссылка на файл была прописана в таблице External Datasources.
Это новое свойство удобно использовать в переписке и нотификациях. Например, при направлении пользователю почтового уведомления о том, что для него создана новая задача, можно вложить в это уведомление ссылку на задачу.
Например, fmp://192.168.10.0/Clients.fmp12?script=OpenTask¶m=2B73EBCD-A72E-F84F-9309-083EB46775BB
Скопировав эту строку и открыв ее как ссылку в окне браузера, пользователь получит возможность сразу перейти к задаче. Удобно. А вот в самом почтовом сообщении ссылка не является кликабельной: в отличие от браузера, почтовый клиент не распознает протокол fmp, для него строка вида fmp://… гиперссылкой не является.
Снова на помощь приходит PHP.
В папке для php проектов на сервере размещаем файл opentask.php следующего содержания:
<?php header( 'Location: fmp://192.168.10.0/Clients?script=OpenTask¶m=' . $_GET['id'] ); ?>
А ссылкe в самом письме заменяем ссылку на следующую:
http://192.168.10.0/fmi-test/clients/opentask.php?id=2B73EBCD-A72E-F84F-9309-083EB46775BB
Протокол http известен любому почтовому клиенту. Строка, содержащая ссылку такого рода, оформляется в приложении как активная гиперссылка. Получив письмо, пользователь может сразу из тела письма запустить сценарий файлмейкера.
Наверное, имеет смысл добавить, что аналогичным образом можно в письме заменить длинную ссылку типа
http://hostipaddress/fmi/webd#Clients?script=Open_request¶m=38820675-F55C-3649-AB28-4418F0DB0AE3
на более «безопасную»:
http://hostipaddress/fmi-test/clients/openrequest.php?id=38820675-F55C-3649-AB28-4418F0DB0AE3