View Single Post
  #1709  
Old 05-06-2006, 08:07 PM
DjTaz DjTaz is offline
 
Join Date: Apr 2003
Posts: 251
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hey Guys i have two things to say here :

First if you have an issue with this hack , it has more than likely been answered already (the quote issue, the server load issue, the height , the commands to clear the shouts,auto pruning shouts .... pretty much everything ) so PLEASE read the thread and look for it. I went through almost all of the posts on this thread - and about 50% of them are people asking the same questions over and over.

Secondly - something that hasnt been answered is this :
How to put the shoutbox on the Arcade main page , and heres how you do it.

In your AdminCP - go to Plugin Manager- Add a plugin

Product : Vbulletin
Product Hook Location : arcade_main_complete
Title : VbShout Arcade
Plugin PHP Code :
Code:
$Used    = 0;
$UsedArr = array();
$smilies = $db->query_read("
		SELECT smilieid, smilietext, smiliepath, smilie.title,
		imagecategory.title AS category
		FROM " . TABLE_PREFIX . "smilie AS smilie
		LEFT JOIN " . TABLE_PREFIX . "imagecategory AS imagecategory USING(imagecategoryid)
		ORDER BY imagecategory.displayorder, smilie.displayorder
	");
$Smilie_Build  = '';
$Total_Smilies = $db->num_rows($smilies);

if ($Total_Smilies > 0)
{
	while ($emo = $db->fetch_array($smilies))
	{
		if ($vbulletin->options['shout_smilies_show'] > 0)
		{ 
			$Smilie_Cache[] = $emo;
		}
		else
		{
			$Smilie_Build .= '<a href="#" onclick="return sb_Smilie(\''.$emo['smilietext'].'\')"><img src="'.$emo['smiliepath'].'" alt="'.$emo['title'].'" border="0" /></a> ';
		}
	}

	if ($vbulletin->options['shout_smilies_show'] > $Total_Smilies)
	{
		$vbulletin->options['shout_smilies_show'] = $Total_Smilies;
	}

	if ($vbulletin->options['shout_smilies_show'] > 0)
	{
		while ($Used < $vbulletin->options['shout_smilies_show'])
		{
			$GetEmo = $Total_Smilies;
			$GetEmo = rand(0, $GetEmo);

			if (!in_array($GetEmo, $UsedArr) && $Smilie_Cache[$GetEmo])
			{
				$Used++;
				$GetEmo = $Smilie_Cache[$GetEmo];
				$Smilie_Build .= '<a href="#" onclick="return sb_Smilie(\''.$GetEmo['smilietext'].'\')"><img src="'.$GetEmo['smiliepath'].'" alt="'.$GetEmo['title'].'" border="0" /></a> ';
			}
		}
	}
}
else
{
	$Smilie_Build = 'No Emoticons Available';
}

$Options_DropDown         = array(); // Items included will be parsed to create drop down menus
$DropDowns                = array(); // Completed constructed drop down menus

$Options_DropDown['font_selector']    = array('Default', 'Arial', 'Arial Black', 'Arial Narrow', 'Book Antiqua', 'Century Gothic', 'Comic Sans MS', 'Courier New', 'Fixedsys', 'Franklin Gothic Medium', 'Garamond', 'Georgia', 'Impact', 'Lucida Console', 'Lucida Sans Unicode', 'Microsoft Sans Serif', 'Palatino Linotype', 'System', 'Tahoma', 'Times New Roman', 'Trebuchet MS', 'Verdana');
$Options_DropDown['color_selector']   = array();
$Options_DropDown['color_selector'][] = 'Default';

$hex   = array();
$hex[] = '0';
$hex[] = '3';
$hex[] = '6';
$hex[] = '9';
$hex[] = 'C';
$hex[] = 'F';

for ($a = 0; $a < 6; $a++)
{
	for ($b = 0; $b < 6; $b++)
	{
		for ($c = 0; $c < 6; $c++)
		{
			$Options_DropDown['color_selector'][] = '#' . $hex[$a].$hex[$a].$hex[$b].$hex[$b].$hex[$c].$hex[$c];
		}
	}
}

if (is_array($Options_DropDown))
{
	foreach ($Options_DropDown as $Menu => $Options)
	{
		$DropDowns[$Menu] = '';
		if (is_array($Options))
		{
			foreach ($Options as $Selection)
			{
				if (preg_match("#^\#([a-z0-9]+)$#i", $Selection))
				{
					$Extra = ' style="color:'.$Selection.';"';
				}
				else
				{
					$Extra = '';
				}

				if ($Selection == 'Default')
				{
					$Text = (($Menu == 'color_selector') ? 'Color' : 'Font Face') . ' [Default]';
				}
				else
				{
					$Text = $Selection;
				}

				$DropDowns[$Menu] .= '<option value="'.$Selection.'"'.$Extra.'>'.$Text.'</option>' . "\n";
			}
		}
	}
}

function isBanned($user)
{
	return (isBanned_Check($user['userid'], 'shout_banned_users') || isBanned_Check($user['usergroupid'], 'shout_banned_usergroups'));	
}

function isBanned_Check($bash, $against)
{
	global $vbulletin;
	return in_array($bash, iif($vbulletin->options[$against], explode(',', $vbulletin->options[$against]), array()));
}

if ($vbulletin->options['shout_banned_perms'] == 2 && isBanned($vbulletin->userinfo))
{
	$Shoutox = '';
}
else
{
	eval('$Shoutbox = "' . fetch_template('forumhome_vbshout') . '";');
}

	switch ($vbulletin->options['shout_position'])
	{
		case 1:
			$Position = '<!-- what\'s going on box -->';
		break;

		case 2:
			$Position = '<!-- end what\'s going on box -->';
		break;

		case 4:
			$Position = '<!-- main -->';
		break;

		default:
			$Position = '$navbar';
		break;
	}



$Position = '<--shoutbox-->'; 
$vbulletin->templatecache['arcade_main'] = str_replace($Position, ' $Shoutbox', $vbulletin->templatecache['arcade_main']);

Save and ACTIVATE the plugin.

The go to the arcade_main template and put the in this code where you want the shoutbox to be placed :

Code:
<--shoutbox-->
I put mine just under $navbar for anyone who wants it there (its pretty neat there)

If you want to put this on any other page (like say the WHOSONLINE page) - do another plugin up and change the settings at the very end of the code from :
Code:
 
$vbulletin->templatecache['arcade_main'] = str_replace($Position, ' $Shoutbox', $vbulletin->templatecache['arcade_main']);
to
Code:
$vbulletin->templatecache['WHOSONLINE'] = str_replace($Position, ' $Shoutbox', $vbulletin->templatecache['WHOSONLINE']);
and place the

Code:
<--shoutbox-->
into the WHOSONLINE template where you want it.


Hope that helps a few people out with this.
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01096 seconds
  • Memory Usage 1,791KB
  • 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
  • (5)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