X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=public%2Findex.php;h=c1679805116d98cbe270fd0deac31b8c5a02df2d;hb=ca28cc374dadf2ba786ccca8a6e4fc824458ccae;hp=9f35721218519a6fcae5402c58b39738f4c56dfd;hpb=344c869c38c22c9a0e1590c1dc5640b308c0fe5e;p=pharext%2Freplicator.pharext.org diff --git a/public/index.php b/public/index.php index 9f35721..c167980 100644 --- a/public/index.php +++ b/public/index.php @@ -1,214 +1,86 @@ - - -
- -Package | -Date | -Size | -Pharext | -|||
---|---|---|---|---|---|---|
- = htmlspecialchars($package) ?> - = htmlspecialchars($version) ?> - | - - list($phar, $meta)) : ?> -- ext.phar= htmlspecialchars($ext) ?> - | - - - -- - - | - "today", "yesterday"]; - do { - for ($i = 1; $i < 7; ++$i) { - if ($lmod > $time - $dsec * $i) { - switch ($i) { - case 1: - echo "today"; - break 3; - case 2: - echo "yesterday"; - break 3; - default: - echo "$i days ago"; - break 3; - } - } - } - echo date("Y-m-d", $lmod); - } while (false); - - ?> +function human_date($t) { + $d = date_create("@".$_SERVER["REQUEST_TIME"]); + for ($i = 1; $i < 7; ++$i) { + if ($t > $d->modify("-$i days")->format("U")) { + switch ($i) { + case 1: + return "today"; + case 2: + return "yesterday"; + default: + return "$i days ago"; + } + } + } + return gmdate("Y-m-d", $t); +} + +function sigof($phar, $typ) { + return str_replace("phars/", "sigs/", $phar) . ".$typ"; +} - | -- getMetadata(); + if ($meta) { + $release = $meta["release"]; + } else { + $release = substr($name, strlen($package)+1); + } - $u = ["Bytes", "KB", "MB"]; - $s = filesize($phar); - $l = floor(log10($s)); - printf("%1.1F %s\n", $s/pow(10,$l-($l%3)), $u[$l/3]); + foreach (SIGS as $sigtyp => $sigext) { + if (file_exists($sigdat = sigof($phar, $sigext))) { + $sigs[$sigtyp] = $sigdat; + } + } + $size = filesize($phar); + $date = isset($meta["date"]) ? strtotime($meta["date"]) : filemtime($phar); + $pharext = isset($meta["version"]) ? $meta["version"] : "2.0.1"; + $versions[$release][$enc] = compact("phar", "date", "size", "pharext", "sigs"); + uksort($versions[$release], function($a, $b) { + $al = strlen($a); + $bl = strlen($b); + if ($al < $bl) return -1; + if ($al > $bl) return 1; + return 0; + }); + } + uksort($versions, "version_compare"); + return $versions; +} - ?> - | -- - | -