Log in

View Full Version : vB Shout in one forum


SiriusBlack22
06-29-2006, 05:32 AM
I asked a guy on a forum that has it working in one forum and he said:

For the shoutbox, all you need to do is add the html code to the forumdisplay template and wrap the code with a template conditional that will only display the shoutbox in forumid=xx

Although I'm greatful for his reply it makes little sense to me. Could someone dumb it down for me?

Thanks!

:banana:

bump

SiriusBlack22
06-30-2006, 07:22 AM
bump

peterska2
06-30-2006, 11:53 AM
<if condition="$forum[forumid]=='x'">vb shout code</if>

Replace the x with the forumid number for the forum in which you wish it to show.

SiriusBlack22
07-02-2006, 06:44 AM
<if condition="$forum[forumid]=='x'">vb shout code</if>

Replace the x with the forumid number for the forum in which you wish it to show.
Where should I place this code?

Thanks for the reply by the way. :D

peterska2
07-02-2006, 08:42 AM
Place it in the forumdisplay template, but that way will probably need changes to the shoutbox plugins and code,

-or-

Install the vBShout on all pages add on which makes changes to the code to make it available for global useage, then instead of putting the code in the navbar template as instructed by those instructions, place in the forumdisplay template under $navbar

SiriusBlack22
07-02-2006, 11:29 PM
which code do I put in the forumdisplay template? How much do I follow their steps and then branch off into my own?

peterska2
07-02-2006, 11:32 PM
follow until it gets to the template edit, then what it says to put in the navbar put into forumdisplay and put your conditional around it.

utw-Mephisto
07-03-2006, 12:24 AM
I asked the same a while back on vb.com

The only difference though, I also installed the hack to display it on all forums, but then this ;

http://www.vbulletin.com/forum/showthread.php?t=185031

SiriusBlack22
07-03-2006, 12:03 PM
I put this code in the forumdisplay template:


<if condition="$forum[forumid]=='4'">$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";
}
}
}
}



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 = '<!-- / nav buttons bar -->';
$vbulletin->templatecache['navbar'] = str_replace($Position, $Position . '<br /> $Shoutbox', $vbulletin->templatecache['navbar']);</if>


But I get this error:


The following error occurred when attempting to evaluate this template:

Parse error: parse error, unexpected ']', expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/hpinacti/public_html/includes/adminfunctions_template.php(3537) : eval()'d code on line 34

This is likely caused by a malformed conditional statement. It is highly recommended that you fix this error before continuing, but you may continue as-is if you wish.

wilhelm32
07-03-2006, 10:07 PM
$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";
}
}
}
}



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 = '<!-- / nav buttons bar -->';
$vbulletin->templatecache['navbar'] = str_replace($Position, $Position . '<br /> $Shoutbox', $vbulletin->templatecache['navbar']);

is this code you would put in a template??

utw-Mephisto
07-03-2006, 10:10 PM
I used to run this in one forum and I have to install it today anyway .. once done I post the solution

There you go :
https://vborg.vbsupport.ru/showthread.php?p=1021708