filemaker_plus_php

Использование php для создания ссылок быстрого перехода в базе FileMaker

Прислал Андрей Волков

PHP можно не любить, но без него уже никуда. Это целый мир. Пример из практики:

Когда в 12 серии была добавлена обработка протокола FMP, разработчики получили возможность полностью интегрировать HTML в файлмейкер. Web-viewer стал по-настоящему интерактивным: появилась возможность запустить файлмейкер скрипт с заданными параметрами. Web-браузер научился интерпретировать запрос вида

fmp://192.168.10.0/Clients.fmp12?script=ListClients&param=TopClients&$NumberToList=10

Равным образом стало возможно с помощью команд Open URL, Insert From URL открывать любой файл и даже запускать из него сценарий; ранее для этого требовалось, чтобы ссылка на файл была прописана в таблице External Datasources.

Это новое свойство удобно использовать в переписке и нотификациях. Например, при направлении пользователю почтового уведомления о том, что для него создана новая задача, можно вложить в это уведомление ссылку на задачу.

Например, fmp://192.168.10.0/Clients.fmp12?script=OpenTask&param=2B73EBCD-A72E-F84F-9309-083EB46775BB

Скопировав эту строку и открыв ее как ссылку в окне браузера, пользователь получит возможность сразу перейти к задаче. Удобно. А вот в самом почтовом сообщении ссылка не является кликабельной: в отличие от браузера, почтовый клиент не распознает протокол fmp, для него строка вида fmp://… гиперссылкой не является.
Снова на помощь приходит PHP.

В папке для php проектов на сервере размещаем файл opentask.php следующего содержания:

<?php 
header( 'Location: fmp://192.168.10.0/Clients?script=OpenTask&param=' . $_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&param=38820675-F55C-3649-AB28-4418F0DB0AE3

на более «безопасную»:

http://hostipaddress/fmi-test/clients/openrequest.php?id=38820675-F55C-3649-AB28-4418F0DB0AE3

 

Leave a Reply

Ваш e-mail не будет опубликован. Обязательные поля помечены *

+ 18 = 25