Помощь Как всем пользователям, можно присвоить рандомно аватары?

BIZON

o_O
Команда форума
Администратор
Модератор
Регистрация
31 Окт 2006
Сообщения
765
Реакции
2.153
  • Автор темы
  • Модер.
  • #1
Стоит задача всем пользователям, например с папки images/avatar , рандомно присвоить аватары, кто подскажет решение?

Пользователей 66к.
XF 1.4.1
 
5f7f9-clip-2kb.png
Никак, скорее всего надо отдельный скрипт писать.. ну или через базу вручную :D долго правда...
 
Последнее редактирование модератором:
Плагин Avatar Identicon by Iversia
Генерит аватарки так же как и gravatar на Wordpress по хешу, учитывает половой признак юзверя.
Если у юзверя уже есть аватар то не тронет.
Если поколупать то можно назначить путь к папке с авами.. где то тут:
PHP:
return (XenForo_Application::$secure ? 'https://secure' : 'http://www')
. ".gravatar.com/avatar/{$md5}?s={$size}{$default}";

других не встречал :nezn:
 
Последнее редактирование:
  • Автор темы
  • Модер.
  • #4
Плагин Avatar Identicon by Iversia
Генерит аватарки так же как и gravatar на Wordpress по хешу, учитывает половой признак юзверя.
Если у юзверя уже есть аватар то не тронет.
Если поколупать то можно назначить путь к папке с авами.. где то тут:
PHP:
return (XenForo_Application::$secure ? 'https://secure' : 'http://www')
. ".gravatar.com/avatar/{$md5}?s={$size}{$default}";

других не встречал :nezn:
Поставил, работает) не то к сожалению что мне нужно, но, лучше что-то чем ничего.)

Плагин Avatar Identicon by Iversia 1.2.1 тут Для просмотра ссылки Войди или Зарегистрируйся
Если кто-то сможет изменить под мои нужды, буду очень признателен. :)
Не силён я в кодинге...
 
Поставил, работает) не то к сожалению что мне нужно
Если аватарки не нравятся то там мона выбрать галерею аватаров одну из нескольких identicon, monsters, super creepy faces, retro, и robots:
Заходим Options -> User Options и там выбираем
 
Стоит задача всем пользователям, например с папки images/avatar , рандомно присвоить аватары, кто подскажет решение?

Пользователей 66к.
XF 1.4.1
Загнать ссылки на файлы аватарок в массив, а дальше рандомно выбирать их
примерно так
PHP:
<?php
    $filelist = glob("*.jpg"); //загоняем список файлов в массив
    $number = mt_rand(0, count($filelist) - 1); // Берём случайное число от 0 до (длины массива минус 1) включительно
    echo $filelist[$number]; // Выводим название файла
?>
 
Последнее редактирование:
  • Автор темы
  • Модер.
  • #7
Загнать ссылки на файлы аваторок в массив, а дальше рандомно выбирать их
примерно так
PHP:
<?php
    $filelist = glob("*.jpg"); //загоняем список файлов в массив
    $number = mt_rand(0, count($filelist) - 1); // Берём случайное число от 0 до (длины массива минус 1) включительно
    echo $filelist[$number]; // Выводим название файла
?>
Это конечно всё хорошо, и, наверное работает.) Но как я уже выше писал, с кодингогм не дружу.
Вот с дополнением Avatar Identicon by Iversia, более - менее всё понятно.
А какие нужны тело движения с использованием этого скрипта - не понятно.
В моём случае, как один из вариантов, все аватары будут находится по адресу /data/avatars/m/0/1.jpg
Думаю смогу переименовать все файлы, что бы имена у них были 1, 2, 3...
Вот и нужно что-то простое, дабы присвоить всем пользователям рандомный аватар. :confused:
 
Последнее редактирование:
Это конечно всё хорошо, и, наверное работает.) Но как я уже выше писал, с кодингогм не дружу.
Вот с дополнением Avatar Identicon by Iversia, более - менее всё понятно.
А какие нужны тело движения с использованием этого скрипта - не понятно.
В моём случае, как один из вариантов, все аватары будут находится по адресу /data/avatars/m/0/1.jpg
Думаю смогу переименовать все файлы, что бы имена у них были 1, 2, 3...
Вот и нужно что-то простое, дабы присвоить всем пользователям рандомный аватар. :confused:
так яскин и дал самое простое, проще уже некуда, можно вообще в экселе макросом провернуть предварительно слив базу пользователей и сформировать тем же макросом или формулой текст для апдейта аватаров.
тут даже особо с кодингом дружить не нужно, просто не лениться
 
кладем скрипт в корень и запускаем (предварительно делаем бэкап базы)
потому что с запросом кажется накосячил, поправьте меня если где не так
PHP:
<?php
    // я хз как называются таблицы в базе xenforo
    // допустим таблица называется users
    // с полями ID, username, avararUrl

    $dir = "/data/avatars/m/0/";
    if (is_dir($dir)) { // Открыть заведомо существующий каталог и начать считывать его содержимое
        $filelist = glob("*.jpg"); //загоняем список файлов в массив
    }
 
    // подключаемся к базе
    $mysqli = new mysqli("localhost", "my_user", "my_password", "world");
    /* проверка соединения */
    if (mysqli_connect_errno()) {
        printf("Не удалось подключиться: %s\n", mysqli_connect_error());
        exit();
    }

    $query = "select * from users";
    $result = $connection->query($query);
    while($row = mysqli_fetch_array($result))
    {
        $number = mt_rand(0, count($filelist) - 1); // Берём случайное число от 0 до (длины массива минус 1) включительно
        $avararUrl = $filelist[$number]; // Загоняем название файла в переменную
        $query = "update users set avararUrl=$avararUrl";
        $result = $connection->query($query);
    }

    /* закрываем соединение */
    $mysqli->close();

} 
 
?>
 
Последнее редактирование:
Назад
Сверху