User registration & user profile – Profile Builder - Version 1.1

Version Description

Added a new user-interface (borrowed from the awesome plugin OptionTree created by Derek Herman), and bugfixes.

Download this release

Release Info

Developer reflectionmedia
Plugin Icon 128x128 User registration & user profile – Profile Builder
Version 1.1
Comparing to
See all releases

Code changes from version 1.0.10 to 1.1

Files changed (59) hide show
  1. assets/css/front.end.css +90 -0
  2. assets/css/premium.style.css +932 -0
  3. assets/css/style.css +932 -0
  4. assets/images/accept.png +0 -0
  5. assets/images/ad_image.png +0 -0
  6. assets/images/attachment.png +0 -0
  7. assets/images/bad.png +0 -0
  8. assets/images/black_px.png +0 -0
  9. assets/images/btn.png +0 -0
  10. assets/images/empty.gif +0 -0
  11. assets/images/good.png +0 -0
  12. assets/images/header.png +0 -0
  13. assets/images/header_classic.png +0 -0
  14. assets/images/icon_add.png +0 -0
  15. assets/images/icon_arrow.png +0 -0
  16. assets/images/icon_delete.png +0 -0
  17. assets/images/icon_edit.png +0 -0
  18. assets/images/icon_error.png +0 -0
  19. assets/images/icon_header.png +0 -0
  20. assets/images/icon_up.png +0 -0
  21. assets/images/icon_up_down.png +0 -0
  22. assets/images/logo.png +0 -0
  23. assets/images/logo_free.png +0 -0
  24. assets/images/pb.png +0 -0
  25. assets/images/pb2.png +0 -0
  26. assets/images/pre_bg.gif +0 -0
  27. assets/images/pre_classic_bg.gif +0 -0
  28. assets/images/select.png +0 -0
  29. assets/images/tabs_bg.png +0 -0
  30. assets/images/tabs_bg_classic.png +0 -0
  31. assets/images/toggle_tabs.png +0 -0
  32. assets/images/white_px.png +0 -0
  33. assets/js/jquery.extra.fields.js +707 -0
  34. classes/class.admin.php +161 -0
  35. css/style.css +0 -38
  36. front-end/menu.file.php +294 -0
  37. front-end/options.php +109 -0
  38. front-end/wppb.edit.profile.php +559 -0
  39. includes/wppb-front-end-login.php → front-end/wppb.login.php +34 -12
  40. front-end/wppb.register.php +450 -0
  41. functions/functions.load.php +135 -0
  42. includes/wppb-front-end-profile.php +0 -317
  43. includes/wppb-front-end-register.php +0 -284
  44. includes/wppb-menu-file.php +0 -330
  45. index.php +128 -0
  46. profile-builder.php +0 -120
  47. readme.txt +42 -17
  48. screenshots/screenshot-1.jpg +0 -0
  49. screenshots/screenshot-2.jpg +0 -0
  50. screenshots/screenshot-3.jpg +0 -0
  51. screenshots/screenshot1.jpg +0 -0
  52. screenshots/screenshot2.jpg +0 -0
  53. screenshots/screenshot3.jpg +0 -0
  54. screenshots/screenshot4.jpg +0 -0
  55. screenshots/screenshot6.jpg +0 -0
  56. screenshots/screenshot7.jpg +0 -0
  57. translation/en_EN.mo +0 -0
  58. translation/en_EN.po +499 -0
  59. uninstall.php +24 -0
