3 $requestBody = file_get_contents('php://input');
5 $requestJson = json_decode($requestBody, true);
7 if (empty($requestJson['old']) && empty($requestJson['new'])) {
8 throw new \Exception('Old text or new text is required.');
11 $jsonFile = __DIR__.'/demos.json';
13 $demoStorage = json_decode(file_get_contents($jsonFile), true);
15 if (empty($requestJson['name'])) {
16 $requestJson['name'] = 'DEMO '.count($demoStorage);
19 $oldText = $requestJson['old'];
20 $newText = $requestJson['new'];
21 $name = $requestJson['name'];
22 $legislativeOverride = !empty($requestJson['legislativeOverride']) ? $requestJson['legislativeOverride'] : null;
24 $existingDemoIndex = null;
25 foreach ($demoStorage as $index => $demo) {
26 if ($demo['name'] === $name) {
27 $existingDemoIndex = $index;
32 if ($existingDemoIndex !== null) {
33 $demoStorage[$existingDemoIndex]['old'] = $oldText;
34 $demoStorage[$existingDemoIndex]['new'] = $newText;
36 $demoStorage[] = array(
40 'legislativeOverride' => $legislativeOverride,
44 if (false === file_put_contents($jsonFile, json_encode($demoStorage))) {
45 throw new \Exception("Unable to save to file: $jsonFile");