* N°4789 - Parse datamodel module.xxx.php files instead of interpreting them - refactoring all in a dedicated service first
* N°4789 - fix broken setup + tests
* N°4789 - replace legacy eval by module file parsing
* N°4789 - handle constants and if conditional structures
* N°4789 - compute boolean expressions
* N°4789 - make autoselect and dependencies work as well
* cleanup
* N°4789 - fix BeforeWritingConfig calls during setup
* N°4789 - refactor and split in ModuleDiscoveryEvaluationService + handle ModuleInstallerAPI methods calls during setup
* N°4789 - PR review changes with Romain
* PR review + code cleanup + added usecases and test cover
* temp evaluation work
* replace eval by iTop custom evaluation classes
* move PhpParser/Evaluation classes in a specific namespave + composer dumpautoload
* fix broken setup
* fix broken setup
* complete Evaluators list + autoload
* cleanup useless testing resources
* cleanup + replace last eval call in VariableEvaluator
* fix few Evaluators code
* enhance nikic evaluators + test with/without nikic lib
* Evaluator fixes/enhancements + tests
* bump to nikic fork temporarly
* bump nikic-parser fork + use only nikic fork evaluation + cleanup itop redondant evaluators
* review with Romain: use distinct whitelists in setup time/runtime + move ModuleFileParser internal logic into ModuleFileReader
* PhpExpressionEvaluator used via constructor and not as a service
* dumpautoload again after rebase
Was the case since e831d66b (commit for parent bug N°5090)
Now we are getting the text version in the log (and still the html one on screen)
The unattended install isn't concerned : it just prints back CheckResult returned by \SetupUtils::CheckSelectedModules, with the exception text message ($e->getMessage())
Same as 15d3201a, but this error happened before compilation, when setting read only mode.
As before this is another fix for #351.
This fix introduces the new method \WizardController::GetParamForConfigArray
I replaced existing duplicate code with a call to this new generic method.
During the setup there are some queries done to the DB.
Only the config file parameters were used, meaning changing those parameters in the setup form wasn't effective :(
This is a regression made in 2.5.0 with N°1260 (MySQL TLS)
We were using SetupUtils::IsProductVersion, but this was blocking for certain packages like TeemIP standalone.
After this change we are now relying on a new method : \SetupUtils::IsConnectableToITopHub. It will check the iTop Hub Connector module presence instead.
The setup now relies on the new method MissingDependencyException::getHtmlDesc to get the message to display
MissingDependencyException is also now a CoreException child.
Note that previous behavior (MissingDependencyException instantiator setting message) is kept, as some consumer still do $e->getMessage() (like unattended install)
Setup token was put with N°2016 (6b5cc7c)
But later on we refactored the token handling in SetupUtils methods, and we had token removal in WizStepDone (43daa2ef) : so the backup download cannot be done :/