Thanks Dexxus, solution above refers to version 1.1 of phpwcms. Changes below highlighted in red:
<?php
if(!function_exists('guestbook_pages')) {
function guestbook_pages($pages=0, $wrap=' ||', $current=0, $total=1, $link='', $linkadd='') {
// used to create pages listing ... 1 2 3 ...
$wrap = explode('|', $wrap);
$pages = intval($pages);
$current = intval($current);
$total = intval($total);
$navpages = '';
$start = 1;
$end = $total;
if($pages && $pages < $total) {
$start = $current - (ceil(($pages-1) / 2) - 1);
if($start < 1) $start = 1;
$end = $start + $pages - 1;
if($end > $total) {
$start = $total - $pages + 1;
$end = $total;
}
}
// pages listing
for($x=$start; $x<=$end; $x++) {
if($navpages) $navpages .= $wrap[0];
if($x-1 != $current) {
$navpages .= '<a href="'.$link.($x-1).$linkadd.'">';
$navpages .= $x.'</a>';
} else {
$navpages .= $wrap[1].$x.$wrap[2];
}
}
//return $total.' '.$current;
return $navpages;
}
}
$content["main"] .= headline($crow["acontent_title"], $crow["acontent_subtitle"], $template_default["article"]);
$guestbook = unserialize($crow["acontent_form"]);
if(!$guestbook['aliasID']) {
$guestbook['cid'] = $crow["acontent_id"];
} else {
$guestbook['cid'] = $guestbook['aliasID'];
}
$guestbook['cid'] = intval($guestbook['cid']);
$guestbook['template'] = @file_get_contents(PHPWCMS_ROOT.$phpwcms["templates"].'inc_cntpart/guestbook/'.$guestbook['template']);
if(!$guestbook['template']) {
$guestbook['template'] = '<!--BAN_START//-->
shit fuck **** ****
<!--BAN_END//-->
<!--BAN_REPLACE_START//-->
<strong>banned</strong>
<!--BAN_REPLACE_END//-->
<!--FORM_START//-->
<table border="0" align="center" cellpadding="1" cellspacing="0" bgcolor="#F5F5F5" style="margin-bottom:10px;">
<tr bgcolor="#E1E1E1">
<td colspan="2"><strong> sign my guestbook</strong> <span style="font-size:10px;color:#CC3300;">(fields
marked * are obligatory)</span></td>
</tr>
<tr bgcolor="#E1E1E1"><td colspan="2"><img src="img/leer.gif" width="1" height="1" alt="" /></td></tr>
<!--FORM_ERROR_START//-->
<tr><td colspan="2"><img src="img/leer.gif" width="1" height="3" alt="" /></td></tr>
<tr><td colspan="2"> <span style="color:#CC3300;">not signed - fill in all neccessary info</span></td></tr>
<tr><td colspan="2"><img src="img/leer.gif" width="1" height="3" alt="" /></td></tr>
<!--FORM_ERROR_END//-->
<tr><td colspan="2"><img src="img/leer.gif" width="1" height="3" alt="" /></td></tr>
<tr>
<td align="right" class="v10">email<span style="color:#CC3300;">*</span>: </td>
<td><input name="guestbook_email" type="text" id="guestbook_email" style="width: 350px" class="v12" value="{EMAIL}" size="50" maxlength="250" /> </td>
</tr>
<tr>
<td align="right" class="v10">name<span style="color:#CC3300;">*</span>: </td>
<td><input name="guestbook_name" type="text" id="guestbook_name" style="width: 350px" class="v12" value="{NAME}" size="50" maxlength="500" /></td>
</tr>
<tr>
<td align="right" class="v10">website: </td>
<td><input name="guestbook_url" type="text" id="guestbook_url" style="width: 350px" class="v12" value="{URL}" size="50" maxlength="1000" /></td>
</tr>
<tr>
<td align="right" valign="top" class="v10"> message: </td>
<td><textarea name="guestbook_msg" cols="50" rows="6" id="guestbook_msg" class="v12" style="width: 350px">{MSG}</textarea></td>
</tr>
<tr>
<td align="right" valign="top" class="v10">display: </td>
<td><input name="guestbook_show" type="radio" value="0" checked>show email<br>
<input name="guestbook_show" type="radio" value="1">hide email<br>
<input type="radio" name="guestbook_show" value="2">show email as "info at mail dot com"</td>
</tr>
<tr><td colspan="2"><img src="img/leer.gif" width="1" height="4" alt="" /></td></tr>
<tr>
<td align="right"> </td>
<td><input name="guestbook_send" type="submit" id="guestbook_send" value="sign guestbook" class="v11" /></td>
</tr>
<tr><td colspan="2"><img src="img/leer.gif" width="1" height="6" alt="" /></td></tr>
</table>
<!--FORM_END//-->
<!--FORM_SUCCESS_START//-->
<div style="margin-top:5px; margin-bottom: 5px;">Thanks {NAME}! You have successfully signed our guestbook.</div>
<!--FORM_SUCCESS_END//-->
<!--NAV_START//-->
<table width="100%" border="0" cellspacing="0" cellpadding="0" style="margin-top:5px;">
<tr>
<td><strong>{FIRST:<<} {BACK:<}</strong> {PAGE:5: |<strong>|</strong>} <strong>{NEXT:>} {LAST:>>}</strong></td>
<td align="right">{ARCHIVE:%Y/%m|alle Einträge|go| } {JUMP:page|go| }</td>
</tr>
<tr><td colspan="2"><img src="img/leer.gif" width="1" height="3" alt="" /></td></tr>
</table>
<!--NAV_END//-->
<!--GUESTBOOK_START//-->
{FORM} {NAV}
<table width="100%" border="0" cellspacing="0" cellpadding="2">
<!--GUESTBOOK_ENTRY_START//-->
<tr bgcolor="#F5F5F5">
<td width="1%" align="right"><strong>{ID} </strong></td>
<td width="99%">{DBID} | {TIMESTAMP:m/d/Y H:i}</td>
</tr>
<tr><td colspan="2"><a href="mailto:{EMAIL}"><strong>{NAME}</strong></a> {URL:visit website} {EMAIL}<br />{MSG}</td></tr>
<tr><td colspan="2"><img src="img/leer.gif" width="1" height="3" alt="" /></td></tr>
<!--GUESTBOOK_ENTRY_END//-->
</table>
<!--GUESTBOOK_END//-->
<!--COMMENT_START//-->
<span style="color:#00CC00;">|</span>
<!--COMMENT_END//-->';
}
// get guestbook sections
$guestbook['form'] = get_tmpl_section('FORM', $guestbook['template']);
$guestbook['signed'] = get_tmpl_section('FORM_SUCCESS', $guestbook['template']);
$guestbook['nav'] = get_tmpl_section('NAV', $guestbook['template']);
$guestbook['nav'] = get_tmpl_section('NAV', $guestbook['template']);
$guestbook['entry'] = get_tmpl_section('GUESTBOOK_ENTRY', $guestbook['template']);
$guestbook['list'] = get_tmpl_section('GUESTBOOK', $guestbook['template']);
$guestbook['ban'] = trim(get_tmpl_section('BAN', $guestbook['template']).' '.$guestbook['banned']);
$guestbook['replace'] = trim(get_tmpl_section('BAN_REPLACE', $guestbook['template']));
$guestbook['comment'] = trim(get_tmpl_section('COMMENT', $guestbook['template']));
$guestbook['comment'] = explode('|', $guestbook['comment']);
$guestbook['comment'][0] = trim($guestbook['comment'][0]);
$guestbook['comment'][1] = trim($guestbook['comment'][1]);
$guestbook['readform'] = 0;
$guestbook['flooding'] = 0;
if($guestbook['time']) {
if(isset($_COOKIE['phpwcms_guestbook'])) {
if($_COOKIE['phpwcms_guestbook']+$guestbook['time'] >= time()) {
$guestbook['flooding'] = $guestbook['readform'] = 1;
}
}
if(!$guestbook['flooding']) {
$guestbook['sql'] = "SELECT MAX(guestbook_created) FROM ".DB_PREPEND."phpwcms_guestbook WHERE ";
$guestbook['sql'] .= "guestbook_cid='".$guestbook['cid']."' AND ";
$guestbook['sql'] .= "guestbook_ip='".aporeplace($_SERVER['REMOTE_ADDR'])."' AND ";
$guestbook['sql'] .= "guestbook_useragent=MD5('".aporeplace($_SERVER['HTTP_USER_AGENT'])."')";
if($guestbook['result'] = mysql_query($guestbook['sql'], $db)) {
if($guestbook['row'] = mysql_fetch_row($guestbook['result'])) {
if($guestbook['row'][0]+$guestbook['time'] >= time()) {
$guestbook['flooding'] = $guestbook['readform'] = 1;
}
}
mysql_free_result($guestbook['result']);
}
}
}
if(isset($_POST['guestbook_email']) && !$guestbook['flooding']) {
$guestbook['post']['email'] = clean_slweg(remove_unsecure_rptags($_POST['guestbook_email']));
$guestbook['post']['name'] = clean_slweg(remove_unsecure_rptags($_POST['guestbook_name']));
$guestbook['post']['url'] = clean_slweg(remove_unsecure_rptags($_POST['guestbook_url']));
$guestbook['post']['location'] = clean_slweg(remove_unsecure_rptags($_POST['guestbook_location']));
$guestbook['post']['msg'] = clean_slweg(remove_unsecure_rptags($_POST['guestbook_msg']));
$guestbook['post']['msg'] = preg_replace('/\[c\](.*?)\[\/c\]/is', "$1", $guestbook['post']['msg']);
$guestbook['post']['show'] = intval($_POST['guestbook_show']);
if($guestbook['post']['show'] > 2) {
$guestbook['post']['show'] = 0;
}
// check URL and try to connect - if fails set to ''
if($guestbook['post']['url']) {
if(!strstr($guestbook['post']['url'], "http://")) {
$guestbook['post']['url'] = 'http://'.$guestbook['post']['url'];
}
if ($guestbook['fp'] = @fopen($guestbook['post']['url'],"r")) {
fclose($guestbook['fp']);
} else {
$guestbook['post']['url'] = '';
}
}
if(is_valid_email($guestbook['post']['email']) && $guestbook['post']['name']) {
$guestbook['sql'] = "INSERT INTO ".DB_PREPEND."phpwcms_guestbook SET ";
$guestbook['sql'] .= "guestbook_cid='".$guestbook['cid']."', ";
$guestbook['sql'] .= "guestbook_msg='".aporeplace($guestbook['post']['msg'])."', ";
$guestbook['sql'] .= "guestbook_location='".aporeplace($guestbook['location']['location'])."', ";
$guestbook['sql'] .= "guestbook_name='".aporeplace($guestbook['post']['name'])."', ";
$guestbook['sql'] .= "guestbook_email='".aporeplace($guestbook['post']['email'])."', ";
$guestbook['sql'] .= "guestbook_created='".time()."', ";
$guestbook['sql'] .= "guestbook_url='".aporeplace($guestbook['post']['url'])."', ";
$guestbook['sql'] .= "guestbook_show='".$guestbook['post']['show']."', ";
$guestbook['sql'] .= "guestbook_ip='".aporeplace($_SERVER['REMOTE_ADDR'])."', ";
$guestbook['sql'] .= "guestbook_useragent=MD5('".aporeplace($_SERVER['HTTP_USER_AGENT'])."')";
mysql_query($guestbook['sql'], $db);
if(mysql_insert_id($db)) {
$guestbook['readform'] = 1;
if($guestbook['cookie'] && $guestbook['time']) {
setcookie('phpwcms_guestbook', time(), time()+intval($guestbook['time']));
}
} else {
$guestbook['readform'] = 0;
$content["main"] .= '<div style="color:#FF3300;">A technical problem occured while you ';
$content["main"] .= 'have tried to sign the guestbook</div>';
}
}
}
if(!$guestbook['readform']) {
if(!isset($_POST['guestbook_email'])) {
// remove post form error part
//$guestbook['form'] = preg_replace("/<!--FORM_ERROR_START-->(.*?)<!--FORM_ERROR_END-->/si", '', $guestbook['form']);
$guestbook['form'] = replace_tmpl_section('FORM_ERROR', $guestbook['form'], '');
}
$guestbook['form'] = str_replace('{EMAIL}', html_specialchars($guestbook['post']['email']), $guestbook['form']);
$guestbook['form'] = str_replace('{NAME}', html_specialchars($guestbook['post']['name']), $guestbook['form']);
$guestbook['form'] = str_replace('{URL}', html_specialchars($guestbook['post']['url']), $guestbook['form']);
$guestbook['form'] = str_replace('{LOCATION}', html_specialchars($guestbook['post']['location']), $guestbook['form']); $guestbook['form'] = str_replace('{MSG}', html_specialchars($guestbook['post']['msg']), $guestbook['form']);
// build sign guestbook form
$guestbook['form'] = '<form name="sign_guestbook" method="post" style="margin:0;padding:0;">'.$guestbook['form'].'</form>';
} else {
if(!$guestbook['flooding']) {
// if successfully signed show signed info
$guestbook['signed'] = str_replace('{EMAIL}', html_specialchars($guestbook['post']['email']), $guestbook['signed']);
$guestbook['signed'] = str_replace('{NAME}', html_specialchars($guestbook['post']['name']), $guestbook['signed']);
$guestbook['signed'] = str_replace('{URL}', html_specialchars($guestbook['post']['url']), $guestbook['signed']);
$guestbook['signed'] = str_replace('{LOCATION}', html_specialchars($guestbook['post']['location']), $guestbook['signed']); $guestbook['signed'] = str_replace('{MSG}', html_specialchars($guestbook['post']['msg']), $guestbook['signed']);
$guestbook['form'] = $guestbook['signed'];
} else {
$guestbook['form'] = '';
}
}
// start guestbook listing
// first check for all available related guestbook entries
$guestbook['archivedate'] = false;
$guestbook['archiveselect'] = false;
$guestbook['sql'] = "SELECT * FROM ".DB_PREPEND."phpwcms_guestbook WHERE guestbook_cid=";
$guestbook['sql'] .= $guestbook['cid']." AND guestbook_trashed=0 ";
if(isset($_GET['gbd']) && $_GET['gbs']) {
//$aktion[5] = 0;
$guestbook['archivedate'] = $_GET['gbd'];
$guestbook['archiveselect'] = $_GET['gbs'];
$guestbook['sql'] .= "AND FROM_UNIXTIME(guestbook_created,'".aporeplace($guestbook['archivedate']);
$guestbook['sql'] .= "')='".aporeplace($guestbook['archiveselect'])."' ";
}
if(isset($_POST['showarchive']) && $_POST['showarchive']) {
//$aktion[5] = 0;
$guestbook['archivedate'] = $_POST['archivedate'];
$guestbook['archiveselect'] = $_POST['showarchive'];
$guestbook['sql'] .= "AND FROM_UNIXTIME(guestbook_created,'".aporeplace($guestbook['archivedate']);
$guestbook['sql'] .= "')='".aporeplace($guestbook['archiveselect'])."' ";
}
$guestbook['sql'] .= "ORDER BY guestbook_created DESC";
//echo '<pre>'.htmlentities($guestbook['sql']).'</pre>';
$guestbook['counter'] = 1;
if($guestbook['listing'] && $guestbook['listcount']) {
if($guestbook['result'] = mysql_query($guestbook['sql'].';', $db)) {
$guestbook['count'] = mysql_num_rows($guestbook['result']);
mysql_free_result($guestbook['result']);
//echo '<pre>'.htmlentities($guestbook['count']).'</pre>';
}
$guestbook['pagecount'] = ceil($guestbook['count'] / $guestbook['listcount']);
if($guestbook['pagecount'] > 1 || $guestbook['archivedate']) {
if(isset($_POST['showguestbookpage'])) $aktion[5] = intval($_POST['showguestbookpage'])-1;
$guestbook['start_entry'] = $aktion[5] * $guestbook['listcount'];
$guestbook['sql'] .= ' LIMIT '.$guestbook['start_entry'].','.$guestbook['listcount'];
$guestbook['link_to'] = 'index.php?';
$guestbook['link_to'] .= 'id='.$aktion[0].','.$aktion[1].','.$aktion[2].','.$aktion[3].','.$aktion[4].',';
$guestbook['link_add'] = '';
if($guestbook['archivedate']) {
$guestbook['link_add'] .= '&gbd='.htmlentities(urlencode($guestbook['archivedate']));
$guestbook['link_add'] .= '&gbs='.htmlentities(urlencode($guestbook['archiveselect']));
}
// goto previous guestbook page
if($aktion[5] > 0) {
$guestbook['prev_replace'] = '<a href="'.$guestbook['link_to'].($aktion[5] - 1).$guestbook['link_add'].'">$1</a>';
$guestbook['first_replace'] = '<a href="'.$guestbook['link_to'].'0'.$guestbook['link_add'].'">$1</a>';
} else {
$guestbook['prev_replace'] = '$1';
$guestbook['first_replace'] = $guestbook['prev_replace'];
}
$guestbook['nav'] = preg_replace('/{BACK:(.*?)}/s', $guestbook['prev_replace'], $guestbook['nav']);
$guestbook['nav'] = preg_replace('/{FIRST:(.*?)}/s', $guestbook['first_replace'], $guestbook['nav']);
// goto next guestbook page
if($aktion[5]+1 < $guestbook['pagecount']) {
$guestbook['next_replace'] = '<a href="'.$guestbook['link_to'].($aktion[5] + 1).$guestbook['link_add'].'">$1</a>';
$guestbook['last_replace'] = '<a href="'.$guestbook['link_to'].($guestbook['pagecount']-1).$guestbook['link_add'].'">$1</a>';
} else {
$guestbook['next_replace'] = '$1';
$guestbook['last_replace'] = $guestbook['next_replace'];
}
$guestbook['nav'] = preg_replace('/{NEXT:(.*?)}/s', $guestbook['next_replace'], $guestbook['nav']);
$guestbook['nav'] = preg_replace('/{LAST:(.*?)}/s', $guestbook['last_replace'], $guestbook['nav']);
$guestbook['nav'] = preg_replace('/{PAGE:(\d+):(.*?)}/se', 'guestbook_pages($1, "$2", '.$aktion[5].', '.$guestbook['pagecount'].', "'.$guestbook['link_to'].'", "'.$guestbook['link_add'].'")', $guestbook['nav']);
// archive (form)
if( ! ( strpos($guestbook['nav'],'{ARCHIVE')===false ) ) {
preg_match('/{ARCHIVE:(.*?)}/s', $guestbook['nav'], $guestbook['archiveval']);
$guestbook['archiveval'] = explode('|', $guestbook['archiveval'][1]);
$guestbook['archive'] = '<form name="guestbookarchive" id="guestbookarchive" method="post" ';
$guestbook['archive'] .= 'action="index.php?id='.$aktion[0].','.$aktion[1].','.$aktion[2].','.$aktion[3].','.$aktion[4];
$guestbook['archive'] .= ',0" style="display:inline;margin:0;padding:0">';
$guestbook['archive'] .= '<select name="showarchive" id="showarchive" onChange="document.guestbookarchive.submit();">';
if(!isset($guestbook['archiveval'][1]) || !$guestbook['archiveval'][1]) {
$guestbook['archiveval'][1] = 'all entries';
}
$guestbook['archive'] .= '<option value="">'.$guestbook['archiveval'][1]."</option>\n";
if(!isset($guestbook['archiveval'][0]) || !$guestbook['archiveval'][0]) {
$guestbook['archiveval'][0] = '%m/%Y';
}
$guestbook['asql'] = "SELECT DISTINCT FROM_UNIXTIME(guestbook_created,'".aporeplace($guestbook['archiveval'][0]);
$guestbook['asql'] .= "') AS guestbook_date FROM ".DB_PREPEND."phpwcms_guestbook WHERE guestbook_cid=";
$guestbook['asql'] .= $guestbook['cid']." AND guestbook_trashed=0 ORDER BY guestbook_created DESC";
if($guestbook['result'] = mysql_query($guestbook['asql'], $db)) {
while($guestbook['row'] = mysql_fetch_row($guestbook['result'])) {
$guestbook['row'][0] = html_specialchars($guestbook['row'][0]);
$guestbook['archive'] .= '<option value="'.$guestbook['row'][0].'"';
if($guestbook['archiveselect'] == $guestbook['row'][0]) {
$guestbook['archive'] .= ' selected="selected"';
}
$guestbook['archive'] .= '>'.$guestbook['row'][0]."</option>\n";
}
mysql_free_result($guestbook['result']);
}
$guestbook['archive'] .= '</select>';
$guestbook['archive'] .= '<input type="hidden" name="archivedate" value="'.html_specialchars($guestbook['archiveval'][0]).'">';
if(isset($guestbook['archiveval'][2]) && $guestbook['archiveval'][2]) {
$guestbook['archive'] .= $guestbook['jumpval'][3];
// check if send button is image or text
if(preg_match('/[\.png|\.jpg|\.jpeg|\.gif]$/i', $guestbook['archiveval'][2], $matches)) {
$guestbook['archive'] .= '<input name="archivesubmit" type="image" src="'.trim($guestbook['archiveval'][2]).'" border="0">';
} else {
$guestbook['archive'] .= '<input name="archivesubmit" type="submit" value="'.$guestbook['archiveval'][2].'">';
}
}
$guestbook['archive'] .= '</form>';
$guestbook['nav'] = preg_replace('/{ARCHIVE:(.*?)}/s', $guestbook['archive'], $guestbook['nav']);
}
// jump to menu (form)
if( ! ( strpos($guestbook['nav'],'{JUMP')===false ) ) {
preg_match('/{JUMP:(.*?)}/s', $guestbook['nav'], $guestbook['jumpval']);
$guestbook['jumpval'] = explode('|', $guestbook['jumpval'][1]);
$guestbook['jump'] = '<form name="guestbookjump" id="guestbookjump" method="post" ';
$guestbook['jump'] .= 'action="index.php?id='.$aktion[0].','.$aktion[1].','.$aktion[2].','.$aktion[3].','.$aktion[4];
$guestbook['jump'] .= ',0" style="display:inline;margin:0;padding:0">';
$guestbook['jump'] .= '<select name="showguestbookpage" id="showpage" onChange="document.guestbookjump.submit();">';
for($ixx=1; $ixx <= $guestbook['pagecount']; $ixx++) {
if($ixx != $aktion[5]+1) {
$guestbook['jump'] .= '<option value="'.$ixx.'">'.$guestbook['jumpval'][0].$ixx."</option>\n";
} else {
$guestbook['jump'] .= '<option value="'.$ixx.'" selected="selected">'.$guestbook['jumpval'][0].$ixx."</option>\n";
}
}
$guestbook['jump'] .= '</select>';
if($guestbook['archivedate']) {
$guestbook['jump'] .= '<input type="hidden" name="archivedate" value="'.html_specialchars($guestbook['archivedate']).'">';
$guestbook['jump'] .= '<input type="hidden" name="showarchive" value="'.html_specialchars($guestbook['archiveselect']).'">';
}
if(isset($guestbook['jumpval'][1]) && $guestbook['jumpval'][1]) {
$guestbook['jump'] .= $guestbook['jumpval'][2];
// check if send button is image or text
if(preg_match('/[\.png|\.jpg|\.jpeg|\.gif]$/i', $guestbook['jumpval'][1], $matches)) {
$guestbook['jump'] .= '<input name="jumpsubmit" type="image" src="'.trim($guestbook['jumpval'][1]).'" border="0">';
} else {
$guestbook['jump'] .= '<input name="jumpsubmit" type="submit" value="'.$guestbook['jumpval'][1].'">';
}
}
$guestbook['jump'] .= '</form>';
$guestbook['nav'] = preg_replace('/{JUMP:(.*?)}/s', $guestbook['jump'], $guestbook['nav']);
}
$guestbook['counter'] = $guestbook['start_entry']+1;
} else {
// no navigation neccessary
$guestbook['nav'] = '';
}
} else {
// no navigation neccessary
$guestbook['nav'] = '';
}
$guestbook['entry_list'] = '';
if($guestbook['result'] = mysql_query($guestbook['sql'].';', $db)) {
$guestbook['ban_count'] = 0;
if($guestbook['ban']) {
$guestbook['ban'] = preg_replace('/\s{1,}/is', ' ', $guestbook['ban']);
$guestbook['ban'] = explode(' ', $guestbook['ban']);
if(is_array($guestbook['ban']) && count($guestbook['ban'])) {
foreach($guestbook['ban'] as $key => $value) {
$guestbook['ban'][$key] = '/'.$value.'/i';
$guestbook['ban_count']++;
}
}
}
while($guestbook['row'] = mysql_fetch_assoc($guestbook['result'])) {
$guestbook['row']['guestbook_msg'] = html_specialchars($guestbook['row']['guestbook_msg']);
if($guestbook['ban_count']) {
$guestbook['row']['guestbook_msg'] = preg_replace($guestbook['ban'], $guestbook['replace'], $guestbook['row']['guestbook_msg']);
}
$guestbook['c'] = str_replace('{ID}', $guestbook['counter'], $guestbook['entry']);
$guestbook['c'] = str_replace('{DBID}', $guestbook['row']['guestbook_id'], $guestbook['c']);
switch($guestbook['row']['guestbook_show']) {
case 1: $guestbook['row']['guestbook_email'] = '#';
$guestbook['c'] = preg_replace('/<a (.*?){0,1}href=[\'|"]{0,1}mailto:.*?[\'|"]{0,1}( .*?){0,1}>(.*?)<\/a>/is', "$3", $guestbook['c']);
break;
case 2: $guestbook['c'] = preg_replace('/<a (.*?){0,1}href=[\'|"]{0,1}mailto:.*?[\'|"]{0,1}( .*?){0,1}>(.*?)<\/a>/is', "$3", $guestbook['c']);
$guestbook['row']['guestbook_email'] = preg_replace('/(.*?)@(.*?)\.([a-zA-Z]+)$/i', "$1 at $2 dot $3", $guestbook['row']['guestbook_email']);
break;
}
$guestbook['c'] = str_replace('{EMAIL}', html_specialchars($guestbook['row']['guestbook_email']), $guestbook['c']);
$guestbook['c'] = str_replace('{NAME}', html_specialchars($guestbook['row']['guestbook_name']), $guestbook['c']);
$guestbook['c'] = str_replace('{MSG}', nl2br($guestbook['row']['guestbook_msg']), $guestbook['c']);
$guestbook['c'] = str_replace('{LOCATION}', nl2br($guestbook['row']['guestbook_location']), $guestbook['c']);
$guestbook['c'] = str_replace('{URL}', html_specialchars($guestbook['row']['guestbook_url']), $guestbook['c']);
$guestbook['url_replace'] = ($guestbook['row']['guestbook_url']) ? '<a href="'.html_specialchars($guestbook['row']['guestbook_url']).'" target="_blank">$1</a>' : '';
$guestbook['c'] = preg_replace('/{URL:(.*)}/s', $guestbook['url_replace'], $guestbook['c']);
$guestbook['c'] = preg_replace('/{TIMESTAMP:(.*)}/e', "date('$1',\$guestbook['row']['guestbook_created'])", $guestbook['c']);
$guestbook['entry_list'] .= $guestbook['c'];
$guestbook['counter']++;
}
mysql_free_result($guestbook['result']);
// comments
$guestbook['entry_list'] = preg_replace('/\[c\](.*?)\[\/c\]/is', $guestbook['comment'][0]."$1".$guestbook['comment'][1], $guestbook['entry_list']);
}
$guestbook['list'] = str_replace('{NAV}', $guestbook['nav'], $guestbook['list']);
$guestbook['list'] = str_replace('{FORM}', $guestbook['form'], $guestbook['list']);
$guestbook['list'] = replace_tmpl_section('GUESTBOOK_ENTRY', $guestbook['list'], $guestbook['entry_list']);
$content['main'] .= $guestbook['list'];
// delete guetbook array
unset($guestbook);
?>
<p style="background-color:#D7E3E2 "><strong>List of banned words - make a listing divided by simple space " ".
</strong>if possible try to insert no HTML chars.<strong><br>
</strong>shit **** fuck and so on </p>
<p>
<!--BAN_START//-->
<!--BAN_END//-->
</p>
<p style="background-color:#D7E3E2 "><strong>Replace banned words by this HTML
code. </strong><strong><br>
</strong>banned OR <img src="..."> </p>
<p>
<!--BAN_REPLACE_START//-->
<strong>banned word</strong>
<!--BAN_REPLACE_END//-->
</p>
<p style="background-color:#D7E3E2 "><strong>Guestbook HTML form and form error message <br>
</strong>{EMAIL}, {NAME}, {LOCATION}, {MSG} </p>
<p>
<!--FORM_START//-->
<table border="0" align="center" cellpadding="1" cellspacing="0" bgcolor="#F5F5F5" style="margin-bottom:10px;">
<tr bgcolor="#E1E1E1">
<td colspan="2"><strong> sign my guestbook</strong> <span style="font-size:10px;color:#CC3300;">(fields
marked * are obligatory)</span></td>
</tr>
<tr bgcolor="#E1E1E1">
<td colspan="2"><img src="img/leer.gif" width="1" height="1" alt="" /></td>
</tr>
<!--FORM_ERROR_START//-->
<tr>
<td colspan="2"><img src="img/leer.gif" width="1" height="3" alt="" /></td>
</tr>
<tr>
<td colspan="2"> <span style="color:#CC3300;">not signed - fill
in all neccessary info</span></td>
</tr>
<tr>
<td colspan="2"><img src="img/leer.gif" width="1" height="3" alt="" /></td>
</tr>
<!--FORM_ERROR_END//-->
<tr>
<td colspan="2"><img src="img/leer.gif" width="1" height="3" alt="" /></td>
</tr>
<tr>
<td align="right" class="v10">email<span style="color:#CC3300;">*</span>: </td>
<td><input name="guestbook_email" type="text" id="guestbook_email" style="width: 350px" class="v12" value="{EMAIL}" size="50" maxlength="250" />
</td>
</tr>
<tr>
<td align="right" class="v10">name<span style="color:#CC3300;">*</span>: </td>
<td><input name="guestbook_name" type="text" id="guestbook_name" style="width: 350px" class="v12" value="{NAME}" size="50" maxlength="500" /></td>
</tr>
<tr>
<td align="right" class="v10">location: </td>
<td><input name="guestbook_location" type="text" id="guestbook_location" style="width: 350px" class="v12" value="{LOCATION}" size="50" maxlength="1000" /></td>
</tr> <tr>
<td align="right" valign="top" class="v10"> message: </td>
<td><textarea name="guestbook_msg" cols="50" rows="6" id="guestbook_msg" class="v12" style="width: 350px">{MSG}</textarea></td>
</tr>
<tr>
<td align="right" valign="top" class="v10">display: </td>
<td><input name="guestbook_show" type="radio" value="0" checked>show email<br>
<input name="guestbook_show" type="radio" value="1">hide email<br>
<input type="radio" name="guestbook_show" value="2">show email as "info at mail dot com"</td>
</tr>
<tr>
<td colspan="2"><img src="img/leer.gif" width="1" height="4" alt="" /></td>
</tr>
<tr>
<td align="right"> </td>
<td><input name="guestbook_send" type="submit" id="guestbook_send" value="sign guestbook" class="v11" /></td>
</tr>
<tr>
<td colspan="2"><img src="img/leer.gif" width="1" height="6" alt="" /></td>
</tr>
</table>
<!--FORM_END//-->
</p>
<p style="background-color:#D7E3E2 "> <strong>Success Text - displayed when guestbook
entry created<br>
</strong>{NAME}</p>
<p>
<!--FORM_SUCCESS_START//-->
<div style="margin-top:5px; margin-bottom: 5px;">Thanks {NAME}! You have successfully signed our guestbook.</div>
<!--FORM_SUCCESS_END//-->
</p>
<p style="background-color:#D7E3E2 "> <strong>Guestbook navigation<br>
</strong><span class="chatlist">{FIRST:HTML}, {LAST:HTML}, {BACK:HTML}, {NEXT:HTML},
{JUMP:LISTTEXT|BUTTON|SPACER}, {PAGE:COUNT:SPACER|WRAP_ACTIVE_BEFORE|AFTER}<br>
(HTML = link text or image tag, like <img src="back.gif" border="0" />)</span></p>
<p>
<!--NAV_START//-->
<table width="100%" border="0" cellspacing="0" cellpadding="0" style="margin-top:5px;">
<tr>
<td><strong>{FIRST:<<} {BACK:<}</strong> {PAGE:5: |<strong>|</strong>} <strong>{NEXT:>}
{LAST:>>}</strong></td>
<td align="right">{ARCHIVE:%Y/%m|alle Einträge|go| } {JUMP:page
|go| }</td>
</tr>
<tr>
<td colspan="2"><img src="img/leer.gif" width="1" height="3" alt="" /></td>
</tr>
</table>
<!--NAV_END//-->
</p>
<p style="background-color:#D7E3E2 "> <strong>Guestbook listing<br>
</strong>{EMAIL}, {NAME}, {LOCATION}, {MSG}, {URL}, {ID},
{DBID}, {TIMESTAMP:FORMAT} (<a href="http://www.php.net/manual/en/function.date.php" target="_blank" style="text-decoration:underline">FORMAT = d.m.Y or H:i:s</a>)</p>
<p>
<!--GUESTBOOK_START//-->
{FORM} {NAV}
<table width="100%" border="0" cellspacing="0" cellpadding="2">
<!--GUESTBOOK_ENTRY_START//-->
<tr bgcolor="#F5F5F5">
<td width="1%" align="right"><strong>{ID} </strong></td>
<td width="99%">{DBID} | {TIMESTAMP:m/d/Y H:i}</td>
</tr>
<tr>
<td colspan="2"><a href="mailto:{EMAIL}"><strong>{NAME}</strong></a> {LOCATION} {EMAIL}<br />
{MSG}</td>
</tr> <tr>
<td colspan="2"><img src="img/leer.gif" width="1" height="3" alt="" /></td>
</tr>
<!--GUESTBOOK_ENTRY_END//-->
</table>
<!--GUESTBOOK_END//-->
</p>
<p style="background-color:#D7E3E2 "><strong>Comments of edited articles</strong><strong> </strong>[c]...[/c]<br>
normal HTML code like <span style="color:#FF3300">|</span></p>
<p>
<!--COMMENT_START//-->
<span style="color:#00CC00;">|</span>
<!--COMMENT_END//-->
</p>