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

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

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

 Версия для печати • ПодписатьсяДобавить в закладки

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

silencess

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

Всего записей: 211 | Зарегистр. 07-01-2003 | Отправлено: 06:54 06-06-2005
Roman_S



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
silencess
> а показываться не показываються...
Под Win/IIS скорее всего покажутся
А если это Apache с локалью C/Posix - нет.
 
Выход - кодировать имя аватара и декодировать в нужных местах.
 
Надо будет на досуге и у себя такую затычку поставить....

Всего записей: 174 | Зарегистр. 25-03-2005 | Отправлено: 22:12 06-06-2005
silencess

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
тобишь надо не движек мучать а платформу на которой стоит все это ?

Всего записей: 211 | Зарегистр. 07-01-2003 | Отправлено: 06:59 07-06-2005
Roman_S



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
silencess
Лучше движок.
Тут, на ру-борде в "полезных скриптах" есть функции esc2str и str2esc - их и удобно мучать.
В галерее я у себя так и решил эту проблему.

Всего записей: 174 | Зарегистр. 25-03-2005 | Отправлено: 00:31 10-06-2005
silencess

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
выложи хак тогда если уже пофиксил ?

Всего записей: 211 | Зарегистр. 07-01-2003 | Отправлено: 09:10 10-06-2005
Roman_S



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Сорьки, оч. занят был.
Сегодня постараюсь.
 
НО!
Честно предупреждаю - я собираюсь объединить сие безобразие с хаком "персональных аватарок".
Т.е. чтоб никто не мог пользовать чужие аватарки.

Всего записей: 174 | Зарегистр. 25-03-2005 | Отправлено: 13:41 15-06-2005
silencess

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
да без проблем... ждемс

Всего записей: 211 | Зарегистр. 07-01-2003 | Отправлено: 06:33 16-06-2005
Roman_S



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Короче, за основу берём это:
http://www.netgimmicks.com/ikonboard.cgi?act=ST;f=16;t=2344;hl=avatar
 
Перевожу на русский:
 
в Sources/Profile.pm
вместо

Код:
open UPLOAD, '>'.$iB::INFO->{'HTML_DIR'}.'/avatars/uploaded_'.$ext or die "Unable to create your new avatar: $!";

пишем

Код:
open UPLOAD, '>'.$iB::INFO->{'HTML_DIR'}.'/avatars/upl_'. $iB::MEMBER->{'MEMBER_ID'} . '_'.$ext or die "Unable to create your new avatar: $!";

 
в Sources/UserCP/Menu.pm
вместо

Код:
next if /^index/i;

пишем

Код:
next if /^index/i;
my @all = split(/_/, $_);
my $prefix = shift(@all);
my $prefix2 = shift(@all);
unless ($prefix2 eq $iB::MEMBER->{'MEMBER_ID'} or $iB::MEMBER->{'MEMBER_GROUP'} == $iB::INFO->{'SUPAD_GROUP'}) {
next if $prefix eq 'upl';
}

 
Как это работает?
Аватарки при загрузке принимают вид upl_{MEMBER_ID}_имя
Например: upl_122234-1233_Бабака
При отображении все с префиксом upl_ фильтруются на соответствие ID пользователя (суперадмин есс-но видит всё)
-------------------------------------
Рюсски бюкф.
Т.к. пофигу, как это в итоге выглядеть будет, то символы можно закодировать 16-ричными кодами.
Для этого
в Sources/Profile.pm
перед

Код:
open UPLOAD, '>'.$iB::INFO->{'HTML_DIR'}.'/avatars/upl_'. $iB::MEMBER->{'MEMBER_ID'} . '_'.$ext or die "Unable to create your new avatar: $!";

вставить

Код:
$ext=str2esc(lc((split /\./, $ext)[0])).'.'.lc((split /\./, $ext)[1]);

И в хвост модуля (перед 1: __END__) функцию:
 

Код:
sub str2esc {
my ($escstr,$escsumb) = @_; $escstr =~ s/(.)/(unpack ("H*",$1))/ge;
$escstr =~ s/(..)/$escsumb$1/g; return $escstr;
}

теперь Бабака.gif будет:
upl_122424-12324_c4a6e8a9ff (ну, не совсем так, но вроде того )
 
В принципе, мне этого хватит.
Ну, а кто хочет, чтоб это красиво выглядело - кодирование можно обратить в Sources/UserCP/Menu.pm.
Выделить третий аргумент и... (функции esc2str и str2esc можно найти в этом форуме в разделе веб-программирования)

Всего записей: 174 | Зарегистр. 25-03-2005 | Отправлено: 00:14 22-06-2005
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » IkonBoard и другие форумы » Ikonboard v.3 » аватары на русском


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru