Changeset 19034


Ignore:
Timestamp:
2010/11/06 21:28:18 (12 years ago)
Author:
nakanishi
Message:

loadとprocessの動作を見直した。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/camp/camp-2_5-E/data/class/helper/SC_Helper_Plugin.php

    r18986 r19034  
    11<?php 
    2 /** 
    3  * 
    4  */ 
     2 
    53class SC_Helper_Plugin{ 
    64 
     
    119    public static function load(LC_Page $lcpage){ 
    1210        //データベースからクラス名を読み込む 
    13         $objQuery =& SC_Query::getSingletonInstance(); 
    14         $arrRet = $objQuery->select('*', 'dtb_plugin'); 
     11        $objQuery = new SC_Query(); 
     12        $col = "*"; 
     13        $table = "dtb_plugin"; 
     14        $where = "enable = 1 AND del_flg = 0"; 
     15        $arrRet = $objQuery->select($col, $table, $where); 
     16        $arrEnablePlugins = array(); 
     17        $class_name = get_class($lcpage); 
    1518 
    1619        // 実行されたぺーじ 
     
    1922            // プラグインを稼働させるクラス名のリストを取得する 
    2023            // プラグインのディレクトリ内の設定ファイルを参照する 
    21             require_once DATA_PATH.'plugin/'.$value['class_name'].'/conf.php'; 
    22             if(in_array($value['class_name'], $arrPluginExecutePages)){ 
    23                 require_once DATA_PATH.'plugin/'.$value['class_name'].$value['class_name'].'.php'; 
     24            require_once DATA_PATH.'plugin/'.$value['class_name'].'/config.php'; 
     25            if( in_array($class_name,$arrPluginPageList) == true ){ 
     26                require_once DATA_PATH.'plugin/'.$value['class_name'].'/'.$value['class_name'].'.php'; 
     27                $arrPluginList[] = $value['class_name']; 
    2428            } 
    2529        } 
     30        return $arrPluginList; 
     31    } 
    2632 
    27     } 
     33     /* 読み込んだプラグインの実行用メソッド 
     34     * 
     35     */ 
     36    public static function process(LC_Page $lcpage){ 
     37        //プラグインの名前を判別してページ内で有効なプラグインがあれば実行する 
     38        $arrPluginList = SC_Helper_Plugin::load($lcpage); 
     39        if(count($arrPluginList) > 0){ 
     40            foreach ($arrPluginList as $key => $value){ 
     41            $instance = new $value; 
     42            $instance->process($lcpage); 
     43            } 
     44        } 
     45        return $lcpage; 
     46  } 
    2847 
    2948    /** 
     
    3150     */ 
    3251    public static function getEnablePlugin(){ 
    33         $objQuery =& SC_Query::getSingletonInstance(); 
     52        $objQuery = new SC_Query(); 
    3453        $col = '*'; 
    3554        $table = 'dtb_plugin'; 
     
    4362     */ 
    4463    public static function getAllPlugin(){ 
    45         $objQuery =& SC_Query::getSingletonInstance(); 
     64        $objQuery = new SC_Query(); 
    4665        $col = '*'; 
    4766        $table = 'dtb_plugin'; 
     
    5170    } 
    5271 
     72} 
    5373 
    54      
    55      
    56     /* プラグイン 
    57      * 
    58      */ 
    59     public static function process(LC_Page $lcpage,SC_View $view){        
    60         //プラグインの名前を判別してページ内で有効なプラグインがあれば実行する 
    61         $view; 
    62   } 
    63 } 
Note: See TracChangeset for help on using the changeset viewer.