When attempting to create a new user, on this page:
/index.php?P=RequestAccountComplete
I get
Fatal error: Call to undefined method BotDetector::CheckForSpamBot() in /pages/RequestAccountComplete.php on line 448
BotDetector plugin is enabled. And when I look in the code in the plugin, the CheckForSpamBot() method is defined.
The way this is being called is a bit convoluted and I am wondering if it is being referenced incorrectly, or if perhaps something that worked in older versions of PHP (or CWIS) is not working?
# Don't allow new user signups from spambots:
if ($GLOBALS["G_PluginManager"]->PluginEnabled("BotDetector") &&
$GLOBALS["G_PluginManager"]->GetPlugin("BotDetector")->CheckForSpamBot())
{
$AF->SetJumpToPage("UnauthorizedAccess");
return;
}
Is it possible you've got an older copy of
BotDetector.php
somewhere in the file tree? I think thatCheckForSpamBot()
was added in version 1.1.0 of the plugin, which was released with CWIS 3.1.0 last fall.If there's an older copy of the file sitting somewhere where the application framework might find it (e.g.
local/objects
or a number of other places), it could be loading that instead of the correct version.That was it!
Because the new plugin was moved into its own folder, the old single file plugin was still there in the top level directory after the upgrade.