Index: /autobuild/.config
===================================================================
--- /autobuild/.config	(revision 970)
+++ /autobuild/.config	(revision 1157)
@@ -16,7 +16,31 @@
 scriptsDir="$topdir/scripts"
 
-mirror="cn.php.net"
+mirror="cn2.php.net"
+phpFiles_foreach() {
+	local version
 
-phpVersions=(5.1.6 5.2.17 5.3.14 5.4.4)
+	for version in 5.4.8 5.3.18; do
+		$1 php-$version.tar.bz2 \
+			http://$mirror/get/php-$version.tar.bz2/from/$mirror/mirror \
+			"http://museum.php.net/php5/php-$version.tar.bz2"
+		$1 php-$version-nts-Win32-VC9-x86.zip http://windows.php.net/downloads/releases/php-$version-nts-Win32-VC9-x86.zip
+		$1 php-$version-Win32-VC9-x86.zip     http://windows.php.net/downloads/releases/php-$version-Win32-VC9-x86.zip
+	done
+
+	version=5.2.17
+	$1 php-$version.tar.bz2 \
+		http://$mirror/get/php-$version.tar.bz2/from/$mirror/mirror \
+		"http://museum.php.net/php5/php-$version.tar.bz2"
+	$1 php-$version-nts-Win32-VC6-x86.zip http://windows.php.net/downloads/releases/php-$version-nts-Win32-VC6-x86.zip
+	$1 php-$version-Win32-VC6-x86.zip     http://windows.php.net/downloads/releases/php-$version-Win32-VC6-x86.zip
+
+	version=5.1.6
+	$1 php-$version.tar.bz2 \
+		http://$mirror/get/php-$version.tar.bz2/from/$mirror/mirror \
+		"http://museum.php.net/php5/php-$version.tar.bz2"
+	$1 php-$version-Win32-VC6-x86.zip http://museum.php.net/php5/php-$version-Win32.zip
+}
+
+phpVersions=(5.1.6 5.2.17 5.3.18 5.4.8)
 arches=(x86 x64)
 compilers=(VC6 VC9)
Index: /autobuild/scripts/download
===================================================================
--- /autobuild/scripts/download	(revision 913)
+++ /autobuild/scripts/download	(revision 1157)
@@ -9,5 +9,5 @@
 		return 0
 	fi
-	begin "Downloading $url to $file"; {
+	begin "from $url"; {
 		if type aria2c >/dev/null 2>/dev/null; then
 			(
@@ -25,5 +25,5 @@
 		rm -f "$file.tmp"
 	};
-	[[ -z $ret ]] && end || end "not found"
+	[[ $ret -eq 0 ]] && end || end "not found"
 	
 	return $ret
@@ -40,67 +40,25 @@
 }
 
-downloadPhp() {
-	local filename
-	local arch
-	local compiler
-	local nts
-	local downloaded
-	local type
-	local snapVersion
+download_x() {
+	local filename=$1
+	shift
 
-	case "$phpVersion" in
-	*-dev-*)
-		type="snaps"
-		snapVersion=-${phpVersion##*-}
-		phpVersion=${phpVersion%-*}
-		filename="php$phpVersion$snapVersion.tar.bz2"
-		filename=${filename/0.-dev-/-}
-		download "$sourceDir/php-$phpVersion$snapVersion.tar.bz2" "http://snaps.php.net/$filename"
-		;;
-	*)
-		type="releases"
-		filename="php-$phpVersion.tar.bz2"
-		target="$sourceDir/$filename"
-		download "$target" "http://$mirror/get/$filename/from/$mirror/mirror" \
-		|| download "$target" "http://museum.php.net/php5/$filename"
-		;;
-	esac
-
-	downloaded=
-	for nts in '' '-nts'; do
-		case "$phpVersion" in
-		4.*|5.0.*|5.1.*)
-			;;
-		*)
-			for compiler in "${compilers[@]}"; do
-				for arch in "${arches[@]}"; do
-					filename=php-$phpVersion$nts-Win32-$compiler-$arch$snapVersion.zip
-					download "$sourceDir/$filename" "http://windows.php.net/downloads/$type/$filename"
-					if [[ -s "$sourceDir/$filename" ]]; then
-						downloaded=1
-					fi
-				done
-			done
-		esac
-	done
-	if [[ -z $downloaded ]]; then
-		filename=php-$phpVersion-Win32.zip
-		target="$sourceDir/$filename"
-		download "$target" "http://$mirror/get/$filename/from/$mirror/mirror" \
-		|| download "$target" "http://museum.php.net/php5/$filename"
-	fi
+	local url
+	local ret=1
+	begin "Downloading $filename"; {
+		while [ $# -gt 0 ]; do
+			url=$1
+			shift
+			if download "$sourceDir/$filename" $url; then
+				ret=0
+				break
+			fi
+		done
+	};
+	[[ $ret -eq 0 ]] && end "downloaded" || end "not found"
+	return $ret
 }
 
 trap cleanup exit
 
-case $# in
-0)
-	foreachPhpVersion downloadPhp
-	;;
-1)
-	loadPhpVersion "$1"
-	downloadPhp
-	;;
-esac
-
-exit 0
+phpFiles_foreach download_x
