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

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

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

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

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

Fuchsia



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

Код:
# Who's online feature.
 
sub whosonline {
    local($instruct) = @_;
    ($tempusername, $where, $method) = split(/\|/, $instruct);
 
    $guests = 0;
    $members = 0;
    $currenttime = time;
    $userexpire = $currenttime - ($membergone * 60);
     
    $ipaddress = $ENV{'HTTP_X_FORWARDED_FOR'};
    &getmember("$inmembername");
    $tempusername = "$ibtxt{'0043'} $ipaddress" if ($tempusername eq "$ibtxt{'0043'}");  
     
        $filetoopen = "$ikondir" . "data/onlinedata.dat";
        $filetoopen = &stripMETA($filetoopen);
        open(FILE,"$filetoopen");
        @onlinedata = <FILE>;
        close(FILE);
             
        open(FILE,">$filetoopen");
          flock(FILE, 2);
        $memberprinted = "no";
        foreach $line (@onlinedata) {
                chomp $line;
                ($savedusername, $savedtime, $savedwhere) = split(/\|/, $line);
                $savedusername =~ s/\_/ /g;
                $tempusername =~ s/\_/ /g;
                $savedusername = &unHTML($savedusername);
                $tempusername  = &unHTML($tempusername);
                    unless ("$userexpire" > "$savedtime") {  
                    if ("$savedusername" ne "$tempusername") { print FILE "$line\n"; }
                    elsif ("$savedusername" eq "$tempusername") { print FILE $savedusername."|$currenttime|$where\n"; $memberprinted = "yes";}
                    }
                } # end foreach
        if ($memberprinted eq "no") { print FILE "$tempusername|$currenttime|$where\n";}        
        close(FILE);
     
        if ($method eq "$ibtxt{'0016'}") {
         
            $filetoopen = "$ikondir" . "data/onlinedata.dat";
            $filetoopen = &stripMETA($filetoopen);
            open(FILE,"$filetoopen");
            @onlinedata = <FILE>;
            close(FILE);
            foreach $line (@onlinedata) {
                chomp $line;
                ($savedusername, $savedtime, $savedwhere) = split(/\|/, $line);
                $lookfor = substr($savedusername, 0, 5);
                if ($lookfor eq "$ibtxt{'0043'}") { $guests++; }
                else {
                $members++;
                $cleanmember = $savedusername;
                $cleanmember =~ s/ /\_/g;
                $savedusername = substr($savedusername,0,20) if length $savedusername > 19;
                $memberoutput .= qq~&raquo; <a href="$profileprog?action=show&member=$cleanmember">$savedusername </a>~;
                }
            }
        }
} # end routine
 

Всего записей: 285 | Зарегистр. 16-02-2002 | Отправлено: 11:46 11-06-2002
BigMac



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Мда.....как ни старнно, присоединяюсь...у меня тоже тока день работает...потом опять не пашет....хосер ру-хост..так что не в нем дело....ладно...ща будем еще сами пытаться, если получится - выложим

Всего записей: 444 | Зарегистр. 31-05-2001 | Отправлено: 11:51 11-06-2002
Alexander Ipp



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Fuchsia
Ещё вопрос.
Если у тебя несколько гестов на конфе одновременно, то что творится в onlinedata.dat?
Там их много или один?

Всего записей: 1943 | Зарегистр. 20-08-2001 | Отправлено: 19:28 11-06-2002
Fuchsia



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexander Ipp,
Когда гостей больше одного,  в onlinedata.dat  показываются все, а на форуме по-прежнему отображается один.
 
Что забавно, когда гостей нет, то и отображается, что их нет.
 
 
 
 

Всего записей: 285 | Зарегистр. 16-02-2002 | Отправлено: 20:05 11-06-2002
Alexander Ipp



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

Код:
$lookfor = substr($savedusername, 0, 5);

Смени на

Код:
$lookfor = $savedusername;

Для начала... Посмотрим, что из этого выйдет.

