rc3/maps/ir/cellar/01/uncache.php

39 lines
1.0 KiB
PHP

<?php
// Workadventure cache destroyer
// URL rewrite rule calls us with the original filename in URL paramter "target"
if (!isset($_GET['target'])) {
echo("No target");
exit;
}
$target = $_GET["target"];
if (file_exists($target.".php"))
{
// If a PHP file target.php exists:
// Run that file and capture its output
ob_start();
include $target.".php";
ob_end_flush();
}
else
{
// If no PHP file target.php exists:
// Load contents from target.json
if (!file_exists($target.".json"))
{
echo($target.".json"." not found.");
exit;
}
$data = str_replace(".php#", ".".$tstamp.".php#", $data); // Patch php-exits to prevent caching
}
// Replace map exit names with timestamps:
// destination.php#start --> destination.number.php#start
$tstamp = round(microtime(true)*100); # 0.01 sec resolution
$data = str_replace(".php#", ".".$tstamp.".php#", $data); // Patch php-exits to prevent caching
header("Expires: 0");
header('Content-type: application/json');
echo($data);
exit;
?>