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

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

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

lynx (18-08-2004 06:25): Теперь все о статусах в теме:
Статусы пользователей: более легкое решение
 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3

   

MYOKARD



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Уважаемые batva Alexander Ipp DimoN  
JediMaster_Dragon
Помогите кто-нибудь пожалуйста с этим глюком.
Архив скачивал у Вас вчера, установил все нормально за 15 минут, но вот только у всех юзерей всегда остается статус "Пользователь". Менять его можно  на кого-угодно, только не становятся настройки статуса, всегда остается пользователь.
Вы говорите, что это старый глюк, но я вчера только сказал от Вас это все....
Пожалуйста, поясните поподробнее что и где надо подправить.
Заранее огромно благодарен.

Всего записей: 38 | Зарегистр. 29-01-2002 | Отправлено: 19:47 23-04-2002
TuMoXa



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
MYOKARD
Значит так:
Объясняю понятно и последовательно:
1. - By DimoN
Это позволит отображать правильные статусы в топиках:
Открываем файл topic.cgi, ищем строку:
 

Код:
 
$membertitle =~ s/&lt;/</g; $membertitle =~ s/&gt;/>/g; $membertitle =~ s/&quot;/"/g;
 

 
Перед ней вставляем  
 

Код:
 
if ($membertitle eq "member" || $membertitle eq "$ibtxt{'0136'}") { $membertitle = $mtitle; }
 

 
2. - by myself
Это позволит отображать правильные статусы в профилях:
Открываем profile.cgi, ищем строки:
 

Код:
 
$output .= qq~
   <tr>
   <td bgcolor=$miscbacktwo valign=middle colspan=2 align=center><font face="$font" color=$fontcolormisc size=$dfontsize3><b>$ibtxt{'1817'} <font color=$fonthighlight>$inmember</b></font></td></tr>
   <tr>
   <td bgcolor=$miscbackone valign=middle width=30%><font face="$font" color=$fontcolormisc size=$dfontsize1><b>$ibtxt{'1818'}</b></font></td>
   <td bgcolor=$miscbackone valign=middle><font face="$font" color=$fontcolormisc size=$dfontsize1>$joineddate</font></td></tr>
   <tr>
   <td bgcolor=$miscbackone valign=middle><font face="$font" color=$fontcolormisc size=$dfontsize1><b>$ibtxt{'1819'}</b></font></td>
   <td bgcolor=$miscbackone valign=middle><font face="$font" color=$fontcolormisc size=$dfontsize1>$membertitle</font></td></tr>
   <tr>
   <td bgcolor=$miscbackone valign=middle><font face="$font" color=$fontcolormisc size=$dfontsize1><b>$ibtxt{'0013'}</b></font></td>
   <td bgcolor=$miscbackone valign=middle><font face="$font" color=$fontcolormisc size=$dfontsize1>$lastpostdetails</font></td></tr>
   <tr>
   <td bgcolor=$miscbackone valign=middle><font face="$font" color=$fontcolormisc size=$dfontsize1><b>$ibtxt{'0212'}</b></font></td>
   <td bgcolor=$miscbackone valign=middle><font face="$font" color=$fontcolormisc size=$dfontsize1>$numberofposts</font></td></tr>
   <tr>
   <td bgcolor=$miscbackone valign=middle><font face="$font" color=$fontcolormisc size=$dfontsize1><b>$ibtxt{'1822'}</b></font></td>
   <td bgcolor=$miscbackone valign=middle><font face="$font" color=$fontcolormisc size=$dfontsize1>$emailaddress</font></td></tr>
   <tr>
   <td bgcolor=$miscbackone valign=middle><font face="$font" color=$fontcolormisc size=$dfontsize1><b>$ibtxt{'1823'}</b></font></td>
   <td bgcolor=$miscbackone valign=middle><font face="$font" color=$fontcolormisc size=$dfontsize1>$homepage</font></td></tr>
   <tr>
   <td bgcolor=$miscbackone valign=middle><font face="$font" color=$fontcolormisc size=$dfontsize1><b>$ibtxt{'1824'}</b></font></td>
   <td bgcolor=$miscbackone valign=middle><font face="$font" color=$fontcolormisc size=$dfontsize1>$aolname</font></td></tr>
   <tr>
   <td bgcolor=$miscbackone valign=middle><font face="$font" color=$fontcolormisc size=$dfontsize1><b>$ibtxt{'1825'}</b></font></td>
   <td bgcolor=$miscbackone valign=middle><font face="$font" color=$fontcolormisc size=$dfontsize1>$icqnumber</font>&nbsp; $icqlogo</td></tr>
   <tr>
   <td bgcolor=$miscbackone valign=middle><font face="$font" color=$fontcolormisc size=$dfontsize1><b>$ibtxt{'1826'}</b></font></td>
   <td bgcolor=$miscbackone valign=middle><font face="$font" color=$fontcolormisc size=$dfontsize1>$location</font></td></tr>
   <tr>
   <td bgcolor=$miscbackone valign=middle><font face="$font" color=$fontcolormisc size=$dfontsize1><b>$ibtxt{'1827'}</b></font></td>
   <td bgcolor=$miscbacktwo valign=middle align=center><font face="$font" color=$fontcolormisc size=$dfontsize1>$interests</font></td></tr>
   </table></td></tr></table>
   ~;
   
    } # end showprofile
 

 
