Символы в логине buddypress

AN
На сайте с 22.05.2011
Offline
6
693

Вопрос такой: как разрешить пользователю при регистрации использовать символ _ ?

Каталог аккаунтов Twitter http://sndi.ru/
Coolmac
На сайте с 08.09.2011
Offline
60
#1

Хм. Встречный вопрос: а для чего разрешать пользователю исспользовать символ _ при регистрации?

Доступные vps/ds с грамотной тех. поддержкой (https://my.friendhosting.net/pl.php?11304)
AN
На сайте с 22.05.2011
Offline
6
#2

Тема сайта - каталог Twitter аккаунтов. Логин при регистрации автоматически определяется как логин Twitter и в последствии используется для вывода данных о блоге (количество читателей, твитов и т.п.). В Twitter разрешен символ _. А запрет на моем сайте не пускает к регистрации пользователей Twitter с логином, например @ins_ua.

Coolmac
На сайте с 08.09.2011
Offline
60
#3

Самым простым решением думаю будет замена в строке имени пользователя '_' на, например, '.' средствами php. Тут как бы вам самостоятельно это поправить не получится.

AN
На сайте с 22.05.2011
Offline
6
#4

Вот эта функция позволяет использовать заглавные буквы:

<?php


function acl_sanitize_user($username, $raw_username, $strict) {
$username = wp_strip_all_tags($raw_username);
$username = preg_replace('|%([a-fA-F0-9][a-fA-F0-9])|', '', $username);
$username = preg_replace('/&.+?;/', '', $username);

if ( $strict )
$username = preg_replace('|[^_a-zA-Z0-9 .\-@_]|i', '', $username);


return preg_replace('|\s+|', ' ', $username);
}
add_filter('sanitize_user', 'acl_sanitize_user', 10, 3);

function acl_bp_core_validate_user_signup($result) {
$illegal_names = get_site_option('illegal_names');

if ( validate_username($result['user_name']) && !in_array($result['user_name'], (array)$illegal_names) ) {
if ( !empty($result['errors']->errors['user_name']) ) {
$error_index = array_search(__('Only lowercase letters and numbers allowed', 'buddypress'), $result['errors']->errors['user_name']);
if ( isset($error_index) ) {
unset($result['errors']->errors['user_name'][$error_index]);
sort($result['errors']->errors['user_name']);
}
}
}

return $result;
}
add_filter('bp_core_validate_user_signup', 'acl_bp_core_validate_user_signup');

?>

Может таким же способом добавить и символы?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий