Jul 9, 2008

Simple Shoutbox? - I only know the echo part of php...

Free Web Hosting, No Ads > CONTRIBUTE > Computers > Programming Languages > PHP Programming
Pages: 1, 2

free web hosting

Simple Shoutbox? - I only know the echo part of php...

Joshthegreat
Well, does anyone have a nice simple shoutbox php code? It's just I've been looking for one for a while but they all seems to have millions of files attached with them and everything. Just wondering if theres anything simpler out there?

Reply

FaLgoR
Look at www.hotscripts.com, I think you will find what you need! smile.gif

Reply

=Savage=
awwr thanks dude...you answered my question as well tongue.gif

Reply

beeseven
Here's one I made myself, if you still need it:

CODE
<form method="POST" action="comment.php">
Name: <input type="text" name="name">
<br>
Message:
<br>
<textarea name="message" rows="10" cols="45"></textarea>
<br>
<input type="submit" name="submit" value="Post Message">
<input type="reset" value="Reset">
</form>
This is the input box, you can put this wherever you want. Also, name the file "comment.php" or change the form action.

CODE
<?php
$submit = $_POST['submit'];
if($submit == true)
{
       $filename = 'comment/comments.html';
       $name = $_POST['name'];
       $name = stripslashes($name);
       $name = strip_tags($name);
       $time = date("\P\o\s\\t\e\d \o\\n l F jS Y \a\\t g:i:s A");
       $message = $_POST['message'];
       $message = stripslashes($message);
       $message = strip_tags($message, '<b><i><u>');
       $comment = "<tr><td width=\"100%\"><i><b>From:</b></i> $name</td></tr><tr><td width=\"100%\"><i><b>$time</b></i></td></tr><tr><td width=\"100%\"><i><b>Message:</b></i><br>$message<br><div><hr width=\"50%\"></div></td></tr>\n";
       $handle = fopen($filename, 'a');
       fwrite($handle, $comment);
       fclose($handle);
}
include 'comment/comments.html';
?>
This is the PHP code, it doesn't matter if it's above or below the input. You also need a directory called "comment" with a file called "comments.html" (or you can change that--it's like that because I made it on my school's server and it uses AFS for permissions).

You can see this in action at http://tjhsst.edu/~tsmilack/tests/comment.php

 

 

 


Reply

Dragonfly
Thanks beeseeven,

I hate to use the script from third party websites with pop-ups and ads. It is much better to have our own even though it may be simple. I wish to put this in my site. Can we also include style sheet to the shoutbox?

Reply

mobious
i have s simple script which used mysql instead.

this script makes use of a template system. if you know php then feel free to modify this to suit your need. otherwise just tell me and i will modify it for you.

CODE
if (isset($_GET['submit'])) {
$strip_var_list = array("shout_name" => "name", "shout_website" => "website", "shout_msg" => "msg");

while(list($var, $param) = @each($strip_var_list)) {
 if (!empty($HTTP_POST_VARS[$param])) {
  $$var = trim(htmlspecialchars($HTTP_POST_VARS[$param]));
 }
}

$shout_time = time();

$sql = "INSERT INTO shoutbox (shout_name, shout_website, shout_date, shout_msg)
 VALUES ('{$shout_name}', '{$shout_website}', {$shout_time}, '{$shout_msg}')";

if(!($result = $db->query($sql))) {
 die(mysql_error());
}

header("Location: shout.php?show");
} elseif (isset($_GET['show'])) {
$template->set_filenames(array(
 "body" => "shout-body.html")
);

$current_time = time();

$sql = "DELETE FROM shoutbox
 WHERE shout_date <= " . ($current_time - 172800);

if(!($result = $db->query($sql))) {
 die(mysql_error());
}

$sql = "SELECT *
 FROM shoutbox
 ORDER BY shout_date DESC";

if(!($result = $db->query($sql))) {
 die(mysql_error());
}

while ($shout[] = $db->fetchrow($result));

if (count($shout) > 1 && ($total_shout = count($shout) - 1)) {
 for ($x = 0; $x < $total_shout; $x++) {
  $template->assign_block_vars("shout_row", array(
   "NAME" => $shout[$x]['shout_name'],
   "WEBSITE" => $shout[$x]['shout_website'],
   "DATE" => date("M-d-Y", $shout[$x]['shout_date']),
   "MESSAGE" => $shout[$x]['shout_msg'])
  );
 }
}

$template->pparse("body");
}

Reply

HoRuS
I've got 4 files for my integrated shoutbox:

shoutbox_body.tpl:
CODE
<HEAD>
<link rel="stylesheet" href="templates/{T_NAME}/{T_HEAD_STYLESHEET}" type="text/css">
</HEAD>
<body bgcolor="{T_TR_COLOR3}" text="{T_BODY_TEXT}" link="{T_BODY_LINK}" vlink="{T_BODY_VLINK}">
<form method=POST action="{U_SHOUTBOX}">
{ERROR_BOX}
<table width="100%" height="26" cellpadding="0" cellspacing="0" border="0" class="row1">
<tr>
  <td class="row1" align="center" valign="middle" width="100%">
   <center><span class="gensmall">
 <!-- BEGIN switch_auth_post -->
 <input type="text" class="liteoption" name="message" value="{SHOUT_OLD}" size="15"/>&nbsp
 <input type="submit" class="mainoption" value="{L_SHOUT_SUBMIT}" name="shout" />
<!-- END switch_auth_post -->
<!-- BEGIN switch_auth_no_post -->
   {L_SHOUTBOX_LOGIN}&nbsp;
<!-- END switch_auth_no_post -->
   &nbsp;<input type="submit" class="liteoption" value="{L_SHOUT_REFRESH}" name="refresh" /></center>
   </span>  
   <center>
  </td>
</tr>
</table>
  <iframe src="{U_SHOUTBOX_VIEW}" align="left" width="100%" height="165" frameborder="0" marginheight="0" marginwidth="0" allowtransparency="true">
 </iframe>


</form>
</body>


shoutbox_max_body.tpl:
CODE
<script language="JavaScript" type="text/javascript" src="templates/post_message.js"></script>
<table width="100%" cellspacing="0" cellpadding="2" border="0" align="center"><tr>
<td align="left" valign="bottom"><span class="gensmall">
<!-- BEGIN switch_user_logged_in -->
{LAST_VISIT_DATE}<br />
<!-- END switch_user_logged_in -->
{CURRENT_TIME}<br />
</span><span class="nav"><a href="{U_INDEX}" class="nav">{L_INDEX}</a></span></td>
</tr>

</table>

{POST_PREVIEW_BOX}
{ERROR_BOX}
<table width="100%" height="100%" cellpadding="0" cellspacing="0" border="0" class="forumline">
<form action="{U_SHOUTBOX}" method="post" name="post" onsubmit="return checkForm(this)">
<tr>
 <th class="thHead" colspan="2" height="25"><b>{L_SHOUT_TEXT}</b></th>
</tr>
<!-- BEGIN switch_username_select -->
<tr>
 <td class="row1"><span class="gen"><b>{L_USERNAME}</b></span></td>
 <td class="row2"><span class="genmed"><input type="text" class="post" tabindex="1" name="username" size="25" maxlength="25" value="{USERNAME}" /></span></td>
</tr>
<!-- END switch_username_select -->

<tr>
  <td class="row1" valign="top">
 <table width="100%" border="0" cellspacing="0" cellpadding="1">
   <tr>
  <td valign="middle" align="center"> <br />
    <table width="100" border="0" cellspacing="0" cellpadding="5">
   <tr align="center">
     <td colspan="{S_SMILIES_COLSPAN}" class="gensmall"><b>{L_EMOTICONS}</b></td>
   </tr>
   <!-- BEGIN smilies_row -->
   <tr align="center" valign="middle">
     <!-- BEGIN smilies_col -->
     <td><img src="{smilies_row.smilies_col.SMILEY_IMG}" border="0" onmouseover="this.style.cursor='hand';" onclick="emoticon('{smilies_row.smilies_col.SMILEY_CODE}');" alt="{smilies_row.smilies_col.SMILEY_DESC}" title="{smilies_row.smilies_col.SMILEY_DESC}" /></a></td>
     <!-- END smilies_col -->
   </tr>
   <!-- END smilies_row -->
   <!-- BEGIN switch_smilies_extra -->
   <tr align="center">
     <td colspan="{S_SMILIES_COLSPAN}"><span  class="nav"><a href="{U_MORE_SMILIES}" onclick="window.open('{U_MORE_SMILIES}', '_phpbbsmilies', 'HEIGHT=300,resizable=yes,scrollbars=yes,WIDTH=250');return false;" target="_phpbbsmilies" class="nav">{L_MORE_SMILIES}</a></span></td>
   </tr>
   <!-- END switch_smilies_extra -->
    </table>
  </td>
   </tr>
 </table>
  </td>

  <td class="row2" valign="top"><span class="gen"> <span class="genmed"> </span>
 <table width="450" border="0" cellspacing="0" cellpadding="2">
   <tr align="right" valign="middle">
  <td>
    <p dir="rtl" style="margin-top: 0; margin-bottom: 0" align="left"><span class="gen">
    <span class="genmed">
    &nbsp;<select name="fc" onChange="BBCfc()" onMouseOver="helpline('fc')"  
      <option style="color:darkred; background-color: {T_TD_COLOR1}" value="darkred" class="genmed" dir="ltr">
             <option selected>Font Color</option>
             <option style="color:black; value="{T_FONTCOLOR1}" value="{T_FONTCOLOR1}">{L_COLOR_DEFAULT}</option>
             <option value="darkred">{L_COLOR_DARK_RED}</option>
      <option style="color:red; background-color: {T_TD_COLOR1}" value="red" class="genmed">{L_COLOR_RED}</option>
      <option style="color:orange; background-color: {T_TD_COLOR1}" value="orange" class="genmed">{L_COLOR_ORANGE}</option>
      <option style="color:brown; background-color: {T_TD_COLOR1}" value="brown" class="genmed">{L_COLOR_BROWN}</option>
      <option style="color:yellow; background-color: {T_TD_COLOR1}" value="yellow" class="genmed">{L_COLOR_YELLOW}</option>
      <option style="color:green; background-color: {T_TD_COLOR1}" value="green" class="genmed">{L_COLOR_GREEN}</option>
      <option style="color:olive; background-color: {T_TD_COLOR1}" value="olive" class="genmed">{L_COLOR_OLIVE}</option>
      <option style="color:cyan; background-color: {T_TD_COLOR1}" value="cyan" class="genmed">{L_COLOR_CYAN}</option>
      <option style="color:blue; background-color: {T_TD_COLOR1}" value="blue" class="genmed">{L_COLOR_BLUE}</option>
      <option style="color:darkblue; background-color: {T_TD_COLOR1}" value="darkblue" class="genmed">{L_COLOR_DARK_BLUE}</option>
      <option style="color:indigo; background-color: {T_TD_COLOR1}" value="indigo" class="genmed">{L_COLOR_INDIGO}</option>
      <option style="color:violet; background-color: {T_TD_COLOR1}" value="violet" class="genmed">{L_COLOR_VIOLET}</option>
      <option style="color:white; background-color: {T_TD_COLOR1}" value="white" class="genmed">{L_COLOR_WHITE}</option>
      <option style="color:black; background-color: {T_TD_COLOR1}" value="black" class="genmed">{L_COLOR_BLACK}</option>
    </select>&nbsp;&nbsp; <select name="fs" onChange="BBCfs()" onMouseOver="helpline('fs')"
        <option value="7" class="genmed" dir="ltr">
             <option selected>Font Size</option>
             {L_FONT_TINY}</option>
      <option value="9" class="genmed">{L_FONT_SMALL}</option>
      <option value="12" class="genmed">{L_FONT_NORMAL}</option>
      <option value="18" class="genmed">{L_FONT_LARGE}</option>
      <option  value="24" class="genmed">{L_FONT_HUGE}</option>
    </select> <span lang="ar-sy">&nbsp;</span><select name="ft" onChange="BBCft()" onMouseOver="helpline('ft')"
       <option style="color:black; background-color: #FFFFFF " value="{L_ARIAL}" class="genmed" dir="ltr">
                                         <option selected>Font type</option>
                                         <option value="Arial">Default font
                                         </option>
<option style="color:black; background-color: #FFFFFF " value="Andalus" class="genmed">
Andalus</option>
<option style="color:black; background-color: #FFFFFF " value="Arial" class="genmed">
Arial</option>
<option style="color:black; background-color: #FFFFFF " value="Comic Sans MS" class="genmed">
Comic Sans MS</option>
<option style="color:black; background-color: #FFFFFF " value="Courier New" class="genmed">
Courier New</option>
                                         <option value="Lucida Console">Lucida Console
                                         </option>
<option style="color:black; background-color: #FFFFFF " value="Microsoft Sans Serif" class="genmed">
Microsoft Sans Serif</option>
<option style="color:black; background-color: #FFFFFF " value="Symbol" class="genmed">
Symbol</option>
<option style="color:black; background-color: #FFFFFF " value="Tahoma" class="genmed">
Tahoma</option>
<option style="color:black; background-color: #FFFFFF " value="Times New Roman" class="genmed">
Times New Roman</option>
<option style="color:black; background-color: #FFFFFF " value="Traditional Arabic" class="genmed">
Traditional Arabic</option>
<option style="color:black; background-color: #FFFFFF " value="Verdana" class="genmed">
Verdana</option>
<option style="color:black; background-color: #FFFFFF " value="Webdings" class="genmed">
Webdings</option>
<option style="color:black; background-color: #FFFFFF " value="Wingdings" class="genmed">
Wingdings</option>
                                 </select></span></span></span><p dir="rtl" style="margin-top: 0; margin-bottom: 0">
             <span class="genmed"><span style="font-size: 5pt">&nbsp;</span></span></td>
   </tr>
   <span class="gen">
   <tr>
  <td width="450">
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
   <tr>
                       <td>
                         <table width="100%" border="0" cellspacing="0" cellpadding="0">
                               <tr>
                                 <td>
                                 <p dir="ltr" align="left"><span class="gen">  
    <span class="genmed">
            <span lang="ar-sy">&nbsp;</span><img border="0" src="bbcode_box/images/justify.gif" name="justify" type="image" onClick="BBCjustify()" onMouseOver="helpline('justify')" style="border-style: outset; border-width: 1" alt="justify"><img border="0" src="bbcode_box/images/right.gif" name="right" type="image" onClick="BBCright()" onMouseOver="helpline('right')" style="border-style: outset; border-width: 1" alt="right"><img border="0" src="bbcode_box/images/center.gif" name="center" type="image" onClick="BBCcenter()" onMouseOver="helpline('center')" style="border-style: outset; border-width: 1" alt="center"><img border="0" src="bbcode_box/images/left.gif" name="left" type="image" onClick="BBCleft()" onMouseOver="helpline('left')" style="border-style: outset; border-width: 1" alt="left">&nbsp;&nbsp;
                                 <img border="0" src="bbcode_box/images/bold.gif" name="bold" type="image" onClick="BBCbold()" onMouseOver="helpline('b')" style="border-style: outset; border-width: 1" alt="bold"><img border="0" src="bbcode_box/images/italic.gif" name="italic" type="image" onClick="BBCitalic()" onMouseOver="helpline('i')" style="border-style: outset; border-width: 1" alt="italic"><img border="0" src="bbcode_box/images/under.gif" name="under" type="image" onClick="BBCunder()" onMouseOver="helpline('u')" style="border-style: outset; border-width: 1" alt="under line"><img border="0" src="bbcode_box/images/strike.gif" name="strike" type="image" onClick="BBCstrike()" onMouseOver="helpline('strike')" style="border-style: outset; border-width: 1" alt="strike"><img border="0" src="bbcode_box/images/sup.gif" name="sup" type="image" onClick="BBCsup()" onMouseOver="helpline('sup')" style="border-style: outset; border-width: 1" alt="sup"><img border="0" src="bbcode_box/images/sub.gif" name="sub" type="image" onClick="BBCsub()" onMouseOver="helpline('sub')" style="border-style: outset; border-width: 1" alt="sub">&nbsp;&nbsp;
                                 <img border="0" src="bbcode_box/images/fade.gif" name="fade" type="image" onClick="BBCfade()" onMouseOver="helpline('fade')" style="border-style: outset; border-width: 1" alt="fade"><img border="0" src="bbcode_box/images/grad.gif" name="grad" type="image" onClick="BBCgrad()" onMouseOver="helpline('grad')" style="border-style: outset; border-width: 1" alt="gradient">&nbsp;&nbsp;
                                 <img border="0" src="bbcode_box/images/rtl.gif" name="dirrtl" type="image" onClick="BBCdir('rtl')" onMouseOver="helpline('rtl')" style="border-style: outset; border-width: 1" alt="Right to Left"><img border="0" src="bbcode_box/images/ltr.gif" name="dirltr" type="image" onClick="BBCdir('ltr')" onMouseOver="helpline('ltr')" style="border-style: outset; border-width: 1" alt="Left to Right">&nbsp;&nbsp;
                                 <img border="0" src="bbcode_box/images/marqd.gif" name="marqd" type="image" onClick="BBCmarqd()" onMouseOver="helpline('marqd')" style="border-style: outset; border-width: 1" alt="Marque to down"><img border="0" src="bbcode_box/images/marqu.gif" name="marqu" type="image" onClick="BBCmarqu()" onMouseOver="helpline('marqu')" style="border-style: outset; border-width: 1" alt="Marque to up"><img border="0" src="bbcode_box/images/marql.gif" name="marql" type="image" onClick="BBCmarql()" onMouseOver="helpline('marql')" style="border-style: outset; border-width: 1" alt="Marque to left"><img border="0" src="bbcode_box/images/marqr.gif" name="marqr" type="image" onClick="BBCmarqr()" onMouseOver="helpline('marqr')" style="border-style: outset; border-width: 1" alt="Marque to right"></span></td>
                               </tr>
                               <tr>
                                 <td dir="rtl">
                                 <p align="right" dir="rtl" style="margin-top: 0; margin-bottom: 0">
                                 <span style="font-size: 5pt">&nbsp;</span><p align="left" dir="ltr" style="margin-top: 0; margin-bottom: 0"><span class="gen">
    <span class="genmed">
            &nbsp;<img border="0" src="bbcode_box/images/code.gif" name="code" type="image" onClick="BBCcode()" onMouseOver="helpline('code')" style="border-style: outset; border-width: 1" alt="Code"><img border="0" src="bbcode_box/images/php.gif" name="php" type="image" onClick="BBCphp()" onMouseOver="helpline('php')" style="border-style: outset; border-width: 1" alt="PHP"><img border="0" src="bbcode_box/images/quote.gif" name="quote" type="image" onClick="BBCquote()" onMouseOver="helpline('quote')" style="border-style: outset; border-width: 1" alt="Quote">&nbsp;&nbsp;<img border="0" src="bbcode_box/images/list.gif" name="list" type="image" onClick="BBClist()" onMouseOver="helpline('list')" style="border-style: outset; border-width: 1" alt="List">&nbsp;&nbsp;
                                 <img border="0" src="bbcode_box/images/google.gif" name="google" type="image" onClick="BBCgoogle()" onMouseOver="helpline('google')" style="border-style: outset; border-width: 1" alt="google">&nbsp;&nbsp;
                                 <img border="0" src="bbcode_box/images/url.gif" name="url" type="image" onClick="BBCurl()" onMouseOver="helpline('url')" style="border-style: outset; border-width: 1" alt="URL"><img border="0" src="bbcode_box/images/email.gif" name="email" type="image" onClick="BBCmail()" onMouseOver="helpline('mail')" style="border-style: outset; border-width: 1" alt="Email"><img border="0" src="bbcode_box/images/web.gif" name="web" type="image" onClick="BBCweb()" onMouseOver="helpline('web')" style="border-style: outset; border-width: 1" alt="Wep Page">&nbsp;&nbsp;
                                 <img border="0" src="bbcode_box/images/img.gif" name="img" type="image" onClick="BBCimg()" onMouseOver="helpline('img')" style="border-style: outset; border-width: 1" alt="Image"><img border="0" src="bbcode_box/images/flash.gif" name="flash" type="image" onClick="BBCflash()" onMouseOver="helpline('flash')" style="border-style: outset; border-width: 1" alt="Flash"><img border="0" src="bbcode_box/images/video.gif" name="video" type="image" onClick="BBCvideo()" onMouseOver="helpline('video')" style="border-style: outset; border-width: 1" alt="Video"><img border="0" src="bbcode_box/images/sound.gif" name="stream" type="image" onClick="BBCstream()" onMouseOver="helpline('stream')" style="border-style: outset; border-width: 1" alt="Stream"><img border="0" src="bbcode_box/images/ram.gif" name="ram" type="image" onClick="BBCram()" onMouseOver="helpline('ram')" style="border-style: outset; border-width: 1" alt="Real Media">&nbsp;&nbsp;
                                 <img border="0" src="bbcode_box/images/hr.gif" name="hr" type="image" onClick="BBChr()" onMouseOver="helpline('hr')" style="border-style: outset; border-width: 1" alt="H-Line">&nbsp;&nbsp;
                                 <img border="0" src="bbcode_box/images/plain.gif" name="plain" type="image" onClick="BBCplain()" onMouseOver="helpline('plain')" style="border-style: outset; border-width: 1" alt="Remove BBcode">&nbsp;&nbsp;<img border="0" src="bbcode_box/images/you.gif" name="you" type="image" onClick="BBCyou()" onMouseOver="helpline('you')" style="border-style: outset; border-width: 1" alt="you"></span></td>
                               </tr>
                         </table>
                       </td>
                 </tr>

    </table>
  </td>
   </tr>
   <tr>
  <td colspan="9"> <span class="gensmall">
    <input type="text" name="helpbox" size="45" maxlength="100" style="width:450px; font-size:10px" class="helpline" value="{L_STYLES_TIP}" />
    </span></td>
   </tr>
   <tr>
  <td colspan="9"><span class="gen">
    <textarea name="message" rows="8" cols="35" wrap="virtual" style="width:450px" tabindex="3" class="post" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this); typeQuietly(this, event);">{MESSAGE}</textarea>
    </span></td>
   </tr>
 </table>
 </span></td>
