Commit Graph

11683 Commits

Author SHA1 Message Date
Andrew Dolgov 7c45b3f789
* add HOOK_LOGINFORM_ADDITIONAL_BUTTONS
* allow plugins to inject JS code into login form
2022-07-24 16:33:28 +03:00
Andrew Dolgov c0385c2098
public: allow system plugins to expose public methods 2022-07-24 15:51:56 +03:00
Andrew Dolgov 74d7f88fae
make_self_url: properly strip out GET params 2022-07-24 14:50:03 +03:00
Andrew Dolgov 8cf421e1fc
readability: depend on psr/http-factory 2022-07-24 14:09:22 +03:00
Andrew Dolgov 5006c754c4
readability: add missing dependencies 2022-07-24 14:03:04 +03:00
Andrew Dolgov f7b3c50828
Merge branch 'master' of git.tt-rss.org:fox/tt-rss 2022-07-24 11:52:46 +03:00
Andrew Dolgov 7da7de6e7a
use correct namespace for forked readability-php 2022-07-24 11:51:56 +03:00
fox 8f19423c22 Merge pull request 'Fix an error when disabling all user plugins' (#76) from yan12125/tt-rss:fix-setPlugins-error into master
Reviewed-on: https://dev.tt-rss.org/fox/tt-rss/pulls/76
2022-07-16 17:55:59 +03:00
Chih-Hsuan Yen f3aceb4648
Fix an error when disabling all user plugins
If I enabled some user plugins via Preferences -> Plugins and then
disabled all of them, an error occurred:

Jul 16 22:34:20 php[100]: PHP Fatal error:  Uncaught TypeError: array_filter(): Argument #1 ($array) must be of type array, null given in /usr/share/webapps/tt-rss/classes/pref/prefs.php:1027
Jul 16 22:34:20 php[100]: Stack trace:
Jul 16 22:34:20 php[100]: #0 /usr/share/webapps/tt-rss/classes/pref/prefs.php(1027): array_filter()
Jul 16 22:34:20 php[100]: #1 /usr/share/webapps/tt-rss/backend.php(136): Pref_Prefs->setplugins()
Jul 16 22:34:20 php[100]: #2 {main}
Jul 16 22:34:20 php[100]:   thrown in /usr/share/webapps/tt-rss/classes/pref/prefs.php on line 1027

Apparently the issue was elevated from a warning to an error in PHP 8.0
[1].

[1] https://php.watch/versions/8.0/internal-function-exceptions
2022-07-16 22:50:16 +08:00
Andrew Dolgov b8c1d622a7
add missing files for forked idiorm 2022-07-16 16:30:46 +03:00
Andrew Dolgov fdd1c43612
downgrade phpstan to 1.1.2 2022-07-16 11:10:19 +03:00
Andrew Dolgov 96f704d157
af_redditimgur: absolutize links before processing them 2022-07-13 07:51:09 +03:00
Andrew Dolgov 5c70d26b7e
some very minor php8.1 warnings fixed 2022-07-13 07:08:31 +03:00
Andrew Dolgov 80d3db1dcf
upgrade idiorm to php8.1-patched version (aaronpk/idiorm) 2022-07-12 22:26:21 +03:00
Chih-Hsuan Yen 4b61618920
Update php-qrcode and php-settings-container for PHP 8.1
By running the following command after updating composer.json

```
composer update chillerlan/php-qrcode chillerlan/php-settings-container
```

This change fixes a deprecation warning from Preferences ->
Personal data / Authentication -> Authenticator (OTP).

```
Return type of chillerlan\Settings\SettingsContainerAbstract::jsonSerialize() should either be compatible with JsonSerializable::jsonSerialize(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
1. vendor/chillerlan/php-settings-container/src/SettingsContainerAbstract.php(19): ttrss_error_handler(Return type of chillerlan\Settings\SettingsContainerAbstract::jsonSerialize() should either be compatible with JsonSerializable::jsonSerialize(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice, vendor/chillerlan/php-settings-container/src/SettingsContainerAbstract.php)
2. vendor/composer/ClassLoader.php(571): include(/usr/share/webapps/tt-rss/vendor/chillerlan/php-settings-container/src/SettingsContainerAbstract.php)
3. vendor/composer/ClassLoader.php(428): Composer\Autoload\includeFile(/usr/share/webapps/tt-rss/vendor/composer/../chillerlan/php-settings-container/src/SettingsContainerAbstract.php)
4. vendor/chillerlan/php-qrcode/src/QROptions.php(59): loadClass(chillerlan\Settings\SettingsContainerAbstract)
5. vendor/composer/ClassLoader.php(571): include(/usr/share/webapps/tt-rss/vendor/chillerlan/php-qrcode/src/QROptions.php)
6. vendor/composer/ClassLoader.php(428): Composer\Autoload\includeFile(/usr/share/webapps/tt-rss/vendor/composer/../chillerlan/php-qrcode/src/QROptions.php)
7. vendor/chillerlan/php-qrcode/src/QRCode.php(113): loadClass(chillerlan\QRCode\QROptions)
8. classes/pref/prefs.php(958): __construct()
9. classes/pref/prefs.php(469): _get_otp_qrcode_img()
10. classes/pref/prefs.php(541): index_auth_2fa()
11. backend.php(136): index_auth()
```

The issue is fixed in php-settings-container 2.1.1 [1] Here I use the
latest php-qrcode version for another PHP 8.1 fix [2].

[1] 68bc5019c8 (diff-359c7f7a6d32d9935951e1b0742eb116fb654f4a932c8d40328bb5dcab2fa111L162)
[2] https://github.com/chillerlan/php-qrcode/issues/97
2022-07-12 22:23:48 +03:00
Chih-Hsuan Yen d9861038bc
Update beberlei/assert for PHP 8 compatibility
Run `composer update beberlei/assert` using composer 2.3.8 on PHP 8.1.7

Updating other packages without updating this fails with:

```
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - beberlei/assert v3.2.2 requires php ^7 -> your php version (8.1.7) does not satisfy that requirement.
    - spomky-labs/otphp v10.0.1 requires beberlei/assert ^3.0 -> satisfiable by beberlei/assert[v3.2.2].
    - spomky-labs/otphp is locked to version v10.0.1 and an update of this package was not requested.
```
2022-07-12 22:23:30 +03:00
fox f8fe5e02f1 Merge pull request 'fix: lower-case remote usernames before validation' (#75) from disconn3ct/tt-rss:fix/auth-remote into master
Reviewed-on: https://dev.tt-rss.org/fox/tt-rss/pulls/75
2022-07-08 17:44:06 +03:00
disconn3ct 7e5453b3aa fix: lower-case remote usernames before validation
Fixes a bug where users are saved lowercase but compared mixed-case. Only applies to upstreams that send non-lowercase usernames. No obvious security impact; it results in a unique key violation and not a successful login.
2022-07-08 16:31:15 +03:00
fox d9ae4204ce Merge pull request 'Fix MySQL search Queries' (#74) from DJ_TBX/tt-rss:master into master
Reviewed-on: https://dev.tt-rss.org/fox/tt-rss/pulls/74
2022-07-04 06:27:31 +03:00
DJ_TBX 3d55db6a53 Merge pull request 'Fix MySQL search Queries' (#1) from mysql-search-queries into master
Reviewed-on: https://dev.tt-rss.org/DJ_TBX/tt-rss/pulls/1
2022-07-04 00:18:39 +03:00
DJ_TBX 9d69fd2a56 Fix MySQL search Queries
Add the missing space between "AND" and "MATCH" in MySQL search queries
2022-07-04 00:17:01 +03:00
Andrew Dolgov b148d2f515
schema: don't use 'create index if not exists' syntax because mysql doesn't support it 2022-06-20 21:49:12 +03:00
Andrew Dolgov 0bb72fbb26
experimental, af_psql_trgm: attempt to pseudo-normalize returned mysql score values by dividing by match length 2022-06-19 23:04:10 +03:00
Andrew Dolgov 50f014e52d
implement native fulltext search on mysql 2022-06-19 22:21:54 +03:00
Andrew Dolgov 6d98cc6c80
schema: add fulltext indexes for mysql to support af_psql_trgm and possibly future fulltext search 2022-06-19 21:53:57 +03:00
Andrew Dolgov 9428e2c571
af_psql_trgm: add support for querying against mariadb FULLTEXT indexes 2022-06-19 21:36:33 +03:00
Andrew Dolgov 7e36f6e4c4
Merge branch 'weblate-integration' 2022-06-19 13:46:18 +03:00
Андрій Жук 747899c211 Translated using Weblate (Ukrainian)
Currently translated at 99.8% (700 of 701 strings)

Translation: Tiny Tiny RSS/messages
Translate-URL: https://weblate.tt-rss.org/projects/tt-rss/messages/uk/
2022-06-19 10:42:47 +00:00
Andrew Dolgov 59b0ae8af2
Merge branch 'weblate-integration' 2022-06-15 13:02:47 +03:00
Ptsa Daniel 53bc39fc20 Translated using Weblate (Chinese (Simplified))
Currently translated at 99.7% (699 of 701 strings)

Translation: Tiny Tiny RSS/messages
Translate-URL: https://weblate.tt-rss.org/projects/tt-rss/messages/zh_Hans/
2022-06-15 06:42:41 +00:00
Andrew Dolgov 184efcf3f5
fix rendering of articles with titles containing extremely long words 2022-06-13 14:23:08 +03:00
Andrew Dolgov c2f7044485
userhelper: fix optional parameter being declared before a required one 2022-06-13 08:37:39 +03:00
Andrew Dolgov d4be821825
UserHelper, CLI: add a method to check user password 2022-06-10 22:16:48 +03:00
Andrew Dolgov 8632c39eb2
phpstan: limit concurrency 2022-06-10 17:41:38 +03:00
Andrew Dolgov 65f341fbf4
CLI: properly deal with --force-yes on schema update 2022-06-10 16:16:12 +03:00
Andrew Dolgov 25b71b90b2
CLI: exit with error status when operation has failed 2022-06-10 15:39:02 +03:00
Andrew Dolgov cf1eaeedf3
* add UserHelper methods to manipulate user database (add, modify, delete)
* expose said methods via CLI (update.php)
 * fix several invocations of deprecated functions
 * set stricter type hints on several method arguments
2022-06-10 13:39:00 +03:00
xosé m f82085ea9b Translated using Weblate (Galician)
Currently translated at 100.0% (701 of 701 strings)

Translation: Tiny Tiny RSS/messages
Translate-URL: https://weblate.tt-rss.org/projects/tt-rss/messages/gl/
2022-06-09 13:15:36 +00:00
Dario Di Ludovico b7a7673d24 Translated using Weblate (Italian)
Currently translated at 100.0% (701 of 701 strings)

Translation: Tiny Tiny RSS/messages
Translate-URL: https://weblate.tt-rss.org/projects/tt-rss/messages/it/
2022-06-09 13:15:35 +00:00
Andrew Dolgov 2975c7297b
throttle updates if received HTTP 429 (Too Many Requests) 2022-06-09 09:06:52 +03:00
Glandos 6555ee811d Translated using Weblate (French)
Currently translated at 100.0% (701 of 701 strings)

Translation: Tiny Tiny RSS/messages
Translate-URL: https://weblate.tt-rss.org/projects/tt-rss/messages/fr/
2022-06-08 11:20:39 +00:00
Andrew Dolgov 7cd26272fa
Revert "minor: Support html content in mailer.php"
This reverts commit b91ffae292.
2022-06-06 21:05:24 +03:00
Andrew Dolgov 8151295829
Revert "trivia: coding style"
This reverts commit 9e557501fa.
2022-06-06 21:05:15 +03:00
Andrew Dolgov 8ef816d8f8
feeds-tree: move external onClick dojo/method to PrefFeedTree class 2022-06-06 09:31:37 +03:00
Andrew Dolgov 6436dd16f9
filter-tree: move external dojo/method to PrefFilterTree class 2022-06-06 09:29:16 +03:00
Weblate c9c9e4a9ea Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: Tiny Tiny RSS/messages
Translate-URL: https://weblate.tt-rss.org/projects/tt-rss/messages/
2022-06-05 08:52:40 +00:00
Andrew Dolgov 082b3386e9 rebase translations 2022-06-05 11:49:50 +03:00
Andrew Dolgov dd983e5de1 prefs: move external filter tree onload method (which checks for inactive feeds, etc.) to FilterTree class 2022-06-05 11:47:21 +03:00
Andrew Dolgov fc84712135 pref-filters: add a button to hide or show rules in the filter list 2022-06-05 11:41:28 +03:00
Andrew Dolgov 185234bc67 gulp task: add flatpak node16 sdk to path because it doesn't inherit launch environment 2022-06-05 11:23:01 +03:00