diff --git a/includes/class-sp-install.php b/includes/class-sp-install.php index f90628d3..f95d905d 100644 --- a/includes/class-sp-install.php +++ b/includes/class-sp-install.php @@ -422,6 +422,8 @@ class SP_Install { if ( version_compare( $version, '2.2.11', '<' ) ) { update_option( 'sportspress_completed_setup', 1 ); + update_option( 'sportspress_registration_name_inputs', 'no' ); + update_option( 'sportspress_registration_add_player', 'no' ); } } diff --git a/modules/sportspress-user-registration.php b/modules/sportspress-user-registration.php new file mode 100644 index 00000000..12882485 --- /dev/null +++ b/modules/sportspress-user-registration.php @@ -0,0 +1,141 @@ +define_constants(); + + // Hooks + add_filter( 'sportspress_player_options', array( $this, 'add_player_options' ) ); + add_action( 'register_form', array( $this, 'register_form' ) ); + add_action( 'user_register', array( $this, 'user_register' ) ); + } + + /** + * Define constants. + */ + private function define_constants() { + if ( !defined( 'SP_USER_REGISTRATION_VERSION' ) ) + define( 'SP_USER_REGISTRATION_VERSION', '2.2' ); + + if ( !defined( 'SP_USER_REGISTRATION_URL' ) ) + define( 'SP_USER_REGISTRATION_URL', plugin_dir_url( __FILE__ ) ); + + if ( !defined( 'SP_USER_REGISTRATION_DIR' ) ) + define( 'SP_USER_REGISTRATION_DIR', plugin_dir_path( __FILE__ ) ); + } + + /** + * Add options to player settings page. + * + * @return array + */ + public function add_player_options( $options ) { + $options = array_merge( $options, array( + array( + 'title' => __( 'User Registration', 'sportspress' ), + 'desc' => __( 'Add name fields to signup form', 'sportspress' ), + 'id' => 'sportspress_registration_name_inputs', + 'default' => 'yes', + 'type' => 'checkbox', + 'checkboxgroup' => 'start', + ), + + array( + 'desc' => __( 'Create player profiles for new users', 'sportspress' ), + 'id' => 'sportspress_registration_add_player', + 'default' => 'yes', + 'type' => 'checkbox', + 'checkboxgroup' => 'end', + ), + ) ); + + return $options; + } + + /** + * Add name fields to user registration form. + */ + public static function register_form() { + if ( 'yes' === get_option( 'sportspress_registration_name_inputs', 'yes' ) ) { + $first_name = ( ! empty( $_POST['first_name'] ) ) ? trim( $_POST['first_name'] ) : ''; + $last_name = ( ! empty( $_POST['last_name'] ) ) ? trim( $_POST['last_name'] ) : ''; + ?> +
+ +
+ ++ +
+