Is it possible to integrate NoSpam! into ajaxReg? That's the one missing piece for this hack. Here is the code to integrate it into other hacks:
Code:
NoSpam! - INTEGRATION WITH OTHER HACKS
Quick Register (https://vborg.vbsupport.ru/showthread.php?t=114342):
After installing both hacks, go to your plugin manager and find the plugin titled "Generate NoSpam! question" or "Generate and insert NoSpam! question" on the hook global_start. Edit it and FIND the following lines:
----------------
default:
$nospamdo = false;
----------------
REPLACE them with
----------------
default:
if ($vbulletin->options['nospam_use_reg'] AND $vbulletin->options['quickregister_active']) {
$questions = explode("\n", $vbulletin->options['nospam_questions']);
$nospamnumber = array_rand($questions);
$qanda = explode(":",$questions["$nospamnumber"]);
$nospamquestion = $qanda[0];
}
$nospamdo = false;
----------------
Now go to your template manager and edit the quick_register template. FIND this code:
----------------
<input type="submit" class="button" value="$vbphrase[quickregister_submit]" accesskey="s" /><input name="agree" id="cb_rules_agree" value="1" type="checkbox"><strong>$vbphrase[quickregister_agree] <a href="$vboptions[bburl]/register.php?" target="_blank">$vbphrase[quickregister_forumrules]</a></strong>
----------------
ABOVE it, add
----------------
<if condition="$vbulletin->options['nospam_onoff'] AND $vbulletin->options['nospam_use_reg']">
<br />$nospamquestion <input type="text" class="bginput" name="nospam" value="Answer here" onFocus="value=''" size="20" /> <input type="hidden" name="nospamnumber" value="$nospamnumber" />
</if>
----------------
Then save the template. NoSpam! should be fully active with Quick Register now.
Forms Hack (https://vborg.vbsupport.ru/showthread.php?t=126676)
[Only tested on 3.6.4]
After installing both hacks and modifying the form however you like, edit the form template (however many you may have; the default is called simply form). FIND near the bottom:
----------------
<tr>
<td valign="top" colspan="3">
<p align="center">
<input type="submit" value="Submit" name="submit" style="font-family: Verdana; font-size: 10pt" class="button" />
----------------
ABOVE that, add
----------------
<if condition="$vbulletin->options['nospam_onoff']">
<tr>
<td colspan="3" class="alt1">
$nospamfield
</td>
</tr>
</if>
----------------
Now edit the plugin "Generate NoSpam! question" or "Generate and insert NoSpam! question" on the hook global_start. Here, FIND this line:
----------------
case 'newthread':
if ($vbulletin->options['nospam_use_post']) {
----------------
REPLACE that with
----------------
case 'newthread':
if ($_REQUEST['action'] == 'form') {
$nospamdo = true;
}
else if ($_REQUEST['action'] == 'submit') {
$vbulletin->input->clean_array_gpc('p', array(
'nospamnumber' => TYPE_UINT,
'nospam' => TYPE_STR,
));
$nospamnumber = $vbulletin->GPC['nospamnumber'];
$questions = explode("\n", $vbulletin->options['nospam_questions']);
$qanda = explode(":", strtolower($questions["$nospamnumber"]));
unset($qanda[0]);
function trim_array(&$answer)
{
$answer = trim($answer);
}
array_walk($qanda, 'trim_array');
if (!in_array(strtolower(trim($vbulletin->GPC['nospam'])), $qanda))
{
eval(standard_error(fetch_error('nospam_wrong_answer')));
}
$nospamdo = true;
}
else if ($vbulletin->options['nospam_use_post']) {
----------------
The form should now work with NoSpam!.