【问题标题】:Posting to Drupal via PHP通过 PHP 发布到 Drupal
【发布时间】: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


    【解决方案1】:

    在 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 网关创建节点。

    【讨论】:

      【解决方案2】:

      取决于您希望如何在 Drupal 中使用它。最简单的方法是编写一个模块来定义一个块(或者它可能只是一个带有 PHP 输入过滤器的块,您可以在其中粘贴块的代码),您可以在其中从数据库中读取消息并显示它们。

      【讨论】:

      • 嗯,我只是希望它显示为博客文章,以电话号码作为标题,消息作为实际的博客条目。
      【解决方案3】:

      您能否安排一个连接到存储 SMS 消息的数据库的 cron 作业,将其拉出,然后使用 node_save() 来保存数据?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-11-30
        • 2016-04-11
        • 1970-01-01
        • 1970-01-01
        • 2013-07-21
        • 1970-01-01
        • 2012-07-04
        • 2018-04-02
        相关资源
        最近更新 更多