如何在Whmcs上获取被调用钩子的名称?

时间:2017-08-29 20:50:38

标签: hook invoke whmcs

我是Whmcs的新人。 据我所知,当一个Hook调用时,whmcs会在这个钩子的模块中寻找任何add_call。 我想知道当时哪个钩子被调用。 我想知道在进程中调用哪个钩子,而不编辑任何钩子文件。 例如:当客户添加资金时,将调用hook x并且系统会为其查找任何add_call。但我希望模块获取任何发生的挂钩。(如事件监听器)

1 个答案:

答案 0 :(得分:0)

似乎你需要一个全局钩子,据我所知,它不可用。

如果您正在调试,常规设置:挂钩调试模式中有一个设置,它将列出活动日志中所有已执行的挂钩。

其他选项是添加一个函数,并将所有挂钩重定向到它,例如:

function customCatchAllHooks($vars) {
    $trace = debug_backtrace();
    //Get calling function
    if (isset($trace[1])) {
        $info = $trace[1]['args'];
        $hook = $info[0];
        $params = $info[1];

        error_log(print_r([$hook, $params], true), 3, __DIR__.'/hooks.log');

    }

}

//List of hooks, added just two as an example:
add_hook('ClientAreaPageProfile', 1, 'customCatchAllHooks');
add_hook('ClientEdit', 1, 'customCatchAllHooks');
//and so on...