aboutsummaryrefslogtreecommitdiff
path: root/app/install.php
AgeCommit message (Collapse)Author
2024-03-17fixed HTML: <fieldset> + <legend> (#6202)Gravatar maTh
* legend tags cleaned * formgroup -> fieldset tag * add bookmarklet class * Update logs.phtml * Update logs.phtml * fixed log table text alignment
2024-03-14Fix crash during update of existing install (#6205)Gravatar Alexandre Alapetite
fix https://github.com/FreshRSS/FreshRSS/issues/6204 Mess due to https://github.com/FreshRSS/FreshRSS/pull/5511
2024-01-15PHPStan prepare exceptions (#6037)Gravatar Alexandre Alapetite
Take advantage of https://phpstan.org/blog/bring-your-exceptions-under-control Minimum changes to pass `tooWideThrowType` and `implicitThrows`. Revert some mistakes from: https://github.com/FreshRSS/FreshRSS/pull/5504 Preparation needed before new PRs of the same type: https://github.com/FreshRSS/FreshRSS/pull/5962 Fix several wrong PHPDocs and catches: > Method ... has ...Exception in PHPDoc @throws tag but it's not thrown. > Dead catch - ...Exception is never thrown in the try block.
2023-12-20Fix login (#5955)Gravatar Alexandre Alapetite
fix https://github.com/FreshRSS/FreshRSS/issues/5953 Regression due to https://github.com/FreshRSS/FreshRSS/pull/5946
2023-12-18Pass PHPStan level 8 (#5946)Gravatar Alexandre Alapetite
* Pass PHPStan level 8 And prepare for PHPStan level 9 https://phpstan.org/user-guide/rule-levels * Revert wrong replace in comment * Fix PHPStan level 8 * Update PHPStan and other dev dependencies * Remove obsolete comment * noVariableVariables and towards bleedingEdge https://github.com/phpstan/phpstan-strict-rules https://phpstan.org/blog/what-is-bleeding-edge * More bleedingEdge * A bit more PHPStan level 9 * More PHPStan level 9 * Prepare for booleansInConditions Ignore int and null * Revert wrong line * More fixes * Fix keep_max_n_unread * Stricter attribute functions * Stricter callHooks and more PHPStan level 9 * More typing * A tiny more
2023-11-16Use strict_types (#5830)Gravatar Luc SANCHEZ
* Little's optimisations and booleans in conditions * Apply strict type * Apply strict type * Apply strict type * Fix multiple bugs with PHP 8.2 and 8.3 * Many declares missing, more errors fixed * Apply strict type * Another approach * Stronger typing for Minz_Session * Fix case of SQLite --------- Co-authored-by: Luc <sanchezluc+freshrss@gmail.com> Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2023-10-31Update DB recommendations (#5793)Gravatar Alexandre Alapetite
* Update DB recommendations Favour PostgreSQL, based on tests such as: https://github.com/FreshRSS/FreshRSS/pull/5648#issuecomment-1715843198 https://github.com/FreshRSS/FreshRSS/issues/5707 SQLite is generally very fine, although with the challenge that the DB model cannot easily be updated https://www.sqlite.org/lang_altertable.html#why_alter_table_is_such_a_problem_for_sqlite (We should ship a command-line update mechanism) I have verified that FreshRSS still works with `mysql:5.5.62` https://hub.docker.com/layers/library/mysql/5.5.62/images/sha256-d404d78aa797c87c255e5ae2beb5d8d0e4d095f930b1f20dc208eaa957477b74?context=explore * sqlite
2023-10-30applies several small optimizations (#5511)Gravatar Luc SANCHEZ
declare(strict_types=1); Co-authored-by: Luc <sanchezluc+freshrss@gmail.com>
2023-07-30Rework trusted proxies (#5549)Gravatar Alexandre Alapetite
* Rework trusted proxies Fix https://github.com/FreshRSS/FreshRSS/issues/5502 Follow-up of https://github.com/FreshRSS/FreshRSS/pull/3226 New environment variable `TRUSTED_PROXY`: set to 0 to disable, or to a list of trusted IP ranges compatible with https://httpd.apache.org/docs/current/mod/mod_remoteip.html#remoteiptrustedproxy New internal environment variable `CONN_REMOTE_ADDR` to remember the true IP address of the connection (e.g. last proxy), even when using mod_remoteip. Current working setups should not observe any significant change. * Minor whitespace * Safer trusted sources during install Rework of https://github.com/FreshRSS/FreshRSS/pull/5358 https://github.com/FreshRSS/FreshRSS/issues/5357 * Minor readme
2023-07-07Chore/processing of depreciations and updating code to php72 minimum (#5504)Gravatar Luc SANCHEZ
* processing of depreciations and updating of code to php7.2 minimum * Autoformat many strange array indenting And revert a few unwanted changes --------- Co-authored-by: Luc <sanchezluc+freshrss@gmail.com> Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2023-05-11Improved: Install process: give more infos (#5350)Gravatar maTh
* comments added for each step * infos about FreshRSS added in first step * Remove reference to Kriss and Leed from install page I do not find that informative, and quite confusing. Moved to readme instead. --------- Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2023-05-11A few additional PHPStan rules (#5388)Gravatar Alexandre Alapetite
A subset of https://github.com/phpstan/phpstan-strict-rules
2023-05-03Automatic trusted_sources during install (#5358)Gravatar Alexandre Alapetite
* Automatic trusted_sources during install Fix https://github.com/FreshRSS/FreshRSS/issues/5357 * Fix install for http_auth * Update lib/lib_rss.php Co-authored-by: Luc SANCHEZ <4697568+ColonelMoutarde@users.noreply.github.com> * Fill null exception e-mail * Revert some syntax * Minor parentheses
2023-04-17Complete PHPStan Level 6 (#5305)Gravatar Alexandre Alapetite
* Complete PHPStan Level 6 Fix https://github.com/FreshRSS/FreshRSS/issues/4112 And initiate PHPStan Level 7 * PHPStan Level 6 for tests * Use phpstan/phpstan-phpunit * Update to PHPStan version 1.10 * Fix mixed bug * Fix mixed return bug * Fix paginator bug * Fix FreshRSS_UserConfiguration * A couple more Minz_Configuration bug fixes * A few trivial PHPStan Level 7 fixes * A few more simple PHPStan Level 7 * More files passing PHPStan Level 7 Add interface to replace removed class from https://github.com/FreshRSS/FreshRSS/pull/5251 * A few more PHPStan Level 7 preparations * A few last details
2023-03-26Modernize Constants and use new constant for string 'currentUser' (#5089)Gravatar Luc SANCHEZ
* Modernize Constants and use new constant 'currentUser' * Add FreshRSS_Context::currentUser() function and use * Add FreshRSS_Context::currentUser() function and use * Add FreshRSS_Context::currentUser() function and use * Add FreshRSS_Context::currentUser() function and use * Add FreshRSS_Context::currentUser() function and use * Update app/Controllers/userController.php * Update app/Controllers/userController.php * Update app/Controllers/userController.php * Update app/Models/Auth.php * Update p/api/greader.php * Update p/api/greader.php * Update p/api/greader.php * Update app/Models/Context.php * Update app/Models/LogDAO.php * Update lib/Minz/Log.php * Update p/api/greader.php * Update app/layout/header.phtml * Update app/views/helpers/export/articles.phtml * Update cli/do-install.php * Remarque's from Alkarex * Remarque's from Alkarex * Refactor using new Minz_User class * Consistent naming of public constants --------- Co-authored-by: Luc <sanchezluc+freshrss@gmail.com> Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2023-03-04Improve UI/UX install process (#5147)Gravatar maTh
* less buttons on step 1 * add form-group * jump to next step as link not as button * improve navigation bar HTML structure * sync password-show button with extra.js * fix CSS * i18n: step 4: split text strings for help text (max chars default user) * show menu button if mobile view * improve header layout with empty div * step 5: button in form-actions * improve buttons in goup-controls * Favicon added * Button: Font color hover btn-attention * install check step: add subtitles * fix .btn * improve tabindex * improve showPW_this()
2023-01-09Lazy load logo on install, logo on header and theme thumbs in config slide ↵Gravatar Sadetdin EYILI
(#4998) * feat: lazy load logo on install, logo on header and theme thumbs in config slide
2022-11-15Fix type hints regressions (#4855)Gravatar Alexandre Alapetite
Fix regressions from https://github.com/FreshRSS/FreshRSS/pull/4561 Example: ``` PHP Fatal error: Uncaught TypeError: Argument 1 passed to checkToken() must be an instance of FreshRSS_UserConfiguration, instance of Minz_Configuration given, called in /var/www/FreshRSS/p/api/greader.php on line 1091 and defined in /var/www/FreshRSS/p/api/greader.php:223 Stack trace: #0 /var/www/FreshRSS/p/api/greader.php(1091): checkToken() #1 {main} thrown in /var/www/FreshRSS/p/api/greader.php on line 223 ``` Improvement of https://github.com/FreshRSS/FreshRSS/pull/4110
2022-09-29Rename template.css (#4644)Gravatar maTh
* Fix conflicts * Update doc * Misses * Update prefix in CSS Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2022-05-23Custom logo HTML (#4369)Gravatar Alexandre Alapetite
* Custom logo HTML Add option for custom HTML logo/title in the main Web UI view. Can potentially be different per user. #fix https://github.com/FreshRSS/FreshRSS/pull/3830/files#r850472247 * logo_html in main config With new `./data/config.custom.php` to provide custom values before install * Docker documentation * whitespace * Auto relax CSP to allow images for HTML logo * Documentation
2022-01-08Use typographic quotes (#4133)Gravatar Alexandre Alapetite
* Use typographic quotes * A few fixes * Fix * Fix not saved * Implement feedback * Detail * Revert spoken English fixes Left for a future dedicated discussion * More reverts * Final reverts * Final minor
2022-01-04PHPStan level 5 (#4110)Gravatar Alexandre Alapetite
* Fix most PHPDocs errors Contributes to https://github.com/FreshRSS/FreshRSS/issues/4103 https://phpstan.org/writing-php-code/phpdoc-types * Avoid func_get_args Use variadic syntax instead https://php.net/manual/functions.arguments#functions.variable-arg-list And avoid dynamic functions names when possible to more easily identify calls and unused functions. Contributes to https://github.com/FreshRSS/FreshRSS/issues/4103 * PHPStan level 3 * PHPStand level 4 * Update default to PHPStan level 4 * Towards level 5 * Fix level 4 regression * Towards level 5 * Pass PHPStan level 5 * Towards level 6 * Remove erronenous regression from changelog https://github.com/FreshRSS/FreshRSS/pull/4116
2021-12-31Improved: install.php code quality (#4099)Gravatar maTh
* delete unused $user_default_config * move inner named function * moved $auth_type * improve readability * phpcs fixes
2021-12-03Fix: double main tags (#4014)Gravatar maTh
* replace div with main * include the slider into main * format source * add close icon for the extension slider * replace div with main * Update shortcut.phtml * fixed the nits
2021-11-11Improve install routine: database password input with "show password" button ↵Gravatar maTh
(#3962) * wip * CSS better btn * CSS: RTL * button is better than a * improved CSS for button
2021-08-15Install routine: Reload button if checks fail (#3771)Gravatar maTh
* template + translations translation made with Google translate + check with my knowledge + recheck with invers translation * Update app/install.php Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2021-08-14Better catch when a user does not exists (#3751)Gravatar Alexandre Alapetite
#fix https://github.com/FreshRSS/FreshRSS/issues/3735 Before, we were relying on an exception during the first stages of user initalisation. Now the check is explicit and cleaner, producing a more appropriate HTTP response for the API.
2021-08-04Minor fix phpcbfGravatar Alexandre Alapetite
Minor whitespace from https://github.com/FreshRSS/FreshRSS/pull/3721
2021-08-04Install routine freshup (#3721)Gravatar maTh
* navigation: disable next steps * change icon to full icon (incl. text) * navigation is a ordered list * set mouse title on each navigation item * navigation: next steps in grey italc
2021-07-24install routine: template to html5 (#3713)Gravatar maTh
2021-03-26tec: Remove data/do-install.txt (#3555)Gravatar berumuron
* Remove file data/do-install.txt This file was painful during update because we had to remember to delete it each time. It added a security issue by allowing an attacker to reinstall FreshRSS during the update process. The (more powerful) file data/applied_migrations.txt has been introduced in 8619cf6fa to replace do-install.txt. We had to wait for at least one release in order to make sure existing instances of FreshRSS created the migration file. It should be ok now. * Replace i18n install.not_deleted key * Update documentation to update FreshRSS
2021-03-20Fix init in CLI install (#3544)Gravatar Alexandre Alapetite
#fix https://github.com/FreshRSS/FreshRSS/issues/3528 config was not properly reloaded after being populated
2021-03-14If cURL is not installed, the script stops with a fatal error. (#3519)Gravatar ThomasSmallert
* If cURL is not installed, the script stops with a fatal error. The script stops with the following message. Fatal error: Uncaught Error: Call to undefined function curl_version() * Update app/install.php Fix whitespace Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2021-02-28Travis: Enforce phpcs line length + whitespace (#3488)Gravatar Alexandre Alapetite
* 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-11refactor: remove referer checks, as they are no longer needed (replaced by ↵Gravatar hesch
csrf tokens) (#3432)
2021-02-07Check that PHP session is working during install (#3430)Gravatar Alexandre Alapetite
* Check that PHP session is working during install #fix https://github.com/FreshRSS/FreshRSS/issues/3198 * Minor whitespace * Missing he
2021-02-06Add missing variable (#3427)Gravatar Alexis Degrugillier
When refactoring the install in #3368, a variable was unwillingly removed. It's back in the code now.
2021-01-23Add username hint for permissions during install (#3373)Gravatar Alexis Degrugillier
The username is retrieved by 2 different means to support different configurations and architectures. If there is no way to find the username, the "unknown" string is displayed instead. See #2758
2021-01-23Refactor requirement check in install (#3368)Gravatar Alexis Degrugillier
I've extracted the template in the check requirement to ensure that future modifications will be easier.
2021-01-14Add constant for PHP requirements (#3369)Gravatar Alexis Degrugillier
* Add constant for PHP requirements This new constant is used for PHP version check. This way, we won't forget to modify some part of the code base. * Remove PHP version checks Some checks were obsolete because they were checking unsupported PHP versions.
2021-01-02Avoid manual initialisations of system or user configuration (#3070)Gravatar Alexandre Alapetite
* Avoid manual intialisations of system or user configuration More consistent use of Context * Simplify FreshRSS_Context::initUser * Remove a few manual get_user_configuration * A bit of debugging * Fix context user init * Fix install * Fix concurrency Concurrent requests could lead to bad race condition * Fix actualize cron Fix case when system i initialised several times
2021-01-02Add temp folder check during install (#3312)Gravatar Alexis Degrugillier
Before, the temp path was not check during install. With some configuration, FRSS was not working because of a non-writable temp directory. It happened with XAMPP on MacOS X but it might be the case for other platforms. Now, the temp path is checked during install to make sure it is writable. See #3310
2020-12-29Remove Minz validation during install. (#3302)Gravatar Alexis Degrugillier
As FRSS always comes with Minz, there is no need to validate that it is there during install. If it turns out we need to validate that, we might need to validate other libraries as well.
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-11-02db username regex relaxed to allow @ (#3241)Gravatar GuillaumePugnet
Co-authored-by: Guillaume Pugnet <guillaume.pugnet@avanade.com>
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-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-06-14Add a way to disable/enable users (#3056)Gravatar Alexis Degrugillier
If you want to block users without deleting their account, you can now disable them from the interface.
2020-04-20Enhance the way help elements are displayed (#2911)Gravatar Julien-Pierre Avérous
* - Always display help under the targeted element. - Use same help place for HTTP authentication in 'add' feed view than in 'update' feed view. - Move help under input field in register view, as all other places (homogeneity). * - Don't use "!important" as suggested by @Alkarex.
2020-03-01[UI] Add RTL support with RTLCSS (#2776)Gravatar Frans de Jonge
* Add dir info to gen.php & install.php! * Add `make rtl` command Using rtlcss because it has actually has a command-line application!