* Security fixes when HTTP user does not exist in FreshRSS
* Accept HTTP header X-WebAuth-User for delegated HTTP Authentication (e.g. Træfik)
* Document delegated HTTP authentication from https://github.com/FreshRSS/FreshRSS/pull/2202
* Use cookie_duration correctly
* WIP allow cookie_duration to be modified from GUI
* Allow cookie_duration to actually be updated
* Update view to properly display cookie_duration
* Add new strings in Translation Files
* Fix typo
* Fix trailing whitespace
* I18n: French translation
* I18n fr: Forgot todo
And suggested dir was wrong.
https://bugs.php.net/bug.php?id=69489
```
<b>Notice</b>: tempnam(): file created in the system's temporary
directory in
<b>/var/www/html/FreshRSS/app/Controllers/importExportController.php</b>
on line <b>800</b><br />
```
* MySQL GUID case sensitive
latin1_bin
https://github.com/FreshRSS/FreshRSS/issues/2077
* Prepare update for existing bases
* Perform DB update during actualize
* Reduce frequency slightly
* No optimize at the same time
* Take advantage of the SQL modifications in 1.12
* Move higher up
* Move to purge, which all users can manually call
* Ensure fast flush of HTTP headers and HTML head
The fast flush optimisation done in
https://github.com/FreshRSS/FreshRSS/pull/1133 does not seem to work
anymore (need to check if it is related to a PHP version).
Work-around when PHP flush() is not working
Can be tested by adding a `sleep(5);` after:
ee902ee7c4/app/layout/layout.phtml (L27)
Follow-up of the performance checks of
https://github.com/FreshRSS/FreshRSS/pull/2040
* output_buffering in .user.ini for PHP CGI / FPM
* Reuse .user.ini for Docker PHP config
* Longer flush
Flush a bit later, to be compatible with the default value of 4096 for
PHP output_buffering, and thus avoid the need of tuning the value.
* First draft of custom tags
https://github.com/FreshRSS/FreshRSS/issues/928https://github.com/FreshRSS/FreshRSS/issues/1367
* SMALLINT to BIGINT for id_entry
And uppercase SQL types
* Fix layout for unreads
* Start UI menu
* Change menu order
* Clean database helpers
https://github.com/FreshRSS/FreshRSS/pull/2027#discussion_r217971535
* Travis rules do not understand PostgreSQL constants
Grrr
* Tag controller + UI
* Add column attributes to tags
* Use only favicon for now, for label
* Fix styling for different themes
* Constant for maximum InnoDB index length in Unicode
https://github.com/FreshRSS/FreshRSS/pull/2027#discussion_r219052200
(I would have personnally prefered keeping the readability of a real
value instead of a constant, in this case of many SQL fields)
* Use FreshRSS_Factory::createCategoryDao
* Add view of all articles containing any tag
* Fix search in tags
* Mark as read tags
* Partial auto-update unread tags
* More auto update tag unreads
* Add tag deletion
* Do not purge tagged articles
* Minor comment
* Fix SQLite and UI bug
* Google Reader API support for user tags
Add SQL check that tag names must be distinct from category names
* whitespace
* Add missing API for EasyRSS
* Compatibility SQLite
Problematic parentheses
* Add SQL DISTINCT for cases with multiple tags
* Fix for PostgreSQL
PostgreSQL needs some additional type hint to avoid "could not determine
data type of parameter $1"
http://www.postgresql-archive.org/Could-not-determine-data-type-of-parameter-1-tp2171092p2171094.html
http://php.net/manual/en/function.mt-rand.php
from php Doc
"Many random number generators of older libcs have dubious or unknown characteristics and are slow. The mt_rand() function is a drop-in replacement for the older rand(). It uses a random number generator with known characteristics using the » Mersenne Twister, which will produce random numbers four times faster than what the average libc rand() provides. "
http://php.net/manual/en/function.mt-rand.php
from php Doc
"Many random number generators of older libcs have dubious or unknown characteristics and are slow. The mt_rand() function is a drop-in replacement for the older rand(). It uses a random number generator with known characteristics using the » Mersenne Twister, which will produce random numbers four times faster than what the average libc rand() provides. "
* New extension event + Tumblr GDPR
https://github.com/FreshRSS/FreshRSS/issues/1894
simplepie_before_init event
* Refactor extension enabling + Tumblr GDPR enabled by default
Add possibility for extensions to be enabled by default, and disabled
back by users.
* Minor whitespace
* added fever api and documentation
* spaces to tabs
* fixed code format
* added links
* added utf8 to header
* removed XML support
* removed before check, as we have to convert it afterwards
* added sandboxed setting (currently disabled)
added support for extensions using entry_before_display
* listFeedsOrderUpdate LIMIT
https://github.com/FreshRSS/FreshRSS/pull/1836/files#r175287881
* removed custom sql by using FreshRSS_FeedDAO::listFeedsOrderUpdate()
* fixed mark all as read
* replaced custom sql for getUnread() and getStarred() with dao functions
* removed sanitization functions
* Rework fever login
* Fix config bug
Plus documentation
* Fix array syntax
For compatibility with PHP 5.3
* Disable cookies and session for API
* Fix currentUser
* added response header and error log
* adjusted phpdoc to match new authentication
* Mechanism to delete old keys
* replace PHP_INT_MAX with zero to disable limit
* replace method_exists with check for explicit methods
* removed Press support and smaller refactoring + updated docu
* Rewrite bindParamArray
Avoid one of the SQL injection risks
* Docs and readme
* Fix API link
* Simplify reverse key check
Using userConfig
* put nav_entries in a div so they can be hidden, add config option, no labels yet
* add English text for hide_nav_entries, choose better name
* Update conf.php
add comma to last item
* hide nav_entries by optionally not rendering in normal.phtml
* fix logic, remove containing div
* apply phpcbf to ConfigurationSetter.php
* Make navigation buttons options positive
And add TODOs for i18n, and add default config.
I've enabled tests on PHP 7.2 since it's the latest stable version.
I've also installed phpcs from composer since PEAR is not available for all versions of PHP.
I think the use of a magic value repeated many times in the code is prone to have some errors made by people not knowing its meaning. Using a constant is a bit more safe. Judging by some comments in the code, I am not the only one.
When retrieving the list of entries when the context was 'all' or 'starred', there was the following warning:
> Warning: count(): Parameter must be an array or an object that implements Countable in /home/alexis/FreshRSS/app/Controllers/indexController.php on line 206
I fixed that by changing how the array is tested.
* first draft
* display installed extension state
* fixed whitespace vs tabs
* added translation in all languages
* added error checks and log messages
* fixed tabs vs whitespace
* another try in fixing whitespaces
* another try in fixing whitespaces
* improved extension list translations
* using JSON from official extension repo
* improved version compare
* updated translations
* French translation