Принципа разделения нет. Хорошо бы иметь список пользователей. Пусть даже придётся в коде добавлять user-ов или убирать руками и компилироваться заново. Это уж не так часто происходит, а может и вообще один раз.
Или, как вариант, можно в тригере считывать из байтов отведённых под имя файра, его расширение и сравнивать со списком "допустимых" расширений. В случае несовпадения выдавать сигнал для принятия решения. Вот только структуры содержимого в THEINAGE я не пойму. Там кроме имени файла ещё служебная информация от С+ добавлена. А вот если бы кто подсказал, я былбы очень признателен, т.к. сейчас пишу связку с VirtueMart и хочу изображениями меняться между базами. (как напишу обязательно поделюсь.)