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

Тема в разделе "XenForo", создана пользователем BIZON, 23 окт 2014.

Информация :
Хотите добавить продукт, следуйте правилам:
1)Добавить скриншот.
2)Добавить описание (Описание на английском языке использовать - запрещено).
3)Ссылка на скачивание должна вести на сторонний файлообменник (использовать вложения - запрещено).
Модераторы: DMS
  1. BIZON

    BIZON Перезагрузка...

    Moderator
    • Супермодератор
    Регистр.:
    31 окт 2006
    Сообщения:
    574
    Симпатии:
    1.541
    Стоит задача всем пользователям, например с папки images/avatar , рандомно присвоить аватары, кто подскажет решение?

    Пользователей 66к.
    XF 1.4.1
     
  2. GriZone

    GriZone Управляющий

    Administrator
    Регистр.:
    17 мар 2006
    Сообщения:
    431
    Симпатии:
    2.042
    5f7f9-clip-2kb.png
    Никак, скорее всего надо отдельный скрипт писать.. ну или через базу вручную :D долго правда...
     
    Последнее редактирование модератором: 23 окт 2014
    BIZON нравится это.
  3. bat

    bat

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

    BIZON Перезагрузка...

    Moderator
    • Супермодератор
    Регистр.:
    31 окт 2006
    Сообщения:
    574
    Симпатии:
    1.541
    Поставил, работает) не то к сожалению что мне нужно, но, лучше что-то чем ничего.)

    Плагин Avatar Identicon by Iversia 1.2.1 тут Перейти по ссылке
    Если кто-то сможет изменить под мои нужды, буду очень признателен. :)
    Не силён я в кодинге...
     
  5. bat

    bat

    Регистр.:
    24 сен 2009
    Сообщения:
    975
    Симпатии:
    277
    Если аватарки не нравятся то там мона выбрать галерею аватаров одну из нескольких identicon, monsters, super creepy faces, retro, и robots:
    Заходим Options -> User Options и там выбираем
     
    BIZON нравится это.
  6. yaski

    yaski

    Регистр.:
    21 фев 2010
    Сообщения:
    491
    Симпатии:
    292
    Загнать ссылки на файлы аватарок в массив, а дальше рандомно выбирать их
    примерно так
    PHP:
    <?php
        $filelist 
    glob("*.jpg"); //загоняем список файлов в массив
        
    $number mt_rand(0count($filelist) - 1); // Берём случайное число от 0 до (длины массива минус 1) включительно
        
    echo $filelist[$number]; // Выводим название файла
    ?>
     
    Последнее редактирование: 24 окт 2014
    Шумадан и BIZON нравится это.
  7. BIZON

    BIZON Перезагрузка...

    Moderator
    • Супермодератор
    Регистр.:
    31 окт 2006
    Сообщения:
    574
    Симпатии:
    1.541
    Это конечно всё хорошо, и, наверное работает.) Но как я уже выше писал, с кодингогм не дружу.
    Вот с дополнением Avatar Identicon by Iversia, более - менее всё понятно.
    А какие нужны тело движения с использованием этого скрипта - не понятно.
    В моём случае, как один из вариантов, все аватары будут находится по адресу /data/avatars/m/0/1.jpg
    Думаю смогу переименовать все файлы, что бы имена у них были 1, 2, 3...
    Вот и нужно что-то простое, дабы присвоить всем пользователям рандомный аватар. :confused:
     
    Последнее редактирование: 24 окт 2014
  8. Шумадан

    Шумадан Хабарра!!11

    Регистр.:
    6 фев 2008
    Сообщения:
    1.728
    Симпатии:
    2.105
    так яскин и дал самое простое, проще уже некуда, можно вообще в экселе макросом провернуть предварительно слив базу пользователей и сформировать тем же макросом или формулой текст для апдейта аватаров.
    тут даже особо с кодингом дружить не нужно, просто не лениться
     
  9. yaski

    yaski

    Регистр.:
    21 фев 2010
    Сообщения:
    491
    Симпатии:
    292
    кладем скрипт в корень и запускаем (предварительно делаем бэкап базы)
    потому что с запросом кажется накосячил, поправьте меня если где не так
    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(0count($filelist) - 1); // Берём случайное число от 0 до (длины массива минус 1) включительно
            
    $avararUrl $filelist[$number]; // Загоняем название файла в переменную
            
    $query "update users set avararUrl=$avararUrl";
            
    $result $connection->query($query);
        }

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


     
    ?>
     
    Последнее редактирование: 24 окт 2014
    BIZON и Шумадан нравится это.