vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3.0 Full Releases (https://vborg.vbsupport.ru/forumdisplay.php?f=33)
-   -   Who Viewed This Thread - Enhanced Version (https://vborg.vbsupport.ru/showthread.php?t=68876)

andrew67 12-07-2004 09:16 AM

going to go install.. it sounds good :) Appreciated.

Ocean 12-15-2004 01:14 PM

Quote:

Originally Posted by mtha

When you have $whoviewed_display_option = 2;
Those who are not allowed to view "who viewed list" should NOT see the link "List users who viewed this thread" either

Thank you for pointing this out. This problem has been fixed in v1.3.2, which I have just released.

Anyone wishing to upgrade from v1.3.1 to v1.3.2 just needs to re-do steps 6 and 9 (replacing the sections in ShowThread.php, and the SHOWTHREAD template).

:)

Ocean 12-15-2004 01:14 PM

Quote:

Originally Posted by andrew67

going to go install.. it sounds good :) Appreciated.

I'm glad you like it! :)

IC-Games 12-19-2004 01:48 AM

getting a currupt download here, some charectors are out of whack for me

Ocean 12-19-2004 08:20 AM

Quote:

Originally Posted by IC-Games

getting a currupt download here, some charectors are out of whack for me

Which file is giving you problems? Is it the main 1.3.2 Instructions file? If so, I tried downloading it from here and at an initial glance - it seems fine. Perhaps the problem was with your download - and you might want to try it again. :)

H2k 02-09-2005 06:53 AM

I was searching for this mod about week and just know find it

it is the hard mod i ever see .. to install it conf me i dont no what line i should edit or add ..

could u please add for me this mod


PHP Code:

// pre-cache templates used by specific actions
$actiontemplates = array();

// ####################### PRE-BACK-END ACTIONS ##########################
function exec_postvar_call_back()
{
    global 
$_REQUEST;
    if (
$_REQUEST['goto'] == 'lastpost' OR $_REQUEST['goto'] == 'newpost' OR $_REQUEST['goto'] == 'postid')
    {
        global 
$noheader;
        
$noheader 1;
    }
}

// ######################### REQUIRE BACK-END ############################
require_once('./global.php');
require_once(
'./includes/functions_bigthree.php');
require_once(
'./includes/functions_showthread.php');
require_once(
'./includes/functions_warning.php');

// #######################################################################
// ######################## START MAIN SCRIPT ############################
// #######################################################################

globalize($_REQUEST, array(
    
'perpage' => INT,
    
'pagenumber' => INT,
    
'highlight' => STR,
    
'posted'    => INT,
    
'goto'
));
$hierarchical=$warn_opts['hierarchical'];
$viewoption=$warn_opts['viewoption'];
$buttons=$warn_opts['textbutoption'];
// *********************************************************************************
// set $threadedmode (continued from sessions.php)
if ($vboptions['allowthreadedmode'])
{
    if (!isset(
$threadedmode))
    {
        
DEVDEBUG('$threadedmode is empty');
        if (
$bbuserinfo['threadedmode'] == 3)
        {
            
$threadedmode 0;
        }
        else
        {
            
$threadedmode $bbuserinfo['threadedmode'];
        }
    }

    switch (
$threadedmode)
    {
        case 
1:
            
$show['threadedmode'] = true;
            
$show['hybridmode'] = false;
            
$show['linearmode'] = false;
            break;
        case 
2:
            
$show['threadedmode'] = false;
            
$show['hybridmode'] = true;
            
$show['linearmode'] = false;
            break;
        default:
            
$show['threadedmode'] = false;
            
$show['hybridmode'] = false;
            
$show['linearmode'] = true;
        break;
    }
}
else
{
    
DEVDEBUG('Threadedmode disabled by admin');
    
$threadedmode 0;
    
$show['threadedmode'] = false;
    
$show['linearmode'] = true;
    
$show['hybridmode'] = false;
}

// make an alternate class for the selected threadedmode
$modeclass = array();
for (
$i 0$i 3$i++)
{
    
$modeclass["$i"] = iif($i == $threadedmode'alt2''alt1');
}

// prepare highlight words
if (!empty($_GET['highlight']))
{
    
$highlightwords iif($goto'&''&') . 'highlight=' urlencode($_GET['highlight']);
}
else
{
    
$highlightwords '';
}

