Ignore:
Timestamp:
2014/05/16 16:15:21 (10 years ago)
Author:
Seasoft
Message:

#2551 (プラグインの処理によりインストール中の PHP エラー画面の表示が阻害される part 2)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_13-dev/data/class/helper/SC_Helper_Plugin.php

    r23124 r23427  
    311311    public static function hook($hook_point, $arrArgs = array(), $plugin_activate_flg = PLUGIN_ACTIVATE_FLAG) 
    312312    { 
     313        // エラー処理中は実行しない 
     314        if (SC_Helper_HandleError_Ex::$under_error_handling) { 
     315            return; 
     316        } 
     317 
    313318        $objPlugin = SC_Helper_Plugin::getSingletonInstance($plugin_activate_flg); 
     319 
     320        // 以前、エラー処理中に (オブジェクトではない) false に対し、doAction をコールする不具合があった。(#1971, #2551) 
     321        // 現在、そういった状況は回避している認識だが、念のため同様の状況が発生した場合、ログを残し、実行しない。 
     322        if (!is_object($objPlugin)) { 
     323            // XXX 致命的エラーの処理中だと、この方法ではログが残らない模様。実質的に問題無いと考えている。 
     324            trigger_error('プラグインの処理で意図しない状況が発生しました。', E_USER_WARNING); 
     325            return; 
     326        } 
     327 
    314328        $objPlugin->doAction($hook_point, $arrArgs); 
    315329    } 
Note: See TracChangeset for help on using the changeset viewer.