aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Dag <me@dvikan.no> 2022-06-09 18:00:51 +0200
committerGravatar GitHub <noreply@github.com> 2022-06-09 18:00:51 +0200
commit6df5a4bc14abd9aec4ed1936f2b032ce754af358 (patch)
tree13263e49527255736d0a287b9436123cd75f0f01
parent3927ecd8220fca3e52ddc2ba42267e258b6a2a5d (diff)
downloadrss-bridge-6df5a4bc14abd9aec4ed1936f2b032ce754af358.tar.gz
rss-bridge-6df5a4bc14abd9aec4ed1936f2b032ce754af358.tar.zst
rss-bridge-6df5a4bc14abd9aec4ed1936f2b032ce754af358.zip
feat: backport php 7.3 functions (#2803)
* feat: backport php 7.3 functions * fix: add license * fix: formatting * fix: add note in README regarding license
-rw-r--r--README.md1
-rw-r--r--lib/php8backports.php34
2 files changed, 35 insertions, 0 deletions
diff --git a/README.md b/README.md
index 0b9e8b04..fe63951c 100644
--- a/README.md
+++ b/README.md
@@ -320,6 +320,7 @@ RSS-Bridge uses third party libraries with their own license:
* [`Parsedown`](https://github.com/erusev/parsedown) licensed under the [MIT License](https://opensource.org/licenses/MIT)
* [`PHP Simple HTML DOM Parser`](https://simplehtmldom.sourceforge.io/docs/1.9/index.html) licensed under the [MIT License](https://opensource.org/licenses/MIT)
* [`php-urljoin`](https://github.com/fluffy-critter/php-urljoin) licensed under the [MIT License](https://opensource.org/licenses/MIT)
+ * [php polyfills](https://github.com/symfony/polyfill) licensed under the [MIT License](https://opensource.org/licenses/MIT)
Technical notes
===
diff --git a/lib/php8backports.php b/lib/php8backports.php
index aa68b77a..08fa1302 100644
--- a/lib/php8backports.php
+++ b/lib/php8backports.php
@@ -30,3 +30,37 @@ if (!function_exists('str_contains')) {
return $needle !== '' && mb_strpos($haystack, $needle) !== false;
}
}
+
+// php 7.3 https://github.com/symfony/polyfill/blob/main/src/Php73/bootstrap.php
+//
+// Copyright (c) 2018-2019 Fabien Potencier
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is furnished
+// to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in all
+// copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+if (!function_exists('array_key_first')) {
+ function array_key_first(array $array) {
+ foreach ($array as $key => $value) {
+ return $key;
+ }
+ }
+}
+if (!function_exists('array_key_last')) {
+ function array_key_last(array $array) {
+ return key(array_slice($array, -1, 1, true));
+ }
+}