The previous code broke the setup page when the iTop server is behind a proxy that handles SSL termination.
Now the detection also checks the `HTTP_X_FORWARDED_PROTO` and `HTTP_X_FORWARDED_PROTOCOL` HTTP headers.
For any other page than the setup, the check is unchanged.
Many thanks @Hipska !
We now have a new setup landing page. The old one is renamed setup/wizard.php
This contains revert for "🐛 Fix setup homepage error with PHP < 7.1.0" (91c6916d86) => it was one of the modifications that caused the setup to crash before this !
* Remove XFrame header set in \WebPage::no_cache : not this method responsability, was confusing :/
* Remove no_cache() calls when already set in page constructor (ajax_page mainly)
* Also calls everywhere the \WebPage::no_cache method instead of setting headers manually
Was blocked because using iTop 3.0.0 with datamodels/2.x dir : \SetupUtils::GetCompatibleDataModelDir wasn't ok with that :o)
This method is no more present, and we're calling \SetupUtils::GetLatestDataModelDir only
In other words, we're picking the latest datamodel/*.x dir (greatest number)
- N°3053 - Check XML conversion methods
- N°3059 - Automatically set the documentation URLs
- N°3052 - Check community modules XML version against latest version
- N°3054 - Check community modules version against major version
- N°3062 - setup.css file integrity test
- N°3060 - Check consistency between the list of modules and installation.xml
- N°3061 - Automatically check the installation.xml consistency
- N°3268 Add test to check dictionary files: make sure that the Dict::Add declarations match the file name
- fix wrong test in \SetupUtils::CheckPhpAndExtensions
- fix \SetupUtils::CheckGraphviz consumers in WizardStep : do not assume that only one CheckResult is returned... doing a for each loop instead !
- json_encode prb on Windows : pull up default messages from consumers to \SetupUtils::CheckGraphviz (was introduced in 6e754d4fa5)
This is the caller responsibility to log using the correct classes !
Also we need to remove this dependency O:)
Modifications:
* reverts e8e259dde9 as SetupPage is no longer called since N°2522 / c4b7be5b6f
* \SetupUtils::Log : remove useless final, add PHPDoc and type hinting to modified methods
* add PHPDoc and type hinting to modified methods
* add \CheckResult::TRACE
* replace SetupLog::Log calls by CheckResult::TRACE
* modify SetupUtils::Check* callers to handle the new TRACE severity
Initial commit : b7136c0b7a
Removed checks : see \SetupUtils::CheckPhpAndExtensions PHPDoc
Other improvements :
* add PhpDoc on new public method \SetupUtils::CheckPhpAndExtensions
* add type hinting and new format on SetupUtils new methods
* refactor CheckResult[] filter method to be more generic
- $version does not exit anymore in css-variables.css. now its value is computed during setup and equals setup timestamp instead.
- use precompiled files (declared in datamodels XML files) to check if theme compilation is required or not.
- referenced images in scss files are included in precompiled file signatures just like scss files md5sum.
- images declared in scss files with v=$version are reloaded automatically on browser side after each theme compilation (see xxx.png?v=timestamp)
- precompiled files are replaced if theme compilation occurred. this will avoid same time consuming operation at next setup.
- code cleanup: arrays / variables renamed