在过去的几个小时里,我一直在努力弄清楚如何为WHMCS添加一个钩子。首先,我尝试了PendingOrder钩子,它从未被调用过。然后我尝试了AcceptOrder,它似乎也从未被调用过。最后,我尝试了InvoidPaid钩子,它似乎也不起作用。我做错了什么吗?
我已经启用了我的钩子在AddonModules,但似乎我不能得到任何钩子调用(或我使用错误的)
我想做的只是运行一个PHP脚本,其中包含用户在支付订单时输入的所有自定义字段。
我该怎么做呢?
我的主要模块:<?php
/**
* @package GSProv
* @author -
* @copyright -
* @license None
* @version $Id$
* @link -
*/
if (!defined("WHMCS"))
{
die("Can't access this file directly!");
}
add_hook("InvoicePaid", 1, "gsprov_hook_provision");
add_hook("InvoiceUnpaid", 1, "gsprov_hook_suspend");
function gsprov_hook_provision($params)
{
$time = time();
mysql_connect("localhost", "root", "password");
mysql_select_db("testdb");
mysql_query("INSERT INTO log VALUES ($time, 'Order paid for!'");
}
function gsprov_hook_suspend($params)
{
$time = time();
mysql_connect("localhost", "root", "password");
mysql_select_db("testdb");
mysql_query("INSERT INTO log VALUES ($time, 'Order not paid for :('");
}
?>
你的SQL中有一个错误,你的查询缺少右括号。
mysql_query("INSERT INTO log VALUES ($time, 'Order paid for!'");
应该mysql_query("INSERT INTO log VALUES ($time, 'Order paid for!')");