vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   Modification Graveyard (https://vborg.vbsupport.ru/forumdisplay.php?f=224)
-   -   Miscellaneous Hacks - Display Unread Posts and New Reputation Comments (https://vborg.vbsupport.ru/showthread.php?t=197485)

Morrus 09-16-2010 10:12 PM

OK, found it in the XML file.

I tried replacing the reference to "usercp?" with "member.php?$session[sessionurl]u=$bbuserinfo[userid]" but that doesn't work.

Anyone got any ideas what I need to put there to have it go to the user's profile page?

Paul M 09-17-2010 10:41 AM

Why dont you just enable your reputation display in your usercp.

Morrus 09-17-2010 11:05 AM

Because I can't find the control to do so. As far as I can tell from the AdminCp it is set to show. The code must have gotten deleted from the USERCP temlpate somehow.

Paul M 09-17-2010 07:23 PM

Sounds unlikely, are you sure you havent just disabled it in your usercp ?

Morrus 09-17-2010 07:53 PM

Quote:

Originally Posted by Paul M (Post 2099767)
Sounds unlikely, are you sure you havent just disabled it in your usercp ?

Yes, I am sure.

It may have sounded unlikely, but the code was missing. I copied it over from someone else's vBulletin board, and now it's back. Thanks to that person for their help.

Tourmeister 10-22-2010 04:17 AM

Can't think of a better place to ask this, so here it goes.

What I have is a forum section with several subforums that are populated using the RSS feed system in VB. People want to be able to see these forums, but because of the number of threads, they don't want them showing up in the search results for unread posts. So using the new version of the Unread Posts mod in conjunction with the Selective Forum Filter won't work because that would prevent them from seeing the subforums at all.

The code below is from the Unread Posts mod version I have installed (version 1.02). So what I am hoping is that it might be a simple case of just adding a conditional or something to the PHP code to force the exclusion of those subforums from the search all the time. The problem is I don't know squat about coding in PHP. Can someone please indicate what I would have to add/change to accomplish this?

Code:

$unread = "";
if ($vbulletin->userinfo['userid'] AND $vbulletin->options['threadmarking'])
{
        $unread = "No unread posts";

        $xforum_ids = array_keys($vbulletin->forumcache);

        foreach ($xforum_ids AS $key => $xforum_id)
        {
                $xfperms = & $vbulletin->userinfo['forumpermissions']["$xforum_id"];
                $xforum = & $vbulletin->forumcache["$xforum_id"];
                if ( !($xfperms & $vbulletin->bf_ugp_forumpermissions['canview']) OR !($xfperms & $vbulletin->bf_ugp_forumpermissions['cansearch']))
                {
                        unset($xforum_ids["$key"]);
                }
        }

        if (empty($xforum_ids))
        {
                $xforum_list = "0";
        }
        else
        {
                $xforum_list = implode(', ', $xforum_ids);
        }

        if ($vbulletin->options['unreadlv'])
        {
                $cutoff = $vbulletin->userinfo['lastvisit'];
        }
        else
        {
                $cutoff = TIMENOW - ($vbulletin->options['markinglimit'] * 86400);
        }

        $postcount = $vbulletin->db->query_first("
                SELECT COUNT(post.postid) as unread
                FROM " . TABLE_PREFIX . "post as post
                INNER JOIN " . TABLE_PREFIX . "thread as thread ON (thread.threadid = post.threadid)
                LEFT JOIN " . TABLE_PREFIX . "threadread AS threadread ON (threadread.threadid = thread.threadid AND threadread.userid = " . $vbulletin->userinfo['userid'] . ")
                INNER JOIN " . TABLE_PREFIX . "forum AS forum ON (forum.forumid = thread.forumid)
                LEFT JOIN " . TABLE_PREFIX . "forumread AS forumread ON (forumread.forumid = forum.forumid AND forumread.userid = " . $vbulletin->userinfo['userid'] . ")
                WHERE thread.forumid IN($xforum_list)
                AND thread.sticky IN (0,1) AND thread.visible IN (0,1,2)
                AND thread.lastpost > IF(threadread.readtime IS NULL, $cutoff, threadread.readtime)
                AND thread.lastpost > IF(forumread.readtime IS NULL, $cutoff, forumread.readtime)
                AND thread.lastpost > $cutoff
                AND post.dateline > IF(threadread.readtime IS NULL, $cutoff, threadread.readtime)
                AND post.dateline > IF(forumread.readtime IS NULL, $cutoff, forumread.readtime)
                AND post.dateline > $cutoff
        ");

        if ($postcount['unread'])
        {
                if ($postcount['unread'] == 1)
                {
                        $unread = "1 Unread Post";
                }
                else
                {
                        $unread = $postcount['unread']." Unread Posts";
                }
        }

        if ($vbulletin->options['unreadlv'])
        {
                $unread = "<a href='/forums/search.php?do=getnew'><b>" . $unread . "</b></a> since your last visit.<br />";
        }
        else
        {
                $unread = "You have <a href='/forums/search.php?do=getnew'><b>" . $unread . "</b></a><br />";
        }

        $search_text = '</strong><br />';
        $vbulletin->templatecache['navbar'] = str_replace($search_text,$search_text.$unread,$vbulletin->templatecache['navbar']);
}

Thanks.

Paul M 10-22-2010 03:16 PM

Version 1.02 ? Thats ancient vb3.5 code !

If you change the forum option "Index New Posts in Search Engine" to no, they will be excluded. Other than that it would require a bit of new code.

Tourmeister 10-25-2010 04:41 PM

Quote:

Originally Posted by Paul M (Post 2112804)
Version 1.02 ? Thats ancient vb3.5 code !

Yeah, I know it is ancient code, hehe. However, when we tried upgrading to one of the newer versions a while back, we kept having server load spikes that would shut down our site. When we reviewed the logs it constantly showed that it was queries by the Unread Post mod that were causing the spikes. When we disabled the mod, the spikes stopped. When we re-enabled it, they started again. The old version was working fine so we just stayed with it. I have not tried the latest version though, which I may do since it appears you have released a new version or two since we last tried.

Quote:

If you change the forum option "Index New Posts in Search Engine" to no, they will be excluded. Other than that it would require a bit of new code.
I have tried that. It works for some users but not others. What is strange is that all the users are in the same default "Registered Users" usergroup. I even set the permissions for the RSS feed forum so that Registered Users can't search it.

If I upgrade to the new version of the mod, does it have a setting that lets me exclude individual forum sections from the search but would still allow users to see those forums if they want to view them?

Tourmeister 10-25-2010 06:05 PM

Problem solved.

I have the forum properties for "Index New Posts in Search Engine" set to NO. But your comment got me to thinking...

I did not have the forum permissions for ALL usergroups set to NO for searching as well. I had the default "Registered Users" set to NO for searching, but some of those users are also members of other additional usergroups whose permissions for searching searching the forum were still set to yes. The forum permission system will always pick the yes if there is a conflict between settings in different places. I set ALL those other groups to NO as well, and now everything works fine!

Thanks!

khurtsiya 12-13-2010 07:29 PM

is it possible to insert this count near the link New Posts in navbar? F.e.:

New Posts (429)


All times are GMT. The time now is 04:15 AM.

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.01273 seconds
  • Memory Usage 1,756KB
  • 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
  • (1)bbcode_code_printable
  • (3)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (1)pagenav_pagelinkrel
  • (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