aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorfilip <filip.komar@gmail.com>2015-05-02 16:13:53 +0200
committerfilip <filip.komar@gmail.com>2015-05-02 16:13:53 +0200
commite31ec4507c495254239f11841d81c865e80e41a9 (patch)
treee0c62b5c7cc2e0564e7ae13d6ce8e82a6058da78 /lib
parentc2158bebcc570b4f1a573122a546310268434e9e (diff)
downloadwww-e31ec4507c495254239f11841d81c865e80e41a9.tar
www-e31ec4507c495254239f11841d81c865e80e41a9.tar.gz
www-e31ec4507c495254239f11841d81c865e80e41a9.tar.bz2
www-e31ec4507c495254239f11841d81c865e80e41a9.tar.xz
www-e31ec4507c495254239f11841d81c865e80e41a9.zip
adding download of pdf and epub file infrastructure
Diffstat (limited to 'lib')
-rw-r--r--lib/Downloads.php47
-rw-r--r--lib/cached.list_doc.php1077
2 files changed, 1104 insertions, 20 deletions
diff --git a/lib/Downloads.php b/lib/Downloads.php
index a44404ea0..247cb5f50 100644
--- a/lib/Downloads.php
+++ b/lib/Downloads.php
@@ -96,56 +96,63 @@ class Downloads
*
* @return array
*/
- public static function get_all_mirrors($prod = true)
+ public static function get_all_mirrors($prod = true, $documentation = false)
{
- $cache_file = realpath(__DIR__ . '/cached.list.php');
+ if ($documentation) {
+ $cache_file = realpath(__DIR__ . '/cached.list_doc.php');
+ } else {
+ $cache_file = realpath(__DIR__ . '/cached.list.php');
+ }
if ($prod) {
require $cache_file;
} else {
- $data = file('http://mirrors.mageia.org/api/mageia.1.i586.list');
+ $data = file('http://mirrors.mageia.org/api/mageia.4.i586.list');
$mirrors = array();
foreach ($data as $line) {
$line = explode(',', trim($line));
$m = array();
foreach ($line as $val) {
$val = explode('=', trim($val));
- $m[$val[0]] = $val[1];
+ if (!empty($val[1])) {
+ $m[$val[0]] = $val[1];
+ }
}
- $pu = parse_url($m['url']);
- if (in_array($pu['scheme'], array('http', 'ftp'))) {
-
+ $pu = parse_url($m['url']);
+ if (in_array($pu['scheme'], array('http', 'https', 'ftp'))) {
$item = array(
'city' => isset($m['city']) ? $m['city'] : '?',
'continent' => isset($m['continent']) ? $m['continent'] : '?',
'zone' => $m['zone'],
// BEWARE of the path substitution here. Must match.
- 'url' => str_replace('/distrib/1/i586', '', $m['url'])
+ 'url' => str_replace('/distrib/4/i586', '', $m['url'])
);
-
- $torrent =$item['url'].'/iso/3/torrents/Mageia-3-LiveDVD-KDE4-x86_64-DVD.torrent' ;
- if (false === file_get_contents($torrent)){
- echo "down $torrent \n";
- } else {
- echo "Up $torrent \n";
- $mirrors[$m['country']][] = $item;
- $mirrors['_C:' . $m['continent']][] = $item;
- }
+ if ($documentation) {
+ $test_file = $item['url'].'/people/marcom/doc/mga4/date.txt';
+ } else {
+ $test_file = $item['url'].'/iso/4.1/torrents/Mageia-4.1-LiveDVD-KDE4-x86_64-DVD.torrent';
+ }
+ if (false === file_get_contents($test_file)) {
+ echo "down $test_file \n";
+ } else {
+ echo "Up $test_file \n";
+ $mirrors[$m['country']][] = $item;
+ $mirrors['_C:' . $m['continent']][] = $item;
+ }
}
}
file_put_contents($cache_file,
- sprintf('<?php $mirrors = %s; ?>',
- var_export($mirrors, true)));
+ sprintf('<?php $mirrors = %s; ?>' . PHP_EOL, var_export($mirrors, true)));
}
return $mirrors;
}
/**
- * Get mirrors from stored dictionnary and find:
+ * Get mirrors from stored dictionary and find:
* - best matching country
* - or best matching continent
* - or random
diff --git a/lib/cached.list_doc.php b/lib/cached.list_doc.php
new file mode 100644
index 000000000..96b88b902
--- /dev/null
+++ b/lib/cached.list_doc.php
@@ -0,0 +1,1077 @@
+<?php $mirrors = array (
+ 'CN' =>
+ array (
+ 0 =>
+ array (
+ 'city' => 'Hefei',
+ 'continent' => 'AS',
+ 'zone' => 'CN',
+ 'url' => 'http://mirrors.ustc.edu.cn/mageia',
+ ),
+ 1 =>
+ array (
+ 'city' => 'Hefei',
+ 'continent' => 'AS',
+ 'zone' => 'CN',
+ 'url' => 'ftp://mirrors.ustc.edu.cn/mageia',
+ ),
+ 2 =>
+ array (
+ 'city' => 'Hefei',
+ 'continent' => 'AS',
+ 'zone' => 'CN',
+ 'url' => 'https://mirrors.ustc.edu.cn/mageia',
+ ),
+ ),
+ '_C:AS' =>
+ array (
+ 0 =>
+ array (
+ 'city' => 'Hefei',
+ 'continent' => 'AS',
+ 'zone' => 'CN',
+ 'url' => 'http://mirrors.ustc.edu.cn/mageia',
+ ),
+ 1 =>
+ array (
+ 'city' => 'Tsukuba',
+ 'continent' => 'AS',
+ 'zone' => 'JP',
+ 'url' => 'http://ftp.tsukuba.wide.ad.jp/Linux/mageia',
+ ),
+ 2 =>
+ array (
+ 'city' => 'HsinChu',
+ 'continent' => 'AS',
+ 'zone' => 'TW',
+ 'url' => 'ftp://ftp.twaren.net/Linux/Mageia',
+ ),
+ 3 =>
+ array (
+ 'city' => 'Hefei',
+ 'continent' => 'AS',
+ 'zone' => 'CN',
+ 'url' => 'ftp://mirrors.ustc.edu.cn/mageia',
+ ),
+ 4 =>
+ array (
+ 'city' => 'Taipei',
+ 'continent' => 'AS',
+ 'zone' => 'TW',
+ 'url' => 'ftp://ftp.tku.edu.tw/Linux/Mageia',
+ ),
+ 5 =>
+ array (
+ 'city' => 'Ankara',
+ 'continent' => 'AS',
+ 'zone' => 'TR',
+ 'url' => 'http://ftp.linux.org.tr/mageia',
+ ),
+ 6 =>
+ array (
+ 'city' => 'Ankara',
+ 'continent' => 'AS',
+ 'zone' => 'TR',
+ 'url' => 'ftp://ftp.linux.org.tr/mageia',
+ ),
+ 7 =>
+ array (
+ 'city' => 'Chungli',
+ 'continent' => 'AS',
+ 'zone' => 'TW',
+ 'url' => 'http://ftp.yzu.edu.tw/Linux/Mageia',
+ ),
+ 8 =>
+ array (
+ 'city' => 'Taipei',
+ 'continent' => 'AS',
+ 'zone' => 'TW',
+ 'url' => 'http://ftp.tku.edu.tw/Linux/Mageia',
+ ),
+ 9 =>
+ array (
+ 'city' => 'Chungli',
+ 'continent' => 'AS',
+ 'zone' => 'TW',
+ 'url' => 'ftp://ftp.yzu.edu.tw/Linux/Mageia',
+ ),
+ 10 =>
+ array (
+ 'city' => 'Hefei',
+ 'continent' => 'AS',
+ 'zone' => 'CN',
+ 'url' => 'https://mirrors.ustc.edu.cn/mageia',
+ ),
+ ),
+ 'CZ' =>
+ array (
+ 0 =>
+ array (
+ 'city' => 'Brno',
+ 'continent' => 'EU',
+ 'zone' => 'CZ',
+ 'url' => 'http://ftp.fi.muni.cz/pub/linux/mageia',
+ ),
+ 1 =>
+ array (
+ 'city' => 'Brno',
+ 'continent' => 'EU',
+ 'zone' => 'CZ',
+ 'url' => 'ftp://ftp.fi.muni.cz/pub/linux/mageia',
+ ),
+ 2 =>
+ array (
+ 'city' => 'Zlin',
+ 'continent' => 'EU',
+ 'zone' => 'CZ',
+ 'url' => 'ftp://mirror.oss.maxcdn.com/mageia',
+ ),
+ 3 =>
+ array (
+ 'city' => '?',
+ 'continent' => 'EU',
+ 'zone' => 'CZ',
+ 'url' => 'http://mageia.supp.name',
+ ),
+ 4 =>
+ array (
+ 'city' => 'Zlin',
+ 'continent' => 'EU',
+ 'zone' => 'CZ',
+ 'url' => 'http://mirror.oss.maxcdn.com/mageia',
+ ),
+ ),
+ '_C:EU' =>
+ array (
+ 0 =>
+ array (
+ 'city' => 'Brno',
+ 'continent' => 'EU',
+ 'zone' => 'CZ',
+ 'url' => 'http://ftp.fi.muni.cz/pub/linux/mageia',
+ ),
+ 1 =>
+ array (
+ 'city' => 'Erlangen',
+ 'continent' => 'EU',
+ 'zone' => 'DE',
+ 'url' => 'http://ftp.uni-erlangen.de/mirrors/Mageia',
+ ),
+ 2 =>
+ array (
+ 'city' => 'Erlangen',
+ 'continent' => 'EU',
+ 'zone' => 'DE',
+ 'url' => 'ftp://ftp.uni-erlangen.de/mirrors/Mageia',
+ ),
+ 3 =>
+ array (
+ 'city' => 'Roma',
+ 'continent' => 'EU',
+ 'zone' => 'IT',
+ 'url' => 'http://mageia.mirror.garr.it/mirrors/mageia',
+ ),
+ 4 =>
+ array (
+ 'city' => 'Uppsala',
+ 'continent' => 'EU',
+ 'zone' => 'SE',
+ 'url' => 'http://ftp.sunet.se/pub/Linux/distributions/mageia',
+ ),
+ 5 =>
+ array (
+ 'city' => 'Minsk',
+ 'continent' => 'EU',
+ 'zone' => 'BY',
+ 'url' => 'ftp://mirror.datacenter.by/pub/mirrors/mageia.org',
+ ),
+ 6 =>
+ array (
+ 'city' => '?',
+ 'continent' => 'EU',
+ 'zone' => 'DE',
+ 'url' => 'ftp://srv3.tuxinator.org/mageia',
+ ),
+ 7 =>
+ array (
+ 'city' => 'Hermsdorf',
+ 'continent' => 'EU',
+ 'zone' => 'DE',
+ 'url' => 'ftp://mirror.tuxinator.org/mageia',
+ ),
+ 8 =>
+ array (
+ 'city' => '?',
+ 'continent' => 'EU',
+ 'zone' => 'DE',
+ 'url' => 'ftp://mirror2.tuxinator.org/mageia',
+ ),
+ 9 =>
+ array (
+ 'city' => 'Brno',
+ 'continent' => 'EU',
+ 'zone' => 'CZ',
+ 'url' => 'ftp://ftp.fi.muni.cz/pub/linux/mageia',
+ ),
+ 10 =>
+ array (
+ 'city' => 'Zlin',
+ 'continent' => 'EU',
+ 'zone' => 'CZ',
+ 'url' => 'ftp://mirror.oss.maxcdn.com/mageia',
+ ),
+ 11 =>
+ array (
+ 'city' => 'Heraklion',
+ 'continent' => 'EU',
+ 'zone' => 'GR',
+ 'url' => 'ftp://ftp.cc.uoc.gr/mirrors/linux/mageia',
+ ),
+ 12 =>
+ array (
+ 'city' => 'Uppsala',
+ 'continent' => 'EU',
+ 'zone' => 'SE',
+ 'url' => 'ftp://ftp.sunet.se/pub/Linux/distributions/mageia',
+ ),
+ 13 =>
+ array (
+ 'city' => 'Umeå',
+ 'continent' => 'EU',
+ 'zone' => 'SE',
+ 'url' => 'http://ftp.acc.umu.se/mirror/mageia',
+ ),
+ 14 =>
+ array (
+ 'city' => 'Milan',
+ 'continent' => 'EU',
+ 'zone' => 'IT',
+ 'url' => 'http://vodka.sublink.org/mageia',
+ ),
+ 15 =>
+ array (
+ 'city' => 'Esslingen',
+ 'continent' => 'EU',
+ 'zone' => 'DE',
+ 'url' => 'ftp://ftp-stud.hs-esslingen.de/pub/Mirrors/Mageia',
+ ),
+ 16 =>
+ array (
+ 'city' => 'Canterbury',
+ 'continent' => 'EU',
+ 'zone' => 'GB',
+ 'url' => 'http://www.mirrorservice.org/sites/mageia.org/pub/mageia',
+ ),
+ 17 =>
+ array (
+ 'city' => 'Enschede',
+ 'continent' => 'EU',
+ 'zone' => 'NL',
+ 'url' => 'http://ftp.snt.utwente.nl/pub/os/linux/mageia',
+ ),
+ 18 =>
+ array (
+ 'city' => 'Göttingen',
+ 'continent' => 'EU',
+ 'zone' => 'DE',
+ 'url' => 'http://ftp5.gwdg.de/pub/linux/mageia',
+ ),
+ 19 =>
+ array (
+ 'city' => 'Esslingen',
+ 'continent' => 'EU',
+ 'zone' => 'DE',
+ 'url' => 'http://ftp-stud.hs-esslingen.de/pub/Mirrors/Mageia',
+ ),
+ 20 =>
+ array (
+ 'city' => 'Heraklion',
+ 'continent' => 'EU',
+ 'zone' => 'GR',
+ 'url' => 'http://ftp.cc.uoc.gr/mirrors/linux/mageia',
+ ),
+ 21 =>
+ array (
+ 'city' => '?',
+ 'continent' => 'EU',
+ 'zone' => 'CZ',
+ 'url' => 'http://mageia.supp.name',
+ ),
+ 22 =>
+ array (
+ 'city' => '?',
+ 'continent' => 'EU',
+ 'zone' => 'DE',
+ 'url' => 'http://mirror2.tuxinator.org/mageia',
+ ),
+ 23 =>
+ array (
+ 'city' => 'Zlin',
+ 'continent' => 'EU',
+ 'zone' => 'CZ',
+ 'url' => 'http://mirror.oss.maxcdn.com/mageia',
+ ),
+ 24 =>
+ array (
+ 'city' => 'Erlangen',
+ 'continent' => 'EU',
+ 'zone' => 'DE',
+ 'url' => 'https://ftp.uni-erlangen.de/mageia',
+ ),
+ 25 =>
+ array (
+ 'city' => 'Amsterdam',
+ 'continent' => 'EU',
+ 'zone' => 'NL',
+ 'url' => 'http://ftp.nluug.nl/pub/os/Linux/distr/mageia',
+ ),
+ 26 =>
+ array (
+ 'city' => 'Moscow',
+ 'continent' => 'EU',
+ 'zone' => 'RU',
+ 'url' => 'http://mirror.yandex.ru/mageia',
+ ),
+ 27 =>
+ array (
+ 'city' => 'Roma',
+ 'continent' => 'EU',
+ 'zone' => 'IT',
+ 'url' => 'ftp://mageia.mirror.garr.it/mirrors/mageia',
+ ),
+ 28 =>
+ array (
+ 'city' => 'Enschede',
+ 'continent' => 'EU',
+ 'zone' => 'NL',
+ 'url' => 'ftp://ftp.snt.utwente.nl/pub/os/linux/mageia',
+ ),
+ 29 =>
+ array (
+ 'city' => 'Paris',
+ 'continent' => 'EU',
+ 'zone' => 'FR',
+ 'url' => 'http://distrib-coffee.ipsl.jussieu.fr/pub/linux/Mageia',
+ ),
+ 30 =>
+ array (
+ 'city' => 'Cologne',
+ 'continent' => 'EU',
+ 'zone' => 'DE',
+ 'url' => 'http://mirror.netcologne.de/mageia',
+ ),
+ 31 =>
+ array (
+ 'city' => 'Minsk',
+ 'continent' => 'EU',
+ 'zone' => 'BY',
+ 'url' => 'http://mirror.datacenter.by/pub/mirrors/mageia.org',
+ ),
+ 32 =>
+ array (
+ 'city' => 'Paris',
+ 'continent' => 'EU',
+ 'zone' => 'FR',
+ 'url' => 'http://aglae.biomedicale.univ-paris5.fr',
+ ),
+ 33 =>
+ array (
+ 'city' => 'Hermsdorf',
+ 'continent' => 'EU',
+ 'zone' => 'DE',
+ 'url' => 'http://mirror.tuxinator.org/mageia',
+ ),
+ 34 =>
+ array (
+ 'city' => 'Umeå',
+ 'continent' => 'EU',
+ 'zone' => 'SE',
+ 'url' => 'ftp://ftp.acc.umu.se/mirror/mageia',
+ ),
+ 35 =>
+ array (
+ 'city' => 'Amsterdam',
+ 'continent' => 'EU',
+ 'zone' => 'NL',
+ 'url' => 'ftp://ftp.nluug.nl/pub/os/Linux/distr/mageia',
+ ),
+ 36 =>
+ array (
+ 'city' => 'geneva',
+ 'continent' => 'EU',
+ 'zone' => 'CH',
+ 'url' => 'http://mageia.unige.ch/mirror',
+ ),
+ 37 =>
+ array (
+ 'city' => 'Lyon',
+ 'continent' => 'EU',
+ 'zone' => 'FR',
+ 'url' => 'ftp://fr2.rpmfind.net/linux/mageia',
+ ),
+ 38 =>
+ array (
+ 'city' => 'Cologne',
+ 'continent' => 'EU',
+ 'zone' => 'DE',
+ 'url' => 'ftp://mirror.netcologne.de/mageia',
+ ),
+ 39 =>
+ array (
+ 'city' => 'Lyon',
+ 'continent' => 'EU',
+ 'zone' => 'FR',
+ 'url' => 'http://fr2.rpmfind.net/linux/mageia',
+ ),
+ 40 =>
+ array (
+ 'city' => 'Paris',
+ 'continent' => 'EU',
+ 'zone' => 'FR',
+ 'url' => 'ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/Mageia',
+ ),
+ 41 =>
+ array (
+ 'city' => 'Moscow',
+ 'continent' => 'EU',
+ 'zone' => 'RU',
+ 'url' => 'http://mirrors-ru.go-parts.com/mageia',
+ ),
+ 42 =>
+ array (
+ 'city' => 'Canterbury',
+ 'continent' => 'EU',
+ 'zone' => 'GB',
+ 'url' => 'ftp://www.mirrorservice.org/sites/mageia.org/pub/mageia',
+ ),
+ ),
+ 'DE' =>
+ array (
+ 0 =>
+ array (
+ 'city' => 'Erlangen',
+ 'continent' => 'EU',
+ 'zone' => 'DE',
+ 'url' => 'http://ftp.uni-erlangen.de/mirrors/Mageia',
+ ),
+ 1 =>
+ array (
+ 'city' => 'Erlangen',
+ 'continent' => 'EU',
+ 'zone' => 'DE',
+ 'url' => 'ftp://ftp.uni-erlangen.de/mirrors/Mageia',
+ ),
+ 2 =>
+ array (
+ 'city' => '?',
+ 'continent' => 'EU',
+ 'zone' => 'DE',
+ 'url' => 'ftp://srv3.tuxinator.org/mageia',
+ ),
+ 3 =>
+ array (
+ 'city' => 'Hermsdorf',
+ 'continent' => 'EU',
+ 'zone' => 'DE',
+ 'url' => 'ftp://mirror.tuxinator.org/mageia',
+ ),
+ 4 =>
+ array (
+ 'city' => '?',
+ 'continent' => 'EU',
+ 'zone' => 'DE',
+ 'url' => 'ftp://mirror2.tuxinator.org/mageia',
+ ),
+ 5 =>
+ array (
+ 'city' => 'Esslingen',
+ 'continent' => 'EU',
+ 'zone' => 'DE',
+ 'url' => 'ftp://ftp-stud.hs-esslingen.de/pub/Mirrors/Mageia',
+ ),
+ 6 =>
+ array (
+ 'city' => 'Göttingen',
+ 'continent' => 'EU',
+ 'zone' => 'DE',
+ 'url' => 'http://ftp5.gwdg.de/pub/linux/mageia',
+ ),
+ 7 =>
+ array (
+ 'city' => 'Esslingen',
+ 'continent' => 'EU',
+ 'zone' => 'DE',
+ 'url' => 'http://ftp-stud.hs-esslingen.de/pub/Mirrors/Mageia',
+ ),
+ 8 =>
+ array (
+ 'city' => '?',
+ 'continent' => 'EU',
+ 'zone' => 'DE',
+ 'url' => 'http://mirror2.tuxinator.org/mageia',
+ ),
+ 9 =>
+ array (
+ 'city' => 'Erlangen',
+ 'continent' => 'EU',
+ 'zone' => 'DE',
+ 'url' => 'https://ftp.uni-erlangen.de/mageia',
+ ),
+ 10 =>
+ array (
+ 'city' => 'Cologne',
+ 'continent' => 'EU',
+ 'zone' => 'DE',
+ 'url' => 'http://mirror.netcologne.de/mageia',
+ ),
+ 11 =>
+ array (
+ 'city' => 'Hermsdorf',
+ 'continent' => 'EU',
+ 'zone' => 'DE',
+ 'url' => 'http://mirror.tuxinator.org/mageia',
+ ),
+ 12 =>
+ array (
+ 'city' => 'Cologne',
+ 'continent' => 'EU',
+ 'zone' => 'DE',
+ 'url' => 'ftp://mirror.netcologne.de/mageia',
+ ),
+ ),
+ 'IT' =>
+ array (
+ 0 =>
+ array (
+ 'city' => 'Roma',
+ 'continent' => 'EU',
+ 'zone' => 'IT',
+ 'url' => 'http://mageia.mirror.garr.it/mirrors/mageia',
+ ),
+ 1 =>
+ array (
+ 'city' => 'Milan',
+ 'continent' => 'EU',
+ 'zone' => 'IT',
+ 'url' => 'http://vodka.sublink.org/mageia',
+ ),
+ 2 =>
+ array (
+ 'city' => 'Roma',
+ 'continent' => 'EU',
+ 'zone' => 'IT',
+ 'url' => 'ftp://mageia.mirror.garr.it/mirrors/mageia',
+ ),
+ ),
+ 'US' =>
+ array (
+ 0 =>
+ array (
+ 'city' => 'Southfeild',
+ 'continent' => 'NA',
+ 'zone' => 'US',
+ 'url' => 'http://mirror.nexcess.net/mageia',
+ ),
+ 1 =>
+ array (
+ 'city' => '?',
+ 'continent' => 'NA',
+ 'zone' => 'US',
+ 'url' => 'http://mirrors.kernel.org/mageia',
+ ),
+ 2 =>
+ array (
+ 'city' => 'Southfeild',
+ 'continent' => 'NA',
+ 'zone' => 'US',
+ 'url' => 'ftp://mirror.nexcess.net/mageia',
+ ),
+ 3 =>
+ array (
+ 'city' => 'glen allen',
+ 'continent' => 'NA',
+ 'zone' => 'US',
+ 'url' => 'http://mageia.jameswhitby.net/mageia',
+ ),
+ 4 =>
+ array (
+ 'city' => 'glen allen',
+ 'continent' => 'NA',
+ 'zone' => 'US',
+ 'url' => 'ftp://mageia.jameswhitby.net/mageia',
+ ),
+ ),
+ '_C:NA' =>
+ array (
+ 0 =>
+ array (
+ 'city' => 'Southfeild',
+ 'continent' => 'NA',
+ 'zone' => 'US',
+ 'url' => 'http://mirror.nexcess.net/mageia',
+ ),
+ 1 =>
+ array (
+ 'city' => '?',
+ 'continent' => 'NA',
+ 'zone' => 'US',
+ 'url' => 'http://mirrors.kernel.org/mageia',
+ ),
+ 2 =>
+ array (
+ 'city' => 'Toronto',
+ 'continent' => 'NA',
+ 'zone' => 'CA',
+ 'url' => 'ftp://mageia.webconquest.com',
+ ),
+ 3 =>
+ array (
+ 'city' => 'Toronto',
+ 'continent' => 'NA',
+ 'zone' => 'CA',
+ 'url' => 'http://mageia.webconquest.com',
+ ),
+ 4 =>
+ array (
+ 'city' => 'Southfeild',
+ 'continent' => 'NA',
+ 'zone' => 'US',
+ 'url' => 'ftp://mirror.nexcess.net/mageia',
+ ),
+ 5 =>
+ array (
+ 'city' => 'glen allen',
+ 'continent' => 'NA',
+ 'zone' => 'US',
+ 'url' => 'http://mageia.jameswhitby.net/mageia',
+ ),
+ 6 =>
+ array (
+ 'city' => 'glen allen',
+ 'continent' => 'NA',
+ 'zone' => 'US',
+ 'url' => 'ftp://mageia.jameswhitby.net/mageia',
+ ),
+ ),
+ 'SE' =>
+ array (
+ 0 =>
+ array (
+ 'city' => 'Uppsala',
+ 'continent' => 'EU',
+ 'zone' => 'SE',
+ 'url' => 'http://ftp.sunet.se/pub/Linux/distributions/mageia',
+ ),
+ 1 =>
+ array (
+ 'city' => 'Uppsala',
+ 'continent' => 'EU',
+ 'zone' => 'SE',
+ 'url' => 'ftp://ftp.sunet.se/pub/Linux/distributions/mageia',
+ ),
+ 2 =>
+ array (
+ 'city' => 'Umeå',
+ 'continent' => 'EU',
+ 'zone' => 'SE',
+ 'url' => 'http://ftp.acc.umu.se/mirror/mageia',
+ ),
+ 3 =>
+ array (
+ 'city' => 'Umeå',
+ 'continent' => 'EU',
+ 'zone' => 'SE',
+ 'url' => 'ftp://ftp.acc.umu.se/mirror/mageia',
+ ),
+ ),
+ 'BY' =>
+ array (
+ 0 =>
+ array (
+ 'city' => 'Minsk',
+ 'continent' => 'EU',
+ 'zone' => 'BY',
+ 'url' => 'ftp://mirror.datacenter.by/pub/mirrors/mageia.org',
+ ),
+ 1 =>
+ array (
+ 'city' => 'Minsk',
+ 'continent' => 'EU',
+ 'zone' => 'BY',
+ 'url' => 'http://mirror.datacenter.by/pub/mirrors/mageia.org',
+ ),
+ ),
+ 'GR' =>
+ array (
+ 0 =>
+ array (
+ 'city' => 'Heraklion',
+ 'continent' => 'EU',
+ 'zone' => 'GR',
+ 'url' => 'ftp://ftp.cc.uoc.gr/mirrors/linux/mageia',
+ ),
+ 1 =>
+ array (
+ 'city' => 'Heraklion',
+ 'continent' => 'EU',
+ 'zone' => 'GR',
+ 'url' => 'http://ftp.cc.uoc.gr/mirrors/linux/mageia',
+ ),
+ ),
+ 'CA' =>
+ array (
+ 0 =>
+ array (
+ 'city' => 'Toronto',
+ 'continent' => 'NA',
+ 'zone' => 'CA',
+ 'url' => 'ftp://mageia.webconquest.com',
+ ),
+ 1 =>
+ array (
+ 'city' => 'Toronto',
+ 'continent' => 'NA',
+ 'zone' => 'CA',
+ 'url' => 'http://mageia.webconquest.com',
+ ),
+ ),
+ 'BR' =>
+ array (
+ 0 =>
+ array (
+ 'city' => 'Campinas',
+ 'continent' => 'SA',
+ 'zone' => 'BR',
+ 'url' => 'ftp://ftp.las.ic.unicamp.br/pub/mageia',
+ ),
+ 1 =>
+ array (
+ 'city' => 'Brasilia',
+ 'continent' => 'SA',
+ 'zone' => 'BR',
+ 'url' => 'http://mageia.fis.unb.br',
+ ),
+ 2 =>
+ array (
+ 'city' => 'Campinas',
+ 'continent' => 'SA',
+ 'zone' => 'BR',
+ 'url' => 'http://ftp.las.ic.unicamp.br/pub/mageia',
+ ),
+ 3 =>
+ array (
+ 'city' => '?',
+ 'continent' => 'SA',
+ 'zone' => 'BR',
+ 'url' => 'ftp://mageia.c3sl.ufpr.br/mageia',
+ ),
+ 4 =>
+ array (
+ 'city' => '?',
+ 'continent' => 'SA',
+ 'zone' => 'BR',
+ 'url' => 'http://mageia.c3sl.ufpr.br',
+ ),
+ ),
+ '_C:SA' =>
+ array (
+ 0 =>
+ array (
+ 'city' => 'Campinas',
+ 'continent' => 'SA',
+ 'zone' => 'BR',
+ 'url' => 'ftp://ftp.las.ic.unicamp.br/pub/mageia',
+ ),
+ 1 =>
+ array (
+ 'city' => 'Cuenca',
+ 'continent' => 'SA',
+ 'zone' => 'EC',
+ 'url' => 'ftp://mirror.cedia.org.ec/mageia',
+ ),
+ 2 =>
+ array (
+ 'city' => 'Brasilia',
+ 'continent' => 'SA',
+ 'zone' => 'BR',
+ 'url' => 'http://mageia.fis.unb.br',
+ ),
+ 3 =>
+ array (
+ 'city' => 'Campinas',
+ 'continent' => 'SA',
+ 'zone' => 'BR',
+ 'url' => 'http://ftp.las.ic.unicamp.br/pub/mageia',
+ ),
+ 4 =>
+ array (
+ 'city' => '?',
+ 'continent' => 'SA',
+ 'zone' => 'BR',
+ 'url' => 'ftp://mageia.c3sl.ufpr.br/mageia',
+ ),
+ 5 =>
+ array (
+ 'city' => 'Cuenca',
+ 'continent' => 'SA',
+ 'zone' => 'EC',
+ 'url' => 'http://mirror.cedia.org.ec/mageia',
+ ),
+ 6 =>
+ array (
+ 'city' => '?',
+ 'continent' => 'SA',
+ 'zone' => 'BR',
+ 'url' => 'http://mageia.c3sl.ufpr.br',
+ ),
+ ),
+ 'JP' =>
+ array (
+ 0 =>
+ array (
+ 'city' => 'Tsukuba',
+ 'continent' => 'AS',
+ 'zone' => 'JP',
+ 'url' => 'http://ftp.tsukuba.wide.ad.jp/Linux/mageia',
+ ),
+ ),
+ 'GB' =>
+ array (
+ 0 =>
+ array (
+ 'city' => 'Canterbury',
+ 'continent' => 'EU',
+ 'zone' => 'GB',
+ 'url' => 'http://www.mirrorservice.org/sites/mageia.org/pub/mageia',
+ ),
+ 1 =>
+ array (
+ 'city' => 'Canterbury',
+ 'continent' => 'EU',
+ 'zone' => 'GB',
+ 'url' => 'ftp://www.mirrorservice.org/sites/mageia.org/pub/mageia',
+ ),
+ ),
+ 'NL' =>
+ array (
+ 0 =>
+ array (
+ 'city' => 'Enschede',
+ 'continent' => 'EU',
+ 'zone' => 'NL',
+ 'url' => 'http://ftp.snt.utwente.nl/pub/os/linux/mageia',
+ ),
+ 1 =>
+ array (
+ 'city' => 'Amsterdam',
+ 'continent' => 'EU',
+ 'zone' => 'NL',
+ 'url' => 'http://ftp.nluug.nl/pub/os/Linux/distr/mageia',
+ ),
+ 2 =>
+ array (
+ 'city' => 'Enschede',
+ 'continent' => 'EU',
+ 'zone' => 'NL',
+ 'url' => 'ftp://ftp.snt.utwente.nl/pub/os/linux/mageia',
+ ),
+ 3 =>
+ array (
+ 'city' => 'Amsterdam',
+ 'continent' => 'EU',
+ 'zone' => 'NL',
+ 'url' => 'ftp://ftp.nluug.nl/pub/os/Linux/distr/mageia',
+ ),
+ ),
+ 'ZA' =>
+ array (
+ 0 =>
+ array (
+ 'city' => 'Stellenbosch',
+ 'continent' => 'AF',
+ 'zone' => 'ZA',
+ 'url' => 'ftp://ftp.sun.ac.za/pub/mirrors/mageia',
+ ),
+ 1 =>
+ array (
+ 'city' => 'Stellenbosch',
+ 'continent' => 'AF',
+ 'zone' => 'ZA',
+ 'url' => 'http://ftp.sun.ac.za/ftp/pub/mirrors/mageia',
+ ),
+ ),
+ '_C:AF' =>
+ array (
+ 0 =>
+ array (
+ 'city' => 'Stellenbosch',
+ 'continent' => 'AF',
+ 'zone' => 'ZA',
+ 'url' => 'ftp://ftp.sun.ac.za/pub/mirrors/mageia',
+ ),
+ 1 =>
+ array (
+ 'city' => 'Stellenbosch',
+ 'continent' => 'AF',
+ 'zone' => 'ZA',
+ 'url' => 'http://ftp.sun.ac.za/ftp/pub/mirrors/mageia',
+ ),
+ ),
+ 'TW' =>
+ array (
+ 0 =>
+ array (
+ 'city' => 'HsinChu',
+ 'continent' => 'AS',
+ 'zone' => 'TW',
+ 'url' => 'ftp://ftp.twaren.net/Linux/Mageia',
+ ),
+ 1 =>
+ array (
+ 'city' => 'Taipei',
+ 'continent' => 'AS',
+ 'zone' => 'TW',
+ 'url' => 'ftp://ftp.tku.edu.tw/Linux/Mageia',
+ ),
+ 2 =>
+ array (
+ 'city' => 'Chungli',
+ 'continent' => 'AS',
+ 'zone' => 'TW',
+ 'url' => 'http://ftp.yzu.edu.tw/Linux/Mageia',
+ ),
+ 3 =>
+ array (
+ 'city' => 'Taipei',
+ 'continent' => 'AS',
+ 'zone' => 'TW',
+ 'url' => 'http://ftp.tku.edu.tw/Linux/Mageia',
+ ),
+ 4 =>
+ array (
+ 'city' => 'Chungli',
+ 'continent' => 'AS',
+ 'zone' => 'TW',
+ 'url' => 'ftp://ftp.yzu.edu.tw/Linux/Mageia',
+ ),
+ ),
+ 'AU' =>
+ array (
+ 0 =>
+ array (
+ 'city' => 'Adelaide',
+ 'continent' => 'OC',
+ 'zone' => 'AU',
+ 'url' => 'http://mirror.internode.on.net/pub/mageia',
+ ),
+ ),
+ '_C:OC' =>
+ array (
+ 0 =>
+ array (
+ 'city' => 'Adelaide',
+ 'continent' => 'OC',
+ 'zone' => 'AU',
+ 'url' => 'http://mirror.internode.on.net/pub/mageia',
+ ),
+ ),
+ 'RU' =>
+ array (
+ 0 =>
+ array (
+ 'city' => 'Moscow',
+ 'continent' => 'EU',
+ 'zone' => 'RU',
+ 'url' => 'http://mirror.yandex.ru/mageia',
+ ),
+ 1 =>
+ array (
+ 'city' => 'Moscow',
+ 'continent' => 'EU',
+ 'zone' => 'RU',
+ 'url' => 'http://mirrors-ru.go-parts.com/mageia',
+ ),
+ ),
+ 'FR' =>
+ array (
+ 0 =>
+ array (
+ 'city' => 'Paris',
+ 'continent' => 'EU',
+ 'zone' => 'FR',
+ 'url' => 'http://distrib-coffee.ipsl.jussieu.fr/pub/linux/Mageia',
+ ),
+ 1 =>
+ array (
+ 'city' => 'Paris',
+ 'continent' => 'EU',
+ 'zone' => 'FR',
+ 'url' => 'http://aglae.biomedicale.univ-paris5.fr',
+ ),
+ 2 =>
+ array (
+ 'city' => 'Lyon',
+ 'continent' => 'EU',
+ 'zone' => 'FR',
+ 'url' => 'ftp://fr2.rpmfind.net/linux/mageia',
+ ),
+ 3 =>
+ array (
+ 'city' => 'Lyon',
+ 'continent' => 'EU',
+ 'zone' => 'FR',
+ 'url' => 'http://fr2.rpmfind.net/linux/mageia',
+ ),
+ 4 =>
+ array (
+ 'city' => 'Paris',
+ 'continent' => 'EU',
+ 'zone' => 'FR',
+ 'url' => 'ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/Mageia',
+ ),
+ ),
+ 'TR' =>
+ array (
+ 0 =>
+ array (
+ 'city' => 'Ankara',
+ 'continent' => 'AS',
+ 'zone' => 'TR',
+ 'url' => 'http://ftp.linux.org.tr/mageia',
+ ),
+ 1 =>
+ array (
+ 'city' => 'Ankara',
+ 'continent' => 'AS',
+ 'zone' => 'TR',
+ 'url' => 'ftp://ftp.linux.org.tr/mageia',
+ ),
+ ),
+ 'EC' =>
+ array (
+ 0 =>
+ array (
+ 'city' => 'Cuenca',
+ 'continent' => 'SA',
+ 'zone' => 'EC',
+ 'url' => 'ftp://mirror.cedia.org.ec/mageia',
+ ),
+ 1 =>
+ array (
+ 'city' => 'Cuenca',
+ 'continent' => 'SA',
+ 'zone' => 'EC',
+ 'url' => 'http://mirror.cedia.org.ec/mageia',
+ ),
+ ),
+ 'CH' =>
+ array (
+ 0 =>
+ array (
+ 'city' => 'geneva',
+ 'continent' => 'EU',
+ 'zone' => 'CH',
+ 'url' => 'http://mageia.unige.ch/mirror',
+ ),
+ ),
+); ?>