Forum FAQForum FAQSearchSearch MemberlistMemberlist Forum ignore listForum ignore list RegisterRegister ProfileProfile Log in to check your private messagesLog in to check your private messages Log inLog in
User online sa foruma na main page

 
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    mi3dot.org Forum Index -> Server-side
View previous topic :: View next topic  
Author Message
Garfield



Joined: 10 Sep 2003
Posts: 82
Location: Bjelovar

PostPosted: 19.09.2003 11:38    Post subject: User online sa foruma na main page Add user to your forum ignore list Reply with quote

Dali bi mogli staviti na public ovu skriptu sa mi3dota koja prikazuje usere sa foruma na glavnoj stranici?!

_________________
My software doesn`t have bugs, it just produces random features.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
zytzagoo
mi3.crew


Joined: 25 Aug 2003
Posts: 1842
Location: Zagreb, Hrvatska

PostPosted: 22.09.2003 10:25    Post subject: Add user to your forum ignore list Reply with quote

Otvoris source od phpbb-a i nadjes komad koji cupa broj usera, modificiras malo i that's it. Ne bi mogli bas stavit ovaj komad koji smo mi napisali, jer je heavily modified, jer ima unutra nase dodatke koji veze nemaju sa forumom itd...

No, osnovni prinicp je sljedeci:
Queryas bazu za sve usere u session i user tablici gdje je session_time u session tablici ili user_session_time u user tablici veci ili jednak trenutnom vremenu minus timeout. Onda protrcis kroz rezultate u petlji:
ako je registrirani user, kreces dalje provjeravati, preskocis vise sessiona za istog usera, provjeravas jel hidden ili nije, kreiras varijable za linkanje svakog usera i povecas broj visible ili hiddena (sve se vrti u jednoj petlji, remember) za 1, svakim korakom petlje. Ako nije registrirani, onda povecas broj gostiju. Na kraju zbrojis visible, hiddene i goste.
Na kraju ostaje samo kreiranje odgovoarajuceg teksta ovisno o broju koji si dobio, provjere zbog bogatstva hrvatskog jezika da dobijes odgovarajuce nazive u mnozinama i that's basically it.

_________________
[+]I[+]am[+]my[+]own[+]religion[+]
Back to top
View user's profile Send private message Visit poster's website Twitter profile
zytzagoo
mi3.crew


Joined: 25 Aug 2003
Posts: 1842
Location: Zagreb, Hrvatska

PostPosted: 22.09.2003 10:39    Post subject: Add user to your forum ignore list Reply with quote

Imas srece da imam volje Smile
No, ovaj kod ti ionako nista ne znaci, jer ti copy-paste nece raditi, jer nemas db klasu koju mi koristimo, nemas $userdata varijablu koju forum kreira, nemas brdo toga... I zato sam i napisao da ti nece vrijediti, ali eto, cisto da vidis iskljucivo taj komad koji broji usere...
(neka imena polja su promijenjena kod nas, tako da sam zato namjerno tu pisao _polje, ovisno o instalaciji phpbb-a koju imas, tu trebaju ici prava imena tih polja u pripadajucim tablicama)

Code:

    $sql = "
        SELECT u.username_polje as username, u.userid_polje as user_id, u.allow_viewonline_polje as user_allow_viewonline, u.level_polje as user_level, s.session_ulogiran_polje as session_logged_in, s.sessionip_polje as session_ip
        FROM users_tablica u, session_tablica s
        WHERE
            u.user_id = s.session_user_id AND
            (
                s.session_time >= ".( time() - 300 ) . " OR
                u.user_session_time >= " . ( time() - 300 ) . "
            )
        ORDER BY
            u.username, s.session_ip
    ";
    $db->query($sql);
    // defaultanje varijabli
    $users_online = 0;
    $logged_visible_online = 0;
    $logged_hidden_online = 0;
    $guests_online = 0;
    $online_userlist = '';
    $prev_user_id = '0';
    $prev_session_ip = '0';
    if ($db->num_rows()) {
        while ($db->next_record()) {
            if ($db->f('session_logged_in')) {
                // preskacemo vise sessiona za istog usera
                if ($prev_user_id != $db->f('user_id')) {
                    $users_online++;
                    if ($db->f('user_level') == ADMIN || $db->f('user_level') == MOD) { // admin or mod
                        $row['username'] = '<strong>' . $db->f('username').'</strong>';
                    } else {
                        $row['username'] = $db->f('username');
                    }
                    if ($db->f('user_allow_viewonline')) {
                   $user_online_link = '<a href="/viewprofile_lokacija/'.$db->f('user_id').'/">'.$row['username'].'</a>';
                        $logged_visible_online++;
                    } else {
                   $user_online_link = '<a href="/viewprofile_lokacija/'.$db->f('user_id').'/"><i>'.$row['username'].'</i></a>';
                        $logged_hidden_online++;
                    }
                    if ($db->f('user_allow_viewonline') || $userdata['user_level'] == ADMIN) {
                        $online_userlist .= ( $online_userlist != '' ) ? '<span style="color: #333333">,</span> ' . $user_online_link : $user_online_link;
                    }
                }
                $prev_user_id = $db->f('user_id');
            } else {
                if ($db->f('session_ip') != $prev_session_ip) {
                    $users_online++;
                    $guests_online++;
                }
            }
            $prev_session_ip = $row['session_ip'];
        }
        $total_online_users = $logged_visible_online + $logged_hidden_online + $guests_online;
        // tu jos sad ide dio oko hrvatskog jezika - kreiranje varijabli za ispis
        // ovisno o tome kako zavrsava broj (1 korisnik je, 2 korisnika su, 5 korisnika je, itd)
    }

_________________
[+]I[+]am[+]my[+]own[+]religion[+]
Back to top
View user's profile Send private message Visit poster's website Twitter profile
maxy



Joined: 07 Sep 2003
Posts: 894
Location: Zagreb

PostPosted: 23.09.2003 08:35    Post subject: Add user to your forum ignore list Reply with quote

a ako os samo BROJ online usera onda postoji jedna lepa fora - pogledas kolko je linkova otvoreno prema mysqlu, sam sam zaboravio tu SQL komandu no dokumentirana je u manualu Smile
Back to top
View user's profile Send private message
zytzagoo
mi3.crew


Joined: 25 Aug 2003
Posts: 1842
Location: Zagreb, Hrvatska

PostPosted: 23.09.2003 08:48    Post subject: Add user to your forum ignore list Reply with quote

maxy wrote:
a ako os samo BROJ online usera onda postoji jedna lepa fora - pogledas kolko je linkova otvoreno prema mysqlu, sam sam zaboravio tu SQL komandu no dokumentirana je u manualu Smile

Vjerojatno mislis na SHOW STATUS komandu, koja vraca brdo stvari, medju njima i threads_connected, _created i _running... Fora je to, samo sto ako koristis permanent connectione? Wink Ili si na shared hostingu, a ne sam na svojoj masini sa samo jednim siteom? Wink

_________________
[+]I[+]am[+]my[+]own[+]religion[+]
Back to top
View user's profile Send private message Visit poster's website Twitter profile
Display posts from previous:   
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    mi3dot.org Forum Index -> Server-side All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group