Хотел поинтересоваться: при создании блога с кириллицей в URL, файл аватар блога загружается также с кириллицей в названии.
Из-за проблемы с различными кодировками кириллицы в разных операционных системах на хостинге, такой файл может быть ведь недоступен определенным пользователям сети.
Подскажите, где допилить, чтобы файл аватара блога транслитировался в латинницу?
Подскажите как сделать, чтобы была возможность только регистрации под русскими именами, без русских URL блогов? Насколько я понимаю, не менять файл ActionBlog.class.php?
Чтобы разрешить только русские юзернеймы, нужно сделать всё как в readme от модуля, ЗА ИСКЛЮЧЕНИЕМ:
1) в /include/function.php функции func_check НЕ менять
case 'login'...
, а добавить РЯДОМ лишнюю строчку
case 'loginRU': if (preg_match("/^[\da-zа-яё\_\-]{".$iMin.','.$iMax."}$/ui",$sValue)){ return true; } break;
2) ничего НЕ менять в classes/actions/ActionBlog, ActionPage, НЕ менять в языковом файле строку 'blog_create_url_error'
3) в classes/Actions/ActionRegistration ДОПОЛНИТЕЛЬНО поменять
if (!func_check(getRequest('login'),'login',3,30)) {
на
if (!func_check(getRequest('login'),'loginRU',3,30)) {
Кстати, НЕ трогать штатную работу func_check гораздо более правильно, потому что проверка по формату 'login' используется и в других модулях и частях движка, которые могут некорректно работать после такого. Советую вводить loginRU и «точечно» менять формат проверки в классах экшнов.
Спасибо, все работает. Несколько примечаний: в файле ридми неверно указаны названия файлов из папки /classes/actions/ В версии 0,3,1 имена файлов получили «добавку» в виде *.class. И второе — Файл /classes/actions/ActionBlog.php для замены указаны 6 строк исходника и 7 строк заменяющих их :) В принципе некритично — легко понять что заменять, но все же. :)
8 комментариев
Из-за проблемы с различными кодировками кириллицы в разных операционных системах на хостинге, такой файл может быть ведь недоступен определенным пользователям сети.
Подскажите, где допилить, чтобы файл аватара блога транслитировался в латинницу?
Чтобы разрешить только русские юзернеймы, нужно сделать всё как в readme от модуля, ЗА ИСКЛЮЧЕНИЕМ:
1) в /include/function.php функции func_check НЕ менять , а добавить РЯДОМ лишнюю строчку
2) ничего НЕ менять в classes/actions/ActionBlog, ActionPage, НЕ менять в языковом файле строку 'blog_create_url_error'
3) в classes/Actions/ActionRegistration ДОПОЛНИТЕЛЬНО поменять
на
Кстати, НЕ трогать штатную работу func_check гораздо более правильно, потому что проверка по формату 'login' используется и в других модулях и частях движка, которые могут некорректно работать после такого. Советую вводить loginRU и «точечно» менять формат проверки в классах экшнов.
найти текст функции RegisterEvent
во всех строках, где в параметрах встречается
заменить на
Поделитесь ;-)
там
func_check() поправил
и в экшнах регулярки эвентов как в этом топике примерно сделал
Не мог бы написать FAQ или ToDo как вставить этот хак на 0.4.2?
У нас там практически ничего нет, поэтому это будет первый хак…
З.Ы. у тебя он с багами там работает…