</tr>
<tr>
  <td class="row1" valign="top"><span class="gen"><b>{L_OPTIONS}</b></span><br /><span class="gensmall">{HTML_STATUS}<br />{BBCODE_STATUS}<br />{SMILIES_STATUS}</span></td>
  <td class="row2"><span class="gen"> </span>
 <table cellspacing="0" cellpadding="1" border="0">
   <!-- BEGIN switch_html_checkbox -->
   <tr>
  <td>
    <input type="checkbox" name="disable_html" {S_HTML_CHECKED} />
  </td>
  <td><span class="gen">{L_DISABLE_HTML}</span></td>
   </tr>
   <!-- END switch_html_checkbox -->
   <!-- BEGIN switch_bbcode_checkbox -->
   <tr>
  <td>
    <input type="checkbox" name="disable_bbcode" {S_BBCODE_CHECKED} />
  </td>
  <td><span class="gen">{L_DISABLE_BBCODE}</span></td>
   </tr>
   <!-- END switch_bbcode_checkbox -->
 </table>
  </td>
</tr>
<tr>
  <td class="cat" colspan="2" align="center" height="28"> {S_HIDDEN_FORM_FIELDS}
<input type="submit" tabindex="5" name="refresh" class="mainoption" value="{L_SHOUT_REFRESH}" />&nbsp;
<input type="submit" tabindex="5" name="preview" class="mainoption" value="{L_SHOUT_PREVIEW}" />&nbsp;
<input type="submit" accesskey="s" tabindex="6" name="shout" class="mainoption" value="{L_SHOUT_SUBMIT}" /></td>
</tr>
 </table>
</form>
 <table width="100%" cellspacing="2" border="0" align="center" cellpadding="2">
<tr>
   <td align="right" valign="bottom" class="gensmall">
<span class="nav">
{PAGINATION}</span>
</td>
</tr>
</table>
<table border="0" cellpadding="4" cellspacing="1" width="100%" class="forumline">
<tr align="right">
 <td class="cat" colspan="2" height="28" align="center"><b>&nbsp;{L_SHOUTBOX}&nbsp;<b/></td>
</tr>
<tr>
 <th class="thLeft" width="160" height="26" nowrap="nowrap">{L_AUTHOR}</th>
 <th class="thRight" nowrap="nowrap">{L_MESSAGE}</th>
</tr>

<!-- BEGIN shoutrow -->
<tr>
 <td width="160" align="left" valign="top" class="{shoutrow.ROW_CLASS}">
  <span class="name"><b>{shoutrow.SHOUT_USERNAME}</b></span><br />
  <span class="postdetails">{shoutrow.USER_RANK}<br />
  {shoutrow.RANK_IMAGE}<br/>
  {shoutrow.USER_AVATAR}<br /><br/>{shoutrow.USER_JOINED}</span></td>
 <td class="{shoutrow.ROW_CLASS}" width="100%" height="28" valign="top">
  <table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
   <td width="100%"><a href="{shoutrow.U_MINI_POST}"><img src="{shoutrow.MINI_POST_IMG}" width="12" height="9" alt="{shoutrow.L_MINI_POST_ALT}" title="{shoutrow.L_MINI_POST_ALT}" border="0" /></a><span class="postdetails">{L_POSTED}: {shoutrow.TIME}</span></td>
   <td valign="top" align="right" nowrap="nowrap">{shoutrow.QUOTE_IMG}{shoutrow.EDIT_IMG}{shoutrow.CENSOR_IMG}{shoutrow.DELETE
_IMG}{shoutrow.IP_IMG}</td></form>
  </tr>
  <tr>
   <td colspan="2"><hr/></td>
  </tr>
  <tr>
   <td colspan="2"><span class="postbody">{shoutrow.SHOUT}{shoutrow.SIGNATURE}</span></td>
  </tr>
  </table>
 </td>
</tr>
<tr>
 <td class="spaceRow" colspan="2" height="1"><img src="images/spacer.gif" alt="" width="1" height="1" /></td>
</tr>
<!-- END shoutrow -->

</table>
 <table width="100%" cellspacing="2" border="0" align="center" cellpadding="2">
<tr>
  <td align="left" valign="top"><span class="gensmall">{S_TIMEZONE}</span></td>
  <td align="right" valign="bottom" class="gensmall">
<span class="nav">
{PAGINATION}</span>
</td>
</tr>
</table>


shoutbox_max_guest_body.tpl:
CODE
<table width="100%" cellspacing="0" cellpadding="2" border="0" align="center"><tr>
<td align="left" valign="bottom"><span class="gensmall">
<!-- BEGIN switch_user_logged_in -->
{LAST_VISIT_DATE}<br />
<!-- END switch_user_logged_in -->
{CURRENT_TIME}<br />
</span><span class="nav"><a href="{U_INDEX}" class="nav">{L_INDEX}</a></span></td>
</tr>

</table>

<table width="100%" height="100%" cellpadding="0" cellspacing="0" border="0" class="forumline">
<form action="{U_SHOUTBOX}" method="post" name="post" onsubmit="return checkForm(this)">
<tr>
  <td class="cat" colspan="2" align="center" height="28"> {S_HIDDEN_FORM_FIELDS}
<input type="submit" tabindex="1" name="refresh" class="mainoption" value="{L_SHOUT_REFRESH}" />&nbsp;
</td>
</tr>

</table>
</form>

 <table width="100%" cellspacing="2" border="0" align="center" cellpadding="2">
<tr>
   <td align="right" valign="bottom" class="gensmall">
<span class="nav">
{PAGINATION}</span>
</td>
</tr>
</table>
<table border="0" cellpadding="4" cellspacing="1" width="100%" class="forumline">
<tr align="right">
 <td class="cat" colspan="2" height="28" align="center"><b>&nbsp;{L_SHOUTBOX}&nbsp;<b/></td>
</tr>
<tr>
 <th class="thLeft" width="160" height="26" nowrap="nowrap">{L_AUTHOR}</th>
 <th class="thRight" nowrap="nowrap">{L_MESSAGE}</th>
</tr>

