WordPress.org

Plugin Directory

Ticket #1287: register-plus-redux.php.7.patch

File register-plus-redux.php.7.patch, 68.2 KB (added by garnser, 3 years ago)
Line 
1*** a/register-plus-redux/register-plus-redux.php       2010-11-18 15:53:22.000000000 +0100
2--- b/register-plus-redux/register-plus-redux.php       2011-03-14 14:31:36.000000000 +0100
3***************
4*** 28,33 ****
5--- 28,34 ----
6                        add_filter("registration_redirect", array($this, "filter_registration_redirect"));
7 
8                        add_action("login_form", array($this, "AlterLoginForm")); //Runs just before the end of the HTML head section of the login page.
9+                       add_action("profile_form", array($this, "AlterProfileForm"));
10                       
11                        //add_action("wpmu_activate_user", array($this, "UpdateSignup"), 10, 3);
12                        //add_action("signup_extra_fields", array($this, "AlterSignupForm"));
13***************
14*** 81,86 ****
15--- 82,103 ----
16                                }
17                                if ( !empty($update) ) update_option("register_plus_redux_options", $options);
18                        }
19+                       $default = $this->defaultFields();
20+                       if ( !get_option("register_plus_redux_fields") ) {
21+                         //Check if fields exist, add defaults if necessary
22+                         add_option("register_plus_redux_fields", $default);
23+                       } else {
24+                         //Check settings for new fields, add as necessary
25+                         $options = get_option("register_plus_redux_fields");
26+                         for ($row = 0; $row < count($default); $row++) {
27+                           foreach ( $default[$row] as $k => $v ) {
28+                             if ( !isset($options[$k] ) ) {
29+                               $options[$k] = $v;
30+                               $update = true;
31+                             }
32+                           }
33+                         }
34+                       }
35                }
36 
37                function DeleteExpiredUsers() {
38***************
39*** 179,184 ****
40--- 196,203 ----
41                                                                .append("<option value=\"date\"><?php esc_attr_e("Date Field", "register-plus-redux"); ?></option>")
42                                                                .append("<option value=\"url\"><?php esc_attr_e("URL Field", "register-plus-redux"); ?></option>")
43                                                                .append("<option value=\"hidden\"><?php esc_attr_e("Hidden Field", "register-plus-redux"); ?></option>")
44+                                                               .append("<option value=\"password\"><?php esc_attr_e("Password Field", "register-plus-redux"); ?></option>")
45+                                                               .append("<option value=\"sectiontitle\"><?php esc_attr_e("Section Title", "register-plus-redux"); ?></option>")
46                                                        )
47                                                )
48                                                .append(jQuery("<td>")
49***************
50*** 405,411 ****
51                                });
52 
53                                jQuery(".enableDisableOptions").live("change", function() {
54!                                       if ( jQuery(this).val() == "select" || jQuery(this).val() == "checkbox" || jQuery(this).val() == "radio" )
55                                                jQuery(this).parent().next().find("input").removeAttr("readonly");
56                                        else
57                                                jQuery(this).parent().next().find("input").attr("readonly", "readonly");
58--- 424,430 ----
59                                });
60 
61                                jQuery(".enableDisableOptions").live("change", function() {
62!                                       if ( jQuery(this).val() == "select" || jQuery(this).val() == "checkbox" || jQuery(this).val() == "radio")
63                                                jQuery(this).parent().next().find("input").removeAttr("readonly");
64                                        else
65                                                jQuery(this).parent().next().find("input").attr("readonly", "readonly");
66***************
67*** 508,564 ****
68                                                <td><label><input type="checkbox" name="double_check_email" value="1" <?php if ( !empty($options["double_check_email"]) ) echo "checked='checked'"; ?> />&nbsp;<?php _e("Require new users to enter e-mail address twice during registration.", "register-plus-redux"); ?></label></td>
69                                        </tr>
70                                        <tr valign="top">
71-                                               <th scope="row"><?php _e("Profile Fields", "register-plus-redux"); ?></th>
72-                                               <td>
73-                                                       <table>
74-                                                               <thead valign="top">
75-                                                                       <td style="padding-top: 0px; padding-bottom: 0px; padding-left: 0px;"></td>
76-                                                                       <td align="center" style="padding-top: 0px; padding-bottom: 0px;"><?php _e("Show", "register-plus-redux"); ?></td>
77-                                                                       <td align="center" style="padding-top: 0px; padding-bottom: 0px;"><?php _e("Require", "register-plus-redux"); ?></td>
78-                                                               </thead>
79-                                                               <tbody>
80-                                                                       <?php if ( !is_array($options["show_fields"]) ) $options["show_fields"] = array(); ?>
81-                                                                       <?php if ( !is_array($options["required_fields"]) ) $options["required_fields"] = array(); ?>
82-                                                                       <tr valign="center">
83-                                                                               <td style="padding-top: 0px; padding-bottom: 0px; padding-left: 0px;"><?php _e("First Name", "register-plus-redux"); ?></td>
84-                                                                               <td align="center" style="padding-top: 0px; padding-bottom: 0px;"><input type="checkbox" name="show_fields[]" value="first_name" <?php if ( in_array("first_name", $options["show_fields"]) ) echo "checked='checked'"; ?> class="modifyNextCellInput" /></td>
85-                                                                               <td align="center" style="padding-top: 0px; padding-bottom: 0px;"><input type="checkbox" name="required_fields[]" value="first_name" <?php if ( in_array("first_name", $options["required_fields"]) ) echo "checked='checked'"; ?> <?php if ( !in_array("first_name", $options["show_fields"]) ) echo "disabled='disabled'"; ?> /></td>
86-                                                                       </tr>
87-                                                                       <tr valign="center">
88-                                                                               <td style="padding-top: 0px; padding-bottom: 0px; padding-left: 0px;"><?php _e("Last Name", "register-plus-redux"); ?></td>
89-                                                                               <td align="center" style="padding-top: 0px; padding-bottom: 0px;"><input type="checkbox" name="show_fields[]" value="last_name" <?php if ( in_array("last_name", $options["show_fields"]) ) echo "checked='checked'"; ?> class="modifyNextCellInput" /></td>
90-                                                                               <td align="center" style="padding-top: 0px; padding-bottom: 0px;"><input type="checkbox" name="required_fields[]" value="last_name" <?php if ( in_array("last_name", $options["required_fields"]) ) echo "checked='checked'"; ?> <?php if ( !in_array("last_name", $options["show_fields"]) ) echo "disabled='disabled'"; ?> /></td>
91-                                                                       </tr>
92-                                                                       <tr valign="center">
93-                                                                               <td style="padding-top: 0px; padding-bottom: 0px; padding-left: 0px;"><?php _e("Website", "register-plus-redux"); ?></td>
94-                                                                               <td align="center" style="padding-top: 0px; padding-bottom: 0px;"><input type="checkbox" name="show_fields[]" value="user_url" <?php if ( in_array("user_url", $options["show_fields"]) ) echo "checked='checked'"; ?> class="modifyNextCellInput" /></td>
95-                                                                               <td align="center" style="padding-top: 0px; padding-bottom: 0px;"><input type="checkbox" name="required_fields[]" value="user_url" <?php if ( in_array("user_url", $options["required_fields"]) ) echo "checked='checked'"; ?> <?php if ( !in_array("user_url", $options["show_fields"]) ) echo "disabled='disabled'"; ?> /></td>
96-                                                                       </tr>
97-                                                                       <tr valign="center">
98-                                                                               <td style="padding-top: 0px; padding-bottom: 0px; padding-left: 0px;"><?php _e("AIM", "register-plus-redux"); ?></td>
99-                                                                               <td align="center" style="padding-top: 0px; padding-bottom: 0px;"><input type="checkbox" name="show_fields[]" value="aim" <?php if ( in_array("aim", $options["show_fields"]) ) echo "checked='checked'"; ?> class="modifyNextCellInput" /></td>
100-                                                                               <td align="center" style="padding-top: 0px; padding-bottom: 0px;"><input type="checkbox" name="required_fields[]" value="aim" <?php if ( in_array("aim", $options["required_fields"]) ) echo "checked='checked'"; ?> <?php if ( !in_array("aim", $options["show_fields"]) ) echo "disabled='disabled'"; ?> /></td>
101-                                                                       </tr>
102-                                                                       <tr valign="center">
103-                                                                               <td style="padding-top: 0px; padding-bottom: 0px; padding-left: 0px;"><?php _e("Yahoo IM", "register-plus-redux"); ?></td>
104-                                                                               <td align="center" style="padding-top: 0px; padding-bottom: 0px;"><input type="checkbox" name="show_fields[]" value="yahoo" <?php if ( in_array("yahoo", $options["show_fields"]) ) echo "checked='checked'"; ?> class="modifyNextCellInput" /></td>
105-                                                                               <td align="center" style="padding-top: 0px; padding-bottom: 0px;"><input type="checkbox" name="required_fields[]" value="yahoo" <?php if ( in_array("yahoo", $options["required_fields"]) ) echo "checked='checked'"; ?> <?php if ( !in_array("yahoo", $options["show_fields"]) ) echo "disabled='disabled'"; ?> /></td>
106-                                                                       </tr>
107-                                                                       <tr valign="center">
108-                                                                               <td style="padding-top: 0px; padding-bottom: 0px; padding-left: 0px;"><?php _e("Jabber / Google Talk", "register-plus-redux"); ?></td>
109-                                                                               <td align="center" style="padding-top: 0px; padding-bottom: 0px;"><input type="checkbox" name="show_fields[]" value="jabber" <?php if ( in_array("jabber", $options["show_fields"]) ) echo "checked='checked'"; ?> class="modifyNextCellInput" /></td>
110-                                                                               <td align="center" style="padding-top: 0px; padding-bottom: 0px;"><input type="checkbox" name="required_fields[]" value="jabber" <?php if ( in_array("jabber", $options["required_fields"]) ) echo "checked='checked'"; ?> <?php if ( !in_array("jabber", $options["show_fields"]) ) echo "disabled='disabled'"; ?> /></td>
111-                                                                       </tr>
112-                                                                       <tr valign="center">
113-                                                                               <td style="padding-top: 0px; padding-bottom: 0px; padding-left: 0px;"><?php _e("About Yourself", "register-plus-redux"); ?></td>
114-                                                                               <td align="center" style="padding-top: 0px; padding-bottom: 0px;"><input type="checkbox" name="show_fields[]" value="about" <?php if ( in_array("about", $options["show_fields"]) ) echo "checked='checked'"; ?> class="modifyNextCellInput" /></td>
115-                                                                               <td align="center" style="padding-top: 0px; padding-bottom: 0px;"><input type="checkbox" name="required_fields[]" value="about" <?php if ( in_array("about", $options["required_fields"]) ) echo "checked='checked'"; ?> <?php if ( !in_array("about", $options["show_fields"]) ) echo "disabled='disabled'"; ?> /></td>
116-                                                                       </tr>
117-                                                               </tbody>
118-                                                       </table>
119-                                               </td>
120-                                       </tr>
121-                                       <tr valign="top">
122                                                <th scope="row"><?php _e("User Set Password", "register-plus-redux"); ?></th>
123                                                <td>
124                                                        <label><input type="checkbox" name="user_set_password" id="user_set_password" value="1" <?php if ( !empty($options["user_set_password"]) ) echo "checked='checked'"; ?> class="showHideSettings" />&nbsp;<?php _e("Require new users enter a password during registration...", "register-plus-redux"); ?></label><br />
125--- 527,532 ----
126***************
127*** 732,739 ****
128                                                </td>
129                                        </tr>
130                                </table>
131!                               <h3 class="title"><?php _e("Additional Fields", "register-plus-redux"); ?></h3>
132!                               <p><?php _e("Enter additional fields to show on the User Profile and/or Registration Pages. Additional fields will be shown after existing profile fields on User Profile, and after selected profile fields on Registration Page but before Password, Invitation Code, Disclaimer, License Agreement, or Privacy Policy (if any of those fields are enabled). Options must be entered for Select, Checkbox, and Radio fields. Options should be entered with commas seperating each possible value. For example, a Radio field named \"Gender\" could have the following options, \"Male,Female\".", "register-plus-redux"); ?></p>
133                                <table id="custom_fields" style="width: 80%;">
134                                        <thead valign="top">
135                                                <td style="padding-top: 0px; padding-bottom: 0px; padding-left: 0px;"><?php _e("Name", "register-plus-redux"); ?></td>
136--- 700,707 ----
137                                                </td>
138                                        </tr>
139                                </table>
140!                               <h3 class="title"><?php _e("Fields", "register-plus-redux"); ?></h3>
141!                               <p><?php _e("Enter additional fields to show on the User Profile and/or Registration Pages. Options must be entered for Select, Checkbox, and Radio fields. Options should be entered with commas seperating each possible value. For example, a Radio field named \"Gender\" could have the following options, \"Male,Female\".", "register-plus-redux"); ?></p>
142                                <table id="custom_fields" style="width: 80%;">
143                                        <thead valign="top">
144                                                <td style="padding-top: 0px; padding-bottom: 0px; padding-left: 0px;"><?php _e("Name", "register-plus-redux"); ?></td>
145***************
146*** 745,758 ****
147                                                <td align="center" style="padding-top: 0px; padding-bottom: 0px;"><?php _e("Actions", "register-plus-redux"); ?></td>
148                                        </thead>
149                                        <tbody>
150!                                               <?php
151!                                               $custom_fields = get_option("register_plus_redux_custom_fields");
152                                                if ( !is_array($custom_fields) ) $custom_fields = array();
153                                                foreach ( $custom_fields as $k => $v ) {
154                                                        echo "\n<tr valign='center' class='custom_field'>";
155!                                                       echo "\n        <td style='padding-top: 0px; padding-bottom: 0px;'><input type='text' name='custom_field_name[$k]' value=\"", stripslashes($v["custom_field_name"]), "\" style='width: 100%;' /></td>";
156                                                        echo "\n        <td style='padding-top: 0px; padding-bottom: 0px;'>";
157!                                                       echo "\n                <select name='custom_field_type[$k]' class='enableDisableOptions' style='width: 100%;'>";
158                                                        echo "\n                        <option value='text'"; if ( $v["custom_field_type"] == "text" ) echo " selected='selected'"; echo ">", __("Text Field", "register-plus-redux"), "</option>";
159                                                        echo "\n                        <option value='select'"; if ( $v["custom_field_type"] == "select" ) echo " selected='selected'"; echo ">", __("Select Field", "register-plus-redux"), "</option>";
160                                                        echo "\n                        <option value='checkbox'"; if ( $v["custom_field_type"] == "checkbox" ) echo " selected='selected'"; echo ">", __("Checkbox Fields", "register-plus-redux"), "</option>";
161--- 713,730 ----
162                                                <td align="center" style="padding-top: 0px; padding-bottom: 0px;"><?php _e("Actions", "register-plus-redux"); ?></td>
163                                        </thead>
164                                        <tbody>
165! <?php
166!                                               $custom_fields = get_option("register_plus_redux_fields");
167                                                if ( !is_array($custom_fields) ) $custom_fields = array();
168+                                               ?>
169+
170+ <?php
171                                                foreach ( $custom_fields as $k => $v ) {
172                                                        echo "\n<tr valign='center' class='custom_field'>";
173!                                                       if ($v["required_field"] == 0) { echo "\n       <td style='padding-top: 0px; padding-bottom: 0px;'><input type='text' name='custom_field_name[$k]' value=\"", stripslashes($v["custom_field_name"]), "\" style='width: 100%;' /></td>"; } else { echo "\n       <td style='padding-top: 0px; padding-bottom: 0px;'><input type='text' name='custom_field_name[$k]' value=\"", stripslashes($v["custom_field_name"]), "\" style='width: 100%;' readonly='readonly' /></td>"; }
174                                                        echo "\n        <td style='padding-top: 0px; padding-bottom: 0px;'>";
175!                                                       if ( $v["required_field"] == 1 ) echo "<input type='hidden' value='" , $v["custom_field_type"] , "' name='custom_field_type[$k]' />";
176!                                                       echo "\n                <select name='custom_field_type[$k]' class='enableDisableOptions' style='width: 100%;'"; if ( $v["required_field"] == 1 ) echo 'disabled="disabled"'; echo ">";
177                                                        echo "\n                        <option value='text'"; if ( $v["custom_field_type"] == "text" ) echo " selected='selected'"; echo ">", __("Text Field", "register-plus-redux"), "</option>";
178                                                        echo "\n                        <option value='select'"; if ( $v["custom_field_type"] == "select" ) echo " selected='selected'"; echo ">", __("Select Field", "register-plus-redux"), "</option>";
179                                                        echo "\n                        <option value='checkbox'"; if ( $v["custom_field_type"] == "checkbox" ) echo " selected='selected'"; echo ">", __("Checkbox Fields", "register-plus-redux"), "</option>";
180***************
181*** 761,800 ****
182                                                        echo "\n                        <option value='date'"; if ( $v["custom_field_type"] == "date" ) echo " selected='selected'"; echo ">", __("Date Field", "register-plus-redux"), "</option>";
183                                                        echo "\n                        <option value='url'"; if ( $v["custom_field_type"] == "url" ) echo " selected='selected'"; echo ">", __("URL Field", "register-plus-redux"), "</option>";
184                                                        echo "\n                        <option value='hidden'"; if ( $v["custom_field_type"] == "hidden" ) echo " selected='selected'"; echo ">", __("Hidden Field", "register-plus-redux"), "</option>";
185                                                        echo "\n                </select>";
186                                                        echo "\n        </td>";
187!                                                       echo "\n        <td style='padding-top: 0px; padding-bottom: 0px;'><input type='text' name='custom_field_options[$k]' value=\"", stripslashes($v["custom_field_options"]), "\""; if ( $v["custom_field_type"] != "select" && $v["custom_field_type"] != "checkbox" && $v["custom_field_type"] != "radio" ) echo " readonly='readonly'"; echo " style='width: 100%;' /></td>";
188                                                        echo "\n        <td align='center' style='padding-top: 0px; padding-bottom: 0px;'><input type='checkbox' name='show_on_profile[$k]' value='1'"; if ( !empty($v["show_on_profile"]) ) echo " checked='checked'"; echo " /></td>";
189!                                                       echo "\n        <td align='center' style='padding-top: 0px; padding-bottom: 0px;'><input type='checkbox' name='show_on_registration[$k]' value='1'"; if ( !empty($v["show_on_registration"]) ) echo " checked='checked'"; echo " class='modifyNextCellInput' /></td>";
190!                                                       echo "\n        <td align='center' style='padding-top: 0px; padding-bottom: 0px;'><input type='checkbox' name='required_on_registration[$k]' value='1'"; if ( !empty($v["required_on_registration"]) ) echo " checked='checked'"; if ( empty($v["show_on_registration"]) ) echo " disabled='disabled'"; echo " /></td>";
191                                                        echo "\n        <td align='center' style='padding-top: 0px; padding-bottom: 0px;'>";
192!                                                       echo "\n        <img src='", plugins_url("images\delete.png", __FILE__), "' alt='", __("Remove Field", "register-plus-redux"), "' title='", __("Remove Field", "register-plus-redux"), "' class='removeCustomField' style='cursor: pointer;' />";
193!                                                       echo "\n        <img src='", plugins_url("images\arrow_up.png", __FILE__), "' alt='", __("Move this Field Up", "register-plus-redux"), "' title='", __("Move this Field Up", "register-plus-redux"), "' class='up' style='cursor: pointer;' />";
194!                                                       echo "\n        <img src='", plugins_url("images\arrow_down.png", __FILE__), "' alt='", __("Move this Field Down", "register-plus-redux"), "' title='", __("Move this Field Down", "register-plus-redux"), "' class='down' style='cursor: pointer;' />";
195!                                                       echo "\n        </td>";
196!                                                       echo "\n</tr>";
197!                                               }
198!                                               if ( empty($custom_fields) ) {
199!                                                       echo "\n<tr valign='center' class='custom_field'>";
200!                                                       echo "\n        <td style='padding-top: 0px; padding-bottom: 0px; padding-left: 0px;'><input type='text' name='custom_field_name[]' value='' style='width: 100%;'/></td>";
201!                                                       echo "\n        <td style='padding-top: 0px; padding-bottom: 0px;'>";
202!                                                       echo "\n                <select name='custom_field_type[]' class='enableDisableOptions' style='width: 100%;'>";
203!                                                       echo "\n                        <option value='text'>", __("Text Field", "register-plus-redux"), "</option>";
204!                                                       echo "\n                        <option value='select'>", __("Select Field", "register-plus-redux"), "</option>";
205!                                                       echo "\n                        <option value='checkbox'>", __("Checkbox Fields", "register-plus-redux"), "</option>";
206!                                                       echo "\n                        <option value='radio'>", __("Radio Fields", "register-plus-redux"), "</option>";
207!                                                       echo "\n                        <option value='textarea'>", __("Text Area", "register-plus-redux"), "</option>";
208!                                                       echo "\n                        <option value='date'>", __("Date Field", "register-plus-redux"), "</option>";
209!                                                       echo "\n                        <option value='url'>", __("URL Field", "register-plus-redux"), "</option>";
210!                                                       echo "\n                        <option value='hidden'>", __("Hidden Field", "register-plus-redux"), "</option>";
211!                                                       echo "\n                </select>";
212!                                                       echo "\n        </td>";
213!                                                       echo "\n        <td style='padding-top: 0px; padding-bottom: 0px;'><input type='text' name='custom_field_options[]' value='' readonly='readonly' style='width: 100%;'/></td>";
214!                                                       echo "\n        <td align='center' style='padding-top: 0px; padding-bottom: 0px;'><input type='checkbox' name='show_on_profile[]' value='1' /></td>";
215!                                                       echo "\n        <td align='center' style='padding-top: 0px; padding-bottom: 0px;'><input type='checkbox' name='show_on_registration[]' value='1' class='modifyNextCellInput' /></td>";
216!                                                       echo "\n        <td align='center' style='padding-top: 0px; padding-bottom: 0px;'><input type='checkbox' name='required_on_registration[]' value='1' disabled='disabled' /></td>";
217                                                        echo "\n        <td align='center' style='padding-top: 0px; padding-bottom: 0px;'>";
218!                                                       echo "\n        <img src='", plugins_url("images\delete.png", __FILE__), "' alt='", __("Remove Field", "register-plus-redux"), "' title='", __("Remove Field", "register-plus-redux"), "' class='removeCustomField' style='cursor: pointer;' />";
219                                                        echo "\n        <img src='", plugins_url("images\arrow_up.png", __FILE__), "' alt='", __("Move this Field Up", "register-plus-redux"), "' title='", __("Move this Field Up", "register-plus-redux"), "' class='up' style='cursor: pointer;' />";
220                                                        echo "\n        <img src='", plugins_url("images\arrow_down.png", __FILE__), "' alt='", __("Move this Field Down", "register-plus-redux"), "' title='", __("Move this Field Down", "register-plus-redux"), "' class='down' style='cursor: pointer;' />";
221                                                        echo "\n        </td>";
222--- 733,754 ----
223                                                        echo "\n                        <option value='date'"; if ( $v["custom_field_type"] == "date" ) echo " selected='selected'"; echo ">", __("Date Field", "register-plus-redux"), "</option>";
224                                                        echo "\n                        <option value='url'"; if ( $v["custom_field_type"] == "url" ) echo " selected='selected'"; echo ">", __("URL Field", "register-plus-redux"), "</option>";
225                                                        echo "\n                        <option value='hidden'"; if ( $v["custom_field_type"] == "hidden" ) echo " selected='selected'"; echo ">", __("Hidden Field", "register-plus-redux"), "</option>";
226+                                                       echo "\n                        <option value='password'"; if ( $v["custom_field_type"] == "password" ) echo " selected='selected'"; echo ">", __("Password Field", "register-plus-redux"), "</option>";
227+                                                       echo "\n                        <option value='sectiontitle'"; if ( $v["custom_field_type"] == "sectiontitle" ) echo " selected='selected'"; echo ">", __("Section Title", "register-plus-redux"), "</option>";
228                                                        echo "\n                </select>";
229                                                        echo "\n        </td>";
230!                                                       echo "\n        <td style='padding-top: 0px; padding-bottom: 0px;'><input type='text' name='custom_field_options[$k]' value=\"", stripslashes($v["custom_field_options"]), "\""; if ( $v["custom_field_type"] != "select" && $v["custom_field_type"] != "checkbox" && $v["custom_field_type"] != "radio") echo " readonly='readonly'"; echo " style='width: 100%;' /></td>";
231                                                        echo "\n        <td align='center' style='padding-top: 0px; padding-bottom: 0px;'><input type='checkbox' name='show_on_profile[$k]' value='1'"; if ( !empty($v["show_on_profile"]) ) echo " checked='checked'"; echo " /></td>";
232!                                                       echo "\n        <td align='center' style='padding-top: 0px; padding-bottom: 0px;'><input type='checkbox' name='show_on_registration[$k]' value='1'"; if ( !empty($v["show_on_registration"]) ) echo " checked='checked'"; if ($v["custom_field_type"] != "sectiontitle" && $v["custom_field_type"] != "password") { echo " class='modifyNextCellInput'"; }; echo "/></td>";
233                                                        echo "\n        <td align='center' style='padding-top: 0px; padding-bottom: 0px;'>";
234!                                                         echo "<input type='checkbox' name='required_on_registration[$k]' value='1'"; if ( !empty($v["required_on_registration"]) ) echo " checked='checked'"; if ( empty($v["show_on_registration"]) || $v["custom_field_type"] == "sectiontitle" || $v["custom_field_type"] == "password") echo " disabled='disabled'"; echo " />";
235!                                                       echo "</td>";
236                                                        echo "\n        <td align='center' style='padding-top: 0px; padding-bottom: 0px;'>";
237!                                                       if ($v["required_field"] == 0) {
238!                                                         echo "\n      <img src='", plugins_url("images\delete.png", __FILE__), "' alt='", __("Remove Field", "register-plus-redux"), "' title='", __("Remove Field", "register-plus-redux"), "' class='removeCustomField' style='cursor: pointer;' />";
239!                                                       } else {
240!                                                         echo "\n      <img src='", plugins_url("images\delete_gray.png", __FILE__), "' alt='", __("Remove Field", "register-plus-redux"), "' title='", __("Remove Field", "register-plus-redux"), "' style='cursor: pointer;' />";
241!                                                       };
242                                                        echo "\n        <img src='", plugins_url("images\arrow_up.png", __FILE__), "' alt='", __("Move this Field Up", "register-plus-redux"), "' title='", __("Move this Field Up", "register-plus-redux"), "' class='up' style='cursor: pointer;' />";
243                                                        echo "\n        <img src='", plugins_url("images\arrow_down.png", __FILE__), "' alt='", __("Move this Field Down", "register-plus-redux"), "' title='", __("Move this Field Down", "register-plus-redux"), "' class='down' style='cursor: pointer;' />";
244                                                        echo "\n        </td>";
245***************
246*** 843,849 ****
247                                <h3 class="title"><?php _e("Auto-Complete Queries", "register-plus-redux"); ?></h3>
248                                <p><?php _e("You can now link to the registration page with queries to autocomplete specific fields for the user. I have included the query keys below and an example of a query URL.", "register-plus-redux"); ?></p>
249                                <?php
250!                               $registration_fields = "%first_name% %last_name% %user_url% %aim% %yahoo% %jabber% %about% %invitation_code%";
251                                foreach ( $custom_fields as $k => $v ) {
252                                        if ( !empty($v["show_on_registration"]) ) $registration_fields .= " %".$this->sanitizeText($v["custom_field_name"])."%";
253                                }
254--- 797,803 ----
255                                <h3 class="title"><?php _e("Auto-Complete Queries", "register-plus-redux"); ?></h3>
256                                <p><?php _e("You can now link to the registration page with queries to autocomplete specific fields for the user. I have included the query keys below and an example of a query URL.", "register-plus-redux"); ?></p>
257                                <?php
258!                               $registration_fields = "%first_name% %last_name% %user_url% %aim% %yim% %jabber% %about% %invitation_code%";
259                                foreach ( $custom_fields as $k => $v ) {
260                                        if ( !empty($v["show_on_registration"]) ) $registration_fields .= " %".$this->sanitizeText($v["custom_field_name"])."%";
261                                }
262***************
263*** 1083,1096 ****
264 
265                        if ( isset($_POST["custom_field_name"]) ) {
266                                foreach ( $_POST["custom_field_name"] as $k => $v ) {
267!                                       if ( !empty($v) ) {
268                                                $custom_fields[$k] = array(
269                                                        "custom_field_name" => $v,
270                                                        "custom_field_type" => isset($_POST["custom_field_type"][$k]) ? $_POST["custom_field_type"][$k] : "",
271                                                        "custom_field_options" => isset($_POST["custom_field_options"][$k]) ? $_POST["custom_field_options"][$k] : "",
272                                                        "show_on_profile" => isset($_POST["show_on_profile"][$k]) ? $_POST["show_on_profile"][$k] : "",
273                                                        "show_on_registration" => isset($_POST["show_on_registration"][$k]) ? $_POST["show_on_registration"][$k] : "",
274!                                                       "required_on_registration" => isset($_POST["required_on_registration"][$k]) ? $_POST["required_on_registration"][$k] : "");
275                                        }
276                                }
277                        }
278--- 1037,1073 ----
279 
280                        if ( isset($_POST["custom_field_name"]) ) {
281                                foreach ( $_POST["custom_field_name"] as $k => $v ) {
282!                                       if ( !empty($v) ) {
283!                                         $required_fields = array("First Name" => "first_name", "Last Name" => "last_name", "Website" => "user_url", "AIM" => "aim", "Yahoo IM" => "yim", "Jabber / Google Talk" => "jabber", "About Yourself" => "description", "E-mail" => "user_email", "Username" => "user_login");
284!                               $required_field = 0;
285!                               $profile_field_key;
286!                               $required_field_key = "";
287!
288!                               switch ($v) {
289!                               case "E-mail":
290!                                 $profile_field_key = "email";
291!                                 break;
292!                               case "Website":
293!                                 $profile_field_key = "url";
294!                                 break;
295!                               default:
296!                                 unset($profile_field_key);
297!                               }
298!
299!                               if ( isset($required_fields["$v"])) {
300!                                 $required_field = 1;
301!                                 $required_field_key = $required_fields["$v"];
302!                               }
303                                                $custom_fields[$k] = array(
304                                                        "custom_field_name" => $v,
305                                                        "custom_field_type" => isset($_POST["custom_field_type"][$k]) ? $_POST["custom_field_type"][$k] : "",
306                                                        "custom_field_options" => isset($_POST["custom_field_options"][$k]) ? $_POST["custom_field_options"][$k] : "",
307                                                        "show_on_profile" => isset($_POST["show_on_profile"][$k]) ? $_POST["show_on_profile"][$k] : "",
308                                                        "show_on_registration" => isset($_POST["show_on_registration"][$k]) ? $_POST["show_on_registration"][$k] : "",
309!                                                       "required_on_registration" => isset($_POST["required_on_registration"][$k]) ? $_POST["required_on_registration"][$k] : "",
310!                                                       "required_field" => $required_field,
311!                                                       "required_field_key" => $required_field_key,
312!                                                       "profile_field_key" => $profile_field_key);
313                                        }
314                                }
315                        }
316***************
317*** 1135,1141 ****
318                        $options["disable_url_fopen"] = isset($_POST["disable_url_fopen"]) ? $_POST["disable_url_fopen"] : "";
319 
320                        update_option("register_plus_redux_options", $options);
321!                       update_option("register_plus_redux_custom_fields", $custom_fields);
322                }
323 
324                function UnverifiedUsersPage() {
325--- 1112,1118 ----
326                        $options["disable_url_fopen"] = isset($_POST["disable_url_fopen"]) ? $_POST["disable_url_fopen"] : "";
327 
328                        update_option("register_plus_redux_options", $options);
329!                       update_option("register_plus_redux_fields", $custom_fields);
330                }
331 
332                function UnverifiedUsersPage() {
333***************
334*** 1323,1329 ****
335                                <?php
336                        }
337                        if ( isset($_GET["action"]) && $_GET["action"] == "register" ) {
338!                               $custom_fields = get_option("register_plus_redux_custom_fields");
339                                if ( !is_array($custom_fields) ) $custom_fields = array();
340                                foreach ( $custom_fields as $k => $v ) {
341                                        if ( !empty($v["show_on_registration"]) ) {
342--- 1300,1306 ----
343                                <?php
344                        }
345                        if ( isset($_GET["action"]) && $_GET["action"] == "register" ) {
346!                               $custom_fields = get_option("register_plus_redux_fields");
347                                if ( !is_array($custom_fields) ) $custom_fields = array();
348                                foreach ( $custom_fields as $k => $v ) {
349                                        if ( !empty($v["show_on_registration"]) ) {
350***************
351*** 1539,1628 ****
352                                $tabindex++;
353                        }
354                        if ( !is_array($options["show_fields"]) ) $options["show_fields"] = array();
355!                       if ( in_array("first_name", $options["show_fields"]) ) {
356!                               if ( isset($_GET["first_name"]) ) $_POST["first_name"] = $_GET["first_name"];
357!                               echo "\n<p id='first_name-p'><label id='first_name-label'>";
358!                               if ( !empty($options["required_fields_asterisk"]) && in_array("first_name", $options["required_fields"]) ) echo "*";
359!                               echo __("First Name", "register-plus-redux"), "<br /><input type='text' name='first_name' id='first_name' class='input' value='", $_POST["first_name"],"' size='25' ";
360!                               if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
361!                               echo "/></label></p>";
362!                               $tabindex++;
363!                       }
364!                       if ( in_array("last_name", $options["show_fields"]) ) {
365!                               if ( isset($_GET["last_name"]) ) $_POST["last_name"] = $_GET["last_name"];
366!                               echo "\n<p id='last_name-p'><label id='last_name-label'>";
367!                               if ( !empty($options["required_fields_asterisk"]) && in_array("last_name", $options["required_fields"]) ) echo "*";
368!                               echo __("Last Name", "register-plus-redux"), "<br /><input type='text' name='last_name' id='last_name' class='input' value='", $_POST["last_name"], "' size='25' ";
369!                               if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
370!                               echo "/></label></p>";
371!                               $tabindex++;
372!                       }
373!                       if ( in_array("user_url", $options["show_fields"]) ) {
374!                               if ( isset($_GET["url"]) ) $_POST["url"] = $_GET["url"];
375!                               echo "\n<p id='user_url-p'><label id='user_url-label'>";
376!                               if ( !empty($options["required_fields_asterisk"]) && in_array("user_url", $options["required_fields"]) ) echo "*";
377!                               echo __("Website", "register-plus-redux"), "<br /><input type='text' name='url' id='user_url' class='input' value='", $_POST["url"], "' size='25' ";
378!                               if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
379!                               echo "/></label></p>";
380!                               $tabindex++;
381!                       }
382!                       if ( in_array("aim", $options["show_fields"]) ) {
383!                               if ( isset($_GET["aim"]) ) $_POST["aim"] = $_GET["aim"];
384!                               echo "\n<p id='aim-p'><label id='aim-label'>";
385!                               if ( !empty($options["required_fields_asterisk"]) && in_array("aim", $options["required_fields"]) ) echo "*";
386!                               echo __("AIM", "register-plus-redux"), "<br /><input type='text' name='aim' id='aim' class='input' value='", $_POST["aim"], "' size='25' ";
387!                               if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
388!                               echo "/></label></p>";
389!                               $tabindex++;
390!                       }
391!                       if ( in_array("yahoo", $options["show_fields"]) ) {
392!                               if ( isset($_GET["yahoo"]) ) $_POST["yahoo"] = $_GET["yahoo"];
393!                               echo "\n<p id='yahoo-p'><label id='yahoo-label'>";
394!                               if ( !empty($options["required_fields_asterisk"]) && in_array("yahoo", $options["required_fields"]) ) echo "*";
395!                               echo __("Yahoo IM", "register-plus-redux"), "<br /><input type='text' name='yahoo' id='yahoo' class='input' value='", $_POST["yahoo"], "' size='25' ";
396!                               if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
397!                               echo "/></label></p>";
398!                               $tabindex++;
399!                       }
400!                       if ( in_array("jabber", $options["show_fields"]) ) {
401!                               if ( isset($_GET["jabber"]) ) $_POST["jabber"] = $_GET["jabber"];
402!                               echo "\n<p id='jabber-p'><label id='jabber-label'>";
403!                               if ( !empty($options["required_fields_asterisk"]) && in_array("jabber", $options["required_fields"]) ) echo "*";
404!                               echo __("Jabber / Google Talk", "register-plus-redux"), "<br /><input type='text' name='jabber' id='jabber' class='input' value='", $_POST["jabber"], "' size='25' ";
405!                               if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
406!                               echo "/></label></p>";
407!                               $tabindex++;
408!                       }
409!                       if ( in_array("about", $options["show_fields"]) ) {
410!                               if ( isset($_GET["about"]) ) $_POST["about"] = $_GET["about"];
411!                               echo "\n<p id='about-p'><label id='about-label' for='about'>";
412!                               if ( !empty($options["required_fields_asterisk"]) && in_array("about", $options["required_fields"]) ) echo "*";
413!                               echo __("About Yourself", "register-plus-redux"), "</label><br />";
414!                               echo "\n<small id='about_msg'>", __("Share a little biographical information to fill out your profile. This may be shown publicly.", "register-plus-redux"), "</small><br />";
415!                               echo "\n<textarea name='about' id='about' cols='25' rows='5'";
416!                               if ( !empty($options["starting_tabindex"]) ) echo " tabindex='$tabindex'";
417!                               echo ">", stripslashes($_POST["about"]), "</textarea></p>";
418!                               $tabindex++;
419!                       }
420!                       $custom_fields = get_option("register_plus_redux_custom_fields");
421                        if ( !is_array($custom_fields) ) $custom_fields = array();
422                        foreach ( $custom_fields as $k => $v ) {
423                                if ( !empty($v["show_on_registration"]) ) {
424!                                       $key = $this->sanitizeText($v["custom_field_name"]);
425                                        if ( isset($_GET[$key]) ) $_POST[$key] = $_GET[$key];
426                                        switch ( $v["custom_field_type"] ) {
427                                                case "text":
428!                                                       echo "\n<p id='$key-p'><label id='$key-label'>";
429                                                        if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
430!                                                       echo stripslashes($v["custom_field_name"]), "<br /><input type='text' name='$key' id='$key' class='input' value='", $_POST[$key], "' size='25' ";
431                                                        if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
432                                                        echo "/></label></p>";
433                                                        $tabindex++;
434                                                        break;
435                                                case "select":
436!                                                       echo "\n<p id='$key-p'><label id='$key-label'>";
437                                                        if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
438!                                                       echo stripslashes($v["custom_field_name"]), "<br />";
439                                                        echo "\n<select name='$key' id='$key'";
440                                                        if ( !empty($options["starting_tabindex"]) ) echo " tabindex='$tabindex'";
441                                                        echo ">";
442--- 1516,1546 ----
443                                $tabindex++;
444                        }
445                        if ( !is_array($options["show_fields"]) ) $options["show_fields"] = array();
446!                       $custom_fields = get_option("register_plus_redux_fields");
447                        if ( !is_array($custom_fields) ) $custom_fields = array();
448                        foreach ( $custom_fields as $k => $v ) {
449                                if ( !empty($v["show_on_registration"]) ) {
450!                                 if ( !empty($v["required_field_key"])) {
451!                                   $key = $v["required_field_key"];
452!                                   $key_id = $key;
453!                                 } else {
454!                                   $key = $this->sanitizeText($v["custom_field_name"]);
455!                                   $key_id = "$key-p";
456!                                 }
457                                        if ( isset($_GET[$key]) ) $_POST[$key] = $_GET[$key];
458                                        switch ( $v["custom_field_type"] ) {
459                                                case "text":
460!                                                       echo "\n<p id='$key_id'><label id='$key-label'>";
461                                                        if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
462!                                                       echo stripslashes($v["custom_field_name"]), "<input type='text' name='$key' id='$key' class='input' value='", $_POST[$key], "' size='25' ";
463                                                        if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
464                                                        echo "/></label></p>";
465                                                        $tabindex++;
466                                                        break;
467                                                case "select":
468!                                                       echo "\n<p id='$key_id'><label id='$key-label'>";
469                                                        if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
470!                                                       echo stripslashes($v["custom_field_name"]);
471                                                        echo "\n<select name='$key' id='$key'";
472                                                        if ( !empty($options["starting_tabindex"]) ) echo " tabindex='$tabindex'";
473                                                        echo ">";
474***************
475*** 1638,1646 ****
476                                                        echo "\n</label></p>";
477                                                        break;
478                                                case "checkbox":
479!                                                       echo "\n<p id='$key-p' style='margin-bottom:16px;'><label id='$key-label'>";
480                                                        if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
481!                                                       echo stripslashes($v["custom_field_name"]), "</label><br />";
482                                                        $custom_field_options = explode(",", $v["custom_field_options"]);
483                                                        foreach ( $custom_field_options as $custom_field_option ) {
484                                                                $option = $this->sanitizeText($custom_field_option);
485--- 1556,1564 ----
486                                                        echo "\n</label></p>";
487                                                        break;
488                                                case "checkbox":
489!                                                       echo "\n<p id='$key_id' style='margin-bottom:16px;'><label id='$key-label'>";
490                                                        if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
491!                                                       echo stripslashes($v["custom_field_name"]), "</label>";
492                                                        $custom_field_options = explode(",", $v["custom_field_options"]);
493                                                        foreach ( $custom_field_options as $custom_field_option ) {
494                                                                $option = $this->sanitizeText($custom_field_option);
495***************
496*** 1648,1693 ****
497                                                                if ( !empty($options["starting_tabindex"]) ) echo " tabindex='$tabindex'";
498                                                                if ( is_array($_POST[$key]) && in_array(stripslashes($custom_field_option), $_POST[$key]) ) echo " checked='checked'";
499                                                                if ( !is_array($_POST[$key]) && $_POST[$key] == stripslashes($custom_field_option) ) echo " checked='checked'";
500!                                                               echo " /><label id='$option-label' class='$key' for='$option'>&nbsp;", stripslashes($custom_field_option), "</label><br />";
501                                                                $tabindex++;
502                                                        }
503                                                        echo "\n</p>";
504                                                        break;
505                                                case "radio":
506!                                                       echo "\n<p id='$key-p' style='margin-bottom:16px;'><label id='$key-label'>";
507                                                        if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
508!                                                       echo stripslashes($v["custom_field_name"]), "</label><br />";
509                                                        $custom_field_options = explode(",", $v["custom_field_options"]);
510                                                        foreach ( $custom_field_options as $custom_field_option ) {
511                                                                $option = $this->sanitizeText($custom_field_option);
512                                                                echo "\n<input type='radio' name='$key' id='$option' value=\"", stripslashes($custom_field_option), "\"";
513                                                                if ( !empty($options["starting_tabindex"]) ) echo " tabindex='$tabindex'";
514                                                                if ( $_POST[$key] == stripslashes($custom_field_option) ) echo " checked='checked'";
515!                                                               echo " /><label id='$option-label' class='$key' for='$option'>&nbsp;", stripslashes($custom_field_option), "</label><br />";
516                                                                $tabindex++;
517                                                        }
518                                                        echo "\n</p>";
519                                                        break;
520                                                case "textarea":
521!                                                       echo "\n<p id='$key-p'><label id='$key-label'>";
522                                                        if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
523!                                                       echo stripslashes($v["custom_field_name"]), "<br /><textarea name='$key' id='$key' cols='25' rows='5'";
524                                                        if ( !empty($options["starting_tabindex"]) ) echo " tabindex='$tabindex'";
525                                                        echo ">", $_POST[$key], "</textarea></label></p>";
526                                                        $tabindex++;
527                                                        break;
528                                                case "date":
529!                                                       echo "\n<p id='$key-p'><label id='$key-label'>";
530                                                        if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
531!                                                       echo stripslashes($v["custom_field_name"]), "<br /><input type='text' name='$key' id='$key' class='datepicker' value='", $_POST[$key], "' size='25' ";
532                                                        if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
533                                                        echo " /></label></p>";
534                                                        $tabindex++;
535                                                        break;
536                                                case "url":
537!                                                       echo "\n<p id='$key-p'><label id='$key-label'>";
538                                                        if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
539!                                                       echo stripslashes($v["custom_field_name"]), "<br /><input type='text' name='$key' id='$key' class='input' value='", $_POST[$key], "' size='25' ";
540                                                        if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
541                                                        echo "/></label></p>";
542                                                        $tabindex++;
543--- 1566,1611 ----
544                                                                if ( !empty($options["starting_tabindex"]) ) echo " tabindex='$tabindex'";
545                                                                if ( is_array($_POST[$key]) && in_array(stripslashes($custom_field_option), $_POST[$key]) ) echo " checked='checked'";
546                                                                if ( !is_array($_POST[$key]) && $_POST[$key] == stripslashes($custom_field_option) ) echo " checked='checked'";
547!                                                               echo " /><label id='$option-label' class='$key' for='$option'>&nbsp;", stripslashes($custom_field_option), "</label>";
548                                                                $tabindex++;
549                                                        }
550                                                        echo "\n</p>";
551                                                        break;
552                                                case "radio":
553!                                                       echo "\n<p id='$key_id' style='margin-bottom:16px;'><label id='$key-label'>";
554                                                        if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
555!                                                       echo stripslashes($v["custom_field_name"]), "</label>";
556                                                        $custom_field_options = explode(",", $v["custom_field_options"]);
557                                                        foreach ( $custom_field_options as $custom_field_option ) {
558                                                                $option = $this->sanitizeText($custom_field_option);
559                                                                echo "\n<input type='radio' name='$key' id='$option' value=\"", stripslashes($custom_field_option), "\"";
560                                                                if ( !empty($options["starting_tabindex"]) ) echo " tabindex='$tabindex'";
561                                                                if ( $_POST[$key] == stripslashes($custom_field_option) ) echo " checked='checked'";
562!                                                               echo " /><label id='$option-label' class='$key' for='$option'>&nbsp;", stripslashes($custom_field_option), "</label>";
563                                                                $tabindex++;
564                                                        }
565                                                        echo "\n</p>";
566                                                        break;
567                                                case "textarea":
568!                                                       echo "\n<p id='$key_id'><label id='$key-label'>";
569                                                        if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
570!                                                       echo stripslashes($v["custom_field_name"]), "<textarea name='$key' id='$key' cols='25' rows='5'";
571                                                        if ( !empty($options["starting_tabindex"]) ) echo " tabindex='$tabindex'";
572                                                        echo ">", $_POST[$key], "</textarea></label></p>";
573                                                        $tabindex++;
574                                                        break;
575                                                case "date":
576!                                                       echo "\n<p id='$key_id'><label id='$key-label'>";
577                                                        if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
578!                                                       echo stripslashes($v["custom_field_name"]), "<input type='text' name='$key' id='$key' class='datepicker' value='", $_POST[$key], "' size='25' ";
579                                                        if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
580                                                        echo " /></label></p>";
581                                                        $tabindex++;
582                                                        break;
583                                                case "url":
584!                                                       echo "\n<p id='$key_id'><label id='$key-label'>";
585                                                        if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
586!                                                       echo stripslashes($v["custom_field_name"]), "<input type='text' name='$key' id='$key' class='input' value='", $_POST[$key], "' size='25' ";
587                                                        if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
588                                                        echo "/></label></p>";
589                                                        $tabindex++;
590***************
591*** 1698,1725 ****
592                                                        echo "/>";
593                                                        $tabindex++;
594                                                        break;
595                                        }
596                                }
597                        }
598!                       if ( !empty($options["user_set_password"]) ) {
599!                               if ( isset($_GET["password"]) ) $_POST["password"] = $_GET["password"];
600!                               echo "\n<p id='pass1-p'><label id='pass1-label'>";
601!                               if ( !empty($options["required_fields_asterisk"]) ) echo "*";
602!                               echo __("Password", "register-plus-redux"), "<br /><input type='password' autocomplete='off' name='pass1' id='pass1' value='", $_POST["password"], "' size='25' ";
603!                               if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
604!                               echo "/></label></p>";
605!                               $tabindex++;
606!                               echo "\n<p id='pass2-p'><label id='pass2-label'>";
607!                               if ( !empty($options["required_fields_asterisk"]) ) echo "*";
608!                               echo __("Confirm Password", "register-plus-redux"), "<br /><input type='password' autocomplete='off' name='pass2' id='pass2' value='", $_POST["password"], "' size='25' ";
609!                               if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
610!                               echo "/></label></p>";
611!                               $tabindex++;
612!                               if ( !empty($options["show_password_meter"]) ) {
613!                                       echo "\n<div id='pass-strength-result'>", stripslashes($options["message_empty_password"]), "</div>";
614!                                       echo "\n<small id='pass_strength_msg'>", sprintf(__("Your password must be at least %d characters long. To make your password stronger, use upper and lower case letters, numbers, and the following symbols !@#$%%^&amp;*()", "register-plus-redux"), $options["min_password_length"]), "</small>";
615!                               }
616!                       }
617                        if ( !empty($options["enable_invitation_code"]) ) {
618                                if ( isset($_GET["invitation_code"]) ) $_POST["invitation_code"] = $_GET["invitation_code"];
619                                echo "\n<p id='invitation_code-p'><label id='invitation_code-label'>";
620--- 1616,1651 ----
621                                                        echo "/>";
622                                                        $tabindex++;
623                                                        break;
624+                                               case "password":
625+                                                 if ( !empty($options["user_set_password"]) ) {
626+                                                   if ( isset($_GET["password"]) ) $_POST["password"] = $_GET["password"];
627+                                                   echo "\n<p id='pass1-p'><label id='pass1-label'>";
628+                                                   if ( !empty($options["required_fields_asterisk"]) ) echo "*";
629+                                                   echo __("Password", "register-plus-redux"), "<input type='password' autocomplete='off' name='pass1' id='pass1' value='", $_POST["password"], "' size='25' ";
630+                                                   if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
631+                                                   echo "/></label></p>";
632+                                                   $tabindex++;
633+                                                   echo "\n<p id='pass2-p'><label id='pass2-label'>";
634+                                                   if ( !empty($options["required_fields_asterisk"]) ) echo "*";
635+                                                   echo __("Confirm Password", "register-plus-redux"), "<input type='password' autocomplete='off' name='pass2' id='pass2' value='", $_POST["password"], "' size='25' ";
636+                                                   if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
637+                                                   echo "/></label></p>";
638+                                                   $tabindex++;
639+                                                   if ( !empty($options["show_password_meter"]) ) {
640+                                                     echo "\n<div id='pass-strength-result'>", stripslashes($options["message_empty_password"]), "</div>";
641+                                                     echo "\n<small id='pass_strength_msg'>", sprintf(__("Your password must be at least %d characters long. To make your password stronger, use upper and lower case letters, numbers, and the following symbols !@#$%%^&amp;*()", "register-plus-redux"), $options["min_password_length"]), "</small>";
642+                                                   }
643+                                                 }
644+                                                 break;
645+                                               case "sectiontitle":
646+                                                       echo "\n<h2>";
647+                                                       echo stripslashes($v["custom_field_name"]), "</h2>";
648+                                                       $tabindex++;
649+                                                       break;
650                                        }
651                                }
652                        }
653!
654                        if ( !empty($options["enable_invitation_code"]) ) {
655                                if ( isset($_GET["invitation_code"]) ) $_POST["invitation_code"] = $_GET["invitation_code"];
656                                echo "\n<p id='invitation_code-p'><label id='invitation_code-label'>";
657***************
658*** 1796,1806 ****
659                                        $errors->add("empty_first_name", __("<strong>ERROR</strong>: Please enter your first name.", "register-plus-redux"));
660                                }
661                        }
662!                       if ( in_array("last_name", $options["show_fields"]) && in_array("last_name", $options["required_fields"]) ) {
663                                if ( empty($_POST["last_name"]) ) {
664                                        $errors->add("empty_last_name", __("<strong>ERROR</strong>: Please enter your last name.", "register-plus-redux"));
665                                }
666!                       }
667                        if ( in_array("user_url", $options["show_fields"]) && in_array("user_url", $options["required_fields"]) ) {
668                                if ( empty($_POST["url"]) ) {
669                                        $errors->add("empty_user_url", __("<strong>ERROR</strong>: Please enter your website URL.", "register-plus-redux"));
670--- 1722,1732 ----
671                                        $errors->add("empty_first_name", __("<strong>ERROR</strong>: Please enter your first name.", "register-plus-redux"));
672                                }
673                        }
674!                       /*                      if ( in_array("last_name", $options["show_fields"]) && in_array("last_name", $options["required_fields"]) ) {
675                                if ( empty($_POST["last_name"]) ) {
676                                        $errors->add("empty_last_name", __("<strong>ERROR</strong>: Please enter your last name.", "register-plus-redux"));
677                                }
678!                               }*/
679                        if ( in_array("user_url", $options["show_fields"]) && in_array("user_url", $options["required_fields"]) ) {
680                                if ( empty($_POST["url"]) ) {
681                                        $errors->add("empty_user_url", __("<strong>ERROR</strong>: Please enter your website URL.", "register-plus-redux"));
682***************
683*** 1811,1819 ****
684                                        $errors->add("empty_aim", __("<strong>ERROR</strong>: Please enter your AIM username.", "register-plus-redux"));
685                                }
686                        }
687!                       if ( in_array("yahoo", $options["show_fields"]) && in_array("yahoo", $options["required_fields"]) ) {
688!                               if ( empty($_POST["yahoo"]) ) {
689!                                       $errors->add("empty_yahoo", __("<strong>ERROR</strong>: Please enter your Yahoo IM username.", "register-plus-redux"));
690                                }
691                        }
692                        if ( in_array("jabber", $options["show_fields"]) && in_array("jabber", $options["required_fields"]) ) {
693--- 1737,1745 ----
694                                        $errors->add("empty_aim", __("<strong>ERROR</strong>: Please enter your AIM username.", "register-plus-redux"));
695                                }
696                        }
697!                       if ( in_array("yim", $options["show_fields"]) && in_array("yim", $options["required_fields"]) ) {
698!                               if ( empty($_POST["yim"]) ) {
699!                                       $errors->add("empty_yim", __("<strong>ERROR</strong>: Please enter your Yahoo IM username.", "register-plus-redux"));
700                                }
701                        }
702                        if ( in_array("jabber", $options["show_fields"]) && in_array("jabber", $options["required_fields"]) ) {
703***************
704*** 1826,1836 ****
705                                        $errors->add("empty_about", __("<strong>ERROR</strong>: Please enter some information about yourself.", "register-plus-redux"));
706                                }
707                        }
708!                       $custom_fields = get_option("register_plus_redux_custom_fields");
709                        if ( !is_array($custom_fields) ) $custom_fields = array();
710                        foreach ( $custom_fields as $k => $v ) {
711                                if ( !empty($v["show_on_registration"]) && !empty($v["required_on_registration"]) ) {
712!                                       $key = $this->sanitizeText($v["custom_field_name"]);
713                                        if ( empty($_POST[$key]) ) {
714                                                $errors->add("empty_$key", sprintf(__("<strong>ERROR</strong>: Please complete %s.", "register-plus-redux"), $v["custom_field_name"]));
715                                        }
716--- 1752,1766 ----
717                                        $errors->add("empty_about", __("<strong>ERROR</strong>: Please enter some information about yourself.", "register-plus-redux"));
718                                }
719                        }
720!                       $custom_fields = get_option("register_plus_redux_fields");
721                        if ( !is_array($custom_fields) ) $custom_fields = array();
722                        foreach ( $custom_fields as $k => $v ) {
723                                if ( !empty($v["show_on_registration"]) && !empty($v["required_on_registration"]) ) {
724!                                 if ( !empty($v["required_field_key"])) {
725!                                   $key = $v["required_field_key"];
726!                                 } else {
727!                                   $key = $this->sanitizeText($v["custom_field_name"]);
728!                                 }
729                                        if ( empty($_POST[$key]) ) {
730                                                $errors->add("empty_$key", sprintf(__("<strong>ERROR</strong>: Please complete %s.", "register-plus-redux"), $v["custom_field_name"]));
731                                        }
732***************
733*** 1881,1886 ****
734--- 1811,1951 ----
735                        }
736                }
737 
738+               function AlterProfileForm( $profileuser ) {
739+                 $profileuser = $profileuser->data;
740+                 $options = get_option("register_plus_redux_options");
741+                 if ( !empty($options["starting_tabindex"]) ) $tabindex = $options["starting_tabindex"];
742+                       if ( !is_array($options["profile_fields"]) ) $options["profile_fields"] = array();
743+                       $custom_fields = get_option("register_plus_redux_fields");
744+                       if ( !is_array($custom_fields) ) $custom_fields = array();
745+                       foreach ( $custom_fields as $k => $v ) {
746+                               if ( !empty($v["show_on_profile"]) ) {
747+                                 if( !empty($v["required_field_key"])) {
748+                                     $key = $v["required_field_key"];
749+                                     $key_id = $key;
750+                                 } else {
751+                                   $key = $this->sanitizeText($v["custom_field_name"]);
752+                                   $key_id = "$key-p";
753+                                 }
754+                                       if ( isset($_GET[$key]) ) $_POST[$key] = $_GET[$key];
755+                                       switch ( $v["custom_field_type"] ) {
756+                                               case "text":
757+                                                       echo "\n<p id='$key_id'><label id='$key-label'>";
758+                                                       if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
759+                                                       echo stripslashes($v["custom_field_name"]), "<input type='text' name='" , (empty($v["profile_field_key"])) ? $key : $v["profile_field_key"] , "' id='" , (empty($v["profile_field_key"])) ? $key : $v["profile_field_key"] , "' class='input' value='", $profileuser->$key, "' size='25' ";
760+                                                       if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
761+                                                       echo "/></label></p>";
762+                                                       $tabindex++;
763+                                                       break;
764+                                               case "select":
765+                                                       echo "\n<p id='$key_id'><label id='$key-label'>";
766+                                                       if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
767+                                                       echo stripslashes($v["custom_field_name"]);
768+                                                       echo "\n<select name='$key' id='$key'";
769+                                                       if ( !empty($options["starting_tabindex"]) ) echo " tabindex='$tabindex'";
770+                                                       echo ">";
771+                                                       $tabindex++;
772+                                                       $custom_field_options = explode(",", $v["custom_field_options"]);
773+                                                       foreach ( $custom_field_options as $custom_field_option ) {
774+                                                               $option = $this->sanitizeText($custom_field_option);
775+                                                               echo "<option id='$option' value=\"", stripslashes($custom_field_option), "\"";
776+                                                               if ( $profileuser->$key == stripslashes($custom_field_option) ) echo " selected='selected'";
777+                                                               echo ">", stripslashes($custom_field_option), "</option>";
778+                                                       }
779+                                                       echo "</select>";
780+                                                       echo "\n</label></p>";
781+                                                       break;
782+                                               case "checkbox":
783+                                                       echo "\n<p id='$key_id' style='margin-bottom:16px;'><label id='$key-label'>";
784+                                                       if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
785+                                                       echo stripslashes($v["custom_field_name"]), "</label>";
786+                                                       $custom_field_options = explode(",", $v["custom_field_options"]);
787+                                                       foreach ( $custom_field_options as $custom_field_option ) {
788+                                                               $option = $this->sanitizeText($custom_field_option);
789+                                                               echo "\n<input type='checkbox' name='", $key, "[]' id='$option' value=\"", stripslashes($custom_field_option), "\"";
790+                                                               if ( !empty($options["starting_tabindex"]) ) echo " tabindex='$tabindex'";
791+                                                               if ( is_array($profileuser->$key) && in_array(stripslashes($custom_field_option), $profileuser->$key) ) echo " checked='checked'";
792+                                                               if ( !is_array($profileuser->$key) && $profileuser->$key == stripslashes($custom_field_option) ) echo " checked='checked'";
793+                                                               echo " /><label id='$option-label' class='$key' for='$option'>&nbsp;", stripslashes($custom_field_option), "</label>";
794+                                                               $tabindex++;
795+                                                       }
796+                                                       echo "\n</p>";
797+                                                       break;
798+                                               case "radio":
799+                                                       echo "\n<p id='$key_id' style='margin-bottom:16px;'><label id='$key-label'>";
800+                                                       if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
801+                                                       echo stripslashes($v["custom_field_name"]), "</label>";
802+                                                       $custom_field_options = explode(",", $v["custom_field_options"]);
803+                                                       foreach ( $custom_field_options as $custom_field_option ) {
804+                                                               $option = $this->sanitizeText($custom_field_option);
805+                                                               echo "\n<input type='radio' name='$key' id='$option' value=\"", stripslashes($custom_field_option), "\"";
806+                                                               if ( !empty($options["starting_tabindex"]) ) echo " tabindex='$tabindex'";
807+                                                               if ( $profileuser->$key == stripslashes($custom_field_option) ) echo " checked='checked'";
808+                                                               echo " /><label id='$option-label' class='$key' for='$option'>&nbsp;", stripslashes($custom_field_option), "</label>";
809+                                                               $tabindex++;
810+                                                       }
811+                                                       echo "\n</p>";
812+                                                       break;
813+                                               case "textarea":
814+                                                       echo "\n<p id='$key_id'><label id='$key-label'>";
815+                                                       if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
816+                                                       echo stripslashes($v["custom_field_name"]), "<textarea name='" , (empty($v["profile_field_key"])) ? $key : $v["profile_field_key"] , "' id='" , (empty($v["profile_field_key"])) ? $key : $v["profile_field_key"] , "' cols='25' rows='5'";
817+                                                       if ( !empty($options["starting_tabindex"]) ) echo " tabindex='$tabindex'";
818+                                                       echo ">", $profileuser->$key, "</textarea></label></p>";
819+                                                       $tabindex++;
820+                                                       break;
821+                                               case "date":
822+                                                       echo "\n<p id='$key_id'><label id='$key-label'>";
823+                                                       if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
824+                                                       echo stripslashes($v["custom_field_name"]), "<input type='text' name='$key' id='$key' class='datepicker' value='", $profileuser->$key, "' size='25' ";
825+                                                       if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
826+                                                       echo " /></label></p>";
827+                                                       $tabindex++;
828+                                                       break;
829+                                               case "url":
830+                                                       echo "\n<p id='$key_id'><label id='$key-label'>";
831+                                                       if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
832+                                                       echo stripslashes($v["custom_field_name"]), "<input type='text' name='$key' id='$key' class='input' value='", $profileuser->$key, "' size='25' ";
833+                                                       if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
834+                                                       echo "/></label></p>";
835+                                                       $tabindex++;
836+                                                       break;
837+                                               case "hidden":
838+                                                       echo "\n<input type='hidden' name='$key' id='$key' value='", $profileuser->$key, "' ";
839+                                                       if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
840+                                                       echo "/>";
841+                                                       $tabindex++;
842+                                                       break;
843+                                               case "password":
844+                                                 if ( !empty($options["user_set_password"]) ) {
845+                                                   echo "\n<p id='pass1-p'><label id='pass1-label'>";
846+                                                   echo __("Password", "register-plus-redux"), "<input type='password' autocomplete='off' name='pass1' id='pass1' value='' size='25' ";
847+                                                   if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
848+                                                   echo "/></label></p>";
849+                                                   $tabindex++;
850+                                                   echo "\n<p id='pass2-p'><label id='pass2-label'>";
851+                                                   echo __("Confirm Password", "register-plus-redux"), "<input type='password' autocomplete='off' name='pass2' id='pass2' value='' size='25' ";
852+                                                   if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
853+                                                   echo "/></label></p>";
854+                                                   $tabindex++;
855+                                                   if ( !empty($options["show_password_meter"]) ) {
856+                                                     echo "\n<div id='pass-strength-result'>", stripslashes($options["message_empty_password"]), "</div>";
857+                                                     echo "\n<small id='pass_strength_msg'>", sprintf(__("Your password must be at least %d characters long. To make your password stronger, use upper and lower case letters, numbers, and the following symbols !@#$%%^&amp;*()", "register-plus-redux"), $options["min_password_length"]), "</small>";
858+                                                   }
859+                                                 }
860+                                                 break;
861+                                               case "sectiontitle":
862+                                                       echo "\n<h2>";
863+                                                       echo stripslashes($v["custom_field_name"]), "</h2>";
864+                                                       $tabindex++;
865+                                                       break;
866+                                       }
867+                               }
868+                       }
869+
870+
871+               }
872+
873                function AlterLoginForm() {
874                        $options = get_option("register_plus_redux_options");
875                        if ( isset($_GET["verification_code"]) ) {
876***************
877*** 1915,1921 ****
878                function DatepickerHead() {
879                        //global $pagenow;
880                        //echo $pagenow;
881!                       $custom_fields = get_option("register_plus_redux_custom_fields");
882                        if ( !is_array($custom_fields) ) $custom_fields = array();
883                        foreach ( $custom_fields as $k => $v ) {
884                                if ( !empty($v["show_on_profile"]) ) {
885--- 1980,1986 ----
886                function DatepickerHead() {
887                        //global $pagenow;
888                        //echo $pagenow;
889!                       $custom_fields = get_option("register_plus_redux_fields");
890                        if ( !is_array($custom_fields) ) $custom_fields = array();
891                        foreach ( $custom_fields as $k => $v ) {
892                                if ( !empty($v["show_on_profile"]) ) {
893***************
894*** 1941,1947 ****
895                }
896 
897                function ShowCustomFields( $profileuser ) {
898!                       $custom_fields = get_option("register_plus_redux_custom_fields");
899                       
900                        if ( !empty($profileuser->invitation_code) || is_array($custom_fields) ) {
901                                echo "<h3>", __("Additional Information", "register-plus-redux"), "</h3>";
902--- 2006,2012 ----
903                }
904 
905                function ShowCustomFields( $profileuser ) {
906!                       $custom_fields = get_option("register_plus_redux_fields");
907                       
908                        if ( !empty($profileuser->invitation_code) || is_array($custom_fields) ) {
909                                echo "<h3>", __("Additional Information", "register-plus-redux"), "</h3>";
910***************
911*** 2019,2025 ****
912 
913                function SaveCustomFields( $user_id ) {
914                        global $wpdb;
915!                       $custom_fields = get_option("register_plus_redux_custom_fields");
916                        if ( !is_array($custom_fields) ) $custom_fields = array();
917                        foreach ( $custom_fields as $k => $v ) {
918                                if ( !empty($v["show_on_profile"]) ) {
919--- 2084,2090 ----
920 
921                function SaveCustomFields( $user_id ) {
922                        global $wpdb;
923!                       $custom_fields = get_option("register_plus_redux_fields");
924                        if ( !is_array($custom_fields) ) $custom_fields = array();
925                        foreach ( $custom_fields as $k => $v ) {
926                                if ( !empty($v["show_on_profile"]) ) {
927***************
928*** 2130,2135 ****
929--- 2195,2219 ----
930                                return $default;
931                }
932 
933+               function defaultFields( $key = '' )
934+               {
935+                 $default = array(
936+                                  array("custom_field_name" => "First Name","custom_field_type" => "text","custom_field_options" => "","show_on_profile" => "","show_on_registration" => "","required_on_registration" => "","required_field" => 1,"required_field_key" => "first_name"),
937+                                  array("custom_field_name" => "Last Name","custom_field_type" => "text","custom_field_options" => "","show_on_profile" => "","show_on_registration" => "","required_on_registration" => "","required_field" => 1,"required_field_key" => "last_name"),
938+                                  array("custom_field_name" => "Website","custom_field_type" => "text","custom_field_options" => "","show_on_profile" => "","show_on_registration" => "","required_on_registration" => "","required_field" => 1,"required_field_key" => "url","profile_field_key" => "user_url"),
939+                                  array("custom_field_name" => "AIM","custom_field_type" => "text","custom_field_options" => "","show_on_profile" => "","show_on_registration" => "","required_on_registration" => "","required_field" => 1,"required_field_key" => "aim"),
940+                                  array("custom_field_name" => "Yahoo IM","custom_field_type" => "text","custom_field_options" => "","show_on_profile" => "","show_on_registration" => "","required_on_registration" => "","required_field" => 1,"required_field_key" => "yim"),
941+                                  array("custom_field_name" => "Jabber / Google Talk","custom_field_type" => "text","custom_field_options" => "","show_on_profile" => "","show_on_registration" => "","required_on_registration" => "","required_field" => 1,"required_field_key" => "jabber"),
942+                                  array("custom_field_name" => "About Yourself","custom_field_type" => "textarea","custom_field_options" => "","show_on_profile" => "","show_on_registration" => "","required_on_registration" => "","required_field" => 1,"required_field_key" => "description", "profile_field_key" => "description"),
943+                                  array("custom_field_name" => "E-mail","custom_field_type" => "text","custom_field_options" => "","show_on_profile" => "","show_on_registration" => "","required_on_registration" => "","required_field" => 1,"required_field_key" => "user_email","profile_field_key" => "email"),
944+                                  array("custom_field_name" => "Username","custom_field_type" => "text","custom_field_options" => "","show_on_profile" => "","show_on_registration" => "","required_on_registration" => "","required_field" => 1,"required_field_key" => "user_login")
945+                                  );
946+                 if ( !empty($key) )
947+                   return $default[$key];
948+                 else
949+                   return $default;
950+               }
951+
952                function sendVerificationMessage ( $user_id ) {
953                        $user_info = get_userdata($user_id);
954                        $options = get_option("register_plus_redux_options");
955***************
956*** 2223,2233 ****
957                        $message = str_replace("%last_name%", stripslashes(get_user_meta($user_info->ID, "last_name", true)), $message);
958                        $message = str_replace("%user_url%", get_user_meta($user_info->ID, "user_url", true), $message);
959                        $message = str_replace("%aim%", get_user_meta($user_info->ID, "aim", true), $message);
960!                       $message = str_replace("%yahoo%", get_user_meta($user_info->ID, "yahoo", true), $message);
961                        $message = str_replace("%jabber%", get_user_meta($user_info->ID, "jabber", true), $message);
962                        $message = str_replace("%about%", stripslashes(get_user_meta($user_info->ID, "about", true)), $message);
963                        $message = str_replace("%invitation_code%", get_user_meta($user_info->ID, "invitation_code", true), $message);
964!                       $custom_fields = get_option("register_plus_redux_custom_fields");
965                        if ( !is_array($custom_fields) ) $custom_fields = array();
966                        foreach ( $custom_fields as $k => $v ) {
967                                $key = $this->sanitizeText($v["custom_field_name"]);
968--- 2307,2317 ----
969                        $message = str_replace("%last_name%", stripslashes(get_user_meta($user_info->ID, "last_name", true)), $message);
970                        $message = str_replace("%user_url%", get_user_meta($user_info->ID, "user_url", true), $message);
971                        $message = str_replace("%aim%", get_user_meta($user_info->ID, "aim", true), $message);
972!                       $message = str_replace("%yim%", get_user_meta($user_info->ID, "yim", true), $message);
973                        $message = str_replace("%jabber%", get_user_meta($user_info->ID, "jabber", true), $message);
974                        $message = str_replace("%about%", stripslashes(get_user_meta($user_info->ID, "about", true)), $message);
975                        $message = str_replace("%invitation_code%", get_user_meta($user_info->ID, "invitation_code", true), $message);
976!                       $custom_fields = get_option("register_plus_redux_fields");
977                        if ( !is_array($custom_fields) ) $custom_fields = array();
978                        foreach ( $custom_fields as $k => $v ) {
979                                $key = $this->sanitizeText($v["custom_field_name"]);
980***************
981*** 2343,2352 ****
982                        wp_update_user(array("ID" => $user_id, "user_url" => $wpdb->prepare($user_url)));
983                }
984                if ( in_array("aim", $options["show_fields"]) && !empty($_POST["aim"]) ) update_user_meta($user_id, "aim", $wpdb->prepare($_POST["aim"]));
985!               if ( in_array("yahoo", $options["show_fields"]) && !empty($_POST["yahoo"]) ) update_user_meta($user_id, "yim", $wpdb->prepare($_POST["yahoo"]));
986                if ( in_array("jabber", $options["show_fields"]) && !empty($_POST["jabber"]) ) update_user_meta($user_id, "jabber", $wpdb->prepare($_POST["jabber"]));
987                if ( in_array("about", $options["show_fields"]) && !empty($_POST["about"]) ) update_user_meta($user_id, "description", $wpdb->prepare($_POST["about"]));
988!               $custom_fields = get_option("register_plus_redux_custom_fields");
989                if ( !is_array($custom_fields) ) $custom_fields = array();
990                foreach ( $custom_fields as $k => $v ) {
991                        $key = $registerPlusRedux->sanitizeText($v["custom_field_name"]);
992--- 2427,2436 ----
993                        wp_update_user(array("ID" => $user_id, "user_url" => $wpdb->prepare($user_url)));
994                }
995                if ( in_array("aim", $options["show_fields"]) && !empty($_POST["aim"]) ) update_user_meta($user_id, "aim", $wpdb->prepare($_POST["aim"]));
996!               if ( in_array("yim", $options["show_fields"]) && !empty($_POST["yim"]) ) update_user_meta($user_id, "yim", $wpdb->prepare($_POST["yim"]));
997                if ( in_array("jabber", $options["show_fields"]) && !empty($_POST["jabber"]) ) update_user_meta($user_id, "jabber", $wpdb->prepare($_POST["jabber"]));
998                if ( in_array("about", $options["show_fields"]) && !empty($_POST["about"]) ) update_user_meta($user_id, "description", $wpdb->prepare($_POST["about"]));
999!               $custom_fields = get_option("register_plus_redux_fields");
1000                if ( !is_array($custom_fields) ) $custom_fields = array();
1001                foreach ( $custom_fields as $k => $v ) {
1002                        $key = $registerPlusRedux->sanitizeText($v["custom_field_name"]);