mirror of
https://github.com/RSS-Bridge/rss-bridge.git
synced 2025-04-01 14:24:39 +03:00
chore: bump required php version to 7.4 (#2838)
* chore: require min php 7.4
* Revert "feat: backport php 7.3 functions (#2803)"
This reverts commit 6df5a4bc14
.
* [BandcampDaily] use array_key_first
* hard fail on php versions below 7.4
* update phpcompat linter
This commit is contained in:
parent
192dc4dae2
commit
8365a7a34d
8 changed files with 10 additions and 59 deletions
4
.github/workflows/lint.yml
vendored
4
.github/workflows/lint.yml
vendored
|
@ -11,7 +11,7 @@ jobs:
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-20.04
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
php-versions: ['7.1', '7.2', '7.3', '7.4']
|
php-versions: ['7.4']
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- uses: shivammathur/setup-php@v2
|
- uses: shivammathur/setup-php@v2
|
||||||
|
@ -24,7 +24,7 @@ jobs:
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-20.04
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
php-versions: ['7.1', '7.4']
|
php-versions: ['7.4']
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- uses: shivammathur/setup-php@v2
|
- uses: shivammathur/setup-php@v2
|
||||||
|
|
15
.github/workflows/tests.yml
vendored
15
.github/workflows/tests.yml
vendored
|
@ -7,24 +7,11 @@ on:
|
||||||
branches: [ master ]
|
branches: [ master ]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
phpunit7:
|
|
||||||
runs-on: ubuntu-20.04
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
php-versions: ['7.1', '7.2', '7.3']
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- uses: shivammathur/setup-php@v2
|
|
||||||
with:
|
|
||||||
php-version: ${{ matrix.php-versions }}
|
|
||||||
- run: composer global require phpunit/phpunit ^7
|
|
||||||
- run: phpunit --configuration=phpunit.xml --include-path=lib/
|
|
||||||
|
|
||||||
phpunit8:
|
phpunit8:
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-20.04
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
php-versions: ['7.3', '7.4', '8.0', '8.1']
|
php-versions: ['7.4', '8.0', '8.1']
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- uses: shivammathur/setup-php@v2
|
- uses: shivammathur/setup-php@v2
|
||||||
|
|
|
@ -60,7 +60,7 @@ RSS-Bridge hashtag (#rss-bridge) search on Twitter, in Atom format (as displayed
|
||||||
Requirements
|
Requirements
|
||||||
===
|
===
|
||||||
|
|
||||||
RSS-Bridge requires PHP 7.1 or higher with following extensions enabled:
|
RSS-Bridge requires PHP 7.4 or higher with following extensions enabled:
|
||||||
|
|
||||||
- [`openssl`](https://secure.php.net/manual/en/book.openssl.php)
|
- [`openssl`](https://secure.php.net/manual/en/book.openssl.php)
|
||||||
- [`libxml`](https://secure.php.net/manual/en/book.libxml.php)
|
- [`libxml`](https://secure.php.net/manual/en/book.libxml.php)
|
||||||
|
@ -349,7 +349,6 @@ 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)
|
* [`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 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-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)
|
|
||||||
* [`Laravel framework`](https://github.com/laravel/framework/) licensed under the [MIT License](https://opensource.org/licenses/MIT)
|
* [`Laravel framework`](https://github.com/laravel/framework/) licensed under the [MIT License](https://opensource.org/licenses/MIT)
|
||||||
|
|
||||||
Technical notes
|
Technical notes
|
||||||
|
|
|
@ -148,8 +148,7 @@ class BandcampDailyBridge extends BridgeAbstract {
|
||||||
case 'Best of':
|
case 'Best of':
|
||||||
case 'Genres':
|
case 'Genres':
|
||||||
case 'Franchises':
|
case 'Franchises':
|
||||||
// TODO Switch to array_key_first once php >= 7.3
|
$contentKey = array_key_first(self::PARAMETERS[$this->queriedContext]);
|
||||||
$contentKey = key(self::PARAMETERS[$this->queriedContext]);
|
|
||||||
$contentValues = array_flip(self::PARAMETERS[$this->queriedContext][$contentKey]['values']);
|
$contentValues = array_flip(self::PARAMETERS[$this->queriedContext][$contentKey]['values']);
|
||||||
|
|
||||||
return $contentValues[$this->getInput($contentKey)] . ' - Bandcamp Daily';
|
return $contentValues[$this->getInput($contentKey)] . ' - Bandcamp Daily';
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
"rss": "https://github.com/RSS-Bridge/rss-bridge/commits/master.atom"
|
"rss": "https://github.com/RSS-Bridge/rss-bridge/commits/master.atom"
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.1",
|
"php": ">=7.4",
|
||||||
"ext-mbstring": "*",
|
"ext-mbstring": "*",
|
||||||
"ext-curl": "*",
|
"ext-curl": "*",
|
||||||
"ext-openssl": "*",
|
"ext-openssl": "*",
|
||||||
|
|
|
@ -79,9 +79,9 @@ final class Configuration {
|
||||||
public static function verifyInstallation() {
|
public static function verifyInstallation() {
|
||||||
|
|
||||||
// Check PHP version
|
// Check PHP version
|
||||||
if(version_compare(PHP_VERSION, '7.1.0') === -1)
|
if(version_compare(PHP_VERSION, '7.4.0') === -1) {
|
||||||
self::reportError('RSS-Bridge requires at least PHP version 7.1.0!');
|
self::reportError('RSS-Bridge requires at least PHP version 7.4.0!');
|
||||||
|
}
|
||||||
// extensions check
|
// extensions check
|
||||||
if(!extension_loaded('openssl'))
|
if(!extension_loaded('openssl'))
|
||||||
self::reportError('"openssl" extension not loaded. Please check "php.ini"');
|
self::reportError('"openssl" extension not loaded. Please check "php.ini"');
|
||||||
|
|
|
@ -50,37 +50,3 @@ if (!function_exists('str_contains')) {
|
||||||
return $needle !== '' && mb_strpos($haystack, $needle) !== false;
|
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));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
<!--
|
<!--
|
||||||
|
|
||||||
-->
|
-->
|
||||||
<config name="testVersion" value="7.1-"/>
|
<config name="testVersion" value="7.4-"/>
|
||||||
<rule ref="PHPCompatibility">
|
<rule ref="PHPCompatibility">
|
||||||
</rule>
|
</rule>
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue