expire symlink requests by lstatted mtime
[sc2-widget] / widget.php
index 78f0ab28ef564b6f2fcd70a40b8581fbb6aa11fc..463ff67f1fef13c14182736797e4aa493c1a99fe 100644 (file)
@@ -19,18 +19,21 @@ function error($message, $status = 500)
 
 $request = trim($_SERVER['PATH_INFO'], '/');
 $target = "data/$request.json";
-$last = file_exists($target) ? filemtime($target) : 0;
+$last = file_exists($target) ? lstat($target)['mtime'] : 0;
 
 if ($last < time() - 3600) {
        $recipe = NULL;
        if (is_numeric($request)) {
                $recipe = $request;
        }
-       elseif ($request == 'inno') {
-               #TODO: get ids from existing data
-               $recipe = "$request 2138280 6531490";
+       elseif ($last) {
+               if ($data = json_decode(file_get_contents($target), true)) {
+                       $profiles = array_column($data['members'], 'profileId');
+                       #TODO: reduce profiles by checking ladder presence
+                       $recipe = join(' ', array_merge([$request], $profiles));
+               }
        }
-       elseif (!$last) {
+       else {
                error("Unknown profile request <q>$request</q>", 400);
        }