2017-08-29 14 views
0

私はWhmcsで新しいです。 私が知っているように、1つのフックが呼び出されたとき、whmcsはこのフックのモジュール内のadd_callを探します。 当時どのフックが呼び出されたかを知りたい。 フックのファイルを編集することなく、どのフックがプロセスで呼び出されたのか知りたいです。 例:お客様が資金のフックを追加すると、xが呼び出され、システムがadd_callを検索します。しかし、モジュールが発生するフックを取得したい(イベントリスナーのように)Whmcsで呼び出されるフックの名前を取得する方法は?

+0

をSOへようこそ。私たちにいくつかの努力と具体的な質問を示してください - コミュニティがあなたに完全な解決策を与えるとは思わないでください。 –

答えて

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... 
+0

あなたの注目をいただきありがとうございます。私は関数のway.but $トレースはhooks.anyのアイデアに関する情報を返しませんが必要ですか? –

+0

ようこそ。私はこのコードをテストしています。この例では、クライアントプロファイルページ(クライアントとしてログインして詳細を参照)にアクセスするか、管理者側からクライアントを編集して結果を得る必要があります。 – wesamly

+0

、私はそれをもう一度やってみよう。 –

関連する問題