public function send_admin_mail($user_id, $plaintext_pass, $verification_code = '')
 {
     $user = get_userdata($user_id);
     $subject = Register_Plus_Redux::default_options('admin_message_subject');
     $message = Register_Plus_Redux::default_options('admin_message_body');
     add_filter('wp_mail_content_type', array($this, 'rpr_filter_mail_content_type_text'), 10, 1);
     if ('1' === $this->rpr_get_option('custom_admin_message')) {
         $subject = esc_html($this->rpr_get_option('admin_message_subject'));
         $message = $this->rpr_get_option('admin_message_body');
         if ('1' === $this->rpr_get_option('send_admin_message_in_html') && '1' === $this->rpr_get_option('admin_message_newline_as_br')) {
             $message = nl2br((string) $message);
         }
         $from_name = $this->rpr_get_option('admin_message_from_name');
         if (!empty($from_name)) {
             add_filter('wp_mail_from_name', array($this, 'rpr_filter_admin_mail_from_name'), 10, 1);
         }
         if (FALSE !== is_email($this->rpr_get_option('admin_message_from_email'))) {
             add_filter('wp_mail_from', array($this, 'rpr_filter_admin_mail_from'), 10, 1);
         }
         if ('1' === $this->rpr_get_option('send_admin_message_in_html')) {
             add_filter('wp_mail_content_type', array($this, 'rpr_filter_mail_content_type_html'), 10, 1);
         }
     }
     $subject = $this->replace_keywords($subject, $user);
     $message = $this->replace_keywords($message, $user, $plaintext_pass, $verification_code);
     wp_mail(get_option('admin_email'), $subject, $message);
 }
