Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » IkonBoard и другие форумы » Ikonboard v.2 » Эксклюзивные аватары (avatars) пользователям

Модерирует : Antuan

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3

Открыть новую тему     Написать ответ в эту тему

Ausw



Moderator
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Эксклюзивные аватары пользователям

 
 
Сабж уже не один раз обсуждался, но оригинального решения не было.  
2 предложенных ранее варианта:
 1) Руками заюзать файл имяuserа.cgi - но при обновлении профайла затирается, и юзер остается без аватара.  
2) Писать в topic.cgi - неактуально, ибо каждый раз  туда лезть, если юзеров будет несколько, кроме того, в мемберлисте (и где либо еще) - будет байда с аватарами ..... Я  тут нашел небольшой хак, сие и опубликую, ставится за 2 минуты:
 
profile.cgi
 

Код:
 
           $cleanavatar =  $_;
           $cleanavatar =~ s/.gif//i;
 
           # Skip, if it's an admin/moderator only avatar
 
           if (($cleanavatar =~ /admin_/) && ($membercode eq "me")) { next; }
 

меняем на  

Код:
 
           $cleanavatar =  $_;
           $cleanavatar =~ s/.gif//i;
 
           $inmemberspace = $inmembername;
           $inmemberspace =~ s/ /\_/isg;
 
           # Skip, if it's an admin / moderator / personal only avatar
 
           if ( (($cleanavatar =~ /admin_/) && ($membercode eq "me")) || (($cleanavatar =~ /pers_/) && (pers_.$inmemberspace ne "$cleanavatar")) ) { next; }

 
register.cgi

Код:
 
if ($cleanavatar =~ /admin_/) { next; }

на  

Код:
 
 if ( ($cleanavatar =~ /admin_/) || (($cleanavatar =~ /pers_/) && (pers_.$inmembername ne "$cleanavatar")) ) { next; }
 

 
Теперь берем аватарчик юзера, переименовываем его как pesr_имяusera.gif
и бросаем в общую папку..... этот аватар будет только у этого юзера, у других он отображаться не будет, т.е. никто не выберет его. Юзеру нужно будет самому зайти и выбрать свой аватар.  
 
 
Также читайте про хак PersonalAvatar.
 
 
 
##################
Часть II (должна быть выполнена часть I).
 
Если вы хотите запретить участнику, имеющему персональный аватар, его менять.  
 
profile.cgi  
 
sub modify  
 
Находим код:
 

Код:
 
        foreach (@images) {
 
            $cleanavatar =  $_;
            $cleanavatar =~ s/.gif//i;
 
            # Skip, if it's an admin/moderator only avatar
 
            if (($cleanavatar =~ /admin_/) && ($membercode eq "me")) { next; }
             
            if ($cleanavatar eq "$useravatar") {            
            $selecthtml .= qq~<option value="$cleanavatar" selected>$cleanavatar</option>\n~;
                $currentface = "$cleanavatar";
                }
                elsif (($cleanavatar eq "noavatar") && (!$useravatar)) {
                    $selecthtml .= qq~<option value="noavatar" selected>noavatar</option>\n~;
                    $currentface = "$cleanavatar";
                    }  
                else {
                        $selecthtml .= qq~<option value="$cleanavatar">$cleanavatar</option>\n~;
                        }
                    } # end foreach
 
               
 
            $avatarhtml = qq~
            <script language="javascript">
            function showimage()
            {
            //alert("$imagesurl/avatars/"+document.creator.useravatar.options[document.creator.useravatar.selectedIndex].value+".gif");
                document.images.useravatars.src="$imagesurl/avatars/"+document.creator.useravatar.options[document.creator.useravatar.selectedIndex].value+".gif";
                }
            </script>
            <tr>
                <td bgcolor=$miscbackone valign=top><font face="$font" color=$fontcolormisc size=$dfontsize1><b>$ibtxt{'1833'}</b><br>$ibtxt{'1834'}</td>
                <td bgcolor=$miscbackone>
                    <select name="useravatar" size=6 onChange="showimage()">
                    $selecthtml
                    </select>
                    <img src="$imagesurl/avatars/$currentface.gif" name="useravatars" width="64" height="64" border=0 hspace=15>
                </td>
            </tr>
            ~;
            } # end avatar if
 

 
И меняем на этот:  
 

Код:
 
 
        foreach (@images) {  
 
            $cleanavatar =  $_;  
            $cleanavatar =~ s/.gif//i;  
 
   if ($cleanavatar eq "$useravatar") {              
    $selecthtml .= qq~<option value="$cleanavatar" selected>$cleanavatar</option>\n~;  
    $currentface = "$cleanavatar";  
                }  
   elsif (($cleanavatar eq "noavatar") && (!$useravatar)) {  
   $selecthtml .= qq~<option value="noavatar" selected>noavatar</option>\n~;  
   $currentface = "$cleanavatar";  
                }    
   else {  
$selecthtml .= qq~<option value="$cleanavatar">$cleanavatar</option>\n~;  
                        }  
                    } # end foreach  
 
 
