summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xcheck.php45
1 files changed, 33 insertions, 12 deletions
diff --git a/check.php b/check.php
index 10cb5cfd..7e07ccca 100755
--- a/check.php
+++ b/check.php
@@ -1,5 +1,9 @@
#!/usr/bin/env php
<?php
+
+define('ERR_OFFLINE', -1);
+define('ERR_CONTENT', -2);
+
$cli = (php_sapi_name()=="cli");
if ($cli) {
chdir(__DIR__);
@@ -10,7 +14,7 @@ if ($cli) {
<head>
<meta content="text/html; charset=utf-8" http-equiv="content-type" />
<title>Les RPM de Remi - Mirror check</title>
- <link href="fedora/17/remi/i386/repoview/layout/repostyle.css" type="text/css" rel="stylesheet" />
+ <link href="enterprise/8/remi/x86_64/repoview/layout/repostyle.css" type="text/css" rel="stylesheet" />
<meta content="index,follow" name="robots" />
<link rel="shortcut icon" href="/favicon.ico" />
</head>
@@ -31,12 +35,12 @@ if ($cli) {
<?php
}
$repos = array(
+ 'enterprise/8' => 'Enterprise Linux 8',
'enterprise/7' => 'Enterprise Linux 7',
'enterprise/6' => 'Enterprise Linux 6',
- 'enterprise/5' => 'Enterprise Linux 5',
- 'fedora/22' => 'Fedora 22',
- 'fedora/21' => 'Fedora 21',
- 'fedora/20' => 'Fedora 20',
+ 'fedora/31' => 'Fedora 31',
+ 'fedora/30' => 'Fedora 30',
+ 'fedora/29' => 'Fedora 29',
);
$subs = array(
'remi',
@@ -120,16 +124,25 @@ $deprecated = array(
'http://mirror.pw/remi/',
);
function getRepoTime($uri) {
- $xml = @simplexml_load_file($uri.'/repodata/repomd.xml');
- if ($xml && $xml->revision) {
+ $ctx = stream_context_create([
+ 'http' => [
+ 'timeout' => 1.5,
+ ]
+ ]);
+ $txt = @file_get_contents($uri . '/repodata/repomd.xml', false, $ctx);
+ if (!$txt) {
+ return ERR_OFFLINE;
+ }
+ $xml = @simplexml_load_string($txt);
+ if ($xml && $xml->revision>100000) {
return intval($xml->revision);
}
- return 0;
+ return ERR_CONTENT;
}
if (isset($_GET['mirror']) && isset($repos[$_GET['mirror']])) {
$path = $_GET['mirror'];
} else {
- $path = 'enterprise/7';
+ $path = 'enterprise/8';
}
if (isset($_GET['repo']) && in_array($_GET['repo'], $subs)) {
$repo = $_GET['repo'];
@@ -170,7 +183,11 @@ if ($ref) {
} else { // Child
$pids = array();
$loc = getRepoTime($mirror.$full);
- if ($ref == $loc) {
+ if ($loc == ERR_OFFLINE) {
+ printf("%50.50s : ** Unreachable **\n", $mirror);
+ } else if ($loc == ERR_CONTENT) {
+ printf("%50.50s : ** Corrupted **\n", $mirror);
+ } else if ($ref == $loc) {
printf("%50.50s : Ok\n", $mirror);
} else if ($loc) {
printf("%50.50s : %s\n", $mirror, date('r', $loc));
@@ -183,9 +200,13 @@ if ($ref) {
}
flush();
$host = parse_url($mirror, PHP_URL_HOST);
- printf("<li><a href='%s'>%s</a> ", $mirror, $host);
+ //printf("<li><a href='%s'>%s</a> ", $mirror, $host);
$loc = getRepoTime($mirror.$full);
- if ($ref == $loc) {
+ if ($loc == ERR_OFFLINE) {
+ printf("<li><a href='%s'>%s</a> <b>Unreachable</b></li>\n", $mirror, $mirror);
+ } else if ($loc == ERR_CONTENT) {
+ printf("<li><a href='%s'>%s</a> <b>Corrupted</b></li>\n", $mirror, $mirror);
+ } else if ($ref == $loc) {
printf("<li><a href='%s'>%s</a> Ok</li>\n", $mirror, $mirror);
} else if ($loc) {
printf("<li><a href='%s'>%s</a> %s</li>\n", $mirror, $mirror, date('r', $loc));