我想将 SMS 文本消息插入 Drupal。
SMS 网关配置为将接收到的消息转发到我们服务器上的 PHP 脚本,此时它只是将消息和电话号码插入数据库。
例如消息转发到http://www.example.com/smsupdate.php?phone=123445&text=message_content
我将如何将这些数据导入 Drupal?
我想将 SMS 文本消息插入 Drupal。
SMS 网关配置为将接收到的消息转发到我们服务器上的 PHP 脚本,此时它只是将消息和电话号码插入数据库。
例如消息转发到http://www.example.com/smsupdate.php?phone=123445&text=message_content
我将如何将这些数据导入 Drupal?
在 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 架构的人在您的网站上创建节点。您可能需要保护对脚本的访问。一个安全的解决方案可能是使用服务模块从您的 SMS 网关创建节点。
取决于你想如何在 Drupal 中使用它。最简单的方法是编写一个模块来定义一个块(或者它可能只是一个带有 PHP 输入过滤器的块,您可以在其中粘贴块的代码),您可以在其中从数据库中读取消息并显示它们。
您能否安排一个连接到存储 SMS 消息的数据库的 cron 作业,将其拉出,并利用 node_save() 来保存数据?