WordPress.org

Plugin Directory

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

File register-plus-redux.php.5.patch, 55.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-11 10:25:42.000000000 +0100
3***************
4*** 81,86 ****
5--- 81,102 ----
6                                }
7                                if ( !empty($update) ) update_option("register_plus_redux_options", $options);
8                        }
9+                       $default = $this->defaultFields();
10+                       if ( !get_option("register_plus_redux_fields") ) {
11+                         //Check if fields exist, add defaults if necessary
12+                         add_option("register_plus_redux_fields", $default);
13+                       } else {
14+                         //Check settings for new fields, add as necessary
15+                         $options = get_option("register_plus_redux_fields");
16+                         for ($row = 0; $row < count($default); $row++) {
17+                           foreach ( $default[$row] as $k => $v ) {
18+                             if ( !isset($options[$k] ) ) {
19+                               $options[$k] = $v;
20+                               $update = true;
21+                             }
22+                           }
23+                         }
24+                       }
25                }
26 
27                function DeleteExpiredUsers() {
28***************
29*** 179,184 ****
30--- 195,202 ----
31                                                                .append("<option value=\"date\"><?php esc_attr_e("Date Field", "register-plus-redux"); ?></option>")
32                                                                .append("<option value=\"url\"><?php esc_attr_e("URL Field", "register-plus-redux"); ?></option>")
33                                                                .append("<option value=\"hidden\"><?php esc_attr_e("Hidden Field", "register-plus-redux"); ?></option>")
34+                                                               .append("<option value=\"password\"><?php esc_attr_e("Password Field", "register-plus-redux"); ?></option>")
35+                                                               .append("<option value=\"sectiontitle\"><?php esc_attr_e("Section Title", "register-plus-redux"); ?></option>")
36                                                        )
37                                                )
38                                                .append(jQuery("<td>")
39***************
40*** 405,411 ****
41                                });
42 
43                                jQuery(".enableDisableOptions").live("change", function() {
44!                                       if ( jQuery(this).val() == "select" || jQuery(this).val() == "checkbox" || jQuery(this).val() == "radio" )
45                                                jQuery(this).parent().next().find("input").removeAttr("readonly");
46                                        else
47                                                jQuery(this).parent().next().find("input").attr("readonly", "readonly");
48--- 423,429 ----
49                                });
50 
51                                jQuery(".enableDisableOptions").live("change", function() {
52!                                       if ( jQuery(this).val() == "select" || jQuery(this).val() == "checkbox" || jQuery(this).val() == "radio")
53                                                jQuery(this).parent().next().find("input").removeAttr("readonly");
54                                        else
55                                                jQuery(this).parent().next().find("input").attr("readonly", "readonly");
56***************
57*** 508,564 ****
58                                                <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>
59                                        </tr>
60                                        <tr valign="top">
61-                                               <th scope="row"><?php _e("Profile Fields", "register-plus-redux"); ?></th>
62-                                               <td>
63-                                                       <table>
64-                                                               <thead valign="top">
65-                                                                       <td style="padding-top: 0px; padding-bottom: 0px; padding-left: 0px;"></td>
66-                                                                       <td align="center" style="padding-top: 0px; padding-bottom: 0px;"><?php _e("Show", "register-plus-redux"); ?></td>
67-                                                                       <td align="center" style="padding-top: 0px; padding-bottom: 0px;"><?php _e("Require", "register-plus-redux"); ?></td>
68-                                                               </thead>
69-                                                               <tbody>
70-                                                                       <?php if ( !is_array($options["show_fields"]) ) $options["show_fields"] = array(); ?>
71-                                                                       <?php if ( !is_array($options["required_fields"]) ) $options["required_fields"] = array(); ?>
72-                                                                       <tr valign="center">
73-                                                                               <td style="padding-top: 0px; padding-bottom: 0px; padding-left: 0px;"><?php _e("First Name", "register-plus-redux"); ?></td>
74-                                                                               <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>
75-                                                                               <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>
76-                                                                       </tr>
77-                                                                       <tr valign="center">
78-                                                                               <td style="padding-top: 0px; padding-bottom: 0px; padding-left: 0px;"><?php _e("Last Name", "register-plus-redux"); ?></td>
79-                                                                               <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>
80-                                                                               <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>
81-                                                                       </tr>
82-                                                                       <tr valign="center">
83-                                                                               <td style="padding-top: 0px; padding-bottom: 0px; padding-left: 0px;"><?php _e("Website", "register-plus-redux"); ?></td>
84-                                                                               <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>
85-                                                                               <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>
86-                                                                       </tr>
87-                                                                       <tr valign="center">
88-                                                                               <td style="padding-top: 0px; padding-bottom: 0px; padding-left: 0px;"><?php _e("AIM", "register-plus-redux"); ?></td>
89-                                                                               <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>
90-                                                                               <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>
91-                                                                       </tr>
92-                                                                       <tr valign="center">
93-                                                                               <td style="padding-top: 0px; padding-bottom: 0px; padding-left: 0px;"><?php _e("Yahoo IM", "register-plus-redux"); ?></td>
94-                                                                               <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>
95-                                                                               <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>
96-                                                                       </tr>
97-                                                                       <tr valign="center">
98-                                                                               <td style="padding-top: 0px; padding-bottom: 0px; padding-left: 0px;"><?php _e("Jabber / Google Talk", "register-plus-redux"); ?></td>
99-                                                                               <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>
100-                                                                               <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>
101-                                                                       </tr>
102-                                                                       <tr valign="center">
103-                                                                               <td style="padding-top: 0px; padding-bottom: 0px; padding-left: 0px;"><?php _e("About Yourself", "register-plus-redux"); ?></td>
104-                                                                               <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>
105-                                                                               <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>
106-                                                                       </tr>
107-                                                               </tbody>
108-                                                       </table>
109-                                               </td>
110-                                       </tr>
111-                                       <tr valign="top">
112                                                <th scope="row"><?php _e("User Set Password", "register-plus-redux"); ?></th>
113                                                <td>
114                                                        <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 />
115--- 526,531 ----
116***************
117*** 732,739 ****
118                                                </td>
119                                        </tr>
120                                </table>
121!                               <h3 class="title"><?php _e("Additional Fields", "register-plus-redux"); ?></h3>
122!                               <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>
123                                <table id="custom_fields" style="width: 80%;">
124                                        <thead valign="top">
125                                                <td style="padding-top: 0px; padding-bottom: 0px; padding-left: 0px;"><?php _e("Name", "register-plus-redux"); ?></td>
126--- 699,706 ----
127                                                </td>
128                                        </tr>
129                                </table>
130!                               <h3 class="title"><?php _e("Fields", "register-plus-redux"); ?></h3>
131!                               <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>
132                                <table id="custom_fields" style="width: 80%;">
133                                        <thead valign="top">
134                                                <td style="padding-top: 0px; padding-bottom: 0px; padding-left: 0px;"><?php _e("Name", "register-plus-redux"); ?></td>
135***************
136*** 745,758 ****
137                                                <td align="center" style="padding-top: 0px; padding-bottom: 0px;"><?php _e("Actions", "register-plus-redux"); ?></td>
138                                        </thead>
139                                        <tbody>
140!                                               <?php
141!                                               $custom_fields = get_option("register_plus_redux_custom_fields");
142                                                if ( !is_array($custom_fields) ) $custom_fields = array();
143                                                foreach ( $custom_fields as $k => $v ) {
144                                                        echo "\n<tr valign='center' class='custom_field'>";
145!                                                       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>";
146                                                        echo "\n        <td style='padding-top: 0px; padding-bottom: 0px;'>";
147!                                                       echo "\n                <select name='custom_field_type[$k]' class='enableDisableOptions' style='width: 100%;'>";
148                                                        echo "\n                        <option value='text'"; if ( $v["custom_field_type"] == "text" ) echo " selected='selected'"; echo ">", __("Text Field", "register-plus-redux"), "</option>";
149                                                        echo "\n                        <option value='select'"; if ( $v["custom_field_type"] == "select" ) echo " selected='selected'"; echo ">", __("Select Field", "register-plus-redux"), "</option>";
150                                                        echo "\n                        <option value='checkbox'"; if ( $v["custom_field_type"] == "checkbox" ) echo " selected='selected'"; echo ">", __("Checkbox Fields", "register-plus-redux"), "</option>";
151--- 712,728 ----
152                                                <td align="center" style="padding-top: 0px; padding-bottom: 0px;"><?php _e("Actions", "register-plus-redux"); ?></td>
153                                        </thead>
154                                        <tbody>
155! <?php
156!                                               $custom_fields = get_option("register_plus_redux_fields");
157                                                if ( !is_array($custom_fields) ) $custom_fields = array();
158+                                               ?>
159+
160+ <?php
161                                                foreach ( $custom_fields as $k => $v ) {
162                                                        echo "\n<tr valign='center' class='custom_field'>";
163!                                                       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>"; }
164                                                        echo "\n        <td style='padding-top: 0px; padding-bottom: 0px;'>";
165!                                                       echo "\n                <select name='custom_field_type[$k]' class='enableDisableOptions' style='width: 100%;'"; if ( $v["required_field"] == 1 ) echo 'disabled="disabled"'; echo ">";
166                                                        echo "\n                        <option value='text'"; if ( $v["custom_field_type"] == "text" ) echo " selected='selected'"; echo ">", __("Text Field", "register-plus-redux"), "</option>";
167                                                        echo "\n                        <option value='select'"; if ( $v["custom_field_type"] == "select" ) echo " selected='selected'"; echo ">", __("Select Field", "register-plus-redux"), "</option>";
168                                                        echo "\n                        <option value='checkbox'"; if ( $v["custom_field_type"] == "checkbox" ) echo " selected='selected'"; echo ">", __("Checkbox Fields", "register-plus-redux"), "</option>";
169***************
170*** 761,800 ****
171                                                        echo "\n                        <option value='date'"; if ( $v["custom_field_type"] == "date" ) echo " selected='selected'"; echo ">", __("Date Field", "register-plus-redux"), "</option>";
172                                                        echo "\n                        <option value='url'"; if ( $v["custom_field_type"] == "url" ) echo " selected='selected'"; echo ">", __("URL Field", "register-plus-redux"), "</option>";
173                                                        echo "\n                        <option value='hidden'"; if ( $v["custom_field_type"] == "hidden" ) echo " selected='selected'"; echo ">", __("Hidden Field", "register-plus-redux"), "</option>";
174                                                        echo "\n                </select>";
175                                                        echo "\n        </td>";
176!                                                       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>";
177                                                        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>";
178!                                                       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>";
179!                                                       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>";
180                                                        echo "\n        <td align='center' style='padding-top: 0px; padding-bottom: 0px;'>";
181!                                                       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;' />";
182!                                                       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;' />";
183!                                                       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;' />";
184!                                                       echo "\n        </td>";
185!                                                       echo "\n</tr>";
186!                                               }
187!                                               if ( empty($custom_fields) ) {
188!                                                       echo "\n<tr valign='center' class='custom_field'>";
189!                                                       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>";
190!                                                       echo "\n        <td style='padding-top: 0px; padding-bottom: 0px;'>";
191!                                                       echo "\n                <select name='custom_field_type[]' class='enableDisableOptions' style='width: 100%;'>";
192!                                                       echo "\n                        <option value='text'>", __("Text Field", "register-plus-redux"), "</option>";
193!                                                       echo "\n                        <option value='select'>", __("Select Field", "register-plus-redux"), "</option>";
194!                                                       echo "\n                        <option value='checkbox'>", __("Checkbox Fields", "register-plus-redux"), "</option>";
195!                                                       echo "\n                        <option value='radio'>", __("Radio Fields", "register-plus-redux"), "</option>";
196!                                                       echo "\n                        <option value='textarea'>", __("Text Area", "register-plus-redux"), "</option>";
197!                                                       echo "\n                        <option value='date'>", __("Date Field", "register-plus-redux"), "</option>";
198!                                                       echo "\n                        <option value='url'>", __("URL Field", "register-plus-redux"), "</option>";
199!                                                       echo "\n                        <option value='hidden'>", __("Hidden Field", "register-plus-redux"), "</option>";
200!                                                       echo "\n                </select>";
201!                                                       echo "\n        </td>";
202!                                                       echo "\n        <td style='padding-top: 0px; padding-bottom: 0px;'><input type='text' name='custom_field_options[]' value='' readonly='readonly' style='width: 100%;'/></td>";
203!                                                       echo "\n        <td align='center' style='padding-top: 0px; padding-bottom: 0px;'><input type='checkbox' name='show_on_profile[]' value='1' /></td>";
204!                                                       echo "\n        <td align='center' style='padding-top: 0px; padding-bottom: 0px;'><input type='checkbox' name='show_on_registration[]' value='1' class='modifyNextCellInput' /></td>";
205!                                                       echo "\n        <td align='center' style='padding-top: 0px; padding-bottom: 0px;'><input type='checkbox' name='required_on_registration[]' value='1' disabled='disabled' /></td>";
206                                                        echo "\n        <td align='center' style='padding-top: 0px; padding-bottom: 0px;'>";
207!                                                       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;' />";
208                                                        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;' />";
209                                                        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;' />";
210                                                        echo "\n        </td>";
211--- 731,752 ----
212                                                        echo "\n                        <option value='date'"; if ( $v["custom_field_type"] == "date" ) echo " selected='selected'"; echo ">", __("Date Field", "register-plus-redux"), "</option>";
213                                                        echo "\n                        <option value='url'"; if ( $v["custom_field_type"] == "url" ) echo " selected='selected'"; echo ">", __("URL Field", "register-plus-redux"), "</option>";
214                                                        echo "\n                        <option value='hidden'"; if ( $v["custom_field_type"] == "hidden" ) echo " selected='selected'"; echo ">", __("Hidden Field", "register-plus-redux"), "</option>";
215+                                                       echo "\n                        <option value='password'"; if ( $v["custom_field_type"] == "password" ) echo " selected='selected'"; echo ">", __("Password Field", "register-plus-redux"), "</option>";
216+                                                       echo "\n                        <option value='sectiontitle'"; if ( $v["custom_field_type"] == "sectiontitle" ) echo " selected='selected'"; echo ">", __("Section Title", "register-plus-redux"), "</option>";
217                                                        echo "\n                </select>";
218                                                        echo "\n        </td>";
219!                                                       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>";
220                                                        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>";
221!                                                       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>";
222                                                        echo "\n        <td align='center' style='padding-top: 0px; padding-bottom: 0px;'>";
223!                                                         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 " />";
224!                                                       echo "</td>";
225                                                        echo "\n        <td align='center' style='padding-top: 0px; padding-bottom: 0px;'>";
226!                                                       if ($v["required_field"] == 0) {
227!                                                         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;' />";
228!                                                       } else {
229!                                                         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;' />";
230!                                                       };
231                                                        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;' />";
232                                                        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;' />";
233                                                        echo "\n        </td>";
234***************
235*** 1083,1096 ****
236 
237                        if ( isset($_POST["custom_field_name"]) ) {
238                                foreach ( $_POST["custom_field_name"] as $k => $v ) {
239!                                       if ( !empty($v) ) {
240                                                $custom_fields[$k] = array(
241                                                        "custom_field_name" => $v,
242                                                        "custom_field_type" => isset($_POST["custom_field_type"][$k]) ? $_POST["custom_field_type"][$k] : "",
243                                                        "custom_field_options" => isset($_POST["custom_field_options"][$k]) ? $_POST["custom_field_options"][$k] : "",
244                                                        "show_on_profile" => isset($_POST["show_on_profile"][$k]) ? $_POST["show_on_profile"][$k] : "",
245                                                        "show_on_registration" => isset($_POST["show_on_registration"][$k]) ? $_POST["show_on_registration"][$k] : "",
246!                                                       "required_on_registration" => isset($_POST["required_on_registration"][$k]) ? $_POST["required_on_registration"][$k] : "");
247                                        }
248                                }
249                        }
250--- 1035,1058 ----
251 
252                        if ( isset($_POST["custom_field_name"]) ) {
253                                foreach ( $_POST["custom_field_name"] as $k => $v ) {
254!                                       if ( !empty($v) ) {
255!                                         $required_fields = array("First Name" => "first_name", "Last Name" => "last_name", "Website" => "url", "AIM" => "aim", "Yahoo IM" => "yahoo", "Jabber / Google Talk" => "jabber", "About Yourself" => "about", "E-mail" => "user_email", "Username" => "user_login");
256!                               $required_field = 0;
257!                               $required_field_key = "";
258!
259!                               if ( isset($required_fields["$v"])) {
260!                                 $required_field = 1;
261!                                 $required_field_key = $required_fields["$v"];
262!                               }
263                                                $custom_fields[$k] = array(
264                                                        "custom_field_name" => $v,
265                                                        "custom_field_type" => isset($_POST["custom_field_type"][$k]) ? $_POST["custom_field_type"][$k] : "",
266                                                        "custom_field_options" => isset($_POST["custom_field_options"][$k]) ? $_POST["custom_field_options"][$k] : "",
267                                                        "show_on_profile" => isset($_POST["show_on_profile"][$k]) ? $_POST["show_on_profile"][$k] : "",
268                                                        "show_on_registration" => isset($_POST["show_on_registration"][$k]) ? $_POST["show_on_registration"][$k] : "",
269!                                                       "required_on_registration" => isset($_POST["required_on_registration"][$k]) ? $_POST["required_on_registration"][$k] : "",
270!                                                       "required_field" => $required_field,
271!                                                       "required_field_key" => $required_field_key);
272                                        }
273                                }
274                        }
275***************
276*** 1135,1141 ****
277                        $options["disable_url_fopen"] = isset($_POST["disable_url_fopen"]) ? $_POST["disable_url_fopen"] : "";
278 
279                        update_option("register_plus_redux_options", $options);
280!                       update_option("register_plus_redux_custom_fields", $custom_fields);
281                }
282 
283                function UnverifiedUsersPage() {
284--- 1097,1103 ----
285                        $options["disable_url_fopen"] = isset($_POST["disable_url_fopen"]) ? $_POST["disable_url_fopen"] : "";
286 
287                        update_option("register_plus_redux_options", $options);
288!                       update_option("register_plus_redux_fields", $custom_fields);
289                }
290 
291                function UnverifiedUsersPage() {
292***************
293*** 1323,1329 ****
294                                <?php
295                        }
296                        if ( isset($_GET["action"]) && $_GET["action"] == "register" ) {
297!                               $custom_fields = get_option("register_plus_redux_custom_fields");
298                                if ( !is_array($custom_fields) ) $custom_fields = array();
299                                foreach ( $custom_fields as $k => $v ) {
300                                        if ( !empty($v["show_on_registration"]) ) {
301--- 1285,1291 ----
302                                <?php
303                        }
304                        if ( isset($_GET["action"]) && $_GET["action"] == "register" ) {
305!                               $custom_fields = get_option("register_plus_redux_fields");
306                                if ( !is_array($custom_fields) ) $custom_fields = array();
307                                foreach ( $custom_fields as $k => $v ) {
308                                        if ( !empty($v["show_on_registration"]) ) {
309***************
310*** 1539,1628 ****
311                                $tabindex++;
312                        }
313                        if ( !is_array($options["show_fields"]) ) $options["show_fields"] = array();
314!                       if ( in_array("first_name", $options["show_fields"]) ) {
315!                               if ( isset($_GET["first_name"]) ) $_POST["first_name"] = $_GET["first_name"];
316!                               echo "\n<p id='first_name-p'><label id='first_name-label'>";
317!                               if ( !empty($options["required_fields_asterisk"]) && in_array("first_name", $options["required_fields"]) ) echo "*";
318!                               echo __("First Name", "register-plus-redux"), "<br /><input type='text' name='first_name' id='first_name' class='input' value='", $_POST["first_name"],"' size='25' ";
319!                               if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
320!                               echo "/></label></p>";
321!                               $tabindex++;
322!                       }
323!                       if ( in_array("last_name", $options["show_fields"]) ) {
324!                               if ( isset($_GET["last_name"]) ) $_POST["last_name"] = $_GET["last_name"];
325!                               echo "\n<p id='last_name-p'><label id='last_name-label'>";
326!                               if ( !empty($options["required_fields_asterisk"]) && in_array("last_name", $options["required_fields"]) ) echo "*";
327!                               echo __("Last Name", "register-plus-redux"), "<br /><input type='text' name='last_name' id='last_name' class='input' value='", $_POST["last_name"], "' size='25' ";
328!                               if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
329!                               echo "/></label></p>";
330!                               $tabindex++;
331!                       }
332!                       if ( in_array("user_url", $options["show_fields"]) ) {
333!                               if ( isset($_GET["url"]) ) $_POST["url"] = $_GET["url"];
334!                               echo "\n<p id='user_url-p'><label id='user_url-label'>";
335!                               if ( !empty($options["required_fields_asterisk"]) && in_array("user_url", $options["required_fields"]) ) echo "*";
336!                               echo __("Website", "register-plus-redux"), "<br /><input type='text' name='url' id='user_url' class='input' value='", $_POST["url"], "' size='25' ";
337!                               if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
338!                               echo "/></label></p>";
339!                               $tabindex++;
340!                       }
341!                       if ( in_array("aim", $options["show_fields"]) ) {
342!                               if ( isset($_GET["aim"]) ) $_POST["aim"] = $_GET["aim"];
343!                               echo "\n<p id='aim-p'><label id='aim-label'>";
344!                               if ( !empty($options["required_fields_asterisk"]) && in_array("aim", $options["required_fields"]) ) echo "*";
345!                               echo __("AIM", "register-plus-redux"), "<br /><input type='text' name='aim' id='aim' class='input' value='", $_POST["aim"], "' size='25' ";
346!                               if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
347!                               echo "/></label></p>";
348!                               $tabindex++;
349!                       }
350!                       if ( in_array("yahoo", $options["show_fields"]) ) {
351!                               if ( isset($_GET["yahoo"]) ) $_POST["yahoo"] = $_GET["yahoo"];
352!                               echo "\n<p id='yahoo-p'><label id='yahoo-label'>";
353!                               if ( !empty($options["required_fields_asterisk"]) && in_array("yahoo", $options["required_fields"]) ) echo "*";
354!                               echo __("Yahoo IM", "register-plus-redux"), "<br /><input type='text' name='yahoo' id='yahoo' class='input' value='", $_POST["yahoo"], "' size='25' ";
355!                               if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
356!                               echo "/></label></p>";
357!                               $tabindex++;
358!                       }
359!                       if ( in_array("jabber", $options["show_fields"]) ) {
360!                               if ( isset($_GET["jabber"]) ) $_POST["jabber"] = $_GET["jabber"];
361!                               echo "\n<p id='jabber-p'><label id='jabber-label'>";
362!                               if ( !empty($options["required_fields_asterisk"]) && in_array("jabber", $options["required_fields"]) ) echo "*";
363!                               echo __("Jabber / Google Talk", "register-plus-redux"), "<br /><input type='text' name='jabber' id='jabber' class='input' value='", $_POST["jabber"], "' size='25' ";
364!                               if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
365!                               echo "/></label></p>";
366!                               $tabindex++;
367!                       }
368!                       if ( in_array("about", $options["show_fields"]) ) {
369!                               if ( isset($_GET["about"]) ) $_POST["about"] = $_GET["about"];
370!                               echo "\n<p id='about-p'><label id='about-label' for='about'>";
371!                               if ( !empty($options["required_fields_asterisk"]) && in_array("about", $options["required_fields"]) ) echo "*";
372!                               echo __("About Yourself", "register-plus-redux"), "</label><br />";
373!                               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 />";
374!                               echo "\n<textarea name='about' id='about' cols='25' rows='5'";
375!                               if ( !empty($options["starting_tabindex"]) ) echo " tabindex='$tabindex'";
376!                               echo ">", stripslashes($_POST["about"]), "</textarea></p>";
377!                               $tabindex++;
378!                       }
379!                       $custom_fields = get_option("register_plus_redux_custom_fields");
380                        if ( !is_array($custom_fields) ) $custom_fields = array();
381                        foreach ( $custom_fields as $k => $v ) {
382                                if ( !empty($v["show_on_registration"]) ) {
383!                                       $key = $this->sanitizeText($v["custom_field_name"]);
384                                        if ( isset($_GET[$key]) ) $_POST[$key] = $_GET[$key];
385                                        switch ( $v["custom_field_type"] ) {
386                                                case "text":
387!                                                       echo "\n<p id='$key-p'><label id='$key-label'>";
388                                                        if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
389!                                                       echo stripslashes($v["custom_field_name"]), "<br /><input type='text' name='$key' id='$key' class='input' value='", $_POST[$key], "' size='25' ";
390                                                        if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
391                                                        echo "/></label></p>";
392                                                        $tabindex++;
393                                                        break;
394                                                case "select":
395!                                                       echo "\n<p id='$key-p'><label id='$key-label'>";
396                                                        if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
397!                                                       echo stripslashes($v["custom_field_name"]), "<br />";
398                                                        echo "\n<select name='$key' id='$key'";
399                                                        if ( !empty($options["starting_tabindex"]) ) echo " tabindex='$tabindex'";
400                                                        echo ">";
401--- 1501,1531 ----
402                                $tabindex++;
403                        }
404                        if ( !is_array($options["show_fields"]) ) $options["show_fields"] = array();
405!                       $custom_fields = get_option("register_plus_redux_fields");
406                        if ( !is_array($custom_fields) ) $custom_fields = array();
407                        foreach ( $custom_fields as $k => $v ) {
408                                if ( !empty($v["show_on_registration"]) ) {
409!                                 if ( !empty($v["required_field_key"])) {
410!                                   $key = $v["required_field_key"];
411!                                   $key_id = $key;
412!                                 } else {
413!                                   $key = $this->sanitizeText($v["custom_field_name"]);
414!                                   $key_id = "$key-p";
415!                                 }
416                                        if ( isset($_GET[$key]) ) $_POST[$key] = $_GET[$key];
417                                        switch ( $v["custom_field_type"] ) {
418                                                case "text":
419!                                                       echo "\n<p id='$key_id'><label id='$key-label'>";
420                                                        if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
421!                                                       echo stripslashes($v["custom_field_name"]), "<input type='text' name='$key' id='$key' class='input' value='", $_POST[$key], "' size='25' ";
422                                                        if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
423                                                        echo "/></label></p>";
424                                                        $tabindex++;
425                                                        break;
426                                                case "select":
427!                                                       echo "\n<p id='$key_id'><label id='$key-label'>";
428                                                        if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
429!                                                       echo stripslashes($v["custom_field_name"]);
430                                                        echo "\n<select name='$key' id='$key'";
431                                                        if ( !empty($options["starting_tabindex"]) ) echo " tabindex='$tabindex'";
432                                                        echo ">";
433***************
434*** 1638,1646 ****
435                                                        echo "\n</label></p>";
436                                                        break;
437                                                case "checkbox":
438!                                                       echo "\n<p id='$key-p' style='margin-bottom:16px;'><label id='$key-label'>";
439                                                        if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
440!                                                       echo stripslashes($v["custom_field_name"]), "</label><br />";
441                                                        $custom_field_options = explode(",", $v["custom_field_options"]);
442                                                        foreach ( $custom_field_options as $custom_field_option ) {
443                                                                $option = $this->sanitizeText($custom_field_option);
444--- 1541,1549 ----
445                                                        echo "\n</label></p>";
446                                                        break;
447                                                case "checkbox":
448!                                                       echo "\n<p id='$key_id' style='margin-bottom:16px;'><label id='$key-label'>";
449                                                        if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
450!                                                       echo stripslashes($v["custom_field_name"]), "</label>";
451                                                        $custom_field_options = explode(",", $v["custom_field_options"]);
452                                                        foreach ( $custom_field_options as $custom_field_option ) {
453                                                                $option = $this->sanitizeText($custom_field_option);
454***************
455*** 1648,1693 ****
456                                                                if ( !empty($options["starting_tabindex"]) ) echo " tabindex='$tabindex'";
457                                                                if ( is_array($_POST[$key]) && in_array(stripslashes($custom_field_option), $_POST[$key]) ) echo " checked='checked'";
458                                                                if ( !is_array($_POST[$key]) && $_POST[$key] == stripslashes($custom_field_option) ) echo " checked='checked'";
459!                                                               echo " /><label id='$option-label' class='$key' for='$option'>&nbsp;", stripslashes($custom_field_option), "</label><br />";
460                                                                $tabindex++;
461                                                        }
462                                                        echo "\n</p>";
463                                                        break;
464                                                case "radio":
465!                                                       echo "\n<p id='$key-p' style='margin-bottom:16px;'><label id='$key-label'>";
466                                                        if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
467!                                                       echo stripslashes($v["custom_field_name"]), "</label><br />";
468                                                        $custom_field_options = explode(",", $v["custom_field_options"]);
469                                                        foreach ( $custom_field_options as $custom_field_option ) {
470                                                                $option = $this->sanitizeText($custom_field_option);
471                                                                echo "\n<input type='radio' name='$key' id='$option' value=\"", stripslashes($custom_field_option), "\"";
472                                                                if ( !empty($options["starting_tabindex"]) ) echo " tabindex='$tabindex'";
473                                                                if ( $_POST[$key] == stripslashes($custom_field_option) ) echo " checked='checked'";
474!                                                               echo " /><label id='$option-label' class='$key' for='$option'>&nbsp;", stripslashes($custom_field_option), "</label><br />";
475                                                                $tabindex++;
476                                                        }
477                                                        echo "\n</p>";
478                                                        break;
479                                                case "textarea":
480!                                                       echo "\n<p id='$key-p'><label id='$key-label'>";
481                                                        if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
482!                                                       echo stripslashes($v["custom_field_name"]), "<br /><textarea name='$key' id='$key' cols='25' rows='5'";
483                                                        if ( !empty($options["starting_tabindex"]) ) echo " tabindex='$tabindex'";
484                                                        echo ">", $_POST[$key], "</textarea></label></p>";
485                                                        $tabindex++;
486                                                        break;
487                                                case "date":
488!                                                       echo "\n<p id='$key-p'><label id='$key-label'>";
489                                                        if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
490!                                                       echo stripslashes($v["custom_field_name"]), "<br /><input type='text' name='$key' id='$key' class='datepicker' value='", $_POST[$key], "' size='25' ";
491                                                        if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
492                                                        echo " /></label></p>";
493                                                        $tabindex++;
494                                                        break;
495                                                case "url":
496!                                                       echo "\n<p id='$key-p'><label id='$key-label'>";
497                                                        if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
498!                                                       echo stripslashes($v["custom_field_name"]), "<br /><input type='text' name='$key' id='$key' class='input' value='", $_POST[$key], "' size='25' ";
499                                                        if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
500                                                        echo "/></label></p>";
501                                                        $tabindex++;
502--- 1551,1596 ----
503                                                                if ( !empty($options["starting_tabindex"]) ) echo " tabindex='$tabindex'";
504                                                                if ( is_array($_POST[$key]) && in_array(stripslashes($custom_field_option), $_POST[$key]) ) echo " checked='checked'";
505                                                                if ( !is_array($_POST[$key]) && $_POST[$key] == stripslashes($custom_field_option) ) echo " checked='checked'";
506!                                                               echo " /><label id='$option-label' class='$key' for='$option'>&nbsp;", stripslashes($custom_field_option), "</label>";
507                                                                $tabindex++;
508                                                        }
509                                                        echo "\n</p>";
510                                                        break;
511                                                case "radio":
512!                                                       echo "\n<p id='$key_id' style='margin-bottom:16px;'><label id='$key-label'>";
513                                                        if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
514!                                                       echo stripslashes($v["custom_field_name"]), "</label>";
515                                                        $custom_field_options = explode(",", $v["custom_field_options"]);
516                                                        foreach ( $custom_field_options as $custom_field_option ) {
517                                                                $option = $this->sanitizeText($custom_field_option);
518                                                                echo "\n<input type='radio' name='$key' id='$option' value=\"", stripslashes($custom_field_option), "\"";
519                                                                if ( !empty($options["starting_tabindex"]) ) echo " tabindex='$tabindex'";
520                                                                if ( $_POST[$key] == stripslashes($custom_field_option) ) echo " checked='checked'";
521!                                                               echo " /><label id='$option-label' class='$key' for='$option'>&nbsp;", stripslashes($custom_field_option), "</label>";
522                                                                $tabindex++;
523                                                        }
524                                                        echo "\n</p>";
525                                                        break;
526                                                case "textarea":
527!                                                       echo "\n<p id='$key_id'><label id='$key-label'>";
528                                                        if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
529!                                                       echo stripslashes($v["custom_field_name"]), "<textarea name='$key' id='$key' cols='25' rows='5'";
530                                                        if ( !empty($options["starting_tabindex"]) ) echo " tabindex='$tabindex'";
531                                                        echo ">", $_POST[$key], "</textarea></label></p>";
532                                                        $tabindex++;
533                                                        break;
534                                                case "date":
535!                                                       echo "\n<p id='$key_id'><label id='$key-label'>";
536                                                        if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
537!                                                       echo stripslashes($v["custom_field_name"]), "<input type='text' name='$key' id='$key' class='datepicker' value='", $_POST[$key], "' size='25' ";
538                                                        if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
539                                                        echo " /></label></p>";
540                                                        $tabindex++;
541                                                        break;
542                                                case "url":
543!                                                       echo "\n<p id='$key_id'><label id='$key-label'>";
544                                                        if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
545!                                                       echo stripslashes($v["custom_field_name"]), "<input type='text' name='$key' id='$key' class='input' value='", $_POST[$key], "' size='25' ";
546                                                        if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
547                                                        echo "/></label></p>";
548                                                        $tabindex++;
549***************
550*** 1698,1725 ****
551                                                        echo "/>";
552                                                        $tabindex++;
553                                                        break;
554                                        }
555                                }
556                        }
557!                       if ( !empty($options["user_set_password"]) ) {
558!                               if ( isset($_GET["password"]) ) $_POST["password"] = $_GET["password"];
559!                               echo "\n<p id='pass1-p'><label id='pass1-label'>";
560!                               if ( !empty($options["required_fields_asterisk"]) ) echo "*";
561!                               echo __("Password", "register-plus-redux"), "<br /><input type='password' autocomplete='off' name='pass1' id='pass1' value='", $_POST["password"], "' size='25' ";
562!                               if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
563!                               echo "/></label></p>";
564!                               $tabindex++;
565!                               echo "\n<p id='pass2-p'><label id='pass2-label'>";
566!                               if ( !empty($options["required_fields_asterisk"]) ) echo "*";
567!                               echo __("Confirm Password", "register-plus-redux"), "<br /><input type='password' autocomplete='off' name='pass2' id='pass2' value='", $_POST["password"], "' size='25' ";
568!                               if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
569!                               echo "/></label></p>";
570!                               $tabindex++;
571!                               if ( !empty($options["show_password_meter"]) ) {
572!                                       echo "\n<div id='pass-strength-result'>", stripslashes($options["message_empty_password"]), "</div>";
573!                                       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>";
574!                               }
575!                       }
576                        if ( !empty($options["enable_invitation_code"]) ) {
577                                if ( isset($_GET["invitation_code"]) ) $_POST["invitation_code"] = $_GET["invitation_code"];
578                                echo "\n<p id='invitation_code-p'><label id='invitation_code-label'>";
579--- 1601,1636 ----
580                                                        echo "/>";
581                                                        $tabindex++;
582                                                        break;
583+                                               case "password":
584+                                                 if ( !empty($options["user_set_password"]) ) {
585+                                                   if ( isset($_GET["password"]) ) $_POST["password"] = $_GET["password"];
586+                                                   echo "\n<p id='pass1-p'><label id='pass1-label'>";
587+                                                   if ( !empty($options["required_fields_asterisk"]) ) echo "*";
588+                                                   echo __("Password", "register-plus-redux"), "<input type='password' autocomplete='off' name='pass1' id='pass1' value='", $_POST["password"], "' size='25' ";
589+                                                   if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
590+                                                   echo "/></label></p>";
591+                                                   $tabindex++;
592+                                                   echo "\n<p id='pass2-p'><label id='pass2-label'>";
593+                                                   if ( !empty($options["required_fields_asterisk"]) ) echo "*";
594+                                                   echo __("Confirm Password", "register-plus-redux"), "<input type='password' autocomplete='off' name='pass2' id='pass2' value='", $_POST["password"], "' size='25' ";
595+                                                   if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
596+                                                   echo "/></label></p>";
597+                                                   $tabindex++;
598+                                                   if ( !empty($options["show_password_meter"]) ) {
599+                                                     echo "\n<div id='pass-strength-result'>", stripslashes($options["message_empty_password"]), "</div>";
600+                                                     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>";
601+                                                   }
602+                                                 }
603+                                                 break;
604+                                               case "sectiontitle":
605+                                                       echo "\n<h2>";
606+                                                       echo stripslashes($v["custom_field_name"]), "</h2>";
607+                                                       $tabindex++;
608+                                                       break;
609                                        }
610                                }
611                        }
612!
613                        if ( !empty($options["enable_invitation_code"]) ) {
614                                if ( isset($_GET["invitation_code"]) ) $_POST["invitation_code"] = $_GET["invitation_code"];
615                                echo "\n<p id='invitation_code-p'><label id='invitation_code-label'>";
616***************
617*** 1796,1806 ****
618                                        $errors->add("empty_first_name", __("<strong>ERROR</strong>: Please enter your first name.", "register-plus-redux"));
619                                }
620                        }
621!                       if ( in_array("last_name", $options["show_fields"]) && in_array("last_name", $options["required_fields"]) ) {
622                                if ( empty($_POST["last_name"]) ) {
623                                        $errors->add("empty_last_name", __("<strong>ERROR</strong>: Please enter your last name.", "register-plus-redux"));
624                                }
625!                       }
626                        if ( in_array("user_url", $options["show_fields"]) && in_array("user_url", $options["required_fields"]) ) {
627                                if ( empty($_POST["url"]) ) {
628                                        $errors->add("empty_user_url", __("<strong>ERROR</strong>: Please enter your website URL.", "register-plus-redux"));
629--- 1707,1717 ----
630                                        $errors->add("empty_first_name", __("<strong>ERROR</strong>: Please enter your first name.", "register-plus-redux"));
631                                }
632                        }
633!                       /*                      if ( in_array("last_name", $options["show_fields"]) && in_array("last_name", $options["required_fields"]) ) {
634                                if ( empty($_POST["last_name"]) ) {
635                                        $errors->add("empty_last_name", __("<strong>ERROR</strong>: Please enter your last name.", "register-plus-redux"));
636                                }
637!                               }*/
638                        if ( in_array("user_url", $options["show_fields"]) && in_array("user_url", $options["required_fields"]) ) {
639                                if ( empty($_POST["url"]) ) {
640                                        $errors->add("empty_user_url", __("<strong>ERROR</strong>: Please enter your website URL.", "register-plus-redux"));
641***************
642*** 1826,1836 ****
643                                        $errors->add("empty_about", __("<strong>ERROR</strong>: Please enter some information about yourself.", "register-plus-redux"));
644                                }
645                        }
646!                       $custom_fields = get_option("register_plus_redux_custom_fields");
647                        if ( !is_array($custom_fields) ) $custom_fields = array();
648                        foreach ( $custom_fields as $k => $v ) {
649                                if ( !empty($v["show_on_registration"]) && !empty($v["required_on_registration"]) ) {
650!                                       $key = $this->sanitizeText($v["custom_field_name"]);
651                                        if ( empty($_POST[$key]) ) {
652                                                $errors->add("empty_$key", sprintf(__("<strong>ERROR</strong>: Please complete %s.", "register-plus-redux"), $v["custom_field_name"]));
653                                        }
654--- 1737,1751 ----
655                                        $errors->add("empty_about", __("<strong>ERROR</strong>: Please enter some information about yourself.", "register-plus-redux"));
656                                }
657                        }
658!                       $custom_fields = get_option("register_plus_redux_fields");
659                        if ( !is_array($custom_fields) ) $custom_fields = array();
660                        foreach ( $custom_fields as $k => $v ) {
661                                if ( !empty($v["show_on_registration"]) && !empty($v["required_on_registration"]) ) {
662!                                 if ( !empty($v["required_field_key"])) {
663!                                   $key = $v["required_field_key"];
664!                                 } else {
665!                                   $key = $this->sanitizeText($v["custom_field_name"]);
666!                                 }
667                                        if ( empty($_POST[$key]) ) {
668                                                $errors->add("empty_$key", sprintf(__("<strong>ERROR</strong>: Please complete %s.", "register-plus-redux"), $v["custom_field_name"]));
669                                        }
670***************
671*** 1915,1921 ****
672                function DatepickerHead() {
673                        //global $pagenow;
674                        //echo $pagenow;
675!                       $custom_fields = get_option("register_plus_redux_custom_fields");
676                        if ( !is_array($custom_fields) ) $custom_fields = array();
677                        foreach ( $custom_fields as $k => $v ) {
678                                if ( !empty($v["show_on_profile"]) ) {
679--- 1830,1836 ----
680                function DatepickerHead() {
681                        //global $pagenow;
682                        //echo $pagenow;
683!                       $custom_fields = get_option("register_plus_redux_fields");
684                        if ( !is_array($custom_fields) ) $custom_fields = array();
685                        foreach ( $custom_fields as $k => $v ) {
686                                if ( !empty($v["show_on_profile"]) ) {
687***************
688*** 1941,1947 ****
689                }
690 
691                function ShowCustomFields( $profileuser ) {
692!                       $custom_fields = get_option("register_plus_redux_custom_fields");
693                       
694                        if ( !empty($profileuser->invitation_code) || is_array($custom_fields) ) {
695                                echo "<h3>", __("Additional Information", "register-plus-redux"), "</h3>";
696--- 1856,1862 ----
697                }
698 
699                function ShowCustomFields( $profileuser ) {
700!                       $custom_fields = get_option("register_plus_redux_fields");
701                       
702                        if ( !empty($profileuser->invitation_code) || is_array($custom_fields) ) {
703                                echo "<h3>", __("Additional Information", "register-plus-redux"), "</h3>";
704***************
705*** 2019,2025 ****
706 
707                function SaveCustomFields( $user_id ) {
708                        global $wpdb;
709!                       $custom_fields = get_option("register_plus_redux_custom_fields");
710                        if ( !is_array($custom_fields) ) $custom_fields = array();
711                        foreach ( $custom_fields as $k => $v ) {
712                                if ( !empty($v["show_on_profile"]) ) {
713--- 1934,1940 ----
714 
715                function SaveCustomFields( $user_id ) {
716                        global $wpdb;
717!                       $custom_fields = get_option("register_plus_redux_fields");
718                        if ( !is_array($custom_fields) ) $custom_fields = array();
719                        foreach ( $custom_fields as $k => $v ) {
720                                if ( !empty($v["show_on_profile"]) ) {
721***************
722*** 2130,2135 ****
723--- 2045,2069 ----
724                                return $default;
725                }
726 
727+               function defaultFields( $key = '' )
728+               {
729+                 $default = array(
730+                                  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"),
731+                                  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"),
732+                                  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"),
733+                                  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"),
734+                                  array("custom_field_name" => "Yahoo","custom_field_type" => "text","custom_field_options" => "","show_on_profile" => "","show_on_registration" => "","required_on_registration" => "","required_field" => 1,"required_field_key" => "yahoo"),
735+                                  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"),
736+                                  array("custom_field_name" => "About Yourself","custom_field_type" => "text","custom_field_options" => "","show_on_profile" => "","show_on_registration" => "","required_on_registration" => "","required_field" => 1,"required_field_key" => "about"),
737+                                  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"),
738+                                  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")
739+                                  );
740+                 if ( !empty($key) )
741+                   return $default[$key];
742+                 else
743+                   return $default;
744+               }
745+
746                function sendVerificationMessage ( $user_id ) {
747                        $user_info = get_userdata($user_id);
748                        $options = get_option("register_plus_redux_options");
749***************
750*** 2227,2233 ****
751                        $message = str_replace("%jabber%", get_user_meta($user_info->ID, "jabber", true), $message);
752                        $message = str_replace("%about%", stripslashes(get_user_meta($user_info->ID, "about", true)), $message);
753                        $message = str_replace("%invitation_code%", get_user_meta($user_info->ID, "invitation_code", true), $message);
754!                       $custom_fields = get_option("register_plus_redux_custom_fields");
755                        if ( !is_array($custom_fields) ) $custom_fields = array();
756                        foreach ( $custom_fields as $k => $v ) {
757                                $key = $this->sanitizeText($v["custom_field_name"]);
758--- 2161,2167 ----
759                        $message = str_replace("%jabber%", get_user_meta($user_info->ID, "jabber", true), $message);
760                        $message = str_replace("%about%", stripslashes(get_user_meta($user_info->ID, "about", true)), $message);
761                        $message = str_replace("%invitation_code%", get_user_meta($user_info->ID, "invitation_code", true), $message);
762!                       $custom_fields = get_option("register_plus_redux_fields");
763                        if ( !is_array($custom_fields) ) $custom_fields = array();
764                        foreach ( $custom_fields as $k => $v ) {
765                                $key = $this->sanitizeText($v["custom_field_name"]);
766***************
767*** 2346,2352 ****
768                if ( in_array("yahoo", $options["show_fields"]) && !empty($_POST["yahoo"]) ) update_user_meta($user_id, "yim", $wpdb->prepare($_POST["yahoo"]));
769                if ( in_array("jabber", $options["show_fields"]) && !empty($_POST["jabber"]) ) update_user_meta($user_id, "jabber", $wpdb->prepare($_POST["jabber"]));
770                if ( in_array("about", $options["show_fields"]) && !empty($_POST["about"]) ) update_user_meta($user_id, "description", $wpdb->prepare($_POST["about"]));
771!               $custom_fields = get_option("register_plus_redux_custom_fields");
772                if ( !is_array($custom_fields) ) $custom_fields = array();
773                foreach ( $custom_fields as $k => $v ) {
774                        $key = $registerPlusRedux->sanitizeText($v["custom_field_name"]);
775--- 2280,2286 ----
776                if ( in_array("yahoo", $options["show_fields"]) && !empty($_POST["yahoo"]) ) update_user_meta($user_id, "yim", $wpdb->prepare($_POST["yahoo"]));
777                if ( in_array("jabber", $options["show_fields"]) && !empty($_POST["jabber"]) ) update_user_meta($user_id, "jabber", $wpdb->prepare($_POST["jabber"]));
778                if ( in_array("about", $options["show_fields"]) && !empty($_POST["about"]) ) update_user_meta($user_id, "description", $wpdb->prepare($_POST["about"]));
779!               $custom_fields = get_option("register_plus_redux_fields");
780                if ( !is_array($custom_fields) ) $custom_fields = array();
781                foreach ( $custom_fields as $k => $v ) {
782                        $key = $registerPlusRedux->sanitizeText($v["custom_field_name"]);