@@ -216,6 +216,18 @@ private function shouldAnalyzeError($error, $config)
216216
217217 if (!$ controllerName ) {
218218 $ controllerName = 'Unknown ' ;
219+ } else {
220+ // Verify controller name exists in database, try without 'Controller' suffix if needed
221+ $ sql = "SELECT id FROM Controller WHERE name = ? AND application = ? AND deleted = 0 LIMIT 1 " ;
222+ $ checkController = DBI ::prepared_query ($ sql , 'si ' , [$ controllerName , $ config ['application ' ]]);
223+
224+ if (empty ($ checkController ) && substr ($ controllerName , -10 ) === 'Controller ' ) {
225+ $ controllerNameWithoutSuffix = substr ($ controllerName , 0 , -10 );
226+ $ checkController = DBI ::prepared_query ($ sql , 'si ' , [$ controllerNameWithoutSuffix , $ config ['application ' ]]);
227+ if (!empty ($ checkController )) {
228+ $ controllerName = $ controllerNameWithoutSuffix ;
229+ }
230+ }
219231 }
220232
221233 $ sql = "
@@ -387,12 +399,23 @@ private function identifyControllerAndFunction($error, $appId)
387399 " ;
388400
389401 $ controllers = DBI ::prepared_query ($ sql , 'si ' , [$ controllerName , $ appId ]);
402+
403+ // If not found and name ends with 'Controller', try without suffix
404+ if (empty ($ controllers ) && substr ($ controllerName , -10 ) === 'Controller ' ) {
405+ $ controllerNameWithoutSuffix = substr ($ controllerName , 0 , -10 );
406+ $ controllers = DBI ::prepared_query ($ sql , 'si ' , [$ controllerNameWithoutSuffix , $ appId ]);
407+ if (!empty ($ controllers )) {
408+ $ controllerName = $ controllerNameWithoutSuffix ; // Update for logging
409+ }
410+ }
411+
390412 if (empty ($ controllers )) {
391413 $ this ->log (" WARNING: Controller ' {$ controllerName }' not found in database " );
392414 return $ result ;
393415 }
394416
395417 $ result ['controller_id ' ] = $ controllers [0 ]['id ' ];
418+ $ result ['controller_name ' ] = $ controllerName ;
396419
397420 // Try to identify function from stack trace
398421 $ trace = $ error ['trace ' ] ?? '' ;
0 commit comments