@@ -995,16 +995,30 @@ public static function renameOversizedContainer(int $id, string $new_name): bool
995995 return false ;
996996 }
997997
998- $ new_name = preg_replace ( ' /[^\da-zA-Z]/ ' , '' , $ new_name ) ?? '' ;
999- if ($ new_name === '' ) {
1000- Session ::AddMessageAfterRedirect (__ ('Invalid name . ' , 'fields ' ), false , ERROR );
998+ $ itemtypes = PluginFieldsToolbox :: decodeJSONItemtypes ( $ container -> fields [ ' itemtypes ' ]) ;
999+ if (! is_array ( $ itemtypes ) || $ itemtypes === [] ) {
1000+ Session ::AddMessageAfterRedirect (__ ('No associated item type . ' , 'fields ' ), false , ERROR );
10011001
10021002 return false ;
10031003 }
10041004
1005- $ itemtypes = PluginFieldsToolbox ::decodeJSONItemtypes ($ container ->fields ['itemtypes ' ]);
1006- if (!is_array ($ itemtypes ) || $ itemtypes === []) {
1007- Session ::AddMessageAfterRedirect (__ ('No associated item type. ' , 'fields ' ), false , ERROR );
1005+ $ is_oversized = false ;
1006+ foreach ($ itemtypes as $ itemtype ) {
1007+ if (strlen (getTableForItemType (self ::getClassname ($ itemtype , $ container ->fields ['name ' ]))) > 64 ) {
1008+ $ is_oversized = true ;
1009+ break ;
1010+ }
1011+ }
1012+
1013+ if (!$ is_oversized ) {
1014+ Session ::AddMessageAfterRedirect (__ ('Container is not oversized. ' , 'fields ' ), false , ERROR );
1015+
1016+ return false ;
1017+ }
1018+
1019+ $ new_name = preg_replace ('/[^\da-zA-Z]/ ' , '' , $ new_name ) ?? '' ;
1020+ if ($ new_name === '' ) {
1021+ Session ::AddMessageAfterRedirect (__ ('Invalid name. ' , 'fields ' ), false , ERROR );
10081022
10091023 return false ;
10101024 }
0 commit comments