$nucleus['codename'] = '';\r
\r
/* check and die if someone is trying to override internal globals (when register_globals turn on) */\r
-checkVars(array('nucleus', 'CONF', 'DIR_LIBS', 'MYSQL_HOST', 'MYSQL_USER', 'MYSQL_PASSWORD', 'MYSQL_DATABASE', '$DIR_LOCALES', 'DIR_PLUGINS', 'HTTP_GET_VARS', 'HTTP_POST_VARS', 'HTTP_COOKIE_VARS', 'HTTP_ENV_VARS', 'HTTP_SESSION_VARS', 'HTTP_POST_FILES', 'HTTP_SERVER_VARS', 'GLOBALS', 'argv', 'argc', '_GET', '_POST', '_COOKIE', '_ENV', '_SESSION', '_SERVER', '_FILES'));\r
+checkVars(array('nucleus', 'CONF', 'DIR_LIBS', 'MYSQL_HOST', 'MYSQL_USER', 'MYSQL_PASSWORD', 'MYSQL_DATABASE', 'DIR_LOCALES', 'DIR_PLUGINS', 'HTTP_GET_VARS', 'HTTP_POST_VARS', 'HTTP_COOKIE_VARS', 'HTTP_ENV_VARS', 'HTTP_SESSION_VARS', 'HTTP_POST_FILES', 'HTTP_SERVER_VARS', 'GLOBALS', 'argv', 'argc', '_GET', '_POST', '_COOKIE', '_ENV', '_SESSION', '_SERVER', '_FILES'));\r
\r
/* debug mode */\r
+if ( !isset($CONF) )\r
+{\r
+ $CONF = array();\r
+}\r
if ( array_key_exists('debug', $CONF) && $CONF['debug'] )\r
{\r
/* report all errors! */\r
$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
+function parseFile($filename, $includeMode = 'normal', $includePrefix = '')
+{
+ global $skinid;
\r
- if (!file_exists($filename) ) {\r
- doError('A file is missing');\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
}\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