The ID generated by get_user_cache_id is used to create a new directory in templates_c/ . This ID is generated by concatenating all the groups a user is in.
When a user is in many groups the ID exceeds the maximum filename length of my system (FreeBSD 4.11).
I fixed it by hashing the ID down with md5 before returning.
I don't know if md5 is the optimal hash function in this place. I chose it mostly because it is stanard and reasonably fast. Perhaps crc32 or sha1 or better, but I don't know enough about hashes to make an informed decission.
@@ -1270,7 +1270,7 @@
// in this case user get permissions from no group
$cacheId = 'ADMIN:'.$cacheId;
- return $cacheId;
|No attachments for this item|