List of usage examples for org.apache.wicket.extensions.markup.html.captcha CaptchaImageResource CaptchaImageResource
public CaptchaImageResource(final IModel<String> challengeId)
From source file:com.tysanclan.site.projectewok.pages.RegisterAndApplyPage.java
License:Open Source License
public RegisterAndApplyPage() { super("Join Tysan"); List<Game> games = gameService.getActiveGames(); List<GameRealmCartesian> grlms = new LinkedList<GameRealmCartesian>(); for (Game game : games) { for (Realm realm : game.getRealms()) { grlms.add(new GameRealmCartesian(game, realm)); }//from w w w.jav a 2s. c om } final DropDownChoice<GameRealmCartesian> realmChoice = new DropDownChoice<GameRealmCartesian>("gamerealm", new Model<GameRealmCartesian>(null), grlms, new GameRealmCartesianRenderer()); realmChoice.setRequired(true); realmChoice.setNullValid(false); final TextArea<String> otherGamesDescription = new TextArea<String>("othergames", new Model<String>("")); otherGamesDescription.setRequired(true); final TextArea<String> sortOfPersonArea = new TextArea<String>("sortofperson", new Model<String>("")); sortOfPersonArea.setRequired(true); final TextArea<String> lookingForArea = new TextArea<String>("lookingfor", new Model<String>("")); lookingForArea.setRequired(true); passId = randomString(6, 8); resource = new CaptchaImageResource(passId); final TextField<String> tfUsername = new TextField<String>("username", new Model<String>("")); tfUsername.setRequired(true); final TextField<String> tfMail = new TextField<String>("mail", new Model<String>("")); tfMail.setRequired(true); final PasswordTextField tfPassword = new PasswordTextField("password", new Model<String>("")); tfPassword.setRequired(true); final PasswordTextField tfPassword2 = new PasswordTextField("password2", new Model<String>("")); tfPassword2.setRequired(true); final TextField<String> tfCaptcha = new TextField<String>("captchaResponse", new Model<String>("")); tfCaptcha.setRequired(true); Form<User> registrationForm = new Form<User>("registerform") { private static final long serialVersionUID = 1L; @SpringBean private UserService userService; @SpringBean private MailService mailService; @SpringBean private UserDAO userDAO; @SpringBean private MembershipService membershipService; @Override protected void onSubmit() { boolean valid = true; if (userService.hasUser(tfUsername.getModelObject())) { valid = false; RegisterAndApplyPage.this.error("Username already taken"); } if (valid) { String username = tfUsername.getModelObject(); for (int i = 0; i < username.length(); i++) { if (!Character.isLetterOrDigit(username.charAt(i))) { valid = false; RegisterAndApplyPage.this.error("Username may only contain letters and digits"); break; } } if (valid) { if (username.length() < 2) { valid = false; RegisterAndApplyPage.this.error("Username too short"); } if (valid) { if (!Character.isLetter(username.charAt(0))) { valid = false; RegisterAndApplyPage.this.error("Username must start with a letter"); } } } } if (valid && tfPassword.getModelObject().length() < 8) { valid = false; RegisterAndApplyPage.this.error("Password must be at least 8 characters"); } if (valid && !tfPassword.getModelObject().equals(tfPassword2.getModelObject())) { valid = false; RegisterAndApplyPage.this.error("Passwords do not match"); } if (valid && !StringUtil.isValidEMail(tfMail.getModelObject())) { valid = false; RegisterAndApplyPage.this.error("Please provide a valid e-mail address"); } if (valid) { UserFilter filter = new UserFilter(); filter.setEmail(tfMail.getModelObject()); long users = userDAO.countByFilter(filter); if (users != 0) { valid = false; RegisterAndApplyPage.this.error("That e-mail address is already in use"); } } if (!passId.equals(tfCaptcha.getModelObject())) { resource.invalidate(); valid = false; RegisterAndApplyPage.this.error("Challenge response invalid"); } Game game = null; Realm realm = null; String otherGames = BBCodeUtil.stripTags(otherGamesDescription.getModelObject()); String sortOfPerson = BBCodeUtil.stripTags(sortOfPersonArea.getModelObject()); String lookingFor = BBCodeUtil.stripTags(lookingForArea.getModelObject()); if (StringUtil.countWords(sortOfPerson) < 30) { RegisterAndApplyPage.this .error("Please describe the sort of person you are in at least 30 words"); valid = false; } if (StringUtil.countWords(lookingFor) < 30) { RegisterAndApplyPage.this.error( "Please describe the sort of clan you are looking for you are in at least 30 words"); valid = false; } if (valid) { GameRealmCartesian cart = realmChoice.getModelObject(); if (cart != null) { game = cart.getGame(); realm = cart.getRealm(); } else { valid = false; } } if (valid) { User user = userService.createUser(tfUsername.getModelObject(), tfPassword.getModelObject(), tfMail.getModelObject()); if (user != null) { Activation activation = userService.getActivationByUser(user); mailService.sendHTMLMail(tfMail.getModelObject(), "Tysan Clan Forums", mailService .getActivationMailBody(user.getUsername(), activation.getActivationKey())); StringBuilder motivation = new StringBuilder(); motivation.append("[b]What sort of person are you?[/b]\n"); motivation.append(sortOfPerson); motivation.append("\n\n"); motivation.append("[b]What are you looking for in a clan?[/b]\n"); motivation.append(lookingFor); motivation.append("\n\n"); motivation.append("[b]What other games do you play?[/b]\n"); motivation.append(otherGames); motivation.append("\n\n"); ForumThread thread = membershipService.applyForMembership(user, motivation.toString(), game, realm); membershipService.registerAction(user); setResponsePage(new ForumThreadPage(thread.getId(), 1, false)); } } } }; registrationForm.add(realmChoice); registrationForm.add(otherGamesDescription); registrationForm.add(sortOfPersonArea); registrationForm.add(lookingForArea); registrationForm.add(tfUsername); registrationForm.add(tfPassword); registrationForm.add(tfPassword2); registrationForm.add(tfMail); registrationForm.add(tfCaptcha); registrationForm.add(new Image("captcha", resource)); add(registrationForm); }
From source file:com.tysanclan.site.projectewok.pages.RegistrationPage.java
License:Open Source License
public RegistrationPage() { super("Forum Registration"); passId = randomString(6, 8);// ww w . jav a2s . c om resource = new CaptchaImageResource(passId); final TextField<String> tfUsername = new TextField<String>("username", new Model<String>("")); tfUsername.setRequired(true); final TextField<String> tfMail = new TextField<String>("mail", new Model<String>("")); tfMail.setRequired(true); final PasswordTextField tfPassword = new PasswordTextField("password", new Model<String>("")); tfPassword.setRequired(true); final PasswordTextField tfPassword2 = new PasswordTextField("password2", new Model<String>("")); tfPassword2.setRequired(true); final TextField<String> tfCaptcha = new TextField<String>("captchaResponse", new Model<String>("")); tfCaptcha.setRequired(true); Form<?> registrationForm = new Form<Void>("registerform") { private static final long serialVersionUID = 1L; @SpringBean private MailService mailService; @SpringBean private UserDAO userDAO; @Override protected void onSubmit() { UserService ub = getUserBean(); boolean valid = true; if (ub.hasUser(tfUsername.getModelObject())) { valid = false; RegistrationPage.this.error("Username already taken"); } if (valid) { String username = tfUsername.getModelObject(); for (int i = 0; i < username.length(); i++) { if (!Character.isLetterOrDigit(username.charAt(i))) { valid = false; RegistrationPage.this.error("Username may only contain letters and digits"); break; } } if (valid) { if (username.length() < 2) { valid = false; RegistrationPage.this.error("Username too short"); } if (valid) { if (!Character.isLetter(username.charAt(0))) { valid = false; RegistrationPage.this.error("Username must start with a letter"); } } } } if (valid && tfPassword.getModelObject().length() < 8) { valid = false; RegistrationPage.this.error("Password must be at least 8 characters"); } if (valid && !tfPassword.getModelObject().equals(tfPassword2.getModelObject())) { valid = false; RegistrationPage.this.error("Passwords do not match"); } if (valid && !StringUtil.isValidEMail(tfMail.getModelObject())) { valid = false; RegistrationPage.this.error("Please provide a valid e-mail address"); } if (valid) { UserFilter filter = new UserFilter(); filter.setEmail(tfMail.getModelObject()); long users = userDAO.countByFilter(filter); if (users != 0) { valid = false; RegistrationPage.this.error("That e-mail address is already in use"); } } if (!passId.equals(tfCaptcha.getModelObject())) { resource.invalidate(); valid = false; RegistrationPage.this.error("Challenge response invalid"); } if (valid) { User user = ub.createUser(tfUsername.getModelObject(), tfPassword.getModelObject(), tfMail.getModelObject()); if (user != null) { Activation activation = ub.getActivationByUser(user); mailService.sendHTMLMail(tfMail.getModelObject(), "Tysan Clan Forums", mailService .getActivationMailBody(user.getUsername(), activation.getActivationKey())); info("You have succesfully registered as " + tfUsername.getModelObject()); tfUsername.clearInput(); tfMail.clearInput(); setResponsePage(new ForumOverviewPage()); } } } }; registrationForm.add(tfUsername); registrationForm.add(tfPassword); registrationForm.add(tfPassword2); registrationForm.add(tfMail); registrationForm.add(tfCaptcha); registrationForm.add(new Image("captcha", resource)); add(registrationForm); }
From source file:de.alpharogroup.wicket.components.captcha.draw.CaptchaModel.java
License:Apache License
public CaptchaModel() { captchaImageResource = new CaptchaImageResource(randomCaptchaString); }
From source file:de.alpharogroup.wicket.components.captcha.draw.CaptchaModelBean.java
License:Apache License
/** * Instantiates a new {@link CaptchaModelBean}. *///from w w w . ja v a 2 s.co m public CaptchaModelBean() { captchaImageResource = new CaptchaImageResource( randomCaptchaString = RandomExtensions.getRandomString(Constants.UCCHARSWN, 7)); }
From source file:org.xaloon.wicket.component.captcha.CaptchaPanel.java
License:Apache License
public void setupCaptcha(AjaxRequestTarget target, IModel<String> model) { model.setObject(randomString(DEFAULT_MIN, DEFAULT_MAX)); CaptchaImageResource captchaImageResource = new CaptchaImageResource(model.getObject()); NonCachingImage imgCaptcha = new NonCachingImage("captchaImage", captchaImageResource) { /**/*from w w w . j a v a2s . c om*/ * */ private static final long serialVersionUID = 1L; @Override protected void onComponentTag(ComponentTag tag) { super.onComponentTag(tag); String url = tag.getAttributes().getString("src"); url = url.replaceAll("&", "&"); tag.put("src", url); tag.put("alt", "captcha"); } }; imgCaptcha.setOutputMarkupId(true); // required for AjaxFallbackLink addOrReplace(imgCaptcha); if (target != null) { target.addComponent(imgCaptcha); } }