assets/css/front.end.css ADDED
@@ -0,0 +1,90 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ NOTES:
3
+ The global Profile Builder class is: wppb_holder
4
+ The id for the individual sections are: wppb_modify for [wppb-profile-info]
5
+ wppb_login for [wppb-registered-login]
6
+ wppb_register for [wppb-register-new]
7
+
8
+ */
9
+ /* WPPB_MODIFY, WPPB_REGISTER, WPPB_LOGIN */
10
+
11
+ #wppb_modify p, #wppb_register p, #wppb_login p{
12
+ clear:both;
13
+ }
14
+
15
+ .wppb-rc-value{
16
+ font-size:12px;
17
+ margin-right:10px;
18
+ vertical-align:middle;
19
+ }
20
+
21
+ .wppb-max-upload{
22
+ font-size:11px;
23
+ display: block;
24
+ text-align: right;
25
+ }
26
+
27
+ .wppb-description-delimiter{
28
+ display:block;
29
+ font-size:12px;
30
+ font-weight:normal;
31
+ font-style:italic;
32
+ padding-left:15px;
33
+ margin-left:30%;
34
+ }
35
+
36
+ #wppb_modify p label, #wppb_register p label, #wppb_login p label{
37
+ width:30%;
38
+ float:left;
39
+ clear:left;
40
+ padding-right:15px;
41
+ }
42
+ #wppb_modify input[type=text], #wppb_modify input[type=password], #wppb_modify select, #wppb_modify textarea, #wppb_register input[type=text], #wppb_register input[type=password], #wppb_register select, #wppb_register textarea, #wppb_login input[type=text], #wppb_login input[type=password], #wppb_login select, #wppb_login textarea{
43
+ width:60%;
44
+ margin-bottom:5px;
45
+ }
46
+
47
+ #wppb_modify input[type="checkbox"], #wppb_modify input[type="radio"], #wppb_register input[type="checkbox"], #wppb_register input[type="radio"], #wppb_login input[type="checkbox"], #wppb_login input[type="radio"]{
48
+ vertical-align:middle;
49
+ margin:5px;
50
+ }
51
+
52
+
53
+ #wppb_register .send-confirmation-email label{
54
+ width:auto;
55
+ float:none;
56
+ }
57
+
58
+ .changes-saved, .success{
59
+ color:green;
60
+ }
61
+ .semi-saved{
62
+ color:orange;
63
+ }
64
+
65
+ .warning, .error{
66
+ color:red;
67
+ }
68
+
69
+ .wppb-cattachment, .wppb-dattachment{
70
+ margin:0 5px;
71
+ }
72
+
73
+ .send-confirmation-email .wppb-description-delimiter{
74
+ display:inline;
75
+ margin:0;
76
+ padding:0;
77
+ }
78
+
79
+ #wppb_login .login-form-submit label{
80
+ float:none;
81
+ }
82
+
83
+ /*
84
+ .avatar-border span{
85
+ background: none repeat scroll 0 0 #F1F1F1;
86
+ border: 5px solid #6EAB1D;
87
+ color: black;
88
+ display: inline-block;
89
+ padding: 5px;
90
+ }*/
assets/css/premium.style.css ADDED
@@ -0,0 +1,932 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* Profile Builder CSS File*/
2
+ /*
3
+ Original Plugin Name: OptionTree
4
+ Original Plugin URI: http://wp.envato.com
5
+ Original Author: Derek Herman
6
+ Original Author URI: http://valendesigns.com
7
+ */
8
+ #wpwrap {
9
+ min-width: 990px;
10
+ }
11
+ strong {
12
+ color: #000;
13
+ }
14
+ .clear {
15
+ clear: both;
16
+ }
17
+ .hide,
18
+ #contextual-help-link-wrap {
19
+ display: none;
20
+ }
21
+ .left {
22
+ float: left !important;
23
+ }
24
+ .right {
25
+ float: right !important;
26
+ }
27
+ p {
28
+ padding-bottom: 14px;
29
+ }
30
+ a {
31
+ text-decoration: none;
32
+ }
33
+ a strong {
34
+ color: #21759B !important;
35
+ }
36
+ a:hover strong {
37
+ color: #d54e21 !important;
38
+ }
39
+ #framework_wrap .error {
40
+ display: none !important;
41
+ }
42
+ #framework_wrap {
43
+ position: relative;
44
+ width: 788px;
45
+ margin: 15px;
46
+ }
47
+ #framework_wrap #header {
48
+ -webkit-border-top-left-radius: 8px;
49
+ -webkit-border-top-right-radius: 8px;
50
+ -moz-border-radius-topleft: 8px;
51
+ -moz-border-radius-topright: 8px;
52
+ border-top-left-radius: 8px;
53
+ border-top-right-radius: 8px;
54
+ background: #6d6d6d url(../images/header.png) repeat-x left top;
55
+ border: 1px solid #555;
56
+ height: 71px;
57
+ width: 785px;
58
+ position: relative;
59
+ }
60
+ #framework_wrap #header h1 {
61
+ width: 225px;
62
+ height: 50px;
63
+ background: url(../images/logo.png) no-repeat 0 0;
64
+ text-indent: -9999px;
65
+ margin: 10px 0 0 20px;
66
+ }
67
+
68
+ #framework_wrap #header span.icon {
69
+ position: absolute;
70
+ display: block;
71
+ right: 20px;
72
+ top: 18px;
73
+ height: 32px;
74
+ width: 32px;
75
+ text-indent: -9999px;
76
+ /*background: url(../images/icon_option.png) no-repeat left center;*/
77
+ }
78
+ #framework_wrap #header div.version {
79
+ text-align: left;
80
+ position: absolute;
81
+ left: 85px;
82
+ top: 50px;
83
+ font-size: 9px !important;
84
+ line-height: 10px;
85
+ color: #111;
86
+ font-style: normal;
87
+ font-family: Verdana,Arial,sans-serif;
88
+ text-transform: uppercase;
89
+ font-weight: normal;
90
+ text-shadow: 0 1px 0 #888;
91
+ letter-spacing: -0.05em;
92
+ }
93
+ #framework_wrap #content_wrap {
94
+ border: 1px solid #aaa;
95
+ border-top: none;
96
+ background: #fff;
97
+ width: 785px;
98
+ position: relative;
99
+ }
100
+ #framework_wrap #content_wrap .info {
101
+ background: #eaf2fa;
102
+ background: #f9f9f9;
103
+ height: 35px;
104
+ border-top: 1px solid #fff;
105
+ border-bottom: 1px solid #e3e3e3;
106
+ }
107
+ a.toggle_tabs {
108
+ cursor: pointer;
109
+ background: url(../images/toggle_tabs.png) no-repeat -2px -1px;
110
+ display: block;
111
+ height: 22px;
112
+ width: 21px;
113
+ float: left;
114
+ text-indent: -9999px;
115
+ margin: 5px 5px 0 19px;
116
+ border: 1px solid #bbb;
117
+ -webkit-border-radius: 4px;
118
+ -moz-border-radius: 4px;
119
+ border-radius: 4px;
120
+ }
121
+ .no-tabs a.toggle_tabs {
122
+ display: none;
123
+ }
124
+ a:hover.toggle_tabs {
125
+ border-color: #666;
126
+ }
127
+ a.off {
128
+ background-position: -2px -26px;
129
+ }
130
+ #framework_wrap #content_wrap .bottom {
131
+ border-top: 1px solid #fff !important;
132
+ border-bottom: none !important;
133
+
134
+ background: #f1f1f1;
135
+ }
136
+ #framework_wrap #content_wrap .info input.button-framework {
137
+ float: right;
138
+ margin: 5px 20px 0 0;
139
+ padding: 4px 10px;
140
+ font-size: 11px;
141
+ height: 24px;
142
+ }
143
+ #framework_wrap #content_wrap .info input.add-item {
144
+ float: left;
145
+ margin-left: 20px;
146
+ }
147
+ #framework_wrap #content_wrap .info input.reset {
148
+ margin-left: 20px;
149
+ color: #d54e45;
150
+ float: left;
151
+ }
152
+ #framework_wrap #content_wrap a.reset {
153
+ margin-right: 10px;
154
+ color: #d54e45;
155
+ }
156
+ .ajax-message {
157
+ position: absolute;
158
+ left: 300px;
159
+ top: 100px;
160
+ width: 200px;
161
+ z-index: 100;
162
+ display: none;
163
+ overflow: visible;
164
+ }
165
+ #framework_wrap #content_wrap .message {
166
+ text-align: center;
167
+ color: #444;
168
+ text-shadow: 0 1px 0 #fff;
169
+ font-size: 12px;
170
+ line-height: 16px;
171
+ padding: 20px 10px;
172
+ background: #f3f3f3;
173
+ border: 1px solid #bbb;
174
+ -webkit-border-radius: 5px;
175
+ -moz-border-radius: 5px;
176
+ border-radius: 5px;
177
+ -moz-box-shadow: 0px 2px 5px #eee;
178
+ -webkit-box-shadow: 0px 2px 5px #eee;
179
+ box-shadow: 0px 2px 5px #eee;
180
+ }
181
+ #framework_wrap #content_wrap .message span {
182
+ display: block;
183
+ height: 16px;
184
+ width: 16px;
185
+ position: absolute;
186
+ left: -8px;
187
+ top: -8px;
188
+ background: url(../images/icon_add.png) no-repeat 0 0;
189
+ }
190
+ #framework_wrap #content_wrap .message.warning span {
191
+ background-image: url(../images/icon_error.png);
192
+ }
193
+ /* Primary Form Button */
194
+ #framework_wrap input.button-framework {
195
+ cursor: pointer;
196
+ font-size: 12px;
197
+ color: #444;
198
+ text-shadow: 0 1px 0 #fff;
199
+ background: #f3f3f3 url(../images/btn.png) repeat-x 0 0;
200
+ border: 1px solid #bbb;
201
+ padding: 5px 10px;
202
+ }
203
+ #framework_wrap input:hover.button-framework {
204
+ color: #000;
205
+ border-color: #666;
206
+ }
207
+ #framework_wrap a.button-framework {
208
+ cursor: pointer;
209
+ font-size: 12px;
210
+ color: #444;
211
+ text-shadow: 0 1px 0 #fff;
212
+ background: #f3f3f3 url(../images/btn.png) repeat-x 0 0;
213
+ border: 1px solid #bbb;
214
+ padding: 3px 10px 3px 10px;
215
+ -webkit-border-radius: 4px;
216
+ -moz-border-radius: 4px;
217
+ border-radius: 4px;
218
+ text-decoration: none;
219
+ float: left;
220
+ position: relative;
221
+ left: 1px;
222
+ }
223
+ #framework_wrap div.inline-edit-save a.button-framework {
224
+ padding: 2px 10px 2px 10px;
225
+ font-size: 11px;
226
+ }
227
+ #framework_wrap a:hover.button-framework {
228
+ color: #000;
229
+ border-color: #666;
230
+ }
231
+
232
+ #framework_wrap a.button-framework.light {
233
+ border: 1px solid #dfdfdf;
234
+ color: #464646;
235
+ }
236
+ #framework_wrap a:hover.button-framework.light {
237
+ color: #000;
238
+ border-color: #adaca7;
239
+ }
240
+
241
+ /* Ads in free version */
242
+ #framework_wrap #content_wrap .basic-version-info {
243
+ height:113px;
244
+ background:#fffbcc;
245
+ }
246
+ #framework_wrap #content_wrap .basic-version-info form{
247
+ float:right;
248
+ margin-right:13px;
249
+ margin-top:30px;
250
+ }
251
+ #framework_wrap #content_wrap .basic-version-info a{
252
+ position:absolute;
253
+ width:140px;
254
+ top:80px;
255
+ margin-left:60px;
256
+
257
+ }
258
+
259
+ /* Content Inner */
260
+ #framework_wrap #content {
261
+ padding: 0;
262
+ width: 785px;
263
+ border-bottom: 1px solid #e3e3e3;
264
+ position: relative;
265
+ }
266
+ .screenshot {
267
+ float: right;
268
+ margin-left: 1px;
269
+ position: relative;
270
+ width: 344px;
271
+ }
272
+ .screenshot img {
273
+ max-width: 334px;
274
+ padding: 4px;
275
+ border: 1px solid #ccc;
276
+ background: #fafafa;
277
+ border-color: #ccc #eee #eee #ccc;
278
+ -webkit-border-radius: 4px;
279
+ -moz-border-radius: 4px;
280
+ border-radius: 4px;
281
+ float: right;
282
+ }
283
+ .screenshot a {
284
+ text-decoration: none;
285
+ padding-left: 20px;
286
+ }
287
+ .screenshot a.remove {
288
+ background: url(../images/icon_delete.png) no-repeat 0 0;
289
+ display: block;
290
+ height: 16px;
291
+ width: 16px;
292
+ position: absolute;
293
+ bottom: -4px;
294
+ right: -4px;
295
+ text-indent: -9999px;
296
+ float: left;
297
+ padding: 0;
298
+ border: none;
299
+ }
300
+ .screenshot .no_image a.remove {
301
+ left: 0;
302
+ top: 2px;
303
+ }
304
+ .option-upload .element {
305
+ padding-bottom: 5px;
306
+ }
307
+ #framework_wrap #content h2 {
308
+ margin-bottom: 10px;
309
+ border-bottom: 1px solid #e5e5e5;
310
+ }
311
+ #framework_wrap #content h3 {
312
+ border-bottom: 1px solid #eee;
313
+ margin: 0 0 15px 0;
314
+ padding-bottom: 10px;
315
+ clear: both;
316
+ font-size: 14px;
317
+ }
318
+ h3.text-title {
319
+ font: italic 20px/30px Georgia,"Times New Roman","Bitstream Charter",Times,serif !important;
320
+ }
321
+ #framework_wrap #content tbody tr.inline-edit-option td h3 {
322
+ border-bottom-color: #ddd;
323
+ }
324
+ #framework_wrap #content .block {
325
+ display: block;
326
+ overflow: hidden;
327
+ padding: 20px;
328
+ }
329
+ #framework_wrap #content p {
330
+ font-size: 11px;
331
+ color: #555;
332
+ padding-bottom: 20px;
333
+ margin: 0;
334
+ }
335
+ #framework_wrap #content table {
336
+ border: 1px solid #dfdfdf;
337
+ width: 100%;
338
+ text-align: left;
339
+ border-spacing: 0;
340
+ border-style: solid;
341
+ border-width: 1px;
342
+ font-size: 11px !important;
343
+ text-shadow: 0 1px 0 #fff;
344
+ -webkit-border-radius: 4px;
345
+ -moz-border-radius: 4px;
346
+ border-radius: 4px;
347
+ }
348
+ #framework_wrap #content2 table {
349
+ border: 0px solid #dfdfdf;
350
+ width: 100%;
351
+ text-align: left;
352
+ border-spacing: 0;
353
+ border-style: solid;
354
+ border-width: 1px;
355
+ font-size: 11px !important;
356
+ text-shadow: 0 1px 0 #fff;
357
+ -webkit-border-radius: 4px;
358
+ -moz-border-radius: 4px;
359
+ border-radius: 4px;
360
+ }
361
+
362
+ #framework_wrap #content .has-table table th {
363
+ background: #f1f1f1;
364
+ background-image: -moz-linear-gradient(top, #f9f9f9, #f1f1f1);
365
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#f9f9f9), to(#f1f1f1));
366
+ }
367
+ tbody tr:hover {
368
+ cursor: pointer;
369
+ }
370
+ tbody tr.inline-edit-option {
371
+ }
372
+ tbody tr.inline-edit-option td {
373
+ background: #f1f1f1;
374
+ border-top: 1px solid #fff;
375
+ border-left: 1px solid #fff;
376
+ border-right: 1px solid #fff;
377
+ }
378
+ tbody tr:hover.inline-edit-option {
379
+ cursor: default;
380
+ }
381
+ #framework_wrap #content .has-table table #framework-settings .dragging {
382
+ background: #666 url(../images/black_px.png) repeat-x 0 0;
383
+ color: #fff;
384
+ text-shadow: 0 1px 0 #000;
385
+ }
386
+ #framework_wrap #content .has-table table #framework-settings .dragging td {
387
+ border-color: #000;
388
+ }
389
+ #framework_wrap #content .has-table table #framework-settings .dragging .col-edit {
390
+ background: url(../images/icon_up_down.png) no-repeat 63px center;
391
+ }
392
+ #framework_wrap #content .has-table table #framework-settings .dragging a.edit-inline,
393
+ #framework_wrap #content .has-table table #framework-settings .dragging a.delete-inline {
394
+ display: none;
395
+ }
396
+ .col-title {
397
+ padding-left: 10px !important;
398
+ width: 200px;
399
+ }
400
+ .col-type {
401
+ width: 60px;
402
+ }
403
+ .col-edit {
404
+ width: 45px;
405
+ padding-left: 40px !important;
406
+ padding-right: 0px !important;
407
+ }
408
+ .has-table table tr:first-child {
409
+ cursor: default;
410
+ }
411
+ .has-table table .col-heading {
412
+ background: #eaf3fa;
413
+ }
414
+ .has-table table .col-heading td:first-child {
415
+ font-weight: bold;
416
+ background: transparent url(../images/icon_header.png) no-repeat 10px 11px;
417
+ padding-left: 30px !important;
418
+ }
419
+ .has-table table thead th,
420
+ .has-table table td {
421
+ border-bottom: 1px solid #dfdfdf;
422
+ }
423
+ .has-table table tr,
424
+ .has-table table td,
425
+ .has-table table th {
426
+ padding: 10px 10px;
427
+ font-size: 11px !important;
428
+ }
429
+ .has-table table th {
430
+ padding: 6px 10px;
431
+ font-size: 11px !important;
432
+ }
433
+ .has-table table a {
434
+ text-decoration: none;
435
+ }
436
+ /* Inline Edit */
437
+ .inline-edit-option {
438
+ display: none;
439
+ }
440
+ a.edit-inline,
441
+ a.delete-inline,
442
+ a.add-option {
443
+ background: url(../images/icon_edit.png) no-repeat 0 0;
444
+ display: block;
445
+ height: 16px;
446
+ width: 16px;
447
+ text-indent: -9999px;
448
+ float: left;
449
+ margin-right: 5px;
450
+ display: block;
451
+ }
452
+ a.delete-inline {
453
+ background-image: url(../images/icon_delete.png);
454
+ }
455
+ a.add-option {
456
+ background-image: url(../images/icon_add.png);
457
+ margin-left: 21px;
458
+ }
459
+ a:hover.edit-inline {
460
+ border-color: #666;
461
+ }
462
+ a:hover.delete-inline {
463
+ border-color: #d54e45;
464
+ }
465
+ #framework_wrap #content .option {
466
+ padding-bottom: 15px;
467
+ }
468
+ #framework_wrap #content .option .section {
469
+ overflow: hidden;
470
+ font-size: 11px;
471
+ }
472
+ #framework_wrap #content .option .section .element {
473
+ float: left;
474
+ margin: 0 15px 0 0;
475
+ width: 345px;
476
+ }
477
+ #framework_wrap #content .option-checkbox .section .element {
478
+ width: 25px;
479
+ }
480
+ #framework_wrap #content .option .section .description {
481
+ color: #555;
482
+ float: left;
483
+ font-size: 11px;
484
+ padding: 2px 10px 0 0;
485
+ width: 370px;
486
+ }
487
+ div.desc-text p {
488
+ color: #555;
489
+ font-size: 11px !important;
490
+ }
491
+ #framework_wrap #content .inline-edit-option .option .section .description {
492
+ width: 325px;
493
+ padding-top: 0px;
494
+ }
495
+ #framework_wrap #content .option-checkbox .section .description {
496
+ width: 540px;
497
+ }
498
+ #framework_wrap #content label {
499
+
500
+ }
501
+ .input_wrap {
502
+ padding: 4px 10px 12px 0;
503
+ float: left;
504
+ width: 350px;
505
+ }
506
+ .option-checbox .input_wrap,
507
+ .option-radio .input_wrap {
508
+ padding: 4px 10px 4px 0;
509
+ width: 325px;
510
+ }
511
+ .option-checbox .element {
512
+ border: none;
513
+ max-height: 260px;
514
+ height: auto !important;
515
+ height: expression( document.body.clientHeight > 260 ? "260px" : "auto" );
516
+ overflow-y: auto;
517
+ overflow-x: hidden;
518
+ }
519
+ .input_wrap input[type="checkbox"],
520
+ .input_wrap input[type="radio"] {
521
+ float: left;
522
+ width: 20px;
523
+ margin-top: 3px;
524
+ vertical-align: bottom;
525
+ }
526
+ .input_wrap input[type="radio"] {
527
+ margin-top: 4px;
528
+ }
529
+ .input_wrap label {
530
+ float: left;
531
+ width: 325px;
532
+ }
533
+ .option-checbox .input_wrap label,
534
+ .option-radio .input_wrap label {
535
+ width: 300px;
536
+ }
537
+ #framework_wrap #content label input {
538
+ margin-right: 5px;
539
+ display: block;
540
+ float: left;
541
+ }
542
+ #framework_wrap #content input[type="text"],
543
+ #framework_wrap #content select,
544
+ #framework_wrap #content textarea {
545
+ background: #fafafa;
546
+ border-color: #ccc #eee #eee #ccc;
547
+ border-style: solid;
548
+ border-width: 1px;
549
+ font-family: "Lucida Grande","Lucida Sans Unicode",Arial,Verdana,sans-serif;
550
+ font-size: 12px;
551
+ margin-bottom: 9px !important;
552
+ padding: 5px;
553
+ width: 344px;
554
+ display: block;
555
+ color: #888;
556
+ resize: none;
557
+ }
558
+ #framework_wrap #content tbody tr.inline-edit-option td input[type="text"],
559
+ #framework_wrap #content tbody tr.inline-edit-option td select,
560
+ #framework_wrap #content tbody tr.inline-edit-option td textarea {
561
+ background: #fff;
562
+ }
563
+ #framework_wrap #content input[type="text"].upload {
564
+ width: 281px;
565
+ float: left;
566
+ }
567
+ #framework_wrap #content input[type="text"].cp_input {
568
+ width: 312px !important;
569
+ float: left;
570
+ }
571
+ .cp_box {
572
+ float: right;
573
+ width: 25px;
574
+ height: 25px;
575
+ position: relative;
576
+ top: 1px;
577
+ border: 1px solid #ccc;
578
+ border-color: #ccc #eee #eee #ccc;
579
+ background: #fafafa;
580
+ -webkit-border-radius: 4px;
581
+ -moz-border-radius: 4px;
582
+ border-radius: 4px;
583
+ }
584
+ .cp_box div {
585
+ width: 13px;
586
+ height: 13px;
587
+ border: 1px solid #bbb;
588
+ border-color: #eee #ccc #ccc #eee;
589
+ background: #fafafa url(../images/empty.gif);
590
+ position: absolute;
591
+ left: 5px;
592
+ top: 5px;
593
+ box-shadow: 1px 1px 0px #ccc;
594
+ -webkit-box-shadow: 1px 1px 0px #ccc;
595
+ -moz-box-shadow: 1px 1px 0px #ccc;
596
+ }
597
+ #framework_wrap #content .element small {
598
+ float: left;
599
+ font-size: 9px;
600
+ line-height: 9px;
601
+ color: #999;
602
+ position: relative;
603
+ top: -5px;
604
+ left: 2px;
605
+ }
606
+ .upload_button,
607
+ .upload_file_button,
608
+ .ob_button {
609
+ float: right;
610
+ padding: 5px;
611
+ cursor: pointer;
612
+ color: #444;
613
+ text-shadow: 0 1px 0 #fff;
614
+ background: #f3f3f3 url(../images/btn.png) repeat-x 0 0 !important;
615
+ border: 1px solid #bbb;
616
+ position: relative;
617
+ right: -1px;
618
+ height: 27px;
619
+ }
620
+ #framework_wrap #content select {
621
+ height: 28px;
622
+ padding: 4px 5px;
623
+ }
624
+ #framework_wrap #content input[type="text"]:focus,
625
+ #framework_wrap #content select:focus,
626
+ #framework_wrap #content textarea:focus,
627
+ #framework_wrap #content input[type="text"]:hover,
628
+ #framework_wrap #content select:hover,
629
+ #framework_wrap #content textarea:hover {
630
+ background: #fff;
631
+ border-color: #bbb #eee #eee #bbb;
632
+ color: #333;
633
+ }
634
+ #framework_wrap *:focus {
635
+ outline: none;
636
+ }
637
+ #framework_wrap *::-moz-focus-inner {
638
+ border: none;
639
+ }
640
+ .bottom_btn {
641
+ float: left;
642
+ width: 100%;
643
+ padding-top: 15px;
644
+ }
645
+ #framework_wrap #content .select_wrapper {
646
+ -moz-border-radius: 4px;
647
+ -webkit-border-radius: 4px;
648
+ border-radius: 4px;
649
+ font-family: "Lucida Grande","Lucida Sans Unicode",Arial,Verdana,sans-serif;
650
+ font-size: 12px;
651
+ background: #fafafa url(../images/select.png) no-repeat right center;
652
+ border-color: #ccc #eee #eee #ccc;
653
+ border-style: solid;
654
+ border-width: 1px;
655
+ float: left;
656
+ height: 26px;
657
+ width: 344px;
658
+ margin: 0;
659
+ margin-bottom: 9px !important;
660
+ width: 344px;
661
+ display: block;
662
+ color: #888;
663
+ }
664
+ #framework_wrap #content .option-type .select_wrapper {
665
+ background-color: #fff;
666
+ }
667
+ #framework_wrap #content .select_wrapper.measurement {
668
+ width: 65px;
669
+ float: right;
670
+ margin-top: 1px;
671
+ }
672
+ #framework_wrap #content input.measurement {
673
+ width: 269px;
674
+ float: left;
675
+ padding-top: 6px;
676
+ }
677
+ #framework_wrap #content .select_wrapper:hover {
678
+ background-color: #fff;
679
+ border-color: #bbb #eee #eee #bbb;
680
+ color: #333;
681
+ }
682
+ #framework_wrap #content select.select {
683
+ cursor: pointer;
684
+ height: 28px;
685
+ margin: 0;
686
+ -moz-opacity: 0;
687
+ filter: alpha(opacity: 0);
688
+ opacity: 0;
689
+ padding: 0;
690
+ position: relative;
691
+ width: inherit;
692
+ z-index: 4;
693
+ }
694
+ #framework_wrap #content .select_wrapper span {
695
+ height: 26px;
696
+ line-height: 26px;
697
+ position: absolute;
698
+ z-index: 2;
699
+ padding-left: 6px;
700
+ }
701
+ /* Image Slider */
702
+ .option-tree-slider {
703
+ background: #eaf3fa;
704
+ padding: 0px 10px;
705
+ margin-bottom: 8px;
706
+ text-shadow: 0 1px 0 #fff;
707
+ position: relative;
708
+ /* CSS3 */
709
+ -webkit-border-radius: 4px;
710
+ -moz-border-radius: 4px;
711
+ border-radius: 4px;
712
+ -moz-box-shadow: 1px 1px 0px #ccc;
713
+ -webkit-box-shadow: 1px 1px 0px #ccc;
714
+ box-shadow: 1px 1px 0px #ccc;
715
+ }
716
+ .option-tree-slider p {
717
+ padding-bottom: 5px !important;
718
+ margin-bottom: 0px !important;
719
+ }
720
+ #framework_wrap #content .option-option-tree-slider .section .element input[type="text"],
721
+ #framework_wrap #content .option-option-tree-slider .section .element textarea {
722
+ background: #fff;
723
+ width: 323px;
724
+ }
725
+ .option-tree-slider-wrap .edit {
726
+ position: absolute;
727
+ height: 16px;
728
+ width: 16px;
729
+ display: block;
730
+ text-indent: -9999px;
731
+ background: url(../images/icon_edit.png);
732
+ top: 6px;
733
+ right: 27px;
734
+ z-index: 10;
735
+ }
736
+ .option-tree-slider-wrap .edit.down {
737
+ background: url(../images/icon_up.png) !important;
738
+ }
739
+ .option-tree-slider-wrap .trash {
740
+ position: absolute;
741
+ height: 16px;
742
+ width: 16px;
743
+ display: block;
744
+ text-indent: -9999px;
745
+ background: url(../images/icon_delete.png);
746
+ top: 6px;
747
+ right: 6px;
748
+ z-index: 10;
749
+ }
750
+ .option-tree-slider-wrap .open {
751
+ padding: 5px 0px;
752
+ padding-right: 40px;
753
+ display: block;
754
+ font-size: 11px;
755
+ }
756
+ .option-tree-slider-wrap .option-tree-slider-body {
757
+ display: ;
758
+ }
759
+ /* Docs */
760
+ #framework_wrap #options_tabs.docs {
761
+ font-size: 11px !important;
762
+ color: #555;
763
+ }
764
+ #framework_wrap code {
765
+ font-size: 10px;
766
+ }
767
+ #framework_wrap ul.doc_list {
768
+ font-size: 11px !important;
769
+ padding-bottom: 20px;
770
+ }
771
+ #framework_wrap .doc_list li {
772
+ padding-bottom: 0px;
773
+ line-height: 12px;
774
+ list-style: disc;
775
+ margin-left: 16px;
776
+ }
777
+ #framework_wrap code {
778
+ background-color: #f1f1f1;
779
+ color: #000;
780
+ }
781
+ #framework_wrap pre {
782
+ font-size: 13px;
783
+ padding: 0;
784
+ margin: 0;
785
+ line-height: 18px;
786
+ overflow: auto;
787
+ overflow-Y: hidden;
788
+ padding-top: 18px;
789
+ background: #f1f1f1;
790
+ border-bottom: 1px solid #f1f1f1;
791
+ margin-bottom: 20px;
792
+ color: #000;
793
+ white-space:pre-wrap;
794
+ word-wrap:break-word;
795
+ }
796
+ #framework_wrap pre code {
797
+ padding: 0 18px 18px 18px;
798
+ display: block;
799
+ background: url(../images/pre_bg.gif) repeat left top; /*--Background of lined paper--*/
800
+ }
801
+ /* Tabs */
802
+ .options_tabs {
803
+ display: none;
804
+ }
805
+ .ui-tabs {
806
+ zoom: 1;
807
+ background: url(../images/tabs_bg.png) repeat-y 0 0;
808
+ }
809
+ .ui-tabs .options_tabs {
810
+ display: block;
811
+ }
812
+ .ui-tabs-panel .description {
813
+ width: 225px !important;
814
+ }
815
+ .ui-tabs-panel .inline-edit-option .description {
816
+ width: 200px !important;
817
+ }
818
+ .ui-tabs-panel h2 {
819
+ display: none;
820
+ }
821
+ .ui-tabs .ui-tabs-nav {
822
+ list-style: none;
823
+ position: relative;
824
+ float: left;
825
+ width: 148px;
826
+ word-wrap: break-word;
827
+ }
828
+ .ui-tabs .ui-tabs-nav li {
829
+ position: relative;
830
+ float: left;
831
+ display: block;
832
+ margin: 0;
833
+ padding: 0;
834
+ overflow: visible;
835
+ }
836
+ .ui-tabs .ui-tabs-nav li a {
837
+ float: left;
838
+ text-decoration: none;
839
+ display: block;
840
+ width: 127px;
841
+ padding: 8px 10px;
842
+ border-bottom: 1px solid #e3e3e3;
843
+ color: #21759B;
844
+ text-shadow: 0 1px 0 #fff;
845
+ background-image: url(../images/white_px.png);
846
+ background-repeat: repeat-x;
847
+ background-position: 0 0;
848
+ font-size: 11px;
849
+ }
850
+ .ui-tabs .ui-tabs-nav li.ui-tabs-selected a,
851
+ .ui-tabs .ui-tabs-nav li.ui-tabs-selected a:hover {
852
+ background: #fff;
853
+ color: #d54e45;
854
+ width: 128px;
855
+ }
856
+ .ui-tabs .ui-tabs-nav li.ui-state-disabled a,
857
+ .ui-tabs .ui-tabs-nav li.ui-state-processing a {
858
+ cursor: text;
859
+ }
860
+ .ui-tabs .ui-tabs-nav li a,
861
+ .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a {
862
+ cursor: pointer;
863
+ }
864
+ .ui-tabs .ui-tabs-nav li.ui-state-hover a {
865
+ background-color: #eaf2fa;
866
+ color: #555;
867
+ }
868
+ .ui-tabs .ui-tabs-panel {
869
+ display: block;
870
+ float: right;
871
+ width: 595px;
872
+ min-height: 400px;
873
+ }
874
+ .ui-tabs .ui-tabs-hide {
875
+ display: none !important;
876
+ }
877
+ .options_tabs li.ui-tabs-selected span {
878
+ position: absolute;
879
+ left: -1px;
880
+ top: 12px;
881
+ height: 9px;
882
+ width: 8px;
883
+ background: url(../images/icon_arrow.png) no-repeat 0 0;
884
+ }
885
+
886
+
887
+
888
+ /* file input */
889
+ div.file_wrap {
890
+ position: relative;
891
+ float: left;
892
+ width: 345px;
893
+ }
894
+ div.fake_file {
895
+ position: absolute;
896
+ top: 0px;
897
+ left: 0px;
898
+ z-index: 1;
899
+ }
900
+ div.fake_file input.upload {
901
+ margin-right: 3px;
902
+ width: 279px !important;
903
+ }
904
+ input.file {
905
+ background: none;
906
+ position: relative;
907
+ text-align: right;
908
+ float: right;
909
+ height: 28px;
910
+ -moz-opacity: 0;
911
+ filter: alpha(opacity: 0);
912
+ opacity: 0;
913
+ z-index: 2;
914
+ }
915
+
916
+ #register-profile-builder .validateStatus{
917
+
918
+ }
919
+ .wppb-serialnumber-descr{
920
+ padding-left:100px;
921
+ }
922
+ #wppb_profile_builder_pro_serial{
923
+ width:335px;
924
+ }
925
+
926
+ #plugin-layout input[type="submit"], #show-hide-admin-bar input[type="submit"], #default-fields input[type="submit"], #register-profile-builder input[type="submit"] {
927
+ position:absolute;
928
+ bottom:0;
929
+ right:0;
930
+ margin-bottom:-30px;
931
+ margin-right:25px;
932
+ }
assets/css/style.css ADDED
@@ -0,0 +1,932 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* Profile Builder CSS File*/
2
+ /*
3
+ Original Plugin Name: OptionTree
4
+ Original Plugin URI: http://wp.envato.com
5
+ Original Author: Derek Herman
6
+ Original Author URI: http://valendesigns.com
7
+ */
8
+ #wpwrap {
9
+ min-width: 990px;
10
+ }
11
+ strong {
12
+ color: #000;
13
+ }
14
+ .clear {
15
+ clear: both;
16
+ }
17
+ .hide,
18
+ #contextual-help-link-wrap {
19
+ display: none;
20
+ }
21
+ .left {
22
+ float: left !important;
23
+ }
24
+ .right {
25
+ float: right !important;
26
+ }
27
+ p {
28
+ padding-bottom: 14px;
29
+ }
30
+ a {
31
+ text-decoration: none;
32
+ }
33
+ a strong {
34
+ color: #21759B !important;
35
+ }
36
+ a:hover strong {
37
+ color: #d54e21 !important;
38
+ }
39
+ #framework_wrap .error {
40
+ display: none !important;
41
+ }
42
+ #framework_wrap {
43
+ position: relative;
44
+ width: 788px;
45
+ margin: 15px;
46
+ }
47
+ #framework_wrap #header {
48
+ -webkit-border-top-left-radius: 8px;
49
+ -webkit-border-top-right-radius: 8px;
50
+ -moz-border-radius-topleft: 8px;
51
+ -moz-border-radius-topright: 8px;
52
+ border-top-left-radius: 8px;
53
+ border-top-right-radius: 8px;
54
+ background: #6d6d6d url(../images/header.png) repeat-x left top;
55
+ border: 1px solid #555;
56
+ height: 71px;
57
+ width: 785px;
58
+ position: relative;
59
+ }
60
+ #framework_wrap #header h1 {
61
+ width: 225px;
62
+ height: 50px;
63
+ background: url(../images/logo_free.png) no-repeat 0 0;
64
+ text-indent: -9999px;
65
+ margin: 10px 0 0 20px;
66
+ }
67
+
68
+ #framework_wrap #header span.icon {
69
+ position: absolute;
70
+ display: block;
71
+ right: 20px;
72
+ top: 18px;
73
+ height: 32px;
74
+ width: 32px;
75
+ text-indent: -9999px;
76
+ /*background: url(../images/icon_option.png) no-repeat left center;*/
77
+ }
78
+ #framework_wrap #header div.version {
79
+ text-align: left;
80
+ position: absolute;
81
+ left: 85px;
82
+ top: 50px;
83
+ font-size: 9px !important;
84
+ line-height: 10px;
85
+ color: #111;
86
+ font-style: normal;
87
+ font-family: Verdana,Arial,sans-serif;
88
+ text-transform: uppercase;
89
+ font-weight: normal;
90
+ text-shadow: 0 1px 0 #888;
91
+ letter-spacing: -0.05em;
92
+ }
93
+ #framework_wrap #content_wrap {
94
+ border: 1px solid #aaa;
95
+ border-top: none;
96
+ background: #fff;
97
+ width: 785px;
98
+ position: relative;
99
+ }
100
+ #framework_wrap #content_wrap .info {
101
+ background: #eaf2fa;
102
+ background: #f9f9f9;
103
+ height: 35px;
104
+ border-top: 1px solid #fff;
105
+ border-bottom: 1px solid #e3e3e3;
106
+ }
107
+ a.toggle_tabs {
108
+ cursor: pointer;
109
+ background: url(../images/toggle_tabs.png) no-repeat -2px -1px;
110
+ display: block;
111
+ height: 22px;
112
+ width: 21px;
113
+ float: left;
114
+ text-indent: -9999px;
115
+ margin: 5px 5px 0 19px;
116
+ border: 1px solid #bbb;
117
+ -webkit-border-radius: 4px;
118
+ -moz-border-radius: 4px;
119
+ border-radius: 4px;
120
+ }
121
+ .no-tabs a.toggle_tabs {
122
+ display: none;
123
+ }
124
+ a:hover.toggle_tabs {
125
+ border-color: #666;
126
+ }
127
+ a.off {
128
+ background-position: -2px -26px;
129
+ }
130
+ #framework_wrap #content_wrap .bottom {
131
+ border-top: 1px solid #fff !important;
132
+ border-bottom: none !important;
133
+
134
+ background: #f1f1f1;
135
+ }
136
+ #framework_wrap #content_wrap .info input.button-framework {
137
+ float: right;
138
+ margin: 5px 20px 0 0;
139
+ padding: 4px 10px;
140
+ font-size: 11px;
141
+ height: 24px;
142
+ }
143
+ #framework_wrap #content_wrap .info input.add-item {
144
+ float: left;
145
+ margin-left: 20px;
146
+ }
147
+ #framework_wrap #content_wrap .info input.reset {
148
+ margin-left: 20px;
149
+ color: #d54e45;
150
+ float: left;
151
+ }
152
+ #framework_wrap #content_wrap a.reset {
153
+ margin-right: 10px;
154
+ color: #d54e45;
155
+ }
156
+ .ajax-message {
157
+ position: absolute;
158
+ left: 300px;
159
+ top: 100px;
160
+ width: 200px;
161
+ z-index: 100;
162
+ display: none;
163
+ overflow: visible;
164
+ }
165
+ #framework_wrap #content_wrap .message {
166
+ text-align: center;
167
+ color: #444;
168
+ text-shadow: 0 1px 0 #fff;
169
+ font-size: 12px;
170
+ line-height: 16px;
171
+ padding: 20px 10px;
172
+ background: #f3f3f3;
173
+ border: 1px solid #bbb;
174
+ -webkit-border-radius: 5px;
175
+ -moz-border-radius: 5px;
176
+ border-radius: 5px;
177
+ -moz-box-shadow: 0px 2px 5px #eee;
178
+ -webkit-box-shadow: 0px 2px 5px #eee;
179
+ box-shadow: 0px 2px 5px #eee;
180
+ }
181
+ #framework_wrap #content_wrap .message span {
182
+ display: block;
183
+ height: 16px;
184
+ width: 16px;
185
+ position: absolute;
186
+ left: -8px;
187
+ top: -8px;
188
+ background: url(../images/icon_add.png) no-repeat 0 0;
189
+ }
190
+ #framework_wrap #content_wrap .message.warning span {
191
+ background-image: url(../images/icon_error.png);
192
+ }
193
+ /* Primary Form Button */
194
+ #framework_wrap input.button-framework {
195
+ cursor: pointer;
196
+ font-size: 12px;
197
+ color: #444;
198
+ text-shadow: 0 1px 0 #fff;
199
+ background: #f3f3f3 url(../images/btn.png) repeat-x 0 0;
200
+ border: 1px solid #bbb;
201
+ padding: 5px 10px;
202
+ }
203
+ #framework_wrap input:hover.button-framework {
204
+ color: #000;
205
+ border-color: #666;
206
+ }
207
+ #framework_wrap a.button-framework {
208
+ cursor: pointer;
209
+ font-size: 12px;
210
+ color: #444;
211
+ text-shadow: 0 1px 0 #fff;
212
+ background: #f3f3f3 url(../images/btn.png) repeat-x 0 0;
213
+ border: 1px solid #bbb;
214
+ padding: 3px 10px 3px 10px;
215
+ -webkit-border-radius: 4px;
216
+ -moz-border-radius: 4px;
217
+ border-radius: 4px;
218
+ text-decoration: none;
219
+ float: left;
220
+ position: relative;
221
+ left: 1px;
222
+ }
223
+ #framework_wrap div.inline-edit-save a.button-framework {
224
+ padding: 2px 10px 2px 10px;
225
+ font-size: 11px;
226
+ }
227
+ #framework_wrap a:hover.button-framework {
228
+ color: #000;
229
+ border-color: #666;
230
+ }
231
+
232
+ #framework_wrap a.button-framework.light {
233
+ border: 1px solid #dfdfdf;
234
+ color: #464646;
235
+ }
236
+ #framework_wrap a:hover.button-framework.light {
237
+ color: #000;
238
+ border-color: #adaca7;
239
+ }
240
+
241
+ /* Ads in free version */
242
+ #framework_wrap #content_wrap .basic-version-info {
243
+ height:113px;
244
+ background:#fffbcc;
245
+ }
246
+ #framework_wrap #content_wrap .basic-version-info form{
247
+ float:right;
248
+ margin-right:13px;
249
+ margin-top:30px;
250
+ }
251
+ #framework_wrap #content_wrap .basic-version-info a{
252
+ position:absolute;
253
+ width:140px;
254
+ top:80px;
255
+ margin-left:60px;
256
+
257
+ }
258
+
259
+ /* Content Inner */
260
+ #framework_wrap #content {
261
+ padding: 0;
262
+ width: 785px;
263
+ border-bottom: 1px solid #e3e3e3;
264
+ position: relative;
265
+ }
266
+ .screenshot {
267
+ float: right;
268
+ margin-left: 1px;
269
+ position: relative;
270
+ width: 344px;
271
+ }
272
+ .screenshot img {
273
+ max-width: 334px;
274
+ padding: 4px;
275
+ border: 1px solid #ccc;
276
+ background: #fafafa;
277
+ border-color: #ccc #eee #eee #ccc;
278
+ -webkit-border-radius: 4px;
279
+ -moz-border-radius: 4px;
280
+ border-radius: 4px;
281
+ float: right;
282
+ }
283
+ .screenshot a {
284
+ text-decoration: none;
285
+ padding-left: 20px;
286
+ }
287
+ .screenshot a.remove {
288
+ background: url(../images/icon_delete.png) no-repeat 0 0;
289
+ display: block;
290
+ height: 16px;
291
+ width: 16px;
292
+ position: absolute;
293
+ bottom: -4px;
294
+ right: -4px;
295
+ text-indent: -9999px;
296
+ float: left;
297
+ padding: 0;
298
+ border: none;
299
+ }
300
+ .screenshot .no_image a.remove {
301
+ left: 0;
302
+ top: 2px;
303
+ }
304
+ .option-upload .element {
305
+ padding-bottom: 5px;
306
+ }
307
+ #framework_wrap #content h2 {
308
+ margin-bottom: 10px;
309
+ border-bottom: 1px solid #e5e5e5;
310
+ }
311
+ #framework_wrap #content h3 {
312
+ border-bottom: 1px solid #eee;
313
+ margin: 0 0 15px 0;
314
+ padding-bottom: 10px;
315
+ clear: both;
316
+ font-size: 14px;
317
+ }
318
+ h3.text-title {
319
+ font: italic 20px/30px Georgia,"Times New Roman","Bitstream Charter",Times,serif !important;
320
+ }
321
+ #framework_wrap #content tbody tr.inline-edit-option td h3 {
322
+ border-bottom-color: #ddd;
323
+ }
324
+ #framework_wrap #content .block {
325
+ display: block;
326
+ overflow: hidden;
327
+ padding: 20px;
328
+ }
329
+ #framework_wrap #content p {
330
+ font-size: 11px;
331
+ color: #555;
332
+ padding-bottom: 20px;
333
+ margin: 0;
334
+ }
335
+ #framework_wrap #content table {
336
+ border: 1px solid #dfdfdf;
337
+ width: 100%;
338
+ text-align: left;
339
+ border-spacing: 0;
340
+ border-style: solid;
341
+ border-width: 1px;
342
+ font-size: 11px !important;
343
+ text-shadow: 0 1px 0 #fff;
344
+ -webkit-border-radius: 4px;
345
+ -moz-border-radius: 4px;
346
+ border-radius: 4px;
347
+ }
348
+ #framework_wrap #content2 table {
349
+ border: 0px solid #dfdfdf;
350
+ width: 100%;
351
+ text-align: left;
352
+ border-spacing: 0;
353
+ border-style: solid;
354
+ border-width: 1px;
355
+ font-size: 11px !important;
356
+ text-shadow: 0 1px 0 #fff;
357
+ -webkit-border-radius: 4px;
358
+ -moz-border-radius: 4px;
359
+ border-radius: 4px;
360
+ }
361
+
362
+ #framework_wrap #content .has-table table th {
363
+ background: #f1f1f1;
364
+ background-image: -moz-linear-gradient(top, #f9f9f9, #f1f1f1);
365
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#f9f9f9), to(#f1f1f1));
366
+ }
367
+ tbody tr:hover {
368
+ cursor: pointer;
369
+ }
370
+ tbody tr.inline-edit-option {
371
+ }
372
+ tbody tr.inline-edit-option td {
373
+ background: #f1f1f1;
374
+ border-top: 1px solid #fff;
375
+ border-left: 1px solid #fff;
376
+ border-right: 1px solid #fff;
377
+ }
378
+ tbody tr:hover.inline-edit-option {
379
+ cursor: default;
380
+ }
381
+ #framework_wrap #content .has-table table #framework-settings .dragging {
382
+ background: #666 url(../images/black_px.png) repeat-x 0 0;
383
+ color: #fff;
384
+ text-shadow: 0 1px 0 #000;
385
+ }
386
+ #framework_wrap #content .has-table table #framework-settings .dragging td {
387
+ border-color: #000;
388
+ }
389
+ #framework_wrap #content .has-table table #framework-settings .dragging .col-edit {
390
+ background: url(../images/icon_up_down.png) no-repeat 63px center;
391
+ }
392
+ #framework_wrap #content .has-table table #framework-settings .dragging a.edit-inline,
393
+ #framework_wrap #content .has-table table #framework-settings .dragging a.delete-inline {
394
+ display: none;
395
+ }
396
+ .col-title {
397
+ padding-left: 10px !important;
398
+ width: 200px;
399
+ }
400
+ .col-type {
401
+ width: 60px;
402
+ }
403
+ .col-edit {
404
+ width: 45px;
405
+ padding-left: 40px !important;
406
+ padding-right: 0px !important;
407
+ }
408
+ .has-table table tr:first-child {
409
+ cursor: default;
410
+ }
411
+ .has-table table .col-heading {
412
+ background: #eaf3fa;
413
+ }
414
+ .has-table table .col-heading td:first-child {
415
+ font-weight: bold;
416
+ background: transparent url(../images/icon_header.png) no-repeat 10px 11px;
417
+ padding-left: 30px !important;
418
+ }
419
+ .has-table table thead th,
420
+ .has-table table td {
421
+ border-bottom: 1px solid #dfdfdf;
422
+ }
423
+ .has-table table tr,
424
+ .has-table table td,
425
+ .has-table table th {
426
+ padding: 10px 10px;
427
+ font-size: 11px !important;
428
+ }
429
+ .has-table table th {
430
+ padding: 6px 10px;
431
+ font-size: 11px !important;
432
+ }
433
+ .has-table table a {
434
+ text-decoration: none;
435
+ }
436
+ /* Inline Edit */
437
+ .inline-edit-option {
438
+ display: none;
439
+ }
440
+ a.edit-inline,
441
+ a.delete-inline,
442
+ a.add-option {
443
+ background: url(../images/icon_edit.png) no-repeat 0 0;
444
+ display: block;
445
+ height: 16px;
446
+ width: 16px;
447
+ text-indent: -9999px;
448
+ float: left;
449
+ margin-right: 5px;
450
+ display: block;
451
+ }
452
+ a.delete-inline {
453
+ background-image: url(../images/icon_delete.png);
454
+ }
455
+ a.add-option {
456
+ background-image: url(../images/icon_add.png);
457
+ margin-left: 21px;
458
+ }
459
+ a:hover.edit-inline {
460
+ border-color: #666;
461
+ }
462
+ a:hover.delete-inline {
463
+ border-color: #d54e45;
464
+ }
465
+ #framework_wrap #content .option {
466
+ padding-bottom: 15px;
467
+ }
468
+ #framework_wrap #content .option .section {
469
+ overflow: hidden;
470
+ font-size: 11px;
471
+ }
472
+ #framework_wrap #content .option .section .element {
473
+ float: left;
474
+ margin: 0 15px 0 0;
475
+ width: 345px;
476
+ }
477
+ #framework_wrap #content .option-checkbox .section .element {
478
+ width: 25px;
479
+ }
480
+ #framework_wrap #content .option .section .description {
481
+ color: #555;
482
+ float: left;
483
+ font-size: 11px;
484
+ padding: 2px 10px 0 0;
485
+ width: 370px;
486
+ }
487
+ div.desc-text p {
488
+ color: #555;
489
+ font-size: 11px !important;
490
+ }
491
+ #framework_wrap #content .inline-edit-option .option .section .description {
492
+ width: 325px;
493
+ padding-top: 0px;
494
+ }
495
+ #framework_wrap #content .option-checkbox .section .description {
496
+ width: 540px;
497
+ }
498
+ #framework_wrap #content label {
499
+
500
+ }
501
+ .input_wrap {
502
+ padding: 4px 10px 12px 0;
503
+ float: left;
504
+ width: 350px;
505
+ }
506
+ .option-checbox .input_wrap,
507
+ .option-radio .input_wrap {
508
+ padding: 4px 10px 4px 0;
509
+ width: 325px;
510
+ }
511
+ .option-checbox .element {
512
+ border: none;
513
+ max-height: 260px;
514
+ height: auto !important;
515
+ height: expression( document.body.clientHeight > 260 ? "260px" : "auto" );
516
+ overflow-y: auto;
517
+ overflow-x: hidden;
518
+ }
519
+ .input_wrap input[type="checkbox"],
520
+ .input_wrap input[type="radio"] {
521
+ float: left;
522
+ width: 20px;
523
+ margin-top: 3px;
524
+ vertical-align: bottom;
525
+ }
526
+ .input_wrap input[type="radio"] {
527
+ margin-top: 4px;
528
+ }
529
+ .input_wrap label {
530
+ float: left;
531
+ width: 325px;
532
+ }
533
+ .option-checbox .input_wrap label,
534
+ .option-radio .input_wrap label {
535
+ width: 300px;
536
+ }
537
+ #framework_wrap #content label input {
538
+ margin-right: 5px;
539
+ display: block;
540
+ float: left;
541
+ }
542
+ #framework_wrap #content input[type="text"],
543
+ #framework_wrap #content select,
544
+ #framework_wrap #content textarea {
545
+ background: #fafafa;
546
+ border-color: #ccc #eee #eee #ccc;
547
+ border-style: solid;
548
+ border-width: 1px;
549
+ font-family: "Lucida Grande","Lucida Sans Unicode",Arial,Verdana,sans-serif;
550
+ font-size: 12px;
551
+ margin-bottom: 9px !important;
552
+ padding: 5px;
553
+ width: 344px;
554
+ display: block;
555
+ color: #888;
556
+ resize: none;
557
+ }
558
+ #framework_wrap #content tbody tr.inline-edit-option td input[type="text"],
559
+ #framework_wrap #content tbody tr.inline-edit-option td select,
560
+ #framework_wrap #content tbody tr.inline-edit-option td textarea {
561
+ background: #fff;
562
+ }
563
+ #framework_wrap #content input[type="text"].upload {
564
+ width: 281px;
565
+ float: left;
566
+ }
567
+ #framework_wrap #content input[type="text"].cp_input {
568
+ width: 312px !important;
569
+ float: left;
570
+ }
571
+ .cp_box {
572
+ float: right;
573
+ width: 25px;
574
+ height: 25px;
575
+ position: relative;
576
+ top: 1px;
577
+ border: 1px solid #ccc;
578
+ border-color: #ccc #eee #eee #ccc;
579
+ background: #fafafa;
580
+ -webkit-border-radius: 4px;
581
+ -moz-border-radius: 4px;
582
+ border-radius: 4px;
583
+ }
584
+ .cp_box div {
585
+ width: 13px;
586
+ height: 13px;
587
+ border: 1px solid #bbb;
588
+ border-color: #eee #ccc #ccc #eee;
589
+ background: #fafafa url(../images/empty.gif);
590
+ position: absolute;
591
+ left: 5px;
592
+ top: 5px;
593
+ box-shadow: 1px 1px 0px #ccc;
594
+ -webkit-box-shadow: 1px 1px 0px #ccc;
595
+ -moz-box-shadow: 1px 1px 0px #ccc;
596
+ }
597
+ #framework_wrap #content .element small {
598
+ float: left;
599
+ font-size: 9px;
600
+ line-height: 9px;
601
+ color: #999;
602
+ position: relative;
603
+ top: -5px;
604
+ left: 2px;
605
+ }
606
+ .upload_button,
607
+ .upload_file_button,
608
+ .ob_button {
609
+ float: right;
610
+ padding: 5px;
611
+ cursor: pointer;
612
+ color: #444;
613
+ text-shadow: 0 1px 0 #fff;
614
+ background: #f3f3f3 url(../images/btn.png) repeat-x 0 0 !important;
615
+ border: 1px solid #bbb;
616
+ position: relative;
617
+ right: -1px;
618
+ height: 27px;
619
+ }
620
+ #framework_wrap #content select {
621
+ height: 28px;
622
+ padding: 4px 5px;
623
+ }
624
+ #framework_wrap #content input[type="text"]:focus,
625
+ #framework_wrap #content select:focus,
626
+ #framework_wrap #content textarea:focus,
627
+ #framework_wrap #content input[type="text"]:hover,
628
+ #framework_wrap #content select:hover,
629
+ #framework_wrap #content textarea:hover {
630
+ background: #fff;
631
+ border-color: #bbb #eee #eee #bbb;
632
+ color: #333;
633
+ }
634
+ #framework_wrap *:focus {
635
+ outline: none;
636
+ }
637
+ #framework_wrap *::-moz-focus-inner {
638
+ border: none;
639
+ }
640
+ .bottom_btn {
641
+ float: left;
642
+ width: 100%;
643
+ padding-top: 15px;
644
+ }
645
+ #framework_wrap #content .select_wrapper {
646
+ -moz-border-radius: 4px;
647
+ -webkit-border-radius: 4px;
648
+ border-radius: 4px;
649
+ font-family: "Lucida Grande","Lucida Sans Unicode",Arial,Verdana,sans-serif;
650
+ font-size: 12px;
651
+ background: #fafafa url(../images/select.png) no-repeat right center;
652
+ border-color: #ccc #eee #eee #ccc;
653
+ border-style: solid;
654
+ border-width: 1px;
655
+ float: left;
656
+ height: 26px;
657
+ width: 344px;
658
+ margin: 0;
659
+ margin-bottom: 9px !important;
660
+ width: 344px;
661
+ display: block;
662
+ color: #888;
663
+ }
664
+ #framework_wrap #content .option-type .select_wrapper {
665
+ background-color: #fff;
666
+ }
667
+ #framework_wrap #content .select_wrapper.measurement {
668
+ width: 65px;
669
+ float: right;
670
+ margin-top: 1px;
671
+ }
672
+ #framework_wrap #content input.measurement {
673
+ width: 269px;
674
+ float: left;
675
+ padding-top: 6px;
676
+ }
677
+ #framework_wrap #content .select_wrapper:hover {
678
+ background-color: #fff;
679
+ border-color: #bbb #eee #eee #bbb;
680
+ color: #333;
681
+ }
682
+ #framework_wrap #content select.select {
683
+ cursor: pointer;
684
+ height: 28px;
685
+ margin: 0;
686
+ -moz-opacity: 0;
687
+ filter: alpha(opacity: 0);
688
+ opacity: 0;
689
+ padding: 0;
690
+ position: relative;
691
+ width: inherit;
692
+ z-index: 4;
693
+ }
694
+ #framework_wrap #content .select_wrapper span {
695
+ height: 26px;
696
+ line-height: 26px;
697
+ position: absolute;
698
+ z-index: 2;
699
+ padding-left: 6px;
700
+ }
701
+ /* Image Slider */
702
+ .option-tree-slider {
703
+ background: #eaf3fa;
704
+ padding: 0px 10px;
705
+ margin-bottom: 8px;
706
+ text-shadow: 0 1px 0 #fff;
707
+ position: relative;
708
+ /* CSS3 */
709
+ -webkit-border-radius: 4px;
710
+ -moz-border-radius: 4px;
711
+ border-radius: 4px;
712
+ -moz-box-shadow: 1px 1px 0px #ccc;
713
+ -webkit-box-shadow: 1px 1px 0px #ccc;
714
+ box-shadow: 1px 1px 0px #ccc;
715
+ }
716
+ .option-tree-slider p {
717
+ padding-bottom: 5px !important;
718
+ margin-bottom: 0px !important;
719
+ }
720
+ #framework_wrap #content .option-option-tree-slider .section .element input[type="text"],
721
+ #framework_wrap #content .option-option-tree-slider .section .element textarea {
722
+ background: #fff;
723
+ width: 323px;
724
+ }
725
+ .option-tree-slider-wrap .edit {
726
+ position: absolute;
727
+ height: 16px;
728
+ width: 16px;
729
+ display: block;
730
+ text-indent: -9999px;
731
+ background: url(../images/icon_edit.png);
732
+ top: 6px;
733
+ right: 27px;
734
+ z-index: 10;
735
+ }
736
+ .option-tree-slider-wrap .edit.down {
737
+ background: url(../images/icon_up.png) !important;
738
+ }
739
+ .option-tree-slider-wrap .trash {
740
+ position: absolute;
741
+ height: 16px;
742
+ width: 16px;
743
+ display: block;
744
+ text-indent: -9999px;
745
+ background: url(../images/icon_delete.png);
746
+ top: 6px;
747
+ right: 6px;
748
+ z-index: 10;
749
+ }
750
+ .option-tree-slider-wrap .open {
751
+ padding: 5px 0px;
752
+ padding-right: 40px;
753
+ display: block;
754
+ font-size: 11px;
755
+ }
756
+ .option-tree-slider-wrap .option-tree-slider-body {
757
+ display: ;
758
+ }
759
+ /* Docs */
760
+ #framework_wrap #options_tabs.docs {
761
+ font-size: 11px !important;
762
+ color: #555;
763
+ }
764
+ #framework_wrap code {
765
+ font-size: 10px;
766
+ }
767
+ #framework_wrap ul.doc_list {
768
+ font-size: 11px !important;
769
+ padding-bottom: 20px;
770
+ }
771
+ #framework_wrap .doc_list li {
772
+ padding-bottom: 0px;
773
+ line-height: 12px;
774
+ list-style: disc;
775
+ margin-left: 16px;
776
+ }
777
+ #framework_wrap code {
778
+ background-color: #f1f1f1;
779
+ color: #000;
780
+ }
781
+ #framework_wrap pre {
782
+ font-size: 13px;
783
+ padding: 0;
784
+ margin: 0;
785
+ line-height: 18px;
786
+ overflow: auto;
787
+ overflow-Y: hidden;
788
+ padding-top: 18px;
789
+ background: #f1f1f1;
790
+ border-bottom: 1px solid #f1f1f1;
791
+ margin-bottom: 20px;
792
+ color: #000;
793
+ white-space:pre-wrap;
794
+ word-wrap:break-word;
795
+ }
796
+ #framework_wrap pre code {
797
+ padding: 0 18px 18px 18px;
798
+ display: block;
799
+ background: url(../images/pre_bg.gif) repeat left top; /*--Background of lined paper--*/
800
+ }
801
+ /* Tabs */
802
+ .options_tabs {
803
+ display: none;
804
+ }
805
+ .ui-tabs {
806
+ zoom: 1;
807
+ background: url(../images/tabs_bg.png) repeat-y 0 0;
808
+ }
809
+ .ui-tabs .options_tabs {
810
+ display: block;
811
+ }
812
+ .ui-tabs-panel .description {
813
+ width: 225px !important;
814
+ }
815
+ .ui-tabs-panel .inline-edit-option .description {
816
+ width: 200px !important;
817
+ }
818
+ .ui-tabs-panel h2 {
819
+ display: none;
820
+ }
821
+ .ui-tabs .ui-tabs-nav {
822
+ list-style: none;
823
+ position: relative;
824
+ float: left;
825
+ width: 148px;
826
+ word-wrap: break-word;
827
+ }
828
+ .ui-tabs .ui-tabs-nav li {
829
+ position: relative;
830
+ float: left;
831
+ display: block;
832
+ margin: 0;
833
+ padding: 0;
834
+ overflow: visible;
835
+ }
836
+ .ui-tabs .ui-tabs-nav li a {
837
+ float: left;
838
+ text-decoration: none;
839
+ display: block;
840
+ width: 127px;
841
+ padding: 8px 10px;
842
+ border-bottom: 1px solid #e3e3e3;
843
+ color: #21759B;
844
+ text-shadow: 0 1px 0 #fff;
845
+ background-image: url(../images/white_px.png);
846
+ background-repeat: repeat-x;
847
+ background-position: 0 0;
848
+ font-size: 11px;
849
+ }
850
+ .ui-tabs .ui-tabs-nav li.ui-tabs-selected a,
851
+ .ui-tabs .ui-tabs-nav li.ui-tabs-selected a:hover {
852
+ background: #fff;
853
+ color: #d54e45;
854
+ width: 128px;
855
+ }
856
+ .ui-tabs .ui-tabs-nav li.ui-state-disabled a,
857
+ .ui-tabs .ui-tabs-nav li.ui-state-processing a {
858
+ cursor: text;
859
+ }
860
+ .ui-tabs .ui-tabs-nav li a,
861
+ .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a {
862
+ cursor: pointer;
863
+ }
864
+ .ui-tabs .ui-tabs-nav li.ui-state-hover a {
865
+ background-color: #eaf2fa;
866
+ color: #555;
867
+ }
868
+ .ui-tabs .ui-tabs-panel {
869
+ display: block;
870
+ float: right;
871
+ width: 595px;
872
+ min-height: 400px;
873
+ }
874
+ .ui-tabs .ui-tabs-hide {
875
+ display: none !important;
876
+ }
877
+ .options_tabs li.ui-tabs-selected span {
878
+ position: absolute;
879
+ left: -1px;
880
+ top: 12px;
881
+ height: 9px;
882
+ width: 8px;
883
+ background: url(../images/icon_arrow.png) no-repeat 0 0;
884
+ }
885
+
886
+
887
+
888
+ /* file input */
889
+ div.file_wrap {
890
+ position: relative;
891
+ float: left;
892
+ width: 345px;
893
+ }
894
+ div.fake_file {
895
+ position: absolute;
896
+ top: 0px;
897
+ left: 0px;
898
+ z-index: 1;
899
+ }
900
+ div.fake_file input.upload {
901
+ margin-right: 3px;
902
+ width: 279px !important;
903
+ }
904
+ input.file {
905
+ background: none;
906
+ position: relative;
907
+ text-align: right;
908
+ float: right;
909
+ height: 28px;
910
+ -moz-opacity: 0;
911
+ filter: alpha(opacity: 0);
912
+ opacity: 0;
913
+ z-index: 2;
914
+ }
915
+
916
+ #register-profile-builder .validateStatus{
917
+
918
+ }
919
+ .wppb-serialnumber-descr{
920
+ padding-left:100px;
921
+ }
922
+ #wppb_profile_builder_pro_serial{
923
+ width:335px;
924
+ }
925
+
926
+ #plugin-layout input[type="submit"], #show-hide-admin-bar input[type="submit"], #default-fields input[type="submit"], #register-profile-builder input[type="submit"] {
927
+ position:absolute;
928
+ bottom:0;
929
+ right:0;
930
+ margin-bottom:-30px;
931
+ margin-right:25px;
932
+ }
assets/images/accept.png ADDED
Binary file
assets/images/ad_image.png ADDED
Binary file
assets/images/attachment.png ADDED
Binary file
assets/images/bad.png ADDED
Binary file
assets/images/black_px.png ADDED
Binary file
assets/images/btn.png ADDED
Binary file
assets/images/empty.gif ADDED
Binary file
assets/images/good.png ADDED
Binary file
assets/images/header.png ADDED
Binary file
assets/images/header_classic.png ADDED
Binary file
assets/images/icon_add.png ADDED
Binary file
assets/images/icon_arrow.png ADDED
Binary file
assets/images/icon_delete.png ADDED
Binary file
assets/images/icon_edit.png ADDED
Binary file
assets/images/icon_error.png ADDED
Binary file
assets/images/icon_header.png ADDED
Binary file
assets/images/icon_up.png ADDED
Binary file
assets/images/icon_up_down.png ADDED
Binary file
assets/images/logo.png ADDED
Binary file
assets/images/logo_free.png ADDED
Binary file
assets/images/pb.png ADDED
Binary file
assets/images/pb2.png ADDED
Binary file
assets/images/pre_bg.gif ADDED
Binary file
assets/images/pre_classic_bg.gif ADDED
Binary file
assets/images/select.png ADDED
Binary file
assets/images/tabs_bg.png ADDED
Binary file
assets/images/tabs_bg_classic.png ADDED
Binary file
assets/images/toggle_tabs.png ADDED
Binary file
assets/images/white_px.png ADDED
Binary file
assets/js/jquery.extra.fields.js ADDED
@@ -0,0 +1,707 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ /**
3
+ *
4
+ * Delay
5
+ *
6
+ * Creates a way to delay events
7
+ * Dependencies: jQuery
8
+ *
9
+ */
10
+
11
+ /*
12
+ Original Plugin Name: OptionTree
13
+ Original Plugin URI: http://wp.envato.com
14
+ Original Author: Derek Herman
15
+ Original Author URI: http://valendesigns.com
16
+ */
17
+
18
+ (function ($) {
19
+ $.fn.delay = function(time,func){
20
+ return this.each(function(){
21
+ setTimeout(func,time);
22
+ });
23
+ };
24
+ })(jQuery);
25
+
26
+ /**
27
+ *
28
+ * Center AJAX
29
+ *
30
+ * Creates a way to center the AJAX message
31
+ * Dependencies: jQuery
32
+ *
33
+ */
34
+ (function ($) {
35
+ $.fn.ajaxMessage = function(html){
36
+ if (html) {
37
+ return $(this).animate({"top":( $(window).height() - $(this).height() ) / 2 - 200 + $(window).scrollTop() + "px"},100).fadeIn('fast').html(html).delay(3000, function(){$('.ajax-message').fadeOut()});
38
+ } else {
39
+ return $(this).animate({"top":( $(window).height() - $(this).height() ) / 2 - 200 + $(window).scrollTop() + "px"},100).fadeIn('fast').delay(3000, function(){$('.ajax-message').fadeOut()});
40
+ }
41
+ };
42
+ })(jQuery);
43
+
44
+ /**
45
+ *
46
+ * Style File
47
+ *
48
+ * Creates a way to cover file input with a better styled version
49
+ * Dependencies: jQuery
50
+ *
51
+ */
52
+ (function ($) {
53
+ styleFile = {
54
+ init: function () {
55
+ $('input.file').each(function(){
56
+ var uploadbutton = '<input class="upload_file_button" type="button" value="Upload" />';
57
+ $(this).wrap('<div class="file_wrap" />');
58
+ $(this).addClass('file').css('opacity', 0); //set to invisible
59
+ $(this).parent().append($('<div class="fake_file" />').append($('<input type="text" class="upload" />').attr('id',$(this).attr('id')+'_file')).append(uploadbutton));
60
+
61
+ $(this).bind('change', function() {
62
+ $('#'+$(this).attr('id')+'_file').val($(this).val());;
63
+ });
64
+ $(this).bind('mouseout', function() {
65
+ $('#'+$(this).attr('id')+'_file').val($(this).val());;
66
+ });
67
+ });
68
+ }
69
+ };
70
+ $(document).ready(function () {
71
+ styleFile.init()
72
+ })
73
+ })(jQuery);
74
+
75
+ /**
76
+ *
77
+ * Style Select
78
+ *
79
+ * Replace Select text
80
+ * Dependencies: jQuery
81
+ *
82
+ */
83
+ (function ($) {
84
+ styleSelect = {
85
+ init: function () {
86
+ $('.select_wrapper').each(function () {
87
+ $(this).prepend('<span>' + $(this).find('.select option:selected').text() + '</span>');
88
+ });
89
+ $('.select').live('change', function () {
90
+ $(this).prev('span').replaceWith('<span>' + $(this).find('option:selected').text() + '</span>');
91
+ });
92
+ $('.select').bind($.browser.msie ? 'click' : 'change', function(event) {
93
+ $(this).prev('span').replaceWith('<span>' + $(this).find('option:selected').text() + '</span>');
94
+ });
95
+ }
96
+ };
97
+ $(document).ready(function () {
98
+ styleSelect.init()
99
+ })
100
+ })(jQuery);
101
+
102
+ /**
103
+ *
104
+ * Activate Tabs
105
+ *
106
+ * Tab style UI toggle
107
+ * Dependencies: jQuery, jQuery UI Core, jQuery UI Tabs
108
+ *
109
+ */
110
+ (function ($) {
111
+ activateTabs = {
112
+ init: function () {
113
+ // Activate
114
+ $("#options_tabs").tabs();
115
+ // Append Toggle Button
116
+ $('.top-info').append('<a href="" class="toggle_tabs">Tabs</a>');
117
+ // Toggle Tabs
118
+ $('.toggle_tabs').toggle(function() {
119
+ $("#options_tabs").tabs('destroy');
120
+ $(this).addClass('off');
121
+ }, function() {
122
+ $("#options_tabs").tabs();
123
+ $(this).removeClass('off');
124
+ });
125
+ }
126
+ };
127
+ $(document).ready(function () {
128
+ activateTabs.init()
129
+ })
130
+ })(jQuery);
131
+
132
+ /**
133
+ *
134
+ * Upload Option
135
+ *
136
+ * Allows window.send_to_editor to function properly using a private post_id
137
+ * Dependencies: jQuery, Media Upload, Thickbox
138
+ *
139
+ */
140
+ (function ($) {
141
+ uploadOption = {
142
+ init: function () {
143
+ var formfield,
144
+ formID,
145
+ btnContent = true;
146
+ // On Click
147
+ $('.upload_button').live("click", function () {
148
+ formfield = $(this).prev('input').attr('name');
149
+ formID = $(this).attr('rel');
150
+ tb_show('', 'media-upload.php?post_id='+formID+'&type=image&amp;TB_iframe=1');
151
+ return false;
152
+ });
153
+
154
+ window.original_send_to_editor = window.send_to_editor;
155
+ window.send_to_editor = function(html) {
156
+ if (formfield) {
157
+ itemurl = $(html).attr('href');
158
+ var image = /(^.*\.jpg|jpeg|png|gif|ico*)/gi;
159
+ var document = /(^.*\.pdf|doc|docx|ppt|pptx|odt*)/gi;
160
+ var audio = /(^.*\.mp3|m4a|ogg|wav*)/gi;
161
+ var video = /(^.*\.mp4|m4v|mov|wmv|avi|mpg|ogv|3gp|3g2*)/gi;
162
+ if (itemurl.match(image)) {
163
+ btnContent = '<img src="'+itemurl+'" alt="" /><a href="" class="remove">Remove Image</a>';
164
+ } else {
165
+ btnContent = '<div class="no_image">'+html+'<a href="" class="remove">Remove</a></div>';
166
+ }
167
+ $('#' + formfield).val(itemurl);
168
+ $('#' + formfield).next().next('div').slideDown().html(btnContent);
169
+ tb_remove();
170
+ } else {
171
+ window.original_send_to_editor(html);
172
+ }
173
+ }
174
+ }
175
+ };
176
+ $(document).ready(function () {
177
+ uploadOption.init()
178
+ })
179
+ })(jQuery);
180
+
181
+ /**
182
+ *
183
+ * Inline Edit Options
184
+ *
185
+ * Creates & Updates Options via Ajax
186
+ * Dependencies: jQuery
187
+ *
188
+ */
189
+ (function ($) {
190
+ inlineEditOption = {
191
+ init: function () {
192
+ var c = this,
193
+ d = $("tr.inline-edit-option");
194
+ $('.save-options', '#the-theme-options').live("click", function () {
195
+ inlineEditOption.save_options(this);
196
+ return false;
197
+ });
198
+ $("a.edit-inline").live("click", function (event) {
199
+ if ($("a.edit-inline").hasClass('disable')) {
200
+ event.preventDefault();
201
+ return false;
202
+ } else {
203
+ inlineEditOption.edit(this);
204
+ return false;
205
+ }
206
+ });
207
+ $("a.save").live("click", function () {
208
+ if ($("a.save").hasClass('add-save')) {
209
+ inlineEditOption.addSave(this);
210
+ return false;
211
+ } else {
212
+ inlineEditOption.editSave(this);
213
+ return false;
214
+ }
215
+ });
216
+ $("a.cancel").live("click", function () {
217
+ if ($("a.cancel").hasClass('undo-add')) {
218
+ inlineEditOption.undoAdd();
219
+ return false;
220
+ } else {
221
+ inlineEditOption.revert();
222
+ return false;
223
+ }
224
+ });
225
+ $("a.add-option").live("click", function (event) {
226
+ if ($(this).hasClass('disable')) {
227
+ event.preventDefault();
228
+ return false;
229
+ } else {
230
+ $.post(
231
+ ajaxurl,
232
+ { action:'profile_builder_next_id', _ajax_nonce: $("#_ajax_nonce").val() },
233
+ function (response) {
234
+ c = parseInt(response) + 1;
235
+ inlineEditOption.add(c);
236
+ }
237
+ );
238
+ return false;
239
+ }
240
+ });
241
+ $('.delete-inline').live("click", function (event) {
242
+ if ($("a.delete-inline").hasClass('disable')) {
243
+ event.preventDefault();
244
+ return false;
245
+ } else {
246
+ var agree = confirm("Are you sure you want to delete this input?");
247
+ if (agree) {
248
+ inlineEditOption.remove(this);
249
+ return false;
250
+ } else {
251
+ return false;
252
+ }
253
+ }
254
+ });
255
+ // Fade out message div
256
+ if ($('.ajax-message').hasClass('show')) {
257
+ $('.ajax-message').ajaxMessage();
258
+ }
259
+ // Remove Uploaded Image
260
+ $('.remove').live('click', function(event) {
261
+ $(this).hide();
262
+ $(this).parents().prev().prev('.upload').attr('value', '');
263
+ $(this).parents('.screenshot').slideUp();
264
+ });
265
+ },
266
+ save_options: function (e) {
267
+ var d = {
268
+ action: "profile_builder_array_save"
269
+ };
270
+ b = $(':input', '#the-theme-options').serialize();
271
+ d = b + "&" + $.param(d);
272
+ $.post(ajaxurl, d, function (r) {
273
+ if (r != -1) {
274
+ $('.ajax-message').ajaxMessage('<div class="message"><span>&nbsp;</span>Theme Options were saved</div>');
275
+ $(".option-tree-slider-body").hide();
276
+ $('.option-tree-slider .edit').removeClass('down');
277
+ } else {
278
+ $('.ajax-message').ajaxMessage('<div class="message warning"><span>&nbsp;</span>Theme Options could not be saved</div>');
279
+ }
280
+ });
281
+ return false;
282
+ },
283
+ remove: function (b) {
284
+ var c = true;
285
+
286
+ // Set ID
287
+ c = $(b).parents("tr:first").attr('id');
288
+ c = c.substr(c.lastIndexOf("-") + 1);
289
+
290
+ d = {
291
+ action: "profile_builder_delete",
292
+ id: c,
293
+ _ajax_nonce: $("#_ajax_nonce").val()
294
+ };
295
+ $.post(ajaxurl, d, function (r) {
296
+ if (r) {
297
+ if (r == 'removed') {
298
+ $("#option-" + c).remove();
299
+ $('.ajax-message').ajaxMessage('<div class="message"><span>&nbsp;</span>Input deleted.</div>');
300
+ } else {
301
+ $('.ajax-message').ajaxMessage('<div class="message warning"><span>&nbsp;</span>'+r+'</div>');
302
+ }
303
+ } else {
304
+ $('.ajax-message').ajaxMessage('<div class="message warning"><span>&nbsp;</span>'+r+'</div>');
305
+ }
306
+ });
307
+ return false;
308
+ },
309
+ add: function (c) {
310
+ var e = this,
311
+ addRow, editRow = true, temp_select;
312
+ e.revert();
313
+
314
+ // Clone the blank main row
315
+ addRow = $('#inline-add').clone(true);
316
+ addRow = $(addRow).attr('id', 'option-'+c);
317
+
318
+ // Clone the blank edit row
319
+ editRow = $('#inline-edit').clone(true);
320
+
321
+ $('a.cancel', editRow).addClass('undo-add');
322
+ $('a.save', editRow).addClass('add-save');
323
+ $('a.edit-inline').addClass('disable');
324
+ $('a.delete-inline').addClass('disable');
325
+ $('a.add-option').addClass('disable');
326
+
327
+ // Set Colspan to 4
328
+ $('td', editRow).attr('colspan', 4);
329
+
330
+ // Add Row
331
+ $("#framework-settings tr:last").after(addRow);
332
+
333
+ // Add Row and hide
334
+ $(addRow).hide().after(editRow);
335
+
336
+ $('.item-data', addRow).attr('id', 'inline_'+c);
337
+
338
+ // Show The Editor
339
+ $(editRow).attr('id', 'edit-'+c).addClass('inline-editor').show();
340
+
341
+ $('.item_title', '#edit-'+c).focus();
342
+
343
+ $('.select').each(function () {
344
+ temp_select = $(this).prev('span').text();
345
+ if (temp_select == 'Heading') {
346
+ $('.option-desc', '#edit-'+c).hide();
347
+ $('.option-options', '#edit-'+c).hide();
348
+ }
349
+ });
350
+
351
+ $('.select').live('change', function () {
352
+ temp_select = $(this).prev('span').text();
353
+ if (temp_select == 'Heading') {
354
+ $('.option-desc', '#edit-'+c).hide();
355
+ $('.option-options', '#edit-'+c).hide();
356
+ } else if (
357
+ temp_select == 'Checkbox' ||
358
+ temp_select == 'Radio' ||
359
+ temp_select == 'Select'
360
+ ) {
361
+ $('.alternative').hide();
362
+ $('.regular').show();
363
+ $('.option-desc', '#edit-'+c).show();
364
+ $('.option-options', '#edit-'+c).show();
365
+ /* avatar */
366
+ }else if (temp_select == 'Avatar'){
367
+ $('.regular').hide();
368
+ $('.alternative').show().html('<strong>Avatar Size:</strong> Enter a numeric value (between 20 and 200) for the avatar size.');
369
+ $('.option-desc', editRow).show();
370
+ $('.option-options', editRow).show();
371
+ /* end avatar */
372
+ } else {
373
+ if (temp_select == 'Textarea') {
374
+ $('.regular').hide();
375
+ $('.alternative').show().html('<strong>Row Count:</strong> Enter a numeric value for the number of rows in your textarea.');
376
+ $('.option-desc', '#edit-'+c).show();
377
+ $('.option-options', '#edit-'+c).show();
378
+ } else if (
379
+ temp_select == 'Custom Post' ||
380
+ temp_select == 'Custom Posts'
381
+ ) {
382
+ $('.regular').hide();
383
+ $('.alternative').show().html('<strong>Post Type:</strong> Enter your custom post_type.');
384
+ $('.option-desc', '#edit-'+c).show();
385
+ $('.option-options', '#edit-'+c).show();
386
+ } else {
387
+ $('.option-desc', '#edit-'+c).show();
388
+ $('.option-options', '#edit-'+c).hide();
389
+ }
390
+ }
391
+ });
392
+
393
+ // Scroll
394
+ $('html, body').animate({ scrollTop: 2000 }, 500);
395
+
396
+ return false;
397
+ },
398
+ undoAdd: function (b) {
399
+ var e = this,
400
+ c = true;
401
+ e.revert();
402
+ c = $("#framework-settings tr:last").attr('id');
403
+ c = c.substr(c.lastIndexOf("-") + 1);
404
+
405
+ $("a.edit-inline").removeClass('disable');
406
+ $("a.delete-inline").removeClass('disable');
407
+ $("a.add-option").removeClass('disable');
408
+ $("#option-" + c).remove();
409
+
410
+ return false;
411
+ },
412
+ addSave: function (e) {
413
+ var d, b, c, f, g, itemId;
414
+ e = $("tr.inline-editor").attr("id");
415
+ e = e.substr(e.lastIndexOf("-") + 1);
416
+ f = $("#edit-" + e);
417
+ g = $("#inline_" + e);
418
+ itemId = $.trim($("input.item_id", f).val().toLowerCase()).replace(/(\s+)/g,'_');
419
+ if (!itemId) {
420
+ itemId = $.trim($("input.item_title", f).val().toLowerCase()).replace(/(\s+)/g,'_');
421
+ }
422
+ d = {
423
+ action: "profile_builder_add",
424
+ id: e,
425
+ item_id: itemId,
426
+ item_title: $("input.item_title", f).val(),
427
+ item_desc: $("textarea.item_desc", f).val(),
428
+ item_type: $("select.item_type", f).val(),
429
+ item_options: $("input.item_options", f).val()
430
+ };
431
+ b = $("#edit-" + e + " :input").serialize();
432
+ d = b + "&" + $.param(d);
433
+ $.post(ajaxurl, d, function (r) {
434
+ if (r) {
435
+ if (r == 'updated') {
436
+ inlineEditOption.afterSave(e);
437
+ $("#edit-" + e).remove();
438
+ $("#option-" + e).show();
439
+ $('.ajax-message').ajaxMessage('<div class="message"><span>&nbsp;</span>Input added.</div>');
440
+ $('#framework-settings').tableDnD({
441
+ onDragClass: "dragging",
442
+ onDrop: function(table, row) {
443
+ d = {
444
+ action: "profile_builder_sort",
445
+ id: $.tableDnD.serialize(),
446
+ _ajax_nonce: $("#_ajax_nonce").val()
447
+ };
448
+ $.post(ajaxurl, d, function (response) {
449
+
450
+ }, "html");
451
+ }
452
+ });
453
+ } else {
454
+ $('.ajax-message').ajaxMessage('<div class="message warning"><span>&nbsp;</span>'+r+'</div>');
455
+ }
456
+ } else {
457
+ $('.ajax-message').ajaxMessage('<div class="message warning"><span>&nbsp;</span>'+r+'</div>');
458
+ }
459
+ });
460
+
461
+ return false;
462
+ },
463
+ edit: function (b) {
464
+ var e = this,
465
+ c, editRow, rowData, item_title, item_id, item_type, item_desc, item_options = true, temp_select;
466
+ e.revert();
467
+
468
+ c = $(b).parents("tr:first").attr('id');
469
+ c = c.substr(c.lastIndexOf("-") + 1);
470
+
471
+ // Clone the blank row
472
+ editRow = $('#inline-edit').clone(true);
473
+ $('td', editRow).attr('colspan', 4);
474
+ $("#option-" + c).hide().after(editRow);
475
+
476
+ // First Option Settings
477
+ if ("#option-" + c == '#option-1') {
478
+ $('.option').hide();
479
+ $('.option-title').show().css({"paddingBottom":"1px"});
480
+ $('.description', editRow).html('First item must be a heading.');
481
+ }
482
+
483
+ // Populate the option data
484
+ rowData = $('#inline_' + c);
485
+
486
+ // Item Title
487
+ item_title = $('.item_title', rowData).text();
488
+ $('.item_title', editRow).attr('value', item_title);
489
+
490
+ // Item ID
491
+ item_id = $('.item_id', rowData).text();
492
+ $('.item_id', editRow).attr('value', item_id);
493
+
494
+ // Item Type
495
+ item_type = $('.item_type', rowData).text();
496
+ $('select[name=item_type] option[value='+item_type+']', editRow).attr('selected', true);
497
+ var temp_item_type = $('select[name=item_type] option[value='+item_type+']', editRow).text();
498
+ $('.select_wrapper span', editRow).text(temp_item_type);
499
+
500
+ // Item Description
501
+ item_desc = $('.item_desc', rowData).text();
502
+ $('.item_desc', editRow).attr('value', item_desc);
503
+
504
+ // Avatar size
505
+ item_avatar = $('.item_avatar', rowData).text();
506
+ $('.item_avatar', editRow).attr('value', item_avatar);
507
+
508
+ // Item Options
509
+ item_options = $('.item_options', rowData).text();
510
+ $('.item_options', editRow).attr('value', item_options);
511
+
512
+
513
+ $('.select', editRow).each(function () {
514
+ temp_select = $(this).prev('span').text();
515
+ if (temp_select == 'Heading') {
516
+ $('.option-desc', editRow).hide();
517
+ $('.option-options', editRow).hide();
518
+ } else if (
519
+ temp_select == 'Checkbox' ||
520
+ temp_select == 'Radio' ||
521
+ temp_select == 'Select'
522
+ ) {
523
+ $('.option-desc', editRow).show();
524
+ $('.option-options', editRow).show();
525
+ /*avatar */
526
+ } else if (temp_select == 'Avatar'){
527
+ $('.regular').hide();
528
+ $('.alternative').show().html('<strong>Avatar Size:</strong> Enter a numeric value (between 20 and 200) for size of the avatar.');
529
+ $('.option-desc', editRow).show();
530
+ $('.option-options', editRow).show();
531
+ /* end avatar */
532
+ } else {
533
+ if (temp_select == 'Textarea') {
534
+ $('.regular').hide();
535
+ $('.alternative').show().html('<strong>Row Count:</strong> Enter a numeric value for the number of rows in your textarea.');
536
+ $('.option-desc', editRow).show();
537
+ $('.option-options', editRow).show();
538
+ } else if (
539
+ temp_select == 'Custom Post' ||
540
+ temp_select == 'Custom Posts'
541
+ ) {
542
+ $('.regular').hide();
543
+ $('.alternative').show().html('<strong>Post Type:</strong> Enter your custom post_type.');
544
+ $('.option-desc', editRow).show();
545
+ $('.option-options', editRow).show();
546
+ } else {
547
+ $('.option-desc', editRow).show();
548
+ $('.option-options', editRow).hide();
549
+ }
550
+ }
551
+ });
552
+
553
+ $('.select').live('change', function () {
554
+ temp_select = $(this).prev('span').text();
555
+ if (temp_select == 'Heading') {
556
+ $('.option-desc', editRow).hide();
557
+ $('.option-options', editRow).hide();
558
+ } else if (
559
+ temp_select == 'Checkbox' ||
560
+ temp_select == 'Radio' ||
561
+ temp_select == 'Select'
562
+ ) {
563
+ $('.alternative').hide();
564
+ $('.regular').show();
565
+ $('.option-desc', editRow).show();
566
+ $('.option-options', editRow).show();
567
+ /*avatar */
568
+ } else if (temp_select == 'Avatar'){
569
+ $('.regular').hide();
570
+ $('.alternative').show().html('<strong>Avatar Size:</strong> Enter a numeric value (between 20 and 200) for size of the avatar.');
571
+ $('.option-desc', editRow).show();
572
+ $('.option-options', editRow).show();
573
+ /* end avatar */
574
+ } else {
575
+ if (temp_select == 'Textarea') {
576
+ $('.regular').hide();
577
+ $('.alternative').show().html('<strong>Row Count:</strong> Enter a numeric value for the number of rows in your textarea.');
578
+ $('.option-desc', editRow).show();
579
+ $('.option-options', editRow).show();
580
+ } else if (
581
+ temp_select == 'Custom Post' ||
582
+ temp_select == 'Custom Posts'
583
+ ) {
584
+ $('.regular').hide();
585
+ $('.alternative').show().html('<strong>Post Type:</strong> Enter your custom post_type.');
586
+ $('.option-desc', editRow).show();
587
+ $('.option-options', editRow).show();
588
+ } else {
589
+ $('.option-desc', editRow).show();
590
+ $('.option-options', editRow).hide();
591
+ }
592
+ }
593
+ });
594
+
595
+ // Show The Editor
596
+ $(editRow).attr('id', 'edit-'+c).addClass('inline-editor').show();
597
+
598
+ // Scroll
599
+ var target = $('#edit-'+c);
600
+ if (c > 1) {
601
+ var top = target.offset().top;
602
+ $('html,body').animate({scrollTop: top}, 500);
603
+ return false;
604
+ }
605
+
606
+ return false;
607
+ },
608
+ editSave: function (e) {
609
+ var d, b, c, f, g, itemId;
610
+ e = $("tr.inline-editor").attr("id");
611
+ e = e.substr(e.lastIndexOf("-") + 1);
612
+ f = $("#edit-" + e);
613
+ g = $("#inline_" + e);
614
+ itemId = $.trim($("input.item_id", f).val().toLowerCase()).replace(/(\s+)/g,'_');
615
+ if (!itemId) {
616
+ itemId = $.trim($("input.item_title", f).val().toLowerCase()).replace(/(\s+)/g,'_');
617
+ }
618
+ d = {
619
+ action: "profile_builder_edit",
620
+ id: e,
621
+ item_id: itemId,
622
+ item_title: $("input.item_title", f).val(),
623
+ item_desc: $("textarea.item_desc", f).val(),
624
+ item_type: $("select.item_type", f).val(),
625
+ item_options: $("input.item_options", f).val()
626
+ };
627
+ b = $("#edit-" + e + " :input").serialize();
628
+ d = b + "&" + $.param(d);
629
+ $.post(ajaxurl, d, function (r) {
630
+ if (r) {
631
+ if (r == 'updated') {
632
+ inlineEditOption.afterSave(e);
633
+ $("#edit-" + e).remove();
634
+ $("#option-" + e).show();
635
+ $('.ajax-message').ajaxMessage('<div class="message"><span>&nbsp;</span>Option Saved.</div>');
636
+ } else {
637
+ $('.ajax-message').ajaxMessage('<div class="message warning"><span>&nbsp;</span>'+r+'</div>');
638
+ }
639
+ } else {
640
+ $('.ajax-message').ajaxMessage('<div class="message warning"><span>&nbsp;</span>'+r+'</div>');
641
+ }
642
+ });
643
+ return false;
644
+ },
645
+ afterSave: function (e) {
646
+ var x, y, z,
647
+ n, m, o, p, q, r = true;
648
+ x = $("#edit-" + e);
649
+ y = $("#option-" + e);
650
+ z = $("#inline_" + e);
651
+ $('.option').show();
652
+ $('a.cancel', x).removeClass('undo-add');
653
+ $('a.save', x).removeClass('add-save');
654
+ $("a.add-option").removeClass('disable');
655
+ $('a.edit-inline').removeClass('disable');
656
+ $('a.delete-inline').removeClass('disable');
657
+ if (n = $("input.item_title", x).val()) {
658
+ if ($("select.item_type", x).val() != 'heading') {
659
+ $(y).removeClass('col-heading');
660
+ $('.col-title', y).attr('colspan', 1);
661
+ $(".col-key", y).show();
662
+ $(".col-type", y).show();
663
+ $(".col-title", y).text('- ' + n);
664
+ } else {
665
+ $(y).addClass('col-heading');
666
+ $('.col-title', y).attr('colspan', 3);
667
+ $(".col-key", y).hide();
668
+ $(".col-type", y).hide();
669
+ $(".col-title", y).text(n);
670
+ }
671
+ $(".item_title", z).text(n);
672
+ }
673
+ if (m = $.trim($("input.item_id", x).val().toLowerCase()).replace(/(\s+)/g,'_')) {
674
+ $(".col-key", y).text(m);
675
+ $(".item_id", z).text(m);
676
+ } else {
677
+ m = $.trim($("input.item_title", x).val().toLowerCase()).replace(/(\s+)/g,'_');
678
+ $(".col-key", y).text(m);
679
+ $(".item_id", z).text(m);
680
+ }
681
+ if (o = $("select.item_type option:selected", x).val()) {
682
+ $(".col-type", y).text(o);
683
+ $(".item_type", z).text(o);
684
+ }
685
+ if (p = $("textarea.item_desc", x).val()) {
686
+ $(".item_desc", z).text(p);
687
+ }
688
+ if (r = $("input.item_options", x).val()) {
689
+ $(".item_options", z).text(r);
690
+ }
691
+ },
692
+ revert: function () {
693
+ var b,
694
+ n, m, o, p, q, r = true;
695
+ if (b = $(".inline-editor").attr("id")) {
696
+ $('#'+ b).remove();
697
+ b = b.substr(b.lastIndexOf("-") + 1);
698
+ $('.option').show();
699
+ $("#option-" + b).show();
700
+ }
701
+ return false;
702
+ }
703
+ };
704
+ $(document).ready(function () {
705
+ inlineEditOption.init();
706
+ })
707
+ })(jQuery);
classes/class.admin.php ADDED
@@ -0,0 +1,161 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php if (!defined('ProfileBuilderVersion')) exit('No direct script access allowed');
2
+ /*
3
+ Original Plugin Name: OptionTree
4
+ Original Plugin URI: http://wp.envato.com
5
+ Original Author: Derek Herman
6
+ Original Author URI: http://valendesigns.com
7
+ */
8
+
9
+ /**
10
+ * Profile Builder Admin
11
+ *
12
+ */
13
+
14
+ class PB_Admin{
15
+ private $version = NULL;
16
+
17
+ function __construct(){
18
+ $this->version = ProfileBuilderVersion;
19
+ }
20
+
21
+ /**
22
+ * Initiate Plugin & setup main options
23
+ *
24
+ * @uses get_option()
25
+ * @uses add_option()
26
+ * @uses profile_builder_activate()
27
+ * @uses wp_redirect()
28
+ * @uses admin_url()
29
+ *
30
+ * @access public
31
+ *
32
+ *
33
+ * @return bool
34
+ */
35
+ function profile_builder_initialize(){
36
+ // check for activation
37
+ $check = get_option( 'profile_builder_activation' );
38
+
39
+ // redirect on activation
40
+ if ($check != "set") {
41
+ // add theme options
42
+ add_option( 'profile_builder_activation', 'set');
43
+
44
+ // load DB activation function if updating plugin
45
+ $this->profile_builder_activate();
46
+
47
+ // Redirect
48
+ wp_redirect( admin_url().'users.php?page=ProfileBuilderOptionsAndSettings' );
49
+ }
50
+ return false;
51
+ }
52
+
53
+
54
+ /**
55
+ * Plugin Activation
56
+ *
57
+ *
58
+ *
59
+ * @return void
60
+ */
61
+ function profile_builder_activate(){
62
+ global $wp_roles;
63
+
64
+ // check for installed version
65
+ $installed_ver = get_option( 'profile_builder_version' );
66
+
67
+ // New Version Update
68
+ if ( $installed_ver != $this->version ){
69
+ update_option( 'profile_builder_version', $this->version );
70
+ }
71
+ else if ( !$installed_ver ) {
72
+ add_option( 'profile_builder_version', $this->version );
73
+ }
74
+
75
+
76
+ $wppb_default_settings = array( 'username' => 'show',
77
+ 'firstname'=> 'show',
78
+ 'lastname' => 'show',
79
+ 'nickname' => 'show',
80
+ 'dispname' => 'show',
81
+ 'email' => 'show',
82
+ 'website' => 'show',
83
+ 'aim' => 'show',
84
+ 'yahoo' => 'show',
85
+ 'jabber' => 'show',
86
+ 'bio' => 'show',
87
+ 'password' => 'show');
88
+ add_option( 'wppb_default_settings', $wppb_default_settings ); //set all fields visible on first activation of the plugin
89
+ add_option( 'wppb_default_style', 'yes');
90
+ $all_roles = $wp_roles->roles;
91
+ $editable_roles = apply_filters('editable_roles', $all_roles);
92
+
93
+ $admintSettingsPresent = get_option('wppb_display_admin_settings','not_found');
94
+
95
+ if ($admintSettingsPresent == 'not_found'){ // if the field doesn't exists, then create it
96
+ $rolesArray = array();
97
+ foreach ( $editable_roles as $key => $data )
98
+ $rolesArray = array( $key => 'show' ) + $rolesArray;
99
+ $rolesArray = array_reverse($rolesArray,true);
100
+ add_option( 'wppb_display_admin_settings', $rolesArray);
101
+ }
102
+
103
+ }
104
+
105
+ /**
106
+ * Plugin Deactivation delete options
107
+ *
108
+ * @uses delete_option()
109
+ *
110
+ * @access public
111
+ *
112
+ *
113
+ * @return void
114
+ */
115
+ function profile_builder_deactivate() {
116
+ // remove activation check & version
117
+ delete_option( 'profile_builder_activation' );
118
+ delete_option( 'profile_builder_version' );
119
+ }
120
+
121
+ /**
122
+ * Add Admin Menu Items & Test Actions
123
+ *
124
+ *
125
+ * @return void
126
+ */
127
+ function profile_builder_admin(){
128
+ // create menu item
129
+ $profile_builder_options = add_submenu_page( 'users.php', 'Profile Builder', 'Profile Builder', 'delete_users', 'ProfileBuilderOptionsAndSettings', array( $this, 'profile_builder_options_page' ) );
130
+
131
+ // add menu item
132
+ add_action( "admin_print_styles-$profile_builder_options", array( $this, 'profile_builder_load' ) );
133
+ }
134
+
135
+ /**
136
+ * Load Scripts & Styles
137
+ *
138
+ * @uses wp_enqueue_style()
139
+ *
140
+ *
141
+ * @return void
142
+ */
143
+ function profile_builder_load(){
144
+ // enqueue styles
145
+ wp_enqueue_style( 'profile-builder-style', wppb_plugin_url.'/assets/css/style.css', false, $this->version, 'screen');
146
+
147
+ // enqueue scripts
148
+ add_thickbox();
149
+ wp_enqueue_script( 'jquery-extra-profile-fields', wppb_plugin_url.'/assets/js/jquery.extra.fields.js', array('jquery','media-upload','thickbox','jquery-ui-core','jquery-ui-tabs', 'jquery-ui-sortable'), $this->version );
150
+
151
+ // remove GD star rating conflicts
152
+ wp_deregister_style( 'gdsr-jquery-ui-core' );
153
+ wp_deregister_style( 'gdsr-jquery-ui-theme' );
154
+ }
155
+
156
+ function profile_builder_options_page() {
157
+ // Grab Options Page
158
+ include( wppb_plugin_dir.'/front-end/options.php' );
159
+ }
160
+
161
+ }
css/style.css DELETED
@@ -1,38 +0,0 @@
1
- /*
2
- NOTES:
3
- The global Profile Builder class is: wppb_holder
4
- The id for the individual sections are: wppb_modify for [wppb-profile-info]
5
- wppb_login for [wppb-registered-login]
6
- wppb_register for [wppb-register-new]
7
-
8
- */
9
- /* WPPB_MODIFY */
10
- #wppb_modify p label{
11
- display:block;
12
- }
13
- #wppb_modify input[type=text], #wppb_modify input[type=password], #wppb_modify select, #wppb_modify textarea{
14
- width:50%;
15
- margin-bottom:5px;
16
- }
17
- #wppb_modify textarea{
18
- width:70%;
19
- }
20
- .changes-saved, .success{
21
- color:green;
22
- }
23
- .warning, .error{
24
- color:red;
25
- }
26
-
27
- /* WPPB_REGISTER */
28
-
29
- #wppb_register p label{
30
- display:block;
31
- }
32
- #wppb_register input[type=text], #wppb_register input[type=password], #wppb_register select, #wppb_register textarea{
33
- width:50%;
34
- margin-bottom:5px;
35
- }
36
- #wppb_register textarea{
37
- width:70%;
38
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
front-end/menu.file.php ADDED
@@ -0,0 +1,294 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ function basic_info(){
3
+ ?>
4
+
5
+ <h2><?php _e('Profile Builder', 'profilebuilder');?></h2>
6
+ <h3><?php _e('Welcome to Profile Builder!', 'profilebuilder');?></h3>
7
+ <p>
8
+ <strong><?php _e('Profile Builder', 'profilebuilder');?></strong><?php _e(' lets you customize your website by adding a front-end menu for all your users, giving them a more flexible way to modify their user-information or to register new users.', 'profilebuilder');?><br/><br/>
9
+ <?php _e('Also, grants users with administrator rights to customize basic fields or to add new ones.', 'profilebuilder');?><br/><br/>
10
+ <?php _e('To achieve this, just create a new page, and give it an intuitive name(e.g. Edit Profile).', 'profilebuilder');?><br/>
11
+ <?php _e('Now all you need to do is add the following shortcode(for the previous example): ', 'profilebuilder');?>[wppb-edit-profile].<br/>
12
+ <?php _e('Publish your page and you are ready to go!', 'profilebuilder');?><br/><br/>
13
+ <?php _e('You can use the following shortcodes:', 'profilebuilder');?><br/>
14
+ &rarr; <strong>[wppb-login]</strong> - <?php _e('for a log-in form.', 'profilebuilder');?><br/>
15
+ &rarr; <strong>[wppb-register]</strong> - <?php _e('to add a registration form.', 'profilebuilder');?><br/>
16
+ &rarr; <strong>[wppb-edit-profile]</strong> - <?php _e('to grant users a front-end acces to their personal information(requires user to be logged in).', 'profilebuilder');?><br/><br/>
17
+
18
+ <?php _e('Users with administrator rights have access to the following features:', 'profilebuilder');?><br/>
19
+ &rarr; <?php _e('add a custom stylesheet/inherit values from the current theme or use one of the following built into this plugin: default, white or black.', 'profilebuilder');?><br/>
20
+ &rarr; <?php _e('select whether to display or not the admin bar in the front end for a specific user-group registered to the site.', 'profilebuilder');?><br/>
21
+ &rarr; <?php _e('select which information-field can users see/modify. The hidden fields\' values remain unmodified.', 'profilebuilder');?><br/>
22
+ &rarr; <?php _e('add custom fields to the existing ones, with several types to choose from: heading, text, textarea, select, checkbox, radio, and/or upload.', 'profilebuilder');?><br/>
23
+ &rarr; <?php _e('add an avatar field.', 'profilebuilder');?><br/>
24
+ <br/>
25
+
26
+ <strong><?php _e('NOTE:', 'profilebuilder');?></strong>
27
+ <?php _e('this plugin only adds/removes fields in the front-end.', 'profilebuilder');?><br/>
28
+ <?php _e('The default information-fields will still be visible(and thus modifiable)', 'profilebuilder');?>
29
+ <?php _e('from the back-end, while custom fields will only be visible in the front-end.', 'profilebuilder');?>
30
+ </p>
31
+
32
+ <?php
33
+ }
34
+ ?>
35
+
36
+ <?php
37
+ function plugin_layout(){
38
+ ?>
39
+ <form method="post" action="options.php#plugin-layout">
40
+ <?php $wppb_showDefaultCss = get_option('wppb_default_style'); ?>
41
+ <?php settings_fields('wppb_default_style'); ?>
42
+
43
+ <h2><?php _e('Plugin Layout', 'profilebuilder');?></h2>
44
+ <h3><?php _e('Plugin Layout', 'profilebuilder');?></h3>
45
+ <table class="wp-list-table widefat fixed pages" cellspacing="0">
46
+
47
+ <tbody class="plugins">
48
+ <tr height="10"></tr>
49
+ <tr>
50
+ <td><font size="2"><?php _e('Stylesheet used:', 'profilebuilder');?></font></td>
51
+ <td>
52
+ <select name="wppb_default_style" width="100" style="width: 100px">
53
+ <option value="yes" <?php if ($wppb_showDefaultCss == 'yes') echo 'selected';?>><?php _e('Default', 'profilebuilder');?></option>
54
+ <?php
55
+ $wppb_premiumStyle = wppb_plugin_dir . '/premium/';
56
+ if (file_exists ( $wppb_premiumStyle.'premium.php' )){
57
+ ?>
58
+ <option value="white" <?php if ($wppb_showDefaultCss == 'white') echo 'selected';?>><?php _e('White', 'profilebuilder');?></option>
59
+ <option value="black" <?php if ($wppb_showDefaultCss == 'black') echo 'selected';?>><?php _e('Black', 'profilebuilder');?></option>
60
+ <?php
61
+ }
62
+ ?>
63
+ <option value="no" <?php if ($wppb_showDefaultCss == 'no') echo 'selected';?>><?php _e('None', 'profilebuilder');?></option>
64
+ </select>
65
+ </td>
66
+ </tr>
67
+ </tbody>
68
+ </table>
69
+ <div align="right">
70
+ <input type="hidden" name="action" value="update" />
71
+ <p class="submit">
72
+ <input type="submit" class="button-primary" value="<?php _e('Save Changes') ?>" />
73
+ </p>
74
+ </div>
75
+ </form>
76
+
77
+
78
+ <?php
79
+ }
80
+ ?>
81
+
82
+ <?php
83
+ function display_admin_settings(){
84
+ ?>
85
+ <form method="post" action="options.php#show-hide-admin-bar">
86
+ <?php $wppb_showAdminBar = get_option('wppb_display_admin_settings'); ?>
87
+ <?php settings_fields('wppb_display_admin_settings'); ?>
88
+
89
+
90
+ <h2><?php _e('Show/Hide the Admin Bar on Front End', 'profilebuilder');?></h2>
91
+ <h3><?php _e('Show/Hide the Admin Bar on Front End', 'profilebuilder');?></h3>
92
+ <table class="wp-list-table widefat fixed pages" cellspacing="0">
93
+ <thead>
94
+ <tr>
95
+ <th class="manage-column" scope="col"><?php _e('User-group', 'profilebuilder');?></th>
96
+ <th class="manage-column" scope="col"><?php _e('Visibility', 'profilebuilder');?></th>
97
+ </tr>
98
+ </thead>
99
+ <tbody>
100
+ <tr height="10"></tr>
101
+ <?php
102
+ foreach($wppb_showAdminBar as $key => $data){
103
+ echo'<tr>
104
+ <td>
105
+ <font size="2">'.$key.'</font>
106
+ </td>
107
+ <td>
108
+ <input type="radio" name="wppb_display_admin_settings['.$key.']" value="show"';if ($wppb_showAdminBar[$key] == 'show') echo ' checked';echo'/><font size="1">'; _e('Show', 'profilebuilder'); echo'</font><span style="padding-left:20px"></span>
109
+ <input type="radio" name="wppb_display_admin_settings['.$key.']" value="hide"';if ($wppb_showAdminBar[$key] == 'hide') echo ' checked';echo'/><font size="1">'; _e('Hide', 'profilebuilder'); echo'</font>
110
+ </td>
111
+ </tr>';
112
+ }
113
+ ?>
114
+
115
+ </table>
116
+ <div align="right">
117
+ <input type="hidden" name="action" value="update" />
118
+ <p class="submit">
119
+ <input type="submit" class="button-primary" value="<?php _e('Save Changes') ?>" />
120
+ </p>
121
+ </div>
122
+ </form>
123
+
124
+
125
+ <?php
126
+ }
127
+ ?>
128
+
129
+ <?php
130
+ function default_settings(){
131
+ ?>
132
+ <form method="post" action="options.php#default-fields">
133
+ <?php $wppb_defaultOptions = get_option('wppb_default_settings'); ?>
134
+ <?php settings_fields('wppb_option_group'); ?>
135
+
136
+
137
+ <h2><?php _e('Default Profile Fields', 'profilebuilder');?></h2>
138
+ <h3><?php _e('Default Profile Fields', 'profilebuilder');?></h3>
139
+ <table class="wp-list-table widefat fixed pages" cellspacing="0">
140
+ <thead>
141
+ <tr>
142
+ <th class="manage-column" scope="col"><?php _e('Input Field Name', 'profilebuilder');?></th>
143
+ <th class="manage-column" scope="col"><?php _e('Visibility', 'profilebuilder');?></th>
144
+ </tr>
145
+ </thead>
146
+ <tbody class="plugins" >
147
+ <tr height="10"></tr>
148
+ <tr>
149
+ <td><font size="4"><?php _e('Name:', 'profilebuilder');?></font></td>
150
+ <td></td>
151
+ </tr>
152
+ </tbody>
153
+ <tbody>
154
+ <tr>
155
+ <td>
156
+ <span style="padding-left:50px"></span><font size="2"><?php _e('Username', 'profilebuilder');?></font>
157
+ </td>
158
+ <td>
159
+ <input type="radio" name="wppb_default_settings[username]" value="show" checked /><font size="1"><?php _e('Show', 'profilebuilder');?></font><span style="padding-left:20px"></span>
160
+ <input type="radio" name="wppb_default_settings[username]" value="hide" disabled /><font size="1" color="grey"><?php _e('Hide', 'profilebuilder');?></font>
161
+ </td>
162
+ </tr>
163
+ <tr>
164
+ <td>
165
+ <span style="padding-left:50px"></span><font size="2"><?php _e('First Name', 'profilebuilder');?></font>
166
+ </td>
167
+ <td>
168
+ <input type="radio" name="wppb_default_settings[firstname]" value="show" <?php if ($wppb_defaultOptions['firstname'] == 'show') echo 'checked';?> /><font size="1"><?php _e('Show', 'profilebuilder');?></font><span style="padding-left:20px"></span>
169
+ <input type="radio" name="wppb_default_settings[firstname]" value="hide" <?php if ($wppb_defaultOptions['firstname'] == 'hide') echo 'checked';?> /><font size="1"><?php _e('Hide', 'profilebuilder');?></font>
170
+ </td>
171
+ </tr>
172
+ <tr>
173
+ <td>
174
+ <span style="padding-left:50px"></span><font size="2"><?php _e('Last Name', 'profilebuilder');?></font>
175
+ </td>
176
+ <td>
177
+ <input type="radio" name="wppb_default_settings[lastname]" value="show" <?php if ($wppb_defaultOptions['lastname'] == 'show') echo 'checked';?> /><font size="1"><?php _e('Show', 'profilebuilder');?></font><span style="padding-left:20px"></span>
178
+ <input type="radio" name="wppb_default_settings[lastname]" value="hide" <?php if ($wppb_defaultOptions['lastname'] == 'hide') echo 'checked';?> /><font size="1"><?php _e('Hide', 'profilebuilder');?></font>
179
+ </td>
180
+ </tr>
181
+ <tr>
182
+ <td>
183
+ <span style="padding-left:50px"></span><font size="2"><?php _e('Nickname', 'profilebuilder');?></font>
184
+ </td>
185
+ <td>
186
+ <input type="radio" name="wppb_default_settings[nickname]" value="show" <?php if ($wppb_defaultOptions['nickname'] == 'show') echo 'checked';?> /><font size="1"><?php _e('Show', 'profilebuilder');?></font><span style="padding-left:20px"></span>
187
+ <input type="radio" name="wppb_default_settings[nickname]" value="hide" <?php if ($wppb_defaultOptions['nickname'] == 'hide') echo 'checked';?> /><font size="1"><?php _e('Hide', 'profilebuilder');?></font>
188
+ </td>
189
+ </tr>
190
+ <tr>
191
+ <td>
192
+ <span style="padding-left:50px"></span><font size="2"><?php _e('Display name publicly as...', 'profilebuilder');?></font>
193
+ </td>
194
+ <td>
195
+ <input type="radio" name="wppb_default_settings[dispname]" value="show" <?php if ($wppb_defaultOptions['dispname'] == 'show') echo 'checked';?> /><font size="1"><?php _e('Show', 'profilebuilder');?></font><span style="padding-left:20px"></span>
196
+ <input type="radio" name="wppb_default_settings[dispname]" value="hide" <?php if ($wppb_defaultOptions['dispname'] == 'hide') echo 'checked';?> /><font size="1"><?php _e('Hide', 'profilebuilder');?></font>
197
+ </td>
198
+ </tr>
199
+ <tbody class="plugins">
200
+ <tr height="10"></tr>
201
+ <tr>
202
+ <td><font size="4"><?php _e('Contact Info:', 'profilebuilder');?></font></td>
203
+ <td></td>
204
+ </tr>
205
+ </tbody>
206
+ <tbody>
207
+ <tr>
208
+ <td>
209
+ <span style="padding-left:50px"></span><font size="2"><?php _e('E-mail', 'profilebuilder');?></font>
210
+ </td>
211
+ <td>
212
+ <input type="radio" name="wppb_default_settings[email]" value="show" checked><font size="1"><?php _e('Show', 'profilebuilder');?></font><span style="padding-left:20px"></span>
213
+ <input type="radio" name="wppb_default_settings[email]" value="hide" disabled><font size="1" color="grey"><?php _e('Hide', 'profilebuilder');?></font>
214
+ </td>
215
+ </tr>
216
+ <tr>
217
+ <td>
218
+ <span style="padding-left:50px"></span><font size="2"><?php _e('Website', 'profilebuilder');?></font>
219
+ </td>
220
+ <td>
221
+ <input type="radio" name="wppb_default_settings[website]" value="show" <?php if ($wppb_defaultOptions['website'] == 'show') echo 'checked';?> /><font size="1"><?php _e('Show', 'profilebuilder');?></font><span style="padding-left:20px"></span>
222
+ <input type="radio" name="wppb_default_settings[website]" value="hide" <?php if ($wppb_defaultOptions['website'] == 'hide') echo 'checked';?> /><font size="1"><?php _e('Hide', 'profilebuilder');?></font>
223
+ </td>
224
+ </tr>
225
+ <tbody class="plugins">
226
+ </tbody>
227
+ <tbody>
228
+ <tr>
229
+ <td>
230
+ <span style="padding-left:50px"></span><font size="2"><?php _e('AIM', 'profilebuilder');?></font>
231
+ </td>
232
+ <td>
233
+ <input type="radio" name="wppb_default_settings[aim]" value="show" <?php if ($wppb_defaultOptions['aim'] == 'show') echo 'checked';?> /><font size="1"><?php _e('Show', 'profilebuilder');?></font><span style="padding-left:20px"></span>
234
+ <input type="radio" name="wppb_default_settings[aim]" value="hide" <?php if ($wppb_defaultOptions['aim'] == 'hide') echo 'checked';?> /><font size="1"><?php _e('Hide', 'profilebuilder');?></font>
235
+ </td>
236
+ </tr>
237
+ <tr>
238
+ <td>
239
+ <span style="padding-left:50px"></span><font size="2"><?php _e('Yahoo IM', 'profilebuilder');?></font>
240
+ </td>
241
+ <td>
242
+ <input type="radio" name="wppb_default_settings[yahoo]" value="show" <?php if ($wppb_defaultOptions['yahoo'] == 'show') echo 'checked';?> /><font size="1"><?php _e('Show', 'profilebuilder');?></font><span style="padding-left:20px"></span>
243
+ <input type="radio" name="wppb_default_settings[yahoo]" value="hide" <?php if ($wppb_defaultOptions['yahoo'] == 'hide') echo 'checked';?> /><font size="1"><?php _e('Hide', 'profilebuilder');?></font>
244
+ </td>
245
+ </tr>
246
+ <tr>
247
+ <td>
248
+ <span style="padding-left:50px"></span><font size="2"><?php _e('Jabber / Google Talk', 'profilebuilder');?></font>
249
+ </td>
250
+ <td>
251
+ <input type="radio" name="wppb_default_settings[jabber]" value="show" <?php if ($wppb_defaultOptions['jabber'] == 'show') echo 'checked';?> /><font size="1"><?php _e('Show', 'profilebuilder');?></font><span style="padding-left:20px"></span>
252
+ <input type="radio" name="wppb_default_settings[jabber]" value="hide" <?php if ($wppb_defaultOptions['jabber'] == 'hide') echo 'checked';?> /><font size="1"><?php _e('Hide', 'profilebuilder');?></font>
253
+ </td>
254
+ </tr>
255
+ <tbody class="plugins">
256
+ <tr height="10"></tr>
257
+ <tr>
258
+ <td><font size="4"><?php _e('About Yourself:', 'profilebuilder');?></font></td>
259
+ <td></td>
260
+ </tr>
261
+ </tbody>
262
+ <tbody>
263
+ <tr>
264
+ <td>
265
+ <span style="padding-left:50px"></span><font size="2"><?php _e('Biographical Info', 'profilebuilder');?></font>
266
+ </td>
267
+ <td>
268
+ <input type="radio" name="wppb_default_settings[bio]" value="show" <?php if ($wppb_defaultOptions['bio'] == 'show') echo 'checked';?> /><font size="1"><?php _e('Show', 'profilebuilder');?></font><span style="padding-left:20px"></span>
269
+ <input type="radio" name="wppb_default_settings[bio]" value="hide" <?php if ($wppb_defaultOptions['bio'] == 'hide') echo 'checked';?> /><font size="1"><?php _e('Hide', 'profilebuilder');?></font>
270
+ </td>
271
+ </tr>
272
+ <tbody class="plugins">
273
+ <tr>
274
+ <td>
275
+ <span style="padding-left:50px"></span><font size="2"><?php _e('New Password', 'profilebuilder');?></font>
276
+ </td>
277
+ <td>
278
+ <input type="radio" name="wppb_default_settings[password]" value="show" checked><font size="1"><?php _e('Show', 'profilebuilder');?></font><span style="padding-left:20px"></span>
279
+ <input type="radio" name="wppb_default_settings[password]" value="hide" disabled><font size="1" color="grey"><?php _e('Hide', 'profilebuilder');?></font>
280
+ </td>
281
+ </tr>
282
+ </tbody>
283
+ </table>
284
+ <div align="right">
285
+ <input type="hidden" name="action" value="update" />
286
+ <p class="submit">
287
+ <input type="submit" class="button-primary" value="<?php _e('Save Changes') ?>" />
288
+ </p>
289
+ </form>
290
+ </div>
291
+
292
+ <?php
293
+ }
294
+ ?>
front-end/options.php ADDED
@@ -0,0 +1,109 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!--
2
+ Original Plugin Name: OptionTree
3
+ Original Plugin URI: http://wp.envato.com
4
+ Original Author: Derek Herman
5
+ Original Author URI: http://valendesigns.com
6
+ -->
7
+ <?php if (!defined('ProfileBuilderVersion')) exit('No direct script access allowed'); ?>
8
+ <?php require_once('menu.file.php'); ?>
9
+
10
+ <div id="framework_wrap" class="wrap">
11
+
12
+ <div id="header">
13
+ <h1>Profile Builder</h1>
14
+ <span class="icon">&nbsp;</span>
15
+ <div class="version">
16
+ <?php echo 'Version ' . ProfileBuilderVersion; ?>
17
+ </div>
18
+ </div>
19
+
20
+ <div id="content_wrap">
21
+
22
+ <?php
23
+ $wppb_premium = wppb_plugin_dir . '/premium/';
24
+ if (!file_exists ( $wppb_premium.'premium.php' )){
25
+ ?>
26
+ <div class="info basic-version-info">
27
+ <img src="<?php echo wppb_plugin_url ?>/assets/images/ad_image.png" alt="Profile Builder Pro" />
28
+ <form action="https://www.paypal.com/cgi-bin/webscr" method="post">
29
+ <input type="hidden" name="cmd" value="_s-xclick">
30
+ <input type="hidden" name="hosted_button_id" value="3J62P8ZXKFJM4">
31
+ <input type="image" src="http://beta.cozmoslabs.com/wp-content/plugins/reflection-media-subscriber/includes/icons/buy_now_button.png" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
32
+ <img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
33
+ </form>
34
+ <a href="http://www.cozmoslabs.com/wordpress-profile-builder/">Or Learn More</a>
35
+
36
+ </div>
37
+ <?php
38
+ }
39
+ ?>
40
+ <div class="info top-info"></div>
41
+
42
+ <?php $wppb_premium = wppb_plugin_dir . '/premium/';
43
+ if (file_exists ( $wppb_premium.'premium.php' )){
44
+ echo '<div class="ajax-message';
45
+ if ( isset( $message ) ) { echo ' show'; }
46
+ echo '">';
47
+ if ( isset( $message ) ) { echo $message; }
48
+ echo '</div>';
49
+ }
50
+ ?>
51
+
52
+ <div id="content">
53
+
54
+ <div id="options_tabs">
55
+
56
+ <ul class="options_tabs">
57
+ <li><a href="#profile-builder"><?php _e('Basic Information','profilebuilder');?></a><span></span></li>
58
+ <li><a href="#plugin-layout"><?php _e('Plugin Layout','profilebuilder');?></a><span></span></li>
59
+ <li><a href="#show-hide-admin-bar"><?php _e('Show/Hide the Admin Bar on Front-end','profilebuilder');?></a><span></span></li>
60
+ <li><a href="#default-fields"><?php _e('Default Profile Fields','profilebuilder');?></a><span></span></li>
61
+ <?php $wppb_premium = wppb_plugin_dir . '/premium/';
62
+ if (file_exists ( $wppb_premium.'premium.php' )){
63
+ echo '<li><a href="#create-extra-fields">'; _e('Extra Profile Fields','profilebuilder'); echo'</a><span></span></li>';
64
+ echo '<li><a href="#register-profile-builder">'; _e('Register Your Version','profilebuilder'); echo'</a><span></span></li>';
65
+ }
66
+ ?>
67
+
68
+ </ul>
69
+ <div id="profile-builder" class="block">
70
+ <?php basic_info(); ?>
71
+ </div>
72
+
73
+ <div id="plugin-layout" class="block">
74
+ <?php plugin_layout(); ?>
75
+ </div>
76
+
77
+
78
+ <div id="show-hide-admin-bar" class="block has-table">
79
+ <?php display_admin_settings(); ?>
80
+ </div>
81
+
82
+ <div id="default-fields" class="block has-table">
83
+ <?php default_settings(); ?>
84
+ </div>
85
+
86
+ <?php $wppb_premium = wppb_plugin_dir . '/premium/';
87
+ if (file_exists ( $wppb_premium.'premium.php' )){
88
+ require_once($wppb_premium.'premium.php');
89
+ echo '<div id="create-extra-fields" class="block has-table">';
90
+ custom_settings();
91
+ echo '</div>';
92
+ echo '<div id="register-profile-builder" class="block">';
93
+ register_profile_builder();
94
+ echo '</div>';
95
+ }
96
+ ?>
97
+
98
+ <br class="clear" />
99
+
100
+ </div>
101
+
102
+ </div>
103
+
104
+ <div class="info bottom"></div>
105
+
106
+ </div>
107
+
108
+ </div>
109
+ <!-- [END] framework_wrap -->
front-end/wppb.edit.profile.php ADDED
@@ -0,0 +1,559 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ wp_update_user only attempts to clear and reset cookies if it's updating the password.
4
+ The php function setcookie(), used in both the cookie-clearing and cookie-resetting functions,
5
+ adds to the page headers and therefore must be called within the first php tag on the page, and
6
+ before the WordPress get_header() function. Since wp_update_user needs this, it must be at the
7
+ beginning of the page as well.
8
+ */
9
+ $changesSaved = 'no';
10
+ $changesSavedNoMatchingPass = 'no';
11
+ $changesSavedNoPass = 'no';
12
+
13
+ function wppb_save_the_password(){
14
+ global $changesSaved;
15
+ global $changesSavedNoMatchingPass;
16
+ global $changesSavedNoPass;
17
+
18
+ /* Load registration file. */
19
+ require_once(ABSPATH . WPINC . '/registration.php');
20
+ /* Get user info. */
21
+ global $current_user;
22
+ if ( 'POST' == $_SERVER['REQUEST_METHOD'] && !empty( $_POST['action'] ) && $_POST['action'] == 'update-user' && wp_verify_nonce($_POST['edit_nonce_field'],'verify_edit_user') ) {
23
+ /* Update user password. */
24
+ if ( !empty($_POST['pass1'] ) && !empty( $_POST['pass2'] ) ) {
25
+ if ( $_POST['pass1'] == $_POST['pass2'] )
26
+ {
27
+ wp_update_user( array( 'ID' => $current_user->id, 'user_pass' => esc_attr( $_POST['pass1'] ) ) );
28
+ $changesSaved = 'yes';
29
+ } else {
30
+ $changesSavedNoMatchingPass = 'yes';
31
+ }
32
+ }elseif (( empty($_POST['pass1'] ) && !empty( $_POST['pass2'] )) || ( !empty($_POST['pass1'] ) && empty( $_POST['pass2'] )) ) {
33
+ $changesSavedNoPass = 'yes';
34
+ }
35
+ }
36
+ }
37
+ add_action('init', 'wppb_save_the_password');
38
+
39
+ function wppb_front_end_profile_info() {
40
+ global $changesSaved;
41
+ global $changesSavedNoMatchingPass;
42
+ global $changesSavedNoPass;
43
+
44
+ ob_start();
45
+ get_currentuserinfo();
46
+ $wppb_defaultOptions = get_option('wppb_default_settings');
47
+ $changesSavedNoEmail = 'no';
48
+ $changesSavedNoEmailExist = 'no';
49
+ $previousError = 'no';
50
+ $pictureUpload = 'no';
51
+ $avatarUpload = 'yes';
52
+ $uploadName = array();
53
+ $uploadSize = array();
54
+
55
+
56
+ /* Load registration file. */
57
+ require_once(ABSPATH . WPINC . '/registration.php');
58
+ /* Get user info. */
59
+ global $current_user;
60
+
61
+ /* delete the attachment if set */
62
+ if (isset($_GET['userID']) && isset($_GET['field'])){
63
+ update_user_meta( $_GET['userID'], $_GET['field'], '');
64
+ }
65
+ /* delete the avatar */
66
+ if (isset($_GET['userID']) && isset($_GET['fieldOriginal']) && isset($_GET['fieldResized'])){
67
+ update_user_meta( $_GET['userID'], $_GET['fieldOriginal'], '');
68
+ update_user_meta( $_GET['userID'], $_GET['fieldResized'], '');
69
+ }
70
+
71
+ /* If profile was saved, update profile. */
72
+ if ( 'POST' == $_SERVER['REQUEST_METHOD'] && !empty( $_POST['action'] ) && $_POST['action'] == 'update-user' && wp_verify_nonce($_POST['edit_nonce_field'],'verify_edit_user') ) {
73
+
74
+ if (email_exists( $_POST['email'] ) != FALSE)
75
+ $thisEmail = email_exists( $_POST['email'] );
76
+ else $thisEmail = $current_user->id;
77
+
78
+ if ( !empty( $_POST['email'] ) && is_email( $_POST['email'] )){ // if the user entered a valid email address
79
+ if (($thisEmail == $current_user->id)){ // if the entered email address is not already registered to some other user
80
+ wp_update_user( array( 'ID' => $current_user->id, 'user_email' => esc_attr( $_POST['email'] )));
81
+ $changesSaved = 'yes';
82
+ }else{
83
+ $changesSavedNoEmailExist = 'yes';
84
+ }
85
+ }else{
86
+ $changesSavedNoEmail = 'yes';
87
+ }
88
+
89
+
90
+ /* Update user information. */
91
+ if ($wppb_defaultOptions['firstname'] == 'show'){
92
+ wp_update_user( array( 'ID' => $current_user->id, 'first_name' => esc_attr( $_POST['first_name'] )));
93
+ $changesSaved = 'yes';
94
+ }
95
+ if ($wppb_defaultOptions['lastname'] == 'show'){
96
+ wp_update_user( array( 'ID' => $current_user->id, 'last_name' => esc_attr( $_POST['last_name'] )));
97
+ $changesSaved = 'yes';
98
+ }
99
+
100
+ if ($wppb_defaultOptions['nickname'] == 'show'){
101
+ wp_update_user( array( 'ID' => $current_user->id, 'nickname' => esc_attr( $_POST['nickname'] )));
102
+ $changesSaved = 'yes';
103
+ }
104
+
105
+ if ($wppb_defaultOptions['dispname'] == 'show'){
106
+ wp_update_user( array( 'ID' => $current_user->id, 'display_name' => esc_attr( $_POST['display_name'] )));
107
+ $changesSaved = 'yes';
108
+ }
109
+
110
+ if ($wppb_defaultOptions['website'] == 'show'){
111
+ $wppbPos = strpos($_POST['website'], 'http://');
112
+ if($wppbPos !== FALSE){
113
+ wp_update_user( array( 'ID' => $current_user->id, 'user_url' => esc_attr( $_POST['website'] )));
114
+ $changesSaved = 'yes';
115
+ }else{
116
+ wp_update_user( array( 'ID' => $current_user->id, 'user_url' => 'http://'.esc_attr( $_POST['website'] )));
117
+ $changesSaved = 'yes';
118
+ }
119
+ }
120
+
121
+ if ($wppb_defaultOptions['aim'] == 'show'){
122
+ update_user_meta( $current_user->id, 'aim', esc_attr( $_POST['aim'] ) );
123
+ $changesSaved = 'yes';
124
+ }
125
+
126
+ if ($wppb_defaultOptions['yahoo'] == 'show'){
127
+ update_user_meta( $current_user->id, 'yim', esc_attr( $_POST['yim'] ) );
128
+ $changesSaved = 'yes';
129
+ }
130
+
131
+ if ($wppb_defaultOptions['jabber'] == 'show'){
132
+ update_user_meta( $current_user->id, 'jabber', esc_attr( $_POST['jabber'] ) );
133
+ $changesSaved = 'yes';
134
+ }
135
+
136
+ if ($wppb_defaultOptions['bio'] == 'show'){
137
+ update_user_meta( $current_user->id, 'description', esc_attr( $_POST['description'] ) );
138
+ $changesSaved = 'yes';
139
+ }
140
+
141
+ /* update the extra profile information */
142
+ $wppb_premium = wppb_plugin_dir . '/premium/functions/';
143
+ if (file_exists ( $wppb_premium.'extra.fields.php' )){
144
+ $wppbFetchArray = get_option('wppb_custom_fields');
145
+ foreach ( $wppbFetchArray as $key => $value){
146
+ switch ($value['item_type']) {
147
+ case "input":{
148
+ update_user_meta( $current_user->id, 'custom_field_'.$value['id'], esc_attr( $_POST[$value['item_id'].$value['id']] ) );
149
+ break;
150
+ }
151
+ case "checkbox":{
152
+ $checkboxOption = '';
153
+ $checkboxValue = explode(',', $value['item_options']);
154
+ foreach($checkboxValue as $thisValue){
155
+ if (isset($_POST[$thisValue.$value['id']]))
156
+ $checkboxOption = $checkboxOption.$_POST[$thisValue.$value['id']].',';
157
+ }
158
+ update_user_meta( $current_user->id, 'custom_field_'.$value['id'], esc_attr( $checkboxOption ) );
159
+ break;
160
+ }
161
+ case "radio":{
162
+ update_user_meta( $current_user->id, 'custom_field_'.$value['id'], $_POST[$value['item_id'].$value['id']] );
163
+ break;
164
+ }
165
+ case "select":{
166
+ update_user_meta( $current_user->id, 'custom_field_'.$value['id'], esc_attr( $_POST[$value['item_id'].$value['id']] ) );
167
+ break;
168
+ }
169
+ case "textarea":{
170
+ update_user_meta( $current_user->id, 'custom_field_'.$value['id'], esc_attr( $_POST[$value['item_id'].$value['id']] ) );
171
+ break;
172
+ }
173
+ case "upload":{
174
+ $uploadedfile = $value['item_type'].$value['id'];
175
+ if (($_FILES[$uploadedfile]['size'] == 0) && (basename( $_FILES[$uploadedfile]['name']) != ''))
176
+ array_push($uploadName, basename( $_FILES[$uploadedfile]['name']));
177
+ $target_path = "wp-content/uploads/profile_builder/attachments/";
178
+
179
+ $target_path = $target_path . 'userID_'.$current_user->id.'_attachment_'. basename( $_FILES[$uploadedfile]['name']);
180
+
181
+ if (move_uploaded_file($_FILES[$uploadedfile]['tmp_name'], $target_path)){
182
+ $upFile = get_bloginfo('home').'/'.$target_path;
183
+ update_user_meta( $current_user->id, 'custom_field_'.$value['id'], $upFile);
184
+ $pictureUpload = 'yes';
185
+ }
186
+ break;
187
+ }
188
+ case "avatar":{
189
+ $avatarUpload = 'no';
190
+ $uploadedfile = $value['item_type'].$value['id'];
191
+ $target_path_original = "wp-content/uploads/profile_builder/avatars/";
192
+ $fileName = $_FILES[$uploadedfile]['name'];
193
+
194
+ $target_path = $target_path_original . 'userID_'.$current_user->id.'_originalAvatar_'. $fileName;
195
+ $target_path_avatar = $target_path_original . 'userID_'.$current_user->id.'_resziedAvatarSize_'.$value['item_options'].'_orignalName_'.$fileName;
196
+
197
+ /* when trying to upload file, be sure it's one of the accepted image file-types */
198
+ if (($_FILES[$uploadedfile]['type'] == 'image/jpeg') || ($_FILES[$uploadedfile]['type'] == 'image/jpg') || ($_FILES[$uploadedfile]['type'] == 'image/png') || ($_FILES[$uploadedfile]['type'] == 'image/bmp') || ($_FILES[$uploadedfile]['type'] == 'image/pjpeg') || ($_FILES[$uploadedfile]['type'] == 'image/x-png')){
199
+ $avatarUpload = 'yes';
200
+ $wp_filetype = wp_check_filetype(basename( $_FILES[$uploadedfile]['name']), null );
201
+ $attachment = array(
202
+ 'post_mime_type' => $wp_filetype['type'],
203
+ 'post_title' => $fileName,
204
+ 'post_content' => '',
205
+ 'post_status' => 'inherit'
206
+ );
207
+
208
+
209
+ $attach_id = wp_insert_attachment( $attachment, $target_path);
210
+ $attach_id_avatar = wp_insert_attachment( $attachment, $target_path_avatar);
211
+
212
+ $upFile = image_downsize( $attach_id, 'thumbnail' );
213
+ $upFile_avatar = image_downsize( $attach_id_avatar, 'thumbnail' );
214
+ $upFile = $upFile[0];
215
+ $upFile_avatar = $upFile_avatar[0];
216
+
217
+ //if file upload succeded
218
+ if (move_uploaded_file($_FILES[$uploadedfile]['tmp_name'], $target_path)){
219
+ // update the usermeta field with the original file url
220
+ update_user_meta( $current_user->id, 'custom_field_'.$value['id'], $upFile);
221
+
222
+ // also upload a resized image of it
223
+ (move_uploaded_file($_FILES[$uploadedfile]['tmp_name'], $target_path_avatar));
224
+
225
+
226
+ $extension = str_replace ( 'image/' , '' , $_FILES[$uploadedfile]['type']);
227
+ if($extension=="jpg" || $extension=="jpeg" || $extension=="pjpeg" )
228
+ $src = imagecreatefromjpeg($upFile);
229
+ elseif($extension=="png" || $extension=="x-png")
230
+ $src = imagecreatefrompng($upFile);
231
+ else
232
+ $src = imagecreatefromgif($upFile);
233
+ //echo $scr;
234
+
235
+ list($width,$height)=getimagesize($upFile);
236
+
237
+ $newwidth=$value['item_options']; //160;
238
+ $newheight=$value['item_options']; //($height/$width)*$newwidth;
239
+ $tmp=imagecreatetruecolor($newwidth,$newheight);
240
+
241
+ imagecopyresampled($tmp,$src,0,0,0,0,$newwidth,$newheight,$width,$height);
242
+ $filename = $target_path_avatar;
243
+
244
+ imagejpeg($tmp,$filename,100);
245
+
246
+ imagedestroy($src);
247
+ imagedestroy($tmp);
248
+
249
+ // update/add a new usermeta field containing the url to the resized image
250
+ update_user_meta( $current_user->id, 'custom_field_resized'.$value['id'], $upFile_avatar);
251
+ }
252
+ else $avatarUpload = 'no';
253
+ }
254
+ if (($_FILES[$uploadedfile]['type'] == ''))
255
+ $avatarUpload = 'yes';
256
+ break;
257
+ }
258
+ }
259
+ }
260
+ }
261
+
262
+ }
263
+
264
+ ?>
265
+ <div class="wppb_holder" id="wppb_modify">
266
+ <?php if ( !is_user_logged_in() ) : ?>
267
+
268
+ <p class="warning">
269
+ <?php _e('You must be logged in to edit your profile.', 'profilebuilder'); ?>
270
+ </p><!-- .warning -->
271
+
272
+ <?php else :
273
+ {
274
+ /* messages for the the delete avatar/attachment */
275
+ if (isset($_GET['fileType'])){
276
+ if ($_GET['fileType'] == 'avatar'){
277
+ echo '<p class="changes-saved">';
278
+ _e('The avatar was successfully deleted.', 'profilebuilder');
279
+ echo'</p><!-- .changes-saved -->';
280
+ unset($_GET['fileType']);
281
+ }elseif ($_GET['fileType'] == 'attachment'){
282
+ echo '<p class="changes-saved">';
283
+ _e('The attachment "', 'profilebuilder');
284
+ echo $_GET['fileName'];
285
+ _e('" was successfully deleted.', 'profilebuilder');
286
+ echo'</p><!-- .changes-saved -->';
287
+ unset($_GET['fileType']);
288
+ unset($_GET['fileName']);
289
+ }
290
+ }
291
+
292
+ /* all the other messages/errors */
293
+ $nrOfBadUploads = 0;
294
+ $nrOfBadUploads = count($uploadName);
295
+
296
+ if (($changesSaved == 'yes') && ($changesSavedNoMatchingPass == 'no') && ($changesSavedNoPass == 'no') && ($changesSavedNoEmail == 'no') && ($changesSavedNoEmailExist == 'no') && ($avatarUpload == 'yes') && ($nrOfBadUploads == 0)){
297
+ echo '<p class="changes-saved">';
298
+ _e('The changes have been successfully saved.', 'profilebuilder');
299
+ echo'</p><!-- .changes-saved -->';
300
+ }
301
+ elseif (($changesSaved == 'yes') && ($changesSavedNoEmailExist == 'yes') && ($previousError == 'no')){
302
+ echo '<p class="semi-saved">';
303
+ _e('The email address you entered is already registered to a different user.<br/>The email address was ', 'profilebuilder');
304
+ echo'<span class="error">'; _e('NOT', 'profilebuilder');echo'</span>';
305
+ _e(' updated along with the rest of the information.', 'profilebuilder');
306
+ echo '</p>';
307
+ $previousError = 'yes';
308
+ }
309
+
310
+ if (($changesSaved == 'yes') && ($changesSavedNoEmail == 'yes') && ($previousError == 'no')){
311
+ echo '<p class="error">';
312
+ echo '<p class="semi-saved">';
313
+ _e('The email address you entered is invalid. <br/> The email address was ', 'profilebuilder');
314
+ echo'<span class="error">'; _e('NOT', 'profilebuilder');echo'</span>';
315
+ _e(' updated along with the rest of the information.', 'profilebuilder');
316
+ echo '</p>';
317
+ $previousError = 'yes';
318
+ }
319
+
320
+ if (($changesSaved == 'yes') && ($changesSavedNoMatchingPass == 'yes') && ($previousError == 'no')){
321
+ echo '<p class="error">';
322
+ echo '<p class="semi-saved">';
323
+ _e('The passwords you entered do not match. <br/> The password was ', 'profilebuilder');
324
+ echo'<span class="error">'; _e('NOT', 'profilebuilder');echo'</span>';
325
+ _e(' updated along with the rest of the information.', 'profilebuilder');
326
+ echo '</p>';
327
+ $previousError = 'yes';
328
+ }
329
+ if (($changesSaved == 'yes') && ($changesSavedNoPass == 'yes') && ($previousError == 'no')){
330
+ echo '<p class="error">';
331
+ echo '<p class="semi-saved">';
332
+ _e('You didn\'t complete both password fields. <br/> The password was ', 'profilebuilder');
333
+ echo'<span class="error">'; _e('NOT', 'profilebuilder');echo'</span>';
334
+ _e(' updated along with the rest of the information.', 'profilebuilder');
335
+ echo '</p>';
336
+ $previousError = 'yes';
337
+ }
338
+ $wppb_premium = wppb_plugin_dir . '/premium/functions/';
339
+ if (file_exists ( $wppb_premium.'extra.fields.php' )){
340
+ if (($changesSaved == 'yes') && ($nrOfBadUploads > 0) && ($previousError == 'no')){
341
+ $lastOne = 0;
342
+ echo '<p class="error">';
343
+ echo '<p class="semi-saved">';
344
+ _e('There was an error while trying to upload the following attachments:<br/>', 'profilebuilder');
345
+ echo '<span class="error">';
346
+ foreach ($uploadName as $key => $name){
347
+ $lastOne++;
348
+ echo $name;
349
+ if ($nrOfBadUploads-$lastOne > 0) echo ';<span style="padding-left:10px"></span>';
350
+ }
351
+ echo '</span>';
352
+ _e('<br/>Possible cause: the size was bigger than ', 'profilebuilder');
353
+ echo ServerMaxUploadSizeMega;
354
+ _e('b.<br/>The listed attachements were ', 'profilebuilder');
355
+ echo'<span class="error">'; _e('NOT', 'profilebuilder');echo'</span>';
356
+ _e(' updated along with the rest of the information.', 'profilebuilder');
357
+ echo '</p>';
358
+ $previousError = 'yes';
359
+ } if (($changesSaved == 'yes') && ($avatarUpload == 'no') && ($previousError == 'no')){
360
+ echo '<p class="error">';
361
+ echo '<p class="semi-saved">';
362
+ _e('There was an error while trying to upload your avatar picture.<br/>Possible cause: size/incorrect file-type.<br/>The avatar was ', 'profilebuilder');
363
+ echo'<span class="error">'; _e('NOT', 'profilebuilder');echo'</span>';
364
+ _e(' updated along with the rest of the information.', 'profilebuilder');
365
+ echo '</p>';
366
+ $previousError = 'yes';
367
+ }
368
+ }
369
+ }
370
+
371
+ ?>
372
+
373
+ <?php /* use this action hook to add extra content before the edit profile form. */ ?>
374
+ <?php do_action( 'wppb_before_edit_profile_fields' ); ?>
375
+
376
+ <form enctype="multipart/form-data" method="post" id="edituser" class="user-forms" action="<?php the_permalink(); ?>">
377
+ <?php echo '<input type="hidden" name="MAX_FILE_SIZE" value="'.ServerMaxUploadSizeByte.'" />'; ?> <!-- set the MAX_FILE_SIZE to the server's current max upload size in bytes -->
378
+
379
+ <p>
380
+ <strong><?php _e('Name', 'profilebuilder');?></strong>
381
+ </p>
382
+ <?php
383
+ if ($wppb_defaultOptions['username'] == 'show'){ echo'
384
+ <p class="username">
385
+ <label for="user_login">'; _e('Username', 'profilebuilder'); echo'</label>
386
+ <input class="text-input" name="user_login" type="text" id="user_login" value="'; the_author_meta( 'user_login', $current_user->id ); echo'" disabled="disabled"/> <span class="wppb-description-delimiter">'; _e(' Usernames cannot be changed.'); echo'</span>
387
+ </p><!-- .first_name -->';
388
+ }
389
+ ?>
390
+
391
+ <?php
392
+ if ($wppb_defaultOptions['firstname'] == 'show'){ echo'
393
+ <p class="first_name">
394
+ <label for="first_name">'; _e('First Name', 'profilebuilder'); echo'</label>
395
+ <input class="text-input" name="first_name" type="text" id="first_name" value="'; the_author_meta( 'first_name', $current_user->id ); echo '" />
396
+ </p><!-- .first_name -->';
397
+ }
398
+ ?>
399
+
400
+ <?php
401
+ if ($wppb_defaultOptions['lastname'] == 'show'){ echo'
402
+ <p class="last_name">
403
+ <label for="last_name">'; _e('Last Name', 'profilebuilder'); echo'</label>
404
+ <input class="text-input" name="last_name" type="text" id="last_name" value="'; the_author_meta( 'last_name', $current_user->id ); echo '" />
405
+ </p><!-- .last_name -->';
406
+ }
407
+ ?>
408
+
409
+ <?php
410
+ if ($wppb_defaultOptions['nickname'] == 'show'){ echo'
411
+ <p class="nickname">
412
+ <label for="nickname">'; _e('Nickname', 'profilebuilder'); echo '</label>
413
+ <input class="text-input" name="nickname" type="text" id="nickname" value="'; the_author_meta( 'nickname', $current_user->id ); echo'" />
414
+ <span class="wppb-description-delimiter">'; _e('(required)', 'profilebuilder');echo'</span>
415
+ </p><!-- .nickname -->';
416
+ }
417
+ ?>
418
+
419
+ <?php
420
+ if ($wppb_defaultOptions['dispname'] == 'show'){ echo'
421
+ <p class="display_name">
422
+ <label for="display_name">'; _e('Display name publicly as', 'profilebuilder'); echo'</label>
423
+ <select name="display_name" id="display_name">';
424
+ $public_display = array();
425
+ $public_display['display_username'] = get_the_author_meta('user_login', $current_user->id);
426
+ $thisFirstName = get_the_author_meta('first_name', $current_user->id);
427
+ if ( !empty($thisFirstName))
428
+ $public_display['display_firstname'] = get_the_author_meta('first_name', $current_user->id);
429
+ $thisLastName = get_the_author_meta('last_name', $current_user->id);
430
+ if ( !empty($thisLastName))
431
+ $public_display['display_lastname'] = get_the_author_meta('last_name', $current_user->id);
432
+ $public_display['display_nickname'] = get_the_author_meta('nickname', $current_user->id);
433
+ if ( !empty($thisFirstName) && !empty($thisLastName) ) {
434
+ $public_display['display_firstlast'] = $thisFirstName . ' ' . $thisLastName;
435
+ $public_display['display_lastfirst'] = $thisLastName . ' ' . $thisFirstName;
436
+ }
437
+ $thisDisplayName = get_the_author_meta('display_name', $current_user->id);
438
+ if ( !in_array( $thisDisplayName, $public_display ) ) // Only add this if it isn't duplicated elsewhere
439
+ $public_display = array( 'display_displayname' => $thisDisplayName ) + $public_display;
440
+ $public_display = array_map( 'trim', $public_display );
441
+ foreach ( $public_display as $id => $item ) {
442
+ echo '<option id="'.$id.'" value="'.$item.'"'; selected( $thisDisplayName, $item ); echo'>'.$item.'</option>';
443
+ }
444
+ echo'</select>
445
+ </p><!-- .display_name -->';
446
+ }
447
+ ?>
448
+
449
+
450
+ <p>
451
+ <strong><?php _e('Contact Info', 'profilebuilder');?></strong>
452
+ </p>
453
+
454
+ <?php
455
+ if ($wppb_defaultOptions['email'] == 'show'){ echo'
456
+ <p class="form-email">
457
+ <label for="email">'; _e('E-mail', 'profilebuilder');echo '</label>
458
+ <input class="text-input" name="email" type="text" id="email" value="'; the_author_meta( 'user_email', $current_user->id ); echo'" />
459
+ <span class="wppb-description-delimiter">'; _e('(required)', 'profilebuilder');echo'</span>
460
+ </p><!-- .form-email -->';
461
+ }
462
+ ?>
463
+
464
+ <?php
465
+ if ($wppb_defaultOptions['website'] == 'show'){ echo'
466
+ <p class="form-website">
467
+ <label for="website">'; _e('Website', 'profilebuilder'); echo'</label>
468
+ <input class="text-input" name="website" type="text" id="website" value="'; the_author_meta( 'user_url', $current_user->id ); echo'" />
469
+ </p><!-- .form-website -->';
470
+ }
471
+ ?>
472
+
473
+ <?php
474
+ if ($wppb_defaultOptions['aim'] == 'show'){ echo'
475
+ <p class="form-aim">
476
+ <label for="aim">'; _e('AIM', 'profilebuilder'); echo'</label>
477
+ <input class="text-input" name="aim" type="text" id="aim" value="'; the_author_meta( 'aim', $current_user->id ); echo'" />
478
+ </p><!-- .form-aim -->';
479
+ }
480
+ ?>
481
+
482
+ <?php
483
+ if ($wppb_defaultOptions['yahoo'] == 'show'){ echo'
484
+ <p class="form-yim">
485
+ <label for="yim">'; _e('Yahoo IM', 'profilebuilder'); echo'</label>
486
+ <input class="text-input" name="yim" type="text" id="yim" value="'; the_author_meta( 'yim', $current_user->id ); echo'" />
487
+ </p><!-- .form-yim -->';
488
+ }
489
+ ?>
490
+
491
+ <?php
492
+ if ($wppb_defaultOptions['jabber'] == 'show'){ echo'
493
+ <p class="form-jabber">
494
+ <label for="jabber">'; _e('Jabber / Google Talk', 'profilebuilder'); echo'</label>
495
+ <input class="text-input" name="jabber" type="text" id="jabber" value="'; the_author_meta( 'jabber', $current_user->id ); echo'" />
496
+ </p><!-- .form-jabber -->';
497
+ }
498
+ ?>
499
+
500
+ <p>
501
+ <strong><?php _e('About Yourself', 'profilebuilder');?></strong>
502
+ </p>
503
+
504
+ <?php
505
+ if ($wppb_defaultOptions['bio'] == 'show'){ echo'
506
+ <p class="form-description">
507
+ <label for="description">'; _e('Biographical Info', 'profilebuilder'); echo'</label>
508
+ <textarea class="text-input" name="description" id="description" rows="5" cols="30">'; the_author_meta( 'description', $current_user->id ); echo'</textarea>
509
+ </p><!-- .form-description -->';
510
+ }
511
+ ?>
512
+
513
+ <?php
514
+ if ($wppb_defaultOptions['password'] == 'show'){ echo'
515
+ <p class="form-password">
516
+ <label for="pass1">'; _e('New Password', 'profilebuilder'); echo'</label>
517
+ <input class="text-input" name="pass1" type="password" id="pass1" />
518
+ </p><!-- .form-password -->
519
+
520
+ <p class="form-password">
521
+ <label for="pass2">'; _e('Repeat Password', 'profilebuilder'); echo'</label>
522
+ <input class="text-input" name="pass2" type="password" id="pass2" />
523
+ </p><!-- .form-password -->';
524
+ }
525
+ ?>
526
+
527
+ <?php
528
+ $wppb_premium = wppb_plugin_dir . '/premium/functions/';
529
+ if (file_exists ( $wppb_premium.'extra.fields.php' )){
530
+ require_once($wppb_premium.'extra.fields.php');
531
+ edit_profile_extra_fields($current_user->id);
532
+ }
533
+ ?>
534
+
535
+
536
+ <p class="form-submit">
537
+ <input name="updateuser" type="submit" id="updateuser" class="submit button" value="<?php _e('Update', 'profilebuilder'); ?>" />
538
+ <?php// wp_nonce_field( 'update-user' ) ?>
539
+ <input name="action" type="hidden" id="action" value="update-user" />
540
+ </p><!-- .form-submit -->
541
+ <?php wp_nonce_field('verify_edit_user','edit_nonce_field'); ?>
542
+ </form><!-- #edituser -->
543
+
544
+ <?php endif; ?>
545
+
546
+ <?php /* use this action hook to add extra content after the edit profile form. */ ?>
547
+ <?php do_action( 'wppb_after_edit_profile_fields' ); ?>
548
+
549
+ </div>
550
+
551
+ <?php
552
+ $output = ob_get_contents();
553
+ ob_end_clean();
554
+
555
+ $output = apply_filters ('wppb_edit_profile', $output);
556
+
557
+ return $output;
558
+ }
559
+ ?>
includes/wppb-front-end-login.php → front-end/wppb.login.php RENAMED
@@ -1,10 +1,22 @@
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
 
