Bạn ghé thăm diễn đàn lần đầu? hãy đăng ký ngay bây giờ để tham gia.
  • Đăng nhập:

Chào mừng bạn đến với ITVNN FORUM - Diễn đàn công nghệ thông tin.

Nếu đây là lần đầu tiên bạn tham gia diễn đàn, xin mời bạn xem phần Hỏi/Ðáp để biết cách dùng diễn đàn. Để có thể tham gia thảo luận bạn phải đăng ký làm thành viên, click vào đây để đăng ký.


  • Partner Area
    • ITVNN HOSTING - Thiết kế website, Cung cấp Domain, Hosting, VPS Việt Nam Anh Hùng - Thông tin truyền thông
kết quả từ 1 tới 4 trên 4
Tăng kích thước phông chữ Giảm kích thước phông chữ
  1. #1
    minhthai's Avatar

    Trạng thái
    Offline
    Tham gia ngày
    Jul 2011
    Thành viên thứ
    48245
    Giới tính
    Bài gởi
    213
    Level: 36 [?]
    Experience: 992,416
    Next Level: 1,000,000
    Cảm ơn 46
    Cảm ơn 12 lần / 12 Bài viết

    Default Giúp đưa thống kê thành viên online ra ngoài trang chủ CMS  

    Làm sao để đưa thống kê thành viên trực tuyến ra ngoài trang chủ CMS, hiện tại nó chỉ hiện ở trang forum home mà thôi...

  2. #2
    minhthai's Avatar

    Trạng thái
    Offline
    Tham gia ngày
    Jul 2011
    Thành viên thứ
    48245
    Giới tính
    Bài gởi
    213
    Level: 36 [?]
    Experience: 992,416
    Next Level: 1,000,000
    Cảm ơn 46
    Cảm ơn 12 lần / 12 Bài viết

    Default

    ai bít xin giúp mình. Cần gấp, thanks.

  3. #3
    nghebao.vn's Avatar

    Trạng thái
    Offline
    Tham gia ngày
    Mar 2010
    Thành viên thứ
    12737
    Tuổi
    50
    Giới tính
    Bài gởi
    93
    Level: 33 [?]
    Experience: 479,410
    Next Level: 555,345
    Cảm ơn 40
    Cảm ơn 24 lần / 21 Bài viết

    Default

    INSTALL INSTRUCTIONS:

    1) Create a new Template
    Styles & Templates > select style (I like to do this in the MASTER STYLE) > Add Template
    Title - vbcms_widget_execphp_activeusers
    Template code -
    PHP Code:
    PHP Code: 
    <vb:if condition="$show['loggedinusers']">
    <
    div class="cms_widget category_widget">
        <
    div class="block">
            <
    div class="cms_widget_header">
                <
    h3><img src="{vb:stylevar imgdir_misc}/users_online.png" alt="{vb:rawphrase currently_active_users}" />{vb:rawphrase currently_active_users}</h3>
            </
    div>
            <
    div class="cms_widget_content widget_content">
                <
    div>
                    <
    p>{vb:rawphrase there_are_x_online, {vb:raw totalonline}} <span class="shade">{vb:rawphrase x_members_and_y_guests, {vb:raw numberregistered}, {vb:raw numberguest}}</span></p>
                    <
    p>{vb:rawphrase most_users_ever_online_was_x_y_at_z, {vb:raw recordusers}, {vb:raw recorddate}, {vb:raw recordtime}}</p>
                    <
    ol class="commalist" id="wgo_onlineusers_list">
                        {
    vb:raw activeusers}
                    </
    ol>
                </
    div>
            </
    div>
        </
    div>
    </
    div>
    </
    vb:if> 
    2) Create a new Plugin
    Plugins & Products > Add New Plugin > leave everything default except:
    Hook Location - cache_templates
    Title - Cache template for Users Online Widget
    Plugin PHP code


    PHP Code: 
    if (THIS_SCRIPT == 'vbcms')
    {
        
    $cache[] = 'forumhome_loggedinuser';

    Plugin is Active - Yes

    3) Create a new Widget
    vBulletin CMS > Widgets > Create New Widget
    Widget Type - PHP Direct Execution
    Title - Users Online
    SAVE

    4) Configure the Widget
    Now go to vBulletin CMS > Widgets > Users Online > Configure
    Change the Template Name to -
    vbcms_widget_execphp_activeusers
    Add the following code


    PHP Code: 
    require_once(DIR '/includes/functions_bigthree.php'); 

    $activeusers '';
    if ((
    vB::$vbulletin->options['displayloggedin'] == OR vB::$vbulletin->options['displayloggedin'] == OR (vB::$vbulletin->options['displayloggedin'] > AND vB::$vbulletin->userinfo['userid'])) AND !$show['search_engine'])
    {
        
    $datecut TIMENOW vB::$vbulletin->options['cookietimeout'];
        
    $numbervisible 0;
        
    $numberregistered 0;
        
    $numberguest 0;
        
        
    $hook_query_fields $hook_query_joins $hook_query_where '';
        (
    $hook vBulletinHook::fetch_hook('forumhome_loggedinuser_query')) ? eval($hook) : false;

        
    $forumusers vB::$db->query_read_slave("
            SELECT
                user.username, (user.options & " 
    vB::$vbulletin->bf_misc_useroptions['invisible'] . ") AS invisible, user.usergroupid, user.lastvisit,
                session.userid, session.inforum, session.lastactivity, session.badlocation,
                IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid, infractiongroupid
                
    $hook_query_fields
            FROM " 
    TABLE_PREFIX "session AS session
            LEFT JOIN " 
    TABLE_PREFIX "user AS user ON(user.userid = session.userid)
            
    $hook_query_joins
            WHERE session.lastactivity > 
    $datecut
                
    $hook_query_where
            " 
    iif(vB::$vbulletin->options['displayloggedin'] == OR vB::$vbulletin->options['displayloggedin'] == 3"ORDER BY username ASC") . "
        "
    );

        if (
    vB::$vbulletin->userinfo['userid'])
        {
            
    // fakes the user being online for an initial page view of index.php
            
    vB::$vbulletin->userinfo['joingroupid'] = iif(vB::$vbulletin->userinfo['displaygroupid'], vB::$vbulletin->userinfo['displaygroupid'], vB::$vbulletin->userinfo['usergroupid']);
            
    $userinfos = array
            (
                
    vB::$vbulletin->userinfo['userid'] => array
                (
                    
    'userid'            =>& vB::$vbulletin->userinfo['userid'],
                    
    'username'          =>& vB::$vbulletin->userinfo['username'],
                    
    'invisible'         =>& vB::$vbulletin->userinfo['invisible'],
                    
    'inforum'           => 0,
                    
    'lastactivity'      => TIMENOW,
                    
    'lastvisit'         =>& vB::$vbulletin->userinfo['lastvisit'],
                    
    'usergroupid'       =>& vB::$vbulletin->userinfo['usergroupid'],
                    
    'displaygroupid'    =>& vB::$vbulletin->userinfo['displaygroupid'],
                    
    'infractiongroupid' =>& vB::$vbulletin->userinfo['infractiongroupid'],
                )
            );
        }
        else
        {
            
    $userinfos = array();
        }
        
    $inforum = array();

        while (
    $loggedin vB::$db->fetch_array($forumusers))
        {
            
    $userid $loggedin['userid'];
            if (!
    $userid)
            {    
    // Guest
                
    $numberguest++;
                if (!isset(
    $inforum["$loggedin[inforum]"]))
                {
                    
    $inforum["$loggedin[inforum]"] = 0;
                }
                if (!
    $loggedin['badlocation'])
                {
                    
    $inforum["$loggedin[inforum]"]++;
                }
            }
            else if (empty(
    $userinfos["$userid"]) OR ($userinfos["$userid"]['lastactivity'] < $loggedin['lastactivity']))
            {
                
    $userinfos["$userid"] = $loggedin;
            }
        }

        if (!
    vB::$vbulletin->userinfo['userid'] AND $numberguest == 0)
        {
            
    $numberguest++;
        }

        
    $skipgroups = array(3,4);
        foreach (
    $userinfos AS $userid => $loggedin)
        {
            if (
    in_array($loggedin['usergroupid'], $skipgroups))
            {
                
    $numberguest++;
            }
            else
            {
                
    $numberregistered++;
                if (
    $userid != vB::$vbulletin->userinfo['userid'] AND !$loggedin['badlocation'])
                {
                    if (!isset(
    $inforum["$loggedin[inforum]"]))
                    {
                        
    $inforum["$loggedin[inforum]"] = 0;
                    }
                    
    $inforum["$loggedin[inforum]"]++;
                }
                
    fetch_musername($loggedin);

                (
    $hook vBulletinHook::fetch_hook('forumhome_loggedinuser')) ? eval($hook) : false;

                if (
    fetch_online_status($loggedin))
                {
                    
    $numbervisible++;
                    
    $show['comma_leader'] = ($activeusers != '');
                    
    $templater vB_Template::create('forumhome_loggedinuser');
                    
    $templater->register('loggedin'$loggedin);
                    
    $activeusers .= $templater->render();
                    
    vB_Template::preRegister('vbcms_widget_execphp_activeusers', array('activeusers' => $activeusers)); 
                }
            }
        }

        
    // memory saving
        
    unset($userinfos$loggedin);

        
    vB::$db->free_result($forumusers);

        
    $totalonline $numberregistered $numberguest;
        
    $numberinvisible $numberregistered $numbervisible;
         
        
    vB::$vbulletin->datastore->fetch(array('maxloggedin'));
        if (
    vB::$vbulletin->maxloggedin === NULL)
        {
            
    vB::$vbulletin->maxloggedin = array();
        }
        if (
    intval(vB::$vbulletin->maxloggedin['maxonline']) <= $totalonline)
        {
            
    vB::$vbulletin->maxloggedin['maxonline'] = $totalonline;
            
    vB::$vbulletin->maxloggedin['maxonlinedate'] = TIMENOW;
            
    build_datastore('maxloggedin'serialize(vB::$vbulletin->maxloggedin), 1);
        }

        
    $recordusers vb_number_format(vB::$vbulletin->maxloggedin['maxonline']);
        
    $recorddate vbdate(vB::$vbulletin->options['dateformat'], vB::$vbulletin->maxloggedin['maxonlinedate'], true);
        
    $recordtime vbdate(vB::$vbulletin->options['timeformat'], vB::$vbulletin->maxloggedin['maxonlinedate']);

        
    $show['loggedinusers'] = true;
        
        
    $statsarray = array('onlinestats' => $onlinestats,
        
    'totalonline' => $totalonline,
        
    'numberregistered' => $numberregistered,
        
    'numberguest' => $numberguest,
        
    'show'    => $show,
        
    'recordusers'  => $recordusers,
        
    'recorddate'  => $recorddate,
        
    'recordtime'  => $recordtime,
        );
        
        
    vB_Template::preRegister('vbcms_widget_execphp_activeusers'$statsarray); 





    Trích từ: http://daklak.org

  4. Thành viên sau đây nói lời Cảm ơn tới nghebao.vn cho bài viết hữu ích này:

    minhthai (04-09-2011)

  5. #4
    minhthai's Avatar

    Trạng thái
    Offline
    Tham gia ngày
    Jul 2011
    Thành viên thứ
    48245
    Giới tính
    Bài gởi
    213
    Level: 36 [?]
    Experience: 992,416
    Next Level: 1,000,000
    Cảm ơn 46
    Cảm ơn 12 lần / 12 Bài viết

    Default

    Thanks. Nhưng khi dùng fake user thì nó k hiện ra ở ngoài CMS, Bên trong forum thì vẫn hiện. Có code nào đếm lượt truy cập web k bạn.


 

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Help Hướng dẫn chèn liên kết ngoài trang chủ
    By SangLK in forum Hỏi đáp & Thảo luận
    Trả lời: 0
    Bài mới gởi: 29-10-2011, 01:52 PM
  2. Giúp đóng khung ngoài trang forum
    By minhthai in forum Hỏi đáp & Thảo luận
    Trả lời: 7
    Bài mới gởi: 18-09-2011, 12:25 AM
  3. Trả lời: 0
    Bài mới gởi: 26-12-2010, 11:42 AM
  4. Trả lời: 0
    Bài mới gởi: 11-10-2010, 11:17 AM
  5. Trả lời: 8
    Bài mới gởi: 26-08-2010, 12:12 PM

Tags for this Thread

Bookmarks

Quuyền Hạn Của Bạn

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể chỉnh sửa bài viết
  •