Commit Graph

4724 Commits

Author SHA1 Message Date
Alexandre Alapetite
b10cd770ee SQLite: fix updateEntry (#3461)
* Draft of fix for updateEntry

#fix https://github.com/FreshRSS/FreshRSS/issues/3130

* Fix for SQLite

* Update app/Models/EntryDAO.php

Fixed in https://github.com/FreshRSS/FreshRSS/pull/3500

* Unbuffered streaming only for MySQL
2021-03-07 17:34:47 +01:00
Alexandre Alapetite
51ed59dcc6 jQuery 3.6.0 (#3501)
https://blog.jquery.com/2021/03/02/jquery-3-6-0-released/
2021-03-07 12:54:17 +01:00
Alexandre Alapetite
27c4194c8e Disable built-in update when using Docker (#3496)
#fix https://github.com/FreshRSS/FreshRSS/issues/3495
2021-03-04 21:18:34 +01:00
Alexandre Alapetite
be8dd8598e Travis remove superfluous PHP version (#3492) 2021-02-28 15:24:04 +01:00
Alexandre Alapetite
947e918f05 Travis: Enforce phpcs line length + whitespace (#3488)
* Update Travis line length

* Also check whitespace in CSS files

* Fix line length ext.php

* More syntax, string templates

* Fix exclude-pattern

* Test JS files as well
2021-02-28 12:26:24 +01:00
Alexandre Alapetite
bf2718cada More changelog 2021-02-28 12:18:49 +01:00
Myuki
7b4c544579 Optimize some themes for mobile view (#3491)
* Optimize some themes for mobile view

* Fix syntax
2021-02-28 12:12:26 +01:00
Alexandre Alapetite
8cf8817598 Changelog + credits 2021-02-27 22:49:03 +01:00
Alexis Degrugillier
13a47d34af Update issue templates (#3490)
* Update issue templates

Add templates for issues and feature requests.

* Update bug_report.md

* Update bug_report.md

* Update bug_report.md
2021-02-27 18:05:46 +01:00
Alexis Degrugillier
ea5cd595c9 Remove + conversion in search except for tags (#3489)
Before, every + sign was converted to a space to allow to search for
spaces. But the documentation stated that to search for space one has
to enclose the string in quotes. This has a confusing behavior when
searching for a string containing a + sign.
Now, the + conversion is kept only for the tag search since it's the
only one documented that way.

See #3454
2021-02-27 17:34:48 +01:00
Myuki
064288ed62 Optimize theme Pafat for the mobile view (#3480)
* Optimize theme Pafat for mobile view

* Change min-width in @media

* Better backward compatibility

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>

* Better backward compatibility

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2021-02-27 12:16:29 +01:00
Alexandre Alapetite
0d69175875 Alpine oldest: php5-openssl (#3482)
alpine:3.13 require php5-openssl for some https features.

Otherwise, fail on e.g. the extension page:

```
file_get_contents(): php Unable to find the wrapper "https" - did you
forget to enable it when you configured PHP? in
/var/www/FreshRSS/app/Controllers/extensionController.php on line 45

PHP Warning:
file_get_contents(https://raw.githubusercontent.com/FreshRSS/Extensions/master/extensions.json):
failed to open stream: No such file or directory in
/var/www/FreshRSS/app/Controllers/extensionController.php on line 45

[error] --- Could not fetch available extension from GitHub
```

Does not seem required for newer Alpine versions using PHP7 / PHP8
2021-02-27 11:22:06 +01:00
Alexis Degrugillier
6be9797a26 Update PHPUnit version (#3487)
Tests weren't running with the previous version because of a reserved word in PHP8. The latest version of the library fixes that.
See https://github.com/sebastianbergmann/phpunit/issues/4373 for more
information.
2021-02-27 10:36:11 +01:00
Alexis Degrugillier
449fee7a2c "Show all" option on labels (#3472)
It uses the favorite option to keep a similar experience through out the application and also to limit the number of options.

See #3263
2021-02-26 23:31:01 +01:00
Alexis Degrugillier
a127f7dae3 Display dropdown menu in BlueLagoon and Screwdriver themes (#3485)
See #3447
2021-02-26 23:19:04 +01:00
Alexandre Alapetite
3499f8f1d1 Extensions in CLI (#3443)
* Extensions in CLI

https://github.com/FreshRSS/FreshRSS/pull/3440#discussion_r574659745

* Also user extensions
2021-02-26 19:34:02 +01:00
Alexis Degrugillier
0ce798d40b Add support for extension user files (#3433)
Extension user files can be stored easily in the user folder instead of the static folder.
2021-02-26 18:42:10 +01:00
Brooke
9ea3e7710a Upgrade PHPMailer to 6.3.0 (#3457)
* Upgrade PHPMailer to 6.2.0

* Bump PHPMailer to 6.3.0

Co-authored-by: berumuron <dev@marienfressinaud.fr>
2021-02-24 16:20:40 +01:00
Myuki
b38a887f01 Update zh-cn Translation (#3473) 2021-02-22 21:52:04 -05:00
Alexis Degrugillier
fd80387541 Change zip handling methods (#3470)
Before, we were using zip function but they are marked as deprecated as of
PHP 8.0. It's not safe to use them anymore since they can be removed at any
given time.
Now, we are using the ZipArchive class to handle our zip methods. It's safe
to use it since it's available for PHP 5.2 and higher.

See #3460
2021-02-21 00:51:53 +01:00
Alexandre Alapetite
75711c3647 Manual update to SimplePie 1.5.6 (#3469)
* Manual update to SimplePie 1.5.6

Follow-up of https://github.com/FreshRSS/FreshRSS/pull/3206 (1.5.5)
Differences
692e8bc19b...155cfcfacd
Related to https://github.com/FreshRSS/FreshRSS/pull/3416 ,
https://github.com/FreshRSS/FreshRSS/pull/3404

* Typo
2021-02-20 23:38:36 +01:00
Frans de Jonge
ae5f4601fd Update Dutch translation for 1.18 (#3468) 2021-02-20 12:45:44 +01:00
Brooke
2942d64d4f Update Travis.yaml to support newer PHP versions (#3459)
* Update Travis

* Drop Older PHP Versions

Drops PHP 7.1 and 7.3 from tests. Also updates Translations to use PHP 7.4 instead of 7.3

* Update Test Class Names to Fix Warnings

This updates the Class name for 'CategoryTest', `passwordUtilTest.php`, and `MigratorTest.php`
2021-02-20 00:35:53 +01:00
Alexis Degrugillier
4313c09e68 Fix feed sort order (#3466)
Before, the feeds in the list weren't properly ordered. Uppercase
values were before lowercase values.
Now, the feed order is forced to ignore the case.

See #3228
2021-02-20 00:33:33 +01:00
Alexis Degrugillier
9682fcfebb Add full content delimiter and action (#3463)
Before, when appending or prepending the content of the CSS selector
content, it was added to the content. It was working fine for the
first call but every subsequent calls were pilling the retrieved
content on top of the already retrieved content. Thus we had an ever
growing content with a lot of duplication.
Now, the CSS selector content is identified by an HTML comment which
is used to remove the content for every subsequent calls.

The bug was introduced in #3453
2021-02-20 00:30:18 +01:00
Kiblyn11
0e6ad01dbf Fix: handle very big feed (#3416)
* fix: handle big xml files which cause out of memory exceptions by working with chunks in cleanMd5 function (because of preg_replace) and parse (because of xml_parse)

* Review

* Fixes in error handling (case of the last call to xml_parse, case of
error during fopen, break in case of XML error...)
* Takes advantage of the chunking for computing the cache hash
* Larger chunks of 1MB

Co-authored-by: e <bokes74743@tjuln.com>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2021-02-17 21:50:25 +01:00
Alexis Degrugillier
787e8fa463 Add user maintenance hooks (#3440)
The new hook allows to add maintenance extensions at the user level.

See #3398
2021-02-17 16:34:54 +01:00
rom-1
8961c7beac Update DE Translation (#3455)
* Update DE Translation

* even better translations
2021-02-17 16:33:33 +01:00
Alexis Degrugillier
fe1fba9828 Add a content action parameter to work with CSS selector (#3453)
Before, when retrieving article contents with CSS selector, the content
of the RSS feed was replaced by the content of the CSS selector. It works
well in most of the cases but if there is a different content in the feed
and in the selector, the former is lost.
Now, there is a parameter to decide which action is performed after retrieving
the content. By default, the previous behavior is kept. But now, it is
possible to append or prepend the CSS selector content to the feed content.

See #3451
2021-02-16 18:00:49 +01:00
Alexis Degrugillier
5daee165dc Change confusing naming for label (#3446)
Before, labels were referred to as tag which was confusing since
tags are content generated (retrieved from the feed) and label
are user generated.
Now, labels are properly named in their management page.

See #3444
2021-02-14 20:56:10 +01:00
Creak
20a2b0e039 Add Creak to CREDITS.md (#3445) 2021-02-12 09:05:16 +01:00
hesch
e138ca1329 Add hesch to CREDITS.md (#3442)
* Add hesch to CREDITS.md

* refactor: maintain alphabetic order
2021-02-11 18:20:41 +01:00
Alexis Degrugillier
5bd84038a2 Remove Minz validation (#3439)
It should have been done during #3302.
2021-02-11 18:18:42 +01:00
Creak
13688825f2 Fix nginx config (#3438)
* Fix nginx config

* Remove `proxy_cookie_path`
* Add `proxy_set_header X-Forwarded-Prefix` for the subdirectory config
* Add nginx config when hosted as domain root

* Add `/` at the end of `proxy_pass`
2021-02-11 17:45:11 +01:00
hesch
13b03b232b refactor: remove referer checks, as they are no longer needed (replaced by csrf tokens) (#3432) 2021-02-11 17:38:39 +01:00
Alexis Degrugillier
54f04e1233 Fix configuration local cache (#3431)
Before, setting values did not refresh the configuration cache. Thus
generating some weird behavior when configuring extensions.
Now, the cache is updated with the most recent values when the
configuration is modified.
2021-02-08 22:47:09 +01:00
Alexandre Alapetite
a626e5fff8 Check that PHP session is working during install (#3430)
* Check that PHP session is working during install

#fix https://github.com/FreshRSS/FreshRSS/issues/3198

* Minor whitespace

* Missing he
2021-02-07 15:19:29 +01:00
Alexis Degrugillier
afc30cef3d Add missing variable (#3427)
When refactoring the install in #3368, a variable was unwillingly removed.
It's back in the code now.
2021-02-06 18:09:05 +01:00
Lukas Vacula
a3f07d7d5e Theme Documentation (#3415)
* adding self CREDITS.md

* add "theme" to link for easier navigation

* add documentation about themes and the files that go in them

* add admin documentation for themes

* fix markdown styling

* fix CSSJanus usage
2021-02-06 16:46:03 +01:00
Alexandre Alapetite
4a87f34bcf API implement OPML import/export (#3424)
#fix https://github.com/FreshRSS/FreshRSS/issues/3421
2021-02-06 12:43:30 +01:00
Alexandre Alapetite
8edce0e209 Fix heredoc syntax (#3426)
Fix regression from https://github.com/FreshRSS/FreshRSS/pull/3407

Identifier must not be indented

PHP 5.6.36 (cli) (built: Apr 28 2018 21:14:51)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend
Technologies
PHP Parse error:  syntax error, unexpected end of file in
lib/lib_rss.php on line 608
Errors parsing lib/lib_rss.php
2021-02-06 12:37:26 +01:00
Alexandre Alapetite
23c43b1fbf Fix return type for broken feeds (#3423)
Fix a rare error when an invalid feed is forced to be added again.
FreshRSS code (not upstream)
2021-02-06 00:58:51 +01:00
Alexandre Alapetite
d42b4c299c Add requirements check in CLI (#3410)
* Add requirements check in CLI

#fix https://github.com/FreshRSS/FreshRSS/issues/1853

* More checks

#fix https://github.com/FreshRSS/FreshRSS/issues/1853
2021-02-05 22:21:31 +01:00
Martin
934f032c19 Better error message on failure (#3407)
* bump default logout from 30 to 365 days

* * Change cookie duration to constant
* Change cookie duration to three months

* use class

* use 90 days (otherwise login form says 91.3 days)

* change class

* also this works now

* Better error message

* inconsistent dot with the other message

* Better error message

* add errorMessage()

* fix style

* html escape the error title

* also html escape error message

* remove spaces before parentheses

* rework the error message

* Minz-friendly

* Update message

Do not advise running this script as wrong user

* Update lib/lib_rss.php

Co-authored-by: Martin <spleefer90@gmail.com>

Co-authored-by: Martin Rys <martin@rys.pw>
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2021-02-05 21:59:21 +01:00
Alexis Degrugillier
0577bc772b Add a method to retrieve a configuration value (#3422)
This will simplify extension code by removing a lot of logic from
the extension itself when it's not needed. I've tested it on one
of my extension with all the other recent extension modifications
and I could remove half of the code needed before.
2021-02-05 18:29:37 +01:00
Alexis Degrugillier
d7cfea155f Fix extension file search (#3413)
Before, it was possible to retrieve only the files from extensions. Thus
making core extension files unreachable.
Now, the selected file is search through all extensions folders.
2021-02-02 14:27:34 +01:00
Alexis Degrugillier
36f9d44d54 Fix user configuration in extension (#3412)
Before, only one extension could be configured at a time. Thus we
were loosing the configuration for other extensions when saving.
Now, each extension can be saved without overriding data.

See #3397
2021-02-02 12:40:03 +01:00
Alexandre Alapetite
1ee1fcce91 INSERT ... ON CONFLIT DO NOTHING for addEntry (#3409)
#fix https://github.com/FreshRSS/FreshRSS/issues/3402
Explicit `INSERT OR IGNORE` / `ON CONFLICT DO NOTHING` for the
`addEntry()` method, which does expect some duplicates.
2021-02-02 00:03:59 +01:00
Alexis Degrugillier
8285f1df43 Add comprehensive user configuration in extensions (#3397)
Before, the extension configuration was handled by its author. There
was discrepancies between extensions on how the configuration was
stored.
Now, we could rely on a single way of storing configuration. This won't
invalidate how the extensions are storing their configuration but will
allow authors to focus on what is important.
2021-02-02 00:03:09 +01:00
Alexis Degrugillier
bed710b260 Refactor extension file script (#3399) 2021-02-02 00:00:51 +01:00