<!-- BEGIN shoutrow -->
<tr>
 <td width="160" align="left" valign="top" class="{shoutrow.ROW_CLASS}">
  <span class="name"><b>{shoutrow.SHOUT_USERNAME}</b></span><br />
  <span class="postdetails">{shoutrow.USER_RANK}<br />
  {shoutrow.RANK_IMAGE}<br/>
  {shoutrow.USER_AVATAR}<br /><br/>{shoutrow.USER_JOINED}</span></td>
 <td class="{shoutrow.ROW_CLASS}" width="100%" height="28" valign="top">
  <table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
   <td width="100%"><a href="{shoutrow.U_MINI_POST}"><img src="{shoutrow.MINI_POST_IMG}" width="12" height="9" alt="{shoutrow.L_MINI_POST_ALT}" title="{shoutrow.L_MINI_POST_ALT}" border="0" /></a><span class="postdetails">{L_POSTED}: {shoutrow.TIME}</span></td>
   <td valign="top" align="right" nowrap="nowrap">{shoutrow.QUOTE_IMG}{shoutrow.EDIT_IMG}{shoutrow.DELETE_IMG}{shoutrow.IP_IMG
}</td></form>
  </tr>
  <tr>
   <td colspan="2"><hr/></td>
  </tr>
  <tr>
   <td colspan="2"><span class="postbody">{shoutrow.SHOUT}{shoutrow.SIGNATURE}</span></td>
  </tr>
  </table>
 </td>
</tr>
<tr>
 <td class="spaceRow" colspan="2" height="1"><img src="images/spacer.gif" alt="" width="1" height="1" /></td>
</tr>
<!-- END shoutrow -->

</table>
 <table width="100%" cellspacing="2" border="0" align="center" cellpadding="2">
<tr>
  <td align="left" valign="top"><span class="gensmall">{S_TIMEZONE}</span></td>
  <td align="right" valign="bottom" class="gensmall">
<span class="nav">
{PAGINATION}</span>
</td>
</tr>
</table>


shoutbox_view_body.tpl:
CODE
<HEAD><META http-equiv="refresh" content="120;url={U_SHOUTBOX_VIEW}?auto_refresh=1">
<link rel="stylesheet" href="templates/{T_NAME}/{T_HEAD_STYLESHEET}" type="text/css">
</HEAD>
<body bgcolor="{T_BODY_BGCOLOR}" text="{T_BODY_TEXT}" link="{T_BODY_LINK}" vlink="{T_BODY_VLINK}">
<table width="100%" height="100%" cellpadding="0" cellspacing="1" border="0" class="forumline">
<!-- BEGIN shoutrow -->
<tr>
<td class="{shoutrow.ROW_CLASS}" width="100%" heigth="100%">
  <table border="0"; cellspacing="0" cellpadding="0" width="100%">
    <tr>
      <td align="right" width="100%"><span class="gensmall">{shoutrow.TIME}<br />
<b>{shoutrow.USERNAME}</b></span></td>
    </tr>
    <tr>
      <td align="left" width="100%"><span class="gensmall">{shoutrow.SHOUT}<br/></span></td>
    </tr>
         </table>
</td>
</tr>
<!-- END shoutrow -->
</table>
</body>


These are all located in my templates/"yourtemplate" folder...


Peace

Reply

mobious
you completely posted all your templates you didn't post the actual php script. maybe you should post it you wish so that he may have an idea or learn how you did it.

Reply

Joshthegreat
Wow... I forgot I had posted this. Well thanks for the amazing response.
Beeseven. That simple script is exactly what I'm looking for but I'm kind of a bit weirded out by the layout. Mobious, do I need to set anything up on my trap17 host in order to use yours? You say you'll edit the template for anyone who doesnt know php..? Sounds great. But if there is anything I need to set up on the host before I can use it I need to know, sorry I'm a bit of a newbie to php and MySQL.
Thanks, in advance of it all going down smoothly.

Reply

alexia
for Guestbook & shoutbox you first Chose Database ?
Flatfile or SQl ?
and then your can look this ::
http://www.hotscripts.com/search/2939672.html
You have 8 page for select Nice shoutbox biggrin.gif
Its Really good
for Find php tutorial about write shoutbox look this::
http://www.pixel2life.com/main.php
wink.gif

Reply

Latest Entries

HoRuS
Yea, lol we are posting all there confusing codes here but there are lots of shoutboxes to choose from wink.gif
I'm a bit chaotic myself tho cuz i forgot to tell the MySQL dtabase installation for the shoutbox huh.gif
When I'm able to log in there I'll try to post it hahaha but my moms puter won't log in to CPanel...
My shoutbox came with this version of phpBB


Peace

Reply

mobious
i see that it is intended for phpbb. anyways, good work! you even bother to consider flood control. really creative! nice work! i believe they already have a variety of shoutbox scripts to choose from.

Reply

karlo
QUOTE(HoRuS @ Mar 6 2005, 01:52 AM)
True... I'm sorry lol but here's the real php file
Shoutbox.php:
CODE
<?php
/***************************************************************************
*                               shoutbox.php
*                            -------------------
*   begin                :  Feb, 2003
*   author               : Niels Chr. Denmark <ncr@db9.dk> (http://mods.db9.dk)
*
* version 1.0.3
*
* History:
*   0.9.0. - initial BETA
*   0.9.1. - header added
*   0.9.2. - shout can now be submitted by hitting enter
*   0.9.3. - now support view back in time, + maximized view
*   0.9.4. - now support preview in the maximized version
*   0.9.5. - corrected currupted message if special combination
*   0.9.6. - guest can't shout
*   0.9.7. - shoutbox.php no longer support maximazed versin, instead sepperate file is offered
*   1.0.0. - removed the DB stylesheet information, to speed up page load
*   1.0.1. - corrected that guests username is stored correctly,when submitting a shout
*   1.0.2. - corrected a bug regarding flood control
*   1.0.3. - now displaying flood error more nicely, when shoutbox is inside a frame/iframe
*
* a fully phpBB2 integrated shoutbox
*
***************************************************************************/

/***************************************************************************
*
*   This program is free software; you can redistribute it and/or modify
*   it under the terms of the GNU General Public License as published by
*   the Free Software Foundation; either version 2 of the License, or
*   (at your option) any later version.
*
***************************************************************************/

