From be8546bdf55f9c77012217ec510b81d9d5fd58b3 Mon Sep 17 00:00:00 2001 From: cynic Date: Thu, 14 Sep 2023 19:10:13 -0500 Subject: make 'oracles' feature backwards compatible with php 7.4 (#13) adds implementations of `str_contains` and `str_starts_with` that are used if the functions are not already defined. this should enable 4get to work on both php 7.4 and php 8.* my instance is currently on 7.4.33, and you can see the oracles working here: [calc.php](https://4get.silly.computer/web?s=2%2B4*(2^2)) [encoder.php](https://4get.silly.computer/web?s=md5+hamburger) [numerics.php](https://4get.silly.computer/web?s=0xf0f0f) [time.php](https://4get.silly.computer/web?s=what+is+the+time+right+now+tz%253Aest) Reviewed-on: https://git.lolcat.ca/lolcat/4get/pulls/13 Co-authored-by: cynic Co-committed-by: cynic --- oracles/base.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'oracles/base.php') diff --git a/oracles/base.php b/oracles/base.php index 45747fc..84299fd 100644 --- a/oracles/base.php +++ b/oracles/base.php @@ -21,4 +21,16 @@ abstract class oracle { return ""; } } +// backwards compatibility +if (!function_exists('str_starts_with')) { + function str_starts_with($haystack, $needle) { + return strncmp($haystack, $needle, strlen($needle)) === 0;; + } +} +if (!function_exists('str_contains')) { + function str_contains($haystack, $needle) { + return strpos((string)$haystack, (string)$needle) !== false; + } +} + ?> \ No newline at end of file -- cgit v1.2.3