/** * Init the form. * * @access public * @since 1.0.0 * @return void */ public static function init() { add_action('wp', array(__CLASS__, 'process')); // Validate and process passwords. if (wpum_get_option('custom_passwords')) { self::$random_password = false; add_filter('wpum/form/validate=register', array(__CLASS__, 'validate_password'), 10, 3); if (wpum_get_option('display_password_meter_registration')) { add_action('wpum/form/register/after/field=password', 'wpum_psw_indicator', 10); } if (wpum_get_option('login_after_registration')) { add_action('wpum/form/register/success', array(__CLASS__, 'do_login'), 11, 3); } } // Make sure the submitted email is valid and not in use. add_filter('wpum/form/validate=register', array(__CLASS__, 'validate_email'), 10, 3); // Add a very basic honeypot spam prevention field. if (wpum_get_option('enable_honeypot')) { add_action('wpum_get_registration_fields', array(__CLASS__, 'add_honeypot')); add_filter('wpum/form/validate=register', array(__CLASS__, 'validate_honeypot'), 10, 3); } /** * Adds a "terms" checkbox field to the signup form. */ if (wpum_get_option('enable_terms')) { add_action('wpum_get_registration_fields', array(__CLASS__, 'add_terms')); } // Allow user to select a user role upon registration. if (wpum_get_option('allow_role_select')) { add_action('wpum_get_registration_fields', array(__CLASS__, 'add_role')); add_filter('wpum/form/validate=register', array(__CLASS__, 'validate_role'), 10, 3); add_action('wpum/form/register/success', array(__CLASS__, 'save_role'), 10, 10); } // Prevent users from using specific usernames if enabled. $exclude_usernames = wpum_get_option('exclude_usernames'); if (!empty($exclude_usernames)) { add_filter('wpum/form/validate=register', array(__CLASS__, 'validate_username'), 10, 3); } // Store uploaded avatars into the database. if (wpum_get_option('custom_avatars') && WPUM()->fields->show_on_registration('user_avatar')) { add_action('wpum/form/register/success', array(__CLASS__, 'save_avatar'), 10, 3); } // Redirect to a page after successfull registration. if (wpum_get_option('login_after_registration') && wpum_get_option('custom_passwords') && wpum_get_option('registration_redirect')) { add_filter('wpum_redirect_after_automatic_login', array(__CLASS__, 'adjust_redirect_url'), 10, 2); } elseif (!wpum_get_option('login_after_registration') || !wpum_get_option('custom_passwords')) { if (wpum_get_option('registration_redirect')) { add_action('wpum/form/register/success', array(__CLASS__, 'redirect_on_success'), 9999, 3); } } }
/** * Init the form. * * @access public * @since 1.0.0 * @return void */ public static function init() { add_action('wp', array(__CLASS__, 'process')); /** * The following hooks validate and process passwords, * they also execute functions that are only available when * custom passwords are enabled. * * 1 - Validate password strength * 2 - Add meter after password field * 3 - Execute automatic login * */ if (wpum_get_option('custom_passwords')) { self::$random_password = false; add_filter('wpum/form/validate=register', array(__CLASS__, 'validate_password'), 10, 3); if (wpum_get_option('display_password_meter_registration')) { add_action('wpum/form/register/after/field=password', array(__CLASS__, 'add_psw_meter'), 10); } if (wpum_get_option('login_after_registration')) { add_action('wpum/form/register/success', array(__CLASS__, 'do_login'), 11, 3); } } /** * Make sure the submitted email is valid and not in use. */ add_filter('wpum/form/validate=register', array(__CLASS__, 'validate_email'), 10, 3); /** * The following hooks add a very basic honeypot spam prevention field. * * 1 - Adds new field within the registration fields array through filter. * 2 - Adds a new validation method through filter. * */ if (wpum_get_option('enable_honeypot')) { add_action('wpum_get_registration_fields', array(__CLASS__, 'add_honeypot')); add_filter('wpum/form/validate=register', array(__CLASS__, 'validate_honeypot'), 10, 3); } /** * Adds a "terms" checkbox field to the signup form. */ if (wpum_get_option('enable_terms')) { add_action('wpum_get_registration_fields', array(__CLASS__, 'add_terms')); } /** * Allow user to select a user role upon registration. * * 1 - Adds new field within the registration form. * 2 - Adds a new validation method through filter. * 3 - Saves the selected role upon registration * */ if (wpum_get_option('allow_role_select')) { add_action('wpum_get_registration_fields', array(__CLASS__, 'add_role')); add_filter('wpum/form/validate=register', array(__CLASS__, 'validate_role'), 10, 3); add_action('wpum/form/register/success', array(__CLASS__, 'save_role'), 10, 10); } /** * Prevent users from using specific usernames if enabled */ $exclude_usernames = wpum_get_option('exclude_usernames'); if (!empty($exclude_usernames)) { add_filter('wpum/form/validate=register', array(__CLASS__, 'validate_username'), 10, 3); } /** * Store uploaded avatars into the database. */ if (wpum_get_option('custom_avatars') && WPUM()->fields->show_on_registration('user_avatar')) { add_action('wpum/form/register/success', array(__CLASS__, 'save_avatar'), 10, 3); } }