/**
  * Utility function to set a hook point.
  *
  * @param string    $hook_point  hook point
  * @param array     $arrArgs     argument passing to callback function
  * @param boolean   $plugin_activate_flg 
  * @return void
  */
 public static function hook($hook_point, $arrArgs = array(), $plugin_activate_flg = PLUGIN_ACTIVATE_FLAG)
 {
     $objPlugin = SC_Helper_Plugin::getSingletonInstance($plugin_activate_flg);
     $objPlugin->doAction($hook_point, $arrArgs);
 }
 /**
  * Utility function to set a hook point.
  *
  * @param  string  $hook_point          hook point
  * @param  SC_SiteView[]   $arrArgs             argument passing to callback function
  * @param  boolean $plugin_activate_flg
  * @return void
  */
 public static function hook($hook_point, $arrArgs = array(), $plugin_activate_flg = PLUGIN_ACTIVATE_FLAG)
 {
     // エラー処理中は実行しない
     if (SC_Helper_HandleError_Ex::$under_error_handling) {
         return;
     }
     $objPlugin = SC_Helper_Plugin::getSingletonInstance($plugin_activate_flg);
     // 以前、エラー処理中に (オブジェクトではない) false に対し、doAction をコールする不具合があった。(#1971, #2551)
     // 現在、そういった状況は回避している認識だが、念のため同様の状況が発生した場合、ログを残し、実行しない。
     if (!is_object($objPlugin)) {
         // XXX 致命的エラーの処理中だと、この方法ではログが残らない模様。実質的に問題無いと考えている。
         trigger_error('プラグインの処理で意図しない状況が発生しました。', E_USER_WARNING);
         return;
     }
     $objPlugin->doAction($hook_point, $arrArgs);
 }