aboutsummaryrefslogtreecommitdiff
path: root/app
AgeCommit message (Collapse)Author
2019-10-31Fix categories sorting (#2616)Gravatar Marien Fressinaud
I had a bug when some articles in a category were unread. Sometimes, filtering the category displayed all the articles, even with the "Adjust showing" option. A reasonably good guess was to look the last commits that impacted the categories and, indeed, it was introduced by the new category sorting system. The sort function (`usort`) doesn't keep the index association, which is important here. I must admit I don't understand exactly why (I didn't search), but the keys are probably used somewhere. Another fix would be to not rely on these keys anymore. The bug was introduced in 042fcd5e93884690efdd2f957ca02751958c0724 - Ref PR: https://github.com/FreshRSS/FreshRSS/pull/2592 - Ref usort: https://www.php.net/manual/en/function.usort.php - Ref uasort: https://www.php.net/manual/en/function.uasort.php
2019-10-30Update sub.php (#2615)Gravatar Quentí
2019-10-29Update link in the README (#2614)Gravatar Alexis Degrugillier
Website seems dead. Changed by repository URL. See #2613
2019-10-27[i18n] Update Dutch translation for v1.15 (#2610)Gravatar Frans de Jonge
Cf. <https://github.com/FreshRSS/FreshRSS/pull/2599>.
2019-10-27keep_max disabled by default for existing installations (#2607)Gravatar Alexandre Alapetite
Fix https://github.com/FreshRSS/FreshRSS/issues/2600 Second attempt https://github.com/FreshRSS/FreshRSS/pull/2602
2019-10-27Add a warning message for Firefox user (#2606)Gravatar Alexis Degrugillier
From version 63 and onwards, Firefox has removed the ability to add subscription services. This is a warning for deprecation on the subscription tools page. See #2100
2019-10-26[i18n] Occitan update: purge options (#2603)Gravatar Quentí
* Update sub.php * Update gen.php * Update conf.php
2019-10-26keep_max disabled by default for existing installations (#2602)Gravatar Alexandre Alapetite
https://github.com/FreshRSS/FreshRSS/issues/2600
2019-10-26Add category order (#2592)Gravatar Alexis Degrugillier
* Add category order Each category has a new 'priority' attribute. It is used to sort categories in views. Categories with the same priority are sorted alphabetically. Categories with no priority are displayed after those with one. For example, if we have the following categories: - A (priority: 2) - B (no priority) - C (priority: 1) - D (priority: 2) - E (no priority) - F (priority: 1) They will be displayed in the following order: - C - F - A - D - B - E See #190 * Shorten help text It took too much room and will not be so necessary once we have drag & drop
2019-10-23Take advantage of PHP 5.4+ short echo (#2585)Gravatar Alexandre Alapetite
* 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-23Workaround for MySQL limitation 1093 (#2586)Gravatar Alexandre Alapetite
* Workaround for MySQL limitation 1093 https://github.com/FreshRSS/FreshRSS/pull/2335#issuecomment-545194606 including minor Travis fixes
2019-10-23Feature/new archiving (#2335)Gravatar Alexis Degrugillier
* 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-20i18n Occitan update (#2583)Gravatar Quentí
* 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-08Increase import size (#2563)Gravatar Alexandre Alapetite
* 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-06Fix PostgreSQL and SQLite DB size estimation (#2562)Gravatar Alexandre Alapetite
2019-10-06SQL allow recreating existing user (#2555)Gravatar Alexandre Alapetite
* 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-05Catch error in install (#2556)Gravatar Alexandre Alapetite
2019-10-05PostgreSQL 9.5+ (#2554)Gravatar Alexandre Alapetite
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-05MySQL entry content MEDIUMBLOB (#2551)Gravatar Alexandre Alapetite
Fix https://github.com/FreshRSS/FreshRSS/issues/2448
2019-10-01Trim whitespace (#2544)Gravatar Alexandre Alapetite
2019-09-29Quick fix: forgotten PDO values (#2546)Gravatar Alexandre Alapetite
From https://github.com/FreshRSS/FreshRSS/pull/2522
2019-09-29PDO refactoring for code simplification (#2522)Gravatar Alexandre Alapetite
* 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-29Use dc:creator instead of author for RSS 2.0 outputs (#2542)Gravatar Alexandre Alapetite
https://github.com/FreshRSS/FreshRSS/issues/2538#issuecomment-536227043
2019-09-18Hide the admin checkbox if user is not admin (#2531)Gravatar Marien Fressinaud
2019-09-18Redirect connected users accessing registration page (#2530)Gravatar Marien Fressinaud
2019-09-18Remove JSON.php fallback (#2528)Gravatar Alexandre Alapetite
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-17Require PHP 5.6+Gravatar Alexandre Alapetite
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-17Add support for terms of serviceGravatar Marien Fressinaud
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-16Configure user defaults (#2490)Gravatar Joris Kinable
* 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-15CLI to export/import any database to/from SQLite (#2496)Gravatar Alexandre Alapetite
* 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 f28d2bae0935745c1c74ea38f2ee083f3fd4bf9d. * Fix deletion * Fix classic export * Update cli/README.md Co-Authored-By: Marien Fressinaud <dev@marienfressinaud.fr> * Addressing part of review * Remove goto :cry: * Travis * Comment for SQLite case * Fix missing fields when inserting
2019-09-11[i18n] Occitan update + improvement (#2519)Gravatar Quentí
* Update conf.php * Update user.php * Update gen.php * Update gen.php
2019-09-11add: Allow admins to configure default feeds (#2515)Gravatar Marien Fressinaud
* Homogenize SQL_INSERT_FEEDS across database types * Extract default feeds into system configuration * Adapt default feeds init during installation
2019-08-29fix: Fix "validate email"-related issues (#2512)Gravatar Marien Fressinaud
* fix: Make sure $disable_aside is initialized There was a warning for an uninitialized variable, hidden in production but visible in development mode. * fix: Allow to delete account when email isn't validated
2019-08-29Add lemmy share (#2510)Gravatar wtoscer
2019-08-29Provide email address verification feature (#2481)Gravatar Marien Fressinaud
* Add an email field to the profile page I reuse the `mail_login` from the configuration. I'm not sure if it's useful today (I would say it was used when Persona login was available). A good improvement would be to rename `mail_login` into `email` so it would be more intuitive to use. * Add boolean to the conf to force email validation This commit only adds a configuration item. * Add email during registration if email must be validated * Set email token to validate when email changes * Block access to FreshRSS if email is not validated * Send email when address is changed * Allow to resend the validation email * Allow the user to change its email while blocked * Document the email validation feature * fixup! Allow the user to change its email while blocked * tec: Autoload PHPMailer lib * Validate email address format * Add feedback on validation email resend action * Allow to logout when user is blocked * fix: Change default email "from" * Reorganize i18n keys * Complete all the locales with default english * Hide sidebar (profile page) if email is not validated * Check email requirements on registration * Allow admin to specify email when creating users * Don't check email format if value is empty * Remove trailing comma in userController Co-Authored-By: Alexandre Alapetite <alexandre@alapetite.fr> * Set PHPMailer validator to html5 before sending email * fixup! Remove trailing comma in userController
2019-08-22Minz: New environment variable to control development mode (#2508)Gravatar Alexandre Alapetite
* New environment variable to control development mode Suggestion of new enviromnent variable, as discussed https://github.com/FreshRSS/FreshRSS/pull/2492#issuecomment-523613920 * Update Docker/README.md Co-Authored-By: Frans de Jonge <fransdejonge@gmail.com> * Update Docker/README.md Co-Authored-By: Frans de Jonge <fransdejonge@gmail.com> * Update Docker/README.md Co-Authored-By: Frans de Jonge <fransdejonge@gmail.com> * Declare ENV in Dockerfile Tested
2019-08-21[i18n] Finish Dutch translation (#2503)Gravatar Frans de Jonge
Add a couple of new strings, minor grammar and style improvements, and ignore everything that should be ignored for 100 %.
2019-08-21[i18n] Minor cleanup in Slovak (#2502)Gravatar Frans de Jonge
Follow-up to <https://github.com/FreshRSS/FreshRSS/pull/2500>. The languages aren't translated, so they don't need to be there.
2019-08-20[i18n] Slovak (slovenčina) - added new language (#2497)Gravatar Tibor Repček
2019-08-20Require PHP 5.5+ (#2495)Gravatar Alexandre Alapetite
* Require PHP 5.5+ https://github.com/FreshRSS/FreshRSS/issues/2469#issuecomment-522255093 I think it would be reasonable to require PHP 5.5+ for the core of FreshRSS after all. As Frenzie said, WordPress currently requires PHP 5.6.20+, and it is the most popular PHP application. We would loose about 20% of the PHP servers according to https://w3techs.com/technologies/details/pl-php/5/all but I expect this number to drop fast after the release of CentOS 8 (CentOS accounts for 17% of Linux servers https://w3techs.com/technologies/details/os-linux/all/all ). Distributions: * no impact on Ubuntu, Fedora, Alpine, OpenWRT, FreeBSD, OpenSuze, Mageia, as all active versions have PHP > 7 * no impact on OpenSuze, Synology, as all active versions have PHP > 5.5 * we drop Debian 8 Jessie (-2020) - we keep supporting Debian 9 Stretch (2017-06) - current is Debian 10 Buster * we drop Red Hat 7 (-2024) - we keep supporting RHEL 8 (2019-05) * we drop CentOS 7 (-2024) - we will support CentOS 8 (to be released soonish) When dropping older versions, I can better like when it is for a good reason, and there is actually one with PHP 5.5, namely generators (yield) https://php.net/language.generators.overview which I consider using. * Version note for JSON.php * hex2bin * Update .travis.yml Co-Authored-By: Frans de Jonge <fransdejonge@gmail.com>
2019-08-15tec: Provide a Minz_Mailer class (#2476)Gravatar Marien Fressinaud
* Add Minz_View::_path method (replace change_view) The `_path` method is more powerful since it allows to choose the file extension. It is also Minz_Request-agnostic, which is useful to reuse the Minz_View class in other places. `change_view` is now deprecated and a warning is logged if we use it. * Provide a Minz_Mailer to send emails It uses PHPMailer under the hood and only supports PHP >= 5.5
2019-08-14Add hooks to ExtensionManager (#2482)Gravatar Marien Fressinaud
Hooks allow to: - add items in menus - perform new actions at the end of FreshRSS initialization
2019-08-14Added option to display authors under article titles (#2487)Gravatar Joris Kinable
This feature is particularly useful to display authors underneath scientific articles.
2019-08-02Allow to change the view layout (#2467)Gravatar Marien Fressinaud
The `_useLayout` function is marked as deprecated, replaced by a more powerful `_layout` function.
2019-07-31Clean access checks on userController (#2471)Gravatar Marien Fressinaud
The access was checked several times in some actions and had incoherent behaviours. Also, the `firstAction` condition was a bit tricky to understand. This PR duplicates conditions across all the controller actions and remove the `firstAction` which becomes useless.
2019-07-31Patch for #2460: Run on Apache 2.4+ without mod_access_compat (#2461)Gravatar koocotte
* Update .htaccess * Update htaccess for apache2.4 * Update htaccess for apache2.4 * Update htaccess for apache2.4
2019-07-30Remove Google+ support as it is dead. (#2464)Gravatar Gaurav Thakur
2019-07-21Fix user self registration (#2442)Gravatar Alexandre Alapetite
* Fix user self registration Fix https://github.com/FreshRSS/FreshRSS/issues/2381 * CSRF for admin
2019-07-14Default to SQLite (#2443)Gravatar Alexandre Alapetite
Move SQLite as first option in install instead of MySQL. Lower barrier to entry.
2019-07-07Docker healthcheck+ labels (#2438)Gravatar Alexandre Alapetite
* Add Docker labels And try to fix the platform metadata for ARM, and add health check * Execution rights * Remove experimental features not supported by Docker Hub "--squash" is only supported on a Docker daemon with experimental features enabled. build hook failed! (1) * Fix paths