Ignore:
Timestamp:
2012/04/15 03:05:06 (12 years ago)
Author:
AMUAMU
Message:

#1754 (exit;を個別の処理でしない) #1692 (プラグイン機能) 各ファイルでフックポイントの呼出を書かないで、自動的にフックポイントを呼び出すように修正。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_12-dev/data/class/SC_Response.php

    r21704 r21743  
    8181    function containsHeader($name) { 
    8282        return isset($this->header[$name]); 
     83    } 
     84 
     85    /** 
     86     * アプリケーションのexit処理をする。以降の出力は基本的に停止する。 
     87     * 各クラス内部で勝手にexitするな! 
     88    */ 
     89    function actionExit() { 
     90        // ローカルフックポイント処理 
     91        $objPlugin = SC_Helper_Plugin_Ex::getSingletonInstance($this->plugin_activate_flg); 
     92        $arrBacktrace = debug_backtrace(); 
     93        if (is_object($arrBacktrace[0]['object'])) { 
     94            $parent_class_name = get_parent_class($arrBacktrace[0]['object']); 
     95            $objPlugin->doAction($parent_class_name . '_action_' . $arrBacktrace[0]['object']->getMode(), array($arrBacktrace[0]['object'])); 
     96            $class_name = get_class($arrBacktrace[0]['object']); 
     97            if ($class_name != $parent_class_name) { 
     98                $objPlugin->doAction($class_name . '_action_' . $arrBacktrace[0]['object']->getMode(), array($arrBacktrace[0]['object'])); 
     99            } 
     100        } 
     101 
     102        exit; 
     103        // exitしてますが、実際は、LC_Page::destroy() が呼ばれるはず 
    83104    } 
    84105 
     
    98119     */ 
    99120    function sendRedirect($location, $arrQueryString = array(), $inheritQueryString = false, $useSsl = null) { 
     121 
     122        // ローカルフックポイント処理 
     123        $objPlugin = SC_Helper_Plugin_Ex::getSingletonInstance($this->plugin_activate_flg); 
     124 
     125        $arrBacktrace = debug_backtrace(); 
     126        if (is_object($arrBacktrace[0]['object'])) { 
     127            $parent_class_name = get_parent_class($arrBacktrace[0]['object']); 
     128            $objPlugin->doAction($parent_class_name . '_action_' . $arrBacktrace[0]['object']->getMode(), array($arrBacktrace[0]['object'])); 
     129            $class_name = get_class($arrBacktrace[0]['object']); 
     130            if ($class_name != $parent_class_name) { 
     131                $objPlugin->doAction($class_name . '_action_' . $arrBacktrace[0]['object']->getMode(), array($this)); 
     132            } 
     133        } 
    100134 
    101135        // url-path → URL 変換 
Note: See TracChangeset for help on using the changeset viewer.