Всего записей: 1943 | Зарегистр. 20-08-2001 | Отправлено: 20:33 11-06-2002
Fuchsia



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexander Ipp,
спасибо, заменила, теперь буду в засаде сидеть, гостей ждать на перекличку. О результате доложусь.
 
 
Добавлено
А вот и результат не замедлил сказаться. У меня Guest запаролен, и получилось, что гостей на форуме нет, зато есть один пользователь под именем Guest.  
 
Да, я, кажется, все перепутала. То, что гостей бывает больше одного, видела, когда смотрела на последнее действие посетителей -  whosonline.cgi, а в файл онлайндата.дат не заглядывала. Вернее, когда смотрела, то гость там был один...

Всего записей: 285 | Зарегистр. 16-02-2002 | Отправлено: 20:36 11-06-2002
Alexander Ipp



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В общем, сейчас совещались с BigMac'ом, и обнаружили, что sub whosonline - жутко кривая подпрогрпмма. Надо просто переписать... А то вообще жуть...

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



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexander Ipp,
если бы я еще могла сама переписать...
Если у вас там что-то нарисуется, поделитесь, плз, буду премного благодарна

Всего записей: 285 | Зарегистр. 16-02-2002 | Отправлено: 21:49 11-06-2002
Alexander Ipp



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Fuchsia
Нурисуется после 15 числа.

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



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexander Ipp,
главное, чтобы нарисовалось.  

Всего записей: 285 | Зарегистр. 16-02-2002 | Отправлено: 22:36 12-06-2002
Shurik



Главком. флейма
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
не помню, кто предлагал фикс данной траблы, но лично у меня все гости нормально отображаются!
т.е. на главной паге написано, сколько гостей. идем в "кто в он-лайне" - там по каждому гостю инфа.

----------
Metal Bands...

Всего записей: 3171 | Зарегистр. 11-06-2001 | Отправлено: 21:41 13-06-2002
durachka



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

Цитата:
не помню, кто предлагал фикс данной траблы, но лично у меня все гости нормально отображаются!  
Везунчик! СОбственно говоря проблема появилась после установки какого0то из массовых хаков, который все дружно поставили, а вот что касается фикса, то лично я его на этом форуме не видел .

Всего записей: 596 | Зарегистр. 20-05-2001 | Отправлено: 01:17 14-06-2002
Fuchsia



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

Цитата:
не помню, кто предлагал фикс данной траблы, но лично у меня все гости нормально отображаются!

тот, кто предлагал, найдется, ты бы фиксом поделился, который этот неизвестный предлагал.
 
durachka,

Цитата:
проблема появилась после установки какого0то из массовых хаков, который все дружно поставили

Ох... теперь бы еще вспомнить, какие хаки были установлены ...
Хотя, как представлю, что снова по всем файлам рыскать, так уж лучше пусть будет один гость

Всего записей: 285 | Зарегистр. 16-02-2002 | Отправлено: 09:07 14-06-2002
Grey2002



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

Цитата:
ты бы фиксом поделился

во-во, точно, Шурик давай делись

----------
Мой Блог

Всего записей: 1325 | Зарегистр. 24-12-2001 | Отправлено: 10:01 14-06-2002
pechalny



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

Цитата:
В общем, сейчас совещались с BigMac'ом, и обнаружили, что sub whosonline - жутко кривая подпрогрпмма



----------
cynicism is the only thing that keeps me sane

Всего записей: 1852 | Зарегистр. 29-07-2001 | Отправлено: 16:10 14-06-2002
BigMac



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Fuchsia
Тут дело не в кол-ве установленных хаков.......дело именно в процедуре этой.......мы пока с иванком не придумали как это пофиксить......Ипп обещал помочь после 15-го..будем его ждать......

Всего записей: 444 | Зарегистр. 31-05-2001 | Отправлено: 17:39 14-06-2002
Grey2002



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Shurik
говорят всё дело в sub whosonline... кинь свой кусок..

----------
Мой Блог

Всего записей: 1325 | Зарегистр. 24-12-2001 | Отправлено: 17:46 14-06-2002 | Исправлено: Grey2002, 17:48 14-06-2002
Fuchsia



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

