summaryrefslogtreecommitdiff
path: root/app
AgeCommit message (Collapse)Author
2020-12-28Add a file for each PDO class (#3297)Gravatar Alexis Degrugillier
Before, we had 5 classes in the ModelPdo file. It was bad for 2 reasons. The first reason is that it is considered bad practice to have multiple class in one file. This is especially true when using autoloading. On top of that it is less readable considering the size of the file. The second reason is that so far we were lucky. Everytime we needed to access the database, it was through the ModelPdo class which loads all the other classes. If we want to access directly the connection, it wont be loaded. On top of that, the system is configured to work on a single database, but as we have every connection definition in a single file, all classes were loaded at the same time. Thus using memory and processing time for nothing. Now, we have a file for each class. To work with autoloading, classes were slightly renamed to match autoloading rules.
2020-12-28Auto-renew cookie (#3287)Gravatar Alexandre Alapetite
#fix https://github.com/FreshRSS/FreshRSS/issues/3169#issuecomment-685983797 Supplement https://github.com/FreshRSS/FreshRSS/pull/3170 When we get the long-term login cookie (i.e. when starting a new session), renew it at the same time for the same duration
2020-12-28Fix tag management translation (#3292)Gravatar Alexis Degrugillier
Before, feedback messages were not translated. Now, they are.
2020-12-26bump default logout from 30 days to 3 months (#3170)Gravatar Martin
* 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 Co-authored-by: Martin Rys <martin@rys.pw> Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
2020-12-26Layout add subscription (#3289)Gravatar Alexandre Alapetite
* Category first I kept hitting the 'add' button for a category when adding a new feed * Blanks Mix of spaces
2020-12-26Better OPML import of feeds in multiple categories (#3286)Gravatar Alexandre Alapetite
#fix https://github.com/FreshRSS/FreshRSS/issues/3284 Helps https://github.com/FreshRSS/FreshRSS/issues/1989 In OPMLs files in which feeds are listed several times, favour the version in a category instead of in no category.
2020-12-26Fix user queries with labels (#3285)Gravatar Alexis Degrugillier
Before user queries with labels were not translated. Actually, it was not even processed. Now those user queries are translated properly. See #3215
2020-12-22Cleaner use of session in install script (#3276)Gravatar Alexandre Alapetite
Fix warning about session already started during install. Refactor more code to use the same approach than in main FreshRSS. Did not address all read accesses (not important) but did cover all write accesses (important)
2020-12-22Prevent login before extra.js is loaded (#3275)Gravatar Alexandre Alapetite
Disable submit button until extra.js with its crypto functions is loaded.
2020-11-23Ensure maximum date int (#3259)Gravatar Alexandre Alapetite
#fix https://github.com/FreshRSS/FreshRSS/issues/3258
2020-11-12Chang wording "Actualize" to "Update" (#3248)Gravatar Marc Ole Bulling
* Fixed translation error (changed "Actualize" to "Update") * Fix Travis Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2020-11-11Fix initI18n (#3249)Gravatar Alexandre Alapetite
* Fix initI18n #fix https://github.com/FreshRSS/FreshRSS/issues/3246#issuecomment-725463337 #fix https://github.com/FreshRSS/FreshRSS/issues/3136 It was due to calling `initI18n()` before `FreshRSS_Context` is intialised in some situations Introduced by https://github.com/FreshRSS/FreshRSS/pull/3022 Will be better fixed when https://github.com/FreshRSS/FreshRSS/pull/3070 lands * Fallback condition
2020-11-09Update remember open categories (#3245)Gravatar Mejans
2020-11-04i18n ignore name of languages (#3240)Gravatar Alexandre Alapetite
2020-11-02db username regex relaxed to allow @ (#3241)Gravatar GuillaumePugnet
Co-authored-by: Guillaume Pugnet <guillaume.pugnet@avanade.com>
2020-11-02Remember open categories (#3185)Gravatar Prashant Tholia
* feature(normal) - Remember opened categories in the left menu Session storage based implementation to remember opened categories in left menu Issue Ref: #2248 * lib_phpQuery updates * Updates covering feedback points and functionality fixes * Feedback updates * Revert "lib_phpQuery updates" This reverts commit dcd23b9418405a2d14ee03c1fcadf90c04b267e1. * First review Change variable name to "remember" instead of "open". Start using localStorage instead of sessionStorage. Simplify code. * Simplify remember categories init function Replace 'session' with 'local' in function names and comment Set open categories CSS as same as when category is opened in 'active' unfold mode * Remove URLSearchParams check in remember categories init function * Delete open categories on login and logout * JSHint check fix * Second review * Make new mode the default for new users * Always open active category * Reduce / simplify code * i18n French * Revert default value Wait a bit more for this decision / change Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2020-11-01 i18n update for German - added missing de translations (#3237)Gravatar Fake4d
* Add DE Translation * i18n update for German * i18n update for German * i18n update for German * Fix ignore Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2020-10-11Fix sanitize feed description (#3222)Gravatar Alexandre Alapetite
* Fix sanitize feed description #fix https://github.com/FreshRSS/FreshRSS/issues/3221 * Simplification
2020-10-11Misc. minorGravatar Alexandre Alapetite
Whitespace...
2020-10-06Minz allow parallel sessions (#3096)Gravatar Alexandre Alapetite
* Minz allow parallel sessions #fix https://github.com/FreshRSS/FreshRSS/issues/3093 * Array optimisation * Array optimisation missing * Reduce direct access to $_SESSION except in install process * Fix session start headers warning * Use cookie only the first time the session is started: `PHP Warning: session_start(): Cannot start session when headers already sent in /var/www/FreshRSS/lib/Minz/Session.php on line 39` * New concept of volatile session for API calls Optimisation: do not use cookies or local storage at all for API calls without a Web session Fix warning: ``` PHP Warning: session_destroy(): Trying to destroy uninitialized session in Unknown on line 0 ``` * Only call Minz_Session::init once in our index It was called twice (once indirectly via FreshRSS->init()) * Whitespace * Mutex for notifications Implement mutex for notifications https://github.com/FreshRSS/FreshRSS/pull/3208#discussion_r499509809 * Typo * Install script is not ready for using Minz_Session
2020-10-06Use of existing tag name via input field (#3213)Gravatar knasdk
* Use of existing tag name via input field Use existing tag name, when tag name is typed into tag list's text field * Indentation mistake Just an indentation correction * Final correction Missed line 35.
2020-10-05Minz: Attach a notification to a request (#3208)Gravatar Alexandre Alapetite
* Minz: Attach a notification to a request Notifications should be attached to a request, not to a global session. Fix https://github.com/FreshRSS/FreshRSS/pull/3096#issuecomment-654891906 Prepare https://github.com/FreshRSS/FreshRSS/pull/3096 * Rename array * Avoid string constants Implement https://github.com/FreshRSS/FreshRSS/pull/3208#issuecomment-703243863 * Improved logic * Simplify storage https://github.com/FreshRSS/FreshRSS/pull/3208#discussion_r499511213 * Fix notification bug in configuration/system
2020-10-03Add toggle password visibility button on login form (#3205)Gravatar flo0627
* Add password observer for login view and update Origine theme * Update Alternative-Dark style * Update BlueLagoon theme * Update Dark theme * Update Flat theme * Update Screwdriver theme * Update Origine-compact theme * Update Pafat theme * Coding style
2020-09-29Add Polish localization (#3190)Gravatar Bartosz Taudul
2020-09-17Fix CLI api_password (#3179)Gravatar Alexandre Alapetite
* Fix CLI api_password #fix https://github.com/FreshRSS/FreshRSS/issues/3177 Fix regression from https://github.com/FreshRSS/FreshRSS/pull/2675 * Update cli/_update-or-create-user.php Co-authored-by: oupala <oupala@users.noreply.github.com> Co-authored-by: oupala <oupala@users.noreply.github.com>
2020-09-10i18n update for German (#3175)Gravatar Nico Kaiser
This adds and improves some German translations.
2020-09-03When ssl_verify is false, decrease SSL security (#3171)Gravatar Alexandre Alapetite
When ssl_verify option is set to false for a feed, allow lower security such as SHA-1 signatures. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=900984 https://stackoverflow.com/questions/58342699/php-curl-curl-error-35-error1414d172ssl-routinestls12-check-peer-sigalgwr Fix error of type `cURL error 35: error:1414D172:SSL routines:tls12_check_peer_sigalg:wrong signature` Example of feeds: https://www.version2.dk/it-nyheder/rss https://ing.dk/rss/nyheder
2020-09-02Fix tag in user query (#3168)Gravatar Alexandre Alapetite
* Fix tag in user query #fix https://github.com/FreshRSS/FreshRSS/issues/3163 * Fix Travis
2020-09-01Add variable undeclared ($url) (#3164)Gravatar Luc SANCHEZ
* Add variable undeclared ($url) * Update ZipException.php * modify
2020-09-01Fix variable undeclared ($sql) (#3165)Gravatar Luc SANCHEZ
* Fix variable undeclared ($sql) * Update DatabaseDAOSQLite.php modify
2020-08-29Trim whitespace for feed passwords (#3158)Gravatar Alexandre Alapetite
We output a space by default in the user interface for setting feed passwords, in order to prevent aggressive password autocompletion https://github.com/FreshRSS/FreshRSS/pull/881 However, user might not always override this white space when entering the password. So here we trim. (I believe legitimate leading / trailing spaces in passwords are sufficiently rare not to be a problem)
2020-08-05Change feed order in a category (#3131)Gravatar Alexis Degrugillier
Before, the sorting was not human readable. Lower-cased feed names were displayed after upper-cased feed names. Now, the sorting is human readable. The sorting is done without taking into account the name case. See #3128
2020-07-31Relaxed to allow underscore _ in URL hostnames (#3133)Gravatar Alexandre Alapetite
* Relaxed to allow underscore _ in URL hostnames #fix https://github.com/FreshRSS/FreshRSS/issues/3132 https://bugs.php.net/bug.php?id=64948 * Minor fix in favicons redirect * Minor fix in relative HREF for favicons
2020-07-30i18n update for Occitan (#3134)Gravatar Mejans
* Update admin.php * Update conf.php * Update feedback.php * Update gen.php * Update sub.php
2020-07-23[i18n] Update en-UK grammar and style (#3068)Gravatar Frans de Jonge
Taken from <https://github.com/FreshRSS/FreshRSS/pull/3060>
2020-07-23[lang] Tags management → tag management (#3125)Gravatar Frans de Jonge
* [lang] Tags management → tag management Cf. <https://github.com/FreshRSS/FreshRSS/pull/3121#issuecomment-662922474>. * Move tag management underneath subscription management
2020-07-23Add tag management page (#3121)Gravatar Alexis Degrugillier
The new page allows to create, delete and rename tags. See #3058
2020-07-14Add language in JS context (#3116)Gravatar Alexis Degrugillier
2020-07-14Add tooltips on entries (#3115)Gravatar Alexis Degrugillier
See #3111
2020-07-14Add a way to disable shortcuts (#3114)Gravatar Alexis Degrugillier
When the user do not want to use a shortcut, he can let the shortcut value empty. This will save an empty configuration thus disabling the shortcut. The load default action allows to use default shortcut only for disabled shortcuts. See #3110
2020-07-14Add machine-readable dates in views (#3106)Gravatar Alexis Degrugillier
This will allow to make some transformations on dates when needed. See #3103 and #853
2020-07-14US-English translation improvement (#3112)Gravatar Germs2004
2020-07-13Show feed name inside the article (#3081)Gravatar Alexandre Alapetite
* Show feed name inside the article #fix https://github.com/FreshRSS/FreshRSS/issues/3079 * Normal view add date in subtitle #fix https://github.com/FreshRSS/FreshRSS/issues/3079#issuecomment-650109551
2020-07-08Add a migration system (#2760)Gravatar Marien Fressinaud
* Add a Minz_Migrator class Until now, we updated the database structure somewhere in the code but it wasn't always consistent and somehow complicated to find. Also, this code was always checked for nothing. The Migrator aims to improve and ease the creation of migrations. It should improve the way we apply the updates, making the update server almost useless. References: - example of migration (before Migrator): https://github.com/FreshRSS/FreshRSS/commit/cc0db9af4f980829faa4bf0960617807b32fb4fa#diff-11a53443fa81512b128c66b065df0679R10 - update server: https://github.com/FreshRSS/update.freshrss.org - PR moving the code of the update server to the core: https://github.com/FreshRSS/FreshRSS/pull/1760 * Automatically apply migrations For now, administrators are used to have nothing to do during an update else than getting the new code. I suggest to keep this behaviour and automatically apply migrations if we detect new ones. Another solution would be to create a CLI command and ask admins to call it after getting the new code. It could hide migrations errors to end users, but admin can forget to apply migrations since there are not used to it. * Add documentation for Minz Migrator * Execute migrations even if next ones are applied * Change mechanism to prevent multiple update at once * Use mkdir to create the lock and to test it exists Reference: https://stackoverflow.com/a/731634 * Append .lock to applied_migrations_path There are no needs to define another file to serve as a lock. * Change migrations naming convention * Apply suggestions from code review Co-Authored-By: Alexandre Alapetite <alexandre@alapetite.fr> * Perform a low-cost migration versions comparaison * Clarify version numbers concerning the migration system Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2020-07-07Hide feed credentials when adding a new feed (#3099)Gravatar Alexandre Alapetite
Avoid showing HTTP Basic Auth credentials in feed error log and in feed title (when there is no title provided)
2020-07-06Fix HTTP Basic Auth when adding a new feed (#3098)Gravatar Alexandre Alapetite
#fix https://github.com/FreshRSS/FreshRSS/issues/3097 Error from https://github.com/FreshRSS/FreshRSS/pull/3027
2020-06-21FeedMe table manage feeds + fix warning addFeed (#3075)Gravatar Alexandre Alapetite
FeedMe is able to add/remove subscriptions. Fix minor bug introduced by https://github.com/FreshRSS/FreshRSS/pull/1731 If the category ID is provided, we must first search for the existing category before trying to add a category with the provided name. Fix: ``` SQL error addCategory: ["23000",19,"UNIQUE constraint failed: category.name"] ```
2020-06-20Fetch feed name / website / description if empty (#3071)Gravatar Alexandre Alapetite
#fix https://github.com/FreshRSS/FreshRSS/issues/3067
2020-06-19Add auto-registration when using http_auth (#3003)Gravatar bpatath
* Add auto-registration when using http_auth * Document HTTP auth auto-registration * Check email variable for HTTP auth auto-registration * Auto-create HTTP users by default * Fix Context init (I will provide in another PR a better fix requiring a bit of global refactoring) * Init language Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2020-06-193041 en us localization (#3060)Gravatar Ed Sandor
* Initial locaization from international english to United States English examples: favourite -> favorite optimise -> optimize occured -> occurred labelled -> labelled ok -> okay * More spelling corrections default English occured->occurred cancelled -> canceled labelled -> labeled * Undo key spelling change * i18n format and admin.php translating * Translating admin.php * more admin.php translating * Translating conf.php * Translating feedback.php and format command * Translating gen.php * Translating index.php * Translating sub.php * Translating user.php * Translating install.php * Fix 'there is no idle feed' * FIx 'there is no feed to refresh" * Add i18n manipulation option to ignore all unmodified translation keys * Lint fixes * Update keys newly add since original branch * Revert unintenntional ru 'translation' * Code review revisions * Fix leading whitespace in ignore_unmodified api * Update app/i18n/en-us/gen.php Co-authored-by: Frans de Jonge <fransdejonge@gmail.com> * Update app/i18n/en-us/admin.php Co-authored-by: Frans de Jonge <fransdejonge@gmail.com> * Update app/i18n/en-us/admin.php Co-authored-by: Frans de Jonge <fransdejonge@gmail.com> * Update error message for Make ignore-unmodified keys to use Make syntax. (inline with 3062) Also rename ignore-unmodifed-key -> ignore-unmodified-keys * Replace makefile leading spaces with tabs * Code review revisions * Retab added php functions * Missed tab replace * Remove stray '-> todo' Co-authored-by: root <root@x-freshrss.lan.ewsandor.com> Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>