Example #2
0
        public function rpr_options_submenu_footer()
        {
            ?>
			<script type="text/javascript">
			function addInvitationCode() {
				jQuery("#invitation_code_bank")
					.append(jQuery("<div>")
						.attr("class", "invitation_code")
						.append(jQuery("<input>")
							.attr("type", "text")
							.attr("name", "invitation_code_bank[]")
							.attr("value", "")
						)
						.append("&nbsp;")
						.append(jQuery("<img>")
							.attr("src", "<?php 
            echo plugins_url('images\\minus-circle.png', __FILE__);
            ?>
")
							.attr("alt", "<?php 
            esc_attr_e('Remove Code', 'register-plus-redux');
            ?>
")
							.attr("title", "<?php 
            esc_attr_e('Remove Code', 'register-plus-redux');
            ?>
")
							.attr("class", "removeInvitationCode")
							.attr("style", "cursor: pointer;")
						)
					);
			}

			function addField() {
				jQuery("#meta_fields").find("tbody.fields")
					.append(jQuery("<tr>")
						.append(jQuery("<td>")
							.append(jQuery("<img>")
								.attr("src", "<?php 
            echo plugins_url('images\\asterisk-yellow.png', __FILE__);
            ?>
")
								.attr("alt", "<?php 
            esc_attr_e('New', 'register-plus-redux');
            ?>
")
								.attr("title", "<?php 
            esc_attr_e('New Field', 'register-plus-redux');
            ?>
")
							)
							.append("&nbsp;")
							.append(jQuery("<input>")
								.attr("type", "text")
								.attr("name", "newMetaFields[]")
							)
							.append("&nbsp;")
							.append(jQuery("<img>")
								.attr("src", "<?php 
            echo plugins_url('images\\minus-circle.png', __FILE__);
            ?>
")
								.attr("alt", "<?php 
            esc_attr_e('Remove', 'register-plus-redux');
            ?>
")
								.attr("title", "<?php 
            esc_attr_e('Remove Field', 'register-plus-redux');
            ?>
")
								.attr("class", "removeNewButton")
								.attr("style", "cursor: pointer;")
							)
							.append("&nbsp;")
							.append(jQuery("<img>")
								.attr("src", "<?php 
            echo plugins_url('images\\question.png', __FILE__);
            ?>
")
								.attr("alt", "<?php 
            esc_attr_e('Help', 'register-plus-redux');
            ?>
")
								.attr("title", "<?php 
            esc_attr_e('You must save after adding new fields before all options become available.', 'register-plus-redux');
            ?>
")
								.attr("class", "helpButton")
								.attr("style", "cursor: pointer;")
							)
						)
					);
			}

			function updateUserMessagesSummary() {
				jQuery("#user_message_summary").empty();
				if (!jQuery("#verify_user_email").prop("checked")) {
					jQuery("#custom_verification_message").prop("disabled", true);
					jQuery("#custom_verification_message").prop("checked", false);
					jQuery("#custom_verification_message_settings").hide();
				}
				else {
					jQuery("#custom_verification_message").prop("disabled", false);
					jQuery("#user_message_summary").append("<?php 
            _e('The following message will be sent when a user is registered:', 'register-plus-redux');
            ?>
");
					var verification_message_from_name = "<?php 
            echo Register_Plus_Redux::default_options('verification_message_from_name');
            ?>
";
					var verification_message_from_email = "<?php 
            echo Register_Plus_Redux::default_options('verification_message_from_email');
            ?>
";
					var verification_message_subject = "<?php 
            echo Register_Plus_Redux::default_options('verification_message_subject');
            ?>
";
					var verification_message_content_type = "text/plain";
					var verification_message_body = "<?php 
            echo str_replace("\n", '\\n', Register_Plus_Redux::default_options('verification_message_body'));
            ?>
";
					if (jQuery("#custom_verification_message").prop("checked")) {
						verification_message_from_name = jQuery("#verification_message_from_name").val();
						verification_message_from_email = jQuery("#verification_message_from_email").val();
						verification_message_subject = jQuery("#verification_message_subject").val();
						if (jQuery("#send_verification_message_in_html").prop("checked")) verification_message_content_type = "text/html";
						verification_message_body = jQuery("#verification_message_body").val();
					}
					var verificationMessage = jQuery("<p>").attr("style", "font-size: 11px; display: block; width: 50%; background-color: #efefef; padding: 8px 10px; border: solid 1px #dfdfdf; margin: 1px; overflow:auto; white-space:pre;");
					verificationMessage.append(jQuery("<div>").text("<?php 
            _e('To: ', 'register-plus-redux');
            ?>
" + "%user_email%"));
					verificationMessage.append(jQuery("<div>").text("<?php 
            _e('From: ', 'register-plus-redux');
            ?>
" + verification_message_from_name + " (" + verification_message_from_email + ")"));
					verificationMessage.append(jQuery("<div>").text("<?php 
            _e('Subject: ', 'register-plus-redux');
            ?>
" + verification_message_subject));
					verificationMessage.append(jQuery("<div>").text("<?php 
            _e('Content-Type: ', 'register-plus-redux');
            ?>
" + verification_message_content_type));
					verificationMessage.append(jQuery("<div>").text(verification_message_body));
					jQuery("#user_message_summary").append(verificationMessage);
				}
				if (jQuery("#disable_user_message_registered").prop("checked") && jQuery("#disable_user_message_created").prop("checked")) {
					jQuery("#custom_user_message").prop("disabled", true);
					jQuery("#custom_user_message").prop("checked", false);
					jQuery("#custom_user_message_settings").hide();
					jQuery("#user_message_summary").append("<?php 
            _e('No message will be sent to user whether they are registered or created by an administrator.', 'register-plus-redux');
            ?>
");
				}
				else {
					jQuery("#custom_user_message").prop("disabled", false);
					var when = "<?php 
            _e('The following message will be sent when a user is ', 'register-plus-redux');
            ?>
";
					if (!jQuery("#disable_user_message_registered").prop("checked")) when = when + "<?php 
            _e('registered', 'register-plus-redux');
            ?>
";
					if (!jQuery("#disable_user_message_registered").prop("checked") && !jQuery("#disable_user_message_created").prop("checked")) when = when + "<?php 
            _e(' or ', 'register-plus-redux');
            ?>
";
					if (!jQuery("#disable_user_message_created").prop("checked")) when = when + "<?php 
            _e('created', 'register-plus-redux');
            ?>
";
					if (jQuery("#verify_user_email").prop("checked") || jQuery("#verify_user_admin").prop("checked")) when = when + "<?php 
            _e(' after ', 'register-plus-redux');
            ?>
";
					if (jQuery("#verify_user_email").prop("checked"))
						when = when + "<?php 
            _e('the user has verified their email address', 'register-plus-redux');
            ?>
";
					if (jQuery("#verify_user_email").prop("checked") && jQuery("#verify_user_admin").prop("checked")) when = when + "<?php 
            _e(' and/or ', 'register-plus-redux');
            ?>
";
					if (jQuery("#verify_user_admin").prop("checked"))
						when = when + "<?php 
            _e('an administrator has approved the new user', 'register-plus-redux');
            ?>
";
					jQuery("#user_message_summary").append(when + ":");
					var user_message_from_name = "<?php 
            echo Register_Plus_Redux::default_options('user_message_from_name');
            ?>
";
					var user_message_from_email = "<?php 
            echo Register_Plus_Redux::default_options('user_message_from_email');
            ?>
";
					var user_message_subject = "<?php 
            echo Register_Plus_Redux::default_options('user_message_subject');
            ?>
";
					var user_message_content_type = "text/plain";
					var user_message_body = "<?php 
            echo str_replace("\n", '\\n', Register_Plus_Redux::default_options('user_message_body'));
            ?>
";
					if (jQuery("#custom_user_message").prop("checked")) {
						user_message_from_name = jQuery("#user_message_from_name").val();
						user_message_from_email = jQuery("#user_message_from_email").val();
						user_message_subject = jQuery("#user_message_subject").val();
						if (jQuery("#send_user_message_in_html").prop("checked")) user_message_content_type = "text/html";
						user_message_body = jQuery("#user_message_body").val();
					}
					var userMessage = jQuery("<p>").attr("style", "font-size: 11px; display: block; width: 50%; background-color: #efefef; padding: 8px 10px; border: solid 1px #dfdfdf; margin: 1px; overflow:auto; white-space:pre;");
					userMessage.append(jQuery("<div>").text("<?php 
            _e('To: ', 'register-plus-redux');
            ?>
" + "%user_email%"));
					userMessage.append(jQuery("<div>").text("<?php 
            _e('From: ', 'register-plus-redux');
            ?>
" + user_message_from_name + " (" + user_message_from_email + ")"));
					userMessage.append(jQuery("<div>").text("<?php 
            _e('Subject: ', 'register-plus-redux');
            ?>
" + user_message_subject));
					userMessage.append(jQuery("<div>").text("<?php 
            _e('Content-Type: ', 'register-plus-redux');
            ?>
" + user_message_content_type));
					userMessage.append(jQuery("<div>").text(user_message_body));
					jQuery("#user_message_summary").append(userMessage);
				}
			}

			function updateAdminMessageSummary() {
				jQuery("#admin_message_summary").empty();
				if (jQuery("#disable_admin_message_registered").prop("checked") && jQuery("#disable_admin_message_created").prop("checked")) {
					jQuery("#custom_admin_message").prop("disabled", true);
					jQuery("#custom_admin_message").prop("checked", false);
					jQuery("#custom_admin_message_settings").hide();
					jQuery("#admin_message_summary").append("<?php 
            _e('No message will be sent to administrator whether a user is registered or created.', 'register-plus-redux');
            ?>
");
				}
				else {
					jQuery("#custom_admin_message").prop("disabled", false);
					var when = "<?php 
            _e('The following message will be sent when a user is ', 'register-plus-redux');
            ?>
";
					if (!jQuery("#disable_admin_message_registered").prop("checked")) when = when + "<?php 
            _e('registered', 'register-plus-redux');
            ?>
";
					if (!jQuery("#disable_admin_message_registered").prop("checked") && !jQuery("#disable_admin_message_created").prop("checked")) when = when + "<?php 
            _e(' or ', 'register-plus-redux');
            ?>
";
					if (!jQuery("#disable_admin_message_created").prop("checked")) when = when + "<?php 
            _e('created', 'register-plus-redux');
            ?>
";
					jQuery("#admin_message_summary").append(when + ":");
					var admin_message_from_name = "<?php 
            echo Register_Plus_Redux::default_options('admin_message_from_name');
            ?>
";
					var admin_message_from_email = "<?php 
            echo Register_Plus_Redux::default_options('admin_message_from_email');
            ?>
";
					var admin_message_subject = "<?php 
            echo Register_Plus_Redux::default_options('admin_message_subject');
            ?>
";
					var admin_message_content_type = "text/plain";
					var admin_message_body = "<?php 
            echo str_replace("\n", '\\n', Register_Plus_Redux::default_options('admin_message_body'));
            ?>
";
					if (jQuery("#custom_admin_message").prop("checked")) {
						admin_message_from_name = jQuery("#admin_message_from_name").val();
						admin_message_from_email = jQuery("#admin_message_from_email").val();
						admin_message_subject = jQuery("#admin_message_subject").val();
						if (jQuery("#send_admin_message_in_html").prop("checked")) admin_message_content_type = "text/html";
						admin_message_body = jQuery("#admin_message_body").val();
					}
					var adminMessage = jQuery("<p>").attr("style", "font-size: 11px; display: block; width: 50%; background-color: #efefef; padding: 8px 10px; border: solid 1px #dfdfdf; margin: 1px; overflow:auto; white-space:pre;");
					adminMessage.append(jQuery("<div>").text("<?php 
            _e('To: ', 'register-plus-redux');
            echo get_option('admin_email');
            ?>
"));
					adminMessage.append(jQuery("<div>").text("<?php 
            _e('From: ', 'register-plus-redux');
            ?>
" + admin_message_from_name + " (" + admin_message_from_email + ")"));
					adminMessage.append(jQuery("<div>").text("<?php 
            _e('Subject: ', 'register-plus-redux');
            ?>
" + admin_message_subject));
					adminMessage.append(jQuery("<div>").text("<?php 
            _e('Content-Type: ', 'register-plus-redux');
            ?>
" + admin_message_content_type));
					adminMessage.append(jQuery("<div>").text(admin_message_body));
					jQuery("#admin_message_summary").append(adminMessage);
				}
			}

			jQuery(document).ready(function() {
				jQuery(".datepicker").datepicker({
					beforeShow: function(input, inst) {
						if (jQuery(input).prop("readonly")) {
							inst.dpDiv = jQuery('<div style="display: none;"></div>');
						}
					}
				});
				
				jQuery(document).on("click", "#upload_custom_logo_button", function() {
					formfield = jQuery("#custom_logo_url").prop("name");
					tb_show("<?php 
            _e('Upload/Select Logo', 'register-plus-redux');
            ?>
", "<?php 
            echo admin_url('media-upload.php');
            ?>
?post_id=0&type=image&context=custom-logo&TB_iframe=1");
				});
				 
				window.send_to_editor = function(html) {
					jQuery("#custom_logo_url").val(jQuery("img", html).attr("src"));
					tb_remove();
				}

				jQuery("#meta_fields tbody.fields").sortable({handle:'.sortHandle'});
				//jQuery("#meta_fields tbody.fields").disableSelection();

				jQuery(document).on("click", ".showHideSettings", function() {
					if (jQuery(this).prop("checked"))
						jQuery(this).parent().nextAll("div").first().show();
					else
						jQuery(this).parent().nextAll("div").first().hide();
				});

				jQuery(document).on("click", "#showHiddenInvitationCodes", function() {
					jQuery(this).parent().children().show();
					jQuery(this).remove();
				});

				jQuery(document).on("click", "#addInvitationCode", function() {
					addInvitationCode();
				});

				jQuery(document).on("click", ".removeInvitationCode", function() {
					jQuery(this).parent().remove();
				});

				jQuery(document).on("click", ".enableDisableText", function() {
					if (jQuery(this).prop("checked"))
						jQuery(this).parent().parent().next().find("input").prop("readOnly", false);
					else
						jQuery(this).parent().parent().next().find("input").prop("readOnly", true);
				});

				jQuery(document).on("click", ".helpButton", function() {
					alert(jQuery(this).attr("title") );
				});

				jQuery(document).on("click", "#addField", function() {
					addField();
				});

				jQuery(document).on("click", ".removeNewButton", function() {
					jQuery(this).parent().parent().remove();
				});

				jQuery(document).on("click", ".removeButton", function() {
					jQuery(this).parent().parent().parent().parent().parent().parent().parent().remove();
				});

				jQuery(document).on("click", ".enableDisableFieldSettings", function() {
					if (jQuery(this).text() == "<?php 
            _e('Show Settings', 'register-plus-redux');
            ?>
") {
						jQuery(this).text("<?php 
            _e('Hide Settings', 'register-plus-redux');
            ?>
");
						jQuery(this).parent().parent().parent().find(".settings").show();
					}
					else {
						jQuery(this).text("<?php 
            _e('Show Settings', 'register-plus-redux');
            ?>
");
						jQuery(this).parent().parent().parent().find(".settings").hide();
					}
						
				});

				jQuery(document).on("change", ".enableDisableOptions", function() {
					var name = jQuery(this).attr("name");
					var index = name.substring(name.indexOf("[") + 1, name.indexOf("]"));
					if (jQuery(this).val() == "textbox") {
						jQuery("input[name='options[" + index + "]']").prop("readOnly", false);
						jQuery("input[name='show_datepicker[" + index + "]']").prop("disabled", false);
					}
					else if (jQuery(this).val() == "select" || jQuery(this).val() == "checkbox" || jQuery(this).val() == "radio" || jQuery(this).val() == "text") {
						jQuery("input[name='options[" + index + "]']").prop("readOnly", false);
						jQuery("input[name='show_datepicker[" + index + "]']").prop("disabled", true);
					}
					else {
						jQuery("input[name='options[" + index + "]']").prop("readOnly", true);
						jQuery("input[name='show_datepicker[" + index + "]']").prop("disabled", true);
					}
				});

				jQuery(document).on("click", ".modifyNextCellCheckbox", function() {
					if (jQuery(this).prop("checked"))
						jQuery(this).parent().next().find("input[type='checkbox']").prop("disabled", false);
					else {
						jQuery(this).parent().next().find("input[type='checkbox']").prop("checked", false);
						jQuery(this).parent().next().find("input[type='checkbox']").prop("disabled", true);
					}
				});

				jQuery(document).on("click", ".modifyNextRowCheckbox", function() {
					if (jQuery(this).prop("checked"))
						jQuery(this).closest("tr").next().find("input[type='checkbox']").prop("disabled", false);
					else {
						jQuery(this).closest("tr").next().find("input[type='checkbox']").prop("checked", false);
						jQuery(this).closest("tr").next().find("input[type='checkbox']").prop("disabled", true);
					}
				});

				jQuery(document).on("click", ".upButton,.downButton", function() {
					var row = jQuery(this).parents("tr:first");
					if (jQuery(this).is(".upButton")) {
						row.insertBefore(row.prev() );
					}
					else {
						row.insertAfter(row.next() );
					}
				});
				
				jQuery("#verify_user_email,#verify_user_admin,#disable_user_message_registered,#disable_user_message_created,#custom_user_message,#user_message_from_name,#user_message_from_email,#user_message_subject,#user_message_body,#send_user_message_in_html,#custom_verification_message,#verification_message_from_name,#verification_message_from_email,#verification_message_subject,#verification_message_body,#verification_admin_message_in_html").change(function() {
					updateUserMessagesSummary();
				});

				jQuery("#disable_admin_message_registered,#disable_admin_message_created,#custom_admin_message,#admin_message_from_name,#admin_message_from_email,#admin_message_subject,#admin_message_body,#send_admin_message_in_html").change(function() {
					updateAdminMessageSummary();
				});

				updateUserMessagesSummary();
				updateAdminMessageSummary();
			});
			</script>
			<?php 
        }
 public function rpr_admin_init()
 {
     global $register_plus_redux;
     // TODO: Write function to migrate register plus settings to redux
     // should not be in init, likely to use similar code to rename
     if (!current_user_can('manage_options')) {
         return;
     }
     if (RPR_ACTIVATION_REQUIRED !== get_option('register_plus_redux_last_activated')) {
         $register_plus_redux->rpr_activation();
     }
     $updated = FALSE;
     // Rename options as necessary, prior to defaulting any new options
     $rename_options = array('registration_redirect' => 'registration_redirect_url');
     foreach ($rename_options as $old_name => $new_name) {
         $old_value = $register_plus_redux->rpr_get_option($old_name);
         $new_value = $register_plus_redux->rpr_get_option($new_name);
         if (NULL === $new_value && NULL !== $old_value) {
             $register_plus_redux->rpr_set_option($new_name, $old_value);
             $register_plus_redux->rpr_unset_option($old_name);
             $updated = TRUE;
         }
     }
     // Load defaults for any options
     foreach (Register_Plus_Redux::default_options() as $option => $default_value) {
         if (NULL === $register_plus_redux->rpr_get_option($option)) {
             $register_plus_redux->rpr_set_option($option, $default_value);
             $updated = TRUE;
         }
     }
     if (TRUE === $updated) {
         $register_plus_redux->rpr_update_options(NULL);
     }
     // Added 03/28/11 in 3.7.4 converting invitation_code_bank to own option
     /*.array[]string.*/
     $nested_invitation_code_bank = $register_plus_redux->rpr_get_option('invitation_code_bank');
     /*.array[]string.*/
     $invitation_code_bank = get_option('register_plus_redux_invitation_code_bank-rv1');
     // TODO: This may need some work, not sure isset will fire the way I think it does
     if (FALSE === $invitation_code_bank && isset($nested_invitation_code_bank)) {
         update_option('register_plus_redux_invitation_code_bank-rv1', $nested_invitation_code_bank);
         //TODO: Confirm old invitation codes are migrating successfully, then kill old option
         //$register_plus_redux->rpr_unset_option( 'invitation_code_bank' );
     }
     // Added 03/02/13 in 3.9.6 converting 'unverified_*' users to "Unverified" users
     /*.object.*/
     $user_query = new WP_User_Query(array('meta_key' => 'stored_user_login'));
     if (!empty($user_query->results)) {
         global $wpdb;
         foreach ($user_query->results as $user) {
             $stored_user_login = get_user_meta($user->ID, 'stored_user_login', TRUE);
             $wpdb->update($wpdb->users, array('user_login' => $stored_user_login), array('ID' => $user->ID));
             $user->set_role('rpr_unverified');
             delete_user_meta($user->ID, 'stored_user_login');
         }
     }
     // Added 03/18/13 in 3.9.9 remove capability 'rpr_can_login', rely on role 'rpr_unverified' alone
     global $wp_roles;
     foreach ($wp_roles->get_names() as $role_name => $display_name) {
         $wp_roles->remove_cap($role_name, 'rpr_can_login');
     }
     // Added 03/28/11 in 3.7.4 converting custom fields
     /*.array[]mixed.*/
     $redux_usermeta = get_option('register_plus_redux_usermeta-rv2');
     if (empty($redux_usermeta)) {
         /*.array[]mixed.*/
         $redux_usermeta_rv1 = get_option('register_plus_redux_usermeta-rv1');
         /*.array[]mixed.*/
         $custom_fields = get_option('register_plus_redux_custom_fields');
         if (is_array($redux_usermeta_rv1)) {
             /*.array[]mixed.*/
             $redux_usermeta = array();
             foreach ($redux_usermeta_rv1 as $meta_field_rv1) {
                 $meta_field = array();
                 $meta_field['label'] = $meta_field_rv1['label'];
                 $meta_field['meta_key'] = $meta_field_rv1['meta_key'];
                 $meta_field['display'] = $meta_field_rv1['control'];
                 $meta_field['options'] = $meta_field_rv1['options'];
                 $meta_field['show_datepicker'] = '0';
                 $meta_field['escape_url'] = '0';
                 $meta_field['show_on_profile'] = $meta_field_rv1['show_on_profile'];
                 $meta_field['show_on_registration'] = $meta_field_rv1['show_on_registration'];
                 $meta_field['require_on_registration'] = $meta_field_rv1['required_on_registration'];
                 if ('text' === $meta_field['display']) {
                     $meta_field['display'] = 'textbox';
                 } elseif ('date' === $meta_field['display']) {
                     $meta_field['display'] = 'text';
                     $meta_field['show_datepicker'] = '1';
                 } elseif ('url' === $meta_field['display']) {
                     $meta_field['display'] = 'text';
                     $meta_field['escape_url'] = '1';
                 } elseif ('static' === $meta_field['display']) {
                     $meta_field['display'] = 'text';
                 }
                 $redux_usermeta[] = $meta_field;
             }
             // TODO: Confirm old custom fields are migrating successfully, then kill old option
             //delete_option( 'register_plus_redux_usermeta-rv1' );
             if (!empty($redux_usermeta)) {
                 update_option('register_plus_redux_usermeta-rv2', $redux_usermeta);
             }
         } elseif (is_array($custom_fields)) {
             /*.array[]mixed.*/
             $redux_usermeta = array();
             foreach ($custom_fields as $custom_field) {
                 $meta_field = array();
                 $meta_field['label'] = $custom_field['custom_field_name'];
                 $meta_field['meta_key'] = Register_Plus_Redux::sanitize_text($custom_field['custom_field_name']);
                 $meta_field['display'] = $custom_field['custom_field_type'];
                 $meta_field['options'] = $custom_field['custom_field_options'];
                 $meta_field['show_datepicker'] = '0';
                 $meta_field['escape_url'] = '0';
                 $meta_field['show_on_profile'] = $custom_field['show_on_profile'];
                 $meta_field['show_on_registration'] = $custom_field['show_on_registration'];
                 $meta_field['require_on_registration'] = $custom_field['required_on_registration'];
                 if ('text' === $meta_field['display']) {
                     $meta_field['display'] = 'textbox';
                 } elseif ('date' === $meta_field['display']) {
                     $meta_field['display'] = 'text';
                     $meta_field['show_datepicker'] = '1';
                 } elseif ('url' === $meta_field['display']) {
                     $meta_field['display'] = 'text';
                     $meta_field['escape_url'] = '1';
                 } elseif ('static' === $meta_field['display']) {
                     $meta_field['display'] = 'text';
                 }
                 $redux_usermeta[] = $meta_field;
             }
             // TODO: Confirm old custom fields are migrating successfully, then kill old option
             //delete_option( 'register_plus_redux_custom_fields' );
             if (!empty($redux_usermeta)) {
                 update_option('register_plus_redux_usermeta-rv2', $redux_usermeta);
             }
         }
     }
     update_option('register_plus_redux_version', RPR_VERSION);
 }