<?xml version="1.0" encoding="UTF-8"?>
<installer-gui-script minSpecVersion='1'>

	<!-- Installer UI-ey stuff -->
	<title>SU_TITLE</title>
	<welcome file="Welcome.rtf"/>
	<license file="License.rtf"/>
	
	<background file="background.tif"
				scaling="proportional"
				alignment="upperleft"
	/>
	
	<options	customize		= "never"
				rootVolumeOnly	= "true"
				hostArchitectures ='ppc,i386'
	/>

	<platforms>
   		<client arch="i386,ppc"/>
		<server arch="i386,ppc"/>
	</platforms>

	<!-- Manual Install package layout -->
	<choices-outline>
		<line choice='manual'/>
	</choices-outline>

	<choice id='manual'>
		<pkg-ref auth='Root' id='a'>.</pkg-ref>
	</choice>
	
	<choice id='manual'	title='MANUAL_TITLE' 
						versStr='SU_VERS'/>
	

	<!-- Software Update package layout -->
	<choices-outline ui='SoftwareUpdate'>
		<line choice='su'/>
	</choices-outline>

	<choice id='su'>
		<pkg-ref auth='Root' id='com.apple.pkg.iPhoto_710'>iPhoto_710.pkg</pkg-ref>
	</choice>
	
	<choice id='su' visible ='volumeNeedsAppUpdated()'
					start_selected = 'true'
					suDisabledGroupID = 'iPhoto710'
	/>
	
	<choice id='su' title='SU_TITLE' 
					versStr='SU_VERS'
					description='SU_DESCRIPTION' 
					description-mime-type='text/html'
	/>

    <choice id='su' secondaryDescription='SU_SERVERCOMMENT' />	

	<!-- Installer logic -->
	<installation-check script="InstallationCheck()" />	

	<script>
	function InstallationCheck()
	{
		return(hasNoTier3() &amp;&amp; hasGoodSSW() &amp;&amp; canHasUpdate());
	}

	function hasGoodSSW()
	{
		var sysVersion = system.version;
		
		if (!sysVersion || (1 == system.compareVersions("10.4.9",sysVersion.ProductVersion))) {
			my.result.message = system.localizedStringWithFormat('systemTooOld');
			my.result.type = 'Fatal';
			return false;
		}
		
		return true;
	}

	function hasNoTier3()
	{
		var path = "/var/db/.AppleTier3Language";
		if (!system.files.fileExistsAtPath(path))
			return true;
			
		my.result.message = system.localizedStringWithFormat('volumeHasTier3');
		my.result.type = 'Fatal';
		return false;
	}

	function canHasUpdate()
	{
		var path = "/Applications/iPhoto.app";
		var bundle = system.files.bundleAtPath(path);
		var version = BundleGetCompositeVersion5(bundle);
		
		if (!version || (system.compareVersions(version, "7.0.0.0.0") == -1))
		{
			my.result.message = system.localizedStringWithFormat('noAppToUpdate');
			my.result.type = 'Fatal';
			return false;
		}
		
		if (system.compareVersions(version, "7.1.1.0.0") &gt;= 0)
		{
			my.result.message = system.localizedStringWithFormat('isDowngrade');
			my.result.type = 'Fatal';
			return false;
		}
		
		return true;
	}
	
	function volumeNeedsAppUpdated()
	{
		var path = my.target.mountpoint + "/Applications/iPhoto.app";
		var bundle = system.files.bundleAtPath(path);
		var version = BundleGetCompositeVersion5(bundle);
		
		if (version &amp;&amp; (system.compareVersions(version, "7.0.0.0.0") != -1) &amp;&amp; (system.compareVersions(version, "7.1.0.0.0") == -1))
			return true;

		return false;
	}
	</script>

	<!-- Common include -->
	<script>
	function _PadVersionString(version, tupleCount)
	{
		if (version == null)
			version = "0";
		var components = version.split(".");
		if (components.length &gt; tupleCount)
			components = components.slice(0, tupleCount);
		else
			for (; components.length&lt;tupleCount; )
				components.push("0");
		return components.join(".");
	}

	function BundleGetCompositeVersion5(bundle)
	{
		if (bundle == null)
			return null;
		var shortVers = bundle.CFBundleShortVersionString;
		shortVers = _PadVersionString(shortVers, 3);
		var sourceVers = bundle.SourceVersion;
		sourceVers = _PadVersionString(sourceVers, 1);
		var buildVers = bundle.BuildVersion;
		buildVers = _PadVersionString(buildVers, 1);
		var fiveTupleVers = shortVers + "." + sourceVers + "." + buildVers;
		return fiveTupleVers;
	}

	function CheckNameRegistry(path, property, value)
	{
		try
		{
			var obj = system.ioregistry.fromPath(path);
			if (obj == null)
				return false;

			var propObj = obj[property];
			if (propObj == null)
				return false;

			if (typeof(propObj) == "string")	// string
			{
				return (propObj == value);
			}
			else if (typeof(propObj) == "object")	// array contains
			{
				for (var i=0; i&lt;propObj.length; i++)
					if (propObj[i] == value)
						return true;
			}
		}
		catch (e) {}

		return false;
	}
	</script>	

	<localization>
		<strings language="pl">
<![CDATA[
// From Localiazable.strings
"SU_TITLE" = "Uaktualnienie iPhoto";
"SU_VERS" = "7.1";
"SU_SERVERCOMMENT" = "Dla systemów stacjonarnych oraz serwerów.";

// From HTML description file
"SU_DESCRIPTION" = '<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8"></meta></HEAD>
<BODY><FONT FACE="Lucida Grande">
<P>
To uaktualnienie rozwiązuje problem związany z przenoszeniem zdjęć pomiędzy zdarzeniami, dodaje kilka nowych motywów pocztówek, włącznie z projektami wakacyjnymi. Rozwiązuje także ogólne problemy zgodności, poprawia ogólną stabilność i rozwiązuje kilka innych problemów mniejszej wagi. Aby uaktualnić do iPhoto 7.1, kliknij w przycisk poniżej i uruchom Uaktualnienie programów.
</FONT></BODY></HTML>
';
]]>
		</strings>
	</localization>
</installer-gui-script>
