DjTaz |
05-06-2006 08:07 PM |
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 :
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
into the WHOSONLINE template where you want it.
Hope that helps a few people out with this.
|