Provide database index for widgets which is used by widget queries to
fetch data way faster, e.g. 0.1 instead of > 5 seconds in one concrete
project.
Relates: #63
Pages can not be copied by administrators as DataHandler will copy all
pages, including tx_tracking_* tables.
Those are not allowed on tables which will result in error messages.
A test is added to simulate the action and ensure it doesn't fail with
errors.
Results: #52
This allows configuration via PHP.
It also combines code sniffer and php cs fixer.
Used commands:
composer remove --dev squizlabs/php_codesniffer
composer req --dev symplify/easy-coding-standard
./vendor/bin/ecs --fix
This is required by list module, As we define a languageField.
Might be a bug, but BackendUtility::translationCount() will fail if 2nd
field is missing.
Fixed in current TYPO3 master and therefore with v11.3,
see: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69180
It will report old TYPO3 versions which we support, but don't require.
Therefore it does not provide a benefit but breaks builds.
The package is intended for projects, not libraries.
Not all dev dependencies are v2 ready.
maglnet/composer-require-checker has a dependency to
ocramius/package-versions version which requires v1 composer API.
Once a newer version is required, we can use v2.
The existing query was not fully working as intended.
Also it did not work with proper MySQL sql_mode settings.
This is fixed by building a proper query which delivers expected and
deterministic results.
We now always have latest records first.
Also there is no need to fetch the sys_language_uid, as we only fetch
localized record if only one language is allowed. That way we can just
check configuration and use the configuration to do language overlay.
Also there was no need for an join, therefore query was reduced to
necessary stuff.
Relates: #35
The existing query was not fully working as intended.
Also it did not work with proper MySQL sql_mode settings.
This is fixed by building a proper query which delivers expected and
deterministic results.
We now always have latest records first.
Also there is no need to fetch the sys_language_uid, as we only fetch
localized record if only one language is allowed. That way we can just
check configuration and use the configuration to do language overlay.
Relates: #35
9.3.x renamed some options from offensive white and blacklist to include
and exclude.
As we don't want to wait until they get removed in v10, we adjust the
configuration now.
BackendUtility::getRecordTitle might contain HTML tags like "span".
Those might result in broken rendering. As we don't need this markup
anyway, we remove it.
As it most likely is the most used configuration.
Therefore it should be as easy as possible.
Also it matches more or less any Extbase plugin with nested structure.
Allow integrator to limit results in widget to certain languages.
If only one language is allowed, labels will be translated.
Otherwise default system language is used.
E.g. one record will be displayed in multiple languages, it would be
confusing to show him multiple times for each language.
Add TYPO3 extension for phpstan as many things would break within tests.
Relates: #15
Allow Integrator to define rules to track views of records.
This allows to add tracking to extensions like tx_news.
Integrators are able to define matching rules on current request. If a
request matches, the record is stored as individual view beside existing
pageview.
Relates: #14
Extract operating system from user agent and store it in database
record.
Another widget is added which displays the page views per operating
system.
An command is provided which will update existing data.
TYPO3 would otherwise run into trouble.
TYPO3 expects pid to be an integer or string.
Resolving pid due to a configured pid column via select or groups,
would result in an php array.