Mac Server - вызов яблочного скрипта / автомата из PHP - PullRequest
0 голосов
/ 05 апреля 2011

У меня есть сервер Mac, который я использую для размещения своего сайта. Я создал веб-страницу с использованием PHP, который в основном используется для создания встреч. Страница позволяет пользователю выбрать дату и время встречи и нажимает кнопку «Отправить», чтобы опубликовать ее на сервере. Я могу получить выбранные значения на стороне сервера.

Теперь я хочу написать скрипт Apple или создать действие automator, которое создаст запись в моем iCal из данных, полученных через страницу PHP.

Как я могу создавать встречи в моем Mac с подробностями, которые я получаю на странице PHP? Думаю ли я правильно, чтобы пользовательский сценарий Apple или Automator добавил назначение в мой список?

Ответы [ 3 ]

2 голосов
/ 05 апреля 2011

Вы можете запускать applecripts с помощью

shellexec("osascript /path/to/script.scpt arguments");

Чем захватить его из возвращаемой переменной.

0 голосов
/ 05 апреля 2011

Еще один способ решения этой проблемы - вместо вызова AppleScript из PHP и попытки программирования вокруг всех крайних случаев, которые могут привести к сбою (пользователь делает что-то еще на сервере, пользователь не вошел в систему, AppleScript тоже принимаетдолго работать и т. д.) будет означать, что сервер просто записывает файл iCal для каждой встречи в определенную директорию.Затем выполните действие iCal / Automator, которое выполняется периодически (например, каждые 5 минут), которое импортирует новый файл iCal встреч из указанного каталога и удаляет его после его импорта в iCal.

Что касается создания файлов iCal изПохоже, PHP существует во многих библиотеках, которые предлагают эту функциональность, включая: Benuu , qCal , iCalcreator , iCal Maker и, вероятно, больше.Любой из них должен позволить вам создать файл .ics или .ical, который совместим с iCal и легко импортируется.Файл iCal, безусловно, более переносим, ​​чем попытка передать различные биты данных, такие как имя, дата и время, местоположение и т. Д., В AppleScript.

И для периодического запуска действия AppleScript / Automator вам необходимоможно использовать отличное приложение Lingon , хотя это App Store только сейчас.Также можно вручную написать файлы launchd .plist (см. man launchd.plist).

0 голосов
/ 05 апреля 2011

Я понятия не имею, как работает applecript, но если вы просто хотите выполнить команду командной строки, вы можете использовать system ()

...