define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
include($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_shoutbox.' . $phpEx);
include($phpbb_root_path . 'includes/bbcode.'.$phpEx);
define ('NUM_SHOUT', 20);

//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_SHOUTBOX_MAX);
init_userprefs($userdata);
//
// End session management
//

//
// Start auth check
//
switch ($userdata['user_level'])
{
  case ADMIN :
  case MOD :   $is_auth['auth_mod'] = 1;
  default:
        $is_auth['auth_read'] = 1;
        $is_auth['auth_view'] = 1;
        if ($userdata['user_id']==ANONYMOUS)
        {
           $is_auth['auth_delete'] = 0;
           $is_auth['auth_post'] = 1;
        } else
        {
           $is_auth['auth_delete'] = 1;
           $is_auth['auth_post'] = 1;
        }
}

if( !$is_auth['auth_read'] )
{
  message_die(GENERAL_MESSAGE, $lang['Not_Authorised']);
}

//
// End auth check
//

$refresh = (isset($HTTP_POST_VARS['auto_refresh']) || isset($HTTP_POST_VARS['refresh'])) ? 1 : 0;
$submit = (isset($HTTP_POST_VARS['shout']) && isset($HTTP_POST_VARS['message'])) ? 1 : 0;

//
// Set toggles for various options
//
if ( !$board_config['allow_html'] )
{
$html_on = 0;
}
else
{
$html_on = ( $submit || $refresh || preview) ? ( ( !empty($HTTP_POST_VARS['disable_html']) ) ? 0 : TRUE ) : ( ( $userdata['user_id'] == ANONYMOUS ) ? $board_config['allow_html'] : $userdata['user_allowhtml'] );
}
if ( !$board_config['allow_bbcode'] )
{
$bbcode_on = 0;
}
else
{
$bbcode_on = ( $submit || $refresh || preview) ? ( ( !empty($HTTP_POST_VARS['disable_bbcode']) ) ? 0 : TRUE ) : ( ( $userdata['user_id'] == ANONYMOUS ) ? $board_config['allow_bbcode'] : $userdata['user_allowbbcode'] );
}

if ( !$board_config['allow_smilies'] )
{
$smilies_on = 0;
}
else
{
$smilies_on = ( $submit || $refresh || preview) ? ( ( !empty($HTTP_POST_VARS['disable_smilies']) ) ? 0 : TRUE ) : ( ( $userdata['user_id'] == ANONYMOUS ) ? $board_config['allow_smilies'] : $userdata['user_allowsmile'] );
}

if ($refresh)
{
$message = ( !empty($HTTP_POST_VARS['message']) ) ? htmlspecialchars(trim(stripslashes($HTTP_POST_VARS['message']))) : '';
if (!empty($message))
{
 $template->assign_var('MESSAGE',$message);
}
} else
if ($submit || isset($HTTP_POST_VARS['message']))
{
$current_time = time();
//
// Flood control
//
 $where_sql = ( $userdata['user_id'] == ANONYMOUS ) ? "shout_ip = '$user_ip'" : 'shout_user_id = ' . $userdata['user_id'];
 $sql = "SELECT MAX(shout_session_time) AS last_post_time
 FROM " . SHOUTBOX_TABLE . "
 WHERE $where_sql";
if ( $result = $db->sql_query($sql) )
{
 if ( $row = $db->sql_fetchrow($result) )
 {
  if ( $row['last_post_time'] > 0 && ( $current_time - $row['last_post_time'] ) < $board_config['flood_interval'] )
  {
   $error = true;
   $error_msg .= ( !empty($error_msg) ) ? '<br />' . $lang['Flood_Error'] : $lang['Flood_Error'];
  }
 }
}
// Check username
if ( !empty($username) )
{
 $username = htmlspecialchars(trim(strip_tags($username)));

 if ( !$userdata['session_logged_in'] || ( $userdata['session_logged_in'] && $username != $userdata['username'] ) )
 {
  include($phpbb_root_path . 'includes/functions_validate.'.$phpEx);

  $result = validate_username($username);
  if ( $result['error'] )
  {
   $error_msg .= ( !empty($error_msg) ) ? '<br />' . $result['error_msg'] : $result['error_msg'];
  }
 }
}
$message = (isset($HTTP_POST_VARS['message'])) ? trim($HTTP_POST_VARS['message']) : '';
// insert shout !
if (!empty($message) && $is_auth['auth_post'] && !$error)
{
 include_once($phpbb_root_path . 'includes/functions_post.'.$phpEx);
 $bbcode_uid = ( $bbcode_on ) ? make_bbcode_uid() : '';
 $message = prepare_message(trim($message), $html_on, $bbcode_on, $smilies_on, $bbcode_uid);
 $sql = "INSERT INTO " . SHOUTBOX_TABLE. " (shout_text, shout_session_time, shout_user_id, shout_ip, shout_username, shout_bbcode_uid,enable_bbcode,enable_html,enable_smilies)
   VALUES ('$message', '".time()."', '".$userdata['user_id']."', '$user_ip', '".$username."', '".$bbcode_uid."',$bbcode_on,$html_on,$smilies_on)";
 if (!$result = $db->sql_query($sql))
 {
  message_die(GENERAL_ERROR, 'Error inserting shout.', '', __LINE__, __FILE__, $sql);
 }
 // auto prune
 if ($board_config['prune_shouts'])
 {
  $sql = "DELETE FROM " . SHOUTBOX_TABLE. " WHERE shout_session_time<=".(time()-86400*$board_config['prune_shouts']);
  if (!$result = $db->sql_query($sql))
  {
   message_die(GENERAL_ERROR, 'Error autoprune shouts.', '', __LINE__, __FILE__, $sql);
  }
 }
}
}

// see if we need offset
if ((isset($HTTP_POST_VARS['start']) || isset($HTTP_GET_VARS['start'])) && !$submit)
{
$start=(isset($HTTP_POST_VARS['start'])) ? intval($HTTP_POST_VARS['start']) : intval($HTTP_GET_VARS['start']);
} else $start=0;

//
// Show simple shoutbox
//

if ( $is_auth['auth_post'] )
{
 $template->assign_block_vars('switch_auth_post', array());
}
else
{
 $template->assign_block_vars('switch_auth_no_post', array());
}

$template->set_filenames(array(
      'body' => 'shoutbox_body.tpl'));
$template->assign_vars(array(
'U_SHOUTBOX' => append_sid("shoutbox.$phpEx?start=$start"),
'U_SHOUTBOX_VIEW' => append_sid("shoutbox_view.$phpEx?start=$start"),
'T_HEAD_STYLESHEET' => $theme['head_stylesheet'],
'T_NAME' => $theme['template_name'],
'L_SHOUTBOX' => $lang['Shoutbox'],
'L_SHOUT_PREVIEW' => $lang['Preview'],
'L_SHOUT_SUBMIT' => $lang['Go'],
'L_SHOUT_TEXT' => $lang['Shout_text'],
'L_SHOUT_REFRESH' => $lang['Shout_refresh'],
'SHOUT_VIEW_SIZE' => ($max) ? $max : 0,
'S_HIDDEN_FIELDS' => $s_hidden_fields
));

if( $error_msg != '' )
{
 $template->set_filenames(array(
  'reg_header' => 'error_body.tpl')
 );
 $template->assign_vars(array(
  'ERROR_MESSAGE' => $error_msg)
 );
 $template->assign_var_from_handle('ERROR_BOX', 'reg_header');
 $message = ( !empty($HTTP_POST_VARS['message']) ) ? htmlspecialchars(trim(stripslashes($HTTP_POST_VARS['message']))) : '';
 $template->assign_var('MESSAGE',$message);
}

$template->pparse('body');

?>


Shoutbox_max.php:
[code]<?php
/***************************************************************************
*                               shoutbox_max.php
*                            -------------------
*   begin                :  Feb, 2003
*   author               : Niels Chr. Denmark <ncr@db9.dk> (http://mods.db9.dk)
*
* a fully phpBB2 integrated shoutbox
* version 1.0.0.
*
* History:
*   0.9.0. - initial BETA
*   0.9.1. - header added
*   0.9.2. - shout can now be submitted by hitting enter
*   0.9.3. - now support view back in time, + maximized view
*   0.9.4. - now support preview in the maximized version
*   0.9.5. - corrected currupted message if special combination
*   0.9.6. - guest can't shout
*   0.9.7. - max only version
*   0.9.8. - improved some permission control
*   0.9.9. - improved delete control
*   0.9.10. - support auto prune
*   0.9.11. - redirect corrected
*   0.9.12. - guests should not have ranks assigned
*   0.9.13. - corrected guests names
*   1.0.0. - corrected a bug regarding flood control
*
***************************************************************************/

/***************************************************************************
*
*   This program is free software; you can redistribute it and/or modify
*   it under the terms of the GNU General Public License as published by
*   the Free Software Foundation; either version 2 of the License, or
*   (at your option) any later version.
*
***************************************************************************/

define('IN_PHPBB', true);
$phpbb_root_path = './';
require_once($phpbb_root_path . 'extension.inc');
require_once($phpbb_root_path . 'common.'.$phpEx);
include($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_shoutbox.' . $phpEx);
require_once($phpbb_root_path . 'includes/bbcode.'.$phpEx);

define ('NUM_SHOUT', 20);
//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_SHOUTBOX_MAX);
init_userprefs($userdata);
//
// End session management
//

//
// Start auth check
//
switch ($userdata['user_level'])
{
  case ADMIN :
  case MOD :   $is_auth['auth_mod'] = 1;
  default:
        $is_auth['auth_read'] = 1;
        $is_auth['auth_view'] = 1;
        if ($userdata['user_id']==ANONYMOUS)
        {
           $is_auth['auth_delete'] = 0;
           $is_auth['auth_post'] = 1;
        } else
        {
           $is_auth['auth_delete'] = 1;
           $is_auth['auth_post'] = 1;
        }
}

if( !$is_auth['auth_read'] )
{
  message_die(GENERAL_MESSAGE, $lang['Not_Authorised']);
}

//
// End auth check
//
$forum_id=PAGE_SHOUTBOX_MAX;
$refresh = (isset($HTTP_POST_VARS['auto_refresh']) || isset($HTTP_POST_VARS['refresh'])) ? 1 : 0;
$preview = (isset($HTTP_POST_VARS['preview'])) ? 1 : 0;
$submit = (isset($HTTP_POST_VARS['shout']) && isset($HTTP_POST_VARS['message'])) ? 1 : 0;
if ( isset($HTTP_POST_VARS['mode']) || isset($HTTP_GET_VARS['mode']) )
{
$mode = ( isset($HTTP_POST_VARS['mode']) ) ? $HTTP_POST_VARS['mode'] : $HTTP_GET_VARS['mode'];
}
else
{
$mode = '';
}

//
// Set toggles for various options
//
if ( !$board_config['allow_html'] )
{
$html_on = 0;
}
else
{
$html_on = ( $submit || $refresh || preview) ? ( ( !empty($HTTP_POST_VARS['disable_html']) ) ? 0 : TRUE ) : ( ( $userdata['user_id'] == ANONYMOUS ) ? $board_config['allow_html'] : $userdata['user_allowhtml'] );
}
if ( !$board_config['allow_bbcode'] )
{
$bbcode_on = 0;
}
else
{
$bbcode_on = ( $submit || $refresh || preview) ? ( ( !empty($HTTP_POST_VARS['disable_bbcode']) ) ? 0 : TRUE ) : ( ( $userdata['user_id'] == ANONYMOUS ) ? $board_config['allow_bbcode'] : $userdata['user_allowbbcode'] );
}

if ( !$board_config['allow_smilies'] )
{
$smilies_on = 0;
}
else
{
$smilies_on = ( $submit || $refresh || preview) ? ( ( !empty($HTTP_POST_VARS['disable_smilies']) ) ? 0 : TRUE ) : ( ( $userdata['user_id'] == ANONYMOUS ) ? $board_config['allow_smilies'] : $userdata['user_allowsmile'] );
}
if( !$userdata['session_logged_in'] || ( $mode == 'editpost' && $post_info['poster_id'] == ANONYMOUS ) )
{
$template->assign_block_vars('switch_username_select', array());
}
$username = ( !empty($HTTP_POST_VARS['username']) ) ? $HTTP_POST_VARS['username'] : '';
// Check username
if ( !empty($username) )
{
$username = htmlspecialchars(trim(strip_tags($username)));
if ( !$userdata['session_logged_in'])
{
 require_once($phpbb_root_path . 'includes/functions_validate.'.$phpEx);
 $result = validate_username($username);
 if ( $result['error'] )
 {
  $error = true;
  $error_msg .= ( !empty($error_msg) ) ? '<br />' . $result['error_msg'] : $result['error_msg'];
 }
}
}

if ($refresh || $preview)
{
$message = ( !empty($HTTP_POST_VARS['message']) ) ? htmlspecialchars(trim(stripslashes($HTTP_POST_VARS['message']))) : '';
if (!empty($message))
{
 if ($preview)
 {
  require_once($phpbb_root_path . 'includes/functions_post.'.$phpEx);
  $orig_word = array();
  $replacement_word = array();
  obtain_word_list($orig_word, $replacement_word);
  $bbcode_uid = ( $bbcode_on ) ? make_bbcode_uid() : '';
  $preview_message = stripslashes(prepare_message(addslashes(unprepare_message($message)), $html_on, $bbcode_on, $smilies_on, $bbcode_uid));

  if( $bbcode_on )
  {
   $preview_message = bbencode_second_pass($preview_message, $bbcode_uid);
  }
  if( !empty($orig_word) )
  {
   $preview_message = ( !empty($preview_message) ) ? preg_replace($orig_word, $replacement_word, $preview_message) : '';
  }
  $preview_message = make_clickable($preview_message);
  if( $smilies_on )
  {
   $preview_message = smilies_pass($preview_message);
  }
  $preview_message = str_replace("\n", '<br />', $preview_message);
  $template->set_filenames(array(
   'preview' => 'posting_preview.tpl')
  );
  $template->assign_vars(array(
   'USERNAME' => $username,
   'POST_DATE' => create_date($board_config['default_dateformat'], time(), $board_config['board_timezone']),
   'MESSAGE' => $preview_message,
   'L_POSTED' => $lang['Posted'],
   'L_PREVIEW' => $lang['Preview'])
  );
  $template->assign_var_from_handle('POST_PREVIEW_BOX', 'preview');
 }
}
} else
if ($submit || isset($HTTP_POST_VARS['message']))
{
$current_time = time();
//
// Flood control
//
 $where_sql = ( $userdata['user_id'] == ANONYMOUS ) ? "shout_ip = '$user_ip'" : 'shout_user_id = ' . $userdata['user_id'];
 $sql = "SELECT MAX(shout_session_time) AS last_post_time
 FROM " . SHOUTBOX_TABLE . " WHERE $where_sql";
if ( $result = $db->sql_query($sql) )
{
 if ( $row = $db->sql_fetchrow($result) )
 {
  if ( $row['last_post_time'] > 0 && ( $current_time - $row['last_post_time'] ) < $board_config['flood_interval'] )
  {
   $error = true;
   $error_msg .= ( !empty($error_msg) ) ? '<br />' . $lang['Flood_Error'] : $lang['Flood_Error'];
//    message_die(GENERAL_MESSAGE, $lang['Flood_Error']);
  }
 }
}

$message = (isset($HTTP_POST_VARS['message'])) ? trim($HTTP_POST_VARS['message']) : '';
// insert shout !
if (!empty($message) && $is_auth['auth_post'] && !$error)
{
 require_once($phpbb_root_path . 'includes/functions_post.'.$phpEx);
 $bbcode_uid = ( $bbcode_on ) ? make_bbcode_uid() : '';
 $message = prepare_message(trim($message), $html_on, $bbcode_on, $smilies_on, $bbcode_uid);
 $sql = "INSERT INTO " . SHOUTBOX_TABLE. " (shout_text, shout_session_time, shout_user_id, shout_ip, shout_username, shout_bbcode_uid,enable_bbcode,enable_html,enable_smilies)
   VALUES ('$message', '".time()."', '".$userdata['user_id']."', '$user_ip', '".$username."', '".$bbcode_uid."',$bbcode_on,$html_on,$smilies_on)";
 if (!$result = $db->sql_query($sql))
 {
  message_die(GENERAL_ERROR, 'Error inserting shout.', '', __LINE__, __FILE__, $sql);
 }
 // auto prune
 if ($board_config['prune_shouts'])
 {
  $sql = "DELETE FROM " . SHOUTBOX_TABLE. " WHERE shout_session_time<=".(time()-86400*$board_config['prune_shouts']);
  if (!$result = $db->sql_query($sql))
  {
   message_die(GENERAL_ERROR, 'Error autoprune shouts.', '', __LINE__, __FILE__, $sql);
  }
 }
 $message='';
 $username='';
}
} else
if ($mode=='delete' || $mode=='censor')
{
// make shout inavtive
if ( isset($HTTP_GET_VARS[POST_POST_URL]) || isset($HTTP_POST_VARS[POST_POST_URL]) )
{
 $post_id = (isset($HTTP_POST_VARS[POST_POST_URL])) ? intval($HTTP_POST_VARS[POST_POST_URL]) : intval($HTTP_GET_VARS[POST_POST_URL]);
}
else
{
 message_die(GENERAL_ERROR, 'Error no shout id specifyed for delete/censor.', '', __LINE__, __FILE__);
}
$sql = "SELECT s.shout_user_id FROM " . SHOUTBOX_TABLE . " s WHERE s.shout_id='$post_id'";
if ( !($result = $db->sql_query($sql)) )
{
 message_die(GENERAL_ERROR, 'Could not get shoutbox information', '', __LINE__, __FILE__, $sql);
}
$shout_identifyer = $db->sql_fetchrow($result);
$user_id = $shout_identifyer['shout_user_id'];

if ( (($userdata['user_id'] == $user_id && $is_auth['auth_delete']) || $is_auth['auth_mod']) && $mode=='censor')
{
 $sql = "UPDATE ".SHOUTBOX_TABLE." SET shout_active='".$userdata['user_id']."' WHERE shout_id='$post_id'";
 if (!$result = $db->sql_query($sql))
 {
  message_die(GENERAL_ERROR, 'Error censor shout.', '', __LINE__, __FILE__, $sql);
 }
} else
if ( $is_auth['auth_mod'] && $mode=='delete')
{
 $sql = "DELETE FROM ".SHOUTBOX_TABLE." WHERE shout_id='$post_id'";
 if (!$result = $db->sql_query($sql))
 {
  message_die(GENERAL_ERROR, 'Error removing shout.', '', __LINE__, __FILE__, $sql);
 }
} else
message_die(GENERAL_MESSAGE, 'Not allowed.', '', __LINE__, __FILE__);
} else
if ($mode=='ip')
{
// show the ip
if ( !$is_auth['auth_mod'])
{
 message_die(GENERAL_MESSAGE, 'Not allowed.', '', __LINE__, __FILE__);
}
if ( isset($HTTP_GET_VARS[POST_POST_URL]) || isset($HTTP_POST_VARS[POST_POST_URL]) )
{
 $post_id = (isset($HTTP_POST_VARS[POST_POST_URL])) ? intval($HTTP_POST_VARS[POST_POST_URL]) : intval($HTTP_GET_VARS[POST_POST_URL]);
}
else
{
 message_die(GENERAL_ERROR, 'Error no shout id specifyed for show ip', '', __LINE__, __FILE__);
}
$sql = "SELECT s.shout_user_id, shout_username, shout_ip FROM " . SHOUTBOX_TABLE . " s WHERE s.shout_id='$post_id'";
if ( !($result = $db->sql_query($sql)) )
{
 message_die(GENERAL_ERROR, 'Could not get shoutbox information', '', __LINE__, __FILE__, $sql);
}
$shout_identifyer = $db->sql_fetchrow($result);
$poster_id = $shout_identifyer['shout_user_id'];
$rdns_ip_num = ( isset($HTTP_GET_VARS['rdns']) ) ? $HTTP_GET_VARS['rdns'] : "";

$ip_this_post = decode_ip($shout_identifyer['shout_ip']);
$ip_this_post = ( $rdns_ip_num == $ip_this_post ) ? gethostbyaddr($ip_this_post) : $ip_this_post;
require_once($phpbb_root_path . 'includes/page_header.'.$phpEx);

//
// Set template files
//
$template->set_filenames(array(
 'viewip' => 'modcp_viewip.tpl')
);
$template->assign_vars(array(
 'L_IP_INFO' => $lang['IP_info'],
 'L_THIS_POST_IP' => $lang['This_posts_IP'],
 'L_OTHER_IPS' => $lang['Other_IP_this_user'],
 'L_OTHER_USERS' => $lang['Users_this_IP'],
 'L_LOOKUP_IP' => $lang['Lookup_IP'],
 'L_SEARCH' => $lang['Search'],
 'SEARCH_IMG' => $images['icon_search'],
 'IP' => $ip_this_post,
 'U_LOOKUP_IP' => append_sid("shoutbox_max.$phpEx?mode=ip&amp;" . POST_POST_URL . "=$post_id&amp;rdns=" . $ip_this_post))
 );

//
// Get other IP's this user has posted under
//
$sql = "SELECT shout_ip, COUNT(*) AS postings
 FROM " . SHOUTBOX_TABLE . "
 WHERE shout_user_id = $poster_id
 GROUP BY shout_ip
 ORDER BY " . (( SQL_LAYER == 'msaccess' ) ? 'COUNT(*)' : 'postings' ) . " DESC";
if ( !($result = $db->sql_query($sql)) )
{
 message_die(GENERAL_ERROR, 'Could not get IP information for this user', '', __LINE__, __FILE__, $sql);
}
if ( $row = $db->sql_fetchrow($result) )
{
 $i = 0;
 do
 {
   if ( $row['shout_ip'] == $post_row['shout_ip'] )
   {
    $template->assign_vars(array(
     'POSTS' => $row['postings'] . ' ' . ( ( $row['postings'] == 1 ) ? $lang['Post'] : $lang['Posts'] ))
    );
    continue;
   }

   $ip = decode_ip($row['shout_ip']);
   $ip = ( $rdns_ip_num == $row['shout_ip'] || $rdns_ip_num == 'all') ? gethostbyaddr($ip) : $ip;

   $row_color = ( !($i % 2) ) ? $theme['td_color1'] : $theme['td_color2'];
   $row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'];

   $template->assign_block_vars('iprow', array(
    'ROW_COLOR' => '#' . $row_color,
    'ROW_CLASS' => $row_class,
    'IP' => $ip,
    'POSTS' => $row['postings'] . ' ' . ( ( $row['postings'] == 1 ) ? $lang['Post'] : $lang['Posts'] ),

    'U_LOOKUP_IP' => append_sid("shoutbox_max.$phpEx?mode=ip&amp;" . POST_POST_URL . "=$post_id&amp;rdns=" . $row['shout_ip']))
   );

   $i++;
  }
  while ( $row = $db->sql_fetchrow($result) );
 }

 //
 // Get other users who've posted under this IP
 //
 $sql = "SELECT u.user_id, u.username, COUNT(*) as postings
  FROM " . USERS_TABLE ." u, " . POSTS_TABLE . " p
  WHERE p.poster_id = u.user_id
   AND p.poster_ip = '" . $shout_identifyer['shout_ip'] . "'
  GROUP BY u.user_id, u.username
  ORDER BY " . (( SQL_LAYER == 'msaccess' ) ? 'COUNT(*)' : 'postings' ) . " DESC";

 if ( !($result = $db->sql_query($sql)) )
 {
  message_die(GENERAL_ERROR, 'Could not get posters information based on IP', '', __LINE__, __FILE__, $sql);
 }

 if ( $row = $db->sql_fetchrow($result) )
 {
  $i = 0;
  do
  {
   $id = $row['user_id'];
//    $username = ( $id == ANONYMOUS ) ? $lang['Guest'] : $row['username'];
   $shout_username = ( $id == ANONYMOUS && $row['username'] == '' ) ? $lang['Guest'] : $row['username'];

   $row_color = ( !($i % 2) ) ? $theme['td_color1'] : $theme['td_color2'];
   $row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'];

   $template->assign_block_vars('userrow', array(
    'ROW_COLOR' => '#' . $row_color,
    'ROW_CLASS' => $row_class,
    'SHOUT_USERNAME' => $shout_username,
    'POSTS' => $row['postings'] . ' ' . ( ( $row['postings'] == 1 ) ? $lang['Post'] : $lang['Posts'] ),
    'L_SEARCH_POSTS' => sprintf($lang['Search_user_posts'], $shout_username),

    'U_PROFILE' => append_sid("profile.$phpEx?mode=viewprofile&amp;" . POST_USERS_URL . "=$id"),
    'U_SEARCHPOSTS' => append_sid("search.$phpEx?search_author=" . urlencode($shout_username) . "&amp;showresults=topics"))
   );

   $i++;
  }
  while ( $row = $db->sql_fetchrow($result) );
 }
 $template->pparse('viewip');
require_once($phpbb_root_path . 'includes/page_tail.'.$phpEx);
exit;
}

//
// display the defult page
//

// see if we need offset
if ((isset($HTTP_POST_VARS['start']) || isset($HTTP_GET_VARS['start'])) && !$submit)
{
$start=(isset($HTTP_POST_VARS['start'])) ? intval($HTTP_POST_VARS['start']) : intval($HTTP_GET_VARS['start']);
}
else
{
$start=0;
}

require_once($phpbb_root_path . 'includes/functions_post.'.$phpEx);
require_once($phpbb_root_path . 'includes/page_header.'.$phpEx);

//
// Was a highlight request part of the URI?
//
$highlight_match = $highlight = '';
if (isset($HTTP_GET_VARS['highlight']))
{
  // Split words and phrases
$highlight = trim(strip_tags(htmlspecialchars($HTTP_GET_VARS['highlight'])));
  $words = explode(' ', $highlight);

  for($i = 0; $i < count($words); $i++)
  {
     if ( trim($words[$i]) != '' )
     {
        $highlight_match .= (($highlight_match != '') ? '|' : '') . str_replace('*', '\w*', phpbb_preg_quote($words[$i], '#'));
     }
  }
  unset($words);
  $highlight = urlencode($highlight);
}
$sql = "SELECT *
FROM " . RANKS_TABLE . "
ORDER BY rank_special, rank_min";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Could not obtain ranks information.", '', __LINE__, __FILE__, $sql);
}

