示例#1
0
	public static function staticFile($file, $app = null)
	{
		$external = self::$_config->get('staticpath');	
		$theme = self::$_config->get('theme');
		if (!$theme) $theme = 'default';
		if ($app == null)
		{
			$baseVersion = null;
			if (! array_key_exists($file, self::$_resources['/']))
			{
				$theme = 'default';
				$version = '';
			}
			else
			{
				if (!array_key_exists($theme, self::$_resources['/'][$file]))
				{
					$theme = 'default';
				}
				if (self::$_resources['/'][$file][$theme][1])
				{
					$baseVersion = self::$_resources['/'][$file]['default'][0];
				}
				$version = self::$_resources['/'][$file][$theme][0];
			}
			if (!$baseVersion)
			{
				return self::createStaticPath($file, $version, $theme, $external);
			}
			else
			{
				return array(
					self::createStaticPath($file, $baseVersion, 'default', $external),
					self::createStaticPath($file, $version, $theme, $external)
				);
			}
		}
		else
		{
			$isPlugin = in_array($app, self::$_config->get('enabled_plugins'));
			if (!array_key_exists($app, self::$_resources))
			{
				$path = $isPlugin ? self::$_pluginDir : self::$_appdir;
				$appPath = $path . '/'.$app.'/static/';
				self::$_resourceTheme = 'default';
				include $appPath.'default/resources.coorg.php';
				if ($theme != 'default')
				{
					self::$_resourceTheme = $theme;
					if (file_exists($appPath.$theme.'/resources.coorg.php'))
					{
						include $appPath.$theme.'/resources.coorg.php';
					}
				}
			}

			if (array_key_exists($file, self::$_resources[$app]))
			{
				$versions = self::$_resources[$app][$file];
				$defaultVersion = null;
				if (array_key_exists($theme, $versions))
				{
					$version = self::$_resources[$app][$file][$theme][0];
					if (self::$_resources[$app][$file][$theme][1])
					{
						$defaultVersion = self::$_resources[$app][$file]['default'][0];
					}
				}
				else
				{
					$theme = 'default';
					$version = self::$_resources[$app][$file][$theme][0];
				}
			}
			else
			{
				throw new Exception('No version specified for '.$file.'::'.$app);
			}
			if (!$defaultVersion)
			{
				return self::createStaticPath($file, $version, $theme, $external, $app, $isPlugin);
			}
			else
			{
				return array(self::createStaticPath($file, $defaultVersion, 'default', $external, $app, $isPlugin),
				             self::createStaticPath($file, $version, $theme, $external, $app, $isPlugin));
			}
		}
	}