abc4af43b3
feat: improve error handling ( #2902 )
2022-07-08 20:39:13 +02:00
abfc6b4633
feat: introduce template engine ( #2899 )
2022-07-08 14:17:25 +02:00
951092eef3
Fix coding style missed by phpbcf ( #2901 )
...
$ composer require --dev friendsofphp/php-cs-fixer
$ echo >.php-cs-fixer.dist.php "<?php
$finder = PhpCsFixer\Finder::create()
->in(__DIR__);
$rules = [
'@PSR12' => true,
// '@PSR12:risky' => true,
'@PHP74Migration' => true,
// '@PHP74Migration:risky' => true,
// buggy, duplicates existing comment sometimes
'no_break_comment' => false,
'array_syntax' => true,
'lowercase_static_reference' => true,
'visibility_required' => false,
// Too much noise
'binary_operator_spaces' => false,
'heredoc_indentation' => false,
'trailing_comma_in_multiline' => false,
];
$config = new PhpCsFixer\Config();
return $config
->setRules($rules)
// ->setRiskyAllowed(true)
->setFinder($finder);
"
$ vendor/bin/php-cs-fixer --version
PHP CS Fixer 3.8.0 BerSzcz against war! by Fabien Potencier and Dariusz Ruminski.
PHP runtime: 8.1.7
$ vendor/bin/php-cs-fixer fix
$ rm .php-cs-fixer.cache
$ vendor/bin/php-cs-fixer fix
2022-07-08 13:00:52 +02:00
dbf8c5b7ae
refactor(BridgeFactory): make methods only accept valid class names ( #2897 )
...
This moves the responsibility for getting a valid class name
to the users of BridgeFactory, avoiding the repeated sanitation.
Improper use can also be checked statically.
2022-07-08 12:54:23 +02:00
d107f8ed30
Improve Factory variable names ( #2895 )
2022-07-06 12:14:04 +02:00
ab6aca3163
lib/Configuration: Remove redundant comment
...
It was just getting out of sync:
- Minimum PHP version was bumped in 8365a7a34d
- Cache directory permission check was removed in 8e2b65556f
- Whitelist permission check was removed in d4e867f240
2022-07-06 03:34:37 +02:00
321ec7c8c1
refactor: move cache logic into the factory ( #2884 )
2022-07-05 13:20:01 +02:00
5b9b579652
refactor: remove unused class ( #2883 )
2022-07-05 10:50:39 +02:00
4f75591060
Reformat codebase v4 ( #2872 )
...
Reformat code base to PSR12
Co-authored-by: rssbridge <noreply@github.com >
2022-07-01 15:10:30 +02:00
5076d09de6
refactor: prepare for PSR2 ( #2859 )
2022-06-24 18:29:35 +02:00
ee80f4918e
refactor: action ( #2836 )
2022-06-22 18:30:37 +02:00
fad0dbb6ef
refactor: fix exception handling ( #2835 )
...
* refactor: fix exception handling
The removed catch is never uses in php versions above 7.
The need for multiple catch statements like this is to support both php 5 and 7.
* remove traces of old exception handling
* add typehints
* dont treat exception code 0 specially
2022-06-22 18:30:06 +02:00
07927008eb
refactor: CacheFactory ( #2834 )
2022-06-22 18:29:28 +02:00
b7b9378484
refactor: ActionFactory ( #2833 )
2022-06-22 18:28:07 +02:00
af5648d928
refactor: FormatFactory ( #2832 )
2022-06-22 18:27:20 +02:00
8365a7a34d
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
2022-06-19 21:45:33 +02:00
65e6d9f454
[XPathAbstract] Improve Media Url regex ( #2845 )
2022-06-19 02:19:32 +02:00
10eb1c9a95
[FormatAbstract]: Ensure sanitizeHtml is given string ( #2791 )
...
Sometimes `Item::getContent` returns `null`, in which case `sanitizeHtml`
would pass it to `str_replace`, which would raise `E_DEPRECATED` on PHP 8.1.
2022-06-17 20:46:15 +02:00
9503f9ad7f
[Release] 2022-06-14 ( #2818 )
2022-06-14 09:47:12 -04:00
166ead902d
[Configuration.php] Update the version name to dev.2022-06-10 ( #2811 )
2022-06-10 15:05:34 +02:00
347f9a3eda
[contents] Add MIME type for mp3 ( #2809 )
...
Without this, format tests fail on systems without `/etc/mime.types`.
2022-06-09 22:41:10 -04:00
37f211a37e
Add Laravel framework license
2022-06-09 12:13:07 -04:00
6df5a4bc14
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
2022-06-09 18:00:51 +02:00
fb501652d5
Formats: Remove display & related method ( #2776 )
...
Format should not be responsible for sending HTTP response.
2022-06-07 18:05:33 +02:00
cb05cacd6a
fix: add 429 to status codes ( #2757 )
2022-05-27 15:25:12 +02:00
5cc34b884a
[core] Improve getContents docs ( #2742 )
2022-05-22 21:27:23 -04:00
1d0a0b927b
fix: use accept header when fetching feed ( #2737 )
...
* fix: use accept header when fetching feed
* fix: include atom too, and reuse constants from format classes
* add a catch all accept header
2022-05-18 00:18:33 +02:00
4007afdcf5
Merge branch 'autoloading' into master
2022-05-17 23:59:18 +02:00
7d00b0c5df
fix: include http code in exception ( #2726 )
2022-05-17 23:47:12 +02:00
0212c4790f
fix: connectivityaction ( #2725 )
2022-05-17 23:46:37 +02:00
4d069fcf99
remove unnecessary includes
2022-05-13 09:35:25 +02:00
bb6d553dd5
Revert "refactor: remove unnecesary includes" ( #2723 )
...
This reverts commit fd449be4eb
.
2022-05-12 16:28:03 -04:00
fd449be4eb
refactor: remove unnecesary includes
2022-05-12 15:15:09 +02:00
fcc3707210
refactor: swap the order of sprintf values
2022-05-11 22:37:59 +02:00
d5e9dbf47d
refactor: restore some useful comments
2022-05-11 22:35:03 +02:00
6547ed0c04
[docs] Add documentation for html.php functions ( #2714 )
2022-05-10 09:37:53 +02:00
8982995445
refactor: remove unused method
2022-05-09 23:32:45 +02:00
f5a51038cc
fix: error when passing null values
...
This bug was introduced by me when refactoring the http client.
Fixes:
Fatal error: Uncaught TypeError: Argument 2 passed to getContents() must be of the type array, null given
2022-05-08 04:42:24 +02:00
5d77d14f9d
feat: add retry logic to the http client ( #2692 )
...
* refactor: extract http client
* feat: add retry logic to http client
2022-05-08 03:58:57 +02:00
0c7a7f320f
refactor: BridgeFactory ( #2691 )
2022-05-08 03:58:42 +02:00
0ef298f9cc
refactor: add php autoloader ( #2655 )
2022-04-26 00:57:59 +02:00
e1c898848f
[contents.php] Fix incorrect reference to UnexpectedResponseException's responseBody. ( #2677 )
2022-04-23 10:04:56 +05:00
d62b977394
refactor: ./tests ( #2649 )
...
* refactor: ./tests
* test: consolidate testsuites
* refactor: move config setup into rssbridge.php
Makes it easier to unit test.
* lint
2022-04-13 21:04:10 +02:00
5a733b3d82
feat: add limit options to the slowest bridges
2022-04-10 18:56:24 +02:00
dbee47f1d6
fix: give better error message when feed can't be parsed ( #2618 )
2022-04-10 18:54:32 +02:00
c3a106892d
fix: require curl extension ( #2617 )
2022-04-10 18:54:18 +02:00
cce11964a4
feat: add a timeout option for http client ( #2600 )
2022-04-08 21:22:13 +02:00
d123e6007e
Fixup deprecations on PHP 8 ( #2592 )
...
* Fixup deprecations on PHP 8
Fix #2448
* Configure a default fallback for getInput function
* Appease phpcs
* Avoid changing getInput function
Revert "Configure a default fallback for getInput function"
This reverts commit 94004c5104
.
2022-04-03 09:53:13 +02:00
bed20e9f28
feat: extract curl ua to config value ( #2568 )
...
* exclude config.default.ini.php from phpcs
2022-04-03 09:37:39 +02:00
f311fb8083
[BridgeAbstract] Add loadCacheValue() and saveCacheValue() ( #1380 )
...
* [BridgeAbstract] Add loadCacheValue() and saveCacheValue()
Bridges currently need to implement value caching manually, which
results in duplicate code and more complex bridges.
This commit adds two protected functions to BridgeAbstract that make
it possible for bridges to store and retrieve values from a temporary
cache by key.
Co-Authored-By: Roliga <roliga.here@gmail.com >
Co-authored-by: Roliga <roliga.here@gmail.com >
2022-04-02 08:15:28 +02:00