Всего записей: 285 | Зарегистр. 16-02-2002 | Отправлено: 23:28 14-06-2002
Shurik



Главком. флейма
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
окей, ловите люди.
может поможет:

Код:
# Who's online feature.
 
sub whosonline {
    local($instruct) = @_;
    ($tempusername, $where, $method) = split(/\|/, $instruct);
 
    $guests = 0;
    $members = 0;
    $currenttime = time;
    $membergone = 30;
    $userexpire = $currenttime - ($membergone * 60);
     
    $ipaddress = $ENV{'REMOTE_ADDR'};
    $logname = $tempusername;
    &getmember("$inmembername");
    $tempusername = "$ibtxt{'0043'} $ipaddress" if ($tempusername eq "$ibtxt{'0043'}");  
     
        $filetoopen = "$ikondir" . "data/onlinedata.dat";
        $filetoopen = &stripMETA($filetoopen);
        open(FILE,"$filetoopen");
        @onlinedata = <FILE>;
        close(FILE);
             
        open(FILE,">$filetoopen");
         flock(FILE, 2);
        $memberprinted = "no";
        foreach $line (@onlinedata) {
                chomp $line;
                ($savedusername, $savedtime, $savedwhere) = split(/\|/, $line);
                $savedusername =~ s/\_/ /g;
                $tempusername =~ s/\_/ /g;
                $savedusername = &unHTML($savedusername);
                $tempusername  = &unHTML($tempusername);
                    unless ("$userexpire" > "$savedtime") {  
                    if ("$savedusername" ne "$tempusername") { print FILE "$line\n"; }
                    elsif ("$savedusername" eq "$tempusername") { print FILE $savedusername."|$currenttime|$where\n"; $memberprinted = "yes";}
                    }
                } # end foreach
        if ($memberprinted eq "no") { print FILE "$tempusername|$currenttime|$where\n";}        
        close(FILE);
$referer = $ENV{'HTTP_REFERER'};
$browser = $ENV{'HTTP_USER_AGENT'};
$media = $ENV{'HTTP_ACCEPT'};
   
        if ($method eq "$ibtxt{'0016'}") {
         
            $filetoopen = "$ikondir" . "data/onlinedata.dat";
            $filetoopen = &stripMETA($filetoopen);
            open(FILE,"$filetoopen");
            @onlinedata = <FILE>;
            close(FILE);
            foreach $line (@onlinedata) {
                chomp $line;
                ($savedusername, $savedtime, $savedwhere) = split(/\|/, $line);
                $lookfor = substr($savedusername, 0, 5);
                if ($lookfor eq "$ibtxt{'0043'}") { $guests++; }
                else {
                $members++;
                $cleanmember = $savedusername;
                $cleanmember =~ s/ /\_/g;
                $savedusername = substr($savedusername,0,20) if length $savedusername > 19;
                $memberoutput .= qq~&raquo; <a href="$profileprog?action=show&member=$cleanmember">$savedusername </a>~;
                }
            }
        }
} # end routine  


----------
Metal Bands...

Всего записей: 3171 | Зарегистр. 11-06-2001 | Отправлено: 01:45 15-06-2002
Grey2002



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

Код:
$currenttime = time;

добавляем это :

Код:
$membergone = 30;

 
после :

Код:
$ipaddress = $ENV{'REMOTE_ADDR'};  

добавляем

Код:
$logname = $tempusername;

 
после :

Код:
if ($memberprinted eq "no") { print FILE "$tempusername|$currenttime|$where\n";}
close(FILE);  

добавить

Код:
$referer = $ENV{'HTTP_REFERER'};  
$browser = $ENV{'HTTP_USER_AGENT'};  
$media = $ENV{'HTTP_ACCEPT'};  

 
это различия, которые я нашёл, пробуйте...

----------
Мой Блог

Всего записей: 1325 | Зарегистр. 24-12-2001 | Отправлено: 05:28 15-06-2002
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8

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


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru