#set ($showattachments = "no")
#set ($showcomments = "no")
<style type="text/css">
#includeTopic('BBCode.Skin')
</style>
{pre}
<script type="text/javascript">
function quote(id) {
$('BBCode.PostClass_postcontent').value = "-quote:"+id+"-" + $('BBCode.PostClass_postcontent').value;
}
function setquote() {
var s = $('BBCode.PostClass_postcontent').value
var matches = s.match(/-quote:message[0-9]*-/);
for (var i=0; i < matches.length; i++) {
var oldmatch = matches[i];
var newmatch = matches[i].replace(/-quote
message[0-9]*)-/, "$1");
s = s.replace(oldmatch, "<blockquote>" + $(newmatch).innerHTML + "</blockquote>");
}
$('BBCode.PostClass_postcontent').value = s;
return false;
return cancelCancelEdit();
}
</script>
{/pre}
#if($request.parent && $request.parent!="") #set($parent=$request.parent) #else #set($parent=$doc.parent) #end
<input type="hidden" name="parent" value="$parent" />
#set($class = $doc.getObject("BBCode.TopicClass").xWikiClass)
<input type="hidden" name="title" value="" />
<div class="bbbigbox">
#if ($context.action == 'inline')
$msg.bb_entertopictitle<br /> $doc.display('topictitle')
$msg.bb_entertopicdescription<br /> $doc.display('topicdescription')
#template('tagedit.vm')
#set($newtopictitle = $request.nicetopictitle)
#if($newtopictitle)
#set($newtopictitle = $newtopictitle.replaceAll('"',"'"))
<script type="text/javascript">
var nicetopictitle = "${newtopictitle}";
{pre}
document.forms.inline["BBCode.TopicClass_0_topictitle"].value = nicetopictitle;
document.forms.inline["title"].value = nicetopictitle;
{/pre}
</script>
#end
#if($doc.isNew() == 'false')
#set($title = $doc.getValue('topictitle', $doc.getObject('BBCode.TopicClass')))
<script type="text/javascript">
var nicetopictitle = "${title}";
{pre}
document.forms.inline["title"].value = nicetopictitle;
{/pre}
</script>
#end
#else
#set($postindex = 0)
<table class="topictable">
<tr>
<th> $msg.Author </th>
<th> #if ($doc.getValue('topictitle', $doc.getObject('BBCode.TopicClass')) != "") $doc.display('topictitle') #else $doc.name #end #if ($doc.getValue('topicdescription', $doc.getObject('BBCode.TopicClass')) != "") - <span class="bbdatatext">$doc.display('topicdescription') </span> #end </th>
</tr>
#set($postclass = $doc.getObjects('BBCode.PostClass'))
#set($tagClass = $xwiki.getClass("XWiki.TagClass"))
#set($tagsProp = $tagClass.tags)
#set($sep = $tagsProp.getProperty("separator").getValue())
#set ($tags = $doc.tags.split("${sep}"))
#set($existingTags = $xwiki.arrayList)
#foreach($tag in $tags)
#set($discard = $existingTags.add($tag))
#end
<tr>
<td colspan="2">
<div class="tags">
#if ($existingTags.size()>0 && $existingTags.get(0).length()>0)
<span class="bbdatatext"> $msg.bb_topictags
#foreach ($tag in $existingTags)
<a href='$xwiki.getURL("WebHome")?tag=$tag'> $tag </a>
#end
</span>
#end
</div>
<span class="bbdatatext"> $postclass.size() $msg.posts in topic </span>
</td>
</tr>
#foreach($item in $postclass)
#set ($postauthor = $xwiki.getUserName($doc.display('postauthor', $item), true))
#if ($doc.getValue('postcontent', $item) != '')
#set ($postindex = $postindex + 1)
<tr class="#if($postindex % 2 == 0) evenpost #end">
<td id="posttd">
#set ($localpostauthor = $doc.display('postauthor', $item))
#set ($index = $localpostauthor.indexOf(":"))
#set ($index = $index + 1)
#set ($localpostauthor = $localpostauthor.substring($index))
<div class="avatar">
<a href="$xwiki.getURL($localpostauthor)"> Failed to execute the [useravatar] macroorg.xwiki.rendering.macro.MacroExecutionException: User [BBCode.$localpostauthor] is not registered in this wiki
at org.xwiki.rendering.internal.macro.useravatar.UserAvatarMacro.execute(UserAvatarMacro.java:122)
at org.xwiki.rendering.internal.macro.useravatar.UserAvatarMacro.execute(UserAvatarMacro.java:53)
at org.xwiki.rendering.internal.transformation.macro.MacroTransformation.transformOnce(MacroTransformation.java:184)
at org.xwiki.rendering.internal.transformation.macro.MacroTransformation.transform(MacroTransformation.java:129)
at org.xwiki.rendering.internal.transformation.DefaultTransformationManager.performTransformations(DefaultTransformationManager.java:72)
at com.xpn.xwiki.doc.XWikiDocument.performSyntaxConversion(XWikiDocument.java:7483)
at com.xpn.xwiki.doc.XWikiDocument.performSyntaxConversion(XWikiDocument.java:7432)
at com.xpn.xwiki.doc.XWikiDocument.getRenderedContent(XWikiDocument.java:835)
at com.xpn.xwiki.doc.XWikiDocument.getRenderedContent(XWikiDocument.java:783)
at com.xpn.xwiki.doc.XWikiDocument.getRenderedContent(XWikiDocument.java:878)
at com.xpn.xwiki.api.Document.getRenderedContent(Document.java:545)
at sun.reflect.GeneratedMethodAccessor438.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:389)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:378)
at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270)
at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:252)
at org.apache.velocity.runtime.parser.node.ASTReference.value(ASTReference.java:493)
at org.apache.velocity.runtime.parser.node.ASTExpression.value(ASTExpression.java:71)
at org.apache.velocity.runtime.parser.node.ASTSetDirective.render(ASTSetDirective.java:142)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:336)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:106)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:336)
at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:196)
at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:161)
at com.xpn.xwiki.render.XWikiVelocityRenderer.evaluate(XWikiVelocityRenderer.java:116)
at com.xpn.xwiki.XWiki.evaluateTemplate(XWiki.java:1895)
at com.xpn.xwiki.XWiki.parseTemplate(XWiki.java:1833)
at com.xpn.xwiki.api.XWiki.parseTemplate(XWiki.java:860)
at sun.reflect.GeneratedMethodAccessor123.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:389)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:378)
at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270)
at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:252)
at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:332)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
at org.apache.velocity.runtime.directive.VelocimacroProxy.render(VelocimacroProxy.java:212)
at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:247)
at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:175)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:87)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:336)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:106)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:336)
at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:196)
at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:161)
at com.xpn.xwiki.render.XWikiVelocityRenderer.evaluate(XWikiVelocityRenderer.java:116)
at com.xpn.xwiki.XWiki.parseTemplate(XWiki.java:1943)
at com.xpn.xwiki.XWiki.evaluateTemplate(XWiki.java:1865)
at com.xpn.xwiki.web.Utils.parseTemplate(Utils.java:154)
at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:226)
at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:117)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
at com.xpn.xwiki.web.ActionFilter.doFilter(ActionFilter.java:129)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at com.xpn.xwiki.wysiwyg.server.filter.ConversionFilter.doFilter(ConversionFilter.java:152)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:206)
at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:179)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at com.xpn.xwiki.plugin.webdav.XWikiDavFilter.doFilter(XWikiDavFilter.java:68)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at org.xwiki.container.servlet.filters.internal.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:218)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:112)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:536)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:915)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:405)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
</a><br />
$postauthor<br />
#if($context.user == $doc.display('postauthor', $item) || $xwiki.hasAdminRights() == 'true') <a class="red" href="$doc.getURL("objectremove", "classname=BBCode.PostClass&classid=${item.number}&xredirect=${request.getRequestURL()}")">$msg.Delete Post</a> #end #end
</div></td>
<td id="posttd"> <div id="message$item.number"> <span class="bbdatatext"> <a name=$postindex href="#$postindex">$postindex</a> - $msg.Posted on $doc.display('postdate', $item) $msg.by $postauthor </span> - <a href="#postmessage" onclick="quote('message$item.number')"> $msg.Quote this post </a>
<hr size="1" />
<div class="postcontent">
$doc.display('postcontent', $item)
</div></div>
</td>
</tr>
#end
<tr>
<td> </td>
<td>
#if ($context.user == 'XWiki.XWikiGuest')
<span class="bbdatatext"> $msg.bb_needloginmessage </span>
#else
#set ($lastpostid = $postclass.size() + 1)
<span class="bbsmalltitle"> <a name=postmessage href="#postmessage"> $msg.Post Message </a> </span>
<form method="post" action="$doc.getURL("objectadd")" onsubmit="setquote();">
<input type="hidden" name="xredirect" value="$doc.getURL()#$lastpostid" />
<input type="hidden" name="classname" value="BBCode.PostClass" />
<input type="hidden" name="BBCode.PostClass_postauthor" value="$context.user" />
<textarea rows="10" cols="65" id="BBCode.PostClass_postcontent" name="BBCode.PostClass_postcontent" /></textarea><br />
<input type="submit" value="$msg.Post your message" />
</form>
#end
</td>
</tr>
</table>
#end
</div>