Commit Graph

4237 Commits

Author SHA1 Message Date
Alexandre Alapetite
4da0dc4f25 Changelog 2335 etc. 2019-10-24 12:08:07 +02:00
Alexandre Alapetite
7e5ca99912 Greener Travis? (#2589)
With PHP 7.4 just around the corner, I suggest to test only the minimum
and maximum PHP versions we support in Travis, to save resources
(greener).
For the translation check, with can test with max version -1 to run on
yet another PHP version.
It makes also the Travis tests faster to complete.
2019-10-24 09:43:28 +02:00
Alexandre Alapetite
7a5236de3f Take advantage of PHP 5.4+ short echo (#2585)
* Take advantage of PHP 5.4+ short echo

https://php.net/migration54.new-features thanks to
https://github.com/FreshRSS/FreshRSS/pull/2495

Use `<?=  ?>` instead of `<?php echo; ?>`
10kB of code saved :-)

Done with regular expression:
```
<\?php echo (.+?);? *\?>
<?= \1 ?>
```

* Try Travis fix

https://github.com/squizlabs/PHP_CodeSniffer/issues/2045#issuecomment-395238272
2019-10-23 11:18:20 +02:00
Alexandre Alapetite
fdfd8ce9be Workaround for MySQL limitation 1093 (#2586)
* Workaround for MySQL limitation 1093
https://github.com/FreshRSS/FreshRSS/pull/2335#issuecomment-545194606
including minor Travis fixes
2019-10-23 02:12:49 +02:00
Alexis Degrugillier
cc0db9af4f Feature/new archiving (#2335)
* Change archiving config page layout

I've changed some wording and moved actions into a
maintenance section.

* Update purge action

Now we have more control on the purge action. The configuration allows
us to choose what to keep and what to discard in a more precise way.
At the moment, the configuration applies for all feeds.

* Add purge configuration on feed level

Now the extend purge configuration is available on feed level.
It is stored as attributes and will be used in the purge action.

* Update purge action

Now the purge action uses the feed configuration if it exists and
defaults on user configuration if not.

* Add empty option in period list

* Fix configuration warnings

* Add archiving configuration on categories

See #2369

* Add user info back

* Add explanations in UI

* Fixes for SQLite + error + misc.

* Fix invalid feed reference

* Short array syntax

Only for new code, so far

* Fix prefix error

* Query performance, default values

Work in progress

* Fix default values and confirm before leaving

Form cancel and confirm changes before leaving were broken.
And start taking advantage of the short echo syntax `<?= ?>` as we have
moved to PHP 5.4+

* More work

* Tuning SQL

* Fix MariaDB + performance issue

* SQL performance

* Fix SQLite bug

* Fix some attributes JSON encoding bugs

Especially for SQLite export/import

* More uniform, fix bugs

More uniform between global, category, feed settings

* Drop special cases for old articles during refresh

Instead will use lastSeen date with the new archiving logic.
This was generating problems anyway
https://github.com/FreshRSS/FreshRSS/issues/2154

* Draft drop index keep_history

Not needed anymore

* MySQL typo

Now properly tested with MySQL, PostgreSQL, SQLite

* More work for legacy values

Important to avoid overriding user's preference and risking deleting
data erroneously

* Fix PHP 7.3 / 7.4 warnings

@aledeg "Trying to use values of type null, bool, int, float or resource
as an array (such as $null["key"]) will now generate a notice. "
https://php.net/migration74.incompatible

* Reintroduce min articles and take care of legacy parameters

* A few changes forgotten

* Draft of migration + DROP of feed.keep_history

* Fix several errors

And give up using const for SQL to allow multiple database types (and we
cannot redefine a const)

* Add keep_min to categories + factorise archiving logic

* Legacy fix

* Fix bug yield from

* Minor: Use JSON_UNESCAPED_SLASHE for attributes

And make more uniform

* Fix sign and missing variable

* Fine tune the logic
2019-10-23 00:52:15 +02:00
Patrick
d7f8883926 Docs update (#2164)
* Update Readme.conf

Add information in Readme.conf to hopefully stop bug reports about intended behavior.

* Update README.md

Co-Authored-By: pattems <patrick@crandol.com>

* Update README.md

Co-Authored-By: pattems <patrick@crandol.com>

* Update README.md

Co-Authored-By: pattems <patrick@crandol.com>

* Update README.md

Co-Authored-By: pattems <patrick@crandol.com>

* Update Readme

* Update Documentation Section

* Add main Documentation link near top of Document

* Make Documentation header a link

* Fix spelling mistake I didn't catch

* Apply suggestions from code review

Co-Authored-By: pattems <patrick@crandol.com>

* Changes per Frenzie comments

* Move non-disclaiming disclaimer

* English Admin Documentation Update

* Add Backup section

* Update wording in Index

* Move Footnotes to End

* Move Footnote

* Add content for todos

* Fix typos

* Fix a bunch of typos

* Remove a duplicated file (forgotten during dev merge)

* Improve the documentation a bit
2019-10-22 11:17:12 +02:00
Frans de Jonge
c1acf196c6 Prominently add liberapay link on GitHub (#2581)
Fixes <https://github.com/FreshRSS/FreshRSS/issues/2580>.
2019-10-22 10:55:56 +02:00
Alexandre Alapetite
21936c1373 Comply with LibreJS (#2576)
https://www.gnu.org/software/librejs/
https://addons.mozilla.org/firefox/addon/librejs/
Did not touch jquery.min.js because it is a third party script, which is regularly updated, and the add-on does not seem to block it enough to break our statitics page, which remains usable.
2019-10-20 22:10:24 +02:00
Quentí
b7c77894d0 i18n Occitan update (#2583)
* Update conf.php

* Update user.php

* Update admin.php

* Update user.php

* Update gen.php

* Update index.php

* Update index.php

* Update user.php
2019-10-20 21:49:21 +02:00
Stoinov
c55cb7d563 Added myself to credits (#2579) 2019-10-19 12:16:18 +02:00
Stoinov
6d330206af Reeder added native support (#2578)
* Reeder aded native support
Added Reeder as supported in Reader page
Clarified how to use the Fever API with Reeder
Fixed some typos on both pages
2019-10-19 12:03:06 +02:00
Alexandre Alapetite
bc820a151a Docker update to Ubuntu 19.10 (#2577)
Released today with PHP 7.3.8, Apache 2.4.41
http://releases.ubuntu.com/eoan/
2019-10-19 02:39:18 +02:00
Pim Snel
5cc198c2e2 add mipmip to the credits (#2575) 2019-10-17 08:12:58 +02:00
Pim Snel
fb3bcc45f3 #2573 remove trailing slash to prevent normalizing by nginx (#2574) 2019-10-17 00:05:04 +02:00
Offerel
ab4c3891ba Fix for broken read icon in Firefox (#2571)
* Fix for broken reading view icon in Firefox

* Update CREDITS.md

* Update CREDITS.md

* Fix for broken read icon in Firefox
2019-10-16 08:16:04 +02:00
Offerel
9dccfd23f4 Fix for broken reading view icon in Firefox (#2569) 2019-10-15 11:37:44 +02:00
Alexandre Alapetite
b20fddc330 Fix API i18n (#2565)
Fix https://github.com/FreshRSS/FreshRSS/issues/2564
2019-10-09 23:37:47 +02:00
Alexandre Alapetite
077e3cff45 Increase import size (#2563)
* Increase import size

This is merely a temporary workaround to allow at least some medium size
imports
https://framateam.org/freshrss/pl/7wbt4tcyetrfmris9xdcbq7uuw
The import module should be rewritten to process files one by one and as
data streams instead of loading multiple copies of the whole dataset in
memory as is the case now :-(
https://github.com/FreshRSS/FreshRSS/issues/1890
Note that the new SQLite export/import is distinct from this case.

* Use parameter
2019-10-08 20:52:03 +02:00
Alexandre Alapetite
ac9e2df7f8 Changelog 2448 2549 2554 2555 2559 2562 2019-10-06 22:36:45 +02:00
Alexandre Alapetite
3b65f2e586 Fix PostgreSQL and SQLite DB size estimation (#2562) 2019-10-06 22:17:28 +02:00
Alexandre Alapetite
be4c942cb3 SQL allow recreating existing user (#2555)
* SQL allow recreating existing user

Taking advantage of https://github.com/FreshRSS/FreshRSS/pull/2554
In a case when FreshRSS data is lost, but database data still intact (in
particular MySQL or PostgreSQL), this patch allows recreating previous
users without error

* Better error retrieval

Especially when error occur during the prepare statement
2019-10-06 00:14:19 +02:00
Robert Kaussow
1b15e22897 add dsnParams to exception log (#2559) 2019-10-05 23:29:41 +02:00
Alexandre Alapetite
40686d68df Catch error in install (#2556) 2019-10-05 17:12:05 +02:00
Alexandre Alapetite
0d5c80b698 Example Docker Compose v3 (#2553)
Fix https://github.com/FreshRSS/FreshRSS/issues/2547
2019-10-05 15:48:38 +02:00
Alexandre Alapetite
61724c651b PostgreSQL 9.5+ (#2554)
Needed for `CREATE  INDEX IF NOT EXISTS` syntax.
Supported as back as Ubuntu 16.04 LTS.
Similar version checks than for the PHP version bump
https://github.com/FreshRSS/FreshRSS/pull/2495
https://www.postgresql.org/docs/9.5/sql-createindex.html
https://www.postgresql.org/docs/9.5/release-9-5.html
2019-10-05 15:48:25 +02:00
Alexandre Alapetite
77afd1393e Add optional database connection URI parameters (#2552)
#fix https://github.com/FreshRSS/FreshRSS/issues/2549
2019-10-05 15:48:03 +02:00
Alexandre Alapetite
38932ee3bb MySQL entry content MEDIUMBLOB (#2551)
Fix https://github.com/FreshRSS/FreshRSS/issues/2448
2019-10-05 10:37:15 +02:00
Alexandre Alapetite
83b0521233 Changelog 2542 syntax 2019-10-01 20:45:35 +02:00
Alexandre Alapetite
85cf0ac5ab Changelog 2522 2542 2019-10-01 18:18:09 +02:00
Alexandre Alapetite
ec5f7ad554 Workaround for Firefox favicon glitch (#2543)
Observed in Firefox 69: the favicon is sometimes refreshed with an old
favicon that does not have the number of unread items on it. Seems to
depend on load speed.
2019-10-01 18:12:48 +02:00
Alexandre Alapetite
37b52b7361 Trim whitespace (#2544) 2019-10-01 18:12:21 +02:00
Alexandre Alapetite
7ae4e9f159 Quick fix: forgotten PDO values (#2546)
From https://github.com/FreshRSS/FreshRSS/pull/2522
2019-09-29 23:11:35 +02:00
Alexandre Alapetite
ef00513a81 Quick fix: API PDO visibility bug (#2545)
Introduced in https://github.com/FreshRSS/FreshRSS/pull/2522
2019-09-29 17:55:08 +02:00
Alexandre Alapetite
e3e5954394 PDO refactoring for code simplification (#2522)
* PDO refactor

* Automatic prefix when using the syntax `_tableName`
* Uniformity: MySQL is now PDO::ATTR_EMULATE_PREPARES = false just like SQLite and PostgreSQL, with consequences such as only one statement per query
* Use PDO methods exec(), query(), prepare() + execute() in a more efficient way
* Remove auto-update SQL code for versions older than FreshRSS 1.5 (3 years old)
* The name of the default category is set in PHP instead of in the DB (simplies SQL and allows changing the name according to the FreshRSS language)
* Rename `->bd` to `->pdo` (less of a frenshism, and more informative)
* Fix some requests, which were not compatible with MySQL prepared statements

* Whitespace

* Fix syntax for PostgreSQL sequences

+ MySQL install

* Minor formatting

* Fix lastInsertId for PostgreSQL

* Use PHP 5.6+ const

Take advantage of https://github.com/FreshRSS/FreshRSS/pull/2527
https://www.php.net/manual/en/migration56.new-features.php

* A bit of forgotten PHP 5.6 simplification for cURL

* Forgotten $s

* Mini fix custom user config

https://github.com/FreshRSS/FreshRSS/pull/2490/files#r326290346

* More work on install.php but not finished

* install.php working

* More cleaning of PDO in install

* Even more simplification

Take advantage of PDO->exec() to run multiple statements

* Disallow changing the name of the default category

https://github.com/FreshRSS/FreshRSS/pull/2522#discussion_r326967724
2019-09-29 16:22:50 +02:00
Alexandre Alapetite
ec4307c1a6 Use dc:creator instead of author for RSS 2.0 outputs (#2542)
https://github.com/FreshRSS/FreshRSS/issues/2538#issuecomment-536227043
2019-09-29 11:14:21 +02:00
Alexandre Alapetite
823f581523 Document Reeder compatibility (#2540)
https://github.com/FreshRSS/FreshRSS/issues/2513
https://github.com/FreshRSS/FreshRSS/pull/2526
2019-09-28 23:16:21 +02:00
rocka
f0bd12c5c6 Update CREDITS.md (#2541) 2019-09-28 23:15:52 +02:00
Alexandre Alapetite
ba39332661 Changelog 2019-09-28 12:51:04 +02:00
rocka
1f3672fcc1 Optimize dynamic favicon for HiDPI screens (#2539)
This PR leveraging `window.devicePixelRatio` to generate high resolution favicons for HiDPI screens.
2019-09-28 12:10:51 +02:00
Alexandre Alapetite
891e8ef782 Explicit Traefik 1.7 (#2533)
Traefik 2.0 has some breaking changes.
Making the use of version 1.7 explicit while waiting for upgrading to 2.0
https://community.containo.us/t/traefik-release-v2-0-0/1628
2019-09-25 07:51:10 +02:00
Marien Fressinaud
1402db4cbc Hide the admin checkbox if user is not admin (#2531) 2019-09-18 17:26:10 +02:00
Marien Fressinaud
410c4af6bb Redirect connected users accessing registration page (#2530) 2019-09-18 17:25:31 +02:00
Alexandre Alapetite
e761202f8a Remove JSON.php fallback (#2528)
After moving to PHP 5.6+ https://github.com/FreshRSS/FreshRSS/pull/2527
it should not be necessary to have the JSON.php fallback anymore, which
was mainly there due to an obscure licensing issue 6 years ago in Debian
https://wiki.debian.org/qa.debian.org/jsonevil , which broke Ubuntu
13.10 https://github.com/FreshRSS/FreshRSS/issues/306
2019-09-18 17:18:36 +02:00
Alexandre Alapetite
a8bbcef551 Merge pull request #2527 from Alkarex/php5.6
Require PHP 5.6+
2019-09-18 16:41:32 +02:00
Alexandre Alapetite
28ab89146b API Reeder compatibility (#2526)
https://github.com/FreshRSS/FreshRSS/issues/2513
2019-09-18 13:03:53 +02:00
Alexandre Alapetite
87e20ea290 Changelog 2527 2019-09-17 20:30:10 +02:00
Alexandre Alapetite
38117df976 Require PHP 5.6+
Discussion
https://github.com/FreshRSS/FreshRSS/pull/2495#issuecomment-531911473
Needed for constant arrays
https://www.php.net/manual/en/migration56.new-features.php which will be
used in https://github.com/FreshRSS/FreshRSS/pull/2522
2019-09-17 20:28:07 +02:00
Marien Fressinaud
a2ed6626c2 Add support for terms of service
This feature is optional. It is based on the presence of a
`data/tos.html` file that an administrator can create. If this file
exists, FreshRSS will automatically add a "ToS" checkbox on the
registration page that users must check to be able to create their
account.
2019-09-17 09:21:23 +02:00
Joris Kinable
80590daeb3 Configure user defaults (#2490)
* new users inherit defaults from config-user.php

* installer creates ./data/config-user.php

* fixed typo

* .gitignore fix

* fixed style issues

* Fixed comments

* Update according to feedback

- rename file into `data/config-user.custom.php`
- make it optional (and so, don't copy it during installation)

* fixup! Update according to feedback
2019-09-16 21:18:42 +02:00
Alexandre Alapetite
c76a318193 CLI to export/import any database to/from SQLite (#2496)
* CLI to export/import any database to/from SQLite

Require PHP 5.5+ https://github.com/FreshRSS/FreshRSS/pull/2495

* Travis

* Execution rights

* Fix wrong static fields

* Fix MySQL bad default buffering

https://stackoverflow.com/questions/6895098/pdo-mysql-memory-consumption-with-large-result-set/6935271#6935271
https://php.net/manual/ref.pdo-mysql

* Fix count on progression

* Avoid static DB information

To ease working with two DBs at the same time

* Less static, simplify

Needs some testing

* Small corrections

* Special case for SQLite to SQLite

* Modify special case for SQLite

* Remove special case for SQLite

More uniform logic for the 3 databases.
Fix wrong DROP TABLE for SQLite.

* Drop indexes

* Revert "Drop indexes"

This reverts commit f28d2bae09.

* Fix deletion

* Fix classic export

* Update cli/README.md

Co-Authored-By: Marien Fressinaud <dev@marienfressinaud.fr>

* Addressing part of review

* Remove goto 😢

* Travis

* Comment for SQLite case

* Fix missing fields when inserting
2019-09-15 21:36:53 +02:00