This a modified version of Hanne's shoutbox
Changes:
autorefresh - 3minutes
bbcode support
only latest 70 shouts are shown
blank post will not be posted (but post with a space " " will be added )
SQL for shoutbox:.
Code:
CREATE TABLE `shoutbox` (
`id` smallint(6) NOT NULL auto_increment,
`userid` smallint(6) NOT NULL default '0',
`username` varchar(25) NOT NULL default '',
`date` int(11) NOT NULL default '0',
`text` text NOT NULL,
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1;
in
global.php above
Code:
//-------- Begins a main frame
function begin_main_frame()
add this
Code:
function textbbcode($form,$name,$content="") {
?>
<script language=javascript>
function SmileIT(smile,form,text){
document.forms[form].elements[text].value = document.forms[form].elements[text].value+" "+smile+" ";
document.forms[form].elements[text].focus();
}
function PopMoreSmiles(form,name) {
link='moresmiles.php?form='+form+'&text='+name
newWin=window.open(link,'moresmile','height=500,width=450,resizable=no,scrollbars=yes');
if (window.focus) {newWin.focus()}
}
function PopMoreTags(form,name) {
link='moretags.php?form='+form+'&text='+name
newWin=window.open(link,'moresmile','height=500,width=775,resizable=no,scrollbars=yes');
if (window.focus) {newWin.focus()}
}
function BBTag(tag,s,text,form){
switch(tag)
{
case '";
document.forms[form].elements[s].value="QUOTE ";
}
break;
case '[img]':
if (document.forms[form].elements[s].value=="IMG ")
{
document.forms[form].elements[text].value = document.forms[form].elements[text].value+"[img]";
document.forms[form].elements[s].value="IMG*";
}
else
{
document.forms[form].elements[text].value = document.forms[form].elements[text].value+"[/img]";
document.forms[form].elements[s].value="IMG ";
}
break;
case '[url="http://':%20%20%20%20if%20(document.forms%5bform%5d.elements%5bs%5d.value=="URL%20")%20%20%20%20%20%20%20{%20%20%20%20%20%20%20%20document.forms%5bform%5d.elements%5btext%5d.value%20=%20document.forms%5bform%5d.elements%5btext%5d.value+"%5burl%5d";%20%20%20%20%20%20%20%20document.forms%5bform%5d.elements%5bs%5d.value="URL*";%20%20%20%20%20%20%20%20}%20%20%20%20%20%20%20else%20%20%20%20%20%20%20%20%20%20%20{%20%20%20%20%20%20%20%20%20%20%20document.forms%5bform%5d.elements%5btext%5d.value%20=%20document.forms%5bform%5d.elements%5btext%5d.value+""]':
if (document.forms[form].elements[s].value=="URL ")
{
document.forms[form].elements[text].value = document.forms[form].elements[text].value+"";
document.forms[form].elements[s].value="URL*";
}
else
{
document.forms[form].elements[text].value = document.forms[form].elements[text].value+"";
document.forms[form].elements[s].value="URL ";
}
break;
case '[*]':
if (document.forms[form].elements[s].value=="List ")
{
document.forms[form].elements[text].value = document.forms[form].elements[text].value+"[*]";
}
break;
case '[b]':
if (document.forms[form].elements[s].value=="B ")
{
document.forms[form].elements[text].value = document.forms[form].elements[text].value+"";
document.forms[form].elements[s].value="B*";
}
else
{
document.forms[form].elements[text].value = document.forms[form].elements[text].value+"";
document.forms[form].elements[s].value="B ";
}
break;
case '[i]':
if (document.forms[form].elements[s].value=="I ")
{
document.forms[form].elements[text].value = document.forms[form].elements[text].value+"";
document.forms[form].elements[s].value="I*";
}
else
{
document.forms[form].elements[text].value = document.forms[form].elements[text].value+"";
document.forms[form].elements[s].value="I ";
}
break;
case '[u]':
if (document.forms[form].elements[s].value=="U ")
{
document.forms[form].elements[text].value = document.forms[form].elements[text].value+"";
document.forms[form].elements[s].value="U*";
}
else
{
document.forms[form].elements[text].value = document.forms[form].elements[text].value+"";
document.forms[form].elements[s].value="U ";
}
break;
}
document.forms[form].elements[text].focus();
}
</script>
<table width="100%" style='margin: 3px' cellpadding="0" cellspacing="0">
<tr>
<td class=embedded colspan=2>
<table cellpadding="2" cellspacing="1">
<tr>
<td class=embedded><input style="font-weight: bold;" type="button" name="bold" value="B " onclick="java script: BBTag('[b]','bold','<? echo $name; ?>','<? echo $form; ?>')" /></td>
<td class=embedded><input style="font-style: italic;" type="button" name="italic" value="I " onclick="java script: BBTag('[i]','italic','<? echo $name; ?>','<? echo $form; ?>')" /></td>
<td class=embedded><input style="text-decoration: underline;" type="button" name="underline" value="U " onclick="java script: BBTag('[u]','underline','<? echo $name; ?>','<? echo $form; ?>')" /></td>
<td class=embedded><input type="button" name="li" value="List " onclick="java script: BBTag('[*]','li','<? echo $name; ?>','<? echo $form; ?>')" /></td>
<td class=embedded><input type="button" name="quote" value="QUOTE " onclick="java script: BBTag('[quote]','quote','<? echo $name; ?>','<? echo $form; ?>')" /></td>
<td class=embedded><input type="button" name="url" value="URL " onclick="java script: BBTag('[url]','url','<? echo $name; ?>','<? echo $form; ?>')" /></td>
<td class=embedded><input type="button" name="img" value="IMG " onclick="java script: BBTag('[img]','img','<? echo $name; ?>','<? echo $form; ?>')" /></td>
<td class=embedded>*<? echo MORE_TAGS;?></td>
</tr>
</table>
</td>
</tr>
<tr>
<td class=embedded>
<textarea name="<? echo $name; ?>" rows="15" cols="80"><? echo $content; ?></textarea>
</td>
<td class=embedded>
<table cellpadding="3" cellspacing="1">
<?
global $smilies, $BASEURL;
while ((list($code, $url) = each($smilies)) && $count<20) {
if ($count % 4==0)
print("<tr>");
print("\n<td class=embedded style='padding: 3px; margin: 2px'><a href=\"java script: SmileIT('".str_replace("'","\'",$code)."','$form','$name')\"><img border=0 src=pic/smilies/".$url."></a></td>");
$count++;
if ($count % 4==0)
print("</tr>");
}
?>
</table>
<center><? echo MORE_SMILES;?></center>
</td>
</tr>
</table>
<?
}
Add this code in
index.php.. (i added it just below the News section)
Code:
//// Shoutbox
print("<h2>Shoutbox:.");
print("<table width='100%' border='1' cellspacing='0' cellpadding='1'><tr><td class=text>\n");
print("<iframe src='shoutbox.php' width='100%' height='80' frameborder='0' name='sbox' marginwidth='0' marginheight='0'></iframe>
\n");
print("<form action='shoutbox.php' method='get' target='sbox' name='shbox' onSubmit=\"mySubmit()\">\n");
print("<center>Message: <input type='text' maxlength=140 name='shbox_text' size='100'> <input type='submit' value='Post it'> <input type='hidden' name='sent' value='yes'>\n");
print("</td></tr></table></form>");
////
but remember.. all the bbcodes will work on the shoubox.. it will look a bit wierd if people shout images, quote etc.. i did this to enable smilie support..
If anyone can write some code for not including tags like [img], etc.. that would be great :D
save the attached
shoutbox.php from the shoutbox.rar to your site root.
ashkarkm@tbdev.net
http://www.tbdev.net/index.php?showtopic=4011&hl=