Ignore:
Timestamp:
2012/02/15 19:38:35 (14 years ago)
Author:
h_yoshimoto
Message:

#1603 #1632 優先度変更処理を修正、rankをpriorityに変更、細かなバグ修正、コメントの追加

File:
1 edited

Legend:

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

    r21486 r21512  
    6464                $this->arrPluginIds[] = $arrPluginData['plugin_id']; 
    6565                // ローカルフックポイントの登録. 
    66                 $this->registLocalHookPoint($objPlugin, $arrPluginData['rank']); 
     66                $this->registLocalHookPoint($objPlugin, $arrPluginData['priority']); 
    6767                // スーパーフックポイントの登録. 
    68                 $this->registSuperHookPoint($objPlugin, HOOK_POINT_PREPROCESS, 'preProcess', $arrPluginData['rank']); 
    69                 $this->registSuperHookPoint($objPlugin, HOOK_POINT_PROCESS, 'process', $arrPluginData['rank']); 
     68                $this->registSuperHookPoint($objPlugin, HOOK_POINT_PREPROCESS, 'preProcess', $arrPluginData['priority']); 
     69                $this->registSuperHookPoint($objPlugin, HOOK_POINT_PROCESS, 'process', $arrPluginData['priority']); 
    7070            } 
    7171        } 
     
    100100            && is_array($this->arrRegistedPluginActions[$hook_point])) { 
    101101 
    102             ksort($this->arrRegistedPluginActions[$hook_point]); 
     102            krsort($this->arrRegistedPluginActions[$hook_point]); 
    103103            foreach ($this->arrRegistedPluginActions[$hook_point] as $priority => $arrFuncs) { 
    104  
     104                 
    105105                foreach ($arrFuncs as $func) { 
    106106                    if (!is_null($func['function'])) { 
     
    122122        // XXX 2.11.0 互換のため 
    123123        $arrCols = $objQuery->listTableFields($table); 
    124         if (in_array('rank', $arrCols)) { 
    125             $objQuery->setOrder('rank DESC'); 
     124        if (in_array('priority', $arrCols)) { 
     125            $objQuery->setOrder('priority DESC, plugin_id ASC'); 
    126126        } 
    127127        $arrRet = $objQuery->select($col,$table,$where); 
     
    140140        // XXX 2.11.0 互換のため 
    141141        $arrCols = $objQuery->listTableFields($table); 
    142         if (in_array('rank', $arrCols)) { 
     142        if (in_array('priority', $arrCols)) { 
    143143            $objQuery->setOrder('plugin_id ASC'); 
    144144        } 
     
    158158        $table = 'dtb_plugin'; 
    159159        $where = 'plugin_id = ?'; 
    160         // XXX 2.11.0 互換のため 
    161         $arrCols = $objQuery->listTableFields($table); 
    162         if (in_array('rank', $arrCols)) { 
    163             $objQuery->setOrder('rank ASC'); 
    164         } 
    165160        $plugin = $objQuery->getRow($col, $table, $where, array($plugin_id)); 
    166161        return $plugin; 
     
    178173        $table = 'dtb_plugin'; 
    179174        $where = 'plugin_code = ?'; 
    180         // XXX 2.11.0 互換のため 
    181         $arrCols = $objQuery->listTableFields($table); 
    182         if (in_array('rank', $arrCols)) { 
    183             $objQuery->setOrder('rank ASC'); 
    184         } 
    185175        $plugin = $objQuery->getRow($col, $table, $where, array($plugin_code)); 
    186176        return $plugin; 
     
    310300            SC_Utils_Ex::deleteFile(PLUGIN_TMPL_CACHE_REALDIR, false); 
    311301        } 
    312         $objTemplateTransformList = SC_Plugin_Template_Transform_List::getSingletonInstance(); 
     302        $objTemplateTransformList = SC_Plugin_TemplateTransformList::getSingletonInstance(); 
    313303        $objTemplateTransformList->init(); 
     304        // プラグインのsetTemplateTransformerを実行します. 
    314305        foreach ($this->arrPluginInstances as $objPlugin) { 
    315             // TODO 関数チェック; 
    316             $objPlugin->setTemplateTransformer(); 
    317         } 
    318         // トランスフォーム実行 
     306            if(method_exists($objPlugin, 'setTemplateTransformer') === true) { 
     307                // SC_Plugin_TemplateTransformList::arrConfsByTemplatesにトランスフォーム情報をセットします 
     308                $objPlugin->setTemplateTransformer(); 
     309            } 
     310        } 
     311        // SC_Plugin_TemplateTransformList::arrConfsByTemplatesにセットされた情報を元にトランスフォームの実行 
    319312        $objTemplateTransformList->transformAll($test_mode); 
    320313    } 
Note: See TracChangeset for help on using the changeset viewer.