nickjillings@2192: 0; $abs=preg_replace($re, '/', $abs, -1, $n)) {} nickjillings@2192: nickjillings@2192: /* absolute URL is ready! */ nickjillings@2192: return $scheme.'://'.$abs; nickjillings@2192: } nickjillings@2192: nickjillings@2192: // XML Saves location - assumes it will be saves/ nickjillings@2192: $data = []; nickjillings@2192: $saves = glob("../saves/*.xml"); nickjillings@2192: if (is_array($saves)) nickjillings@2192: { nickjillings@2192: foreach($saves as $filename) { nickjillings@2192: $xml_string = file_get_contents($filename, FILE_TEXT); nickjillings@2192: $xml_object = simplexml_load_string($xml_string); nickjillings@2192: if ($xml_object) { nickjillings@2192: $filename = rel2abs($filename,"http://".$_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']); nickjillings@2192: $waet = $xml_object->waet[0]; nickjillings@2192: $testName = urldecode($waet["url"]); nickjillings@2192: if(array_key_exists($testName,$data)) { nickjillings@2192: // Key exists nickjillings@2192: array_push($data[$testName],$filename); nickjillings@2192: } else { nickjillings@2192: // Key does not exist nickjillings@2192: $data[$testName] = [$filename]; nickjillings@2192: } nickjillings@2192: } nickjillings@2192: } nickjillings@2192: } nickjillings@2192: nickjillings@2192: // Now read the format response nickjillings@2192: $format = "JSON"; nickjillings@2192: if (array_key_exists("format",$_GET)) { nickjillings@2192: $format = $_GET["format"]; nickjillings@2192: } nickjillings@2192: switch($format) { nickjillings@2192: case "JSON": nickjillings@2192: // Return JSON nickjillings@2192: $doc_root = '{"tests": ['; nickjillings@2192: $keys = array_keys($data); nickjillings@2192: $numTests = count($data); nickjillings@2192: for ($testIndex = 0; $testIndex < $numTests; $testIndex++) { nickjillings@2192: $test_root = '{"testName": "'.$keys[$testIndex].'", "files": ['; nickjillings@2192: $numFiles = count($data[$keys[$testIndex]]); nickjillings@2192: for ($countIndex=0; $countIndex < $numFiles; $countIndex++) { nickjillings@2192: $test_root = $test_root.'"'.$data[$keys[$testIndex]][$countIndex].'"'; nickjillings@2192: if ($countIndex == $numFiles-1) { nickjillings@2192: $test_root = $test_root.']}'; nickjillings@2192: } else { nickjillings@2192: $test_root = $test_root.','; nickjillings@2192: } nickjillings@2192: } nickjillings@2192: $doc_root = $doc_root.$test_root; nickjillings@2192: if ($testIndex == $numTests-1) { nickjillings@2192: $doc_root = $doc_root.']}'; nickjillings@2192: } else { nickjillings@2192: $doc_root = $doc_root.','; nickjillings@2192: } nickjillings@2192: } nickjillings@2192: echo $doc_root; nickjillings@2192: break; nickjillings@2192: default: nickjillings@2192: echo '{"error": "format can only be JSON"}'; nickjillings@2192: } nickjillings@2192: nickjillings@2192: ?>