Реализация callback функции в плагине
Здравствуйте.
Возникла необходимость для плагина написать функцию, которая будет выступать callback-функцией для некоторого стороннего сервиса.
Сервис вызывает данную функцию при определенных условиях и передает ей некоторые параметры. Собственно даже в голову не приходит как это реализовать.
5 ответов
И соответственно, у плагина должен быть объявлена поддержка фронтенда (frontend => true), и реализован контроллер для фронтенда.
(образец - плагин яндексмаркета - контроллер скачивания файла яндексом)
Теперь следующий вопрос:
Сторонний сервис все параметры передает в виде json-закодированного POST запроса.
Как мне получить этот запрос и обработать?
Сделал контроллер:
class shopMoyaposylkaPluginFrontendGetParameterController extends waJsonController
{
public function execute()
{
$body = waRequest::isXMLHttpRequest();
$mail_message = new waMailMessage('Test', $body);
$mail_message->setFrom('admin@muskul.ru', 'Test');
$mail_message->setTo(array('inohacker@yandex.ru' => 'Dimka'));
$mail_message->send();
}
}
Запросы приходят, скрипт отрабатывает, а вот письма приходят пустые =(
Да и не очень понятно как распарсить полученный json запрос.
class shopMoyaposylkaPluginFrontendGetParameterController extends waJsonController
{
public function execute()
{
if(waRequest::isXMLHttpRequest()){
$body = 'Yes';
} else{
$body = 'No';
}
$mail_message = new waMailMessage('Test', $body);
$mail_message->setFrom('admin@muskul.ru', 'Test');
$mail_message->setTo(array('inohacker@yandex.ru' => 'Dimka'));
$mail_message->send();
}
}
В письме приходит No. Ничего не понимаю ...
X-Requested-With: XMLHttpRequest
Фигня какая-то
Как я понимаю waRequest::global не поддерживается?
Может есть еще какие-то пути обработать такой запрос?