31 return 'startModuleUpdate';
39 return 'Update backend user setting "startModule"';
47 return 'The backend user setting startModule is changed for the extensions about/aboutmodules.'
48 .
' Update all backend users that use ext:aboutmodules as startModule.';
58 $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable(
'be_users');
59 $queryBuilder->getRestrictions()->removeAll();
60 $statement = $queryBuilder->select(
'uid',
'uc')->from(
'be_users')->execute();
61 $needsExecution =
false;
62 while ($backendUser = $statement->fetch()) {
63 if ($backendUser[
'uc'] !==
null) {
64 $userConfig = unserialize($backendUser[
'uc'], [
'allowed_classes' =>
false]);
65 if ($userConfig[
'startModule'] ===
'help_aboutmodules'
66 || $userConfig[
'startModule'] ===
'help_AboutmodulesAboutmodules'
67 || $userConfig[
'startModule'] ===
'help_AboutAboutmodules'
69 $needsExecution =
true;
74 return $needsExecution;
83 DatabaseUpdatedPrerequisite::class
95 $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable(
'be_users');
96 $queryBuilder->getRestrictions()->removeAll();
97 $statement = $queryBuilder->select(
'uid',
'uc')->from(
'be_users')->execute();
98 while ($backendUser = $statement->fetch()) {
99 if ($backendUser[
'uc'] !==
null) {
100 $userConfig = unserialize($backendUser[
'uc'], [
'allowed_classes' =>
false]);
101 if ($userConfig[
'startModule'] ===
'help_aboutmodules'
102 || $userConfig[
'startModule'] ===
'help_AboutmodulesAboutmodules'
103 || $userConfig[
'startModule'] ===
'help_AboutAboutmodules'
105 $userConfig[
'startModule'] =
'help_AboutAbout';
106 $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable(
'be_users');
107 $queryBuilder->getRestrictions()->removeAll();
108 $queryBuilder->update(
'be_users')
110 $queryBuilder->expr()->eq(
112 $queryBuilder->createNamedParameter($backendUser[
'uid'], \PDO::PARAM_INT)
115 ->set(
'uc', $queryBuilder->createNamedParameter(serialize($userConfig), \PDO::PARAM_LOB))