Back to vBulletin 3.6 Add-ons

vBShout v2.0 on CMPS v3.0 RC2
Mod Version: 1.00, by anzo

This modification is in the archives.
vB Version: 3.6.8 Rating: (0 vote - 0 average) Installs: 15
Released: 23 Nov 2007 Last Update: Never Downloads: 36
Not Supported Uses Plugins Re-usable Code Translations  

This is our first hack.

I couldn't find a CMPS module to place a working vBShout v2 on http://www.vbadvanced.com/products.php?do=productinfo&productid=4. When I used the original hack, all I got was the "Loading..." message. So I've asked http://dzin.lv/en/ to take a look and they came up with a solution.

We hadn't had a chance to test it on other boards, but it works http://latforums.lv/, so I hope it'll also work for you. If not, post here and we'll try to figure it out.

For some reason I can't create a correct uploadable version of this module, so here's the manual installation:

INSTALLATION

1. Create a new template module: vBa CMPS > Add Module > [Template Module]

2. Fill in necessary fields, enter the following code into the Template Content field:

Code:
<td class="alt1" align="left" width="100%">
	<form action="vbshout.php?{$session['sessionurl']}" method="post" name="vbshoutform" onsubmit="return postShout(this)">
		<input type='hidden' name='do' value='shout' />
		<input type='hidden' name='color' />
		<input type='hidden' name='fontFamily' />
		<input type='hidden' name='fontWeight' />
		<input type='hidden' name='textDecoration' />
		<input type='hidden' name='fontStyle' />
	<if condition="!$vboptions[shout_editor_position]">
		<if condition="$bbuserinfo[userid] > 0">
			<table width='100%' border='0' cellpadding='0' cellspacing='0'>
				<tr>
					<td width='100%'>
						<input type="text" name="shout" style="width: 90%" class="bginput" />
						</td>
						<td style='white-space:nowrap' width='1%'>
							<input type="submit" value="Shout" class="button" />
							<if condition="$vboptions[shout_extra_options]">
							<input type='button' class='button' value='Clear' onclick='sb_Clear()' />
							</if>
						</td>
					</tr>
					</table>
					<div style="height: 2px"></div>
					</if>
				</if>
					<div id="vbshout" style="overflow:auto;height:{$vboptions['shout_box_height']}px;width:100%;">
						Loading...
					</div>
				<if condition="$vboptions[shout_editor_position]">
					<if condition="$bbuserinfo[userid] > 0">
					<div style="height: 2px"></div>
					<table width='100%' border='0' cellpadding='0' cellspacing='0'>
					<tr>
						<td width='100%'>
							<input type="text" name="shout" style="width: 90%" class="bginput" />
						</td>
						<td style='white-space:nowrap' width='1%'>
							<input type="submit" value="Shout" class="button" />
							<if condition="$vboptions[shout_extra_options]">
							<input type='button' class='button' value='Clear' onclick='sb_Clear()' />													
							</if>
						</td>
					</tr>
					</table>
					</if>
				</if>
				</form>
				</td>
