From 1409de3eb4daf37277e1d073d37b13b86bd3926c Mon Sep 17 00:00:00 2001 From: Mykyta Synelnikov Date: Wed, 24 Apr 2024 17:50:52 +0300 Subject: [PATCH] - fixed form duplicate and PHP notice about empty mode; - fixed first install and login/registration forms custom fields; --- includes/admin/class-admin.php | 3 + includes/class-config.php | 138 ++++++++++++++++++++++++++++++++- includes/core/class-setup.php | 18 +---- 3 files changed, 142 insertions(+), 17 deletions(-) diff --git a/includes/admin/class-admin.php b/includes/admin/class-admin.php index 88ebb2a1..e839d293 100644 --- a/includes/admin/class-admin.php +++ b/includes/admin/class-admin.php @@ -1809,6 +1809,9 @@ if ( ! class_exists( 'um\admin\Admin' ) ) { 'post_title' => sprintf( __( 'Duplicate of %s', 'ultimate-member' ), get_the_title( $post_id ) ), 'post_status' => 'publish', 'post_author' => get_current_user_id(), + 'meta_input' => array( + '_um_mode' => get_post_meta( $post_id, '_um_mode', true ), + ), ); $n_id = wp_insert_post( $n ); diff --git a/includes/class-config.php b/includes/class-config.php index 3d3039a5..5391f9c1 100644 --- a/includes/class-config.php +++ b/includes/class-config.php @@ -279,21 +279,153 @@ if ( ! class_exists( 'um\Config' ) ) { $this->core_form_meta_all = apply_filters( 'um_core_form_meta_all', $this->core_form_meta_all ); $this->core_form_meta['register'] = array( - '_um_custom_fields' => 'a:6:{s:10:"user_login";a:15:{s:5:"title";s:8:"Username";s:7:"metakey";s:10:"user_login";s:4:"type";s:4:"text";s:5:"label";s:8:"Username";s:8:"required";i:1;s:6:"public";i:1;s:8:"editable";b:0;s:8:"validate";s:15:"unique_username";s:9:"min_chars";i:3;s:9:"max_chars";i:24;s:8:"position";s:1:"1";s:6:"in_row";s:9:"_um_row_1";s:10:"in_sub_row";s:1:"0";s:9:"in_column";s:1:"1";s:8:"in_group";s:0:"";}s:10:"user_email";a:13:{s:5:"title";s:14:"Email Address";s:7:"metakey";s:10:"user_email";s:4:"type";s:4:"text";s:5:"label";s:14:"E-mail Address";s:8:"required";i:0;s:6:"public";i:1;s:8:"editable";b:1;s:8:"validate";s:12:"unique_email";s:8:"position";s:1:"4";s:6:"in_row";s:9:"_um_row_1";s:10:"in_sub_row";s:1:"0";s:9:"in_column";s:1:"1";s:8:"in_group";s:0:"";}s:13:"user_password";a:16:{s:5:"title";s:8:"Password";s:7:"metakey";s:13:"user_password";s:4:"type";s:8:"password";s:5:"label";s:8:"Password";s:8:"required";i:1;s:6:"public";i:1;s:8:"editable";b:1;s:9:"min_chars";i:8;s:9:"max_chars";i:30;s:15:"force_good_pass";i:1;s:18:"force_confirm_pass";i:1;s:8:"position";s:1:"5";s:6:"in_row";s:9:"_um_row_1";s:10:"in_sub_row";s:1:"0";s:9:"in_column";s:1:"1";s:8:"in_group";s:0:"";}s:10:"first_name";a:12:{s:5:"title";s:10:"First Name";s:7:"metakey";s:10:"first_name";s:4:"type";s:4:"text";s:5:"label";s:10:"First Name";s:8:"required";i:0;s:6:"public";i:1;s:8:"editable";b:1;s:8:"position";s:1:"2";s:6:"in_row";s:9:"_um_row_1";s:10:"in_sub_row";s:1:"0";s:9:"in_column";s:1:"1";s:8:"in_group";s:0:"";}s:9:"last_name";a:12:{s:5:"title";s:9:"Last Name";s:7:"metakey";s:9:"last_name";s:4:"type";s:4:"text";s:5:"label";s:9:"Last Name";s:8:"required";i:0;s:6:"public";i:1;s:8:"editable";b:1;s:8:"position";s:1:"3";s:6:"in_row";s:9:"_um_row_1";s:10:"in_sub_row";s:1:"0";s:9:"in_column";s:1:"1";s:8:"in_group";s:0:"";}s:9:"_um_row_1";a:4:{s:4:"type";s:3:"row";s:2:"id";s:9:"_um_row_1";s:8:"sub_rows";s:1:"1";s:4:"cols";s:1:"1";}}', + '_um_custom_fields' => array( + 'user_login' => array( + 'title' => __( 'Username', 'ultimate-member' ), + 'metakey' => 'user_login', + 'type' => 'text', + 'label' => __( 'Username', 'ultimate-member' ), + 'required' => 1, + 'public' => 1, + 'editable' => false, + 'validate' => 'unique_username', + 'min_chars' => 3, + 'max_chars' => 24, + 'position' => '1', + 'in_row' => '_um_row_1', + 'in_sub_row' => '0', + 'in_column' => '1', + 'in_group' => '', + ), + 'user_email' => array( + 'title' => __( 'E-mail Address', 'ultimate-member' ), + 'metakey' => 'user_email', + 'type' => 'text', + 'label' => __( 'E-mail Address', 'ultimate-member' ), + 'required' => 0, + 'public' => 1, + 'editable' => true, + 'validate' => 'unique_email', + 'position' => '4', + 'in_row' => '_um_row_1', + 'in_sub_row' => '0', + 'in_column' => '1', + 'in_group' => '', + ), + 'user_password' => array( + 'title' => __( 'Password', 'ultimate-member' ), + 'metakey' => 'user_password', + 'type' => 'password', + 'label' => __( 'Password', 'ultimate-member' ), + 'required' => 1, + 'public' => 1, + 'editable' => true, + 'min_chars' => 8, + 'max_chars' => 30, + 'force_good_pass' => 1, + 'force_confirm_pass' => 1, + 'position' => '5', + 'in_row' => '_um_row_1', + 'in_sub_row' => '0', + 'in_column' => '1', + 'in_group' => '', + ), + 'first_name' => array( + 'title' => __( 'First Name', 'ultimate-member' ), + 'metakey' => 'first_name', + 'type' => 'text', + 'label' => __( 'First Name', 'ultimate-member' ), + 'required' => 0, + 'public' => 1, + 'editable' => true, + 'position' => '2', + 'in_row' => '_um_row_1', + 'in_sub_row' => '0', + 'in_column' => '1', + 'in_group' => '', + ), + 'last_name' => array( + 'title' => __( 'Last Name', 'ultimate-member' ), + 'metakey' => 'last_name', + 'type' => 'text', + 'label' => __( 'Last Name', 'ultimate-member' ), + 'required' => 0, + 'public' => 1, + 'editable' => true, + 'position' => '3', + 'in_row' => '_um_row_1', + 'in_sub_row' => '0', + 'in_column' => '1', + 'in_group' => '', + ), + '_um_row_1' => array( + 'type' => 'row', + 'id' => '_um_row_1', + 'sub_rows' => '1', + 'cols' => '1', + ), + ), '_um_mode' => 'register', '_um_core' => 'register', '_um_register_use_custom_settings' => 0, ); $this->core_form_meta['login'] = array( - '_um_custom_fields' => 'a:3:{s:8:"username";a:13:{s:5:"title";s:18:"Username or Email";s:7:"metakey";s:8:"username";s:4:"type";s:4:"text";s:5:"label";s:18:"Username or E-mail";s:8:"required";i:1;s:6:"public";i:1;s:8:"editable";b:0;s:8:"validate";s:24:"unique_username_or_email";s:8:"position";s:1:"1";s:6:"in_row";s:9:"_um_row_1";s:10:"in_sub_row";s:1:"0";s:9:"in_column";s:1:"1";s:8:"in_group";s:0:"";}s:13:"user_password";a:16:{s:5:"title";s:8:"Password";s:7:"metakey";s:13:"user_password";s:4:"type";s:8:"password";s:5:"label";s:8:"Password";s:8:"required";i:1;s:6:"public";i:1;s:8:"editable";b:1;s:9:"min_chars";i:8;s:9:"max_chars";i:30;s:15:"force_good_pass";i:1;s:18:"force_confirm_pass";i:1;s:8:"position";s:1:"2";s:6:"in_row";s:9:"_um_row_1";s:10:"in_sub_row";s:1:"0";s:9:"in_column";s:1:"1";s:8:"in_group";s:0:"";}s:9:"_um_row_1";a:4:{s:4:"type";s:3:"row";s:2:"id";s:9:"_um_row_1";s:8:"sub_rows";s:1:"1";s:4:"cols";s:1:"1";}}', + '_um_custom_fields' => array( + 'username' => array( + 'title' => __( 'Username or E-mail', 'ultimate-member' ), + 'metakey' => 'username', + 'type' => 'text', + 'label' => __( 'Username or E-mail', 'ultimate-member' ), + 'required' => 1, + 'public' => 1, + 'editable' => false, + 'validate' => 'unique_username_or_email', + 'position' => '1', + 'in_row' => '_um_row_1', + 'in_sub_row' => '0', + 'in_column' => '1', + 'in_group' => '', + ), + 'user_password' => array( + 'title' => __( 'Password', 'ultimate-member' ), + 'metakey' => 'user_password', + 'type' => 'password', + 'label' => __( 'Password', 'ultimate-member' ), + 'required' => 1, + 'public' => 1, + 'editable' => true, + 'min_chars' => 8, + 'max_chars' => 30, + 'force_good_pass' => 1, + 'force_confirm_pass' => 1, + 'position' => '2', + 'in_row' => '_um_row_1', + 'in_sub_row' => '0', + 'in_column' => '1', + 'in_group' => '', + ), + '_um_row_1' => array( + 'type' => 'row', + 'id' => '_um_row_1', + 'sub_rows' => '1', + 'cols' => '1', + ), + ), '_um_mode' => 'login', '_um_core' => 'login', '_um_login_use_custom_settings' => 0, ); $this->core_form_meta['profile'] = array( - '_um_custom_fields' => 'a:1:{s:9:"_um_row_1";a:4:{s:4:"type";s:3:"row";s:2:"id";s:9:"_um_row_1";s:8:"sub_rows";s:1:"1";s:4:"cols";s:1:"1";}}', + '_um_custom_fields' => array( + '_um_row_1' => array( + 'type' => 'row', + 'id' => '_um_row_1', + 'sub_rows' => '1', + 'cols' => '1', + ), + ), '_um_mode' => 'profile', '_um_core' => 'profile', '_um_profile_use_custom_settings' => 0, diff --git a/includes/core/class-setup.php b/includes/core/class-setup.php index ae67f0ac..304ac477 100644 --- a/includes/core/class-setup.php +++ b/includes/core/class-setup.php @@ -97,13 +97,8 @@ KEY meta_value_indx (um_value(191)) $form_id = wp_insert_post( $form ); - foreach ( UM()->config()->core_form_meta[ $id ] as $key => $value ) { - if ( '_um_custom_fields' === $key ) { - $array = maybe_unserialize( $value ); - update_post_meta( $form_id, $key, $array ); - } else { - update_post_meta( $form_id, $key, $value ); - } + foreach ( UM()->config()->core_form_meta[ $id ] as $meta_key => $meta_value ) { + update_post_meta( $form_id, $meta_key, $meta_value ); } $core_forms[ $id ] = $form_id; @@ -132,13 +127,8 @@ KEY meta_value_indx (um_value(191)) $form_id = wp_insert_post( $form ); - foreach ( UM()->config()->core_directory_meta[ $id ] as $key => $value ) { - if ( '_um_custom_fields' === $key ) { - $array = maybe_unserialize( $value ); - update_post_meta( $form_id, $key, $array ); - } else { - update_post_meta( $form_id, $key, $value ); - } + foreach ( UM()->config()->core_directory_meta[ $id ] as $meta_key => $meta_value ) { + update_post_meta( $form_id, $meta_key, $meta_value ); } $core_directories[ $id ] = $form_id;