Regardless of server-side filtering, let's try to filter client-side. This means that our current change handler for the input widget should look at the value and actually reset the input and display an error message if the extension isn't allowed.
This means 1) we must create an array of extensions from config.ini into JavaScript. (We already do languages, so this is doable.) And 2) we have to figure out the simplest way to avoid having gettext() client-side just for this one message...
Regardless of server-side filtering, let's try to filter client-side. This means that our current
changehandler for the input widget should look at the value and actually reset the input and display an error message if the extension isn't allowed.This means 1) we must create an array of extensions from config.ini into JavaScript. (We already do languages, so this is doable.) And 2) we have to figure out the simplest way to avoid having
gettext()client-side just for this one message...