$request = trim($_SERVER['PATH_INFO'], '/');
$target = "$request.json";
-if (!file_exists($target)) {
- if (!is_numeric($request)) {
+$last = file_exists($target) ? filemtime($target) : 0;
+
+if ($last < time() - 3600) {
+ $recipe = NULL;
+ if (is_numeric($request)) {
+ $recipe = $request;
+ }
+ elseif (!$last) {
error("Unknown profile request <q>$request</q>", 400);
}
- system("./getsc2clan $request | sponge $target", $exitcode);
- if ($exitcode) {
- error("No results for profile id $request from Blizzard", 503);
+
+ if ($recipe) {
+ system("./getsc2clan $recipe | sponge $target", $exitcode);
+ if ($exitcode and !$last) {
+ error("No results for profile $request from Blizzard", 503);
+ }
}
}
if (!filesize($target)) {