E aí pessoal, tudo certo?
Então, desde quando instalei o gesior no meu site, não consigo utilizar o fórum, tudo que aparece é essa mensagem
Aqui está o meu forum.php
<?php
if(!defined('INITIALIZED'))
exit;
// CONFIG
$level_limit = 30; // minimum 1 character with 30 lvl on account to post
$post_interval = 20; // 20 seconds between posts
$group_not_blocked = $config['site']['access_admin_painel']; // group id of player that can always post, remove post, remove threads
$posts_per_page = 20;
$threads_per_page = 20;
//Tiny Editor
$main_content .= '
<script type="text/javascript" src="'.$layout_name.'/tiny_mce/tiny_mce.js"></script>
<script type="text/javascript">
tinyMCE.init({
// General options
mode : "textareas",
theme : "simple",
plugins : "autolink,lists,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,wordcount,advlist,autosave,visualblocks",
// Theme options
theme_advanced_buttons1 : "newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontselect,fontsizeselect",
theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,link,unlink,anchor,image,cleanup,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",
theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,ltr,rtl",
theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,pagebreak,restoredraft,visualblocks",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : true,
// Example content CSS (should be your site CSS)
content_css : "css/content.css",
// Drop lists for link/image/media/template dialogs
template_external_list_url : "lists/template_list.js",
external_link_list_url : "lists/link_list.js",
external_image_list_url : "lists/image_list.js",
media_external_list_url : "lists/media_list.js",
// Style formats
style_formats : [
{title : \'Bold text\', inline : \'b\'},
{title : \'Red text\', inline : \'span\', styles : {color : \'#ff0000\'}},
{title : \'Red header\', block : \'h1\', styles : {color : \'#ff0000\'}},
{title : \'Example 1\', inline : \'span\', classes : \'example1\'},
{title : \'Example 2\', inline : \'span\', classes : \'example2\'},
{title : \'Table styles\'},
{title : \'Table row 1\', selector : \'tr\', classes : \'tablerow1\'}
],
// Replace values for the template plugin
template_replace_values : {
username : "Some User",
staffid : "991234"
}
});
</script>';
// SECTION WITH ID 1 IS FOR "NEWS", ONLY ADMINS CAN CREATE NEW THREAD IN IT
$sections = array(
1 => 'News',
2 => 'Wars',
3 => 'Quests',
4 => 'Pictures',
5 => 'Bug Report',
6 => 'Events (English Only)',
7 => 'Real Life');
$sections_desc = array(
1 => 'Here are the latest news of the server, and you can comment.',
2 => 'Feel free to tell what you think about your enemy.',
3 => 'Talk with others about quests you made and how to make them.',
4 => 'Show others your best photos from server!',
5 => 'Report bugs on website and in-game here.',
6 => 'This board is all about events. Here you can advertise your events server-wide to find more participants or exchange ideas on how to organise events best.',
7 => 'Everything about your private interests which has nothing to do with Tibia.');
// END
function canPost($account)
{
if($account->isLoaded())
{
$SQL = $GLOBALS['SQL'];
$level_limit = $GLOBALS['level_limit'];
$player = $SQL->query("SELECT " . $SQL->fieldName('level') . " FROM " . $SQL->tableName('players') . " WHERE " . $SQL->fieldName('account_id') . " = ".$SQL->quote($account->getId())." ORDER BY " . $SQL->fieldName('level') . " DESC")->fetch();
if($player['level'] >= $level_limit)
return true;
}
return false;
}
function replaceSmile($text, $smile)
{
$smileys = array(
':p' => 1,
':eek:' => 2,
':rolleyes:' => 3,
';)' => 4,
':o' => 5,
':D' => 6,
':(' => 7,
':mad:' => 8,
':)' => 9,
':cool:' => 10
);
if($smile == 1)
return $text;
else
{
foreach($smileys as $search => $replace)
$text = str_replace($search, '<img src="layouts/tibiarl/images/forum/smile/'.$replace.'.gif" />', $text);
return $text;
}
}
function replaceAll($text, $smile)
{
$rows = 0;
while(stripos($text, '[code]') !== false && stripos($text, '[/code]') !== false )
{
$code = substr($text, stripos($text, '[code]')+6, stripos($text, '[/code]') - stripos($text, '[code]') - 6);
if(!is_int($rows / 2)) { $bgcolor = 'ABED25'; } else { $bgcolor = '23ED25'; } $rows++;
$text = str_ireplace('[code]'.$code.'[/code]', '<i>Code:</i><br /><table cellpadding="0" style="background-color: #'.$bgcolor.'; width: 480px; border-style: dotted; border-color: #CCCCCC; border-width: 2px"><tr><td>'.$code.'</td></tr></table>', $text);
}
$rows = 0;
while(stripos($text, '[quote]') !== false && stripos($text, '[/quote]') !== false )
{
$quote = substr($text, stripos($text, '[quote]')+7, stripos($text, '[/quote]') - stripos($text, '[quote]') - 7);
if(!is_int($rows / 2)) { $bgcolor = 'AAAAAA'; } else { $bgcolor = 'CCCCCC'; } $rows++;
$text = str_ireplace('[quote]'.$quote.'[/quote]', '<table cellpadding="0" style="background-color: #'.$bgcolor.'; width: 480px; border-style: dotted; border-color: #007900; border-width: 2px"><tr><td>'.$quote.'</td></tr></table>', $text);
}
$rows = 0;
while(stripos($text, '[url]') !== false && stripos($text, '[/url]') !== false )
{
$url = substr($text, stripos($text, '[url]')+5, stripos($text, '[/url]') - stripos($text, '[url]') - 5);
$text = str_ireplace('[url]'.$url.'[/url]', '<a href="'.$url.'" target="_blank">'.$url.'</a>', $text);
}
while(stripos($text, '[player]') !== false && stripos($text, '[/player]') !== false )
{
$player = substr($text, stripos($text, '[player]')+8, stripos($text, '[/player]') - stripos($text, '[player]') - 8);
$text = str_ireplace('[player]'.$player.'[/player]', '<a href="?subtopic=characters&name='.urlencode($player).'">'.$player.'</a>', $text);
}
while(stripos($text, '[letter]') !== false && stripos($text, '[/letter]') !== false )
{
$letter = substr($text, stripos($text, '[letter]')+8, stripos($text, '[/letter]') - stripos($text, '[letter]') - 8);
$text = str_ireplace('[letter]'.$letter.'[/letter]', '<img src="images/letters/letter_martel_'.$letter.'.gif">', $text);
}
while(stripos($text, '[img=') !== false && stripos($text, ']') !== false )
{
$img = substr($text, stripos($text, '[img=')+5, stripos($text, ']') - stripos($text, '[img]') - 5);
$text = str_ireplace('[img='.$img.']', '<img src="'.$img.'">', $text);
}
while(stripos($text, '[b]') !== false && stripos($text, '[/b]') !== false )
{
$b = substr($text, stripos($text, '[b]')+3, stripos($text, '[/b]') - stripos($text, '[b]') - 3);
$text = str_ireplace('[b]'.$b.'[/b]', '<b>'.$b.'</b>', $text);
}
while(stripos($text, '[i]') !== false && stripos($text, '[/i]') !== false )
{
$i = substr($text, stripos($text, '[i]')+3, stripos($text, '[/i]') - stripos($text, '[i]') - 3);
$text = str_ireplace('[i]'.$i.'[/i]', '<i>'.$i.'</i>', $text);
}
while(stripos($text, '[u]') !== false && stripos($text, '[/u]') !== false )
{
$u = substr($text, stripos($text, '[u]')+3, stripos($text, '[/u]') - stripos($text, '[u]') - 3);
$text = str_ireplace('[u]'.$u.'[/u]', '<u>'.$u.'</u>', $text);
}
return replaceSmile($text, $smile);
}
function removeBBCode($text)
{
while(stripos($text, '[code]') !== false && stripos($text, '[/code]') !== false )
{
$code = substr($text, stripos($text, '[code]')+6, stripos($text, '[/code]') - stripos($text, '[code]') - 6);
$text = str_ireplace('[code]'.$code.'[/code]', $code, $text);
}
while(stripos($text, '[quote]') !== false && stripos($text, '[/quote]') !== false )
{
$quote = substr($text, stripos($text, '[quote]')+7, stripos($text, '[/quote]') - stripos($text, '[quote]') - 7);
$text = str_ireplace('[quote]'.$quote.'[/quote]', $quote, $text);
}
while(stripos($text, '[url]') !== false && stripos($text, '[/url]') !== false )
{
$url = substr($text, stripos($text, '[url]')+5, stripos($text, '[/url]') - stripos($text, '[url]') - 5);
$text = str_ireplace('[url]'.$url.'[/url]', $url, $text);
}
while(stripos($text, '[player]') !== false && stripos($text, '[/player]') !== false )
{
$player = substr($text, stripos($text, '[player]')+8, stripos($text, '[/player]') - stripos($text, '[player]') - 8);
$text = str_ireplace('[player]'.$player.'[/player]', $player, $text);
}
while(stripos($text, '[img=') !== false && stripos($text, ']') !== false )
{
$img = substr($text, stripos($text, '[img=')+5, stripos($text, ']') - stripos($text, '[img]') - 5);
$text = str_ireplace('[img='.$img.']', $img, $text);
}
while(stripos($text, '[b]') !== false && stripos($text, '[/b]') !== false )
{
$b = substr($text, stripos($text, '[b]')+3, stripos($text, '[/b]') - stripos($text, '[b]') - 3);
$text = str_ireplace('[b]'.$b.'[/b]', $b, $text);
}
while(stripos($text, '[i]') !== false && stripos($text, '[/i]') !== false )
{
$i = substr($text, stripos($text, '[i]')+3, stripos($text, '[/i]') - stripos($text, '[i]') - 3);
$text = str_ireplace('[i]'.$i.'[/i]', $i, $text);
}
while(stripos($text, '[u]') !== false && stripos($text, '[/u]') !== false )
{
$u = substr($text, stripos($text, '[u]')+3, stripos($text, '[/u]') - stripos($text, '[u]') - 3);
$text = str_ireplace('[u]'.$u.'[/u]', $u, $text);
}
return $text;
}
function codeLower($text)
{
return str_ireplace(array('[b]', '[i]', '[u]', '[/u][/i][/b][i][u]', '[/u][/i][u]', '[/u]', '[url]', '[player]', '[img=', '[code]', '[quote]', '[/quote][/code][/url][code][quote]', '[/player]', ']', '[/quote][/code][quote]', '[/quote]'), array('[b]', '[i]', '[u]', '[/u][/i][/b][i][u]', '[/u][/i][u]', '[/u]', '[url]', '[player]', '[img=', '[code]', '[quote]', '[/quote][/code][/url][code][quote]', '[/player]', ']', '[/quote][/code][quote]', '[/quote]'), $text);
}
function showPost($topic, $text, $smile)
{
$text = "<br><br>".nl2br($text);
$post = '';
if(!empty($topic))
$post .= '<b>'.replaceSmile($topic, $smile).'</b>';
$post .= replaceAll($text, $smile);
return $post;
}
function showPreview($topic, $text, $smile)
{
$text = nl2br($_POST['text']);
$post = '';
if(!empty($topic))
$post .= '<b>'.replaceSmile($topic, $smile).'</b>';
$post .= replaceAll($text, $smile);
return $post;
}
$main_content .= '
<table border=0 cellpadding=2 cellspacing=0 width=100%>
<tr>';
if($action == '')
{
if(!$logged)
$main_content .= '
<td class="ff_std" align="left" >You are <b>not</b> logged in. <a href="?subtopic=accountmanagement" >Log in</a> to post on the forum.</td>';
$main_content .= '
<td class="ff_info" align="right" valign="bottom" > <br>Current Time: <i>'.date('G:i').' CEST</i></td>
</tr>
</table>';
$main_content .= '
<table border=0 cellpadding=3 cellspacing=1 width=100%>
<tr>
<td bgcolor="#505050" class="ff_white" colspan=1 align="center" width=32 height="16" ><b><img src="'.$layout_name.'/images/general/blank.gif" width=32 height=16 border=0></b></td>
<td bgcolor="#505050" class="ff_white" colspan=1 ><b>Board</b></td>
<td bgcolor="#505050" class="ff_white" colspan=1 align="center" ><b>Posts</b></td>
<td bgcolor="#505050" class="ff_white" colspan=1 align="center" ><b>Threads</b></td>
<td bgcolor="#505050" class="ff_white" colspan=1 align="center" ><b>Last Post</b></td>
</tr>';
$info = $SQL->query("SELECT " . $SQL->fieldName('section') . ", COUNT(" . $SQL->fieldName('id') . ") AS 'threads', SUM(" . $SQL->fieldName('replies') . ") AS 'replies' FROM " . $SQL->tableName('z_forum') . " WHERE " . $SQL->fieldName('first_post') . " = " . $SQL->fieldName('id') . " GROUP BY " . $SQL->fieldName('section') . "")->fetchAll();
foreach($info as $data)
$counters[$data['section']] = array('threads' => $data['threads'], 'posts' => $data['replies'] + $data['threads']);
foreach($sections as $id => $section)
{
$last_post = $SQL->query("SELECT " . $SQL->tableName('players') . "." . $SQL->fieldName('name') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('post_date') . " FROM " . $SQL->tableName('players') . ", " . $SQL->tableName('z_forum') . " WHERE " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('section') . " = ".(int) $id." AND " . $SQL->tableName('players') . "." . $SQL->fieldName('id') . " = " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('author_guid') . " ORDER BY " . $SQL->fieldName('post_date') . " DESC LIMIT 1")->fetch();
if(!is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
$main_content .= '
<tr bgcolor="'.$bgcolor.'">
<td bgcolor="#D4C0A1" class="ff_std" > </td>
<td bgcolor="#D4C0A1" class="ff_std"><a href="?subtopic=forum&action=show_board&id='.$id.'">'.$section.'</a><br /><small>'.$sections_desc[$id].'</small></td>
<td bgcolor="#F1E0C6" class="ff_std" colspan=1 align="center">'.(int) $counters[$id]['posts'].'</td>
<td bgcolor="#D4C0A1" class="ff_std" colspan=1 align="center">'.(int) $counters[$id]['threads'].'</td>
<td bgcolor="#F1E0C6" class="ff_std" align="left" NOWRAP>';
if(isset($last_post['name']))
$main_content .= '<a href="?subtopic=forum&action=show_board&id='.$id.'"><img src="images/forum/logo_lastpost.gif" border=0 width=10 height=9></a>'.date('d.m.y H:i:s', $last_post['post_date']).'<br>
<font class="ff_info">by <a href="?subtopic=characters&name='.urlencode($last_post['name']).'">'.$last_post['name'].'</a></font>';
else
$main_content .= 'No posts';
$main_content .= '
</td>
</tr>
';
}
$main_content .= '
<tr>
<table border=0 cellpadding=6 cellspacing=0 width=100%>
<tr>
<td bgcolor="#505050" class="ff_white" colspan=1 align="left" NOWRAP ><b>All times are CEST.</b></td>
<td bgcolor="#505050" class="ff_white" colspan=1 align="right" NOWRAP > </td>
</tr>
</td>
</tr>
</table>';
}
if($action == 'show_board')
{
$section_id = (int) $_REQUEST['id'];
$page = (int) $_REQUEST['page'];
$threads_count = $SQL->query("SELECT COUNT(" . $SQL->tableName('z_forum') . "." . $SQL->fieldName('id') . ") AS threads_count FROM " . $SQL->tableName('players') . ", " . $SQL->tableName('z_forum') . " WHERE " . $SQL->tableName('players') . "." . $SQL->fieldName('id') . " = " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('author_guid') . " AND " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('section') . " = ".(int) $section_id." AND " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('first_post') . " = " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('id') . "")->fetch();
for($i = 0; $i < $threads_count['threads_count'] / $threads_per_page; $i++)
{
if($i != $page)
$links_to_pages .= '<a href="?subtopic=forum&action=show_board&id='.$section_id.'&page='.$i.'">'.($i + 1).'</a> ';
else
$links_to_pages .= '<b>'.($i + 1).' </b>';
}
$main_content .= '
<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%>
<TR>
<TD><IMG SRC="'.$layout_name.'/images/general/blank.gif" WIDTH=10 HEIGHT=1 BORDER=0></TD>
<TD WIDTH=100% ALIGN=right><a href="?subtopic=forum" >Community Boards</a> | <b>'.$sections[$section_id].'</b></TD>
<TD><IMG SRC="'.$layout_name.'/images/general/blank.gif" WIDTH=10 HEIGHT=1 BORDER=0></TD>
</TR>
</TABLE>';
if(!$logged)
$main_content .= '
<br>You are <b>not</b> logged in. <a href="?subtopic=accountmanagement" >Log in</a> to post on the forum.<br><br>';
$main_content .= '
<table border=0 cellpadding=2 cellspacing=0 width=100%>
<tr>
<td class="ff_std" colspan=4 align="left" ></td>
</tr>
<tr>
<td colspan=1 align="left" ><a href="?subtopic=forum&action=new_topic§ion_id='.$section_id.'" ><img src="images/forum/topic.gif" name="" width="85" height="20" border="0" ></a>
</td>
</tr>
</table>';
$last_threads = $SQL->query("SELECT " . $SQL->tableName('players') . "." . $SQL->fieldName('name') . ", " . $SQL->tableName('players') . "." . $SQL->fieldName('signature') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('post_text') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('post_topic') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('id') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('last_post') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('replies') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('views') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('post_date') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('post_icon_id') . " FROM " . $SQL->tableName('players') . ", " . $SQL->tableName('z_forum') . " WHERE " . $SQL->tableName('players') . "." . $SQL->fieldName('id') . " = " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('author_guid') . " AND " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('section') . " = ".(int) $section_id." AND " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('first_post') . " = " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('id') . " ORDER BY " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('last_post') . " DESC LIMIT ".$threads_per_page." OFFSET ".($page * $threads_per_page))->fetchAll();
if(isset($last_threads[0]))
{
$main_content .= '
<table border=0 cellpadding=3 cellspacing=1 width=100%>
<tr>
<td bgcolor="'.$config['site']['vdarkborder'].'" colspan=7 > </td>
</tr>';
$main_content .= '
<tr>
<td bgcolor="'.$config['site']['vdarkborder'].'" class="ff_white" colspan=1 align="center" width=22 >
<b><img src="'.$layout_name.'/images/general/blank.gif" width=16 height=16 border=0></b>
</td>
<td bgcolor="'.$config['site']['vdarkborder'].'" class="ff_white" colspan=1 align="center" width=22 >
<b><img src="'.$layout_name.'/images/general/blank.gif" width=16 height=16 border=0></b>
</td>
<td bgcolor="'.$config['site']['vdarkborder'].'" class="ff_white" colspan=1 align="center">
<b>Thread</b>
</td>
<td bgcolor="'.$config['site']['vdarkborder'].'" class="ff_white" colspan=1 align="center">
<b>Thread Starter</b>
</td>
<td bgcolor="'.$config['site']['vdarkborder'].'" class="ff_white" colspan=1 align="center">
<b>Replies</b>
</td>
<td bgcolor="'.$config['site']['vdarkborder'].'" class="ff_white" colspan=1 align="center">
<b>Views</b>
</td>
<td bgcolor="'.$config['site']['vdarkborder'].'" class="ff_white" colspan=1 align="center">
<b>Last Post</b>
</td>
</tr>';
foreach($last_threads as $thread)
{
if(!is_int($number_of_rows / 2)) { $bgcolor = $config['site']['lightborder']; } else { $bgcolor = $config['site']['darkborder']; } $number_of_rows++;
$main_content .= '
<tr>
<td bgcolor="#D4C0A1" class="ff_std" colspan=1 align="center" >
<div class="HNCContainer" >
<img src="';
if((int)$thread['replies'] >= 2)
$main_content .= '
'.$layout_name.'/images/forum/logo_hot.gif"
';
else
$main_content .= '
'.$layout_name.'/images/general/blank.gif"
';
$main_content .= '
width=22 height=22 border=0>
</div>
</td>
<td bgcolor="#F1E0C6" class="ff_std" colspan=1 align="center" >';
if($thread['post_icon_id'] >= 1)
$main_content .= '
<img src="'.$layout_name.'/images/forum/icons/'.$thread['post_icon_id'].'.gif" border=0 width=15 height=15 alt="Eek">';
$main_content .= '
</td>
<td bgcolor="#D4C0A1" class="ff_std" colspan=1 align="left">';
if($logged && $group_id_of_acc_logged >= $group_not_blocked)
$main_content .= '
<a href="?subtopic=forum&action=remove_post&id='.$thread['id'].'" onclick="return confirm(\'Are you sure you want remove thread > '.htmlspecialchars($thread['post_topic']).' <?\')"><font color="red">[REMOVE]</font></a> ';
$main_content .= '
<a href="?subtopic=forum&action=show_thread&id='.$thread['id'].'">'.htmlspecialchars($thread['post_topic']).'</a></td>
<td bgcolor="#F1E0C6" class="font_std" colspan=1 align="center"><a href="?subtopic=characters&name='.urlencode($thread['name']).'">'.$thread['name'].'</a></td>
<td bgcolor="#D4C0A1" class="ff_std" colspan=1 align="center">'.(int) $thread['replies'].'</td>
<td bgcolor="#F1E0C6" class="ff_std" colspan=1 align="center">'.(int) $thread['views'].'</td>
<td bgcolor="#D4C0A1" class="ff_std" colspan=1 align="left">';
if($thread['last_post'] > 0)
{
$last_post = $SQL->query("SELECT " . $SQL->tableName('players') . "." . $SQL->fieldName('name') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('post_date') . " FROM " . $SQL->tableName('players') . ", " . $SQL->tableName('z_forum') . " WHERE " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('first_post') . " = ".(int) $thread['id']." AND " . $SQL->tableName('players') . "." . $SQL->fieldName('id') . " = " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('author_guid') . " ORDER BY " . $SQL->fieldName('post_date') . " DESC LIMIT 1")->fetch();
if(isset($last_post['name']))
$main_content .= date('d.m.y H:i:s', $last_post['post_date']).'<br />by <a href="?subtopic=characters&name='.urlencode($last_post['name']).'">'.$last_post['name'].'</a>';
else
$main_content .= 'No posts.';
}
else
$main_content .= date('d.m.y H:i:s', $thread['post_date']).'<br />by <a href="?subtopic=characters&name='.urlencode($thread['name']).'">'.$thread['name'].'</a>';
$main_content .= '
</td>
</tr>';
}
$main_content .= '
<table border=0 cellpadding=6 cellspacing=0 width=100%>
<tr>
<td bgcolor="#505050" class="ff_white" colspan=1 align="left" NOWRAP ><b>All times are CEST.</b></td>
<td bgcolor="#505050" class="ff_white" colspan=1 align="right" NOWRAP > </td>
</tr>
</table>
<table border=0 cellpadding=2 cellspacing=0 width=100%>
<tr>
<td colspan=1 align="left" valign="top" >
<a href="?subtopic=forum&action=new_topic§ion_id='.$section_id.'" >
<img src="'.$layout_name.'/images/forum/button_newtopic_off.gif" name="" width="85" height="20" border="0" >
</a>
</td>
</tr>
</table>
<td class="ff_info" colspan=1 align="right" valign="top" >Page: '.$links_to_pages.'</td>
</tr>
<tr>
<td class="ff_std" colspan=4 align="left" ><br></td>
</tr>
</table>
<center>
<table border=0 cellpadding=3 cellspacing=0>
<tr>
<td class="ff_info" colspan=1 align="center" valign="middle" NOWRAP ><img src="'.$layout_name.'/images/forum/logo_new.gif" border=0 width=22 height=22></td>
<td class="ff_info" colspan=1 align="center" valign="middle" NOWRAP ><b>New Posts</b></td>
<td class="ff_info" colspan=1 align="center" valign="middle" NOWRAP ><img src="'.$layout_name.'/images/general/blank.gif" width=12 height=1 border=0></td>
<td class="ff_info" colspan=1 align="center" valign="middle" NOWRAP ><img src="/images/forum/logo_hotnew.gif" border=0 width=22 height=22></td>
<td class="ff_info" colspan=1 align="center" valign="middle" NOWRAP ><b>More Than 16 Replies</b></td>
<td class="ff_info" colspan=1 align="center" valign="middle" NOWRAP ><img src="'.$layout_name.'/images/general/blank.gif" width=12 height=1 border=0></td>
<td class="ff_info" colspan=1 align="center" valign="middle" NOWRAP ><img src="'.$layout_name.'/images/forum/logo_closed.gif" border=0 width=22 height=22></td>
<td class="ff_info" colspan=1 align="center" valign="middle" NOWRAP ><b>Closed Thread</b></td>
<td class="ff_info" colspan=1 align="center" valign="middle" NOWRAP ><img src="'.$layout_name.'/images/forum/logo_sticky.gif" border=0 width=22 height=22></td>
<td class="ff_info" colspan=1 align="center" valign="middle" NOWRAP ><b>Sticky Thread</b></td>
</tr>
</table>
</center>
<br>
<br>
<b>Board Rights:<br>
</b>View threads.<br>
<br>
Replace code is ON. Smileys are ON. Images are OFF. Links are OFF. "Thank You!" option is OFF. <br>
Account muting option is ON. <br>';
}
else
$main_content .= '<h3>No threads in this board.</h3>';
}
if($action == 'show_thread')
{
$thread_id = (int) $_REQUEST['id'];
$page = (int) $_REQUEST['page'];
$thread_name = $SQL->query("SELECT " . $SQL->tableName('players') . "." . $SQL->fieldName('name') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('post_topic') . " FROM " . $SQL->tableName('players') . ", " . $SQL->tableName('z_forum') . " WHERE " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('first_post') . " = ".(int) $thread_id." AND " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('id') . " = " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('first_post') . " AND " . $SQL->tableName('players') . "." . $SQL->fieldName('id') . " = " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('author_guid') . " LIMIT 1")->fetch();
if(!empty($thread_name['name']))
{
$posts_count = $SQL->query("SELECT COUNT(" . $SQL->tableName('z_forum') . "." . $SQL->fieldName('id') . ") AS posts_count FROM " . $SQL->tableName('players') . ", " . $SQL->tableName('z_forum') . " WHERE " . $SQL->tableName('players') . "." . $SQL->fieldName('id') . " = " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('author_guid') . " AND " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('first_post') . " = ".(int) $thread_id)->fetch();
for($i = 0; $i < $posts_count['posts_count'] / $threads_per_page; $i++)
{
if($i != $page)
$links_to_pages .= '<a href="?subtopic=forum&action=show_thread&id='.$thread_id.'&page='.$i.'">'.($i + 1).'</a> ';
else
$links_to_pages .= '<b>'.($i + 1).' </b>';
}
$threads = $SQL->query("SELECT " . $SQL->tableName('players') . "." . $SQL->fieldName('name') . ", " . $SQL->tableName('players') . "." . $SQL->fieldName('group_id') . ", " . $SQL->tableName('players') . "." . $SQL->fieldName('town_id') . ", " . $SQL->tableName('players') . "." . $SQL->fieldName('account_id') . ", " . $SQL->tableName('players') . "." . $SQL->fieldName('rank_id') . ", " . $SQL->tableName('players') . "." . $SQL->fieldName('vocation') . ", " . $SQL->tableName('players') . "." . $SQL->fieldName('level') . ", " . $SQL->tableName('players') . "." . $SQL->fieldName('signature') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('id') . "," . $SQL->tableName('z_forum') . "." . $SQL->fieldName('first_post') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('section') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('post_icon_id') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('post_text') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('post_topic') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('post_date') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('post_smile') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('author_aid') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('author_guid') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('last_edit_aid') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('edit_date') . " FROM " . $SQL->tableName('players') . ", " . $SQL->tableName('z_forum') . " WHERE " . $SQL->tableName('players') . "." . $SQL->fieldName('id') . " = " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('author_guid') . " AND " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('first_post') . " = ".(int) $thread_id." ORDER BY " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('post_date') . " LIMIT ".$posts_per_page." OFFSET ".($page * $posts_per_page))->fetchAll();
if(isset($threads[0]['name']))
$SQL->query("UPDATE " . $SQL->tableName('z_forum') . " SET " . $SQL->fieldName('views') . "=" . $SQL->fieldName('views') . "+1 WHERE " . $SQL->fieldName('id') . " = ".(int) $thread_id);
$main_content .= '
<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%>
<TR>
<TD><IMG SRC="'.$layout_name.'/images/general/blank.gif" WIDTH=10 HEIGHT=1 BORDER=0></TD>
<TD WIDTH=100% ALIGN=right>
<a href="?subtopic=forum" >Community Boards</a> |
<a href="?subtopic=forum&action=show_board&id='.$threads[0]['section'].'">'.$sections[$threads[0]['section']].'</a> | <b>'.htmlspecialchars($thread_name['post_topic']).'</b>
</TD>
<TD><IMG SRC="'.$layout_name.'/images/general/blank.gif" WIDTH=10 HEIGHT=1 BORDER=0></TD>
</TR>
</TABLE>
<br />';
if(!$logged)
$main_content .= '
<br>
You are <b>not</b> logged in. <a href="?subtopic=accountmanagement" >Log in</a> to post on the forum.<br>
<br>';
$main_content .= '
<table border=0 cellpadding=0 cellspacing=0 width=100%>
<tr>
<td class="ff_std" colspan=4 align="left" ></td>
</tr>
<tr>
<td bgcolor="#F1E0C6" class="ff_large" colspan=2 align="left" width=800 >
<div class="PostReplyLink">
<a href="?subtopic=forum&action=new_post&thread_id='.$thread_id.'">
<img src="images/forum/post.gif" name="" width="92" height="20" border="0" >
</a>
</div>
<div class="Text" ><b>'.$sections[$threads[0]['section']].': '.htmlspecialchars($thread_name['post_topic']).'</b></div></td>
</tr>
</table>';
$main_content .= '
<table border=0 cellpadding=5 cellspacing=1 width=100%>
<tr>
<td bgcolor="'.$config['site']['vdarkborder'].'" class="ff_white" colspan=2 align="left" NOWRAP >
<div class="ForumPost" style="position:relative;height:26px;left:0px;">
<div style="float:left;width:175;padding: 5 5 0 5;" ><b>Author</b></div>
<div style="float:right;width:600px;padding: 5 5 0 5;" >
<table border=0 cellpadding=2 cellspacing=0 width=100%>
<tr>
<td bgcolor="'.$config['site']['vdarkborder'].'" class="ff_white" colspan=1 align="left" NOWRAP ><b>Thread #'.$threads[0]['id'].'</b></td>
<td bgcolor="'.$config['site']['vdarkborder'].'" class="ff_white" colspan=1 align="right" NOWRAP ><b>Pages: '.$links_to_pages.'</b>
</td>
</tr>
</table>
</div>
<div class="PostSeparatorV" ></div>
</div>
</td>
</tr>';
foreach($threads as $thread)
{
if(!is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
$main_content .= '
<tr>
<td colspan="2" class="CipPost" >
<div class="ForumPost" style="background-color:'.$bgcolor.';" >';
if($thread['group_id'] >= 3)
$main_content .= '
<div class="CipBorderTop" >
<div class="CipBorder" >
<div class="CipBorderCornerL" style="background-image: url('.$layout_name.'/images/forum/cip_post_border_lu.jpg)" ></div>
<div class="CipBorderH" style="background-image: url('.$layout_name.'/images/forum/cip_post_border_h.jpg)" ></div>
<div class="CipBorderCornerR" style="background-image: url('.$layout_name.'/images/forum/cip_post_border_ru.jpg)" ></div>
</div>
</div>
<div class="CipBorderLeft" >
<div class="CipBorderV" style="background-image: url('.$layout_name.'/images/forum/cip_post_border_v.jpg)" ></div>
</div>
<div class="CipBorderRight" >
<div class="CipBorderV" style="background-image: url('.$layout_name.'/images/forum/cip_post_border_v.jpg)" ></div>
</div>';
$main_content .= '
<div class="PostSeparatorV" ></div>
<div class="PostUpper">
<div class="PostCharacterText" >
<b><a href="?subtopic=characters&name='.urlencode($thread['name']).'">'.htmlspecialchars($thread['name']).'</a></b><br>';
if($thread['group_id'] >= 3)
$main_content .= '
<font class="ff_smallinfo">Community Manager<br/>';
if($thread['group_id'] >= 3)
$main_content .= '
<img class="CipPostIcon" src="'.$layout_name.'/images/forum/cip_post_icon.gif" /><br>';
$main_content .= '
</font><br>
<font class="ff_infotext">Inhabitant of ' . $config['server']['serverName'] . '<br>
Vocation: '.htmlspecialchars(Website::getVocationName($thread['vocation'], $thread['promotion'])).'<br>
Level: '.$thread['level'].'<br>
<br>';
$rank = new GuildRank($thread['rank_id']);
if($rank->isLoaded())
{
$guild = $rank->getGuild();
if($guild->isLoaded())
$main_content .= '
<font class="ff_smallinfo">'.htmlspecialchars($rank->getName()).' of the <a href="?subtopic=guilds&action=show&guild='.$guild->getId().'" >'.htmlspecialchars($guild->getName()).'</a> (MegaTibia)</font><br>';
}
$posts = $SQL->query("SELECT COUNT(" . $SQL->fieldName('id') . ") AS 'posts' FROM " . $SQL->tableName('z_forum') . " WHERE " . $SQL->fieldName('author_aid') . "=".(int) $thread['account_id'])->fetch();
$main_content .= '
<br />Posts: '.(int) $posts['posts'].'<br /></font></div>
<div class="PostText" >';
if($thread['post_icon_id'] != 0)
$main_content .= '
<img src="'.$layout_name.'/images/forum/icons/'.$thread['post_icon_id'].'.gif">
';
$main_content .= '
'.showPost(htmlspecialchars($thread['post_topic']), nl2br($thread['post_text']), $thread['post_smile']);
if(!empty($thread['signature'])){
$main_content .= '
<br />________________<br />'.$thread['signature'];
$main_content .= '
<br /><br /><br /><br />
';
}
$main_content .= '
</div>
<div class="PostLower" >
<div class="PostDetailsHelper" >
<div class="PostDetails" ><img src="'.$layout_name.'/images/forum/logo_oldpost.gif" border=0 width=14 height=11>'.date('d.m.y H:i:s', $thread['post_date']);
if($thread['edit_date'] > 0)
{
if($thread['last_edit_aid'] != $thread['author_aid'])
$main_content .= '<br />Edited by moderator';
else
$main_content .= '<br />Edited by '.htmlspecialchars($thread['name']);
$main_content .= '<br />on '.date('d.m.y H:i:s', $thread['edit_date']);
}
$main_content .= '</div></div>';
$main_content .= '
<div class="PostActions" >
<div class="AdditionalBox" >Post #'.$thread['id'].'</div>';
if($logged && $group_id_of_acc_logged >= $group_not_blocked)
if($thread['first_post'] != $thread['id'])
$main_content .= '
<a href="?subtopic=forum&action=remove_post&id='.$thread['id'].'" onclick="return confirm(\'Are you sure you want remove post of '.htmlspecialchars($thread['name']).'?\')">
<font color="red">REMOVE POST</font>
</a>';
else
$main_content .= '
<a href="?subtopic=forum&action=remove_post&id='.$thread['id'].'" onclick="return confirm(\'Are you sure you want remove thread > '.htmlspecialchars($thread['post_topic']).' <?\')">
<font color="red">REMOVE THREAD</font>
</a>';
if($logged && ($thread['account_id'] == $account_logged->getId() || $group_id_of_acc_logged >= $group_not_blocked))
$main_content .= '
<br/><a href="?subtopic=forum&action=edit_post&id='.$thread['id'].'">Edit Post</a>';
if($logged)
$main_content .= '
<br/><a href="?subtopic=forum&action=new_post&thread_id='.$thread_id.'"e='.$thread['id'].'">Quote</a>';
$main_content .= '
</div>';
if($thread['group_id'] >= 3)
$main_content .= '
<div class="CipBorderBottom">
<div class="CipBorder">
<div class="CipBorderCornerL" style="background-image: url('.$layout_name.'/images/forum/cip_post_border_ll.jpg)" ></div>
<div class="CipBorderH" style="background-image: url('.$layout_name.'/images/forum/cip_post_border_h.jpg)" ></div>
<div class="CipBorderCornerR" style="background-image: url('.$layout_name.'/images/forum/cip_post_border_rl.jpg)" ></div>
</div>
</div>';
else
$main_content .= '
</div>';
$main_content .= '
</td>
</tr>';
}
$main_content .= '
<table border=0 cellpadding=6 cellspacing=0 width=100%>
<tr>
<td bgcolor="#505050" class="ff_white" colspan=1 align="left" NOWRAP ><b>All times are CEST. Pages: '.$links_to_pages.'</b></td>
</tr>
</table>
<table border=0 cellpadding=6 cellspacing=0 width=100%>
<tr>
<td class="ff_pagetext" colspan=1 align="left" ></td>
<td class="ff_large" colspan=1 align="right" >
<a href="?subtopic=forum&action=new_post&thread_id='.$thread_id.'" >
<img src="images/forum/post.gif" name="" width="92" height="20" border="0" >
</a>
</td>
</tr>
<tr>
<td class="ff_std" colspan=1 align="left" ></td>
</tr>
<tr>
<td class="ff_std" colspan=4 align="left" ></td>
</tr>
</table>
<br>
<b>Board Rights:<br>
</b>View threads.<br>
<br>
Replace code is ON. Smileys are ON. Images are OFF. Links are OFF. "Thank You!" option is OFF. <br>
Account muting option is ON. <br>';
}
else
$main_content .= 'Thread with this ID does not exits.';
}
if($action == 'remove_post')
{
if($logged && $group_id_of_acc_logged >= $group_not_blocked)
{
$id = (int) $_REQUEST['id'];
$post = $SQL->query("SELECT " . $SQL->fieldName('id') . ", " . $SQL->fieldName('first_post') . ", " . $SQL->fieldName('section') . " FROM " . $SQL->tableName('z_forum') . " WHERE " . $SQL->fieldName('id') . " = ".$id." LIMIT 1")->fetch();
if($post['id'] == $id)
{
if($post['id'] == $post['first_post'])
{
$SQL->query("DELETE FROM " . $SQL->tableName('z_forum') . " WHERE " . $SQL->fieldName('first_post') . " = ".$post['id']);
header('Location: ?subtopic=forum&action=show_board&id='.$post['section']);
}
else
{
$post_page = $SQL->query("SELECT COUNT(" . $SQL->tableName('z_forum') . "." . $SQL->fieldName('id') . ") AS posts_count FROM " . $SQL->tableName('players') . ", " . $SQL->tableName('z_forum') . " WHERE " . $SQL->tableName('players') . "." . $SQL->fieldName('id') . " = " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('author_guid') . " AND " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('id') . " < ".$id." AND " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('first_post') . " = ".(int) $post['first_post'])->fetch();
$page = (int) ceil($post_page['posts_count'] / $threads_per_page) - 1;
$SQL->query("UPDATE " . $SQL->tableName('z_forum') . " SET " . $SQL->fieldName('replies') . " = " . $SQL->fieldName('replies') . " - 1 WHERE " . $SQL->fieldName('id') . " = ".$post['first_post']);
$SQL->query("DELETE FROM " . $SQL->tableName('z_forum') . " WHERE " . $SQL->fieldName('id') . " = ".$post['id']);
header('Location: ?subtopic=forum&action=show_thread&id='.$post['first_post'].'&page='.(int) $page);
}
}
else
$main_content .= 'Post with ID '.$id.' does not exist.';
}
else
$main_content .= 'You are not logged in or you are not moderator.';
}
if($action == 'new_post')
{
if($logged)
{
if(canPost($account_logged) || $group_id_of_acc_logged >= $group_not_blocked)
{
$players_from_account = $SQL->query("SELECT " . $SQL->tableName('players') . "." . $SQL->fieldName('name') . ", " . $SQL->tableName('players') . "." . $SQL->fieldName('id') . " FROM " . $SQL->tableName('players') . " WHERE " . $SQL->tableName('players') . "." . $SQL->fieldName('account_id') . " = ".(int) $account_logged->getId())->fetchAll();
$thread_id = (int) $_REQUEST['thread_id'];
$thread = $SQL->query("SELECT " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('post_topic') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('id') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('section') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('post_icon_id') . " FROM " . $SQL->tableName('z_forum') . " WHERE " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('id') . " = ".(int) $thread_id." AND " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('first_post') . " = ".(int) $thread_id." LIMIT 1")->fetch();
$main_content .= '
<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%>
<TR>
<TD><IMG SRC="'.$layout_name.'/images/general/blank.gif" WIDTH=10 HEIGHT=1 BORDER=0></TD>
<TD WIDTH=100% ALIGN=right>
<a href="?subtopic=forum" >Community Boards</a> |
<a href="?subtopic=forum&action=show_board&id='.$thread['section'].'">'.$sections[$thread['section']].'</a> |
<a href="?subtopic=forum&action=show_thread&id='.$thread_id.'">'.htmlspecialchars($thread['post_topic']).'</a> |
<b>Post New Reply</b></TD>
<TD><IMG SRC="'.$layout_name.'/images/general/blank.gif" WIDTH=10 HEIGHT=1 BORDER=0></TD>
</TR>
</TABLE>
<br>
';
if(isset($_POST['preview_new_post'])){
$main_content .= '
<table border=0 cellpadding=4 cellspacing=1 width=100%>
<tr>
<td bgcolor="#505050" class="ff_whitelarge" colspan=1 align="left" NOWRAP ><b>Message Preview</b></td>
</tr>
<tr>
<td style="position:relative; height:100%;background-color:#D4C0A1;" align="top" >
<div style="position:relative; min-height:18px; width:100%; overflow-x:auto; overflow-y:visible; width:734px; word-wrap:break-word;">
'.showPreview(htmlspecialchars($thread['post_topic']), nl2br($_POST['text']), $thread['post_smile']).'
</div>
</td>
</tr>
</table><br><br>';
}
if(isset($thread['id']))
{
$quote = (int) $_REQUEST['quote'];
$text = trim(codeLower($_REQUEST['text']));
$forum_iconid = (int) $_REQUEST['forum_iconid'];
$char_id = (int) $_REQUEST['char_id'];
$post_topic = trim($_REQUEST['topic']);
$smile = (int) $_REQUEST['smile'];
$saved = false;
if(isset($_REQUEST['quote']))
{
$quoted_post = $SQL->query("SELECT " . $SQL->tableName('players') . "." . $SQL->fieldName('name') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('post_text') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('post_date') . " FROM " . $SQL->tableName('players') . ", " . $SQL->tableName('z_forum') . " WHERE " . $SQL->tableName('players') . "." . $SQL->fieldName('id') . " = " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('author_guid') . " AND " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('id') . " = ".(int) $quote)->fetchAll();
if(isset($quoted_post[0]['name']))
$text = '[i]Originally posted by '.$quoted_post[0]['name'].' on '.date('d.m.y H:i:s', $quoted_post[0]['post_date']).':[/i][quote]'.$quoted_post[0]['post_text'].'[/quote]';
}
elseif(isset($_POST['submit']) && $_POST['submit'] == "save_post")
{
$lenght = 0;
for($i = 0; $i <= strlen($text); $i++)
{
if(ord($text[$i]) >= 33 && ord($text[$i]) <= 126)
$lenght++;
}
if($lenght < 1 || strlen($text) > 15000)
$errors[] = 'Too short or too long post (short: '.$lenght.' long: '.strlen($text).' letters). Minimum 1 letter, maximum 15000 letters.';
if($char_id == 0)
$errors[] = 'Please select a character.';
$player_on_account == false;
if(count($errors) == 0)
{
foreach($players_from_account as $player)
if($char_id == $player['id'])
$player_on_account = true;
if(!$player_on_account)
$errors[] = 'Player with selected ID '.$char_id.' doesn\'t exist or isn\'t on your account';
}
if(count($errors) == 0)
{
$last_post = $account_logged->getCustomField('last_post');
if($last_post+$post_interval-time() > 0 && $group_id_of_acc_logged < $group_not_blocked)
$errors[] = 'You can post one time per '.$post_interval.' seconds. Next post after '.($last_post+$post_interval-time()).' second(s).';
}
if(count($errors) == 0)
{
$saved = true;
$account_logged->set('last_post', time());
$account_logged->save();
$SQL->query("INSERT INTO " . $SQL->tableName('z_forum') . " (" . $SQL->fieldName('first_post') . " ," . $SQL->fieldName('last_post') . " ," . $SQL->fieldName('section') . " ," . $SQL->fieldName('replies') . " ," . $SQL->fieldName('views') . " ," . $SQL->fieldName('author_aid') . " ," . $SQL->fieldName('author_guid') . " ," . $SQL->fieldName('post_text') . " ," . $SQL->fieldName('post_topic') . " ," . $SQL->fieldName('post_smile') . " ," . $SQL->fieldName('post_date') . " ," . $SQL->fieldName('last_edit_aid') . " ," . $SQL->fieldName('edit_date') . ", " . $SQL->fieldName('post_ip') . ", " . $SQL->fieldName('post_icon_id') . ") VALUES ('".$thread['id']."', '0', '".$thread['section']."', '0', '0', '".$account_logged->getId()."', '".(int) $char_id."', ".$SQL->quote($text).", ".$SQL->quote($post_topic).", '".(int) $smile."', '".time()."', '0', '0', '".$_SERVER['REMOTE_ADDR']."', '".(int) $forum_iconid."')");
$SQL->query("UPDATE " . $SQL->tableName('z_forum') . " SET " . $SQL->fieldName('replies') . "=" . $SQL->fieldName('replies') . "+1, " . $SQL->fieldName('last_post') . "=".time()." WHERE " . $SQL->fieldName('id') . " = ".(int) $thread_id);
$post_page = $SQL->query("SELECT COUNT(" . $SQL->tableName('z_forum') . "." . $SQL->fieldName('id') . ") AS posts_count FROM " . $SQL->tableName('players') . ", " . $SQL->tableName('z_forum') . " WHERE " . $SQL->tableName('players') . "." . $SQL->fieldName('id') . " = " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('author_guid') . " AND " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('post_date') . " <= ".time()." AND " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('first_post') . " = ".(int) $thread['id'])->fetch();
$page = (int) ceil($post_page['posts_count'] / $threads_per_page) - 1;
header('Location: ?subtopic=forum&action=show_thread&id='.$thread_id.'&page='.$page);
$main_content .= '<br />Thank you for posting.<br /><a href="?subtopic=forum&action=show_thread&id='.$thread_id.'">GO BACK TO LAST THREAD</a>';
}
}
if(!$saved)
{
if(count($errors) > 0)
{
$main_content .= '<font color="red" size="2"><b>Errors occured:</b>';
foreach($errors as $error)
$main_content .= '<br />* '.$error;
$main_content .= '</font><br />';
}
$main_content .= '
<table border=0 cellpadding=4 cellspacing=1 width="97%">
<form action="?" method="POST">
<input type="hidden" name="action" value="new_post" />
<input type="hidden" name="thread_id" value="'.$thread_id.'" />
<input type="hidden" name="subtopic" value="forum" />
<input type="hidden" name="save" value="save" />
<tr>
<td bgcolor="#505050" class="ff_whitelarge" colspan=2 align="left" >Post New Reply</td>
</tr>
<tr>
<td bgcolor="#D4C0A1" class="ff_std" colspan=1 align="left" valign="top" ><b>'.$config['server']['serverName'].' Character:</b></td>
<td bgcolor="#D4C0A1" class="ff_std" colspan=1 align="left" >
<select name="char_id">
<option value="0">(Choose character)</option>';
foreach($players_from_account as $player)
{
$main_content .= '<option value="'.$player['id'].'"';
if($player['id'] == $char_id)
$main_content .= ' selected="selected"';
$main_content .= '>'.$player['name'].'</option>';
}
$main_content .= '
</select>
</td>
</tr>
<tr>
<td bgcolor="#F1E0C6" class="ff_std" colspan=1 align="left" valign="top" ><b>Post Subject:</b></td>
<td bgcolor="#F1E0C6" class="ff_std" colspan=1 align="left" >
<input type="text" name="topic" value="'.htmlspecialchars($post_topic).'" size="40" maxlength="60" />
<font class="ff_info"> (Optional)</font>
</td>
</tr>
<tr>
<td bgcolor="#D4C0A1" class="ff_std" colspan=1 align="left" valign="top" ><b>Post Icon:</b></td>
<td bgcolor="#D4C0A1" class="ff_std" colspan=1 align="left" >
<input type=radio name="forum_iconid" value="11">
<img src="'.$layout_name.'/images/forum/icons/11.gif" border=0 width=15 height=15 alt="Stuck Tongue Out">
<input type=radio name="forum_iconid" value="12">
<img src="'.$layout_name.'/images/forum/icons/12.gif" border=0 width=15 height=15 alt="Eek">
<input type=radio name="forum_iconid" value="13">
<img src="'.$layout_name.'/images/forum/icons/13.gif" border=0 width=15 height=15 alt="Roll Eyes">
<input type=radio name="forum_iconid" value="14">
<img src="'.$layout_name.'/images/forum/icons/14.gif" border=0 width=15 height=15 alt="Thumbs up">
<input type=radio name="forum_iconid" value="15">
<img src="'.$layout_name.'/images/forum/icons/15.gif" border=0 width=15 height=15 alt="Thumbs down">
<input type=radio name="forum_iconid" value="16">
<img src="'.$layout_name.'/images/forum/icons/16.gif" border=0 width=15 height=15 alt="Wink">
<input type=radio name="forum_iconid" value="17">
<img src="'.$layout_name.'/images/forum/icons/17.gif" border=0 width=15 height=15 alt="Red face"> <br>
<input type=radio name="forum_iconid" value="18">
<img src="'.$layout_name.'/images/forum/icons/18.gif" border=0 width=15 height=15 alt="Talking">
<input type=radio name="forum_iconid" value="19">
<img src="'.$layout_name.'/images/forum/icons/19.gif" border=0 width=15 height=15 alt="Unhappy">
<input type=radio name="forum_iconid" value="20">
<img src="'.$layout_name.'/images/forum/icons/20.gif" border=0 width=15 height=15 alt="Angry">
<input type=radio name="forum_iconid" value="21">
<img src="'.$layout_name.'/images/forum/icons/21.gif" border=0 width=15 height=15 alt="Smile">
<input type=radio name="forum_iconid" value="22">
<img src="'.$layout_name.'/images/forum/icons/22.gif" border=0 width=15 height=15 alt="Cool">
<input type=radio name="forum_iconid" value="23">
<img src="'.$layout_name.'/images/forum/icons/23.gif" border=0 width=15 height=15 alt="Question">
<input type=radio name="forum_iconid" value="24">
<img src="'.$layout_name.'/images/forum/icons/24.gif" border=0 width=15 height=15 alt="Exclamation"> <br>
<input type=radio name="forum_iconid" value="25">
<img src="'.$layout_name.'/images/forum/icons/25.gif" border=0 width=15 height=15 alt="Lightbulb">
<input type=radio name="forum_iconid" value="26">
<img src="'.$layout_name.'/images/forum/icons/26.gif" border=0 width=15 height=15 alt="Arrow">
<input type=radio name="forum_iconid" value="27">
<img src="'.$layout_name.'/images/forum/icons/27.gif" border=0 width=15 height=15 alt="Post"> <br>
<input type=radio name="forum_iconid" value="0" checked>
No Icon</td>
</tr>
<tr>
<td bgcolor="#F1E0C6" class="ff_std" colspan=1 align="left" valign="top" ><b>Message:</b><br>
<br>
<font class="ff_info">Replace codes are allowed.<br><br>
How to use smileys:<br>
<table border=0 cellpadding=2 cellspacing=0 width=100%>
<tr>
<td colspan=1 align="left" ><img src="'.$layout_name.'/images/forum/smile/1.gif" border=0 width=15 height=15 alt="Stuck Tongue Out"></td>
<td colspan=1 align="left" >:p</td>
</tr>
<tr>
<td colspan=1 align="left" ><img src="'.$layout_name.'/images/forum/smile/2.gif" border=0 width=15 height=15 alt="Eek"></td>
<td colspan=1 align="left" >:eek:</td>
</tr>
<tr>
<td colspan=1 align="left" ><img src="'.$layout_name.'/images/forum/smile/3.gif" border=0 width=15 height=15 alt="Roll Eyes"></td>
<td colspan=1 align="left" >:rolleyes:</td>
</tr>
<tr>
<td colspan=1 align="left" ><img src="'.$layout_name.'/images/forum/smile/4.gif" border=0 width=15 height=15 alt="Wink"></td>
<td colspan=1 align="left" >;)</td>
</tr>
<tr>
<td colspan=1 align="left" ><img src="'.$layout_name.'/images/forum/smile/5.gif" border=0 width=15 height=15 alt="Red face"></td>
<td colspan=1 align="left" >:o</td>
</tr>
<tr>
<td colspan=1 align="left" ><img src="'.$layout_name.'/images/forum/smile/6.gif" border=0 width=15 height=15 alt="Talking"></td>
<td colspan=1 align="left" >:D</td>
</tr>
<tr>
<td colspan=1 align="left" ><img src="'.$layout_name.'/images/forum/smile/7.gif" border=0 width=15 height=15 alt="Unhappy"></td>
<td colspan=1 align="left" >:(</td>
</tr>
<tr>
<td colspan=1 align="left" ><img src="'.$layout_name.'/images/forum/smile/8.gif" border=0 width=15 height=15 alt="Angry"></td>
<td colspan=1 align="left" >:mad:</td>
</tr>
<tr>
<td colspan=1 align="left" ><img src="'.$layout_name.'/images/forum/smile/9.gif" border=0 width=15 height=15 alt="Smile"></td>
<td colspan=1 align="left" >:)</td>
</tr>
<tr>
<td colspan=1 align="left" ><img src="'.$layout_name.'/images/forum/smile/10.gif" border=0 width=15 height=15 alt="Cool"></td>
<td colspan=1 align="left" >:cool:</td>
</tr>
</table>
</font>
</td>
<td bgcolor="#F1E0C6" class="ff_std" colspan=1 align="left" ><textarea rows=20 cols=55 name="text">'.htmlspecialchars($text).'</textarea></td>
</tr>
<tr>
<td bgcolor="#D4C0A1" class="ff_std" colspan=1 align="left" valign="top" ><b>Options:</td>
<td bgcolor="#D4C0A1" class="ff_info" colspan=1 align="left" ><input type="checkbox" name="smile" value="1"';
if($smile == 1)
$main_content .= ' checked="checked"';
$main_content .= '/> <b>Disable Smileys in This Post </b><br>
</td>
</tr>
<tr>
<td class="ff_std" colspan=2 align="center"><br>
<input type=submit name="preview_new_post" value="Preview Reply">
<button type="submit" name="submit" value="save_post">Submit Message</button>
<input type=reset name="reset" value="Reset Fields">
</td>
</FORM>
</table>';
$threads = $SQL->query("SELECT " . $SQL->tableName('players') . "." . $SQL->fieldName('name') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('post_text') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('post_topic') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('post_smile') . " FROM " . $SQL->tableName('players') . ", " . $SQL->tableName('z_forum') . " WHERE " . $SQL->tableName('players') . "." . $SQL->fieldName('id') . " = " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('author_guid') . " AND " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('first_post') . " = ".(int) $thread_id." ORDER BY " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('post_date') . " DESC LIMIT 10")->fetchAll();
$main_content .= '
<br><br>
<table border=0 cellpadding=5 cellspacing=1 width=100%>
<tr>
<td bgcolor="#505050" class="ff_whitelarge" colspan=2 align="center" NOWRAP ><b>Thread Review (newest first)</b></td>
</tr>';
foreach($threads as $thread)
{
if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
$main_content .= '
<tr>
<td bgcolor="'.$bgcolor.'" class="ff_pagetext" colspan=1 align="left" valign="top" width=175 ><a href="#">'.$thread['name'].'</a></td>
<td style="position:relative; height:100%;background-color:'.$bgcolor.';" align="top" >
<div style="position:relative; min-height:18px; width:100%; overflow-x:auto; overflow-y:visible; width:538px; word-wrap:break-word;" >'.showPost(htmlspecialchars($thread['post_topic']), nl2br($thread['post_text']), $thread['post_smile']).'</div></td>
</tr>';
}
}
}
else
$main_content .= 'Thread with ID '.$thread_id.' doesn\'t exist.';
}
else
$main_content .= 'Your account is banned, deleted or you don\'t have any player with level '.$level_limit.' on your account. You can\'t post.';
}
else
$main_content .= 'Login first.';
}
$main_content .= '</table>';
if($action == 'edit_post')
{
if($logged)
{
if(canPost($account_logged) || $group_id_of_acc_logged >= $group_not_blocked)
{
$post_id = (int) $_REQUEST['id'];
$thread = $SQL->query("SELECT " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('author_guid') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('author_aid') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('first_post') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('post_topic') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('post_date') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('post_text') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('post_icon_id') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('post_smile') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('id') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('section') . " FROM " . $SQL->tableName('z_forum') . " WHERE " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('id') . " = ".(int) $post_id." LIMIT 1")->fetch();
if(isset($thread['id']))
{
$first_post = $SQL->query("SELECT " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('author_guid') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('author_aid') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('first_post') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('post_topic') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('post_text') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('post_smile') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('id') . ", " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('section') . " FROM " . $SQL->tableName('z_forum') . " WHERE " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('id') . " = ".(int) $thread['first_post']." LIMIT 1")->fetch();
$main_content .= '
<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%>
<TR>
<TD><IMG SRC="'.$layout_name.'/images/general/blank.gif" WIDTH=10 HEIGHT=1 BORDER=0></TD>
<TD WIDTH=100% ALIGN=right>
<a href="?subtopic=forum" >Community Boards</a> |
<a href="?subtopic=forum&action=show_board&id='.$thread['section'].'">'.$sections[$thread['section']].'</a> |
<a href="?subtopic=forum&action=show_thread&id='.$thread['first_post'].'">'.htmlspecialchars($first_post['post_topic']).'</a> |
<b><a href="http://forum.tibia.com/forum/?action=thread&postid=35335511#post35335511" >Post</a></b> |
<b>Edit Post</b></TD>
<TD><IMG SRC="'.$layout_name.'/images/general/blank.gif" WIDTH=10 HEIGHT=1 BORDER=0></TD>
</TR>
</TABLE>
<br>
';
if(isset($_POST['preview_edit_post'])){
$main_content .= '
<table border=0 cellpadding=4 cellspacing=1 width=100%>
<tr>
<td bgcolor="#505050" class="ff_whitelarge" colspan=1 align="left" NOWRAP ><b>Message Preview</b></td>
</tr>
<tr>
<td style="position:relative; height:100%;background-color:#D4C0A1;" align="top" >
<div style="position:relative; min-height:18px; width:100%; overflow-x:auto; overflow-y:visible; width:734px; word-wrap:break-word;">
'.showPreview(htmlspecialchars($thread['post_topic']), nl2br($_POST['text']), $thread['post_smile']).'
</div>
</td>
</tr>
</table><br><br>';
}
if($account_logged->getId() == $thread['author_aid'] || $group_id_of_acc_logged >= $group_not_blocked)
{
$players_from_account = $SQL->query("SELECT " . $SQL->tableName('players') . "." . $SQL->fieldName('name') . ", " . $SQL->tableName('players') . "." . $SQL->fieldName('id') . " FROM " . $SQL->tableName('players') . " WHERE " . $SQL->tableName('players') . "." . $SQL->fieldName('account_id') . " = ".(int) $account_logged->getId())->fetchAll();
$saved = false;
if(isset($_POST['submit']) && $_POST['submit'] == "edit_post")
{
$text = trim(codeLower($_REQUEST['text']));
$char_id = (int) $_REQUEST['char_id'];
$forum_iconid = (int) $_REQUEST['forum_iconid'];
$post_topic = trim($_REQUEST['topic']);
$smile = (int) $_REQUEST['smile'];
$lenght = 0;
for($i = 0; $i <= strlen($post_topic); $i++)
{
if(ord($post_topic[$i]) >= 33 && ord($post_topic[$i]) <= 126)
$lenght++;
}
if(($lenght < 1 || strlen($post_topic) > 60) && $thread['id'] == $thread['first_post'])
$errors[] = 'Too short or too long topic (short: '.$lenght.' long: '.strlen($post_topic).' letters). Minimum 1 letter, maximum 60 letters.';
$lenght = 0;
for($i = 0; $i <= strlen($text); $i++)
{
if(ord($text[$i]) >= 33 && ord($text[$i]) <= 126)
$lenght++;
}
if($lenght < 1 || strlen($text) > 15000)
$errors[] = 'Too short or too long post (short: '.$lenght.' long: '.strlen($text).' letters). Minimum 1 letter, maximum 15000 letters.';
if($char_id == 0)
$errors[] = 'Please select a character.';
if(empty($post_topic) && $thread['id'] == $thread['first_post'])
$errors[] = 'Thread topic can\'t be empty.';
$player_on_account == false;
if(count($errors) == 0)
{
foreach($players_from_account as $player)
if($char_id == $player['id'])
$player_on_account = true;
if(!$player_on_account)
$errors[] = 'Player with selected ID '.$char_id.' doesn\'t exist or isn\'t on your account';
}
if(count($errors) == 0)
{
$saved = true;
if($account_logged->getId() != $thread['author_aid'])
$char_id = $thread['author_guid'];
$SQL->query("UPDATE " . $SQL->tableName('z_forum') . " SET " . $SQL->fieldName('author_guid') . " = ".(int) $char_id.", " . $SQL->fieldName('post_text') . " = ".$SQL->quote($text).", " . $SQL->fieldName('post_topic') . " = ".$SQL->quote($post_topic).", " . $SQL->fieldName('post_smile') . " = ".(int) $smile.", " . $SQL->fieldName('last_edit_aid') . " = ".(int) $account_logged->getId()."," . $SQL->fieldName('edit_date') . " = ".time().", " . $SQL->fieldName('post_icon_id')." = " .(int) $forum_iconid. " WHERE " . $SQL->fieldName('id') . " = ".(int) $thread['id']);
$post_page = $SQL->query("SELECT COUNT(" . $SQL->tableName('z_forum') . "." . $SQL->fieldName('id') . ") AS posts_count FROM " . $SQL->tableName('players') . ", " . $SQL->tableName('z_forum') . " WHERE " . $SQL->tableName('players') . "." . $SQL->fieldName('id') . " = " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('author_guid') . " AND " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('post_date') . " <= ".$thread['post_date']." AND " . $SQL->tableName('z_forum') . "." . $SQL->fieldName('first_post') . " = ".(int) $thread['first_post'])->fetch();
$page = (int) ceil($post_page['posts_count'] / $threads_per_page) - 1;
header('Location: ?subtopic=forum&action=show_thread&id='.$thread['first_post'].'&page='.$page);
$main_content .= '<br />Thank you for editing post.<br /><a href="?subtopic=forum&action=show_thread&id='.$thread['first_post'].'">GO BACK TO LAST THREAD</a>';
}
}
else
{
$text = $thread['post_text'];
$char_id = (int) $thread['author_guid'];
$post_topic = $thread['post_topic'];
$smile = (int) $thread['post_smile'];
}
if(!$saved)
{
if(count($errors) > 0)
{
$main_content .= '<br /><font color="red" size="2"><b>Errors occured:</b>';
foreach($errors as $error)
$main_content .= '<br />* '.$error;
$main_content .= '</font>';
}
$main_content .= '
<table border=0 cellpadding=4 cellspacing=1>
<form action="?" method="POST">
<input type="hidden" name="action" value="edit_post" />
<input type="hidden" name="id" value="'.$post_id.'" />
<input type="hidden" name="subtopic" value="forum" />
<input type="hidden" name="save" value="save" />
<tr>
<td bgcolor="#505050" class="ff_whitelarge" colspan=2 align="left" >Edit Post</td>
</tr>
<tr>
<td bgcolor="#D4C0A1" class="ff_std" colspan=1 align="left" valign="top" ><b>'.$config['server']['serverName'].' Character:</b><br>
<font class="ff_smallinfo">(This will appear as "Edited by ..." in the post)</font>
</td>
<td bgcolor="#D4C0A1" class="ff_std" colspan=1 align="left" >
<select name="char_id">
<option value="0">(Choose character)</option>';
foreach($players_from_account as $player)
{
$main_content .= '<option value="'.$player['id'].'"';
if($player['id'] == $char_id)
$main_content .= ' selected="selected"';
$main_content .= '>'.$player['name'].'</option>';
}
$main_content .= '
</select>
</td>
</tr>
<tr>
<td bgcolor="#F1E0C6" class="ff_std" colspan=1 align="left" valign="top" ><b>Post Subject:</b></td>
<td bgcolor="#F1E0C6" class="ff_std" colspan=1 align="left" ><input type="text" value="'.htmlspecialchars($post_topic).'" name="topic" size="40" maxlength="60" /><font class="ff_info"> (Optional)</font></td>
</tr>
<tr>
<td bgcolor="#D4C0A1" class="ff_std" colspan=1 align="left" valign="top" ><b>Post Icon:</b></td>
<td bgcolor="#D4C0A1" class="ff_std" colspan=1 align="left" >
<input type=radio name="forum_iconid" value="11"'; if($thread['post_icon_id'] == "11"){$main_content .= 'checked';} $main_content .= ' >
<img src="'.$layout_name.'/images/forum/icons/11.gif" border=0 width=15 height=15 alt="Stuck Tongue Out">
<input type=radio name="forum_iconid" value="12"'; if($thread['post_icon_id'] == "12"){$main_content .= 'checked';} $main_content .= '>
<img src="'.$layout_name.'/images/forum/icons/12.gif" border=0 width=15 height=15 alt="Eek">
<input type=radio name="forum_iconid" value="13"'; if($thread['post_icon_id'] == "13"){$main_content .= 'checked';} $main_content .= '>
<img src="'.$layout_name.'/images/forum/icons/13.gif" border=0 width=15 height=15 alt="Roll Eyes">
<input type=radio name="forum_iconid" value="14"'; if($thread['post_icon_id'] == "14"){$main_content .= 'checked';} $main_content .= '>
<img src="'.$layout_name.'/images/forum/icons/14.gif" border=0 width=15 height=15 alt="Thumbs up">
<input type=radio name="forum_iconid" value="15"'; if($thread['post_icon_id'] == "15"){$main_content .= 'checked';} $main_content .= '>
<img src="'.$layout_name.'/images/forum/icons/15.gif" border=0 width=15 height=15 alt="Thumbs down">
<input type=radio name="forum_iconid" value="16"'; if($thread['post_icon_id'] == "16"){$main_content .= 'checked';} $main_content .= '>
<img src="'.$layout_name.'/images/forum/icons/16.gif" border=0 width=15 height=15 alt="Wink">
<input type=radio name="forum_iconid" value="17"'; if($thread['post_icon_id'] == "17"){$main_content .= 'checked';} $main_content .= '>
<img src="'.$layout_name.'/images/forum/icons/17.gif" border=0 width=15 height=15 alt="Red face"> <br>
<input type=radio name="forum_iconid" value="18"'; if($thread['post_icon_id'] == "18"){$main_content .= 'checked';} $main_content .= '>
<img src="'.$layout_name.'/images/forum/icons/18.gif" border=0 width=15 height=15 alt="Talking">
<input type=radio name="forum_iconid" value="19"'; if($thread['post_icon_id'] == "19"){$main_content .= 'checked';} $main_content .= '>
<img src="'.$layout_name.'/images/forum/icons/19.gif" border=0 width=15 height=15 alt="Unhappy">
<input type=radio name="forum_iconid" value="20"'; if($thread['post_icon_id'] == "20"){$main_content .= 'checked';} $main_content .= '>
<img src="'.$layout_name.'/images/forum/icons/20.gif" border=0 width=15 height=15 alt="Angry">
<input type=radio name="forum_iconid" value="21"'; if($thread['post_icon_id'] == "21"){$main_content .= 'checked';} $main_content .= '>
<img src="'.$layout_name.'/images/forum/icons/21.gif" border=0 width=15 height=15 alt="Smile">
<input type=radio name="forum_iconid" value="22"'; if($thread['post_icon_id'] == "22"){$main_content .= 'checked';} $main_content .= '>
<img src="'.$layout_name.'/images/forum/icons/22.gif" border=0 width=15 height=15 alt="Cool">
<input type=radio name="forum_iconid" value="23"'; if($thread['post_icon_id'] == "23"){$main_content .= 'checked';} $main_content .= '>
<img src="'.$layout_name.'/images/forum/icons/23.gif" border=0 width=15 height=15 alt="Question">
<input type=radio name="forum_iconid" value="24"'; if($thread['post_icon_id'] == "24"){$main_content .= 'checked';} $main_content .= '>
<img src="'.$layout_name.'/images/forum/icons/24.gif" border=0 width=15 height=15 alt="Exclamation"> <br>
<input type=radio name="forum_iconid" value="25"'; if($thread['post_icon_id'] == "25"){$main_content .= 'checked';} $main_content .= '>
<img src="'.$layout_name.'/images/forum/icons/25.gif" border=0 width=15 height=15 alt="Lightbulb">
<input type=radio name="forum_iconid" value="26"'; if($thread['post_icon_id'] == "26"){$main_content .= 'checked';} $main_content .= '>
<img src="'.$layout_name.'/images/forum/icons/26.gif" border=0 width=15 height=15 alt="Arrow">
<input type=radio name="forum_iconid" value="27"'; if($thread['post_icon_id'] == "27"){$main_content .= 'checked';} $main_content .= '>
<img src="'.$layout_name.'/images/forum/icons/27.gif" border=0 width=15 height=15 alt="Post"> <br>
<input type=radio name="forum_iconid" value="0"'; if($thread['post_icon_id'] == "0"){$main_content .= 'checked';} $main_content .= '>
No Icon</td>
</tr>
<tr>
<td bgcolor="#F1E0C6" class="ff_std" colspan=1 align="left" valign="top" ><b>Message:</b><br>
<br>
<font class="ff_info">Replace codes are allowed.<br><br>
How to use smileys:<br>
<table border=0 cellpadding=2 cellspacing=0 width=100%>
<tr>
<td colspan=1 align="left" ><img src="'.$layout_name.'/images/forum/smile/1.gif" border=0 width=15 height=15 alt="Stuck Tongue Out"></td>
<td colspan=1 align="left" >:p</td>
</tr>
<tr>
<td colspan=1 align="left" ><img src="'.$layout_name.'/images/forum/smile/2.gif" border=0 width=15 height=15 alt="Eek"></td>
<td colspan=1 align="left" >:eek:</td>
</tr>
<tr>
<td colspan=1 align="left" ><img src="'.$layout_name.'/images/forum/smile/3.gif" border=0 width=15 height=15 alt="Roll Eyes"></td>
<td colspan=1 align="left" >:rolleyes:</td>
</tr>
<tr>
<td colspan=1 align="left" ><img src="'.$layout_name.'/images/forum/smile/4.gif" border=0 width=15 height=15 alt="Wink"></td>
<td colspan=1 align="left" >;)</td>
</tr>
<tr>
<td colspan=1 align="left" ><img src="'.$layout_name.'/images/forum/smile/5.gif" border=0 width=15 height=15 alt="Red face"></td>
<td colspan=1 align="left" >:o</td>
</tr>
<tr>
<td colspan=1 align="left" ><img src="'.$layout_name.'/images/forum/smile/6.gif" border=0 width=15 height=15 alt="Talking"></td>
<td colspan=1 align="left" >:D</td>
</tr>
<tr>
<td colspan=1 align="left" ><img src="'.$layout_name.'/images/forum/smile/7.gif" border=0 width=15 height=15 alt="Unhappy"></td>
<td colspan=1 align="left" >:(</td>
</tr>
<tr>
<td colspan=1 align="left" ><img src="'.$layout_name.'/images/forum/smile/8.gif" border=0 width=15 height=15 alt="Angry"></td>
<td colspan=1 align="left" >:mad:</td>
</tr>
<tr>
<td colspan=1 align="left" ><img src="'.$layout_name.'/images/forum/smile/9.gif" border=0 width=15 height=15 alt="Smile"></td>
<td colspan=1 align="left" >:)</td>
</tr>
<tr>
<td colspan=1 align="left" ><img src="'.$layout_name.'/images/forum/smile/10.gif" border=0 width=15 height=15 alt="Cool"></td>
<td colspan=1 align="left" >:cool:</td>
</tr>
</table>
</font>
</td>
<td bgcolor="#F1E0C6" class="ff_std" colspan=1 align="left" ><textarea rows=20 cols=55 name="text">'.htmlspecialchars($text).'</textarea><div id="forum_pt_lenght">4094 characters left.</div></td>
</tr>
<tr>
<td bgcolor="#D4C0A1" class="ff_std" colspan=1 align="left" valign="top" ><b>Options:</td>
<td bgcolor="#D4C0A1" class="ff_info" colspan=1 align="left" ><input type="checkbox" name="smile" value="1"';
if($smile == 1)
$main_content .= ' checked="checked"';
$main_content .= '/><strong>Disable Smileys in This Post</strong> </td>
</tr>
<tr>
<td class="ff_std" colspan=2 align="center" ><br>
<input type=submit name="preview_edit_post" value="Preview Changes" >
<button type="submit" name="submit" value="edit_post">Submit Message</button>
<input type=reset name="reset" value="Reset Fields">
</td>
</tr>
</table>
</form>';
}
}
else
$main_content .= '<br />You are not an author of this post.';
}
else
$main_content .= '<br />Post with ID '.$post_id.' doesn\'t exist.';
}
else
$main_content .= '<br />Your account is banned, deleted or you don\'t have any player with level '.$level_limit.' on your account. You can\'t post.';
}
else
$main_content .= '<br />Login first.';
}
if($action == 'new_topic')
{
if($logged)
{
if(canPost($account_logged) || $group_id_of_acc_logged >= $group_not_blocked)
{
$players_from_account = $SQL->query("SELECT " . $SQL->tableName('players') . "." . $SQL->fieldName('name') . ", " . $SQL->tableName('players') . "." . $SQL->fieldName('id') . " FROM " . $SQL->tableName('players') . " WHERE " . $SQL->tableName('players') . "." . $SQL->fieldName('account_id') . " = ".(int) $account_logged->getId())->fetchAll();
$section_id = (int) $_REQUEST['section_id'];
$main_content .= '
<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%>
<TR>
<TD><IMG SRC="'.$layout_name.'/images/general/blank.gif" WIDTH=10 HEIGHT=1 BORDER=0></TD>
<TD WIDTH=100% ALIGN=right>
<a href="?subtopic=forum" >Community Boards</a> |
<a href="?subtopic=forum&action=show_board&id='.$section_id.'">'.$sections[$section_id].'</a> |
<b>Post New Thread</b></TD>
<TD><IMG SRC="'.$layout_name.'/images/general/blank.gif" WIDTH=10 HEIGHT=1 BORDER=0></TD>
</TR>
</TABLE>
<br>
';
if(isset($_POST['preview_new_topic'])){
$main_content .= '
<table border=0 cellpadding=4 cellspacing=1 width=100%>
<tr>
<td bgcolor="#505050" class="ff_whitelarge" colspan=1 align="left" NOWRAP ><b>Message Preview</b></td>
</tr>
<tr>
<td style="position:relative; height:100%;background-color:#D4C0A1;" align="top" >
<div style="position:relative; min-height:18px; width:100%; overflow-x:auto; overflow-y:visible; width:734px; word-wrap:break-word;">
'.showPreview(htmlspecialchars($thread['post_topic']), nl2br($_POST['text']), $thread['post_smile']).'
</div>
</td>
</tr>
</table><br><br>';
}
if(isset($sections[$section_id]))
{
if($section_id == 1 && $group_id_of_acc_logged < $group_not_blocked)
$errors[] = 'Only moderators and admins can post on news board.';
$quote = (int) $_REQUEST['quote'];
$text = trim(codeLower($_REQUEST['text']));
$forum_iconid = (int) $_REQUEST['forum_iconid'];
$char_id = (int) $_REQUEST['char_id'];
$post_topic = trim($_REQUEST['topic']);
$smile = (int) $_REQUEST['smile'];
$saved = false;
if(isset($_POST['submit']) && $_REQUEST['save'])
{
$lenght = 0;
for($i = 0; $i <= strlen($post_topic); $i++)
{
if(ord($post_topic[$i]) >= 33 && ord($post_topic[$i]) <= 126)
$lenght++;
}
if($lenght < 1 || strlen($post_topic) > 60)
$errors[] = 'Too short or too long topic (short: '.$lenght.' long: '.strlen($post_topic).' letters). Minimum 1 letter, maximum 60 letters.';
$lenght = 0;
for($i = 0; $i <= strlen($text); $i++)
{
if(ord($text[$i]) >= 33 && ord($text[$i]) <= 126)
$lenght++;
}
if($lenght < 1 || strlen($text) > 15000)
$errors[] = 'Too short or too long post (short: '.$lenght.' long: '.strlen($text).' letters). Minimum 1 letter, maximum 15000 letters.';
if($char_id == 0)
$errors[] = 'Please select a character.';
$player_on_account == false;
if(count($errors) == 0)
{
foreach($players_from_account as $player)
if($char_id == $player['id'])
$player_on_account = true;
if(!$player_on_account)
$errors[] = 'Player with selected ID '.$char_id.' doesn\'t exist or isn\'t on your account';
}
if(count($errors) == 0)
{
$last_post = $account_logged->getCustomField('last_post');
if($last_post+$post_interval-time() > 0 && $group_id_of_acc_logged < $group_not_blocked)
$errors[] = 'You can post one time per '.$post_interval.' seconds. Next post after '.($last_post+$post_interval-time()).' second(s).';
}
if(isset($_POST['submit'])){
if(count($errors) == 0)
{
$saved = true;
$account_logged->set('last_post', time());
$account_logged->save();
$SQL->query("INSERT INTO " . $SQL->tableName('z_forum') . " (" . $SQL->fieldName('first_post') . " ," . $SQL->fieldName('last_post') . " ," . $SQL->fieldName('section') . " ," . $SQL->fieldName('replies') . " ," . $SQL->fieldName('views') . " ," . $SQL->fieldName('author_aid') . " ," . $SQL->fieldName('author_guid') . " ," . $SQL->fieldName('post_text') . " ," . $SQL->fieldName('post_topic') . " ," . $SQL->fieldName('post_smile') . " ," . $SQL->fieldName('post_date') . " ," . $SQL->fieldName('last_edit_aid') . " ," . $SQL->fieldName('edit_date') . ", " . $SQL->fieldName('post_ip') . ", " . $SQL->fieldName('post_icon_id') . ") VALUES ('0', '".time()."', '".(int) $section_id."', '0', '0', '".$account_logged->getId()."', '".(int) $char_id."', ".$SQL->quote($text).", ".$SQL->quote($post_topic).", '".(int) $smile."', '".time()."', '0', '0', '".$_SERVER['REMOTE_ADDR']."', '".(int )$forum_iconid."')");
$thread_id = $SQL->lastInsertId();
$SQL->query("UPDATE " . $SQL->tableName('z_forum') . " SET " . $SQL->fieldName('first_post') . "=".(int) $thread_id." WHERE " . $SQL->fieldName('id') . " = ".(int) $thread_id);
header('Location: ?subtopic=forum&action=show_thread&id='.$thread_id);
$main_content .= '<br />Thank you for posting.<br /><a href="?subtopic=forum&action=show_thread&id='.$thread_id.'">GO BACK TO LAST THREAD</a>';
}
}
}
if(!$saved)
{
if(count($errors) > 0)
{
$main_content .= '<font color="red" size="2"><b>Errors occured:</b>';
foreach($errors as $error)
$main_content .= '<br />* '.$error;
$main_content .= '</font><br />';
}
$main_content .= '
<table border=0 cellpadding=4 cellspacing=1 width="100%">
<form action="/?subtopic=forum" method="POST">
<input type="hidden" name="action" value="new_topic" />
<input type="hidden" name="section_id" value="'.$section_id.'" />
<input type="hidden" name="subtopic" value="forum" />
<input type="hidden" name="save" value="save" />
<tr>
<td bgcolor="#505050" class="ff_whitelarge" colspan=2 align="left" >Post New Thread</td>
</tr>
<tr>
<td bgcolor="#D4C0A1" class="ff_std" colspan=1 align="left" valign="top" ><b>'.$config['server']['serverName'].' Character:</b></td>
<td bgcolor="#D4C0A1" class="ff_std" colspan=1 align="left" >
<select name="char_id">
<option value="0">(Choose character)</option>';
foreach($players_from_account as $player)
{
$main_content .= '<option value="'.$player['id'].'"';
if($player['id'] == $char_id)
$main_content .= ' selected="selected"';
$main_content .= '>'.$player['name'].'</option>';
}
$main_content .= '
</select>
</td>
</tr>
<tr>
<td bgcolor="#F1E0C6" class="ff_std" colspan=1 align="left" valign="top" ><b>Thread Subject:</b></td>
<td bgcolor="#F1E0C6" class="ff_std" colspan=1 align="left" >
<input type="text" name="topic" value="'.htmlspecialchars($post_topic).'" size="40" maxlength="60" />
</td>
</tr>
<tr>
<td bgcolor="#D4C0A1" class="ff_std" colspan=1 align="left" valign="top" ><b>Thread Icon:</b></td>
<td bgcolor="#D4C0A1" class="ff_std" colspan=1 align="left" ><input type=radio name="forum_iconid" value="11">
<img src="'.$layout_name.'/images/forum/icons/11.gif" border=0 width=15 height=15 alt="Stuck Tongue Out">
<input type=radio name="forum_iconid" value="12">
<img src="'.$layout_name.'/images/forum/icons/12.gif" border=0 width=15 height=15 alt="Eek">
<input type=radio name="forum_iconid" value="13">
<img src="'.$layout_name.'/images/forum/icons/13.gif" border=0 width=15 height=15 alt="Roll Eyes">
<input type=radio name="forum_iconid" value="14">
<img src="'.$layout_name.'/images/forum/icons/14.gif" border=0 width=15 height=15 alt="Thumbs up">
<input type=radio name="forum_iconid" value="15">
<img src="'.$layout_name.'/images/forum/icons/15.gif" border=0 width=15 height=15 alt="Thumbs down">
<input type=radio name="forum_iconid" value="16">
<img src="'.$layout_name.'/images/forum/icons/16.gif" border=0 width=15 height=15 alt="Wink">
<input type=radio name="forum_iconid" value="17">
<img src="'.$layout_name.'/images/forum/icons/17.gif" border=0 width=15 height=15 alt="Red face"> <br>
<input type=radio name="forum_iconid" value="18">
<img src="'.$layout_name.'/images/forum/icons/18.gif" border=0 width=15 height=15 alt="Talking">
<input type=radio name="forum_iconid" value="19">
<img src="'.$layout_name.'/images/forum/icons/19.gif" border=0 width=15 height=15 alt="Unhappy">
<input type=radio name="forum_iconid" value="20">
<img src="'.$layout_name.'/images/forum/icons/20.gif" border=0 width=15 height=15 alt="Angry">
<input type=radio name="forum_iconid" value="21">
<img src="'.$layout_name.'/images/forum/icons/21.gif" border=0 width=15 height=15 alt="Smile">
<input type=radio name="forum_iconid" value="22">
<img src="'.$layout_name.'/images/forum/icons/22.gif" border=0 width=15 height=15 alt="Cool">
<input type=radio name="forum_iconid" value="23">
<img src="'.$layout_name.'/images/forum/icons/23.gif" border=0 width=15 height=15 alt="Question">
<input type=radio name="forum_iconid" value="24">
<img src="'.$layout_name.'/images/forum/icons/24.gif" border=0 width=15 height=15 alt="Exclamation"> <br>
<input type=radio name="forum_iconid" value="25">
<img src="'.$layout_name.'/images/forum/icons/25.gif" border=0 width=15 height=15 alt="Lightbulb">
<input type=radio name="forum_iconid" value="26">
<img src="'.$layout_name.'/images/forum/icons/26.gif" border=0 width=15 height=15 alt="Arrow">
<input type=radio name="forum_iconid" value="27">
<img src="'.$layout_name.'/images/forum/icons/27.gif" border=0 width=15 height=15 alt="Post"> <br>
<input type=radio name="forum_iconid" value="0" checked>
No Icon</td>
</tr>
<tr>
<td bgcolor="#F1E0C6" class="ff_std" colspan=1 align="left" valign="top" ><b>Message:</b><br>
<br>
<font class="ff_info">Replace codes are allowed.<br><br>
How to use smileys:<br>
<table border=0 cellpadding=2 cellspacing=0 width=100%>
<tr>
<td colspan=1 align="left" ><img src="'.$layout_name.'/images/forum/smile/1.gif" border=0 width=15 height=15 alt="Stuck Tongue Out"></td>
<td colspan=1 align="left" >:p</td>
</tr>
<tr>
<td colspan=1 align="left" ><img src="'.$layout_name.'/images/forum/smile/2.gif" border=0 width=15 height=15 alt="Eek"></td>
<td colspan=1 align="left" >:eek:</td>
</tr>
<tr>
<td colspan=1 align="left" ><img src="'.$layout_name.'/images/forum/smile/3.gif" border=0 width=15 height=15 alt="Roll Eyes"></td>
<td colspan=1 align="left" >:rolleyes:</td>
</tr>
<tr>
<td colspan=1 align="left" ><img src="'.$layout_name.'/images/forum/smile/4.gif" border=0 width=15 height=15 alt="Wink"></td>
<td colspan=1 align="left" >;)</td>
</tr>
<tr>
<td colspan=1 align="left" ><img src="'.$layout_name.'/images/forum/smile/5.gif" border=0 width=15 height=15 alt="Red face"></td>
<td colspan=1 align="left" >:o</td>
</tr>
<tr>
<td colspan=1 align="left" ><img src="'.$layout_name.'/images/forum/smile/6.gif" border=0 width=15 height=15 alt="Talking"></td>
<td colspan=1 align="left" >:D</td>
</tr>
<tr>
<td colspan=1 align="left" ><img src="'.$layout_name.'/images/forum/smile/7.gif" border=0 width=15 height=15 alt="Unhappy"></td>
<td colspan=1 align="left" >:(</td>
</tr>
<tr>
<td colspan=1 align="left" ><img src="'.$layout_name.'/images/forum/smile/8.gif" border=0 width=15 height=15 alt="Angry"></td>
<td colspan=1 align="left" >:mad:</td>
</tr>
<tr>
<td colspan=1 align="left" ><img src="'.$layout_name.'/images/forum/smile/9.gif" border=0 width=15 height=15 alt="Smile"></td>
<td colspan=1 align="left" >:)</td>
</tr>
<tr>
<td colspan=1 align="left" ><img src="'.$layout_name.'/images/forum/smile/10.gif" border=0 width=15 height=15 alt="Cool"></td>
<td colspan=1 align="left" >:cool:</td>
</tr>
</table>
</font>
</td>
<td bgcolor="#F1E0C6" class="ff_std" colspan=1 align="left" ><textarea rows=20 cols=55 name="text">'.htmlspecialchars($text).'</textarea><br /></td>
</tr>
<tr>
<td bgcolor="#D4C0A1" class="ff_std" colspan=1 align="left" valign="top" ><b>Options:</td>
<td bgcolor="#D4C0A1" class="ff_info" colspan=1 align="left" ><input type="checkbox" name="smile" value="1"';
if($smile == 1)
$main_content .= ' checked="checked"';
$main_content .= '/> <b>Disable Smileys in This Post </b><br>
</td>
</tr>
<tr>
<td class="ff_std" colspan=2 align="center"><br>
<input type=submit name="preview_new_topic" value="Preview Message">
<button type="submit" name="submit" value="save_topic">Submit Message</button>
<input type=reset name="reset" value="Reset Fields">
</td>
</tr>
</FORM>
</table>';
}
}
else
$main_content .= 'Board with ID '.$board_id.' doesn\'t exist.';
}
else
$main_content .= 'Your account is banned, deleted or you don\'t have any player with level '.$level_limit.' on your account. You can\'t post.';
}
else
$main_content .= 'Login first.';
}
Caso alguém consiga me ajudar, eu ficarei muito grato.
Rep+ para quem conseguir uma solução massa.