2017-08-29 86 views
0

我是Whmcs的新人。 正如我所知,當一個Hook調用時,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 $ trace不會返回有關hooks.any的任何信息? –

+0

歡迎。我測試了這個代碼,它正在工作。您需要訪問客戶端配置文件頁面(以客戶端身份登錄,然後訪問詳細信息)或從管理員端編輯客戶端以獲得結果。 – wesamly

+0

,我會再次測試它asap.thankyou。 –