Ignore:
Timestamp:
2012/03/26 20:32:15 (12 years ago)
Author:
h_yoshimoto
Message:

#1692 SC_Helper_Pluginをエンジン部分とプラグイン用Util系クラスに分離

File:
1 edited

Legend:

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

    r21672 r21681  
    5050        if ($plugin_activate_flg === false) return; 
    5151        // 有効なプラグインを取得 
    52         $arrPluginDataList = $this->getEnablePlugin(); 
     52        $arrPluginDataList = SC_Plugin_Util_Ex::getEnablePlugin(); 
    5353        // pluginディレクトリを取得 
    54         $arrPluginDirectory = $this->getPluginDirectory(); 
    55  
     54        $arrPluginDirectory = SC_Plugin_Util_Ex::getPluginDirectory(); 
    5655        foreach ($arrPluginDataList as $arrPluginData) { 
    5756            // プラグイン本体ファイル名が取得したプラグインディレクトリ一覧にある事を確認 
     
    112111            } 
    113112        } 
    114     } 
    115  
    116     /** 
    117      * 稼働中のプラグインを取得する。 
    118      */ 
    119     function getEnablePlugin() { 
    120         $objQuery = new SC_Query_Ex(); 
    121         $col = '*'; 
    122         $table = 'dtb_plugin'; 
    123         $where = 'enable = 1'; 
    124         // XXX 2.11.0 互換のため 
    125         $arrCols = $objQuery->listTableFields($table); 
    126         if (in_array('priority', $arrCols)) { 
    127             $objQuery->setOrder('priority DESC, plugin_id ASC'); 
    128         } 
    129         $arrRet = $objQuery->select($col,$table,$where); 
    130         return $arrRet; 
    131     } 
    132  
    133     /** 
    134      * インストールされているプラグインを取得する。 
    135      *  
    136      * @return array $arrRet インストールされているプラグイン. 
    137      */ 
    138     function getAllPlugin() { 
    139         $objQuery = new SC_Query_Ex(); 
    140         $col = '*'; 
    141         $table = 'dtb_plugin'; 
    142         // XXX 2.11.0 互換のため 
    143         $arrCols = $objQuery->listTableFields($table); 
    144         if (in_array('priority', $arrCols)) { 
    145             $objQuery->setOrder('plugin_id ASC'); 
    146         } 
    147         $arrRet = $objQuery->select($col,$table); 
    148         return $arrRet; 
    149     } 
    150  
    151     /** 
    152      * プラグインIDをキーにプラグインを取得する。 
    153      *  
    154      * @param int $plugin_id プラグインID. 
    155      * @return array プラグインの基本情報. 
    156      */ 
    157     function getPluginByPluginId($plugin_id) { 
    158         $objQuery =& SC_Query_Ex::getSingletonInstance(); 
    159         $col = '*'; 
    160         $table = 'dtb_plugin'; 
    161         $where = 'plugin_id = ?'; 
    162         $plugin = $objQuery->getRow($col, $table, $where, array($plugin_id)); 
    163         return $plugin; 
    164     } 
    165  
    166     /** 
    167      * プラグインコードをキーにプラグインを取得する。 
    168      *  
    169      * @param string $plugin_code プラグインコード. 
    170      * @return array プラグインの基本情報. 
    171      */ 
    172     function getPluginByPluginCode($plugin_code) { 
    173         $objQuery =& SC_Query_Ex::getSingletonInstance(); 
    174         $col = '*'; 
    175         $table = 'dtb_plugin'; 
    176         $where = 'plugin_code = ?'; 
    177         $plugin = $objQuery->getRow($col, $table, $where, array($plugin_code)); 
    178         return $plugin; 
    179     } 
    180  
    181     /** 
    182      * プラグインIDをキーにプラグインを削除する。 
    183      *  
    184      * @param string $plugin_id プラグインID. 
    185      * @return array プラグインの基本情報. 
    186      */ 
    187     function deletePluginByPluginId($plugin_id) { 
    188         $objQuery =& SC_Query_Ex::getSingletonInstance(); 
    189         $objQuery->begin(); 
    190         $where = 'plugin_id = ?'; 
    191         $objQuery->delete('dtb_plugin', $where, array($plugin_id)); 
    192         $objQuery->delete('dtb_plugin_hookpoint', $where, array($plugin_id)); 
    193     } 
    194  
    195     /** 
    196      * プラグインディレクトリの取得 
    197      * 
    198      * @return array $arrPluginDirectory 
    199      */ 
    200     function getPluginDirectory() { 
    201         $arrPluginDirectory = array(); 
    202         if (is_dir(PLUGIN_UPLOAD_REALDIR)) { 
    203             if ($dh = opendir(PLUGIN_UPLOAD_REALDIR)) { 
    204                 while (($pluginDirectory = readdir($dh)) !== false) { 
    205                     $arrPluginDirectory[] = $pluginDirectory; 
    206                 } 
    207                 closedir($dh); 
    208             } 
    209         } 
    210         return $arrPluginDirectory; 
    211113    } 
    212114 
Note: See TracChangeset for help on using the changeset viewer.