31 return 'cshmanualBackendUsers';
39 return 'Update backend user setting "startModule"';
47 return 'The backend user setting startModule is changed for the extensions about/aboutmodules'
48 .
' and help/cshmanual. Update all backend users that use EXT:aboutmodules and'
49 .
' EXT:cshmanual as startModule.';
59 $statement = GeneralUtility::makeInstance(ConnectionPool::class)
60 ->getConnectionForTable(
'be_users')
61 ->select([
'uid',
'uc'],
'be_users', []);
62 $needsExecution =
false;
63 while ($backendUser = $statement->fetch()) {
64 if ($backendUser[
'uc'] !==
null) {
65 $userConfig = unserialize($backendUser[
'uc'], [
'allowed_classes' =>
false]);
66 if ($userConfig[
'startModule'] ===
'help_aboutmodules'
67 || $userConfig[
'startModule'] ===
'help_AboutmodulesAboutmodules'
68 || $userConfig[
'startModule'] ===
'help_AboutAboutmodules'
69 || $userConfig[
'startModule'] ===
'help_CshmanualCshmanual'
70 || $userConfig[
'startModule'] ===
'help_DocumentationCshmanual'
72 $needsExecution =
true;
77 return $needsExecution;
86 DatabaseUpdatedPrerequisite::class
98 $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable(
'be_users');
99 $statement = $queryBuilder->select(
'uid',
'uc')->from(
'be_users')->execute();
100 while ($backendUser = $statement->fetch()) {
101 if ($backendUser[
'uc'] !==
null) {
102 $userConfig = unserialize($backendUser[
'uc'], [
'allowed_classes' =>
false]);
103 if ($userConfig[
'startModule'] ===
'help_aboutmodules'
104 || $userConfig[
'startModule'] ===
'help_AboutmodulesAboutmodules'
105 || $userConfig[
'startModule'] ===
'help_AboutAboutmodules'
106 || $userConfig[
'startModule'] ===
'help_CshmanualCshmanual'
107 || $userConfig[
'startModule'] ===
'help_DocumentationCshmanual'
109 $userConfig[
'startModule'] =
'help_AboutAbout';
110 if ($userConfig[
'startModule'] ===
'help_CshmanualCshmanual' || $userConfig[
'startModule'] ===
'help_DocumentationCshmanual') {
111 $userConfig[
'startModule'] =
'help_BackendCshmanual';
113 $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable(
'be_users');
114 $queryBuilder->update(
'be_users')
116 $queryBuilder->expr()->eq(
118 $queryBuilder->createNamedParameter($backendUser[
'uid'], \PDO::PARAM_INT)
121 ->set(
'uc', $queryBuilder->createNamedParameter(serialize($userConfig), \PDO::PARAM_LOB))