OSDN Git Service

MERGE: リビジョン1775のマージ。fileparseスキンタイプを使用可能に
[nucleus-jp/nucleus-next.git] / nucleus / libs / globalfunctions.php
index fb34ec9..acff99b 100644 (file)
@@ -1407,32 +1407,28 @@ function selectItem($id) {
     $itemid = intval($id);\r
 }\r
 \r
-function parseFile($filename, $includeMode = 'normal', $includePrefix = '') {\r
-    $handler = new Actions('fileparser');\r
-    $parser = new Parser(SKIN::getAllowedActionsForType('fileparser'), $handler);\r
-    $handler->parser =& $parser;\r
-\r
-    // set IncludeMode properties of parser\r
-    Parser::setProperty('IncludeMode', $includeMode);\r
-    Parser::setProperty('IncludePrefix', $includePrefix);\r
-\r
-    if (!file_exists($filename) ) {\r
-        doError('A file is missing');\r
+function parseFile($filename, $includeMode = 'normal', $includePrefix = '')
+{
+       global $skinid;
+\r
+       if ( !$skinid || !existsID($skinid) )
+       {
+               $skin = new Skin($CONF['BaseSkin']);
+       }
+       else
+       {
+               $skin = new Skin($skinid);
     }\r
 \r
-    $fsize = filesize($filename);\r
+       $oldIncludeMode = Parser::getProperty('IncludeMode');
+       $oldIncludePrefix = Parser::getProperty('IncludePrefix');
 \r
-    if ($fsize <= 0) {\r
-        return;\r
-    }\r
+       $skin->parse('fileparse', $filename);
 \r
-    // read file\r
-    $fd = fopen ($filename, 'r');\r
-    $contents = fread ($fd, $fsize);\r
-    fclose ($fd);\r
+       Parser::setProperty('IncludeMode', $oldIncludeMode);
+       Parser::setProperty('IncludePrefix', $oldIncludePrefix);
 \r
-    // parse file contents\r
-    $parser->parse($contents);\r
+       return;
 }\r
 \r
 /**\r