1
0
قرینه از https://github.com/matomo-org/matomo.git synced 2025-10-08 01:48:25 +00:00
Files
matomo/core/Settings
Nathan Gavin 25000d4a85 Update settings usage to use new access architecture for CNIL MVP (#23603)
* WIP PoC

* Turn into a plugin that can be activated in plugin administration

* Move getters to a separate folder

* Limit plugin.setting explode to 2 items to keep possible dots in setting name intact

* Add example controller and README

* Add hasValue methods to Settings plugin

* Add and use `hasSetting` method

* Use default hierarchy

* poc

* saving progress

* update

* finish PoC with working example

* v2 with working example

* remove unnecessary additions

* remove commented code

* ws / cs / cleanup

* Reuse existing "getPluginName" lookup

* Require interfaces with trait usage

* Connect new settings with old settings

* Connect compliance settings and dashboard

* Add optional template types to settings

* rearrange code into different core folders

* rename policies folder to policy to match core

* hooked new settings up to dashboard

* add required imports for phpstan

* ws / cs

* Remove return type override from API

* Connect title/inlinehelp to settings pages

* Stub actual feature usage of new "disable visitor log" setting

* implement dashboard as full mvp (#23593)

* reuse system and measurable traits to save policy status

* complete implementing mvp dashboard

* update existing tests and add new unit tests (#23594)

* fix vue issue

* update existing system tests

* fix vue

* fix missing test files

* Build vue files

* update broken UI tests

* update policymanager to handle more generic functions

* begin adding new unit tests

* update unit tests to work correctly

* fix return type issue and also fix some mocking

* PHPCS

* more PHPCS

* simplify some code to make the tests run better

* phpcs

* add unit tests for some new setting code

* cover extra function in policyComparisonTrait

---------

Co-authored-by: innocraft-automation <innocraft-automation@users.noreply.github.com>

* undo some example code

* more undoing

* add translations, remove example code

* fix visitorlog isCompliant condition

* fix merging issue

* phpcs

* Build vue files

* update broken test

* update broken tests

* update broken tests

* fix broken UI tests

* add extra translations

* abstract null checks in compareStrictness function

* PHPCS

* new PHPCS comma changes

* update UI test images

* update EcommerceEnabled setting to be used everywhere

* replace get logic for IPanonymisation settings

* update ecommerce in measurableSettings

* phpcs

* integrate visitor log setting

* phpcs

* replace reportRetention access

* fix tests for ecommerce

* remove extra files

* update reportRetention to support option setting type

* update UI tests

* PHPCS

* simplify usage of ip mask length setting

* phpstan

* move ip anon setting into privacyconfig

* test some stuff

* phpcs

* fix incorrect optionname in ipaddressmasklength setting

* Add some types when not marked as API

* Remove unused code

* Fix typo

* Remove default value param

* Use prefix mechanism from privacy manager config

* Add type

* Update PHPStan baseline

* replace site->getId() with idSite

* update policy test to correctly check compliance mode set correctly

* update ecommerce access to maintain usage of site isEcomEnabled()

* add tests to cover getSiteById behaviour with ecommerce setting

* test coverage for ReportRetention setting

* add coverage for ipAnonymization and ipMaskLength settings

* remove unnecessary EcommerceEnabled usage

* update baseline

* add feature flag to tests

* update policyComparisonTrait to allow comparison to existing setting value

* update mockSetting with new function

* wrap new settings usage in feature flag checks

* updated setComplianceStatus API to use passwordConfirmation

* update baseline

* fix function declaration for vue

* Build vue files

---------

Co-authored-by: Michal Kleiner <michal@innocraft.com>
Co-authored-by: Matt <1169490+caddoo@users.noreply.github.com>
Co-authored-by: Marc Neudert <marc@innocraft.com>
Co-authored-by: innocraft-automation <innocraft-automation@users.noreply.github.com>
2025-09-30 17:34:19 +13:00
..