Hello all, I previously had an error with inputing JCaptcha on the register
page. I figured out how to enable this plugin and I successful have it on the
register page and it validates the captcha. (Meaning if it is wrong it throws
an error code and if it is correct it registers user). The problem I am facing
now is that even though it throughs an error code, it still registers the user.
Do anyone have any insight on why it might be doing this? I am pasting my code
below to better help the solution of this problem.
Tim Campbell
Junior, Computer Science-Ecommerce major
Winston Salem State University
[EMAIL PROTECTED]
(704) 877-2261
<h1>$msg.get("core.register.title")</h1>
## declare the plugin
#set($captchaPlugin = $xwiki.jcaptcha)
#if ($captchaPlugin && $reg)
##call the verifyCaptcha
#if($captchaPlugin.verifyCaptcha("edit"))
##register the user
#$xwiki.createUser(false)
#else
##display some error
#error("$msg.get('core.register.registerFailed', [$reg])")
#end
#end
#if(!$xwiki.hasAccessLevel("view","XWiki.Registration")||$xwiki.getDocument("XWiki.Registration").isNew())
#if(!$reg||$reg<0)
<p>$msg.get("core.register.welcome")</p>
#if($reg && $reg<=0)
#if($reg==-2)
#error("$msg.get('core.register.passwordMismatch')")
#elseif($reg==-3)
#error("$msg.get('core.register.userAlreadyExists')")
#elseif($reg==-4)
#error("$msg.get('core.register.invalidUsername')")
#elseif($reg==-8)
#error("$msg.get('core.register.userAlreadyExists')")
#elseif($captchaPlugin != "edit")
#error("$msg.get('core.register.registerFailed', [$reg])")
#else
#error("$msg.get('core.register.registerFailed', [$reg])")
#end
#end
#elseif($reg && $captchaPlugin.verifyCaptcha("edit"))
#set($xwname = "XWiki.${request.xwikiname}")
#info("$msg.get('core.register.successful', [$xwiki.getUserName($xwname),
$request.xwikiname])")
#end
#if(!$reg||$reg<0)
<form id="register" action="verifyCaptcha" method="post">
<div>
#set($captchaPlugin = $xwiki.jcaptcha)
#if ($captchaPlugin)
##call the displayCaptcha pass the class name as "register_captcha" which
should map to the css classname to render the image
##pass the name as edit
##and under
http://<host>:<port>/xwiki/bin/edit/XWiki/XWikiPreferences?editor=object&
##under XWiki.XWikiPreferences[0]: XWiki.DefaultSkin select the values for
Anonymous: and Registered: as image or text
<input type="hidden" name="template" value="XWiki.XWikiUserTemplate" />
<input type="hidden" name="register" value="1"/>
#set($class = $xwiki.getClass("XWiki.XWikiUsers"))
#set($obj = $class.newObject())
#set($serverobj = $class.newObject())
#set($discard = $doc.use("XWiki.XWikiUsers"))
#if($request.register_first_name)
$doc.set("first_name", $request.register_first_name)
#end
#if($request.register_last_name)
$doc.set("last_name", $request.register_last_name)
#end
<dl>
#set($prop = $class.first_name)
<dt>$msg.get("core.register.firstName")</dt>
<dd>$doc.displayEdit($prop, "register_", $obj)</dd>
#set($prop = $class.last_name)
<dt>$msg.get("core.register.lastName")</dt>
<dd>$doc.displayEdit($prop, "register_", $obj)</dd>
<dt>$msg.get("core.register.username")</dt>
<dd><input name="xwikiname" type="text" size="20" onfocus="
prepareName(document.forms.register);" /></dd>
#set($prop = $class.password)
<dt>$msg.get("core.register.password")</dt>
<dd>$doc.displayEdit($prop, "register_", $obj)</dd>
<dt>$msg.get("core.register.passwordRepeat")</dt>
<dd>$doc.displayEdit($prop, "register2_", $obj)</dd>
#set($prop = $class.email)
<dt>$msg.get("core.register.email")</dt>
<dd>$doc.displayEdit($prop, "register_", $obj)</dd>
$captchaPlugin.displayCaptcha("edit","register_captcha")
#end
</dl>
<span class="buttonwrapper"><input type="submit"
value="$msg.get("core.register.submit")"/></span>
</div>
</form>
#end
#else
$xwiki.getDocument("XWiki.Registration").getTranslatedDocument().getRenderedContent()
#end
##end
_______________________________________________
users mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/users