OSDN Git Service

MERGE: リビジョン1775のマージ。fileparseスキンタイプを使用可能に
[nucleus-jp/nucleus-next.git] / nucleus / libs / globalfunctions.php
index 9c78e2f..acff99b 100644 (file)
@@ -1407,45 +1407,28 @@ function selectItem($id) {
     $itemid = intval($id);\r
 }\r
 \r
-// force the use of a translation file (warning: can cause warnings)\r
-function selectLanguage($language) {\r
-\r
-       global $DIR_LANG;\r
-\r
-       # replaced ereg_replace() below with preg_replace(). ereg* functions are deprecated in PHP 5.3.0\r
-       # original ereg_replace: preg_replace( '@\\|/@', '', $language) . '.php')\r
-       # important note that '\' must be matched with '\\\\' in preg* expressions\r
-\r
-       include($DIR_LANG . preg_replace('#[\\\\|/]#', '', $language) . '.php');\r
-\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
@@ -2121,6 +2104,13 @@ function getLanguageName()
        }\r
        return $language;\r
 }\r
+/* NOTE: this is completely deprecated because generating much warnings */\r
+function selectLanguage($language)\r
+{\r
+       global $DIR_LANG;\r
+       include($DIR_LANG . preg_replace('#[\\\\|/]#', '', $language) . '.php');\r
+       return;\r
+}\r
 \r
 /* NOTE: use i18n::get_available_locales() directly instead of this */\r
 function checkLanguage($lang)\r