WordPress.org

Plugin Directory

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

File register-plus-redux.php.4.patch, 51.9 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-10 15:55:03.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,774 ****
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--- 731,746 ----
186                                                        echo "\n                        <option value='date'"; if ( $v["custom_field_type"] == "date" ) echo " selected='selected'"; echo ">", __("Date Field", "register-plus-redux"), "</option>";
187                                                        echo "\n                        <option value='url'"; if ( $v["custom_field_type"] == "url" ) echo " selected='selected'"; echo ">", __("URL Field", "register-plus-redux"), "</option>";
188                                                        echo "\n                        <option value='hidden'"; if ( $v["custom_field_type"] == "hidden" ) echo " selected='selected'"; echo ">", __("Hidden Field", "register-plus-redux"), "</option>";
189+                                                       echo "\n                        <option value='password'"; if ( $v["custom_field_type"] == "password" ) echo " selected='selected'"; echo ">", __("Password Field", "register-plus-redux"), "</option>";
190+                                                       echo "\n                        <option value='sectiontitle'"; if ( $v["custom_field_type"] == "sectiontitle" ) echo " selected='selected'"; echo ">", __("Section Title", "register-plus-redux"), "</option>";
191                                                        echo "\n                </select>";
192                                                        echo "\n        </td>";
193!                                                       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>";
194                                                        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>";
195                                                        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>";
196                                                        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>";
197                                                        echo "\n        <td align='center' style='padding-top: 0px; padding-bottom: 0px;'>";
198!                                                       if ($v["required_field"] == 0) { 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;' />"; } else { echo ""; };
199                                                        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;' />";
200                                                        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;' />";
201                                                        echo "\n        </td>";
202***************
203*** 1083,1096 ****
204 
205                        if ( isset($_POST["custom_field_name"]) ) {
206                                foreach ( $_POST["custom_field_name"] as $k => $v ) {
207!                                       if ( !empty($v) ) {
208                                                $custom_fields[$k] = array(
209                                                        "custom_field_name" => $v,
210                                                        "custom_field_type" => isset($_POST["custom_field_type"][$k]) ? $_POST["custom_field_type"][$k] : "",
211                                                        "custom_field_options" => isset($_POST["custom_field_options"][$k]) ? $_POST["custom_field_options"][$k] : "",
212                                                        "show_on_profile" => isset($_POST["show_on_profile"][$k]) ? $_POST["show_on_profile"][$k] : "",
213                                                        "show_on_registration" => isset($_POST["show_on_registration"][$k]) ? $_POST["show_on_registration"][$k] : "",
214!                                                       "required_on_registration" => isset($_POST["required_on_registration"][$k]) ? $_POST["required_on_registration"][$k] : "");
215                                        }
216                                }
217                        }
218--- 1055,1078 ----
219 
220                        if ( isset($_POST["custom_field_name"]) ) {
221                                foreach ( $_POST["custom_field_name"] as $k => $v ) {
222!                                       if ( !empty($v) ) {
223!                                         $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");
224!                               $required_field = 0;
225!                               $required_field_key = "";
226!
227!                               if ( isset($required_fields["$v"])) {
228!                                 $required_field = 1;
229!                                 $required_field_key = $required_fields["$v"];
230!                               }
231                                                $custom_fields[$k] = array(
232                                                        "custom_field_name" => $v,
233                                                        "custom_field_type" => isset($_POST["custom_field_type"][$k]) ? $_POST["custom_field_type"][$k] : "",
234                                                        "custom_field_options" => isset($_POST["custom_field_options"][$k]) ? $_POST["custom_field_options"][$k] : "",
235                                                        "show_on_profile" => isset($_POST["show_on_profile"][$k]) ? $_POST["show_on_profile"][$k] : "",
236                                                        "show_on_registration" => isset($_POST["show_on_registration"][$k]) ? $_POST["show_on_registration"][$k] : "",
237!                                                       "required_on_registration" => isset($_POST["required_on_registration"][$k]) ? $_POST["required_on_registration"][$k] : "",
238!                                                       "required_field" => $required_field,
239!                                                       "required_field_key" => $required_field_key);
240                                        }
241                                }
242                        }
243***************
244*** 1135,1141 ****
245                        $options["disable_url_fopen"] = isset($_POST["disable_url_fopen"]) ? $_POST["disable_url_fopen"] : "";
246 
247                        update_option("register_plus_redux_options", $options);
248!                       update_option("register_plus_redux_custom_fields", $custom_fields);
249                }
250 
251                function UnverifiedUsersPage() {
252--- 1117,1123 ----
253                        $options["disable_url_fopen"] = isset($_POST["disable_url_fopen"]) ? $_POST["disable_url_fopen"] : "";
254 
255                        update_option("register_plus_redux_options", $options);
256!                       update_option("register_plus_redux_fields", $custom_fields);
257                }
258 
259                function UnverifiedUsersPage() {
260***************
261*** 1323,1329 ****
262                                <?php
263                        }
264                        if ( isset($_GET["action"]) && $_GET["action"] == "register" ) {
265!                               $custom_fields = get_option("register_plus_redux_custom_fields");
266                                if ( !is_array($custom_fields) ) $custom_fields = array();
267                                foreach ( $custom_fields as $k => $v ) {
268                                        if ( !empty($v["show_on_registration"]) ) {
269--- 1305,1311 ----
270                                <?php
271                        }
272                        if ( isset($_GET["action"]) && $_GET["action"] == "register" ) {
273!                               $custom_fields = get_option("register_plus_redux_fields");
274                                if ( !is_array($custom_fields) ) $custom_fields = array();
275                                foreach ( $custom_fields as $k => $v ) {
276                                        if ( !empty($v["show_on_registration"]) ) {
277***************
278*** 1539,1628 ****
279                                $tabindex++;
280                        }
281                        if ( !is_array($options["show_fields"]) ) $options["show_fields"] = array();
282!                       if ( in_array("first_name", $options["show_fields"]) ) {
283!                               if ( isset($_GET["first_name"]) ) $_POST["first_name"] = $_GET["first_name"];
284!                               echo "\n<p id='first_name-p'><label id='first_name-label'>";
285!                               if ( !empty($options["required_fields_asterisk"]) && in_array("first_name", $options["required_fields"]) ) echo "*";
286!                               echo __("First Name", "register-plus-redux"), "<br /><input type='text' name='first_name' id='first_name' class='input' value='", $_POST["first_name"],"' size='25' ";
287!                               if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
288!                               echo "/></label></p>";
289!                               $tabindex++;
290!                       }
291!                       if ( in_array("last_name", $options["show_fields"]) ) {
292!                               if ( isset($_GET["last_name"]) ) $_POST["last_name"] = $_GET["last_name"];
293!                               echo "\n<p id='last_name-p'><label id='last_name-label'>";
294!                               if ( !empty($options["required_fields_asterisk"]) && in_array("last_name", $options["required_fields"]) ) echo "*";
295!                               echo __("Last Name", "register-plus-redux"), "<br /><input type='text' name='last_name' id='last_name' class='input' value='", $_POST["last_name"], "' size='25' ";
296!                               if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
297!                               echo "/></label></p>";
298!                               $tabindex++;
299!                       }
300!                       if ( in_array("user_url", $options["show_fields"]) ) {
301!                               if ( isset($_GET["url"]) ) $_POST["url"] = $_GET["url"];
302!                               echo "\n<p id='user_url-p'><label id='user_url-label'>";
303!                               if ( !empty($options["required_fields_asterisk"]) && in_array("user_url", $options["required_fields"]) ) echo "*";
304!                               echo __("Website", "register-plus-redux"), "<br /><input type='text' name='url' id='user_url' class='input' value='", $_POST["url"], "' size='25' ";
305!                               if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
306!                               echo "/></label></p>";
307!                               $tabindex++;
308!                       }
309!                       if ( in_array("aim", $options["show_fields"]) ) {
310!                               if ( isset($_GET["aim"]) ) $_POST["aim"] = $_GET["aim"];
311!                               echo "\n<p id='aim-p'><label id='aim-label'>";
312!                               if ( !empty($options["required_fields_asterisk"]) && in_array("aim", $options["required_fields"]) ) echo "*";
313!                               echo __("AIM", "register-plus-redux"), "<br /><input type='text' name='aim' id='aim' class='input' value='", $_POST["aim"], "' size='25' ";
314!                               if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
315!                               echo "/></label></p>";
316!                               $tabindex++;
317!                       }
318!                       if ( in_array("yahoo", $options["show_fields"]) ) {
319!                               if ( isset($_GET["yahoo"]) ) $_POST["yahoo"] = $_GET["yahoo"];
320!                               echo "\n<p id='yahoo-p'><label id='yahoo-label'>";
321!                               if ( !empty($options["required_fields_asterisk"]) && in_array("yahoo", $options["required_fields"]) ) echo "*";
322!                               echo __("Yahoo IM", "register-plus-redux"), "<br /><input type='text' name='yahoo' id='yahoo' class='input' value='", $_POST["yahoo"], "' size='25' ";
323!                               if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
324!                               echo "/></label></p>";
325!                               $tabindex++;
326!                       }
327!                       if ( in_array("jabber", $options["show_fields"]) ) {
328!                               if ( isset($_GET["jabber"]) ) $_POST["jabber"] = $_GET["jabber"];
329!                               echo "\n<p id='jabber-p'><label id='jabber-label'>";
330!                               if ( !empty($options["required_fields_asterisk"]) && in_array("jabber", $options["required_fields"]) ) echo "*";
331!                               echo __("Jabber / Google Talk", "register-plus-redux"), "<br /><input type='text' name='jabber' id='jabber' class='input' value='", $_POST["jabber"], "' size='25' ";
332!                               if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
333!                               echo "/></label></p>";
334!                               $tabindex++;
335!                       }
336!                       if ( in_array("about", $options["show_fields"]) ) {
337!                               if ( isset($_GET["about"]) ) $_POST["about"] = $_GET["about"];
338!                               echo "\n<p id='about-p'><label id='about-label' for='about'>";
339!                               if ( !empty($options["required_fields_asterisk"]) && in_array("about", $options["required_fields"]) ) echo "*";
340!                               echo __("About Yourself", "register-plus-redux"), "</label><br />";
341!                               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 />";
342!                               echo "\n<textarea name='about' id='about' cols='25' rows='5'";
343!                               if ( !empty($options["starting_tabindex"]) ) echo " tabindex='$tabindex'";
344!                               echo ">", stripslashes($_POST["about"]), "</textarea></p>";
345!                               $tabindex++;
346!                       }
347!                       $custom_fields = get_option("register_plus_redux_custom_fields");
348                        if ( !is_array($custom_fields) ) $custom_fields = array();
349                        foreach ( $custom_fields as $k => $v ) {
350                                if ( !empty($v["show_on_registration"]) ) {
351!                                       $key = $this->sanitizeText($v["custom_field_name"]);
352                                        if ( isset($_GET[$key]) ) $_POST[$key] = $_GET[$key];
353                                        switch ( $v["custom_field_type"] ) {
354                                                case "text":
355!                                                       echo "\n<p id='$key-p'><label id='$key-label'>";
356                                                        if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
357!                                                       echo stripslashes($v["custom_field_name"]), "<br /><input type='text' name='$key' id='$key' class='input' value='", $_POST[$key], "' size='25' ";
358                                                        if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
359                                                        echo "/></label></p>";
360                                                        $tabindex++;
361                                                        break;
362                                                case "select":
363!                                                       echo "\n<p id='$key-p'><label id='$key-label'>";
364                                                        if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
365!                                                       echo stripslashes($v["custom_field_name"]), "<br />";
366                                                        echo "\n<select name='$key' id='$key'";
367                                                        if ( !empty($options["starting_tabindex"]) ) echo " tabindex='$tabindex'";
368                                                        echo ">";
369--- 1521,1551 ----
370                                $tabindex++;
371                        }
372                        if ( !is_array($options["show_fields"]) ) $options["show_fields"] = array();
373!                       $custom_fields = get_option("register_plus_redux_fields");
374                        if ( !is_array($custom_fields) ) $custom_fields = array();
375                        foreach ( $custom_fields as $k => $v ) {
376                                if ( !empty($v["show_on_registration"]) ) {
377!                                 if ( !empty($v["required_field_key"])) {
378!                                   $key = $v["required_field_key"];
379!                                   $key_id = $key;
380!                                 } else {
381!                                   $key = $this->sanitizeText($v["custom_field_name"]);
382!                                   $key_id = "$key-p";
383!                                 }
384                                        if ( isset($_GET[$key]) ) $_POST[$key] = $_GET[$key];
385                                        switch ( $v["custom_field_type"] ) {
386                                                case "text":
387!                                                       echo "\n<p id='$key_id'><label id='$key-label'>";
388                                                        if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
389!                                                       echo stripslashes($v["custom_field_name"]), "<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_id'><label id='$key-label'>";
396                                                        if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
397!                                                       echo stripslashes($v["custom_field_name"]);
398                                                        echo "\n<select name='$key' id='$key'";
399                                                        if ( !empty($options["starting_tabindex"]) ) echo " tabindex='$tabindex'";
400                                                        echo ">";
401***************
402*** 1638,1646 ****
403                                                        echo "\n</label></p>";
404                                                        break;
405                                                case "checkbox":
406!                                                       echo "\n<p id='$key-p' style='margin-bottom:16px;'><label id='$key-label'>";
407                                                        if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
408!                                                       echo stripslashes($v["custom_field_name"]), "</label><br />";
409                                                        $custom_field_options = explode(",", $v["custom_field_options"]);
410                                                        foreach ( $custom_field_options as $custom_field_option ) {
411                                                                $option = $this->sanitizeText($custom_field_option);
412--- 1561,1569 ----
413                                                        echo "\n</label></p>";
414                                                        break;
415                                                case "checkbox":
416!                                                       echo "\n<p id='$key_id' style='margin-bottom:16px;'><label id='$key-label'>";
417                                                        if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
418!                                                       echo stripslashes($v["custom_field_name"]), "</label>";
419                                                        $custom_field_options = explode(",", $v["custom_field_options"]);
420                                                        foreach ( $custom_field_options as $custom_field_option ) {
421                                                                $option = $this->sanitizeText($custom_field_option);
422***************
423*** 1648,1693 ****
424                                                                if ( !empty($options["starting_tabindex"]) ) echo " tabindex='$tabindex'";
425                                                                if ( is_array($_POST[$key]) && in_array(stripslashes($custom_field_option), $_POST[$key]) ) echo " checked='checked'";
426                                                                if ( !is_array($_POST[$key]) && $_POST[$key] == stripslashes($custom_field_option) ) echo " checked='checked'";
427!                                                               echo " /><label id='$option-label' class='$key' for='$option'>&nbsp;", stripslashes($custom_field_option), "</label><br />";
428                                                                $tabindex++;
429                                                        }
430                                                        echo "\n</p>";
431                                                        break;
432                                                case "radio":
433!                                                       echo "\n<p id='$key-p' style='margin-bottom:16px;'><label id='$key-label'>";
434                                                        if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
435!                                                       echo stripslashes($v["custom_field_name"]), "</label><br />";
436                                                        $custom_field_options = explode(",", $v["custom_field_options"]);
437                                                        foreach ( $custom_field_options as $custom_field_option ) {
438                                                                $option = $this->sanitizeText($custom_field_option);
439                                                                echo "\n<input type='radio' name='$key' id='$option' value=\"", stripslashes($custom_field_option), "\"";
440                                                                if ( !empty($options["starting_tabindex"]) ) echo " tabindex='$tabindex'";
441                                                                if ( $_POST[$key] == stripslashes($custom_field_option) ) echo " checked='checked'";
442!                                                               echo " /><label id='$option-label' class='$key' for='$option'>&nbsp;", stripslashes($custom_field_option), "</label><br />";
443                                                                $tabindex++;
444                                                        }
445                                                        echo "\n</p>";
446                                                        break;
447                                                case "textarea":
448!                                                       echo "\n<p id='$key-p'><label id='$key-label'>";
449                                                        if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
450!                                                       echo stripslashes($v["custom_field_name"]), "<br /><textarea name='$key' id='$key' cols='25' rows='5'";
451                                                        if ( !empty($options["starting_tabindex"]) ) echo " tabindex='$tabindex'";
452                                                        echo ">", $_POST[$key], "</textarea></label></p>";
453                                                        $tabindex++;
454                                                        break;
455                                                case "date":
456!                                                       echo "\n<p id='$key-p'><label id='$key-label'>";
457                                                        if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
458!                                                       echo stripslashes($v["custom_field_name"]), "<br /><input type='text' name='$key' id='$key' class='datepicker' value='", $_POST[$key], "' size='25' ";
459                                                        if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
460                                                        echo " /></label></p>";
461                                                        $tabindex++;
462                                                        break;
463                                                case "url":
464!                                                       echo "\n<p id='$key-p'><label id='$key-label'>";
465                                                        if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
466!                                                       echo stripslashes($v["custom_field_name"]), "<br /><input type='text' name='$key' id='$key' class='input' value='", $_POST[$key], "' size='25' ";
467                                                        if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
468                                                        echo "/></label></p>";
469                                                        $tabindex++;
470--- 1571,1616 ----
471                                                                if ( !empty($options["starting_tabindex"]) ) echo " tabindex='$tabindex'";
472                                                                if ( is_array($_POST[$key]) && in_array(stripslashes($custom_field_option), $_POST[$key]) ) echo " checked='checked'";
473                                                                if ( !is_array($_POST[$key]) && $_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>";
475                                                                $tabindex++;
476                                                        }
477                                                        echo "\n</p>";
478                                                        break;
479                                                case "radio":
480!                                                       echo "\n<p id='$key_id' style='margin-bottom:16px;'><label id='$key-label'>";
481                                                        if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
482!                                                       echo stripslashes($v["custom_field_name"]), "</label>";
483                                                        $custom_field_options = explode(",", $v["custom_field_options"]);
484                                                        foreach ( $custom_field_options as $custom_field_option ) {
485                                                                $option = $this->sanitizeText($custom_field_option);
486                                                                echo "\n<input type='radio' name='$key' id='$option' value=\"", stripslashes($custom_field_option), "\"";
487                                                                if ( !empty($options["starting_tabindex"]) ) echo " tabindex='$tabindex'";
488                                                                if ( $_POST[$key] == stripslashes($custom_field_option) ) echo " checked='checked'";
489!                                                               echo " /><label id='$option-label' class='$key' for='$option'>&nbsp;", stripslashes($custom_field_option), "</label>";
490                                                                $tabindex++;
491                                                        }
492                                                        echo "\n</p>";
493                                                        break;
494                                                case "textarea":
495!                                                       echo "\n<p id='$key_id'><label id='$key-label'>";
496                                                        if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
497!                                                       echo stripslashes($v["custom_field_name"]), "<textarea name='$key' id='$key' cols='25' rows='5'";
498                                                        if ( !empty($options["starting_tabindex"]) ) echo " tabindex='$tabindex'";
499                                                        echo ">", $_POST[$key], "</textarea></label></p>";
500                                                        $tabindex++;
501                                                        break;
502                                                case "date":
503!                                                       echo "\n<p id='$key_id'><label id='$key-label'>";
504                                                        if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
505!                                                       echo stripslashes($v["custom_field_name"]), "<input type='text' name='$key' id='$key' class='datepicker' value='", $_POST[$key], "' size='25' ";
506                                                        if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
507                                                        echo " /></label></p>";
508                                                        $tabindex++;
509                                                        break;
510                                                case "url":
511!                                                       echo "\n<p id='$key_id'><label id='$key-label'>";
512                                                        if ( !empty($options["required_fields_asterisk"]) && !empty($v["required_on_registration"]) ) echo "*";
513!                                                       echo stripslashes($v["custom_field_name"]), "<input type='text' name='$key' id='$key' class='input' value='", $_POST[$key], "' size='25' ";
514                                                        if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
515                                                        echo "/></label></p>";
516                                                        $tabindex++;
517***************
518*** 1698,1725 ****
519                                                        echo "/>";
520                                                        $tabindex++;
521                                                        break;
522                                        }
523                                }
524                        }
525!                       if ( !empty($options["user_set_password"]) ) {
526!                               if ( isset($_GET["password"]) ) $_POST["password"] = $_GET["password"];
527!                               echo "\n<p id='pass1-p'><label id='pass1-label'>";
528!                               if ( !empty($options["required_fields_asterisk"]) ) echo "*";
529!                               echo __("Password", "register-plus-redux"), "<br /><input type='password' autocomplete='off' name='pass1' id='pass1' value='", $_POST["password"], "' size='25' ";
530!                               if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
531!                               echo "/></label></p>";
532!                               $tabindex++;
533!                               echo "\n<p id='pass2-p'><label id='pass2-label'>";
534!                               if ( !empty($options["required_fields_asterisk"]) ) echo "*";
535!                               echo __("Confirm Password", "register-plus-redux"), "<br /><input type='password' autocomplete='off' name='pass2' id='pass2' value='", $_POST["password"], "' size='25' ";
536!                               if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
537!                               echo "/></label></p>";
538!                               $tabindex++;
539!                               if ( !empty($options["show_password_meter"]) ) {
540!                                       echo "\n<div id='pass-strength-result'>", stripslashes($options["message_empty_password"]), "</div>";
541!                                       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>";
542!                               }
543!                       }
544                        if ( !empty($options["enable_invitation_code"]) ) {
545                                if ( isset($_GET["invitation_code"]) ) $_POST["invitation_code"] = $_GET["invitation_code"];
546                                echo "\n<p id='invitation_code-p'><label id='invitation_code-label'>";
547--- 1621,1656 ----
548                                                        echo "/>";
549                                                        $tabindex++;
550                                                        break;
551+                                               case "password":
552+                                                 if ( !empty($options["user_set_password"]) ) {
553+                                                   if ( isset($_GET["password"]) ) $_POST["password"] = $_GET["password"];
554+                                                   echo "\n<p id='pass1-p'><label id='pass1-label'>";
555+                                                   if ( !empty($options["required_fields_asterisk"]) ) echo "*";
556+                                                   echo __("Password", "register-plus-redux"), "<input type='password' autocomplete='off' name='pass1' id='pass1' value='", $_POST["password"], "' size='25' ";
557+                                                   if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
558+                                                   echo "/></label></p>";
559+                                                   $tabindex++;
560+                                                   echo "\n<p id='pass2-p'><label id='pass2-label'>";
561+                                                   if ( !empty($options["required_fields_asterisk"]) ) echo "*";
562+                                                   echo __("Confirm Password", "register-plus-redux"), "<input type='password' autocomplete='off' name='pass2' id='pass2' value='", $_POST["password"], "' size='25' ";
563+                                                   if ( !empty($options["starting_tabindex"]) ) echo "tabindex='$tabindex' ";
564+                                                   echo "/></label></p>";
565+                                                   $tabindex++;
566+                                                   if ( !empty($options["show_password_meter"]) ) {
567+                                                     echo "\n<div id='pass-strength-result'>", stripslashes($options["message_empty_password"]), "</div>";
568+                                                     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>";
569+                                                   }
570+                                                 }
571+                                                 break;
572+                                               case "sectiontitle":
573+                                                       echo "\n<h2>";
574+                                                       echo stripslashes($v["custom_field_name"]), "</h2>";
575+                                                       $tabindex++;
576+                                                       break;
577                                        }
578                                }
579                        }
580!
581                        if ( !empty($options["enable_invitation_code"]) ) {
582                                if ( isset($_GET["invitation_code"]) ) $_POST["invitation_code"] = $_GET["invitation_code"];
583                                echo "\n<p id='invitation_code-p'><label id='invitation_code-label'>";
584***************
585*** 1796,1806 ****
586                                        $errors->add("empty_first_name", __("<strong>ERROR</strong>: Please enter your first name.", "register-plus-redux"));
587                                }
588                        }
589!                       if ( in_array("last_name", $options["show_fields"]) && in_array("last_name", $options["required_fields"]) ) {
590                                if ( empty($_POST["last_name"]) ) {
591                                        $errors->add("empty_last_name", __("<strong>ERROR</strong>: Please enter your last name.", "register-plus-redux"));
592                                }
593!                       }
594                        if ( in_array("user_url", $options["show_fields"]) && in_array("user_url", $options["required_fields"]) ) {
595                                if ( empty($_POST["url"]) ) {
596                                        $errors->add("empty_user_url", __("<strong>ERROR</strong>: Please enter your website URL.", "register-plus-redux"));
597--- 1727,1737 ----
598                                        $errors->add("empty_first_name", __("<strong>ERROR</strong>: Please enter your first name.", "register-plus-redux"));
599                                }
600                        }
601!                       /*                      if ( in_array("last_name", $options["show_fields"]) && in_array("last_name", $options["required_fields"]) ) {
602                                if ( empty($_POST["last_name"]) ) {
603                                        $errors->add("empty_last_name", __("<strong>ERROR</strong>: Please enter your last name.", "register-plus-redux"));
604                                }
605!                               }*/
606                        if ( in_array("user_url", $options["show_fields"]) && in_array("user_url", $options["required_fields"]) ) {
607                                if ( empty($_POST["url"]) ) {
608                                        $errors->add("empty_user_url", __("<strong>ERROR</strong>: Please enter your website URL.", "register-plus-redux"));
609***************
610*** 1826,1836 ****
611                                        $errors->add("empty_about", __("<strong>ERROR</strong>: Please enter some information about yourself.", "register-plus-redux"));
612                                }
613                        }
614!                       $custom_fields = get_option("register_plus_redux_custom_fields");
615                        if ( !is_array($custom_fields) ) $custom_fields = array();
616                        foreach ( $custom_fields as $k => $v ) {
617                                if ( !empty($v["show_on_registration"]) && !empty($v["required_on_registration"]) ) {
618!                                       $key = $this->sanitizeText($v["custom_field_name"]);
619                                        if ( empty($_POST[$key]) ) {
620                                                $errors->add("empty_$key", sprintf(__("<strong>ERROR</strong>: Please complete %s.", "register-plus-redux"), $v["custom_field_name"]));
621                                        }
622--- 1757,1771 ----
623                                        $errors->add("empty_about", __("<strong>ERROR</strong>: Please enter some information about yourself.", "register-plus-redux"));
624                                }
625                        }
626!                       $custom_fields = get_option("register_plus_redux_fields");
627                        if ( !is_array($custom_fields) ) $custom_fields = array();
628                        foreach ( $custom_fields as $k => $v ) {
629                                if ( !empty($v["show_on_registration"]) && !empty($v["required_on_registration"]) ) {
630!                                 if ( !empty($v["required_field_key"])) {
631!                                   $key = $v["required_field_key"];
632!                                 } else {
633!                                   $key = $this->sanitizeText($v["custom_field_name"]);
634!                                 }
635                                        if ( empty($_POST[$key]) ) {
636                                                $errors->add("empty_$key", sprintf(__("<strong>ERROR</strong>: Please complete %s.", "register-plus-redux"), $v["custom_field_name"]));
637                                        }
638***************
639*** 1915,1921 ****
640                function DatepickerHead() {
641                        //global $pagenow;
642                        //echo $pagenow;
643!                       $custom_fields = get_option("register_plus_redux_custom_fields");
644                        if ( !is_array($custom_fields) ) $custom_fields = array();
645                        foreach ( $custom_fields as $k => $v ) {
646                                if ( !empty($v["show_on_profile"]) ) {
647--- 1850,1856 ----
648                function DatepickerHead() {
649                        //global $pagenow;
650                        //echo $pagenow;
651!                       $custom_fields = get_option("register_plus_redux_fields");
652                        if ( !is_array($custom_fields) ) $custom_fields = array();
653                        foreach ( $custom_fields as $k => $v ) {
654                                if ( !empty($v["show_on_profile"]) ) {
655***************
656*** 1941,1947 ****
657                }
658 
659                function ShowCustomFields( $profileuser ) {
660!                       $custom_fields = get_option("register_plus_redux_custom_fields");
661                       
662                        if ( !empty($profileuser->invitation_code) || is_array($custom_fields) ) {
663                                echo "<h3>", __("Additional Information", "register-plus-redux"), "</h3>";
664--- 1876,1882 ----
665                }
666 
667                function ShowCustomFields( $profileuser ) {
668!                       $custom_fields = get_option("register_plus_redux_fields");
669                       
670                        if ( !empty($profileuser->invitation_code) || is_array($custom_fields) ) {
671                                echo "<h3>", __("Additional Information", "register-plus-redux"), "</h3>";
672***************
673*** 2019,2025 ****
674 
675                function SaveCustomFields( $user_id ) {
676                        global $wpdb;
677!                       $custom_fields = get_option("register_plus_redux_custom_fields");
678                        if ( !is_array($custom_fields) ) $custom_fields = array();
679                        foreach ( $custom_fields as $k => $v ) {
680                                if ( !empty($v["show_on_profile"]) ) {
681--- 1954,1960 ----
682 
683                function SaveCustomFields( $user_id ) {
684                        global $wpdb;
685!                       $custom_fields = get_option("register_plus_redux_fields");
686                        if ( !is_array($custom_fields) ) $custom_fields = array();
687                        foreach ( $custom_fields as $k => $v ) {
688                                if ( !empty($v["show_on_profile"]) ) {
689***************
690*** 2130,2135 ****
691--- 2065,2089 ----
692                                return $default;
693                }
694 
695+               function defaultFields( $key = '' )
696+               {
697+                 $default = array(
698+                                  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"),
699+                                  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"),
700+                                  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"),
701+                                  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"),
702+                                  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"),
703+                                  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"),
704+                                  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"),
705+                                  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"),
706+                                  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")
707+                                  );
708+                 if ( !empty($key) )
709+                   return $default[$key];
710+                 else
711+                   return $default;
712+               }
713+
714                function sendVerificationMessage ( $user_id ) {
715                        $user_info = get_userdata($user_id);
716                        $options = get_option("register_plus_redux_options");
717***************
718*** 2227,2233 ****
719                        $message = str_replace("%jabber%", get_user_meta($user_info->ID, "jabber", true), $message);
720                        $message = str_replace("%about%", stripslashes(get_user_meta($user_info->ID, "about", true)), $message);
721                        $message = str_replace("%invitation_code%", get_user_meta($user_info->ID, "invitation_code", true), $message);
722!                       $custom_fields = get_option("register_plus_redux_custom_fields");
723                        if ( !is_array($custom_fields) ) $custom_fields = array();
724                        foreach ( $custom_fields as $k => $v ) {
725                                $key = $this->sanitizeText($v["custom_field_name"]);
726--- 2181,2187 ----
727                        $message = str_replace("%jabber%", get_user_meta($user_info->ID, "jabber", true), $message);
728                        $message = str_replace("%about%", stripslashes(get_user_meta($user_info->ID, "about", true)), $message);
729                        $message = str_replace("%invitation_code%", get_user_meta($user_info->ID, "invitation_code", true), $message);
730!                       $custom_fields = get_option("register_plus_redux_fields");
731                        if ( !is_array($custom_fields) ) $custom_fields = array();
732                        foreach ( $custom_fields as $k => $v ) {
733                                $key = $this->sanitizeText($v["custom_field_name"]);
734***************
735*** 2346,2352 ****
736                if ( in_array("yahoo", $options["show_fields"]) && !empty($_POST["yahoo"]) ) update_user_meta($user_id, "yim", $wpdb->prepare($_POST["yahoo"]));
737                if ( in_array("jabber", $options["show_fields"]) && !empty($_POST["jabber"]) ) update_user_meta($user_id, "jabber", $wpdb->prepare($_POST["jabber"]));
738                if ( in_array("about", $options["show_fields"]) && !empty($_POST["about"]) ) update_user_meta($user_id, "description", $wpdb->prepare($_POST["about"]));
739!               $custom_fields = get_option("register_plus_redux_custom_fields");
740                if ( !is_array($custom_fields) ) $custom_fields = array();
741                foreach ( $custom_fields as $k => $v ) {
742                        $key = $registerPlusRedux->sanitizeText($v["custom_field_name"]);
743--- 2300,2306 ----
744                if ( in_array("yahoo", $options["show_fields"]) && !empty($_POST["yahoo"]) ) update_user_meta($user_id, "yim", $wpdb->prepare($_POST["yahoo"]));
745                if ( in_array("jabber", $options["show_fields"]) && !empty($_POST["jabber"]) ) update_user_meta($user_id, "jabber", $wpdb->prepare($_POST["jabber"]));
746                if ( in_array("about", $options["show_fields"]) && !empty($_POST["about"]) ) update_user_meta($user_id, "description", $wpdb->prepare($_POST["about"]));
747!               $custom_fields = get_option("register_plus_redux_fields");
748                if ( !is_array($custom_fields) ) $custom_fields = array();
749                foreach ( $custom_fields as $k => $v ) {
750                        $key = $registerPlusRedux->sanitizeText($v["custom_field_name"]);