// ##############################################################################
// ####################### HANDLE HEADER() CALLS ################################
// ##############################################################################
switch($goto)
{
    
// *********************************************************************************
    // go to next newest
    
case 'nextnewest':
        
$thread verify_id('thread'$threadid11);
        if (
$getnextnewest $DB_site->query_first("
            SELECT threadid
            FROM " 
TABLE_PREFIX "thread AS thread
            LEFT JOIN " 
TABLE_PREFIX "deletionlog AS deletionlog ON(deletionlog.primaryid = thread.threadid AND type = 'thread')
            WHERE forumid = 
$thread[forumid] AND lastpost > $thread[lastpost] AND visible = 1 AND open <> 10
            AND deletionlog.primaryid IS NULL
            ORDER BY lastpost
            LIMIT 1
        "
))
        {
            
$threadid $getnextnewest['threadid'];
            unset (
$thread);
        }
        else
        {
            eval(
print_standard_error('error_nonextnewest'));
        }
        break;
    
// *********************************************************************************
    // go to next oldest
    
case 'nextoldest':
        
$thread verify_id('thread'$threadid11);
        if (
$getnextoldest $DB_site->query_first("
            SELECT threadid
            FROM " 
TABLE_PREFIX "thread AS thread
            LEFT JOIN " 
TABLE_PREFIX "deletionlog AS deletionlog ON(deletionlog.primaryid = thread.threadid AND type = 'thread')
            WHERE forumid = 
$thread[forumid] AND lastpost < $thread[lastpost] AND visible = 1 AND open <> 10
            AND deletionlog.primaryid IS NULL
            ORDER BY lastpost DESC
            LIMIT 1
        "
))
        {
            
$threadid $getnextoldest['threadid'];
            unset(
$thread);
        }
        else
        {
            eval(
print_standard_error('error_nonextoldest'));
        }
        break;
    
// *********************************************************************************
    // goto last post
    
case 'lastpost':
        
$threadid intval($_REQUEST['threadid']);
        if (!empty(
$_REQUEST['forumid']))
        { 
// this one needs to stay AS $_REQUEST!
            
$forumid verify_id('forum'$forumid10);

            
$thread $DB_site->query_first("
                SELECT threadid
                FROM " 
TABLE_PREFIX "thread AS thread
                LEFT JOIN " 
TABLE_PREFIX "deletionlog AS deletionlog ON(deletionlog.primaryid = thread.threadid AND type = 'thread')
                WHERE forumid IN (
$foruminfo[childlist]) AND visible = 1 AND (sticky = 1 OR sticky = 0)
                AND lastpost >= " 
. ($foruminfo['lastpost'] - 30) . " AND open <> 10 AND deletionlog.primaryid IS NULL
                ORDER BY lastpost DESC
                LIMIT 1
            "
);
            
$threadid $thread['threadid'];
        }

        if (!empty(
$threadid))
        {
            if (
$getlastpost $DB_site->query_first("
                SELECT MAX(postid) AS postid
                FROM " 
TABLE_PREFIX "post AS post
                LEFT JOIN " 
TABLE_PREFIX "deletionlog AS deletionlog ON(deletionlog.primaryid = post.postid AND type = 'post')
                WHERE threadid = " 
intval($threadid) . " AND visible = 1 AND deletionlog.primaryid IS NULL
                LIMIT 1
            "
))
            {
                if (
$threadedmode != 1// if linear or hybrid
                
{
                    
exec_header_redirect("showthread.php?$session[sessionurl_js]p=$getlastpost[postid]$highlightwords#post$getlastpost[postid]");
                }
                else 
// if threaded
                
{
                    
$postid $getlastpost['postid'];
                }
            }
        }
        break;
    
// *********************************************************************************
    // goto newest unread post
    
case 'newpost':
        
$threadinfo verify_id('thread'$threadid11);

        if ((
$tview fetch_bbarray_cookie('thread_lastview'$threadid)) > $bbuserinfo['lastvisit'])
        {
            
$bbuserinfo['lastvisit'] = $tview;
        }

        
$posts $DB_site->query_first("
            SELECT MIN(postid) AS postid
            FROM " 
TABLE_PREFIX "post
            WHERE threadid = 
$threadinfo[threadid] AND visible = 1 AND dateline > $bbuserinfo[lastvisit]
            LIMIT 1
        "
);
        if (
$posts['postid'])
        {
            
exec_header_redirect("showthread.php?$session[sessionurl_js]p=$posts[postid]$highlightwords#post$posts[postid]");
        }
        else
        {
            
exec_header_redirect("showthread.php?$session[sessionurl_js]t=$threadinfo[threadid]&goto=lastpost$highlightwords");
        }
        break;
    
// *********************************************************************************
}
// end switch($goto)

// *********************************************************************************
// workaround for header redirect issue from forms with enctype in IE
// (use a scrollIntoView javascript call in the <body> onload event)
$onload '';

// *********************************************************************************
// set $perpage

if (!$perpage)
{
    
$perpage $bbuserinfo['maxposts'];
}

$checkmax explode(','$vboptions['usermaxposts'] . ',' $vboptions['maxposts']);
if (
$perpage OR $perpage max($checkmax))
{
    
$perpage $vboptions['maxposts'];
}

// *********************************************************************************
// set post order
if ($bbuserinfo['postorder'] == 0)
{
    
$postorder '';
}
else
{
    
$postorder 'DESC';
}

// *********************************************************************************
// get thread info
$thread verify_id('thread'$threadid11);
$threadinfo = &$thread;

// *********************************************************************************
// check for visible / deleted thread
if ((!$thread['visible'] OR $thread['isdeleted']) AND !can_moderate($thread['forumid']))
{
    
$idname $vbphrase['thread'];
    eval(
print_standard_error('error_invalidid'));
}

// *********************************************************************************
// jump page if thread is actually a redirect
if ($thread['open'] == 10)
{
    
exec_header_redirect("showthread.php?$session[sessionurl_js]t=$thread[pollid]");
}

// *********************************************************************************
// Tachy goes to coventry
if (in_coventry($thread['postuserid']) AND !can_moderate($thread['forumid']))
{
    
$idname $vbphrase['thread'];
    eval(
print_standard_error('error_invalidid'));
}

// *********************************************************************************
// do word wrapping for the thread title
if ($vboptions['wordwrap'] != 0)
{
    
$thread['title'] = fetch_word_wrapped_string($thread['title']);
}

// *********************************************************************************
// words to highlight from the search engine
if (!empty($highlight))
{

    
$highlight preg_replace('#\*+#s''*'$highlight);
    if (
$highlight != '*')
    {
        
$regexfind = array('\*''\<''\>');
        
$regexreplace = array('[\w.:@*/?=]*?''<''>');
        
$highlight preg_quote(strtolower($highlight), '#');
        
$highlight explode(' '$highlight);
        
$highlight str_replace($regexfind$regexreplace$highlight);
        foreach (
$highlight AS $val)
        {
            if (
$val trim($val))
            {
                
$replacewords[] = htmlspecialchars_uni($val);
            }
        }
    }
}

// *********************************************************************************
// make the forum jump in order to fill the forum caches
$curforumid $thread['forumid'];
construct_forum_jump();

// *********************************************************************************
// get forum info
$forum fetch_foruminfo($thread['forumid']);
$foruminfo = &$forum;

// *********************************************************************************
// check forum permissions
$forumperms fetch_permissions($thread['forumid']);
if (!(
$forumperms CANVIEW))
{
    
print_no_permission();
}
if (!(
$forumperms CANVIEWOTHERS) AND ($thread['postuserid'] != $bbuserinfo['userid'] OR $bbuserinfo['userid'] == 0))
{
    
print_no_permission();
}

// *********************************************************************************
// check if there is a forum password and if so, ensure the user has it set
verify_forum_password($foruminfo['forumid'], $foruminfo['password']);

// *********************************************************************************
// get ignored users
$ignore = array();
if (
trim($bbuserinfo['ignorelist']))
{
    
$ignorelist preg_split('/( )+/'trim($bbuserinfo['ignorelist']), -1PREG_SPLIT_NO_EMPTY);
    foreach (
$ignorelist AS $ignoreuserid)
    {
        
$ignore["$ignoreuserid"] = 1;
    }
}
DEVDEBUG('ignored users: ' implode(', 'array_keys($ignore)));

// *********************************************************************************
// filter out deletion notices if can't be seen
if (!($forumperms CANSEEDELNOTICE) AND !can_moderate($threadinfo['forumid']))
{
    
$delthreadlimit "AND deletionlog.primaryid IS NULL";
    
$deljoin "LEFT JOIN " TABLE_PREFIX "deletionlog AS deletionlog ON(post.postid = deletionlog.primaryid AND type = 'post')";
    
$linkdeleted false;
}
else
{
    
$delthreadlimit '';
    
$deljoin '';
    
$linkdeleted true;
}

$show['viewpost'] = iif(can_moderate($thread['forumid']), truefalse);
$show['managepost'] = iif(can_moderate($thread['forumid'], 'candeleteposts') OR can_moderate($thread['forumid'], 'canremoveposts'), truefalse);

// *********************************************************************************
// find the page that we should be on to display this post
if (!empty($postid) AND $threadedmode == 0)
{
    
$postinfo verify_id('post'$postid11);
    
$threadid $postinfo['threadid'];

    
$getpagenum $DB_site->query_first("
        SELECT COUNT(*) AS posts
        FROM " 
TABLE_PREFIX "post AS post
        LEFT JOIN " 
TABLE_PREFIX "deletionlog AS deletionlog ON(deletionlog.primaryid = post.postid AND type = 'post')
        WHERE threadid = 
$threadid AND visible = 1 AND deletionlog.primaryid IS NULL
        AND dateline " 
iif(!$postorder'<=''>=') . $postinfo[dateline]
    "
);
    
$pagenumber ceil($getpagenum['posts'] / $perpage);
}

// *********************************************************************************
// update views counter
if ($vboptions['threadviewslive'])
{
    
// doing it as they happen
    
$DB_site->shutdown_query("
        UPDATE " 
TABLE_PREFIX "thread
        SET views = views + 1
        WHERE threadid = " 
intval($threadinfo['threadid'])
    );
}
else
{
    
// or doing it once an hour
    
$DB_site->shutdown_query("
        INSERT INTO " 
TABLE_PREFIX "threadviews (threadid)
        VALUES (" 
intval($threadinfo['threadid']) . ')'
    
);
}
// ## <ucs>
if ($vboptions['uttpoints_enablesystem'] == '1')
// It's enabled! Yay!
    
if ($thread['postuserid'] != $bbuserinfo['userid'])
    { 
// Don't give points if the user viewing the thread is the one who created it.
        
if ($vboptions['uttpoints_perview'] != '0' && $forum['uttpoints_perview'] != '0')
        { 
// Both needed values are not 0... good.
                
$givethempoints = ($vboptions['uttpoints_perview'] * $forum['uttpoints_perview']);
        }
    }
    if (isset(
$givethempoints))
    { 
// If they get money....
        // Send the query and we're done.
        
$DB_site->shutdown_query("UPDATE ".TABLE_PREFIX $vboptions[uttpoints_pointtable]." SET ".$vboptions[uttpoints_pointsfield]."=".$vboptions[uttpoints_pointsfield]."+".$givethempoints." WHERE userid='$thread[postuserid]'");
    }
}
// ## </ucs>
// *********************************************************************************
// display ratings if enabled
$show['rating'] = false;
if (
$forum['allowratings'] == 1)
{
    if (
$thread['votenum'] > 0)
    {
        
$thread['voteavg'] = vb_number_format($thread['votetotal'] / $thread['votenum'], 2);
        
$thread['rating'] = round($thread['votetotal'] / $thread['votenum']);
        if (
$thread['votenum'] >= $vboptions['showvotes'])
        {
            
$show['rating'] = true;
        }
    }

    
devdebug("threadinfo[vote] = $threadinfo[vote]");

    if (
$threadinfo['vote'])
    {
        
$voteselected["$threadinfo[vote]"] = HTML_SELECTED;
        
$votechecked["$threadinfo[vote]"] = HTML_CHECKED;
    }
    else
    {
        
$voteselected[0] = HTML_SELECTED;
        
$votechecked[0] = HTML_CHECKED;
    }
}

// *********************************************************************************
// get some vars from the referring page in order
// to put a nice back-to-forum link in the navbar
/*
unset($back);
if (strpos($_SERVER['HTTP_REFERER'], 'forumdisplay') !== false)
{
    if ($vars = strchr($_SERVER['HTTP_REFERER'], '&'))
    {
        $pairs = explode('&', $vars);
        foreach ($pairs AS $v)
        {
            $var = explode('=', $v);
            if ($var[1] != '' and $var[0] != 'forumid')
            {
                $back["$var[0]"] = $var[1];
            }
        }
    }
}
*/

// *********************************************************************************
// set page number
if ($pagenumber 1)
{
    
$pagenumber 1;
}
else if (
$pagenumber ceil(($thread['replycount'] + 1) / $perpage))
{
    
$pagenumber ceil(($thread['replycount'] + 1) / $perpage);
}
// *********************************************************************************
// initialise some stuff...
$limitlower = ($pagenumber 1) * $perpage;
$limitupper = ($pagenumber) * $perpage;
$counter 0;
$threadview fetch_bbarray_cookie('thread_lastview'$thread['threadid']);
$displayed_dateline 0

i really dont understand it .. and this mod is very importen .. i give u my showthread.php i have also modify it and i add a few mods so if u can help me to add it ..

thankyou :nervous:

Ocean 02-09-2005 10:52 AM

Quote:

Originally Posted by H2k

I was searching for this mod about week and just know find it

it is the hard mod i ever see .. to install it conf me i dont no what line i should edit or add ..

could u please add for me this mod

i really dont understand it .. and this mod is very importen .. i give u my showthread.php i have also modify it and i add a few mods so if u can help me to add it ..

thankyou :nervous:


H2k, I'm not going to do your work for you.

This is not a difficult hack to install. The instructions are clear - and most of it is a matter of finding a particular line of code and inserting additional code either above or below the section you were asked to find.

If you read the instructions carefully, you should not have a problem installing it.

H2k 02-09-2005 05:38 PM

Hello

let me tell u the truth i always dont like any one to make my job .. becz i like to learn .. but the truth from your mod .. is really hard.. i have add over then 30 mod in my board.. never is ee a hard mod .. like yours..

becz it is really conf.. as my english is bad..

like ud ont see

after this line add
b4 this line add.

i really can't understand the installing file u have.. it is conf .. really i read it over then 20 time .. i try to make evrything and still not work some time give me error some time .. the view thread dose not show .. and so on

ok i need a help from u to let me undersand this ..


Code:

// pre-cache templates used by specific actions
$actiontemplates = array();

I Replace it with

Code:

// pre-cache templates used by specific actions
$actiontemplates = array(

        'whoviewedpopup' => array(
                'WhoViewedTemplate'
        )

);


Fine

Code:

fetch_bbarray_cookie('thread_lastview', $thread['threadid']);
B4 ADD

Code:

// *********************************************************************************
// initialise some stuff...
$limitlower = ($pagenumber - 1) * $perpage;
$limitupper = ($pagenumber) * $perpage;
$counter = 0;
$threadview = fetch_bbarray_cookie('thread_lastview', $thread['threadid']);
$displayed_dateline = 0;


Code:

################################################################################
########################## Who Viewed This Thread ##############################
##########################      CONFIGURATION    ##############################
################################################################################





Know after i add this the last one u tell should i add the code from

Code:

// Section - Check if user has already viewed thread, and add UserID if they have not
TO
Code:

                //redirect back to Pop Up Window
                $url = "showthread.php?$session[sessionurl]do=whoviewedpopup&amp;t=$threadid";
                eval(print_standard_redirect('redirecting'));
       
        }



}

