@@ -37,15 +37,21 @@ public static function getStoragePage(int $pid = 0): int
3737 */
3838 public static function getCurrentPageIdentifier (): int
3939 {
40- return self ::getRequest ()->getAttribute ('frontend.page.information ' )->getId () ?? 0 ;
40+ if (self ::getRequest () !== null ) {
41+ return self ::getRequest ()->getAttribute ('frontend.page.information ' )->getId () ?? 0 ;
42+ }
43+ return 0 ;
4144 }
4245
4346 /**
4447 * Get configured frontend language
4548 */
4649 public static function getSysLanguageUid (): int
4750 {
48- return self ::getRequest ()->getAttribute ('language ' )->getLanguageId ();
51+ if (self ::getRequest () !== null ) {
52+ return self ::getRequest ()->getAttribute ('language ' )->getLanguageId ();
53+ }
54+ return 0 ;
4955 }
5056
5157 public static function getPluginName (): string
@@ -91,13 +97,17 @@ public static function isAllowedToEdit(array $settings, $mail): bool
9197 $ mail = $ mailRepository ->findByUid ((int )$ mail );
9298 }
9399
94- $ userObject = self ::getRequest ()->getAttribute ('frontend.user ' );
95- $ feUser = self ::getRequest ()->getAttribute ('frontend.user ' )->getUserId ();
100+ $ request = self ::getRequest ();
101+ if ($ request === null ) {
102+ return false ;
103+ }
104+
105+ $ feUser = $ request ->getAttribute ('frontend.user ' )->getUserId ();
96106 if ($ feUser === 0 || $ mail === null ) {
97107 return false ;
98108 }
99109
100- $ usergroups = self :: getRequest () ->getAttribute ('frontend.user ' )->createUserAspect ()->getGroupIds ();
110+ $ usergroups = $ request ->getAttribute ('frontend.user ' )->createUserAspect ()->getGroupIds ();
101111 $ usersSettings = GeneralUtility::trimExplode (', ' , $ settings ['edit ' ]['feuser ' ] ?? '' , true );
102112 $ usergroupsSettings = GeneralUtility::trimExplode (', ' , $ settings ['edit ' ]['fegroup ' ] ?? '' , true );
103113
@@ -123,7 +133,13 @@ public static function isAllowedToEdit(array $settings, $mail): bool
123133
124134 public static function isAllowedToView (array $ settings , Mail $ mail ): bool
125135 {
126- $ feUser =self ::getRequest ()->getAttribute ('frontend.user ' )->getUserId ();
136+ $ request = self ::getRequest ();
137+
138+ if ($ request === null ) {
139+ return false ;
140+ }
141+
142+ $ feUser = $ request ->getAttribute ('frontend.user ' )->getUserId ();
127143 if (
128144 $ feUser === 0 ||
129145 (
@@ -142,16 +158,25 @@ public static function isAllowedToView(array $settings, Mail $mail): bool
142158 */
143159 public static function isLoggedInFrontendUser (): bool
144160 {
145- return self ::getRequest ()->getAttribute ('frontend.user ' )->isActiveLogin (self ::getRequest ());
161+ $ request = self ::getRequest ();
162+ if ($ request !== null ) {
163+ return $ request ->getAttribute ('frontend.user ' )->isActiveLogin ($ request );
164+ }
165+
166+ return false ;
146167 }
147168
148169 /**
149170 * Get Property from currently logged in fe_user
150171 */
151172 public static function getPropertyFromLoggedInFrontendUser (string $ propertyName = 'uid ' ): string
152173 {
153- $ feUser = self ::getRequest ()->getAttribute ('frontend.user ' );
154- return (string )($ feUser ->user [$ propertyName ] ?? '' );
174+ $ request = self ::getRequest ();
175+ if ($ request !== null ) {
176+ $ feUser = $ request ->getAttribute ('frontend.user ' );
177+ return (string )($ feUser ->user [$ propertyName ] ?? '' );
178+ }
179+ return '' ;
155180 }
156181
157182 /**
@@ -254,16 +279,19 @@ protected static function getArgumentsFromGetOrPostRequest(string $key): array
254279
255280 protected static function getArgumentsFromTyposcriptFrontendController (string $ key ): array
256281 {
257- $ pageArguments = self ::getRequest ()->getAttribute ('routing ' );
258- $ arguments = $ pageArguments ->getArguments ();
259- if (array_key_exists ($ key , $ arguments )) {
260- return (array )$ arguments [$ key ];
282+ $ request = self ::getRequest ();
283+ if ($ request !== null ) {
284+ $ pageArguments = $ request ->getAttribute ('routing ' );
285+ $ arguments = $ pageArguments ->getArguments ();
286+ if (array_key_exists ($ key , $ arguments )) {
287+ return (array )$ arguments [$ key ];
288+ }
261289 }
262290 return [];
263291 }
264292
265- protected static function getRequest (): ServerRequestInterface
293+ protected static function getRequest (): ? ServerRequestInterface
266294 {
267- return $ GLOBALS ['TYPO3_REQUEST ' ];
295+ return $ GLOBALS ['TYPO3_REQUEST ' ] ?? null ;
268296 }
269297}
0 commit comments