Публикация в Drupal через PHP - PullRequest
1 голос
/ 29 июня 2010

Я хочу вставить текстовые сообщения SMS в Drupal.

Шлюз SMS настроен для пересылки полученного сообщения в скрипт PHP на нашем сервере, и в данный момент он просто вставляет сообщение и номер телефона в базу данных.

Например, сообщение пересылается на http://www.example.com/smsupdate.php?phone=123445&text=message_content

Как мне получить эти данные в Drupal?

Ответы [ 3 ]

2 голосов
/ 29 июня 2010

Создание контента программно легко в Drupal, используя node_save().

  $node = new stdClass();
  node_object_prepare($node);
  $node->title = $_GET['title'];
  $node->body = $_GET['text'];
  node_save($node)

Вы можете сохранить этот код в отдельном файле .php, вызвав drupal_bootstrap() перед созданием узла.

  chdir('/path/to/drupal');
  require_once('includes/bootstrap.inc');
  drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);

Другое более чистое решение - поместить все в небольшой пользовательский модуль и использовать hook_menu () , чтобы раскрыть вам код обработки. См. http://drupal.org/node/231276 для получения дополнительной информации о создании модуля.

Но учтите, что это позволяет любому, кто рассчитывает вашу URL-схему, создавать узлы на вашем сайте. Возможно, вам нужно будет защитить доступ к вашему сценарию. Безопасным решением может быть использование модуля Services для создания узла из вашего шлюза SMS.

1 голос
/ 29 июня 2010

Зависит от того, как вы хотите использовать его в Drupal. Самый простой способ - написать модуль, который определяет блок (или это может быть просто блок с фильтром ввода PHP, в который вы вставляете код для блока), где вы читаете сообщения из базы данных и показываете их.

0 голосов
/ 29 июня 2010

Не могли бы вы запланировать задание cron, которое подключается к базе данных, в которой хранится SMS-сообщение, извлекает его и использует node_save () для сохранения данных?

...