json_encode($item, JSON_UNESCAPED_SLASHES), $history); file_put_contents(HISTORY_FILE, implode(PHP_EOL, $lines) . PHP_EOL, LOCK_EX); } function searchHistory(string $query): array { $results = $fake404 = []; foreach (loadHistory() as $entry) { if (stripos(json_encode($entry, JSON_UNESCAPED_SLASHES), $query) !== false) { if (inPlatformArray($entry['platform'], PLATFORMS_FAKE404)) { $entry2 = $entry; unset($entry2['relativeurl']); foreach ($fake404 as $item) { if (json_encode($entry2, JSON_UNESCAPED_SLASHES) === json_encode($item, JSON_UNESCAPED_SLASHES)) { goto skip; } } $fake404[] = $entry2; } $results[] = $entry; skip: } } return $results; } function searchExactHistory(string $platform, string $relativeUrl): array { return searchHistory(json_encode([ 'platform' => $platform, 'relativeurl' => $relativeUrl, ], JSON_UNESCAPED_SLASHES)); }