Перед ними вставляем:
("$membergraphic = ...." можно в этих строках убрать)
 

Код:
 
            if    ($numberofposts > $mpostmark5) { $mtitle = "$mtitle5";  $membergraphic = "$mgraphic5"; }
            elsif ($numberofposts > $mpostmark4) { $mtitle = "$mtitle4";  $membergraphic = "$mgraphic4"; }
            elsif ($numberofposts > $mpostmark3) { $mtitle = "$mtitle3";  $membergraphic = "$mgraphic3"; }
            elsif ($numberofposts > $mpostmark2) { $mtitle = "$mtitle2";  $membergraphic = "$mgraphic2"; }
            else { $mtitle = "$mtitle1"; $membergraphic = "$mgraphic1"; }
 
if ($membertitle eq "member" || $membertitle eq "$ibtxt{'0136'}") { $membertitle = $mtitle; }
 

Поднимаемся в начало файла, находим:

Код:
 
require "ikon.lib";          # Require ikonboard ()
require "data/progs.cgi";    # Require prog names
require "data/boardinfo.cgi";# Require board info
require "data/styles.cgi";   # Require styles info
require "ikonmail.lib";      # Require styles info
 

Добавляем туды строку:

Код:
 
require "data/membertitles.cgi";
 

 
Сохраняем, выходим, и будет табе сщастье! Ура!

Всего записей: 202 | Зарегистр. 29-12-2001 | Отправлено: 10:43 24-04-2002
MYOKARD



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TuMoXa
Огромное тебе спасибо! Седня попробую

Всего записей: 38 | Зарегистр. 29-01-2002 | Отправлено: 17:17 24-04-2002
Alexander Ipp



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TuMoXa
Во второй части не МОЖНО, а НУЖНО убрать $membergraphic.
С первой по-идее всё верно, но я пытался так делать, и у меня какой-то косяк там был.
Блин, всё руки не доходят... Вообще времени нет...

Всего записей: 1943 | Зарегистр. 20-08-2001 | Отправлено: 09:54 25-04-2002
TuMoXa



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Alexander Ipp
Почему это НУЖНО????
Чем она тебе мешает?  
в профиле эта переменная все равно нигде не выводится.
а так все работает! проверено!

Всего записей: 202 | Зарегистр. 29-12-2001 | Отправлено: 11:25 25-04-2002
Alexander Ipp



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TuMoXa
А зачем лишние операторы присвоения нужны? Это же МУСОР!

Всего записей: 1943 | Зарегистр. 20-08-2001 | Отправлено: 19:50 26-04-2002
Rick



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
А почему никто архив не обновит, чтобы люди не мучились с правкой кода???
 
Добавлено
Ой, а я и внимания не обращал, что у меня тоже такой же баг был!!! Пасибо, что подсказали, как с ним бороться!!!

