Bug #18888
closed
Umlauts get displayed wrong in Web>Access module after updating rights
Added by Susanne Moog over 16 years ago.
Updated about 16 years ago.
Description
When updating user or group permissions inline in web>access -> permissions the umlauts are displayed wrong (see screenshot). If you change the module and then go back, everything is ok again. So it is saved correctly, only displayed wrong.
Reproduce:
- Make a group with an umlaut
- go to web>access
- choose "permissions" view
- click on the group of some page to change it immediately
- choose your umlaut group
- close editing form
- see problem
(issue imported from #M8578)
Files
this is related to and should solved by #18897
patch attached
Summery:
Problem:
the posted values are utf-8-strings which are urlencoded (both encoding by prototype-js),
but the values are expected to be encoded like the backend is (iso-8859-1 by default)
Solution:
convert the values after urldecoding
How to test:
- create a new BEuser and a new BEgroup
- use special chars in the name (like ä ö ü ß)
- goto web>access
- choose "permissions"
- change the owner and the group of a page
Note: the solution posted for #18897 (generally convert all post/get values) can't solve this issue, because the value is extra urlencoded and thus it can't be "utf8_decoded" before urldecoding
new, updated patch attached
Hey Tobias,
is this still valid / fixed? Can you send the patch to the core list?
Or was that fixed with #18897?
it's still broken in current trunk
It was not fixed with #18897
i'd posted the patch on the corelist but right before 4.2.1 were released, benni and i decide to postpone this.
the latest patch in the corlist fixes the problem, but does not fix the reson.
if i remember right we came to this conclusion:
Currently the ajax call contains the user- or groupname. The PHP-Script need to convert the string twice(!):
in typo3ajax for alls _GET and _POST values and again in sc_mod_web_perm_ajax after URL-decoding
Then the Script send this string as ajax reponse to the client.
It's useless to send the username via Ajax to the server. The PHP script should read this from the database and return the value.
Thanks for reminding and taking care on this issue, Susanne!
I'll prepare a patch in the next days!
Can someone please remove the "pending in core list" tag
new patch attached.
now the javascript does not contain the username nor grouptitle and thus we go without the urldecode stuff on server side. Instead we read the username/grouptitle from the database and pass.
Also available in: Atom
PDF