Thread: New Posting Features - LAM - Dispute Resolution
View Single Post
  #75  
Old 07-18-2011, 05:25 PM
CheeSie's Avatar
CheeSie CheeSie is offline
 
Join Date: Sep 2006
Location: Denmark
Posts: 65
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by mawby View Post
Advanced Warning

Given it doesn't work properly, I intend to remove the Extra Privacy mode form the product in the next release. If I get this working properly in the furture I'll put it back in, but for now I don't want to support an option that doesn't work as it just causes grief for everyone.
Here's what to do..

Plugin: LAM - Hide Thread Completely (Extra Privacy)
What has changed: This removes any information provided by forum permissions as to which threads to show and forces it to only show your own disputes or disputes you're involved in. Still only applies when Extra Privacy is eanbled
New code
Code:
if ($vbulletin->options['LAM_DisputeResolution_PrivateDisputes'] AND $vbulletin->options['LAM_DisputeResolution_ReallyPrivateDisputes']) {
	if (($vbulletin->options['LAM_DisputeResolution_GlobalEnable'] || in_array($foruminfo['forumid'], explode(',', $vbulletin->options['LAM_DisputeResolution_DisputeForumIDs']))) AND !can_moderate($foruminfo['forumid'])) {
		$limitothers = str_replace(
			"AND postuserid = " . $vbulletin->userinfo['userid'] . " AND " . $vbulletin->userinfo['userid'] . " <> 0",
			"",
			$limitothers . "AND (postuserid = " . $vbulletin->userinfo['userid'] . " OR " . $vbulletin->userinfo['userid'] . " IN (LAM_DisputeResolution))"
		);
	}
}
Plugin: LAM - No Permission Message (View)
What has changed: As before we're checking if we should apply all these things (Extra Privacy only). If the user is tagged in a dispute we add the "canviewothers" permissions (as they might have been disabled by the forum permissions - maybe add an option in the settings bit to enable/disable disputees from replying or just viewing the threads they've been tagged in). Still shows your error message if the user isn't supposed to view the thread.
New code
Code:
if ($vbulletin->options['LAM_DisputeResolution_PrivateDisputes'] AND $vbulletin->options['LAM_DisputeResolution_ReallyPrivateDisputes']) {
	if (($vbulletin->options['LAM_DisputeResolution_GlobalEnable'] || in_array($threadinfo['forumid'], explode(',', $vbulletin->options['LAM_DisputeResolution_DisputeForumIDs']))) AND !can_moderate($threadinfo['forumid'])) {
		if($threadinfo['LAM_DisputeResolution'] AND $vbulletin->userinfo['userid'] != $threadinfo['postuserid']){
			//Allow user to see thread content if they've been tagged as a disputee in
			if(in_array($vbulletin->userinfo['userid'], explode(',', $threadinfo['LAM_DisputeResolution']))){
				$vbulletin->userinfo['forumpermissions'][$threadinfo['forumid']] |= $vbulletin->bf_ugp_forumpermissions['canviewothers'];
			}else{
				//Make sure they do not view the thread content
				eval(standard_error(fetch_error('LAM_DisputeResolution_NoPermission')));
			}
		}
	}
}
Both pieces of new code has been tested (and is running) on my site http://darkztar.com/
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01155 seconds
  • Memory Usage 1,778KB
  • 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
  • (2)bbcode_code
  • (1)bbcode_quote
  • (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