3
-
4
-
5
-
6
- // wp_signon can only be executed before anything is outputed in the page
7
- // because of that we're adding it to the init hook
8
  $wppb_login = false;
9
 
10
  function wppb_signon(){
@@ -31,9 +43,6 @@ function wppb_front_end_login(){
31
 
32
  ?>
33
 
34
-
35
-
36
-
37
  <p class="alert">
38
  <?php printf( __('You are currently logged in as <a href="%1$s" title="%2$s">%2$s</a>.', 'profilebuilder'), get_author_posts_url( $wppb_user->ID ), $wppb_user->display_name ); ?> <a href="<?php echo wp_logout_url( get_permalink() ); ?>" title="<?php _e('Log out of this account', 'profilebuilder'); ?>"><?php _e('Log out &raquo;', 'profilebuilder'); ?></a>
39
  </p><!-- .alert -->
@@ -59,10 +68,18 @@ function wppb_front_end_login(){
59
  </p><!-- .error -->
60
  <?php endif; ?>
61
 
62
- <form action="<?php the_permalink(); ?>" method="post" class="sign-in">
 
 
 
63
  <p class="login-form-username">
64
  <label for="user-name"><?php _e('Username', 'profilebuilder'); ?></label>
65
- <input type="text" name="user-name" id="user-name" class="text-input" value="<?php echo wp_specialchars( $_POST['user-name'], 1 ); ?>" />
 
 
 
 
 
66
  </p><!-- .form-username -->
67
 
68
  <p class="login-form-password">
@@ -82,11 +99,16 @@ function wppb_front_end_login(){
82
  </form><!-- .sign-in -->
83
 
84
  <?php endif;?>
 
 
 
 
85
  </div>
86
  <?php
87
-
88
  $output = ob_get_contents();
89
  ob_end_clean();
 
 
 
90
  return $output;
91
-
92
  }
1
  <?php
2
+ if(!function_exists('curPageURL')){
3
+ function curPageURL() {
4
+ $pageURL = 'http';
5
+ if ((isset($_SERVER["HTTPS"])) && ($_SERVER["HTTPS"] == "on")) {
6
+ $pageURL .= "s";
7
+ }
8
+ $pageURL .= "://";
9
+ if ($_SERVER["SERVER_PORT"] != "80") {
10
+ $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
11
+ } else {
12
+ $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
13
+ }
14
+ return $pageURL;
15
+ }
16
+ }
17
 
18
+ /* wp_signon can only be executed before anything is outputed in the page because of that we're adding it to the init hook */
19
+ global $wppb_login;
 
 
 
20
  $wppb_login = false;
21
 
22
  function wppb_signon(){
43
 
44
  ?>
45
 
 
 
 
46
  <p class="alert">
47
  <?php printf( __('You are currently logged in as <a href="%1$s" title="%2$s">%2$s</a>.', 'profilebuilder'), get_author_posts_url( $wppb_user->ID ), $wppb_user->display_name ); ?> <a href="<?php echo wp_logout_url( get_permalink() ); ?>" title="<?php _e('Log out of this account', 'profilebuilder'); ?>"><?php _e('Log out &raquo;', 'profilebuilder'); ?></a>
48
  </p><!-- .alert -->
68
  </p><!-- .error -->
69
  <?php endif; ?>
70
 
71
+ <?php /* use this action hook to add extra content before the login form. */ ?>
72
+ <?php do_action( 'wppb_before_login' ); ?>
73
+
74
+ <form action="<?php curPageURL(); ?>" method="post" class="sign-in">
75
  <p class="login-form-username">
76
  <label for="user-name"><?php _e('Username', 'profilebuilder'); ?></label>
77
+ <?php
78
+ if (isset($_POST['user-name']))
79
+ $userName = esc_html( $_POST['user-name'] );
80
+ else $userName = '';
81
+ ?>
82
+ <?php echo '<input type="text" name="user-name" id="user-name" class="text-input" value="'.$userName.'" />'; ?>
83
  </p><!-- .form-username -->
84
 
85
  <p class="login-form-password">
99
  </form><!-- .sign-in -->
100
 
101
  <?php endif;?>
102
+
103
+ <?php /* use this action hook to add extra content after the login form. */ ?>
104
+ <?php do_action( 'wppb_after_login' ); ?>
105
+
106
  </div>
107
  <?php
 
108
  $output = ob_get_contents();
109
  ob_end_clean();
110
+
111
+ $output = apply_filters ('wppb_login', $output);
112
+
113
  return $output;
 
114
  }
front-end/wppb.register.php ADDED
@@ -0,0 +1,450 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ function wppb_front_end_register(){
4
+ ob_start();
5
+ $wppb_defaultOptions = get_option('wppb_default_settings');
6
+ global $current_user;
7
+ global $wp_roles;
8
+ global $wpdb;
9
+ global $error;
10
+ $new_user = 'no';
11
+ get_currentuserinfo();
12
+
13
+ /* Load registration file. */
14
+ require_once( ABSPATH . WPINC . '/registration.php' );
15
+
16
+ /* Check if users can register. */
17
+ $registration = get_option( 'users_can_register' );
18
+
19
+ /* If user registered, input info. */
20
+ if ( 'POST' == $_SERVER['REQUEST_METHOD'] && !empty( $_POST['action'] ) && $_POST['action'] == 'adduser' && wp_verify_nonce($_POST['register_nonce_field'],'verify_true_registration') ) {
21
+
22
+ $user_pass = esc_attr( $_POST['passw1'] );
23
+ $userdata = array(
24
+ 'user_pass' => $user_pass,
25
+ 'user_login' => esc_attr( $_POST['user_name'] ),
26
+ 'first_name' => esc_attr( $_POST['first_name'] ),
27
+ 'last_name' => esc_attr( $_POST['last_name'] ),
28
+ 'nickname' => esc_attr( $_POST['nickname'] ),
29
+ 'user_email' => esc_attr( $_POST['email'] ),
30
+ 'user_url' => esc_attr( $_POST['website'] ),
31
+ 'aim' => esc_attr( $_POST['aim'] ),
32
+ 'yim' => esc_attr( $_POST['yim'] ),
33
+ 'jabber' => esc_attr( $_POST['jabber'] ),
34
+ 'description' => esc_attr( $_POST['description'] ),
35
+ 'role' => get_option( 'default_role' ),
36
+ );
37
+
38
+ if ( !$userdata['user_login'] )
39
+ $error = __('A username is required for registration.', 'profilebuilder');
40
+ elseif ( username_exists($userdata['user_login']) )
41
+ $error = __('Sorry, that username already exists!', 'profilebuilder');
42
+
43
+ elseif ( !is_email($userdata['user_email'], true) )
44
+ $error = __('You must enter a valid email address.', 'profilebuilder');
45
+ elseif ( email_exists($userdata['user_email']) )
46
+ $error = __('Sorry, that email address is already used!', 'profilebuilder');
47
+ elseif (( empty($_POST['passw1'] ) || empty( $_POST['passw2'] )) || ( $_POST['pass1'] != $_POST['pass2'] )){
48
+ if ( empty($_POST['passw1'] ) || empty( $_POST['passw2'] )) //verify if the user has completed both password fields
49
+ $error = __('You didn\'t complete one of the password-fields!', 'profilebuilder');
50
+ elseif ( $_POST['pass1'] != $_POST['pass2'] ) //verify if the the password and the retyped password are a match
51
+ $error = __('The entered passwords don\'t match!', 'profilebuilder');
52
+ }
53
+
54
+ else{
55
+ $registered_name = $_POST['user_name'];
56
+ $new_user = wp_insert_user( $userdata );
57
+
58
+ /* add the extra profile information */
59
+ $wppb_premium = wppb_plugin_dir . '/premium/functions/';
60
+ if (file_exists ( $wppb_premium.'extra.fields.php' )){
61
+ $wppbFetchArray = get_option('wppb_custom_fields');
62
+ foreach ( $wppbFetchArray as $key => $value){
63
+ switch ($value['item_type']) {
64
+ case "input":{
65
+ add_user_meta( $new_user, 'custom_field_'.$value['id'], esc_attr($_POST[$value['item_id'].$value['id']]) );
66
+ break;
67
+ }
68
+ case "checkbox":{
69
+ $checkboxOption = '';
70
+ $checkboxValue = explode(',', $value['item_options']);
71
+ foreach($checkboxValue as $thisValue){
72
+ if (isset($_POST[$thisValue.$value['id']]))
73
+ $checkboxOption = $checkboxOption.$_POST[$thisValue.$value['id']].',';
74
+ }
75
+ add_user_meta( $new_user, 'custom_field_'.$value['id'], $checkboxOption );
76
+ break;
77
+ }
78
+ case "radio":{
79
+ add_user_meta( $new_user, 'custom_field_'.$value['id'], $_POST[$value['item_id'].$value['id']] );
80
+ break;
81
+ }
82
+ case "select":{
83
+ add_user_meta( $new_user, 'custom_field_'.$value['id'], $_POST[$value['item_id'].$value['id']] );
84
+ break;
85
+ }
86
+ case "textarea":{
87
+ add_user_meta( $new_user, 'custom_field_'.$value['id'], esc_attr($_POST[$value['item_id'].$value['id']]) );
88
+ break;
89
+ }
90
+ case "upload":{
91
+ $uploadedfile = $value['item_type'].$value['id'];
92
+ $target_path = "wp-content/uploads/profile_builder/attachments/";
93
+
94
+ $target_path = $target_path . 'userID_'.$new_user.'_attachment_'. basename( $_FILES[$uploadedfile]['name']);
95
+
96
+ if (move_uploaded_file($_FILES[$uploadedfile]['tmp_name'], $target_path)){
97
+ $upFile = get_bloginfo('home').'/'.$target_path;
98
+ add_user_meta( $new_user, 'custom_field_'.$value['id'], $upFile );
99
+ }
100
+ break;
101
+ }
102
+ case "avatar":{
103
+
104
+ $uploadedfile = $value['item_type'].$value['id'];
105
+ $target_path_original = "wp-content/uploads/profile_builder/avatars/";
106
+
107
+ $target_path = $target_path_original . 'userID_'.$new_user.'_originalAvatar_'. basename( $_FILES[$uploadedfile]['name']);
108
+
109
+ /* when trying to upload file, be sure it's one of the accepted image file-types */
110
+ if (($_FILES[$uploadedfile]['type'] == 'image/jpeg') || ($_FILES[$uploadedfile]['type'] == 'image/jpg') || ($_FILES[$uploadedfile]['type'] == 'image/png') || ($_FILES[$uploadedfile]['type'] == 'image/bmp')){
111
+ $wp_filetype = wp_check_filetype(basename( $_FILES[$uploadedfile]['name']), null );
112
+ $attachment = array('post_mime_type' => $wp_filetype['type'],
113
+ 'post_title' => preg_replace('/\.[^.]+$/', '', basename($_FILES[$uploadedfile]['name'])),
114
+ 'post_content' => '',
115
+ 'post_status' => 'inherit'
116
+ );
117
+
118
+
119
+ $attach_id = wp_insert_attachment( $attachment, $target_path);
120
+
121
+ $upFile = image_downsize( $attach_id, 'thumbnail' );
122
+ $upFile = $upFile[0];
123
+
124
+ //if file upload succeded
125
+ if (move_uploaded_file($_FILES[$uploadedfile]['tmp_name'], $target_path)){
126
+ add_user_meta( $new_user, 'custom_field_'.$value['id'], $upFile );
127
+ $avatarUpload = 'yes';
128
+ }
129
+ else $avatarUpload = 'no';
130
+ }
131
+ if (($_FILES[$uploadedfile]['type'] == ''))
132
+ $avatarUpload = 'yes';
133
+
134
+ break;
135
+ }
136
+ }
137
+ }
138
+ }
139
+
140
+
141
+
142
+
143
+ if (isset($_POST['send_credentials_via_email']) && ($_POST['send_credentials_via_email'] == 'sending')){
144
+ $email = $_POST['email']; //change these variables to modify sent email message, destination and source.
145
+ $fromemail = get_bloginfo('name');
146
+ $mailPassword = $_POST['passw1'];
147
+ $mailUsername = $_POST['user_name'];
148
+ $subject = 'A new account has been created for you.';
149
+ $msg = 'Welcome to blog '.$fromemail.'. Your username is:'.$mailUsername.' and password:'.$mailPassword;
150
+ $messageSent = wp_mail( $email, $subject, $msg);
151
+ if( $messageSent == TRUE)
152
+ $sentEmailStatus = 2;
153
+ else
154
+ $sentEmailStatus = 1;
155
+ }
156
+
157
+ }
158
+ }
159
+
160
+ ?>
161
+ <div class="wppb_holder" id="wppb_register">
162
+ <?php if ( is_user_logged_in() && !current_user_can( 'create_users' ) ) : ?>
163
+ <?php
164
+ global $user_ID;
165
+ $login = get_userdata( $user_ID );
166
+ if($login->display_name == ''){
167
+ $login->display_name = $login->user_login;
168
+ }
169
+ ?>
170
+ <p class="log-in-out alert">
171
+ <?php printf( __('You are logged in as <a href="%1$s" title="%2$s">%2$s</a>. You don\'t need another account.', 'profilebuilder'), get_author_posts_url( $login->ID ), $login->display_name ); ?> <a href="<?php echo wp_logout_url( get_permalink() ); ?>" title="<?php _e('Log out of this account', 'profilebuilder'); ?>"><?php _e('Logout &raquo;', 'profilebuilder'); ?></a>
172
+ </p><!-- .log-in-out .alert -->
173
+
174
+ <?php elseif ( $new_user != 'no' ) : ?>
175
+
176
+
177
+ <?php
178
+
179
+ echo'<p class="success">';
180
+ if ( current_user_can( 'create_users' ) )
181
+ printf( __('A user account for %1$s has been created.', 'profilebuilder'), $registered_name );
182
+ else
183
+ printf( __('Thank you for registering, %1$s.', 'profilebuilder'), $registered_name );
184
+ echo'</p><!-- .success -->';
185
+ ?>
186
+
187
+ <?php
188
+ if(isset($_POST['send_credentials_via_email'])){
189
+ if ($sentEmailStatus == 1){
190
+ echo '<p class="error">';
191
+ echo 'An error occured while trying to send the notification email.';
192
+ echo '</p><!-- .error -->';
193
+ }elseif ($sentEmailStatus == 2){
194
+ echo '<p class="success">';
195
+ echo 'An email containing the username and password was successfully sent.';
196
+ echo '</p><!-- .success -->';
197
+ }
198
+ }
199
+ ?>
200
+ <?php else : ?>
201
+
202
+ <?php if ( $error ) : ?>
203
+ <p class="error">
204
+ <?php echo $error; ?>
205
+ </p><!-- .error -->
206
+ <?php endif; ?>
207
+
208
+
209
+ <?php if ( current_user_can( 'create_users' ) && $registration ) : ?>
210
+ <p class="alert">
211
+ <?php _e('Users can register themselves or you can manually create users here.', 'profilebuilder'); ?>
212
+ </p><!-- .alert -->
213
+ <?php elseif ( current_user_can( 'create_users' ) ) : ?>
214
+ <p class="alert">
215
+ <?php _e('Users cannot currently register themselves, but you can manually create users here.', 'profilebuilder'); ?>
216
+ </p><!-- .alert -->
217
+ <?php elseif ( !current_user_can( 'create_users' ) && !$registration) : ?>
218
+ <p class="alert">
219
+ <?php _e('Only an administrator can add new users.', 'profilebuilder'); ?>
220
+ </p><!-- .alert -->
221
+
222
+ <?php endif; ?>
223
+
224
+ <?php if ( $registration || current_user_can( 'create_users' ) ) : ?>
225
+
226
+ <?php /* use this action hook to add extra content before the register form. */ ?>
227
+ <?php do_action( 'wppb_before_register_fields' ); ?>
228
+
229
+ <form enctype="multipart/form-data" method="post" id="adduser" class="user-forms" action="http://<?php echo $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; ?>">
230
+ <?php echo '<input type="hidden" name="MAX_FILE_SIZE" value="'.ServerMaxUploadSizeByte.'" />'; ?> <!-- set the MAX_FILE_SIZE to the server's current max upload size in bytes -->
231
+
232
+ <p>
233
+ <strong><?php _e('Name', 'profilebuilder');?></strong>
234
+ </p>
235
+
236
+ <?php
237
+ if ($wppb_defaultOptions['username'] == 'show'){
238
+ if (isset($_POST['user_name']))
239
+ $localUserName = esc_html($_POST['user_name']);
240
+ else $localUserName = '';
241
+
242
+ echo'
243
+ <p class="form-username">
244
+ <label for="user_name">'; _e('Username', 'profilebuilder'); echo '</label>
245
+ <input class="text-input" name="user_name" type="text" id="user_name" value="'.$localUserName.'" />
246
+ <span class="wppb-description-delimiter">'; _e('(required)', 'profilebuilder');echo'</span>
247
+ </p><!-- .form-username -->';
248
+ }
249
+ ?>
250
+
251
+ <?php
252
+ if ($wppb_defaultOptions['firstname'] == 'show'){
253
+ if (isset($_POST['first_name']))
254
+ $localFirstName = esc_html($_POST['first_name']);
255
+ else $localFirstName = '';
256
+
257
+ echo'
258
+ <p class="first_name">
259
+ <label for="first_name">'; _e('First Name', 'profilebuilder'); echo'</label>
260
+ <input class="text-input" name="first_name" type="text" id="first_name" value="'.$localFirstName.'" />
261
+ </p><!-- .first_name -->';
262
+ }
263
+ ?>
264
+
265
+ <?php
266
+ if ($wppb_defaultOptions['lastname'] == 'show'){
267
+ if (isset($_POST['last_name']))
268
+ $localLastName = esc_html($_POST['last_name']);
269
+ else $localLastName = '';
270
+
271
+ echo'
272
+ <p class="last_name">
273
+ <label for="last_name">'; _e('Last Name', 'profilebuilder'); echo'</label>
274
+ <input class="text-input" name="last_name" type="text" id="last_name" value="'.$localLastName.'" />
275
+ </p><!-- .last_name -->';
276
+ }
277
+ ?>
278
+
279
+ <?php
280
+ if ($wppb_defaultOptions['nickname'] == 'show'){
281
+ if (isset($_POST['nickname']))
282
+ $localNickName = esc_html($_POST['nickname']);
283
+ else $localNickName = '';
284
+
285
+ echo'
286
+ <p class="nickname">
287
+ <label for="nickname">'; _e('Nickname', 'profilebuilder'); echo'</label>
288
+ <input class="text-input" name="nickname" type="text" id="nickname" value="'.$localNickName.'" />
289
+ </p><!-- .nickname -->';
290
+ }
291
+ ?>
292
+
293
+ <p>
294
+ <strong><?php _e('Contact Info', 'profilebuilder');?></strong>
295
+ </p>
296
+
297
+ <?php
298
+ if ($wppb_defaultOptions['email'] == 'show'){
299
+ if (isset($_POST['email']))
300
+ $localEmail = esc_html($_POST['email']);
301
+ else $localEmail = '';
302
+
303
+ echo'
304
+ <p class="form-email">
305
+ <label for="email">'; _e('E-mail', 'profilebuilder'); echo '</label>
306
+ <input class="text-input" name="email" type="text" id="email" value="'.$localEmail.'" />
307
+ <span class="wppb-description-delimiter">'; _e('(required)', 'profilebuilder');echo'</span>
308
+ </p><!-- .form-email -->';
309
+ }
310
+ ?>
311
+
312
+ <?php
313
+ if ($wppb_defaultOptions['website'] == 'show'){
314
+ if (isset($_POST['website']))
315
+ $localWebsite = esc_html($_POST['website']);
316
+ else $localWebsite = '';
317
+
318
+ echo'
319
+ <p class="form-website">
320
+ <label for="website">'; _e('Website', 'profilebuilder'); echo'</label>
321
+ <input class="text-input" name="website" type="text" id="website" value="'.$localWebsite.'" />
322
+ </p><!-- .form-website -->';
323
+ }
324
+ ?>
325
+
326
+ <?php
327
+ if ($wppb_defaultOptions['aim'] == 'show'){
328
+ if (isset($_POST['aim']))
329
+ $localAim = esc_html($_POST['aim']);
330
+ else $localAim = '';
331
+
332
+ echo'
333
+ <p class="form-aim">
334
+ <label for="aim">'; _e('AIM', 'profilebuilder'); echo'</label>
335
+ <input class="text-input" name="aim" type="text" id="aim" value="'.$localAim.'" />
336
+ </p><!-- .form-aim -->';
337
+ }
338
+ ?>
339
+
340
+ <?php
341
+ if ($wppb_defaultOptions['yahoo'] == 'show'){
342
+ if (isset($_POST['yim']))
343
+ $localYim = esc_html($_POST['yim']);
344
+ else $localYim = '';
345
+
346
+ echo'
347
+ <p class="form-yim">
348
+ <label for="yim">'; _e('Yahoo IM', 'profilebuilder'); echo'</label>
349
+ <input class="text-input" name="yim" type="text" id="yim" value="'.$localYim.'" />
350
+ </p><!-- .form-yim -->';
351
+ }
352
+ ?>
353
+
354
+ <?php
355
+ if ($wppb_defaultOptions['jabber'] == 'show'){
356
+ if (isset($_POST['jabber']))
357
+ $localJabber = esc_html($_POST['jabber']);
358
+ else $localJabber = '';
359
+
360
+ echo'
361
+ <p class="form-jabber">
362
+ <label for="jabber">'; _e('Jabber / Google Talk', 'profilebuilder'); echo'</label>
363
+ <input class="text-input" name="jabber" type="text" id="jabber" value="'.$localJabber.'" />
364
+ </p><!-- .form-jabber -->';
365
+ }
366
+ ?>
367
+
368
+ <p>
369
+ <strong><?php _e('About Yourself', 'profilebuilder');?></strong>
370
+ </p>
371
+
372
+ <?php
373
+ if ($wppb_defaultOptions['bio'] == 'show'){
374
+ if (isset($_POST['description']))
375
+ $localDescription = esc_html($_POST['description']);
376
+ else $localDescription = '';
377
+
378
+ echo'
379
+ <p class="form-description">
380
+ <label for="description">'; _e('Biographical Info', 'profilebuilder'); echo'</label>
381
+ <textarea class="text-input" name="description" id="description" rows="5" cols="30">'.$localDescription.'</textarea>
382
+ </p><!-- .form-description -->';
383
+ }
384
+ ?>
385
+
386
+ <?php
387
+ if ($wppb_defaultOptions['password'] == 'show'){
388
+ if (isset($_POST['pass1']))
389
+ $localPass1 = $_POST['pass1'];
390
+ else $localPass1 = '';
391
+
392
+ if (isset($_POST['pass2']))
393
+ $localPass2 = $_POST['pass2'];
394
+ else $localPass2 = '';
395
+
396
+ echo'
397
+ <p class="form-password">
398
+ <label for="pass1">'; _e('Password', 'profilebuilder'); echo'</label>
399
+ <input class="text-input" name="passw1" type="password" id="pass1" value="'.$localPass1.'" />
400
+ </p><!-- .form-password -->
401
+
402
+ <p class="form-password">
403
+ <label for="pass2">'; _e('Repeat Password', 'profilebuilder'); echo'</label>
404
+ <input class="text-input" name="passw2" type="password" id="pass2" value="'.$localPass2.'" />
405
+ </p><!-- .form-password -->';
406
+ }
407
+ ?>
408
+
409
+ <?php
410
+ $wppb_premium = wppb_plugin_dir . '/premium/functions/';
411
+ if (file_exists ( $wppb_premium.'extra.fields.php' )){
412
+ require_once($wppb_premium.'extra.fields.php');
413
+ register_user_extra_fields($error, $_POST);
414
+ }
415
+ ?>
416
+
417
+ <?php
418
+ echo '
419
+ <p class="send-confirmation-email">
420
+ <label for="send-confirmation-email">';
421
+ echo'<input id="send_credentials_via_email" type="checkbox" name="send_credentials_via_email" value="sending"';if (isset($_POST['send_credentials_via_email'])) echo 'checked';echo'/>
422
+ <span class="wppb-description-delimiter">'; _e(' Send these credentials via email.', 'profilebuilder');echo'</span></label>
423
+ </p><!-- .send-confirmation-email -->';
424
+ ?>
425
+
426
+ <p class="form-submit">
427
+ <?php //echo $referer; ?>
428
+ <input name="adduser" type="submit" id="addusersub" class="submit button" value="<?php if ( current_user_can( 'create_users' ) ) _e('Add User', 'profilebuilder'); else _e('Register', 'profilebuilder'); ?>" />
429
+ <input name="action" type="hidden" id="action" value="adduser" />
430
+ </p><!-- .form-submit -->
431
+ <?php wp_nonce_field('verify_true_registration','register_nonce_field'); ?>
432
+ </form><!-- #adduser -->
433
+
434
+ <?php endif; ?>
435
+
436
+ <?php endif; ?>
437
+
438
+ <?php /* use this action hook to add extra content after the register form. */ ?>
439
+ <?php do_action( 'wppb_after_register_fields' ); ?>
440
+
441
+ </div>
442
+ <?php
443
+ $output = ob_get_contents();
444
+ ob_end_clean();
445
+
446
+ $output = apply_filters ('wppb_register', $output);
447
+
448
+ return $output;
449
+ }
450
+ ?>
functions/functions.load.php ADDED
@@ -0,0 +1,135 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php if (!defined('ProfileBuilderVersion')) exit('No direct script access allowed');
2
+ /*
3
+ Original Plugin Name: OptionTree
4
+ Original Plugin URI: http://wp.envato.com
5
+ Original Author: Derek Herman
6
+ Original Author URI: http://valendesigns.com
7
+ */
8
+
9
+ /**
10
+ * Functions Load
11
+ *
12
+ */
13
+ /* whitelist options, you can add more register_settings changing the second parameter */
14
+
15
+ function wppb_register_settings() {
16
+ register_setting( 'wppb_option_group', 'wppb_default_settings' );
17
+ register_setting( 'wppb_default_style', 'wppb_default_style' );
18
+ register_setting( 'wppb_display_admin_settings', 'wppb_display_admin_settings' );
19
+ register_setting( 'wppb_profile_builder_pro_serial', 'wppb_profile_builder_pro_serial' );
20
+ }
21
+
22
+
23
+ function wppb_add_plugin_stylesheet() {
24
+ $wppb_showDefaultCss = get_option('wppb_default_style');
25
+ $styleUrl_default = wppb_plugin_url . '/assets/css/front.end.css';
26
+ $styleUrl_white = wppb_plugin_url . '/premium/assets/css/front.end.white.css';
27
+ $styleUrl_black = wppb_plugin_url . '/premium/assets/css/front.end.black.css';
28
+ $styleFile_default = wppb_plugin_dir . '/assets/css/front.end.css';
29
+ $styleFile_white = wppb_plugin_dir . '/premium/assets/css/front.end.white.css';
30
+ $styleFile_black = wppb_plugin_dir . '/premium/assets/css/front.end.black.css';
31
+ if ( (file_exists($styleFile_default)) && ($wppb_showDefaultCss == 'yes') ) {
32
+ wp_register_style('wppb_stylesheet', $styleUrl_default);
33
+ wp_enqueue_style( 'wppb_stylesheet');
34
+ }elseif ( (file_exists($styleFile_white)) && ($wppb_showDefaultCss == 'white') ) {
35
+ wp_register_style('wppb_stylesheet', $styleUrl_white);
36
+ wp_enqueue_style( 'wppb_stylesheet');
37
+ }elseif ( (file_exists($styleFile_black)) && ($wppb_showDefaultCss == 'black') ) {
38
+ wp_register_style('wppb_stylesheet', $styleUrl_black);
39
+ wp_enqueue_style( 'wppb_stylesheet');
40
+ }
41
+ }
42
+
43
+
44
+ function wppb_show_admin_bar($content){
45
+ global $current_user;
46
+ $admintSettingsPresent = get_option('wppb_display_admin_settings','not_found');
47
+ if ($admintSettingsPresent != 'not_found'){
48
+ $wppb_showAdminBar = get_option('wppb_display_admin_settings');
49
+ if ($current_user->ID != 0){
50
+ $userRole = ($current_user->data->wp_capabilities);
51
+ if ($userRole != NULL){
52
+ $currentRole = key($userRole);
53
+ $getSettings = $wppb_showAdminBar[$currentRole];
54
+ if ($getSettings == 'show')
55
+ return true;
56
+ elseif ($getSettings == 'hide')
57
+ return false;
58
+ }
59
+ }
60
+ }
61
+ else
62
+ return true;
63
+ }
64
+
65
+
66
+
67
+ if ( is_admin() ){
68
+
69
+ /* register the settings for the menu only display sidebar menu for a user with a certain capability, in this case only the "admin" */
70
+ add_action('admin_init', 'wppb_register_settings');
71
+
72
+ $wppb_premiumAdmin = wppb_plugin_dir . '/premium/functions/';
73
+ if (file_exists ( $wppb_premiumAdmin.'premium.functions.load.php' )){
74
+ include_once($wppb_premiumAdmin.'premium.functions.load.php');
75
+
76
+ /* check whether a delete attachment has been requested */
77
+ add_action('admin_init', 'deleteAttachment');
78
+
79
+ /* check whether a delete avatar has been requested */
80
+ add_action('admin_init', 'deleteAvatar');
81
+
82
+ }
83
+
84
+
85
+ /* display the same extra profile fields in the admin panel also */
86
+ $wppb_premium = wppb_plugin_dir . '/premium/functions/';
87
+ if (file_exists ( $wppb_premium.'extra.fields.php' )){
88
+ include( $wppb_premium.'extra.fields.php' );
89
+ add_action( 'show_user_profile', 'display_profile_extra_fields', 10 );
90
+ add_action( 'edit_user_profile', 'display_profile_extra_fields', 10 );
91
+ add_action( 'personal_options_update', 'save_extra_profile_fields', 10 );
92
+ add_action( 'edit_user_profile_update', 'save_extra_profile_fields', 10 );
93
+
94
+ /* check to see if the inserted serial number is valid or not; purely for visual needs */
95
+ add_action('admin_init', 'wppb_check_serial_number');
96
+ }
97
+
98
+ }
99
+ else if ( !is_admin() ){
100
+ /* include the stylesheet */
101
+ add_action('wp_print_styles', 'wppb_add_plugin_stylesheet');
102
+
103
+ $wppb_plugin = wppb_plugin_dir . '/';
104
+
105
+ /* include the menu file for the profile informations */
106
+ include_once($wppb_plugin.'front-end/wppb.edit.profile.php');
107
+ add_shortcode('wppb-edit-profile', 'wppb_front_end_profile_info');
108
+
109
+ /*include the menu file for the login screen */
110
+ include_once($wppb_plugin.'front-end/wppb.login.php');
111
+ add_shortcode('wppb-login', 'wppb_front_end_login');
112
+
113
+ /* include the menu file for the register screen */
114
+ include_once($wppb_plugin.'front-end/wppb.register.php');
115
+ add_shortcode('wppb-register', 'wppb_front_end_register');
116
+
117
+ /* set the front-end admin bar to show/hide */
118
+ add_filter( 'show_admin_bar' , 'wppb_show_admin_bar');
119
+
120
+ /* Shortcodes used for the widget area. Just uncomment whichever you need */
121
+ add_filter('widget_text', 'do_shortcode', 11);
122
+
123
+ /* check to see if the premium functions are present */
124
+ $wppb_premiumAdmin = wppb_plugin_dir . '/premium/functions/';
125
+ if (file_exists ( $wppb_premiumAdmin.'premium.functions.load.php' )){
126
+
127
+ include_once($wppb_premiumAdmin.'premium.functions.load.php');
128
+
129
+ /* filter to set current users custom avatar */
130
+ add_filter('get_avatar', 'changeDefaultAvatar', 21, 5);
131
+
132
+ /* check if there is a need to resize the current avatar image for all the users*/
133
+ add_action('init', 'wppb_resize_avatar');
134
+ }
135
+ }
includes/wppb-front-end-profile.php DELETED
@@ -1,317 +0,0 @@
1
- <?php
2
- /*
3
- wp_update_user only attempts to clear and reset cookies if it's updating the password.
4
- The php function setcookie(), used in both the cookie-clearing and cookie-resetting functions,
5
- adds to the page headers and therefore must be called within the first php tag on the page, and
6
- before the WordPress get_header() function. Since wp_update_user needs this, it must be at the
7
- beginning of the page as well.
8
- */
9
- $wppb_saved_pass = false;
10
- $wppb_error_pass = false;
11
-
12
- function wppb_save_the_password(){
13
- global $wppb_saved_pass;
14
- global $wppb_error_pass;
15
- /* Load registration file. */
16
- require_once(ABSPATH . WPINC . '/registration.php');
17
- /* Get user info. */
18
- global $current_user;
19
- if ( 'POST' == $_SERVER['REQUEST_METHOD'] && !empty( $_POST['action'] ) && $_POST['action'] == 'update-user' && wp_verify_nonce($_POST['edit_nonce_field'],'verify_edit_user') ) {
20
- /* Update user password. */
21
- if ( !empty($_POST['pass1'] ) && !empty( $_POST['pass2'] ) ) {
22
- if ( $_POST['pass1'] == $_POST['pass2'] )
23
- {
24
- wp_update_user( array( 'ID' => $current_user->id, 'user_pass' => esc_attr( $_POST['pass1'] ) ) );
25
- $wppb_saved_pass = true;
26
- } else {
27
- $wppb_error_pass = true;
28
- }
29
- }
30
- }
31
- }
32
- add_action('init', 'wppb_save_the_password');
33
-
34
- /* the shortcode function */
35
- function wppb_front_end_profile_info() {
36
- global $wppb_saved_pass;
37
- global $wppb_error_pass;
38
-
39
- ob_start();
40
- get_currentuserinfo();
41
- $wppb_defaultOptions = get_option('wppb_default_settings');
42
- $changesSaved = 'no';
43
-
44
- /* Load registration file. */
45
- require_once(ABSPATH . WPINC . '/registration.php');
46
- /* Get user info. */
47
- global $current_user;
48
- /* If profile was saved, update profile. */
49
- if ( 'POST' == $_SERVER['REQUEST_METHOD'] && !empty( $_POST['action'] ) && $_POST['action'] == 'update-user' && wp_verify_nonce($_POST['edit_nonce_field'],'verify_edit_user') ) {
50
-
51
- if (email_exists( $_POST['email'] ) != FALSE)
52
- $thisEmail = email_exists( $_POST['email'] );
53
- else $thisEmail = $current_user->id;
54
-
55
- /* Update user password. */
56
- if ($wppb_saved_pass == true){
57
- $changesSaved = 'yes';
58
- }
59
- if ($wppb_error_pass == true){
60
- $error = __('The passwords you entered didn\'t match. Your password was not updated.', 'profilebuilder');
61
- }
62
-
63
-
64
- if ( !empty( $_POST['email'] ) && is_email( $_POST['email'] )){ // if the user entered a valid email address
65
- if (($thisEmail == $current_user->id)){ // if the entered email address is not already registered to some other user
66
- wp_update_user( array( 'ID' => $current_user->id, 'user_email' => esc_attr( $_POST['email'] )));
67
- $changesSaved = 'yes';
68
- }else
69
- $error = __('The e-mail address you entered is already registered to a different user. Your e-mail address was not updated.', 'profilebuilder');
70
- }else
71
- $error = __('The e-mail address you entered is not a valid one. Your e-mail address was not updated.', 'profilebuilder');
72
-
73
-
74
-
75
- /* Update user information. */
76
- if ($wppb_defaultOptions['firstname'] == 'show'){
77
- wp_update_user( array( 'ID' => $current_user->id, 'first_name' => esc_attr( $_POST['first_name'] )));
78
- $changesSaved = 'yes';
79
- }
80
- if ($wppb_defaultOptions['lastname'] == 'show'){
81
- wp_update_user( array( 'ID' => $current_user->id, 'last_name' => esc_attr( $_POST['last_name'] )));
82
- $changesSaved = 'yes';
83
- }
84
-
85
- if ($wppb_defaultOptions['nickname'] == 'show'){
86
- wp_update_user( array( 'ID' => $current_user->id, 'nickname' => esc_attr( $_POST['nickname'] )));
87
- $changesSaved = 'yes';
88
- }
89
-
90
- if ($wppb_defaultOptions['dispname'] == 'show'){
91
- wp_update_user( array( 'ID' => $current_user->id, 'display_name' => esc_attr( $_POST['display_name'] )));
92
- $changesSaved = 'yes';
93
- }
94
-
95
- if ($wppb_defaultOptions['website'] == 'show'){
96
- $wppbPos = strpos($_POST['website'], 'http://');
97
- if($wppbPos !== FALSE){
98
- wp_update_user( array( 'ID' => $current_user->id, 'user_url' => esc_attr( $_POST['website'] )));
99
- $changesSaved = 'yes';
100
- }else{
101
- wp_update_user( array( 'ID' => $current_user->id, 'user_url' => 'http://'.esc_attr( $_POST['website'] )));
102
- $changesSaved = 'yes';
103
- }
104
- }
105
-
106
- if ($wppb_defaultOptions['aim'] == 'show'){
107
- update_user_meta( $current_user->id, 'aim', esc_attr( $_POST['aim'] ) );
108
- $changesSaved = 'yes';
109
- }
110
-
111
- if ($wppb_defaultOptions['yahoo'] == 'show'){
112
- update_user_meta( $current_user->id, 'yim', esc_attr( $_POST['yim'] ) );
113
- $changesSaved = 'yes';
114
- }
115
-
116
- if ($wppb_defaultOptions['jabber'] == 'show'){
117
- update_user_meta( $current_user->id, 'jabber', esc_attr( $_POST['jabber'] ) );
118
- $changesSaved = 'yes';
119
- }
120
-
121
- if ($wppb_defaultOptions['bio'] == 'show'){
122
- update_user_meta( $current_user->id, 'description', esc_attr( $_POST['description'] ) );
123
- $changesSaved = 'yes';
124
- }
125
-
126
- }
127
-
128
-
129
-
130
-
131
-
132
-
133
-
134
- ?>
135
- <div class="wppb_holder" id="wppb_modify">
136
- <?php if ( !is_user_logged_in() ) : ?>
137
-
138
- <p class="warning">
139
- <?php _e('You must be logged in to edit your profile.', 'profilebuilder'); ?>
140
- </p><!-- .warning -->
141
-
142
- <?php else : ?>
143
-
144
- <?php if ( $error ) echo '<p class="error">' . $error . '</p>'; ?>
145
- <?php
146
- if ($changesSaved == 'yes'){
147
- echo '<p class="changes-saved">';
148
- _e('The changes made have been successfully saved.', 'profilebuilder');
149
- echo'</p><!-- .changes-saved -->';
150
- }
151
- ?>
152
-
153
- <form method="post" id="edituser" class="user-forms" action="<?php the_permalink(); ?>">
154
- <p>
155
- <strong>Name</strong>
156
- </p>
157
- <?php
158
- if ($wppb_defaultOptions['username'] == 'show'){ echo'
159
- <p class="username">
160
- <label for="user_login">'; _e('Username', 'profilebuilder'); echo'</label>
161
- <input class="text-input" name="user_login" type="text" id="user_login" value="'; the_author_meta( 'user_login', $current_user->id ); echo'" disabled="disabled"/> <label for="user_login"><i>'; _e(' Usernames cannot be changed.'); echo'</i></label>
162
- </p><!-- .first_name -->';
163
- }
164
- ?>
165
-
166
- <?php
167
- if ($wppb_defaultOptions['firstname'] == 'show'){ echo'
168
- <p class="first_name">
169
- <label for="first_name">'; _e('First Name', 'profilebuilder'); echo'</label>
170
- <input class="text-input" name="first_name" type="text" id="first_name" value="'; the_author_meta( 'first_name', $current_user->id ); echo '" />
171
- </p><!-- .first_name -->';
172
- }
173
- ?>
174
-
175
- <?php
176
- if ($wppb_defaultOptions['lastname'] == 'show'){ echo'
177
- <p class="last_name">
178
- <label for="last_name">'; _e('Last Name', 'profilebuilder'); echo'</label>
179
- <input class="text-input" name="last_name" type="text" id="last_name" value="'; the_author_meta( 'last_name', $current_user->id ); echo '" />
180
- </p><!-- .last_name -->';
181
- }
182
- ?>
183
-
184
- <?php
185
- if ($wppb_defaultOptions['nickname'] == 'show'){ echo'
186
- <p class="nickname">
187
- <label for="nickname">'; _e('Nickname', 'profilebuilder'); echo'<i>'; _e(' (required)', 'profilebuilder');echo'</i></label>
188
- <input class="text-input" name="nickname" type="text" id="nickname" value="'; the_author_meta( 'nickname', $current_user->id ); echo'" />
189
- </p><!-- .nickname -->';
190
- }
191
- ?>
192
-
193
- <?php
194
- if ($wppb_defaultOptions['dispname'] == 'show'){ echo'
195
- <p class="display_name">
196
- <label for="display_name">'; _e('Display name publicly as', 'profilebuilder'); echo'</label>
197
- <select name="display_name" id="display_name">';
198
- $public_display = array();
199
- $public_display['display_username'] = get_the_author_meta('user_login', $current_user->id);
200
- $thisFirstName = get_the_author_meta('first_name', $current_user->id);
201
- if ( !empty($thisFirstName))
202
- $public_display['display_firstname'] = get_the_author_meta('first_name', $current_user->id);
203
- $thisLastName = get_the_author_meta('last_name', $current_user->id);
204
- if ( !empty($thisLastName))
205
- $public_display['display_lastname'] = get_the_author_meta('last_name', $current_user->id);
206
- $public_display['display_nickname'] = get_the_author_meta('nickname', $current_user->id);
207
- if ( !empty($thisFirstName) && !empty($thisLastName) ) {
208
- $public_display['display_firstlast'] = $thisFirstName . ' ' . $thisLastName;
209
- $public_display['display_lastfirst'] = $thisLastName . ' ' . $thisFirstName;
210
- }
211
- $thisDisplayName = get_the_author_meta('display_name', $current_user->id);
212
- if ( !in_array( $thisDisplayName, $public_display ) ) // Only add this if it isn't duplicated elsewhere
213
- $public_display = array( 'display_displayname' => $thisDisplayName ) + $public_display;
214
- $public_display = array_map( 'trim', $public_display );
215
- foreach ( $public_display as $id => $item ) {
216
- echo '<option id="'.$id.'" value="'.$item.'"'; selected( $thisDisplayName, $item ); echo'>'.$item.'</option>';
217
- }
218
- echo'</select>
219
- </p><!-- .display_name -->';
220
- }
221
- ?>
222
-
223
-
224
- <p>
225
- <strong>Contact Info</strong>
226
- </p>
227
-
228
- <?php
229
- if ($wppb_defaultOptions['email'] == 'show'){ echo'
230
- <p class="form-email">
231
- <label for="email">'; _e('E-mail', 'profilebuilder');echo'<i>'; _e(' (required)', 'profilebuilder');echo'</i></label>
232
- <input class="text-input" name="email" type="text" id="email" value="'; the_author_meta( 'user_email', $current_user->id ); echo'" />
233
- </p><!-- .form-email -->';
234
- }
235
- ?>
236
-
237
- <?php
238
- if ($wppb_defaultOptions['website'] == 'show'){ echo'
239
- <p class="form-website">
240
- <label for="website">'; _e('Website', 'profilebuilder'); echo'</label>
241
- <input class="text-input" name="website" type="text" id="website" value="'; the_author_meta( 'user_url', $current_user->id ); echo'" />
242
- </p><!-- .form-website -->';
243
- }
244
- ?>
245
-
246
- <?php
247
- if ($wppb_defaultOptions['aim'] == 'show'){ echo'
248
- <p class="form-aim">
249
- <label for="aim">'; _e('AIM', 'profilebuilder'); echo'</label>
250
- <input class="text-input" name="aim" type="text" id="aim" value="'; the_author_meta( 'aim', $current_user->id ); echo'" />
251
- </p><!-- .form-aim -->';
252
- }
253
- ?>
254
-
255
- <?php
256
- if ($wppb_defaultOptions['yahoo'] == 'show'){ echo'
257
- <p class="form-yim">
258
- <label for="yim">'; _e('Yahoo IM', 'profilebuilder'); echo'</label>
259
- <input class="text-input" name="yim" type="text" id="yim" value="'; the_author_meta( 'yim', $current_user->id ); echo'" />
260
- </p><!-- .form-yim -->';
261
- }
262
- ?>
263
-
264
- <?php
265
- if ($wppb_defaultOptions['jabber'] == 'show'){ echo'
266
- <p class="form-jabber">
267
- <label for="jabber">'; _e('Jabber / Google Talk', 'profilebuilder'); echo'</label>
268
- <input class="text-input" name="jabber" type="text" id="jabber" value="'; the_author_meta( 'jabber', $current_user->id ); echo'" />
269
- </p><!-- .form-jabber -->';
270
- }
271
- ?>
272
-
273
- <p>
274
- <strong>About Yourself</strong>
275
- </p>
276
-
277
- <?php
278
- if ($wppb_defaultOptions['bio'] == 'show'){ echo'
279
- <p class="form-description">
280
- <label for="description">'; _e('Biographical Info', 'profilebuilder'); echo'</label>
281
- <textarea class="text-input" name="description" id="description" rows="5" cols="30">'; the_author_meta( 'description', $current_user->id ); echo'</textarea>
282
- </p><!-- .form-description -->';
283
- }
284
- ?>
285
-
286
- <?php
287
- if ($wppb_defaultOptions['password'] == 'show'){ echo'
288
- <p class="form-password">
289
- <label for="pass1">'; _e('New Password', 'profilebuilder'); echo'</label>
290
- <input class="text-input" name="pass1" type="password" id="pass1" />
291
- </p><!-- .form-password -->
292
-
293
- <p class="form-password">
294
- <label for="pass2">'; _e('Repeat Password', 'profilebuilder'); echo'</label>
295
- <input class="text-input" name="pass2" type="password" id="pass2" />
296
- </p><!-- .form-password -->';
297
- }
298
- ?>
299
-
300
-
301
- <p class="form-submit">
302
- <input name="updateuser" type="submit" id="updateuser" class="submit button" value="<?php _e('Update', 'profilebuilder'); ?>" />
303
- <?php// wp_nonce_field( 'update-user' ) ?>
304
- <input name="action" type="hidden" id="action" value="update-user" />
305
- </p><!-- .form-submit -->
306
- <?php wp_nonce_field('verify_edit_user','edit_nonce_field'); ?>
307
- </form><!-- #edituser -->
308
-
309
- <?php endif; ?>
310
- </div>
311
- <?php
312
- $output = ob_get_contents();
313
- ob_end_clean();
314
- return $output;
315
- }
316
-
317
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/wppb-front-end-register.php DELETED
@@ -1,284 +0,0 @@
1
- <?php
2
-
3
- function wppb_front_end_register(){
4
- ob_start();
5
- $wppb_defaultOptions = get_option('wppb_default_settings');
6
- global $current_user;
7
- get_currentuserinfo();
8
-
9
- /* Load registration file. */
10
- require_once( ABSPATH . WPINC . '/registration.php' );
11
-
12
- /* Check if users can register. */
13
- $registration = get_option( 'users_can_register' );
14
-
15
- /* If user registered, input info. */
16
- if ( 'POST' == $_SERVER['REQUEST_METHOD'] && !empty( $_POST['action'] ) && $_POST['action'] == 'adduser' && wp_verify_nonce($_POST['register_nonce_field'],'verify_true_registration') ) {
17
-
18
- $user_pass = esc_attr( $_POST['passw1'] );
19
- $userdata = array(
20
- 'user_pass' => $user_pass,
21
- 'user_login' => esc_attr( $_POST['user_name'] ),
22
- 'first_name' => esc_attr( $_POST['first_name'] ),
23
- 'last_name' => esc_attr( $_POST['last_name'] ),
24
- 'nickname' => esc_attr( $_POST['nickname'] ),
25
- 'user_email' => esc_attr( $_POST['email'] ),
26
- 'user_url' => esc_attr( $_POST['website'] ),
27
- 'aim' => esc_attr( $_POST['aim'] ),
28
- 'yim' => esc_attr( $_POST['yim'] ),
29
- 'jabber' => esc_attr( $_POST['jabber'] ),
30
- 'description' => esc_attr( $_POST['description'] ),
31
- 'role' => get_option( 'default_role' ),
32
- );
33
-
34
- if ( !$userdata['user_login'] )
35
- $error = __('A username is required for registration.', 'profilebuilder');
36
- elseif ( username_exists($userdata['user_login']) )
37
- $error = __('Sorry, that username already exists!', 'profilebuilder');
38
-
39
- elseif ( !is_email($userdata['user_email'], true) )
40
- $error = __('You must enter a valid email address.', 'profilebuilder');
41
- elseif ( email_exists($userdata['user_email']) )
42
- $error = __('Sorry, that email address is already used!', 'profilebuilder');
43
- elseif (( empty($_POST['passw1'] ) || empty( $_POST['passw2'] )) || ( $_POST['pass1'] != $_POST['pass2'] )){
44
- if ( empty($_POST['passw1'] ) || empty( $_POST['passw2'] )) //verify if the user has completed both password fields
45
- $error = __('You didn\'t complete one of the password-fields!', 'profilebuilder');
46
- elseif ( $_POST['pass1'] != $_POST['pass2'] ) //verify if the the password and the retyped password are a match
47
- $error = __('The entered passwords don\'t match!', 'profilebuilder');
48
- }
49
-
50
- else{
51
- $the_registered_name = $_POST['user_name'];
52
- $new_user = wp_insert_user( $userdata );
53
- if (isset($_POST['send_password']) && ($_POST['send_password'] == 1)){
54
- $email = $_POST['email']; //change these variables to modify sent email message, destination and source.
55
- $fromemail = get_bloginfo('name');
56
- $mailPassword = $_POST['passw1'];
57
- $mailUsername = $_POST['user_name'];
58
- $subject = 'A new account has been created for you.';
59
- $msg = 'Welcome to blog '.$fromemail.'. Your username is:'.$mailUsername.' and password:'.$mailPassword;
60
- $messageSent = wp_mail( $email, $subject, $msg);
61
- if( $messageSent == TRUE)
62
- $sentEmailStatus = 2;
63
- else
64
- $sentEmailStatus = 1;
65
- }
66
-
67
- }
68
- }
69
-
70
- ?>
71
- <div class="wppb_holder" id="wppb_register">
72
- <?php if ( is_user_logged_in() && !current_user_can( 'create_users' ) ) : ?>
73
- <?php
74
- global $user_ID;
75
- $login = get_userdata( $user_ID );
76
- if($login->display_name == ''){
77
- $login->display_name = $login->user_login;
78
- }
79
- ?>
80
- <p class="log-in-out alert">
81
- <?php printf( __('You are logged in as <a href="%1$s" title="%2$s">%2$s</a>. You don\'t need another account.', 'profilebuilder'), get_author_posts_url( $login->ID ), $login->display_name ); ?> <a href="<?php echo wp_logout_url( get_permalink() ); ?>" title="<?php _e('Log out of this account', 'profilebuilder'); ?>"><?php _e('Logout &raquo;', 'profilebuilder'); ?></a>
82
- </p><!-- .log-in-out .alert -->
83
-
84
- <?php elseif ( $new_user ) : ?>
85
-
86
-
87
- <?php
88
-
89
- echo'<p class="success">';
90
- if ( current_user_can( 'create_users' ) )
91
- printf( __('A user account for %1$s has been created.', 'profilebuilder'), $the_registered_name );
92
- else
93
- printf( __('Thank you for registering, %1$s.', 'profilebuilder'), $the_registered_name );
94
- echo'</p><!-- .success -->';
95
- ?>
96
-
97
- <?php
98
- if(isset($_POST['send_password'])){
99
- if ($sentEmailStatus == 1){
100
- echo '<p class="error">';
101
- echo 'An error occured while trying to send the notification email.';
102
- echo '</p><!-- .error -->';
103
- }elseif ($sentEmailStatus == 2){
104
- echo '<p class="success">';
105
- echo 'An email containing the username and password was successfully sent.';
106
- echo '</p><!-- .success -->';
107
- }
108
- }
109
- ?>
110
- <?php else : ?>
111
-
112
- <?php if ( $error ) : ?>
113
- <p class="error">
114
- <?php echo $error; ?>
115
- </p><!-- .error -->
116
- <?php endif; ?>
117
-
118
-
119
- <?php if ( current_user_can( 'create_users' ) && $registration ) : ?>
120
- <p class="alert">
121
- <?php _e('Users can register themselves or you can manually create users here.', 'profilebuilder'); ?>
122
- </p><!-- .alert -->
123
- <?php elseif ( current_user_can( 'create_users' ) ) : ?>
124
- <p class="alert">
125
- <?php _e('Users cannot currently register themselves, but you can manually create users here.', 'profilebuilder'); ?>
126
- </p><!-- .alert -->
127
- <?php elseif ( !current_user_can( 'create_users' ) && !$registration) : ?>
128
- <p class="alert">
129
- <?php _e('Only an administrator can add new users.', 'profilebuilder'); ?>
130
- </p><!-- .alert -->
131
-
132
- <?php endif; ?>
133
-
134
- <?php if ( $registration || current_user_can( 'create_users' ) ) : ?>
135
-
136
- <form method="post" id="adduser" class="user-forms" action="http://<?php echo $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; ?>">
137
-
138
- <p>
139
- <strong>Name</strong>
140
- </p>
141
-
142
- <?php
143
- if ($wppb_defaultOptions['username'] == 'show'){ echo'
144
- <p class="form-username">
145
- <label for="user_name">'; _e('Username', 'profilebuilder'); echo'<i>'; _e(' (required)', 'profilebuilder');echo'</i></label>
146
- <input class="text-input" name="user_name" type="text" id="user_name" value="'; if ( $error ) echo wp_specialchars( $_POST['user_name'], 1 ); echo'" />
147
- </p><!-- .form-username -->';
148
- }
149
- ?>
150
-
151
- <?php
152
- if ($wppb_defaultOptions['firstname'] == 'show'){ echo'
153
- <p class="first_name">
154
- <label for="first_name">'; _e('First Name', 'profilebuilder'); echo'</label>
155
- <input class="text-input" name="first_name" type="text" id="first_name" value="'; if ( $error ) echo wp_specialchars( $_POST['first_name'], 1 ); echo'" />
156
- </p><!-- .first_name -->';
157
- }
158
- ?>
159
-
160
- <?php
161
- if ($wppb_defaultOptions['lastname'] == 'show'){ echo'
162
- <p class="last_name">
163
- <label for="last_name">'; _e('Last Name', 'profilebuilder'); echo'</label>
164
- <input class="text-input" name="last_name" type="text" id="last_name" value="'; if ( $error ) echo wp_specialchars( $_POST['last_name'], 1 ); echo'" />
165
- </p><!-- .last_name -->';
166
- }
167
- ?>
168
-
169
- <?php
170
- if ($wppb_defaultOptions['nickname'] == 'show'){ echo'
171
- <p class="nickname">
172
- <label for="nickname">'; _e('Nickname', 'profilebuilder'); echo'</label>
173
- <input class="text-input" name="nickname" type="text" id="nickname" value="'; if ( $error ) echo wp_specialchars( $_POST['nickname'], 1 ); echo'" />
174
- </p><!-- .nickname -->';
175
- }
176
- ?>
177
-
178
- <p>
179
- <strong>Contact Info</strong>
180
- </p>
181
-
182
- <?php
183
- if ($wppb_defaultOptions['email'] == 'show'){ echo'
184
- <p class="form-email">
185
- <label for="email">'; _e('E-mail', 'profilebuilder'); echo'<i>'; _e(' (required)', 'profilebuilder');echo'</i></label>
186
- <input class="text-input" name="email" type="text" id="email" value="'; if ( $error ) echo wp_specialchars( $_POST['email'], 1 ); echo'" />
187
- </p><!-- .form-email -->';
188
- }
189
- ?>
190
-
191
- <?php
192
- if ($wppb_defaultOptions['website'] == 'show'){ echo'
193
- <p class="form-website">
194
- <label for="website">'; _e('Website', 'profilebuilder'); echo'</label>
195
- <input class="text-input" name="website" type="text" id="website" value="'; if ( $error ) echo wp_specialchars( $_POST['website'], 1 ); echo'" />
196
- </p><!-- .form-website -->';
197
- }
198
- ?>
199
-
200
- <?php
201
- if ($wppb_defaultOptions['aim'] == 'show'){ echo'
202
- <p class="form-aim">
203
- <label for="aim">'; _e('AIM', 'profilebuilder'); echo'</label>
204
- <input class="text-input" name="aim" type="text" id="aim" value="'; if ( $error ) echo wp_specialchars( $_POST['aim'], 1 ); echo'" />
205
- </p><!-- .form-aim -->';
206
- }
207
- ?>
208
-
209
- <?php
210
- if ($wppb_defaultOptions['yahoo'] == 'show'){ echo'
211
- <p class="form-yim">
212
- <label for="yim">'; _e('Yahoo IM', 'profilebuilder'); echo'</label>
213
- <input class="text-input" name="yim" type="text" id="yim" value="'; if ( $error ) echo wp_specialchars( $_POST['yim'], 1 ); echo'" />
214
- </p><!-- .form-yim -->';
215
- }
216
- ?>
217
-
218
- <?php
219
- if ($wppb_defaultOptions['jabber'] == 'show'){ echo'
220
- <p class="form-jabber">
221
- <label for="jabber">'; _e('Jabber / Google Talk', 'profilebuilder'); echo'</label>
222
- <input class="text-input" name="jabber" type="text" id="jabber" value="'; if ( $error ) echo wp_specialchars( $_POST['jabber'], 1 ); echo'" />
223
- </p><!-- .form-jabber -->';
224
- }
225
- ?>
226
-
227
- <p>
228
- <strong>About Yourself</strong>
229
- </p>
230
-
231
- <?php
232
- if ($wppb_defaultOptions['bio'] == 'show'){ echo'
233
- <p class="form-description">
234
- <label for="description">'; _e('Biographical Info', 'profilebuilder'); echo'</label>
235
- <textarea class="text-input" name="description" id="description" rows="5" cols="30">'; if ( $error ) echo wp_specialchars( $_POST['description'], 1 ); echo'</textarea>
236
- </p><!-- .form-description -->';
237
- }
238
- ?>
239
-
240
- <?php
241
- if ($wppb_defaultOptions['password'] == 'show'){ echo'
242
- <p class="form-password">
243
- <label for="pass1">'; _e('Password', 'profilebuilder'); echo'</label>
244
- <input class="text-input" name="passw1" type="password" id="pass1" />
245
- </p><!-- .form-password -->
246
-
247
- <p class="form-password">
248
- <label for="pass2">'; _e('Repeat Password', 'profilebuilder'); echo'</label>
249
- <input class="text-input" name="passw2" type="password" id="pass2" />
250
- </p><!-- .form-password -->';
251
- }
252
- ?>
253
- <?php
254
- if ( current_user_can( 'delete_users' ) )
255
- echo '
256
- <p class="send-confirmation-email">
257
- <label for="pass1">';
258
- //_e('Send Password? ', 'profilebuilder');
259
- echo'<input id="send_password" type="checkbox" name="send_password" value="1"';if (isset($_POST['send_password'])) echo 'checked';echo'/>
260
- <i>'; _e(' Send these credentials via email.', 'profilebuilder');echo'</i></label>
261
- </p><!-- .send-confirmation-email -->';
262
- ?>
263
-
264
- <p class="form-submit">
265
- <?php echo $referer; ?>
266
- <input name="adduser" type="submit" id="addusersub" class="submit button" value="<?php if ( current_user_can( 'create_users' ) ) _e('Add User', 'profilebuilder'); else _e('Register', 'profilebuilder'); ?>" />
267
- <input name="action" type="hidden" id="action" value="adduser" />
268
- </p><!-- .form-submit -->
269
- <?php wp_nonce_field('verify_true_registration','register_nonce_field'); ?>
270
- </form><!-- #adduser -->
271
-
272
- <?php endif; ?>
273
-
274
- <?php endif; ?>
275
-
276
-
277
- </div>
278
- <?php
279
- $output = ob_get_contents();
280
- ob_end_clean();
281
- return $output;
282
- }
283
-
284
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/wppb-menu-file.php DELETED
@@ -1,330 +0,0 @@
1
- <?php
2
-
3
- function wppb_display_menu(){
4
-
5
- ?>
6
- <div class="wrap">
7
- <?php screen_icon(); ?>
8
- <h2> Profile Builder </h2>
9
- <?php if ($_GET["settings-updated"] == 'true')
10
- echo'<div id="message" class="updated below-h2">
11
- <p>
12
- Changes saved.
13
- </p>
14
- </div>';
15
- ?>
16
- <h3><?php _e('Basic Information'); ?> </h3>
17
- <table class="wp-list-table widefat fixed pages" cellspacing="0">
18
-
19
- <tbody class="plugins">
20
- <tr height="10"></tr>
21
- <tr>
22
- <td><font size="2">Welcome to Profile Builder!</font></td>
23
- </tr>
24
- <tr height="10"></tr>
25
- <tr>
26
- <td>Profile Builder lets you customize your website by adding a front-end menu for all your users, giving them a more flexible way to modify their user-information or to register new users. Also, grants users with administrator rights to customize basic fields. To achieve this, just create a new page, and give it an intuitive name(i.e. Edit Profile).</td>
27
- </tr>
28
- <tr>
29
- <td>Now all you need to do is add the following shortcode(for the previous example): [wppb-edit-profile]. Publish your page and you are done!</td>
30
- </tr>
31
- <tr>
32
- <td>You can use the following shortcodes:</td>
33
- </tr>
34
- <tr>
35
- <td><span style="padding-left:50px"></span>&rarr; [wppb-edit-profile] - to grant users a front-end acces to their personal information(requires user to be logged in).</td>
36
- </tr>
37
- <tr>
38
- <td><span style="padding-left:50px"></span>&rarr; [wppb-login] - for a basic log-in menu.</td>
39
- </tr>
40
- <tr>
41
- <td><span style="padding-left:50px"></span>&rarr; [wppb-register] - to add a registration form.</td>
42
- </tr>
43
- <tr height="10"></tr>
44
- <tr>
45
- <td>Also, users with administrator rights have access to the following features:</td>
46
- </tr>
47
- <tr>
48
- <td><span style="padding-left:50px"></span>&rarr; add a custom stylesheet/inherit values from the current theme or use the default one, built into this plug-in.</td>
49
- </tr>
50
- <tr>
51
- <td><span style="padding-left:50px"></span>&rarr; select whether to display or not the admin bar in the front end for a specific user-group registered to the site.</td>
52
- </tr>
53
- <tr>
54
- <td><span style="padding-left:50px"></span>&rarr; select which information-field can the users see/modify. The hidden fields' values remain unmodified.</td>
55
- </tr>
56
- <tr>
57
- <td>NOTE: this plugin only adds/removes fields in the front-end. The default information-fields will still be visible(and thus modifiable) from the back-end, while custom fields will only be visible in the front-end.</td>
58
- </tr>
59
- </tbody>
60
-
61
- </table>
62
-
63
-
64
- <form method="post" action="options.php">
65
- <?php $wppb_showDefaultCss = get_option('wppb_default_style'); ?>
66
- <?php settings_fields('wppb_default_style'); ?>
67
- <br/>
68
-
69
- <h3><?php _e('Plug-in Layout'); ?> </h3>
70
- <table class="wp-list-table widefat fixed pages" cellspacing="0">
71
-
72
- <tbody class="plugins">
73
- <tr height="10"></tr>
74
- <tr>
75
- <td><font size="2">Use default stylesheet:</font></td>
76
- <td>
77
- <select name="wppb_default_style" width="60" style="width: 60px">
78
- <option value="yes" <?php if ($wppb_showDefaultCss == 'yes') echo ' selected';?>>yes</option>
79
- <option value="no" <?php if ($wppb_showDefaultCss == 'no') echo ' selected';?>>no</option>
80
- </select>
81
-
82
- </td>
83
- </tr>
84
- <tr>
85
- <td></td>
86
- <td>
87
- <input type="hidden" name="action" value="update" />
88
- <p class="submit">
89
- <input type="submit" class="button-primary" value="<?php _e('Save Changes') ?>" /> <?php //Note the use of the _e() function to handle translation of the text ?>
90
- </p>
91
- </form>
92
- </td>
93
- </tr>
94
- </tbody>
95
- </table>
96
-
97
-
98
-
99
-
100
-
101
-
102
- <form method="post" action="options.php">
103
- <?php $wppb_showAdminBar = get_option('wppb_display_admin_settings'); ?>
104
- <?php settings_fields('wppb_display_admin_settings'); ?>
105
-
106
- <br/>
107
-
108
- <h3><?php _e('Show/Hide the Admin Bar on Front End'); ?> </h3>
109
- <table class="wp-list-table widefat fixed pages" cellspacing="0">
110
- <thead>
111
- <tr>
112
- <th class="manage-column" scope="col">User-group</th>
113
- <th class="manage-column" scope="col">Visibility</th>
114
- </tr>
115
- </thead>
116
- <tbody>
117
- <tr height="10"></tr>
118
- <?php
119
- foreach($wppb_showAdminBar as $key => $data){
120
- echo'<tr>
121
- <td>
122
- <font size="2">'.$key.'</font>
123
- </td>
124
- <td>
125
- <input type="radio" name="wppb_display_admin_settings['.$key.']" value="show"';if ($wppb_showAdminBar[$key] == 'show') echo ' checked';echo'/><font size="1">Show</font><span style="padding-left:20px"></span>
126
- <input type="radio" name="wppb_display_admin_settings['.$key.']" value="hide"';if ($wppb_showAdminBar[$key] == 'hide') echo ' checked';echo'/><font size="1">Hide</font>
127
- </td>
128
- </tr>';
129
- }
130
- ?>
131
-
132
- <tbody class="plugins">
133
- <tr height="10"></tr>
134
- <tr>
135
- <td>
136
- </td>
137
- <td>
138
- <input type="hidden" name="action" value="update" />
139
- <p class="submit">
140
- <input type="submit" class="button-primary" value="<?php _e('Save Changes') ?>" /> <?php //Note the use of the _e() function to handle translation of the text ?>
141
- </p>
142
- </form>
143
- </td>
144
- </tr>
145
-
146
- </tbody>
147
- </table>
148
-
149
-
150
-
151
- <form method="post" action="options.php">
152
- <?php $wppb_defaultOptions = get_option('wppb_default_settings'); ?>
153
- <?php settings_fields('wppb-option-group'); ?>
154
-
155
- <br/>
156
-
157
- <h3><?php _e('Default Profile Fields'); ?> </h3>
158
- <table class="wp-list-table widefat fixed pages" cellspacing="0">
159
- <thead>
160
- <tr>
161
- <th class="manage-column" scope="col">Input Field Name</th>
162
- <th class="manage-column" scope="col">Visibility</th>
163
- </tr>
164
- </thead>
165
- <tbody class="plugins" >
166
- <tr height="10"></tr>
167
- <tr>
168
- <td><font size="4">Name:</font></td>
169
- <td></td>
170
- </tr>
171
- </tbody>
172
- <tbody>
173
- <tr>
174
- <td>
175
- <span style="padding-left:50px"></span><font size="2">Username</font>
176
- </td>
177
- <td>
178
- <input type="radio" name="wppb_default_settings[username]" value="show" checked /><font size="1">Show</font><span style="padding-left:20px"></span>
179
- <input type="radio" name="wppb_default_settings[username]" value="hide" disabled /><font size="1" color="grey">Hide</font>
180
- </td>
181
- </tr>
182
- <tr>
183
- <td>
184
- <span style="padding-left:50px"></span><font size="2">First Name</font>
185
- </td>
186
- <td>
187
- <input type="radio" name="wppb_default_settings[firstname]" value="show" <?php if ($wppb_defaultOptions['firstname'] == 'show') echo 'checked';?> /><font size="1">Show</font><span style="padding-left:20px"></span>
188
- <input type="radio" name="wppb_default_settings[firstname]" value="hide" <?php if ($wppb_defaultOptions['firstname'] == 'hide') echo 'checked';?> /><font size="1">Hide</font>
189
- </td>
190
- </tr>
191
- <tr>
192
- <td>
193
- <span style="padding-left:50px"></span><font size="2">Last Name</font>
194
- </td>
195
- <td>
196
- <input type="radio" name="wppb_default_settings[lastname]" value="show" <?php if ($wppb_defaultOptions['lastname'] == 'show') echo 'checked';?> /><font size="1">Show</font><span style="padding-left:20px"></span>
197
- <input type="radio" name="wppb_default_settings[lastname]" value="hide" <?php if ($wppb_defaultOptions['lastname'] == 'hide') echo 'checked';?> /><font size="1">Hide</font>
198
- </td>
199
- </tr>
200
- <tr>
201
- <td>
202
- <span style="padding-left:50px"></span><font size="2">Nickname</font>
203
- </td>
204
- <td>
205
- <input type="radio" name="wppb_default_settings[nickname]" value="show" <?php if ($wppb_defaultOptions['nickname'] == 'show') echo 'checked';?> /><font size="1">Show</font><span style="padding-left:20px"></span>
206
- <input type="radio" name="wppb_default_settings[nickname]" value="hide" <?php if ($wppb_defaultOptions['nickname'] == 'hide') echo 'checked';?> /><font size="1">Hide</font>
207
- </td>
208
- </tr>
209
- <tr>
210
- <td>
211
- <span style="padding-left:50px"></span><font size="2">Display name publicly as ...</font>
212
- </td>
213
- <td>
214
- <input type="radio" name="wppb_default_settings[dispname]" value="show" <?php if ($wppb_defaultOptions['dispname'] == 'show') echo 'checked';?> /><font size="1">Show</font><span style="padding-left:20px"></span>
215
- <input type="radio" name="wppb_default_settings[dispname]" value="hide" <?php if ($wppb_defaultOptions['dispname'] == 'hide') echo 'checked';?> /><font size="1">Hide</font>
216
- </td>
217
- </tr>
218
- <tbody class="plugins">
219
- <tr height="10"></tr>
220
- <tr>
221
- <td><font size="4">Contact Info:</font></td>
222
- <td></td>
223
- </tr>
224
- </tbody>
225
- <tbody>
226
- <tr>
227
- <td>
228
- <span style="padding-left:50px"></span><font size="2">E-mail</font>
229
- </td>
230
- <td>
231
- <input type="radio" name="wppb_default_settings[email]" value="show" checked><font size="1">Show</font><span style="padding-left:20px"></span>
232
- <input type="radio" name="wppb_default_settings[email]" value="hide" disabled><font size="1" color="grey">Hide</font>
233
- </td>
234
- </tr>
235
- <tr>
236
- <td>
237
- <span style="padding-left:50px"></span><font size="2">Website</font>
238
- </td>
239
- <td>
240
- <input type="radio" name="wppb_default_settings[website]" value="show" <?php if ($wppb_defaultOptions['website'] == 'show') echo 'checked';?> /><font size="1">Show</font><span style="padding-left:20px"></span>
241
- <input type="radio" name="wppb_default_settings[website]" value="hide" <?php if ($wppb_defaultOptions['website'] == 'hide') echo 'checked';?> /><font size="1">Hide</font>
242
- </td>
243
- </tr>
244
- <tbody class="plugins">
245
- </tbody>
246
- <tbody>
247
- <tr>
248
- <td>
249
- <span style="padding-left:50px"></span><font size="2">AIM</font>
250
- </td>
251
- <td>
252
- <input type="radio" name="wppb_default_settings[aim]" value="show" <?php if ($wppb_defaultOptions['aim'] == 'show') echo 'checked';?> /><font size="1">Show</font><span style="padding-left:20px"></span>
253
- <input type="radio" name="wppb_default_settings[aim]" value="hide" <?php if ($wppb_defaultOptions['aim'] == 'hide') echo 'checked';?> /><font size="1">Hide</font>
254
- </td>
255
- </tr>
256
- <tr>
257
- <td>
258
- <span style="padding-left:50px"></span><font size="2">Yahoo IM</font>
259
- </td>
260
- <td>
261
- <input type="radio" name="wppb_default_settings[yahoo]" value="show" <?php if ($wppb_defaultOptions['yahoo'] == 'show') echo 'checked';?> /><font size="1">Show</font><span style="padding-left:20px"></span>
262
- <input type="radio" name="wppb_default_settings[yahoo]" value="hide" <?php if ($wppb_defaultOptions['yahoo'] == 'hide') echo 'checked';?> /><font size="1">Hide</font>
263
- </td>
264
- </tr>
265
- <tr>
266
- <td>
267
- <span style="padding-left:50px"></span><font size="2">Jabber / Google Talk</font>
268
- </td>
269
- <td>
270
- <input type="radio" name="wppb_default_settings[jabber]" value="show" <?php if ($wppb_defaultOptions['jabber'] == 'show') echo 'checked';?> /><font size="1">Show</font><span style="padding-left:20px"></span>
271
- <input type="radio" name="wppb_default_settings[jabber]" value="hide" <?php if ($wppb_defaultOptions['jabber'] == 'hide') echo 'checked';?> /><font size="1">Hide</font>
272
- </td>
273
- </tr>
274
- <tbody class="plugins">
275
- <tr height="10"></tr>
276
- <tr>
277
- <td><font size="4">About Yourself:</font></td>
278
- <td></td>
279
- </tr>
280
- </tbody>
281
- <tbody>
282
- <tr>
283
- <td>
284
- <span style="padding-left:50px"></span><font size="2">Biographical Info</font>
285
- </td>
286
- <td>
287
- <input type="radio" name="wppb_default_settings[bio]" value="show" <?php if ($wppb_defaultOptions['bio'] == 'show') echo 'checked';?> /><font size="1">Show</font><span style="padding-left:20px"></span>
288
- <input type="radio" name="wppb_default_settings[bio]" value="hide" <?php if ($wppb_defaultOptions['bio'] == 'hide') echo 'checked';?> /><font size="1">Hide</font>
289
- </td>
290
- </tr>
291
- <tbody class="plugins">
292
- <tr>
293
- <td>
294
- </td>
295
- <td>
296
- </td>
297
- </tr>
298
- </tbody>
299
- <tbody>
300
- <tr>
301
- <td>
302
- <span style="padding-left:50px"></span><font size="2">New Password</font>
303
- </td>
304
- <td>
305
- <input type="radio" name="wppb_default_settings[password]" value="show" checked><font size="1">Show</font><span style="padding-left:20px"></span>
306
- <input type="radio" name="wppb_default_settings[password]" value="hide" disabled><font size="1" color="grey">Hide</font>
307
- </td>
308
- </tr>
309
- <tbody class="plugins">
310
- <tr height="10"></tr>
311
- <tr>
312
- <td>
313
- </td>
314
- <td>
315
- <input type="hidden" name="action" value="update" />
316
- <p class="submit">
317
- <input type="submit" class="button-primary" value="<?php _e('Save Changes') ?>" /> <?php //Note the use of the _e() function to handle translation of the text ?>
318
- </p>
319
- </form>
320
- </td>
321
- </tr>
322
-
323
- </tbody>
324
- </table>
325
-
326
- </div>
327
-
328
- <?php
329
- }
330
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
index.php ADDED
@@ -0,0 +1,128 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ Plugin Name: Profile Builder
4
+ Plugin URI: http://www.cozmoslabs.com/wordpress-profile-builder/
5
+ Description: Login, registration and edit profile shortcodes for the front-end. Also you can chose what fields should be displayed.
6
+ Version: 1.1
7
+ Author: Reflection Media, Barina Gabriel
8
+ Author URI: http://www.reflectionmedia.ro
9
+ License: GPL2
10
+
11
+ == Copyright ==
12
+ Copyright 2011 Reflection Media (wwww.reflectionmedia.ro)
13
+
14
+ This program is free software; you can redistribute it and/or modify
15
+ it under the terms of the GNU General Public License as published by
16
+ the Free Software Foundation; either version 2 of the License, or
17
+ (at your option) any later version.
18
+ This program is distributed in the hope that it will be useful,
19
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
20
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
+ GNU General Public License for more details.
22
+ You should have received a copy of the GNU General Public License
23
+ along with this program; if not, write to the Free Software
24
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
25
+ */
26
+
27
+ /*
28
+ Original Plugin Name: OptionTree
29
+ Original Plugin URI: http://wp.envato.com
30
+ Original Author: Derek Herman
31
+ Original Author URI: http://valendesigns.com
32
+ */
33
+
34
+ /**
35
+ * Definitions
36
+ *
37
+ *
38
+ */
39
+
40
+ function return_bytes($val) {
41
+ $val = trim($val);
42
+ $last = strtolower($val[strlen($val)-1]);
43
+ switch($last) {
44
+ // The 'G' modifier is available since PHP 5.1.0
45
+ case 'g':
46
+ $val *= 1024;
47
+ case 'm':
48
+ $val *= 1024;
49
+ case 'k':
50
+ $val *= 1024;
51
+ }
52
+
53
+ return $val;
54
+ }
55
+
56
+
57
+ define( 'ProfileBuilderVersion', '1.1' );
58
+ define( 'wppb_plugin_dir', WP_PLUGIN_DIR . '/' . dirname( plugin_basename( __FILE__ ) ) );
59
+ define( 'wppb_plugin_url', WP_PLUGIN_URL . '/' . dirname( plugin_basename( __FILE__ ) ) );
60
+ define( 'ServerMaxUploadSizeByte', return_bytes( ini_get( 'post_max_size') ) );
61
+ define( 'ServerMaxUploadSizeMega', ini_get( 'post_max_size') );
62
+ define ('wppb_TRANSLATEDIR', wppb_plugin_dir.'/translation');
63
+ define ('wppb_TRANSLATIONDOMAIN', 'profilebuilder');
64
+
65
+ /**
66
+ * Required Files
67
+ *
68
+ *
69
+ */
70
+ require_once('functions/functions.load.php');
71
+
72
+ $wppb_premiumAdmin = wppb_plugin_dir . '/premium/classes/';
73
+ if (file_exists ( $wppb_premiumAdmin.'premium.class.admin.php' )){
74
+ require_once($wppb_premiumAdmin.'premium.class.admin.php');
75
+ }else{
76
+ require_once('classes/class.admin.php');
77
+ }
78
+
79
+ /* check for updates */
80
+ $wppb_premiumUpdate = wppb_plugin_dir.'/premium/update/';
81
+ if (file_exists ($wppb_premiumUpdate.'update-checker.php')){
82
+ require ($wppb_premiumUpdate.'update-checker.php');
83
+ $localSerial = get_option( 'wppb_profile_builder_pro_serial' );
84
+ $MyUpdateChecker = new PluginUpdateChecker('http://cozmoslabs.com/update_metadata.php?localSerialNumber='.$localSerial, __FILE__, 'profile-builder-pro-update');
85
+ }
86
+
87
+
88
+ /**
89
+ * Initialize the translation for the Plugin.
90
+ *
91
+ */
92
+ function wppb_init_translation(){
93
+ load_plugin_textdomain(wppb_TRANSLATIONDOMAIN, wppb_TRANSLATEDIR);
94
+ }
95
+ add_action('init', 'wppb_init_translation');
96
+
97
+ /**
98
+ * Instantiate Classe
99
+ *
100
+ *
101
+ */
102
+ $PB_Admin = new PB_Admin();
103
+
104
+ /**
105
+ * Wordpress Activate/Deactivate
106
+ *
107
+ * @uses register_activation_hook()
108
+ * @uses register_deactivation_hook()
109
+ *
110
+ *
111
+ */
112
+ register_activation_hook( __FILE__, array( $PB_Admin, 'profile_builder_activate' ) );
113
+ register_deactivation_hook( __FILE__, array( $PB_Admin, 'profile_builder_deactivate' ) );
114
+
115
+ /**
116
+ * Required action filters
117
+ *
118
+ * @uses add_action()
119
+ *
120
+ *
121
+ */
122
+ add_action( 'admin_init', array( $PB_Admin, 'profile_builder_initialize' ) );
123
+ add_action( 'admin_menu', array( $PB_Admin, 'profile_builder_admin' ) );
124
+ add_action( 'wp_ajax_profile_builder_add', array( $PB_Admin, 'profile_builder_add' ) );
125
+ add_action( 'wp_ajax_profile_builder_edit', array( $PB_Admin, 'profile_builder_edit' ) );
126
+ add_action( 'wp_ajax_profile_builder_delete', array( $PB_Admin, 'profile_builder_delete' ) );
127
+ add_action( 'wp_ajax_profile_builder_next_id', array( $PB_Admin, 'profile_builder_next_id' ) );
128
+ add_action( 'wp_ajax_profile_builder_sort', array( $PB_Admin, 'profile_builder_sort' ) );
profile-builder.php DELETED
@@ -1,120 +0,0 @@
1
- <?php
2
- /*
3
- Plugin Name: Profile Builder
4
- Plugin URI: http://www.cozmoslabs.com/2011/04/12/wordpress-profile-builder-a-front-end-user-registration-login-and-edit-profile-plugin/
5
- Description: Login, registration and edit profile shortcodes for the front-end. Also you can chose what fields should be displayed.
6
- Version: 1.0.10
7
- Author: Reflection Media
8
- Author URI: http://reflectionmedia.ro
9
- License: GPL2
10
-
11
- == Copyright ==
12
- Copyright 2011 Reflection Media (wwww.reflectionmedia.ro)
13
-
14
- This program is free software; you can redistribute it and/or modify
15
- it under the terms of the GNU General Public License as published by
16
- the Free Software Foundation; either version 2 of the License, or
17
- (at your option) any later version.
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
- You should have received a copy of the GNU General Public License
23
- along with this program; if not, write to the Free Software
24
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
25
- */
26
-
27
- register_activation_hook( __FILE__ , 'wppb_initialize_variables' ); //initialize some values upon plug-in activation
28
-
29
- function wppb_initialize_variables(){
30
- $wppb_default_settings = array( 'username' => 'show',
31
- 'firstname'=> 'show',
32
- 'lastname' => 'show',
33
- 'nickname' => 'show',
34
- 'dispname' => 'show',
35
- 'email' => 'show',
36
- 'website' => 'show',
37
- 'aim' => 'show',
38
- 'yahoo' => 'show',
39
- 'jabber' => 'show',
40
- 'bio' => 'show',
41
- 'password' => 'show' );
42
- add_option( 'wppb_default_settings', $wppb_default_settings ); //set all fields visible on first activation of the plugin
43
- add_option( 'wppb_default_style', 'yes');
44
-
45
- global $wp_roles;
46
- $all_roles = $wp_roles->roles;
47
- $editable_roles = apply_filters('editable_roles', $all_roles);
48
-
49
- $admintSettingsPresent = get_option('wppb_display_admin_settings','not_found');
50
-
51
- if ($admintSettingsPresent == 'not_found'){ // if the field doesn't exists, then create it
52
- $rolesArray = array();
53
- foreach ( $editable_roles as $key => $data )
54
- $rolesArray = array( $key => 'show' ) + $rolesArray;
55
- $rolesArray = array_reverse($rolesArray,true);
56
- add_option( 'wppb_display_admin_settings', $rolesArray);
57
- }
58
- }
59
-
60
-
61
- function wppb_create_menu(){
62
- add_submenu_page('users.php', 'Profile Builder', 'Profile Builder', 'delete_users', 'ProfileBuilderSettings', 'wppb_display_menu');
63
- }
64
-
65
-
66
- function wppb_register_settings() { // whitelist options, you can add more register_settings changing the second parameter
67
- register_setting( 'wppb-option-group', 'wppb_default_settings' );
68
- register_setting( 'wppb_default_style', 'wppb_default_style' );
69
- register_setting( 'wppb_display_admin_settings', 'wppb_display_admin_settings' );
70
- }
71
-
72
-
73
- function wppb_add_plugin_stylesheet() {
74
- $wppb_showDefaultCss = get_option('wppb_default_style');
75
- $styleUrl = WP_PLUGIN_URL . '/profile-builder/css/style.css';
76
- $styleFile = WP_PLUGIN_DIR . '/profile-builder/css/style.css';
77
- if ( file_exists($styleFile) && $wppb_showDefaultCss == 'yes') {
78
- wp_register_style('wppb_stylesheet', $styleUrl);
79
- wp_enqueue_style( 'wppb_stylesheet');
80
- }
81
- }
82
-
83
-
84
- function wppb_show_admin_bar($content){
85
- global $current_user;
86
- $admintSettingsPresent = get_option('wppb_display_admin_settings','not_found');
87
- if ($admintSettingsPresent != 'not_found'){
88
- $wppb_showAdminBar = get_option('wppb_display_admin_settings');
89
- $userRole = ($current_user->data->wp_capabilities);
90
- if ($userRole != NULL){
91
- $currentRole = key($userRole);
92
- $getSettings = $wppb_showAdminBar[$currentRole];
93
- if ($getSettings == 'show')
94
- return true;
95
- elseif ($getSettings == 'hide')
96
- return false;
97
- }
98
- }
99
- else
100
- return true;
101
- }
102
-
103
-
104
- if (is_admin() ){ // if we are in the admin menu
105
- include_once('includes/wppb-menu-file.php'); // include the menu file
106
- add_action('admin_init', 'wppb_register_settings'); // register the settings for the menu only display sidebar menu for a user with a certain capability, in this case only the "admin"
107
- add_action('admin_menu','wppb_create_menu'); // call the wppb_create_menu function
108
- }else{ // if we aren't in the admin back-end menu, aka we are in the front-end view
109
- add_action('wp_print_styles', 'wppb_add_plugin_stylesheet'); // include the standard style-sheet or specify the path to a new one
110
- include_once('includes/wppb-front-end-profile.php'); // include the menu file for the profile informations
111
- add_shortcode('wppb-edit-profile', 'wppb_front_end_profile_info');
112
- include_once('includes/wppb-front-end-login.php'); // include the menu file for the login screen
113
- add_shortcode('wppb-login', 'wppb_front_end_login');
114
- include_once('includes/wppb-front-end-register.php'); // include the menu file for the register screen
115
- add_shortcode('wppb-register', 'wppb_front_end_register');
116
- add_filter( 'show_admin_bar' , 'wppb_show_admin_bar'); // set the front-end admin bar to show/hide
117
-
118
- /* Allow shortcodes to be used in the text widgets */
119
- add_filter('widget_text', 'do_shortcode');
120
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
readme.txt CHANGED
@@ -1,11 +1,11 @@
1
  === Profile Builder ===
2
 
3
  Contributors: reflectionmedia, barinagabriel
4
- Donate link: http://www.cozmoslabs.com/2011/04/12/wordpress-profile-builder-a-front-end-user-registration-login-and-edit-profile-plugin
5
  Tags: registration, profile, user registration, custom field registration, customize profile, user fields, builder, profile builder
6
  Requires at least: 3.1
7
- Tested up to: 3.1.2
8
- Stable tag: 1.0.10
9
 
10
 
11
  Login, registration and edit profile shortcodes for the front-end. Also you can chose what fields should be displayed.
@@ -15,7 +15,7 @@ Login, registration and edit profile shortcodes for the front-end. Also you can
15
 
16
  Profile Builder lets you customize your website by adding a front-end menu for all your users,
17
  giving them a more flexible way to modify their user-information or to register new users.
18
- Also, grants users with administrator rights to customize basic fields.
19
  To achieve this, just create a new page, and give it an intuitive name(i.e. Edit Profile).
20
  Now all you need to do is add the following shortcode(for the previous example): [wppb-edit-profile].
21
  Publish your page and you are done!
@@ -26,44 +26,69 @@ You can use the following shortcodes:
26
  * [wppb-login] - for a log-in form.
27
  * [wppb-register] - to add a registration form.
28
 
29
- Also, users with administrator rights have access to the following features:
30
 
31
- * add a custom stylesheet/inherit values from the current theme or use the default one, built into this plug-in.
32
  * select whether to display or not the admin bar in the front end for a specific user-group registered to the site.
33
- * select which information-field can the users see/modify. The hidden fields' values remain unmodified.
 
 
 
 
 
 
 
 
 
 
 
 
 
34
 
35
  NOTE:
36
 
37
- This plugin only adds/removes fields in the front-end. The default information-fields will still be visible(and thus modifiable)
38
- from the back-end, while custom fields will only be visible in the front-end.
39
 
40
 
41
 
42
  == Installation ==
43
 
44
- 1. Upload the profile-builder folder to the `/wp-content/plugins/` directory
45
  1. Activate the plugin through the 'Plugins' menu in WordPress
46
  1. Create a new page and use one of the shortcodes available
47
 
48
  == Frequently Asked Questions ==
49
 
50
- = Will it change the default admin-panel from the back-end by adding/disableing information-fields? =
 
 
51
 
52
- No, profile-builder only affects the front-end of your site, leaving the default fields unmodified
53
 
54
- = Will the information be also updated for any hidden fields? =
 
 
 
55
 
56
- No, only fields visible to the users will/can be modified/updated.
57
 
58
 
59
  == Screenshots ==
 
 
 
 
 
 
 
 
60
 
61
- 1. Login Page: screenshot-1.jpg
62
- 2. Register Page: screenshot-2.jpg
63
- 3. Backend Settings: screenshot-3.jpg
64
 
65
  == Changelog ==
66
 
 
 
 
67
  = 1.0.10 =
68
  Bugfix - The wp_update_user attempts to clear and reset cookies if it's updating the password.
69
  Because of that we get "headers already sent". Fixed by hooking into the init.
1
  === Profile Builder ===
2
 
3
  Contributors: reflectionmedia, barinagabriel
4
+ Donate link: http://www.cozmoslabs.com/wordpress-profile-builder/
5
  Tags: registration, profile, user registration, custom field registration, customize profile, user fields, builder, profile builder
6
  Requires at least: 3.1
7
+ Tested up to: 3.2
8
+ Stable tag: 1.1
9
 
10
 
11
  Login, registration and edit profile shortcodes for the front-end. Also you can chose what fields should be displayed.
15
 
16
  Profile Builder lets you customize your website by adding a front-end menu for all your users,
17
  giving them a more flexible way to modify their user-information or to register new users.
18
+ Also, grants users with administrator rights to customize basic fields or add custom ones.
19
  To achieve this, just create a new page, and give it an intuitive name(i.e. Edit Profile).
20
  Now all you need to do is add the following shortcode(for the previous example): [wppb-edit-profile].
21
  Publish your page and you are done!
26
  * [wppb-login] - for a log-in form.
27
  * [wppb-register] - to add a registration form.
28
 
29
+ Users with administrator rights have access to the following features:
30
 
31
+ * add a custom stylesheet/inherit values from the current theme or use one of the following built into this plugin: default, white or black.
32
  * select whether to display or not the admin bar in the front end for a specific user-group registered to the site.
33
+ * select which information-field can users see/modify. The hidden fields' values remain unmodified.
34
+
35
+ == PROFILE BUILDER PRO ==
36
+
37
+ The [Pro version](http://www.cozmoslabs.com/wordpress-profile-builder/) has the following extra features:
38
+
39
+ * Create Extra User Fields
40
+ * Add avatar upload for users
41
+ * Select one of the 2 additional CSS styles: black or white
42
+ * Access to support forums and documentation
43
+ * 1 Year of Updates / Priority Support
44
+
45
+ [Click here to find out more](http://www.cozmoslabs.com/wordpress-profile-builder/).
46
+
47
 
48
  NOTE:
49
 
50
+ This plugin only adds/removes fields in the front-end. The default information-fields will still be visible(and thus modifiable) from the back-end, while custom fields will only be visible in the front-end.
 
51
 
52
 
53
 
54
  == Installation ==
55
 
56
+ 1. Upload the profile-builder folder to the '/wp-content/plugins/' directory
57
  1. Activate the plugin through the 'Plugins' menu in WordPress
58
  1. Create a new page and use one of the shortcodes available
59
 
60
  == Frequently Asked Questions ==
61
 
62
+ = I navigated away from Profile Builder and now I can�t find it anymore; where is it? =
63
+
64
+ Profile Builder can be found in the default menu of your WordPress installation under the �Users� sub-menu.
65
 
66
+ = Why do the custom WordPress fields still show up, even though I set it to be "hidden"? =
67
 
68
+ Profile Builder only disables the default fields in the front-end of your site/blog, it does absolutely nothing in the dashboard.
69
+
70
+
71
+ = I can�t find a question similar to my issue; Where can I find support? =
72
 
73
+ For more information please visit http://www.cozmoslabs.com and check out the faq section from Profile Builder
74
 
75
 
76
  == Screenshots ==
77
+ 1. Basic information: screenshot1.jpg
78
+ 2. Layout Control: screenshot2.jpg
79
+ 3. Show/Hide Admin Bar: screenshot3.jpg
80
+ 4. Select Default User Fields: screenshot4
81
+ 6. Register Page: screenshot6.jpg
82
+ 7. Logged in Page: screenshot7.jpg
83
+
84
+
85
 
 
 
 
86
 
87
  == Changelog ==
88
 
89
+ = 1.1 =
90
+ Added a new user-interface (borrowed from the awesome plugin OptionTree created by Derek Herman), and bugfixes.
91
+
92
  = 1.0.10 =
93
  Bugfix - The wp_update_user attempts to clear and reset cookies if it's updating the password.
94
  Because of that we get "headers already sent". Fixed by hooking into the init.
screenshots/screenshot-1.jpg ADDED
Binary file
screenshots/screenshot-2.jpg ADDED
Binary file
screenshots/screenshot-3.jpg ADDED
Binary file
screenshots/screenshot1.jpg DELETED
Binary file
screenshots/screenshot2.jpg DELETED
Binary file
screenshots/screenshot3.jpg DELETED
Binary file
screenshots/screenshot4.jpg DELETED
Binary file
screenshots/screenshot6.jpg DELETED
Binary file
screenshots/screenshot7.jpg DELETED
Binary file
translation/en_EN.mo ADDED
Binary file
translation/en_EN.po ADDED
@@ -0,0 +1,499 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Profile Builder\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2011-07-06 14:23+0200\n"
6
+ "PO-Revision-Date: 2011-07-06 14:23+0200\n"
7
+ "Last-Translator: Cristian Antohe <cristian@cozmoslabs.com>\n"
8
+ "Language-Team: ReflectionMedia\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Poedit-KeywordsList: __;_e\n"
13
+ "X-Poedit-Basepath: C:\\Users\\Cristi\\Desktop\\free\n"
14
+ "X-Poedit-Language: English\n"
15
+ "X-Poedit-SearchPath-0: C:\\Users\\Cristi\\Desktop\\free\n"
16
+
17
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:5
18
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:8
19
+ msgid "Profile Builder"
20
+ msgstr ""
21
+
22
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:6
23
+ msgid "Welcome to Profile Builder!"
24
+ msgstr ""
25
+
26
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:8
27
+ msgid " lets you customize your website by adding a front-end menu for all your users, giving them a more flexible way to modify their user-information or to register new users."
28
+ msgstr ""
29
+
30
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:9
31
+ msgid "Also, grants users with administrator rights to customize basic fields or to add new ones."
32
+ msgstr ""
33
+
34
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:10
35
+ msgid "To achieve this, just create a new page, and give it an intuitive name(e.g. Edit Profile)."
36
+ msgstr ""
37
+
38
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:11
39
+ msgid "Now all you need to do is add the following shortcode(for the previous example): "
40
+ msgstr ""
41
+
42
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:12
43
+ msgid "Publish your page and you are ready to go!"
44
+ msgstr ""
45
+
46
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:13
47
+ msgid "You can use the following shortcodes:"
48
+ msgstr ""
49
+
50
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:14
51
+ msgid "for a log-in form."
52
+ msgstr ""
53
+
54
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:15
55
+ msgid "to add a registration form."
56
+ msgstr ""
57
+
58
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:16
59
+ msgid "to grant users a front-end acces to their personal information(requires user to be logged in)."
60
+ msgstr ""
61
+
62
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:18
63
+ msgid "Users with administrator rights have access to the following features:"
64
+ msgstr ""
65
+
66
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:19
67
+ msgid "add a custom stylesheet/inherit values from the current theme or use one of the following built into this plugin: default, white or black."
68
+ msgstr ""
69
+
70
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:20
71
+ msgid "select whether to display or not the admin bar in the front end for a specific user-group registered to the site."
72
+ msgstr ""
73
+
74
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:21
75
+ msgid "select which information-field can users see/modify. The hidden fields' values remain unmodified."
76
+ msgstr ""
77
+
78
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:22
79
+ msgid "add custom fields to the existing ones, with several types to choose from: heading, text, textarea, select, checkbox, radio, and/or upload."
80
+ msgstr ""
81
+
82
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:23
83
+ msgid "add an avatar field."
84
+ msgstr ""
85
+
86
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:26
87
+ msgid "NOTE:"
88
+ msgstr ""
89
+
90
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:27
91
+ msgid "this plugin only adds/removes fields in the front-end."
92
+ msgstr ""
93
+
94
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:28
95
+ msgid "The default information-fields will still be visible(and thus modifiable)"
96
+ msgstr ""
97
+
98
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:29
99
+ msgid "from the back-end, while custom fields will only be visible in the front-end."
100
+ msgstr ""
101
+
102
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:43
103
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:44
104
+ #: C:\Users\Cristi\Desktop\free/front-end/options.php:58
105
+ msgid "Plugin Layout"
106
+ msgstr ""
107
+
108
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:50
109
+ msgid "Stylesheet used:"
110
+ msgstr ""
111
+
112
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:53
113
+ msgid "Default"
114
+ msgstr ""
115
+
116
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:58
117
+ msgid "White"
118
+ msgstr ""
119
+
120
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:59
121
+ msgid "Black"
122
+ msgstr ""
123
+
124
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:63
125
+ msgid "None"
126
+ msgstr ""
127
+
128
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:72
129
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:119
130
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:287
131
+ msgid "Save Changes"
132
+ msgstr ""
133
+
134
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:90
135
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:91
136
+ msgid "Show/Hide the Admin Bar on Front End"
137
+ msgstr ""
138
+
139
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:95
140
+ msgid "User-group"
141
+ msgstr ""
142
+
143
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:96
144
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:143
145
+ msgid "Visibility"
146
+ msgstr ""
147
+
148
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:108
149
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:159
150
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:168
151
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:177
152
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:186
153
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:195
154
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:212
155
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:221
156
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:233
157
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:242
158
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:251
159
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:268
160
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:278
161
+ msgid "Show"
162
+ msgstr ""
163
+
164
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:109
165
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:160
166
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:169
167
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:178
168
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:187
169
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:196
170
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:213
171
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:222
172
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:234
173
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:243
174
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:252
175
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:269
176
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:279
177
+ msgid "Hide"
178
+ msgstr ""
179
+
180
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:137
181
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:138
182
+ #: C:\Users\Cristi\Desktop\free/front-end/options.php:60
183
+ msgid "Default Profile Fields"
184
+ msgstr ""
185
+
186
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:142
187
+ msgid "Input Field Name"
188
+ msgstr ""
189
+
190
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:149
191
+ msgid "Name:"
192
+ msgstr ""
193
+
194
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:156
195
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:385
196
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.login.php:76
197
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.register.php:244
198
+ msgid "Username"
199
+ msgstr ""
200
+
201
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:165
202
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:394
203
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.register.php:259
204
+ msgid "First Name"
205
+ msgstr ""
206
+
207
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:174
208
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:403
209
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.register.php:273
210
+ msgid "Last Name"
211
+ msgstr ""
212
+
213
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:183
214
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:412
215
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.register.php:287
216
+ msgid "Nickname"
217
+ msgstr ""
218
+
219
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:192
220
+ msgid "Display name publicly as..."
221
+ msgstr ""
222
+
223
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:202
224
+ msgid "Contact Info:"
225
+ msgstr ""
226
+
227
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:209
228
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:457
229
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.register.php:305
230
+ msgid "E-mail"
231
+ msgstr ""
232
+
233
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:218
234
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:467
235
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.register.php:320
236
+ msgid "Website"
237
+ msgstr ""
238
+
239
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:230
240
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:476
241
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.register.php:334
242
+ msgid "AIM"
243
+ msgstr ""
244
+
245
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:239
246
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:485
247
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.register.php:348
248
+ msgid "Yahoo IM"
249
+ msgstr ""
250
+
251
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:248
252
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:494
253
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.register.php:362
254
+ msgid "Jabber / Google Talk"
255
+ msgstr ""
256
+
257
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:258
258
+ msgid "About Yourself:"
259
+ msgstr ""
260
+
261
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:265
262
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:507
263
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.register.php:380
264
+ msgid "Biographical Info"
265
+ msgstr ""
266
+
267
+ #: C:\Users\Cristi\Desktop\free/front-end/menu.file.php:275
268
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:516
269
+ msgid "New Password"
270
+ msgstr ""
271
+
272
+ #: C:\Users\Cristi\Desktop\free/front-end/options.php:57
273
+ msgid "Basic Information"
274
+ msgstr ""
275
+
276
+ #: C:\Users\Cristi\Desktop\free/front-end/options.php:59
277
+ msgid "Show/Hide the Admin Bar on Front-end"
278
+ msgstr ""
279
+
280
+ #: C:\Users\Cristi\Desktop\free/front-end/options.php:63
281
+ msgid "Extra Profile Fields"
282
+ msgstr ""
283
+
284
+ #: C:\Users\Cristi\Desktop\free/front-end/options.php:64
285
+ msgid "Register Your Version"
286
+ msgstr ""
287
+
288
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:269
289
+ msgid "You must be logged in to edit your profile."
290
+ msgstr ""
291
+
292
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:278
293
+ msgid "The avatar was successfully deleted."
294
+ msgstr ""
295
+
296
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:283
297
+ msgid "The attachment \""
298
+ msgstr ""
299
+
300
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:285
301
+ msgid "\" was successfully deleted."
302
+ msgstr ""
303
+
304
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:298
305
+ msgid "The changes have been successfully saved."
306
+ msgstr ""
307
+
308
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:303
309
+ msgid "The email address you entered is already registered to a different user.<br/>The email address was "
310
+ msgstr ""
311
+
312
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:304
313
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:314
314
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:324
315
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:333
316
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:355
317
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:363
318
+ msgid "NOT"
319
+ msgstr ""
320
+
321
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:305
322
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:315
323
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:325
324
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:334
325
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:356
326
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:364
327
+ msgid " updated along with the rest of the information."
328
+ msgstr ""
329
+
330
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:313
331
+ msgid "The email address you entered is invalid. <br/> The email address was "
332
+ msgstr ""
333
+
334
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:323
335
+ msgid "The passwords you entered do not match. <br/> The password was "
336
+ msgstr ""
337
+
338
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:332
339
+ msgid "You didn't complete both password fields. <br/> The password was "
340
+ msgstr ""
341
+
342
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:344
343
+ msgid "There was an error while trying to upload the following attachments:<br/>"
344
+ msgstr ""
345
+
346
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:352
347
+ msgid "<br/>Possible cause: the size was bigger than "
348
+ msgstr ""
349
+
350
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:354
351
+ msgid "b.<br/>The listed attachements were "
352
+ msgstr ""
353
+
354
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:362
355
+ msgid "There was an error while trying to upload your avatar picture.<br/>Possible cause: size/incorrect file-type.<br/>The avatar was "
356
+ msgstr ""
357
+
358
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:380
359
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.register.php:233
360
+ msgid "Name"
361
+ msgstr ""
362
+
363
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:386
364
+ msgid " Usernames cannot be changed."
365
+ msgstr ""
366
+
367
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:414
368
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:459
369
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.register.php:246
370
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.register.php:307
371
+ msgid "(required)"
372
+ msgstr ""
373
+
374
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:422
375
+ msgid "Display name publicly as"
376
+ msgstr ""
377
+
378
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:451
379
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.register.php:294
380
+ msgid "Contact Info"
381
+ msgstr ""
382
+
383
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:501
384
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.register.php:369
385
+ msgid "About Yourself"
386
+ msgstr ""
387
+
388
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:521
389
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.register.php:403
390
+ msgid "Repeat Password"
391
+ msgstr ""
392
+
393
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.edit.profile.php:537
394
+ msgid "Update"
395
+ msgstr ""
396
+
397
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.login.php:47
398
+ #, php-format
399
+ msgid "You are currently logged in as <a href=\"%1$s\" title=\"%2$s\">%2$s</a>."
400
+ msgstr ""
401
+
402
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.login.php:47
403
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.register.php:171
404
+ msgid "Log out of this account"
405
+ msgstr ""
406
+
407
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.login.php:47
408
+ msgid "Log out &raquo;"
409
+ msgstr ""
410
+
411
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.login.php:60
412
+ #, php-format
413
+ msgid "You have successfully logged in as <a href=\"%1$s\" title=\"%2$s\">%2$s</a>."
414
+ msgstr ""
415
+
416
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.login.php:86
417
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.register.php:398
418
+ msgid "Password"
419
+ msgstr ""
420
+
421
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.login.php:90
422
+ msgid "Log in"
423
+ msgstr ""
424
+
425
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.login.php:92
426
+ msgid "Remember me"
427
+ msgstr ""
428
+
429
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.login.php:96
430
+ msgid "Lost password?"
431
+ msgstr ""
432
+
433
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.register.php:39
434
+ msgid "A username is required for registration."
435
+ msgstr ""
436
+
437
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.register.php:41
438
+ msgid "Sorry, that username already exists!"
439
+ msgstr ""
440
+
441
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.register.php:44
442
+ msgid "You must enter a valid email address."
443
+ msgstr ""
444
+
445
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.register.php:46
446
+ msgid "Sorry, that email address is already used!"
447
+ msgstr ""
448
+
449
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.register.php:49
450
+ msgid "You didn't complete one of the password-fields!"
451
+ msgstr ""
452
+
453
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.register.php:51
454
+ msgid "The entered passwords don't match!"
455
+ msgstr ""
456
+
457
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.register.php:171
458
+ #, php-format
459
+ msgid "You are logged in as <a href=\"%1$s\" title=\"%2$s\">%2$s</a>. You don't need another account."
460
+ msgstr ""
461
+
462
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.register.php:171
463
+ msgid "Logout &raquo;"
464
+ msgstr ""
465
+
466
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.register.php:181
467
+ #, php-format
468
+ msgid "A user account for %1$s has been created."
469
+ msgstr ""
470
+
471
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.register.php:183
472
+ #, php-format
473
+ msgid "Thank you for registering, %1$s."
474
+ msgstr ""
475
+
476
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.register.php:211
477
+ msgid "Users can register themselves or you can manually create users here."
478
+ msgstr ""
479
+
480
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.register.php:215
481
+ msgid "Users cannot currently register themselves, but you can manually create users here."
482
+ msgstr ""
483
+
484
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.register.php:219
485
+ msgid "Only an administrator can add new users."
486
+ msgstr ""
487
+
488
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.register.php:422
489
+ msgid " Send these credentials via email."
490
+ msgstr ""
491
+
492
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.register.php:428
493
+ msgid "Add User"
494
+ msgstr ""
495
+
496
+ #: C:\Users\Cristi\Desktop\free/front-end/wppb.register.php:428
497
+ msgid "Register"
498
+ msgstr ""
499
+
uninstall.php CHANGED
@@ -5,3 +5,27 @@ if( !defined( 'WP_UNINSTALL_PLUGIN' ) )
5
  delete_option( 'wppb_default_settings' ); // Delete default settings from options table
6
  delete_option( 'wppb_default_style' ); // Delete "use default css or not" settings
7
  delete_option( 'wppb_display_admin_settings' ); // Delete display admin bar option
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
  delete_option( 'wppb_default_settings' ); // Delete default settings from options table
6
  delete_option( 'wppb_default_style' ); // Delete "use default css or not" settings
7
  delete_option( 'wppb_display_admin_settings' ); // Delete display admin bar option
8
+ delete_option( 'wppb_custom_fields' ); // Delete the default fields
9
+ delete_option( 'wppb_profile_builder_pro_serial' ); // Delete the serial number associated with this instalation
10
+ delete_option( 'serial_number_availability' ); // Delete the serial number status
11
+
12
+
13
+ /* delete all the custom fields */
14
+ global $wpdb;
15
+ $allUserMeta = $wpdb->get_results("SELECT * FROM $wpdb->usermeta");
16
+
17
+ foreach ($allUserMeta as $userMeta) {
18
+ $found = strpos ( $userMeta->meta_key , 'custom_field_' );
19
+ if ( $found !== FALSE ){
20
+ $metaFieldName = $userMeta->meta_key;
21
+ $metaFieldValue = $userMeta->meta_value;
22
+ $wpdb->query("DELETE FROM $wpdb->usermeta WHERE meta_key = '".$metaFieldName."' AND meta_value = '".$metaFieldValue."'");
23
+ }
24
+
25
+ $foundAvatar = strpos ( $userMeta->meta_key , 'custom_field_resized' );
26
+ if ( $foundAvatar !== FALSE ){
27
+ $metaFieldName = $userMeta->meta_key;
28
+ $metaFieldValue = $userMeta->meta_value;
29
+ $wpdb->query("DELETE FROM $wpdb->usermeta WHERE meta_key = '".$metaFieldName."' AND meta_value = '".$metaFieldValue."'");
30
+ }
31
+ }