Simple Author Box - Version 2.0

Version Description

Included the option to add html to a user's description ( https://github.com/MachoThemes/simple-author-box/issues/23 ) Fixed Google fonts error ( https://github.com/MachoThemes/simple-author-box/issues/14 ) Added new features ( https://github.com/MachoThemes/simple-author-box/issues/7 ) Added the posibility to select where to show the author box ( https://github.com/MachoThemes/simple-author-box/issues/5 ) Added the option to link the author's name to its website ( https://github.com/MachoThemes/simple-author-box/issues/4 ) Added the posibility to add guest authors Added the posibility to add custom profile images Created a shortcode that can be placed inside the posts' content wherever a user wants Improved how you add social links

Download this release

Release Info

Developer machothemes
Plugin Icon 128x128 Simple Author Box
Version 2.0
Comparing to
See all releases

Code changes from version 1.9 to 2.0

{css → assets/css}/jquery-ui.min.css RENAMED
File without changes
assets/css/sabox-admin-style.css ADDED
@@ -0,0 +1,264 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* ADMIN PLUGIN STYLE
2
+ -------------------------------------------------------------- */
3
+ .sabox-table.form-table th {
4
+ width: 400px;
5
+ }
6
+ .hide {
7
+ display: none;
8
+ }
9
+ /*.sabox-slider-container .saboxfield {
10
+ display: none;
11
+ }*/
12
+ .sabox-slider-container {
13
+ max-width: 500px;
14
+ }
15
+ .sabox-slider-container .ui-slider .ui-slider-handle {
16
+ width: auto;
17
+ text-align: center;
18
+ min-width: 1.2em;
19
+ }
20
+ .sabox-table p.description {
21
+ font-weight: normal;
22
+ }
23
+ .wp-admin .checkbox_switch {
24
+ display: inline-block;
25
+ width: 100%;
26
+ margin-bottom: 15px;
27
+ }
28
+
29
+ .customize-control-title.onoffswitch_label {
30
+ width: 71%;
31
+ }
32
+
33
+ .sabox-table .onoffswitch_label {
34
+ display: inline-block;
35
+ vertical-align: top;
36
+ margin-right: 21px;
37
+ margin-top: -1px;
38
+ }
39
+
40
+ .sabox-table .onoffswitch {
41
+ position: relative;
42
+ width: 52px;
43
+ display: inline-block;
44
+ float: left;
45
+ -webkit-user-select: none;
46
+ -moz-user-select: none;
47
+ -ms-user-select: none;
48
+ }
49
+
50
+ .sabox-table .onoffswitch-checkbox {
51
+ display: none !important;
52
+ }
53
+
54
+ .sabox-table .onoffswitch-label {
55
+ display: block;
56
+ overflow: hidden;
57
+ cursor: pointer;
58
+ height: 22px;
59
+ padding: 0;
60
+ line-height: 19px;
61
+ transition: background-color 0.2s ease-in;
62
+ -webkit-border-radius: 11px;
63
+ -moz-border-radius: 11px;
64
+ border-radius: 30px;
65
+ background-color: #c4c4c4;
66
+ -webkit-box-shadow: inset 0 2px 1px rgba(0, 0, 0, 0.11);
67
+ -moz-box-shadow: inset 0 2px 1px rgba(0, 0, 0, 0.11);
68
+ box-shadow: inset 0 2px 1px rgba(0, 0, 0, 0.11);
69
+ }
70
+ .sabox-table .onoffswitch-label:before {
71
+ content: "";
72
+ display: block;
73
+ width: 18px;
74
+ height: 18px;
75
+ margin: 0;
76
+ position: absolute;
77
+ top: 2px;
78
+ bottom: 0;
79
+ right: 32px;
80
+ background-color: #fff;
81
+ -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.1);
82
+ -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.1);
83
+ box-shadow: 0 0 3px rgba(0, 0, 0, 0.1);
84
+ -webkit-border-radius: 10px;
85
+ -moz-border-radius: 10px;
86
+ border-radius: 10px;
87
+ transition: all 0.2s ease-in 0s;
88
+ }
89
+ .sabox-table .onoffswitch-label:after {
90
+ content: "OFF";
91
+ display: block;
92
+ color: #FFF;
93
+ position: absolute;
94
+ top: 2px;
95
+ bottom: 2px;
96
+ right: 6px;
97
+ font-size: 11px;
98
+ font-family: 'Arial';
99
+ }
100
+
101
+ .sabox-table .onoffswitch-checkbox:checked + .onoffswitch-label {
102
+ background-color: #3caf0e;
103
+ }
104
+
105
+ .sabox-table .onoffswitch-checkbox:checked + .onoffswitch-label,
106
+ .sabox-table .onoffswitch-checkbox:checked + .onoffswitch-label:before {
107
+ border-color: #3caf0e;
108
+ }
109
+
110
+ .sabox-table .onoffswitch-checkbox:checked + .onoffswitch-label:before {
111
+ right: 2px;
112
+ }
113
+
114
+ .sabox-table .onoffswitch-checkbox:checked + .onoffswitch-label:after {
115
+ content: "ON";
116
+ display: block;
117
+ color: #FFF;
118
+ position: absolute;
119
+ top: 2px;
120
+ bottom: 2px;
121
+ right: 27px;
122
+ font-size: 11px;
123
+ font-family: 'Arial';
124
+ }
125
+ .sabox-table .slider-container {
126
+ position: relative;
127
+ padding-left: 40px;
128
+ }
129
+ .sabox-table .slider-container input[type="text"] {
130
+ border: none;
131
+ text-align: center;
132
+ padding: 2px;
133
+ margin: 0;
134
+ font-size: 12px;
135
+ color: #333;
136
+ border-radius: 10px;
137
+ background-color: #f8f8f8;
138
+ -webkit-box-shadow: inset 0px 2px 5px 0px rgba(0, 0, 0, 0.1);
139
+ -moz-box-shadow: inset 0px 2px 5px 0px rgba(0, 0, 0, 0.1);
140
+ box-shadow: inset 0px 2px 5px 0px rgba(0, 0, 0, 0.1);
141
+ width: 42px;
142
+ height: 22px;
143
+ position: absolute;
144
+ left: 0;
145
+ top: 2px;
146
+ }
147
+ .sabox-table .slider-container .ui-slider {
148
+ position: relative;
149
+ text-align: left;
150
+ height: 2px;
151
+ border-radius: 3px;
152
+ border: none;
153
+ margin-top: 10px;
154
+ margin-left: 22px;
155
+ display: inline-block;
156
+ width: 97%;
157
+ background: #d6d6d6;
158
+ }
159
+ .sabox-table .slider-container .ui-slider .ui-slider-handle {
160
+ position: absolute;
161
+ z-index: 2;
162
+ top: -10px;
163
+ cursor: default;
164
+ -ms-touch-action: none;
165
+ touch-action: none;
166
+ width: 18px;
167
+ height: 18px;
168
+ -webkit-border-radius: 9px;
169
+ -moz-border-radius: 9px;
170
+ border-radius: 9px;
171
+ background-color: #fff;
172
+ -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
173
+ -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
174
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
175
+ border: solid 1px #d7d7d7;
176
+ transform: translateX(-50%);
177
+ }
178
+ .sabox-table .slider-container .ui-slider .ui-slider-range {
179
+ position: absolute;
180
+ z-index: 1;
181
+ font-size: 0.7em;
182
+ display: block;
183
+ border: 0;
184
+ background-position: 0 0;
185
+ background: #E04D43;
186
+ top: 0;
187
+ bottom: 0;
188
+ }
189
+
190
+ /* Social Links */
191
+ .sabox-add-social-link {
192
+ cursor: pointer;
193
+ text-align: center;
194
+ padding: 10px 0;
195
+ border: 1px solid #ddd;
196
+ max-width: 570px;
197
+ }
198
+ .sabox-add-social-link:hover {
199
+ border-color: #000;
200
+ }
201
+ #sabox-social-table .dashicons-trash {
202
+ vertical-align: middle;
203
+ cursor: pointer;
204
+ color: #a00;
205
+ }
206
+ #sabox-social-table .dashicons-trash:hover {
207
+ color: #dc3232;
208
+ }
209
+
210
+ /* Simple Author Box Badge */
211
+ .wp-badge.sab-welcome-logo {
212
+ background-color: #5915ba;
213
+ background-image: url(../img/sab-big-icon.png);
214
+ background-position: center center;
215
+ background-size: 70%;
216
+ background-repeat: no-repeat;
217
+ }
218
+ .sabox-wrap .col-fulwidth {
219
+ border: 1px dashed #555;
220
+ background: #fff;
221
+ width: 100%;
222
+ padding: 40px;
223
+ text-align: center;
224
+ margin-top: 15px;
225
+ box-sizing: border-box;
226
+ }
227
+ .sabox-wrap .col-fulwidth .button.button-feedback {
228
+ padding: 10px 40px;
229
+ height: initial;
230
+ }
231
+
232
+ #sab-current-image img {
233
+ max-width: 130px;
234
+ height: auto;
235
+ }
236
+
237
+ .about-wrap .feedback-box h3 {
238
+ font-weight: 700;
239
+ }
240
+ .about-wrap .feedback-box h3 > img {
241
+ width: 30px;
242
+ }
243
+ .about-wrap .feedback-box > p {
244
+ max-width: 720px;
245
+ margin: 0 auto;
246
+ }
247
+
248
+ .checkbox-label {
249
+ text-transform: capitalize;
250
+ }
251
+
252
+ .sabox-sumit-form {
253
+ text-align: right;
254
+ }
255
+
256
+ .sab-support .center-support .col {
257
+ margin-left: 26.5%;
258
+ text-align: center;
259
+ }
260
+ .about-wrap h1.sab-title {
261
+ font-weight: 300;
262
+ text-align: center;
263
+ margin: 60px 0 0;
264
+ }
assets/css/sabox-admin-style.min.css ADDED
@@ -0,0 +1 @@
 
1
+ .sabox-table.form-table th{width:400px}.hide{display:none}.sabox-slider-container{max-width:500px}.sabox-slider-container .ui-slider .ui-slider-handle{width:auto;text-align:center;min-width:1.2em}.sabox-table p.description{font-weight:400}.wp-admin .checkbox_switch{display:inline-block;width:100%;margin-bottom:15px}.customize-control-title.onoffswitch_label{width:71%}.sabox-table .onoffswitch_label{display:inline-block;vertical-align:top;margin-right:21px;margin-top:-1px}.sabox-table .onoffswitch{position:relative;width:52px;display:inline-block;float:left;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.sabox-table .onoffswitch-checkbox{display:none!important}.sabox-table .onoffswitch-label{display:block;overflow:hidden;cursor:pointer;height:22px;padding:0;line-height:19px;transition:background-color .2s ease-in;-webkit-border-radius:11px;-moz-border-radius:11px;border-radius:30px;background-color:#c4c4c4;-webkit-box-shadow:inset 0 2px 1px rgba(0,0,0,.11);-moz-box-shadow:inset 0 2px 1px rgba(0,0,0,.11);box-shadow:inset 0 2px 1px rgba(0,0,0,.11)}.sabox-table .onoffswitch-label:before{content:"";display:block;width:18px;height:18px;margin:0;position:absolute;top:2px;bottom:0;right:32px;background-color:#fff;-webkit-box-shadow:0 0 3px rgba(0,0,0,.1);-moz-box-shadow:0 0 3px rgba(0,0,0,.1);box-shadow:0 0 3px rgba(0,0,0,.1);-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;transition:all .2s ease-in 0s}.sabox-table .onoffswitch-checkbox:checked+.onoffswitch-label:after,.sabox-table .onoffswitch-label:after{display:block;color:#FFF;position:absolute;bottom:2px;font-size:11px;font-family:Arial;top:2px}.sabox-table .onoffswitch-label:after{content:"OFF";right:6px}.sabox-table .onoffswitch-checkbox:checked+.onoffswitch-label{background-color:#3caf0e}.sabox-table .onoffswitch-checkbox:checked+.onoffswitch-label,.sabox-table .onoffswitch-checkbox:checked+.onoffswitch-label:before{border-color:#3caf0e}.sabox-table .onoffswitch-checkbox:checked+.onoffswitch-label:before{right:2px}.sabox-table .onoffswitch-checkbox:checked+.onoffswitch-label:after{content:"ON";right:27px}.sabox-table .slider-container{position:relative;padding-left:40px}.sabox-table .slider-container input[type=text]{border:none;text-align:center;padding:2px;margin:0;font-size:12px;color:#333;border-radius:10px;background-color:#f8f8f8;-webkit-box-shadow:inset 0 2px 5px 0 rgba(0,0,0,.1);-moz-box-shadow:inset 0 2px 5px 0 rgba(0,0,0,.1);box-shadow:inset 0 2px 5px 0 rgba(0,0,0,.1);width:42px;height:22px;position:absolute;left:0;top:2px}.sabox-table .slider-container .ui-slider{position:relative;text-align:left;height:2px;border-radius:3px;border:none;margin-top:10px;margin-left:22px;display:inline-block;width:97%;background:#d6d6d6}.sabox-table .slider-container .ui-slider .ui-slider-handle{position:absolute;z-index:2;top:-10px;cursor:default;-ms-touch-action:none;touch-action:none;width:18px;height:18px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px;background-color:#fff;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.1);-moz-box-shadow:0 1px 1px rgba(0,0,0,.1);box-shadow:0 1px 1px rgba(0,0,0,.1);border:1px solid #d7d7d7;transform:translateX(-50%)}.sabox-table .slider-container .ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background:#E04D43;top:0;bottom:0}.sabox-add-social-link{cursor:pointer;text-align:center;padding:10px 0;border:1px solid #ddd;max-width:570px}.sabox-add-social-link:hover{border-color:#000}#sabox-social-table .dashicons-trash{vertical-align:middle;cursor:pointer;color:#a00}#sabox-social-table .dashicons-trash:hover{color:#dc3232}.wp-badge.sab-welcome-logo{background-color:#5915ba;background-image:url(../img/sab-big-icon.png);background-position:center center;background-size:70%;background-repeat:no-repeat}.sabox-wrap .col-fulwidth{border:1px dashed #555;background:#fff;width:100%;padding:40px;text-align:center;margin-top:15px;box-sizing:border-box}.sabox-wrap .col-fulwidth .button.button-feedback{padding:10px 40px;height:initial}#sab-current-image img{max-width:130px;height:auto}.about-wrap .feedback-box h3{font-weight:700}.about-wrap .feedback-box h3>img{width:30px}.about-wrap .feedback-box>p{max-width:720px;margin:0 auto}.checkbox-label{text-transform:capitalize}.sabox-sumit-form{text-align:right}
assets/css/sabox.css ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ #adminmenu #toplevel_page_simple-author-box-options .wp-menu-image img {
2
+ height: 18px;
3
+ padding-top: 8px;
4
+ }
5
+ #adminmenu #toplevel_page_simple-author-box-options.current .wp-menu-image img {
6
+ opacity: 1;
7
+ }
assets/css/sabox.min.css ADDED
@@ -0,0 +1 @@
 
1
+ #adminmenu #toplevel_page_simple-author-box-options .wp-menu-image img{height:18px;padding-top:8px}#adminmenu #toplevel_page_simple-author-box-options.current .wp-menu-image img{opacity:1}
{css/dev → assets/css}/simple-author-box.css RENAMED
@@ -18,7 +18,8 @@
18
  }
19
 
20
  .saboxplugin-wrap .saboxplugin-gravatar img {
21
-
 
22
  }
23
 
24
  .saboxplugin-wrap .saboxplugin-gravatar img:hover {
@@ -69,7 +70,6 @@
69
 
70
  .saboxplugin-wrap .saboxplugin-socials {
71
  position:relative;
72
- z-index:50;
73
  display:block;
74
  background: #FCFCFC;
75
  padding:0 15px;
@@ -184,6 +184,10 @@
184
 
185
  /* FONT AWESOME FOR BOTH COLORED AND GRAY SOCIAL ICONS
186
  -------------------------------------------------------------- */
 
 
 
 
187
  .saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-addthis:before,
188
  .saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-addthis:before {
189
  content:'\f067';
@@ -354,8 +358,16 @@
354
  content: '\f2a6';
355
  }
356
 
 
 
 
 
 
357
  /* COLORED BACKGROUND AND LONG SHADOW EFFECT FOR SOCIAL ICONS
358
  -------------------------------------------------------------- */
 
 
 
359
  .saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-addthis {
360
  background:#FF8662;
361
  border: 1px solid #D5644B;
@@ -1148,7 +1160,8 @@
1148
  rgb(206, 58, 0) 30px 30px;
1149
  }
1150
 
1151
- .saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-steam {
 
1152
  background:#484848;
1153
  border: 1px solid #302B2B;
1154
  text-shadow:
@@ -1507,6 +1520,52 @@
1507
  rgb(0, 71, 70) 29px 29px,
1508
  rgb(0, 71, 70) 30px 30px;
1509
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1510
  /* - GLOBAL MEDIA QUERIES
1511
  -------------------------------------------------------------- */
1512
  @media screen and (max-width: 480px) {
18
  }
19
 
20
  .saboxplugin-wrap .saboxplugin-gravatar img {
21
+ max-width: 100px;
22
+ height: auto;
23
  }
24
 
25
  .saboxplugin-wrap .saboxplugin-gravatar img:hover {
70
 
71
  .saboxplugin-wrap .saboxplugin-socials {
72
  position:relative;
 
73
  display:block;
74
  background: #FCFCFC;
75
  padding:0 15px;
184
 
185
  /* FONT AWESOME FOR BOTH COLORED AND GRAY SOCIAL ICONS
186
  -------------------------------------------------------------- */
187
+ .saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-user_email:before,
188
+ .saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-user_email:before {
189
+ content:'\f0e0';
190
+ }
191
  .saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-addthis:before,
192
  .saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-addthis:before {
193
  content:'\f067';
358
  content: '\f2a6';
359
  }
360
 
361
+ .saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-twitch:before,
362
+ .saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-twitch:before {
363
+ content: '\f1e8';
364
+ }
365
+
366
  /* COLORED BACKGROUND AND LONG SHADOW EFFECT FOR SOCIAL ICONS
367
  -------------------------------------------------------------- */
368
+ .saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-twitch {
369
+ background-color: #6441a5;
370
+ }
371
  .saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-addthis {
372
  background:#FF8662;
373
  border: 1px solid #D5644B;
1160
  rgb(206, 58, 0) 30px 30px;
1161
  }
1162
 
1163
+ .saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-steam,
1164
+ .saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-user_email {
1165
  background:#484848;
1166
  border: 1px solid #302B2B;
1167
  text-shadow:
1520
  rgb(0, 71, 70) 29px 29px,
1521
  rgb(0, 71, 70) 30px 30px;
1522
  }
1523
+
1524
+ .saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-mixcloud {
1525
+ background:#52aad8;
1526
+ border: 1px solid #1B95C2;
1527
+ text-shadow:
1528
+ rgb(27, 149, 194) 1px 1px,
1529
+ rgb(27, 149, 194) 2px 2px,
1530
+ rgb(27, 149, 194) 3px 3px,
1531
+ rgb(27, 149, 194) 4px 4px,
1532
+ rgb(27, 149, 194) 5px 5px,
1533
+ rgb(27, 149, 194) 6px 6px,
1534
+ rgb(27, 149, 194) 7px 7px,
1535
+ rgb(27, 149, 194) 8px 8px,
1536
+ rgb(27, 149, 194) 9px 9px,
1537
+ rgb(27, 149, 194) 10px 10px,
1538
+ rgb(27, 149, 194) 11px 11px,
1539
+ rgb(27, 149, 194) 12px 12px,
1540
+ rgb(27, 149, 194) 13px 13px,
1541
+ rgb(27, 149, 194) 14px 14px,
1542
+ rgb(27, 149, 194) 15px 15px,
1543
+ rgb(27, 149, 194) 16px 16px,
1544
+ rgb(27, 149, 194) 17px 17px,
1545
+ rgb(27, 149, 194) 18px 18px,
1546
+ rgb(27, 149, 194) 19px 19px,
1547
+ rgb(27, 149, 194) 20px 20px,
1548
+ rgb(27, 149, 194) 21px 21px,
1549
+ rgb(27, 149, 194) 22px 22px,
1550
+ rgb(27, 149, 194) 23px 23px,
1551
+ rgb(27, 149, 194) 24px 24px,
1552
+ rgb(27, 149, 194) 25px 25px,
1553
+ rgb(27, 149, 194) 26px 26px,
1554
+ rgb(27, 149, 194) 27px 27px,
1555
+ rgb(27, 149, 194) 28px 28px,
1556
+ rgb(27, 149, 194) 29px 29px,
1557
+ rgb(27, 149, 194) 30px 30px;
1558
+ }
1559
+
1560
+ .saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-goodreads {
1561
+ background:#553b08;
1562
+ border: 1px solid #1B95C2;
1563
+ }
1564
+
1565
+ .sabox-plus-item {
1566
+ margin-bottom: 20px;
1567
+ }
1568
+
1569
  /* - GLOBAL MEDIA QUERIES
1570
  -------------------------------------------------------------- */
1571
  @media screen and (max-width: 480px) {
assets/css/simple-author-box.min.css ADDED
@@ -0,0 +1 @@
 
1
+ .saboxplugin-wrap .saboxplugin-authorname a,.saboxplugin-wrap .saboxplugin-desc a,.saboxplugin-wrap .saboxplugin-web a{text-decoration:none}.saboxplugin-wrap{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;border:1px solid #EEE;width:100%;clear:both;display:block;overflow:hidden;word-wrap:break-word}.saboxplugin-wrap .saboxplugin-gravatar{float:left;padding:20px}.saboxplugin-wrap .saboxplugin-gravatar img{max-width:100px;height:auto}.saboxplugin-wrap .saboxplugin-authorname{font-size:18px;line-height:1;margin:20px 0 0 20px;display:block}.saboxplugin-wrap .saboxplugin-authorname a:focus{outline:0}.saboxplugin-wrap .saboxplugin-desc{display:block;margin:5px 20px}.saboxplugin-wrap .saboxplugin-desc p{margin:5px 0 12px}.saboxplugin-wrap .saboxplugin-web{margin:0 20px 15px;text-align:left}.saboxplugin-wrap .sab-web-position{text-align:right}.saboxplugin-wrap .saboxplugin-web a{color:#ccc}.saboxplugin-wrap .saboxplugin-socials{position:relative;display:block;background:#FCFCFC;padding:0 15px;-webkit-box-shadow:0 1px 0 0 #eee inset;-moz-box-shadow:0 1px 0 0 #eee inset;box-shadow:0 1px 0 0 #eee inset}.saboxplugin-wrap .saboxplugin-socials a{text-decoration:none;padding:0;margin:0;border:0;-webkit-transition:opacity .4s;-moz-transition:opacity .4s;-o-transition:opacity .4s;transition:opacity .4s}.saboxplugin-wrap .saboxplugin-socials .saboxplugin-icon-color,.saboxplugin-wrap .saboxplugin-socials .saboxplugin-icon-grey{font-family:FontAwesome;font-style:normal;font-weight:400;text-decoration:inherit;position:relative;vertical-align:middle;margin:10px 5px;zoom:1}.saboxplugin-wrap .saboxplugin-socials a:hover{opacity:.8;-webkit-transition:opacity .4s;-moz-transition:opacity .4s;-o-transition:opacity .4s;transition:opacity .4s}.saboxplugin-wrap .saboxplugin-socials .saboxplugin-icon-color:before{display:block;width:30px;height:30px;line-height:33px;text-align:center;speak:none}.saboxplugin-wrap .saboxplugin-socials .saboxplugin-icon-color{font-size:14px;display:-moz-inline-stack;display:inline-block;background-clip:content-box;-moz-background-clip:content-box;-webkit-background-clip:content-box;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;overflow:hidden}.saboxplugin-wrap .saboxplugin-socials .saboxplugin-icon-grey:before{display:block;text-align:center;speak:none;line-height:1}.saboxplugin-wrap .saboxplugin-socials .saboxplugin-icon-grey{font-size:20px;display:-moz-inline-stack;display:inline-block;color:#444}.clearfix:after,.clearfix:before{content:' ';display:table;line-height:0;clear:both}.ie7 .clearfix{zoom:1}.saboxplugin-wrap .saboxplugin-socials.sabox-colored .saboxplugin-icon-color{color:#fff}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-user_email:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-user_email:before{content:'\f0e0'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-addthis:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-addthis:before{content:'\f067'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-behance:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-behance:before{content:'\f1b4'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-delicious:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-delicious:before{content:'\f1a5'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-deviantart:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-deviantart:before{content:'\f1bd'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-digg:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-digg:before{content:'\f1a6'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-dribbble:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-dribbble:before{content:'\f17d'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-facebook:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-facebook:before{content:'\f09a'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-flickr:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-flickr:before{content:'\f16e'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-github:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-github:before{content:'\f09b'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-google:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-google:before{content:'\f1a0'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-googleplus:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-googleplus:before{content:'\f0d5'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-html5:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-html5:before{content:'\f13b'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-instagram:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-instagram:before{content:'\f16d'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-linkedin:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-linkedin:before{content:'\f0e1'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-pinterest:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-pinterest:before{content:'\f0d2'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-reddit:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-reddit:before{content:'\f1a1'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-rss:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-rss:before{content:'\f09e'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-sharethis:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-sharethis:before{content:'\f1e0'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-skype:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-skype:before{content:'\f17e'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-soundcloud:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-soundcloud:before{content:'\f1be'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-spotify:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-spotify:before{content:'\f1bc'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-stackoverflow:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-stackoverflow:before{content:'\f16c'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-steam:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-steam:before{content:'\f1b6'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-stumbleUpon:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-stumbleUpon:before{content:'\f1a4'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-tumblr:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-tumblr:before{content:'\f173'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-twitter:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-twitter:before{content:'\f099'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-vimeo:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-vimeo:before{content:'\f194'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-windows:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-windows:before{content:'\f17a'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-wordpress:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-wordpress:before{content:'\f19a'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-yahoo:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-yahoo:before{content:'\f19e'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-youtube:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-youtube:before{content:'\f167'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-xing:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-xing:before{content:'\f168'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-mixcloud:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-mixcloud:before{content:'\f289'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-goodreads:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-goodreads:before{content:'\f2a6'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-twitch:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-twitch:before{content:'\f1e8'}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-twitch{background-color:#6441a5}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-addthis{background:#FF8662;border:1px solid #D5644B;text-shadow:#d5644b 1px 1px,#d5644b 2px 2px,#d5644b 3px 3px,#d5644b 4px 4px,#d5644b 5px 5px,#d5644b 6px 6px,#d5644b 7px 7px,#d5644b 8px 8px,#d5644b 9px 9px,#d5644b 10px 10px,#d5644b 11px 11px,#d5644b 12px 12px,#d5644b 13px 13px,#d5644b 14px 14px,#d5644b 15px 15px,#d5644b 16px 16px,#d5644b 17px 17px,#d5644b 18px 18px,#d5644b 19px 19px,#d5644b 20px 20px,#d5644b 21px 21px,#d5644b 22px 22px,#d5644b 23px 23px,#d5644b 24px 24px,#d5644b 25px 25px,#d5644b 26px 26px,#d5644b 27px 27px,#d5644b 28px 28px,#d5644b 29px 29px,#d5644b 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-behance{background:#0294FF;border:1px solid #0083D4;text-shadow:#0083d4 1px 1px,#0083d4 2px 2px,#0083d4 3px 3px,#0083d4 4px 4px,#0083d4 5px 5px,#0083d4 6px 6px,#0083d4 7px 7px,#0083d4 8px 8px,#0083d4 9px 9px,#0083d4 10px 10px,#0083d4 11px 11px,#0083d4 12px 12px,#0083d4 13px 13px,#0083d4 14px 14px,#0083d4 15px 15px,#0083d4 16px 16px,#0083d4 17px 17px,#0083d4 18px 18px,#0083d4 19px 19px,#0083d4 20px 20px,#0083d4 21px 21px,#0083d4 22px 22px,#0083d4 23px 23px,#0083d4 24px 24px,#0083d4 25px 25px,#0083d4 26px 26px,#0083d4 27px 27px,#0083d4 28px 28px,#0083d4 29px 29px,#0083d4 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-delicious{background:#0294FF;border:1px solid #007ECD;text-shadow:#007ecd 1px 1px,#007ecd 2px 2px,#007ecd 3px 3px,#007ecd 4px 4px,#007ecd 5px 5px,#007ecd 6px 6px,#007ecd 7px 7px,#007ecd 8px 8px,#007ecd 9px 9px,#007ecd 10px 10px,#007ecd 11px 11px,#007ecd 12px 12px,#007ecd 13px 13px,#007ecd 14px 14px,#007ecd 15px 15px,#007ecd 16px 16px,#007ecd 17px 17px,#007ecd 18px 18px,#007ecd 19px 19px,#007ecd 20px 20px,#007ecd 21px 21px,#007ecd 22px 22px,#007ecd 23px 23px,#007ecd 24px 24px,#007ecd 25px 25px,#007ecd 26px 26px,#007ecd 27px 27px,#007ecd 28px 28px,#007ecd 29px 29px,#007ecd 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-deviantart{background:#DCE22B;border:1px solid #B2B423;text-shadow:#b2b423 1px 1px,#b2b423 2px 2px,#b2b423 3px 3px,#b2b423 4px 4px,#b2b423 5px 5px,#b2b423 6px 6px,#b2b423 7px 7px,#b2b423 8px 8px,#b2b423 9px 9px,#b2b423 10px 10px,#b2b423 11px 11px,#b2b423 12px 12px,#b2b423 13px 13px,#b2b423 14px 14px,#b2b423 15px 15px,#b2b423 16px 16px,#b2b423 17px 17px,#b2b423 18px 18px,#b2b423 19px 19px,#b2b423 20px 20px,#b2b423 21px 21px,#b2b423 22px 22px,#b2b423 23px 23px,#b2b423 24px 24px,#b2b423 25px 25px,#b2b423 26px 26px,#b2b423 27px 27px,#b2b423 28px 28px,#b2b423 29px 29px,#b2b423 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-digg{background:#1B8EC4;border:1px solid #126C92;text-shadow:#126c92 1px 1px,#126c92 2px 2px,#126c92 3px 3px,#126c92 4px 4px,#126c92 5px 5px,#126c92 6px 6px,#126c92 7px 7px,#126c92 8px 8px,#126c92 9px 9px,#126c92 10px 10px,#126c92 11px 11px,#126c92 12px 12px,#126c92 13px 13px,#126c92 14px 14px,#126c92 15px 15px,#126c92 16px 16px,#126c92 17px 17px,#126c92 18px 18px,#126c92 19px 19px,#126c92 20px 20px,#126c92 21px 21px,#126c92 22px 22px,#126c92 23px 23px,#126c92 24px 24px,#126c92 25px 25px,#126c92 26px 26px,#126c92 27px 27px,#126c92 28px 28px,#126c92 29px 29px,#126c92 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-dribbble{background:#EF76A4;border:1px solid #C05C84;text-shadow:#c05c84 1px 1px,#c05c84 2px 2px,#c05c84 3px 3px,#c05c84 4px 4px,#c05c84 5px 5px,#c05c84 6px 6px,#c05c84 7px 7px,#c05c84 8px 8px,#c05c84 9px 9px,#c05c84 10px 10px,#c05c84 11px 11px,#c05c84 12px 12px,#c05c84 13px 13px,#c05c84 14px 14px,#c05c84 15px 15px,#c05c84 16px 16px,#c05c84 17px 17px,#c05c84 18px 18px,#c05c84 19px 19px,#c05c84 20px 20px,#c05c84 21px 21px,#c05c84 22px 22px,#c05c84 23px 23px,#c05c84 24px 24px,#c05c84 25px 25px,#c05c84 26px 26px,#c05c84 27px 27px,#c05c84 28px 28px,#c05c84 29px 29px,#c05c84 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-facebook{background:#3B5998;border:1px solid #1E3D7A;text-shadow:#1e3d7a 1px 1px,#1e3d7a 2px 2px,#1e3d7a 3px 3px,#1e3d7a 4px 4px,#1e3d7a 5px 5px,#1e3d7a 6px 6px,#1e3d7a 7px 7px,#1e3d7a 8px 8px,#1e3d7a 9px 9px,#1e3d7a 10px 10px,#1e3d7a 11px 11px,#1e3d7a 12px 12px,#1e3d7a 13px 13px,#1e3d7a 14px 14px,#1e3d7a 15px 15px,#1e3d7a 16px 16px,#1e3d7a 17px 17px,#1e3d7a 18px 18px,#1e3d7a 19px 19px,#1e3d7a 20px 20px,#1e3d7a 21px 21px,#1e3d7a 22px 22px,#1e3d7a 23px 23px,#1e3d7a 24px 24px,#1e3d7a 25px 25px,#1e3d7a 26px 26px,#1e3d7a 27px 27px,#1e3d7a 28px 28px,#1e3d7a 29px 29px,#1e3d7a 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-flickr{background:#FF0586;border:1px solid #D0006F;text-shadow:#d0006f 1px 1px,#d0006f 2px 2px,#d0006f 3px 3px,#d0006f 4px 4px,#d0006f 5px 5px,#d0006f 6px 6px,#d0006f 7px 7px,#d0006f 8px 8px,#d0006f 9px 9px,#d0006f 10px 10px,#d0006f 11px 11px,#d0006f 12px 12px,#d0006f 13px 13px,#d0006f 14px 14px,#d0006f 15px 15px,#d0006f 16px 16px,#d0006f 17px 17px,#d0006f 18px 18px,#d0006f 19px 19px,#d0006f 20px 20px,#d0006f 21px 21px,#d0006f 22px 22px,#d0006f 23px 23px,#d0006f 24px 24px,#d0006f 25px 25px,#d0006f 26px 26px,#d0006f 27px 27px,#d0006f 28px 28px,#d0006f 29px 29px,#d0006f 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-github{background:#829AA8;border:1px solid #4F7385;text-shadow:#4f7385 1px 1px,#4f7385 2px 2px,#4f7385 3px 3px,#4f7385 4px 4px,#4f7385 5px 5px,#4f7385 6px 6px,#4f7385 7px 7px,#4f7385 8px 8px,#4f7385 9px 9px,#4f7385 10px 10px,#4f7385 11px 11px,#4f7385 12px 12px,#4f7385 13px 13px,#4f7385 14px 14px,#4f7385 15px 15px,#4f7385 16px 16px,#4f7385 17px 17px,#4f7385 18px 18px,#4f7385 19px 19px,#4f7385 20px 20px,#4f7385 21px 21px,#4f7385 22px 22px,#4f7385 23px 23px,#4f7385 24px 24px,#4f7385 25px 25px,#4f7385 26px 26px,#4f7385 27px 27px,#4f7385 28px 28px,#4f7385 29px 29px,#4f7385 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-google{background:#E8262F;border:1px solid #C20C18;text-shadow:#c20c18 1px 1px,#c20c18 2px 2px,#c20c18 3px 3px,#c20c18 4px 4px,#c20c18 5px 5px,#c20c18 6px 6px,#c20c18 7px 7px,#c20c18 8px 8px,#c20c18 9px 9px,#c20c18 10px 10px,#c20c18 11px 11px,#c20c18 12px 12px,#c20c18 13px 13px,#c20c18 14px 14px,#c20c18 15px 15px,#c20c18 16px 16px,#c20c18 17px 17px,#c20c18 18px 18px,#c20c18 19px 19px,#c20c18 20px 20px,#c20c18 21px 21px,#c20c18 22px 22px,#c20c18 23px 23px,#c20c18 24px 24px,#c20c18 25px 25px,#c20c18 26px 26px,#c20c18 27px 27px,#c20c18 28px 28px,#c20c18 29px 29px,#c20c18 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-googleplus{background:#DD4B39;border:1px solid #B32414;text-shadow:#b32414 1px 1px,#b32414 2px 2px,#b32414 3px 3px,#b32414 4px 4px,#b32414 5px 5px,#b32414 6px 6px,#b32414 7px 7px,#b32414 8px 8px,#b32414 9px 9px,#b32414 10px 10px,#b32414 11px 11px,#b32414 12px 12px,#b32414 13px 13px,#b32414 14px 14px,#b32414 15px 15px,#b32414 16px 16px,#b32414 17px 17px,#b32414 18px 18px,#b32414 19px 19px,#b32414 20px 20px,#b32414 21px 21px,#b32414 22px 22px,#b32414 23px 23px,#b32414 24px 24px,#b32414 25px 25px,#b32414 26px 26px,#b32414 27px 27px,#b32414 28px 28px,#b32414 29px 29px,#b32414 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-html5{background:#F16528;border:1px solid #C23D08;text-shadow:#c23d08 1px 1px,#c23d08 2px 2px,#c23d08 3px 3px,#c23d08 4px 4px,#c23d08 5px 5px,#c23d08 6px 6px,#c23d08 7px 7px,#c23d08 8px 8px,#c23d08 9px 9px,#c23d08 10px 10px,#c23d08 11px 11px,#c23d08 12px 12px,#c23d08 13px 13px,#c23d08 14px 14px,#c23d08 15px 15px,#c23d08 16px 16px,#c23d08 17px 17px,#c23d08 18px 18px,#c23d08 19px 19px,#c23d08 20px 20px,#c23d08 21px 21px,#c23d08 22px 22px,#c23d08 23px 23px,#c23d08 24px 24px,#c23d08 25px 25px,#c23d08 26px 26px,#c23d08 27px 27px,#c23d08 28px 28px,#c23d08 29px 29px,#c23d08 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-instagram{background:#417096;border:1px solid #244F70;text-shadow:#244f70 1px 1px,#244f70 2px 2px,#244f70 3px 3px,#244f70 4px 4px,#244f70 5px 5px,#244f70 6px 6px,#244f70 7px 7px,#244f70 8px 8px,#244f70 9px 9px,#244f70 10px 10px,#244f70 11px 11px,#244f70 12px 12px,#244f70 13px 13px,#244f70 14px 14px,#244f70 15px 15px,#244f70 16px 16px,#244f70 17px 17px,#244f70 18px 18px,#244f70 19px 19px,#244f70 20px 20px,#244f70 21px 21px,#244f70 22px 22px,#244f70 23px 23px,#244f70 24px 24px,#244f70 25px 25px,#244f70 26px 26px,#244f70 27px 27px,#244f70 28px 28px,#244f70 29px 29px,#244f70 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-linkedin{background:#1583BB;border:1px solid #036390;text-shadow:#036390 1px 1px,#036390 2px 2px,#036390 3px 3px,#036390 4px 4px,#036390 5px 5px,#036390 6px 6px,#036390 7px 7px,#036390 8px 8px,#036390 9px 9px,#036390 10px 10px,#036390 11px 11px,#036390 12px 12px,#036390 13px 13px,#036390 14px 14px,#036390 15px 15px,#036390 16px 16px,#036390 17px 17px,#036390 18px 18px,#036390 19px 19px,#036390 20px 20px,#036390 21px 21px,#036390 22px 22px,#036390 23px 23px,#036390 24px 24px,#036390 25px 25px,#036390 26px 26px,#036390 27px 27px,#036390 28px 28px,#036390 29px 29px,#036390 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-pinterest{background:#CB2027;border:1px solid #9D060E;text-shadow:#9d063e 1px 1px,#9d063e 2px 2px,#9d063e 3px 3px,#9d063e 4px 4px,#9d063e 5px 5px,#9d063e 6px 6px,#9d063e 7px 7px,#9d063e 8px 8px,#9d063e 9px 9px,#9d063e 10px 10px,#9d063e 11px 11px,#9d063e 12px 12px,#9d063e 13px 13px,#9d063e 14px 14px,#9d063e 15px 15px,#9d063e 16px 16px,#9d063e 17px 17px,#9d063e 18px 18px,#9d063e 19px 19px,#9d063e 20px 20px,#9d063e 21px 21px,#9d063e 22px 22px,#9d063e 23px 23px,#9d063e 24px 24px,#9d063e 25px 25px,#9d063e 26px 26px,#9d063e 27px 27px,#9d063e 28px 28px,#9d063e 29px 29px,#9d063e 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-reddit{background:#FF4107;border:1px solid #C62D02;text-shadow:#c62d02 1px 1px,#c62d02 2px 2px,#c62d02 3px 3px,#c62d02 4px 4px,#c62d02 5px 5px,#c62d02 6px 6px,#c62d02 7px 7px,#c62d02 8px 8px,#c62d02 9px 9px,#c62d02 10px 10px,#c62d02 11px 11px,#c62d02 12px 12px,#c62d02 13px 13px,#c62d02 14px 14px,#c62d02 15px 15px,#c62d02 16px 16px,#c62d02 17px 17px,#c62d02 18px 18px,#c62d02 19px 19px,#c62d02 20px 20px,#c62d02 21px 21px,#c62d02 22px 22px,#c62d02 23px 23px,#c62d02 24px 24px,#c62d02 25px 25px,#c62d02 26px 26px,#c62d02 27px 27px,#c62d02 28px 28px,#c62d02 29px 29px,#c62d02 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-rss{background:#FF7A21;border:1px solid #C24B02;text-shadow:#c24b02 1px 1px,#c24b02 2px 2px,#c24b02 3px 3px,#c24b02 4px 4px,#c24b02 5px 5px,#c24b02 6px 6px,#c24b02 7px 7px,#c24b02 8px 8px,#c24b02 9px 9px,#c24b02 10px 10px,#c24b02 11px 11px,#c24b02 12px 12px,#c24b02 13px 13px,#c24b02 14px 14px,#c24b02 15px 15px,#c24b02 16px 16px,#c24b02 17px 17px,#c24b02 18px 18px,#c24b02 19px 19px,#c24b02 20px 20px,#c24b02 21px 21px,#c24b02 22px 22px,#c24b02 23px 23px,#c24b02 24px 24px,#c24b02 25px 25px,#c24b02 26px 26px,#c24b02 27px 27px,#c24b02 28px 28px,#c24b02 29px 29px,#c24b02 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-sharethis{background:#1D9565;border:1px solid #076840;text-shadow:#076840 1px 1px,#076840 2px 2px,#076840 3px 3px,#076840 4px 4px,#076840 5px 5px,#076840 6px 6px,#076840 7px 7px,#076840 8px 8px,#076840 9px 9px,#076840 10px 10px,#076840 11px 11px,#076840 12px 12px,#076840 13px 13px,#076840 14px 14px,#076840 15px 15px,#076840 16px 16px,#076840 17px 17px,#076840 18px 18px,#076840 19px 19px,#076840 20px 20px,#076840 21px 21px,#076840 22px 22px,#076840 23px 23px,#076840 24px 24px,#076840 25px 25px,#076840 26px 26px,#076840 27px 27px,#076840 28px 28px,#076840 29px 29px,#076840 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-skype{background:#3FC1F4;border:1px solid #1B95C2;text-shadow:#1b95c2 1px 1px,#1b95c2 2px 2px,#1b95c2 3px 3px,#1b95c2 4px 4px,#1b95c2 5px 5px,#1b95c2 6px 6px,#1b95c2 7px 7px,#1b95c2 8px 8px,#1b95c2 9px 9px,#1b95c2 10px 10px,#1b95c2 11px 11px,#1b95c2 12px 12px,#1b95c2 13px 13px,#1b95c2 14px 14px,#1b95c2 15px 15px,#1b95c2 16px 16px,#1b95c2 17px 17px,#1b95c2 18px 18px,#1b95c2 19px 19px,#1b95c2 20px 20px,#1b95c2 21px 21px,#1b95c2 22px 22px,#1b95c2 23px 23px,#1b95c2 24px 24px,#1b95c2 25px 25px,#1b95c2 26px 26px,#1b95c2 27px 27px,#1b95c2 28px 28px,#1b95c2 29px 29px,#1b95c2 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-soundcloud{background:#FF5419;border:1px solid #C73002;text-shadow:#c73002 1px 1px,#c73002 2px 2px,#c73002 3px 3px,#c73002 4px 4px,#c73002 5px 5px,#c73002 6px 6px,#c73002 7px 7px,#c73002 8px 8px,#c73002 9px 9px,#c73002 10px 10px,#c73002 11px 11px,#c73002 12px 12px,#c73002 13px 13px,#c73002 14px 14px,#c73002 15px 15px,#c73002 16px 16px,#c73002 17px 17px,#c73002 18px 18px,#c73002 19px 19px,#c73002 20px 20px,#c73002 21px 21px,#c73002 22px 22px,#c73002 23px 23px,#c73002 24px 24px,#c73002 25px 25px,#c73002 26px 26px,#c73002 27px 27px,#c73002 28px 28px,#c73002 29px 29px,#c73002 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-spotify{background:#AECF02;border:1px solid #829900;text-shadow:#829900 1px 1px,#829900 2px 2px,#829900 3px 3px,#829900 4px 4px,#829900 5px 5px,#829900 6px 6px,#829900 7px 7px,#829900 8px 8px,#829900 9px 9px,#829900 10px 10px,#829900 11px 11px,#829900 12px 12px,#829900 13px 13px,#829900 14px 14px,#829900 15px 15px,#829900 16px 16px,#829900 17px 17px,#829900 18px 18px,#829900 19px 19px,#829900 20px 20px,#829900 21px 21px,#829900 22px 22px,#829900 23px 23px,#829900 24px 24px,#829900 25px 25px,#829900 26px 26px,#829900 27px 27px,#829900 28px 28px,#829900 29px 29px,#829900 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-stackoverflow{background:#FF661E;border:1px solid #CE3A00;text-shadow:#ce3a00 1px 1px,#ce3a00 2px 2px,#ce3a00 3px 3px,#ce3a00 4px 4px,#ce3a00 5px 5px,#ce3a00 6px 6px,#ce3a00 7px 7px,#ce3a00 8px 8px,#ce3a00 9px 9px,#ce3a00 10px 10px,#ce3a00 11px 11px,#ce3a00 12px 12px,#ce3a00 13px 13px,#ce3a00 14px 14px,#ce3a00 15px 15px,#ce3a00 16px 16px,#ce3a00 17px 17px,#ce3a00 18px 18px,#ce3a00 19px 19px,#ce3a00 20px 20px,#ce3a00 21px 21px,#ce3a00 22px 22px,#ce3a00 23px 23px,#ce3a00 24px 24px,#ce3a00 25px 25px,#ce3a00 26px 26px,#ce3a00 27px 27px,#ce3a00 28px 28px,#ce3a00 29px 29px,#ce3a00 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-steam,.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-user_email{background:#484848;border:1px solid #302B2B;text-shadow:#302b2b 1px 1px,#302b2b 2px 2px,#302b2b 3px 3px,#302b2b 4px 4px,#302b2b 5px 5px,#302b2b 6px 6px,#302b2b 7px 7px,#302b2b 8px 8px,#302b2b 9px 9px,#302b2b 10px 10px,#302b2b 11px 11px,#302b2b 12px 12px,#302b2b 13px 13px,#302b2b 14px 14px,#302b2b 15px 15px,#302b2b 16px 16px,#302b2b 17px 17px,#302b2b 18px 18px,#302b2b 19px 19px,#302b2b 20px 20px,#302b2b 21px 21px,#302b2b 22px 22px,#302b2b 23px 23px,#302b2b 24px 24px,#302b2b 25px 25px,#302b2b 26px 26px,#302b2b 27px 27px,#302b2b 28px 28px,#302b2b 29px 29px,#302b2b 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-stumbleUpon{background:#EB4923;border:1px solid #BE2507;text-shadow:#be2507 1px 1px,#be2507 2px 2px,#be2507 3px 3px,#be2507 4px 4px,#be2507 5px 5px,#be2507 6px 6px,#be2507 7px 7px,#be2507 8px 8px,#be2507 9px 9px,#be2507 10px 10px,#be2507 11px 11px,#be2507 12px 12px,#be2507 13px 13px,#be2507 14px 14px,#be2507 15px 15px,#be2507 16px 16px,#be2507 17px 17px,#be2507 18px 18px,#be2507 19px 19px,#be2507 20px 20px,#be2507 21px 21px,#be2507 22px 22px,#be2507 23px 23px,#be2507 24px 24px,#be2507 25px 25px,#be2507 26px 26px,#be2507 27px 27px,#be2507 28px 28px,#be2507 29px 29px,#be2507 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-tumblr{background:#3C576C;border:1px solid #1E3546;text-shadow:#1e3546 1px 1px,#1e3546 2px 2px,#1e3546 3px 3px,#1e3546 4px 4px,#1e3546 5px 5px,#1e3546 6px 6px,#1e3546 7px 7px,#1e3546 8px 8px,#1e3546 9px 9px,#1e3546 10px 10px,#1e3546 11px 11px,#1e3546 12px 12px,#1e3546 13px 13px,#1e3546 14px 14px,#1e3546 15px 15px,#1e3546 16px 16px,#1e3546 17px 17px,#1e3546 18px 18px,#1e3546 19px 19px,#1e3546 20px 20px,#1e3546 21px 21px,#1e3546 22px 22px,#1e3546 23px 23px,#1e3546 24px 24px,#1e3546 25px 25px,#1e3546 26px 26px,#1e3546 27px 27px,#1e3546 28px 28px,#1e3546 29px 29px,#1e3546 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-twitter{background:#00ACED;border:1px solid #008AB8;text-shadow:#008ab8 1px 1px,#008ab8 2px 2px,#008ab8 3px 3px,#008ab8 4px 4px,#008ab8 5px 5px,#008ab8 6px 6px,#008ab8 7px 7px,#008ab8 8px 8px,#008ab8 9px 9px,#008ab8 10px 10px,#008ab8 11px 11px,#008ab8 12px 12px,#008ab8 13px 13px,#008ab8 14px 14px,#008ab8 15px 15px,#008ab8 16px 16px,#008ab8 17px 17px,#008ab8 18px 18px,#008ab8 19px 19px,#008ab8 20px 20px,#008ab8 21px 21px,#008ab8 22px 22px,#008ab8 23px 23px,#008ab8 24px 24px,#008ab8 25px 25px,#008ab8 26px 26px,#008ab8 27px 27px,#008ab8 28px 28px,#008ab8 29px 29px,#008ab8 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-vimeo{background:#006599;border:1px solid #00496A;text-shadow:#00496a 1px 1px,#00496a 2px 2px,#00496a 3px 3px,#00496a 4px 4px,#00496a 5px 5px,#00496a 6px 6px,#00496a 7px 7px,#00496a 8px 8px,#00496a 9px 9px,#00496a 10px 10px,#00496a 11px 11px,#00496a 12px 12px,#00496a 13px 13px,#00496a 14px 14px,#00496a 15px 15px,#00496a 16px 16px,#00496a 17px 17px,#00496a 18px 18px,#00496a 19px 19px,#00496a 20px 20px,#00496a 21px 21px,#00496a 22px 22px,#00496a 23px 23px,#00496a 24px 24px,#00496a 25px 25px,#00496a 26px 26px,#00496a 27px 27px,#00496a 28px 28px,#00496a 29px 29px,#00496a 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-windows{background:#00ADEF;border:1px solid #038BBC;text-shadow:#038bbc 1px 1px,#038bbc 2px 2px,#038bbc 3px 3px,#038bbc 4px 4px,#038bbc 5px 5px,#038bbc 6px 6px,#038bbc 7px 7px,#038bbc 8px 8px,#038bbc 9px 9px,#038bbc 10px 10px,#038bbc 11px 11px,#038bbc 12px 12px,#038bbc 13px 13px,#038bbc 14px 14px,#038bbc 15px 15px,#038bbc 16px 16px,#038bbc 17px 17px,#038bbc 18px 18px,#038bbc 19px 19px,#038bbc 20px 20px,#038bbc 21px 21px,#038bbc 22px 22px,#038bbc 23px 23px,#038bbc 24px 24px,#038bbc 25px 25px,#038bbc 26px 26px,#038bbc 27px 27px,#038bbc 28px 28px,#038bbc 29px 29px,#038bbc 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-wordpress{background:#21759A;border:1px solid #0F607E;text-shadow:#0f607e 1px 1px,#0f607e 2px 2px,#0f607e 3px 3px,#0f607e 4px 4px,#0f607e 5px 5px,#0f607e 6px 6px,#0f607e 7px 7px,#0f607e 8px 8px,#0f607e 9px 9px,#0f607e 10px 10px,#0f607e 11px 11px,#0f607e 12px 12px,#0f607e 13px 13px,#0f607e 14px 14px,#0f607e 15px 15px,#0f607e 16px 16px,#0f607e 17px 17px,#0f607e 18px 18px,#0f607e 19px 19px,#0f607e 20px 20px,#0f607e 21px 21px,#0f607e 22px 22px,#0f607e 23px 23px,#0f607e 24px 24px,#0f607e 25px 25px,#0f607e 26px 26px,#0f607e 27px 27px,#0f607e 28px 28px,#0f607e 29px 29px,#0f607e 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-yahoo{background:#4101AF;border:1px solid #290074;text-shadow:#290074 1px 1px,#290074 2px 2px,#290074 3px 3px,#290074 4px 4px,#290074 5px 5px,#290074 6px 6px,#290074 7px 7px,#290074 8px 8px,#290074 9px 9px,#290074 10px 10px,#290074 11px 11px,#290074 12px 12px,#290074 13px 13px,#290074 14px 14px,#290074 15px 15px,#290074 16px 16px,#290074 17px 17px,#290074 18px 18px,#290074 19px 19px,#290074 20px 20px,#290074 21px 21px,#290074 22px 22px,#290074 23px 23px,#290074 24px 24px,#290074 25px 25px,#290074 26px 26px,#290074 27px 27px,#290074 28px 28px,#290074 29px 29px,#290074 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-youtube{background:#E52C27;border:1px solid #BE0707;text-shadow:#be0707 1px 1px,#be0707 2px 2px,#be0707 3px 3px,#be0707 4px 4px,#be0707 5px 5px,#be0707 6px 6px,#be0707 7px 7px,#be0707 8px 8px,#be0707 9px 9px,#be0707 10px 10px,#be0707 11px 11px,#be0707 12px 12px,#be0707 13px 13px,#be0707 14px 14px,#be0707 15px 15px,#be0707 16px 16px,#be0707 17px 17px,#be0707 18px 18px,#be0707 19px 19px,#be0707 20px 20px,#be0707 21px 21px,#be0707 22px 22px,#be0707 23px 23px,#be0707 24px 24px,#be0707 25px 25px,#be0707 26px 26px,#be0707 27px 27px,#be0707 28px 28px,#be0707 29px 29px,#be0707 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-xing{background:#026466;border:1px solid #004746;text-shadow:#004746 1px 1px,#004746 2px 2px,#004746 3px 3px,#004746 4px 4px,#004746 5px 5px,#004746 6px 6px,#004746 7px 7px,#004746 8px 8px,#004746 9px 9px,#004746 10px 10px,#004746 11px 11px,#004746 12px 12px,#004746 13px 13px,#004746 14px 14px,#004746 15px 15px,#004746 16px 16px,#004746 17px 17px,#004746 18px 18px,#004746 19px 19px,#004746 20px 20px,#004746 21px 21px,#004746 22px 22px,#004746 23px 23px,#004746 24px 24px,#004746 25px 25px,#004746 26px 26px,#004746 27px 27px,#004746 28px 28px,#004746 29px 29px,#004746 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-mixcloud{background:#52aad8;border:1px solid #1B95C2;text-shadow:#1b95c2 1px 1px,#1b95c2 2px 2px,#1b95c2 3px 3px,#1b95c2 4px 4px,#1b95c2 5px 5px,#1b95c2 6px 6px,#1b95c2 7px 7px,#1b95c2 8px 8px,#1b95c2 9px 9px,#1b95c2 10px 10px,#1b95c2 11px 11px,#1b95c2 12px 12px,#1b95c2 13px 13px,#1b95c2 14px 14px,#1b95c2 15px 15px,#1b95c2 16px 16px,#1b95c2 17px 17px,#1b95c2 18px 18px,#1b95c2 19px 19px,#1b95c2 20px 20px,#1b95c2 21px 21px,#1b95c2 22px 22px,#1b95c2 23px 23px,#1b95c2 24px 24px,#1b95c2 25px 25px,#1b95c2 26px 26px,#1b95c2 27px 27px,#1b95c2 28px 28px,#1b95c2 29px 29px,#1b95c2 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-goodreads{background:#553b08;border:1px solid #1B95C2}.sabox-plus-item{margin-bottom:20px}@media screen and (max-width:480px){.saboxplugin-wrap{text-align:center}.saboxplugin-wrap .saboxplugin-gravatar{float:none;padding:20px 0;text-align:center;margin:0 auto;display:block}.saboxplugin-wrap .saboxplugin-gravatar img{float:none;display:inline-block;display:-moz-inline-stack;vertical-align:middle;zoom:1}.saboxplugin-wrap .saboxplugin-desc{margin:0 10px 20px;text-align:center}.saboxplugin-wrap .saboxplugin-authorname{text-align:center;margin:10px 0 20px}}
assets/img/default.png ADDED
Binary file
assets/img/handshake.png ADDED
Binary file
assets/img/sab-big-icon.png ADDED
Binary file
assets/img/sab-icon.png ADDED
Binary file
assets/js/sabox-admin.js ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (function( $ ) {
2
+
3
+ 'use strict';
4
+ var context = $( '#sabox-cotnainer' );
5
+ context.find( '.saboxfield' ).change( function() {
6
+ var value = getElementValue( $( this ) ),
7
+ elements = context.find( '.show_if_' + $( this ).attr( 'id' ) );
8
+ if ( value && '0' !== value ) {
9
+ elements.show();
10
+ } else {
11
+ elements.hide();
12
+ }
13
+ } );
14
+
15
+ function getElementValue( $element ) {
16
+ var type = $element.attr( 'type' );
17
+
18
+ if ( 'checkbox' === type ) {
19
+ if ( $element.is( ':checked' ) ) {
20
+ return 1;
21
+ } else {
22
+ return 0;
23
+ }
24
+ } else {
25
+ return $element.val();
26
+ }
27
+ }
28
+
29
+ $( document ).ready( function() {
30
+ var elements = context.find( '.saboxfield' ),
31
+ sliders = context.find( '.sabox-slider' ),
32
+ colorpickers = context.find( '.sabox-color' );
33
+
34
+ elements.each( function( $index, $element ) {
35
+ var element = $( $element ),
36
+ value = getElementValue( element ),
37
+ elements = context.find( '.show_if_' + element.attr( 'id' ) );
38
+ if ( value && '0' !== value ) {
39
+ elements.removeClass( 'hide' );
40
+ } else {
41
+ elements.addClass( 'hide' );
42
+ }
43
+ } );
44
+ if ( sliders.length > 0 ) {
45
+ sliders.each( function( $index, $slider ) {
46
+ var input = $( $slider ).parent().find( '.saboxfield' ),
47
+ max = input.data( 'max' ),
48
+ min = input.data( 'min' ),
49
+ step = input.data( 'step' ),
50
+ value = parseInt( input.val(), 10 );
51
+
52
+ $( $slider ).slider( {
53
+ value: value,
54
+ min: min,
55
+ max: max,
56
+ step: step,
57
+ slide: function( event, ui ) {
58
+ input.val( ui.value + 'px' ).trigger( 'change' );
59
+ }
60
+ } );
61
+ } );
62
+ }
63
+ if ( colorpickers.length > 0 ) {
64
+ colorpickers.each( function( $index, $colorpicker ) {
65
+ $( $colorpicker ).wpColorPicker();
66
+ } );
67
+ }
68
+
69
+ } );
70
+
71
+ })( jQuery );
assets/js/sabox-editor.js ADDED
@@ -0,0 +1,103 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (function( $ ) {
2
+
3
+ 'use strict';
4
+ var SABox = {};
5
+
6
+ var mediaControl = {
7
+
8
+ // Initializes a new media manager or returns an existing frame.
9
+ // @see wp.media.featuredImage.frame()
10
+ selector: null,
11
+ size: null,
12
+ container: null,
13
+ frame: function() {
14
+ if ( this._frame ) {
15
+ return this._frame;
16
+
17
+ }
18
+
19
+ this._frame = wp.media( {
20
+ title: 'Media',
21
+ button: {
22
+ text: 'Update'
23
+ },
24
+ multiple: false
25
+ } );
26
+
27
+ this._frame.on( 'open', this.updateFrame ).state( 'library' ).on( 'select', this.select );
28
+
29
+ return this._frame;
30
+
31
+ },
32
+
33
+ select: function() {
34
+ var context = $( '#sabox-custom-profile-image' ),
35
+ input = context.find( '#sabox-custom-image' ),
36
+ image = context.find( 'img' ),
37
+ attachment = mediaControl.frame().state().get( 'selection' ).first().toJSON();
38
+
39
+ image.attr( 'src', attachment.url );
40
+ input.val( attachment.url );
41
+
42
+ },
43
+
44
+ init: function() {
45
+ var context = $( '#sabox-custom-profile-image' );
46
+ context.on( 'click', '#sabox-add-image', function( e ) {
47
+ e.preventDefault();
48
+ mediaControl.frame().open();
49
+ } );
50
+
51
+ context.on( 'click', '#sabox-remove-image', function( e ) {
52
+ var context = $( '#sabox-custom-profile-image' ),
53
+ input = context.find( '#sabox-custom-image' ),
54
+ image = context.find( 'img' );
55
+
56
+ e.preventDefault();
57
+
58
+ input.val( '' );
59
+ image.attr( 'src', image.data( 'default' ) );
60
+ } );
61
+
62
+ }
63
+
64
+ };
65
+
66
+ $( document ).ready( function() {
67
+ if ( $( '#description' ).length > 0 ) {
68
+ wp.editor.initialize( 'description', {
69
+ tinymce: {
70
+ wpautop: true
71
+ },
72
+ quicktags: true
73
+ } );
74
+ }
75
+
76
+ // Add Social Links
77
+ $( '.sabox-add-social-link' ).click( function() {
78
+
79
+ if ( undefined === SABox.html ) {
80
+ SABox.html = '<tr> <th><span class="sabox-drag"></span><select name="sabox-social-icons[]">';
81
+ $.each( SABHerlper.socialIcons, function( key, name ) {
82
+ SABox.html = SABox.html + '<option value="' + key + '">' + name + '</option>';
83
+ } );
84
+ SABox.html = SABox.html + '</select></th><td><input name="sabox-social-links[]" type="text" class="regular-text"><span class="dashicons dashicons-trash"></span><td></tr>';
85
+ }
86
+
87
+ $( '#sabox-social-table' ).append( SABox.html );
88
+
89
+ } );
90
+
91
+ // Remove Social Link
92
+ $( '#sabox-social-table' ).on( 'click', '.dashicons-trash', function() {
93
+ var row = $( this ).parents( 'tr' );
94
+ row.fadeOut( 'slow', function() {
95
+ row.remove();
96
+ } );
97
+ } );
98
+
99
+ mediaControl.init();
100
+
101
+ } );
102
+
103
+ })( jQuery );
core/sabox-fonts.php DELETED
@@ -1,701 +0,0 @@
1
- <?php
2
-
3
- // If this file is called directly, busted!
4
- if( !defined( 'ABSPATH' ) ) {
5
- exit;
6
- }
7
-
8
- /*--------------------------------------------------------------------------------------------------------
9
- List of Google Web Fonts. Last updated on July 15, 2014.
10
- ---------------------------------------------------------------------------------------------------------*/
11
-
12
- $sabox_google_fonts = array (
13
- 'ABeeZee',
14
- 'Abel',
15
- 'Abril Fatface',
16
- 'Aclonica',
17
- 'Acme',
18
- 'Actor',
19
- 'Adamina',
20
- 'Advent Pro',
21
- 'Aguafina Script',
22
- 'Akronim',
23
- 'Aladin',
24
- 'Aldrich',
25
- 'Alef',
26
- 'Alegreya',
27
- 'Alegreya SC',
28
- 'Alegreya Sans',
29
- 'Alegreya Sans SC',
30
- 'Alex Brush',
31
- 'Alfa Slab One',
32
- 'Alice',
33
- 'Alike',
34
- 'Alike Angular',
35
- 'Allan',
36
- 'Allerta',
37
- 'Allerta Stencil',
38
- 'Allura',
39
- 'Almendra',
40
- 'Almendra Display',
41
- 'Almendra SC',
42
- 'Amarante',
43
- 'Amaranth',
44
- 'Amatic SC',
45
- 'Amethysta',
46
- 'Anaheim',
47
- 'Andada',
48
- 'Andika',
49
- 'Angkor',
50
- 'Annie Use Your Telescope',
51
- 'Anonymous Pro',
52
- 'Antic',
53
- 'Antic Didone',
54
- 'Antic Slab',
55
- 'Anton',
56
- 'Arapey',
57
- 'Arbutus',
58
- 'Arbutus Slab',
59
- 'Architects Daughter',
60
- 'Archivo Black',
61
- 'Archivo Narrow',
62
- 'Arimo',
63
- 'Arizonia',
64
- 'Armata',
65
- 'Artifika',
66
- 'Arvo',
67
- 'Asap',
68
- 'Asset',
69
- 'Astloch',
70
- 'Asul',
71
- 'Atomic Age',
72
- 'Aubrey',
73
- 'Audiowide',
74
- 'Autour One',
75
- 'Average',
76
- 'Average Sans',
77
- 'Averia Gruesa Libre',
78
- 'Averia Libre',
79
- 'Averia Sans Libre',
80
- 'Averia Serif Libre',
81
- 'Bad Script',
82
- 'Balthazar',
83
- 'Bangers',
84
- 'Basic',
85
- 'Battambang',
86
- 'Baumans',
87
- 'Bayon',
88
- 'Belgrano',
89
- 'Belleza',
90
- 'BenchNine',
91
- 'Bentham',
92
- 'Berkshire Swash',
93
- 'Bevan',
94
- 'Bigelow Rules',
95
- 'Bigshot One',
96
- 'Bilbo',
97
- 'Bilbo Swash Caps',
98
- 'Bitter',
99
- 'Black Ops One',
100
- 'Bokor',
101
- 'Bonbon',
102
- 'Boogaloo',
103
- 'Bowlby One',
104
- 'Bowlby One SC',
105
- 'Brawler',
106
- 'Bree Serif',
107
- 'Bubblegum Sans',
108
- 'Bubbler One',
109
- 'Buda',
110
- 'Buenard',
111
- 'Butcherman',
112
- 'Butterfly Kids',
113
- 'Cabin',
114
- 'Cabin Condensed',
115
- 'Cabin Sketch',
116
- 'Caesar Dressing',
117
- 'Cagliostro',
118
- 'Calligraffitti',
119
- 'Cambo',
120
- 'Candal',
121
- 'Cantarell',
122
- 'Cantata One',
123
- 'Cantora One',
124
- 'Capriola',
125
- 'Cardo',
126
- 'Carme',
127
- 'Carrois Gothic',
128
- 'Carrois Gothic SC',
129
- 'Carter One',
130
- 'Caudex',
131
- 'Cedarville Cursive',
132
- 'Ceviche One',
133
- 'Changa One',
134
- 'Chango',
135
- 'Chau Philomene One',
136
- 'Chela One',
137
- 'Chelsea Market',
138
- 'Chenla',
139
- 'Cherry Cream Soda',
140
- 'Cherry Swash',
141
- 'Chewy',
142
- 'Chicle',
143
- 'Chivo',
144
- 'Cinzel',
145
- 'Cinzel Decorative',
146
- 'Clicker Script',
147
- 'Coda',
148
- 'Coda Caption',
149
- 'Codystar',
150
- 'Combo',
151
- 'Comfortaa',
152
- 'Coming Soon',
153
- 'Concert One',
154
- 'Condiment',
155
- 'Content',
156
- 'Contrail One',
157
- 'Convergence',
158
- 'Cookie',
159
- 'Copse',
160
- 'Corben',
161
- 'Courgette',
162
- 'Cousine',
163
- 'Coustard',
164
- 'Covered By Your Grace',
165
- 'Crafty Girls',
166
- 'Creepster',
167
- 'Crete Round',
168
- 'Crimson Text',
169
- 'Croissant One',
170
- 'Crushed',
171
- 'Cuprum',
172
- 'Cutive',
173
- 'Cutive Mono',
174
- 'Damion',
175
- 'Dancing Script',
176
- 'Dangrek',
177
- 'Dawning of a New Day',
178
- 'Days One',
179
- 'Delius',
180
- 'Delius Swash Caps',
181
- 'Delius Unicase',
182
- 'Della Respira',
183
- 'Denk One',
184
- 'Devonshire',
185
- 'Didact Gothic',
186
- 'Diplomata',
187
- 'Diplomata SC',
188
- 'Domine',
189
- 'Donegal One',
190
- 'Doppio One',
191
- 'Dorsa',
192
- 'Dosis',
193
- 'Dr Sugiyama',
194
- 'Droid Sans',
195
- 'Droid Sans Mono',
196
- 'Droid Serif',
197
- 'Duru Sans',
198
- 'Dynalight',
199
- 'EB Garamond',
200
- 'Eagle Lake',
201
- 'Eater',
202
- 'Economica',
203
- 'Ek Mukta',
204
- 'Electrolize',
205
- 'Elsie',
206
- 'Elsie Swash Caps',
207
- 'Emblema One',
208
- 'Emilys Candy',
209
- 'Engagement',
210
- 'Englebert',
211
- 'Enriqueta',
212
- 'Erica One',
213
- 'Esteban',
214
- 'Euphoria Script',
215
- 'Ewert',
216
- 'Exo',
217
- 'Exo 2',
218
- 'Expletus Sans',
219
- 'Fanwood Text',
220
- 'Fascinate',
221
- 'Fascinate Inline',
222
- 'Faster One',
223
- 'Fasthand',
224
- 'Fauna One',
225
- 'Federant',
226
- 'Federo',
227
- 'Felipa',
228
- 'Fenix',
229
- 'Finger Paint',
230
- 'Fira Mono',
231
- 'Fira Sans',
232
- 'Fjalla One',
233
- 'Fjord One',
234
- 'Flamenco',
235
- 'Flavors',
236
- 'Fondamento',
237
- 'Fontdiner Swanky',
238
- 'Forum',
239
- 'Francois One',
240
- 'Freckle Face',
241
- 'Fredericka the Great',
242
- 'Fredoka One',
243
- 'Freehand',
244
- 'Fresca',
245
- 'Frijole',
246
- 'Fruktur',
247
- 'Fugaz One',
248
- 'GFS Didot',
249
- 'GFS Neohellenic',
250
- 'Gabriela',
251
- 'Gafata',
252
- 'Galdeano',
253
- 'Galindo',
254
- 'Gentium Basic',
255
- 'Gentium Book Basic',
256
- 'Geo',
257
- 'Geostar',
258
- 'Geostar Fill',
259
- 'Germania One',
260
- 'Gilda Display',
261
- 'Give You Glory',
262
- 'Glass Antiqua',
263
- 'Glegoo',
264
- 'Gloria Hallelujah',
265
- 'Goblin One',
266
- 'Gochi Hand',
267
- 'Gorditas',
268
- 'Goudy Bookletter 1911',
269
- 'Graduate',
270
- 'Grand Hotel',
271
- 'Gravitas One',
272
- 'Great Vibes',
273
- 'Griffy',
274
- 'Gruppo',
275
- 'Gudea',
276
- 'Habibi',
277
- 'Hammersmith One',
278
- 'Hanalei',
279
- 'Hanalei Fill',
280
- 'Handlee',
281
- 'Hanuman',
282
- 'Happy Monkey',
283
- 'Headland One',
284
- 'Henny Penny',
285
- 'Herr Von Muellerhoff',
286
- 'Hind',
287
- 'Holtwood One SC',
288
- 'Homemade Apple',
289
- 'Homenaje',
290
- 'IM Fell DW Pica',
291
- 'IM Fell DW Pica SC',
292
- 'IM Fell Double Pica',
293
- 'IM Fell Double Pica SC',
294
- 'IM Fell English',
295
- 'IM Fell English SC',
296
- 'IM Fell French Canon',
297
- 'IM Fell French Canon SC',
298
- 'IM Fell Great Primer',
299
- 'IM Fell Great Primer SC',
300
- 'Iceberg',
301
- 'Iceland',
302
- 'Imprima',
303
- 'Inconsolata',
304
- 'Inder',
305
- 'Indie Flower',
306
- 'Inika',
307
- 'Irish Grover',
308
- 'Istok Web',
309
- 'Italiana',
310
- 'Italianno',
311
- 'Jacques Francois',
312
- 'Jacques Francois Shadow',
313
- 'Jim Nightshade',
314
- 'Jockey One',
315
- 'Jolly Lodger',
316
- 'Josefin Sans',
317
- 'Josefin Slab',
318
- 'Joti One',
319
- 'Judson',
320
- 'Julee',
321
- 'Julius Sans One',
322
- 'Junge',
323
- 'Jura',
324
- 'Just Another Hand',
325
- 'Just Me Again Down Here',
326
- 'Kalam',
327
- 'Kameron',
328
- 'Kantumruy',
329
- 'Karla',
330
- 'Karma',
331
- 'Kaushan Script',
332
- 'Kavoon',
333
- 'Kdam Thmor',
334
- 'Keania One',
335
- 'Kelly Slab',
336
- 'Kenia',
337
- 'Khmer',
338
- 'Kite One',
339
- 'Knewave',
340
- 'Kotta One',
341
- 'Koulen',
342
- 'Kranky',
343
- 'Kreon',
344
- 'Kristi',
345
- 'Krona One',
346
- 'La Belle Aurore',
347
- 'Lancelot',
348
- 'Lato',
349
- 'League Script',
350
- 'Leckerli One',
351
- 'Ledger',
352
- 'Lekton',
353
- 'Lemon',
354
- 'Libre Baskerville',
355
- 'Life Savers',
356
- 'Lilita One',
357
- 'Lily Script One',
358
- 'Limelight',
359
- 'Linden Hill',
360
- 'Lobster',
361
- 'Lobster Two',
362
- 'Londrina Outline',
363
- 'Londrina Shadow',
364
- 'Londrina Sketch',
365
- 'Londrina Solid',
366
- 'Lora',
367
- 'Love Ya Like A Sister',
368
- 'Loved by the King',
369
- 'Lovers Quarrel',
370
- 'Luckiest Guy',
371
- 'Lusitana',
372
- 'Lustria',
373
- 'Macondo',
374
- 'Macondo Swash Caps',
375
- 'Magra',
376
- 'Maiden Orange',
377
- 'Mako',
378
- 'Marcellus',
379
- 'Marcellus SC',
380
- 'Marck Script',
381
- 'Margarine',
382
- 'Marko One',
383
- 'Marmelad',
384
- 'Marvel',
385
- 'Mate',
386
- 'Mate SC',
387
- 'Maven Pro',
388
- 'McLaren',
389
- 'Meddon',
390
- 'MedievalSharp',
391
- 'Medula One',
392
- 'Megrim',
393
- 'Meie Script',
394
- 'Merienda',
395
- 'Merienda One',
396
- 'Merriweather',
397
- 'Merriweather Sans',
398
- 'Metal',
399
- 'Metal Mania',
400
- 'Metamorphous',
401
- 'Metrophobic',
402
- 'Michroma',
403
- 'Milonga',
404
- 'Miltonian',
405
- 'Miltonian Tattoo',
406
- 'Miniver',
407
- 'Miss Fajardose',
408
- 'Modern Antiqua',
409
- 'Molengo',
410
- 'Molle',
411
- 'Monda',
412
- 'Monofett',
413
- 'Monoton',
414
- 'Monsieur La Doulaise',
415
- 'Montaga',
416
- 'Montez',
417
- 'Montserrat',
418
- 'Montserrat Alternates',
419
- 'Montserrat Subrayada',
420
- 'Moul',
421
- 'Moulpali',
422
- 'Mountains of Christmas',
423
- 'Mouse Memoirs',
424
- 'Mr Bedfort',
425
- 'Mr Dafoe',
426
- 'Mr De Haviland',
427
- 'Mrs Saint Delafield',
428
- 'Mrs Sheppards',
429
- 'Muli',
430
- 'Mystery Quest',
431
- 'Neucha',
432
- 'Neuton',
433
- 'New Rocker',
434
- 'News Cycle',
435
- 'Niconne',
436
- 'Nixie One',
437
- 'Nobile',
438
- 'Nokora',
439
- 'Norican',
440
- 'Nosifer',
441
- 'Nothing You Could Do',
442
- 'Noticia Text',
443
- 'Noto Sans',
444
- 'Noto Serif',
445
- 'Nova Cut',
446
- 'Nova Flat',
447
- 'Nova Mono',
448
- 'Nova Oval',
449
- 'Nova Round',
450
- 'Nova Script',
451
- 'Nova Slim',
452
- 'Nova Square',
453
- 'Numans',
454
- 'Nunito',
455
- 'Odor Mean Chey',
456
- 'Offside',
457
- 'Old Standard TT',
458
- 'Oldenburg',
459
- 'Oleo Script',
460
- 'Oleo Script Swash Caps',
461
- 'Open Sans',
462
- 'Open Sans Condensed',
463
- 'Oranienbaum',
464
- 'Orbitron',
465
- 'Oregano',
466
- 'Orienta',
467
- 'Original Surfer',
468
- 'Oswald',
469
- 'Over the Rainbow',
470
- 'Overlock',
471
- 'Overlock SC',
472
- 'Ovo',
473
- 'Oxygen',
474
- 'Oxygen Mono',
475
- 'PT Mono',
476
- 'PT Sans',
477
- 'PT Sans Caption',
478
- 'PT Sans Narrow',
479
- 'PT Serif',
480
- 'PT Serif Caption',
481
- 'Pacifico',
482
- 'Paprika',
483
- 'Parisienne',
484
- 'Passero One',
485
- 'Passion One',
486
- 'Pathway Gothic One',
487
- 'Patrick Hand',
488
- 'Patrick Hand SC',
489
- 'Patua One',
490
- 'Paytone One',
491
- 'Peralta',
492
- 'Permanent Marker',
493
- 'Petit Formal Script',
494
- 'Petrona',
495
- 'Philosopher',
496
- 'Piedra',
497
- 'Pinyon Script',
498
- 'Pirata One',
499
- 'Plaster',
500
- 'Play',
501
- 'Playball',
502
- 'Playfair Display',
503
- 'Playfair Display SC',
504
- 'Podkova',
505
- 'Poiret One',
506
- 'Poller One',
507
- 'Poly',
508
- 'Pompiere',
509
- 'Pontano Sans',
510
- 'Port Lligat Sans',
511
- 'Port Lligat Slab',
512
- 'Prata',
513
- 'Preahvihear',
514
- 'Press Start 2P',
515
- 'Princess Sofia',
516
- 'Prociono',
517
- 'Prosto One',
518
- 'Puritan',
519
- 'Purple Purse',
520
- 'Quando',
521
- 'Quantico',
522
- 'Quattrocento',
523
- 'Quattrocento Sans',
524
- 'Questrial',
525
- 'Quicksand',
526
- 'Quintessential',
527
- 'Qwigley',
528
- 'Racing Sans One',
529
- 'Radley',
530
- 'Rajdhani',
531
- 'Raleway',
532
- 'Raleway Dots',
533
- 'Rambla',
534
- 'Rammetto One',
535
- 'Ranchers',
536
- 'Rancho',
537
- 'Rationale',
538
- 'Redressed',
539
- 'Reenie Beanie',
540
- 'Revalia',
541
- 'Ribeye',
542
- 'Ribeye Marrow',
543
- 'Righteous',
544
- 'Risque',
545
- 'Roboto',
546
- 'Roboto Condensed',
547
- 'Roboto Slab',
548
- 'Rochester',
549
- 'Rock Salt',
550
- 'Rokkitt',
551
- 'Romanesco',
552
- 'Ropa Sans',
553
- 'Rosario',
554
- 'Rosarivo',
555
- 'Rouge Script',
556
- 'Rubik Mono One',
557
- 'Rubik One',
558
- 'Ruda',
559
- 'Rufina',
560
- 'Ruge Boogie',
561
- 'Ruluko',
562
- 'Rum Raisin',
563
- 'Ruslan Display',
564
- 'Russo One',
565
- 'Ruthie',
566
- 'Rye',
567
- 'Sacramento',
568
- 'Sail',
569
- 'Salsa',
570
- 'Sanchez',
571
- 'Sancreek',
572
- 'Sansita One',
573
- 'Sarina',
574
- 'Satisfy',
575
- 'Scada',
576
- 'Schoolbell',
577
- 'Seaweed Script',
578
- 'Sevillana',
579
- 'Seymour One',
580
- 'Shadows Into Light',
581
- 'Shadows Into Light Two',
582
- 'Shanti',
583
- 'Share',
584
- 'Share Tech',
585
- 'Share Tech Mono',
586
- 'Shojumaru',
587
- 'Short Stack',
588
- 'Siemreap',
589
- 'Sigmar One',
590
- 'Signika',
591
- 'Signika Negative',
592
- 'Simonetta',
593
- 'Sintony',
594
- 'Sirin Stencil',
595
- 'Six Caps',
596
- 'Skranji',
597
- 'Slabo 13px',
598
- 'Slabo 27px',
599
- 'Slackey',
600
- 'Smokum',
601
- 'Smythe',
602
- 'Sniglet',
603
- 'Snippet',
604
- 'Snowburst One',
605
- 'Sofadi One',
606
- 'Sofia',
607
- 'Sonsie One',
608
- 'Sorts Mill Goudy',
609
- 'Source Code Pro',
610
- 'Source Sans Pro',
611
- 'Source Serif Pro',
612
- 'Special Elite',
613
- 'Spicy Rice',
614
- 'Spinnaker',
615
- 'Spirax',
616
- 'Squada One',
617
- 'Stalemate',
618
- 'Stalinist One',
619
- 'Stardos Stencil',
620
- 'Stint Ultra Condensed',
621
- 'Stint Ultra Expanded',
622
- 'Stoke',
623
- 'Strait',
624
- 'Sue Ellen Francisco',
625
- 'Sunshiney',
626
- 'Supermercado One',
627
- 'Suwannaphum',
628
- 'Swanky and Moo Moo',
629
- 'Syncopate',
630
- 'Tangerine',
631
- 'Taprom',
632
- 'Tauri',
633
- 'Teko',
634
- 'Telex',
635
- 'Tenor Sans',
636
- 'Text Me One',
637
- 'The Girl Next Door',
638
- 'Tienne',
639
- 'Tinos',
640
- 'Titan One',
641
- 'Titillium Web',
642
- 'Trade Winds',
643
- 'Trocchi',
644
- 'Trochut',
645
- 'Trykker',
646
- 'Tulpen One',
647
- 'Ubuntu',
648
- 'Ubuntu Condensed',
649
- 'Ubuntu Mono',
650
- 'Ultra',
651
- 'Uncial Antiqua',
652
- 'Underdog',
653
- 'Unica One',
654
- 'UnifrakturCook',
655
- 'UnifrakturMaguntia',
656
- 'Unkempt',
657
- 'Unlock',
658
- 'Unna',
659
- 'VT323',
660
- 'Vampiro One',
661
- 'Varela',
662
- 'Varela Round',
663
- 'Vast Shadow',
664
- 'Vibur',
665
- 'Vidaloka',
666
- 'Viga',
667
- 'Voces',
668
- 'Volkhov',
669
- 'Vollkorn',
670
- 'Voltaire',
671
- 'Waiting for the Sunrise',
672
- 'Wallpoet',
673
- 'Walter Turncoat',
674
- 'Warnes',
675
- 'Wellfleet',
676
- 'Wendy One',
677
- 'Wire One',
678
- 'Yanone Kaffeesatz',
679
- 'Yellowtail',
680
- 'Yeseva One',
681
- 'Yesteryear',
682
- 'Zeyada'
683
- );
684
-
685
-
686
- /*----------------------------------------------------------------------------------------------------------
687
- Google fonts subsets
688
- -----------------------------------------------------------------------------------------------------------*/
689
-
690
- $sabox_google_subset = array(
691
- 'None',
692
- 'latin',
693
- 'latin-ext',
694
- 'cyrillic',
695
- 'cyrillic-ext',
696
- 'devanagari',
697
- 'greek',
698
- 'greek-ext',
699
- 'vietnamese',
700
- 'khmer'
701
- );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
core/sabox_author_box.php DELETED
@@ -1,129 +0,0 @@
1
- <?php
2
-
3
- // If this file is called directly, busted!
4
- if( !defined( 'ABSPATH' ) ) {
5
- exit;
6
- }
7
-
8
- /*----------------------------------------------------------------------------------------------------------
9
- Adding the author box to the end of your single post
10
- -----------------------------------------------------------------------------------------------------------*/
11
-
12
- if( !function_exists( 'wpsabox_author_box' ) ) {
13
-
14
-
15
- function wpsabox_author_box( $saboxmeta = null ) {
16
-
17
- if ( is_single() or is_author() or is_archive() ) {
18
-
19
- global $post;
20
- global $options;
21
-
22
- $author_id = $post->post_author;
23
-
24
- if( isset( $options['sab_colored'] ) ) {
25
- $sabox_color = 'sabox-colored';
26
- } else {
27
- $sabox_color = '';
28
- }
29
-
30
- if( isset( $options['sab_web_position'] ) ) {
31
- $sab_web_align = 'sab-web-position';
32
- } else {
33
- $sab_web_align = '';
34
- }
35
-
36
- if( isset( $options['sab_web_target'] ) ) {
37
- $sab_web_target = '_blank';
38
- } else {
39
- $sab_web_target = '_self';
40
- }
41
-
42
- if( isset( $options['sab_web_rel'] ) ) {
43
- $sab_web_rel = 'rel="nofollow"';
44
- } else {
45
- $sab_web_rel = '';
46
- }
47
-
48
-
49
- if( get_the_author_meta( 'description' ) != '' || !isset( $options['sab_no_description'] ) ) { // hide the author box if no description is provided
50
-
51
- $saboxmeta .= '<div class="saboxplugin-wrap">'; // start saboxplugin-wrap div
52
-
53
- // author box gravatar
54
- $saboxmeta .= '<div class="saboxplugin-gravatar">';
55
- $saboxmeta .= get_avatar( get_the_author_meta( 'user_email', $author_id ), '100' );
56
- $saboxmeta .= '</div>';
57
-
58
- // author box name
59
- $saboxmeta .= '<div class="saboxplugin-authorname">';
60
- $saboxmeta .= '<a href="' . get_author_posts_url( $author_id ) . '">' . get_the_author_meta( 'display_name', $author_id ) . '</a>';
61
- $saboxmeta .= '</div>';
62
-
63
-
64
- // author box description
65
- $saboxmeta .= '<div class="saboxplugin-desc">';
66
- $saboxmeta .= '<div class="vcard author"><span class="fn">';
67
- $saboxmeta .= get_the_author_meta( 'description', $author_id );
68
- $saboxmeta .= '</span></div>';
69
- $saboxmeta .= '</div>';
70
-
71
- if ( is_single() ) {
72
- if( get_the_author_meta( 'user_url' ) != '' and isset( $options['sab_web'] ) ) { // author website on single
73
- $saboxmeta .= '<div class="saboxplugin-web '. $sab_web_align .'">';
74
- $saboxmeta .= '<a href="' . get_the_author_meta( 'user_url', $author_id ) . '" target="' . $sab_web_target . '" ' . $sab_web_rel . '>' . get_the_author_meta( 'user_url', $author_id ) . '</a>';
75
- $saboxmeta .= '</div>';
76
- }
77
- }
78
-
79
-
80
- if ( is_author() or is_archive() ) {
81
- if( get_the_author_meta( 'user_url' ) != '' ) { // force show author website on author.php or archive.php
82
- $saboxmeta .= '<div class="saboxplugin-web '. $sab_web_align .'">';
83
- $saboxmeta .= '<a href="' . get_the_author_meta( 'user_url', $author_id ) . '" target="' . $sab_web_target . '" ' . $sab_web_rel . '>' . get_the_author_meta( 'user_url', $author_id ) . '</a>';
84
- $saboxmeta .= '</div>';
85
- }
86
- }
87
-
88
-
89
-
90
- // author box clearfix
91
- $saboxmeta .= '<div class="clearfix"></div>';
92
-
93
- // author box social icons
94
-
95
- if( !isset( $options['sab_hide_socials'] ) ) { // hide social icons div option
96
- $saboxmeta .= '<div class="saboxplugin-socials ' . $sabox_color . '">';
97
-
98
- foreach ( Sabox_Social_Icons::$sabox_social_icons_array as $sabox_social_id => $sabox_social_name ) {
99
-
100
- $sabox_author_fields = get_the_author_meta( $sabox_social_id );
101
-
102
- if ( !empty( $sabox_author_fields ) ) {
103
- $saboxmeta .= Sabox_Social_Icons::get_sabox_social_icon( $sabox_author_fields, $sabox_social_id );
104
- }
105
- }
106
-
107
- $saboxmeta .= '</div>';
108
- } // end of social icons
109
- $saboxmeta .= '</div>'; // end of saboxplugin-wrap div
110
-
111
- }
112
- }
113
- return $saboxmeta;
114
- }
115
-
116
- }
117
-
118
-
119
- function saboxplugin_position() {
120
-
121
- global $options;
122
-
123
- if( !isset( $options['sab_autoinsert'] ) ) {
124
- add_filter ( 'the_content', 'wpsabox_author_box');
125
- }
126
-
127
- }
128
-
129
- echo saboxplugin_position();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
core/sabox_social_icons.php DELETED
@@ -1,90 +0,0 @@
1
- <?php
2
-
3
- // If this file is called directly, busted!
4
- if ( ! defined( 'ABSPATH' ) ) {
5
- exit;
6
- }
7
-
8
- /*----------------------------------------------------------------------------------------------------------
9
- Social service names
10
- -----------------------------------------------------------------------------------------------------------*/
11
-
12
- class Sabox_Social_Icons {
13
-
14
- static $sabox_social_icons_array = array(
15
- 'addthis' => 'Add This',
16
- 'behance' => 'Behance',
17
- 'delicious' => 'Delicious',
18
- 'deviantart' => 'Deviantart',
19
- 'digg' => 'Digg',
20
- 'dribbble' => 'Dribbble',
21
- 'facebook' => 'Facebook',
22
- 'flickr' => 'Flickr',
23
- 'github' => 'Github',
24
- 'google' => 'Google',
25
- 'googleplus' => 'Google Plus',
26
- 'html5' => 'Html5',
27
- 'instagram' => 'Instagram',
28
- 'linkedin' => 'Linkedin',
29
- 'pinterest' => 'Pinterest',
30
- 'reddit' => 'Reddit',
31
- 'rss' => 'Rss',
32
- 'sharethis' => 'Sharethis',
33
- 'skype' => 'Skype',
34
- 'soundcloud' => 'Soundcloud',
35
- 'spotify' => 'Spotify',
36
- 'stackoverflow' => 'Stackoverflow',
37
- 'steam' => 'Steam',
38
- 'stumbleUpon' => 'StumbleUpon',
39
- 'tumblr' => 'Tumblr',
40
- 'twitter' => 'Twitter',
41
- 'vimeo' => 'Vimeo',
42
- 'windows' => 'Windows',
43
- 'wordpress' => 'Wordpress',
44
- 'yahoo' => 'Yahoo',
45
- 'youtube' => 'Youtube',
46
- 'xing' => 'Xing',
47
- 'mixcloud' => 'MixCloud',
48
- 'goodreads' => 'Goodreads',
49
- );
50
-
51
- static function get_sabox_social_icon( $url, $icon_name ) {
52
-
53
- global $options;
54
-
55
- if ( isset( $options['sab_link_target'] ) ) {
56
- $sabox_blank = '_blank';
57
- } else {
58
- $sabox_blank = '_self';
59
- }
60
-
61
- if ( isset( $options['sab_colored'] ) ) {
62
- $sab_color = 'saboxplugin-icon-color';
63
- } else {
64
- $sab_color = 'saboxplugin-icon-grey';
65
- }
66
-
67
- return '<a target="' . $sabox_blank . '" href="' . $url . '"><span class="' . $sab_color . ' saboxplugin-icon-' . $icon_name . '"></span></a>';
68
-
69
- }
70
-
71
- }
72
-
73
- /*----------------------------------------------------------------------------------------------------------
74
- Adding new social profile fields to the user profile editor
75
- -----------------------------------------------------------------------------------------------------------*/
76
-
77
- function sabox_extra_fields( $extra_fields ) {
78
-
79
- unset( $extra_fields['aim'] );
80
- unset( $extra_fields['jabber'] );
81
- unset( $extra_fields['yim'] );
82
-
83
- foreach ( Sabox_Social_Icons::$sabox_social_icons_array as $sabox_social_id => $sabox_social_name ) {
84
- $extra_fields[ $sabox_social_id ] = $sabox_social_name;
85
- }
86
-
87
- return $extra_fields;
88
- }
89
-
90
- add_filter( 'user_contactmethods', 'sabox_extra_fields' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
css/dev/sabox-admin-style.css DELETED
@@ -1,512 +0,0 @@
1
- /* ADMIN PLUGIN STYLE
2
- -------------------------------------------------------------- */
3
- .wrap .saboxplugin {
4
- max-width: 960px;
5
- }
6
-
7
- .wrap .saboxplugin p.description {
8
- margin: 20px 0px 5px;
9
- }
10
-
11
- .wrap .saboxplugin ::-moz-selection {
12
- background: #80828F;
13
- color: #fff;
14
- }
15
-
16
- .wrap .saboxplugin ::selection {
17
- background: #80828F;
18
- color: #fff;
19
- }
20
-
21
- .wrap .saboxplugin #saboxplugin-hide {
22
- border-top: 1px dashed #E1E1E1;
23
- margin: 1.5em 0;
24
- display: none;
25
- }
26
-
27
- .wrap .saboxplugin .saboxplugin-border {
28
- border-bottom: 1px dashed #E1E1E1;
29
- margin: 2em 0;
30
- }
31
-
32
- /* UI SLIDE OVERWRITE
33
- -------------------------------------------------------------- */
34
- .wrap .saboxplugin .sabox-inline-slide .sabox-amount,
35
- .wrap .saboxplugin .sabox-inline-slide .sabox-amount2,
36
- .wrap .saboxplugin .sabox-inline-slide .sabox-amount3,
37
- .wrap .saboxplugin .sabox-inline-slide .sabox-amount4,
38
- .wrap .saboxplugin .sabox-inline-slide .sabox-amount5,
39
- .wrap .saboxplugin .sabox-inline-slide .sabox-amount6 {
40
- background-color: transparent;
41
- border: medium none;
42
- -webkit-box-shadow: none;
43
- -moz-box-shadow: none;
44
- box-shadow: none;
45
- font-size: 24px;
46
- color: #666666;
47
- }
48
-
49
- .wrap .saboxplugin .sabox-inline-slide .sabox-slider,
50
- .wrap .saboxplugin .sabox-inline-slide .sabox-slider2,
51
- .wrap .saboxplugin .sabox-inline-slide .sabox-slider3,
52
- .wrap .saboxplugin .sabox-inline-slide .sabox-slider4,
53
- .wrap .saboxplugin .sabox-inline-slide .sabox-slider5,
54
- .wrap .saboxplugin .sabox-inline-slide .sabox-slider6 {
55
- width: 40%;
56
- margin: 20px 0;
57
- }
58
-
59
- .wrap .saboxplugin .sabox-inline-slide .ui-state-default,
60
- .wrap .saboxplugin .sabox-inline-slide .ui-widget-content .ui-state-default,
61
- .wrap .saboxplugin .sabox-inline-slide .ui-widget-header .ui-state-default {
62
- border: 1px solid #73C77B;
63
- background-color: #8CE196;
64
- font-weight: 400;
65
- color: #555;
66
- outline: 0 none;
67
- cursor: pointer;
68
- }
69
-
70
- .wrap .saboxplugin .sabox-inline-slide .ui-state-default:before,
71
- .wrap .saboxplugin .sabox-inline-slide .ui-widget-content .ui-state-default:before,
72
- .wrap .saboxplugin .sabox-inline-slide .ui-widget-header .ui-state-default:before {
73
- content: "\2630";
74
- display: inline-block;
75
- -webkit-font-smoothing: antialiased;
76
- color: #fff;
77
- font-weight: 700;
78
- text-shadow: 0 1px #73C77B;
79
- line-height: 1.8;
80
- }
81
-
82
- .wrap .saboxplugin .sabox-inline-slide .ui-state-default a,
83
- .wrap .saboxplugin .sabox-inline-slide .ui-state-default a:link,
84
- .wrap .saboxplugin .sabox-inline-slide .ui-state-default a:visited {
85
- color: #fff;
86
- text-decoration: none;
87
- }
88
-
89
- .wrap .saboxplugin .sabox-inline-slide .ui-state-focus,
90
- .wrap .saboxplugin .sabox-inline-slide .ui-state-hover,
91
- .wrap .saboxplugin .sabox-inline-slide .ui-widget-content .ui-state-focus,
92
- .wrap .saboxplugin .sabox-inline-slide .ui-widget-content .ui-state-hover,
93
- .wrap .saboxplugin .sabox-inline-slide .ui-widget-header .ui-state-focus,
94
- .wrap .saboxplugin .sabox-inline-slide .ui-widget-header .ui-state-hover {
95
- background: #9BEBA3;
96
- }
97
-
98
- .wrap .saboxplugin .sabox-inline-slide .ui-corner-all,
99
- .wrap .saboxplugin .sabox-inline-slide .ui-corner-top,
100
- .wrap .saboxplugin .sabox-inline-slide .ui-corner-left,
101
- .wrap .saboxplugin .sabox-inline-slide .ui-corner-tl {
102
- border-top-left-radius: 0;
103
- }
104
-
105
- .wrap .saboxplugin .sabox-inline-slide .ui-corner-all,
106
- .wrap .saboxplugin .sabox-inline-slide .ui-corner-top,
107
- .wrap .saboxplugin .sabox-inline-slide .ui-corner-right,
108
- .wrap .saboxplugin .sabox-inline-slide .ui-corner-tr {
109
- border-top-right-radius: 0;
110
- }
111
-
112
- .wrap .saboxplugin .sabox-inline-slide .ui-corner-bottom,
113
- .wrap .saboxplugin .sabox-inline-slide .ui-corner-left,
114
- .wrap .saboxplugin .sabox-inline-slide .ui-corner-bl {
115
- border-bottom-left-radius: 0;
116
- }
117
-
118
- .wrap .saboxplugin .sabox-inline-slide .ui-corner-all,
119
- .wrap .saboxplugin .sabox-inline-slide .ui-corner-bottom,
120
- .wrap .saboxplugin .sabox-inline-slide .ui-corner-right,
121
- .wrap .saboxplugin .sabox-inline-slide .ui-corner-br {
122
- border-bottom-right-radius: 0;
123
- }
124
-
125
- .wrap .saboxplugin .sabox-inline-slide .ui-corner-all,
126
- .wrap .saboxplugin .sabox-inline-slide .ui-corner-bottom,
127
- .wrap .saboxplugin .sabox-inline-slide .ui-corner-left,
128
- .wrap .saboxplugin .sabox-inline-slide .ui-corner-bl {
129
- border-bottom-left-radius: 0;
130
- }
131
-
132
- .wrap .saboxplugin .sabox-inline-slide .ui-slider-horizontal {
133
- height: 1.3em;
134
- }
135
-
136
- .wrap .saboxplugin .sabox-inline-slide .ui-slider .ui-slider-handle {
137
- width: 1.8em;
138
- height: 1.8em;
139
- cursor: pointer;
140
- text-align: center;
141
- }
142
-
143
- .wrap .saboxplugin .sabox-inline-slide .ui-widget-content {
144
- -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
145
- -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
146
- box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
147
- border: 1px solid #B2BFCA;
148
- background: #F1F2F7;
149
- color: #222
150
- }
151
-
152
- /* COLOR PICKER OVERWRITE
153
- -------------------------------------------------------------- */
154
- .wrap .saboxplugin .wp-color-result:after, .wp-color-result {
155
- border-radius: 0;
156
- -webkit-box-shadow: none !important;
157
- -moz-box-shadow: none !important;
158
- box-shadow: none !important;
159
- outline: 0;
160
- }
161
-
162
- .wrap .saboxplugin .wp-color-result:after {
163
- font-size: 12px;
164
- border-left: 1px solid #D3D6DB;
165
- line-height: 42px;
166
- padding: 0px 7.5px;
167
- }
168
-
169
- .wrap .saboxplugin .wp-color-result {
170
- border: 1px solid #D3D6DB;
171
- height: 42px;
172
- padding-left: 40px;
173
- outline: 0 none;
174
- background-color: #D3D6DB;
175
- }
176
-
177
- .wrap .saboxplugin .wp-color-result:hover:after {
178
- border-color: #AFAEAE;
179
- border-left: 1px solid #D3D6DB;
180
- }
181
-
182
- .wrap .saboxplugin .wp-picker-container .button {
183
- color: #FFF;
184
- background-color: #80828F;
185
- border: medium none;
186
- height: 44px;
187
- -webkit-box-shadow: none;
188
- -moz-box-shadow: none;
189
- box-shadow: none;
190
- border-radius: 0;
191
- padding: 0 15px 1px;
192
- }
193
-
194
- .wrap .saboxplugin .wp-picker-container input.wp-color-picker[type="text"] {
195
- height: 44px;
196
- }
197
-
198
- .wrap .saboxplugin .saboxplugin-icon:before {
199
- content: "\f336";
200
- display: inline-block;
201
- -webkit-font-smoothing: antialiased;
202
- font: 50px/0.6 "dashicons";
203
- vertical-align: middle;
204
- color: #FA5148;
205
- padding-right: 5px;
206
- }
207
-
208
- .wrap .saboxplugin textarea[name=saboxplugin] {
209
- resize: none;
210
- border: medium none;
211
- background-color: #FFF;
212
- -webkit-box-shadow: none;
213
- -moz-box-shadow: none;
214
- box-shadow: none;
215
- color: #777;
216
- padding: 0px;
217
- font-size: 13px;
218
- line-height: 1.4;
219
- overflow: hidden;
220
- width: 99%;
221
- }
222
-
223
- .wrap .saboxplugin .saboxplugin-question {
224
- display: inline-block;
225
- vertical-align: middle;
226
- padding: 10px 0;
227
- margin-right: 40px;
228
- color: #666666;
229
- width: 100%;
230
- max-width: 700px;
231
- min-width: 247px;
232
- line-height: 1.6;
233
- font-size: 18px;
234
- }
235
-
236
- .wrap .saboxplugin .saboxplugin-switch {
237
- display: inline-block;
238
- vertical-align: top;
239
- padding: 10px 0;
240
- }
241
-
242
- .wrap .saboxplugin .sab-toggle {
243
- position: absolute;
244
- margin-left: -9999px;
245
- visibility: hidden;
246
- }
247
-
248
- .wrap .saboxplugin .sab-toggle + label {
249
- display: block;
250
- position: relative;
251
- cursor: pointer;
252
- outline: none;
253
- user-select: none;
254
- }
255
-
256
- .wrap .saboxplugin input.sab-toggle-yes-no + label {
257
- padding: 2px;
258
- width: 120px;
259
- height: 40px;
260
- }
261
-
262
- .wrap .saboxplugin input.sab-toggle-yes-no + label:before,
263
- .wrap .saboxplugin input.sab-toggle-yes-no + label:after {
264
- display: block;
265
- position: absolute;
266
- top: 0;
267
- left: 0;
268
- bottom: 0;
269
- right: 0;
270
- color: #fff;
271
- font-family: "Open Sans", serif;
272
- font-size: 20px;
273
- text-align: center;
274
- line-height: 42px;
275
- }
276
-
277
- .wrap .saboxplugin input.sab-toggle-yes-no + label:before {
278
- background-color: #D3D6DB;
279
- content: attr(data-off);
280
- transition: transform 0.5s;
281
- backface-visibility: hidden;
282
- -webkit-backface-visibility: hidden;
283
- }
284
-
285
- .wrap .saboxplugin input.sab-toggle-yes-no + label:after {
286
- background-color: #8CE196;
287
- content: attr(data-on);
288
- transition: transform 0.5s;
289
- transform: rotateY(180deg);
290
- backface-visibility: hidden;
291
- -webkit-backface-visibility: hidden;
292
- }
293
-
294
- .wrap .saboxplugin input.sab-toggle-yes-no:checked + label:before {
295
- transform: rotateY(180deg);
296
- }
297
-
298
- .wrap .saboxplugin input.sab-toggle-yes-no:checked + label:after {
299
- transform: rotateY(0);
300
- }
301
-
302
- .wrap .saboxplugin .sab-title-div {
303
- height: 50px;
304
- clear: both;
305
- }
306
-
307
- .wrap .saboxplugin .sab-title-div .sab-title {
308
- font-size: 18px;
309
- line-height: 26px;
310
- padding-top: 16px;
311
- padding-right: 15px;
312
- display: block;
313
- float: left;
314
- }
315
-
316
- .wrap .saboxplugin .sab-box {
317
- background: #fff;
318
- border: 1px solid #E5E5E5;
319
- box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
320
- padding: 15px;
321
- margin-top: 40px;
322
- position: relative;
323
- overflow: hidden;
324
- }
325
-
326
- .wrap .saboxplugin .sab-box p {
327
- margin: 5px 0 5px 70px;
328
- color: #777;
329
- }
330
-
331
- .wrap .saboxplugin .sab-box-legend, .wrap .saboxplugin .sab-box-version {
332
- position: absolute;
333
- left: 0;
334
- top: 0;
335
- height: 100%;
336
- }
337
-
338
- .wrap .saboxplugin .sab-box-version {
339
- background: none repeat scroll 0% 0% #80828F;
340
- padding: 10px 15px;
341
- }
342
-
343
- .wrap .saboxplugin .sab-icon-help, .wrap .saboxplugin .sab-icon-version {
344
- color: #FFF;
345
- font-size: 25px;
346
- }
347
-
348
- .wrap .saboxplugin .sab-infos {
349
- display: block;
350
- margin: 0 auto;
351
- padding-left: 70px;
352
- font-weight: 700;
353
- color: #777;
354
- }
355
-
356
- .wrap .saboxplugin .sab-infos span {
357
- color: #777;
358
- font-weight: 400;
359
- }
360
-
361
- .wrap .saboxplugin .sab-infos-title {
362
- font-weight: 700;
363
- color: #777;
364
- }
365
-
366
- .wrap .saboxplugin .sab-icon-version:before {
367
- content: "\f348";
368
- display: inline-block;
369
- -webkit-font-smoothing: antialiased;
370
- font: normal 30px/1.5 'dashicons';
371
- vertical-align: top;
372
- }
373
-
374
- .clearfix:after,
375
- .clearfix:before {
376
- content: ' ';
377
- display: table;
378
- line-height: 0;
379
- clear: both;
380
- }
381
-
382
- .ie7 .clearfix {
383
- zoom: 1;
384
- }
385
-
386
- /* MEDIA QUERIES
387
- -------------------------------------------------------------- */
388
- @media (min-width: 900px) and (max-width: 1199px) {
389
-
390
- .wrap .saboxplugin .saboxplugin-question {
391
- max-width: 480px;
392
- font-size: 20px;
393
- }
394
-
395
- .wrap .saboxplugin .sabox-inline-slide .sabox-amount,
396
- .wrap .saboxplugin .sabox-inline-slide .sabox-amount2,
397
- .wrap .saboxplugin .sabox-inline-slide .sabox-amount3,
398
- .wrap .saboxplugin .sabox-inline-slide .sabox-amount4 {
399
- font-size: 20px;
400
- }
401
-
402
- .wrap .saboxplugin .postbox .inside {
403
- padding: 0px 20px 12px;
404
- }
405
-
406
- .wrap .saboxplugin .meta-box-sortables .postbox .handlediv:before {
407
- right: 40px;
408
- }
409
-
410
- }
411
-
412
- @media screen and (max-width: 899px) {
413
-
414
- .wrap .saboxplugin .saboxplugin-question {
415
- max-width: 390px;
416
- font-size: 18px;
417
- line-height: 2;
418
- }
419
-
420
- .wrap .saboxplugin .sabox-inline-slide .sabox-amount,
421
- .wrap .saboxplugin .sabox-inline-slide .sabox-amount2,
422
- .wrap .saboxplugin .sabox-inline-slide .sabox-amount3,
423
- .wrap .saboxplugin .sabox-inline-slide .sabox-amount4 {
424
- font-size: 18px;
425
- }
426
-
427
- .wrap .saboxplugin .saboxplugin-question {
428
- max-width: 1000px;
429
- text-align: left;
430
- min-width: 100px;
431
- }
432
-
433
- .wrap .saboxplugin .saboxplugin-switch {
434
- display: block;
435
- }
436
-
437
- .wrap .saboxplugin input.sab-toggle-yes-no + label {
438
- width: auto;
439
- }
440
-
441
- .wrap .saboxplugin textarea[name="saboxplugin"] {
442
- width: 100%;
443
- height: 60px;
444
- text-align: center;
445
- }
446
-
447
- .wrap .saboxplugin p.description {
448
- text-align: center;
449
- }
450
-
451
- .wrap .saboxplugin .postbox .inside {
452
- padding: 0px 20px 12px;
453
- }
454
-
455
- .wrap .saboxplugin .sabox-inline-slide .ui-widget-content {
456
- width: 100%;
457
- }
458
-
459
- }
460
-
461
- @media screen and (max-width: 783px) {
462
-
463
- .wrap .saboxplugin .saboxplugin-icon:before {
464
- font: 40px/0.8 "dashicons";
465
- }
466
-
467
- .wp-core-ui .button {
468
- padding: 0 14px;
469
- }
470
-
471
- .wrap .saboxplugin #poststuff .inside {
472
- margin: 0;
473
- }
474
-
475
- .wrap .saboxplugin .meta-box-sortables .postbox .handlediv:before {
476
- right: 12px;
477
- font: 400 20px/1.2 'dashicons';
478
- padding: 8px 10px;
479
- }
480
-
481
- .wrap .saboxplugin .sabox-inline-slide .sabox-amount,
482
- .wrap .saboxplugin .sabox-inline-slide .sabox-amount2,
483
- .wrap .saboxplugin .sabox-inline-slide .sabox-amount3,
484
- .wrap .saboxplugin .sabox-inline-slide .sabox-amount4 {
485
- vertical-align: baseline;
486
- }
487
-
488
- }
489
-
490
- @media screen and (max-width: 600px) {
491
-
492
- .wrap .saboxplugin .saboxplugin-question {
493
- text-align: center;
494
- line-height: 1.2;
495
- }
496
-
497
- .wrap .saboxplugin .saboxplugin-switch {
498
- text-align: center;
499
- }
500
-
501
- .wrap .saboxplugin .saboxplugin-border {
502
- margin: 0;
503
- }
504
-
505
- .wrap .saboxplugin .sabox-inline-slide .sabox-amount,
506
- .wrap .saboxplugin .sabox-inline-slide .sabox-amount2,
507
- .wrap .saboxplugin .sabox-inline-slide .sabox-amount3,
508
- .wrap .saboxplugin .sabox-inline-slide .sabox-amount4 {
509
- text-align: center;
510
- }
511
-
512
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
css/sabox-admin-style.min.css DELETED
@@ -1 +0,0 @@
1
- .wrap .saboxplugin{max-width:960px}.wrap .saboxplugin p.description{margin:20px 0 5px}.wrap .saboxplugin ::-moz-selection{background:#80828F;color:#fff}.wrap .saboxplugin ::selection{background:#80828F;color:#fff}.wrap .saboxplugin #saboxplugin-hide{border-top:1px dashed #E1E1E1;margin:1.5em 0;display:none}.wrap .saboxplugin .saboxplugin-border{border-bottom:1px dashed #E1E1E1;margin:2em 0}.wrap .saboxplugin .sabox-inline-slide .sabox-amount,.wrap .saboxplugin .sabox-inline-slide .sabox-amount2,.wrap .saboxplugin .sabox-inline-slide .sabox-amount3,.wrap .saboxplugin .sabox-inline-slide .sabox-amount4,.wrap .saboxplugin .sabox-inline-slide .sabox-amount5,.wrap .saboxplugin .sabox-inline-slide .sabox-amount6{background-color:transparent;border:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;font-size:24px;color:#666}.wrap .saboxplugin .sabox-inline-slide .sabox-slider,.wrap .saboxplugin .sabox-inline-slide .sabox-slider2,.wrap .saboxplugin .sabox-inline-slide .sabox-slider3,.wrap .saboxplugin .sabox-inline-slide .sabox-slider4,.wrap .saboxplugin .sabox-inline-slide .sabox-slider5,.wrap .saboxplugin .sabox-inline-slide .sabox-slider6{width:40%;margin:20px 0}.wrap .saboxplugin .sabox-inline-slide .ui-state-default,.wrap .saboxplugin .sabox-inline-slide .ui-widget-content .ui-state-default,.wrap .saboxplugin .sabox-inline-slide .ui-widget-header .ui-state-default{border:1px solid #73C77B;background-color:#8CE196;font-weight:400;color:#555;outline:0;cursor:pointer}.wrap .saboxplugin .sabox-inline-slide .ui-corner-all,.wrap .saboxplugin .sabox-inline-slide .ui-corner-bl,.wrap .saboxplugin .sabox-inline-slide .ui-corner-bottom,.wrap .saboxplugin .sabox-inline-slide .ui-corner-left{border-bottom-left-radius:0}.wrap .saboxplugin .sabox-inline-slide .ui-state-default:before,.wrap .saboxplugin .sabox-inline-slide .ui-widget-content .ui-state-default:before,.wrap .saboxplugin .sabox-inline-slide .ui-widget-header .ui-state-default:before{content:"\2630";display:inline-block;-webkit-font-smoothing:antialiased;color:#fff;font-weight:700;text-shadow:0 1px #73C77B;line-height:1.8}.wrap .saboxplugin .sabox-inline-slide .ui-state-default a,.wrap .saboxplugin .sabox-inline-slide .ui-state-default a:link,.wrap .saboxplugin .sabox-inline-slide .ui-state-default a:visited{color:#fff;text-decoration:none}.wrap .saboxplugin .sabox-inline-slide .ui-state-focus,.wrap .saboxplugin .sabox-inline-slide .ui-state-hover,.wrap .saboxplugin .sabox-inline-slide .ui-widget-content .ui-state-focus,.wrap .saboxplugin .sabox-inline-slide .ui-widget-content .ui-state-hover,.wrap .saboxplugin .sabox-inline-slide .ui-widget-header .ui-state-focus,.wrap .saboxplugin .sabox-inline-slide .ui-widget-header .ui-state-hover{background:#9BEBA3}.wrap .saboxplugin .sabox-inline-slide .ui-corner-all,.wrap .saboxplugin .sabox-inline-slide .ui-corner-left,.wrap .saboxplugin .sabox-inline-slide .ui-corner-tl,.wrap .saboxplugin .sabox-inline-slide .ui-corner-top{border-top-left-radius:0}.wrap .saboxplugin .sabox-inline-slide .ui-corner-all,.wrap .saboxplugin .sabox-inline-slide .ui-corner-right,.wrap .saboxplugin .sabox-inline-slide .ui-corner-top,.wrap .saboxplugin .sabox-inline-slide .ui-corner-tr{border-top-right-radius:0}.wrap .saboxplugin .sabox-inline-slide .ui-corner-all,.wrap .saboxplugin .sabox-inline-slide .ui-corner-bottom,.wrap .saboxplugin .sabox-inline-slide .ui-corner-br,.wrap .saboxplugin .sabox-inline-slide .ui-corner-right{border-bottom-right-radius:0}.wrap .saboxplugin .sabox-inline-slide .ui-slider-horizontal{height:1.3em}.wrap .saboxplugin .sabox-inline-slide .ui-slider .ui-slider-handle{width:1.8em;height:1.8em;cursor:pointer;text-align:center}.wrap .saboxplugin .sabox-inline-slide .ui-widget-content{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);border:1px solid #B2BFCA;background:#F1F2F7;color:#222}.wp-color-result,.wrap .saboxplugin .wp-color-result:after{border-radius:0;-webkit-box-shadow:none!important;-moz-box-shadow:none!important;box-shadow:none!important;outline:0}.wrap .saboxplugin .wp-color-result:after{font-size:12px;border-left:1px solid #D3D6DB;line-height:42px;padding:0 7.5px}.wrap .saboxplugin .wp-color-result{border:1px solid #D3D6DB;height:42px;padding-left:40px;outline:0;background-color:#D3D6DB}.wrap .saboxplugin .wp-color-result:hover:after{border-color:#AFAEAE;border-left:1px solid #D3D6DB}.wrap .saboxplugin .wp-picker-container .button{color:#FFF;background-color:#80828F;border:none;height:44px;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;border-radius:0;padding:0 15px 1px}.wrap .saboxplugin .wp-picker-container input.wp-color-picker[type=text]{height:44px}.wrap .saboxplugin .saboxplugin-icon:before{content:"\f336";display:inline-block;-webkit-font-smoothing:antialiased;font:50px/.6 dashicons;vertical-align:middle;color:#FA5148;padding-right:5px}.wrap .saboxplugin textarea[name=saboxplugin]{resize:none;border:none;background-color:#FFF;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;color:#777;padding:0;font-size:13px;line-height:1.4;overflow:hidden;width:99%}.wrap .saboxplugin .saboxplugin-question{display:inline-block;vertical-align:middle;padding:10px 0;margin-right:40px;color:#666;width:100%;max-width:700px;min-width:247px;line-height:1.6;font-size:18px}.wrap .saboxplugin .saboxplugin-switch{display:inline-block;vertical-align:top;padding:10px 0}.wrap .saboxplugin .sab-toggle{position:absolute;margin-left:-9999px;visibility:hidden}.wrap .saboxplugin .sab-toggle+label{display:block;position:relative;cursor:pointer;outline:0;user-select:none}.wrap .saboxplugin input.sab-toggle-yes-no+label{padding:2px;width:120px;height:40px}.wrap .saboxplugin input.sab-toggle-yes-no+label:after,.wrap .saboxplugin input.sab-toggle-yes-no+label:before{display:block;position:absolute;top:0;left:0;bottom:0;right:0;color:#fff;font-family:"Open Sans",serif;font-size:20px;text-align:center;line-height:42px}.wrap .saboxplugin input.sab-toggle-yes-no+label:before{background-color:#D3D6DB;content:attr(data-off);transition:transform .5s;backface-visibility:hidden;-webkit-backface-visibility:hidden}.wrap .saboxplugin input.sab-toggle-yes-no+label:after{background-color:#8CE196;content:attr(data-on);transition:transform .5s;transform:rotateY(180deg);backface-visibility:hidden;-webkit-backface-visibility:hidden}.wrap .saboxplugin input.sab-toggle-yes-no:checked+label:before{transform:rotateY(180deg)}.wrap .saboxplugin input.sab-toggle-yes-no:checked+label:after{transform:rotateY(0)}.wrap .saboxplugin .sab-title-div{height:50px;clear:both}.wrap .saboxplugin .sab-title-div .sab-title{font-size:18px;line-height:26px;padding-top:16px;padding-right:15px;display:block;float:left}.wrap .saboxplugin .sab-box{background:#fff;border:1px solid #E5E5E5;box-shadow:0 1px 1px rgba(0,0,0,.04);padding:15px;margin-top:40px;position:relative;overflow:hidden}.wrap .saboxplugin .sab-box p{margin:5px 0 5px 70px;color:#777}.wrap .saboxplugin .sab-box-legend,.wrap .saboxplugin .sab-box-version{position:absolute;left:0;top:0;height:100%}.wrap .saboxplugin .sab-box-version{background:#80828F;padding:10px 15px}.wrap .saboxplugin .sab-icon-help,.wrap .saboxplugin .sab-icon-version{color:#FFF;font-size:25px}.wrap .saboxplugin .sab-infos{display:block;margin:0 auto;padding-left:70px;font-weight:700;color:#777}.wrap .saboxplugin .sab-infos span{color:#777;font-weight:400}.wrap .saboxplugin .sab-infos-title{font-weight:700;color:#777}.wrap .saboxplugin .sab-icon-version:before{content:"\f348";display:inline-block;-webkit-font-smoothing:antialiased;font:400 30px/1.5 dashicons;vertical-align:top}.clearfix:after,.clearfix:before{content:' ';display:table;line-height:0;clear:both}.ie7 .clearfix{zoom:1}@media (min-width:900px) and (max-width:1199px){.wrap .saboxplugin .saboxplugin-question{max-width:480px;font-size:20px}.wrap .saboxplugin .sabox-inline-slide .sabox-amount,.wrap .saboxplugin .sabox-inline-slide .sabox-amount2,.wrap .saboxplugin .sabox-inline-slide .sabox-amount3,.wrap .saboxplugin .sabox-inline-slide .sabox-amount4{font-size:20px}.wrap .saboxplugin .postbox .inside{padding:0 20px 12px}.wrap .saboxplugin .meta-box-sortables .postbox .handlediv:before{right:40px}}@media screen and (max-width:899px){.wrap .saboxplugin .saboxplugin-question{font-size:18px;line-height:2;max-width:1000px;text-align:left;min-width:100px}.wrap .saboxplugin .sabox-inline-slide .sabox-amount,.wrap .saboxplugin .sabox-inline-slide .sabox-amount2,.wrap .saboxplugin .sabox-inline-slide .sabox-amount3,.wrap .saboxplugin .sabox-inline-slide .sabox-amount4{font-size:18px}.wrap .saboxplugin .saboxplugin-switch{display:block}.wrap .saboxplugin input.sab-toggle-yes-no+label{width:auto}.wrap .saboxplugin textarea[name=saboxplugin]{width:100%;height:60px;text-align:center}.wrap .saboxplugin p.description{text-align:center}.wrap .saboxplugin .postbox .inside{padding:0 20px 12px}.wrap .saboxplugin .sabox-inline-slide .ui-widget-content{width:100%}}@media screen and (max-width:783px){.wrap .saboxplugin .saboxplugin-icon:before{font:40px/.8 dashicons}.wp-core-ui .button{padding:0 14px}.wrap .saboxplugin #poststuff .inside{margin:0}.wrap .saboxplugin .meta-box-sortables .postbox .handlediv:before{right:12px;font:400 20px/1.2 dashicons;padding:8px 10px}.wrap .saboxplugin .sabox-inline-slide .sabox-amount,.wrap .saboxplugin .sabox-inline-slide .sabox-amount2,.wrap .saboxplugin .sabox-inline-slide .sabox-amount3,.wrap .saboxplugin .sabox-inline-slide .sabox-amount4{vertical-align:baseline}}@media screen and (max-width:600px){.wrap .saboxplugin .sabox-inline-slide .sabox-amount,.wrap .saboxplugin .sabox-inline-slide .sabox-amount2,.wrap .saboxplugin .sabox-inline-slide .sabox-amount3,.wrap .saboxplugin .sabox-inline-slide .sabox-amount4,.wrap .saboxplugin .saboxplugin-switch{text-align:center}.wrap .saboxplugin .saboxplugin-question{text-align:center;line-height:1.2}.wrap .saboxplugin .saboxplugin-border{margin:0}}
 
css/simple-author-box.min.css DELETED
@@ -1 +0,0 @@
1
- .saboxplugin-wrap .saboxplugin-authorname a,.saboxplugin-wrap .saboxplugin-desc a,.saboxplugin-wrap .saboxplugin-web a{text-decoration:none}.saboxplugin-wrap{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;border:1px solid #EEE;width:100%;clear:both;display:block;overflow:hidden;word-wrap:break-word}.saboxplugin-wrap .saboxplugin-gravatar{float:left;padding:20px}.saboxplugin-wrap .saboxplugin-authorname{font-size:18px;line-height:1;margin:20px 0 0 20px;display:block}.saboxplugin-wrap .saboxplugin-authorname a:focus{outline:0}.saboxplugin-wrap .saboxplugin-desc{display:block;margin:5px 20px}.saboxplugin-wrap .saboxplugin-desc p{margin:5px 0 12px}.saboxplugin-wrap .saboxplugin-web{margin:0 20px 15px;text-align:left}.saboxplugin-wrap .sab-web-position{text-align:right}.saboxplugin-wrap .saboxplugin-web a{color:#ccc}.saboxplugin-wrap .saboxplugin-socials{position:relative;z-index:50;display:block;background:#FCFCFC;padding:0 15px;-webkit-box-shadow:0 1px 0 0 #eee inset;-moz-box-shadow:0 1px 0 0 #eee inset;box-shadow:0 1px 0 0 #eee inset}.saboxplugin-wrap .saboxplugin-socials a{text-decoration:none;padding:0;margin:0;border:0;-webkit-transition:opacity .4s;-moz-transition:opacity .4s;-o-transition:opacity .4s;transition:opacity .4s}.saboxplugin-wrap .saboxplugin-socials .saboxplugin-icon-color,.saboxplugin-wrap .saboxplugin-socials .saboxplugin-icon-grey{font-family:FontAwesome;font-style:normal;font-weight:400;text-decoration:inherit;position:relative;vertical-align:middle;margin:10px 5px;zoom:1}.saboxplugin-wrap .saboxplugin-socials a:hover{opacity:.8;-webkit-transition:opacity .4s;-moz-transition:opacity .4s;-o-transition:opacity .4s;transition:opacity .4s}.saboxplugin-wrap .saboxplugin-socials .saboxplugin-icon-color:before{display:block;width:30px;height:30px;line-height:33px;text-align:center;speak:none}.saboxplugin-wrap .saboxplugin-socials .saboxplugin-icon-color{font-size:14px;display:-moz-inline-stack;display:inline-block;background-clip:content-box;-moz-background-clip:content-box;-webkit-background-clip:content-box;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;overflow:hidden}.saboxplugin-wrap .saboxplugin-socials .saboxplugin-icon-grey:before{display:block;text-align:center;speak:none;line-height:1}.saboxplugin-wrap .saboxplugin-socials .saboxplugin-icon-grey{font-size:20px;display:-moz-inline-stack;display:inline-block;color:#444}.clearfix:after,.clearfix:before{content:' ';display:table;line-height:0;clear:both}.ie7 .clearfix{zoom:1}.saboxplugin-wrap .saboxplugin-socials.sabox-colored .saboxplugin-icon-color{color:#fff}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-addthis:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-addthis:before{content:'\f067'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-behance:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-behance:before{content:'\f1b4'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-delicious:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-delicious:before{content:'\f1a5'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-deviantart:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-deviantart:before{content:'\f1bd'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-digg:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-digg:before{content:'\f1a6'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-dribbble:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-dribbble:before{content:'\f17d'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-facebook:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-facebook:before{content:'\f09a'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-flickr:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-flickr:before{content:'\f16e'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-github:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-github:before{content:'\f09b'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-google:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-google:before{content:'\f1a0'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-googleplus:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-googleplus:before{content:'\f0d5'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-html5:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-html5:before{content:'\f13b'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-instagram:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-instagram:before{content:'\f16d'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-linkedin:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-linkedin:before{content:'\f0e1'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-pinterest:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-pinterest:before{content:'\f0d2'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-reddit:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-reddit:before{content:'\f1a1'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-rss:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-rss:before{content:'\f09e'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-sharethis:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-sharethis:before{content:'\f1e0'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-skype:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-skype:before{content:'\f17e'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-soundcloud:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-soundcloud:before{content:'\f1be'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-spotify:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-spotify:before{content:'\f1bc'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-stackoverflow:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-stackoverflow:before{content:'\f16c'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-steam:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-steam:before{content:'\f1b6'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-stumbleUpon:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-stumbleUpon:before{content:'\f1a4'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-tumblr:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-tumblr:before{content:'\f173'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-twitter:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-twitter:before{content:'\f099'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-vimeo:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-vimeo:before{content:'\f194'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-windows:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-windows:before{content:'\f17a'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-wordpress:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-wordpress:before{content:'\f19a'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-yahoo:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-yahoo:before{content:'\f19e'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-youtube:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-youtube:before{content:'\f167'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-xing:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-xing:before{content:'\f168'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-mixcloud:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-mixcloud:before{content:'\f289'}.saboxplugin-socials .saboxplugin-icon-color.saboxplugin-icon-goodreads:before,.saboxplugin-socials .saboxplugin-icon-grey.saboxplugin-icon-goodreads:before{content:'\f2a6'}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-addthis{background:#FF8662;border:1px solid #D5644B;text-shadow:#d5644b 1px 1px,#d5644b 2px 2px,#d5644b 3px 3px,#d5644b 4px 4px,#d5644b 5px 5px,#d5644b 6px 6px,#d5644b 7px 7px,#d5644b 8px 8px,#d5644b 9px 9px,#d5644b 10px 10px,#d5644b 11px 11px,#d5644b 12px 12px,#d5644b 13px 13px,#d5644b 14px 14px,#d5644b 15px 15px,#d5644b 16px 16px,#d5644b 17px 17px,#d5644b 18px 18px,#d5644b 19px 19px,#d5644b 20px 20px,#d5644b 21px 21px,#d5644b 22px 22px,#d5644b 23px 23px,#d5644b 24px 24px,#d5644b 25px 25px,#d5644b 26px 26px,#d5644b 27px 27px,#d5644b 28px 28px,#d5644b 29px 29px,#d5644b 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-behance{background:#0294FF;border:1px solid #0083D4;text-shadow:#0083d4 1px 1px,#0083d4 2px 2px,#0083d4 3px 3px,#0083d4 4px 4px,#0083d4 5px 5px,#0083d4 6px 6px,#0083d4 7px 7px,#0083d4 8px 8px,#0083d4 9px 9px,#0083d4 10px 10px,#0083d4 11px 11px,#0083d4 12px 12px,#0083d4 13px 13px,#0083d4 14px 14px,#0083d4 15px 15px,#0083d4 16px 16px,#0083d4 17px 17px,#0083d4 18px 18px,#0083d4 19px 19px,#0083d4 20px 20px,#0083d4 21px 21px,#0083d4 22px 22px,#0083d4 23px 23px,#0083d4 24px 24px,#0083d4 25px 25px,#0083d4 26px 26px,#0083d4 27px 27px,#0083d4 28px 28px,#0083d4 29px 29px,#0083d4 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-delicious{background:#0294FF;border:1px solid #007ECD;text-shadow:#007ecd 1px 1px,#007ecd 2px 2px,#007ecd 3px 3px,#007ecd 4px 4px,#007ecd 5px 5px,#007ecd 6px 6px,#007ecd 7px 7px,#007ecd 8px 8px,#007ecd 9px 9px,#007ecd 10px 10px,#007ecd 11px 11px,#007ecd 12px 12px,#007ecd 13px 13px,#007ecd 14px 14px,#007ecd 15px 15px,#007ecd 16px 16px,#007ecd 17px 17px,#007ecd 18px 18px,#007ecd 19px 19px,#007ecd 20px 20px,#007ecd 21px 21px,#007ecd 22px 22px,#007ecd 23px 23px,#007ecd 24px 24px,#007ecd 25px 25px,#007ecd 26px 26px,#007ecd 27px 27px,#007ecd 28px 28px,#007ecd 29px 29px,#007ecd 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-deviantart{background:#DCE22B;border:1px solid #B2B423;text-shadow:#b2b423 1px 1px,#b2b423 2px 2px,#b2b423 3px 3px,#b2b423 4px 4px,#b2b423 5px 5px,#b2b423 6px 6px,#b2b423 7px 7px,#b2b423 8px 8px,#b2b423 9px 9px,#b2b423 10px 10px,#b2b423 11px 11px,#b2b423 12px 12px,#b2b423 13px 13px,#b2b423 14px 14px,#b2b423 15px 15px,#b2b423 16px 16px,#b2b423 17px 17px,#b2b423 18px 18px,#b2b423 19px 19px,#b2b423 20px 20px,#b2b423 21px 21px,#b2b423 22px 22px,#b2b423 23px 23px,#b2b423 24px 24px,#b2b423 25px 25px,#b2b423 26px 26px,#b2b423 27px 27px,#b2b423 28px 28px,#b2b423 29px 29px,#b2b423 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-digg{background:#1B8EC4;border:1px solid #126C92;text-shadow:#126c92 1px 1px,#126c92 2px 2px,#126c92 3px 3px,#126c92 4px 4px,#126c92 5px 5px,#126c92 6px 6px,#126c92 7px 7px,#126c92 8px 8px,#126c92 9px 9px,#126c92 10px 10px,#126c92 11px 11px,#126c92 12px 12px,#126c92 13px 13px,#126c92 14px 14px,#126c92 15px 15px,#126c92 16px 16px,#126c92 17px 17px,#126c92 18px 18px,#126c92 19px 19px,#126c92 20px 20px,#126c92 21px 21px,#126c92 22px 22px,#126c92 23px 23px,#126c92 24px 24px,#126c92 25px 25px,#126c92 26px 26px,#126c92 27px 27px,#126c92 28px 28px,#126c92 29px 29px,#126c92 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-dribbble{background:#EF76A4;border:1px solid #C05C84;text-shadow:#c05c84 1px 1px,#c05c84 2px 2px,#c05c84 3px 3px,#c05c84 4px 4px,#c05c84 5px 5px,#c05c84 6px 6px,#c05c84 7px 7px,#c05c84 8px 8px,#c05c84 9px 9px,#c05c84 10px 10px,#c05c84 11px 11px,#c05c84 12px 12px,#c05c84 13px 13px,#c05c84 14px 14px,#c05c84 15px 15px,#c05c84 16px 16px,#c05c84 17px 17px,#c05c84 18px 18px,#c05c84 19px 19px,#c05c84 20px 20px,#c05c84 21px 21px,#c05c84 22px 22px,#c05c84 23px 23px,#c05c84 24px 24px,#c05c84 25px 25px,#c05c84 26px 26px,#c05c84 27px 27px,#c05c84 28px 28px,#c05c84 29px 29px,#c05c84 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-facebook{background:#3B5998;border:1px solid #1E3D7A;text-shadow:#1e3d7a 1px 1px,#1e3d7a 2px 2px,#1e3d7a 3px 3px,#1e3d7a 4px 4px,#1e3d7a 5px 5px,#1e3d7a 6px 6px,#1e3d7a 7px 7px,#1e3d7a 8px 8px,#1e3d7a 9px 9px,#1e3d7a 10px 10px,#1e3d7a 11px 11px,#1e3d7a 12px 12px,#1e3d7a 13px 13px,#1e3d7a 14px 14px,#1e3d7a 15px 15px,#1e3d7a 16px 16px,#1e3d7a 17px 17px,#1e3d7a 18px 18px,#1e3d7a 19px 19px,#1e3d7a 20px 20px,#1e3d7a 21px 21px,#1e3d7a 22px 22px,#1e3d7a 23px 23px,#1e3d7a 24px 24px,#1e3d7a 25px 25px,#1e3d7a 26px 26px,#1e3d7a 27px 27px,#1e3d7a 28px 28px,#1e3d7a 29px 29px,#1e3d7a 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-flickr{background:#FF0586;border:1px solid #D0006F;text-shadow:#d0006f 1px 1px,#d0006f 2px 2px,#d0006f 3px 3px,#d0006f 4px 4px,#d0006f 5px 5px,#d0006f 6px 6px,#d0006f 7px 7px,#d0006f 8px 8px,#d0006f 9px 9px,#d0006f 10px 10px,#d0006f 11px 11px,#d0006f 12px 12px,#d0006f 13px 13px,#d0006f 14px 14px,#d0006f 15px 15px,#d0006f 16px 16px,#d0006f 17px 17px,#d0006f 18px 18px,#d0006f 19px 19px,#d0006f 20px 20px,#d0006f 21px 21px,#d0006f 22px 22px,#d0006f 23px 23px,#d0006f 24px 24px,#d0006f 25px 25px,#d0006f 26px 26px,#d0006f 27px 27px,#d0006f 28px 28px,#d0006f 29px 29px,#d0006f 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-github{background:#829AA8;border:1px solid #4F7385;text-shadow:#4f7385 1px 1px,#4f7385 2px 2px,#4f7385 3px 3px,#4f7385 4px 4px,#4f7385 5px 5px,#4f7385 6px 6px,#4f7385 7px 7px,#4f7385 8px 8px,#4f7385 9px 9px,#4f7385 10px 10px,#4f7385 11px 11px,#4f7385 12px 12px,#4f7385 13px 13px,#4f7385 14px 14px,#4f7385 15px 15px,#4f7385 16px 16px,#4f7385 17px 17px,#4f7385 18px 18px,#4f7385 19px 19px,#4f7385 20px 20px,#4f7385 21px 21px,#4f7385 22px 22px,#4f7385 23px 23px,#4f7385 24px 24px,#4f7385 25px 25px,#4f7385 26px 26px,#4f7385 27px 27px,#4f7385 28px 28px,#4f7385 29px 29px,#4f7385 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-google{background:#E8262F;border:1px solid #C20C18;text-shadow:#c20c18 1px 1px,#c20c18 2px 2px,#c20c18 3px 3px,#c20c18 4px 4px,#c20c18 5px 5px,#c20c18 6px 6px,#c20c18 7px 7px,#c20c18 8px 8px,#c20c18 9px 9px,#c20c18 10px 10px,#c20c18 11px 11px,#c20c18 12px 12px,#c20c18 13px 13px,#c20c18 14px 14px,#c20c18 15px 15px,#c20c18 16px 16px,#c20c18 17px 17px,#c20c18 18px 18px,#c20c18 19px 19px,#c20c18 20px 20px,#c20c18 21px 21px,#c20c18 22px 22px,#c20c18 23px 23px,#c20c18 24px 24px,#c20c18 25px 25px,#c20c18 26px 26px,#c20c18 27px 27px,#c20c18 28px 28px,#c20c18 29px 29px,#c20c18 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-googleplus{background:#DD4B39;border:1px solid #B32414;text-shadow:#b32414 1px 1px,#b32414 2px 2px,#b32414 3px 3px,#b32414 4px 4px,#b32414 5px 5px,#b32414 6px 6px,#b32414 7px 7px,#b32414 8px 8px,#b32414 9px 9px,#b32414 10px 10px,#b32414 11px 11px,#b32414 12px 12px,#b32414 13px 13px,#b32414 14px 14px,#b32414 15px 15px,#b32414 16px 16px,#b32414 17px 17px,#b32414 18px 18px,#b32414 19px 19px,#b32414 20px 20px,#b32414 21px 21px,#b32414 22px 22px,#b32414 23px 23px,#b32414 24px 24px,#b32414 25px 25px,#b32414 26px 26px,#b32414 27px 27px,#b32414 28px 28px,#b32414 29px 29px,#b32414 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-html5{background:#F16528;border:1px solid #C23D08;text-shadow:#c23d08 1px 1px,#c23d08 2px 2px,#c23d08 3px 3px,#c23d08 4px 4px,#c23d08 5px 5px,#c23d08 6px 6px,#c23d08 7px 7px,#c23d08 8px 8px,#c23d08 9px 9px,#c23d08 10px 10px,#c23d08 11px 11px,#c23d08 12px 12px,#c23d08 13px 13px,#c23d08 14px 14px,#c23d08 15px 15px,#c23d08 16px 16px,#c23d08 17px 17px,#c23d08 18px 18px,#c23d08 19px 19px,#c23d08 20px 20px,#c23d08 21px 21px,#c23d08 22px 22px,#c23d08 23px 23px,#c23d08 24px 24px,#c23d08 25px 25px,#c23d08 26px 26px,#c23d08 27px 27px,#c23d08 28px 28px,#c23d08 29px 29px,#c23d08 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-instagram{background:#417096;border:1px solid #244F70;text-shadow:#244f70 1px 1px,#244f70 2px 2px,#244f70 3px 3px,#244f70 4px 4px,#244f70 5px 5px,#244f70 6px 6px,#244f70 7px 7px,#244f70 8px 8px,#244f70 9px 9px,#244f70 10px 10px,#244f70 11px 11px,#244f70 12px 12px,#244f70 13px 13px,#244f70 14px 14px,#244f70 15px 15px,#244f70 16px 16px,#244f70 17px 17px,#244f70 18px 18px,#244f70 19px 19px,#244f70 20px 20px,#244f70 21px 21px,#244f70 22px 22px,#244f70 23px 23px,#244f70 24px 24px,#244f70 25px 25px,#244f70 26px 26px,#244f70 27px 27px,#244f70 28px 28px,#244f70 29px 29px,#244f70 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-linkedin{background:#1583BB;border:1px solid #036390;text-shadow:#036390 1px 1px,#036390 2px 2px,#036390 3px 3px,#036390 4px 4px,#036390 5px 5px,#036390 6px 6px,#036390 7px 7px,#036390 8px 8px,#036390 9px 9px,#036390 10px 10px,#036390 11px 11px,#036390 12px 12px,#036390 13px 13px,#036390 14px 14px,#036390 15px 15px,#036390 16px 16px,#036390 17px 17px,#036390 18px 18px,#036390 19px 19px,#036390 20px 20px,#036390 21px 21px,#036390 22px 22px,#036390 23px 23px,#036390 24px 24px,#036390 25px 25px,#036390 26px 26px,#036390 27px 27px,#036390 28px 28px,#036390 29px 29px,#036390 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-pinterest{background:#CB2027;border:1px solid #9D060E;text-shadow:#9d063e 1px 1px,#9d063e 2px 2px,#9d063e 3px 3px,#9d063e 4px 4px,#9d063e 5px 5px,#9d063e 6px 6px,#9d063e 7px 7px,#9d063e 8px 8px,#9d063e 9px 9px,#9d063e 10px 10px,#9d063e 11px 11px,#9d063e 12px 12px,#9d063e 13px 13px,#9d063e 14px 14px,#9d063e 15px 15px,#9d063e 16px 16px,#9d063e 17px 17px,#9d063e 18px 18px,#9d063e 19px 19px,#9d063e 20px 20px,#9d063e 21px 21px,#9d063e 22px 22px,#9d063e 23px 23px,#9d063e 24px 24px,#9d063e 25px 25px,#9d063e 26px 26px,#9d063e 27px 27px,#9d063e 28px 28px,#9d063e 29px 29px,#9d063e 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-reddit{background:#FF4107;border:1px solid #C62D02;text-shadow:#c62d02 1px 1px,#c62d02 2px 2px,#c62d02 3px 3px,#c62d02 4px 4px,#c62d02 5px 5px,#c62d02 6px 6px,#c62d02 7px 7px,#c62d02 8px 8px,#c62d02 9px 9px,#c62d02 10px 10px,#c62d02 11px 11px,#c62d02 12px 12px,#c62d02 13px 13px,#c62d02 14px 14px,#c62d02 15px 15px,#c62d02 16px 16px,#c62d02 17px 17px,#c62d02 18px 18px,#c62d02 19px 19px,#c62d02 20px 20px,#c62d02 21px 21px,#c62d02 22px 22px,#c62d02 23px 23px,#c62d02 24px 24px,#c62d02 25px 25px,#c62d02 26px 26px,#c62d02 27px 27px,#c62d02 28px 28px,#c62d02 29px 29px,#c62d02 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-rss{background:#FF7A21;border:1px solid #C24B02;text-shadow:#c24b02 1px 1px,#c24b02 2px 2px,#c24b02 3px 3px,#c24b02 4px 4px,#c24b02 5px 5px,#c24b02 6px 6px,#c24b02 7px 7px,#c24b02 8px 8px,#c24b02 9px 9px,#c24b02 10px 10px,#c24b02 11px 11px,#c24b02 12px 12px,#c24b02 13px 13px,#c24b02 14px 14px,#c24b02 15px 15px,#c24b02 16px 16px,#c24b02 17px 17px,#c24b02 18px 18px,#c24b02 19px 19px,#c24b02 20px 20px,#c24b02 21px 21px,#c24b02 22px 22px,#c24b02 23px 23px,#c24b02 24px 24px,#c24b02 25px 25px,#c24b02 26px 26px,#c24b02 27px 27px,#c24b02 28px 28px,#c24b02 29px 29px,#c24b02 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-sharethis{background:#1D9565;border:1px solid #076840;text-shadow:#076840 1px 1px,#076840 2px 2px,#076840 3px 3px,#076840 4px 4px,#076840 5px 5px,#076840 6px 6px,#076840 7px 7px,#076840 8px 8px,#076840 9px 9px,#076840 10px 10px,#076840 11px 11px,#076840 12px 12px,#076840 13px 13px,#076840 14px 14px,#076840 15px 15px,#076840 16px 16px,#076840 17px 17px,#076840 18px 18px,#076840 19px 19px,#076840 20px 20px,#076840 21px 21px,#076840 22px 22px,#076840 23px 23px,#076840 24px 24px,#076840 25px 25px,#076840 26px 26px,#076840 27px 27px,#076840 28px 28px,#076840 29px 29px,#076840 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-skype{background:#3FC1F4;border:1px solid #1B95C2;text-shadow:#1b95c2 1px 1px,#1b95c2 2px 2px,#1b95c2 3px 3px,#1b95c2 4px 4px,#1b95c2 5px 5px,#1b95c2 6px 6px,#1b95c2 7px 7px,#1b95c2 8px 8px,#1b95c2 9px 9px,#1b95c2 10px 10px,#1b95c2 11px 11px,#1b95c2 12px 12px,#1b95c2 13px 13px,#1b95c2 14px 14px,#1b95c2 15px 15px,#1b95c2 16px 16px,#1b95c2 17px 17px,#1b95c2 18px 18px,#1b95c2 19px 19px,#1b95c2 20px 20px,#1b95c2 21px 21px,#1b95c2 22px 22px,#1b95c2 23px 23px,#1b95c2 24px 24px,#1b95c2 25px 25px,#1b95c2 26px 26px,#1b95c2 27px 27px,#1b95c2 28px 28px,#1b95c2 29px 29px,#1b95c2 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-soundcloud{background:#FF5419;border:1px solid #C73002;text-shadow:#c73002 1px 1px,#c73002 2px 2px,#c73002 3px 3px,#c73002 4px 4px,#c73002 5px 5px,#c73002 6px 6px,#c73002 7px 7px,#c73002 8px 8px,#c73002 9px 9px,#c73002 10px 10px,#c73002 11px 11px,#c73002 12px 12px,#c73002 13px 13px,#c73002 14px 14px,#c73002 15px 15px,#c73002 16px 16px,#c73002 17px 17px,#c73002 18px 18px,#c73002 19px 19px,#c73002 20px 20px,#c73002 21px 21px,#c73002 22px 22px,#c73002 23px 23px,#c73002 24px 24px,#c73002 25px 25px,#c73002 26px 26px,#c73002 27px 27px,#c73002 28px 28px,#c73002 29px 29px,#c73002 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-spotify{background:#AECF02;border:1px solid #829900;text-shadow:#829900 1px 1px,#829900 2px 2px,#829900 3px 3px,#829900 4px 4px,#829900 5px 5px,#829900 6px 6px,#829900 7px 7px,#829900 8px 8px,#829900 9px 9px,#829900 10px 10px,#829900 11px 11px,#829900 12px 12px,#829900 13px 13px,#829900 14px 14px,#829900 15px 15px,#829900 16px 16px,#829900 17px 17px,#829900 18px 18px,#829900 19px 19px,#829900 20px 20px,#829900 21px 21px,#829900 22px 22px,#829900 23px 23px,#829900 24px 24px,#829900 25px 25px,#829900 26px 26px,#829900 27px 27px,#829900 28px 28px,#829900 29px 29px,#829900 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-stackoverflow{background:#FF661E;border:1px solid #CE3A00;text-shadow:#ce3a00 1px 1px,#ce3a00 2px 2px,#ce3a00 3px 3px,#ce3a00 4px 4px,#ce3a00 5px 5px,#ce3a00 6px 6px,#ce3a00 7px 7px,#ce3a00 8px 8px,#ce3a00 9px 9px,#ce3a00 10px 10px,#ce3a00 11px 11px,#ce3a00 12px 12px,#ce3a00 13px 13px,#ce3a00 14px 14px,#ce3a00 15px 15px,#ce3a00 16px 16px,#ce3a00 17px 17px,#ce3a00 18px 18px,#ce3a00 19px 19px,#ce3a00 20px 20px,#ce3a00 21px 21px,#ce3a00 22px 22px,#ce3a00 23px 23px,#ce3a00 24px 24px,#ce3a00 25px 25px,#ce3a00 26px 26px,#ce3a00 27px 27px,#ce3a00 28px 28px,#ce3a00 29px 29px,#ce3a00 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-steam{background:#484848;border:1px solid #302B2B;text-shadow:#302b2b 1px 1px,#302b2b 2px 2px,#302b2b 3px 3px,#302b2b 4px 4px,#302b2b 5px 5px,#302b2b 6px 6px,#302b2b 7px 7px,#302b2b 8px 8px,#302b2b 9px 9px,#302b2b 10px 10px,#302b2b 11px 11px,#302b2b 12px 12px,#302b2b 13px 13px,#302b2b 14px 14px,#302b2b 15px 15px,#302b2b 16px 16px,#302b2b 17px 17px,#302b2b 18px 18px,#302b2b 19px 19px,#302b2b 20px 20px,#302b2b 21px 21px,#302b2b 22px 22px,#302b2b 23px 23px,#302b2b 24px 24px,#302b2b 25px 25px,#302b2b 26px 26px,#302b2b 27px 27px,#302b2b 28px 28px,#302b2b 29px 29px,#302b2b 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-stumbleUpon{background:#EB4923;border:1px solid #BE2507;text-shadow:#be2507 1px 1px,#be2507 2px 2px,#be2507 3px 3px,#be2507 4px 4px,#be2507 5px 5px,#be2507 6px 6px,#be2507 7px 7px,#be2507 8px 8px,#be2507 9px 9px,#be2507 10px 10px,#be2507 11px 11px,#be2507 12px 12px,#be2507 13px 13px,#be2507 14px 14px,#be2507 15px 15px,#be2507 16px 16px,#be2507 17px 17px,#be2507 18px 18px,#be2507 19px 19px,#be2507 20px 20px,#be2507 21px 21px,#be2507 22px 22px,#be2507 23px 23px,#be2507 24px 24px,#be2507 25px 25px,#be2507 26px 26px,#be2507 27px 27px,#be2507 28px 28px,#be2507 29px 29px,#be2507 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-tumblr{background:#3C576C;border:1px solid #1E3546;text-shadow:#1e3546 1px 1px,#1e3546 2px 2px,#1e3546 3px 3px,#1e3546 4px 4px,#1e3546 5px 5px,#1e3546 6px 6px,#1e3546 7px 7px,#1e3546 8px 8px,#1e3546 9px 9px,#1e3546 10px 10px,#1e3546 11px 11px,#1e3546 12px 12px,#1e3546 13px 13px,#1e3546 14px 14px,#1e3546 15px 15px,#1e3546 16px 16px,#1e3546 17px 17px,#1e3546 18px 18px,#1e3546 19px 19px,#1e3546 20px 20px,#1e3546 21px 21px,#1e3546 22px 22px,#1e3546 23px 23px,#1e3546 24px 24px,#1e3546 25px 25px,#1e3546 26px 26px,#1e3546 27px 27px,#1e3546 28px 28px,#1e3546 29px 29px,#1e3546 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-twitter{background:#00ACED;border:1px solid #008AB8;text-shadow:#008ab8 1px 1px,#008ab8 2px 2px,#008ab8 3px 3px,#008ab8 4px 4px,#008ab8 5px 5px,#008ab8 6px 6px,#008ab8 7px 7px,#008ab8 8px 8px,#008ab8 9px 9px,#008ab8 10px 10px,#008ab8 11px 11px,#008ab8 12px 12px,#008ab8 13px 13px,#008ab8 14px 14px,#008ab8 15px 15px,#008ab8 16px 16px,#008ab8 17px 17px,#008ab8 18px 18px,#008ab8 19px 19px,#008ab8 20px 20px,#008ab8 21px 21px,#008ab8 22px 22px,#008ab8 23px 23px,#008ab8 24px 24px,#008ab8 25px 25px,#008ab8 26px 26px,#008ab8 27px 27px,#008ab8 28px 28px,#008ab8 29px 29px,#008ab8 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-vimeo{background:#006599;border:1px solid #00496A;text-shadow:#00496a 1px 1px,#00496a 2px 2px,#00496a 3px 3px,#00496a 4px 4px,#00496a 5px 5px,#00496a 6px 6px,#00496a 7px 7px,#00496a 8px 8px,#00496a 9px 9px,#00496a 10px 10px,#00496a 11px 11px,#00496a 12px 12px,#00496a 13px 13px,#00496a 14px 14px,#00496a 15px 15px,#00496a 16px 16px,#00496a 17px 17px,#00496a 18px 18px,#00496a 19px 19px,#00496a 20px 20px,#00496a 21px 21px,#00496a 22px 22px,#00496a 23px 23px,#00496a 24px 24px,#00496a 25px 25px,#00496a 26px 26px,#00496a 27px 27px,#00496a 28px 28px,#00496a 29px 29px,#00496a 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-windows{background:#00ADEF;border:1px solid #038BBC;text-shadow:#038bbc 1px 1px,#038bbc 2px 2px,#038bbc 3px 3px,#038bbc 4px 4px,#038bbc 5px 5px,#038bbc 6px 6px,#038bbc 7px 7px,#038bbc 8px 8px,#038bbc 9px 9px,#038bbc 10px 10px,#038bbc 11px 11px,#038bbc 12px 12px,#038bbc 13px 13px,#038bbc 14px 14px,#038bbc 15px 15px,#038bbc 16px 16px,#038bbc 17px 17px,#038bbc 18px 18px,#038bbc 19px 19px,#038bbc 20px 20px,#038bbc 21px 21px,#038bbc 22px 22px,#038bbc 23px 23px,#038bbc 24px 24px,#038bbc 25px 25px,#038bbc 26px 26px,#038bbc 27px 27px,#038bbc 28px 28px,#038bbc 29px 29px,#038bbc 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-wordpress{background:#21759A;border:1px solid #0F607E;text-shadow:#0f607e 1px 1px,#0f607e 2px 2px,#0f607e 3px 3px,#0f607e 4px 4px,#0f607e 5px 5px,#0f607e 6px 6px,#0f607e 7px 7px,#0f607e 8px 8px,#0f607e 9px 9px,#0f607e 10px 10px,#0f607e 11px 11px,#0f607e 12px 12px,#0f607e 13px 13px,#0f607e 14px 14px,#0f607e 15px 15px,#0f607e 16px 16px,#0f607e 17px 17px,#0f607e 18px 18px,#0f607e 19px 19px,#0f607e 20px 20px,#0f607e 21px 21px,#0f607e 22px 22px,#0f607e 23px 23px,#0f607e 24px 24px,#0f607e 25px 25px,#0f607e 26px 26px,#0f607e 27px 27px,#0f607e 28px 28px,#0f607e 29px 29px,#0f607e 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-yahoo{background:#4101AF;border:1px solid #290074;text-shadow:#290074 1px 1px,#290074 2px 2px,#290074 3px 3px,#290074 4px 4px,#290074 5px 5px,#290074 6px 6px,#290074 7px 7px,#290074 8px 8px,#290074 9px 9px,#290074 10px 10px,#290074 11px 11px,#290074 12px 12px,#290074 13px 13px,#290074 14px 14px,#290074 15px 15px,#290074 16px 16px,#290074 17px 17px,#290074 18px 18px,#290074 19px 19px,#290074 20px 20px,#290074 21px 21px,#290074 22px 22px,#290074 23px 23px,#290074 24px 24px,#290074 25px 25px,#290074 26px 26px,#290074 27px 27px,#290074 28px 28px,#290074 29px 29px,#290074 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-youtube{background:#E52C27;border:1px solid #BE0707;text-shadow:#be0707 1px 1px,#be0707 2px 2px,#be0707 3px 3px,#be0707 4px 4px,#be0707 5px 5px,#be0707 6px 6px,#be0707 7px 7px,#be0707 8px 8px,#be0707 9px 9px,#be0707 10px 10px,#be0707 11px 11px,#be0707 12px 12px,#be0707 13px 13px,#be0707 14px 14px,#be0707 15px 15px,#be0707 16px 16px,#be0707 17px 17px,#be0707 18px 18px,#be0707 19px 19px,#be0707 20px 20px,#be0707 21px 21px,#be0707 22px 22px,#be0707 23px 23px,#be0707 24px 24px,#be0707 25px 25px,#be0707 26px 26px,#be0707 27px 27px,#be0707 28px 28px,#be0707 29px 29px,#be0707 30px 30px}.saboxplugin-socials.sabox-colored .saboxplugin-icon-color.saboxplugin-icon-xing{background:#026466;border:1px solid #004746;text-shadow:#004746 1px 1px,#004746 2px 2px,#004746 3px 3px,#004746 4px 4px,#004746 5px 5px,#004746 6px 6px,#004746 7px 7px,#004746 8px 8px,#004746 9px 9px,#004746 10px 10px,#004746 11px 11px,#004746 12px 12px,#004746 13px 13px,#004746 14px 14px,#004746 15px 15px,#004746 16px 16px,#004746 17px 17px,#004746 18px 18px,#004746 19px 19px,#004746 20px 20px,#004746 21px 21px,#004746 22px 22px,#004746 23px 23px,#004746 24px 24px,#004746 25px 25px,#004746 26px 26px,#004746 27px 27px,#004746 28px 28px,#004746 29px 29px,#004746 30px 30px}@media screen and (max-width:480px){.saboxplugin-wrap{text-align:center}.saboxplugin-wrap .saboxplugin-gravatar{float:none;padding:20px 0;text-align:center;margin:0 auto;display:block}.saboxplugin-wrap .saboxplugin-gravatar img{float:none;display:inline-block;display:-moz-inline-stack;vertical-align:middle;zoom:1}.saboxplugin-wrap .saboxplugin-desc{margin:0 10px 20px;text-align:center}.saboxplugin-wrap .saboxplugin-authorname{text-align:center;margin:10px 0 20px}}
 
img/sp.png DELETED
Binary file
inc/admin/support.php ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if ( ! defined( 'WPINC' ) ) {
3
+ die;
4
+ }
5
+ ?>
6
+ <div class="feature-section sab-support">
7
+ <div class="row two-col center-support">
8
+ <div class="col">
9
+ <h3><i class="dashicons dashicons-sos" style="display: inline-block;vertical-align: middle;margin-right: 5px"></i><?php esc_html_e( 'Contact Support', 'saboxplugin' ); ?></h3>
10
+ <p>
11
+ <i><?php esc_html_e( 'We offer excellent support through our advanced ticketing system.', 'saboxplugin' ); ?></i>
12
+ </p>
13
+ <p><a target="_blank" class="button button-hero button-primary"
14
+ href="<?php echo esc_url( 'https://www.machothemes.com/support/?utm_source=sab&utm_medium=about-page&utm_campaign=support-button' ); ?>"><?php esc_html_e( 'Contact Support', 'saboxplugin' ); ?></a>
15
+ </p>
16
+ </div><!--/.col-->
17
+ </div>
18
+ <div class="row">
19
+ <h1 class="sab-title">Looking for better WP hosting ?</h1>
20
+ </div>
21
+ <div class="row sab-blog three-col">
22
+ <div class="col">
23
+ <h3><i class="dashicons dashicons-performance" style="display: inline-block;vertical-align: middle;margin-right: 5px"></i><?php esc_html_e( 'Our Bluehost Hosting Review', 'saboxplugin' ); ?></h3>
24
+ <p>
25
+ <i><?php esc_html_e( 'Despite its popularity, though, Bluehost often carries a negative perception among WordPress professionals. So as we dig into this Bluehost review, we\'ll be looking to figure out whether Bluehost\'s performance and features actually justify that reputation.', 'saboxplugin' ); ?></i>
26
+ </p>
27
+ <p><a target="_blank"
28
+ href="<?php echo esc_url( 'https://www.machothemes.com/blog/bluehost-review/?utm_source=sab&utm_medium=about-page&utm_campaign=blog-links' ); ?>"><?php esc_html_e( 'Read more', 'saboxplugin' ); ?></a>
29
+ </p>
30
+ </div><!--/.col-->
31
+
32
+ <div class="col">
33
+ <h3><i class="dashicons dashicons-performance" style="display: inline-block;vertical-align: middle;margin-right: 5px"></i><?php esc_html_e( 'Our InMotion Hosting Review', 'saboxplugin' ); ?></h3>
34
+ <p>
35
+ <i><?php esc_html_e( 'InMotion Hosting is a popular independent web host that serves over 300,000 customers. They\'re notably not a part of the EIG behemoth (the parent company behind Bluehost, HostGator, and more), which is a plus in my book.', 'saboxplugin' ); ?></i>
36
+ </p>
37
+ <p>
38
+ <a target="_blank"
39
+ href="<?php echo esc_url( 'https://www.machothemes.com/blog/inmotion-hosting-review/?utm_source=sab&utm_medium=about-page&utm_campaign=blog-links' ); ?>"><?php esc_html_e( 'Read more', 'saboxplugin' ); ?></a>
40
+ </p>
41
+ </div><!--/.col-->
42
+
43
+ <div class="col">
44
+ <h3><i class="dashicons dashicons-performance" style="display: inline-block;vertical-align: middle;margin-right: 5px"></i><?php esc_html_e( 'Our A2 Hosting Review', 'saboxplugin' ); ?></h3>
45
+ <p>
46
+ <i><?php esc_html_e( 'When it comes to affordable WordPress hosting, A2 Hosting is a name that often comes up in various WordPress groups for offering quick-loading performance that belies its low price tag.', 'saboxplugin' ); ?></i>
47
+ </p>
48
+ <p>
49
+ <a target="_blank"
50
+ href="<?php echo esc_url( 'https://www.machothemes.com/blog/a2-hosting-review/?utm_source=sab&utm_medium=about-page&utm_campaign=blog-links' ); ?>"><?php esc_html_e( 'Read more', 'saboxplugin' ); ?></a>
51
+ </p>
52
+ </div><!--/.col-->
53
+ </div>
54
+ </div><!--/.feature-section-->
inc/class-simple-author-box-admin-page.php ADDED
@@ -0,0 +1,647 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Simple_Author_Box_Admin_Page {
4
+
5
+ private $tab;
6
+ private $options;
7
+ private $sections;
8
+ private $views_path;
9
+
10
+ function __construct() {
11
+ $this->views_path = SIMPLE_AUTHOR_BOX_PATH . 'inc/admin/';
12
+ $this->tab = isset( $_GET['tab'] ) ? sanitize_text_field( wp_unslash( $_GET['tab'] ) ) : 'general-options';
13
+ $default_sections = array(
14
+ 'general-options' => array(
15
+ 'label' => __( 'Settings', 'saboxplugin' ),
16
+ ),
17
+ 'appearance-options' => array(
18
+ 'label' => __( 'Appearance', 'saboxplugin' ),
19
+ ),
20
+ 'color-options' => array(
21
+ 'label' => __( 'Color', 'saboxplugin' ),
22
+ ),
23
+ 'typography-options' => array(
24
+ 'label' => __( 'Typography', 'saboxplugin' ),
25
+ ),
26
+ 'miscellaneous-options' => array(
27
+ 'label' => __( 'Misc', 'saboxplugin' ),
28
+ ),
29
+ 'support' => array(
30
+ 'label' => __( 'Support', 'saboxplugin' ),
31
+ 'path' => SIMPLE_AUTHOR_BOX_PATH . 'inc/admin/support.php',
32
+ ),
33
+ );
34
+
35
+ $settings = array(
36
+ 'general-options' => array(
37
+ 'sab_autoinsert' => array(
38
+ 'label' => __( 'Manually insert the Simple Author Box:', 'saboxplugin' ),
39
+ 'description' => __( 'When turned ON, the author box will no longer be automatically added to your post. You\'ll need to manually add it using shortcodes or a PHP function.', 'saboxplugin' ),
40
+ 'type' => 'toggle',
41
+ 'group' => 'saboxplugin_options',
42
+ ),
43
+ 'plugin_code' => array(
44
+ 'label' => __( 'If you want to manually insert the Simple Author Box in your template file (single post view), you can use the following code snippet:', 'saboxplugin' ),
45
+ 'type' => 'readonly',
46
+ 'value' => '&lt;?php if ( function_exists( \'wpsabox_author_box\' ) ) echo wpsabox_author_box(); ?&gt;',
47
+ 'condition' => 'sab_autoinsert',
48
+ ),
49
+ 'plugin_shortcode' => array(
50
+ 'label' => __( 'If you want to manually insert the Simple Author Box in your post content, you can use the following shortcode:', 'saboxplugin' ),
51
+ 'type' => 'readonly',
52
+ 'value' => '[ simple-author-box ]',
53
+ 'condition' => 'sab_autoinsert',
54
+ ),
55
+ 'sab_no_description' => array(
56
+ 'label' => __( 'Hide the author box if author description is empty:', 'saboxplugin' ),
57
+ 'description' => __( 'When turned ON, the author box will not appear for users without a description', 'saboxplugin' ),
58
+ 'type' => 'toggle',
59
+ 'group' => 'saboxplugin_options',
60
+ ),
61
+ 'sab_web_target' => array(
62
+ 'label' => __( 'Open author website link in a new tab:', 'saboxplugin' ),
63
+ 'description' => __( 'If you check this the author\'s link will open in a new tab', 'saboxplugin' ),
64
+ 'type' => 'toggle',
65
+ 'condition' => 'sab_web',
66
+ 'group' => 'saboxplugin_options',
67
+ ),
68
+ 'sab_web_rel' => array(
69
+ 'label' => __( 'Add "nofollow" attribute on author website link:', 'saboxplugin' ),
70
+ 'type' => 'toggle',
71
+ 'condition' => 'sab_web',
72
+ 'group' => 'saboxplugin_options',
73
+ ),
74
+ 'sab_email' => array(
75
+ 'label' => __( 'Show author email:', 'saboxplugin' ),
76
+ 'description' => __( 'When turned ON, the plugin all add an email option next to the social icons.', 'saboxplugin' ),
77
+ 'type' => 'toggle',
78
+ 'group' => 'saboxplugin_options',
79
+ ),
80
+ 'sab_link_target' => array(
81
+ 'label' => __( 'Open social icon links in a new tab:', 'saboxplugin' ),
82
+ 'description' => __( 'When turned ON, the author’s social links will open in a new tab.', 'saboxplugin' ),
83
+ 'type' => 'toggle',
84
+ 'group' => 'saboxplugin_options',
85
+ ),
86
+ 'sab_hide_socials' => array(
87
+ 'label' => __( 'Hide the social icons on author box:', 'saboxplugin' ),
88
+ 'type' => 'toggle',
89
+ 'group' => 'saboxplugin_options',
90
+ ),
91
+ ),
92
+ 'appearance-options' => array(
93
+ 'sab_box_margin_top' => array(
94
+ 'label' => __( 'Top margin of author box:', 'saboxplugin' ),
95
+ 'description' => __( 'Choose how much space to add above the author box', 'saboxplugin' ),
96
+ 'type' => 'slider',
97
+ 'choices' => array(
98
+ 'min' => 0,
99
+ 'max' => 100,
100
+ 'increment' => 1,
101
+ ),
102
+ 'default' => '0',
103
+ ),
104
+ 'sab_box_margin_bottom' => array(
105
+ 'label' => __( 'Bottom margin of author box:', 'saboxplugin' ),
106
+ 'description' => __( 'Choose how much space to add below the author box', 'saboxplugin' ),
107
+ 'type' => 'slider',
108
+ 'choices' => array(
109
+ 'min' => 0,
110
+ 'max' => 100,
111
+ 'increment' => 1,
112
+ ),
113
+ 'default' => '0',
114
+ ),
115
+ 'sab_box_padding_top_bottom' => array(
116
+ 'label' => __( 'Padding top and bottom of author box:', 'saboxplugin' ),
117
+ 'description' => '',
118
+ 'type' => 'slider',
119
+ 'choices' => array(
120
+ 'min' => 0,
121
+ 'max' => 100,
122
+ 'increment' => 1,
123
+ ),
124
+ 'default' => '0',
125
+ ),
126
+ 'sab_box_padding_left_right' => array(
127
+ 'label' => __( 'Padding left and right of author box:', 'saboxplugin' ),
128
+ 'description' => '',
129
+ 'type' => 'slider',
130
+ 'choices' => array(
131
+ 'min' => 0,
132
+ 'max' => 100,
133
+ 'increment' => 1,
134
+ ),
135
+ 'default' => '0',
136
+ ),
137
+ 'sab_avatar_style' => array(
138
+ 'label' => __( 'Author avatar image style:', 'saboxplugin' ),
139
+ 'description' => __( 'Change the shape of the author’s avatar image', 'saboxplugin' ),
140
+ 'type' => 'select',
141
+ 'choices' => array(
142
+ 0 => __( 'Square', 'saboxplugin' ),
143
+ 1 => __( 'Circle', 'saboxplugin' ),
144
+ ),
145
+ 'default' => '0',
146
+ 'group' => 'saboxplugin_options',
147
+ ),
148
+ 'sab_avatar_hover' => array(
149
+ 'label' => __( 'Rotate effect on author avatar hover:', 'saboxplugin' ),
150
+ 'description' => __( 'When turned ON, this adds a rotate effect when hovering over the author\'s avatar', 'saboxplugin' ),
151
+ 'type' => 'toggle',
152
+ 'group' => 'saboxplugin_options',
153
+ ),
154
+ 'sab_web' => array(
155
+ 'label' => __( 'Show author website:', 'saboxplugin' ),
156
+ 'description' => __( 'When turned ON, the box will include the author\'s website', 'saboxplugin' ),
157
+ 'type' => 'toggle',
158
+ 'group' => 'saboxplugin_options',
159
+ ),
160
+ 'sab_web_position' => array(
161
+ 'label' => __( 'Author website position:', 'saboxplugin' ),
162
+ 'description' => __( 'Select where you want to show the website ( left or right )', 'saboxplugin' ),
163
+ 'type' => 'select',
164
+ 'choices' => array(
165
+ 0 => __( 'Left', 'saboxplugin' ),
166
+ 1 => __( 'Right', 'saboxplugin' ),
167
+ ),
168
+ 'default' => '0',
169
+ 'condition' => 'sab_web',
170
+ 'group' => 'saboxplugin_options',
171
+ ),
172
+ 'sab_colored' => array(
173
+ 'label' => __( 'Social icons type (colored background or symbols only):', 'saboxplugin' ),
174
+ 'description' => __( 'Colored background adds a background behind the social icon symbol', 'saboxplugin' ),
175
+ 'type' => 'select',
176
+ 'choices' => array(
177
+ 0 => __( 'Symbols', 'saboxplugin' ),
178
+ 1 => __( 'Colored', 'saboxplugin' ),
179
+ ),
180
+ 'default' => '0',
181
+ 'group' => 'saboxplugin_options',
182
+ ),
183
+ 'sab_icons_style' => array(
184
+ 'label' => __( 'Social icons style:', 'saboxplugin' ),
185
+ 'description' => __( 'Select the shape of social icons\' container', 'saboxplugin' ),
186
+ 'type' => 'select',
187
+ 'choices' => array(
188
+ 0 => __( 'Squares', 'saboxplugin' ),
189
+ 1 => __( 'Circle', 'saboxplugin' ),
190
+ ),
191
+ 'default' => '0',
192
+ 'condition' => 'sab_colored',
193
+ 'group' => 'saboxplugin_options',
194
+ ),
195
+ 'sab_social_hover' => array(
196
+ 'label' => __( 'Rotate effect on social icons hover:', 'saboxplugin' ),
197
+ 'description' => __( 'Add a rotate effect when you hover on social icons hover', 'saboxplugin' ),
198
+ 'type' => 'toggle',
199
+ 'condition' => 'sab_colored',
200
+ 'group' => 'saboxplugin_options',
201
+ ),
202
+ 'sab_box_long_shadow' => array(
203
+ 'label' => __( 'Use flat long shadow effect:', 'saboxplugin' ),
204
+ 'description' => __( 'Check this if you want a flat shodow for social icons', 'saboxplugin' ),
205
+ 'type' => 'toggle',
206
+ 'condition' => 'sab_colored',
207
+ 'group' => 'saboxplugin_options',
208
+ ),
209
+ 'sab_box_thin_border' => array(
210
+ 'label' => __( 'Show a thin border on colored social icons:', 'saboxplugin' ),
211
+ 'description' => __( 'Add a border to social icons container.', 'saboxplugin' ),
212
+ 'type' => 'toggle',
213
+ 'condition' => 'sab_colored',
214
+ 'group' => 'saboxplugin_options',
215
+ ),
216
+ ),
217
+ 'color-options' => array(
218
+ 'sab_box_author_color' => array(
219
+ 'label' => __( 'Author name color:', 'saboxplugin' ),
220
+ 'description' => __( 'Select the color for author\'s name text', 'saboxplugin' ),
221
+ 'type' => 'color',
222
+ 'group' => 'saboxplugin_options',
223
+ ),
224
+ 'sab_box_web_color' => array(
225
+ 'label' => __( 'Author website link color:', 'saboxplugin' ),
226
+ 'description' => __( 'Select the color for author\'s website link', 'saboxplugin' ),
227
+ 'type' => 'color',
228
+ 'group' => 'saboxplugin_options',
229
+ ),
230
+ 'sab_box_border' => array(
231
+ 'label' => __( 'Border color of Simple Author Box:', 'saboxplugin' ),
232
+ 'description' => __( 'Select the color for author box border', 'saboxplugin' ),
233
+ 'type' => 'color',
234
+ 'group' => 'saboxplugin_options',
235
+ ),
236
+ 'sab_box_icons_back' => array(
237
+ 'label' => __( 'Background color of social icons bar:', 'saboxplugin' ),
238
+ 'description' => __( 'Select the color for the social icons bar background', 'saboxplugin' ),
239
+ 'type' => 'color',
240
+ 'group' => 'saboxplugin_options',
241
+ ),
242
+ 'sab_box_icons_color' => array(
243
+ 'label' => __( 'Social icons color (for symbols only):', 'saboxplugin' ),
244
+ 'description' => __( 'Select the color for social icons when using the symbols only social icon type', 'saboxplugin' ),
245
+ 'type' => 'color',
246
+ 'group' => 'saboxplugin_options',
247
+ ),
248
+ ),
249
+ 'typography-options' => array(
250
+ 'sab_box_subset' => array(
251
+ 'label' => __( 'Google font characters subset:', 'saboxplugin' ),
252
+ 'description' => __( 'Note - Some Google Fonts do not support particular subsets', 'saboxplugin' ),
253
+ 'type' => 'select',
254
+ 'choices' => Simple_Author_Box_Helper::get_google_font_subsets(),
255
+ 'default' => 'none',
256
+ ),
257
+ 'sab_box_name_font' => array(
258
+ 'label' => __( 'Author name font family:', 'saboxplugin' ),
259
+ 'description' => __( 'Select the font family for the author\'s name', 'saboxplugin' ),
260
+ 'type' => 'select',
261
+ 'choices' => Simple_Author_Box_Helper::get_google_fonts(),
262
+ 'default' => 'None',
263
+ ),
264
+ 'sab_box_web_font' => array(
265
+ 'label' => __( 'Author website font family:', 'saboxplugin' ),
266
+ 'description' => __( 'Select the font family for the author\'s website', 'saboxplugin' ),
267
+ 'type' => 'select',
268
+ 'choices' => Simple_Author_Box_Helper::get_google_fonts(),
269
+ 'default' => 'None',
270
+ ),
271
+ 'sab_box_desc_font' => array(
272
+ 'label' => __( 'Author description font family:', 'saboxplugin' ),
273
+ 'description' => __( 'Select the font family for the author\'s description', 'saboxplugin' ),
274
+ 'type' => 'select',
275
+ 'choices' => Simple_Author_Box_Helper::get_google_fonts(),
276
+ 'default' => 'None',
277
+ ),
278
+ 'sab_box_name_size' => array(
279
+ 'label' => __( 'Author name font size:', 'saboxplugin' ),
280
+ 'description' => __( 'Default font size for author name is 18px.', 'saboxplugin' ),
281
+ 'type' => 'slider',
282
+ 'choices' => array(
283
+ 'min' => 10,
284
+ 'max' => 50,
285
+ 'increment' => 1,
286
+ ),
287
+ 'default' => '18',
288
+ ),
289
+ 'sab_box_web_size' => array(
290
+ 'label' => __( 'Author website font size:', 'saboxplugin' ),
291
+ 'description' => __( 'Default font size for author website is 14px.', 'saboxplugin' ),
292
+ 'type' => 'slider',
293
+ 'choices' => array(
294
+ 'min' => 10,
295
+ 'max' => 50,
296
+ 'increment' => 1,
297
+ ),
298
+ 'default' => '14',
299
+ ),
300
+ 'sab_box_desc_size' => array(
301
+ 'label' => __( 'Author description font size:', 'saboxplugin' ),
302
+ 'description' => __( 'Default font size for author description is 14px.', 'saboxplugin' ),
303
+ 'type' => 'slider',
304
+ 'choices' => array(
305
+ 'min' => 10,
306
+ 'max' => 50,
307
+ 'increment' => 1,
308
+ ),
309
+ 'default' => '14',
310
+ ),
311
+ 'sab_box_icon_size' => array(
312
+ 'label' => __( 'Size of social icons:', 'saboxplugin' ),
313
+ 'description' => __( 'Default font size for social icons is 18px.', 'saboxplugin' ),
314
+ 'type' => 'slider',
315
+ 'choices' => array(
316
+ 'min' => 10,
317
+ 'max' => 50,
318
+ 'increment' => 1,
319
+ ),
320
+ 'default' => '18',
321
+ ),
322
+ 'sab_desc_style' => array(
323
+ 'label' => __( 'Author description font style:', 'saboxplugin' ),
324
+ 'description' => __( 'Select the font style for the author\'s description', 'saboxplugin' ),
325
+ 'type' => 'select',
326
+ 'choices' => array(
327
+ 0 => __( 'Normal', 'saboxplugin' ),
328
+ 1 => __( 'Italic', 'saboxplugin' ),
329
+ ),
330
+ 'default' => '0',
331
+ 'group' => 'saboxplugin_options',
332
+ ),
333
+ ),
334
+ 'miscellaneous-options' => array(
335
+ 'sab_load_fa' => array(
336
+ 'label' => __( 'Disable Font Awesome stylesheet:', 'saboxplugin' ),
337
+ 'description' => __( 'Turn ON to prevent Font Awesome from loading its stylesheet. ONLY do this if your theme or another plugin already loads the Font Awesome stylesheet.', 'saboxplugin' ),
338
+ 'type' => 'toggle',
339
+ 'group' => 'saboxplugin_options',
340
+ ),
341
+ 'sab_footer_inline_style' => array(
342
+ 'label' => __( 'Load generated inline style to footer:', 'saboxplugin' ),
343
+ 'description' => __( 'This option is useful ONLY if you run a plugin that optimizes your CSS delivery or moves your stylesheets to the footer, to get a higher score on speed testing services. However, the plugin style is loaded only on single post and single page.', 'saboxplugin' ),
344
+ 'type' => 'toggle',
345
+ 'group' => 'saboxplugin_options',
346
+ ),
347
+ ),
348
+ );
349
+
350
+ $this->settings = apply_filters( 'sabox_admin_settings', $settings );
351
+ $this->sections = apply_filters( 'sabox_admin_sections', $default_sections );
352
+
353
+ $this->get_all_options();
354
+
355
+ add_action( 'admin_menu', array( $this, 'menu_page' ) );
356
+ add_action( 'admin_init', array( $this, 'save_settings' ) );
357
+ }
358
+
359
+ private function get_all_options() {
360
+
361
+ $this->options = get_option( 'saboxplugin_options', array() );
362
+
363
+ $sab_box_margin_top = get_option( 'sab_box_margin_top' );
364
+ if ( $sab_box_margin_top ) {
365
+ $this->options['sab_box_margin_top'] = $sab_box_margin_top;
366
+ }
367
+ $sab_box_margin_bottom = get_option( 'sab_box_margin_bottom' );
368
+ if ( $sab_box_margin_bottom ) {
369
+ $this->options['sab_box_margin_bottom'] = $sab_box_margin_bottom;
370
+ }
371
+ $sab_box_icon_size = get_option( 'sab_box_icon_size' );
372
+ if ( $sab_box_icon_size ) {
373
+ $this->options['sab_box_icon_size'] = $sab_box_icon_size;
374
+ }
375
+ $sab_box_web_size = get_option( 'sab_box_web_size' );
376
+ if ( $sab_box_web_size ) {
377
+ $this->options['sab_box_web_size'] = $sab_box_web_size;
378
+ }
379
+ $sab_box_name_font = get_option( 'sab_box_name_font' );
380
+ if ( $sab_box_name_font ) {
381
+ $this->options['sab_box_name_font'] = $sab_box_name_font;
382
+ }
383
+ $sab_box_subset = get_option( 'sab_box_subset' );
384
+ if ( $sab_box_subset ) {
385
+ $this->options['sab_box_subset'] = $sab_box_subset;
386
+ }
387
+ $sab_box_desc_font = get_option( 'sab_box_desc_font' );
388
+ if ( $sab_box_desc_font ) {
389
+ $this->options['sab_box_desc_font'] = $sab_box_desc_font;
390
+ }
391
+ $sab_box_web_font = get_option( 'sab_box_web_font' );
392
+ if ( $sab_box_web_font ) {
393
+ $this->options['sab_box_web_font'] = $sab_box_web_font;
394
+ }
395
+ $sab_box_desc_size = get_option( 'sab_box_desc_size' );
396
+ if ( $sab_box_desc_size ) {
397
+ $this->options['sab_box_desc_size'] = $sab_box_desc_size;
398
+ }
399
+
400
+ $this->options['sab_box_padding_top_bottom'] = get_option( 'sab_box_padding_top_bottom', 0 );
401
+ $this->options['sab_box_padding_left_right'] = get_option( 'sab_box_padding_left_right', 0 );
402
+
403
+ }
404
+
405
+ public function menu_page() {
406
+ add_menu_page( __( 'Simple Author Box', 'saboxplugin' ), __( 'Simple Author', 'saboxplugin' ), 'manage_options', 'simple-author-box-options', array( $this, 'setting_page' ), SIMPLE_AUTHOR_BOX_ASSETS . 'img/sab-icon.png' );
407
+ }
408
+
409
+ public function setting_page() {
410
+ ?>
411
+
412
+ <div class="wrap about-wrap epsilon-wrap sabox-wrap">
413
+ <h1>
414
+ <?php
415
+ /* Translators: Welcome Screen Title. */
416
+ echo esc_html__( 'Welcome to Simple Author Box', 'saboxplugin' );
417
+ ?>
418
+ </h1>
419
+ <div class="about-text">
420
+ <?php
421
+ /* Translators: Welcome Screen Description. */
422
+ echo esc_html__( 'Simple Author Box is now installed and ready to use! Get ready to create beautiful author boxes. We want to make sure you have the best experience using Simple Author Box, which is why we\'ve gathered all the necessary information below. We hope you enjoy using Simple Author Box as much as we enjoy creating great products.', 'saboxplugin' );
423
+ ?>
424
+ </div>
425
+ <div class="wp-badge sab-welcome-logo"></div>
426
+
427
+ <h2 class="nav-tab-wrapper wp-clearfix">
428
+ <?php foreach ( $this->sections as $id => $section ) { ?>
429
+ <a class="nav-tab <?php echo $id === $this->tab ? 'nav-tab-active' : ''; ?>" href="<?php echo esc_url( $this->generate_admin_url( $id ) ); ?>"><?php echo wp_kses_post( $section['label'] ); ?></a>
430
+ <?php } ?>
431
+ </h2>
432
+ <form method="post" id="sabox-cotnainer">
433
+ <?php
434
+
435
+ wp_nonce_field( 'sabox-plugin-settings', 'sabox_plugin_settings_page' );
436
+ echo '<input type="hidden" name="sabox-setting-tab" value="' . $this->tab . '">';
437
+
438
+ if ( isset( $this->sections[ $this->tab ]['path'] ) ) {
439
+ require_once $this->sections[ $this->tab ]['path'];
440
+ } else {
441
+ echo '<table class="form-table sabox-table">';
442
+ foreach ( $this->settings[ $this->tab ] as $field_name => $field ) {
443
+ $this->generate_setting_field( $field_name, $field );
444
+ }
445
+ echo '</table>';
446
+ echo '<div class="sabox-sumit-form">';
447
+ submit_button( esc_html__( 'Submit', 'saboxplugin' ), 'primary', '', false );
448
+ echo '</div>';
449
+ }
450
+
451
+ ?>
452
+ </form>
453
+
454
+ <div class="col-fulwidth feedback-box">
455
+ <h3>
456
+ <?php esc_html_e( 'Lend a hand & share your thoughts', 'saboxplugin' ); ?>
457
+ <img src="<?php echo SIMPLE_AUTHOR_BOX_ASSETS; ?>/img/handshake.png">
458
+ </h3>
459
+ <p>
460
+ <?php
461
+ echo vsprintf(
462
+ // Translators: 1 is Theme Name, 2 is opening Anchor, 3 is closing.
463
+ __( 'We\'ve been working hard on making %1$s the best one out there. We\'re interested in hearing your thoughts about %1$s and what we could do to <u>make it even better</u>.<br/> <br/> %2$sHave your say%3$s', 'saboxplugin' ),
464
+ array(
465
+ 'Simple Author Box',
466
+ '<a class="button button-feedback" target="_blank" href="http://bit.ly/feedback-simple-author-box">',
467
+ '</a>',
468
+ )
469
+ );
470
+ ?>
471
+ </p>
472
+ </div>
473
+
474
+ </div>
475
+
476
+ <?php
477
+ }
478
+
479
+ public function save_settings() {
480
+
481
+ if ( isset( $_POST['sabox_plugin_settings_page'] ) && wp_verify_nonce( $_POST['sabox_plugin_settings_page'], 'sabox-plugin-settings' ) ) {
482
+ $tab = $_POST['sabox-setting-tab'];
483
+ $settings = isset( $_POST['sabox-settings'] ) ? $_POST['sabox-settings'] : array();
484
+ $groups = array();
485
+
486
+ foreach ( $this->settings[ $tab ] as $key => $setting ) {
487
+ if ( isset( $setting['group'] ) ) {
488
+
489
+ if ( ! isset( $groups[ $setting['group'] ] ) ) {
490
+ $groups[ $setting['group'] ] = get_option( $setting['group'], array() );
491
+ }
492
+
493
+ if ( ! isset( $settings[ $setting['group'] ][ $key ] ) && isset( $groups[ $setting['group'] ][ $key ] ) ) {
494
+ unset( $groups[ $setting['group'] ][ $key ] );
495
+ }
496
+
497
+ if ( isset( $settings[ $setting['group'] ][ $key ] ) ) {
498
+ $groups[ $setting['group'] ][ $key ] = $this->sanitize_fields( $setting, $settings[ $setting['group'] ][ $key ] );
499
+ }
500
+ } else {
501
+
502
+ $current_value = get_option( $key );
503
+ if ( isset( $settings[ $key ] ) ) {
504
+ $value = $this->sanitize_fields( $setting, $settings[ $key ] );
505
+ if ( $current_value != $value ) {
506
+ update_option( $key, $value );
507
+ }
508
+ }
509
+ }
510
+ }
511
+
512
+ foreach ( $groups as $key => $values ) {
513
+ update_option( $key, $values );
514
+ }
515
+
516
+ do_action( 'sabox_save_settings' );
517
+
518
+ $this->get_all_options();
519
+
520
+ }
521
+
522
+ }
523
+
524
+ private function sanitize_fields( $setting, $value ) {
525
+ $default_sanitizers = array(
526
+ 'toggle' => 'absint',
527
+ 'slider' => 'absint',
528
+ 'color' => 'sanitize_hex_color',
529
+ );
530
+
531
+ if ( isset( $setting['sanitize'] ) && function_exists( $setting['sanitize'] ) ) {
532
+ $value = call_user_func( $setting['sanitize'], $value );
533
+ } elseif ( isset( $default_sanitizers[ $setting['type'] ] ) && function_exists( $default_sanitizers[ $setting['type'] ] ) ) {
534
+ $value = call_user_func( $default_sanitizers[ $setting['type'] ], $value );
535
+ } elseif ( 'select' == $setting['type'] ) {
536
+ if ( isset( $setting['choices'][ $value ] ) ) {
537
+ $value = $value;
538
+ } else {
539
+ $value = $setting['default'];
540
+ }
541
+ } elseif ( 'multiplecheckbox' == $setting['type'] ) {
542
+ foreach ( $value as $key ) {
543
+ if ( ! isset( $setting['choices'][ $key ] ) ) {
544
+ unset( $value[ $key ] );
545
+ }
546
+ }
547
+ } else {
548
+ $value = sanitize_text_field( $value );
549
+ }
550
+
551
+ return $value;
552
+
553
+ }
554
+
555
+ private function generate_admin_url( $id ) {
556
+ $url = 'admin.php?page=simple-author-box-options&tab=%1$s';
557
+
558
+ return admin_url( sprintf( $url, $id ) );
559
+ }
560
+
561
+ private function generate_admin_path( $id ) {
562
+ return $this->views_path . $id . '.php';
563
+ }
564
+
565
+ private function generate_setting_field( $field_name, $field ) {
566
+ $class = '';
567
+ $name = 'sabox-settings[';
568
+ if ( isset( $field['group'] ) ) {
569
+ $name .= $field['group'] . '][' . esc_attr( $field_name ) . ']';
570
+ } else {
571
+ $name .= esc_attr( $field_name ) . ']';
572
+ }
573
+ if ( isset( $field['condition'] ) ) {
574
+ $class = 'show_if_' . $field['condition'] . ' hide';
575
+ }
576
+ echo '<tr valign="top" class="' . esc_attr( $class ) . '">';
577
+ echo '<th scope="row">';
578
+ echo esc_html( $field['label'] );
579
+ if ( isset( $field['description'] ) ) {
580
+ echo '<p class="description">' . esc_html( $field['description'] ) . '</p>';
581
+ }
582
+ echo '</th>';
583
+ echo '<td>';
584
+ switch ( $field['type'] ) {
585
+ case 'toggle':
586
+ echo '<div class="checkbox_switch">';
587
+ echo '<div class="onoffswitch">';
588
+ echo '<input type="checkbox" id="' . esc_attr( $field_name ) . '" name="' . esc_attr( $name ) . '" class="onoffswitch-checkbox saboxfield" ' . checked( 1, isset( $this->options[ $field_name ] ), false ) . ' value="1">';
589
+ echo '<label class="onoffswitch-label" for="' . esc_attr( $field_name ) . '"></label>';
590
+ echo '</div>';
591
+ echo '</div>';
592
+ break;
593
+ case 'select':
594
+ $value = isset( $this->options[ $field_name ] ) ? $this->options[ $field_name ] : $field['default'];
595
+ echo '<select id="' . esc_attr( $field_name ) . '" name="' . esc_attr( $name ) . '" class="saboxfield">';
596
+ foreach ( $field['choices'] as $key => $choice ) {
597
+ echo '<option value="' . esc_attr( $key ) . '" ' . selected( $key, $value, false ) . '>' . esc_html( $choice ) . '</option>';
598
+ }
599
+ echo '</select>';
600
+ break;
601
+ case 'readonly':
602
+ echo '<textarea clas="regular-text" rows="3" cols="50" onclick="this.focus();this.select();" readonly="readonly">' . esc_attr( $field['value'] ) . '</textarea>';
603
+ break;
604
+ case 'slider':
605
+ $value = isset( $this->options[ $field_name ] ) ? $this->options[ $field_name ] : $field['default'];
606
+ echo '<div class="sabox-slider-container slider-container">';
607
+ echo '<input type="text" id="' . esc_attr( $field_name ) . '" class="saboxfield" name="' . esc_attr( $name ) . '" data-min="' . absint( $field['choices']['min'] ) . '" data-max="' . absint( $field['choices']['max'] ) . '" data-step="' . absint( $field['choices']['increment'] ) . '" value="' . esc_attr( $value ) . 'px">';
608
+ echo '<div class="sabox-slider"></div>';
609
+ echo '</div>';
610
+ break;
611
+ case 'color':
612
+ $value = isset( $this->options[ $field_name ] ) ? $this->options[ $field_name ] : '';
613
+ echo '<div class="sadbox-colorpicker">';
614
+ echo '<input id="' . esc_attr( $field_name ) . '" class="saboxfield sabox-color" name="' . esc_attr( $name ) . '" value="' . esc_attr( $value ) . '">';
615
+ echo '</div>';
616
+ break;
617
+ case 'multiplecheckbox':
618
+ echo '<div class="sabox-multicheckbox">';
619
+ if ( ! isset( $field['choices'] ) && isset( $field['handle'] ) && is_array( $field['handle'] ) ) {
620
+ if ( class_exists( $field['handle'][0] ) ) {
621
+ $class = $field['handle'][0];
622
+ $method = $field['handle'][1];
623
+ $field['choices'] = $class::$method();
624
+ }
625
+ }
626
+
627
+ $field['default'] = array_keys( $field['choices'] );
628
+
629
+ $values = isset( $this->options[ $field_name ] ) ? $this->options[ $field_name ] : $field['default'];
630
+ foreach ( $field['choices'] as $key => $choice ) {
631
+ echo '<div>';
632
+ echo '<input id="' . $key . '-' . $field_name . '" type="checkbox" value="' . $key . '" ' . checked( 1, in_array( $key, $values ), false ) . ' name="' . esc_attr( $name ) . '[]"><label for="' . $key . '-' . $field_name . '" class="checkbox-label">' . $choice . '</label>';
633
+ echo '</div>';
634
+ }
635
+ echo '</div>';
636
+ break;
637
+ default:
638
+ do_action( "sabox_field_{$field['type']}_output", $field_name, $field );
639
+ break;
640
+ }
641
+ echo '</td>';
642
+ echo '</tr>';
643
+ }
644
+
645
+ }
646
+
647
+ new Simple_Author_Box_Admin_Page();
inc/class-simple-author-box-helper.php ADDED
@@ -0,0 +1,942 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ *
5
+ */
6
+ class Simple_Author_Box_Helper {
7
+
8
+ public static $fonts = array();
9
+
10
+ static $social_icons = array(
11
+ 'addthis' => 'Add This',
12
+ 'behance' => 'Behance',
13
+ 'delicious' => 'Delicious',
14
+ 'deviantart' => 'Deviantart',
15
+ 'digg' => 'Digg',
16
+ 'dribbble' => 'Dribbble',
17
+ 'facebook' => 'Facebook',
18
+ 'flickr' => 'Flickr',
19
+ 'github' => 'Github',
20
+ 'google' => 'Google',
21
+ 'googleplus' => 'Google Plus',
22
+ 'html5' => 'Html5',
23
+ 'instagram' => 'Instagram',
24
+ 'linkedin' => 'Linkedin',
25
+ 'pinterest' => 'Pinterest',
26
+ 'reddit' => 'Reddit',
27
+ 'rss' => 'Rss',
28
+ 'sharethis' => 'Sharethis',
29
+ 'skype' => 'Skype',
30
+ 'soundcloud' => 'Soundcloud',
31
+ 'spotify' => 'Spotify',
32
+ 'stackoverflow' => 'Stackoverflow',
33
+ 'steam' => 'Steam',
34
+ 'stumbleUpon' => 'StumbleUpon',
35
+ 'tumblr' => 'Tumblr',
36
+ 'twitter' => 'Twitter',
37
+ 'vimeo' => 'Vimeo',
38
+ 'windows' => 'Windows',
39
+ 'wordpress' => 'Wordpress',
40
+ 'yahoo' => 'Yahoo',
41
+ 'youtube' => 'Youtube',
42
+ 'xing' => 'Xing',
43
+ 'mixcloud' => 'MixCloud',
44
+ 'goodreads' => 'Goodreads',
45
+ 'twitch' => 'Twitch',
46
+ 'user_email' => 'Email',
47
+ );
48
+
49
+ public static function get_sabox_social_icon( $url, $icon_name ) {
50
+
51
+ $options = get_option( 'saboxplugin_options' );
52
+
53
+ if ( isset( $options['sab_link_target'] ) && '0' != $options['sab_link_target'] ) {
54
+ $sabox_blank = '_blank';
55
+ } else {
56
+ $sabox_blank = '_self';
57
+ }
58
+
59
+ if ( isset( $options['sab_colored'] ) && '0' != $options['sab_colored'] ) {
60
+ $sab_color = 'saboxplugin-icon-color';
61
+ } else {
62
+ $sab_color = 'saboxplugin-icon-grey';
63
+ }
64
+
65
+ return '<a target="' . esc_attr( $sabox_blank ) . '" href="' . esc_url( $url ) . '" rel="nofollow"><span class="' . esc_attr( $sab_color ) . ' saboxplugin-icon-' . esc_attr( $icon_name ) . '"></span></a>';
66
+
67
+ }
68
+
69
+ public static function get_user_social_links( $userd_id, $show_email = false ) {
70
+
71
+ $social_icons = apply_filters( 'sabox_social_icons', Simple_Author_Box_Helper::$social_icons );
72
+ $social_links = get_user_meta( $userd_id, 'sabox_social_links', true );
73
+ $use_meta = true;
74
+
75
+ if ( ! is_array( $social_links ) ) {
76
+ $social_links = array();
77
+ $use_meta = false;
78
+
79
+ if ( ! $show_email ) {
80
+ unset( $social_icons['user_email'] );
81
+ }
82
+
83
+ foreach ( $social_icons as $key => $social_icon ) {
84
+ $url = get_the_author_meta( $key, $userd_id );
85
+ if ( $url ) {
86
+ $social_links[ $key ] = $url;
87
+ }
88
+ }
89
+ }
90
+
91
+ if ( $show_email && $use_meta ) {
92
+ $social_links['user_email'] = get_the_author_meta( 'user_email', $userd_id );
93
+ }
94
+
95
+ return $social_links;
96
+
97
+ }
98
+
99
+ public static function get_google_font_subsets() {
100
+ return array(
101
+ 'none' => 'None',
102
+ 'latin' => 'Latin',
103
+ 'latin-ext' => 'Latin Extended',
104
+ 'cyrillic' => 'Cyrillic',
105
+ 'cyrillic-ext' => 'Cyrillic Extended',
106
+ 'devanagari' => 'Devanagari',
107
+ 'greek' => 'Greek',
108
+ 'greek-ext' => 'Greek Extended',
109
+ 'vietnamese' => 'Vietnamese',
110
+ 'khmer' => 'Khmer',
111
+ );
112
+ }
113
+
114
+ public static function get_google_fonts() {
115
+ $fonts = array(
116
+ 'None',
117
+ 'ABeeZee',
118
+ 'Abel',
119
+ 'Abril Fatface',
120
+ 'Aclonica',
121
+ 'Acme',
122
+ 'Actor',
123
+ 'Adamina',
124
+ 'Advent Pro',
125
+ 'Aguafina Script',
126
+ 'Akronim',
127
+ 'Aladin',
128
+ 'Aldrich',
129
+ 'Alef',
130
+ 'Alegreya',
131
+ 'Alegreya SC',
132
+ 'Alegreya Sans',
133
+ 'Alegreya Sans SC',
134
+ 'Alex Brush',
135
+ 'Alfa Slab One',
136
+ 'Alice',
137
+ 'Alike',
138
+ 'Alike Angular',
139
+ 'Allan',
140
+ 'Allerta',
141
+ 'Allerta Stencil',
142
+ 'Allura',
143
+ 'Almendra',
144
+ 'Almendra Display',
145
+ 'Almendra SC',
146
+ 'Amarante',
147
+ 'Amaranth',
148
+ 'Amatic SC',
149
+ 'Amethysta',
150
+ 'Anaheim',
151
+ 'Andada',
152
+ 'Andika',
153
+ 'Angkor',
154
+ 'Annie Use Your Telescope',
155
+ 'Anonymous Pro',
156
+ 'Antic',
157
+ 'Antic Didone',
158
+ 'Antic Slab',
159
+ 'Anton',
160
+ 'Arapey',
161
+ 'Arbutus',
162
+ 'Arbutus Slab',
163
+ 'Architects Daughter',
164
+ 'Archivo Black',
165
+ 'Archivo Narrow',
166
+ 'Arimo',
167
+ 'Arizonia',
168
+ 'Armata',
169
+ 'Artifika',
170
+ 'Arvo',
171
+ 'Asap',
172
+ 'Asset',
173
+ 'Astloch',
174
+ 'Asul',
175
+ 'Atomic Age',
176
+ 'Aubrey',
177
+ 'Audiowide',
178
+ 'Autour One',
179
+ 'Average',
180
+ 'Average Sans',
181
+ 'Averia Gruesa Libre',
182
+ 'Averia Libre',
183
+ 'Averia Sans Libre',
184
+ 'Averia Serif Libre',
185
+ 'Bad Script',
186
+ 'Balthazar',
187
+ 'Bangers',
188
+ 'Basic',
189
+ 'Battambang',
190
+ 'Baumans',
191
+ 'Bayon',
192
+ 'Belgrano',
193
+ 'Belleza',
194
+ 'BenchNine',
195
+ 'Bentham',
196
+ 'Berkshire Swash',
197
+ 'Bevan',
198
+ 'Bigelow Rules',
199
+ 'Bigshot One',
200
+ 'Bilbo',
201
+ 'Bilbo Swash Caps',
202
+ 'Bitter',
203
+ 'Black Ops One',
204
+ 'Bokor',
205
+ 'Bonbon',
206
+ 'Boogaloo',
207
+ 'Bowlby One',
208
+ 'Bowlby One SC',
209
+ 'Brawler',
210
+ 'Bree Serif',
211
+ 'Bubblegum Sans',
212
+ 'Bubbler One',
213
+ 'Buda',
214
+ 'Buenard',
215
+ 'Butcherman',
216
+ 'Butterfly Kids',
217
+ 'Cabin',
218
+ 'Cabin Condensed',
219
+ 'Cabin Sketch',
220
+ 'Caesar Dressing',
221
+ 'Cagliostro',
222
+ 'Calligraffitti',
223
+ 'Cambo',
224
+ 'Candal',
225
+ 'Cantarell',
226
+ 'Cantata One',
227
+ 'Cantora One',
228
+ 'Capriola',
229
+ 'Cardo',
230
+ 'Carme',
231
+ 'Carrois Gothic',
232
+ 'Carrois Gothic SC',
233
+ 'Carter One',
234
+ 'Caudex',
235
+ 'Cedarville Cursive',
236
+ 'Ceviche One',
237
+ 'Changa One',
238
+ 'Chango',
239
+ 'Chau Philomene One',
240
+ 'Chela One',
241
+ 'Chelsea Market',
242
+ 'Chenla',
243
+ 'Cherry Cream Soda',
244
+ 'Cherry Swash',
245
+ 'Chewy',
246
+ 'Chicle',
247
+ 'Chivo',
248
+ 'Cinzel',
249
+ 'Cinzel Decorative',
250
+ 'Clicker Script',
251
+ 'Coda',
252
+ 'Coda Caption',
253
+ 'Codystar',
254
+ 'Combo',
255
+ 'Comfortaa',
256
+ 'Coming Soon',
257
+ 'Concert One',
258
+ 'Condiment',
259
+ 'Content',
260
+ 'Contrail One',
261
+ 'Convergence',
262
+ 'Cookie',
263
+ 'Copse',
264
+ 'Corben',
265
+ 'Courgette',
266
+ 'Cousine',
267
+ 'Coustard',
268
+ 'Covered By Your Grace',
269
+ 'Crafty Girls',
270
+ 'Creepster',
271
+ 'Crete Round',
272
+ 'Crimson Text',
273
+ 'Croissant One',
274
+ 'Crushed',
275
+ 'Cuprum',
276
+ 'Cutive',
277
+ 'Cutive Mono',
278
+ 'Damion',
279
+ 'Dancing Script',
280
+ 'Dangrek',
281
+ 'Dawning of a New Day',
282
+ 'Days One',
283
+ 'Delius',
284
+ 'Delius Swash Caps',
285
+ 'Delius Unicase',
286
+ 'Della Respira',
287
+ 'Denk One',
288
+ 'Devonshire',
289
+ 'Didact Gothic',
290
+ 'Diplomata',
291
+ 'Diplomata SC',
292
+ 'Domine',
293
+ 'Donegal One',
294
+ 'Doppio One',
295
+ 'Dorsa',
296
+ 'Dosis',
297
+ 'Dr Sugiyama',
298
+ 'Droid Sans',
299
+ 'Droid Sans Mono',
300
+ 'Droid Serif',
301
+ 'Duru Sans',
302
+ 'Dynalight',
303
+ 'EB Garamond',
304
+ 'Eagle Lake',
305
+ 'Eater',
306
+ 'Economica',
307
+ 'Ek Mukta',
308
+ 'Electrolize',
309
+ 'Elsie',
310
+ 'Elsie Swash Caps',
311
+ 'Emblema One',
312
+ 'Emilys Candy',
313
+ 'Engagement',
314
+ 'Englebert',
315
+ 'Enriqueta',
316
+ 'Erica One',
317
+ 'Esteban',
318
+ 'Euphoria Script',
319
+ 'Ewert',
320
+ 'Exo',
321
+ 'Exo 2',
322
+ 'Expletus Sans',
323
+ 'Fanwood Text',
324
+ 'Fascinate',
325
+ 'Fascinate Inline',
326
+ 'Faster One',
327
+ 'Fasthand',
328
+ 'Fauna One',
329
+ 'Federant',
330
+ 'Federo',
331
+ 'Felipa',
332
+ 'Fenix',
333
+ 'Finger Paint',
334
+ 'Fira Mono',
335
+ 'Fira Sans',
336
+ 'Fjalla One',
337
+ 'Fjord One',
338
+ 'Flamenco',
339
+ 'Flavors',
340
+ 'Fondamento',
341
+ 'Fontdiner Swanky',
342
+ 'Forum',
343
+ 'Francois One',
344
+ 'Freckle Face',
345
+ 'Fredericka the Great',
346
+ 'Fredoka One',
347
+ 'Freehand',
348
+ 'Fresca',
349
+ 'Frijole',
350
+ 'Fruktur',
351
+ 'Fugaz One',
352
+ 'GFS Didot',
353
+ 'GFS Neohellenic',
354
+ 'Gabriela',
355
+ 'Gafata',
356
+ 'Galdeano',
357
+ 'Galindo',
358
+ 'Gentium Basic',
359
+ 'Gentium Book Basic',
360
+ 'Geo',
361
+ 'Geostar',
362
+ 'Geostar Fill',
363
+ 'Germania One',
364
+ 'Gilda Display',
365
+ 'Give You Glory',
366
+ 'Glass Antiqua',
367
+ 'Glegoo',
368
+ 'Gloria Hallelujah',
369
+ 'Goblin One',
370
+ 'Gochi Hand',
371
+ 'Gorditas',
372
+ 'Goudy Bookletter 1911',
373
+ 'Graduate',
374
+ 'Grand Hotel',
375
+ 'Gravitas One',
376
+ 'Great Vibes',
377
+ 'Griffy',
378
+ 'Gruppo',
379
+ 'Gudea',
380
+ 'Habibi',
381
+ 'Hammersmith One',
382
+ 'Hanalei',
383
+ 'Hanalei Fill',
384
+ 'Handlee',
385
+ 'Hanuman',
386
+ 'Happy Monkey',
387
+ 'Headland One',
388
+ 'Henny Penny',
389
+ 'Herr Von Muellerhoff',
390
+ 'Hind',
391
+ 'Holtwood One SC',
392
+ 'Homemade Apple',
393
+ 'Homenaje',
394
+ 'IM Fell DW Pica',
395
+ 'IM Fell DW Pica SC',
396
+ 'IM Fell Double Pica',
397
+ 'IM Fell Double Pica SC',
398
+ 'IM Fell English',
399
+ 'IM Fell English SC',
400
+ 'IM Fell French Canon',
401
+ 'IM Fell French Canon SC',
402
+ 'IM Fell Great Primer',
403
+ 'IM Fell Great Primer SC',
404
+ 'Iceberg',
405
+ 'Iceland',
406
+ 'Imprima',
407
+ 'Inconsolata',
408
+ 'Inder',
409
+ 'Indie Flower',
410
+ 'Inika',
411
+ 'Irish Grover',
412
+ 'Istok Web',
413
+ 'Italiana',
414
+ 'Italianno',
415
+ 'Jacques Francois',
416
+ 'Jacques Francois Shadow',
417
+ 'Jim Nightshade',
418
+ 'Jockey One',
419
+ 'Jolly Lodger',
420
+ 'Josefin Sans',
421
+ 'Josefin Slab',
422
+ 'Joti One',
423
+ 'Judson',
424
+ 'Julee',
425
+ 'Julius Sans One',
426
+ 'Junge',
427
+ 'Jura',
428
+ 'Just Another Hand',
429
+ 'Just Me Again Down Here',
430
+ 'Kalam',
431
+ 'Kameron',
432
+ 'Kantumruy',
433
+ 'Karla',
434
+ 'Karma',
435
+ 'Kaushan Script',
436
+ 'Kavoon',
437
+ 'Kdam Thmor',
438
+ 'Keania One',
439
+ 'Kelly Slab',
440
+ 'Kenia',
441
+ 'Khmer',
442
+ 'Kite One',
443
+ 'Knewave',
444
+ 'Kotta One',
445
+ 'Koulen',
446
+ 'Kranky',
447
+ 'Kreon',
448
+ 'Kristi',
449
+ 'Krona One',
450
+ 'La Belle Aurore',
451
+ 'Lancelot',
452
+ 'Lato',
453
+ 'League Script',
454
+ 'Leckerli One',
455
+ 'Ledger',
456
+ 'Lekton',
457
+ 'Lemon',
458
+ 'Libre Baskerville',
459
+ 'Life Savers',
460
+ 'Lilita One',
461
+ 'Lily Script One',
462
+ 'Limelight',
463
+ 'Linden Hill',
464
+ 'Lobster',
465
+ 'Lobster Two',
466
+ 'Londrina Outline',
467
+ 'Londrina Shadow',
468
+ 'Londrina Sketch',
469
+ 'Londrina Solid',
470
+ 'Lora',
471
+ 'Love Ya Like A Sister',
472
+ 'Loved by the King',
473
+ 'Lovers Quarrel',
474
+ 'Luckiest Guy',
475
+ 'Lusitana',
476
+ 'Lustria',
477
+ 'Macondo',
478
+ 'Macondo Swash Caps',
479
+ 'Magra',
480
+ 'Maiden Orange',
481
+ 'Mako',
482
+ 'Marcellus',
483
+ 'Marcellus SC',
484
+ 'Marck Script',
485
+ 'Margarine',
486
+ 'Marko One',
487
+ 'Marmelad',
488
+ 'Marvel',
489
+ 'Mate',
490
+ 'Mate SC',
491
+ 'Maven Pro',
492
+ 'McLaren',
493
+ 'Meddon',
494
+ 'MedievalSharp',
495
+ 'Medula One',
496
+ 'Megrim',
497
+ 'Meie Script',
498
+ 'Merienda',
499
+ 'Merienda One',
500
+ 'Merriweather',
501
+ 'Merriweather Sans',
502
+ 'Metal',
503
+ 'Metal Mania',
504
+ 'Metamorphous',
505
+ 'Metrophobic',
506
+ 'Michroma',
507
+ 'Milonga',
508
+ 'Miltonian',
509
+ 'Miltonian Tattoo',
510
+ 'Miniver',
511
+ 'Miss Fajardose',
512
+ 'Modern Antiqua',
513
+ 'Molengo',
514
+ 'Molle',
515
+ 'Monda',
516
+ 'Monofett',
517
+ 'Monoton',
518
+ 'Monsieur La Doulaise',
519
+ 'Montaga',
520
+ 'Montez',
521
+ 'Montserrat',
522
+ 'Montserrat Alternates',
523
+ 'Montserrat Subrayada',
524
+ 'Moul',
525
+ 'Moulpali',
526
+ 'Mountains of Christmas',
527
+ 'Mouse Memoirs',
528
+ 'Mr Bedfort',
529
+ 'Mr Dafoe',
530
+ 'Mr De Haviland',
531
+ 'Mrs Saint Delafield',
532
+ 'Mrs Sheppards',
533
+ 'Muli',
534
+ 'Mystery Quest',
535
+ 'Neucha',
536
+ 'Neuton',
537
+ 'New Rocker',
538
+ 'News Cycle',
539
+ 'Niconne',
540
+ 'Nixie One',
541
+ 'Nobile',
542
+ 'Nokora',
543
+ 'Norican',
544
+ 'Nosifer',
545
+ 'Nothing You Could Do',
546
+ 'Noticia Text',
547
+ 'Noto Sans',
548
+ 'Noto Serif',
549
+ 'Nova Cut',
550
+ 'Nova Flat',
551
+ 'Nova Mono',
552
+ 'Nova Oval',
553
+ 'Nova Round',
554
+ 'Nova Script',
555
+ 'Nova Slim',
556
+ 'Nova Square',
557
+ 'Numans',
558
+ 'Nunito',
559
+ 'Odor Mean Chey',
560
+ 'Offside',
561
+ 'Old Standard TT',
562
+ 'Oldenburg',
563
+ 'Oleo Script',
564
+ 'Oleo Script Swash Caps',
565
+ 'Open Sans',
566
+ 'Open Sans Condensed',
567
+ 'Oranienbaum',
568
+ 'Orbitron',
569
+ 'Oregano',
570
+ 'Orienta',
571
+ 'Original Surfer',
572
+ 'Oswald',
573
+ 'Over the Rainbow',
574
+ 'Overlock',
575
+ 'Overlock SC',
576
+ 'Ovo',
577
+ 'Oxygen',
578
+ 'Oxygen Mono',
579
+ 'PT Mono',
580
+ 'PT Sans',
581
+ 'PT Sans Caption',
582
+ 'PT Sans Narrow',
583
+ 'PT Serif',
584
+ 'PT Serif Caption',
585
+ 'Pacifico',
586
+ 'Paprika',
587
+ 'Parisienne',
588
+ 'Passero One',
589
+ 'Passion One',
590
+ 'Pathway Gothic One',
591
+ 'Patrick Hand',
592
+ 'Patrick Hand SC',
593
+ 'Patua One',
594
+ 'Paytone One',
595
+ 'Peralta',
596
+ 'Permanent Marker',
597
+ 'Petit Formal Script',
598
+ 'Petrona',
599
+ 'Philosopher',
600
+ 'Piedra',
601
+ 'Pinyon Script',
602
+ 'Pirata One',
603
+ 'Plaster',
604
+ 'Play',
605
+ 'Playball',
606
+ 'Playfair Display',
607
+ 'Playfair Display SC',
608
+ 'Podkova',
609
+ 'Poiret One',
610
+ 'Poller One',
611
+ 'Poly',
612
+ 'Pompiere',
613
+ 'Pontano Sans',
614
+ 'Port Lligat Sans',
615
+ 'Port Lligat Slab',
616
+ 'Prata',
617
+ 'Preahvihear',
618
+ 'Press Start 2P',
619
+ 'Princess Sofia',
620
+ 'Prociono',
621
+ 'Prosto One',
622
+ 'Puritan',
623
+ 'Purple Purse',
624
+ 'Quando',
625
+ 'Quantico',
626
+ 'Quattrocento',
627
+ 'Quattrocento Sans',
628
+ 'Questrial',
629
+ 'Quicksand',
630
+ 'Quintessential',
631
+ 'Qwigley',
632
+ 'Racing Sans One',
633
+ 'Radley',
634
+ 'Rajdhani',
635
+ 'Raleway',
636
+ 'Raleway Dots',
637
+ 'Rambla',
638
+ 'Rammetto One',
639
+ 'Ranchers',
640
+ 'Rancho',
641
+ 'Rationale',
642
+ 'Redressed',
643
+ 'Reenie Beanie',
644
+ 'Revalia',
645
+ 'Ribeye',
646
+ 'Ribeye Marrow',
647
+ 'Righteous',
648
+ 'Risque',
649
+ 'Roboto',
650
+ 'Roboto Condensed',
651
+ 'Roboto Slab',
652
+ 'Rochester',
653
+ 'Rock Salt',
654
+ 'Rokkitt',
655
+ 'Romanesco',
656
+ 'Ropa Sans',
657
+ 'Rosario',
658
+ 'Rosarivo',
659
+ 'Rouge Script',
660
+ 'Rubik Mono One',
661
+ 'Rubik One',
662
+ 'Ruda',
663
+ 'Rufina',
664
+ 'Ruge Boogie',
665
+ 'Ruluko',
666
+ 'Rum Raisin',
667
+ 'Ruslan Display',
668
+ 'Russo One',
669
+ 'Ruthie',
670
+ 'Rye',
671
+ 'Sacramento',
672
+ 'Sail',
673
+ 'Salsa',
674
+ 'Sanchez',
675
+ 'Sancreek',
676
+ 'Sansita One',
677
+ 'Sarina',
678
+ 'Satisfy',
679
+ 'Scada',
680
+ 'Schoolbell',
681
+ 'Seaweed Script',
682
+ 'Sevillana',
683
+ 'Seymour One',
684
+ 'Shadows Into Light',
685
+ 'Shadows Into Light Two',
686
+ 'Shanti',
687
+ 'Share',
688
+ 'Share Tech',
689
+ 'Share Tech Mono',
690
+ 'Shojumaru',
691
+ 'Short Stack',
692
+ 'Siemreap',
693
+ 'Sigmar One',
694
+ 'Signika',
695
+ 'Signika Negative',
696
+ 'Simonetta',
697
+ 'Sintony',
698
+ 'Sirin Stencil',
699
+ 'Six Caps',
700
+ 'Skranji',
701
+ 'Slabo 13px',
702
+ 'Slabo 27px',
703
+ 'Slackey',
704
+ 'Smokum',
705
+ 'Smythe',
706
+ 'Sniglet',
707
+ 'Snippet',
708
+ 'Snowburst One',
709
+ 'Sofadi One',
710
+ 'Sofia',
711
+ 'Sonsie One',
712
+ 'Sorts Mill Goudy',
713
+ 'Source Code Pro',
714
+ 'Source Sans Pro',
715
+ 'Source Serif Pro',
716
+ 'Special Elite',
717
+ 'Spicy Rice',
718
+ 'Spinnaker',
719
+ 'Spirax',
720
+ 'Squada One',
721
+ 'Stalemate',
722
+ 'Stalinist One',
723
+ 'Stardos Stencil',
724
+ 'Stint Ultra Condensed',
725
+ 'Stint Ultra Expanded',
726
+ 'Stoke',
727
+ 'Strait',
728
+ 'Sue Ellen Francisco',
729
+ 'Sunshiney',
730
+ 'Supermercado One',
731
+ 'Suwannaphum',
732
+ 'Swanky and Moo Moo',
733
+ 'Syncopate',
734
+ 'Tangerine',
735
+ 'Taprom',
736
+ 'Tauri',
737
+ 'Teko',
738
+ 'Telex',
739
+ 'Tenor Sans',
740
+ 'Text Me One',
741
+ 'The Girl Next Door',
742
+ 'Tienne',
743
+ 'Tinos',
744
+ 'Titan One',
745
+ 'Titillium Web',
746
+ 'Trade Winds',
747
+ 'Trocchi',
748
+ 'Trochut',
749
+ 'Trykker',
750
+ 'Tulpen One',
751
+ 'Ubuntu',
752
+ 'Ubuntu Condensed',
753
+ 'Ubuntu Mono',
754
+ 'Ultra',
755
+ 'Uncial Antiqua',
756
+ 'Underdog',
757
+ 'Unica One',
758
+ 'UnifrakturCook',
759
+ 'UnifrakturMaguntia',
760
+ 'Unkempt',
761
+ 'Unlock',
762
+ 'Unna',
763
+ 'VT323',
764
+ 'Vampiro One',
765
+ 'Varela',
766
+ 'Varela Round',
767
+ 'Vast Shadow',
768
+ 'Vibur',
769
+ 'Vidaloka',
770
+ 'Viga',
771
+ 'Voces',
772
+ 'Volkhov',
773
+ 'Vollkorn',
774
+ 'Voltaire',
775
+ 'Waiting for the Sunrise',
776
+ 'Wallpoet',
777
+ 'Walter Turncoat',
778
+ 'Warnes',
779
+ 'Wellfleet',
780
+ 'Wendy One',
781
+ 'Wire One',
782
+ 'Yanone Kaffeesatz',
783
+ 'Yellowtail',
784
+ 'Yeseva One',
785
+ 'Yesteryear',
786
+ 'Zeyada',
787
+ );
788
+
789
+ if ( empty( Simple_Author_Box_Helper::$fonts ) ) {
790
+ foreach ( $fonts as $font ) {
791
+ Simple_Author_Box_Helper::$fonts[ $font ] = $font;
792
+ }
793
+ }
794
+
795
+ return Simple_Author_Box_Helper::$fonts;
796
+
797
+ }
798
+
799
+ public static function get_custom_post_type() {
800
+ $post_types = get_post_types(
801
+ array(
802
+ 'publicly_queryable' => true,
803
+ '_builtin' => false,
804
+ )
805
+ );
806
+
807
+ $post_types['post'] = __( 'Post', 'saboxplugin' );
808
+ $post_types['page'] = __( 'Page', 'saboxplugin' );
809
+
810
+ return $post_types;
811
+ }
812
+
813
+ public static function get_template( $template_name = 'template-sab.php' ) {
814
+
815
+ $template = '';
816
+
817
+ if ( ! $template ) {
818
+ $template = locate_template( array( 'sab/' . $template_name ) );
819
+ }
820
+
821
+ if ( ! $template && file_exists( SIMPLE_AUTHOR_BOX_PATH . 'template/' . $template_name ) ) {
822
+ $template = SIMPLE_AUTHOR_BOX_PATH . 'template/' . $template_name;
823
+ }
824
+
825
+ if ( ! $template ) {
826
+ $template = SIMPLE_AUTHOR_BOX_PATH . 'template/template-sab.php';
827
+ }
828
+
829
+ // Allow 3rd party plugins to filter template file from their plugin.
830
+ $template = apply_filters( 'sabox_get_template_part', $template, $template_name );
831
+ if ( $template ) {
832
+ return $template;
833
+ }
834
+
835
+ }
836
+
837
+ public static function generate_inline_css() {
838
+
839
+ $padding_top_bottom = get_option( 'sab_box_padding_top_bottom', 0 );
840
+ $padding_left_right = get_option( 'sab_box_padding_left_right', 0 );
841
+ $sabox_top_margin = get_option( 'sab_box_margin_top', 0 );
842
+ $sabox_bottom_margin = get_option( 'sab_box_margin_bottom', 0 );
843
+ $sabox_name_size = get_option( 'sab_box_name_size', 18 );
844
+ $sabox_desc_size = get_option( 'sab_box_desc_size', 14 );
845
+ $sabox_icon_size = get_option( 'sab_box_icon_size', 14 );
846
+ $sabox_options = get_option( 'saboxplugin_options', array() );
847
+
848
+ if ( isset( $sabox_options['sab_web'] ) and get_option( 'sab_box_web_size' ) ) {
849
+ $sabox_web_size = get_option( 'sab_box_web_size' );
850
+ } else {
851
+ $sabox_web_size = 14;
852
+ }
853
+
854
+ $style = '';
855
+
856
+ // Border color of Simple Author Box
857
+ if ( isset( $sabox_options['sab_box_border'] ) && ! empty( $sabox_options['sab_box_border'] ) ) {
858
+ $style .= '.saboxplugin-wrap {border-color:' . esc_html( $sabox_options['sab_box_border'] ) . ';}';
859
+ $style .= '.saboxplugin-wrap .saboxplugin-socials {-webkit-box-shadow: 0 0.05em 0 0 ' . esc_html( $sabox_options['sab_box_border'] ) . ' inset; -moz-box-shadow:0 0.05em 0 0 ' . esc_html( $sabox_options['sab_box_border'] ) . ' inset;box-shadow:0 0.05em 0 0 ' . esc_html( $sabox_options['sab_box_border'] ) . ' inset;}';
860
+ }
861
+ // Avatar image style
862
+ if ( isset( $sabox_options['sab_avatar_style'] ) && '0' != $sabox_options['sab_avatar_style'] ) {
863
+ $style .= '.saboxplugin-wrap .saboxplugin-gravatar img {-webkit-border-radius:50%;-moz-border-radius:50%;-ms-border-radius:50%;-o-border-radius:50%;border-radius:50%;}';
864
+ }
865
+ // Social icons style
866
+ if ( isset( $sabox_options['sab_colored'] ) && '0' != $sabox_options['sab_colored'] && isset( $sabox_options['sab_icons_style'] ) && '0' != $sabox_options['sab_icons_style'] ) {
867
+ $style .= '.saboxplugin-wrap .saboxplugin-socials .saboxplugin-icon-color {-webkit-border-radius:50%;-moz-border-radius:50%;-ms-border-radius:50%;-o-border-radius:50%;border-radius:50%;}';
868
+ }
869
+ // Long Shadow
870
+ if ( isset( $sabox_options['sab_colored'] ) && '0' != $sabox_options['sab_colored'] && ! isset( $sabox_options['sab_box_long_shadow'] ) ) {
871
+ $style .= '.saboxplugin-wrap .saboxplugin-socials .saboxplugin-icon-color:before {text-shadow: none;}';
872
+ }
873
+ // Avatar hover effect
874
+ if ( isset( $sabox_options['sab_avatar_style'] ) && '0' != $sabox_options['sab_avatar_style'] && isset( $sabox_options['sab_avatar_hover'] ) ) {
875
+ $style .= '.saboxplugin-wrap .saboxplugin-gravatar img {-webkit-transition:all .5s ease;-moz-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;}';
876
+ $style .= '.saboxplugin-wrap .saboxplugin-gravatar img:hover {-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-o-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);}';
877
+ }
878
+ // Social icons hover effect
879
+ if ( isset( $sabox_options['sab_icons_style'] ) && '0' != $sabox_options['sab_icons_style'] && isset( $sabox_options['sab_social_hover'] ) ) {
880
+ $style .= '.saboxplugin-wrap .saboxplugin-socials .saboxplugin-icon-color, .saboxplugin-wrap .saboxplugin-socials .saboxplugin-icon-grey {-webkit-transition: all 0.3s ease-in-out;-moz-transition: all 0.3s ease-in-out;-o-transition: all 0.3s ease-in-out;-ms-transition: all 0.3s ease-in-out;transition: all 0.3s ease-in-out;}.saboxplugin-wrap .saboxplugin-socials .saboxplugin-icon-color:hover,.saboxplugin-wrap .saboxplugin-socials .saboxplugin-icon-grey:hover {-webkit-transform: rotate(360deg);-moz-transform: rotate(360deg);-o-transform: rotate(360deg);-ms-transform: rotate(360deg);transform: rotate(360deg);}';
881
+ }
882
+ // Thin border
883
+ if ( isset( $sabox_options['sab_colored'] ) && '0' != $sabox_options['sab_colored'] && ! isset( $sabox_options['sab_box_thin_border'] ) ) {
884
+ $style .= '.saboxplugin-wrap .saboxplugin-socials .saboxplugin-icon-color {border: medium none !important;}';
885
+ }
886
+ // Background color of social icons bar
887
+ if ( isset( $sabox_options['sab_box_icons_back'] ) && ! empty( $sabox_options['sab_box_icons_back'] ) ) {
888
+ $style .= '.saboxplugin-wrap .saboxplugin-socials{background-color:' . esc_html( $sabox_options['sab_box_icons_back'] ) . ';}';
889
+ }
890
+ // Color of social icons (for symbols only):
891
+ if ( isset( $sabox_options['sab_box_icons_color'] ) && ! empty( $sabox_options['sab_box_icons_color'] ) ) {
892
+ $style .= '.saboxplugin-wrap .saboxplugin-socials .saboxplugin-icon-grey {color:' . esc_html( $sabox_options['sab_box_icons_color'] ) . ';}';
893
+ }
894
+ // Author name color
895
+ if ( isset( $sabox_options['sab_box_author_color'] ) && ! empty( $sabox_options['sab_box_author_color'] ) ) {
896
+ $style .= '.saboxplugin-wrap .saboxplugin-authorname a {color:' . esc_html( $sabox_options['sab_box_author_color'] ) . ';}';
897
+ }
898
+
899
+ // Author web color
900
+ if ( isset( $sabox_options['sab_web'] ) && isset( $sabox_options['sab_box_web_color'] ) && ! empty( $sabox_options['sab_box_web_color'] ) ) {
901
+ $style .= '.saboxplugin-wrap .saboxplugin-web a {color:' . esc_html( $sabox_options['sab_box_web_color'] ) . ';}';
902
+ }
903
+
904
+ // Author name font family
905
+ if ( get_option( 'sab_box_name_font' ) != 'none' ) {
906
+ $author_name_font = get_option( 'sab_box_name_font' );
907
+ $style .= '.saboxplugin-wrap .saboxplugin-authorname {font-family:"' . esc_html( $author_name_font ) . '";}';
908
+ }
909
+
910
+ // Author description font family
911
+ if ( get_option( 'sab_box_desc_font' ) != 'none' ) {
912
+ $author_desc_font = get_option( 'sab_box_desc_font' );
913
+ $style .= '.saboxplugin-wrap .saboxplugin-desc {font-family:' . esc_html( $author_desc_font ) . ';}';
914
+ }
915
+
916
+ // Author web font family
917
+ if ( isset( $sabox_options['sab_web'] ) && get_option( 'sab_box_web_font' ) != 'none' ) {
918
+ $author_web_font = get_option( 'sab_box_web_font' );
919
+ $style .= '.saboxplugin-wrap .saboxplugin-web {font-family:"' . esc_html( $author_web_font ) . '";}';
920
+ }
921
+
922
+ // Author description font style
923
+ if ( isset( $sabox_options['sab_desc_style'] ) && '0' != $sabox_options['sab_desc_style'] ) {
924
+ $style .= '.saboxplugin-wrap .saboxplugin-desc {font-style:italic;}';
925
+ }
926
+ // Margin top & bottom, Padding
927
+ $style .= '.saboxplugin-wrap {margin-top:' . absint( $sabox_top_margin ) . 'px; margin-bottom:' . absint( $sabox_bottom_margin ) . 'px; padding: ' . absint( $padding_top_bottom ) . 'px ' . absint( $padding_left_right ) . 'px }';
928
+ // Author name text size
929
+ $style .= '.saboxplugin-wrap .saboxplugin-authorname {font-size:' . absint( $sabox_name_size ) . 'px; line-height:' . absint( $sabox_name_size + 7 ) . 'px;}';
930
+ // Author description font size
931
+ $style .= '.saboxplugin-wrap .saboxplugin-desc {font-size:' . absint( $sabox_desc_size ) . 'px; line-height:' . absint( $sabox_desc_size + 7 ) . 'px;}';
932
+ // Author website text size
933
+ $style .= '.saboxplugin-wrap .saboxplugin-web {font-size:' . absint( $sabox_web_size ) . 'px;}';
934
+ // Icons size
935
+ $style .= '.saboxplugin-wrap .saboxplugin-socials .saboxplugin-icon-color {font-size:' . absint( $sabox_icon_size + 3 ) . 'px;}';
936
+ $style .= '.saboxplugin-wrap .saboxplugin-socials .saboxplugin-icon-color:before {width:' . absint( $sabox_icon_size + $sabox_icon_size ) . 'px; height:' . absint( $sabox_icon_size + $sabox_icon_size ) . 'px; line-height:' . absint( $sabox_icon_size + $sabox_icon_size + 1 ) . 'px; }';
937
+ $style .= '.saboxplugin-wrap .saboxplugin-socials .saboxplugin-icon-grey {font-size:' . absint( $sabox_icon_size ) . 'px;}';
938
+
939
+ return apply_filters( 'sabox_inline_css', $style );
940
+ }
941
+
942
+ }
inc/class-simple-author-box-user-profile.php ADDED
@@ -0,0 +1,157 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Simple_Author_Box_User_Profile {
4
+
5
+ function __construct() {
6
+
7
+ // Social Links
8
+ add_action( 'show_user_profile', array( $this, 'add_social_area' ) );
9
+ add_action( 'edit_user_profile', array( $this, 'add_social_area' ) );
10
+
11
+ // Custom Profile Image
12
+ add_action( 'show_user_profile', array( $this, 'add_profile_image' ), 9, 1 );
13
+ add_action( 'edit_user_profile', array( $this, 'add_profile_image' ), 9, 1 );
14
+
15
+ add_action( 'personal_options_update', array( $this, 'save_user_profile' ) );
16
+ add_action( 'edit_user_profile_update', array( $this, 'save_user_profile' ) );
17
+
18
+ // Allow HTML in user description.
19
+ remove_filter( 'pre_user_description', 'wp_filter_kses' );
20
+ add_filter( 'pre_user_description', 'wp_kses_post' );
21
+
22
+ }
23
+
24
+ public function add_social_area( $profileuser ) {
25
+ $user_id = $profileuser->data->ID;
26
+
27
+ $social_links = Simple_Author_Box_Helper::get_user_social_links( $user_id );
28
+ $social_icons = apply_filters( 'sabox_social_icons', Simple_Author_Box_Helper::$social_icons );
29
+ unset( $social_icons['user_email'] );
30
+
31
+ ?>
32
+
33
+ <h2><?php _e( 'Social Media Links', 'saboxplugin' ); ?></h2>
34
+ <table class="form-table" id="sabox-social-table">
35
+ <?php
36
+
37
+ if ( ! empty( $social_links ) ) {
38
+ foreach ( $social_links as $social_platform => $social_link ) {
39
+ ?>
40
+ <tr>
41
+ <th>
42
+ <span class="sabox-drag"></span>
43
+ <select name="sabox-social-icons[]">
44
+ <?php foreach ( $social_icons as $sabox_social_id => $sabox_social_name ) { ?>
45
+ <option value="<?php echo $sabox_social_id; ?>" <?php selected( $sabox_social_id, $social_platform ); ?>><?php echo $sabox_social_name; ?></option>
46
+ <?php } ?>
47
+ </select>
48
+ </th>
49
+ <td>
50
+ <input name="sabox-social-links[]" type="text" class="regular-text" value="<?php echo esc_url( $social_link ); ?>">
51
+ <span class="dashicons dashicons-trash"></span>
52
+ <td>
53
+ </tr>
54
+ <?php
55
+ }
56
+ } else {
57
+ ?>
58
+ <tr>
59
+ <th>
60
+ <select name="sabox-social-icons[]">
61
+ <?php foreach ( $social_icons as $sabox_social_id => $sabox_social_name ) { ?>
62
+ <option value="<?php echo $sabox_social_id; ?>"><?php echo $sabox_social_name; ?></option>
63
+ <?php } ?>
64
+ </select>
65
+ </th>
66
+ <td>
67
+ <input name="sabox-social-links[]" type="text" class="regular-text" value="">
68
+ <span class="dashicons dashicons-trash"></span>
69
+ <td>
70
+ </tr>
71
+ <?php
72
+ }
73
+
74
+ ?>
75
+
76
+ </table>
77
+
78
+ <div class="sabox-add-social-link">
79
+ <span class="dashicons dashicons-plus"></span>
80
+ <span><?php esc_html_e( 'Add new social platform', 'saboxplugin' ); ?></span>
81
+ </div>
82
+
83
+ <?php
84
+ }
85
+
86
+ public function add_profile_image( $user ) {
87
+
88
+ if ( ! current_user_can( 'upload_files' ) ) {
89
+ return;
90
+ }
91
+
92
+ $default_url = SIMPLE_AUTHOR_BOX_ASSETS . 'img/default.png';
93
+ $image_url = get_user_meta( $user->ID, 'sabox-profile-image', true );
94
+
95
+ ?>
96
+
97
+ <div id="sabox-custom-profile-image">
98
+ <h3><?php _e( 'Custom User Profile Image', 'saboxplugin' ); ?></h3>
99
+ <table class="form-table">
100
+ <tr>
101
+ <th><label for="cupp_meta"><?php _e( 'Profile Image', 'saboxplugin' ); ?></label></th>
102
+ <td>
103
+ <div id="sab-current-image">
104
+ <?php wp_nonce_field( 'sabox-profile-image', 'sabox-profile-nonce' ); ?>
105
+ <input type="hidden" name="sabox-custom-image" id="sabox-custom-image" value="<?php echo esc_attr( $image_url ); ?>">
106
+ <img data-default="<?php echo esc_url_raw( $default_url ); ?>" src="<?php echo '' != $image_url ? esc_url_raw( $image_url ) : esc_url_raw( $default_url ); ?>">
107
+ </div>
108
+ <div class="actions">
109
+ <a href="#" class="button-secondary" id="sabox-remove-image"><?php _e( 'Remove Image', 'saboxplugin' ); ?></a>
110
+ <a href="#" class="button-primary" id="sabox-add-image"><?php _e( 'Upload Image', 'saboxplugin' ); ?></a>
111
+ </div>
112
+ </td>
113
+ </tr>
114
+ </table>
115
+ </div>
116
+
117
+ <?php
118
+ }
119
+
120
+ public function save_user_profile( $user_id ) {
121
+
122
+ if ( isset( $_POST['sabox-social-icons'] ) && isset( $_POST['sabox-social-links'] ) ) {
123
+
124
+ $social_platforms = apply_filters( 'sabox_social_icons', Simple_Author_Box_Helper::$social_icons );
125
+ $social_links = array();
126
+ foreach ( $_POST['sabox-social-links'] as $index => $social_link ) {
127
+ if ( $social_link ) {
128
+ $social_platform = isset( $_POST['sabox-social-icons'][ $index ] ) ? $_POST['sabox-social-icons'][ $index ] : false;
129
+ if ( $social_platform && isset( $social_platforms[ $social_platform ] ) ) {
130
+ $social_links[ $social_platform ] = esc_url_raw( $social_link );
131
+ }
132
+ }
133
+ }
134
+
135
+ update_user_meta( $user_id, 'sabox_social_links', $social_links );
136
+
137
+ }
138
+
139
+ if ( ! isset( $_POST['sabox-profile-nonce'] ) || ! wp_verify_nonce( $_POST['sabox-profile-nonce'], 'sabox-profile-image' ) ) {
140
+ return;
141
+ }
142
+
143
+ if ( ! current_user_can( 'upload_files', $user_id ) ) {
144
+ return;
145
+ }
146
+
147
+ if ( isset( $_POST['sabox-custom-image'] ) && '' != $_POST['sabox-custom-image'] ) {
148
+ update_user_meta( $user_id, 'sabox-profile-image', esc_url_raw( $_POST['sabox-custom-image'] ) );
149
+ } else {
150
+ delete_user_meta( $user_id, 'sabox-profile-image' );
151
+ }
152
+
153
+ }
154
+
155
+ }
156
+
157
+ new Simple_Author_Box_User_Profile();
inc/class-simple-author-box.php ADDED
@@ -0,0 +1,225 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ *
5
+ */
6
+ class Simple_Author_Box {
7
+
8
+ private static $instance = null;
9
+ private $options;
10
+
11
+ function __construct() {
12
+
13
+ $this->options = get_option( 'saboxplugin_options', array() );
14
+
15
+ $this->load_dependencies();
16
+ $this->set_locale();
17
+ $this->define_admin_hooks();
18
+ $this->define_public_hooks();
19
+
20
+ }
21
+
22
+ public static function get_instance() {
23
+ if ( is_null( self::$instance ) ) {
24
+ self::$instance = new self();
25
+ }
26
+ return self::$instance;
27
+ }
28
+
29
+ private function load_dependencies() {
30
+
31
+ require_once SIMPLE_AUTHOR_BOX_PATH . 'inc/class-simple-author-box-helper.php';
32
+ require_once SIMPLE_AUTHOR_BOX_PATH . 'inc/functions.php';
33
+
34
+ if ( is_admin() ) {
35
+ require_once SIMPLE_AUTHOR_BOX_PATH . 'inc/class-simple-author-box-admin-page.php';
36
+ require_once SIMPLE_AUTHOR_BOX_PATH . 'inc/class-simple-author-box-user-profile.php';
37
+ }
38
+ }
39
+
40
+ private function set_locale() {
41
+ load_plugin_textdomain( 'saboxplugin', false, SIMPLE_AUTHOR_BOX_PATH . 'lang/' );
42
+ }
43
+
44
+ private function define_admin_hooks() {
45
+
46
+ if ( ! is_admin() ) {
47
+ return;
48
+ }
49
+
50
+ add_action( 'admin_enqueue_scripts', array( $this, 'admin_style_and_scripts' ) );
51
+ add_filter( 'user_contactmethods', array( $this, 'add_extra_fields' ) );
52
+ add_filter( 'plugin_action_links_' . SIMPLE_AUTHOR_BOX_SLUG, array( $this, 'settings_link' ) );
53
+
54
+ }
55
+
56
+ private function define_public_hooks() {
57
+
58
+ if ( ! isset( $this->options['sab_autoinsert'] ) ) {
59
+ add_filter( 'the_content', 'wpsabox_author_box' );
60
+ }
61
+
62
+ add_action( 'wp_enqueue_scripts', array( $this, 'saboxplugin_author_box_style' ), 10 );
63
+
64
+ if ( isset( $this->options['sab_footer_inline_style'] ) ) {
65
+ add_action(
66
+ 'wp_footer', array(
67
+ $this,
68
+ 'inline_style',
69
+ ), 13
70
+ );
71
+ } else {
72
+ add_action( 'wp_head', array( $this, 'inline_style' ), 15 );
73
+ }
74
+
75
+ add_shortcode( 'simple-author-box', array( $this, 'shortcode' ) );
76
+ add_filter( 'sabox_hide_social_icons', array( $this, 'show_social_media_icons' ), 10, 2 );
77
+
78
+ }
79
+
80
+ public function settings_link( $links ) {
81
+ $settings_link = '<a href="' . admin_url( 'admin.php?page=simple-author-box-options' ) . '">' . __( 'Settings', 'saboxplugin' ) . '</a>';
82
+ array_unshift( $links, $settings_link );
83
+ return $links;
84
+ }
85
+
86
+ public function admin_style_and_scripts( $hook ) {
87
+
88
+ $suffix = '.min';
89
+ if ( SIMPLE_AUTHOR_SCRIPT_DEBUG ) {
90
+ $suffix = '';
91
+ }
92
+
93
+ wp_enqueue_style( 'sabox-css', SIMPLE_AUTHOR_BOX_ASSETS . 'css/sabox.css' );
94
+
95
+ if ( 'toplevel_page_simple-author-box-options' == $hook ) {
96
+
97
+ // Styles
98
+ wp_enqueue_style( 'wp-color-picker' );
99
+ wp_enqueue_style( 'jquery-ui', SIMPLE_AUTHOR_BOX_ASSETS . 'css/jquery-ui.min.css' );
100
+ wp_enqueue_style( 'saboxplugin-admin-style', SIMPLE_AUTHOR_BOX_ASSETS . 'css/sabox-admin-style' . $suffix . '.css' );
101
+
102
+ // Scripts
103
+ wp_enqueue_script( 'sabox-admin-js', SIMPLE_AUTHOR_BOX_ASSETS . 'js/sabox-admin.js', array( 'jquery-ui-slider', 'wp-color-picker' ), false, true );
104
+
105
+ } elseif ( 'profile.php' == $hook || 'user-edit.php' == $hook ) {
106
+
107
+ wp_enqueue_style( 'saboxplugin-admin-style', SIMPLE_AUTHOR_BOX_ASSETS . 'css/sabox-admin-style' . $suffix . '.css' );
108
+
109
+ wp_enqueue_media();
110
+ wp_enqueue_editor();
111
+ wp_enqueue_script( 'sabox-admin-editor-js', SIMPLE_AUTHOR_BOX_ASSETS . 'js/sabox-editor.js', array(), false, true );
112
+ $sabox_js_helper = array();
113
+ $social_icons = apply_filters( 'sabox_social_icons', Simple_Author_Box_Helper::$social_icons );
114
+ unset( $social_icons['user_email'] );
115
+ $sabox_js_helper['socialIcons'] = $social_icons;
116
+
117
+ wp_localize_script( 'sabox-admin-editor-js', 'SABHerlper', $sabox_js_helper );
118
+
119
+ }
120
+
121
+ }
122
+
123
+ public function add_extra_fields( $extra_fields ) {
124
+
125
+ unset( $extra_fields['aim'] );
126
+ unset( $extra_fields['jabber'] );
127
+ unset( $extra_fields['yim'] );
128
+
129
+ return $extra_fields;
130
+
131
+ }
132
+
133
+ /*----------------------------------------------------------------------------------------------------------
134
+ Adding the author box main CSS
135
+ -----------------------------------------------------------------------------------------------------------*/
136
+ public function saboxplugin_author_box_style() {
137
+
138
+ $suffix = '.min';
139
+ if ( SIMPLE_AUTHOR_SCRIPT_DEBUG ) {
140
+ $suffix = '';
141
+ }
142
+
143
+ $sab_protocol = is_ssl() ? 'https' : 'http';
144
+ $sab_box_subset = get_option( 'sab_box_subset' );
145
+ if ( 'none' != $sab_box_subset ) {
146
+ $sab_subset = '&amp;subset=' . $sab_box_subset;
147
+ } else {
148
+ $sab_subset = '&amp;subset=latin';
149
+ }
150
+
151
+ $sab_author_font = get_option( 'sab_box_name_font' );
152
+ $sab_desc_font = get_option( 'sab_box_desc_font' );
153
+ $sab_web_font = get_option( 'sab_box_web_font' );
154
+
155
+ $google_fonts = array();
156
+
157
+ if ( $sab_author_font ) {
158
+ $google_fonts[] = str_replace( ' ', '+', esc_attr( $sab_author_font ) ) . ':400,700,400italic,700italic';
159
+ }
160
+
161
+ if ( $sab_desc_font ) {
162
+ $google_fonts[] = str_replace( ' ', '+', esc_attr( $sab_desc_font ) ) . ':400,700,400italic,700italic';
163
+ }
164
+
165
+ if ( isset( $this->options['sab_web'] ) && $sab_web_font ) {
166
+ $google_fonts[] = str_replace( ' ', '+', esc_attr( $sab_web_font ) ) . ':400,700,400italic,700italic';
167
+ }
168
+
169
+ $google_fonts = apply_filters( 'sabox_google_fonts', $google_fonts );
170
+
171
+ if ( ! empty( $google_fonts ) ) {
172
+ wp_register_style( 'sab-font', $sab_protocol . '://fonts.googleapis.com/css?family=' . implode( '|', $google_fonts ) . $sab_subset, array(), null );
173
+ }
174
+
175
+ if ( ! isset( $this->options['sab_load_fa'] ) ) {
176
+ wp_register_style( 'font-awesome', '//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css' );
177
+ }
178
+
179
+ wp_register_style( 'sab-plugin', SIMPLE_AUTHOR_BOX_ASSETS . 'css/simple-author-box' . $suffix . '.css', false, SIMPLE_AUTHOR_BOX_VERSION );
180
+
181
+ if ( ! is_single() and ! is_page() and ! is_author() and ! is_archive() ) {
182
+ return;
183
+ }
184
+
185
+ if ( ! empty( $google_fonts ) ) {
186
+ wp_enqueue_style( 'sab-font' );
187
+ }
188
+
189
+ if ( ! isset( $this->options['sab_load_fa'] ) ) {
190
+ wp_enqueue_style( 'font-awesome' );
191
+ }
192
+
193
+ wp_enqueue_style( 'sab-plugin' );
194
+
195
+ }
196
+
197
+ public function inline_style() {
198
+
199
+ if ( ! is_single() and ! is_page() and ! is_author() and ! is_archive() ) {
200
+ return;
201
+ }
202
+
203
+ $style = '<style type="text/css">';
204
+ $style .= Simple_Author_Box_Helper::generate_inline_css();
205
+ $style .= '</style>';
206
+
207
+ echo $style;
208
+ }
209
+
210
+ public function shortcode( $atts ) {
211
+ $html = wpsabox_author_box();
212
+ return $html;
213
+ }
214
+
215
+
216
+
217
+ public function show_social_media_icons( $return, $user ) {
218
+ if ( in_array( 'sab-guest-author', (array) $user->roles ) ) {
219
+ return false;
220
+ }
221
+
222
+ return true;
223
+ }
224
+
225
+ }
inc/functions.php ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // If this file is called directly, busted!
4
+ if ( ! defined( 'ABSPATH' ) ) {
5
+ exit;
6
+ }
7
+
8
+ /*----------------------------------------------------------------------------------------------------------
9
+ Adding the author box to the end of your single post
10
+ -----------------------------------------------------------------------------------------------------------*/
11
+ if ( ! function_exists( 'wpsabox_author_box' ) ) {
12
+
13
+
14
+ function wpsabox_author_box( $saboxmeta = null ) {
15
+
16
+ $show = ( is_single() || is_page() || is_author() || is_archive() );
17
+ $show = apply_filters( 'sabox_check_if_show', $show );
18
+
19
+ if ( $show ) {
20
+
21
+ global $post;
22
+ $template = Simple_Author_Box_Helper::get_template();
23
+
24
+ ob_start();
25
+ $sabox_options = get_option( 'saboxplugin_options' );
26
+ $sabox_author_id = $post->post_author;
27
+ $show_post_author_box = apply_filters( 'sabox_check_if_show_post_author_box', true, $sabox_options );
28
+
29
+ do_action( 'sabox_before_author_box', $sabox_options );
30
+
31
+ if ( $show_post_author_box ) {
32
+ include( $template );
33
+ }
34
+
35
+ do_action( 'sabox_after_author_box', $sabox_options );
36
+
37
+ $saboxmeta .= ob_get_clean();
38
+
39
+ }
40
+ return $saboxmeta;
41
+ }
42
+ }
js/postbox-edit.js DELETED
@@ -1,9 +0,0 @@
1
- jQuery(document).on('ready', function($){
2
- postboxes.save_state = function(){
3
- return;
4
- };
5
- postboxes.save_order = function(){
6
- return;
7
- };
8
- postboxes.add_postbox_toggles();
9
- });
 
 
 
 
 
 
 
 
 
js/sabox-color-picker.js DELETED
@@ -1,9 +0,0 @@
1
- jQuery(document).ready(function($){
2
- $('.saboxplugin-color-picker').wpColorPicker();
3
- $('.saboxplugin-color-picker').iris({
4
- hide: false,
5
- width: 266,
6
- palettes: ['#2FCCFF', '#8CE196', '#FA5148', '#AEAEAE', '#EEE', '#FCFCFC']
7
- });
8
-
9
- });
 
 
 
 
 
 
 
 
 
js/sabox-hide.js DELETED
@@ -1,29 +0,0 @@
1
- if (typeof (jQuery) != 'undefined') {
2
- jQuery(document).ready(function () {
3
- validate();
4
- jQuery('input').change(function () {
5
- validate();
6
- })
7
- });
8
-
9
- function validate() {
10
- if (jQuery('input[id=sab-toggle-1]').is(':checked')) {
11
- jQuery('#saboxplugin-hide').show( 400 );
12
- } else {
13
- jQuery('#saboxplugin-hide').hide( 400 );
14
- }
15
-
16
- if (jQuery('input[id=sab-toggle-3]').is(':checked')) {
17
- jQuery('#saboxplugin-hide-two').show( 400 );
18
- } else {
19
- jQuery('#saboxplugin-hide-two').hide( 400 );
20
- }
21
-
22
- if (jQuery('input[id=sab-toggle-15]').is(':checked')) {
23
- jQuery('#saboxplugin-hide-three').show( 400 );
24
- } else {
25
- jQuery('#saboxplugin-hide-three').hide( 400 );
26
- }
27
-
28
- }
29
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
js/sabox-slide.js DELETED
@@ -1,83 +0,0 @@
1
- jQuery(document).ready(function($){
2
- $(".sabox-slider").slider({
3
- value: saboxTopmargin,
4
- min: 0,
5
- max: 100,
6
- step: 1,
7
- slide: function (event, ui) {
8
- $(".sabox-amount").val( ui.value + " px" );
9
- $("#sab_box_margin_top").val(ui.value);
10
- }
11
- });
12
- $(".sabox-amount").val($(".sabox-slider").slider( "value" ) + " px" );
13
- });
14
-
15
- jQuery(document).ready(function($){
16
- $(".sabox-slider2").slider({
17
- value: saboxBottommargin,
18
- min: 0,
19
- max: 100,
20
- step: 1,
21
- slide: function (event, ui) {
22
- $(".sabox-amount2").val( ui.value + " px" );
23
- $("#sab_box_margin_bottom").val(ui.value);
24
- }
25
- });
26
- $(".sabox-amount2").val($(".sabox-slider2").slider( "value" ) + " px" );
27
- });
28
-
29
- jQuery(document).ready(function($){
30
- $(".sabox-slider3").slider({
31
- value: saboxIconsize,
32
- min: 11,
33
- max: 50,
34
- step: 1,
35
- slide: function (event, ui) {
36
- $(".sabox-amount3").val( ui.value + " px" );
37
- $("#sab_box_icon_size").val(ui.value);
38
- }
39
- });
40
- $(".sabox-amount3").val($(".sabox-slider3").slider( "value" ) + " px" );
41
- });
42
-
43
- jQuery(document).ready(function($){
44
- $(".sabox-slider4").slider({
45
- value: saboxNamesize,
46
- min: 10,
47
- max: 50,
48
- step: 1,
49
- slide: function (event, ui) {
50
- $(".sabox-amount4").val( ui.value + " px" );
51
- $("#sab_box_name_size").val(ui.value);
52
- }
53
- });
54
- $(".sabox-amount4").val($(".sabox-slider4").slider( "value" ) + " px" );
55
- });
56
-
57
- jQuery(document).ready(function($){
58
- $(".sabox-slider5").slider({
59
- value: saboxDescsize,
60
- min: 10,
61
- max: 50,
62
- step: 1,
63
- slide: function (event, ui) {
64
- $(".sabox-amount5").val( ui.value + " px" );
65
- $("#sab_box_desc_size").val(ui.value);
66
- }
67
- });
68
- $(".sabox-amount5").val($(".sabox-slider5").slider( "value" ) + " px" );
69
- });
70
-
71
- jQuery(document).ready(function($){
72
- $(".sabox-slider6").slider({
73
- value: saboxWebsize,
74
- min: 10,
75
- max: 50,
76
- step: 1,
77
- slide: function (event, ui) {
78
- $(".sabox-amount6").val( ui.value + " px" );
79
- $("#sab_box_web_size").val(ui.value);
80
- }
81
- });
82
- $(".sabox-amount6").val($(".sabox-slider6").slider( "value" ) + " px" );
83
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
readme.txt CHANGED
@@ -2,8 +2,8 @@
2
  Contributors: machothemes
3
  Tags: author box, responsive author box, author profile fields, author social icons, profile fields, author bio, author description, author profile, user profile, post author, rtl author box
4
  Requires at least: 3.6
5
- Tested up to: 4.8
6
- Stable tag: 1.9
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
@@ -23,7 +23,7 @@ Adds a cool responsive author box with social icons on your posts.
23
  * Simple Author Box has RTL support
24
 
25
  **About us:**
26
- We are a young team of WordPress aficionados who love building WordPress plugins & <a href="https://www.machothemes.com/" target="_blank" title="Premium WordPress themes">Premium WordPress themes</a> over on our theme shop. We’re also blogging and wish to help our users find the <a href="https://www.machothemes.com/blog/best-cheap-wordpress-hosting/" target="_blank" title="Best Cheap WordPress Hosting">Best Cheap WordPress Hosting</a> available on the market. Check out our blog.
27
 
28
  == Installation ==
29
 
@@ -52,6 +52,18 @@ We are a young team of WordPress aficionados who love building WordPress plugins
52
 
53
  == Changelog ==
54
 
 
 
 
 
 
 
 
 
 
 
 
 
55
  = 1.9 =
56
  * Removed lang folder, translations are now being handled by GlotPress on w.org
57
  * Fixed a CSS bug ( https://github.com/MachoThemes/simple-author-box/issues/11 )
@@ -95,4 +107,4 @@ We are a young team of WordPress aficionados who love building WordPress plugins
95
  * Removed AIM, Yahoo, and Jabber Fields from the WordPress Profile Page.
96
 
97
  = 1.0 =
98
- * Initial release
2
  Contributors: machothemes
3
  Tags: author box, responsive author box, author profile fields, author social icons, profile fields, author bio, author description, author profile, user profile, post author, rtl author box
4
  Requires at least: 3.6
5
+ Tested up to: 4.9
6
+ Stable tag: 2.0
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
23
  * Simple Author Box has RTL support
24
 
25
  **About us:**
26
+ We are a young team of WordPress aficionados who love building WordPress plugins & <a href="https://www.machothemes.com/" rel="friend" target="_blank" title="Premium WordPress themes">Premium WordPress themes</a> over on our theme shop. We’re also blogging and wish to help our users find the best <a rel="friend" href="https://www.machothemes.com/blog/cheap-wordpress-hosting/" target="_blank" title="Cheap WordPress Hosting">Cheap WordPress hosting</a> & the best <a href="https://www.machothemes.com/blog/best-free-wordpress-bootstrap-themes/" title="Bootstrap WordPress themes" target="_blank" rel="friend">Bootstrap WordPress Themes</a>.
27
 
28
  == Installation ==
29
 
52
 
53
  == Changelog ==
54
 
55
+ = 2.0 =
56
+ Included the option to add html to a user's description ( https://github.com/MachoThemes/simple-author-box/issues/23 )
57
+ Fixed Google fonts error ( https://github.com/MachoThemes/simple-author-box/issues/14 )
58
+ Added new features ( https://github.com/MachoThemes/simple-author-box/issues/7 )
59
+ Added the posibility to select where to show the author box ( https://github.com/MachoThemes/simple-author-box/issues/5 )
60
+ Added the option to link the author's name to its website ( https://github.com/MachoThemes/simple-author-box/issues/4 )
61
+ Added the posibility to add guest authors
62
+ Added the posibility to add custom profile images
63
+ Created a shortcode that can be placed inside the posts' content wherever a user wants
64
+ Improved how you add social links
65
+
66
+
67
  = 1.9 =
68
  * Removed lang folder, translations are now being handled by GlotPress on w.org
69
  * Fixed a CSS bug ( https://github.com/MachoThemes/simple-author-box/issues/11 )
107
  * Removed AIM, Yahoo, and Jabber Fields from the WordPress Profile Page.
108
 
109
  = 1.0 =
110
+ * Initial release
simple-author-box.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: Simple Author Box
4
  * Plugin URI: http://wordpress.org/plugins/simple-author-box/
5
  * Description: Adds a responsive author box with social icons on your posts.
6
- * Version: 1.9
7
  * Author: Macho Themes
8
  * Author URI: https://www.machothemes.com/
9
  * License: GPLv2
@@ -27,438 +27,12 @@
27
 
28
  */
29
 
 
 
 
 
 
30
 
31
- /*----------------------------------------------------------------------------------------------------------
32
- Main Plugin Class
33
- -----------------------------------------------------------------------------------------------------------*/
34
 
35
- if ( ! class_exists( 'Simple_Author_Box' ) ) {
36
-
37
- class Simple_Author_Box {
38
-
39
- /*----------------------------------------------------------------------------------------------------------
40
- Function Construct
41
- -----------------------------------------------------------------------------------------------------------*/
42
-
43
- public function __construct() {
44
-
45
- global $options;
46
-
47
- $options = get_option( 'saboxplugin_options', 'checked' ); // retrieve the plugin settings from the options table
48
- define( 'SIMPLE_AUTHOR_BOX_LAST_UPDATE', date_i18n( 'F j, Y', '1409122800' ) ); // Defining plugin last update
49
- define( 'SIMPLE_AUTHOR_BOX_PATH', plugin_dir_path( __FILE__ ) ); // Defining plugin dir path
50
- define( 'SIMPLE_AUTHOR_BOX_DIRNAME', basename( dirname( __FILE__ ) ) ); // Defining plugin dir name
51
- define( 'SIMPLE_AUTHOR_BOX_VERSION', 'v1.9' ); // Defining plugin version
52
- define( 'SIMPLE_AUTHOR_BOX', 'Simple Author Box' ); // Defining plugin name
53
- define( 'SIMPLE_AUTHOR_BOX_FOOTER', 10 );
54
-
55
-
56
- add_action( 'admin_init', array( $this, 'saboxplugin_init_settings' ) );
57
- add_action( 'plugins_loaded', array( $this, 'saboxplugin_translation' ) );
58
- add_action( 'wp_enqueue_scripts', array( $this, 'saboxplugin_author_box_style' ) );
59
- add_action( 'wp_enqueue_scripts', array( $this, 'saboxplugin_author_box_font' ) );
60
-
61
- if ( isset( $options['sab_footer_inline_style'] ) ) {
62
- add_action( 'wp_footer', array(
63
- $this,
64
- 'saboxplugin_author_box_inline_style'
65
- ), SIMPLE_AUTHOR_BOX_FOOTER + 3 );
66
- } else {
67
- add_action( 'wp_head', array( $this, 'saboxplugin_author_box_inline_style' ), 15 );
68
- }
69
-
70
- add_action( 'admin_enqueue_scripts', array( $this, 'saboxplugin_admin_style' ) );
71
- add_action( 'admin_enqueue_scripts', array( $this, 'saboxplugin_color_picker' ) );
72
- add_action( 'admin_enqueue_scripts', array( $this, 'saboxplugin_scripts' ) );
73
- add_action( 'admin_enqueue_scripts', array( $this, 'saboxplugin_collapsible' ) );
74
- add_action( 'wp_enqueue_scripts', array( $this, 'saboxplugin_font_awesome_css' ), 999 );
75
-
76
- add_action( 'admin_menu', array( $this, 'saboxplugin_add_menu' ) );
77
-
78
- $this->path = plugin_basename( __FILE__ );
79
- add_filter( "plugin_action_links_$this->path", array( $this, 'saboxplugin_settings_link' ) );
80
-
81
- if ( ! class_exists( 'Sabox_Social_Icons' ) ) {
82
- require_once( SIMPLE_AUTHOR_BOX_PATH . 'core/sabox_social_icons.php' );
83
- require_once( SIMPLE_AUTHOR_BOX_PATH . 'core/sabox_author_box.php' );
84
- }
85
-
86
- }
87
-
88
-
89
- /*----------------------------------------------------------------------------------------------------------
90
- Activation & Deactivation Hooks
91
- -----------------------------------------------------------------------------------------------------------*/
92
-
93
- public static function sab_activate() {
94
- // nothing to do yet
95
- }
96
-
97
- public static function sab_deactivate() {
98
- // nothing to do yet
99
- }
100
-
101
-
102
- /*----------------------------------------------------------------------------------------------------------
103
- Load plugin textdomain
104
- -----------------------------------------------------------------------------------------------------------*/
105
-
106
- public function saboxplugin_translation() {
107
- load_plugin_textdomain( 'saboxplugin', false, SIMPLE_AUTHOR_BOX_DIRNAME . '/lang/' );
108
- }
109
-
110
-
111
- /*----------------------------------------------------------------------------------------------------------
112
- Plugin Settings
113
- -----------------------------------------------------------------------------------------------------------*/
114
-
115
- public function saboxplugin_init_settings() {
116
- register_setting( 'sabox_plugin', 'saboxplugin_options' );
117
- register_setting( 'sabox_plugin', 'sab_box_margin_top' );
118
- register_setting( 'sabox_plugin', 'sab_box_margin_bottom' );
119
- register_setting( 'sabox_plugin', 'sab_box_icon_size' );
120
- register_setting( 'sabox_plugin', 'sab_box_name_size' );
121
- register_setting( 'sabox_plugin', 'sab_box_web_size' );
122
- register_setting( 'sabox_plugin', 'sab_box_name_font' );
123
- register_setting( 'sabox_plugin', 'sab_box_subset' );
124
- register_setting( 'sabox_plugin', 'sab_box_desc_font' );
125
- register_setting( 'sabox_plugin', 'sab_box_web_font' );
126
- register_setting( 'sabox_plugin', 'sab_box_desc_size' );
127
- }
128
-
129
-
130
- /*----------------------------------------------------------------------------------------------------------
131
- Adding the author box main CSS
132
- -----------------------------------------------------------------------------------------------------------*/
133
-
134
- public function saboxplugin_author_box_style() {
135
-
136
- if ( ! is_single() and ! is_page() and ! is_author() and ! is_archive() ) {
137
- return;
138
- }
139
-
140
- wp_enqueue_style( 'sab-plugin', plugins_url( '/css/simple-author-box.min.css', __FILE__ ), false, SIMPLE_AUTHOR_BOX_VERSION ); // to debug style change the url to /css/dev/simple-author-box.css
141
-
142
- }
143
-
144
-
145
- /*----------------------------------------------------------------------------------------------------------
146
- Enqueue Google Fonts
147
- -----------------------------------------------------------------------------------------------------------*/
148
-
149
- public function saboxplugin_author_box_font() {
150
-
151
- if ( ! is_single() and ! is_page() and ! is_author() and ! is_archive() ) {
152
- return;
153
- }
154
-
155
- global $options;
156
-
157
- $sab_protocol = is_ssl() ? 'https' : 'http';
158
-
159
- if ( get_option( 'sab_box_subset' ) != 'none' ) {
160
- $sab_box_subset = get_option( 'sab_box_subset' );
161
- $sab_subset = 'subset=' . $sab_box_subset;
162
-
163
- } else {
164
- $sab_subset = 'subset=latin';
165
- }
166
-
167
- $sab_author_font = get_option( 'sab_box_name_font' );
168
- $sab_desc_font = get_option( 'sab_box_desc_font' );
169
- $sab_web_font = get_option( 'sab_box_web_font' );
170
-
171
- if ( get_option( 'sab_box_name_font' ) ) {
172
- wp_enqueue_style( 'sab-author-name-font', $sab_protocol . '://fonts.googleapis.com/css?family=' . str_replace( ' ', '+', $sab_author_font ) . ':400,700,400italic,700italic' . $sab_subset, array(), null );
173
- }
174
-
175
- if ( get_option( 'sab_box_desc_font' ) ) {
176
- wp_enqueue_style( 'sab-author-desc-font', $sab_protocol . '://fonts.googleapis.com/css?family=' . str_replace( ' ', '+', $sab_desc_font ) . ':400,700,400italic,700italic' . $sab_subset, array(), null );
177
- }
178
-
179
- if ( isset( $options['sab_web'] ) and get_option( 'sab_box_web_font' ) ) {
180
- wp_enqueue_style( 'sab-author-web-font', $sab_protocol . '://fonts.googleapis.com/css?family=' . str_replace( ' ', '+', $sab_web_font ) . ':400,700,400italic,700italic' . $sab_subset, array(), null );
181
- }
182
- }
183
-
184
-
185
- /*----------------------------------------------------------------------------------------------------------
186
- Adding the author box dynamic stylesheet generated by plugin options
187
- -----------------------------------------------------------------------------------------------------------*/
188
-
189
- public function saboxplugin_author_box_inline_style() {
190
-
191
- if ( ! is_single() and ! is_page() and ! is_author() and ! is_archive() ) {
192
- return;
193
- }
194
-
195
- global $options;
196
-
197
- if ( get_option( 'sab_box_margin_top' ) ) {
198
- $sabox_top_margin = get_option( 'sab_box_margin_top' );
199
- } else {
200
- $sabox_top_margin = 0;
201
- }
202
-
203
- if ( get_option( 'sab_box_margin_bottom' ) ) {
204
- $sabox_bottom_margin = get_option( 'sab_box_margin_bottom' );
205
- } else {
206
- $sabox_bottom_margin = 0;
207
- }
208
-
209
- if ( get_option( 'sab_box_name_size' ) ) {
210
- $sabox_name_size = get_option( 'sab_box_name_size' );
211
- } else {
212
- $sabox_name_size = 18;
213
- }
214
-
215
- if ( isset( $options['sab_web'] ) and get_option( 'sab_box_web_size' ) ) {
216
- $sabox_web_size = get_option( 'sab_box_web_size' );
217
- } else {
218
- $sabox_web_size = 14;
219
- }
220
-
221
- if ( get_option( 'sab_box_desc_size' ) ) {
222
- $sabox_desc_size = get_option( 'sab_box_desc_size' );
223
- } else {
224
- $sabox_desc_size = 14;
225
- }
226
-
227
-
228
- if ( get_option( 'sab_box_icon_size' ) ) {
229
- $sabox_icon_size = get_option( 'sab_box_icon_size' );
230
- } else {
231
- $sabox_icon_size = 14;
232
- }
233
-
234
- $style = '<style type="text/css">';
235
-
236
- // Border color of Simple Author Box
237
- if ( isset( $options['sab_box_border'] ) and ! empty( $options['sab_box_border'] ) ) {
238
- $style .= '.saboxplugin-wrap {border-color:' . esc_html( $options['sab_box_border'] ) . ';}';
239
- $style .= '.saboxplugin-wrap .saboxplugin-socials {-webkit-box-shadow: 0 0.05em 0 0 ' . esc_html( $options['sab_box_border'] ) . ' inset; -moz-box-shadow:0 0.05em 0 0 ' . esc_html( $options['sab_box_border'] ) . ' inset;box-shadow:0 0.05em 0 0 ' . esc_html( $options['sab_box_border'] ) . ' inset;}';
240
- }
241
- // Avatar image style
242
- if ( isset( $options['sab_avatar_style'] ) ) {
243
- $style .= '.saboxplugin-wrap .saboxplugin-gravatar img {-webkit-border-radius:50%;-moz-border-radius:50%;-ms-border-radius:50%;-o-border-radius:50%;border-radius:50%;}';
244
- }
245
- // Social icons style
246
- if ( isset( $options['sab_colored'] ) and isset( $options['sab_icons_style'] ) ) {
247
- $style .= '.saboxplugin-wrap .saboxplugin-socials .saboxplugin-icon-color {-webkit-border-radius:50%;-moz-border-radius:50%;-ms-border-radius:50%;-o-border-radius:50%;border-radius:50%;}';
248
- }
249
- // Long Shadow
250
- if ( isset( $options['sab_colored'] ) and ! isset( $options['sab_box_long_shadow'] ) ) {
251
- $style .= '.saboxplugin-wrap .saboxplugin-socials .saboxplugin-icon-color:before {text-shadow: none;}';
252
- }
253
- // Avatar hover effect
254
- if ( isset( $options['sab_avatar_style'] ) and isset( $options['sab_avatar_hover'] ) ) {
255
- $style .= '.saboxplugin-wrap .saboxplugin-gravatar img {-webkit-transition:all .5s ease;-moz-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;}';
256
- $style .= '.saboxplugin-wrap .saboxplugin-gravatar img:hover {-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-o-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);}';
257
- }
258
- // Social icons hover effect
259
- if ( isset( $options['sab_icons_style'] ) and isset( $options['sab_social_hover'] ) ) {
260
- $style .= '.saboxplugin-wrap .saboxplugin-socials .saboxplugin-icon-color, .saboxplugin-wrap .saboxplugin-socials .saboxplugin-icon-grey {-webkit-transition: all 0.3s ease-in-out;-moz-transition: all 0.3s ease-in-out;-o-transition: all 0.3s ease-in-out;-ms-transition: all 0.3s ease-in-out;transition: all 0.3s ease-in-out;}.saboxplugin-wrap .saboxplugin-socials .saboxplugin-icon-color:hover,.saboxplugin-wrap .saboxplugin-socials .saboxplugin-icon-grey:hover {-webkit-transform: rotate(360deg);-moz-transform: rotate(360deg);-o-transform: rotate(360deg);-ms-transform: rotate(360deg);transform: rotate(360deg);}';
261
- }
262
- // Thin border
263
- if ( isset( $options['sab_colored'] ) and ! isset( $options['sab_box_thin_border'] ) ) {
264
- $style .= '.saboxplugin-wrap .saboxplugin-socials .saboxplugin-icon-color {border: medium none !important;}';
265
- }
266
- // Background color of social icons bar
267
- if ( isset( $options['sab_box_icons_back'] ) and ! empty( $options['sab_box_icons_back'] ) ) {
268
- $style .= '.saboxplugin-wrap .saboxplugin-socials{background-color:' . esc_html( $options['sab_box_icons_back'] ) . ';}';
269
- }
270
- // Color of social icons (for symbols only):
271
- if ( isset( $options['sab_box_icons_color'] ) and ! empty( $options['sab_box_icons_color'] ) ) {
272
- $style .= '.saboxplugin-wrap .saboxplugin-socials .saboxplugin-icon-grey {color:' . esc_html( $options['sab_box_icons_color'] ) . ';}';
273
- }
274
- // Author name color
275
- if ( isset( $options['sab_box_author_color'] ) and ! empty( $options['sab_box_author_color'] ) ) {
276
- $style .= '.saboxplugin-wrap .saboxplugin-authorname a {color:' . esc_html( $options['sab_box_author_color'] ) . ';}';
277
- }
278
-
279
- // Author web color
280
- if ( isset( $options['sab_web'] ) and isset( $options['sab_box_web_color'] ) and ! empty( $options['sab_box_web_color'] ) ) {
281
- $style .= '.saboxplugin-wrap .saboxplugin-web a {color:' . esc_html( $options['sab_box_web_color'] ) . ';}';
282
- }
283
-
284
- // Author name font family
285
- if ( get_option( 'sab_box_name_font' ) != 'none' ) {
286
- $author_name_font = get_option( 'sab_box_name_font' );
287
- $style .= '.saboxplugin-wrap .saboxplugin-authorname {font-family:"' . esc_html( $author_name_font ) . '";}';
288
- }
289
-
290
- // Author description font family
291
- if ( get_option( 'sab_box_desc_font' ) != 'none' ) {
292
- $author_desc_font = get_option( 'sab_box_desc_font' );
293
- $style .= '.saboxplugin-wrap .saboxplugin-desc {font-family:' . esc_html( $author_desc_font ) . ';}';
294
- }
295
-
296
- // Author web font family
297
- if ( isset( $options['sab_web'] ) and get_option( 'sab_box_web_font' ) != 'none' ) {
298
- $author_web_font = get_option( 'sab_box_web_font' );
299
- $style .= '.saboxplugin-wrap .saboxplugin-web {font-family:"' . esc_html( $author_web_font ) . '";}';
300
- }
301
-
302
- // Author description font style
303
- if ( isset( $options['sab_desc_style'] ) ) {
304
- $style .= '.saboxplugin-wrap .saboxplugin-desc {font-style:italic;}';
305
- }
306
- // Margin top
307
- $style .= '.saboxplugin-wrap {margin-top:' . absint( $sabox_top_margin ) . 'px;}';
308
- // Margin bottom
309
- $style .= '.saboxplugin-wrap {margin-bottom:' . absint( $sabox_bottom_margin ) . 'px;}';
310
- // Author name text size
311
- $style .= '.saboxplugin-wrap .saboxplugin-authorname {font-size:' . absint( $sabox_name_size ) . 'px; line-height:' . absint( $sabox_name_size + 7 ) . 'px;}';
312
- // Author description font size
313
- $style .= '.saboxplugin-wrap .saboxplugin-desc {font-size:' . absint( $sabox_desc_size ) . 'px; line-height:' . absint( $sabox_desc_size + 7 ) . 'px;}';
314
- // Author website text size
315
- $style .= '.saboxplugin-wrap .saboxplugin-web {font-size:' . absint( $sabox_web_size ) . 'px;}';
316
- // Icons size
317
- $style .= '.saboxplugin-wrap .saboxplugin-socials .saboxplugin-icon-color {font-size:' . absint( $sabox_icon_size + 3 ) . 'px;}';
318
- $style .= '.saboxplugin-wrap .saboxplugin-socials .saboxplugin-icon-color:before {width:' . absint( $sabox_icon_size + $sabox_icon_size ) . 'px; height:' . absint( $sabox_icon_size + $sabox_icon_size ) . 'px; line-height:' . absint( $sabox_icon_size + $sabox_icon_size + 1 ) . 'px; }';
319
- $style .= '.saboxplugin-wrap .saboxplugin-socials .saboxplugin-icon-grey {font-size:' . absint( $sabox_icon_size ) . 'px;}';
320
- $style .= '</style>';
321
-
322
- echo $style;
323
- }
324
-
325
-
326
- /*----------------------------------------------------------------------------------------------------------
327
- Adding admin options stylesheet
328
- -----------------------------------------------------------------------------------------------------------*/
329
-
330
- public function saboxplugin_admin_style( $hook ) {
331
-
332
- // load stylesheet only on plugin options page
333
- global $saboxplugin_settings_page;
334
- if ( $hook != $saboxplugin_settings_page ) {
335
- return;
336
- }
337
-
338
- wp_enqueue_style( 'saboxplugin-admin-style', plugin_dir_url( __FILE__ ) . 'css/sabox-admin-style.min.css' ); // to debug admin style change the url to /css/dev/sabox-admin-style.css
339
- wp_enqueue_style( 'jquery-ui', plugin_dir_url( __FILE__ ) . 'css/jquery-ui.min.css' );
340
-
341
- }
342
-
343
-
344
- /*----------------------------------------------------------------------------------------------------------
345
- Adding colorpicker to plugin options page
346
- -----------------------------------------------------------------------------------------------------------*/
347
-
348
- public function saboxplugin_color_picker( $hook_color ) {
349
- // load color picker only on plugin options page
350
- global $saboxplugin_settings_page;
351
- if ( $hook_color != $saboxplugin_settings_page ) {
352
- return;
353
- }
354
- wp_enqueue_style( 'wp-color-picker' );
355
- wp_enqueue_script( 'sabox-color-js', plugins_url( 'js/sabox-color-picker.js', __FILE__ ), array( 'wp-color-picker' ), false, true );
356
- }
357
-
358
-
359
- /*----------------------------------------------------------------------------------------------------------
360
- Enqueue scripts to plugin options page
361
- -----------------------------------------------------------------------------------------------------------*/
362
-
363
- public function saboxplugin_scripts( $hook_slide ) {
364
- // load slide only on plugin options page
365
- global $saboxplugin_settings_page;
366
- if ( $hook_slide != $saboxplugin_settings_page ) {
367
- return;
368
- }
369
- wp_enqueue_script( 'jquery-ui-slider' );
370
- wp_enqueue_script( 'sabox-slide', plugins_url( 'js/sabox-slide.js', __FILE__ ), array(
371
- 'jquery',
372
- 'jquery-ui-slider'
373
- ), SIMPLE_AUTHOR_BOX_VERSION, true );
374
- wp_enqueue_script( 'sabox-hide', plugins_url( 'js/sabox-hide.js', __FILE__ ), array( 'jquery' ), SIMPLE_AUTHOR_BOX_VERSION, true );
375
-
376
- }
377
-
378
-
379
- /*----------------------------------------------------------------------------------------------------------
380
- Enqueue scripts to plugin options page for collapsible options
381
- -----------------------------------------------------------------------------------------------------------*/
382
-
383
- function saboxplugin_collapsible( $sab_suffix ) {
384
- global $saboxplugin_settings_page;
385
- if ( $sab_suffix != $saboxplugin_settings_page ) {
386
- return;
387
- }
388
- wp_enqueue_script( 'postbox' );
389
- wp_enqueue_script( 'postbox-edit', plugins_url( 'js/postbox-edit.js', __FILE__ ), array(
390
- 'jquery',
391
- 'postbox'
392
- ) );
393
- }
394
-
395
-
396
- /*----------------------------------------------------------------------------------------------------------
397
- Enqueue Font Awesome in front-end
398
- -----------------------------------------------------------------------------------------------------------*/
399
-
400
- public function saboxplugin_font_awesome_css() {
401
- global $options;
402
- if ( ! isset( $options['sab_load_fa'] ) ) {
403
- wp_enqueue_style( 'font-awesome', '//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css' );
404
- }
405
-
406
- }
407
-
408
-
409
- /*----------------------------------------------------------------------------------------------------------
410
- Adding settings link on plugins page
411
- -----------------------------------------------------------------------------------------------------------*/
412
-
413
- public function saboxplugin_settings_link( $links ) {
414
-
415
- $settings_link = '<a href="options-general.php?page=simple-author-box-options">' . __( 'Settings', 'saboxplugin' ) . '</a>';
416
- array_unshift( $links, $settings_link );
417
-
418
- return $links;
419
-
420
- }
421
-
422
-
423
- /*----------------------------------------------------------------------------------------------------------
424
- Adding settings link on plugins page
425
- -----------------------------------------------------------------------------------------------------------*/
426
-
427
- public function saboxplugin_add_menu() {
428
-
429
- // Add a page to manage the plugin's settings
430
- global $saboxplugin_settings_page;
431
- $saboxplugin_settings_page = add_menu_page( __( 'Simple Author Box', 'saboxplugin' ), __( 'Simple Author', 'saboxplugin' ), 'manage_options', 'simple-author-box-options', array(
432
- $this,
433
- 'saboxplugin_settings_page'
434
- ),
435
- 'dashicons-id' );
436
-
437
- }
438
-
439
-
440
- /*----------------------------------------------------------------------------------------------------------
441
- Busted if user can't manage options
442
- -----------------------------------------------------------------------------------------------------------*/
443
-
444
- public function saboxplugin_settings_page() {
445
-
446
- if ( ! current_user_can( 'manage_options' ) ) {
447
- wp_die( __( 'You do not have sufficient permissions to access this page.', 'saboxplugin' ) );
448
- }
449
- include( SIMPLE_AUTHOR_BOX_PATH . 'core/sabox-fonts.php' );
450
- require_once( SIMPLE_AUTHOR_BOX_PATH . 'template/options.php' );
451
- }
452
- }
453
- }
454
-
455
-
456
- if ( class_exists( 'Simple_Author_Box' ) ) {
457
-
458
- // Installation and uninstallation hooks
459
- register_activation_hook( __FILE__, array( 'Simple_Author_Box', 'sab_activate' ) );
460
- register_deactivation_hook( __FILE__, array( 'Simple_Author_Box', 'sab_deactivate' ) );
461
-
462
- // Initialise Class
463
- $simple_author_box_by_tiguan = new Simple_Author_Box();
464
- }
3
  * Plugin Name: Simple Author Box
4
  * Plugin URI: http://wordpress.org/plugins/simple-author-box/
5
  * Description: Adds a responsive author box with social icons on your posts.
6
+ * Version: 2.0
7
  * Author: Macho Themes
8
  * Author URI: https://www.machothemes.com/
9
  * License: GPLv2
27
 
28
  */
29
 
30
+ define( 'SIMPLE_AUTHOR_BOX_PATH', plugin_dir_path( __FILE__ ) );
31
+ define( 'SIMPLE_AUTHOR_BOX_ASSETS', plugins_url( '/assets/', __FILE__ ) );
32
+ define( 'SIMPLE_AUTHOR_BOX_SLUG', plugin_basename( __FILE__ ) );
33
+ define( 'SIMPLE_AUTHOR_BOX_VERSION', '2.0.0' );
34
+ define( 'SIMPLE_AUTHOR_SCRIPT_DEBUG', true );
35
 
 
 
 
36
 
37
+ require_once SIMPLE_AUTHOR_BOX_PATH . 'inc/class-simple-author-box.php';
38
+ Simple_Author_Box::get_instance();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
template/options.php DELETED
@@ -1,579 +0,0 @@
1
- <?php
2
-
3
- /*----------------------------------------------
4
- Plugin Settings
5
- -----------------------------------------------*/
6
-
7
- // Exit if accessed directly
8
- if ( ! defined( 'ABSPATH' ) ) {
9
- exit;
10
- }
11
- ?>
12
-
13
- <div class="wrap">
14
- <div class="saboxplugin">
15
- <div id="poststuff">
16
- <div id="postbox-container" class="postbox-container">
17
- <div class="meta-box-sortables ui-sortable" id="normal-sortables">
18
- <h2 class="saboxplugin-icon"><?php echo esc_html( get_admin_page_title() ); ?></h2>
19
-
20
-
21
- <form method="POST" action="options.php">
22
- <?php settings_fields( 'sabox_plugin' );
23
- do_settings_sections( 'saboxplugin_options' );
24
- $options = get_option( 'saboxplugin_options' );
25
- ?>
26
-
27
- <div class="postbox" id="test1">
28
- <button type="button" class="handlediv" aria-expanded="true">
29
- <span class="screen-reader-text">Toggle panel: <?php _e( 'General options', 'saboxplugin' ); ?></span>
30
- <span class="toggle-indicator" aria-hidden="true"></span>
31
- </button>
32
- <h2 class="hndle">
33
- <span><?php _e( 'General options', 'saboxplugin' ); ?></span>
34
- </h2>
35
- <div class="inside">
36
- <div class="saboxplugin-question">
37
- <label for="saboxplugin_options[sab_autoinsert]"><?php _e( 'Manually insert the Simple Author Box:', 'saboxplugin' ); ?></label>
38
- </div>
39
-
40
- <div class="saboxplugin-switch">
41
- <input id="sab-toggle-1" class="sab-toggle sab-toggle-yes-no" type="checkbox" name="saboxplugin_options[sab_autoinsert]" value="1" <?php checked( 1, isset( $options['sab_autoinsert'] ) ); ?> />
42
- <label for="sab-toggle-1" data-on=<?php _e( 'Yes', 'saboxplugin' ); ?> data-off=<?php _e( 'No', 'saboxplugin' ); ?>></label>
43
- </div>
44
-
45
- <div id="saboxplugin-hide">
46
-
47
- <p class="description">
48
- <?php _e( 'If you want to manually insert the Simple Author Box in your template file (single post view), you can use the following code snippet: ', 'saboxplugin' ); ?>
49
- </p>
50
- <textarea name="saboxplugin" rows="1" cols="100" onclick="this.focus();this.select();" readonly="readonly">&lt;?php if ( function_exists( 'wpsabox_author_box' ) ) echo wpsabox_author_box(); ?&gt;</textarea>
51
-
52
- <?php
53
- if ( get_option( 'sab_box_margin_top' ) ) {
54
- $sabox_top_margin = get_option( 'sab_box_margin_top' );
55
- } else {
56
- $sabox_top_margin = 0;
57
- }
58
- ?>
59
-
60
- <script type='text/javascript'>
61
- var saboxTopmargin = '<?php echo $sabox_top_margin; ?>';
62
- </script>
63
-
64
- <div class="saboxplugin-border"></div>
65
-
66
- <div class="sabox-inline-slide">
67
-
68
- <div class="saboxplugin-question">
69
- <label for="saboxplugin_options[sab_box_margin_top]"><?php _e( 'Top margin of author box:', 'saboxplugin' ); ?>
70
- <input type="text" class="sabox-amount" id="sabox-amount"/></label>
71
- </div>
72
-
73
- <div class="sabox-slider" id="sabox-slider"><p></p></div>
74
- <input type="hidden" name="sab_box_margin_top" id="sab_box_margin_top" value="<?php echo $sabox_top_margin; ?>"/>
75
-
76
- </div>
77
- <div class="saboxplugin-border"></div>
78
-
79
- <?php
80
- if ( get_option( 'sab_box_margin_bottom' ) ) {
81
- $sabox_bottom_margin = get_option( 'sab_box_margin_bottom' );
82
- } else {
83
- $sabox_bottom_margin = 45;
84
- }
85
- ?>
86
-
87
- <script type='text/javascript'>
88
- var saboxBottommargin = '<?php echo $sabox_bottom_margin; ?>';
89
- </script>
90
-
91
-
92
- <div class="sabox-inline-slide">
93
-
94
- <div class="saboxplugin-question">
95
- <label for="saboxplugin_options[sab_box_margin_bottom]"><?php _e( 'Bottom margin of author box:', 'saboxplugin' ); ?>
96
- <input type="text" class="sabox-amount2" id="sabox-amount2"/></label>
97
- </div>
98
-
99
- <div class="sabox-slider2" id="sabox-slider2"><p></p></div>
100
- <input type="hidden" name="sab_box_margin_bottom" id="sab_box_margin_bottom" value="<?php echo $sabox_bottom_margin; ?>"/>
101
-
102
- </div>
103
- <div class="saboxplugin-border"></div>
104
-
105
- </div><!-- end of saboxplugin-hide -->
106
-
107
- <div class="saboxplugin-question">
108
- <label for="saboxplugin_options[sab_no_description]"><?php _e( 'Hide the author box if author description is empty:', 'saboxplugin' ); ?></label>
109
- </div>
110
-
111
- <div class="saboxplugin-switch">
112
- <input id="sab-toggle-4" class="sab-toggle sab-toggle-yes-no" type="checkbox" name="saboxplugin_options[sab_no_description]" value="1" <?php checked( 1, isset( $options['sab_no_description'] ) ); ?> />
113
- <label for="sab-toggle-4" data-on=<?php _e( 'Yes', 'saboxplugin' ); ?> data-off=<?php _e( 'No', 'saboxplugin' ); ?>></label>
114
- </div>
115
-
116
- <div class="saboxplugin-question">
117
- <label for="saboxplugin_options[sab_avatar_style]"><?php _e( 'Author avatar image style:', 'saboxplugin' ); ?></label>
118
- </div>
119
-
120
- <div class="saboxplugin-switch">
121
- <input id="sab-toggle-8" class="sab-toggle sab-toggle-yes-no" type="checkbox" name="saboxplugin_options[sab_avatar_style]" value="1" <?php checked( 1, isset( $options['sab_avatar_style'] ) ); ?> />
122
- <label for="sab-toggle-8" data-on=<?php _e( 'Circle', 'saboxplugin' ); ?> data-off=<?php _e( 'Square', 'saboxplugin' ); ?>></label>
123
- </div>
124
-
125
- <div class="saboxplugin-question">
126
- <label for="saboxplugin_options[sab_avatar_hover]"><?php _e( 'Rotate effect on author avatar hover:', 'saboxplugin' ); ?></label>
127
- </div>
128
-
129
- <div class="saboxplugin-switch">
130
- <input id="sab-toggle-12" class="sab-toggle sab-toggle-yes-no" type="checkbox" name="saboxplugin_options[sab_avatar_hover]" value="1" <?php checked( 1, isset( $options['sab_avatar_hover'] ) ); ?> />
131
- <label for="sab-toggle-12" data-on=<?php _e( 'Yes', 'saboxplugin' ); ?> data-off=<?php _e( 'No', 'saboxplugin' ); ?>></label>
132
- </div>
133
-
134
- <div class="saboxplugin-border"></div>
135
-
136
-
137
- <div class="saboxplugin-question">
138
- <label for="saboxplugin_options[sab_web]"><?php _e( 'Show author website:', 'saboxplugin' ); ?></label>
139
- </div>
140
-
141
- <div class="saboxplugin-switch">
142
- <input id="sab-toggle-15" class="sab-toggle sab-toggle-yes-no" type="checkbox" name="saboxplugin_options[sab_web]" value="1" <?php checked( 1, isset( $options['sab_web'] ) ); ?> />
143
- <label for="sab-toggle-15" data-on=<?php _e( 'Yes', 'saboxplugin' ); ?> data-off=<?php _e( 'No', 'saboxplugin' ); ?>></label>
144
- </div>
145
-
146
-
147
- <div id="saboxplugin-hide-three">
148
-
149
- <div class="saboxplugin-question">
150
- <label for="saboxplugin_options[sab_web_position]"><?php _e( 'Author website position:', 'saboxplugin' ); ?></label>
151
- </div>
152
-
153
- <div class="saboxplugin-switch">
154
- <input id="sab-toggle-16" class="sab-toggle sab-toggle-yes-no" type="checkbox" name="saboxplugin_options[sab_web_position]" value="1" <?php checked( 1, isset( $options['sab_web_position'] ) ); ?> />
155
- <label for="sab-toggle-16" data-on=<?php _e( 'Right', 'saboxplugin' ); ?> data-off=<?php _e( 'Left', 'saboxplugin' ); ?>></label>
156
- </div>
157
-
158
-
159
- <div class="saboxplugin-question">
160
- <label for="saboxplugin_options[sab_web_target]"><?php _e( 'Open author website link in a new tab:', 'saboxplugin' ); ?></label>
161
- </div>
162
-
163
- <div class="saboxplugin-switch">
164
- <input id="sab-toggle-17" class="sab-toggle sab-toggle-yes-no" type="checkbox" name="saboxplugin_options[sab_web_target]" value="1" <?php checked( 1, isset( $options['sab_web_target'] ) ); ?> />
165
- <label for="sab-toggle-17" data-on=<?php _e( 'Yes', 'saboxplugin' ); ?> data-off=<?php _e( 'No', 'saboxplugin' ); ?>></label>
166
- </div>
167
-
168
-
169
- <div class="saboxplugin-question">
170
- <label for="saboxplugin_options[sab_web_rel]"><?php _e( 'Add "nofollow" attribute on author website link:', 'saboxplugin' ); ?></label>
171
- </div>
172
-
173
- <div class="saboxplugin-switch">
174
- <input id="sab-toggle-18" class="sab-toggle sab-toggle-yes-no" type="checkbox" name="saboxplugin_options[sab_web_rel]" value="1" <?php checked( 1, isset( $options['sab_web_rel'] ) ); ?> />
175
- <label for="sab-toggle-18" data-on=<?php _e( 'Yes', 'saboxplugin' ); ?> data-off=<?php _e( 'No', 'saboxplugin' ); ?>></label>
176
- </div>
177
-
178
- <div class="saboxplugin-border"></div>
179
- </div> <!-- end hide three -->
180
-
181
- <div class="saboxplugin-question">
182
- <label for="saboxplugin_options[sab_colored]"><?php _e( 'Social icons type (colored background or symbols only):', 'saboxplugin' ); ?></label>
183
- </div>
184
-
185
-
186
- <div class="saboxplugin-switch">
187
- <input id="sab-toggle-3" class="sab-toggle sab-toggle-yes-no" type="checkbox" name="saboxplugin_options[sab_colored]" value="1" <?php checked( 1, isset( $options['sab_colored'] ) ); ?> />
188
- <label for="sab-toggle-3" data-on=<?php _e( 'Colored', 'saboxplugin' ); ?> data-off=<?php _e( 'Symbols', 'saboxplugin' ); ?>></label>
189
- </div>
190
-
191
-
192
- <div id="saboxplugin-hide-two">
193
-
194
- <div class="saboxplugin-question">
195
- <label for="saboxplugin_options[sab_icons_style]"><?php _e( 'Social icons style:', 'saboxplugin' ); ?></label>
196
- </div>
197
-
198
- <div class="saboxplugin-switch">
199
- <input id="sab-toggle-9" class="sab-toggle sab-toggle-yes-no" type="checkbox" name="saboxplugin_options[sab_icons_style]" value="1" <?php checked( 1, isset( $options['sab_icons_style'] ) ); ?> />
200
- <label for="sab-toggle-9" data-on=<?php _e( 'Circle', 'saboxplugin' ); ?> data-off=<?php _e( 'Squares', 'saboxplugin' ); ?>></label>
201
- </div>
202
-
203
- <div class="saboxplugin-question">
204
- <label for="saboxplugin_options[sab_social_hover]"><?php _e( 'Rotate effect on social icons hover:', 'saboxplugin' ); ?></label>
205
- </div>
206
-
207
- <div class="saboxplugin-switch">
208
- <input id="sab-toggle-13" class="sab-toggle sab-toggle-yes-no" type="checkbox" name="saboxplugin_options[sab_social_hover]" value="1" <?php checked( 1, isset( $options['sab_social_hover'] ) ); ?> />
209
- <label for="sab-toggle-13" data-on=<?php _e( 'Yes', 'saboxplugin' ); ?> data-off=<?php _e( 'No', 'saboxplugin' ); ?>></label>
210
- </div>
211
-
212
- <div class="saboxplugin-question">
213
- <label for="saboxplugin_options[sab_box_long_shadow]"><?php _e( 'Use flat long shadow effect:', 'saboxplugin' ); ?></label>
214
- </div>
215
-
216
- <div class="saboxplugin-switch">
217
- <input id="sab-toggle-10" class="sab-toggle sab-toggle-yes-no" type="checkbox" name="saboxplugin_options[sab_box_long_shadow]" value="1" <?php checked( 1, isset( $options['sab_box_long_shadow'] ) ); ?> />
218
- <label for="sab-toggle-10" data-on=<?php _e( 'Yes', 'saboxplugin' ); ?> data-off=<?php _e( 'No', 'saboxplugin' ); ?>></label>
219
- </div>
220
-
221
- <div class="saboxplugin-question">
222
- <label for="saboxplugin_options[sab_box_thin_border]"><?php _e( 'Show a thin border on colored social icons:', 'saboxplugin' ); ?></label>
223
- </div>
224
-
225
- <div class="saboxplugin-switch">
226
- <input id="sab-toggle-11" class="sab-toggle sab-toggle-yes-no" type="checkbox" name="saboxplugin_options[sab_box_thin_border]" value="1" <?php checked( 1, isset( $options['sab_box_thin_border'] ) ); ?> />
227
- <label for="sab-toggle-11" data-on=<?php _e( 'Yes', 'saboxplugin' ); ?> data-off=<?php _e( 'No', 'saboxplugin' ); ?>></label>
228
- </div>
229
-
230
-
231
- </div><!-- end of saboxplugin-hide -->
232
-
233
-
234
- <div class="saboxplugin-question">
235
- <label for="saboxplugin_options[sab_link_target]"><?php _e( 'Open social icon links in a new tab:', 'saboxplugin' ); ?></label>
236
- </div>
237
-
238
- <div class="saboxplugin-switch">
239
- <input id="sab-toggle-2" class="sab-toggle sab-toggle-yes-no" type="checkbox" name="saboxplugin_options[sab_link_target]" value="1" <?php checked( 1, isset( $options['sab_link_target'] ) ); ?> />
240
- <label for="sab-toggle-2" data-on=<?php _e( 'Yes', 'saboxplugin' ); ?> data-off=<?php _e( 'No', 'saboxplugin' ); ?>></label>
241
- </div>
242
-
243
-
244
- <div class="saboxplugin-question">
245
- <label for="saboxplugin_options[sab_hide_socials]"><?php _e( 'Hide the social icons on author box:', 'saboxplugin' ); ?></label>
246
- </div>
247
-
248
- <div class="saboxplugin-switch">
249
- <input id="sab-toggle-7" class="sab-toggle sab-toggle-yes-no" type="checkbox" name="saboxplugin_options[sab_hide_socials]" value="1" <?php checked( 1, isset( $options['sab_hide_socials'] ) ); ?> />
250
- <label for="sab-toggle-7" data-on=<?php _e( 'Yes', 'saboxplugin' ); ?> data-off=<?php _e( 'No', 'saboxplugin' ); ?>></label>
251
- </div>
252
- </div>
253
- </div>
254
-
255
- <div class="postbox closed" id="test1">
256
- <button type="button" class="handlediv" aria-expanded="true">
257
- <span class="screen-reader-text">Toggle panel: <?php _e( 'Color options', 'saboxplugin' ); ?></span>
258
- <span class="toggle-indicator" aria-hidden="true"></span>
259
- </button>
260
- <h2 class="hndle">
261
- <span><?php _e( 'Color options', 'saboxplugin' ); ?></span>
262
- </h2>
263
- <div class="inside">
264
-
265
- <div class="saboxplugin-question">
266
- <label for="saboxplugin_options[sab_box_author_color]"><?php _e( 'Author name color:', 'saboxplugin' ); ?></label>
267
- </div>
268
-
269
- <div class="saboxplugin-switch">
270
- <?php $sab_author_color = ( isset( $options['sab_box_author_color'] ) ) ? $options['sab_box_author_color'] : ''; ?>
271
- <input type="text" name="saboxplugin_options[sab_box_author_color]" id="saboxplugin_options[sab_box_author_color]" class="saboxplugin-color-picker" value="<?php echo $sab_author_color; ?>"/>
272
- </div>
273
-
274
- <div class="saboxplugin-question">
275
- <label for="saboxplugin_options[sab_box_web_color]"><?php _e( 'Author website link color:', 'saboxplugin' ); ?></label>
276
- </div>
277
- <div class="saboxplugin-switch">
278
- <?php $sab_web_color = ( isset( $options['sab_box_web_color'] ) ) ? $options['sab_box_web_color'] : ''; ?>
279
- <input type="text" name="saboxplugin_options[sab_box_web_color]" id="saboxplugin_options[sab_box_web_color]" class="saboxplugin-color-picker" value="<?php echo $sab_web_color; ?>"/>
280
- </div>
281
-
282
-
283
- <div class="saboxplugin-question">
284
- <label for="saboxplugin_options[sab_box_border]"><?php _e( 'Border color of Simple Author Box:', 'saboxplugin' ); ?></label>
285
- </div>
286
- <div class="saboxplugin-switch">
287
- <?php $sab_border_color = ( isset( $options['sab_box_border'] ) ) ? $options['sab_box_border'] : ''; ?>
288
- <input type="text" name="saboxplugin_options[sab_box_border]" id="saboxplugin_options[sab_box_border]" class="saboxplugin-color-picker" value="<?php echo $sab_border_color; ?>"/>
289
- </div>
290
-
291
- <div class="saboxplugin-question">
292
- <label for="saboxplugin_options[sab_box_icons_back]"><?php _e( 'Background color of social icons bar:', 'saboxplugin' ); ?></label>
293
- </div>
294
-
295
- <div class="saboxplugin-switch">
296
- <?php $sab_icons_back = ( isset( $options['sab_box_icons_back'] ) ) ? $options['sab_box_icons_back'] : ''; ?>
297
- <input type="text" name="saboxplugin_options[sab_box_icons_back]" id="saboxplugin_options[sab_box_icons_back]" class="saboxplugin-color-picker" value="<?php echo $sab_icons_back; ?>"/>
298
- </div>
299
-
300
- <div class="saboxplugin-question">
301
- <label for="saboxplugin_options[sab_box_icons_color]"><?php _e( 'Social icons color (for symbols only):', 'saboxplugin' ); ?></label>
302
- </div>
303
-
304
- <div class="saboxplugin-switch">
305
- <?php $sab_icons_color = ( isset( $options['sab_box_icons_color'] ) ) ? $options['sab_box_icons_color'] : ''; ?>
306
- <input type="text" name="saboxplugin_options[sab_box_icons_color]" id="saboxplugin_options[sab_box_icons_color]" class="saboxplugin-color-picker" value="<?php echo $sab_icons_color; ?>"/>
307
- </div>
308
-
309
- </div>
310
- </div>
311
-
312
-
313
- <div class="postbox closed" id="test3">
314
- <button type="button" class="handlediv" aria-expanded="true">
315
- <span class="screen-reader-text">Toggle panel: <?php _e( 'Typography options', 'saboxplugin' ); ?></span>
316
- <span class="toggle-indicator" aria-hidden="true"></span>
317
- </button>
318
- <h2 class="hndle">
319
- <span><?php _e( 'Typography options', 'saboxplugin' ); ?></span>
320
- </h2>
321
- <div class="inside">
322
-
323
-
324
- <div class="saboxplugin-question">
325
- <label for="sab_box_subset"><?php _e( 'Google font characters subset:', 'saboxplugin' ); ?></label>
326
- <p class="description"><?php _e( 'Please note that some Google fonts does not support particular subsets!', 'saboxplugin' ); ?></p>
327
- </div>
328
- <div class="saboxplugin-switch">
329
- <select name="sab_box_subset" id="sab_box_subset" class="sab_box_subset">
330
- <?php
331
-
332
- // Listing Google fonts subsets from the array.
333
- foreach ( $sabox_google_subset as $sabox_subset ) {
334
- echo '<option value="' . $sabox_subset . '"' . selected( $sabox_subset, get_option( 'sab_box_subset' ) ) . '>' . $sabox_subset . '</option>' . "\n";
335
- }
336
-
337
- ?>
338
- </select>
339
- </div>
340
-
341
- <div class="saboxplugin-border"></div>
342
-
343
- <div class="saboxplugin-question">
344
- <label for="sab_box_name_font"><?php _e( 'Author name font family:', 'saboxplugin' ); ?></label>
345
- </div>
346
-
347
-
348
- <div class="saboxplugin-switch">
349
- <select name="sab_box_name_font" id="sab_box_name_font" class="sab_box_name_font">
350
- <option value="none"><?php _e( 'None', 'saboxplugin' ); ?></option>
351
- <?php
352
-
353
- // Listing Google fonts from the array.
354
- foreach ( $sabox_google_fonts as $sabox_font ) {
355
- echo '<option value="' . $sabox_font . '"' . selected( $sabox_font, get_option( 'sab_box_name_font' ) ) . '>' . $sabox_font . '</option>' . "\n";
356
- }
357
-
358
- ?>
359
- </select>
360
-
361
- </div>
362
-
363
-
364
- <div class="saboxplugin-border"></div>
365
-
366
- <div class="saboxplugin-question">
367
- <label for="sab_box_web_font"><?php _e( 'Author website font family:', 'saboxplugin' ); ?></label>
368
- </div>
369
-
370
- <div class="saboxplugin-switch">
371
- <select name="sab_box_web_font" id="sab_box_web_font" class="sab_box_web_font">
372
- <option value="none"><?php _e( 'None', 'saboxplugin' ); ?></option>
373
- <?php
374
-
375
- // Listing Google fonts from the array.
376
- foreach ( $sabox_google_fonts as $sabox_font ) {
377
- echo '<option value="' . $sabox_font . '"' . selected( $sabox_font, get_option( 'sab_box_web_font' ) ) . '>' . $sabox_font . '</option>' . "\n";
378
- }
379
-
380
- ?>
381
- </select>
382
-
383
- </div>
384
-
385
- <div class="saboxplugin-border"></div>
386
-
387
-
388
- <div class="saboxplugin-question">
389
- <label for="sab_box_desc_font"><?php _e( 'Author description font family:', 'saboxplugin' ); ?></label>
390
- </div>
391
-
392
-
393
- <div class="saboxplugin-switch">
394
- <select name="sab_box_desc_font" id="sab_box_name_font" class="sab_box_desc_font">
395
- <option value="none"><?php _e( 'None', 'saboxplugin' ); ?></option>
396
- <?php
397
-
398
- // Listing Google fonts from the array.
399
- foreach ( $sabox_google_fonts as $sabox_font ) {
400
- echo '<option value="' . $sabox_font . '"' . selected( $sabox_font, get_option( 'sab_box_desc_font' ) ) . '>' . $sabox_font . '</option>' . "\n";
401
- }
402
-
403
- ?>
404
- </select>
405
-
406
- </div>
407
-
408
-
409
- <div class="saboxplugin-border"></div>
410
-
411
-
412
- <?php
413
- if ( get_option( 'sab_box_name_size' ) ) {
414
- $sabox_name_size = get_option( 'sab_box_name_size' );
415
- } else {
416
- $sabox_name_size = 18;
417
- }
418
- ?>
419
-
420
- <script type='text/javascript'>
421
- var saboxNamesize = '<?php echo $sabox_name_size; ?>';
422
- </script>
423
-
424
-
425
- <div class="sabox-inline-slide">
426
-
427
- <div class="saboxplugin-question">
428
- <label for="saboxplugin_options[sab_box_name_size]"><?php _e( 'Author name font size:', 'saboxplugin' ); ?>
429
- <input type="text" class="sabox-amount4" id="sabox-amount4"/></label>
430
- </div>
431
-
432
- <div class="sabox-slider4" id="sabox-slider4"><p></p></div>
433
- <input type="hidden" name="sab_box_name_size" id="sab_box_name_size" value="<?php echo $sabox_name_size; ?>"/>
434
- <p class="description"><?php _e( 'Default font size of author name is 18px.', 'saboxplugin' ); ?></p>
435
- </div>
436
-
437
-
438
- <div class="saboxplugin-border"></div>
439
-
440
-
441
- <?php
442
- if ( get_option( 'sab_box_web_size' ) ) {
443
- $sabox_web_size = get_option( 'sab_box_web_size' );
444
- } else {
445
- $sabox_web_size = 14;
446
- }
447
- ?>
448
-
449
- <script type='text/javascript'>
450
- var saboxWebsize = '<?php echo $sabox_web_size; ?>';
451
- </script>
452
-
453
-
454
- <div class="sabox-inline-slide">
455
-
456
- <div class="saboxplugin-question">
457
- <label for="saboxplugin_options[sab_box_web_size]"><?php _e( 'Author website font size:', 'saboxplugin' ); ?>
458
- <input type="text" class="sabox-amount6" id="sabox-amount6"/></label>
459
- </div>
460
-
461
- <div class="sabox-slider6" id="sabox-slider6"><p></p></div>
462
- <input type="hidden" name="sab_box_web_size" id="sab_box_web_size" value="<?php echo $sabox_web_size; ?>"/>
463
- <p class="description"><?php _e( 'Default font size of author website is 14px.', 'saboxplugin' ); ?></p>
464
- </div>
465
-
466
- <div class="saboxplugin-border"></div>
467
-
468
-
469
- <?php
470
- if ( get_option( 'sab_box_desc_size' ) ) {
471
- $sabox_desc_size = get_option( 'sab_box_desc_size' );
472
- } else {
473
- $sabox_desc_size = 14;
474
- }
475
- ?>
476
-
477
- <script type='text/javascript'>
478
- var saboxDescsize = '<?php echo $sabox_desc_size; ?>';
479
- </script>
480
-
481
-
482
- <div class="sabox-inline-slide">
483
-
484
- <div class="saboxplugin-question">
485
- <label for="saboxplugin_options[sab_box_desc_size]"><?php _e( 'Author description font size:', 'saboxplugin' ); ?>
486
- <input type="text" class="sabox-amount5" id="sabox-amount5"/></label>
487
- </div>
488
-
489
- <div class="sabox-slider5" id="sabox-slider5"><p></p></div>
490
- <input type="hidden" name="sab_box_desc_size" id="sab_box_desc_size" value="<?php echo $sabox_desc_size; ?>"/>
491
- <p class="description"><?php _e( 'Default font size of author description is 14px.', 'saboxplugin' ); ?></p>
492
- </div>
493
-
494
- <div class="saboxplugin-border"></div>
495
-
496
- <?php
497
- if ( get_option( 'sab_box_icon_size' ) ) {
498
- $sabox_icons_size = get_option( 'sab_box_icon_size' );
499
- } else {
500
- $sabox_icons_size = 18;
501
- }
502
- ?>
503
-
504
- <script type='text/javascript'>
505
- var saboxIconsize = '<?php echo $sabox_icons_size; ?>';
506
- </script>
507
-
508
-
509
- <div class="sabox-inline-slide">
510
-
511
- <div class="saboxplugin-question">
512
- <label for="saboxplugin_options[sab_box_icon_size]"><?php _e( 'Size of social icons:', 'saboxplugin' ); ?>
513
- <input type="text" class="sabox-amount3" id="sabox-amount3"/></label>
514
- </div>
515
-
516
- <div class="sabox-slider3" id="sabox-slider3"><p></p></div>
517
-
518
- <input type="hidden" name="sab_box_icon_size" id="sab_box_icon_size" value="<?php echo $sabox_icons_size; ?>"/>
519
-
520
- <p class="description"><?php _e( 'Default font size of social icons is 18px.', 'saboxplugin' ); ?></p>
521
-
522
- </div>
523
-
524
-
525
- <div class="saboxplugin-border"></div>
526
-
527
- <div class="saboxplugin-question">
528
- <label for="saboxplugin_options[sab_desc_style]"><?php _e( 'Author description font style:', 'saboxplugin' ); ?></label>
529
- </div>
530
-
531
- <div class="saboxplugin-switch">
532
- <input id="sab-toggle-14" class="sab-toggle sab-toggle-yes-no" type="checkbox" name="saboxplugin_options[sab_desc_style]" value="1" <?php checked( 1, isset( $options['sab_desc_style'] ) ); ?> />
533
- <label for="sab-toggle-14" data-on=<?php _e( 'Italic', 'saboxplugin' ); ?> data-off=<?php _e( 'Normal', 'saboxplugin' ); ?>></label>
534
- </div>
535
-
536
-
537
- </div>
538
- </div>
539
-
540
- <div class="postbox closed" id="test4">
541
- <button type="button" class="handlediv" aria-expanded="true">
542
- <span class="screen-reader-text">Toggle panel: <?php _e( 'Miscellaneous options', 'saboxplugin' ); ?></span>
543
- <span class="toggle-indicator" aria-hidden="true"></span>
544
- </button>
545
- <h2 class="hndle">
546
- <span><?php _e( 'Miscellaneous options', 'saboxplugin' ); ?></span></h2>
547
- <div class="inside">
548
- <div class="saboxplugin-question">
549
- <label for="saboxplugin_options[sab_load_fa]"><?php _e( 'Disable Font Awesome stylesheet:', 'saboxplugin' ); ?></label>
550
- <p class="description"><?php _e( 'Switch to "Yes" to prevent Font Awesome from loading its stylesheet, ONLY if your theme or another plugin already does.', 'saboxplugin' ); ?></p>
551
- </div>
552
-
553
- <div class="saboxplugin-switch">
554
- <input id="sab-toggle-6" class="sab-toggle sab-toggle-yes-no" type="checkbox" name="saboxplugin_options[sab_load_fa]" value="1" <?php checked( 1, isset( $options['sab_load_fa'] ) ); ?> />
555
- <label for="sab-toggle-6" data-on=<?php _e( 'Yes', 'saboxplugin' ); ?> data-off=<?php _e( 'No', 'saboxplugin' ); ?>></label>
556
- </div>
557
-
558
- <div class="saboxplugin-border"></div>
559
-
560
- <div class="saboxplugin-question">
561
- <label for="saboxplugin_options[sab_footer_inline_style]"><?php _e( 'Load generated inline style to footer:', 'saboxplugin' ); ?></label>
562
- <p class="description"><?php _e( 'This option is useful ONLY if you run a plugin that optimizes your CSS delivery or moves your stylesheets to the footer, to get a higher score on speed testing services. However, the plugin style is loaded only on single post and single page.', 'saboxplugin' ); ?></p>
563
- </div>
564
-
565
- <div class="saboxplugin-switch">
566
- <input id="sab-toggle-5" class="sab-toggle sab-toggle-yes-no" type="checkbox" name="saboxplugin_options[sab_footer_inline_style]" value="1" <?php checked( 1, isset( $options['sab_footer_inline_style'] ) ); ?> />
567
- <label for="sab-toggle-5" data-on=<?php _e( 'Yes', 'saboxplugin' ); ?> data-off=<?php _e( 'No', 'saboxplugin' ); ?>></label>
568
- </div>
569
-
570
- </div>
571
- </div>
572
- <?php submit_button(); ?>
573
- </form>
574
- </div>
575
- </div>
576
- </div>
577
- </div>
578
- </div>
579
- <div class="wp-clearfix"></div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
template/template-sab.php ADDED
@@ -0,0 +1,103 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if ( isset( $sabox_options['sab_colored'] ) ) {
3
+ $sabox_color = 'sabox-colored';
4
+ } else {
5
+ $sabox_color = '';
6
+ }
7
+
8
+ if ( isset( $sabox_options['sab_web_position'] ) && '0' != $sabox_options['sab_web_position'] ) {
9
+ $sab_web_align = 'sab-web-position';
10
+ } else {
11
+ $sab_web_align = '';
12
+ }
13
+
14
+ if ( isset( $sabox_options['sab_web_target'] ) ) {
15
+ $sab_web_target = '_blank';
16
+ } else {
17
+ $sab_web_target = '_self';
18
+ }
19
+
20
+ if ( isset( $sabox_options['sab_web_rel'] ) ) {
21
+ $sab_web_rel = 'rel="nofollow"';
22
+ } else {
23
+ $sab_web_rel = '';
24
+ }
25
+
26
+ $sab_author_link = sprintf( '<a href="%s">%s</a>', esc_url( get_author_posts_url( $sabox_author_id ) ), esc_html( get_the_author_meta( 'display_name', $sabox_author_id ) ) );
27
+
28
+ if ( get_the_author_meta( 'description' ) != '' || ! isset( $sabox_options['sab_no_description'] ) ) { // hide the author box if no description is provided
29
+
30
+ echo '<div class="saboxplugin-wrap">'; // start saboxplugin-wrap div
31
+
32
+ // author box gravatar
33
+ echo '<div class="saboxplugin-gravatar">';
34
+ $custom_profile_image = get_the_author_meta( 'sabox-profile-image', $sabox_author_id );
35
+ if ( '' != $custom_profile_image ) {
36
+ echo '<img src="' . esc_url( $custom_profile_image ) . '">';
37
+ } else {
38
+ echo get_avatar( get_the_author_meta( 'user_email', $sabox_author_id ), '100' );
39
+ }
40
+
41
+ echo '</div>';
42
+
43
+ // author box name
44
+ echo '<div class="saboxplugin-authorname">';
45
+ echo apply_filters( 'sabox_author_html', $sab_author_link, $sabox_options, $sabox_author_id );
46
+ echo '</div>';
47
+
48
+
49
+ // author box description
50
+ echo '<div class="saboxplugin-desc">';
51
+ echo '<div class="vcard author"><div class="fn">';
52
+ $description = get_the_author_meta( 'description', $sabox_author_id );
53
+ $description = wptexturize( $description );
54
+ $description = wpautop( $description );
55
+ echo wp_kses_post( $description );
56
+ echo '</div></div>';
57
+ echo '</div>';
58
+
59
+ if ( is_single() ) {
60
+ if ( get_the_author_meta( 'user_url' ) != '' and isset( $sabox_options['sab_web'] ) ) { // author website on single
61
+ echo '<div class="saboxplugin-web ' . esc_attr( $sab_web_align ) . '">';
62
+ echo '<a href="' . esc_url( get_the_author_meta( 'user_url', $sabox_author_id ) ) . '" target="' . esc_attr( $sab_web_target ) . '" ' . esc_attr( $sab_web_rel ) . '>' . esc_html( get_the_author_meta( 'user_url', $sabox_author_id ) ) . '</a>';
63
+ echo '</div>';
64
+ }
65
+ }
66
+
67
+
68
+ if ( is_author() or is_archive() ) {
69
+ if ( get_the_author_meta( 'user_url' ) != '' ) { // force show author website on author.php or archive.php
70
+ echo '<div class="saboxplugin-web ' . esc_attr( $sab_web_align ) . '">';
71
+ echo '<a href="' . esc_url( get_the_author_meta( 'user_url', $sabox_author_id ) ) . '" target="' . esc_attr( $sab_web_target ) . '" ' . esc_attr( $sab_web_rel ) . '>' . esc_html( get_the_author_meta( 'user_url', $sabox_author_id ) ) . '</a>';
72
+ echo '</div>';
73
+ }
74
+ }
75
+
76
+ // author box clearfix
77
+ echo '<div class="clearfix"></div>';
78
+
79
+ // author box social icons
80
+ $author = get_userdata( $sabox_author_id );
81
+ $show_social_icons = apply_filters( 'sabox_hide_social_icons', true, $author );
82
+ if ( ! isset( $sabox_options['sab_hide_socials'] ) && $show_social_icons ) { // hide social icons div option
83
+ echo '<div class="saboxplugin-socials ' . esc_attr( $sabox_color ) . '">';
84
+ $social_links = Simple_Author_Box_Helper::get_user_social_links( $sabox_author_id );
85
+ foreach ( $social_links as $social_platform => $social_link ) {
86
+
87
+ if ( 'user_email' == $social_platform ) {
88
+ if ( ! isset( $sabox_options['sab_email'] ) ) {
89
+ continue;
90
+ } else {
91
+ $social_link = 'mailto:' . antispambot( $social_link );
92
+ }
93
+ }
94
+
95
+ if ( ! empty( $social_link ) ) {
96
+ echo Simple_Author_Box_Helper::get_sabox_social_icon( $social_link, $social_platform );
97
+ }
98
+ }
99
+
100
+ echo '</div>';
101
+ } // end of social icons
102
+ echo '</div>'; // end of saboxplugin-wrap div
103
+ }
uninstall.php CHANGED
@@ -1,26 +1,26 @@
1
- <?php
2
-
3
- /*----------------------------------------------------------------------------------------------------------
4
- Uninstall Simple Author Box plugin - deletes plugin data in database
5
- -----------------------------------------------------------------------------------------------------------*/
6
-
7
- // Exit if accessed directly
8
- if( !defined( 'ABSPATH' ) ) {
9
- exit;
10
- }
11
-
12
- if( !defined( 'WP_UNINSTALL_PLUGIN' ) ) {
13
- exit();
14
- }
15
-
16
- delete_option( 'saboxplugin_options' );
17
- delete_option( 'sab_box_margin_top' );
18
- delete_option( 'sab_box_margin_bottom' );
19
- delete_option( 'sab_box_icon_size' );
20
- delete_option( 'sab_box_name_size' );
21
- delete_option( 'sab_box_name_font' );
22
- delete_option( 'sab_box_subset' );
23
- delete_option( 'sab_box_desc_font' );
24
- delete_option( 'sab_box_desc_size' );
25
- delete_option( 'sab_box_desc_font' );
26
- delete_option( 'sab_box_web_size' );
1
+ <?php
2
+
3
+ /*----------------------------------------------------------------------------------------------------------
4
+ Uninstall Simple Author Box plugin - deletes plugin data in database
5
+ -----------------------------------------------------------------------------------------------------------*/
6
+
7
+ // Exit if accessed directly
8
+ if ( ! defined( 'ABSPATH' ) ) {
9
+ exit;
10
+ }
11
+
12
+ if ( ! defined( 'WP_UNINSTALL_PLUGIN' ) ) {
13
+ exit();
14
+ }
15
+
16
+ delete_option( 'saboxplugin_options' );
17
+ delete_option( 'sab_box_margin_top' );
18
+ delete_option( 'sab_box_margin_bottom' );
19
+ delete_option( 'sab_box_icon_size' );
20
+ delete_option( 'sab_box_name_size' );
21
+ delete_option( 'sab_box_name_font' );
22
+ delete_option( 'sab_box_subset' );
23
+ delete_option( 'sab_box_desc_font' );
24
+ delete_option( 'sab_box_desc_size' );
25
+ delete_option( 'sab_box_desc_font' );
26
+ delete_option( 'sab_box_web_size' );