WordPress.org

Plugin Directory

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

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