Всего записей: 1128 | Зарегистр. 07-08-2001 | Отправлено: 01:28 27-04-2002
TuMoXa



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Alexander Ipp
Да ладно тебе мелочиться
ЗЫ
Все все все... простите за оффтоп

Всего записей: 202 | Зарегистр. 29-12-2001 | Отправлено: 07:29 27-04-2002
Alexander Ipp



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TuMoXa
Ну да, раз мелочь, два мелочь - и томоза начинаются.

Всего записей: 1943 | Зарегистр. 20-08-2001 | Отправлено: 21:41 27-04-2002
cj dennis



Лунный отаку
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Сделал выше приведенные изменения по методу TuMoXa'и обнаружил следущие баги (если это конечно баги а не нормальное явление) : первое - если забанить любого пользователя, а потом разбанить его, то у него ставится статус "Member", причем этот статус формируется не на основе количества постов, а прописывается в поле статуса соответствующего участника в админцентре. Второе, чтобы заставить конфу отображать статусы, в зависимости от количества набранных постов, необходимо прописать в вышеизложенном поле ручками слово "Пользователь". А нельзя ли как-то это устранить, а то может захочет человек иметь персональный статус именно "Пользователь" (это конечно маловероятно, но все же...), а вместо него будет высвечиваться newbie, junior member... ну и так далее. Нельзя ли вообще сделать поле с галочкой напротив персонального статуса? То есть, если галочка есть, значит статус береться из поля статуса, а если нет, то формируется конфой на основе количества постов. Соотвественно нет ли какого нить хака на эту тему? Единственное, что хочу добавить, это то что все эксперименты я проводил на локалхосте, может при работе на реальном сервере такого не наблюдается?

----------
Ai Kotoba-wa Moon Prism Power Make-Up!

Всего записей: 462 | Зарегистр. 27-07-2001 | Отправлено: 06:47 26-09-2002
lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
cj dennis
 
Бр... половину не поняла. Но что поняла, скажу.
 

Цитата:
Второе, чтобы заставить конфу отображать статусы, в зависимости от количества набранных постов, необходимо прописать в вышеизложенном поле ручками слово "Пользователь".  

 
Я решила это так:
 
profile.cgi
 

Код:
 
$filetoopen = "$ikondir" . "members/$memberfiletitle.cgi";
     open(FILE, "$filetoopen");
      flock(FILE, 2);
      print FILE "$inmembername|$newpassword|$membertitle|$membercode|
$numberofposts|$newemailaddress|$newshowemail|$ipaddress|$newhomepage|
$newaolname|$newicqnumber|$newlocation|$newinterests|$joineddate|
$lastpostdate|$newsignature|$newtimedifference|$privateforums|$inuseravatar|$misc1|$misc2|$misc3";
     close(FILE);
 
##start  
if (($membercode ne "mo")&&($membercode ne "ad")){
if ($numberofposts <=30){$membertitle="Newbie";}
if (($numberofposts >30)&&($nubberofposts<=64)){$membertitle="Junior Member";}
if (($numberofposts >64)&&($nubberofposts<=119)){$membertitle="Member";}
if (($numberofposts >119)&&($nubberofposts<=199)){$membertitle="Full Member";}
if (($numberofposts >199)){$membertitle="Advanced Member";}
}
else{
if ($membercode eq "mo"){$membertitle="Moderator";}
if ($membercode eq "ad"){$membertitle="Administrator";}
}

 
Лишние поля убери, это не надо, просто привела строку, чтобы ты понял, после чего код пихать - там где запись в файл профиля мембера идет. И количество постов поставь, как тебе надо.
 
##Счас опять в меня помидоры от программеров полетят, типа это дурной тон - такой код и т.д. Но пашет.

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 00:42 27-09-2002 | Исправлено: lynx, 19:06 27-09-2002
   

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

Компьютерный форум Ru.Board » IkonBoard и другие форумы » Ikonboard v.2 » Крик о помощи-2. СТАТУСЫ
lynx (18-08-2004 06:25): Теперь все о статусах в теме:
Статусы пользователей: более легкое решение


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru