View Single Post
  #1  
Old 07-05-2006, 09:55 PM
utw-Mephisto utw-Mephisto is offline
 
Join Date: Jan 2005
Posts: 648
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Opt out forum IDs

We use this product to show a link for unread posts ... we would like to opt out certain forum IDs .. one solution from the author of this is to disable the search for those forums .. but this is hardly a solution for our forum ...

Does someone got an idea how to opt out forumids when looking into the code ?

Code:
  <?xml version="1.0" encoding="ISO-8859-1" ?> 
- <product productid="paulm_20050918" active="0">
  <title>Display Unread Posts</title> 
  <description>Display the number of posts you have marked as unread.</description> 
  <version>1.02</version> 
- <codes>
  <code version="0.00" /> 
  </codes>
  <templates /> 
- <plugins>
- <plugin active="1">
  <title>Display All Unread Posts</title> 
  <hookname>global_start</hookname> 
- <phpcode>
- <![CDATA[ $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='search.php?do=getnew'><b>" . $unread . "</b></a> since your last visit.<br />";
	}
	else
	{
		$unread = "You have <a href='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']);
}
  ]]> 
  </phpcode>
  </plugin>
  </plugins>
- <phrases>
- <phrasetype name="vBulletin Settings" fieldname="vbsettings">
- <phrase name="setting_unreadlv_desc">
- <![CDATA[ Set to 'yes' to use last visit date, 'no' to count all posts marked as unread.
  ]]> 
  </phrase>
- <phrase name="setting_unreadlv_title">
- <![CDATA[ Display Unread Posts Option
  ]]> 
  </phrase>
  </phrasetype>
  </phrases>
- <options>
- <settinggroup name="general" displayorder="30">
- <setting varname="unreadlv" displayorder="370">
  <datatype>boolean</datatype> 
  <optioncode>yesno</optioncode> 
  <defaultvalue>1</defaultvalue> 
  </setting>
  </settinggroup>
  </options>
  </product>
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01156 seconds
  • Memory Usage 1,799KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_code
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.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/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • showpost_complete