if ($useravatar =~ /pers_/) {  ##start если перс. аватар  
 
 $avatarhtml = qq~  
 <tr>  
 <td bgcolor=$miscbackone valign=top><font face="$font" color=$fontcolormisc size=$dfontsize1><b>Аватар:</b></font></td>  
 <td bgcolor=$miscbackone>  
<font face="$font" color=$fontcolormisc size=$dfontsize1>У Вас персональный аватар</font><p>  
 <img src="$imagesurl/avatars/$currentface.gif" name="useravatars" width="32" height="32" border=0 hspace=15>  
   
  </td>  
  </tr>  
            ~;  
}   ##end если перс. аватар              
 
 
else {  
 
 $avatarhtml = qq~  
            <script type="text/javascript">  
            function showimage()  
            {  
 //alert("$imagesurl/avatars/"+document.creator.useravatar.options[document.creator.useravatar.selectedIndex].value+".gif");  
                document.images.useravatars.src="$imagesurl/avatars/"+document.creator.useravatar.options[document.creator.useravatar.selectedIndex].value+".gif";  
                }  
            </script>  
 
 <tr>  
 <td bgcolor=$miscbackone valign=top><font face="$font" color=$fontcolormisc size=$dfontsize1><b>Аватар:</b><p>  
 Можете выбрать картинку (аватар), которая будет показана под Вашим именем на форуме. </font></td>  
 <td bgcolor=$miscbackone>  
<select name="useravatar" size=6 onChange="showimage()">  
$selecthtml  
</select>  
<img src="$imagesurl/avatars/$currentface.gif" name="useravatars" width="32" height="32" border=0 hspace=15>  
 
  </td>  
  </tr>  
            ~;  
}              
            } # end avatar if  
 
           

Всего записей: 7371 | Зарегистр. 12-07-2001 | Отправлено: 17:00 08-12-2001 | Исправлено: lynx, 15:58 25-06-2003
Ausw



Moderator
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
DimoN

Цитата:
А если человек захочет другой аватар или сменить его захочет. Все равно ручками придется лазить и ставить.
ну уж извинии-и-и-те  

Всего записей: 7371 | Зарегистр. 12-07-2001 | Отправлено: 18:58 20-12-2001
123qaz74

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Замечатльно это все конечно, а можно сделать так, чтобы при регистрации юзер выбирал себе аватар и выбранный им аватар был только для него? А с удаление юзера аватар становился опять доступным к выбору другим пользователем?

Всего записей: 113 | Зарегистр. 17-12-2001 | Отправлено: 08:55 28-02-2002
Alexander Ipp



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
123qaz74
Это не очень просто, но возможно.

Всего записей: 1943 | Зарегистр. 20-08-2001 | Отправлено: 10:25 28-02-2002
123qaz74

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
и как я понимаю, никто такое пока не реализовал ?

Всего записей: 113 | Зарегистр. 17-12-2001 | Отправлено: 10:41 28-02-2002
Alexander Ipp



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
123qaz74
Если и реализовывал, то не даст так просто.

Всего записей: 1943 | Зарегистр. 20-08-2001 | Отправлено: 10:56 28-02-2002
BigMurzik



Местный кот
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
123qaz74
Alexander Ipp
помоему есть хак закачки аватра на форум личного, так что тут проблем не должно уже возникать.
но нужно ли это? если каждый захочет себе личный автар прикрутить, и начьнет картики 100х100 пихать что это будет?
были на teentalk ? так там у админа автар 100х100, пока все это загрузится ******
а вобще хак полезный, его надо слить с хаком загрузки атара на форум и тогда будет супер!