$ranksrow = array();
while ( $row = $db->sql_fetchrow($result) )
{
$ranksrow[] = $row;
}
$db->sql_freeresult($result);

//
// Define censored word matches
//
$orig_word = array();
$replacement_word = array();
obtain_word_list($orig_word, $replacement_word);

// get statistics
$sql = "SELECT COUNT(*) as total FROM " . SHOUTBOX_TABLE;
if ( !($result = $db->sql_query($sql)) )
{
 message_die(GENERAL_ERROR, 'Could not get shoutbox stat information', '', __LINE__, __FILE__, $sql);
}
$total_shouts = $db->sql_fetchrow($result);
$total_shouts = $total_shouts['total'];
// parse post permission
if ($is_auth['auth_post'])
{
 $template->set_filenames(array('body' => 'shoutbox_max_body.tpl'));
} else
{
 $template->set_filenames(array('body' => 'shoutbox_max_guest_body.tpl'));
}
// Generate pagination for shoutbox view
$pagination = ( $highlight_match ) ? generate_pagination("shoutbox_max.$phpEx?highlight=".$highlight, $total_shouts, $board_config['posts_per_page'], $start) : generate_pagination("shoutbox_max.$phpEx?dummy=1", $total_shouts, $board_config['posts_per_page'], $start);

// Generate smilies listing for page output
generate_smilies('inline', PAGE_SHOUTBOX_MAX);

//
// Smilies toggle selection
//
if ( $board_config['allow_smilies'] )
{
 $smilies_status = $lang['Smilies_are_ON'];
 $template->assign_block_vars('switch_smilies_checkbox', array());
}
else
{
 $smilies_status = $lang['Smilies_are_OFF'];
}
//
// HTML toggle selection
//
if ( $board_config['allow_html'] )
{
 $html_status = $lang['HTML_is_ON'];
 $template->assign_block_vars('switch_html_checkbox', array());
}
else
{
 $html_status = $lang['HTML_is_OFF'];
}
//
// BBCode toggle selection
//
if ( $board_config['allow_bbcode'] )
{
 $bbcode_status = $lang['BBCode_is_ON'];
 $template->assign_block_vars('switch_bbcode_checkbox', array());
}
else
{
 $bbcode_status = $lang['BBCode_is_OFF'];
}

//
// display the shoutbox
//
$sql = "SELECT s.*, u.* FROM " . SHOUTBOX_TABLE . " s, ".USERS_TABLE." u
 WHERE s.shout_user_id=u.user_id ORDER BY s.shout_session_time DESC LIMIT $start, ".$board_config['posts_per_page'];
if ( !($result = $db->sql_query($sql)) )
{
 message_die(GENERAL_ERROR, 'Could not get shoutbox information', '', __LINE__, __FILE__, $sql);
}
 $all_ranks = array();
 init_ranks($all_ranks);

 while ($shout_row = $db->sql_fetchrow($result))
 {
  $i++;
  $row_color = ( !($i % 2) ) ? $theme['td_color1'] : $theme['td_color2'];
  $row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'];
  $user_id = $shout_row['shout_user_id'];
  $shout_username = ( $user_id == ANONYMOUS ) ? (( $shout_row['shout_username'] == '' ) ? $lang['Guest'] : $shout_row['shout_username'] ) : "<a href='".append_sid("profile.$phpEx?mode=viewprofile&amp;" . POST_USERS_URL . "=".$shout_row['shout_user_id'])."' target='_top'>".$shout_row['username']."</a>";

  $user_profile = append_sid("profile.$phpEx?mode=viewprofile&amp;" . POST_USERS_URL . "=$user_id");
  $user_posts = ( $shout_row['user_id'] != ANONYMOUS ) ? $lang['Posts'] . ': ' . $shout_row['user_posts'] : '';
  $user_from = ( $shout_row['user_from'] && $shout_row['user_id'] != ANONYMOUS ) ? $lang['Location'] . ': ' . $shout_row['user_from'] : '';
  $user_joined = ( $shout_row['user_id'] != ANONYMOUS ) ? $lang['Joined'] . ': ' . create_date($lang['DATE_FORMAT'], $shout_row['user_regdate'], $board_config['board_timezone']) : '';
  if ( $shout_row['user_avatar_type'] && $user_id != ANONYMOUS && $shout_row['user_allowavatar'] )
  {
   switch( $shout_row['user_avatar_type'] )
   {
    case USER_AVATAR_UPLOAD:
     $user_avatar = ( $board_config['allow_avatar_upload'] ) ? '<img src="' . $board_config['avatar_path'] . '/' . $shout_row['user_avatar'] . '" alt="" border="0" />' : '';
     break;
    case USER_AVATAR_REMOTE:
     $user_avatar = ( $board_config['allow_avatar_remote'] ) ? '<img src="' . $shout_row['user_avatar'] . '" alt="" border="0" />' : '';
     break;
    case USER_AVATAR_GALLERY:
     $user_avatar = ( $board_config['allow_avatar_local'] ) ? '<img src="' . $board_config['avatar_gallery_path'] . '/' . $shout_row['user_avatar'] . '" alt="" border="0" />' : '';
     break;
   }
   $user_avatar = ($shout_row['user_avatar_url']) ? '<a href="'.$shout_row['user_avatar_url'].'">'.$user_avatar.'</a>' : $user_avatar;
  } else $user_avatar='';
  $shout = (! $shout_row['shout_active']) ? $shout_row['shout_text'] : $lang['Shout_censor'].(($is_auth['auth_mod']) ? '<br/><hr/><br/>'.$shout_row['shout_text'] : '');
  $user_sig = ( $shout_row['enable_sig'] && $shout_row['user_sig'] != '' && $board_config['allow_sig'] ) ? $shout_row['user_sig'] : '';
  $user_sig_bbcode_uid = $shout_row['user_sig_bbcode_uid'];
  $user_rank = '';
  $rank_image = '';
  if ( $shout_row['user_rank'])
  {
   for($j = 0; $j < count($ranksrow); $j++)
   {
    if ( $shout_row['user_rank'] == $ranksrow[$j]['rank_id'] && $ranksrow[$j]['rank_special'] )
    {
     $rank_temp = get_user_rank($shout_row);
     $user_rank = $rank_temp['rank_title'];
     //$user_rank = ($shout_row['user_id'] != ANONYMOUS) ? $ranksrow[$j]['rank_title'] : '';
     $rank_image = ( $ranksrow[$j]['rank_image'] && $shout_row['user_id'] != ANONYMOUS) ? '<img src="' . $ranksrow[$j]['rank_image'] . '" alt="' . $user_rank . '" title="' . $user_rank . '" border="0" /><br />' : '';
    }
   }
  } else
  {
   for($j = 0; $j < count($ranksrow); $j++)
   {
    if ( $shout_row['user_posts'] >= $ranksrow[$j]['rank_min'] && !$ranksrow[$j]['rank_special'] )
    {
     $rank_temp = get_user_rank($shout_row);
     $user_rank = $rank_temp['rank_title'];
//      $user_rank = ($shout_row['user_id'] != ANONYMOUS) ? $ranksrow[$j]['rank_title'] : '';
     $rank_image = ( $ranksrow[$j]['rank_image'] && $shout_row['user_id'] != ANONYMOUS) ? '<img src="' . $ranksrow[$j]['rank_image'] . '" alt="' . $user_rank . '" title="' . $user_rank . '" border="0" /><br />' : '';
    }
   }
  }

  if ( $user_sig != '' )
  {
   $user_sig = make_clickable($user_sig);
  }
  $message = make_clickable($message);

//
   // Highlight active words (primarily for search)
   //
   if ($highlight_match)
   {
      $shout = str_replace('\"', '"', substr(preg_replace('#(\>(((?>([^><]+|(?R)))*)\<))#se', "preg_replace('#\b(" . $highlight_match . ")\b#i', '<span style=\"color:#" . $theme['fontcolor3'] . "\"><b>\\\\1</b></span>', '\\0')", '>' . $shout . '<'), 1, -1));
   }
//
// Replace naughty words
//
if ( count($orig_word) )
{
 if ( $user_sig != '' )
 {
  $user_sig = preg_replace($orig_word, $replacement_word, $user_sig);
 }
 $shout = preg_replace($orig_word, $replacement_word, $shout);
}

  if ( $smilies_on && $shout != '' && $shout_row['enable_smilies'])
  {
   $shout = smilies_pass($shout);
  }
  $shout = bbencode_second_pass($shout,$shout_row['shout_bbcode_uid']);

if ( $is_auth['auth_mod'] && $is_auth['auth_delete'])
{
 $temp_url = append_sid("shoutbox_max.$phpEx?mode=ip&amp;" . POST_POST_URL . "=" . $shout_row['shout_id']);
 $ip_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_ip'] . '" alt="' . $lang['View_IP'] . '" title="' . $lang['View_IP'] . '" border="0" /></a>';
 $ip = '<a href="' . $temp_url . '">' . $lang['View_IP'] . '</a>';

 $temp_url = append_sid("shoutbox_max.$phpEx?mode=delete&amp;" . POST_POST_URL . "=" . $shout_row['shout_id']);
 $delshout_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_delpost'] . '" alt="' . $lang['Delete_post'] . '" title="' . $lang['Delete_post'] . '" border="0" /></a>&nbsp;';
 $delshout = '<a href="' . $temp_url . '">' . $lang['Delete_post'] . '</a>';

 $temp_url = append_sid("shoutbox_max.$phpEx?mode=censor&amp;" . POST_POST_URL . "=" . $shout_row['shout_id']);
 $censorshout_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_censor'] . '" alt="' . $lang['Censor'] . '" title="' . $lang['Censor'] . '" border="0" /></a>&nbsp;';
 $censorshout = '<a href="' . $temp_url . '">' . $lang['Delete_post'] . '</a>';
}
else
{
 $ip_img = '';
 $ip = '';

 if ( $userdata['user_id'] == $user_id && $is_auth['auth_delete'] )
 {
  $temp_url = append_sid("shoutbox_max.$phpEx?mode=censor&amp;" . POST_POST_URL . "=" . $shout_row['shout_id']);
  $censorshout_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_censor'] . '" alt="' . $lang['Censor'] . '" title="' . $lang['Censor'] . '" border="0" /></a>&nbsp;';
  $censorshout = '<a href="' . $temp_url . '">' . $lang['Delete_post'] . '</a>';
 }
 else
 {
  $delshout_img = '';
  $delshout = '';
  $censorshout_img = '';
  $censorshout = '';
 }
}
 $template->assign_block_vars('shoutrow', array(
  'ROW_COLOR' => '#' . $row_color,
  'ROW_CLASS' => $row_class,
  'SHOUT' => $shout,
  'TIME' => create_date($board_config['default_dateformat'], $shout_row['shout_session_time'], $board_config['board_timezone']),
  'SHOUT_USERNAME' => $shout_username,
  'U_VIEW_USER_PROFILE' => $user_profile,
  'USER_RANK' => $user_rank,
  'RANK_IMAGE' => $rank_image,
  'IP_IMG' => $ip_img,
  'IP' => $ip,

  'MINI_POST_IMG' => $images['icon_minipost'],
  'U_MINI_POST' => 'shoutbox_max.' . $phpEx . '?dummy=1&start=' . $start .'#'. $shout_row['shout_id'],

  'DELETE_IMG' => $delshout_img,
  'DELETE' => $delshout,
  'CENSOR_IMG' => $censorshout_img,
  'CENSOR' => $censorshout,
  'USER_JOINED' => $user_joined,
  'USER_POSTS' => $user_posts,
  'USER_FROM' => $user_from,
  'USER_AVATAR' => $user_avatar,
  'U_SHOUT_ID' => $shout_row['shout_id']
  ));
}

//
// Show post options
//
if ( $is_auth['auth_post'] )
{
 $template->assign_block_vars('switch_auth_post', array());
}
else
{
 $template->assign_block_vars('switch_auth_no_post', array());
}
 $template->assign_vars(array(
  'USERNAME' => $username,
  'PAGINATION' => $pagination,
  'NUMBER_OF_SHOUTS' => $total_shouts,
  'HTML_STATUS' => $html_status,
  'MESSAGE' => $message,
  'BBCODE_STATUS' => sprintf($bbcode_status, '<a href="' . append_sid("faq.$phpEx?mode=bbcode") . '" target="_phpbbcode">', '</a>'),
 'L_SHOUTBOX_LOGIN' => $lang['Login_join'],
 'L_POSTED' => $lang['Posted'],
 'L_AUTHOR' => $lang['Author'],
 'L_MESSAGE' => $lang['Message'],
'U_SHOUTBOX' => append_sid("shoutbox_max.$phpEx?start=$start"),
'T_NAME' => $theme['template_name'],
'L_SHOUTBOX' => $lang['Shoutbox'],
'L_SHOUT_PREVIEW' => $lang['Preview'],
'L_SHOUT_SUBMIT' => $lang['Go'],
'L_SHOUT_TEXT' => $lang['Shout_text'],
'L_SHOUT_REFRESH' => $lang['Shout_refresh'],
'S_HIDDEN_FIELDS' => $s_hidden_fields,

'SMILIES_STATUS' => $smilies_status,
'L_BBCODE_B_HELP' => $lang['bbcode_b_help'],
'L_BBCODE_I_HELP' => $lang['bbcode_i_help'],
'L_BBCODE_U_HELP' => $lang['bbcode_u_help'],
'L_BBCODE_Q_HELP' => $lang['bbcode_q_help'],
'L_BBCODE_C_HELP' => $lang['bbcode_c_help'],
'L_BBCODE_L_HELP' => $lang['bbcode_l_help'],
'L_BBCODE_O_HELP' => $lang['bbcode_o_help'],
'L_BBCODE_P_HELP' => $lang['bbcode_p_help'],
'L_BBCODE_W_HELP' => $lang['bbcode_w_help'],
'L_BBCODE_A_HELP' => $lang['bbcode_a_help'],
'L_BBCODE_S_HELP' => $lang['bbcode_s_help'],
'L_BBCODE_F_HELP' => $lang['bbcode_f_help'],
'L_EMPTY_MESSAGE' => $lang['Empty_message'],

'L_FONT_COLOR' => $lang['Font_color'],
'L_COLOR_DEFAULT' => $lang['color_default'],
'L_COLOR_DARK_RED' => $lang['color_dark_red'],
'L_COLOR_RED' => $lang['color_red'],
'L_COLOR_ORANGE' => $lang['color_orange'],
'L_COLOR_BROWN' => $lang['color_brown'],
'L_COLOR_YELLOW' => $lang['color_yellow'],
'L_COLOR_GREEN' => $lang['color_green'],
'L_COLOR_OLIVE' => $lang['color_olive'],
'L_COLOR_CYAN' => $lang['color_cyan'],
'L_COLOR_BLUE' => $lang['color_blue'],
'L_COLOR_DARK_BLUE' => $lang['color_dark_blue'],
'L_COLOR_INDIGO' => $lang['c
*


CAN YOU please explain what are you talking about? It's really difficult to read your code. Check out mine http://www.trap17.com/forums/Shoutbox-Made...getnewpost.html

Reply

Ao)K-General
How do you set it up with the php horus gave us? i have no idea how to use it? do i just make the files and put them in with the code? i am using another host that i had for awhile but didn't suit my needs to test it

Reply



Got an Opinion! Express your Views! (no registration):-
Add your Reply/ Opinion/ Views/ Comments/ Suggestion/ Questions/ Queries etc.
Posts with decent grammar & English will be accepted and please refrain from profanities.
For asking a Question, We recommend you to sign-up (for free) so that you can track the topic easily.

Nature of your Post*: Opinion/ Reply/ Comments
Question/Query
Feedback to us.
       
Name   Email
Title/Question*

(Maximum characters: 10,000)
You have characters left.
Confirm Code:

Pages: 1, 2