2015-11-12 46 views
0

假設我們有上引線的保存之前的邏輯鉤,現在我們如何可以檢測這個被稱爲邏輯鉤是:
SugarCRM的:如何找到一個邏輯掛鉤的調用者

  • 一個CRM用戶是誰節約鉛形式
  • 是從入口點拍攝到的鉛
  • 是節省SOAP調用
  • 引發的是正在修改鉛場
    工作流程
  • 被稱爲是因爲CSV導入
  • 的...

我也查了一些行爲,似乎邏輯掛鉤不要求工作流(至少在我的測試)
我也希望能夠在全局變量中找出這個問題,但是有很多全局變量。
那麼我如何檢測邏輯掛接的調用者?

回答

0

,我發現這出最好的方法是添加一個:

$GLOBALS['log']->fatal(print_r($_REQUEST,true)); 

你的邏輯鉤。然後測試您需要考慮的每個場景,並查看請求的不同之處。同時檢查$ _SESSION。您將能夠找到一些可以依賴於您的邏輯的東西。

0

這就是我最終做的。我分享一些我的看法,因此它可以幫助其他人(這些陳述的基礎上的情況下,其中一些可能適用)

    第三方切入點
  • 調用$_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 
}