<script type='text/javascript'>
<!--
postingShout = false
function requestShouts()
{
	if (!postingShout)
	{
		ShoutRequest = new vB_AJAX_Handler(true)
		ShoutRequest.onreadystatechange(showShouts)
		ShoutRequest.send('vbshout.php', 'nocache=' + (5 * Math.random() * 1.33) )
	}
}
function showShouts()
{
	if (ShoutRequest)
	{
		if (ShoutRequest.handler.readyState == 4 && ShoutRequest.handler.status == 200 && ShoutRequest.handler.responseText)
		{
			Shouts           = fetch_object('vbshout')
			Shouts.innerHTML = '<table cellpadding="1" cellspacing="3" border="0" width="95%" align="left">' + ShoutRequest.handler.responseText + '</table>'
			setTimeout('requestShouts()', 10000)
			<if condition="$vboptions[shout_messages_order]">
			document.getElementById('vbshout').scrollTop = 99999;
			</if>
		}
	}
}
function sb_CollectHV(sbForm)
{
	rString = ''
	inputObjs = sbForm.getElementsByTagName('input')
	for (i = 0; i < inputObjs.length; i++)
	{
		if (inputObjs[i].type == 'hidden' && inputObjs[i].value != '')
		{
			rString += '&' + inputObjs[i].name + '=' + PHP.urlencode(inputObjs[i].value)
		}
	}
	return rString
}
function postShout(formObj)
{
	doShout = new vB_AJAX_Handler(true)
	doShout.onreadystatechange(postedShout)
	if (postingShout)
	{
		alert('Posting in progress..')
		return false
	}
	Shout = formObj.shout.value
	if (Shout.replace(/ /g, '') == '')
	{
		alert('You must enter a shout!')
		return false
	}
	doShout.send('vbshout.php', 'do=shout&shout=' + PHP.urlencode(Shout) + sb_CollectHV(document.forms['vbshoutform']))
	sb_Clear()
	postingShout = true
	return false
}
function postedShout()
{
	if (doShout.handler.readyState == 4 && doShout.handler.status == 200)
	{
		postingShout = false
		requestShouts()
	}
}
function sb_Input_SC(sProperty, setting)
{
	eval('document.forms["vbshoutform"].shout.style.' + sProperty + ' = "' + setting + '"')
	eval('document.forms["vbshoutform"].' + sProperty + '.value = "' + setting + '"')
}
function getSelectionValue(eSelector)
{
	return eSelector.options[eSelector.options.selectedIndex].value == 'Default' ? '' : eSelector.options[eSelector.options.selectedIndex].value
}
function sb_PropChange(eSelector, sProperty)
{
	sb_Input_SC(sProperty, getSelectionValue(eSelector))
}
function sb_PropChange_Button_Value(sProperty)
{
	trueValue = ''
	switch (sProperty)
	{
		case 'fontWeight':
		falseValue = 'bold'
		break;
		case 'textDecoration':
		falseValue = 'underline'
		break;
		case 'fontStyle':
		falseValue = 'italic'
		break;
	}
	return (eval('document.forms["vbshoutform"].' + sProperty + '.value'))? trueValue : falseValue
}
function sb_PropChange_Button_Value(sProperty)
{
	trueValue = ''
	switch (sProperty)
	{
		case 'fontWeight':
		falseValue = 'bold'
		break;
		case 'textDecoration':
		falseValue = 'underline'
		break;
		case 'fontStyle':
		falseValue = 'italic'
		break;
	}
	return (eval('document.forms["vbshoutform"].' + sProperty + '.value'))? trueValue : falseValue
}
function sb_PropChange_Button(cButton, sProperty)
{
	if (cButton.value.match(/\*/))
	{
		cButton.value = cButton.value.replace(/\s+\*/, '')
	}
	else
	{
		cButton.value = cButton.value + ' *'
	}
	sb_Input_SC(sProperty, sb_PropChange_Button_Value(sProperty))
}
function sb_Smilie(code)
{
	document.forms["vbshoutform"].shout.value += ' ' + code
	return false
}
function sb_Clear()
{
	document.forms["vbshoutform"].shout.value = ''
	return true;
}
function sb_Smilies(cButton)
{
	if (cButton.value.match(/\*/))
	{
		cButton.value = cButton.value.replace(/\s+\*/, '')
	}
	else
	{
		cButton.value = cButton.value + ' *'
	}
	document.getElementById('shout_emo').style.display = (document.getElementById('shout_emo').style.display == 'none')? '' : 'none'
}
requestShouts()
-->
</script>
3. Press Save.

Download

No files for download.

Similar Mods

[AJAX] vBShout v2 on your vBadvanced CMPS v2! vBulletin 3.5 Add-ons
vBa CMPS: Dynamic Navigation menu - all your Custom CMPS Pages vBulletin 3.0 Full Releases

vblts.ru supports vBulletin®, 2022-2024