【发布时间】:2010-06-29 16:37:33
【问题描述】:
我想将 SMS 文本消息插入 Drupal。
SMS 网关配置为将收到的消息转发到我们服务器上的 PHP 脚本,此时它只是将消息和电话号码插入数据库。
比如邮件转发到http://www.example.com/smsupdate.php?phone=123445&text=message_content
如何将这些数据导入 Drupal?
【问题讨论】:
标签: php drupal sms sms-gateway
我想将 SMS 文本消息插入 Drupal。
SMS 网关配置为将收到的消息转发到我们服务器上的 PHP 脚本,此时它只是将消息和电话号码插入数据库。
比如邮件转发到http://www.example.com/smsupdate.php?phone=123445&text=message_content
如何将这些数据导入 Drupal?
【问题讨论】:
标签: php drupal sms sms-gateway
在 Drupal 中使用 node_save() 以编程方式创建内容很容易。
$node = new stdClass();
node_object_prepare($node);
$node->title = $_GET['title'];
$node->body = $_GET['text'];
node_save($node)
您可以通过在创建节点之前调用 drupal_bootstrap() 将此代码保存在单独的 .php 文件中。
chdir('/path/to/drupal');
require_once('includes/bootstrap.inc');
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
另一个更简洁的解决方案是将所有内容放在一个小的自定义模块中,并使用hook_menu() 公开您处理代码。有关模块创建的更多信息,请参阅http://drupal.org/node/231276。
但请注意,这会让任何了解您的 URL 架构的人在您的网站上创建节点。您可能需要保护对脚本的访问。一个安全的解决方案可能是使用Services 模块从您的 SMS 网关创建节点。
【讨论】:
取决于您希望如何在 Drupal 中使用它。最简单的方法是编写一个模块来定义一个块(或者它可能只是一个带有 PHP 输入过滤器的块,您可以在其中粘贴块的代码),您可以在其中从数据库中读取消息并显示它们。
【讨论】:
您能否安排一个连接到存储 SMS 消息的数据库的 cron 作业,将其拉出,然后使用 node_save() 来保存数据?
【讨论】: