ok here is (your request ) it(http://exe.haz.dk/mods/Shoutbox With IA.txt):Antony wrote: HOw about adding it to Shoutbox, by Neils?
Code: Select all
#################################################################
## Mod Title: shout with AI
## Mod Version: 0.2.5
## Author: WyriHaximus < [email protected] > (Cees-Jan Kiewiet) http://www.web-texh.tk/
## Description: This mod will add IA to Niels Chr. Denmark Shoutbox.
##
## Installation Level: easy
## Installation Time: about 10 Minutes
##
## Files To Edit: /shoutbox.php
## /shoutbox_view.php
## /shoutbox_max.php
## /language/lang_english/lang_main.php
## /templates/subSilver/shoutbox_body.tpl
## /templates/subSilver/shoutbox_view_body.tpl
## /templates/subSilver/shoutbox_max_body.tpl
## /templates/subSilver/shoutbox_max_guest_body.tpl
##
#################################################################
## Security Disclaimer: This MOD Cannot Be Posted To Or Added At Any Non-Official phpBB Sites
#################################################################
##
## Author Note:
##
## You need Niels Chr. Denmark Shoutbox mod, you can download it @ http://mods.db9.dk
## And you need the IAI mod, you can download it @ palgn.com/iai
##
## PLEASE place questions @ my forum: http://www.web-texh.tk/
##
#################################################################
##
## Chancelog:
##
## 0.1.0 Initial release
## 0.2.0 shoutbox_max support added
## 0.2.5 some code changes
##
#################################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
#################################################################
#
#-----[ ADD SQL ]------------------------------------------
# remember to replace phpbb_ with your table prefix
ALTER TABLE phpbb_shout ADD iai_shout TEXT NOT NULL AFTER shout_text
#
#-----[ OPEN ]------------------------------------------
#
/shoutbox.php
#
#-----[ FIND ]------------------------------------------
#
$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,iai_shout)
VALUES ('$message', '".time()."', '".$userdata['user_id']."', '$user_ip', '".$userdata['username']."', '".$bbcode_uid."',$bbcode_on,$html_on,$smilies_on,'".$iai_message."')";
#
#-----[ REPLACE WITH ]------------------------------------------
# (replace mods/iai/ with your path to the iai mod)
$bbcode_uid = ( $bbcode_on ) ? make_bbcode_uid() : '';
if($HTTP_POST_VARS['iai'])
{
$iai_root_path = "mods/iai/";
include($iai_root_path.'includes/iai_functions.'.$phpEx);
//Init IAI vars
$iai_mode = 'reply';
$iai_post_id = '';
$iai_id = $board_config['iai_userid'];
$iai_subject = '';
$iai_username = $board_config['iai_username'];
$iai_topic_type = POST_NORMAL;
//Get IAI reply (first tell who you are)
$numselects = 0;
$iai_reply_to_name = $userdata['username'];
$iai_reply_to = 'My name is ' . $userdata['username'] . '. ';
// Note: I'm using the user_id as the unique id if the user is logged in, here
$myuniqueid = ($userdata['session_logged_in']) ? $user_id : session_id();
$iai_reply = @reply($iai_reply_to,$myuniqueid);
$iai_message = $iai_reply->response;
$iai_reply_to = str_replace("is " . $iai_username, "are you", $message);
$iai_reply_to = str_replace( $iai_username, "you", $message);
$iai_reply = @reply($iai_reply_to,$myuniqueid);
$iai_message = $iai_reply->response;
// prepare IAI message(IAI may have used html, smilies etc...)
//$bbcode_uid = ( $bbcode_on ) ? make_bbcode_uid() : '';
$iai_message = str_replace("'", "''", $iai_message);
// This is to fix up some of the bad formatting which comes out of the AI
$iai_message = str_replace(".", ". ", $iai_message);
$iai_message = str_replace("!", "! ", $iai_message);
$iai_message = str_replace("?", "? ", $iai_message);
$iai_message = prepare_message(trim($iai_message), $html_on, $bbcode_on, $smilies_on, $bbcode_uid);
}
else
{
$iai_message = "";
}
$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,iai_shout)
VALUES ('$message', '".time()."', '".$userdata['user_id']."', '$user_ip', '".$userdata['username']."', '".$bbcode_uid."',$bbcode_on,$html_on,$smilies_on,'".$iai_message."')";
#
#-----[ FIND ]------------------------------------------
#
'S_HIDDEN_FIELDS' => $s_hidden_fields
#
#-----[ REPLACE WITH ]------------------------------------------
#
'S_HIDDEN_FIELDS' => $s_hidden_fields,
'L_INGORE_IAI' => sprintf($lang['Ignore_iai'],$board_config['iai_username'])
#
#-----[ OPEN ]------------------------------------------
#
/shoutbox_view.php
#
#-----[ FIND ]------------------------------------------
#
//
// display the shoutbox
//
#
#-----[ BEFORE ADD ]------------------------------------------
#
$iai_userdata = get_userdata($board_config['iai_username']);
#
#-----[ FIND ]------------------------------------------
#
$template->assign_block_vars('shoutrow', array(
'ROW_COLOR' => '#' . $row_color,
'ROW_CLASS' => $row_class,
'SHOUT' => preg_replace($orig_word, $replacement_word, $shout),
'TIME' => create_date($lang['Shoutbox_date'], $shout_row['shout_session_time'], $board_config['board_timezone']),
'USERNAME' => "<a href='".append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=".$shout_row['shout_user_id'])."' target='_top'>$username</a>"
));
#
#-----[ AFTER, ADD ]------------------------------------------
#
if($shout_row['iai_shout']!="")
{
$shout = $shout_row['iai_shout'];
if ( $board_config['allow_smilies'] && $shout_row['user_allowsmile'] && $shout != '' & $shout_row['enable_smilies'])
{
$shout = smilies_pass($shout);
}
$template->assign_block_vars('shoutrow.iai', array(
'ROW_COLOR' => '#' . $row_color,
'ROW_CLASS' => $row_class,
'SHOUT' => preg_replace($orig_word, $replacement_word, $shout),
'USERNAME' => "<a href='".append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=".$iai_userdata['user_id'])."' target='_top'>".$iai_userdata['username']."</a>"
));
}
#
#-----[ OPEN ]------------------------------------------
#
/shoutbox_max.php
#
#-----[ FIND ]------------------------------------------
#
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', '".$userdata['username']."', '".$bbcode_uid."',$bbcode_on,$html_on,$smilies_on)";
#
#-----[ REPLACE WITH ]------------------------------------------
#
include_once($phpbb_root_path . 'includes/functions_post.'.$phpEx);
$bbcode_uid = ( $bbcode_on ) ? make_bbcode_uid() : '';
if($HTTP_POST_VARS['iai'])
{
$iai_root_path = "mods/iai/";
include($iai_root_path.'includes/iai_functions.'.$phpEx);
//Init IAI vars
$iai_mode = 'reply';
$iai_post_id = '';
$iai_id = $board_config['iai_userid'];
$iai_subject = '';
$iai_username = $board_config['iai_username'];
$iai_topic_type = POST_NORMAL;
//Get IAI reply (first tell who you are)
$numselects = 0;
$iai_reply_to_name = $userdata['username'];
$iai_reply_to = 'My name is ' . $userdata['username'] . '. ';
// Note: I'm using the user_id as the unique id if the user is logged in, here
$myuniqueid = ($userdata['session_logged_in']) ? $user_id : session_id();
$iai_reply = @reply($iai_reply_to,$myuniqueid);
$iai_message = $iai_reply->response;
$iai_reply_to = str_replace("is " . $iai_username, "are you", $message);
$iai_reply_to = str_replace( $iai_username, "you", $message);
$iai_reply = @reply($iai_reply_to,$myuniqueid);
$iai_message = $iai_reply->response;
// prepare IAI message(IAI may have used html, smilies etc...)
//$bbcode_uid = ( $bbcode_on ) ? make_bbcode_uid() : '';
$iai_message = str_replace("'", "''", $iai_message);
// This is to fix up some of the bad formatting which comes out of the AI
$iai_message = str_replace(".", ". ", $iai_message);
$iai_message = str_replace("!", "! ", $iai_message);
$iai_message = str_replace("?", "? ", $iai_message);
$iai_message = prepare_message(trim($iai_message), $html_on, $bbcode_on, $smilies_on, $bbcode_uid);
}
else
{
$iai_message = "";
}
$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,iai_shout)
VALUES ('$message', '".time()."', '".$userdata['user_id']."', '$user_ip', '".$userdata['username']."', '".$bbcode_uid."',$bbcode_on,$html_on,$smilies_on,'".$iai_message."')";
#
#-----[ FIND ]------------------------------------------
#
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 WITH ]------------------------------------------
#
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));
$iai_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')", '>' . $iai_shout . '<'), 1, -1));
}
#
#-----[ FIND ]------------------------------------------
#
$shout = preg_replace($orig_word, $replacement_word, $shout);
#
#-----[ AFTER ADD ]------------------------------------------
#
$iai_shout = preg_replace($orig_word, $replacement_word, $iai_shout);
#
#-----[ FIND ]------------------------------------------
#
if ( $smilies_on && $shout != '' && $shout_row['enable_smilies'])
{
$shout = smilies_pass($shout);
}
$shout = bbencode_second_pass($shout,$shout_row['shout_bbcode_uid']);
#
#-----[ REPLACE WITH ]------------------------------------------
#
if ( $smilies_on && $shout != '' && $shout_row['enable_smilies'])
{
$shout = smilies_pass($shout);
$iai_shout = smilies_pass($iai_shout);
}
$shout = bbencode_second_pass($shout,$shout_row['shout_bbcode_uid']);
$iai_shout = bbencode_second_pass($iai_shout,$shout_row['shout_bbcode_uid']);
#
#-----[ FIND ]------------------------------------------
#
$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']),
'USERNAME' => $username,
'U_VIEW_USER_PROFILE' => $user_profile,
'USER_RANK' => $user_rank,
'RANK_IMAGE' => $rank_image,
'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']
));
#
#-----[ AFTER ADD ]------------------------------------------
#
$iai_sql = $db->sql_query("SELECT * FROM " . USERS_TABLE . " WHERE username = '".$board_config['iai_username']."' LIMIT 0,1");
$iai_row = $db->sql_fetchrow($iai_sql);
$user_id = $iai_row['user_id'];
$username = ( $user_id == ANONYMOUS ) ? (( $iai_row['username'] == '' ) ? $lang['Guest'] : $iai_row['username'] ) : $iai_row['username'] ;
$user_profile = append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=$user_id");
$user_posts = ( $iai_row['user_id'] != ANONYMOUS ) ? $lang['Posts'] . ': ' . $iai_row['user_posts'] : '';
$user_from = ( $iai_row['user_from'] && $iai_row['user_id'] != ANONYMOUS ) ? $lang['Location'] . ': ' . $iai_row['user_from'] : '';
$user_joined = ( $iai_row['user_id'] != ANONYMOUS ) ? $lang['Joined'] . ': ' . create_date($lang['DATE_FORMAT'], $iai_row['user_regdate'], $board_config['board_timezone']) : '';
if ( $iai_row['user_avatar_type'] && $user_id != ANONYMOUS && $iai_row['user_allowavatar'] )
{
switch( $iai_row['user_avatar_type'] )
{
case USER_AVATAR_UPLOAD:
$user_avatar = ( $board_config['allow_avatar_upload'] ) ? '<img src="' . $board_config['avatar_path'] . '/' . $iai_row['user_avatar'] . '" alt="" border="0" />' : '';
break;
case USER_AVATAR_REMOTE:
$user_avatar = ( $board_config['allow_avatar_remote'] ) ? '<img src="' . $iai_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'] . '/' . $iai_row['user_avatar'] . '" alt="" border="0" />' : '';
break;
}
$user_avatar = ($iai_row['user_avatar_url']) ? '<a href="'.$iai_row['user_avatar_url'].'">'.$user_avatar.'</a>' : $user_avatar;
} else $user_avatar='';
$iai_shout = (! $shout_row['shout_active']) ? $shout_row['iai_shout'] : $lang['Shout_censor'].(($is_auth['auth_mod']) ? '<br/><hr/><br/>'.$shout_row['iai_shout'] : '');
$user_sig = ( $iai_row['enable_sig'] && $iai_row['user_sig'] != '' && $board_config['allow_sig'] ) ? $iai_row['user_sig'] : '';
$user_sig_bbcode_uid = $iai_row['user_sig_bbcode_uid'];
$user_rank = '';
if ( $iai_row['user_rank'] )
{
for($j = 0; $j < count($ranksrow); $j++)
{
if ( $iai_row['user_rank'] == $ranksrow[$j]['rank_id'] && $ranksrow[$j]['rank_special'] )
{
$user_rank = $ranksrow[$j]['rank_title'];
$rank_image = ( $ranksrow[$j]['rank_image'] ) ? '<img src="' . $ranksrow[$j]['rank_image'] . '" alt="' . $user_rank . '" title="' . $user_rank . '" border="0" /><br />' : '';
}
}
}
else
{
for($j = 0; $j < count($ranksrow); $j++)
{
if ( $iai_row['user_posts'] >= $ranksrow[$j]['rank_min'] && !$ranksrow[$j]['rank_special'] )
{
$user_rank = $ranksrow[$j]['rank_title'];
$rank_image = ( $ranksrow[$j]['rank_image'] ) ? '<img src="' . $ranksrow[$j]['rank_image'] . '" alt="' . $user_rank . '" title="' . $user_rank . '" border="0" /><br />' : '';
}
}
}
if ( $user_sig != '' )
{
$user_sig = make_clickable($user_sig);
}
$template->assign_block_vars('shoutrow.iai', array(
'ROW_COLOR' => '#' . $row_color,
'ROW_CLASS' => $row_class,
'SHOUT' => $iai_shout,
'TIME' => create_date($board_config['default_dateformat'], $shout_row['shout_session_time'], $board_config['board_timezone']),
'USERNAME' => $board_config['iai_username'],
'U_VIEW_USER_PROFILE' => $user_profile,
'USER_RANK' => $user_rank,
'RANK_IMAGE' => $rank_image,
'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']
));
#
#-----[ OPEN ]------------------------------------------
#
/language/lang_english/lang_main.php
#
#-----[ FIND ]------------------------------------------
#
$lang['Viewing_Shoutbox']= 'Viewing shoutbox';
$lang['Censor'] ='Censor';
#
#-----[ AFTER ADD ]-------------------------------------
#
$lang['Ignore_iai'] = "Ignore %s's replies";
#
#-----[ OPEN ]------------------------------------------
#
/templates/subSilver/shoutbox_body.tpl
#
#-----[ FIND ]------------------------------------------
#
<input type="submit" class="mainoption" value="{L_SHOUT_SUBMIT}" name="shout" />
#
#-----[ AFTER ADD ]-------------------------------------
#
{L_INGORE_IAI}<input type=radio name="iai" value="0" CHECKED>Yes&<input type=radio name="iai" value="1">No
#
#-----[ OPEN ]------------------------------------------
#
/templates/subSilver/shoutbox_view_body.tpl
#
#-----[ FIND ]------------------------------------------
#
{shoutrow.SHOUT}<br/></span>
#
#-----[ AFTER ADD ]-------------------------------------
#
<!-- BEGIN iai -->
<tr>
<td class="{shoutrow.iai.ROW_CLASS}" width="100%" higth="100%">
<span class="gensmall">
<b>{shoutrow.iai.USERNAME}:</b><br />
{shoutrow.iai.SHOUT}<br/></span>
</td>
</tr>
<!-- END iai -->
#
#-----[ OPEN ]------------------------------------------
#
/templates/subSilver/shoutbox_max_body.tpl
#
#-----[ FIND ]------------------------------------------
#
<tr>
<td class="catBottom" colspan="2" align="center" height="28"> {S_HIDDEN_FORM_FIELDS}
<input type="submit" tabindex="5" name="refresh" class="mainoption" value="{L_SHOUT_REFRESH}" />&
<input type="submit" tabindex="5" name="preview" class="mainoption" value="{L_SHOUT_PREVIEW}" />&
<input type="submit" accesskey="s" tabindex="6" name="shout" class="mainoption" value="{L_SHOUT_SUBMIT}" /></td>
</tr>
#
#-----[ BEFORE ADD ]-------------------------------------
#
<tr>
<td class="row1" height="28">
{L_INGORE_IAI}
</td>
<td class="row2" height="28">
<input type=radio name="iai" value="0" CHECKED>Yes&<input type=radio name="iai" value="1">No
</td>
</tr>
#
#-----[ FIND ]------------------------------------------
#
<tr>
<td class="spaceRow" colspan="2" height="1"><img src="templates/subSilver/images/spacer.gif" alt="" width="1" height="1" /></td>
</tr>
<!-- END shoutrow -->
#
#-----[ BEFORE ADD ]-------------------------------------
#
<!-- BEGIN iai -->
<tr>
<td width="160" align="left" valign="top" class="{shoutrow.iai.ROW_CLASS}">
<span class="name"><a name="{shoutrow.iai.U_SHOUT_ID}"></a><a href="{shoutrow.iai.U_VIEW_USER_PROFILE}" class="name"><b>{shoutrow.iai.USERNAME}</b></a></span><br />
<span class="postdetails">{shoutrow.iai.USER_RANK}<br />
{shoutrow.iai.RANK_IMAGE}<br/>
{shoutrow.iai.USER_AVATAR}<br /><br/>{shoutrow.iai.USER_JOINED}</span></td>
<td class="{shoutrow.iai.ROW_CLASS}" width="100%" height="28" valign="top">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="100%"><a href="{shoutrow.iai.U_MINI_POST}"><img src="{shoutrow.iai.MINI_POST_IMG}" width="12" height="9" alt="{shoutrow.iai.L_MINI_POST_ALT}" title="{shoutrow.iai.L_MINI_POST_ALT}" border="0" /></a><span class="postdetails">{L_POSTED}: {shoutrow.iai.TIME}</span></td>
<td valign="top" align="right" nowrap="nowrap">{shoutrow.iai.QUOTE_IMG}{shoutrow.iai.EDIT_IMG}{shoutrow.iai.CENSOR_IMG}{shoutrow.iai.DELETE_IMG}{shoutrow.iai.IP_IMG}</td></form>
</tr>
<tr>
<td colspan="2"><hr/></td>
</tr>
<tr>
<td colspan="2"><span class="postbody">{shoutrow.iai.SHOUT}{shoutrow.iai.SIGNATURE}</span></td>
</tr>
</table>
</td>
</tr>
<!-- END iai -->
#
#-----[ OPEN ]------------------------------------------
#
/templates/subSilver/shoutbox_max_guest_body.tpl
#
#-----[ FIND ]------------------------------------------
#
<tr>
<td class="spaceRow" colspan="2" height="1"><img src="templates/subSilver/images/spacer.gif" alt="" width="1" height="1" /></td>
</tr>
<!-- END shoutrow -->
#
#-----[ BEFORE ADD ]-------------------------------------
#
<!-- BEGIN iai -->
<tr>
<td width="160" align="left" valign="top" class="{shoutrow.iai.ROW_CLASS}">
<span class="name"><a name="{shoutrow.iai.U_SHOUT_ID}"></a><a href="{shoutrow.iai.U_VIEW_USER_PROFILE}" class="name"><b>{shoutrow.iai.USERNAME}</b></a></span><br />
<span class="postdetails">{shoutrow.iai.USER_RANK}<br />
{shoutrow.iai.RANK_IMAGE}<br/>
{shoutrow.iai.USER_AVATAR}<br /><br/>{shoutrow.iai.USER_JOINED}</span></td>
<td class="{shoutrow.iai.ROW_CLASS}" width="100%" height="28" valign="top">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="100%"><a href="{shoutrow.iai.U_MINI_POST}"><img src="{shoutrow.iai.MINI_POST_IMG}" width="12" height="9" alt="{shoutrow.iai.L_MINI_POST_ALT}" title="{shoutrow.iai.L_MINI_POST_ALT}" border="0" /></a><span class="postdetails">{L_POSTED}: {shoutrow.iai.TIME}</span></td>
<td valign="top" align="right" nowrap="nowrap">{shoutrow.iai.QUOTE_IMG}{shoutrow.iai.EDIT_IMG}{shoutrow.iai.CENSOR_IMG}{shoutrow.iai.DELETE_IMG}{shoutrow.iai.IP_IMG}</td></form>
</tr>
<tr>
<td colspan="2"><hr/></td>
</tr>
<tr>
<td colspan="2"><span class="postbody">{shoutrow.iai.SHOUT}{shoutrow.iai.SIGNATURE}</span></td>
</tr>
</table>
</td>
</tr>
<!-- END iai -->
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM