- Timestamp:
- 2012/02/08 13:55:06 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_12-dev/data/class/helper/SC_Helper_Plugin.php
r21450 r21455 54 54 foreach ($arrPluginDataList as $arrPluginData) { 55 55 // プラグイン本体ファイル名が取得したプラグインディレクトリ一覧にある事を確認 56 if (array_search($arrPluginData[' class_name'], $arrPluginDirectory) !== false) {56 if (array_search($arrPluginData['plugin_code'], $arrPluginDirectory) !== false ) { 57 57 // プラグイン本体ファイルをrequire. 58 require_once PLUGIN_UPLOAD_REALDIR . $arrPluginData['class_name'] . '/' . $arrPluginData['class_name'] . '.php'; 58 require_once(PLUGIN_UPLOAD_REALDIR . $arrPluginData['plugin_code'] . '/' . $arrPluginData['plugin_code'] . '.php'); 59 59 60 // プラグインのインスタンス生成. 60 $objPlugin = new $arrPluginData[' class_name']($arrPluginData);61 $objPlugin = new $arrPluginData['plugin_code']($arrPluginData); 61 62 // メンバ変数にプラグインのインスタンスを登録. 62 63 $this->arrPluginInstances[$arrPluginData['plugin_id']] = $objPlugin; … … 118 119 $col = '*'; 119 120 $table = 'dtb_plugin'; 120 $where = 'enable = 1 AND del_flg = 0';121 $where = 'enable = 1'; 121 122 // XXX 2.11.0 互換のため 122 123 $arrCols = $objQuery->listTableFields($table); … … 130 131 /** 131 132 * インストールされているプラグインを取得する。 133 * 134 * @return array $arrRet インストールされているプラグイン. 132 135 */ 133 136 function getAllPlugin(){ … … 135 138 $col = '*'; 136 139 $table = 'dtb_plugin'; 137 $where = 'del_flg = 0';138 140 // XXX 2.11.0 互換のため 139 141 $arrCols = $objQuery->listTableFields($table); 140 142 if (in_array('rank', $arrCols)) { 141 $objQuery->setOrder(' rank DESC');142 } 143 $arrRet = $objQuery->select($col,$table ,$where);143 $objQuery->setOrder('plugin_id ASC'); 144 } 145 $arrRet = $objQuery->select($col,$table); 144 146 return $arrRet; 147 } 148 149 /** 150 * プラグインIDをキーにプラグインを取得する。 151 * 152 * @param int $plugin_id プラグインID. 153 * @return array プラグインの基本情報. 154 */ 155 function getPluginByPluginId($plugin_id){ 156 $objQuery = new SC_Query_Ex(); 157 $col = '*'; 158 $table = 'dtb_plugin'; 159 $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 } 165 $arrRet = $objQuery->select($col, $table, $where, array($plugin_id)); 166 return $arrRet[0]; 167 } 168 169 /** 170 * プラグインコードをキーにプラグインを取得する。 171 * 172 * @param string $plugin_code プラグインコード. 173 * @return array プラグインの基本情報. 174 */ 175 function getPluginByPluginCode($plugin_code){ 176 $objQuery = new SC_Query_Ex(); 177 $col = '*'; 178 $table = 'dtb_plugin'; 179 $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 } 185 $arrRet = $objQuery->select($col, $table, $where, array($plugin_code)); 186 return $arrRet[0]; 145 187 } 146 188 … … 266 308 // キャッシュテンプレートを削除 267 309 if ($test_mode === false) { 268 $this->unlinkRecurse(PLUGIN_TMPL_CACHE_REALDIR, false);310 SC_Utils_Ex::deleteFile(PLUGIN_TMPL_CACHE_REALDIR, false); 269 311 } 270 312 $objTemplateTransformList = SC_Plugin_Template_Transform_List::getSingletonInstance(); … … 279 321 280 322 /** 281 * 指定されたパスの配下を再帰的に unlink282 *283 * @param string $path 削除対象のディレクトリまたはファイルのパス284 * @param boolean $del_myself $pathそのものを削除するか. true なら削除する.285 * @return void286 */287 function unlinkRecurse($path, $del_myself = true) {288 if (!file_exists($path)) {289 // TODO エラー処理; パスが存在しません290 } elseif (is_dir($path)) {291 // ディレクトリ292 $handle = opendir($path);293 if (!$handle) {294 // TODO エラー処理; ディレクトリが開けませんでした295 }296 297 while (($item = readdir($handle)) !== false) {298 if ($item === '.' || $item === '..') continue;299 $cur_path = $path . '/' . $item;300 if (is_dir($cur_path)) SC_Helper_Plugin::unlinkRecurse($cur_path);301 else @unlink($cur_path);302 }303 closedir($handle);304 305 // ディレクトリを削除306 if ($del_myself) @rmdir($path);307 } else {308 // ファイルが指定された309 @unlink($path);310 }311 }312 313 /**314 323 * テンプレートキャッシュファイルのフルパスを返す. 315 324 * … … 319 328 function getPluginTemplateCachePath($objPage) { 320 329 // main_template の差し替え 321 if (strpos($objPage->tpl_mainpage, SMARTY_TEMPLATES_REALDIR) === 0) {322 // フルパスで指定された323 $dir = '';324 $default_tpl_mainpage = str_replace(SMARTY_TEMPLATES_REALDIR, '', $objPage->tpl_mainpage);325 } else {330 if (strpos($objPage->tpl_mainpage, SMARTY_TEMPLATES_REALDIR) === 0) { 331 // フルパスで指定された 332 $dir = ''; 333 $default_tpl_mainpage = str_replace(SMARTY_TEMPLATES_REALDIR, '', $objPage->tpl_mainpage); 334 } else { 326 335 // フロントページ or 管理画面を判定 327 $dir = ($objPage instanceof LC_Page_Admin) ? 'admin/' : TEMPLATE_NAME . '/';328 $default_tpl_mainpage = $objPage->tpl_mainpage;329 }336 $dir = ($objPage instanceof LC_Page_Admin) ? 'admin/' : TEMPLATE_NAME . '/'; 337 $default_tpl_mainpage = $objPage->tpl_mainpage; 338 } 330 339 return PLUGIN_TMPL_CACHE_REALDIR . $dir . $default_tpl_mainpage; 331 340 }
Note: See TracChangeset
for help on using the changeset viewer.