Social Icons - Version 1.4

Version Description

  • 20/05/2016 =
  • Feature - Pretty Support for shortcode option.
  • Fix - Undefinded index for key on widget save.
  • Fix - Bug with links containing the word play.
  • Tweak - Selective Refresh Support for Widgets.
  • Tweak - Introduced a filter for the queued JS.
  • Tweak - Introduced si_get_allowed_socicons().
  • Tweak - Preserve comments that start with a bang.
  • Tweak - Enqueue frontend styles and scripts correctly.
  • Tweak - Updated socicon to v3.0.3 including instagram glyph change.
  • Tweak - Introduced si_get_social_icon_name() to get social icon from url.
  • Refactor - Better to use SI prefixing for overall classes.
Download this release

Release Info

Developer ThemeGrill
Plugin Icon 128x128 Social Icons
Version 1.4
Comparing to
See all releases

Code changes from version 1.3 to 1.4

Files changed (47) hide show
  1. assets/css/_animation.scss +9 -0
  2. assets/css/_mixins.scss +65 -0
  3. assets/css/_socicon.scss +393 -226
  4. assets/css/_variables.scss +141 -0
  5. assets/css/admin.css +1 -0
  6. assets/css/admin.scss +683 -0
  7. assets/css/social-icons.css +1 -1
  8. assets/css/social-icons.scss +9 -4
  9. assets/css/widgets.css +1 -1
  10. assets/fonts/socicon.eot +0 -0
  11. assets/fonts/socicon.svg +20 -2
  12. assets/fonts/socicon.ttf +0 -0
  13. assets/fonts/socicon.woff +0 -0
  14. assets/images/icons/loader.svg +8 -0
  15. assets/js/admin/admin.js +22 -0
  16. assets/js/admin/admin.min.js +1 -0
  17. assets/js/admin/meta-boxes-group.js +66 -0
  18. assets/js/admin/meta-boxes-group.min.js +1 -0
  19. assets/js/admin/meta-boxes.js +30 -0
  20. assets/js/admin/meta-boxes.min.js +1 -0
  21. assets/js/{widgets.js → admin/widgets.js} +5 -7
  22. assets/js/admin/widgets.min.js +1 -0
  23. assets/js/jquery-tiptip/jquery.tipTip.js +191 -0
  24. assets/js/jquery-tiptip/jquery.tipTip.min.js +1 -0
  25. assets/js/widgets.min.js +0 -1
  26. includes/{abstract/abstract-social-icons-widget.php → abstracts/abstract-si-widget.php} +7 -6
  27. includes/admin/class-si-admin-assets.php +109 -0
  28. includes/admin/class-si-admin-meta-boxes.php +145 -0
  29. includes/admin/class-si-admin-post-types.php +282 -0
  30. includes/admin/class-si-admin.php +72 -0
  31. includes/admin/functions-si-admin.php +60 -0
  32. includes/admin/functions-si-meta-box.php +238 -0
  33. includes/admin/meta-boxes/class-si-meta-box-group-data.php +225 -0
  34. includes/admin/meta-boxes/views/html-group-social-icon.php +6 -0
  35. includes/class-si-ajax.php +61 -0
  36. includes/class-si-autoloader.php +83 -0
  37. includes/class-si-frontend-scripts.php +105 -0
  38. includes/class-si-install.php +62 -0
  39. includes/class-si-post-types.php +100 -0
  40. includes/class-si-shortcodes.php +118 -0
  41. includes/functions-si-core.php +120 -0
  42. includes/functions-si-widget.php +28 -0
  43. includes/{class-widget-social-icons.php → widgets/class-si-widget-social-icons.php} +41 -69
  44. languages/social-icons.pot +352 -41
  45. readme.txt +20 -5
  46. social-icons.php +147 -63
  47. uninstall.php +31 -0
assets/css/_animation.scss ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * _animation.scss
3
+ * Custom Social Icons Animations.
4
+ */
5
+ @include keyframes( spin ) {
6
+ 100% {
7
+ @include transform( rotate(360deg) );
8
+ }
9
+ }
assets/css/_mixins.scss ADDED
@@ -0,0 +1,65 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * _mixins.scss
3
+ * Social Icons Mixins
4
+ */
5
+ @mixin ir() {
6
+ display: block;
7
+ text-indent: -9999px;
8
+ position: relative;
9
+ height: 1em;
10
+ width: 1em;
11
+ }
12
+
13
+ @mixin icon_dashicons( $glyph: "\f333" ) {
14
+ font-family: 'Dashicons';
15
+ speak: none;
16
+ font-weight: normal;
17
+ font-variant: normal;
18
+ text-transform: none;
19
+ line-height: 1;
20
+ -webkit-font-smoothing: antialiased;
21
+ margin: 0;
22
+ text-indent: 0;
23
+ position: absolute;
24
+ top: 0;
25
+ left: 0;
26
+ width: 100%;
27
+ height: 100%;
28
+ text-align: center;
29
+ content: $glyph;
30
+ }
31
+
32
+ @mixin iconbeforedashicons( $glyph: "\f333" ) {
33
+ font-family: 'Dashicons';
34
+ speak: none;
35
+ font-weight: normal;
36
+ font-variant: normal;
37
+ text-transform: none;
38
+ line-height: 1;
39
+ -webkit-font-smoothing: antialiased;
40
+ margin-right: .618em;
41
+ content: $glyph;
42
+ text-decoration: none;
43
+ }
44
+
45
+ @mixin loader() {
46
+ &:before {
47
+ height: 1em;
48
+ width: 1em;
49
+ display: block;
50
+ position: absolute;
51
+ top: 50%;
52
+ left: 50%;
53
+ margin-left: -.5em;
54
+ margin-top: -.5em;
55
+ display: block;
56
+ content: "";
57
+ @include animation( spin 1s ease-in-out infinite );
58
+ background: url(../images/icons/loader.svg) center center;
59
+ background-size: cover;
60
+ line-height: 1;
61
+ text-align: center;
62
+ font-size: 2em;
63
+ color: rgba(#000,0.75);
64
+ }
65
+ }
assets/css/_socicon.scss CHANGED
@@ -3,6 +3,11 @@
3
  * Styles applied to socicon.
4
  */
5
 
 
 
 
 
 
6
  /**
7
  * Socicon fonts
8
  */
@@ -59,8 +64,8 @@
59
  }
60
 
61
  .socicon-modelmayhem {
62
- color: #000;
63
- background-color: #000;
64
 
65
  &:before {
66
  content: "\e000";
@@ -68,8 +73,8 @@
68
  }
69
 
70
  .socicon-mixcloud {
71
- color: #000;
72
- background-color: #000;
73
 
74
  &:before {
75
  content: "\e001";
@@ -77,8 +82,8 @@
77
  }
78
 
79
  .socicon-drupal {
80
- color: #00598e;
81
- background-color: #00598e;
82
 
83
  &:before {
84
  content: "\e002";
@@ -86,8 +91,8 @@
86
  }
87
 
88
  .socicon-swarm {
89
- color: #FC9D3C;
90
- background-color: #FC9D3C;
91
 
92
  &:before {
93
  content: "\e003";
@@ -95,8 +100,8 @@
95
  }
96
 
97
  .socicon-istock {
98
- color: #000;
99
- background-color: #000;
100
 
101
  &:before {
102
  content: "\e004";
@@ -104,8 +109,8 @@
104
  }
105
 
106
  .socicon-yammer {
107
- color: #1175C4;
108
- background-color: #1175C4;
109
 
110
  &:before {
111
  content: "\e005";
@@ -113,8 +118,8 @@
113
  }
114
 
115
  .socicon-ello {
116
- color: #000;
117
- background-color: #000;
118
 
119
  &:before {
120
  content: "\e006";
@@ -122,8 +127,8 @@
122
  }
123
 
124
  .socicon-stackoverflow {
125
- color: #FD9827;
126
- background-color: #FD9827;
127
 
128
  &:before {
129
  content: "\e007";
@@ -131,8 +136,8 @@
131
  }
132
 
133
  .socicon-persona {
134
- color: #e6753d;
135
- background-color: #e6753d;
136
 
137
  &:before {
138
  content: "\e008";
@@ -140,8 +145,8 @@
140
  }
141
 
142
  .socicon-triplej {
143
- color: #E53531;
144
- background-color: #E53531;
145
 
146
  &:before {
147
  content: "\e009";
@@ -149,8 +154,8 @@
149
  }
150
 
151
  .socicon-houzz {
152
- color: #7CC04B;
153
- background-color: #7CC04B;
154
 
155
  &:before {
156
  content: "\e00a";
@@ -158,8 +163,8 @@
158
  }
159
 
160
  .socicon-rss {
161
- color: #f26109;
162
- background-color: #f26109;
163
 
164
  &:before {
165
  content: "\e00b";
@@ -167,8 +172,8 @@
167
  }
168
 
169
  .socicon-paypal {
170
- color: #009cde;
171
- background-color: #009cde;
172
 
173
  &:before {
174
  content: "\e00c";
@@ -176,8 +181,8 @@
176
  }
177
 
178
  .socicon-odnoklassniki {
179
- color: #f48420;
180
- background-color: #f48420;
181
 
182
  &:before {
183
  content: "\e00d";
@@ -185,8 +190,8 @@
185
  }
186
 
187
  .socicon-airbnb {
188
- color: #ff5a5f;
189
- background-color: #ff5a5f;
190
 
191
  &:before {
192
  content: "\e00e";
@@ -194,8 +199,8 @@
194
  }
195
 
196
  .socicon-periscope {
197
- color: #3AA4C6;
198
- background-color: #3AA4C6;
199
 
200
  &:before {
201
  content: "\e00f";
@@ -203,8 +208,8 @@
203
  }
204
 
205
  .socicon-outlook {
206
- color: #0072C6;
207
- background-color: #0072C6;
208
 
209
  &:before {
210
  content: "\e010";
@@ -212,8 +217,8 @@
212
  }
213
 
214
  .socicon-coderwall {
215
- color: #3E8DCC;
216
- background-color: #3E8DCC;
217
 
218
  &:before {
219
  content: "\e011";
@@ -221,8 +226,8 @@
221
  }
222
 
223
  .socicon-tripadvisor {
224
- color: #4B7E37;
225
- background-color: #4B7E37;
226
 
227
  &:before {
228
  content: "\e012";
@@ -230,8 +235,8 @@
230
  }
231
 
232
  .socicon-appnet {
233
- color: #494949;
234
- background-color: #494949;
235
 
236
  &:before {
237
  content: "\e013";
@@ -239,8 +244,8 @@
239
  }
240
 
241
  .socicon-goodreads {
242
- color: #463020;
243
- background-color: #463020;
244
 
245
  &:before {
246
  content: "\e014";
@@ -248,8 +253,8 @@
248
  }
249
 
250
  .socicon-tripit {
251
- color: #1982C3;
252
- background-color: #1982C3;
253
 
254
  &:before {
255
  content: "\e015";
@@ -257,8 +262,8 @@
257
  }
258
 
259
  .socicon-lanyrd {
260
- color: #3c80c9;
261
- background-color: #3c80c9;
262
 
263
  &:before {
264
  content: "\e016";
@@ -266,8 +271,8 @@
266
  }
267
 
268
  .socicon-slideshare {
269
- color: #4ba3a6;
270
- background-color: #4ba3a6;
271
 
272
  &:before {
273
  content: "\e017";
@@ -275,8 +280,8 @@
275
  }
276
 
277
  .socicon-buffer {
278
- color: #000;
279
- background-color: #000;
280
 
281
  &:before {
282
  content: "\e018";
@@ -284,8 +289,8 @@
284
  }
285
 
286
  .socicon-disqus {
287
- color: #2e9fff;
288
- background-color: #2e9fff;
289
 
290
  &:before {
291
  content: "\e019";
@@ -293,8 +298,8 @@
293
  }
294
 
295
  .socicon-vkontakte {
296
- color: #5a7fa6;
297
- background-color: #5a7fa6;
298
 
299
  &:before {
300
  content: "\e01a";
@@ -302,8 +307,8 @@
302
  }
303
 
304
  .socicon-whatsapp {
305
- color: #20B038;
306
- background-color: #20B038;
307
 
308
  &:before {
309
  content: "\e01b";
@@ -311,8 +316,8 @@
311
  }
312
 
313
  .socicon-patreon {
314
- color: #E44727;
315
- background-color: #E44727;
316
 
317
  &:before {
318
  content: "\e01c";
@@ -320,8 +325,8 @@
320
  }
321
 
322
  .socicon-storehouse {
323
- color: #25B0E6;
324
- background-color: #25B0E6;
325
 
326
  &:before {
327
  content: "\e01d";
@@ -329,8 +334,8 @@
329
  }
330
 
331
  .socicon-pocket {
332
- color: #ED4055;
333
- background-color: #ED4055;
334
 
335
  &:before {
336
  content: "\e01e";
@@ -338,8 +343,8 @@
338
  }
339
 
340
  .socicon-mail {
341
- color: #000;
342
- background-color: #000;
343
 
344
  &:before {
345
  content: "\e01f";
@@ -347,8 +352,8 @@
347
  }
348
 
349
  .socicon-blogger {
350
- color: #ec661c;
351
- background-color: #ec661c;
352
 
353
  &:before {
354
  content: "\e020";
@@ -356,8 +361,8 @@
356
  }
357
 
358
  .socicon-technorati {
359
- color: #5cb030;
360
- background-color: #5cb030;
361
 
362
  &:before {
363
  content: "\e021";
@@ -365,8 +370,8 @@
365
  }
366
 
367
  .socicon-reddit {
368
- color: #e74a1e;
369
- background-color: #e74a1e;
370
 
371
  &:before {
372
  content: "\e022";
@@ -374,8 +379,8 @@
374
  }
375
 
376
  .socicon-dribbble {
377
- color: #e84d88;
378
- background-color: #e84d88;
379
 
380
  &:before {
381
  content: "\e023";
@@ -383,8 +388,8 @@
383
  }
384
 
385
  .socicon-stumbleupon {
386
- color: #e64011;
387
- background-color: #e64011;
388
 
389
  &:before {
390
  content: "\e024";
@@ -392,8 +397,8 @@
392
  }
393
 
394
  .socicon-digg {
395
- color: #1d1d1b;
396
- background-color: #1d1d1b;
397
 
398
  &:before {
399
  content: "\e025";
@@ -401,8 +406,8 @@
401
  }
402
 
403
  .socicon-envato {
404
- color: #597c3a;
405
- background-color: #597c3a;
406
 
407
  &:before {
408
  content: "\e026";
@@ -410,8 +415,8 @@
410
  }
411
 
412
  .socicon-behance {
413
- color: #000;
414
- background-color: #000;
415
 
416
  &:before {
417
  content: "\e027";
@@ -419,8 +424,8 @@
419
  }
420
 
421
  .socicon-delicious {
422
- color: #020202;
423
- background-color: #020202;
424
 
425
  &:before {
426
  content: "\e028";
@@ -428,8 +433,8 @@
428
  }
429
 
430
  .socicon-deviantart {
431
- color: #c5d200;
432
- background-color: #c5d200;
433
 
434
  &:before {
435
  content: "\e029";
@@ -437,8 +442,8 @@
437
  }
438
 
439
  .socicon-forrst {
440
- color: #5B9A68;
441
- background-color: #5B9A68;
442
 
443
  &:before {
444
  content: "\e02a";
@@ -446,8 +451,8 @@
446
  }
447
 
448
  .socicon-play {
449
- color: #000;
450
- background-color: #000;
451
 
452
  &:before {
453
  content: "\e02b";
@@ -455,8 +460,8 @@
455
  }
456
 
457
  .socicon-zerply {
458
- color: #9DBC7A;
459
- background-color: #9DBC7A;
460
 
461
  &:before {
462
  content: "\e02c";
@@ -464,8 +469,8 @@
464
  }
465
 
466
  .socicon-wikipedia {
467
- color: #000;
468
- background-color: #000;
469
 
470
  &:before {
471
  content: "\e02d";
@@ -473,8 +478,8 @@
473
  }
474
 
475
  .socicon-apple {
476
- color: #B9BFC1;
477
- background-color: #B9BFC1;
478
 
479
  &:before {
480
  content: "\e02e";
@@ -482,8 +487,8 @@
482
  }
483
 
484
  .socicon-flattr {
485
- color: #F67C1A;
486
- background-color: #F67C1A;
487
 
488
  &:before {
489
  content: "\e02f";
@@ -491,8 +496,8 @@
491
  }
492
 
493
  .socicon-github {
494
- color: #221e1b;
495
- background-color: #221e1b;
496
 
497
  &:before {
498
  content: "\e030";
@@ -500,8 +505,8 @@
500
  }
501
 
502
  .socicon-renren {
503
- color: #2266b0;
504
- background-color: #2266b0;
505
 
506
  &:before {
507
  content: "\e031";
@@ -509,8 +514,8 @@
509
  }
510
 
511
  .socicon-friendfeed {
512
- color: #2F72C4;
513
- background-color: #2F72C4;
514
 
515
  &:before {
516
  content: "\e032";
@@ -518,8 +523,8 @@
518
  }
519
 
520
  .socicon-newsvine {
521
- color: #075B2F;
522
- background-color: #075B2F;
523
 
524
  &:before {
525
  content: "\e033";
@@ -527,8 +532,8 @@
527
  }
528
 
529
  .socicon-identica {
530
- color: #000;
531
- background-color: #000;
532
 
533
  &:before {
534
  content: "\e034";
@@ -536,8 +541,8 @@
536
  }
537
 
538
  .socicon-bebo {
539
- color: #EF1011;
540
- background-color: #EF1011;
541
 
542
  &:before {
543
  content: "\e035";
@@ -545,8 +550,8 @@
545
  }
546
 
547
  .socicon-zynga {
548
- color: #DC0606;
549
- background-color: #DC0606;
550
 
551
  &:before {
552
  content: "\e036";
@@ -554,8 +559,8 @@
554
  }
555
 
556
  .socicon-steam {
557
- color: #171a21;
558
- background-color: #171a21;
559
 
560
  &:before {
561
  content: "\e037";
@@ -563,8 +568,8 @@
563
  }
564
 
565
  .socicon-xbox {
566
- color: #92C83E;
567
- background-color: #92C83E;
568
 
569
  &:before {
570
  content: "\e038";
@@ -572,8 +577,8 @@
572
  }
573
 
574
  .socicon-windows {
575
- color: #00BDF6;
576
- background-color: #00BDF6;
577
 
578
  &:before {
579
  content: "\e039";
@@ -581,8 +586,8 @@
581
  }
582
 
583
  .socicon-qq {
584
- color: #4297d3;
585
- background-color: #4297d3;
586
 
587
  &:before {
588
  content: "\e03a";
@@ -590,8 +595,8 @@
590
  }
591
 
592
  .socicon-douban {
593
- color: #3ca353;
594
- background-color: #3ca353;
595
 
596
  &:before {
597
  content: "\e03b";
@@ -599,8 +604,8 @@
599
  }
600
 
601
  .socicon-meetup {
602
- color: #e2373c;
603
- background-color: #e2373c;
604
 
605
  &:before {
606
  content: "\e03c";
@@ -608,8 +613,8 @@
608
  }
609
 
610
  .socicon-playstation {
611
- color: #000;
612
- background-color: #000;
613
 
614
  &:before {
615
  content: "\e03d";
@@ -617,8 +622,8 @@
617
  }
618
 
619
  .socicon-android {
620
- color: #8ec047;
621
- background-color: #8ec047;
622
 
623
  &:before {
624
  content: "\e03e";
@@ -626,8 +631,8 @@
626
  }
627
 
628
  .socicon-snapchat {
629
- color: #fffa37;
630
- background-color: #fffa37;
631
 
632
  &:before {
633
  content: "\e03f";
@@ -635,8 +640,8 @@
635
  }
636
 
637
  .socicon-twitter {
638
- color: #4da7de;
639
- background-color: #4da7de;
640
 
641
  &:before {
642
  content: "\e040";
@@ -644,8 +649,8 @@
644
  }
645
 
646
  .socicon-facebook {
647
- color: #3e5b98;
648
- background-color: #3e5b98;
649
 
650
  &:before {
651
  content: "\e041";
@@ -653,8 +658,8 @@
653
  }
654
 
655
  .socicon-googleplus {
656
- color: #dd4b39;
657
- background-color: #dd4b39;
658
 
659
  &:before {
660
  content: "\e042";
@@ -662,8 +667,8 @@
662
  }
663
 
664
  .socicon-pinterest {
665
- color: #c92619;
666
- background-color: #c92619;
667
 
668
  &:before {
669
  content: "\e043";
@@ -671,8 +676,8 @@
671
  }
672
 
673
  .socicon-foursquare {
674
- color: #f94877;
675
- background-color: #f94877;
676
 
677
  &:before {
678
  content: "\e044";
@@ -680,8 +685,8 @@
680
  }
681
 
682
  .socicon-yahoo {
683
- color: #6e2a85;
684
- background-color: #6e2a85;
685
 
686
  &:before {
687
  content: "\e045";
@@ -689,8 +694,8 @@
689
  }
690
 
691
  .socicon-skype {
692
- color: #28abe3;
693
- background-color: #28abe3;
694
 
695
  &:before {
696
  content: "\e046";
@@ -698,8 +703,8 @@
698
  }
699
 
700
  .socicon-yelp {
701
- color: #c83218;
702
- background-color: #c83218;
703
 
704
  &:before {
705
  content: "\e047";
@@ -707,8 +712,8 @@
707
  }
708
 
709
  .socicon-feedburner {
710
- color: #ffcc00;
711
- background-color: #ffcc00;
712
 
713
  &:before {
714
  content: "\e048";
@@ -716,8 +721,8 @@
716
  }
717
 
718
  .socicon-linkedin {
719
- color: #3371b7;
720
- background-color: #3371b7;
721
 
722
  &:before {
723
  content: "\e049";
@@ -725,8 +730,8 @@
725
  }
726
 
727
  .socicon-viadeo {
728
- color: #e4a000;
729
- background-color: #e4a000;
730
 
731
  &:before {
732
  content: "\e04a";
@@ -734,8 +739,8 @@
734
  }
735
 
736
  .socicon-xing {
737
- color: #005a60;
738
- background-color: #005a60;
739
 
740
  &:before {
741
  content: "\e04b";
@@ -743,8 +748,8 @@
743
  }
744
 
745
  .socicon-myspace {
746
- color: #323232;
747
- background-color: #323232;
748
 
749
  &:before {
750
  content: "\e04c";
@@ -752,8 +757,8 @@
752
  }
753
 
754
  .socicon-soundcloud {
755
- color: #fe3801;
756
- background-color: #fe3801;
757
 
758
  &:before {
759
  content: "\e04d";
@@ -761,8 +766,8 @@
761
  }
762
 
763
  .socicon-spotify {
764
- color: #7bb342;
765
- background-color: #7bb342;
766
 
767
  &:before {
768
  content: "\e04e";
@@ -770,8 +775,8 @@
770
  }
771
 
772
  .socicon-grooveshark {
773
- color: #000;
774
- background-color: #000;
775
 
776
  &:before {
777
  content: "\e04f";
@@ -779,8 +784,8 @@
779
  }
780
 
781
  .socicon-lastfm {
782
- color: #d41316;
783
- background-color: #d41316;
784
 
785
  &:before {
786
  content: "\e050";
@@ -788,8 +793,8 @@
788
  }
789
 
790
  .socicon-youtube {
791
- color: #e02a20;
792
- background-color: #e02a20;
793
 
794
  &:before {
795
  content: "\e051";
@@ -797,8 +802,8 @@
797
  }
798
 
799
  .socicon-vimeo {
800
- color: #51b5e7;
801
- background-color: #51b5e7;
802
 
803
  &:before {
804
  content: "\e052";
@@ -806,8 +811,8 @@
806
  }
807
 
808
  .socicon-dailymotion {
809
- color: #004e72;
810
- background-color: #004e72;
811
 
812
  &:before {
813
  content: "\e053";
@@ -815,8 +820,8 @@
815
  }
816
 
817
  .socicon-vine {
818
- color: #00b389;
819
- background-color: #00b389;
820
 
821
  &:before {
822
  content: "\e054";
@@ -824,8 +829,8 @@
824
  }
825
 
826
  .socicon-flickr {
827
- color: #1e1e1b;
828
- background-color: #1e1e1b;
829
 
830
  &:before {
831
  content: "\e055";
@@ -833,8 +838,8 @@
833
  }
834
 
835
  .socicon-500px {
836
- color: #58a9de;
837
- background-color: #58a9de;
838
 
839
  &:before {
840
  content: "\e056";
@@ -842,8 +847,8 @@
842
  }
843
 
844
  .socicon-instagram {
845
- color: #9c7c6e;
846
- background-color: #9c7c6e;
847
 
848
  &:before {
849
  content: "\e057";
@@ -851,8 +856,8 @@
851
  }
852
 
853
  .socicon-wordpress {
854
- color: #464646;
855
- background-color: #464646;
856
 
857
  &:before {
858
  content: "\e058";
@@ -860,8 +865,8 @@
860
  }
861
 
862
  .socicon-tumblr {
863
- color: #45556c;
864
- background-color: #45556c;
865
 
866
  &:before {
867
  content: "\e059";
@@ -869,8 +874,8 @@
869
  }
870
 
871
  .socicon-twitch {
872
- color: #6441a5;
873
- background-color: #6441a5;
874
 
875
  &:before {
876
  content: "\e05a";
@@ -878,8 +883,8 @@
878
  }
879
 
880
  .socicon-8tracks {
881
- color: #122c4b;
882
- background-color: #122c4b;
883
 
884
  &:before {
885
  content: "\e05b";
@@ -887,8 +892,8 @@
887
  }
888
 
889
  .socicon-amazon {
890
- color: #ff9900;
891
- background-color: #ff9900;
892
 
893
  &:before {
894
  content: "\e05c";
@@ -896,8 +901,8 @@
896
  }
897
 
898
  .socicon-icq {
899
- color: #7EBD00;
900
- background-color: #7EBD00;
901
 
902
  &:before {
903
  content: "\e05d";
@@ -905,8 +910,8 @@
905
  }
906
 
907
  .socicon-smugmug {
908
- color: #ACFD32;
909
- background-color: #ACFD32;
910
 
911
  &:before {
912
  content: "\e05e";
@@ -914,8 +919,8 @@
914
  }
915
 
916
  .socicon-ravelry {
917
- color: #B6014C;
918
- background-color: #B6014C;
919
 
920
  &:before {
921
  content: "\e05f";
@@ -923,8 +928,8 @@
923
  }
924
 
925
  .socicon-weibo {
926
- color: #e31c34;
927
- background-color: #e31c34;
928
 
929
  &:before {
930
  content: "\e060";
@@ -932,8 +937,8 @@
932
  }
933
 
934
  .socicon-baidu {
935
- color: #2629d9;
936
- background-color: #2629d9;
937
 
938
  &:before {
939
  content: "\e061";
@@ -941,8 +946,8 @@
941
  }
942
 
943
  .socicon-angellist {
944
- color: #000;
945
- background-color: #000;
946
 
947
  &:before {
948
  content: "\e062";
@@ -950,8 +955,8 @@
950
  }
951
 
952
  .socicon-ebay {
953
- color: #333333;
954
- background-color: #333333;
955
 
956
  &:before {
957
  content: "\e063";
@@ -959,8 +964,8 @@
959
  }
960
 
961
  .socicon-imdb {
962
- color: #E8BA00;
963
- background-color: #E8BA00;
964
 
965
  &:before {
966
  content: "\e064";
@@ -968,8 +973,8 @@
968
  }
969
 
970
  .socicon-stayfriends {
971
- color: #F08A1C;
972
- background-color: #F08A1C;
973
 
974
  &:before {
975
  content: "\e065";
@@ -977,8 +982,8 @@
977
  }
978
 
979
  .socicon-residentadvisor {
980
- color: #B3BE1B;
981
- background-color: #B3BE1B;
982
 
983
  &:before {
984
  content: "\e066";
@@ -986,8 +991,8 @@
986
  }
987
 
988
  .socicon-google {
989
- color: #4285f4;
990
- background-color: #4285f4;
991
 
992
  &:before {
993
  content: "\e067";
@@ -995,8 +1000,8 @@
995
  }
996
 
997
  .socicon-yandex {
998
- color: #FF0000;
999
- background-color: #FF0000;
1000
 
1001
  &:before {
1002
  content: "\e068";
@@ -1004,8 +1009,8 @@
1004
  }
1005
 
1006
  .socicon-sharethis {
1007
- color: #01bf01;
1008
- background-color: #01bf01;
1009
 
1010
  &:before {
1011
  content: "\e069";
@@ -1013,8 +1018,8 @@
1013
  }
1014
 
1015
  .socicon-bandcamp {
1016
- color: #619aa9;
1017
- background-color: #619aa9;
1018
 
1019
  &:before {
1020
  content: "\e06a";
@@ -1022,8 +1027,8 @@
1022
  }
1023
 
1024
  .socicon-itunes {
1025
- color: #ff5e51;
1026
- background-color: #ff5e51;
1027
 
1028
  &:before {
1029
  content: "\e06b";
@@ -1031,8 +1036,8 @@
1031
  }
1032
 
1033
  .socicon-deezer {
1034
- color: #32323d;
1035
- background-color: #32323d;
1036
 
1037
  &:before {
1038
  content: "\e06c";
@@ -1040,8 +1045,8 @@
1040
  }
1041
 
1042
  .socicon-medium {
1043
- color: #000;
1044
- background-color: #000;
1045
 
1046
  &:before {
1047
  content: "\e06d";
@@ -1049,8 +1054,8 @@
1049
  }
1050
 
1051
  .socicon-telegram {
1052
- color: #0088cc;
1053
- background-color: #0088cc;
1054
 
1055
  &:before {
1056
  content: "\e06e";
@@ -1058,8 +1063,8 @@
1058
  }
1059
 
1060
  .socicon-openid {
1061
- color: #f78c40;
1062
- background-color: #f78c40;
1063
 
1064
  &:before {
1065
  content: "\e06f";
@@ -1067,10 +1072,172 @@
1067
  }
1068
 
1069
  .socicon-amplement {
1070
- color: #0996c3;
1071
- background-color: #0996c3;
1072
 
1073
  &:before {
1074
  content: "\e070";
1075
  }
1076
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  * Styles applied to socicon.
4
  */
5
 
6
+ /**
7
+ * Imports
8
+ */
9
+ @import "variables";
10
+
11
  /**
12
  * Socicon fonts
13
  */
64
  }
65
 
66
  .socicon-modelmayhem {
67
+ color: $icon-modelmayhem;
68
+ background-color: $icon-modelmayhem;
69
 
70
  &:before {
71
  content: "\e000";
73
  }
74
 
75
  .socicon-mixcloud {
76
+ color: $icon-mixcloud;
77
+ background-color: $icon-mixcloud;
78
 
79
  &:before {
80
  content: "\e001";
82
  }
83
 
84
  .socicon-drupal {
85
+ color: $icon-drupal;
86
+ background-color: $icon-drupal;
87
 
88
  &:before {
89
  content: "\e002";
91
  }
92
 
93
  .socicon-swarm {
94
+ color: $icon-swarm;
95
+ background-color: $icon-swarm;
96
 
97
  &:before {
98
  content: "\e003";
100
  }
101
 
102
  .socicon-istock {
103
+ color: $icon-istock;
104
+ background-color: $icon-istock;
105
 
106
  &:before {
107
  content: "\e004";
109
  }
110
 
111
  .socicon-yammer {
112
+ color: $icon-yammer;
113
+ background-color: $icon-yammer;
114
 
115
  &:before {
116
  content: "\e005";
118
  }
119
 
120
  .socicon-ello {
121
+ color: $icon-ello;
122
+ background-color: $icon-ello;
123
 
124
  &:before {
125
  content: "\e006";
127
  }
128
 
129
  .socicon-stackoverflow {
130
+ color: $icon-stackoverflow;
131
+ background-color: $icon-stackoverflow;
132
 
133
  &:before {
134
  content: "\e007";
136
  }
137
 
138
  .socicon-persona {
139
+ color: $icon-persona;
140
+ background-color: $icon-persona;
141
 
142
  &:before {
143
  content: "\e008";
145
  }
146
 
147
  .socicon-triplej {
148
+ color: $icon-triplej;
149
+ background-color: $icon-triplej;
150
 
151
  &:before {
152
  content: "\e009";
154
  }
155
 
156
  .socicon-houzz {
157
+ color: $icon-houzz;
158
+ background-color: $icon-houzz;
159
 
160
  &:before {
161
  content: "\e00a";
163
  }
164
 
165
  .socicon-rss {
166
+ color: $icon-rss;
167
+ background-color: $icon-rss;
168
 
169
  &:before {
170
  content: "\e00b";
172
  }
173
 
174
  .socicon-paypal {
175
+ color: $icon-paypal;
176
+ background-color: $icon-paypal;
177
 
178
  &:before {
179
  content: "\e00c";
181
  }
182
 
183
  .socicon-odnoklassniki {
184
+ color: $icon-odnoklassniki;
185
+ background-color: $icon-odnoklassniki;
186
 
187
  &:before {
188
  content: "\e00d";
190
  }
191
 
192
  .socicon-airbnb {
193
+ color: $icon-airbnb;
194
+ background-color: $icon-airbnb;
195
 
196
  &:before {
197
  content: "\e00e";
199
  }
200
 
201
  .socicon-periscope {
202
+ color: $icon-periscope;
203
+ background-color: $icon-periscope;
204
 
205
  &:before {
206
  content: "\e00f";
208
  }
209
 
210
  .socicon-outlook {
211
+ color: $icon-outlook;
212
+ background-color: $icon-outlook;
213
 
214
  &:before {
215
  content: "\e010";
217
  }
218
 
219
  .socicon-coderwall {
220
+ color: $icon-coderwall;
221
+ background-color: $icon-coderwall;
222
 
223
  &:before {
224
  content: "\e011";
226
  }
227
 
228
  .socicon-tripadvisor {
229
+ color: $icon-tripadvisor;
230
+ background-color: $icon-tripadvisor;
231
 
232
  &:before {
233
  content: "\e012";
235
  }
236
 
237
  .socicon-appnet {
238
+ color: $icon-appnet;
239
+ background-color: $icon-appnet;
240
 
241
  &:before {
242
  content: "\e013";
244
  }
245
 
246
  .socicon-goodreads {
247
+ color: $icon-goodreads;
248
+ background-color: $icon-goodreads;
249
 
250
  &:before {
251
  content: "\e014";
253
  }
254
 
255
  .socicon-tripit {
256
+ color: $icon-tripit;
257
+ background-color: $icon-tripit;
258
 
259
  &:before {
260
  content: "\e015";
262
  }
263
 
264
  .socicon-lanyrd {
265
+ color: $icon-lanyrd;
266
+ background-color: $icon-lanyrd;
267
 
268
  &:before {
269
  content: "\e016";
271
  }
272
 
273
  .socicon-slideshare {
274
+ color: $icon-slideshare;
275
+ background-color: $icon-slideshare;
276
 
277
  &:before {
278
  content: "\e017";
280
  }
281
 
282
  .socicon-buffer {
283
+ color: $icon-buffer;
284
+ background-color: $icon-buffer;
285
 
286
  &:before {
287
  content: "\e018";
289
  }
290
 
291
  .socicon-disqus {
292
+ color: $icon-disqus;
293
+ background-color: $icon-disqus;
294
 
295
  &:before {
296
  content: "\e019";
298
  }
299
 
300
  .socicon-vkontakte {
301
+ color: $icon-vkontakte;
302
+ background-color: $icon-vkontakte;
303
 
304
  &:before {
305
  content: "\e01a";
307
  }
308
 
309
  .socicon-whatsapp {
310
+ color: $icon-whatsapp;
311
+ background-color: $icon-whatsapp;
312
 
313
  &:before {
314
  content: "\e01b";
316
  }
317
 
318
  .socicon-patreon {
319
+ color: $icon-patreon;
320
+ background-color: $icon-patreon;
321
 
322
  &:before {
323
  content: "\e01c";
325
  }
326
 
327
  .socicon-storehouse {
328
+ color: $icon-storehouse;
329
+ background-color: $icon-storehouse;
330
 
331
  &:before {
332
  content: "\e01d";
334
  }
335
 
336
  .socicon-pocket {
337
+ color: $icon-pocket;
338
+ background-color: $icon-pocket;
339
 
340
  &:before {
341
  content: "\e01e";
343
  }
344
 
345
  .socicon-mail {
346
+ color: $icon-mail;
347
+ background-color: $icon-mail;
348
 
349
  &:before {
350
  content: "\e01f";
352
  }
353
 
354
  .socicon-blogger {
355
+ color: $icon-blogger;
356
+ background-color: $icon-blogger;
357
 
358
  &:before {
359
  content: "\e020";
361
  }
362
 
363
  .socicon-technorati {
364
+ color: $icon-technorati;
365
+ background-color: $icon-technorati;
366
 
367
  &:before {
368
  content: "\e021";
370
  }
371
 
372
  .socicon-reddit {
373
+ color: $icon-reddit;
374
+ background-color: $icon-reddit;
375
 
376
  &:before {
377
  content: "\e022";
379
  }
380
 
381
  .socicon-dribbble {
382
+ color: $icon-dribbble;
383
+ background-color: $icon-dribbble;
384
 
385
  &:before {
386
  content: "\e023";
388
  }
389
 
390
  .socicon-stumbleupon {
391
+ color: $icon-stumbleupon;
392
+ background-color: $icon-stumbleupon;
393
 
394
  &:before {
395
  content: "\e024";
397
  }
398
 
399
  .socicon-digg {
400
+ color: $icon-digg;
401
+ background-color: $icon-digg;
402
 
403
  &:before {
404
  content: "\e025";
406
  }
407
 
408
  .socicon-envato {
409
+ color: $icon-envato;
410
+ background-color: $icon-envato;
411
 
412
  &:before {
413
  content: "\e026";
415
  }
416
 
417
  .socicon-behance {
418
+ color: $icon-behance;
419
+ background-color: $icon-behance;
420
 
421
  &:before {
422
  content: "\e027";
424
  }
425
 
426
  .socicon-delicious {
427
+ color: $icon-delicious;
428
+ background-color: $icon-delicious;
429
 
430
  &:before {
431
  content: "\e028";
433
  }
434
 
435
  .socicon-deviantart {
436
+ color: $icon-deviantart;
437
+ background-color: $icon-deviantart;
438
 
439
  &:before {
440
  content: "\e029";
442
  }
443
 
444
  .socicon-forrst {
445
+ color: $icon-forrst;
446
+ background-color: $icon-forrst;
447
 
448
  &:before {
449
  content: "\e02a";
451
  }
452
 
453
  .socicon-play {
454
+ color: $icon-play;
455
+ background-color: $icon-play;
456
 
457
  &:before {
458
  content: "\e02b";
460
  }
461
 
462
  .socicon-zerply {
463
+ color: $icon-zerply;
464
+ background-color: $icon-zerply;
465
 
466
  &:before {
467
  content: "\e02c";
469
  }
470
 
471
  .socicon-wikipedia {
472
+ color: $icon-wikipedia;
473
+ background-color: $icon-wikipedia;
474
 
475
  &:before {
476
  content: "\e02d";
478
  }
479
 
480
  .socicon-apple {
481
+ color: $icon-apple;
482
+ background-color: $icon-apple;
483
 
484
  &:before {
485
  content: "\e02e";
487
  }
488
 
489
  .socicon-flattr {
490
+ color: $icon-flattr;
491
+ background-color: $icon-flattr;
492
 
493
  &:before {
494
  content: "\e02f";
496
  }
497
 
498
  .socicon-github {
499
+ color: $icon-github;
500
+ background-color: $icon-github;
501
 
502
  &:before {
503
  content: "\e030";
505
  }
506
 
507
  .socicon-renren {
508
+ color: $icon-renren;
509
+ background-color: $icon-renren;
510
 
511
  &:before {
512
  content: "\e031";
514
  }
515
 
516
  .socicon-friendfeed {
517
+ color: $icon-friendfeed;
518
+ background-color: $icon-friendfeed;
519
 
520
  &:before {
521
  content: "\e032";
523
  }
524
 
525
  .socicon-newsvine {
526
+ color: $icon-newsvine;
527
+ background-color: $icon-newsvine;
528
 
529
  &:before {
530
  content: "\e033";
532
  }
533
 
534
  .socicon-identica {
535
+ color: $icon-identica;
536
+ background-color: $icon-identica;
537
 
538
  &:before {
539
  content: "\e034";
541
  }
542
 
543
  .socicon-bebo {
544
+ color: $icon-bebo;
545
+ background-color: $icon-bebo;
546
 
547
  &:before {
548
  content: "\e035";
550
  }
551
 
552
  .socicon-zynga {
553
+ color: $icon-zynga;
554
+ background-color: $icon-zynga;
555
 
556
  &:before {
557
  content: "\e036";
559
  }
560
 
561
  .socicon-steam {
562
+ color: $icon-steam;
563
+ background-color: $icon-steam;
564
 
565
  &:before {
566
  content: "\e037";
568
  }
569
 
570
  .socicon-xbox {
571
+ color: $icon-xbox;
572
+ background-color: $icon-xbox;
573
 
574
  &:before {
575
  content: "\e038";
577
  }
578
 
579
  .socicon-windows {
580
+ color: $icon-windows;
581
+ background-color: $icon-windows;
582
 
583
  &:before {
584
  content: "\e039";
586
  }
587
 
588
  .socicon-qq {
589
+ color: $icon-qq;
590
+ background-color: $icon-qq;
591
 
592
  &:before {
593
  content: "\e03a";
595
  }
596
 
597
  .socicon-douban {
598
+ color: $icon-douban;
599
+ background-color: $icon-douban;
600
 
601
  &:before {
602
  content: "\e03b";
604
  }
605
 
606
  .socicon-meetup {
607
+ color: $icon-meetup;
608
+ background-color: $icon-meetup;
609
 
610
  &:before {
611
  content: "\e03c";
613
  }
614
 
615
  .socicon-playstation {
616
+ color: $icon-playstation;
617
+ background-color: $icon-playstation;
618
 
619
  &:before {
620
  content: "\e03d";
622
  }
623
 
624
  .socicon-android {
625
+ color: $icon-android;
626
+ background-color: $icon-android;
627
 
628
  &:before {
629
  content: "\e03e";
631
  }
632
 
633
  .socicon-snapchat {
634
+ color: $icon-snapchat;
635
+ background-color: $icon-snapchat;
636
 
637
  &:before {
638
  content: "\e03f";
640
  }
641
 
642
  .socicon-twitter {
643
+ color: $icon-twitter;
644
+ background-color: $icon-twitter;
645
 
646
  &:before {
647
  content: "\e040";
649
  }
650
 
651
  .socicon-facebook {
652
+ color: $icon-facebook;
653
+ background-color: $icon-facebook;
654
 
655
  &:before {
656
  content: "\e041";
658
  }
659
 
660
  .socicon-googleplus {
661
+ color: $icon-googleplus;
662
+ background-color: $icon-googleplus;
663
 
664
  &:before {
665
  content: "\e042";
667
  }
668
 
669
  .socicon-pinterest {
670
+ color: $icon-pinterest;
671
+ background-color: $icon-pinterest;
672
 
673
  &:before {
674
  content: "\e043";
676
  }
677
 
678
  .socicon-foursquare {
679
+ color: $icon-foursquare;
680
+ background-color: $icon-foursquare;
681
 
682
  &:before {
683
  content: "\e044";
685
  }
686
 
687
  .socicon-yahoo {
688
+ color: $icon-yahoo;
689
+ background-color: $icon-yahoo;
690
 
691
  &:before {
692
  content: "\e045";
694
  }
695
 
696
  .socicon-skype {
697
+ color: $icon-skype;
698
+ background-color: $icon-skype;
699
 
700
  &:before {
701
  content: "\e046";
703
  }
704
 
705
  .socicon-yelp {
706
+ color: $icon-yelp;
707
+ background-color: $icon-yelp;
708
 
709
  &:before {
710
  content: "\e047";
712
  }
713
 
714
  .socicon-feedburner {
715
+ color: $icon-feedburner;
716
+ background-color: $icon-feedburner;
717
 
718
  &:before {
719
  content: "\e048";
721
  }
722
 
723
  .socicon-linkedin {
724
+ color: $icon-linkedin;
725
+ background-color: $icon-linkedin;
726
 
727
  &:before {
728
  content: "\e049";
730
  }
731
 
732
  .socicon-viadeo {
733
+ color: $icon-viadeo;
734
+ background-color: $icon-viadeo;
735
 
736
  &:before {
737
  content: "\e04a";
739
  }
740
 
741
  .socicon-xing {
742
+ color: $icon-xing;
743
+ background-color: $icon-xing;
744
 
745
  &:before {
746
  content: "\e04b";
748
  }
749
 
750
  .socicon-myspace {
751
+ color: $icon-myspace;
752
+ background-color: $icon-myspace;
753
 
754
  &:before {
755
  content: "\e04c";
757
  }
758
 
759
  .socicon-soundcloud {
760
+ color: $icon-soundcloud;
761
+ background-color: $icon-soundcloud;
762
 
763
  &:before {
764
  content: "\e04d";
766
  }
767
 
768
  .socicon-spotify {
769
+ color: $icon-spotify;
770
+ background-color: $icon-spotify;
771
 
772
  &:before {
773
  content: "\e04e";
775
  }
776
 
777
  .socicon-grooveshark {
778
+ color: $icon-grooveshark;
779
+ background-color: $icon-grooveshark;
780
 
781
  &:before {
782
  content: "\e04f";
784
  }
785
 
786
  .socicon-lastfm {
787
+ color: $icon-lastfm;
788
+ background-color: $icon-lastfm;
789
 
790
  &:before {
791
  content: "\e050";
793
  }
794
 
795
  .socicon-youtube {
796
+ color: $icon-youtube;
797
+ background-color: $icon-youtube;
798
 
799
  &:before {
800
  content: "\e051";
802
  }
803
 
804
  .socicon-vimeo {
805
+ color: $icon-vimeo;
806
+ background-color: $icon-vimeo;
807
 
808
  &:before {
809
  content: "\e052";
811
  }
812
 
813
  .socicon-dailymotion {
814
+ color: $icon-dailymotion;
815
+ background-color: $icon-dailymotion;
816
 
817
  &:before {
818
  content: "\e053";
820
  }
821
 
822
  .socicon-vine {
823
+ color: $icon-vine;
824
+ background-color: $icon-vine;
825
 
826
  &:before {
827
  content: "\e054";
829
  }
830
 
831
  .socicon-flickr {
832
+ color: $icon-flickr;
833
+ background-color: $icon-flickr;
834
 
835
  &:before {
836
  content: "\e055";
838
  }
839
 
840
  .socicon-500px {
841
+ color: $icon-500px;
842
+ background-color: $icon-500px;
843
 
844
  &:before {
845
  content: "\e056";
847
  }
848
 
849
  .socicon-instagram {
850
+ color: $icon-instagram;
851
+ background-color: $icon-instagram;
852
 
853
  &:before {
854
  content: "\e057";
856
  }
857
 
858
  .socicon-wordpress {
859
+ color: $icon-wordpress;
860
+ background-color: $icon-wordpress;
861
 
862
  &:before {
863
  content: "\e058";
865
  }
866
 
867
  .socicon-tumblr {
868
+ color: $icon-tumblr;
869
+ background-color: $icon-tumblr;
870
 
871
  &:before {
872
  content: "\e059";
874
  }
875
 
876
  .socicon-twitch {
877
+ color: $icon-twitch;
878
+ background-color: $icon-twitch;
879
 
880
  &:before {
881
  content: "\e05a";
883
  }
884
 
885
  .socicon-8tracks {
886
+ color: $icon-8tracks;
887
+ background-color: $icon-8tracks;
888
 
889
  &:before {
890
  content: "\e05b";
892
  }
893
 
894
  .socicon-amazon {
895
+ color: $icon-amazon;
896
+ background-color: $icon-amazon;
897
 
898
  &:before {
899
  content: "\e05c";
901
  }
902
 
903
  .socicon-icq {
904
+ color: $icon-icq;
905
+ background-color: $icon-icq;
906
 
907
  &:before {
908
  content: "\e05d";
910
  }
911
 
912
  .socicon-smugmug {
913
+ color: $icon-smugmug;
914
+ background-color: $icon-smugmug;
915
 
916
  &:before {
917
  content: "\e05e";
919
  }
920
 
921
  .socicon-ravelry {
922
+ color: $icon-ravelry;
923
+ background-color: $icon-ravelry;
924
 
925
  &:before {
926
  content: "\e05f";
928
  }
929
 
930
  .socicon-weibo {
931
+ color: $icon-weibo;
932
+ background-color: $icon-weibo;
933
 
934
  &:before {
935
  content: "\e060";
937
  }
938
 
939
  .socicon-baidu {
940
+ color: $icon-baidu;
941
+ background-color: $icon-baidu;
942
 
943
  &:before {
944
  content: "\e061";
946
  }
947
 
948
  .socicon-angellist {
949
+ color: $icon-angellist;
950
+ background-color: $icon-angellist;
951
 
952
  &:before {
953
  content: "\e062";
955
  }
956
 
957
  .socicon-ebay {
958
+ color: $icon-ebay;
959
+ background-color: $icon-ebay;
960
 
961
  &:before {
962
  content: "\e063";
964
  }
965
 
966
  .socicon-imdb {
967
+ color: $icon-imdb;
968
+ background-color: $icon-imdb;
969
 
970
  &:before {
971
  content: "\e064";
973
  }
974
 
975
  .socicon-stayfriends {
976
+ color: $icon-stayfriends;
977
+ background-color: $icon-stayfriends;
978
 
979
  &:before {
980
  content: "\e065";
982
  }
983
 
984
  .socicon-residentadvisor {
985
+ color: $icon-residentadvisor;
986
+ background-color: $icon-residentadvisor;
987
 
988
  &:before {
989
  content: "\e066";
991
  }
992
 
993
  .socicon-google {
994
+ color: $icon-google;
995
+ background-color: $icon-google;
996
 
997
  &:before {
998
  content: "\e067";
1000
  }
1001
 
1002
  .socicon-yandex {
1003
+ color: $icon-yandex;
1004
+ background-color: $icon-yandex;
1005
 
1006
  &:before {
1007
  content: "\e068";
1009
  }
1010
 
1011
  .socicon-sharethis {
1012
+ color: $icon-sharethis;
1013
+ background-color: $icon-sharethis;
1014
 
1015
  &:before {
1016
  content: "\e069";
1018
  }
1019
 
1020
  .socicon-bandcamp {
1021
+ color: $icon-bandcamp;
1022
+ background-color: $icon-bandcamp;
1023
 
1024
  &:before {
1025
  content: "\e06a";
1027
  }
1028
 
1029
  .socicon-itunes {
1030
+ color: $icon-itunes;
1031
+ background-color: $icon-itunes;
1032
 
1033
  &:before {
1034
  content: "\e06b";
1036
  }
1037
 
1038
  .socicon-deezer {
1039
+ color: $icon-deezer;
1040
+ background-color: $icon-deezer;
1041
 
1042
  &:before {
1043
  content: "\e06c";
1045
  }
1046
 
1047
  .socicon-medium {
1048
+ color: $icon-medium;
1049
+ background-color: $icon-medium;
1050
 
1051
  &:before {
1052
  content: "\e06d";
1054
  }
1055
 
1056
  .socicon-telegram {
1057
+ color: $icon-telegram;
1058
+ background-color: $icon-telegram;
1059
 
1060
  &:before {
1061
  content: "\e06e";
1063
  }
1064
 
1065
  .socicon-openid {
1066
+ color: $icon-openid;
1067
+ background-color: $icon-openid;
1068
 
1069
  &:before {
1070
  content: "\e06f";
1072
  }
1073
 
1074
  .socicon-amplement {
1075
+ color: $icon-amplement;
1076
+ background-color: $icon-amplement;
1077
 
1078
  &:before {
1079
  content: "\e070";
1080
  }
1081
  }
1082
+
1083
+ .socicon-viber {
1084
+ color: $icon-viber;
1085
+ background-color: $icon-viber;
1086
+
1087
+ &:before {
1088
+ content: "\e071";
1089
+ }
1090
+ }
1091
+
1092
+ .socicon-zomato {
1093
+ color: $icon-zomato;
1094
+ background-color: $icon-zomato;
1095
+
1096
+ &:before {
1097
+ content: "\e072";
1098
+ }
1099
+ }
1100
+
1101
+ .socicon-quora {
1102
+ color: $icon-quora;
1103
+ background-color: $icon-quora;
1104
+
1105
+ &:before {
1106
+ content: "\e073";
1107
+ }
1108
+ }
1109
+
1110
+ .socicon-draugiem {
1111
+ color: $icon-draugiem;
1112
+ background-color: $icon-draugiem;
1113
+
1114
+ &:before {
1115
+ content: "\e074";
1116
+ }
1117
+ }
1118
+
1119
+ .socicon-endomodo {
1120
+ color: $icon-endomodo;
1121
+ background-color: $icon-endomodo;
1122
+
1123
+ &:before {
1124
+ content: "\e075";
1125
+ }
1126
+ }
1127
+
1128
+ .socicon-filmweb {
1129
+ color: $icon-filmweb;
1130
+ background-color: $icon-filmweb;
1131
+
1132
+ &:before {
1133
+ content: "\e076";
1134
+ }
1135
+ }
1136
+
1137
+ .socicon-stackexchange {
1138
+ color: $icon-stackexchange;
1139
+ background-color: $icon-stackexchange;
1140
+
1141
+ &:before {
1142
+ content: "\e077";
1143
+ }
1144
+ }
1145
+
1146
+ .socicon-wykop {
1147
+ color: $icon-wykop;
1148
+ background-color: $icon-wykop;
1149
+
1150
+ &:before {
1151
+ content: "\e078";
1152
+ }
1153
+ }
1154
+
1155
+ .socicon-teamspeak {
1156
+ color: $icon-teamspeak;
1157
+ background-color: $icon-teamspeak;
1158
+
1159
+ &:before {
1160
+ content: "\e079";
1161
+ }
1162
+ }
1163
+
1164
+ .socicon-teamviewer {
1165
+ color: $icon-teamviewer;
1166
+ background-color: $icon-teamviewer;
1167
+
1168
+ &:before {
1169
+ content: "\e07a";
1170
+ }
1171
+ }
1172
+
1173
+ .socicon-ventrilo {
1174
+ color: $icon-ventrilo;
1175
+ background-color: $icon-ventrilo;
1176
+
1177
+ &:before {
1178
+ content: "\e07b";
1179
+ }
1180
+ }
1181
+
1182
+ .socicon-younow {
1183
+ color: $icon-younow;
1184
+ background-color: $icon-younow;
1185
+
1186
+ &:before {
1187
+ content: "\e07c";
1188
+ }
1189
+ }
1190
+
1191
+ .socicon-raidcall {
1192
+ color: $icon-raidcall;
1193
+ background-color: $icon-raidcall;
1194
+
1195
+ &:before {
1196
+ content: "\e07d";
1197
+ }
1198
+ }
1199
+
1200
+ .socicon-mumble {
1201
+ color: $icon-mumble;
1202
+ background-color: $icon-mumble;
1203
+
1204
+ &:before {
1205
+ content: "\e07e";
1206
+ }
1207
+ }
1208
+
1209
+ .socicon-bebee {
1210
+ color: $icon-bebee;
1211
+ background-color: $icon-bebee;
1212
+
1213
+ &:before {
1214
+ content: "\e07f";
1215
+ }
1216
+ }
1217
+
1218
+ .socicon-hitbox {
1219
+ color: $icon-hitbox;
1220
+ background-color: $icon-hitbox;
1221
+
1222
+ &:before {
1223
+ content: "\e080";
1224
+ }
1225
+ }
1226
+
1227
+ .socicon-reverbnation {
1228
+ color: $icon-reverbnation;
1229
+ background-color: $icon-reverbnation;
1230
+
1231
+ &:before {
1232
+ content: "\e081";
1233
+ }
1234
+ }
1235
+
1236
+ .socicon-formulr {
1237
+ color: $icon-formulr;
1238
+ background-color: $icon-formulr;
1239
+
1240
+ &:before {
1241
+ content: "\e082";
1242
+ }
1243
+ }
assets/css/_variables.scss ADDED
@@ -0,0 +1,141 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * _variables.scss
3
+ * Social Icons CSS Variables
4
+ */
5
+ $green: #7ad03a;
6
+ $red: #a00;
7
+ $orange: #ffba00;
8
+ $blue: #2ea2cc;
9
+
10
+ // Socicons brand color codes.
11
+ $icon-modelmayhem: #000000;
12
+ $icon-mixcloud: #000000;
13
+ $icon-drupal: #00598e;
14
+ $icon-swarm: #fc9d3c;
15
+ $icon-istock: #000000;
16
+ $icon-yammer: #1175c4;
17
+ $icon-ello: #000000;
18
+ $icon-stackoverflow: #fd9827;
19
+ $icon-persona: #e6753d;
20
+ $icon-triplej: #e53531;
21
+ $icon-houzz: #7cc04b;
22
+ $icon-rss: #f26109;
23
+ $icon-paypal: #009cde;
24
+ $icon-odnoklassniki: #f48420;
25
+ $icon-airbnb: #ff5a5f;
26
+ $icon-periscope: #3aa4c6;
27
+ $icon-outlook: #0072c6;
28
+ $icon-coderwall: #3e8dcc;
29
+ $icon-tripadvisor: #4b7e37;
30
+ $icon-appnet: #494949;
31
+ $icon-goodreads: #463020;
32
+ $icon-tripit: #1982c3;
33
+ $icon-lanyrd: #3c80c9;
34
+ $icon-slideshare: #4ba3a6;
35
+ $icon-buffer: #000000;
36
+ $icon-disqus: #2e9fff;
37
+ $icon-vkontakte: #5a7fa6;
38
+ $icon-whatsapp: #20b038;
39
+ $icon-patreon: #e44727;
40
+ $icon-storehouse: #25b0e6;
41
+ $icon-pocket: #ed4055;
42
+ $icon-mail: #000000;
43
+ $icon-blogger: #ec661c;
44
+ $icon-technorati: #5cb030;
45
+ $icon-reddit: #e74a1e;
46
+ $icon-dribbble: #e84d88;
47
+ $icon-stumbleupon: #e64011;
48
+ $icon-digg: #1d1d1b;
49
+ $icon-envato: #597c3a;
50
+ $icon-behance: #000000;
51
+ $icon-delicious: #020202;
52
+ $icon-deviantart: #c5d200;
53
+ $icon-forrst: #5b9a68;
54
+ $icon-play: #000000;
55
+ $icon-zerply: #9dbc7a;
56
+ $icon-wikipedia: #000000;
57
+ $icon-apple: #b9bfc1;
58
+ $icon-flattr: #f67c1a;
59
+ $icon-github: #221e1b;
60
+ $icon-renren: #2266b0;
61
+ $icon-friendfeed: #2f72c4;
62
+ $icon-newsvine: #075b2f;
63
+ $icon-identica: #000000;
64
+ $icon-bebo: #ef1011;
65
+ $icon-zynga: #dc0606;
66
+ $icon-steam: #171a21;
67
+ $icon-xbox: #92c83e;
68
+ $icon-windows: #00bdf6;
69
+ $icon-qq: #4297d3;
70
+ $icon-douban: #3ca353;
71
+ $icon-meetup: #e2373c;
72
+ $icon-playstation: #000000;
73
+ $icon-android: #8ec047;
74
+ $icon-snapchat: #fffa37;
75
+ $icon-twitter: #4da7de;
76
+ $icon-facebook: #3e5b98;
77
+ $icon-googleplus: #dd4b39;
78
+ $icon-pinterest: #c92619;
79
+ $icon-foursquare: #f94877;
80
+ $icon-yahoo: #6e2a85;
81
+ $icon-skype: #28abe3;
82
+ $icon-yelp: #c83218;
83
+ $icon-feedburner: #ffcc00;
84
+ $icon-linkedin: #3371b7;
85
+ $icon-viadeo: #e4a000;
86
+ $icon-xing: #005a60;
87
+ $icon-myspace: #323232;
88
+ $icon-soundcloud: #fe3801;
89
+ $icon-spotify: #7bb342;
90
+ $icon-grooveshark: #000000;
91
+ $icon-lastfm: #d41316;
92
+ $icon-youtube: #e02a20;
93
+ $icon-vimeo: #51b5e7;
94
+ $icon-dailymotion: #004e72;
95
+ $icon-vine: #00b389;
96
+ $icon-flickr: #1e1e1b;
97
+ $icon-500px: #58a9de;
98
+ $icon-instagram: #9c7c6e;
99
+ $icon-wordpress: #464646;
100
+ $icon-tumblr: #45556c;
101
+ $icon-twitch: #6441a5;
102
+ $icon-8tracks: #122c4b;
103
+ $icon-amazon: #ff9900;
104
+ $icon-icq: #7ebd00;
105
+ $icon-smugmug: #acfd32;
106
+ $icon-ravelry: #b6014c;
107
+ $icon-weibo: #e31c34;
108
+ $icon-baidu: #2629d9;
109
+ $icon-angellist: #000000;
110
+ $icon-ebay: #333333;
111
+ $icon-imdb: #e8ba00;
112
+ $icon-stayfriends: #f08a1c;
113
+ $icon-residentadvisor: #b3be1b;
114
+ $icon-google: #4285f4;
115
+ $icon-yandex: #ff0000;
116
+ $icon-sharethis: #01bf01;
117
+ $icon-bandcamp: #619aa9;
118
+ $icon-itunes: #ff5e51;
119
+ $icon-deezer: #32323d;
120
+ $icon-medium: #000000;
121
+ $icon-telegram: #0088cc;
122
+ $icon-openid: #f78c40;
123
+ $icon-amplement: #0996c3;
124
+ $icon-viber: #7b519d;
125
+ $icon-zomato: #cb202d;
126
+ $icon-quora: #cb202d;
127
+ $icon-draugiem: #ffa32b;
128
+ $icon-endomodo: #86ad00;
129
+ $icon-filmweb: #ffc404;
130
+ $icon-stackexchange: #2f2f2f;
131
+ $icon-wykop: #328efe;
132
+ $icon-teamspeak: #465674;
133
+ $icon-teamviewer: #168ef4;
134
+ $icon-ventrilo: #77808a;
135
+ $icon-younow: #61c03e;
136
+ $icon-raidcall: #073558;
137
+ $icon-mumble: #5ab5d1;
138
+ $icon-bebee: #f28f16;
139
+ $icon-hitbox: #99cc00;
140
+ $icon-reverbnation: #000000;
141
+ $icon-formulr: #ff5a60;
assets/css/admin.css ADDED
@@ -0,0 +1 @@
 
1
+ @charset "UTF-8";[class*=" socicon-"]:before,[class^=socicon-]:before,[data-icon]:before{font-family:socicon!important;font-style:normal!important;font-weight:400!important;font-variant:normal!important;text-transform:none!important;-moz-osx-font-smoothing:grayscale;speak:none}.socicon,[data-icon]:before{line-height:1;-webkit-font-smoothing:antialiased}.socicon-mixcloud,.socicon-modelmayhem{color:#000;background-color:#000}@-webkit-keyframes spin{100%{-webkit-transform:rotate(360deg)}}@-moz-keyframes spin{100%{-moz-transform:rotate(360deg)}}@keyframes spin{100%{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}@font-face{font-family:socicon;src:url(../fonts/socicon.eot);src:url(../fonts/socicon.eot?#iefix) format("embedded-opentype"),url(../fonts/socicon.woff) format("woff"),url(../fonts/socicon.ttf) format("truetype"),url(../fonts/socicon.svg#socicon) format("svg");font-weight:400;font-style:normal}[data-icon]:before{content:attr(data-icon)}[class*=" socicon-"]:before,[class^=socicon-]:before{line-height:1;-webkit-font-smoothing:antialiased}.socicon{position:relative;top:3px;display:inline-block;font-family:socicon;font-style:normal;font-weight:400;font-size:1.2em}.socicon-modelmayhem:before{content:"\e000"}.socicon-mixcloud:before{content:"\e001"}.socicon-drupal{color:#00598e;background-color:#00598e}.socicon-drupal:before{content:"\e002"}.socicon-swarm{color:#fc9d3c;background-color:#fc9d3c}.socicon-swarm:before{content:"\e003"}.socicon-istock{color:#000;background-color:#000}.socicon-istock:before{content:"\e004"}.socicon-yammer{color:#1175c4;background-color:#1175c4}.socicon-yammer:before{content:"\e005"}.socicon-ello{color:#000;background-color:#000}.socicon-ello:before{content:"\e006"}.socicon-stackoverflow{color:#fd9827;background-color:#fd9827}.socicon-stackoverflow:before{content:"\e007"}.socicon-persona{color:#e6753d;background-color:#e6753d}.socicon-persona:before{content:"\e008"}.socicon-triplej{color:#e53531;background-color:#e53531}.socicon-triplej:before{content:"\e009"}.socicon-houzz{color:#7cc04b;background-color:#7cc04b}.socicon-houzz:before{content:"\e00a"}.socicon-rss{color:#f26109;background-color:#f26109}.socicon-rss:before{content:"\e00b"}.socicon-paypal{color:#009cde;background-color:#009cde}.socicon-paypal:before{content:"\e00c"}.socicon-odnoklassniki{color:#f48420;background-color:#f48420}.socicon-odnoklassniki:before{content:"\e00d"}.socicon-airbnb{color:#ff5a5f;background-color:#ff5a5f}.socicon-airbnb:before{content:"\e00e"}.socicon-periscope{color:#3aa4c6;background-color:#3aa4c6}.socicon-periscope:before{content:"\e00f"}.socicon-outlook{color:#0072c6;background-color:#0072c6}.socicon-outlook:before{content:"\e010"}.socicon-coderwall{color:#3e8dcc;background-color:#3e8dcc}.socicon-coderwall:before{content:"\e011"}.socicon-tripadvisor{color:#4b7e37;background-color:#4b7e37}.socicon-tripadvisor:before{content:"\e012"}.socicon-appnet{color:#494949;background-color:#494949}.socicon-appnet:before{content:"\e013"}.socicon-goodreads{color:#463020;background-color:#463020}.socicon-goodreads:before{content:"\e014"}.socicon-tripit{color:#1982c3;background-color:#1982c3}.socicon-tripit:before{content:"\e015"}.socicon-lanyrd{color:#3c80c9;background-color:#3c80c9}.socicon-lanyrd:before{content:"\e016"}.socicon-slideshare{color:#4ba3a6;background-color:#4ba3a6}.socicon-slideshare:before{content:"\e017"}.socicon-buffer{color:#000;background-color:#000}.socicon-buffer:before{content:"\e018"}.socicon-disqus{color:#2e9fff;background-color:#2e9fff}.socicon-disqus:before{content:"\e019"}.socicon-vkontakte{color:#5a7fa6;background-color:#5a7fa6}.socicon-vkontakte:before{content:"\e01a"}.socicon-whatsapp{color:#20b038;background-color:#20b038}.socicon-whatsapp:before{content:"\e01b"}.socicon-patreon{color:#e44727;background-color:#e44727}.socicon-patreon:before{content:"\e01c"}.socicon-storehouse{color:#25b0e6;background-color:#25b0e6}.socicon-storehouse:before{content:"\e01d"}.socicon-pocket{color:#ed4055;background-color:#ed4055}.socicon-pocket:before{content:"\e01e"}.socicon-mail{color:#000;background-color:#000}.socicon-mail:before{content:"\e01f"}.socicon-blogger{color:#ec661c;background-color:#ec661c}.socicon-blogger:before{content:"\e020"}.socicon-technorati{color:#5cb030;background-color:#5cb030}.socicon-technorati:before{content:"\e021"}.socicon-reddit{color:#e74a1e;background-color:#e74a1e}.socicon-reddit:before{content:"\e022"}.socicon-dribbble{color:#e84d88;background-color:#e84d88}.socicon-dribbble:before{content:"\e023"}.socicon-stumbleupon{color:#e64011;background-color:#e64011}.socicon-stumbleupon:before{content:"\e024"}.socicon-digg{color:#1d1d1b;background-color:#1d1d1b}.socicon-digg:before{content:"\e025"}.socicon-envato{color:#597c3a;background-color:#597c3a}.socicon-envato:before{content:"\e026"}.socicon-behance{color:#000;background-color:#000}.socicon-behance:before{content:"\e027"}.socicon-delicious{color:#020202;background-color:#020202}.socicon-delicious:before{content:"\e028"}.socicon-deviantart{color:#c5d200;background-color:#c5d200}.socicon-deviantart:before{content:"\e029"}.socicon-forrst{color:#5b9a68;background-color:#5b9a68}.socicon-forrst:before{content:"\e02a"}.socicon-play{color:#000;background-color:#000}.socicon-play:before{content:"\e02b"}.socicon-zerply{color:#9dbc7a;background-color:#9dbc7a}.socicon-zerply:before{content:"\e02c"}.socicon-wikipedia{color:#000;background-color:#000}.socicon-wikipedia:before{content:"\e02d"}.socicon-apple{color:#b9bfc1;background-color:#b9bfc1}.socicon-apple:before{content:"\e02e"}.socicon-flattr{color:#f67c1a;background-color:#f67c1a}.socicon-flattr:before{content:"\e02f"}.socicon-github{color:#221e1b;background-color:#221e1b}.socicon-github:before{content:"\e030"}.socicon-renren{color:#2266b0;background-color:#2266b0}.socicon-renren:before{content:"\e031"}.socicon-friendfeed{color:#2f72c4;background-color:#2f72c4}.socicon-friendfeed:before{content:"\e032"}.socicon-newsvine{color:#075b2f;background-color:#075b2f}.socicon-newsvine:before{content:"\e033"}.socicon-identica{color:#000;background-color:#000}.socicon-identica:before{content:"\e034"}.socicon-bebo{color:#ef1011;background-color:#ef1011}.socicon-bebo:before{content:"\e035"}.socicon-zynga{color:#dc0606;background-color:#dc0606}.socicon-zynga:before{content:"\e036"}.socicon-steam{color:#171a21;background-color:#171a21}.socicon-steam:before{content:"\e037"}.socicon-xbox{color:#92c83e;background-color:#92c83e}.socicon-xbox:before{content:"\e038"}.socicon-windows{color:#00bdf6;background-color:#00bdf6}.socicon-windows:before{content:"\e039"}.socicon-qq{color:#4297d3;background-color:#4297d3}.socicon-qq:before{content:"\e03a"}.socicon-douban{color:#3ca353;background-color:#3ca353}.socicon-douban:before{content:"\e03b"}.socicon-meetup{color:#e2373c;background-color:#e2373c}.socicon-meetup:before{content:"\e03c"}.socicon-playstation{color:#000;background-color:#000}.socicon-playstation:before{content:"\e03d"}.socicon-android{color:#8ec047;background-color:#8ec047}.socicon-android:before{content:"\e03e"}.socicon-snapchat{color:#fffa37;background-color:#fffa37}.socicon-snapchat:before{content:"\e03f"}.socicon-twitter{color:#4da7de;background-color:#4da7de}.socicon-twitter:before{content:"\e040"}.socicon-facebook{color:#3e5b98;background-color:#3e5b98}.socicon-facebook:before{content:"\e041"}.socicon-googleplus{color:#dd4b39;background-color:#dd4b39}.socicon-googleplus:before{content:"\e042"}.socicon-pinterest{color:#c92619;background-color:#c92619}.socicon-pinterest:before{content:"\e043"}.socicon-foursquare{color:#f94877;background-color:#f94877}.socicon-foursquare:before{content:"\e044"}.socicon-yahoo{color:#6e2a85;background-color:#6e2a85}.socicon-yahoo:before{content:"\e045"}.socicon-skype{color:#28abe3;background-color:#28abe3}.socicon-skype:before{content:"\e046"}.socicon-yelp{color:#c83218;background-color:#c83218}.socicon-yelp:before{content:"\e047"}.socicon-feedburner{color:#fc0;background-color:#fc0}.socicon-feedburner:before{content:"\e048"}.socicon-linkedin{color:#3371b7;background-color:#3371b7}.socicon-linkedin:before{content:"\e049"}.socicon-viadeo{color:#e4a000;background-color:#e4a000}.socicon-viadeo:before{content:"\e04a"}.socicon-xing{color:#005a60;background-color:#005a60}.socicon-xing:before{content:"\e04b"}.socicon-myspace{color:#323232;background-color:#323232}.socicon-myspace:before{content:"\e04c"}.socicon-soundcloud{color:#fe3801;background-color:#fe3801}.socicon-soundcloud:before{content:"\e04d"}.socicon-spotify{color:#7bb342;background-color:#7bb342}.socicon-spotify:before{content:"\e04e"}.socicon-grooveshark{color:#000;background-color:#000}.socicon-grooveshark:before{content:"\e04f"}.socicon-lastfm{color:#d41316;background-color:#d41316}.socicon-lastfm:before{content:"\e050"}.socicon-youtube{color:#e02a20;background-color:#e02a20}.socicon-youtube:before{content:"\e051"}.socicon-vimeo{color:#51b5e7;background-color:#51b5e7}.socicon-vimeo:before{content:"\e052"}.socicon-dailymotion{color:#004e72;background-color:#004e72}.socicon-dailymotion:before{content:"\e053"}.socicon-vine{color:#00b389;background-color:#00b389}.socicon-vine:before{content:"\e054"}.socicon-flickr{color:#1e1e1b;background-color:#1e1e1b}.socicon-flickr:before{content:"\e055"}.socicon-500px{color:#58a9de;background-color:#58a9de}.socicon-500px:before{content:"\e056"}.socicon-instagram{color:#9c7c6e;background-color:#9c7c6e}.socicon-instagram:before{content:"\e057"}.socicon-wordpress{color:#464646;background-color:#464646}.socicon-wordpress:before{content:"\e058"}.socicon-tumblr{color:#45556c;background-color:#45556c}.socicon-tumblr:before{content:"\e059"}.socicon-twitch{color:#6441a5;background-color:#6441a5}.socicon-twitch:before{content:"\e05a"}.socicon-8tracks{color:#122c4b;background-color:#122c4b}.socicon-8tracks:before{content:"\e05b"}.socicon-amazon{color:#f90;background-color:#f90}.socicon-amazon:before{content:"\e05c"}.socicon-icq{color:#7ebd00;background-color:#7ebd00}.socicon-icq:before{content:"\e05d"}.socicon-smugmug{color:#acfd32;background-color:#acfd32}.socicon-smugmug:before{content:"\e05e"}.socicon-ravelry{color:#b6014c;background-color:#b6014c}.socicon-ravelry:before{content:"\e05f"}.socicon-weibo{color:#e31c34;background-color:#e31c34}.socicon-weibo:before{content:"\e060"}.socicon-baidu{color:#2629d9;background-color:#2629d9}.socicon-baidu:before{content:"\e061"}.socicon-angellist{color:#000;background-color:#000}.socicon-angellist:before{content:"\e062"}.socicon-ebay{color:#333;background-color:#333}.socicon-ebay:before{content:"\e063"}.socicon-imdb{color:#e8ba00;background-color:#e8ba00}.socicon-imdb:before{content:"\e064"}.socicon-stayfriends{color:#f08a1c;background-color:#f08a1c}.socicon-stayfriends:before{content:"\e065"}.socicon-residentadvisor{color:#b3be1b;background-color:#b3be1b}.socicon-residentadvisor:before{content:"\e066"}.socicon-google{color:#4285f4;background-color:#4285f4}.socicon-google:before{content:"\e067"}.socicon-yandex{color:red;background-color:red}.socicon-yandex:before{content:"\e068"}.socicon-sharethis{color:#01bf01;background-color:#01bf01}.socicon-sharethis:before{content:"\e069"}.socicon-bandcamp{color:#619aa9;background-color:#619aa9}.socicon-bandcamp:before{content:"\e06a"}.socicon-itunes{color:#ff5e51;background-color:#ff5e51}.socicon-itunes:before{content:"\e06b"}.socicon-deezer{color:#32323d;background-color:#32323d}.socicon-deezer:before{content:"\e06c"}.socicon-medium{color:#000;background-color:#000}.socicon-medium:before{content:"\e06d"}.socicon-telegram{color:#08c;background-color:#08c}.socicon-telegram:before{content:"\e06e"}.socicon-openid{color:#f78c40;background-color:#f78c40}.socicon-openid:before{content:"\e06f"}.socicon-amplement{color:#0996c3;background-color:#0996c3}.socicon-amplement:before{content:"\e070"}.socicon-viber{color:#7b519d;background-color:#7b519d}.socicon-quora,.socicon-zomato{color:#cb202d;background-color:#cb202d}.socicon-viber:before{content:"\e071"}.socicon-zomato:before{content:"\e072"}.socicon-quora:before{content:"\e073"}.socicon-draugiem{color:#ffa32b;background-color:#ffa32b}.socicon-draugiem:before{content:"\e074"}.socicon-endomodo{color:#86ad00;background-color:#86ad00}.socicon-endomodo:before{content:"\e075"}.socicon-filmweb{color:#ffc404;background-color:#ffc404}.socicon-filmweb:before{content:"\e076"}.socicon-stackexchange{color:#2f2f2f;background-color:#2f2f2f}.socicon-stackexchange:before{content:"\e077"}.socicon-wykop{color:#328efe;background-color:#328efe}.socicon-wykop:before{content:"\e078"}.socicon-teamspeak{color:#465674;background-color:#465674}.socicon-teamspeak:before{content:"\e079"}.socicon-teamviewer{color:#168ef4;background-color:#168ef4}.socicon-teamviewer:before{content:"\e07a"}.socicon-ventrilo{color:#77808a;background-color:#77808a}.socicon-ventrilo:before{content:"\e07b"}.socicon-younow{color:#61c03e;background-color:#61c03e}.socicon-younow:before{content:"\e07c"}.socicon-raidcall{color:#073558;background-color:#073558}.socicon-raidcall:before{content:"\e07d"}.socicon-mumble{color:#5ab5d1;background-color:#5ab5d1}.socicon-mumble:before{content:"\e07e"}.socicon-bebee{color:#f28f16;background-color:#f28f16}.socicon-bebee:before{content:"\e07f"}.socicon-hitbox{color:#9c0;background-color:#9c0}.socicon-hitbox:before{content:"\e080"}.socicon-reverbnation{color:#000;background-color:#000}.socicon-reverbnation:before{content:"\e081"}.socicon-formulr{color:#ff5a60;background-color:#ff5a60}.socicon-formulr:before{content:"\e082"}#social-icons-group-data .panel-wrap,.social-icons .panel-wrap{overflow:hidden}#social-icons-group-data ul.si-tabs,.social-icons ul.si-tabs{margin:0;width:20%;float:left;line-height:1em;padding:0 0 10px;position:relative;background-color:#fafafa;border-right:1px solid #eee;box-sizing:border-box}#social-icons-group-data ul.si-tabs:after,.social-icons ul.si-tabs:after{content:"";display:block;width:100%;height:9999em;position:absolute;bottom:-9999em;left:0;background-color:#fafafa;border-right:1px solid #eee}#social-icons-group-data ul.si-tabs li,.social-icons ul.si-tabs li{margin:0;padding:0;display:block;position:relative}#social-icons-group-data ul.si-tabs li a,.social-icons ul.si-tabs li a{margin:0;padding:10px;display:block;box-shadow:none;text-decoration:none;line-height:20px!important;border-bottom:1px solid #eee}#social-icons-group-data ul.si-tabs li a:before,.social-icons ul.si-tabs li a:before{font-family:Dashicons;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;margin-right:.618em;content:"";text-decoration:none}#social-icons-group-data ul.si-tabs li.general_options a:before,.social-icons ul.si-tabs li.general_options a:before{content:"\f107"}#social-icons-group-data ul.si-tabs li.linked_icons_options a:before,.social-icons ul.si-tabs li.linked_icons_options a:before{content:"\f103"}#social-icons-group-data ul.si-tabs li.active a,.social-icons ul.si-tabs li.active a{color:#555;position:relative;background-color:#eee}#social-icons-group-data .inside{margin:0;padding:0}.panel,.social_icons_options_panel{padding:0;color:#555}.panel .form-field .social-icons-help-tip,.social_icons_options_panel .form-field .social-icons-help-tip{font-size:1.4em}.social_icons_options_panel fieldset.form-field,.social_icons_options_panel p{margin:0 0 9px;font-size:12px;padding:5px 9px;line-height:24px}.social_icons_options_panel fieldset.form-field:after,.social_icons_options_panel p:after{content:".";display:block;height:0;clear:both;visibility:hidden}.social_icons_options_panel .checkbox{width:auto;margin:3px 0;vertical-align:middle}.social_icons_options_panel .sortable_icons table{width:100%;padding:0!important}.social_icons_options_panel .sortable_icons table tr.no-items{background:#f9f9f9}.social_icons_options_panel .sortable_icons table tr.no-items td p{margin:0}.social_icons_options_panel .sortable_icons table th{padding:7px 0 7px 7px!important}.social_icons_options_panel .sortable_icons table th.sort{width:17px;padding:7px!important}.social_icons_options_panel .sortable_icons table th .social-icons-help-tip{font-size:1.1em;margin-left:0}.social_icons_options_panel .sortable_icons table td{vertical-align:middle!important;padding:4px 0 4px 7px!important;position:relative}.social_icons_options_panel .sortable_icons table td:last-child{padding-right:7px!important}.social_icons_options_panel .sortable_icons table td input.input_text{width:100%;float:none;min-width:0;margin:1px 0}.social_icons_options_panel .sortable_icons table td .choose_icon_button{width:auto;float:right;cursor:pointer}.social_icons_options_panel .sortable_icons table td .delete{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;font-size:1.2em}.social-icons-help-tip:after,.social_icons_options_panel .sortable_icons table td .delete:before{font-family:Dashicons;speak:none;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;text-indent:0;text-align:center}.social_icons_options_panel .sortable_icons table td .delete:before{font-weight:400;line-height:1;margin:0;position:absolute;top:0;left:0;width:100%;height:100%;content:"";color:#999}.social_icons_options_panel .sortable_icons table td .delete:hover:before{color:#a00}.social_icons_options_panel .sortable_icons table td.sort{width:17px;cursor:move;text-align:center;background:#f9f9f9;padding-right:7px!important}.social_icons_options_panel .sortable_icons table td.sort.dashicons-plus{font-size:15px;font-family:Dashicons}.social_icons_options_panel .sortable_icons table td.sort:before{text-align:center;line-height:1;color:#999;display:block;width:17px;float:left;height:100%}.social_icons_options_panel .sortable_icons table td.sort:hover:before{color:#333}.social_icons_options_panel{min-height:175px;box-sizing:border-box}.social_icons_options_panel .sortable_icons{padding:0 9px;position:relative;margin:9px 0}.social_icons_options_panel .sortable_icons label{display:none}.social_icons_options_panel p{margin:9px 0}.social_icons_options_panel fieldset.form-field,.social_icons_options_panel p.form-field{padding:5px 20px 5px 162px!important}.social_icons_options_panel label,.social_icons_options_panel legend{float:left;width:150px;padding:0;margin:0 0 0 -150px}.social_icons_options_panel label .req,.social_icons_options_panel legend .req{font-weight:700;font-style:normal;color:#a00}.social_icons_options_panel .description{padding:0;margin:0 0 0 7px;clear:none;display:inline}.social_icons_options_panel .description-block{margin-left:0;display:block}.social_icons_options_panel input,.social_icons_options_panel select,.social_icons_options_panel textarea{margin:0}.social_icons_options_panel textarea{height:3.5em;line-height:1.5em;vertical-align:top}.social_icons_options_panel input[type=text],.social_icons_options_panel input[type=email],.social_icons_options_panel input[type=number],.social_icons_options_panel input[type=password]{width:50%;float:left}.social_icons_options_panel input.button{width:auto;margin-left:8px}.social_icons_options_panel select{float:left}.social_icons_options_panel .short,.social_icons_options_panel input[type=text].short,.social_icons_options_panel input[type=email].short,.social_icons_options_panel input[type=number].short,.social_icons_options_panel input[type=password].short{width:50%}.social_icons_options_panel .sized{width:auto!important;margin-right:6px}.social_icons_options_panel .options_group{border-top:1px solid #fff;border-bottom:1px solid #eee}.social_icons_options_panel .options_group:first-child{border-top:0}.social_icons_options_panel .options_group:last-child{border-bottom:0}.social_icons_options_panel .options_group fieldset{margin:9px 0;font-size:12px;padding:5px 9px;line-height:24px}.social_icons_options_panel .options_group fieldset label{width:auto;float:none}.social_icons_options_panel .options_group fieldset ul{float:left;width:50%;margin:0;padding:0}.social_icons_options_panel .options_group fieldset ul li{margin:0;width:auto}.social_icons_options_panel .options_group fieldset ul li input{width:auto;float:none;margin-right:4px}.social_icons_options_panel .options_group fieldset ul.si-radios label{margin-left:0}.social_icons_options_panel.padded{padding:1em}#social-icons-group-description{padding:3px 8px;font-size:1.7em;line-height:1.42em;height:auto;width:100%;outline:0;margin:10px 0;display:block}#social-icons-group-description::-webkit-input-placeholder{line-height:1.42em;color:#bbb}#social-icons-group-description::-moz-placeholder{line-height:1.42em;color:#bbb}#social-icons-group-description:-ms-input-placeholder{line-height:1.42em;color:#bbb}#social-icons-group-description:-moz-placeholder{line-height:1.42em;color:#bbb}#social-icons-group-data .panel-wrap{background:#fff}#social-icons-group-data .social_icons_options_panel{float:left;width:80%}#social-icons-group-data .social_icons_options_panel .si-radios{display:block;float:left;margin:0}#social-icons-group-data .social_icons_options_panel .si-radios li{display:block;padding:0 0 10px}#social-icons-group-data .social_icons_options_panel .si-radios li input{width:auto}table.wp-list-table .row-actions{color:#999}table.wp-list-table .column-shortcode .social-icons-help-tip{font-size:1.2em;margin-left:5px}table.wp-list-table span.shortcode{margin:2px 0;display:block}table.wp-list-table span.shortcode input[type=text]{margin:0;font-size:12px;padding:4px 8px;background:#fcfcfc}table.wp-list-table span.shortcode input[type=text].regular-text{width:20em}img.help_tip{margin:0 0 0 9px;vertical-align:middle}.postbox img.help_tip{margin-top:0}.postbox .social-icons-help-tip{margin:0 0 0 9px}.tips{cursor:help;text-decoration:none}img.tips{padding:5px 0 0}#tiptip_holder{display:none;position:absolute;top:0;left:0;z-index:9999999}#tiptip_holder.tip_top{padding-bottom:5px}#tiptip_holder.tip_top #tiptip_arrow_inner{margin-top:-7px;margin-left:-6px;border-top-color:#333}#tiptip_holder.tip_bottom{padding-top:5px}#tiptip_holder.tip_bottom #tiptip_arrow_inner{margin-top:-5px;margin-left:-6px;border-bottom-color:#333}#tiptip_holder.tip_right{padding-left:5px}#tiptip_holder.tip_right #tiptip_arrow_inner{margin-top:-6px;margin-left:-5px;border-right-color:#333}#tiptip_holder.tip_left{padding-right:5px}#tiptip_holder.tip_left #tiptip_arrow_inner{margin-top:-6px;margin-left:-7px;border-left-color:#333}#tiptip_content,.si_error_tip{color:#fff;font-size:.8em;max-width:150px;background:#333;text-align:center;border-radius:3px;padding:.618em 1em;box-shadow:0 1px 3px rgba(0,0,0,.2)}#tiptip_content code,.si_error_tip code{padding:1px;background:#888}#tiptip_arrow,#tiptip_arrow_inner{position:absolute;border-color:transparent;border-style:solid;border-width:6px;height:0;width:0}.si_error_tip{max-width:20em;line-height:1.8em;position:absolute;white-space:normal;background:#d82223;margin:1.5em 1px 0 -1em;z-index:9999999}.si_error_tip:after{content:"";display:block;border:8px solid #d82223;border-right-color:transparent;border-left-color:transparent;border-top-color:transparent;position:absolute;top:-3px;left:50%;margin:-1em 0 0 -3px}.social-icons-help-tip{color:#666;display:inline-block;font-size:1.1em;font-style:normal;height:16px;line-height:16px;position:relative;vertical-align:middle;width:16px}.social-icons-help-tip:after{font-weight:400;line-height:1;margin:0;position:absolute;top:0;left:0;width:100%;height:100%;content:"";cursor:help}@media only screen and (max-width:1280px){.social_icons_options_panel .description{display:block;clear:both;margin-left:0}.social_icons_options_panel .dimensions_field .wrap,.social_icons_options_panel .short,.social_icons_options_panel input[type=password].short,.social_icons_options_panel input[type=email].short,.social_icons_options_panel input[type=number].short,.social_icons_options_panel input[type=text].short{width:80%}}@media only screen and (max-width:900px){#social-icons-group-data ul.group_data_tabs{width:10%}#social-icons-group-data .social_icons_options_panel{width:90%}#social-icons-group-data ul.group_data_tabs li a{position:relative;text-indent:-999px;padding:10px}#social-icons-group-data ul.group_data_tabs li a:before{position:absolute;top:0;right:0;bottom:0;left:0;text-indent:0;text-align:center;line-height:40px;width:100%;height:40px}}@media only screen and (max-width:782px){#social-icons-group-data .checkbox{width:25px}}@media only screen and (max-width:500px){.social_icons_options_panel label,.social_icons_options_panel legend{float:none;width:auto;display:block;margin:0}.social_icons_options_panel fieldset.form-field,.social_icons_options_panel p.form-field{padding:5px 20px!important}}
assets/css/admin.scss ADDED
@@ -0,0 +1,683 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * admin.scss
3
+ * General Social Icons admin styles.
4
+ */
5
+
6
+ /**
7
+ * Imports
8
+ */
9
+ @import "bourbon";
10
+ @import "mixins";
11
+ @import "variables";
12
+ @import "animation";
13
+ @import "socicon";
14
+
15
+ /**
16
+ * Styling begins
17
+ */
18
+ #social-icons-group-data,
19
+ .social-icons {
20
+ .panel-wrap {
21
+ overflow: hidden;
22
+ }
23
+
24
+ ul.si-tabs {
25
+ margin: 0;
26
+ width: 20%;
27
+ float: left;
28
+ line-height: 1em;
29
+ padding: 0 0 10px;
30
+ position: relative;
31
+ background-color: #fafafa;
32
+ border-right: 1px solid #eee;
33
+ box-sizing: border-box;
34
+
35
+ &:after {
36
+ content: "";
37
+ display: block;
38
+ width: 100%;
39
+ height: 9999em;
40
+ position: absolute;
41
+ bottom: -9999em;
42
+ left: 0;
43
+ background-color: #fafafa;
44
+ border-right: 1px solid #eee;
45
+ }
46
+
47
+ li {
48
+ margin: 0;
49
+ padding: 0;
50
+ display: block;
51
+ position: relative;
52
+
53
+ a {
54
+ margin: 0;
55
+ padding: 10px;
56
+ display: block;
57
+ box-shadow: none;
58
+ text-decoration: none;
59
+ line-height: 20px !important;
60
+ border-bottom: 1px solid #eee;
61
+
62
+ &:before {
63
+ @include iconbeforedashicons( "\f107" );
64
+ }
65
+ }
66
+
67
+ &.general_options {
68
+ a:before {
69
+ content: "\f107";
70
+ }
71
+ }
72
+
73
+ &.linked_icons_options {
74
+ a:before {
75
+ content: "\f103";
76
+ }
77
+ }
78
+
79
+ &.active {
80
+ a {
81
+ color: #555;
82
+ position: relative;
83
+ background-color: #eee;
84
+ }
85
+ }
86
+ }
87
+ }
88
+ }
89
+
90
+ #social-icons-group-data {
91
+ .inside {
92
+ margin: 0;
93
+ padding: 0;
94
+ }
95
+ }
96
+
97
+ .social_icons_options_panel,
98
+ .panel {
99
+ padding: 0;
100
+ color: #555;
101
+
102
+ .form-field {
103
+ .social-icons-help-tip {
104
+ font-size: 1.4em;
105
+ }
106
+ }
107
+ }
108
+
109
+ .social_icons_options_panel p,
110
+ .social_icons_options_panel fieldset.form-field {
111
+ margin: 0 0 9px;
112
+ font-size: 12px;
113
+ padding: 5px 9px;
114
+ line-height: 24px;
115
+
116
+ &:after {
117
+ content: ".";
118
+ display: block;
119
+ height: 0;
120
+ clear: both;
121
+ visibility: hidden;
122
+ }
123
+ }
124
+
125
+ .social_icons_options_panel .checkbox {
126
+ width: auto;
127
+ margin: 3px 0;
128
+ vertical-align: middle;
129
+ }
130
+
131
+ .social_icons_options_panel {
132
+ .sortable_icons {
133
+ table {
134
+ width: 100%;
135
+ padding: 0 !important;
136
+
137
+ tr.no-items {
138
+ background: #f9f9f9;
139
+
140
+ td p {
141
+ margin: 0;
142
+ }
143
+ }
144
+
145
+ th {
146
+ padding: 7px 0 7px 7px !important;
147
+
148
+ &.sort {
149
+ width: 17px;
150
+ padding: 7px !important;
151
+ }
152
+
153
+ .social-icons-help-tip {
154
+ font-size: 1.1em;
155
+ margin-left: 0;
156
+ }
157
+ }
158
+
159
+ td {
160
+ vertical-align: middle !important;
161
+ padding: 4px 0 4px 7px !important;
162
+ position: relative;
163
+
164
+ &:last-child {
165
+ padding-right: 7px !important;
166
+ }
167
+
168
+ input.input_text {
169
+ width: 100%;
170
+ float: none;
171
+ min-width: 0;
172
+ margin: 1px 0;
173
+ }
174
+
175
+ .choose_icon_button {
176
+ width: auto;
177
+ float: right;
178
+ cursor: pointer;
179
+ }
180
+
181
+ .delete {
182
+ @include ir();
183
+ font-size: 1.2em;
184
+
185
+ &:before {
186
+ @include icon_dashicons( "\f153" );
187
+ color: #999;
188
+ }
189
+
190
+ &:hover {
191
+ &:before {
192
+ color: $red;
193
+ }
194
+ }
195
+ }
196
+ }
197
+
198
+ td.sort {
199
+ width: 17px;
200
+ cursor: move;
201
+ text-align: center;
202
+ background: #f9f9f9;
203
+ padding-right: 7px !important;
204
+
205
+ &.dashicons-plus {
206
+ font-size: 15px;
207
+ font-family: 'Dashicons';
208
+ }
209
+
210
+ &:before {
211
+ text-align: center;
212
+ line-height: 1;
213
+ color: #999;
214
+ display: block;
215
+ width: 17px;
216
+ float: left;
217
+ height: 100%;
218
+ }
219
+
220
+ &:hover {
221
+ &:before {
222
+ color: #333;
223
+ }
224
+ }
225
+ }
226
+ }
227
+ }
228
+ }
229
+
230
+ .social_icons_options_panel {
231
+ min-height: 175px;
232
+ box-sizing: border-box;
233
+
234
+ .sortable_icons {
235
+ padding: 0 9px;
236
+ position: relative;
237
+ margin: 9px 0 9px;
238
+
239
+ label {
240
+ display: none;
241
+ }
242
+ }
243
+
244
+ p {
245
+ margin: 9px 0;
246
+ }
247
+
248
+ p.form-field,
249
+ fieldset.form-field {
250
+ padding: 5px 20px 5px 162px !important; /** Padding for aligning labels left - 12px + 150 label width **/
251
+ }
252
+
253
+ label,
254
+ legend {
255
+ float: left;
256
+ width: 150px;
257
+ padding: 0;
258
+ margin: 0 0 0 -150px;
259
+
260
+ .req {
261
+ font-weight: 700;
262
+ font-style: normal;
263
+ color: $red;
264
+ }
265
+ }
266
+
267
+ .description {
268
+ padding: 0;
269
+ margin: 0 0 0 7px;
270
+ clear: none;
271
+ display: inline;
272
+ }
273
+
274
+ .description-block {
275
+ margin-left: 0;
276
+ display: block;
277
+ }
278
+
279
+ textarea,
280
+ input,
281
+ select {
282
+ margin: 0;
283
+ }
284
+
285
+ textarea {
286
+ height: 3.5em;
287
+ line-height: 1.5em;
288
+ vertical-align: top;
289
+ }
290
+
291
+ input[type="text"],
292
+ input[type="email"],
293
+ input[type="number"],
294
+ input[type="password"] {
295
+ width: 50%;
296
+ float: left;
297
+ }
298
+
299
+ input.button {
300
+ width: auto;
301
+ margin-left: 8px;
302
+ }
303
+
304
+ select {
305
+ float: left;
306
+ }
307
+
308
+ input[type="text"].short,
309
+ input[type="email"].short,
310
+ input[type="number"].short,
311
+ input[type="password"].short,
312
+ .short {
313
+ width: 50%;
314
+ }
315
+
316
+ .sized {
317
+ width: auto !important;
318
+ margin-right: 6px;
319
+ }
320
+
321
+ .options_group {
322
+ border-top: 1px solid white;
323
+ border-bottom: 1px solid #eee;
324
+
325
+ &:first-child {
326
+ border-top: 0;
327
+ }
328
+
329
+ &:last-child {
330
+ border-bottom: 0;
331
+ }
332
+
333
+ fieldset {
334
+ margin: 9px 0;
335
+ font-size: 12px;
336
+ padding: 5px 9px;
337
+ line-height: 24px;
338
+
339
+ label {
340
+ width: auto;
341
+ float: none;
342
+ }
343
+
344
+ ul {
345
+ float: left;
346
+ width: 50%;
347
+ margin: 0;
348
+ padding: 0;
349
+
350
+ li {
351
+ margin: 0;
352
+ width: auto;
353
+
354
+ input {
355
+ width: auto;
356
+ float: none;
357
+ margin-right: 4px;
358
+ }
359
+ }
360
+ }
361
+
362
+ ul.si-radios {
363
+ label {
364
+ margin-left: 0;
365
+ }
366
+ }
367
+ }
368
+ }
369
+
370
+ &.padded {
371
+ padding: 1em;
372
+ }
373
+ }
374
+
375
+ #social-icons-group-description {
376
+ padding: 3px 8px;
377
+ font-size: 1.7em;
378
+ line-height: 1.42em;
379
+ height: auto;
380
+ width: 100%;
381
+ outline: 0;
382
+ margin: 10px 0 10px;
383
+ display: block;
384
+
385
+ &::-webkit-input-placeholder {
386
+ line-height: 1.42em;
387
+ color: #bbb;
388
+ }
389
+
390
+ &::-moz-placeholder {
391
+ line-height:
392
+ 1.42em;
393
+ color: #bbb;
394
+ }
395
+
396
+ &:-ms-input-placeholder {
397
+ line-height: 1.42em;
398
+ color: #bbb;
399
+ }
400
+
401
+ &:-moz-placeholder {
402
+ line-height: 1.42em;
403
+ color: #bbb;
404
+ }
405
+ }
406
+
407
+ #social-icons-group-data {
408
+ .panel-wrap {
409
+ background: #fff;
410
+ }
411
+
412
+ .social_icons_options_panel {
413
+ float: left;
414
+ width: 80%;
415
+
416
+ .si-radios {
417
+ display: block;
418
+ float: left;
419
+ margin: 0;
420
+
421
+ li {
422
+ display: block;
423
+ padding: 0 0 10px 0;
424
+
425
+ input {
426
+ width: auto;
427
+ }
428
+ }
429
+ }
430
+ }
431
+ }
432
+
433
+ table.wp-list-table {
434
+ .row-actions {
435
+ color: #999;
436
+ }
437
+
438
+ .column-shortcode {
439
+ .social-icons-help-tip {
440
+ font-size: 1.2em;
441
+ margin-left: 5px;
442
+ }
443
+ }
444
+
445
+ span.shortcode {
446
+ margin: 2px 0;
447
+ display: block;
448
+
449
+ input[type="text"] {
450
+ margin: 0;
451
+ font-size: 12px;
452
+ padding: 4px 8px;
453
+ background: #fcfcfc;
454
+
455
+ &.regular-text {
456
+ width: 20em;
457
+ }
458
+ }
459
+ }
460
+ }
461
+
462
+ img.help_tip {
463
+ margin: 0 0 0 9px;
464
+ vertical-align: middle;
465
+ }
466
+
467
+ .postbox img.help_tip {
468
+ margin-top: 0px;
469
+ }
470
+
471
+ .postbox .social-icons-help-tip {
472
+ margin: 0 0 0 9px;
473
+ }
474
+
475
+ /**
476
+ * Tooltips
477
+ */
478
+ .tips {
479
+ cursor: help;
480
+ text-decoration: none;
481
+ }
482
+
483
+ img.tips {
484
+ padding: 5px 0 0 0;
485
+ }
486
+
487
+ #tiptip_holder {
488
+ display: none;
489
+ position: absolute;
490
+ top: 0;
491
+ left: 0;
492
+ z-index: 9999999;
493
+ }
494
+
495
+ #tiptip_holder {
496
+ &.tip_top {
497
+ padding-bottom: 5px;
498
+
499
+ #tiptip_arrow_inner {
500
+ margin-top: -7px;
501
+ margin-left: -6px;
502
+ border-top-color: #333;
503
+ }
504
+ }
505
+
506
+ &.tip_bottom {
507
+ padding-top: 5px;
508
+
509
+ #tiptip_arrow_inner {
510
+ margin-top: -5px;
511
+ margin-left: -6px;
512
+ border-bottom-color: #333;
513
+ }
514
+ }
515
+
516
+ &.tip_right {
517
+ padding-left: 5px;
518
+
519
+ #tiptip_arrow_inner {
520
+ margin-top: -6px;
521
+ margin-left: -5px;
522
+ border-right-color: #333;
523
+ }
524
+ }
525
+
526
+ &.tip_left {
527
+ padding-right: 5px;
528
+
529
+ #tiptip_arrow_inner {
530
+ margin-top: -6px;
531
+ margin-left: -7px;
532
+ border-left-color: #333;
533
+ }
534
+ }
535
+ }
536
+
537
+ #tiptip_content,
538
+ .si_error_tip {
539
+ color: #fff;
540
+ font-size: .8em;
541
+ max-width: 150px;
542
+ background: #333;
543
+ text-align: center;
544
+ border-radius: 3px;
545
+ padding: .618em 1em;
546
+ box-shadow: 0 1px 3px rgba(0,0,0,0.2);
547
+
548
+ code {
549
+ padding: 1px;
550
+ background: #888;
551
+ }
552
+ }
553
+
554
+ #tiptip_arrow,
555
+ #tiptip_arrow_inner {
556
+ position: absolute;
557
+ border-color: transparent;
558
+ border-style: solid;
559
+ border-width: 6px;
560
+ height: 0;
561
+ width: 0;
562
+ }
563
+
564
+ .si_error_tip {
565
+ max-width: 20em;
566
+ line-height: 1.8em;
567
+ position: absolute;
568
+ white-space: normal;
569
+ background: #d82223;
570
+ margin: 1.5em 1px 0 -1em;
571
+ z-index: 9999999;
572
+
573
+ &:after {
574
+ content: "";
575
+ display: block;
576
+ border: 8px solid #d82223;
577
+ border-right-color: transparent;
578
+ border-left-color: transparent;
579
+ border-top-color: transparent;
580
+ position: absolute;
581
+ top: -3px;
582
+ left: 50%;
583
+ margin: -1em 0 0 -3px;
584
+ }
585
+ }
586
+
587
+ /**
588
+ * Help Tip
589
+ */
590
+ .social-icons-help-tip {
591
+ color: #666;
592
+ display: inline-block;
593
+ font-size: 1.1em;
594
+ font-style: normal;
595
+ height: 16px;
596
+ line-height: 16px;
597
+ position: relative;
598
+ vertical-align: middle;
599
+ width: 16px;
600
+
601
+ &:after {
602
+ @include icon_dashicons( "\f223" );
603
+ cursor: help;
604
+ }
605
+ }
606
+
607
+ /**
608
+ * Small screen optimisation
609
+ */
610
+ @media only screen and (max-width: 1280px) {
611
+ .social_icons_options_panel {
612
+ .description {
613
+ display: block;
614
+ clear: both;
615
+ margin-left: 0;
616
+ }
617
+
618
+ .short,
619
+ input[type=text].short,
620
+ input[type=email].short,
621
+ input[type=number].short,
622
+ input[type="password"].short,
623
+ .dimensions_field .wrap {
624
+ width: 80%;
625
+ }
626
+ }
627
+ }
628
+
629
+ /**
630
+ * Optimisation for screens 900px and smaller
631
+ */
632
+ @media only screen and (max-width: 900px) {
633
+ #social-icons-group-data ul.group_data_tabs {
634
+ width: 10%;
635
+ }
636
+
637
+ #social-icons-group-data .social_icons_options_panel {
638
+ width: 90%;
639
+ }
640
+
641
+ #social-icons-group-data ul.group_data_tabs li a {
642
+ position: relative;
643
+ text-indent: -999px;
644
+ padding: 10px;
645
+
646
+ &:before {
647
+ position: absolute;
648
+ top: 0;
649
+ right: 0;
650
+ bottom: 0;
651
+ left: 0;
652
+ text-indent: 0;
653
+ text-align: center;
654
+ line-height: 40px;
655
+ width: 100%;
656
+ height: 40px;
657
+ }
658
+ }
659
+ }
660
+
661
+ /**
662
+ * Optimisation for screens 782px and smaller
663
+ */
664
+ @media only screen and (max-width: 782px) {
665
+ #social-icons-group-data .checkbox {
666
+ width: 25px;
667
+ }
668
+ }
669
+
670
+ @media only screen and (max-width: 500px) {
671
+ .social_icons_options_panel label,
672
+ .social_icons_options_panel legend {
673
+ float: none;
674
+ width: auto;
675
+ display: block;
676
+ margin: 0;
677
+ }
678
+
679
+ .social_icons_options_panel fieldset.form-field,
680
+ .social_icons_options_panel p.form-field {
681
+ padding: 5px 20px 5px 20px !important;
682
+ }
683
+ }
assets/css/social-icons.css CHANGED
@@ -1 +1 @@
1
- [class*=" socicon-"]:before,[class^=socicon-]:before,[data-icon]:before{font-family:socicon!important;font-style:normal!important;font-weight:400!important;font-variant:normal!important;text-transform:none!important;speak:none;-moz-osx-font-smoothing:grayscale}.socicon,[data-icon]:before{line-height:1;-webkit-font-smoothing:antialiased}.socicon-mixcloud,.socicon-modelmayhem{color:#000;background-color:#000}@font-face{font-family:socicon;src:url(../fonts/socicon.eot);src:url(../fonts/socicon.eot?#iefix) format("embedded-opentype"),url(../fonts/socicon.woff) format("woff"),url(../fonts/socicon.ttf) format("truetype"),url(../fonts/socicon.svg#socicon) format("svg");font-weight:400;font-style:normal}[data-icon]:before{content:attr(data-icon)}[class*=" socicon-"]:before,[class^=socicon-]:before{line-height:1;-webkit-font-smoothing:antialiased}.socicon{position:relative;top:3px;display:inline-block;font-family:socicon;font-style:normal;font-weight:400;font-size:1.2em}.socicon-modelmayhem:before{content:"\e000"}.socicon-mixcloud:before{content:"\e001"}.socicon-drupal{color:#00598e;background-color:#00598e}.socicon-drupal:before{content:"\e002"}.socicon-swarm{color:#FC9D3C;background-color:#FC9D3C}.socicon-swarm:before{content:"\e003"}.socicon-istock{color:#000;background-color:#000}.socicon-istock:before{content:"\e004"}.socicon-yammer{color:#1175C4;background-color:#1175C4}.socicon-yammer:before{content:"\e005"}.socicon-ello{color:#000;background-color:#000}.socicon-ello:before{content:"\e006"}.socicon-stackoverflow{color:#FD9827;background-color:#FD9827}.socicon-stackoverflow:before{content:"\e007"}.socicon-persona{color:#e6753d;background-color:#e6753d}.socicon-persona:before{content:"\e008"}.socicon-triplej{color:#E53531;background-color:#E53531}.socicon-triplej:before{content:"\e009"}.socicon-houzz{color:#7CC04B;background-color:#7CC04B}.socicon-houzz:before{content:"\e00a"}.socicon-rss{color:#f26109;background-color:#f26109}.socicon-rss:before{content:"\e00b"}.socicon-paypal{color:#009cde;background-color:#009cde}.socicon-paypal:before{content:"\e00c"}.socicon-odnoklassniki{color:#f48420;background-color:#f48420}.socicon-odnoklassniki:before{content:"\e00d"}.socicon-airbnb{color:#ff5a5f;background-color:#ff5a5f}.socicon-airbnb:before{content:"\e00e"}.socicon-periscope{color:#3AA4C6;background-color:#3AA4C6}.socicon-periscope:before{content:"\e00f"}.socicon-outlook{color:#0072C6;background-color:#0072C6}.socicon-outlook:before{content:"\e010"}.socicon-coderwall{color:#3E8DCC;background-color:#3E8DCC}.socicon-coderwall:before{content:"\e011"}.socicon-tripadvisor{color:#4B7E37;background-color:#4B7E37}.socicon-tripadvisor:before{content:"\e012"}.socicon-appnet{color:#494949;background-color:#494949}.socicon-appnet:before{content:"\e013"}.socicon-goodreads{color:#463020;background-color:#463020}.socicon-goodreads:before{content:"\e014"}.socicon-tripit{color:#1982C3;background-color:#1982C3}.socicon-tripit:before{content:"\e015"}.socicon-lanyrd{color:#3c80c9;background-color:#3c80c9}.socicon-lanyrd:before{content:"\e016"}.socicon-slideshare{color:#4ba3a6;background-color:#4ba3a6}.socicon-slideshare:before{content:"\e017"}.socicon-buffer{color:#000;background-color:#000}.socicon-buffer:before{content:"\e018"}.socicon-disqus{color:#2e9fff;background-color:#2e9fff}.socicon-disqus:before{content:"\e019"}.socicon-vkontakte{color:#5a7fa6;background-color:#5a7fa6}.socicon-vkontakte:before{content:"\e01a"}.socicon-whatsapp{color:#20B038;background-color:#20B038}.socicon-whatsapp:before{content:"\e01b"}.socicon-patreon{color:#E44727;background-color:#E44727}.socicon-patreon:before{content:"\e01c"}.socicon-storehouse{color:#25B0E6;background-color:#25B0E6}.socicon-storehouse:before{content:"\e01d"}.socicon-pocket{color:#ED4055;background-color:#ED4055}.socicon-pocket:before{content:"\e01e"}.socicon-mail{color:#000;background-color:#000}.socicon-mail:before{content:"\e01f"}.socicon-blogger{color:#ec661c;background-color:#ec661c}.socicon-blogger:before{content:"\e020"}.socicon-technorati{color:#5cb030;background-color:#5cb030}.socicon-technorati:before{content:"\e021"}.socicon-reddit{color:#e74a1e;background-color:#e74a1e}.socicon-reddit:before{content:"\e022"}.socicon-dribbble{color:#e84d88;background-color:#e84d88}.socicon-dribbble:before{content:"\e023"}.socicon-stumbleupon{color:#e64011;background-color:#e64011}.socicon-stumbleupon:before{content:"\e024"}.socicon-digg{color:#1d1d1b;background-color:#1d1d1b}.socicon-digg:before{content:"\e025"}.socicon-envato{color:#597c3a;background-color:#597c3a}.socicon-envato:before{content:"\e026"}.socicon-behance{color:#000;background-color:#000}.socicon-behance:before{content:"\e027"}.socicon-delicious{color:#020202;background-color:#020202}.socicon-delicious:before{content:"\e028"}.socicon-deviantart{color:#c5d200;background-color:#c5d200}.socicon-deviantart:before{content:"\e029"}.socicon-forrst{color:#5B9A68;background-color:#5B9A68}.socicon-forrst:before{content:"\e02a"}.socicon-play{color:#000;background-color:#000}.socicon-play:before{content:"\e02b"}.socicon-zerply{color:#9DBC7A;background-color:#9DBC7A}.socicon-zerply:before{content:"\e02c"}.socicon-wikipedia{color:#000;background-color:#000}.socicon-wikipedia:before{content:"\e02d"}.socicon-apple{color:#B9BFC1;background-color:#B9BFC1}.socicon-apple:before{content:"\e02e"}.socicon-flattr{color:#F67C1A;background-color:#F67C1A}.socicon-flattr:before{content:"\e02f"}.socicon-github{color:#221e1b;background-color:#221e1b}.socicon-github:before{content:"\e030"}.socicon-renren{color:#2266b0;background-color:#2266b0}.socicon-renren:before{content:"\e031"}.socicon-friendfeed{color:#2F72C4;background-color:#2F72C4}.socicon-friendfeed:before{content:"\e032"}.socicon-newsvine{color:#075B2F;background-color:#075B2F}.socicon-newsvine:before{content:"\e033"}.socicon-identica{color:#000;background-color:#000}.socicon-identica:before{content:"\e034"}.socicon-bebo{color:#EF1011;background-color:#EF1011}.socicon-bebo:before{content:"\e035"}.socicon-zynga{color:#DC0606;background-color:#DC0606}.socicon-zynga:before{content:"\e036"}.socicon-steam{color:#171a21;background-color:#171a21}.socicon-steam:before{content:"\e037"}.socicon-xbox{color:#92C83E;background-color:#92C83E}.socicon-xbox:before{content:"\e038"}.socicon-windows{color:#00BDF6;background-color:#00BDF6}.socicon-windows:before{content:"\e039"}.socicon-qq{color:#4297d3;background-color:#4297d3}.socicon-qq:before{content:"\e03a"}.socicon-douban{color:#3ca353;background-color:#3ca353}.socicon-douban:before{content:"\e03b"}.socicon-meetup{color:#e2373c;background-color:#e2373c}.socicon-meetup:before{content:"\e03c"}.socicon-playstation{color:#000;background-color:#000}.socicon-playstation:before{content:"\e03d"}.socicon-android{color:#8ec047;background-color:#8ec047}.socicon-android:before{content:"\e03e"}.socicon-snapchat{color:#fffa37;background-color:#fffa37}.socicon-snapchat:before{content:"\e03f"}.socicon-twitter{color:#4da7de;background-color:#4da7de}.socicon-twitter:before{content:"\e040"}.socicon-facebook{color:#3e5b98;background-color:#3e5b98}.socicon-facebook:before{content:"\e041"}.socicon-googleplus{color:#dd4b39;background-color:#dd4b39}.socicon-googleplus:before{content:"\e042"}.socicon-pinterest{color:#c92619;background-color:#c92619}.socicon-pinterest:before{content:"\e043"}.socicon-foursquare{color:#f94877;background-color:#f94877}.socicon-foursquare:before{content:"\e044"}.socicon-yahoo{color:#6e2a85;background-color:#6e2a85}.socicon-yahoo:before{content:"\e045"}.socicon-skype{color:#28abe3;background-color:#28abe3}.socicon-skype:before{content:"\e046"}.socicon-yelp{color:#c83218;background-color:#c83218}.socicon-yelp:before{content:"\e047"}.socicon-feedburner{color:#fc0;background-color:#fc0}.socicon-feedburner:before{content:"\e048"}.socicon-linkedin{color:#3371b7;background-color:#3371b7}.socicon-linkedin:before{content:"\e049"}.socicon-viadeo{color:#e4a000;background-color:#e4a000}.socicon-viadeo:before{content:"\e04a"}.socicon-xing{color:#005a60;background-color:#005a60}.socicon-xing:before{content:"\e04b"}.socicon-myspace{color:#323232;background-color:#323232}.socicon-myspace:before{content:"\e04c"}.socicon-soundcloud{color:#fe3801;background-color:#fe3801}.socicon-soundcloud:before{content:"\e04d"}.socicon-spotify{color:#7bb342;background-color:#7bb342}.socicon-spotify:before{content:"\e04e"}.socicon-grooveshark{color:#000;background-color:#000}.socicon-grooveshark:before{content:"\e04f"}.socicon-lastfm{color:#d41316;background-color:#d41316}.socicon-lastfm:before{content:"\e050"}.socicon-youtube{color:#e02a20;background-color:#e02a20}.socicon-youtube:before{content:"\e051"}.socicon-vimeo{color:#51b5e7;background-color:#51b5e7}.socicon-vimeo:before{content:"\e052"}.socicon-dailymotion{color:#004e72;background-color:#004e72}.socicon-dailymotion:before{content:"\e053"}.socicon-vine{color:#00b389;background-color:#00b389}.socicon-vine:before{content:"\e054"}.socicon-flickr{color:#1e1e1b;background-color:#1e1e1b}.socicon-flickr:before{content:"\e055"}.socicon-500px{color:#58a9de;background-color:#58a9de}.socicon-500px:before{content:"\e056"}.socicon-instagram{color:#9c7c6e;background-color:#9c7c6e}.socicon-instagram:before{content:"\e057"}.socicon-wordpress{color:#464646;background-color:#464646}.socicon-wordpress:before{content:"\e058"}.socicon-tumblr{color:#45556c;background-color:#45556c}.socicon-tumblr:before{content:"\e059"}.socicon-twitch{color:#6441a5;background-color:#6441a5}.socicon-twitch:before{content:"\e05a"}.socicon-8tracks{color:#122c4b;background-color:#122c4b}.socicon-8tracks:before{content:"\e05b"}.socicon-amazon{color:#f90;background-color:#f90}.socicon-amazon:before{content:"\e05c"}.socicon-icq{color:#7EBD00;background-color:#7EBD00}.socicon-icq:before{content:"\e05d"}.socicon-smugmug{color:#ACFD32;background-color:#ACFD32}.socicon-smugmug:before{content:"\e05e"}.socicon-ravelry{color:#B6014C;background-color:#B6014C}.socicon-ravelry:before{content:"\e05f"}.socicon-weibo{color:#e31c34;background-color:#e31c34}.socicon-weibo:before{content:"\e060"}.socicon-baidu{color:#2629d9;background-color:#2629d9}.socicon-baidu:before{content:"\e061"}.socicon-angellist{color:#000;background-color:#000}.socicon-angellist:before{content:"\e062"}.socicon-ebay{color:#333;background-color:#333}.socicon-ebay:before{content:"\e063"}.socicon-imdb{color:#E8BA00;background-color:#E8BA00}.socicon-imdb:before{content:"\e064"}.socicon-stayfriends{color:#F08A1C;background-color:#F08A1C}.socicon-stayfriends:before{content:"\e065"}.socicon-residentadvisor{color:#B3BE1B;background-color:#B3BE1B}.socicon-residentadvisor:before{content:"\e066"}.socicon-google{color:#4285f4;background-color:#4285f4}.socicon-google:before{content:"\e067"}.socicon-yandex{color:red;background-color:red}.socicon-yandex:before{content:"\e068"}.socicon-sharethis{color:#01bf01;background-color:#01bf01}.socicon-sharethis:before{content:"\e069"}.socicon-bandcamp{color:#619aa9;background-color:#619aa9}.socicon-bandcamp:before{content:"\e06a"}.socicon-itunes{color:#ff5e51;background-color:#ff5e51}.socicon-itunes:before{content:"\e06b"}.socicon-deezer{color:#32323d;background-color:#32323d}.socicon-deezer:before{content:"\e06c"}.socicon-medium{color:#000;background-color:#000}.socicon-medium:before{content:"\e06d"}.socicon-telegram{color:#08c;background-color:#08c}.socicon-telegram:before{content:"\e06e"}.socicon-openid{color:#f78c40;background-color:#f78c40}.socicon-openid:before{content:"\e06f"}.socicon-amplement{color:#0996c3;background-color:#0996c3}.socicon-amplement:before{content:"\e070"}.social-icons-lists .socicon{padding:10px;font-size:16px}.social-icons-lists li.social-icons-list-item{margin:4px;display:inline-block;border:none!important}.social-icons-lists li.social-icons-list-item a.social-icon{text-decoration:none}.social-icons-lists li.social-icons-list-item a.social-icon:active,.social-icons-lists li.social-icons-list-item a.social-icon:focus{outline:0}.social-icons-lists li.social-icons-list-item a.social-icon:hover .socicon{opacity:.8}.social-icons-lists li.social-icons-list-item a.social-icon span.social-icons-list-label{margin-left:4px}.social-icons-lists.show-icons-label{list-style:outside}.social-icons-lists.show-icons-label li.social-icons-list-item{display:block}.social-icons-lists.social-icons-greyscale .socicon{color:#fff;background-color:#555}.social-icons-lists.icons-background-rounded .socicon{border-radius:100%}.social-icons-lists.icons-background-rounded .socicon,.social-icons-lists.icons-background-square .socicon{color:#fff}.social-icons-lists.icons-background-rounded.centre,.social-icons-lists.icons-background-square.centre{text-align:center}.social-icons-lists.icons-background-none .socicon{padding:0;background:0 0}.social-icons-lists.icons-background-none.social-icons-greyscale .socicon{color:#555}
1
+ [class*=" socicon-"]:before,[class^=socicon-]:before,[data-icon]:before{font-family:socicon!important;font-style:normal!important;font-weight:400!important;font-variant:normal!important;text-transform:none!important;speak:none;-moz-osx-font-smoothing:grayscale}.socicon,[data-icon]:before{line-height:1;-webkit-font-smoothing:antialiased}.socicon-mixcloud,.socicon-modelmayhem{color:#000;background-color:#000}@font-face{font-family:socicon;src:url(../fonts/socicon.eot);src:url(../fonts/socicon.eot?#iefix) format("embedded-opentype"),url(../fonts/socicon.woff) format("woff"),url(../fonts/socicon.ttf) format("truetype"),url(../fonts/socicon.svg#socicon) format("svg");font-weight:400;font-style:normal}[data-icon]:before{content:attr(data-icon)}[class*=" socicon-"]:before,[class^=socicon-]:before{line-height:1;-webkit-font-smoothing:antialiased}.socicon{position:relative;top:3px;display:inline-block;font-family:socicon;font-style:normal;font-weight:400;font-size:1.2em}.socicon-modelmayhem:before{content:"\e000"}.socicon-mixcloud:before{content:"\e001"}.socicon-drupal{color:#00598e;background-color:#00598e}.socicon-drupal:before{content:"\e002"}.socicon-swarm{color:#fc9d3c;background-color:#fc9d3c}.socicon-swarm:before{content:"\e003"}.socicon-istock{color:#000;background-color:#000}.socicon-istock:before{content:"\e004"}.socicon-yammer{color:#1175c4;background-color:#1175c4}.socicon-yammer:before{content:"\e005"}.socicon-ello{color:#000;background-color:#000}.socicon-ello:before{content:"\e006"}.socicon-stackoverflow{color:#fd9827;background-color:#fd9827}.socicon-stackoverflow:before{content:"\e007"}.socicon-persona{color:#e6753d;background-color:#e6753d}.socicon-persona:before{content:"\e008"}.socicon-triplej{color:#e53531;background-color:#e53531}.socicon-triplej:before{content:"\e009"}.socicon-houzz{color:#7cc04b;background-color:#7cc04b}.socicon-houzz:before{content:"\e00a"}.socicon-rss{color:#f26109;background-color:#f26109}.socicon-rss:before{content:"\e00b"}.socicon-paypal{color:#009cde;background-color:#009cde}.socicon-paypal:before{content:"\e00c"}.socicon-odnoklassniki{color:#f48420;background-color:#f48420}.socicon-odnoklassniki:before{content:"\e00d"}.socicon-airbnb{color:#ff5a5f;background-color:#ff5a5f}.socicon-airbnb:before{content:"\e00e"}.socicon-periscope{color:#3aa4c6;background-color:#3aa4c6}.socicon-periscope:before{content:"\e00f"}.socicon-outlook{color:#0072c6;background-color:#0072c6}.socicon-outlook:before{content:"\e010"}.socicon-coderwall{color:#3e8dcc;background-color:#3e8dcc}.socicon-coderwall:before{content:"\e011"}.socicon-tripadvisor{color:#4b7e37;background-color:#4b7e37}.socicon-tripadvisor:before{content:"\e012"}.socicon-appnet{color:#494949;background-color:#494949}.socicon-appnet:before{content:"\e013"}.socicon-goodreads{color:#463020;background-color:#463020}.socicon-goodreads:before{content:"\e014"}.socicon-tripit{color:#1982c3;background-color:#1982c3}.socicon-tripit:before{content:"\e015"}.socicon-lanyrd{color:#3c80c9;background-color:#3c80c9}.socicon-lanyrd:before{content:"\e016"}.socicon-slideshare{color:#4ba3a6;background-color:#4ba3a6}.socicon-slideshare:before{content:"\e017"}.socicon-buffer{color:#000;background-color:#000}.socicon-buffer:before{content:"\e018"}.socicon-disqus{color:#2e9fff;background-color:#2e9fff}.socicon-disqus:before{content:"\e019"}.socicon-vkontakte{color:#5a7fa6;background-color:#5a7fa6}.socicon-vkontakte:before{content:"\e01a"}.socicon-whatsapp{color:#20b038;background-color:#20b038}.socicon-whatsapp:before{content:"\e01b"}.socicon-patreon{color:#e44727;background-color:#e44727}.socicon-patreon:before{content:"\e01c"}.socicon-storehouse{color:#25b0e6;background-color:#25b0e6}.socicon-storehouse:before{content:"\e01d"}.socicon-pocket{color:#ed4055;background-color:#ed4055}.socicon-pocket:before{content:"\e01e"}.socicon-mail{color:#000;background-color:#000}.socicon-mail:before{content:"\e01f"}.socicon-blogger{color:#ec661c;background-color:#ec661c}.socicon-blogger:before{content:"\e020"}.socicon-technorati{color:#5cb030;background-color:#5cb030}.socicon-technorati:before{content:"\e021"}.socicon-reddit{color:#e74a1e;background-color:#e74a1e}.socicon-reddit:before{content:"\e022"}.socicon-dribbble{color:#e84d88;background-color:#e84d88}.socicon-dribbble:before{content:"\e023"}.socicon-stumbleupon{color:#e64011;background-color:#e64011}.socicon-stumbleupon:before{content:"\e024"}.socicon-digg{color:#1d1d1b;background-color:#1d1d1b}.socicon-digg:before{content:"\e025"}.socicon-envato{color:#597c3a;background-color:#597c3a}.socicon-envato:before{content:"\e026"}.socicon-behance{color:#000;background-color:#000}.socicon-behance:before{content:"\e027"}.socicon-delicious{color:#020202;background-color:#020202}.socicon-delicious:before{content:"\e028"}.socicon-deviantart{color:#c5d200;background-color:#c5d200}.socicon-deviantart:before{content:"\e029"}.socicon-forrst{color:#5b9a68;background-color:#5b9a68}.socicon-forrst:before{content:"\e02a"}.socicon-play{color:#000;background-color:#000}.socicon-play:before{content:"\e02b"}.socicon-zerply{color:#9dbc7a;background-color:#9dbc7a}.socicon-zerply:before{content:"\e02c"}.socicon-wikipedia{color:#000;background-color:#000}.socicon-wikipedia:before{content:"\e02d"}.socicon-apple{color:#b9bfc1;background-color:#b9bfc1}.socicon-apple:before{content:"\e02e"}.socicon-flattr{color:#f67c1a;background-color:#f67c1a}.socicon-flattr:before{content:"\e02f"}.socicon-github{color:#221e1b;background-color:#221e1b}.socicon-github:before{content:"\e030"}.socicon-renren{color:#2266b0;background-color:#2266b0}.socicon-renren:before{content:"\e031"}.socicon-friendfeed{color:#2f72c4;background-color:#2f72c4}.socicon-friendfeed:before{content:"\e032"}.socicon-newsvine{color:#075b2f;background-color:#075b2f}.socicon-newsvine:before{content:"\e033"}.socicon-identica{color:#000;background-color:#000}.socicon-identica:before{content:"\e034"}.socicon-bebo{color:#ef1011;background-color:#ef1011}.socicon-bebo:before{content:"\e035"}.socicon-zynga{color:#dc0606;background-color:#dc0606}.socicon-zynga:before{content:"\e036"}.socicon-steam{color:#171a21;background-color:#171a21}.socicon-steam:before{content:"\e037"}.socicon-xbox{color:#92c83e;background-color:#92c83e}.socicon-xbox:before{content:"\e038"}.socicon-windows{color:#00bdf6;background-color:#00bdf6}.socicon-windows:before{content:"\e039"}.socicon-qq{color:#4297d3;background-color:#4297d3}.socicon-qq:before{content:"\e03a"}.socicon-douban{color:#3ca353;background-color:#3ca353}.socicon-douban:before{content:"\e03b"}.socicon-meetup{color:#e2373c;background-color:#e2373c}.socicon-meetup:before{content:"\e03c"}.socicon-playstation{color:#000;background-color:#000}.socicon-playstation:before{content:"\e03d"}.socicon-android{color:#8ec047;background-color:#8ec047}.socicon-android:before{content:"\e03e"}.socicon-snapchat{color:#fffa37;background-color:#fffa37}.socicon-snapchat:before{content:"\e03f"}.socicon-twitter{color:#4da7de;background-color:#4da7de}.socicon-twitter:before{content:"\e040"}.socicon-facebook{color:#3e5b98;background-color:#3e5b98}.socicon-facebook:before{content:"\e041"}.socicon-googleplus{color:#dd4b39;background-color:#dd4b39}.socicon-googleplus:before{content:"\e042"}.socicon-pinterest{color:#c92619;background-color:#c92619}.socicon-pinterest:before{content:"\e043"}.socicon-foursquare{color:#f94877;background-color:#f94877}.socicon-foursquare:before{content:"\e044"}.socicon-yahoo{color:#6e2a85;background-color:#6e2a85}.socicon-yahoo:before{content:"\e045"}.socicon-skype{color:#28abe3;background-color:#28abe3}.socicon-skype:before{content:"\e046"}.socicon-yelp{color:#c83218;background-color:#c83218}.socicon-yelp:before{content:"\e047"}.socicon-feedburner{color:#fc0;background-color:#fc0}.socicon-feedburner:before{content:"\e048"}.socicon-linkedin{color:#3371b7;background-color:#3371b7}.socicon-linkedin:before{content:"\e049"}.socicon-viadeo{color:#e4a000;background-color:#e4a000}.socicon-viadeo:before{content:"\e04a"}.socicon-xing{color:#005a60;background-color:#005a60}.socicon-xing:before{content:"\e04b"}.socicon-myspace{color:#323232;background-color:#323232}.socicon-myspace:before{content:"\e04c"}.socicon-soundcloud{color:#fe3801;background-color:#fe3801}.socicon-soundcloud:before{content:"\e04d"}.socicon-spotify{color:#7bb342;background-color:#7bb342}.socicon-spotify:before{content:"\e04e"}.socicon-grooveshark{color:#000;background-color:#000}.socicon-grooveshark:before{content:"\e04f"}.socicon-lastfm{color:#d41316;background-color:#d41316}.socicon-lastfm:before{content:"\e050"}.socicon-youtube{color:#e02a20;background-color:#e02a20}.socicon-youtube:before{content:"\e051"}.socicon-vimeo{color:#51b5e7;background-color:#51b5e7}.socicon-vimeo:before{content:"\e052"}.socicon-dailymotion{color:#004e72;background-color:#004e72}.socicon-dailymotion:before{content:"\e053"}.socicon-vine{color:#00b389;background-color:#00b389}.socicon-vine:before{content:"\e054"}.socicon-flickr{color:#1e1e1b;background-color:#1e1e1b}.socicon-flickr:before{content:"\e055"}.socicon-500px{color:#58a9de;background-color:#58a9de}.socicon-500px:before{content:"\e056"}.socicon-instagram{color:#9c7c6e;background-color:#9c7c6e}.socicon-instagram:before{content:"\e057"}.socicon-wordpress{color:#464646;background-color:#464646}.socicon-wordpress:before{content:"\e058"}.socicon-tumblr{color:#45556c;background-color:#45556c}.socicon-tumblr:before{content:"\e059"}.socicon-twitch{color:#6441a5;background-color:#6441a5}.socicon-twitch:before{content:"\e05a"}.socicon-8tracks{color:#122c4b;background-color:#122c4b}.socicon-8tracks:before{content:"\e05b"}.socicon-amazon{color:#f90;background-color:#f90}.socicon-amazon:before{content:"\e05c"}.socicon-icq{color:#7ebd00;background-color:#7ebd00}.socicon-icq:before{content:"\e05d"}.socicon-smugmug{color:#acfd32;background-color:#acfd32}.socicon-smugmug:before{content:"\e05e"}.socicon-ravelry{color:#b6014c;background-color:#b6014c}.socicon-ravelry:before{content:"\e05f"}.socicon-weibo{color:#e31c34;background-color:#e31c34}.socicon-weibo:before{content:"\e060"}.socicon-baidu{color:#2629d9;background-color:#2629d9}.socicon-baidu:before{content:"\e061"}.socicon-angellist{color:#000;background-color:#000}.socicon-angellist:before{content:"\e062"}.socicon-ebay{color:#333;background-color:#333}.socicon-ebay:before{content:"\e063"}.socicon-imdb{color:#e8ba00;background-color:#e8ba00}.socicon-imdb:before{content:"\e064"}.socicon-stayfriends{color:#f08a1c;background-color:#f08a1c}.socicon-stayfriends:before{content:"\e065"}.socicon-residentadvisor{color:#b3be1b;background-color:#b3be1b}.socicon-residentadvisor:before{content:"\e066"}.socicon-google{color:#4285f4;background-color:#4285f4}.socicon-google:before{content:"\e067"}.socicon-yandex{color:red;background-color:red}.socicon-yandex:before{content:"\e068"}.socicon-sharethis{color:#01bf01;background-color:#01bf01}.socicon-sharethis:before{content:"\e069"}.socicon-bandcamp{color:#619aa9;background-color:#619aa9}.socicon-bandcamp:before{content:"\e06a"}.socicon-itunes{color:#ff5e51;background-color:#ff5e51}.socicon-itunes:before{content:"\e06b"}.socicon-deezer{color:#32323d;background-color:#32323d}.socicon-deezer:before{content:"\e06c"}.socicon-medium{color:#000;background-color:#000}.socicon-medium:before{content:"\e06d"}.socicon-telegram{color:#08c;background-color:#08c}.socicon-telegram:before{content:"\e06e"}.socicon-openid{color:#f78c40;background-color:#f78c40}.socicon-openid:before{content:"\e06f"}.socicon-amplement{color:#0996c3;background-color:#0996c3}.socicon-amplement:before{content:"\e070"}.socicon-viber{color:#7b519d;background-color:#7b519d}.socicon-quora,.socicon-zomato{color:#cb202d;background-color:#cb202d}.socicon-viber:before{content:"\e071"}.socicon-zomato:before{content:"\e072"}.socicon-quora:before{content:"\e073"}.socicon-draugiem{color:#ffa32b;background-color:#ffa32b}.socicon-draugiem:before{content:"\e074"}.socicon-endomodo{color:#86ad00;background-color:#86ad00}.socicon-endomodo:before{content:"\e075"}.socicon-filmweb{color:#ffc404;background-color:#ffc404}.socicon-filmweb:before{content:"\e076"}.socicon-stackexchange{color:#2f2f2f;background-color:#2f2f2f}.socicon-stackexchange:before{content:"\e077"}.socicon-wykop{color:#328efe;background-color:#328efe}.socicon-wykop:before{content:"\e078"}.socicon-teamspeak{color:#465674;background-color:#465674}.socicon-teamspeak:before{content:"\e079"}.socicon-teamviewer{color:#168ef4;background-color:#168ef4}.socicon-teamviewer:before{content:"\e07a"}.socicon-ventrilo{color:#77808a;background-color:#77808a}.socicon-ventrilo:before{content:"\e07b"}.socicon-younow{color:#61c03e;background-color:#61c03e}.socicon-younow:before{content:"\e07c"}.socicon-raidcall{color:#073558;background-color:#073558}.socicon-raidcall:before{content:"\e07d"}.socicon-mumble{color:#5ab5d1;background-color:#5ab5d1}.socicon-mumble:before{content:"\e07e"}.socicon-bebee{color:#f28f16;background-color:#f28f16}.socicon-bebee:before{content:"\e07f"}.socicon-hitbox{color:#9c0;background-color:#9c0}.socicon-hitbox:before{content:"\e080"}.socicon-reverbnation{color:#000;background-color:#000}.socicon-reverbnation:before{content:"\e081"}.socicon-formulr{color:#ff5a60;background-color:#ff5a60}.socicon-formulr:before{content:"\e082"}.social-icons-lists .socicon{padding:10px;font-size:16px}.social-icons-lists li.social-icons-list-item{margin:4px;display:inline-block;border:none!important}.social-icons-lists li.social-icons-list-item a.social-icon{text-decoration:none}.social-icons-lists li.social-icons-list-item a.social-icon:active,.social-icons-lists li.social-icons-list-item a.social-icon:focus{outline:0}.social-icons-lists li.social-icons-list-item a.social-icon:hover .socicon{opacity:.8}.social-icons-lists li.social-icons-list-item a.social-icon span.social-icons-list-label{margin-left:4px}.social-icons-lists.show-icons-label{list-style:outside}.social-icons-lists.social-icons-greyscale .socicon{color:#fff;background-color:#555}.social-icons-lists.icons-background-rounded .socicon{border-radius:100%}.social-icons-lists.icons-background-rounded .socicon,.social-icons-lists.icons-background-square .socicon{color:#fff}.social-icons-lists.icons-background-rounded.centre,.social-icons-lists.icons-background-square.centre{text-align:center}.social-icons-lists.icons-background-none .socicon{padding:0;background:0 0}.social-icons-lists.icons-background-none.social-icons-greyscale .socicon{color:#555}.widget .social-icons-lists.show-icons-label li.social-icons-list-item{display:block}
assets/css/social-icons.scss CHANGED
@@ -43,10 +43,6 @@
43
 
44
  &.show-icons-label {
45
  list-style: outside;
46
-
47
- li.social-icons-list-item {
48
- display: block;
49
- }
50
  }
51
 
52
  &.social-icons-greyscale .socicon {
@@ -82,3 +78,12 @@
82
  }
83
  }
84
  }
 
 
 
 
 
 
 
 
 
43
 
44
  &.show-icons-label {
45
  list-style: outside;
 
 
 
 
46
  }
47
 
48
  &.social-icons-greyscale .socicon {
78
  }
79
  }
80
  }
81
+
82
+ .widget .social-icons-lists {
83
+
84
+ &.show-icons-label {
85
+ li.social-icons-list-item {
86
+ display: block;
87
+ }
88
+ }
89
+ }
assets/css/widgets.css CHANGED
@@ -1 +1 @@
1
- [class*=" socicon-"]:before,[class^=socicon-]:before,[data-icon]:before{font-family:socicon!important;font-style:normal!important;font-weight:400!important;font-variant:normal!important;text-transform:none!important;speak:none;-moz-osx-font-smoothing:grayscale}.socicon,[data-icon]:before{line-height:1;-webkit-font-smoothing:antialiased}.socicon-mixcloud,.socicon-modelmayhem{color:#000;background-color:#000}@font-face{font-family:socicon;src:url(../fonts/socicon.eot);src:url(../fonts/socicon.eot?#iefix) format("embedded-opentype"),url(../fonts/socicon.woff) format("woff"),url(../fonts/socicon.ttf) format("truetype"),url(../fonts/socicon.svg#socicon) format("svg");font-weight:400;font-style:normal}[data-icon]:before{content:attr(data-icon)}[class*=" socicon-"]:before,[class^=socicon-]:before{line-height:1;-webkit-font-smoothing:antialiased}.socicon{position:relative;top:3px;display:inline-block;font-family:socicon;font-style:normal;font-weight:400;font-size:1.2em}.socicon-modelmayhem:before{content:"\e000"}.socicon-mixcloud:before{content:"\e001"}.socicon-drupal{color:#00598e;background-color:#00598e}.socicon-drupal:before{content:"\e002"}.socicon-swarm{color:#FC9D3C;background-color:#FC9D3C}.socicon-swarm:before{content:"\e003"}.socicon-istock{color:#000;background-color:#000}.socicon-istock:before{content:"\e004"}.socicon-yammer{color:#1175C4;background-color:#1175C4}.socicon-yammer:before{content:"\e005"}.socicon-ello{color:#000;background-color:#000}.socicon-ello:before{content:"\e006"}.socicon-stackoverflow{color:#FD9827;background-color:#FD9827}.socicon-stackoverflow:before{content:"\e007"}.socicon-persona{color:#e6753d;background-color:#e6753d}.socicon-persona:before{content:"\e008"}.socicon-triplej{color:#E53531;background-color:#E53531}.socicon-triplej:before{content:"\e009"}.socicon-houzz{color:#7CC04B;background-color:#7CC04B}.socicon-houzz:before{content:"\e00a"}.socicon-rss{color:#f26109;background-color:#f26109}.socicon-rss:before{content:"\e00b"}.socicon-paypal{color:#009cde;background-color:#009cde}.socicon-paypal:before{content:"\e00c"}.socicon-odnoklassniki{color:#f48420;background-color:#f48420}.socicon-odnoklassniki:before{content:"\e00d"}.socicon-airbnb{color:#ff5a5f;background-color:#ff5a5f}.socicon-airbnb:before{content:"\e00e"}.socicon-periscope{color:#3AA4C6;background-color:#3AA4C6}.socicon-periscope:before{content:"\e00f"}.socicon-outlook{color:#0072C6;background-color:#0072C6}.socicon-outlook:before{content:"\e010"}.socicon-coderwall{color:#3E8DCC;background-color:#3E8DCC}.socicon-coderwall:before{content:"\e011"}.socicon-tripadvisor{color:#4B7E37;background-color:#4B7E37}.socicon-tripadvisor:before{content:"\e012"}.socicon-appnet{color:#494949;background-color:#494949}.socicon-appnet:before{content:"\e013"}.socicon-goodreads{color:#463020;background-color:#463020}.socicon-goodreads:before{content:"\e014"}.socicon-tripit{color:#1982C3;background-color:#1982C3}.socicon-tripit:before{content:"\e015"}.socicon-lanyrd{color:#3c80c9;background-color:#3c80c9}.socicon-lanyrd:before{content:"\e016"}.socicon-slideshare{color:#4ba3a6;background-color:#4ba3a6}.socicon-slideshare:before{content:"\e017"}.socicon-buffer{color:#000;background-color:#000}.socicon-buffer:before{content:"\e018"}.socicon-disqus{color:#2e9fff;background-color:#2e9fff}.socicon-disqus:before{content:"\e019"}.socicon-vkontakte{color:#5a7fa6;background-color:#5a7fa6}.socicon-vkontakte:before{content:"\e01a"}.socicon-whatsapp{color:#20B038;background-color:#20B038}.socicon-whatsapp:before{content:"\e01b"}.socicon-patreon{color:#E44727;background-color:#E44727}.socicon-patreon:before{content:"\e01c"}.socicon-storehouse{color:#25B0E6;background-color:#25B0E6}.socicon-storehouse:before{content:"\e01d"}.socicon-pocket{color:#ED4055;background-color:#ED4055}.socicon-pocket:before{content:"\e01e"}.socicon-mail{color:#000;background-color:#000}.socicon-mail:before{content:"\e01f"}.socicon-blogger{color:#ec661c;background-color:#ec661c}.socicon-blogger:before{content:"\e020"}.socicon-technorati{color:#5cb030;background-color:#5cb030}.socicon-technorati:before{content:"\e021"}.socicon-reddit{color:#e74a1e;background-color:#e74a1e}.socicon-reddit:before{content:"\e022"}.socicon-dribbble{color:#e84d88;background-color:#e84d88}.socicon-dribbble:before{content:"\e023"}.socicon-stumbleupon{color:#e64011;background-color:#e64011}.socicon-stumbleupon:before{content:"\e024"}.socicon-digg{color:#1d1d1b;background-color:#1d1d1b}.socicon-digg:before{content:"\e025"}.socicon-envato{color:#597c3a;background-color:#597c3a}.socicon-envato:before{content:"\e026"}.socicon-behance{color:#000;background-color:#000}.socicon-behance:before{content:"\e027"}.socicon-delicious{color:#020202;background-color:#020202}.socicon-delicious:before{content:"\e028"}.socicon-deviantart{color:#c5d200;background-color:#c5d200}.socicon-deviantart:before{content:"\e029"}.socicon-forrst{color:#5B9A68;background-color:#5B9A68}.socicon-forrst:before{content:"\e02a"}.socicon-play{color:#000;background-color:#000}.socicon-play:before{content:"\e02b"}.socicon-zerply{color:#9DBC7A;background-color:#9DBC7A}.socicon-zerply:before{content:"\e02c"}.socicon-wikipedia{color:#000;background-color:#000}.socicon-wikipedia:before{content:"\e02d"}.socicon-apple{color:#B9BFC1;background-color:#B9BFC1}.socicon-apple:before{content:"\e02e"}.socicon-flattr{color:#F67C1A;background-color:#F67C1A}.socicon-flattr:before{content:"\e02f"}.socicon-github{color:#221e1b;background-color:#221e1b}.socicon-github:before{content:"\e030"}.socicon-renren{color:#2266b0;background-color:#2266b0}.socicon-renren:before{content:"\e031"}.socicon-friendfeed{color:#2F72C4;background-color:#2F72C4}.socicon-friendfeed:before{content:"\e032"}.socicon-newsvine{color:#075B2F;background-color:#075B2F}.socicon-newsvine:before{content:"\e033"}.socicon-identica{color:#000;background-color:#000}.socicon-identica:before{content:"\e034"}.socicon-bebo{color:#EF1011;background-color:#EF1011}.socicon-bebo:before{content:"\e035"}.socicon-zynga{color:#DC0606;background-color:#DC0606}.socicon-zynga:before{content:"\e036"}.socicon-steam{color:#171a21;background-color:#171a21}.socicon-steam:before{content:"\e037"}.socicon-xbox{color:#92C83E;background-color:#92C83E}.socicon-xbox:before{content:"\e038"}.socicon-windows{color:#00BDF6;background-color:#00BDF6}.socicon-windows:before{content:"\e039"}.socicon-qq{color:#4297d3;background-color:#4297d3}.socicon-qq:before{content:"\e03a"}.socicon-douban{color:#3ca353;background-color:#3ca353}.socicon-douban:before{content:"\e03b"}.socicon-meetup{color:#e2373c;background-color:#e2373c}.socicon-meetup:before{content:"\e03c"}.socicon-playstation{color:#000;background-color:#000}.socicon-playstation:before{content:"\e03d"}.socicon-android{color:#8ec047;background-color:#8ec047}.socicon-android:before{content:"\e03e"}.socicon-snapchat{color:#fffa37;background-color:#fffa37}.socicon-snapchat:before{content:"\e03f"}.socicon-twitter{color:#4da7de;background-color:#4da7de}.socicon-twitter:before{content:"\e040"}.socicon-facebook{color:#3e5b98;background-color:#3e5b98}.socicon-facebook:before{content:"\e041"}.socicon-googleplus{color:#dd4b39;background-color:#dd4b39}.socicon-googleplus:before{content:"\e042"}.socicon-pinterest{color:#c92619;background-color:#c92619}.socicon-pinterest:before{content:"\e043"}.socicon-foursquare{color:#f94877;background-color:#f94877}.socicon-foursquare:before{content:"\e044"}.socicon-yahoo{color:#6e2a85;background-color:#6e2a85}.socicon-yahoo:before{content:"\e045"}.socicon-skype{color:#28abe3;background-color:#28abe3}.socicon-skype:before{content:"\e046"}.socicon-yelp{color:#c83218;background-color:#c83218}.socicon-yelp:before{content:"\e047"}.socicon-feedburner{color:#fc0;background-color:#fc0}.socicon-feedburner:before{content:"\e048"}.socicon-linkedin{color:#3371b7;background-color:#3371b7}.socicon-linkedin:before{content:"\e049"}.socicon-viadeo{color:#e4a000;background-color:#e4a000}.socicon-viadeo:before{content:"\e04a"}.socicon-xing{color:#005a60;background-color:#005a60}.socicon-xing:before{content:"\e04b"}.socicon-myspace{color:#323232;background-color:#323232}.socicon-myspace:before{content:"\e04c"}.socicon-soundcloud{color:#fe3801;background-color:#fe3801}.socicon-soundcloud:before{content:"\e04d"}.socicon-spotify{color:#7bb342;background-color:#7bb342}.socicon-spotify:before{content:"\e04e"}.socicon-grooveshark{color:#000;background-color:#000}.socicon-grooveshark:before{content:"\e04f"}.socicon-lastfm{color:#d41316;background-color:#d41316}.socicon-lastfm:before{content:"\e050"}.socicon-youtube{color:#e02a20;background-color:#e02a20}.socicon-youtube:before{content:"\e051"}.socicon-vimeo{color:#51b5e7;background-color:#51b5e7}.socicon-vimeo:before{content:"\e052"}.socicon-dailymotion{color:#004e72;background-color:#004e72}.socicon-dailymotion:before{content:"\e053"}.socicon-vine{color:#00b389;background-color:#00b389}.socicon-vine:before{content:"\e054"}.socicon-flickr{color:#1e1e1b;background-color:#1e1e1b}.socicon-flickr:before{content:"\e055"}.socicon-500px{color:#58a9de;background-color:#58a9de}.socicon-500px:before{content:"\e056"}.socicon-instagram{color:#9c7c6e;background-color:#9c7c6e}.socicon-instagram:before{content:"\e057"}.socicon-wordpress{color:#464646;background-color:#464646}.socicon-wordpress:before{content:"\e058"}.socicon-tumblr{color:#45556c;background-color:#45556c}.socicon-tumblr:before{content:"\e059"}.socicon-twitch{color:#6441a5;background-color:#6441a5}.socicon-twitch:before{content:"\e05a"}.socicon-8tracks{color:#122c4b;background-color:#122c4b}.socicon-8tracks:before{content:"\e05b"}.socicon-amazon{color:#f90;background-color:#f90}.socicon-amazon:before{content:"\e05c"}.socicon-icq{color:#7EBD00;background-color:#7EBD00}.socicon-icq:before{content:"\e05d"}.socicon-smugmug{color:#ACFD32;background-color:#ACFD32}.socicon-smugmug:before{content:"\e05e"}.socicon-ravelry{color:#B6014C;background-color:#B6014C}.socicon-ravelry:before{content:"\e05f"}.socicon-weibo{color:#e31c34;background-color:#e31c34}.socicon-weibo:before{content:"\e060"}.socicon-baidu{color:#2629d9;background-color:#2629d9}.socicon-baidu:before{content:"\e061"}.socicon-angellist{color:#000;background-color:#000}.socicon-angellist:before{content:"\e062"}.socicon-ebay{color:#333;background-color:#333}.socicon-ebay:before{content:"\e063"}.socicon-imdb{color:#E8BA00;background-color:#E8BA00}.socicon-imdb:before{content:"\e064"}.socicon-stayfriends{color:#F08A1C;background-color:#F08A1C}.socicon-stayfriends:before{content:"\e065"}.socicon-residentadvisor{color:#B3BE1B;background-color:#B3BE1B}.socicon-residentadvisor:before{content:"\e066"}.socicon-google{color:#4285f4;background-color:#4285f4}.socicon-google:before{content:"\e067"}.socicon-yandex{color:red;background-color:red}.socicon-yandex:before{content:"\e068"}.socicon-sharethis{color:#01bf01;background-color:#01bf01}.socicon-sharethis:before{content:"\e069"}.socicon-bandcamp{color:#619aa9;background-color:#619aa9}.socicon-bandcamp:before{content:"\e06a"}.socicon-itunes{color:#ff5e51;background-color:#ff5e51}.socicon-itunes:before{content:"\e06b"}.socicon-deezer{color:#32323d;background-color:#32323d}.socicon-deezer:before{content:"\e06c"}.socicon-medium{color:#000;background-color:#000}.socicon-medium:before{content:"\e06d"}.socicon-telegram{color:#08c;background-color:#08c}.socicon-telegram:before{content:"\e06e"}.socicon-openid{color:#f78c40;background-color:#f78c40}.socicon-openid:before{content:"\e06f"}.socicon-amplement{color:#0996c3;background-color:#0996c3}.socicon-amplement:before{content:"\e070"}.social-icons-field-handle{float:left;cursor:move;margin-top:12px;margin-left:-100%}.social-icons-field-handle.dashicons{width:30px;margin-top:18px}.social-icons-field-handle.socicon{color:#fff;padding:6px}.social-icons-field-remove{width:30px;float:left;display:block;text-align:right;margin-top:20px;margin-left:-30px;text-decoration:none}.social-icons-field-remove:active,.social-icons-field-remove:focus{outline:0;box-shadow:none}.social-icons-field-remove span.dashicons:hover{color:#a00}.social-icons-add-button{margin-bottom:10px}.wp-customizer .social-icons-add-button{margin-top:1em}ul.social-icons-list{border:1px solid #ddd}ul.social-icons-list li.social-icons-field{margin:-1px;padding:10px;display:block;border:1px solid #ddd}ul.social-icons-list li.social-icons-field::after{clear:both;content:"";display:table}ul.social-icons-list li.social-icons-field:last-child{border-bottom:none}ul.social-icons-list li.social-icons-field .social-icons-wrap{float:left;width:100%}ul.social-icons-list li.social-icons-field .social-icons-wrap .social-icons-inputs{margin-left:40px;margin-right:30px}ul.social-icons-list li.social-icons-field .social-icons-wrap .social-icons-inputs input.social-icons-field-label[type=text]{margin-top:2px}ul.social-icons-list li.social-icons-field.ui-sortable-helper{border:1px dashed #999}.hide-icons-label .social-icons-field-label{display:none}.hide-icons-label .social-icons-field-handle{margin-top:-4px}.hide-icons-label .social-icons-field-handle.dashicons,.hide-icons-label .social-icons-field-remove{margin-top:3px}
1
+ [class*=" socicon-"]:before,[class^=socicon-]:before,[data-icon]:before{font-family:socicon!important;font-style:normal!important;font-weight:400!important;font-variant:normal!important;text-transform:none!important;speak:none;-moz-osx-font-smoothing:grayscale}.socicon,[data-icon]:before{line-height:1;-webkit-font-smoothing:antialiased}.socicon-mixcloud,.socicon-modelmayhem{color:#000;background-color:#000}@font-face{font-family:socicon;src:url(../fonts/socicon.eot);src:url(../fonts/socicon.eot?#iefix) format("embedded-opentype"),url(../fonts/socicon.woff) format("woff"),url(../fonts/socicon.ttf) format("truetype"),url(../fonts/socicon.svg#socicon) format("svg");font-weight:400;font-style:normal}[data-icon]:before{content:attr(data-icon)}[class*=" socicon-"]:before,[class^=socicon-]:before{line-height:1;-webkit-font-smoothing:antialiased}.socicon{position:relative;top:3px;display:inline-block;font-family:socicon;font-style:normal;font-weight:400;font-size:1.2em}.socicon-modelmayhem:before{content:"\e000"}.socicon-mixcloud:before{content:"\e001"}.socicon-drupal{color:#00598e;background-color:#00598e}.socicon-drupal:before{content:"\e002"}.socicon-swarm{color:#fc9d3c;background-color:#fc9d3c}.socicon-swarm:before{content:"\e003"}.socicon-istock{color:#000;background-color:#000}.socicon-istock:before{content:"\e004"}.socicon-yammer{color:#1175c4;background-color:#1175c4}.socicon-yammer:before{content:"\e005"}.socicon-ello{color:#000;background-color:#000}.socicon-ello:before{content:"\e006"}.socicon-stackoverflow{color:#fd9827;background-color:#fd9827}.socicon-stackoverflow:before{content:"\e007"}.socicon-persona{color:#e6753d;background-color:#e6753d}.socicon-persona:before{content:"\e008"}.socicon-triplej{color:#e53531;background-color:#e53531}.socicon-triplej:before{content:"\e009"}.socicon-houzz{color:#7cc04b;background-color:#7cc04b}.socicon-houzz:before{content:"\e00a"}.socicon-rss{color:#f26109;background-color:#f26109}.socicon-rss:before{content:"\e00b"}.socicon-paypal{color:#009cde;background-color:#009cde}.socicon-paypal:before{content:"\e00c"}.socicon-odnoklassniki{color:#f48420;background-color:#f48420}.socicon-odnoklassniki:before{content:"\e00d"}.socicon-airbnb{color:#ff5a5f;background-color:#ff5a5f}.socicon-airbnb:before{content:"\e00e"}.socicon-periscope{color:#3aa4c6;background-color:#3aa4c6}.socicon-periscope:before{content:"\e00f"}.socicon-outlook{color:#0072c6;background-color:#0072c6}.socicon-outlook:before{content:"\e010"}.socicon-coderwall{color:#3e8dcc;background-color:#3e8dcc}.socicon-coderwall:before{content:"\e011"}.socicon-tripadvisor{color:#4b7e37;background-color:#4b7e37}.socicon-tripadvisor:before{content:"\e012"}.socicon-appnet{color:#494949;background-color:#494949}.socicon-appnet:before{content:"\e013"}.socicon-goodreads{color:#463020;background-color:#463020}.socicon-goodreads:before{content:"\e014"}.socicon-tripit{color:#1982c3;background-color:#1982c3}.socicon-tripit:before{content:"\e015"}.socicon-lanyrd{color:#3c80c9;background-color:#3c80c9}.socicon-lanyrd:before{content:"\e016"}.socicon-slideshare{color:#4ba3a6;background-color:#4ba3a6}.socicon-slideshare:before{content:"\e017"}.socicon-buffer{color:#000;background-color:#000}.socicon-buffer:before{content:"\e018"}.socicon-disqus{color:#2e9fff;background-color:#2e9fff}.socicon-disqus:before{content:"\e019"}.socicon-vkontakte{color:#5a7fa6;background-color:#5a7fa6}.socicon-vkontakte:before{content:"\e01a"}.socicon-whatsapp{color:#20b038;background-color:#20b038}.socicon-whatsapp:before{content:"\e01b"}.socicon-patreon{color:#e44727;background-color:#e44727}.socicon-patreon:before{content:"\e01c"}.socicon-storehouse{color:#25b0e6;background-color:#25b0e6}.socicon-storehouse:before{content:"\e01d"}.socicon-pocket{color:#ed4055;background-color:#ed4055}.socicon-pocket:before{content:"\e01e"}.socicon-mail{color:#000;background-color:#000}.socicon-mail:before{content:"\e01f"}.socicon-blogger{color:#ec661c;background-color:#ec661c}.socicon-blogger:before{content:"\e020"}.socicon-technorati{color:#5cb030;background-color:#5cb030}.socicon-technorati:before{content:"\e021"}.socicon-reddit{color:#e74a1e;background-color:#e74a1e}.socicon-reddit:before{content:"\e022"}.socicon-dribbble{color:#e84d88;background-color:#e84d88}.socicon-dribbble:before{content:"\e023"}.socicon-stumbleupon{color:#e64011;background-color:#e64011}.socicon-stumbleupon:before{content:"\e024"}.socicon-digg{color:#1d1d1b;background-color:#1d1d1b}.socicon-digg:before{content:"\e025"}.socicon-envato{color:#597c3a;background-color:#597c3a}.socicon-envato:before{content:"\e026"}.socicon-behance{color:#000;background-color:#000}.socicon-behance:before{content:"\e027"}.socicon-delicious{color:#020202;background-color:#020202}.socicon-delicious:before{content:"\e028"}.socicon-deviantart{color:#c5d200;background-color:#c5d200}.socicon-deviantart:before{content:"\e029"}.socicon-forrst{color:#5b9a68;background-color:#5b9a68}.socicon-forrst:before{content:"\e02a"}.socicon-play{color:#000;background-color:#000}.socicon-play:before{content:"\e02b"}.socicon-zerply{color:#9dbc7a;background-color:#9dbc7a}.socicon-zerply:before{content:"\e02c"}.socicon-wikipedia{color:#000;background-color:#000}.socicon-wikipedia:before{content:"\e02d"}.socicon-apple{color:#b9bfc1;background-color:#b9bfc1}.socicon-apple:before{content:"\e02e"}.socicon-flattr{color:#f67c1a;background-color:#f67c1a}.socicon-flattr:before{content:"\e02f"}.socicon-github{color:#221e1b;background-color:#221e1b}.socicon-github:before{content:"\e030"}.socicon-renren{color:#2266b0;background-color:#2266b0}.socicon-renren:before{content:"\e031"}.socicon-friendfeed{color:#2f72c4;background-color:#2f72c4}.socicon-friendfeed:before{content:"\e032"}.socicon-newsvine{color:#075b2f;background-color:#075b2f}.socicon-newsvine:before{content:"\e033"}.socicon-identica{color:#000;background-color:#000}.socicon-identica:before{content:"\e034"}.socicon-bebo{color:#ef1011;background-color:#ef1011}.socicon-bebo:before{content:"\e035"}.socicon-zynga{color:#dc0606;background-color:#dc0606}.socicon-zynga:before{content:"\e036"}.socicon-steam{color:#171a21;background-color:#171a21}.socicon-steam:before{content:"\e037"}.socicon-xbox{color:#92c83e;background-color:#92c83e}.socicon-xbox:before{content:"\e038"}.socicon-windows{color:#00bdf6;background-color:#00bdf6}.socicon-windows:before{content:"\e039"}.socicon-qq{color:#4297d3;background-color:#4297d3}.socicon-qq:before{content:"\e03a"}.socicon-douban{color:#3ca353;background-color:#3ca353}.socicon-douban:before{content:"\e03b"}.socicon-meetup{color:#e2373c;background-color:#e2373c}.socicon-meetup:before{content:"\e03c"}.socicon-playstation{color:#000;background-color:#000}.socicon-playstation:before{content:"\e03d"}.socicon-android{color:#8ec047;background-color:#8ec047}.socicon-android:before{content:"\e03e"}.socicon-snapchat{color:#fffa37;background-color:#fffa37}.socicon-snapchat:before{content:"\e03f"}.socicon-twitter{color:#4da7de;background-color:#4da7de}.socicon-twitter:before{content:"\e040"}.socicon-facebook{color:#3e5b98;background-color:#3e5b98}.socicon-facebook:before{content:"\e041"}.socicon-googleplus{color:#dd4b39;background-color:#dd4b39}.socicon-googleplus:before{content:"\e042"}.socicon-pinterest{color:#c92619;background-color:#c92619}.socicon-pinterest:before{content:"\e043"}.socicon-foursquare{color:#f94877;background-color:#f94877}.socicon-foursquare:before{content:"\e044"}.socicon-yahoo{color:#6e2a85;background-color:#6e2a85}.socicon-yahoo:before{content:"\e045"}.socicon-skype{color:#28abe3;background-color:#28abe3}.socicon-skype:before{content:"\e046"}.socicon-yelp{color:#c83218;background-color:#c83218}.socicon-yelp:before{content:"\e047"}.socicon-feedburner{color:#fc0;background-color:#fc0}.socicon-feedburner:before{content:"\e048"}.socicon-linkedin{color:#3371b7;background-color:#3371b7}.socicon-linkedin:before{content:"\e049"}.socicon-viadeo{color:#e4a000;background-color:#e4a000}.socicon-viadeo:before{content:"\e04a"}.socicon-xing{color:#005a60;background-color:#005a60}.socicon-xing:before{content:"\e04b"}.socicon-myspace{color:#323232;background-color:#323232}.socicon-myspace:before{content:"\e04c"}.socicon-soundcloud{color:#fe3801;background-color:#fe3801}.socicon-soundcloud:before{content:"\e04d"}.socicon-spotify{color:#7bb342;background-color:#7bb342}.socicon-spotify:before{content:"\e04e"}.socicon-grooveshark{color:#000;background-color:#000}.socicon-grooveshark:before{content:"\e04f"}.socicon-lastfm{color:#d41316;background-color:#d41316}.socicon-lastfm:before{content:"\e050"}.socicon-youtube{color:#e02a20;background-color:#e02a20}.socicon-youtube:before{content:"\e051"}.socicon-vimeo{color:#51b5e7;background-color:#51b5e7}.socicon-vimeo:before{content:"\e052"}.socicon-dailymotion{color:#004e72;background-color:#004e72}.socicon-dailymotion:before{content:"\e053"}.socicon-vine{color:#00b389;background-color:#00b389}.socicon-vine:before{content:"\e054"}.socicon-flickr{color:#1e1e1b;background-color:#1e1e1b}.socicon-flickr:before{content:"\e055"}.socicon-500px{color:#58a9de;background-color:#58a9de}.socicon-500px:before{content:"\e056"}.socicon-instagram{color:#9c7c6e;background-color:#9c7c6e}.socicon-instagram:before{content:"\e057"}.socicon-wordpress{color:#464646;background-color:#464646}.socicon-wordpress:before{content:"\e058"}.socicon-tumblr{color:#45556c;background-color:#45556c}.socicon-tumblr:before{content:"\e059"}.socicon-twitch{color:#6441a5;background-color:#6441a5}.socicon-twitch:before{content:"\e05a"}.socicon-8tracks{color:#122c4b;background-color:#122c4b}.socicon-8tracks:before{content:"\e05b"}.socicon-amazon{color:#f90;background-color:#f90}.socicon-amazon:before{content:"\e05c"}.socicon-icq{color:#7ebd00;background-color:#7ebd00}.socicon-icq:before{content:"\e05d"}.socicon-smugmug{color:#acfd32;background-color:#acfd32}.socicon-smugmug:before{content:"\e05e"}.socicon-ravelry{color:#b6014c;background-color:#b6014c}.socicon-ravelry:before{content:"\e05f"}.socicon-weibo{color:#e31c34;background-color:#e31c34}.socicon-weibo:before{content:"\e060"}.socicon-baidu{color:#2629d9;background-color:#2629d9}.socicon-baidu:before{content:"\e061"}.socicon-angellist{color:#000;background-color:#000}.socicon-angellist:before{content:"\e062"}.socicon-ebay{color:#333;background-color:#333}.socicon-ebay:before{content:"\e063"}.socicon-imdb{color:#e8ba00;background-color:#e8ba00}.socicon-imdb:before{content:"\e064"}.socicon-stayfriends{color:#f08a1c;background-color:#f08a1c}.socicon-stayfriends:before{content:"\e065"}.socicon-residentadvisor{color:#b3be1b;background-color:#b3be1b}.socicon-residentadvisor:before{content:"\e066"}.socicon-google{color:#4285f4;background-color:#4285f4}.socicon-google:before{content:"\e067"}.socicon-yandex{color:red;background-color:red}.socicon-yandex:before{content:"\e068"}.socicon-sharethis{color:#01bf01;background-color:#01bf01}.socicon-sharethis:before{content:"\e069"}.socicon-bandcamp{color:#619aa9;background-color:#619aa9}.socicon-bandcamp:before{content:"\e06a"}.socicon-itunes{color:#ff5e51;background-color:#ff5e51}.socicon-itunes:before{content:"\e06b"}.socicon-deezer{color:#32323d;background-color:#32323d}.socicon-deezer:before{content:"\e06c"}.socicon-medium{color:#000;background-color:#000}.socicon-medium:before{content:"\e06d"}.socicon-telegram{color:#08c;background-color:#08c}.socicon-telegram:before{content:"\e06e"}.socicon-openid{color:#f78c40;background-color:#f78c40}.socicon-openid:before{content:"\e06f"}.socicon-amplement{color:#0996c3;background-color:#0996c3}.socicon-amplement:before{content:"\e070"}.socicon-viber{color:#7b519d;background-color:#7b519d}.socicon-quora,.socicon-zomato{color:#cb202d;background-color:#cb202d}.socicon-viber:before{content:"\e071"}.socicon-zomato:before{content:"\e072"}.socicon-quora:before{content:"\e073"}.socicon-draugiem{color:#ffa32b;background-color:#ffa32b}.socicon-draugiem:before{content:"\e074"}.socicon-endomodo{color:#86ad00;background-color:#86ad00}.socicon-endomodo:before{content:"\e075"}.socicon-filmweb{color:#ffc404;background-color:#ffc404}.socicon-filmweb:before{content:"\e076"}.socicon-stackexchange{color:#2f2f2f;background-color:#2f2f2f}.socicon-stackexchange:before{content:"\e077"}.socicon-wykop{color:#328efe;background-color:#328efe}.socicon-wykop:before{content:"\e078"}.socicon-teamspeak{color:#465674;background-color:#465674}.socicon-teamspeak:before{content:"\e079"}.socicon-teamviewer{color:#168ef4;background-color:#168ef4}.socicon-teamviewer:before{content:"\e07a"}.socicon-ventrilo{color:#77808a;background-color:#77808a}.socicon-ventrilo:before{content:"\e07b"}.socicon-younow{color:#61c03e;background-color:#61c03e}.socicon-younow:before{content:"\e07c"}.socicon-raidcall{color:#073558;background-color:#073558}.socicon-raidcall:before{content:"\e07d"}.socicon-mumble{color:#5ab5d1;background-color:#5ab5d1}.socicon-mumble:before{content:"\e07e"}.socicon-bebee{color:#f28f16;background-color:#f28f16}.socicon-bebee:before{content:"\e07f"}.socicon-hitbox{color:#9c0;background-color:#9c0}.socicon-hitbox:before{content:"\e080"}.socicon-reverbnation{color:#000;background-color:#000}.socicon-reverbnation:before{content:"\e081"}.socicon-formulr{color:#ff5a60;background-color:#ff5a60}.socicon-formulr:before{content:"\e082"}.social-icons-field-handle{float:left;cursor:move;margin-top:12px;margin-left:-100%}.social-icons-field-handle.dashicons{width:30px;margin-top:18px}.social-icons-field-handle.socicon{color:#fff;padding:6px}.social-icons-field-remove{width:30px;float:left;display:block;text-align:right;margin-top:20px;margin-left:-30px;text-decoration:none}.social-icons-field-remove:active,.social-icons-field-remove:focus{outline:0;box-shadow:none}.social-icons-field-remove span.dashicons:hover{color:#a00}.social-icons-add-button{margin-bottom:10px}.wp-customizer .social-icons-add-button{margin-top:1em}ul.social-icons-list{border:1px solid #ddd}ul.social-icons-list li.social-icons-field{margin:-1px;padding:10px;display:block;border:1px solid #ddd}ul.social-icons-list li.social-icons-field::after{clear:both;content:"";display:table}ul.social-icons-list li.social-icons-field:last-child{border-bottom:none}ul.social-icons-list li.social-icons-field .social-icons-wrap{float:left;width:100%}ul.social-icons-list li.social-icons-field .social-icons-wrap .social-icons-inputs{margin-left:40px;margin-right:30px}ul.social-icons-list li.social-icons-field .social-icons-wrap .social-icons-inputs input.social-icons-field-label[type=text]{margin-top:2px}ul.social-icons-list li.social-icons-field.ui-sortable-helper{border:1px dashed #999}.hide-icons-label .social-icons-field-label{display:none}.hide-icons-label .social-icons-field-handle{margin-top:-4px}.hide-icons-label .social-icons-field-handle.dashicons,.hide-icons-label .social-icons-field-remove{margin-top:3px}
assets/fonts/socicon.eot CHANGED
Binary file
assets/fonts/socicon.svg CHANGED
@@ -94,7 +94,6 @@
94
  <glyph glyph-name="vine" unicode="&#57428;" d="M365 435c-22 0-36-20-36-58 0-79 50-124 114-124 12 0 23 1 38 5l0-61c-20-5-43-7-61-7-43-91-121-168-146-183-17-9-32-10-50 1-32 19-152 120-192 427l87 0c22-189 75-281 134-352 33 32 64 75 88 125-58 29-93 94-93 170 0 76 44 134 119 134 73 0 113-46 113-124 0-29-6-62-17-88-55-11-75 24-75 24 4 13 10 36 10 57 0 36-13 54-33 54z"/>
95
  <glyph glyph-name="flickr" unicode="&#57429;" d="M116 140c-64 0-116 52-116 116 0 64 52 116 116 116 64 0 116-52 116-116 0-64-52-116-116-116z m280 0c-64 0-116 52-116 116 0 64 52 116 116 116 64 0 116-52 116-116 0-64-52-116-116-116z"/>
96
  <glyph glyph-name="500px" unicode="&#57430;" d="M338 190c-6-6-10-11-16-16-8-8-15-15-24-21-21-16-46-20-72-15-25 5-42 21-53 44-1 1-1 2-2 3 0 0 0 1 0 1-4-6-7-11-10-16-17-23-40-35-69-35-16-1-32 1-47 8-31 13-44 39-45 67 16 0 32 0 48 0 1-2 1-4 1-6 4-14 11-25 26-28 16-4 30-1 42 11 14 16 16 43 4 61-12 18-40 23-59 10-2-2-5-4-7-7-3-5-8-6-13-5-11 0-23 0-35 0 8 44 16 87 24 131 44 0 89 0 133 0 0-13 0-26 0-39-2 0-3 0-5 0-30 0-59 0-89 0-3 0-4-1-5-4-3-16-6-32-8-47-1-1-1-2 0-3 18 16 39 20 62 16 23-4 39-19 51-40 1 3 2 5 3 7 16 32 47 48 82 43 22-3 40-12 56-27 9-9 18-18 27-28 1 1 2 2 3 3 9 10 18 20 28 29 13 12 28 21 46 23 33 5 71-6 88-43 13-30 12-60-3-89-13-27-36-40-66-42-23-1-43 6-61 20-11 9-20 18-29 27-2 2-4 4-6 7z m-92-6c10 0 20 3 29 8 12 7 22 18 33 28 1 2 2 3 0 4-8 8-16 16-25 23-7 7-15 12-24 14-23 7-43-3-49-25-1-4-1-7-1-10-2-25 14-42 37-42z m119 39c10-10 19-18 28-26 11-9 23-13 37-13 19 0 31 10 35 28 1 6 1 13 1 18-3 22-20 35-42 34-13-2-23-8-32-16-9-8-18-16-27-25z"/>
97
- <glyph glyph-name="instagram" unicode="&#57431;" d="M511 459c-3 30-28 53-59 53-131 0-262 0-393 0-4 0-7 0-11-1-29-6-48-30-48-59 0-65 0-131 0-196 0-65 0-130 0-196 0-3 0-6 0-10 4-28 29-50 58-50 132 0 263 0 395 0 3 0 5 0 7 0 29 4 51 29 51 58 0 132 0 264 0 396 0 1 0 3 0 5z m-157-26c0 11 9 20 20 20 19 0 39 0 58 0 12 0 20-9 20-20 1-20 1-39 0-59 0-11-8-20-19-20-10 0-20 0-30 0-10 0-19 0-29 0-11 0-20 9-20 20 0 20 0 39 0 59z m-98-79c54 0 98-44 98-98 0-54-44-98-98-98-55 0-99 44-99 98 0 54 44 98 99 98z m195-61c0-71 1-142 1-214 0-11-8-20-20-20-118 0-237 0-354 0-12 0-22 9-22 21 0 71 0 142 0 213 0 1 0-1 0 4 16 0 32 0 47 0-10-41-5-78 13-114 14-27 35-48 61-63 52-30 116-28 166 5 28 19 48 44 60 76 12 31 13 60 5 96 15 0 27 0 43 0 0-5 0-3 0-4z"/>
98
  <glyph glyph-name="wordpress" unicode="&#57432;" d="M256 512c-141 0-256-115-256-256 0-141 115-256 256-256 141 0 256 115 256 256 0 141-115 256-256 256z m-230-256c0 33 7 65 20 94l110-301c-77 37-130 116-130 207z m230-230c-23 0-44 3-65 9l69 201 71-194c0-1 1-2 1-3-23-9-49-13-76-13z m32 338c14 1 26 2 26 2 12 2 11 20-1 19 0 0-38-3-62-3-22 0-60 3-60 3-13 1-14-18-2-19 0 0 12-1 24-2l36-98-50-151-84 249c14 1 26 2 26 2 13 2 11 20-1 19 0 0-37-3-61-3-5 0-10 0-15 0 41 63 112 104 192 104 60 0 114-23 155-60-1 0-2 0-3 0-22 0-38-20-38-41 0-19 11-35 22-54 9-15 19-35 19-63 0-20-7-43-17-75l-23-76z m84-307l70 203c13 33 18 59 18 83 0 8-1 16-2 23 18-32 28-70 28-110 0-85-46-159-114-199z"/>
99
  <glyph glyph-name="tumblr" unicode="&#57433;" d="M98 302l0 73c20 6 38 16 52 28 14 12 26 27 34 44 9 17 15 39 18 65l73 0 0-129 122 0 0-81-122 0 0-131c0-30 2-49 5-57 3-9 9-15 17-20 12-7 25-11 39-11 26 0 52 9 78 26l0-81c-22-10-42-18-60-22-17-4-37-6-57-6-24 0-44 3-62 9-18 6-34 14-46 25-13 11-22 23-27 35-5 12-7 30-7 54l0 179z"/>
100
  <glyph glyph-name="twitch" unicode="&#57434;" d="M367 67l-100 0-67-67-66 0 0 67-123 0 0 356 34 89 456 0 0-312z m89 156l0 245-367 0 0-323 100 0 0-67 67 67 122 0z m-122 155l0-133 44 0 0 133z m-123-133l45 0 0 133-45 0z"/>
@@ -116,8 +115,27 @@
116
  <glyph glyph-name="bandcamp" unicode="&#57450;" d="M0 180l190 0 89 155-190 0z m378 98c-4 6-9 10-17 13-6 3-14 4-23 4-3 0-7 0-10-1-3-1-6-2-10-3-3-2-5-4-8-6-2-2-4-4-6-7l0 0 0 57-25 0 0-155 23 0 0 16 1 0c2-4 4-7 7-10 3-2 6-4 9-5 4-2 8-3 12-3 4-1 7-1 12-1 8 0 15 2 22 5 6 3 11 8 15 13 4 6 7 12 9 19 2 7 3 14 3 22 0 8-1 16-3 23-3 7-7 13-11 19z m-13-56c-1-5-4-9-6-13-3-4-6-7-10-9-4-3-9-4-14-4-5 0-10 1-13 3-5 2-8 5-11 8-2 4-5 8-6 13-1 4-2 10-2 16 0 11 3 21 8 28 5 7 14 11 24 11 5 0 10-1 14-4 4-2 7-5 10-8 2-4 5-8 6-13 2-5 2-10 2-15-1-4-1-9-2-13z m113-19c-5-4-11-6-19-6-5 0-10 1-14 3-3 2-7 5-9 9-2 3-4 8-5 12-1 5-1 9-1 14 0 9 1 15 3 21 2 5 4 9 7 12 3 3 7 5 11 6 3 1 7 2 10 2 7 0 13-2 17-5 5-4 8-9 9-16l25 0c-1 7-3 13-5 18-3 5-7 9-11 13-5 3-10 5-16 7-6 2-13 3-19 3-9 0-18-2-25-5-7-3-13-7-17-12-5-6-8-12-11-20-2-7-4-15-4-23 0-9 2-16 4-24 3-7 6-13 11-18 4-5 10-9 17-12 7-3 15-5 24-5 15 0 26 4 35 12 9 8 14 19 17 34l-25 0c-1-9-4-15-9-20z"/>
117
  <glyph glyph-name="itunes" unicode="&#57451;" d="M458 489c0 7-1 15-7 20-8 6-19 2-28 0-43-8-87-17-130-26-22-5-44-9-66-13-11-3-22-5-32-7-8-2-15-5-20-12-5-8-3-16-3-25 0-11 0-23 0-34 0-23 0-45 0-68 0-45 0-64 0-109l0-1c0-12 0-23 0-35 0-10 2-21 0-32-3-18-22-19-37-23-18-4-39-7-55-18-26-17-33-53-16-79 19-30 59-32 89-21 17 6 32 17 41 33 8 17 8 38 8 57 0 45 0 90 0 136l-1 68c0 10-1 21 0 31 2 17 20 16 33 19 44 9 89 18 133 27 11 2 22 5 33 7 7 2 16 5 22 1 7-4 6-14 6-20 0-11 0-22 0-34 0-22 0-44 0-66 0-12 0-23 0-35 0-10 1-21 0-31-4-19-23-20-38-23-18-4-39-8-54-18-26-18-33-54-17-80 19-29 59-32 90-21 16 6 32 17 40 33 9 18 8 38 8 57 0 46 0 91 0 136 0 46 0 91 0 136 0 24 1 47 1 70z"/>
118
  <glyph glyph-name="deezer" unicode="&#57452;" d="M0 141l93 0 0-28-93 0z m0 37l93 0 0-28-93 0z m0 37l93 0 0-28-93 0z m0 37l93 0 0-28-93 0z m0 37l93 0 0-28-93 0z m104-148l94 0 0-28-94 0z m0 37l94 0 0-28-94 0z m0 37l94 0 0-28-94 0z m105-74l94 0 0-28-94 0z m0 37l94 0 0-28-94 0z m0 37l94 0 0-28-94 0z m0 37l94 0 0-28-94 0z m0 37l94 0 0-28-94 0z m0 36l94 0 0-28-94 0z m0 37l94 0 0-28-94 0z m105-221l93 0 0-28-93 0z m0 37l93 0 0-28-93 0z m0 37l93 0 0-28-93 0z m0 37l93 0 0-28-93 0z m0 37l93 0 0-28-93 0z m105-148l93 0 0-28-93 0z m0 37l93 0 0-28-93 0z m0 37l93 0 0-28-93 0z m0 37l93 0 0-28-93 0z m0 37l93 0 0-28-93 0z m0 36l93 0 0-28-93 0z m0 37l93 0 0-28-93 0z m0 37l93 0 0-28-93 0z"/>
119
- <glyph glyph-name="medium" unicode="&#57453;" d="M270 97c5 0 8 2 10 6l112 209c14 25 27 52 33 65 1 3 4 2 4 0l0-370c0-4 2-7 6-7l70 0c4 0 6 3 6 7l0 498c0 4-2 7-6 7l-91 0c-5 0-9-3-12-7l-145-284c-1-2-2-2-3 0l-144 284c-3 4-6 7-12 7l-91 0c-4 0-7-3-7-7l0-498c0-4 3-7 7-7l69 0c4 0 7 3 7 7l0 370c0 2 3 3 3 0 7-13 20-40 33-65l112-209c3-4 6-6 10-6z"/>
120
  <glyph glyph-name="telegram" unicode="&#57454;" d="M475 472l-455-178c0 0-22-7-20-21 2-14 19-20 19-20l113-38c9-29 36-122 41-140 6-20 10-24 13-25 1 0 2 0 2 0 8-1 14 4 14 4l72 71 114-87c31-13 43 15 43 15l81 408c0 27-37 11-37 11z m-57-93c-8-7-197-180-216-198l-11-94c-1-9-9-9-13-2-8 26-27 95-37 126l268 178c0 0 15 10 15 0 0 0 0-4-6-10z"/>
121
  <glyph glyph-name="openid" unicode="&#57455;" d="M232 68c-88 11-155 59-155 117 0 55 60 101 142 115l0 49c-125-15-219-82-219-164 0-85 101-154 232-166l78 36 0 438-78-38z m280 148l-11 111-40-22c-37 22-84 38-137 45l0-49c30-6 57-15 79-29l-42-23z"/>
122
  <glyph glyph-name="amplement" unicode="&#57456;" d="M253 310c23 3 40 7 51 12 18 7 27 20 27 35 0 20-7 34-21 41-14 8-35 12-62 12-30 0-51-8-64-22-9-11-15-26-18-45l-122 0c2 43 14 77 35 104 34 43 91 65 173 65 54 0 101-11 143-32 41-21 62-61 62-119l0-223c0-15 0-34 1-56 1-16 3-28 7-34 5-6 11-11 19-15l0-18-138 0c-4 10-7 19-8 28-2 9-3 18-4 29-17-19-38-35-61-48-27-16-58-24-92-24-44 0-81 12-110 37-29 25-43 61-43 107 0 60 23 103 69 130 26 14 63 25 112 31z m78-59c-8-5-17-9-25-12-8-3-19-7-34-9l-29-5c-27-5-46-11-58-18-20-11-30-29-30-53 0-22 6-38 18-48 12-9 27-14 45-14 27 0 53 8 76 24 24 16 36 45 37 88z"/>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
123
  </font></defs></svg>
94
  <glyph glyph-name="vine" unicode="&#57428;" d="M365 435c-22 0-36-20-36-58 0-79 50-124 114-124 12 0 23 1 38 5l0-61c-20-5-43-7-61-7-43-91-121-168-146-183-17-9-32-10-50 1-32 19-152 120-192 427l87 0c22-189 75-281 134-352 33 32 64 75 88 125-58 29-93 94-93 170 0 76 44 134 119 134 73 0 113-46 113-124 0-29-6-62-17-88-55-11-75 24-75 24 4 13 10 36 10 57 0 36-13 54-33 54z"/>
95
  <glyph glyph-name="flickr" unicode="&#57429;" d="M116 140c-64 0-116 52-116 116 0 64 52 116 116 116 64 0 116-52 116-116 0-64-52-116-116-116z m280 0c-64 0-116 52-116 116 0 64 52 116 116 116 64 0 116-52 116-116 0-64-52-116-116-116z"/>
96
  <glyph glyph-name="500px" unicode="&#57430;" d="M338 190c-6-6-10-11-16-16-8-8-15-15-24-21-21-16-46-20-72-15-25 5-42 21-53 44-1 1-1 2-2 3 0 0 0 1 0 1-4-6-7-11-10-16-17-23-40-35-69-35-16-1-32 1-47 8-31 13-44 39-45 67 16 0 32 0 48 0 1-2 1-4 1-6 4-14 11-25 26-28 16-4 30-1 42 11 14 16 16 43 4 61-12 18-40 23-59 10-2-2-5-4-7-7-3-5-8-6-13-5-11 0-23 0-35 0 8 44 16 87 24 131 44 0 89 0 133 0 0-13 0-26 0-39-2 0-3 0-5 0-30 0-59 0-89 0-3 0-4-1-5-4-3-16-6-32-8-47-1-1-1-2 0-3 18 16 39 20 62 16 23-4 39-19 51-40 1 3 2 5 3 7 16 32 47 48 82 43 22-3 40-12 56-27 9-9 18-18 27-28 1 1 2 2 3 3 9 10 18 20 28 29 13 12 28 21 46 23 33 5 71-6 88-43 13-30 12-60-3-89-13-27-36-40-66-42-23-1-43 6-61 20-11 9-20 18-29 27-2 2-4 4-6 7z m-92-6c10 0 20 3 29 8 12 7 22 18 33 28 1 2 2 3 0 4-8 8-16 16-25 23-7 7-15 12-24 14-23 7-43-3-49-25-1-4-1-7-1-10-2-25 14-42 37-42z m119 39c10-10 19-18 28-26 11-9 23-13 37-13 19 0 31 10 35 28 1 6 1 13 1 18-3 22-20 35-42 34-13-2-23-8-32-16-9-8-18-16-27-25z"/>
 
97
  <glyph glyph-name="wordpress" unicode="&#57432;" d="M256 512c-141 0-256-115-256-256 0-141 115-256 256-256 141 0 256 115 256 256 0 141-115 256-256 256z m-230-256c0 33 7 65 20 94l110-301c-77 37-130 116-130 207z m230-230c-23 0-44 3-65 9l69 201 71-194c0-1 1-2 1-3-23-9-49-13-76-13z m32 338c14 1 26 2 26 2 12 2 11 20-1 19 0 0-38-3-62-3-22 0-60 3-60 3-13 1-14-18-2-19 0 0 12-1 24-2l36-98-50-151-84 249c14 1 26 2 26 2 13 2 11 20-1 19 0 0-37-3-61-3-5 0-10 0-15 0 41 63 112 104 192 104 60 0 114-23 155-60-1 0-2 0-3 0-22 0-38-20-38-41 0-19 11-35 22-54 9-15 19-35 19-63 0-20-7-43-17-75l-23-76z m84-307l70 203c13 33 18 59 18 83 0 8-1 16-2 23 18-32 28-70 28-110 0-85-46-159-114-199z"/>
98
  <glyph glyph-name="tumblr" unicode="&#57433;" d="M98 302l0 73c20 6 38 16 52 28 14 12 26 27 34 44 9 17 15 39 18 65l73 0 0-129 122 0 0-81-122 0 0-131c0-30 2-49 5-57 3-9 9-15 17-20 12-7 25-11 39-11 26 0 52 9 78 26l0-81c-22-10-42-18-60-22-17-4-37-6-57-6-24 0-44 3-62 9-18 6-34 14-46 25-13 11-22 23-27 35-5 12-7 30-7 54l0 179z"/>
99
  <glyph glyph-name="twitch" unicode="&#57434;" d="M367 67l-100 0-67-67-66 0 0 67-123 0 0 356 34 89 456 0 0-312z m89 156l0 245-367 0 0-323 100 0 0-67 67 67 122 0z m-122 155l0-133 44 0 0 133z m-123-133l45 0 0 133-45 0z"/>
115
  <glyph glyph-name="bandcamp" unicode="&#57450;" d="M0 180l190 0 89 155-190 0z m378 98c-4 6-9 10-17 13-6 3-14 4-23 4-3 0-7 0-10-1-3-1-6-2-10-3-3-2-5-4-8-6-2-2-4-4-6-7l0 0 0 57-25 0 0-155 23 0 0 16 1 0c2-4 4-7 7-10 3-2 6-4 9-5 4-2 8-3 12-3 4-1 7-1 12-1 8 0 15 2 22 5 6 3 11 8 15 13 4 6 7 12 9 19 2 7 3 14 3 22 0 8-1 16-3 23-3 7-7 13-11 19z m-13-56c-1-5-4-9-6-13-3-4-6-7-10-9-4-3-9-4-14-4-5 0-10 1-13 3-5 2-8 5-11 8-2 4-5 8-6 13-1 4-2 10-2 16 0 11 3 21 8 28 5 7 14 11 24 11 5 0 10-1 14-4 4-2 7-5 10-8 2-4 5-8 6-13 2-5 2-10 2-15-1-4-1-9-2-13z m113-19c-5-4-11-6-19-6-5 0-10 1-14 3-3 2-7 5-9 9-2 3-4 8-5 12-1 5-1 9-1 14 0 9 1 15 3 21 2 5 4 9 7 12 3 3 7 5 11 6 3 1 7 2 10 2 7 0 13-2 17-5 5-4 8-9 9-16l25 0c-1 7-3 13-5 18-3 5-7 9-11 13-5 3-10 5-16 7-6 2-13 3-19 3-9 0-18-2-25-5-7-3-13-7-17-12-5-6-8-12-11-20-2-7-4-15-4-23 0-9 2-16 4-24 3-7 6-13 11-18 4-5 10-9 17-12 7-3 15-5 24-5 15 0 26 4 35 12 9 8 14 19 17 34l-25 0c-1-9-4-15-9-20z"/>
116
  <glyph glyph-name="itunes" unicode="&#57451;" d="M458 489c0 7-1 15-7 20-8 6-19 2-28 0-43-8-87-17-130-26-22-5-44-9-66-13-11-3-22-5-32-7-8-2-15-5-20-12-5-8-3-16-3-25 0-11 0-23 0-34 0-23 0-45 0-68 0-45 0-64 0-109l0-1c0-12 0-23 0-35 0-10 2-21 0-32-3-18-22-19-37-23-18-4-39-7-55-18-26-17-33-53-16-79 19-30 59-32 89-21 17 6 32 17 41 33 8 17 8 38 8 57 0 45 0 90 0 136l-1 68c0 10-1 21 0 31 2 17 20 16 33 19 44 9 89 18 133 27 11 2 22 5 33 7 7 2 16 5 22 1 7-4 6-14 6-20 0-11 0-22 0-34 0-22 0-44 0-66 0-12 0-23 0-35 0-10 1-21 0-31-4-19-23-20-38-23-18-4-39-8-54-18-26-18-33-54-17-80 19-29 59-32 90-21 16 6 32 17 40 33 9 18 8 38 8 57 0 46 0 91 0 136 0 46 0 91 0 136 0 24 1 47 1 70z"/>
117
  <glyph glyph-name="deezer" unicode="&#57452;" d="M0 141l93 0 0-28-93 0z m0 37l93 0 0-28-93 0z m0 37l93 0 0-28-93 0z m0 37l93 0 0-28-93 0z m0 37l93 0 0-28-93 0z m104-148l94 0 0-28-94 0z m0 37l94 0 0-28-94 0z m0 37l94 0 0-28-94 0z m105-74l94 0 0-28-94 0z m0 37l94 0 0-28-94 0z m0 37l94 0 0-28-94 0z m0 37l94 0 0-28-94 0z m0 37l94 0 0-28-94 0z m0 36l94 0 0-28-94 0z m0 37l94 0 0-28-94 0z m105-221l93 0 0-28-93 0z m0 37l93 0 0-28-93 0z m0 37l93 0 0-28-93 0z m0 37l93 0 0-28-93 0z m0 37l93 0 0-28-93 0z m105-148l93 0 0-28-93 0z m0 37l93 0 0-28-93 0z m0 37l93 0 0-28-93 0z m0 37l93 0 0-28-93 0z m0 37l93 0 0-28-93 0z m0 36l93 0 0-28-93 0z m0 37l93 0 0-28-93 0z m0 37l93 0 0-28-93 0z"/>
 
118
  <glyph glyph-name="telegram" unicode="&#57454;" d="M475 472l-455-178c0 0-22-7-20-21 2-14 19-20 19-20l113-38c9-29 36-122 41-140 6-20 10-24 13-25 1 0 2 0 2 0 8-1 14 4 14 4l72 71 114-87c31-13 43 15 43 15l81 408c0 27-37 11-37 11z m-57-93c-8-7-197-180-216-198l-11-94c-1-9-9-9-13-2-8 26-27 95-37 126l268 178c0 0 15 10 15 0 0 0 0-4-6-10z"/>
119
  <glyph glyph-name="openid" unicode="&#57455;" d="M232 68c-88 11-155 59-155 117 0 55 60 101 142 115l0 49c-125-15-219-82-219-164 0-85 101-154 232-166l78 36 0 438-78-38z m280 148l-11 111-40-22c-37 22-84 38-137 45l0-49c30-6 57-15 79-29l-42-23z"/>
120
  <glyph glyph-name="amplement" unicode="&#57456;" d="M253 310c23 3 40 7 51 12 18 7 27 20 27 35 0 20-7 34-21 41-14 8-35 12-62 12-30 0-51-8-64-22-9-11-15-26-18-45l-122 0c2 43 14 77 35 104 34 43 91 65 173 65 54 0 101-11 143-32 41-21 62-61 62-119l0-223c0-15 0-34 1-56 1-16 3-28 7-34 5-6 11-11 19-15l0-18-138 0c-4 10-7 19-8 28-2 9-3 18-4 29-17-19-38-35-61-48-27-16-58-24-92-24-44 0-81 12-110 37-29 25-43 61-43 107 0 60 23 103 69 130 26 14 63 25 112 31z m78-59c-8-5-17-9-25-12-8-3-19-7-34-9l-29-5c-27-5-46-11-58-18-20-11-30-29-30-53 0-22 6-38 18-48 12-9 27-14 45-14 27 0 53 8 76 24 24 16 36 45 37 88z"/>
121
+ <glyph glyph-name="viber" unicode="&#57457;" d="M295 383c-6 1-12-4-12-11-1-6 4-12 11-13 40-2 59-22 61-64 1-6 6-11 13-11 0 0 0 0 0 0 7 0 12 6 12 12-3 55-32 84-85 87z m135-120c6 0 12 5 12 11 1 48-13 88-43 120-29 32-70 50-122 55-7 0-12-5-13-12 0-6 5-12 11-13 47-3 81-18 106-46 26-27 38-61 37-103 0-6 5-12 12-12z m3 178c-47 46-107 70-178 71-7 0-12-6-12-12 0-7 5-13 12-13 64 0 119-22 162-64 43-42 65-99 65-174 0-6 6-12 13-12 6 0 12 6 12 12-2 81-26 146-74 192z m45-330c0 0-28 23-42 33-13 10-33 22-44 29-21 11-42 4-50-8l-18-22c-10-11-27-10-27-10-125 32-158 159-158 159 0 0-2 17 9 26l23 18c11 9 18 30 7 50-6 11-19 32-28 45-11 13-34 41-34 41-11 13-27 16-45 7 0 0 0 0 0 0-17-9-32-21-46-37 0 0 0 0 0-1-11-12-17-25-19-38 0-1 0-3 0-5 0-6 0-11 2-17l1 0c5-19 19-51 48-105 19-34 38-63 58-87 10-13 21-26 35-39 0-1 1-2 1-2 1-1 1-1 2-2 0 0 1-1 1-1 1-1 1-1 2-2 13-13 26-24 39-34 24-20 53-39 88-58 53-30 85-43 104-48l1-1c5-1 10-3 16-3 2 0 4 0 6 1 12 2 25 8 37 18 0 0 0 0 1 1 16 14 28 30 37 46 0 0 0 0 0 1 9 17 6 33-7 45z"/>
122
+ <glyph glyph-name="zomato" unicode="&#57458;" d="M407 356c0 0-86 32-151 14-66-18-93-60-93-60 0 0-30-33-52-36-22-3-39-4-111 0l0-35c72 3 89 2 111-1 22-2 52-36 52-36 0 0 27-42 93-60 66-18 152 14 152 14 102 37 104 97 104 97l0 6c0 0-2 60-105 97z m-100-19c-32-1-53-10-67-18 0 0 0-1 0-1-1 0-2 0-3 0-4 0-6 3-6 6 0 3 1 5 3 6 9 4 18 7 30 10 10 4 23 5 37 5 31 0 63-8 80-13 0 0-37 7-74 5z"/>
123
+ <glyph glyph-name="quora" unicode="&#57459;" d="M272 113c-18 34-39 70-79 70-8 0-16-2-23-5l-14 28c17 14 44 25 79 25 54 0 82-26 104-59 14 29 20 67 20 115 0 119-37 180-125 180-86 0-122-61-122-180 0-119 36-179 122-179 14 0 26 2 38 5z m21-42c-19-5-39-8-59-8-114 0-226 92-226 224 0 134 112 225 226 225 117 0 227-91 227-225 0-75-35-135-85-174 16-25 33-41 57-41 25 0 35 20 38 35l33 0c2-20-8-106-102-106-57-1-87 32-109 70z"/>
124
+ <glyph glyph-name="draugiem" unicode="&#57460;" d="M366 348c91-1 145-58 84-135-28-35-75-71-138-93-3-1-6-2-9-3-7-2-12-4-18-6-14-4-26-7-40-10-14-2-27-5-40-6-9-1-18-1-26-1-59-2-103 14-117 48-17 41 18 98 88 142-52-21-146-70-150-140l0-9c1-7 2-14 4-22 15-47 86-69 175-61 9 0 18 1 27 3 13 2 26 4 40 7 13 4 26 7 40 11 3 1 6 2 8 3 7 2 12 4 18 6 78 29 135 66 169 109 20 25 29 48 32 69l0 15c-6 51-66 81-147 73m-60 25c2 0 4 1 6 1 13 3 19 17 20 34 0 17-6 31-20 33-1 1-3 1-4 1-12 0-19-7-23-17-2-5-3-11-3-17 0-8 1-15 3-21 4-8 10-14 21-14z m0-5c-6 0-11-1-15-2l1-1 2-5 1-4 2-4 1-4 0-5 1-5 0-9-1-4-1-10 0-4 0-5-1-4-1-5-1-5-1-4-2-8-1-4-1-3-1-4 0-2-1-2-1-5 0-3-1-3 0-1-1-6 0-4-1-3 0-4-1-4 0-3-1-4 0-3-1-4 0-3c1-11 1-20 2-25 0-6 1-10 3-13 3-4 7-5 14-6 6 1 10 2 13 5 3 2 4 7 6 14 3 16 9 65 15 87 8 31 28 87-21 91-2 0-4 0-6 0z m-61 15c20 0 29 18 29 40 0 21-9 39-28 39l-1 0c-19 0-28-18-28-39 0-22 9-40 28-40z m-39-91c1-7 3-14 5-20 6-25 12-82 14-99 2-18 8-21 21-23 12 1 18 5 20 23 2 17 8 74 14 99 2 6 4 13 5 20 6 23 10 50 0 67-6 11-18 18-40 18-21 0-34-7-40-18-9-17-5-44 1-67z m-27 82c2 0 4 0 6 0 11 0 17 5 21 14 2 5 3 12 3 20-1 6-2 12-3 17-4 11-12 17-23 17-1 0-2 0-3 0-15-2-21-17-20-34 0-17 6-31 19-34z m-6-185c1-7 3-11 6-14 3-3 7-5 13-5 7 0 11 2 14 6 1 3 3 7 3 13 1 5 1 14 2 25l0 0 0 4-1 3 0 4-1 4 0 3-1 4 0 4-1 3 0 4-1 3 0 3 0 0-1 3 0 3-1 3 0 2-1 3 0 2-1 3-1 4-1 5-2 8-1 4-1 4-1 5-1 4-1 5 0 4-2 10 0 13 1 5 1 5 1 4 1 4 2 4 2 5 1 1c-4 1-9 2-15 2-2 0-4 0-6-1-49-4-29-60-21-91 6-22 13-71 15-87z"/>
125
+ <glyph glyph-name="endomodo" unicode="&#57461;" d="M97 347c0 10-7 19-17 22l-63 0c-10-3-17-12-17-22 0-12 10-22 22-22l53 0c13 0 22 10 22 22z m384 56c-26 40-72 61-149 61-11 0-22-1-32-2-2 0-4 0-6 0 0 0 0 0-1 0 0 0-1 0-2-1-40-4-63-4-63-4l-104 0c-12 0-22-10-22-22 0-13 10-22 22-22l94 0c12 0 22-10 22-22 0-11-7-19-17-22-1 0-3 0-5 0l-80 0c-9-3-17-12-17-22 0-12 10-22 22-22l20 0c12 0 22-10 22-22 0-12-10-22-22-22l-101 0c-12 0-22-10-22-22 0-12 10-22 22-22l96 0c12 0 22-10 22-22 0-12-10-22-22-22l-11 0c-12 0-22-10-22-22 0-12 10-22 22-22l43 0c13 0 22-10 22-22 0-12-9-22-22-22l-9 0c-14 0-24-11-24-24 0-13 10-24 24-24l49 0c0 0 30-1 61-4 7-1 14-2 20-3 3 0 5 0 6 0 11-1 21-1 32-1 56 0 107 12 134 23 5 2 9 5 9 11 0 1 0 3-1 3l-9 35c-2 6-5 9-10 9 0 0-2 0-4-1-27-8-60-18-108-18-45 0-76 7-97 27-18 18-27 39-28 76l263 0c8 0 12 7 12 14 1 11 1 26 1 36 1 58-6 106-30 139z m-56-154c-23 0-42 19-42 42 0 23 19 41 42 41 19 0 35-13 40-30-3 4-8 6-12 6-10 0-17-8-17-17 0-9 7-17 17-17 5 0 9 2 12 6-5-18-21-31-40-31z"/>
126
+ <glyph glyph-name="filmweb" unicode="&#57462;" d="M256 512c-141 0-256-115-256-256 0-141 115-256 256-256 141 0 256 115 256 256 0 141-115 256-256 256z m-59-76c28 0 50-22 50-50 0-29-22-51-50-51-29 0-51 22-51 51 0 28 22 50 51 50z m-129-180c0 28 23 51 51 51 28 0 50-23 50-51 0-28-22-51-50-51-28 0-51 23-51 51z m129-180c-29 0-51 22-51 50 0 29 22 51 51 51 28 0 50-22 50-51 0-28-22-50-50-50z m121 154l-86 0 0 52 86 0z m99-71c-18-27-43-48-72-62l-20 44c44 20 71 64 71 114 0 26-7 50-20 71-12 20-30 36-51 46l21 43c29-14 53-36 71-64 18-28 27-61 27-96 0-34-9-68-27-96z"/>
127
+ <glyph glyph-name="stackexchange" unicode="&#57463;" d="M397 512l-282 0c-36 0-65-30-65-68l0-22 412 0 0 22c0 38-29 68-65 68z m-347-332l0-22c0-38 29-68 65-68l176 0 0-90 87 90 19 0c36 0 65 30 65 67l0 22-412 0z m0 218l0-85 412 0 0 85z m0-110l0-85 412 0 0 85z"/>
128
+ <glyph glyph-name="wykop" unicode="&#57464;" d="M322 400l-46-23c-4-2-5-6-3-10l71-142 1-2c2-4 0-9-4-11l-14-7c-4-2-9-1-11 3l-1 3-70 142c-2 4-7 5-11 3l-45-22c-4-2-6-7-4-10l70-142 2-3c2-4 0-9-4-10l-14-7c-5-2-9-1-11 3l-1 3-70 140c-2 4-7 6-11 4l-45-23c-4-2-6-6-4-10l82-163c2-4 6-6 10-4l6 3 39 20 43 21 46 22 42 21 38 19 8 4c4 2 5 6 3 10l-81 164c-2 4-7 6-11 4z m60 80l-253 0c-71 0-130-58-130-129l0-189c0-71 59-130 130-130l253 0c72 0 130 59 130 130l0 189c-1 71-59 129-130 129z m76-315c0-43-35-78-78-78l-249 0c-43 0-78 35-78 78l0 183c0 43 35 78 78 78l249 0c42 0 78-35 78-78z"/>
129
+ <glyph glyph-name="teamspeak" unicode="&#57465;" d="M236 83c113 19 198 98 198 193 0 109-112 197-250 197-9 0-19 0-28-1 12-6 24-16 34-28 79-3 146-42 172-96 1-1 2-2 2-3 1-2 2-5 3-7 5-13 8-28 8-43 0-63-52-119-125-141 2-3 4-8 1-13l-1-1-2-1c-6-4-6-9-5-17 1-4 3-9 3-14 1-6 0-12-3-18-1-2-4-4-7-7z m15 79c-1-1-1-2-2-2l-2-2c-1 0-1-1-1-1 39 18 66 51 66 88 0 37-26 69-64 87 1-4 1-8 1-12 0-4-1-8-3-11-1-1-1-2-2-3-1-1-2-2-3-3-3-4-3-6-3-9l1-3c13-21 28-43 42-65l1-1c3-7 0-15-6-19-3-3-6-4-9-5-3 0-6-1-8-1-5-1-7-2-8-5-1-3-1-6 0-9 1-1 1-3 2-5 1-2 2-4 3-5l1-2 0-2c-2-6-4-8-6-10z m-108-72c58-11 77-2 82 6 9 18-14 38 7 51 3 5-3 7-5 10-4 8 9 9 9 17-4 8-8 15-5 25 5 12 19 7 28 14 3 3 5 8 3 12-14 21-29 44-43 66l-1 4c-1 12 11 16 12 28-1 34-41 133-98 145 0 0 0-51 0-115 46-35 72-92 62-156-5-39-24-76-51-107z m62 418c-32 0-64-4-93-11l-20-6c-14-5-21-13-24-24l-22-110c-27-11-46-37-46-68 0-41 33-74 74-74 41 0 74 33 74 74 0 27-14 50-35 63l0 137c24 6 49 9 75 9 160 0 290-107 290-238 0-132-130-238-290-238-38 0-75 6-109 17-5-3-9-5-13-7 42-18 89-28 140-28 169 0 306 113 306 252 0 139-137 252-307 252z m-77-217c0-30-25-54-54-54-30 0-55 24-55 54 0 31 25 55 55 55 30 0 54-25 54-55z"/>
130
+ <glyph glyph-name="teamviewer" unicode="&#57466;" d="M256 512c-141 0-256-115-256-256 0-141 115-256 256-256 141 0 256 115 256 256 0 141-115 256-256 256z m63-338l23 56-171 0 22-56-166 82 166 82-21-53 168 0-20 53 166-82z"/>
131
+ <glyph glyph-name="ventrilo" unicode="&#57467;" d="M459 350c-9 36-24 68-49 94-36 35-87 53-154 53-66 0-117-18-153-53-25-26-40-58-49-93-30-5-54-32-54-64l0-66c0-36 29-65 65-65l0 76 43-25c3-1 6-2 9-2l85 0c5 0 10 2 15 6 0 1 0 1 1 1l26 32c0 0 5 6 12 6 4 0 8-1 12-5l26-33c1 0 1-1 1-1 5-4 10-6 15-6l85 0c3 0 6 1 9 2l43 25 0-57-121-141-73 0c-5 0-9-4-9-9 0-5 4-9 9-9l81 0 124 142c31 5 54 32 54 64l0 65c0 31-23 58-53 63z m-210-99l1 1c0-1-1-1-1-1z m13 0c1 0 1 0 0 0z m133 119l-278 0c-3 0-6 0-9-2l-35-20c8 32 22 61 44 83 32 31 77 47 139 47 62 0 108-16 140-47 22-22 35-51 44-83l-36 21c-3 1-6 1-9 1z"/>
132
+ <glyph glyph-name="younow" unicode="&#57468;" d="M353 226c1 18 3 36 5 54 1 14 3 29 5 43 2 16 4 33 6 50 1 5 2 10 2 16 0 1 1 2 2 2 18 5 36 10 53 15 2 0 2 0 3-2 6-29 11-58 17-88 5-20 8-38 12-58 0 0 0-1 1-1 0 2 0 4 0 6-1 20 0 40 1 60 1 13 1 27 2 40 1 17 2 34 2 51 0 2 1 3 3 3 14 4 28 8 42 12 1 0 2 0 2 0 0-5 0-9-1-14-1-11-2-22-3-34-1-15-2-30-4-46-1-14-2-27-3-41-2-15-3-31-4-47-1-10-2-21-3-31 0-1 0-2-1-2-19-6-37-10-56-15-1-1-2 0-2 1-9 37-17 73-25 110-2 11-4 22-6 33 0 1 0 1-1 2 0-8-1-16-1-24-1-13-3-26-4-39-2-13-4-27-5-39-2-15-4-30-6-44-1-4-1-9-2-13 0-1-1-1-2-2-18-5-37-10-57-15-1-1-1 0-2 1-4 23-8 46-12 69-4 23-7 46-11 69-4 20-7 40-11 60 0 1 0 1 1 2 15 4 29 7 43 11 1 1 2 0 2-1 1-10 2-20 3-30 2-16 5-33 7-49 2-23 6-46 7-70 0-2 0-3 1-5 0-1-1-1 0-2 0 1 0 2 0 2z m-261-38c-1 12-3 24-3 36-1 13-2 25-2 38-1 16-2 32-3 49 0 2 0 2 2 3 13 3 26 7 39 10 1 1 2 1 2-1 0-25 2-49 3-73 0-19 1-38 2-56 1-24 1-47 2-70 0-2 0-4 1-6 0-1 0-2-1-2-15-3-29-7-43-12-1 0-1 1-2 2-7 16-13 32-19 48-9 22-18 43-25 65-1-1-1-2 0-3 0-12 1-22 2-34 0-10 1-22 2-32 1-17 2-34 3-50 0-2 0-3 1-5 0-1-1-1-2-2-11-2-21-5-31-9-3-1-6-1-9-2-2-1-2 0-2 1 0 15-1 30-1 46-1 26-2 52-3 79 0 17-1 35-2 53 0 9 0 18-1 27 0 1 1 1 2 2 14 3 28 7 42 11 1 1 2 0 3-1 15-38 30-76 45-114 0 0 0-1 0-1 0 0 0 0 0 1-2 1-2 2-2 2z m192 58c-1 19-1 37-2 56-1 8-2 16-4 24-5 15-14 25-30 28-8 1-17 1-25 0-14-2-27-6-40-12-14-8-23-18-26-34-2-9-2-17-2-26 0-20 1-41 1-61 1-12 1-22 1-34 1-7 2-15 4-23 4-14 14-24 28-28 8-1 15-2 22-1 16 2 31 6 44 13 13 7 21 16 26 29 2 7 3 15 3 22 1 16 0 31 0 47z m-48-57c-2-10-7-14-17-15-2 0-3 0-5 0-5 1-8 4-9 9-1 8-1 16-1 24 0 13 0 26 0 38 0 18 0 36 0 53 0 11 10 19 21 17 4-1 8-5 9-10 0-4 0-8 0-12 2-28 2-56 3-84 0-6 1-13-1-20z"/>
133
+ <glyph glyph-name="raidcall" unicode="&#57469;" d="M99 298l43 31c-10 85 42 148 42 148 0 0-11-5-97-60-86-55-87-77-87-77l0-223 78-117 118 0-118 187c-25 37-15 87 21 111z m294-34c-41-25-95-15-124 25-28 39-21 94 16 125 1 2 3 3 5 4 2 2 3 3 5 4l126 90-183 0-11-7c-83-61-102-179-42-263l12-16c61-84 179-103 263-42l52 38 0 128z"/>
134
+ <glyph glyph-name="mumble" unicode="&#57470;" d="M511 161c2 6 1 13 1 20 0 6-1 12-2 18 0 1 0 1 0 2 0 1 0 3-1 4 0 0 0 0 0 1 0 0 0 1 0 2-2 8-4 15-6 22-2 4-3 9-6 13 0 0 0 0 0 1-1 2-2 5-4 7 0 1 0 1 0 1-1 2-2 4-4 6 0 1-1 2-2 3 0 1-1 2-2 3 0 0 0 1-1 1 0 0 0 1-1 1 0 1-1 2-2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1-1 1 0 1 0 2-1 2 0 0-1 0-1 0 0 2-1 2-2 3-1 1-2 2-3 3 1 2 0 3-1 4-1 4-3 8-7 11 0 1 0 1-1 1-1 2-1 3-1 5-1 3 0 6-1 9 0 0 0 1 0 1 0 3 0 5-1 7 0 1 0 2 0 2 0 2 0 4-1 6 0 0 0 1-1 1 1 2 0 3-1 5 0 0 0 0 0 1 0 0 0 1 0 1-1 7-3 14-5 20-1 4-1 7-3 10 0 0 0 0-1 1-3 8-6 16-10 24-2 3-4 7-6 10 0 1-1 1-1 1 0 1 0 2-1 3 0 0 0 0-1 0 0 2-2 4-4 6 0 0 0 1 0 1 0 0 0 1-1 1 0 0 0 0-1 0 0 1 0 1-1 1 0 1-1 2-2 3 0 0 0 1-1 1 0 0 0 0 0 0-1 2-2 4-4 5 0 0-1 1-1 2 0 1-1 1-2 1 0 1-1 2-1 2 0 1-1 1-1 1-1 1-1 1-1 1 0 1 0 1-1 1 0 2-1 2-2 2-1 2-3 4-5 5-1 1-2 2-3 3 0 1 0 1-1 1 0 1 0 1-1 1 0 1 0 1-1 1 0 0 0 0 0 0 0 0 0 0 0 0-1 2-3 3-5 5 0 0 0 1-1 1 0 1-1 2-2 2-1 1-1 2-2 2 0 1-1 2-2 2-1 1-1 1-2 2 0 0 0 1-1 1 3 2 3 2 2 2 0 1-1 2-2 2 0 0-1 0-1 1 0 1-1 1-1 1 0 0-1 0-1 1 0 0-1 1-1 1-1 1-2 2-3 2 0 1-1 2-2 2-2 1-3 2-5 4-1 1-2 2-4 2-1 1-2 1-3 2-3 2-7 4-11 5-1 0-1 0-1 0-2 1-4 1-6 1-2 0-3 0-4 0-2 0-4 0-6-1-1 0-1 0-1 0-5-1-9-2-13-5-1-2-1-2-2-3-1 0-3-1-4-3 0 0 0 0-1-1-1 0-2-1-2-2-1-1-2-2-2-2-1-1-2-1-2-2 0 0 0 0 1 0 0 0-1 0-1 0-1-1-1-1-1-1-1 0-1-1-2-2-5-7-8-16-8-25 0-11 0-23 0-34 0-13 1-26 0-39 0-11-5-20-15-25-5-2-9-1-13-1 0 0 0 0-1 0-3 1-8 2-11 5-2 1-4 3-6 5 0 1 0 1-1 1-6 7-8 16-8 26 0 25 0 49 0 74 0 6-1 12-3 17-9 22-35 34-57 25-28-11-53-28-73-51-37-40-56-88-58-143 0-7-1-13-6-19-2-2-4-4-5-7-16-27-23-56-24-87-1-11-1-22 1-33 0-3-1-4-3-6-11-11-15-24-8-39 3-7 8-13 14-18 6-4 12-8 18-11 2-1 4-3 5-4 7-10 14-18 24-24 6-5 13-8 20-8 7 0 15 1 22 2 1 0 2 0 3 1 2 1 2 4 2 5 1 2 1 3 4 2 4-1 8-1 12-2 3-1 5 0 6 1 1 1 3 1 4 1 14-3 28-5 42-6 17-2 34-3 51-4 26-1 52-1 78 0 1 0 2 0 3-1 1-3 4-4 7-3 0 0 0-1 0-1 1-1 1-1 2-1 1-1 2-2 3-2 0 0 0-1 0-1 2-1 4-2 7-3 0 0 0 0 1 0 1 0 1-1 3-1 0 0 0 0 1 0 0 0 1-1 1-1 7 0 14 0 21 1 0 0 1 0 2 0 3 0 8 0 11 1 1 0 1 0 2 0 6 1 12 3 17 7 0 0 0 0 0 1 13 11 16 32 6 45-1 1-1 2-1 2 0 1 1 1 2 1 1 0 2 0 4 0 0-1 0-1 0-2-2-2-1-3 1-5 2-3 6-5 9-7 8-4 15-4 23 2 4 3 6 7 9 11 6 7 10 15 13 24 7 19 9 39 9 59 1 12 0 24-1 37-2 14-4 28-8 42-2 8-5 17-9 25-3 8-7 15-12 22-1 1-1 1-1 2 1 1 2 1 3 1 5 0 9 0 14 0 2-1 3-2 5-3 1-2 4-3 5-5 8-9 15-20 19-32 9-22 13-45 15-69 1-18 0-36-4-54-1-5-3-10-7-14-4-4-10-6-16-9-1 0-3-1-3-2-2-4-3-7-4-10-1-3-4-6-4-10-1-1-1-1-1-2-2 0-2-2-3-3-2-2-3-3-3-6 0 0-1 0-1 0-2 0-2-1-3-2-2-2-4-4-6-6-6-6-15-7-23-5-1 0-2 0-2-1 6-2 12-2 19-1 8 0 16 0 24 4 11 5 20 13 28 22 1 2 3 3 3 5 0 0 1 1 1 1 0 0 1 0 0 1 1 1 3 3 4 5 0 0 1 0 0 1 0 0 0 0 1 0 1 1 1 1 1 2 0 1 0 1 0 1 1 0 1 1 1 1 0 1 1 2 1 3 1 0 1 1 1 1 0 1 0 1 0 2 1 0 1 0 1 1 0 0 0 1 0 2 1 0 1 1 1 2 0 1 1 1 1 1 1 1 1 3 1 5 0 0 1 1 1 1 0 0 1 1 0 1 0 1 1 2 1 2 1 0 1 1 0 2 0 0 0 0 0 1 2 3 3 6 3 10 0 0 0 0 0 1 1 1 1 2 1 4 0 0 0 1 0 1 1 1 2 3 1 4 0 0 0 1 0 2 1 1 1 4 1 6 0 0 0 1 0 1 2 3 2 5 1 7z m-206 127c5 3 9 5 13 9 5 4 8 7 11 12 1 0 2 1 3 2 13 17 19 37 20 58 0 1 0 2 0 2-2 2-1 5-1 7 0 8 0 16 0 23 0 1 0 2-1 3 0 1 0 2 0 2 1 1 1 1 2 0 1 0 1-2 2-2 0-1 1-1 1-1 2-2 3-4 5-5 2-3 4-4 6-6 2-3 3-5 5-7 11-16 20-33 26-52 2-6 4-12 4-18 1-6 0-11 0-17 0-1 0-2-2-3-4-3-7-6-10-10 0-1 0-1 0-1 0-2 0-2-1-2-15 0-30 0-44 0-6 0-11 0-16-1 0 0 0 0-1 0 0 0 0 0-1 0-12-1-24-1-36-2-1 0-3-1-4-1-3-2-3-2-5 2 7 1 16 4 24 8z m-229 51c1 3 1 5 2 8 0 0 0 0 0 1 2 5 4 11 5 17 0 0 0 0 0 0 3 4 4 7 5 11 0 0 0 0 1 1 1 1 1 2 2 3 0 1 0 1 0 1 1 0 1 1 1 2 0 0 0 0 0 1 1 1 1 2 2 3 0 0 0 0 0 1 1 0 1 0 1 1 0 0 0 0 0 1 1 0 1 0 1 1 0 0 0 0 1 1 1 0 1 1 2 3 0 0 0 1 1 2 0 0 1 0 1 1 0 1 1 2 1 2 0 0 1 1 1 2 0 0 0 0 0 0 1 1 1 2 1 3 1 1 1 2 2 3 0 0 1 0 1 1 0 1 1 1 1 1 0 0 1 1 1 1 0 1 1 2 2 3 1 0 1 1 1 2 0 0 1 0 1 0 0 1 1 1 1 2 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 2 1 0 2 1 2 2 4 3 8 7 11 10 1 1 2 1 2 2 1 0 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 2-2-3-2-4-2-5 2 1 3 2 4 3 2 2 5 4 8 6 0 0 1 1 1 1 2 1 3 2 4 3 1 0 1 0 2 1 0 0 0 0 0 0 1 0 1 1 2 1 0 0 0 0 0 0 1 0 1 1 2 1 0 0 0 0 0 0 1 0 2 1 3 2 0 0 0 0 0 0 1 0 1 0 2 1 0 0 0 0 0 0 1 0 1 0 2 1 0 0 0 0 0 0 1 0 1 0 2 1 0 0 1 0 2 1 2 0 4 1 5 3 0 0 1 0 1 0 1 0 1 0 2 1 0 0 0 0 0 0 4 1 8 3 12 5 17 8 34-5 34-21 0-23 0-47 0-69 0-2 0-3-2-3-4 1-7 1-10 1-2 0-3 0-3 2 0 1 0 3-1 5 0 21 0 42 0 63 0 1 0 2-1 3 1 1 0 1-1 2 0 0-1 1-1 1-2 2-4 2-6 1-2 0-4-1-6-2-6-3-12-5-16-9 0 0-1 0-1 0-2-1-4-2-6-4-1 0-2-1-2-1 0 0 0-1-1-1-1-1-2-2-3-3 1 1 2 2 3 3-3-1-5-3-7-5 0 0 0 0-1 0-1 0-1-1-2-2 0 0 0 0 0 0-1 0-2-1-2-2 0 0-1 0-1-1 0 0 0 0-1 0-1 0-1-1-2-2-1-2-3-3-4-4-1-1-2-2-3-3 0 0-1 0-1-1 0 0 0 0-1-1-1 0-1 0-1-1-1 0-2-1-2-2-1-1-2-2-3-3-1-1-1-1-1-2 0-1-1-1-1-1 0 0-1-1-1-1 0 0-1-1-1-1 0 0-1-1-1-1 0 0 0 0 0-1-1 0-2-2-2-4-1 0-1-1-1-1-1 0-1-1-1-1 0-1-1-1-1-1-2-2-4-5-6-8 0 0 0 0 0 0-1-2-3-4-3-6 0 0 0 0 0 0-2-2-3-4-3-6-1 0-1-1-1-2-1 0-1 0-1-1 0-1 0-1-1-1 0 0 0-1-1-1-6-11-10-22-13-34-1-2-2-3-4-2-4 1-8 1-12 0-2-1-2 0-2 1-5 0-5 0-5 0z m-3-20c0 7 5 12 11 12 7 0 13-5 13-12 0-6-6-10-12-11-7 0-12 5-12 11z m46-250c-3 0-6 2-9 3 0 0-1 0-1 1 0 0 1 0 1 0 3 0 6 1 9 0 1-1 3-1 3-2 0-2-2-1-3-2z m65-8c-3 0-7 0-11 0-12 0-26 2-38 4-2 1-4 1-6 2 0 1-2 1-1 2 0 1 1 1 2 1 1 0 2 1 4 1 16-2 32-4 49-7 0 0 1 0 1-1 1 0 2 0 1-1 0-1 0-1-1-1z m30 15c-7 0-12 0-18-1-8 0-15 1-22 2-8 0-15 1-22 2-3 1-6 1-8 1-3 0-4 3-5 4-4 1-8 2-13 3 5-1 9-2 13-3 2 1 1 2 1 3-2 4 0 9 0 13 0 6 0 14-1 20-1 3-2 6-2 10 0 14 1 27 0 41 0 3 0 6 0 9-1 7-1 13-1 20 0 1 0 2 0 3-1 8-2 17-3 26 0 6-1 12-1 17-1 5-2 9-3 14-1 4-2 7-2 11 2 2 4 3 7 3 27 0 54 0 82 0 6 0 9-3 9-9 0-11 0-20 0-31 0-12 0-25 0-37 0-7-3-11-9-11-1 0-2-1-2-2 0-1 0-2 0-2 0-2 0-4 1-5 0-2 3-1 4-1 3-1 6-4 6-9 0-5 0-11 0-16 0-21 0-42 0-63-1-7-5-12-11-12z m18 205c-2 1-5 0-7-1-1 0-1 0-1 0-1 1-2 1-3 1-4 2-9 2-13 1-7 0-15 0-23 0 0 1-1 1-1 1-18 0-35 0-52 0-3 0-6 0-8-1 0 0 0 0-1 0-3 0-5-2-8-2-1 0-3 0-3 1 0 0 0 1 0 2 0-1 0-1 0-1-1-4 0-8 0-12 1-11 2-22 2-33 0-3 0-6 1-9 0-1 0-2 0-3 0-1 0-1 0-2 0-3 0-6 1-8-1-1-1-2-1-3 1-12 1-24 1-36 0-18 0-36-3-54 0-3-1-4-4-4-5 0-9 1-13 0-4-1-6 0-9 3-2 2-1 4-2 6 0 13 0 25-1 37 1 3 1 7 0 11 0 2 0 4 0 6 1 0 1 1 0 1 0 1 0 2 0 2 2 2 1 4 0 6 0 6 1 12 0 18 0 4 0 9 0 13 0 4 0 9-1 13 0 8 0 15 0 23 0 5 0 10-1 16 0 7 0 13-1 19 0 3 3 5 6 5 3 0 5 0 8 0 3 0 5 0 8 0 2 0 3 2 4 4 0 1-2 1-3 2 0 0-1 0-1 0 0 2 0 3 0 5 1 2 1 5 0 7 2 1 5 0 6 1 2 0 1 1 2 2 2 8 3 15 6 22 6 17 14 33 25 47 2 3 4 5 6 8 0 0 1 1 1 1 0 0 1 0 1 1 0 0 1 0 1 1 0 0 0 1 0 1 0 0 0-1 0-1 4 4 9 9 14 14 1 0 1 1 2 1 5 5 11 8 16 12 2 1 3 1 3-1 0-15 0-30 0-45 0-2-1-3-2-4-3-1-5-3-5-6 1-12 3-23 7-34 2-6 5-12 9-17 3-5 5-9 9-12 2-3 4-5 7-7 1-2 4-4 6-5 3-3 7-5 11-7 3-2 6-3 10-5-2-1-4 0-4-1-1 0-2 0-2 0z m5-214c12 0 25 0 37 0-12-1-25-1-37 0z m77-34c-1 0-1 0-2 1 0 1 1 1 1 1 1 0 2 0 2-1 0-1-1-1-1-1z m7 16c-2-1-3-1-3 1 0 5-2 11-2 16 0 3-3 6-5 7-1 0-2-1-2 1 0 1 1 2 2 2 4 2 10-1 11-5 2-5 3-10 3-16-1-2-1-5-4-6z m19 23c2-1-1-2-1-4 0-1-1 1-2 1-2-1-3 2-6 2 0 0 0 1 0 1 0 1 1 1 1 2 0 2 1 2 2 2 1 1 2 2 4 2 0 0 1 0 1-1 1-2 1-2 3-2-2-1-3-1-2-3z m84 143c-1 0-1-1-1-2-1-1-2-2-3-2 0 0-1 0-1-1-3 0-7 0-10 0-5 0-9 0-13 0 0 0 0 0-1 0 0 0 0 1-1 0-1 1-2 2-3 4 0 3 0 6 0 9 0 8 1 7-8 6-2 0-2-1-2-2 0-8 0-17 0-25 0-2 1-3 4-3 9 1 19 0 29 1 5 0 8-4 8-9 0-9 0-19 0-29 0-2-1-3-3-3-1-1-3-1-5-1-5-1-11 0-17-1-3 0-6 0-9 0-2 0-3 0-5 0-2 0-2-1-2-3 0-10 0-19 0-29 0 0 0-1 1-1 0 0 0 0 1 0 2-1 3 0 4 0 3 0 3 1 3 3 0 3 0 7 0 10 0 5 1 8 6 10 4 0 8 1 13 1 1-1 3-1 5 0 1 0 2 0 3 0 1-1 1-1 1 0 3-1 4-3 5-5 0 0-1-1-1-2 0-15 0-29 0-44 0-4-1-7-3-10-2-1-4-1-6-1-4 0-8 0-12-1-1 0-3 0-4-1-2 0-5 1-7 0-1 0-1 0-2 0-2 2-3 3-5 4-2 1-11 4-26 5-4 0-7-1-11-1-8-1-15-2-24-5 0-1-1-1-3-3-4-2-7-4-11-4-9 0-18-1-26-1-2 0-4 0-6-1-2 0-5 0-7 0-1 0-3 0-4 0-7-1-16-1-23-1-5 0-8 2-8 7 0 4 0 8 0 12 0 56 0 111 0 167 0 6 3 9 9 9 8 0 17 0 26 0 7 0 10-3 10-10 0-44 0-89 0-133 0-7 0-7 7-7 2 0 3 1 3 3 0 9 0 17 0 25 0 7 3 11 11 11 3 0 6-1 9 0 1 0 2 0 3 0 2 0 4 0 6 0 7 0 10-2 10-9 0-18-1-36 0-53 0-2 0-3 0-4 3 1 6 1 9 2 0 9 0 18 0 26 0 32 0 62 0 94 0 9 0 19 0 29 0 1 0 2 0 3 1 5 0 11 0 16 0 5 4 8 9 8 4 0 9 0 13 0 8 0 16 0 24 0 12 0 24 0 36 0 1 0 2-1 2-1 1 0 2-1 2-2 1-3 1-6 1-9-1-6-2-12-1-18 0-10 1-18 1-27 0-1 0-1 0-1z m5 136c-5 14-11 26-19 38-1 1-1 2-3 3 0-2 0-4 1-6 0 0 0-1-1-2 0-1-1 1-1 1-1 1-1 1-2 1 0 0 0 1 0 1 0 1 0 1-1 1-1 1-1 2-2 3 0 1 0 1-1 1-1 1-1 2-2 3 0 1-1 1-2 2 0 0 0 0 0 1 0 1 0 1-1 1-1 2-3 3-4 4 0 1 0 1-1 1-2 3-3 4-5 6 0 2-2 2-3 2 0 1 0 1-1 1 0 1 0 1-1 1 0 1 0 1-1 1-2 2-4 4-6 6 0 1-1 1-1 1-2 2-3 3-5 4 0 2 0 2-1 2-4 3-7 5-11 7 0 1 0 1-1 1 0 0 0 1-1 1-2 1-3 3-5 2-2-1-1-3-1-5 0-16 0-31 0-46 0-2 0-5 0-7-1 0-1-1-1 0-3 1-4 1-4-3 0-2-1-3-3-2-4 0-8 0-12 0-1 0-2 1-2 2-2 4-2 8-2 11-1 15-1 30-1 45 1 6 1 11 3 17 4 8 13 14 22 14 4 0 8-2 12-4 15-9 28-20 39-32 22-24 38-51 47-81 2-5 4-11 5-16 0-2 0-3-3-2-2 1-5 1-7 0-3 0-4 1-5 3-2 6-4 12-6 18z m21-41c-4-4-7-4-11 0 0 0-1 0-1 0-2 2-4 5-2 8 1 4 4 6 8 6 3 0 7-3 8-6 1-1 1-3 1-4 0-2-2-3-3-4z m-275-162c-2 0-2 0-2-2 0-4 0-9 0-13 0-3 0-7 0-10 0-7 0-7 7-6 2 0 3 1 2 3 0 7 0 14 0 22 0 7 0 7-7 6z m2 83c-1 0-2 0-2-2 0-5 0-9 0-13 0-4 0-7 0-10 0-7 0-7 7-7 2 0 3 1 3 3 0 7 0 15 0 22 0 8 0 8-8 7z"/>
135
+ <glyph glyph-name="medium" unicode="&#57453;" d="M508 395l-162 81c-1 0-1 0-2 0-2 0-5-1-6-2l-99-163 111-181 160 259c1 2 0 5-2 6z m-322-27l0-175 156-78z m169-259l143-72c7-4 14 0 14 9l0 318z m-187 285l-149 74-10 6c-1 0-2 1-3 1-2 0-3-1-4-2-1-1-2-3-2-6l0-341c0-6 4-13 9-15l147-74c2-1 4-2 6-2 5 0 8 4 8 11l0 345c0 1 0 2-2 3z"/>
136
+ <glyph glyph-name="bebee" unicode="&#57471;" d="M160 246c21 9 30 46 111 64 0 13-42 152-129 195-90 41-104-109-66-174 3-12 63-93 84-85z m77 175c20-36 28-70 31-72 3-2 20-17 21-15 5 17 7 27 8 31-36 185-115 127-115 127 0 0 34-34 55-71z m164-51c-3 2-6 3-10 5l1 1 41-11c0 0 7-1 8 7 2 7-3 11-3 11 0 0-38 10-42 11-8 2-22-3-31-7-1 1-2 1-3 1-2 4-10 23-6 25 3 2 52 4 52 4 0 0 7 4 6 12 0 7-10 8-10 8 0 0-58-4-61-4-13-2-7-18-7-18l6-25c-11 0-21-6-28-18-18-29-11-87 24-108 35-21 96-27 113 2 17 29-15 82-50 104z m20-76c-11-9-34-1-49 18-16 19-20 42-8 52 11 9 34 1 49-18 16-19 20-42 8-52z m-300-178c0 0-17-46 11-113 93-12 126 26 126 26 0 0-55 21-80 38-24 15-57 49-57 49z m49 118c0 0-44-27-45-81 0-5 45-68 162-106 30 13 36 83 36 83 0 0-59 29-86 44-27 14-67 60-67 60z m115 58c-63-9-85-44-85-44 0 0 44-59 117-83 1 1-1 66 2 73 4 6 14 10 14 10 0 0-16 12-26 23-12 11-6 22-22 21z"/>
137
+ <glyph glyph-name="hitbox" unicode="&#57472;" d="M262 0l102 58 0 65-102-42z m116 330l0-187 60 21 0 159z m-233 2l0-194 110-41 109 41 0 194-109 14z m0-274l103-58 0 81-103 42z m-74 106l60-21 0 187-60-7z m281 184l0 120-97 44-97-44 0-120 97 14z"/>
138
+ <glyph glyph-name="reverbnation" unicode="&#57473;" d="M506 309c-49-35-97-70-147-106-5-3-5-6-4-12 19-57 38-115 57-173 0-1 1-3 2-6-3 2-5 4-7 5-48 35-97 70-145 105-4 3-8 4-12 0-50-36-99-72-150-108-1-1-2-1-4-3 7 22 14 43 20 64 13 40 26 79 39 119 1 4 0 6-4 9-49 35-97 70-146 106-2 1-3 3-5 5l13 0c58 0 116 0 173 0 6 0 9 1 11 7 18 58 37 116 56 175 0 1 1 2 2 5 1-3 2-4 2-6 19-58 38-116 57-174 2-6 4-7 11-7 60 0 120 0 180 0l7 0c-3-3-4-4-6-5z"/>
139
+ <glyph glyph-name="formulr" unicode="&#57474;" d="M142 444c-46-45-70-111-70-189l0-256 148 0 0 260c0 37 9 66 27 84 20 19 50 24 72 24l67 0 54 145-121 0c-71 0-132-24-177-68z"/>
140
+ <glyph glyph-name="instagram" unicode="&#57431;" d="M256 466c69 0 76-1 103-2 26-1 39-5 48-8 12-5 21-11 29-19 9-9 15-18 19-29 4-10 8-23 9-48 1-28 2-35 2-104 0-69-1-76-2-103-1-26-5-39-8-48-5-12-11-21-19-29-9-9-18-15-29-19-10-4-23-8-48-9-28-1-35-2-104-2-69 0-76 1-103 2-26 1-39 5-48 8-12 5-21 11-29 19-9 9-15 18-19 29-4 10-8 23-9 48-1 28-2 35-2 104 0 69 1 76 2 103 1 26 5 39 8 48 5 12 11 21 19 29 9 9 18 15 29 19 10 4 23 8 48 9 28 1 35 2 104 2m0 46c-70 0-78-1-105-2-28-1-47-5-62-11-17-7-32-16-46-30-14-14-23-29-30-46-6-16-10-34-11-62-1-27-2-35-2-105 0-70 1-78 2-105 1-28 5-47 11-62 7-17 16-32 30-46 14-14 29-23 46-30 16-6 34-10 62-11 27-1 35-2 105-2 70 0 78 1 105 2 28 1 47 5 62 11 17 7 32 16 46 30 14 14 23 29 30 46 6 16 10 34 11 62 1 27 2 35 2 105 0 70-1 78-2 105-1 28-5 47-11 62-7 17-16 32-30 46-14 14-29 23-46 30-16 6-34 10-62 11-27 1-35 2-105 2z m0-124c-73 0-132-59-132-132 0-73 59-132 132-132 73 0 132 59 132 132 0 73-59 132-132 132z m0-218c-47 0-86 39-86 86 0 47 39 86 86 86 47 0 86-39 86-86 0-47-39-86-86-86z m167 223c0-17-13-31-30-31-17 0-31 14-31 31 0 17 14 30 31 30 17 0 30-13 30-30z"/>
141
  </font></defs></svg>
assets/fonts/socicon.ttf CHANGED
Binary file
assets/fonts/socicon.woff CHANGED
Binary file
assets/images/icons/loader.svg ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+ <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
5
+ viewBox="0 0 91.3 91.1" enable-background="new 0 0 91.3 91.1" xml:space="preserve">
6
+ <circle cx="45.7" cy="45.7" r="45.7"/>
7
+ <circle fill="#FFFFFF" cx="45.7" cy="24.4" r="12.5"/>
8
+ </svg>
assets/js/admin/admin.js ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Social Icons Admin JS
3
+ */
4
+ jQuery( function ( $ ) {
5
+
6
+ // Tooltips
7
+ $( document.body ).on( 'init_tooltips', function() {
8
+ var tiptip_args = {
9
+ 'attribute': 'data-tip',
10
+ 'fadeIn': 50,
11
+ 'fadeOut': 50,
12
+ 'delay': 200
13
+ };
14
+
15
+ $( '.tips, .help_tip, .social-icons-help-tip' ).tipTip( tiptip_args );
16
+
17
+ // Add tiptip to parent element for widefat tables
18
+ $( '.parent-tips' ).each( function() {
19
+ $( this ).closest( 'a, th' ).attr( 'data-tip', $( this ).data( 'tip' ) ).tipTip( tiptip_args ).css( 'cursor', 'help' );
20
+ });
21
+ }).trigger( 'init_tooltips' );
22
+ });
assets/js/admin/admin.min.js ADDED
@@ -0,0 +1 @@
 
1
+ jQuery(function(a){a(document.body).on("init_tooltips",function(){var b={attribute:"data-tip",fadeIn:50,fadeOut:50,delay:200};a(".tips, .help_tip, .social-icons-help-tip").tipTip(b),a(".parent-tips").each(function(){a(this).closest("a, th").attr("data-tip",a(this).data("tip")).tipTip(b).css("cursor","help")})}).trigger("init_tooltips")});
assets/js/admin/meta-boxes-group.js ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* global social_icons_admin_meta_boxes_group */
2
+ jQuery( function( $ ) {
3
+
4
+ // Icon inputs
5
+ $( '#social-icons-group-data' ).on( 'click','.sortable_icons a.insert', function() {
6
+ $( this ).closest( '.sortable_icons' ).find( 'tr.no-items' ).remove();
7
+ $( this ).closest( '.sortable_icons' ).find( 'tbody' ).append( $( this ).data( 'row' ) );
8
+ return false;
9
+ });
10
+ $( '#social-icons-group-data' ).on( 'click','.sortable_icons a.delete', function() {
11
+ $( this ).closest( 'tr' ).remove();
12
+ return false;
13
+ });
14
+
15
+ // Social Icons ordering
16
+ jQuery( '.sortable_icons tbody' ).sortable({
17
+ items: 'tr',
18
+ cursor: 'move',
19
+ axis: 'y',
20
+ handle: 'td.sort',
21
+ scrollSensitivity: 40,
22
+ forcePlaceholderSize: true,
23
+ helper: 'clone',
24
+ opacity: 0.65
25
+ });
26
+
27
+ // Detect Social Icons from domain
28
+ $( document.body ).on( 'keyup', 'td.social_url input[type=text]', function() {
29
+ var $this = $( this ), url = $this.val().toLowerCase(), found = false;
30
+
31
+ if ( url.indexOf( 'feed' ) !== -1 ) {
32
+ $this.parents( 'tr' ).find( '.sort' ).attr( 'class', 'sort socicon-rss' );
33
+ found = true;
34
+ } else if ( url.indexOf( 'vk.com' ) !== -1 ) {
35
+ $this.parents( 'tr' ).find( '.sort' ).attr( 'class', 'sort socicon-vkontakte' );
36
+ found = true;
37
+ } else if ( url.indexOf( 'last.fm' ) !== -1 ) {
38
+ $this.parents( 'tr' ).find( '.sort' ).attr( 'class', 'sort socicon-lastfm' );
39
+ found = true;
40
+ } else if ( url.indexOf( 'youtu.be' ) !== -1 ) {
41
+ $this.parents( 'tr' ).find( '.sort' ).attr( 'class', 'sort socicon-youtube' );
42
+ found = true;
43
+ } else if ( url.indexOf( 'play.google.com' ) !== -1 ) {
44
+ $this.parents( 'tr' ).find( '.sort' ).attr( 'class', 'sort socicon-play' );
45
+ found = true;
46
+ } else if ( url.indexOf( 'plus.google.com' ) !== -1 ) {
47
+ $this.parents( 'tr' ).find( '.sort' ).attr( 'class', 'sort socicon-googleplus' );
48
+ found = true;
49
+ } else if ( url.indexOf( 'feedburner.google.com' ) !== -1 ) {
50
+ $this.parents( 'tr' ).find( '.sort' ).attr( 'class', 'sort socicon-mail' );
51
+ found = true;
52
+ } else {
53
+ $( social_icons_admin_meta_boxes_group.allowed_socicons ).each( function( ix, icon ) {
54
+ if ( url.indexOf( icon ) !== -1 ) {
55
+ $this.parents( 'tr' ).find( '.sort' ).attr( 'class', 'sort socicon-' + icon );
56
+ found = true;
57
+ return;
58
+ }
59
+ });
60
+ }
61
+
62
+ if ( ! found ) {
63
+ $this.parents( 'tr' ).find( '.sort' ).attr( 'class', 'sort dashicons-plus' );
64
+ }
65
+ });
66
+ });
assets/js/admin/meta-boxes-group.min.js ADDED
@@ -0,0 +1 @@
 
1
+ jQuery(function(a){a("#social-icons-group-data").on("click",".sortable_icons a.insert",function(){return a(this).closest(".sortable_icons").find("tr.no-items").remove(),a(this).closest(".sortable_icons").find("tbody").append(a(this).data("row")),!1}),a("#social-icons-group-data").on("click",".sortable_icons a.delete",function(){return a(this).closest("tr").remove(),!1}),jQuery(".sortable_icons tbody").sortable({items:"tr",cursor:"move",axis:"y",handle:"td.sort",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",opacity:.65}),a(document.body).on("keyup","td.social_url input[type=text]",function(){var b=a(this),c=b.val().toLowerCase(),d=!1;-1!==c.indexOf("feed")?(b.parents("tr").find(".sort").attr("class","sort socicon-rss"),d=!0):-1!==c.indexOf("vk.com")?(b.parents("tr").find(".sort").attr("class","sort socicon-vkontakte"),d=!0):-1!==c.indexOf("last.fm")?(b.parents("tr").find(".sort").attr("class","sort socicon-lastfm"),d=!0):-1!==c.indexOf("youtu.be")?(b.parents("tr").find(".sort").attr("class","sort socicon-youtube"),d=!0):-1!==c.indexOf("play.google.com")?(b.parents("tr").find(".sort").attr("class","sort socicon-play"),d=!0):-1!==c.indexOf("plus.google.com")?(b.parents("tr").find(".sort").attr("class","sort socicon-googleplus"),d=!0):-1!==c.indexOf("feedburner.google.com")?(b.parents("tr").find(".sort").attr("class","sort socicon-mail"),d=!0):a(social_icons_admin_meta_boxes_group.allowed_socicons).each(function(a,e){return-1!==c.indexOf(e)?(b.parents("tr").find(".sort").attr("class","sort socicon-"+e),void(d=!0)):void 0}),d||b.parents("tr").find(".sort").attr("class","sort dashicons-plus")})});
assets/js/admin/meta-boxes.js ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ jQuery( function ( $ ) {
2
+
3
+ // Allow Tabbing
4
+ $( '#titlediv' ).find( '#title' ).keyup( function( event ) {
5
+ var code = event.keyCode || event.which;
6
+
7
+ // Tab key
8
+ if ( code === '9' && $( '#social-icons-group-description' ).length > 0 ) {
9
+ event.stopPropagation();
10
+ $( '#social-icons-group-description' ).focus();
11
+ return false;
12
+ }
13
+ });
14
+
15
+ // Tabbed Panels
16
+ $( document.body ).on( 'si-init-tabbed-panels', function() {
17
+ $( 'ul.si-tabs' ).show();
18
+ $( 'ul.si-tabs a' ).click( function() {
19
+ var panel_wrap = $( this ).closest( 'div.panel-wrap' );
20
+ $( 'ul.si-tabs li', panel_wrap ).removeClass( 'active' );
21
+ $( this ).parent().addClass( 'active' );
22
+ $( 'div.panel', panel_wrap ).hide();
23
+ $( $( this ).attr( 'href' ) ).show();
24
+ return false;
25
+ });
26
+ $( 'div.panel-wrap' ).each( function() {
27
+ $( this ).find( 'ul.si-tabs li' ).eq( 0 ).find( 'a' ).click();
28
+ });
29
+ }).trigger( 'si-init-tabbed-panels' );
30
+ });
assets/js/admin/meta-boxes.min.js ADDED
@@ -0,0 +1 @@
 
1
+ jQuery(function(a){a("#titlediv").find("#title").keyup(function(b){var c=b.keyCode||b.which;return"9"===c&&a("#social-icons-group-description").length>0?(b.stopPropagation(),a("#social-icons-group-description").focus(),!1):void 0}),a(document.body).on("si-init-tabbed-panels",function(){a("ul.si-tabs").show(),a("ul.si-tabs a").click(function(){var b=a(this).closest("div.panel-wrap");return a("ul.si-tabs li",b).removeClass("active"),a(this).parent().addClass("active"),a("div.panel",b).hide(),a(a(this).attr("href")).show(),!1}),a("div.panel-wrap").each(function(){a(this).find("ul.si-tabs li").eq(0).find("a").click()})}).trigger("si-init-tabbed-panels")});
assets/js/{widgets.js → admin/widgets.js} RENAMED
@@ -1,10 +1,5 @@
1
- /**
2
- * Widgets JS
3
- */
4
  jQuery( function ( $ ) {
5
- var social_icons = [
6
- 'modelmayhem', 'mixcloud', 'drupal', 'swarm', 'istock', 'yammer', 'ello', 'stackoverflow', 'persona', 'triplej', 'houzz', 'rss', 'paypal', 'odnoklassniki', 'airbnb', 'periscope', 'outlook', 'coderwall', 'tripadvisor', 'appnet', 'goodreads', 'tripit', 'lanyrd', 'slideshare', 'buffer', 'disqus', 'vkontakte', 'whatsapp', 'patreon', 'storehouse', 'pocket', 'mail', 'blogger', 'technorati', 'reddit', 'dribbble', 'stumbleupon', 'digg', 'envato', 'behance', 'delicious', 'deviantart', 'forrst', 'play', 'zerply', 'wikipedia', 'apple', 'flattr', 'github', 'renren', 'friendfeed', 'newsvine', 'identica', 'bebo', 'zynga', 'steam', 'xbox', 'windows', 'qq', 'douban', 'meetup', 'playstation', 'android', 'snapchat', 'twitter', 'facebook', 'googleplus', 'pinterest', 'foursquare', 'yahoo', 'skype', 'yelp', 'feedburner', 'linkedin', 'viadeo', 'xing', 'myspace', 'soundcloud', 'spotify', 'grooveshark', 'lastfm', 'youtube', 'vimeo', 'dailymotion', 'vine', 'flickr', '500px', 'instagram', 'wordpress', 'tumblr', 'twitch', '8tracks', 'amazon', 'icq', 'smugmug', 'ravelry', 'weibo', 'baidu', 'angellist', 'ebay', 'imdb', 'stayfriends', 'residentadvisor', 'google', 'yandex', 'sharethis', 'bandcamp', 'itunes', 'deezer', 'medium', 'telegram', 'openid', 'amplement'
7
- ];
8
 
9
  // Hidden Options
10
  $( document.body ).on( 'si-init-hidden-options', function() {
@@ -57,6 +52,9 @@ jQuery( function ( $ ) {
57
  } else if ( url.indexOf( 'youtu.be' ) !== -1 ) {
58
  $this.parents( '.social-icons-field' ).find( '.social-icons-field-handle' ).attr( 'class', 'social-icons-field-handle socicon socicon-youtube' );
59
  found = true;
 
 
 
60
  } else if ( url.indexOf( 'plus.google.com' ) !== -1 ) {
61
  $this.parents( '.social-icons-field' ).find( '.social-icons-field-handle' ).attr( 'class', 'social-icons-field-handle socicon socicon-googleplus' );
62
  found = true;
@@ -64,7 +62,7 @@ jQuery( function ( $ ) {
64
  $this.parents( '.social-icons-field' ).find( '.social-icons-field-handle' ).attr( 'class', 'social-icons-field-handle socicon socicon-mail' );
65
  found = true;
66
  } else {
67
- $( social_icons ).each( function( ix, icon ) {
68
  if ( url.indexOf( icon ) !== -1 ) {
69
  $this.parents( '.social-icons-field' ).find( '.social-icons-field-handle' ).attr( 'class', 'social-icons-field-handle socicon socicon-' + icon );
70
  found = true;
1
+ /* global social_icons_admin_widgets */
 
 
2
  jQuery( function ( $ ) {
 
 
 
3
 
4
  // Hidden Options
5
  $( document.body ).on( 'si-init-hidden-options', function() {
52
  } else if ( url.indexOf( 'youtu.be' ) !== -1 ) {
53
  $this.parents( '.social-icons-field' ).find( '.social-icons-field-handle' ).attr( 'class', 'social-icons-field-handle socicon socicon-youtube' );
54
  found = true;
55
+ } else if ( url.indexOf( 'play.google.com' ) !== -1 ) {
56
+ $this.parents( '.social-icons-field' ).find( '.social-icons-field-handle' ).attr( 'class', 'social-icons-field-handle socicon socicon-play' );
57
+ found = true;
58
  } else if ( url.indexOf( 'plus.google.com' ) !== -1 ) {
59
  $this.parents( '.social-icons-field' ).find( '.social-icons-field-handle' ).attr( 'class', 'social-icons-field-handle socicon socicon-googleplus' );
60
  found = true;
62
  $this.parents( '.social-icons-field' ).find( '.social-icons-field-handle' ).attr( 'class', 'social-icons-field-handle socicon socicon-mail' );
63
  found = true;
64
  } else {
65
+ $( social_icons_admin_widgets.allowed_socicons ).each( function( ix, icon ) {
66
  if ( url.indexOf( icon ) !== -1 ) {
67
  $this.parents( '.social-icons-field' ).find( '.social-icons-field-handle' ).attr( 'class', 'social-icons-field-handle socicon socicon-' + icon );
68
  found = true;
assets/js/admin/widgets.min.js ADDED
@@ -0,0 +1 @@
 
1
+ jQuery(function(a){function b(a){a.find(".social-icons-list").sortable({items:"li",cursor:"move",axis:"y",handle:"span.socicon",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",opacity:.65})}a(document.body).on("si-init-hidden-options",function(){a("input.show_label").change(function(){var b=a(this).parents(".widget-content").find(".social-icons-list");a(this).is(":checked")?b.removeClass("hide-icons-label"):b.addClass("hide-icons-label")}).change()}).trigger("si-init-hidden-options"),a(document.body).on("click",".social-icons-add-button button",function(b){b.preventDefault();var c=a(this).parents(".widget-content").find(".social-icons-list"),d=c.data("url-field-id"),e=c.data("url-field-name"),f=c.data("label-field-id"),g=c.data("label-field-name"),h=a(a.trim(a("#tmpl-social-icons-field").html()));h.find(".social-icons-field-url").attr("id",d).attr("name",e+"[]"),h.find(".social-icons-field-label").attr("id",f).attr("name",g+"[]"),c.append(h),c.last().find("input:first-child").trigger("focus"),a(this).parents(".widget-content").find(".social-icons-list:last input:first-child").trigger("focus")}),a(document.body).on("keyup",".social-icons-field-url",function(){var b=a(this),c=b.val().toLowerCase(),d=!1;-1!==c.indexOf("feed")?(b.parents(".social-icons-field").find(".social-icons-field-handle").attr("class","social-icons-field-handle socicon socicon-rss"),d=!0):-1!==c.indexOf("vk.com")?(b.parents(".social-icons-field").find(".social-icons-field-handle").attr("class","social-icons-field-handle socicon socicon-vkontakte"),d=!0):-1!==c.indexOf("last.fm")?(b.parents(".social-icons-field").find(".social-icons-field-handle").attr("class","social-icons-field-handle socicon socicon-lastfm"),d=!0):-1!==c.indexOf("youtu.be")?(b.parents(".social-icons-field").find(".social-icons-field-handle").attr("class","social-icons-field-handle socicon socicon-youtube"),d=!0):-1!==c.indexOf("play.google.com")?(b.parents(".social-icons-field").find(".social-icons-field-handle").attr("class","social-icons-field-handle socicon socicon-play"),d=!0):-1!==c.indexOf("plus.google.com")?(b.parents(".social-icons-field").find(".social-icons-field-handle").attr("class","social-icons-field-handle socicon socicon-googleplus"),d=!0):-1!==c.indexOf("feedburner.google.com")?(b.parents(".social-icons-field").find(".social-icons-field-handle").attr("class","social-icons-field-handle socicon socicon-mail"),d=!0):a(social_icons_admin_widgets.allowed_socicons).each(function(a,e){return-1!==c.indexOf(e)?(b.parents(".social-icons-field").find(".social-icons-field-handle").attr("class","social-icons-field-handle socicon socicon-"+e),void(d=!0)):void 0}),d?a(".social-icons-add-button").find("button").removeAttr("disabled"):(b.parents(".social-icons-field").find(".social-icons-field-handle").attr("class","social-icons-field-handle dashicons dashicons-plus"),a(".social-icons-add-button").find("button").attr("disabled","disabled"))}),a(document.body).on("click",".social-icons-field-remove",function(b){b.preventDefault(),a(this).parents(".social-icons-field").remove()}),a(document.body).on("click","div.widget[id*=themegrill_social_icons] .widget-title, div.widget[id*=themegrill_social_icons] .widget-title-action",function(){a(this).parents("#available-widgets").length||b(a(this).parents(".widget[id*=themegrill_social_icons]"))}),a(document).on("widget-added widget-updated",function(c,d){d.is("[id*=themegrill_social_icons]")&&(c.preventDefault(),b(d)),a(document.body).trigger("si-init-hidden-options")})});
assets/js/jquery-tiptip/jquery.tipTip.js ADDED
@@ -0,0 +1,191 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * TipTip
3
+ * Copyright 2010 Drew Wilson
4
+ * www.drewwilson.com
5
+ * code.drewwilson.com/entry/tiptip-jquery-plugin
6
+ *
7
+ * Version 1.3 - Updated: Mar. 23, 2010
8
+ *
9
+ * This Plug-In will create a custom tooltip to replace the default
10
+ * browser tooltip. It is extremely lightweight and very smart in
11
+ * that it detects the edges of the browser window and will make sure
12
+ * the tooltip stays within the current window size. As a result the
13
+ * tooltip will adjust itself to be displayed above, below, to the left
14
+ * or to the right depending on what is necessary to stay within the
15
+ * browser window. It is completely customizable as well via CSS.
16
+ *
17
+ * This TipTip jQuery plug-in is dual licensed under the MIT and GPL licenses:
18
+ * http://www.opensource.org/licenses/mit-license.php
19
+ * http://www.gnu.org/licenses/gpl.html
20
+ */
21
+
22
+ (function($){
23
+ $.fn.tipTip = function(options) {
24
+ var defaults = {
25
+ activation: "hover",
26
+ keepAlive: false,
27
+ maxWidth: "200px",
28
+ edgeOffset: 3,
29
+ defaultPosition: "bottom",
30
+ delay: 400,
31
+ fadeIn: 200,
32
+ fadeOut: 200,
33
+ attribute: "title",
34
+ content: false, // HTML or String to fill TipTIp with
35
+ enter: function(){},
36
+ exit: function(){}
37
+ };
38
+ var opts = $.extend(defaults, options);
39
+
40
+ // Setup tip tip elements and render them to the DOM
41
+ if($("#tiptip_holder").length <= 0){
42
+ var tiptip_holder = $('<div id="tiptip_holder" style="max-width:'+ opts.maxWidth +';"></div>');
43
+ var tiptip_content = $('<div id="tiptip_content"></div>');
44
+ var tiptip_arrow = $('<div id="tiptip_arrow"></div>');
45
+ $("body").append(tiptip_holder.html(tiptip_content).prepend(tiptip_arrow.html('<div id="tiptip_arrow_inner"></div>')));
46
+ } else {
47
+ var tiptip_holder = $("#tiptip_holder");
48
+ var tiptip_content = $("#tiptip_content");
49
+ var tiptip_arrow = $("#tiptip_arrow");
50
+ }
51
+
52
+ return this.each(function(){
53
+ var org_elem = $(this);
54
+ if(opts.content){
55
+ var org_title = opts.content;
56
+ } else {
57
+ var org_title = org_elem.attr(opts.attribute);
58
+ }
59
+ if(org_title != ""){
60
+ if(!opts.content){
61
+ org_elem.removeAttr(opts.attribute); //remove original Attribute
62
+ }
63
+ var timeout = false;
64
+
65
+ if(opts.activation == "hover"){
66
+ org_elem.hover(function(){
67
+ active_tiptip();
68
+ }, function(){
69
+ if(!opts.keepAlive){
70
+ deactive_tiptip();
71
+ }
72
+ });
73
+ if(opts.keepAlive){
74
+ tiptip_holder.hover(function(){}, function(){
75
+ deactive_tiptip();
76
+ });
77
+ }
78
+ } else if(opts.activation == "focus"){
79
+ org_elem.focus(function(){
80
+ active_tiptip();
81
+ }).blur(function(){
82
+ deactive_tiptip();
83
+ });
84
+ } else if(opts.activation == "click"){
85
+ org_elem.click(function(){
86
+ active_tiptip();
87
+ return false;
88
+ }).hover(function(){},function(){
89
+ if(!opts.keepAlive){
90
+ deactive_tiptip();
91
+ }
92
+ });
93
+ if(opts.keepAlive){
94
+ tiptip_holder.hover(function(){}, function(){
95
+ deactive_tiptip();
96
+ });
97
+ }
98
+ }
99
+
100
+ function active_tiptip(){
101
+ opts.enter.call(this);
102
+ tiptip_content.html(org_title);
103
+ tiptip_holder.hide().removeAttr("class").css("margin","0");
104
+ tiptip_arrow.removeAttr("style");
105
+
106
+ var top = parseInt(org_elem.offset()['top']);
107
+ var left = parseInt(org_elem.offset()['left']);
108
+ var org_width = parseInt(org_elem.outerWidth());
109
+ var org_height = parseInt(org_elem.outerHeight());
110
+ var tip_w = tiptip_holder.outerWidth();
111
+ var tip_h = tiptip_holder.outerHeight();
112
+ var w_compare = Math.round((org_width - tip_w) / 2);
113
+ var h_compare = Math.round((org_height - tip_h) / 2);
114
+ var marg_left = Math.round(left + w_compare);
115
+ var marg_top = Math.round(top + org_height + opts.edgeOffset);
116
+ var t_class = "";
117
+ var arrow_top = "";
118
+ var arrow_left = Math.round(tip_w - 12) / 2;
119
+
120
+ if(opts.defaultPosition == "bottom"){
121
+ t_class = "_bottom";
122
+ } else if(opts.defaultPosition == "top"){
123
+ t_class = "_top";
124
+ } else if(opts.defaultPosition == "left"){
125
+ t_class = "_left";
126
+ } else if(opts.defaultPosition == "right"){
127
+ t_class = "_right";
128
+ }
129
+
130
+ var right_compare = (w_compare + left) < parseInt($(window).scrollLeft());
131
+ var left_compare = (tip_w + left) > parseInt($(window).width());
132
+
133
+ if((right_compare && w_compare < 0) || (t_class == "_right" && !left_compare) || (t_class == "_left" && left < (tip_w + opts.edgeOffset + 5))){
134
+ t_class = "_right";
135
+ arrow_top = Math.round(tip_h - 13) / 2;
136
+ arrow_left = -12;
137
+ marg_left = Math.round(left + org_width + opts.edgeOffset);
138
+ marg_top = Math.round(top + h_compare);
139
+ } else if((left_compare && w_compare < 0) || (t_class == "_left" && !right_compare)){
140
+ t_class = "_left";
141
+ arrow_top = Math.round(tip_h - 13) / 2;
142
+ arrow_left = Math.round(tip_w);
143
+ marg_left = Math.round(left - (tip_w + opts.edgeOffset + 5));
144
+ marg_top = Math.round(top + h_compare);
145
+ }
146
+
147
+ var top_compare = (top + org_height + opts.edgeOffset + tip_h + 8) > parseInt($(window).height() + $(window).scrollTop());
148
+ var bottom_compare = ((top + org_height) - (opts.edgeOffset + tip_h + 8)) < 0;
149
+
150
+ if(top_compare || (t_class == "_bottom" && top_compare) || (t_class == "_top" && !bottom_compare)){
151
+ if(t_class == "_top" || t_class == "_bottom"){
152
+ t_class = "_top";
153
+ } else {
154
+ t_class = t_class+"_top";
155
+ }
156
+ arrow_top = tip_h;
157
+ marg_top = Math.round(top - (tip_h + 5 + opts.edgeOffset));
158
+ } else if(bottom_compare | (t_class == "_top" && bottom_compare) || (t_class == "_bottom" && !top_compare)){
159
+ if(t_class == "_top" || t_class == "_bottom"){
160
+ t_class = "_bottom";
161
+ } else {
162
+ t_class = t_class+"_bottom";
163
+ }
164
+ arrow_top = -12;
165
+ marg_top = Math.round(top + org_height + opts.edgeOffset);
166
+ }
167
+
168
+ if(t_class == "_right_top" || t_class == "_left_top"){
169
+ marg_top = marg_top + 5;
170
+ } else if(t_class == "_right_bottom" || t_class == "_left_bottom"){
171
+ marg_top = marg_top - 5;
172
+ }
173
+ if(t_class == "_left_top" || t_class == "_left_bottom"){
174
+ marg_left = marg_left + 5;
175
+ }
176
+ tiptip_arrow.css({"margin-left": arrow_left+"px", "margin-top": arrow_top+"px"});
177
+ tiptip_holder.css({"margin-left": marg_left+"px", "margin-top": marg_top+"px"}).attr("class","tip"+t_class);
178
+
179
+ if (timeout){ clearTimeout(timeout); }
180
+ timeout = setTimeout(function(){ tiptip_holder.stop(true,true).fadeIn(opts.fadeIn); }, opts.delay);
181
+ }
182
+
183
+ function deactive_tiptip(){
184
+ opts.exit.call(this);
185
+ if (timeout){ clearTimeout(timeout); }
186
+ tiptip_holder.fadeOut(opts.fadeOut);
187
+ }
188
+ }
189
+ });
190
+ }
191
+ })(jQuery);
assets/js/jquery-tiptip/jquery.tipTip.min.js ADDED
@@ -0,0 +1 @@
 
1
+ !function(a){a.fn.tipTip=function(b){var c={activation:"hover",keepAlive:!1,maxWidth:"200px",edgeOffset:3,defaultPosition:"bottom",delay:400,fadeIn:200,fadeOut:200,attribute:"title",content:!1,enter:function(){},exit:function(){}},d=a.extend(c,b);if(a("#tiptip_holder").length<=0){var e=a('<div id="tiptip_holder" style="max-width:'+d.maxWidth+';"></div>'),f=a('<div id="tiptip_content"></div>'),g=a('<div id="tiptip_arrow"></div>');a("body").append(e.html(f).prepend(g.html('<div id="tiptip_arrow_inner"></div>')))}else var e=a("#tiptip_holder"),f=a("#tiptip_content"),g=a("#tiptip_arrow");return this.each(function(){function b(){d.enter.call(this),f.html(i),e.hide().removeAttr("class").css("margin","0"),g.removeAttr("style");var b=parseInt(h.offset().top),c=parseInt(h.offset().left),k=parseInt(h.outerWidth()),l=parseInt(h.outerHeight()),m=e.outerWidth(),n=e.outerHeight(),o=Math.round((k-m)/2),p=Math.round((l-n)/2),q=Math.round(c+o),r=Math.round(b+l+d.edgeOffset),s="",t="",u=Math.round(m-12)/2;"bottom"==d.defaultPosition?s="_bottom":"top"==d.defaultPosition?s="_top":"left"==d.defaultPosition?s="_left":"right"==d.defaultPosition&&(s="_right");var v=o+c<parseInt(a(window).scrollLeft()),w=m+c>parseInt(a(window).width());v&&0>o||"_right"==s&&!w||"_left"==s&&c<m+d.edgeOffset+5?(s="_right",t=Math.round(n-13)/2,u=-12,q=Math.round(c+k+d.edgeOffset),r=Math.round(b+p)):(w&&0>o||"_left"==s&&!v)&&(s="_left",t=Math.round(n-13)/2,u=Math.round(m),q=Math.round(c-(m+d.edgeOffset+5)),r=Math.round(b+p));var x=b+l+d.edgeOffset+n+8>parseInt(a(window).height()+a(window).scrollTop()),y=b+l-(d.edgeOffset+n+8)<0;x||"_bottom"==s&&x||"_top"==s&&!y?("_top"==s||"_bottom"==s?s="_top":s+="_top",t=n,r=Math.round(b-(n+5+d.edgeOffset))):(y|("_top"==s&&y)||"_bottom"==s&&!x)&&("_top"==s||"_bottom"==s?s="_bottom":s+="_bottom",t=-12,r=Math.round(b+l+d.edgeOffset)),"_right_top"==s||"_left_top"==s?r+=5:("_right_bottom"==s||"_left_bottom"==s)&&(r-=5),("_left_top"==s||"_left_bottom"==s)&&(q+=5),g.css({"margin-left":u+"px","margin-top":t+"px"}),e.css({"margin-left":q+"px","margin-top":r+"px"}).attr("class","tip"+s),j&&clearTimeout(j),j=setTimeout(function(){e.stop(!0,!0).fadeIn(d.fadeIn)},d.delay)}function c(){d.exit.call(this),j&&clearTimeout(j),e.fadeOut(d.fadeOut)}var h=a(this);if(d.content)var i=d.content;else var i=h.attr(d.attribute);if(""!=i){d.content||h.removeAttr(d.attribute);var j=!1;"hover"==d.activation?(h.hover(function(){b()},function(){d.keepAlive||c()}),d.keepAlive&&e.hover(function(){},function(){c()})):"focus"==d.activation?h.focus(function(){b()}).blur(function(){c()}):"click"==d.activation&&(h.click(function(){return b(),!1}).hover(function(){},function(){d.keepAlive||c()}),d.keepAlive&&e.hover(function(){},function(){c()}))}})}}(jQuery);
assets/js/widgets.min.js DELETED
@@ -1 +0,0 @@
1
- jQuery(function(a){function b(a){a.find(".social-icons-list").sortable({items:"li",cursor:"move",axis:"y",handle:"span.socicon",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",opacity:.65})}var c=["modelmayhem","mixcloud","drupal","swarm","istock","yammer","ello","stackoverflow","persona","triplej","houzz","rss","paypal","odnoklassniki","airbnb","periscope","outlook","coderwall","tripadvisor","appnet","goodreads","tripit","lanyrd","slideshare","buffer","disqus","vkontakte","whatsapp","patreon","storehouse","pocket","mail","blogger","technorati","reddit","dribbble","stumbleupon","digg","envato","behance","delicious","deviantart","forrst","play","zerply","wikipedia","apple","flattr","github","renren","friendfeed","newsvine","identica","bebo","zynga","steam","xbox","windows","qq","douban","meetup","playstation","android","snapchat","twitter","facebook","googleplus","pinterest","foursquare","yahoo","skype","yelp","feedburner","linkedin","viadeo","xing","myspace","soundcloud","spotify","grooveshark","lastfm","youtube","vimeo","dailymotion","vine","flickr","500px","instagram","wordpress","tumblr","twitch","8tracks","amazon","icq","smugmug","ravelry","weibo","baidu","angellist","ebay","imdb","stayfriends","residentadvisor","google","yandex","sharethis","bandcamp","itunes","deezer","medium","telegram","openid","amplement"];a(document.body).on("si-init-hidden-options",function(){a("input.show_label").change(function(){var b=a(this).parents(".widget-content").find(".social-icons-list");a(this).is(":checked")?b.removeClass("hide-icons-label"):b.addClass("hide-icons-label")}).change()}).trigger("si-init-hidden-options"),a(document.body).on("click",".social-icons-add-button button",function(b){b.preventDefault();var c=a(this).parents(".widget-content").find(".social-icons-list"),d=c.data("url-field-id"),e=c.data("url-field-name"),f=c.data("label-field-id"),g=c.data("label-field-name"),h=a(a.trim(a("#tmpl-social-icons-field").html()));h.find(".social-icons-field-url").attr("id",d).attr("name",e+"[]"),h.find(".social-icons-field-label").attr("id",f).attr("name",g+"[]"),c.append(h),c.last().find("input:first-child").trigger("focus"),a(this).parents(".widget-content").find(".social-icons-list:last input:first-child").trigger("focus")}),a(document.body).on("keyup",".social-icons-field-url",function(){var b=a(this),d=b.val().toLowerCase(),e=!1;-1!==d.indexOf("feed")?(b.parents(".social-icons-field").find(".social-icons-field-handle").attr("class","social-icons-field-handle socicon socicon-rss"),e=!0):-1!==d.indexOf("vk.com")?(b.parents(".social-icons-field").find(".social-icons-field-handle").attr("class","social-icons-field-handle socicon socicon-vkontakte"),e=!0):-1!==d.indexOf("last.fm")?(b.parents(".social-icons-field").find(".social-icons-field-handle").attr("class","social-icons-field-handle socicon socicon-lastfm"),e=!0):-1!==d.indexOf("youtu.be")?(b.parents(".social-icons-field").find(".social-icons-field-handle").attr("class","social-icons-field-handle socicon socicon-youtube"),e=!0):-1!==d.indexOf("plus.google.com")?(b.parents(".social-icons-field").find(".social-icons-field-handle").attr("class","social-icons-field-handle socicon socicon-googleplus"),e=!0):-1!==d.indexOf("feedburner.google.com")?(b.parents(".social-icons-field").find(".social-icons-field-handle").attr("class","social-icons-field-handle socicon socicon-mail"),e=!0):a(c).each(function(a,c){return-1!==d.indexOf(c)?(b.parents(".social-icons-field").find(".social-icons-field-handle").attr("class","social-icons-field-handle socicon socicon-"+c),void(e=!0)):void 0}),e?a(".social-icons-add-button").find("button").removeAttr("disabled"):(b.parents(".social-icons-field").find(".social-icons-field-handle").attr("class","social-icons-field-handle dashicons dashicons-plus"),a(".social-icons-add-button").find("button").attr("disabled","disabled"))}),a(document.body).on("click",".social-icons-field-remove",function(b){b.preventDefault(),a(this).parents(".social-icons-field").remove()}),a(document.body).on("click","div.widget[id*=themegrill_social_icons] .widget-title, div.widget[id*=themegrill_social_icons] .widget-title-action",function(){a(this).parents("#available-widgets").length||b(a(this).parents(".widget[id*=themegrill_social_icons]"))}),a(document).on("widget-added widget-updated",function(c,d){d.is("[id*=themegrill_social_icons]")&&(c.preventDefault(),b(d)),a(document.body).trigger("si-init-hidden-options")})});
 
includes/{abstract/abstract-social-icons-widget.php → abstracts/abstract-si-widget.php} RENAMED
@@ -2,14 +2,14 @@
2
  /**
3
  * Abstract Widget Class
4
  *
5
- * @class TG_Widget
6
  * @extends WP_Widget
7
- * @version 1.0.0
8
  * @package Social_Icons/Abstracts
9
  * @category Widgets
10
  * @author ThemeGrill
11
  */
12
- abstract class TG_Widget extends WP_Widget {
13
 
14
  /**
15
  * CSS class.
@@ -53,7 +53,8 @@ abstract class TG_Widget extends WP_Widget {
53
 
54
  $widget_ops = array(
55
  'classname' => $this->widget_cssclass,
56
- 'description' => $this->widget_description
 
57
  );
58
 
59
  parent::__construct( $this->widget_id, $this->widget_name, $widget_ops );
@@ -168,10 +169,10 @@ abstract class TG_Widget extends WP_Widget {
168
  $instance[ $key ] = wp_kses( trim( wp_unslash( $new_instance[ $key ] ) ), wp_kses_allowed_html( 'post' ) );
169
  break;
170
  case 'checkbox' :
171
- $instance[ $key ] = is_null( $new_instance[ $key ] ) ? 0 : 1;
172
  break;
173
  default:
174
- $instance[ $key ] = sanitize_text_field( $new_instance[ $key ] );
175
  break;
176
  }
177
 
2
  /**
3
  * Abstract Widget Class
4
  *
5
+ * @class SI_Widget
6
  * @extends WP_Widget
7
+ * @version 1.4.0
8
  * @package Social_Icons/Abstracts
9
  * @category Widgets
10
  * @author ThemeGrill
11
  */
12
+ abstract class SI_Widget extends WP_Widget {
13
 
14
  /**
15
  * CSS class.
53
 
54
  $widget_ops = array(
55
  'classname' => $this->widget_cssclass,
56
+ 'description' => $this->widget_description,
57
+ 'customize_selective_refresh' => true
58
  );
59
 
60
  parent::__construct( $this->widget_id, $this->widget_name, $widget_ops );
169
  $instance[ $key ] = wp_kses( trim( wp_unslash( $new_instance[ $key ] ) ), wp_kses_allowed_html( 'post' ) );
170
  break;
171
  case 'checkbox' :
172
+ $instance[ $key ] = empty( $new_instance[ $key ] ) ? 0 : 1;
173
  break;
174
  default:
175
+ $instance[ $key ] = isset( $new_instance[ $key ] ) ? sanitize_text_field( $new_instance[ $key ] ) : '';
176
  break;
177
  }
178
 
includes/admin/class-si-admin-assets.php ADDED
@@ -0,0 +1,109 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Social Icons Admin Assets
4
+ *
5
+ * Load Admin Assets.
6
+ *
7
+ * @class SI_Admin_Assets
8
+ * @version 1.4.0
9
+ * @package Social_Icons/Admin
10
+ * @category Admin
11
+ * @author ThemeGrill
12
+ */
13
+
14
+ if ( ! defined( 'ABSPATH' ) ) {
15
+ exit;
16
+ }
17
+
18
+ /**
19
+ * SI_Admin_Assets Class
20
+ */
21
+ class SI_Admin_Assets {
22
+
23
+ /**
24
+ * Hook in tabs.
25
+ */
26
+ public function __construct() {
27
+ add_action( 'admin_enqueue_scripts', array( $this, 'admin_styles' ) );
28
+ add_action( 'admin_enqueue_scripts', array( $this, 'admin_scripts' ) );
29
+ }
30
+
31
+ /**
32
+ * Enqueue styles.
33
+ */
34
+ public function admin_styles() {
35
+ global $wp_scripts;
36
+
37
+ $screen = get_current_screen();
38
+ $screen_id = $screen ? $screen->id : '';
39
+ $jquery_version = isset( $wp_scripts->registered['jquery-ui-core']->ver ) ? $wp_scripts->registered['jquery-ui-core']->ver : '1.9.2';
40
+
41
+ // Register admin styles
42
+ wp_register_style( 'social-icons-admin', SI()->plugin_url() . '/assets/css/admin.css', array(), SI_VERSION );
43
+ wp_register_style( 'social-icons-admin-widgets', SI()->plugin_url() . '/assets/css/widgets.css', array(), SI_VERSION );
44
+ wp_register_style( 'jquery-ui-style', '//code.jquery.com/ui/' . $jquery_version . '/themes/smoothness/jquery-ui.css', array(), $jquery_version );
45
+
46
+ // Admin styles for SI pages only
47
+ if ( in_array( $screen_id, si_get_screen_ids() ) ) {
48
+ wp_enqueue_style( 'social-icons-admin' );
49
+ wp_enqueue_style( 'jquery-ui-style' );
50
+ }
51
+
52
+ if ( in_array( $screen_id, array( 'widgets', 'customize' ) ) ) {
53
+ wp_enqueue_style( 'social-icons-admin-widgets' );
54
+ }
55
+ }
56
+
57
+ /**
58
+ * Enqueue scripts.
59
+ */
60
+ public function admin_scripts() {
61
+ $screen = get_current_screen();
62
+ $screen_id = $screen ? $screen->id : '';
63
+ $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
64
+
65
+ // Register Scripts
66
+ wp_register_script( 'social-icons-admin', SI()->plugin_url() . '/assets/js/admin/admin' . $suffix . '.js', array( 'jquery', 'jquery-ui-sortable', 'jquery-ui-widget', 'jquery-ui-core', 'jquery-tiptip' ), SI_VERSION );
67
+ wp_register_script( 'si-admin-meta-boxes', SI()->plugin_url() . '/assets/js/admin/meta-boxes' . $suffix . '.js', array( 'jquery', 'jquery-ui-datepicker', 'jquery-ui-sortable', 'jquery-tiptip' ), SI_VERSION );
68
+ wp_register_script( 'jquery-tiptip', SI()->plugin_url() . '/assets/js/jquery-tiptip/jquery.tipTip' . $suffix . '.js', array( 'jquery' ), SI_VERSION, true );
69
+
70
+ // Social Icons admin pages
71
+ if ( in_array( $screen_id, si_get_screen_ids() ) ) {
72
+ wp_enqueue_script( 'social-icons-admin' );
73
+ wp_enqueue_script( 'jquery-ui-sortable' );
74
+ wp_enqueue_script( 'jquery-ui-autocomplete' );
75
+
76
+ $params = array(
77
+ 'ajax_url' => admin_url( 'admin-ajax.php' )
78
+ );
79
+
80
+ wp_localize_script( 'social-icons-admin', 'social_icons_admin', $params );
81
+ }
82
+
83
+ // Meta boxes
84
+ if ( in_array( $screen_id, array( 'social_icon', 'edit-social_icon' ) ) ) {
85
+ wp_register_script( 'si-admin-group-meta-boxes', SI()->plugin_url() . '/assets/js/admin/meta-boxes-group' . $suffix . '.js', array( 'si-admin-meta-boxes' ), SI_VERSION );
86
+ wp_enqueue_script( 'si-admin-group-meta-boxes' );
87
+
88
+ $params = array(
89
+ 'allowed_socicons' => si_get_allowed_socicons()
90
+ );
91
+
92
+ wp_localize_script( 'si-admin-group-meta-boxes', 'social_icons_admin_meta_boxes_group', $params );
93
+ }
94
+
95
+ // Widgets Specific
96
+ if ( in_array( $screen_id, array( 'widgets', 'customize' ) ) ) {
97
+ wp_register_script( 'si-admin-widgets', SI()->plugin_url() . '/assets/js/admin/widgets' . $suffix . '.js', array( 'jquery' ), SI_VERSION );
98
+ wp_enqueue_script( 'si-admin-widgets' );
99
+
100
+ $params = array(
101
+ 'allowed_socicons' => si_get_allowed_socicons()
102
+ );
103
+
104
+ wp_localize_script( 'si-admin-widgets', 'social_icons_admin_widgets', $params );
105
+ }
106
+ }
107
+ }
108
+
109
+ new SI_Admin_Assets();
includes/admin/class-si-admin-meta-boxes.php ADDED
@@ -0,0 +1,145 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Social Icons Meta Boxes
4
+ *
5
+ * Sets up the write panels used by custom post types.
6
+ *
7
+ * @class SI_Admin_Meta_Boxes
8
+ * @version 1.4.0
9
+ * @package Social_Icons/Admin/Meta Boxes
10
+ * @category Admin
11
+ * @author ThemeGrill
12
+ */
13
+
14
+ if ( ! defined( 'ABSPATH' ) ) {
15
+ exit;
16
+ }
17
+
18
+ /**
19
+ * SI_Admin_Meta_Boxes Class
20
+ */
21
+ class SI_Admin_Meta_Boxes {
22
+
23
+ /**
24
+ * Is meta boxes saved once?
25
+ *
26
+ * @var boolean
27
+ */
28
+ private static $saved_meta_boxes = false;
29
+
30
+ /**
31
+ * Meta box error messages.
32
+ *
33
+ * @var array
34
+ */
35
+ public static $meta_box_errors = array();
36
+
37
+ /**
38
+ * Hook in tabs.
39
+ */
40
+ public function __construct() {
41
+ add_action( 'add_meta_boxes', array( $this, 'remove_meta_boxes' ), 10 );
42
+ add_action( 'add_meta_boxes', array( $this, 'add_meta_boxes' ), 20 );
43
+ add_action( 'save_post', array( $this, 'save_meta_boxes' ), 1, 2 );
44
+
45
+ // Save Icon Meta Boxes
46
+ add_action( 'social_icons_process_social_icon_meta', 'SI_Meta_Box_Group_Data::save', 10, 2 );
47
+
48
+ // Error handling (for showing errors from meta boxes on next page load)
49
+ add_action( 'admin_notices', array( $this, 'output_errors' ) );
50
+ add_action( 'shutdown', array( $this, 'save_errors' ) );
51
+ }
52
+
53
+ /**
54
+ * Add an error message.
55
+ * @param string $text
56
+ */
57
+ public static function add_error( $text ) {
58
+ self::$meta_box_errors[] = $text;
59
+ }
60
+
61
+ /**
62
+ * Save errors to an option.
63
+ */
64
+ public function save_errors() {
65
+ update_option( 'social_icons_meta_box_errors', self::$meta_box_errors );
66
+ }
67
+
68
+ /**
69
+ * Show any stored error messages.
70
+ */
71
+ public function output_errors() {
72
+ $errors = maybe_unserialize( get_option( 'social_icons_meta_box_errors' ) );
73
+
74
+ if ( ! empty( $errors ) ) {
75
+
76
+ echo '<div id="social_icons_errors" class="error notice is-dismissible">';
77
+
78
+ foreach ( $errors as $error ) {
79
+ echo '<p>' . wp_kses_post( $error ) . '</p>';
80
+ }
81
+
82
+ echo '</div>';
83
+
84
+ // Clear
85
+ delete_option( 'social_icons_meta_box_errors' );
86
+ }
87
+ }
88
+
89
+ /**
90
+ * Add SI Meta boxes.
91
+ */
92
+ public function add_meta_boxes() {
93
+ add_meta_box( 'social-icons-group-data', __( 'Social Data', 'social-icons' ), 'SI_Meta_Box_Group_Data::output', 'social_icon', 'normal', 'high' );
94
+ }
95
+
96
+ /**
97
+ * Remove bloat.
98
+ */
99
+ public function remove_meta_boxes() {
100
+ remove_meta_box( 'commentstatusdiv', 'social_icon', 'normal' );
101
+ remove_meta_box( 'slugdiv', 'social_icon', 'normal' );
102
+ }
103
+
104
+ /**
105
+ * Check if we're saving, the trigger an action based on the post type.
106
+ * @param int $post_id
107
+ * @param object $post
108
+ */
109
+ public function save_meta_boxes( $post_id, $post ) {
110
+ // $post_id and $post are required
111
+ if ( empty( $post_id ) || empty( $post ) || self::$saved_meta_boxes ) {
112
+ return;
113
+ }
114
+
115
+ // Don't save meta boxes for revisions or autosaves
116
+ if ( defined( 'DOING_AUTOSAVE' ) || is_int( wp_is_post_revision( $post ) ) || is_int( wp_is_post_autosave( $post ) ) ) {
117
+ return;
118
+ }
119
+
120
+ // Check the nonce
121
+ if ( empty( $_POST['social_icons_meta_nonce'] ) || ! wp_verify_nonce( $_POST['social_icons_meta_nonce'], 'social_icons_save_data' ) ) {
122
+ return;
123
+ }
124
+
125
+ // Check the post being saved == the $post_id to prevent triggering this call for other save_post events
126
+ if ( empty( $_POST['post_ID'] ) || $_POST['post_ID'] != $post_id ) {
127
+ return;
128
+ }
129
+
130
+ // Check user has permission to edit
131
+ if ( ! current_user_can( 'edit_post', $post_id ) ) {
132
+ return;
133
+ }
134
+
135
+ // We need this save event to run once to avoid potential endless loops. This would have been perfect:
136
+ self::$saved_meta_boxes = true;
137
+
138
+ // Check the post type
139
+ if ( in_array( $post->post_type, array( 'social_icon' ) ) ) {
140
+ do_action( 'social_icons_process_' . $post->post_type . '_meta', $post_id, $post );
141
+ }
142
+ }
143
+ }
144
+
145
+ new SI_Admin_Meta_Boxes();
includes/admin/class-si-admin-post-types.php ADDED
@@ -0,0 +1,282 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Post Types Admin
4
+ *
5
+ * @class SI_Admin_Post_Types
6
+ * @version 1.4.0
7
+ * @package Social_Icons/Admin
8
+ * @category Admin
9
+ * @author ThemeGrill
10
+ */
11
+
12
+ if ( ! defined( 'ABSPATH' ) ) {
13
+ exit;
14
+ }
15
+
16
+ /**
17
+ * SI_Admin_Post_Types Class
18
+ *
19
+ * Handles the edit posts views and some functionality on the edit post screen for SI post types.
20
+ */
21
+ class SI_Admin_Post_Types {
22
+
23
+ /**
24
+ * Constructor.
25
+ */
26
+ public function __construct() {
27
+ add_filter( 'post_updated_messages', array( $this, 'post_updated_messages' ) );
28
+ add_filter( 'bulk_post_updated_messages', array( $this, 'bulk_post_updated_messages' ), 10, 2 );
29
+
30
+ // WP List table columns. Defined here so they are always available for events such as inline editing.
31
+ add_filter( 'manage_social_icon_posts_columns', array( $this, 'social_icons_columns' ) );
32
+ add_action( 'manage_social_icon_posts_custom_column', array( $this, 'render_social_icon_columns' ), 2 );
33
+ add_filter( 'manage_edit-social_icon_sortable_columns', array( $this, 'social_icon_sortable_columns' ) );
34
+
35
+ add_filter( 'list_table_primary_column', array( $this, 'list_table_primary_column' ), 10, 2 );
36
+ add_filter( 'post_row_actions', array( $this, 'row_actions' ), 2, 100 );
37
+
38
+ // Edit post screens
39
+ add_filter( 'enter_title_here', array( $this, 'enter_title_here' ), 1, 2 );
40
+ add_action( 'edit_form_after_title', array( $this, 'edit_form_after_title' ) );
41
+
42
+ // Meta-Box Class
43
+ include_once( 'class-si-admin-meta-boxes.php' );
44
+
45
+ // Disable post type view mode options
46
+ add_filter( 'view_mode_post_types', array( $this, 'disable_view_mode_options' ) );
47
+ }
48
+
49
+ /**
50
+ * Change messages when a post type is updated.
51
+ * @param array $messages
52
+ * @return array
53
+ */
54
+ public function post_updated_messages( $messages ) {
55
+ global $post, $post_ID;
56
+
57
+ $messages['social_icon'] = array(
58
+ 0 => '', // Unused. Messages start at index 1.
59
+ 1 => __( 'Social Icon updated.', 'social-icons' ),
60
+ 2 => __( 'Custom field updated.', 'social-icons' ),
61
+ 3 => __( 'Custom field deleted.', 'social-icons' ),
62
+ 4 => __( 'Social updated.', 'social-icons' ),
63
+ 5 => isset( $_GET['revision'] ) ? sprintf( __( 'Social Icon restored to revision from %s', 'social-icons' ), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false,
64
+ 6 => __( 'Social Icon updated.', 'social-icons' ),
65
+ 7 => __( 'Social Icon saved.', 'social-icons' ),
66
+ 8 => __( 'Social Icon submitted.', 'social-icons' ),
67
+ 9 => sprintf( __( 'Social Icon scheduled for: <strong>%1$s</strong>.', 'social-icons' ),
68
+ date_i18n( __( 'M j, Y @ G:i', 'social-icons' ), strtotime( $post->post_date ) ) ),
69
+ 10 => __( 'Social Icon draft updated.', 'social-icons' )
70
+ );
71
+
72
+ return $messages;
73
+ }
74
+
75
+ /**
76
+ * Specify custom bulk actions messages for different post types.
77
+ * @param array $bulk_messages
78
+ * @param array $bulk_counts
79
+ * @return array
80
+ */
81
+ public function bulk_post_updated_messages( $bulk_messages, $bulk_counts ) {
82
+
83
+ $bulk_messages['social_icon'] = array(
84
+ 'updated' => _n( '%s social icon updated.', '%s social icons updated.', $bulk_counts['updated'], 'social-icons' ),
85
+ 'locked' => _n( '%s social icon not updated, somebody is editing it.', '%s social icons not updated, somebody is editing them.', $bulk_counts['locked'], 'social-icons' ),
86
+ 'deleted' => _n( '%s social icon permanently deleted.', '%s social icons permanently deleted.', $bulk_counts['deleted'], 'social-icons' ),
87
+ 'trashed' => _n( '%s social icon moved to the Trash.', '%s social icons moved to the Trash.', $bulk_counts['trashed'], 'social-icons' ),
88
+ 'untrashed' => _n( '%s social icon restored from the Trash.', '%s social icons restored from the Trash.', $bulk_counts['untrashed'], 'social-icons' ),
89
+ );
90
+
91
+ return $bulk_messages;
92
+ }
93
+
94
+ /**
95
+ * Define custom columns for icons.
96
+ * @param array $existing_columns
97
+ * @return array
98
+ */
99
+ public function social_icons_columns( $existing_columns ) {
100
+ $columns = array();
101
+ $columns['cb'] = $existing_columns['cb'];
102
+ $columns['name'] = __( 'Name', 'social-icons' );
103
+ $columns['shortcode'] = __( 'Shortcode', 'social-icons' ) . si_help_tip( __( 'Copy and paste the shortcode on your post, page to render social icons.', 'social-icons') );
104
+ $columns['author'] = __( 'Author', 'social-icons' );
105
+ $columns['date'] = __( 'Date', 'social-icons' );
106
+
107
+ return $columns;
108
+ }
109
+
110
+ /**
111
+ * Output custom columns for icons.
112
+ * @param string $column
113
+ */
114
+ public function render_social_icon_columns( $column ) {
115
+ global $post;
116
+
117
+ switch ( $column ) {
118
+ case 'name':
119
+ $edit_link = get_edit_post_link( $post->ID );
120
+ $title = _draft_or_post_title();
121
+
122
+ echo '<strong><a class="row-title" href="' . esc_url( $edit_link ) . '">' . esc_html( $title ) . '</a>';
123
+
124
+ _post_states( $post );
125
+
126
+ echo '</strong>';
127
+
128
+ $this->_render_social_icon_row_actions( $post, $title );
129
+ break;
130
+ case 'shortcode' :
131
+ $shortcode = '[social_icons_group id="' . $post->ID . '"]';
132
+ echo '<span class="shortcode"><input type="text" class="regular-text code" onfocus="this.select();" readonly="readonly" value="' . esc_attr( $shortcode ) . '" /></span>';
133
+ break;
134
+ default:
135
+ break;
136
+ }
137
+ }
138
+
139
+ /**
140
+ * Render social_icon row actions for old version of WordPress.
141
+ * Since WordPress 4.3 we don't have to build the row actions.
142
+ *
143
+ * @param WP_Post $post
144
+ * @param string $title
145
+ */
146
+ private function _render_social_icon_row_actions( $post, $title ) {
147
+ global $wp_version;
148
+
149
+ if ( version_compare( $wp_version, '4.3-beta', '>=' ) ) {
150
+ return;
151
+ }
152
+
153
+ $post_type_object = get_post_type_object( $post->post_type );
154
+
155
+ // Get actions
156
+ $actions = array();
157
+
158
+ if ( current_user_can( $post_type_object->cap->edit_post, $post->ID ) ) {
159
+ $actions['edit'] = '<a href="' . admin_url( sprintf( $post_type_object->_edit_link . '&amp;action=edit', $post->ID ) ) . '">' . __( 'Edit', 'social-icons' ) . '</a>';
160
+ }
161
+
162
+ if ( current_user_can( $post_type_object->cap->delete_post, $post->ID ) ) {
163
+
164
+ if ( 'trash' == $post->post_status ) {
165
+ $actions['untrash'] = "<a title='" . esc_attr( __( 'Restore this item from the Trash', 'social-icons' ) ) . "' href='" . wp_nonce_url( admin_url( sprintf( $post_type_object->_edit_link . '&amp;action=untrash', $post->ID ) ), 'untrash-post_' . $post->ID ) . "'>" . __( 'Restore', 'social-icons' ) . "</a>";
166
+ } elseif ( EMPTY_TRASH_DAYS ) {
167
+ $actions['trash'] = "<a class='submitdelete' title='" . esc_attr( __( 'Move this item to the Trash', 'social-icons' ) ) . "' href='" . get_delete_post_link( $post->ID ) . "'>" . __( 'Trash', 'social-icons' ) . "</a>";
168
+ }
169
+
170
+ if ( 'trash' == $post->post_status || ! EMPTY_TRASH_DAYS ) {
171
+ $actions['delete'] = "<a class='submitdelete' title='" . esc_attr( __( 'Delete this item permanently', 'social-icons' ) ) . "' href='" . get_delete_post_link( $post->ID, '', true ) . "'>" . __( 'Delete Permanently', 'social-icons' ) . "</a>";
172
+ }
173
+ }
174
+
175
+ $actions = apply_filters( 'post_row_actions', $actions, $post );
176
+
177
+ echo '<div class="row-actions">';
178
+
179
+ $i = 0;
180
+ $action_count = sizeof( $actions );
181
+
182
+ foreach ( $actions as $action => $link ) {
183
+ ++$i;
184
+ ( $i == $action_count ) ? $sep = '' : $sep = ' | ';
185
+ echo "<span class='$action'>$link$sep</span>";
186
+ }
187
+ echo '</div>';
188
+ }
189
+
190
+ /**
191
+ * Make columns sortable - https://gist.github.com/906872
192
+ * @param array $columns
193
+ * @return array
194
+ */
195
+ public function social_icon_sortable_columns( $columns ) {
196
+ $custom = array(
197
+ 'name' => 'title',
198
+ 'author' => 'author'
199
+ );
200
+ return wp_parse_args( $custom, $columns );
201
+ }
202
+
203
+ /**
204
+ * Set list table primary column for social icon
205
+ * Support for WordPress 4.3
206
+ *
207
+ * @param string $default
208
+ * @param string $screen_id
209
+ *
210
+ * @return string
211
+ */
212
+ public function list_table_primary_column( $default, $screen_id ) {
213
+
214
+ if ( 'edit-social_icon' === $screen_id ) {
215
+ return 'name';
216
+ }
217
+
218
+ return $default;
219
+ }
220
+
221
+ /**
222
+ * Set row actions for social icon.
223
+ *
224
+ * @param array $actions
225
+ * @param WP_Post $post
226
+ *
227
+ * @return array
228
+ */
229
+ public function row_actions( $actions, $post ) {
230
+
231
+ if ( 'social_icon' === $post->post_type ) {
232
+ if ( isset( $actions['inline hide-if-no-js'] ) ) {
233
+ unset( $actions['inline hide-if-no-js'] );
234
+ }
235
+ }
236
+
237
+ return $actions;
238
+ }
239
+
240
+ /**
241
+ * Change title boxes in admin.
242
+ * @param string $text
243
+ * @param object $post
244
+ * @return string
245
+ */
246
+ public function enter_title_here( $text, $post ) {
247
+ switch ( $post->post_type ) {
248
+ case 'social_icon':
249
+ $text = __( 'Social Icon name', 'social-icons' );
250
+ break;
251
+ }
252
+
253
+ return $text;
254
+ }
255
+
256
+ /**
257
+ * Print group description textarea field
258
+ * @param WP_Post $post
259
+ */
260
+ public function edit_form_after_title( $post ) {
261
+ if ( 'social_icon' === $post->post_type ) {
262
+ ?>
263
+ <textarea id="social-icons-group-description" name="excerpt" cols="5" rows="2" placeholder="<?php esc_attr_e( 'Description (optional)', 'social-icons' ); ?>"><?php echo $post->post_excerpt; ?></textarea>
264
+ <?php
265
+ }
266
+ }
267
+
268
+ /**
269
+ * Removes social icon from the list of post types that support "View Mode" switching.
270
+ * View mode is seen on posts where you can switch between list or excerpt. Our post types don't support
271
+ * it, so we want to hide the useless UI from the screen options tab.
272
+ *
273
+ * @param array $post_types Array of post types supporting view mode
274
+ * @return array Array of post types supporting view mode, without social icon
275
+ */
276
+ public function disable_view_mode_options( $post_types ) {
277
+ unset( $post_types['social_icon'] );
278
+ return $post_types;
279
+ }
280
+ }
281
+
282
+ new SI_Admin_Post_Types();
includes/admin/class-si-admin.php ADDED
@@ -0,0 +1,72 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Social Icons Admin.
4
+ *
5
+ * @class SI_Admin
6
+ * @version 1.4.0
7
+ * @package Social_Icons/Admin
8
+ * @category Admin
9
+ * @author ThemeGrill
10
+ */
11
+
12
+ if ( ! defined( 'ABSPATH' ) ) {
13
+ exit;
14
+ }
15
+
16
+ /**
17
+ * SI_Admin Class
18
+ */
19
+ class SI_Admin {
20
+
21
+ /**
22
+ * Hook in tabs.
23
+ */
24
+ public function __construct() {
25
+ add_action( 'init', array( $this, 'includes' ) );
26
+ add_action( 'admin_footer', 'si_print_js', 25 );
27
+ add_filter( 'admin_footer_text', array( $this, 'admin_footer_text' ), 1 );
28
+ }
29
+
30
+ /**
31
+ * Include any classes we need within admin.
32
+ */
33
+ public function includes() {
34
+ include_once( 'functions-si-admin.php' );
35
+ include_once( 'functions-si-meta-box.php' );
36
+ include_once( 'class-si-admin-assets.php' );
37
+ include_once( 'class-si-admin-post-types.php' );
38
+ }
39
+
40
+ /**
41
+ * Change the admin footer text on Social Icons admin pages.
42
+ * @param string $footer_text
43
+ * @return string
44
+ */
45
+ public function admin_footer_text( $footer_text ) {
46
+ if ( ! current_user_can( 'manage_options' ) ) {
47
+ return;
48
+ }
49
+ $current_screen = get_current_screen();
50
+ $si_pages = si_get_screen_ids();
51
+
52
+ // Check to make sure we're on a Social Icons admin page
53
+ if ( isset( $current_screen->id ) && apply_filters( 'social_icons_display_admin_footer_text', in_array( $current_screen->id, $si_pages ) ) ) {
54
+ // Change the footer text
55
+ if ( ! get_option( 'social_icons_admin_footer_text_rated' ) ) {
56
+ $footer_text = sprintf( __( 'If you like <strong>Social Icons</strong> please leave us a %s&#9733;&#9733;&#9733;&#9733;&#9733;%s rating. A huge thank you from ThemeGrill in advance!', 'social-icons' ), '<a href="https://wordpress.org/support/view/plugin-reviews/social-icons?filter=5#postform" target="_blank" class="si-rating-link" data-rated="' . esc_attr__( 'Thanks :)', 'social-icons' ) . '">', '</a>' );
57
+ si_enqueue_js( "
58
+ jQuery( 'a.si-rating-link' ).click( function() {
59
+ jQuery.post( '" . SI()->ajax_url() . "', { action: 'social_icons_rated' } );
60
+ jQuery( this ).parent().text( jQuery( this ).data( 'rated' ) );
61
+ });
62
+ " );
63
+ } else {
64
+ $footer_text = __( 'Thank you for creating with Social Icons.', 'social-icons' );
65
+ }
66
+ }
67
+
68
+ return $footer_text;
69
+ }
70
+ }
71
+
72
+ new SI_Admin();
includes/admin/functions-si-admin.php ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Social Icons Admin Functions
4
+ *
5
+ * @author ThemeGrill
6
+ * @category Core
7
+ * @package Social_Icons/Admin/Functions
8
+ * @version 1.4.0
9
+ */
10
+
11
+ if ( ! defined( 'ABSPATH' ) ) {
12
+ exit;
13
+ }
14
+
15
+ /**
16
+ * Get all social icons screen ids.
17
+ * @return array
18
+ */
19
+ function si_get_screen_ids() {
20
+ return apply_filters( 'social_icons_screen_ids', array( 'edit-social_icon', 'social_icon' ) );
21
+ }
22
+
23
+ /**
24
+ * Get the social icon name for given website url.
25
+ *
26
+ * @param string $url Social site link.
27
+ * @return string
28
+ */
29
+ function si_get_social_icon_name( $url ) {
30
+ $icon = '';
31
+
32
+ if ( $url = strtolower( $url ) ) {
33
+ if ( strstr( $url, 'feed' ) ) {
34
+ $icon = 'rss';
35
+ } elseif( strstr( $url, 'vk.com' ) ) {
36
+ $icon = 'vkontakte';
37
+ } elseif ( strstr( $url, 'last.fm' ) ) {
38
+ $icon = 'lastfm';
39
+ } elseif ( strstr( $url, 'youtu.be' ) ) {
40
+ $icon = 'youtube';
41
+ } elseif ( strstr( $url, 'play.google.com' ) ) {
42
+ $icon = 'play';
43
+ } elseif ( strstr( $url, 'plus.google.com' ) ) {
44
+ $icon = 'googleplus';
45
+ } elseif ( strstr( $url, 'feedburner.google.com' ) ) {
46
+ $icon = 'mail';
47
+ }
48
+
49
+ if ( ! $icon ) {
50
+ foreach ( si_get_allowed_socicons() as $icon_name ) {
51
+ if ( strstr( $url, $icon_name ) ) {
52
+ $icon = $icon_name;
53
+ break;
54
+ }
55
+ }
56
+ }
57
+ }
58
+
59
+ return apply_filters( 'social_icons_get_icon_name', $icon, $url );
60
+ }
includes/admin/functions-si-meta-box.php ADDED
@@ -0,0 +1,238 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Social Icons Meta Box Functions
4
+ *
5
+ * @author ThemeGrill
6
+ * @category Core
7
+ * @package Social_Icons/Admin/Functions
8
+ * @version 1.4.0
9
+ */
10
+
11
+ if ( ! defined( 'ABSPATH' ) ) {
12
+ exit;
13
+ }
14
+
15
+ /**
16
+ * Output a text input box.
17
+ * @param array $field
18
+ */
19
+ function social_icons_wp_text_input( $field ) {
20
+ global $thepostid, $post;
21
+
22
+ $thepostid = empty( $thepostid ) ? $post->ID : $thepostid;
23
+ $field['placeholder'] = isset( $field['placeholder'] ) ? $field['placeholder'] : '';
24
+ $field['class'] = isset( $field['class'] ) ? $field['class'] : 'short';
25
+ $field['style'] = isset( $field['style'] ) ? $field['style'] : '';
26
+ $field['wrapper_class'] = isset( $field['wrapper_class'] ) ? $field['wrapper_class'] : '';
27
+ $field['value'] = isset( $field['value'] ) ? $field['value'] : get_post_meta( $thepostid, $field['id'], true );
28
+ $field['name'] = isset( $field['name'] ) ? $field['name'] : $field['id'];
29
+ $field['type'] = isset( $field['type'] ) ? $field['type'] : 'text';
30
+ $data_type = empty( $field['data_type'] ) ? '' : $field['data_type'];
31
+
32
+ switch ( $data_type ) {
33
+ case 'url' :
34
+ $field['class'] .= ' si_input_url';
35
+ $field['value'] = esc_url( $field['value'] );
36
+ break;
37
+
38
+ default :
39
+ break;
40
+ }
41
+
42
+ // Custom attribute handling
43
+ $custom_attributes = array();
44
+
45
+ if ( ! empty( $field['custom_attributes'] ) && is_array( $field['custom_attributes'] ) ) {
46
+
47
+ foreach ( $field['custom_attributes'] as $attribute => $value ){
48
+ $custom_attributes[] = esc_attr( $attribute ) . '="' . esc_attr( $value ) . '"';
49
+ }
50
+ }
51
+
52
+ echo '<p class="form-field ' . esc_attr( $field['id'] ) . '_field ' . esc_attr( $field['wrapper_class'] ) . '"><label for="' . esc_attr( $field['id'] ) . '">' . wp_kses_post( $field['label'] ) . '</label><input type="' . esc_attr( $field['type'] ) . '" class="' . esc_attr( $field['class'] ) . '" style="' . esc_attr( $field['style'] ) . '" name="' . esc_attr( $field['name'] ) . '" id="' . esc_attr( $field['id'] ) . '" value="' . esc_attr( $field['value'] ) . '" placeholder="' . esc_attr( $field['placeholder'] ) . '" ' . implode( ' ', $custom_attributes ) . ' /> ';
53
+
54
+ if ( ! empty( $field['description'] ) ) {
55
+
56
+ if ( isset( $field['desc_tip'] ) && false !== $field['desc_tip'] ) {
57
+ echo si_help_tip( $field['description'] );
58
+ } else {
59
+ echo '<span class="description">' . wp_kses_post( $field['description'] ) . '</span>';
60
+ }
61
+ }
62
+ echo '</p>';
63
+ }
64
+
65
+ /**
66
+ * Output a hidden input box.
67
+ * @param array $field
68
+ */
69
+ function social_icons_wp_hidden_input( $field ) {
70
+ global $thepostid, $post;
71
+
72
+ $thepostid = empty( $thepostid ) ? $post->ID : $thepostid;
73
+ $field['value'] = isset( $field['value'] ) ? $field['value'] : get_post_meta( $thepostid, $field['id'], true );
74
+ $field['class'] = isset( $field['class'] ) ? $field['class'] : '';
75
+
76
+ echo '<input type="hidden" class="' . esc_attr( $field['class'] ) . '" name="' . esc_attr( $field['id'] ) . '" id="' . esc_attr( $field['id'] ) . '" value="' . esc_attr( $field['value'] ) . '" /> ';
77
+ }
78
+
79
+ /**
80
+ * Output a textarea input box.
81
+ * @param array $field
82
+ */
83
+ function social_icons_wp_textarea_input( $field ) {
84
+ global $thepostid, $post;
85
+
86
+ $thepostid = empty( $thepostid ) ? $post->ID : $thepostid;
87
+ $field['placeholder'] = isset( $field['placeholder'] ) ? $field['placeholder'] : '';
88
+ $field['class'] = isset( $field['class'] ) ? $field['class'] : 'short';
89
+ $field['style'] = isset( $field['style'] ) ? $field['style'] : '';
90
+ $field['wrapper_class'] = isset( $field['wrapper_class'] ) ? $field['wrapper_class'] : '';
91
+ $field['value'] = isset( $field['value'] ) ? $field['value'] : get_post_meta( $thepostid, $field['id'], true );
92
+
93
+ // Custom attribute handling
94
+ $custom_attributes = array();
95
+
96
+ if ( ! empty( $field['custom_attributes'] ) && is_array( $field['custom_attributes'] ) ) {
97
+
98
+ foreach ( $field['custom_attributes'] as $attribute => $value ){
99
+ $custom_attributes[] = esc_attr( $attribute ) . '="' . esc_attr( $value ) . '"';
100
+ }
101
+ }
102
+
103
+ echo '<p class="form-field ' . esc_attr( $field['id'] ) . '_field ' . esc_attr( $field['wrapper_class'] ) . '"><label for="' . esc_attr( $field['id'] ) . '">' . wp_kses_post( $field['label'] ) . '</label><textarea class="' . esc_attr( $field['class'] ) . '" style="' . esc_attr( $field['style'] ) . '" name="' . esc_attr( $field['id'] ) . '" id="' . esc_attr( $field['id'] ) . '" placeholder="' . esc_attr( $field['placeholder'] ) . '" rows="2" cols="20" ' . implode( ' ', $custom_attributes ) . '>' . esc_textarea( $field['value'] ) . '</textarea> ';
104
+
105
+ if ( ! empty( $field['description'] ) ) {
106
+
107
+ if ( isset( $field['desc_tip'] ) && false !== $field['desc_tip'] ) {
108
+ echo si_help_tip( $field['description'] );
109
+ } else {
110
+ echo '<span class="description">' . wp_kses_post( $field['description'] ) . '</span>';
111
+ }
112
+ }
113
+ echo '</p>';
114
+ }
115
+
116
+ /**
117
+ * Output a checkbox input box.
118
+ * @param array $field
119
+ */
120
+ function social_icons_wp_checkbox( $field ) {
121
+ global $thepostid, $post;
122
+
123
+ $thepostid = empty( $thepostid ) ? $post->ID : $thepostid;
124
+ $field['class'] = isset( $field['class'] ) ? $field['class'] : 'checkbox';
125
+ $field['style'] = isset( $field['style'] ) ? $field['style'] : '';
126
+ $field['wrapper_class'] = isset( $field['wrapper_class'] ) ? $field['wrapper_class'] : '';
127
+ $field['value'] = isset( $field['value'] ) ? $field['value'] : get_post_meta( $thepostid, $field['id'], true );
128
+ $field['cbvalue'] = isset( $field['cbvalue'] ) ? $field['cbvalue'] : 'yes';
129
+ $field['name'] = isset( $field['name'] ) ? $field['name'] : $field['id'];
130
+
131
+ // Custom attribute handling
132
+ $custom_attributes = array();
133
+
134
+ if ( ! empty( $field['custom_attributes'] ) && is_array( $field['custom_attributes'] ) ) {
135
+
136
+ foreach ( $field['custom_attributes'] as $attribute => $value ){
137
+ $custom_attributes[] = esc_attr( $attribute ) . '="' . esc_attr( $value ) . '"';
138
+ }
139
+ }
140
+
141
+ echo '<p class="form-field ' . esc_attr( $field['id'] ) . '_field ' . esc_attr( $field['wrapper_class'] ) . '"><label for="' . esc_attr( $field['id'] ) . '">' . wp_kses_post( $field['label'] ) . '</label><input type="checkbox" class="' . esc_attr( $field['class'] ) . '" style="' . esc_attr( $field['style'] ) . '" name="' . esc_attr( $field['name'] ) . '" id="' . esc_attr( $field['id'] ) . '" value="' . esc_attr( $field['cbvalue'] ) . '" ' . checked( $field['value'], $field['cbvalue'], false ) . ' ' . implode( ' ', $custom_attributes ) . '/> ';
142
+
143
+ if ( ! empty( $field['description'] ) ) {
144
+
145
+ if ( isset( $field['desc_tip'] ) && false !== $field['desc_tip'] ) {
146
+ echo si_help_tip( $field['description'] );
147
+ } else {
148
+ echo '<span class="description">' . wp_kses_post( $field['description'] ) . '</span>';
149
+ }
150
+ }
151
+
152
+ echo '</p>';
153
+ }
154
+
155
+ /**
156
+ * Output a select input box.
157
+ * @param array $field
158
+ */
159
+ function social_icons_wp_select( $field ) {
160
+ global $thepostid, $post;
161
+
162
+ $thepostid = empty( $thepostid ) ? $post->ID : $thepostid;
163
+ $field['class'] = isset( $field['class'] ) ? $field['class'] : 'select short';
164
+ $field['style'] = isset( $field['style'] ) ? $field['style'] : '';
165
+ $field['wrapper_class'] = isset( $field['wrapper_class'] ) ? $field['wrapper_class'] : '';
166
+ $field['value'] = isset( $field['value'] ) ? $field['value'] : get_post_meta( $thepostid, $field['id'], true );
167
+ $field['name'] = isset( $field['name'] ) ? $field['name'] : $field['id'];
168
+
169
+ // Custom attribute handling
170
+ $custom_attributes = array();
171
+
172
+ if ( ! empty( $field['custom_attributes'] ) && is_array( $field['custom_attributes'] ) ) {
173
+
174
+ foreach ( $field['custom_attributes'] as $attribute => $value ){
175
+ $custom_attributes[] = esc_attr( $attribute ) . '="' . esc_attr( $value ) . '"';
176
+ }
177
+ }
178
+
179
+ echo '<p class="form-field ' . esc_attr( $field['id'] ) . '_field ' . esc_attr( $field['wrapper_class'] ) . '"><label for="' . esc_attr( $field['id'] ) . '">' . wp_kses_post( $field['label'] ) . '</label><select id="' . esc_attr( $field['id'] ) . '" name="' . esc_attr( $field['name'] ) . '" class="' . esc_attr( $field['class'] ) . '" style="' . esc_attr( $field['style'] ) . '" ' . implode( ' ', $custom_attributes ) . '>';
180
+
181
+ foreach ( $field['options'] as $key => $value ) {
182
+ echo '<option value="' . esc_attr( $key ) . '" ' . selected( esc_attr( $field['value'] ), esc_attr( $key ), false ) . '>' . esc_html( $value ) . '</option>';
183
+ }
184
+
185
+ echo '</select> ';
186
+
187
+ if ( ! empty( $field['description'] ) ) {
188
+
189
+ if ( isset( $field['desc_tip'] ) && false !== $field['desc_tip'] ) {
190
+ echo si_help_tip( $field['description'] );
191
+ } else {
192
+ echo '<span class="description">' . wp_kses_post( $field['description'] ) . '</span>';
193
+ }
194
+ }
195
+ echo '</p>';
196
+ }
197
+
198
+ /**
199
+ * Output a radio input box.
200
+ * @param array $field
201
+ */
202
+ function social_icons_wp_radio( $field ) {
203
+ global $thepostid, $post;
204
+
205
+ $thepostid = empty( $thepostid ) ? $post->ID : $thepostid;
206
+ $field['class'] = isset( $field['class'] ) ? $field['class'] : 'select short';
207
+ $field['style'] = isset( $field['style'] ) ? $field['style'] : '';
208
+ $field['wrapper_class'] = isset( $field['wrapper_class'] ) ? $field['wrapper_class'] : '';
209
+ $field['value'] = isset( $field['value'] ) ? $field['value'] : get_post_meta( $thepostid, $field['id'], true );
210
+ $field['name'] = isset( $field['name'] ) ? $field['name'] : $field['id'];
211
+
212
+ echo '<fieldset class="form-field ' . esc_attr( $field['id'] ) . '_field ' . esc_attr( $field['wrapper_class'] ) . '"><legend>' . wp_kses_post( $field['label'] ) . '</legend><ul class="si-radios">';
213
+
214
+ foreach ( $field['options'] as $key => $value ) {
215
+
216
+ echo '<li><label><input
217
+ name="' . esc_attr( $field['name'] ) . '"
218
+ value="' . esc_attr( $key ) . '"
219
+ type="radio"
220
+ class="' . esc_attr( $field['class'] ) . '"
221
+ style="' . esc_attr( $field['style'] ) . '"
222
+ ' . checked( esc_attr( $field['value'] ), esc_attr( $key ), false ) . '
223
+ /> ' . esc_html( $value ) . '</label>
224
+ </li>';
225
+ }
226
+ echo '</ul>';
227
+
228
+ if ( ! empty( $field['description'] ) ) {
229
+
230
+ if ( isset( $field['desc_tip'] ) && false !== $field['desc_tip'] ) {
231
+ echo si_help_tip( $field['description'] );
232
+ } else {
233
+ echo '<span class="description">' . wp_kses_post( $field['description'] ) . '</span>';
234
+ }
235
+ }
236
+
237
+ echo '</fieldset>';
238
+ }
includes/admin/meta-boxes/class-si-meta-box-group-data.php ADDED
@@ -0,0 +1,225 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Social Icon Data
4
+ *
5
+ * @class SI_Meta_Box_Icon_Data
6
+ * @version 1.4.0
7
+ * @package Social_Icons/Admin/Meta Boxes
8
+ * @category Admin
9
+ * @author ThemeGrill
10
+ */
11
+
12
+ if ( ! defined( 'ABSPATH' ) ) {
13
+ exit;
14
+ }
15
+
16
+ /**
17
+ * SI_Meta_Box_Group_Data Class
18
+ */
19
+ class SI_Meta_Box_Group_Data {
20
+
21
+ /**
22
+ * Output the meta box.
23
+ * @param WP_Post $post
24
+ */
25
+ public static function output( $post ) {
26
+ global $post, $thepostid;
27
+
28
+ wp_nonce_field( 'social_icons_save_data', 'social_icons_meta_nonce' );
29
+
30
+ $thepostid = $post->ID;
31
+
32
+ ?>
33
+ <style type="text/css">
34
+ #edit-slug-box, #minor-publishing-actions { display:none }
35
+ </style>
36
+ <div id="group_options" class="panel-wrap group_data">
37
+ <ul class="group_data_tabs si-tabs">
38
+ <?php
39
+ $group_data_tabs = apply_filters( 'social_icons_group_data_tabs', array(
40
+ 'general' => array(
41
+ 'label' => __( 'General', 'social-icons' ),
42
+ 'target' => 'general_group_data',
43
+ 'class' => 'general_group_data',
44
+ ),
45
+ 'linked_icons' => array(
46
+ 'label' => __( 'Linked Icons', 'social-icons' ),
47
+ 'target' => 'linked_group_data',
48
+ 'class' => 'linked_group_data',
49
+ )
50
+ ) );
51
+
52
+ foreach ( $group_data_tabs as $key => $tab ) {
53
+ ?><li class="<?php echo $key; ?>_options <?php echo $key; ?>_tab <?php echo implode( ' ', (array) $tab['class'] ); ?>">
54
+ <a href="#<?php echo $tab['target']; ?>"><?php echo esc_html( $tab['label'] ); ?></a>
55
+ </li><?php
56
+ }
57
+
58
+ do_action( 'social_icons_group_write_panel_tabs' );
59
+ ?>
60
+ </ul>
61
+ <div id="general_group_data" class="panel social_icons_options_panel hidden"><?php
62
+
63
+ echo '<div class="options_group">';
64
+
65
+ // Background Style
66
+ social_icons_wp_select( array(
67
+ 'id' => 'background_style',
68
+ 'label' => __( 'Background Style', 'social-icons' ),
69
+ 'options' => array(
70
+ 'none' => __( 'None', 'social-icons' ),
71
+ 'square' => __( 'Square', 'social-icons' ),
72
+ 'rounded' => __( 'Rounded', 'social-icons' ),
73
+ 'square centre' => __( 'Square Centre', 'social-icons' ),
74
+ 'rounded centre' => __( 'Rounded Centre', 'social-icons' ),
75
+ ),
76
+ 'desc_tip' => 'true',
77
+ 'description' => __( 'Define whether or not the entire background should be style based, or just with the default style.', 'social-icons' )
78
+ ) );
79
+
80
+ // Choose Icon size
81
+ social_icons_wp_text_input( array( 'id' => 'icon_font_size', 'label' => __( 'Choose Icon Size', 'social-icons' ), 'placeholder' => __( 'Default', 'social-icons' ), 'desc_tip' => true, 'description' => __( 'Leave blank for default icon font size.', 'social-icons' ), 'type' => 'number', 'custom_attributes' => array(
82
+ 'step' => '1',
83
+ 'min' => '14',
84
+ 'max' => '40'
85
+ ) ) );
86
+
87
+ echo '</div>';
88
+
89
+ echo '<div class="options_group">';
90
+
91
+ // Manage Label
92
+ social_icons_wp_checkbox( array( 'id' => '_manage_label', 'label' => __( 'Manage Label', 'social-icons' ), 'description' => __( 'Enable this to display social icons label.', 'social-icons' ) ) );
93
+
94
+ // Greyscale Icon
95
+ social_icons_wp_checkbox( array( 'id' => '_greyscale_icons', 'label' => __( 'Greyscale Icon', 'social-icons' ), 'description' => __( 'Enable this to allow greyscale social icons.', 'social-icons' ) ) );
96
+
97
+ // Open in New tab
98
+ social_icons_wp_checkbox( array( 'id' => '_open_new_tab', 'label' => __( 'Open New Tab', 'social-icons' ), 'description' => __( 'Enable this to allow links to open in new tab.', 'social-icons' ) ) );
99
+
100
+ echo '</div>';
101
+
102
+ do_action( 'social_icons_group_options_general' );
103
+
104
+ ?></div>
105
+ <div id="linked_group_data" class="panel social_icons_options_panel hidden"><?php
106
+
107
+ echo '<div class="options_group">';
108
+
109
+ ?>
110
+ <div class="form-field sortable_icons">
111
+ <label><?php _e( 'Sortable Icons', 'social-icons' ); ?></label>
112
+ <table class="widefat">
113
+ <thead>
114
+ <tr>
115
+ <th class="sort">&nbsp;</th>
116
+ <th><?php _e( 'Label', 'social-icons' ); ?> <?php echo si_help_tip( __( 'This is the label of the social icon shown to the users.', 'social-icons' ) ); ?></th>
117
+ <th colspan="2"><?php _e( 'Social URL', 'social-icons' ); ?> <?php echo si_help_tip( __( 'This is the URL to the social media which users will surf.', 'social-icons' ) ); ?></th>
118
+ </tr>
119
+ </thead>
120
+ <tbody><?php
121
+ if ( metadata_exists( 'post', $post->ID, '_sortable_icons' ) ) {
122
+ $sortable_icons = get_post_meta( $post->ID, '_sortable_icons', true );
123
+ } else {
124
+ $sortable_icons = array(
125
+ 'twitter' => array(
126
+ 'url' => 'https://twitter.com/',
127
+ 'label' => __( 'Follow Me', 'social-icons' )
128
+ ),
129
+ 'facebook' => array(
130
+ 'url' => 'https://facebook.com/',
131
+ 'label' => __( 'Friend me on Facebook', 'social-icons' )
132
+ )
133
+ );
134
+ }
135
+
136
+ if ( $sortable_icons ) {
137
+ foreach ( $sortable_icons as $name => $icon ) {
138
+ $name = esc_attr( 'socicon-' . $name );
139
+ include( 'views/html-group-social-icon.php' );
140
+ }
141
+ } else {
142
+ printf( '<tr class="no-items"><td colspan="5"><p>%s</p></td></tr>', esc_html( 'No sortable icons found.', 'social-icons' ) );
143
+ }
144
+ ?></tbody>
145
+ <tfoot>
146
+ <tr>
147
+ <th colspan="5">
148
+ <a href="#" class="button insert" data-row="<?php
149
+ $name = 'dashicons-plus';
150
+ $icon = array(
151
+ 'label' => '',
152
+ 'url' => ''
153
+ );
154
+ ob_start();
155
+ include( 'views/html-group-social-icon.php' );
156
+ echo esc_attr( ob_get_clean() );
157
+ ?>"><?php _e( 'Add Icon', 'social-icons' ); ?></a>
158
+ </th>
159
+ </tr>
160
+ </tfoot>
161
+ </table>
162
+ </div>
163
+ <?php
164
+
165
+ echo '</div>';
166
+
167
+ ?></div>
168
+ <?php do_action( 'social_icons_group_data_panels' ); ?>
169
+ <div class="clear"></div>
170
+ </div>
171
+ <?php
172
+ }
173
+
174
+ /**
175
+ * Save meta box data.
176
+ * @param int $post_id
177
+ */
178
+ public static function save( $post_id ) {
179
+ // Add/replace data to array
180
+ $background_style = si_clean( $_POST['background_style'] );
181
+ $icon_font_size = si_clean( $_POST['icon_font_size'] );
182
+ $manage_label = isset( $_POST['_manage_label'] ) ? 'yes' : 'no';
183
+ $greyscale_icons = isset( $_POST['_greyscale_icons'] ) ? 'yes' : 'no';
184
+ $open_new_tab = isset( $_POST['_open_new_tab'] ) ? 'yes' : 'no';
185
+
186
+ // Sortable Icons.
187
+ $sortable_icons = array();
188
+
189
+ if ( isset( $_POST['_si_icon_urls'] ) ) {
190
+ $icon_labels = isset( $_POST['_si_icon_labels'] ) ? $_POST['_si_icon_labels'] : array();
191
+ $icon_urls = isset( $_POST['_si_icon_urls'] ) ? wp_unslash( array_map( 'trim', $_POST['_si_icon_urls'] ) ) : array();
192
+ $icon_url_size = sizeof( $icon_urls );
193
+ $allowed_icons = si_get_allowed_socicons();
194
+
195
+ for ( $i = 0; $i < $icon_url_size; $i ++ ) {
196
+ if ( ! empty( $icon_urls[ $i ] ) ) {
197
+ $icon_url = esc_url_raw( $icon_urls[ $i ] );
198
+ $icon_name = si_get_social_icon_name( $icon_url );
199
+ $icon_label = si_clean( $icon_labels[ $i ] );
200
+
201
+ // Validate the icon supported.
202
+ if ( ! in_array( $icon_name, $allowed_icons ) ) {
203
+ SI_Admin_Meta_Boxes::add_error( sprintf( __( 'The social url %s cannot be used as it does not have an allowed icon.', 'social-icons' ), '<code>' . esc_url( $icon_url ) . '</code>' ) );
204
+ continue;
205
+ }
206
+
207
+ $sortable_icons[ $icon_name ] = array(
208
+ 'label' => $icon_label,
209
+ 'url' => $icon_url
210
+ );
211
+ }
212
+ }
213
+ }
214
+
215
+ // Save
216
+ update_post_meta( $post_id, 'background_style', $background_style );
217
+ update_post_meta( $post_id, 'icon_font_size', $icon_font_size );
218
+ update_post_meta( $post_id, '_manage_label', $manage_label );
219
+ update_post_meta( $post_id, '_greyscale_icons', $greyscale_icons );
220
+ update_post_meta( $post_id, '_open_new_tab', $open_new_tab );
221
+ update_post_meta( $post_id, '_sortable_icons', $sortable_icons );
222
+
223
+ do_action( 'social_icons_group_options_save', $post_id );
224
+ }
225
+ }
includes/admin/meta-boxes/views/html-group-social-icon.php ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ <tr>
2
+ <td class="sort <?php echo esc_attr( $name ); ?>"></td>
3
+ <td class="social_label"><input type="text" class="input_text" placeholder="<?php esc_attr_e( 'Social Label', 'social-icons' ); ?>" name="_si_icon_labels[]" value="<?php echo esc_attr( $icon['label'] ); ?>" /></td>
4
+ <td class="social_url"><input type="text" class="input_text" placeholder="<?php esc_attr_e( "http://", 'social-icons' ); ?>" name="_si_icon_urls[]" value="<?php echo esc_url( $icon['url'] ); ?>" /></td>
5
+ <td width="1%"><a href="#" class="delete"><?php _e( 'Delete', 'social-icons' ); ?></a></td>
6
+ </tr>
includes/class-si-ajax.php ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Social Icons SI_AJAX
4
+ *
5
+ * AJAX Event Handler
6
+ *
7
+ * @class SI_AJAX
8
+ * @version 1.4.0
9
+ * @package Social_Icons/Classes
10
+ * @category Class
11
+ * @author ThemeGrill
12
+ */
13
+
14
+ if ( ! defined( 'ABSPATH' ) ) {
15
+ exit;
16
+ }
17
+
18
+ /**
19
+ * SI_AJAX Class
20
+ */
21
+ class SI_AJAX {
22
+
23
+ /**
24
+ * Hooks in ajax handlers
25
+ */
26
+ public static function init() {
27
+ self::add_ajax_events();
28
+ }
29
+
30
+ /**
31
+ * Hook in methods - uses WordPress ajax handlers (admin-ajax)
32
+ */
33
+ public static function add_ajax_events() {
34
+ // social_icons_EVENT => nopriv
35
+ $ajax_events = array(
36
+ 'rated' => false
37
+ );
38
+
39
+ foreach ( $ajax_events as $ajax_event => $nopriv ) {
40
+ add_action( 'wp_ajax_social_icons_' . $ajax_event, array( __CLASS__, $ajax_event ) );
41
+
42
+ if ( $nopriv ) {
43
+ add_action( 'wp_ajax_nopriv_social_icons_' . $ajax_event, array( __CLASS__, $ajax_event ) );
44
+ }
45
+ }
46
+ }
47
+
48
+ /**
49
+ * Triggered when clicking the rating footer.
50
+ */
51
+ public static function rated() {
52
+ if ( ! current_user_can( 'manage_options' ) ) {
53
+ die(-1);
54
+ }
55
+
56
+ update_option( 'social_icons_admin_footer_text_rated', 1 );
57
+ die();
58
+ }
59
+ }
60
+
61
+ SI_AJAX::init();
includes/class-si-autoloader.php ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Social Icons Autoloader.
4
+ *
5
+ * @class SI_Autoloader
6
+ * @version 1.4.0
7
+ * @package Social_Icons/Classes
8
+ * @category Class
9
+ * @author ThemeGrill
10
+ */
11
+
12
+ if ( ! defined( 'ABSPATH' ) ) {
13
+ exit;
14
+ }
15
+
16
+ /**
17
+ * SI_Autoloader Class
18
+ */
19
+ class SI_Autoloader {
20
+
21
+ /**
22
+ * Path to the includes directory.
23
+ * @var string
24
+ */
25
+ private $include_path = '';
26
+
27
+ /**
28
+ * Class Constructor Method.
29
+ */
30
+ public function __construct() {
31
+ if ( function_exists( "__autoload" ) ) {
32
+ spl_autoload_register( "__autoload" );
33
+ }
34
+
35
+ spl_autoload_register( array( $this, 'autoload' ) );
36
+
37
+ $this->include_path = untrailingslashit( plugin_dir_path( SI_PLUGIN_FILE ) ) . '/includes/';
38
+ }
39
+
40
+ /**
41
+ * Take a class name and turn it into a file name.
42
+ * @param string $class
43
+ * @return string
44
+ */
45
+ private function get_file_name_from_class( $class ) {
46
+ return 'class-' . str_replace( '_', '-', $class ) . '.php';
47
+ }
48
+
49
+ /**
50
+ * Include a class file.
51
+ * @param string $path
52
+ * @return bool successful or not
53
+ */
54
+ private function load_file( $path ) {
55
+ if ( $path && is_readable( $path ) ) {
56
+ include_once( $path );
57
+ return true;
58
+ }
59
+ return false;
60
+ }
61
+
62
+ /**
63
+ * Auto-load SI classes on demand to reduce memory consumption.
64
+ * @param string $class
65
+ */
66
+ public function autoload( $class ) {
67
+ $class = strtolower( $class );
68
+ $file = $this->get_file_name_from_class( $class );
69
+ $path = '';
70
+
71
+ if ( strpos( $class, 'si_meta_box' ) === 0 ) {
72
+ $path = $this->include_path . 'admin/meta-boxes/';
73
+ } elseif ( strpos( $class, 'si_admin' ) === 0 ) {
74
+ $path = $this->include_path . 'admin/';
75
+ }
76
+
77
+ if ( empty( $path ) || ( ! $this->load_file( $path . $file ) && strpos( $class, 'tgs_' ) === 0 ) ) {
78
+ $this->load_file( $this->include_path . $file );
79
+ }
80
+ }
81
+ }
82
+
83
+ new SI_Autoloader();
includes/class-si-frontend-scripts.php ADDED
@@ -0,0 +1,105 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Handle frontend scripts.
4
+ *
5
+ * @class SI_Frontend_Scripts
6
+ * @version 1.4.0
7
+ * @package Social_Icons/Classes
8
+ * @category Class
9
+ * @author ThemeGrill
10
+ */
11
+
12
+ if ( ! defined( 'ABSPATH' ) ) {
13
+ exit;
14
+ }
15
+
16
+ /**
17
+ * SI_Frontend_Scripts Class
18
+ */
19
+ class SI_Frontend_Scripts {
20
+
21
+ /**
22
+ * Contains an array of script handles registered by SI.
23
+ * @var array
24
+ */
25
+ private static $styles = array();
26
+
27
+ /**
28
+ * Hooks in methods.
29
+ */
30
+ public static function init() {
31
+ add_action( 'wp_enqueue_scripts', array( __CLASS__, 'load_scripts' ) );
32
+ }
33
+
34
+ /**
35
+ * Get styles for the frontend.
36
+ * @access private
37
+ * @return array
38
+ */
39
+ public static function get_styles() {
40
+ return apply_filters( 'social_icons_enqueue_styles', array(
41
+ 'social-icons-general' => array(
42
+ 'src' => str_replace( array( 'http:', 'https:' ), '', SI()->plugin_url() ) . '/assets/css/social-icons.css',
43
+ 'deps' => '',
44
+ 'version' => SI_VERSION,
45
+ 'media' => 'all'
46
+ )
47
+ ) );
48
+ }
49
+
50
+ /**
51
+ * Register a style for use.
52
+ *
53
+ * @uses wp_register_style()
54
+ * @access private
55
+ * @param string $handle
56
+ * @param string $path
57
+ * @param string[] $deps
58
+ * @param string $version
59
+ * @param string $media
60
+ */
61
+ private static function register_style( $handle, $path, $deps = array(), $version = SI_VERSION, $media = 'all' ) {
62
+ self::$styles[] = $handle;
63
+ wp_register_style( $handle, $path, $deps, $version, $media );
64
+ }
65
+
66
+ /**
67
+ * Register and enqueue a styles for use.
68
+ *
69
+ * @uses wp_enqueue_style()
70
+ * @access private
71
+ * @param string $handle
72
+ * @param string $path
73
+ * @param string[] $deps
74
+ * @param string $version
75
+ * @param string $media
76
+ */
77
+ private static function enqueue_style( $handle, $path = '', $deps = array(), $version = SI_VERSION, $media = 'all' ) {
78
+ if ( ! in_array( $handle, self::$styles ) && $path ) {
79
+ self::register_style( $handle, $path, $deps, $version, $media );
80
+ }
81
+ wp_enqueue_style( $handle );
82
+ }
83
+
84
+ /**
85
+ * Register/enqueue frontend scripts.
86
+ */
87
+ public static function load_scripts() {
88
+ $assets_path = str_replace( array( 'http:', 'https:' ), '', SI()->plugin_url() ) . '/assets/';
89
+
90
+ // Register any scripts for later use, or used as dependencies
91
+ self::register_style( 'social-icons-general', $assets_path . 'css/social-icons.css', array() );
92
+
93
+ if ( si_post_content_has_shortcode( 'social_icons_group' ) || apply_filters( 'social_icons_enable_stylesheets', true ) ) {
94
+
95
+ // CSS Styles
96
+ if ( $enqueue_styles = self::get_styles() ) {
97
+ foreach ( $enqueue_styles as $handle => $args ) {
98
+ self::enqueue_style( $handle, $args['src'], $args['deps'], $args['version'], $args['media'] );
99
+ }
100
+ }
101
+ }
102
+ }
103
+ }
104
+
105
+ SI_Frontend_Scripts::init();
includes/class-si-install.php ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Installation related functions and actions.
4
+ *
5
+ * @class SI_Install
6
+ * @version 1.4.0
7
+ * @package Social_Icons/Classes
8
+ * @category Admin
9
+ * @author ThemeGrill
10
+ */
11
+
12
+ if ( ! defined( 'ABSPATH' ) ) {
13
+ exit;
14
+ }
15
+
16
+ /**
17
+ * SI_Install Class
18
+ */
19
+ class SI_Install {
20
+
21
+ /**
22
+ * Hook in tabs.
23
+ */
24
+ public static function init() {
25
+ add_filter( 'plugin_action_links_' . SI_PLUGIN_BASENAME, array( __CLASS__, 'plugin_action_links' ) );
26
+ add_filter( 'plugin_row_meta', array( __CLASS__, 'plugin_row_meta' ), 10, 2 );
27
+ }
28
+
29
+ /**
30
+ * Display action links in the Plugins list table.
31
+ * @param array $actions
32
+ * @return array
33
+ */
34
+ public function plugin_action_links( $actions ) {
35
+ $new_actions = array(
36
+ 'settings' => '<a href="' . admin_url( 'edit.php?post_type=social_icon' ) . '" title="' . esc_attr( __( 'View Social Icons Settings', 'social-icons' ) ) . '">' . __( 'Settings', 'social-icons' ) . '</a>',
37
+ );
38
+
39
+ return array_merge( $new_actions, $actions );
40
+ }
41
+
42
+ /**
43
+ * Display row meta in the Plugins list table.
44
+ * @param array $plugin_meta
45
+ * @param string $plugin_file
46
+ * @return array
47
+ */
48
+ public function plugin_row_meta( $plugin_meta, $plugin_file ) {
49
+ if ( $plugin_file == SI_PLUGIN_BASENAME ) {
50
+ $new_plugin_meta = array(
51
+ 'docs' => '<a href="' . esc_url( apply_filters( 'social_icons_docs_url', 'http://themegrill.com/docs/social-icons/' ) ) . '" title="' . esc_attr( __( 'View Social Icons Documentation', 'social-icons' ) ) . '">' . __( 'Docs', 'social-icons' ) . '</a>',
52
+ 'support' => '<a href="' . esc_url( apply_filters( 'social_icons_support_url', 'http://themegrill.com/support-forum/' ) ) . '" title="' . esc_attr( __( 'Visit Free Customer Support Forum', 'social-icons' ) ) . '">' . __( 'Free Support', 'social-icons' ) . '</a>',
53
+ );
54
+
55
+ return array_merge( $plugin_meta, $new_plugin_meta );
56
+ }
57
+
58
+ return (array) $plugin_meta;
59
+ }
60
+ }
61
+
62
+ SI_Install::init();
includes/class-si-post-types.php ADDED
@@ -0,0 +1,100 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Post Types
4
+ *
5
+ * Registers post types and taxonomies.
6
+ *
7
+ * @class SI_Post_Types
8
+ * @version 1.4.0
9
+ * @package Social_Icons/Classes/Social Icons
10
+ * @category Class
11
+ * @author ThemeGrill
12
+ */
13
+
14
+ if ( ! defined( 'ABSPATH' ) ) {
15
+ exit;
16
+ }
17
+
18
+ /**
19
+ * SI_Post_Types Class
20
+ */
21
+ class SI_Post_Types {
22
+
23
+ /**
24
+ * Hook in methods.
25
+ */
26
+ public static function init() {
27
+ add_action( 'init', array( __CLASS__, 'register_post_types' ), 5 );
28
+ add_action( 'init', array( __CLASS__, 'support_jetpack_omnisearch' ) );
29
+ add_filter( 'rest_api_allowed_post_types', array( __CLASS__, 'rest_api_allowed_post_types' ) );
30
+ }
31
+
32
+ /**
33
+ * Register core post types.
34
+ */
35
+ public static function register_post_types() {
36
+ if ( post_type_exists( 'social_icon' ) ) {
37
+ return;
38
+ }
39
+
40
+ do_action( 'social_icons_register_post_type' );
41
+
42
+ register_post_type( 'social_icon',
43
+ apply_filters( 'social_icons_register_post_type_args',
44
+ array(
45
+ 'labels' => array(
46
+ 'name' => __( 'Social Icons', 'social-icons' ),
47
+ 'singular_name' => __( 'Social Icon', 'social-icons' ),
48
+ 'menu_name' => _x( 'Social Icons', 'Admin menu name', 'social-icons' ),
49
+ 'add_new' => __( 'Add New', 'social-icons' ),
50
+ 'add_new_item' => __( 'Add New Social Icon', 'social-icons' ),
51
+ 'edit' => __( 'Edit', 'social-icons' ),
52
+ 'edit_item' => __( 'Edit Social Icon', 'social-icons' ),
53
+ 'new_item' => __( 'New Social Icon', 'social-icons' ),
54
+ 'view' => __( 'View Social Icons', 'social-icons' ),
55
+ 'view_item' => __( 'View Social Icons', 'social-icons' ),
56
+ 'search_items' => __( 'Search Social Icons', 'social-icons' ),
57
+ 'not_found' => __( 'No Social Icons found', 'social-icons' ),
58
+ 'not_found_in_trash' => __( 'No Social Icons found in trash', 'social-icons' ),
59
+ 'parent' => __( 'Parent Social Icon', 'social-icons' )
60
+ ),
61
+ 'description' => __( 'This is where you can add new icons set to your social icons.', 'social-icons' ),
62
+ 'public' => false,
63
+ 'show_ui' => true,
64
+ 'map_meta_cap' => true,
65
+ 'publicly_queryable' => true,
66
+ 'exclude_from_search' => false,
67
+ 'hierarchical' => false,
68
+ 'rewrite' => false,
69
+ 'query_var' => false,
70
+ 'supports' => array( 'title' ),
71
+ 'show_in_menu' => 'options-general.php',
72
+ 'show_in_nav_menus' => false,
73
+ 'show_in_admin_bar' => true
74
+ )
75
+ )
76
+ );
77
+ }
78
+
79
+ /**
80
+ * Add Social Icons Support to Jetpack Omnisearch.
81
+ */
82
+ public static function support_jetpack_omnisearch() {
83
+ if ( class_exists( 'Jetpack_Omnisearch_Posts' ) ) {
84
+ new Jetpack_Omnisearch_Posts( 'social_icon' );
85
+ }
86
+ }
87
+
88
+ /**
89
+ * Added Social Icons for Jetpack related posts.
90
+ * @param array $post_types
91
+ * @return array
92
+ */
93
+ public static function rest_api_allowed_post_types( $post_types ) {
94
+ $post_types[] = 'social_icon';
95
+
96
+ return $post_types;
97
+ }
98
+ }
99
+
100
+ SI_Post_Types::init();
includes/class-si-shortcodes.php ADDED
@@ -0,0 +1,118 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Social Icons Shortcodes.
4
+ *
5
+ * @class SI_Shortcodes
6
+ * @version 1.4.0
7
+ * @package Social_Icons/Classes
8
+ * @category Class
9
+ * @author ThemeGrill
10
+ */
11
+
12
+ if ( ! defined( 'ABSPATH' ) ) {
13
+ exit;
14
+ }
15
+
16
+ /**
17
+ * RP_Shortcodes Class
18
+ */
19
+ class SI_Shortcodes {
20
+
21
+ /**
22
+ * Init Shortcodes.
23
+ */
24
+ public static function init() {
25
+ $shortcodes = array(
26
+ 'social_icons_group' => __CLASS__ . '::group',
27
+ );
28
+
29
+ foreach ( $shortcodes as $shortcode => $function ) {
30
+ add_shortcode( apply_filters( "{$shortcode}_shortcode_tag", $shortcode ), $function );
31
+ }
32
+ }
33
+
34
+ /**
35
+ * Social Icons group shortcode.
36
+ */
37
+ public static function group( $atts ) {
38
+ if ( empty( $atts ) ) {
39
+ return '';
40
+ }
41
+
42
+ if ( ! isset( $atts['id'] ) ) {
43
+ return '';
44
+ }
45
+
46
+ $atts = shortcode_atts( array(
47
+ 'id' => ''
48
+ ), $atts );
49
+
50
+ $group_id = absint( $atts['id'] );
51
+
52
+ // Check for Group ID
53
+ if ( $group_id && 'social_icon' == get_post_type( $group_id ) ) {
54
+ $group_data['background_style'] = get_post_meta( $group_id, 'background_style', true );
55
+ $group_data['icon_font_size'] = get_post_meta( $group_id, 'icon_font_size', true );
56
+ $group_data['manage_label'] = get_post_meta( $group_id, '_manage_label', true );
57
+ $group_data['greyscale_icons'] = get_post_meta( $group_id, '_greyscale_icons', true );
58
+ $group_data['open_new_tab'] = get_post_meta( $group_id, '_open_new_tab', true );
59
+ $group_data['sortable_icons'] = get_post_meta( $group_id, '_sortable_icons', true );
60
+
61
+ // Output social icons.
62
+ return self::social_icons_output( $group_data, $atts );
63
+ }
64
+
65
+ return false;
66
+ }
67
+
68
+ /**
69
+ * Output for social icons.
70
+ * @param array $group_data
71
+ * @param array $atts
72
+ * @return array
73
+ * @access private
74
+ */
75
+ private static function social_icons_output( $group_data, $atts ) {
76
+ $class_list = array();
77
+
78
+ // Label class.
79
+ if ( 'yes' == $group_data['manage_label'] ) {
80
+ $class_list[] = 'show-icons-label';
81
+ }
82
+
83
+ // Greyscale class.
84
+ if ( 'yes' == $group_data['greyscale_icons'] ) {
85
+ $class_list[] = 'social-icons-greyscale';
86
+ }
87
+
88
+ // Background class.
89
+ if ( $group_data['background_style'] ) {
90
+ $class_list[] = 'icons-background-' . $group_data['background_style'];
91
+ }
92
+
93
+ // Custom Icon font size.
94
+ $icon_font_size = empty( $group_data['icon_font_size'] ) ? 16 : $group_data['icon_font_size'];
95
+
96
+ ob_start();
97
+
98
+ ?><ul class="social-icons-lists <?php echo esc_attr( implode( ' ', $class_list ) ); ?>">
99
+
100
+ <?php foreach ( $group_data['sortable_icons'] as $title => $field ) : ?>
101
+
102
+ <li class="social-icons-list-item">
103
+ <a href="<?php echo esc_url( $field['url'] ); ?>" <?php echo ( 'yes' == $group_data['open_new_tab'] ? 'target="_blank"' : '' ); ?> class="social-icon">
104
+ <span class="socicon socicon-<?php echo esc_attr( $title ); ?>" style="font-size: <?php echo esc_attr( $icon_font_size ); ?>px"></span>
105
+
106
+ <?php if ( 'yes' == $group_data['manage_label'] ) : ?>
107
+ <span class="social-icons-list-label"><?php echo esc_html( $field['label'] ); ?></span>
108
+ <?php endif; ?>
109
+ </a>
110
+ </li>
111
+
112
+ <?php endforeach; ?>
113
+
114
+ </ul><?php
115
+
116
+ return ob_get_clean();
117
+ }
118
+ }
includes/functions-si-core.php ADDED
@@ -0,0 +1,120 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Social Icons Core Functions
4
+ *
5
+ * General core functions available on both the front-end and admin.
6
+ *
7
+ * @author ThemeGrill
8
+ * @category Core
9
+ * @package Social_Icons/Functions
10
+ * @version 1.4.0
11
+ */
12
+
13
+ if ( ! defined( 'ABSPATH' ) ) {
14
+ exit;
15
+ }
16
+
17
+ /**
18
+ * Clean variables using sanitize_text_field
19
+ * @param string|array $var
20
+ * @return string
21
+ */
22
+ function si_clean( $var ) {
23
+ return is_array( $var ) ? array_map( 'si_clean', $var ) : sanitize_text_field( $var );
24
+ }
25
+
26
+ /**
27
+ * Sanitize a string destined to be a tooltip.
28
+ *
29
+ * @since 1.4.0 Tooltips are encoded with htmlspecialchars to prevent XSS. Should not be used in conjunction with esc_attr()
30
+ * @param string $var
31
+ * @return string
32
+ */
33
+ function si_sanitize_tooltip( $var ) {
34
+ return htmlspecialchars( wp_kses( html_entity_decode( $var ), array(
35
+ 'br' => array(),
36
+ 'em' => array(),
37
+ 'strong' => array(),
38
+ 'small' => array(),
39
+ 'span' => array(),
40
+ 'ul' => array(),
41
+ 'li' => array(),
42
+ 'ol' => array(),
43
+ 'p' => array(),
44
+ ) ) );
45
+ }
46
+
47
+ /**
48
+ * Queue some JavaScript code to be output in the footer.
49
+ * @param string $code
50
+ */
51
+ function si_enqueue_js( $code ) {
52
+ global $si_queued_js;
53
+
54
+ if ( empty( $si_queued_js ) ) {
55
+ $si_queued_js = '';
56
+ }
57
+
58
+ $si_queued_js .= "\n" . $code . "\n";
59
+ }
60
+
61
+ /**
62
+ * Output any queued javascript code in the footer.
63
+ */
64
+ function si_print_js() {
65
+ global $si_queued_js;
66
+
67
+ if ( ! empty( $si_queued_js ) ) {
68
+ // Sanitize.
69
+ $si_queued_js = wp_check_invalid_utf8( $si_queued_js );
70
+ $si_queued_js = preg_replace( '/&#(x)?0*(?(1)27|39);?/i', "'", $si_queued_js );
71
+ $si_queued_js = str_replace( "\r", '', $si_queued_js );
72
+
73
+ $js = "<!-- Social Icons JavaScript -->\n<script type=\"text/javascript\">\njQuery(function($) { $si_queued_js });\n</script>\n";
74
+
75
+ /**
76
+ * social_icons_queued_js filter.
77
+ * @param string $js JavaScript code.
78
+ */
79
+ echo apply_filters( 'social_icons_queued_js', $js );
80
+
81
+ unset( $si_queued_js );
82
+ }
83
+ }
84
+
85
+ /**
86
+ * Get the allowed socicon lists.
87
+ * @return array
88
+ */
89
+ function si_get_allowed_socicons() {
90
+ return apply_filters( 'social_icons_allowed_socicon', array( 'modelmayhem', 'mixcloud', 'drupal', 'swarm', 'istock', 'yammer', 'ello', 'stackoverflow', 'persona', 'triplej', 'houzz', 'rss', 'paypal', 'odnoklassniki', 'airbnb', 'periscope', 'outlook', 'coderwall', 'tripadvisor', 'appnet', 'goodreads', 'tripit', 'lanyrd', 'slideshare', 'buffer', 'disqus', 'vkontakte', 'whatsapp', 'patreon', 'storehouse', 'pocket', 'mail', 'blogger', 'technorati', 'reddit', 'dribbble', 'stumbleupon', 'digg', 'envato', 'behance', 'delicious', 'deviantart', 'forrst', 'play', 'zerply', 'wikipedia', 'apple', 'flattr', 'github', 'renren', 'friendfeed', 'newsvine', 'identica', 'bebo', 'zynga', 'steam', 'xbox', 'windows', 'qq', 'douban', 'meetup', 'playstation', 'android', 'snapchat', 'twitter', 'facebook', 'googleplus', 'pinterest', 'foursquare', 'yahoo', 'skype', 'yelp', 'feedburner', 'linkedin', 'viadeo', 'xing', 'myspace', 'soundcloud', 'spotify', 'grooveshark', 'lastfm', 'youtube', 'vimeo', 'dailymotion', 'vine', 'flickr', '500px', 'instagram', 'wordpress', 'tumblr', 'twitch', '8tracks', 'amazon', 'icq', 'smugmug', 'ravelry', 'weibo', 'baidu', 'angellist', 'ebay', 'imdb', 'stayfriends', 'residentadvisor', 'google', 'yandex', 'sharethis', 'bandcamp', 'itunes', 'deezer', 'medium', 'telegram', 'openid', 'amplement', 'viber', 'zomato', 'quora', 'draugiem', 'endomodo', 'filmweb', 'stackexchange', 'wykop', 'teamspeak', 'teamviewer', 'ventrilo', 'younow', 'raidcall', 'mumble', 'bebee', 'hitbox', 'reverbnation', 'formulr' ) );
91
+ }
92
+
93
+ /**
94
+ * Checks whether the content passed contains a specific short code.
95
+ *
96
+ * @param string $tag Shortcode tag to check.
97
+ * @return bool
98
+ */
99
+ function si_post_content_has_shortcode( $tag = '' ) {
100
+ global $post;
101
+
102
+ return is_a( $post, 'WP_Post' ) && has_shortcode( $post->post_content, $tag );
103
+ }
104
+
105
+ /**
106
+ * Display a Social Icons help tip.
107
+ *
108
+ * @param string $tip Help tip text
109
+ * @param bool $allow_html Allow sanitized HTML if true or escape
110
+ * @return string
111
+ */
112
+ function si_help_tip( $tip, $allow_html = false ) {
113
+ if ( $allow_html ) {
114
+ $tip = si_sanitize_tooltip( $tip );
115
+ } else {
116
+ $tip = esc_attr( $tip );
117
+ }
118
+
119
+ return '<span class="social-icons-help-tip" data-tip="' . $tip . '"></span>';
120
+ }
includes/functions-si-widget.php ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Social Icons Widget Functions
4
+ *
5
+ * Widget related functions and widget registration.
6
+ *
7
+ * @author ThemeGrill
8
+ * @category Core
9
+ * @package Social_Icons/Functions
10
+ * @version 1.4.0
11
+ */
12
+
13
+ if ( ! defined( 'ABSPATH' ) ) {
14
+ exit;
15
+ }
16
+
17
+ // Include Widget classes.
18
+ include_once( 'abstracts/abstract-si-widget.php' );
19
+ include_once( 'widgets/class-si-widget-social-icons.php' );
20
+
21
+ /**
22
+ * Register Widgets.
23
+ * @since 1.4.0
24
+ */
25
+ function si_register_widgets() {
26
+ register_widget( 'SI_Widget_Social_Icons' );
27
+ }
28
+ add_action( 'widgets_init', 'si_register_widgets' );
includes/{class-widget-social-icons.php → widgets/class-si-widget-social-icons.php} RENAMED
@@ -4,8 +4,8 @@
4
  *
5
  * Displays Social Icons widget.
6
  *
7
- * @extends TG_Widget
8
- * @version 1.0.0
9
  * @package Social_Icons/Widgets
10
  * @category Widgets
11
  * @author ThemeGrill
@@ -15,30 +15,17 @@ if ( ! defined( 'ABSPATH' ) ) {
15
  exit;
16
  }
17
 
18
- // Include widget abstract class.
19
- if ( ! class_exists( 'TG_Widget' ) ) {
20
- include_once( 'abstract/abstract-social-icons-widget.php' );
21
- }
22
-
23
  /**
24
- * TG_Widget_Social_Icons Class
25
  */
26
- class TG_Widget_Social_Icons extends TG_Widget {
27
-
28
- /**
29
- * List of supported icons.
30
- * @var array
31
- */
32
- protected $icons = array(
33
- 'modelmayhem', 'mixcloud', 'drupal', 'swarm', 'istock', 'yammer', 'ello', 'stackoverflow', 'persona', 'triplej', 'houzz', 'rss', 'paypal', 'odnoklassniki', 'airbnb', 'periscope', 'outlook', 'coderwall', 'tripadvisor', 'appnet', 'goodreads', 'tripit', 'lanyrd', 'slideshare', 'buffer', 'disqus', 'vkontakte', 'whatsapp', 'patreon', 'storehouse', 'pocket', 'mail', 'blogger', 'technorati', 'reddit', 'dribbble', 'stumbleupon', 'digg', 'envato', 'behance', 'delicious', 'deviantart', 'forrst', 'play', 'zerply', 'wikipedia', 'apple', 'flattr', 'github', 'renren', 'friendfeed', 'newsvine', 'identica', 'bebo', 'zynga', 'steam', 'xbox', 'windows', 'qq', 'douban', 'meetup', 'playstation', 'android', 'snapchat', 'twitter', 'facebook', 'googleplus', 'pinterest', 'foursquare', 'yahoo', 'skype', 'yelp', 'feedburner', 'linkedin', 'viadeo', 'xing', 'myspace', 'soundcloud', 'spotify', 'grooveshark', 'lastfm', 'youtube', 'vimeo', 'dailymotion', 'vine', 'flickr', '500px', 'instagram', 'wordpress', 'tumblr', 'twitch', '8tracks', 'amazon', 'icq', 'smugmug', 'ravelry', 'weibo', 'baidu', 'angellist', 'ebay', 'imdb', 'stayfriends', 'residentadvisor', 'google', 'yandex', 'sharethis', 'bandcamp', 'itunes', 'deezer', 'medium', 'telegram', 'openid', 'amplement'
34
- );
35
 
36
  /**
37
  * Constructor.
38
  */
39
  public function __construct() {
40
  $this->widget_cssclass = 'social-icons widget_social_icons';
41
- $this->widget_description = __( 'Displays Social Icons Slots.', 'social-icons' );
42
  $this->widget_id = 'themegrill_social_icons';
43
  $this->widget_name = __( 'Social Icons', 'social-icons' );
44
  $this->settings = array(
@@ -101,7 +88,7 @@ class TG_Widget_Social_Icons extends TG_Widget {
101
  'label' => __( 'Follow Me', 'social-icons' )
102
  ),
103
  'facebook' => array(
104
- 'url' => 'http://facebook.com/',
105
  'label' => __( 'Friend me on Facebook', 'social-icons' )
106
  )
107
  )
@@ -110,14 +97,24 @@ class TG_Widget_Social_Icons extends TG_Widget {
110
 
111
  parent::__construct();
112
 
113
- // Hooks
 
114
  add_action( 'admin_print_footer_scripts', array( $this, 'admin_js_templates' ) );
115
  add_action( 'social_icons_widget_field_social_icons', array( $this, 'widget_field_social_icons' ), 10, 4 );
116
  add_action( 'social_icons_widget_settings_sanitize_option', array( $this, 'widget_sanitize_social_icons' ), 10, 4 );
117
  }
118
 
119
  /**
120
- * JavaScript templates.
 
 
 
 
 
 
 
 
 
121
  */
122
  public function admin_js_templates() {
123
  ?><script type="text/html" id="tmpl-social-icons-field">
@@ -179,14 +176,25 @@ class TG_Widget_Social_Icons extends TG_Widget {
179
  if ( 'social_icons' === $setting['type'] ) {
180
  $instance = array();
181
 
182
- for ( $i = 0; $i < count( $new_instance['url-fields'] ); $i++ ) {
183
- $url = esc_url_raw( $new_instance['url-fields'][ $i ] );
184
- $label = sanitize_text_field( $new_instance['label-fields'][ $i ] );
 
 
 
 
 
 
 
 
 
 
 
 
185
 
186
- if ( $url ) {
187
- $instance[ sanitize_key( $this->get_icon( $url ) ) ] = array(
188
- 'url' => $url,
189
- 'label' => $label
190
  );
191
  }
192
  }
@@ -212,14 +220,14 @@ class TG_Widget_Social_Icons extends TG_Widget {
212
  $args = wp_parse_args( $args, $defaults );
213
 
214
  $icon_class = 'dashicons dashicons-plus';
215
- if ( $icon = $this->get_icon( $args['url-value'] ) ) {
216
  $icon_class = 'socicon socicon-' . $icon;
217
  }
218
 
219
  ?><li class="social-icons-field">
220
  <div class="social-icons-wrap">
221
  <div class="social-icons-inputs"><?php
222
- printf( '<input class="widefat social-icons-field-url" id="%1$s" name="%2$s[]" type="text" placeholder="%3$s" value="%4$s">', $args['url-field-id'], $args['url-field-name'], esc_attr( __( 'http://', 'social-icons' ) ), esc_url( $args['url-value'] ) );
223
  printf( '<input class="widefat social-icons-field-label" id="%1$s" name="%2$s[]" type="text" placeholder="%3$s" value="%4$s">', $args['label-field-id'], $args['label-field-name'], esc_attr( __( 'Label', 'social-icons' ) ), esc_attr( $args['label-value'] ) );
224
  ?></div>
225
  </div>
@@ -230,42 +238,6 @@ class TG_Widget_Social_Icons extends TG_Widget {
230
  </li><?php
231
  }
232
 
233
- /**
234
- * Returns an icon identifier for given website url.
235
- * @param $url
236
- * @return string
237
- */
238
- protected function get_icon( $url ) {
239
- $icon = '';
240
-
241
- if ( $url = strtolower( $url ) ) {
242
- if ( strstr( $url, 'feed' ) ) {
243
- $icon = 'rss';
244
- } elseif( strstr( $url, 'vk.com' ) ) {
245
- $icon = 'vkontakte';
246
- } elseif ( strstr( $url, 'last.fm' ) ) {
247
- $icon = 'lastfm';
248
- } elseif ( strstr( $url, 'youtu.be' ) ) {
249
- $icon = 'youtube';
250
- } elseif ( strstr( $url, 'plus.google.com' ) ) {
251
- $icon = 'googleplus';
252
- } elseif ( strstr( $url, 'feedburner.google.com' ) ) {
253
- $icon = 'mail';
254
- }
255
-
256
- if ( ! $icon ) {
257
- foreach ( $this->icons as $icon_name ) {
258
- if ( strstr( $url, $icon_name ) ) {
259
- $icon = $icon_name;
260
- break;
261
- }
262
- }
263
- }
264
- }
265
-
266
- return apply_filters( 'social_icons_field_get_icon', $icon, $url );
267
- }
268
-
269
  /**
270
  * widget function.
271
  *
@@ -279,17 +251,17 @@ class TG_Widget_Social_Icons extends TG_Widget {
279
 
280
  $class_list = array();
281
 
282
- // Label class
283
  if ( $instance['show_label'] ) {
284
  $class_list[] = 'show-icons-label';
285
  }
286
 
287
- // Greyscale class
288
  if ( $instance['show_greyscale'] ) {
289
  $class_list[] = 'social-icons-greyscale';
290
  }
291
 
292
- // Background class
293
  if ( $instance['background_style'] ) {
294
  $class_list[] = 'icons-background-' . $instance['background_style'];
295
  }
4
  *
5
  * Displays Social Icons widget.
6
  *
7
+ * @extends SI_Widget
8
+ * @version 1.4.0
9
  * @package Social_Icons/Widgets
10
  * @category Widgets
11
  * @author ThemeGrill
15
  exit;
16
  }
17
 
 
 
 
 
 
18
  /**
19
+ * SI_Widget_Social_Icons Class
20
  */
21
+ class SI_Widget_Social_Icons extends SI_Widget {
 
 
 
 
 
 
 
 
22
 
23
  /**
24
  * Constructor.
25
  */
26
  public function __construct() {
27
  $this->widget_cssclass = 'social-icons widget_social_icons';
28
+ $this->widget_description = __( 'Displays Social Network Icons.', 'social-icons' );
29
  $this->widget_id = 'themegrill_social_icons';
30
  $this->widget_name = __( 'Social Icons', 'social-icons' );
31
  $this->settings = array(
88
  'label' => __( 'Follow Me', 'social-icons' )
89
  ),
90
  'facebook' => array(
91
+ 'url' => 'https://facebook.com/',
92
  'label' => __( 'Friend me on Facebook', 'social-icons' )
93
  )
94
  )
97
 
98
  parent::__construct();
99
 
100
+ // Hooks.
101
+ add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
102
  add_action( 'admin_print_footer_scripts', array( $this, 'admin_js_templates' ) );
103
  add_action( 'social_icons_widget_field_social_icons', array( $this, 'widget_field_social_icons' ), 10, 4 );
104
  add_action( 'social_icons_widget_settings_sanitize_option', array( $this, 'widget_sanitize_social_icons' ), 10, 4 );
105
  }
106
 
107
  /**
108
+ * Enqueue styles and scripts.
109
+ */
110
+ public function enqueue_scripts() {
111
+ if ( is_active_widget( false, false, $this->id_base ) || is_customize_preview() ) {
112
+ wp_enqueue_style( 'social-icons-general' );
113
+ }
114
+ }
115
+
116
+ /**
117
+ * JavaScript field templates.
118
  */
119
  public function admin_js_templates() {
120
  ?><script type="text/html" id="tmpl-social-icons-field">
176
  if ( 'social_icons' === $setting['type'] ) {
177
  $instance = array();
178
 
179
+ $icon_urls = $new_instance['url-fields'];
180
+ $icon_labels = $new_instance['label-fields'];
181
+ $icon_url_size = sizeof( $icon_urls );
182
+ $allowed_icons = si_get_allowed_socicons();
183
+
184
+ for ( $i = 0; $i < $icon_url_size; $i ++ ) {
185
+ if ( ! empty( $icon_urls[ $i ] ) ) {
186
+ $icon_url = esc_url_raw( $icon_urls[ $i ] );
187
+ $icon_name = si_get_social_icon_name( $icon_url );
188
+ $icon_label = si_clean( $icon_labels[ $i ] );
189
+
190
+ // Validate the icon supported.
191
+ if ( ! in_array( $icon_name, $allowed_icons ) ) {
192
+ continue;
193
+ }
194
 
195
+ $instance[ $icon_name ] = array(
196
+ 'url' => $icon_url,
197
+ 'label' => $icon_label
 
198
  );
199
  }
200
  }
220
  $args = wp_parse_args( $args, $defaults );
221
 
222
  $icon_class = 'dashicons dashicons-plus';
223
+ if ( $icon = si_get_social_icon_name( $args['url-value'] ) ) {
224
  $icon_class = 'socicon socicon-' . $icon;
225
  }
226
 
227
  ?><li class="social-icons-field">
228
  <div class="social-icons-wrap">
229
  <div class="social-icons-inputs"><?php
230
+ printf( '<input class="widefat social-icons-field-url" id="%1$s" name="%2$s[]" type="text" placeholder="%3$s" value="%4$s">', $args['url-field-id'], $args['url-field-name'], esc_url( __( 'http://', 'social-icons' ) ), esc_attr( $args['url-value'] ) );
231
  printf( '<input class="widefat social-icons-field-label" id="%1$s" name="%2$s[]" type="text" placeholder="%3$s" value="%4$s">', $args['label-field-id'], $args['label-field-name'], esc_attr( __( 'Label', 'social-icons' ) ), esc_attr( $args['label-value'] ) );
232
  ?></div>
233
  </div>
238
  </li><?php
239
  }
240
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
241
  /**
242
  * widget function.
243
  *
251
 
252
  $class_list = array();
253
 
254
+ // Label class.
255
  if ( $instance['show_label'] ) {
256
  $class_list[] = 'show-icons-label';
257
  }
258
 
259
+ // Greyscale class.
260
  if ( $instance['show_greyscale'] ) {
261
  $class_list[] = 'social-icons-greyscale';
262
  }
263
 
264
+ // Background class.
265
  if ( $instance['background_style'] ) {
266
  $class_list[] = 'icons-background-' . $instance['background_style'];
267
  }
languages/social-icons.pot CHANGED
@@ -2,105 +2,410 @@
2
  # This file is distributed under the GPLv3 or later.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: Social Icons 1.2\n"
6
  "Report-Msgid-Bugs-To: themegrill@gmail.com\n"
7
- "POT-Creation-Date: 2016-03-02 11:25:51+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
11
  "PO-Revision-Date: 2016-MO-DA HO:MI+ZONE\n"
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
  "Language-Team: LANGUAGE <EMAIL@ADDRESS>\n"
14
- "X-Generator: grunt-wp-i18n 0.5.4\n"
15
 
16
- #: includes/class-widget-social-icons.php:41
17
- msgid "Displays Social Icons Slots."
18
  msgstr ""
19
 
20
- #. Plugin Name of the plugin/theme
21
- msgid "Social Icons"
 
22
  msgstr ""
23
 
24
- #: includes/class-widget-social-icons.php:48
25
- msgid "Title"
26
  msgstr ""
27
 
28
- #: includes/class-widget-social-icons.php:53
29
- msgid "Description"
30
  msgstr ""
31
 
32
- #: includes/class-widget-social-icons.php:54
33
- msgid "Short description to be displayed above the icons."
34
  msgstr ""
35
 
36
- #: includes/class-widget-social-icons.php:60
37
- msgid "Show icon label"
38
  msgstr ""
39
 
40
- #: includes/class-widget-social-icons.php:65
41
- msgid "Show Greyscale icons"
42
  msgstr ""
43
 
44
- #: includes/class-widget-social-icons.php:70
45
- msgid "Open links in new tab"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46
  msgstr ""
47
 
48
- #: includes/class-widget-social-icons.php:75
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
49
  msgid "Background Style"
50
  msgstr ""
51
 
52
- #: includes/class-widget-social-icons.php:77
 
53
  msgid "None"
54
  msgstr ""
55
 
56
- #: includes/class-widget-social-icons.php:78
 
57
  msgid "Square"
58
  msgstr ""
59
 
60
- #: includes/class-widget-social-icons.php:79
 
61
  msgid "Rounded"
62
  msgstr ""
63
 
64
- #: includes/class-widget-social-icons.php:80
 
65
  msgid "Square Centre"
66
  msgstr ""
67
 
68
- #: includes/class-widget-social-icons.php:81
 
69
  msgid "Rounded Centre"
70
  msgstr ""
71
 
72
- #: includes/class-widget-social-icons.php:90
 
 
 
 
 
 
 
73
  msgid "Choose Icon Size"
74
  msgstr ""
75
 
76
- #: includes/class-widget-social-icons.php:95
77
- msgid "Sortable Socicon"
78
  msgstr ""
79
 
80
- #: includes/class-widget-social-icons.php:96
81
- msgid ""
82
- "Note that icons above are for reference and not how they will look on "
83
- "front-end. %sList of icons supported%s"
84
  msgstr ""
85
 
86
- #: includes/class-widget-social-icons.php:97
87
- msgid "Add Icon"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
88
  msgstr ""
89
 
90
- #: includes/class-widget-social-icons.php:101
 
 
 
 
 
 
 
 
 
91
  msgid "Follow Me"
92
  msgstr ""
93
 
94
- #: includes/class-widget-social-icons.php:105
 
95
  msgid "Friend me on Facebook"
96
  msgstr ""
97
 
98
- #: includes/class-widget-social-icons.php:222
 
 
 
 
 
 
 
 
 
 
 
 
 
 
99
  msgid "http://"
100
  msgstr ""
101
 
102
- #: includes/class-widget-social-icons.php:223
103
- msgid "Label"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
104
  msgstr ""
105
 
106
  #. Plugin URI of the plugin/theme
@@ -110,8 +415,9 @@ msgstr ""
110
  #. Description of the plugin/theme
111
  msgid ""
112
  "Social Icons provides you with an easy way to display various popular "
113
- "social icons via widgets. You can drag the widget in your sidebars and "
114
- "change the settings from the widget form itself."
 
115
  msgstr ""
116
 
117
  #. Author of the plugin/theme
@@ -120,4 +426,9 @@ msgstr ""
120
 
121
  #. Author URI of the plugin/theme
122
  msgid "http://themegrill.com"
 
 
 
 
 
123
  msgstr ""
2
  # This file is distributed under the GPLv3 or later.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Social Icons 1.4\n"
6
  "Report-Msgid-Bugs-To: themegrill@gmail.com\n"
7
+ "POT-Creation-Date: 2016-05-21 16:11:35+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
11
  "PO-Revision-Date: 2016-MO-DA HO:MI+ZONE\n"
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
  "Language-Team: LANGUAGE <EMAIL@ADDRESS>\n"
14
+ "X-Generator: grunt-wp-i18n 0.5.3\n"
15
 
16
+ #: includes/admin/class-si-admin-meta-boxes.php:93
17
+ msgid "Social Data"
18
  msgstr ""
19
 
20
+ #: includes/admin/class-si-admin-post-types.php:59
21
+ #: includes/admin/class-si-admin-post-types.php:64
22
+ msgid "Social Icon updated."
23
  msgstr ""
24
 
25
+ #: includes/admin/class-si-admin-post-types.php:60
26
+ msgid "Custom field updated."
27
  msgstr ""
28
 
29
+ #: includes/admin/class-si-admin-post-types.php:61
30
+ msgid "Custom field deleted."
31
  msgstr ""
32
 
33
+ #: includes/admin/class-si-admin-post-types.php:62
34
+ msgid "Social updated."
35
  msgstr ""
36
 
37
+ #: includes/admin/class-si-admin-post-types.php:63
38
+ msgid "Social Icon restored to revision from %s"
39
  msgstr ""
40
 
41
+ #: includes/admin/class-si-admin-post-types.php:65
42
+ msgid "Social Icon saved."
43
  msgstr ""
44
 
45
+ #: includes/admin/class-si-admin-post-types.php:66
46
+ msgid "Social Icon submitted."
47
+ msgstr ""
48
+
49
+ #: includes/admin/class-si-admin-post-types.php:67
50
+ msgid "Social Icon scheduled for: <strong>%1$s</strong>."
51
+ msgstr ""
52
+
53
+ #: includes/admin/class-si-admin-post-types.php:68
54
+ msgid "M j, Y @ G:i"
55
+ msgstr ""
56
+
57
+ #: includes/admin/class-si-admin-post-types.php:69
58
+ msgid "Social Icon draft updated."
59
+ msgstr ""
60
+
61
+ #: includes/admin/class-si-admin-post-types.php:84
62
+ msgid "%s social icon updated."
63
+ msgid_plural "%s social icons updated."
64
+ msgstr[0] ""
65
+ msgstr[1] ""
66
+
67
+ #: includes/admin/class-si-admin-post-types.php:85
68
+ msgid "%s social icon not updated, somebody is editing it."
69
+ msgid_plural "%s social icons not updated, somebody is editing them."
70
+ msgstr[0] ""
71
+ msgstr[1] ""
72
+
73
+ #: includes/admin/class-si-admin-post-types.php:86
74
+ msgid "%s social icon permanently deleted."
75
+ msgid_plural "%s social icons permanently deleted."
76
+ msgstr[0] ""
77
+ msgstr[1] ""
78
+
79
+ #: includes/admin/class-si-admin-post-types.php:87
80
+ msgid "%s social icon moved to the Trash."
81
+ msgid_plural "%s social icons moved to the Trash."
82
+ msgstr[0] ""
83
+ msgstr[1] ""
84
+
85
+ #: includes/admin/class-si-admin-post-types.php:88
86
+ msgid "%s social icon restored from the Trash."
87
+ msgid_plural "%s social icons restored from the Trash."
88
+ msgstr[0] ""
89
+ msgstr[1] ""
90
+
91
+ #: includes/admin/class-si-admin-post-types.php:102
92
+ msgid "Name"
93
  msgstr ""
94
 
95
+ #: includes/admin/class-si-admin-post-types.php:103
96
+ msgid "Shortcode"
97
+ msgstr ""
98
+
99
+ #: includes/admin/class-si-admin-post-types.php:103
100
+ msgid "Copy and paste the shortcode on your post, page to render social icons."
101
+ msgstr ""
102
+
103
+ #: includes/admin/class-si-admin-post-types.php:104
104
+ msgid "Author"
105
+ msgstr ""
106
+
107
+ #: includes/admin/class-si-admin-post-types.php:105
108
+ msgid "Date"
109
+ msgstr ""
110
+
111
+ #: includes/admin/class-si-admin-post-types.php:159
112
+ #: includes/class-si-post-types.php:51
113
+ msgid "Edit"
114
+ msgstr ""
115
+
116
+ #: includes/admin/class-si-admin-post-types.php:165
117
+ msgid "Restore this item from the Trash"
118
+ msgstr ""
119
+
120
+ #: includes/admin/class-si-admin-post-types.php:165
121
+ msgid "Restore"
122
+ msgstr ""
123
+
124
+ #: includes/admin/class-si-admin-post-types.php:167
125
+ msgid "Move this item to the Trash"
126
+ msgstr ""
127
+
128
+ #: includes/admin/class-si-admin-post-types.php:167
129
+ msgid "Trash"
130
+ msgstr ""
131
+
132
+ #: includes/admin/class-si-admin-post-types.php:171
133
+ msgid "Delete this item permanently"
134
+ msgstr ""
135
+
136
+ #: includes/admin/class-si-admin-post-types.php:171
137
+ msgid "Delete Permanently"
138
+ msgstr ""
139
+
140
+ #: includes/admin/class-si-admin-post-types.php:249
141
+ msgid "Social Icon name"
142
+ msgstr ""
143
+
144
+ #: includes/admin/class-si-admin-post-types.php:263
145
+ msgid "Description (optional)"
146
+ msgstr ""
147
+
148
+ #: includes/admin/class-si-admin.php:56
149
+ msgid ""
150
+ "If you like <strong>Social Icons</strong> please leave us a "
151
+ "%s&#9733;&#9733;&#9733;&#9733;&#9733;%s rating. A huge thank you from "
152
+ "ThemeGrill in advance!"
153
+ msgstr ""
154
+
155
+ #: includes/admin/class-si-admin.php:56
156
+ msgid "Thanks :)"
157
+ msgstr ""
158
+
159
+ #: includes/admin/class-si-admin.php:64
160
+ msgid "Thank you for creating with Social Icons."
161
+ msgstr ""
162
+
163
+ #: includes/admin/meta-boxes/class-si-meta-box-group-data.php:41
164
+ msgid "General"
165
+ msgstr ""
166
+
167
+ #: includes/admin/meta-boxes/class-si-meta-box-group-data.php:46
168
+ msgid "Linked Icons"
169
+ msgstr ""
170
+
171
+ #: includes/admin/meta-boxes/class-si-meta-box-group-data.php:68
172
+ #: includes/widgets/class-si-widget-social-icons.php:62
173
  msgid "Background Style"
174
  msgstr ""
175
 
176
+ #: includes/admin/meta-boxes/class-si-meta-box-group-data.php:70
177
+ #: includes/widgets/class-si-widget-social-icons.php:64
178
  msgid "None"
179
  msgstr ""
180
 
181
+ #: includes/admin/meta-boxes/class-si-meta-box-group-data.php:71
182
+ #: includes/widgets/class-si-widget-social-icons.php:65
183
  msgid "Square"
184
  msgstr ""
185
 
186
+ #: includes/admin/meta-boxes/class-si-meta-box-group-data.php:72
187
+ #: includes/widgets/class-si-widget-social-icons.php:66
188
  msgid "Rounded"
189
  msgstr ""
190
 
191
+ #: includes/admin/meta-boxes/class-si-meta-box-group-data.php:73
192
+ #: includes/widgets/class-si-widget-social-icons.php:67
193
  msgid "Square Centre"
194
  msgstr ""
195
 
196
+ #: includes/admin/meta-boxes/class-si-meta-box-group-data.php:74
197
+ #: includes/widgets/class-si-widget-social-icons.php:68
198
  msgid "Rounded Centre"
199
  msgstr ""
200
 
201
+ #: includes/admin/meta-boxes/class-si-meta-box-group-data.php:77
202
+ msgid ""
203
+ "Define whether or not the entire background should be style based, or just "
204
+ "with the default style."
205
+ msgstr ""
206
+
207
+ #: includes/admin/meta-boxes/class-si-meta-box-group-data.php:81
208
+ #: includes/widgets/class-si-widget-social-icons.php:77
209
  msgid "Choose Icon Size"
210
  msgstr ""
211
 
212
+ #: includes/admin/meta-boxes/class-si-meta-box-group-data.php:81
213
+ msgid "Default"
214
  msgstr ""
215
 
216
+ #: includes/admin/meta-boxes/class-si-meta-box-group-data.php:81
217
+ msgid "Leave blank for default icon font size."
 
 
218
  msgstr ""
219
 
220
+ #: includes/admin/meta-boxes/class-si-meta-box-group-data.php:92
221
+ msgid "Manage Label"
222
+ msgstr ""
223
+
224
+ #: includes/admin/meta-boxes/class-si-meta-box-group-data.php:92
225
+ msgid "Enable this to display social icons label."
226
+ msgstr ""
227
+
228
+ #: includes/admin/meta-boxes/class-si-meta-box-group-data.php:95
229
+ msgid "Greyscale Icon"
230
+ msgstr ""
231
+
232
+ #: includes/admin/meta-boxes/class-si-meta-box-group-data.php:95
233
+ msgid "Enable this to allow greyscale social icons."
234
+ msgstr ""
235
+
236
+ #: includes/admin/meta-boxes/class-si-meta-box-group-data.php:98
237
+ msgid "Open New Tab"
238
+ msgstr ""
239
+
240
+ #: includes/admin/meta-boxes/class-si-meta-box-group-data.php:98
241
+ msgid "Enable this to allow links to open in new tab."
242
+ msgstr ""
243
+
244
+ #: includes/admin/meta-boxes/class-si-meta-box-group-data.php:111
245
+ msgid "Sortable Icons"
246
+ msgstr ""
247
+
248
+ #: includes/admin/meta-boxes/class-si-meta-box-group-data.php:116
249
+ #: includes/widgets/class-si-widget-social-icons.php:231
250
+ msgid "Label"
251
+ msgstr ""
252
+
253
+ #: includes/admin/meta-boxes/class-si-meta-box-group-data.php:116
254
+ msgid "This is the label of the social icon shown to the users."
255
  msgstr ""
256
 
257
+ #: includes/admin/meta-boxes/class-si-meta-box-group-data.php:117
258
+ msgid "Social URL"
259
+ msgstr ""
260
+
261
+ #: includes/admin/meta-boxes/class-si-meta-box-group-data.php:117
262
+ msgid "This is the URL to the social media which users will surf."
263
+ msgstr ""
264
+
265
+ #: includes/admin/meta-boxes/class-si-meta-box-group-data.php:127
266
+ #: includes/widgets/class-si-widget-social-icons.php:88
267
  msgid "Follow Me"
268
  msgstr ""
269
 
270
+ #: includes/admin/meta-boxes/class-si-meta-box-group-data.php:131
271
+ #: includes/widgets/class-si-widget-social-icons.php:92
272
  msgid "Friend me on Facebook"
273
  msgstr ""
274
 
275
+ #: includes/admin/meta-boxes/class-si-meta-box-group-data.php:157
276
+ #: includes/widgets/class-si-widget-social-icons.php:84
277
+ msgid "Add Icon"
278
+ msgstr ""
279
+
280
+ #: includes/admin/meta-boxes/class-si-meta-box-group-data.php:203
281
+ msgid "The social url %s cannot be used as it does not have an allowed icon."
282
+ msgstr ""
283
+
284
+ #: includes/admin/meta-boxes/views/html-group-social-icon.php:3
285
+ msgid "Social Label"
286
+ msgstr ""
287
+
288
+ #: includes/admin/meta-boxes/views/html-group-social-icon.php:4
289
+ #: includes/widgets/class-si-widget-social-icons.php:230
290
  msgid "http://"
291
  msgstr ""
292
 
293
+ #: includes/admin/meta-boxes/views/html-group-social-icon.php:5
294
+ msgid "Delete"
295
+ msgstr ""
296
+
297
+ #: includes/class-si-install.php:36
298
+ msgid "View Social Icons Settings"
299
+ msgstr ""
300
+
301
+ #: includes/class-si-install.php:36
302
+ msgid "Settings"
303
+ msgstr ""
304
+
305
+ #: includes/class-si-install.php:51
306
+ msgid "View Social Icons Documentation"
307
+ msgstr ""
308
+
309
+ #: includes/class-si-install.php:51
310
+ msgid "Docs"
311
+ msgstr ""
312
+
313
+ #: includes/class-si-install.php:52
314
+ msgid "Visit Free Customer Support Forum"
315
+ msgstr ""
316
+
317
+ #: includes/class-si-install.php:52
318
+ msgid "Free Support"
319
+ msgstr ""
320
+
321
+ #. Plugin Name of the plugin/theme
322
+ msgid "Social Icons"
323
+ msgstr ""
324
+
325
+ #: includes/class-si-post-types.php:47
326
+ msgid "Social Icon"
327
+ msgstr ""
328
+
329
+ #: includes/class-si-post-types.php:49
330
+ msgid "Add New"
331
+ msgstr ""
332
+
333
+ #: includes/class-si-post-types.php:50
334
+ msgid "Add New Social Icon"
335
+ msgstr ""
336
+
337
+ #: includes/class-si-post-types.php:52
338
+ msgid "Edit Social Icon"
339
+ msgstr ""
340
+
341
+ #: includes/class-si-post-types.php:53
342
+ msgid "New Social Icon"
343
+ msgstr ""
344
+
345
+ #: includes/class-si-post-types.php:54 includes/class-si-post-types.php:55
346
+ msgid "View Social Icons"
347
+ msgstr ""
348
+
349
+ #: includes/class-si-post-types.php:56
350
+ msgid "Search Social Icons"
351
+ msgstr ""
352
+
353
+ #: includes/class-si-post-types.php:57
354
+ msgid "No Social Icons found"
355
+ msgstr ""
356
+
357
+ #: includes/class-si-post-types.php:58
358
+ msgid "No Social Icons found in trash"
359
+ msgstr ""
360
+
361
+ #: includes/class-si-post-types.php:59
362
+ msgid "Parent Social Icon"
363
+ msgstr ""
364
+
365
+ #: includes/class-si-post-types.php:61
366
+ msgid "This is where you can add new icons set to your social icons."
367
+ msgstr ""
368
+
369
+ #: includes/widgets/class-si-widget-social-icons.php:28
370
+ msgid "Displays Social Network Icons."
371
+ msgstr ""
372
+
373
+ #: includes/widgets/class-si-widget-social-icons.php:35
374
+ msgid "Title"
375
+ msgstr ""
376
+
377
+ #: includes/widgets/class-si-widget-social-icons.php:40
378
+ msgid "Description"
379
+ msgstr ""
380
+
381
+ #: includes/widgets/class-si-widget-social-icons.php:41
382
+ msgid "Short description to be displayed above the icons."
383
+ msgstr ""
384
+
385
+ #: includes/widgets/class-si-widget-social-icons.php:47
386
+ msgid "Show icon label"
387
+ msgstr ""
388
+
389
+ #: includes/widgets/class-si-widget-social-icons.php:52
390
+ msgid "Show Greyscale icons"
391
+ msgstr ""
392
+
393
+ #: includes/widgets/class-si-widget-social-icons.php:57
394
+ msgid "Open links in new tab"
395
+ msgstr ""
396
+
397
+ #: includes/widgets/class-si-widget-social-icons.php:82
398
+ msgid "Sortable Socicon"
399
+ msgstr ""
400
+
401
+ #: includes/widgets/class-si-widget-social-icons.php:83
402
+ msgid ""
403
+ "Note that icons above are for reference and not how they will look on "
404
+ "front-end. %sList of icons supported%s"
405
+ msgstr ""
406
+
407
+ #: social-icons.php:61 social-icons.php:69
408
+ msgid "Cheatin&#8217; huh?"
409
  msgstr ""
410
 
411
  #. Plugin URI of the plugin/theme
415
  #. Description of the plugin/theme
416
  msgid ""
417
  "Social Icons provides you with an easy way to display various popular "
418
+ "social icons via widgets and shortcodes. You can drag the widget in your "
419
+ "sidebars and change the settings from the widget form itself. Also you can "
420
+ "use the shortcode and paste it on your page, post or wherever you like"
421
  msgstr ""
422
 
423
  #. Author of the plugin/theme
426
 
427
  #. Author URI of the plugin/theme
428
  msgid "http://themegrill.com"
429
+ msgstr ""
430
+
431
+ #: includes/class-si-post-types.php:48
432
+ msgctxt "Admin menu name"
433
+ msgid "Social Icons"
434
  msgstr ""
readme.txt CHANGED
@@ -1,16 +1,16 @@
1
  === Social Icons ===
2
  Contributors: ThemeGrill, shivapoudel
3
- Tags: social, media, icons, brands, widget, social networking, social media, social icon, social icons, social profile, social icon widget
4
  Requires at least: 4.0
5
- Tested up to: 4.4
6
- Stable tag: 1.3
7
  License: GPLv3
8
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
9
 
10
- Social Icons provides you with an easy way to display various popular social icons via widgets.
11
 
12
  == Description ==
13
- Social Icons provides you with an easy way to display various popular social icons via widgets. You can drag the widget in your sidebars and change the settings from the widget form itself.
14
 
15
  Get free support at http://themegrill.com/support-forum/
16
 
@@ -25,6 +25,8 @@ Check the docs at http://themegrill.com/docs/social-icons/
25
  * Drag and drop for icon sorting.
26
  * Option to easily change icon size.
27
  * Supports square, rounded and greyscale background.
 
 
28
  * More features coming on updates.
29
 
30
  == Installation ==
@@ -50,6 +52,19 @@ Yes you can! Join in on our [GitHub repository](https://github.com/themegrill/so
50
 
51
  == Changelog ==
52
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53
  = 1.3 - 08/03/2016 =
54
  * Feature - Rounded Center and Square Center Background Style added.
55
  * Fix - RSS link auto-detect for feed URL like: http://mysite.com/feed
1
  === Social Icons ===
2
  Contributors: ThemeGrill, shivapoudel
3
+ Tags: social, media, icons, brands, widget, social networking, social media, social icon, social icons, social profile, social icon widget, shortcode
4
  Requires at least: 4.0
5
+ Tested up to: 4.5
6
+ Stable tag: 1.4
7
  License: GPLv3
8
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
9
 
10
+ Social Icons provides you with an easy way to display various popular social icons via widgets and shortcode
11
 
12
  == Description ==
13
+ Social Icons provides you with an easy way to display various popular social icons via widgets and shortcodes. You can drag the widget in your sidebars and change the settings from the widget form itself. Also you can use the shortcode and paste it on your page, post or wherever you like
14
 
15
  Get free support at http://themegrill.com/support-forum/
16
 
25
  * Drag and drop for icon sorting.
26
  * Option to easily change icon size.
27
  * Supports square, rounded and greyscale background.
28
+ * Shortcode to render the icons on page, post.
29
+ * Different icon grouping for different location on your site.
30
  * More features coming on updates.
31
 
32
  == Installation ==
52
 
53
  == Changelog ==
54
 
55
+ = 1.4 - 20/05/2016 =
56
+ * Feature - Pretty Support for shortcode option.
57
+ * Fix - Undefinded index for key on widget save.
58
+ * Fix - Bug with links containing the word play.
59
+ * Tweak - Selective Refresh Support for Widgets.
60
+ * Tweak - Introduced a filter for the queued JS.
61
+ * Tweak - Introduced `si_get_allowed_socicons()`.
62
+ * Tweak - Preserve comments that start with a bang.
63
+ * Tweak - Enqueue frontend styles and scripts correctly.
64
+ * Tweak - Updated socicon to `v3.0.3` including instagram glyph change.
65
+ * Tweak - Introduced `si_get_social_icon_name()` to get social icon from url.
66
+ * Refactor - Better to use SI prefixing for overall classes.
67
+
68
  = 1.3 - 08/03/2016 =
69
  * Feature - Rounded Center and Square Center Background Style added.
70
  * Fix - RSS link auto-detect for feed URL like: http://mysite.com/feed
social-icons.php CHANGED
@@ -2,8 +2,8 @@
2
  /**
3
  * Plugin Name: Social Icons
4
  * Plugin URI: http://themegrill.com/plugins/social-icons/
5
- * Description: Social Icons provides you with an easy way to display various popular social icons via widgets. You can drag the widget in your sidebars and change the settings from the widget form itself.
6
- * Version: 1.3
7
  * Author: ThemeGrill
8
  * Author URI: http://themegrill.com
9
  * License: GPLv3 or later
@@ -18,109 +18,156 @@ if ( ! defined( 'ABSPATH' ) ) {
18
  if ( ! class_exists( 'Social_Icons' ) ) :
19
 
20
  /**
21
- * Main Social_Icons Class.
 
 
 
22
  */
23
- class Social_Icons {
24
 
25
  /**
26
  * Plugin version.
27
  * @var string
28
  */
29
- const VERSION = '1.3';
30
 
31
  /**
32
  * Instance of this class.
33
  * @var object
34
  */
35
- protected static $instance = null;
36
 
37
  /**
38
- * Initialize the plugin.
 
 
 
 
 
 
39
  */
40
- private function __construct() {
41
- // Load plugin text domain.
42
- add_action( 'init', array( $this, 'load_plugin_textdomain' ) );
 
 
 
43
 
44
- // Include classes.
45
- $this->includes();
 
 
 
 
 
46
 
47
- // Register Widget.
48
- add_action( 'widgets_init', array( $this, 'register_widget' ) );
 
 
 
 
 
49
 
50
- // Enqueue Scripts.
51
- add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
52
- add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
 
 
 
 
53
 
54
- // Social Protocols.
55
- add_filter( 'kses_allowed_protocols' , array( $this, 'allowed_social_protocols' ) );
56
  }
57
 
58
  /**
59
- * Return an instance of this class.
60
- * @return object A single instance of this class.
61
  */
62
- public static function get_instance() {
63
- // If the single instance hasn't been set, set it now.
64
- if ( is_null( self::$instance ) ) {
65
- self::$instance = new self();
66
- }
67
- return self::$instance;
68
  }
69
 
70
  /**
71
- * Load Localisation files.
72
- *
73
- * Note: the first-loaded translation file overrides any following ones if the same translation is present.
74
- *
75
- * Locales found in:
76
- * - WP_LANG_DIR/social-icons/social-icons-LOCALE.mo
77
- * - WP_LANG_DIR/plugins/social-icons-LOCALE.mo
78
  */
79
- public function load_plugin_textdomain() {
80
- $locale = apply_filters( 'plugin_locale', get_locale(), 'social-icons' );
81
-
82
- load_textdomain( 'social-icons', WP_LANG_DIR . '/social-icons/social-icons-' . $locale . '.mo' );
83
- load_plugin_textdomain( 'social-icons', false, plugin_basename( dirname( __FILE__ ) ) . '/languages' );
84
  }
85
 
86
  /**
87
- * Includes.
 
 
 
88
  */
89
- private function includes() {
90
- include_once( 'includes/class-widget-social-icons.php' );
 
 
91
  }
92
 
93
  /**
94
- * Register Widgets.
 
 
 
95
  */
96
- public function register_widget() {
97
- register_widget( 'TG_Widget_Social_Icons' );
 
 
 
 
 
98
  }
99
 
100
  /**
101
- * Enqueue styles and scripts.
102
  */
103
- public function enqueue_scripts() {
104
- if ( apply_filters( 'social_icons_is_active_widget', is_active_widget( false, false, 'themegrill_social_icons', true ) ) ) {
105
- wp_enqueue_style( 'social-icons', plugins_url( 'assets/css/social-icons.css', __FILE__ ), array(), self::VERSION );
 
 
 
 
 
 
106
  }
 
 
 
 
 
 
107
  }
108
 
109
  /**
110
- * Enqueue admin styles and scripts.
111
  */
112
- public function admin_enqueue_scripts() {
113
- $screen = get_current_screen();
114
- $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
 
115
 
116
- // Register Styles and Scripts.
117
- wp_register_style( 'social-icons-widgets', plugins_url( '/assets/css/widgets.css', __FILE__ ), array(), self::VERSION );
118
- wp_register_script( 'social-icons-widgets', plugins_url( '/assets/js/widgets' . $suffix . '.js', __FILE__ ), array( 'jquery' ), self::VERSION );
 
 
 
 
 
 
 
 
119
 
120
- if ( $screen && in_array( $screen->id, array( 'widgets', 'customize' ) ) ) {
121
- wp_enqueue_style( 'social-icons-widgets' );
122
- wp_enqueue_script( 'social-icons-widgets' );
123
- }
124
  }
125
 
126
  /**
@@ -128,15 +175,52 @@ class Social_Icons {
128
  * @param array $protocols Array of allowed protocols.
129
  * @return array
130
  */
131
- public function allowed_social_protocols( $protocols ) {
132
  $social_protocols = array(
133
  'skype'
134
  );
135
 
136
  return array_merge( $protocols, $social_protocols );
137
  }
138
- }
139
 
140
- add_action( 'plugins_loaded', array( 'Social_Icons', 'get_instance' ), 0 );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
141
 
142
  endif;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  /**
3
  * Plugin Name: Social Icons
4
  * Plugin URI: http://themegrill.com/plugins/social-icons/
5
+ * Description: Social Icons provides you with an easy way to display various popular social icons via widgets and shortcodes. You can drag the widget in your sidebars and change the settings from the widget form itself. Also you can use the shortcode and paste it on your page, post or wherever you like
6
+ * Version: 1.4
7
  * Author: ThemeGrill
8
  * Author URI: http://themegrill.com
9
  * License: GPLv3 or later
18
  if ( ! class_exists( 'Social_Icons' ) ) :
19
 
20
  /**
21
+ * Main Social Icons Class.
22
+ *
23
+ * @class Social_Icons
24
+ * @version 1.4.0
25
  */
26
+ final class Social_Icons {
27
 
28
  /**
29
  * Plugin version.
30
  * @var string
31
  */
32
+ public $version = '1.4.0';
33
 
34
  /**
35
  * Instance of this class.
36
  * @var object
37
  */
38
+ protected static $_instance = null;
39
 
40
  /**
41
+ * Main Social Icons Instance.
42
+ *
43
+ * Ensure only one instance of Social Icons is loaded or can be loaded.
44
+ *
45
+ * @static
46
+ * @see SI()
47
+ * @return Social_Icons - Main instance.
48
  */
49
+ public static function get_instance() {
50
+ if ( is_null( self::$_instance ) ) {
51
+ self::$_instance = new self();
52
+ }
53
+ return self::$_instance;
54
+ }
55
 
56
+ /**
57
+ * Cloning is forbidden.
58
+ * @since 1.4
59
+ */
60
+ public function __clone() {
61
+ _doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?', 'social-icons' ), '1.4' );
62
+ }
63
 
64
+ /**
65
+ * Unserializing instances of this class is forbidden.
66
+ * @since 1.4
67
+ */
68
+ public function __wakeup() {
69
+ _doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?', 'social-icons' ), '1.4' );
70
+ }
71
 
72
+ /**
73
+ * Social Icons Constructor.
74
+ */
75
+ private function __construct() {
76
+ $this->define_constants();
77
+ $this->includes();
78
+ $this->init_hooks();
79
 
80
+ do_action( 'social_icons_loaded' );
 
81
  }
82
 
83
  /**
84
+ * Hook into actions and filters.
 
85
  */
86
+ private function init_hooks() {
87
+ add_action( 'init', array( $this, 'load_plugin_textdomain' ) );
88
+ add_action( 'init', array( 'SI_Shortcodes', 'init' ) );
89
+ add_filter( 'kses_allowed_protocols' , array( $this, 'allowed_protocols' ) );
 
 
90
  }
91
 
92
  /**
93
+ * Define SI Constants.
 
 
 
 
 
 
94
  */
95
+ private function define_constants() {
96
+ $this->define( 'SI_PLUGIN_FILE', __FILE__ );
97
+ $this->define( 'SI_PLUGIN_BASENAME', plugin_basename( __FILE__ ) );
98
+ $this->define( 'SI_VERSION', $this->version );
 
99
  }
100
 
101
  /**
102
+ * Define constant if not already set.
103
+ *
104
+ * @param string $name
105
+ * @param string|bool $value
106
  */
107
+ private function define( $name, $value ) {
108
+ if ( ! defined( $name ) ) {
109
+ define( $name, $value );
110
+ }
111
  }
112
 
113
  /**
114
+ * What type of request is this?
115
+ *
116
+ * @param string $type admin or frontend.
117
+ * @return bool
118
  */
119
+ private function is_request( $type ) {
120
+ switch ( $type ) {
121
+ case 'admin' :
122
+ return is_admin();
123
+ case 'frontend' :
124
+ return ( ! is_admin() || defined( 'DOING_AJAX' ) ) && ! defined( 'DOING_CRON' );
125
+ }
126
  }
127
 
128
  /**
129
+ * Includes.
130
  */
131
+ private function includes() {
132
+ include_once( 'includes/functions-si-core.php' );
133
+ include_once( 'includes/functions-si-widget.php' );
134
+ include_once( 'includes/class-si-autoloader.php' );
135
+ include_once( 'includes/class-si-install.php' );
136
+ include_once( 'includes/class-si-ajax.php' );
137
+
138
+ if ( $this->is_request( 'admin' ) ) {
139
+ include_once( 'includes/admin/class-si-admin.php' );
140
  }
141
+
142
+ if ( $this->is_request( 'frontend' ) ) {
143
+ $this->frontend_includes();
144
+ }
145
+
146
+ include_once( 'includes/class-si-post-types.php' ); // Registers post types
147
  }
148
 
149
  /**
150
+ * Include required frontend files.
151
  */
152
+ public function frontend_includes() {
153
+ include_once( 'includes/class-si-frontend-scripts.php' ); // Frontend Scripts
154
+ include_once( 'includes/class-si-shortcodes.php' ); // Shortcodes Class
155
+ }
156
 
157
+ /**
158
+ * Load Localisation files.
159
+ *
160
+ * Note: the first-loaded translation file overrides any following ones if the same translation is present.
161
+ *
162
+ * Locales found in:
163
+ * - WP_LANG_DIR/social-icons/social-icons-LOCALE.mo
164
+ * - WP_LANG_DIR/plugins/social-icons-LOCALE.mo
165
+ */
166
+ public function load_plugin_textdomain() {
167
+ $locale = apply_filters( 'plugin_locale', get_locale(), 'social-icons' );
168
 
169
+ load_textdomain( 'social-icons', WP_LANG_DIR . '/social-icons/social-icons-' . $locale . '.mo' );
170
+ load_plugin_textdomain( 'social-icons', false, plugin_basename( dirname( __FILE__ ) ) . '/languages' );
 
 
171
  }
172
 
173
  /**
175
  * @param array $protocols Array of allowed protocols.
176
  * @return array
177
  */
178
+ public function allowed_protocols( $protocols ) {
179
  $social_protocols = array(
180
  'skype'
181
  );
182
 
183
  return array_merge( $protocols, $social_protocols );
184
  }
 
185
 
186
+ /**
187
+ * Get the plugin url.
188
+ * @return string
189
+ */
190
+ public function plugin_url() {
191
+ return untrailingslashit( plugins_url( '/', __FILE__ ) );
192
+ }
193
+
194
+ /**
195
+ * Get the plugin path.
196
+ * @return string
197
+ */
198
+ public function plugin_path() {
199
+ return untrailingslashit( plugin_dir_path( __FILE__ ) );
200
+ }
201
+
202
+ /**
203
+ * Get Ajax URL.
204
+ * @return string
205
+ */
206
+ public function ajax_url() {
207
+ return admin_url( 'admin-ajax.php', 'relative' );
208
+ }
209
+ }
210
 
211
  endif;
212
+
213
+ /**
214
+ * Main instance of Social Icons.
215
+ *
216
+ * Returns the main instance of SI to prevent the need to use globals.
217
+ *
218
+ * @since 1.4.0
219
+ * @return Social_Icons
220
+ */
221
+ function SI() {
222
+ return Social_Icons::get_instance();
223
+ }
224
+
225
+ // Global for backwards compatibility.
226
+ $GLOBALS['social_icons'] = SI();
uninstall.php ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Social Icons Uninstall
4
+ *
5
+ * Uninstalls the plugin and associated data.
6
+ *
7
+ * @author ThemeGrill
8
+ * @category Core
9
+ * @package Social_Icons/Uninstaller
10
+ * @version 1.4.0
11
+ */
12
+
13
+ if( ! defined( 'WP_UNINSTALL_PLUGIN' ) ) {
14
+ exit;
15
+ }
16
+
17
+ global $wpdb, $wp_version;
18
+
19
+ $uninstall_data = apply_filters( 'social_icons_uninstall_data', true );
20
+
21
+ if ( $uninstall_data ) {
22
+ // Delete options.
23
+ $wpdb->query( "DELETE FROM $wpdb->options WHERE option_name LIKE 'social_icons\_%';" );
24
+
25
+ // Delete posts + data.
26
+ $wpdb->query( "DELETE FROM {$wpdb->posts} WHERE post_type IN ( 'social_icon' );" );
27
+ $wpdb->query( "DELETE meta FROM {$wpdb->postmeta} meta LEFT JOIN {$wpdb->posts} posts ON posts.ID = meta.post_id WHERE posts.ID IS NULL;" );
28
+
29
+ // Clear any cached data that has been removed.
30
+ wp_cache_flush();
31
+ }