this is i dont understand reasly what code i need to add in this part .. if u can tell me what code .. it will be easy my english is really bad.. and i hope that with your reply u can Tell me example after that put this code.. and iwill be done with this mod

Ocean 02-09-2005 06:40 PM

Quote:

Originally Posted by H2k

Hello

Fine

Code:

fetch_bbarray_cookie('thread_lastview', $thread['threadid']);
B4 ADD

Code:

// *********************************************************************************
// initialise some stuff...
$limitlower = ($pagenumber - 1) * $perpage;
$limitupper = ($pagenumber) * $perpage;
$counter = 0;
$threadview = fetch_bbarray_cookie('thread_lastview', $thread['threadid']);
$displayed_dateline = 0;



That's not the sole amount of code you're supposed to add at that point. You need to add everything BETWEEN



********************************
6. Above, Add:
**********


And this:


********************************

7. Optional Step: In the code you just added in the previous step, there is a Configuration Section. If you wish, you can modify this hack's behavior and permissions there. Instructions can be found within the Configuration Section.

********************************


Quote:

Originally Posted by H2k


Know after i add this the last one u tell should i add the code from

Code:

// Section - Check if user has already viewed thread, and add UserID if they have not
TO
Code:

                //redirect back to Pop Up Window
                $url = "showthread.php?$session[sessionurl]do=whoviewedpopup&amp;t=$threadid";
                eval(print_standard_redirect('redirecting'));
 
        }
 
 
 
}

this is i dont understand reasly what code i need to add in this part .. if u can tell me what code .. it will be easy my english is really bad.. and i hope that with your reply u can Tell me example after that put this code.. and iwill be done with this mod



No, you're not supposed to add anything. Those are not part of the instructions. That's part of the code you should have added in the previous step.

The instructions are all formatted in an identical manner - they are located between single lines of asterisks, and each instructional step is prefixed with that step's Number.

The problem is that you are not looking for where each instruction begins and ends - you are reading the middle of the code and assuming that it's part of the install instructions, which it is not.

There *is* a configuration section - but that is located within code that you are supposed to be adding. Step 7 indicates this, and tells you that you can optionally configure this hack's behavior by editing the Configuration Section - after it's been added in the appropriate place.

Jadelit 02-10-2005 04:42 AM

Is there any way to add the usergroup colors to the list as well?


All times are GMT. The time now is 05:52 PM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01478 seconds
  • Memory Usage 1,980KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (11)bbcode_code_printable
  • (1)bbcode_php_printable
  • (6)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete