PDA

View Full Version : Creating a custom block help


m3rl1n
12-19-2012, 02:17 PM
I have created a custom forum block using the below code i took from within.

Your submission could not be processed because a security token was invalid. This happens in all browsers using a default forum style and a custom style.

I know this is probably error on my part not being a coder as such and probably missed something.

Spent hours reading and trying different things suggested here and at vb.com but nothing :-(

Code i am using when creating the block below.


<form action="search.php?do=process" method="post" name="vbform" id="searchform" class="">

<div class="section">

<div class="blockrow">
<ul class="multifield group">
<li>
<input id="keyword" class="textbox" name="query" tabindex="1" value="" type="text" size="26">
</li>

<li>
<select id="titleonly" name="titleonly" tabindex="1">
<option value="0" selected="selected">Search Entire Posts</option>
<option value="1">Search Titles Only</option>
</select>
</li>
</ul>
<div id="tag_add" class="popupmenu nomouseover noclick nohovermenu popupcustom">
<div class="popupbody" id="tag_add_body"></div></div>
</div>


</div>

<div class="blockfoot actionbuttons">
<div class="group">
<input class="button" name="dosearch" value="Search Now" tabindex="1" accesskey="s" type="submit">&nbsp;
</div>
</div>

<input name="searchthreadid" value="" type="hidden">

<input name="s" value="" type="hidden">
<input type="hidden" name="securitytoken" value="{vb:raw bbuserinfo.securitytoken}" />
<input name="searchfromtype" value="vBForum:Post" type="hidden">
<input name="do" value="process" type="hidden">
<input name="contenttypeid" value="1" type="hidden">
</form>


sorry put it in wrong section :-(

kh99
12-19-2012, 02:43 PM
I assume this is for vb4? The problem is that an html type forum block isn't a template, so the curly brace expression that's supposed to insert the security token doesn't work. What you can do is change the type to php and use code like this:

global $vbulletin;

$output = '<form action="search.php?do=process" method="post" name="vbform" id="searchform" class="">

<div class="section">

<div class="blockrow">
<ul class="multifield group">
<li>
<input id="keyword" class="textbox" name="query" tabindex="1" value="" type="text" size="26">
</li>

<li>
<select id="titleonly" name="titleonly" tabindex="1">
<option value="0" selected="selected">Search Entire Posts</option>
<option value="1">Search Titles Only</option>
</select>
</li>
</ul>
<div id="tag_add" class="popupmenu nomouseover noclick nohovermenu popupcustom">
<div class="popupbody" id="tag_add_body"></div></div>
</div>


</div>

<div class="blockfoot actionbuttons">
<div class="group">
<input class="button" name="dosearch" value="Search Now" tabindex="1" accesskey="s" type="submit">&nbsp;
</div>
</div>

<input name="searchthreadid" value="" type="hidden">

<input name="s" value="" type="hidden">
<input type="hidden" name="securitytoken" value="' . $vbulletin->userinfo['securitytoken'] . '" />
<input name="searchfromtype" value="vBForum:Post" type="hidden">
<input name="do" value="process" type="hidden">
<input name="contenttypeid" value="1" type="hidden">
</form>';
return $output;


Another way would be to make your html a template, then your forum block code would just render the template.

m3rl1n
12-19-2012, 03:04 PM
yup that done the trick much appreciated