假設我們有上引線的保存之前的邏輯鉤,現在我們如何可以檢測這個被稱爲邏輯鉤是:
SugarCRM的:如何找到一個邏輯掛鉤的調用者
- 一個CRM用戶是誰節約鉛形式
- 是從入口點拍攝到的鉛
- 是節省SOAP調用
- 引發的是正在修改鉛場
工作流程- 被稱爲是因爲CSV導入
- 的...
我也查了一些行爲,似乎邏輯掛鉤不要求工作流(至少在我的測試)
我也希望能夠在全局變量中找出這個問題,但是有很多全局變量。
那麼我如何檢測邏輯掛接的調用者?
假設我們有上引線的保存之前的邏輯鉤,現在我們如何可以檢測這個被稱爲邏輯鉤是:
SugarCRM的:如何找到一個邏輯掛鉤的調用者
- 一個CRM用戶是誰節約鉛形式
- 是從入口點拍攝到的鉛
- 是節省SOAP調用
- 引發的是正在修改鉛場
工作流程- 被稱爲是因爲CSV導入
- 的...
我也查了一些行爲,似乎邏輯掛鉤不要求工作流(至少在我的測試)
我也希望能夠在全局變量中找出這個問題,但是有很多全局變量。
那麼我如何檢測邏輯掛接的調用者?
,我發現這出最好的方法是添加一個:
$GLOBALS['log']->fatal(print_r($_REQUEST,true));
你的邏輯鉤。然後測試您需要考慮的每個場景,並查看請求的不同之處。同時檢查$ _SESSION。您將能夠找到一些可以依賴於您的邏輯的東西。
這就是我最終做的。我分享一些我的看法,因此它可以幫助其他人(這些陳述的基礎上的情況下,其中一些可能適用)
第三方切入點
- 調用
$_SESSION
是空的,直接入口點調用並非如此。此外在休息電話會議不是空的。- 其他電話號碼有
$_REQUEST[rest_data]
等。- 切入點呼叫具有
$_REQUEST[entryPoint]
可用的陣列- 全球
$current_user
可用的,但ID VAR($current_user->id
)是一個字符串只有在情況下,用戶在提交CRM的形式。- 在聯編輯
$_REQUEST[action]
等於saveHTMLField
- 在用戶呼叫
$_SERVER[HTTP_USER_AGENT]
可用並且與其他調用它不是。
在簡單的情況下,該代碼顯示瞭如何檢測用戶來電:
$trigger = false;
global $current_user;
if (!isset($current_user->id) || !strlen($current_user->id) > 2)
$trigger = true;
if ($trigger) {
//#My Custome Code
}