Уважаемые пользователи, по техническим причинам загрузка файлов временно недоступна. Приносим извинения за временные неудобства.

Случайная аватара при регистрации

У вас есть идея для расширения функциональности phpBB 3.0.x? Расскажите о ней здесь!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Deanny
phpBB 1.0.0
Сообщения: 2
Стаж: 16 лет 3 месяца

Случайная аватара при регистрации

Сообщение Deanny »

Доброго времени суток. Хотел бы поинтересоваться, если ли такой мод, который при регистрации нового пользователя рандомно выбирает аватару из галереи аватаров и присвает её пользователю ?
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 3365
Стаж: 17 лет 7 месяцев
Благодарил (а): 37 раз
Поблагодарили: 1455 раз

Re: Случайная аватара при регистрации

Сообщение Nekstati »

Найдите в файле includes/ucp/ucp_register.php строку:

Код: Выделить всё

// Register user...
Добавьте перед:

Код: Выделить всё

$avatar_gallery_images = glob($phpbb_root_path . $config['avatar_gallery_path'] . '/folder/*');

if ($config['allow_avatar'] && $config['allow_avatar_local'] && $avatar_gallery_images)
{
	$avatar_file = $avatar_gallery_images[array_rand($avatar_gallery_images)];
	$avatar_file = str_replace($phpbb_root_path . $config['avatar_gallery_path'] . '/', '', $avatar_file);
	$dims = avatar_get_dimensions($avatar_file, 3, $user->lang['NO_AVATAR']);

	if ($dims)
	{
		$user_row['user_avatar']			= $avatar_file;
		$user_row['user_avatar_type']		= 3;
		$user_row['user_avatar_width']		= $dims[0];
		$user_row['user_avatar_height']		= $dims[1];
	}
}
Замените в этом коде слово folder на название папки, из которой скрипт должен брать аватары, например, /images/avatars/gallery/folder/. В админке должна быть включена галерея аватар, а в этой папке не должно быть некорректных файлов, иначе при случайном попадании на такой файл пользователь останется без аватары.
Аватара пользователя
MIT
Former team member
Сообщения: 2500
Стаж: 17 лет 7 месяцев
Откуда: 56°20′02″ с. ш. 36°42′45″ в. д.
Благодарил (а): 3 раза
Поблагодарили: 351 раз

Re: Случайная аватара при регистрации

Сообщение MIT »

Index.html бы как-нибудь исключить...
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 3365
Стаж: 17 лет 7 месяцев
Благодарил (а): 37 раз
Поблагодарили: 1455 раз

Re: Случайная аватара при регистрации

Сообщение Nekstati »

Доделай, пожалуйста, если не лень. )
Аватара пользователя
MIT
Former team member
Сообщения: 2500
Стаж: 17 лет 7 месяцев
Откуда: 56°20′02″ с. ш. 36°42′45″ в. д.
Благодарил (а): 3 раза
Поблагодарили: 351 раз

Re: Случайная аватара при регистрации

Сообщение MIT »

Можно в паттернах указать разрешённые расширения.
Вариант 1: заменить

Код: Выделить всё

$avatar_gallery_images = glob($phpbb_root_path . $config['avatar_gallery_path'] . '/folder/*');
на что-нибудь типа

Код: Выделить всё

$avatar_gallery_images = array_merge(
						glob($phpbb_root_path . $config['avatar_gallery_path'] . '/folder/*.jpg'),
						glob($phpbb_root_path . $config['avatar_gallery_path'] . '/folder/*.png'),
						glob($phpbb_root_path . $config['avatar_gallery_path'] . '/folder/*.gif')
						);
Вариант 2: использовать preg_match для постобработки полученного массива.
Deanny
phpBB 1.0.0
Сообщения: 2
Стаж: 16 лет 3 месяца

Re: Случайная аватара при регистрации

Сообщение Deanny »

Спасибо за помощь. Я как только разберусь немного с другими делами по сайту, сразу установлю и отпишусь.

И еще вопрос, скажите пожалуйста.

Можно ли этот код доработать до того, что он каждому пользователю, который находится в базе присвоил аватар, не зависимо от того, когда он был зарегестрирован. Так как у меня в базе примерно 10000 пользователей без аватары.

Заранее спасибо и прошу прошения за отобранное время ;)
Аватара пользователя
MIT
Former team member
Сообщения: 2500
Стаж: 17 лет 7 месяцев
Откуда: 56°20′02″ с. ш. 36°42′45″ в. д.
Благодарил (а): 3 раза
Поблагодарили: 351 раз

Re: Случайная аватара при регистрации

Сообщение MIT »

Конкретно этот — нет, но есть куча модов (ну не куча прям, может, но парочка уж точно найдётся), которые подставляют аваторку по-умолчанию для пользователей, у которых её нет.

Вернуться в «Запросы модов для phpBB 3.0.x»