В Drupal вы не можете запускать файлы .module непосредственно из Интернета. Каждый модуль должен реализовать hook_menu, и этот крючок создает URL-адреса, которые вы используете. Таким образом, вы дадите Tropo URL-адрес, созданный вашим модулем, а не путь к вашему модулю.
Например, вот hook_menu из примерного модуля для Tropo.
<?php
function demo_menu() {
$items = array();
// Set up a route for the incoming call
$items['demo/answer'] = array(
'page callback' => 'demo_answer',
'access arguments' => array('access content'),
'type' => MENU_NORMAL_ITEM,
);
return $items;
}
function demo_answer() {
module_load_include('php', 'tropo', 'lib/tropo/tropo.class');
$tropo = new Tropo();
$tropo->say('Hello. And Goodbye.');
print $tropo;
}
?>
Функция demo_menu определяет демо/ответ в качестве URL-адреса вашего сайта. Если ваш сайт был в example.com, вы бы указали Tropo на ваш URL как http://example.com/demo/answer. Затем, когда кто-то звонит на ваш номер телефона Tropo, будет выполняться функция demo_answer(), которая говорит «Привет. И до свидания». а затем вешает трубку.
Существует простой демонстрационный модуль, который я использовал в разговоре об использовании Drupal в качестве рамок приложения, которые могут помочь - я очень широко использую Tropo в демонстрации. https://github.com/akalsey/drupal-framework-demo
Модуль опроса телефона также будет хорошим примером. Он использует Tropo для добавления голоса и SMS в встроенный модуль опроса Drupal 6. http://drupal.org/project/phonepoll
Возможно, вы также захотите взглянуть на VoipDrupal. Это позволяет создавать скрипты непосредственно в Drupal, которые взаимодействуют с такими сервисами, как Tropo. http://drupal.org/project/voipdrupal
Спасибо за подробные ответы и образцы кода! Я пробую это сейчас :). – Chiubaka
Единственное, на что я не мог работать, это разрешения. В результате я получал страницу «Отказано в доступе» каждый раз, когда я ввел URL-адрес: /. После некоторых исследований я решил просто вставить строку «обратный вызов доступа» => TRUE – Chiubaka
. Вы не указали, какую версию Drupal вы использовали. Доступ к меню api со временем изменился. Приведенный выше пример должен работать на Drupal 7, но «« обратный вызов доступа »=> ИСТИНА» также будет делать трюк, если вы уверены, что всегда хотите, чтобы все имели доступ к этому URL-адресу. –