Changeset 18370 for branches/comu-ver2/data/class/util/SC_Utils.php
- Timestamp:
- 2009/11/07 01:38:52 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/comu-ver2/data/class/util/SC_Utils.php
r18355 r18370 2238 2238 return $data_list; 2239 2239 } 2240 2241 /** 2242 * プラグインが配置されているディレクトリ(フルパス)を取得する 2243 * 2244 * @param string $file プラグイン情報ファイル(info.php)のパス 2245 * @return SimpleXMLElement プラグイン XML 2246 */ 2247 function sfGetPluginFullPathByRequireFilePath($file) { 2248 return str_replace('\\', '/', dirname($file)) . '/'; 2249 } 2250 2251 /** 2252 * プラグインのパスを取得する 2253 * 2254 * @param string $pluginFullPath プラグインが配置されているディレクトリ(フルパス) 2255 * @return SimpleXMLElement プラグイン XML 2256 */ 2257 function sfGetPluginPathByPluginFullPath($pluginFullPath) { 2258 return basename(rtrim($pluginFullPath, '/')); 2259 } 2260 2261 /** 2262 * プラグイン情報配列の基本形を作成する 2263 * 2264 * @param string $file プラグイン情報ファイル(info.php)のパス 2265 * @return array プラグイン情報配列 2266 */ 2267 function sfMakePluginInfoArray($file) { 2268 $fullPath = SC_Utils_Ex::sfGetPluginFullPathByRequireFilePath($file); 2269 2270 return 2271 array( 2272 // パス 2273 'path' => SC_Utils_Ex::sfGetPluginPathByPluginFullPath($fullPath), 2274 // プラグイン名 2275 'name' => '未定義', 2276 // フルパス 2277 'fullpath' => $fullPath, 2278 // バージョン 2279 'version' => null, 2280 // 著作者 2281 'auther' => '未定義', 2282 ) 2283 ; 2284 } 2285 2286 /** 2287 * プラグイン情報配列を取得する 2288 * 2289 * TODO include_once を利用することで例外対応をサボタージュしているのを改善する。 2290 * 2291 * @param string $path プラグインのディレクトリ名 2292 * @return array プラグイン情報配列 2293 */ 2294 function sfGetPluginInfoArray($path) { 2295 return (array)include_once(PLUGIN_PATH . "$path/plugin_info.php"); 2296 } 2297 2298 /** 2299 * プラグイン XML を読み込む 2300 * 2301 * TODO 空だったときを考慮 2302 * 2303 * @return SimpleXMLElement プラグイン XML 2304 */ 2305 function sfGetPluginsXml() { 2306 return simplexml_load_file(PLUGIN_PATH . 'plugins.xml'); 2307 } 2308 2309 /** 2310 * プラグイン XML を書き込む 2311 * 2312 * @param SimpleXMLElement $pluginsXml プラグイン XML 2313 * @return integer ファイルに書き込まれたバイト数を返します。 2314 */ 2315 function sfPutPluginsXml($pluginsXml) { 2316 if (!($pluginsXml instanceof SimpleXMLElement)) SC_Utils_Ex::sfDispException(); 2317 2318 $xml = $pluginsXml->asXML(); 2319 if (strlen($xml) == 0) SC_Utils_Ex::sfDispException(); 2320 2321 $return = file_put_contents(PLUGIN_PATH . 'plugins.xml', $pluginsXml->asXML()); 2322 if ($return === false) SC_Utils_Ex::sfDispException(); 2323 2324 return $return; 2325 } 2326 2327 function sfLoadPluginInfo($filenamePluginInfo) { 2328 return (array)include_once $filenamePluginInfo; 2329 } 2240 2330 } 2241 2331 ?>
Note: See TracChangeset
for help on using the changeset viewer.