----------
В Калининграде лета нет и похоже уже не будет :(

Всего записей: 1967 | Зарегистр. 23-10-2001 | Отправлено: 12:06 28-02-2002
123qaz74

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
но нужно ли это? если каждый захочет себе личный автар прикрутить, и начьнет картики 100х100 пихать что это будет?  
а не нужно разрешать дикие размеры .

Всего записей: 113 | Зарегистр. 17-12-2001 | Отправлено: 05:44 01-03-2002
Alexander Ipp



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BigMurzik
Да нет, он хочет, чтобы можно было из УЖЕ существующих выбрать аватар, и он стал недоступен другим. Есть у меня идея:
1. Когда юзер регается, копируем выбранный аватар с другим именем, пишим его в профиль мембера.
2. Удаляем первоначальный с изначальным именем.
Вот и всё. Реализации на десять строчек кода. Я писать это не стану, некогда. Сделайте сами, там ничего сложного.

Всего записей: 1943 | Зарегистр. 20-08-2001 | Отправлено: 21:06 01-03-2002
B

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Есть конечно вариант присылать фотки, но все ли будут это делать?  

я сразу же сделал

Всего записей: 113 | Зарегистр. 25-05-2001 | Отправлено: 20:49 05-03-2002
Grey2002



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Ausw

Цитата:
и бросаем в общую папку

 
а можно сделать отдельную папку для эксклюзивных аватаров?

Всего записей: 1325 | Зарегистр. 24-12-2001 | Отправлено: 08:45 07-03-2002
Alexander Ipp



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Grey2002
Конечно.

Всего записей: 1943 | Зарегистр. 20-08-2001 | Отправлено: 09:47 07-03-2002
Grey2002



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Alexander Ipp
тупой вопрос :" а как?"

Всего записей: 1325 | Зарегистр. 24-12-2001 | Отправлено: 12:13 15-03-2002
lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А я вот как хочу сделать. Если юзер выбирает аватар, он автоматом становится его персональным аватаром. Чтобы уже никто его не мог заюзать. И чтобы он в списке аватаров уже не показывался.  
Еще. Если юзер меняет аватар, то старый освобождается для общего пользования, а новый становится его персональным.
 
Есть ли мысли, как это реализовать?
 
p.s. На моей конфе это реально по числу участников, так что не надо обсудать этот момент. По сабжу, плиз.

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 20:01 05-06-2002
MVY

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lynx
Смотрни здесь http://forum.ru-board.com/topic.cgi?forum=21&topic=1563
Это как раз то что тебе нужно и у меня прекрасно работает

Всего записей: 297 | Зарегистр. 02-02-2002 | Отправлено: 22:57 05-06-2002
lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Маленькое добавление к Хаку Аусвайса. Только для тех, у кого хак уже поставлен. То есть тот вариант, когда в имени файла аватара юзера ставится слово pers_
 
В том варианте, что сейчас, перс. аватар не выводится в профиле юзера (в общем профиле, что для всех).
Чтобы выводился:
 
profil.cgi
 
Меняем
 

Код:
 
if (($avatars eq "on") && ($useravatar) && ($useravatar ne "noavatar")) {$useravatar = qq(<img src="$imagesurl/avatars/$useravatar.gif" border=0 width="32" height="32">);
}        
else { $useravatar = "";  
}  
 

 
На
 

Код:
 
if (($avatars eq "on") && ($useravatar) && ($useravatar ne "noavatar")) {$useravatar = qq(<img src="$imagesurl/avatars/$useravatar.gif" border=0 width="32" height="32">);
}        
###Перс. аватары тоже выводим
elsif ($cleanavatar =~ /pers_/){
$useravatar = qq~<img src="$imagesurl/avatars/pers_$useravatar.gif" border=0>~;
}
else { $useravatar = "";  
}  
 

 
 
Все.

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 05:29 03-11-2002
Frisby



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Все это, конечно, работает, ну а если  у юзера ник/имя на русском? Это можно как-нить обойти? (Помимо изменения ника с латинскими буквами)?

Всего записей: 95 | Зарегистр. 29-04-2002 | Отправлено: 11:12 26-11-2002
lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Frisby
 

Цитата:
 а если  у юзера ник/имя на русском?  

 
То это очень плохо,  почитай внимательно:
http://forum.ru-board.com/topic.cgi?forum=29&topic=15#1

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 23:38 26-11-2002
Grey2002



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
lynx

Цитата:
То это очень плохо,  почитай внимательно:  
http://forum.ru-board.com/topic.cgi?forum=29&topic=15#1  

нуу... проблема так проблема... всем проблемам проблема.. :) а запретить в нике англицкие + русские буквы одновременно, а? :)

Всего записей: 1325 | Зарегистр. 24-12-2001 | Отправлено: 15:53 27-11-2002
speleo

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
всем привет поставил себе то что написал в начале топика Ausw.
Но при попытке войти в свой профиль получаю сообщение  (Unrecognized character \240 at profile.cgi line 305.)  
 
вот к стати и линия 305
$cleanavatar =  $_;
 
Народ помогите плззззз.

Всего записей: 9 | Зарегистр. 13-02-2003 | Отправлено: 17:44 20-03-2003
lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
speleo
 
Ошибся при установке. Сноси все и пробуй снова.

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 18:24 20-03-2003
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3

Компьютерный форум Ru.Board » IkonBoard и другие форумы » Ikonboard v.2 » Эксклюзивные аватары (avatars) пользователям


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru