Page Builder: Live Composer – drag and drop website builder (visual front end site editor) - Version 1.0.8

Version Description

  • May 11th 2016 =

  • Page Builder - Module Options: Added 'Nofollow' option for the BUTTON and INFOBOX modules.

  • Page Builder - Module Options: New icon selection modal

  • Page Builder - Module Options: Removed confusing "Query Alter" tab. Created a simpler "Archive/Search Listing" control instead.

  • Page Builder - WordPress Admin: Show notice when W3 Total Cache plugin configs are wrong (can break Live Compose functionality)

  • Page Builder - WordPress Admin: Removed "Edit Template" button from header/footer editing screen and meta boxes.

  • Page Builder - WordPress Admin: Redesigned and improved plugin settings panel

  • Page Builder - WordPress Admin: Show notice if wrong settings detected in WP Admin > General

  • Page Builder - WordPress Admin: Overlay WP editor with LC Page Builder tab ONLY if there is LC content detected AND there is no content in the standard editor

  • Page Builder - Code: CSS generation optimization. After this change, we get ~30% shorter CSS code.

  • Page Builder - Code: Better content export into the dslc_content_for_search custom field. Now content fully recreate plain HTML output of the LC page. From now modules need to set attribute data-exportable-content for the peace that has searchable/exportable content inside.

  • Page Builder - Code: Improved code styling according to WordPress standards

  • Page Builder - Code: Removed DS_LIVE_COMPOSER_LOAD_MINIFIED constant. Developers, please use standard WP constant SCRIPT_DEBUG that can be declared in the wp-config file.

  • Page Builder - Code: Do not output empty Google font calls (when font set to an empty string in the editor)

  • Page Builder - Code: Added possibility for theme developers to output CSS for non-standard custom post types

  • Page Builder - Code: Make Welcome screen on activation optional for the theme developers. Use dslc_show_welcome_screen filter to disable it.

  • Page Builder - Code: Add 'dslc_archive_template_cpt' filter to give the theme developers an option to show their own custom posts types in the templates dropdown.

  • Page Builder - Code: Fix a broken reply to comment JS functionality due to the absence of a proper comment id in the html output.

  • Page Builder - Code: Fixed infinite loop in categories/tags feed output

  • Page Builder - Code: Fix broken styling for DSLC_TP_Content modules in templates

  • Page Builder - Code: Animations moved outside of media queries to it work in IE10 and IE11

  • Page Builder - Code: Fix a bug with posts listing on is_date() archive pages

Download this release

Release Info

Developer LiveComposer
Plugin Icon 128x128 Page Builder: Live Composer – drag and drop website builder (visual front end site editor)
Version 1.0.8
Comparing to
See all releases

Code changes from version 1.0.7.2 to 1.0.8

Files changed (101) hide show
  1. README.md +7 -3
  2. css/builder.main.css +199 -108
  3. css/main.css +39 -37
  4. css/main.min.css +1 -1
  5. ds-live-composer.php +14 -12
  6. images/lc-extension-animations.png +0 -0
  7. images/lc-extension-beforeafter.png +0 -0
  8. images/lc-extension-bundle.png +0 -0
  9. images/lc-extension-gallery.png +0 -0
  10. images/lc-extension-googlemaps.png +0 -0
  11. images/lc-extension-lineicons.png +0 -0
  12. images/lc-extension-perpagewidth.png +0 -0
  13. images/lc-extension-prevnext.png +0 -0
  14. images/lc-extension-videoembed.png +0 -0
  15. images/lc-theme-blank.png +0 -0
  16. images/lc-theme-orao.png +0 -0
  17. images/livecomposer-mink-curious.png +0 -0
  18. includes/ajax.php +68 -68
  19. includes/archive-templates.php +14 -6
  20. includes/class.module.php +31 -31
  21. includes/display-functions.php +64 -44
  22. includes/functions.php +109 -49
  23. includes/header-footer.php +30 -30
  24. includes/other-functions.php +120 -33
  25. includes/other.php +191 -5
  26. includes/plugin-options-framework/css/main.css +1781 -24
  27. includes/plugin-options-framework/css/main.min.css +1 -1
  28. includes/plugin-options-framework/getting-started.php +0 -109
  29. includes/{access-control.php → plugin-options-framework/inc/access-control.php} +22 -1
  30. includes/plugin-options-framework/inc/display-options.php +139 -103
  31. includes/plugin-options-framework/inc/functions.php +20 -9
  32. includes/plugin-options-framework/inc/init.php +139 -102
  33. includes/plugin-options-framework/inc/options.php +73 -15
  34. includes/{performance.php → plugin-options-framework/inc/performance.php} +5 -2
  35. includes/plugin-options-framework/js/main.js +1 -1
  36. includes/plugin-options-framework/js/main.min.js +1 -1
  37. includes/plugin-options-framework/plugin-options-framework.php +2 -0
  38. includes/plugin-options-framework/tab-docs.php +44 -0
  39. includes/plugin-options-framework/tab-extensions.php +144 -0
  40. includes/plugin-options-framework/tab-getting-started.php +184 -0
  41. includes/plugin-options-framework/tab-settings.php +116 -0
  42. includes/plugin-options-framework/tab-themes.php +45 -0
  43. includes/post-options-framework/css/main.css +1 -0
  44. includes/post-options-framework/css/main.min.css +1 -1
  45. includes/post-options-framework/js/main.js +2 -1
  46. includes/post-options-framework/js/main.min.js +1 -1
  47. includes/post-options-framework/post-options-framework.php +17 -19
  48. includes/row-system/inc/options-output.php +12 -12
  49. includes/row-system/inc/options.php +3 -3
  50. includes/scripts.php +55 -48
  51. includes/search-filter.php +4 -4
  52. includes/shortcodes.php +11 -11
  53. includes/single-templates-framework/inc/filters.php +23 -23
  54. includes/single-templates-framework/inc/functions.php +6 -6
  55. includes/styling-presets.php +4 -2
  56. includes/tutorials/tutorial.php +17 -17
  57. js/builder.main.js +93 -44
  58. js/builder.main.min.js +4 -4
  59. js/main.min.js +1 -1
  60. modules/accordion/module.php +3 -3
  61. modules/blog/module.php +59 -90
  62. modules/button/module.php +39 -10
  63. modules/downloads/functions.php +3 -3
  64. modules/downloads/module.php +59 -91
  65. modules/galleries/module.php +61 -93
  66. modules/html/module.php +8 -3
  67. modules/image/module.php +2 -2
  68. modules/infobox/module.php +34 -22
  69. modules/navigation/functions.php +6 -4
  70. modules/navigation/module.php +7 -7
  71. modules/notification/module.php +7 -2
  72. modules/partners/functions.php +3 -3
  73. modules/partners/module.php +16 -16
  74. modules/posts/module.php +65 -96
  75. modules/progress-bars/module.php +1 -1
  76. modules/projects/functions.php +3 -3
  77. modules/projects/module.php +57 -89
  78. modules/separator/module.php +18 -18
  79. modules/social/module.php +1 -1
  80. modules/staff/functions.php +3 -3
  81. modules/staff/module.php +16 -16
  82. modules/tabs/module.php +4 -4
  83. modules/testimonials/functions.php +3 -3
  84. modules/testimonials/module.php +16 -16
  85. modules/text-simple/module.php +6 -1
  86. modules/tp-comments-form/module.php +6 -6
  87. modules/tp-comments/functions.php +6 -6
  88. modules/tp-comments/module.php +3 -3
  89. modules/tp-content/module.php +1 -1
  90. modules/tp-downloads-button/module.php +1 -1
  91. modules/tp-excerpt/module.php +1 -1
  92. modules/tp-gallery-slider/module.php +2 -2
  93. modules/tp-meta/module.php +9 -9
  94. modules/tp-project-slider/module.php +2 -2
  95. modules/tp-staff-social/module.php +1 -1
  96. modules/tp-thumbnail/module.php +2 -2
  97. modules/tp-title/module.php +1 -1
  98. modules/widgets/functions.php +1 -4
  99. modules/woocommerce/module.php +58 -90
  100. readme.txt +1076 -16
  101. templates/dslc-single.php +1 -1
README.md CHANGED
@@ -6,7 +6,12 @@ http://livecomposerplugin.com
6
 
7
  [![Download the latest verison](https://img.shields.io/badge/Latest%20Version-Download-%234CC597.svg)](http://downloads.wordpress.org/plugin/live-composer-page-builder.latest-stable.zip) [![GitHub license](https://img.shields.io/badge/license-GPLv2-blue.svg)](https://raw.githubusercontent.com/livecomposer/Live-Composer/master/LICENSE) ![WordPress Tested](https://img.shields.io/badge/wordpress-plugin-green.svg)
8
 
9
- **Lead Developers:** [Slobodan Kustrimovic](https://github.com/WPCanyon)
 
 
 
 
 
10
  **Version:** 1.0.7
11
 
12
  ## Description
@@ -32,5 +37,4 @@ When you visit a page you'll see a green "activate editor" button in the bottom
32
  In most of the cases this is because the homepage is not a real WordPress page, it’s custom content generated by the theme’s index.php. Publish a new page and set it as the homepage ( WP Admin > Settings > Reading > Front Page ). Now you can use LC on the homepage.
33
 
34
  #### Is it compatible with any WordPress theme?
35
- Live Composer should work with any WordPress theme created according to the standards. You can find also a few free and premium themes created specialy for this plugin: http://livecomposerplugin.com/themes/ If you starch form scratch we recommend to check a free Blank Theme.
36
-
6
 
7
  [![Download the latest verison](https://img.shields.io/badge/Latest%20Version-Download-%234CC597.svg)](http://downloads.wordpress.org/plugin/live-composer-page-builder.latest-stable.zip) [![GitHub license](https://img.shields.io/badge/license-GPLv2-blue.svg)](https://raw.githubusercontent.com/livecomposer/Live-Composer/master/LICENSE) ![WordPress Tested](https://img.shields.io/badge/wordpress-plugin-green.svg)
8
 
9
+ **Lead Developer:** [Lumberman Designs Team](https://github.com/lumbermandesigns)
10
+
11
+ **Original Plugin Idea and Development:** [Slobodan Kustrimovic](https://github.com/WPCanyon)
12
+
13
+ **Contributors:** [Joel Milne](https://github.com/goldhat)
14
+
15
  **Version:** 1.0.7
16
 
17
  ## Description
37
  In most of the cases this is because the homepage is not a real WordPress page, it’s custom content generated by the theme’s index.php. Publish a new page and set it as the homepage ( WP Admin > Settings > Reading > Front Page ). Now you can use LC on the homepage.
38
 
39
  #### Is it compatible with any WordPress theme?
40
+ Live Composer should work with any WordPress theme created according to the standards. You can also find a few free and premium themes created specifically for this plugin: http://livecomposerplugin.com/themes/ If you start from scratch we recommend to check out a free Blank Theme.
 
css/builder.main.css CHANGED
@@ -1,5 +1,5 @@
1
  body {
2
-
3
  }
4
 
5
  .dslca-container * {
@@ -23,12 +23,12 @@ body {
23
 
24
  .dslca-container input[type="text"],
25
  .dslca-container input[type="number"],
26
- .dslca-container select,
27
  .dslca-container textarea {
28
  background: rgba( 255, 255, 255, 0.1 );
29
  border: 0;
30
  color: #fff;
31
- padding: 8px 10px;
32
  font-family: "Open Sans";
33
  font-size: 13px;
34
  -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
@@ -67,7 +67,7 @@ body {
67
  -moz-transition: bottom 0.3s;
68
  transition: bottom 0.3s;
69
  }
70
-
71
  /**
72
  * Header
73
  */
@@ -148,7 +148,7 @@ body {
148
  .dslca-header .dslca-row-options-filter-hook.dslca-active {
149
  background: #5890e5;
150
  }
151
-
152
  .dslca-header .dslca-go-to-section-templates.dslca-active {
153
  border-top-color: #bf7671;
154
  background: #a94640;
@@ -227,7 +227,7 @@ body {
227
  line-height: 55px;
228
  text-align: center;
229
  }
230
-
231
  .dslca-section-title {
232
  display: block;
233
  float: left;
@@ -237,7 +237,7 @@ body {
237
  font-size: 15px;
238
  line-height: 1;
239
  padding: 20px 25px;
240
- text-transform: uppercase;
241
  }
242
 
243
  .dslca-templates .dslca-section-title,
@@ -295,8 +295,8 @@ body {
295
  * Modules
296
  */
297
 
298
- .dslca-modules {
299
-
300
  }
301
 
302
  .dslca-module {
@@ -309,7 +309,7 @@ body {
309
  font-size: 15px;
310
  line-height: 1;
311
  padding: 21px 24px;
312
- text-transform: uppercase;
313
  }
314
 
315
  .dslca-module.ui-draggable-dragging {
@@ -345,7 +345,7 @@ body {
345
  }
346
 
347
  .dslca-module-edit-options {
348
- padding: 20px 15px;
349
  overflow-x: auto;
350
  min-height: 58px;
351
  }
@@ -354,7 +354,7 @@ body {
354
  display: block;
355
  float: left;
356
  margin-bottom: 30px;
357
- margin-right: 35px;
358
  margin-top: 20px;
359
  width: 235px;
360
  }
@@ -375,6 +375,7 @@ body {
375
  .dslca-module-edit-option select:focus {
376
  background: #6c9fed;
377
  border: 1px solid #447bce;
 
378
  width: 100%;
379
  height: auto;
380
  }
@@ -415,35 +416,32 @@ body {
415
  width: 158px;
416
  }
417
 
 
 
 
 
418
  .dslca-module-edit-field-font,
419
  .dslca-module-edit-field-icon {
420
  vertical-align: middle;
421
  }
422
 
423
- .dslca-module-edit-field-font-next,
424
- .dslca-module-edit-field-font-prev,
425
- .dslca-module-edit-field-icon-next,
426
- .dslca-module-edit-field-icon-prev {
427
- background: #3b6fbe;
428
  border: 1px solid #3565ad;
429
  border-radius: 3px;
430
  cursor: pointer;
431
  display: inline-block;
 
432
  position: relative;
433
- width: 30px;
434
- height: 33px;
435
  vertical-align: middle;
 
436
  }
437
 
438
- .dslca-module-edit-field-font-next .dslca-icon,
439
- .dslca-module-edit-field-font-prev .dslca-icon,
440
- .dslca-module-edit-field-icon-next .dslca-icon,
441
- .dslca-module-edit-field-icon-prev .dslca-icon {
442
  color: #8db6f3;
443
- position: absolute;
444
- top: 11px;
445
- left: 11px;
446
  font-size: 12px;
 
447
  }
448
 
449
  .dslca-module-edit-field-font-suggest,
@@ -453,7 +451,7 @@ body {
453
  position: absolute;
454
  left: 11px;
455
  top: 0;
456
- line-height: 36px;
457
  font-family: "Open Sans", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
458
  font-size: 13px;
459
  }
@@ -469,7 +467,7 @@ body {
469
 
470
  .dslca-module-edit-option-checkbox-wrapper {
471
  background: #3b6fbe;
472
- border-radius: 4px;
473
  border: 1px solid #3565ad;
474
  padding: 0 10px;
475
  }
@@ -685,7 +683,7 @@ body {
685
  * Text Align Option Type
686
  */
687
 
688
- .dslca-module-edit-option-text-align {
689
  width: auto;
690
  }
691
 
@@ -753,7 +751,7 @@ body {
753
  }
754
 
755
  .dslca-modules-section-edit-options {
756
- padding: 20px 15px;
757
  overflow-x: hidden;
758
  }
759
 
@@ -761,7 +759,7 @@ body {
761
  display: block;
762
  float: left;
763
  margin-bottom: 30px;
764
- margin-right: 35px;
765
  margin-top: 20px;
766
  width: 235px;
767
  position: relative;
@@ -787,7 +785,7 @@ body {
787
  }
788
 
789
  .dslca-modules-section-edit-option-checkbox {
790
-
791
  }
792
 
793
  .dslca-modules-section-edit-option-textarea {
@@ -849,8 +847,8 @@ body {
849
  */
850
 
851
  .dslca-templates {
852
- /* border-top: 1px solid #d8827d; */
853
- position: relative;
854
  }
855
 
856
  .dslca-templates .dslca-go-to-section-hook,
@@ -864,7 +862,7 @@ body {
864
  font-size: 15px;
865
  line-height: 1;
866
  padding: 20px 25px 21px 25px;
867
- text-transform: uppercase;
868
  }
869
 
870
  .dslca-templates .dslca-go-to-section-hook .dslca-icon,
@@ -880,7 +878,7 @@ body {
880
  */
881
 
882
  .dslca-templates-load {
883
- border-top: 1px solid #d8827d;
884
  }
885
 
886
  .dslca-template {
@@ -894,7 +892,7 @@ body {
894
  line-height: 1;
895
  padding: 20px 25px;
896
  position: relative;
897
- text-transform: uppercase;
898
  }
899
 
900
  .dslca-template-origin-user {
@@ -935,9 +933,9 @@ body {
935
  * Template Import
936
  */
937
 
938
- .dslca-template-import-form {
939
 
940
- }
941
 
942
  #dslca-import-code {
943
  background: #fff;
@@ -979,11 +977,11 @@ body {
979
  /**/
980
 
981
  .dslca-section-actions {
982
-
983
  }
984
 
985
  .dslca-go-to-modules-hook {
986
-
987
  }
988
 
989
 
@@ -1028,7 +1026,7 @@ body {
1028
  }
1029
 
1030
  .dslca-cancel {
1031
- background: #e55f5f;
1032
  border-radius: 3px;
1033
  color: #fff;
1034
  cursor: pointer;
@@ -1184,7 +1182,7 @@ body {
1184
  box-shadow: 0 0 0 2px #5890e5;
1185
  }
1186
 
1187
- .dslc-module-front.ui-sortable-helper {
1188
  background: #5890e5;
1189
  border-radius: 3px;
1190
  height: 0 !important;
@@ -1214,7 +1212,7 @@ body {
1214
  opacity: 1;
1215
  }
1216
 
1217
- .dslc-modules-area.ui-sortable-helper {
1218
  cursor: move;
1219
  border: 0 !important;
1220
  outline: 0 !important;
@@ -1224,11 +1222,11 @@ body {
1224
  opacity: 0;
1225
  }
1226
 
1227
- .dslc-modules-area.ui-sortable-helper {
1228
-
1229
  }
1230
 
1231
- .dslc-modules-section.ui-sortable-helper {
1232
  max-height: 0px !important;
1233
  width: 100% !important;
1234
  overflow: hidden !important;
@@ -1264,7 +1262,7 @@ body {
1264
  position: relative;
1265
  }
1266
 
1267
- .dslca-save-composer-helptext {
1268
  color: #adadad;
1269
  white-space: nowrap;
1270
  }
@@ -1314,7 +1312,7 @@ body {
1314
  margin-left: 5px;
1315
  }
1316
 
1317
- .dslca-save-draft-composer-helptext {
1318
  color: #adadad;
1319
  white-space: nowrap;
1320
  }
@@ -1395,7 +1393,7 @@ body {
1395
  * Module Section
1396
  */
1397
 
1398
- /* Button */
1399
 
1400
  .dslca-add-modules-section {
1401
  text-align: center;
@@ -1567,7 +1565,7 @@ body {
1567
  */
1568
 
1569
  .dslca-add-modules-area {
1570
-
1571
  }
1572
 
1573
  .dslca-add-modules-area-hook {
@@ -1599,7 +1597,7 @@ body {
1599
  }
1600
 
1601
  .dslc-modules-area {
1602
- position: relative;
1603
  }
1604
 
1605
  .dslca-modules-area-drag-in-progress .dslc-modules-area {
@@ -1718,7 +1716,7 @@ body {
1718
  top: 30px;
1719
  }
1720
 
1721
- .dslca-change-width-modules-area-options:after,
1722
  .dslca-change-width-modules-area-options:before {
1723
  right: 100%;
1724
  top: 18px;
@@ -1782,14 +1780,14 @@ body {
1782
  * Modules Area Manage - Empty
1783
  */
1784
 
1785
- .dslc-modules-area-empty .dslca-modules-area-manage {
1786
- top: 12px;
1787
- bottom: auto;
1788
- }
1789
 
1790
- .dslc-modules-area-empty .dslca-modules-area-manage-inner {
1791
- margin-top: 0;
1792
- }
1793
 
1794
 
1795
 
@@ -1832,7 +1830,7 @@ body.rtl .dslca-modules-area-placeholder {
1832
  display: inline-block;
1833
  padding: 3px;
1834
  position: relative;
1835
- top: -50px;
1836
  }
1837
 
1838
  .dslca-module-manage-inner.dslca-dev-mode {
@@ -1906,7 +1904,7 @@ body.rtl .dslca-modules-area-placeholder {
1906
  }
1907
 
1908
  .dslca-modal-title {
1909
-
1910
  }
1911
 
1912
  .dslca-modal:after {
@@ -2053,7 +2051,7 @@ body.rtl .dslca-modules-area-placeholder {
2053
  #wp-dslcawysiwyg-wrap,
2054
  #wp-dslcawysiwyg-editor-container,
2055
  #wp-dslcawysiwyg-editor-container textarea {
2056
-
2057
  }
2058
 
2059
  #wp-dslcawysiwyg-editor-container {
@@ -2205,7 +2203,7 @@ body.rtl .dslca-modules-area-placeholder {
2205
  }
2206
 
2207
  @-webkit-keyframes "dslcBounceIn" {
2208
-
2209
  0% {
2210
  -webkit-transform: scale(0);
2211
  transform: scale(0);
@@ -2245,7 +2243,7 @@ body.rtl .dslca-modules-area-placeholder {
2245
  }
2246
 
2247
  @-moz-keyframes dslcBounceOut {
2248
-
2249
  0% {
2250
  -moz-transform: scale(1);
2251
  transform: scale(1);
@@ -2294,7 +2292,7 @@ body.rtl .dslca-modules-area-placeholder {
2294
  }
2295
 
2296
  @-moz-keyframes dslcBounceOut2 {
2297
-
2298
  0% {
2299
  -moz-transform: scale(1);
2300
  transform: scale(1);
@@ -2318,7 +2316,7 @@ body.rtl .dslca-modules-area-placeholder {
2318
  }
2319
  30% {
2320
  -webkit-transform: scale(1.01);
2321
- transform: scale(1.01);
2322
  }
2323
  100% {
2324
  -webkit-transform: scale(0.9);
@@ -2341,7 +2339,7 @@ body.rtl .dslca-modules-area-placeholder {
2341
  }
2342
 
2343
  @-moz-keyframes dslcOpacityDrop {
2344
-
2345
  0% {
2346
  opacity: 1;
2347
  }
@@ -2393,7 +2391,7 @@ body.rtl .dslca-modules-area-placeholder {
2393
  }
2394
 
2395
  @-webkit-keyframes "dslcRotate" {
2396
-
2397
  0% {
2398
  -webkit-transform: rotate(0deg);
2399
  transform: rotate(0deg);
@@ -2467,7 +2465,7 @@ body.rtl .dslca-modules-area-placeholder {
2467
 
2468
  .dslca-container .dslca-module-edit-option-slider,
2469
  .dslca-container .dslca-modules-section-edit-option-slider {
2470
- position: relative;
2471
  }
2472
 
2473
  .dslca-container .dslca-module-edit-field-slider,
@@ -2655,7 +2653,7 @@ body.rtl .dslca-modules-area-placeholder {
2655
  }
2656
 
2657
  .dslca-prompt-modal-cancel-hook {
2658
-
2659
  }
2660
 
2661
  .dslca-prompt-modal-actions .dslc-icon {
@@ -2863,9 +2861,9 @@ body.rtl .dslca-modules-area-placeholder {
2863
  text-decoration: none;
2864
  }
2865
 
2866
- .dslca-module-edit-field-icon-ttip:after,
2867
  .dslca-module-edit-field-icon-ttip:before,
2868
- .dslca-module-edit-field-ttip:after,
2869
  .dslca-module-edit-field-ttip:before {
2870
  top: 100%;
2871
  border: solid transparent;
@@ -2934,7 +2932,7 @@ body.rtl .dslca-modules-area-placeholder {
2934
  text-transform: uppercase;
2935
  white-space: nowrap;
2936
  }
2937
-
2938
  .dslca-modules-section-edit-field-image-add-hook .dslca-icon,
2939
  .dslca-modules-section-edit-field-image-remove-hook .dslca-icon,
2940
  .dslca-module-edit-field-image-add-hook .dslca-icon,
@@ -3177,7 +3175,7 @@ body.dslca-composer-hidden .dslc-modules-section .dslca-modules-section-manage,
3177
  .dslca-container-loader-inner {
3178
  position: absolute;
3179
  top: 10px;
3180
- left: 15px;
3181
  }
3182
 
3183
  /**
@@ -3198,65 +3196,65 @@ body.page .dslca-module.dslca-origin-single[data-id="DSLC_TP_Staff_Social"] {
3198
  }
3199
 
3200
  .media-modal-backdrop {
3201
- z-index: 999999998 !important;
3202
  }
3203
 
3204
  /**
3205
  * RTL Fixes
3206
  */
3207
 
3208
- body.rtl .dslca-templates .dslca-go-to-section-hook .dslca-icon,
3209
  body.rtl .dslca-templates .dslca-open-modal-hook .dslca-icon {
3210
- margin-right: 0;
3211
- margin-left: 9px;
3212
  }
3213
 
3214
  body.rtl .dslca-section-title-filter .dslca-icon {
3215
- margin-left: 0;
3216
- margin-right: 10px;
3217
  }
3218
 
3219
- body.rtl .dslca-container .dslca-close-composer-hook .dslca-icon,
3220
- body.rtl .dslca-activate-composer-hook .dslca-icon,
3221
- body.rtl .dslca-container .dslca-hide-composer-hook .dslca-icon,
3222
  body.rtl .dslca-container .dslca-show-composer-hook .dslca-icon {
3223
- margin-right: 0;
3224
- margin-left: 5px;
3225
  }
3226
 
3227
  body.rtl .dslca-module .dslca-icon {
3228
- margin-right: 0;
3229
- margin-left: 11px;
3230
  }
3231
 
3232
  body.rtl .dslca-header .dslca-options-filter-hook .dslca-icon {
3233
- margin-right: 0;
3234
- margin-left: 4px;
3235
  }
3236
 
3237
  body.rtl .dslca-prompt-modal-actions .dslc-icon {
3238
- margin-right: 0;
3239
- margin-left: 6px;
3240
  }
3241
 
3242
  body.rtl .dslca-module-edit-option-checkbox-hook .dslca-icon {
3243
- margin-right: 0;
3244
- margin-left: 10px;
3245
  }
3246
 
3247
  body.rtl .dslca-module-edit-options-inner,
3248
  body.rtl .dslca-modules-section-edit-options-inner {
3249
- overflow-x: auto;
3250
  }
3251
 
3252
  body.rtl .dslca-module-edit-option,
3253
  body.rtl .dslca-modules-section-edit-option {
3254
- float: right;
3255
  }
3256
 
3257
  body.rtl .dslca-no-content .dslca-icon {
3258
- margin-right: 0;
3259
- margin-left: 10px;
3260
  }
3261
 
3262
  /**
@@ -3278,7 +3276,7 @@ body.page .dslca-module.dslca-origin-single[data-id="DSLC_TP_Staff_Social"] {
3278
  .dslca-drag-not-in-progress .dslc-modules-section .dslca-modules-section-manage-inner {
3279
  -webkit-transition: all 0.2s ease-in-out;
3280
  -moz-transition: all 0.2s ease-in-out;
3281
- transition: all 0.2s ease-in-out;
3282
  }
3283
 
3284
  .dslca-drag-not-in-progress .dslc-modules-section:hover .dslca-modules-section-manage-inner {
@@ -3302,17 +3300,32 @@ body.page .dslca-module.dslca-origin-single[data-id="DSLC_TP_Staff_Social"] {
3302
  overflow: visible;
3303
  }
3304
 
3305
- .dslca-drag-not-in-progress .dslc-module-front .dslca-module-manage-inner,
3306
  .dslca-drag-not-in-progress .dslc-module-front .dslca-wysiwyg-actions-edit-hook {
3307
- top: -50;
3308
- -webkit-transition: top 0.2s ease-in-out;
3309
- -moz-transition: top 0.2s ease-in-out;
3310
- transition: top 0.2s ease-in-out;
 
 
 
 
 
 
 
 
 
 
3311
  }
3312
 
3313
- .dslca-drag-not-in-progress .dslc-module-front:hover .dslca-module-manage-inner,
3314
  .dslca-drag-not-in-progress .dslc-module-front:hover .dslca-wysiwyg-actions-edit-hook {
3315
  top: 0;
 
 
 
 
 
3316
  }
3317
 
3318
  /**
@@ -3321,11 +3334,89 @@ body.page .dslca-module.dslca-origin-single[data-id="DSLC_TP_Staff_Social"] {
3321
 
3322
  .dslca-drag-not-in-progress .dslc-modules-area .dslca-modules-area-manage-inner {
3323
  opacity: 0;
3324
- -webkit-transition: opacity 0.2s ease-in-out;
3325
  -moz-transition: opacity 0.2s ease-in-out;
3326
- transition: opacity 0.2s ease-in-out;
3327
  }
3328
 
3329
  .dslca-drag-not-in-progress .dslc-modules-area:hover .dslca-modules-area-manage-inner {
3330
  opacity: 1;
3331
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  body {
2
+
3
  }
4
 
5
  .dslca-container * {
23
 
24
  .dslca-container input[type="text"],
25
  .dslca-container input[type="number"],
26
+ .dslca-container select,
27
  .dslca-container textarea {
28
  background: rgba( 255, 255, 255, 0.1 );
29
  border: 0;
30
  color: #fff;
31
+ padding: 6px 10px;
32
  font-family: "Open Sans";
33
  font-size: 13px;
34
  -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
67
  -moz-transition: bottom 0.3s;
68
  transition: bottom 0.3s;
69
  }
70
+
71
  /**
72
  * Header
73
  */
148
  .dslca-header .dslca-row-options-filter-hook.dslca-active {
149
  background: #5890e5;
150
  }
151
+
152
  .dslca-header .dslca-go-to-section-templates.dslca-active {
153
  border-top-color: #bf7671;
154
  background: #a94640;
227
  line-height: 55px;
228
  text-align: center;
229
  }
230
+
231
  .dslca-section-title {
232
  display: block;
233
  float: left;
237
  font-size: 15px;
238
  line-height: 1;
239
  padding: 20px 25px;
240
+ text-transform: uppercase;
241
  }
242
 
243
  .dslca-templates .dslca-section-title,
295
  * Modules
296
  */
297
 
298
+ .dslca-modules {
299
+
300
  }
301
 
302
  .dslca-module {
309
  font-size: 15px;
310
  line-height: 1;
311
  padding: 21px 24px;
312
+ text-transform: uppercase;
313
  }
314
 
315
  .dslca-module.ui-draggable-dragging {
345
  }
346
 
347
  .dslca-module-edit-options {
348
+ padding: 20px 15px;
349
  overflow-x: auto;
350
  min-height: 58px;
351
  }
354
  display: block;
355
  float: left;
356
  margin-bottom: 30px;
357
+ margin-right: 35px;
358
  margin-top: 20px;
359
  width: 235px;
360
  }
375
  .dslca-module-edit-option select:focus {
376
  background: #6c9fed;
377
  border: 1px solid #447bce;
378
+ border-radius: 3px;
379
  width: 100%;
380
  height: auto;
381
  }
416
  width: 158px;
417
  }
418
 
419
+ .dslca-module-edit-field-icon-wrapper {
420
+ width: 200px;
421
+ }
422
+
423
  .dslca-module-edit-field-font,
424
  .dslca-module-edit-field-icon {
425
  vertical-align: middle;
426
  }
427
 
428
+ .dslca-options-iconbutton {
429
+ background: #3b6fbe none repeat scroll 0 0;
 
 
 
430
  border: 1px solid #3565ad;
431
  border-radius: 3px;
432
  cursor: pointer;
433
  display: inline-block;
434
+ height: 32px;
435
  position: relative;
436
+ text-align: center;
 
437
  vertical-align: middle;
438
+ width: 30px;
439
  }
440
 
441
+ .dslca-options-iconbutton .dslca-icon {
 
 
 
442
  color: #8db6f3;
 
 
 
443
  font-size: 12px;
444
+ line-height: 30px;
445
  }
446
 
447
  .dslca-module-edit-field-font-suggest,
451
  position: absolute;
452
  left: 11px;
453
  top: 0;
454
+ line-height: 32px;
455
  font-family: "Open Sans", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
456
  font-size: 13px;
457
  }
467
 
468
  .dslca-module-edit-option-checkbox-wrapper {
469
  background: #3b6fbe;
470
+ border-radius: 3px;
471
  border: 1px solid #3565ad;
472
  padding: 0 10px;
473
  }
683
  * Text Align Option Type
684
  */
685
 
686
+ .dslca-module-edit-option-text-align {
687
  width: auto;
688
  }
689
 
751
  }
752
 
753
  .dslca-modules-section-edit-options {
754
+ padding: 20px 15px;
755
  overflow-x: hidden;
756
  }
757
 
759
  display: block;
760
  float: left;
761
  margin-bottom: 30px;
762
+ margin-right: 35px;
763
  margin-top: 20px;
764
  width: 235px;
765
  position: relative;
785
  }
786
 
787
  .dslca-modules-section-edit-option-checkbox {
788
+
789
  }
790
 
791
  .dslca-modules-section-edit-option-textarea {
847
  */
848
 
849
  .dslca-templates {
850
+ /* border-top: 1px solid #d8827d; */
851
+ position: relative;
852
  }
853
 
854
  .dslca-templates .dslca-go-to-section-hook,
862
  font-size: 15px;
863
  line-height: 1;
864
  padding: 20px 25px 21px 25px;
865
+ text-transform: uppercase;
866
  }
867
 
868
  .dslca-templates .dslca-go-to-section-hook .dslca-icon,
878
  */
879
 
880
  .dslca-templates-load {
881
+ border-top: 1px solid #d8827d;
882
  }
883
 
884
  .dslca-template {
892
  line-height: 1;
893
  padding: 20px 25px;
894
  position: relative;
895
+ text-transform: uppercase;
896
  }
897
 
898
  .dslca-template-origin-user {
933
  * Template Import
934
  */
935
 
936
+ .dslca-template-import-form {
937
 
938
+ }
939
 
940
  #dslca-import-code {
941
  background: #fff;
977
  /**/
978
 
979
  .dslca-section-actions {
980
+
981
  }
982
 
983
  .dslca-go-to-modules-hook {
984
+
985
  }
986
 
987
 
1026
  }
1027
 
1028
  .dslca-cancel {
1029
+ background: #e55f5f;
1030
  border-radius: 3px;
1031
  color: #fff;
1032
  cursor: pointer;
1182
  box-shadow: 0 0 0 2px #5890e5;
1183
  }
1184
 
1185
+ .dslc-module-front.ui-sortable-helper {
1186
  background: #5890e5;
1187
  border-radius: 3px;
1188
  height: 0 !important;
1212
  opacity: 1;
1213
  }
1214
 
1215
+ .dslc-modules-area.ui-sortable-helper {
1216
  cursor: move;
1217
  border: 0 !important;
1218
  outline: 0 !important;
1222
  opacity: 0;
1223
  }
1224
 
1225
+ .dslc-modules-area.ui-sortable-helper {
1226
+
1227
  }
1228
 
1229
+ .dslc-modules-section.ui-sortable-helper {
1230
  max-height: 0px !important;
1231
  width: 100% !important;
1232
  overflow: hidden !important;
1262
  position: relative;
1263
  }
1264
 
1265
+ .dslca-save-composer-helptext {
1266
  color: #adadad;
1267
  white-space: nowrap;
1268
  }
1312
  margin-left: 5px;
1313
  }
1314
 
1315
+ .dslca-save-draft-composer-helptext {
1316
  color: #adadad;
1317
  white-space: nowrap;
1318
  }
1393
  * Module Section
1394
  */
1395
 
1396
+ /* Button */
1397
 
1398
  .dslca-add-modules-section {
1399
  text-align: center;
1565
  */
1566
 
1567
  .dslca-add-modules-area {
1568
+
1569
  }
1570
 
1571
  .dslca-add-modules-area-hook {
1597
  }
1598
 
1599
  .dslc-modules-area {
1600
+ position: relative;
1601
  }
1602
 
1603
  .dslca-modules-area-drag-in-progress .dslc-modules-area {
1716
  top: 30px;
1717
  }
1718
 
1719
+ .dslca-change-width-modules-area-options:after,
1720
  .dslca-change-width-modules-area-options:before {
1721
  right: 100%;
1722
  top: 18px;
1780
  * Modules Area Manage - Empty
1781
  */
1782
 
1783
+ .dslc-modules-area-empty .dslca-modules-area-manage {
1784
+ top: 12px;
1785
+ bottom: auto;
1786
+ }
1787
 
1788
+ .dslc-modules-area-empty .dslca-modules-area-manage-inner {
1789
+ margin-top: 0;
1790
+ }
1791
 
1792
 
1793
 
1830
  display: inline-block;
1831
  padding: 3px;
1832
  position: relative;
1833
+ top: -50px;
1834
  }
1835
 
1836
  .dslca-module-manage-inner.dslca-dev-mode {
1904
  }
1905
 
1906
  .dslca-modal-title {
1907
+
1908
  }
1909
 
1910
  .dslca-modal:after {
2051
  #wp-dslcawysiwyg-wrap,
2052
  #wp-dslcawysiwyg-editor-container,
2053
  #wp-dslcawysiwyg-editor-container textarea {
2054
+
2055
  }
2056
 
2057
  #wp-dslcawysiwyg-editor-container {
2203
  }
2204
 
2205
  @-webkit-keyframes "dslcBounceIn" {
2206
+
2207
  0% {
2208
  -webkit-transform: scale(0);
2209
  transform: scale(0);
2243
  }
2244
 
2245
  @-moz-keyframes dslcBounceOut {
2246
+
2247
  0% {
2248
  -moz-transform: scale(1);
2249
  transform: scale(1);
2292
  }
2293
 
2294
  @-moz-keyframes dslcBounceOut2 {
2295
+
2296
  0% {
2297
  -moz-transform: scale(1);
2298
  transform: scale(1);
2316
  }
2317
  30% {
2318
  -webkit-transform: scale(1.01);
2319
+ transform: scale(1.01);
2320
  }
2321
  100% {
2322
  -webkit-transform: scale(0.9);
2339
  }
2340
 
2341
  @-moz-keyframes dslcOpacityDrop {
2342
+
2343
  0% {
2344
  opacity: 1;
2345
  }
2391
  }
2392
 
2393
  @-webkit-keyframes "dslcRotate" {
2394
+
2395
  0% {
2396
  -webkit-transform: rotate(0deg);
2397
  transform: rotate(0deg);
2465
 
2466
  .dslca-container .dslca-module-edit-option-slider,
2467
  .dslca-container .dslca-modules-section-edit-option-slider {
2468
+ position: relative;
2469
  }
2470
 
2471
  .dslca-container .dslca-module-edit-field-slider,
2653
  }
2654
 
2655
  .dslca-prompt-modal-cancel-hook {
2656
+
2657
  }
2658
 
2659
  .dslca-prompt-modal-actions .dslc-icon {
2861
  text-decoration: none;
2862
  }
2863
 
2864
+ .dslca-module-edit-field-icon-ttip:after,
2865
  .dslca-module-edit-field-icon-ttip:before,
2866
+ .dslca-module-edit-field-ttip:after,
2867
  .dslca-module-edit-field-ttip:before {
2868
  top: 100%;
2869
  border: solid transparent;
2932
  text-transform: uppercase;
2933
  white-space: nowrap;
2934
  }
2935
+
2936
  .dslca-modules-section-edit-field-image-add-hook .dslca-icon,
2937
  .dslca-modules-section-edit-field-image-remove-hook .dslca-icon,
2938
  .dslca-module-edit-field-image-add-hook .dslca-icon,
3175
  .dslca-container-loader-inner {
3176
  position: absolute;
3177
  top: 10px;
3178
+ left: 15px;
3179
  }
3180
 
3181
  /**
3196
  }
3197
 
3198
  .media-modal-backdrop {
3199
+ z-index: 999999998 !important;
3200
  }
3201
 
3202
  /**
3203
  * RTL Fixes
3204
  */
3205
 
3206
+ body.rtl .dslca-templates .dslca-go-to-section-hook .dslca-icon,
3207
  body.rtl .dslca-templates .dslca-open-modal-hook .dslca-icon {
3208
+ margin-right: 0;
3209
+ margin-left: 9px;
3210
  }
3211
 
3212
  body.rtl .dslca-section-title-filter .dslca-icon {
3213
+ margin-left: 0;
3214
+ margin-right: 10px;
3215
  }
3216
 
3217
+ body.rtl .dslca-container .dslca-close-composer-hook .dslca-icon,
3218
+ body.rtl .dslca-activate-composer-hook .dslca-icon,
3219
+ body.rtl .dslca-container .dslca-hide-composer-hook .dslca-icon,
3220
  body.rtl .dslca-container .dslca-show-composer-hook .dslca-icon {
3221
+ margin-right: 0;
3222
+ margin-left: 5px;
3223
  }
3224
 
3225
  body.rtl .dslca-module .dslca-icon {
3226
+ margin-right: 0;
3227
+ margin-left: 11px;
3228
  }
3229
 
3230
  body.rtl .dslca-header .dslca-options-filter-hook .dslca-icon {
3231
+ margin-right: 0;
3232
+ margin-left: 4px;
3233
  }
3234
 
3235
  body.rtl .dslca-prompt-modal-actions .dslc-icon {
3236
+ margin-right: 0;
3237
+ margin-left: 6px;
3238
  }
3239
 
3240
  body.rtl .dslca-module-edit-option-checkbox-hook .dslca-icon {
3241
+ margin-right: 0;
3242
+ margin-left: 10px;
3243
  }
3244
 
3245
  body.rtl .dslca-module-edit-options-inner,
3246
  body.rtl .dslca-modules-section-edit-options-inner {
3247
+ overflow-x: auto;
3248
  }
3249
 
3250
  body.rtl .dslca-module-edit-option,
3251
  body.rtl .dslca-modules-section-edit-option {
3252
+ float: right;
3253
  }
3254
 
3255
  body.rtl .dslca-no-content .dslca-icon {
3256
+ margin-right: 0;
3257
+ margin-left: 10px;
3258
  }
3259
 
3260
  /**
3276
  .dslca-drag-not-in-progress .dslc-modules-section .dslca-modules-section-manage-inner {
3277
  -webkit-transition: all 0.2s ease-in-out;
3278
  -moz-transition: all 0.2s ease-in-out;
3279
+ transition: all 0.2s ease-in-out;
3280
  }
3281
 
3282
  .dslca-drag-not-in-progress .dslc-modules-section:hover .dslca-modules-section-manage-inner {
3300
  overflow: visible;
3301
  }
3302
 
3303
+ .dslca-drag-not-in-progress .dslc-module-front .dslca-module-manage-inner,
3304
  .dslca-drag-not-in-progress .dslc-module-front .dslca-wysiwyg-actions-edit-hook {
3305
+ top: 0;
3306
+ opacity: 0;
3307
+ -webkit-transition: opacity 0.1s ease-in-out;
3308
+ -moz-transition: opacity 0.1s ease-in-out;
3309
+ transition: opacity 0.1s ease-in-out;
3310
+
3311
+ /* top: -50;*/
3312
+ /* -webkit-transition: transform 0.2s ease-in-out;
3313
+ -moz-transition: transform 0.2s ease-in-out;
3314
+ transition: transform 0.2s ease-in-out;
3315
+
3316
+ -ms-transform: translate(0,-50px);
3317
+ -webkit-transform: translate(0,-50px);
3318
+ transform: translate(0,-50px);*/
3319
  }
3320
 
3321
+ .dslca-drag-not-in-progress .dslc-module-front:hover .dslca-module-manage-inner,
3322
  .dslca-drag-not-in-progress .dslc-module-front:hover .dslca-wysiwyg-actions-edit-hook {
3323
  top: 0;
3324
+ opacity: 1;
3325
+
3326
+ /* -ms-transform: translate(0,0);
3327
+ -webkit-transform: translate(0,0);
3328
+ transform: translate(0,0);*/
3329
  }
3330
 
3331
  /**
3334
 
3335
  .dslca-drag-not-in-progress .dslc-modules-area .dslca-modules-area-manage-inner {
3336
  opacity: 0;
3337
+ /* -webkit-transition: opacity 0.2s ease-in-out;
3338
  -moz-transition: opacity 0.2s ease-in-out;
3339
+ transition: opacity 0.2s ease-in-out;*/
3340
  }
3341
 
3342
  .dslca-drag-not-in-progress .dslc-modules-area:hover .dslca-modules-area-manage-inner {
3343
  opacity: 1;
3344
+ }
3345
+
3346
+ /**
3347
+ * Icons Modal
3348
+ */
3349
+
3350
+ .dslca-modal.dslca-modal-icons {
3351
+ left: 30px !important;
3352
+ right: 30px;
3353
+ top: 70px;
3354
+ bottom: 150px;
3355
+ width: auto;
3356
+ position: fixed;
3357
+ padding:0;
3358
+ overflow: scroll;
3359
+ }
3360
+
3361
+ /*.dslca-modal.dslca-modal-icons:before,
3362
+ .dslca-modal.dslca-modal-icons:after {
3363
+ display: none;
3364
+ }*/
3365
+
3366
+
3367
+ .dslca-modal-icons .modal-content {
3368
+ height: 100%;
3369
+ }
3370
+
3371
+ .dslca-modal-icons .dslc-icons-grid {
3372
+ list-style: none;
3373
+ margin: 0;
3374
+ padding: 0;
3375
+ text-align: left;
3376
+ }
3377
+
3378
+ .dslca-modal-icons .icon-item {
3379
+ display: inline-block;
3380
+ width: 12.4%;
3381
+ min-height: 120px;
3382
+ padding: 0;
3383
+ margin: 0 0 0 -1px;
3384
+ vertical-align: top;
3385
+ text-align: center;
3386
+ border-left: 1px solid rgba(155, 155, 155, 0.05);
3387
+ border-bottom: 1px solid rgba(155, 155, 155, 0.05);
3388
+ }
3389
+
3390
+ .dslca-modal-icons .icon-item:hover {
3391
+ -webkit-box-shadow: 0 1px 5px 0px rgba(68, 68, 68, 0.52);
3392
+ -moz-box-shadow: 0 1px 5px 0px rgba(68, 68, 68, 0.52);
3393
+ box-shadow: 0 1px 5px 0px rgba(68, 68, 68, 0.52);
3394
+
3395
+ cursor: pointer;
3396
+ }
3397
+
3398
+ .dslca-modal-icons .icon-item:active {
3399
+ -webkit-box-shadow: 0 1px 5px 0px #5890e5 inset;
3400
+ -moz-box-shadow: 0 1px 5px 0px #5890e5 inset;
3401
+ box-shadow: 0 1px 5px 0px #5890e5 inset;
3402
+ }
3403
+
3404
+ .dslca-modal-icons .icon-item_icon {
3405
+ display: inline-block; width: 100%;
3406
+ padding: 28px 0 16px;
3407
+ font-size: 24px;
3408
+ opacity: .7;
3409
+ }
3410
+
3411
+ .dslca-modal-icons .icon-item:hover .icon-item_icon {
3412
+ opacity: 1;
3413
+ }
3414
+
3415
+ .dslca-modal-icons .icon-item_name {
3416
+ opacity: .35;
3417
+ display: inline-block;
3418
+ font-family: "Open Sans";
3419
+ font-size: 12px;
3420
+ line-height: 1.25;
3421
+ padding: 5px 8px 12px;
3422
+ }
css/main.css CHANGED
@@ -833,9 +833,47 @@ body.dslc-res-phone .dslc-module-front.dslc-col {
833
  }
834
 
835
  /**
836
- * Animations
 
 
837
  */
838
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
839
  @media only screen and ( min-width: 768px ) {
840
 
841
  @-webkit-keyframes dslcFadeIn {
@@ -846,10 +884,6 @@ body.dslc-res-phone .dslc-module-front.dslc-col {
846
  to { opacity: 1; }
847
  }
848
 
849
- @keyframes dslcFadeIn {
850
- to { opacity: 1; }
851
- }
852
-
853
  .dslc-in-viewport-anim-dslcFadeIn.dslc-in-viewport-check {
854
  opacity: 0;
855
  }
@@ -862,10 +896,6 @@ body.dslc-res-phone .dslc-module-front.dslc-col {
862
  to { -moz-transform: translateY(0); }
863
  }
864
 
865
- @keyframes dslcSlideUp {
866
- to { transform: translateY(0); }
867
- }
868
-
869
  .dslc-in-viewport-anim-dslcSlideUp.dslc-in-viewport-check {
870
  -webkit-transform: translateY(100px);
871
  -moz-transform: translateY(100px);
@@ -880,10 +910,6 @@ body.dslc-res-phone .dslc-module-front.dslc-col {
880
  to { -moz-transform: translateY(0); }
881
  }
882
 
883
- @keyframes dslcSlideDown {
884
- to { transform: translateY(0); }
885
- }
886
-
887
  .dslc-in-viewport-anim-dslcSlideDown.dslc-in-viewport-check {
888
  -webkit-transform: translateY(-100px);
889
  -moz-transform: translateY(-100px);
@@ -898,10 +924,6 @@ body.dslc-res-phone .dslc-module-front.dslc-col {
898
  to { -moz-transform: translateX(0); }
899
  }
900
 
901
- @keyframes dslcSlideRight {
902
- to { transform: translateX(0); }
903
- }
904
-
905
  .dslc-in-viewport-anim-dslcSlideRight.dslc-in-viewport-check {
906
  -webkit-transform: translateX(-100px);
907
  -moz-transform: translateX(-100px);
@@ -916,10 +938,6 @@ body.dslc-res-phone .dslc-module-front.dslc-col {
916
  to { -moz-transform: translateX(0); }
917
  }
918
 
919
- @keyframes dslcSlideLeft {
920
- to { transform: translateX(0); }
921
- }
922
-
923
  .dslc-in-viewport-anim-dslcSlideLeft.dslc-in-viewport-check {
924
  -webkit-transform: translateX(100px);
925
  -moz-transform: translateX(100px);
@@ -934,10 +952,6 @@ body.dslc-res-phone .dslc-module-front.dslc-col {
934
  to { -moz-transform: translateY(0); opacity: 1; }
935
  }
936
 
937
- @keyframes dslcSlideUpFadeIn {
938
- to { transform: translateY(0); opacity: 1; }
939
- }
940
-
941
  .dslc-in-viewport-anim-dslcSlideUpFadeIn.dslc-in-viewport-check {
942
  -webkit-transform: translateY(100px);
943
  -moz-transform: translateY(100px);
@@ -953,10 +967,6 @@ body.dslc-res-phone .dslc-module-front.dslc-col {
953
  to { -moz-transform: translateY(0); opacity: 1; }
954
  }
955
 
956
- @keyframes dslcSlideDownFadeIn {
957
- to { transform: translateY(0); opacity: 1; }
958
- }
959
-
960
  .dslc-in-viewport-anim-dslcSlideDownFadeIn.dslc-in-viewport-check {
961
  -webkit-transform: translateY(-100px);
962
  -moz-transform: translateY(-100px);
@@ -972,10 +982,6 @@ body.dslc-res-phone .dslc-module-front.dslc-col {
972
  to { -moz-transform: translateX(0); opacity: 1; }
973
  }
974
 
975
- @keyframes dslcSlideRightFadeIn {
976
- to { transform: translateX(0); opacity: 1; }
977
- }
978
-
979
  .dslc-in-viewport-anim-dslcSlideRightFadeIn.dslc-in-viewport-check {
980
  -webkit-transform: translateX(-100px);
981
  -moz-transform: translateX(-100px);
@@ -991,10 +997,6 @@ body.dslc-res-phone .dslc-module-front.dslc-col {
991
  to { -moz-transform: translateX(0); opacity: 1; }
992
  }
993
 
994
- @keyframes dslcSlideLeftFadeIn {
995
- to { transform: translateX(0); opacity: 1; }
996
- }
997
-
998
  .dslc-in-viewport-anim-dslcSlideLeftFadeIn.dslc-in-viewport-check {
999
  -webkit-transform: translateX(100px);
1000
  -moz-transform: translateX(100px);
833
  }
834
 
835
  /**
836
+ * Animations moved outside of media queries
837
+ * IE10 and IE11 do not support CSS animations inside media queries.
838
+ * ( http://caniuse.com/#search=animation )
839
  */
840
 
841
+ @keyframes dslcFadeIn {
842
+ to { opacity: 1; }
843
+ }
844
+
845
+ @keyframes dslcSlideUp {
846
+ to { transform: translateY(0); }
847
+ }
848
+
849
+ @keyframes dslcSlideDown {
850
+ to { transform: translateY(0); }
851
+ }
852
+
853
+ @keyframes dslcSlideRight {
854
+ to { transform: translateX(0); }
855
+ }
856
+
857
+ @keyframes dslcSlideLeft {
858
+ to { transform: translateX(0); }
859
+ }
860
+
861
+ @keyframes dslcSlideUpFadeIn {
862
+ to { transform: translateY(0); opacity: 1; }
863
+ }
864
+
865
+ @keyframes dslcSlideDownFadeIn {
866
+ to { transform: translateY(0); opacity: 1; }
867
+ }
868
+
869
+ @keyframes dslcSlideRightFadeIn {
870
+ to { transform: translateX(0); opacity: 1; }
871
+ }
872
+
873
+ @keyframes dslcSlideLeftFadeIn {
874
+ to { transform: translateX(0); opacity: 1; }
875
+ }
876
+
877
  @media only screen and ( min-width: 768px ) {
878
 
879
  @-webkit-keyframes dslcFadeIn {
884
  to { opacity: 1; }
885
  }
886
 
 
 
 
 
887
  .dslc-in-viewport-anim-dslcFadeIn.dslc-in-viewport-check {
888
  opacity: 0;
889
  }
896
  to { -moz-transform: translateY(0); }
897
  }
898
 
 
 
 
 
899
  .dslc-in-viewport-anim-dslcSlideUp.dslc-in-viewport-check {
900
  -webkit-transform: translateY(100px);
901
  -moz-transform: translateY(100px);
910
  to { -moz-transform: translateY(0); }
911
  }
912
 
 
 
 
 
913
  .dslc-in-viewport-anim-dslcSlideDown.dslc-in-viewport-check {
914
  -webkit-transform: translateY(-100px);
915
  -moz-transform: translateY(-100px);
924
  to { -moz-transform: translateX(0); }
925
  }
926
 
 
 
 
 
927
  .dslc-in-viewport-anim-dslcSlideRight.dslc-in-viewport-check {
928
  -webkit-transform: translateX(-100px);
929
  -moz-transform: translateX(-100px);
938
  to { -moz-transform: translateX(0); }
939
  }
940
 
 
 
 
 
941
  .dslc-in-viewport-anim-dslcSlideLeft.dslc-in-viewport-check {
942
  -webkit-transform: translateX(100px);
943
  -moz-transform: translateX(100px);
952
  to { -moz-transform: translateY(0); opacity: 1; }
953
  }
954
 
 
 
 
 
955
  .dslc-in-viewport-anim-dslcSlideUpFadeIn.dslc-in-viewport-check {
956
  -webkit-transform: translateY(100px);
957
  -moz-transform: translateY(100px);
967
  to { -moz-transform: translateY(0); opacity: 1; }
968
  }
969
 
 
 
 
 
970
  .dslc-in-viewport-anim-dslcSlideDownFadeIn.dslc-in-viewport-check {
971
  -webkit-transform: translateY(-100px);
972
  -moz-transform: translateY(-100px);
982
  to { -moz-transform: translateX(0); opacity: 1; }
983
  }
984
 
 
 
 
 
985
  .dslc-in-viewport-anim-dslcSlideRightFadeIn.dslc-in-viewport-check {
986
  -webkit-transform: translateX(-100px);
987
  -moz-transform: translateX(-100px);
997
  to { -moz-transform: translateX(0); opacity: 1; }
998
  }
999
 
 
 
 
 
1000
  .dslc-in-viewport-anim-dslcSlideLeftFadeIn.dslc-in-viewport-check {
1001
  -webkit-transform: translateX(100px);
1002
  -moz-transform: translateX(100px);
css/main.min.css CHANGED
@@ -1 +1 @@
1
- .dslc-clear,.dslc-clearfix:after,.dslc-first-col,.dslc-module-heading:after{clear:both}#dslc-content blockquote p:last-child{margin-bottom:0!important}#dslc-header{position:relative}#dslc-header.dslc-header-pos-absolute{position:absolute;top:0;left:0;right:0;z-index:999999}#dslc-header.dslc-header-pos-fixed{position:fixed;top:0;left:0;right:0;z-index:999999}body.admin-bar #dslc-header.dslc-header-pos-absolute,body.admin-bar #dslc-header.dslc-header-pos-fixed{top:32px}#dslc-footer{position:relative}#dslc-footer.dslc-footer-pos-absolute{position:absolute;bottom:0;left:0;right:0;z-index:999999}#dslc-footer.dslc-footer-pos-fixed{position:fixed;bottom:0;left:0;right:0;z-index:999999}#dslc-header.dslca-header-low-z-index,.dslca-drag-in-progress #dslc-header{z-index:0}#dslc-content{position:relative}.dslca-activate-composer-hook,.dslca-container .dslca-close-composer-hook,.dslca-container .dslca-hide-composer-hook,.dslca-container .dslca-show-composer-hook{background:#e55f5f;border-radius:3px;bottom:4px;color:#fff;cursor:pointer;display:block;font-size:11px;font-family:"Open Sans";font-weight:900;line-height:1;padding:11px 12px;text-transform:uppercase;text-decoration:none;white-space:nowrap;float:left;margin-left:5px}.dslca-container .dslca-hide-composer-hook{background:#06b2ac}.dslca-container .dslca-show-composer-hook{background:#9268a9;display:none}.dslca-activate-composer-hook:hover,.dslca-activate-composer-hook:visited,.dslca-close-composer-hook:hover,.dslca-close-composer-hook:visited{color:#fff}.dslca-activate-composer-hook{background:#54c13f;color:#fff;position:fixed;z-index:99999;right:5px;bottom:5px}.dslca-activate-composer-hook.dslca-position-left{right:auto;left:5px}.dslca-activate-composer-hook .dslca-icon,.dslca-container .dslca-close-composer-hook .dslca-icon,.dslca-container .dslca-hide-composer-hook .dslca-icon,.dslca-container .dslca-show-composer-hook .dslca-icon{color:rgba(255,255,255,.66);margin-right:5px}.dslc-modules-section{border:0 solid transparent;position:relative}.dslc-modules-section.dslc-init-parallax{background-attachment:fixed}.dslc-modules-section-wrapper{max-width:100%;margin:0 auto}.dslc-modules-section.dslc-full .dslc-modules-section-wrapper{width:100%}.dslc-module-front{position:relative}.dslc-col{display:block;float:left;margin-right:2.12766%}body.rtl .dslc-col{float:right;margin-left:2.12766%;margin-right:0}.dslc-1-col{width:6.38297%}.dslc-2-col{width:14.89361%}.dslc-3-col{width:23.40425%}.dslc-4-col{width:31.91489%}.dslc-5-col{width:40.42553%}.dslc-6-col{width:48.93617%}.dslc-7-col{width:57.4468%}.dslc-8-col{width:65.95744%}.dslc-9-col{width:74.46808%}.dslc-10-col{width:82.97872%}.dslc-11-col{width:91.48936%}.dslc-12-col{width:100%}.dslc-last-col{margin-right:0}body.rtl .dslc-last-col{margin-left:0}.dslc-no-columns-spacing .dslc-col{margin:0}.dslc-no-columns-spacing .dslc-1-col{width:8.33333%}.dslc-no-columns-spacing .dslc-2-col{width:16.66666%}.dslc-no-columns-spacing .dslc-3-col{width:25%}.dslc-no-columns-spacing .dslc-4-col{width:33.33333%}.dslc-no-columns-spacing .dslc-5-col{width:41.66666%}.dslc-no-columns-spacing .dslc-6-col{width:50%}.dslc-no-columns-spacing .dslc-7-col{width:58.33333%}.dslc-no-columns-spacing .dslc-8-col{width:66.66666%}.dslc-no-columns-spacing .dslc-9-col{width:75%}.dslc-no-columns-spacing .dslc-10-col{width:83.33333%}.dslc-no-columns-spacing .dslc-11-col{width:91.66666%}.dslc-no-columns-spacing .dslc-12-col,.dslc-no-columns-spacing .dslc-carousel .dslc-col,.dslc-no-columns-spacing .dslc-carousel .dslc-first-col,.dslc-no-columns-spacing .dslc-carousel .dslc-last-col{width:100%}.dslc-clearfix:after,.dslc-clearfix:before,.dslc-module-heading:after,.dslc-module-heading:before{content:" ";display:table}.dslc-fl{float:left}.dslc-fr{float:right}.dslc-no-float{float:none!important}.dslc-posts{overflow:hidden}.dslc-carousel .dslc-col,.dslc-carousel .dslc-first-col,.dslc-carousel .dslc-last-col{float:none;clear:none;margin:0}.dslc-carousel-item{width:auto}.dslc-carousel-nav{float:right}.dslc-carousel-nav-inner{display:block}.dslc-carousel-nav-next,.dslc-carousel-nav-prev{background:#c9c9c9;border:0 solid transparent;border-radius:3px;display:inline-block;height:23px;position:relative;width:23px;text-decoration:none;vertical-align:bottom}.dslc-carousel-nav-prev{margin-right:7px}.dslc-carousel-nav-next span,.dslc-carousel-nav-prev span{color:#fff;font-size:10px;position:absolute;left:0;right:0;text-align:center;font-weight:400}#dslc-content .dslc-carousel .owl-pagination .owl-page span{margin:0;filter:Alpha(Opacity=100);opacity:1}#dslc-content .dslc-slider{padding-bottom:1px;opacity:0;max-height:10px}#dslc-content .dslc-slider img{max-width:100%}#dslc-content .dslc-slider .owl-pagination .owl-page span{margin:0;filter:Alpha(Opacity=100);opacity:1}.dslc-carousel{opacity:0;max-height:100px}@keyframes dslcSpin{0%{-webkit-transform:rotate(0);-moz-transform:rotate(0);-o-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-o-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes dslcSpin{0%{-moz-transform:rotate(0);transform:rotate(0)}100%{-moz-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes dslcSpin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-ms-keyframes "dslcSpin"{0%{-ms-transform:rotate(0);transform:rotate(0)}100%{-ms-transform:rotate(360deg);transform:rotate(360deg)}}@-o-keyframes dslcSpin{0%{-o-transform:rotate(0);transform:rotate(0)}100%{-o-transform:rotate(360deg);transform:rotate(360deg)}}.dslc-loader{position:relative;width:20px;height:20px;border:2px solid #0cf;border-radius:50%;-webkit-animation:dslcSpin .75s infinite linear;-moz-animation:dslcSpin .75s infinite linear;-ms-animation:dslcSpin .75s infinite linear;-o-animation:dslcSpin .75s infinite linear;animation:dslcSpin .75s infinite linear;margin-left:48%}.dslc-loader::after,.dslc-loader::before{left:-2px;top:-2px;display:none;position:absolute;content:'';width:inherit;height:inherit;border:inherit;border-radius:inherit}.dslc-loader,.dslc-loader::before{display:inline-block;border-color:#0cf transparent transparent}.dslc-loader::before{-webkit-animation:dslcSpin 1.5s infinite ease;-moz-animation:dslcSpin 1.5s infinite ease;-ms-animation:dslcSpin 1.5s infinite ease;-o-animation:dslcSpin 1.5s infinite ease;animation:dslcSpin 1.5s infinite ease}.dslc-notification{background:#fff;border:1px solid #e8e8e8;border-radius:3px;color:#979797;margin-bottom:20px;padding:15px;position:relative;font-size:14px;line-height:25px;font-family:"Open Sans"}.dslc-notification.dslc-green,.dslc-notification.dslc-red,.dslc-notification.dslc-yellow{color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.14)}.dslc-notification .dslc-icon{cursor:pointer;position:absolute;right:14px;top:21px}.dslc-notification.dslc-red{background:#f65757;border-color:#e43737}.dslc-notification.dslc-yellow{background:#fac841;border-color:#eab72e}.dslc-notification.dslc-green{background:#8ccb25;border-color:#77b01a}#dslc-content .dslc-module-heading{overflow:hidden;position:relative}.dslc-init-topleft,.dslc-init-topright{position:absolute!important;top:0!important;bottom:auto!important}#dslc-content .dslc-module-heading h2{display:block;float:left;font-size:17px;font-weight:400;font-family:Oswald;line-height:1;margin:0 15px 0 0;padding:0}#dslc-content .dslc-module-heading-view-all{display:block;float:left;font-size:11px;line-height:1;margin:3px 20px 3px 0}#dslc-content .dslc-module-heading-view-all a{display:block;padding-left:15px;border-left:1px dotted #4f4f4f;font-family:"Open Sans";font-weight:600;line-height:1;text-decoration:none}.dslc-masonry-item{margin-bottom:30px;margin-right:0}.dslc-masonry-item-animate{-webkit-transition:all .5s ease-in-out;-moz-transition:all .5s ease-in-out;-o-transition:all .5s ease-in-out;-ms-transition:all .5s ease-in-out;transition:all .5s ease-in-out}.dslc-post-separator{clear:both;height:1px;margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #ededed}.dslc-pagination{border:0 solid transparent;overflow:hidden;margin-top:30px}.dslc-pagination ul{margin:0;padding:0}.dslc-pagination li{display:inline-block;margin:0 10px 0 0;padding:0}.dslc-pagination li:last-child{margin-right:0!important}.dslc-pagination-load-more .dslc-icon,.dslc-post-filter{margin-right:10px}.dslc-pagination li a{background:#eee;border:0 solid transparent;color:#000;display:block;line-height:1;padding:10px;text-decoration:none}.dslc-pagination li.current a{background:#000;color:#fff}.dslc-pagination li.dslc-pagination-load-more{width:auto;display:block}.dslc-pagination li.dslc-pagination-load-more.dslc-inactive a{cursor:default}.dslc-load-more-temp{display:none}.dslc-init-center{visibility:hidden}.dslc-init-topleft{left:0!important;right:auto!important}.dslc-init-topright{right:0!important;left:auto!important}.dslc-init-bottomleft,.dslc-init-bottomright{position:absolute!important;bottom:0!important;top:auto!important}.dslc-init-bottomleft{left:0!important;right:auto!important}.dslc-init-bottomright{right:0!important;left:auto!important}.dslc-post-filters{overflow:hidden;font-size:0}.dslc-post-filter{background:#fff;border:1px solid #e8e8e8;border-radius:3px;color:#979797;cursor:pointer;display:inline-block;font-size:11px;font-weight:700;font-family:"Open Sans";line-height:1;padding:12px}#dslc-content .dslc-bg-video .mejs-controls,.dslc-res-big .dslc-hide-on-desktop,.dslc-res-phone .dslc-hide-on-phone,.dslc-res-smaller-monitor .dslc-hide-on-desktop,.dslc-res-tablet .dslc-hide-on-tablet{display:none!important}.dslc-post-filter.dslc-active{color:#ff4e01}.dslc-post-filter:last-child{margin-right:0!important}#dslc-content .dslc-bg-video{background:0 0;position:absolute;left:0;right:0;bottom:0;top:0;opacity:0}#dslc-content .dslc-bg-video.dslc-force-show{opacity:1}#dslc-content .dslc-bg-video .mejs-container{background:0 0;position:absolute;left:0;right:0;bottom:0;top:0;width:100%!important;height:auto!important;overflow:hidden}#dslc-content .dslc-bg-video video{min-width:100%;height:auto!important;min-height:100%}#dslc-content .dslc-bg-video-overlay{position:absolute;left:0;top:0;right:0;bottom:0;opacity:0;background:#000}.dslc-trigger-lightbox-gallery{cursor:pointer}body.dslc-res-phone .dslc-col{width:100%;margin:0 0 30px;min-width:0}body.dslc-res-phone .dslc-module-front.dslc-col{margin-bottom:0}@media only screen and (min-device-width :768px) and (max-device-width :1024px){.dslc-modules-section.dslc-init-parallax{background-attachment:scroll!important;background-position:0 0!important}}@media only screen and (max-width:767px){.dslc-modules-section.dslc-init-parallax{background-attachment:scroll!important;background-position:0 0!important}}body.dslca-enabled.dslc-res-tablet #dslc-content{max-width:768px;margin:0 auto}body.dslca-enabled.dslc-res-phone #dslc-content{max-width:480px;margin:0 auto}@media only screen and (min-width:768px){@-webkit-keyframes dslcFadeIn{to{opacity:1}}@-moz-keyframes dslcFadeIn{to{opacity:1}}@keyframes dslcFadeIn{to{opacity:1}}.dslc-in-viewport-anim-dslcFadeIn.dslc-in-viewport-check{opacity:0}@-webkit-keyframes dslcSlideUp{to{-webkit-transform:translateY(0)}}@-moz-keyframes dslcSlideUp{to{-moz-transform:translateY(0)}}@keyframes dslcSlideUp{to{transform:translateY(0)}}.dslc-in-viewport-anim-dslcSlideUp.dslc-in-viewport-check{-webkit-transform:translateY(100px);-moz-transform:translateY(100px);transform:translateY(100px)}@-webkit-keyframes dslcSlideDown{to{-webkit-transform:translateY(0)}}@-moz-keyframes dslcSlideDown{to{-moz-transform:translateY(0)}}@keyframes dslcSlideDown{to{transform:translateY(0)}}.dslc-in-viewport-anim-dslcSlideDown.dslc-in-viewport-check{-webkit-transform:translateY(-100px);-moz-transform:translateY(-100px);transform:translateY(-100px)}@-webkit-keyframes dslcSlideRight{to{-webkit-transform:translateX(0)}}@-moz-keyframes dslcSlideRight{to{-moz-transform:translateX(0)}}@keyframes dslcSlideRight{to{transform:translateX(0)}}.dslc-in-viewport-anim-dslcSlideRight.dslc-in-viewport-check{-webkit-transform:translateX(-100px);-moz-transform:translateX(-100px);transform:translateX(-100px)}@-webkit-keyframes dslcSlideLeft{to{-webkit-transform:translateX(0)}}@-moz-keyframes dslcSlideLeft{to{-moz-transform:translateX(0)}}@keyframes dslcSlideLeft{to{transform:translateX(0)}}.dslc-in-viewport-anim-dslcSlideLeft.dslc-in-viewport-check{-webkit-transform:translateX(100px);-moz-transform:translateX(100px);transform:translateX(100px)}@-webkit-keyframes dslcSlideUpFadeIn{to{-webkit-transform:translateY(0);opacity:1}}@-moz-keyframes dslcSlideUpFadeIn{to{-moz-transform:translateY(0);opacity:1}}@keyframes dslcSlideUpFadeIn{to{transform:translateY(0);opacity:1}}.dslc-in-viewport-anim-dslcSlideUpFadeIn.dslc-in-viewport-check{-webkit-transform:translateY(100px);-moz-transform:translateY(100px);transform:translateY(100px);opacity:0}@-webkit-keyframes dslcSlideDownFadeIn{to{-webkit-transform:translateY(0);opacity:1}}@-moz-keyframes dslcSlideDownFadeIn{to{-moz-transform:translateY(0);opacity:1}}@keyframes dslcSlideDownFadeIn{to{transform:translateY(0);opacity:1}}.dslc-in-viewport-anim-dslcSlideDownFadeIn.dslc-in-viewport-check{-webkit-transform:translateY(-100px);-moz-transform:translateY(-100px);transform:translateY(-100px);opacity:0}@-webkit-keyframes dslcSlideRightFadeIn{to{-webkit-transform:translateX(0);opacity:1}}@-moz-keyframes dslcSlideRightFadeIn{to{-moz-transform:translateX(0);opacity:1}}@keyframes dslcSlideRightFadeIn{to{transform:translateX(0);opacity:1}}.dslc-in-viewport-anim-dslcSlideRightFadeIn.dslc-in-viewport-check{-webkit-transform:translateX(-100px);-moz-transform:translateX(-100px);transform:translateX(-100px);opacity:0}@-webkit-keyframes dslcSlideLeftFadeIn{to{-webkit-transform:translateX(0);opacity:1}}@-moz-keyframes dslcSlideLeftFadeIn{to{-moz-transform:translateX(0);opacity:1}}@keyframes dslcSlideLeftFadeIn{to{transform:translateX(0);opacity:1}}.dslc-in-viewport-anim-dslcSlideLeftFadeIn.dslc-in-viewport-check{-webkit-transform:translateX(100px);-moz-transform:translateX(100px);transform:translateX(100px);opacity:0}}body.dslca-enabled #dslc-content .dslc-post:first-child .dslc-post-thumb .dslc-on-hover-anim-target{opacity:1!important;-webkit-transform:translateY(0)!important;-moz-transform:translateY(0)!important;transform:translateY(0)!important;-webkit-transform:translateX(0)!important;-moz-transform:translateX(0)!important;transform:translateX(0)!important}.dslc-anim-dslcFadeIn,.dslc-anim-dslcSlideDownFadeIn,.dslc-anim-dslcSlideLeftFadeIn,.dslc-anim-dslcSlideRightFadeIn,.dslc-anim-dslcSlideUpFadeIn{opacity:0}.dslc-on-hover-anim:hover .dslc-anim-dslcFadeIn,.dslc-on-hover-anim:hover .dslc-anim-dslcSlideDownFadeIn,.dslc-on-hover-anim:hover .dslc-anim-dslcSlideLeftFadeIn,.dslc-on-hover-anim:hover .dslc-anim-dslcSlideRightFadeIn,.dslc-on-hover-anim:hover .dslc-anim-dslcSlideUpFadeIn{opacity:1}.dslc-anim-dslcSlideDown,.dslc-anim-dslcSlideDownFadeIn{-webkit-transform:translateY(-100%);-moz-transform:translateY(-100%);transform:translateY(-100%)}.dslc-on-hover-anim:hover .dslc-anim-dslcSlideDown,.dslc-on-hover-anim:hover .dslc-anim-dslcSlideDownFadeIn{-webkit-transform:translateY(0);-moz-transform:translateY(0);transform:translateY(0)}.dslc-anim-dslcSlideUp,.dslc-anim-dslcSlideUpFadeIn{-webkit-transform:translateY(100%);-moz-transform:translateY(100%);transform:translateY(100%)}.dslc-on-hover-anim:hover .dslc-anim-dslcSlideUp,.dslc-on-hover-anim:hover .dslc-anim-dslcSlideUpFadeIn{-webkit-transform:translateY(0);-moz-transform:translateY(0);transform:translateY(0)}.dslc-anim-dslcSlideRight,.dslc-anim-dslcSlideRightFadeIn{-webkit-transform:translateX(-100%);-moz-transform:translateX(-100%);transform:translateX(-100%)}.dslc-on-hover-anim:hover .dslc-anim-dslcSlideRight,.dslc-on-hover-anim:hover .dslc-anim-dslcSlideRightFadeIn{-webkit-transform:translateX(0);-moz-transform:translateX(0);transform:translateX(0)}.dslc-anim-dslcSlideLeft,.dslc-anim-dslcSlideLeftFadeIn{-webkit-transform:translateX(100%);-moz-transform:translateX(100%);transform:translateX(100%)}.dslc-on-hover-anim:hover .dslc-anim-dslcSlideLeft,.dslc-on-hover-anim:hover .dslc-anim-dslcSlideLeftFadeIn{-webkit-transform:translateX(0);-moz-transform:translateX(0);transform:translateX(0)}.dslc-anim-none{opacity:0;-webkit-transition:all 0s ease-out!important}.dslc-on-hover-anim:hover .dslc-anim-none{opacity:1}.dslca-enabled.dslc-res-big .dslc-hide-on-desktop,.dslca-enabled.dslc-res-smaller-monitor .dslc-hide-on-desktop{display:block!important}.dslca-composer-hidden.dslc-res-big .dslc-hide-on-desktop,.dslca-composer-hidden.dslc-res-smaller-monitor .dslc-hide-on-desktop{display:none!important}
1
+ .dslc-clear,.dslc-clearfix:after,.dslc-first-col,.dslc-module-heading:after{clear:both}#dslc-content blockquote p:last-child{margin-bottom:0!important}#dslc-header{position:relative}#dslc-header.dslc-header-pos-absolute{position:absolute;top:0;left:0;right:0;z-index:999999}#dslc-header.dslc-header-pos-fixed{position:fixed;top:0;left:0;right:0;z-index:999999}body.admin-bar #dslc-header.dslc-header-pos-absolute,body.admin-bar #dslc-header.dslc-header-pos-fixed{top:32px}#dslc-footer{position:relative}#dslc-footer.dslc-footer-pos-absolute{position:absolute;bottom:0;left:0;right:0;z-index:999999}#dslc-footer.dslc-footer-pos-fixed{position:fixed;bottom:0;left:0;right:0;z-index:999999}#dslc-header.dslca-header-low-z-index,.dslca-drag-in-progress #dslc-header{z-index:0}#dslc-content{position:relative}.dslca-activate-composer-hook,.dslca-container .dslca-close-composer-hook,.dslca-container .dslca-hide-composer-hook,.dslca-container .dslca-show-composer-hook{background:#e55f5f;border-radius:3px;bottom:4px;color:#fff;cursor:pointer;display:block;font-size:11px;font-family:"Open Sans";font-weight:900;line-height:1;padding:11px 12px;text-transform:uppercase;text-decoration:none;white-space:nowrap;float:left;margin-left:5px}.dslca-container .dslca-hide-composer-hook{background:#06b2ac}.dslca-container .dslca-show-composer-hook{background:#9268a9;display:none}.dslca-activate-composer-hook:hover,.dslca-activate-composer-hook:visited,.dslca-close-composer-hook:hover,.dslca-close-composer-hook:visited{color:#fff}.dslca-activate-composer-hook{background:#54c13f;color:#fff;position:fixed;z-index:99999;right:5px;bottom:5px}.dslca-activate-composer-hook.dslca-position-left{right:auto;left:5px}.dslca-activate-composer-hook .dslca-icon,.dslca-container .dslca-close-composer-hook .dslca-icon,.dslca-container .dslca-hide-composer-hook .dslca-icon,.dslca-container .dslca-show-composer-hook .dslca-icon{color:rgba(255,255,255,.66);margin-right:5px}.dslc-modules-section{border:0 solid transparent;position:relative}.dslc-modules-section.dslc-init-parallax{background-attachment:fixed}.dslc-modules-section-wrapper{max-width:100%;margin:0 auto}.dslc-modules-section.dslc-full .dslc-modules-section-wrapper{width:100%}.dslc-module-front{position:relative}.dslc-col{display:block;float:left;margin-right:2.12766%}body.rtl .dslc-col{float:right;margin-left:2.12766%;margin-right:0}.dslc-1-col{width:6.38297%}.dslc-2-col{width:14.89361%}.dslc-3-col{width:23.40425%}.dslc-4-col{width:31.91489%}.dslc-5-col{width:40.42553%}.dslc-6-col{width:48.93617%}.dslc-7-col{width:57.4468%}.dslc-8-col{width:65.95744%}.dslc-9-col{width:74.46808%}.dslc-10-col{width:82.97872%}.dslc-11-col{width:91.48936%}.dslc-12-col{width:100%}.dslc-last-col{margin-right:0}body.rtl .dslc-last-col{margin-left:0}.dslc-no-columns-spacing .dslc-col{margin:0}.dslc-no-columns-spacing .dslc-1-col{width:8.33333%}.dslc-no-columns-spacing .dslc-2-col{width:16.66666%}.dslc-no-columns-spacing .dslc-3-col{width:25%}.dslc-no-columns-spacing .dslc-4-col{width:33.33333%}.dslc-no-columns-spacing .dslc-5-col{width:41.66666%}.dslc-no-columns-spacing .dslc-6-col{width:50%}.dslc-no-columns-spacing .dslc-7-col{width:58.33333%}.dslc-no-columns-spacing .dslc-8-col{width:66.66666%}.dslc-no-columns-spacing .dslc-9-col{width:75%}.dslc-no-columns-spacing .dslc-10-col{width:83.33333%}.dslc-no-columns-spacing .dslc-11-col{width:91.66666%}.dslc-no-columns-spacing .dslc-12-col,.dslc-no-columns-spacing .dslc-carousel .dslc-col,.dslc-no-columns-spacing .dslc-carousel .dslc-first-col,.dslc-no-columns-spacing .dslc-carousel .dslc-last-col{width:100%}.dslc-clearfix:after,.dslc-clearfix:before,.dslc-module-heading:after,.dslc-module-heading:before{content:" ";display:table}.dslc-fl{float:left}.dslc-fr{float:right}.dslc-no-float{float:none!important}.dslc-posts{overflow:hidden}.dslc-carousel .dslc-col,.dslc-carousel .dslc-first-col,.dslc-carousel .dslc-last-col{float:none;clear:none;margin:0}.dslc-carousel-item{width:auto}.dslc-carousel-nav{float:right}.dslc-carousel-nav-inner{display:block}.dslc-carousel-nav-next,.dslc-carousel-nav-prev{background:#c9c9c9;border:0 solid transparent;border-radius:3px;display:inline-block;height:23px;position:relative;width:23px;text-decoration:none;vertical-align:bottom}.dslc-carousel-nav-prev{margin-right:7px}.dslc-carousel-nav-next span,.dslc-carousel-nav-prev span{color:#fff;font-size:10px;position:absolute;left:0;right:0;text-align:center;font-weight:400}#dslc-content .dslc-carousel .owl-pagination .owl-page span{margin:0;filter:Alpha(Opacity=100);opacity:1}#dslc-content .dslc-slider{padding-bottom:1px;opacity:0;max-height:10px}#dslc-content .dslc-slider img{max-width:100%}#dslc-content .dslc-slider .owl-pagination .owl-page span{margin:0;filter:Alpha(Opacity=100);opacity:1}.dslc-carousel{opacity:0;max-height:100px}@keyframes dslcSpin{0%{-webkit-transform:rotate(0);-moz-transform:rotate(0);-o-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-o-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes dslcSpin{0%{-moz-transform:rotate(0);transform:rotate(0)}100%{-moz-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes dslcSpin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-ms-keyframes "dslcSpin"{0%{-ms-transform:rotate(0);transform:rotate(0)}100%{-ms-transform:rotate(360deg);transform:rotate(360deg)}}@-o-keyframes dslcSpin{0%{-o-transform:rotate(0);transform:rotate(0)}100%{-o-transform:rotate(360deg);transform:rotate(360deg)}}.dslc-loader{position:relative;width:20px;height:20px;border:2px solid #0cf;border-radius:50%;-webkit-animation:dslcSpin .75s infinite linear;-moz-animation:dslcSpin .75s infinite linear;-ms-animation:dslcSpin .75s infinite linear;-o-animation:dslcSpin .75s infinite linear;animation:dslcSpin .75s infinite linear;margin-left:48%}.dslc-loader::after,.dslc-loader::before{left:-2px;top:-2px;display:none;position:absolute;content:'';width:inherit;height:inherit;border:inherit;border-radius:inherit}.dslc-loader,.dslc-loader::before{display:inline-block;border-color:#0cf transparent transparent}.dslc-loader::before{-webkit-animation:dslcSpin 1.5s infinite ease;-moz-animation:dslcSpin 1.5s infinite ease;-ms-animation:dslcSpin 1.5s infinite ease;-o-animation:dslcSpin 1.5s infinite ease;animation:dslcSpin 1.5s infinite ease}.dslc-notification{background:#fff;border:1px solid #e8e8e8;border-radius:3px;color:#979797;margin-bottom:20px;padding:15px;position:relative;font-size:14px;line-height:25px;font-family:"Open Sans"}.dslc-notification.dslc-green,.dslc-notification.dslc-red,.dslc-notification.dslc-yellow{color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.14)}.dslc-notification .dslc-icon{cursor:pointer;position:absolute;right:14px;top:21px}.dslc-notification.dslc-red{background:#f65757;border-color:#e43737}.dslc-notification.dslc-yellow{background:#fac841;border-color:#eab72e}.dslc-notification.dslc-green{background:#8ccb25;border-color:#77b01a}#dslc-content .dslc-module-heading{overflow:hidden;position:relative}.dslc-init-topleft,.dslc-init-topright{position:absolute!important;top:0!important;bottom:auto!important}#dslc-content .dslc-module-heading h2{display:block;float:left;font-size:17px;font-weight:400;font-family:Oswald;line-height:1;margin:0 15px 0 0;padding:0}#dslc-content .dslc-module-heading-view-all{display:block;float:left;font-size:11px;line-height:1;margin:3px 20px 3px 0}#dslc-content .dslc-module-heading-view-all a{display:block;padding-left:15px;border-left:1px dotted #4f4f4f;font-family:"Open Sans";font-weight:600;line-height:1;text-decoration:none}.dslc-masonry-item{margin-bottom:30px;margin-right:0}.dslc-masonry-item-animate{-webkit-transition:all .5s ease-in-out;-moz-transition:all .5s ease-in-out;-o-transition:all .5s ease-in-out;-ms-transition:all .5s ease-in-out;transition:all .5s ease-in-out}.dslc-post-separator{clear:both;height:1px;margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #ededed}.dslc-pagination{border:0 solid transparent;overflow:hidden;margin-top:30px}.dslc-pagination ul{margin:0;padding:0}.dslc-pagination li{display:inline-block;margin:0 10px 0 0;padding:0}.dslc-pagination li:last-child{margin-right:0!important}.dslc-pagination-load-more .dslc-icon,.dslc-post-filter{margin-right:10px}.dslc-pagination li a{background:#eee;border:0 solid transparent;color:#000;display:block;line-height:1;padding:10px;text-decoration:none}.dslc-pagination li.current a{background:#000;color:#fff}.dslc-pagination li.dslc-pagination-load-more{width:auto;display:block}.dslc-pagination li.dslc-pagination-load-more.dslc-inactive a{cursor:default}.dslc-load-more-temp{display:none}.dslc-init-center{visibility:hidden}.dslc-init-topleft{left:0!important;right:auto!important}.dslc-init-topright{right:0!important;left:auto!important}.dslc-init-bottomleft,.dslc-init-bottomright{position:absolute!important;bottom:0!important;top:auto!important}.dslc-init-bottomleft{left:0!important;right:auto!important}.dslc-init-bottomright{right:0!important;left:auto!important}.dslc-post-filters{overflow:hidden;font-size:0}.dslc-post-filter{background:#fff;border:1px solid #e8e8e8;border-radius:3px;color:#979797;cursor:pointer;display:inline-block;font-size:11px;font-weight:700;font-family:"Open Sans";line-height:1;padding:12px}#dslc-content .dslc-bg-video .mejs-controls,.dslc-res-big .dslc-hide-on-desktop,.dslc-res-phone .dslc-hide-on-phone,.dslc-res-smaller-monitor .dslc-hide-on-desktop,.dslc-res-tablet .dslc-hide-on-tablet{display:none!important}.dslc-post-filter.dslc-active{color:#ff4e01}.dslc-post-filter:last-child{margin-right:0!important}#dslc-content .dslc-bg-video{background:0 0;position:absolute;left:0;right:0;bottom:0;top:0;opacity:0}#dslc-content .dslc-bg-video.dslc-force-show{opacity:1}#dslc-content .dslc-bg-video .mejs-container{background:0 0;position:absolute;left:0;right:0;bottom:0;top:0;width:100%!important;height:auto!important;overflow:hidden}#dslc-content .dslc-bg-video video{min-width:100%;height:auto!important;min-height:100%}#dslc-content .dslc-bg-video-overlay{position:absolute;left:0;top:0;right:0;bottom:0;opacity:0;background:#000}.dslc-trigger-lightbox-gallery{cursor:pointer}body.dslc-res-phone .dslc-col{width:100%;margin:0 0 30px;min-width:0}body.dslc-res-phone .dslc-module-front.dslc-col{margin-bottom:0}@media only screen and (min-device-width :768px) and (max-device-width :1024px){.dslc-modules-section.dslc-init-parallax{background-attachment:scroll!important;background-position:0 0!important}}@media only screen and (max-width:767px){.dslc-modules-section.dslc-init-parallax{background-attachment:scroll!important;background-position:0 0!important}}body.dslca-enabled.dslc-res-tablet #dslc-content{max-width:768px;margin:0 auto}body.dslca-enabled.dslc-res-phone #dslc-content{max-width:480px;margin:0 auto}@keyframes dslcFadeIn{to{opacity:1}}@keyframes dslcSlideUp{to{transform:translateY(0)}}@keyframes dslcSlideDown{to{transform:translateY(0)}}@keyframes dslcSlideRight{to{transform:translateX(0)}}@keyframes dslcSlideLeft{to{transform:translateX(0)}}@keyframes dslcSlideUpFadeIn{to{transform:translateY(0);opacity:1}}@keyframes dslcSlideDownFadeIn{to{transform:translateY(0);opacity:1}}@keyframes dslcSlideRightFadeIn{to{transform:translateX(0);opacity:1}}@keyframes dslcSlideLeftFadeIn{to{transform:translateX(0);opacity:1}}@media only screen and (min-width:768px){@-webkit-keyframes dslcFadeIn{to{opacity:1}}@-moz-keyframes dslcFadeIn{to{opacity:1}}.dslc-in-viewport-anim-dslcFadeIn.dslc-in-viewport-check{opacity:0}@-webkit-keyframes dslcSlideUp{to{-webkit-transform:translateY(0)}}@-moz-keyframes dslcSlideUp{to{-moz-transform:translateY(0)}}.dslc-in-viewport-anim-dslcSlideUp.dslc-in-viewport-check{-webkit-transform:translateY(100px);-moz-transform:translateY(100px);transform:translateY(100px)}@-webkit-keyframes dslcSlideDown{to{-webkit-transform:translateY(0)}}@-moz-keyframes dslcSlideDown{to{-moz-transform:translateY(0)}}.dslc-in-viewport-anim-dslcSlideDown.dslc-in-viewport-check{-webkit-transform:translateY(-100px);-moz-transform:translateY(-100px);transform:translateY(-100px)}@-webkit-keyframes dslcSlideRight{to{-webkit-transform:translateX(0)}}@-moz-keyframes dslcSlideRight{to{-moz-transform:translateX(0)}}.dslc-in-viewport-anim-dslcSlideRight.dslc-in-viewport-check{-webkit-transform:translateX(-100px);-moz-transform:translateX(-100px);transform:translateX(-100px)}@-webkit-keyframes dslcSlideLeft{to{-webkit-transform:translateX(0)}}@-moz-keyframes dslcSlideLeft{to{-moz-transform:translateX(0)}}.dslc-in-viewport-anim-dslcSlideLeft.dslc-in-viewport-check{-webkit-transform:translateX(100px);-moz-transform:translateX(100px);transform:translateX(100px)}@-webkit-keyframes dslcSlideUpFadeIn{to{-webkit-transform:translateY(0);opacity:1}}@-moz-keyframes dslcSlideUpFadeIn{to{-moz-transform:translateY(0);opacity:1}}.dslc-in-viewport-anim-dslcSlideUpFadeIn.dslc-in-viewport-check{-webkit-transform:translateY(100px);-moz-transform:translateY(100px);transform:translateY(100px);opacity:0}@-webkit-keyframes dslcSlideDownFadeIn{to{-webkit-transform:translateY(0);opacity:1}}@-moz-keyframes dslcSlideDownFadeIn{to{-moz-transform:translateY(0);opacity:1}}.dslc-in-viewport-anim-dslcSlideDownFadeIn.dslc-in-viewport-check{-webkit-transform:translateY(-100px);-moz-transform:translateY(-100px);transform:translateY(-100px);opacity:0}@-webkit-keyframes dslcSlideRightFadeIn{to{-webkit-transform:translateX(0);opacity:1}}@-moz-keyframes dslcSlideRightFadeIn{to{-moz-transform:translateX(0);opacity:1}}.dslc-in-viewport-anim-dslcSlideRightFadeIn.dslc-in-viewport-check{-webkit-transform:translateX(-100px);-moz-transform:translateX(-100px);transform:translateX(-100px);opacity:0}@-webkit-keyframes dslcSlideLeftFadeIn{to{-webkit-transform:translateX(0);opacity:1}}@-moz-keyframes dslcSlideLeftFadeIn{to{-moz-transform:translateX(0);opacity:1}}.dslc-in-viewport-anim-dslcSlideLeftFadeIn.dslc-in-viewport-check{-webkit-transform:translateX(100px);-moz-transform:translateX(100px);transform:translateX(100px);opacity:0}}body.dslca-enabled #dslc-content .dslc-post:first-child .dslc-post-thumb .dslc-on-hover-anim-target{opacity:1!important;-webkit-transform:translateY(0)!important;-moz-transform:translateY(0)!important;transform:translateY(0)!important;-webkit-transform:translateX(0)!important;-moz-transform:translateX(0)!important;transform:translateX(0)!important}.dslc-anim-dslcFadeIn,.dslc-anim-dslcSlideDownFadeIn,.dslc-anim-dslcSlideLeftFadeIn,.dslc-anim-dslcSlideRightFadeIn,.dslc-anim-dslcSlideUpFadeIn{opacity:0}.dslc-on-hover-anim:hover .dslc-anim-dslcFadeIn,.dslc-on-hover-anim:hover .dslc-anim-dslcSlideDownFadeIn,.dslc-on-hover-anim:hover .dslc-anim-dslcSlideLeftFadeIn,.dslc-on-hover-anim:hover .dslc-anim-dslcSlideRightFadeIn,.dslc-on-hover-anim:hover .dslc-anim-dslcSlideUpFadeIn{opacity:1}.dslc-anim-dslcSlideDown,.dslc-anim-dslcSlideDownFadeIn{-webkit-transform:translateY(-100%);-moz-transform:translateY(-100%);transform:translateY(-100%)}.dslc-on-hover-anim:hover .dslc-anim-dslcSlideDown,.dslc-on-hover-anim:hover .dslc-anim-dslcSlideDownFadeIn{-webkit-transform:translateY(0);-moz-transform:translateY(0);transform:translateY(0)}.dslc-anim-dslcSlideUp,.dslc-anim-dslcSlideUpFadeIn{-webkit-transform:translateY(100%);-moz-transform:translateY(100%);transform:translateY(100%)}.dslc-on-hover-anim:hover .dslc-anim-dslcSlideUp,.dslc-on-hover-anim:hover .dslc-anim-dslcSlideUpFadeIn{-webkit-transform:translateY(0);-moz-transform:translateY(0);transform:translateY(0)}.dslc-anim-dslcSlideRight,.dslc-anim-dslcSlideRightFadeIn{-webkit-transform:translateX(-100%);-moz-transform:translateX(-100%);transform:translateX(-100%)}.dslc-on-hover-anim:hover .dslc-anim-dslcSlideRight,.dslc-on-hover-anim:hover .dslc-anim-dslcSlideRightFadeIn{-webkit-transform:translateX(0);-moz-transform:translateX(0);transform:translateX(0)}.dslc-anim-dslcSlideLeft,.dslc-anim-dslcSlideLeftFadeIn{-webkit-transform:translateX(100%);-moz-transform:translateX(100%);transform:translateX(100%)}.dslc-on-hover-anim:hover .dslc-anim-dslcSlideLeft,.dslc-on-hover-anim:hover .dslc-anim-dslcSlideLeftFadeIn{-webkit-transform:translateX(0);-moz-transform:translateX(0);transform:translateX(0)}.dslc-anim-none{opacity:0;-webkit-transition:all 0s ease-out!important}.dslc-on-hover-anim:hover .dslc-anim-none{opacity:1}.dslca-enabled.dslc-res-big .dslc-hide-on-desktop,.dslca-enabled.dslc-res-smaller-monitor .dslc-hide-on-desktop{display:block!important}.dslca-composer-hidden.dslc-res-big .dslc-hide-on-desktop,.dslca-composer-hidden.dslc-res-smaller-monitor .dslc-hide-on-desktop{display:none!important}
ds-live-composer.php CHANGED
@@ -1,10 +1,10 @@
1
  <?php
2
  /*
3
- Plugin Name: Page Builder: Live Composer drag and drop website builder (visual front end site editor)
4
  Plugin URI: http://www.livecomposerplugin.com
5
  Description: Front-end page builder for WordPress with drag and drop editing. Build PRO responsive websites and landing pages. Visually customize any page element.
6
  Author: Live Composer Team
7
- Version: 1.0.7.2
8
  Author URI: http://livecomposerplugin.com
9
  License: GPL2
10
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
@@ -16,14 +16,13 @@
16
  * Constants
17
  */
18
 
19
- define( 'DS_LIVE_COMPOSER_VER', '1.0.7.2' );
20
- define( 'DS_LIVE_COMPOSER_LOAD_MINIFIED', true );
21
 
22
- define( 'DS_LIVE_COMPOSER_SHORTNAME', __('Live Composer', 'live-composer-page-builder') );
23
  define( 'DS_LIVE_COMPOSER_BASENAME', plugin_basename( __FILE__ ) );
24
  define( 'DS_LIVE_COMPOSER_URL', plugin_dir_url( __FILE__ ) );
25
  define( 'DS_LIVE_COMPOSER_DIR_NAME', dirname( plugin_basename( __FILE__ ) ) );
26
- define( 'DS_LIVE_COMPOSER_ABS', dirname(__FILE__) );
27
  define( 'DS_LIVE_COMPOSER_DEV_MODE', false );
28
 
29
  define( 'DSLC_PO_FRAMEWORK_ABS', DS_LIVE_COMPOSER_ABS . '/includes/plugin-options-framework' );
@@ -57,7 +56,7 @@
57
  $dslc_css_fonts = '';
58
  $dslc_css_style = '';
59
  $dslc_googlefonts_array = array();
60
- $dslc_all_googlefonts_array = array( "ABeeZee","Abel","Abril Fatface","Aclonica","Acme","Actor","Adamina","Advent Pro","Aguafina Script","Akronim","Aladin","Aldrich","Alef","Alegreya","Alegreya SC","Alex Brush","Alfa Slab One","Alice","Alike","Alike Angular","Allan","Allerta","Allerta Stencil","Allura","Almendra","Almendra Display","Almendra SC","Amarante","Amaranth","Amatic SC","Amethysta","Anaheim","Andada","Andika","Annie Use Your Telescope","Anonymous Pro","Antic","Antic Didone","Antic Slab","Anton","Arapey","Arbutus","Arbutus Slab","Architects Daughter","Archivo Black","Archivo Narrow","Arimo","Arizonia","Armata","Artifika","Arvo","Asap","Asset","Astloch","Asul","Atomic Age","Aubrey","Audiowide","Autour One","Average","Average Sans","Averia Gruesa Libre","Averia Libre","Averia Sans Libre","Averia Serif Libre","Bad Script","Balthazar","Bangers","Basic","Baumans","Belgrano","Belleza","BenchNine","Bentham","Berkshire Swash","Bevan","Bigelow Rules","Bigshot One","Bilbo","Bilbo Swash Caps","Bitter","Black Ops One","Bonbon","Boogaloo","Bowlby One","Bowlby One SC","Brawler","Bree Serif","Bubblegum Sans","Bubbler One","Buda","Buenard","Butcherman","Butterfly Kids","Cabin","Cabin Condensed","Cabin Sketch","Caesar Dressing","Cagliostro","Calligraffitti","Cambo","Candal","Cantarell","Cantata One","Cantora One","Capriola","Cardo","Carme","Carrois Gothic","Carrois Gothic SC","Carter One","Caudex","Cedarville Cursive","Ceviche One","Changa One","Chango","Chau Philomene One","Chela One","Chelsea Market","Cherry Cream Soda","Cherry Swash","Chewy","Chicle","Chivo","Cinzel","Cinzel Decorative","Clicker Script","Coda","Coda Caption","Codystar","Combo","Comfortaa","Coming Soon","Concert One","Condiment","Contrail One","Convergence","Cookie","Copse","Corben","Courgette","Cousine","Coustard","Covered By Your Grace","Crafty Girls","Creepster","Crete Round","Crimson Text","Croissant One","Crushed","Cuprum","Cutive","Cutive Mono","Damion","Dancing Script", "Dawning of a New Day","Days One","Delius","Delius Swash Caps","Delius Unicase","Della Respira","Denk One","Devonshire","Didact Gothic","Diplomata","Diplomata SC","Domine","Donegal One","Doppio One","Dorsa","Dosis","Dr Sugiyama","Droid Sans","Droid Sans Mono","Droid Serif","Duru Sans","Dynalight","Eagle Lake","Eater","EB Garamond","Economica","Electrolize","Elsie","Elsie Swash Caps","Emblema One","Emilys Candy","Engagement","Englebert","Enriqueta","Erica One","Esteban","Euphoria Script","Ewert","Exo","Expletus Sans","Fanwood Text","Fascinate","Fascinate Inline","Faster One","Fauna One","Federant","Federo","Felipa","Fenix","Finger Paint","Fjalla One","Fjord One","Flamenco","Flavors","Fondamento","Fontdiner Swanky","Forum","Francois One","Freckle Face","Fredericka the Great","Fredoka One","Fresca","Frijole","Fruktur","Fugaz One","Gabriela","Gafata","Galdeano","Galindo","Gentium Basic","Gentium Book Basic","Geo","Geostar","Geostar Fill","Germania One","GFS Didot","GFS Neohellenic","Gilda Display","Give You Glory","Glass Antiqua","Glegoo","Gloria Hallelujah","Goblin One","Gochi Hand","Gorditas","Goudy Bookletter 1911","Graduate","Grand Hotel","Gravitas One","Great Vibes","Griffy","Gruppo","Gudea","Habibi","Hammersmith One","Hanalei","Hanalei Fill","Handlee","Happy Monkey","Headland One","Henny Penny","Herr Von Muellerhoff","Holtwood One SC","Homemade Apple","Homenaje","Iceberg","Iceland","IM Fell Double Pica","IM Fell Double Pica SC","IM Fell DW Pica","IM Fell DW Pica SC","IM Fell English","IM Fell English SC","IM Fell French Canon","IM Fell French Canon SC","IM Fell Great Primer","IM Fell Great Primer SC","Imprima","Inconsolata","Inder","Indie Flower","Inika","Irish Grover","Istok Web","Italiana","Italianno","Jacques Francois","Jacques Francois Shadow","Jim Nightshade","Jockey One","Jolly Lodger","Josefin Sans","Josefin Slab","Joti One","Judson","Julee","Julius Sans One","Junge","Jura","Just Another Hand","Just Me Again Down Here","Kameron","Karla","Kaushan Script","Kavoon","Keania One","Kelly Slab","Kenia","Kite One","Knewave","Kotta One","Kranky","Kreon","Kristi","Krona One","La Belle Aurore","Lancelot","Lato","League Script","Leckerli One","Ledger","Lekton","Lemon","Libre Baskerville","Life Savers","Lilita One","Lily Script One","Limelight","Linden Hill","Lobster","Lobster Two","Londrina Outline","Londrina Shadow","Londrina Sketch","Londrina Solid","Lora","Love Ya Like A Sister","Loved by the King","Lovers Quarrel","Luckiest Guy","Lusitana","Lustria","Macondo","Macondo Swash Caps","Magra","Maiden Orange","Mako","Marcellus","Marcellus SC","Marck Script","Margarine","Marko One","Marmelad","Marvel","Mate","Mate SC","Maven Pro","McLaren","Meddon","MedievalSharp","Medula One","Megrim","Meie Script","Merienda","Merienda One","Merriweather","Merriweather Sans","Metal Mania","Metamorphous","Metrophobic","Michroma","Milonga","Miltonian","Miltonian Tattoo","Miniver","Miss Fajardose","Modern Antiqua","Molengo","Molle","Monda","Monofett","Monoton","Monsieur La Doulaise","Montaga","Montez","Montserrat","Montserrat Alternates","Montserrat Subrayada","Mountains of Christmas","Mouse Memoirs","Mr Bedfort","Mr Dafoe","Mr De Haviland","Mrs Saint Delafield","Mrs Sheppards","Muli","Mystery Quest","Neucha","Neuton","New Rocker","News Cycle","Niconne","Nixie One","Nobile","Norican","Nosifer","Nothing You Could Do","Noticia Text","Noto Sans","Noto Serif","Nova Cut","Nova Flat","Nova Mono","Nova Oval","Nova Round","Nova Script","Nova Slim","Nova Square","Numans","Nunito","Offside","Old Standard TT","Oldenburg","Oleo Script","Oleo Script Swash Caps","Open Sans","Open Sans Condensed","Oranienbaum","Orbitron","Oregano","Orienta","Original Surfer","Oswald","Over the Rainbow","Overlock","Overlock SC","Ovo","Oxygen","Oxygen Mono","Pacifico","Paprika","Parisienne","Passero One","Passion One","Pathway Gothic One","Patrick Hand","Patrick Hand SC","Patua One","Paytone One","Peralta","Permanent Marker","Petit Formal Script","Petrona","Philosopher","Piedra","Pinyon Script","Pirata One","Plaster","Play","Playball","Playfair Display","Playfair Display SC","Podkova","Poiret One","Poller One","Poly","Pompiere","Poppins","Pontano Sans","Port Lligat Sans","Port Lligat Slab","Prata","Press Start 2P","Princess Sofia","Prociono","Prosto One","PT Mono","PT Sans","PT Sans Caption","PT Sans Narrow","PT Serif","PT Serif Caption","Puritan","Purple Purse","Quando","Quantico","Quattrocento","Quattrocento Sans","Questrial","Quicksand","Quintessential","Qwigley","Racing Sans One","Radley","Raleway","Raleway Dots","Rambla","Rammetto One","Ranchers","Rancho","Rationale","Redressed","Reenie Beanie","Revalia","Ribeye","Ribeye Marrow","Righteous","Risque","Roboto","Roboto Condensed","Roboto Slab","Rochester","Rock Salt","Rokkitt","Romanesco","Ropa Sans","Rosario","Rosarivo","Rouge Script","Ruda","Rufina","Ruge Boogie","Ruluko","Rum Raisin","Ruslan Display","Russo One","Ruthie","Rye","Sacramento","Sail","Salsa","Sanchez","Sancreek","Sansita One","Sarina","Satisfy","Scada","Schoolbell","Seaweed Script","Sevillana","Seymour One","Shadows Into Light","Shadows Into Light Two","Shanti","Share","Share Tech","Share Tech Mono","Shojumaru","Short Stack","Sigmar One","Signika","Signika Negative","Simonetta","Sintony","Sirin Stencil","Six Caps","Skranji","Slackey","Smokum","Smythe","Sniglet","Snippet","Snowburst One","Sofadi One","Sofia","Sonsie One","Sorts Mill Goudy","Source Code Pro","Source Sans Pro","Special Elite","Spicy Rice","Spinnaker","Spirax","Squada One","Stalemate","Stalinist One","Stardos Stencil","Stint Ultra Condensed","Stint Ultra Expanded","Stoke","Strait","Sue Ellen Francisco","Sunshiney","Supermercado One","Swanky and Moo Moo","Syncopate","Tangerine","Tauri","Telex","Tenor Sans","Text Me One","The Girl Next Door","Tienne","Tinos","Titan One","Titillium Web","Trade Winds","Trocchi","Trochut","Trykker","Tulpen One","Ubuntu","Ubuntu Condensed","Ubuntu Mono","Ultra","Uncial Antiqua","Underdog","Unica One","UnifrakturCook","UnifrakturMaguntia","Unkempt","Unlock","Unna","Vampiro One","Varela","Varela Round","Vast Shadow","Vibur","Vidaloka","Viga","Voces","Volkhov","Vollkorn","Voltaire","VT323","Waiting for the Sunrise","Wallpoet","Walter Turncoat","Warnes","Wellfleet","Wendy One","Wire One","Yanone Kaffeesatz","Yellowtail","Yeseva One","Yesteryear","Zeyada" );
61
  $dslc_should_filter = true;
62
 
63
  /**
@@ -74,8 +73,6 @@
74
  include DS_LIVE_COMPOSER_ABS . '/includes/post-options-framework/post-options-framework.php';
75
  include DS_LIVE_COMPOSER_ABS . '/includes/plugin-options-framework/plugin-options-framework.php';
76
  include DSLC_ST_FRAMEWORK_ABS . '/single-templates-framework.php';
77
- include DS_LIVE_COMPOSER_ABS . '/includes/access-control.php';
78
- include DS_LIVE_COMPOSER_ABS . '/includes/performance.php';
79
  include DS_LIVE_COMPOSER_ABS . '/includes/archive-templates.php';
80
  include DS_LIVE_COMPOSER_ABS . '/includes/styling-presets.php';
81
  include DS_LIVE_COMPOSER_ABS . '/includes/header-footer.php';
@@ -92,7 +89,7 @@
92
  * @since 1.0.7
93
  */
94
 
95
- add_action( 'after_setup_theme', 'dslc_tutorials_load');
96
  function dslc_tutorials_load() {
97
  $dslc_tutorials = false;
98
  if ( apply_filters( 'dslc_tutorials', $dslc_tutorials ) ) {
@@ -156,8 +153,13 @@
156
 
157
  } register_activation_hook( __FILE__, 'dslc_on_activation' );
158
 
159
- add_action( 'admin_init', 'welcome' );
160
- function welcome() {
 
 
 
 
 
161
 
162
  // Bail if no activation redirect
163
  if ( ! get_transient( '_dslc_activation_redirect_1' ) )
1
  <?php
2
  /*
3
+ Plugin Name: Page Builder: Live Composer - drag and drop website builder (visual front end site editor)
4
  Plugin URI: http://www.livecomposerplugin.com
5
  Description: Front-end page builder for WordPress with drag and drop editing. Build PRO responsive websites and landing pages. Visually customize any page element.
6
  Author: Live Composer Team
7
+ Version: 1.0.8
8
  Author URI: http://livecomposerplugin.com
9
  License: GPL2
10
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
16
  * Constants
17
  */
18
 
19
+ define( 'DS_LIVE_COMPOSER_VER', '1.0.8' );
 
20
 
21
+ define( 'DS_LIVE_COMPOSER_SHORTNAME', __( 'Live Composer', 'live-composer-page-builder' ) );
22
  define( 'DS_LIVE_COMPOSER_BASENAME', plugin_basename( __FILE__ ) );
23
  define( 'DS_LIVE_COMPOSER_URL', plugin_dir_url( __FILE__ ) );
24
  define( 'DS_LIVE_COMPOSER_DIR_NAME', dirname( plugin_basename( __FILE__ ) ) );
25
+ define( 'DS_LIVE_COMPOSER_ABS', dirname( __FILE__ ) );
26
  define( 'DS_LIVE_COMPOSER_DEV_MODE', false );
27
 
28
  define( 'DSLC_PO_FRAMEWORK_ABS', DS_LIVE_COMPOSER_ABS . '/includes/plugin-options-framework' );
56
  $dslc_css_fonts = '';
57
  $dslc_css_style = '';
58
  $dslc_googlefonts_array = array();
59
+ $dslc_all_googlefonts_array = array("ABeeZee", "Abel", "Abril Fatface", "Aclonica", "Acme", "Actor", "Adamina", "Advent Pro", "Aguafina Script", "Akronim", "Aladin", "Aldrich", "Alef", "Alegreya", "Alegreya SC", "Alex Brush", "Alfa Slab One", "Alice", "Alike", "Alike Angular", "Allan", "Allerta", "Allerta Stencil", "Allura", "Almendra", "Almendra Display", "Almendra SC", "Amarante", "Amaranth", "Amatic SC", "Amethysta", "Anaheim", "Andada", "Andika", "Annie Use Your Telescope", "Anonymous Pro", "Antic", "Antic Didone", "Antic Slab", "Anton", "Arapey", "Arbutus", "Arbutus Slab", "Architects Daughter", "Archivo Black", "Archivo Narrow", "Arimo", "Arizonia", "Armata", "Artifika", "Arvo", "Asap", "Asset", "Astloch", "Asul", "Atomic Age", "Aubrey", "Audiowide", "Autour One", "Average", "Average Sans", "Averia Gruesa Libre", "Averia Libre", "Averia Sans Libre", "Averia Serif Libre", "Bad Script", "Balthazar", "Bangers", "Basic", "Baumans", "Belgrano", "Belleza", "BenchNine", "Bentham", "Berkshire Swash", "Bevan", "Bigelow Rules", "Bigshot One", "Bilbo", "Bilbo Swash Caps", "Bitter", "Black Ops One", "Bonbon", "Boogaloo", "Bowlby One", "Bowlby One SC", "Brawler", "Bree Serif", "Bubblegum Sans", "Bubbler One", "Buda", "Buenard", "Butcherman", "Butterfly Kids", "Cabin", "Cabin Condensed", "Cabin Sketch", "Caesar Dressing", "Cagliostro", "Calligraffitti", "Cambo", "Candal", "Cantarell", "Cantata One", "Cantora One", "Capriola", "Cardo", "Carme", "Carrois Gothic", "Carrois Gothic SC", "Carter One", "Caudex", "Cedarville Cursive", "Ceviche One", "Changa One", "Chango", "Chau Philomene One", "Chela One", "Chelsea Market", "Cherry Cream Soda", "Cherry Swash", "Chewy", "Chicle", "Chivo", "Cinzel", "Cinzel Decorative", "Clicker Script", "Coda", "Coda Caption", "Codystar", "Combo", "Comfortaa", "Coming Soon", "Concert One", "Condiment", "Contrail One", "Convergence", "Cookie", "Copse", "Corben", "Courgette", "Cousine", "Coustard", "Covered By Your Grace", "Crafty Girls", "Creepster", "Crete Round", "Crimson Text", "Croissant One", "Crushed", "Cuprum", "Cutive", "Cutive Mono", "Damion", "Dancing Script", "Dawning of a New Day", "Days One", "Delius", "Delius Swash Caps", "Delius Unicase", "Della Respira", "Denk One", "Devonshire", "Didact Gothic", "Diplomata", "Diplomata SC", "Domine", "Donegal One", "Doppio One", "Dorsa", "Dosis", "Dr Sugiyama", "Droid Sans", "Droid Sans Mono", "Droid Serif", "Duru Sans", "Dynalight", "Eagle Lake", "Eater", "EB Garamond", "Economica", "Electrolize", "Elsie", "Elsie Swash Caps", "Emblema One", "Emilys Candy", "Engagement", "Englebert", "Enriqueta", "Erica One", "Esteban", "Euphoria Script", "Ewert", "Exo", "Expletus Sans", "Fanwood Text", "Fascinate", "Fascinate Inline", "Faster One", "Fauna One", "Federant", "Federo", "Felipa", "Fenix", "Finger Paint", "Fjalla One", "Fjord One", "Flamenco", "Flavors", "Fondamento", "Fontdiner Swanky", "Forum", "Francois One", "Freckle Face", "Fredericka the Great", "Fredoka One", "Fresca", "Frijole", "Fruktur", "Fugaz One", "Gabriela", "Gafata", "Galdeano", "Galindo", "Gentium Basic", "Gentium Book Basic", "Geo", "Geostar", "Geostar Fill", "Germania One", "GFS Didot", "GFS Neohellenic", "Gilda Display", "Give You Glory", "Glass Antiqua", "Glegoo", "Gloria Hallelujah", "Goblin One", "Gochi Hand", "Gorditas", "Goudy Bookletter 1911", "Graduate", "Grand Hotel", "Gravitas One", "Great Vibes", "Griffy", "Gruppo", "Gudea", "Habibi", "Hammersmith One", "Hanalei", "Hanalei Fill", "Handlee", "Happy Monkey", "Headland One", "Henny Penny", "Herr Von Muellerhoff", "Holtwood One SC", "Homemade Apple", "Homenaje", "Iceberg", "Iceland", "IM Fell Double Pica", "IM Fell Double Pica SC", "IM Fell DW Pica", "IM Fell DW Pica SC", "IM Fell English", "IM Fell English SC", "IM Fell French Canon", "IM Fell French Canon SC", "IM Fell Great Primer", "IM Fell Great Primer SC", "Imprima", "Inconsolata", "Inder", "Indie Flower", "Inika", "Irish Grover", "Istok Web", "Italiana", "Italianno", "Jacques Francois", "Jacques Francois Shadow", "Jim Nightshade", "Jockey One", "Jolly Lodger", "Josefin Sans", "Josefin Slab", "Joti One", "Judson", "Julee", "Julius Sans One", "Junge", "Jura", "Just Another Hand", "Just Me Again Down Here", "Kameron", "Karla", "Kaushan Script", "Kavoon", "Keania One", "Kelly Slab", "Kenia", "Kite One", "Knewave", "Kotta One", "Kranky", "Kreon", "Kristi", "Krona One", "La Belle Aurore", "Lancelot", "Lato", "League Script", "Leckerli One", "Ledger", "Lekton", "Lemon", "Libre Baskerville", "Life Savers", "Lilita One", "Lily Script One", "Limelight", "Linden Hill", "Lobster", "Lobster Two", "Londrina Outline", "Londrina Shadow", "Londrina Sketch", "Londrina Solid", "Lora", "Love Ya Like A Sister", "Loved by the King", "Lovers Quarrel", "Luckiest Guy", "Lusitana", "Lustria", "Macondo", "Macondo Swash Caps", "Magra", "Maiden Orange", "Mako", "Marcellus", "Marcellus SC", "Marck Script", "Margarine", "Marko One", "Marmelad", "Marvel", "Mate", "Mate SC", "Maven Pro", "McLaren", "Meddon", "MedievalSharp", "Medula One", "Megrim", "Meie Script", "Merienda", "Merienda One", "Merriweather", "Merriweather Sans", "Metal Mania", "Metamorphous", "Metrophobic", "Michroma", "Milonga", "Miltonian", "Miltonian Tattoo", "Miniver", "Miss Fajardose", "Modern Antiqua", "Molengo", "Molle", "Monda", "Monofett", "Monoton", "Monsieur La Doulaise", "Montaga", "Montez", "Montserrat", "Montserrat Alternates", "Montserrat Subrayada", "Mountains of Christmas", "Mouse Memoirs", "Mr Bedfort", "Mr Dafoe", "Mr De Haviland", "Mrs Saint Delafield", "Mrs Sheppards", "Muli", "Mystery Quest", "Neucha", "Neuton", "New Rocker", "News Cycle", "Niconne", "Nixie One", "Nobile", "Norican", "Nosifer", "Nothing You Could Do", "Noticia Text", "Noto Sans", "Noto Serif", "Nova Cut", "Nova Flat", "Nova Mono", "Nova Oval", "Nova Round", "Nova Script", "Nova Slim", "Nova Square", "Numans", "Nunito", "Offside", "Old Standard TT", "Oldenburg", "Oleo Script", "Oleo Script Swash Caps", "Open Sans", "Open Sans Condensed", "Oranienbaum", "Orbitron", "Oregano", "Orienta", "Original Surfer", "Oswald", "Over the Rainbow", "Overlock", "Overlock SC", "Ovo", "Oxygen", "Oxygen Mono", "Pacifico", "Paprika", "Parisienne", "Passero One", "Passion One", "Pathway Gothic One", "Patrick Hand", "Patrick Hand SC", "Patua One", "Paytone One", "Peralta", "Permanent Marker", "Petit Formal Script", "Petrona", "Philosopher", "Piedra", "Pinyon Script", "Pirata One", "Plaster", "Play", "Playball", "Playfair Display", "Playfair Display SC", "Podkova", "Poiret One", "Poller One", "Poly", "Pompiere", "Poppins", "Pontano Sans", "Port Lligat Sans", "Port Lligat Slab", "Prata", "Press Start 2P", "Princess Sofia", "Prociono", "Prosto One", "PT Mono", "PT Sans", "PT Sans Caption", "PT Sans Narrow", "PT Serif", "PT Serif Caption", "Puritan", "Purple Purse", "Quando", "Quantico", "Quattrocento", "Quattrocento Sans", "Questrial", "Quicksand", "Quintessential", "Qwigley", "Racing Sans One", "Radley", "Raleway", "Raleway Dots", "Rambla", "Rammetto One", "Ranchers", "Rancho", "Rationale", "Redressed", "Reenie Beanie", "Revalia", "Ribeye", "Ribeye Marrow", "Righteous", "Risque", "Roboto", "Roboto Condensed", "Roboto Slab", "Rochester", "Rock Salt", "Rokkitt", "Romanesco", "Ropa Sans", "Rosario", "Rosarivo", "Rouge Script", "Ruda", "Rufina", "Ruge Boogie", "Ruluko", "Rum Raisin", "Ruslan Display", "Russo One", "Ruthie", "Rye", "Sacramento", "Sail", "Salsa", "Sanchez", "Sancreek", "Sansita One", "Sarina", "Satisfy", "Scada", "Schoolbell", "Seaweed Script", "Sevillana", "Seymour One", "Shadows Into Light", "Shadows Into Light Two", "Shanti", "Share", "Share Tech", "Share Tech Mono", "Shojumaru", "Short Stack", "Sigmar One", "Signika", "Signika Negative", "Simonetta", "Sintony", "Sirin Stencil", "Six Caps", "Skranji", "Slackey", "Smokum", "Smythe", "Sniglet", "Snippet", "Snowburst One", "Sofadi One", "Sofia", "Sonsie One", "Sorts Mill Goudy", "Source Code Pro", "Source Sans Pro", "Special Elite", "Spicy Rice", "Spinnaker", "Spirax", "Squada One", "Stalemate", "Stalinist One", "Stardos Stencil", "Stint Ultra Condensed", "Stint Ultra Expanded", "Stoke", "Strait", "Sue Ellen Francisco", "Sunshiney", "Supermercado One", "Swanky and Moo Moo", "Syncopate", "Tangerine", "Tauri", "Telex", "Tenor Sans", "Text Me One", "The Girl Next Door", "Tienne", "Tinos", "Titan One", "Titillium Web", "Trade Winds", "Trocchi", "Trochut", "Trykker", "Tulpen One", "Ubuntu", "Ubuntu Condensed", "Ubuntu Mono", "Ultra", "Uncial Antiqua", "Underdog", "Unica One", "UnifrakturCook", "UnifrakturMaguntia", "Unkempt", "Unlock", "Unna", "Vampiro One", "Varela", "Varela Round", "Vast Shadow", "Vibur", "Vidaloka", "Viga", "Voces", "Volkhov", "Vollkorn", "Voltaire", "VT323", "Waiting for the Sunrise", "Wallpoet", "Walter Turncoat", "Warnes", "Wellfleet", "Wendy One", "Wire One", "Yanone Kaffeesatz", "Yellowtail", "Yeseva One", "Yesteryear", "Zeyada");
60
  $dslc_should_filter = true;
61
 
62
  /**
73
  include DS_LIVE_COMPOSER_ABS . '/includes/post-options-framework/post-options-framework.php';
74
  include DS_LIVE_COMPOSER_ABS . '/includes/plugin-options-framework/plugin-options-framework.php';
75
  include DSLC_ST_FRAMEWORK_ABS . '/single-templates-framework.php';
 
 
76
  include DS_LIVE_COMPOSER_ABS . '/includes/archive-templates.php';
77
  include DS_LIVE_COMPOSER_ABS . '/includes/styling-presets.php';
78
  include DS_LIVE_COMPOSER_ABS . '/includes/header-footer.php';
89
  * @since 1.0.7
90
  */
91
 
92
+ add_action( 'after_setup_theme', 'dslc_tutorials_load' );
93
  function dslc_tutorials_load() {
94
  $dslc_tutorials = false;
95
  if ( apply_filters( 'dslc_tutorials', $dslc_tutorials ) ) {
153
 
154
  } register_activation_hook( __FILE__, 'dslc_on_activation' );
155
 
156
+ add_action( 'admin_init', 'dslc_welcome' );
157
+ function dslc_welcome() {
158
+
159
+ // Make Welcome screen optional for the theme developers
160
+ $show_welcome_screen = true;
161
+ if ( apply_filters( 'dslc_show_welcome_screen', $show_welcome_screen ) )
162
+ return;
163
 
164
  // Bail if no activation redirect
165
  if ( ! get_transient( '_dslc_activation_redirect_1' ) )
images/lc-extension-animations.png ADDED
Binary file
images/lc-extension-beforeafter.png ADDED
Binary file
images/lc-extension-bundle.png ADDED
Binary file
images/lc-extension-gallery.png ADDED
Binary file
images/lc-extension-googlemaps.png ADDED
Binary file
images/lc-extension-lineicons.png ADDED
Binary file
images/lc-extension-perpagewidth.png ADDED
Binary file
images/lc-extension-prevnext.png ADDED
Binary file
images/lc-extension-videoembed.png ADDED
Binary file
images/lc-theme-blank.png ADDED
Binary file
images/lc-theme-orao.png ADDED
Binary file
images/livecomposer-mink-curious.png ADDED
Binary file
includes/ajax.php CHANGED
@@ -93,7 +93,7 @@ function dslc_ajax_add_modules_section( $atts ) {
93
  $response['output'] = $output;
94
 
95
  // Encode response
96
- $response_json = json_encode( $response );
97
 
98
  // Send the response
99
  header( "Content-Type: application/json" );
@@ -150,7 +150,7 @@ function dslc_ajax_add_modules_area( $atts ) {
150
  $response['output'] = $output;
151
 
152
  // Encode response
153
- $response_json = json_encode( $response );
154
 
155
  // Send the response
156
  header( "Content-Type: application/json" );
@@ -195,7 +195,7 @@ function dslc_ajax_add_module( $atts ) {
195
 
196
  // If it is not a new module ( already has ID )
197
  if ( isset( $_POST['dslc_module_instance_id'] ) ) {
198
-
199
  $module_instance_id = $_POST['dslc_module_instance_id'];
200
 
201
  // If it is a new module ( no ID )
@@ -203,7 +203,7 @@ function dslc_ajax_add_module( $atts ) {
203
 
204
  // Get current count
205
  $module_id_count = get_option( 'dslc_module_id_count' );
206
-
207
  // If not the first one
208
  if ( $module_id_count ) {
209
 
@@ -215,7 +215,7 @@ function dslc_ajax_add_module( $atts ) {
215
 
216
  // If it is the first one
217
  } else {
218
-
219
  // Set 1 as the ID
220
  $module_instance_id = 1;
221
 
@@ -280,7 +280,7 @@ function dslc_ajax_add_module( $atts ) {
280
  $response['output'] = $output;
281
 
282
  // Encode response
283
- $response_json = json_encode( $response );
284
 
285
  // Send the response
286
  header( "Content-Type: application/json" );
@@ -331,8 +331,8 @@ function dslc_ajax_display_module_options( $atts ) {
331
 
332
  $curr_value = $module_option['std'];
333
 
334
- if ( isset( $_POST[ $module_option['id'] ] ) )
335
- $curr_value = $_POST[ $module_option['id'] ];
336
 
337
  /**
338
  * Visibility
@@ -343,7 +343,7 @@ function dslc_ajax_display_module_options( $atts ) {
343
  else
344
  $visibility = true;
345
 
346
- if ( $module_option['type'] == 'checkbox' && count( $module_option['choices'] ) < 2 )
347
  $visibility = false;
348
 
349
  /**
@@ -424,7 +424,7 @@ function dslc_ajax_display_module_options( $atts ) {
424
  }
425
 
426
  $ext = ' ';
427
- if ( isset( $module_option['ext'] ) )
428
  $ext = $module_option['ext'];
429
 
430
  $affect_on_change_append = '';
@@ -432,7 +432,7 @@ function dslc_ajax_display_module_options( $atts ) {
432
  $affect_on_change_append = 'data-affect-on-change-el="' . $module_option['affect_on_change_el'] . '" data-affect-on-change-rule="' . $module_option['affect_on_change_rule'] . '"';
433
 
434
 
435
- ?>
436
 
437
  <div class="dslca-module-edit-option dslca-module-edit-option-<?php echo $module_option['type']; ?> dslca-module-edit-option-<?php echo $module_option['id']; ?> <?php if ( ! $visibility ) echo 'dslca-module-edit-option-hidden'; ?>" data-id="<?php echo $module_option['id']; ?>" data-refresh-on-change="<?php echo $refresh_on_change; ?>" data-section="<?php echo $section; ?>" data-tab="<?php echo $tab_ID; ?>">
438
 
@@ -441,7 +441,7 @@ function dslc_ajax_display_module_options( $atts ) {
441
  <?php endif; ?>
442
 
443
  <span class="dslca-module-edit-label">
444
- <?php echo $module_option['label']; ?>
445
  <?php if ( $module_option['type'] == 'icon' ): ?>
446
  <span class="dslca-module-edit-field-icon-ttip-hook"><span class="dslca-icon dslc-icon-info"></span></span>
447
  <span class="dslca-module-edit-field-icon-switch-set"><span class="dslca-module-edit-field-icon-curr-set"><?php echo dslc_icons_current_set( $curr_value ); ?></span><span class="dslca-icon dslc-icon-cog"></span></span>
@@ -452,7 +452,7 @@ function dslc_ajax_display_module_options( $atts ) {
452
  </span>
453
 
454
  <?php if ( $module_option['type'] == 'text' ) : ?>
455
-
456
  <input type="text" class="dslca-module-edit-field" name="<?php echo $module_option['id']; ?>" data-id="<?php echo $module_option['id']; ?>" value="<?php echo esc_attr( stripslashes( $curr_value ) ); ?>" data-starting-val="<?php echo esc_attr( stripslashes( $curr_value ) ); ?>" <?php echo $affect_on_change_append ?> />
457
 
458
  <?php elseif ( $module_option['type'] == 'textarea' ) : ?>
@@ -462,15 +462,15 @@ function dslc_ajax_display_module_options( $atts ) {
462
  <?php elseif ( $module_option['type'] == 'select' ) : ?>
463
 
464
  <select class="dslca-module-edit-field" name="<?php echo $module_option['id']; ?>" data-id="<?php echo $module_option['id']; ?>" <?php echo $affect_on_change_append ?> >
465
- <?php foreach( $module_option['choices'] as $select_option ) : ?>
466
  <option value="<?php echo $select_option['value']; ?>" <?php if ( $curr_value == $select_option['value'] ) echo 'selected="selected"'; ?>><?php echo $select_option['label']; ?></option>
467
  <?php endforeach; ?>
468
  </select>
469
 
470
  <?php elseif ( $module_option['type'] == 'checkbox' ) : ?>
471
 
472
- <?php
473
-
474
  // Current Value Array
475
  if ( empty( $curr_value ) )
476
  $curr_value = array();
@@ -478,7 +478,7 @@ function dslc_ajax_display_module_options( $atts ) {
478
  $curr_value = explode( ' ', trim( $curr_value ) );
479
 
480
  // Determined brakepoints
481
- $chck_amount = count ( $module_option['choices'] );
482
  $chck_breakpoint = ceil( $chck_amount / 1 );
483
  $chck_count = 0;
484
 
@@ -517,7 +517,7 @@ function dslc_ajax_display_module_options( $atts ) {
517
  <?php elseif ( $module_option['type'] == 'slider' ) : ?>
518
 
519
  <?php
520
-
521
  $slider_min = 0;
522
  $slider_max = 100;
523
  $slider_increment = 1;
@@ -554,22 +554,21 @@ function dslc_ajax_display_module_options( $atts ) {
554
  <?php endif; ?>
555
 
556
  <?php elseif ( $module_option['type'] == 'font' ) : ?>
557
-
558
  <div class="dslca-module-edit-field-font-wrapper">
559
  <input type="text" class="dslca-module-edit-field dslca-module-edit-field-font" name="<?php echo $module_option['id']; ?>" data-id="<?php echo $module_option['id']; ?>" value="<?php echo $curr_value; ?>" <?php echo $affect_on_change_append ?> />
560
  <span class="dslca-module-edit-field-font-suggest"></span>
561
  </div>
562
- <span class="dslca-module-edit-field-font-prev"><span class="dslca-icon dslc-icon-chevron-left"></span></span>
563
- <span class="dslca-module-edit-field-font-next"><span class="dslca-icon dslc-icon-chevron-right"></span></span>
564
 
565
  <?php elseif ( $module_option['type'] == 'icon' ) : ?>
566
-
567
  <div class="dslca-module-edit-field-icon-wrapper">
568
  <input type="text" class="dslca-module-edit-field dslca-module-edit-field-icon" name="<?php echo $module_option['id']; ?>" data-id="<?php echo $module_option['id']; ?>" value="<?php echo $curr_value; ?>" <?php echo $affect_on_change_append ?> />
569
  <span class="dslca-module-edit-field-icon-suggest"></span>
570
  </div>
571
- <span class="dslca-module-edit-field-icon-prev"><span class="dslca-icon dslc-icon-chevron-left"></span></span>
572
- <span class="dslca-module-edit-field-icon-next"><span class="dslca-icon dslc-icon-chevron-right"></span></span>
573
 
574
  <?php elseif ( $module_option['type'] == 'image' ) : ?>
575
 
@@ -613,11 +612,11 @@ function dslc_ajax_display_module_options( $atts ) {
613
  $box_shadow_val = explode( ' ', $curr_value );
614
  }
615
  if ( is_array( $box_shadow_val ) ) {
616
- $box_shadow_hor_val = str_replace('px', '', $box_shadow_val[0] );
617
- $box_shadow_ver_val = str_replace('px', '', $box_shadow_val[1] );
618
- $box_shadow_blur_val = str_replace('px', '', $box_shadow_val[2] );
619
- $box_shadow_spread_val = str_replace('px', '', $box_shadow_val[3] );
620
- $box_shadow_color_val = str_replace('px', '', $box_shadow_val[4] );
621
  if ( isset( $box_shadow_val[5] ) ) {
622
  $box_shadow_inset_val = $box_shadow_val[5];
623
  }
@@ -626,9 +625,9 @@ function dslc_ajax_display_module_options( $atts ) {
626
 
627
  <div class="dslca-module-edit-option-box-shadow-wrapper">
628
 
629
- <div class="dslca-module-edit-option-box-shadow-single">
630
  <span class="dslca-module-edit-option-checkbox-hook"><?php _e( 'Inner', 'live-composer-page-builder' ); ?><span class="dslca-icon <?php if ( $box_shadow_inset_val == 'inset' ) echo 'dslc-icon-check'; else echo 'dslc-icon-check-empty'; ?>"></span></span>
631
- <input type="checkbox" class="dslca-module-edit-field-checkbox dslca-module-edit-option-box-shadow-inset" <?php if ( $box_shadow_inset_val == 'inset' ) echo 'checked="checked"'; ?> />
632
  </div>
633
  <div class="dslca-module-edit-option-box-shadow-single">
634
  <span><?php _e( 'Hor', 'live-composer-page-builder' ); ?></span><input class="dslca-module-edit-option-box-shadow-hor" step="0.1" type="number" value="<?php echo $box_shadow_hor_val; ?>" />
@@ -664,10 +663,10 @@ function dslc_ajax_display_module_options( $atts ) {
664
  }
665
 
666
  if ( is_array( $text_shadow_val ) ) {
667
- $text_shadow_hor_val = str_replace('px', '', $text_shadow_val[0] );
668
- $text_shadow_ver_val = str_replace('px', '', $text_shadow_val[1] );
669
- $text_shadow_blur_val = str_replace('px', '', $text_shadow_val[2] );
670
- $text_shadow_color_val = str_replace('px', '', $text_shadow_val[4] );
671
  }
672
  ?>
673
 
@@ -697,7 +696,7 @@ function dslc_ajax_display_module_options( $atts ) {
697
  <?php do_action( 'dslc_custom_option_type_' . $module_option['type'], $module_option, $curr_value, $affect_on_change_append ); ?>
698
 
699
  <?php else : ?>
700
-
701
  <input type="text" class="dslca-module-edit-field" name="<?php echo $module_option['id']; ?>" data-id="<?php echo $module_option['id']; ?>" value="<?php echo $curr_value; ?>" data-starting-val="<?php echo $curr_value; ?>" <?php echo $affect_on_change_append ?> />
702
 
703
  <?php endif; ?>
@@ -719,10 +718,10 @@ function dslc_ajax_display_module_options( $atts ) {
719
  // Output End
720
  $output_end = '</div>';
721
 
722
- // Output Tabs
723
  $output_tabs = '';
724
  foreach ( $tabs as $tab ) {
725
- $output_tabs .= '<span class="dslca-module-edit-options-tab-hook" data-section="' . $tab['section'] . '" data-id="'. $tab['id'] .'">' . $tab['title'] . '</span>';
726
  }
727
 
728
  // Combine output
@@ -732,7 +731,7 @@ function dslc_ajax_display_module_options( $atts ) {
732
  $response['output'] .= $output_end;
733
 
734
  // Encode response
735
- $response_json = json_encode( $response );
736
 
737
  // Send the response
738
  header( "Content-Type: application/json" );
@@ -776,7 +775,8 @@ function dslc_ajax_save_composer( $atts ) {
776
  $response['status'] = 'failed';
777
 
778
  // Add/update the post/page with the content for search
779
- if ( update_post_meta( $post_id, 'dslc_content_for_search', $content_for_search ) )
 
780
  $response['status'] = 'success';
781
 
782
  // Delete draft code
@@ -872,14 +872,14 @@ function dslc_ajax_load_template( $atts ) {
872
  $template_code = $templates[$template_id]['code'];
873
 
874
  // Apply for new ID
875
- $template_code = str_replace( '[dslc_module ', '[dslc_module give_new_id="true" ', $template_code);
876
- $template_code = str_replace( '[dslc_module]', '[dslc_module give_new_id="true"]', $template_code);
877
 
878
  // Get the front-end output
879
- $response['output'] = do_shortcode ( $template_code );
880
 
881
  // Encode response
882
- $response_json = json_encode( $response );
883
 
884
  // Send the response
885
  header( "Content-Type: application/json" );
@@ -912,14 +912,14 @@ function dslc_ajax_import_template( $atts ) {
912
  $template_code = stripslashes( $_POST['dslc_template_code'] );
913
 
914
  // Apply for new ID
915
- $template_code = str_replace( '[dslc_module ', '[dslc_module give_new_id="true" ', $template_code);
916
- $template_code = str_replace( '[dslc_module]', '[dslc_module give_new_id="true"]', $template_code);
917
 
918
  // Get the front-end output
919
- $response['output'] = do_shortcode ( $template_code );
920
 
921
  // Encode response
922
- $response_json = json_encode( $response );
923
 
924
  // Send the response
925
  header( "Content-Type: application/json" );
@@ -952,7 +952,7 @@ function dslc_ajax_save_template( $atts ) {
952
 
953
  // Get new template data
954
  $template_title = stripslashes( $_POST['dslc_template_title'] );
955
- $template_id = strtolower( str_replace( ' ', '-', $template_title) );
956
  $template_code = stripslashes( $_POST['dslc_template_code'] );
957
 
958
  // Get current templates
@@ -963,7 +963,7 @@ function dslc_ajax_save_template( $atts ) {
963
  $templates = array();
964
  else
965
  $templates = maybe_unserialize( $templates );
966
-
967
  // Append new template to templates array
968
  $templates[$template_id] = array(
969
  'title' => $template_title,
@@ -979,7 +979,7 @@ function dslc_ajax_save_template( $atts ) {
979
  $response['output'] = $templates;
980
 
981
  // Encode response
982
- $response_json = json_encode( $response );
983
 
984
  // AJAX phone home
985
  header( "Content-Type: application/json" );
@@ -1011,7 +1011,7 @@ function dslc_ajax_delete_template( $atts ) {
1011
 
1012
  // Get all templates
1013
  $templates = maybe_unserialize( get_option( 'dslc_templates' ) );
1014
-
1015
  // Remove the template
1016
  unset( $templates[$template_id] );
1017
 
@@ -1022,7 +1022,7 @@ function dslc_ajax_delete_template( $atts ) {
1022
  $response['output'] = $templates;
1023
 
1024
  // Encode response
1025
- $response_json = json_encode( $response );
1026
 
1027
  // AJAX phone home
1028
  header( "Content-Type: application/json" );
@@ -1062,7 +1062,7 @@ function dslc_ajax_get_new_module_id() {
1062
  $response['output'] = $module_instance_id;
1063
 
1064
  // Encode response
1065
- $response_json = json_encode( $response );
1066
 
1067
  // AJAX phone home
1068
  header( "Content-Type: application/json" );
@@ -1072,7 +1072,7 @@ function dslc_ajax_get_new_module_id() {
1072
  exit;
1073
 
1074
  }
1075
-
1076
  } add_action( 'wp_ajax_dslc-ajax-get-new-module-id', 'dslc_ajax_get_new_module_id' );
1077
 
1078
  /**
@@ -1093,14 +1093,14 @@ function dslc_ajax_import_modules_section( $atts ) {
1093
  $modules_code = stripslashes( $_POST['dslc_modules_section_code'] );
1094
 
1095
  // Apply for new ID
1096
- $modules_code = str_replace( '[dslc_module ', '[dslc_module give_new_id="true" ', $modules_code);
1097
- $modules_code = str_replace( '[dslc_module]', '[dslc_module give_new_id="true"]', $modules_code);
1098
 
1099
  // Get the front-end output
1100
- $response['output'] = do_shortcode ( $modules_code );
1101
 
1102
  // Encode response
1103
- $response_json = json_encode( $response );
1104
 
1105
  // Send the response
1106
  header( "Content-Type: application/json" );
@@ -1142,26 +1142,26 @@ function dslc_ajax_dm_module_defaults_code( $atts ) {
1142
 
1143
  // Instanciate the module class
1144
  $module_instance = new $module_id();
1145
-
1146
  // Module output
1147
  $settings = $module_instance->options();
1148
 
1149
- $code .= "if ( " . '$id' ." == '" . $module_id . "' ) {
1150
  ". '$new_defaults = array(' . "
1151
  ";
1152
 
1153
  // Fix settings when a new option added after a module is used
1154
- foreach( $settings as $key => $setting ) {
1155
 
1156
- if ( isset( $settings_new[ $setting['id'] ] ) ) {
1157
 
1158
- if ( $settings_new[ $setting['id'] ] != $settings[$key]['std'] ) {
1159
- $code .= " '" . $setting['id'] . "' => '" . $settings_new[ $setting['id'] ] . "',
1160
  ";
1161
  }
1162
 
1163
  }
1164
-
1165
  }
1166
 
1167
  $code .= ' );
@@ -1173,7 +1173,7 @@ function dslc_ajax_dm_module_defaults_code( $atts ) {
1173
  $response['output'] = $code;
1174
 
1175
  // Encode response
1176
- $response_json = json_encode( $response );
1177
 
1178
  // Send the response
1179
  header( "Content-Type: application/json" );
@@ -1213,7 +1213,7 @@ function dslc_ajax_save_preset() {
1213
  $response['status'] = 'error';
1214
 
1215
  // Encode response
1216
- $response_json = json_encode( $response );
1217
 
1218
  // Send the response
1219
  header( "Content-Type: application/json" );
93
  $response['output'] = $output;
94
 
95
  // Encode response
96
+ $response_json = json_encode( $response );
97
 
98
  // Send the response
99
  header( "Content-Type: application/json" );
150
  $response['output'] = $output;
151
 
152
  // Encode response
153
+ $response_json = json_encode( $response );
154
 
155
  // Send the response
156
  header( "Content-Type: application/json" );
195
 
196
  // If it is not a new module ( already has ID )
197
  if ( isset( $_POST['dslc_module_instance_id'] ) ) {
198
+
199
  $module_instance_id = $_POST['dslc_module_instance_id'];
200
 
201
  // If it is a new module ( no ID )
203
 
204
  // Get current count
205
  $module_id_count = get_option( 'dslc_module_id_count' );
206
+
207
  // If not the first one
208
  if ( $module_id_count ) {
209
 
215
 
216
  // If it is the first one
217
  } else {
218
+
219
  // Set 1 as the ID
220
  $module_instance_id = 1;
221
 
280
  $response['output'] = $output;
281
 
282
  // Encode response
283
+ $response_json = json_encode( $response );
284
 
285
  // Send the response
286
  header( "Content-Type: application/json" );
331
 
332
  $curr_value = $module_option['std'];
333
 
334
+ if ( isset( $_POST[$module_option['id']] ) )
335
+ $curr_value = $_POST[$module_option['id']];
336
 
337
  /**
338
  * Visibility
343
  else
344
  $visibility = true;
345
 
346
+ if ( $module_option['type'] == 'checkbox' && count( $module_option['choices'] ) < 1 )
347
  $visibility = false;
348
 
349
  /**
424
  }
425
 
426
  $ext = ' ';
427
+ if ( isset( $module_option['ext'] ) )
428
  $ext = $module_option['ext'];
429
 
430
  $affect_on_change_append = '';
432
  $affect_on_change_append = 'data-affect-on-change-el="' . $module_option['affect_on_change_el'] . '" data-affect-on-change-rule="' . $module_option['affect_on_change_rule'] . '"';
433
 
434
 
435
+ ?>
436
 
437
  <div class="dslca-module-edit-option dslca-module-edit-option-<?php echo $module_option['type']; ?> dslca-module-edit-option-<?php echo $module_option['id']; ?> <?php if ( ! $visibility ) echo 'dslca-module-edit-option-hidden'; ?>" data-id="<?php echo $module_option['id']; ?>" data-refresh-on-change="<?php echo $refresh_on_change; ?>" data-section="<?php echo $section; ?>" data-tab="<?php echo $tab_ID; ?>">
438
 
441
  <?php endif; ?>
442
 
443
  <span class="dslca-module-edit-label">
444
+ <?php if ( isset ( $module_option['label'] ) ) { echo $module_option['label']; } ?>
445
  <?php if ( $module_option['type'] == 'icon' ): ?>
446
  <span class="dslca-module-edit-field-icon-ttip-hook"><span class="dslca-icon dslc-icon-info"></span></span>
447
  <span class="dslca-module-edit-field-icon-switch-set"><span class="dslca-module-edit-field-icon-curr-set"><?php echo dslc_icons_current_set( $curr_value ); ?></span><span class="dslca-icon dslc-icon-cog"></span></span>
452
  </span>
453
 
454
  <?php if ( $module_option['type'] == 'text' ) : ?>
455
+
456
  <input type="text" class="dslca-module-edit-field" name="<?php echo $module_option['id']; ?>" data-id="<?php echo $module_option['id']; ?>" value="<?php echo esc_attr( stripslashes( $curr_value ) ); ?>" data-starting-val="<?php echo esc_attr( stripslashes( $curr_value ) ); ?>" <?php echo $affect_on_change_append ?> />
457
 
458
  <?php elseif ( $module_option['type'] == 'textarea' ) : ?>
462
  <?php elseif ( $module_option['type'] == 'select' ) : ?>
463
 
464
  <select class="dslca-module-edit-field" name="<?php echo $module_option['id']; ?>" data-id="<?php echo $module_option['id']; ?>" <?php echo $affect_on_change_append ?> >
465
+ <?php foreach ( $module_option['choices'] as $select_option ) : ?>
466
  <option value="<?php echo $select_option['value']; ?>" <?php if ( $curr_value == $select_option['value'] ) echo 'selected="selected"'; ?>><?php echo $select_option['label']; ?></option>
467
  <?php endforeach; ?>
468
  </select>
469
 
470
  <?php elseif ( $module_option['type'] == 'checkbox' ) : ?>
471
 
472
+ <?php
473
+
474
  // Current Value Array
475
  if ( empty( $curr_value ) )
476
  $curr_value = array();
478
  $curr_value = explode( ' ', trim( $curr_value ) );
479
 
480
  // Determined brakepoints
481
+ $chck_amount = count( $module_option['choices'] );
482
  $chck_breakpoint = ceil( $chck_amount / 1 );
483
  $chck_count = 0;
484
 
517
  <?php elseif ( $module_option['type'] == 'slider' ) : ?>
518
 
519
  <?php
520
+
521
  $slider_min = 0;
522
  $slider_max = 100;
523
  $slider_increment = 1;
554
  <?php endif; ?>
555
 
556
  <?php elseif ( $module_option['type'] == 'font' ) : ?>
557
+
558
  <div class="dslca-module-edit-field-font-wrapper">
559
  <input type="text" class="dslca-module-edit-field dslca-module-edit-field-font" name="<?php echo $module_option['id']; ?>" data-id="<?php echo $module_option['id']; ?>" value="<?php echo $curr_value; ?>" <?php echo $affect_on_change_append ?> />
560
  <span class="dslca-module-edit-field-font-suggest"></span>
561
  </div>
562
+ <span class="dslca-options-iconbutton dslca-module-edit-field-font-prev"><span class="dslca-icon dslc-icon-chevron-left"></span></span>
563
+ <span class="dslca-options-iconbutton dslca-module-edit-field-font-next"><span class="dslca-icon dslc-icon-chevron-right"></span></span>
564
 
565
  <?php elseif ( $module_option['type'] == 'icon' ) : ?>
566
+
567
  <div class="dslca-module-edit-field-icon-wrapper">
568
  <input type="text" class="dslca-module-edit-field dslca-module-edit-field-icon" name="<?php echo $module_option['id']; ?>" data-id="<?php echo $module_option['id']; ?>" value="<?php echo $curr_value; ?>" <?php echo $affect_on_change_append ?> />
569
  <span class="dslca-module-edit-field-icon-suggest"></span>
570
  </div>
571
+ <span class="dslca-options-iconbutton dslca-open-modal-hook" data-modal=".dslc-list-icons-fontawesome"><span class="dslca-icon dslc-icon-th"></span></span>
 
572
 
573
  <?php elseif ( $module_option['type'] == 'image' ) : ?>
574
 
612
  $box_shadow_val = explode( ' ', $curr_value );
613
  }
614
  if ( is_array( $box_shadow_val ) ) {
615
+ $box_shadow_hor_val = str_replace( 'px', '', $box_shadow_val[0] );
616
+ $box_shadow_ver_val = str_replace( 'px', '', $box_shadow_val[1] );
617
+ $box_shadow_blur_val = str_replace( 'px', '', $box_shadow_val[2] );
618
+ $box_shadow_spread_val = str_replace( 'px', '', $box_shadow_val[3] );
619
+ $box_shadow_color_val = str_replace( 'px', '', $box_shadow_val[4] );
620
  if ( isset( $box_shadow_val[5] ) ) {
621
  $box_shadow_inset_val = $box_shadow_val[5];
622
  }
625
 
626
  <div class="dslca-module-edit-option-box-shadow-wrapper">
627
 
628
+ <div class="dslca-module-edit-option-box-shadow-single">
629
  <span class="dslca-module-edit-option-checkbox-hook"><?php _e( 'Inner', 'live-composer-page-builder' ); ?><span class="dslca-icon <?php if ( $box_shadow_inset_val == 'inset' ) echo 'dslc-icon-check'; else echo 'dslc-icon-check-empty'; ?>"></span></span>
630
+ <input type="checkbox" class="dslca-module-edit-field-checkbox dslca-module-edit-option-box-shadow-inset" <?php if ( $box_shadow_inset_val == 'inset' ) echo 'checked="checked"'; ?> />
631
  </div>
632
  <div class="dslca-module-edit-option-box-shadow-single">
633
  <span><?php _e( 'Hor', 'live-composer-page-builder' ); ?></span><input class="dslca-module-edit-option-box-shadow-hor" step="0.1" type="number" value="<?php echo $box_shadow_hor_val; ?>" />
663
  }
664
 
665
  if ( is_array( $text_shadow_val ) ) {
666
+ $text_shadow_hor_val = str_replace( 'px', '', $text_shadow_val[0] );
667
+ $text_shadow_ver_val = str_replace( 'px', '', $text_shadow_val[1] );
668
+ $text_shadow_blur_val = str_replace( 'px', '', $text_shadow_val[2] );
669
+ $text_shadow_color_val = str_replace( 'px', '', $text_shadow_val[4] );
670
  }
671
  ?>
672
 
696
  <?php do_action( 'dslc_custom_option_type_' . $module_option['type'], $module_option, $curr_value, $affect_on_change_append ); ?>
697
 
698
  <?php else : ?>
699
+
700
  <input type="text" class="dslca-module-edit-field" name="<?php echo $module_option['id']; ?>" data-id="<?php echo $module_option['id']; ?>" value="<?php echo $curr_value; ?>" data-starting-val="<?php echo $curr_value; ?>" <?php echo $affect_on_change_append ?> />
701
 
702
  <?php endif; ?>
718
  // Output End
719
  $output_end = '</div>';
720
 
721
+ // Output Tabs
722
  $output_tabs = '';
723
  foreach ( $tabs as $tab ) {
724
+ $output_tabs .= '<span class="dslca-module-edit-options-tab-hook" data-section="' . $tab['section'] . '" data-id="' . $tab['id'] . '">' . $tab['title'] . '</span>';
725
  }
726
 
727
  // Combine output
731
  $response['output'] .= $output_end;
732
 
733
  // Encode response
734
+ $response_json = json_encode( $response );
735
 
736
  // Send the response
737
  header( "Content-Type: application/json" );
775
  $response['status'] = 'failed';
776
 
777
  // Add/update the post/page with the content for search
778
+ // wp_kses_post Sanitize content for allowed HTML tags for post content.
779
+ if ( update_post_meta( $post_id, 'dslc_content_for_search', wp_kses_post( $content_for_search ) ) )
780
  $response['status'] = 'success';
781
 
782
  // Delete draft code
872
  $template_code = $templates[$template_id]['code'];
873
 
874
  // Apply for new ID
875
+ $template_code = str_replace( '[dslc_module ', '[dslc_module give_new_id="true" ', $template_code );
876
+ $template_code = str_replace( '[dslc_module]', '[dslc_module give_new_id="true"]', $template_code );
877
 
878
  // Get the front-end output
879
+ $response['output'] = do_shortcode( $template_code );
880
 
881
  // Encode response
882
+ $response_json = json_encode( $response );
883
 
884
  // Send the response
885
  header( "Content-Type: application/json" );
912
  $template_code = stripslashes( $_POST['dslc_template_code'] );
913
 
914
  // Apply for new ID
915
+ $template_code = str_replace( '[dslc_module ', '[dslc_module give_new_id="true" ', $template_code );
916
+ $template_code = str_replace( '[dslc_module]', '[dslc_module give_new_id="true"]', $template_code );
917
 
918
  // Get the front-end output
919
+ $response['output'] = do_shortcode( $template_code );
920
 
921
  // Encode response
922
+ $response_json = json_encode( $response );
923
 
924
  // Send the response
925
  header( "Content-Type: application/json" );
952
 
953
  // Get new template data
954
  $template_title = stripslashes( $_POST['dslc_template_title'] );
955
+ $template_id = strtolower( str_replace( ' ', '-', $template_title ) );
956
  $template_code = stripslashes( $_POST['dslc_template_code'] );
957
 
958
  // Get current templates
963
  $templates = array();
964
  else
965
  $templates = maybe_unserialize( $templates );
966
+
967
  // Append new template to templates array
968
  $templates[$template_id] = array(
969
  'title' => $template_title,
979
  $response['output'] = $templates;
980
 
981
  // Encode response
982
+ $response_json = json_encode( $response );
983
 
984
  // AJAX phone home
985
  header( "Content-Type: application/json" );
1011
 
1012
  // Get all templates
1013
  $templates = maybe_unserialize( get_option( 'dslc_templates' ) );
1014
+
1015
  // Remove the template
1016
  unset( $templates[$template_id] );
1017
 
1022
  $response['output'] = $templates;
1023
 
1024
  // Encode response
1025
+ $response_json = json_encode( $response );
1026
 
1027
  // AJAX phone home
1028
  header( "Content-Type: application/json" );
1062
  $response['output'] = $module_instance_id;
1063
 
1064
  // Encode response
1065
+ $response_json = json_encode( $response );
1066
 
1067
  // AJAX phone home
1068
  header( "Content-Type: application/json" );
1072
  exit;
1073
 
1074
  }
1075
+
1076
  } add_action( 'wp_ajax_dslc-ajax-get-new-module-id', 'dslc_ajax_get_new_module_id' );
1077
 
1078
  /**
1093
  $modules_code = stripslashes( $_POST['dslc_modules_section_code'] );
1094
 
1095
  // Apply for new ID
1096
+ $modules_code = str_replace( '[dslc_module ', '[dslc_module give_new_id="true" ', $modules_code );
1097
+ $modules_code = str_replace( '[dslc_module]', '[dslc_module give_new_id="true"]', $modules_code );
1098
 
1099
  // Get the front-end output
1100
+ $response['output'] = do_shortcode( $modules_code );
1101
 
1102
  // Encode response
1103
+ $response_json = json_encode( $response );
1104
 
1105
  // Send the response
1106
  header( "Content-Type: application/json" );
1142
 
1143
  // Instanciate the module class
1144
  $module_instance = new $module_id();
1145
+
1146
  // Module output
1147
  $settings = $module_instance->options();
1148
 
1149
+ $code .= "if ( " . '$id' . " == '" . $module_id . "' ) {
1150
  ". '$new_defaults = array(' . "
1151
  ";
1152
 
1153
  // Fix settings when a new option added after a module is used
1154
+ foreach ( $settings as $key => $setting ) {
1155
 
1156
+ if ( isset( $settings_new[$setting['id']] ) ) {
1157
 
1158
+ if ( $settings_new[$setting['id']] != $settings[$key]['std'] ) {
1159
+ $code .= " '" . $setting['id'] . "' => '" . $settings_new[$setting['id']] . "',
1160
  ";
1161
  }
1162
 
1163
  }
1164
+
1165
  }
1166
 
1167
  $code .= ' );
1173
  $response['output'] = $code;
1174
 
1175
  // Encode response
1176
+ $response_json = json_encode( $response );
1177
 
1178
  // Send the response
1179
  header( "Content-Type: application/json" );
1213
  $response['status'] = 'error';
1214
 
1215
  // Encode response
1216
+ $response_json = json_encode( $response );
1217
 
1218
  // Send the response
1219
  header( "Content-Type: application/json" );
includes/archive-templates.php CHANGED
@@ -10,7 +10,7 @@
10
 
11
 
12
  /**
13
- * Load custom template
14
  *
15
  * @since 1.0
16
  */
@@ -35,7 +35,7 @@ add_filter( 'category_template', 'dslc_archive_template_redirect' );
35
  * @since 1.0
36
  */
37
 
38
- function dslc_author_archive_template_redirect( $archive_template ) {
39
 
40
  $template = dslc_get_option( 'author', 'dslc_plugin_options_archives' );
41
  if ( ! $template || $template == 'none' ) return $archive_template;
@@ -51,7 +51,7 @@ function dslc_author_archive_template_redirect( $archive_template ) {
51
  * @since 1.0
52
  */
53
 
54
- function dslc_search_template_redirect( $search_template ) {
55
 
56
  $template = dslc_get_option( 'search_results', 'dslc_plugin_options_archives' );
57
  if ( ! $template || $template == 'none' ) return $search_template;
@@ -97,7 +97,12 @@ function dslc_archive_template_init() {
97
  'label' => __( 'Default', 'live-composer-page-builder' ),
98
  'value' => 'none'
99
  );
100
- $pages = get_pages();
 
 
 
 
 
101
  foreach ( $pages as $page ) {
102
  $pages_opts[] = array(
103
  'label' => $page->post_title,
@@ -108,16 +113,17 @@ function dslc_archive_template_init() {
108
  foreach ( $dslc_post_types as $post_type ) {
109
 
110
  $opts[$post_type] = array(
 
111
  'label' => $post_type . ' archives',
112
  'descr' => __( 'Choose which page should serve as template.', 'live-composer-page-builder' ),
113
  'std' => 'none',
114
  'type' => 'select',
115
  'choices' => $pages_opts
116
  );
117
-
118
  }
119
 
120
  $opts['author'] = array(
 
121
  'label' => 'Author archives',
122
  'descr' => __( 'Choose which page should serve as template.', 'live-composer-page-builder' ),
123
  'std' => 'none',
@@ -126,6 +132,7 @@ function dslc_archive_template_init() {
126
  );
127
 
128
  $opts['search_results'] = array(
 
129
  'label' => 'Search Results',
130
  'descr' => __( 'Choose which page should serve as template.', 'live-composer-page-builder' ),
131
  'std' => 'none',
@@ -134,6 +141,7 @@ function dslc_archive_template_init() {
134
  );
135
 
136
  $opts['404_page'] = array(
 
137
  'label' => '404 Page',
138
  'descr' => __( 'Choose which page should serve as template.', 'live-composer-page-builder' ),
139
  'std' => 'none',
@@ -150,7 +158,7 @@ function dslc_archive_template_init() {
150
 
151
  /**
152
  * Fixes 404 on pagination caused when regular WP query has no more post
153
- *
154
  * @since 1.0
155
  */
156
 
10
 
11
 
12
  /**
13
+ * Load custom template
14
  *
15
  * @since 1.0
16
  */
35
  * @since 1.0
36
  */
37
 
38
+ function dslc_author_archive_template_redirect( $archive_template ) {
39
 
40
  $template = dslc_get_option( 'author', 'dslc_plugin_options_archives' );
41
  if ( ! $template || $template == 'none' ) return $archive_template;
51
  * @since 1.0
52
  */
53
 
54
+ function dslc_search_template_redirect( $search_template ) {
55
 
56
  $template = dslc_get_option( 'search_results', 'dslc_plugin_options_archives' );
57
  if ( ! $template || $template == 'none' ) return $search_template;
97
  'label' => __( 'Default', 'live-composer-page-builder' ),
98
  'value' => 'none'
99
  );
100
+
101
+ $pages = get_pages();
102
+ // Add 'dslc_archive_template_cpt' filter to give the theme developers
103
+ // an option to show their own custom posts types in the templates dropdown
104
+ $pages = apply_filters( 'dslc_archive_template_cpt', $pages );
105
+
106
  foreach ( $pages as $page ) {
107
  $pages_opts[] = array(
108
  'label' => $page->post_title,
113
  foreach ( $dslc_post_types as $post_type ) {
114
 
115
  $opts[$post_type] = array(
116
+ 'name' => 'dslc_plugin_options_archives[' . $post_type . ']',
117
  'label' => $post_type . ' archives',
118
  'descr' => __( 'Choose which page should serve as template.', 'live-composer-page-builder' ),
119
  'std' => 'none',
120
  'type' => 'select',
121
  'choices' => $pages_opts
122
  );
 
123
  }
124
 
125
  $opts['author'] = array(
126
+ 'name' => 'dslc_plugin_options_archives[author]',
127
  'label' => 'Author archives',
128
  'descr' => __( 'Choose which page should serve as template.', 'live-composer-page-builder' ),
129
  'std' => 'none',
132
  );
133
 
134
  $opts['search_results'] = array(
135
+ 'name' => 'dslc_plugin_options_archives[search_results]',
136
  'label' => 'Search Results',
137
  'descr' => __( 'Choose which page should serve as template.', 'live-composer-page-builder' ),
138
  'std' => 'none',
141
  );
142
 
143
  $opts['404_page'] = array(
144
+ 'name' => 'dslc_plugin_options_archives[404_page]',
145
  'label' => '404 Page',
146
  'descr' => __( 'Choose which page should serve as template.', 'live-composer-page-builder' ),
147
  'std' => 'none',
158
 
159
  /**
160
  * Fixes 404 on pagination caused when regular WP query has no more post
161
+ *
162
  * @since 1.0
163
  */
164
 
includes/class.module.php CHANGED
@@ -101,12 +101,12 @@ class DSLC_Module {
101
  'value' => 'ease-out'
102
  ),
103
  array(
104
- 'label' => 'Ease In Out',
105
  'value' => 'ease-in-out'
106
  ),
107
  )
108
  ),
109
-
110
  );
111
 
112
  $animation_options_posts = array(
@@ -171,7 +171,7 @@ class DSLC_Module {
171
  ),
172
 
173
  );
174
-
175
  if ( isset( $atts['hover_opts'] ) && ! $atts['hover_opts'] ) {
176
  $animation_options = $animation_options_general;
177
  } else {
@@ -612,7 +612,7 @@ class DSLC_Module {
612
  */
613
 
614
  $heading_options = array(
615
-
616
  array(
617
  'label' => 'Main Heading Title',
618
  'id' => 'main_heading_title',
@@ -704,7 +704,7 @@ class DSLC_Module {
704
  'ext' => 'px'
705
  ),
706
 
707
-
708
  array(
709
  'label' => 'Link - Color',
710
  'id' => 'css_main_heading_link_color',
@@ -835,7 +835,7 @@ class DSLC_Module {
835
  ),
836
  )
837
  ),
838
-
839
  array(
840
  'label' => 'Margin Bottom',
841
  'id' => 'css_heading_margin_bottom',
@@ -1581,14 +1581,14 @@ class DSLC_Module {
1581
  'ext' => 'px',
1582
  'tab' => 'Pagination'
1583
  ),
1584
-
1585
  );
1586
 
1587
  /**
1588
  * Responsive
1589
  */
1590
  $res_posts_options = array(
1591
-
1592
  /**
1593
  * Smaller Monitor
1594
  */
@@ -1728,7 +1728,7 @@ class DSLC_Module {
1728
  ),
1729
 
1730
  );
1731
-
1732
  return $$options_id;
1733
 
1734
  }
@@ -1737,14 +1737,14 @@ class DSLC_Module {
1737
  * Declare module options
1738
  */
1739
  function options() {
1740
- die('Function "options" must be over-ridden in a sub-class (the module class).');
1741
  }
1742
 
1743
  /**
1744
  * The front-end output of the module
1745
  */
1746
  function output( $options ) {
1747
- die('Function "output" must be over-ridden in a sub-class (the module class).');
1748
  }
1749
 
1750
  function module_start( $options ) {
@@ -1790,7 +1790,7 @@ class DSLC_Module {
1790
  if ( isset( $options['css_show_on'] ) ) {
1791
 
1792
  $show_on = explode( ' ', trim( $options['css_show_on'] ) );
1793
-
1794
  if ( ! in_array( 'desktop', $show_on ) )
1795
  $class_show_on .= 'dslc-hide-on-desktop ';
1796
 
@@ -1825,10 +1825,10 @@ class DSLC_Module {
1825
 
1826
  $title_attr = '';
1827
  if ( dslc_is_editor_active() ) {
1828
- $title_attr = 'title="' . strtoupper( esc_attr( $this->module_title ) ) .'"';
1829
  }
1830
 
1831
- /**
1832
  * Option Preset
1833
  */
1834
 
@@ -1841,7 +1841,7 @@ class DSLC_Module {
1841
  $module_class_arr[] = 'dslc-module-front';
1842
  $module_class_arr[] = 'dslc-module-' . $this->module_id;
1843
  $module_class_arr[] = 'dslc-in-viewport-check';
1844
- $module_class_arr[] = 'dslc-in-viewport-anim-'. $options['css_anim'];
1845
  $module_class_arr[] = $class_size_output;
1846
  $module_class_arr[] = $class_show_on;
1847
  $module_class_arr[] = $class_handle_like;
@@ -1869,31 +1869,31 @@ class DSLC_Module {
1869
 
1870
  if ( isset( $options['css_custom'] ) && $options['css_custom'] == 'disabled' ) {
1871
 
1872
-
1873
 
1874
  } else {
1875
 
1876
  dslc_generate_custom_css( $options_arr, $options, true );
1877
  $googlefonts_output = '';
1878
- foreach ( $dslc_googlefonts_array as $googlefont) {
1879
  if ( in_array( $googlefont, $dslc_all_googlefonts_array ) ) {
1880
  $googlefont = str_replace( ' ', '+', $googlefont );
1881
  if ( $googlefont != '' ) {
1882
  $googlefonts_output .= '@import url("//fonts.googleapis.com/css?family=' . $googlefont . ':100,200,300,400,500,600,700,800,900&subset=latin,latin-ext"); ';
1883
  }
1884
  }
1885
- }
1886
  echo $googlefonts_output;
1887
  echo $dslc_css_style;
1888
 
1889
  }
1890
 
1891
  ?></style>
1892
-
1893
  <div class="dslca-module-manage">
1894
  <span class="dslca-module-manage-line"></span>
1895
  <div class="dslca-module-manage-inner">
1896
- <span class="dslca-module-manage-hook dslca-module-edit-hook"><span class="dslc-icon-cog"></span></span>
1897
  <span class="dslca-module-manage-hook dslca-copy-module-hook"><span class="dslc-icon-copy"></span></span>
1898
  <span class="dslca-module-manage-hook dslca-move-module-hook"><span class="dslc-icon-move"></span></span>
1899
  <span class="dslca-module-manage-hook dslca-change-width-module-hook">
@@ -1911,7 +1911,7 @@ class DSLC_Module {
1911
  </div>
1912
  <?php if ( DS_LIVE_COMPOSER_DEV_MODE ) : ?>
1913
  <div class="dslca-module-manage-inner dslca-dev-mode">
1914
- <span class="dslca-module-manage-hook dslca-module-get-defaults-hook"><span class="dslc-icon-upload-alt"></span></span>
1915
  </div>
1916
  <?php endif; ?>
1917
  </div>
@@ -1947,24 +1947,24 @@ class DSLC_Module {
1947
  <?php foreach ( $options as $key => $option ) : ?>
1948
 
1949
  <?php
1950
-
1951
  // Option ID
1952
- $option_id = $option['id'];
1953
  $options_ids[] = $option['id'];
1954
 
1955
  // If value already set use it, if not use default
1956
- if ( isset( $user_options[ $option_id ] ) )
1957
- $option_value = $user_options[ $option_id ];
1958
  else
1959
  $option_value = $option['std'];
1960
 
1961
- if ( isset( $user_options[ $option_id ] ) && $user_options[ $option_id ] == $option['std'] ) {
1962
- unset( $user_options_no_defaults[ $option_id ] );
1963
  }
1964
 
1965
  ?>
1966
-
1967
- <textarea class="dslca-module-option-front" data-id="<?php echo $option_id; ?>"><?php echo stripslashes ( $option_value ); ?></textarea>
1968
 
1969
  <?php endforeach; ?>
1970
 
@@ -1980,7 +1980,7 @@ class DSLC_Module {
1980
 
1981
  </div><!-- dslca-module-options-front -->
1982
 
1983
- <textarea class="dslca-module-code"><?php echo base64_encode( serialize($user_options_no_defaults ) ); ?></textarea>
1984
 
1985
  <span class="dslc-sortable-helper-icon dslc-icon-<?php echo $this->module_icon; ?>" data-title="<?php echo $this->module_title; ?>" data-icon="<?php echo $this->module_icon; ?>"></span>
1986
 
@@ -2011,7 +2011,7 @@ class DSLC_Module {
2011
  $presets = array();
2012
  } else {
2013
  $presets = maybe_unserialize( $presets );
2014
- foreach( $presets as $preset ) {
2015
  if ( $preset['module'] == $this->module_id ) {
2016
  $choices[] = array(
2017
  'label' => $preset['title'],
101
  'value' => 'ease-out'
102
  ),
103
  array(
104
+ 'label' => 'Ease In Out',
105
  'value' => 'ease-in-out'
106
  ),
107
  )
108
  ),
109
+
110
  );
111
 
112
  $animation_options_posts = array(
171
  ),
172
 
173
  );
174
+
175
  if ( isset( $atts['hover_opts'] ) && ! $atts['hover_opts'] ) {
176
  $animation_options = $animation_options_general;
177
  } else {
612
  */
613
 
614
  $heading_options = array(
615
+
616
  array(
617
  'label' => 'Main Heading Title',
618
  'id' => 'main_heading_title',
704
  'ext' => 'px'
705
  ),
706
 
707
+
708
  array(
709
  'label' => 'Link - Color',
710
  'id' => 'css_main_heading_link_color',
835
  ),
836
  )
837
  ),
838
+
839
  array(
840
  'label' => 'Margin Bottom',
841
  'id' => 'css_heading_margin_bottom',
1581
  'ext' => 'px',
1582
  'tab' => 'Pagination'
1583
  ),
1584
+
1585
  );
1586
 
1587
  /**
1588
  * Responsive
1589
  */
1590
  $res_posts_options = array(
1591
+
1592
  /**
1593
  * Smaller Monitor
1594
  */
1728
  ),
1729
 
1730
  );
1731
+
1732
  return $$options_id;
1733
 
1734
  }
1737
  * Declare module options
1738
  */
1739
  function options() {
1740
+ die( 'Function "options" must be over-ridden in a sub-class (the module class).' );
1741
  }
1742
 
1743
  /**
1744
  * The front-end output of the module
1745
  */
1746
  function output( $options ) {
1747
+ die( 'Function "output" must be over-ridden in a sub-class (the module class).' );
1748
  }
1749
 
1750
  function module_start( $options ) {
1790
  if ( isset( $options['css_show_on'] ) ) {
1791
 
1792
  $show_on = explode( ' ', trim( $options['css_show_on'] ) );
1793
+
1794
  if ( ! in_array( 'desktop', $show_on ) )
1795
  $class_show_on .= 'dslc-hide-on-desktop ';
1796
 
1825
 
1826
  $title_attr = '';
1827
  if ( dslc_is_editor_active() ) {
1828
+ $title_attr = 'title="' . strtoupper( esc_attr( $this->module_title ) ) . '"';
1829
  }
1830
 
1831
+ /**
1832
  * Option Preset
1833
  */
1834
 
1841
  $module_class_arr[] = 'dslc-module-front';
1842
  $module_class_arr[] = 'dslc-module-' . $this->module_id;
1843
  $module_class_arr[] = 'dslc-in-viewport-check';
1844
+ $module_class_arr[] = 'dslc-in-viewport-anim-' . $options['css_anim'];
1845
  $module_class_arr[] = $class_size_output;
1846
  $module_class_arr[] = $class_show_on;
1847
  $module_class_arr[] = $class_handle_like;
1869
 
1870
  if ( isset( $options['css_custom'] ) && $options['css_custom'] == 'disabled' ) {
1871
 
1872
+
1873
 
1874
  } else {
1875
 
1876
  dslc_generate_custom_css( $options_arr, $options, true );
1877
  $googlefonts_output = '';
1878
+ foreach ( $dslc_googlefonts_array as $googlefont ) {
1879
  if ( in_array( $googlefont, $dslc_all_googlefonts_array ) ) {
1880
  $googlefont = str_replace( ' ', '+', $googlefont );
1881
  if ( $googlefont != '' ) {
1882
  $googlefonts_output .= '@import url("//fonts.googleapis.com/css?family=' . $googlefont . ':100,200,300,400,500,600,700,800,900&subset=latin,latin-ext"); ';
1883
  }
1884
  }
1885
+ }
1886
  echo $googlefonts_output;
1887
  echo $dslc_css_style;
1888
 
1889
  }
1890
 
1891
  ?></style>
1892
+
1893
  <div class="dslca-module-manage">
1894
  <span class="dslca-module-manage-line"></span>
1895
  <div class="dslca-module-manage-inner">
1896
+ <span class="dslca-module-manage-hook dslca-module-edit-hook"><span class="dslc-icon-cog"></span></span>
1897
  <span class="dslca-module-manage-hook dslca-copy-module-hook"><span class="dslc-icon-copy"></span></span>
1898
  <span class="dslca-module-manage-hook dslca-move-module-hook"><span class="dslc-icon-move"></span></span>
1899
  <span class="dslca-module-manage-hook dslca-change-width-module-hook">
1911
  </div>
1912
  <?php if ( DS_LIVE_COMPOSER_DEV_MODE ) : ?>
1913
  <div class="dslca-module-manage-inner dslca-dev-mode">
1914
+ <span class="dslca-module-manage-hook dslca-module-get-defaults-hook"><span class="dslc-icon-upload-alt"></span></span>
1915
  </div>
1916
  <?php endif; ?>
1917
  </div>
1947
  <?php foreach ( $options as $key => $option ) : ?>
1948
 
1949
  <?php
1950
+
1951
  // Option ID
1952
+ $option_id = $option['id'];
1953
  $options_ids[] = $option['id'];
1954
 
1955
  // If value already set use it, if not use default
1956
+ if ( isset( $user_options[$option_id] ) )
1957
+ $option_value = $user_options[$option_id];
1958
  else
1959
  $option_value = $option['std'];
1960
 
1961
+ if ( isset( $user_options[$option_id] ) && $user_options[$option_id] == $option['std'] ) {
1962
+ unset( $user_options_no_defaults[$option_id] );
1963
  }
1964
 
1965
  ?>
1966
+
1967
+ <textarea class="dslca-module-option-front" data-id="<?php echo $option_id; ?>"><?php echo stripslashes( $option_value ); ?></textarea>
1968
 
1969
  <?php endforeach; ?>
1970
 
1980
 
1981
  </div><!-- dslca-module-options-front -->
1982
 
1983
+ <textarea class="dslca-module-code"><?php echo base64_encode( serialize( $user_options_no_defaults ) ); ?></textarea>
1984
 
1985
  <span class="dslc-sortable-helper-icon dslc-icon-<?php echo $this->module_icon; ?>" data-title="<?php echo $this->module_title; ?>" data-icon="<?php echo $this->module_icon; ?>"></span>
1986
 
2011
  $presets = array();
2012
  } else {
2013
  $presets = maybe_unserialize( $presets );
2014
+ foreach ( $presets as $preset ) {
2015
  if ( $preset['module'] == $this->module_id ) {
2016
  $choices[] = array(
2017
  'label' => $preset['title'],
includes/display-functions.php CHANGED
@@ -15,7 +15,7 @@
15
 
16
 
17
  /**
18
- * Display the composer
19
  *
20
  * @since 1.0
21
  */
@@ -329,7 +329,7 @@ function dslc_display_composer() {
329
  // If a page or a template go ahead normally
330
  if ( is_page() || get_post_type() == 'dslc_templates' || ! isset( $dslc_var_templates_pt[get_post_type()] ) ) {
331
 
332
- ?><a href="<?php echo add_query_arg( array( 'dslc' => 'active' ), get_permalink() ); ?>" class="dslca-activate-composer-hook dslca-position-<?php echo $activate_button_position; ?>"><?php _e( 'ACTIVATE EDITOR', 'live-composer-page-builder' ); ?></a><?php
333
 
334
  // If not a page or a template post type
335
  } else {
@@ -339,7 +339,7 @@ function dslc_display_composer() {
339
 
340
  if ( $template ) {
341
 
342
- ?><a target="_blank" href="<?php echo add_query_arg( array( 'dslc' => 'active' ), get_permalink( $template ) ); ?>" class="dslca-activate-composer-hook"><?php _e( 'EDIT TEMPLATE', 'live-composer-page-builder' ); ?></a><?php
343
 
344
  } else {
345
 
@@ -359,7 +359,7 @@ function dslc_display_composer() {
359
  if ( $template_ID != 'none' ) {
360
 
361
  // Output the button
362
- ?><a href="<?php echo add_query_arg( array( 'dslc' => 'active' ), get_permalink( $template_ID ) ); ?>" class="dslca-activate-composer-hook dslca-position-<?php echo $activate_button_position; ?>"><?php _e( 'ACTIVATE EDITOR', 'live-composer-page-builder' ); ?></a><?php
363
 
364
  }
365
 
@@ -373,7 +373,7 @@ function dslc_display_composer() {
373
  if ( $template_ID != 'none' ) {
374
 
375
  // Output the button
376
- ?><a href="<?php echo add_query_arg( array( 'dslc' => 'active' ), get_permalink( $template_ID ) ); ?>" class="dslca-activate-composer-hook dslca-position-<?php echo $activate_button_position; ?>"><?php _e( 'ACTIVATE EDITOR', 'live-composer-page-builder' ); ?></a><?php
377
 
378
  }
379
 
@@ -387,7 +387,7 @@ function dslc_display_composer() {
387
  if ( $template_ID != 'none' ) {
388
 
389
  // Output the button
390
- ?><a href="<?php echo add_query_arg( array( 'dslc' => 'active' ), get_permalink( $template_ID ) ); ?>" class="dslca-activate-composer-hook dslca-position-<?php echo $activate_button_position; ?>"><?php _e( 'ACTIVATE EDITOR', 'live-composer-page-builder' ); ?></a><?php
391
 
392
  }
393
 
@@ -401,7 +401,7 @@ function dslc_display_composer() {
401
  if ( $template_ID != 'none' ) {
402
 
403
  // Output the button
404
- ?><a href="<?php echo add_query_arg( array( 'dslc' => 'active' ), get_permalink( $template_ID ) ); ?>" class="dslca-activate-composer-hook dslca-position-<?php echo $activate_button_position; ?>"><?php _e( 'ACTIVATE EDITOR', 'live-composer-page-builder' ); ?></a><?php
405
 
406
  }
407
 
@@ -758,7 +758,7 @@ function dslc_filter_content( $content ) {
758
  <?php
759
 
760
  if ( $editor_type == 'visual' )
761
- wp_editor( '', 'dslcawpeditor', array( 'quicktags' => false ) );
762
  else
763
  wp_editor( '', 'dslcawpeditor' );
764
  ?>
@@ -832,7 +832,7 @@ function dslc_filter_content( $content ) {
832
  }
833
 
834
  // Pass the filtered content output
835
- return $composer_wrapper_before . do_action( 'dslc_output_prepend') . $composer_header . '<div id="dslc-main">' . $composer_prepend . $composer_content . '</div>' . $composer_append . $composer_footer . do_action( 'dslc_output_append') . $composer_wrapper_after;
836
 
837
  // If LC should not filter the content
838
  } else {
@@ -889,10 +889,10 @@ function dslc_module_front( $atts, $settings_raw = null ) {
889
  global $dslc_var_image_option_bckp;
890
  $dslc_var_image_option_bckp = array();
891
  $all_opts = $module_instance->options();
892
- foreach( $all_opts as $all_opt ) {
893
 
894
  // Fix settings when a new option added after a module is used
895
- if ( ! isset( $settings[ $all_opt['id'] ] ) ) {
896
 
897
  if ( isset( $all_opt['std'] ) && $all_opt['std'] !== '' ) {
898
  $settings[$all_opt['id']] = $all_opt['std'];
@@ -908,7 +908,7 @@ function dslc_module_front( $atts, $settings_raw = null ) {
908
  $settings = apply_filters( 'dslc_filter_settings', $settings );
909
 
910
  // Transform image ID to URL
911
- foreach( $all_opts as $all_opt ) {
912
  if ( $all_opt['type'] == 'image' ) {
913
  if ( isset( $settings[$all_opt['id']] ) && ! empty( $settings[$all_opt['id']] ) && is_numeric( $settings[$all_opt['id']] ) ) {
914
  $dslc_var_image_option_bckp[$all_opt['id']] = $settings[$all_opt['id']];
@@ -987,7 +987,7 @@ function dslc_modules_section_front( $atts, $content = null ) {
987
  */
988
 
989
  // Overlay
990
- $bg_video = '<div class="dslc-bg-video dslc-force-show"><div class="dslc-bg-video-inner"></div><div class="dslc-bg-video-overlay" style="'. $overlay_style .'"></div></div>';
991
 
992
  // BG Video
993
  if ( isset( $atts['bg_video'] ) && $atts['bg_video'] !== '' && $atts['bg_video'] !== 'disabled' ) {
@@ -1009,7 +1009,7 @@ function dslc_modules_section_front( $atts, $content = null ) {
1009
  <source type="video/webm" src="' . $atts['bg_video'] . '.webm" />
1010
  </video>
1011
  </div>
1012
- <div class="dslc-bg-video-overlay" style="'. $overlay_style .'"></div>
1013
  </div>';
1014
 
1015
  }
@@ -1039,7 +1039,7 @@ function dslc_modules_section_front( $atts, $content = null ) {
1039
 
1040
  // Custom Class
1041
  if ( $atts['custom_class'] != '' )
1042
- $section_class .= $atts['custom_class'] . ' ';
1043
 
1044
  // Show on Class
1045
  if ( $atts['show_on'] != '' ) {
@@ -1073,7 +1073,7 @@ function dslc_modules_section_front( $atts, $content = null ) {
1073
  // Custom ID
1074
  $section_id = false;
1075
  if ( $atts['custom_id'] != '' )
1076
- $section_id = $atts['custom_id'];
1077
 
1078
  // Custom ID - Output
1079
  $section_id_output = '';
@@ -1081,13 +1081,13 @@ function dslc_modules_section_front( $atts, $content = null ) {
1081
  $section_id_output = 'id="' . $section_id . '"';
1082
 
1083
  $output = '
1084
- <div ' . $section_id_output . ' class="dslc-modules-section ' . $a_container_class . $parallax_class . $section_class . $extra_classes .'" style="' . dslc_row_get_style( $atts ) . '">
1085
 
1086
- '.$bg_video.'
1087
 
1088
  <div class="dslc-modules-section-wrapper dslc-clearfix">'
1089
 
1090
- . $a_prepend. do_shortcode( $content ) . $a_append
1091
 
1092
  . '</div>';
1093
 
@@ -1104,7 +1104,7 @@ function dslc_modules_section_front( $atts, $content = null ) {
1104
  <span class="dslca-manage-action dslca-delete-modules-section-hook"><span class="dslca-icon dslc-icon-remove"></span></span>
1105
  </div>
1106
  </div>
1107
- <div class="dslca-modules-section-settings">' . dslc_row_get_options_fields( $atts ) . '</div>' ;
1108
 
1109
  // Loading
1110
  $output .= '<div class="dslca-module-loading dslca-modules-area-loading"><div class="dslca-module-loading-inner"></div></div>';
@@ -1137,7 +1137,7 @@ function dslc_modules_area_front( $atts, $content = null ) {
1137
  if ( isset( $atts['first'] ) && $atts['first'] == 'yes' )
1138
  $pos_class = 'dslc-first-col';
1139
 
1140
- $output = '<div class="dslc-modules-area dslc-col dslc-' . $atts['size'] . '-col '. $pos_class .'" data-size="' . $atts['size'] . '">';
1141
 
1142
  if ( $dslc_active && is_user_logged_in() && current_user_can( DS_LIVE_COMPOSER_CAPABILITY ) ) {
1143
 
@@ -1198,7 +1198,7 @@ function dslc_load_template( $filename, $default = '' ) {
1198
  if ( $filename ) {
1199
 
1200
  // Look for template in the theme
1201
- $template = locate_template( array ( $filename ) );
1202
 
1203
  // If not found in theme load default
1204
  if ( ! $template )
@@ -1218,7 +1218,11 @@ function dslc_load_template( $filename, $default = '' ) {
1218
 
1219
  function dslc_custom_css() {
1220
 
1221
- if ( ! is_singular() && ! is_archive() && ! is_author() && ! is_search() && ! is_404() && ! is_home() )
 
 
 
 
1222
  return;
1223
 
1224
  global $dslc_active;
@@ -1319,7 +1323,7 @@ function dslc_custom_css() {
1319
 
1320
  $gfonts_output_subsets = '';
1321
  $gfonts_subsets_arr = dslc_get_option( 'lc_gfont_subsets', 'dslc_plugin_options_performance' );
1322
- if ( ! $gfonts_subsets_arr ) $gfonts_subsets_arr = array( 'latin', 'latin-ext', 'cyrillic', 'cyrillic-ext' );
1323
  foreach ( $gfonts_subsets_arr as $gfonts_subset ) {
1324
  if ( $gfonts_output_subsets == '' ) {
1325
  $gfonts_output_subsets .= $gfonts_subset;
@@ -1333,7 +1337,14 @@ function dslc_custom_css() {
1333
  $gfonts_output_prepend = '@import url("//fonts.googleapis.com/css?family=';
1334
  $gfonts_output_append = '&subset=' . $gfonts_output_subsets . '"); ';
1335
  $gfonts_ouput_inner = '';
1336
- foreach ( $dslc_googlefonts_array as $gfont) {
 
 
 
 
 
 
 
1337
  if ( in_array( $gfont, $dslc_all_googlefonts_array ) ) {
1338
  $gfont = str_replace( ' ', '+', $gfont );
1339
  if ( $gfont != '' ) {
@@ -1345,8 +1356,12 @@ function dslc_custom_css() {
1345
  }
1346
  }
1347
  }
1348
- $gfonts_output = $gfonts_output_prepend . $gfonts_ouput_inner . $gfonts_output_append;
1349
- if ( $gfonts_ouput_inner != '' ) echo $gfonts_output;
 
 
 
 
1350
 
1351
  }
1352
 
@@ -1359,7 +1374,7 @@ function dslc_custom_css() {
1359
  echo dslc_row_get_initial_style();
1360
 
1361
  // Echo CSS style
1362
- if ( ! $dslc_active && $composer_code )
1363
  echo $dslc_css_style;
1364
 
1365
  echo '</style>';
@@ -1450,7 +1465,12 @@ function dslc_module_gen_css( $atts, $settings_raw ) {
1450
  }
1451
 
1452
  // Generate custom CSS
1453
- if ( ( $module_id == 'DSLC_TP_Content' || $module_id == 'DSLC_Html' ) && ! isset( $settings['css_custom'] ) )
 
 
 
 
 
1454
  $css_output = '';
1455
  elseif ( isset( $settings['css_custom'] ) && $settings['css_custom'] == 'disabled' )
1456
  $css_output = '';
@@ -1467,26 +1487,26 @@ function dslc_module_gen_css( $atts, $settings_raw ) {
1467
 
1468
  function dslc_post_pagination( $atts ) {
1469
 
1470
- if( is_front_page() ) { $paged = ( get_query_var( 'page' ) ) ? get_query_var( 'page' ) : 1; } else { $paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1; }
1471
 
1472
  if ( ! isset( $atts['force_number'] ) ) $force_number = false; else $force_number = $atts['force_number'];
1473
  if ( ! isset( $atts['pages'] ) ) $pages = false; else $pages = $atts['pages'];
1474
  if ( ! isset( $atts['type'] ) ) $type = 'numbered'; else $type = $atts['type'];
1475
  $range = 2;
1476
 
1477
- $showitems = ($range * 2)+1;
1478
 
1479
  if ( empty ( $paged ) ) { $paged = 1; }
1480
 
1481
  if ( $pages == '' ) {
1482
  global $wp_query;
1483
  $pages = $wp_query->max_num_pages;
1484
- if( ! $pages ) {
1485
  $pages = 1;
1486
  }
1487
  }
1488
 
1489
- if( 1 != $pages ) {
1490
 
1491
  ?>
1492
  <div class="dslc-pagination dslc-pagination-type-<?php echo $type; ?>">
@@ -1495,28 +1515,28 @@ function dslc_post_pagination( $atts ) {
1495
 
1496
  if ( $type == 'numbered' ) {
1497
 
1498
- if($paged > 2 && $paged > $range+1 && $showitems < $pages) { echo "<li class='dslc-inactive'><a href='".get_pagenum_link(1)."'>&laquo;</a></li>"; }
1499
- if($paged > 1 && $showitems < $pages) { echo "<li class='dslc-inactive'><a href='".get_pagenum_link($paged - 1)."' >&lsaquo;</a></li>"; }
1500
 
1501
- for ($i=1; $i <= $pages; $i++){
1502
- if (1 != $pages &&(!($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems)){
1503
- echo ($paged == $i)? "<li class='dslc-active'><a href='".get_pagenum_link($i)."'>".$i."</a></li>":"<li class='dslc-inactive'><a class='inactive' href='".get_pagenum_link($i)."'>".$i."</a></li>";
1504
  }
1505
  }
1506
 
1507
- if ($paged < $pages && $showitems < $pages) { echo "<li class='dslc-inactive'><a href='".get_pagenum_link($paged + 1)."'>&rsaquo;</a></li>"; }
1508
- if ($paged < $pages-1 && $paged+$range-1 < $pages && $showitems < $pages) { echo "<li class='dslc-inactive'><a href='".get_pagenum_link($pages)."'>&raquo;</a></li>"; }
1509
 
1510
  } elseif ( $type == 'prevnext' ) {
1511
 
1512
- if($paged > 1 ) { echo "<li class='dslc-inactive dslc-fl'><a href='".get_pagenum_link($paged - 1)."' >" . __( 'Newer', 'live-composer-page-builder' ) . "</a></li>"; }
1513
- if ($paged < $pages ) { echo "<li class='dslc-inactive dslc-fr'><a href='".get_pagenum_link($paged + 1)."'>" . __( 'Older', 'live-composer-page-builder' ) . "</a></li>"; }
1514
 
1515
  }
1516
 
1517
  if ( $type == 'loadmore' ) {
1518
- if ($paged < $pages ) {
1519
- echo "<li class='dslc-pagination-load-more dslc-active'><a href='".get_pagenum_link($paged + 1)."'><span class='dslc-icon dslc-icon-refresh'></span>" . __( 'LOAD MORE ITEMS', 'live-composer-page-builder' ) . "</a></li>";
1520
  } else {
1521
  echo "<li class='dslc-pagination-load-more dslc-inactive'><a href='#'><span class='dslc-icon dslc-icon-refresh'></span>" . __( 'LOAD MORE ITEMS', 'live-composer-page-builder' ) . "</a></li>";
1522
  }
15
 
16
 
17
  /**
18
+ * Display the composer panels in active editing mode
19
  *
20
  * @since 1.0
21
  */
329
  // If a page or a template go ahead normally
330
  if ( is_page() || get_post_type() == 'dslc_templates' || ! isset( $dslc_var_templates_pt[get_post_type()] ) ) {
331
 
332
+ ?><a href="<?php echo add_query_arg( array('dslc' => 'active'), get_permalink() ); ?>" class="dslca-activate-composer-hook dslca-position-<?php echo $activate_button_position; ?>"><?php _e( 'ACTIVATE EDITOR', 'live-composer-page-builder' ); ?></a><?php
333
 
334
  // If not a page or a template post type
335
  } else {
339
 
340
  if ( $template ) {
341
 
342
+ ?><a target="_blank" href="<?php echo add_query_arg( array('dslc' => 'active'), get_permalink( $template ) ); ?>" class="dslca-activate-composer-hook"><?php _e( 'EDIT TEMPLATE', 'live-composer-page-builder' ); ?></a><?php
343
 
344
  } else {
345
 
359
  if ( $template_ID != 'none' ) {
360
 
361
  // Output the button
362
+ ?><a href="<?php echo add_query_arg( array('dslc' => 'active'), get_permalink( $template_ID ) ); ?>" class="dslca-activate-composer-hook dslca-position-<?php echo $activate_button_position; ?>"><?php _e( 'ACTIVATE EDITOR', 'live-composer-page-builder' ); ?></a><?php
363
 
364
  }
365
 
373
  if ( $template_ID != 'none' ) {
374
 
375
  // Output the button
376
+ ?><a href="<?php echo add_query_arg( array('dslc' => 'active'), get_permalink( $template_ID ) ); ?>" class="dslca-activate-composer-hook dslca-position-<?php echo $activate_button_position; ?>"><?php _e( 'ACTIVATE EDITOR', 'live-composer-page-builder' ); ?></a><?php
377
 
378
  }
379
 
387
  if ( $template_ID != 'none' ) {
388
 
389
  // Output the button
390
+ ?><a href="<?php echo add_query_arg( array('dslc' => 'active'), get_permalink( $template_ID ) ); ?>" class="dslca-activate-composer-hook dslca-position-<?php echo $activate_button_position; ?>"><?php _e( 'ACTIVATE EDITOR', 'live-composer-page-builder' ); ?></a><?php
391
 
392
  }
393
 
401
  if ( $template_ID != 'none' ) {
402
 
403
  // Output the button
404
+ ?><a href="<?php echo add_query_arg( array('dslc' => 'active'), get_permalink( $template_ID ) ); ?>" class="dslca-activate-composer-hook dslca-position-<?php echo $activate_button_position; ?>"><?php _e( 'ACTIVATE EDITOR', 'live-composer-page-builder' ); ?></a><?php
405
 
406
  }
407
 
758
  <?php
759
 
760
  if ( $editor_type == 'visual' )
761
+ wp_editor( '', 'dslcawpeditor', array('quicktags' => false) );
762
  else
763
  wp_editor( '', 'dslcawpeditor' );
764
  ?>
832
  }
833
 
834
  // Pass the filtered content output
835
+ return $composer_wrapper_before . do_action( 'dslc_output_prepend' ) . $composer_header . '<div id="dslc-main">' . $composer_prepend . $composer_content . '</div>' . $composer_append . $composer_footer . do_action( 'dslc_output_append' ) . $composer_wrapper_after;
836
 
837
  // If LC should not filter the content
838
  } else {
889
  global $dslc_var_image_option_bckp;
890
  $dslc_var_image_option_bckp = array();
891
  $all_opts = $module_instance->options();
892
+ foreach ( $all_opts as $all_opt ) {
893
 
894
  // Fix settings when a new option added after a module is used
895
+ if ( ! isset( $settings[$all_opt['id']] ) ) {
896
 
897
  if ( isset( $all_opt['std'] ) && $all_opt['std'] !== '' ) {
898
  $settings[$all_opt['id']] = $all_opt['std'];
908
  $settings = apply_filters( 'dslc_filter_settings', $settings );
909
 
910
  // Transform image ID to URL
911
+ foreach ( $all_opts as $all_opt ) {
912
  if ( $all_opt['type'] == 'image' ) {
913
  if ( isset( $settings[$all_opt['id']] ) && ! empty( $settings[$all_opt['id']] ) && is_numeric( $settings[$all_opt['id']] ) ) {
914
  $dslc_var_image_option_bckp[$all_opt['id']] = $settings[$all_opt['id']];
987
  */
988
 
989
  // Overlay
990
+ $bg_video = '<div class="dslc-bg-video dslc-force-show"><div class="dslc-bg-video-inner"></div><div class="dslc-bg-video-overlay" style="' . $overlay_style . '"></div></div>';
991
 
992
  // BG Video
993
  if ( isset( $atts['bg_video'] ) && $atts['bg_video'] !== '' && $atts['bg_video'] !== 'disabled' ) {
1009
  <source type="video/webm" src="' . $atts['bg_video'] . '.webm" />
1010
  </video>
1011
  </div>
1012
+ <div class="dslc-bg-video-overlay" style="'. $overlay_style . '"></div>
1013
  </div>';
1014
 
1015
  }
1039
 
1040
  // Custom Class
1041
  if ( $atts['custom_class'] != '' )
1042
+ $section_class .= $atts['custom_class'] . ' ';
1043
 
1044
  // Show on Class
1045
  if ( $atts['show_on'] != '' ) {
1073
  // Custom ID
1074
  $section_id = false;
1075
  if ( $atts['custom_id'] != '' )
1076
+ $section_id = $atts['custom_id'];
1077
 
1078
  // Custom ID - Output
1079
  $section_id_output = '';
1081
  $section_id_output = 'id="' . $section_id . '"';
1082
 
1083
  $output = '
1084
+ <div ' . $section_id_output . ' class="dslc-modules-section ' . $a_container_class . $parallax_class . $section_class . $extra_classes . '" style="' . dslc_row_get_style( $atts ) . '">
1085
 
1086
+ '.$bg_video . '
1087
 
1088
  <div class="dslc-modules-section-wrapper dslc-clearfix">'
1089
 
1090
+ . $a_prepend . do_shortcode( $content ) . $a_append
1091
 
1092
  . '</div>';
1093
 
1104
  <span class="dslca-manage-action dslca-delete-modules-section-hook"><span class="dslca-icon dslc-icon-remove"></span></span>
1105
  </div>
1106
  </div>
1107
+ <div class="dslca-modules-section-settings">' . dslc_row_get_options_fields( $atts ) . '</div>';
1108
 
1109
  // Loading
1110
  $output .= '<div class="dslca-module-loading dslca-modules-area-loading"><div class="dslca-module-loading-inner"></div></div>';
1137
  if ( isset( $atts['first'] ) && $atts['first'] == 'yes' )
1138
  $pos_class = 'dslc-first-col';
1139
 
1140
+ $output = '<div class="dslc-modules-area dslc-col dslc-' . $atts['size'] . '-col ' . $pos_class . '" data-size="' . $atts['size'] . '">';
1141
 
1142
  if ( $dslc_active && is_user_logged_in() && current_user_can( DS_LIVE_COMPOSER_CAPABILITY ) ) {
1143
 
1198
  if ( $filename ) {
1199
 
1200
  // Look for template in the theme
1201
+ $template = locate_template( array($filename) );
1202
 
1203
  // If not found in theme load default
1204
  if ( ! $template )
1218
 
1219
  function dslc_custom_css() {
1220
 
1221
+ // Allow theme developers to output CSS for non-standard custom post types
1222
+ $dslc_custom_css_ignore_check = false;
1223
+ $dslc_custom_css_ignore_check = apply_filters( 'dslc_generate_custom_css', $dslc_custom_css_ignore_check );
1224
+
1225
+ if ( ! is_singular() && ! is_archive() && ! is_author() && ! is_search() && ! is_404() && ! is_home() && ! $dslc_custom_css_ignore_check )
1226
  return;
1227
 
1228
  global $dslc_active;
1323
 
1324
  $gfonts_output_subsets = '';
1325
  $gfonts_subsets_arr = dslc_get_option( 'lc_gfont_subsets', 'dslc_plugin_options_performance' );
1326
+ if ( ! $gfonts_subsets_arr ) $gfonts_subsets_arr = array('latin', 'latin-ext', 'cyrillic', 'cyrillic-ext');
1327
  foreach ( $gfonts_subsets_arr as $gfonts_subset ) {
1328
  if ( $gfonts_output_subsets == '' ) {
1329
  $gfonts_output_subsets .= $gfonts_subset;
1337
  $gfonts_output_prepend = '@import url("//fonts.googleapis.com/css?family=';
1338
  $gfonts_output_append = '&subset=' . $gfonts_output_subsets . '"); ';
1339
  $gfonts_ouput_inner = '';
1340
+
1341
+ $gfonts_do_output = true;
1342
+
1343
+ if ( count( $dslc_googlefonts_array ) == 1 && $dslc_googlefonts_array[0] == '' ) {
1344
+ $gfonts_do_output = false;
1345
+ }
1346
+
1347
+ foreach ( $dslc_googlefonts_array as $gfont ) {
1348
  if ( in_array( $gfont, $dslc_all_googlefonts_array ) ) {
1349
  $gfont = str_replace( ' ', '+', $gfont );
1350
  if ( $gfont != '' ) {
1356
  }
1357
  }
1358
  }
1359
+
1360
+ // Do not output empty Google font calls (when font set to an empty string)
1361
+ if ( $gfonts_do_output ) {
1362
+ $gfonts_output = $gfonts_output_prepend . $gfonts_ouput_inner . $gfonts_output_append;
1363
+ if ( $gfonts_ouput_inner != '' ) echo $gfonts_output;
1364
+ }
1365
 
1366
  }
1367
 
1374
  echo dslc_row_get_initial_style();
1375
 
1376
  // Echo CSS style
1377
+ if ( ! $dslc_active && $composer_code || ! $dslc_active && $dslc_custom_css_ignore_check )
1378
  echo $dslc_css_style;
1379
 
1380
  echo '</style>';
1465
  }
1466
 
1467
  // Generate custom CSS
1468
+ /*
1469
+ * Changed from the next line in ver.1.0.8
1470
+ * if ( ( $module_id == 'DSLC_TP_Content' || $module_id == 'DSLC_Html' ) && ! isset( $settings['css_custom'] ) )
1471
+ * Line above was breaking styling for DSLC_TP_Content modules when used in template
1472
+ */
1473
+ if ( $module_id == 'DSLC_Html' && ! isset( $settings['css_custom'] ) )
1474
  $css_output = '';
1475
  elseif ( isset( $settings['css_custom'] ) && $settings['css_custom'] == 'disabled' )
1476
  $css_output = '';
1487
 
1488
  function dslc_post_pagination( $atts ) {
1489
 
1490
+ if ( is_front_page() ) { $paged = ( get_query_var( 'page' ) ) ? get_query_var( 'page' ) : 1; } else { $paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1; }
1491
 
1492
  if ( ! isset( $atts['force_number'] ) ) $force_number = false; else $force_number = $atts['force_number'];
1493
  if ( ! isset( $atts['pages'] ) ) $pages = false; else $pages = $atts['pages'];
1494
  if ( ! isset( $atts['type'] ) ) $type = 'numbered'; else $type = $atts['type'];
1495
  $range = 2;
1496
 
1497
+ $showitems = ( $range * 2 ) + 1;
1498
 
1499
  if ( empty ( $paged ) ) { $paged = 1; }
1500
 
1501
  if ( $pages == '' ) {
1502
  global $wp_query;
1503
  $pages = $wp_query->max_num_pages;
1504
+ if ( ! $pages ) {
1505
  $pages = 1;
1506
  }
1507
  }
1508
 
1509
+ if ( 1 != $pages ) {
1510
 
1511
  ?>
1512
  <div class="dslc-pagination dslc-pagination-type-<?php echo $type; ?>">
1515
 
1516
  if ( $type == 'numbered' ) {
1517
 
1518
+ if ( $paged > 2 && $paged > $range + 1 && $showitems < $pages ) { echo "<li class='dslc-inactive'><a href='" . get_pagenum_link( 1 ) . "'>&laquo;</a></li>"; }
1519
+ if ( $paged > 1 && $showitems < $pages ) { echo "<li class='dslc-inactive'><a href='" . get_pagenum_link( $paged - 1 ) . "' >&lsaquo;</a></li>"; }
1520
 
1521
+ for ( $i = 1; $i <= $pages; $i++ ) {
1522
+ if ( 1 != $pages && ( ! ( $i >= $paged + $range + 1 || $i <= $paged - $range - 1 ) || $pages <= $showitems ) ) {
1523
+ echo ( $paged == $i ) ? "<li class='dslc-active'><a href='" . get_pagenum_link( $i ) . "'>" . $i . "</a></li>" : "<li class='dslc-inactive'><a class='inactive' href='" . get_pagenum_link( $i ) . "'>" . $i . "</a></li>";
1524
  }
1525
  }
1526
 
1527
+ if ( $paged < $pages && $showitems < $pages ) { echo "<li class='dslc-inactive'><a href='" . get_pagenum_link( $paged + 1 ) . "'>&rsaquo;</a></li>"; }
1528
+ if ( $paged < $pages - 1 && $paged + $range - 1 < $pages && $showitems < $pages ) { echo "<li class='dslc-inactive'><a href='" . get_pagenum_link( $pages ) . "'>&raquo;</a></li>"; }
1529
 
1530
  } elseif ( $type == 'prevnext' ) {
1531
 
1532
+ if ( $paged > 1 ) { echo "<li class='dslc-inactive dslc-fl'><a href='" . get_pagenum_link( $paged - 1 ) . "' >" . __( 'Newer', 'live-composer-page-builder' ) . "</a></li>"; }
1533
+ if ( $paged < $pages ) { echo "<li class='dslc-inactive dslc-fr'><a href='" . get_pagenum_link( $paged + 1 ) . "'>" . __( 'Older', 'live-composer-page-builder' ) . "</a></li>"; }
1534
 
1535
  }
1536
 
1537
  if ( $type == 'loadmore' ) {
1538
+ if ( $paged < $pages ) {
1539
+ echo "<li class='dslc-pagination-load-more dslc-active'><a href='" . get_pagenum_link( $paged + 1 ) . "'><span class='dslc-icon dslc-icon-refresh'></span>" . __( 'LOAD MORE ITEMS', 'live-composer-page-builder' ) . "</a></li>";
1540
  } else {
1541
  echo "<li class='dslc-pagination-load-more dslc-inactive'><a href='#'><span class='dslc-icon dslc-icon-refresh'></span>" . __( 'LOAD MORE ITEMS', 'live-composer-page-builder' ) . "</a></li>";
1542
  }
includes/functions.php CHANGED
@@ -75,7 +75,7 @@ function dslc_register_modules() {
75
  dslc_register_module( 'DSLC_Tabs' );
76
  dslc_register_module( 'DSLC_Progress_Bars' );
77
  dslc_register_module( 'DSLC_Sliders' );
78
- dslc_register_module( 'DSLC_Info_Box' );
79
  dslc_register_module( 'DSLC_Widgets' );
80
  dslc_register_module( 'DSLC_Icon' );
81
  dslc_register_module( 'DSLC_Navigation' );
@@ -102,18 +102,18 @@ function dslc_register_module( $module_id ) {
102
  $module_instance = new $module_id();
103
 
104
  // Icon
105
- if ( ! isset( $module_instance->module_icon) )
106
  $module_instance->module_icon = '';
107
 
108
  // Category/Origin
109
- if ( ! isset( $module_instance->module_category) )
110
  $module_instance->module_category = 'other';
111
 
112
  // If the array ID not taken
113
  if ( ! isset( $dslc_var_modules[$module_id] ) ) {
114
 
115
  // Append new module to the global array
116
- $dslc_var_modules[ $module_id ] = array(
117
  'id' => $module_id,
118
  'title' => $module_instance->module_title,
119
  'icon' => $module_instance->module_icon,
@@ -136,7 +136,7 @@ function dslc_unregister_module( $module_id ) {
136
  global $dslc_var_modules;
137
 
138
  // Remove module from array
139
- unset( $dslc_var_modules[ $module_id ] );
140
 
141
  }
142
 
@@ -151,17 +151,17 @@ function dslc_unregister_module( $module_id ) {
151
  function dslc_module_settings( $options, $custom = false ) {
152
 
153
  // Array to hold the settings
154
- $settings = array();
155
 
156
  // Go through all options
157
- foreach( $options as $option ) {
158
 
159
  // If value set use it
160
- if ( isset( $_POST[ $option['id'] ] ) ) {
161
- $settings[ $option['id'] ] = $_POST[ $option['id'] ];
162
  // If value not set use default
163
  } else {
164
- $settings[ $option['id'] ] = $option['std'];
165
  }
166
 
167
  }
@@ -181,7 +181,7 @@ function dslc_generate_custom_css( $options_arr, $settings, $restart = false ) {
181
  $css_output = '';
182
  global $dslc_googlefonts_array;
183
  $googlefonts_output = '';
184
- $regular_fonts = array( "Georgia", "Times", "Arial", "Lucida Sans Unicode", "Tahoma", "Trebuchet MS", "Verdana", "Helvetica" );
185
  $organized_array = array();
186
 
187
  global $dslc_css_fonts;
@@ -249,7 +249,7 @@ function dslc_generate_custom_css( $options_arr, $settings, $restart = false ) {
249
  $affect_el = '';
250
  $affect_els_arr = explode( ',', $option_arr['affect_on_change_el'] );
251
  $count = 0;
252
- foreach ( $affect_els_arr as $affect_el_arr) {
253
  $count++;
254
  if ( $count > 1 ) {
255
  $affect_el .= ',';
@@ -259,17 +259,20 @@ function dslc_generate_custom_css( $options_arr, $settings, $restart = false ) {
259
 
260
  switch ( $option_arr['tab'] ) {
261
  case __( 'tablet', 'live-composer-page-builder' ):
262
- if ( isset( $settings['css_res_t'] ) && $settings['css_res_t'] == 'enabled' )
263
- $affect_el .= 'body.dslc-res-tablet #dslc-content #dslc-module-' . $settings['module_instance_id'] . ' ' . $affect_el_arr;
 
264
  break;
265
  case __( 'phone', 'live-composer-page-builder' ):
266
  if ( isset( $settings['css_res_p'] ) && $settings['css_res_p'] == 'enabled' )
267
- $affect_el .= 'body.dslc-res-phone #dslc-content #dslc-module-' . $settings['module_instance_id'] . ' ' . $affect_el_arr;
 
268
  break;
269
  }
270
 
271
  } else {
272
- $affect_el .= '#dslc-content #dslc-module-' . $settings['module_instance_id'] . ' ' . $affect_el_arr;
 
273
  }
274
 
275
  }
@@ -279,7 +282,7 @@ function dslc_generate_custom_css( $options_arr, $settings, $restart = false ) {
279
 
280
  $checkbox_val = '';
281
  $checkbox_arr = explode( ' ', trim( $settings[$option_arr['id']] ) );
282
-
283
  if ( in_array( 'top', $checkbox_arr ) )
284
  $checkbox_val .= 'solid ';
285
  else
@@ -301,7 +304,7 @@ function dslc_generate_custom_css( $options_arr, $settings, $restart = false ) {
301
  $checkbox_val .= 'none ';
302
 
303
  $settings[$option_arr['id']] = $checkbox_val;
304
-
305
  }
306
 
307
  // Colors (transparent if empy )
@@ -320,7 +323,7 @@ function dslc_generate_custom_css( $options_arr, $settings, $restart = false ) {
320
  // If option type is font
321
  if ( $option_arr['type'] == 'font' ) {
322
 
323
- if ( ! in_array( $settings[$option_arr['id']], $dslc_googlefonts_array ) && ! in_array( $settings[$option_arr['id']], $regular_fonts ) )
324
  $dslc_googlefonts_array[] = $settings[$option_arr['id']];
325
 
326
  }
@@ -330,21 +333,78 @@ function dslc_generate_custom_css( $options_arr, $settings, $restart = false ) {
330
  if ( count( $organized_array ) > 0 ) {
331
 
332
  foreach ( $organized_array as $el => $rules ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
333
 
334
- $css_output .= $el . ' { ';
335
-
336
- foreach ( $rules as $rule => $value ) {
337
-
338
- if ( trim( $value ) != '' && trim( $value ) != 'url(" ")' ) {
339
 
340
- $css_output .= $rule . ' : ' . $value . $important_append . '; ';
 
 
341
 
 
 
342
  }
343
 
344
- }
345
 
346
- $css_output .= ' } ';
 
347
 
 
 
 
348
  }
349
 
350
  }
@@ -377,7 +437,7 @@ function dslc_get_new_module_id() {
377
  return $module_instance_id;
378
 
379
  }
380
-
381
  }
382
 
383
  /**
@@ -387,7 +447,7 @@ function dslc_get_new_module_id() {
387
  */
388
 
389
  function dslc_register_templates() {
390
-
391
  do_action( 'dslc_hook_register_templates' );
392
  do_action( 'dslc_hook_unregister_templates' );
393
 
@@ -430,7 +490,7 @@ function dslc_unregister_template( $template_ID ) {
430
  // Global variable that holds templates information
431
  global $dslc_var_templates;
432
 
433
- // If the template exists
434
  if ( isset( $dslc_var_templates[$template_ID] ) ) {
435
 
436
  // Remove the template from the templates array
@@ -488,10 +548,10 @@ function dslc_body_class( $classes ) {
488
  if ( isset( $_GET['dslc'] ) && $_GET['dslc'] == 'active' )
489
  $has_lc_content = true;
490
 
491
-
492
  // Still nothing, let's check if there's real LC content on the page
493
  if ( ! $has_lc_content ) {
494
-
495
  // Get the dslc_code custom field
496
  $dslc_code = get_post_meta( get_the_ID(), 'dslc_code', true );
497
 
@@ -547,7 +607,7 @@ function dslc_body_class( $classes ) {
547
  function dslc_set_defaults( $new_defaults, $options ) {
548
 
549
  // If no new defaults, pass it back and stop
550
- if ( ! $new_defaults )
551
  return $options;
552
 
553
  // Generate an array of options IDs to alter
@@ -564,7 +624,7 @@ function dslc_set_defaults( $new_defaults, $options ) {
564
  }
565
 
566
  }
567
-
568
  // Pass back the options array
569
  return $options;
570
 
@@ -577,10 +637,10 @@ function dslc_set_defaults( $new_defaults, $options ) {
577
  function dslc_is_module_active( $module_ID, $check_registered = false ) {
578
 
579
  global $dslc_var_modules;
580
-
581
  if ( dslc_get_option( $module_ID, 'dslc_plugin_options_features' ) == 'disabled' )
582
  return false;
583
- elseif ( $check_registered == true && ! isset( $dslc_var_modules[$module_ID] ) )
584
  return false;
585
  else
586
  return true;
@@ -595,7 +655,7 @@ function dslc_is_module_active( $module_ID, $check_registered = false ) {
595
 
596
  function dslc_save_preset( $preset_name, $preset_code_raw, $module_id ) {
597
 
598
- $preset_id = strtolower( str_replace( ' ', '-', $preset_name) );
599
 
600
  // Clean up ( step 1 - get data )
601
  $preset_code_raw = maybe_unserialize( base64_decode( $preset_code_raw ) );
@@ -604,21 +664,21 @@ function dslc_save_preset( $preset_name, $preset_code_raw, $module_id ) {
604
  $module_options = $module->options();
605
 
606
  // Clean up ( step 2 - generate correct preset code )
607
- foreach( $module_options as $module_option ) {
608
 
609
  // allowed to have a preset
610
- if ( ! isset( $module_option['include_in_preset'] ) || $module_option['include_in_preset'] == true ) {
611
 
612
  // modules section not set or module section not functionality
613
  if ( ( isset( $module_option['section'] ) && $module_option['section'] !== 'functionality' ) && ( ! isset( $module_option['visibility'] ) || $module_option['visibility'] !== 'hidden' ) ) {
614
-
615
  if ( isset ( $preset_code_raw[$module_option['id']] ) ) {
616
  $preset_code[$module_option['id']] = $preset_code_raw[$module_option['id']];
617
  }
618
  }
619
 
620
  }
621
-
622
  }
623
 
624
  // Clean up ( step 3 - final )
@@ -655,9 +715,9 @@ function dslc_save_preset( $preset_name, $preset_code_raw, $module_id ) {
655
  * @since 1.0
656
  */
657
 
658
- function dslc_is_editor_active( $capability = 'save') {
659
 
660
- // Check for saving capability
661
  if ( $capability == 'save' ) {
662
  $capability_check = DS_LIVE_COMPOSER_CAPABILITY_SAVE;
663
  // Check for access capability ( can use editor but can't publish changes )
@@ -680,7 +740,7 @@ function dslc_is_editor_active( $capability = 'save') {
680
  * @since 1.0.2
681
  *
682
  * @param int $postID ID of the post/page. Default false.
683
- * @param bool $draft If true will check for draft first. Default true.
684
  * @return string The LC code for the post/page. Empty string if no LC code.
685
  */
686
  function dslc_get_code( $postID = false, $draft = true ) {
@@ -781,7 +841,7 @@ function dslc_set_default_templates( $templates ) {
781
  'id' => 'dslc-projects-ex-2',
782
  'code' => '[dslc_modules_section type="full" columns_spacing="spacing" border_color="" border_width="0" border_style="solid" border="top bottom" bg_color="#f4f9fc" bg_image_thumb="disabled" bg_image="" bg_video="" bg_video_overlay_color="#000000" bg_video_overlay_opacity="0" bg_image_repeat="no-repeat" bg_image_attachment="scroll" bg_image_position="center center" bg_image_size="auto" padding="61" padding_h="3" margin_h="0" margin_b="0" custom_class="" custom_id="" ] [dslc_modules_area last="no" first="yes" size="3"] [dslc_module]YToxOTp7czo0OiJzaXplIjtzOjI6IjEyIjtzOjc6InNpZGViYXIiO3M6MTY6ImRzbGNfc2lkZWJhcl9vbmUiO3M6NzoiY29sdW1ucyI7czoyOiIxMiI7czozMDoiY3NzX3dpZGdldHNfcGFkZGluZ19ob3Jpem9udGFsIjtzOjE6IjMiO3M6MTk6ImNzc193aWRnZXRfYmdfY29sb3IiO3M6NzoiI2ZmZmZmZiI7czoyMzoiY3NzX3dpZGdldF9ib3JkZXJfY29sb3IiO3M6NzoiI2Q5ZDlkOSI7czoyMzoiY3NzX3dpZGdldF9ib3JkZXJfd2lkdGgiO3M6MToiMSI7czoyODoiY3NzX3dpZGdldF9ib3JkZXJfcmFkaXVzX3RvcCI7czoxOiIzIjtzOjMxOiJjc3Nfd2lkZ2V0X2JvcmRlcl9yYWRpdXNfYm90dG9tIjtzOjE6IjMiO3M6Mjc6ImNzc193aWRnZXRfcGFkZGluZ192ZXJ0aWNhbCI7czoyOiIzMyI7czoyOToiY3NzX3dpZGdldF9wYWRkaW5nX2hvcml6b250YWwiO3M6MjoiMzQiO3M6MjQ6ImNzc193aWRnZXRfbWFyZ2luX2JvdHRvbSI7czoyOiIzMiI7czoyMToiY3NzX3RpdGxlX2xpbmVfaGVpZ2h0IjtzOjI6IjE2IjtzOjE2OiJjc3NfdGl0bGVfbWFyZ2luIjtzOjI6IjE0IjtzOjE3OiJjc3NfdGl0bGVfcGFkZGluZyI7czoyOiIxOCI7czoxNDoiY3NzX2xpbmtfY29sb3IiO3M6NzoiIzE2YThmNyI7czoyMDoiY3NzX2xpbmtfY29sb3JfaG92ZXIiO3M6NzoiIzE2ODljNyI7czoxODoibW9kdWxlX2luc3RhbmNlX2lkIjtpOjQ3O3M6OToibW9kdWxlX2lkIjtzOjEyOiJEU0xDX1dpZGdldHMiO30=[/dslc_module] [/dslc_modules_area] [dslc_modules_area last="yes" first="no" size="9"] [dslc_module]YTo0ODp7czo0OiJzaXplIjtzOjI6IjEyIjtzOjY6ImFtb3VudCI7czoxOiI2IjtzOjE1OiJwYWdpbmF0aW9uX3R5cGUiO3M6ODoibnVtYmVyZWQiO3M6NzoiY29sdW1ucyI7czoxOiI0IjtzOjU6Im9yZGVyIjtzOjM6IkFTQyI7czoxMzoicG9zdF9lbGVtZW50cyI7czoyNDoidGh1bWJuYWlsIHRpdGxlIGV4Y2VycHQgIjtzOjE0OiJjc3Nfc2VwX2hlaWdodCI7czoyOiIxMyI7czoxMzoiY3NzX3NlcF9zdHlsZSI7czo0OiJub25lIjtzOjIyOiJjc3NfdGh1bWJuYWlsX2JnX2NvbG9yIjtzOjc6IiMwMGJkOGUiO3M6MzE6ImNzc190aHVtYm5haWxfYm9yZGVyX3JhZGl1c190b3AiO3M6MToiMCI7czoxODoidGh1bWJfcmVzaXplX3dpZHRoIjtzOjM6IjQwMCI7czoxNzoiY3NzX21haW5fYmdfY29sb3IiO3M6NzoiIzE2YThmNyI7czoyMToiY3NzX21haW5fYm9yZGVyX2NvbG9yIjtzOjc6IiMwMGEyZmYiO3M6MjE6ImNzc19tYWluX2JvcmRlcl93aWR0aCI7czoxOiIwIjtzOjI5OiJjc3NfbWFpbl9ib3JkZXJfcmFkaXVzX2JvdHRvbSI7czoxOiIwIjtzOjI1OiJjc3NfbWFpbl9wYWRkaW5nX3ZlcnRpY2FsIjtzOjI6IjI0IjtzOjI3OiJjc3NfbWFpbl9wYWRkaW5nX2hvcml6b250YWwiO3M6MjoiMzQiO3M6MTk6ImNzc19tYWluX3RleHRfYWxpZ24iO3M6NDoibGVmdCI7czoxNToiY3NzX3RpdGxlX2NvbG9yIjtzOjc6IiNmZmZmZmYiO3M6MTk6ImNzc190aXRsZV9mb250X3NpemUiO3M6MjoiMTgiO3M6MjE6ImNzc190aXRsZV9mb250X3dlaWdodCI7czozOiIzMDAiO3M6MjE6ImNzc190aXRsZV9saW5lX2hlaWdodCI7czoyOiIzNSI7czoyMzoiY3NzX3RpdGxlX21hcmdpbl9ib3R0b20iO3M6MToiOSI7czoxNDoiY3NzX2NhdHNfY29sb3IiO3M6NzoiI2QyZTlmNSI7czoxODoiY3NzX2NhdHNfZm9udF9zaXplIjtzOjI6IjExIjtzOjIyOiJjc3NfY2F0c19tYXJnaW4tYm90dG9tIjtzOjI6IjE5IjtzOjI0OiJjc3NfZXhjZXJwdF9ib3JkZXJfY29sb3IiO3M6NzoiIzQ0YjNlYiI7czoxNzoiY3NzX2V4Y2VycHRfY29sb3IiO3M6NzoiI2UzZjZmZiI7czoyMzoiY3NzX2V4Y2VycHRfZm9udF93ZWlnaHQiO3M6MzoiNjAwIjtzOjIzOiJjc3NfZXhjZXJwdF9mb250X2ZhbWlseSI7czoxMjoiUG9udGFubyBTYW5zIjtzOjIzOiJjc3NfZXhjZXJwdF9saW5lX2hlaWdodCI7czoyOiIyNCI7czoxNDoiZXhjZXJwdF9tYXJnaW4iO3M6MToiMiI7czoxNDoiZXhjZXJwdF9sZW5ndGgiO3M6MjoiMTEiO3M6MTk6ImNzc19leGNlcnB0X3BhZGRpbmciO3M6MjoiMTMiO3M6MTk6ImNzc19idXR0b25fYmdfY29sb3IiO3M6NzoiIzdhN2E3YSI7czoxODoibWFpbl9oZWFkaW5nX3RpdGxlIjtzOjE1OiJMYXRlc3QgUHJvamVjdHMiO3M6MjY6ImNzc19tYWluX2hlYWRpbmdfZm9udF9zaXplIjtzOjI6IjE2IjtzOjI4OiJjc3NfbWFpbl9oZWFkaW5nX2ZvbnRfd2VpZ2h0IjtzOjM6IjYwMCI7czoyODoiY3NzX21haW5faGVhZGluZ19mb250X2ZhbWlseSI7czo0OiJMYXRvIjtzOjI3OiJjc3NfbWFpbl9oZWFkaW5nX2xpbmtfY29sb3IiO3M6NzoiIzE2YThmNyI7czozMzoiY3NzX21haW5faGVhZGluZ19saW5rX2NvbG9yX2hvdmVyIjtzOjc6IiMxMjg2YzQiO3M6MzM6ImNzc19tYWluX2hlYWRpbmdfbGlua19mb250X3dlaWdodCI7czozOiI3MDAiO3M6Mjg6ImNzc19wYWdfaXRlbV9iZ19jb2xvcl9hY3RpdmUiO3M6NzoiIzE2YThmNyI7czoyNToiY3NzX3BhZ19pdGVtX2JvcmRlcl9jb2xvciI7czo3OiIjZDZkNmQ2IjtzOjMyOiJjc3NfcGFnX2l0ZW1fYm9yZGVyX2NvbG9yX2FjdGl2ZSI7czo3OiIjMTZhOGY3IjtzOjE4OiJjc3NfcGFnX2l0ZW1fY29sb3IiO3M6NzoiIzhmOGY4ZiI7czoxODoibW9kdWxlX2luc3RhbmNlX2lkIjtpOjQ4O3M6OToibW9kdWxlX2lkIjtzOjEzOiJEU0xDX1Byb2plY3RzIjt9[/dslc_module] [/dslc_modules_area] [/dslc_modules_section] ',
783
  'section' => 'original'
784
- );
785
 
786
  $templates['dslc-partners-ex-1'] = array(
787
  'title' => __( 'Partners Variation 1', 'live-composer-page-builder' ),
@@ -803,7 +863,7 @@ function dslc_set_default_templates( $templates ) {
803
  'code' => '[dslc_modules_section show_on="desktop tablet phone" type="wrapped" columns_spacing="spacing" bg_color="#78373c" bg_image_thumb="disabled" bg_image="" bg_image_repeat="no-repeat" bg_image_position="center center" bg_image_attachment="scroll" bg_image_size="auto" bg_video="" bg_video_overlay_color="#4d4d4d" bg_video_overlay_opacity="0.77" border_color="" border_width="0" border_style="solid" border="bottom " margin_h="0" margin_b="0" padding="69" padding_h="9" custom_class="" custom_id="" ] [dslc_modules_area last="no" first="yes" size="5"] [dslc_module last="yes"]YTo1NTp7czo2OiJhbW91bnQiO3M6MToiMSI7czo3OiJjb2x1bW5zIjtzOjI6IjEyIjtzOjEwOiJjYXRlZ29yaWVzIjtzOjg6Imhvb2RpZXMgIjtzOjEzOiJwb3N0X2VsZW1lbnRzIjtzOjUyOiJ0aHVtYm5haWwgdGl0bGUgc2VwYXJhdG9yIHByaWNlXzIgYWRkdG9jYXJ0IGRldGFpbHMgIjtzOjIwOiJjc3Nfc2VwX2JvcmRlcl9jb2xvciI7czo3OiIjYTQ5NmFiIjtzOjE0OiJjc3Nfc2VwX2hlaWdodCI7czoyOiIxMCI7czoxMzoiY3NzX3NlcF9zdHlsZSI7czo0OiJub25lIjtzOjIyOiJjc3NfdGh1bWJuYWlsX2JnX2NvbG9yIjtzOjc6IiMxYzFiMWEiO3M6MjI6ImNzc190aHVtYl9ib3JkZXJfY29sb3IiO3M6NzoiIzJlMjgyZSI7czozMToiY3NzX3RodW1ibmFpbF9ib3JkZXJfcmFkaXVzX3RvcCI7czoxOiIwIjtzOjMwOiJjc3NfdGh1bWJuYWlsX3BhZGRpbmdfdmVydGljYWwiO3M6MjoiMTUiO3M6MzI6ImNzc190aHVtYm5haWxfcGFkZGluZ19ob3Jpem9udGFsIjtzOjI6IjE1IjtzOjE4OiJ0aHVtYl9yZXNpemVfd2lkdGgiO3M6MzoiNDQ3IjtzOjE4OiJjc3NfcHJpY2VfYmdfY29sb3IiO3M6NzoiIzk5MmYzOCI7czoyMjoiY3NzX3ByaWNlX2JvcmRlcl9jb2xvciI7czo3OiIjYTg2NTY1IjtzOjIzOiJjc3NfcHJpY2VfYm9yZGVyX3JhZGl1cyI7czoxOiI1IjtzOjE5OiJjc3NfcHJpY2VfZm9udF9zaXplIjtzOjI6IjQyIjtzOjIxOiJjc3NfcHJpY2VfZm9udF93ZWlnaHQiO3M6MzoiOTAwIjtzOjIxOiJjc3NfcHJpY2VfZm9udF9mYW1pbHkiO3M6MTI6IlBhdHJpY2sgSGFuZCI7czoxNjoiY3NzX3ByaWNlX21hcmdpbiI7czoxOiI5IjtzOjE3OiJjc3NfcHJpY2VfcGFkZGluZyI7czoyOiIyMyI7czoxNzoiY3NzX21haW5fYmdfY29sb3IiO3M6NzoiIzFjMWIxYSI7czoyMToiY3NzX21haW5fYm9yZGVyX3dpZHRoIjtzOjE6IjAiO3M6Mjk6ImNzc19tYWluX2JvcmRlcl9yYWRpdXNfYm90dG9tIjtzOjE6IjAiO3M6MTk6ImNzc19tYWluX21pbl9oZWlnaHQiO3M6MjoiODAiO3M6MjU6ImNzc19tYWluX3BhZGRpbmdfdmVydGljYWwiO3M6MjoiMTciO3M6Mjc6ImNzc19tYWluX3BhZGRpbmdfaG9yaXpvbnRhbCI7czoyOiIyOSI7czoxNToiY3NzX3RpdGxlX2NvbG9yIjtzOjc6IiNjN2M3YzciO3M6MTk6ImNzc190aXRsZV9mb250X3NpemUiO3M6MjoiMTYiO3M6MjE6ImNzc190aXRsZV9mb250X2ZhbWlseSI7czo5OiJPcGVuIFNhbnMiO3M6MjM6ImNzc190aXRsZV9tYXJnaW5fYm90dG9tIjtzOjI6IjIwIjtzOjI0OiJjc3NfZXhjZXJwdF9ib3JkZXJfY29sb3IiO3M6NzoiIzQ3NDE0NyI7czoxNzoiY3NzX2V4Y2VycHRfY29sb3IiO3M6NzoiIzljOTM5YyI7czoxNDoiZXhjZXJwdF9tYXJnaW4iO3M6MjoiMTkiO3M6MTQ6ImV4Y2VycHRfbGVuZ3RoIjtzOjI6IjE5IjtzOjE5OiJjc3NfZXhjZXJwdF9wYWRkaW5nIjtzOjI6IjEzIjtzOjE3OiJjc3NfcHJpY2VfMl9jb2xvciI7czo3OiIjOWM5MzljIjtzOjMwOiJjc3NfcHJpY2VfMl9ub25fZGlzY291bnRfY29sb3IiO3M6NzoiIzU5NTE1OSI7czoxNToiY3NzX3ByaWNlXzJfcG9zIjtzOjQ6ImxlZnQiO3M6MTM6ImNzc19zZXBfY29sb3IiO3M6NzoiIzQ3NDE0NyI7czoyMToiY3NzX3NlcF9tYXJnaW5fYm90dG9tIjtzOjI6IjE4IjtzOjE5OiJjc3NfYWRkdG9jYXJ0X2NvbG9yIjtzOjc6IiNlZDczNGUiO3M6MjM6ImNzc19hZGR0b2NhcnRfZm9udF9zaXplIjtzOjI6IjE0IjtzOjE3OiJjc3NfZGV0YWlsc19jb2xvciI7czo3OiIjZWQ3MzRlIjtzOjIxOiJjc3NfZGV0YWlsc19mb250X3NpemUiO3M6MjoiMTQiO3M6MjM6ImNzc19kZXRhaWxzX2ZvbnRfd2VpZ2h0IjtzOjM6IjcwMCI7czoxNDoicmVzX3NtX2NvbHVtbnMiO3M6NDoiYXV0byI7czoxMjoicmVzX3NtX3RodW1iIjtzOjU6ImJsb2NrIjtzOjE0OiJyZXNfdHBfY29sdW1ucyI7czo0OiJhdXRvIjtzOjEzOiJyZXNfcF9jb2x1bW5zIjtzOjQ6ImF1dG8iO3M6MTg6Im1vZHVsZV9pbnN0YW5jZV9pZCI7aToyMDI1ODtzOjc6InBvc3RfaWQiO3M6MzoiNDUxIjtzOjk6Im1vZHVsZV9pZCI7czoyNToiRFNMQ19Xb29Db21tZXJjZV9Qcm9kdWN0cyI7czoxNjoiZHNsY19tX3NpemVfbGFzdCI7czoyOiJubyI7czoxMToiZHNsY19tX3NpemUiO3M6MjoiMTIiO30=[/dslc_module] [/dslc_modules_area] [dslc_modules_area last="no" first="no" size="1"] [/dslc_modules_area] [dslc_modules_area last="yes" first="no" size="6"] [dslc_module last="yes"]YTo3OntzOjY6ImhlaWdodCI7czoyOiI0MSI7czo1OiJzdHlsZSI7czo5OiJpbnZpc2libGUiO3M6MTg6Im1vZHVsZV9pbnN0YW5jZV9pZCI7aToyMDI1OTtzOjc6InBvc3RfaWQiO3M6MzoiNDUxIjtzOjk6Im1vZHVsZV9pZCI7czoxNDoiRFNMQ19TZXBhcmF0b3IiO3M6MTY6ImRzbGNfbV9zaXplX2xhc3QiO3M6Mjoibm8iO3M6MTE6ImRzbGNfbV9zaXplIjtzOjI6IjEyIjt9[/dslc_module] [dslc_module last="yes"]YToxMTp7czo3OiJjb250ZW50IjtzOjI4OiJTZWN0aW9uIGZvciBwcm9kdWN0IHNob3djYXNlIjtzOjE3OiJjc3NfbWFyZ2luX2JvdHRvbSI7czoyOiIzNiI7czoxNDoiY3NzX21haW5fY29sb3IiO3M6NzoiI2ZmZmZmZiI7czoxODoiY3NzX21haW5fZm9udF9zaXplIjtzOjI6IjM5IjtzOjIwOiJjc3NfbWFpbl9mb250X3dlaWdodCI7czozOiIzMDAiO3M6MjA6ImNzc19tYWluX2ZvbnRfZmFtaWx5IjtzOjc6IlJhbGV3YXkiO3M6MTg6Im1vZHVsZV9pbnN0YW5jZV9pZCI7aToyMDI2MDtzOjc6InBvc3RfaWQiO3M6MzoiNDUxIjtzOjk6Im1vZHVsZV9pZCI7czoxNjoiRFNMQ19UZXh0X1NpbXBsZSI7czoxNjoiZHNsY19tX3NpemVfbGFzdCI7czoyOiJubyI7czoxMToiZHNsY19tX3NpemUiO3M6MjoiMTIiO30=[/dslc_module] [dslc_module last="yes"]YToxMTp7czo3OiJjb250ZW50IjtzOjEwNzQ6IlV0IGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQuJm5ic3A7PGRpdj48YnI+PC9kaXY+PGRpdj48c3BhbiBzdHlsZT1cImZvbnQtZmFtaWx5OiBNdWxpOyBmb250LXNpemU6IDE2cHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3JtYWw7IGxpbmUtaGVpZ2h0OiAyN3B4O1wiPkR1aXMgYXV0ZSBpcnVyZSBkb2xvciBpbiByZXByZWhlbmRlcml0IGluIHZvbHVwdGF0ZSB2ZWxpdCBlc3NlIGNpbGx1bSBkb2xvcmUgZXUgZnVnaWF0IG51bGxhIHBhcmlhdHVyLiBFeGNlcHRldXIgc2ludCBvY2NhZWNhdCBjdXBpZGF0YXQgbm9uIHByb2lkZW50LCBzdW50IGluIGN1bHBhIHF1aSBvZmZpY2lhIGRlc2VydW50IG1vbGxpdCBhbmltIGlkIGVzdCBsYWJvcnVtLjwvc3Bhbj48YnI+PC9kaXY+PGRpdj48c3BhbiBzdHlsZT1cImZvbnQtZmFtaWx5OiBNdWxpOyBmb250LXNpemU6IDE2cHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3JtYWw7IGxpbmUtaGVpZ2h0OiAyN3B4O1wiPjxicj48L3NwYW4+PC9kaXY+PGRpdj48c3BhbiBzdHlsZT1cImZvbnQtZmFtaWx5OiBNdWxpOyBmb250LXNpemU6IDE2cHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3JtYWw7IGxpbmUtaGVpZ2h0OiAyN3B4O1wiPkF1dGUgaXJ1cmUgZG9sb3IgaW4gcmVwcmVoZW5kZXJpdCBpbiB2b2x1cHRhdGUgdmVsaXQgZXNzZSBjaWxsdW0gZG9sb3JlIGV1IGZ1Z2lhdCBudWxsYSBwYXJpYXR1ci4gRXhjZXB0ZXVyIHNpbnQgb2NjYWVjYXQgY3VwaWRhdGF0IG5vbiBwcm9pZGVudCwgc3VudCBpbiBjdWxwYSBxdWkgb2ZmaWNpYSBkZXNlcnVudCBtb2xsaXQgYW5pbSBpZCBlc3QgbGFib3J1bS48L3NwYW4+PHNwYW4gc3R5bGU9XCJmb250LWZhbWlseTogTXVsaTsgZm9udC1zaXplOiAxNnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBsaW5lLWhlaWdodDogMjdweDtcIj48YnI+PC9zcGFuPjwvZGl2PiI7czoxNzoiY3NzX21hcmdpbl9ib3R0b20iO3M6MjoiNDEiO3M6MTQ6ImNzc19tYWluX2NvbG9yIjtzOjc6IiNjN2M3YzciO3M6MTg6ImNzc19tYWluX2ZvbnRfc2l6ZSI7czoyOiIxNiI7czoyMDoiY3NzX21haW5fZm9udF9mYW1pbHkiO3M6NDoiTXVsaSI7czoyMDoiY3NzX21haW5fbGluZV9oZWlnaHQiO3M6MjoiMjciO3M6MTg6Im1vZHVsZV9pbnN0YW5jZV9pZCI7aToyMDI2MTtzOjc6InBvc3RfaWQiO3M6MzoiNDUxIjtzOjk6Im1vZHVsZV9pZCI7czoxNjoiRFNMQ19UZXh0X1NpbXBsZSI7czoxNjoiZHNsY19tX3NpemVfbGFzdCI7czoyOiJubyI7czoxMToiZHNsY19tX3NpemUiO3M6MjoiMTIiO30=[/dslc_module] [dslc_module last="yes"]YToxNDp7czoxMToiYnV0dG9uX3RleHQiO3M6MTI6Ik1PUkUgREVUQUlMUyI7czoxMjoiY3NzX2JnX2NvbG9yIjtzOjc6IiNlZDczNGUiO3M6MTg6ImNzc19iZ19jb2xvcl9ob3ZlciI7czo3OiIjZjI3NTUzIjtzOjIwOiJjc3NfcGFkZGluZ192ZXJ0aWNhbCI7czoyOiIxOCI7czoyMjoiY3NzX3BhZGRpbmdfaG9yaXpvbnRhbCI7czoyOiIzNSI7czoyMDoiY3NzX2J1dHRvbl9mb250X3NpemUiO3M6MjoiMTYiO3M6MTQ6ImJ1dHRvbl9pY29uX2lkIjtzOjk6ImZpbGUtdGV4dCI7czoxNDoiY3NzX2ljb25fY29sb3IiO3M6NzoiI2ZmYjM5ZSI7czoxNToiY3NzX2ljb25fbWFyZ2luIjtzOjI6IjEwIjtzOjE4OiJtb2R1bGVfaW5zdGFuY2VfaWQiO2k6MjAyNjI7czo3OiJwb3N0X2lkIjtzOjM6IjQ1MSI7czo5OiJtb2R1bGVfaWQiO3M6MTE6IkRTTENfQnV0dG9uIjtzOjE2OiJkc2xjX21fc2l6ZV9sYXN0IjtzOjI6Im5vIjtzOjExOiJkc2xjX21fc2l6ZSI7czoyOiIxMiI7fQ==[/dslc_module] [/dslc_modules_area] [/dslc_modules_section] ',
804
  'section' => 'original'
805
  );
806
-
807
  $templates['dslc-staff-ex-1'] = array(
808
  'title' => __( 'Staff Variation 1', 'live-composer-page-builder' ),
809
  'id' => 'dslc-staff-ex-1',
@@ -830,14 +890,14 @@ function dslc_set_default_templates( $templates ) {
830
  function dslc_set_user_templates( $templates ) {
831
 
832
  // Get user templates
833
- $user_templates = maybe_unserialize ( get_option( 'dslc_templates' ) );
834
 
835
  // If there are any, merge them with the templates array
836
  if ( ! empty ( $user_templates ) && is_array( $user_templates ) ) {
837
- $templates = array_merge ( $templates, $user_templates );
838
  }
839
 
840
  // Pass it back
841
  return $templates;
842
 
843
- } add_filter( 'dslc_get_templates', 'dslc_set_user_templates', 1 );
75
  dslc_register_module( 'DSLC_Tabs' );
76
  dslc_register_module( 'DSLC_Progress_Bars' );
77
  dslc_register_module( 'DSLC_Sliders' );
78
+ dslc_register_module( 'DSLC_Info_Box' );
79
  dslc_register_module( 'DSLC_Widgets' );
80
  dslc_register_module( 'DSLC_Icon' );
81
  dslc_register_module( 'DSLC_Navigation' );
102
  $module_instance = new $module_id();
103
 
104
  // Icon
105
+ if ( ! isset( $module_instance->module_icon ) )
106
  $module_instance->module_icon = '';
107
 
108
  // Category/Origin
109
+ if ( ! isset( $module_instance->module_category ) )
110
  $module_instance->module_category = 'other';
111
 
112
  // If the array ID not taken
113
  if ( ! isset( $dslc_var_modules[$module_id] ) ) {
114
 
115
  // Append new module to the global array
116
+ $dslc_var_modules[$module_id] = array(
117
  'id' => $module_id,
118
  'title' => $module_instance->module_title,
119
  'icon' => $module_instance->module_icon,
136
  global $dslc_var_modules;
137
 
138
  // Remove module from array
139
+ unset( $dslc_var_modules[$module_id] );
140
 
141
  }
142
 
151
  function dslc_module_settings( $options, $custom = false ) {
152
 
153
  // Array to hold the settings
154
+ $settings = array();
155
 
156
  // Go through all options
157
+ foreach ( $options as $option ) {
158
 
159
  // If value set use it
160
+ if ( isset( $_POST[$option['id']] ) ) {
161
+ $settings[$option['id']] = $_POST[$option['id']];
162
  // If value not set use default
163
  } else {
164
+ $settings[$option['id']] = $option['std'];
165
  }
166
 
167
  }
181
  $css_output = '';
182
  global $dslc_googlefonts_array;
183
  $googlefonts_output = '';
184
+ $regular_fonts = array("Georgia", "Times", "Arial", "Lucida Sans Unicode", "Tahoma", "Trebuchet MS", "Verdana", "Helvetica");
185
  $organized_array = array();
186
 
187
  global $dslc_css_fonts;
249
  $affect_el = '';
250
  $affect_els_arr = explode( ',', $option_arr['affect_on_change_el'] );
251
  $count = 0;
252
+ foreach ( $affect_els_arr as $affect_el_arr ) {
253
  $count++;
254
  if ( $count > 1 ) {
255
  $affect_el .= ',';
259
 
260
  switch ( $option_arr['tab'] ) {
261
  case __( 'tablet', 'live-composer-page-builder' ):
262
+ if ( isset( $settings['css_res_t'] ) && $settings['css_res_t'] == 'enabled' )
263
+ // removed #dslc-content from the line for better css optimization
264
+ $affect_el .= 'body.dslc-res-tablet #dslc-module-' . $settings['module_instance_id'] . ' ' . $affect_el_arr;
265
  break;
266
  case __( 'phone', 'live-composer-page-builder' ):
267
  if ( isset( $settings['css_res_p'] ) && $settings['css_res_p'] == 'enabled' )
268
+ // removed #dslc-content from the line for better css optimization
269
+ $affect_el .= 'body.dslc-res-phone #dslc-module-' . $settings['module_instance_id'] . ' ' . $affect_el_arr;
270
  break;
271
  }
272
 
273
  } else {
274
+ // removed #dslc-content from the line for better css optimization
275
+ $affect_el .= '#dslc-module-' . $settings['module_instance_id'] . ' ' . $affect_el_arr;
276
  }
277
 
278
  }
282
 
283
  $checkbox_val = '';
284
  $checkbox_arr = explode( ' ', trim( $settings[$option_arr['id']] ) );
285
+
286
  if ( in_array( 'top', $checkbox_arr ) )
287
  $checkbox_val .= 'solid ';
288
  else
304
  $checkbox_val .= 'none ';
305
 
306
  $settings[$option_arr['id']] = $checkbox_val;
307
+
308
  }
309
 
310
  // Colors (transparent if empy )
323
  // If option type is font
324
  if ( $option_arr['type'] == 'font' ) {
325
 
326
+ if ( ! in_array( $settings[$option_arr['id']], $dslc_googlefonts_array ) && ! in_array( $settings[$option_arr['id']], $regular_fonts ) )
327
  $dslc_googlefonts_array[] = $settings[$option_arr['id']];
328
 
329
  }
333
  if ( count( $organized_array ) > 0 ) {
334
 
335
  foreach ( $organized_array as $el => $rules ) {
336
+ $do_css_output = false;
337
+ $css_output_el = ''; // var for temporary output of current el
338
+
339
+ $do_css_output_border = false;
340
+ $css_output_el_border = ''; // process border CSS properties separately
341
+
342
+ $do_css_output_background = false;
343
+ $css_output_el_background = ''; // process background CSS properties separately
344
+
345
+ // remove double spaces form css element address
346
+ $el = preg_replace( '/ {2,}/', ' ', $el );
347
+
348
+ // Do not output empty CSS blocks
349
+ if ( count( $rules ) && strlen( $el ) > 2 ) {
350
+ $css_output_el .= $el . '{';
351
+
352
+ foreach ( $rules as $rule => $value ) {
353
+ $css_output_rule = '';
354
+ $rule = trim( $rule );
355
+ $value = trim( $value );
356
+
357
+ // Basic CSS rule name validation
358
+ if ( $value != '' && $value != 'url(" ")' && ! preg_match( "/([\[\];<>]+)/", $value ) && preg_match( "/([-a-z@]{3,60})/", $rule ) ) {
359
+
360
+ // Output all the border properties only if border-width has been set
361
+ if ( $rule == 'border-width' && $value != '' && $value != '0px' && $value != '0' ) {
362
+ $do_css_output_border = true;
363
+ }
364
+ // Make no sense to output this property
365
+ if ( $rule == 'border-style' && $value == 'none none none none' ) {
366
+ $do_css_output_border = false;
367
+ }
368
+ // Shorten border-style properties
369
+ if ( $rule == 'border-style' && $value == 'solid solid solid solid' ) {
370
+ $value = 'solid';
371
+ }
372
+ // Output all the background properties only if background-image is set
373
+ if ( $rule == 'background-image' ) {
374
+ $do_css_output_background = true;
375
+ }
376
+
377
+ $css_output_rule .= $rule . ':' . $value . $important_append . ';';
378
+
379
+ if ( stristr( $rule, 'border' ) ) {
380
+ $css_output_el_border .= $css_output_rule;
381
+ } elseif ( stristr( $rule, 'background-' ) && $rule != 'background-color' ) {
382
+ $css_output_el_background .= $css_output_rule;
383
+ } else {
384
+ $css_output_el .= $css_output_rule;
385
+ }
386
+
387
+ $do_css_output = true;
388
+ }
389
 
390
+ }
 
 
 
 
391
 
392
+ if ( $do_css_output_border ) {
393
+ $css_output_el .= $css_output_el_border;
394
+ }
395
 
396
+ if ( $do_css_output_background ) {
397
+ $css_output_el .= $css_output_el_background;
398
  }
399
 
400
+ $css_output_el = trim( $css_output_el );
401
 
402
+ $css_output_el .= '} ';
403
+ }
404
 
405
+ if ( $do_css_output ) {
406
+ $css_output .= $css_output_el;
407
+ }
408
  }
409
 
410
  }
437
  return $module_instance_id;
438
 
439
  }
440
+
441
  }
442
 
443
  /**
447
  */
448
 
449
  function dslc_register_templates() {
450
+
451
  do_action( 'dslc_hook_register_templates' );
452
  do_action( 'dslc_hook_unregister_templates' );
453
 
490
  // Global variable that holds templates information
491
  global $dslc_var_templates;
492
 
493
+ // If the template exists
494
  if ( isset( $dslc_var_templates[$template_ID] ) ) {
495
 
496
  // Remove the template from the templates array
548
  if ( isset( $_GET['dslc'] ) && $_GET['dslc'] == 'active' )
549
  $has_lc_content = true;
550
 
551
+
552
  // Still nothing, let's check if there's real LC content on the page
553
  if ( ! $has_lc_content ) {
554
+
555
  // Get the dslc_code custom field
556
  $dslc_code = get_post_meta( get_the_ID(), 'dslc_code', true );
557
 
607
  function dslc_set_defaults( $new_defaults, $options ) {
608
 
609
  // If no new defaults, pass it back and stop
610
+ if ( ! $new_defaults )
611
  return $options;
612
 
613
  // Generate an array of options IDs to alter
624
  }
625
 
626
  }
627
+
628
  // Pass back the options array
629
  return $options;
630
 
637
  function dslc_is_module_active( $module_ID, $check_registered = false ) {
638
 
639
  global $dslc_var_modules;
640
+
641
  if ( dslc_get_option( $module_ID, 'dslc_plugin_options_features' ) == 'disabled' )
642
  return false;
643
+ elseif ( $check_registered == true && ! isset( $dslc_var_modules[$module_ID] ) )
644
  return false;
645
  else
646
  return true;
655
 
656
  function dslc_save_preset( $preset_name, $preset_code_raw, $module_id ) {
657
 
658
+ $preset_id = strtolower( str_replace( ' ', '-', $preset_name ) );
659
 
660
  // Clean up ( step 1 - get data )
661
  $preset_code_raw = maybe_unserialize( base64_decode( $preset_code_raw ) );
664
  $module_options = $module->options();
665
 
666
  // Clean up ( step 2 - generate correct preset code )
667
+ foreach ( $module_options as $module_option ) {
668
 
669
  // allowed to have a preset
670
+ if ( ! isset( $module_option['include_in_preset'] ) || $module_option['include_in_preset'] == true ) {
671
 
672
  // modules section not set or module section not functionality
673
  if ( ( isset( $module_option['section'] ) && $module_option['section'] !== 'functionality' ) && ( ! isset( $module_option['visibility'] ) || $module_option['visibility'] !== 'hidden' ) ) {
674
+
675
  if ( isset ( $preset_code_raw[$module_option['id']] ) ) {
676
  $preset_code[$module_option['id']] = $preset_code_raw[$module_option['id']];
677
  }
678
  }
679
 
680
  }
681
+
682
  }
683
 
684
  // Clean up ( step 3 - final )
715
  * @since 1.0
716
  */
717
 
718
+ function dslc_is_editor_active( $capability = 'save' ) {
719
 
720
+ // Check for saving capability
721
  if ( $capability == 'save' ) {
722
  $capability_check = DS_LIVE_COMPOSER_CAPABILITY_SAVE;
723
  // Check for access capability ( can use editor but can't publish changes )
740
  * @since 1.0.2
741
  *
742
  * @param int $postID ID of the post/page. Default false.
743
+ * @param bool $draft If true will check for draft first. Default true.
744
  * @return string The LC code for the post/page. Empty string if no LC code.
745
  */
746
  function dslc_get_code( $postID = false, $draft = true ) {
841
  'id' => 'dslc-projects-ex-2',
842
  'code' => '[dslc_modules_section type="full" columns_spacing="spacing" border_color="" border_width="0" border_style="solid" border="top bottom" bg_color="#f4f9fc" bg_image_thumb="disabled" bg_image="" bg_video="" bg_video_overlay_color="#000000" bg_video_overlay_opacity="0" bg_image_repeat="no-repeat" bg_image_attachment="scroll" bg_image_position="center center" bg_image_size="auto" padding="61" padding_h="3" margin_h="0" margin_b="0" custom_class="" custom_id="" ] [dslc_modules_area last="no" first="yes" size="3"] [dslc_module]YToxOTp7czo0OiJzaXplIjtzOjI6IjEyIjtzOjc6InNpZGViYXIiO3M6MTY6ImRzbGNfc2lkZWJhcl9vbmUiO3M6NzoiY29sdW1ucyI7czoyOiIxMiI7czozMDoiY3NzX3dpZGdldHNfcGFkZGluZ19ob3Jpem9udGFsIjtzOjE6IjMiO3M6MTk6ImNzc193aWRnZXRfYmdfY29sb3IiO3M6NzoiI2ZmZmZmZiI7czoyMzoiY3NzX3dpZGdldF9ib3JkZXJfY29sb3IiO3M6NzoiI2Q5ZDlkOSI7czoyMzoiY3NzX3dpZGdldF9ib3JkZXJfd2lkdGgiO3M6MToiMSI7czoyODoiY3NzX3dpZGdldF9ib3JkZXJfcmFkaXVzX3RvcCI7czoxOiIzIjtzOjMxOiJjc3Nfd2lkZ2V0X2JvcmRlcl9yYWRpdXNfYm90dG9tIjtzOjE6IjMiO3M6Mjc6ImNzc193aWRnZXRfcGFkZGluZ192ZXJ0aWNhbCI7czoyOiIzMyI7czoyOToiY3NzX3dpZGdldF9wYWRkaW5nX2hvcml6b250YWwiO3M6MjoiMzQiO3M6MjQ6ImNzc193aWRnZXRfbWFyZ2luX2JvdHRvbSI7czoyOiIzMiI7czoyMToiY3NzX3RpdGxlX2xpbmVfaGVpZ2h0IjtzOjI6IjE2IjtzOjE2OiJjc3NfdGl0bGVfbWFyZ2luIjtzOjI6IjE0IjtzOjE3OiJjc3NfdGl0bGVfcGFkZGluZyI7czoyOiIxOCI7czoxNDoiY3NzX2xpbmtfY29sb3IiO3M6NzoiIzE2YThmNyI7czoyMDoiY3NzX2xpbmtfY29sb3JfaG92ZXIiO3M6NzoiIzE2ODljNyI7czoxODoibW9kdWxlX2luc3RhbmNlX2lkIjtpOjQ3O3M6OToibW9kdWxlX2lkIjtzOjEyOiJEU0xDX1dpZGdldHMiO30=[/dslc_module] [/dslc_modules_area] [dslc_modules_area last="yes" first="no" size="9"] [dslc_module]YTo0ODp7czo0OiJzaXplIjtzOjI6IjEyIjtzOjY6ImFtb3VudCI7czoxOiI2IjtzOjE1OiJwYWdpbmF0aW9uX3R5cGUiO3M6ODoibnVtYmVyZWQiO3M6NzoiY29sdW1ucyI7czoxOiI0IjtzOjU6Im9yZGVyIjtzOjM6IkFTQyI7czoxMzoicG9zdF9lbGVtZW50cyI7czoyNDoidGh1bWJuYWlsIHRpdGxlIGV4Y2VycHQgIjtzOjE0OiJjc3Nfc2VwX2hlaWdodCI7czoyOiIxMyI7czoxMzoiY3NzX3NlcF9zdHlsZSI7czo0OiJub25lIjtzOjIyOiJjc3NfdGh1bWJuYWlsX2JnX2NvbG9yIjtzOjc6IiMwMGJkOGUiO3M6MzE6ImNzc190aHVtYm5haWxfYm9yZGVyX3JhZGl1c190b3AiO3M6MToiMCI7czoxODoidGh1bWJfcmVzaXplX3dpZHRoIjtzOjM6IjQwMCI7czoxNzoiY3NzX21haW5fYmdfY29sb3IiO3M6NzoiIzE2YThmNyI7czoyMToiY3NzX21haW5fYm9yZGVyX2NvbG9yIjtzOjc6IiMwMGEyZmYiO3M6MjE6ImNzc19tYWluX2JvcmRlcl93aWR0aCI7czoxOiIwIjtzOjI5OiJjc3NfbWFpbl9ib3JkZXJfcmFkaXVzX2JvdHRvbSI7czoxOiIwIjtzOjI1OiJjc3NfbWFpbl9wYWRkaW5nX3ZlcnRpY2FsIjtzOjI6IjI0IjtzOjI3OiJjc3NfbWFpbl9wYWRkaW5nX2hvcml6b250YWwiO3M6MjoiMzQiO3M6MTk6ImNzc19tYWluX3RleHRfYWxpZ24iO3M6NDoibGVmdCI7czoxNToiY3NzX3RpdGxlX2NvbG9yIjtzOjc6IiNmZmZmZmYiO3M6MTk6ImNzc190aXRsZV9mb250X3NpemUiO3M6MjoiMTgiO3M6MjE6ImNzc190aXRsZV9mb250X3dlaWdodCI7czozOiIzMDAiO3M6MjE6ImNzc190aXRsZV9saW5lX2hlaWdodCI7czoyOiIzNSI7czoyMzoiY3NzX3RpdGxlX21hcmdpbl9ib3R0b20iO3M6MToiOSI7czoxNDoiY3NzX2NhdHNfY29sb3IiO3M6NzoiI2QyZTlmNSI7czoxODoiY3NzX2NhdHNfZm9udF9zaXplIjtzOjI6IjExIjtzOjIyOiJjc3NfY2F0c19tYXJnaW4tYm90dG9tIjtzOjI6IjE5IjtzOjI0OiJjc3NfZXhjZXJwdF9ib3JkZXJfY29sb3IiO3M6NzoiIzQ0YjNlYiI7czoxNzoiY3NzX2V4Y2VycHRfY29sb3IiO3M6NzoiI2UzZjZmZiI7czoyMzoiY3NzX2V4Y2VycHRfZm9udF93ZWlnaHQiO3M6MzoiNjAwIjtzOjIzOiJjc3NfZXhjZXJwdF9mb250X2ZhbWlseSI7czoxMjoiUG9udGFubyBTYW5zIjtzOjIzOiJjc3NfZXhjZXJwdF9saW5lX2hlaWdodCI7czoyOiIyNCI7czoxNDoiZXhjZXJwdF9tYXJnaW4iO3M6MToiMiI7czoxNDoiZXhjZXJwdF9sZW5ndGgiO3M6MjoiMTEiO3M6MTk6ImNzc19leGNlcnB0X3BhZGRpbmciO3M6MjoiMTMiO3M6MTk6ImNzc19idXR0b25fYmdfY29sb3IiO3M6NzoiIzdhN2E3YSI7czoxODoibWFpbl9oZWFkaW5nX3RpdGxlIjtzOjE1OiJMYXRlc3QgUHJvamVjdHMiO3M6MjY6ImNzc19tYWluX2hlYWRpbmdfZm9udF9zaXplIjtzOjI6IjE2IjtzOjI4OiJjc3NfbWFpbl9oZWFkaW5nX2ZvbnRfd2VpZ2h0IjtzOjM6IjYwMCI7czoyODoiY3NzX21haW5faGVhZGluZ19mb250X2ZhbWlseSI7czo0OiJMYXRvIjtzOjI3OiJjc3NfbWFpbl9oZWFkaW5nX2xpbmtfY29sb3IiO3M6NzoiIzE2YThmNyI7czozMzoiY3NzX21haW5faGVhZGluZ19saW5rX2NvbG9yX2hvdmVyIjtzOjc6IiMxMjg2YzQiO3M6MzM6ImNzc19tYWluX2hlYWRpbmdfbGlua19mb250X3dlaWdodCI7czozOiI3MDAiO3M6Mjg6ImNzc19wYWdfaXRlbV9iZ19jb2xvcl9hY3RpdmUiO3M6NzoiIzE2YThmNyI7czoyNToiY3NzX3BhZ19pdGVtX2JvcmRlcl9jb2xvciI7czo3OiIjZDZkNmQ2IjtzOjMyOiJjc3NfcGFnX2l0ZW1fYm9yZGVyX2NvbG9yX2FjdGl2ZSI7czo3OiIjMTZhOGY3IjtzOjE4OiJjc3NfcGFnX2l0ZW1fY29sb3IiO3M6NzoiIzhmOGY4ZiI7czoxODoibW9kdWxlX2luc3RhbmNlX2lkIjtpOjQ4O3M6OToibW9kdWxlX2lkIjtzOjEzOiJEU0xDX1Byb2plY3RzIjt9[/dslc_module] [/dslc_modules_area] [/dslc_modules_section] ',
843
  'section' => 'original'
844
+ );
845
 
846
  $templates['dslc-partners-ex-1'] = array(
847
  'title' => __( 'Partners Variation 1', 'live-composer-page-builder' ),
863
  'code' => '[dslc_modules_section show_on="desktop tablet phone" type="wrapped" columns_spacing="spacing" bg_color="#78373c" bg_image_thumb="disabled" bg_image="" bg_image_repeat="no-repeat" bg_image_position="center center" bg_image_attachment="scroll" bg_image_size="auto" bg_video="" bg_video_overlay_color="#4d4d4d" bg_video_overlay_opacity="0.77" border_color="" border_width="0" border_style="solid" border="bottom " margin_h="0" margin_b="0" padding="69" padding_h="9" custom_class="" custom_id="" ] [dslc_modules_area last="no" first="yes" size="5"] [dslc_module last="yes"]YTo1NTp7czo2OiJhbW91bnQiO3M6MToiMSI7czo3OiJjb2x1bW5zIjtzOjI6IjEyIjtzOjEwOiJjYXRlZ29yaWVzIjtzOjg6Imhvb2RpZXMgIjtzOjEzOiJwb3N0X2VsZW1lbnRzIjtzOjUyOiJ0aHVtYm5haWwgdGl0bGUgc2VwYXJhdG9yIHByaWNlXzIgYWRkdG9jYXJ0IGRldGFpbHMgIjtzOjIwOiJjc3Nfc2VwX2JvcmRlcl9jb2xvciI7czo3OiIjYTQ5NmFiIjtzOjE0OiJjc3Nfc2VwX2hlaWdodCI7czoyOiIxMCI7czoxMzoiY3NzX3NlcF9zdHlsZSI7czo0OiJub25lIjtzOjIyOiJjc3NfdGh1bWJuYWlsX2JnX2NvbG9yIjtzOjc6IiMxYzFiMWEiO3M6MjI6ImNzc190aHVtYl9ib3JkZXJfY29sb3IiO3M6NzoiIzJlMjgyZSI7czozMToiY3NzX3RodW1ibmFpbF9ib3JkZXJfcmFkaXVzX3RvcCI7czoxOiIwIjtzOjMwOiJjc3NfdGh1bWJuYWlsX3BhZGRpbmdfdmVydGljYWwiO3M6MjoiMTUiO3M6MzI6ImNzc190aHVtYm5haWxfcGFkZGluZ19ob3Jpem9udGFsIjtzOjI6IjE1IjtzOjE4OiJ0aHVtYl9yZXNpemVfd2lkdGgiO3M6MzoiNDQ3IjtzOjE4OiJjc3NfcHJpY2VfYmdfY29sb3IiO3M6NzoiIzk5MmYzOCI7czoyMjoiY3NzX3ByaWNlX2JvcmRlcl9jb2xvciI7czo3OiIjYTg2NTY1IjtzOjIzOiJjc3NfcHJpY2VfYm9yZGVyX3JhZGl1cyI7czoxOiI1IjtzOjE5OiJjc3NfcHJpY2VfZm9udF9zaXplIjtzOjI6IjQyIjtzOjIxOiJjc3NfcHJpY2VfZm9udF93ZWlnaHQiO3M6MzoiOTAwIjtzOjIxOiJjc3NfcHJpY2VfZm9udF9mYW1pbHkiO3M6MTI6IlBhdHJpY2sgSGFuZCI7czoxNjoiY3NzX3ByaWNlX21hcmdpbiI7czoxOiI5IjtzOjE3OiJjc3NfcHJpY2VfcGFkZGluZyI7czoyOiIyMyI7czoxNzoiY3NzX21haW5fYmdfY29sb3IiO3M6NzoiIzFjMWIxYSI7czoyMToiY3NzX21haW5fYm9yZGVyX3dpZHRoIjtzOjE6IjAiO3M6Mjk6ImNzc19tYWluX2JvcmRlcl9yYWRpdXNfYm90dG9tIjtzOjE6IjAiO3M6MTk6ImNzc19tYWluX21pbl9oZWlnaHQiO3M6MjoiODAiO3M6MjU6ImNzc19tYWluX3BhZGRpbmdfdmVydGljYWwiO3M6MjoiMTciO3M6Mjc6ImNzc19tYWluX3BhZGRpbmdfaG9yaXpvbnRhbCI7czoyOiIyOSI7czoxNToiY3NzX3RpdGxlX2NvbG9yIjtzOjc6IiNjN2M3YzciO3M6MTk6ImNzc190aXRsZV9mb250X3NpemUiO3M6MjoiMTYiO3M6MjE6ImNzc190aXRsZV9mb250X2ZhbWlseSI7czo5OiJPcGVuIFNhbnMiO3M6MjM6ImNzc190aXRsZV9tYXJnaW5fYm90dG9tIjtzOjI6IjIwIjtzOjI0OiJjc3NfZXhjZXJwdF9ib3JkZXJfY29sb3IiO3M6NzoiIzQ3NDE0NyI7czoxNzoiY3NzX2V4Y2VycHRfY29sb3IiO3M6NzoiIzljOTM5YyI7czoxNDoiZXhjZXJwdF9tYXJnaW4iO3M6MjoiMTkiO3M6MTQ6ImV4Y2VycHRfbGVuZ3RoIjtzOjI6IjE5IjtzOjE5OiJjc3NfZXhjZXJwdF9wYWRkaW5nIjtzOjI6IjEzIjtzOjE3OiJjc3NfcHJpY2VfMl9jb2xvciI7czo3OiIjOWM5MzljIjtzOjMwOiJjc3NfcHJpY2VfMl9ub25fZGlzY291bnRfY29sb3IiO3M6NzoiIzU5NTE1OSI7czoxNToiY3NzX3ByaWNlXzJfcG9zIjtzOjQ6ImxlZnQiO3M6MTM6ImNzc19zZXBfY29sb3IiO3M6NzoiIzQ3NDE0NyI7czoyMToiY3NzX3NlcF9tYXJnaW5fYm90dG9tIjtzOjI6IjE4IjtzOjE5OiJjc3NfYWRkdG9jYXJ0X2NvbG9yIjtzOjc6IiNlZDczNGUiO3M6MjM6ImNzc19hZGR0b2NhcnRfZm9udF9zaXplIjtzOjI6IjE0IjtzOjE3OiJjc3NfZGV0YWlsc19jb2xvciI7czo3OiIjZWQ3MzRlIjtzOjIxOiJjc3NfZGV0YWlsc19mb250X3NpemUiO3M6MjoiMTQiO3M6MjM6ImNzc19kZXRhaWxzX2ZvbnRfd2VpZ2h0IjtzOjM6IjcwMCI7czoxNDoicmVzX3NtX2NvbHVtbnMiO3M6NDoiYXV0byI7czoxMjoicmVzX3NtX3RodW1iIjtzOjU6ImJsb2NrIjtzOjE0OiJyZXNfdHBfY29sdW1ucyI7czo0OiJhdXRvIjtzOjEzOiJyZXNfcF9jb2x1bW5zIjtzOjQ6ImF1dG8iO3M6MTg6Im1vZHVsZV9pbnN0YW5jZV9pZCI7aToyMDI1ODtzOjc6InBvc3RfaWQiO3M6MzoiNDUxIjtzOjk6Im1vZHVsZV9pZCI7czoyNToiRFNMQ19Xb29Db21tZXJjZV9Qcm9kdWN0cyI7czoxNjoiZHNsY19tX3NpemVfbGFzdCI7czoyOiJubyI7czoxMToiZHNsY19tX3NpemUiO3M6MjoiMTIiO30=[/dslc_module] [/dslc_modules_area] [dslc_modules_area last="no" first="no" size="1"] [/dslc_modules_area] [dslc_modules_area last="yes" first="no" size="6"] [dslc_module last="yes"]YTo3OntzOjY6ImhlaWdodCI7czoyOiI0MSI7czo1OiJzdHlsZSI7czo5OiJpbnZpc2libGUiO3M6MTg6Im1vZHVsZV9pbnN0YW5jZV9pZCI7aToyMDI1OTtzOjc6InBvc3RfaWQiO3M6MzoiNDUxIjtzOjk6Im1vZHVsZV9pZCI7czoxNDoiRFNMQ19TZXBhcmF0b3IiO3M6MTY6ImRzbGNfbV9zaXplX2xhc3QiO3M6Mjoibm8iO3M6MTE6ImRzbGNfbV9zaXplIjtzOjI6IjEyIjt9[/dslc_module] [dslc_module last="yes"]YToxMTp7czo3OiJjb250ZW50IjtzOjI4OiJTZWN0aW9uIGZvciBwcm9kdWN0IHNob3djYXNlIjtzOjE3OiJjc3NfbWFyZ2luX2JvdHRvbSI7czoyOiIzNiI7czoxNDoiY3NzX21haW5fY29sb3IiO3M6NzoiI2ZmZmZmZiI7czoxODoiY3NzX21haW5fZm9udF9zaXplIjtzOjI6IjM5IjtzOjIwOiJjc3NfbWFpbl9mb250X3dlaWdodCI7czozOiIzMDAiO3M6MjA6ImNzc19tYWluX2ZvbnRfZmFtaWx5IjtzOjc6IlJhbGV3YXkiO3M6MTg6Im1vZHVsZV9pbnN0YW5jZV9pZCI7aToyMDI2MDtzOjc6InBvc3RfaWQiO3M6MzoiNDUxIjtzOjk6Im1vZHVsZV9pZCI7czoxNjoiRFNMQ19UZXh0X1NpbXBsZSI7czoxNjoiZHNsY19tX3NpemVfbGFzdCI7czoyOiJubyI7czoxMToiZHNsY19tX3NpemUiO3M6MjoiMTIiO30=[/dslc_module] [dslc_module last="yes"]YToxMTp7czo3OiJjb250ZW50IjtzOjEwNzQ6IlV0IGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQuJm5ic3A7PGRpdj48YnI+PC9kaXY+PGRpdj48c3BhbiBzdHlsZT1cImZvbnQtZmFtaWx5OiBNdWxpOyBmb250LXNpemU6IDE2cHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3JtYWw7IGxpbmUtaGVpZ2h0OiAyN3B4O1wiPkR1aXMgYXV0ZSBpcnVyZSBkb2xvciBpbiByZXByZWhlbmRlcml0IGluIHZvbHVwdGF0ZSB2ZWxpdCBlc3NlIGNpbGx1bSBkb2xvcmUgZXUgZnVnaWF0IG51bGxhIHBhcmlhdHVyLiBFeGNlcHRldXIgc2ludCBvY2NhZWNhdCBjdXBpZGF0YXQgbm9uIHByb2lkZW50LCBzdW50IGluIGN1bHBhIHF1aSBvZmZpY2lhIGRlc2VydW50IG1vbGxpdCBhbmltIGlkIGVzdCBsYWJvcnVtLjwvc3Bhbj48YnI+PC9kaXY+PGRpdj48c3BhbiBzdHlsZT1cImZvbnQtZmFtaWx5OiBNdWxpOyBmb250LXNpemU6IDE2cHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3JtYWw7IGxpbmUtaGVpZ2h0OiAyN3B4O1wiPjxicj48L3NwYW4+PC9kaXY+PGRpdj48c3BhbiBzdHlsZT1cImZvbnQtZmFtaWx5OiBNdWxpOyBmb250LXNpemU6IDE2cHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3JtYWw7IGxpbmUtaGVpZ2h0OiAyN3B4O1wiPkF1dGUgaXJ1cmUgZG9sb3IgaW4gcmVwcmVoZW5kZXJpdCBpbiB2b2x1cHRhdGUgdmVsaXQgZXNzZSBjaWxsdW0gZG9sb3JlIGV1IGZ1Z2lhdCBudWxsYSBwYXJpYXR1ci4gRXhjZXB0ZXVyIHNpbnQgb2NjYWVjYXQgY3VwaWRhdGF0IG5vbiBwcm9pZGVudCwgc3VudCBpbiBjdWxwYSBxdWkgb2ZmaWNpYSBkZXNlcnVudCBtb2xsaXQgYW5pbSBpZCBlc3QgbGFib3J1bS48L3NwYW4+PHNwYW4gc3R5bGU9XCJmb250LWZhbWlseTogTXVsaTsgZm9udC1zaXplOiAxNnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBsaW5lLWhlaWdodDogMjdweDtcIj48YnI+PC9zcGFuPjwvZGl2PiI7czoxNzoiY3NzX21hcmdpbl9ib3R0b20iO3M6MjoiNDEiO3M6MTQ6ImNzc19tYWluX2NvbG9yIjtzOjc6IiNjN2M3YzciO3M6MTg6ImNzc19tYWluX2ZvbnRfc2l6ZSI7czoyOiIxNiI7czoyMDoiY3NzX21haW5fZm9udF9mYW1pbHkiO3M6NDoiTXVsaSI7czoyMDoiY3NzX21haW5fbGluZV9oZWlnaHQiO3M6MjoiMjciO3M6MTg6Im1vZHVsZV9pbnN0YW5jZV9pZCI7aToyMDI2MTtzOjc6InBvc3RfaWQiO3M6MzoiNDUxIjtzOjk6Im1vZHVsZV9pZCI7czoxNjoiRFNMQ19UZXh0X1NpbXBsZSI7czoxNjoiZHNsY19tX3NpemVfbGFzdCI7czoyOiJubyI7czoxMToiZHNsY19tX3NpemUiO3M6MjoiMTIiO30=[/dslc_module] [dslc_module last="yes"]YToxNDp7czoxMToiYnV0dG9uX3RleHQiO3M6MTI6Ik1PUkUgREVUQUlMUyI7czoxMjoiY3NzX2JnX2NvbG9yIjtzOjc6IiNlZDczNGUiO3M6MTg6ImNzc19iZ19jb2xvcl9ob3ZlciI7czo3OiIjZjI3NTUzIjtzOjIwOiJjc3NfcGFkZGluZ192ZXJ0aWNhbCI7czoyOiIxOCI7czoyMjoiY3NzX3BhZGRpbmdfaG9yaXpvbnRhbCI7czoyOiIzNSI7czoyMDoiY3NzX2J1dHRvbl9mb250X3NpemUiO3M6MjoiMTYiO3M6MTQ6ImJ1dHRvbl9pY29uX2lkIjtzOjk6ImZpbGUtdGV4dCI7czoxNDoiY3NzX2ljb25fY29sb3IiO3M6NzoiI2ZmYjM5ZSI7czoxNToiY3NzX2ljb25fbWFyZ2luIjtzOjI6IjEwIjtzOjE4OiJtb2R1bGVfaW5zdGFuY2VfaWQiO2k6MjAyNjI7czo3OiJwb3N0X2lkIjtzOjM6IjQ1MSI7czo5OiJtb2R1bGVfaWQiO3M6MTE6IkRTTENfQnV0dG9uIjtzOjE2OiJkc2xjX21fc2l6ZV9sYXN0IjtzOjI6Im5vIjtzOjExOiJkc2xjX21fc2l6ZSI7czoyOiIxMiI7fQ==[/dslc_module] [/dslc_modules_area] [/dslc_modules_section] ',
864
  'section' => 'original'
865
  );
866
+
867
  $templates['dslc-staff-ex-1'] = array(
868
  'title' => __( 'Staff Variation 1', 'live-composer-page-builder' ),
869
  'id' => 'dslc-staff-ex-1',
890
  function dslc_set_user_templates( $templates ) {
891
 
892
  // Get user templates
893
+ $user_templates = maybe_unserialize( get_option( 'dslc_templates' ) );
894
 
895
  // If there are any, merge them with the templates array
896
  if ( ! empty ( $user_templates ) && is_array( $user_templates ) ) {
897
+ $templates = array_merge( $templates, $user_templates );
898
  }
899
 
900
  // Pass it back
901
  return $templates;
902
 
903
+ } add_filter( 'dslc_get_templates', 'dslc_set_user_templates', 1 );
includes/header-footer.php CHANGED
@@ -10,8 +10,8 @@
10
  * - dslc_hf_options ( Register options for posts/pages to choose which header/footer to use )
11
  * - dslc_hf_get_ID ( Get the header and footer ID of a specific post/page )
12
  * - dslc_hf_get_code ( Get the header or footer LC code of a specific post/page )
13
- * - dslc_hf_get_header ( Get the header output code )
14
- * - dslc_hf_get_footer ( Get the footer output code )
15
  */
16
 
17
  /**
@@ -44,7 +44,7 @@ function dslc_hf_init() {
44
  'parent' => __( 'Parent Header/Footer', 'live-composer-page-builder' ),
45
  ),
46
  'public' => true,
47
- 'supports' => array( 'title', 'custom-fields', 'author', 'thumbnail' ),
48
  'capabilities' => array(
49
  'publish_posts' => $capability,
50
  'edit_posts' => $capability,
@@ -56,8 +56,8 @@ function dslc_hf_init() {
56
  'delete_post' => $capability,
57
  'read_post' => $capability
58
  ),
59
- ));
60
-
61
  /**
62
  * Options
63
  */
@@ -133,7 +133,7 @@ function dslc_hf_init() {
133
  * @since 1.0
134
  */
135
 
136
- function dslc_hf_col_title($defaults) {
137
 
138
  if ( ! defined( 'DS_LIVE_COMPOSER_HF' ) || ! DS_LIVE_COMPOSER_HF ) return;
139
 
@@ -143,7 +143,7 @@ function dslc_hf_col_title($defaults) {
143
  $defaults['dslc_hf_col_default'] = 'Type';
144
  return $defaults;
145
 
146
- } add_filter( 'manage_dslc_hf_posts_columns', 'dslc_hf_col_title', 5);
147
 
148
  /**
149
  * Listing - Column Content
@@ -151,20 +151,20 @@ function dslc_hf_col_title($defaults) {
151
  * @since 1.0
152
  */
153
 
154
- function dslc_hf_col_content($column_name, $post_ID) {
155
 
156
  if ( ! defined( 'DS_LIVE_COMPOSER_HF' ) || ! DS_LIVE_COMPOSER_HF ) return;
157
-
158
  if ( $column_name == 'dslc_hf_col_cpt' ) {
159
  echo get_post_meta( $post_ID, 'dslc_hf_for', true );
160
- }
161
 
162
  if ( $column_name == 'dslc_hf_col_default' ) {
163
  if ( get_post_meta( $post_ID, 'dslc_hf_type', true ) == 'default' )
164
  echo '<strong>Default</strong>';
165
  }
166
 
167
- } add_action( 'manage_dslc_hf_posts_custom_column', 'dslc_hf_col_content', 10, 2);
168
 
169
  /**
170
  * Make sure there's only one default per header and footer
@@ -194,12 +194,12 @@ function dslc_hf_unique_default( $post_id ) {
194
  'post_status' => 'any',
195
  'posts_per_page' => -1,
196
  'meta_query' => array(
197
- array (
198
  'key' => 'dslc_hf_for',
199
  'value' => $_POST['dslc_hf_for'],
200
  'compare' => '=',
201
  ),
202
- array (
203
  'key' => 'dslc_hf_type',
204
  'value' => 'default',
205
  'compare' => '=',
@@ -211,7 +211,7 @@ function dslc_hf_unique_default( $post_id ) {
211
  // Set those old defaults to regular tempaltes
212
  if ( $templates ) {
213
  foreach ( $templates as $template ) {
214
- update_post_meta( $template->ID, 'dslc_hf_type' , 'regular' );
215
  }
216
  }
217
 
@@ -260,9 +260,9 @@ function dslc_hf_options() {
260
  $templates = get_posts( $args );
261
 
262
  if ( $templates ) {
263
-
264
  foreach ( $templates as $template ) {
265
- $template_for = get_post_meta( $template->ID, 'dslc_hf_for' , true );
266
  if ( $template_for == 'header' ) {
267
  $headers_array[] = array(
268
  'label' => $template->post_title,
@@ -278,7 +278,7 @@ function dslc_hf_options() {
278
 
279
  $dslc_var_post_options['dslc-hf-options'] = array(
280
  'title' => __( 'Header/Footer', 'live-composer-page-builder' ),
281
- 'show_on' => array( 'page', 'dslc_templates' ),
282
  'context' => 'side',
283
  'options' => array(
284
  array(
@@ -313,10 +313,10 @@ function dslc_hf_options() {
313
  function dslc_hf_get_ID( $post_ID = false ) {
314
 
315
  // If theme does not define header/footer compatibility return false
316
- if ( ! defined( 'DS_LIVE_COMPOSER_HF' ) || ! DS_LIVE_COMPOSER_HF ) return array( 'header' => false, 'footer' => false );
317
 
318
  // If current page is actually header/footer post, return false
319
- if ( is_singular( 'dslc_hf' ) ) return array( 'header' => false, 'footer' => false );
320
 
321
  // Global vars
322
  global $dslc_post_types;
@@ -327,7 +327,7 @@ function dslc_hf_get_ID( $post_ID = false ) {
327
  // If currently showing a singular post of a post type that supports "post templates"
328
  if ( is_singular( $dslc_post_types ) ) {
329
  $post_ID = dslc_st_get_template_ID( get_the_ID() );
330
-
331
  // If currently showing a category archive page
332
  } elseif ( is_archive() && ! is_author() && ! is_search() ) {
333
  $post_ID = dslc_get_option( get_post_type(), 'dslc_plugin_options_archives' );
@@ -374,12 +374,12 @@ function dslc_hf_get_ID( $post_ID = false ) {
374
  'post_status' => 'publish',
375
  'posts_per_page' => 1,
376
  'meta_query' => array(
377
- array (
378
  'key' => 'dslc_hf_for',
379
  'value' => 'header',
380
  'compare' => '=',
381
  ),
382
- array (
383
  'key' => 'dslc_hf_type',
384
  'value' => 'default',
385
  'compare' => '=',
@@ -390,7 +390,7 @@ function dslc_hf_get_ID( $post_ID = false ) {
390
  $tpls = get_posts( $args );
391
 
392
  // If default template found set the ID if not make it false
393
- if ( $tpls )
394
  $header_tpl_ID = $tpls[0]->ID;
395
  else
396
  $header_tpl_ID = false;
@@ -415,12 +415,12 @@ function dslc_hf_get_ID( $post_ID = false ) {
415
  'post_status' => 'publish',
416
  'posts_per_page' => 1,
417
  'meta_query' => array(
418
- array (
419
  'key' => 'dslc_hf_for',
420
  'value' => 'footer',
421
  'compare' => '=',
422
  ),
423
- array (
424
  'key' => 'dslc_hf_type',
425
  'value' => 'default',
426
  'compare' => '=',
@@ -431,7 +431,7 @@ function dslc_hf_get_ID( $post_ID = false ) {
431
  $tpls = get_posts( $args );
432
 
433
  // If default template found set the ID if not make it false
434
- if ( $tpls )
435
  $footer_tpl_ID = $tpls[0]->ID;
436
  else
437
  $footer_tpl_ID = false;
@@ -445,10 +445,10 @@ function dslc_hf_get_ID( $post_ID = false ) {
445
 
446
  $footer_tpl_ID = false;
447
 
448
- }
449
 
450
  // Return the template ID
451
- return array( 'header' => $header_tpl_ID, 'footer' => $footer_tpl_ID );
452
 
453
  }
454
 
@@ -501,7 +501,7 @@ function dslc_hf_get_code( $post_ID = false, $h_or_f = 'header' ) {
501
  * @param int $post_ID ID of the post/page. Default false.
502
  * @return string The HTML ouput of the header for a defined post/page
503
  */
504
- function dslc_hf_get_header( $post_ID = false ) {
505
 
506
  // Var defaults
507
  $append = '';
@@ -567,7 +567,7 @@ function dslc_hf_get_header( $post_ID = false ) {
567
  * @param int $post_ID ID of the post/page. Default false.
568
  * @return string The HTML ouput of the footer for a defined post/page
569
  */
570
- function dslc_hf_get_footer( $post_ID = false ) {
571
 
572
  // Var defaults
573
  $append = '';
10
  * - dslc_hf_options ( Register options for posts/pages to choose which header/footer to use )
11
  * - dslc_hf_get_ID ( Get the header and footer ID of a specific post/page )
12
  * - dslc_hf_get_code ( Get the header or footer LC code of a specific post/page )
13
+ * - dslc_hf_get_header ( Get the header output code )
14
+ * - dslc_hf_get_footer ( Get the footer output code )
15
  */
16
 
17
  /**
44
  'parent' => __( 'Parent Header/Footer', 'live-composer-page-builder' ),
45
  ),
46
  'public' => true,
47
+ 'supports' => array('title', 'custom-fields', 'author', 'thumbnail'),
48
  'capabilities' => array(
49
  'publish_posts' => $capability,
50
  'edit_posts' => $capability,
56
  'delete_post' => $capability,
57
  'read_post' => $capability
58
  ),
59
+ ) );
60
+
61
  /**
62
  * Options
63
  */
133
  * @since 1.0
134
  */
135
 
136
+ function dslc_hf_col_title( $defaults ) {
137
 
138
  if ( ! defined( 'DS_LIVE_COMPOSER_HF' ) || ! DS_LIVE_COMPOSER_HF ) return;
139
 
143
  $defaults['dslc_hf_col_default'] = 'Type';
144
  return $defaults;
145
 
146
+ } add_filter( 'manage_dslc_hf_posts_columns', 'dslc_hf_col_title', 5 );
147
 
148
  /**
149
  * Listing - Column Content
151
  * @since 1.0
152
  */
153
 
154
+ function dslc_hf_col_content( $column_name, $post_ID ) {
155
 
156
  if ( ! defined( 'DS_LIVE_COMPOSER_HF' ) || ! DS_LIVE_COMPOSER_HF ) return;
157
+
158
  if ( $column_name == 'dslc_hf_col_cpt' ) {
159
  echo get_post_meta( $post_ID, 'dslc_hf_for', true );
160
+ }
161
 
162
  if ( $column_name == 'dslc_hf_col_default' ) {
163
  if ( get_post_meta( $post_ID, 'dslc_hf_type', true ) == 'default' )
164
  echo '<strong>Default</strong>';
165
  }
166
 
167
+ } add_action( 'manage_dslc_hf_posts_custom_column', 'dslc_hf_col_content', 10, 2 );
168
 
169
  /**
170
  * Make sure there's only one default per header and footer
194
  'post_status' => 'any',
195
  'posts_per_page' => -1,
196
  'meta_query' => array(
197
+ array(
198
  'key' => 'dslc_hf_for',
199
  'value' => $_POST['dslc_hf_for'],
200
  'compare' => '=',
201
  ),
202
+ array(
203
  'key' => 'dslc_hf_type',
204
  'value' => 'default',
205
  'compare' => '=',
211
  // Set those old defaults to regular tempaltes
212
  if ( $templates ) {
213
  foreach ( $templates as $template ) {
214
+ update_post_meta( $template->ID, 'dslc_hf_type', 'regular' );
215
  }
216
  }
217
 
260
  $templates = get_posts( $args );
261
 
262
  if ( $templates ) {
263
+
264
  foreach ( $templates as $template ) {
265
+ $template_for = get_post_meta( $template->ID, 'dslc_hf_for', true );
266
  if ( $template_for == 'header' ) {
267
  $headers_array[] = array(
268
  'label' => $template->post_title,
278
 
279
  $dslc_var_post_options['dslc-hf-options'] = array(
280
  'title' => __( 'Header/Footer', 'live-composer-page-builder' ),
281
+ 'show_on' => array('page', 'dslc_templates'),
282
  'context' => 'side',
283
  'options' => array(
284
  array(
313
  function dslc_hf_get_ID( $post_ID = false ) {
314
 
315
  // If theme does not define header/footer compatibility return false
316
+ if ( ! defined( 'DS_LIVE_COMPOSER_HF' ) || ! DS_LIVE_COMPOSER_HF ) return array('header' => false, 'footer' => false);
317
 
318
  // If current page is actually header/footer post, return false
319
+ if ( is_singular( 'dslc_hf' ) ) return array('header' => false, 'footer' => false);
320
 
321
  // Global vars
322
  global $dslc_post_types;
327
  // If currently showing a singular post of a post type that supports "post templates"
328
  if ( is_singular( $dslc_post_types ) ) {
329
  $post_ID = dslc_st_get_template_ID( get_the_ID() );
330
+
331
  // If currently showing a category archive page
332
  } elseif ( is_archive() && ! is_author() && ! is_search() ) {
333
  $post_ID = dslc_get_option( get_post_type(), 'dslc_plugin_options_archives' );
374
  'post_status' => 'publish',
375
  'posts_per_page' => 1,
376
  'meta_query' => array(
377
+ array(
378
  'key' => 'dslc_hf_for',
379
  'value' => 'header',
380
  'compare' => '=',
381
  ),
382
+ array(
383
  'key' => 'dslc_hf_type',
384
  'value' => 'default',
385
  'compare' => '=',
390
  $tpls = get_posts( $args );
391
 
392
  // If default template found set the ID if not make it false
393
+ if ( $tpls )
394
  $header_tpl_ID = $tpls[0]->ID;
395
  else
396
  $header_tpl_ID = false;
415
  'post_status' => 'publish',
416
  'posts_per_page' => 1,
417
  'meta_query' => array(
418
+ array(
419
  'key' => 'dslc_hf_for',
420
  'value' => 'footer',
421
  'compare' => '=',
422
  ),
423
+ array(
424
  'key' => 'dslc_hf_type',
425
  'value' => 'default',
426
  'compare' => '=',
431
  $tpls = get_posts( $args );
432
 
433
  // If default template found set the ID if not make it false
434
+ if ( $tpls )
435
  $footer_tpl_ID = $tpls[0]->ID;
436
  else
437
  $footer_tpl_ID = false;
445
 
446
  $footer_tpl_ID = false;
447
 
448
+ }
449
 
450
  // Return the template ID
451
+ return array('header' => $header_tpl_ID, 'footer' => $footer_tpl_ID);
452
 
453
  }
454
 
501
  * @param int $post_ID ID of the post/page. Default false.
502
  * @return string The HTML ouput of the header for a defined post/page
503
  */
504
+ function dslc_hf_get_header( $post_ID = false ) {
505
 
506
  // Var defaults
507
  $append = '';
567
  * @param int $post_ID ID of the post/page. Default false.
568
  * @return string The HTML ouput of the footer for a defined post/page
569
  */
570
+ function dslc_hf_get_footer( $post_ID = false ) {
571
 
572
  // Var defaults
573
  $append = '';
includes/other-functions.php CHANGED
@@ -5,12 +5,12 @@
5
  *
6
  * class DSLC_Aq_Resize ( Image resizing class )
7
  * dslc_aq_resize ( Resize an image using DSLC_Aq_Resize Class )
8
- * dslc_get_social_count ( Returns amount of social shares a page has )
9
  * dslc_icons_current_set ( Returns the ID of the currently used set based on icon )
10
  * dslc_get_attachment_alt ( Returnt he ALT attribute for an attachment )
11
  */
12
 
13
- if( ! class_exists('DSLC_Aq_Resize') ) {
14
 
15
  /**
16
  * Image resizing class
@@ -38,7 +38,7 @@ if( ! class_exists('DSLC_Aq_Resize') ) {
38
  * For your custom default usage you may want to initialize an Aq_Resize object by yourself and then have own defaults
39
  */
40
  static public function getInstance() {
41
- if(self::$instance == null) {
42
  self::$instance = new self;
43
  }
44
 
@@ -62,19 +62,19 @@ if( ! class_exists('DSLC_Aq_Resize') ) {
62
  $upload_info = wp_upload_dir();
63
  $upload_dir = $upload_info['basedir'];
64
  $upload_url = $upload_info['baseurl'];
65
-
66
  $http_prefix = "http://";
67
  $https_prefix = "https://";
68
-
69
- /* if the $url scheme differs from $upload_url scheme, make them match
70
- if the schemes differe, images don't show up. */
71
- if(!strncmp($url,$https_prefix,strlen($https_prefix))){ //if url begins with https:// make $upload_url begin with https:// as well
72
- $upload_url = str_replace($http_prefix,$https_prefix,$upload_url);
73
  }
74
- elseif(!strncmp($url,$http_prefix,strlen($http_prefix))){ //if url begins with http:// make $upload_url begin with http:// as well
75
- $upload_url = str_replace($https_prefix,$http_prefix,$upload_url);
76
  }
77
-
78
 
79
  // Check if $img_url is local.
80
  if ( false === strpos( $url, $upload_url ) ) return false;
@@ -136,7 +136,7 @@ if( ! class_exists('DSLC_Aq_Resize') ) {
136
  }
137
 
138
  // Okay, leave the ship.
139
- if ( true === $upscale ) remove_filter( 'image_resize_dimensions', array( $this, 'aq_upscale' ) );
140
 
141
  // Return the output.
142
  if ( $single ) {
@@ -144,7 +144,7 @@ if( ! class_exists('DSLC_Aq_Resize') ) {
144
  $image = $img_url;
145
  } else {
146
  // array return.
147
- $image = array (
148
  0 => $img_url,
149
  1 => $dst_w,
150
  2 => $dst_h
@@ -181,15 +181,15 @@ if( ! class_exists('DSLC_Aq_Resize') ) {
181
  $s_x = floor( ( $orig_w - $crop_w ) / 2 );
182
  $s_y = floor( ( $orig_h - $crop_h ) / 2 );
183
 
184
- return array( 0, 0, (int) $s_x, (int) $s_y, (int) $new_w, (int) $new_h, (int) $crop_w, (int) $crop_h );
185
  }
186
 
187
  }
188
-
189
  }
190
 
191
 
192
- if ( ! function_exists('dslc_aq_resize') ) {
193
 
194
  /**
195
  * Resize an image using DSLC_Aq_Resize Class
@@ -207,7 +207,7 @@ if ( ! function_exists('dslc_aq_resize') ) {
207
  */
208
  function dslc_aq_resize( $url, $width = null, $height = null, $crop = null, $single = true, $upscale = false ) {
209
 
210
- if( class_exists( 'Jetpack' ) && Jetpack::is_module_active( 'photon' ) ) {
211
 
212
  $args = array(
213
  'resize' => "$width,$height"
@@ -215,7 +215,7 @@ if ( ! function_exists('dslc_aq_resize') ) {
215
  if ( $single == true ) {
216
  return jetpack_photon_url( $url, $args );
217
  } else {
218
- $image = array (
219
  0 => $img_url,
220
  1 => $width,
221
  2 => $height
@@ -227,7 +227,7 @@ if ( ! function_exists('dslc_aq_resize') ) {
227
 
228
  $aq_resize = DSLC_Aq_Resize::getInstance();
229
  return $aq_resize->process( $url, $width, $height, $crop, $single, $upscale );
230
-
231
  }
232
 
233
  }
@@ -241,14 +241,14 @@ if ( ! function_exists('dslc_aq_resize') ) {
241
  *
242
  * @param int $post_ID ID of the post/page. Default false, uses get_the_ID()
243
  * @param int $refresh_in Amount of seconds for cached info to be stored. Default 3600.
244
- * @return array Array containing amount of shares. Keys are fb, twitter and pinterest.
245
  */
246
  function dslc_get_social_count( $post_ID = false, $refresh_in = 3600 ) {
247
 
248
  // If ID nt supplied use current
249
  if ( $post_ID == false ) {
250
  $post_ID = get_the_ID();
251
- }
252
 
253
  // Transient
254
  $transient_id = 'dslc_social_shares_count_' . $post_ID;
@@ -277,7 +277,7 @@ function dslc_get_social_count( $post_ID = false, $refresh_in = 3600 ) {
277
  $share_info['fb'] = $fb_count;
278
  }
279
 
280
- // Twitter
281
  $twitter_get = wp_remote_get( 'http://cdn.api.twitter.com/1/urls/count.json?url=' . $the_url );
282
  $twitter_count = 0;
283
  if ( is_array( $twitter_get ) ) {
@@ -290,11 +290,11 @@ function dslc_get_social_count( $post_ID = false, $refresh_in = 3600 ) {
290
  $share_info['twitter'] = $twitter_count;
291
  }
292
 
293
- // Pinterest
294
  $pinterest_get = wp_remote_get( 'http://api.pinterest.com/v1/urls/count.json?url=' . $the_url );
295
  $pinterest_count = 0;
296
  if ( is_array( $pinterest_get ) ) {
297
- $pinterest_get_body = json_decode( preg_replace('/^receiveCount\((.*)\)$/', "\\1", $pinterest_get['body'] ) );
298
  if ( isset( $pinterest_get_body->count ) ) {
299
  $pinterest_count = $pinterest_get_body->count;
300
  } else {
@@ -305,7 +305,7 @@ function dslc_get_social_count( $post_ID = false, $refresh_in = 3600 ) {
305
 
306
  // Check if there is data
307
  if ( isset( $share_info ) ) {
308
- set_transient( $transient_id, $share_info, $refresh_in );
309
  } else {
310
  $share_info = false;
311
  }
@@ -332,7 +332,7 @@ function dslc_icons_current_set( $icon = false ) {
332
  // If there is no "-" in icon, there is no set, return default
333
  if ( $icon == false || strlen( $icon ) == 0 || strpos( $icon, '-' ) === false ) {
334
  return 'fontawesome';
335
- }
336
 
337
  // Get array with available icons
338
  global $dslc_var_icons;
@@ -341,10 +341,10 @@ function dslc_icons_current_set( $icon = false ) {
341
  $icon_parts = explode( '-', $icon );
342
  $icon_set = $icon_parts[0];
343
 
344
-
345
 
346
  // If there is an icon set by that name return it
347
- if ( isset( $dslc_var_icons[ $icon_set ] ) ) {
348
  return $icon_set;
349
  // Otherwise return the default
350
  } else {
@@ -364,7 +364,7 @@ function dslc_icons_current_set( $icon = false ) {
364
  function dslc_get_attachment_alt( $attachment_ID ) {
365
 
366
  // Get ALT
367
- $thumb_alt = trim( strip_tags( get_post_meta( $attachment_ID, '_wp_attachment_image_alt', true) ) );
368
 
369
  // No ALT supplied get attachment info
370
  if ( empty( $thumb_alt ) )
@@ -372,13 +372,100 @@ function dslc_get_attachment_alt( $attachment_ID ) {
372
 
373
  // Use caption if no ALT supplied
374
  if ( empty( $thumb_alt ) )
375
- $thumb_alt = trim(strip_tags( $attachment->post_excerpt ));
376
 
377
  // Use title if no caption supplied either
378
  if ( empty( $thumb_alt ) )
379
- $thumb_alt = trim(strip_tags( $attachment->post_title ));
380
 
381
  // Return ALT
382
  return esc_attr( $thumb_alt );
383
 
384
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
  *
6
  * class DSLC_Aq_Resize ( Image resizing class )
7
  * dslc_aq_resize ( Resize an image using DSLC_Aq_Resize Class )
8
+ * dslc_get_social_count ( Returns amount of social shares a page has )
9
  * dslc_icons_current_set ( Returns the ID of the currently used set based on icon )
10
  * dslc_get_attachment_alt ( Returnt he ALT attribute for an attachment )
11
  */
12
 
13
+ if ( ! class_exists( 'DSLC_Aq_Resize' ) ) {
14
 
15
  /**
16
  * Image resizing class
38
  * For your custom default usage you may want to initialize an Aq_Resize object by yourself and then have own defaults
39
  */
40
  static public function getInstance() {
41
+ if ( self::$instance == null ) {
42
  self::$instance = new self;
43
  }
44
 
62
  $upload_info = wp_upload_dir();
63
  $upload_dir = $upload_info['basedir'];
64
  $upload_url = $upload_info['baseurl'];
65
+
66
  $http_prefix = "http://";
67
  $https_prefix = "https://";
68
+
69
+ /* if the $url scheme differs from $upload_url scheme, make them match
70
+ if the schemes differe, images don't show up. */
71
+ if ( ! strncmp( $url, $https_prefix, strlen( $https_prefix ) ) ) { //if url begins with https:// make $upload_url begin with https:// as well
72
+ $upload_url = str_replace( $http_prefix, $https_prefix, $upload_url );
73
  }
74
+ elseif ( ! strncmp( $url, $http_prefix, strlen( $http_prefix ) ) ) { //if url begins with http:// make $upload_url begin with http:// as well
75
+ $upload_url = str_replace( $https_prefix, $http_prefix, $upload_url );
76
  }
77
+
78
 
79
  // Check if $img_url is local.
80
  if ( false === strpos( $url, $upload_url ) ) return false;
136
  }
137
 
138
  // Okay, leave the ship.
139
+ if ( true === $upscale ) remove_filter( 'image_resize_dimensions', array($this, 'aq_upscale') );
140
 
141
  // Return the output.
142
  if ( $single ) {
144
  $image = $img_url;
145
  } else {
146
  // array return.
147
+ $image = array(
148
  0 => $img_url,
149
  1 => $dst_w,
150
  2 => $dst_h
181
  $s_x = floor( ( $orig_w - $crop_w ) / 2 );
182
  $s_y = floor( ( $orig_h - $crop_h ) / 2 );
183
 
184
+ return array(0, 0, (int) $s_x, (int) $s_y, (int) $new_w, (int) $new_h, (int) $crop_w, (int) $crop_h);
185
  }
186
 
187
  }
188
+
189
  }
190
 
191
 
192
+ if ( ! function_exists( 'dslc_aq_resize' ) ) {
193
 
194
  /**
195
  * Resize an image using DSLC_Aq_Resize Class
207
  */
208
  function dslc_aq_resize( $url, $width = null, $height = null, $crop = null, $single = true, $upscale = false ) {
209
 
210
+ if ( class_exists( 'Jetpack' ) && Jetpack::is_module_active( 'photon' ) ) {
211
 
212
  $args = array(
213
  'resize' => "$width,$height"
215
  if ( $single == true ) {
216
  return jetpack_photon_url( $url, $args );
217
  } else {
218
+ $image = array(
219
  0 => $img_url,
220
  1 => $width,
221
  2 => $height
227
 
228
  $aq_resize = DSLC_Aq_Resize::getInstance();
229
  return $aq_resize->process( $url, $width, $height, $crop, $single, $upscale );
230
+
231
  }
232
 
233
  }
241
  *
242
  * @param int $post_ID ID of the post/page. Default false, uses get_the_ID()
243
  * @param int $refresh_in Amount of seconds for cached info to be stored. Default 3600.
244
+ * @return array Array containing amount of shares. Keys are fb, twitter and pinterest.
245
  */
246
  function dslc_get_social_count( $post_ID = false, $refresh_in = 3600 ) {
247
 
248
  // If ID nt supplied use current
249
  if ( $post_ID == false ) {
250
  $post_ID = get_the_ID();
251
+ }
252
 
253
  // Transient
254
  $transient_id = 'dslc_social_shares_count_' . $post_ID;
277
  $share_info['fb'] = $fb_count;
278
  }
279
 
280
+ // Twitter
281
  $twitter_get = wp_remote_get( 'http://cdn.api.twitter.com/1/urls/count.json?url=' . $the_url );
282
  $twitter_count = 0;
283
  if ( is_array( $twitter_get ) ) {
290
  $share_info['twitter'] = $twitter_count;
291
  }
292
 
293
+ // Pinterest
294
  $pinterest_get = wp_remote_get( 'http://api.pinterest.com/v1/urls/count.json?url=' . $the_url );
295
  $pinterest_count = 0;
296
  if ( is_array( $pinterest_get ) ) {
297
+ $pinterest_get_body = json_decode( preg_replace( '/^receiveCount\((.*)\)$/', "\\1", $pinterest_get['body'] ) );
298
  if ( isset( $pinterest_get_body->count ) ) {
299
  $pinterest_count = $pinterest_get_body->count;
300
  } else {
305
 
306
  // Check if there is data
307
  if ( isset( $share_info ) ) {
308
+ set_transient( $transient_id, $share_info, $refresh_in );
309
  } else {
310
  $share_info = false;
311
  }
332
  // If there is no "-" in icon, there is no set, return default
333
  if ( $icon == false || strlen( $icon ) == 0 || strpos( $icon, '-' ) === false ) {
334
  return 'fontawesome';
335
+ }
336
 
337
  // Get array with available icons
338
  global $dslc_var_icons;
341
  $icon_parts = explode( '-', $icon );
342
  $icon_set = $icon_parts[0];
343
 
344
+
345
 
346
  // If there is an icon set by that name return it
347
+ if ( isset( $dslc_var_icons[$icon_set] ) ) {
348
  return $icon_set;
349
  // Otherwise return the default
350
  } else {
364
  function dslc_get_attachment_alt( $attachment_ID ) {
365
 
366
  // Get ALT
367
+ $thumb_alt = trim( strip_tags( get_post_meta( $attachment_ID, '_wp_attachment_image_alt', true ) ) );
368
 
369
  // No ALT supplied get attachment info
370
  if ( empty( $thumb_alt ) )
372
 
373
  // Use caption if no ALT supplied
374
  if ( empty( $thumb_alt ) )
375
+ $thumb_alt = trim( strip_tags( $attachment->post_excerpt ) );
376
 
377
  // Use title if no caption supplied either
378
  if ( empty( $thumb_alt ) )
379
+ $thumb_alt = trim( strip_tags( $attachment->post_title ) );
380
 
381
  // Return ALT
382
  return esc_attr( $thumb_alt );
383
 
384
+ }
385
+
386
+ /**
387
+ * Dismissable notices
388
+ *
389
+ * @since 1.0.8
390
+ */
391
+ function dslc_dismiss_notice() {
392
+ // Verify nonce
393
+ if ( ! wp_verify_nonce( $_REQUEST['nonce'], "dslc_" . $_REQUEST['notice_id'] . "_nonce" ) ) {
394
+ wp_die( "No naughty business please" );
395
+ }
396
+
397
+ // Check access permissions
398
+ if ( ! current_user_can( 'install_themes' ) ) {
399
+ wp_die( 'You do not have rights to do this' );
400
+ }
401
+
402
+ if ( $_REQUEST['notice_id'] ) {
403
+ $stored_notices = get_option( 'dslc_notices' );
404
+ $stored_notices[get_current_user_id()][$_REQUEST['notice_id'] . '_notice_dismissed'] = 1;
405
+ update_option( 'dslc_notices', $stored_notices );
406
+ }
407
+
408
+ wp_die();
409
+ }
410
+ add_action( "wp_ajax_dslc_dismiss_notice", "dslc_dismiss_notice" );
411
+
412
+ /**
413
+ * Inline JS to attach click action for disisable notices
414
+ *
415
+ * @since 1.0.7.2
416
+ *
417
+ * Call Ajax action to dismiss a particular admin notice
418
+ */
419
+
420
+ function dslc_adminjs_dismiss_notice() { ?>
421
+ <script type="text/javascript">
422
+ jQuery(document).on( 'click', '.dslc-notice .notice-dismiss', function(event) {
423
+ var notice_id = event.target.parentNode.id;
424
+ var nonce = event.target.parentNode.getAttribute("data-nonce");
425
+
426
+ jQuery.ajax({
427
+ url: ajaxurl,
428
+ data: {
429
+ action: 'dslc_dismiss_notice',
430
+ nonce: nonce,
431
+ notice_id: notice_id,
432
+ }
433
+ })
434
+ })
435
+ </script>
436
+ <?php }
437
+ add_action( 'admin_footer', 'dslc_adminjs_dismiss_notice' );
438
+
439
+ /**
440
+ * Checks if notice dismissed
441
+ *
442
+ * @since 1.0.8
443
+ *
444
+ * @param string $notice_id Unique id of the notice
445
+ * @return boolean true if notice is being dismissed
446
+ */
447
+ function dslc_notice_dismissed( $notice_id ) {
448
+ $stored_notices = get_option( 'dslc_notices' );
449
+ $notice_dismissed = 0;
450
+ $usr_id = get_current_user_id();
451
+
452
+ if ( isset( $stored_notices[$usr_id][$notice_id . '_notice_dismissed'] ) && $stored_notices[$usr_id][$notice_id . '_notice_dismissed'] = 1 ) {
453
+ $notice_dismissed = 1;
454
+ }
455
+
456
+ return $notice_dismissed;
457
+ }
458
+
459
+ /**
460
+ * Generate nonce for the notice
461
+ *
462
+ * @since 1.0.8
463
+ *
464
+ * @param string $notice_id Unique id of the notice
465
+ * @return string nonce
466
+ */
467
+ function dslc_generate_notice_nonce( $notice_id ) {
468
+ $notice_nonce = wp_create_nonce( 'dslc_' . $notice_id . '_nonce' );
469
+ return $notice_nonce;
470
+ }
471
+
includes/other.php CHANGED
@@ -5,11 +5,12 @@
5
  *
6
  * - dslc_plugin_action_links ( Additional links on plugin listings page )
7
  * - dslc_icons
 
8
  */
9
 
10
 
11
  /**
12
- * Additional links on plugin listings page
13
  *
14
  * @since 1.0
15
  */
@@ -18,11 +19,11 @@ function dslc_plugin_action_links( $links ) {
18
 
19
  // Themes link
20
  $themes_link = '<a href="http://livecomposerplugin.com/themes" target="_blank">Themes</a>';
21
- array_unshift( $links, $themes_link );
22
 
23
  // Addons link
24
  $addons_link = '<a href="http://livecomposerplugin.com/add-ons" target="_blank">Add-Ons</a>';
25
- array_unshift( $links, $addons_link );
26
 
27
  // Support link
28
  $support_link = '<a href="http://livecomposerplugin.com/support" target="_blank">Support</a>';
@@ -38,10 +39,195 @@ function dslc_icons() {
38
  global $dslc_var_icons;
39
 
40
  $dslc_var_icons = array(
41
- 'fontawesome' => array( "500px", "adjust", "adn", "align-center", "align-justify", "align-left", "align-right", "amazon", "ambulance", "anchor", "android", "angellist", "angle-down", "angle-left", "angle-right", "angle-up", "apple", "archive", "area-chart", "arrow-circle-left", "arrow-circle-right", "arrow-down", "arrow-left", "arrow-right", "arrow-up", "asterisk", "at", "automobile", "backward", "balance-scale", "ban-circle", "bank", "bar-chart", "barcode", "battery-0", "battery-1", "battery-2", "battery-3", "battery-4", "battery-empty", "battery-full", "battery-half", "battery-quarter", "battery-three-quarters", "beaker", "bed", "beer", "behance", "behance-square", "bell", "bell-alt", "bell-slash", "bell-slash-o", "bicycle", "binoculars", "birthday-cake", "bitbucket", "bitbucket-sign", "bitcoin", "black-tie", "bold", "bolt", "bomb", "book", "bookmark", "bookmark-empty", "briefcase", "btc", "bug", "building", "building", "bullhorn", "bullseye", "bus", "buysellads", "cab", "calculator", "calendar", "calendar-check-o", "calendar-empty", "calendar-minus-o", "calendar-plus-o", "calendar-times-o", "camera", "camera-retro", "car", "caret-down", "caret-left", "caret-right", "caret-square-left", "caret-up", "cart-arrow-down", "cart-plus", "cc", "cc-amex", "cc-diners-club", "cc-discover", "cc-jcb", "cc-mastercard", "cc-paypal", "cc-stripe", "cc-visa", "certificate", "check", "check-empty", "check-minus", "check-sign", "chevron-down", "chevron-left", "chevron-right", "chevron-sign-down", "chevron-sign-left", "chevron-sign-right", "chevron-sign-up", "chevron-up", "child", "chrome", "circle", "circle-arrow-down", "circle-arrow-left", "circle-arrow-right", "circle-arrow-up", "circle-blank", "circle-o-notch", "circle-thin", "clone", "cloud", "cloud-download", "cloud-upload", "cny", "code", "code-fork", "codepen", "coffee", "cog", "cogs", "collapse", "collapse-alt", "collapse-top", "columns", "comment", "comment-alt", "commenting", "commenting-o", "comments", "comments-alt", "compass", "connectdevelop", "contao", "copy", "copyright", "creative-commons", "credit-card", "crop", "css3", "cube", "cubes", "cut", "dashboard", "dashcube", "database", "delicious", "desktop", "deviantart", "diamond", "digg", "dollar", "dot-circle", "double-angle-down", "double-angle-left", "double-angle-right", "double-angle-up", "download", "download-alt", "dribbble", "dropbox", "drupal", "edit", "edit-sign", "eject", "ellipsis-horizontal", "ellipsis-vertical", "empire", "envelope", "envelope-alt", "envelope-square", "eraser", "eur", "euro", "exchange", "exclamation", "exclamation-sign", "expand", "expand-alt", "expeditedssl", "external-link", "external-link-sign", "eye-close", "eye-open", "eyedropper", "facebook", "facebook-official", "facebook-sign", "facetime-video", "fast-backward", "fast-forward", "fax", "female", "fighter-jet", "file", "file-alt", "file-archive-o", "file-audio-o", "file-code-o", "file-excel-o", "file-image-o", "file-movie-o", "file-pdf-o", "file-photo-o", "file-picture-o", "file-powerpoint-o", "file-sound-o", "file-text", "file-text-alt", "file-video-o", "file-word-o", "file-zip-o", "film", "filter", "fire", "fire-extinguisher", "firefox", "flag", "flag-alt", "flag-checkered", "flickr", "folder-close", "folder-close-alt", "folder-open", "folder-open-alt", "font", "fonticons", "food", "forumbee", "forward", "foursquare", "frown", "fullscreen", "futbol-o", "gamepad", "gbp", "ge", "gear", "gears", "get-pocket", "gg", "gg-circle", "gift", "git", "git-square", "github", "github-alt", "github-sign", "gittip", "glass", "globe", "google", "google-plus", "google-plus-sign", "google-wallet", "graduation-cap", "group", "h-sign", "hacker-news", "hand-down", "hand-grab-o", "hand-left", "hand-lizard-o", "hand-paper-o", "hand-peace-o", "hand-pointer-o", "hand-right", "hand-rock-o", "hand-scissors-o", "hand-spock-o", "hand-stop-o", "hand-up", "hdd", "header", "headphones", "heart", "heart-empty", "heartbeat", "history", "home", "hospital", "hotel (alias)", "hourglass", "hourglass-1", "hourglass-2", "hourglass-3", "hourglass-end", "hourglass-half", "hourglass-o", "hourglass-start", "houzz", "html5", "i-cursor", "ils", "inbox", "indent-left", "indent-right", "industry", "info", "info-sign", "inr", "instagram", "institution", "internet-explorer", "ioxhost", "italic", "joomla", "jpy", "jsfiddle", "key", "keyboard", "krw", "language", "laptop", "lastfm", "lastfm-square", "leaf", "leanpub", "legal", "lemon", "level-down", "level-up", "life-bouy", "life-ring", "life-saver", "lightbulb", "line-chart", "link", "linkedin", "linkedin-sign", "linux", "list", "list-alt", "list-ol", "list-ul", "location-arrow", "lock", "long-arrow-down", "long-arrow-left", "long-arrow-right", "long-arrow-up", "magic", "magnet", "mail-forward", "mail-reply", "mail-reply-all", "male", "map", "map-marker", "map-o", "map-pin", "map-signs", "mars", "mars-double", "mars-stroke", "mars-stroke-h", "mars-stroke-v", "maxcdn", "meanpath", "medium", "medkit", "meh", "mercury", "microphone", "microphone-off", "minus", "minus-sign", "minus-sign-alt", "mobile-phone", "money", "moon", "mortar-board", "motorcycle", "mouse-pointer", "move", "music", "neuter", "newspaper-o", "object-group", "object-ungroup", "odnoklassniki", "odnoklassniki-square", "off", "ok", "ok-circle", "ok-sign", "opencart", "openid", "opera", "optin-monster", "pagelines", "paint-brush", "paper-clip", "paper-plane", "paper-plane-o", "paperclip", "paragraph", "paste", "pause", "paw", "paypal", "pencil", "phone", "phone-sign", "picture", "pie-chart", "pied-piper", "pied-piper-alt", "pied-piper-square", "pinterest", "pinterest-p", "pinterest-sign", "plane", "play", "play-circle", "play-sign", "plug", "plus", "plus-sign", "plus-sign-alt", "power-off", "print", "pushpin", "puzzle-piece", "qq", "qrcode", "question", "question-sign", "quote-left", "quote-right", "ra", "random", "rebel", "recycle", "reddit", "reddit-square", "refresh", "registered", "remove", "remove-circle", "remove-sign", "renminbi", "renren", "reorder", "repeat", "reply", "reply-all", "resize-full", "resize-horizontal", "resize-small", "resize-vertical", "retweet", "road", "rocket", "rotate-left", "rotate-right", "rouble", "rss", "rss-sign", "rupee", "safari", "save", "screenshot", "search", "sellsy", "send", "send-o", "server", "share", "share-alt", "share-alt", "share-alt-square", "share-sign", "shield", "ship", "shirtsinbulk", "shopping-cart", "sign-blank", "signal", "signin", "signout", "simplybuilt", "sitemap", "skyatlas", "skype", "slack", "sliders", "slideshare", "smile", "sort", "sort-by-alphabet", "sort-by-alphabet-alt", "sort-by-attributes", "sort-by-attributes-alt", "sort-by-order", "sort-by-order-alt", "sort-down", "sort-up", "soundcloud", "space-shuttle", "spinner", "spoon", "spotify", "stack-exchange", "stackexchange", "star", "star-empty", "star-half", "star-half-empty", "star-half-full", "steam", "steam-square", "step-backward", "step-forward", "stethoscope", "sticky-note", "sticky-note-o", "stop", "street-view", "strikethrough", "stumbleupon", "stumbleupon-circle", "subscript", "subway", "suitcase", "sun", "superscript", "support", "table", "tablet", "tag", "tags", "tasks", "taxi", "television", "tencent-weibo", "terminal", "text-height", "text-width", "th", "th-large", "th-list", "thumbs-down", "thumbs-down-alt", "thumbs-up", "thumbs-up-alt", "ticket", "time", "tint", "toggle-off", "toggle-on", "trademark", "train", "transgender", "transgender-alt", "trash", "trash", "tree", "trello", "tripadvisor", "trophy", "truck", "tty", "tumblr", "tumblr-sign", "turkish-lira", "tv", "twitch", "twitter", "twitter-sign", "umbrella", "unchecked", "underline", "undo", "university", "unlink", "unlock", "unlock-alt", "upload", "upload-alt", "usd", "user", "user-md", "user-plus", "user-secret", "user-times", "venus", "venus-double", "venus-mars", "viacoin", "vimeo", "vimeo-square", "vine", "vk", "volume-down", "volume-off", "volume-up", "warning-sign", "wechat", "weibo", "weixin", "whatsapp", "wheelchair", "wifi", "wikipedia-w", "windows", "won", "wordpress", "wrench", "xing", "xing-sign", "y-combinator", "yahoo","yc", "yelp", "yen", "youtube", "youtube-play", "youtube-sign", "zoom-in", "zoom-out" ),
42
  );
43
 
44
  // Allow devs to alter available icons
45
  $dslc_var_icons = apply_filters( 'dslc_available_icons', $dslc_var_icons );
46
 
47
- } add_action( 'init', 'dslc_icons' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
  *
6
  * - dslc_plugin_action_links ( Additional links on plugin listings page )
7
  * - dslc_icons
8
+ * - dslc_w3tc_admin_notice (Show notice if some of the W3TC settings are problematic)
9
  */
10
 
11
 
12
  /**
13
+ * Additional links on plugin listings page
14
  *
15
  * @since 1.0
16
  */
19
 
20
  // Themes link
21
  $themes_link = '<a href="http://livecomposerplugin.com/themes" target="_blank">Themes</a>';
22
+ array_unshift( $links, $themes_link );
23
 
24
  // Addons link
25
  $addons_link = '<a href="http://livecomposerplugin.com/add-ons" target="_blank">Add-Ons</a>';
26
+ array_unshift( $links, $addons_link );
27
 
28
  // Support link
29
  $support_link = '<a href="http://livecomposerplugin.com/support" target="_blank">Support</a>';
39
  global $dslc_var_icons;
40
 
41
  $dslc_var_icons = array(
42
+ 'fontawesome' => array("500px", "adjust", "adn", "align-center", "align-justify", "align-left", "align-right", "amazon", "ambulance", "anchor", "android", "angellist", "angle-down", "angle-left", "angle-right", "angle-up", "apple", "archive", "area-chart", "arrow-circle-left", "arrow-circle-right", "arrow-down", "arrow-left", "arrow-right", "arrow-up", "asterisk", "at", "automobile", "backward", "balance-scale", "ban-circle", "bank", "bar-chart", "barcode", "battery-0", "battery-1", "battery-2", "battery-3", "battery-4", "battery-empty", "battery-full", "battery-half", "battery-quarter", "battery-three-quarters", "beaker", "bed", "beer", "behance", "behance-square", "bell", "bell-alt", "bell-slash", "bell-slash-o", "bicycle", "binoculars", "birthday-cake", "bitbucket", "bitbucket-sign", "bitcoin", "black-tie", "bold", "bolt", "bomb", "book", "bookmark", "bookmark-empty", "briefcase", "btc", "bug", "building", "building", "bullhorn", "bullseye", "bus", "buysellads", "cab", "calculator", "calendar", "calendar-check-o", "calendar-empty", "calendar-minus-o", "calendar-plus-o", "calendar-times-o", "camera", "camera-retro", "car", "caret-down", "caret-left", "caret-right", "caret-square-left", "caret-up", "cart-arrow-down", "cart-plus", "cc", "cc-amex", "cc-diners-club", "cc-discover", "cc-jcb", "cc-mastercard", "cc-paypal", "cc-stripe", "cc-visa", "certificate", "check", "check-empty", "check-minus", "check-sign", "chevron-down", "chevron-left", "chevron-right", "chevron-sign-down", "chevron-sign-left", "chevron-sign-right", "chevron-sign-up", "chevron-up", "child", "chrome", "circle", "circle-arrow-down", "circle-arrow-left", "circle-arrow-right", "circle-arrow-up", "circle-blank", "circle-o-notch", "circle-thin", "clone", "cloud", "cloud-download", "cloud-upload", "cny", "code", "code-fork", "codepen", "coffee", "cog", "cogs", "collapse", "collapse-alt", "collapse-top", "columns", "comment", "comment-alt", "commenting", "commenting-o", "comments", "comments-alt", "compass", "connectdevelop", "contao", "copy", "copyright", "creative-commons", "credit-card", "crop", "css3", "cube", "cubes", "cut", "dashboard", "dashcube", "database", "delicious", "desktop", "deviantart", "diamond", "digg", "dollar", "dot-circle", "double-angle-down", "double-angle-left", "double-angle-right", "double-angle-up", "download", "download-alt", "dribbble", "dropbox", "drupal", "edit", "edit-sign", "eject", "ellipsis-horizontal", "ellipsis-vertical", "empire", "envelope", "envelope-alt", "envelope-square", "eraser", "eur", "euro", "exchange", "exclamation", "exclamation-sign", "expand", "expand-alt", "expeditedssl", "external-link", "external-link-sign", "eye-close", "eye-open", "eyedropper", "facebook", "facebook-official", "facebook-sign", "facetime-video", "fast-backward", "fast-forward", "fax", "female", "fighter-jet", "file", "file-alt", "file-archive-o", "file-audio-o", "file-code-o", "file-excel-o", "file-image-o", "file-movie-o", "file-pdf-o", "file-photo-o", "file-picture-o", "file-powerpoint-o", "file-sound-o", "file-text", "file-text-alt", "file-video-o", "file-word-o", "file-zip-o", "film", "filter", "fire", "fire-extinguisher", "firefox", "flag", "flag-alt", "flag-checkered", "flickr", "folder-close", "folder-close-alt", "folder-open", "folder-open-alt", "font", "fonticons", "food", "forumbee", "forward", "foursquare", "frown", "fullscreen", "futbol-o", "gamepad", "gbp", "ge", "gear", "gears", "get-pocket", "gg", "gg-circle", "gift", "git", "git-square", "github", "github-alt", "github-sign", "gittip", "glass", "globe", "google", "google-plus", "google-plus-sign", "google-wallet", "graduation-cap", "group", "h-sign", "hacker-news", "hand-down", "hand-grab-o", "hand-left", "hand-lizard-o", "hand-paper-o", "hand-peace-o", "hand-pointer-o", "hand-right", "hand-rock-o", "hand-scissors-o", "hand-spock-o", "hand-stop-o", "hand-up", "hdd", "header", "headphones", "heart", "heart-empty", "heartbeat", "history", "home", "hospital", "hotel (alias)", "hourglass", "hourglass-1", "hourglass-2", "hourglass-3", "hourglass-end", "hourglass-half", "hourglass-o", "hourglass-start", "houzz", "html5", "i-cursor", "ils", "inbox", "indent-left", "indent-right", "industry", "info", "info-sign", "inr", "instagram", "institution", "internet-explorer", "ioxhost", "italic", "joomla", "jpy", "jsfiddle", "key", "keyboard", "krw", "language", "laptop", "lastfm", "lastfm-square", "leaf", "leanpub", "legal", "lemon", "level-down", "level-up", "life-bouy", "life-ring", "life-saver", "lightbulb", "line-chart", "link", "linkedin", "linkedin-sign", "linux", "list", "list-alt", "list-ol", "list-ul", "location-arrow", "lock", "long-arrow-down", "long-arrow-left", "long-arrow-right", "long-arrow-up", "magic", "magnet", "mail-forward", "mail-reply", "mail-reply-all", "male", "map", "map-marker", "map-o", "map-pin", "map-signs", "mars", "mars-double", "mars-stroke", "mars-stroke-h", "mars-stroke-v", "maxcdn", "meanpath", "medium", "medkit", "meh", "mercury", "microphone", "microphone-off", "minus", "minus-sign", "minus-sign-alt", "mobile-phone", "money", "moon", "mortar-board", "motorcycle", "mouse-pointer", "move", "music", "neuter", "newspaper-o", "object-group", "object-ungroup", "odnoklassniki", "odnoklassniki-square", "off", "ok", "ok-circle", "ok-sign", "opencart", "openid", "opera", "optin-monster", "pagelines", "paint-brush", "paper-clip", "paper-plane", "paper-plane-o", "paperclip", "paragraph", "paste", "pause", "paw", "paypal", "pencil", "phone", "phone-sign", "picture", "pie-chart", "pied-piper", "pied-piper-alt", "pied-piper-square", "pinterest", "pinterest-p", "pinterest-sign", "plane", "play", "play-circle", "play-sign", "plug", "plus", "plus-sign", "plus-sign-alt", "power-off", "print", "pushpin", "puzzle-piece", "qq", "qrcode", "question", "question-sign", "quote-left", "quote-right", "ra", "random", "rebel", "recycle", "reddit", "reddit-square", "refresh", "registered", "remove", "remove-circle", "remove-sign", "renminbi", "renren", "reorder", "repeat", "reply", "reply-all", "resize-full", "resize-horizontal", "resize-small", "resize-vertical", "retweet", "road", "rocket", "rotate-left", "rotate-right", "rouble", "rss", "rss-sign", "rupee", "safari", "save", "screenshot", "search", "sellsy", "send", "send-o", "server", "share", "share-alt", "share-alt", "share-alt-square", "share-sign", "shield", "ship", "shirtsinbulk", "shopping-cart", "sign-blank", "signal", "signin", "signout", "simplybuilt", "sitemap", "skyatlas", "skype", "slack", "sliders", "slideshare", "smile", "sort", "sort-by-alphabet", "sort-by-alphabet-alt", "sort-by-attributes", "sort-by-attributes-alt", "sort-by-order", "sort-by-order-alt", "sort-down", "sort-up", "soundcloud", "space-shuttle", "spinner", "spoon", "spotify", "stack-exchange", "stackexchange", "star", "star-empty", "star-half", "star-half-empty", "star-half-full", "steam", "steam-square", "step-backward", "step-forward", "stethoscope", "sticky-note", "sticky-note-o", "stop", "street-view", "strikethrough", "stumbleupon", "stumbleupon-circle", "subscript", "subway", "suitcase", "sun", "superscript", "support", "table", "tablet", "tag", "tags", "tasks", "taxi", "television", "tencent-weibo", "terminal", "text-height", "text-width", "th", "th-large", "th-list", "thumbs-down", "thumbs-down-alt", "thumbs-up", "thumbs-up-alt", "ticket", "time", "tint", "toggle-off", "toggle-on", "trademark", "train", "transgender", "transgender-alt", "trash", "trash", "tree", "trello", "tripadvisor", "trophy", "truck", "tty", "tumblr", "tumblr-sign", "turkish-lira", "tv", "twitch", "twitter", "twitter-sign", "umbrella", "unchecked", "underline", "undo", "university", "unlink", "unlock", "unlock-alt", "upload", "upload-alt", "usd", "user", "user-md", "user-plus", "user-secret", "user-times", "venus", "venus-double", "venus-mars", "viacoin", "vimeo", "vimeo-square", "vine", "vk", "volume-down", "volume-off", "volume-up", "warning-sign", "wechat", "weibo", "weixin", "whatsapp", "wheelchair", "wifi", "wikipedia-w", "windows", "won", "wordpress", "wrench", "xing", "xing-sign", "y-combinator", "yahoo", "yc", "yelp", "yen", "youtube", "youtube-play", "youtube-sign", "zoom-in", "zoom-out"),
43
  );
44
 
45
  // Allow devs to alter available icons
46
  $dslc_var_icons = apply_filters( 'dslc_available_icons', $dslc_var_icons );
47
 
48
+ // Dear developers, make sure to have icon set name written without spaces
49
+
50
+ } add_action( 'init', 'dslc_icons' );
51
+
52
+
53
+
54
+ /**
55
+ * Output the modal with icons when LC is in active editing mode
56
+ *
57
+ * @since 1.8
58
+ */
59
+
60
+ function dslc_icons_modal() {
61
+
62
+ // Make no sense to continue if used not logged in
63
+ if ( is_user_logged_in() ) {
64
+
65
+ global $dslc_active,
66
+ $dslc_var_icons; // array with icon sets
67
+
68
+ if ( $dslc_active && current_user_can( DS_LIVE_COMPOSER_CAPABILITY ) ) {
69
+ // output list of icons
70
+ foreach ( $dslc_var_icons as $key => $value ) {
71
+
72
+ echo '<div class="dslca-modal-icons dslca-modal dslc-list-icons-' . $key . '" style="display:none;">';
73
+ echo '<ul class="dslc-icons-grid">';
74
+
75
+ foreach ( $dslc_var_icons[$key] as $k => $v ) {
76
+ $icon_name = $v;
77
+ echo '<li class="icon-item">';
78
+ echo '<span class="icon-item_icon dslc-icon-' . $icon_name . '"></span>';
79
+ echo '<span class="icon-item_name">' . $icon_name . '</span>';
80
+ echo '</li>';
81
+ }
82
+
83
+ echo '</ul>';
84
+ echo '</div>';
85
+ }
86
+ }
87
+ }
88
+ }
89
+ add_action( 'wp_footer', 'dslc_icons_modal' );
90
+
91
+
92
+ /**
93
+ * Show notice if wrong settings detected in the W3TC plugin
94
+ *
95
+ * @since 1.0.7
96
+ *
97
+ * Check important settings in the W3TC plugin
98
+ * to make sure it doesn't break our page builder
99
+ * with unnecessary page caching or minimization
100
+ */
101
+
102
+ function dslc_w3tc_admin_notice() {
103
+
104
+ if ( class_exists( 'W3_Root' ) ) {
105
+
106
+ $w3tc_config = w3_instance( 'W3_Config' );
107
+
108
+ $screen = get_current_screen();
109
+ $current_parent_base = $screen->parent_base;
110
+
111
+ $notice_id = 'w3tc_wrong_settings';
112
+ $display_notice = false;
113
+ $notice_dismissed = dslc_notice_dismissed( $notice_id );
114
+ $notice_nonce = dslc_generate_notice_nonce( $notice_id );
115
+
116
+ // Page Cache
117
+ // Don't cache pages for logged in users
118
+ $pgcache_reject_logged = $w3tc_config->get_boolean( 'pgcache.reject.logged' );
119
+
120
+ //Minify
121
+ $minify_reject_logged = $w3tc_config->get_boolean( 'minify.reject.logged' );
122
+
123
+ //Database cache
124
+ $dbcache_reject_logged = $w3tc_config->get_boolean( 'dbcache.reject.logged' );
125
+
126
+ if ( ! $notice_dismissed && ( ! $pgcache_reject_logged || ! $minify_reject_logged || ! $dbcache_reject_logged ) ) {
127
+ $display_notice = true;
128
+ }
129
+
130
+ if ( $display_notice && $current_parent_base != 'dslc_plugin_options' ) {?>
131
+
132
+ <div class="notice dslc-notice notice-error is-dismissible" id="<?php echo $notice_id; ?>" data-nonce="<?php echo $notice_nonce; ?>">
133
+ <p><?php _e( 'There is a problem in W3 Total Cache plugin settings that <strong>can break your page builder</strong>. Luckily, <a href="' . admin_url( 'admin.php?page=dslc_getting_started' ) . '">it\'s easy to fix it</a>.', 'live-composer-page-builder' ); ?></p>
134
+ </div><?php
135
+
136
+ } elseif ( $display_notice && $current_parent_base == 'dslc_plugin_options' ) { ?>
137
+
138
+ <div class="notice dslc-notice notice-error is-dismissible" id="<?php echo $notice_id; ?>" data-nonce="<?php echo $notice_nonce; ?>">
139
+ <p><?php _e( 'Wrong <strong>W3 Total Cache plugin</strong> settings can break Live Composer. Please check the next settings:', 'live-composer-page-builder' ); ?></p>
140
+ <ul style="padding-left: 30px;">
141
+ <?php if ( ! $pgcache_reject_logged ) { ?>
142
+ <li type="disc"><?php
143
+ echo ' <a href="' . admin_url( 'admin.php?page=w3tc_pgcache' ) . '" target="_blank">';
144
+ _e( 'WP Admin &#8594; Performance &#8594; Page Cache', 'live-composer-page-builder' );
145
+ echo ' &#8594; ';
146
+ _e( 'General ', 'live-composer-page-builder' );
147
+ echo '</a> &#8594;<strong> ';
148
+ _e( 'Don\'t cache pages for logged in users', 'live-composer-page-builder' );
149
+ echo '</strong> ';
150
+ _e( '– should be selected', 'live-composer-page-builder' );
151
+ ?>
152
+ </li>
153
+ <?php } ?>
154
+ <?php if ( ! $minify_reject_logged ) { ?>
155
+ <li type="disc"><?php
156
+ echo ' <a href="' . admin_url( 'admin.php?page=w3tc_minify' ) . '" target="_blank">';
157
+ _e( 'WP Admin &#8594; Performance &#8594; Page Cache', 'live-composer-page-builder' );
158
+ echo ' &#8594; ';
159
+ _e( 'Minify ', 'live-composer-page-builder' );
160
+ echo '</a> &#8594;<strong> ';
161
+ _e( 'Disable minify for logged in users', 'live-composer-page-builder' );
162
+ echo '</strong> ';
163
+ _e( '– should be selected', 'live-composer-page-builder' );
164
+ ?>
165
+ </li>
166
+ <?php } ?>
167
+ <?php if ( ! $dbcache_reject_logged ) { ?>
168
+ <li type="disc"><?php
169
+ echo ' <a href="' . admin_url( 'admin.php?page=w3tc_dbcache' ) . '" target="_blank">';
170
+ _e( 'WP Admin &#8594; Performance &#8594; Page Cache', 'live-composer-page-builder' );
171
+ echo ' &#8594; ';
172
+ _e( 'Database Cache ', 'live-composer-page-builder' );
173
+ echo '</a> &#8594;<strong> ';
174
+ _e( 'Don\'t cache queries for logged in users', 'live-composer-page-builder' );
175
+ echo '</strong> ';
176
+ _e( '– should be selected', 'live-composer-page-builder' );
177
+ ?>
178
+ </li>
179
+ <?php } ?>
180
+ </ul>
181
+ </div>
182
+ <?php }
183
+
184
+ }
185
+
186
+ }
187
+ add_action( 'admin_notices', 'dslc_w3tc_admin_notice' );
188
+
189
+ /**
190
+ * Show notice if wrong settings detected in WP Admin > General
191
+ *
192
+ * @since 1.0.8
193
+ *
194
+ * Check settings in WP Admin > General.

195
+ * It's recommended to have WordPress Address and Site Address pointing
196
+ * at the same URL.
 Otherwise we can have an issue when WordPress
197
+ * set authentication cookies for WordPress Address only.

198
+ * In this case users can't edit website via front end
199
+ * as they not logged in as admin there.
200
+ */
201
+
202
+ function dslc_check_wpsettings_admin_notice() {
203
+ $wp_url = get_option( 'siteurl' );
204
+ $wp_site_url = get_option( 'home' );
205
+ $check_url = strcmp( $wp_url, $wp_site_url );
206
+
207
+ $screen = get_current_screen();
208
+ $current_parent_base = $screen->parent_base;
209
+
210
+ $notice_id = 'wrong_wpsettings_settings';
211
+ $display_notice = false;
212
+ $notice_dismissed = dslc_notice_dismissed( $notice_id );
213
+ $notice_nonce = dslc_generate_notice_nonce( $notice_id );
214
+
215
+
216
+ if ( ! $notice_dismissed && $check_url ) {
217
+ $display_notice = true;
218
+ }
219
+
220
+ if ( $display_notice && $current_parent_base != 'dslc_plugin_options' ) {?>
221
+
222
+ <div class="notice dslc-notice notice-error is-dismissible" id="<?php echo $notice_id; ?>" data-nonce="<?php echo $notice_nonce; ?>">
223
+ <p><?php _e( '<strong>Live Composer:</strong> probably there is a problem with your website settings. <a href="' . admin_url( 'admin.php?page=dslc_getting_started' ) . '">Click here to find out more.</a>', 'live-composer-page-builder' ); ?></p>
224
+ </div><?php
225
+
226
+ } elseif ( $display_notice && $current_parent_base == 'dslc_plugin_options' ) { ?>
227
+
228
+ <div class="notice dslc-notice notice-error is-dismissible" id="<?php echo $notice_id; ?>" data-nonce="<?php echo $notice_nonce; ?>">
229
+ <p><?php _e( 'Wrong settings found in <strong><a href="' . admin_url( 'options-general.php' ) . '" target="_blank">WP Admin &#8594; Settings</a></strong>: <strong>Wordpress Address</strong> and <strong>Site Address</strong> should be the same to make front-editing possible with Live Composer.', 'live-composer-page-builder' ); ?></p>
230
+ </div>
231
+ <?php }
232
+ }
233
+ add_action( 'admin_notices', 'dslc_check_wpsettings_admin_notice' );
includes/plugin-options-framework/css/main.css CHANGED
@@ -1,3 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  .dslca-plugin-opts-list-wrap {
2
 
3
  }
@@ -84,7 +113,7 @@
84
  font-size: 14px;
85
  }
86
 
87
- .lc-subscribe input[type=text] {
88
  border-color: rgb(220, 221, 221);
89
  color: #000;
90
  border-width: 1px;
@@ -92,12 +121,18 @@
92
  border-radius: 4px;
93
  font-size: 14px;
94
  font-weight: 300;
95
- margin: 0px;
96
  padding: 8px 12px;
97
- width: 250px;
 
98
  margin-right: 22px;
99
  }
100
 
 
 
 
 
 
101
  .activecampaign_form .add_thank_you:before {
102
  content: "\f147";
103
  display: inline-block;
@@ -126,36 +161,1758 @@
126
  border: solid 1px #FCB6AC;
127
  }
128
 
129
- .activecampaign_form .button {
130
- width: 100px;
131
- font-size: 14px;
132
- height: 35px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
133
  }
134
 
135
- .dslc_twitter {
136
- margin-bottom: 7px;
 
 
 
 
 
 
 
 
 
137
  }
138
 
139
- .dslc_twitter span.dslc_social_text {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
140
  position: absolute;
 
 
141
  }
142
 
143
- .dslc_facebook {
144
- margin-bottom: 10px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
145
  }
146
 
147
- #share-buttons span.dslc_social_text {
148
- margin-left: 10px;
149
- font-size: 15px;
150
  }
151
 
152
- .dslc_facebook_group a:before {
153
- content: "\f304";
154
- display: inline-block;
155
- font-family: 'dashicons';
156
- font-size: 22px;
157
- padding-right: 3px;
158
- vertical-align: top;
159
- padding-top: 1px;
160
- color: #1b95e0;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
161
  }
1
+ #dslc-main-title {
2
+ min-height: 50px;
3
+ padding-left: 10px;
4
+ padding-top: 26px;
5
+ width: 50%;
6
+ }
7
+
8
+ #dslc-main-title .dslc-ver {
9
+ font-size: 17px;
10
+ font-weight: 300;
11
+ opacity: 0.4;
12
+ }
13
+
14
+ .dslc-subsection-title {
15
+ font-size: 21px;
16
+ font-weight: normal;
17
+ margin-bottom: 40px;
18
+ margin-top: 30px;
19
+ }
20
+
21
+ .dslc-tab-heading {
22
+ margin-bottom: 30px !important;
23
+ margin-top: 20px !important;
24
+ }
25
+
26
+ .dslc-subsection-title a {
27
+ text-decoration: none;
28
+ }
29
+
30
  .dslca-plugin-opts-list-wrap {
31
 
32
  }
113
  font-size: 14px;
114
  }
115
 
116
+ .activecampaign_form input[type=text] {
117
  border-color: rgb(220, 221, 221);
118
  color: #000;
119
  border-width: 1px;
121
  border-radius: 4px;
122
  font-size: 14px;
123
  font-weight: 300;
124
+ margin: 0 0 10px;
125
  padding: 8px 12px;
126
+ width: 97%;
127
+ max-width: 290px;
128
  margin-right: 22px;
129
  }
130
 
131
+ .activecampaign_form button.button-primary {
132
+ padding: 3px 12px;
133
+ height: auto;
134
+ }
135
+
136
  .activecampaign_form .add_thank_you:before {
137
  content: "\f147";
138
  display: inline-block;
161
  border: solid 1px #FCB6AC;
162
  }
163
 
164
+
165
+ #share-buttons span.dslc_social_text {
166
+ margin-left: 10px;
167
+ font-size: 15px;
168
+ }
169
+
170
+
171
+
172
+ /**
173
+ * ----------------------------------------------------------------------
174
+ * New Panel Styles for the LC options seciton
175
+ */
176
+
177
+ .dslc-panel {
178
+ background: #fff none repeat scroll 0 0;
179
+ border: 1px solid #e5e5e5;
180
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
181
+ font-size: 13px;
182
+ line-height: 2.1em;
183
+ margin: 16px 0;
184
+ overflow: auto;
185
+ padding: 23px 10px;
186
+ position: relative;
187
+ }
188
+
189
+ .dslc-panel h2 {
190
+ font-size: 21px;
191
+ font-weight: normal;
192
+ line-height: 1.2;
193
+ margin: 0;
194
+ }
195
+
196
+ .dslc-panel h3 {
197
+ font-size: 16px;
198
+ margin: 1.33em 0 0;
199
+ }
200
+
201
+ .dslc-panel h3 .dashicons{
202
+ color: #82878c;
203
+ font-size: 170%;
204
+ margin-right: 12px;
205
+ }
206
+ .dslc-panel .dslc-panel-column-container {
207
+ clear: both;
208
+ position: relative;
209
+ }
210
+ .dslc-panel .dslc-panel-column {
211
+ float: left;
212
+ min-width: 200px;
213
+ width: 30%;
214
+ padding-right: 2%;
215
+ }
216
+ .ie8 .dslc-panel .dslc-panel-column {
217
+ min-width: 230px;
218
+ }
219
+ /*.dslc-panel .dslc-panel-column:first-child {
220
+ width: 34%;
221
+ }*/
222
+ .dslc-panel-column p.hide-if-no-customize {
223
+ margin-top: 10px;
224
+ }
225
+ .dslc-panel-column p {
226
+ color: #444;
227
+ margin-top: 7px;
228
+ }
229
+
230
+ .dslc-panel li {
231
+ font-size: 14px;
232
+ }
233
+ .dslc-panel p {
234
+ color: #72777c;
235
+ }
236
+ .dslc-panel a {
237
+ text-decoration: none;
238
+ }
239
+ .dslc-panel .about-description {
240
+ font-size: 16px;
241
+ margin: 0;
242
+ }
243
+ .dslc-panel-content {
244
+ margin-left: 13px;
245
+ max-width: 1500px;
246
+ }
247
+
248
+ .dslc-panel .dslc-panel-column ul {
249
+ margin: 0.8em 1em 1em 0;
250
+ }
251
+ .dslc-panel .dslc-panel-column li {
252
+ line-height: 16px;
253
+ list-style-type: none;
254
+ padding: 0 0 8px;
255
+ }
256
+ .dslc-panel .dslc-panel-icon {
257
+ background: transparent none repeat scroll 0 0 !important;
258
+ }
259
+ .dslc-panel .dslc-panel-icon:before,
260
+ .dslc-panel li .dashicons {
261
+ -moz-osx-font-smoothing: grayscale;
262
+ color: #82878c;
263
+ display: inline-block;
264
+ font: 20px/1 dashicons;
265
+ padding: 0 10px 0 0;
266
+ position: relative;
267
+ text-decoration: none !important;
268
+ vertical-align: top;
269
+ top: -2px;
270
+ }
271
+
272
+ .dslc-panel .dslc-panel-twitter:before {
273
+ content: "\f301";
274
+ }
275
+
276
+ .dslc-panel .dslc-panel-facebook:before {
277
+ content: "\f304";
278
+ }
279
+
280
+ .dslc-panel .dslc-panel-facebook-page:before {
281
+ content: "\f305";
282
+ }
283
+
284
+ .dslc-panel .dslc-panel-show-work:before {
285
+ content: "\f529";
286
+ }
287
+
288
+ /**
289
+ * ----------------------------------------------------------------------
290
+ * New LC is Coming Panel
291
+ */
292
+
293
+ #new-lc-coming {
294
+ background: #4AC496;
295
+ border-color: #47a380 #35b484 #35b484;
296
+ color: #fff;
297
+ margin-top: -17px;
298
+ }
299
+
300
+ #new-lc-coming h2 {
301
+ color: #fff;
302
+ margin-top: 16px;
303
+ width: 50%;
304
+ margin-left: 100px;
305
+ }
306
+
307
+ #new-lc-coming h3 {
308
+ color: #2E3432;
309
+ }
310
+
311
+ #new-lc-coming h3 .dashicons {
312
+ color: #279168;
313
+ }
314
+
315
+ #new-lc-coming p {
316
+ color: #1F523F;
317
+ }
318
+
319
+ #new-lc-coming hr {
320
+ margin-top: 30px;
321
+ border-color: #3fb085 #4ac496 #6dcfaa;
322
+
323
  }
324
 
325
+ #new-lc-coming .button-hero {
326
+ background: #2fab7c none repeat scroll 0 0;
327
+ border-color: #34a077;
328
+ box-shadow: 0 2px 0 #26805d;
329
+ font-size: 18px;
330
+ height: auto;
331
+ left: 64%;
332
+ padding: 4px 26px;
333
+ position: absolute;
334
+ text-shadow: none;
335
+ top: 37px;
336
  }
337
 
338
+ #new-lc-coming .button-hero .dashicons {
339
+ display: inline-block;
340
+ font-size: 150%;
341
+ margin-right: 14px;
342
+ vertical-align: text-top;
343
+ }
344
+
345
+ #new-lc-coming .button-hero:active {
346
+ box-shadow: 0 3px 0 #26805d inset;
347
+ }
348
+
349
+ #new-lc-coming p.about-description {
350
+ color: #a0e4ca;
351
+ line-height: 1.3;
352
+ width: 50%;
353
+ margin-left: 100px;
354
+ }
355
+
356
+ #new-lc-coming .mink-illustration {
357
  position: absolute;
358
+ top: 28px;
359
+ width: 80px;
360
  }
361
 
362
+ /*
363
+
364
+
365
+
366
+ .dslc-panel .dslc-panel-close {
367
+ font-size: 13px;
368
+ line-height: 1.23077;
369
+ padding: 10px 15px 10px 21px;
370
+ position: absolute;
371
+ right: 10px;
372
+ text-decoration: none;
373
+ top: 10px;
374
+ }
375
+ .dslc-panel .dslc-panel-close::before {
376
+ left: 0;
377
+ position: absolute;
378
+ top: 8px;
379
+ transition: all 0.1s ease-in-out 0s;
380
+ }
381
+ .wp-core-ui .dslc-panel .button.button-hero {
382
+ height: auto;
383
+ line-height: 1.42857;
384
+ margin: 15px 13px 3px 0;
385
+ padding: 12px 36px;
386
+ white-space: normal;
387
  }
388
 
389
+
390
+ .dslc-panel .welcome-widgets-menus {
391
+ line-height: 16px;
392
  }
393
 
394
+ .dslc-panel .welcome-write-blog::before, .dslc-panel .welcome-edit-page::before {
395
+ content: "";
396
+ top: -3px;
397
+ }
398
+ .dslc-panel .welcome-add-page::before {
399
+ content: "";
400
+ top: -1px;
401
+ }
402
+ .dslc-panel .welcome-view-site::before {
403
+ content: "";
404
+ top: -2px;
405
+ }
406
+ .dslc-panel .welcome-widgets-menus::before {
407
+ content: "";
408
+ top: -2px;
409
+ }
410
+ .dslc-panel .welcome-comments::before {
411
+ content: "";
412
+ top: -1px;
413
+ }
414
+ .dslc-panel .welcome-learn-more::before {
415
+ content: "";
416
+ top: -1px;
417
+ }
418
+ */
419
+
420
+ /**
421
+ * ----------------------------------------------------------------------
422
+ * Extensions
423
+ */
424
+
425
+ .extension-browser .extensions {
426
+ clear: both;
427
+ }
428
+ .extensions-php .wrap h1 {
429
+ float: left;
430
+ margin-bottom: 15px;
431
+ }
432
+ .network-admin.extensions-php .wrap h1 {
433
+ margin-bottom: 0;
434
+ }
435
+ .extensions-php .wrap h1 .button {
436
+ margin-left: 20px;
437
+ }
438
+ .extensions-php .wp-filter-search {
439
+ font-size: 16px;
440
+ font-weight: 300;
441
+ left: 20px;
442
+ line-height: 1.5;
443
+ margin: 0;
444
+ position: relative;
445
+ top: -2px;
446
+ width: 280px;
447
+ }
448
+ .extensions-php div.updated, .extensions-php div.error, .extensions-php div.notice {
449
+ clear: both;
450
+ margin: 0 0 20px;
451
+ }
452
+ .extension-browser .extension {
453
+ border: 1px solid #ddd;
454
+ box-shadow: 0 1px 1px -1px rgba(0, 0, 0, 0.1);
455
+ box-sizing: border-box;
456
+ cursor: pointer;
457
+ float: left;
458
+ margin: 0 4% 4% 0;
459
+ position: relative;
460
+ width: 30.6%;
461
+ }
462
+ .ie8 .extension-browser .extension {
463
+ margin: 0 3% 4% 0;
464
+ width: 30%;
465
+ }
466
+ .extension-browser .extension:nth-child(3n) {
467
+ margin-right: 0;
468
+ }
469
+ .extension-browser .extension:hover, .extension-browser .extension:focus {
470
+ cursor: default;
471
+ }
472
+ .extension-browser .extension .extension-name {
473
+ background: rgba(255, 255, 255, 0.65) none repeat scroll 0 0;
474
+ box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1) inset;
475
+ font-size: 15px;
476
+ font-weight: 600;
477
+ height: 18px;
478
+ margin: 0;
479
+ overflow: hidden;
480
+ padding: 15px;
481
+ text-overflow: ellipsis;
482
+ white-space: nowrap;
483
+ }
484
+
485
+ .extension-browser .extension .extension-name em {
486
+ font-size: 75%;
487
+ font-style: normal;
488
+ font-weight: normal;
489
+ margin-right: 3px;
490
+ opacity: 0.5;
491
+ text-transform: uppercase;
492
+ vertical-align: top;
493
+ }
494
+
495
+ .extension-browser .extension .extension-name .price {
496
+ color: #0073aa;
497
+ display: inline-block;
498
+ position: absolute;
499
+ right: 20px;
500
+ }
501
+
502
+ .extension-browser .extension .extension-name .price .dashicons {
503
+ opacity: .9;
504
+ }
505
+
506
+ .extension-browser .extension .extension-actions {
507
+ background: rgba(244, 244, 244, 0.7) none repeat scroll 0 0;
508
+ border-left: 1px solid rgba(0, 0, 0, 0.05);
509
+ bottom: 0;
510
+ height: 38px;
511
+ opacity: 0;
512
+ padding: 9px 10px 0;
513
+ position: absolute;
514
+ right: 0;
515
+ transition: opacity 0.1s ease-in-out 0s;
516
+ }
517
+ .extension-browser .extension:hover .extension-actions, .extension-browser .extension.focus .extension-actions, .extension-browser .extension:focus .extension-actions {
518
+ opacity: 1;
519
+ }
520
+ .extension-browser .extension .extension-actions .button-primary {
521
+ margin-right: 3px;
522
+ }
523
+ .extension-browser .extension .extension-actions .button-secondary {
524
+ float: none;
525
+ margin-left: 3px;
526
+ }
527
+ .extension-browser .extension .extension-screenshot {
528
+ display: block;
529
+ overflow: hidden;
530
+ position: relative;
531
+ transition: opacity 0.2s ease-in-out 0s;
532
+ }
533
+ .extension-browser .extension .extension-screenshot::after {
534
+ content: "";
535
+ display: block;
536
+ padding-top: 65.6667%;
537
+ }
538
+ .extension-browser .extension .extension-screenshot img {
539
+ height: auto;
540
+ left: 0;
541
+ position: absolute;
542
+ top: 0;
543
+ transition: opacity 0.2s ease-in-out 0s;
544
+ width: 100%;
545
+ }
546
+ .extension-browser .extension:hover .extension-screenshot, .extension-browser .extension:focus .extension-screenshot {
547
+ background: #fff none repeat scroll 0 0;
548
+ }
549
+ .extension-browser.rendered .extension:hover .extension-screenshot img, .extension-browser.rendered .extension:focus .extension-screenshot img {
550
+ opacity: 0.4;
551
+ }
552
+ .extension-browser .extension .more-details {
553
+ background: rgba(0, 0, 0, 0.7) none repeat scroll 0 0;
554
+ border-radius: 3px;
555
+ color: #fff;
556
+ font-size: 15px;
557
+ font-weight: 600;
558
+ left: 25%;
559
+ opacity: 0;
560
+ padding: 15px 12px;
561
+ position: absolute;
562
+ right: 25%;
563
+ text-align: center;
564
+ text-decoration: none;
565
+ text-shadow: 0 1px 0 rgba(0, 0, 0, 0.6);
566
+ top: 35%;
567
+ transition: opacity 0.1s ease-in-out 0s;
568
+ }
569
+ .extension-browser .extension:focus {
570
+ border-color: #5b9dd9;
571
+ box-shadow: 0 0 2px rgba(30, 140, 190, 0.8);
572
+ }
573
+ .extension-browser .extension:focus .more-details {
574
+ opacity: 1;
575
+ }
576
+ .extension-browser .extension.active:focus .extension-actions {
577
+ display: block;
578
+ }
579
+ .extension-browser.rendered .extension:hover .more-details, .extension-browser.rendered .extension:focus .more-details {
580
+ opacity: 1;
581
+ }
582
+ .extension-browser .extension .extension-update, .extension-browser .extension .extension-installed {
583
+ background: rgba(213, 78, 33, 0.95) none repeat scroll 0 0;
584
+ border-bottom: 1px solid rgba(0, 0, 0, 0.25);
585
+ color: #fff;
586
+ display: block;
587
+ font-size: 13px;
588
+ font-weight: 400;
589
+ height: 48px;
590
+ left: 0;
591
+ line-height: 48px;
592
+ overflow: hidden;
593
+ padding: 0 10px;
594
+ position: absolute;
595
+ right: 0;
596
+ top: 0;
597
+ }
598
+ .extension-browser .extension .extension-update::before, .extension-browser .extension .extension-installed::before {
599
+ content: "";
600
+ display: inline-block;
601
+ font: 20px/1 dashicons;
602
+ margin: 0 6px 0 0;
603
+ opacity: 0.8;
604
+ position: relative;
605
+ top: 5px;
606
+ }
607
+ .extension-browser .extension.active .extension-name {
608
+ background: #23282d none repeat scroll 0 0;
609
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.5) inset;
610
+ color: #fff;
611
+ font-weight: 300;
612
+ padding-right: 110px;
613
+ }
614
+ .extension-browser .customize-control .extension.active .extension-name {
615
+ padding-right: 15px;
616
+ }
617
+ .extension-browser .extension.active .extension-name span {
618
+ font-weight: 600;
619
+ }
620
+ .extension-browser .extension.active .extension-actions {
621
+ background: rgba(49, 49, 49, 0.7) none repeat scroll 0 0;
622
+ border-left: medium none;
623
+ opacity: 1;
624
+ }
625
+ .extension-browser .extension.active .extension-actions .button-primary {
626
+ margin-right: 0;
627
+ }
628
+ .extension-browser .extension .extension-author {
629
+ background: #23282d none repeat scroll 0 0;
630
+ bottom: 56px;
631
+ color: #eee;
632
+ display: none;
633
+ font-size: 14px;
634
+ margin: 0 10px;
635
+ padding: 5px 10px;
636
+ position: absolute;
637
+ }
638
+ .extension-browser .extension.display-author .extension-author {
639
+ display: block;
640
+ }
641
+ .extension-browser .extension.display-author .extension-author a {
642
+ color: inherit;
643
+ text-decoration: none;
644
+ }
645
+ .extension-browser .extension.add-new-extension {
646
+ border: medium none;
647
+ box-shadow: none;
648
+ }
649
+ .extension-browser .extension.add-new-extension a {
650
+ display: block;
651
+ position: relative;
652
+ text-decoration: none;
653
+ z-index: 1;
654
+ }
655
+ .extension-browser .extension.add-new-extension a::after {
656
+ background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
657
+ border: 5px dashed rgba(0, 0, 0, 0.1);
658
+ bottom: 0;
659
+ box-sizing: border-box;
660
+ content: "";
661
+ display: block;
662
+ left: 0;
663
+ padding: 0;
664
+ position: absolute;
665
+ right: 0;
666
+ text-shadow: none;
667
+ top: 0;
668
+ }
669
+ .extension-browser .extension.add-new-extension span::after {
670
+ background: rgba(153, 153, 153, 0.1) none repeat scroll 0 0;
671
+ border-radius: 50%;
672
+ color: rgb(153, 153, 153);
673
+ content: "\f106";
674
+ display: inline-block;
675
+ font: 74px/115px dashicons;
676
+ height: 100px;
677
+ left: 50%;
678
+ margin-left: -50px;
679
+ padding: 0;
680
+ position: absolute;
681
+ text-align: center;
682
+ text-indent: -4px;
683
+ text-shadow: none;
684
+ top: 30%;
685
+ vertical-align: middle;
686
+ width: 100px;
687
+ z-index: 4;
688
+ }
689
+
690
+ .extension-browser .extension.add-new-extension.add-new-theme span::after {
691
+ content: "\f100";
692
+ }
693
+
694
+ .rtl .extension-browser .extension.add-new-extension span::after {
695
+ text-indent: 4px;
696
+ }
697
+ .extension-browser .extension.add-new-extension a:hover .extension-screenshot, .extension-browser .extension.add-new-extension a:focus .extension-screenshot {
698
+ background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
699
+ }
700
+ .extension-browser .extension.add-new-extension a:hover span::after, .extension-browser .extension.add-new-extension a:focus span::after {
701
+ background: #fff none repeat scroll 0 0;
702
+ color: #0073aa;
703
+ }
704
+ .extension-browser .extension.add-new-extension a:hover::after, .extension-browser .extension.add-new-extension a:focus::after {
705
+ background: #0073aa none repeat scroll 0 0;
706
+ border-color: transparent;
707
+ color: #fff;
708
+ content: "";
709
+ }
710
+ .extension-browser .extension.add-new-extension .extension-name {
711
+ background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
712
+ box-shadow: none;
713
+ font-weight: 400;
714
+ margin-top: -18px;
715
+ padding-bottom: 48px;
716
+ padding-top: 0;
717
+ position: relative;
718
+ text-align: center;
719
+ top: 0;
720
+ }
721
+ .extension-browser .extension.add-new-extension a:hover .extension-name, .extension-browser .extension.add-new-extension a:focus .extension-name {
722
+ color: #fff;
723
+ z-index: 2;
724
+ }
725
+ .extension-overlay .extension-backdrop {
726
+ background: rgba(238, 238, 238, 0.9) none repeat scroll 0 0;
727
+ bottom: 0;
728
+ left: -20px;
729
+ position: absolute;
730
+ right: 0;
731
+ top: 0;
732
+ z-index: 10000;
733
+ }
734
+ .extension-overlay .extension-header {
735
+ border-bottom: 1px solid #ddd;
736
+ height: 48px;
737
+ left: 0;
738
+ position: absolute;
739
+ right: 0;
740
+ top: 0;
741
+ }
742
+ .extension-overlay .extension-header button {
743
+ padding: 0;
744
+ }
745
+ .extension-overlay .extension-header .close {
746
+ -moz-border-bottom-colors: none;
747
+ -moz-border-left-colors: none;
748
+ -moz-border-right-colors: none;
749
+ -moz-border-top-colors: none;
750
+ background-color: transparent;
751
+ border-color: -moz-use-text-color -moz-use-text-color -moz-use-text-color #ddd;
752
+ border-image: none;
753
+ border-style: none none none solid;
754
+ border-width: 0 0 0 1px;
755
+ cursor: pointer;
756
+ float: right;
757
+ height: 48px;
758
+ text-align: center;
759
+ transition: color 0.1s ease-in-out 0s, background 0.1s ease-in-out 0s;
760
+ width: 50px;
761
+ }
762
+ .extension-overlay .extension-header .close::before {
763
+ color: #72777c;
764
+ content: "";
765
+ display: inline-block;
766
+ font: 22px/50px dashicons !important;
767
+ }
768
+ .extension-overlay .extension-header .right, .extension-overlay .extension-header .left {
769
+ -moz-border-bottom-colors: none;
770
+ -moz-border-left-colors: none;
771
+ -moz-border-right-colors: none;
772
+ -moz-border-top-colors: none;
773
+ background-color: transparent;
774
+ border-color: -moz-use-text-color #ddd -moz-use-text-color -moz-use-text-color;
775
+ border-image: none;
776
+ border-style: none solid none none;
777
+ border-width: 0 1px 0 0;
778
+ color: #72777c;
779
+ cursor: pointer;
780
+ float: left;
781
+ height: 48px;
782
+ text-align: center;
783
+ transition: color 0.1s ease-in-out 0s, background 0.1s ease-in-out 0s;
784
+ width: 54px;
785
+ }
786
+ .extension-overlay .extension-header .close:focus, .extension-overlay .extension-header .close:hover, .extension-overlay .extension-header .right:focus, .extension-overlay .extension-header .right:hover, .extension-overlay .extension-header .left:focus, .extension-overlay .extension-header .left:hover {
787
+ background: #ddd none repeat scroll 0 0;
788
+ border-color: #ccc;
789
+ color: #000;
790
+ }
791
+ .extension-overlay .extension-header .close:focus::before, .extension-overlay .extension-header .close:hover::before {
792
+ color: #000;
793
+ }
794
+ .extension-overlay .extension-header .close:focus, .extension-overlay .extension-header .right:focus, .extension-overlay .extension-header .left:focus {
795
+ box-shadow: none;
796
+ outline: medium none;
797
+ }
798
+ .extension-overlay .extension-header .left.disabled, .extension-overlay .extension-header .right.disabled, .extension-overlay .extension-header .left.disabled:hover, .extension-overlay .extension-header .right.disabled:hover {
799
+ background: inherit;
800
+ color: #ccc;
801
+ cursor: inherit;
802
+ }
803
+ .extension-overlay .extension-header .right::before, .extension-overlay .extension-header .left::before {
804
+ display: inline;
805
+ font: 20px/50px dashicons !important;
806
+ }
807
+ .extension-overlay .extension-header .left::before {
808
+ content: "";
809
+ }
810
+ .extension-overlay .extension-header .right::before {
811
+ content: "";
812
+ }
813
+ .extension-overlay .extension-wrap {
814
+ background: #fff none repeat scroll 0 0;
815
+ bottom: 3%;
816
+ box-shadow: 0 1px 20px 5px rgba(0, 0, 0, 0.1);
817
+ box-sizing: border-box;
818
+ clear: both;
819
+ left: 190px;
820
+ position: fixed;
821
+ right: 30px;
822
+ top: 9%;
823
+ z-index: 10000;
824
+ }
825
+ body.folded .extension-overlay .extension-wrap {
826
+ left: 70px;
827
+ }
828
+ .extension-overlay .extension-about {
829
+ bottom: 57px;
830
+ left: 0;
831
+ overflow: auto;
832
+ padding: 2% 4%;
833
+ position: absolute;
834
+ right: 0;
835
+ top: 49px;
836
+ }
837
+ .extension-overlay .extension-actions {
838
+ background: #f3f3f3 none repeat scroll 0 0;
839
+ border-top: 1px solid #eee;
840
+ bottom: 0;
841
+ box-sizing: border-box;
842
+ left: 0;
843
+ padding: 10px 25px 5px;
844
+ position: absolute;
845
+ right: 0;
846
+ text-align: center;
847
+ z-index: 30;
848
+ }
849
+ .ie8 .extension-overlay .extension-actions {
850
+ border: 1px solid #eee;
851
+ }
852
+ .extension-overlay .extension-actions a {
853
+ margin-bottom: 5px;
854
+ margin-right: 5px;
855
+ }
856
+ .customize-support .extension-overlay .extension-actions a[href="extensions.php?page=custom-header"], .customize-support .extension-overlay .extension-actions a[href="extensions.php?page=custom-background"] {
857
+ display: none;
858
+ }
859
+ .broken-extensions a.delete-extension, .extension-overlay .extension-actions .delete-extension {
860
+ background: transparent none repeat scroll 0 0;
861
+ border-color: transparent;
862
+ box-shadow: none;
863
+ color: #a00;
864
+ text-decoration: none;
865
+ }
866
+ .extension-overlay .extension-actions .delete-extension {
867
+ bottom: 5px;
868
+ position: absolute;
869
+ right: 10px;
870
+ }
871
+ .broken-extensions a.delete-extension:hover, .broken-extensions a.delete-extension:focus, .extension-overlay .extension-actions .delete-extension:hover, .extension-overlay .extension-actions .delete-extension:focus {
872
+ background: #d54e21 none repeat scroll 0 0;
873
+ border-color: #d54e21;
874
+ color: #fff;
875
+ }
876
+ .extension-overlay .extension-actions .active-extension, .extension-overlay.active .extension-actions .inactive-extension {
877
+ display: none;
878
+ }
879
+ .extension-overlay .extension-actions .inactive-extension, .extension-overlay.active .extension-actions .active-extension {
880
+ display: block;
881
+ }
882
+ .extension-overlay .extension-screenshots {
883
+ float: left;
884
+ margin: 0 30px 0 0;
885
+ max-width: 880px;
886
+ text-align: center;
887
+ width: 55%;
888
+ }
889
+ .extension-overlay .screenshot {
890
+ border: 1px solid #fff;
891
+ box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
892
+ box-sizing: border-box;
893
+ overflow: hidden;
894
+ position: relative;
895
+ }
896
+ .extension-overlay .screenshot::after {
897
+ content: "";
898
+ display: block;
899
+ padding-top: 75%;
900
+ }
901
+ .extension-overlay .screenshot img {
902
+ height: auto;
903
+ left: 0;
904
+ position: absolute;
905
+ top: 0;
906
+ width: 100%;
907
+ }
908
+ .extension-overlay.small-screenshot .extension-screenshots {
909
+ position: absolute;
910
+ width: 302px;
911
+ }
912
+ .extension-overlay.small-screenshot .extension-info {
913
+ margin-left: 350px;
914
+ width: auto;
915
+ }
916
+ .extension-overlay .screenshot.thumb {
917
+ background: #ccc none repeat scroll 0 0;
918
+ border: 1px solid #eee;
919
+ cursor: pointer;
920
+ display: inline-block;
921
+ float: none;
922
+ height: 80px;
923
+ margin: 10px 5px 0;
924
+ width: 140px;
925
+ }
926
+ .extension-overlay .screenshot.thumb::after {
927
+ content: "";
928
+ display: block;
929
+ padding-top: 100%;
930
+ }
931
+ .extension-overlay .screenshot.thumb img {
932
+ cursor: pointer;
933
+ height: auto;
934
+ left: 0;
935
+ position: absolute;
936
+ top: 0;
937
+ width: 100%;
938
+ }
939
+ .extension-overlay .screenshot.selected {
940
+ background: transparent none repeat scroll 0 0;
941
+ border: 2px solid #00a0d2;
942
+ }
943
+ .extension-overlay .screenshot.selected img {
944
+ opacity: 0.8;
945
+ }
946
+ .extension-browser .extension .extension-screenshot.blank, .extension-overlay .screenshot.blank {
947
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAALElEQVQYGWO8d+/efwYkoKioiMRjYGBC4WHhUK6A8T8QIJt8//59ZC493AAAQssKpBK4F5AAAAAASUVORK5CYII=");
948
+ }
949
+ .extension-overlay .extension-info {
950
+ float: left;
951
+ width: 40%;
952
+ }
953
+ .extension-overlay .current-label {
954
+ -moz-user-select: none;
955
+ background: #32373c none repeat scroll 0 0;
956
+ border-radius: 2px;
957
+ color: #fff;
958
+ display: inline-block;
959
+ font-size: 11px;
960
+ margin: 0 0 -10px;
961
+ padding: 2px 8px;
962
+ }
963
+ .extension-overlay .extension-name {
964
+ color: #23282d;
965
+ font-size: 32px;
966
+ font-weight: 100;
967
+ line-height: 1.3;
968
+ margin: 10px 0 0;
969
+ }
970
+ .extension-overlay .extension-version {
971
+ color: #72777c;
972
+ display: inline-block;
973
+ float: none;
974
+ font-size: 13px;
975
+ font-weight: 400;
976
+ margin-left: 10px;
977
+ }
978
+ .extension-overlay .extension-author {
979
+ color: #72777c;
980
+ font-size: 16px;
981
+ font-weight: 400;
982
+ line-height: inherit;
983
+ margin: 15px 0 25px;
984
+ }
985
+ .extension-overlay .extension-author a {
986
+ text-decoration: none;
987
+ }
988
+ .extension-overlay .extension-description {
989
+ color: #555;
990
+ font-size: 15px;
991
+ font-weight: 400;
992
+ line-height: 1.5;
993
+ margin: 30px 0 0;
994
+ }
995
+ .extension-overlay .extension-tags {
996
+ border-top: 3px solid #eee;
997
+ color: #82878c;
998
+ font-size: 13px;
999
+ font-weight: 400;
1000
+ margin: 30px 0 0;
1001
+ padding-top: 20px;
1002
+ }
1003
+ .extension-overlay .extension-tags span {
1004
+ color: #444;
1005
+ font-weight: bold;
1006
+ margin-right: 5px;
1007
+ }
1008
+ .extension-overlay .parent-extension {
1009
+ -moz-border-bottom-colors: none;
1010
+ -moz-border-left-colors: none;
1011
+ -moz-border-right-colors: none;
1012
+ -moz-border-top-colors: none;
1013
+ background: #f7fcfe none repeat scroll 0 0;
1014
+ border-color: #eee #eee #eee #00a0d2;
1015
+ border-image: none;
1016
+ border-style: solid;
1017
+ border-width: 1px 1px 1px 4px;
1018
+ font-size: 14px;
1019
+ font-weight: normal;
1020
+ margin-top: 30px;
1021
+ padding: 10px 10px 10px 20px;
1022
+ }
1023
+ .extension-overlay .parent-extension strong {
1024
+ font-weight: 700;
1025
+ }
1026
+ .single-extension .extension-overlay .extension-backdrop, .single-extension .extension-overlay .extension-header, .single-extension .extension {
1027
+ display: none;
1028
+ }
1029
+ .single-extension .extension-overlay .extension-wrap {
1030
+ bottom: auto;
1031
+ clear: both;
1032
+ left: auto;
1033
+ min-height: 330px;
1034
+ position: relative;
1035
+ right: auto;
1036
+ top: auto;
1037
+ z-index: 10;
1038
+ }
1039
+ .single-extension .extension-overlay .extension-about {
1040
+ padding: 30px 30px 70px;
1041
+ position: static;
1042
+ }
1043
+ .single-extension .extension-overlay .extension-actions {
1044
+ position: absolute;
1045
+ }
1046
+ @media only screen and (min-width: 2000px) {
1047
+ #wpwrap .extension-browser .extension {
1048
+ margin: 0 3% 3% 0;
1049
+ width: 17.6%;
1050
+ }
1051
+ #wpwrap .extension-browser .extension:nth-child(3n), #wpwrap .extension-browser .extension:nth-child(4n) {
1052
+ margin-right: 3%;
1053
+ }
1054
+ #wpwrap .extension-browser .extension:nth-child(5n) {
1055
+ margin-right: 0;
1056
+ }
1057
+ }
1058
+ @media only screen and (min-width: 1680px) {
1059
+ .extension-overlay .extension-wrap {
1060
+ margin: 0 auto;
1061
+ width: 1450px;
1062
+ }
1063
+ }
1064
+ @media only screen and (min-width: 1640px) {
1065
+ .extension-browser .extension {
1066
+ margin: 0 3% 3% 0;
1067
+ width: 22.7%;
1068
+ }
1069
+ .extension-browser .extension .extension-screenshot::after {
1070
+ padding-top: 75%;
1071
+ }
1072
+ .extension-browser .extension:nth-child(3n) {
1073
+ margin-right: 3%;
1074
+ }
1075
+ .extension-browser .extension:nth-child(4n) {
1076
+ margin-right: 0;
1077
+ }
1078
+ }
1079
+ @media only screen and (max-width: 1120px) {
1080
+ .extension-browser .extension {
1081
+ margin-right: 0;
1082
+ width: 47.5%;
1083
+ }
1084
+ .extension-browser .extension:nth-child(2n) {
1085
+ margin-right: 0;
1086
+ }
1087
+ .extension-browser .extension:nth-child(2n+1) {
1088
+ margin-right: 5%;
1089
+ }
1090
+ }
1091
+ @media only screen and (max-width: 900px) {
1092
+ .extension-overlay .extension-wrap {
1093
+ left: 65px;
1094
+ }
1095
+ }
1096
+ @media only screen and (max-width: 780px) {
1097
+ body.folded .extension-overlay .extension-wrap, .extension-overlay .extension-wrap {
1098
+ border: medium none;
1099
+ bottom: 0;
1100
+ left: 0;
1101
+ padding: 70px 20px 20px;
1102
+ position: fixed;
1103
+ right: 0;
1104
+ top: 0;
1105
+ z-index: 100000;
1106
+ }
1107
+ .extension-browser .extension.active .extension-name span {
1108
+ display: none;
1109
+ }
1110
+ .extension-overlay .extension-screenshots {
1111
+ width: 40%;
1112
+ }
1113
+ .extension-overlay .extension-info {
1114
+ width: 50%;
1115
+ }
1116
+ .single-extension .extension-wrap {
1117
+ padding: 10px;
1118
+ }
1119
+ .extension-browser .extension .extension-actions {
1120
+ padding: 5px 10px 4px;
1121
+ }
1122
+ .extension-overlay.small-screenshot .extension-screenshots {
1123
+ float: none;
1124
+ max-width: 302px;
1125
+ position: static;
1126
+ }
1127
+ .extension-overlay.small-screenshot .extension-info {
1128
+ margin-left: 0;
1129
+ width: auto;
1130
+ }
1131
+ .extension:hover:not(.active) .extension-actions, .extension:focus:not(.active) .extension-actions, .extension:hover .more-details, .extension:focus .more-details {
1132
+ display: none;
1133
+ }
1134
+ .extension-browser.rendered .extension:hover .extension-screenshot img, .extension-browser.rendered .extension:focus .extension-screenshot img {
1135
+ opacity: 1;
1136
+ }
1137
+ }
1138
+ @media only screen and (max-width: 480px) {
1139
+ .extension-browser .extension {
1140
+ margin-right: 0;
1141
+ width: 100%;
1142
+ }
1143
+ .extension-browser .extension:nth-child(2n), .extension-browser .extension:nth-child(3n) {
1144
+ margin-right: 0;
1145
+ }
1146
+ }
1147
+ @media only screen and (max-width: 650px) {
1148
+ .extension-overlay .extension-update, .extension-overlay .extension-description {
1149
+ margin-left: 0;
1150
+ }
1151
+ .extension-overlay .extension-actions .delete-extension {
1152
+ bottom: auto;
1153
+ position: relative;
1154
+ right: auto;
1155
+ }
1156
+ .extension-overlay .extension-actions .inactive-extension {
1157
+ display: inline;
1158
+ }
1159
+ .extension-overlay .extension-screenshots {
1160
+ float: none;
1161
+ width: 100%;
1162
+ }
1163
+ .extension-overlay .extension-info {
1164
+ width: 100%;
1165
+ }
1166
+ .extension-overlay .extension-author {
1167
+ margin: 5px 0 15px;
1168
+ }
1169
+ .extension-overlay .current-label {
1170
+ font-size: 13px;
1171
+ margin-top: 10px;
1172
+ }
1173
+ .extensions-php .wp-filter-search {
1174
+ clear: both;
1175
+ float: none;
1176
+ left: 0;
1177
+ margin: 10px 0;
1178
+ max-width: 280px;
1179
+ right: 0;
1180
+ top: 0;
1181
+ width: 100%;
1182
+ }
1183
+ .extension-browser .extension.add-new-extension span::after {
1184
+ font: 60px/90px dashicons;
1185
+ height: 80px;
1186
+ left: 50%;
1187
+ margin-left: -40px;
1188
+ text-indent: 0;
1189
+ top: 30%;
1190
+ width: 80px;
1191
+ }
1192
+ .single-extension .extension-wrap {
1193
+ margin: 0 -12px 0 -10px;
1194
+ padding: 10px;
1195
+ }
1196
+ .single-extension .extension-overlay .extension-about {
1197
+ overflow: visible;
1198
+ padding: 10px;
1199
+ }
1200
+ .single-extension .current-label {
1201
+ display: none;
1202
+ }
1203
+ .single-extension .extension-overlay .extension-actions {
1204
+ position: static;
1205
+ }
1206
+ }
1207
+ .broken-extensions {
1208
+ clear: both;
1209
+ }
1210
+ .broken-extensions table {
1211
+ border-spacing: 3px;
1212
+ padding: 3px;
1213
+ text-align: left;
1214
+ width: 50%;
1215
+ }
1216
+ .extension-browser .extension .extension-installed {
1217
+ background: #0073aa none repeat scroll 0 0;
1218
+ }
1219
+ .extension-browser .extension .extension-installed::before {
1220
+ content: "";
1221
+ }
1222
+ .extension-browser .extension.is-installed .extension-actions .button-primary {
1223
+ display: none !important;
1224
+ }
1225
+ .extension-install-php .wp-filter {
1226
+ padding: 0 20px;
1227
+ }
1228
+ .extension-install-php a.upload, .extension-install-php a.browse-extensions {
1229
+ cursor: pointer;
1230
+ }
1231
+ .extension-install-php a.browse-extensions, .extension-install-php.show-upload-extension a.upload {
1232
+ display: none;
1233
+ }
1234
+ .extension-install-php.show-upload-extension a.browse-extensions {
1235
+ display: inline;
1236
+ }
1237
+ .upload-extension, .upload-plugin {
1238
+ box-sizing: border-box;
1239
+ display: none;
1240
+ margin: 0;
1241
+ overflow: hidden;
1242
+ padding: 0;
1243
+ position: relative;
1244
+ top: 10px;
1245
+ width: 100%;
1246
+ }
1247
+ body.show-upload-extension .upload-extension, .upload-plugin {
1248
+ display: block;
1249
+ }
1250
+ .upload-extension .wp-upload-form, .upload-plugin .wp-upload-form {
1251
+ background: #fafafa none repeat scroll 0 0;
1252
+ border: 1px solid #e5e5e5;
1253
+ margin: 30px auto;
1254
+ max-width: 380px;
1255
+ padding: 30px;
1256
+ }
1257
+ .upload-extension .install-help, .upload-plugin .install-help {
1258
+ color: #555d66;
1259
+ font-size: 18px;
1260
+ font-style: normal;
1261
+ margin: 0;
1262
+ padding: 40px 0 0;
1263
+ text-align: center;
1264
+ }
1265
+ body.show-upload-extension .upload-extension + .wp-filter, body.show-upload-extension .upload-extension + .wp-filter + .extension-browser {
1266
+ display: none;
1267
+ }
1268
+ p.no-extensions {
1269
+ clear: both;
1270
+ color: #666;
1271
+ display: none;
1272
+ font-size: 18px;
1273
+ font-style: normal;
1274
+ margin: 0;
1275
+ padding: 100px 0;
1276
+ text-align: center;
1277
+ }
1278
+ body.no-results p.no-extensions {
1279
+ display: block;
1280
+ }
1281
+ body.show-upload-extension p.no-extensions {
1282
+ display: none !important;
1283
+ }
1284
+ .extension-install-php .add-new-extension {
1285
+ display: none !important;
1286
+ }
1287
+ @media only screen and (max-width: 1120px) {
1288
+ .upload-extension .wp-upload-form {
1289
+ margin: 20px 0;
1290
+ max-width: 100%;
1291
+ }
1292
+ .upload-extension .install-help {
1293
+ font-size: 15px;
1294
+ padding: 20px 0 0;
1295
+ text-align: left;
1296
+ }
1297
+ }
1298
+ .extension-details .extension-rating {
1299
+ line-height: 23px;
1300
+ }
1301
+ .extension-details .star-rating {
1302
+ display: inline;
1303
+ }
1304
+ .extension-details .num-ratings, .extension-details .no-rating {
1305
+ color: #72777c;
1306
+ font-size: 11px;
1307
+ }
1308
+ .extension-details .no-rating {
1309
+ display: block;
1310
+ line-height: 20px;
1311
+ }
1312
+ .appearance_page_custom-header #headimg {
1313
+ border: 1px solid #ddd;
1314
+ overflow: hidden;
1315
+ width: 100%;
1316
+ }
1317
+ .appearance_page_custom-header #upload-form p label {
1318
+ font-size: 12px;
1319
+ }
1320
+ .appearance_page_custom-header .available-headers .default-header {
1321
+ float: left;
1322
+ margin: 0 20px 20px 0;
1323
+ }
1324
+ .appearance_page_custom-header .random-header {
1325
+ clear: both;
1326
+ margin: 0 20px 20px 0;
1327
+ vertical-align: middle;
1328
+ }
1329
+ .appearance_page_custom-header .available-headers label input, .appearance_page_custom-header .random-header label input {
1330
+ margin-right: 10px;
1331
+ }
1332
+ .appearance_page_custom-header .available-headers label img {
1333
+ vertical-align: middle;
1334
+ }
1335
+ div#custom-background-image {
1336
+ border: 1px solid #ddd;
1337
+ min-height: 100px;
1338
+ }
1339
+ div#custom-background-image img {
1340
+ max-height: 300px;
1341
+ max-width: 400px;
1342
+ }
1343
+ body.full-overlay-active {
1344
+ overflow: hidden;
1345
+ }
1346
+ .wp-full-overlay {
1347
+ background: transparent none repeat scroll 0 0;
1348
+ bottom: 0;
1349
+ height: 100%;
1350
+ left: 0;
1351
+ min-width: 0;
1352
+ overflow: visible;
1353
+ position: fixed;
1354
+ right: 0;
1355
+ top: 0;
1356
+ z-index: 500000;
1357
+ }
1358
+ .wp-full-overlay-sidebar {
1359
+ background: #eee none repeat scroll 0 0;
1360
+ border-right: medium none;
1361
+ bottom: 0;
1362
+ box-sizing: border-box;
1363
+ height: 100%;
1364
+ left: 0;
1365
+ margin: 0;
1366
+ padding: 0;
1367
+ position: fixed;
1368
+ top: 0;
1369
+ width: 300px;
1370
+ z-index: 10;
1371
+ }
1372
+ .wp-full-overlay.collapsed .wp-full-overlay-sidebar {
1373
+ overflow: visible;
1374
+ }
1375
+ .wp-full-overlay.collapsed, .wp-full-overlay.expanded .wp-full-overlay-sidebar {
1376
+ margin-left: 0 !important;
1377
+ }
1378
+ .wp-full-overlay.expanded {
1379
+ margin-left: 300px;
1380
+ }
1381
+ .wp-full-overlay.collapsed .wp-full-overlay-sidebar {
1382
+ margin-left: -300px;
1383
+ }
1384
+ .wp-full-overlay-sidebar::after {
1385
+ bottom: 0;
1386
+ content: "";
1387
+ display: block;
1388
+ position: absolute;
1389
+ right: 0;
1390
+ top: 0;
1391
+ width: 3px;
1392
+ z-index: 1000;
1393
+ }
1394
+ .wp-full-overlay-main {
1395
+ bottom: 0;
1396
+ height: 100%;
1397
+ left: 0;
1398
+ position: absolute;
1399
+ right: 0;
1400
+ top: 0;
1401
+ }
1402
+ .wp-full-overlay-sidebar .wp-full-overlay-header {
1403
+ border-top: medium none;
1404
+ box-shadow: none;
1405
+ height: 45px;
1406
+ left: 0;
1407
+ line-height: 45px;
1408
+ margin: 0;
1409
+ padding: 0 15px;
1410
+ position: absolute;
1411
+ right: 0;
1412
+ z-index: 10;
1413
+ }
1414
+ .wp-full-overlay-sidebar .wp-full-overlay-header a.back {
1415
+ margin-top: 9px;
1416
+ }
1417
+ .wp-full-overlay-sidebar .wp-full-overlay-footer {
1418
+ border-bottom: medium none;
1419
+ border-top: medium none;
1420
+ bottom: 0;
1421
+ box-shadow: none;
1422
+ }
1423
+ .wp-full-overlay-sidebar .wp-full-overlay-sidebar-content {
1424
+ bottom: 45px;
1425
+ left: 0;
1426
+ overflow: auto;
1427
+ position: absolute;
1428
+ right: 0;
1429
+ top: 45px;
1430
+ }
1431
+ .extension-install-overlay .wp-full-overlay-sidebar .wp-full-overlay-header {
1432
+ padding: 0;
1433
+ }
1434
+ .extension-install-overlay .close-full-overlay, .extension-install-overlay .previous-extension, .extension-install-overlay .next-extension {
1435
+ background: #eee none repeat scroll 0 0;
1436
+ border-right: 1px solid #ddd;
1437
+ color: #444;
1438
+ cursor: pointer;
1439
+ display: block;
1440
+ float: left;
1441
+ height: 45px;
1442
+ padding-right: 2px;
1443
+ position: relative;
1444
+ text-decoration: none;
1445
+ transition: color 0.1s ease-in-out 0s, background 0.1s ease-in-out 0s;
1446
+ width: 45px;
1447
+ }
1448
+ .extension-install-overlay .close-full-overlay:hover, .extension-install-overlay .close-full-overlay:focus, .extension-install-overlay .previous-extension:hover, .extension-install-overlay .previous-extension:focus, .extension-install-overlay .next-extension:hover, .extension-install-overlay .next-extension:focus {
1449
+ background: #ddd none repeat scroll 0 0;
1450
+ border-color: #ccc;
1451
+ box-shadow: none;
1452
+ color: #000;
1453
+ outline: medium none;
1454
+ }
1455
+ .extension-install-overlay .close-full-overlay::before {
1456
+ content: "";
1457
+ font: 22px/1 dashicons;
1458
+ left: 13px;
1459
+ position: relative;
1460
+ top: 7px;
1461
+ }
1462
+ .extension-install-overlay .previous-extension::before {
1463
+ content: "";
1464
+ font: 20px/1 dashicons;
1465
+ left: 14px;
1466
+ position: relative;
1467
+ top: 6px;
1468
+ }
1469
+ .extension-install-overlay .next-extension::before {
1470
+ content: "";
1471
+ font: 20px/1 dashicons;
1472
+ left: 13px;
1473
+ position: relative;
1474
+ top: 6px;
1475
+ }
1476
+ .extension-install-overlay .previous-extension.disabled, .extension-install-overlay .next-extension.disabled, .extension-install-overlay .previous-extension.disabled:hover, .extension-install-overlay .previous-extension.disabled:focus, .extension-install-overlay .next-extension.disabled:hover, .extension-install-overlay .next-extension.disabled:focus {
1477
+ background: #eee none repeat scroll 0 0;
1478
+ color: #b4b9be;
1479
+ cursor: default;
1480
+ pointer-events: none;
1481
+ }
1482
+ .wp-core-ui .wp-full-overlay .collapse-sidebar {
1483
+ background-color: transparent !important;
1484
+ border: medium none !important;
1485
+ border-radius: 0 !important;
1486
+ bottom: 8px;
1487
+ box-shadow: none !important;
1488
+ color: #656a6f;
1489
+ left: 10px;
1490
+ line-height: 1;
1491
+ outline: 0 none;
1492
+ padding: 0;
1493
+ position: fixed;
1494
+ }
1495
+ .wp-core-ui .wp-full-overlay .collapse-sidebar:hover, .wp-core-ui .wp-full-overlay .collapse-sidebar:focus {
1496
+ color: #0073aa;
1497
+ }
1498
+ .wp-full-overlay .collapse-sidebar-arrow, .wp-full-overlay .collapse-sidebar-label {
1499
+ display: inline-block;
1500
+ line-height: 20px;
1501
+ vertical-align: middle;
1502
+ }
1503
+ .wp-full-overlay .collapse-sidebar-arrow {
1504
+ border-radius: 50%;
1505
+ height: 20px;
1506
+ margin: 0 2px;
1507
+ overflow: hidden;
1508
+ width: 20px;
1509
+ }
1510
+ .wp-full-overlay .collapse-sidebar:hover .collapse-sidebar-arrow, .wp-full-overlay .collapse-sidebar:focus .collapse-sidebar-arrow {
1511
+ box-shadow: 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
1512
+ }
1513
+ .wp-full-overlay .collapse-sidebar-label {
1514
+ margin-left: 3px;
1515
+ }
1516
+ .wp-full-overlay.collapsed .collapse-sidebar-label {
1517
+ display: none;
1518
+ }
1519
+ .wp-full-overlay .collapse-sidebar-arrow::before {
1520
+ -moz-osx-font-smoothing: grayscale;
1521
+ background: #eee none repeat scroll 0 0;
1522
+ content: "";
1523
+ display: block;
1524
+ font: 20px/1 dashicons;
1525
+ padding: 0;
1526
+ }
1527
+ .wp-full-overlay.collapsed .collapse-sidebar-arrow::before, .rtl .wp-full-overlay .collapse-sidebar-arrow::before {
1528
+ transform: rotate(180.001deg);
1529
+ }
1530
+ .rtl .wp-full-overlay.collapsed .collapse-sidebar-arrow::before {
1531
+ transform: none;
1532
+ }
1533
+ .wp-full-overlay, .wp-full-overlay-sidebar, .wp-full-overlay .collapse-sidebar, .wp-full-overlay-main {
1534
+ transition-duration: 0.2s;
1535
+ transition-property: left, right, top, bottom, width, margin;
1536
+ }
1537
+ .wp-full-overlay {
1538
+ background: #191e23 none repeat scroll 0 0;
1539
+ }
1540
+ .wp-full-overlay-main {
1541
+ background-color: #f1f1f1;
1542
+ }
1543
+ .expanded .wp-full-overlay-footer {
1544
+ border-top: 1px solid #ddd;
1545
+ bottom: 0;
1546
+ height: 45px;
1547
+ left: 0;
1548
+ position: fixed;
1549
+ width: 300px;
1550
+ }
1551
+ .wp-full-overlay-footer .devices {
1552
+ float: right;
1553
+ }
1554
+ .wp-full-overlay-footer .devices button {
1555
+ -moz-border-bottom-colors: none;
1556
+ -moz-border-left-colors: none;
1557
+ -moz-border-right-colors: none;
1558
+ -moz-border-top-colors: none;
1559
+ background: transparent none repeat scroll 0 0;
1560
+ border-color: transparent -moz-use-text-color;
1561
+ border-image: none;
1562
+ border-style: solid none;
1563
+ border-width: 1px medium 4px;
1564
+ box-shadow: none;
1565
+ cursor: pointer;
1566
+ height: 45px;
1567
+ margin: 0 0 0 -4px;
1568
+ padding: 0 3px;
1569
+ transition: background 0.1s ease-in-out 0s;
1570
+ }
1571
+ .wp-full-overlay-footer .devices button:focus {
1572
+ box-shadow: none;
1573
+ outline: medium none;
1574
+ }
1575
+ .wp-full-overlay-footer .devices button::before {
1576
+ color: #656a6f;
1577
+ display: inline-block;
1578
+ font: 20px/30px "dashicons";
1579
+ margin: 3px 0;
1580
+ padding: 4px 8px;
1581
+ vertical-align: top;
1582
+ }
1583
+ .wp-full-overlay-footer .devices button.active {
1584
+ border-bottom-color: #191e23;
1585
+ }
1586
+ .wp-full-overlay-footer .devices button:hover, .wp-full-overlay-footer .devices button:focus {
1587
+ background-color: #fff;
1588
+ }
1589
+ .wp-full-overlay-footer .devices button:focus {
1590
+ background-color: #fff;
1591
+ border-bottom-color: #0073aa;
1592
+ }
1593
+ .wp-full-overlay-footer .devices button.active::before, .wp-full-overlay-footer .devices button:hover::before, .wp-full-overlay-footer .devices button:focus::before {
1594
+ color: #191e23;
1595
+ }
1596
+ .wp-full-overlay-footer .devices .preview-desktop::before {
1597
+ content: "";
1598
+ }
1599
+ .wp-full-overlay-footer .devices .preview-tablet::before {
1600
+ content: "";
1601
+ }
1602
+ .wp-full-overlay-footer .devices .preview-mobile::before {
1603
+ content: "";
1604
+ }
1605
+ @media screen and (max-width: 1024px) {
1606
+ .wp-full-overlay-footer .devices {
1607
+ display: none;
1608
+ }
1609
+ }
1610
+ .collapsed .wp-full-overlay-footer .devices button::before {
1611
+ display: none;
1612
+ }
1613
+ .preview-mobile .wp-full-overlay-main {
1614
+ height: 480px;
1615
+ left: 50%;
1616
+ margin: auto 0 auto -160px;
1617
+ max-height: 100%;
1618
+ max-width: 100%;
1619
+ width: 320px;
1620
+ }
1621
+ .preview-tablet .wp-full-overlay-main {
1622
+ height: 1080px;
1623
+ left: 50%;
1624
+ margin: auto 0 auto -360px;
1625
+ max-height: 100%;
1626
+ max-width: 100%;
1627
+ width: 720px;
1628
+ }
1629
+ .no-customize-support .hide-if-no-customize, .customize-support .hide-if-customize, .no-customize-support.wp-core-ui .hide-if-no-customize, .no-customize-support .wp-core-ui .hide-if-no-customize, .customize-support.wp-core-ui .hide-if-customize, .customize-support .wp-core-ui .hide-if-customize {
1630
+ display: none;
1631
+ }
1632
+ #customize-container {
1633
+ background: #fff none repeat scroll 0 0;
1634
+ bottom: 0;
1635
+ display: none;
1636
+ height: 100%;
1637
+ left: 0;
1638
+ overflow: visible;
1639
+ position: fixed;
1640
+ right: 0;
1641
+ top: 0;
1642
+ z-index: 500000;
1643
+ }
1644
+ .customize-active #customize-container {
1645
+ display: block;
1646
+ }
1647
+ .customize-loading #customize-container iframe {
1648
+ opacity: 0;
1649
+ }
1650
+ #customize-container iframe, .extension-install-overlay iframe {
1651
+ height: 100%;
1652
+ transition: opacity 0.3s ease 0s;
1653
+ width: 100%;
1654
+ z-index: 20;
1655
+ }
1656
+ #customize-controls {
1657
+ margin-top: 0;
1658
+ }
1659
+ .extension-install-overlay {
1660
+ display: none;
1661
+ }
1662
+ .extension-install-overlay.single-extension {
1663
+ display: block;
1664
+ }
1665
+ .install-extension-info {
1666
+ display: none;
1667
+ padding: 10px 20px 60px;
1668
+ }
1669
+ .single-extension .install-extension-info {
1670
+ padding-top: 15px;
1671
+ }
1672
+ .extension-install-overlay .install-extension-info {
1673
+ display: block;
1674
+ }
1675
+ .install-extension-info .extension-install {
1676
+ float: right;
1677
+ margin-top: 18px;
1678
+ }
1679
+ .install-extension-info .extension-name {
1680
+ font-size: 16px;
1681
+ line-height: 24px;
1682
+ margin-bottom: 0;
1683
+ margin-top: 0;
1684
+ }
1685
+ .install-extension-info .extension-screenshot {
1686
+ border: 1px solid #ccc;
1687
+ margin: 15px 0;
1688
+ width: 258px;
1689
+ }
1690
+ .install-extension-info .extension-details {
1691
+ overflow: hidden;
1692
+ }
1693
+ .extension-details .extension-version {
1694
+ margin: 15px 0;
1695
+ }
1696
+ .extension-details .extension-description {
1697
+ color: #72777c;
1698
+ float: left;
1699
+ line-height: 20px;
1700
+ max-width: 100%;
1701
+ }
1702
+ .extension-install-overlay .wp-full-overlay-header .extension-install {
1703
+ float: right;
1704
+ line-height: 26px;
1705
+ margin: 8px 10px 0 0;
1706
+ }
1707
+ .extension-install-overlay .wp-full-overlay-sidebar {
1708
+ background: #eee none repeat scroll 0 0;
1709
+ border-right: 1px solid #ddd;
1710
+ }
1711
+ .extension-install-overlay .wp-full-overlay-sidebar-content {
1712
+ background: #fff none repeat scroll 0 0;
1713
+ border-bottom: 1px solid #ddd;
1714
+ border-top: 1px solid #ddd;
1715
+ }
1716
+ .extension-install-overlay .wp-full-overlay-main {
1717
+ background-color: #f1f1f1;
1718
+ position: absolute;
1719
+ z-index: 0;
1720
+ }
1721
+ .customize-loading #customize-container {
1722
+ background-color: #f1f1f1;
1723
+ }
1724
+ #customize-preview.wp-full-overlay-main::before, .customize-loading #customize-container::before, .extension-install-overlay .wp-full-overlay-main::before {
1725
+ background: transparent url("../images/spinner.gif") no-repeat scroll center center / 20px 20px;
1726
+ content: "";
1727
+ display: block;
1728
+ height: 20px;
1729
+ left: 50%;
1730
+ margin: -10px 0 0 -10px;
1731
+ position: absolute;
1732
+ top: 50%;
1733
+ transform: translateZ(0px);
1734
+ width: 20px;
1735
+ z-index: -1;
1736
+ }
1737
+ #customize-preview.wp-full-overlay-main.iframe-ready::before, .extension-install-overlay.iframe-ready .wp-full-overlay-main::before {
1738
+ background-image: none;
1739
+ }
1740
+ @media print, not all, (min-resolution: 120dpi) {
1741
+ .wp-full-overlay .collapse-sidebar-arrow {
1742
+ background-image: url("../images/arrows-2x.png");
1743
+ background-size: 15px 123px;
1744
+ }
1745
+ #customize-preview.wp-full-overlay-main::before, .customize-loading #customize-container::before, .extension-install-overlay .wp-full-overlay-main::before {
1746
+ background-image: url("../images/spinner-2x.gif");
1747
+ }
1748
+ }
1749
+ @media screen and (max-width: 782px) {
1750
+ .available-extension .action-links .delete-extension {
1751
+ clear: both;
1752
+ float: none;
1753
+ margin: 0;
1754
+ padding: 0;
1755
+ }
1756
+ .available-extension .action-links .delete-extension a {
1757
+ padding: 0;
1758
+ }
1759
+ .broken-extensions table {
1760
+ width: 100%;
1761
+ }
1762
+ .extension-install-overlay .wp-full-overlay-header .extension-install {
1763
+ line-height: normal;
1764
+ margin-top: 6px;
1765
+ }
1766
+ }
1767
+
1768
+ /**
1769
+ * ----------------------------------------------------------------------
1770
+ * Search Form Styling
1771
+ */
1772
+
1773
+ .docs-search-form button .dashicons {
1774
+ opacity: 0.75;
1775
+ vertical-align: text-bottom;
1776
+ }
1777
+
1778
+ .docs-search-form .search-query {
1779
+ border-radius: 3px;
1780
+ height: 46px;
1781
+ padding: 10px 17px;
1782
+ }
1783
+
1784
+ #dslc-docssearch {
1785
+ padding: 30px 0 20px;
1786
+ }
1787
+
1788
+ #dslc-docssearch .search-query {
1789
+ min-width: 64%;
1790
+ }
1791
+
1792
+
1793
+
1794
+ #dslc-headersearch {
1795
+ position: absolute;
1796
+ right: 40px;
1797
+ top: 30px;
1798
+ }
1799
+
1800
+ #dslc-headersearch .hssearch {
1801
+ padding: 0 16px!important;
1802
+ }
1803
+
1804
+
1805
+ .dslc-settigns-tabs .nav-tab .tag {
1806
+ background: #d54e21 none repeat scroll 0 0;
1807
+ border-radius: 4px;
1808
+ color: #fff;
1809
+ display: inline-block;
1810
+ font-size: 10px;
1811
+ letter-spacing: 0.5px;
1812
+ line-height: 1;
1813
+ margin-left: 5px;
1814
+ padding: 4px 6px;
1815
+ text-transform: uppercase;
1816
+ opacity: 0.8;
1817
+ }
1818
+
1819
+
1820
+ .dslc-scroll-back {
1821
+ margin-left: -90px;
1822
+ margin-top: 44px;
1823
+ position: absolute;
1824
+ text-decoration: none;
1825
+ text-transform: uppercase;
1826
+ }
1827
+
1828
+ .dslc-scroll-back .dashicons {
1829
+ font-size: 17px;
1830
+ }
1831
+
1832
+
1833
+ /**
1834
+ * ----------------------------------------------------------------------
1835
+ * Sub Tabs
1836
+ */
1837
+
1838
+ .nav-subtabs{
1839
+ /* float: left;
1840
+ width: 20%;
1841
+ max-width: 180px;
1842
+ padding: 40px 40px 0 0;*/
1843
+ }
1844
+
1845
+ #dslc-settings-column {
1846
+ clear: both;
1847
+ display: inline;
1848
+ float: left;
1849
+ margin-left: -300px;
1850
+ padding-top: 0;
1851
+ width: 281px;
1852
+ }
1853
+
1854
+ .dslc-settings-form {
1855
+ /* float: left;
1856
+ width: 70%;
1857
+ max-width: 640px;
1858
+ padding-left: 4%;
1859
+ padding-top: 20px;
1860
+ border-left: solid 1px #E3E3E3;*/
1861
+ }
1862
+
1863
+ .dslc-settings-form .dslc-panel {
1864
+ padding: 40px;
1865
+ margin-top: 10px;
1866
+ max-width: 640px;
1867
+ }
1868
+
1869
+ .dslc-settings-form .dslc-panel h2 {
1870
+ margin-bottom: 30px;
1871
+ }
1872
+
1873
+ .dslc-submenu-section {
1874
+ border-bottom: 1px solid #ddd;
1875
+ margin: 0;
1876
+ }
1877
+
1878
+ .dslc-submenu-section:hover {
1879
+ background: #f5f5f5;
1880
+ color: #23282d;
1881
+ }
1882
+
1883
+ .dslc-submenu-section a {
1884
+ -moz-user-select: none;
1885
+ border-left: 1px solid #ddd;
1886
+ border-right: 1px solid #ddd;
1887
+ margin: 0;
1888
+ padding: 12px 15px 15px;
1889
+ position: relative;
1890
+
1891
+ font-size: 14px;
1892
+ line-height: 21px;
1893
+ font-weight: bold;
1894
+
1895
+ color:#23282D!important;
1896
+ text-decoration: none;
1897
+ display: block;
1898
+ /*padding: 10px 10px 11px 14px;*/
1899
+
1900
+ }
1901
+
1902
+ .dslc-submenu-section .dashicons {
1903
+ margin-bottom: -1px;
1904
+ margin-right: 6px;
1905
+ margin-top: 1px;
1906
+ opacity: 0.4;
1907
+ }
1908
+
1909
+ #dslc-setings-liquid {
1910
+ float: left;
1911
+ margin-top: 3px;
1912
+ min-width: 100%;
1913
+ }
1914
+
1915
+ #dslc-settings-frame {
1916
+ margin-left: 300px;
1917
+ margin-top: 23px;
1918
  }
includes/plugin-options-framework/css/main.min.css CHANGED
@@ -1 +1 @@
1
- .dslca-plugin-opts-notification{margin-top:20px;border-left:4px solid #5184bd;background:#fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1);padding:15px 10px}.dslca-plugin-opts-list{width:300px;margin-bottom:10px}.dslca-plugin-opts-list-item{display:block;padding:7px 10px;border:1px solid rgba(0,0,0,.2);border-radius:3px;margin-bottom:5px;position:relative;font-weight:700}.dslca-plugin-opts-list-delete-hook{position:absolute;right:7px;top:6px;font-size:.9em;font-weight:400;font-style:italic}.dslca-plugin-opts-list-error{display:none;color:#db7171;margin-top:15px;font-weight:700}.lc-wrap{padding-left:10px;overflow:hidden}.lc-wrap .clear{clear:both;padding-bottom:40px;border-bottom:1px solid #ccc;margin-bottom:15px}.changelog,.lc-social,.lc-subscribe{width:45%;float:left;margin-right:50px}.lc-wrap h3{margin:1.25em 0 .6em;font-size:1.25em;line-height:1.5em}.lc-wrap h4{margin:1.4em 0 .6em;font-size:1em}.lc-wrap p{line-height:1.6em;font-size:14px}.lc-subscribe input[type=text]{border-color:#dcdddd;color:#000;border-width:1px;border-style:solid;border-radius:4px;font-size:14px;font-weight:300;margin:0 22px 0 0;padding:8px 12px;width:250px}.activecampaign_form .add_thank_you:before{content:"\f147";display:inline-block;font-family:dashicons;font-size:22px;padding-right:3px;vertical-align:top;padding-top:1px;color:#54c13f}.activecampaign_form .add_thank_you{font-size:15px;display:block;position:relative;top:-130px}.activecampaign_form ._error{display:table;max-width:550px;padding:14px 18px;background:rgba(255,0,0,.09);border-radius:3px;margin-top:10px;border:1px solid #FCB6AC}.activecampaign_form .button{width:100px;font-size:14px;height:35px}.dslc_twitter{margin-bottom:7px}.dslc_twitter span.dslc_social_text{position:absolute}.dslc_facebook{margin-bottom:10px}#share-buttons span.dslc_social_text{margin-left:10px;font-size:15px}.dslc_facebook_group a:before{content:"\f304";display:inline-block;font-family:dashicons;font-size:22px;padding-right:3px;vertical-align:top;padding-top:1px;color:#1b95e0}
1
+ .dslc-panel a,.dslc-subsection-title a{text-decoration:none}#dslc-main-title{min-height:50px;padding-left:10px;padding-top:26px;width:50%}#dslc-main-title .dslc-ver{font-size:17px;font-weight:300;opacity:.4}.dslc-subsection-title{font-size:21px;font-weight:400;margin-bottom:40px;margin-top:30px}.dslc-tab-heading{margin-bottom:30px!important;margin-top:20px!important}.dslca-plugin-opts-notification{margin-top:20px;border-left:4px solid #5184bd;background:#fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1);padding:15px 10px}.dslca-plugin-opts-list{width:300px;margin-bottom:10px}.dslca-plugin-opts-list-item{display:block;padding:7px 10px;border:1px solid rgba(0,0,0,.2);border-radius:3px;margin-bottom:5px;position:relative;font-weight:700}.dslca-plugin-opts-list-delete-hook{position:absolute;right:7px;top:6px;font-size:.9em;font-weight:400;font-style:italic}.dslca-plugin-opts-list-error{display:none;color:#db7171;margin-top:15px;font-weight:700}.lc-wrap{padding-left:10px;overflow:hidden}.lc-wrap .clear{clear:both;padding-bottom:40px;border-bottom:1px solid #ccc;margin-bottom:15px}.changelog,.lc-social,.lc-subscribe{width:45%;float:left;margin-right:50px}.lc-wrap h3{margin:1.25em 0 .6em;font-size:1.25em;line-height:1.5em}.lc-wrap h4{margin:1.4em 0 .6em;font-size:1em}.lc-wrap p{line-height:1.6em;font-size:14px}.activecampaign_form input[type=text]{border-color:#dcdddd;color:#000;border-width:1px;border-style:solid;border-radius:4px;font-size:14px;font-weight:300;margin:0 22px 10px 0;padding:8px 12px;width:97%;max-width:290px}.activecampaign_form button.button-primary{padding:3px 12px;height:auto}.activecampaign_form .add_thank_you:before{content:"\f147";display:inline-block;font-family:dashicons;font-size:22px;padding-right:3px;vertical-align:top;padding-top:1px;color:#54c13f}.activecampaign_form .add_thank_you{font-size:15px;display:block;position:relative;top:-130px}.activecampaign_form ._error{display:table;max-width:550px;padding:14px 18px;background:rgba(255,0,0,.09);border-radius:3px;margin-top:10px;border:1px solid #FCB6AC}#share-buttons span.dslc_social_text{margin-left:10px;font-size:15px}.dslc-panel{background:#fff;border:1px solid #e5e5e5;box-shadow:0 1px 1px rgba(0,0,0,.04);font-size:13px;line-height:2.1em;margin:16px 0;overflow:auto;padding:23px 10px;position:relative}.dslc-panel h2{font-size:21px;font-weight:400;line-height:1.2;margin:0}.dslc-panel h3{font-size:16px;margin:1.33em 0 0}.dslc-panel h3 .dashicons{color:#82878c;font-size:170%;margin-right:12px}.dslc-panel .dslc-panel-column-container{clear:both;position:relative}.dslc-panel .dslc-panel-column{float:left;min-width:200px;width:30%;padding-right:2%}.ie8 .dslc-panel .dslc-panel-column{min-width:230px}.dslc-panel-column p.hide-if-no-customize{margin-top:10px}.dslc-panel-column p{color:#444;margin-top:7px}.dslc-panel li{font-size:14px}.dslc-panel p{color:#72777c}.dslc-panel .about-description{font-size:16px;margin:0}.dslc-panel-content{margin-left:13px;max-width:1500px}.dslc-panel .dslc-panel-column ul{margin:.8em 1em 1em 0}.dslc-panel .dslc-panel-column li{line-height:16px;list-style-type:none;padding:0 0 8px}.dslc-panel .dslc-panel-icon{background:0 0!important}.dslc-panel .dslc-panel-icon:before,.dslc-panel li .dashicons{-moz-osx-font-smoothing:grayscale;color:#82878c;display:inline-block;font:20px/1 dashicons;padding:0 10px 0 0;position:relative;text-decoration:none!important;vertical-align:top;top:-2px}.dslc-panel .dslc-panel-twitter:before{content:"\f301"}.dslc-panel .dslc-panel-facebook:before{content:"\f304"}.dslc-panel .dslc-panel-facebook-page:before{content:"\f305"}.dslc-panel .dslc-panel-show-work:before{content:"\f529"}#new-lc-coming{background:#4AC496;border-color:#47a380 #35b484 #35b484;color:#fff;margin-top:-17px}#new-lc-coming h2{color:#fff;margin-top:16px;width:50%;margin-left:100px}#new-lc-coming h3{color:#2E3432}#new-lc-coming h3 .dashicons{color:#279168}#new-lc-coming p{color:#1F523F}#new-lc-coming hr{margin-top:30px;border-color:#3fb085 #4ac496 #6dcfaa}#new-lc-coming .button-hero{background:#2fab7c;border-color:#34a077;box-shadow:0 2px 0 #26805d;font-size:18px;height:auto;left:64%;padding:4px 26px;position:absolute;text-shadow:none;top:37px}#new-lc-coming .button-hero .dashicons{display:inline-block;font-size:150%;margin-right:14px;vertical-align:text-top}#new-lc-coming .button-hero:active{box-shadow:0 3px 0 #26805d inset}#new-lc-coming p.about-description{color:#a0e4ca;line-height:1.3;width:50%;margin-left:100px}#new-lc-coming .mink-illustration{position:absolute;top:28px;width:80px}.extension-browser .extensions{clear:both}.extensions-php .wrap h1{float:left;margin-bottom:15px}.network-admin.extensions-php .wrap h1{margin-bottom:0}.extensions-php .wrap h1 .button{margin-left:20px}.extensions-php .wp-filter-search{font-size:16px;font-weight:300;left:20px;line-height:1.5;margin:0;position:relative;top:-2px;width:280px}.extensions-php div.error,.extensions-php div.notice,.extensions-php div.updated{clear:both;margin:0 0 20px}.extension-browser .extension{border:1px solid #ddd;box-shadow:0 1px 1px -1px rgba(0,0,0,.1);box-sizing:border-box;cursor:pointer;float:left;margin:0 4% 4% 0;position:relative;width:30.6%}.ie8 .extension-browser .extension{margin:0 3% 4% 0;width:30%}.extension-browser .extension:nth-child(3n){margin-right:0}.extension-browser .extension:focus,.extension-browser .extension:hover{cursor:default}.extension-browser .extension .extension-name{background:rgba(255,255,255,.65);box-shadow:0 1px 0 rgba(0,0,0,.1) inset;font-size:15px;font-weight:600;height:18px;margin:0;overflow:hidden;padding:15px;text-overflow:ellipsis;white-space:nowrap}.extension-browser .extension .extension-name em{font-size:75%;font-style:normal;font-weight:400;margin-right:3px;opacity:.5;text-transform:uppercase;vertical-align:top}.extension-browser .extension .extension-name .price{color:#0073aa;display:inline-block;position:absolute;right:20px}.extension-browser .extension .extension-name .price .dashicons{opacity:.9}.extension-browser .extension .extension-actions{background:rgba(244,244,244,.7);border-left:1px solid rgba(0,0,0,.05);bottom:0;height:38px;opacity:0;padding:9px 10px 0;position:absolute;right:0;transition:opacity .1s ease-in-out 0s}.extension-browser .extension.focus .extension-actions,.extension-browser .extension:focus .extension-actions,.extension-browser .extension:hover .extension-actions{opacity:1}.extension-browser .extension .extension-actions .button-primary{margin-right:3px}.extension-browser .extension .extension-actions .button-secondary{float:none;margin-left:3px}.extension-browser .extension .extension-screenshot{display:block;overflow:hidden;position:relative;transition:opacity .2s ease-in-out 0s}.extension-browser .extension .extension-screenshot::after{content:"";display:block;padding-top:65.6667%}.extension-browser .extension .extension-screenshot img{height:auto;left:0;position:absolute;top:0;transition:opacity .2s ease-in-out 0s;width:100%}.extension-browser .extension:focus .extension-screenshot,.extension-browser .extension:hover .extension-screenshot{background:#fff}.extension-browser.rendered .extension:focus .extension-screenshot img,.extension-browser.rendered .extension:hover .extension-screenshot img{opacity:.4}.extension-browser .extension .more-details{background:rgba(0,0,0,.7);border-radius:3px;color:#fff;font-size:15px;font-weight:600;left:25%;opacity:0;padding:15px 12px;position:absolute;right:25%;text-align:center;text-decoration:none;text-shadow:0 1px 0 rgba(0,0,0,.6);top:35%;transition:opacity .1s ease-in-out 0s}.extension-browser .extension:focus .more-details,.extension-browser.rendered .extension:focus .more-details,.extension-browser.rendered .extension:hover .more-details{opacity:1}.extension-browser .extension:focus{border-color:#5b9dd9;box-shadow:0 0 2px rgba(30,140,190,.8)}.extension-browser .extension.active:focus .extension-actions{display:block}.extension-browser .extension .extension-installed,.extension-browser .extension .extension-update{background:rgba(213,78,33,.95);border-bottom:1px solid rgba(0,0,0,.25);color:#fff;display:block;font-size:13px;font-weight:400;height:48px;left:0;line-height:48px;overflow:hidden;padding:0 10px;position:absolute;right:0;top:0}.extension-browser .extension .extension-installed::before,.extension-browser .extension .extension-update::before{content:"";display:inline-block;font:20px/1 dashicons;margin:0 6px 0 0;opacity:.8;position:relative;top:5px}.extension-browser .extension.active .extension-name{background:#23282d;box-shadow:0 1px 1px rgba(0,0,0,.5) inset;color:#fff;font-weight:300;padding-right:110px}.extension-browser .customize-control .extension.active .extension-name{padding-right:15px}.extension-browser .extension.active .extension-name span{font-weight:600}.extension-browser .extension.active .extension-actions{background:rgba(49,49,49,.7);border-left:medium none;opacity:1}.extension-browser .extension.active .extension-actions .button-primary{margin-right:0}.extension-browser .extension .extension-author{background:#23282d;bottom:56px;color:#eee;display:none;font-size:14px;margin:0 10px;padding:5px 10px;position:absolute}.extension-browser .extension.display-author .extension-author{display:block}.extension-browser .extension.display-author .extension-author a{color:inherit;text-decoration:none}.extension-browser .extension.add-new-extension{border:none;box-shadow:none}.extension-browser .extension.add-new-extension a{display:block;position:relative;text-decoration:none;z-index:1}.extension-browser .extension.add-new-extension a::after{background:rgba(0,0,0,0);border:5px dashed rgba(0,0,0,.1);bottom:0;box-sizing:border-box;content:"";display:block;left:0;padding:0;position:absolute;right:0;text-shadow:none;top:0}.extension-browser .extension.add-new-extension span::after{background:rgba(153,153,153,.1);border-radius:50%;color:#999;content:"\f106";display:inline-block;font:74px/115px dashicons;height:100px;left:50%;margin-left:-50px;padding:0;position:absolute;text-align:center;text-indent:-4px;text-shadow:none;top:30%;vertical-align:middle;width:100px;z-index:4}.extension-browser .extension.add-new-extension.add-new-theme span::after{content:"\f100"}.rtl .extension-browser .extension.add-new-extension span::after{text-indent:4px}.extension-browser .extension.add-new-extension a:focus .extension-screenshot,.extension-browser .extension.add-new-extension a:hover .extension-screenshot{background:rgba(0,0,0,0)}.extension-browser .extension.add-new-extension a:focus span::after,.extension-browser .extension.add-new-extension a:hover span::after{background:#fff;color:#0073aa}.extension-browser .extension.add-new-extension a:focus::after,.extension-browser .extension.add-new-extension a:hover::after{background:#0073aa;border-color:transparent;color:#fff;content:""}.extension-browser .extension.add-new-extension .extension-name{background:rgba(0,0,0,0);box-shadow:none;font-weight:400;margin-top:-18px;padding-bottom:48px;padding-top:0;position:relative;text-align:center;top:0}.extension-browser .extension.add-new-extension a:focus .extension-name,.extension-browser .extension.add-new-extension a:hover .extension-name{color:#fff;z-index:2}.extension-overlay .extension-backdrop{background:rgba(238,238,238,.9);bottom:0;left:-20px;position:absolute;right:0;top:0;z-index:10000}.extension-overlay .extension-header .close,.extension-overlay .extension-header .left,.extension-overlay .extension-header .right{-moz-border-bottom-colors:none;-moz-border-left-colors:none;-moz-border-right-colors:none;-moz-border-top-colors:none;background-color:transparent;cursor:pointer;height:48px;text-align:center;transition:color .1s ease-in-out 0s,background .1s ease-in-out 0s;border-image:none}.extension-overlay .extension-header{border-bottom:1px solid #ddd;height:48px;left:0;position:absolute;right:0;top:0}.extension-overlay .extension-header button{padding:0}.extension-overlay .extension-header .close{border-color:-moz-use-text-color -moz-use-text-color -moz-use-text-color #ddd;border-style:none none none solid;border-width:0 0 0 1px;float:right;width:50px}.extension-overlay .extension-header .close::before{color:#72777c;content:"";display:inline-block;font:22px/50px dashicons!important}.extension-overlay .extension-header .left,.extension-overlay .extension-header .right{border-color:-moz-use-text-color #ddd -moz-use-text-color -moz-use-text-color;border-style:none solid none none;border-width:0 1px 0 0;color:#72777c;float:left;width:54px}.extension-overlay .extension-header .close:focus,.extension-overlay .extension-header .close:hover,.extension-overlay .extension-header .left:focus,.extension-overlay .extension-header .left:hover,.extension-overlay .extension-header .right:focus,.extension-overlay .extension-header .right:hover{background:#ddd;border-color:#ccc;color:#000}.extension-overlay .extension-header .close:focus::before,.extension-overlay .extension-header .close:hover::before{color:#000}.extension-overlay .extension-header .close:focus,.extension-overlay .extension-header .left:focus,.extension-overlay .extension-header .right:focus{box-shadow:none;outline:0}.extension-overlay .extension-header .left.disabled,.extension-overlay .extension-header .left.disabled:hover,.extension-overlay .extension-header .right.disabled,.extension-overlay .extension-header .right.disabled:hover{background:inherit;color:#ccc;cursor:inherit}.extension-overlay .extension-header .left::before,.extension-overlay .extension-header .right::before{display:inline;font:20px/50px dashicons!important}.customize-support .extension-overlay .extension-actions a[href="extensions.php?page=custom-header"],.customize-support .extension-overlay .extension-actions a[href="extensions.php?page=custom-background"],.extension-overlay .extension-actions .active-extension,.extension-overlay.active .extension-actions .inactive-extension{display:none}.extension-overlay .extension-header .left::before{content:""}.extension-overlay .extension-header .right::before{content:""}.extension-overlay .extension-wrap{background:#fff;bottom:3%;box-shadow:0 1px 20px 5px rgba(0,0,0,.1);box-sizing:border-box;clear:both;left:190px;position:fixed;right:30px;top:9%;z-index:10000}body.folded .extension-overlay .extension-wrap{left:70px}.extension-overlay .extension-about{bottom:57px;left:0;overflow:auto;padding:2% 4%;position:absolute;right:0;top:49px}.extension-overlay .extension-actions{background:#f3f3f3;border-top:1px solid #eee;bottom:0;box-sizing:border-box;left:0;padding:10px 25px 5px;position:absolute;right:0;text-align:center;z-index:30}.ie8 .extension-overlay .extension-actions{border:1px solid #eee}.extension-overlay .extension-actions a{margin-bottom:5px;margin-right:5px}.broken-extensions a.delete-extension,.extension-overlay .extension-actions .delete-extension{background:0 0;border-color:transparent;box-shadow:none;color:#a00;text-decoration:none}.extension-overlay .extension-actions .delete-extension{bottom:5px;position:absolute;right:10px}.broken-extensions a.delete-extension:focus,.broken-extensions a.delete-extension:hover,.extension-overlay .extension-actions .delete-extension:focus,.extension-overlay .extension-actions .delete-extension:hover{background:#d54e21;border-color:#d54e21;color:#fff}.extension-overlay .extension-actions .inactive-extension,.extension-overlay.active .extension-actions .active-extension{display:block}.extension-overlay .extension-screenshots{float:left;margin:0 30px 0 0;max-width:880px;text-align:center;width:55%}.extension-overlay .screenshot{border:1px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.2);box-sizing:border-box;overflow:hidden;position:relative}.extension-overlay .screenshot::after{content:"";display:block;padding-top:75%}.extension-overlay .screenshot img{height:auto;left:0;position:absolute;top:0;width:100%}.extension-overlay.small-screenshot .extension-screenshots{position:absolute;width:302px}.extension-overlay.small-screenshot .extension-info{margin-left:350px;width:auto}.extension-overlay .screenshot.thumb{background:#ccc;border:1px solid #eee;cursor:pointer;display:inline-block;float:none;height:80px;margin:10px 5px 0;width:140px}.extension-overlay .screenshot.thumb::after{content:"";display:block;padding-top:100%}.extension-overlay .screenshot.thumb img{cursor:pointer;height:auto;left:0;position:absolute;top:0;width:100%}.extension-overlay .screenshot.selected{background:0 0;border:2px solid #00a0d2}.extension-overlay .screenshot.selected img{opacity:.8}.extension-browser .extension .extension-screenshot.blank,.extension-overlay .screenshot.blank{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAALElEQVQYGWO8d+/efwYkoKioiMRjYGBC4WHhUK6A8T8QIJt8//59ZC493AAAQssKpBK4F5AAAAAASUVORK5CYII=)}.extension-overlay .extension-info{float:left;width:40%}.extension-overlay .current-label{-moz-user-select:none;background:#32373c;border-radius:2px;color:#fff;display:inline-block;font-size:11px;margin:0 0 -10px;padding:2px 8px}.extension-overlay .extension-name{color:#23282d;font-size:32px;font-weight:100;line-height:1.3;margin:10px 0 0}.extension-overlay .extension-version{color:#72777c;display:inline-block;float:none;font-size:13px;font-weight:400;margin-left:10px}.extension-overlay .extension-author{color:#72777c;font-size:16px;font-weight:400;line-height:inherit;margin:15px 0 25px}.extension-overlay .extension-author a{text-decoration:none}.extension-overlay .extension-description{color:#555;font-size:15px;font-weight:400;line-height:1.5;margin:30px 0 0}.extension-overlay .extension-tags{border-top:3px solid #eee;color:#82878c;font-size:13px;font-weight:400;margin:30px 0 0;padding-top:20px}.extension-overlay .extension-tags span{color:#444;font-weight:700;margin-right:5px}.extension-overlay .parent-extension{-moz-border-bottom-colors:none;-moz-border-left-colors:none;-moz-border-right-colors:none;-moz-border-top-colors:none;background:#f7fcfe;border-color:#eee #eee #eee #00a0d2;border-image:none;border-style:solid;border-width:1px 1px 1px 4px;font-size:14px;font-weight:400;margin-top:30px;padding:10px 10px 10px 20px}.extension-overlay .parent-extension strong{font-weight:700}.single-extension .extension,.single-extension .extension-overlay .extension-backdrop,.single-extension .extension-overlay .extension-header{display:none}.single-extension .extension-overlay .extension-wrap{bottom:auto;clear:both;left:auto;min-height:330px;position:relative;right:auto;top:auto;z-index:10}.single-extension .extension-overlay .extension-about{padding:30px 30px 70px;position:static}.single-extension .extension-overlay .extension-actions{position:absolute}@media only screen and (min-width:2000px){#wpwrap .extension-browser .extension{margin:0 3% 3% 0;width:17.6%}#wpwrap .extension-browser .extension:nth-child(3n),#wpwrap .extension-browser .extension:nth-child(4n){margin-right:3%}#wpwrap .extension-browser .extension:nth-child(5n){margin-right:0}}@media only screen and (min-width:1680px){.extension-overlay .extension-wrap{margin:0 auto;width:1450px}}@media only screen and (min-width:1640px){.extension-browser .extension{margin:0 3% 3% 0;width:22.7%}.extension-browser .extension .extension-screenshot::after{padding-top:75%}.extension-browser .extension:nth-child(3n){margin-right:3%}.extension-browser .extension:nth-child(4n){margin-right:0}}@media only screen and (max-width:1120px){.extension-browser .extension{margin-right:0;width:47.5%}.extension-browser .extension:nth-child(2n){margin-right:0}.extension-browser .extension:nth-child(2n+1){margin-right:5%}}@media only screen and (max-width:900px){.extension-overlay .extension-wrap{left:65px}}@media only screen and (max-width:780px){.extension-browser .extension.active .extension-name span,.extension:focus .more-details,.extension:focus:not(.active) .extension-actions,.extension:hover .more-details,.extension:hover:not(.active) .extension-actions{display:none}.extension-overlay .extension-wrap,body.folded .extension-overlay .extension-wrap{border:none;bottom:0;left:0;padding:70px 20px 20px;position:fixed;right:0;top:0;z-index:100000}.extension-overlay .extension-screenshots{width:40%}.extension-overlay .extension-info{width:50%}.single-extension .extension-wrap{padding:10px}.extension-browser .extension .extension-actions{padding:5px 10px 4px}.extension-overlay.small-screenshot .extension-screenshots{float:none;max-width:302px;position:static}.extension-overlay.small-screenshot .extension-info{margin-left:0;width:auto}.extension-browser.rendered .extension:focus .extension-screenshot img,.extension-browser.rendered .extension:hover .extension-screenshot img{opacity:1}}@media only screen and (max-width:480px){.extension-browser .extension{margin-right:0;width:100%}.extension-browser .extension:nth-child(2n),.extension-browser .extension:nth-child(3n){margin-right:0}}@media only screen and (max-width:650px){.extension-overlay .extension-description,.extension-overlay .extension-update{margin-left:0}.extension-overlay .extension-actions .delete-extension{bottom:auto;position:relative;right:auto}.extension-overlay .extension-actions .inactive-extension{display:inline}.extension-overlay .extension-screenshots{float:none;width:100%}.extension-overlay .extension-info{width:100%}.extension-overlay .extension-author{margin:5px 0 15px}.extension-overlay .current-label{font-size:13px;margin-top:10px}.extensions-php .wp-filter-search{clear:both;float:none;left:0;margin:10px 0;max-width:280px;right:0;top:0;width:100%}.extension-browser .extension.add-new-extension span::after{font:60px/90px dashicons;height:80px;left:50%;margin-left:-40px;text-indent:0;top:30%;width:80px}.single-extension .extension-wrap{margin:0 -12px 0 -10px;padding:10px}.single-extension .extension-overlay .extension-about{overflow:visible;padding:10px}.single-extension .current-label{display:none}.single-extension .extension-overlay .extension-actions{position:static}}.broken-extensions{clear:both}.broken-extensions table{border-spacing:3px;padding:3px;text-align:left;width:50%}.extension-browser .extension .extension-installed{background:#0073aa}.extension-browser .extension .extension-installed::before{content:""}.extension-browser .extension.is-installed .extension-actions .button-primary{display:none!important}.extension-install-php .wp-filter{padding:0 20px}.extension-install-php a.browse-extensions,.extension-install-php a.upload{cursor:pointer}.extension-install-php a.browse-extensions,.extension-install-php.show-upload-extension a.upload{display:none}.extension-install-php.show-upload-extension a.browse-extensions{display:inline}.upload-extension,.upload-plugin{box-sizing:border-box;display:none;margin:0;overflow:hidden;padding:0;position:relative;top:10px;width:100%}.wp-full-overlay,.wp-full-overlay-sidebar{position:fixed;height:100%;bottom:0;left:0}.upload-plugin,body.show-upload-extension .upload-extension{display:block}.upload-extension .wp-upload-form,.upload-plugin .wp-upload-form{background:#fafafa;border:1px solid #e5e5e5;margin:30px auto;max-width:380px;padding:30px}.upload-extension .install-help,.upload-plugin .install-help{color:#555d66;font-size:18px;font-style:normal;margin:0;padding:40px 0 0;text-align:center}body.show-upload-extension .upload-extension+.wp-filter,body.show-upload-extension .upload-extension+.wp-filter+.extension-browser{display:none}p.no-extensions{clear:both;color:#666;display:none;font-size:18px;font-style:normal;margin:0;padding:100px 0;text-align:center}body.no-results p.no-extensions{display:block}.extension-install-php .add-new-extension,body.show-upload-extension p.no-extensions{display:none!important}@media only screen and (max-width:1120px){.upload-extension .wp-upload-form{margin:20px 0;max-width:100%}.upload-extension .install-help{font-size:15px;padding:20px 0 0;text-align:left}}.extension-details .extension-rating{line-height:23px}.extension-details .star-rating{display:inline}.extension-details .no-rating,.extension-details .num-ratings{color:#72777c;font-size:11px}.extension-details .no-rating{display:block;line-height:20px}.appearance_page_custom-header #headimg{border:1px solid #ddd;overflow:hidden;width:100%}.appearance_page_custom-header #upload-form p label{font-size:12px}.appearance_page_custom-header .available-headers .default-header{float:left;margin:0 20px 20px 0}.appearance_page_custom-header .random-header{clear:both;margin:0 20px 20px 0;vertical-align:middle}.appearance_page_custom-header .available-headers label input,.appearance_page_custom-header .random-header label input{margin-right:10px}.appearance_page_custom-header .available-headers label img{vertical-align:middle}div#custom-background-image{border:1px solid #ddd;min-height:100px}div#custom-background-image img{max-height:300px;max-width:400px}body.full-overlay-active{overflow:hidden}.wp-full-overlay{min-width:0;overflow:visible;right:0;top:0;z-index:500000}.wp-full-overlay-sidebar{background:#eee;border-right:medium none;box-sizing:border-box;margin:0;padding:0;top:0;width:300px;z-index:10}.wp-full-overlay.collapsed,.wp-full-overlay.expanded .wp-full-overlay-sidebar{margin-left:0!important}.wp-full-overlay.expanded{margin-left:300px}.wp-full-overlay.collapsed .wp-full-overlay-sidebar{overflow:visible;margin-left:-300px}.wp-full-overlay-sidebar::after{bottom:0;content:"";display:block;position:absolute;right:0;top:0;width:3px;z-index:1000}.wp-full-overlay-main{bottom:0;height:100%;left:0;position:absolute;right:0;top:0}.wp-full-overlay-sidebar .wp-full-overlay-header{border-top:medium none;box-shadow:none;height:45px;left:0;line-height:45px;margin:0;padding:0 15px;position:absolute;right:0;z-index:10}.wp-full-overlay-sidebar .wp-full-overlay-header a.back{margin-top:9px}.wp-full-overlay-sidebar .wp-full-overlay-footer{border-bottom:medium none;border-top:medium none;bottom:0;box-shadow:none}.wp-full-overlay-sidebar .wp-full-overlay-sidebar-content{bottom:45px;left:0;overflow:auto;position:absolute;right:0;top:45px}.extension-install-overlay .wp-full-overlay-sidebar .wp-full-overlay-header{padding:0}.extension-install-overlay .close-full-overlay,.extension-install-overlay .next-extension,.extension-install-overlay .previous-extension{background:#eee;border-right:1px solid #ddd;color:#444;cursor:pointer;display:block;float:left;height:45px;padding-right:2px;position:relative;text-decoration:none;transition:color .1s ease-in-out 0s,background .1s ease-in-out 0s;width:45px}.extension-install-overlay .close-full-overlay:focus,.extension-install-overlay .close-full-overlay:hover,.extension-install-overlay .next-extension:focus,.extension-install-overlay .next-extension:hover,.extension-install-overlay .previous-extension:focus,.extension-install-overlay .previous-extension:hover{background:#ddd;border-color:#ccc;box-shadow:none;color:#000;outline:0}.extension-install-overlay .close-full-overlay::before{content:"";font:22px/1 dashicons;left:13px;position:relative;top:7px}.extension-install-overlay .previous-extension::before{content:"";font:20px/1 dashicons;left:14px;position:relative;top:6px}.extension-install-overlay .next-extension::before{content:"";font:20px/1 dashicons;left:13px;position:relative;top:6px}.extension-install-overlay .next-extension.disabled,.extension-install-overlay .next-extension.disabled:focus,.extension-install-overlay .next-extension.disabled:hover,.extension-install-overlay .previous-extension.disabled,.extension-install-overlay .previous-extension.disabled:focus,.extension-install-overlay .previous-extension.disabled:hover{background:#eee;color:#b4b9be;cursor:default;pointer-events:none}.wp-core-ui .wp-full-overlay .collapse-sidebar{background-color:transparent!important;border:none!important;border-radius:0!important;bottom:8px;box-shadow:none!important;color:#656a6f;left:10px;line-height:1;outline:0;padding:0;position:fixed}.wp-core-ui .wp-full-overlay .collapse-sidebar:focus,.wp-core-ui .wp-full-overlay .collapse-sidebar:hover{color:#0073aa}.wp-full-overlay .collapse-sidebar-arrow,.wp-full-overlay .collapse-sidebar-label{display:inline-block;line-height:20px;vertical-align:middle}.wp-full-overlay .collapse-sidebar-arrow{border-radius:50%;height:20px;margin:0 2px;overflow:hidden;width:20px}.wp-full-overlay .collapse-sidebar:focus .collapse-sidebar-arrow,.wp-full-overlay .collapse-sidebar:hover .collapse-sidebar-arrow{box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-full-overlay .collapse-sidebar-label{margin-left:3px}.wp-full-overlay.collapsed .collapse-sidebar-label{display:none}.wp-full-overlay .collapse-sidebar-arrow::before{-moz-osx-font-smoothing:grayscale;background:#eee;content:"";display:block;font:20px/1 dashicons;padding:0}.rtl .wp-full-overlay .collapse-sidebar-arrow::before,.wp-full-overlay.collapsed .collapse-sidebar-arrow::before{transform:rotate(180.001deg)}.rtl .wp-full-overlay.collapsed .collapse-sidebar-arrow::before{transform:none}.wp-full-overlay,.wp-full-overlay .collapse-sidebar,.wp-full-overlay-main,.wp-full-overlay-sidebar{transition-duration:.2s;transition-property:left,right,top,bottom,width,margin}.wp-full-overlay{background:#191e23}.wp-full-overlay-main{background-color:#f1f1f1}.expanded .wp-full-overlay-footer{border-top:1px solid #ddd;bottom:0;height:45px;left:0;position:fixed;width:300px}.wp-full-overlay-footer .devices{float:right}.wp-full-overlay-footer .devices button{-moz-border-bottom-colors:none;-moz-border-left-colors:none;-moz-border-right-colors:none;-moz-border-top-colors:none;background:0 0;border-color:transparent -moz-use-text-color;border-image:none;border-style:solid none;border-width:1px medium 4px;box-shadow:none;cursor:pointer;height:45px;margin:0 0 0 -4px;padding:0 3px;transition:background .1s ease-in-out 0s}.wp-full-overlay-footer .devices button::before{color:#656a6f;display:inline-block;font:20px/30px dashicons;margin:3px 0;padding:4px 8px;vertical-align:top}.collapsed .wp-full-overlay-footer .devices button::before,.customize-support .hide-if-customize,.customize-support .wp-core-ui .hide-if-customize,.customize-support.wp-core-ui .hide-if-customize,.no-customize-support .hide-if-no-customize,.no-customize-support .wp-core-ui .hide-if-no-customize,.no-customize-support.wp-core-ui .hide-if-no-customize{display:none}.wp-full-overlay-footer .devices button.active{border-bottom-color:#191e23}.wp-full-overlay-footer .devices button:focus,.wp-full-overlay-footer .devices button:hover{background-color:#fff}.wp-full-overlay-footer .devices button:focus{box-shadow:none;outline:0;border-bottom-color:#0073aa}.wp-full-overlay-footer .devices button.active::before,.wp-full-overlay-footer .devices button:focus::before,.wp-full-overlay-footer .devices button:hover::before{color:#191e23}.wp-full-overlay-footer .devices .preview-desktop::before{content:""}.wp-full-overlay-footer .devices .preview-tablet::before{content:""}.wp-full-overlay-footer .devices .preview-mobile::before{content:""}@media screen and (max-width:1024px){.wp-full-overlay-footer .devices{display:none}}.preview-mobile .wp-full-overlay-main{height:480px;left:50%;margin:auto 0 auto -160px;max-height:100%;max-width:100%;width:320px}.preview-tablet .wp-full-overlay-main{height:1080px;left:50%;margin:auto 0 auto -360px;max-height:100%;max-width:100%;width:720px}#customize-container{background:#fff;bottom:0;display:none;height:100%;left:0;overflow:visible;position:fixed;right:0;top:0;z-index:500000}.customize-active #customize-container{display:block}.customize-loading #customize-container iframe{opacity:0}#customize-container iframe,.extension-install-overlay iframe{height:100%;transition:opacity .3s ease 0s;width:100%;z-index:20}#customize-controls{margin-top:0}.extension-install-overlay{display:none}.extension-install-overlay.single-extension{display:block}.install-extension-info{display:none;padding:10px 20px 60px}.single-extension .install-extension-info{padding-top:15px}.extension-install-overlay .install-extension-info{display:block}.install-extension-info .extension-install{float:right;margin-top:18px}.install-extension-info .extension-name{font-size:16px;line-height:24px;margin-bottom:0;margin-top:0}.install-extension-info .extension-screenshot{border:1px solid #ccc;margin:15px 0;width:258px}.install-extension-info .extension-details{overflow:hidden}.extension-details .extension-version{margin:15px 0}.extension-details .extension-description{color:#72777c;float:left;line-height:20px;max-width:100%}.extension-install-overlay .wp-full-overlay-header .extension-install{float:right;line-height:26px;margin:8px 10px 0 0}.extension-install-overlay .wp-full-overlay-sidebar{background:#eee;border-right:1px solid #ddd}.extension-install-overlay .wp-full-overlay-sidebar-content{background:#fff;border-bottom:1px solid #ddd;border-top:1px solid #ddd}.extension-install-overlay .wp-full-overlay-main{background-color:#f1f1f1;position:absolute;z-index:0}.customize-loading #customize-container{background-color:#f1f1f1}#customize-preview.wp-full-overlay-main::before,.customize-loading #customize-container::before,.extension-install-overlay .wp-full-overlay-main::before{background:url(../images/spinner.gif) center center/20px 20px no-repeat;content:"";display:block;height:20px;left:50%;margin:-10px 0 0 -10px;position:absolute;top:50%;transform:translateZ(0);width:20px;z-index:-1}#customize-preview.wp-full-overlay-main.iframe-ready::before,.extension-install-overlay.iframe-ready .wp-full-overlay-main::before{background-image:none}@media print,not all,(min-resolution:120dpi){.wp-full-overlay .collapse-sidebar-arrow{background-image:url(../images/arrows-2x.png);background-size:15px 123px}#customize-preview.wp-full-overlay-main::before,.customize-loading #customize-container::before,.extension-install-overlay .wp-full-overlay-main::before{background-image:url(../images/spinner-2x.gif)}}@media screen and (max-width:782px){.available-extension .action-links .delete-extension{clear:both;float:none;margin:0;padding:0}.available-extension .action-links .delete-extension a{padding:0}.broken-extensions table{width:100%}.extension-install-overlay .wp-full-overlay-header .extension-install{line-height:normal;margin-top:6px}}.docs-search-form button .dashicons{opacity:.75;vertical-align:text-bottom}.docs-search-form .search-query{border-radius:3px;height:46px;padding:10px 17px}#dslc-docssearch{padding:30px 0 20px}#dslc-docssearch .search-query{min-width:64%}#dslc-headersearch{position:absolute;right:40px;top:30px}#dslc-headersearch .hssearch{padding:0 16px!important}.dslc-settigns-tabs .nav-tab .tag{background:#d54e21;border-radius:4px;color:#fff;display:inline-block;font-size:10px;letter-spacing:.5px;line-height:1;margin-left:5px;padding:4px 6px;text-transform:uppercase;opacity:.8}.dslc-scroll-back{margin-left:-90px;margin-top:44px;position:absolute;text-decoration:none;text-transform:uppercase}.dslc-scroll-back .dashicons{font-size:17px}#dslc-settings-column{clear:both;display:inline;float:left;margin-left:-300px;padding-top:0;width:281px}.dslc-settings-form .dslc-panel{padding:40px;margin-top:10px;max-width:640px}.dslc-settings-form .dslc-panel h2{margin-bottom:30px}.dslc-submenu-section{border-bottom:1px solid #ddd;margin:0}.dslc-submenu-section:hover{background:#f5f5f5;color:#23282d}.dslc-submenu-section a{-moz-user-select:none;border-left:1px solid #ddd;border-right:1px solid #ddd;margin:0;padding:12px 15px 15px;position:relative;font-size:14px;line-height:21px;font-weight:700;color:#23282D!important;text-decoration:none;display:block}.dslc-submenu-section .dashicons{margin-bottom:-1px;margin-right:6px;margin-top:1px;opacity:.4}#dslc-setings-liquid{float:left;margin-top:3px;min-width:100%}#dslc-settings-frame{margin-left:300px;margin-top:23px}
includes/plugin-options-framework/getting-started.php DELETED
@@ -1,109 +0,0 @@
1
- <div class="wrap lc-wrap">
2
-
3
- <?php $dslc_getting_started = get_option( 'dslc_user' ); ?>
4
-
5
- <?php if ( $dslc_getting_started['email'] == '' ) { ?>
6
-
7
- <div class="lc-subscribe">
8
-
9
- <h3><?php _e( 'Keep Your Website Secure', 'live-composer-page-builder' );?></h3>
10
- <p><?php _e( 'Get email notifications on Live Composer development', 'live-composer-page-builder' );?><br>
11
- <strong><?php _e( 'Security updates', 'live-composer-page-builder' ); ?></strong> &#8226; <strong><?php _e( 'New features', 'live-composer-page-builder' ); ?></strong> &#8226; <strong><?php _e( 'Extension releases', 'live-composer-page-builder' ); ?></strong></p>
12
-
13
- <form method="POST" action="https://lumbermandesigns.activehosted.com/proc.php" id="_form_11_" class="activecampaign_form" novalidate>
14
- <input type="hidden" name="u" value="11" />
15
- <input type="hidden" name="f" value="11" />
16
- <input type="hidden" name="s" />
17
- <input type="hidden" name="c" value="0" />
18
- <input type="hidden" name="m" value="0" />
19
- <input type="hidden" name="act" value="sub" />
20
- <input type="hidden" name="v" value="2" />
21
- <div class="_form-content">
22
- <div>
23
- <input type="text" name="email" id="dslc_activecampaign_email" placeholder="Email" value="<?php echo $dslc_getting_started['email']; ?>" required/>
24
- </div>
25
- <br/>
26
- <div>
27
- <input type="text" name="firstname" id="dslc_activecampaign_name" placeholder="First Name" required value="<?php echo $dslc_getting_started['name']; ?>" />
28
- </div>
29
- <br/>
30
- <br/>
31
- <button id="_form_11_submit" class="button button-primary" type="submit">Submit</button>
32
- </div>
33
- <div class="_form-thank-you"></div>
34
- </form>
35
-
36
- </div>
37
-
38
- <?php } ?>
39
-
40
- <div class="lc-social">
41
-
42
- <h3><?php _e( 'We are social', 'live-composer-page-builder' );?></h3>
43
-
44
- <div id="share-buttons">
45
-
46
- <div class="dslc_twitter">
47
- <a href="https://twitter.com/livecomposerwp" class="twitter-follow-button" data-show-count="false">Follow @livecomposerwp</a>
48
- <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
49
- <span class="dslc_social_text">&mdash; <?php _e( 'plugin development insights', 'live-composer-page-builder' ); ?></span>
50
- </div>
51
- <div class="dslc_facebook">
52
- <div id="fb-root"></div>
53
- <script>(function(d, s, id) {
54
- var js, fjs = d.getElementsByTagName(s)[0];
55
- if (d.getElementById(id)) return;
56
- js = d.createElement(s); js.id = id;
57
- js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.5";
58
- fjs.parentNode.insertBefore(js, fjs);
59
- }(document, 'script', 'facebook-jssdk'));</script>
60
- <div class="fb-follow" data-href="https://www.facebook.com/livecomposer" data-layout="button" data-show-faces="true"></div>
61
- <span class="dslc_social_text">&mdash; <?php _e( 'important update notifications', 'live-composer-page-builder' ); ?></span>
62
- </div>
63
- <div class="dslc_facebook_group">
64
- <a href="https://www.facebook.com/groups/livecomposer/" target="_blank">LC Facebook Group</a>
65
- <span class="dslc_social_text">&mdash; <?php _e( 'friendly community of plugin users', 'live-composer-page-builder' ); ?></span>
66
- </div>
67
-
68
- </div>
69
-
70
- </div>
71
-
72
- <div class="clear"></div>
73
-
74
- <div class="changelog">
75
-
76
- <h3><?php _e( 'Documentation &amp; Support', 'live-composer-page-builder' );?></h3>
77
-
78
- <div class="feature-section">
79
-
80
- <h4><?php _e( 'Usage Documentation', 'live-composer-page-builder' );?></h4>
81
- <p><?php _e( 'The usage documentation is available online. We have great search functionality and add new articles weekly.<br><a target="_blank" href="http://livecomposerplugin.com/documentation">Go To Usage Documentation &rarr;</a>', 'live-composer-page-builder' );?></p>
82
-
83
- <h4><?php _e( 'Developer Documentation', 'live-composer-page-builder' );?></h4>
84
- <p><?php _e( 'If you\'re a developer who is interested in building custom modules for Live Composer give a check at the developer documentation.<br><a target="_blank" href="http://livecomposerplugin.com/dev-docs">Go To Developer Documentation &rarr;</a>', 'live-composer-page-builder' );?></p>
85
-
86
- <h4><?php _e( 'Support', 'live-composer-page-builder' );?></h4>
87
- <p><?php _e( 'If you run into any bugs or issues do let us know.<br><a target="_blank" href="http://livecomposerplugin.com/support/">Go To Support &rarr;</a>', 'live-composer-page-builder' );?></p>
88
-
89
- </div><!-- .feature-section -->
90
-
91
- </div><!-- .changelog -->
92
-
93
- <div class="changelog">
94
-
95
- <h3><?php _e( 'Themes &amp; Add-Ons', 'live-composer-page-builder' );?></h3>
96
-
97
- <div class="feature-section">
98
-
99
- <h4><?php _e( 'Themes', 'live-composer-page-builder' );?></h4>
100
- <p><?php _e( 'There are a lot of free and premium themes powered by Live Composer.<br><a target="_blank" href="http://livecomposerplugin.com/themes">Check Out The Themes &rarr;</a>', 'live-composer-page-builder' );?></p>
101
-
102
- <h4><?php _e( 'Add-Ons', 'live-composer-page-builder' );?></h4>
103
- <p><?php _e( 'If you are looking for some extra functionality ( features, modules... ) there are free and premium add-ons.<br><a target="_blank" href="http://livecomposerplugin.com/add-ons">Check Out The Add-Ons &rarr;</a>', 'live-composer-page-builder' );?></p>
104
-
105
- </div><!-- .feature-section -->
106
-
107
- </div><!-- .changelog -->
108
-
109
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/{access-control.php → plugin-options-framework/inc/access-control.php} RENAMED
@@ -40,55 +40,76 @@ function dslc_access_control_init() {
40
  $dslc_plugin_options['dslc_plugin_options_access_control'] = array(
41
  'title' => __( 'Access Control', 'live-composer-page-builder' ),
42
  'options' => array(
 
43
  'lc_min_capability_page' => array(
 
 
44
  'label' => __( 'Front-End Editor', 'live-composer-page-builder' ),
45
  'std' => 'publish_posts',
46
  'type' => 'select',
47
  'descr' => __( 'Who can use Live Composer in the front-end? This will also affect who can manage post templates.', 'live-composer-page-builder' ),
48
  'choices' => $capability_opts
49
  ),
 
50
  'lc_min_capability_projects_m' => array(
 
 
51
  'label' => __( 'Projects Management', 'live-composer-page-builder' ),
52
  'std' => 'publish_posts',
53
  'type' => 'select',
54
  'descr' => __( 'Who can manage projects ( add, edit, trash... )?', 'live-composer-page-builder' ),
55
  'choices' => $capability_opts
56
  ),
 
57
  'lc_min_capability_galleries_m' => array(
 
 
58
  'label' => __( 'Galleries Management', 'live-composer-page-builder' ),
59
  'std' => 'publish_posts',
60
  'type' => 'select',
61
  'descr' => __( 'Who can manage galleries ( add, edit, trash... )?', 'live-composer-page-builder' ),
62
  'choices' => $capability_opts
63
  ),
 
64
  'lc_min_capability_staff_m' => array(
 
 
65
  'label' => __( 'Staff Management', 'live-composer-page-builder' ),
66
  'std' => 'publish_posts',
67
  'type' => 'select',
68
  'descr' => __( 'Who can manage staff ( add, edit, trash... )?', 'live-composer-page-builder' ),
69
  'choices' => $capability_opts
70
  ),
 
71
  'lc_min_capability_downloads_m' => array(
 
 
72
  'label' => __( 'Downloads Management', 'live-composer-page-builder' ),
73
  'std' => 'publish_posts',
74
  'type' => 'select',
75
  'descr' => __( 'Who can manage downloads ( add, edit, trash... )?', 'live-composer-page-builder' ),
76
  'choices' => $capability_opts
77
  ),
 
78
  'lc_min_capability_testimonials_m' => array(
 
 
79
  'label' => __( 'Testimonials Management', 'live-composer-page-builder' ),
80
  'std' => 'publish_posts',
81
  'type' => 'select',
82
  'descr' => __( 'Who can manage testimonials ( add, edit, trash... )?', 'live-composer-page-builder' ),
83
  'choices' => $capability_opts
84
  ),
 
85
  'lc_min_capability_partners_m' => array(
 
 
86
  'label' => __( 'Partners Management', 'live-composer-page-builder' ),
87
  'std' => 'publish_posts',
88
  'type' => 'select',
89
  'descr' => __( 'Who can manage partners ( add, edit, trash... )?', 'live-composer-page-builder' ),
90
  'choices' => $capability_opts
91
- ),
92
  )
93
  );
94
 
40
  $dslc_plugin_options['dslc_plugin_options_access_control'] = array(
41
  'title' => __( 'Access Control', 'live-composer-page-builder' ),
42
  'options' => array(
43
+
44
  'lc_min_capability_page' => array(
45
+
46
+ 'section' => 'dslc_plugin_options_access_control',
47
  'label' => __( 'Front-End Editor', 'live-composer-page-builder' ),
48
  'std' => 'publish_posts',
49
  'type' => 'select',
50
  'descr' => __( 'Who can use Live Composer in the front-end? This will also affect who can manage post templates.', 'live-composer-page-builder' ),
51
  'choices' => $capability_opts
52
  ),
53
+
54
  'lc_min_capability_projects_m' => array(
55
+
56
+ 'section' => 'dslc_plugin_options_access_control',
57
  'label' => __( 'Projects Management', 'live-composer-page-builder' ),
58
  'std' => 'publish_posts',
59
  'type' => 'select',
60
  'descr' => __( 'Who can manage projects ( add, edit, trash... )?', 'live-composer-page-builder' ),
61
  'choices' => $capability_opts
62
  ),
63
+
64
  'lc_min_capability_galleries_m' => array(
65
+
66
+ 'section' => 'dslc_plugin_options_access_control',
67
  'label' => __( 'Galleries Management', 'live-composer-page-builder' ),
68
  'std' => 'publish_posts',
69
  'type' => 'select',
70
  'descr' => __( 'Who can manage galleries ( add, edit, trash... )?', 'live-composer-page-builder' ),
71
  'choices' => $capability_opts
72
  ),
73
+
74
  'lc_min_capability_staff_m' => array(
75
+
76
+ 'section' => 'dslc_plugin_options_access_control',
77
  'label' => __( 'Staff Management', 'live-composer-page-builder' ),
78
  'std' => 'publish_posts',
79
  'type' => 'select',
80
  'descr' => __( 'Who can manage staff ( add, edit, trash... )?', 'live-composer-page-builder' ),
81
  'choices' => $capability_opts
82
  ),
83
+
84
  'lc_min_capability_downloads_m' => array(
85
+
86
+ 'section' => 'dslc_plugin_options_access_control',
87
  'label' => __( 'Downloads Management', 'live-composer-page-builder' ),
88
  'std' => 'publish_posts',
89
  'type' => 'select',
90
  'descr' => __( 'Who can manage downloads ( add, edit, trash... )?', 'live-composer-page-builder' ),
91
  'choices' => $capability_opts
92
  ),
93
+
94
  'lc_min_capability_testimonials_m' => array(
95
+
96
+ 'section' => 'dslc_plugin_options_access_control',
97
  'label' => __( 'Testimonials Management', 'live-composer-page-builder' ),
98
  'std' => 'publish_posts',
99
  'type' => 'select',
100
  'descr' => __( 'Who can manage testimonials ( add, edit, trash... )?', 'live-composer-page-builder' ),
101
  'choices' => $capability_opts
102
  ),
103
+
104
  'lc_min_capability_partners_m' => array(
105
+
106
+ 'section' => 'dslc_plugin_options_access_control',
107
  'label' => __( 'Partners Management', 'live-composer-page-builder' ),
108
  'std' => 'publish_posts',
109
  'type' => 'select',
110
  'descr' => __( 'Who can manage partners ( add, edit, trash... )?', 'live-composer-page-builder' ),
111
  'choices' => $capability_opts
112
+ )
113
  )
114
  );
115
 
includes/plugin-options-framework/inc/display-options.php CHANGED
@@ -1,159 +1,179 @@
1
  <?php
2
 
3
- function dslc_plugin_option_display_text( $option_ID, $section_ID ) {
4
 
5
  global $dslc_plugin_options;
6
 
7
- $options = get_option( $section_ID );
8
-
9
- if ( isset( $options[ $option_ID ] ) )
10
- $value = $options[$option_ID];
11
- else
12
- $value = $dslc_plugin_options[$section_ID]['options'][$option_ID]['std'];
13
-
14
- ?><input class="regular-text" id='<?php echo $option_ID; ?>' name='<?php echo $section_ID; ?>[<?php echo $option_ID; ?>]' type='text' value='<?php echo esc_attr( $value ); ?>' /><?php
15
- if ( isset( $dslc_plugin_options[$section_ID]['options'][$option_ID]['descr'] ) ) :
16
- ?><p class="description"><?php echo $dslc_plugin_options[$section_ID]['options'][$option_ID]['descr']; ?></p><?php
17
- endif;
18
 
19
- }
 
 
20
 
21
- function dslc_plugin_option_display_textarea( $option_ID, $section_ID ) {
 
 
 
 
 
 
22
 
 
 
23
  global $dslc_plugin_options;
24
 
25
- $options = get_option( $section_ID );
26
-
27
- if ( isset( $options[ $option_ID ] ) )
28
- $value = $options[$option_ID];
29
- else
30
- $value = $dslc_plugin_options[$section_ID]['options'][$option_ID]['std'];
31
 
32
-
33
  // echo the field
34
- ?><textarea class="large-text" id='<?php echo $option_ID; ?>' name='<?php echo $section_ID; ?>[<?php echo $option_ID; ?>]' rows="5" cols="50"><?php echo esc_attr( $value ); ?></textarea><?php
35
- if ( isset( $dslc_plugin_options[$section_ID]['options'][$option_ID]['descr'] ) ) :
36
- ?><p class="description"><?php echo $dslc_plugin_options[$section_ID]['options'][$option_ID]['descr']; ?></p><?php
37
- endif;
 
 
38
 
 
 
 
 
 
 
39
  }
40
 
41
- function dslc_plugin_option_display_select( $option_ID, $section_ID ) {
42
 
43
  global $dslc_plugin_options;
44
 
45
- $options = get_option( $section_ID );
46
-
47
- if ( isset( $options[ $option_ID ] ) )
48
- $value = $options[$option_ID];
49
- else
50
- $value = $dslc_plugin_options[$section_ID]['options'][$option_ID]['std'];
51
-
52
- $option = $dslc_plugin_options[$section_ID]['options'][$option_ID];
53
-
54
- ?><select id='<?php echo $option_ID; ?>' name='<?php echo $section_ID; ?>[<?php echo $option_ID; ?>]'><?php
55
- foreach ( $option['choices'] as $choice ) :
56
- ?><option value="<?php echo $choice['value']; ?>" <?php if ( $choice['value'] == $value ) echo 'selected="selected"'; ?> ><?php echo $choice['label'];?></option><?php
57
- endforeach;
58
- ?></select><?php
59
- if ( isset( $dslc_plugin_options[$section_ID]['options'][$option_ID]['descr'] ) ) :
60
- ?><p class="description"><?php echo $dslc_plugin_options[$section_ID]['options'][$option_ID]['descr']; ?></p><?php
61
- endif;
62
 
63
- }
 
64
 
65
- function dslc_plugin_option_display_checkbox( $option_ID, $section_ID ) {
 
 
 
 
 
66
 
67
- global $dslc_plugin_options;
 
 
 
 
 
68
 
69
- $options = get_option( $section_ID );
70
-
71
- if ( isset( $options[ $option_ID ] ) )
72
- $value = $options[$option_ID];
73
- else
74
- $value = $dslc_plugin_options[$section_ID]['options'][$option_ID]['std'];
 
 
 
 
 
75
 
76
- $option = $dslc_plugin_options[$section_ID]['options'][$option_ID];
 
 
77
 
78
- foreach ( $option['choices'] as $choice ) :
 
 
79
  ?>
80
- <input type="checkbox" name="<?php echo $section_ID; ?>[<?php echo $option_ID; ?>][]" id="<?php echo $option_ID; ?>" value="<?php echo $choice['value']; ?>" <?php if ( in_array( $choice['value'], $value ) ) echo 'checked="checked"'; ?>>
81
- <label for="<?php echo $option_ID; ?>"><?php echo $choice['label']; ?></label>
 
 
82
  <br>
83
- <?php
84
  endforeach;
85
- if ( isset( $dslc_plugin_options[$section_ID]['options'][$option_ID]['descr'] ) ) :
86
- ?><p class="description"><?php echo $dslc_plugin_options[$section_ID]['options'][$option_ID]['descr']; ?></p><?php
87
- endif;
88
 
89
- }
90
 
91
- function dslc_plugin_option_display_radio( $option_ID, $section_ID ) {
 
 
 
92
 
93
- global $dslc_plugin_options;
 
94
 
95
- $options = get_option( $section_ID );
96
-
97
- if ( isset( $options[ $option_ID ] ) )
98
- $value = $options[$option_ID];
99
- else
100
- $value = $dslc_plugin_options[$section_ID]['options'][$option_ID]['std'];
101
 
102
- $option = $dslc_plugin_options[$section_ID]['options'][$option_ID];
 
 
103
 
104
- foreach ( $option['choices'] as $choice ) :
105
  ?>
106
- <input type="radio" name="<?php echo $section_ID; ?>[<?php echo $option_ID; ?>]" id="<?php echo $option_ID; ?>" value="<?php echo $choice['value']; ?>" <?php if ( $choice['value'] == $value ) echo 'checked="checked"'; ?>>
107
- <label for="<?php echo $section_ID; ?>[<?php echo $option_ID; ?>]"><?php echo $choice['label']; ?></label>
 
 
108
  <br>
109
- <?php
110
  endforeach;
111
- if ( isset( $dslc_plugin_options[$section_ID]['options'][$option_ID]['descr'] ) ) :
112
- ?><p class="description"><?php echo $dslc_plugin_options[$section_ID]['options'][$option_ID]['descr']; ?></p><?php
113
- endif;
114
 
115
- }
116
 
117
- function dslc_plugin_option_display_list( $option_ID, $section_ID ) {
118
 
119
- global $dslc_plugin_options;
 
 
 
120
 
121
- $options = get_option( $section_ID );
122
-
123
- if ( isset( $options[ $option_ID ] ) )
124
- $value = $options[$option_ID];
125
- else
126
- $value = $dslc_plugin_options[$section_ID]['options'][$option_ID]['std'];
127
 
128
- $option = $dslc_plugin_options[$section_ID]['options'][$option_ID];
 
 
129
 
 
 
 
130
  ?>
131
 
132
  <div class="dslca-plugin-opts-list-wrap">
133
 
134
- <input type="hidden" class="dslca-plugin-opts-list-code" id='<?php echo $option_ID; ?>' name='<?php echo $section_ID; ?>[<?php echo $option_ID; ?>]' value='<?php echo esc_attr( $value ); ?>' />
135
 
136
- <?php
137
  $sidebars_array = array();
138
  if ( $value !== '' ) {
139
 
140
  $sidebars = $value;
141
  $sidebars_array = explode( ',', substr( $sidebars, 0, -1 ) );
142
-
143
  }
144
-
145
  ?>
146
 
147
  <div class="dslca-plugin-opts-list">
148
  <?php foreach ( $sidebars_array as $sidebar ) : ?>
149
  <div class="dslca-plugin-opts-list-item">
150
- <span class="dslca-plugin-opts-list-title" contenteditable><?php echo $sidebar; ?></span>
151
- <a href="#" class="dslca-plugin-opts-list-delete-hook"><?php _e( 'delete', 'live-composer-page-builder' ); ?></a>
 
 
 
 
152
  </div>
153
  <?php endforeach; ?>
154
  </div><!-- .dslca-plugin-opts-list -->
155
 
156
- <a href="#" class="dslca-plugin-opts-list-add-hook"><?php _e( 'Add New', 'live-composer-page-builder' ); ?></a>
 
 
157
 
158
  <div class="dslca-plugin-opts-list-error">
159
  <?php _e( 'Items with duplicated titles found. Titles must be unique.', 'live-composer-page-builder' ); ?>
@@ -162,16 +182,24 @@ function dslc_plugin_option_display_list( $option_ID, $section_ID ) {
162
  </div>
163
 
164
  <?php
165
- if ( isset( $dslc_plugin_options[$section_ID]['options'][$option_ID]['descr'] ) ) :
166
- ?><p class="description"><?php echo $dslc_plugin_options[$section_ID]['options'][$option_ID]['descr']; ?></p><?php
 
 
 
 
 
167
  endif;
168
 
169
  }
170
 
171
- function dslc_plugin_option_display_styling_presets( $option_ID, $section_ID ) {
172
-
173
  global $dslc_plugin_options;
174
 
 
 
 
175
  $presets = maybe_unserialize( get_option( 'dslc_presets' ) );
176
 
177
  ?>
@@ -185,8 +213,12 @@ function dslc_plugin_option_display_styling_presets( $option_ID, $section_ID ) {
185
  <div class="dslca-plugin-opts-list">
186
  <?php foreach ( $presets as $preset ) : ?>
187
  <div class="dslca-plugin-opts-list-item">
188
- <span class="dslca-plugin-opts-list-title" contenteditable><?php echo $preset['title']; ?></span>
189
- <a href="#" class="dslca-plugin-opts-list-delete-hook"><?php _e( 'delete', 'live-composer-page-builder' ); ?></a>
 
 
 
 
190
  </div>
191
  <?php endforeach; ?>
192
  </div><!-- .dslca-plugin-opts-list -->
@@ -194,8 +226,12 @@ function dslc_plugin_option_display_styling_presets( $option_ID, $section_ID ) {
194
  </div>
195
 
196
  <?php
197
- if ( isset( $dslc_plugin_options[$section_ID]['options'][$option_ID]['descr'] ) ) :
198
- ?><p class="description"><?php echo $dslc_plugin_options[$section_ID]['options'][$option_ID]['descr']; ?></p><?php
199
- endif;
200
 
 
 
 
 
 
 
201
  }
1
  <?php
2
 
3
+ function dslc_plugin_option_display_text( $option ) {
4
 
5
  global $dslc_plugin_options;
6
 
7
+ $section_ID = $option['section'];
8
+ $option_ID = $option['id'];
9
+ $value = $option['value'];
 
 
 
 
 
 
 
 
10
 
11
+ ?>
12
+ <input class="regular-text" id='<?php echo $option_ID; ?>' name='<?php echo $option['name']; ?>' type='text' value='<?php echo esc_attr( $value ); ?>' />
13
+ <?php if ( isset( $option['descr'] ) ) : ?>
14
 
15
+ <p class="description">
16
+ <?php echo $option['descr']; ?>
17
+ </p>
18
+ <?php
19
+
20
+ endif;
21
+ }
22
 
23
+ function dslc_plugin_option_display_textarea( $option )
24
+ {
25
  global $dslc_plugin_options;
26
 
27
+ $section_ID = $option['section_id'];
28
+ $option_ID = $option['id'];
29
+ $value = $option['value'];
 
 
 
30
 
 
31
  // echo the field
32
+ ?><textarea class="large-text" id='<?php echo $option_ID; ?>' name='<?php echo $option['name']; ?>' rows="5" cols="50">
33
+ <?php echo esc_attr( $value ); ?>
34
+ </textarea>
35
+
36
+ <?php
37
+ if ( isset( $option['descr'] ) ) : ?>
38
 
39
+ <p class="description">
40
+ <?php echo $option['descr']; ?>
41
+ </p>
42
+ <?php
43
+
44
+ endif;
45
  }
46
 
47
+ function dslc_plugin_option_display_select( $option ) {
48
 
49
  global $dslc_plugin_options;
50
 
51
+ $section_ID = $option['section'];
52
+ $option_ID = $option['id'];
53
+ $value = $option['value'];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
54
 
55
+ ?>
56
+ <select id='<?php echo $option_ID; ?>' name='<?php echo $option['name']; ?>'>
57
 
58
+ <?php foreach ( $option['choices'] as $choice ) : ?>
59
+ <?php echo $choice['value']; ?>
60
+ <?php echo $value; ?>
61
+ <option value="<?php echo $choice['value']; ?>" <?php if ( $choice['value'] == $value ) echo 'selected="selected"'; ?> >
62
+ <?php echo $choice['label']; ?>
63
+ </option>
64
 
65
+ <?php endforeach; ?>
66
+
67
+ </select>
68
+
69
+ <?php
70
+ if ( isset( $option['descr'] ) ) : ?>
71
 
72
+ <p class="description">
73
+ <?php echo $option['descr']; ?>
74
+ </p>
75
+ <?php
76
+
77
+ endif;
78
+ }
79
+
80
+ function dslc_plugin_option_display_checkbox( $option )
81
+ {
82
+ global $dslc_plugin_options;
83
 
84
+ $section_ID = $option['section'];
85
+ $option_ID = $option['id'];
86
+ $value = $option['value'];
87
 
88
+ $cnt = 0;
89
+ foreach ( $option['choices'] as $choice ) :
90
+ $cnt++;
91
  ?>
92
+ <input type="checkbox" name="<?php echo $option['name']; ?>[]" id="<?php echo $option_ID . $cnt; ?>" value="<?php echo $choice['value']; ?>" <?php if ( in_array( $choice['value'], $value ) ) echo 'checked="checked"'; ?>>
93
+ <label for="<?php echo $option_ID . $cnt; ?>">
94
+ <?php echo $choice['label']; ?>
95
+ </label>
96
  <br>
97
+ <?php
98
  endforeach;
 
 
 
99
 
100
+ if ( isset( $option['descr'] ) ) : ?>
101
 
102
+ <p class="description">
103
+ <?php echo $option['descr']; ?>
104
+ </p>
105
+ <?php
106
 
107
+ endif;
108
+ }
109
 
110
+ function dslc_plugin_option_display_radio( $option )
111
+ {
112
+ global $dslc_plugin_options;
 
 
 
113
 
114
+ $section_ID = $option['section'];
115
+ $option_ID = $option['id'];
116
+ $value = $option['value'];
117
 
118
+ foreach ( $option['choices'] as $choice ) :
119
  ?>
120
+ <input type="radio" name="<?php echo $option['name']; ?>" id="<?php echo $option_ID; ?>" value="<?php echo $choice['value']; ?>" <?php if ( $choice['value'] == $value ) echo 'checked="checked"'; ?>>
121
+ <label for="<?php echo $section_ID; ?>[<?php echo $option_ID; ?>]">
122
+ <?php echo $choice['label']; ?>
123
+ </label>
124
  <br>
125
+ <?php
126
  endforeach;
 
 
 
127
 
 
128
 
129
+ if ( isset( $option['descr'] ) ) : ?>
130
 
131
+ <p class="description">
132
+ <?php echo $option['descr']; ?>
133
+ </p>
134
+ <?php
135
 
136
+ endif;
137
+ }
 
 
 
 
138
 
139
+ function dslc_plugin_option_display_list( $option )
140
+ {
141
+ global $dslc_plugin_options;
142
 
143
+ $section_ID = $option['section'];
144
+ $option_ID = $option['id'];
145
+ $value = $option['value'];
146
  ?>
147
 
148
  <div class="dslca-plugin-opts-list-wrap">
149
 
150
+ <input type="hidden" class="dslca-plugin-opts-list-code" id='<?php echo $option_ID; ?>' name='<?php echo $option['name']; ?>' value='<?php echo esc_attr( $value ); ?>' />
151
 
152
+ <?php
153
  $sidebars_array = array();
154
  if ( $value !== '' ) {
155
 
156
  $sidebars = $value;
157
  $sidebars_array = explode( ',', substr( $sidebars, 0, -1 ) );
 
158
  }
 
159
  ?>
160
 
161
  <div class="dslca-plugin-opts-list">
162
  <?php foreach ( $sidebars_array as $sidebar ) : ?>
163
  <div class="dslca-plugin-opts-list-item">
164
+ <span class="dslca-plugin-opts-list-title" contenteditable>
165
+ <?php echo $sidebar; ?>
166
+ </span>
167
+ <a href="#" class="dslca-plugin-opts-list-delete-hook">
168
+ <?php _e( 'delete', 'live-composer-page-builder' ); ?>
169
+ </a>
170
  </div>
171
  <?php endforeach; ?>
172
  </div><!-- .dslca-plugin-opts-list -->
173
 
174
+ <a href="#" class="dslca-plugin-opts-list-add-hook">
175
+ <?php _e( 'Add New', 'live-composer-page-builder' ); ?>
176
+ </a>
177
 
178
  <div class="dslca-plugin-opts-list-error">
179
  <?php _e( 'Items with duplicated titles found. Titles must be unique.', 'live-composer-page-builder' ); ?>
182
  </div>
183
 
184
  <?php
185
+ if ( isset( $option['descr'] ) ) : ?>
186
+
187
+ <p class="description">
188
+ <?php echo $option['descr']; ?>
189
+ </p>
190
+ <?php
191
+
192
  endif;
193
 
194
  }
195
 
196
+ function dslc_plugin_option_display_styling_presets( $option )
197
+ {
198
  global $dslc_plugin_options;
199
 
200
+ $section_ID = $option['section'];
201
+ $option_ID = $option['id'];
202
+
203
  $presets = maybe_unserialize( get_option( 'dslc_presets' ) );
204
 
205
  ?>
213
  <div class="dslca-plugin-opts-list">
214
  <?php foreach ( $presets as $preset ) : ?>
215
  <div class="dslca-plugin-opts-list-item">
216
+ <span class="dslca-plugin-opts-list-title" contenteditable>
217
+ <?php echo $preset['title']; ?>
218
+ </span>
219
+ <a href="#" class="dslca-plugin-opts-list-delete-hook">
220
+ <?php _e( 'delete', 'live-composer-page-builder' ); ?>
221
+ </a>
222
  </div>
223
  <?php endforeach; ?>
224
  </div><!-- .dslca-plugin-opts-list -->
226
  </div>
227
 
228
  <?php
229
+ if ( isset( $option['descr'] ) ) : ?>
 
 
230
 
231
+ <p class="description">
232
+ <?php echo $option['descr']; ?>
233
+ </p>
234
+ <?php
235
+
236
+ endif;
237
  }
includes/plugin-options-framework/inc/functions.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
-
3
  /**
4
  * Retrieve value of all options
5
  */
@@ -29,16 +29,27 @@
29
 
30
  function dslc_get_option( $option_ID, $section_ID ) {
31
 
32
- global $dslc_plugin_options;
 
 
 
 
 
33
 
34
- $options = get_option( $section_ID );
35
-
36
- if ( isset( $options[ $option_ID ] ) )
37
  $value = $options[$option_ID];
38
- elseif ( isset ( $dslc_plugin_options[$section_ID]['options'][$option_ID] ) )
39
- $value = $dslc_plugin_options[$section_ID]['options'][$option_ID]['std'];
40
- else
41
- $value = '';
 
 
 
 
 
 
 
 
 
42
 
43
  return $value;
44
 
1
  <?php
2
+
3
  /**
4
  * Retrieve value of all options
5
  */
29
 
30
  function dslc_get_option( $option_ID, $section_ID ) {
31
 
32
+ global $dslc_plugin_options;
33
+
34
+ $value = null;
35
+ $options = get_option( 'dslc_plugin_options' );
36
+
37
+ if ( isset( $options[$option_ID] ) ) {
38
 
 
 
 
39
  $value = $options[$option_ID];
40
+ }
41
+
42
+ if ( $value == null ) {
43
+
44
+ $options = get_option( $section_ID );
45
+
46
+ if ( isset( $options[$option_ID] ) )
47
+ $value = $options[$option_ID];
48
+ elseif ( isset ( $dslc_plugin_options[$section_ID]['options'][$option_ID] ) )
49
+ $value = $dslc_plugin_options[$section_ID]['options'][$option_ID]['std'];
50
+ else
51
+ $value = '';
52
+ }
53
 
54
  return $value;
55
 
includes/plugin-options-framework/inc/init.php CHANGED
@@ -1,5 +1,16 @@
1
  <?php
2
 
 
 
 
 
 
 
 
 
 
 
 
3
  /**
4
  * Register all the option pages
5
  */
@@ -9,53 +20,30 @@ function dslc_plugin_options_setup() {
9
  global $dslc_plugin_options;
10
  do_action( 'dslc_hook_register_options' );
11
 
 
 
 
 
12
  add_menu_page(
13
- __('Live Composer', 'dslc_string' ),
14
- __('Live Composer', 'dslc_string' ),
15
  'manage_options',
16
  'dslc_plugin_options',
17
- 'dslc_plugin_options_display'
 
 
18
  );
19
 
20
- add_submenu_page(
21
- 'dslc_plugin_options',
22
- __('Getting Started', 'dslc_string' ),
23
- __('Getting Started', 'dslc_string' ),
24
- 'manage_options',
25
- 'dslc_getting_started',
26
- create_function( null, 'dslc_plugin_options_display( "dslc_getting_started" );' )
27
- );
28
-
29
- remove_submenu_page('dslc_plugin_options','dslc_plugin_options'); // delete duplicate
30
-
31
- foreach ( $dslc_plugin_options as $section_ID => $section ) {
32
-
33
- if ( $section_ID == 'dslc_plugin_options' ) {
34
-
35
- add_submenu_page(
36
- 'dslc_plugin_options',
37
- $section['title'],
38
- $section['title'],
39
- 'manage_options',
40
- $section_ID,
41
- 'dslc_plugin_options_display'
42
- );
43
-
44
- } else {
45
-
46
- add_submenu_page(
47
- 'dslc_plugin_options',
48
- $section['title'],
49
- $section['title'],
50
- 'manage_options',
51
- $section_ID,
52
- create_function( null, 'dslc_plugin_options_display( "' . $section_ID . '" );' )
53
- );
54
-
55
- }
56
-
57
- }
58
 
 
59
  } add_action( 'admin_menu', 'dslc_plugin_options_setup' );
60
 
61
  /**
@@ -66,70 +54,81 @@ function dslc_plugin_options_display( $tab = '' ) {
66
 
67
  global $dslc_plugin_options;
68
 
69
- if ( $tab == '' ) {
70
- $tab = 'dslc_plugin_options';
71
- }
72
-
73
  ?>
 
 
 
74
  <div class="wrap">
75
-
76
- <div id="icon-themes" class="icon32"></div>
77
- <h2>Live Composer</h2>
78
- <?php settings_errors(); ?>
79
-
80
- <h2 class="nav-tab-wrapper">
81
- <a href="?page=dslc_getting_started" class="nav-tab <?php echo $tab == 'dslc_getting_started' ? 'nav-tab-active' : ''; ?>">Getting Started</a>
82
- <?php foreach ( $dslc_plugin_options as $section_ID => $section ) : ?>
83
- <a href="?page=<?php echo $section_ID; ?>" class="nav-tab <?php echo $tab == $section_ID ? 'nav-tab-active' : ''; ?>"><?php echo $section['title']; ?></a>
84
- <?php endforeach; ?>
 
 
 
 
 
 
 
 
 
 
 
 
85
  </h2>
86
 
87
- <?php if ( $tab == 'dslc_getting_started' ) { ?>
88
- <?php
89
-
90
- include DS_LIVE_COMPOSER_ABS . '/includes/plugin-options-framework/getting-started.php';
91
-
92
- ?>
93
- <?php } else { ?>
94
-
95
- <form method="post" action="options.php">
96
-
97
- <?php if ( $tab == 'dslc_plugin_options_cpt_slugs' ) : ?>
98
-
99
- <div class="dslca-plugin-opts-notification">
100
- <?php _e( '<strong>Important:</strong> After changing slugs you need to visit the <strong>Settings &rarr; Permalinks</strong> page. Otherwise you will get 404 errors.', 'live-composer-page-builder' ); ?>
101
- </div>
102
 
103
- <?php elseif ( $tab == 'dslc_plugin_options_widgets_m' ) : ?>
104
-
105
- <div class="dslca-plugin-opts-notification">
106
- <?php _e( 'Sidebars created here will be available in <strong>WP Admin > Appearance > Widgets</strong> and in the <strong>Widgets</strong> module.', 'live-composer-page-builder' ); ?>
107
- </div>
108
-
109
- <?php elseif ( $tab == 'dslc_plugin_options_navigation_m' ) : ?>
110
-
111
- <div class="dslca-plugin-opts-notification">
112
- <?php _e( 'Menus locations created here will be available in <strong>WP Admin > Appearance > Menus</strong> and in the <strong>Navigation</strong> module.', 'live-composer-page-builder' ); ?>
113
- </div>
114
-
115
- <?php endif; ?>
116
-
117
- <?php
118
- settings_fields( $tab );
 
 
 
 
 
 
 
 
 
 
 
 
 
119
 
120
- if ( $tab == '' )
121
- do_settings_sections( 'dslc_plugin_options' );
122
- else
123
- do_settings_sections( $tab );
124
 
125
- submit_button();
126
- ?>
127
 
128
- </form>
129
 
130
- <?php } ?>
131
 
132
- </div><!-- /.wrap -->
 
 
 
 
133
  <?php
134
 
135
  }
@@ -170,14 +169,52 @@ function dslc_plugin_options_init() {
170
 
171
  foreach ( $section['options'] as $option_ID => $option ) {
172
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
173
  add_settings_field(
174
  $option_ID,
175
  $option['label'],
176
- create_function( null, 'dslc_plugin_option_display_' . $option['type'] . '( "' . $option_ID . '", "' . $section_ID . '" );' ),
 
 
 
 
177
  $section_ID,
178
  $section_ID
179
  );
180
-
181
  }
182
 
183
  }
@@ -196,16 +233,16 @@ function dslc_plugin_options_display_options( $section ) {
196
  */
197
 
198
  add_action( 'wp_ajax_dslc_activecampaign', 'dslc_ajax_check_activecampaign' );
199
- function dslc_ajax_check_activecampaign(){
200
 
201
  // Check Nonce
202
- if ( !wp_verify_nonce( $_POST['security']['nonce'], 'dlscajax' ) ) {
203
- wp_die('NO');
204
  }
205
 
206
  // Access permissions
207
- if ( !current_user_can( 'install_plugins' ) ) {
208
- wp_die('You do not have rights!');
209
  }
210
 
211
  $email = sanitize_email( $_POST["email"] );
1
  <?php
2
 
3
+ /**
4
+ * Returns a base64 URL for the svg for use in the menu
5
+ *
6
+ * @return string
7
+ */
8
+ function dslc_get_menu_svg() {
9
+ $icon_svg = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9Ii0yOTcgMzg4IDE3IDE3IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IC0yOTcgMzg4IDE3IDE3OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGw6IzlFQTNBODt9Cjwvc3R5bGU+Cjx0aXRsZT5TbGljZSAxPC90aXRsZT4KPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0tMjg0LjIsMzg4aC05LjhjLTEuNiwwLTMsMS4zLTMsM3Y4LjljMCwxLjYsMS4zLDMsMywzaDEuNXYtMmgtMS41Yy0wLjYsMC0xLTAuNC0xLTFWMzkxYzAtMC41LDAuNC0xLDEtMWg5LjgKCWMwLjUsMCwxLDAuNCwxLDF2Mi4zaDJWMzkxQy0yODEuMiwzODkuMy0yODIuNSwzODgtMjg0LjIsMzg4eiIvPgo8ZyBpZD0iR3JvdXAtMTgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMuNTMxMjUwLCA1LjI5Njg3NSkiPgoJPHBhdGggaWQ9IkNvbWJpbmVkLVNoYXBlIiBjbGFzcz0ic3QwIiBkPSJNLTI5Mi4yLDM5OS42di0xLjJjMCwwLTEuOC0yLjQtMi42LTMuM2MtMC44LTAuOS0xLjItMi40LDAtM2MxLjItMC42LDEuOCwxLjIsMS44LDEuMgoJCXMtMS43LTMuNywwLjItNGMxLjMtMC4yLDEuNiwxLjYsMS42LDEuNnMtMC4xLTIsMS40LTJjMS41LDAsMS41LDIsMS41LDJzMC0xLjgsMS4yLTEuOGMxLjIsMCwxLjQsMS41LDEuNCwxLjVzLTAuMi0wLjksMC45LTAuOQoJCWMwLjksMCwxLjEsMC42LDEuMiwxLjdjMCwwLjQtMC4xLDEuNS0wLjEsMmMwLDMtMiwzLjctMiwzLjd2Mi40aC0xLjJjMCwwLTAuOC0xLjItMS4yLTEuMnMtMC42LDEuMi0wLjYsMS4ySC0yOTIuMnogTS0yOTEuNSwzOTMuMQoJCXYyLjVjMCwwLjMsMC4yLDAuNSwwLjUsMC41YzAuMywwLDAuNS0wLjIsMC41LTAuNXYtMi41YzAtMC4zLTAuMi0wLjUtMC41LTAuNUMtMjkxLjIsMzkyLjYtMjkxLjUsMzkyLjgtMjkxLjUsMzkzLjF6CgkJIE0tMjg5LjUsMzkzLjF2M2MwLDAuMywwLjIsMC41LDAuNSwwLjVjMC4zLDAsMC41LTAuMiwwLjUtMC41di0zYzAtMC4zLTAuMi0wLjUtMC41LTAuNUMtMjg5LjMsMzkyLjYtMjg5LjUsMzkyLjgtMjg5LjUsMzkzLjF6CgkJIE0tMjg3LjUsMzkzLjF2Mi41YzAsMC4zLDAuMiwwLjUsMC41LDAuNWMwLjMsMCwwLjUtMC4yLDAuNS0wLjV2LTIuNWMwLTAuMy0wLjItMC41LTAuNS0wLjVDLTI4Ny4yLDM5Mi42LTI4Ny41LDM5Mi45LTI4Ny41LDM5My4xCgkJeiIvPgo8L2c+Cjwvc3ZnPgo=';
10
+
11
+ return $icon_svg;
12
+ }
13
+
14
  /**
15
  * Register all the option pages
16
  */
20
  global $dslc_plugin_options;
21
  do_action( 'dslc_hook_register_options' );
22
 
23
+
24
+ // Base 64 encoded SVG image.
25
+ $icon_svg = dslc_get_menu_svg();
26
+
27
  add_menu_page(
28
+ __( 'Live Composer', 'live-composer-page-builder' ),
29
+ __( 'Live Composer', 'live-composer-page-builder' ),
30
  'manage_options',
31
  'dslc_plugin_options',
32
+ 'dslc_plugin_options_display',
33
+ $icon_svg,
34
+ '99.99'
35
  );
36
 
37
+ // add_submenu_page(
38
+ // 'dslc_plugin_options',
39
+ // __('Geeting Started', 'live-composer-page-builder' ),
40
+ // __('Geeting Started', 'live-composer-page-builder' ),
41
+ // 'manage_options',
42
+ // 'dslc_getting_started',
43
+ // create_function( null, 'dslc_plugin_options_display( "dslc_getting_started" );' )
44
+ // );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
45
 
46
+ // remove_submenu_page( 'dslc_plugin_options', 'dslc_plugin_options' ); // delete duplicate
47
  } add_action( 'admin_menu', 'dslc_plugin_options_setup' );
48
 
49
  /**
54
 
55
  global $dslc_plugin_options;
56
 
 
 
 
 
57
  ?>
58
+ <style>
59
+ #jstabs .tab{display: none}
60
+ </style>
61
  <div class="wrap">
62
+ <h2 id="dslc-main-title">Live Composer <span class="dslc-ver"><?php echo DS_LIVE_COMPOSER_VER; ?></span></h2>
63
+
64
+ <form autocomplete="off" class="docs-search-form" id="dslc-headersearch" method="GET" action="//livecomposer.help/search" target="_blank">
65
+ <input type="hidden" value="" name="collectionId">
66
+ Search the knowledge base: &nbsp;
67
+ <input type="text" value="" placeholder="Your question here..." class="search-query" title="search-query" name="query">
68
+ <button type="submit" class="hssearch button button-hero"><span class="dashicons dashicons-search"></span> Search</button>
69
+ </form>
70
+
71
+ <?php
72
+ settings_errors();
73
+
74
+ $anchor = sanitize_text_field( @$_GET['anchor'] );
75
+ $anchor = $anchor != '' ? $anchor : 'dslc_getting_started';
76
+ ?>
77
+ <a name="dslc-top"></a>
78
+ <h2 class="nav-tab-wrapper dslc-settigns-tabs" id="dslc-tabs">
79
+ <a href="#" data-nav-to="dslc_getting_started" class="nav-tab <?php echo $anchor == 'dslc_getting_started' ? 'nav-tab-active' : ''; ?>"><?php _e( 'Getting Started', 'live-composer-page-builder' ) ?></a>
80
+ <a href="#" data-nav-to="tab-settings" class="nav-tab <?php echo $anchor == 'dslc_settings' ? 'nav-tab-active' : ''; ?>"><?php _e( 'Settings', 'live-composer-page-builder' ) ?></a>
81
+ <a href="#" data-nav-to="tab-extensions" class="nav-tab <?php echo $anchor == 'dslc_extensions' ? 'nav-tab-active' : ''; ?>"><?php _e( 'Extensions <span class="tag">Free</span>', 'live-composer-page-builder' ) ?></a>
82
+ <a href="#" data-nav-to="tab-themes" class="nav-tab <?php echo $anchor == 'dslc_themes' ? 'nav-tab-active' : ''; ?>"><?php _e( 'Themes <span class="tag">Free</span>', 'live-composer-page-builder' ) ?></a>
83
+ <a href="#" data-nav-to="tab-docs" class="nav-tab <?php echo $anchor == 'dslc_docs' ? 'nav-tab-active' : ''; ?>"><?php _e( 'Docs &amp; Support', 'live-composer-page-builder' ) ?></a>
84
  </h2>
85
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
86
 
87
+ <div id="jstabs">
88
+ <!-- Getting Started Tab -->
89
+ <div class="tab" <?php if ( $anchor != 'dslc_settings') echo 'style="display:block"'; ; ?> id="tab-for-dslc_getting_started">
90
+ <?php include DS_LIVE_COMPOSER_ABS . '/includes/plugin-options-framework/tab-getting-started.php'; ?>
91
+ </div>
92
+ <!-- Settings tab -->
93
+ <div class="tab" <?php if ( $anchor == 'dslc_settings') echo 'style="display:block"'; ; ?> id="tab-for-tab-settings">
94
+ <?php include DS_LIVE_COMPOSER_ABS . '/includes/plugin-options-framework/tab-settings.php'; ?>
95
+ </div>
96
+ <!-- Themes tab -->
97
+ <div class="tab" id="tab-for-tab-themes">
98
+ <?php include DS_LIVE_COMPOSER_ABS . '/includes/plugin-options-framework/tab-themes.php'; ?>
99
+ </div>
100
+ <!-- Extensions tab -->
101
+ <div class="tab" id="tab-for-tab-extensions">
102
+ <?php include DS_LIVE_COMPOSER_ABS . '/includes/plugin-options-framework/tab-extensions.php'; ?>
103
+ </div>
104
+ <!-- Docs & Support tab -->
105
+ <div class="tab" id="tab-for-tab-docs">
106
+ <?php include DS_LIVE_COMPOSER_ABS . '/includes/plugin-options-framework/tab-docs.php'; ?>
107
+ </div>
108
+
109
+
110
+ </div>
111
+ </div><!-- /.wrap -->
112
+ <script>
113
+ jQuery(document).ready(function($) {
114
+ jQuery(".nav-tab-wrapper > a").on('click', function() {
115
+ if ($(this).data('nav-to') != null ) {
116
 
117
+ $("#jstabs .tab").hide();
118
+ $(".nav-tab-active").removeClass('nav-tab-active');
119
+ $("#tab-for-" + $(this).data('nav-to')).show();
120
+ $(this).addClass('nav-tab-active')
121
 
 
 
122
 
123
+ var refer = $("#jstabs").find("input[name='_wp_http_referer']");
124
 
125
+ refer.val( '<?php echo admin_url( 'admin.php?page=dslc_plugin_options&anchor=dslc_settings&settings-updated=true' ); ?>' );
126
 
127
+ return false;
128
+ }
129
+ });
130
+ });
131
+ </script>
132
  <?php
133
 
134
  }
169
 
170
  foreach ( $section['options'] as $option_ID => $option ) {
171
 
172
+ $option['id'] = $option_ID;
173
+
174
+ if ( ! isset( $option['section'] ) ) {
175
+
176
+ $option['section'] = $section_ID;
177
+ }
178
+
179
+ $option['name'] = 'dslc_plugin_options[' . $option['id'] . ']';
180
+
181
+ $value = '';
182
+ $options = get_option( 'dslc_plugin_options' );
183
+
184
+ if ( isset( $options[$option_ID] ) ) {
185
+
186
+ $value = $options[$option_ID];
187
+ }
188
+
189
+ /// Prev version struct
190
+ if ( $value == '' ) {
191
+
192
+ $options = get_option( $section_ID );
193
+
194
+ if ( isset( $options[$option_ID] ) ) {
195
+
196
+ $value = $options[$option_ID];
197
+ }
198
+
199
+ if ( $value == '' ) {
200
+
201
+ $value = $option['std'];
202
+ }
203
+ }
204
+
205
+ $option['value'] = $value;
206
+
207
  add_settings_field(
208
  $option_ID,
209
  $option['label'],
210
+ function() use ( $option ) {
211
+
212
+ $func = 'dslc_plugin_option_display_' . $option['type'];
213
+ $func( $option );
214
+ },
215
  $section_ID,
216
  $section_ID
217
  );
 
218
  }
219
 
220
  }
233
  */
234
 
235
  add_action( 'wp_ajax_dslc_activecampaign', 'dslc_ajax_check_activecampaign' );
236
+ function dslc_ajax_check_activecampaign() {
237
 
238
  // Check Nonce
239
+ if ( ! wp_verify_nonce( $_POST['security']['nonce'], 'dslc-optionspanel-ajax' ) ) {
240
+ wp_die( 'You do not have rights!' );
241
  }
242
 
243
  // Access permissions
244
+ if ( ! current_user_can( 'install_plugins' ) ) {
245
+ wp_die( 'You do not have rights!' );
246
  }
247
 
248
  $email = sanitize_email( $_POST["email"] );
includes/plugin-options-framework/inc/options.php CHANGED
@@ -7,13 +7,19 @@
7
  $dslc_plugin_options['dslc_plugin_options'] = array(
8
  'title' => __( 'General Options', 'live-composer-page-builder' ),
9
  'options' => array(
10
- 'lc_max_width' => array(
 
 
 
11
  'label' => __( 'Max Width', 'live-composer-page-builder' ),
12
  'std' => '',
13
  'type' => 'text',
14
  'descr' => __( 'The width of the modules section when row is set to wrapped. If not set the $content_width variable from theme will be used.', 'live-composer-page-builder' ),
15
  ),
 
16
  'lc_force_important_css' => array(
 
 
17
  'label' => __( 'Force !important CSS', 'live-composer-page-builder' ),
18
  'std' => 'disabled',
19
  'type' => 'select',
@@ -29,7 +35,10 @@
29
  )
30
  )
31
  ),
 
32
  'lc_css_position' => array(
 
 
33
  'label' => __( 'Dynamic CSS Location', 'live-composer-page-builder' ),
34
  'std' => 'head',
35
  'type' => 'select',
@@ -51,8 +60,9 @@
51
  $dslc_plugin_options['dslc_plugin_options_widgets_m'] = array(
52
  'title' => __( 'Widgets Module', 'live-composer-page-builder' ),
53
  'options' => array(
 
54
 
55
- 'sidebars' => array (
56
  'label' => __( 'Sidebars', 'live-composer-page-builder' ),
57
  'std' => '',
58
  'type' => 'list'
@@ -63,9 +73,11 @@
63
  $dslc_plugin_options['dslc_plugin_options_cpt_slugs'] = array(
64
 
65
  'title' => __( 'Slugs', 'live-composer-page-builder' ),
66
- 'options' => array(
67
 
68
  'with_front' => array(
 
 
69
  'label' => __( 'With Front', 'live-composer-page-builder' ),
70
  'descr' => __( 'Prepend the permalink structure with the front base. ( example: if your permalink structure is /blog/, then your links will be: disabled -> /project-view/, enabled -> /blog/project-view/ ).', 'live-composer-page-builder' ),
71
  'std' => 'enabled',
@@ -83,79 +95,108 @@
83
  ),
84
 
85
  'projects_slug' => array(
 
 
86
  'label' => __( '<strong>Project</strong> Slug', 'live-composer-page-builder' ),
87
  'std' => 'project-view',
88
  'type' => 'text'
89
  ),
 
90
  'projects_cats_slug' => array(
 
 
91
  'label' => __( '<strong>Projects</strong> Category Slug', 'live-composer-page-builder' ),
92
  'std' => 'dslc_projects_cats',
93
  'type' => 'text'
94
  ),
95
 
96
  'galleries_slug' => array(
 
 
97
  'label' => __( '<strong>Gallery</strong> Slug', 'live-composer-page-builder' ),
98
  'std' => 'gallery-view',
99
  'type' => 'text'
100
  ),
 
101
  'galleries_cats_slug' => array(
 
 
102
  'label' => __( '<strong>Galleries</strong> Category Slug', 'live-composer-page-builder' ),
103
  'std' => 'dslc_galleries_cats',
104
  'type' => 'text'
105
  ),
106
 
107
  'downloads_slug' => array(
 
 
108
  'label' => __( '<strong>Download</strong> Slug', 'live-composer-page-builder' ),
109
  'std' => 'download-view',
110
  'type' => 'text'
111
  ),
 
112
  'downloads_cats_slug' => array(
 
 
113
  'label' => __( '<strong>Downloads</strong> Categories Slug', 'live-composer-page-builder' ),
114
  'std' => 'dslc_downloads_cat',
115
  'type' => 'text'
116
  ),
 
117
  'downloads_tags_slug' => array(
 
 
118
  'label' => __( '<strong>Downloads</strong> Tags Slug', 'live-composer-page-builder' ),
119
  'std' => 'dslc_downloads_tag',
120
  'type' => 'text'
121
  ),
122
 
123
  'staff_slug' => array(
 
 
124
  'label' => __( '<strong>Staff</strong> Slug', 'live-composer-page-builder' ),
125
  'std' => 'staff-view',
126
  'type' => 'text'
127
  ),
 
128
  'staff_cats_slug' => array(
 
 
129
  'label' => __( '<strong>Staff</strong> Categories Slug', 'live-composer-page-builder' ),
130
  'std' => 'dslc_staff_cats',
131
  'type' => 'text'
132
  ),
133
 
134
  'partners_slug' => array(
 
 
135
  'label' => __( '<strong>Partner</strong> Slug', 'live-composer-page-builder' ),
136
  'std' => 'partner-view',
137
  'type' => 'text'
138
  ),
 
139
  'partners_cats_slug' => array(
 
 
140
  'label' => __( '<strong>Partners</strong> Categories Slug', 'live-composer-page-builder' ),
141
  'std' => 'dslc_partners_cats',
142
  'type' => 'text'
143
  ),
144
 
145
  'testimonials_slug' => array(
 
 
146
  'label' => __( '<strong>Testimonials</strong> Slug', 'live-composer-page-builder' ),
147
  'std' => 'testimonial-view',
148
  'type' => 'text'
149
  ),
150
  'testimonials_cats_slug' => array(
 
 
151
  'label' => __( '<strong>Testimonials</strong> Categories Slug', 'live-composer-page-builder' ),
152
  'std' => 'dslc_testimonials_cats',
153
  'type' => 'text'
154
- ),
155
-
156
-
157
  )
158
-
159
  );
160
 
161
  /**
@@ -171,7 +212,9 @@ function dslc_feature_control_settings() {
171
 
172
  foreach ( $dslc_var_modules as $module ) {
173
 
174
- $module_opts_array[ $module['id'] ] = array(
 
 
175
  'label' => '"' . $module['title'] . '" <small>module</small>',
176
  'std' => 'enabled',
177
  'type' => 'select',
@@ -202,7 +245,7 @@ function dslc_feature_control_unregister() {
202
  $features = dslc_get_options( 'dslc_plugin_options_features' );
203
 
204
  foreach ( $dslc_var_modules as $module ) {
205
- if ( isset( $features[ $module['id'] ] ) && $features[ $module['id'] ] == 'disabled' ) {
206
  dslc_unregister_module( $module['id'] );
207
  }
208
  }
@@ -223,7 +266,10 @@ function dslc_plugin_opts_other() {
223
  $dslc_plugin_options['dslc_plugin_options_other'] = array(
224
  'title' => __( 'Other', 'live-composer-page-builder' ),
225
  'options' => array(
 
226
  'lc_editor_type' => array(
 
 
227
  'label' => __( 'Text Editor Type', 'live-composer-page-builder' ),
228
  'std' => 'both',
229
  'type' => 'select',
@@ -236,10 +282,13 @@ function dslc_plugin_opts_other() {
236
  array(
237
  'label' => 'Visual Only',
238
  'value' => 'visual',
239
- ),
240
  )
241
  ),
 
242
  'lc_default_opts_section' => array(
 
 
243
  'label' => __( 'Default Options Section', 'live-composer-page-builder' ),
244
  'std' => 'functionality',
245
  'type' => 'select',
@@ -252,10 +301,13 @@ function dslc_plugin_opts_other() {
252
  array(
253
  'label' => 'Styling',
254
  'value' => 'styling',
255
- ),
256
  )
257
  ),
 
258
  'lc_numeric_opt_type' => array(
 
 
259
  'label' => __( 'Numeric Option Type', 'live-composer-page-builder' ),
260
  'std' => 'slider',
261
  'type' => 'select',
@@ -268,10 +320,13 @@ function dslc_plugin_opts_other() {
268
  array(
269
  'label' => 'Field',
270
  'value' => 'field',
271
- ),
272
  )
273
  ),
 
274
  'lc_module_listing_order' => array(
 
 
275
  'label' => __( 'Modules Listing Order', 'live-composer-page-builder' ),
276
  'std' => 'original',
277
  'type' => 'select',
@@ -284,10 +339,13 @@ function dslc_plugin_opts_other() {
284
  array(
285
  'label' => 'Alphabetic',
286
  'value' => 'alphabetic',
287
- ),
288
  )
289
  ),
 
290
  'lc_module_activate_button_pos' => array(
 
 
291
  'label' => __( '"Activate Editor" Position', 'live-composer-page-builder' ),
292
  'std' => 'right',
293
  'type' => 'select',
@@ -300,9 +358,9 @@ function dslc_plugin_opts_other() {
300
  array(
301
  'label' => 'Right',
302
  'value' => 'right',
303
- ),
304
  )
305
- ),
306
  )
307
  );
308
 
7
  $dslc_plugin_options['dslc_plugin_options'] = array(
8
  'title' => __( 'General Options', 'live-composer-page-builder' ),
9
  'options' => array(
10
+
11
+ 'lc_max_width' => array(
12
+
13
+ 'section' => 'dslc_plugin_options',
14
  'label' => __( 'Max Width', 'live-composer-page-builder' ),
15
  'std' => '',
16
  'type' => 'text',
17
  'descr' => __( 'The width of the modules section when row is set to wrapped. If not set the $content_width variable from theme will be used.', 'live-composer-page-builder' ),
18
  ),
19
+
20
  'lc_force_important_css' => array(
21
+
22
+ 'section' => 'dslc_plugin_options',
23
  'label' => __( 'Force !important CSS', 'live-composer-page-builder' ),
24
  'std' => 'disabled',
25
  'type' => 'select',
35
  )
36
  )
37
  ),
38
+
39
  'lc_css_position' => array(
40
+
41
+ 'section' => 'dslc_plugin_options',
42
  'label' => __( 'Dynamic CSS Location', 'live-composer-page-builder' ),
43
  'std' => 'head',
44
  'type' => 'select',
60
  $dslc_plugin_options['dslc_plugin_options_widgets_m'] = array(
61
  'title' => __( 'Widgets Module', 'live-composer-page-builder' ),
62
  'options' => array(
63
+ 'sidebars' => array(
64
 
65
+ 'section' => 'dslc_plugin_options_widgets_m',
66
  'label' => __( 'Sidebars', 'live-composer-page-builder' ),
67
  'std' => '',
68
  'type' => 'list'
73
  $dslc_plugin_options['dslc_plugin_options_cpt_slugs'] = array(
74
 
75
  'title' => __( 'Slugs', 'live-composer-page-builder' ),
76
+ 'options' => array(
77
 
78
  'with_front' => array(
79
+
80
+ 'section' => 'dslc_plugin_options_cpt_slugs',
81
  'label' => __( 'With Front', 'live-composer-page-builder' ),
82
  'descr' => __( 'Prepend the permalink structure with the front base. ( example: if your permalink structure is /blog/, then your links will be: disabled -> /project-view/, enabled -> /blog/project-view/ ).', 'live-composer-page-builder' ),
83
  'std' => 'enabled',
95
  ),
96
 
97
  'projects_slug' => array(
98
+
99
+ 'section' => 'dslc_plugin_options_cpt_slugs',
100
  'label' => __( '<strong>Project</strong> Slug', 'live-composer-page-builder' ),
101
  'std' => 'project-view',
102
  'type' => 'text'
103
  ),
104
+
105
  'projects_cats_slug' => array(
106
+
107
+ 'section' => 'dslc_plugin_options_cpt_slugs',
108
  'label' => __( '<strong>Projects</strong> Category Slug', 'live-composer-page-builder' ),
109
  'std' => 'dslc_projects_cats',
110
  'type' => 'text'
111
  ),
112
 
113
  'galleries_slug' => array(
114
+
115
+ 'section' => 'dslc_plugin_options_cpt_slugs',
116
  'label' => __( '<strong>Gallery</strong> Slug', 'live-composer-page-builder' ),
117
  'std' => 'gallery-view',
118
  'type' => 'text'
119
  ),
120
+
121
  'galleries_cats_slug' => array(
122
+
123
+ 'section' => 'dslc_plugin_options_cpt_slugs',
124
  'label' => __( '<strong>Galleries</strong> Category Slug', 'live-composer-page-builder' ),
125
  'std' => 'dslc_galleries_cats',
126
  'type' => 'text'
127
  ),
128
 
129
  'downloads_slug' => array(
130
+
131
+ 'section' => 'dslc_plugin_options_cpt_slugs',
132
  'label' => __( '<strong>Download</strong> Slug', 'live-composer-page-builder' ),
133
  'std' => 'download-view',
134
  'type' => 'text'
135
  ),
136
+
137
  'downloads_cats_slug' => array(
138
+
139
+ 'section' => 'dslc_plugin_options_cpt_slugs',
140
  'label' => __( '<strong>Downloads</strong> Categories Slug', 'live-composer-page-builder' ),
141
  'std' => 'dslc_downloads_cat',
142
  'type' => 'text'
143
  ),
144
+
145
  'downloads_tags_slug' => array(
146
+
147
+ 'section' => 'dslc_plugin_options_cpt_slugs',
148
  'label' => __( '<strong>Downloads</strong> Tags Slug', 'live-composer-page-builder' ),
149
  'std' => 'dslc_downloads_tag',
150
  'type' => 'text'
151
  ),
152
 
153
  'staff_slug' => array(
154
+
155
+ 'section' => 'dslc_plugin_options_cpt_slugs',
156
  'label' => __( '<strong>Staff</strong> Slug', 'live-composer-page-builder' ),
157
  'std' => 'staff-view',
158
  'type' => 'text'
159
  ),
160
+
161
  'staff_cats_slug' => array(
162
+
163
+ 'section' => 'dslc_plugin_options_cpt_slugs',
164
  'label' => __( '<strong>Staff</strong> Categories Slug', 'live-composer-page-builder' ),
165
  'std' => 'dslc_staff_cats',
166
  'type' => 'text'
167
  ),
168
 
169
  'partners_slug' => array(
170
+
171
+ 'section' => 'dslc_plugin_options_cpt_slugs',
172
  'label' => __( '<strong>Partner</strong> Slug', 'live-composer-page-builder' ),
173
  'std' => 'partner-view',
174
  'type' => 'text'
175
  ),
176
+
177
  'partners_cats_slug' => array(
178
+
179
+ 'section' => 'dslc_plugin_options_cpt_slugs',
180
  'label' => __( '<strong>Partners</strong> Categories Slug', 'live-composer-page-builder' ),
181
  'std' => 'dslc_partners_cats',
182
  'type' => 'text'
183
  ),
184
 
185
  'testimonials_slug' => array(
186
+
187
+ 'section' => 'dslc_plugin_options_cpt_slugs',
188
  'label' => __( '<strong>Testimonials</strong> Slug', 'live-composer-page-builder' ),
189
  'std' => 'testimonial-view',
190
  'type' => 'text'
191
  ),
192
  'testimonials_cats_slug' => array(
193
+
194
+ 'section' => 'dslc_plugin_options_cpt_slugs',
195
  'label' => __( '<strong>Testimonials</strong> Categories Slug', 'live-composer-page-builder' ),
196
  'std' => 'dslc_testimonials_cats',
197
  'type' => 'text'
198
+ )
 
 
199
  )
 
200
  );
201
 
202
  /**
212
 
213
  foreach ( $dslc_var_modules as $module ) {
214
 
215
+ $module_opts_array[$module['id']] = array(
216
+
217
+ 'section' => 'dslc_plugin_options_features',
218
  'label' => '"' . $module['title'] . '" <small>module</small>',
219
  'std' => 'enabled',
220
  'type' => 'select',
245
  $features = dslc_get_options( 'dslc_plugin_options_features' );
246
 
247
  foreach ( $dslc_var_modules as $module ) {
248
+ if ( isset( $features[$module['id']] ) && $features[$module['id']] == 'disabled' ) {
249
  dslc_unregister_module( $module['id'] );
250
  }
251
  }
266
  $dslc_plugin_options['dslc_plugin_options_other'] = array(
267
  'title' => __( 'Other', 'live-composer-page-builder' ),
268
  'options' => array(
269
+
270
  'lc_editor_type' => array(
271
+
272
+ 'section' => 'dslc_plugin_options_other',
273
  'label' => __( 'Text Editor Type', 'live-composer-page-builder' ),
274
  'std' => 'both',
275
  'type' => 'select',
282
  array(
283
  'label' => 'Visual Only',
284
  'value' => 'visual',
285
+ )
286
  )
287
  ),
288
+
289
  'lc_default_opts_section' => array(
290
+
291
+ 'section' => 'dslc_plugin_options_other',
292
  'label' => __( 'Default Options Section', 'live-composer-page-builder' ),
293
  'std' => 'functionality',
294
  'type' => 'select',
301
  array(
302
  'label' => 'Styling',
303
  'value' => 'styling',
304
+ )
305
  )
306
  ),
307
+
308
  'lc_numeric_opt_type' => array(
309
+
310
+ 'section' => 'dslc_plugin_options_other',
311
  'label' => __( 'Numeric Option Type', 'live-composer-page-builder' ),
312
  'std' => 'slider',
313
  'type' => 'select',
320
  array(
321
  'label' => 'Field',
322
  'value' => 'field',
323
+ )
324
  )
325
  ),
326
+
327
  'lc_module_listing_order' => array(
328
+
329
+ 'section' => 'dslc_plugin_options_other',
330
  'label' => __( 'Modules Listing Order', 'live-composer-page-builder' ),
331
  'std' => 'original',
332
  'type' => 'select',
339
  array(
340
  'label' => 'Alphabetic',
341
  'value' => 'alphabetic',
342
+ )
343
  )
344
  ),
345
+
346
  'lc_module_activate_button_pos' => array(
347
+
348
+ 'section' => 'dslc_plugin_options_other',
349
  'label' => __( '"Activate Editor" Position', 'live-composer-page-builder' ),
350
  'std' => 'right',
351
  'type' => 'select',
358
  array(
359
  'label' => 'Right',
360
  'value' => 'right',
361
+ )
362
  )
363
+ )
364
  )
365
  );
366
 
includes/{performance.php → plugin-options-framework/inc/performance.php} RENAMED
@@ -14,7 +14,10 @@ function dslc_perf_settings_init() {
14
  $dslc_plugin_options['dslc_plugin_options_performance'] = array(
15
  'title' => __( 'Performance', 'live-composer-page-builder' ),
16
  'options' => array(
 
17
  'lc_gfont_subsets' => array(
 
 
18
  'label' => __( 'Font Subsets', 'live-composer-page-builder' ),
19
  'std' => array( 'latin', 'latin-ext', 'cyrillic', 'cyrillic-ext' ),
20
  'type' => 'checkbox',
@@ -47,9 +50,9 @@ function dslc_perf_settings_init() {
47
  array(
48
  'label' => 'Vietnamese',
49
  'value' => 'vietnamese',
50
- ),
51
  )
52
- ),
53
  )
54
  );
55
 
14
  $dslc_plugin_options['dslc_plugin_options_performance'] = array(
15
  'title' => __( 'Performance', 'live-composer-page-builder' ),
16
  'options' => array(
17
+
18
  'lc_gfont_subsets' => array(
19
+
20
+ 'section' => 'dslc_plugin_options_performance',
21
  'label' => __( 'Font Subsets', 'live-composer-page-builder' ),
22
  'std' => array( 'latin', 'latin-ext', 'cyrillic', 'cyrillic-ext' ),
23
  'type' => 'checkbox',
50
  array(
51
  'label' => 'Vietnamese',
52
  'value' => 'vietnamese',
53
+ )
54
  )
55
+ )
56
  )
57
  );
58
 
includes/plugin-options-framework/js/main.js CHANGED
@@ -95,7 +95,7 @@ jQuery(document).ready(function(){
95
  data: {
96
  email: email,
97
  name: name,
98
- security: dlscajax,
99
  action: 'dslc_activecampaign'
100
  },
101
  url: ajaxurl
95
  data: {
96
  email: email,
97
  name: name,
98
+ security: dslcajax,
99
  action: 'dslc_activecampaign'
100
  },
101
  url: ajaxurl
includes/plugin-options-framework/js/main.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready(function(){function a(a){var b,c=jQuery(".dslca-plugin-opts-list-code",a),d="",e=!1,f=[];jQuery(".dslca-plugin-opts-list-item",a).each(function(){-1!==jQuery.inArray(jQuery(this).find(".dslca-plugin-opts-list-title").text(),f)?e=!0:f.push(jQuery(this).find(".dslca-plugin-opts-list-title").text())}),console.log(e),e?jQuery(".dslca-plugin-opts-list-error").show():jQuery(".dslca-plugin-opts-list-error").hide(),jQuery(".dslca-plugin-opts-list-item",a).each(function(){b=jQuery(this).find(".dslca-plugin-opts-list-title").text(),d+=b+","}),c.val(d)}jQuery(".dslca-plugin-opts-list-add-hook").click(function(b){b.preventDefault();var c=jQuery(this).closest(".dslca-plugin-opts-list-wrap"),d=c.find(".dslca-plugin-opts-list");jQuery('<div class="dslca-plugin-opts-list-item"><span class="dslca-plugin-opts-list-title" contenteditable>Click to edit</span><a href="#" class="dslca-plugin-opts-list-delete-hook">delete</a></div>').appendTo(d),a(c)}),jQuery(document).on("click",".dslca-plugin-opts-list-delete-hook",function(b){b.preventDefault();var c=jQuery(this).closest(".dslca-plugin-opts-list-wrap"),d=jQuery(this).closest(".dslca-plugin-opts-list-item");d.remove(),a(c)}),jQuery(document).on("blur",".dslca-plugin-opts-list-title",function(){var b=jQuery(this).closest(".dslca-plugin-opts-list-wrap");a(b)}),jQuery(document).on("keypress",".dslca-plugin-opts-list-title",function(a){13==a.keyCode&&(jQuery(this).trigger("blur"),a.preventDefault())}),jQuery(".activecampaign_form").submit(function(){var a=jQuery("#dslc_activecampaign_email").val(),b=jQuery("#dslc_activecampaign_name").val();jQuery.ajax({type:"POST",data:{email:a,name:b,security:dlscajax,action:"dslc_activecampaign"},url:ajaxurl})}),jQuery(".activecampaign_form").length&&(window._show_thank_you=function(a,b){var c=document.getElementById("_form_"+a+"_"),d=c.getElementsByClassName("_form-thank-you")[0];c.getElementsByClassName("_form-content")[0].style.visibility="hidden",d.innerHTML=b,d.classList.add("add_thank_you")},window._show_error=function(a,b,c){var d=document.getElementById("_form_"+a+"_"),e=document.createElement("div"),f=d.getElementsByTagName("button")[0];e.innerHTML=b,e.className="_error-inner _form_error _no_arrow";var g=document.createElement("div");if(g.className="_form-inner",g.appendChild(e),f.parentNode.insertBefore(g,f),c){var h=document.createElement("div");h.className="_error-html",h.innerHTML=c,e.appendChild(h)}},window._load_script=function(a,b){var c=document.getElementsByTagName("head")[0],d=document.createElement("script"),e=!1;d.type="text/javascript",d.src=a,b&&(d.onload=d.onreadystatechange=function(){e||this.readyState&&"complete"!=this.readyState||(e=!0,b())}),c.appendChild(d)},function(){var c=function(a,b,c){if(a.addEventListener)a.addEventListener(b,c);else{var d=a["on"+b];a["on"+b]=function(){d.apply(this,arguments),c.apply(this,arguments)}}},d=!1,e=document.getElementById("_form_11_"),f=e.querySelectorAll("input, select"),g=[],h=!1,i=function(){for(var a=0;a<g.length;a++)g[a].tip.parentNode.removeChild(g[a].tip);g=[]},j=function(a){for(var b=0;b<g.length;b++)if(g[b].elem===a)return g[b].tip.parentNode.removeChild(g[b].tip),void g.splice(b,1)},k=function(a,b){var c=document.createElement("div"),d=document.createElement("div"),e=document.createElement("div"),f={};return"radio"!=a.type&&"checkbox"!=a.type?(c.className="_error",d.className="_error-arrow",e.className="_error-inner",e.innerHTML=b,c.appendChild(d),c.appendChild(e),a.parentNode.appendChild(c)):(c.className="_error-inner _no_arrow",c.innerHTML=b,a.parentNode.insertBefore(c,a),f.no_arrow=!0),f.tip=c,f.elem=a,g.push(f),f},l=function(a){var b=a.elem.getBoundingClientRect(),c=document.documentElement,d=b.top-((window.pageYOffset||c.scrollTop)-(c.clientTop||0));40>d?a.tip.className=a.tip.className.replace(/ ?(_above|_below) ?/g,"")+" _below":a.tip.className=a.tip.className.replace(/ ?(_above|_below) ?/g,"")+" _above"},m=function(){if(!d)for(var a=0;a<g.length;a++)g[a].no_arrow||l(g[a])},n=function(a,b){var c=null,d=a.value,e=!0;return b?j(a):!1,"checkbox"!=a.type&&(a.className=a.className.replace(/ ?_has_error ?/g,"")),null!==a.getAttribute("required")&&(void 0===d||null===d||""===d)&&(a.className=a.className+" _has_error",e=!1,c=k(a,"This field is required.")),e&&"email"==a.name&&(d.match(/^[\+_a-z0-9-'&=]+(\.[\+_a-z0-9-']+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,})$/i)||(a.className=a.className+" _has_error",e=!1,c=k(a,"Enter a valid email address."))),c?l(c):!1,e},o=function(a){return"email"==a.name||null!==a.getAttribute("required")||(a.className?/date_field/.test(a.className):!1)},p=function(a){var b=e.getElementsByClassName("_form_error")[0],d=!0;if(b?b.parentNode.removeChild(b):!1,!h){h=!0;for(var g=0,j=f.length;j>g;g++){var k=f[g];o(k)&&"text"==k.type&&c(k,"input",function(){n(this,!0)})}}i();for(var g=0,j=f.length;j>g;g++){var l=f[g];o(l)&&(n(l)?!0:d=!1)}return!d&&a&&a.preventDefault(),m(),d};c(window,"resize",m),c(window,"scroll",m);var q=function(a){if(a.preventDefault(),p()){var b=serialize(document.getElementById("_form_11_"));_load_script("https://lumbermandesigns.activehosted.com/proc.php?"+b+"&jsonp=true")}return!1};c(e,"submit",q),_load_script("//d3rxaij56vjege.cloudfront.net/form-serialize/0.3/serialize.min.js")}())});
1
+ jQuery(document).ready(function(){function a(a){var b,c=jQuery(".dslca-plugin-opts-list-code",a),d="",e=!1,f=[];jQuery(".dslca-plugin-opts-list-item",a).each(function(){-1!==jQuery.inArray(jQuery(this).find(".dslca-plugin-opts-list-title").text(),f)?e=!0:f.push(jQuery(this).find(".dslca-plugin-opts-list-title").text())}),console.log(e),e?jQuery(".dslca-plugin-opts-list-error").show():jQuery(".dslca-plugin-opts-list-error").hide(),jQuery(".dslca-plugin-opts-list-item",a).each(function(){b=jQuery(this).find(".dslca-plugin-opts-list-title").text(),d+=b+","}),c.val(d)}jQuery(".dslca-plugin-opts-list-add-hook").click(function(b){b.preventDefault();var c=jQuery(this).closest(".dslca-plugin-opts-list-wrap"),d=c.find(".dslca-plugin-opts-list");jQuery('<div class="dslca-plugin-opts-list-item"><span class="dslca-plugin-opts-list-title" contenteditable>Click to edit</span><a href="#" class="dslca-plugin-opts-list-delete-hook">delete</a></div>').appendTo(d),a(c)}),jQuery(document).on("click",".dslca-plugin-opts-list-delete-hook",function(b){b.preventDefault();var c=jQuery(this).closest(".dslca-plugin-opts-list-wrap"),d=jQuery(this).closest(".dslca-plugin-opts-list-item");d.remove(),a(c)}),jQuery(document).on("blur",".dslca-plugin-opts-list-title",function(){var b=jQuery(this).closest(".dslca-plugin-opts-list-wrap");a(b)}),jQuery(document).on("keypress",".dslca-plugin-opts-list-title",function(a){13==a.keyCode&&(jQuery(this).trigger("blur"),a.preventDefault())}),jQuery(".activecampaign_form").submit(function(){var a=jQuery("#dslc_activecampaign_email").val(),b=jQuery("#dslc_activecampaign_name").val();jQuery.ajax({type:"POST",data:{email:a,name:b,security:dslcajax,action:"dslc_activecampaign"},url:ajaxurl})}),jQuery(".activecampaign_form").length&&(window._show_thank_you=function(a,b){var c=document.getElementById("_form_"+a+"_"),d=c.getElementsByClassName("_form-thank-you")[0];c.getElementsByClassName("_form-content")[0].style.visibility="hidden",d.innerHTML=b,d.classList.add("add_thank_you")},window._show_error=function(a,b,c){var d=document.getElementById("_form_"+a+"_"),e=document.createElement("div"),f=d.getElementsByTagName("button")[0];e.innerHTML=b,e.className="_error-inner _form_error _no_arrow";var g=document.createElement("div");if(g.className="_form-inner",g.appendChild(e),f.parentNode.insertBefore(g,f),c){var h=document.createElement("div");h.className="_error-html",h.innerHTML=c,e.appendChild(h)}},window._load_script=function(a,b){var c=document.getElementsByTagName("head")[0],d=document.createElement("script"),e=!1;d.type="text/javascript",d.src=a,b&&(d.onload=d.onreadystatechange=function(){e||this.readyState&&"complete"!=this.readyState||(e=!0,b())}),c.appendChild(d)},function(){var c=function(a,b,c){if(a.addEventListener)a.addEventListener(b,c);else{var d=a["on"+b];a["on"+b]=function(){d.apply(this,arguments),c.apply(this,arguments)}}},d=!1,e=document.getElementById("_form_11_"),f=e.querySelectorAll("input, select"),g=[],h=!1,i=function(){for(var a=0;a<g.length;a++)g[a].tip.parentNode.removeChild(g[a].tip);g=[]},j=function(a){for(var b=0;b<g.length;b++)if(g[b].elem===a)return g[b].tip.parentNode.removeChild(g[b].tip),void g.splice(b,1)},k=function(a,b){var c=document.createElement("div"),d=document.createElement("div"),e=document.createElement("div"),f={};return"radio"!=a.type&&"checkbox"!=a.type?(c.className="_error",d.className="_error-arrow",e.className="_error-inner",e.innerHTML=b,c.appendChild(d),c.appendChild(e),a.parentNode.appendChild(c)):(c.className="_error-inner _no_arrow",c.innerHTML=b,a.parentNode.insertBefore(c,a),f.no_arrow=!0),f.tip=c,f.elem=a,g.push(f),f},l=function(a){var b=a.elem.getBoundingClientRect(),c=document.documentElement,d=b.top-((window.pageYOffset||c.scrollTop)-(c.clientTop||0));40>d?a.tip.className=a.tip.className.replace(/ ?(_above|_below) ?/g,"")+" _below":a.tip.className=a.tip.className.replace(/ ?(_above|_below) ?/g,"")+" _above"},m=function(){if(!d)for(var a=0;a<g.length;a++)g[a].no_arrow||l(g[a])},n=function(a,b){var c=null,d=a.value,e=!0;return b?j(a):!1,"checkbox"!=a.type&&(a.className=a.className.replace(/ ?_has_error ?/g,"")),null!==a.getAttribute("required")&&(void 0===d||null===d||""===d)&&(a.className=a.className+" _has_error",e=!1,c=k(a,"This field is required.")),e&&"email"==a.name&&(d.match(/^[\+_a-z0-9-'&=]+(\.[\+_a-z0-9-']+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,})$/i)||(a.className=a.className+" _has_error",e=!1,c=k(a,"Enter a valid email address."))),c?l(c):!1,e},o=function(a){return"email"==a.name||null!==a.getAttribute("required")||(a.className?/date_field/.test(a.className):!1)},p=function(a){var b=e.getElementsByClassName("_form_error")[0],d=!0;if(b?b.parentNode.removeChild(b):!1,!h){h=!0;for(var g=0,j=f.length;j>g;g++){var k=f[g];o(k)&&"text"==k.type&&c(k,"input",function(){n(this,!0)})}}i();for(var g=0,j=f.length;j>g;g++){var l=f[g];o(l)&&(n(l)?!0:d=!1)}return!d&&a&&a.preventDefault(),m(),d};c(window,"resize",m),c(window,"scroll",m);var q=function(a){if(a.preventDefault(),p()){var b=serialize(document.getElementById("_form_11_"));_load_script("https://lumbermandesigns.activehosted.com/proc.php?"+b+"&jsonp=true")}return!1};c(e,"submit",q),_load_script("//d3rxaij56vjege.cloudfront.net/form-serialize/0.3/serialize.min.js")}())});
includes/plugin-options-framework/plugin-options-framework.php CHANGED
@@ -4,5 +4,7 @@ $dslc_plugin_options = array(); // Holds all plugin options
4
 
5
  include DSLC_PO_FRAMEWORK_ABS . '/inc/options.php';
6
  include DSLC_PO_FRAMEWORK_ABS . '/inc/functions.php';
 
 
7
  include DSLC_PO_FRAMEWORK_ABS . '/inc/display-options.php';
8
  include DSLC_PO_FRAMEWORK_ABS . '/inc/init.php';
4
 
5
  include DSLC_PO_FRAMEWORK_ABS . '/inc/options.php';
6
  include DSLC_PO_FRAMEWORK_ABS . '/inc/functions.php';
7
+ include DSLC_PO_FRAMEWORK_ABS . '/inc/performance.php';
8
+ include DSLC_PO_FRAMEWORK_ABS . '/inc/access-control.php';
9
  include DSLC_PO_FRAMEWORK_ABS . '/inc/display-options.php';
10
  include DSLC_PO_FRAMEWORK_ABS . '/inc/init.php';
includes/plugin-options-framework/tab-docs.php ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="wrap lc-wrap">
2
+
3
+ <div class="dslc-panel" id="extend-livecomposer">
4
+ <div class="dslc-panel-content">
5
+ <h2><?php _e( 'Documentation &amp; Support', 'live-composer-page-builder' ); ?></h2>
6
+ <p class="about-description"><?php _e( 'Find answer to your question in our knowledge base', 'live-composer-page-builder' ); ?></p>
7
+
8
+ <form autocomplete="off" class="docs-search-form" id="dslc-docssearch" method="GET" action="//livecomposer.help/search" target="_blank">
9
+ <input type="hidden" value="" name="collectionId">
10
+ <input type="text" value="" placeholder="Search the knowledge base" class="search-query" title="search-query" name="query">
11
+ <button type="submit" class="hssearch button button-hero button-primary"><span class="dashicons dashicons-search"></span> Search</button>
12
+ </form>
13
+
14
+ <div class="dslc-panel-column-container">
15
+ <div class="dslc-panel-column">
16
+ <h3><a href="//livecomposer.help/" target="_blank"><span class="dashicons dashicons-editor-help"></span> <?php _e( 'User Documentation', 'live-composer-page-builder' ); ?></a></h3>
17
+ <p><?php _e( 'The usage documentation is available online. We have great search functionality and add new articles weekly.', 'live-composer-page-builder' ); ?></p>
18
+
19
+ </div>
20
+ <div class="dslc-panel-column">
21
+ <h3><a href="//livecomposer.help/collection/96-extensions-development" target="_blank"><span class="dashicons dashicons-admin-generic"></span> <?php _e( "Developer Documentation", 'live-composer-page-builder' ); ?></a></h3>
22
+ <p><?php _e( 'If you\'re a developer who is interested in building custom modules for Live Composer give a check at the developer documentation.', 'live-composer-page-builder' ); ?></p>
23
+ <?php /*
24
+ <ul>
25
+ <li><a href="//livecomposer.help/article/135-how-to-copy-a-page-section-to-another-page/?utm_source=wp-admin&utm_medium=documentation-block&utm_campaign=doc-listing" traget="_blank"><span class="dashicons dashicons-info"></span> Copy/pasting page sections</a></li>
26
+ <li><a href="//livecomposer.help/article/127-post-templates/?utm_source=wp-admin&utm_medium=documentation-block&utm_campaign=doc-listing" traget="_blank"><span class="dashicons dashicons-info"></span> Post templates usage</a></li>
27
+ </ul>
28
+ */
29
+ ?>
30
+ </div>
31
+ <div class="dslc-panel-column dslc-panel-last">
32
+ <h3><a href="//livecomposerplugin.com/support/support-request/?utm_source=wp-admin&utm_medium=documentation-block&utm_campaign=free-support-header" target="_blank"><span class="dashicons dashicons-format-chat"></span> <?php _e( "Free Support", 'live-composer-page-builder' ); ?></a></h3>
33
+ <p><?php _e( 'If you run into any bugs or issues do let us know.', 'live-composer-page-builder' ); ?></p>
34
+ <ul>
35
+ <li><a class="dslc-panel-icon dslc-panel-facebook" href="//www.facebook.com/groups/livecomposer/" traget="_blank"><?php _e( 'Get Support from Other LC Users', 'live-composer-page-builder' ); ?></a></li>
36
+ </ul>
37
+ </div>
38
+ </div>
39
+ </div>
40
+ </div>
41
+
42
+
43
+
44
+ </div>
includes/plugin-options-framework/tab-extensions.php ADDED
@@ -0,0 +1,144 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="wrap lc-wrap">
2
+
3
+ <h2 class="dslc-tab-heading">Extend Live Composer with <a href="https://livecomposerplugin.com/add-ons/?utm_source=wp-admin&utm_medium=extension-tab&utm_campaign=section-title" target="_blank">Free Extensions</a></h2>
4
+
5
+ <div class="extension-browser rendered">
6
+ <div class="extensions wp-clearfix">
7
+
8
+ <!-- Video Embed -->
9
+ <div class="extension" tabindex="0" >
10
+ <div class="extension-screenshot">
11
+ <img alt="Video Embed" src="<?php echo DS_LIVE_COMPOSER_URL; ?>/images/lc-extension-videoembed.png">
12
+ </div>
13
+
14
+ <a href="//livecomposerplugin.com/downloads/video-embed/?utm_source=wp-admin&utm_medium=extension-tab&utm_campaign=video-embed" target="_blank" class="more-details">More Details</a>
15
+
16
+ <h2 class="extension-name"><em>Add-On:</em> Video Embed <span class="price"><span class="dashicons dashicons-cart"></span> Free</span></h2>
17
+ <div class="extension-actions">
18
+ <a href="//livecomposerplugin.com/downloads/video-embed/?utm_source=wp-admin&utm_medium=extension-tab&utm_campaign=video-embed" target="_blank" class="button button-secondary activate">Details</a>
19
+ <a href="//livecomposerplugin.com/downloads/video-embed/?utm_source=wp-admin&utm_medium=extension-tab&utm_campaign=video-embed" target="_blank" class="button button-primary load-customize hide-if-no-customize">Free Download</a>
20
+ </div>
21
+
22
+ <!-- <div class="extension-update">Update Available</div> -->
23
+ </div>
24
+
25
+ <!-- Animations+ -->
26
+ <div class="extension" tabindex="0" >
27
+ <div class="extension-screenshot">
28
+ <img alt="Animations+" src="<?php echo DS_LIVE_COMPOSER_URL; ?>/images/lc-extension-animations.png">
29
+ </div>
30
+
31
+ <a href="//livecomposerplugin.com/downloads/additional-animations?utm_source=wp-admin&utm_medium=extension-tab&utm_campaign=animations" target="_blank" class="more-details">More Details</a>
32
+
33
+ <h2 class="extension-name"><em>Add-On:</em> Animations+ <span class="price"><span class="dashicons dashicons-cart"></span> Free</span></h2>
34
+ <div class="extension-actions">
35
+ <a href="//livecomposerplugin.com/downloads/additional-animations?utm_source=wp-admin&utm_medium=extension-tab&utm_campaign=animations" target="_blank" class="button button-secondary activate">Details</a>
36
+ <a href="//livecomposerplugin.com/downloads/additional-animations/?utm_source=wp-admin&utm_medium=extension-tab&utm_campaign=animations" target="_blank" class="button button-primary load-customize hide-if-no-customize">Free Download</a>
37
+ </div>
38
+
39
+ <!-- <div class="extension-update">Update Available</div> -->
40
+ </div>
41
+
42
+ <!-- Per Page Content Width -->
43
+ <div class="extension" tabindex="0" >
44
+ <div class="extension-screenshot">
45
+ <img alt="Per Page Content Width" src="<?php echo DS_LIVE_COMPOSER_URL; ?>/images/lc-extension-perpagewidth.png">
46
+ </div>
47
+
48
+ <a href="//livecomposerplugin.com/downloads/per-page-content-width-add-on/?utm_source=wp-admin&utm_medium=extension-tab&utm_campaign=perpagewidth" target="_blank" class="more-details">More Details</a>
49
+
50
+ <h2 class="extension-name"><em>Add-On:</em> Per Page Content Width <span class="price"><span class="dashicons dashicons-cart"></span> Free</span></h2>
51
+ <div class="extension-actions">
52
+ <a href="//livecomposerplugin.com/downloads/per-page-content-width-add-on/?utm_source=wp-admin&utm_medium=extension-tab&utm_campaign=perpagewidth" target="_blank" class="button button-secondary activate">Details</a>
53
+ <a href="//livecomposerplugin.com/downloads/per-page-content-width-add-on/?utm_source=wp-admin&utm_medium=extension-tab&utm_campaign=perpagewidth" target="_blank" class="button button-primary load-customize hide-if-no-customize">Free Download</a>
54
+ </div>
55
+
56
+ <!-- <div class="extension-update">Update Available</div> -->
57
+ </div>
58
+
59
+ <!-- Previous/Next Post Links -->
60
+ <div class="extension" tabindex="0" >
61
+ <div class="extension-screenshot">
62
+ <img alt="Previous/Next Post Links" src="<?php echo DS_LIVE_COMPOSER_URL; ?>/images/lc-extension-prevnext.png">
63
+ </div>
64
+
65
+ <a href="//livecomposerplugin.com/downloads/additional-animations?utm_source=wp-admin&utm_medium=extension-tab&utm_campaign=prevnext" target="_blank" class="more-details">More Details</a>
66
+
67
+ <h2 class="extension-name"><em>Add-On:</em> Previous/Next Post Links <span class="price"><span class="dashicons dashicons-cart"></span> Free</span></h2>
68
+ <div class="extension-actions">
69
+ <a href="//livecomposerplugin.com/downloads/additional-animations?utm_source=wp-admin&utm_medium=extension-tab&utm_campaign=prevnext" target="_blank" class="button button-secondary activate">Details</a>
70
+ <a href="//livecomposerplugin.com/downloads/additional-animations/?utm_source=wp-admin&utm_medium=extension-tab&utm_campaign=prevnext" target="_blank" class="button button-primary load-customize hide-if-no-customize">Free Download</a>
71
+ </div>
72
+ <!-- <div class="extension-update">Update Available</div> -->
73
+ </div>
74
+
75
+ <!-- Gallery Images Grid -->
76
+ <div class="extension" tabindex="0" >
77
+ <div class="extension-screenshot">
78
+ <img alt="Gallery Images Grid" src="<?php echo DS_LIVE_COMPOSER_URL; ?>/images/lc-extension-gallery.png">
79
+ </div>
80
+
81
+ <a href="//livecomposerplugin.com/downloads/gallery-images-grid/?utm_source=wp-admin&utm_medium=extension-tab&utm_campaign=gallery" target="_blank" class="more-details">More Details</a>
82
+
83
+ <h2 class="extension-name"><em>Add-On:</em> Gallery Images Grid <span class="price"><span class="dashicons dashicons-cart"></span> $9.00</span></h2>
84
+ <div class="extension-actions">
85
+ <a href="//livecomposerplugin.com/downloads/gallery-images-grid/?utm_source=wp-admin&utm_medium=extension-tab&utm_campaign=gallery" target="_blank" class="button button-secondary activate">Details</a>
86
+ <a href="//livecomposerplugin.com/downloads/gallery-images-grid/?utm_source=wp-admin&utm_medium=extension-tab&utm_campaign=gallery" target="_blank" class="button button-primary load-customize hide-if-no-customize">Download</a>
87
+ </div>
88
+ <!-- <div class="extension-update">Update Available</div> -->
89
+ </div>
90
+
91
+ <!-- Google Maps -->
92
+ <div class="extension" tabindex="0" >
93
+ <div class="extension-screenshot">
94
+ <img alt="Google Maps" src="<?php echo DS_LIVE_COMPOSER_URL; ?>/images/lc-extension-googlemaps.png">
95
+ </div>
96
+
97
+ <a href="//livecomposerplugin.com/downloads/google-maps-add-on/?utm_source=wp-admin&utm_medium=extension-tab&utm_campaign=googlemaps" target="_blank" class="more-details">More Details</a>
98
+
99
+ <h2 class="extension-name"><em>Add-On:</em> Google Maps <span class="price"><span class="dashicons dashicons-cart"></span> $9.00</span></h2>
100
+ <div class="extension-actions">
101
+ <a href="//livecomposerplugin.com/downloads/google-maps-add-on/?utm_source=wp-admin&utm_medium=extension-tab&utm_campaign=googlemaps" target="_blank" class="button button-secondary activate">Details</a>
102
+ <a href="//livecomposerplugin.com/downloads/google-maps-add-on/?utm_source=wp-admin&utm_medium=extension-tab&utm_campaign=googlemaps" target="_blank" class="button button-primary load-customize hide-if-no-customize">Download</a>
103
+ </div>
104
+ <!-- <div class="extension-update">Update Available</div> -->
105
+ </div>
106
+
107
+ <!-- Linecons Icons Add-On -->
108
+ <div class="extension" tabindex="0" >
109
+ <div class="extension-screenshot">
110
+ <img alt="Linecons Icons" src="<?php echo DS_LIVE_COMPOSER_URL; ?>/images/lc-extension-lineicons.png">
111
+ </div>
112
+
113
+ <a href="//livecomposerplugin.com/downloads/linecons-icons-add-on/?utm_source=wp-admin&utm_medium=extension-tab&utm_campaign=linecons" target="_blank" class="more-details">More Details</a>
114
+
115
+ <h2 class="extension-name"><em>Add-On:</em> Linecons Icons Add-On <span class="price"><span class="dashicons dashicons-cart"></span> $9.00</span></h2>
116
+ <div class="extension-actions">
117
+ <a href="//livecomposerplugin.com/downloads/linecons-icons-add-on/?utm_source=wp-admin&utm_medium=extension-tab&utm_campaign=linecons" target="_blank" class="button button-secondary activate">Details</a>
118
+ <a href="//livecomposerplugin.com/downloads/linecons-icons-add-on/?utm_source=wp-admin&utm_medium=extension-tab&utm_campaign=linecons" target="_blank" class="button button-primary load-customize hide-if-no-customize">Download</a>
119
+ </div>
120
+ <!-- <div class="extension-update">Update Available</div> -->
121
+ </div>
122
+
123
+ <!-- Before/After Image Slider -->
124
+ <div class="extension" tabindex="0" >
125
+ <div class="extension-screenshot">
126
+ <img alt="Before/After Image Slider" src="<?php echo DS_LIVE_COMPOSER_URL; ?>/images/lc-extension-beforeafter.png">
127
+ </div>
128
+
129
+ <a href="//livecomposerplugin.com/downloads/beforeafter-image-slider-add-on/?utm_source=wp-admin&utm_medium=extension-tab&utm_campaign=beforeafter" target="_blank" class="more-details">More Details</a>
130
+
131
+ <h2 class="extension-name"><em>Add-On:</em> Before/After Slider <span class="price"><span class="dashicons dashicons-cart"></span> $9.00</span></h2>
132
+ <div class="extension-actions">
133
+ <a href="//livecomposerplugin.com/downloads/beforeafter-image-slider-add-on/?utm_source=wp-admin&utm_medium=extension-tab&utm_campaign=beforeafter" target="_blank" class="button button-secondary activate">Details</a>
134
+ <a href="//livecomposerplugin.com/downloads/beforeafter-image-slider-add-on/?utm_source=wp-admin&utm_medium=extension-tab&utm_campaign=beforeafter" target="_blank" class="button button-primary load-customize hide-if-no-customize">Download</a>
135
+ </div>
136
+ <!-- <div class="extension-update">Update Available</div> -->
137
+ </div>
138
+
139
+ <div class="extension add-new-extension"><a href="//livecomposerplugin.com/add-ons/?utm_source=wp-admin&utm_medium=extension-tab&utm_campaign=more-addons" target="_blank"><div class="extension-screenshot"><span></span></div><h2 class="extension-name">More Add-Ons Available</h2></a></div></div>
140
+
141
+ </div><?php /* extensions browser */ ?>
142
+
143
+
144
+ </div>
includes/plugin-options-framework/tab-getting-started.php ADDED
@@ -0,0 +1,184 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="wrap lc-wrap">
2
+
3
+ <div class="dslc-panel" id="keep-it-secure">
4
+ <div class="dslc-panel-content">
5
+ <h2><?php _e( 'Keep Your Website Secure', 'live-composer-page-builder' ); ?></h2>
6
+ <p class="about-description"><?php _e( 'Security updates', 'live-composer-page-builder' ); ?> &#8226; <?php _e( 'New features', 'live-composer-page-builder' ); ?> &#8226; <?php _e( 'Extension releases', 'live-composer-page-builder' ); ?></p>
7
+
8
+ <div class="dslc-panel-column-container">
9
+ <div class="dslc-panel-column">
10
+ <h3><?php _e( 'Email Notifications', 'live-composer-page-builder' ); ?></h3>
11
+ <p><?php _e( 'Get notifications on Live Composer development, security updates, and relevant WordPress resources.', 'live-composer-page-builder' ); ?></p>
12
+ <form method="POST" action="https://lumbermandesigns.activehosted.com/proc.php" id="_form_11_" class="activecampaign_form" novalidate>
13
+ <input type="hidden" name="u" value="11" />
14
+ <input type="hidden" name="f" value="11" />
15
+ <input type="hidden" name="s" />
16
+ <input type="hidden" name="c" value="0" />
17
+ <input type="hidden" name="m" value="0" />
18
+ <input type="hidden" name="act" value="sub" />
19
+ <input type="hidden" name="v" value="2" />
20
+ <div class="_form-content">
21
+ <?php
22
+ $current_user = wp_get_current_user();
23
+
24
+ if ( ! ( $current_user instanceof WP_User ) )
25
+ return;
26
+
27
+ $current_user_email = $current_user->user_email;
28
+ $current_user_name = $current_user->user_firstname;
29
+ ?>
30
+ <div>
31
+ <input type="text" name="email" id="dslc_activecampaign_email" placeholder="Email" value="<?php esc_attr_e( $current_user_email ); ?>" required/>
32
+ </div>
33
+ <div>
34
+ <input type="text" name="firstname" id="dslc_activecampaign_name" placeholder="First Name" required value="<?php esc_attr_e( $current_user_name ); ?>" />
35
+ </div>
36
+ <button id="_form_11_submit" class="button button-primary" type="submit">Submit</button>
37
+ </div>
38
+ <div class="_form-thank-you"></div>
39
+ <br>
40
+ </form>
41
+ </div>
42
+ <div class="dslc-panel-column">
43
+ <h3><?php _e( "Let's be Friends", 'live-composer-page-builder' ); ?></h3>
44
+ <p><?php _e( 'We share our story of the page builder development, what works well and where we failed.', 'live-composer-page-builder' ); ?></p>
45
+ <ul>
46
+ <li><a class="dslc-panel-icon dslc-panel-facebook-page" href="//www.facebook.com/livecomposer" traget="_blank"><?php _e( 'Notifications on Facebook', 'live-composer-page-builder' ); ?></a></li>
47
+ <li><a class="dslc-panel-icon dslc-panel-twitter" href="//twitter.com/intent/user?screen_name=LiveComposerWP" traget="_blank"><?php _e( 'Team Updates on Twitter', 'live-composer-page-builder' ); ?></a></li>
48
+ <li><a class="dslc-panel-icon dslc-panel-show-work" href="//livecomposerplugin.com/support/support-request/?utm_source=wp-admin&utm_medium=lc-intro&utm_campaign=ShowUsYourWork" traget="_blank"><?php _e( 'Show Us Your Work', 'live-composer-page-builder' ); ?></a></li>
49
+ </ul>
50
+ </div>
51
+ <div class="dslc-panel-column dslc-panel-last">
52
+ <h3><?php _e( "You're not alone", 'live-composer-page-builder' ); ?></h3>
53
+ <p><?php _e( 'There are 20,000+ of Live Composer users. What to see what others do with it or share your work?', 'live-composer-page-builder' ); ?></p>
54
+ <ul>
55
+ <li><a class="dslc-panel-icon dslc-panel-facebook" href="//www.facebook.com/groups/livecomposer/" traget="_blank"><?php _e( 'Join Private Users Group', 'live-composer-page-builder' ); ?></a></li>
56
+ <li><span class="dashicons dashicons-heart"></span> <?php _e( 'Share your project', 'live-composer-page-builder' ); ?></li>
57
+ <li><span class="dashicons dashicons-nametag"></span> <?php _e( 'Meet other creators', 'live-composer-page-builder' ); ?></li>
58
+ </ul>
59
+ </div>
60
+ </div>
61
+ </div>
62
+ </div>
63
+
64
+ <div class="dslc-panel" id="new-lc-coming">
65
+ <div class="dslc-panel-content">
66
+ <img src="<?php echo DS_LIVE_COMPOSER_URL; ?>/images/livecomposer-mink-curious.png" class="mink-illustration">
67
+ <h2><?php _e( 'All New Live Composer is Coming!', 'live-composer-page-builder' ); ?></h2>
68
+ <p class="about-description"><?php _e( 'We\'re releasing soon our all new page builder and you\'ll love it.', 'live-composer-page-builder' ); ?></p>
69
+ <a href="//livecomposerplugin.com/live-composer-2-coming/?utm_source=wp-admin&utm_medium=lc2-iscoming-block&utm_campaign=bethefirsttogetit" class="button button-primary button-hero load-customize hide-if-no-customize" target="_blank"><span class="dashicons dashicons-tickets"></span> Be the First to Get It</a>
70
+
71
+ <hr>
72
+
73
+ <div class="dslc-panel-column-container">
74
+ <div class="dslc-panel-column">
75
+ <h3><span class="dashicons dashicons-dashboard"></span> <?php _e( 'Extremely Fast', 'live-composer-page-builder' ); ?></h3>
76
+ <p><?php _e( 'New Live Composer is completely rewritten using JavaScript. It\'s fast and reliable on any server delivering a great user experience and faster site loading times.', 'live-composer-page-builder' ); ?></p>
77
+ </div>
78
+ <div class="dslc-panel-column">
79
+ <h3><span class="dashicons dashicons-update"></span> <?php _e( "Better Integrated", 'live-composer-page-builder' ); ?></h3>
80
+ <p><?php _e( 'We redesigned user interface from scratch. The new version is better integrated with WordPress UI making it more effective for both advacned and new users.', 'live-composer-page-builder' ); ?></p>
81
+ </div>
82
+ <div class="dslc-panel-column dslc-panel-last">
83
+ <h3><span class="dashicons dashicons-unlock"></span> <?php _e( "100% Open Source", 'live-composer-page-builder' ); ?></h3>
84
+ <p><?php _e( 'Unlike other popular page builders, Live Composer remains to be 100% open source plugin. Build premium theme business with our page builder. ', 'live-composer-page-builder' ); ?></p>
85
+ </div>
86
+ </div>
87
+ </div>
88
+ </div>
89
+
90
+ <br>
91
+ <hr>
92
+ <h2 class="dslc-subsection-title">Extend Live Composer with <a href="https://livecomposerplugin.com/add-ons/?utm_source=wp-admin&utm_medium=extension-block&utm_campaign=section-title" target="_blank">Free Add-Ons</a></h2>
93
+
94
+ <div class="extension-browser rendered">
95
+ <div class="extensions wp-clearfix">
96
+
97
+ <div class="extension" tabindex="0" >
98
+ <div class="extension-screenshot">
99
+ <img alt="" src="<?php echo DS_LIVE_COMPOSER_URL; ?>/images/lc-extension-videoembed.png">
100
+ </div>
101
+
102
+ <a href="//livecomposerplugin.com/add-ons/?utm_source=wp-admin&utm_medium=extension-block&utm_campaign=video-embed" target="_blank" class="more-details">More Details</a>
103
+
104
+ <h2 class="extension-name"><em>Add-On:</em> Video Embed <span class="price"><span class="dashicons dashicons-cart"></span> Free</span></h2>
105
+ <div class="extension-actions">
106
+ <a href="//livecomposerplugin.com/add-ons/?utm_source=wp-admin&utm_medium=extension-block&utm_campaign=video-embed" target="_blank" class="button button-secondary activate">Details</a>
107
+ <a href="//livecomposerplugin.com/downloads/video-embed/?utm_source=wp-admin&utm_medium=extension-block&utm_campaign=video-embed" target="_blank" class="button button-primary load-customize hide-if-no-customize">Free Download</a>
108
+ </div>
109
+
110
+ <!-- <div class="extension-update">Update Available</div> -->
111
+ </div>
112
+
113
+ <div class="extension" tabindex="0" >
114
+ <div class="extension-screenshot">
115
+ <img alt="" src="<?php echo DS_LIVE_COMPOSER_URL; ?>/images/lc-extension-animations.png">
116
+ </div>
117
+
118
+ <a href="//livecomposerplugin.com/add-ons/?utm_source=wp-admin&utm_medium=extension-block&utm_campaign=animations" target="_blank" class="more-details">More Details</a>
119
+
120
+ <h2 class="extension-name"><em>Add-On:</em> Animations+ <span class="price"><span class="dashicons dashicons-cart"></span> Free</span></h2>
121
+ <div class="extension-actions">
122
+ <a href="//livecomposerplugin.com/add-ons/?utm_source=wp-admin&utm_medium=extension-block&utm_campaign=animations" target="_blank" class="button button-secondary activate">Details</a>
123
+ <a href="//livecomposerplugin.com/downloads/additional-animations/?utm_source=wp-admin&utm_medium=extension-block&utm_campaign=animations" target="_blank" class="button button-primary load-customize hide-if-no-customize">Free Download</a>
124
+ </div>
125
+
126
+ <!-- <div class="extension-update">Update Available</div> -->
127
+ </div>
128
+
129
+ <div class="extension add-new-extension"><a href="//livecomposerplugin.com/add-ons/?utm_source=wp-admin&utm_medium=extension-block&utm_campaign=more-addons" target="_blank"><div class="extension-screenshot"><span></span></div><h2 class="extension-name">More Add-Ons Available</h2></a></div></div>
130
+
131
+ </div><?php /* extensions browser */ ?>
132
+
133
+ <?php
134
+ /**
135
+ * ----------------------------------------------------------------------
136
+ * Themes Section
137
+ */
138
+ ?>
139
+
140
+ <hr>
141
+ <h2 class="dslc-subsection-title">Customize Everything With Our <a href="https://livecomposerplugin.com/themes/?utm_source=wp-admin&utm_medium=theme-block&utm_campaign=section-title" target="_blank">Free Themes</a></h2>
142
+
143
+ <div class="extension-browser rendered">
144
+ <div class="extensions wp-clearfix">
145
+
146
+ <div class="extension" tabindex="0" >
147
+ <div class="extension-screenshot">
148
+ <img alt="" src="<?php echo DS_LIVE_COMPOSER_URL; ?>/images/lc-theme-blank.png">
149
+ </div>
150
+
151
+ <a href="//livecomposerplugin.com/themes/?utm_source=wp-admin&utm_medium=theme-block&utm_campaign=blank" target="_blank" class="more-details">More Details</a>
152
+
153
+ <h2 class="extension-name"><em>Theme:</em> BLANK Theme <span class="price"><span class="dashicons dashicons-cart"></span> Free</span></h2>
154
+ <div class="extension-actions">
155
+ <a href="//livecomposerplugin.com/themes/?utm_source=wp-admin&utm_medium=theme-block&utm_campaign=blank" target="_blank" class="button button-secondary activate">Details</a>
156
+ <a href="//livecomposerplugin.com/themes/?utm_source=wp-admin&utm_medium=theme-block&utm_campaign=blank" target="_blank" class="button button-primary load-customize hide-if-no-customize">Free Download</a>
157
+ </div>
158
+
159
+ <!-- <div class="extension-update">Update Available</div> -->
160
+ </div>
161
+
162
+ <div class="extension" tabindex="0" >
163
+ <div class="extension-screenshot">
164
+ <img alt="" src="<?php echo DS_LIVE_COMPOSER_URL; ?>/images/lc-theme-orao.png">
165
+ </div>
166
+
167
+ <a href="//livecomposerplugin.com/themes/?utm_source=wp-admin&utm_medium=theme-block&utm_campaign=orao" target="_blank" class="more-details">More Details</a>
168
+
169
+ <h2 class="extension-name"><em>Theme:</em> Orao Creative <span class="price"><span class="dashicons dashicons-cart"></span> Free</span></h2>
170
+ <div class="extension-actions">
171
+ <a href="//livecomposerplugin.com/themes/?utm_source=wp-admin&utm_medium=theme-block&utm_campaign=orao" target="_blank" class="button button-secondary activate">Details</a>
172
+ <a href="//livecomposerplugin.com/themes/?utm_source=wp-admin&utm_medium=theme-block&utm_campaign=orao" target="_blank" class="button button-primary load-customize hide-if-no-customize">Free Download</a>
173
+ </div>
174
+
175
+ <!-- <div class="extension-update">Update Available</div> -->
176
+ </div>
177
+
178
+ <div class="extension add-new-extension add-new-theme"><a href="//livecomposerplugin.com/themes/?utm_source=wp-admin&utm_medium=theme-block&utm_campaign=more-themes" target="_blank"><div class="extension-screenshot"><span></span></div><h2 class="extension-name">More Themes Available</h2></a></div></div>
179
+
180
+ </div><?php /* extensions browser */ ?>
181
+
182
+
183
+
184
+ </div>
includes/plugin-options-framework/tab-settings.php ADDED
@@ -0,0 +1,116 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="wp-clearfix" id="dslc-settings-frame">
2
+
3
+ <ul class="nav-subtabs wp-clearfix widget-inside" id="dslc-settings-column">
4
+ <li class="dslc-submenu-section">
5
+ <a href="#general" data-nav-to="<?php echo 'tab-1' ?>" class="nav-subtab <?php echo $anchor == 'tab-1' ? 'nav-tab-active' : ''; ?>">
6
+ <span class="dashicons dashicons-admin-settings"></span> <?php _e( 'General Options', 'live-composer-page-builder' ) ?>
7
+ </a>
8
+ </li>
9
+ <li class="dslc-submenu-section">
10
+ <a href="#performance" data-nav-to="<?php echo 'tab-1' ?>" class="nav-subtab <?php echo $anchor == 'tab-1' ? 'nav-tab-active' : ''; ?>">
11
+ <span class="dashicons dashicons-dashboard"></span> <?php _e( 'Performance', 'live-composer-page-builder' ) ?>
12
+ </a>
13
+ </li>
14
+ <li class="dslc-submenu-section">
15
+ <a href="#other" data-nav-to="<?php echo 'tab-1' ?>" class="nav-subtab <?php echo $anchor == 'tab-1' ? 'nav-tab-active' : ''; ?>">
16
+ <span class="dashicons dashicons-admin-tools"></span> <?php _e( 'Other', 'live-composer-page-builder' ) ?>
17
+ </a>
18
+ </li>
19
+ <li class="dslc-submenu-section">
20
+ <a href="#navigation" data-nav-to="<?php echo 'tab-1' ?>" class="nav-subtab <?php echo $anchor == 'tab-1' ? 'nav-tab-active' : ''; ?>">
21
+ <span class="dashicons dashicons-menu"></span> <?php _e( 'Navigation Module', 'live-composer-page-builder' ) ?>
22
+ </a>
23
+ </li>
24
+ <li class="dslc-submenu-section">
25
+ <a href="#widgets" data-nav-to="<?php echo 'tab-1' ?>" class="nav-subtab <?php echo $anchor == 'tab-1' ? 'nav-tab-active' : ''; ?>">
26
+ <span class="dashicons dashicons-welcome-widgets-menus"></span> <?php _e( 'Widgets Module', 'live-composer-page-builder' ) ?>
27
+ </a>
28
+ </li>
29
+ <li class="dslc-submenu-section">
30
+ <a href="#access-control" data-nav-to="<?php echo 'tab-1' ?>" class="nav-subtab <?php echo $anchor == 'tab-1' ? 'nav-tab-active' : ''; ?>">
31
+ <span class="dashicons dashicons-admin-network"></span> <?php _e( 'Access Control', 'live-composer-page-builder' ) ?>
32
+ </a>
33
+ </li>
34
+ <li class="dslc-submenu-section">
35
+ <a href="#features-control" data-nav-to="<?php echo 'tab-1' ?>" class="nav-subtab <?php echo $anchor == 'tab-1' ? 'nav-tab-active' : ''; ?>">
36
+ <span class="dashicons dashicons-forms"></span> <?php _e( 'Features Control', 'live-composer-page-builder' ) ?>
37
+ </a>
38
+ </li>
39
+ <li class="dslc-submenu-section">
40
+ <a href="#archives" data-nav-to="<?php echo 'tab-1' ?>" class="nav-subtab <?php echo $anchor == 'tab-1' ? 'nav-tab-active' : ''; ?>">
41
+ <span class="dashicons dashicons-exerpt-view"></span> <?php _e( 'Archive and Search', 'live-composer-page-builder' ) ?>
42
+ </a>
43
+ </li>
44
+ <li class="dslc-submenu-section">
45
+ <a href="#cpt-slugs" data-nav-to="<?php echo 'tab-1' ?>" class="nav-subtab <?php echo $anchor == 'tab-1' ? 'nav-tab-active' : ''; ?>">
46
+ <span class="dashicons dashicons-index-card"></span> <?php _e( 'Post Types', 'live-composer-page-builder' ) ?>
47
+ </a>
48
+ </li>
49
+ </ul>
50
+
51
+ <div id="dslc-setings-liquid">
52
+
53
+ <form method="post" action="options.php" class="dslc-settings-form">
54
+ <?php echo settings_fields( 'dslc_plugin_options' ); ?>
55
+
56
+ <!-- <div class="tab" <?php echo $anchor == 'tab-1' ? 'style="display: block"' : ''?> id="tab-for-tab-1"> -->
57
+ <a name="general"></a>
58
+ <div class="dslc-panel">
59
+ <?php do_settings_sections( 'dslc_plugin_options' ); ?>
60
+ <?php submit_button(); ?>
61
+ </div>
62
+ <a name="performance"></a>
63
+ <a href="#dslc-top" class="dslc-scroll-back"><span class="dashicons dashicons-arrow-up-alt"></span> Top</a>
64
+ <div class="dslc-panel">
65
+ <?php do_settings_sections( 'dslc_plugin_options_performance' ); ?>
66
+ <?php submit_button(); ?>
67
+ </div>
68
+ <a name="other"></a>
69
+ <a href="#dslc-top" class="dslc-scroll-back"><span class="dashicons dashicons-arrow-up-alt"></span> Top</a>
70
+ <div class="dslc-panel">
71
+ <?php do_settings_sections( 'dslc_plugin_options_other' ); ?>
72
+ <?php submit_button(); ?>
73
+ </div>
74
+ <a name="navigation"></a>
75
+ <a href="#dslc-top" class="dslc-scroll-back"><span class="dashicons dashicons-arrow-up-alt"></span> Top</a>
76
+ <div class="dslc-panel">
77
+ <?php do_settings_sections( 'dslc_plugin_options_navigation_m' ); ?>
78
+ <?php submit_button(); ?>
79
+ </div>
80
+ <a name="widgets"></a>
81
+ <a href="#dslc-top" class="dslc-scroll-back"><span class="dashicons dashicons-arrow-up-alt"></span> Top</a>
82
+ <div class="dslc-panel">
83
+ <?php do_settings_sections( 'dslc_plugin_options_widgets_m' ); ?>
84
+ <?php submit_button(); ?>
85
+ </div>
86
+ <a name="access-control"></a>
87
+ <a href="#dslc-top" class="dslc-scroll-back"><span class="dashicons dashicons-arrow-up-alt"></span> Top</a>
88
+ <div class="dslc-panel">
89
+ <?php do_settings_sections( 'dslc_plugin_options_access_control' ); ?>
90
+ <?php submit_button(); ?>
91
+ </div>
92
+ <a name="features-control"></a>
93
+ <a href="#dslc-top" class="dslc-scroll-back"><span class="dashicons dashicons-arrow-up-alt"></span> Top</a>
94
+ <div class="dslc-panel">
95
+ <?php do_settings_sections( 'dslc_plugin_options_features' ); ?>
96
+ <?php submit_button(); ?>
97
+ </div>
98
+ <a name="archives"></a>
99
+ <a href="#dslc-top" class="dslc-scroll-back"><span class="dashicons dashicons-arrow-up-alt"></span> Top</a>
100
+ <div class="dslc-panel">
101
+ <?php do_settings_sections( 'dslc_plugin_options_archives' ); ?>
102
+ <?php submit_button(); ?>
103
+ </div>
104
+ <a name="cpt-slugs"></a>
105
+ <a href="#dslc-top" class="dslc-scroll-back"><span class="dashicons dashicons-arrow-up-alt"></span> Top</a>
106
+ <div class="dslc-panel">
107
+ <?php do_settings_sections( 'dslc_plugin_options_cpt_slugs' ); ?>
108
+ <?php submit_button(); ?>
109
+ </div>
110
+ <!-- </div> -->
111
+
112
+
113
+
114
+ </form>
115
+ </div>
116
+ </div>
includes/plugin-options-framework/tab-themes.php ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="wrap lc-wrap">
2
+
3
+ <h2 class="dslc-tab-heading">Customize Everything With Our <a href="https://livecomposerplugin.com/themes/?utm_source=wp-admin&utm_medium=theme-tab&utm_campaign=section-title" target="_blank">Free Themes</a></h2>
4
+
5
+ <div class="extension-browser rendered">
6
+ <div class="extensions wp-clearfix">
7
+
8
+ <div class="extension" tabindex="0" >
9
+ <div class="extension-screenshot">
10
+ <img alt="" src="<?php echo DS_LIVE_COMPOSER_URL; ?>/images/lc-theme-blank.png">
11
+ </div>
12
+
13
+ <a href="//livecomposerplugin.com/downloads/blank-theme/?utm_source=wp-admin&utm_medium=theme-tab&utm_campaign=blank" target="_blank" class="more-details">More Details</a>
14
+
15
+ <h2 class="extension-name"><em>Theme:</em> BLANK Theme <span class="price"><span class="dashicons dashicons-cart"></span> Free</span></h2>
16
+ <div class="extension-actions">
17
+ <a href="//livecomposerplugin.com/downloads/blank-theme/?utm_source=wp-admin&utm_medium=theme-tab&utm_campaign=blank" target="_blank" class="button button-secondary activate">Details</a>
18
+ <a href="//livecomposerplugin.com/downloads/blank-theme/?utm_source=wp-admin&utm_medium=theme-tab&utm_campaign=blank" target="_blank" class="button button-primary load-customize hide-if-no-customize">Free Download</a>
19
+ </div>
20
+
21
+ <!-- <div class="extension-update">Update Available</div> -->
22
+ </div>
23
+
24
+ <div class="extension" tabindex="0" >
25
+ <div class="extension-screenshot">
26
+ <img alt="" src="<?php echo DS_LIVE_COMPOSER_URL; ?>/images/lc-theme-orao.png">
27
+ </div>
28
+
29
+ <a href="//livecomposerplugin.com/downloads/orao-theme/?utm_source=wp-admin&utm_medium=theme-tab&utm_campaign=orao" target="_blank" class="more-details">More Details</a>
30
+
31
+ <h2 class="extension-name"><em>Theme:</em> Orao Creative <span class="price"><span class="dashicons dashicons-cart"></span> Free</span></h2>
32
+ <div class="extension-actions">
33
+ <a href="//livecomposerplugin.com/downloads/orao-theme/?utm_source=wp-admin&utm_medium=theme-tab&utm_campaign=orao" target="_blank" class="button button-secondary activate">Details</a>
34
+ <a href="//livecomposerplugin.com/downloads/orao-theme/?utm_source=wp-admin&utm_medium=theme-tab&utm_campaign=orao" target="_blank" class="button button-primary load-customize hide-if-no-customize">Free Download</a>
35
+ </div>
36
+
37
+ <!-- <div class="extension-update">Update Available</div> -->
38
+ </div>
39
+
40
+ <div class="extension add-new-extension add-new-theme"><a href="//livecomposerplugin.com/themes/?utm_source=wp-admin&utm_medium=theme-tab&utm_campaign=more-themes" target="_blank"><div class="extension-screenshot"><span></span></div><h2 class="extension-name">More Themes Available</h2></a></div></div>
41
+
42
+ </div><?php /* extensions browser */ ?>
43
+
44
+
45
+ </div>
includes/post-options-framework/css/main.css CHANGED
@@ -150,6 +150,7 @@
150
  text-align:center;
151
  width: 50%;
152
  margin-top: 14px;
 
153
  }
154
 
155
  .lc-active #post-status-info, .lc-active #wp-content-editor-container {
150
  text-align:center;
151
  width: 50%;
152
  margin-top: 14px;
153
+ display: block;
154
  }
155
 
156
  .lc-active #post-status-info, .lc-active #wp-content-editor-container {
includes/post-options-framework/css/main.min.css CHANGED
@@ -1 +1 @@
1
- .dslca-post-options{padding:20px 0}.dslca-post-option{border-top:1px dashed #ddd;margin-top:20px;padding-top:20px}.dslca-post-option:first-child{margin-top:0;padding-top:0;border-top:0}.dslca-post-option-label{font-weight:700;font-size:1.2em;margin-bottom:15px}.dslca-post-option-description{margin-bottom:20px}.dslca-post-option-field-choice{margin-bottom:10px}.dslca-post-option-add-file-hook{background:#54C13F;border-radius:3px;color:#fff;cursor:pointer;display:inline-block;font-size:11px;line-height:1;margin-bottom:20px;padding:10px 13px;text-transform:uppercase;font-weight:700}.dslca-post-option-image{background:0 0;border:1px solid #ddd;display:block;float:left;margin:0 15px 15px 0;padding:7px;position:relative;border-radius:3px}.dslca-post-option-image-inner{width:100px;overflow:hidden}.dslca-post-option-image img{max-width:100%;border-radius:3px;display:block;margin:0;padding:0}.dslca-post-option-image-remove{background:#E55F5F;border-radius:50%;color:#fff;cursor:pointer;display:block;font-size:10px;line-height:8px;position:absolute;padding:3px;top:-8px;right:-8px;width:10px;height:10px;text-align:center}.dslca-post-options input[type=text],.dslca-post-options textarea{border:1px solid #ddd;border-radius:0;padding:8px 15px;width:100%}.dslca-post-options textarea{height:150px}.dslca-post-options select{border:1px solid #ddd;border-radius:0;padding:8px 15px;height:auto}.dslca-clearfix:after,.dslca-clearfix:before{content:" ";display:table}.dslca-clear,.dslca-clearfix:after{clear:both}#major-publishing-actions .button-hero{text-align:center;width:100%;margin-bottom:14px}.dslca-post-options .button{text-align:center;width:50%;margin-top:14px}.lc-active #post-status-info,.lc-active #wp-content-editor-container{display:none;opacity:0}.lc-active .switch-lc{background:#f5f5f5;border-bottom-color:#f5f5f5}.lc-active .wp-switch-editor:focus{outline:0;box-shadow:none}.lc-active .html-active .switch-html{background:#ebebeb;border-bottom-color:#e5e5e5}.lc-active .wp-switch-editor-lc{background:#f5f5f5;color:#555;border-bottom-color:#f5f5f5}.lc-active #lc_content_wrap{display:block;background:#f5f5f5;height:250px;padding-top:70px;border:1px solid #e5e5e5;border-top:none;text-align:center}.lc-active #lc_content_wrap h2{font-size:21px;font-weight:400;line-height:1.2}.lc-active #lc_content_wrap .description{font-size:14px;line-height:1.5;color:#777;margin:10px auto 20px;max-width:400px}#lc_content_wrap{display:none}
1
+ .dslca-post-options{padding:20px 0}.dslca-post-option{border-top:1px dashed #ddd;margin-top:20px;padding-top:20px}.dslca-post-option:first-child{margin-top:0;padding-top:0;border-top:0}.dslca-post-option-label{font-weight:700;font-size:1.2em;margin-bottom:15px}.dslca-post-option-description{margin-bottom:20px}.dslca-post-option-field-choice{margin-bottom:10px}.dslca-post-option-add-file-hook{background:#54C13F;border-radius:3px;color:#fff;cursor:pointer;display:inline-block;font-size:11px;line-height:1;margin-bottom:20px;padding:10px 13px;text-transform:uppercase;font-weight:700}.dslca-post-option-image{background:0 0;border:1px solid #ddd;display:block;float:left;margin:0 15px 15px 0;padding:7px;position:relative;border-radius:3px}.dslca-post-option-image-inner{width:100px;overflow:hidden}.dslca-post-option-image img{max-width:100%;border-radius:3px;display:block;margin:0;padding:0}.dslca-post-option-image-remove{background:#E55F5F;border-radius:50%;color:#fff;cursor:pointer;display:block;font-size:10px;line-height:8px;position:absolute;padding:3px;top:-8px;right:-8px;width:10px;height:10px;text-align:center}.dslca-post-options input[type=text],.dslca-post-options textarea{border:1px solid #ddd;border-radius:0;padding:8px 15px;width:100%}.dslca-post-options textarea{height:150px}.dslca-post-options select{border:1px solid #ddd;border-radius:0;padding:8px 15px;height:auto}.dslca-clearfix:after,.dslca-clearfix:before{content:" ";display:table}.dslca-clear,.dslca-clearfix:after{clear:both}#major-publishing-actions .button-hero{text-align:center;width:100%;margin-bottom:14px}.dslca-post-options .button{text-align:center;width:50%;margin-top:14px;display:block}.lc-active #post-status-info,.lc-active #wp-content-editor-container{display:none;opacity:0}.lc-active .switch-lc{background:#f5f5f5;border-bottom-color:#f5f5f5}.lc-active .wp-switch-editor:focus{outline:0;box-shadow:none}.lc-active .html-active .switch-html{background:#ebebeb;border-bottom-color:#e5e5e5}.lc-active .wp-switch-editor-lc{background:#f5f5f5;color:#555;border-bottom-color:#f5f5f5}.lc-active #lc_content_wrap{display:block;background:#f5f5f5;height:250px;padding-top:70px;border:1px solid #e5e5e5;border-top:none;text-align:center}.lc-active #lc_content_wrap h2{font-size:21px;font-weight:400;line-height:1.2}.lc-active #lc_content_wrap .description{font-size:14px;line-height:1.5;color:#777;margin:10px auto 20px;max-width:400px}#lc_content_wrap{display:none}
includes/post-options-framework/js/main.js CHANGED
@@ -132,7 +132,8 @@ jQuery(document).ready(function(){
132
  );
133
  }
134
 
135
- if ( jQuery('#postcustom input[value="dslc_code"]').val() == 'dslc_code' ) {
 
136
  jQuery('#wp-content-wrap').removeClass('html-active tmce-active');
137
  jQuery('#postdivrich').addClass('lc-active');
138
  }
132
  );
133
  }
134
 
135
+ // Overlay WP editor with LC Page Builder tab if there is LC content AND there is no content in standard editor
136
+ if ( jQuery('#postcustom input[value="dslc_code"]').val() == 'dslc_code' && jQuery('.wp-editor-area').text().length == 0 ) {
137
  jQuery('#wp-content-wrap').removeClass('html-active tmce-active');
138
  jQuery('#postdivrich').addClass('lc-active');
139
  }
includes/post-options-framework/js/main.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready(function(){function a(a){var b,c="",d=jQuery(".dslca-post-option-image",a);d.each(function(){b=jQuery(this),imageID=b.data("id"),c+=imageID+" "}),jQuery(".dslca-post-options-field-file",a).val(c)}function b(b){var c=b.closest(".dslca-post-option");b.remove(),a(c)}jQuery(".dslca-post-options-field-datepicker").datepicker(),jQuery(document).on("click",".dslca-post-option-image-remove",function(){b(jQuery(this).closest(".dslca-post-option-image"))}),jQuery(".dslca-post-option-field-files .dslca-post-options-images").length&&(jQuery(".dslca-post-option-field-files .dslca-post-options-images").sortable({update:function(b,c){a(jQuery(this).closest(".dslca-post-option"))}}),jQuery(".dslca-post-options-images").disableSelection());var c;if(jQuery(".dslca-post-option-add-file-hook").click(function(){var a=jQuery(this),b=jQuery(this).closest(".dslca-post-option"),d=jQuery(".dslca-post-options-field-file",b),e=jQuery(".dslca-post-option-image",b),f=!1;a.data("multiple")&&(f=!0),c=wp.media.frames.file_frame=wp.media({title:"Choose File",button:{text:"Send to option"},multiple:f}),c.on("select",function(){if(f){attachments=c.state().get("selection").toJSON(),attachmentVal="";for(var a=0;a<attachments.length;a++)attachment=attachments[a],attachmentVal+=attachment.id+" ",b.find(".dslca-post-options-images").append('<div class="dslca-post-option-image" data-id="'+attachment.id+'"><div class="dslca-post-option-image-inner"><img src="'+attachment.url+'" /><span class="dslca-post-option-image-remove">x</span></div></div>');d.val(d.val()+attachmentVal)}else attachment=c.state().get("selection").first().toJSON(),"image"==attachment.type?e.length?e.find("img").attr("src",attachment.url):b.find(".dslca-post-options-images").html('<div class="dslca-post-option-image" data-id="'+attachment.id+'"><div class="dslca-post-option-image-inner"><img src="'+attachment.url+'" /></div><span class="dslca-post-option-image-remove">x</span></div>'):e.length?e.find("strong").text(attachment.filename):b.find(".dslca-post-options-images").html('<div class="dslca-post-option-image" data-id="'+attachment.id+'"><div class="dslca-post-option-image-inner"><strong>'+attachment.filename+"</strong></div></div>"),d.val(attachment.id)}),c.open()}),"undefined"!=typeof tabData){var d=jQuery("<div></div>");d.addClass("quicktags-toolbar-lc"),$wrap=jQuery("#lc_content_wrap"),$wrap.prepend(d),jQuery("#wp-content-editor-tools #content-html").after('<button type="button" id="content-lc" class="wp-switch-editor switch-lc">'+tabData.tabTitle+"</button>")}"dslc_code"==jQuery('#postcustom input[value="dslc_code"]').val()&&(jQuery("#wp-content-wrap").removeClass("html-active tmce-active"),jQuery("#postdivrich").addClass("lc-active")),jQuery(document).on("click","#content-lc",function(a){a.preventDefault(),jQuery(".wp-editor-expand").addClass("lc-active")}),jQuery(document).on("click","#content-tmce, #content-html",function(a){a.preventDefault(),jQuery(".wp-editor-expand").removeClass("lc-active")})});
1
+ jQuery(document).ready(function(){function a(a){var b,c="",d=jQuery(".dslca-post-option-image",a);d.each(function(){b=jQuery(this),imageID=b.data("id"),c+=imageID+" "}),jQuery(".dslca-post-options-field-file",a).val(c)}function b(b){var c=b.closest(".dslca-post-option");b.remove(),a(c)}jQuery(".dslca-post-options-field-datepicker").datepicker(),jQuery(document).on("click",".dslca-post-option-image-remove",function(){b(jQuery(this).closest(".dslca-post-option-image"))}),jQuery(".dslca-post-option-field-files .dslca-post-options-images").length&&(jQuery(".dslca-post-option-field-files .dslca-post-options-images").sortable({update:function(b,c){a(jQuery(this).closest(".dslca-post-option"))}}),jQuery(".dslca-post-options-images").disableSelection());var c;if(jQuery(".dslca-post-option-add-file-hook").click(function(){var a=jQuery(this),b=jQuery(this).closest(".dslca-post-option"),d=jQuery(".dslca-post-options-field-file",b),e=jQuery(".dslca-post-option-image",b),f=!1;a.data("multiple")&&(f=!0),c=wp.media.frames.file_frame=wp.media({title:"Choose File",button:{text:"Send to option"},multiple:f}),c.on("select",function(){if(f){attachments=c.state().get("selection").toJSON(),attachmentVal="";for(var a=0;a<attachments.length;a++)attachment=attachments[a],attachmentVal+=attachment.id+" ",b.find(".dslca-post-options-images").append('<div class="dslca-post-option-image" data-id="'+attachment.id+'"><div class="dslca-post-option-image-inner"><img src="'+attachment.url+'" /><span class="dslca-post-option-image-remove">x</span></div></div>');d.val(d.val()+attachmentVal)}else attachment=c.state().get("selection").first().toJSON(),"image"==attachment.type?e.length?e.find("img").attr("src",attachment.url):b.find(".dslca-post-options-images").html('<div class="dslca-post-option-image" data-id="'+attachment.id+'"><div class="dslca-post-option-image-inner"><img src="'+attachment.url+'" /></div><span class="dslca-post-option-image-remove">x</span></div>'):e.length?e.find("strong").text(attachment.filename):b.find(".dslca-post-options-images").html('<div class="dslca-post-option-image" data-id="'+attachment.id+'"><div class="dslca-post-option-image-inner"><strong>'+attachment.filename+"</strong></div></div>"),d.val(attachment.id)}),c.open()}),"undefined"!=typeof tabData){var d=jQuery("<div></div>");d.addClass("quicktags-toolbar-lc"),$wrap=jQuery("#lc_content_wrap"),$wrap.prepend(d),jQuery("#wp-content-editor-tools #content-html").after('<button type="button" id="content-lc" class="wp-switch-editor switch-lc">'+tabData.tabTitle+"</button>")}"dslc_code"==jQuery('#postcustom input[value="dslc_code"]').val()&&0==jQuery(".wp-editor-area").text().length&&(jQuery("#wp-content-wrap").removeClass("html-active tmce-active"),jQuery("#postdivrich").addClass("lc-active")),jQuery(document).on("click","#content-lc",function(a){a.preventDefault(),jQuery(".wp-editor-expand").addClass("lc-active")}),jQuery(document).on("click","#content-tmce, #content-html",function(a){a.preventDefault(),jQuery(".wp-editor-expand").removeClass("lc-active")})});
includes/post-options-framework/post-options-framework.php CHANGED
@@ -37,7 +37,7 @@ function dslc_get_cpt_templates() {
37
  if ( $templates ) {
38
 
39
  foreach ( $templates as $template ) {
40
- $template_for = get_post_meta( $template->ID, 'dslc_template_for' , true );
41
  $templates_array[$template_for][] = array(
42
  'label' => $template->post_title,
43
  'value' => $template->ID
@@ -98,7 +98,7 @@ function dslc_add_post_options() {
98
  if ( ! empty( $dslc_var_post_options ) ) {
99
 
100
  // Loop through all post options
101
- foreach ( $dslc_var_post_options as $dslc_post_option_key => $dslc_post_option) {
102
 
103
  if ( ! isset( $dslc_post_option['context'] ) )
104
  $dslc_post_option['context'] = 'normal';
@@ -203,10 +203,8 @@ function dslc_display_post_options( $object, $metabox ) {
203
  <?php
204
  global $current_screen;
205
 
206
- $template = dslc_st_get_template_ID( get_the_ID() );
207
-
208
- if ( $current_screen->action != 'add' && $object->post_type != 'dslc_templates' ) {
209
- echo '<a class="button" href="'. get_home_url() . '/?page_id=' . $template .'&dslc=active">'. __( 'Edit Template', 'live-composer-page-builder' ) .'</a>';
210
  }
211
  ?>
212
 
@@ -272,7 +270,7 @@ function dslc_display_post_options( $object, $metabox ) {
272
  <div class="dslca-post-options-images dslca-clearfix">
273
  <?php
274
  $images = explode( ' ', trim( $curr_value ) );
275
- foreach ($images as $image_ID) {
276
  $image = wp_get_attachment_image_src( $image_ID, 'full' );
277
  ?>
278
  <div class="dslca-post-option-image" data-id="<?php echo $image_ID; ?>">
@@ -332,7 +330,7 @@ function dslc_save_post_options( $post_id, $post ) {
332
 
333
  // Get option info
334
  $meta_key = $post_option['id'];
335
- $new_option_value = ( isset( $_POST[ $post_option['id'] ] ) ? $_POST[ $post_option['id'] ] : '' );
336
  $curr_option_value = get_post_meta( $post_id, $meta_key, true );
337
 
338
  if ( is_array( $new_option_value ) ) {
@@ -366,12 +364,12 @@ function dslc_page_add_row_action( $actions, $page_object ) {
366
  $id = $page_object->ID;
367
 
368
  if ( $page_status != 'trash' ) {
369
- $actions = array('edit-in-live-composer' => '<a href="'. get_home_url() . '/?page_id=' . $id . '&dslc=active">'. __( 'Edit in Live Composer', 'live-composer-page-builder' ) .'</a>') + $actions;
370
  }
371
 
372
  return $actions;
373
  }
374
- add_filter('page_row_actions', 'dslc_page_add_row_action', 10, 2);
375
 
376
  function dslc_post_add_row_action( $actions, $post ) {
377
 
@@ -380,8 +378,8 @@ function dslc_post_add_row_action( $actions, $post ) {
380
  $post_status = $post->post_status;
381
  $post_type = $post->post_type;
382
 
383
- if ( $post_status != 'trash' && $post_type == 'page' ) {
384
- $actions = array('edit-in-live-composer' => '<a href="'. get_home_url() . '/?page_id=' . $post->ID . '&dslc=active">'. __( 'Edit in Live Composer', 'live-composer-page-builder' ) .'</a>') + $actions;
385
  /*
386
  if ( array_key_exists( $post_type, $dslc_var_templates_pt ) ) {
387
  $template_id = dslc_st_get_template_ID( $post->ID );
@@ -394,7 +392,7 @@ function dslc_post_add_row_action( $actions, $post ) {
394
 
395
  return $actions;
396
  }
397
- add_filter('post_row_actions','dslc_post_add_row_action', 10, 2);
398
 
399
  /**
400
  * Adds button in permalink
@@ -406,8 +404,8 @@ function dslc_add_button_permalink( $return, $id, $new_title, $new_slug ) {
406
 
407
  $current_post_type = get_post_type( $id );
408
 
409
- if ( !array_key_exists( $current_post_type, $dslc_var_templates_pt ) ) {
410
- $return .= '<a class="button button-small" href="'. get_home_url() . '/?page_id=' . $id . '&dslc=active">'. __( 'Open in Live Composer', 'live-composer-page-builder' ) .'</a>';
411
  }
412
 
413
  return $return;
@@ -425,8 +423,8 @@ function dslc_post_submitbox_add_button() {
425
 
426
  $current_post_type = $post->post_type;
427
 
428
- if ( $current_screen->action != 'add' && !array_key_exists( $current_post_type, $dslc_var_templates_pt ) ) {
429
- echo '<a class="button button-hero" href="'. get_home_url() . '/?page_id=' . get_the_ID() . '&dslc=active">'. __( 'Open in Live Composer', 'live-composer-page-builder' ) .'</a>';
430
  }
431
 
432
  }
@@ -436,14 +434,14 @@ add_action( 'post_submitbox_start', 'dslc_post_submitbox_add_button' );
436
  * Creates a tab for pages and different post types
437
  */
438
 
439
- add_filter('the_editor', 'dslc_tab_content');
440
  function dslc_tab_content( $content ) {
441
  if ( get_post_type( get_the_ID() ) == 'page' && is_admin() ) {
442
  ?>
443
  <div id="lc_content_wrap">
444
  <h2> <?php _e( 'Edit this page in Live Composer', 'live-composer-page-builder' ); ?></h2>
445
  <div class="description"><?php _e( 'Page builder stores content in a compressed way <br>(better for speed, security and user experience)', 'live-composer-page-builder' ); ?></div>
446
- <p><a class="button button-primary button-hero" href="<?php echo get_home_url() . '/?page_id=' . get_the_ID() . '&dslc=active'; ?>"><?php echo __( 'Open in Live Composer', 'live-composer-page-builder' ); ?></a></p>
447
  </div>
448
  <?php }
449
  return $content;
37
  if ( $templates ) {
38
 
39
  foreach ( $templates as $template ) {
40
+ $template_for = get_post_meta( $template->ID, 'dslc_template_for', true );
41
  $templates_array[$template_for][] = array(
42
  'label' => $template->post_title,
43
  'value' => $template->ID
98
  if ( ! empty( $dslc_var_post_options ) ) {
99
 
100
  // Loop through all post options
101
+ foreach ( $dslc_var_post_options as $dslc_post_option_key => $dslc_post_option ) {
102
 
103
  if ( ! isset( $dslc_post_option['context'] ) )
104
  $dslc_post_option['context'] = 'normal';
203
  <?php
204
  global $current_screen;
205
 
206
+ if ( $current_screen->action != 'add' && $object->post_type != 'dslc_templates' && $object->post_type != 'dslc_hf' && $post_option['id'] != 'dslc_header' && $post_option['id'] != 'dslc_footer' ) {
207
+ echo '<a class="button" href="' . admin_url( 'edit.php?post_type=dslc_templates' ) . '">' . __( 'Edit Templates', 'live-composer-page-builder' ) . '</a>';
 
 
208
  }
209
  ?>
210
 
270
  <div class="dslca-post-options-images dslca-clearfix">
271
  <?php
272
  $images = explode( ' ', trim( $curr_value ) );
273
+ foreach ( $images as $image_ID ) {
274
  $image = wp_get_attachment_image_src( $image_ID, 'full' );
275
  ?>
276
  <div class="dslca-post-option-image" data-id="<?php echo $image_ID; ?>">
330
 
331
  // Get option info
332
  $meta_key = $post_option['id'];
333
+ $new_option_value = ( isset( $_POST[$post_option['id']] ) ? $_POST[$post_option['id']] : '' );
334
  $curr_option_value = get_post_meta( $post_id, $meta_key, true );
335
 
336
  if ( is_array( $new_option_value ) ) {
364
  $id = $page_object->ID;
365
 
366
  if ( $page_status != 'trash' ) {
367
+ $actions = array('edit-in-live-composer' => '<a href="' . get_home_url() . '/?page_id=' . $id . '&dslc=active">' . __( 'Edit in Live Composer', 'live-composer-page-builder' ) . '</a>') + $actions;
368
  }
369
 
370
  return $actions;
371
  }
372
+ add_filter( 'page_row_actions', 'dslc_page_add_row_action', 10, 2 );
373
 
374
  function dslc_post_add_row_action( $actions, $post ) {
375
 
378
  $post_status = $post->post_status;
379
  $post_type = $post->post_type;
380
 
381
+ if ( $post_status != 'trash' && ( $post_type == 'page' || $post_type == 'dslc_hf' ) ) {
382
+ $actions = array('edit-in-live-composer' => '<a href="' . get_home_url() . '/?page_id=' . $post->ID . '&dslc=active">' . __( 'Edit in Live Composer', 'live-composer-page-builder' ) . '</a>') + $actions;
383
  /*
384
  if ( array_key_exists( $post_type, $dslc_var_templates_pt ) ) {
385
  $template_id = dslc_st_get_template_ID( $post->ID );
392
 
393
  return $actions;
394
  }
395
+ add_filter( 'post_row_actions', 'dslc_post_add_row_action', 10, 2 );
396
 
397
  /**
398
  * Adds button in permalink
404
 
405
  $current_post_type = get_post_type( $id );
406
 
407
+ if ( ! array_key_exists( $current_post_type, $dslc_var_templates_pt ) && $current_post_type != 'dslc_testimonials' ) {
408
+ $return .= '<a class="button button-small" target="_blank" href="' . get_home_url() . '/?page_id=' . $id . '&dslc=active">' . __( 'Open in Live Composer', 'live-composer-page-builder' ) . '</a>';
409
  }
410
 
411
  return $return;
423
 
424
  $current_post_type = $post->post_type;
425
 
426
+ if ( $current_screen->action != 'add' && ! array_key_exists( $current_post_type, $dslc_var_templates_pt ) && $current_post_type != 'dslc_testimonials' ) {
427
+ echo '<a class="button button-hero" target="_blank" href="' . get_home_url() . '/?page_id=' . get_the_ID() . '&dslc=active">' . __( 'Open in Live Composer', 'live-composer-page-builder' ) . '</a>';
428
  }
429
 
430
  }
434
  * Creates a tab for pages and different post types
435
  */
436
 
437
+ add_filter( 'the_editor', 'dslc_tab_content' );
438
  function dslc_tab_content( $content ) {
439
  if ( get_post_type( get_the_ID() ) == 'page' && is_admin() ) {
440
  ?>
441
  <div id="lc_content_wrap">
442
  <h2> <?php _e( 'Edit this page in Live Composer', 'live-composer-page-builder' ); ?></h2>
443
  <div class="description"><?php _e( 'Page builder stores content in a compressed way <br>(better for speed, security and user experience)', 'live-composer-page-builder' ); ?></div>
444
+ <p><a class="button button-primary button-hero" target="_blank" href="<?php echo get_home_url() . '/?page_id=' . get_the_ID() . '&dslc=active'; ?>"><?php echo __( 'Open in Live Composer', 'live-composer-page-builder' ); ?></a></p>
445
  </div>
446
  <?php }
447
  return $content;
includes/row-system/inc/options-output.php CHANGED
@@ -43,11 +43,11 @@
43
  <span class="dslca-modules-section-edit-label"><?php echo $row_option['label']; ?></span>
44
 
45
  <?php if ( $row_option['type'] == 'text' ) : ?>
46
-
47
  <input type="text" class="dslca-modules-section-edit-field" data-id="<?php echo $row_option['id']; ?>" <?php echo $css_element_output . ' ' . $css_rule_output; ?> />
48
 
49
  <?php elseif ( $row_option['type'] == 'select' ) : ?>
50
-
51
  <select type="text" class="dslca-modules-section-edit-field dslca-modules-section-edit-field-select" data-id="<?php echo $row_option['id']; ?>" <?php echo $css_element_output . ' ' . $css_rule_output; ?> >
52
  <?php foreach ( $row_option['choices'] as $choice ) : ?>
53
  <option value="<?php echo $choice['value']; ?>"><?php echo $choice['label']; ?></option>
@@ -147,15 +147,15 @@
147
  // Go through each option and append HTML
148
  if ( $atts ) {
149
  foreach ( $dslc_var_row_options as $row_option ) {
150
- if ( isset( $atts[$row_option['id']] ) )
151
- $output .= '<input type="text" data-id="' . $row_option['id'] . '" value="'. $atts[$row_option['id']] .'" data-def="'. $atts[$row_option['id']] .'">';
152
  else
153
- $output .= '<input type="text" data-id="' . $row_option['id'] . '" value="'. $row_option['std'] .'" data-def="'. $row_option['std'] .'">';
154
  }
155
  } else {
156
  foreach ( $dslc_var_row_options as $row_option ) {
157
  if ( ! isset( $row_option['std'] ) ) $row_option['std'] = '';
158
- $output .= '<input type="text" data-id="' . $row_option['id'] . '" value="'. $row_option['std'] .'">';
159
  }
160
  }
161
 
@@ -173,8 +173,8 @@
173
 
174
  // Loop through all options
175
  foreach ( $dslc_var_row_options as $row_option ) {
176
-
177
- // If there's an el then it's not for the section div
178
  if ( ! isset( $row_option['affect_on_change_el'] ) ) {
179
 
180
  // The CSS rules
@@ -239,7 +239,7 @@
239
 
240
  }
241
 
242
- }
243
 
244
  }
245
 
@@ -263,8 +263,8 @@
263
 
264
  // Loop through all options
265
  foreach ( $dslc_var_row_options as $row_option ) {
266
-
267
- // If there's an el then it's not for the section div
268
  if ( ! isset( $row_option['affect_on_change_el'] ) ) {
269
 
270
  // The CSS rules
@@ -325,7 +325,7 @@
325
 
326
  }
327
 
328
- }
329
 
330
  }
331
 
43
  <span class="dslca-modules-section-edit-label"><?php echo $row_option['label']; ?></span>
44
 
45
  <?php if ( $row_option['type'] == 'text' ) : ?>
46
+
47
  <input type="text" class="dslca-modules-section-edit-field" data-id="<?php echo $row_option['id']; ?>" <?php echo $css_element_output . ' ' . $css_rule_output; ?> />
48
 
49
  <?php elseif ( $row_option['type'] == 'select' ) : ?>
50
+
51
  <select type="text" class="dslca-modules-section-edit-field dslca-modules-section-edit-field-select" data-id="<?php echo $row_option['id']; ?>" <?php echo $css_element_output . ' ' . $css_rule_output; ?> >
52
  <?php foreach ( $row_option['choices'] as $choice ) : ?>
53
  <option value="<?php echo $choice['value']; ?>"><?php echo $choice['label']; ?></option>
147
  // Go through each option and append HTML
148
  if ( $atts ) {
149
  foreach ( $dslc_var_row_options as $row_option ) {
150
+ if ( isset( $atts[$row_option['id']] ) )
151
+ $output .= '<input type="text" data-id="' . $row_option['id'] . '" value="' . $atts[$row_option['id']] . '" data-def="' . $atts[$row_option['id']] . '">';
152
  else
153
+ $output .= '<input type="text" data-id="' . $row_option['id'] . '" value="' . $row_option['std'] . '" data-def="' . $row_option['std'] . '">';
154
  }
155
  } else {
156
  foreach ( $dslc_var_row_options as $row_option ) {
157
  if ( ! isset( $row_option['std'] ) ) $row_option['std'] = '';
158
+ $output .= '<input type="text" data-id="' . $row_option['id'] . '" value="' . $row_option['std'] . '">';
159
  }
160
  }
161
 
173
 
174
  // Loop through all options
175
  foreach ( $dslc_var_row_options as $row_option ) {
176
+
177
+ // If there's an el then it's not for the section div
178
  if ( ! isset( $row_option['affect_on_change_el'] ) ) {
179
 
180
  // The CSS rules
239
 
240
  }
241
 
242
+ }
243
 
244
  }
245
 
263
 
264
  // Loop through all options
265
  foreach ( $dslc_var_row_options as $row_option ) {
266
+
267
+ // If there's an el then it's not for the section div
268
  if ( ! isset( $row_option['affect_on_change_el'] ) ) {
269
 
270
  // The CSS rules
325
 
326
  }
327
 
328
+ }
329
 
330
  }
331
 
includes/row-system/inc/options.php CHANGED
@@ -6,13 +6,13 @@
6
  * - dslc_row_register_options ( Register options )
7
  */
8
 
9
-
10
  /**
11
  * Register Options
12
  *
13
  * @since 1.0
14
  */
15
-
16
  function dslc_row_register_options() {
17
 
18
  global $dslc_var_row_options;
@@ -235,7 +235,7 @@
235
  'affect_on_change_el' => '.dslc-bg-video-overlay',
236
  'affect_on_change_rule' => 'background-color',
237
  );
238
-
239
  $dslc_var_row_options['bg_video_overlay_opacity'] = array(
240
  'id' => 'bg_video_overlay_opacity',
241
  'std' => '0',
6
  * - dslc_row_register_options ( Register options )
7
  */
8
 
9
+
10
  /**
11
  * Register Options
12
  *
13
  * @since 1.0
14
  */
15
+
16
  function dslc_row_register_options() {
17
 
18
  global $dslc_var_row_options;
235
  'affect_on_change_el' => '.dslc-bg-video-overlay',
236
  'affect_on_change_rule' => 'background-color',
237
  );
238
+
239
  $dslc_var_row_options['bg_video_overlay_opacity'] = array(
240
  'id' => 'bg_video_overlay_opacity',
241
  'std' => '0',
includes/scripts.php CHANGED
@@ -49,8 +49,8 @@ function dslc_load_scripts() {
49
 
50
  // Array of fonts available to be used in LC editor
51
  $fonts_array = array(
52
- 'regular' => array( "Georgia", "Times", "Arial", "Lucida Sans Unicode", "Tahoma", "Trebuchet MS", "Verdana", "Helvetica" ),
53
- 'google' => array( "ABeeZee","Abel","Abril Fatface","Aclonica","Acme","Actor","Adamina","Advent Pro","Aguafina Script","Akronim","Aladin","Aldrich","Alef","Alegreya","Alegreya SC","Alex Brush","Alfa Slab One","Alice","Alike","Alike Angular","Allan","Allerta","Allerta Stencil","Allura","Almendra","Almendra Display","Almendra SC","Amarante","Amaranth","Amatic SC","Amethysta","Anaheim","Andada","Andika","Annie Use Your Telescope","Anonymous Pro","Antic","Antic Didone","Antic Slab","Anton","Arapey","Arbutus","Arbutus Slab","Architects Daughter","Archivo Black","Archivo Narrow","Arimo","Arizonia","Armata","Artifika","Arvo","Asap","Asset","Astloch","Asul","Atomic Age","Aubrey","Audiowide","Autour One","Average","Average Sans","Averia Gruesa Libre","Averia Libre","Averia Sans Libre","Averia Serif Libre","Bad Script","Balthazar","Bangers","Basic","Baumans","Belgrano","Belleza","BenchNine","Bentham","Berkshire Swash","Bevan","Bigelow Rules","Bigshot One","Bilbo","Bilbo Swash Caps","Bitter","Black Ops One","Bonbon","Boogaloo","Bowlby One","Bowlby One SC","Brawler","Bree Serif","Bubblegum Sans","Bubbler One","Buda","Buenard","Butcherman","Butterfly Kids","Cabin","Cabin Condensed","Cabin Sketch","Caesar Dressing","Cagliostro","Calligraffitti","Cambo","Candal","Cantarell","Cantata One","Cantora One","Capriola","Cardo","Carme","Carrois Gothic","Carrois Gothic SC","Carter One","Caudex","Cedarville Cursive","Ceviche One","Changa One","Chango","Chau Philomene One","Chela One","Chelsea Market","Cherry Cream Soda","Cherry Swash","Chewy","Chicle","Chivo","Cinzel","Cinzel Decorative","Clicker Script","Coda","Coda Caption","Codystar","Combo","Comfortaa","Coming Soon","Concert One","Condiment","Contrail One","Convergence","Cookie","Copse","Corben","Courgette","Cousine","Coustard","Covered By Your Grace","Crafty Girls","Creepster","Crete Round","Crimson Text","Croissant One","Crushed","Cuprum","Cutive","Cutive Mono","Damion","Dancing Script", "Dawning of a New Day","Days One","Delius","Delius Swash Caps","Delius Unicase","Della Respira","Denk One","Devonshire","Didact Gothic","Diplomata","Diplomata SC","Domine","Donegal One","Doppio One","Dorsa","Dosis","Dr Sugiyama","Droid Sans","Droid Sans Mono","Droid Serif","Duru Sans","Dynalight","Eagle Lake","Eater","EB Garamond","Economica","Electrolize","Elsie","Elsie Swash Caps","Emblema One","Emilys Candy","Engagement","Englebert","Enriqueta","Erica One","Esteban","Euphoria Script","Ewert","Exo","Expletus Sans","Fanwood Text","Fascinate","Fascinate Inline","Faster One","Fauna One","Federant","Federo","Felipa","Fenix","Finger Paint","Fjalla One","Fjord One","Flamenco","Flavors","Fondamento","Fontdiner Swanky","Forum","Francois One","Freckle Face","Fredericka the Great","Fredoka One","Fresca","Frijole","Fruktur","Fugaz One","Gabriela","Gafata","Galdeano","Galindo","Gentium Basic","Gentium Book Basic","Geo","Geostar","Geostar Fill","Germania One","GFS Didot","GFS Neohellenic","Gilda Display","Give You Glory","Glass Antiqua","Glegoo","Gloria Hallelujah","Goblin One","Gochi Hand","Gorditas","Goudy Bookletter 1911","Graduate","Grand Hotel","Gravitas One","Great Vibes","Griffy","Gruppo","Gudea","Habibi","Hammersmith One","Hanalei","Hanalei Fill","Handlee","Happy Monkey","Headland One","Henny Penny","Herr Von Muellerhoff","Holtwood One SC","Homemade Apple","Homenaje","Iceberg","Iceland","IM Fell Double Pica","IM Fell Double Pica SC","IM Fell DW Pica","IM Fell DW Pica SC","IM Fell English","IM Fell English SC","IM Fell French Canon","IM Fell French Canon SC","IM Fell Great Primer","IM Fell Great Primer SC","Imprima","Inconsolata","Inder","Indie Flower","Inika","Irish Grover","Istok Web","Italiana","Italianno","Jacques Francois","Jacques Francois Shadow","Jim Nightshade","Jockey One","Jolly Lodger","Josefin Sans","Josefin Slab","Joti One","Judson","Julee","Julius Sans One","Junge","Jura","Just Another Hand","Just Me Again Down Here","Kameron","Karla","Kaushan Script","Kavoon","Keania One","Kelly Slab","Kenia","Kite One","Knewave","Kotta One","Kranky","Kreon","Kristi","Krona One","La Belle Aurore","Lancelot","Lato","League Script","Leckerli One","Ledger","Lekton","Lemon","Libre Baskerville","Life Savers","Lilita One","Lily Script One","Limelight","Linden Hill","Lobster","Lobster Two","Londrina Outline","Londrina Shadow","Londrina Sketch","Londrina Solid","Lora","Love Ya Like A Sister","Loved by the King","Lovers Quarrel","Luckiest Guy","Lusitana","Lustria","Macondo","Macondo Swash Caps","Magra","Maiden Orange","Mako","Marcellus","Marcellus SC","Marck Script","Margarine","Marko One","Marmelad","Marvel","Mate","Mate SC","Maven Pro","McLaren","Meddon","MedievalSharp","Medula One","Megrim","Meie Script","Merienda","Merienda One","Merriweather","Merriweather Sans","Metal Mania","Metamorphous","Metrophobic","Michroma","Milonga","Miltonian","Miltonian Tattoo","Miniver","Miss Fajardose","Modern Antiqua","Molengo","Molle","Monda","Monofett","Monoton","Monsieur La Doulaise","Montaga","Montez","Montserrat","Montserrat Alternates","Montserrat Subrayada","Mountains of Christmas","Mouse Memoirs","Mr Bedfort","Mr Dafoe","Mr De Haviland","Mrs Saint Delafield","Mrs Sheppards","Muli","Mystery Quest","Neucha","Neuton","New Rocker","News Cycle","Niconne","Nixie One","Nobile","Norican","Nosifer","Nothing You Could Do","Noticia Text","Noto Sans","Noto Serif","Nova Cut","Nova Flat","Nova Mono","Nova Oval","Nova Round","Nova Script","Nova Slim","Nova Square","Numans","Nunito","Offside","Old Standard TT","Oldenburg","Oleo Script","Oleo Script Swash Caps","Open Sans","Open Sans Condensed","Oranienbaum","Orbitron","Oregano","Orienta","Original Surfer","Oswald","Over the Rainbow","Overlock","Overlock SC","Ovo","Oxygen","Oxygen Mono","Pacifico","Paprika","Parisienne","Passero One","Passion One","Pathway Gothic One","Patrick Hand","Patrick Hand SC","Patua One","Paytone One","Peralta","Permanent Marker","Petit Formal Script","Petrona","Philosopher","Piedra","Pinyon Script","Pirata One","Plaster","Play","Playball","Playfair Display","Playfair Display SC","Podkova","Poiret One","Poller One","Poly","Pompiere","Pontano Sans","Poppins","Port Lligat Sans","Port Lligat Slab","Prata","Press Start 2P","Princess Sofia","Prociono","Prosto One","PT Mono","PT Sans","PT Sans Caption","PT Sans Narrow","PT Serif","PT Serif Caption","Puritan","Purple Purse","Quando","Quantico","Quattrocento","Quattrocento Sans","Questrial","Quicksand","Quintessential","Qwigley","Racing Sans One","Radley","Raleway","Raleway Dots","Rambla","Rammetto One","Ranchers","Rancho","Rationale","Redressed","Reenie Beanie","Revalia","Ribeye","Ribeye Marrow","Righteous","Risque","Roboto","Roboto Condensed","Roboto Slab","Rochester","Rock Salt","Rokkitt","Romanesco","Ropa Sans","Rosario","Rosarivo","Rouge Script","Ruda","Rufina","Ruge Boogie","Ruluko","Rum Raisin","Ruslan Display","Russo One","Ruthie","Rye","Sacramento","Sail","Salsa","Sanchez","Sancreek","Sansita One","Sarina","Satisfy","Scada","Schoolbell","Seaweed Script","Sevillana","Seymour One","Shadows Into Light","Shadows Into Light Two","Shanti","Share","Share Tech","Share Tech Mono","Shojumaru","Short Stack","Sigmar One","Signika","Signika Negative","Simonetta","Sintony","Sirin Stencil","Six Caps","Skranji","Slackey","Smokum","Smythe","Sniglet","Snippet","Snowburst One","Sofadi One","Sofia","Sonsie One","Sorts Mill Goudy","Source Code Pro","Source Sans Pro","Special Elite","Spicy Rice","Spinnaker","Spirax","Squada One","Stalemate","Stalinist One","Stardos Stencil","Stint Ultra Condensed","Stint Ultra Expanded","Stoke","Strait","Sue Ellen Francisco","Sunshiney","Supermercado One","Swanky and Moo Moo","Syncopate","Tangerine","Tauri","Telex","Tenor Sans","Text Me One","The Girl Next Door","Tienne","Tinos","Titan One","Titillium Web","Trade Winds","Trocchi","Trochut","Trykker","Tulpen One","Ubuntu","Ubuntu Condensed","Ubuntu Mono","Ultra","Uncial Antiqua","Underdog","Unica One","UnifrakturCook","UnifrakturMaguntia","Unkempt","Unlock","Unna","Vampiro One","Varela","Varela Round","Vast Shadow","Vibur","Vidaloka","Viga","Voces","Volkhov","Vollkorn","Voltaire","VT323","Waiting for the Sunrise","Wallpoet","Walter Turncoat","Warnes","Wellfleet","Wendy One","Wire One","Yanone Kaffeesatz","Yellowtail","Yeseva One","Yesteryear","Zeyada" ),
54
  );
55
 
56
  // Allow devs to alter available fonts
@@ -63,34 +63,34 @@ function dslc_load_scripts() {
63
  * CSS
64
  */
65
 
66
- if ( DS_LIVE_COMPOSER_LOAD_MINIFIED ) {
67
  wp_enqueue_style( 'dslc-main-css', DS_LIVE_COMPOSER_URL . 'css/main.min.css', array(), DS_LIVE_COMPOSER_VER );
68
- wp_enqueue_style( 'dslc-font-awesome', DS_LIVE_COMPOSER_URL . 'css/font-awesome.min.css', array(), DS_LIVE_COMPOSER_VER);
69
- wp_enqueue_style( 'dslc-modules-css', DS_LIVE_COMPOSER_URL . 'css/modules.min.css', array(), DS_LIVE_COMPOSER_VER);
70
  } else {
71
  wp_enqueue_style( 'dslc-main-css', DS_LIVE_COMPOSER_URL . 'css/main.css', array(), DS_LIVE_COMPOSER_VER );
72
- wp_enqueue_style( 'dslc-font-awesome', DS_LIVE_COMPOSER_URL . 'css/font-awesome.css', array(), DS_LIVE_COMPOSER_VER);
73
- wp_enqueue_style( 'dslc-modules-css', DS_LIVE_COMPOSER_URL . 'css/modules.css', array(), DS_LIVE_COMPOSER_VER);
74
  }
75
 
76
- wp_enqueue_style( 'dslc-plugins-css', DS_LIVE_COMPOSER_URL . 'css/plugins.css', array(), DS_LIVE_COMPOSER_VER);
77
 
78
  /**
79
  * JavaScript
80
  */
81
 
82
- wp_enqueue_script( 'dslc-plugins-js', DS_LIVE_COMPOSER_URL . 'js/plugins.js', array( 'jquery' ), DS_LIVE_COMPOSER_VER );
83
  wp_enqueue_script( 'wp-mediaelement' );
84
 
85
- if ( DS_LIVE_COMPOSER_LOAD_MINIFIED )
86
- wp_enqueue_script( 'dslc-main-js', DS_LIVE_COMPOSER_URL . 'js/main.min.js', array( 'jquery' ), DS_LIVE_COMPOSER_VER );
87
  else
88
- wp_enqueue_script( 'dslc-main-js', DS_LIVE_COMPOSER_URL . 'js/main.js', array( 'jquery' ), DS_LIVE_COMPOSER_VER );
89
 
90
  if ( is_ssl() ) {
91
- wp_localize_script( 'dslc-main-js', 'DSLCAjax', array( 'ajaxurl' => admin_url( 'admin-ajax.php', 'https' ) ) );
92
  } else {
93
- wp_localize_script( 'dslc-main-js', 'DSLCAjax', array( 'ajaxurl' => admin_url( 'admin-ajax.php', 'http' ) ) );
94
  }
95
 
96
  /**
@@ -106,8 +106,8 @@ function dslc_load_scripts() {
106
  */
107
 
108
  wp_enqueue_style( 'jquery-ui-slider' );
109
- wp_enqueue_style( 'dslc-builder-main-css', DS_LIVE_COMPOSER_URL . 'css/builder.main.css', array(), DS_LIVE_COMPOSER_VER);
110
- wp_enqueue_style( 'dslc-builder-plugins-css', DS_LIVE_COMPOSER_URL . 'css/builder.plugins.css', array(), DS_LIVE_COMPOSER_VER);
111
 
112
  /**
113
  * JavaScript
@@ -121,17 +121,17 @@ function dslc_load_scripts() {
121
  wp_enqueue_script( 'jquery-ui-slider' );
122
  wp_enqueue_script( 'wp-color-picker' );
123
  wp_enqueue_script( 'dslc-load-fonts', '//ajax.googleapis.com/ajax/libs/webfont/1/webfont.js' );
124
- wp_enqueue_script( 'dslc-builder-plugins-js', DS_LIVE_COMPOSER_URL . 'js/builder.plugins.js', array( 'jquery' ), DS_LIVE_COMPOSER_VER );
125
 
126
- if ( DS_LIVE_COMPOSER_LOAD_MINIFIED )
127
- wp_enqueue_script( 'dslc-builder-main-js', DS_LIVE_COMPOSER_URL . 'js/builder.main.min.js', array( 'jquery' ), DS_LIVE_COMPOSER_VER );
128
  else
129
- wp_enqueue_script( 'dslc-builder-main-js', DS_LIVE_COMPOSER_URL . 'js/builder.main.js', array( 'jquery' ), DS_LIVE_COMPOSER_VER );
130
 
131
  if ( is_ssl() ) {
132
- wp_localize_script( 'dslc-builder-main-js', 'DSLCAjax', array( 'ajaxurl' => admin_url( 'admin-ajax.php', 'https' ) ) );
133
  } else {
134
- wp_localize_script( 'dslc-builder-main-js', 'DSLCAjax', array( 'ajaxurl' => admin_url( 'admin-ajax.php', 'http' ) ) );
135
  }
136
  wp_localize_script( 'dslc-builder-main-js', 'DSLCString', $translation_array );
137
  wp_localize_script( 'dslc-builder-main-js', 'DSLCFonts', $fonts_array );
@@ -150,34 +150,40 @@ function dslc_load_scripts() {
150
 
151
  function dslc_load_admin_scripts( $hook ) {
152
 
153
- if ( ( $hook == 'post-new.php' || $hook == 'post.php' ) && DS_LIVE_COMPOSER_LOAD_MINIFIED ) {
154
- wp_enqueue_script( 'dslc-post-options-js-admin', DS_LIVE_COMPOSER_URL . 'includes/post-options-framework/js/main.min.js', array('jquery', 'jquery-ui-core', 'jquery-ui-datepicker'), DS_LIVE_COMPOSER_VER );
155
- if ( get_post_type( get_the_ID() ) == 'page' ) {
156
- wp_localize_script('dslc-post-options-js-admin', 'tabData', array( 'tabTitle' => __('Page Builder', 'live-composer-page-builder') ));
157
- }
158
- wp_enqueue_style( 'jquery-ui-datepicker', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/themes/smoothness/jquery-ui.css' );
159
- wp_enqueue_style( 'dslc-post-options-css-admin', DS_LIVE_COMPOSER_URL . 'includes/post-options-framework/css/main.min.css', array(), DS_LIVE_COMPOSER_VER);
160
- } elseif ( $hook == 'post-new.php' || $hook == 'post.php' ) {
161
- wp_enqueue_script( 'dslc-post-options-js-admin', DS_LIVE_COMPOSER_URL . 'includes/post-options-framework/js/main.js', array('jquery', 'jquery-ui-core', 'jquery-ui-datepicker'), DS_LIVE_COMPOSER_VER );
162
- if ( get_post_type( get_the_ID() ) == 'page' ) {
163
- wp_localize_script('dslc-post-options-js-admin', 'tabData', array( 'tabTitle' => __('Page Builder', 'live-composer-page-builder') ));
 
 
 
 
 
 
 
 
 
 
164
  }
165
- wp_enqueue_style( 'jquery-ui-datepicker', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/themes/smoothness/jquery-ui.css' );
166
- wp_enqueue_style( 'dslc-post-options-css-admin', DS_LIVE_COMPOSER_URL . 'includes/post-options-framework/css/main.css', array(), DS_LIVE_COMPOSER_VER);
167
  }
168
 
169
- if ( ( strpos( $hook,'dslc_plugin_options') !== false || strpos( $hook,'dslc_getting_started') !== false ) && DS_LIVE_COMPOSER_LOAD_MINIFIED ) {
170
- wp_enqueue_script( 'dslc-plugin-options-js-admin', DS_LIVE_COMPOSER_URL . 'includes/plugin-options-framework/js/main.min.js', array( 'jquery' ), DS_LIVE_COMPOSER_VER );
171
- wp_enqueue_style( 'dslc-plugin-options-css-admin', DS_LIVE_COMPOSER_URL . 'includes/plugin-options-framework/css/main.min.css', array(), DS_LIVE_COMPOSER_VER);
172
- wp_localize_script( 'dslc-plugin-options-js-admin', 'dlscajax', array( 'nonce' => wp_create_nonce( 'dlscajax' ) ) );
173
- } elseif ( strpos( $hook,'dslc_plugin_options') !== false || strpos( $hook,'dslc_getting_started') !== false ) {
174
- wp_enqueue_script( 'dslc-plugin-options-js-admin', DS_LIVE_COMPOSER_URL . 'includes/plugin-options-framework/js/main.js', array( 'jquery' ), DS_LIVE_COMPOSER_VER );
175
- wp_enqueue_style( 'dslc-plugin-options-css-admin', DS_LIVE_COMPOSER_URL . 'includes/plugin-options-framework/css/main.css', array(), DS_LIVE_COMPOSER_VER);
176
- wp_localize_script( 'dslc-plugin-options-js-admin', 'dlscajax', array( 'nonce' => wp_create_nonce( 'dlscajax' ) ) );
177
  }
178
 
179
  // Yoast SEO
180
- if ( $hook == 'post-new.php' || $hook == 'post.php' && defined( 'WPSEO_VERSION' ) ) {
181
  wp_enqueue_script( 'dslc-yoast-seo-admin', DS_LIVE_COMPOSER_URL . 'js/yoast-seo.js', array(), DS_LIVE_COMPOSER_VER, true );
182
  }
183
 
@@ -204,15 +210,16 @@ function dslc_load_fonts() {
204
  } add_action( 'wp_enqueue_scripts', 'dslc_load_fonts' );
205
 
206
  /**
207
- * Load inline JS for the admin
208
  *
 
209
  */
210
 
211
- function dslc_load_admin_inline_js(){ ?>
212
  <script type="text/javascript">
213
  jQuery(document).ready(function($){
214
- jQuery('#page-builder-live-composer-drag-and-drop-website-builder-visual-front-end-site-editor .plugin-title strong').text('Live Composer');
215
  });
216
  </script>
217
  <?php }
218
- add_action( 'admin_footer-plugins.php', 'dslc_load_admin_inline_js' );
49
 
50
  // Array of fonts available to be used in LC editor
51
  $fonts_array = array(
52
+ 'regular' => array("Georgia", "Times", "Arial", "Lucida Sans Unicode", "Tahoma", "Trebuchet MS", "Verdana", "Helvetica"),
53
+ 'google' => array("ABeeZee", "Abel", "Abril Fatface", "Aclonica", "Acme", "Actor", "Adamina", "Advent Pro", "Aguafina Script", "Akronim", "Aladin", "Aldrich", "Alef", "Alegreya", "Alegreya SC", "Alex Brush", "Alfa Slab One", "Alice", "Alike", "Alike Angular", "Allan", "Allerta", "Allerta Stencil", "Allura", "Almendra", "Almendra Display", "Almendra SC", "Amarante", "Amaranth", "Amatic SC", "Amethysta", "Anaheim", "Andada", "Andika", "Annie Use Your Telescope", "Anonymous Pro", "Antic", "Antic Didone", "Antic Slab", "Anton", "Arapey", "Arbutus", "Arbutus Slab", "Architects Daughter", "Archivo Black", "Archivo Narrow", "Arimo", "Arizonia", "Armata", "Artifika", "Arvo", "Asap", "Asset", "Astloch", "Asul", "Atomic Age", "Aubrey", "Audiowide", "Autour One", "Average", "Average Sans", "Averia Gruesa Libre", "Averia Libre", "Averia Sans Libre", "Averia Serif Libre", "Bad Script", "Balthazar", "Bangers", "Basic", "Baumans", "Belgrano", "Belleza", "BenchNine", "Bentham", "Berkshire Swash", "Bevan", "Bigelow Rules", "Bigshot One", "Bilbo", "Bilbo Swash Caps", "Bitter", "Black Ops One", "Bonbon", "Boogaloo", "Bowlby One", "Bowlby One SC", "Brawler", "Bree Serif", "Bubblegum Sans", "Bubbler One", "Buda", "Buenard", "Butcherman", "Butterfly Kids", "Cabin", "Cabin Condensed", "Cabin Sketch", "Caesar Dressing", "Cagliostro", "Calligraffitti", "Cambo", "Candal", "Cantarell", "Cantata One", "Cantora One", "Capriola", "Cardo", "Carme", "Carrois Gothic", "Carrois Gothic SC", "Carter One", "Caudex", "Cedarville Cursive", "Ceviche One", "Changa One", "Chango", "Chau Philomene One", "Chela One", "Chelsea Market", "Cherry Cream Soda", "Cherry Swash", "Chewy", "Chicle", "Chivo", "Cinzel", "Cinzel Decorative", "Clicker Script", "Coda", "Coda Caption", "Codystar", "Combo", "Comfortaa", "Coming Soon", "Concert One", "Condiment", "Contrail One", "Convergence", "Cookie", "Copse", "Corben", "Courgette", "Cousine", "Coustard", "Covered By Your Grace", "Crafty Girls", "Creepster", "Crete Round", "Crimson Text", "Croissant One", "Crushed", "Cuprum", "Cutive", "Cutive Mono", "Damion", "Dancing Script", "Dawning of a New Day", "Days One", "Delius", "Delius Swash Caps", "Delius Unicase", "Della Respira", "Denk One", "Devonshire", "Didact Gothic", "Diplomata", "Diplomata SC", "Domine", "Donegal One", "Doppio One", "Dorsa", "Dosis", "Dr Sugiyama", "Droid Sans", "Droid Sans Mono", "Droid Serif", "Duru Sans", "Dynalight", "Eagle Lake", "Eater", "EB Garamond", "Economica", "Electrolize", "Elsie", "Elsie Swash Caps", "Emblema One", "Emilys Candy", "Engagement", "Englebert", "Enriqueta", "Erica One", "Esteban", "Euphoria Script", "Ewert", "Exo", "Expletus Sans", "Fanwood Text", "Fascinate", "Fascinate Inline", "Faster One", "Fauna One", "Federant", "Federo", "Felipa", "Fenix", "Finger Paint", "Fjalla One", "Fjord One", "Flamenco", "Flavors", "Fondamento", "Fontdiner Swanky", "Forum", "Francois One", "Freckle Face", "Fredericka the Great", "Fredoka One", "Fresca", "Frijole", "Fruktur", "Fugaz One", "Gabriela", "Gafata", "Galdeano", "Galindo", "Gentium Basic", "Gentium Book Basic", "Geo", "Geostar", "Geostar Fill", "Germania One", "GFS Didot", "GFS Neohellenic", "Gilda Display", "Give You Glory", "Glass Antiqua", "Glegoo", "Gloria Hallelujah", "Goblin One", "Gochi Hand", "Gorditas", "Goudy Bookletter 1911", "Graduate", "Grand Hotel", "Gravitas One", "Great Vibes", "Griffy", "Gruppo", "Gudea", "Habibi", "Hammersmith One", "Hanalei", "Hanalei Fill", "Handlee", "Happy Monkey", "Headland One", "Henny Penny", "Herr Von Muellerhoff", "Holtwood One SC", "Homemade Apple", "Homenaje", "Iceberg", "Iceland", "IM Fell Double Pica", "IM Fell Double Pica SC", "IM Fell DW Pica", "IM Fell DW Pica SC", "IM Fell English", "IM Fell English SC", "IM Fell French Canon", "IM Fell French Canon SC", "IM Fell Great Primer", "IM Fell Great Primer SC", "Imprima", "Inconsolata", "Inder", "Indie Flower", "Inika", "Irish Grover", "Istok Web", "Italiana", "Italianno", "Jacques Francois", "Jacques Francois Shadow", "Jim Nightshade", "Jockey One", "Jolly Lodger", "Josefin Sans", "Josefin Slab", "Joti One", "Judson", "Julee", "Julius Sans One", "Junge", "Jura", "Just Another Hand", "Just Me Again Down Here", "Kameron", "Karla", "Kaushan Script", "Kavoon", "Keania One", "Kelly Slab", "Kenia", "Kite One", "Knewave", "Kotta One", "Kranky", "Kreon", "Kristi", "Krona One", "La Belle Aurore", "Lancelot", "Lato", "League Script", "Leckerli One", "Ledger", "Lekton", "Lemon", "Libre Baskerville", "Life Savers", "Lilita One", "Lily Script One", "Limelight", "Linden Hill", "Lobster", "Lobster Two", "Londrina Outline", "Londrina Shadow", "Londrina Sketch", "Londrina Solid", "Lora", "Love Ya Like A Sister", "Loved by the King", "Lovers Quarrel", "Luckiest Guy", "Lusitana", "Lustria", "Macondo", "Macondo Swash Caps", "Magra", "Maiden Orange", "Mako", "Marcellus", "Marcellus SC", "Marck Script", "Margarine", "Marko One", "Marmelad", "Marvel", "Mate", "Mate SC", "Maven Pro", "McLaren", "Meddon", "MedievalSharp", "Medula One", "Megrim", "Meie Script", "Merienda", "Merienda One", "Merriweather", "Merriweather Sans", "Metal Mania", "Metamorphous", "Metrophobic", "Michroma", "Milonga", "Miltonian", "Miltonian Tattoo", "Miniver", "Miss Fajardose", "Modern Antiqua", "Molengo", "Molle", "Monda", "Monofett", "Monoton", "Monsieur La Doulaise", "Montaga", "Montez", "Montserrat", "Montserrat Alternates", "Montserrat Subrayada", "Mountains of Christmas", "Mouse Memoirs", "Mr Bedfort", "Mr Dafoe", "Mr De Haviland", "Mrs Saint Delafield", "Mrs Sheppards", "Muli", "Mystery Quest", "Neucha", "Neuton", "New Rocker", "News Cycle", "Niconne", "Nixie One", "Nobile", "Norican", "Nosifer", "Nothing You Could Do", "Noticia Text", "Noto Sans", "Noto Serif", "Nova Cut", "Nova Flat", "Nova Mono", "Nova Oval", "Nova Round", "Nova Script", "Nova Slim", "Nova Square", "Numans", "Nunito", "Offside", "Old Standard TT", "Oldenburg", "Oleo Script", "Oleo Script Swash Caps", "Open Sans", "Open Sans Condensed", "Oranienbaum", "Orbitron", "Oregano", "Orienta", "Original Surfer", "Oswald", "Over the Rainbow", "Overlock", "Overlock SC", "Ovo", "Oxygen", "Oxygen Mono", "Pacifico", "Paprika", "Parisienne", "Passero One", "Passion One", "Pathway Gothic One", "Patrick Hand", "Patrick Hand SC", "Patua One", "Paytone One", "Peralta", "Permanent Marker", "Petit Formal Script", "Petrona", "Philosopher", "Piedra", "Pinyon Script", "Pirata One", "Plaster", "Play", "Playball", "Playfair Display", "Playfair Display SC", "Podkova", "Poiret One", "Poller One", "Poly", "Pompiere", "Pontano Sans", "Poppins", "Port Lligat Sans", "Port Lligat Slab", "Prata", "Press Start 2P", "Princess Sofia", "Prociono", "Prosto One", "PT Mono", "PT Sans", "PT Sans Caption", "PT Sans Narrow", "PT Serif", "PT Serif Caption", "Puritan", "Purple Purse", "Quando", "Quantico", "Quattrocento", "Quattrocento Sans", "Questrial", "Quicksand", "Quintessential", "Qwigley", "Racing Sans One", "Radley", "Raleway", "Raleway Dots", "Rambla", "Rammetto One", "Ranchers", "Rancho", "Rationale", "Redressed", "Reenie Beanie", "Revalia", "Ribeye", "Ribeye Marrow", "Righteous", "Risque", "Roboto", "Roboto Condensed", "Roboto Slab", "Rochester", "Rock Salt", "Rokkitt", "Romanesco", "Ropa Sans", "Rosario", "Rosarivo", "Rouge Script", "Ruda", "Rufina", "Ruge Boogie", "Ruluko", "Rum Raisin", "Ruslan Display", "Russo One", "Ruthie", "Rye", "Sacramento", "Sail", "Salsa", "Sanchez", "Sancreek", "Sansita One", "Sarina", "Satisfy", "Scada", "Schoolbell", "Seaweed Script", "Sevillana", "Seymour One", "Shadows Into Light", "Shadows Into Light Two", "Shanti", "Share", "Share Tech", "Share Tech Mono", "Shojumaru", "Short Stack", "Sigmar One", "Signika", "Signika Negative", "Simonetta", "Sintony", "Sirin Stencil", "Six Caps", "Skranji", "Slackey", "Smokum", "Smythe", "Sniglet", "Snippet", "Snowburst One", "Sofadi One", "Sofia", "Sonsie One", "Sorts Mill Goudy", "Source Code Pro", "Source Sans Pro", "Special Elite", "Spicy Rice", "Spinnaker", "Spirax", "Squada One", "Stalemate", "Stalinist One", "Stardos Stencil", "Stint Ultra Condensed", "Stint Ultra Expanded", "Stoke", "Strait", "Sue Ellen Francisco", "Sunshiney", "Supermercado One", "Swanky and Moo Moo", "Syncopate", "Tangerine", "Tauri", "Telex", "Tenor Sans", "Text Me One", "The Girl Next Door", "Tienne", "Tinos", "Titan One", "Titillium Web", "Trade Winds", "Trocchi", "Trochut", "Trykker", "Tulpen One", "Ubuntu", "Ubuntu Condensed", "Ubuntu Mono", "Ultra", "Uncial Antiqua", "Underdog", "Unica One", "UnifrakturCook", "UnifrakturMaguntia", "Unkempt", "Unlock", "Unna", "Vampiro One", "Varela", "Varela Round", "Vast Shadow", "Vibur", "Vidaloka", "Viga", "Voces", "Volkhov", "Vollkorn", "Voltaire", "VT323", "Waiting for the Sunrise", "Wallpoet", "Walter Turncoat", "Warnes", "Wellfleet", "Wendy One", "Wire One", "Yanone Kaffeesatz", "Yellowtail", "Yeseva One", "Yesteryear", "Zeyada"),
54
  );
55
 
56
  // Allow devs to alter available fonts
63
  * CSS
64
  */
65
 
66
+ if ( ! SCRIPT_DEBUG ) {
67
  wp_enqueue_style( 'dslc-main-css', DS_LIVE_COMPOSER_URL . 'css/main.min.css', array(), DS_LIVE_COMPOSER_VER );
68
+ wp_enqueue_style( 'dslc-font-awesome', DS_LIVE_COMPOSER_URL . 'css/font-awesome.min.css', array(), DS_LIVE_COMPOSER_VER );
69
+ wp_enqueue_style( 'dslc-modules-css', DS_LIVE_COMPOSER_URL . 'css/modules.min.css', array(), DS_LIVE_COMPOSER_VER );
70
  } else {
71
  wp_enqueue_style( 'dslc-main-css', DS_LIVE_COMPOSER_URL . 'css/main.css', array(), DS_LIVE_COMPOSER_VER );
72
+ wp_enqueue_style( 'dslc-font-awesome', DS_LIVE_COMPOSER_URL . 'css/font-awesome.css', array(), DS_LIVE_COMPOSER_VER );
73
+ wp_enqueue_style( 'dslc-modules-css', DS_LIVE_COMPOSER_URL . 'css/modules.css', array(), DS_LIVE_COMPOSER_VER );
74
  }
75
 
76
+ wp_enqueue_style( 'dslc-plugins-css', DS_LIVE_COMPOSER_URL . 'css/plugins.css', array(), DS_LIVE_COMPOSER_VER );
77
 
78
  /**
79
  * JavaScript
80
  */
81
 
82
+ wp_enqueue_script( 'dslc-plugins-js', DS_LIVE_COMPOSER_URL . 'js/plugins.js', array('jquery'), DS_LIVE_COMPOSER_VER );
83
  wp_enqueue_script( 'wp-mediaelement' );
84
 
85
+ if ( ! SCRIPT_DEBUG )
86
+ wp_enqueue_script( 'dslc-main-js', DS_LIVE_COMPOSER_URL . 'js/main.min.js', array('jquery'), DS_LIVE_COMPOSER_VER );
87
  else
88
+ wp_enqueue_script( 'dslc-main-js', DS_LIVE_COMPOSER_URL . 'js/main.js', array('jquery'), DS_LIVE_COMPOSER_VER );
89
 
90
  if ( is_ssl() ) {
91
+ wp_localize_script( 'dslc-main-js', 'DSLCAjax', array('ajaxurl' => admin_url( 'admin-ajax.php', 'https' )) );
92
  } else {
93
+ wp_localize_script( 'dslc-main-js', 'DSLCAjax', array('ajaxurl' => admin_url( 'admin-ajax.php', 'http' )) );
94
  }
95
 
96
  /**
106
  */
107
 
108
  wp_enqueue_style( 'jquery-ui-slider' );
109
+ wp_enqueue_style( 'dslc-builder-main-css', DS_LIVE_COMPOSER_URL . 'css/builder.main.css', array(), DS_LIVE_COMPOSER_VER );
110
+ wp_enqueue_style( 'dslc-builder-plugins-css', DS_LIVE_COMPOSER_URL . 'css/builder.plugins.css', array(), DS_LIVE_COMPOSER_VER );
111
 
112
  /**
113
  * JavaScript
121
  wp_enqueue_script( 'jquery-ui-slider' );
122
  wp_enqueue_script( 'wp-color-picker' );
123
  wp_enqueue_script( 'dslc-load-fonts', '//ajax.googleapis.com/ajax/libs/webfont/1/webfont.js' );
124
+ wp_enqueue_script( 'dslc-builder-plugins-js', DS_LIVE_COMPOSER_URL . 'js/builder.plugins.js', array('jquery'), DS_LIVE_COMPOSER_VER );
125
 
126
+ if ( ! SCRIPT_DEBUG )
127
+ wp_enqueue_script( 'dslc-builder-main-js', DS_LIVE_COMPOSER_URL . 'js/builder.main.min.js', array('jquery'), DS_LIVE_COMPOSER_VER );
128
  else
129
+ wp_enqueue_script( 'dslc-builder-main-js', DS_LIVE_COMPOSER_URL . 'js/builder.main.js', array('jquery'), DS_LIVE_COMPOSER_VER );
130
 
131
  if ( is_ssl() ) {
132
+ wp_localize_script( 'dslc-builder-main-js', 'DSLCAjax', array('ajaxurl' => admin_url( 'admin-ajax.php', 'https' )) );
133
  } else {
134
+ wp_localize_script( 'dslc-builder-main-js', 'DSLCAjax', array('ajaxurl' => admin_url( 'admin-ajax.php', 'http' )) );
135
  }
136
  wp_localize_script( 'dslc-builder-main-js', 'DSLCString', $translation_array );
137
  wp_localize_script( 'dslc-builder-main-js', 'DSLCFonts', $fonts_array );
150
 
151
  function dslc_load_admin_scripts( $hook ) {
152
 
153
+ // Check if current screen is post editing
154
+ $current_screen = '';
155
+
156
+ if ( $hook == 'post-new.php' || $hook == 'post.php' ) {
157
+ $current_screen = 'post-editing';
158
+ }
159
+
160
+ if ( strpos( $hook, 'dslc_plugin_options' ) !== false || strpos( $hook, 'dslc_getting_started' ) !== false ) {
161
+ $current_screen = 'dslc-options';
162
+ }
163
+
164
+ // Load minimized scripts and css resources
165
+ $min_suffix = '';
166
+ if ( ! SCRIPT_DEBUG ) {
167
+ $min_suffix = '.min';
168
+ }
169
+
170
+ if ( $current_screen == 'post-editing' ) {
171
+ wp_enqueue_script( 'dslc-post-options-js-admin', DS_LIVE_COMPOSER_URL . 'includes/post-options-framework/js/main' . $min_suffix . '.js', array('jquery', 'jquery-ui-core', 'jquery-ui-datepicker'), DS_LIVE_COMPOSER_VER );
172
+ if ( get_post_type( get_the_ID() ) == 'page' && $hook == 'post.php' ) {
173
+ wp_localize_script( 'dslc-post-options-js-admin', 'tabData', array('tabTitle' => __( 'Page Builder', 'live-composer-page-builder' )) );
174
  }
175
+ wp_enqueue_style( 'jquery-ui-datepicker', '//ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/themes/smoothness/jquery-ui.css' );
176
+ wp_enqueue_style( 'dslc-post-options-css-admin', DS_LIVE_COMPOSER_URL . 'includes/post-options-framework/css/main' . $min_suffix . '.css', array(), DS_LIVE_COMPOSER_VER );
177
  }
178
 
179
+ if ( $current_screen == 'dslc-options' ) {
180
+ wp_enqueue_script( 'dslc-plugin-options-js-admin', DS_LIVE_COMPOSER_URL . 'includes/plugin-options-framework/js/main' . $min_suffix . '.js', array('jquery'), DS_LIVE_COMPOSER_VER );
181
+ wp_enqueue_style( 'dslc-plugin-options-css-admin', DS_LIVE_COMPOSER_URL . 'includes/plugin-options-framework/css/main' . $min_suffix . '.css', array(), DS_LIVE_COMPOSER_VER );
182
+ wp_localize_script( 'dslc-plugin-options-js-admin', 'dslcajax', array('nonce' => wp_create_nonce( 'dslc-optionspanel-ajax' )) );
 
 
 
 
183
  }
184
 
185
  // Yoast SEO
186
+ if ( $current_screen == 'post-editing' && defined( 'WPSEO_VERSION' ) ) {
187
  wp_enqueue_script( 'dslc-yoast-seo-admin', DS_LIVE_COMPOSER_URL . 'js/yoast-seo.js', array(), DS_LIVE_COMPOSER_VER, true );
188
  }
189
 
210
  } add_action( 'wp_enqueue_scripts', 'dslc_load_fonts' );
211
 
212
  /**
213
+ * Inline JS to shorten the plugin title in WP Admin
214
  *
215
+ * @since 1.0.7.2
216
  */
217
 
218
+ function dslc_inline_js_plugin_title() { ?>
219
  <script type="text/javascript">
220
  jQuery(document).ready(function($){
221
+ jQuery('.plugins [data-slug="live-composer-page-builder"] .plugin-title strong').text('Live Composer');
222
  });
223
  </script>
224
  <?php }
225
+ add_action( 'admin_footer-plugins.php', 'dslc_inline_js_plugin_title' );
includes/search-filter.php CHANGED
@@ -25,7 +25,7 @@ if ( ! function_exists( 'dslc_search_filter_join' ) ) {
25
  $join .= "JOIN $wpdb->postmeta ON $wpdb->posts.ID = $wpdb->postmeta.post_id ";
26
  }
27
 
28
- return $join;
29
 
30
  }
31
 
@@ -53,7 +53,7 @@ if( ! function_exists( 'dslc_search_filter_request' ) ) {
53
  // Get the usual WP checks like post status
54
  $end_pos_where = 5 + $last_occurence_position;
55
  $request_append = substr( $where, $end_pos_where );
56
-
57
  // Get the search term(s)
58
  $user_request = esc_sql( trim( $wp_query->query_vars['s'] ) );
59
 
@@ -66,12 +66,12 @@ if( ! function_exists( 'dslc_search_filter_request' ) ) {
66
  // Append the post value(s) in the request
67
  foreach ( $user_request_arr as $value ) {
68
  $where .= "AND " . $wpdb->postmeta . ".meta_value LIKE '%" . $value . "%' ";
69
- }
70
 
71
  // End with the usual WP checks like post status
72
  $where .= $request_append . ") ";
73
 
74
- }
75
 
76
  // Pass it back to WP
77
  return $where;
25
  $join .= "JOIN $wpdb->postmeta ON $wpdb->posts.ID = $wpdb->postmeta.post_id ";
26
  }
27
 
28
+ return $join;
29
 
30
  }
31
 
53
  // Get the usual WP checks like post status
54
  $end_pos_where = 5 + $last_occurence_position;
55
  $request_append = substr( $where, $end_pos_where );
56
+
57
  // Get the search term(s)
58
  $user_request = esc_sql( trim( $wp_query->query_vars['s'] ) );
59
 
66
  // Append the post value(s) in the request
67
  foreach ( $user_request_arr as $value ) {
68
  $where .= "AND " . $wpdb->postmeta . ".meta_value LIKE '%" . $value . "%' ";
69
+ }
70
 
71
  // End with the usual WP checks like post status
72
  $where .= $request_append . ") ";
73
 
74
+ }
75
 
76
  // Pass it back to WP
77
  return $where;
includes/shortcodes.php CHANGED
@@ -26,7 +26,7 @@ function dslc_sc_notification( $atts, $content ) {
26
  // Attributes
27
  extract( shortcode_atts( array(
28
  'color' => 'default',
29
- ), $atts));
30
 
31
  // Return notifaction HTML
32
  return '<div class="dslc-notification dslc-' . $color . '">' . $content . '<span class="dslc-notification-close"><span class="dslc-icon dslc-icon-remove-sign"></span></span></div>';
@@ -49,7 +49,7 @@ function dslc_sc_get_custom_field( $atts, $content ) {
49
  extract( shortcode_atts( array(
50
  'id' => false,
51
  'post_id' => false,
52
- ), $atts));
53
 
54
  // If no custom field ID return error message
55
  if ( ! $id )
@@ -101,7 +101,7 @@ function dslc_sc_icon( $atts, $content ) {
101
  // Attributes
102
  extract( shortcode_atts( array(
103
  'id' => false,
104
- ), $atts));
105
 
106
  // If no ID return empty
107
  if ( ! $id )
@@ -110,7 +110,7 @@ function dslc_sc_icon( $atts, $content ) {
110
  // Return Icon HTML
111
  return '<span class="dslc-icon dslc-icon-' . $id . ' dslc-icon-sc"></span>';
112
 
113
- } add_shortcode( 'dslc_icon', 'dslc_sc_icon' );
114
 
115
  /**
116
  * User Avatar Shortcode
@@ -130,17 +130,17 @@ function dslc_sc_user_avatar( $atts, $content ) {
130
  'size' => 100,
131
  'url' => false,
132
  'target' => '_self'
133
- ), $atts));
134
 
135
  // If URL not supplied return avatar HTML without link
136
  if ( ! $url ) {
137
  return '<span class="dslc-sc-user-avatar">' . get_avatar( get_current_user_id(), $size ) . '</span>';
138
  // If URL supplied wrap the avatar HTML in a link
139
  } else {
140
- return '<a href="' . $url . '" target="' . $target. '"><span class="dslc-sc-user-avatar">' . get_avatar( get_current_user_id(), $size ) . '</span></a>';
141
  }
142
 
143
- } add_shortcode( 'dslc_user_avatar', 'dslc_sc_user_avatar' );
144
 
145
  /**
146
  * Category Description Shortcode
@@ -157,17 +157,17 @@ function dslc_sc_category_description( $atts, $content ) {
157
  // Attributes
158
  extract( shortcode_atts( array(
159
  'category_ID' => false,
160
- ), $atts));
161
 
162
  // If category ID not supplied, get current category
163
  if ( ! $category_ID ) {
164
- $category_ID = get_query_var('cat');
165
  }
166
 
167
  // Get category description
168
  $category_description = category_description( $category_ID );
169
 
170
- // Placeholder description
171
  if ( ! is_category() && empty( $category_description ) && dslc_is_editor_active( 'access' ) ) {
172
  $category_description = __( 'Category description will be shown here.', 'live-composer-page-builder' );
173
  }
@@ -175,4 +175,4 @@ function dslc_sc_category_description( $atts, $content ) {
175
  // Return category description
176
  return $category_description;
177
 
178
- } add_shortcode( 'dslc_category_description', 'dslc_sc_category_description' );
26
  // Attributes
27
  extract( shortcode_atts( array(
28
  'color' => 'default',
29
+ ), $atts ) );
30
 
31
  // Return notifaction HTML
32
  return '<div class="dslc-notification dslc-' . $color . '">' . $content . '<span class="dslc-notification-close"><span class="dslc-icon dslc-icon-remove-sign"></span></span></div>';
49
  extract( shortcode_atts( array(
50
  'id' => false,
51
  'post_id' => false,
52
+ ), $atts ) );
53
 
54
  // If no custom field ID return error message
55
  if ( ! $id )
101
  // Attributes
102
  extract( shortcode_atts( array(
103
  'id' => false,
104
+ ), $atts ) );
105
 
106
  // If no ID return empty
107
  if ( ! $id )
110
  // Return Icon HTML
111
  return '<span class="dslc-icon dslc-icon-' . $id . ' dslc-icon-sc"></span>';
112
 
113
+ } add_shortcode( 'dslc_icon', 'dslc_sc_icon' );
114
 
115
  /**
116
  * User Avatar Shortcode
130
  'size' => 100,
131
  'url' => false,
132
  'target' => '_self'
133
+ ), $atts ) );
134
 
135
  // If URL not supplied return avatar HTML without link
136
  if ( ! $url ) {
137
  return '<span class="dslc-sc-user-avatar">' . get_avatar( get_current_user_id(), $size ) . '</span>';
138
  // If URL supplied wrap the avatar HTML in a link
139
  } else {
140
+ return '<a href="' . $url . '" target="' . $target . '"><span class="dslc-sc-user-avatar">' . get_avatar( get_current_user_id(), $size ) . '</span></a>';
141
  }
142
 
143
+ } add_shortcode( 'dslc_user_avatar', 'dslc_sc_user_avatar' );
144
 
145
  /**
146
  * Category Description Shortcode
157
  // Attributes
158
  extract( shortcode_atts( array(
159
  'category_ID' => false,
160
+ ), $atts ) );
161
 
162
  // If category ID not supplied, get current category
163
  if ( ! $category_ID ) {
164
+ $category_ID = get_query_var( 'cat' );
165
  }
166
 
167
  // Get category description
168
  $category_description = category_description( $category_ID );
169
 
170
+ // Placeholder description
171
  if ( ! is_category() && empty( $category_description ) && dslc_is_editor_active( 'access' ) ) {
172
  $category_description = __( 'Category description will be shown here.', 'live-composer-page-builder' );
173
  }
175
  // Return category description
176
  return $category_description;
177
 
178
+ } add_shortcode( 'dslc_category_description', 'dslc_sc_category_description' );
includes/single-templates-framework/inc/filters.php CHANGED
@@ -13,7 +13,7 @@ function dslc_st_template_switch() {
13
  // If the post is not supporting templates or it's not a template itself, stop execution
14
  if ( is_singular( $dslc_post_types ) || is_singular( 'dslc_templates' ) ) { } else {
15
  return;
16
- }
17
 
18
  // If the currently shown page is the template CPT
19
  if ( $post->post_type == 'dslc_templates' ) {
@@ -26,21 +26,21 @@ function dslc_st_template_switch() {
26
 
27
  // The template filename
28
  $templatefilename = 'dslc-single.php';
29
-
30
  // If the template file is in the theme
31
  if ( file_exists( TEMPLATEPATH . '/' . $templatefilename ) ) {
32
-
33
  $return_template = TEMPLATEPATH . '/' . $templatefilename;
34
-
35
  // If not in the theme use the default one from the plugin
36
  } else {
37
-
38
  $return_template = DS_LIVE_COMPOSER_ABS . '/templates/dslc-single.php';
39
  }
40
-
41
  // Redirect
42
  include( $return_template );
43
-
44
  // Bye bye
45
  exit();
46
 
@@ -56,7 +56,7 @@ function dslc_st_template_switch() {
56
 
57
  // If the post has specific template, set it in variable
58
  if ( $template_ID ) {
59
-
60
  $template_base = get_post_meta( $template_ID, 'dslc_template_base', true );
61
 
62
  // If the post does not have a specific template, just use regular base from theme
@@ -68,21 +68,21 @@ function dslc_st_template_switch() {
68
 
69
  // The template filename
70
  $templatefilename = 'dslc-single.php';
71
-
72
  // If the template file is in the theme
73
  if ( file_exists( TEMPLATEPATH . '/' . $templatefilename ) ) {
74
-
75
  $return_template = TEMPLATEPATH . '/' . $templatefilename;
76
-
77
  // If not in the theme use the default one from the plugin
78
  } else {
79
-
80
  $return_template = DS_LIVE_COMPOSER_ABS . '/templates/dslc-single.php';
81
  }
82
-
83
  // Redirect
84
  include( $return_template );
85
-
86
  // Bye bye
87
  exit();
88
 
@@ -92,7 +92,7 @@ function dslc_st_template_switch() {
92
 
93
  } add_action( 'template_redirect', 'dslc_st_template_switch' );
94
 
95
- function dslc_templates_col_title($defaults) {
96
 
97
  unset( $defaults['date'] );
98
  $defaults['dslc_templates_col_cpt'] = 'Post Type';
@@ -101,11 +101,11 @@ function dslc_templates_col_title($defaults) {
101
 
102
  }
103
 
104
- function dslc_templates_col_content($column_name, $post_ID) {
105
-
106
  if ( $column_name == 'dslc_templates_col_cpt' ) {
107
  echo get_post_meta( $post_ID, 'dslc_template_for', true );
108
- }
109
 
110
  if ( $column_name == 'dslc_templates_col_default' ) {
111
  if ( get_post_meta( $post_ID, 'dslc_template_type', true ) == 'default' )
@@ -114,8 +114,8 @@ function dslc_templates_col_content($column_name, $post_ID) {
114
 
115
  }
116
 
117
- add_filter( 'manage_dslc_templates_posts_columns', 'dslc_templates_col_title', 5);
118
- add_action( 'manage_dslc_templates_posts_custom_column', 'dslc_templates_col_content', 10, 2);
119
 
120
  /**
121
  * Makes sure there is only one default template per post type
@@ -143,12 +143,12 @@ function dslc_tp_unique_default( $post_id ) {
143
  'post_status' => 'any',
144
  'posts_per_page' => -1,
145
  'meta_query' => array(
146
- array (
147
  'key' => 'dslc_template_for',
148
  'value' => $_POST['dslc_template_for'],
149
  'compare' => '=',
150
  ),
151
- array (
152
  'key' => 'dslc_template_type',
153
  'value' => 'default',
154
  'compare' => '=',
@@ -160,7 +160,7 @@ function dslc_tp_unique_default( $post_id ) {
160
  // Set those old defaults to regular tempaltes
161
  if ( $templates ) {
162
  foreach ( $templates as $template ) {
163
- update_post_meta( $template->ID, 'dslc_template_type' , 'regular' );
164
  }
165
  }
166
 
13
  // If the post is not supporting templates or it's not a template itself, stop execution
14
  if ( is_singular( $dslc_post_types ) || is_singular( 'dslc_templates' ) ) { } else {
15
  return;
16
+ }
17
 
18
  // If the currently shown page is the template CPT
19
  if ( $post->post_type == 'dslc_templates' ) {
26
 
27
  // The template filename
28
  $templatefilename = 'dslc-single.php';
29
+
30
  // If the template file is in the theme
31
  if ( file_exists( TEMPLATEPATH . '/' . $templatefilename ) ) {
32
+
33
  $return_template = TEMPLATEPATH . '/' . $templatefilename;
34
+
35
  // If not in the theme use the default one from the plugin
36
  } else {
37
+
38
  $return_template = DS_LIVE_COMPOSER_ABS . '/templates/dslc-single.php';
39
  }
40
+
41
  // Redirect
42
  include( $return_template );
43
+
44
  // Bye bye
45
  exit();
46
 
56
 
57
  // If the post has specific template, set it in variable
58
  if ( $template_ID ) {
59
+
60
  $template_base = get_post_meta( $template_ID, 'dslc_template_base', true );
61
 
62
  // If the post does not have a specific template, just use regular base from theme
68
 
69
  // The template filename
70
  $templatefilename = 'dslc-single.php';
71
+
72
  // If the template file is in the theme
73
  if ( file_exists( TEMPLATEPATH . '/' . $templatefilename ) ) {
74
+
75
  $return_template = TEMPLATEPATH . '/' . $templatefilename;
76
+
77
  // If not in the theme use the default one from the plugin
78
  } else {
79
+
80
  $return_template = DS_LIVE_COMPOSER_ABS . '/templates/dslc-single.php';
81
  }
82
+
83
  // Redirect
84
  include( $return_template );
85
+
86
  // Bye bye
87
  exit();
88
 
92
 
93
  } add_action( 'template_redirect', 'dslc_st_template_switch' );
94
 
95
+ function dslc_templates_col_title( $defaults ) {
96
 
97
  unset( $defaults['date'] );
98
  $defaults['dslc_templates_col_cpt'] = 'Post Type';
101
 
102
  }
103
 
104
+ function dslc_templates_col_content( $column_name, $post_ID ) {
105
+
106
  if ( $column_name == 'dslc_templates_col_cpt' ) {
107
  echo get_post_meta( $post_ID, 'dslc_template_for', true );
108
+ }
109
 
110
  if ( $column_name == 'dslc_templates_col_default' ) {
111
  if ( get_post_meta( $post_ID, 'dslc_template_type', true ) == 'default' )
114
 
115
  }
116
 
117
+ add_filter( 'manage_dslc_templates_posts_columns', 'dslc_templates_col_title', 5 );
118
+ add_action( 'manage_dslc_templates_posts_custom_column', 'dslc_templates_col_content', 10, 2 );
119
 
120
  /**
121
  * Makes sure there is only one default template per post type
143
  'post_status' => 'any',
144
  'posts_per_page' => -1,
145
  'meta_query' => array(
146
+ array(
147
  'key' => 'dslc_template_for',
148
  'value' => $_POST['dslc_template_for'],
149
  'compare' => '=',
150
  ),
151
+ array(
152
  'key' => 'dslc_template_type',
153
  'value' => 'default',
154
  'compare' => '=',
160
  // Set those old defaults to regular tempaltes
161
  if ( $templates ) {
162
  foreach ( $templates as $template ) {
163
+ update_post_meta( $template->ID, 'dslc_template_type', 'regular' );
164
  }
165
  }
166
 
includes/single-templates-framework/inc/functions.php CHANGED
@@ -27,7 +27,7 @@ function dslc_st_init() {
27
  'parent' => __( 'Parent Template', 'live-composer-page-builder' ),
28
  ),
29
  'public' => true,
30
- 'supports' => array( 'title', 'custom-fields', 'thumbnail' ),
31
  'capabilities' => array(
32
  'publish_posts' => $capability,
33
  'edit_posts' => $capability,
@@ -39,10 +39,10 @@ function dslc_st_init() {
39
  'delete_post' => $capability,
40
  'read_post' => $capability
41
  ),
42
- ));
43
 
44
  global $dslc_var_post_options;
45
-
46
  // Generate the choices
47
  global $dslc_var_templates_pt;
48
  $pt_choices = array();
@@ -129,12 +129,12 @@ function dslc_st_get_template_ID( $post_ID ) {
129
  'post_status' => 'publish',
130
  'posts_per_page' => 1,
131
  'meta_query' => array(
132
- array (
133
  'key' => 'dslc_template_for',
134
  'value' => get_post_type( $post_ID ),
135
  'compare' => '=',
136
  ),
137
- array (
138
  'key' => 'dslc_template_type',
139
  'value' => 'default',
140
  'compare' => '=',
@@ -145,7 +145,7 @@ function dslc_st_get_template_ID( $post_ID ) {
145
  $tpls = get_posts( $args );
146
 
147
  // If default template found set the ID if not make it false
148
- if ( $tpls )
149
  $template_ID = $tpls[0]->ID;
150
  else
151
  $template_ID = false;
27
  'parent' => __( 'Parent Template', 'live-composer-page-builder' ),
28
  ),
29
  'public' => true,
30
+ 'supports' => array('title', 'custom-fields', 'thumbnail'),
31
  'capabilities' => array(
32
  'publish_posts' => $capability,
33
  'edit_posts' => $capability,
39
  'delete_post' => $capability,
40
  'read_post' => $capability
41
  ),
42
+ ) );
43
 
44
  global $dslc_var_post_options;
45
+
46
  // Generate the choices
47
  global $dslc_var_templates_pt;
48
  $pt_choices = array();
129
  'post_status' => 'publish',
130
  'posts_per_page' => 1,
131
  'meta_query' => array(
132
+ array(
133
  'key' => 'dslc_template_for',
134
  'value' => get_post_type( $post_ID ),
135
  'compare' => '=',
136
  ),
137
+ array(
138
  'key' => 'dslc_template_type',
139
  'value' => 'default',
140
  'compare' => '=',
145
  $tpls = get_posts( $args );
146
 
147
  // If default template found set the ID if not make it false
148
+ if ( $tpls )
149
  $template_ID = $tpls[0]->ID;
150
  else
151
  $template_ID = false;
includes/styling-presets.php CHANGED
@@ -28,7 +28,7 @@ function dslc_presets_load( $settings ) {
28
 
29
  // Go through all presets
30
  foreach ( $presets as $preset ) {
31
-
32
  // Find the correct preset
33
  if ( $preset['id'] == $preset_id )
34
  $preset_data = $preset;
@@ -82,12 +82,14 @@ function dslc_plugin_opts_presets() {
82
  $dslc_plugin_options['dslc_plugin_options_presets'] = array(
83
  'title' => __( 'Styling Presets', 'live-composer-page-builder' ),
84
  'options' => array(
 
85
  'lc_styling_presets' => array(
 
86
  'label' => __( 'Styling Presets', 'live-composer-page-builder' ),
87
  'std' => 'both',
88
  'type' => 'styling_presets',
89
  'descr' => __( 'Here you can delete styling presets.', 'live-composer-page-builder' ),
90
- ),
91
  )
92
  );
93
 
28
 
29
  // Go through all presets
30
  foreach ( $presets as $preset ) {
31
+
32
  // Find the correct preset
33
  if ( $preset['id'] == $preset_id )
34
  $preset_data = $preset;
82
  $dslc_plugin_options['dslc_plugin_options_presets'] = array(
83
  'title' => __( 'Styling Presets', 'live-composer-page-builder' ),
84
  'options' => array(
85
+
86
  'lc_styling_presets' => array(
87
+ 'name' => 'dslc_plugin_options_presets[lc_styling_presets]',
88
  'label' => __( 'Styling Presets', 'live-composer-page-builder' ),
89
  'std' => 'both',
90
  'type' => 'styling_presets',
91
  'descr' => __( 'Here you can delete styling presets.', 'live-composer-page-builder' ),
92
+ )
93
  )
94
  );
95
 
includes/tutorials/tutorial.php CHANGED
@@ -17,23 +17,23 @@
17
 
18
  function dslc_tut_load_scripts() {
19
 
 
 
 
 
 
 
 
20
  $tut_ch_one = dslc_get_option( 'lc_tut_chapter_one', 'dslc_plugin_options_tuts' );
21
  $tut_ch_two = dslc_get_option( 'lc_tut_chapter_two', 'dslc_plugin_options_tuts' );
22
  $tut_ch_three = dslc_get_option( 'lc_tut_chapter_three', 'dslc_plugin_options_tuts' );
23
  $tut_ch_four = dslc_get_option( 'lc_tut_chapter_four', 'dslc_plugin_options_tuts' );
24
 
25
- $tut_ids = array( $tut_ch_one, $tut_ch_two, $tut_ch_three, $tut_ch_four );
26
-
27
- if ( is_singular() && isset( $_GET['dslc'] ) && $_GET['dslc'] == 'active' && in_array( get_the_ID(), $tut_ids) ) {
28
-
29
- if ( DS_LIVE_COMPOSER_LOAD_MINIFIED ) {
30
- wp_enqueue_style( 'dslc-tut-css', DS_LIVE_COMPOSER_URL . 'includes/tutorials/tutorial.min.css', array(), DS_LIVE_COMPOSER_VER);
31
- wp_enqueue_script( 'dslc-tut-js', DS_LIVE_COMPOSER_URL . 'includes/tutorials/tutorial.min.js', array( 'jquery' ), DS_LIVE_COMPOSER_VER );
32
- } else {
33
- wp_enqueue_style( 'dslc-tut-css', DS_LIVE_COMPOSER_URL . 'includes/tutorials/tutorial.css', array(), DS_LIVE_COMPOSER_VER);
34
- wp_enqueue_script( 'dslc-tut-js', DS_LIVE_COMPOSER_URL . 'includes/tutorials/tutorial.js', array( 'jquery' ), DS_LIVE_COMPOSER_VER );
35
- }
36
 
 
 
 
37
  }
38
 
39
  } add_action( 'wp_enqueue_scripts', 'dslc_tut_load_scripts' );
@@ -52,13 +52,13 @@ function dslc_tut_modal() {
52
  $tut_ch_three = dslc_get_option( 'lc_tut_chapter_three', 'dslc_plugin_options_tuts' );
53
  $tut_ch_four = dslc_get_option( 'lc_tut_chapter_four', 'dslc_plugin_options_tuts' );
54
 
55
- $tut_ids = array( $tut_ch_one, $tut_ch_two, $tut_ch_three, $tut_ch_four );
56
 
57
- if ( is_singular() && isset( $_GET['dslc'] ) && $_GET['dslc'] == 'active' && in_array( get_the_ID(), $tut_ids) ) {
58
 
59
- $tut_ch_two_link = add_query_arg( array( 'dslc' => 'active' ), get_permalink( $tut_ch_two ) );
60
- $tut_ch_three_link = add_query_arg( array( 'dslc' => 'active' ), get_permalink( $tut_ch_three ) );
61
- $tut_ch_four_link = add_query_arg( array( 'dslc' => 'active' ), get_permalink( $tut_ch_four ) );
62
 
63
  ?>
64
  <input type="hidden" name="dslc_tut_settings" id="dslc_tut_settings" data-post-id="<?php echo get_the_ID(); ?>" />
@@ -93,7 +93,7 @@ function dslc_tut_options() {
93
  'value' => 'none'
94
  )
95
  );
96
- foreach( $pages as $page ) {
97
  $pages_opts[] = array(
98
  'label' => $page->post_title,
99
  'value' => $page->ID
17
 
18
  function dslc_tut_load_scripts() {
19
 
20
+ // Load minimized scripts and css resources
21
+ $min_suffix = '';
22
+
23
+ if ( SCRIPT_DEBUG ) {
24
+ $min_suffix = '.min';
25
+ }
26
+
27
  $tut_ch_one = dslc_get_option( 'lc_tut_chapter_one', 'dslc_plugin_options_tuts' );
28
  $tut_ch_two = dslc_get_option( 'lc_tut_chapter_two', 'dslc_plugin_options_tuts' );
29
  $tut_ch_three = dslc_get_option( 'lc_tut_chapter_three', 'dslc_plugin_options_tuts' );
30
  $tut_ch_four = dslc_get_option( 'lc_tut_chapter_four', 'dslc_plugin_options_tuts' );
31
 
32
+ $tut_ids = array($tut_ch_one, $tut_ch_two, $tut_ch_three, $tut_ch_four);
 
 
 
 
 
 
 
 
 
 
33
 
34
+ if ( is_singular() && isset( $_GET['dslc'] ) && $_GET['dslc'] == 'active' && in_array( get_the_ID(), $tut_ids ) ) {
35
+ wp_enqueue_style( 'dslc-tut-css', DS_LIVE_COMPOSER_URL . 'includes/tutorials/tutorial' . $min_suffix . '.css', array(), DS_LIVE_COMPOSER_VER );
36
+ wp_enqueue_script( 'dslc-tut-js', DS_LIVE_COMPOSER_URL . 'includes/tutorials/tutorial' . $min_suffix . '.js', array('jquery'), DS_LIVE_COMPOSER_VER );
37
  }
38
 
39
  } add_action( 'wp_enqueue_scripts', 'dslc_tut_load_scripts' );
52
  $tut_ch_three = dslc_get_option( 'lc_tut_chapter_three', 'dslc_plugin_options_tuts' );
53
  $tut_ch_four = dslc_get_option( 'lc_tut_chapter_four', 'dslc_plugin_options_tuts' );
54
 
55
+ $tut_ids = array($tut_ch_one, $tut_ch_two, $tut_ch_three, $tut_ch_four);
56
 
57
+ if ( is_singular() && isset( $_GET['dslc'] ) && $_GET['dslc'] == 'active' && in_array( get_the_ID(), $tut_ids ) ) {
58
 
59
+ $tut_ch_two_link = add_query_arg( array('dslc' => 'active'), get_permalink( $tut_ch_two ) );
60
+ $tut_ch_three_link = add_query_arg( array('dslc' => 'active'), get_permalink( $tut_ch_three ) );
61
+ $tut_ch_four_link = add_query_arg( array('dslc' => 'active'), get_permalink( $tut_ch_four ) );
62
 
63
  ?>
64
  <input type="hidden" name="dslc_tut_settings" id="dslc_tut_settings" data-post-id="<?php echo get_the_ID(); ?>" />
93
  'value' => 'none'
94
  )
95
  );
96
+ foreach ( $pages as $page ) {
97
  $pages_opts[] = array(
98
  'label' => $page->post_title,
99
  'value' => $page->ID
js/builder.main.js CHANGED
@@ -988,7 +988,7 @@ var dslcDebug = false;
988
  /*********************************
989
  *
990
  * 4) = UI - MODAL =
991
- * Note: Used only for the templates save/export/import at the moment.
992
  *
993
  * - dslc_show_modal ( Show Modal )
994
  * - dslc_hide_modal ( Hide Modal )
@@ -997,6 +997,9 @@ var dslcDebug = false;
997
 
998
  /**
999
  * MODAL - Show
 
 
 
1000
  */
1001
 
1002
  function dslc_show_modal( hook, modal ) {
@@ -1016,8 +1019,10 @@ var dslcDebug = false;
1016
 
1017
  // Show Modal
1018
  modal.css({ left : offset }).show();
 
1019
 
1020
  // Animate Modal
 
1021
  modal.css({
1022
  '-webkit-animation-name' : 'dslcBounceIn',
1023
  '-moz-animation-name' : 'dslcBounceIn',
@@ -1025,10 +1030,11 @@ var dslcDebug = false;
1025
  'animation-duration' : '0.6s',
1026
  '-webkit-animation-duration' : '0.6s'
1027
  }).fadeIn(600);
 
1028
 
1029
  }
1030
 
1031
- /**
1032
  * MODAL - Hide
1033
  */
1034
 
@@ -1040,6 +1046,9 @@ var dslcDebug = false;
1040
  var modal = jQuery(modal);
1041
 
1042
  // Hide ( with animation )
 
 
 
1043
  modal.css({
1044
  '-webkit-animation-name' : 'dslcBounceOut',
1045
  '-moz-animation-name' : 'dslcBounceOut',
@@ -1047,9 +1056,21 @@ var dslcDebug = false;
1047
  'animation-duration' : '0.6s',
1048
  '-webkit-animation-duration' : '0.6s'
1049
  }).fadeOut(600);
 
1050
 
1051
  }
1052
 
 
 
 
 
 
 
 
 
 
 
 
1053
  /**
1054
  * MODAL - Document Ready
1055
  */
@@ -2452,6 +2473,7 @@ var dslcDebug = false;
2452
  * - dslc_module_options_tooltip ( Helper tooltips for options )
2453
  * - dslc_module_options_font ( Actions for font option type )
2454
  * - dslc_module_options_icon ( Actions for icon font option type )
 
2455
  * - dslc_module_options_text_align ( Actions for text align option type )
2456
  * - dslc_module_options_checkbox ( Actions for checkbox option type )
2457
  * - dslc_module_options_box_shadow ( Actions for box shadow option type )
@@ -3511,49 +3533,36 @@ var dslcDebug = false;
3511
 
3512
  }
3513
 
3514
- /**
3515
- * MODULES - Icon option type
3516
  */
3517
 
3518
- function dslc_module_options_icon() {
3519
-
3520
- // Next Icon
3521
-
3522
- jQuery(document).on( 'click', '.dslca-module-edit-field-icon-next', function(e){
3523
 
3524
- e.preventDefault();
 
 
3525
 
3526
- var dslcOption = jQuery(this).closest('.dslca-module-edit-option-icon');
3527
- var dslcField = jQuery( '.dslca-module-edit-field-icon', dslcOption );
3528
- var dslcCurrIndex = dslcIconsCurrentSet.indexOf( dslcField.val() );
3529
  var dslcNewIndex = dslcCurrIndex + 1;
3530
-
3531
- jQuery('.dslca-module-edit-field-icon-suggest', dslcOption).text('');
3532
-
3533
- dslcField.val( dslcIconsCurrentSet[dslcNewIndex] ).trigger('change');
3534
-
3535
- });
3536
-
3537
- // Previous Icon
3538
-
3539
- jQuery(document).on( 'click', '.dslca-module-edit-field-icon-prev', function(e){
3540
 
3541
- e.preventDefault();
3542
 
3543
- var dslcOption = jQuery(this).closest('.dslca-module-edit-option-icon');
3544
- var dslcField = jQuery( '.dslca-module-edit-field-icon', dslcOption );
3545
- var dslcCurrIndex = dslcIconsCurrentSet.indexOf( dslcField.val() );
3546
- var dslcNewIndex = dslcCurrIndex - 1;
3547
 
3548
- jQuery('.dslca-module-edit-field-icon-suggest', dslcOption).text('');
 
3549
 
3550
- if ( dslcNewIndex < 0 ) {
3551
- dslcNewIndex = dslcIconsCurrentSet.length - 1
3552
- }
3553
-
3554
- dslcField.val( dslcIconsCurrentSet[dslcNewIndex] ).trigger('change');
3555
 
3556
- });
3557
 
3558
  // Key Up ( arrow up, arrow down, else )
3559
 
@@ -3564,12 +3573,14 @@ var dslcDebug = false;
3564
  dslcField = jQuery(this);
3565
  dslcOption = dslcField.closest('.dslca-module-edit-option');
3566
 
 
3567
  if ( e.which == 38 ) {
3568
- jQuery('.dslca-module-edit-field-icon-prev', dslcOption).click();
3569
  }
3570
 
 
3571
  if ( e.which == 40 ) {
3572
- jQuery('.dslca-module-edit-field-icon-next', dslcOption).click();
3573
  }
3574
 
3575
  if ( e.which != 13 && e.which != 38 && e.which != 40 ) {
@@ -3612,6 +3623,23 @@ var dslcDebug = false;
3612
 
3613
  }
3614
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3615
  /**
3616
  * MODULES - Text align option type
3617
  */
@@ -4325,6 +4353,7 @@ var dslcDebug = false;
4325
  dslc_module_options_tooltip();
4326
  dslc_module_options_font();
4327
  dslc_module_options_icon();
 
4328
  dslc_module_options_text_align();
4329
  dslc_module_options_checkbox();
4330
  dslc_module_options_box_shadow();
@@ -4570,6 +4599,10 @@ var dslcDebug = false;
4570
  // Change current icon set
4571
  dslcIconsCurrentSet = DSLCIcons[iconSet];
4572
 
 
 
 
 
4573
  // Change active states
4574
  $(this).addClass('dslca-active').siblings('.dslca-active').removeClass('dslca-active');
4575
 
@@ -4595,6 +4628,9 @@ var dslcDebug = false;
4595
  // Change current icon set
4596
  dslcIconsCurrentSet = DSLCIcons[iconSet];
4597
 
 
 
 
4598
  });
4599
 
4600
  });
@@ -5420,20 +5456,33 @@ var dslcDebug = false;
5420
  function dslca_gen_content_for_search() {
5421
 
5422
  if ( dslcDebug ) console.log( 'dslca_gen_content_for_search' );
5423
-
5424
  // Vars
5425
- var holder = jQuery('#dslca-content-for-search'),
5426
- prevContent = holder.val(),
5427
  content = '';
5428
 
5429
  // Go through each content element
5430
- jQuery('#dslc-main .dslca-editable-content').each(function(){
5431
- // Append the content to the variable
5432
- content += jQuery(this).html().replace(/\s+/g, ' ').trim() + ' ';
 
 
 
 
 
 
 
 
 
 
 
 
 
5433
  });
5434
 
5435
  // Set the value of the content field
5436
- holder.val( content );
5437
 
5438
  // Used to show the publish button for pages made before this feature
5439
  if ( prevContent !== content ) {
988
  /*********************************
989
  *
990
  * 4) = UI - MODAL =
991
+ * Note: Used for the templates save/export/import and icons
992
  *
993
  * - dslc_show_modal ( Show Modal )
994
  * - dslc_hide_modal ( Hide Modal )
997
 
998
  /**
999
  * MODAL - Show
1000
+ *
1001
+ * @param {Object} hook - Button that was clicked to open modal
1002
+ * @param {string} modal - CSS address of the modal, like '.modal-icons'
1003
  */
1004
 
1005
  function dslc_show_modal( hook, modal ) {
1019
 
1020
  // Show Modal
1021
  modal.css({ left : offset }).show();
1022
+ modal.addClass('dslca-modal-open');
1023
 
1024
  // Animate Modal
1025
+ /*
1026
  modal.css({
1027
  '-webkit-animation-name' : 'dslcBounceIn',
1028
  '-moz-animation-name' : 'dslcBounceIn',
1030
  'animation-duration' : '0.6s',
1031
  '-webkit-animation-duration' : '0.6s'
1032
  }).fadeIn(600);
1033
+ */
1034
 
1035
  }
1036
 
1037
+ /**
1038
  * MODAL - Hide
1039
  */
1040
 
1046
  var modal = jQuery(modal);
1047
 
1048
  // Hide ( with animation )
1049
+ modal.hide();
1050
+ modal.removeClass('dslca-modal-open');
1051
+ /*
1052
  modal.css({
1053
  '-webkit-animation-name' : 'dslcBounceOut',
1054
  '-moz-animation-name' : 'dslcBounceOut',
1056
  'animation-duration' : '0.6s',
1057
  '-webkit-animation-duration' : '0.6s'
1058
  }).fadeOut(600);
1059
+ */
1060
 
1061
  }
1062
 
1063
+ // Hide if clicked outside of modal
1064
+ jQuery(document).mouseup(function (e) {
1065
+ var container = jQuery(".dslca-modal-open");
1066
+
1067
+ if (!container.is(e.target) // if the target of the click isn't the container...
1068
+ && container.has(e.target).length === 0) // ... nor a descendant of the container
1069
+ {
1070
+ container.hide();
1071
+ }
1072
+ });
1073
+
1074
  /**
1075
  * MODAL - Document Ready
1076
  */
2473
  * - dslc_module_options_tooltip ( Helper tooltips for options )
2474
  * - dslc_module_options_font ( Actions for font option type )
2475
  * - dslc_module_options_icon ( Actions for icon font option type )
2476
+ * - dslc_module_options_icon_returnid (Fill icon option type with selected icon ID/name)
2477
  * - dslc_module_options_text_align ( Actions for text align option type )
2478
  * - dslc_module_options_checkbox ( Actions for checkbox option type )
2479
  * - dslc_module_options_box_shadow ( Actions for box shadow option type )
3533
 
3534
  }
3535
 
3536
+ /*
3537
+ * Change icon code based on direction (next/previous)
3538
  */
3539
 
3540
+ function dslc_list_icon( object, direction ) {
 
 
 
 
3541
 
3542
+ var dslcOption = jQuery(object).closest('.dslca-module-edit-option-icon');
3543
+ var dslcField = jQuery( '.dslca-module-edit-field-icon', dslcOption );
3544
+ var dslcCurrIndex = dslcIconsCurrentSet.indexOf( dslcField.val() );
3545
 
3546
+ if ( direction == 'previous' ) {
3547
+ var dslcNewIndex = dslcCurrIndex - 1;
3548
+ } else {
3549
  var dslcNewIndex = dslcCurrIndex + 1;
3550
+ }
 
 
 
 
 
 
 
 
 
3551
 
3552
+ jQuery('.dslca-module-edit-field-icon-suggest', dslcOption).text('');
3553
 
3554
+ if ( dslcNewIndex < 0 ) {
3555
+ dslcNewIndex = dslcIconsCurrentSet.length - 1
3556
+ }
 
3557
 
3558
+ dslcField.val( dslcIconsCurrentSet[dslcNewIndex] ).trigger('change');
3559
+ }
3560
 
3561
+ /**
3562
+ * MODULES - Icon option type
3563
+ */
 
 
3564
 
3565
+ function dslc_module_options_icon() {
3566
 
3567
  // Key Up ( arrow up, arrow down, else )
3568
 
3573
  dslcField = jQuery(this);
3574
  dslcOption = dslcField.closest('.dslca-module-edit-option');
3575
 
3576
+ // Key pressed: arrow up
3577
  if ( e.which == 38 ) {
3578
+ dslc_list_icon(dslcField,'previous');
3579
  }
3580
 
3581
+ // Key pressed: arrow down
3582
  if ( e.which == 40 ) {
3583
+ dslc_list_icon(dslcField,'next');
3584
  }
3585
 
3586
  if ( e.which != 13 && e.which != 38 && e.which != 40 ) {
3623
 
3624
  }
3625
 
3626
+ function dslc_module_options_icon_returnid() {
3627
+
3628
+ jQuery(document).on('click', '.dslca-open-modal-hook[data-modal^=".dslc-list-icons"]', function(el) {
3629
+ jQuery(this).closest('.dslca-module-edit-option-icon').find('input').addClass('icon-modal-active');
3630
+ });
3631
+
3632
+ jQuery(document).on('click', '.dslca-modal-icons .icon-item', function(el) {
3633
+ // Get selected item code
3634
+ var selectedIconCode = jQuery(this).find('.icon-item_name').text();
3635
+ jQuery('input.icon-modal-active').val(selectedIconCode).change();
3636
+
3637
+ // Close modal window
3638
+ dslc_hide_modal( '', jQuery('.dslca-modal:visible') );
3639
+ });
3640
+
3641
+ }
3642
+
3643
  /**
3644
  * MODULES - Text align option type
3645
  */
4353
  dslc_module_options_tooltip();
4354
  dslc_module_options_font();
4355
  dslc_module_options_icon();
4356
+ dslc_module_options_icon_returnid()
4357
  dslc_module_options_text_align();
4358
  dslc_module_options_checkbox();
4359
  dslc_module_options_box_shadow();
4599
  // Change current icon set
4600
  dslcIconsCurrentSet = DSLCIcons[iconSet];
4601
 
4602
+ // Update 'icons grid' button data-modal attribute with selected set
4603
+ $('.dslca-open-modal-hook[data-modal^=".dslc-list-icons"]').data('modal', '.dslc-list-icons-' + iconSet );
4604
+
4605
+
4606
  // Change active states
4607
  $(this).addClass('dslca-active').siblings('.dslca-active').removeClass('dslca-active');
4608
 
4628
  // Change current icon set
4629
  dslcIconsCurrentSet = DSLCIcons[iconSet];
4630
 
4631
+ // Update 'icons grid' button data-modal attribute with selected set
4632
+ $('.dslca-open-modal-hook[data-modal^=".dslc-list-icons"]').data('modal', '.dslc-list-icons-' + iconSet );
4633
+
4634
  });
4635
 
4636
  });
5456
  function dslca_gen_content_for_search() {
5457
 
5458
  if ( dslcDebug ) console.log( 'dslca_gen_content_for_search' );
5459
+
5460
  // Vars
5461
+ var holder = document.getElementById('dslca-content-for-search');
5462
+ var prevContent = holder.value,
5463
  content = '';
5464
 
5465
  // Go through each content element
5466
+
5467
+ var elements = document.querySelectorAll('#dslc-main .dslc-module-front [data-exportable-content]');
5468
+ Array.prototype.forEach.call(elements, function(el, i){
5469
+ // el - current DOM element, i – counter
5470
+ var extracted_html_code;
5471
+
5472
+ if ( el.getAttribute('data-exportable-content') !== '' ) {
5473
+ var wrapper_tag = el.getAttribute('data-exportable-content');
5474
+ extracted_html_code = '<' + wrapper_tag + '>' + el.innerHTML + '</' + wrapper_tag + '>';
5475
+ } else {
5476
+ extracted_html_code = el.innerHTML;
5477
+ }
5478
+
5479
+ if ( extracted_html_code !== null ) {
5480
+ content += extracted_html_code.replace(/\s+/g, ' ').trim() + '\n';
5481
+ }
5482
  });
5483
 
5484
  // Set the value of the content field
5485
+ holder.value = content;
5486
 
5487
  // Used to show the publish button for pages made before this feature
5488
  if ( prevContent !== content ) {
js/builder.main.min.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";function dslc_hide_composer(){dslcDebug&&console.log("dslc_hide_composer"),jQuery(".dslca-hide-composer-hook").hide(),jQuery(".dslca-show-composer-hook").show(),jQuery("body").addClass("dslca-composer-hidden"),jQuery(".dslca-container").css({bottom:-1*jQuery(".dslca-container").outerHeight()}),jQuery(".dslca-header").hide()}function dslc_show_composer(){dslcDebug&&console.log("dslc_show_composer"),jQuery(".dslca-show-composer-hook").hide(),jQuery(".dslca-hide-composer-hook").show(),jQuery("body").removeClass("dslca-composer-hidden"),jQuery(".dslca-container").css({bottom:0}),jQuery(".dslca-header").show()}function dslc_show_publish_button(){dslcDebug&&console.log("dslc_show_publish_button"),jQuery(".dslca-save-composer").show().addClass("dslca-init-animation"),jQuery(".dslca-save-draft-composer").show().addClass("dslca-init-animation")}function dslc_show_section(e){dslcDebug&&console.log("dslc_show_section"),jQuery("body").addClass("dslca-anim-in-progress");var s=(jQuery(e).data("title"),jQuery(e).data("bg"));jQuery(".dslca-container").css({bottom:-500}),jQuery(".dslca-sections").animate({backgroundColor:s},200),jQuery(".dslca-section").hide(),jQuery(e).show(),".dslca-modules-section-edit"==e&&dslc_row_edit_scrollbar_init(),".dslca-module-edit"==e?jQuery(".dslca-currently-editing").show().css("background-color",s).find("strong").text(jQuery(".dslca-module-being-edited").attr("title")+" module"):".dslca-modules-section-edit"==e?jQuery(".dslca-currently-editing").show().css("background-color","#e5855f").find("strong").text("Row"):jQuery(".dslca-currently-editing").hide().find("strong").text(""),dslc_module_options_tab_filter(),".dslca-module-edit"!=e&&dslc_scroller_init(),setTimeout(function(){jQuery(".dslca-container").css({bottom:0})},300),jQuery("body").removeClass("dslca-anim-in-progress")}function dslc_generate_filters(){dslcDebug&&console.log("dslc_generate_filters");var e,s=[],d='<span data-origin="">ALL</span>',o=jQuery(".dslca-section:visible .dslca-origin");o.each(function(){e=jQuery(this),-1==jQuery.inArray(e.data("origin"),s)&&(s.push(e.data("origin")),d+='<span data-origin="'+e.data("origin")+'">'+e.data("origin").replace("_"," ")+"</span>")}),jQuery(".dslca-section:visible .dslca-section-title-filter-options").html(d).css("background",jQuery(".dslca-section:visible").data("bg"))}function dslc_filter_origin(e,s){dslcDebug&&console.log("dslc_filter_origin"),jQuery(".dslca-origin",s).hide(),jQuery('.dslca-origin[data-origin="'+e+'"]',s).show(),""==e&&jQuery(".dslca-origin",s).show(),dslc_scroller_init()}function dslc_drag_and_drop(){dslcDebug&&console.log("dslc_drag_and_drop");var e,s,d;jQuery(".dslca-modules .dslca-module").draggable({scroll:!1,appendTo:"body",helper:"clone",cursor:"default",cursorAt:{top:50,left:30},containment:"body",start:function(e,s){jQuery("body").removeClass("dslca-new-module-drag-not-in-progress").addClass("dslca-new-module-drag-in-progress"),jQuery("#dslc-header").addClass("dslca-header-low-z-index")},stop:function(e,s){jQuery("body").removeClass("dslca-new-module-drag-in-progress").addClass("dslca-new-module-drag-not-in-progress"),jQuery("#dslc-header").removeClass("dslca-header-low-z-index")}}),jQuery(".dslc-content").sortable({items:".dslc-modules-section",handle:'.dslca-move-modules-section-hook:not(".dslca-action-disabled")',placeholder:"dslca-modules-section-placeholder",tolerance:"pointer",cursorAt:{bottom:10},axis:"y",scroll:!0,scrollSensitivity:200,scrollSpeed:10,sort:function(){jQuery(this).removeClass("ui-state-default")},update:function(e,s){dslc_generate_code(),dslc_show_publish_button()},start:function(e,s){jQuery("body").removeClass("dslca-drag-not-in-progress").addClass("dslca-drag-in-progress"),s.placeholder.html('<span class="dslca-placeholder-help-text"><span class="dslca-placeholder-help-text-inner">'+DSLCString.str_row_helper_text+"</span></span>"),jQuery(".dslc-content").sortable("refreshPositions")},stop:function(e,s){jQuery("body").removeClass("dslca-drag-in-progress").addClass("dslca-drag-not-in-progress"),jQuery(".dslca-anim-opacity-drop").removeClass("dslca-anim-opacity-drop"),jQuery(".dslc-modules-section").css({overflow:"visible","max-height":"none"})}}),jQuery(".dslc-modules-section-inner").sortable({connectWith:".dslc-modules-section-inner",items:".dslc-modules-area",handle:'.dslca-move-modules-area-hook:not(".dslca-action-disabled")',placeholder:"dslca-modules-area-placeholder",cursorAt:{top:0,left:0},tolerance:"intersect",scroll:!0,scrollSensitivity:100,scrollSpeed:15,sort:function(){jQuery(this).removeClass("ui-state-default")},over:function(e,s){var d=s.placeholder.closest(".dslc-modules-section");jQuery(d).removeClass("dslc-modules-section-empty").addClass("dslc-modules-section-not-empty"),d.siblings(".dslc-modules-section").each(function(){jQuery(".dslc-modules-area:not(.ui-sortable-helper)",jQuery(this)).length?jQuery(this).removeClass("dslc-modules-section-empty").addClass("dslc-modules-section-not-empty"):jQuery(this).removeClass("dslc-modules-section-not-empty").addClass("dslc-modules-section-empty")})},update:function(e,s){dslc_generate_code(),dslc_show_publish_button()},start:function(e,s){s.placeholder.html('<span class="dslca-placeholder-help-text"><span class="dslca-placeholder-help-text-inner">'+DSLCString.str_area_helper_text+"</span></span>"),jQuery(s.item).hasClass("dslc-12-col")?s.placeholder.width(s.item.width()).css({margin:0}):s.placeholder.width(s.item.width()-10),jQuery("body").removeClass("dslca-drag-not-in-progress").addClass("dslca-drag-in-progress dslca-modules-area-drag-in-progress"),jQuery(".dslc-modules-section-inner").sortable("refreshPositions")},stop:function(e,s){jQuery("body").removeClass("dslca-drag-in-progress dslca-modules-area-drag-in-progress").addClass("dslca-drag-not-in-progress"),jQuery(".dslca-anim-opacity-drop").removeClass("dslca-anim-opacity-drop")},change:function(e,s){}}),jQuery(".dslc-modules-section").droppable({drop:function(e,s){var d=jQuery(this).find(".dslc-modules-section-inner"),o=s.draggable.data("id");"DSLC_M_A"==o&&dslc_modules_area_add(d)}}),jQuery(".dslc-modules-area").droppable({activeClass:"dslca-ui-state-default",hoverClass:"dslca-ui-state-hover",accept:":not(.ui-sortable-helper)",drop:function(o,l){if(e=jQuery(this),s=l.draggable.data("id"),"DSLC_M_A"==s||jQuery("body").hasClass("dslca-module-drop-in-progress")||e.closest("#dslc-header").length||e.closest("#dslc-footer").length);else{jQuery("body").addClass("dslca-anim-in-progress dslca-module-drop-in-progress"),e.hasClass("dslc-modules-area-not-empty")&&e.animate({paddingBottom:50},150),dslc_module_output_default(s,function(s){d=s.output,jQuery(".dslca-module-loading-inner",e).stop().animate({width:"100%"},300,"linear",function(){e.css({paddingBottom:0}),jQuery(".dslca-module-loading",e).hide();var s=jQuery(d).appendTo(e);s.css({"-webkit-animation-name":"dslcBounceIn","-moz-animation-name":"dslcBounceIn","animation-name":"dslcBounceIn","animation-duration":"0.6s","-webkit-animation-duration":"0.6s"}),setTimeout(function(){dslc_init_square(),dslc_center(),dslc_masonry(s),jQuery("body").removeClass("dslca-anim-in-progress dslca-module-drop-in-progress")},700),jQuery(".dslca-no-content-primary",e).css({opacity:1}),jQuery(".dslca-modules-area-manage",e).css({visibility:"visible"}),jQuery(".dslca-save-composer-hook").css({visibility:"visible"}),jQuery(".dslca-save-draft-composer-hook").css({visibility:"visible"}),dslc_carousel(),dslc_tabs(),dslc_init_accordion(),dslc_init_square(),dslc_center(),dslc_generate_code(),dslc_show_publish_button()})}),jQuery(".dslca-module-loading",e).show(),jQuery(".dslca-no-content-primary",e).css({opacity:0}),jQuery(".dslca-modules-area-manage",e).css({visibility:"hidden"});var t=100*Math.floor(51*Math.random()+50);jQuery(".dslca-module-loading-inner",e).css({width:0}).animate({width:"100%"},t,"linear")}}}).sortable({connectWith:".dslc-modules-area",items:".dslc-module-front",handle:'.dslca-move-module-hook:not(".dslca-action-disabled")',placeholder:"dslca-module-placeholder",cursorAt:{top:50,left:30},tolerance:"pointer",scroll:!0,scrollSensitivity:100,scrollSpeed:15,start:function(e,s){s.placeholder.html('<span class="dslca-placeholder-help-text"><span class="dslca-placeholder-help-text-inner">'+s.item.find(".dslc-sortable-helper-icon").data("title")+"</span></span>"),jQuery(s.item).hasClass("dslc-12-col")?s.placeholder.width(s.item.width()).css({margin:0}):s.placeholder.width(s.item.width()-10),jQuery("body").removeClass("dslca-drag-not-in-progress").addClass("dslca-drag-in-progress"),jQuery(".dslc-module-front",this).length<2&&(jQuery(this).removeClass("dslc-modules-area-not-empty").addClass("dslc-modules-area-empty"),jQuery(".dslca-no-content:not(:visible)",this).show().css({"-webkit-animation-name":"dslcBounceIn","-moz-animation-name":"dslcBounceIn","animation-name":"dslcBounceIn","animation-duration":"0.6s","-webkit-animation-duration":"0.6s",padding:0}).animate({padding:"35px 0"},300,function(){})),jQuery(".dslc-modules-area").sortable("refreshPositions")},sort:function(e,s){jQuery(this).removeClass("ui-state-default")},update:function(e,s){dslc_show_publish_button()},stop:function(e,s){dslc_generate_code(),jQuery("body").removeClass("dslca-drag-in-progress").addClass("dslca-drag-not-in-progress"),jQuery(".dslca-anim-opacity-drop").removeClass("dslca-anim-opacity-drop"),s.item.trigger("mouseleave")},change:function(e,s){}})}function dslc_option_changed(){dslc_show_publish_button()}function dslc_module_dragdrop_init(){dslc_drag_and_drop()}function dslc_scroller_init(){dslcDebug&&console.log("dslc_scroller_init");var e=jQuery(".dslca-section-scroller");e.length&&e.each(function(){var e,s=jQuery(this),d=jQuery(".dslca-section-scroller-inner",s),o=d.position(),l=jQuery(".dslca-section-scroller-content",s),t=jQuery(".dslca-scroller-item:visible",s),a=0,i=s.width()+-1*o.left;l.width();jQuery(".dslca-section-scroller-item-last",s).removeClass("dslca-section-scroller-item-last"),t.each(function(){e=jQuery(this),a+=e.outerWidth(),a>i&&jQuery(".dslca-section-scroller-item-last",s).length<1&&(e.addClass("dslca-section-scroller-item-last"),s.data("current",e.prev(".dslca-scroller-item:visible").index()))})})}function dslc_scroller_go_to(e,s){dslcDebug&&console.log("dslc_scroller_go_to");var d=jQuery(".dslca-section-scroller-inner",s),o=jQuery(".dslca-section-scroller-content",s),l=(jQuery(".dslca-scroller-item",s),jQuery(".dslca-scroller-item:eq("+e+")",s));if(l.length){var t=s.width(),a=(o.width(),l.position()),i=t-(a.left+l.outerWidth());0>i?(s.data("current",e),d.css({left:i})):d.css({left:0})}}function dslc_scroller_prev(e){dslcDebug&&console.log("dslc_scroller_prev");var s=e.data("current"),d=e.find(".dslca-scroller-item:eq("+s+")").prevAll(".dslca-scroller-item:visible").eq(1).index(),o=e.find(".dslca-scroller-item:eq("+s+")").prevAll(".dslca-scroller-item:visible").eq(0).index();-1!==d?dslc_scroller_go_to(d,e):-1!==o&&dslc_scroller_go_to(o,e)}function dslc_scroller_next(e){dslcDebug&&console.log("dslc_scroller_next");var s=e.data("current"),d=e.find(".dslca-scroller-item:eq("+s+")").nextAll(".dslca-scroller-item:visible").eq(1).index(),o=e.find(".dslca-scroller-item:eq("+s+")").nextAll(".dslca-scroller-item:visible").eq(0).index();-1!==d?dslc_scroller_go_to(d,e):-1!==o&&dslc_scroller_go_to(o,e)}function dslc_ui_animations(){dslcDebug&&console.log("dslc_ui_animations"),jQuery(document).on("mouseenter",".dslca-modules-area-manage",function(){jQuery(this).closest(".dslc-modules-area").addClass("dslca-options-hovered"),dslca_draggable_calc_center(jQuery(this).closest(".dslc-modules-area"))}).on("mouseleave",".dslca-modules-area-manage",function(){jQuery(this).closest(".dslc-modules-area").removeClass("dslca-options-hovered")}),jQuery(document).on("mouseenter",".dslca-drag-not-in-progress .dslc-module-front",function(e){jQuery("body").hasClass("dslca-composer-hidden")||(jQuery(this).height()<190?jQuery(".dslca-module-manage",this).addClass("dslca-horizontal"):jQuery(".dslca-module-manage",this).removeClass("dslca-horizontal"))}).on("mouseleave",".dslca-drag-not-in-progress .dslc-module-front",function(e){jQuery("body").hasClass("dslca-composer-hidden")||jQuery(this).find(".dslca-change-width-module-options").hide(),jQuery(this).find(".dslca-module-manage").removeClass("dslca-module-manage-change-width-active")}),jQuery(document).on("mouseenter",".dslca-drag-not-in-progress .dslc-modules-area",function(e){jQuery(this);jQuery("body").hasClass("dslca-composer-hidden")||(jQuery("#dslc-header").addClass("dslca-header-low-z-index"),jQuery(this).height()<130?jQuery(".dslca-modules-area-manage",this).addClass("dslca-horizontal"):jQuery(".dslca-modules-area-manage",this).removeClass("dslca-horizontal"))}).on("mouseleave",".dslca-drag-not-in-progress .dslc-modules-area",function(e){jQuery(this);jQuery("body").hasClass("dslca-composer-hidden")||jQuery("#dslc-header").removeClass("dslca-header-low-z-index")})}function dslc_show_modal(e,s){dslcDebug&&console.log("dslc_show_modal"),dslc_hide_modal("",jQuery(".dslca-modal:visible"));var s=jQuery(s),d=jQuery(e).position(),o=s.outerWidth()/2-e.outerWidth()/2,l=d.left-o;s.css({left:l}).show(),s.css({"-webkit-animation-name":"dslcBounceIn","-moz-animation-name":"dslcBounceIn","animation-name":"dslcBounceIn","animation-duration":"0.6s","-webkit-animation-duration":"0.6s"}).fadeIn(600)}function dslc_hide_modal(e,s){dslcDebug&&console.log("dslc_hide_modal");var s=jQuery(s);s.css({"-webkit-animation-name":"dslcBounceOut","-moz-animation-name":"dslcBounceOut","animation-name":"dslcBounceOut","animation-duration":"0.6s","-webkit-animation-duration":"0.6s"}).fadeOut(600)}function dslc_js_confirm(e,s,d){dslcDebug&&console.log("dslc_js_confirm"),jQuery(".dslca-prompt-modal").addClass("dslca-prompt-modal-active"),jQuery(".dslca-prompt-modal").data("id",e),jQuery(".dslca-prompt-modal").data("target",d),jQuery(".dslca-prompt-modal-msg").html(s),jQuery(".dslca-prompt-modal").css({opacity:0}).show().animate({opacity:1},400),jQuery(".dslca-prompt-modal-content").css({top:"55%"}).animate({top:"50%"},400)}function dslc_js_confirm_close(){dslcDebug&&console.log("dslc_js_confirm_close"),jQuery(".dslca-prompt-modal").removeClass("dslca-prompt-modal-active"),jQuery(".dslca-prompt-modal").animate({opacity:0},400,function(){jQuery(this).hide(),jQuery(".dslca-prompt-modal-cancel-hook").show(),jQuery(".dslca-prompt-modal-confirm-hook").html('<span class="dslc-icon dslc-icon-ok"></span>'+DSLCString.str_confirm)}),jQuery(".dslca-prompt-modal-content").animate({top:"55%"},400)}function dslc_row_add(e){dslcDebug&&console.log("dslc_row_add"),e="undefined"!=typeof e?e:!1,jQuery.post(DSLCAjax.ajaxurl,{action:"dslc-ajax-add-modules-section",dslc:"active"},function(s){jQuery(s.output).appendTo("#dslc-main"),dslc_drag_and_drop(),dslc_generate_code(),dslc_show_publish_button(),e&&e()})}function dslc_row_delete(e){dslcDebug&&console.log("dslc_row_delete"),e.find(".dslca-module-being-edited")&&(jQuery(".dslca-header .dslca-options-filter-hook").hide(),jQuery(".dslca-module-edit-actions").hide(),jQuery(".dslca-header .dslca-go-to-section-hook").show(),dslc_show_section(".dslca-modules")),e.trigger("mouseleave").remove(),dslc_generate_code(),dslc_show_publish_button()}function dslc_row_edit(e){dslcDebug&&console.log("dslc_row_edit");jQuery(".dslca-module-being-edited").removeClass("dslca-module-being-edited"),jQuery(".dslca-modules-section-being-edited").removeClass("dslca-modules-section-being-edited").removeClass("dslca-modules-section-change-made"),e.addClass("dslca-modules-section-being-edited"),jQuery(".dslca-header .dslca-go-to-section-hook").hide(),jQuery('.dslca-row-options-filter-hook[data-section="styling"], .dslca-row-options-filter-hook[data-section="responsive"]').show(),jQuery('.dslca-row-options-filter-hook[data-section="styling"]').trigger("click"),jQuery(".dslca-header .dslca-options-filter-hook").hide(),jQuery(".dslca-module-edit-actions").hide(),jQuery(".dslca-row-edit-actions").show(),jQuery(".dslca-modules-section-edit-field").each(function(){if("border-top"==jQuery(this).data("id"))jQuery('.dslca-modules-section-being-edited .dslca-modules-section-settings input[data-id="border"]').val().indexOf("top")>=0?(jQuery(this).prop("checked",!0),jQuery(this).siblings(".dslca-modules-section-edit-option-checkbox-hook").find(".dslca-icon").removeClass("dslc-icon-check-empty").addClass("dslc-icon-check")):(jQuery(this).prop("checked",!1),jQuery(this).siblings(".dslca-modules-section-edit-option-checkbox-hook").find(".dslca-icon").removeClass("dslc-icon-check").addClass("dslc-icon-check-empty"));else if("border-right"==jQuery(this).data("id"))jQuery('.dslca-modules-section-being-edited .dslca-modules-section-settings input[data-id="border"]').val().indexOf("right")>=0?(jQuery(this).prop("checked",!0),jQuery(this).siblings(".dslca-modules-section-edit-option-checkbox-hook").find(".dslca-icon").removeClass("dslc-icon-check-empty").addClass("dslc-icon-check")):(jQuery(this).prop("checked",!1),jQuery(this).siblings(".dslca-modules-section-edit-option-checkbox-hook").find(".dslca-icon").removeClass("dslc-icon-check").addClass("dslc-icon-check-empty"));else if("border-bottom"==jQuery(this).data("id"))jQuery('.dslca-modules-section-being-edited .dslca-modules-section-settings input[data-id="border"]').val().indexOf("bottom")>=0?(jQuery(this).prop("checked",!0),jQuery(this).siblings(".dslca-modules-section-edit-option-checkbox-hook").find(".dslca-icon").removeClass("dslc-icon-check-empty").addClass("dslc-icon-check")):(jQuery(this).prop("checked",!1),jQuery(this).siblings(".dslca-modules-section-edit-option-checkbox-hook").find(".dslca-icon").removeClass("dslc-icon-check").addClass("dslc-icon-check-empty"));else if("border-left"==jQuery(this).data("id"))jQuery('.dslca-modules-section-being-edited .dslca-modules-section-settings input[data-id="border"]').val().indexOf("left")>=0?(jQuery(this).prop("checked",!0),jQuery(this).siblings(".dslca-modules-section-edit-option-checkbox-hook").find(".dslca-icon").removeClass("dslc-icon-check-empty").addClass("dslc-icon-check")):(jQuery(this).prop("checked",!1),jQuery(this).siblings(".dslca-modules-section-edit-option-checkbox-hook").find(".dslca-icon").removeClass("dslc-icon-check").addClass("dslc-icon-check-empty"));else if(jQuery(this).hasClass("dslca-modules-section-edit-field-checkbox"))jQuery('.dslca-modules-section-being-edited .dslca-modules-section-settings input[data-id="'+jQuery(this).data("id")+'"]').val().indexOf(jQuery(this).data("val"))>=0?(jQuery(this).prop("checked",!0),jQuery(this).siblings(".dslca-modules-section-edit-option-checkbox-hook").find(".dslca-icon").removeClass("dslc-icon-check-empty").addClass("dslc-icon-check")):(jQuery(this).prop("checked",!1),jQuery(this).siblings(".dslca-modules-section-edit-option-checkbox-hook").find(".dslca-icon").removeClass("dslc-icon-check").addClass("dslc-icon-check-empty"));else if(jQuery(this).val(jQuery('.dslca-modules-section-being-edited .dslca-modules-section-settings input[data-id="'+jQuery(this).data("id")+'"]').val()),jQuery(this).hasClass("dslca-modules-section-edit-field-colorpicker")){var e=jQuery(this);jQuery(this).closest(".dslca-modules-section-edit-option").find(".sp-preview-inner").removeClass("sp-clear-display").css({"background-color":e.val()})}}),jQuery(".dslca-modules-section-edit-field-upload").each(function(){var e=jQuery(this).closest(".dslca-modules-section-edit-option");jQuery(this).val()&&"disabled"!==jQuery(this).val()?(jQuery(".dslca-modules-section-edit-field-image-add-hook",e).hide(),jQuery(".dslca-modules-section-edit-field-image-remove-hook",e).show()):(jQuery(".dslca-modules-section-edit-field-image-remove-hook",e).hide(),jQuery(".dslca-modules-section-edit-field-image-add-hook",e).show())}),dslc_row_edit_slider_init(),dslc_show_section(".dslca-modules-section-edit"),jQuery(".dslca-save-composer-hook").css({visibility:"hidden"}),jQuery(".dslca-save-draft-composer-hook").css({visibility:"hidden"})}function dslc_row_edit_colorpicker_init(){dslcDebug&&console.log("dslc_row_edit_colorpicker_init");var e,s,d,o,l,t,a,i,c,n,r=[];if(r[0]=[],r[1]=[],r[2]=[],r[3]=[],void 0==localStorage.dslcColorpickerPalleteStorage);else for(c=JSON.parse(localStorage.dslcColorpickerPalleteStorage),n=0;n<c.length;n++){var u=Math.floor(n/3);4>u&&r[u].push(c[n])}jQuery(".dslca-modules-section-edit-field-colorpicker").each(function(){i=jQuery(this).val(),jQuery(this).spectrum({color:i,showInput:!0,allowEmpty:!0,showAlpha:!0,clickoutFiresChange:!0,cancelText:"",chooseText:"",preferredFormat:"rgb",showPalette:!0,palette:r,move:function(i){e=jQuery(this),s=e.data("id"),o=null==i?"transparent":i.toRgbString(),l=e.data("css-rule"),d=jQuery(".dslca-modules-section-being-edited"),a=d,t=jQuery('.dslca-modules-section-settings input[data-id="'+s+'"]',d),d.addClass("dslca-modules-section-change-made"),e.data("css-element")&&(a=jQuery(e.data("css-element"),d)),a.css(l,o),t.val(o)},change:function(d){if(e=jQuery(this),s=e.data("id"),o=null==d?"transparent":d.toRgbString(),void 0==localStorage.dslcColorpickerPalleteStorage){var l=[o];localStorage.dslcColorpickerPalleteStorage=JSON.stringify(l)}else{var l=JSON.parse(localStorage.dslcColorpickerPalleteStorage);-1==l.indexOf(o)&&l.unshift(o),localStorage.dslcColorpickerPalleteStorage=JSON.stringify(l)}},show:function(e){jQuery("body").addClass("dslca-disable-selection"),jQuery(this).spectrum("set",jQuery(this).val())},hide:function(){jQuery("body").removeClass("dslca-disable-selection")}})})}function dslc_row_edit_slider_init(){dslcDebug&&console.log("dslc_row_edit_slider_init"),jQuery(".dslca-modules-section-edit-field-slider").each(function(){var e,s,d,o,l,t,a,i,c,n,r,u="",m=0,h=300,p=1;e=jQuery(this),s=e.siblings(".dslca-modules-section-edit-field"),t=e.siblings(".dslca-modules-section-edit-field-slider-tooltip"),e.data("min")&&(m=e.data("min")),e.data("max")&&(h=e.data("max")),e.data("incr")&&(p=e.data("incr")),e.data("ext")&&(u=e.data("ext")),e.slider({min:m,max:h,step:p,value:s.val(),slide:function(m,h){d=h.value+u,s.val(d),l=jQuery(".dslca-modules-section-being-edited"),s.data("css-element")&&(l=jQuery(s.data("css-element"),l)),o=s.data("css-rule").replace(/ /g,""),r=o.split(",");for(var p=0;p<r.length;p++)jQuery(l).css(r[p],d);c=jQuery(".dslca-modules-section-being-edited"),n=s.data("id"),jQuery('.dslca-modules-section-settings input[data-id="'+n+'"]',c).val(h.value),c.addClass("dslca-modules-section-change-made"),t.text(d),i=e.find(".ui-slider-handle"),a=i[0].style.left,t.css({left:a})},stop:function(e,s){t.hide();var d=jQuery(window).scrollTop();dslc_masonry(),jQuery(window).scrollTop(d)},start:function(s,o){d=o.value,t.show(),t.text(d),i=e.find(".ui-slider-handle"),a=i[0].style.left,t.css({left:a})}})})}function dslc_row_edit_scrollbar_init(){dslcDebug&&console.log("dslc_row_edit_scrollbar_init");var e=0;jQuery(".dslca-modules-section-edit-option").each(function(){e+=jQuery(this).outerWidth(!0)+1}),e>jQuery(".dslca-modules-section-edit-options").width()?jQuery(".dslca-modules-section-edit-options-wrapper").width(e):jQuery(".dslca-modules-section-edit-options-wrapper").width("auto"),jQuery("body").hasClass("rtl")||(jQuery(".dslca-modules-section-edit-options-inner").data("jsp")&&jQuery(".dslca-modules-section-edit-options-inner").data("jsp").destroy(),jQuery(".dslca-modules-section-edit-options-inner").jScrollPane())}function dslc_row_edit_cancel(e){dslcDebug&&console.log("dslc_row_cancel_changes"),e="undefined"!=typeof e?e:!1,jQuery(".dslca-modules-section-being-edited .dslca-modules-section-settings input").each(function(){jQuery(this).val(jQuery(this).data("def")),jQuery('.dslca-modules-section-edit-field[data-id="'+jQuery(this).data("id")+'"]').val(jQuery(this).data("def")).trigger("change")}),dslc_show_section(".dslca-modules"),jQuery(".dslca-row-edit-actions").hide(),jQuery(".dslca-row-options-filter-hook").hide(),jQuery(".dslca-header .dslca-go-to-section-hook").show(),jQuery(".dslca-save-composer-hook").css({visibility:"visible"}),jQuery(".dslca-save-draft-composer-hook").css({visibility:"visible"}),jQuery(".dslca-modules-section-being-edited").removeClass("dslca-modules-section-being-edited dslca-modules-section-change-made"),e&&e(),jQuery(".dslca-save-composer-hook").css({visibility:"visible"}),jQuery(".dslca-save-draft-composer-hook").css({visibility:"visible"})}function dslc_row_edit_confirm(e){dslcDebug&&console.log("dslc_confirm_row_changes"),e="undefined"!=typeof e?e:!1,jQuery(".dslca-modules-section-being-edited .dslca-modules-section-settings input").each(function(){jQuery(this).data("def",jQuery(this).val())}),dslc_show_section(".dslca-modules"),jQuery(".dslca-row-edit-actions").hide(),jQuery(".dslca-row-options-filter-hook").hide(),jQuery(".dslca-header .dslca-go-to-section-hook").show(),jQuery(".dslca-save-composer-hook").css({visibility:"visible"}),jQuery(".dslca-save-draft-composer-hook").css({visibility:"visible"}),jQuery(".dslca-modules-section-being-edited").removeClass("dslca-modules-section-being-edited dslca-modules-section-change-made"),dslc_generate_code(),dslc_show_publish_button(),e&&e(),jQuery(".dslca-save-composer-hook").css({visibility:"visible"}),jQuery(".dslca-save-draft-composer-hook").css({visibility:"visible"})}function dslc_row_copy(e){dslcDebug&&console.log("dslc_row_copy");var s,d,o;d=e.clone().appendTo("#dslc-main"),d.find(".dslc-modules-area").each(function(){var s=jQuery(this).index();jQuery(this).data("size",e.find(".dslc-modules-area:eq( "+s+" )").data("size"))}),d.find(".dslc-module-front").css({"-webkit-animation-name":"none","-moz-animation-name":"none","animation-name":"none","animation-duration":"0","-webkit-animation-duration":"0",opacity:0}).each(function(){o=jQuery(this),jQuery.ajax({type:"POST",method:"POST",url:DSLCAjax.ajaxurl,data:{action:"dslc-ajax-get-new-module-id"},async:!1}).done(function(e){jQuery(".dslca-module-being-edited").removeClass("dslca-module-being-edited"),s=e.output,o.data("module-id",s).attr("id","dslc-module-"+s).addClass("dslca-module-being-edited"),dslc_module_output_altered(function(){jQuery(".dslca-module-being-edited").removeClass("dslca-module-being-edited").animate({opacity:1},300)})})}),dslc_drag_and_drop(),dslc_generate_code(),dslc_show_publish_button()}function dslc_row_import(e){dslcDebug&&console.log("dslc_row_import"),jQuery.post(DSLCAjax.ajaxurl,{action:"dslc-ajax-import-modules-section",dslc:"active",dslc_modules_section_code:e},function(e){dslc_js_confirm_close(),jQuery("#dslc-main").append(e.output),dslc_bg_video(),dslc_carousel(),dslc_masonry(jQuery("#dslc-main").find(".dslc-modules-section:last-child")),dslc_drag_and_drop(),dslc_show_publish_button(),dslc_generate_code()})}function dslc_add_modules_section(){dslc_row_add()}function dslc_delete_modules_section(e){dslc_row_delete(e)}function dslc_edit_modules_section(e){dslc_row_edit(e)}function dslc_edit_modules_section_colorpicker(){dslc_row_edit_colorpicker_init()}function dslc_edit_modules_section_slider(){dslc_row_edit_slider_init()}function dslc_edit_modules_section_scroller(){dslc_row_edit_scrollbar_init()}function dslc_copy_modules_section(e){dslc_row_copy(e)}function dslc_import_modules_section(e){dslc_row_import(e)}function dslc_modules_area_add(e){dslcDebug&&console.log("dslc_add_modules_area"),jQuery("body").addClass("dslca-anim-in-progress"),jQuery.post(DSLCAjax.ajaxurl,{action:"dslc-ajax-add-modules-area",dslc:"active"},function(s){jQuery(".dslca-modules-area-loading .dslca-module-loading-inner",e.closest(".dslc-modules-section")).stop().animate({width:"100%"},200,"linear",function(){e.css({paddingBottom:0}),jQuery(this).closest(".dslca-modules-area-loading").hide()}),setTimeout(function(){jQuery(s.output).appendTo(e).css({height:0}).animate({height:99},300,function(){jQuery(this).css({height:"auto"})}).addClass("dslca-init-animation"),dslc_drag_and_drop(),dslc_generate_code(),dslc_show_publish_button(),jQuery("body").removeClass("dslca-anim-in-progress")},250)});var s=100*Math.floor(51*Math.random()+50);e.animate({paddingBottom:50},150),jQuery(".dslca-modules-area-loading",e.closest(".dslc-modules-section")).show(),jQuery(".dslca-modules-area-loading .dslca-module-loading-inner",e.closest(".dslc-modules-section")).css({width:0}).animate({width:"100%"},s,"linear")}function dslc_modules_area_delete(e){dslcDebug&&console.log("dslc_delete_modules_area");var s=e.closest(".dslc-modules-section").find(".dslc-modules-section-inner"),d=!1;e.addClass("dslca-modules-area-being-deleted"),s.find(".dslc-modules-area").length<2&&(d=!0),e.find(".dslca-module-being-edited").length&&(jQuery(".dslca-header .dslca-options-filter-hook").hide(),jQuery(".dslca-module-edit-actions").hide(),jQuery(".dslca-header .dslca-go-to-section-hook").show(),dslc_show_section(".dslca-modules")),setTimeout(function(){e.remove(),dslc_generate_code(),dslc_show_publish_button(),d&&dslc_modules_area_add(s)},900),e.css({"-webkit-animation-name":"dslcBounceOut","-moz-animation-name":"dslcBounceOut","animation-name":"dslcBounceOut","animation-duration":"0.6s","-webkit-animation-duration":"0.6s",overflow:"hidden"}).animate({opacity:0},600).animate({height:0,marginBottom:0},300,function(){e.remove(),dslc_generate_code(),dslc_show_publish_button()})}function dslc_modules_area_copy(e){dslcDebug&&console.log("dslc_copy_modules_area");var s,d=e.closest(".dslc-modules-section").find(".dslc-modules-section-inner"),o=e.clone().appendTo(d);o.find(".dslca-modules-area-manage").trigger("mouseleave"),o.data("size",e.data("size")).find(".dslc-module-front").css({"-webkit-animation-name":"none","-moz-animation-name":"none","animation-name":"none","animation-duration":"0","-webkit-animation-duration":"0",opacity:0}).each(function(){var e=jQuery(this);jQuery.ajax({type:"POST",method:"POST",url:DSLCAjax.ajaxurl,data:{action:"dslc-ajax-get-new-module-id"},async:!1}).done(function(d){jQuery(".dslca-module-being-edited").removeClass("dslca-module-being-edited"),s=d.output,e.data("module-id",s).attr("id","dslc-module-"+s).addClass("dslca-module-being-edited"),dslc_module_output_altered(function(){jQuery(".dslca-module-being-edited").removeClass("dslca-module-being-edited").animate({opacity:1},300)})})}),dslc_drag_and_drop(),dslc_generate_code(),dslc_show_publish_button()}function dslc_modules_area_width_set(e,s){dslcDebug&&console.log("dslc_modules_area_width_set");var d="dslc-"+s+"-col";e.removeClass("dslc-1-col dslc-2-col dslc-3-col dslc-4-col dslc-5-col dslc-6-col dslc-7-col dslc-8-col dslc-9-col dslc-10-col dslc-11-col dslc-12-col").addClass(d).data("size",s),dslc_init_square(),dslc_center(),dslc_generate_code(),dslc_show_publish_button(),dslc_masonry()}function dslc_add_modules_area(e){dslc_modules_area_add(e)}function dslc_delete_modules_area(e){dslc_modules_area_delete(e)}function dslc_copy_modules_area(e){dslc_modules_area_copy(e)}function dslc_module_delete(e){dslcDebug&&console.log("dslc_delete_module"),e.addClass("dslca-module-being-deleted"),e.hasClass("dslca-module-being-edited")&&dslc_show_section(".dslca-modules"),setTimeout(function(){e.remove(),dslc_generate_code(),dslc_show_publish_button()},1e3),e.css({"-webkit-animation-name":"dslcBounceOut2","-moz-animation-name":"dslcBounceOut2","animation-name":"dslcBounceOut2","animation-duration":"0.6s","-webkit-animation-duration":"0.6s"}).animate({opacity:0},500,function(){e.css({marginBottom:0}).animate({height:0},400,"easeOutQuart")})}function dslc_module_copy(e){dslcDebug&&console.log("dslc_copy_module");var s;jQuery.post(DSLCAjax.ajaxurl,{action:"dslc-ajax-get-new-module-id"},function(d){jQuery(".dslca-module-being-edited").removeClass("dslca-module-being-edited"),s=d.output,e.clone().appendTo(e.closest(".dslc-modules-area")).css({"-webkit-animation-name":"none","-moz-animation-name":"none","animation-name":"none","animation-duration":"0","-webkit-animation-duration":"0",opacity:0}).data("module-id",s).attr("id","dslc-module-"+s).addClass("dslca-module-being-edited"),
2
- dslc_module_output_altered(function(){jQuery(".dslca-module-being-edited").css({opacity:0}).removeClass("dslca-module-being-edited").animate({opacity:1},300)})})}function dslc_module_width_set(e,s){dslcDebug&&console.log("dslc_module_width_set");var d="dslc-"+s+"-col";e.removeClass("dslc-1-col dslc-2-col dslc-3-col dslc-4-col dslc-5-col dslc-6-col dslc-7-col dslc-8-col dslc-9-col dslc-10-col dslc-11-col dslc-12-col").addClass(d).data("dslc-module-size",s).addClass("dslca-module-being-edited"),jQuery('.dslca-module-option-front[data-id="dslc_m_size"]',e).val(s),dslc_module_output_altered(function(){jQuery(".dslca-module-being-edited").removeClass("dslca-module-being-edited")})}function dslc_module_options_show(e){dslcDebug&&console.log("dslc_module_options_show");var s=jQuery(".dslca-module-being-edited"),d=jQuery(".dslca-module-options-front textarea",s),o=jQuery(".dslca-header").data("default-section"),l={};l.action="dslc-ajax-display-module-options",l.dslc="active",l.dslc_module_id=e,l.dslc_post_id=jQuery(".dslca-container").data("data-post-id"),d.each(function(){var e=jQuery(this),s=e.data("id"),d=e.val();l[s]=d}),jQuery(".dslca-wp-editor-actions").hide(),jQuery(".dslca-wp-editor-notification").show(),jQuery.post(DSLCAjax.ajaxurl,l,function(e){jQuery(".dslca-save-composer-hook").css({visibility:"hidden"}),jQuery(".dslca-save-draft-composer-hook").css({visibility:"hidden"}),dslc_show_section(".dslca-module-edit"),jQuery("body").hasClass("rtl")?jQuery(".dslca-module-edit-options-inner").html(e.output):jQuery(".dslca-module-edit-options-inner .jspPane").html(e.output),jQuery(".dslca-module-edit-options-tabs").html(e.output_tabs),jQuery(".dslca-header .dslca-options-filter-hook").show(),jQuery('.dslca-module-edit-option[data-section="'+o+'"]').length?(jQuery('.dslca-header .dslca-options-filter-hook[data-section="'+o+'"]').show(),jQuery('.dslca-header .dslca-options-filter-hook[data-section="'+o+'"]').trigger("click")):(jQuery(".dslca-header .dslca-options-filter-hook:first").hide(),jQuery(".dslca-header .dslca-options-filter-hook:first").next(".dslca-options-filter-hook").trigger("click")),jQuery(".dslca-module-edit-actions").show(),jQuery(".dslca-wp-editor-notification").hide(),jQuery(".dslca-wp-editor-actions").show(),jQuery(".dslca-header .dslca-go-to-section-hook").hide(),jQuery(".dslca-row-edit-actions").hide(),dslc_module_options_color(),dslc_modules_options_box_shadow_color(),dslc_modules_options_text_shadow_color(),dslc_module_options_numeric();var s=jQuery(".dslca-module-options-front",".dslca-module-being-edited").children().clone();jQuery(".dslca-module-options-front-backup").html("").append(s)})}function dslc_module_options_scrollbar(){dslcDebug&&console.log("dslc_module_options_scrollbar");var e=0;if(jQuery(".dslca-module-edit-option:visible").each(function(){e+=jQuery(this).outerWidth(!0)+1}),e>jQuery(".dslca-module-edit-options").width()?jQuery(".dslca-module-edit-options-wrapper").width(e):jQuery(".dslca-module-edit-options-wrapper").width("auto"),!jQuery("body").hasClass("rtl")&&jQuery(".dslca-module-edit-options-inner").data("jsp")){var s=jQuery(".dslca-module-edit-options-inner").data("jsp");s.reinitialise()}}function dslc_module_options_section_filter(e){dslcDebug&&console.log("dslc_module_options_section_filter"),jQuery(".dslca-module-edit-option").hide(),jQuery('.dslca-module-edit-option[data-section="'+e+'"]').show(),dslc_module_options_tab_filter()}function dslc_module_options_tab_filter(e){dslcDebug&&console.log("dslc_module_options_tab_filter");var s=jQuery(".dslca-options-filter-hook.dslca-active").data("section");e="undefined"!=typeof e?e:jQuery('.dslca-module-edit-options-tab-hook[data-section="'+s+'"]:first');var d=e.data("id");jQuery(".dslca-module-edit-options-tab-hook").removeClass("dslca-active"),e.addClass("dslca-active"),jQuery(".dslca-module-edit-options-tabs").show(),jQuery(".dslca-module-edit-options-tab-hook").hide(),jQuery('.dslca-module-edit-options-tab-hook[data-section="'+s+'"]').show(),d&&(jQuery(".dslca-module-edit-option").hide(),jQuery('.dslca-module-edit-option[data-tab="'+d+'"]').show(),dslc_module_options_scrollbar(),dslc_module_options_hideshow_tabs(),jQuery(".dslca-module-edit-options-tab-hook:visible").length<2?jQuery(".dslca-module-edit-options-tabs").hide():jQuery(".dslca-module-edit-options-tabs").show(),d==DSLCString.str_res_tablet+"_responsive"&&(jQuery("body").removeClass("dslc-res-big dslc-res-smaller-monitor dslc-res-phone dslc-res-tablet"),jQuery("body").addClass("dslc-res-tablet")),d==DSLCString.str_res_phone+"_responsive"&&(jQuery("body").removeClass("dslc-res-big dslc-res-smaller-monitor dslc-res-phone dslc-res-tablet"),jQuery("body").addClass("dslc-res-phone")),(d==DSLCString.str_res_tablet+"_responsive"||d==DSLCString.str_res_phone+"_responsive")&&(jQuery(".dslca-container-loader").show(),dslc_module_output_altered(function(){jQuery(".dslca-container-loader").hide()})))}function dslc_module_options_hideshow_tabs(){dslcDebug&&console.log("dslc_module_options_hideshow_tabs");var e=jQuery(".dslca-options-filter-hook.dslca-active").data("section");if("styling"==e){var s=(jQuery(".dslca-module-edit"),!0),d=!0,o=!0,l=!0,t=!0,a=!0,i=!0,c=!0,n=!0,r=!0,u=!0,m=!0,h=!0,p=!0,_=!0,y=!0,f=!0,g=!0,j=!0,v=!0,Q=!0,b=!0,w=!0,k=!0,C=!0;jQuery('.dslca-module-edit-field[value="main_heading"]').is(":checked")||(s=!1),jQuery('.dslca-module-edit-field[value="filters"]').is(":checked")||(d=!1),jQuery('.dslca-module-edit-field[value="arrows"]').is(":checked")||(o=!1),jQuery('.dslca-module-edit-field[value="circles"]').is(":checked")||(l=!1),"carousel"!=jQuery('.dslca-module-edit-field[data-id="type"]').val()&&(o=!1,l=!1),"disabled"==jQuery('.dslca-module-edit-field[data-id="pagination_type"]').val()&&(t=!1),jQuery('.dslca-module-edit-field[data-id*="elements"][value="thumbnail"]').is(":checked")||(a=!1),jQuery('.dslca-module-edit-field[data-id*="elements"][value="content"]').length&&!jQuery('.dslca-module-edit-field[data-id*="elements"][value="title"]').is(":checked")&&(i=!1),jQuery('.dslca-module-edit-field[data-id*="elements"][value="excerpt"]').is(":checked")||(c=!1),jQuery('.dslca-module-edit-field[data-id*="elements"][value="meta"]').is(":checked")||(n=!1),jQuery('.dslca-module-edit-field[data-id*="elements"][value="button"]').length&&!jQuery('.dslca-module-edit-field[data-id*="elements"][value="button"]').is(":checked")&&(r=!1),jQuery('.dslca-module-edit-field[data-id*="elements"][value="categories"]').is(":checked")||(u=!1),jQuery('.dslca-module-edit-field[data-id*="elements"][value="separator"]').is(":checked")||(h=!1),jQuery('.dslca-module-edit-field[data-id*="elements"][value="count"]').is(":checked")||(m=!1),jQuery('.dslca-module-edit-field[data-id*="elements"][value="tags"]').is(":checked")||(p=!1),jQuery('.dslca-module-edit-field[data-id*="elements"][value="social"]').is(":checked")||(_=!1),jQuery('.dslca-module-edit-field[data-id*="elements"][value="position"]').is(":checked")||(y=!1),jQuery('.dslca-module-edit-field[data-id*="elements"][value="icon"]').length&&!jQuery('.dslca-module-edit-field[data-id*="elements"][value="icon"]').is(":checked")&&(f=!1),jQuery('.dslca-module-edit-field[data-id*="elements"][value="content"]').length&&!jQuery('.dslca-module-edit-field[data-id*="elements"][value="content"]').is(":checked")&&(g=!1),jQuery('.dslca-module-edit-field[data-id*="elements"][value="price"]').is(":checked")||(j=!1),jQuery('.dslca-module-edit-field[data-id*="elements"][value="price_2"]').is(":checked")||(v=!1),jQuery('.dslca-module-edit-field[data-id*="elements"][value="addtocart"]').is(":checked")||(Q=!1),jQuery('.dslca-module-edit-field[data-id*="elements"][value="details"]').is(":checked")||(b=!1),jQuery('.dslca-module-edit-field[data-id*="elements"][value="quote"]').is(":checked")||(w=!1),jQuery('.dslca-module-edit-field[data-id*="elements"][value="author_name"]').is(":checked")||(k=!1),jQuery('.dslca-module-edit-field[data-id*="elements"][value="author_position"]').is(":checked")||(C=!1),s?jQuery('.dslca-module-edit-options-tab-hook[data-id="heading_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="heading_styling"]').hide(),d?jQuery('.dslca-module-edit-options-tab-hook[data-id="filters_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="filters_styling"]').hide(),o?jQuery('.dslca-module-edit-options-tab-hook[data-id="carousel_arrows_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="carousel_arrows_styling"]').hide(),l?jQuery('.dslca-module-edit-options-tab-hook[data-id="carousel_circles_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="carousel_circles_styling"]').hide(),t?jQuery('.dslca-module-edit-options-tab-hook[data-id="pagination_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="pagination_styling"]').hide(),a?jQuery('.dslca-module-edit-options-tab-hook[data-id="thumbnail_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="thumbnail_styling"]').hide(),i?jQuery('.dslca-module-edit-options-tab-hook[data-id="title_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="title_styling"]').hide(),c?jQuery('.dslca-module-edit-options-tab-hook[data-id="excerpt_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="excerpt_styling"]').hide(),n?jQuery('.dslca-module-edit-options-tab-hook[data-id="meta_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="meta_styling"]').hide(),r?jQuery('.dslca-module-edit-options-tab-hook[data-id="button_styling"], .dslca-module-edit-options-tab-hook[data-id="primary_button_styling"], .dslca-module-edit-options-tab-hook[data-id="secondary_button_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="button_styling"], .dslca-module-edit-options-tab-hook[data-id="primary_button_styling"], .dslca-module-edit-options-tab-hook[data-id="secondary_button_styling"]').hide(),u?jQuery('.dslca-module-edit-options-tab-hook[data-id="categories_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="categories_styling"]').hide(),h?jQuery('.dslca-module-edit-options-tab-hook[data-id="separator_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="separator_styling"]').hide(),m?jQuery('.dslca-module-edit-options-tab-hook[data-id="count_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="count_styling"]').hide(),p?jQuery('.dslca-module-edit-options-tab-hook[data-id="tags_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="tags_styling"]').hide(),y?jQuery('.dslca-module-edit-options-tab-hook[data-id="position_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="position_styling"]').hide(),_?jQuery('.dslca-module-edit-options-tab-hook[data-id="social_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="social_styling"]').hide(),f?jQuery('.dslca-module-edit-options-tab-hook[data-id="icon_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="icon_styling"]').hide(),g?jQuery('.dslca-module-edit-options-tab-hook[data-id="content_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="content_styling"]').hide(),j?jQuery('.dslca-module-edit-options-tab-hook[data-id="price_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="price_styling"]').hide(),v?jQuery('.dslca-module-edit-options-tab-hook[data-id="price_secondary_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="price_secondary_styling"]').hide(),Q||b?jQuery('.dslca-module-edit-options-tab-hook[data-id="other_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="other_styling"]').hide(),w?jQuery('.dslca-module-edit-options-tab-hook[data-id="quote_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="quote_styling"]').hide(),k?jQuery('.dslca-module-edit-options-tab-hook[data-id="author_name_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="author_name_styling"]').hide(),C?jQuery('.dslca-module-edit-options-tab-hook[data-id="author_position_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="author_position_styling"]').hide()}if(jQuery('.dslca-options-filter-hook[data-section="styling"]').hasClass("dslca-active")){if("DSLC_Text_Simple"==jQuery(".dslca-module-being-edited").data("dslc-module-id")||"DSLC_TP_Content"==jQuery(".dslca-module-being-edited").data("dslc-module-id")||"DSLC_Html"==jQuery(".dslca-module-being-edited").data("dslc-module-id")){var x=jQuery('.dslca-module-edit-option[data-id="css_custom"]'),S=x.find("select").val();"enabled"==S?(jQuery('.dslca-module-edit-option[data-section="styling"]').css({visibility:"visible"}),jQuery(".dslca-module-edit-options-tabs").show()):(jQuery('.dslca-module-edit-option[data-section="styling"]').css({visibility:"hidden"}),jQuery(".dslca-module-edit-options-tabs").hide(),x.css({visibility:"visible"}))}}else jQuery(".dslca-module-edit-options-tabs").show();"disabled"==jQuery('select.dslca-module-edit-field[data-id="css_res_t"]').val()?jQuery('.dslca-module-edit-option[data-id*="css_res_t"]').css("visibility","hidden"):jQuery('.dslca-module-edit-option[data-id*="css_res_t"]').css("visibility","visible"),"disabled"==jQuery('select.dslca-module-edit-field[data-id="css_res_p"]').val()?jQuery('.dslca-module-edit-option[data-id*="css_res_p"]').css("visibility","hidden"):jQuery('.dslca-module-edit-option[data-id*="css_res_p"]').css("visibility","visible"),jQuery('.dslca-module-edit-option[data-id="css_res_p"], .dslca-module-edit-option[data-id="css_res_t"]').css("visibility","visible")}function dslc_module_options_confirm_changes(e){dslcDebug&&console.log("dslc_module_options_confirm_changes"),e="undefined"!=typeof e?e:!1,jQuery(".dslca-module-being-edited").hasClass("dslc-module-DSLC_Sliders")?jQuery(".dslca-module-being-edited").removeClass("dslca-module-being-edited"):(jQuery("body").addClass("dslca-module-saving-in-progress"),dslc_module_output_altered(function(){dslc_update_preset(),jQuery(".dslca-module-being-edited").removeClass("dslca-module-being-edited"),jQuery("body").removeClass("dslca-module-saving-in-progress"),jQuery("body").hasClass("rtl")?jQuery(".dslca-module-edit-options-inner").html(""):jQuery(".dslca-module-edit-options-inner .jspPane").html(""),jQuery(".dslca-module-edit-options-tabs").html(""),e&&e()})),dslc_show_section(".dslca-modules"),jQuery(".dslca-header .dslca-options-filter-hook").hide(),jQuery(".dslca-module-edit-actions").hide(),jQuery(".dslca-header .dslca-go-to-section-hook").show(),jQuery(".dslca-save-composer-hook").css({visibility:"visible"}),jQuery(".dslca-save-draft-composer-hook").css({visibility:"visible"})}function dslc_module_options_cancel_changes(e){dslcDebug&&console.log("dslc_module_options_cancel_changes"),e="undefined"!=typeof e?e:!1;var s=jQuery(".dslca-module-being-edited"),d=jQuery(".dslca-module-options-front-backup").children().clone();jQuery(".dslca-module-options-front",s).html("").append(d),dslc_module_output_altered(function(){jQuery(".dslca-module-being-edited").removeClass("dslca-module-being-edited"),jQuery("body").hasClass("rtl")?jQuery(".dslca-module-edit-options-inner").html(""):jQuery(".dslca-module-edit-options-inner .jspPane").html(""),jQuery(".dslca-module-edit-options-tabs").html(""),e&&e()}),dslc_show_section(".dslca-modules"),jQuery(".dslca-header .dslca-options-filter-hook").hide(),jQuery(".dslca-module-edit-actions").hide(),jQuery(".dslca-header .dslca-go-to-section-hook").show(),jQuery(".dslca-save-composer-hook").css({visibility:"visible"}),jQuery(".dslca-save-draft-composer-hook").css({visibility:"visible"})}function dslc_module_options_tooltip(){jQuery(document).on("click",".dslca-module-edit-field-ttip-close",function(){jQuery(".dslca-module-edit-field-ttip, .dslca-module-edit-field-icon-ttip").hide()}),jQuery(document).on("click",".dslca-module-edit-field-ttip-hook",function(){var e=jQuery(".dslca-module-edit-field-ttip"),s=e.find(".dslca-module-edit-field-ttip-inner"),d=jQuery(this),o=d.closest(".dslca-module-edit-option").find(".dslca-module-edit-field-ttip-content").html();if(e.is(":visible"))jQuery(".dslca-module-edit-field-ttip").hide();else{s.html(o);var l=d.offset(),t=e.outerHeight(),a=e.outerWidth(),i=l.left-a/2+6,c="50%";0>i&&(c=a/2+i+"px",i=0),jQuery(".dslca-module-edit-field-ttip").show().css({top:l.top-t-20,left:i}),jQuery("head").append(jQuery("<style>.dslca-module-edit-field-ttip:after, .dslca-module-edit-field-ttip:before { left: "+c+" }</style>"))}}),jQuery(document).on("click",".dslca-module-edit-field-icon-ttip-hook",function(){var e=jQuery(".dslca-module-edit-field-icon-ttip"),s=jQuery(this);if(e.is(":visible"))jQuery(".dslca-module-edit-field-icon-ttip").hide();else{var d=s.offset(),o=e.outerHeight(),l=e.outerWidth(),t=d.left-l/2+6,a="50%";0>t&&(a=l/2+t+"px",t=0),jQuery(".dslca-module-edit-field-icon-ttip").show().css({top:d.top-o-20,left:t}),jQuery("head").append(jQuery("<style>.dslca-module-edit-field-icon-ttip:after, .dslca-module-edit-field-icon-ttip:before { left: "+a+" }</style>"))}})}function dslc_module_options_font(){jQuery(document).on("click",".dslca-module-edit-field-font-next",function(e){if(e.preventDefault(),!jQuery(this).hasClass("dslca-font-loading")&&!jQuery(this).siblings(".dslca-font-loading").length){var s=jQuery(this).closest(".dslca-module-edit-option-font"),d=jQuery(".dslca-module-edit-field-font",s),o=dslcAllFontsArray.indexOf(d.val()),l=o+1;jQuery(".dslca-module-edit-field-font-suggest",s).text(""),d.val(dslcAllFontsArray[l]).trigger("change"),jQuery(this).addClass("dslca-font-loading").find(".dslca-icon").removeClass("dslc-icon-chevron-right").addClass("dslc-icon-refresh dslc-icon-spin")}}),jQuery(document).on("click",".dslca-module-edit-field-font-prev",function(e){if(e.preventDefault(),!jQuery(this).hasClass("dslca-font-loading")&&!jQuery(this).siblings(".dslca-font-loading").length){var s=jQuery(this).closest(".dslca-module-edit-option-font"),d=jQuery(".dslca-module-edit-field-font",s),o=dslcAllFontsArray.indexOf(d.val()),l=o-1;jQuery(".dslca-module-edit-field-font-suggest",s).text(""),0>l&&(l=dslcAllFontsArray.length-1),d.val(dslcAllFontsArray[l]).trigger("change"),jQuery(this).addClass("dslca-font-loading").find(".dslca-icon").removeClass("dslc-icon-chevron-left").addClass("dslc-icon-refresh dslc-icon-spin")}}),jQuery(document).on("keyup",".dslca-module-edit-field-font",function(e){var s,d,o,l,t=!1;if(s=jQuery(this),d=s.closest(".dslca-module-edit-option"),38==e.which&&jQuery(".dslca-module-edit-field-font-prev",d).click(),40==e.which&&jQuery(".dslca-module-edit-field-font-next",d).click(),13!=e.which&&38!=e.which&&40!=e.which){o=s.val();var a=new RegExp("^"+o,"i"),i=dslcAllFontsArray.length,c=0;do{if(a.test(dslcAllFontsArray[c])&&!t)var t=dslcAllFontsArray[c];c++}while(i>c);t?(l=t,jQuery(".dslca-module-edit-field-font-suggest",d).show()):(l=o,jQuery(".dslca-module-edit-field-font-suggest",d).hide()),jQuery(".dslca-module-edit-field-font-suggest",d).text(l),l.length&&s.val(l.substring(0,s.val().length))}}),jQuery(document).on("keypress",".dslca-module-edit-field-font",function(e){if(13==e.which){e.preventDefault();var s,d;s=jQuery(this),d=s.closest(".dslca-module-edit-option"),jQuery(this).val(jQuery(".dslca-module-edit-field-font-suggest",d).text()).trigger("change"),jQuery(".dslca-module-edit-field-font-suggest",d).text("")}})}function dslc_module_options_icon(){jQuery(document).on("click",".dslca-module-edit-field-icon-next",function(e){e.preventDefault();var s=jQuery(this).closest(".dslca-module-edit-option-icon"),d=jQuery(".dslca-module-edit-field-icon",s),o=dslcIconsCurrentSet.indexOf(d.val()),l=o+1;jQuery(".dslca-module-edit-field-icon-suggest",s).text(""),d.val(dslcIconsCurrentSet[l]).trigger("change")}),jQuery(document).on("click",".dslca-module-edit-field-icon-prev",function(e){e.preventDefault();var s=jQuery(this).closest(".dslca-module-edit-option-icon"),d=jQuery(".dslca-module-edit-field-icon",s),o=dslcIconsCurrentSet.indexOf(d.val()),l=o-1;jQuery(".dslca-module-edit-field-icon-suggest",s).text(""),0>l&&(l=dslcIconsCurrentSet.length-1),d.val(dslcIconsCurrentSet[l]).trigger("change")}),jQuery(document).on("keyup",".dslca-module-edit-field-icon",function(e){var s,d,o,l,t;s=jQuery(this),d=s.closest(".dslca-module-edit-option"),38==e.which&&jQuery(".dslca-module-edit-field-icon-prev",d).click(),40==e.which&&jQuery(".dslca-module-edit-field-icon-next",d).click(),13!=e.which&&38!=e.which&&40!=e.which&&(o=s.val().toLowerCase(),s.val(o),l=jQuery.grep(dslcIconsCurrentSet,function(e,s){return 0==e.indexOf(o)}),t=l[0],jQuery(".dslca-module-edit-field-icon-suggest",d).text(t))}),jQuery(document).on("keypress",".dslca-module-edit-field-icon",function(e){if(13==e.which){e.preventDefault();var s,d;s=jQuery(this),d=s.closest(".dslca-module-edit-option"),jQuery(this).val(jQuery(".dslca-module-edit-field-icon-suggest",d).text()).trigger("change"),jQuery(".dslca-module-edit-field-icon-suggest",d).text("")}})}function dslc_module_options_text_align(){jQuery(document).on("click",".dslca-module-edit-option-text-align-hook",function(){var e=jQuery(this),s=jQuery(this).closest(".dslca-module-edit-option-text-align-wrapper").find(".dslca-module-edit-option-text-align-hook"),d=e.data("val"),o=jQuery(this).closest(".dslca-module-edit-option-text-align-wrapper").siblings("input.dslca-module-edit-field");s.removeClass("dslca-active"),e.addClass("dslca-active"),o.val(d).trigger("change")})}function dslc_module_options_checkbox(){jQuery(document).on("click",".dslca-module-edit-option-checkbox-hook, .dslca-modules-section-edit-option-checkbox-hook",function(){var e=jQuery(this),s=e.siblings('input[type="checkbox"]');s.prop("checked")?(s.prop("checked",!1),e.find(".dslca-icon").removeClass("dslc-icon-check").addClass("dslc-icon-check-empty")):(s.prop("checked",!0),e.find(".dslca-icon").removeClass("dslc-icon-check-empty").addClass("dslc-icon-check")),s.change()})}function dslc_module_options_box_shadow(){dslcDebug&&console.log("dslc_module_options_box_shadow"),jQuery(document).on("change",".dslca-module-edit-option-box-shadow-hor, .dslca-module-edit-option-box-shadow-ver, .dslca-module-edit-option-box-shadow-blur, .dslca-module-edit-option-box-shadow-spread, .dslca-module-edit-option-box-shadow-color, .dslca-module-edit-option-box-shadow-inset",function(){var e=jQuery(this).closest(".dslca-module-edit-option"),s=e.find(".dslca-module-edit-field"),d=e.find(".dslca-module-edit-option-box-shadow-hor").val(),o=e.find(".dslca-module-edit-option-box-shadow-ver").val(),l=e.find(".dslca-module-edit-option-box-shadow-blur").val(),t=e.find(".dslca-module-edit-option-box-shadow-spread").val(),a=e.find(".dslca-module-edit-option-box-shadow-color").val(),i=e.find(".dslca-module-edit-option-box-shadow-inset").is(":checked");i=i?" inset":"";var c=d+"px "+o+"px "+l+"px "+t+"px "+a+i;s.val(c).trigger("change")})}function dslc_modules_options_box_shadow_color(){var e,s,d=[];if(d[0]=[],d[1]=[],d[2]=[],d[3]=[],void 0==localStorage.dslcColorpickerPalleteStorage);else for(e=JSON.parse(localStorage.dslcColorpickerPalleteStorage),s=0;s<e.length;s++){var o=Math.floor(s/3);4>o&&d[o].push(e[s])}jQuery(".dslca-module-edit-option-box-shadow-color").each(function(){var e,s,o=jQuery(this),l=o.val();jQuery(this).spectrum({color:l,showInput:!0,allowEmpty:!0,showAlpha:!0,clickoutFiresChange:!0,cancelText:"",chooseText:"",preferredFormat:"rgb",showPalette:!0,palette:d,move:function(d){e=jQuery(this),s=null==d?"transparent":d.toRgbString().replace(/ /g,""),e.val(s).trigger("change")},change:function(d){if(e=jQuery(this),s=null==d?"transparent":d.toRgbString().replace(/ /g,""),e.val(s).trigger("change"),void 0==localStorage.dslcColorpickerPalleteStorage){var o=[s];localStorage.dslcColorpickerPalleteStorage=JSON.stringify(o)}else{var o=JSON.parse(localStorage.dslcColorpickerPalleteStorage);-1==o.indexOf(s)&&o.unshift(s),localStorage.dslcColorpickerPalleteStorage=JSON.stringify(o)}},show:function(e){jQuery("body").addClass("dslca-disable-selection")},hide:function(){jQuery("body").removeClass("dslca-disable-selection")}})})}function dslc_module_options_text_shadow(){dslcDebug&&console.log("dslc_module_options_text_shadow"),jQuery(document).on("change",".dslca-module-edit-option-text-shadow-hor, .dslca-module-edit-option-text-shadow-ver, .dslca-module-edit-option-text-shadow-blur, .dslca-module-edit-option-text-shadow-color",function(){var e=jQuery(this).closest(".dslca-module-edit-option"),s=e.find(".dslca-module-edit-field"),d=e.find(".dslca-module-edit-option-text-shadow-hor").val(),o=e.find(".dslca-module-edit-option-text-shadow-ver").val(),l=e.find(".dslca-module-edit-option-text-shadow-blur").val(),t=e.find(".dslca-module-edit-option-text-shadow-color").val(),a=d+"px "+o+"px "+l+"px "+t;s.val(a).trigger("change")})}function dslc_modules_options_text_shadow_color(){jQuery(".dslca-module-edit-option-text-shadow-color").each(function(){var e,s,d=jQuery(this),o=d.val();jQuery(this).spectrum({color:o,showInput:!0,allowEmpty:!0,showAlpha:!0,clickoutFiresChange:!0,cancelText:"",chooseText:"",preferredFormat:"rgb",move:function(d){e=jQuery(this),s=null==d?"transparent":d.toRgbString().replace(/ /g,""),e.val(s).trigger("change")},change:function(d){e=jQuery(this),s=null==d?"transparent":d.toRgbString().replace(/ /g,""),e.val(s).trigger("change")},show:function(e){jQuery("body").addClass("dslca-disable-selection")},hide:function(){jQuery("body").removeClass("dslca-disable-selection")}})})}function dslc_module_options_color(){dslcDebug&&console.log("dslc_module_options_color");var e,s,d,o,l,t,a,i,c,n=[];if(n[0]=[],n[1]=[],n[2]=[],n[3]=[],void 0==localStorage.dslcColorpickerPalleteStorage);else for(i=JSON.parse(localStorage.dslcColorpickerPalleteStorage),c=0;c<i.length;c++){var r=Math.floor(c/3);4>r&&n[r].push(i[c])}jQuery(".dslca-module-edit-field-colorpicker").each(function(){a=jQuery(this).val(),jQuery(this).spectrum({color:a,showInput:!0,allowEmpty:!0,showAlpha:!0,clickoutFiresChange:!0,cancelText:"",chooseText:"",preferredFormat:"rgb",showPalette:!0,palette:n,move:function(a){e=jQuery(this),o=null==a?"transparent":a.toRgbString(),e.val(o),s=e.data("affect-on-change-el"),d=e.data("affect-on-change-rule"),jQuery(s,".dslca-module-being-edited").css(d,o),l=jQuery(".dslca-module-being-edited"),t=e.data("id"),jQuery('.dslca-module-option-front[data-id="'+t+'"]',l).val(o),l.addClass("dslca-module-change-made")},change:function(a){if(e=jQuery(this),o=null==a?"transparent":a.toRgbString(),e.val(o),s=e.data("affect-on-change-el"),d=e.data("affect-on-change-rule"),jQuery(s,".dslca-module-being-edited").css(d,o),l=jQuery(".dslca-module-being-edited"),t=e.data("id"),jQuery('.dslca-module-option-front[data-id="'+t+'"]',l).val(o),l.addClass("dslca-module-change-made"),void 0==localStorage.dslcColorpickerPalleteStorage){var i=[o];localStorage.dslcColorpickerPalleteStorage=JSON.stringify(i)}else{var i=JSON.parse(localStorage.dslcColorpickerPalleteStorage);-1==i.indexOf(o)&&i.unshift(o),localStorage.dslcColorpickerPalleteStorage=JSON.stringify(i)}},show:function(e){jQuery("body").addClass("dslca-disable-selection")},hide:function(){jQuery("body").removeClass("dslca-disable-selection")}})}),jQuery(".dslca-sp-revert").click(function(){var e=jQuery(".sp-replacer.sp-active").closest(".dslca-module-edit-option").find(".dslca-module-edit-field").data("default");jQuery(this).closest(".sp-container").find(".sp-input").val(e).trigger("change")})}function dslc_module_options_numeric(){dslcDebug&&console.log("dslc_module_options_numeric"),jQuery(".dslca-module-edit-field-slider").each(function(){var e,s,d,o,l,t,a,i,c,n,r;e=jQuery(this),s=e.siblings(".dslca-module-edit-field"),t=e.closest(".dslca-module-edit-option-slider").find(".dslca-module-edit-field-slider-tooltip"),e.slider({min:s.data("min"),max:s.data("max"),step:s.data("increment"),value:s.val(),slide:function(u,m){n=s.data("ext"),d=m.value+n,s.val(d),l=s.data("affect-on-change-el"),o=s.data("affect-on-change-rule").replace(/ /g,""),r=o.split(",");for(var h=0;h<r.length;h++)jQuery(l,".dslca-module-being-edited").css(r[h],d);i=jQuery(".dslca-module-being-edited"),c=s.data("id"),jQuery('.dslca-module-option-front[data-id="'+c+'"]',i).val(m.value),i.addClass("dslca-module-change-made"),t.text(d);var p=e.find(".ui-slider-handle");a=p[0].style.left,t.css({left:a}),dslc_masonry(i),dslc_init_square(),dslc_center(),dslc_init_square(i)},stop:function(e,s){t.hide()},start:function(e,s){t.show(),t.text(d),a=s.handle.style.left,t.css({left:a})}})})}function dslc_module_output_default(e,s){dslcDebug&&console.log("dslc_module_output_default"),jQuery.post(DSLCAjax.ajaxurl,{action:"dslc-ajax-add-module",dslc:"active",dslc_module_id:e,dslc_post_id:jQuery(".dslca-container").data("post-id")},function(e){s(e)})}function dslc_module_output_altered(e){dslcDebug&&console.log("dslc_module_output_altered"),e="undefined"!=typeof e?e:!1;var s=jQuery(".dslca-module-being-edited"),d=s.data("dslc-module-id"),o=jQuery(".dslca-module-options-front textarea",s),l=s.data("module-id"),t={};t.action="dslc-ajax-add-module",t.dslc="active",t.dslc_module_id=d,t.dslc_module_instance_id=l,t.dslc_post_id=jQuery(".dslca-container").data("post-id"),s.hasClass("dslca-preload-preset")?t.dslc_preload_preset="enabled":t.dslc_preload_preset="disabled",s.removeClass("dslca-preload-preset"),o.each(function(){var e=jQuery(this),s=e.data("id"),d=e.val();t[s]=d}),jQuery.post(DSLCAjax.ajaxurl,t,function(d){s.after(d.output).next().addClass("dslca-module-being-edited"),s.remove(),dslc_generate_code(),dslc_show_publish_button(),dslc_carousel(),dslc_masonry(jQuery(".dslca-module-being-edited")),jQuery(".dslca-module-being-edited img").load(function(){dslc_masonry(jQuery(".dslca-module-being-edited")),dslc_center()}),dslc_tabs(),dslc_init_accordion(),dslc_init_square(),dslc_center(),e&&e(d)})}function dslc_module_output_reload(e,s){dslcDebug&&console.log("dslc_module_output_reload"),s="undefined"!=typeof s?s:!1;var d=e.data("dslc-module-id"),o=jQuery(".dslca-module-options-front textarea",e),l=e.data("module-id"),t={};t.action="dslc-ajax-add-module",t.dslc="active",t.dslc_module_id=d,t.dslc_module_instance_id=l,t.dslc_post_id=jQuery(".dslca-container").data("post-id"),t.dslc_preload_preset="enabled",e.removeClass("dslca-preload-preset"),o.each(function(){var e=jQuery(this),s=e.data("id"),d=e.val();t[s]=d}),e.append('<div class="dslca-module-reloading"><span class="dslca-icon dslc-icon-spin dslc-icon-refresh"></span></div>'),jQuery.post(DSLCAjax.ajaxurl,t,function(d){e.after(d.output).next().addClass("dslca-module-being-edited"),e.remove(),dslc_generate_code(),dslc_show_publish_button(),dslc_carousel(),dslc_masonry(jQuery(".dslca-module-being-edited")),jQuery(".dslca-module-being-edited img").load(function(){dslc_masonry(jQuery(".dslca-module-being-edited")),dslc_center()}),dslc_tabs(),dslc_init_accordion(),dslc_init_square(),dslc_center(),s&&s(d),jQuery(".dslca-module-being-edited").removeClass("dslca-module-being-edited")})}function dslc_delete_module(e){dslc_module_delete(e)}function dslc_copy_module(e){dslc_module_copy(e)}function dslc_display_module_options(e){dslc_module_options_show(e)}function dslc_filter_module_options(e){dslc_module_options_section_filter(e)}function dslc_show_module_options_tab(e){dslc_module_options_tab_filter(e)}function dslc_confirm_changes(e){dslc_module_options_confirm_changes(e)}function dslc_cancel_changes(e){dslc_module_options_cancel_changes(e)}function dslc_init_colorpicker(){dslc_module_options_color()}function dslc_init_options_slider(){dslc_module_options_numeric()}function dslc_init_options_scrollbar(){dslc_module_options_scrollbar()}function dslc_module_edit_options_hideshow_tabs(){dslc_module_options_hideshow_tabs()}function dslc_get_module_output(e,s){dslc_module_output_default(e,s)}function dslc_preview_change(e){dslc_module_output_altered(e)}function dslc_reload_module(e,s){dslc_module_output_reload(e,s);
3
- }function dslc_template_load(e){dslcDebug&&console.log("dslc_load_template");jQuery.post(DSLCAjax.ajaxurl,{action:"dslc-ajax-load-template",dslc:"active",dslc_template_id:e},function(e){jQuery("#dslc-main").html(e.output),dslc_carousel(),dslc_drag_and_drop(),dslc_show_publish_button(),dslc_generate_code()})}function dslc_template_import(){dslcDebug&&console.log("dslc_import_template");jQuery(".dslca-modal-templates-import .dslca-modal-title").css({opacity:0}),jQuery(".dslca-modal-templates-import .dslca-loading").show(),jQuery.post(DSLCAjax.ajaxurl,{action:"dslc-ajax-import-template",dslc:"active",dslc_template_code:jQuery("#dslca-import-code").val()},function(e){jQuery("#dslc-main").html(e.output),jQuery(".dslca-modal-templates-import .dslca-loading").hide(),jQuery(".dslca-modal-templates-import .dslca-modal-title").css({opacity:1}),dslc_hide_modal("",".dslca-modal-templates-import"),dslc_bg_video(),dslc_center(),dslc_drag_and_drop(),dslc_show_publish_button(),dslc_generate_code()})}function dslc_template_save(){dslcDebug&&console.log("dslc_save_template"),jQuery.post(DSLCAjax.ajaxurl,{action:"dslc-ajax-save-template",dslc:"active",dslc_template_code:jQuery("#dslca-code").val(),dslc_template_title:jQuery("#dslca-save-template-title").val()},function(e){dslc_hide_modal("",".dslca-modal-templates-save")})}function dslc_template_delete(e){dslcDebug&&console.log("dslc_delete_template"),jQuery.post(DSLCAjax.ajaxurl,{action:"dslc-ajax-delete-template",dslc:"active",dslc_template_id:e},function(s){jQuery('.dslca-template[data-id="'+e+'"]').fadeOut(200,function(){jQuery(this).remove()})})}function dslc_load_template(e){dslc_template_load(e)}function dslc_import_template(){dslc_template_import()}function dslc_save_template(){dslc_template_save()}function dslc_delete_template(e){dslc_template_delete(e)}function dslc_save_composer(){dslcDebug&&console.log("dslc_save_composer");var e=jQuery("#dslca-code").val(),s=jQuery("#dslca-content-for-search").val(),d=jQuery(".dslca-container").data("post-id");jQuery("body").addClass("dslca-saving-in-progress"),jQuery(".dslca-save-composer .dslca-icon").removeClass("dslc-icon-ok").addClass("dslc-icon-spin dslc-icon-spinner"),jQuery.ajax({method:"POST",type:"POST",url:DSLCAjax.ajaxurl,data:{action:"dslc-ajax-save-composer",dslc:"active",dslc_post_id:d,dslc_code:e,dslc_content_for_search:s},timeout:1e4}).done(function(e){"success"==e.status?(jQuery(".dslca-save-composer").fadeOut(250),jQuery(".dslca-save-draft-composer").fadeOut(250)):alert("Something went wrong, please try to save again.")}).fail(function(e){"timeout"==e.statusText?alert("The request timed out after 10 seconds. Please try again."):alert("Something went wrong. Please try again.")}).always(function(e){jQuery(".dslca-save-composer .dslca-icon").removeClass("dslc-icon-spin dslc-icon-spinner").addClass("dslc-icon-ok"),jQuery("body").removeClass("dslca-saving-in-progress")})}function dslc_save_draft_composer(){dslcDebug&&console.log("dslc_save_draft_composer");var e=jQuery("#dslca-code").val(),s=jQuery(".dslca-container").data("post-id");jQuery("body").addClass("dslca-saving-in-progress"),jQuery(".dslca-save-draft-composer .dslca-icon").removeClass("dslc-icon-ok").addClass("dslc-icon-spin dslc-icon-spinner"),jQuery.post(DSLCAjax.ajaxurl,{action:"dslc-ajax-save-draft-composer",dslc:"active",dslc_post_id:s,dslc_code:e},function(e){jQuery(".dslca-save-draft-composer .dslca-icon").removeClass("dslc-icon-spin dslc-icon-spinner").addClass("dslc-icon-save"),"success"==e.status?jQuery(".dslca-save-draft-composer").fadeOut(250):alert("Something went wrong, please try to save again."),jQuery("body").removeClass("dslca-saving-in-progress")})}function dslc_generate_code(){dslcDebug&&console.log("dslc_generate_code");var e,s,d,o,l,t,a,i="",c=12,n=12,r=0,u=0,m="";jQuery("#dslc-main .dslc-modules-area").each(function(){jQuery(".dslc-module-front",this).length?(jQuery(this).removeClass("dslc-modules-area-empty").addClass("dslc-modules-area-not-empty"),jQuery(".dslca-no-content",this).hide()):(jQuery(this).removeClass("dslc-modules-area-not-empty").addClass("dslc-modules-area-empty"),jQuery(".dslca-no-content:not(:visible)",this).show().css({"-webkit-animation-name":"dslcBounceIn","-moz-animation-name":"dslcBounceIn","animation-name":"dslcBounceIn","animation-duration":"0.6s","-webkit-animation-duration":"0.6s",padding:0}).animate({padding:"35px 0"},300))}),jQuery("#dslc-main .dslc-modules-section").each(function(){jQuery(".dslc-modules-area",this).length?jQuery(this).removeClass("dslc-modules-section-empty").addClass("dslc-modules-section-not-empty"):jQuery(this).removeClass("dslc-modules-section-not-empty").addClass("dslc-modules-section-empty")}),jQuery("#dslc-main .dslc-modules-area.dslc-last-col, .dslc-modules-area.dslc-first-col").removeClass("dslc-last-col dslc-first-col"),jQuery("#dslc-main .dslc-module-front.dslc-last-col, .dslc-module-front.dslc-first-col").removeClass("dslc-last-col dslc-first-col"),jQuery("#dslc-main .dslc-modules-section").each(function(){u=0,a=jQuery(this),m="",jQuery(".dslca-modules-section-settings input",a).each(function(){m=m+jQuery(this).data("id")+'="'+jQuery(this).val()+'" '}),i=i+"[dslc_modules_section "+m+"] ",jQuery(".dslc-modules-area",a).each(function(){o=jQuery(this),d=parseInt(o.data("size")),l="no",t="no",u+=d,u==n?(jQuery(this).addClass("dslc-last-col").next(".dslc-modules-area").addClass("dslc-first-col"),u=0,l="yes"):u>n&&(jQuery(this).removeClass("dslc-last-col").addClass("dslc-first-col"),u=d,t="yes"),u==d&&(t="yes"),i=i+'[dslc_modules_area last="'+l+'" first="'+t+'" size="'+d+'"] ',jQuery(".dslc-module-front",o).each(function(){s=parseInt(jQuery(this).data("dslc-module-size"));var d="no",o="no";r+=s,r==c?(jQuery(this).addClass("dslc-last-col").next(".dslc-module-front").addClass("dslc-first-col"),r=0,d="yes"):r>c&&(jQuery(this).removeClass("dslc-last-col").addClass("dslc-first-col"),r=s,o="yes"),r==c&&(o="yes",jQuery(this).addClass("dslc-last-col").next(".dslc-module-front").addClass("dslc-first-col"),r=0),e=jQuery(this).find(".dslca-module-code").val(),i=i+'[dslc_module last="'+d+'"]'+e+"[/dslc_module] "}),i+="[/dslc_modules_area] "}),i+="[/dslc_modules_section] "}),jQuery("#dslca-code").val(i),jQuery("#dslca-export-code").val(i),dslca_gen_content_for_search()}function dslc_generate_section_code(e){dslcDebug&&console.log("dslc_generate_section_code");var s,d,o,l,t,a,i,c="",n=12,r=0,u=0,m="";u=0;var i=e;return jQuery(".dslca-modules-section-settings input",i).each(function(){m=m+jQuery(this).data("id")+'="'+jQuery(this).val()+'" '}),c=c+"[dslc_modules_section "+m+"] ",jQuery(".dslc-modules-area",i).each(function(){l=jQuery(this),o=parseInt(l.data("size")),t="no",a="no",u+=o,u==n?(jQuery(this).addClass("dslc-last-col").next(".dslc-modules-area").addClass("dslc-first-col"),u=0,t="yes"):u>n&&(jQuery(this).removeClass("dslc-last-col").addClass("dslc-first-col"),u=o,a="yes"),u==o&&(a="yes"),c=c+'[dslc_modules_area last="'+t+'" first="'+a+'" size="'+o+'"] ',jQuery(".dslc-module-front",l).each(function(){d=parseInt(jQuery(this).data("dslc-module-size")),r+=d,r==o&&(jQuery(this).addClass("dslc-last-col").next(".dslc-module-front").addClass("dslc-first-col"),r=0),s=jQuery(this).find(".dslca-module-code").val(),c=c+"[dslc_module]"+s+"[/dslc_module] "}),c+="[/dslc_modules_area] "}),c+="[/dslc_modules_section] "}function dslc_update_preset(){dslcDebug&&console.log("dslc_update_preset");var e=jQuery(".dslca-module-being-edited"),s=e.find('.dslca-module-option-front[data-id="css_load_preset"]').val(),d=e.find(".dslca-module-code").val(),o=e.data("dslc-module-id");"none"!==s&&jQuery.post(DSLCAjax.ajaxurl,{action:"dslc-ajax-save-preset",dslc_preset_name:s,dslc_preset_code:d,dslc_module_id:o},function(s){jQuery(".dslc-module-front:not(#"+e.attr("id")+')[data-dslc-module-id="'+e.data("dslc-module-id")+'"][data-dslc-preset="'+e.data("dslc-preset")+'"]').each(function(){dslc_module_output_reload(jQuery(this))})})}function dslc_dm_get_defaults(e){dslcDebug&&console.log("dslc_dm_get_defaults");var s=e.find(".dslca-module-code").val();jQuery.post(DSLCAjax.ajaxurl,{action:"dslc-ajax-dm-module-defaults",dslc:"active",dslc_modules_options:s},function(e){jQuery(".dslca-prompt-modal textarea").val(e.output)})}function dslca_gen_content_for_search(){dslcDebug&&console.log("dslca_gen_content_for_search");var e=jQuery("#dslca-content-for-search"),s=e.val(),d="";jQuery("#dslc-main .dslca-editable-content").each(function(){d+=jQuery(this).html().replace(/\s+/g," ").trim()+" "}),e.val(d),s!==d&&dslc_show_publish_button()}function dslca_draggable_calc_center(e){dslcDebug&&console.log("dslca_draggable_calc_center"),jQuery(".dslc-modules-section-inner").sortable("option","cursorAt",{top:e.outerHeight()/2,left:e.outerWidth()/2})}function dslc_editable_content_gen_code(e){dslcDebug&&console.log("dslc_editable_content_gen_code");var s,d,o;s=e.closest(".dslc-module-front"),d=e.html().trim().replace(/<textarea/g,"<lctextarea").replace(/<\/textarea/g,"</lctextarea"),o=e.data("id"),jQuery('.dslca-module-option-front[data-id="'+o+'"]',s).val(d),dslc_show_publish_button()}var dslcRegularFontsArray=DSLCFonts.regular,dslcGoogleFontsArray=DSLCFonts.google,dslcAllFontsArray=dslcRegularFontsArray.concat(dslcGoogleFontsArray),dslcIconsCurrentSet=DSLCIcons.fontawesome,dslcDebug=!1;jQuery(document).ready(function(e){jQuery("body").hasClass("rtl")||jQuery(".dslca-module-edit-options-inner").jScrollPane(),e("body").addClass("dslca-enabled dslca-drag-not-in-progress"),e(".dslca-invisible-overlay").hide(),e(".dslca-section").eq(0).show(),dslc_drag_and_drop(),dslc_generate_code(),e(document).on("click",".dslca-currently-editing",function(){var s,d=!1,o=!1;e(".dslca-module-being-edited").length?(d=e(".dslca-module-being-edited"),s="#5890e5"):e(".dslca-modules-section-being-edited").length&&(d=e(".dslca-modules-section-being-edited"),s="#eabba9"),d&&(o=d.offset().top-100,0>o&&(o=0),e("html, body").animate({scrollTop:o},300,function(){d.animate({"outline-color":s},70,function(){d.animate({"outline-color":"transparent"},70,function(){d.animate({"outline-color":s},70,function(){d.animate({"outline-color":"transparent"},70,function(){d.removeAttr("style")})})})})}))}),e(document).on("click",".dslca-hide-composer-hook",function(){dslc_hide_composer()}),e(document).on("click",".dslca-show-composer-hook",function(){dslc_show_composer()}),e(document).on("click",".dslca-go-to-modules-hook",function(e){e.preventDefault(),dslc_show_section(".dslca-modules")}),e(document).on("click",".dslca-go-to-section-hook",function(s){s.preventDefault();var d=e(this).data("section");dslc_show_section(d),e(this).addClass("dslca-active").siblings(".dslca-go-to-section-hook").removeClass("dslca-active")}),e(document).on("click",".dslca-close-composer-hook",function(s){s.preventDefault(),e("body").hasClass("dslca-saving-in-progress")||dslc_js_confirm("disable_lc",'<span class="dslca-prompt-modal-title">'+DSLCString.str_exit_title+'</span><span class="dslca-prompt-modal-descr">'+DSLCString.str_exit_descr+"</span>",e(this).attr("href"))}),e(document).on("click",".dslca-submit",function(){jQuery(this).closest("form").submit()}),e(document).on("click",".dslca-section-title",function(s){s.stopPropagation(),e(".dslca-section-title-filter",this).length&&(dslc_generate_filters(),e(".dslca-section-title-filter-options").slideToggle(300))}),e(document).on("click",".dslca-section-title-filter-options span",function(s){s.stopPropagation();var d=e(this).data("origin"),o=e(this).closest(".dslca-section");o.hasClass("dslca-templates-load")?e(".dslca-section-title-filter-curr",o).text(e(this).text()+" TEMPLATES"):e(".dslca-section-title-filter-curr",o).text(e(this).text()+" MODULES"),e(".dslca-section-scroller-inner").css({left:0}),dslc_filter_origin(d,o)})}),jQuery(document).ready(function(e){e(document).on("click",".dslca-section-scroller-prev",function(s){s.preventDefault(),dslc_scroller_prev(e(this).closest(".dslca-section").find(".dslca-section-scroller"))}),e(document).on("click",".dslca-section-scroller-next",function(s){s.preventDefault(),dslc_scroller_next(e(this).closest(".dslca-section").find(".dslca-section-scroller"))})}),jQuery(window).load(function(){dslc_scroller_init(),jQuery(window).resize(function(){dslc_scroller_init()})}),jQuery(document).ready(function(){dslc_ui_animations()}),jQuery(document).ready(function(e){e(document).on("click",".dslca-open-modal-hook",function(){var s=e(this).data("modal");dslc_show_modal(e(this),s)}),e(document).on("click",".dslca-close-modal-hook",function(){if(!e(this).hasClass("dslca-action-disabled")){var s=e(this).data("modal");dslc_hide_modal(e(this),s)}})}),jQuery(document).ready(function(e){e(document).on("click",".dslca-prompt-modal-cancel-hook",function(e){e.preventDefault();var s=jQuery(".dslca-prompt-modal").data("id"),d=jQuery(".dslca-prompt-modal").data("target");"edit_in_progress"==s&&dslc_module_options_cancel_changes(function(){d.trigger("click")}),dslc_js_confirm_close(),jQuery(".dslca-prompt-modal").data("id","")}),e(document).on("click",".dslca-prompt-modal-confirm-hook",function(s){s.preventDefault();var d=jQuery(".dslca-prompt-modal").data("id"),o=jQuery(".dslca-prompt-modal").data("target"),l=!0;if("edit_in_progress"==d)dslc_module_options_confirm_changes(function(){o.trigger("click")});else if("disable_lc"==d)window.location=o;else if("delete_module"==d){var t=o.closest(".dslc-module-front");dslc_delete_module(t)}else if("delete_modules_area"==d){var a=o.closest(".dslc-modules-area");dslc_modules_area_delete(a)}else"delete_modules_section"==d?dslc_row_delete(o.closest(".dslc-modules-section")):"export_modules_section"==d||"import_modules_section"==d&&(dslc_row_import(e(".dslca-prompt-modal textarea").val()),e(".dslca-prompt-modal-confirm-hook span").css({opacity:0}),e(".dslca-prompt-modal-confirm-hook .dslca-loading").show(),l=!1);l&&dslc_js_confirm_close(),jQuery(".dslca-prompt-modal").data("id","")}),e(window).on("keydown",function(s){13==s.which?e(".dslca-prompt-modal-active").length&&e(".dslca-prompt-modal-confirm-hook").trigger("click"):27==s.which&&e(".dslca-prompt-modal-active").length&&e(".dslca-prompt-modal-cancel-hook").trigger("click")})}),jQuery(document).ready(function(e){dslc_row_edit_colorpicker_init(),dslc_row_edit_slider_init(),e("#dslc-main .dslc-modules-section").length||e("#dslca-tut-page").length||dslc_row_add(),e(document).on("click",".dslca-add-modules-section-hook",function(){var s=e(this);e(this).hasClass("dslca-action-disabled")||(s.find(".dslca-icon").removeClass("dslc-icon-align-justify").addClass("dslc-icon-spinner dslc-icon-spin"),dslc_row_add(function(){s.find(".dslca-icon").removeClass("dslc-icon-spinner dslc-icon-spin").addClass("dslc-icon-align-justify")}))}),e(document).on("click",".dslca-edit-modules-section-hook",function(){e(this).hasClass("dslca-action-disabled")||(jQuery(".dslca-module-being-edited.dslca-module-change-made").length?dslc_js_confirm("edit_in_progress",'<span class="dslca-prompt-modal-title">'+DSLCString.str_module_curr_edit_title+'</span><span class="dslca-prompt-modal-descr">'+DSLCString.str_module_curr_edit_descr+"</span>",jQuery(this)):jQuery(".dslca-modules-section-being-edited.dslca-modules-section-change-made").length?dslc_js_confirm("edit_in_progress",'<span class="dslca-prompt-modal-title">'+DSLCString.str_row_curr_edit_title+'</span><span class="dslca-prompt-modal-descr">'+DSLCString.str_row_curr_edit_descr+"</span>",jQuery(this)):dslc_row_edit(e(this).closest(".dslc-modules-section")))}),e(document).on("click",".dslca-row-edit-save",function(){dslc_row_edit_confirm(),e(".dslca-row-options-filter-hook.dslca-active").removeClass("dslca-active"),dslc_responsive_classes(!0)}),e(document).on("click",".dslca-row-edit-cancel",function(){dslc_row_edit_cancel(),e(".dslca-row-options-filter-hook.dslca-active").removeClass("dslca-active"),dslc_responsive_classes(!0)}),e(document).on("click",".dslca-copy-modules-section-hook",function(){e(this).hasClass("dslca-action-disabled")||dslc_row_copy(e(this).closest(".dslc-modules-section"))}),e(document).on("click",".dslca-import-modules-section-hook",function(s){s.preventDefault(),e(this).hasClass("dslca-action-disabled")||(e(".dslca-prompt-modal-confirm-hook").html('<span class="dslc-icon dslc-icon-ok"></span><span>'+DSLCString.str_import+'</span><div class="dslca-loading followingBallsGWrap"><div class="followingBallsG_1 followingBallsG"></div><div class="followingBallsG_2 followingBallsG"></div><div class="followingBallsG_3 followingBallsG"></div><div class="followingBallsG_4 followingBallsG"></div></div>'),dslc_js_confirm("import_modules_section",'<span class="dslca-prompt-modal-title">'+DSLCString.str_import_row_title+'</span><span class="dslca-prompt-modal-descr">'+DSLCString.str_import_row_descr+" <br><br><textarea></textarea></span>",e(this)))}),e(document).on("click",".dslca-delete-modules-section-hook",function(s){s.preventDefault(),e(this).hasClass("dslca-action-disabled")||dslc_js_confirm("delete_modules_section",'<span class="dslca-prompt-modal-title">'+DSLCString.str_del_row_title+'</span><span class="dslca-prompt-modal-descr">'+DSLCString.str_del_row_descr+"</span>",e(this))}),e(document).on("click",".dslca-export-modules-section-hook",function(s){s.preventDefault(),e(this).hasClass("dslca-action-disabled")||(e(".dslca-prompt-modal-cancel-hook").hide(),e(".dslca-prompt-modal-confirm-hook").html('<span class="dslc-icon dslc-icon-ok"></span>'+DSLCString.str_ok),dslc_js_confirm("export_modules_section",'<span class="dslca-prompt-modal-title">'+DSLCString.str_export_row_title+'</span><span class="dslca-prompt-modal-descr">'+DSLCString.str_export_row_descr+" <br><br><textarea></textarea></span>",e(this)),e(".dslca-prompt-modal textarea").val(dslc_generate_section_code(e(this).closest(".dslc-modules-section"))))})}),jQuery(document).ready(function(e){e(document).on("click",".dslca-add-modules-area-hook",function(e){e.preventDefault(),dslc_modules_area_add(jQuery(this).closest(".dslc-modules-section").find(".dslc-modules-section-inner"))}),e(document).on("click",".dslca-delete-modules-area-hook",function(s){s.preventDefault(),e(this).hasClass("dslca-action-disabled")||dslc_js_confirm("delete_modules_area",'<span class="dslca-prompt-modal-title">'+DSLCString.str_del_area_title+'</span><span class="dslca-prompt-modal-descr">'+DSLCString.str_del_area_descr+"</span>",e(this))}),e(document).on("click",".dslca-copy-modules-area-hook",function(s){if(s.preventDefault(),!e(this).hasClass("dslca-action-disabled")){var d=e(this).closest(".dslc-modules-area");dslc_copy_modules_area(d)}}),e(document).on("click",".dslca-change-width-modules-area-options span",function(){e(this).hasClass("dslca-action-disabled")||dslc_modules_area_width_set(jQuery(this).closest(".dslc-modules-area"),jQuery(this).data("size"))}),e(document).on("click",".dslca-change-width-modules-area-hook",function(s){if(s.preventDefault(),!e(this).hasClass("dslca-action-disabled"))if(e(".dslca-change-width-modules-area-options:visible",this).length)e(".dslca-change-width-modules-area-options",this).hide();else{e(".dslca-change-width-modules-area-options .dslca-active-width").removeClass("dslca-active-width");var d=e(this).closest(".dslc-modules-area").data("size");e('.dslca-change-width-modules-area-options span[data-size="'+d+'"]').addClass("dslca-active-width"),e(".dslca-change-width-modules-area-options",this).show()}})}),jQuery(document).ready(function(e){dslc_module_options_tooltip(),dslc_module_options_font(),dslc_module_options_icon(),dslc_module_options_text_align(),dslc_module_options_checkbox(),dslc_module_options_box_shadow(),dslc_module_options_text_shadow(),e(".dslca-module-edit-form").submit(function(e){e.preventDefault(),dslc_module_output_altered()}),e(document).on("click",".dslca-copy-module-hook",function(s){s.preventDefault(),e(this).hasClass("dslca-action-disabled")||dslc_module_copy(e(this).closest(".dslc-module-front"))}),e(document).on("click",".dslca-delete-module-hook",function(s){s.preventDefault(),e(this).hasClass("dslca-action-disabled")||dslc_js_confirm("delete_module",'<span class="dslca-prompt-modal-title">'+DSLCString.str_del_module_title+'</span><span class="dslca-prompt-modal-descr">'+DSLCString.str_del_module_descr+"</span>",e(this))}),e(document).on("click",".dslca-change-width-module-hook",function(s){s.preventDefault(),e(this).hasClass("dslca-action-disabled")||(e(".dslca-change-width-module-options",this).toggle(),e(this).closest(".dslca-module-manage").toggleClass("dslca-module-manage-change-width-active"))}),e(document).on("click",".dslca-change-width-module-options span",function(){dslc_module_width_set(jQuery(this).closest(".dslc-module-front"),jQuery(this).data("size"))}),e(document).on("click",".dslca-module-edit-hook",function(s){if(s.preventDefault(),!e("body").hasClass("dslca-composer-hidden"))if(e(".dslca-module-being-edited.dslca-module-change-made").length)dslc_js_confirm("edit_in_progress",'<span class="dslca-prompt-modal-title">'+DSLCString.str_module_curr_edit_title+'</span><span class="dslca-prompt-modal-descr">'+DSLCString.str_module_curr_edit_descr+"</span>",e(this));else if(e(".dslca-modules-section-being-edited.dslca-modules-section-change-made").length)dslc_js_confirm("edit_in_progress",'<span class="dslca-prompt-modal-title">'+DSLCString.str_row_curr_edit_title+'</span><span class="dslca-prompt-modal-descr">'+DSLCString.str_row_curr_edit_descr+"</span>",e(this));else{e(".dslca-modules-section-being-edited").length&&e(".dslca-module-edit-cancel").trigger("click");var d=e(this).closest(".dslc-module-front"),o=d.data("dslc-module-id");d.find(".dslca-module-code").val();e(".dslca-module-being-edited").removeClass("dslca-module-being-edited"),d.addClass("dslca-module-being-edited"),dslc_module_options_show(o)}}),e(document).on("click",".dslca-module-edit-options-tab-hook",function(){dslc_module_options_tab_filter(e(this))}),e(document).on("click",".dslca-options-filter-hook",function(s){var d=jQuery(".dslca-options-filter-hook.dslca-active").data("section");e(".dslca-options-filter-hook.dslca-active").removeClass("dslca-active"),e(this).addClass("dslca-active"),dslc_module_options_section_filter(jQuery(this).data("section")),"responsive"==d&&(jQuery(".dslca-container-loader").show(),dslc_responsive_classes(),dslc_module_output_altered(function(){jQuery(".dslca-container-loader").hide()}))}),e(document).on("click",".dslca-module-edit-save",function(){dslc_module_options_confirm_changes(),e(".dslca-options-filter-hook.dslca-active").removeClass("dslca-active"),dslc_responsive_classes(!0)}),e(document).on("click",".dslca-module-edit-cancel",function(){dslc_module_options_cancel_changes(),e(".dslca-options-filter-hook.dslca-active").removeClass("dslca-active"),dslc_responsive_classes(!0)}),jQuery(document).on("click",".dslca-module-edit-field-icon-switch-set",function(){var e=jQuery(".dslca-module-edit-field-icon-switch-sets"),s=jQuery(this);if(jQuery(".dslca-module-edit-field-icon-switch-set.dslca-active").removeClass("dslca-active"),s.addClass("dslca-active"),e.is(":visible"))jQuery(".dslca-module-edit-field-icon-switch-sets").hide();else{var d=s.find(".dslca-module-edit-field-icon-curr-set").text();jQuery(".dslca-module-edit-field-icon-switch-sets span.dslca-active").removeClass("dslca-active"),jQuery('.dslca-module-edit-field-icon-switch-sets span[data-set="'+d+'"]').addClass("dslca-active");var o=s.offset(),l=e.outerHeight(),t=e.outerWidth(),a=o.left-t/2+6,i="50%";0>a&&(i=t/2+a+"px",a=0),jQuery(".dslca-module-edit-field-icon-switch-sets").show().css({top:o.top-l-20,left:a}),jQuery("head").append(jQuery("<style>.dslca-module-edit-field-icon-switch-sets:after, .dslca-module-edit-field-icon-switch-sets:before { left: "+i+" }</style>"))}}),jQuery(document).on("click",".dslca-module-edit-field-icon-switch-sets span",function(){var s=e(this).data("set");dslcIconsCurrentSet=DSLCIcons[s],e(this).addClass("dslca-active").siblings(".dslca-active").removeClass("dslca-active"),e(".dslca-module-edit-field-icon-switch-set.dslca-active .dslca-module-edit-field-icon-curr-set").text(s),e(".dslca-module-edit-field-icon-switch-set.dslca-active").closest(".dslca-module-edit-option").find(".dslca-module-edit-field-icon-next").trigger("click"),e(".dslca-module-edit-field-icon-switch-sets").hide()}),jQuery(document).on("mouseenter",".dslca-module-edit-option-icon",function(){var s=e(this).find(".dslca-module-edit-field-icon-curr-set").text();dslcIconsCurrentSet=DSLCIcons[s]})}),jQuery(document).ready(function(e){e(document).on("click",".dslca-template",function(){dslc_template_load(jQuery(this).data("id"))}),e(".dslca-template-import-form").submit(function(e){e.preventDefault(),dslc_template_import()}),e(".dslca-template-save-form").submit(function(e){e.preventDefault(),dslc_template_save()}),e(document).on("click",".dslca-delete-template-hook",function(s){s.stopPropagation(),dslc_template_delete(e(this).data("id"))})}),jQuery(document).ready(function(e){e(document).on("click",".dslca-save-composer-hook",function(){e("body").hasClass("dslca-module-saving-in-progress")||e("body").hasClass("dslca-saving-in-progress")||dslc_save_composer()}),e(document).on("click",".dslca-save-draft-composer-hook",function(){e("body").hasClass("dslca-module-saving-in-progress")||e("body").hasClass("dslca-saving-in-progress")||dslc_save_draft_composer()})}),jQuery(document).ready(function(e){e(document).on("keypress",'.dslca-module-edit-field[name="css_save_preset"]',function(s){if(13==s.which){var d=e(this).val(),o=d.toLowerCase().replace(/\s/g,"-");e("body").addClass("dslca-new-preset-added"),e('.dslca-module-edit-field[name="css_load_preset"]').append('<option value="'+o+'">'+o+"</option>").val(o).trigger("change"),e(this).val("")}}),e(document).on("change",'.dslca-module-edit-field[name="css_load_preset"]',function(s){e(".dslca-module-being-edited").addClass("dslca-preload-preset")})}),jQuery(document).ready(function(e){e(document).on("click",".dslca-module-get-defaults-hook",function(){var s=jQuery(this).closest(".dslc-module-front"),d=(dslc_dm_get_defaults(s),'<span class="dslca-prompt-modal-title">Module Defaults</span><span class="dslca-prompt-modal-descr">The code bellow is used to alter the defaults.</span><textarea></textarea><br><br>');e(".dslca-prompt-modal-cancel-hook").hide(),e(".dslca-prompt-modal-confirm-hook").html('<span class="dslc-icon dslc-icon-ok"></span>OK'),dslc_js_confirm("dev_mode_get_default",d,s)}),e(document).on("click","a:not(.dslca-link)",function(e){e.preventDefault()}),e(document).unbind("keydown").bind("keydown",function(s){var d=!1;if(8===s.keyCode){var o=s.srcElement||s.target;d="INPUT"===o.tagName.toUpperCase()&&("TEXT"===o.type.toUpperCase()||"PASSWORD"===o.type.toUpperCase()||"FILE"===o.type.toUpperCase())||"TEXTAREA"===o.tagName.toUpperCase()||e(o).hasClass("dslca-editable-content")||e(o).hasClass("dslc-tabs-nav-hook-title")||e(o).hasClass("dslc-accordion-title")?o.readOnly||o.disabled:!0}d&&s.preventDefault()}),e(document).on("keydown",function(e){116==(e.which||e.keyCode)&&(jQuery(".dslca-save-composer-hook").is(":visible")||jQuery(".dslca-module-edit-save").is(":visible"))&&(e.preventDefault(),dslc_js_confirm("disable_lc",'<span class="dslca-prompt-modal-title">'+DSLCString.str_refresh_title+'</span><span class="dslca-prompt-modal-descr">'+DSLCString.str_refresh_descr+"</span>",document.URL))}),e(document).on("click",".dslca-refresh-module-hook",function(s){e(this).css({"-webkit-animation-name":"dslcRotate","-moz-animation-name":"dslcRotate","animation-name":"dslcRotate","animation-duration":"0.6s","-webkit-animation-duration":"0.6s","animation-iteration-count":"infinite","-webkit-animation-iteration-count":"infinite"}),e(this).closest(".dslc-module-front").addClass("dslca-module-being-edited"),dslc_module_output_altered(function(){e(".dslca-module-being-edited").removeClass("dslca-module-being-edited")})})}),window.onbeforeunload=function(){},jQuery(document).ready(function(e){e(document).on("change",".dslca-modules-section-edit-field",function(){var s,d,o,l,t,a,i,c;if(s=e(this),d=s.data("id"),l=s.val(),t=l,a=s.data("css-rule"),o=e(".dslca-modules-section-being-edited"),c=o,i=e('.dslca-modules-section-settings input[data-id="'+d+'"]',o),o.addClass("dslca-modules-section-change-made"),s.hasClass("dslca-modules-section-edit-field-upload")&&l&&l.length&&(l=s.data("dslca-img-url")),"background-image"==a&&(l='url("'+l+'")',dslc_bg_video()),"bg_image_attachment"==d&&o.removeClass("dslc-init-parallax"),"border-top"==d||"border-right"==d||"border-bottom"==d||"border-left"==d){var n=e('.dslca-modules-section-settings input[data-id="border_style"]').val();i=e('.dslca-modules-section-settings input[data-id="border"]',o),t="";var r=s.closest(".dslca-modules-section-edit-option-checkbox-wrapper");r.find(".dslca-modules-section-edit-field-checkbox").each(function(){e(this).is(":checked")&&("border-top"==e(this).data("id")?t+="top ":"border-right"==e(this).data("id")?t+="right ":"border-bottom"==e(this).data("id")?t+="bottom ":"border-left"==e(this).data("id")&&(t+="left "))}),s.is(":checked")?"border-top"==s.data("id")?o.css({"border-top-style":n}):"border-right"==s.data("id")?o.css({"border-right-style":n}):"border-bottom"==s.data("id")?o.css({"border-bottom-style":n}):"border-left"==s.data("id")&&o.css({"border-left-style":n}):"border-top"==s.data("id")?o.css({"border-top-style":"hidden"}):"border-right"==s.data("id")?o.css({"border-right-style":"hidden"}):"border-bottom"==s.data("id")?o.css({"border-bottom-style":"hidden"}):"border-left"==s.data("id")&&o.css({"border-left-style":"hidden"})}else if(s.hasClass("dslca-modules-section-edit-field-checkbox")){var u=e(this).closest(".dslca-modules-section-edit-option-checkbox-wrapper").find(".dslca-modules-section-edit-field-checkbox"),m="";u.each(function(){e(this).prop("checked")&&(m+=e(this).data("val")+" ")});var t=m;"show_on"==s.data("id")&&(console.log(m),-1!==m.indexOf("desktop")?e(".dslca-modules-section-being-edited").removeClass("dslc-hide-on-desktop"):e(".dslca-modules-section-being-edited").addClass("dslc-hide-on-desktop"),-1!==m.indexOf("tablet")?e(".dslca-modules-section-being-edited").removeClass("dslc-hide-on-tablet"):e(".dslca-modules-section-being-edited").addClass("dslc-hide-on-tablet"),-1!==m.indexOf("phone")?e(".dslca-modules-section-being-edited").removeClass("dslc-hide-on-phone"):e(".dslca-modules-section-being-edited").addClass("dslc-hide-on-phone"))}else if("bg_image_attachment"==d&&"parallax"==l||"type"==d)"bg_image_attachment"==d?(o.addClass("dslc-init-parallax"),dslc_parallax()):"type"==d&&("full"==l?o.addClass("dslc-full"):o.removeClass("dslc-full"),dslc_masonry());else if("columns_spacing"==d)"nospacing"==l?o.addClass("dslc-no-columns-spacing"):o.removeClass("dslc-no-columns-spacing");else if("custom_class"==d);else if("custom_id"==d);else if("bg_video"==d){if(jQuery(".dslc-bg-video video",o).remove(),l&&l.length){var h=l;h=h.replace(".webm",""),h=h.replace(".mp4",""),jQuery(".dslc-bg-video-inner",o).html('<video><source type="video/mp4" src="'+h+'.mp4" /><source type="video/webm" src="'+h+'.webm" /></video>'),dslc_bg_video()}}else if("bg_image_thumb"==d)if("enabled"==t){if(jQuery("#dslca-post-data-thumb").length){var p="url('"+jQuery("#dslca-post-data-thumb").val()+"')";c.css(a,p)}}else"disabled"==t&&c.css(a,"none");else s.data("css-element")&&(c=jQuery(s.data("css-element"),o)),c.css(a,l);i.val(t),dslc_generate_code(),dslc_show_publish_button()}),jQuery(document).on("blur",".dslca-editable-content",function(){jQuery("body").hasClass("dslca-composer-hidden")||"simple"!=jQuery(this).data("type")||dslc_editable_content_gen_code(jQuery(this))}).on("paste",".dslca-editable-content",function(){if(!jQuery("body").hasClass("dslca-composer-hidden")&&"simple"==jQuery(this).data("type")){var e=jQuery(this);setTimeout(function(){"simple"==e.data("type")&&e.html(e.text()),dslc_editable_content_gen_code(jQuery(this))},1)}}).on("focus",".dslca-editable-content",function(){
4
- "simple"==jQuery(this).data("type")&&(jQuery("body").hasClass("dslca-composer-hidden")?e(this).trigger("blur"):jQuery(this).closest(".dslc-module-front").hasClass("dslca-module-being-edited")||jQuery(this).closest(".dslc-module-front").find(".dslca-module-edit-hook").trigger("click"))}).on("keyup",".dslca-editable-content",function(){"simple"==jQuery(this).data("type")&&jQuery(this).closest(".dslc-module-front").addClass("dslca-module-change-made")}),e(document).on("blur",".dslc-editable-area",function(s){var d=e(this).closest(".dslc-module-front"),o=e(this).data("dslc-option-id"),l=e(this).html();jQuery('.dslca-module-options-front textarea[data-id="'+o+'"]',d).val(l),dslc_module_output_altered()}),e(document).on("change",".dslca-module-edit-field",function(){dslc_module_options_hideshow_tabs();var s="",d="",o=e(this),l=o.data("id"),t=o.closest(".dslca-module-edit-option"),a=e(".dslca-module-being-edited"),i=a.data("dslc-module-id");jQuery(".dslca-module-options-front textarea",a);if(a.addClass("dslca-module-change-made"),"active"==jQuery(this).closest(".dslca-module-edit-option").data("refresh-on-change")){if(t.find(".dslca-module-edit-option-checkbox-wrapper").length){var c=e('input[type="checkbox"]',t);c.each(function(){e(this).prop("checked")&&(s=s+e(this).val()+" ")})}else if(o.hasClass("dslca-module-edit-option-radio"))var s=e(".dslca-module-edit-field:checked",o).val();else{var s=o.val();if("orientation"==l&&"horizontal"==s){var n=jQuery(".dslca-module-edit-option-thumb_width .dslca-module-edit-field-slider");n.slider({value:40}).slider("option","slide")(null,{value:n.slider("value")})}else if("orientation"==l&&"vertical"==s){var n=jQuery(".dslca-module-edit-option-thumb_width .dslca-module-edit-field-slider");n.slider({value:100}).slider("option","slide")(null,{value:n.slider("value")})}}jQuery('.dslca-module-options-front textarea[data-id="'+l+'"]',a).val(s),jQuery(".dslca-container-loader").show(),dslc_module_output_altered(function(){jQuery(".dslca-module-being-edited").addClass("dslca-module-change-made"),"css_load_preset"!=l||jQuery("body").hasClass("dslca-new-preset-added")?jQuery(".dslca-container-loader").hide():(dslc_module_options_show(i),jQuery(".dslca-container-loader").hide()),jQuery("body").removeClass("dslca-new-preset-added")})}else{if(o.hasClass("dslca-module-edit-field-font")){var r=o.val();r+=":400,100,200,300,500,600,700,800,900";var u=o.data("affect-on-change-el"),m=o.data("affect-on-change-rule"),h=o.val(),p=h;o.val().length&&-1!==dslcGoogleFontsArray.indexOf(o.val())?WebFont.load({google:{families:[r]},active:function(e,s){jQuery(".dslca-font-loading").closest(".dslca-module-edit-field-font-next").length?jQuery(".dslca-font-loading").removeClass("dslca-font-loading").find(".dslca-icon").removeClass("dslc-icon-spin").addClass("dslc-icon-chevron-right"):jQuery(".dslca-font-loading").removeClass("dslca-font-loading").find(".dslca-icon").removeClass("dslc-icon-spin").addClass("dslc-icon-chevron-left"),jQuery(u,".dslca-module-being-edited").css(m,h)},inactive:function(e,s){jQuery(".dslca-font-loading").closest(".dslca-module-edit-field-font-next").length?jQuery(".dslca-font-loading").removeClass("dslca-font-loading").find(".dslca-icon").removeClass("dslc-icon-spin").addClass("dslc-icon-chevron-right"):jQuery(".dslca-font-loading").removeClass("dslca-font-loading").find(".dslca-icon").removeClass("dslc-icon-spin").addClass("dslc-icon-chevron-left")}}):(jQuery(".dslca-font-loading").closest(".dslca-module-edit-field-font-next").length?jQuery(".dslca-font-loading").removeClass("dslca-font-loading").find(".dslca-icon").removeClass("dslc-icon-spin").addClass("dslc-icon-chevron-right"):jQuery(".dslca-font-loading").removeClass("dslca-font-loading").find(".dslca-icon").removeClass("dslc-icon-spin").addClass("dslc-icon-chevron-left"),jQuery(u,".dslca-module-being-edited").css(m,h))}else if(o.hasClass("dslca-module-edit-field-checkbox")){var c=e('input[type="checkbox"]',t);c.each(function(){e(this).prop("checked")?(s+="solid ",d=d+e(this).val()+" "):s+="none "})}if(!o.hasClass("dslca-module-edit-field-font")){var u=o.data("affect-on-change-el"),m=o.data("affect-on-change-rule"),h=o.val(),p=h;o.hasClass("dslca-module-edit-field-checkbox")&&(h=s,p=d),o.hasClass("dslca-module-edit-field-image")&&(h='url("'+h+'")'),h.length<1&&("background-color"==m||"background"==m)&&(h="transparent"),jQuery(u,".dslca-module-being-edited").css(m,h)}jQuery('.dslca-module-option-front[data-id="'+l+'"]',a).val(p)}}),e(document).on("keyup, blur",".dslca-module-edit-field-numeric",function(){var s,d=e(this),o=d.data("id"),l=(d.closest(".dslca-module-edit-option"),e(".dslca-module-being-edited")),t=(l.data("dslc-module-id"),jQuery(".dslca-module-options-front textarea",l),d.data("affect-on-change-el")),a=d.data("affect-on-change-rule"),i=d.val(),c=i+d.data("ext");if(l.addClass("dslca-module-change-made"),"active"!=jQuery(this).closest(".dslca-module-edit-option").data("refresh-on-change")){s=a.replace(/ /g,"").split(",");for(var n=0;n<s.length;n++)jQuery(t,".dslca-module-being-edited").css(s[n],c);jQuery('.dslca-module-option-front[data-id="'+o+'"]',l).val(i)}}),e(document).on("keyup",".dslca-modules-section-edit-field-numeric",function(){var s,d=e(this),o=d.data("id"),l=(d.closest(".dslca-modules-section-edit-option"),e(".dslca-modules-section-being-edited")),t=d.data("css-rule"),a=d.val(),i=a+d.data("ext");l.addClass("dslca-modules-section-change-made"),s=t.replace(/ /g,"").split(",");for(var c=0;c<s.length;c++)l.css(s[c],i);jQuery('.dslca-modules-section-settings input[data-id="'+o+'"]',l).val(a)})}),jQuery(document).ready(function(e){var s;jQuery(document).on("click",".dslca-module-edit-field-image-add-hook, .dslca-modules-section-edit-field-image-add-hook",function(){var e=jQuery(this);if(e.hasClass("dslca-module-edit-field-image-add-hook"))var d=e.siblings(".dslca-module-edit-field-image"),o=e.siblings(".dslca-module-edit-field-image-remove-hook");else var d=e.siblings(".dslca-modules-section-edit-field-upload"),o=e.siblings(".dslca-modules-section-edit-field-image-remove-hook");var l=!1;s=wp.media.frames.file_frame=wp.media({title:"Choose Image",button:{text:"Confirm"},multiple:l}),s.on("select",function(){var l=s.state().get("selection").first().toJSON();d.val(l.id).data("dslca-img-url",l.url).trigger("change"),e.hide(),o.show()}),s.open()}),jQuery(document).on("click",".dslca-module-edit-field-image-remove-hook, .dslca-modules-section-edit-field-image-remove-hook",function(){var e=jQuery(this);if(e.hasClass("dslca-module-edit-field-image-remove-hook"))var s=e.siblings(".dslca-module-edit-field-image"),d=e.siblings(".dslca-module-edit-field-image-add-hook");else var s=e.siblings(".dslca-modules-section-edit-field-upload"),d=e.siblings(".dslca-modules-section-edit-field-image-add-hook");s.val("").trigger("change"),e.hide(),d.show()}),e(document).on("click",".dslca-wysiwyg-actions-edit-hook",function(){var s=e(this).parent().siblings(".dslca-editable-content"),d=s.closest(".dslc-module-front");if(d.hasClass("dslc-module-handle-like-accordion")){dslc_accordion_generate_code(d.find(".dslc-accordion"));var o=d.find('.dslca-module-option-front[data-id="accordion_content"]').val(),l=o.split("(dslc_sep)"),t=s.closest(".dslc-accordion-item").index(),a=l[t].trim().replace(/<lctextarea/g,"<textarea").replace(/<\/lctextarea/g,"</textarea")}else if(d.hasClass("dslc-module-handle-like-tabs")){dslc_tabs_generate_code(d.find(".dslc-tabs"));var o=d.find('.dslca-module-option-front[data-id="tabs_content"]').val(),l=o.split("(dslc_sep)"),t=s.closest(".dslc-tabs-tab-content").index(),a=l[t].trim().replace(/<lctextarea/g,"<textarea").replace(/<\/lctextarea/g,"</textarea")}else var a=d.find('.dslca-module-option-front[data-id="'+s.data("id")+'"]').val().replace(/<lctextarea/g,"<textarea").replace(/<\/lctextarea/g,"</textarea");if("undefined"!=typeof tinymce){var i=tinymce.get("dslcawpeditor");e("#wp-dslcawpeditor-wrap").hasClass("tmce-active")?i.setContent(a,{format:"html"}):jQuery("textarea#dslcawpeditor").val(a),d.hasClass("dslca-module-being-edited")||d.find(".dslca-module-edit-hook").trigger("click"),e(".dslca-wp-editor").show(),s.addClass("dslca-wysiwyg-active"),e("#dslcawpeditor_ifr, #dslcawpeditor").css({height:e(".dslca-wp-editor").height()-350})}}),e(document).on("click",".dslca-wp-editor-save-hook",function(){var s=e(".dslca-wysiwyg-active").closest(".dslc-module-front");if("undefined"!=typeof tinymce){if(e("#wp-dslcawpeditor-wrap").hasClass("tmce-active"))var d=tinymce.get("dslcawpeditor"),o=d.getContent();else var o=e("#dslcawpeditor").val();if(e(".dslca-wp-editor").hide(),e(".dslca-wysiwyg-active").html(o),s.hasClass("dslc-module-handle-like-accordion")){e(".dslca-wysiwyg-active").siblings(".dslca-accordion-plain-content").val(o);var l=s.find(".dslc-accordion");dslc_accordion_generate_code(l)}else if(s.hasClass("dslc-module-handle-like-tabs")){e(".dslca-wysiwyg-active").siblings(".dslca-tab-plain-content").val(o);var t=s.find(".dslc-tabs");dslc_tabs_generate_code(t)}dslc_editable_content_gen_code(e(".dslca-wysiwyg-active")),e(".dslca-wysiwyg-active").removeClass("dslca-wysiwyg-active")}}),e(document).on("click",".dslca-wp-editor-cancel-hook",function(){e(".dslca-wp-editor").hide(),e(".dslca-wysiwyg-active").removeClass("dslca-wysiwyg-active")})});
1
+ "use strict";function dslc_hide_composer(){dslcDebug&&console.log("dslc_hide_composer"),jQuery(".dslca-hide-composer-hook").hide(),jQuery(".dslca-show-composer-hook").show(),jQuery("body").addClass("dslca-composer-hidden"),jQuery(".dslca-container").css({bottom:-1*jQuery(".dslca-container").outerHeight()}),jQuery(".dslca-header").hide()}function dslc_show_composer(){dslcDebug&&console.log("dslc_show_composer"),jQuery(".dslca-show-composer-hook").hide(),jQuery(".dslca-hide-composer-hook").show(),jQuery("body").removeClass("dslca-composer-hidden"),jQuery(".dslca-container").css({bottom:0}),jQuery(".dslca-header").show()}function dslc_show_publish_button(){dslcDebug&&console.log("dslc_show_publish_button"),jQuery(".dslca-save-composer").show().addClass("dslca-init-animation"),jQuery(".dslca-save-draft-composer").show().addClass("dslca-init-animation")}function dslc_show_section(a){dslcDebug&&console.log("dslc_show_section"),jQuery("body").addClass("dslca-anim-in-progress");var c=(jQuery(a).data("title"),jQuery(a).data("bg"));jQuery(".dslca-container").css({bottom:-500}),jQuery(".dslca-sections").animate({backgroundColor:c},200),jQuery(".dslca-section").hide(),jQuery(a).show(),".dslca-modules-section-edit"==a&&dslc_row_edit_scrollbar_init(),".dslca-module-edit"==a?jQuery(".dslca-currently-editing").show().css("background-color",c).find("strong").text(jQuery(".dslca-module-being-edited").attr("title")+" module"):".dslca-modules-section-edit"==a?jQuery(".dslca-currently-editing").show().css("background-color","#e5855f").find("strong").text("Row"):jQuery(".dslca-currently-editing").hide().find("strong").text(""),dslc_module_options_tab_filter(),".dslca-module-edit"!=a&&dslc_scroller_init(),setTimeout(function(){jQuery(".dslca-container").css({bottom:0})},300),jQuery("body").removeClass("dslca-anim-in-progress")}function dslc_generate_filters(){dslcDebug&&console.log("dslc_generate_filters");var a,b=[],c='<span data-origin="">ALL</span>',d=jQuery(".dslca-section:visible .dslca-origin");d.each(function(){a=jQuery(this),-1==jQuery.inArray(a.data("origin"),b)&&(b.push(a.data("origin")),c+='<span data-origin="'+a.data("origin")+'">'+a.data("origin").replace("_"," ")+"</span>")}),jQuery(".dslca-section:visible .dslca-section-title-filter-options").html(c).css("background",jQuery(".dslca-section:visible").data("bg"))}function dslc_filter_origin(a,b){dslcDebug&&console.log("dslc_filter_origin"),jQuery(".dslca-origin",b).hide(),jQuery('.dslca-origin[data-origin="'+a+'"]',b).show(),""==a&&jQuery(".dslca-origin",b).show(),dslc_scroller_init()}function dslc_drag_and_drop(){dslcDebug&&console.log("dslc_drag_and_drop");var b,c,d;jQuery(".dslca-modules .dslca-module").draggable({scroll:!1,appendTo:"body",helper:"clone",cursor:"default",cursorAt:{top:50,left:30},containment:"body",start:function(a,b){jQuery("body").removeClass("dslca-new-module-drag-not-in-progress").addClass("dslca-new-module-drag-in-progress"),jQuery("#dslc-header").addClass("dslca-header-low-z-index")},stop:function(a,b){jQuery("body").removeClass("dslca-new-module-drag-in-progress").addClass("dslca-new-module-drag-not-in-progress"),jQuery("#dslc-header").removeClass("dslca-header-low-z-index")}}),jQuery(".dslc-content").sortable({items:".dslc-modules-section",handle:'.dslca-move-modules-section-hook:not(".dslca-action-disabled")',placeholder:"dslca-modules-section-placeholder",tolerance:"pointer",cursorAt:{bottom:10},axis:"y",scroll:!0,scrollSensitivity:200,scrollSpeed:10,sort:function(){jQuery(this).removeClass("ui-state-default")},update:function(a,b){dslc_generate_code(),dslc_show_publish_button()},start:function(a,b){jQuery("body").removeClass("dslca-drag-not-in-progress").addClass("dslca-drag-in-progress"),b.placeholder.html('<span class="dslca-placeholder-help-text"><span class="dslca-placeholder-help-text-inner">'+DSLCString.str_row_helper_text+"</span></span>"),jQuery(".dslc-content").sortable("refreshPositions")},stop:function(a,b){jQuery("body").removeClass("dslca-drag-in-progress").addClass("dslca-drag-not-in-progress"),jQuery(".dslca-anim-opacity-drop").removeClass("dslca-anim-opacity-drop"),jQuery(".dslc-modules-section").css({overflow:"visible","max-height":"none"})}}),jQuery(".dslc-modules-section-inner").sortable({connectWith:".dslc-modules-section-inner",items:".dslc-modules-area",handle:'.dslca-move-modules-area-hook:not(".dslca-action-disabled")',placeholder:"dslca-modules-area-placeholder",cursorAt:{top:0,left:0},tolerance:"intersect",scroll:!0,scrollSensitivity:100,scrollSpeed:15,sort:function(){jQuery(this).removeClass("ui-state-default")},over:function(a,b){var c=b.placeholder.closest(".dslc-modules-section");jQuery(c).removeClass("dslc-modules-section-empty").addClass("dslc-modules-section-not-empty"),c.siblings(".dslc-modules-section").each(function(){jQuery(".dslc-modules-area:not(.ui-sortable-helper)",jQuery(this)).length?jQuery(this).removeClass("dslc-modules-section-empty").addClass("dslc-modules-section-not-empty"):jQuery(this).removeClass("dslc-modules-section-not-empty").addClass("dslc-modules-section-empty")})},update:function(a,b){dslc_generate_code(),dslc_show_publish_button()},start:function(a,b){b.placeholder.html('<span class="dslca-placeholder-help-text"><span class="dslca-placeholder-help-text-inner">'+DSLCString.str_area_helper_text+"</span></span>"),jQuery(b.item).hasClass("dslc-12-col")?b.placeholder.width(b.item.width()).css({margin:0}):b.placeholder.width(b.item.width()-10),jQuery("body").removeClass("dslca-drag-not-in-progress").addClass("dslca-drag-in-progress dslca-modules-area-drag-in-progress"),jQuery(".dslc-modules-section-inner").sortable("refreshPositions")},stop:function(a,b){jQuery("body").removeClass("dslca-drag-in-progress dslca-modules-area-drag-in-progress").addClass("dslca-drag-not-in-progress"),jQuery(".dslca-anim-opacity-drop").removeClass("dslca-anim-opacity-drop")},change:function(a,b){}}),jQuery(".dslc-modules-section").droppable({drop:function(a,b){var c=jQuery(this).find(".dslc-modules-section-inner"),d=b.draggable.data("id");"DSLC_M_A"==d&&dslc_modules_area_add(c)}}),jQuery(".dslc-modules-area").droppable({activeClass:"dslca-ui-state-default",hoverClass:"dslca-ui-state-hover",accept:":not(.ui-sortable-helper)",drop:function(a,e){if(b=jQuery(this),c=e.draggable.data("id"),"DSLC_M_A"==c||jQuery("body").hasClass("dslca-module-drop-in-progress")||b.closest("#dslc-header").length||b.closest("#dslc-footer").length);else{jQuery("body").addClass("dslca-anim-in-progress dslca-module-drop-in-progress"),b.hasClass("dslc-modules-area-not-empty")&&b.animate({paddingBottom:50},150),dslc_module_output_default(c,function(a){d=a.output,jQuery(".dslca-module-loading-inner",b).stop().animate({width:"100%"},300,"linear",function(){b.css({paddingBottom:0}),jQuery(".dslca-module-loading",b).hide();var a=jQuery(d).appendTo(b);a.css({"-webkit-animation-name":"dslcBounceIn","-moz-animation-name":"dslcBounceIn","animation-name":"dslcBounceIn","animation-duration":"0.6s","-webkit-animation-duration":"0.6s"}),setTimeout(function(){dslc_init_square(),dslc_center(),dslc_masonry(a),jQuery("body").removeClass("dslca-anim-in-progress dslca-module-drop-in-progress")},700),jQuery(".dslca-no-content-primary",b).css({opacity:1}),jQuery(".dslca-modules-area-manage",b).css({visibility:"visible"}),jQuery(".dslca-save-composer-hook").css({visibility:"visible"}),jQuery(".dslca-save-draft-composer-hook").css({visibility:"visible"}),dslc_carousel(),dslc_tabs(),dslc_init_accordion(),dslc_init_square(),dslc_center(),dslc_generate_code(),dslc_show_publish_button()})}),jQuery(".dslca-module-loading",b).show(),jQuery(".dslca-no-content-primary",b).css({opacity:0}),jQuery(".dslca-modules-area-manage",b).css({visibility:"hidden"});var f=100*Math.floor(51*Math.random()+50);jQuery(".dslca-module-loading-inner",b).css({width:0}).animate({width:"100%"},f,"linear")}}}).sortable({connectWith:".dslc-modules-area",items:".dslc-module-front",handle:'.dslca-move-module-hook:not(".dslca-action-disabled")',placeholder:"dslca-module-placeholder",cursorAt:{top:50,left:30},tolerance:"pointer",scroll:!0,scrollSensitivity:100,scrollSpeed:15,start:function(a,b){b.placeholder.html('<span class="dslca-placeholder-help-text"><span class="dslca-placeholder-help-text-inner">'+b.item.find(".dslc-sortable-helper-icon").data("title")+"</span></span>"),jQuery(b.item).hasClass("dslc-12-col")?b.placeholder.width(b.item.width()).css({margin:0}):b.placeholder.width(b.item.width()-10),jQuery("body").removeClass("dslca-drag-not-in-progress").addClass("dslca-drag-in-progress"),jQuery(".dslc-module-front",this).length<2&&(jQuery(this).removeClass("dslc-modules-area-not-empty").addClass("dslc-modules-area-empty"),jQuery(".dslca-no-content:not(:visible)",this).show().css({"-webkit-animation-name":"dslcBounceIn","-moz-animation-name":"dslcBounceIn","animation-name":"dslcBounceIn","animation-duration":"0.6s","-webkit-animation-duration":"0.6s",padding:0}).animate({padding:"35px 0"},300,function(){})),jQuery(".dslc-modules-area").sortable("refreshPositions")},sort:function(a,b){jQuery(this).removeClass("ui-state-default")},update:function(a,b){dslc_show_publish_button()},stop:function(a,b){dslc_generate_code(),jQuery("body").removeClass("dslca-drag-in-progress").addClass("dslca-drag-not-in-progress"),jQuery(".dslca-anim-opacity-drop").removeClass("dslca-anim-opacity-drop"),b.item.trigger("mouseleave")},change:function(a,b){}})}function dslc_option_changed(){dslc_show_publish_button()}function dslc_module_dragdrop_init(){dslc_drag_and_drop()}function dslc_scroller_init(){dslcDebug&&console.log("dslc_scroller_init");var a=jQuery(".dslca-section-scroller");a.length&&a.each(function(){var a,b=jQuery(this),c=jQuery(".dslca-section-scroller-inner",b),d=c.position(),e=jQuery(".dslca-section-scroller-content",b),f=jQuery(".dslca-scroller-item:visible",b),g=0,h=b.width()+-1*d.left;e.width();jQuery(".dslca-section-scroller-item-last",b).removeClass("dslca-section-scroller-item-last"),f.each(function(){a=jQuery(this),g+=a.outerWidth(),g>h&&jQuery(".dslca-section-scroller-item-last",b).length<1&&(a.addClass("dslca-section-scroller-item-last"),b.data("current",a.prev(".dslca-scroller-item:visible").index()))})})}function dslc_scroller_go_to(a,b){dslcDebug&&console.log("dslc_scroller_go_to");var c=jQuery(".dslca-section-scroller-inner",b),d=jQuery(".dslca-section-scroller-content",b),f=(jQuery(".dslca-scroller-item",b),jQuery(".dslca-scroller-item:eq("+a+")",b));if(f.length){var g=b.width(),i=(d.width(),f.position()),j=g-(i.left+f.outerWidth());0>j?(b.data("current",a),c.css({left:j})):c.css({left:0})}}function dslc_scroller_prev(a){dslcDebug&&console.log("dslc_scroller_prev");var b=a.data("current"),c=a.find(".dslca-scroller-item:eq("+b+")").prevAll(".dslca-scroller-item:visible").eq(1).index(),d=a.find(".dslca-scroller-item:eq("+b+")").prevAll(".dslca-scroller-item:visible").eq(0).index();-1!==c?dslc_scroller_go_to(c,a):-1!==d&&dslc_scroller_go_to(d,a)}function dslc_scroller_next(a){dslcDebug&&console.log("dslc_scroller_next");var b=a.data("current"),c=a.find(".dslca-scroller-item:eq("+b+")").nextAll(".dslca-scroller-item:visible").eq(1).index(),d=a.find(".dslca-scroller-item:eq("+b+")").nextAll(".dslca-scroller-item:visible").eq(0).index();-1!==c?dslc_scroller_go_to(c,a):-1!==d&&dslc_scroller_go_to(d,a)}function dslc_ui_animations(){dslcDebug&&console.log("dslc_ui_animations"),jQuery(document).on("mouseenter",".dslca-modules-area-manage",function(){jQuery(this).closest(".dslc-modules-area").addClass("dslca-options-hovered"),dslca_draggable_calc_center(jQuery(this).closest(".dslc-modules-area"))}).on("mouseleave",".dslca-modules-area-manage",function(){jQuery(this).closest(".dslc-modules-area").removeClass("dslca-options-hovered")}),jQuery(document).on("mouseenter",".dslca-drag-not-in-progress .dslc-module-front",function(a){jQuery("body").hasClass("dslca-composer-hidden")||(jQuery(this).height()<190?jQuery(".dslca-module-manage",this).addClass("dslca-horizontal"):jQuery(".dslca-module-manage",this).removeClass("dslca-horizontal"))}).on("mouseleave",".dslca-drag-not-in-progress .dslc-module-front",function(a){jQuery("body").hasClass("dslca-composer-hidden")||jQuery(this).find(".dslca-change-width-module-options").hide(),jQuery(this).find(".dslca-module-manage").removeClass("dslca-module-manage-change-width-active")}),jQuery(document).on("mouseenter",".dslca-drag-not-in-progress .dslc-modules-area",function(a){jQuery(this);jQuery("body").hasClass("dslca-composer-hidden")||(jQuery("#dslc-header").addClass("dslca-header-low-z-index"),jQuery(this).height()<130?jQuery(".dslca-modules-area-manage",this).addClass("dslca-horizontal"):jQuery(".dslca-modules-area-manage",this).removeClass("dslca-horizontal"))}).on("mouseleave",".dslca-drag-not-in-progress .dslc-modules-area",function(a){jQuery(this);jQuery("body").hasClass("dslca-composer-hidden")||jQuery("#dslc-header").removeClass("dslca-header-low-z-index")})}function dslc_show_modal(a,b){dslcDebug&&console.log("dslc_show_modal"),dslc_hide_modal("",jQuery(".dslca-modal:visible"));var b=jQuery(b),c=jQuery(a).position(),d=b.outerWidth()/2-a.outerWidth()/2,e=c.left-d;b.css({left:e}).show(),b.addClass("dslca-modal-open")}function dslc_hide_modal(a,b){dslcDebug&&console.log("dslc_hide_modal");var b=jQuery(b);b.hide(),b.removeClass("dslca-modal-open")}function dslc_js_confirm(a,b,c){dslcDebug&&console.log("dslc_js_confirm"),jQuery(".dslca-prompt-modal").addClass("dslca-prompt-modal-active"),jQuery(".dslca-prompt-modal").data("id",a),jQuery(".dslca-prompt-modal").data("target",c),jQuery(".dslca-prompt-modal-msg").html(b),jQuery(".dslca-prompt-modal").css({opacity:0}).show().animate({opacity:1},400),jQuery(".dslca-prompt-modal-content").css({top:"55%"}).animate({top:"50%"},400)}function dslc_js_confirm_close(){dslcDebug&&console.log("dslc_js_confirm_close"),jQuery(".dslca-prompt-modal").removeClass("dslca-prompt-modal-active"),jQuery(".dslca-prompt-modal").animate({opacity:0},400,function(){jQuery(this).hide(),jQuery(".dslca-prompt-modal-cancel-hook").show(),jQuery(".dslca-prompt-modal-confirm-hook").html('<span class="dslc-icon dslc-icon-ok"></span>'+DSLCString.str_confirm)}),jQuery(".dslca-prompt-modal-content").animate({top:"55%"},400)}function dslc_row_add(a){dslcDebug&&console.log("dslc_row_add"),a="undefined"!=typeof a?a:!1,jQuery.post(DSLCAjax.ajaxurl,{action:"dslc-ajax-add-modules-section",dslc:"active"},function(b){jQuery(b.output).appendTo("#dslc-main"),dslc_drag_and_drop(),dslc_generate_code(),dslc_show_publish_button(),a&&a()})}function dslc_row_delete(a){dslcDebug&&console.log("dslc_row_delete"),a.find(".dslca-module-being-edited")&&(jQuery(".dslca-header .dslca-options-filter-hook").hide(),jQuery(".dslca-module-edit-actions").hide(),jQuery(".dslca-header .dslca-go-to-section-hook").show(),dslc_show_section(".dslca-modules")),a.trigger("mouseleave").remove(),dslc_generate_code(),dslc_show_publish_button()}function dslc_row_edit(a){dslcDebug&&console.log("dslc_row_edit");jQuery(".dslca-module-being-edited").removeClass("dslca-module-being-edited"),jQuery(".dslca-modules-section-being-edited").removeClass("dslca-modules-section-being-edited").removeClass("dslca-modules-section-change-made"),a.addClass("dslca-modules-section-being-edited"),jQuery(".dslca-header .dslca-go-to-section-hook").hide(),jQuery('.dslca-row-options-filter-hook[data-section="styling"], .dslca-row-options-filter-hook[data-section="responsive"]').show(),jQuery('.dslca-row-options-filter-hook[data-section="styling"]').trigger("click"),jQuery(".dslca-header .dslca-options-filter-hook").hide(),jQuery(".dslca-module-edit-actions").hide(),jQuery(".dslca-row-edit-actions").show(),jQuery(".dslca-modules-section-edit-field").each(function(){if("border-top"==jQuery(this).data("id"))jQuery('.dslca-modules-section-being-edited .dslca-modules-section-settings input[data-id="border"]').val().indexOf("top")>=0?(jQuery(this).prop("checked",!0),jQuery(this).siblings(".dslca-modules-section-edit-option-checkbox-hook").find(".dslca-icon").removeClass("dslc-icon-check-empty").addClass("dslc-icon-check")):(jQuery(this).prop("checked",!1),jQuery(this).siblings(".dslca-modules-section-edit-option-checkbox-hook").find(".dslca-icon").removeClass("dslc-icon-check").addClass("dslc-icon-check-empty"));else if("border-right"==jQuery(this).data("id"))jQuery('.dslca-modules-section-being-edited .dslca-modules-section-settings input[data-id="border"]').val().indexOf("right")>=0?(jQuery(this).prop("checked",!0),jQuery(this).siblings(".dslca-modules-section-edit-option-checkbox-hook").find(".dslca-icon").removeClass("dslc-icon-check-empty").addClass("dslc-icon-check")):(jQuery(this).prop("checked",!1),jQuery(this).siblings(".dslca-modules-section-edit-option-checkbox-hook").find(".dslca-icon").removeClass("dslc-icon-check").addClass("dslc-icon-check-empty"));else if("border-bottom"==jQuery(this).data("id"))jQuery('.dslca-modules-section-being-edited .dslca-modules-section-settings input[data-id="border"]').val().indexOf("bottom")>=0?(jQuery(this).prop("checked",!0),jQuery(this).siblings(".dslca-modules-section-edit-option-checkbox-hook").find(".dslca-icon").removeClass("dslc-icon-check-empty").addClass("dslc-icon-check")):(jQuery(this).prop("checked",!1),jQuery(this).siblings(".dslca-modules-section-edit-option-checkbox-hook").find(".dslca-icon").removeClass("dslc-icon-check").addClass("dslc-icon-check-empty"));else if("border-left"==jQuery(this).data("id"))jQuery('.dslca-modules-section-being-edited .dslca-modules-section-settings input[data-id="border"]').val().indexOf("left")>=0?(jQuery(this).prop("checked",!0),jQuery(this).siblings(".dslca-modules-section-edit-option-checkbox-hook").find(".dslca-icon").removeClass("dslc-icon-check-empty").addClass("dslc-icon-check")):(jQuery(this).prop("checked",!1),jQuery(this).siblings(".dslca-modules-section-edit-option-checkbox-hook").find(".dslca-icon").removeClass("dslc-icon-check").addClass("dslc-icon-check-empty"));else if(jQuery(this).hasClass("dslca-modules-section-edit-field-checkbox"))jQuery('.dslca-modules-section-being-edited .dslca-modules-section-settings input[data-id="'+jQuery(this).data("id")+'"]').val().indexOf(jQuery(this).data("val"))>=0?(jQuery(this).prop("checked",!0),jQuery(this).siblings(".dslca-modules-section-edit-option-checkbox-hook").find(".dslca-icon").removeClass("dslc-icon-check-empty").addClass("dslc-icon-check")):(jQuery(this).prop("checked",!1),jQuery(this).siblings(".dslca-modules-section-edit-option-checkbox-hook").find(".dslca-icon").removeClass("dslc-icon-check").addClass("dslc-icon-check-empty"));else if(jQuery(this).val(jQuery('.dslca-modules-section-being-edited .dslca-modules-section-settings input[data-id="'+jQuery(this).data("id")+'"]').val()),jQuery(this).hasClass("dslca-modules-section-edit-field-colorpicker")){var a=jQuery(this);jQuery(this).closest(".dslca-modules-section-edit-option").find(".sp-preview-inner").removeClass("sp-clear-display").css({"background-color":a.val()})}}),jQuery(".dslca-modules-section-edit-field-upload").each(function(){var a=jQuery(this).closest(".dslca-modules-section-edit-option");jQuery(this).val()&&"disabled"!==jQuery(this).val()?(jQuery(".dslca-modules-section-edit-field-image-add-hook",a).hide(),jQuery(".dslca-modules-section-edit-field-image-remove-hook",a).show()):(jQuery(".dslca-modules-section-edit-field-image-remove-hook",a).hide(),jQuery(".dslca-modules-section-edit-field-image-add-hook",a).show())}),dslc_row_edit_slider_init(),dslc_show_section(".dslca-modules-section-edit"),jQuery(".dslca-save-composer-hook").css({visibility:"hidden"}),jQuery(".dslca-save-draft-composer-hook").css({visibility:"hidden"})}function dslc_row_edit_colorpicker_init(){dslcDebug&&console.log("dslc_row_edit_colorpicker_init");var a,b,c,e,f,g,h,i,k,l,j=[];if(j[0]=[],j[1]=[],j[2]=[],j[3]=[],void 0==localStorage.dslcColorpickerPalleteStorage);else for(k=JSON.parse(localStorage.dslcColorpickerPalleteStorage),l=0;l<k.length;l++){var m=Math.floor(l/3);4>m&&j[m].push(k[l])}jQuery(".dslca-modules-section-edit-field-colorpicker").each(function(){i=jQuery(this).val(),jQuery(this).spectrum({color:i,showInput:!0,allowEmpty:!0,showAlpha:!0,clickoutFiresChange:!0,cancelText:"",chooseText:"",preferredFormat:"rgb",showPalette:!0,palette:j,move:function(d){a=jQuery(this),b=a.data("id"),e=null==d?"transparent":d.toRgbString(),f=a.data("css-rule"),c=jQuery(".dslca-modules-section-being-edited"),h=c,g=jQuery('.dslca-modules-section-settings input[data-id="'+b+'"]',c),c.addClass("dslca-modules-section-change-made"),a.data("css-element")&&(h=jQuery(a.data("css-element"),c)),h.css(f,e),g.val(e)},change:function(c){if(a=jQuery(this),b=a.data("id"),e=null==c?"transparent":c.toRgbString(),void 0==localStorage.dslcColorpickerPalleteStorage){var d=[e];localStorage.dslcColorpickerPalleteStorage=JSON.stringify(d)}else{var d=JSON.parse(localStorage.dslcColorpickerPalleteStorage);-1==d.indexOf(e)&&d.unshift(e),localStorage.dslcColorpickerPalleteStorage=JSON.stringify(d)}},show:function(a){jQuery("body").addClass("dslca-disable-selection"),jQuery(this).spectrum("set",jQuery(this).val())},hide:function(){jQuery("body").removeClass("dslca-disable-selection")}})})}function dslc_row_edit_slider_init(){dslcDebug&&console.log("dslc_row_edit_slider_init"),jQuery(".dslca-modules-section-edit-field-slider").each(function(){var a,c,d,e,f,g,h,i,k,l,n,m="",o=0,p=300,q=1;a=jQuery(this),c=a.siblings(".dslca-modules-section-edit-field"),g=a.siblings(".dslca-modules-section-edit-field-slider-tooltip"),a.data("min")&&(o=a.data("min")),a.data("max")&&(p=a.data("max")),a.data("incr")&&(q=a.data("incr")),a.data("ext")&&(m=a.data("ext")),a.slider({min:o,max:p,step:q,value:c.val(),slide:function(b,j){d=j.value+m,c.val(d),f=jQuery(".dslca-modules-section-being-edited"),c.data("css-element")&&(f=jQuery(c.data("css-element"),f)),e=c.data("css-rule").replace(/ /g,""),n=e.split(",");for(var o=0;o<n.length;o++)jQuery(f).css(n[o],d);k=jQuery(".dslca-modules-section-being-edited"),l=c.data("id"),jQuery('.dslca-modules-section-settings input[data-id="'+l+'"]',k).val(j.value),k.addClass("dslca-modules-section-change-made"),g.text(d),i=a.find(".ui-slider-handle"),h=i[0].style.left,g.css({left:h})},stop:function(a,b){g.hide();var c=jQuery(window).scrollTop();dslc_masonry(),jQuery(window).scrollTop(c)},start:function(b,c){d=c.value,g.show(),g.text(d),i=a.find(".ui-slider-handle"),h=i[0].style.left,g.css({left:h})}})})}function dslc_row_edit_scrollbar_init(){dslcDebug&&console.log("dslc_row_edit_scrollbar_init");var a=0;jQuery(".dslca-modules-section-edit-option").each(function(){a+=jQuery(this).outerWidth(!0)+1}),a>jQuery(".dslca-modules-section-edit-options").width()?jQuery(".dslca-modules-section-edit-options-wrapper").width(a):jQuery(".dslca-modules-section-edit-options-wrapper").width("auto"),jQuery("body").hasClass("rtl")||(jQuery(".dslca-modules-section-edit-options-inner").data("jsp")&&jQuery(".dslca-modules-section-edit-options-inner").data("jsp").destroy(),jQuery(".dslca-modules-section-edit-options-inner").jScrollPane())}function dslc_row_edit_cancel(a){dslcDebug&&console.log("dslc_row_cancel_changes"),a="undefined"!=typeof a?a:!1,jQuery(".dslca-modules-section-being-edited .dslca-modules-section-settings input").each(function(){jQuery(this).val(jQuery(this).data("def")),jQuery('.dslca-modules-section-edit-field[data-id="'+jQuery(this).data("id")+'"]').val(jQuery(this).data("def")).trigger("change")}),dslc_show_section(".dslca-modules"),jQuery(".dslca-row-edit-actions").hide(),jQuery(".dslca-row-options-filter-hook").hide(),jQuery(".dslca-header .dslca-go-to-section-hook").show(),jQuery(".dslca-save-composer-hook").css({visibility:"visible"}),jQuery(".dslca-save-draft-composer-hook").css({visibility:"visible"}),jQuery(".dslca-modules-section-being-edited").removeClass("dslca-modules-section-being-edited dslca-modules-section-change-made"),a&&a(),jQuery(".dslca-save-composer-hook").css({visibility:"visible"}),jQuery(".dslca-save-draft-composer-hook").css({visibility:"visible"})}function dslc_row_edit_confirm(a){dslcDebug&&console.log("dslc_confirm_row_changes"),a="undefined"!=typeof a?a:!1,jQuery(".dslca-modules-section-being-edited .dslca-modules-section-settings input").each(function(){jQuery(this).data("def",jQuery(this).val())}),dslc_show_section(".dslca-modules"),jQuery(".dslca-row-edit-actions").hide(),jQuery(".dslca-row-options-filter-hook").hide(),jQuery(".dslca-header .dslca-go-to-section-hook").show(),jQuery(".dslca-save-composer-hook").css({visibility:"visible"}),jQuery(".dslca-save-draft-composer-hook").css({visibility:"visible"}),jQuery(".dslca-modules-section-being-edited").removeClass("dslca-modules-section-being-edited dslca-modules-section-change-made"),dslc_generate_code(),dslc_show_publish_button(),a&&a(),jQuery(".dslca-save-composer-hook").css({visibility:"visible"}),jQuery(".dslca-save-draft-composer-hook").css({visibility:"visible"})}function dslc_row_copy(a){dslcDebug&&console.log("dslc_row_copy");var b,c,d;c=a.clone().appendTo("#dslc-main"),c.find(".dslc-modules-area").each(function(){var b=jQuery(this).index();jQuery(this).data("size",a.find(".dslc-modules-area:eq( "+b+" )").data("size"))}),c.find(".dslc-module-front").css({"-webkit-animation-name":"none","-moz-animation-name":"none","animation-name":"none","animation-duration":"0","-webkit-animation-duration":"0",opacity:0}).each(function(){d=jQuery(this),jQuery.ajax({type:"POST",method:"POST",url:DSLCAjax.ajaxurl,data:{action:"dslc-ajax-get-new-module-id"},async:!1}).done(function(a){jQuery(".dslca-module-being-edited").removeClass("dslca-module-being-edited"),b=a.output,d.data("module-id",b).attr("id","dslc-module-"+b).addClass("dslca-module-being-edited"),dslc_module_output_altered(function(){jQuery(".dslca-module-being-edited").removeClass("dslca-module-being-edited").animate({opacity:1},300)})})}),dslc_drag_and_drop(),dslc_generate_code(),dslc_show_publish_button()}function dslc_row_import(a){dslcDebug&&console.log("dslc_row_import"),jQuery.post(DSLCAjax.ajaxurl,{action:"dslc-ajax-import-modules-section",dslc:"active",dslc_modules_section_code:a},function(a){dslc_js_confirm_close(),jQuery("#dslc-main").append(a.output),dslc_bg_video(),dslc_carousel(),dslc_masonry(jQuery("#dslc-main").find(".dslc-modules-section:last-child")),dslc_drag_and_drop(),dslc_show_publish_button(),dslc_generate_code()})}function dslc_add_modules_section(){dslc_row_add()}function dslc_delete_modules_section(a){dslc_row_delete(a)}function dslc_edit_modules_section(a){dslc_row_edit(a)}function dslc_edit_modules_section_colorpicker(){dslc_row_edit_colorpicker_init()}function dslc_edit_modules_section_slider(){dslc_row_edit_slider_init()}function dslc_edit_modules_section_scroller(){dslc_row_edit_scrollbar_init()}function dslc_copy_modules_section(a){dslc_row_copy(a)}function dslc_import_modules_section(a){dslc_row_import(a)}function dslc_modules_area_add(a){dslcDebug&&console.log("dslc_add_modules_area"),jQuery("body").addClass("dslca-anim-in-progress"),jQuery.post(DSLCAjax.ajaxurl,{action:"dslc-ajax-add-modules-area",dslc:"active"},function(b){jQuery(".dslca-modules-area-loading .dslca-module-loading-inner",a.closest(".dslc-modules-section")).stop().animate({width:"100%"},200,"linear",function(){a.css({paddingBottom:0}),jQuery(this).closest(".dslca-modules-area-loading").hide()}),setTimeout(function(){jQuery(b.output).appendTo(a).css({height:0}).animate({height:99},300,function(){jQuery(this).css({height:"auto"})}).addClass("dslca-init-animation"),dslc_drag_and_drop(),dslc_generate_code(),dslc_show_publish_button(),jQuery("body").removeClass("dslca-anim-in-progress")},250)});var b=100*Math.floor(51*Math.random()+50);a.animate({paddingBottom:50},150),jQuery(".dslca-modules-area-loading",a.closest(".dslc-modules-section")).show(),jQuery(".dslca-modules-area-loading .dslca-module-loading-inner",a.closest(".dslc-modules-section")).css({width:0}).animate({width:"100%"},b,"linear")}function dslc_modules_area_delete(a){dslcDebug&&console.log("dslc_delete_modules_area");var b=a.closest(".dslc-modules-section").find(".dslc-modules-section-inner"),c=!1;a.addClass("dslca-modules-area-being-deleted"),b.find(".dslc-modules-area").length<2&&(c=!0),a.find(".dslca-module-being-edited").length&&(jQuery(".dslca-header .dslca-options-filter-hook").hide(),jQuery(".dslca-module-edit-actions").hide(),jQuery(".dslca-header .dslca-go-to-section-hook").show(),dslc_show_section(".dslca-modules")),setTimeout(function(){a.remove(),dslc_generate_code(),dslc_show_publish_button(),c&&dslc_modules_area_add(b)},900),a.css({"-webkit-animation-name":"dslcBounceOut","-moz-animation-name":"dslcBounceOut","animation-name":"dslcBounceOut","animation-duration":"0.6s","-webkit-animation-duration":"0.6s",overflow:"hidden"}).animate({opacity:0},600).animate({height:0,marginBottom:0},300,function(){a.remove(),dslc_generate_code(),dslc_show_publish_button()})}function dslc_modules_area_copy(a){dslcDebug&&console.log("dslc_copy_modules_area");var b,c=a.closest(".dslc-modules-section").find(".dslc-modules-section-inner"),d=a.clone().appendTo(c);d.find(".dslca-modules-area-manage").trigger("mouseleave"),d.data("size",a.data("size")).find(".dslc-module-front").css({"-webkit-animation-name":"none","-moz-animation-name":"none","animation-name":"none","animation-duration":"0","-webkit-animation-duration":"0",opacity:0}).each(function(){var a=jQuery(this);jQuery.ajax({type:"POST",method:"POST",url:DSLCAjax.ajaxurl,data:{action:"dslc-ajax-get-new-module-id"},async:!1}).done(function(c){jQuery(".dslca-module-being-edited").removeClass("dslca-module-being-edited"),b=c.output,a.data("module-id",b).attr("id","dslc-module-"+b).addClass("dslca-module-being-edited"),dslc_module_output_altered(function(){jQuery(".dslca-module-being-edited").removeClass("dslca-module-being-edited").animate({opacity:1},300)})})}),dslc_drag_and_drop(),dslc_generate_code(),dslc_show_publish_button()}function dslc_modules_area_width_set(a,b){dslcDebug&&console.log("dslc_modules_area_width_set");var c="dslc-"+b+"-col";a.removeClass("dslc-1-col dslc-2-col dslc-3-col dslc-4-col dslc-5-col dslc-6-col dslc-7-col dslc-8-col dslc-9-col dslc-10-col dslc-11-col dslc-12-col").addClass(c).data("size",b),dslc_init_square(),dslc_center(),dslc_generate_code(),dslc_show_publish_button(),dslc_masonry()}function dslc_add_modules_area(a){dslc_modules_area_add(a)}function dslc_delete_modules_area(a){dslc_modules_area_delete(a)}function dslc_copy_modules_area(a){dslc_modules_area_copy(a)}function dslc_module_delete(a){dslcDebug&&console.log("dslc_delete_module"),a.addClass("dslca-module-being-deleted"),a.hasClass("dslca-module-being-edited")&&dslc_show_section(".dslca-modules"),setTimeout(function(){a.remove(),dslc_generate_code(),dslc_show_publish_button()},1e3),a.css({"-webkit-animation-name":"dslcBounceOut2","-moz-animation-name":"dslcBounceOut2","animation-name":"dslcBounceOut2","animation-duration":"0.6s","-webkit-animation-duration":"0.6s"}).animate({opacity:0},500,function(){a.css({marginBottom:0}).animate({height:0},400,"easeOutQuart")})}function dslc_module_copy(a){dslcDebug&&console.log("dslc_copy_module");var b;jQuery.post(DSLCAjax.ajaxurl,{action:"dslc-ajax-get-new-module-id"},function(c){jQuery(".dslca-module-being-edited").removeClass("dslca-module-being-edited"),b=c.output,a.clone().appendTo(a.closest(".dslc-modules-area")).css({"-webkit-animation-name":"none","-moz-animation-name":"none","animation-name":"none","animation-duration":"0","-webkit-animation-duration":"0",opacity:0}).data("module-id",b).attr("id","dslc-module-"+b).addClass("dslca-module-being-edited"),dslc_module_output_altered(function(){jQuery(".dslca-module-being-edited").css({opacity:0}).removeClass("dslca-module-being-edited").animate({opacity:1},300)})})}function dslc_module_width_set(a,b){dslcDebug&&console.log("dslc_module_width_set");var c="dslc-"+b+"-col";a.removeClass("dslc-1-col dslc-2-col dslc-3-col dslc-4-col dslc-5-col dslc-6-col dslc-7-col dslc-8-col dslc-9-col dslc-10-col dslc-11-col dslc-12-col").addClass(c).data("dslc-module-size",b).addClass("dslca-module-being-edited"),
2
+ jQuery('.dslca-module-option-front[data-id="dslc_m_size"]',a).val(b),dslc_module_output_altered(function(){jQuery(".dslca-module-being-edited").removeClass("dslca-module-being-edited")})}function dslc_module_options_show(a){dslcDebug&&console.log("dslc_module_options_show");var b=jQuery(".dslca-module-being-edited"),c=jQuery(".dslca-module-options-front textarea",b),d=jQuery(".dslca-header").data("default-section"),e={};e.action="dslc-ajax-display-module-options",e.dslc="active",e.dslc_module_id=a,e.dslc_post_id=jQuery(".dslca-container").data("data-post-id"),c.each(function(){var a=jQuery(this),b=a.data("id"),c=a.val();e[b]=c}),jQuery(".dslca-wp-editor-actions").hide(),jQuery(".dslca-wp-editor-notification").show(),jQuery.post(DSLCAjax.ajaxurl,e,function(a){jQuery(".dslca-save-composer-hook").css({visibility:"hidden"}),jQuery(".dslca-save-draft-composer-hook").css({visibility:"hidden"}),dslc_show_section(".dslca-module-edit"),jQuery("body").hasClass("rtl")?jQuery(".dslca-module-edit-options-inner").html(a.output):jQuery(".dslca-module-edit-options-inner .jspPane").html(a.output),jQuery(".dslca-module-edit-options-tabs").html(a.output_tabs),jQuery(".dslca-header .dslca-options-filter-hook").show(),jQuery('.dslca-module-edit-option[data-section="'+d+'"]').length?(jQuery('.dslca-header .dslca-options-filter-hook[data-section="'+d+'"]').show(),jQuery('.dslca-header .dslca-options-filter-hook[data-section="'+d+'"]').trigger("click")):(jQuery(".dslca-header .dslca-options-filter-hook:first").hide(),jQuery(".dslca-header .dslca-options-filter-hook:first").next(".dslca-options-filter-hook").trigger("click")),jQuery(".dslca-module-edit-actions").show(),jQuery(".dslca-wp-editor-notification").hide(),jQuery(".dslca-wp-editor-actions").show(),jQuery(".dslca-header .dslca-go-to-section-hook").hide(),jQuery(".dslca-row-edit-actions").hide(),dslc_module_options_color(),dslc_modules_options_box_shadow_color(),dslc_modules_options_text_shadow_color(),dslc_module_options_numeric();var b=jQuery(".dslca-module-options-front",".dslca-module-being-edited").children().clone();jQuery(".dslca-module-options-front-backup").html("").append(b)})}function dslc_module_options_scrollbar(){dslcDebug&&console.log("dslc_module_options_scrollbar");var a=0;if(jQuery(".dslca-module-edit-option:visible").each(function(){a+=jQuery(this).outerWidth(!0)+1}),a>jQuery(".dslca-module-edit-options").width()?jQuery(".dslca-module-edit-options-wrapper").width(a):jQuery(".dslca-module-edit-options-wrapper").width("auto"),!jQuery("body").hasClass("rtl")&&jQuery(".dslca-module-edit-options-inner").data("jsp")){var b=jQuery(".dslca-module-edit-options-inner").data("jsp");b.reinitialise()}}function dslc_module_options_section_filter(a){dslcDebug&&console.log("dslc_module_options_section_filter"),jQuery(".dslca-module-edit-option").hide(),jQuery('.dslca-module-edit-option[data-section="'+a+'"]').show(),dslc_module_options_tab_filter()}function dslc_module_options_tab_filter(a){dslcDebug&&console.log("dslc_module_options_tab_filter");var b=jQuery(".dslca-options-filter-hook.dslca-active").data("section");a="undefined"!=typeof a?a:jQuery('.dslca-module-edit-options-tab-hook[data-section="'+b+'"]:first');var c=a.data("id");jQuery(".dslca-module-edit-options-tab-hook").removeClass("dslca-active"),a.addClass("dslca-active"),jQuery(".dslca-module-edit-options-tabs").show(),jQuery(".dslca-module-edit-options-tab-hook").hide(),jQuery('.dslca-module-edit-options-tab-hook[data-section="'+b+'"]').show(),c&&(jQuery(".dslca-module-edit-option").hide(),jQuery('.dslca-module-edit-option[data-tab="'+c+'"]').show(),dslc_module_options_scrollbar(),dslc_module_options_hideshow_tabs(),jQuery(".dslca-module-edit-options-tab-hook:visible").length<2?jQuery(".dslca-module-edit-options-tabs").hide():jQuery(".dslca-module-edit-options-tabs").show(),c==DSLCString.str_res_tablet+"_responsive"&&(jQuery("body").removeClass("dslc-res-big dslc-res-smaller-monitor dslc-res-phone dslc-res-tablet"),jQuery("body").addClass("dslc-res-tablet")),c==DSLCString.str_res_phone+"_responsive"&&(jQuery("body").removeClass("dslc-res-big dslc-res-smaller-monitor dslc-res-phone dslc-res-tablet"),jQuery("body").addClass("dslc-res-phone")),(c==DSLCString.str_res_tablet+"_responsive"||c==DSLCString.str_res_phone+"_responsive")&&(jQuery(".dslca-container-loader").show(),dslc_module_output_altered(function(){jQuery(".dslca-container-loader").hide()})))}function dslc_module_options_hideshow_tabs(){dslcDebug&&console.log("dslc_module_options_hideshow_tabs");var a=jQuery(".dslca-options-filter-hook.dslca-active").data("section");if("styling"==a){var c=(jQuery(".dslca-module-edit"),!0),d=!0,e=!0,f=!0,g=!0,h=!0,i=!0,j=!0,k=!0,l=!0,m=!0,n=!0,o=!0,p=!0,q=!0,r=!0,s=!0,t=!0,u=!0,v=!0,w=!0,x=!0,y=!0,z=!0,A=!0;jQuery('.dslca-module-edit-field[value="main_heading"]').is(":checked")||(c=!1),jQuery('.dslca-module-edit-field[value="filters"]').is(":checked")||(d=!1),jQuery('.dslca-module-edit-field[value="arrows"]').is(":checked")||(e=!1),jQuery('.dslca-module-edit-field[value="circles"]').is(":checked")||(f=!1),"carousel"!=jQuery('.dslca-module-edit-field[data-id="type"]').val()&&(e=!1,f=!1),"disabled"==jQuery('.dslca-module-edit-field[data-id="pagination_type"]').val()&&(g=!1),jQuery('.dslca-module-edit-field[data-id*="elements"][value="thumbnail"]').is(":checked")||(h=!1),jQuery('.dslca-module-edit-field[data-id*="elements"][value="content"]').length&&!jQuery('.dslca-module-edit-field[data-id*="elements"][value="title"]').is(":checked")&&(i=!1),jQuery('.dslca-module-edit-field[data-id*="elements"][value="excerpt"]').is(":checked")||(j=!1),jQuery('.dslca-module-edit-field[data-id*="elements"][value="meta"]').is(":checked")||(k=!1),jQuery('.dslca-module-edit-field[data-id*="elements"][value="button"]').length&&!jQuery('.dslca-module-edit-field[data-id*="elements"][value="button"]').is(":checked")&&(l=!1),jQuery('.dslca-module-edit-field[data-id*="elements"][value="categories"]').is(":checked")||(m=!1),jQuery('.dslca-module-edit-field[data-id*="elements"][value="separator"]').is(":checked")||(o=!1),jQuery('.dslca-module-edit-field[data-id*="elements"][value="count"]').is(":checked")||(n=!1),jQuery('.dslca-module-edit-field[data-id*="elements"][value="tags"]').is(":checked")||(p=!1),jQuery('.dslca-module-edit-field[data-id*="elements"][value="social"]').is(":checked")||(q=!1),jQuery('.dslca-module-edit-field[data-id*="elements"][value="position"]').is(":checked")||(r=!1),jQuery('.dslca-module-edit-field[data-id*="elements"][value="icon"]').length&&!jQuery('.dslca-module-edit-field[data-id*="elements"][value="icon"]').is(":checked")&&(s=!1),jQuery('.dslca-module-edit-field[data-id*="elements"][value="content"]').length&&!jQuery('.dslca-module-edit-field[data-id*="elements"][value="content"]').is(":checked")&&(t=!1),jQuery('.dslca-module-edit-field[data-id*="elements"][value="price"]').is(":checked")||(u=!1),jQuery('.dslca-module-edit-field[data-id*="elements"][value="price_2"]').is(":checked")||(v=!1),jQuery('.dslca-module-edit-field[data-id*="elements"][value="addtocart"]').is(":checked")||(w=!1),jQuery('.dslca-module-edit-field[data-id*="elements"][value="details"]').is(":checked")||(x=!1),jQuery('.dslca-module-edit-field[data-id*="elements"][value="quote"]').is(":checked")||(y=!1),jQuery('.dslca-module-edit-field[data-id*="elements"][value="author_name"]').is(":checked")||(z=!1),jQuery('.dslca-module-edit-field[data-id*="elements"][value="author_position"]').is(":checked")||(A=!1),c?jQuery('.dslca-module-edit-options-tab-hook[data-id="heading_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="heading_styling"]').hide(),d?jQuery('.dslca-module-edit-options-tab-hook[data-id="filters_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="filters_styling"]').hide(),e?jQuery('.dslca-module-edit-options-tab-hook[data-id="carousel_arrows_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="carousel_arrows_styling"]').hide(),f?jQuery('.dslca-module-edit-options-tab-hook[data-id="carousel_circles_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="carousel_circles_styling"]').hide(),g?jQuery('.dslca-module-edit-options-tab-hook[data-id="pagination_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="pagination_styling"]').hide(),h?jQuery('.dslca-module-edit-options-tab-hook[data-id="thumbnail_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="thumbnail_styling"]').hide(),i?jQuery('.dslca-module-edit-options-tab-hook[data-id="title_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="title_styling"]').hide(),j?jQuery('.dslca-module-edit-options-tab-hook[data-id="excerpt_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="excerpt_styling"]').hide(),k?jQuery('.dslca-module-edit-options-tab-hook[data-id="meta_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="meta_styling"]').hide(),l?jQuery('.dslca-module-edit-options-tab-hook[data-id="button_styling"], .dslca-module-edit-options-tab-hook[data-id="primary_button_styling"], .dslca-module-edit-options-tab-hook[data-id="secondary_button_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="button_styling"], .dslca-module-edit-options-tab-hook[data-id="primary_button_styling"], .dslca-module-edit-options-tab-hook[data-id="secondary_button_styling"]').hide(),m?jQuery('.dslca-module-edit-options-tab-hook[data-id="categories_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="categories_styling"]').hide(),o?jQuery('.dslca-module-edit-options-tab-hook[data-id="separator_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="separator_styling"]').hide(),n?jQuery('.dslca-module-edit-options-tab-hook[data-id="count_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="count_styling"]').hide(),p?jQuery('.dslca-module-edit-options-tab-hook[data-id="tags_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="tags_styling"]').hide(),r?jQuery('.dslca-module-edit-options-tab-hook[data-id="position_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="position_styling"]').hide(),q?jQuery('.dslca-module-edit-options-tab-hook[data-id="social_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="social_styling"]').hide(),s?jQuery('.dslca-module-edit-options-tab-hook[data-id="icon_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="icon_styling"]').hide(),t?jQuery('.dslca-module-edit-options-tab-hook[data-id="content_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="content_styling"]').hide(),u?jQuery('.dslca-module-edit-options-tab-hook[data-id="price_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="price_styling"]').hide(),v?jQuery('.dslca-module-edit-options-tab-hook[data-id="price_secondary_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="price_secondary_styling"]').hide(),w||x?jQuery('.dslca-module-edit-options-tab-hook[data-id="other_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="other_styling"]').hide(),y?jQuery('.dslca-module-edit-options-tab-hook[data-id="quote_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="quote_styling"]').hide(),z?jQuery('.dslca-module-edit-options-tab-hook[data-id="author_name_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="author_name_styling"]').hide(),A?jQuery('.dslca-module-edit-options-tab-hook[data-id="author_position_styling"]').show():jQuery('.dslca-module-edit-options-tab-hook[data-id="author_position_styling"]').hide()}if(jQuery('.dslca-options-filter-hook[data-section="styling"]').hasClass("dslca-active")){if("DSLC_Text_Simple"==jQuery(".dslca-module-being-edited").data("dslc-module-id")||"DSLC_TP_Content"==jQuery(".dslca-module-being-edited").data("dslc-module-id")||"DSLC_Html"==jQuery(".dslca-module-being-edited").data("dslc-module-id")){var B=jQuery('.dslca-module-edit-option[data-id="css_custom"]'),C=B.find("select").val();"enabled"==C?(jQuery('.dslca-module-edit-option[data-section="styling"]').css({visibility:"visible"}),jQuery(".dslca-module-edit-options-tabs").show()):(jQuery('.dslca-module-edit-option[data-section="styling"]').css({visibility:"hidden"}),jQuery(".dslca-module-edit-options-tabs").hide(),B.css({visibility:"visible"}))}}else jQuery(".dslca-module-edit-options-tabs").show();"disabled"==jQuery('select.dslca-module-edit-field[data-id="css_res_t"]').val()?jQuery('.dslca-module-edit-option[data-id*="css_res_t"]').css("visibility","hidden"):jQuery('.dslca-module-edit-option[data-id*="css_res_t"]').css("visibility","visible"),"disabled"==jQuery('select.dslca-module-edit-field[data-id="css_res_p"]').val()?jQuery('.dslca-module-edit-option[data-id*="css_res_p"]').css("visibility","hidden"):jQuery('.dslca-module-edit-option[data-id*="css_res_p"]').css("visibility","visible"),jQuery('.dslca-module-edit-option[data-id="css_res_p"], .dslca-module-edit-option[data-id="css_res_t"]').css("visibility","visible")}function dslc_module_options_confirm_changes(a){dslcDebug&&console.log("dslc_module_options_confirm_changes"),a="undefined"!=typeof a?a:!1,jQuery(".dslca-module-being-edited").hasClass("dslc-module-DSLC_Sliders")?jQuery(".dslca-module-being-edited").removeClass("dslca-module-being-edited"):(jQuery("body").addClass("dslca-module-saving-in-progress"),dslc_module_output_altered(function(){dslc_update_preset(),jQuery(".dslca-module-being-edited").removeClass("dslca-module-being-edited"),jQuery("body").removeClass("dslca-module-saving-in-progress"),jQuery("body").hasClass("rtl")?jQuery(".dslca-module-edit-options-inner").html(""):jQuery(".dslca-module-edit-options-inner .jspPane").html(""),jQuery(".dslca-module-edit-options-tabs").html(""),a&&a()})),dslc_show_section(".dslca-modules"),jQuery(".dslca-header .dslca-options-filter-hook").hide(),jQuery(".dslca-module-edit-actions").hide(),jQuery(".dslca-header .dslca-go-to-section-hook").show(),jQuery(".dslca-save-composer-hook").css({visibility:"visible"}),jQuery(".dslca-save-draft-composer-hook").css({visibility:"visible"})}function dslc_module_options_cancel_changes(a){dslcDebug&&console.log("dslc_module_options_cancel_changes"),a="undefined"!=typeof a?a:!1;var b=jQuery(".dslca-module-being-edited"),c=jQuery(".dslca-module-options-front-backup").children().clone();jQuery(".dslca-module-options-front",b).html("").append(c),dslc_module_output_altered(function(){jQuery(".dslca-module-being-edited").removeClass("dslca-module-being-edited"),jQuery("body").hasClass("rtl")?jQuery(".dslca-module-edit-options-inner").html(""):jQuery(".dslca-module-edit-options-inner .jspPane").html(""),jQuery(".dslca-module-edit-options-tabs").html(""),a&&a()}),dslc_show_section(".dslca-modules"),jQuery(".dslca-header .dslca-options-filter-hook").hide(),jQuery(".dslca-module-edit-actions").hide(),jQuery(".dslca-header .dslca-go-to-section-hook").show(),jQuery(".dslca-save-composer-hook").css({visibility:"visible"}),jQuery(".dslca-save-draft-composer-hook").css({visibility:"visible"})}function dslc_module_options_tooltip(){jQuery(document).on("click",".dslca-module-edit-field-ttip-close",function(){jQuery(".dslca-module-edit-field-ttip, .dslca-module-edit-field-icon-ttip").hide()}),jQuery(document).on("click",".dslca-module-edit-field-ttip-hook",function(){var a=jQuery(".dslca-module-edit-field-ttip"),b=a.find(".dslca-module-edit-field-ttip-inner"),c=jQuery(this),d=c.closest(".dslca-module-edit-option").find(".dslca-module-edit-field-ttip-content").html();if(a.is(":visible"))jQuery(".dslca-module-edit-field-ttip").hide();else{b.html(d);var e=c.offset(),f=a.outerHeight(),g=a.outerWidth(),h=e.left-g/2+6,i="50%";0>h&&(i=g/2+h+"px",h=0),jQuery(".dslca-module-edit-field-ttip").show().css({top:e.top-f-20,left:h}),jQuery("head").append(jQuery("<style>.dslca-module-edit-field-ttip:after, .dslca-module-edit-field-ttip:before { left: "+i+" }</style>"))}}),jQuery(document).on("click",".dslca-module-edit-field-icon-ttip-hook",function(){var a=jQuery(".dslca-module-edit-field-icon-ttip"),b=jQuery(this);if(a.is(":visible"))jQuery(".dslca-module-edit-field-icon-ttip").hide();else{var c=b.offset(),d=a.outerHeight(),e=a.outerWidth(),f=c.left-e/2+6,g="50%";0>f&&(g=e/2+f+"px",f=0),jQuery(".dslca-module-edit-field-icon-ttip").show().css({top:c.top-d-20,left:f}),jQuery("head").append(jQuery("<style>.dslca-module-edit-field-icon-ttip:after, .dslca-module-edit-field-icon-ttip:before { left: "+g+" }</style>"))}})}function dslc_module_options_font(){jQuery(document).on("click",".dslca-module-edit-field-font-next",function(a){if(a.preventDefault(),!jQuery(this).hasClass("dslca-font-loading")&&!jQuery(this).siblings(".dslca-font-loading").length){var b=jQuery(this).closest(".dslca-module-edit-option-font"),c=jQuery(".dslca-module-edit-field-font",b),d=dslcAllFontsArray.indexOf(c.val()),e=d+1;jQuery(".dslca-module-edit-field-font-suggest",b).text(""),c.val(dslcAllFontsArray[e]).trigger("change"),jQuery(this).addClass("dslca-font-loading").find(".dslca-icon").removeClass("dslc-icon-chevron-right").addClass("dslc-icon-refresh dslc-icon-spin")}}),jQuery(document).on("click",".dslca-module-edit-field-font-prev",function(a){if(a.preventDefault(),!jQuery(this).hasClass("dslca-font-loading")&&!jQuery(this).siblings(".dslca-font-loading").length){var b=jQuery(this).closest(".dslca-module-edit-option-font"),c=jQuery(".dslca-module-edit-field-font",b),d=dslcAllFontsArray.indexOf(c.val()),e=d-1;jQuery(".dslca-module-edit-field-font-suggest",b).text(""),0>e&&(e=dslcAllFontsArray.length-1),c.val(dslcAllFontsArray[e]).trigger("change"),jQuery(this).addClass("dslca-font-loading").find(".dslca-icon").removeClass("dslc-icon-chevron-left").addClass("dslc-icon-refresh dslc-icon-spin")}}),jQuery(document).on("keyup",".dslca-module-edit-field-font",function(a){var b,c,d,f,e=!1;if(b=jQuery(this),c=b.closest(".dslca-module-edit-option"),38==a.which&&jQuery(".dslca-module-edit-field-font-prev",c).click(),40==a.which&&jQuery(".dslca-module-edit-field-font-next",c).click(),13!=a.which&&38!=a.which&&40!=a.which){d=b.val();var h=new RegExp("^"+d,"i"),i=dslcAllFontsArray.length,j=0;do{if(h.test(dslcAllFontsArray[j])&&!e)var e=dslcAllFontsArray[j];j++}while(i>j);e?(f=e,jQuery(".dslca-module-edit-field-font-suggest",c).show()):(f=d,jQuery(".dslca-module-edit-field-font-suggest",c).hide()),jQuery(".dslca-module-edit-field-font-suggest",c).text(f),f.length&&b.val(f.substring(0,b.val().length))}}),jQuery(document).on("keypress",".dslca-module-edit-field-font",function(a){if(13==a.which){a.preventDefault();var b,c;b=jQuery(this),c=b.closest(".dslca-module-edit-option"),jQuery(this).val(jQuery(".dslca-module-edit-field-font-suggest",c).text()).trigger("change"),jQuery(".dslca-module-edit-field-font-suggest",c).text("")}})}function dslc_list_icon(a,b){var c=jQuery(a).closest(".dslca-module-edit-option-icon"),d=jQuery(".dslca-module-edit-field-icon",c),e=dslcIconsCurrentSet.indexOf(d.val());if("previous"==b)var f=e-1;else var f=e+1;jQuery(".dslca-module-edit-field-icon-suggest",c).text(""),0>f&&(f=dslcIconsCurrentSet.length-1),d.val(dslcIconsCurrentSet[f]).trigger("change")}function dslc_module_options_icon(){jQuery(document).on("keyup",".dslca-module-edit-field-icon",function(a){var b,c,d,e,f;b=jQuery(this),c=b.closest(".dslca-module-edit-option"),38==a.which&&dslc_list_icon(b,"previous"),40==a.which&&dslc_list_icon(b,"next"),13!=a.which&&38!=a.which&&40!=a.which&&(d=b.val().toLowerCase(),b.val(d),e=jQuery.grep(dslcIconsCurrentSet,function(a,b){return 0==a.indexOf(d)}),f=e[0],jQuery(".dslca-module-edit-field-icon-suggest",c).text(f))}),jQuery(document).on("keypress",".dslca-module-edit-field-icon",function(a){if(13==a.which){a.preventDefault();var b,c;b=jQuery(this),c=b.closest(".dslca-module-edit-option"),jQuery(this).val(jQuery(".dslca-module-edit-field-icon-suggest",c).text()).trigger("change"),jQuery(".dslca-module-edit-field-icon-suggest",c).text("")}})}function dslc_module_options_icon_returnid(){jQuery(document).on("click",'.dslca-open-modal-hook[data-modal^=".dslc-list-icons"]',function(a){jQuery(this).closest(".dslca-module-edit-option-icon").find("input").addClass("icon-modal-active")}),jQuery(document).on("click",".dslca-modal-icons .icon-item",function(a){var b=jQuery(this).find(".icon-item_name").text();jQuery("input.icon-modal-active").val(b).change(),dslc_hide_modal("",jQuery(".dslca-modal:visible"))})}function dslc_module_options_text_align(){jQuery(document).on("click",".dslca-module-edit-option-text-align-hook",function(){var a=jQuery(this),b=jQuery(this).closest(".dslca-module-edit-option-text-align-wrapper").find(".dslca-module-edit-option-text-align-hook"),c=a.data("val"),d=jQuery(this).closest(".dslca-module-edit-option-text-align-wrapper").siblings("input.dslca-module-edit-field");b.removeClass("dslca-active"),a.addClass("dslca-active"),d.val(c).trigger("change")})}function dslc_module_options_checkbox(){jQuery(document).on("click",".dslca-module-edit-option-checkbox-hook, .dslca-modules-section-edit-option-checkbox-hook",function(){var a=jQuery(this),b=a.siblings('input[type="checkbox"]');b.prop("checked")?(b.prop("checked",!1),a.find(".dslca-icon").removeClass("dslc-icon-check").addClass("dslc-icon-check-empty")):(b.prop("checked",!0),a.find(".dslca-icon").removeClass("dslc-icon-check-empty").addClass("dslc-icon-check")),b.change()})}function dslc_module_options_box_shadow(){dslcDebug&&console.log("dslc_module_options_box_shadow"),jQuery(document).on("change",".dslca-module-edit-option-box-shadow-hor, .dslca-module-edit-option-box-shadow-ver, .dslca-module-edit-option-box-shadow-blur, .dslca-module-edit-option-box-shadow-spread, .dslca-module-edit-option-box-shadow-color, .dslca-module-edit-option-box-shadow-inset",function(){var a=jQuery(this).closest(".dslca-module-edit-option"),b=a.find(".dslca-module-edit-field"),c=a.find(".dslca-module-edit-option-box-shadow-hor").val(),d=a.find(".dslca-module-edit-option-box-shadow-ver").val(),e=a.find(".dslca-module-edit-option-box-shadow-blur").val(),f=a.find(".dslca-module-edit-option-box-shadow-spread").val(),g=a.find(".dslca-module-edit-option-box-shadow-color").val(),h=a.find(".dslca-module-edit-option-box-shadow-inset").is(":checked");h=h?" inset":"";var i=c+"px "+d+"px "+e+"px "+f+"px "+g+h;b.val(i).trigger("change")})}function dslc_modules_options_box_shadow_color(){var b,c,a=[];if(a[0]=[],a[1]=[],a[2]=[],a[3]=[],void 0==localStorage.dslcColorpickerPalleteStorage);else for(b=JSON.parse(localStorage.dslcColorpickerPalleteStorage),c=0;c<b.length;c++){var d=Math.floor(c/3);4>d&&a[d].push(b[c])}jQuery(".dslca-module-edit-option-box-shadow-color").each(function(){var d,e,b=jQuery(this),c=b.val();jQuery(this).spectrum({color:c,showInput:!0,allowEmpty:!0,showAlpha:!0,clickoutFiresChange:!0,cancelText:"",chooseText:"",preferredFormat:"rgb",showPalette:!0,palette:a,move:function(a){d=jQuery(this),e=null==a?"transparent":a.toRgbString().replace(/ /g,""),d.val(e).trigger("change")},change:function(a){if(d=jQuery(this),e=null==a?"transparent":a.toRgbString().replace(/ /g,""),d.val(e).trigger("change"),void 0==localStorage.dslcColorpickerPalleteStorage){var b=[e];localStorage.dslcColorpickerPalleteStorage=JSON.stringify(b)}else{var b=JSON.parse(localStorage.dslcColorpickerPalleteStorage);-1==b.indexOf(e)&&b.unshift(e),localStorage.dslcColorpickerPalleteStorage=JSON.stringify(b)}},show:function(a){jQuery("body").addClass("dslca-disable-selection")},hide:function(){jQuery("body").removeClass("dslca-disable-selection")}})})}function dslc_module_options_text_shadow(){dslcDebug&&console.log("dslc_module_options_text_shadow"),jQuery(document).on("change",".dslca-module-edit-option-text-shadow-hor, .dslca-module-edit-option-text-shadow-ver, .dslca-module-edit-option-text-shadow-blur, .dslca-module-edit-option-text-shadow-color",function(){var a=jQuery(this).closest(".dslca-module-edit-option"),b=a.find(".dslca-module-edit-field"),c=a.find(".dslca-module-edit-option-text-shadow-hor").val(),d=a.find(".dslca-module-edit-option-text-shadow-ver").val(),e=a.find(".dslca-module-edit-option-text-shadow-blur").val(),f=a.find(".dslca-module-edit-option-text-shadow-color").val(),g=c+"px "+d+"px "+e+"px "+f;b.val(g).trigger("change")})}function dslc_modules_options_text_shadow_color(){jQuery(".dslca-module-edit-option-text-shadow-color").each(function(){var c,d,a=jQuery(this),b=a.val();jQuery(this).spectrum({color:b,showInput:!0,allowEmpty:!0,showAlpha:!0,clickoutFiresChange:!0,cancelText:"",chooseText:"",preferredFormat:"rgb",move:function(a){c=jQuery(this),d=null==a?"transparent":a.toRgbString().replace(/ /g,""),c.val(d).trigger("change")},change:function(a){c=jQuery(this),d=null==a?"transparent":a.toRgbString().replace(/ /g,""),c.val(d).trigger("change")},show:function(a){jQuery("body").addClass("dslca-disable-selection")},hide:function(){jQuery("body").removeClass("dslca-disable-selection")}})})}function dslc_module_options_color(){dslcDebug&&console.log("dslc_module_options_color");var a,b,c,d,e,f,g,i,j,h=[];if(h[0]=[],h[1]=[],h[2]=[],h[3]=[],void 0==localStorage.dslcColorpickerPalleteStorage);else for(i=JSON.parse(localStorage.dslcColorpickerPalleteStorage),j=0;j<i.length;j++){var k=Math.floor(j/3);4>k&&h[k].push(i[j])}jQuery(".dslca-module-edit-field-colorpicker").each(function(){g=jQuery(this).val(),jQuery(this).spectrum({color:g,showInput:!0,allowEmpty:!0,showAlpha:!0,clickoutFiresChange:!0,cancelText:"",chooseText:"",preferredFormat:"rgb",showPalette:!0,palette:h,move:function(g){a=jQuery(this),d=null==g?"transparent":g.toRgbString(),a.val(d),b=a.data("affect-on-change-el"),c=a.data("affect-on-change-rule"),jQuery(b,".dslca-module-being-edited").css(c,d),e=jQuery(".dslca-module-being-edited"),f=a.data("id"),jQuery('.dslca-module-option-front[data-id="'+f+'"]',e).val(d),e.addClass("dslca-module-change-made")},change:function(g){if(a=jQuery(this),d=null==g?"transparent":g.toRgbString(),a.val(d),b=a.data("affect-on-change-el"),c=a.data("affect-on-change-rule"),jQuery(b,".dslca-module-being-edited").css(c,d),e=jQuery(".dslca-module-being-edited"),f=a.data("id"),jQuery('.dslca-module-option-front[data-id="'+f+'"]',e).val(d),e.addClass("dslca-module-change-made"),void 0==localStorage.dslcColorpickerPalleteStorage){var h=[d];localStorage.dslcColorpickerPalleteStorage=JSON.stringify(h)}else{var h=JSON.parse(localStorage.dslcColorpickerPalleteStorage);-1==h.indexOf(d)&&h.unshift(d),localStorage.dslcColorpickerPalleteStorage=JSON.stringify(h)}},show:function(a){jQuery("body").addClass("dslca-disable-selection")},hide:function(){jQuery("body").removeClass("dslca-disable-selection")}})}),jQuery(".dslca-sp-revert").click(function(){var a=jQuery(".sp-replacer.sp-active").closest(".dslca-module-edit-option").find(".dslca-module-edit-field").data("default");jQuery(this).closest(".sp-container").find(".sp-input").val(a).trigger("change")})}function dslc_module_options_numeric(){dslcDebug&&console.log("dslc_module_options_numeric"),jQuery(".dslca-module-edit-field-slider").each(function(){var a,c,d,e,f,g,h,j,k,l,m;a=jQuery(this),c=a.siblings(".dslca-module-edit-field"),g=a.closest(".dslca-module-edit-option-slider").find(".dslca-module-edit-field-slider-tooltip"),a.slider({min:c.data("min"),max:c.data("max"),step:c.data("increment"),value:c.val(),slide:function(b,i){l=c.data("ext"),d=i.value+l,c.val(d),f=c.data("affect-on-change-el"),e=c.data("affect-on-change-rule").replace(/ /g,""),m=e.split(",");for(var n=0;n<m.length;n++)jQuery(f,".dslca-module-being-edited").css(m[n],d);j=jQuery(".dslca-module-being-edited"),k=c.data("id"),jQuery('.dslca-module-option-front[data-id="'+k+'"]',j).val(i.value),j.addClass("dslca-module-change-made"),g.text(d);var o=a.find(".ui-slider-handle");h=o[0].style.left,g.css({left:h}),dslc_masonry(j),dslc_init_square(),dslc_center(),dslc_init_square(j)},stop:function(a,b){g.hide()},start:function(a,b){g.show(),g.text(d),h=b.handle.style.left,g.css({left:h})}})})}function dslc_module_output_default(a,b){dslcDebug&&console.log("dslc_module_output_default"),jQuery.post(DSLCAjax.ajaxurl,{action:"dslc-ajax-add-module",dslc:"active",dslc_module_id:a,dslc_post_id:jQuery(".dslca-container").data("post-id")},function(a){b(a)})}function dslc_module_output_altered(a){dslcDebug&&console.log("dslc_module_output_altered"),a="undefined"!=typeof a?a:!1;var b=jQuery(".dslca-module-being-edited"),c=b.data("dslc-module-id"),d=jQuery(".dslca-module-options-front textarea",b),e=b.data("module-id"),f={};f.action="dslc-ajax-add-module",f.dslc="active",f.dslc_module_id=c,f.dslc_module_instance_id=e,f.dslc_post_id=jQuery(".dslca-container").data("post-id"),b.hasClass("dslca-preload-preset")?f.dslc_preload_preset="enabled":f.dslc_preload_preset="disabled",b.removeClass("dslca-preload-preset"),d.each(function(){var a=jQuery(this),b=a.data("id"),c=a.val();f[b]=c}),jQuery.post(DSLCAjax.ajaxurl,f,function(c){b.after(c.output).next().addClass("dslca-module-being-edited"),b.remove(),dslc_generate_code(),dslc_show_publish_button(),dslc_carousel(),dslc_masonry(jQuery(".dslca-module-being-edited")),jQuery(".dslca-module-being-edited img").load(function(){dslc_masonry(jQuery(".dslca-module-being-edited")),dslc_center()}),dslc_tabs(),dslc_init_accordion(),dslc_init_square(),dslc_center(),a&&a(c)})}function dslc_module_output_reload(a,b){dslcDebug&&console.log("dslc_module_output_reload"),b="undefined"!=typeof b?b:!1;var c=a.data("dslc-module-id"),d=jQuery(".dslca-module-options-front textarea",a),e=a.data("module-id"),f={};f.action="dslc-ajax-add-module",f.dslc="active",f.dslc_module_id=c,f.dslc_module_instance_id=e,f.dslc_post_id=jQuery(".dslca-container").data("post-id"),f.dslc_preload_preset="enabled",a.removeClass("dslca-preload-preset"),d.each(function(){var a=jQuery(this),b=a.data("id"),c=a.val();f[b]=c}),a.append('<div class="dslca-module-reloading"><span class="dslca-icon dslc-icon-spin dslc-icon-refresh"></span></div>'),jQuery.post(DSLCAjax.ajaxurl,f,function(c){a.after(c.output).next().addClass("dslca-module-being-edited"),a.remove(),dslc_generate_code(),dslc_show_publish_button(),dslc_carousel(),dslc_masonry(jQuery(".dslca-module-being-edited")),jQuery(".dslca-module-being-edited img").load(function(){dslc_masonry(jQuery(".dslca-module-being-edited")),dslc_center()}),dslc_tabs(),dslc_init_accordion(),dslc_init_square(),dslc_center(),b&&b(c),jQuery(".dslca-module-being-edited").removeClass("dslca-module-being-edited")})}function dslc_delete_module(a){dslc_module_delete(a)}function dslc_copy_module(a){dslc_module_copy(a)}function dslc_display_module_options(a){dslc_module_options_show(a)}function dslc_filter_module_options(a){dslc_module_options_section_filter(a)}function dslc_show_module_options_tab(a){dslc_module_options_tab_filter(a)}function dslc_confirm_changes(a){dslc_module_options_confirm_changes(a)}function dslc_cancel_changes(a){dslc_module_options_cancel_changes(a)}function dslc_init_colorpicker(){dslc_module_options_color()}function dslc_init_options_slider(){dslc_module_options_numeric()}function dslc_init_options_scrollbar(){dslc_module_options_scrollbar()}function dslc_module_edit_options_hideshow_tabs(){dslc_module_options_hideshow_tabs()}function dslc_get_module_output(a,b){dslc_module_output_default(a,b)}function dslc_preview_change(a){dslc_module_output_altered(a)}function dslc_reload_module(a,b){dslc_module_output_reload(a,b)}function dslc_template_load(a){dslcDebug&&console.log("dslc_load_template");jQuery.post(DSLCAjax.ajaxurl,{action:"dslc-ajax-load-template",dslc:"active",dslc_template_id:a},function(a){jQuery("#dslc-main").html(a.output),dslc_carousel(),dslc_drag_and_drop(),dslc_show_publish_button(),dslc_generate_code()})}function dslc_template_import(){dslcDebug&&console.log("dslc_import_template");jQuery(".dslca-modal-templates-import .dslca-modal-title").css({
3
+ opacity:0}),jQuery(".dslca-modal-templates-import .dslca-loading").show(),jQuery.post(DSLCAjax.ajaxurl,{action:"dslc-ajax-import-template",dslc:"active",dslc_template_code:jQuery("#dslca-import-code").val()},function(a){jQuery("#dslc-main").html(a.output),jQuery(".dslca-modal-templates-import .dslca-loading").hide(),jQuery(".dslca-modal-templates-import .dslca-modal-title").css({opacity:1}),dslc_hide_modal("",".dslca-modal-templates-import"),dslc_bg_video(),dslc_center(),dslc_drag_and_drop(),dslc_show_publish_button(),dslc_generate_code()})}function dslc_template_save(){dslcDebug&&console.log("dslc_save_template"),jQuery.post(DSLCAjax.ajaxurl,{action:"dslc-ajax-save-template",dslc:"active",dslc_template_code:jQuery("#dslca-code").val(),dslc_template_title:jQuery("#dslca-save-template-title").val()},function(a){dslc_hide_modal("",".dslca-modal-templates-save")})}function dslc_template_delete(a){dslcDebug&&console.log("dslc_delete_template"),jQuery.post(DSLCAjax.ajaxurl,{action:"dslc-ajax-delete-template",dslc:"active",dslc_template_id:a},function(b){jQuery('.dslca-template[data-id="'+a+'"]').fadeOut(200,function(){jQuery(this).remove()})})}function dslc_load_template(a){dslc_template_load(a)}function dslc_import_template(){dslc_template_import()}function dslc_save_template(){dslc_template_save()}function dslc_delete_template(a){dslc_template_delete(a)}function dslc_save_composer(){dslcDebug&&console.log("dslc_save_composer");var a=jQuery("#dslca-code").val(),b=jQuery("#dslca-content-for-search").val(),c=jQuery(".dslca-container").data("post-id");jQuery("body").addClass("dslca-saving-in-progress"),jQuery(".dslca-save-composer .dslca-icon").removeClass("dslc-icon-ok").addClass("dslc-icon-spin dslc-icon-spinner"),jQuery.ajax({method:"POST",type:"POST",url:DSLCAjax.ajaxurl,data:{action:"dslc-ajax-save-composer",dslc:"active",dslc_post_id:c,dslc_code:a,dslc_content_for_search:b},timeout:1e4}).done(function(a){"success"==a.status?(jQuery(".dslca-save-composer").fadeOut(250),jQuery(".dslca-save-draft-composer").fadeOut(250)):alert("Something went wrong, please try to save again.")}).fail(function(a){"timeout"==a.statusText?alert("The request timed out after 10 seconds. Please try again."):alert("Something went wrong. Please try again.")}).always(function(a){jQuery(".dslca-save-composer .dslca-icon").removeClass("dslc-icon-spin dslc-icon-spinner").addClass("dslc-icon-ok"),jQuery("body").removeClass("dslca-saving-in-progress")})}function dslc_save_draft_composer(){dslcDebug&&console.log("dslc_save_draft_composer");var a=jQuery("#dslca-code").val(),b=jQuery(".dslca-container").data("post-id");jQuery("body").addClass("dslca-saving-in-progress"),jQuery(".dslca-save-draft-composer .dslca-icon").removeClass("dslc-icon-ok").addClass("dslc-icon-spin dslc-icon-spinner"),jQuery.post(DSLCAjax.ajaxurl,{action:"dslc-ajax-save-draft-composer",dslc:"active",dslc_post_id:b,dslc_code:a},function(a){jQuery(".dslca-save-draft-composer .dslca-icon").removeClass("dslc-icon-spin dslc-icon-spinner").addClass("dslc-icon-save"),"success"==a.status?jQuery(".dslca-save-draft-composer").fadeOut(250):alert("Something went wrong, please try to save again."),jQuery("body").removeClass("dslca-saving-in-progress")})}function dslc_generate_code(){dslcDebug&&console.log("dslc_generate_code");var a,b,h,i,j,k,l,c="",d=12,e=12,f=0,g=0,m="";jQuery("#dslc-main .dslc-modules-area").each(function(){jQuery(".dslc-module-front",this).length?(jQuery(this).removeClass("dslc-modules-area-empty").addClass("dslc-modules-area-not-empty"),jQuery(".dslca-no-content",this).hide()):(jQuery(this).removeClass("dslc-modules-area-not-empty").addClass("dslc-modules-area-empty"),jQuery(".dslca-no-content:not(:visible)",this).show().css({"-webkit-animation-name":"dslcBounceIn","-moz-animation-name":"dslcBounceIn","animation-name":"dslcBounceIn","animation-duration":"0.6s","-webkit-animation-duration":"0.6s",padding:0}).animate({padding:"35px 0"},300))}),jQuery("#dslc-main .dslc-modules-section").each(function(){jQuery(".dslc-modules-area",this).length?jQuery(this).removeClass("dslc-modules-section-empty").addClass("dslc-modules-section-not-empty"):jQuery(this).removeClass("dslc-modules-section-not-empty").addClass("dslc-modules-section-empty")}),jQuery("#dslc-main .dslc-modules-area.dslc-last-col, .dslc-modules-area.dslc-first-col").removeClass("dslc-last-col dslc-first-col"),jQuery("#dslc-main .dslc-module-front.dslc-last-col, .dslc-module-front.dslc-first-col").removeClass("dslc-last-col dslc-first-col"),jQuery("#dslc-main .dslc-modules-section").each(function(){g=0,l=jQuery(this),m="",jQuery(".dslca-modules-section-settings input",l).each(function(){m=m+jQuery(this).data("id")+'="'+jQuery(this).val()+'" '}),c=c+"[dslc_modules_section "+m+"] ",jQuery(".dslc-modules-area",l).each(function(){i=jQuery(this),h=parseInt(i.data("size")),j="no",k="no",g+=h,g==e?(jQuery(this).addClass("dslc-last-col").next(".dslc-modules-area").addClass("dslc-first-col"),g=0,j="yes"):g>e&&(jQuery(this).removeClass("dslc-last-col").addClass("dslc-first-col"),g=h,k="yes"),g==h&&(k="yes"),c=c+'[dslc_modules_area last="'+j+'" first="'+k+'" size="'+h+'"] ',jQuery(".dslc-module-front",i).each(function(){b=parseInt(jQuery(this).data("dslc-module-size"));var e="no",g="no";f+=b,f==d?(jQuery(this).addClass("dslc-last-col").next(".dslc-module-front").addClass("dslc-first-col"),f=0,e="yes"):f>d&&(jQuery(this).removeClass("dslc-last-col").addClass("dslc-first-col"),f=b,g="yes"),f==d&&(g="yes",jQuery(this).addClass("dslc-last-col").next(".dslc-module-front").addClass("dslc-first-col"),f=0),a=jQuery(this).find(".dslca-module-code").val(),c=c+'[dslc_module last="'+e+'"]'+a+"[/dslc_module] "}),c+="[/dslc_modules_area] "}),c+="[/dslc_modules_section] "}),jQuery("#dslca-code").val(c),jQuery("#dslca-export-code").val(c),dslca_gen_content_for_search()}function dslc_generate_section_code(a){dslcDebug&&console.log("dslc_generate_section_code");var b,c,i,j,k,l,m,d="",f=12,g=0,h=0,n="";h=0;var m=a;return jQuery(".dslca-modules-section-settings input",m).each(function(){n=n+jQuery(this).data("id")+'="'+jQuery(this).val()+'" '}),d=d+"[dslc_modules_section "+n+"] ",jQuery(".dslc-modules-area",m).each(function(){j=jQuery(this),i=parseInt(j.data("size")),k="no",l="no",h+=i,h==f?(jQuery(this).addClass("dslc-last-col").next(".dslc-modules-area").addClass("dslc-first-col"),h=0,k="yes"):h>f&&(jQuery(this).removeClass("dslc-last-col").addClass("dslc-first-col"),h=i,l="yes"),h==i&&(l="yes"),d=d+'[dslc_modules_area last="'+k+'" first="'+l+'" size="'+i+'"] ',jQuery(".dslc-module-front",j).each(function(){c=parseInt(jQuery(this).data("dslc-module-size")),g+=c,g==i&&(jQuery(this).addClass("dslc-last-col").next(".dslc-module-front").addClass("dslc-first-col"),g=0),b=jQuery(this).find(".dslca-module-code").val(),d=d+"[dslc_module]"+b+"[/dslc_module] "}),d+="[/dslc_modules_area] "}),d+="[/dslc_modules_section] "}function dslc_update_preset(){dslcDebug&&console.log("dslc_update_preset");var a=jQuery(".dslca-module-being-edited"),b=a.find('.dslca-module-option-front[data-id="css_load_preset"]').val(),c=a.find(".dslca-module-code").val(),d=a.data("dslc-module-id");"none"!==b&&jQuery.post(DSLCAjax.ajaxurl,{action:"dslc-ajax-save-preset",dslc_preset_name:b,dslc_preset_code:c,dslc_module_id:d},function(b){jQuery(".dslc-module-front:not(#"+a.attr("id")+')[data-dslc-module-id="'+a.data("dslc-module-id")+'"][data-dslc-preset="'+a.data("dslc-preset")+'"]').each(function(){dslc_module_output_reload(jQuery(this))})})}function dslc_dm_get_defaults(a){dslcDebug&&console.log("dslc_dm_get_defaults");var b=a.find(".dslca-module-code").val();jQuery.post(DSLCAjax.ajaxurl,{action:"dslc-ajax-dm-module-defaults",dslc:"active",dslc_modules_options:b},function(a){jQuery(".dslca-prompt-modal textarea").val(a.output)})}function dslca_gen_content_for_search(){dslcDebug&&console.log("dslca_gen_content_for_search");var a=document.getElementById("dslca-content-for-search"),b=a.value,c="",d=document.querySelectorAll("#dslc-main .dslc-module-front [data-exportable-content]");Array.prototype.forEach.call(d,function(a,b){var d;if(""!==a.getAttribute("data-exportable-content")){var e=a.getAttribute("data-exportable-content");d="<"+e+">"+a.innerHTML+"</"+e+">"}else d=a.innerHTML;null!==d&&(c+=d.replace(/\s+/g," ").trim()+"\n")}),a.value=c,b!==c&&dslc_show_publish_button()}function dslca_draggable_calc_center(a){dslcDebug&&console.log("dslca_draggable_calc_center"),jQuery(".dslc-modules-section-inner").sortable("option","cursorAt",{top:a.outerHeight()/2,left:a.outerWidth()/2})}function dslc_editable_content_gen_code(a){dslcDebug&&console.log("dslc_editable_content_gen_code");var b,c,d;b=a.closest(".dslc-module-front"),c=a.html().trim().replace(/<textarea/g,"<lctextarea").replace(/<\/textarea/g,"</lctextarea"),d=a.data("id"),jQuery('.dslca-module-option-front[data-id="'+d+'"]',b).val(c),dslc_show_publish_button()}var dslcRegularFontsArray=DSLCFonts.regular,dslcGoogleFontsArray=DSLCFonts.google,dslcAllFontsArray=dslcRegularFontsArray.concat(dslcGoogleFontsArray),dslcIconsCurrentSet=DSLCIcons.fontawesome,dslcDebug=!1;jQuery(document).ready(function(a){jQuery("body").hasClass("rtl")||jQuery(".dslca-module-edit-options-inner").jScrollPane(),a("body").addClass("dslca-enabled dslca-drag-not-in-progress"),a(".dslca-invisible-overlay").hide(),a(".dslca-section").eq(0).show(),dslc_drag_and_drop(),dslc_generate_code(),a(document).on("click",".dslca-currently-editing",function(){var d,b=!1,c=!1;a(".dslca-module-being-edited").length?(b=a(".dslca-module-being-edited"),d="#5890e5"):a(".dslca-modules-section-being-edited").length&&(b=a(".dslca-modules-section-being-edited"),d="#eabba9"),b&&(c=b.offset().top-100,0>c&&(c=0),a("html, body").animate({scrollTop:c},300,function(){b.animate({"outline-color":d},70,function(){b.animate({"outline-color":"transparent"},70,function(){b.animate({"outline-color":d},70,function(){b.animate({"outline-color":"transparent"},70,function(){b.removeAttr("style")})})})})}))}),a(document).on("click",".dslca-hide-composer-hook",function(){dslc_hide_composer()}),a(document).on("click",".dslca-show-composer-hook",function(){dslc_show_composer()}),a(document).on("click",".dslca-go-to-modules-hook",function(a){a.preventDefault(),dslc_show_section(".dslca-modules")}),a(document).on("click",".dslca-go-to-section-hook",function(b){b.preventDefault();var c=a(this).data("section");dslc_show_section(c),a(this).addClass("dslca-active").siblings(".dslca-go-to-section-hook").removeClass("dslca-active")}),a(document).on("click",".dslca-close-composer-hook",function(b){b.preventDefault(),a("body").hasClass("dslca-saving-in-progress")||dslc_js_confirm("disable_lc",'<span class="dslca-prompt-modal-title">'+DSLCString.str_exit_title+'</span><span class="dslca-prompt-modal-descr">'+DSLCString.str_exit_descr+"</span>",a(this).attr("href"))}),a(document).on("click",".dslca-submit",function(){jQuery(this).closest("form").submit()}),a(document).on("click",".dslca-section-title",function(b){b.stopPropagation(),a(".dslca-section-title-filter",this).length&&(dslc_generate_filters(),a(".dslca-section-title-filter-options").slideToggle(300))}),a(document).on("click",".dslca-section-title-filter-options span",function(b){b.stopPropagation();var c=a(this).data("origin"),d=a(this).closest(".dslca-section");d.hasClass("dslca-templates-load")?a(".dslca-section-title-filter-curr",d).text(a(this).text()+" TEMPLATES"):a(".dslca-section-title-filter-curr",d).text(a(this).text()+" MODULES"),a(".dslca-section-scroller-inner").css({left:0}),dslc_filter_origin(c,d)})}),jQuery(document).ready(function(a){a(document).on("click",".dslca-section-scroller-prev",function(b){b.preventDefault(),dslc_scroller_prev(a(this).closest(".dslca-section").find(".dslca-section-scroller"))}),a(document).on("click",".dslca-section-scroller-next",function(b){b.preventDefault(),dslc_scroller_next(a(this).closest(".dslca-section").find(".dslca-section-scroller"))})}),jQuery(window).load(function(){dslc_scroller_init(),jQuery(window).resize(function(){dslc_scroller_init()})}),jQuery(document).ready(function(){dslc_ui_animations()}),jQuery(document).mouseup(function(a){var b=jQuery(".dslca-modal-open");b.is(a.target)||0!==b.has(a.target).length||b.hide()}),jQuery(document).ready(function(a){a(document).on("click",".dslca-open-modal-hook",function(){var b=a(this).data("modal");dslc_show_modal(a(this),b)}),a(document).on("click",".dslca-close-modal-hook",function(){if(!a(this).hasClass("dslca-action-disabled")){var b=a(this).data("modal");dslc_hide_modal(a(this),b)}})}),jQuery(document).ready(function(a){a(document).on("click",".dslca-prompt-modal-cancel-hook",function(a){a.preventDefault();var b=jQuery(".dslca-prompt-modal").data("id"),c=jQuery(".dslca-prompt-modal").data("target");"edit_in_progress"==b&&dslc_module_options_cancel_changes(function(){c.trigger("click")}),dslc_js_confirm_close(),jQuery(".dslca-prompt-modal").data("id","")}),a(document).on("click",".dslca-prompt-modal-confirm-hook",function(b){b.preventDefault();var c=jQuery(".dslca-prompt-modal").data("id"),d=jQuery(".dslca-prompt-modal").data("target"),e=!0;if("edit_in_progress"==c)dslc_module_options_confirm_changes(function(){d.trigger("click")});else if("disable_lc"==c)window.location=d;else if("delete_module"==c){var f=d.closest(".dslc-module-front");dslc_delete_module(f)}else if("delete_modules_area"==c){var g=d.closest(".dslc-modules-area");dslc_modules_area_delete(g)}else"delete_modules_section"==c?dslc_row_delete(d.closest(".dslc-modules-section")):"export_modules_section"==c||"import_modules_section"==c&&(dslc_row_import(a(".dslca-prompt-modal textarea").val()),a(".dslca-prompt-modal-confirm-hook span").css({opacity:0}),a(".dslca-prompt-modal-confirm-hook .dslca-loading").show(),e=!1);e&&dslc_js_confirm_close(),jQuery(".dslca-prompt-modal").data("id","")}),a(window).on("keydown",function(b){13==b.which?a(".dslca-prompt-modal-active").length&&a(".dslca-prompt-modal-confirm-hook").trigger("click"):27==b.which&&a(".dslca-prompt-modal-active").length&&a(".dslca-prompt-modal-cancel-hook").trigger("click")})}),jQuery(document).ready(function(a){dslc_row_edit_colorpicker_init(),dslc_row_edit_slider_init(),a("#dslc-main .dslc-modules-section").length||a("#dslca-tut-page").length||dslc_row_add(),a(document).on("click",".dslca-add-modules-section-hook",function(){var b=a(this);a(this).hasClass("dslca-action-disabled")||(b.find(".dslca-icon").removeClass("dslc-icon-align-justify").addClass("dslc-icon-spinner dslc-icon-spin"),dslc_row_add(function(){b.find(".dslca-icon").removeClass("dslc-icon-spinner dslc-icon-spin").addClass("dslc-icon-align-justify")}))}),a(document).on("click",".dslca-edit-modules-section-hook",function(){a(this).hasClass("dslca-action-disabled")||(jQuery(".dslca-module-being-edited.dslca-module-change-made").length?dslc_js_confirm("edit_in_progress",'<span class="dslca-prompt-modal-title">'+DSLCString.str_module_curr_edit_title+'</span><span class="dslca-prompt-modal-descr">'+DSLCString.str_module_curr_edit_descr+"</span>",jQuery(this)):jQuery(".dslca-modules-section-being-edited.dslca-modules-section-change-made").length?dslc_js_confirm("edit_in_progress",'<span class="dslca-prompt-modal-title">'+DSLCString.str_row_curr_edit_title+'</span><span class="dslca-prompt-modal-descr">'+DSLCString.str_row_curr_edit_descr+"</span>",jQuery(this)):dslc_row_edit(a(this).closest(".dslc-modules-section")))}),a(document).on("click",".dslca-row-edit-save",function(){dslc_row_edit_confirm(),a(".dslca-row-options-filter-hook.dslca-active").removeClass("dslca-active"),dslc_responsive_classes(!0)}),a(document).on("click",".dslca-row-edit-cancel",function(){dslc_row_edit_cancel(),a(".dslca-row-options-filter-hook.dslca-active").removeClass("dslca-active"),dslc_responsive_classes(!0)}),a(document).on("click",".dslca-copy-modules-section-hook",function(){a(this).hasClass("dslca-action-disabled")||dslc_row_copy(a(this).closest(".dslc-modules-section"))}),a(document).on("click",".dslca-import-modules-section-hook",function(b){b.preventDefault(),a(this).hasClass("dslca-action-disabled")||(a(".dslca-prompt-modal-confirm-hook").html('<span class="dslc-icon dslc-icon-ok"></span><span>'+DSLCString.str_import+'</span><div class="dslca-loading followingBallsGWrap"><div class="followingBallsG_1 followingBallsG"></div><div class="followingBallsG_2 followingBallsG"></div><div class="followingBallsG_3 followingBallsG"></div><div class="followingBallsG_4 followingBallsG"></div></div>'),dslc_js_confirm("import_modules_section",'<span class="dslca-prompt-modal-title">'+DSLCString.str_import_row_title+'</span><span class="dslca-prompt-modal-descr">'+DSLCString.str_import_row_descr+" <br><br><textarea></textarea></span>",a(this)))}),a(document).on("click",".dslca-delete-modules-section-hook",function(b){b.preventDefault(),a(this).hasClass("dslca-action-disabled")||dslc_js_confirm("delete_modules_section",'<span class="dslca-prompt-modal-title">'+DSLCString.str_del_row_title+'</span><span class="dslca-prompt-modal-descr">'+DSLCString.str_del_row_descr+"</span>",a(this))}),a(document).on("click",".dslca-export-modules-section-hook",function(b){b.preventDefault(),a(this).hasClass("dslca-action-disabled")||(a(".dslca-prompt-modal-cancel-hook").hide(),a(".dslca-prompt-modal-confirm-hook").html('<span class="dslc-icon dslc-icon-ok"></span>'+DSLCString.str_ok),dslc_js_confirm("export_modules_section",'<span class="dslca-prompt-modal-title">'+DSLCString.str_export_row_title+'</span><span class="dslca-prompt-modal-descr">'+DSLCString.str_export_row_descr+" <br><br><textarea></textarea></span>",a(this)),a(".dslca-prompt-modal textarea").val(dslc_generate_section_code(a(this).closest(".dslc-modules-section"))))})}),jQuery(document).ready(function(a){a(document).on("click",".dslca-add-modules-area-hook",function(a){a.preventDefault(),dslc_modules_area_add(jQuery(this).closest(".dslc-modules-section").find(".dslc-modules-section-inner"))}),a(document).on("click",".dslca-delete-modules-area-hook",function(b){b.preventDefault(),a(this).hasClass("dslca-action-disabled")||dslc_js_confirm("delete_modules_area",'<span class="dslca-prompt-modal-title">'+DSLCString.str_del_area_title+'</span><span class="dslca-prompt-modal-descr">'+DSLCString.str_del_area_descr+"</span>",a(this))}),a(document).on("click",".dslca-copy-modules-area-hook",function(b){if(b.preventDefault(),!a(this).hasClass("dslca-action-disabled")){var c=a(this).closest(".dslc-modules-area");dslc_copy_modules_area(c)}}),a(document).on("click",".dslca-change-width-modules-area-options span",function(){a(this).hasClass("dslca-action-disabled")||dslc_modules_area_width_set(jQuery(this).closest(".dslc-modules-area"),jQuery(this).data("size"))}),a(document).on("click",".dslca-change-width-modules-area-hook",function(b){if(b.preventDefault(),!a(this).hasClass("dslca-action-disabled"))if(a(".dslca-change-width-modules-area-options:visible",this).length)a(".dslca-change-width-modules-area-options",this).hide();else{a(".dslca-change-width-modules-area-options .dslca-active-width").removeClass("dslca-active-width");var c=a(this).closest(".dslc-modules-area").data("size");a('.dslca-change-width-modules-area-options span[data-size="'+c+'"]').addClass("dslca-active-width"),a(".dslca-change-width-modules-area-options",this).show()}})}),jQuery(document).ready(function(a){dslc_module_options_tooltip(),dslc_module_options_font(),dslc_module_options_icon(),dslc_module_options_icon_returnid(),dslc_module_options_text_align(),dslc_module_options_checkbox(),dslc_module_options_box_shadow(),dslc_module_options_text_shadow(),a(".dslca-module-edit-form").submit(function(a){a.preventDefault(),dslc_module_output_altered()}),a(document).on("click",".dslca-copy-module-hook",function(b){b.preventDefault(),a(this).hasClass("dslca-action-disabled")||dslc_module_copy(a(this).closest(".dslc-module-front"))}),a(document).on("click",".dslca-delete-module-hook",function(b){b.preventDefault(),a(this).hasClass("dslca-action-disabled")||dslc_js_confirm("delete_module",'<span class="dslca-prompt-modal-title">'+DSLCString.str_del_module_title+'</span><span class="dslca-prompt-modal-descr">'+DSLCString.str_del_module_descr+"</span>",a(this))}),a(document).on("click",".dslca-change-width-module-hook",function(b){b.preventDefault(),a(this).hasClass("dslca-action-disabled")||(a(".dslca-change-width-module-options",this).toggle(),a(this).closest(".dslca-module-manage").toggleClass("dslca-module-manage-change-width-active"))}),a(document).on("click",".dslca-change-width-module-options span",function(){dslc_module_width_set(jQuery(this).closest(".dslc-module-front"),jQuery(this).data("size"))}),a(document).on("click",".dslca-module-edit-hook",function(b){if(b.preventDefault(),!a("body").hasClass("dslca-composer-hidden"))if(a(".dslca-module-being-edited.dslca-module-change-made").length)dslc_js_confirm("edit_in_progress",'<span class="dslca-prompt-modal-title">'+DSLCString.str_module_curr_edit_title+'</span><span class="dslca-prompt-modal-descr">'+DSLCString.str_module_curr_edit_descr+"</span>",a(this));else if(a(".dslca-modules-section-being-edited.dslca-modules-section-change-made").length)dslc_js_confirm("edit_in_progress",'<span class="dslca-prompt-modal-title">'+DSLCString.str_row_curr_edit_title+'</span><span class="dslca-prompt-modal-descr">'+DSLCString.str_row_curr_edit_descr+"</span>",a(this));else{a(".dslca-modules-section-being-edited").length&&a(".dslca-module-edit-cancel").trigger("click");var c=a(this).closest(".dslc-module-front"),d=c.data("dslc-module-id");c.find(".dslca-module-code").val();a(".dslca-module-being-edited").removeClass("dslca-module-being-edited"),c.addClass("dslca-module-being-edited"),dslc_module_options_show(d)}}),a(document).on("click",".dslca-module-edit-options-tab-hook",function(){dslc_module_options_tab_filter(a(this))}),a(document).on("click",".dslca-options-filter-hook",function(b){var c=jQuery(".dslca-options-filter-hook.dslca-active").data("section");a(".dslca-options-filter-hook.dslca-active").removeClass("dslca-active"),a(this).addClass("dslca-active"),dslc_module_options_section_filter(jQuery(this).data("section")),"responsive"==c&&(jQuery(".dslca-container-loader").show(),dslc_responsive_classes(),dslc_module_output_altered(function(){jQuery(".dslca-container-loader").hide()}))}),a(document).on("click",".dslca-module-edit-save",function(){dslc_module_options_confirm_changes(),a(".dslca-options-filter-hook.dslca-active").removeClass("dslca-active"),dslc_responsive_classes(!0)}),a(document).on("click",".dslca-module-edit-cancel",function(){dslc_module_options_cancel_changes(),a(".dslca-options-filter-hook.dslca-active").removeClass("dslca-active"),dslc_responsive_classes(!0)}),jQuery(document).on("click",".dslca-module-edit-field-icon-switch-set",function(){var a=jQuery(".dslca-module-edit-field-icon-switch-sets"),b=jQuery(this);if(jQuery(".dslca-module-edit-field-icon-switch-set.dslca-active").removeClass("dslca-active"),b.addClass("dslca-active"),a.is(":visible"))jQuery(".dslca-module-edit-field-icon-switch-sets").hide();else{var c=b.find(".dslca-module-edit-field-icon-curr-set").text();jQuery(".dslca-module-edit-field-icon-switch-sets span.dslca-active").removeClass("dslca-active"),jQuery('.dslca-module-edit-field-icon-switch-sets span[data-set="'+c+'"]').addClass("dslca-active");var d=b.offset(),e=a.outerHeight(),f=a.outerWidth(),g=d.left-f/2+6,h="50%";0>g&&(h=f/2+g+"px",g=0),jQuery(".dslca-module-edit-field-icon-switch-sets").show().css({top:d.top-e-20,left:g}),jQuery("head").append(jQuery("<style>.dslca-module-edit-field-icon-switch-sets:after, .dslca-module-edit-field-icon-switch-sets:before { left: "+h+" }</style>"))}}),jQuery(document).on("click",".dslca-module-edit-field-icon-switch-sets span",function(){var b=a(this).data("set");dslcIconsCurrentSet=DSLCIcons[b],a('.dslca-open-modal-hook[data-modal^=".dslc-list-icons"]').data("modal",".dslc-list-icons-"+b),a(this).addClass("dslca-active").siblings(".dslca-active").removeClass("dslca-active"),a(".dslca-module-edit-field-icon-switch-set.dslca-active .dslca-module-edit-field-icon-curr-set").text(b),a(".dslca-module-edit-field-icon-switch-set.dslca-active").closest(".dslca-module-edit-option").find(".dslca-module-edit-field-icon-next").trigger("click"),a(".dslca-module-edit-field-icon-switch-sets").hide()}),jQuery(document).on("mouseenter",".dslca-module-edit-option-icon",function(){var b=a(this).find(".dslca-module-edit-field-icon-curr-set").text();dslcIconsCurrentSet=DSLCIcons[b],a('.dslca-open-modal-hook[data-modal^=".dslc-list-icons"]').data("modal",".dslc-list-icons-"+b)})}),jQuery(document).ready(function(a){a(document).on("click",".dslca-template",function(){dslc_template_load(jQuery(this).data("id"))}),a(".dslca-template-import-form").submit(function(a){a.preventDefault(),dslc_template_import()}),a(".dslca-template-save-form").submit(function(a){a.preventDefault(),dslc_template_save()}),a(document).on("click",".dslca-delete-template-hook",function(b){b.stopPropagation(),dslc_template_delete(a(this).data("id"))})}),jQuery(document).ready(function(a){a(document).on("click",".dslca-save-composer-hook",function(){a("body").hasClass("dslca-module-saving-in-progress")||a("body").hasClass("dslca-saving-in-progress")||dslc_save_composer()}),a(document).on("click",".dslca-save-draft-composer-hook",function(){a("body").hasClass("dslca-module-saving-in-progress")||a("body").hasClass("dslca-saving-in-progress")||dslc_save_draft_composer()})}),jQuery(document).ready(function(a){a(document).on("keypress",'.dslca-module-edit-field[name="css_save_preset"]',function(b){if(13==b.which){var c=a(this).val(),d=c.toLowerCase().replace(/\s/g,"-");a("body").addClass("dslca-new-preset-added"),a('.dslca-module-edit-field[name="css_load_preset"]').append('<option value="'+d+'">'+d+"</option>").val(d).trigger("change"),a(this).val("")}}),a(document).on("change",'.dslca-module-edit-field[name="css_load_preset"]',function(b){a(".dslca-module-being-edited").addClass("dslca-preload-preset")})}),jQuery(document).ready(function(a){a(document).on("click",".dslca-module-get-defaults-hook",function(){var b=jQuery(this).closest(".dslc-module-front"),d=(dslc_dm_get_defaults(b),'<span class="dslca-prompt-modal-title">Module Defaults</span><span class="dslca-prompt-modal-descr">The code bellow is used to alter the defaults.</span><textarea></textarea><br><br>');a(".dslca-prompt-modal-cancel-hook").hide(),a(".dslca-prompt-modal-confirm-hook").html('<span class="dslc-icon dslc-icon-ok"></span>OK'),dslc_js_confirm("dev_mode_get_default",d,b)}),a(document).on("click","a:not(.dslca-link)",function(a){a.preventDefault()}),a(document).unbind("keydown").bind("keydown",function(b){var c=!1;if(8===b.keyCode){var d=b.srcElement||b.target;c="INPUT"===d.tagName.toUpperCase()&&("TEXT"===d.type.toUpperCase()||"PASSWORD"===d.type.toUpperCase()||"FILE"===d.type.toUpperCase())||"TEXTAREA"===d.tagName.toUpperCase()||a(d).hasClass("dslca-editable-content")||a(d).hasClass("dslc-tabs-nav-hook-title")||a(d).hasClass("dslc-accordion-title")?d.readOnly||d.disabled:!0}c&&b.preventDefault()}),a(document).on("keydown",function(a){116==(a.which||a.keyCode)&&(jQuery(".dslca-save-composer-hook").is(":visible")||jQuery(".dslca-module-edit-save").is(":visible"))&&(a.preventDefault(),dslc_js_confirm("disable_lc",'<span class="dslca-prompt-modal-title">'+DSLCString.str_refresh_title+'</span><span class="dslca-prompt-modal-descr">'+DSLCString.str_refresh_descr+"</span>",document.URL))}),a(document).on("click",".dslca-refresh-module-hook",function(b){a(this).css({"-webkit-animation-name":"dslcRotate","-moz-animation-name":"dslcRotate","animation-name":"dslcRotate","animation-duration":"0.6s","-webkit-animation-duration":"0.6s","animation-iteration-count":"infinite","-webkit-animation-iteration-count":"infinite"}),a(this).closest(".dslc-module-front").addClass("dslca-module-being-edited"),dslc_module_output_altered(function(){a(".dslca-module-being-edited").removeClass("dslca-module-being-edited")})})}),window.onbeforeunload=function(){},jQuery(document).ready(function(a){a(document).on("change",".dslca-modules-section-edit-field",function(){var b,c,d,f,g,h,i,j;if(b=a(this),c=b.data("id"),f=b.val(),g=f,h=b.data("css-rule"),d=a(".dslca-modules-section-being-edited"),j=d,i=a('.dslca-modules-section-settings input[data-id="'+c+'"]',d),d.addClass("dslca-modules-section-change-made"),b.hasClass("dslca-modules-section-edit-field-upload")&&f&&f.length&&(f=b.data("dslca-img-url")),"background-image"==h&&(f='url("'+f+'")',dslc_bg_video()),"bg_image_attachment"==c&&d.removeClass("dslc-init-parallax"),"border-top"==c||"border-right"==c||"border-bottom"==c||"border-left"==c){var l=a('.dslca-modules-section-settings input[data-id="border_style"]').val();i=a('.dslca-modules-section-settings input[data-id="border"]',d),g="";var m=b.closest(".dslca-modules-section-edit-option-checkbox-wrapper");m.find(".dslca-modules-section-edit-field-checkbox").each(function(){a(this).is(":checked")&&("border-top"==a(this).data("id")?g+="top ":"border-right"==a(this).data("id")?g+="right ":"border-bottom"==a(this).data("id")?g+="bottom ":"border-left"==a(this).data("id")&&(g+="left "))}),b.is(":checked")?"border-top"==b.data("id")?d.css({"border-top-style":l}):"border-right"==b.data("id")?d.css({"border-right-style":l}):"border-bottom"==b.data("id")?d.css({"border-bottom-style":l}):"border-left"==b.data("id")&&d.css({"border-left-style":l}):"border-top"==b.data("id")?d.css({"border-top-style":"hidden"}):"border-right"==b.data("id")?d.css({"border-right-style":"hidden"}):"border-bottom"==b.data("id")?d.css({"border-bottom-style":"hidden"}):"border-left"==b.data("id")&&d.css({"border-left-style":"hidden"})}else if(b.hasClass("dslca-modules-section-edit-field-checkbox")){var n=a(this).closest(".dslca-modules-section-edit-option-checkbox-wrapper").find(".dslca-modules-section-edit-field-checkbox"),o="";n.each(function(){a(this).prop("checked")&&(o+=a(this).data("val")+" ")});var g=o;"show_on"==b.data("id")&&(console.log(o),-1!==o.indexOf("desktop")?a(".dslca-modules-section-being-edited").removeClass("dslc-hide-on-desktop"):a(".dslca-modules-section-being-edited").addClass("dslc-hide-on-desktop"),-1!==o.indexOf("tablet")?a(".dslca-modules-section-being-edited").removeClass("dslc-hide-on-tablet"):a(".dslca-modules-section-being-edited").addClass("dslc-hide-on-tablet"),-1!==o.indexOf("phone")?a(".dslca-modules-section-being-edited").removeClass("dslc-hide-on-phone"):a(".dslca-modules-section-being-edited").addClass("dslc-hide-on-phone"))}else if("bg_image_attachment"==c&&"parallax"==f||"type"==c)"bg_image_attachment"==c?(d.addClass("dslc-init-parallax"),dslc_parallax()):"type"==c&&("full"==f?d.addClass("dslc-full"):d.removeClass("dslc-full"),dslc_masonry());else if("columns_spacing"==c)"nospacing"==f?d.addClass("dslc-no-columns-spacing"):d.removeClass("dslc-no-columns-spacing");else if("custom_class"==c);else if("custom_id"==c);else if("bg_video"==c){if(jQuery(".dslc-bg-video video",d).remove(),f&&f.length){var p=f;p=p.replace(".webm",""),p=p.replace(".mp4",""),jQuery(".dslc-bg-video-inner",d).html('<video><source type="video/mp4" src="'+p+'.mp4" /><source type="video/webm" src="'+p+'.webm" /></video>'),dslc_bg_video()}}else if("bg_image_thumb"==c)if("enabled"==g){if(jQuery("#dslca-post-data-thumb").length){var q="url('"+jQuery("#dslca-post-data-thumb").val()+"')";j.css(h,q)}}else"disabled"==g&&j.css(h,"none");else b.data("css-element")&&(j=jQuery(b.data("css-element"),d)),j.css(h,f);i.val(g),dslc_generate_code(),dslc_show_publish_button()}),jQuery(document).on("blur",".dslca-editable-content",function(){jQuery("body").hasClass("dslca-composer-hidden")||"simple"!=jQuery(this).data("type")||dslc_editable_content_gen_code(jQuery(this))}).on("paste",".dslca-editable-content",function(){if(!jQuery("body").hasClass("dslca-composer-hidden")&&"simple"==jQuery(this).data("type")){
4
+ var a=jQuery(this);setTimeout(function(){"simple"==a.data("type")&&a.html(a.text()),dslc_editable_content_gen_code(jQuery(this))},1)}}).on("focus",".dslca-editable-content",function(){"simple"==jQuery(this).data("type")&&(jQuery("body").hasClass("dslca-composer-hidden")?a(this).trigger("blur"):jQuery(this).closest(".dslc-module-front").hasClass("dslca-module-being-edited")||jQuery(this).closest(".dslc-module-front").find(".dslca-module-edit-hook").trigger("click"))}).on("keyup",".dslca-editable-content",function(){"simple"==jQuery(this).data("type")&&jQuery(this).closest(".dslc-module-front").addClass("dslca-module-change-made")}),a(document).on("blur",".dslc-editable-area",function(b){var c=a(this).closest(".dslc-module-front"),d=a(this).data("dslc-option-id"),e=a(this).html();jQuery('.dslca-module-options-front textarea[data-id="'+d+'"]',c).val(e),dslc_module_output_altered()}),a(document).on("change",".dslca-module-edit-field",function(){dslc_module_options_hideshow_tabs();var b="",c="",d=a(this),e=d.data("id"),f=d.closest(".dslca-module-edit-option"),g=a(".dslca-module-being-edited"),h=g.data("dslc-module-id");jQuery(".dslca-module-options-front textarea",g);if(g.addClass("dslca-module-change-made"),"active"==jQuery(this).closest(".dslca-module-edit-option").data("refresh-on-change")){if(f.find(".dslca-module-edit-option-checkbox-wrapper").length){var j=a('input[type="checkbox"]',f);j.each(function(){a(this).prop("checked")&&(b=b+a(this).val()+" ")})}else if(d.hasClass("dslca-module-edit-option-radio"))var b=a(".dslca-module-edit-field:checked",d).val();else{var b=d.val();if("orientation"==e&&"horizontal"==b){var k=jQuery(".dslca-module-edit-option-thumb_width .dslca-module-edit-field-slider");k.slider({value:40}).slider("option","slide")(null,{value:k.slider("value")})}else if("orientation"==e&&"vertical"==b){var k=jQuery(".dslca-module-edit-option-thumb_width .dslca-module-edit-field-slider");k.slider({value:100}).slider("option","slide")(null,{value:k.slider("value")})}}jQuery('.dslca-module-options-front textarea[data-id="'+e+'"]',g).val(b),jQuery(".dslca-container-loader").show(),dslc_module_output_altered(function(){jQuery(".dslca-module-being-edited").addClass("dslca-module-change-made"),"css_load_preset"!=e||jQuery("body").hasClass("dslca-new-preset-added")?jQuery(".dslca-container-loader").hide():(dslc_module_options_show(h),jQuery(".dslca-container-loader").hide()),jQuery("body").removeClass("dslca-new-preset-added")})}else{if(d.hasClass("dslca-module-edit-field-font")){var l=d.val();l+=":400,100,200,300,500,600,700,800,900";var m=d.data("affect-on-change-el"),n=d.data("affect-on-change-rule"),o=d.val(),p=o;d.val().length&&-1!==dslcGoogleFontsArray.indexOf(d.val())?WebFont.load({google:{families:[l]},active:function(a,b){jQuery(".dslca-font-loading").closest(".dslca-module-edit-field-font-next").length?jQuery(".dslca-font-loading").removeClass("dslca-font-loading").find(".dslca-icon").removeClass("dslc-icon-spin").addClass("dslc-icon-chevron-right"):jQuery(".dslca-font-loading").removeClass("dslca-font-loading").find(".dslca-icon").removeClass("dslc-icon-spin").addClass("dslc-icon-chevron-left"),jQuery(m,".dslca-module-being-edited").css(n,o)},inactive:function(a,b){jQuery(".dslca-font-loading").closest(".dslca-module-edit-field-font-next").length?jQuery(".dslca-font-loading").removeClass("dslca-font-loading").find(".dslca-icon").removeClass("dslc-icon-spin").addClass("dslc-icon-chevron-right"):jQuery(".dslca-font-loading").removeClass("dslca-font-loading").find(".dslca-icon").removeClass("dslc-icon-spin").addClass("dslc-icon-chevron-left")}}):setTimeout(function(){jQuery(".dslca-font-loading.dslca-module-edit-field-font-next").length?jQuery(".dslca-font-loading").removeClass("dslca-font-loading").find(".dslca-icon").removeClass("dslc-icon-spin").addClass("dslc-icon-chevron-right"):jQuery(".dslca-font-loading").removeClass("dslca-font-loading").find(".dslca-icon").removeClass("dslc-icon-spin").addClass("dslc-icon-chevron-left"),jQuery(m,".dslca-module-being-edited").css(n,o)},100)}else if(d.hasClass("dslca-module-edit-field-checkbox")){var j=a('input[type="checkbox"]',f);j.each(function(){a(this).prop("checked")?(b+="solid ",c=c+a(this).val()+" "):b+="none "})}if(!d.hasClass("dslca-module-edit-field-font")){var m=d.data("affect-on-change-el"),n=d.data("affect-on-change-rule"),o=d.val(),p=o;d.hasClass("dslca-module-edit-field-checkbox")&&(o=b,p=c),d.hasClass("dslca-module-edit-field-image")&&(o='url("'+o+'")'),o.length<1&&("background-color"==n||"background"==n)&&(o="transparent"),jQuery(m,".dslca-module-being-edited").css(n,o)}jQuery('.dslca-module-option-front[data-id="'+e+'"]',g).val(p)}}),a(document).on("keyup, blur",".dslca-module-edit-field-numeric",function(){var m,c=a(this),d=c.data("id"),f=(c.closest(".dslca-module-edit-option"),a(".dslca-module-being-edited")),i=(f.data("dslc-module-id"),jQuery(".dslca-module-options-front textarea",f),c.data("affect-on-change-el")),j=c.data("affect-on-change-rule"),k=c.val(),l=k+c.data("ext");if(f.addClass("dslca-module-change-made"),"active"!=jQuery(this).closest(".dslca-module-edit-option").data("refresh-on-change")){m=j.replace(/ /g,"").split(",");for(var n=0;n<m.length;n++)jQuery(i,".dslca-module-being-edited").css(m[n],l);jQuery('.dslca-module-option-front[data-id="'+d+'"]',f).val(k)}}),a(document).on("keyup",".dslca-modules-section-edit-field-numeric",function(){var j,c=a(this),d=c.data("id"),f=(c.closest(".dslca-modules-section-edit-option"),a(".dslca-modules-section-being-edited")),g=c.data("css-rule"),h=c.val(),i=h+c.data("ext");f.addClass("dslca-modules-section-change-made"),j=g.replace(/ /g,"").split(",");for(var k=0;k<j.length;k++)f.css(j[k],i);jQuery('.dslca-modules-section-settings input[data-id="'+d+'"]',f).val(h)})}),jQuery(document).ready(function(a){var b;jQuery(document).on("click",".dslca-module-edit-field-image-add-hook, .dslca-modules-section-edit-field-image-add-hook",function(){var a=jQuery(this);if(a.hasClass("dslca-module-edit-field-image-add-hook"))var c=a.siblings(".dslca-module-edit-field-image"),d=a.siblings(".dslca-module-edit-field-image-remove-hook");else var c=a.siblings(".dslca-modules-section-edit-field-upload"),d=a.siblings(".dslca-modules-section-edit-field-image-remove-hook");var e=!1;b=wp.media.frames.file_frame=wp.media({title:"Choose Image",button:{text:"Confirm"},multiple:e}),b.on("select",function(){var e=b.state().get("selection").first().toJSON();c.val(e.id).data("dslca-img-url",e.url).trigger("change"),a.hide(),d.show()}),b.open()}),jQuery(document).on("click",".dslca-module-edit-field-image-remove-hook, .dslca-modules-section-edit-field-image-remove-hook",function(){var a=jQuery(this);if(a.hasClass("dslca-module-edit-field-image-remove-hook"))var b=a.siblings(".dslca-module-edit-field-image"),c=a.siblings(".dslca-module-edit-field-image-add-hook");else var b=a.siblings(".dslca-modules-section-edit-field-upload"),c=a.siblings(".dslca-modules-section-edit-field-image-add-hook");b.val("").trigger("change"),a.hide(),c.show()}),a(document).on("click",".dslca-wysiwyg-actions-edit-hook",function(){var b=a(this).parent().siblings(".dslca-editable-content"),c=b.closest(".dslc-module-front");if(c.hasClass("dslc-module-handle-like-accordion")){dslc_accordion_generate_code(c.find(".dslc-accordion"));var d=c.find('.dslca-module-option-front[data-id="accordion_content"]').val(),e=d.split("(dslc_sep)"),f=b.closest(".dslc-accordion-item").index(),g=e[f].trim().replace(/<lctextarea/g,"<textarea").replace(/<\/lctextarea/g,"</textarea")}else if(c.hasClass("dslc-module-handle-like-tabs")){dslc_tabs_generate_code(c.find(".dslc-tabs"));var d=c.find('.dslca-module-option-front[data-id="tabs_content"]').val(),e=d.split("(dslc_sep)"),f=b.closest(".dslc-tabs-tab-content").index(),g=e[f].trim().replace(/<lctextarea/g,"<textarea").replace(/<\/lctextarea/g,"</textarea")}else var g=c.find('.dslca-module-option-front[data-id="'+b.data("id")+'"]').val().replace(/<lctextarea/g,"<textarea").replace(/<\/lctextarea/g,"</textarea");if("undefined"!=typeof tinymce){var h=tinymce.get("dslcawpeditor");a("#wp-dslcawpeditor-wrap").hasClass("tmce-active")?h.setContent(g,{format:"html"}):jQuery("textarea#dslcawpeditor").val(g),c.hasClass("dslca-module-being-edited")||c.find(".dslca-module-edit-hook").trigger("click"),a(".dslca-wp-editor").show(),b.addClass("dslca-wysiwyg-active"),a("#dslcawpeditor_ifr, #dslcawpeditor").css({height:a(".dslca-wp-editor").height()-350})}}),a(document).on("click",".dslca-wp-editor-save-hook",function(){var b=a(".dslca-wysiwyg-active").closest(".dslc-module-front");if("undefined"!=typeof tinymce){if(a("#wp-dslcawpeditor-wrap").hasClass("tmce-active"))var c=tinymce.get("dslcawpeditor"),d=c.getContent();else var d=a("#dslcawpeditor").val();if(a(".dslca-wp-editor").hide(),a(".dslca-wysiwyg-active").html(d),b.hasClass("dslc-module-handle-like-accordion")){a(".dslca-wysiwyg-active").siblings(".dslca-accordion-plain-content").val(d);var e=b.find(".dslc-accordion");dslc_accordion_generate_code(e)}else if(b.hasClass("dslc-module-handle-like-tabs")){a(".dslca-wysiwyg-active").siblings(".dslca-tab-plain-content").val(d);var f=b.find(".dslc-tabs");dslc_tabs_generate_code(f)}dslc_editable_content_gen_code(a(".dslca-wysiwyg-active")),a(".dslca-wysiwyg-active").removeClass("dslca-wysiwyg-active")}}),a(document).on("click",".dslca-wp-editor-cancel-hook",function(){a(".dslca-wp-editor").hide(),a(".dslca-wysiwyg-active").removeClass("dslca-wysiwyg-active")})});
js/main.min.js CHANGED
@@ -1 +1 @@
1
- function dslc_responsive_classes(e){void 0===e&&(e=!1);var s=jQuery(window).width(),t=jQuery("body");(1==e||!t.hasClass("dslc-res-disabled")&&!jQuery('.dslca-module-edit-options-tab-hook.dslca-active[data-section="responsive"]').length)&&(t.removeClass("dslc-res-phone dslc-res-tablet dslc-res-smaller-monitor dslc-res-big"),s>=1024&&1280>s?t.addClass("dslc-res-smaller-monitor"):s>=768&&1024>s?t.addClass("dslc-res-tablet"):768>s?t.addClass("dslc-res-phone"):t.addClass("dslc-res-big")),t.hasClass("dslca-enabled")||(s>=768&&1024>s?jQuery(".dslc-modules-area").each(function(){0!=jQuery(this).find(".dslc-module-front").length&&jQuery(this).find(".dslc-module-front").length==jQuery(this).find(".dslc-module-front.dslc-hide-on-tablet").length?jQuery(this).hide():jQuery(this).show()}):768>s?jQuery(".dslc-modules-area").each(function(){0!=jQuery(this).find(".dslc-module-front").length&&jQuery(this).find(".dslc-module-front").length==jQuery(this).find(".dslc-module-front.dslc-hide-on-phone").length?jQuery(this).hide():jQuery(this).show()}):jQuery(".dslc-modules-area").each(function(){0!=jQuery(this).find(".dslc-module-front").length&&jQuery(this).find(".dslc-module-front").length==jQuery(this).find(".dslc-module-front.dslc-hide-on-desktop").length?jQuery(this).hide():jQuery(this).show()}),jQuery(".dslc-modules-section").each(function(){jQuery(this).show(),jQuery(this).find(".dslc-modules-area").length==jQuery(this).find(".dslc-modules-area:not(:visible)").length&&jQuery(this).hide()})),dslc_masonry(),dslc_center()}function dslc_init_accordion(){jQuery(".dslc-accordion").each(function(){var e=jQuery(this),s=e.data("open")-1,t=jQuery(".dslc-accordion-item:eq("+s+")",e),o=t.siblings(".dslc-accordion-item"),a=jQuery(".dslc-accordion-item",e);s>=0?(t.addClass("dslc-active"),o.addClass("dslc-inactive"),jQuery(".dslc-accordion-content",o).hide()):(a.addClass("dslc-inactive"),jQuery(".dslc-accordion-content",a).hide())})}function dslc_init_lightbox(){var e;jQuery(".dslc-lightbox-image").each(function(){e="image",(jQuery(this).attr("href").indexOf("youtube.com")>=0||jQuery(this).attr("href").indexOf("vimeo.com")>=0)&&(e="iframe"),jQuery(this).magnificPopup({type:e})}),jQuery(".dslc-lightbox-gallery").each(function(){jQuery(this).magnificPopup({delegate:"a",type:"image",gallery:{enabled:!0}})})}function dslc_carousel(){jQuery(".dslc-carousel, .dslc-slider").each(function(){var e,s,t,o,a;if(e=jQuery(this),s=e.closest(".dslc-module-front"),s.closest(".dslc-modules-section").hasClass("dslc-no-columns-spacing"))var c=0;else var c=s.width()/100*2.12766/2;e.hasClass("dslc-carousel")&&(e.find(".dslc-col").css({"margin-left":c,"margin-right":c}),e.css({"margin-left":-1*c,width:e.width()+2*c})),t={items:4,pagination:!0,singleItem:!1,itemsScaleUp:!1,slideSpeed:200,paginationSpeed:800,rewindSpeed:1e3,autoPlay:!1,stopOnHover:!1,lazyLoad:!1,lazyFollow:!0,autoHeight:!1,mouseDrag:!0,touchDrag:!0,addClassActive:!0,transitionStyle:"fade",scrollPerPage:!0},o={items:e.data("columns"),pagination:e.data("pagination"),itemsScaleUp:e.data("scale-up"),slideSpeed:e.data("slide-speed"),paginationSpeed:e.data("pagination-speed"),rewindSpeed:e.data("rewind-speed"),autoPlay:e.data("autoplay"),stopOnHover:e.data("stop-on-hover"),lazyLoad:e.data("lazy-load"),lazyFollow:e.data("lazy-follow"),autoHeight:e.data("flexible-height"),mouseDrag:e.data("mouse-drag"),touchDrag:e.data("touch-drag"),addClassActive:e.data("active-class"),transitionStyle:e.data("animation"),scrollPerPage:e.data("scroll-per-page")},a=jQuery.extend({},t,o),(e.hasClass("dslc-slider")||1==a.items)&&(a.singleItem=!0),0==a.autoPlay&&(a.autoPlay=!1),e.owlCarousel({items:a.items,pagination:a.pagination,singleItem:a.singleItem,itemsScaleUp:a.itemsScaleUp,slideSpeed:a.slideSpeed,paginationSpeed:a.paginationSpeed,rewindSpeed:a.rewindSpeed,autoPlay:a.autoPlay,stopOnHover:a.stopOnHover,lazyLoad:a.lazyLoad,lazyFollow:a.lazyFollow,mouseDrag:a.mouseDrag,touchDrag:a.touchDrag,scrollPerPage:a.scrollPerPage,transitionStyle:a.transitionStyle,autoHeight:a.autoHeight,itemsDesktop:!1,itemsDesktopSmall:!1,itemsTablet:!1,itemsMobile:[766,1],afterInit:function(){e.prev(".dslc-loader").remove(),e.css({opacity:1,maxHeight:"none"})},afterAction:function(){var s=this.owl.visibleItems;e.find(".dslc-carousel-item-visible").removeClass("dslc-carousel-item-visible"),e.find(".owl-item").filter(function(e){return s.indexOf(e)>-1}).addClass("dslc-carousel-item-visible")}}),jQuery(".dslc-carousel-nav-next",s).click(function(s){s.preventDefault(),e.data("owlCarousel").next()}),jQuery(".dslc-carousel-nav-prev",s).click(function(s){s.preventDefault(),e.data("owlCarousel").prev()})})}function dslc_carousel_responsive(){jQuery(".dslc-carousel").each(function(){var e,s;if(e=jQuery(this),s=e.closest(".dslc-module-front"),e.css({"margin-left":0,width:"auto"}),s.closest(".dslc-modules-section").hasClass("dslc-no-columns-spacing"))var t=0;else var t=s.width()/100*2.12766/2;e.hasClass("dslc-carousel")&&(e.find(".dslc-col").css({"margin-left":t,"margin-right":t}),e.css({"margin-left":-1*t,width:e.width()+2*t}))})}function dslc_bg_video(){jQuery(".dslc-bg-video").each(function(){jQuery(this).find("video").length||jQuery(this).css({opacity:1})}),jQuery(".dslc-bg-video video").mediaelementplayer({loop:!0,pauseOtherPlayers:!1,success:function(e,s){e.addEventListener("loadeddata",function(e){jQuery(s).closest(".dslc-bg-video").animate({opacity:1},400)}),e.play()}})}function dslc_parallax(){jQuery(".dslc-init-parallax").each(function(){var e=4,s=jQuery(this).css("background-position").split(" "),t=s[0],o=t+" "+-1*(window.pageYOffset-jQuery(this).offset().top)/e+"px";jQuery(this).css({backgroundPosition:o})}),window.onscroll=function(){jQuery(".dslc-init-parallax").each(function(){var e=4,s=jQuery(this).css("background-position").split(" "),t=s[0],o=t+" "+-1*(window.pageYOffset-jQuery(this).offset().top)/e+"px";jQuery(this).css({backgroundPosition:o})})}}function dslc_masonry(e,s){e="undefined"!=typeof e?e:jQuery("body"),s="undefined"!=typeof s?s:!1,jQuery(".dslc-init-masonry",e).each(function(){var e,t,o,a,c;e=jQuery(this).find(".dslc-posts-inner").length?jQuery(this).find(".dslc-posts-inner"):jQuery(this),t=".dslc-masonry-item",o=jQuery(t,e).width(),a=jQuery(e).width(),c=jQuery(this).closest(".dslc-modules-section").hasClass("dslc-no-columns-spacing")?0:a/100*2.05,e.data("masonry")?jQuery(e).waitForImages(function(){jQuery(e).masonry("destroy").masonry({gutter:c,itemSelector:t}),jQuery(e).find(".dslc-post:not(.dslc-masonry-item)").hide(),s&&jQuery(t,e).css({scale:"0.2"}).animate({scale:"1"},500)}):(jQuery(t).css({marginRight:0}),jQuery(e).waitForImages(function(){jQuery(e).masonry({gutter:c,itemSelector:t})}))})}function dslc_browser_classes(){var e=["iphone","ipad","windows","mac","linux"],s=navigator.appVersion.toLowerCase().match(new RegExp(e.join("|")));s&&jQuery("body").addClass(s[0])}function dslc_center(){var e,s,t,o,a,c,i,n;jQuery(".dslc-init-center").each(function(){e=jQuery(this),s=e.parent(),a=e.outerWidth(),t=e.outerHeight(),c=s.width(),o=s.height(),i=o/2-t/2,n=c/2-a/2,i>0&&(e.css({top:i,left:n}),e.css({visibility:"visible"}))}),jQuery(".dslc-navigation .menu > li:has(ul):not(:has(.dslc-navigation-arrow)) > a").after('<span class="dslc-navigation-arrow dslc-icon dslc-icon-chevron-down"></span>')}function dslc_init_square(e){e="undefined"!=typeof e?e:jQuery("body");var s,t,o;jQuery(".dslc-init-square",e).each(function(){s=jQuery(this),s.css({width:"auto",height:"auto"}),t=s.height(),o=s.width(),t>o?s.width(t):s.height(o)})}function dslc_tabs_generate_code(e){var s=e.closest(".dslc-module-front");dslcTabsNav=jQuery(".dslc-tabs-nav",e),dslcTabsContent=jQuery(".dslc-tabs-content",e),dslcTabContent=jQuery(".dslc-tabs-tab-content",e);var t="",o="",a=0,c=0;jQuery(".dslc-tabs-nav-hook",dslcTabsNav).each(function(){a++,a>1&&(t+=" (dslc_sep) "),t+=jQuery(this).find(".dslc-tabs-nav-hook-title").text()}),dslcTabContent.each(function(){c++,c>1&&(o+=" (dslc_sep) "),o+=jQuery(this).find(".dslca-tab-plain-content").val()}),o=o.replace(/<textarea/g,"<lctextarea").replace(/<\/textarea/g,"</lctextarea"),jQuery('.dslca-module-option-front[data-id="tabs_nav"]',s).val(t),jQuery('.dslca-module-option-front[data-id="tabs_content"]',s).val(o),dslc_option_changed()}function dslc_accordion_generate_code(e){var s=e.closest(".dslc-module-front"),t=0,o="",a="";jQuery(".dslc-accordion-item",e).each(function(){t++,t>1&&(o+=" (dslc_sep) ",a+=" (dslc_sep) "),o+=jQuery(this).find(".dslc-accordion-title").text(),a+=jQuery(this).find(".dslc-accordion-content").find(".dslca-accordion-plain-content").val()}),a=a.replace(/<textarea/g,"<lctextarea").replace(/<\/textarea/g,"</lctextarea"),jQuery('.dslca-module-option-front[data-id="accordion_nav"]',s).val(o),jQuery('.dslca-module-option-front[data-id="accordion_content"]',s).val(a),dslc_option_changed()}function dslc_tabs(){var e,s,t,o;jQuery(".dslc-tabs").each(function(){e=jQuery(this),s=jQuery(".dslc-tabs-nav",e),t=jQuery(".dslc-tabs-content",e),o=jQuery(".dslc-tabs-tab-content",e),o.eq(0).addClass("dslc-active"),jQuery(".dslc-tabs-nav-hook",s).eq(0).addClass("dslc-active")})}function dslc_download_count_increment(e){jQuery.post(DSLCAjax.ajaxurl,{action:"dslc-download-count-increment",dslc_post_id:e},function(e){})}function dslc_check_viewport(){var e=!!document.documentMode;e?jQuery(".dslc-in-viewport-check").css("opacity",1):jQuery(".dslc-in-viewport-check:in-viewport:not(.dslc-in-viewport)").each(function(){var e=jQuery(this),s=e.data("dslc-anim"),t=parseInt(e.data("dslc-anim-duration"))/1e3,o=t+"s";jQuery(window).width()<768&&(o="0s");var a=parseInt(e.data("dslc-anim-delay")),c=e.data("dslc-anim-easing"),i=s+" "+o+" "+c+" forwards";jQuery(this).addClass("dslc-in-viewport"),a>0?setTimeout(function(){e.css({"-webkit-animation":i,"-moz-animation":i,animation:i})},a):jQuery(this).css({"-webkit-animation":i,"-moz-animation":i,animation:i})})}function dslc_el_anim_hover(){jQuery(".dslc-on-hover-anim-target").each(function(){var e=parseInt(jQuery(this).data("dslc-anim-speed"))/1e3,s="all "+e+"s ease-out";jQuery(this).css({"-webkit-transition":s,"-moz-transition":s,transition:s})})}function dslc_check_progress_bar_viewport(){jQuery(".dslc-progress-bar-animated:in-viewport:not(.dslc-progress-bar-in-viewport)").each(function(){var e=jQuery(this),s=e.find(".dslc-progress-bar-loader-inner"),t=s.data("amount")+"%",o=s.data("speed");e.addClass("dslc-progress-bar-in-viewport"),s.css({width:0,opacity:1}).animate({width:t},o)})}function dslc_validate_comment_form(e){var s=e.find("#author"),t=e.find("#email"),o=(e.find("#url"),e.find("#comment")),a=!0;return s.length&&0==s.val().length?(s.css({borderColor:"#e55f5f"}),a=!1):s.attr("style",""),!t.length||0!=t.val().length&&-1!==t.val().indexOf("@")?t.attr("style",""):(t.css({borderColor:"#e55f5f"}),a=!1),0==o.val().length?(o.css({borderColor:"#e55f5f"}),a=!1):o.attr("style",""),a}function dslc_social_share(e,s,t){var o,a,c,i;o=window.screen.width/2-(e/2+10),a=window.screen.height/2-(s/2+50);var n="status=no,height="+s+",width="+e+",resizable=yes,left="+o+",top="+a+",screenX="+o+",screenY="+a+",toolbar=no,menubar=no,scrollbars=no,location=no,directories=no";return c=location.href,i=document.title,window.open(t,"sharer",n),!1}jQuery(document).ready(function(e){dslc_el_anim_hover(),dslc_browser_classes(),dslc_bg_video(),dslc_tabs(),dslc_init_square(),dslc_center(),e(document).on("click",".dslc-pagination-load-more a",function(s){if(s.preventDefault(),e(this).parent().hasClass("dslc-active")){var t=e(this),o=e(this).closest(".dslc-module-front"),a=o.find(".dslc-pagination"),c=o.find(".dslc-posts-inner"),i=o.attr("id"),n=t.attr("href"),l=o.find(".dslc-load-more-temp");t.find(".dslc-icon").addClass("dslc-icon-spin"),l.load(n+" #"+i,function(){c.append('<div class="dslc-post-separator"></div>'),c.append(l.find(".dslc-posts-inner").html()),o.find(".dslc-pagination").html(l.find(".dslc-pagination").html()),a.replaceWith(l.find(".dslc-pagination")),l.html(""),c.imagesLoaded(function(){o.find(".dslc-init-masonry").length&&o.find(".dslc-init-masonry .dslc-posts-inner").masonry("reloadItems").masonry()})})}}),e(".dslc-tp-comment-form form").submit(function(e){dslc_validate_comment_form(jQuery(this))||e.preventDefault()}),jQuery(".dslc-mobile-navigation select").change(function(){window.location=e(this).val()}),jQuery(document).on("click",".dslca-add-new-tab-hook",function(){var e=jQuery(this).closest(".dslc-tabs"),s=jQuery(".dslc-tabs-nav .dslc-tabs-nav-hook:last",e),t=(jQuery(".dslc-tabs-content",e),jQuery(".dslc-tabs-tab-content:last",e));s.after('<span class="dslc-tabs-nav-hook"><span class="dslc-tabs-nav-hook-title" contenteditable>Click to edit title</span><span class="dslca-delete-tab-hook"><span class="dslca-icon dslc-icon-remove"></span></span></span>'),t.after('<div class="dslc-tabs-tab-content"><div class="dslca-editable-content">This is just placeholder text.</div><textarea class="dslca-tab-plain-content">This is just placeholder text.</textarea><div class="dslca-wysiwyg-actions-edit"><span class="dslca-wysiwyg-actions-edit-hook">Edit Content</span></div></div>'),jQuery(".dslc-tabs-nav-hook:last",e).click(),dslc_tabs_generate_code(e),jQuery(this).closest(".dslc-module-front").hasClass("dslca-module-being-edited")||jQuery(this).closest(".dslc-module-front").find(".dslca-module-edit-hook").trigger("click")}),jQuery(document).on("click",".dslca-delete-tab-hook",function(e){var s=jQuery(this).closest(".dslc-tabs"),t=jQuery(this).closest(".dslc-tabs-nav-hook"),o=t.index(),a=jQuery(".dslc-tabs-tab-content",s).eq(o);jQuery(".dslc-tabs-nav-hook",s).length>1?(t.remove(),a.remove(),jQuery(".dslc-tabs-tab-content.dslc-active",s).length||jQuery(".dslc-tabs-nav-hook:first",s).trigger("click"),dslc_tabs_generate_code(s)):alert("You can not delete the last remaining tab"),e.stopPropagation()}),jQuery(document).on("click",".dslc-tabs-nav-hook",function(e){jQuery(this).hasClass("dslc-active")||(dslcTabs=jQuery(this).closest(".dslc-tabs"),dslcTabsNav=jQuery(".dslc-tabs-nav",dslcTabs),dslcTabsContent=jQuery(".dslc-tabs-content",dslcTabs),dslcTabContent=jQuery(".dslc-tabs-tab-content",dslcTabs),dslcTabIndex=jQuery(this).index(),jQuery(".dslc-tabs-nav-hook.dslc-active",dslcTabs).removeClass("dslc-active"),jQuery(this).addClass("dslc-active"),jQuery(".dslc-tabs-tab-content.dslc-active",dslcTabs).length?jQuery(".dslc-tabs-tab-content.dslc-active",dslcTabs).animate({opacity:0},250,function(){jQuery(this).removeClass("dslc-active"),dslcTabContent.eq(dslcTabIndex).css({opacity:0}).addClass("dslc-active").show().animate({opacity:1},250)}):dslcTabContent.eq(dslcTabIndex).css({opacity:0}).addClass("dslc-active").show().animate({opacity:1},250))}),jQuery(document).on("blur paste",".dslc-tabs-nav-hook-title[contenteditable], .dslc-tabs-tab-content[contenteditable]",function(){dslc_tabs_generate_code(jQuery(this).closest(".dslc-tabs"))}).on("focus",".dslc-tabs-nav-hook-title[contenteditable], .dslc-tabs-tab-content[contenteditable]",function(){jQuery(this).closest(".dslc-module-front").hasClass("dslca-module-being-edited")||jQuery(this).closest(".dslc-module-front").find(".dslca-module-edit-hook").trigger("click")}),e(document).on("click",".dslc-notification-close",function(s){e(this).closest(".dslc-notification").slideUp(200,function(){e(this).remove()})}),e(document).on("click",".dslc-post-filter",function(){var s=e(this).data("id"),t=e(this).closest(".dslc-module-front").find(".dslc-post"),o=e(this).closest(".dslc-module-front").find('.dslc-post[data-cats*="'+s+'"]'),a=e(this).closest(".dslc-module-front").find('.dslc-post:not([data-cats*="'+s+'"])'),c=t.closest(".dslc-posts"),i=e(this).closest(".dslc-module-front");e(this).removeClass("dslc-inactive").addClass("dslc-active").siblings(".dslc-active").removeClass("dslc-active").addClass("dslc-inactive"),c.hasClass("dslc-init-grid")?(o.stop().animate({opacity:1},300),a.stop().animate({opacity:.3},300)):(a.removeClass("dslc-masonry-item dslc-masonry-item-animate").css({visibility:"hidden"}),o.addClass("dslc-masonry-item dslc-masonry-item-animate").css({visibility:"visible"}).show(),dslc_masonry(i,!0))}),e(document).on("click",".dslc-download-count-hook",function(s){dslc_download_count_increment(e(this).data("post-id"))}),e(".dslc-notification-box-has-timeout").each(function(){var s=e(this);nTimeout="none",moduleID=s.closest(".dslc-module-front").data("module-id"),cookieID="nBox"+moduleID,s.data("notification-timeout")&&void 0==Cookies.get(cookieID)&&s.show()}),e(document).on("click",".dslc-notification-box-close",function(){var s=e(this).closest(".dslc-notification-box"),t="none",o=s.closest(".dslc-module-front").data("module-id"),a="nBox"+o;s.data("notification-timeout")&&(t=s.data("notification-timeout")),"none"!==t&&Cookies.set(a,"closed",{expires:t}),s.animate({opacity:0},400,function(){e(this).remove()})}),dslc_init_lightbox(),dslc_init_accordion(),e(document).on("click",".dslc-accordion-hook",function(){var s=e(this).closest(".dslc-accordion-item"),t=s.siblings(".dslc-accordion-item");s.hasClass("dslc-active")?t=s:s.removeClass("dslc-inactive").addClass("dslc-active"),t.removeClass("dslc-active").addClass("dslc-inactive"),e(".dslc-accordion-content",s).slideDown(300),e(".dslc-accordion-content",t).slideUp(300)}),jQuery(document).on("click",".dslca-add-accordion-hook",function(){var e=jQuery(this).closest(".dslc-accordion"),s=jQuery(".dslc-accordion-item:last",e),t=s.clone().insertAfter(s);jQuery(".dslc-accordion-title",t).html("CLICK TO EDIT"),jQuery(".dslc-accordion-content",t).html('<div class="dslca-editable-content">Placeholder content, click to edit. Lorem ipsum dolor sit amet, consectetur tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</div><textarea class="dslca-accordion-plain-content"></textarea><div class="dslca-wysiwyg-actions-edit"><span class="dslca-wysiwyg-actions-edit-hook">Edit Content</span></div>'),jQuery(".dslc-accordion-hook",t).click(),dslc_accordion_generate_code(e),jQuery(this).closest(".dslc-module-front").hasClass("dslca-module-being-edited")||jQuery(this).closest(".dslc-module-front").find(".dslca-module-edit-hook").trigger("click")}),jQuery(document).on("click",".dslca-delete-accordion-hook",function(e){var s=jQuery(this).closest(".dslc-accordion"),t=jQuery(this).closest(".dslc-accordion-item");jQuery(this).closest(".dslc-module-front").hasClass("dslca-module-being-edited")||jQuery(this).closest(".dslc-module-front").find(".dslca-module-edit-hook").trigger("click"),jQuery(".dslc-accordion-item",s).length>1?(t.remove(),jQuery(".dslc-accordion-item.dslc-active",s).length||jQuery(".dslc-accordion-hook:first",s).trigger("click"),dslc_accordion_generate_code(s)):alert("You can not delete the last remaining accordion item."),e.stopPropagation()}),jQuery(document).on("click",".dslca-move-up-accordion-hook, .dslca-move-down-accordion-hook",function(e){var s=jQuery(this).closest(".dslc-accordion"),t=jQuery(this).closest(".dslc-accordion-item"),o=t.next(".dslc-accordion-item"),a=t.prev(".dslc-accordion-item");jQuery(this).closest(".dslc-module-front").hasClass("dslca-module-being-edited")||jQuery(this).closest(".dslc-module-front").find(".dslca-module-edit-hook").trigger("click"),jQuery(this).hasClass("dslca-move-down-accordion-hook")?(t.insertAfter(o),dslc_accordion_generate_code(s)):(t.insertBefore(a),dslc_accordion_generate_code(s)),e.stopPropagation()}),jQuery(document).on("blur paste keyup",".dslc-accordion-title[contenteditable], .dslc-accordion-content[contenteditable]",function(){dslc_accordion_generate_code(jQuery(this).closest(".dslc-accordion"))}).on("focus",".dslc-accordion-title[contenteditable], .dslc-accordion-content[contenteditable]",function(){jQuery(this).closest(".dslc-module-front").hasClass("dslca-module-being-edited")||jQuery(this).closest(".dslc-module-front").find(".dslca-module-edit-hook").trigger("click")}),e(document).on("click",".dslc-trigger-lightbox-gallery",function(e){if(e.preventDefault(),jQuery(this).closest(".dslc-post").length)jQuery(this).closest(".dslc-post").find(".dslc-lightbox-gallery a:first-child").trigger("click");else if(jQuery(this).closest(".dslc-col")){var s=jQuery(this).closest(".dslc-col").index();jQuery(this).closest(".dslc-module-front").find(".dslc-lightbox-gallery a:eq("+s+")").trigger("click")}else jQuery(this).closest(".dslc-module-front").find(".dslc-lightbox-gallery a:first-child").trigger("click")}),e(".dslc-navigation li").mouseenter(function(){var s=e(this).children("ul");if(s.length){if(e(this).closest(".dslc-navigation").hasClass("dslc-navigation-sub-position-center")){var t=e(this).closest("li").width(),o=s.outerWidth(),a=parseInt(t)/2-parseInt(o)/2+"px";s.css({left:a})}s.css({display:"block"});var c=s.offset().left,i=s.outerWidth(),n=e("body").width();c+i>n&&s.addClass("dslc-navigation-invert-subnav"),e(this).children("ul").stop().animate({opacity:1},300)}}).mouseleave(function(){e(this).children("ul").stop().animate({opacity:0},300,function(){e(this).css({display:"none"}).children("ul").removeClass("dslc-navigation-invert-subnav")})}),dslc_check_viewport(),dslc_check_progress_bar_viewport(),e(document).on("scroll",function(){dslc_check_viewport(),dslc_check_progress_bar_viewport()})}),jQuery(window).load(function(){dslc_responsive_classes(),dslc_carousel(),dslc_parallax(),dslc_init_square(),dslc_center(),dslc_init_lightbox()}),jQuery(window).resize(function(){dslc_center(),dslc_responsive_classes(),dslc_carousel_responsive()});
1
+ function dslc_responsive_classes(a){void 0===a&&(a=!1);var b=jQuery(window).width(),c=jQuery("body");(1==a||!c.hasClass("dslc-res-disabled")&&!jQuery('.dslca-module-edit-options-tab-hook.dslca-active[data-section="responsive"]').length)&&(c.removeClass("dslc-res-phone dslc-res-tablet dslc-res-smaller-monitor dslc-res-big"),b>=1024&&1280>b?c.addClass("dslc-res-smaller-monitor"):b>=768&&1024>b?c.addClass("dslc-res-tablet"):768>b?c.addClass("dslc-res-phone"):c.addClass("dslc-res-big")),c.hasClass("dslca-enabled")||(b>=768&&1024>b?jQuery(".dslc-modules-area").each(function(){0!=jQuery(this).find(".dslc-module-front").length&&jQuery(this).find(".dslc-module-front").length==jQuery(this).find(".dslc-module-front.dslc-hide-on-tablet").length?jQuery(this).hide():jQuery(this).show()}):768>b?jQuery(".dslc-modules-area").each(function(){0!=jQuery(this).find(".dslc-module-front").length&&jQuery(this).find(".dslc-module-front").length==jQuery(this).find(".dslc-module-front.dslc-hide-on-phone").length?jQuery(this).hide():jQuery(this).show()}):jQuery(".dslc-modules-area").each(function(){0!=jQuery(this).find(".dslc-module-front").length&&jQuery(this).find(".dslc-module-front").length==jQuery(this).find(".dslc-module-front.dslc-hide-on-desktop").length?jQuery(this).hide():jQuery(this).show()}),jQuery(".dslc-modules-section").each(function(){jQuery(this).show(),jQuery(this).find(".dslc-modules-area").length==jQuery(this).find(".dslc-modules-area:not(:visible)").length&&jQuery(this).hide()})),dslc_masonry(),dslc_center()}function dslc_init_accordion(){jQuery(".dslc-accordion").each(function(){var a=jQuery(this),b=a.data("open")-1,c=jQuery(".dslc-accordion-item:eq("+b+")",a),d=c.siblings(".dslc-accordion-item"),e=jQuery(".dslc-accordion-item",a);b>=0?(c.addClass("dslc-active"),d.addClass("dslc-inactive"),jQuery(".dslc-accordion-content",d).hide()):(e.addClass("dslc-inactive"),jQuery(".dslc-accordion-content",e).hide())})}function dslc_init_lightbox(){var a;jQuery(".dslc-lightbox-image").each(function(){a="image",(jQuery(this).attr("href").indexOf("youtube.com")>=0||jQuery(this).attr("href").indexOf("vimeo.com")>=0)&&(a="iframe"),jQuery(this).magnificPopup({type:a})}),jQuery(".dslc-lightbox-gallery").each(function(){jQuery(this).magnificPopup({delegate:"a",type:"image",gallery:{enabled:!0}})})}function dslc_carousel(){jQuery(".dslc-carousel, .dslc-slider").each(function(){var a,b,c,d,e;if(a=jQuery(this),b=a.closest(".dslc-module-front"),b.closest(".dslc-modules-section").hasClass("dslc-no-columns-spacing"))var f=0;else var f=b.width()/100*2.12766/2;a.hasClass("dslc-carousel")&&(a.find(".dslc-col").css({"margin-left":f,"margin-right":f}),a.css({"margin-left":-1*f,width:a.width()+2*f})),c={items:4,pagination:!0,singleItem:!1,itemsScaleUp:!1,slideSpeed:200,paginationSpeed:800,rewindSpeed:1e3,autoPlay:!1,stopOnHover:!1,lazyLoad:!1,lazyFollow:!0,autoHeight:!1,mouseDrag:!0,touchDrag:!0,addClassActive:!0,transitionStyle:"fade",scrollPerPage:!0},d={items:a.data("columns"),pagination:a.data("pagination"),itemsScaleUp:a.data("scale-up"),slideSpeed:a.data("slide-speed"),paginationSpeed:a.data("pagination-speed"),rewindSpeed:a.data("rewind-speed"),autoPlay:a.data("autoplay"),stopOnHover:a.data("stop-on-hover"),lazyLoad:a.data("lazy-load"),lazyFollow:a.data("lazy-follow"),autoHeight:a.data("flexible-height"),mouseDrag:a.data("mouse-drag"),touchDrag:a.data("touch-drag"),addClassActive:a.data("active-class"),transitionStyle:a.data("animation"),scrollPerPage:a.data("scroll-per-page")},e=jQuery.extend({},c,d),(a.hasClass("dslc-slider")||1==e.items)&&(e.singleItem=!0),0==e.autoPlay&&(e.autoPlay=!1),a.owlCarousel({items:e.items,pagination:e.pagination,singleItem:e.singleItem,itemsScaleUp:e.itemsScaleUp,slideSpeed:e.slideSpeed,paginationSpeed:e.paginationSpeed,rewindSpeed:e.rewindSpeed,autoPlay:e.autoPlay,stopOnHover:e.stopOnHover,lazyLoad:e.lazyLoad,lazyFollow:e.lazyFollow,mouseDrag:e.mouseDrag,touchDrag:e.touchDrag,scrollPerPage:e.scrollPerPage,transitionStyle:e.transitionStyle,autoHeight:e.autoHeight,itemsDesktop:!1,itemsDesktopSmall:!1,itemsTablet:!1,itemsMobile:[766,1],afterInit:function(){a.prev(".dslc-loader").remove(),a.css({opacity:1,maxHeight:"none"})},afterAction:function(){var b=this.owl.visibleItems;a.find(".dslc-carousel-item-visible").removeClass("dslc-carousel-item-visible"),a.find(".owl-item").filter(function(a){return b.indexOf(a)>-1}).addClass("dslc-carousel-item-visible")}}),jQuery(".dslc-carousel-nav-next",b).click(function(b){b.preventDefault(),a.data("owlCarousel").next()}),jQuery(".dslc-carousel-nav-prev",b).click(function(b){b.preventDefault(),a.data("owlCarousel").prev()})})}function dslc_carousel_responsive(){jQuery(".dslc-carousel").each(function(){var a,b;if(a=jQuery(this),b=a.closest(".dslc-module-front"),a.css({"margin-left":0,width:"auto"}),b.closest(".dslc-modules-section").hasClass("dslc-no-columns-spacing"))var c=0;else var c=b.width()/100*2.12766/2;a.hasClass("dslc-carousel")&&(a.find(".dslc-col").css({"margin-left":c,"margin-right":c}),a.css({"margin-left":-1*c,width:a.width()+2*c}))})}function dslc_bg_video(){jQuery(".dslc-bg-video").each(function(){jQuery(this).find("video").length||jQuery(this).css({opacity:1})}),jQuery(".dslc-bg-video video").mediaelementplayer({loop:!0,pauseOtherPlayers:!1,success:function(a,b){a.addEventListener("loadeddata",function(a){jQuery(b).closest(".dslc-bg-video").animate({opacity:1},400)}),a.play()}})}function dslc_parallax(){jQuery(".dslc-init-parallax").each(function(){var a=4,b=jQuery(this).css("background-position").split(" "),c=b[0],d=c+" "+-1*(window.pageYOffset-jQuery(this).offset().top)/a+"px";jQuery(this).css({backgroundPosition:d})}),window.onscroll=function(){jQuery(".dslc-init-parallax").each(function(){var a=4,b=jQuery(this).css("background-position").split(" "),c=b[0],d=c+" "+-1*(window.pageYOffset-jQuery(this).offset().top)/a+"px";jQuery(this).css({backgroundPosition:d})})}}function dslc_masonry(a,b){a="undefined"!=typeof a?a:jQuery("body"),b="undefined"!=typeof b?b:!1,jQuery(".dslc-init-masonry",a).each(function(){var a,c,e,f,g;a=jQuery(this).find(".dslc-posts-inner").length?jQuery(this).find(".dslc-posts-inner"):jQuery(this),c=".dslc-masonry-item",e=jQuery(c,a).width(),f=jQuery(a).width(),g=jQuery(this).closest(".dslc-modules-section").hasClass("dslc-no-columns-spacing")?0:f/100*2.05,a.data("masonry")?jQuery(a).waitForImages(function(){jQuery(a).masonry("destroy").masonry({gutter:g,itemSelector:c}),jQuery(a).find(".dslc-post:not(.dslc-masonry-item)").hide(),b&&jQuery(c,a).css({scale:"0.2"}).animate({scale:"1"},500)}):(jQuery(c).css({marginRight:0}),jQuery(a).waitForImages(function(){jQuery(a).masonry({gutter:g,itemSelector:c})}))})}function dslc_browser_classes(){var a=["iphone","ipad","windows","mac","linux"],b=navigator.appVersion.toLowerCase().match(new RegExp(a.join("|")));b&&jQuery("body").addClass(b[0])}function dslc_center(){var a,b,c,d,e,f,g,h;jQuery(".dslc-init-center").each(function(){a=jQuery(this),b=a.parent(),e=a.outerWidth(),c=a.outerHeight(),f=b.width(),d=b.height(),g=d/2-c/2,h=f/2-e/2,g>0&&(a.css({top:g,left:h}),a.css({visibility:"visible"}))}),jQuery(".dslc-navigation .menu > li:has(ul):not(:has(.dslc-navigation-arrow)) > a").after('<span class="dslc-navigation-arrow dslc-icon dslc-icon-chevron-down"></span>')}function dslc_init_square(a){a="undefined"!=typeof a?a:jQuery("body");var b,c,d;jQuery(".dslc-init-square",a).each(function(){b=jQuery(this),b.css({width:"auto",height:"auto"}),c=b.height(),d=b.width(),c>d?b.width(c):b.height(d)})}function dslc_tabs_generate_code(a){var b=a.closest(".dslc-module-front");dslcTabsNav=jQuery(".dslc-tabs-nav",a),dslcTabsContent=jQuery(".dslc-tabs-content",a),dslcTabContent=jQuery(".dslc-tabs-tab-content",a);var c="",d="",e=0,f=0;jQuery(".dslc-tabs-nav-hook",dslcTabsNav).each(function(){e++,e>1&&(c+=" (dslc_sep) "),c+=jQuery(this).find(".dslc-tabs-nav-hook-title").text()}),dslcTabContent.each(function(){f++,f>1&&(d+=" (dslc_sep) "),d+=jQuery(this).find(".dslca-tab-plain-content").val()}),d=d.replace(/<textarea/g,"<lctextarea").replace(/<\/textarea/g,"</lctextarea"),jQuery('.dslca-module-option-front[data-id="tabs_nav"]',b).val(c),jQuery('.dslca-module-option-front[data-id="tabs_content"]',b).val(d),dslc_option_changed()}function dslc_accordion_generate_code(a){var b=a.closest(".dslc-module-front"),c=0,d="",e="";jQuery(".dslc-accordion-item",a).each(function(){c++,c>1&&(d+=" (dslc_sep) ",e+=" (dslc_sep) "),d+=jQuery(this).find(".dslc-accordion-title").text(),e+=jQuery(this).find(".dslc-accordion-content").find(".dslca-accordion-plain-content").val()}),e=e.replace(/<textarea/g,"<lctextarea").replace(/<\/textarea/g,"</lctextarea"),jQuery('.dslca-module-option-front[data-id="accordion_nav"]',b).val(d),jQuery('.dslca-module-option-front[data-id="accordion_content"]',b).val(e),dslc_option_changed()}function dslc_tabs(){var a,b,c,d;jQuery(".dslc-tabs").each(function(){a=jQuery(this),b=jQuery(".dslc-tabs-nav",a),c=jQuery(".dslc-tabs-content",a),d=jQuery(".dslc-tabs-tab-content",a),d.eq(0).addClass("dslc-active"),jQuery(".dslc-tabs-nav-hook",b).eq(0).addClass("dslc-active")})}function dslc_download_count_increment(a){jQuery.post(DSLCAjax.ajaxurl,{action:"dslc-download-count-increment",dslc_post_id:a},function(a){})}function dslc_check_viewport(){var a=!!document.documentMode;a?jQuery(".dslc-in-viewport-check").css("opacity",1):jQuery(".dslc-in-viewport-check:in-viewport:not(.dslc-in-viewport)").each(function(){var a=jQuery(this),b=a.data("dslc-anim"),c=parseInt(a.data("dslc-anim-duration"))/1e3,d=c+"s";jQuery(window).width()<768&&(d="0s");var e=parseInt(a.data("dslc-anim-delay")),f=a.data("dslc-anim-easing"),g=b+" "+d+" "+f+" forwards";jQuery(this).addClass("dslc-in-viewport"),e>0?setTimeout(function(){a.css({"-webkit-animation":g,"-moz-animation":g,animation:g})},e):jQuery(this).css({"-webkit-animation":g,"-moz-animation":g,animation:g})})}function dslc_el_anim_hover(){jQuery(".dslc-on-hover-anim-target").each(function(){var a=parseInt(jQuery(this).data("dslc-anim-speed"))/1e3,b="all "+a+"s ease-out";jQuery(this).css({"-webkit-transition":b,"-moz-transition":b,transition:b})})}function dslc_check_progress_bar_viewport(){jQuery(".dslc-progress-bar-animated:in-viewport:not(.dslc-progress-bar-in-viewport)").each(function(){var a=jQuery(this),b=a.find(".dslc-progress-bar-loader-inner"),c=b.data("amount")+"%",d=b.data("speed");a.addClass("dslc-progress-bar-in-viewport"),b.css({width:0,opacity:1}).animate({width:c},d)})}function dslc_validate_comment_form(a){var b=a.find("#author"),c=a.find("#email"),e=(a.find("#url"),a.find("#comment")),f=!0;return b.length&&0==b.val().length?(b.css({borderColor:"#e55f5f"}),f=!1):b.attr("style",""),!c.length||0!=c.val().length&&-1!==c.val().indexOf("@")?c.attr("style",""):(c.css({borderColor:"#e55f5f"}),f=!1),0==e.val().length?(e.css({borderColor:"#e55f5f"}),f=!1):e.attr("style",""),f}function dslc_social_share(a,b,c){var d,e,f,g;d=window.screen.width/2-(a/2+10),e=window.screen.height/2-(b/2+50);var h="status=no,height="+b+",width="+a+",resizable=yes,left="+d+",top="+e+",screenX="+d+",screenY="+e+",toolbar=no,menubar=no,scrollbars=no,location=no,directories=no";return f=location.href,g=document.title,window.open(c,"sharer",h),!1}jQuery(document).ready(function(a){dslc_el_anim_hover(),dslc_browser_classes(),dslc_bg_video(),dslc_tabs(),dslc_init_square(),dslc_center(),a(document).on("click",".dslc-pagination-load-more a",function(b){if(b.preventDefault(),a(this).parent().hasClass("dslc-active")){var c=a(this),d=a(this).closest(".dslc-module-front"),e=d.find(".dslc-pagination"),f=d.find(".dslc-posts-inner"),g=d.attr("id"),h=c.attr("href"),i=d.find(".dslc-load-more-temp");c.find(".dslc-icon").addClass("dslc-icon-spin"),i.load(h+" #"+g,function(){f.append('<div class="dslc-post-separator"></div>'),f.append(i.find(".dslc-posts-inner").html()),d.find(".dslc-pagination").html(i.find(".dslc-pagination").html()),e.replaceWith(i.find(".dslc-pagination")),i.html(""),f.imagesLoaded(function(){d.find(".dslc-init-masonry").length&&d.find(".dslc-init-masonry .dslc-posts-inner").masonry("reloadItems").masonry()})})}}),a(".dslc-tp-comment-form form").submit(function(a){dslc_validate_comment_form(jQuery(this))||a.preventDefault()}),jQuery(".dslc-mobile-navigation select").change(function(){window.location=a(this).val()}),jQuery(document).on("click",".dslca-add-new-tab-hook",function(){var a=jQuery(this).closest(".dslc-tabs"),b=jQuery(".dslc-tabs-nav .dslc-tabs-nav-hook:last",a),d=(jQuery(".dslc-tabs-content",a),jQuery(".dslc-tabs-tab-content:last",a));b.after('<span class="dslc-tabs-nav-hook"><span class="dslc-tabs-nav-hook-title" contenteditable>Click to edit title</span><span class="dslca-delete-tab-hook"><span class="dslca-icon dslc-icon-remove"></span></span></span>'),d.after('<div class="dslc-tabs-tab-content"><div class="dslca-editable-content">This is just placeholder text.</div><textarea class="dslca-tab-plain-content">This is just placeholder text.</textarea><div class="dslca-wysiwyg-actions-edit"><span class="dslca-wysiwyg-actions-edit-hook">Edit Content</span></div></div>'),jQuery(".dslc-tabs-nav-hook:last",a).click(),dslc_tabs_generate_code(a),jQuery(this).closest(".dslc-module-front").hasClass("dslca-module-being-edited")||jQuery(this).closest(".dslc-module-front").find(".dslca-module-edit-hook").trigger("click")}),jQuery(document).on("click",".dslca-delete-tab-hook",function(a){var b=jQuery(this).closest(".dslc-tabs"),c=jQuery(this).closest(".dslc-tabs-nav-hook"),d=c.index(),e=jQuery(".dslc-tabs-tab-content",b).eq(d);jQuery(".dslc-tabs-nav-hook",b).length>1?(c.remove(),e.remove(),jQuery(".dslc-tabs-tab-content.dslc-active",b).length||jQuery(".dslc-tabs-nav-hook:first",b).trigger("click"),dslc_tabs_generate_code(b)):alert("You can not delete the last remaining tab"),a.stopPropagation()}),jQuery(document).on("click",".dslc-tabs-nav-hook",function(a){jQuery(this).hasClass("dslc-active")||(dslcTabs=jQuery(this).closest(".dslc-tabs"),dslcTabsNav=jQuery(".dslc-tabs-nav",dslcTabs),dslcTabsContent=jQuery(".dslc-tabs-content",dslcTabs),dslcTabContent=jQuery(".dslc-tabs-tab-content",dslcTabs),dslcTabIndex=jQuery(this).index(),jQuery(".dslc-tabs-nav-hook.dslc-active",dslcTabs).removeClass("dslc-active"),jQuery(this).addClass("dslc-active"),jQuery(".dslc-tabs-tab-content.dslc-active",dslcTabs).length?jQuery(".dslc-tabs-tab-content.dslc-active",dslcTabs).animate({opacity:0},250,function(){jQuery(this).removeClass("dslc-active"),dslcTabContent.eq(dslcTabIndex).css({opacity:0}).addClass("dslc-active").show().animate({opacity:1},250)}):dslcTabContent.eq(dslcTabIndex).css({opacity:0}).addClass("dslc-active").show().animate({opacity:1},250))}),jQuery(document).on("blur paste",".dslc-tabs-nav-hook-title[contenteditable], .dslc-tabs-tab-content[contenteditable]",function(){dslc_tabs_generate_code(jQuery(this).closest(".dslc-tabs"))}).on("focus",".dslc-tabs-nav-hook-title[contenteditable], .dslc-tabs-tab-content[contenteditable]",function(){jQuery(this).closest(".dslc-module-front").hasClass("dslca-module-being-edited")||jQuery(this).closest(".dslc-module-front").find(".dslca-module-edit-hook").trigger("click")}),a(document).on("click",".dslc-notification-close",function(b){a(this).closest(".dslc-notification").slideUp(200,function(){a(this).remove()})}),a(document).on("click",".dslc-post-filter",function(){var b=a(this).data("id"),c=a(this).closest(".dslc-module-front").find(".dslc-post"),d=a(this).closest(".dslc-module-front").find('.dslc-post[data-cats*="'+b+'"]'),e=a(this).closest(".dslc-module-front").find('.dslc-post:not([data-cats*="'+b+'"])'),f=c.closest(".dslc-posts"),g=a(this).closest(".dslc-module-front");a(this).removeClass("dslc-inactive").addClass("dslc-active").siblings(".dslc-active").removeClass("dslc-active").addClass("dslc-inactive"),f.hasClass("dslc-init-grid")?(d.stop().animate({opacity:1},300),e.stop().animate({opacity:.3},300)):(e.removeClass("dslc-masonry-item dslc-masonry-item-animate").css({visibility:"hidden"}),d.addClass("dslc-masonry-item dslc-masonry-item-animate").css({visibility:"visible"}).show(),dslc_masonry(g,!0))}),a(document).on("click",".dslc-download-count-hook",function(b){dslc_download_count_increment(a(this).data("post-id"))}),a(".dslc-notification-box-has-timeout").each(function(){var b=a(this);nTimeout="none",moduleID=b.closest(".dslc-module-front").data("module-id"),cookieID="nBox"+moduleID,b.data("notification-timeout")&&void 0==Cookies.get(cookieID)&&b.show()}),a(document).on("click",".dslc-notification-box-close",function(){var b=a(this).closest(".dslc-notification-box"),c="none",d=b.closest(".dslc-module-front").data("module-id"),e="nBox"+d;b.data("notification-timeout")&&(c=b.data("notification-timeout")),"none"!==c&&Cookies.set(e,"closed",{expires:c}),b.animate({opacity:0},400,function(){a(this).remove()})}),dslc_init_lightbox(),dslc_init_accordion(),a(document).on("click",".dslc-accordion-hook",function(){var b=a(this).closest(".dslc-accordion-item"),c=b.siblings(".dslc-accordion-item");b.hasClass("dslc-active")?c=b:b.removeClass("dslc-inactive").addClass("dslc-active"),c.removeClass("dslc-active").addClass("dslc-inactive"),a(".dslc-accordion-content",b).slideDown(300),a(".dslc-accordion-content",c).slideUp(300)}),jQuery(document).on("click",".dslca-add-accordion-hook",function(){var a=jQuery(this).closest(".dslc-accordion"),b=jQuery(".dslc-accordion-item:last",a),c=b.clone().insertAfter(b);jQuery(".dslc-accordion-title",c).html("CLICK TO EDIT"),jQuery(".dslc-accordion-content",c).html('<div class="dslca-editable-content">Placeholder content, click to edit. Lorem ipsum dolor sit amet, consectetur tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</div><textarea class="dslca-accordion-plain-content"></textarea><div class="dslca-wysiwyg-actions-edit"><span class="dslca-wysiwyg-actions-edit-hook">Edit Content</span></div>'),jQuery(".dslc-accordion-hook",c).click(),dslc_accordion_generate_code(a),jQuery(this).closest(".dslc-module-front").hasClass("dslca-module-being-edited")||jQuery(this).closest(".dslc-module-front").find(".dslca-module-edit-hook").trigger("click")}),jQuery(document).on("click",".dslca-delete-accordion-hook",function(a){var b=jQuery(this).closest(".dslc-accordion"),c=jQuery(this).closest(".dslc-accordion-item");jQuery(this).closest(".dslc-module-front").hasClass("dslca-module-being-edited")||jQuery(this).closest(".dslc-module-front").find(".dslca-module-edit-hook").trigger("click"),jQuery(".dslc-accordion-item",b).length>1?(c.remove(),jQuery(".dslc-accordion-item.dslc-active",b).length||jQuery(".dslc-accordion-hook:first",b).trigger("click"),dslc_accordion_generate_code(b)):alert("You can not delete the last remaining accordion item."),a.stopPropagation()}),jQuery(document).on("click",".dslca-move-up-accordion-hook, .dslca-move-down-accordion-hook",function(a){var b=jQuery(this).closest(".dslc-accordion"),c=jQuery(this).closest(".dslc-accordion-item"),d=c.next(".dslc-accordion-item"),e=c.prev(".dslc-accordion-item");jQuery(this).closest(".dslc-module-front").hasClass("dslca-module-being-edited")||jQuery(this).closest(".dslc-module-front").find(".dslca-module-edit-hook").trigger("click"),jQuery(this).hasClass("dslca-move-down-accordion-hook")?(c.insertAfter(d),dslc_accordion_generate_code(b)):(c.insertBefore(e),dslc_accordion_generate_code(b)),a.stopPropagation()}),jQuery(document).on("blur paste keyup",".dslc-accordion-title[contenteditable], .dslc-accordion-content[contenteditable]",function(){dslc_accordion_generate_code(jQuery(this).closest(".dslc-accordion"))}).on("focus",".dslc-accordion-title[contenteditable], .dslc-accordion-content[contenteditable]",function(){jQuery(this).closest(".dslc-module-front").hasClass("dslca-module-being-edited")||jQuery(this).closest(".dslc-module-front").find(".dslca-module-edit-hook").trigger("click")}),a(document).on("click",".dslc-trigger-lightbox-gallery",function(a){if(a.preventDefault(),jQuery(this).closest(".dslc-post").length)jQuery(this).closest(".dslc-post").find(".dslc-lightbox-gallery a:first-child").trigger("click");else if(jQuery(this).closest(".dslc-col")){var b=jQuery(this).closest(".dslc-col").index();jQuery(this).closest(".dslc-module-front").find(".dslc-lightbox-gallery a:eq("+b+")").trigger("click")}else jQuery(this).closest(".dslc-module-front").find(".dslc-lightbox-gallery a:first-child").trigger("click")}),a(".dslc-navigation li").mouseenter(function(){var b=a(this).children("ul");if(b.length){if(a(this).closest(".dslc-navigation").hasClass("dslc-navigation-sub-position-center")){var c=a(this).closest("li").width(),d=b.outerWidth(),e=parseInt(c)/2-parseInt(d)/2+"px";b.css({left:e})}b.css({display:"block"});var f=b.offset().left,g=b.outerWidth(),h=a("body").width();f+g>h&&b.addClass("dslc-navigation-invert-subnav"),a(this).children("ul").stop().animate({opacity:1},300)}}).mouseleave(function(){a(this).children("ul").stop().animate({opacity:0},300,function(){a(this).css({display:"none"}).children("ul").removeClass("dslc-navigation-invert-subnav")})}),dslc_check_viewport(),dslc_check_progress_bar_viewport(),a(document).on("scroll",function(){dslc_check_viewport(),dslc_check_progress_bar_viewport()})}),jQuery(window).load(function(){dslc_responsive_classes(),dslc_carousel(),dslc_parallax(),dslc_init_square(),dslc_center(),dslc_init_lightbox()}),jQuery(window).resize(function(){dslc_center(),dslc_responsive_classes(),dslc_carousel_responsive()});
modules/accordion/module.php CHANGED
@@ -1005,7 +1005,7 @@ class DSLC_Accordion extends DSLC_Module {
1005
 
1006
  );
1007
 
1008
- $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options', array( 'hover_opts' => false ) ) );
1009
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
1010
 
1011
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
@@ -1045,7 +1045,7 @@ class DSLC_Accordion extends DSLC_Module {
1045
  <div class="dslc-accordion-item">
1046
 
1047
  <div class="dslc-accordion-header dslc-accordion-hook">
1048
- <span class="dslc-accordion-title" <?php if ( $dslc_is_admin ) echo 'contenteditable'; ?>><?php echo stripslashes( $accordion_nav[$count] ); ?></span>
1049
  <?php if ( $dslc_is_admin ) : ?>
1050
  <div class="dslca-accordion-action-hooks">
1051
  <span class="dslca-move-up-accordion-hook"><span class="dslca-icon dslc-icon-arrow-up"></span></span>
@@ -1056,7 +1056,7 @@ class DSLC_Accordion extends DSLC_Module {
1056
  </div>
1057
 
1058
  <div class="dslc-accordion-content">
1059
- <div class="dslca-editable-content">
1060
  <?php
1061
  $accordion_content_output = stripslashes( $accordion_content );
1062
  $accordion_content_output = str_replace( '<lctextarea', '<textarea', $accordion_content_output );
1005
 
1006
  );
1007
 
1008
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options', array('hover_opts' => false) ) );
1009
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
1010
 
1011
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
1045
  <div class="dslc-accordion-item">
1046
 
1047
  <div class="dslc-accordion-header dslc-accordion-hook">
1048
+ <span class="dslc-accordion-title" <?php if ( $dslc_is_admin ) echo 'contenteditable data-exportable-content="h3"'; ?>><?php echo stripslashes( $accordion_nav[$count] ); ?></span>
1049
  <?php if ( $dslc_is_admin ) : ?>
1050
  <div class="dslca-accordion-action-hooks">
1051
  <span class="dslca-move-up-accordion-hook"><span class="dslca-icon dslc-icon-arrow-up"></span></span>
1056
  </div>
1057
 
1058
  <div class="dslc-accordion-content">
1059
+ <div class="dslca-editable-content"<?php if ( $dslc_is_admin ) echo ' data-exportable-content'; ?>>
1060
  <?php
1061
  $accordion_content_output = stripslashes( $accordion_content );
1062
  $accordion_content_output = str_replace( '<lctextarea', '<textarea', $accordion_content_output );
modules/blog/module.php CHANGED
@@ -103,7 +103,7 @@ class DSLC_Blog extends DSLC_Module {
103
  'id' => 'columns',
104
  'std' => '3',
105
  'type' => 'select',
106
- 'choices' => $this->shared_options('posts_per_row_choices'),
107
  ),
108
  array(
109
  'label' => __( 'Categories', 'live-composer-page-builder' ),
@@ -213,57 +213,23 @@ class DSLC_Blog extends DSLC_Module {
213
  'type' => 'text',
214
  ),
215
 
216
- // Query Altering
217
  array(
218
- 'label' => __( 'On Author Archive', 'live-composer-page-builder' ),
219
- 'id' => 'query_alter_author',
220
  'std' => 'enabled',
221
  'type' => 'select',
222
  'choices' => array(
223
  array(
224
- 'label' => __( 'Show Posts Of That Author', 'live-composer-page-builder' ),
225
  'value' => 'enabled'
226
  ),
227
  array(
228
- 'label' => __( 'Do NOT Alter Query', 'live-composer-page-builder' ),
229
  'value' => 'disabled'
230
  ),
231
  ),
232
- 'tab' => __( 'Query Alter', 'live-composer-page-builder' ),
233
- ),
234
- array(
235
- 'label' => __( 'On Category/Tag Archive', 'live-composer-page-builder' ),
236
- 'id' => 'query_alter_cat',
237
- 'std' => 'enabled',
238
- 'type' => 'select',
239
- 'choices' => array(
240
- array(
241
- 'label' => __( 'Show Posts Of That Category/Tag', 'live-composer-page-builder' ),
242
- 'value' => 'enabled'
243
- ),
244
- array(
245
- 'label' => __( 'Do NOT Alter Query', 'live-composer-page-builder' ),
246
- 'value' => 'disabled'
247
- ),
248
- ),
249
- 'tab' => __( 'Query Alter', 'live-composer-page-builder' ),
250
- ),
251
- array(
252
- 'label' => __( 'On Search Results Page', 'live-composer-page-builder' ),
253
- 'id' => 'query_alter_search',
254
- 'std' => 'enabled',
255
- 'type' => 'select',
256
- 'choices' => array(
257
- array(
258
- 'label' => __( 'Show Posts Matching Search Term', 'live-composer-page-builder' ),
259
- 'value' => 'enabled'
260
- ),
261
- array(
262
- 'label' => __( 'Do NOT Alter Query', 'live-composer-page-builder' ),
263
- 'value' => 'disabled'
264
- ),
265
- ),
266
- 'tab' => __( 'Query Alter', 'live-composer-page-builder' ),
267
  ),
268
 
269
  /* Styling */
@@ -608,7 +574,7 @@ class DSLC_Blog extends DSLC_Module {
608
  'affect_on_change_rule' => 'background-color',
609
  'section' => 'styling',
610
  'tab' => __( 'Thumbnail', 'live-composer-page-builder' ),
611
- ),
612
  array(
613
  'label' => __( 'Border Color', 'live-composer-page-builder' ),
614
  'id' => 'css_thumb_border_color',
@@ -660,7 +626,7 @@ class DSLC_Blog extends DSLC_Module {
660
  'affect_on_change_rule' => 'border-style',
661
  'section' => 'styling',
662
  'tab' => __( 'Thumbnail', 'live-composer-page-builder' ),
663
- ),
664
  array(
665
  'label' => __( 'Border Radius - Top', 'live-composer-page-builder' ),
666
  'id' => 'css_thumb_border_radius_top',
@@ -1341,7 +1307,7 @@ class DSLC_Blog extends DSLC_Module {
1341
  'ext' => 'px',
1342
  'tab' => __( 'Meta', 'live-composer-page-builder' ),
1343
  ),
1344
-
1345
  /**
1346
  * Excerpt
1347
  */
@@ -2610,14 +2576,14 @@ class DSLC_Blog extends DSLC_Module {
2610
  ),
2611
 
2612
  );
2613
-
2614
- $dslc_options = array_merge( $dslc_options, $this->shared_options('carousel_options') );
2615
- $dslc_options = array_merge( $dslc_options, $this->shared_options('heading_options') );
2616
- $dslc_options = array_merge( $dslc_options, $this->shared_options('filters_options') );
2617
- $dslc_options = array_merge( $dslc_options, $this->shared_options('carousel_arrows_options') );
2618
- $dslc_options = array_merge( $dslc_options, $this->shared_options('carousel_circles_options') );
2619
- $dslc_options = array_merge( $dslc_options, $this->shared_options('pagination_options') );
2620
- $dslc_options = array_merge( $dslc_options, $this->shared_options('animation_options') );
2621
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
2622
 
2623
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
@@ -2626,6 +2592,12 @@ class DSLC_Blog extends DSLC_Module {
2626
 
2627
  function output( $options ) {
2628
 
 
 
 
 
 
 
2629
  global $dslc_active;
2630
 
2631
  if ( $dslc_active && is_user_logged_in() && current_user_can( DS_LIVE_COMPOSER_CAPABILITY ) )
@@ -2649,7 +2621,7 @@ class DSLC_Blog extends DSLC_Module {
2649
  */
2650
 
2651
  // Fix for pagination
2652
- if( is_front_page() ) { $paged = ( get_query_var( 'page' ) ) ? get_query_var( 'page' ) : 1; } else { $paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1; }
2653
 
2654
  // Fix for pagination from other modules affecting this one when pag disabled
2655
  if ( $options['pagination_type'] == 'disabled' ) $paged = 1;
@@ -2660,7 +2632,7 @@ class DSLC_Blog extends DSLC_Module {
2660
 
2661
  // General args
2662
  $args = array(
2663
- 'paged' => $paged,
2664
  'post_type' => 'post',
2665
  'posts_per_page' => $options['amount'],
2666
  'order' => $options['order'],
@@ -2672,14 +2644,14 @@ class DSLC_Blog extends DSLC_Module {
2672
  $args['offset'] = $query_offset;
2673
  }
2674
 
2675
- if ( defined('DOING_AJAX') && DOING_AJAX ) {
2676
- $args['post_status'] = array( 'publish', 'private' );
2677
  }
2678
 
2679
  // Category args
2680
  if ( isset( $options['categories'] ) && $options['categories'] != '' ) {
2681
 
2682
- $cats_array = explode( ' ', trim( $options['categories'] ));
2683
 
2684
  $args['tax_query'] = array(
2685
  array(
@@ -2707,7 +2679,7 @@ class DSLC_Blog extends DSLC_Module {
2707
  // Include posts ( option )
2708
  if ( $options['query_post_in'] )
2709
  $include = array_merge( $include, explode( ' ', $options['query_post_in'] ) );
2710
-
2711
  // Include query parameter
2712
  if ( ! empty( $include ) )
2713
  $args['post__in'] = $include;
@@ -2717,9 +2689,9 @@ class DSLC_Blog extends DSLC_Module {
2717
  $args['post__not_in'] = $exclude;
2718
 
2719
  // Author archive page
2720
- if ( is_author() && $options['query_alter_author'] == 'enabled' ) {
2721
  global $authordata;
2722
- $args['author__in'] = array( $authordata->data->ID );
2723
  }
2724
 
2725
  // No paging
@@ -2729,12 +2701,9 @@ class DSLC_Blog extends DSLC_Module {
2729
  // Sticky Posts
2730
  if ( $options['sticky_posts'] == 'disabled' )
2731
  $args['ignore_sticky_posts'] = true;
2732
-
2733
  // Do the query
2734
- if ( ( is_category() || is_tag() || is_tax() ) && $options['query_alter_cat'] == 'enabled' ) {
2735
- global $wp_query;
2736
- $dslc_query = $wp_query;
2737
- } elseif ( is_search() && $options['query_alter_search'] == 'enabled' ) {
2738
  global $wp_query;
2739
  $dslc_query = $wp_query;
2740
  } else {
@@ -2754,14 +2723,14 @@ class DSLC_Blog extends DSLC_Module {
2754
  /**
2755
  * Elements to show
2756
  */
2757
-
2758
  // Main Elements
2759
  $elements = $options['elements'];
2760
  if ( ! empty( $elements ) )
2761
  $elements = explode( ' ', trim( $elements ) );
2762
  else
2763
  $elements = array();
2764
-
2765
 
2766
  // Post Elements
2767
  $post_elements = $options['post_elements'];
@@ -2782,7 +2751,7 @@ class DSLC_Blog extends DSLC_Module {
2782
  */
2783
 
2784
  // Posts container
2785
- $container_class = 'dslc-posts dslc-blog-posts dslc-clearfix dslc-blog-posts-type-' . $options['type'] .' dslc-posts-orientation-' . $options['orientation'] . ' ';
2786
  if ( $options['type'] == 'masonry' )
2787
  $container_class .= 'dslc-init-masonry ';
2788
  elseif ( $options['type'] == 'grid' )
@@ -2806,7 +2775,7 @@ class DSLC_Blog extends DSLC_Module {
2806
  $show_view_all_link = false;
2807
 
2808
  if ( in_array( 'main_heading', $elements ) )
2809
- $show_heading = true;
2810
 
2811
  if ( ( $elements == 'all' || in_array( 'filters', $elements ) ) && $options['type'] !== 'carousel' )
2812
  $show_filters = true;
@@ -2820,7 +2789,7 @@ class DSLC_Blog extends DSLC_Module {
2820
  /**
2821
  * Carousel Items
2822
  */
2823
-
2824
  switch ( $options['columns'] ) {
2825
  case 12 :
2826
  $carousel_items = 1;
@@ -2849,7 +2818,7 @@ class DSLC_Blog extends DSLC_Module {
2849
  if ( $show_header ) :
2850
  ?>
2851
  <div class="dslc-module-heading">
2852
-
2853
  <!-- Heading -->
2854
 
2855
  <?php if ( $show_heading ) : ?>
@@ -2878,11 +2847,11 @@ class DSLC_Blog extends DSLC_Module {
2878
 
2879
  while ( $dslc_query->have_posts() ) {
2880
 
2881
- $dslc_query->the_post();
2882
 
2883
  $post_cats = get_the_category( get_the_ID() );
2884
  if ( ! empty( $post_cats ) ) {
2885
- foreach( $post_cats as $post_cat ) {
2886
  $cats_array[$post_cat->slug] = $post_cat->name;
2887
  }
2888
  }
@@ -2927,7 +2896,7 @@ class DSLC_Blog extends DSLC_Module {
2927
 
2928
  /**
2929
  * Posts ( output )
2930
- */
2931
 
2932
  if ( $dslc_query->have_posts() ) {
2933
 
@@ -2966,7 +2935,7 @@ class DSLC_Blog extends DSLC_Module {
2966
  $post_cats = get_the_category( get_the_ID() );
2967
  $post_cats_data = '';
2968
  if ( ! empty( $post_cats ) ) {
2969
- foreach( $post_cats as $post_cat ) {
2970
  $post_cats_data .= $post_cat->slug . ' ';
2971
  }
2972
  }
@@ -2978,7 +2947,7 @@ class DSLC_Blog extends DSLC_Module {
2978
  <?php if ( $post_elements == 'all' || in_array( 'thumbnail', $post_elements ) ) : ?>
2979
 
2980
  <?php
2981
-
2982
  /**
2983
  * Manual Resize
2984
  */
@@ -2987,7 +2956,7 @@ class DSLC_Blog extends DSLC_Module {
2987
  if ( isset( $options['thumb_resize_height'] ) && ! empty( $options['thumb_resize_height'] ) || isset( $options['thumb_resize_width_manual'] ) && ! empty( $options['thumb_resize_width_manual'] ) ) {
2988
 
2989
  $manual_resize = true;
2990
- $thumb_url = wp_get_attachment_image_src( get_post_thumbnail_id(), 'full' );
2991
  $thumb_url = $thumb_url[0];
2992
 
2993
  $thumb_alt = get_post_meta( get_post_thumbnail_id(), '_wp_attachment_image_alt', true );
@@ -3009,7 +2978,7 @@ class DSLC_Blog extends DSLC_Module {
3009
  ?>
3010
 
3011
  <?php if ( has_post_thumbnail() ) : ?>
3012
-
3013
  <div class="dslc-blog-post-thumb dslc-post-thumb dslc-on-hover-anim">
3014
 
3015
  <div class="dslc-blog-post-thumb-inner dslca-post-thumb">
@@ -3032,21 +3001,21 @@ class DSLC_Blog extends DSLC_Module {
3032
  <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
3033
  </div><!-- .dslc-blog-post-title -->
3034
 
3035
- <?php endif; ?>
3036
 
3037
  <?php if ( $post_elements == 'all' || in_array( 'meta', $post_elements ) ) : ?>
3038
 
3039
- <?php
3040
  // Meta Elements
3041
  $meta_elements = $options['meta_elements'];
3042
  $meta_elements = explode( ' ', trim( $meta_elements ) );
3043
  ?>
3044
 
3045
  <div class="dslc-blog-post-meta">
3046
-
3047
  <?php if ( in_array( 'author', $meta_elements ) ) : ?>
3048
  <div class="dslc-blog-post-meta-author">
3049
- <?php _e( 'By', 'live-composer-page-builder'); ?> <?php the_author_posts_link(); ?>
3050
  </div><!-- .dslc-blog-post-meta-author -->
3051
  <?php endif; ?>
3052
 
@@ -3121,24 +3090,24 @@ class DSLC_Blog extends DSLC_Module {
3121
  <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
3122
  </div><!-- .dslc-blog-post-title -->
3123
 
3124
- <?php endif; ?>
3125
 
3126
  <?php if ( $post_elements == 'all' || in_array( 'meta', $post_elements ) ) : ?>
3127
 
3128
- <?php
3129
  // Meta Elements
3130
  $meta_elements = $options['meta_elements'];
3131
  $meta_elements = explode( ' ', trim( $meta_elements ) );
3132
  ?>
3133
 
3134
  <div class="dslc-blog-post-meta">
3135
-
3136
  <?php if ( in_array( 'author', $meta_elements ) ) : ?>
3137
  <div class="dslc-blog-post-meta-author">
3138
  <span class="dslc-blog-post-meta-avatar">
3139
  <?php echo get_avatar( get_the_author_meta( 'ID' ), 100 ); ?>
3140
  </span>
3141
- <?php _e( 'By', 'live-composer-page-builder'); ?> <?php the_author_posts_link(); ?>
3142
  </div><!-- .dslc-blog-post-meta-author -->
3143
  <?php endif; ?>
3144
 
@@ -3258,16 +3227,16 @@ class DSLC_Blog extends DSLC_Module {
3258
  /**
3259
  * Pagination
3260
  */
3261
-
3262
  if ( isset( $options['pagination_type'] ) && $options['pagination_type'] != 'disabled' ) {
3263
  $num_pages = $dslc_query->max_num_pages;
3264
  if ( $options['offset'] > 0 ) {
3265
- $num_pages = ceil ( ( $dslc_query->found_posts - $options['offset'] ) / $options['amount'] );
3266
  }
3267
- dslc_post_pagination( array( 'pages' => $num_pages, 'type' => $options['pagination_type'] ) );
3268
  }
3269
 
3270
-
3271
  wp_reset_postdata();
3272
 
3273
  $this->module_end( $options );
103
  'id' => 'columns',
104
  'std' => '3',
105
  'type' => 'select',
106
+ 'choices' => $this->shared_options( 'posts_per_row_choices' ),
107
  ),
108
  array(
109
  'label' => __( 'Categories', 'live-composer-page-builder' ),
213
  'type' => 'text',
214
  ),
215
 
216
+ // Archive Listinging
217
  array(
218
+ 'label' => __( 'Archive/Search Listing', 'live-composer-page-builder' ),
219
+ 'id' => 'query_alter',
220
  'std' => 'enabled',
221
  'type' => 'select',
222
  'choices' => array(
223
  array(
224
+ 'label' => __( 'Apply Page Query', 'live-composer-page-builder' ),
225
  'value' => 'enabled'
226
  ),
227
  array(
228
+ 'label' => __( 'Ignore Page Query', 'live-composer-page-builder' ),
229
  'value' => 'disabled'
230
  ),
231
  ),
232
+ 'help' => __( 'Apply Page Query – show posts according to the selected tag, category, author or search query.<br /> Ignore Page Query – ignore the page query and list posts as on any other page.', 'live-composer-page-builder' ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
233
  ),
234
 
235
  /* Styling */
574
  'affect_on_change_rule' => 'background-color',
575
  'section' => 'styling',
576
  'tab' => __( 'Thumbnail', 'live-composer-page-builder' ),
577
+ ),
578
  array(
579
  'label' => __( 'Border Color', 'live-composer-page-builder' ),
580
  'id' => 'css_thumb_border_color',
626
  'affect_on_change_rule' => 'border-style',
627
  'section' => 'styling',
628
  'tab' => __( 'Thumbnail', 'live-composer-page-builder' ),
629
+ ),
630
  array(
631
  'label' => __( 'Border Radius - Top', 'live-composer-page-builder' ),
632
  'id' => 'css_thumb_border_radius_top',
1307
  'ext' => 'px',
1308
  'tab' => __( 'Meta', 'live-composer-page-builder' ),
1309
  ),
1310
+
1311
  /**
1312
  * Excerpt
1313
  */
2576
  ),
2577
 
2578
  );
2579
+
2580
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'carousel_options' ) );
2581
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'heading_options' ) );
2582
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'filters_options' ) );
2583
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'carousel_arrows_options' ) );
2584
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'carousel_circles_options' ) );
2585
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'pagination_options' ) );
2586
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options' ) );
2587
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
2588
 
2589
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
2592
 
2593
  function output( $options ) {
2594
 
2595
+ if ( is_feed() ) {
2596
+ // Prevent category/tag feeds to stuck in an infinite loop
2597
+ return false;
2598
+ }
2599
+
2600
+
2601
  global $dslc_active;
2602
 
2603
  if ( $dslc_active && is_user_logged_in() && current_user_can( DS_LIVE_COMPOSER_CAPABILITY ) )
2621
  */
2622
 
2623
  // Fix for pagination
2624
+ if ( is_front_page() ) { $paged = ( get_query_var( 'page' ) ) ? get_query_var( 'page' ) : 1; } else { $paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1; }
2625
 
2626
  // Fix for pagination from other modules affecting this one when pag disabled
2627
  if ( $options['pagination_type'] == 'disabled' ) $paged = 1;
2632
 
2633
  // General args
2634
  $args = array(
2635
+ 'paged' => $paged,
2636
  'post_type' => 'post',
2637
  'posts_per_page' => $options['amount'],
2638
  'order' => $options['order'],
2644
  $args['offset'] = $query_offset;
2645
  }
2646
 
2647
+ if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
2648
+ $args['post_status'] = array('publish', 'private');
2649
  }
2650
 
2651
  // Category args
2652
  if ( isset( $options['categories'] ) && $options['categories'] != '' ) {
2653
 
2654
+ $cats_array = explode( ' ', trim( $options['categories'] ) );
2655
 
2656
  $args['tax_query'] = array(
2657
  array(
2679
  // Include posts ( option )
2680
  if ( $options['query_post_in'] )
2681
  $include = array_merge( $include, explode( ' ', $options['query_post_in'] ) );
2682
+
2683
  // Include query parameter
2684
  if ( ! empty( $include ) )
2685
  $args['post__in'] = $include;
2689
  $args['post__not_in'] = $exclude;
2690
 
2691
  // Author archive page
2692
+ if ( is_author() && $options['query_alter'] == 'enabled' ) {
2693
  global $authordata;
2694
+ $args['author__in'] = array($authordata->data->ID);
2695
  }
2696
 
2697
  // No paging
2701
  // Sticky Posts
2702
  if ( $options['sticky_posts'] == 'disabled' )
2703
  $args['ignore_sticky_posts'] = true;
2704
+
2705
  // Do the query
2706
+ if ( ( is_category() || is_tag() || is_tax() || is_search() || is_date() ) && $options['query_alter'] == 'enabled' ) {
 
 
 
2707
  global $wp_query;
2708
  $dslc_query = $wp_query;
2709
  } else {
2723
  /**
2724
  * Elements to show
2725
  */
2726
+
2727
  // Main Elements
2728
  $elements = $options['elements'];
2729
  if ( ! empty( $elements ) )
2730
  $elements = explode( ' ', trim( $elements ) );
2731
  else
2732
  $elements = array();
2733
+
2734
 
2735
  // Post Elements
2736
  $post_elements = $options['post_elements'];
2751
  */
2752
 
2753
  // Posts container
2754
+ $container_class = 'dslc-posts dslc-blog-posts dslc-clearfix dslc-blog-posts-type-' . $options['type'] . ' dslc-posts-orientation-' . $options['orientation'] . ' ';
2755
  if ( $options['type'] == 'masonry' )
2756
  $container_class .= 'dslc-init-masonry ';
2757
  elseif ( $options['type'] == 'grid' )
2775
  $show_view_all_link = false;
2776
 
2777
  if ( in_array( 'main_heading', $elements ) )
2778
+ $show_heading = true;
2779
 
2780
  if ( ( $elements == 'all' || in_array( 'filters', $elements ) ) && $options['type'] !== 'carousel' )
2781
  $show_filters = true;
2789
  /**
2790
  * Carousel Items
2791
  */
2792
+
2793
  switch ( $options['columns'] ) {
2794
  case 12 :
2795
  $carousel_items = 1;
2818
  if ( $show_header ) :
2819
  ?>
2820
  <div class="dslc-module-heading">
2821
+
2822
  <!-- Heading -->
2823
 
2824
  <?php if ( $show_heading ) : ?>
2847
 
2848
  while ( $dslc_query->have_posts() ) {
2849
 
2850
+ $dslc_query->the_post();
2851
 
2852
  $post_cats = get_the_category( get_the_ID() );
2853
  if ( ! empty( $post_cats ) ) {
2854
+ foreach ( $post_cats as $post_cat ) {
2855
  $cats_array[$post_cat->slug] = $post_cat->name;
2856
  }
2857
  }
2896
 
2897
  /**
2898
  * Posts ( output )
2899
+ */
2900
 
2901
  if ( $dslc_query->have_posts() ) {
2902
 
2935
  $post_cats = get_the_category( get_the_ID() );
2936
  $post_cats_data = '';
2937
  if ( ! empty( $post_cats ) ) {
2938
+ foreach ( $post_cats as $post_cat ) {
2939
  $post_cats_data .= $post_cat->slug . ' ';
2940
  }
2941
  }
2947
  <?php if ( $post_elements == 'all' || in_array( 'thumbnail', $post_elements ) ) : ?>
2948
 
2949
  <?php
2950
+
2951
  /**
2952
  * Manual Resize
2953
  */
2956
  if ( isset( $options['thumb_resize_height'] ) && ! empty( $options['thumb_resize_height'] ) || isset( $options['thumb_resize_width_manual'] ) && ! empty( $options['thumb_resize_width_manual'] ) ) {
2957
 
2958
  $manual_resize = true;
2959
+ $thumb_url = wp_get_attachment_image_src( get_post_thumbnail_id(), 'full' );
2960
  $thumb_url = $thumb_url[0];
2961
 
2962
  $thumb_alt = get_post_meta( get_post_thumbnail_id(), '_wp_attachment_image_alt', true );
2978
  ?>
2979
 
2980
  <?php if ( has_post_thumbnail() ) : ?>
2981
+
2982
  <div class="dslc-blog-post-thumb dslc-post-thumb dslc-on-hover-anim">
2983
 
2984
  <div class="dslc-blog-post-thumb-inner dslca-post-thumb">
3001
  <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
3002
  </div><!-- .dslc-blog-post-title -->
3003
 
3004
+ <?php endif; ?>
3005
 
3006
  <?php if ( $post_elements == 'all' || in_array( 'meta', $post_elements ) ) : ?>
3007
 
3008
+ <?php
3009
  // Meta Elements
3010
  $meta_elements = $options['meta_elements'];
3011
  $meta_elements = explode( ' ', trim( $meta_elements ) );
3012
  ?>
3013
 
3014
  <div class="dslc-blog-post-meta">
3015
+
3016
  <?php if ( in_array( 'author', $meta_elements ) ) : ?>
3017
  <div class="dslc-blog-post-meta-author">
3018
+ <?php _e( 'By', 'live-composer-page-builder' ); ?> <?php the_author_posts_link(); ?>
3019
  </div><!-- .dslc-blog-post-meta-author -->
3020
  <?php endif; ?>
3021
 
3090
  <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
3091
  </div><!-- .dslc-blog-post-title -->
3092
 
3093
+ <?php endif; ?>
3094
 
3095
  <?php if ( $post_elements == 'all' || in_array( 'meta', $post_elements ) ) : ?>
3096
 
3097
+ <?php
3098
  // Meta Elements
3099
  $meta_elements = $options['meta_elements'];
3100
  $meta_elements = explode( ' ', trim( $meta_elements ) );
3101
  ?>
3102
 
3103
  <div class="dslc-blog-post-meta">
3104
+
3105
  <?php if ( in_array( 'author', $meta_elements ) ) : ?>
3106
  <div class="dslc-blog-post-meta-author">
3107
  <span class="dslc-blog-post-meta-avatar">
3108
  <?php echo get_avatar( get_the_author_meta( 'ID' ), 100 ); ?>
3109
  </span>
3110
+ <?php _e( 'By', 'live-composer-page-builder' ); ?> <?php the_author_posts_link(); ?>
3111
  </div><!-- .dslc-blog-post-meta-author -->
3112
  <?php endif; ?>
3113
 
3227
  /**
3228
  * Pagination
3229
  */
3230
+
3231
  if ( isset( $options['pagination_type'] ) && $options['pagination_type'] != 'disabled' ) {
3232
  $num_pages = $dslc_query->max_num_pages;
3233
  if ( $options['offset'] > 0 ) {
3234
+ $num_pages = ceil( ( $dslc_query->found_posts - $options['offset'] ) / $options['amount'] );
3235
  }
3236
+ dslc_post_pagination( array('pages' => $num_pages, 'type' => $options['pagination_type']) );
3237
  }
3238
 
3239
+
3240
  wp_reset_postdata();
3241
 
3242
  $this->module_end( $options );
modules/button/module.php CHANGED
@@ -16,10 +16,10 @@ class DSLC_Button extends DSLC_Module {
16
 
17
  }
18
 
19
- function options() {
20
 
21
  $dslc_options = array(
22
-
23
  array(
24
  'label' => __( 'Show On', 'live-composer-page-builder' ),
25
  'id' => 'css_show_on',
@@ -69,7 +69,7 @@ class DSLC_Button extends DSLC_Module {
69
  'label' => __( 'URL', 'live-composer-page-builder' ),
70
  'id' => 'button_url',
71
  'std' => '#',
72
- 'type' => 'text'
73
  ),
74
  array(
75
  'label' => __( 'Open in', 'live-composer-page-builder' ),
@@ -91,6 +91,18 @@ class DSLC_Button extends DSLC_Module {
91
  ),
92
  )
93
  ),
 
 
 
 
 
 
 
 
 
 
 
 
94
 
95
  array(
96
  'label' => __( 'Align', 'live-composer-page-builder' ),
@@ -871,14 +883,14 @@ class DSLC_Button extends DSLC_Module {
871
 
872
  );
873
 
874
- $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options', array( 'hover_opts' => false ) ) );
875
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
876
 
877
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
878
 
879
  }
880
 
881
- function output( $options ) {
882
 
883
  global $dslc_active;
884
 
@@ -895,26 +907,34 @@ class DSLC_Button extends DSLC_Module {
895
 
896
  if ( isset( $options['button_onclick'] ) && $options['button_onclick'] !== '' )
897
  $anchor_append = ' onClick="' . stripslashes( $options['button_onclick'] ) . '"';
898
-
899
  ?>
900
 
901
  <div class="dslc-button">
902
  <?php if ( $options['button_target'] == 'lightbox' ) : ?>
903
- <a href="<?php echo do_shortcode( $options['button_url'] ); ?>" <?php echo $anchor_append; ?> class="dslc-lightbox-image <?php echo esc_attr( $options['button_class'] ); ?>">
904
  <?php if ( $options['button_state'] == 'enabled' && $options['icon_pos'] == 'left' ) : ?>
905
  <span class="dslc-icon dslc-icon-<?php echo $options['button_icon_id']; ?>"></span>
906
  <?php endif; ?>
907
- <span class="dslca-editable-content" data-id="button_text" data-type="simple" <?php if ( $dslc_is_admin ) echo 'contenteditable'; ?>><?php echo stripslashes( $options['button_text'] ); ?></span>
 
 
 
 
908
  <?php if ( $options['button_state'] == 'enabled' && $options['icon_pos'] == 'right' ) : ?>
909
  <span class="dslc-icon dslc-icon-<?php echo $options['button_icon_id']; ?>"></span>
910
  <?php endif; ?>
911
  </a>
912
  <?php else : ?>
913
- <a href="<?php echo do_shortcode( $options['button_url'] ); ?>" target="<?php echo $options['button_target']; ?>" <?php echo $anchor_append; ?> class="<?php echo esc_attr( $options['button_class'] ); ?>">
914
  <?php if ( $options['button_state'] == 'enabled' && $options['icon_pos'] == 'left' ) : ?>
915
  <span class="dslc-icon dslc-icon-<?php echo $options['button_icon_id']; ?>"></span>
916
  <?php endif; ?>
917
- <span class="dslca-editable-content" data-id="button_text" data-type="simple" <?php if ( $dslc_is_admin ) echo 'contenteditable'; ?>><?php echo stripslashes( $options['button_text'] ); ?></span>
 
 
 
 
918
  <?php if ( $options['button_state'] == 'enabled' && $options['icon_pos'] == 'right' ) : ?>
919
  <span class="dslc-icon dslc-icon-<?php echo $options['button_icon_id']; ?>"></span>
920
  <?php endif; ?>
@@ -922,6 +942,15 @@ class DSLC_Button extends DSLC_Module {
922
  <?php endif; ?>
923
  </div><!-- .dslc-button -->
924
 
 
 
 
 
 
 
 
 
 
925
  <?php
926
 
927
  /* Module output ends here */
16
 
17
  }
18
 
19
+ function options() {
20
 
21
  $dslc_options = array(
22
+
23
  array(
24
  'label' => __( 'Show On', 'live-composer-page-builder' ),
25
  'id' => 'css_show_on',
69
  'label' => __( 'URL', 'live-composer-page-builder' ),
70
  'id' => 'button_url',
71
  'std' => '#',
72
+ 'type' => 'text'
73
  ),
74
  array(
75
  'label' => __( 'Open in', 'live-composer-page-builder' ),
91
  ),
92
  )
93
  ),
94
+ array(
95
+ 'id' => 'link_nofollow',
96
+ 'std' => '',
97
+ 'type' => 'checkbox',
98
+ 'help' => __( 'Nofollow tells search engines to not follow this specific link', 'live-composer-page-builder' ),
99
+ 'choices' => array(
100
+ array(
101
+ 'label' => __( 'Nofollow', 'live-composer-page-builder' ),
102
+ 'value' => 'nofollow'
103
+ ),
104
+ ),
105
+ ),
106
 
107
  array(
108
  'label' => __( 'Align', 'live-composer-page-builder' ),
883
 
884
  );
885
 
886
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options', array('hover_opts' => false) ) );
887
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
888
 
889
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
890
 
891
  }
892
 
893
+ function output( $options ) {
894
 
895
  global $dslc_active;
896
 
907
 
908
  if ( isset( $options['button_onclick'] ) && $options['button_onclick'] !== '' )
909
  $anchor_append = ' onClick="' . stripslashes( $options['button_onclick'] ) . '"';
910
+
911
  ?>
912
 
913
  <div class="dslc-button">
914
  <?php if ( $options['button_target'] == 'lightbox' ) : ?>
915
+ <a href="<?php echo do_shortcode( $options['button_url'] ); ?>" <?php echo $anchor_append; if ( $options['link_nofollow'] ) echo 'rel="nofollow"'; ?> class="dslc-lightbox-image <?php echo esc_attr( $options['button_class'] ); ?>">
916
  <?php if ( $options['button_state'] == 'enabled' && $options['icon_pos'] == 'left' ) : ?>
917
  <span class="dslc-icon dslc-icon-<?php echo $options['button_icon_id']; ?>"></span>
918
  <?php endif; ?>
919
+ <?php if ( $dslc_is_admin ) : ?>
920
+ <span class="dslca-editable-content" data-id="button_text" data-type="simple" contenteditable><?php echo stripslashes( $options['button_text'] ); ?></span>
921
+ <?php else: ?>
922
+ <?php echo stripslashes( $options['button_text'] ); ?>
923
+ <?php endif; ?>
924
  <?php if ( $options['button_state'] == 'enabled' && $options['icon_pos'] == 'right' ) : ?>
925
  <span class="dslc-icon dslc-icon-<?php echo $options['button_icon_id']; ?>"></span>
926
  <?php endif; ?>
927
  </a>
928
  <?php else : ?>
929
+ <a href="<?php echo do_shortcode( $options['button_url'] ); ?>" target="<?php echo $options['button_target']; ?>" <?php echo $anchor_append; if ( $options['link_nofollow'] ) echo 'rel="nofollow"'; ?> class="<?php echo esc_attr( $options['button_class'] ); ?>">
930
  <?php if ( $options['button_state'] == 'enabled' && $options['icon_pos'] == 'left' ) : ?>
931
  <span class="dslc-icon dslc-icon-<?php echo $options['button_icon_id']; ?>"></span>
932
  <?php endif; ?>
933
+ <?php if ( $dslc_is_admin ) : ?>
934
+ <span class="dslca-editable-content" data-id="button_text" data-type="simple" contenteditable><?php echo stripslashes( $options['button_text'] ); ?></span>
935
+ <?php else: ?>
936
+ <?php echo stripslashes( $options['button_text'] ); ?>
937
+ <?php endif; ?>
938
  <?php if ( $options['button_state'] == 'enabled' && $options['icon_pos'] == 'right' ) : ?>
939
  <span class="dslc-icon dslc-icon-<?php echo $options['button_icon_id']; ?>"></span>
940
  <?php endif; ?>
942
  <?php endif; ?>
943
  </div><!-- .dslc-button -->
944
 
945
+
946
+ <?php if ( $dslc_is_admin ) :
947
+ /* we output this button code for clean html export only */ ?>
948
+ <div style="display: none;"<?php if ( $dslc_is_admin ) echo ' data-exportable-content'; ?>>
949
+ <a href="<?php echo do_shortcode( $options['button_url'] ); ?>" target="<?php echo $options['button_target']; ?>" <?php if ( $options['link_nofollow'] ) echo 'rel="nofollow"'; ?>>
950
+ <?php echo stripslashes( $options['button_text'] ); ?>
951
+ </a>
952
+ </div><!-- .dslc-button -->
953
+ <?php endif; ?>
954
  <?php
955
 
956
  /* Module output ends here */
modules/downloads/functions.php CHANGED
@@ -19,7 +19,7 @@ function dslc_downloads_module_init() {
19
 
20
  // With Front
21
  $with_front = dslc_get_option( 'with_front', 'dslc_plugin_options_cpt_slugs' );
22
- if ( empty ( $with_front ) ) $with_front = 'disabled';
23
  if ( $with_front == 'enabled' ) $with_front = true; else $with_front = false;
24
 
25
  /**
@@ -45,8 +45,8 @@ function dslc_downloads_module_init() {
45
  'parent' => __( 'Parent Download Item', 'live-composer-page-builder' ),
46
  ),
47
  'public' => true,
48
- 'rewrite' => array( 'slug' => dslc_get_option( 'downloads_slug', 'dslc_plugin_options_cpt_slugs' ), 'with_front' => $with_front ),
49
- 'supports' => array( 'title', 'custom-fields', 'excerpt', 'editor', 'author', 'thumbnail', 'comments' ),
50
  'capabilities' => array(
51
  'publish_posts' => $capability,
52
  'edit_posts' => $capability,
19
 
20
  // With Front
21
  $with_front = dslc_get_option( 'with_front', 'dslc_plugin_options_cpt_slugs' );
22
+ if ( empty ( $with_front ) ) $with_front = 'disabled';
23
  if ( $with_front == 'enabled' ) $with_front = true; else $with_front = false;
24
 
25
  /**
45
  'parent' => __( 'Parent Download Item', 'live-composer-page-builder' ),
46
  ),
47
  'public' => true,
48
+ 'rewrite' => array('slug' => dslc_get_option( 'downloads_slug', 'dslc_plugin_options_cpt_slugs' ), 'with_front' => $with_front),
49
+ 'supports' => array('title', 'custom-fields', 'excerpt', 'editor', 'author', 'thumbnail', 'comments'),
50
  'capabilities' => array(
51
  'publish_posts' => $capability,
52
  'edit_posts' => $capability,
modules/downloads/module.php CHANGED
@@ -32,7 +32,7 @@ class DSLC_Downloads extends DSLC_Module {
32
  }
33
 
34
  $dslc_options = array(
35
-
36
  array(
37
  'label' => __( 'Show On', 'live-composer-page-builder' ),
38
  'id' => 'css_show_on',
@@ -168,7 +168,7 @@ class DSLC_Downloads extends DSLC_Module {
168
  'id' => 'columns',
169
  'std' => '3',
170
  'type' => 'select',
171
- 'choices' => $this->shared_options('posts_per_row_choices'),
172
  ),
173
  array(
174
  'label' => __( 'Order By', 'live-composer-page-builder' ),
@@ -233,63 +233,29 @@ class DSLC_Downloads extends DSLC_Module {
233
  'type' => 'text',
234
  ),
235
 
236
- // Query Altering
237
- array(
238
- 'label' => __( 'On Author Archive', 'live-composer-page-builder' ),
239
- 'id' => 'query_alter_author',
240
- 'std' => 'enabled',
241
- 'type' => 'select',
242
- 'choices' => array(
243
- array(
244
- 'label' => __( 'Show Posts Of That Author', 'live-composer-page-builder' ),
245
- 'value' => 'enabled'
246
- ),
247
- array(
248
- 'label' => __( 'Do NOT Alter Query', 'live-composer-page-builder' ),
249
- 'value' => 'disabled'
250
- ),
251
- ),
252
- 'tab' => __( 'Query Alter', 'live-composer-page-builder' ),
253
- ),
254
- array(
255
- 'label' => __( 'On Category/Tag Archive', 'live-composer-page-builder' ),
256
- 'id' => 'query_alter_cat',
257
- 'std' => 'enabled',
258
- 'type' => 'select',
259
- 'choices' => array(
260
- array(
261
- 'label' => __( 'Show Posts Of That Category/Tag', 'live-composer-page-builder' ),
262
- 'value' => 'enabled'
263
- ),
264
- array(
265
- 'label' => __( 'Do NOT Alter Query', 'live-composer-page-builder' ),
266
- 'value' => 'disabled'
267
- ),
268
- ),
269
- 'tab' => __( 'Query Alter', 'live-composer-page-builder' ),
270
- ),
271
  array(
272
- 'label' => __( 'On Search Results Page', 'live-composer-page-builder' ),
273
- 'id' => 'query_alter_search',
274
  'std' => 'enabled',
275
  'type' => 'select',
276
  'choices' => array(
277
  array(
278
- 'label' => __( 'Show Posts Matching Search Term', 'live-composer-page-builder' ),
279
  'value' => 'enabled'
280
  ),
281
  array(
282
- 'label' => __( 'Do NOT Alter Query', 'live-composer-page-builder' ),
283
  'value' => 'disabled'
284
  ),
285
  ),
286
- 'tab' => __( 'Query Alter', 'live-composer-page-builder' ),
287
  ),
288
-
289
  /**
290
  * General
291
  */
292
-
293
  array(
294
  'label' => __( 'Elements', 'live-composer-page-builder' ),
295
  'id' => 'elements',
@@ -475,7 +441,7 @@ class DSLC_Downloads extends DSLC_Module {
475
  'section' => 'styling',
476
  'tab' => __( 'Row Separator', 'live-composer-page-builder' ),
477
  ),
478
-
479
  /**
480
  * Thumbnail
481
  */
@@ -501,7 +467,7 @@ class DSLC_Downloads extends DSLC_Module {
501
  'affect_on_change_rule' => 'background-color',
502
  'section' => 'styling',
503
  'tab' => __( 'Thumbnail', 'live-composer-page-builder' ),
504
- ),
505
  array(
506
  'label' => __( 'Border Color', 'live-composer-page-builder' ),
507
  'id' => 'css_thumb_border_color',
@@ -553,7 +519,7 @@ class DSLC_Downloads extends DSLC_Module {
553
  'affect_on_change_rule' => 'border-style',
554
  'section' => 'styling',
555
  'tab' => __( 'Thumbnail', 'live-composer-page-builder' ),
556
- ),
557
  array(
558
  'label' => __( 'Border Radius - Top', 'live-composer-page-builder' ),
559
  'id' => 'css_thumbnail_border_radius_top',
@@ -657,7 +623,7 @@ class DSLC_Downloads extends DSLC_Module {
657
  /**
658
  * Main
659
  */
660
-
661
  array(
662
  'label' => __( 'Location', 'live-composer-page-builder' ),
663
  'id' => 'main_location',
@@ -2022,14 +1988,14 @@ class DSLC_Downloads extends DSLC_Module {
2022
  ),
2023
 
2024
  );
2025
-
2026
- $dslc_options = array_merge( $dslc_options, $this->shared_options('carousel_options') );
2027
- $dslc_options = array_merge( $dslc_options, $this->shared_options('heading_options') );
2028
- $dslc_options = array_merge( $dslc_options, $this->shared_options('filters_options') );
2029
- $dslc_options = array_merge( $dslc_options, $this->shared_options('carousel_arrows_options') );
2030
- $dslc_options = array_merge( $dslc_options, $this->shared_options('carousel_circles_options') );
2031
- $dslc_options = array_merge( $dslc_options, $this->shared_options('pagination_options') );
2032
- $dslc_options = array_merge( $dslc_options, $this->shared_options('animation_options') );
2033
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
2034
 
2035
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
@@ -2038,6 +2004,11 @@ class DSLC_Downloads extends DSLC_Module {
2038
 
2039
  function output( $options ) {
2040
 
 
 
 
 
 
2041
  global $dslc_active;
2042
 
2043
  if ( $dslc_active && is_user_logged_in() && current_user_can( DS_LIVE_COMPOSER_CAPABILITY ) )
@@ -2056,7 +2027,7 @@ class DSLC_Downloads extends DSLC_Module {
2056
 
2057
  if ( ! isset( $options['excerpt_length'] ) ) $options['excerpt_length'] = 20;
2058
 
2059
- if( is_front_page() ) { $paged = ( get_query_var( 'page' ) ) ? get_query_var( 'page' ) : 1; } else { $paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1; }
2060
 
2061
  // Fix for pagination from other modules affecting this one when pag disabled
2062
  if ( $options['pagination_type'] == 'disabled' ) $paged = 1;
@@ -2064,9 +2035,9 @@ class DSLC_Downloads extends DSLC_Module {
2064
  // Fix for offset braking pagination
2065
  $query_offset = $options['offset'];
2066
  if ( $query_offset > 0 && $paged > 1 ) $query_offset = ( $paged - 1 ) * $options['amount'] + $options['offset'];
2067
-
2068
  $args = array(
2069
- 'paged' => $paged,
2070
  'post_type' => 'dslc_downloads',
2071
  'posts_per_page' => $options['amount'],
2072
  'order' => $options['order'],
@@ -2078,13 +2049,13 @@ class DSLC_Downloads extends DSLC_Module {
2078
  $args['offset'] = $query_offset;
2079
  }
2080
 
2081
- if ( defined('DOING_AJAX') && DOING_AJAX ) {
2082
- $args['post_status'] = array( 'publish', 'private' );
2083
  }
2084
 
2085
  if ( isset( $options['categories'] ) && $options['categories'] != '' ) {
2086
-
2087
- $cats_array = explode( ' ', trim( $options['categories'] ));
2088
 
2089
  $args['tax_query'] = array(
2090
  array(
@@ -2094,7 +2065,7 @@ class DSLC_Downloads extends DSLC_Module {
2094
  'operator' => $options['categories_operator']
2095
  )
2096
  );
2097
-
2098
  }
2099
 
2100
  // Exlcude and Include arrays
@@ -2112,7 +2083,7 @@ class DSLC_Downloads extends DSLC_Module {
2112
  // Include posts ( option )
2113
  if ( $options['query_post_in'] )
2114
  $include = array_merge( $include, explode( ' ', $options['query_post_in'] ) );
2115
-
2116
  // Include query parameter
2117
  if ( ! empty( $include ) )
2118
  $args['post__in'] = $include;
@@ -2120,18 +2091,15 @@ class DSLC_Downloads extends DSLC_Module {
2120
  // Exclude query parameter
2121
  if ( ! empty( $exclude ) )
2122
  $args['post__not_in'] = $exclude;
2123
-
2124
  // Author archive page
2125
- if ( is_author() && $options['query_alter_author'] == 'enabled' ) {
2126
  global $authordata;
2127
- $args['author__in'] = array( $authordata->data->ID );
2128
  }
2129
-
2130
  // Do the query
2131
- if ( ( is_category() || is_tag() || is_tax() ) && $options['query_alter_cat'] == 'enabled' ) {
2132
- global $wp_query;
2133
- $dslc_query = $wp_query;
2134
- } elseif ( is_search() && $options['query_alter_search'] == 'enabled' ) {
2135
  global $wp_query;
2136
  $dslc_query = $wp_query;
2137
  } else {
@@ -2147,14 +2115,14 @@ class DSLC_Downloads extends DSLC_Module {
2147
  /**
2148
  * Elements to show
2149
  */
2150
-
2151
  // Main Elements
2152
  $elements = $options['elements'];
2153
  if ( ! empty( $elements ) )
2154
  $elements = explode( ' ', trim( $elements ) );
2155
  else
2156
  $elements = array();
2157
-
2158
 
2159
  // Post Elements
2160
  $post_elements = $options['post_elements'];
@@ -2201,7 +2169,7 @@ class DSLC_Downloads extends DSLC_Module {
2201
  $show_view_all_link = false;
2202
 
2203
  if ( in_array( 'main_heading', $elements ) )
2204
- $show_heading = true;
2205
 
2206
  if ( ( $elements == 'all' || in_array( 'filters', $elements ) ) && $options['type'] !== 'carousel' )
2207
  $show_filters = true;
@@ -2215,7 +2183,7 @@ class DSLC_Downloads extends DSLC_Module {
2215
  /**
2216
  * Carousel Items
2217
  */
2218
-
2219
  switch ( $options['columns'] ) {
2220
  case 12 :
2221
  $carousel_items = 1;
@@ -2244,7 +2212,7 @@ class DSLC_Downloads extends DSLC_Module {
2244
  if ( $show_header ) :
2245
  ?>
2246
  <div class="dslc-module-heading">
2247
-
2248
  <!-- Heading -->
2249
 
2250
  <?php if ( $show_heading ) : ?>
@@ -2273,11 +2241,11 @@ class DSLC_Downloads extends DSLC_Module {
2273
 
2274
  while ( $dslc_query->have_posts() ) {
2275
 
2276
- $dslc_query->the_post();
2277
 
2278
  $post_cats = get_the_terms( get_the_ID(), 'dslc_downloads_cats' );
2279
  if ( ! empty( $post_cats ) ) {
2280
- foreach( $post_cats as $post_cat ) {
2281
  $cats_array[$post_cat->slug] = $post_cat->name;
2282
  }
2283
  }
@@ -2361,14 +2329,14 @@ class DSLC_Downloads extends DSLC_Module {
2361
  $download_link = get_post_meta( get_the_ID(), 'dslc_download_url', true );
2362
  else
2363
  $download_link = false;
2364
-
2365
  $download_count = get_post_meta( get_the_ID(), 'dslc_download_count', true );
2366
  if ( ! $download_count ) $download_count = 0;
2367
 
2368
  $post_cats = get_the_terms( get_the_ID(), 'dslc_downloads_cats' );
2369
  $post_cats_data = '';
2370
  if ( ! empty( $post_cats ) ) {
2371
- foreach( $post_cats as $post_cat ) {
2372
  $post_cats_data .= $post_cat->slug . ' ';
2373
  }
2374
  }
@@ -2378,7 +2346,7 @@ class DSLC_Downloads extends DSLC_Module {
2378
  */
2379
 
2380
  $link_to_single = true;
2381
- if ( $options['link'] == 'disabled' )
2382
  $link_to_single = false;
2383
 
2384
  ?>
@@ -2396,7 +2364,7 @@ class DSLC_Downloads extends DSLC_Module {
2396
  if ( isset( $options['thumb_resize_height'] ) && ! empty( $options['thumb_resize_height'] ) || isset( $options['thumb_resize_width_manual'] ) && ! empty( $options['thumb_resize_width_manual'] ) ) {
2397
 
2398
  $manual_resize = true;
2399
- $thumb_url = wp_get_attachment_image_src( get_post_thumbnail_id(), 'full' );
2400
  $thumb_url = $thumb_url[0];
2401
 
2402
  $thumb_alt = get_post_meta( get_post_thumbnail_id(), '_wp_attachment_image_alt', true );
@@ -2436,7 +2404,7 @@ class DSLC_Downloads extends DSLC_Module {
2436
  <?php endif; ?>
2437
  </div><!-- .dslc-download-thumb-inner -->
2438
 
2439
- <?php if ( ( $options['main_location'] == 'inside' || $options['main_location'] == 'inside_visible' ) && ( $post_elements == 'all' || in_array( 'title', $post_elements ) || in_array( 'tags', $post_elements ) || in_array( 'excerpt', $post_elements ) || in_array( 'button', $post_elements ) || in_array( 'count', $post_elements ) ) ) : ?>
2440
 
2441
  <div class="dslc-post-main dslc-download-main <?php if ( $options['main_location'] == 'inside_visible' ) echo 'dslc-download-main-visible'; ?>">
2442
 
@@ -2518,7 +2486,7 @@ class DSLC_Downloads extends DSLC_Module {
2518
  </div><!-- .dslc-download-main-inner -->
2519
 
2520
  <a href="<?php the_permalink(); ?>" class="dslc-post-main-inner-link-cover"></a>
2521
-
2522
  </div><!-- .dslc-download-main -->
2523
 
2524
  <?php endif; ?>
@@ -2529,7 +2497,7 @@ class DSLC_Downloads extends DSLC_Module {
2529
 
2530
  <?php endif; ?>
2531
 
2532
- <?php if ( $options['main_location'] == 'bellow' && ( $post_elements == 'all' || in_array( 'title', $post_elements ) || in_array( 'tags', $post_elements ) || in_array( 'excerpt', $post_elements ) || in_array( 'button', $post_elements ) || in_array( 'count', $post_elements ) ) ) : ?>
2533
 
2534
  <div class="dslc-post-main dslc-download-main">
2535
 
@@ -2642,15 +2610,15 @@ class DSLC_Downloads extends DSLC_Module {
2642
  /**
2643
  * Pagination
2644
  */
2645
-
2646
  if ( isset( $options['pagination_type'] ) && $options['pagination_type'] != 'disabled' ) {
2647
  $num_pages = $dslc_query->max_num_pages;
2648
  if ( $options['offset'] > 0 ) {
2649
- $num_pages = ceil ( ( $dslc_query->found_posts - $options['offset'] ) / $options['amount'] );
2650
  }
2651
- dslc_post_pagination( array( 'pages' => $num_pages, 'type' => $options['pagination_type'] ) );
2652
  }
2653
-
2654
  wp_reset_postdata();
2655
 
2656
  /* Module output ends here */
32
  }
33
 
34
  $dslc_options = array(
35
+
36
  array(
37
  'label' => __( 'Show On', 'live-composer-page-builder' ),
38
  'id' => 'css_show_on',
168
  'id' => 'columns',
169
  'std' => '3',
170
  'type' => 'select',
171
+ 'choices' => $this->shared_options( 'posts_per_row_choices' ),
172
  ),
173
  array(
174
  'label' => __( 'Order By', 'live-composer-page-builder' ),
233
  'type' => 'text',
234
  ),
235
 
236
+ // Archive Listinging
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
237
  array(
238
+ 'label' => __( 'Archive/Search Listing', 'live-composer-page-builder' ),
239
+ 'id' => 'query_alter',
240
  'std' => 'enabled',
241
  'type' => 'select',
242
  'choices' => array(
243
  array(
244
+ 'label' => __( 'Apply Page Query', 'live-composer-page-builder' ),
245
  'value' => 'enabled'
246
  ),
247
  array(
248
+ 'label' => __( 'Ignore Page Query', 'live-composer-page-builder' ),
249
  'value' => 'disabled'
250
  ),
251
  ),
252
+ 'help' => __( 'Apply Page Query – show posts according to the selected tag, category, author or search query.<br /> Ignore Page Query – ignore the page query and list posts as on any other page.', 'live-composer-page-builder' ),
253
  ),
254
+
255
  /**
256
  * General
257
  */
258
+
259
  array(
260
  'label' => __( 'Elements', 'live-composer-page-builder' ),
261
  'id' => 'elements',
441
  'section' => 'styling',
442
  'tab' => __( 'Row Separator', 'live-composer-page-builder' ),
443
  ),
444
+
445
  /**
446
  * Thumbnail
447
  */
467
  'affect_on_change_rule' => 'background-color',
468
  'section' => 'styling',
469
  'tab' => __( 'Thumbnail', 'live-composer-page-builder' ),
470
+ ),
471
  array(
472
  'label' => __( 'Border Color', 'live-composer-page-builder' ),
473
  'id' => 'css_thumb_border_color',
519
  'affect_on_change_rule' => 'border-style',
520
  'section' => 'styling',
521
  'tab' => __( 'Thumbnail', 'live-composer-page-builder' ),
522
+ ),
523
  array(
524
  'label' => __( 'Border Radius - Top', 'live-composer-page-builder' ),
525
  'id' => 'css_thumbnail_border_radius_top',
623
  /**
624
  * Main
625
  */
626
+
627
  array(
628
  'label' => __( 'Location', 'live-composer-page-builder' ),
629
  'id' => 'main_location',
1988
  ),
1989
 
1990
  );
1991
+
1992
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'carousel_options' ) );
1993
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'heading_options' ) );
1994
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'filters_options' ) );
1995
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'carousel_arrows_options' ) );
1996
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'carousel_circles_options' ) );
1997
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'pagination_options' ) );
1998
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options' ) );
1999
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
2000
 
2001
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
2004
 
2005
  function output( $options ) {
2006
 
2007
+ if ( is_feed() ) {
2008
+ // Prevent category/tag feeds to stuck in an infinite loop
2009
+ return false;
2010
+ }
2011
+
2012
  global $dslc_active;
2013
 
2014
  if ( $dslc_active && is_user_logged_in() && current_user_can( DS_LIVE_COMPOSER_CAPABILITY ) )
2027
 
2028
  if ( ! isset( $options['excerpt_length'] ) ) $options['excerpt_length'] = 20;
2029
 
2030
+ if ( is_front_page() ) { $paged = ( get_query_var( 'page' ) ) ? get_query_var( 'page' ) : 1; } else { $paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1; }
2031
 
2032
  // Fix for pagination from other modules affecting this one when pag disabled
2033
  if ( $options['pagination_type'] == 'disabled' ) $paged = 1;
2035
  // Fix for offset braking pagination
2036
  $query_offset = $options['offset'];
2037
  if ( $query_offset > 0 && $paged > 1 ) $query_offset = ( $paged - 1 ) * $options['amount'] + $options['offset'];
2038
+
2039
  $args = array(
2040
+ 'paged' => $paged,
2041
  'post_type' => 'dslc_downloads',
2042
  'posts_per_page' => $options['amount'],
2043
  'order' => $options['order'],
2049
  $args['offset'] = $query_offset;
2050
  }
2051
 
2052
+ if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
2053
+ $args['post_status'] = array('publish', 'private');
2054
  }
2055
 
2056
  if ( isset( $options['categories'] ) && $options['categories'] != '' ) {
2057
+
2058
+ $cats_array = explode( ' ', trim( $options['categories'] ) );
2059
 
2060
  $args['tax_query'] = array(
2061
  array(
2065
  'operator' => $options['categories_operator']
2066
  )
2067
  );
2068
+
2069
  }
2070
 
2071
  // Exlcude and Include arrays
2083
  // Include posts ( option )
2084
  if ( $options['query_post_in'] )
2085
  $include = array_merge( $include, explode( ' ', $options['query_post_in'] ) );
2086
+
2087
  // Include query parameter
2088
  if ( ! empty( $include ) )
2089
  $args['post__in'] = $include;
2091
  // Exclude query parameter
2092
  if ( ! empty( $exclude ) )
2093
  $args['post__not_in'] = $exclude;
2094
+
2095
  // Author archive page
2096
+ if ( is_author() && $options['query_alter'] == 'enabled' ) {
2097
  global $authordata;
2098
+ $args['author__in'] = array($authordata->data->ID);
2099
  }
2100
+
2101
  // Do the query
2102
+ if ( ( is_category() || is_tag() || is_tax() || is_search() || is_date() ) && $options['query_alter'] == 'enabled' ) {
 
 
 
2103
  global $wp_query;
2104
  $dslc_query = $wp_query;
2105
  } else {
2115
  /**
2116
  * Elements to show
2117
  */
2118
+
2119
  // Main Elements
2120
  $elements = $options['elements'];
2121
  if ( ! empty( $elements ) )
2122
  $elements = explode( ' ', trim( $elements ) );
2123
  else
2124
  $elements = array();
2125
+
2126
 
2127
  // Post Elements
2128
  $post_elements = $options['post_elements'];
2169
  $show_view_all_link = false;
2170
 
2171
  if ( in_array( 'main_heading', $elements ) )
2172
+ $show_heading = true;
2173
 
2174
  if ( ( $elements == 'all' || in_array( 'filters', $elements ) ) && $options['type'] !== 'carousel' )
2175
  $show_filters = true;
2183
  /**
2184
  * Carousel Items
2185
  */
2186
+
2187
  switch ( $options['columns'] ) {
2188
  case 12 :
2189
  $carousel_items = 1;
2212
  if ( $show_header ) :
2213
  ?>
2214
  <div class="dslc-module-heading">
2215
+
2216
  <!-- Heading -->
2217
 
2218
  <?php if ( $show_heading ) : ?>
2241
 
2242
  while ( $dslc_query->have_posts() ) {
2243
 
2244
+ $dslc_query->the_post();
2245
 
2246
  $post_cats = get_the_terms( get_the_ID(), 'dslc_downloads_cats' );
2247
  if ( ! empty( $post_cats ) ) {
2248
+ foreach ( $post_cats as $post_cat ) {
2249
  $cats_array[$post_cat->slug] = $post_cat->name;
2250
  }
2251
  }
2329
  $download_link = get_post_meta( get_the_ID(), 'dslc_download_url', true );
2330
  else
2331
  $download_link = false;
2332
+
2333
  $download_count = get_post_meta( get_the_ID(), 'dslc_download_count', true );
2334
  if ( ! $download_count ) $download_count = 0;
2335
 
2336
  $post_cats = get_the_terms( get_the_ID(), 'dslc_downloads_cats' );
2337
  $post_cats_data = '';
2338
  if ( ! empty( $post_cats ) ) {
2339
+ foreach ( $post_cats as $post_cat ) {
2340
  $post_cats_data .= $post_cat->slug . ' ';
2341
  }
2342
  }
2346
  */
2347
 
2348
  $link_to_single = true;
2349
+ if ( $options['link'] == 'disabled' )
2350
  $link_to_single = false;
2351
 
2352
  ?>
2364
  if ( isset( $options['thumb_resize_height'] ) && ! empty( $options['thumb_resize_height'] ) || isset( $options['thumb_resize_width_manual'] ) && ! empty( $options['thumb_resize_width_manual'] ) ) {
2365
 
2366
  $manual_resize = true;
2367
+ $thumb_url = wp_get_attachment_image_src( get_post_thumbnail_id(), 'full' );
2368
  $thumb_url = $thumb_url[0];
2369
 
2370
  $thumb_alt = get_post_meta( get_post_thumbnail_id(), '_wp_attachment_image_alt', true );
2404
  <?php endif; ?>
2405
  </div><!-- .dslc-download-thumb-inner -->
2406
 
2407
+ <?php if ( ( $options['main_location'] == 'inside' || $options['main_location'] == 'inside_visible' ) && ( $post_elements == 'all' || in_array( 'title', $post_elements ) || in_array( 'tags', $post_elements ) || in_array( 'excerpt', $post_elements ) || in_array( 'button', $post_elements ) || in_array( 'count', $post_elements ) ) ) : ?>
2408
 
2409
  <div class="dslc-post-main dslc-download-main <?php if ( $options['main_location'] == 'inside_visible' ) echo 'dslc-download-main-visible'; ?>">
2410
 
2486
  </div><!-- .dslc-download-main-inner -->
2487
 
2488
  <a href="<?php the_permalink(); ?>" class="dslc-post-main-inner-link-cover"></a>
2489
+
2490
  </div><!-- .dslc-download-main -->
2491
 
2492
  <?php endif; ?>
2497
 
2498
  <?php endif; ?>
2499
 
2500
+ <?php if ( $options['main_location'] == 'bellow' && ( $post_elements == 'all' || in_array( 'title', $post_elements ) || in_array( 'tags', $post_elements ) || in_array( 'excerpt', $post_elements ) || in_array( 'button', $post_elements ) || in_array( 'count', $post_elements ) ) ) : ?>
2501
 
2502
  <div class="dslc-post-main dslc-download-main">
2503
 
2610
  /**
2611
  * Pagination
2612
  */
2613
+
2614
  if ( isset( $options['pagination_type'] ) && $options['pagination_type'] != 'disabled' ) {
2615
  $num_pages = $dslc_query->max_num_pages;
2616
  if ( $options['offset'] > 0 ) {
2617
+ $num_pages = ceil( ( $dslc_query->found_posts - $options['offset'] ) / $options['amount'] );
2618
  }
2619
+ dslc_post_pagination( array('pages' => $num_pages, 'type' => $options['pagination_type']) );
2620
  }
2621
+
2622
  wp_reset_postdata();
2623
 
2624
  /* Module output ends here */
modules/galleries/module.php CHANGED
@@ -32,7 +32,7 @@ class DSLC_Galleries extends DSLC_Module {
32
  }
33
 
34
  $dslc_options = array(
35
-
36
  array(
37
  'label' => __( 'Show On', 'live-composer-page-builder' ),
38
  'id' => 'css_show_on',
@@ -124,7 +124,7 @@ class DSLC_Galleries extends DSLC_Module {
124
  'id' => 'columns',
125
  'std' => '3',
126
  'type' => 'select',
127
- 'choices' => $this->shared_options('posts_per_row_choices'),
128
  ),
129
  array(
130
  'label' => __( 'Categories', 'live-composer-page-builder' ),
@@ -251,58 +251,24 @@ class DSLC_Galleries extends DSLC_Module {
251
  ),
252
  'tab' => __( 'other', 'live-composer-page-builder' ),
253
  ),
254
-
255
- // Query Altering
256
- array(
257
- 'label' => __( 'On Author Archive', 'live-composer-page-builder' ),
258
- 'id' => 'query_alter_author',
259
- 'std' => 'enabled',
260
- 'type' => 'select',
261
- 'choices' => array(
262
- array(
263
- 'label' => __( 'Show Posts Of That Author', 'live-composer-page-builder' ),
264
- 'value' => 'enabled'
265
- ),
266
- array(
267
- 'label' => __( 'Do NOT Alter Query', 'live-composer-page-builder' ),
268
- 'value' => 'disabled'
269
- ),
270
- ),
271
- 'tab' => __( 'Query Alter', 'live-composer-page-builder' ),
272
- ),
273
- array(
274
- 'label' => __( 'On Category/Tag Archive', 'live-composer-page-builder' ),
275
- 'id' => 'query_alter_cat',
276
- 'std' => 'enabled',
277
- 'type' => 'select',
278
- 'choices' => array(
279
- array(
280
- 'label' => __( 'Show Posts Of That Category/Tag', 'live-composer-page-builder' ),
281
- 'value' => 'enabled'
282
- ),
283
- array(
284
- 'label' => __( 'Do NOT Alter Query', 'live-composer-page-builder' ),
285
- 'value' => 'disabled'
286
- ),
287
- ),
288
- 'tab' => __( 'Query Alter', 'live-composer-page-builder' ),
289
- ),
290
  array(
291
- 'label' => __( 'On Search Results Page', 'live-composer-page-builder' ),
292
- 'id' => 'query_alter_search',
293
  'std' => 'enabled',
294
  'type' => 'select',
295
  'choices' => array(
296
  array(
297
- 'label' => __( 'Show Posts Matching Search Term', 'live-composer-page-builder' ),
298
  'value' => 'enabled'
299
  ),
300
  array(
301
- 'label' => __( 'Do NOT Alter Query', 'live-composer-page-builder' ),
302
  'value' => 'disabled'
303
  ),
304
  ),
305
- 'tab' => __( 'Query Alter', 'live-composer-page-builder' ),
306
  ),
307
 
308
  /**
@@ -495,7 +461,7 @@ class DSLC_Galleries extends DSLC_Module {
495
  'tab' => __( 'Row Separator', 'live-composer-page-builder' ),
496
  ),
497
 
498
- /**
499
  * Thumbnail
500
  */
501
 
@@ -520,7 +486,7 @@ class DSLC_Galleries extends DSLC_Module {
520
  'affect_on_change_rule' => 'background-color',
521
  'section' => 'styling',
522
  'tab' => __( 'Thumbnail', 'live-composer-page-builder' ),
523
- ),
524
  array(
525
  'label' => __( 'Border Color', 'live-composer-page-builder' ),
526
  'id' => 'css_thumb_border_color',
@@ -572,7 +538,7 @@ class DSLC_Galleries extends DSLC_Module {
572
  'affect_on_change_rule' => 'border-style',
573
  'section' => 'styling',
574
  'tab' => __( 'Thumbnail', 'live-composer-page-builder' ),
575
- ),
576
  array(
577
  'label' => __( 'Border Radius - Top', 'live-composer-page-builder' ),
578
  'id' => 'css_thumbnail_border_radius_top',
@@ -939,7 +905,7 @@ class DSLC_Galleries extends DSLC_Module {
939
  'tab' => __( 'Count', 'live-composer-page-builder' ),
940
  ),
941
 
942
- /**
943
  * Main
944
  */
945
 
@@ -2140,14 +2106,14 @@ class DSLC_Galleries extends DSLC_Module {
2140
  ),
2141
 
2142
  );
2143
-
2144
- $dslc_options = array_merge( $dslc_options, $this->shared_options('carousel_options') );
2145
- $dslc_options = array_merge( $dslc_options, $this->shared_options('heading_options') );
2146
- $dslc_options = array_merge( $dslc_options, $this->shared_options('filters_options') );
2147
- $dslc_options = array_merge( $dslc_options, $this->shared_options('carousel_arrows_options') );
2148
- $dslc_options = array_merge( $dslc_options, $this->shared_options('carousel_circles_options') );
2149
- $dslc_options = array_merge( $dslc_options, $this->shared_options('pagination_options') );
2150
- $dslc_options = array_merge( $dslc_options, $this->shared_options('animation_options') );
2151
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
2152
 
2153
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
@@ -2156,6 +2122,11 @@ class DSLC_Galleries extends DSLC_Module {
2156
 
2157
  function output( $options ) {
2158
 
 
 
 
 
 
2159
  global $dslc_active;
2160
 
2161
  if ( $dslc_active && is_user_logged_in() && current_user_can( DS_LIVE_COMPOSER_CAPABILITY ) )
@@ -2167,7 +2138,7 @@ class DSLC_Galleries extends DSLC_Module {
2167
  if ( isset( $options['button_text'] ) ) {
2168
  $options['button_text'] = stripslashes( $options['button_text'] );
2169
  }
2170
-
2171
  $this->module_start( $options );
2172
 
2173
  if ( ! isset( $options['count_pos'] ) )
@@ -2177,7 +2148,7 @@ class DSLC_Galleries extends DSLC_Module {
2177
 
2178
  if ( ! isset( $options['excerpt_length'] ) ) $options['excerpt_length'] = 20;
2179
 
2180
- if( is_front_page() ) { $paged = ( get_query_var( 'page' ) ) ? get_query_var( 'page' ) : 1; } else { $paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1; }
2181
 
2182
  // Fix for pagination from other modules affecting this one when pag disabled
2183
  if ( $options['pagination_type'] == 'disabled' ) $paged = 1;
@@ -2187,7 +2158,7 @@ class DSLC_Galleries extends DSLC_Module {
2187
  if ( $query_offset > 0 && $paged > 1 ) $query_offset = ( $paged - 1 ) * $options['amount'] + $options['offset'];
2188
 
2189
  $args = array(
2190
- 'paged' => $paged,
2191
  'post_type' => 'dslc_galleries',
2192
  'posts_per_page' => $options['amount'],
2193
  'order' => $options['order'],
@@ -2199,13 +2170,13 @@ class DSLC_Galleries extends DSLC_Module {
2199
  $args['offset'] = $query_offset;
2200
  }
2201
 
2202
- if ( defined('DOING_AJAX') && DOING_AJAX ) {
2203
- $args['post_status'] = array( 'publish', 'private' );
2204
  }
2205
 
2206
  if ( isset( $options['categories'] ) && $options['categories'] != '' ) {
2207
-
2208
- $cats_array = explode( ' ', trim( $options['categories'] ));
2209
 
2210
  $args['tax_query'] = array(
2211
  array(
@@ -2215,7 +2186,7 @@ class DSLC_Galleries extends DSLC_Module {
2215
  'operator' => $options['categories_operator']
2216
  )
2217
  );
2218
-
2219
  }
2220
 
2221
  // Exlcude and Include arrays
@@ -2233,7 +2204,7 @@ class DSLC_Galleries extends DSLC_Module {
2233
  // Include posts ( option )
2234
  if ( $options['query_post_in'] )
2235
  $include = array_merge( $include, explode( ' ', $options['query_post_in'] ) );
2236
-
2237
  // Include query parameter
2238
  if ( ! empty( $include ) )
2239
  $args['post__in'] = $include;
@@ -2241,22 +2212,19 @@ class DSLC_Galleries extends DSLC_Module {
2241
  // Exclude query parameter
2242
  if ( ! empty( $exclude ) )
2243
  $args['post__not_in'] = $exclude;
2244
-
2245
  // Author archive page
2246
- if ( is_author() && $options['query_alter_author'] == 'enabled' ) {
2247
  global $authordata;
2248
- $args['author__in'] = array( $authordata->data->ID );
2249
  }
2250
-
2251
  // No paging
2252
  if ( $options['pagination_type'] == 'disabled' )
2253
  $args['no_found_rows'] = true;
2254
-
2255
  // Do the query
2256
- if ( ( is_category() || is_tag() || is_tax() ) && $options['query_alter_cat'] == 'enabled' ) {
2257
- global $wp_query;
2258
- $dslc_query = $wp_query;
2259
- } elseif ( is_search() && $options['query_alter_search'] == 'enabled' ) {
2260
  global $wp_query;
2261
  $dslc_query = $wp_query;
2262
  } else {
@@ -2273,14 +2241,14 @@ class DSLC_Galleries extends DSLC_Module {
2273
  /**
2274
  * Elements to show
2275
  */
2276
-
2277
  // Main Elements
2278
  $elements = $options['elements'];
2279
  if ( ! empty( $elements ) )
2280
  $elements = explode( ' ', trim( $elements ) );
2281
  else
2282
  $elements = array();
2283
-
2284
 
2285
  // Post Elements
2286
  $post_elements = $options['post_elements'];
@@ -2327,7 +2295,7 @@ class DSLC_Galleries extends DSLC_Module {
2327
  $show_view_all_link = false;
2328
 
2329
  if ( in_array( 'main_heading', $elements ) )
2330
- $show_heading = true;
2331
 
2332
  if ( ( $elements == 'all' || in_array( 'filters', $elements ) ) && $options['type'] !== 'carousel' )
2333
  $show_filters = true;
@@ -2341,7 +2309,7 @@ class DSLC_Galleries extends DSLC_Module {
2341
  /**
2342
  * Carousel Items
2343
  */
2344
-
2345
  switch ( $options['columns'] ) {
2346
  case 12 :
2347
  $carousel_items = 1;
@@ -2370,7 +2338,7 @@ class DSLC_Galleries extends DSLC_Module {
2370
  if ( $show_header ) :
2371
  ?>
2372
  <div class="dslc-module-heading">
2373
-
2374
  <!-- Heading -->
2375
 
2376
  <?php if ( $show_heading ) : ?>
@@ -2399,11 +2367,11 @@ class DSLC_Galleries extends DSLC_Module {
2399
 
2400
  while ( $dslc_query->have_posts() ) {
2401
 
2402
- $dslc_query->the_post();
2403
 
2404
  $post_cats = get_the_terms( get_the_ID(), 'dslc_galleries_cats' );
2405
  if ( ! empty( $post_cats ) ) {
2406
- foreach( $post_cats as $post_cat ) {
2407
  $cats_array[$post_cat->slug] = $post_cat->name;
2408
  }
2409
  }
@@ -2452,7 +2420,7 @@ class DSLC_Galleries extends DSLC_Module {
2452
 
2453
  if ( $dslc_query->have_posts() ) :
2454
 
2455
- ?><div class="<?php echo $container_class; ?>"><?php
2456
 
2457
  ?><div class="dslc-posts-inner"><?php
2458
 
@@ -2478,7 +2446,7 @@ class DSLC_Galleries extends DSLC_Module {
2478
 
2479
  $gallery_images = get_post_meta( get_the_ID(), 'dslc_gallery_images', true );
2480
  $gallery_images_count = 0;
2481
-
2482
  if ( $gallery_images )
2483
  $gallery_images = explode( ' ', trim( $gallery_images ) );
2484
 
@@ -2489,7 +2457,7 @@ class DSLC_Galleries extends DSLC_Module {
2489
  $post_cats = get_the_terms( get_the_ID(), 'dslc_galleries_cats' );
2490
  $post_cats_data = '';
2491
  if ( ! empty( $post_cats ) ) {
2492
- foreach( $post_cats as $post_cat ) {
2493
  $post_cats_data .= $post_cat->slug . ' ';
2494
  }
2495
  }
@@ -2531,7 +2499,7 @@ class DSLC_Galleries extends DSLC_Module {
2531
  if ( isset( $options['thumb_resize_height'] ) && ! empty( $options['thumb_resize_height'] ) || isset( $options['thumb_resize_width_manual'] ) && ! empty( $options['thumb_resize_width_manual'] ) ) {
2532
 
2533
  $manual_resize = true;
2534
- $thumb_url = wp_get_attachment_image_src( get_post_thumbnail_id(), 'full' );
2535
  $thumb_url = $thumb_url[0];
2536
 
2537
  $thumb_alt = get_post_meta( get_post_thumbnail_id(), '_wp_attachment_image_alt', true );
@@ -2550,7 +2518,7 @@ class DSLC_Galleries extends DSLC_Module {
2550
 
2551
  }
2552
  ?>
2553
-
2554
  <?php if ( $manual_resize ) : ?>
2555
  <a href="<?php echo $the_permalink; ?>" class="<?php echo $thumb_anchor_class; ?>"><img src="<?php $res_img = dslc_aq_resize( $thumb_url, $resize_width, $resize_height, true ); echo $res_img; ?>" alt="<?php echo $thumb_alt; ?>" /></a>
2556
  <?php else : ?>
@@ -2585,7 +2553,7 @@ class DSLC_Galleries extends DSLC_Module {
2585
 
2586
  <?php if ( $post_elements == 'all' || in_array( 'separator', $post_elements ) ) : ?>
2587
  <span class="dslc-gallery-sep"></span>
2588
- <?php endif; ?>
2589
 
2590
  <?php if ( $post_elements == 'all' || in_array( 'excerpt', $post_elements ) ) : ?>
2591
 
@@ -2627,7 +2595,7 @@ class DSLC_Galleries extends DSLC_Module {
2627
  </div><!-- .dslc-gallery-main-inner -->
2628
 
2629
  <a href="<?php the_permalink(); ?>" class="dslc-post-main-inner-link-cover"></a>
2630
-
2631
  </div><!-- .dslc-gallery-main -->
2632
 
2633
  <?php endif; ?>
@@ -2652,7 +2620,7 @@ class DSLC_Galleries extends DSLC_Module {
2652
 
2653
  <?php if ( $post_elements == 'all' || in_array( 'separator', $post_elements ) ) : ?>
2654
  <span class="dslc-gallery-sep"></span>
2655
- <?php endif; ?>
2656
 
2657
  <?php if ( $post_elements == 'all' || in_array( 'excerpt', $post_elements ) ) : ?>
2658
 
@@ -2698,7 +2666,7 @@ class DSLC_Galleries extends DSLC_Module {
2698
  <?php if ( $gallery_images_count > 0 ) : ?>
2699
 
2700
  <div class="dslc-lightbox-gallery">
2701
-
2702
  <?php foreach ( $gallery_images as $gallery_image ) : ?>
2703
 
2704
  <?php
@@ -2736,7 +2704,7 @@ class DSLC_Galleries extends DSLC_Module {
2736
 
2737
  ?></div><!-- .dslc-posts-inner --><?php
2738
 
2739
- ?></div><?php
2740
 
2741
  else :
2742
 
@@ -2749,13 +2717,13 @@ class DSLC_Galleries extends DSLC_Module {
2749
  /**
2750
  * Pagination
2751
  */
2752
-
2753
  if ( isset( $options['pagination_type'] ) && $options['pagination_type'] != 'disabled' ) {
2754
  $num_pages = $dslc_query->max_num_pages;
2755
  if ( $options['offset'] > 0 ) {
2756
- $num_pages = ceil ( ( $dslc_query->found_posts - $options['offset'] ) / $options['amount'] );
2757
  }
2758
- dslc_post_pagination( array( 'pages' => $num_pages, 'type' => $options['pagination_type'] ) );
2759
  }
2760
 
2761
  wp_reset_postdata();
32
  }
33
 
34
  $dslc_options = array(
35
+
36
  array(
37
  'label' => __( 'Show On', 'live-composer-page-builder' ),
38
  'id' => 'css_show_on',
124
  'id' => 'columns',
125
  'std' => '3',
126
  'type' => 'select',
127
+ 'choices' => $this->shared_options( 'posts_per_row_choices' ),
128
  ),
129
  array(
130
  'label' => __( 'Categories', 'live-composer-page-builder' ),
251
  ),
252
  'tab' => __( 'other', 'live-composer-page-builder' ),
253
  ),
254
+
255
+ // Archive Listinging
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
256
  array(
257
+ 'label' => __( 'Archive/Search Listing', 'live-composer-page-builder' ),
258
+ 'id' => 'query_alter',
259
  'std' => 'enabled',
260
  'type' => 'select',
261
  'choices' => array(
262
  array(
263
+ 'label' => __( 'Apply Page Query', 'live-composer-page-builder' ),
264
  'value' => 'enabled'
265
  ),
266
  array(
267
+ 'label' => __( 'Ignore Page Query', 'live-composer-page-builder' ),
268
  'value' => 'disabled'
269
  ),
270
  ),
271
+ 'help' => __( 'Apply Page Query – show posts according to the selected tag, category, author or search query.<br /> Ignore Page Query – ignore the page query and list posts as on any other page.', 'live-composer-page-builder' ),
272
  ),
273
 
274
  /**
461
  'tab' => __( 'Row Separator', 'live-composer-page-builder' ),
462
  ),
463
 
464
+ /**
465
  * Thumbnail
466
  */
467
 
486
  'affect_on_change_rule' => 'background-color',
487
  'section' => 'styling',
488
  'tab' => __( 'Thumbnail', 'live-composer-page-builder' ),
489
+ ),
490
  array(
491
  'label' => __( 'Border Color', 'live-composer-page-builder' ),
492
  'id' => 'css_thumb_border_color',
538
  'affect_on_change_rule' => 'border-style',
539
  'section' => 'styling',
540
  'tab' => __( 'Thumbnail', 'live-composer-page-builder' ),
541
+ ),
542
  array(
543
  'label' => __( 'Border Radius - Top', 'live-composer-page-builder' ),
544
  'id' => 'css_thumbnail_border_radius_top',
905
  'tab' => __( 'Count', 'live-composer-page-builder' ),
906
  ),
907
 
908
+ /**
909
  * Main
910
  */
911
 
2106
  ),
2107
 
2108
  );
2109
+
2110
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'carousel_options' ) );
2111
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'heading_options' ) );
2112
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'filters_options' ) );
2113
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'carousel_arrows_options' ) );
2114
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'carousel_circles_options' ) );
2115
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'pagination_options' ) );
2116
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options' ) );
2117
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
2118
 
2119
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
2122
 
2123
  function output( $options ) {
2124
 
2125
+ if ( is_feed() ) {
2126
+ // Prevent category/tag feeds to stuck in an infinite loop
2127
+ return false;
2128
+ }
2129
+
2130
  global $dslc_active;
2131
 
2132
  if ( $dslc_active && is_user_logged_in() && current_user_can( DS_LIVE_COMPOSER_CAPABILITY ) )
2138
  if ( isset( $options['button_text'] ) ) {
2139
  $options['button_text'] = stripslashes( $options['button_text'] );
2140
  }
2141
+
2142
  $this->module_start( $options );
2143
 
2144
  if ( ! isset( $options['count_pos'] ) )
2148
 
2149
  if ( ! isset( $options['excerpt_length'] ) ) $options['excerpt_length'] = 20;
2150
 
2151
+ if ( is_front_page() ) { $paged = ( get_query_var( 'page' ) ) ? get_query_var( 'page' ) : 1; } else { $paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1; }
2152
 
2153
  // Fix for pagination from other modules affecting this one when pag disabled
2154
  if ( $options['pagination_type'] == 'disabled' ) $paged = 1;
2158
  if ( $query_offset > 0 && $paged > 1 ) $query_offset = ( $paged - 1 ) * $options['amount'] + $options['offset'];
2159
 
2160
  $args = array(
2161
+ 'paged' => $paged,
2162
  'post_type' => 'dslc_galleries',
2163
  'posts_per_page' => $options['amount'],
2164
  'order' => $options['order'],
2170
  $args['offset'] = $query_offset;
2171
  }
2172
 
2173
+ if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
2174
+ $args['post_status'] = array('publish', 'private');
2175
  }
2176
 
2177
  if ( isset( $options['categories'] ) && $options['categories'] != '' ) {
2178
+
2179
+ $cats_array = explode( ' ', trim( $options['categories'] ) );
2180
 
2181
  $args['tax_query'] = array(
2182
  array(
2186
  'operator' => $options['categories_operator']
2187
  )
2188
  );
2189
+
2190
  }
2191
 
2192
  // Exlcude and Include arrays
2204
  // Include posts ( option )
2205
  if ( $options['query_post_in'] )
2206
  $include = array_merge( $include, explode( ' ', $options['query_post_in'] ) );
2207
+
2208
  // Include query parameter
2209
  if ( ! empty( $include ) )
2210
  $args['post__in'] = $include;
2212
  // Exclude query parameter
2213
  if ( ! empty( $exclude ) )
2214
  $args['post__not_in'] = $exclude;
2215
+
2216
  // Author archive page
2217
+ if ( is_author() && $options['query_alter'] == 'enabled' ) {
2218
  global $authordata;
2219
+ $args['author__in'] = array($authordata->data->ID);
2220
  }
2221
+
2222
  // No paging
2223
  if ( $options['pagination_type'] == 'disabled' )
2224
  $args['no_found_rows'] = true;
2225
+
2226
  // Do the query
2227
+ if ( ( is_category() || is_tag() || is_tax() || is_search() || is_date() ) && $options['query_alter'] == 'enabled' ) {
 
 
 
2228
  global $wp_query;
2229
  $dslc_query = $wp_query;
2230
  } else {
2241
  /**
2242
  * Elements to show
2243
  */
2244
+
2245
  // Main Elements
2246
  $elements = $options['elements'];
2247
  if ( ! empty( $elements ) )
2248
  $elements = explode( ' ', trim( $elements ) );
2249
  else
2250
  $elements = array();
2251
+
2252
 
2253
  // Post Elements
2254
  $post_elements = $options['post_elements'];
2295
  $show_view_all_link = false;
2296
 
2297
  if ( in_array( 'main_heading', $elements ) )
2298
+ $show_heading = true;
2299
 
2300
  if ( ( $elements == 'all' || in_array( 'filters', $elements ) ) && $options['type'] !== 'carousel' )
2301
  $show_filters = true;
2309
  /**
2310
  * Carousel Items
2311
  */
2312
+
2313
  switch ( $options['columns'] ) {
2314
  case 12 :
2315
  $carousel_items = 1;
2338
  if ( $show_header ) :
2339
  ?>
2340
  <div class="dslc-module-heading">
2341
+
2342
  <!-- Heading -->
2343
 
2344
  <?php if ( $show_heading ) : ?>
2367
 
2368
  while ( $dslc_query->have_posts() ) {
2369
 
2370
+ $dslc_query->the_post();
2371
 
2372
  $post_cats = get_the_terms( get_the_ID(), 'dslc_galleries_cats' );
2373
  if ( ! empty( $post_cats ) ) {
2374
+ foreach ( $post_cats as $post_cat ) {
2375
  $cats_array[$post_cat->slug] = $post_cat->name;
2376
  }
2377
  }
2420
 
2421
  if ( $dslc_query->have_posts() ) :
2422
 
2423
+ ?><div class="<?php echo $container_class; ?>"><?php
2424
 
2425
  ?><div class="dslc-posts-inner"><?php
2426
 
2446
 
2447
  $gallery_images = get_post_meta( get_the_ID(), 'dslc_gallery_images', true );
2448
  $gallery_images_count = 0;
2449
+
2450
  if ( $gallery_images )
2451
  $gallery_images = explode( ' ', trim( $gallery_images ) );
2452
 
2457
  $post_cats = get_the_terms( get_the_ID(), 'dslc_galleries_cats' );
2458
  $post_cats_data = '';
2459
  if ( ! empty( $post_cats ) ) {
2460
+ foreach ( $post_cats as $post_cat ) {
2461
  $post_cats_data .= $post_cat->slug . ' ';
2462
  }
2463
  }
2499
  if ( isset( $options['thumb_resize_height'] ) && ! empty( $options['thumb_resize_height'] ) || isset( $options['thumb_resize_width_manual'] ) && ! empty( $options['thumb_resize_width_manual'] ) ) {
2500
 
2501
  $manual_resize = true;
2502
+ $thumb_url = wp_get_attachment_image_src( get_post_thumbnail_id(), 'full' );
2503
  $thumb_url = $thumb_url[0];
2504
 
2505
  $thumb_alt = get_post_meta( get_post_thumbnail_id(), '_wp_attachment_image_alt', true );
2518
 
2519
  }
2520
  ?>
2521
+
2522
  <?php if ( $manual_resize ) : ?>
2523
  <a href="<?php echo $the_permalink; ?>" class="<?php echo $thumb_anchor_class; ?>"><img src="<?php $res_img = dslc_aq_resize( $thumb_url, $resize_width, $resize_height, true ); echo $res_img; ?>" alt="<?php echo $thumb_alt; ?>" /></a>
2524
  <?php else : ?>
2553
 
2554
  <?php if ( $post_elements == 'all' || in_array( 'separator', $post_elements ) ) : ?>
2555
  <span class="dslc-gallery-sep"></span>
2556
+ <?php endif; ?>
2557
 
2558
  <?php if ( $post_elements == 'all' || in_array( 'excerpt', $post_elements ) ) : ?>
2559
 
2595
  </div><!-- .dslc-gallery-main-inner -->
2596
 
2597
  <a href="<?php the_permalink(); ?>" class="dslc-post-main-inner-link-cover"></a>
2598
+
2599
  </div><!-- .dslc-gallery-main -->
2600
 
2601
  <?php endif; ?>
2620
 
2621
  <?php if ( $post_elements == 'all' || in_array( 'separator', $post_elements ) ) : ?>
2622
  <span class="dslc-gallery-sep"></span>
2623
+ <?php endif; ?>
2624
 
2625
  <?php if ( $post_elements == 'all' || in_array( 'excerpt', $post_elements ) ) : ?>
2626
 
2666
  <?php if ( $gallery_images_count > 0 ) : ?>
2667
 
2668
  <div class="dslc-lightbox-gallery">
2669
+
2670
  <?php foreach ( $gallery_images as $gallery_image ) : ?>
2671
 
2672
  <?php
2704
 
2705
  ?></div><!-- .dslc-posts-inner --><?php
2706
 
2707
+ ?></div><?php
2708
 
2709
  else :
2710
 
2717
  /**
2718
  * Pagination
2719
  */
2720
+
2721
  if ( isset( $options['pagination_type'] ) && $options['pagination_type'] != 'disabled' ) {
2722
  $num_pages = $dslc_query->max_num_pages;
2723
  if ( $options['offset'] > 0 ) {
2724
+ $num_pages = ceil( ( $dslc_query->found_posts - $options['offset'] ) / $options['amount'] );
2725
  }
2726
+ dslc_post_pagination( array('pages' => $num_pages, 'type' => $options['pagination_type']) );
2727
  }
2728
 
2729
  wp_reset_postdata();
modules/html/module.php CHANGED
@@ -2827,7 +2827,7 @@ class DSLC_Html extends DSLC_Module {
2827
 
2828
  );
2829
 
2830
- $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options', array( 'hover_opts' => false ) ) );
2831
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
2832
 
2833
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
@@ -2836,13 +2836,18 @@ class DSLC_Html extends DSLC_Module {
2836
 
2837
  function output( $options ) {
2838
 
2839
- global $dslc_active;
 
 
 
 
 
2840
 
2841
  $this->module_start( $options );
2842
 
2843
  /* Module output starts here */
2844
 
2845
- ?><div class="dslc-html-module-content"><?php
2846
 
2847
  $output_content = stripslashes( $options['content'] );
2848
  $output_content = do_shortcode( $output_content );
2827
 
2828
  );
2829
 
2830
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options', array('hover_opts' => false) ) );
2831
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
2832
 
2833
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
2836
 
2837
  function output( $options ) {
2838
 
2839
+ global $dslc_active;
2840
+
2841
+ if ( $dslc_active && is_user_logged_in() && current_user_can( DS_LIVE_COMPOSER_CAPABILITY ) )
2842
+ $dslc_is_admin = true;
2843
+ else
2844
+ $dslc_is_admin = false;
2845
 
2846
  $this->module_start( $options );
2847
 
2848
  /* Module output starts here */
2849
 
2850
+ ?><div class="dslc-html-module-content"<?php if ( $dslc_is_admin ) echo ' data-exportable-content'; ?>><?php
2851
 
2852
  $output_content = stripslashes( $options['content'] );
2853
  $output_content = do_shortcode( $output_content );
modules/image/module.php CHANGED
@@ -576,7 +576,7 @@ class DSLC_Image extends DSLC_Module {
576
 
577
  );
578
 
579
- $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options', array( 'hover_opts' => false ) ) );
580
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
581
 
582
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
@@ -614,7 +614,7 @@ class DSLC_Image extends DSLC_Module {
614
 
615
  ?>
616
 
617
- <div class="dslc-image">
618
 
619
  <?php if ( empty( $options['image'] ) && empty( $options['image_url'] ) ) : ?>
620
 
576
 
577
  );
578
 
579
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options', array('hover_opts' => false) ) );
580
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
581
 
582
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
614
 
615
  ?>
616
 
617
+ <div class="dslc-image"<?php if ( $dslc_is_admin ) echo ' data-exportable-content'; ?>>
618
 
619
  <?php if ( empty( $options['image'] ) && empty( $options['image_url'] ) ) : ?>
620
 
modules/infobox/module.php CHANGED
@@ -128,11 +128,23 @@ class DSLC_Info_Box extends DSLC_Module {
128
  ),
129
  )
130
  ),
131
-
 
 
 
 
 
 
 
 
 
 
 
 
132
  /**
133
  * General
134
  */
135
-
136
  array(
137
  'label' => __( 'Elements', 'live-composer-page-builder' ),
138
  'id' => 'elements',
@@ -428,7 +440,7 @@ class DSLC_Info_Box extends DSLC_Module {
428
  'affect_on_change_rule' => 'box-shadow',
429
  'section' => 'styling',
430
  ),
431
-
432
 
433
  /**
434
  * Wrapper
@@ -857,7 +869,7 @@ class DSLC_Info_Box extends DSLC_Module {
857
  /**
858
  * Image
859
  */
860
-
861
  array(
862
  'label' => __( 'Image - File', 'live-composer-page-builder' ),
863
  'id' => 'image_alt',
@@ -983,7 +995,7 @@ class DSLC_Info_Box extends DSLC_Module {
983
  'section' => 'styling',
984
  'tab' => __( 'Image', 'live-composer-page-builder' ),
985
  ),
986
-
987
  /**
988
  * Title
989
  */
@@ -1086,7 +1098,7 @@ class DSLC_Info_Box extends DSLC_Module {
1086
  'tab' => __( 'Title', 'live-composer-page-builder' ),
1087
  'ext' => 'px'
1088
  ),
1089
-
1090
 
1091
  /**
1092
  * Content
@@ -2452,7 +2464,7 @@ class DSLC_Info_Box extends DSLC_Module {
2452
 
2453
  );
2454
 
2455
- $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options', array( 'hover_opts' => false ) ) );
2456
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
2457
 
2458
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
@@ -2478,7 +2490,7 @@ class DSLC_Info_Box extends DSLC_Module {
2478
  $elements = explode( ' ', trim( $elements ) );
2479
  else
2480
  $elements = array();
2481
-
2482
  $image_alt = $options['image_alt'];
2483
  $image_alt_link_url = $options['image_alt_link_url'];
2484
 
@@ -2486,12 +2498,12 @@ class DSLC_Info_Box extends DSLC_Module {
2486
 
2487
  <div class="dslc-info-box dslc-info-box-icon-pos-<?php echo $options['icon_position']; ?>">
2488
 
2489
- <div class="dslc-info-box-wrapper">
2490
 
2491
  <?php if ( $options['button_pos'] == 'aside' && in_array( 'button', $elements ) ) : ?>
2492
  <div class="dslc-info-box-button dslc-info-box-button-aside">
2493
  <?php if ( isset( $options['button_link'] ) && ! empty( $options['button_link'] ) ) : ?>
2494
- <a href="<?php echo $options['button_link']; ?>" target="<?php echo $options['button_target']; ?>" class="dslc-primary">
2495
  <?php if ( isset( $options['button_icon_id'] ) && $options['button_icon_id'] != '' ) : ?>
2496
  <span class="dslc-icon dslc-icon-<?php echo $options['button_icon_id']; ?>"></span>
2497
  <?php endif; ?>
@@ -2499,9 +2511,9 @@ class DSLC_Info_Box extends DSLC_Module {
2499
  <span class="dslca-editable-content" data-id="button_title" data-type="simple" contenteditable><?php echo $options['button_title']; ?></span>
2500
  <?php else : echo $options['button_title']; endif; ?>
2501
  </a>
2502
- <?php endif; ?>
2503
  <?php if ( isset( $options['button_2_link'] ) && ! empty( $options['button_2_link'] ) ) : ?>
2504
- <a href="<?php echo $options['button_2_link']; ?>" target="<?php echo $options['button_2_target']; ?>" class="dslc-secondary">
2505
  <?php if ( isset( $options['button_2_icon_id'] ) && $options['button_2_icon_id'] != '' ) : ?>
2506
  <span class="dslc-icon dslc-icon-<?php echo $options['button_2_icon_id']; ?>"></span>
2507
  <?php endif; ?>
@@ -2520,19 +2532,19 @@ class DSLC_Info_Box extends DSLC_Module {
2520
  <div class="dslc-info-box-image-inner">
2521
  <span class="dslc-icon dslc-icon-<?php echo $options['icon_id']; ?> dslc-init-center"></span>
2522
  <?php if ( ! empty( $options['icon_link'] ) ) : ?>
2523
- <a class="dslc-info-box-image-link" href="<?php echo $options['icon_link']; ?>" target="<?php echo $options['icon_link_target']; ?>"></a>
2524
  <?php endif; ?>
2525
  </div><!-- .dslc-info-box-image-inner -->
2526
  </div><!-- .dslc-info-box-image -->
2527
  <?php endif; ?>
2528
-
2529
  <?php if ( in_array( 'image', $elements ) && $image_alt ) : ?>
2530
  <div class="dslc-info-box-image-alt">
2531
  <div class="dslc-info-box-image-alt-inner">
2532
- <?php if ( ! $image_alt_link_url) : ?>
2533
- <img src="<?php echo esc_url($image_alt);?>">
2534
  <?php else : ?>
2535
- <a href="<?php echo esc_url($image_alt_link_url);?>"><img src="<?php echo esc_url($image_alt);?>"></a>
2536
  <?php endif; ?>
2537
  </div><!-- .dslc-info-box-image-alt-inner -->
2538
  </div><!-- .dslc-info-box-image-alt -->
@@ -2546,7 +2558,7 @@ class DSLC_Info_Box extends DSLC_Module {
2546
  <h4 class="dslca-editable-content" data-id="title" data-type="simple" <?php if ( $dslc_is_admin ) echo 'contenteditable'; ?>><?php echo stripslashes( $options['title'] ); ?></h4>
2547
  <?php else : ?>
2548
  <?php if ( $options['title_link'] != '' ) : ?>
2549
- <h4><a href="<?php echo $options['title_link']; ?>" target="<?php echo $options['title_link_target']; ?>"><?php echo stripslashes( $options['title'] ); ?></a></h4>
2550
  <?php else : ?>
2551
  <h4><?php echo stripslashes( $options['title'] ); ?></h4>
2552
  <?php endif; ?>
@@ -2557,7 +2569,7 @@ class DSLC_Info_Box extends DSLC_Module {
2557
  <?php if ( in_array( 'content', $elements ) ) : ?>
2558
  <div class="dslc-info-box-content">
2559
  <?php if ( $dslc_is_admin ) : ?>
2560
- <div class="dslca-editable-content" data-id="content">
2561
  <?php echo stripslashes( $options['content'] ); ?>
2562
  </div><!-- .dslca-editable-content -->
2563
  <div class="dslca-wysiwyg-actions-edit"><span class="dslca-wysiwyg-actions-edit-hook"><?php _e( 'Edit Content', 'live-composer-page-builder' ); ?></span></div>
@@ -2570,7 +2582,7 @@ class DSLC_Info_Box extends DSLC_Module {
2570
  <?php if ( $options['button_pos'] == 'bellow' && in_array( 'button', $elements ) ) : ?>
2571
  <div class="dslc-info-box-button">
2572
  <?php if ( isset( $options['button_link'] ) && ! empty( $options['button_link'] ) ) : ?>
2573
- <a href="<?php echo $options['button_link']; ?>" target="<?php echo $options['button_target']; ?>" class="dslc-primary">
2574
  <?php if ( isset( $options['button_icon_id'] ) && $options['button_icon_id'] != '' ) : ?>
2575
  <span class="dslc-icon dslc-icon-<?php echo $options['button_icon_id']; ?>"></span>
2576
  <?php endif; ?>
@@ -2578,9 +2590,9 @@ class DSLC_Info_Box extends DSLC_Module {
2578
  <span class="dslca-editable-content" data-id="button_title" data-type="simple" contenteditable><?php echo $options['button_title']; ?></span>
2579
  <?php else : echo $options['button_title']; endif; ?>
2580
  </a>
2581
- <?php endif; ?>
2582
  <?php if ( isset( $options['button_2_link'] ) && ! empty( $options['button_2_link'] ) ) : ?>
2583
- <a href="<?php echo $options['button_2_link']; ?>" target="<?php echo $options['button_2_target']; ?>" class="dslc-secondary">
2584
  <?php if ( isset( $options['button_2_icon_id'] ) && $options['button_2_icon_id'] != '' ) : ?>
2585
  <span class="dslc-icon dslc-icon-<?php echo $options['button_2_icon_id']; ?>"></span>
2586
  <?php endif; ?>
128
  ),
129
  )
130
  ),
131
+ array(
132
+ 'id' => 'link_nofollow',
133
+ 'std' => '',
134
+ 'type' => 'checkbox',
135
+ 'help' => __( 'Nofollow tells search engines to not follow this specific link', 'live-composer-page-builder' ),
136
+ 'choices' => array(
137
+ array(
138
+ 'label' => __( 'Nofollow', 'live-composer-page-builder' ),
139
+ 'value' => 'nofollow'
140
+ ),
141
+ ),
142
+ ),
143
+
144
  /**
145
  * General
146
  */
147
+
148
  array(
149
  'label' => __( 'Elements', 'live-composer-page-builder' ),
150
  'id' => 'elements',
440
  'affect_on_change_rule' => 'box-shadow',
441
  'section' => 'styling',
442
  ),
443
+
444
 
445
  /**
446
  * Wrapper
869
  /**
870
  * Image
871
  */
872
+
873
  array(
874
  'label' => __( 'Image - File', 'live-composer-page-builder' ),
875
  'id' => 'image_alt',
995
  'section' => 'styling',
996
  'tab' => __( 'Image', 'live-composer-page-builder' ),
997
  ),
998
+
999
  /**
1000
  * Title
1001
  */
1098
  'tab' => __( 'Title', 'live-composer-page-builder' ),
1099
  'ext' => 'px'
1100
  ),
1101
+
1102
 
1103
  /**
1104
  * Content
2464
 
2465
  );
2466
 
2467
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options', array('hover_opts' => false) ) );
2468
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
2469
 
2470
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
2490
  $elements = explode( ' ', trim( $elements ) );
2491
  else
2492
  $elements = array();
2493
+
2494
  $image_alt = $options['image_alt'];
2495
  $image_alt_link_url = $options['image_alt_link_url'];
2496
 
2498
 
2499
  <div class="dslc-info-box dslc-info-box-icon-pos-<?php echo $options['icon_position']; ?>">
2500
 
2501
+ <div class="dslc-info-box-wrapper"<?php if ( $dslc_is_admin ) echo ' data-exportable-content="div"'; ?>>
2502
 
2503
  <?php if ( $options['button_pos'] == 'aside' && in_array( 'button', $elements ) ) : ?>
2504
  <div class="dslc-info-box-button dslc-info-box-button-aside">
2505
  <?php if ( isset( $options['button_link'] ) && ! empty( $options['button_link'] ) ) : ?>
2506
+ <a href="<?php echo $options['button_link']; ?>" target="<?php echo $options['button_target']; ?>" <?php if ( $options['link_nofollow'] ) echo 'rel="nofollow"'; ?> class="dslc-primary">
2507
  <?php if ( isset( $options['button_icon_id'] ) && $options['button_icon_id'] != '' ) : ?>
2508
  <span class="dslc-icon dslc-icon-<?php echo $options['button_icon_id']; ?>"></span>
2509
  <?php endif; ?>
2511
  <span class="dslca-editable-content" data-id="button_title" data-type="simple" contenteditable><?php echo $options['button_title']; ?></span>
2512
  <?php else : echo $options['button_title']; endif; ?>
2513
  </a>
2514
+ <?php endif; ?>
2515
  <?php if ( isset( $options['button_2_link'] ) && ! empty( $options['button_2_link'] ) ) : ?>
2516
+ <a href="<?php echo $options['button_2_link']; ?>" target="<?php echo $options['button_2_target']; ?>" <?php if ( $options['link_nofollow'] ) echo 'rel="nofollow"'; ?> class="dslc-secondary">
2517
  <?php if ( isset( $options['button_2_icon_id'] ) && $options['button_2_icon_id'] != '' ) : ?>
2518
  <span class="dslc-icon dslc-icon-<?php echo $options['button_2_icon_id']; ?>"></span>
2519
  <?php endif; ?>
2532
  <div class="dslc-info-box-image-inner">
2533
  <span class="dslc-icon dslc-icon-<?php echo $options['icon_id']; ?> dslc-init-center"></span>
2534
  <?php if ( ! empty( $options['icon_link'] ) ) : ?>
2535
+ <a class="dslc-info-box-image-link" href="<?php echo $options['icon_link']; ?>" <?php if ( $options['link_nofollow'] ) echo 'rel="nofollow"'; ?> target="<?php echo $options['icon_link_target']; ?>"></a>
2536
  <?php endif; ?>
2537
  </div><!-- .dslc-info-box-image-inner -->
2538
  </div><!-- .dslc-info-box-image -->
2539
  <?php endif; ?>
2540
+
2541
  <?php if ( in_array( 'image', $elements ) && $image_alt ) : ?>
2542
  <div class="dslc-info-box-image-alt">
2543
  <div class="dslc-info-box-image-alt-inner">
2544
+ <?php if ( ! $image_alt_link_url ) : ?>
2545
+ <img src="<?php echo esc_url( $image_alt ); ?>">
2546
  <?php else : ?>
2547
+ <a href="<?php echo esc_url( $image_alt_link_url ); ?>" <?php if ( $options['link_nofollow'] ) echo 'rel="nofollow"'; ?>><img src="<?php echo esc_url( $image_alt ); ?>"></a>
2548
  <?php endif; ?>
2549
  </div><!-- .dslc-info-box-image-alt-inner -->
2550
  </div><!-- .dslc-info-box-image-alt -->
2558
  <h4 class="dslca-editable-content" data-id="title" data-type="simple" <?php if ( $dslc_is_admin ) echo 'contenteditable'; ?>><?php echo stripslashes( $options['title'] ); ?></h4>
2559
  <?php else : ?>
2560
  <?php if ( $options['title_link'] != '' ) : ?>
2561
+ <h4><a href="<?php echo $options['title_link']; ?>" target="<?php echo $options['title_link_target']; ?>" <?php if ( $options['link_nofollow'] ) echo 'rel="nofollow"'; ?>><?php echo stripslashes( $options['title'] ); ?></a></h4>
2562
  <?php else : ?>
2563
  <h4><?php echo stripslashes( $options['title'] ); ?></h4>
2564
  <?php endif; ?>
2569
  <?php if ( in_array( 'content', $elements ) ) : ?>
2570
  <div class="dslc-info-box-content">
2571
  <?php if ( $dslc_is_admin ) : ?>
2572
+ <div class="dslca-editable-content" data-id="content">
2573
  <?php echo stripslashes( $options['content'] ); ?>
2574
  </div><!-- .dslca-editable-content -->
2575
  <div class="dslca-wysiwyg-actions-edit"><span class="dslca-wysiwyg-actions-edit-hook"><?php _e( 'Edit Content', 'live-composer-page-builder' ); ?></span></div>
2582
  <?php if ( $options['button_pos'] == 'bellow' && in_array( 'button', $elements ) ) : ?>
2583
  <div class="dslc-info-box-button">
2584
  <?php if ( isset( $options['button_link'] ) && ! empty( $options['button_link'] ) ) : ?>
2585
+ <a href="<?php echo $options['button_link']; ?>" target="<?php echo $options['button_target']; ?>" <?php if ( $options['link_nofollow'] ) echo 'rel="nofollow"'; ?> class="dslc-primary">
2586
  <?php if ( isset( $options['button_icon_id'] ) && $options['button_icon_id'] != '' ) : ?>
2587
  <span class="dslc-icon dslc-icon-<?php echo $options['button_icon_id']; ?>"></span>
2588
  <?php endif; ?>
2590
  <span class="dslca-editable-content" data-id="button_title" data-type="simple" contenteditable><?php echo $options['button_title']; ?></span>
2591
  <?php else : echo $options['button_title']; endif; ?>
2592
  </a>
2593
+ <?php endif; ?>
2594
  <?php if ( isset( $options['button_2_link'] ) && ! empty( $options['button_2_link'] ) ) : ?>
2595
+ <a href="<?php echo $options['button_2_link']; ?>" target="<?php echo $options['button_2_target']; ?>" <?php if ( $options['link_nofollow'] ) echo 'rel="nofollow"'; ?> class="dslc-secondary">
2596
  <?php if ( isset( $options['button_2_icon_id'] ) && $options['button_2_icon_id'] != '' ) : ?>
2597
  <span class="dslc-icon dslc-icon-<?php echo $options['button_2_icon_id']; ?>"></span>
2598
  <?php endif; ?>
modules/navigation/functions.php CHANGED
@@ -13,11 +13,13 @@ function dslc_nav_menus_opts() {
13
  $dslc_plugin_options['dslc_plugin_options_navigation_m'] = array(
14
  'title' => __( 'Navigation Module', 'live-composer-page-builder' ),
15
  'options' => array(
16
- 'menus' => array (
 
 
17
  'label' => __( 'Menus', 'live-composer-page-builder' ),
18
  'std' => '',
19
  'type' => 'list'
20
- ),
21
  )
22
  );
23
 
@@ -38,11 +40,11 @@ function dslc_nav_menus() {
38
 
39
  $menus_array = explode( ',', substr( $menus, 0, -1 ) );
40
 
41
- foreach( $menus_array as $menu ) {
42
 
43
  $menu_ID = 'dslc_' . strtolower( str_replace( ' ', '_', $menu ) );
44
 
45
- register_nav_menu( $menu_ID, $menu );
46
 
47
  }
48
 
13
  $dslc_plugin_options['dslc_plugin_options_navigation_m'] = array(
14
  'title' => __( 'Navigation Module', 'live-composer-page-builder' ),
15
  'options' => array(
16
+
17
+ 'menus' => array(
18
+ 'name' => 'dslc_plugin_options_navigation_m[menus]',
19
  'label' => __( 'Menus', 'live-composer-page-builder' ),
20
  'std' => '',
21
  'type' => 'list'
22
+ )
23
  )
24
  );
25
 
40
 
41
  $menus_array = explode( ',', substr( $menus, 0, -1 ) );
42
 
43
+ foreach ( $menus_array as $menu ) {
44
 
45
  $menu_ID = 'dslc_' . strtolower( str_replace( ' ', '_', $menu ) );
46
 
47
+ register_nav_menu( $menu_ID, $menu );
48
 
49
  }
50
 
modules/navigation/module.php CHANGED
@@ -1413,12 +1413,12 @@ class DSLC_Navigation extends DSLC_Module {
1413
  ?>
1414
  <div class="dslc-navigation dslc-navigation-sub-position-<?php echo $options['css_subnav_position']; ?> dslc-navigation-res-t-<?php echo $options['css_res_t']; ?> dslc-navigation-res-p-<?php echo $options['css_res_p']; ?> dslc-navigation-orientation-<?php echo $options['nav_orientation']; ?>">
1415
  <div class="dslc-navigation-inner">
1416
- <?php wp_nav_menu( array( 'theme_location' => $options['location'] ) ); ?>
1417
  </div>
1418
  </div>
1419
  <div class="dslc-mobile-navigation dslc-navigation-res-t-<?php echo $options['css_res_t']; ?> dslc-navigation-res-p-<?php echo $options['css_res_p']; ?>">
1420
  <?php
1421
- if( has_nav_menu( $options['location'] ) ) {
1422
 
1423
  $mobile_nav_output = '';
1424
  $mobile_nav_output .= '<select>';
@@ -1428,16 +1428,16 @@ class DSLC_Navigation extends DSLC_Module {
1428
 
1429
  $locations = get_nav_menu_locations();
1430
  $menu = wp_get_nav_menu_object( $locations[$options['location']] );
1431
- $menu_items = wp_get_nav_menu_items($menu->term_id);
1432
 
1433
  foreach ( $menu_items as $key => $menu_item ) {
1434
  $title = $menu_item->title;
1435
  $url = $menu_item->url;
1436
  $nav_selected = '';
1437
- if($menu_item->post_parent !== 0){
1438
- $mobile_nav_output .= '<option value="'.$url.'" '.$nav_selected.'> - '.$title.'</option>';
1439
- }else{
1440
- $mobile_nav_output .= '<option value="'.$url.'" '.$nav_selected.'>'.$title.'</option>';
1441
  }
1442
  }
1443
 
1413
  ?>
1414
  <div class="dslc-navigation dslc-navigation-sub-position-<?php echo $options['css_subnav_position']; ?> dslc-navigation-res-t-<?php echo $options['css_res_t']; ?> dslc-navigation-res-p-<?php echo $options['css_res_p']; ?> dslc-navigation-orientation-<?php echo $options['nav_orientation']; ?>">
1415
  <div class="dslc-navigation-inner">
1416
+ <?php wp_nav_menu( array('theme_location' => $options['location']) ); ?>
1417
  </div>
1418
  </div>
1419
  <div class="dslc-mobile-navigation dslc-navigation-res-t-<?php echo $options['css_res_t']; ?> dslc-navigation-res-p-<?php echo $options['css_res_p']; ?>">
1420
  <?php
1421
+ if ( has_nav_menu( $options['location'] ) ) {
1422
 
1423
  $mobile_nav_output = '';
1424
  $mobile_nav_output .= '<select>';
1428
 
1429
  $locations = get_nav_menu_locations();
1430
  $menu = wp_get_nav_menu_object( $locations[$options['location']] );
1431
+ $menu_items = wp_get_nav_menu_items( $menu->term_id );
1432
 
1433
  foreach ( $menu_items as $key => $menu_item ) {
1434
  $title = $menu_item->title;
1435
  $url = $menu_item->url;
1436
  $nav_selected = '';
1437
+ if ( $menu_item->post_parent !== 0 ) {
1438
+ $mobile_nav_output .= '<option value="' . $url . '" ' . $nav_selected . '> - ' . $title . '</option>';
1439
+ } else {
1440
+ $mobile_nav_output .= '<option value="' . $url . '" ' . $nav_selected . '>' . $title . '</option>';
1441
  }
1442
  }
1443
 
modules/notification/module.php CHANGED
@@ -678,7 +678,7 @@ class DSLC_Notification extends DSLC_Module {
678
 
679
  );
680
 
681
- $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options', array( 'hover_opts' => false ) ) );
682
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
683
 
684
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
@@ -689,6 +689,11 @@ class DSLC_Notification extends DSLC_Module {
689
 
690
  global $dslc_active;
691
 
 
 
 
 
 
692
  $this->module_start( $options );
693
 
694
  /* Module output starts here */
@@ -704,7 +709,7 @@ class DSLC_Notification extends DSLC_Module {
704
  ?>
705
 
706
  <div class="<?php echo $classes; ?>" data-notification-timeout="<?php echo $options['notification_timeout']; ?>">
707
- <div class="dslc-notification-box-content dslca-editable-content" data-id="content">
708
  <?php
709
  $output_content = stripslashes( $options['content'] );
710
  $output_content = do_shortcode( $output_content );
678
 
679
  );
680
 
681
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options', array('hover_opts' => false) ) );
682
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
683
 
684
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
689
 
690
  global $dslc_active;
691
 
692
+ if ( $dslc_active && is_user_logged_in() && current_user_can( DS_LIVE_COMPOSER_CAPABILITY ) )
693
+ $dslc_is_admin = true;
694
+ else
695
+ $dslc_is_admin = false;
696
+
697
  $this->module_start( $options );
698
 
699
  /* Module output starts here */
709
  ?>
710
 
711
  <div class="<?php echo $classes; ?>" data-notification-timeout="<?php echo $options['notification_timeout']; ?>">
712
+ <div class="dslc-notification-box-content dslca-editable-content" data-id="content"<?php if ( $dslc_is_admin ) echo ' data-exportable-content'; ?>>
713
  <?php
714
  $output_content = stripslashes( $options['content'] );
715
  $output_content = do_shortcode( $output_content );
modules/partners/functions.php CHANGED
@@ -17,7 +17,7 @@ function dslc_partners_module_cpt() {
17
 
18
  // With Front
19
  $with_front = dslc_get_option( 'with_front', 'dslc_plugin_options_cpt_slugs' );
20
- if ( empty ( $with_front ) ) $with_front = 'disabled';
21
  if ( $with_front == 'enabled' ) $with_front = true; else $with_front = false;
22
 
23
  /**
@@ -43,8 +43,8 @@ function dslc_partners_module_cpt() {
43
  'parent' => __( 'Parent Partner', 'live-composer-page-builder' ),
44
  ),
45
  'public' => true,
46
- 'rewrite' => array( 'slug' => dslc_get_option( 'partners_slug', 'dslc_plugin_options_cpt_slugs' ), 'with_front' => $with_front ),
47
- 'supports' => array( 'title', 'custom-fields', 'excerpt', 'editor', 'author', 'thumbnail', 'comments' ),
48
  'capabilities' => array(
49
  'publish_posts' => $capability,
50
  'edit_posts' => $capability,
17
 
18
  // With Front
19
  $with_front = dslc_get_option( 'with_front', 'dslc_plugin_options_cpt_slugs' );
20
+ if ( empty ( $with_front ) ) $with_front = 'disabled';
21
  if ( $with_front == 'enabled' ) $with_front = true; else $with_front = false;
22
 
23
  /**
43
  'parent' => __( 'Parent Partner', 'live-composer-page-builder' ),
44
  ),
45
  'public' => true,
46
+ 'rewrite' => array('slug' => dslc_get_option( 'partners_slug', 'dslc_plugin_options_cpt_slugs' ), 'with_front' => $with_front),
47
+ 'supports' => array('title', 'custom-fields', 'excerpt', 'editor', 'author', 'thumbnail', 'comments'),
48
  'capabilities' => array(
49
  'publish_posts' => $capability,
50
  'edit_posts' => $capability,
modules/partners/module.php CHANGED
@@ -140,7 +140,7 @@ class DSLC_Partners extends DSLC_Module {
140
  'id' => 'columns',
141
  'std' => '3',
142
  'type' => 'select',
143
- 'choices' => $this->shared_options('posts_per_row_choices'),
144
  ),
145
  array(
146
  'label' => __( 'Categories', 'live-composer-page-builder' ),
@@ -1315,13 +1315,13 @@ class DSLC_Partners extends DSLC_Module {
1315
 
1316
  );
1317
 
1318
- $dslc_options = array_merge( $dslc_options, $this->shared_options('carousel_options') );
1319
- $dslc_options = array_merge( $dslc_options, $this->shared_options('heading_options') );
1320
- $dslc_options = array_merge( $dslc_options, $this->shared_options('filters_options') );
1321
- $dslc_options = array_merge( $dslc_options, $this->shared_options('carousel_arrows_options') );
1322
- $dslc_options = array_merge( $dslc_options, $this->shared_options('carousel_circles_options') );
1323
- $dslc_options = array_merge( $dslc_options, $this->shared_options('pagination_options') );
1324
- $dslc_options = array_merge( $dslc_options, $this->shared_options('animation_options') );
1325
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
1326
 
1327
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
@@ -1344,7 +1344,7 @@ class DSLC_Partners extends DSLC_Module {
1344
  if ( ! isset( $options['excerpt_length'] ) ) $options['excerpt_length'] = 20;
1345
  if ( ! isset( $options['type'] ) ) $options['type'] = 'grid';
1346
 
1347
- if( is_front_page() ) { $paged = ( get_query_var( 'page' ) ) ? get_query_var( 'page' ) : 1; } else { $paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1; }
1348
 
1349
  // Fix for pagination from other modules affecting this one when pag disabled
1350
  if ( $options['pagination_type'] == 'disabled' ) $paged = 1;
@@ -1366,13 +1366,13 @@ class DSLC_Partners extends DSLC_Module {
1366
  $args['offset'] = $query_offset;
1367
  }
1368
 
1369
- if ( defined('DOING_AJAX') && DOING_AJAX ) {
1370
- $args['post_status'] = array( 'publish', 'private' );
1371
  }
1372
 
1373
  if ( isset( $options['categories'] ) && $options['categories'] != '' ) {
1374
 
1375
- $cats_array = explode( ' ', trim( $options['categories'] ));
1376
 
1377
  $args['tax_query'] = array(
1378
  array(
@@ -1559,7 +1559,7 @@ class DSLC_Partners extends DSLC_Module {
1559
 
1560
  $post_cats = get_the_terms( get_the_ID(), 'dslc_partners_cats' );
1561
  if ( ! empty( $post_cats ) ) {
1562
- foreach( $post_cats as $post_cat ) {
1563
  $cats_array[$post_cat->slug] = $post_cat->name;
1564
  }
1565
  }
@@ -1635,7 +1635,7 @@ class DSLC_Partners extends DSLC_Module {
1635
  $post_cats = get_the_terms( get_the_ID(), 'dslc_partners_cats' );
1636
  $post_cats_data = '';
1637
  if ( ! empty( $post_cats ) ) {
1638
- foreach( $post_cats as $post_cat ) {
1639
  $post_cats_data .= $post_cat->slug . ' ';
1640
  }
1641
  }
@@ -1839,9 +1839,9 @@ class DSLC_Partners extends DSLC_Module {
1839
  if ( isset( $options['pagination_type'] ) && $options['pagination_type'] != 'disabled' ) {
1840
  $num_pages = $dslc_query->max_num_pages;
1841
  if ( $options['offset'] > 0 ) {
1842
- $num_pages = ceil ( ( $dslc_query->found_posts - $options['offset'] ) / $options['amount'] );
1843
  }
1844
- dslc_post_pagination( array( 'pages' => $num_pages, 'type' => $options['pagination_type'] ) );
1845
  }
1846
 
1847
  wp_reset_postdata();
140
  'id' => 'columns',
141
  'std' => '3',
142
  'type' => 'select',
143
+ 'choices' => $this->shared_options( 'posts_per_row_choices' ),
144
  ),
145
  array(
146
  'label' => __( 'Categories', 'live-composer-page-builder' ),
1315
 
1316
  );
1317
 
1318
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'carousel_options' ) );
1319
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'heading_options' ) );
1320
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'filters_options' ) );
1321
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'carousel_arrows_options' ) );
1322
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'carousel_circles_options' ) );
1323
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'pagination_options' ) );
1324
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options' ) );
1325
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
1326
 
1327
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
1344
  if ( ! isset( $options['excerpt_length'] ) ) $options['excerpt_length'] = 20;
1345
  if ( ! isset( $options['type'] ) ) $options['type'] = 'grid';
1346
 
1347
+ if ( is_front_page() ) { $paged = ( get_query_var( 'page' ) ) ? get_query_var( 'page' ) : 1; } else { $paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1; }
1348
 
1349
  // Fix for pagination from other modules affecting this one when pag disabled
1350
  if ( $options['pagination_type'] == 'disabled' ) $paged = 1;
1366
  $args['offset'] = $query_offset;
1367
  }
1368
 
1369
+ if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
1370
+ $args['post_status'] = array('publish', 'private');
1371
  }
1372
 
1373
  if ( isset( $options['categories'] ) && $options['categories'] != '' ) {
1374
 
1375
+ $cats_array = explode( ' ', trim( $options['categories'] ) );
1376
 
1377
  $args['tax_query'] = array(
1378
  array(
1559
 
1560
  $post_cats = get_the_terms( get_the_ID(), 'dslc_partners_cats' );
1561
  if ( ! empty( $post_cats ) ) {
1562
+ foreach ( $post_cats as $post_cat ) {
1563
  $cats_array[$post_cat->slug] = $post_cat->name;
1564
  }
1565
  }
1635
  $post_cats = get_the_terms( get_the_ID(), 'dslc_partners_cats' );
1636
  $post_cats_data = '';
1637
  if ( ! empty( $post_cats ) ) {
1638
+ foreach ( $post_cats as $post_cat ) {
1639
  $post_cats_data .= $post_cat->slug . ' ';
1640
  }
1641
  }
1839
  if ( isset( $options['pagination_type'] ) && $options['pagination_type'] != 'disabled' ) {
1840
  $num_pages = $dslc_query->max_num_pages;
1841
  if ( $options['offset'] > 0 ) {
1842
+ $num_pages = ceil( ( $dslc_query->found_posts - $options['offset'] ) / $options['amount'] );
1843
  }
1844
+ dslc_post_pagination( array('pages' => $num_pages, 'type' => $options['pagination_type']) );
1845
  }
1846
 
1847
  wp_reset_postdata();
modules/posts/module.php CHANGED
@@ -19,9 +19,9 @@ class DSLC_Posts extends DSLC_Module {
19
  function options() {
20
 
21
  // Get registered post types
22
- $post_types = get_post_types( array( 'public' => true ), 'objects' );
23
  $post_types_choices = array();
24
-
25
  // Generate usable array of post types
26
  foreach ( $post_types as $post_type_id => $post_type ) {
27
  $post_types_choices[] = array(
@@ -60,6 +60,7 @@ class DSLC_Posts extends DSLC_Module {
60
  'type' => 'select',
61
  'choices' => $post_types_choices
62
  ),
 
63
  array(
64
  'label' => __( 'Type', 'live-composer-page-builder' ),
65
  'id' => 'type',
@@ -131,7 +132,7 @@ class DSLC_Posts extends DSLC_Module {
131
  'id' => 'columns',
132
  'std' => '3',
133
  'type' => 'select',
134
- 'choices' => $this->shared_options('posts_per_row_choices'),
135
  ),
136
  array(
137
  'label' => __( 'Order By', 'live-composer-page-builder' ),
@@ -213,57 +214,23 @@ class DSLC_Posts extends DSLC_Module {
213
  'type' => 'text',
214
  ),
215
 
216
- // Query Altering
217
- array(
218
- 'label' => __( 'On Author Archive', 'live-composer-page-builder' ),
219
- 'id' => 'query_alter_author',
220
- 'std' => 'enabled',
221
- 'type' => 'select',
222
- 'choices' => array(
223
- array(
224
- 'label' => __( 'Show Posts Of That Author', 'live-composer-page-builder' ),
225
- 'value' => 'enabled'
226
- ),
227
- array(
228
- 'label' => __( 'Do NOT Alter Query', 'live-composer-page-builder' ),
229
- 'value' => 'disabled'
230
- ),
231
- ),
232
- 'tab' => __( 'Query Alter', 'live-composer-page-builder' ),
233
- ),
234
- array(
235
- 'label' => __( 'On Category/Tag Archive', 'live-composer-page-builder' ),
236
- 'id' => 'query_alter_cat',
237
- 'std' => 'enabled',
238
- 'type' => 'select',
239
- 'choices' => array(
240
- array(
241
- 'label' => __( 'Show Posts Of That Category/Tag', 'live-composer-page-builder' ),
242
- 'value' => 'enabled'
243
- ),
244
- array(
245
- 'label' => __( 'Do NOT Alter Query', 'live-composer-page-builder' ),
246
- 'value' => 'disabled'
247
- ),
248
- ),
249
- 'tab' => __( 'Query Alter', 'live-composer-page-builder' ),
250
- ),
251
  array(
252
- 'label' => __( 'On Search Results Page', 'live-composer-page-builder' ),
253
- 'id' => 'query_alter_search',
254
  'std' => 'enabled',
255
  'type' => 'select',
256
  'choices' => array(
257
  array(
258
- 'label' => __( 'Show Posts Matching Search Term', 'live-composer-page-builder' ),
259
  'value' => 'enabled'
260
  ),
261
  array(
262
- 'label' => __( 'Do NOT Alter Query', 'live-composer-page-builder' ),
263
  'value' => 'disabled'
264
  ),
265
  ),
266
- 'tab' => __( 'Query Alter', 'live-composer-page-builder' ),
267
  ),
268
 
269
  /* Styling */
@@ -583,7 +550,7 @@ class DSLC_Posts extends DSLC_Module {
583
  'affect_on_change_rule' => 'background-color',
584
  'section' => 'styling',
585
  'tab' => __( 'Thumbnail', 'live-composer-page-builder' ),
586
- ),
587
  array(
588
  'label' => __( 'Border Color', 'live-composer-page-builder' ),
589
  'id' => 'css_thumb_border_color',
@@ -635,7 +602,7 @@ class DSLC_Posts extends DSLC_Module {
635
  'affect_on_change_rule' => 'border-style',
636
  'section' => 'styling',
637
  'tab' => __( 'Thumbnail', 'live-composer-page-builder' ),
638
- ),
639
  array(
640
  'label' => __( 'Border Radius - Top', 'live-composer-page-builder' ),
641
  'id' => 'css_thumb_border_radius_top',
@@ -1268,7 +1235,7 @@ class DSLC_Posts extends DSLC_Module {
1268
  'section' => 'styling',
1269
  'tab' => __( 'Meta', 'live-composer-page-builder' ),
1270
  ),
1271
-
1272
  /**
1273
  * Excerpt
1274
  */
@@ -2188,14 +2155,14 @@ class DSLC_Posts extends DSLC_Module {
2188
  ),
2189
 
2190
  );
2191
-
2192
- $dslc_options = array_merge( $dslc_options, $this->shared_options('carousel_options') );
2193
- $dslc_options = array_merge( $dslc_options, $this->shared_options('heading_options') );
2194
- $dslc_options = array_merge( $dslc_options, $this->shared_options('filters_options') );
2195
- $dslc_options = array_merge( $dslc_options, $this->shared_options('carousel_arrows_options') );
2196
- $dslc_options = array_merge( $dslc_options, $this->shared_options('carousel_circles_options') );
2197
- $dslc_options = array_merge( $dslc_options, $this->shared_options('pagination_options') );
2198
- $dslc_options = array_merge( $dslc_options, $this->shared_options('animation_options') );
2199
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
2200
 
2201
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
@@ -2204,6 +2171,11 @@ class DSLC_Posts extends DSLC_Module {
2204
 
2205
  function output( $options ) {
2206
 
 
 
 
 
 
2207
  global $dslc_active;
2208
 
2209
  if ( $dslc_active && is_user_logged_in() && current_user_can( DS_LIVE_COMPOSER_CAPABILITY ) )
@@ -2215,7 +2187,7 @@ class DSLC_Posts extends DSLC_Module {
2215
  if ( isset( $options['button_text'] ) ) {
2216
  $options['button_text'] = stripslashes( $options['button_text'] );
2217
  }
2218
-
2219
  $this->module_start( $options );
2220
 
2221
  /* CUSTOM START */
@@ -2227,7 +2199,7 @@ class DSLC_Posts extends DSLC_Module {
2227
  */
2228
 
2229
  // Fix for pagination
2230
- if( is_front_page() ) { $paged = ( get_query_var( 'page' ) ) ? get_query_var( 'page' ) : 1; } else { $paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1; }
2231
 
2232
  // Fix for pagination from other modules affecting this one when pag disabled
2233
  if ( $options['pagination_type'] == 'disabled' ) $paged = 1;
@@ -2238,7 +2210,7 @@ class DSLC_Posts extends DSLC_Module {
2238
 
2239
  // General args
2240
  $args = array(
2241
- 'paged' => $paged,
2242
  'post_type' => $options['post_type'],
2243
  'posts_per_page' => $options['amount'],
2244
  'order' => $options['order'],
@@ -2250,13 +2222,13 @@ class DSLC_Posts extends DSLC_Module {
2250
  $args['offset'] = $query_offset;
2251
  }
2252
 
2253
- if ( defined('DOING_AJAX') && DOING_AJAX ) {
2254
- $args['post_status'] = array( 'publish', 'private' );
2255
  }
2256
 
2257
  // Category args
2258
  if ( isset( $options['categories'] ) && $options['categories'] != '' ) {
2259
- $cats_array = explode( ' ', $options['categories']);
2260
  $args['category__in'] = $cats_array;
2261
  }
2262
 
@@ -2275,7 +2247,7 @@ class DSLC_Posts extends DSLC_Module {
2275
  // Include posts ( option )
2276
  if ( $options['query_post_in'] )
2277
  $include = array_merge( $include, explode( ' ', $options['query_post_in'] ) );
2278
-
2279
  // Include query parameter
2280
  if ( ! empty( $include ) )
2281
  $args['post__in'] = $include;
@@ -2283,26 +2255,23 @@ class DSLC_Posts extends DSLC_Module {
2283
  // Exclude query parameter
2284
  if ( ! empty( $exclude ) )
2285
  $args['post__not_in'] = $exclude;
2286
-
2287
  // Author archive page
2288
- if ( is_author() && $options['query_alter_author'] == 'enabled' ) {
2289
  global $authordata;
2290
- $args['author__in'] = array( $authordata->data->ID );
2291
  }
2292
-
2293
  // No paging
2294
  if ( $options['pagination_type'] == 'disabled' )
2295
  $args['no_found_rows'] = true;
2296
-
2297
  // Sticky Posts
2298
  if ( $options['sticky_posts'] == 'disabled' )
2299
  $args['ignore_sticky_posts'] = true;
2300
 
2301
  // Do the query
2302
- if ( ( is_category() || is_tag() || is_tax() ) && $options['query_alter_cat'] == 'enabled' ) {
2303
- global $wp_query;
2304
- $dslc_query = $wp_query;
2305
- } elseif ( is_search() && $options['query_alter_search'] == 'enabled' ) {
2306
  global $wp_query;
2307
  $dslc_query = $wp_query;
2308
  } else {
@@ -2322,14 +2291,14 @@ class DSLC_Posts extends DSLC_Module {
2322
  /**
2323
  * Elements to show
2324
  */
2325
-
2326
  // Main Elements
2327
  $elements = $options['elements'];
2328
  if ( ! empty( $elements ) )
2329
  $elements = explode( ' ', trim( $elements ) );
2330
  else
2331
  $elements = array();
2332
-
2333
 
2334
  // Post Elements
2335
  $post_elements = $options['post_elements'];
@@ -2350,7 +2319,7 @@ class DSLC_Posts extends DSLC_Module {
2350
  */
2351
 
2352
  // Posts container
2353
- $container_class = 'dslc-posts dslc-cpt-posts dslc-clearfix dslc-cpt-posts-type-' . $options['type'] .' dslc-posts-orientation-' . $options['orientation'] . ' ';
2354
  if ( $options['type'] == 'masonry' )
2355
  $container_class .= 'dslc-init-masonry ';
2356
  elseif ( $options['type'] == 'grid' )
@@ -2374,7 +2343,7 @@ class DSLC_Posts extends DSLC_Module {
2374
  $show_view_all_link = false;
2375
 
2376
  if ( in_array( 'main_heading', $elements ) )
2377
- $show_heading = true;
2378
 
2379
  if ( ( $elements == 'all' || in_array( 'filters', $elements ) ) && $options['type'] !== 'carousel' )
2380
  $show_filters = true;
@@ -2388,7 +2357,7 @@ class DSLC_Posts extends DSLC_Module {
2388
  /**
2389
  * Carousel Items
2390
  */
2391
-
2392
  switch ( $options['columns'] ) {
2393
  case 12 :
2394
  $carousel_items = 1;
@@ -2417,7 +2386,7 @@ class DSLC_Posts extends DSLC_Module {
2417
  if ( $show_header ) :
2418
  ?>
2419
  <div class="dslc-module-heading">
2420
-
2421
  <!-- Heading -->
2422
 
2423
  <?php if ( $show_heading ) : ?>
@@ -2447,9 +2416,9 @@ class DSLC_Posts extends DSLC_Module {
2447
 
2448
  if ( $dslc_query->have_posts() ) {
2449
 
2450
- while ( $dslc_query->have_posts() ) {
2451
 
2452
- $dslc_query->the_post();
2453
 
2454
  $cats_count++;
2455
 
@@ -2466,7 +2435,7 @@ class DSLC_Posts extends DSLC_Module {
2466
 
2467
  $post_cats = get_the_terms( get_the_ID(), $taxonomy_name );
2468
  if ( ! empty( $post_cats ) ) {
2469
- foreach( $post_cats as $post_cat ) {
2470
  $cats_array[$post_cat->slug] = $post_cat->name;
2471
  }
2472
  }
@@ -2543,7 +2512,7 @@ class DSLC_Posts extends DSLC_Module {
2543
  if ( isset( $taxonomy_name ) ) {
2544
  $post_cats = get_the_terms( get_the_ID(), $taxonomy_name );
2545
  if ( ! empty( $post_cats ) ) {
2546
- foreach( $post_cats as $post_cat ) {
2547
  $post_cats_data .= $post_cat->slug . ' ';
2548
  }
2549
  }
@@ -2564,12 +2533,12 @@ class DSLC_Posts extends DSLC_Module {
2564
  if ( isset( $options['thumb_resize_height'] ) && ! empty( $options['thumb_resize_height'] ) || isset( $options['thumb_resize_width_manual'] ) && ! empty( $options['thumb_resize_width_manual'] ) ) {
2565
 
2566
  $manual_resize = true;
2567
- $thumb_url = wp_get_attachment_image_src( get_post_thumbnail_id(), 'full' );
2568
  $thumb_url = $thumb_url[0];
2569
 
2570
  $thumb_alt = get_post_meta( get_post_thumbnail_id(), '_wp_attachment_image_alt', true );
2571
  if ( ! $thumb_alt ) $thumb_alt = '';
2572
-
2573
  $resize_width = false;
2574
  $resize_height = false;
2575
 
@@ -2599,7 +2568,7 @@ class DSLC_Posts extends DSLC_Module {
2599
  <?php if ( ( $options['main_location'] == 'inside' || $options['main_location'] == 'inside_visible' ) && ( $post_elements == 'all' || in_array( 'title', $post_elements ) || in_array( 'meta', $post_elements ) || in_array( 'excerpt', $post_elements ) || in_array( 'button', $post_elements ) ) ) : ?>
2600
 
2601
  <div class="dslc-post-main dslc-cpt-post-main <?php if ( $options['main_location'] == 'inside_visible' ) echo 'dslc-cpt-post-main-visible'; ?> dslc-on-hover-anim-target dslc-anim-<?php echo $options['css_anim_hover']; ?>" data-dslc-anim="<?php echo $options['css_anim_hover'] ?>" data-dslc-anim-speed="<?php echo $options['css_anim_speed']; ?>">
2602
-
2603
  <div class="dslc-cpt-post-main-inner dslc-init-<?php echo $options['main_position']; ?>">
2604
 
2605
  <?php if ( $post_elements == 'all' || in_array( 'title', $post_elements ) ) : ?>
@@ -2608,21 +2577,21 @@ class DSLC_Posts extends DSLC_Module {
2608
  <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
2609
  </div><!-- .dslc-cpt-post-title -->
2610
 
2611
- <?php endif; ?>
2612
 
2613
  <?php if ( $post_elements == 'all' || in_array( 'meta', $post_elements ) ) : ?>
2614
 
2615
- <?php
2616
  // Meta Elements
2617
  $meta_elements = $options['meta_elements'];
2618
  $meta_elements = explode( ' ', trim( $meta_elements ) );
2619
  ?>
2620
 
2621
  <div class="dslc-cpt-post-meta">
2622
-
2623
  <?php if ( in_array( 'author', $meta_elements ) ) : ?>
2624
  <div class="dslc-cpt-post-meta-author">
2625
- <?php _e( 'By', 'live-composer-page-builder'); ?> <?php the_author_posts_link(); ?>
2626
  </div><!-- .dslc-cpt-post-meta-author -->
2627
  <?php endif; ?>
2628
 
@@ -2676,7 +2645,7 @@ class DSLC_Posts extends DSLC_Module {
2676
  </div><!-- .dslc-cpt-post-main-inner -->
2677
 
2678
  <a href="<?php the_permalink(); ?>" class="dslc-post-main-inner-link-cover"></a>
2679
-
2680
  </div><!-- .dslc-cpt-post-main -->
2681
 
2682
  <?php endif; ?>
@@ -2697,21 +2666,21 @@ class DSLC_Posts extends DSLC_Module {
2697
  <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
2698
  </div><!-- .dslc-cpt-post-title -->
2699
 
2700
- <?php endif; ?>
2701
 
2702
  <?php if ( $post_elements == 'all' || in_array( 'meta', $post_elements ) ) : ?>
2703
 
2704
- <?php
2705
  // Meta Elements
2706
  $meta_elements = $options['meta_elements'];
2707
  $meta_elements = explode( ' ', trim( $meta_elements ) );
2708
  ?>
2709
 
2710
  <div class="dslc-cpt-post-meta">
2711
-
2712
  <?php if ( in_array( 'author', $meta_elements ) ) : ?>
2713
  <div class="dslc-cpt-post-meta-author">
2714
- <?php _e( 'By', 'live-composer-page-builder'); ?> <?php the_author_posts_link(); ?>
2715
  </div><!-- .dslc-cpt-post-meta-author -->
2716
  <?php endif; ?>
2717
 
@@ -2797,16 +2766,16 @@ class DSLC_Posts extends DSLC_Module {
2797
  /**
2798
  * Pagination
2799
  */
2800
-
2801
  if ( isset( $options['pagination_type'] ) && $options['pagination_type'] != 'disabled' ) {
2802
  $num_pages = $dslc_query->max_num_pages;
2803
  if ( $options['offset'] > 0 ) {
2804
- $num_pages = ceil ( ( $dslc_query->found_posts - $options['offset'] ) / $options['amount'] );
2805
  }
2806
- dslc_post_pagination( array( 'pages' => $num_pages, 'type' => $options['pagination_type'] ) );
2807
  }
2808
 
2809
-
2810
  wp_reset_postdata();
2811
 
2812
  $this->module_end( $options );
19
  function options() {
20
 
21
  // Get registered post types
22
+ $post_types = get_post_types( array('public' => true), 'objects' );
23
  $post_types_choices = array();
24
+
25
  // Generate usable array of post types
26
  foreach ( $post_types as $post_type_id => $post_type ) {
27
  $post_types_choices[] = array(
60
  'type' => 'select',
61
  'choices' => $post_types_choices
62
  ),
63
+
64
  array(
65
  'label' => __( 'Type', 'live-composer-page-builder' ),
66
  'id' => 'type',
132
  'id' => 'columns',
133
  'std' => '3',
134
  'type' => 'select',
135
+ 'choices' => $this->shared_options( 'posts_per_row_choices' ),
136
  ),
137
  array(
138
  'label' => __( 'Order By', 'live-composer-page-builder' ),
214
  'type' => 'text',
215
  ),
216
 
217
+ // Archive Listinging
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
218
  array(
219
+ 'label' => __( 'Archive/Search Listing', 'live-composer-page-builder' ),
220
+ 'id' => 'query_alter',
221
  'std' => 'enabled',
222
  'type' => 'select',
223
  'choices' => array(
224
  array(
225
+ 'label' => __( 'Apply Page Query', 'live-composer-page-builder' ),
226
  'value' => 'enabled'
227
  ),
228
  array(
229
+ 'label' => __( 'Ignore Page Query', 'live-composer-page-builder' ),
230
  'value' => 'disabled'
231
  ),
232
  ),
233
+ 'help' => __( 'Apply Page Query – show posts according to the selected tag, category, author or search query.<br /> Ignore Page Query – ignore the page query and list posts as on any other page.', 'live-composer-page-builder' ),
234
  ),
235
 
236
  /* Styling */
550
  'affect_on_change_rule' => 'background-color',
551
  'section' => 'styling',
552
  'tab' => __( 'Thumbnail', 'live-composer-page-builder' ),
553
+ ),
554
  array(
555
  'label' => __( 'Border Color', 'live-composer-page-builder' ),
556
  'id' => 'css_thumb_border_color',
602
  'affect_on_change_rule' => 'border-style',
603
  'section' => 'styling',
604
  'tab' => __( 'Thumbnail', 'live-composer-page-builder' ),
605
+ ),
606
  array(
607
  'label' => __( 'Border Radius - Top', 'live-composer-page-builder' ),
608
  'id' => 'css_thumb_border_radius_top',
1235
  'section' => 'styling',
1236
  'tab' => __( 'Meta', 'live-composer-page-builder' ),
1237
  ),
1238
+
1239
  /**
1240
  * Excerpt
1241
  */
2155
  ),
2156
 
2157
  );
2158
+
2159
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'carousel_options' ) );
2160
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'heading_options' ) );
2161
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'filters_options' ) );
2162
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'carousel_arrows_options' ) );
2163
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'carousel_circles_options' ) );
2164
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'pagination_options' ) );
2165
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options' ) );
2166
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
2167
 
2168
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
2171
 
2172
  function output( $options ) {
2173
 
2174
+ if ( is_feed() ) {
2175
+ // Prevent category/tag feeds to stuck in an infinite loop
2176
+ return false;
2177
+ }
2178
+
2179
  global $dslc_active;
2180
 
2181
  if ( $dslc_active && is_user_logged_in() && current_user_can( DS_LIVE_COMPOSER_CAPABILITY ) )
2187
  if ( isset( $options['button_text'] ) ) {
2188
  $options['button_text'] = stripslashes( $options['button_text'] );
2189
  }
2190
+
2191
  $this->module_start( $options );
2192
 
2193
  /* CUSTOM START */
2199
  */
2200
 
2201
  // Fix for pagination
2202
+ if ( is_front_page() ) { $paged = ( get_query_var( 'page' ) ) ? get_query_var( 'page' ) : 1; } else { $paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1; }
2203
 
2204
  // Fix for pagination from other modules affecting this one when pag disabled
2205
  if ( $options['pagination_type'] == 'disabled' ) $paged = 1;
2210
 
2211
  // General args
2212
  $args = array(
2213
+ 'paged' => $paged,
2214
  'post_type' => $options['post_type'],
2215
  'posts_per_page' => $options['amount'],
2216
  'order' => $options['order'],
2222
  $args['offset'] = $query_offset;
2223
  }
2224
 
2225
+ if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
2226
+ $args['post_status'] = array('publish', 'private');
2227
  }
2228
 
2229
  // Category args
2230
  if ( isset( $options['categories'] ) && $options['categories'] != '' ) {
2231
+ $cats_array = explode( ' ', $options['categories'] );
2232
  $args['category__in'] = $cats_array;
2233
  }
2234
 
2247
  // Include posts ( option )
2248
  if ( $options['query_post_in'] )
2249
  $include = array_merge( $include, explode( ' ', $options['query_post_in'] ) );
2250
+
2251
  // Include query parameter
2252
  if ( ! empty( $include ) )
2253
  $args['post__in'] = $include;
2255
  // Exclude query parameter
2256
  if ( ! empty( $exclude ) )
2257
  $args['post__not_in'] = $exclude;
2258
+
2259
  // Author archive page
2260
+ if ( is_author() && $options['query_alter'] == 'enabled' ) {
2261
  global $authordata;
2262
+ $args['author__in'] = array($authordata->data->ID);
2263
  }
2264
+
2265
  // No paging
2266
  if ( $options['pagination_type'] == 'disabled' )
2267
  $args['no_found_rows'] = true;
2268
+
2269
  // Sticky Posts
2270
  if ( $options['sticky_posts'] == 'disabled' )
2271
  $args['ignore_sticky_posts'] = true;
2272
 
2273
  // Do the query
2274
+ if ( ( is_category() || is_tag() || is_tax() || is_search() || is_date() ) && $options['query_alter'] == 'enabled' ) {
 
 
 
2275
  global $wp_query;
2276
  $dslc_query = $wp_query;
2277
  } else {
2291
  /**
2292
  * Elements to show
2293
  */
2294
+
2295
  // Main Elements
2296
  $elements = $options['elements'];
2297
  if ( ! empty( $elements ) )
2298
  $elements = explode( ' ', trim( $elements ) );
2299
  else
2300
  $elements = array();
2301
+
2302
 
2303
  // Post Elements
2304
  $post_elements = $options['post_elements'];
2319
  */
2320
 
2321
  // Posts container
2322
+ $container_class = 'dslc-posts dslc-cpt-posts dslc-clearfix dslc-cpt-posts-type-' . $options['type'] . ' dslc-posts-orientation-' . $options['orientation'] . ' ';
2323
  if ( $options['type'] == 'masonry' )
2324
  $container_class .= 'dslc-init-masonry ';
2325
  elseif ( $options['type'] == 'grid' )
2343
  $show_view_all_link = false;
2344
 
2345
  if ( in_array( 'main_heading', $elements ) )
2346
+ $show_heading = true;
2347
 
2348
  if ( ( $elements == 'all' || in_array( 'filters', $elements ) ) && $options['type'] !== 'carousel' )
2349
  $show_filters = true;
2357
  /**
2358
  * Carousel Items
2359
  */
2360
+
2361
  switch ( $options['columns'] ) {
2362
  case 12 :
2363
  $carousel_items = 1;
2386
  if ( $show_header ) :
2387
  ?>
2388
  <div class="dslc-module-heading">
2389
+
2390
  <!-- Heading -->
2391
 
2392
  <?php if ( $show_heading ) : ?>
2416
 
2417
  if ( $dslc_query->have_posts() ) {
2418
 
2419
+ while ( $dslc_query->have_posts() ) {
2420
 
2421
+ $dslc_query->the_post();
2422
 
2423
  $cats_count++;
2424
 
2435
 
2436
  $post_cats = get_the_terms( get_the_ID(), $taxonomy_name );
2437
  if ( ! empty( $post_cats ) ) {
2438
+ foreach ( $post_cats as $post_cat ) {
2439
  $cats_array[$post_cat->slug] = $post_cat->name;
2440
  }
2441
  }
2512
  if ( isset( $taxonomy_name ) ) {
2513
  $post_cats = get_the_terms( get_the_ID(), $taxonomy_name );
2514
  if ( ! empty( $post_cats ) ) {
2515
+ foreach ( $post_cats as $post_cat ) {
2516
  $post_cats_data .= $post_cat->slug . ' ';
2517
  }
2518
  }
2533
  if ( isset( $options['thumb_resize_height'] ) && ! empty( $options['thumb_resize_height'] ) || isset( $options['thumb_resize_width_manual'] ) && ! empty( $options['thumb_resize_width_manual'] ) ) {
2534
 
2535
  $manual_resize = true;
2536
+ $thumb_url = wp_get_attachment_image_src( get_post_thumbnail_id(), 'full' );
2537
  $thumb_url = $thumb_url[0];
2538
 
2539
  $thumb_alt = get_post_meta( get_post_thumbnail_id(), '_wp_attachment_image_alt', true );
2540
  if ( ! $thumb_alt ) $thumb_alt = '';
2541
+
2542
  $resize_width = false;
2543
  $resize_height = false;
2544
 
2568
  <?php if ( ( $options['main_location'] == 'inside' || $options['main_location'] == 'inside_visible' ) && ( $post_elements == 'all' || in_array( 'title', $post_elements ) || in_array( 'meta', $post_elements ) || in_array( 'excerpt', $post_elements ) || in_array( 'button', $post_elements ) ) ) : ?>
2569
 
2570
  <div class="dslc-post-main dslc-cpt-post-main <?php if ( $options['main_location'] == 'inside_visible' ) echo 'dslc-cpt-post-main-visible'; ?> dslc-on-hover-anim-target dslc-anim-<?php echo $options['css_anim_hover']; ?>" data-dslc-anim="<?php echo $options['css_anim_hover'] ?>" data-dslc-anim-speed="<?php echo $options['css_anim_speed']; ?>">
2571
+
2572
  <div class="dslc-cpt-post-main-inner dslc-init-<?php echo $options['main_position']; ?>">
2573
 
2574
  <?php if ( $post_elements == 'all' || in_array( 'title', $post_elements ) ) : ?>
2577
  <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
2578
  </div><!-- .dslc-cpt-post-title -->
2579
 
2580
+ <?php endif; ?>
2581
 
2582
  <?php if ( $post_elements == 'all' || in_array( 'meta', $post_elements ) ) : ?>
2583
 
2584
+ <?php
2585
  // Meta Elements
2586
  $meta_elements = $options['meta_elements'];
2587
  $meta_elements = explode( ' ', trim( $meta_elements ) );
2588
  ?>
2589
 
2590
  <div class="dslc-cpt-post-meta">
2591
+
2592
  <?php if ( in_array( 'author', $meta_elements ) ) : ?>
2593
  <div class="dslc-cpt-post-meta-author">
2594
+ <?php _e( 'By', 'live-composer-page-builder' ); ?> <?php the_author_posts_link(); ?>
2595
  </div><!-- .dslc-cpt-post-meta-author -->
2596
  <?php endif; ?>
2597
 
2645
  </div><!-- .dslc-cpt-post-main-inner -->
2646
 
2647
  <a href="<?php the_permalink(); ?>" class="dslc-post-main-inner-link-cover"></a>
2648
+
2649
  </div><!-- .dslc-cpt-post-main -->
2650
 
2651
  <?php endif; ?>
2666
  <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
2667
  </div><!-- .dslc-cpt-post-title -->
2668
 
2669
+ <?php endif; ?>
2670
 
2671
  <?php if ( $post_elements == 'all' || in_array( 'meta', $post_elements ) ) : ?>
2672
 
2673
+ <?php
2674
  // Meta Elements
2675
  $meta_elements = $options['meta_elements'];
2676
  $meta_elements = explode( ' ', trim( $meta_elements ) );
2677
  ?>
2678
 
2679
  <div class="dslc-cpt-post-meta">
2680
+
2681
  <?php if ( in_array( 'author', $meta_elements ) ) : ?>
2682
  <div class="dslc-cpt-post-meta-author">
2683
+ <?php _e( 'By', 'live-composer-page-builder' ); ?> <?php the_author_posts_link(); ?>
2684
  </div><!-- .dslc-cpt-post-meta-author -->
2685
  <?php endif; ?>
2686
 
2766
  /**
2767
  * Pagination
2768
  */
2769
+
2770
  if ( isset( $options['pagination_type'] ) && $options['pagination_type'] != 'disabled' ) {
2771
  $num_pages = $dslc_query->max_num_pages;
2772
  if ( $options['offset'] > 0 ) {
2773
+ $num_pages = ceil( ( $dslc_query->found_posts - $options['offset'] ) / $options['amount'] );
2774
  }
2775
+ dslc_post_pagination( array('pages' => $num_pages, 'type' => $options['pagination_type']) );
2776
  }
2777
 
2778
+
2779
  wp_reset_postdata();
2780
 
2781
  $this->module_end( $options );
modules/progress-bars/module.php CHANGED
@@ -781,7 +781,7 @@ class DSLC_Progress_Bars extends DSLC_Module {
781
 
782
  );
783
 
784
- $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options', array( 'hover_opts' => false ) ) );
785
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
786
 
787
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
781
 
782
  );
783
 
784
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options', array('hover_opts' => false) ) );
785
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
786
 
787
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
modules/projects/functions.php CHANGED
@@ -39,7 +39,7 @@ function dslc_projects_module_cpt() {
39
 
40
  // With Front
41
  $with_front = dslc_get_option( 'with_front', 'dslc_plugin_options_cpt_slugs' );
42
- if ( empty ( $with_front ) ) $with_front = 'disabled';
43
  if ( $with_front == 'enabled' ) $with_front = true; else $with_front = false;
44
 
45
  /**
@@ -65,8 +65,8 @@ function dslc_projects_module_cpt() {
65
  'parent' => __( 'Parent Project', 'live-composer-page-builder' ),
66
  ),
67
  'public' => true,
68
- 'rewrite' => array( 'slug' => dslc_get_option( 'projects_slug', 'dslc_plugin_options_cpt_slugs' ), 'with_front' => $with_front ),
69
- 'supports' => array( 'title', 'custom-fields', 'excerpt', 'editor', 'author', 'thumbnail', 'comments' ),
70
  'capabilities' => array(
71
  'publish_posts' => $capability,
72
  'edit_posts' => $capability,
39
 
40
  // With Front
41
  $with_front = dslc_get_option( 'with_front', 'dslc_plugin_options_cpt_slugs' );
42
+ if ( empty ( $with_front ) ) $with_front = 'disabled';
43
  if ( $with_front == 'enabled' ) $with_front = true; else $with_front = false;
44
 
45
  /**
65
  'parent' => __( 'Parent Project', 'live-composer-page-builder' ),
66
  ),
67
  'public' => true,
68
+ 'rewrite' => array('slug' => dslc_get_option( 'projects_slug', 'dslc_plugin_options_cpt_slugs' ), 'with_front' => $with_front),
69
+ 'supports' => array('title', 'custom-fields', 'excerpt', 'editor', 'author', 'thumbnail', 'comments'),
70
  'capabilities' => array(
71
  'publish_posts' => $capability,
72
  'edit_posts' => $capability,
modules/projects/module.php CHANGED
@@ -18,7 +18,7 @@ class DSLC_Projects extends DSLC_Module {
18
  $this->module_category = 'posts';
19
 
20
  }
21
-
22
  function options() {
23
 
24
  $cats = get_terms( 'dslc_projects_cats' );
@@ -157,7 +157,7 @@ class DSLC_Projects extends DSLC_Module {
157
  'id' => 'columns',
158
  'std' => '3',
159
  'type' => 'select',
160
- 'choices' => $this->shared_options('posts_per_row_choices'),
161
  ),
162
  array(
163
  'label' => __( 'Categories', 'live-composer-page-builder' ),
@@ -250,60 +250,26 @@ class DSLC_Projects extends DSLC_Module {
250
  'type' => 'text',
251
  ),
252
 
253
- // Query Altering
254
- array(
255
- 'label' => __( 'On Author Archive', 'live-composer-page-builder' ),
256
- 'id' => 'query_alter_author',
257
- 'std' => 'enabled',
258
- 'type' => 'select',
259
- 'choices' => array(
260
- array(
261
- 'label' => __( 'Show Posts Of That Author', 'live-composer-page-builder' ),
262
- 'value' => 'enabled'
263
- ),
264
- array(
265
- 'label' => __( 'Do NOT Alter Query', 'live-composer-page-builder' ),
266
- 'value' => 'disabled'
267
- ),
268
- ),
269
- 'tab' => __( 'Query Alter', 'live-composer-page-builder' ),
270
- ),
271
- array(
272
- 'label' => __( 'On Category/Tag Archive', 'live-composer-page-builder' ),
273
- 'id' => 'query_alter_cat',
274
- 'std' => 'enabled',
275
- 'type' => 'select',
276
- 'choices' => array(
277
- array(
278
- 'label' => __( 'Show Posts Of That Category/Tag', 'live-composer-page-builder' ),
279
- 'value' => 'enabled'
280
- ),
281
- array(
282
- 'label' => __( 'Do NOT Alter Query', 'live-composer-page-builder' ),
283
- 'value' => 'disabled'
284
- ),
285
- ),
286
- 'tab' => __( 'Query Alter', 'live-composer-page-builder' ),
287
- ),
288
  array(
289
- 'label' => __( 'On Search Results Page', 'live-composer-page-builder' ),
290
- 'id' => 'query_alter_search',
291
  'std' => 'enabled',
292
  'type' => 'select',
293
  'choices' => array(
294
  array(
295
- 'label' => __( 'Show Posts Matching Search Term', 'live-composer-page-builder' ),
296
  'value' => 'enabled'
297
  ),
298
  array(
299
- 'label' => __( 'Do NOT Alter Query', 'live-composer-page-builder' ),
300
  'value' => 'disabled'
301
  ),
302
  ),
303
- 'tab' => __( 'Query Alter', 'live-composer-page-builder' ),
304
  ),
305
-
306
- /**
307
  * General
308
  */
309
 
@@ -514,7 +480,7 @@ class DSLC_Projects extends DSLC_Module {
514
  'affect_on_change_rule' => 'background-color',
515
  'section' => 'styling',
516
  'tab' => __( 'Thumbnail', 'live-composer-page-builder' ),
517
- ),
518
  array(
519
  'label' => __( 'Border Color', 'live-composer-page-builder' ),
520
  'id' => 'css_thumb_border_color',
@@ -566,7 +532,7 @@ class DSLC_Projects extends DSLC_Module {
566
  'affect_on_change_rule' => 'border-style',
567
  'section' => 'styling',
568
  'tab' => __( 'Thumbnail', 'live-composer-page-builder' ),
569
- ),
570
  array(
571
  'label' => __( 'Border Radius - Top', 'live-composer-page-builder' ),
572
  'id' => 'css_thumbnail_border_radius_top',
@@ -1995,17 +1961,17 @@ class DSLC_Projects extends DSLC_Module {
1995
  'tab' => __( 'phone', 'live-composer-page-builder' ),
1996
  ),
1997
 
1998
-
1999
 
2000
  );
2001
 
2002
- $dslc_options = array_merge( $dslc_options, $this->shared_options('carousel_options') );
2003
- $dslc_options = array_merge( $dslc_options, $this->shared_options('heading_options') );
2004
- $dslc_options = array_merge( $dslc_options, $this->shared_options('filters_options') );
2005
- $dslc_options = array_merge( $dslc_options, $this->shared_options('carousel_arrows_options') );
2006
- $dslc_options = array_merge( $dslc_options, $this->shared_options('carousel_circles_options') );
2007
- $dslc_options = array_merge( $dslc_options, $this->shared_options('pagination_options') );
2008
- $dslc_options = array_merge( $dslc_options, $this->shared_options('animation_options') );
2009
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
2010
 
2011
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
@@ -2014,6 +1980,11 @@ class DSLC_Projects extends DSLC_Module {
2014
 
2015
  function output( $options ) {
2016
 
 
 
 
 
 
2017
  global $dslc_active;
2018
 
2019
  if ( $dslc_active && is_user_logged_in() && current_user_can( DS_LIVE_COMPOSER_CAPABILITY ) )
@@ -2025,7 +1996,7 @@ class DSLC_Projects extends DSLC_Module {
2025
  if ( isset( $options['button_text'] ) ) {
2026
  $options['button_text'] = stripslashes( $options['button_text'] );
2027
  }
2028
-
2029
  $options['module_id'] = $this->module_id;
2030
 
2031
  $this->module_start( $options );
@@ -2035,7 +2006,7 @@ class DSLC_Projects extends DSLC_Module {
2035
  if ( ! isset( $options['excerpt_length'] ) ) $options['excerpt_length'] = 20;
2036
  if ( ! isset( $options['type'] ) ) $options['type'] = 'grid';
2037
 
2038
- if( is_front_page() ) { $paged = ( get_query_var( 'page' ) ) ? get_query_var( 'page' ) : 1; } else { $paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1; }
2039
 
2040
  // Fix for pagination from other modules affecting this one when pag disabled
2041
  if ( $options['pagination_type'] == 'disabled' ) $paged = 1;
@@ -2043,9 +2014,9 @@ class DSLC_Projects extends DSLC_Module {
2043
  // Fix for offset braking pagination
2044
  $query_offset = $options['offset'];
2045
  if ( $query_offset > 0 && $paged > 1 ) $query_offset = ( $paged - 1 ) * $options['amount'] + $options['offset'];
2046
-
2047
  $args = array(
2048
- 'paged' => $paged,
2049
  'post_type' => 'dslc_projects',
2050
  'posts_per_page' => $options['amount'],
2051
  'order' => $options['order'],
@@ -2057,13 +2028,13 @@ class DSLC_Projects extends DSLC_Module {
2057
  $args['offset'] = $query_offset;
2058
  }
2059
 
2060
- if ( defined('DOING_AJAX') && DOING_AJAX ) {
2061
- $args['post_status'] = array( 'publish', 'private' );
2062
  }
2063
 
2064
  if ( isset( $options['categories'] ) && $options['categories'] != '' ) {
2065
-
2066
- $cats_array = explode( ' ', trim( $options['categories'] ));
2067
 
2068
  $args['tax_query'] = array(
2069
  array(
@@ -2073,7 +2044,7 @@ class DSLC_Projects extends DSLC_Module {
2073
  'operator' => $options['categories_operator']
2074
  )
2075
  );
2076
-
2077
  }
2078
 
2079
  // Exlcude and Include arrays
@@ -2091,7 +2062,7 @@ class DSLC_Projects extends DSLC_Module {
2091
  // Include posts ( option )
2092
  if ( $options['query_post_in'] )
2093
  $include = array_merge( $include, explode( ' ', $options['query_post_in'] ) );
2094
-
2095
  // Include query parameter
2096
  if ( ! empty( $include ) )
2097
  $args['post__in'] = $include;
@@ -2099,22 +2070,19 @@ class DSLC_Projects extends DSLC_Module {
2099
  // Exclude query parameter
2100
  if ( ! empty( $exclude ) )
2101
  $args['post__not_in'] = $exclude;
2102
-
2103
  // Author archive page
2104
- if ( is_author() && $options['query_alter_author'] == 'enabled' ) {
2105
  global $authordata;
2106
- $args['author__in'] = array( $authordata->data->ID );
2107
  }
2108
-
2109
  // No paging
2110
  if ( $options['pagination_type'] == 'disabled' )
2111
  $args['no_found_rows'] = true;
2112
-
2113
  // Do the query
2114
- if ( ( is_category() || is_tag() || is_tax() ) && $options['query_alter_cat'] == 'enabled' ) {
2115
- global $wp_query;
2116
- $dslc_query = $wp_query;
2117
- } elseif ( is_search() && $options['query_alter_search'] == 'enabled' ) {
2118
  global $wp_query;
2119
  $dslc_query = $wp_query;
2120
  } else {
@@ -2131,14 +2099,14 @@ class DSLC_Projects extends DSLC_Module {
2131
  /**
2132
  * Elements to show
2133
  */
2134
-
2135
  // Main Elements
2136
  $elements = $options['elements'];
2137
  if ( ! empty( $elements ) )
2138
  $elements = explode( ' ', trim( $elements ) );
2139
  else
2140
  $elements = array();
2141
-
2142
 
2143
  // Post Elements
2144
  $post_elements = $options['post_elements'];
@@ -2183,7 +2151,7 @@ class DSLC_Projects extends DSLC_Module {
2183
  $show_view_all_link = false;
2184
 
2185
  if ( in_array( 'main_heading', $elements ) )
2186
- $show_heading = true;
2187
 
2188
  if ( ( $elements == 'all' || in_array( 'filters', $elements ) ) && $options['type'] !== 'carousel' )
2189
  $show_filters = true;
@@ -2197,7 +2165,7 @@ class DSLC_Projects extends DSLC_Module {
2197
  /**
2198
  * Carousel Items
2199
  */
2200
-
2201
  switch ( $options['columns'] ) {
2202
  case 12 :
2203
  $carousel_items = 1;
@@ -2226,7 +2194,7 @@ class DSLC_Projects extends DSLC_Module {
2226
  if ( $show_header ) :
2227
  ?>
2228
  <div class="dslc-module-heading">
2229
-
2230
  <!-- Heading -->
2231
 
2232
  <?php if ( $show_heading ) : ?>
@@ -2255,11 +2223,11 @@ class DSLC_Projects extends DSLC_Module {
2255
 
2256
  while ( $dslc_query->have_posts() ) {
2257
 
2258
- $dslc_query->the_post();
2259
 
2260
  $post_cats = get_the_terms( get_the_ID(), 'dslc_projects_cats' );
2261
  if ( ! empty( $post_cats ) ) {
2262
- foreach( $post_cats as $post_cat ) {
2263
  $cats_array[$post_cat->slug] = $post_cat->name;
2264
  }
2265
  }
@@ -2337,7 +2305,7 @@ class DSLC_Projects extends DSLC_Module {
2337
 
2338
  $project_cats_data = '';
2339
  if ( ! empty( $project_cats ) ) {
2340
- foreach( $project_cats as $project_cat ) {
2341
  $project_cats_data .= $project_cat->slug . ' ';
2342
  }
2343
  }
@@ -2350,9 +2318,9 @@ class DSLC_Projects extends DSLC_Module {
2350
  else
2351
  $the_project_url = '#';
2352
  }
2353
-
2354
  // Project URL target
2355
- $the_project_url_target = $options['link_target'];
2356
 
2357
  ?>
2358
 
@@ -2369,7 +2337,7 @@ class DSLC_Projects extends DSLC_Module {
2369
  if ( isset( $options['thumb_resize_height'] ) && ! empty( $options['thumb_resize_height'] ) || isset( $options['thumb_resize_width_manual'] ) && ! empty( $options['thumb_resize_width_manual'] ) ) {
2370
 
2371
  $manual_resize = true;
2372
- $thumb_url = wp_get_attachment_image_src( get_post_thumbnail_id(), 'full' );
2373
  $thumb_url = $thumb_url[0];
2374
 
2375
  $thumb_alt = get_post_meta( get_post_thumbnail_id(), '_wp_attachment_image_alt', true );
@@ -2470,7 +2438,7 @@ class DSLC_Projects extends DSLC_Module {
2470
  </div><!-- .dslc-init-center -->
2471
 
2472
  <a href="<?php echo $the_project_url; ?>" class="dslc-post-main-inner-link-cover"></a>
2473
-
2474
  </div><!-- .dslc-project-main -->
2475
 
2476
  <?php endif; ?>
@@ -2552,7 +2520,7 @@ class DSLC_Projects extends DSLC_Module {
2552
 
2553
  </div><!-- .dslc-project -->
2554
 
2555
- <?php
2556
 
2557
  // Row Separator
2558
  if ( $options['type'] == 'grid' && $count == 0 && $real_count != $dslc_query->found_posts && $real_count != $options['amount'] && $options['separator_enabled'] == 'enabled' ) {
@@ -2584,13 +2552,13 @@ class DSLC_Projects extends DSLC_Module {
2584
  /**
2585
  * Pagination
2586
  */
2587
-
2588
  if ( isset( $options['pagination_type'] ) && $options['pagination_type'] != 'disabled' ) {
2589
  $num_pages = $dslc_query->max_num_pages;
2590
  if ( $options['offset'] > 0 ) {
2591
- $num_pages = ceil ( ( $dslc_query->found_posts - $options['offset'] ) / $options['amount'] );
2592
  }
2593
- dslc_post_pagination( array( 'pages' => $num_pages, 'type' => $options['pagination_type'] ) );
2594
  }
2595
 
2596
  wp_reset_postdata();
18
  $this->module_category = 'posts';
19
 
20
  }
21
+
22
  function options() {
23
 
24
  $cats = get_terms( 'dslc_projects_cats' );
157
  'id' => 'columns',
158
  'std' => '3',
159
  'type' => 'select',
160
+ 'choices' => $this->shared_options( 'posts_per_row_choices' ),
161
  ),
162
  array(
163
  'label' => __( 'Categories', 'live-composer-page-builder' ),
250
  'type' => 'text',
251
  ),
252
 
253
+ // Archive Listinging
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
254
  array(
255
+ 'label' => __( 'Archive/Search Listing', 'live-composer-page-builder' ),
256
+ 'id' => 'query_alter',
257
  'std' => 'enabled',
258
  'type' => 'select',
259
  'choices' => array(
260
  array(
261
+ 'label' => __( 'Apply Page Query', 'live-composer-page-builder' ),
262
  'value' => 'enabled'
263
  ),
264
  array(
265
+ 'label' => __( 'Ignore Page Query', 'live-composer-page-builder' ),
266
  'value' => 'disabled'
267
  ),
268
  ),
269
+ 'help' => __( 'Apply Page Query – show posts according to the selected tag, category, author or search query.<br /> Ignore Page Query – ignore the page query and list posts as on any other page.', 'live-composer-page-builder' ),
270
  ),
271
+
272
+ /**
273
  * General
274
  */
275
 
480
  'affect_on_change_rule' => 'background-color',
481
  'section' => 'styling',
482
  'tab' => __( 'Thumbnail', 'live-composer-page-builder' ),
483
+ ),
484
  array(
485
  'label' => __( 'Border Color', 'live-composer-page-builder' ),
486
  'id' => 'css_thumb_border_color',
532
  'affect_on_change_rule' => 'border-style',
533
  'section' => 'styling',
534
  'tab' => __( 'Thumbnail', 'live-composer-page-builder' ),
535
+ ),
536
  array(
537
  'label' => __( 'Border Radius - Top', 'live-composer-page-builder' ),
538
  'id' => 'css_thumbnail_border_radius_top',
1961
  'tab' => __( 'phone', 'live-composer-page-builder' ),
1962
  ),
1963
 
1964
+
1965
 
1966
  );
1967
 
1968
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'carousel_options' ) );
1969
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'heading_options' ) );
1970
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'filters_options' ) );
1971
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'carousel_arrows_options' ) );
1972
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'carousel_circles_options' ) );
1973
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'pagination_options' ) );
1974
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options' ) );
1975
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
1976
 
1977
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
1980
 
1981
  function output( $options ) {
1982
 
1983
+ if ( is_feed() ) {
1984
+ // Prevent category/tag feeds to stuck in an infinite loop
1985
+ return false;
1986
+ }
1987
+
1988
  global $dslc_active;
1989
 
1990
  if ( $dslc_active && is_user_logged_in() && current_user_can( DS_LIVE_COMPOSER_CAPABILITY ) )
1996
  if ( isset( $options['button_text'] ) ) {
1997
  $options['button_text'] = stripslashes( $options['button_text'] );
1998
  }
1999
+
2000
  $options['module_id'] = $this->module_id;
2001
 
2002
  $this->module_start( $options );
2006
  if ( ! isset( $options['excerpt_length'] ) ) $options['excerpt_length'] = 20;
2007
  if ( ! isset( $options['type'] ) ) $options['type'] = 'grid';
2008
 
2009
+ if ( is_front_page() ) { $paged = ( get_query_var( 'page' ) ) ? get_query_var( 'page' ) : 1; } else { $paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1; }
2010
 
2011
  // Fix for pagination from other modules affecting this one when pag disabled
2012
  if ( $options['pagination_type'] == 'disabled' ) $paged = 1;
2014
  // Fix for offset braking pagination
2015
  $query_offset = $options['offset'];
2016
  if ( $query_offset > 0 && $paged > 1 ) $query_offset = ( $paged - 1 ) * $options['amount'] + $options['offset'];
2017
+
2018
  $args = array(
2019
+ 'paged' => $paged,
2020
  'post_type' => 'dslc_projects',
2021
  'posts_per_page' => $options['amount'],
2022
  'order' => $options['order'],
2028
  $args['offset'] = $query_offset;
2029
  }
2030
 
2031
+ if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
2032
+ $args['post_status'] = array('publish', 'private');
2033
  }
2034
 
2035
  if ( isset( $options['categories'] ) && $options['categories'] != '' ) {
2036
+
2037
+ $cats_array = explode( ' ', trim( $options['categories'] ) );
2038
 
2039
  $args['tax_query'] = array(
2040
  array(
2044
  'operator' => $options['categories_operator']
2045
  )
2046
  );
2047
+
2048
  }
2049
 
2050
  // Exlcude and Include arrays
2062
  // Include posts ( option )
2063
  if ( $options['query_post_in'] )
2064
  $include = array_merge( $include, explode( ' ', $options['query_post_in'] ) );
2065
+
2066
  // Include query parameter
2067
  if ( ! empty( $include ) )
2068
  $args['post__in'] = $include;
2070
  // Exclude query parameter
2071
  if ( ! empty( $exclude ) )
2072
  $args['post__not_in'] = $exclude;
2073
+
2074
  // Author archive page
2075
+ if ( is_author() && $options['query_alter'] == 'enabled' ) {
2076
  global $authordata;
2077
+ $args['author__in'] = array($authordata->data->ID);
2078
  }
2079
+
2080
  // No paging
2081
  if ( $options['pagination_type'] == 'disabled' )
2082
  $args['no_found_rows'] = true;
2083
+
2084
  // Do the query
2085
+ if ( ( is_category() || is_tag() || is_tax() || is_search() || is_date() ) && $options['query_alter'] == 'enabled' ) {
 
 
 
2086
  global $wp_query;
2087
  $dslc_query = $wp_query;
2088
  } else {
2099
  /**
2100
  * Elements to show
2101
  */
2102
+
2103
  // Main Elements
2104
  $elements = $options['elements'];
2105
  if ( ! empty( $elements ) )
2106
  $elements = explode( ' ', trim( $elements ) );
2107
  else
2108
  $elements = array();
2109
+
2110
 
2111
  // Post Elements
2112
  $post_elements = $options['post_elements'];
2151
  $show_view_all_link = false;
2152
 
2153
  if ( in_array( 'main_heading', $elements ) )
2154
+ $show_heading = true;
2155
 
2156
  if ( ( $elements == 'all' || in_array( 'filters', $elements ) ) && $options['type'] !== 'carousel' )
2157
  $show_filters = true;
2165
  /**
2166
  * Carousel Items
2167
  */
2168
+
2169
  switch ( $options['columns'] ) {
2170
  case 12 :
2171
  $carousel_items = 1;
2194
  if ( $show_header ) :
2195
  ?>
2196
  <div class="dslc-module-heading">
2197
+
2198
  <!-- Heading -->
2199
 
2200
  <?php if ( $show_heading ) : ?>
2223
 
2224
  while ( $dslc_query->have_posts() ) {
2225
 
2226
+ $dslc_query->the_post();
2227
 
2228
  $post_cats = get_the_terms( get_the_ID(), 'dslc_projects_cats' );
2229
  if ( ! empty( $post_cats ) ) {
2230
+ foreach ( $post_cats as $post_cat ) {
2231
  $cats_array[$post_cat->slug] = $post_cat->name;
2232
  }
2233
  }
2305
 
2306
  $project_cats_data = '';
2307
  if ( ! empty( $project_cats ) ) {
2308
+ foreach ( $project_cats as $project_cat ) {
2309
  $project_cats_data .= $project_cat->slug . ' ';
2310
  }
2311
  }
2318
  else
2319
  $the_project_url = '#';
2320
  }
2321
+
2322
  // Project URL target
2323
+ $the_project_url_target = $options['link_target'];
2324
 
2325
  ?>
2326
 
2337
  if ( isset( $options['thumb_resize_height'] ) && ! empty( $options['thumb_resize_height'] ) || isset( $options['thumb_resize_width_manual'] ) && ! empty( $options['thumb_resize_width_manual'] ) ) {
2338
 
2339
  $manual_resize = true;
2340
+ $thumb_url = wp_get_attachment_image_src( get_post_thumbnail_id(), 'full' );
2341
  $thumb_url = $thumb_url[0];
2342
 
2343
  $thumb_alt = get_post_meta( get_post_thumbnail_id(), '_wp_attachment_image_alt', true );
2438
  </div><!-- .dslc-init-center -->
2439
 
2440
  <a href="<?php echo $the_project_url; ?>" class="dslc-post-main-inner-link-cover"></a>
2441
+
2442
  </div><!-- .dslc-project-main -->
2443
 
2444
  <?php endif; ?>
2520
 
2521
  </div><!-- .dslc-project -->
2522
 
2523
+ <?php
2524
 
2525
  // Row Separator
2526
  if ( $options['type'] == 'grid' && $count == 0 && $real_count != $dslc_query->found_posts && $real_count != $options['amount'] && $options['separator_enabled'] == 'enabled' ) {
2552
  /**
2553
  * Pagination
2554
  */
2555
+
2556
  if ( isset( $options['pagination_type'] ) && $options['pagination_type'] != 'disabled' ) {
2557
  $num_pages = $dslc_query->max_num_pages;
2558
  if ( $options['offset'] > 0 ) {
2559
+ $num_pages = ceil( ( $dslc_query->found_posts - $options['offset'] ) / $options['amount'] );
2560
  }
2561
+ dslc_post_pagination( array('pages' => $num_pages, 'type' => $options['pagination_type']) );
2562
  }
2563
 
2564
  wp_reset_postdata();
modules/separator/module.php CHANGED
@@ -41,7 +41,7 @@ class DSLC_Separator extends DSLC_Module {
41
  ),
42
  ),
43
  array(
44
- 'label' => __( 'BG Color', 'live-composer-page-builder' ) ,
45
  'id' => 'css_bg_color',
46
  'std' => '',
47
  'type' => 'color',
@@ -228,7 +228,7 @@ class DSLC_Separator extends DSLC_Module {
228
  'ext' => 'px',
229
  ),
230
  array(
231
- 'label' => __( 'Color', 'live-composer-page-builder' ) ,
232
  'id' => 'css_border_color',
233
  'std' => '#ededed',
234
  'type' => 'color',
@@ -238,7 +238,7 @@ class DSLC_Separator extends DSLC_Module {
238
  'section' => 'styling',
239
  ),
240
  array(
241
- 'label' => __( 'Height', 'live-composer-page-builder' ) ,
242
  'id' => 'height',
243
  'std' => '25',
244
  'type' => 'slider',
@@ -251,32 +251,32 @@ class DSLC_Separator extends DSLC_Module {
251
  'section' => 'styling',
252
  ),
253
  array(
254
- 'label' => __( 'Style', 'live-composer-page-builder' ) ,
255
  'id' => 'style',
256
  'std' => 'solid',
257
  'type' => 'select',
258
  'choices' => array(
259
  array(
260
- 'label' => __( 'Invisible', 'live-composer-page-builder' ) ,
261
  'value' => 'invisible'
262
  ),
263
  array(
264
- 'label' => __( 'Solid', 'live-composer-page-builder' ) ,
265
  'value' => 'solid'
266
  ),
267
  array(
268
- 'label' => __( 'Dashed', 'live-composer-page-builder' ) ,
269
  'value' => 'dashed'
270
  ),
271
  array(
272
- 'label' => __( 'Dotted', 'live-composer-page-builder' ) ,
273
  'value' => 'dotted'
274
  ),
275
  ),
276
  'section' => 'styling',
277
  ),
278
  array(
279
- 'label' => __( 'Thickness', 'live-composer-page-builder' ) ,
280
  'id' => 'thickness',
281
  'std' => '1',
282
  'type' => 'slider',
@@ -294,17 +294,17 @@ class DSLC_Separator extends DSLC_Module {
294
  */
295
 
296
  array(
297
- 'label' => __( 'Responsive Styling', 'live-composer-page-builder' ) ,
298
  'id' => 'css_res_t',
299
  'std' => 'disabled',
300
  'type' => 'select',
301
  'choices' => array(
302
  array(
303
- 'label' => __( 'Disabled', 'live-composer-page-builder' ) ,
304
  'value' => 'disabled'
305
  ),
306
  array(
307
- 'label' => __( 'Enabled', 'live-composer-page-builder' ) ,
308
  'value' => 'enabled'
309
  ),
310
  ),
@@ -312,7 +312,7 @@ class DSLC_Separator extends DSLC_Module {
312
  'tab' => __( 'tablet', 'live-composer-page-builder' ),
313
  ),
314
  array(
315
- 'label' => __( 'Height', 'live-composer-page-builder' ) ,
316
  'id' => 'res_t_height',
317
  'std' => '25',
318
  'type' => 'slider',
@@ -331,17 +331,17 @@ class DSLC_Separator extends DSLC_Module {
331
  */
332
 
333
  array(
334
- 'label' => __( 'Responsive Styling', 'live-composer-page-builder' ) ,
335
  'id' => 'css_res_p',
336
  'std' => 'disabled',
337
  'type' => 'select',
338
  'choices' => array(
339
  array(
340
- 'label' => __( 'Disabled', 'live-composer-page-builder' ) ,
341
  'value' => 'disabled'
342
  ),
343
  array(
344
- 'label' => __( 'Enabled', 'live-composer-page-builder' ) ,
345
  'value' => 'enabled'
346
  ),
347
  ),
@@ -349,7 +349,7 @@ class DSLC_Separator extends DSLC_Module {
349
  'tab' => __( 'phone', 'live-composer-page-builder' ),
350
  ),
351
  array(
352
- 'label' => __( 'Height', 'live-composer-page-builder' ) ,
353
  'id' => 'res_p_height',
354
  'std' => '25',
355
  'type' => 'slider',
@@ -365,7 +365,7 @@ class DSLC_Separator extends DSLC_Module {
365
 
366
  );
367
 
368
- $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options', array( 'hover_opts' => false ) ) );
369
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
370
 
371
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
41
  ),
42
  ),
43
  array(
44
+ 'label' => __( 'BG Color', 'live-composer-page-builder' ),
45
  'id' => 'css_bg_color',
46
  'std' => '',
47
  'type' => 'color',
228
  'ext' => 'px',
229
  ),
230
  array(
231
+ 'label' => __( 'Color', 'live-composer-page-builder' ),
232
  'id' => 'css_border_color',
233
  'std' => '#ededed',
234
  'type' => 'color',
238
  'section' => 'styling',
239
  ),
240
  array(
241
+ 'label' => __( 'Height', 'live-composer-page-builder' ),
242
  'id' => 'height',
243
  'std' => '25',
244
  'type' => 'slider',
251
  'section' => 'styling',
252
  ),
253
  array(
254
+ 'label' => __( 'Style', 'live-composer-page-builder' ),
255
  'id' => 'style',
256
  'std' => 'solid',
257
  'type' => 'select',
258
  'choices' => array(
259
  array(
260
+ 'label' => __( 'Invisible', 'live-composer-page-builder' ),
261
  'value' => 'invisible'
262
  ),
263
  array(
264
+ 'label' => __( 'Solid', 'live-composer-page-builder' ),
265
  'value' => 'solid'
266
  ),
267
  array(
268
+ 'label' => __( 'Dashed', 'live-composer-page-builder' ),
269
  'value' => 'dashed'
270
  ),
271
  array(
272
+ 'label' => __( 'Dotted', 'live-composer-page-builder' ),
273
  'value' => 'dotted'
274
  ),
275
  ),
276
  'section' => 'styling',
277
  ),
278
  array(
279
+ 'label' => __( 'Thickness', 'live-composer-page-builder' ),
280
  'id' => 'thickness',
281
  'std' => '1',
282
  'type' => 'slider',
294
  */
295
 
296
  array(
297
+ 'label' => __( 'Responsive Styling', 'live-composer-page-builder' ),
298
  'id' => 'css_res_t',
299
  'std' => 'disabled',
300
  'type' => 'select',
301
  'choices' => array(
302
  array(
303
+ 'label' => __( 'Disabled', 'live-composer-page-builder' ),
304
  'value' => 'disabled'
305
  ),
306
  array(
307
+ 'label' => __( 'Enabled', 'live-composer-page-builder' ),
308
  'value' => 'enabled'
309
  ),
310
  ),
312
  'tab' => __( 'tablet', 'live-composer-page-builder' ),
313
  ),
314
  array(
315
+ 'label' => __( 'Height', 'live-composer-page-builder' ),
316
  'id' => 'res_t_height',
317
  'std' => '25',
318
  'type' => 'slider',
331
  */
332
 
333
  array(
334
+ 'label' => __( 'Responsive Styling', 'live-composer-page-builder' ),
335
  'id' => 'css_res_p',
336
  'std' => 'disabled',
337
  'type' => 'select',
338
  'choices' => array(
339
  array(
340
+ 'label' => __( 'Disabled', 'live-composer-page-builder' ),
341
  'value' => 'disabled'
342
  ),
343
  array(
344
+ 'label' => __( 'Enabled', 'live-composer-page-builder' ),
345
  'value' => 'enabled'
346
  ),
347
  ),
349
  'tab' => __( 'phone', 'live-composer-page-builder' ),
350
  ),
351
  array(
352
+ 'label' => __( 'Height', 'live-composer-page-builder' ),
353
  'id' => 'res_p_height',
354
  'std' => '25',
355
  'type' => 'slider',
365
 
366
  );
367
 
368
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options', array('hover_opts' => false) ) );
369
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
370
 
371
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
modules/social/module.php CHANGED
@@ -690,7 +690,7 @@ class DSLC_Social extends DSLC_Module {
690
 
691
  );
692
 
693
- $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options', array( 'hover_opts' => false ) ) );
694
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
695
 
696
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
690
 
691
  );
692
 
693
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options', array('hover_opts' => false) ) );
694
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
695
 
696
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
modules/staff/functions.php CHANGED
@@ -62,7 +62,7 @@ function dslc_staff_module_cpt() {
62
 
63
  // With Front
64
  $with_front = dslc_get_option( 'with_front', 'dslc_plugin_options_cpt_slugs' );
65
- if ( empty ( $with_front ) ) $with_front = 'disabled';
66
  if ( $with_front == 'enabled' ) $with_front = true; else $with_front = false;
67
 
68
  /**
@@ -88,8 +88,8 @@ function dslc_staff_module_cpt() {
88
  'parent' => __( 'Parent Staff Member', 'live-composer-page-builder' ),
89
  ),
90
  'public' => true,
91
- 'rewrite' => array( 'slug' => dslc_get_option( 'staff_slug', 'dslc_plugin_options_cpt_slugs' ), 'with_front' => $with_front ),
92
- 'supports' => array( 'title', 'custom-fields', 'excerpt', 'editor', 'author', 'thumbnail', 'comments' ),
93
  'capabilities' => array(
94
  'publish_posts' => $capability,
95
  'edit_posts' => $capability,
62
 
63
  // With Front
64
  $with_front = dslc_get_option( 'with_front', 'dslc_plugin_options_cpt_slugs' );
65
+ if ( empty ( $with_front ) ) $with_front = 'disabled';
66
  if ( $with_front == 'enabled' ) $with_front = true; else $with_front = false;
67
 
68
  /**
88
  'parent' => __( 'Parent Staff Member', 'live-composer-page-builder' ),
89
  ),
90
  'public' => true,
91
+ 'rewrite' => array('slug' => dslc_get_option( 'staff_slug', 'dslc_plugin_options_cpt_slugs' ), 'with_front' => $with_front),
92
+ 'supports' => array('title', 'custom-fields', 'excerpt', 'editor', 'author', 'thumbnail', 'comments'),
93
  'capabilities' => array(
94
  'publish_posts' => $capability,
95
  'edit_posts' => $capability,
modules/staff/module.php CHANGED
@@ -124,7 +124,7 @@ class DSLC_Staff extends DSLC_Module {
124
  'id' => 'columns',
125
  'std' => '3',
126
  'type' => 'select',
127
- 'choices' => $this->shared_options('posts_per_row_choices'),
128
  ),
129
  array(
130
  'label' => __( 'Categories', 'live-composer-page-builder' ),
@@ -1838,13 +1838,13 @@ class DSLC_Staff extends DSLC_Module {
1838
 
1839
  );
1840
 
1841
- $dslc_options = array_merge( $dslc_options, $this->shared_options('carousel_options') );
1842
- $dslc_options = array_merge( $dslc_options, $this->shared_options('heading_options') );
1843
- $dslc_options = array_merge( $dslc_options, $this->shared_options('filters_options') );
1844
- $dslc_options = array_merge( $dslc_options, $this->shared_options('carousel_arrows_options') );
1845
- $dslc_options = array_merge( $dslc_options, $this->shared_options('carousel_circles_options') );
1846
- $dslc_options = array_merge( $dslc_options, $this->shared_options('pagination_options') );
1847
- $dslc_options = array_merge( $dslc_options, $this->shared_options('animation_options') );
1848
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
1849
 
1850
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
@@ -1866,7 +1866,7 @@ class DSLC_Staff extends DSLC_Module {
1866
 
1867
  if ( ! isset( $options['excerpt_length'] ) ) $options['excerpt_length'] = 20;
1868
 
1869
- if( is_front_page() ) { $paged = ( get_query_var( 'page' ) ) ? get_query_var( 'page' ) : 1; } else { $paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1; }
1870
 
1871
  // Fix for pagination from other modules affecting this one when pag disabled
1872
  if ( $options['pagination_type'] == 'disabled' ) $paged = 1;
@@ -1888,13 +1888,13 @@ class DSLC_Staff extends DSLC_Module {
1888
  $args['offset'] = $query_offset;
1889
  }
1890
 
1891
- if ( defined('DOING_AJAX') && DOING_AJAX ) {
1892
- $args['post_status'] = array( 'publish', 'private' );
1893
  }
1894
 
1895
  if ( isset( $options['categories'] ) && $options['categories'] != '' ) {
1896
 
1897
- $cats_array = explode( ' ', trim( $options['categories'] ));
1898
 
1899
  $args['tax_query'] = array(
1900
  array(
@@ -2090,7 +2090,7 @@ class DSLC_Staff extends DSLC_Module {
2090
 
2091
  $post_cats = get_the_terms( get_the_ID(), 'dslc_staff_cats' );
2092
  if ( ! empty( $post_cats ) ) {
2093
- foreach( $post_cats as $post_cat ) {
2094
  $cats_array[$post_cat->slug] = $post_cat->name;
2095
  }
2096
  }
@@ -2173,7 +2173,7 @@ class DSLC_Staff extends DSLC_Module {
2173
  $post_cats = get_the_terms( get_the_ID(), 'dslc_staff_cats' );
2174
  $post_cats_data = '';
2175
  if ( ! empty( $post_cats ) ) {
2176
- foreach( $post_cats as $post_cat ) {
2177
  $post_cats_data .= $post_cat->slug . ' ';
2178
  }
2179
  }
@@ -2418,9 +2418,9 @@ class DSLC_Staff extends DSLC_Module {
2418
  if ( isset( $options['pagination_type'] ) && $options['pagination_type'] != 'disabled' ) {
2419
  $num_pages = $dslc_query->max_num_pages;
2420
  if ( $options['offset'] > 0 ) {
2421
- $num_pages = ceil ( ( $dslc_query->found_posts - $options['offset'] ) / $options['amount'] );
2422
  }
2423
- dslc_post_pagination( array( 'pages' => $num_pages, 'type' => $options['pagination_type'] ) );
2424
  }
2425
 
2426
  wp_reset_postdata();
124
  'id' => 'columns',
125
  'std' => '3',
126
  'type' => 'select',
127
+ 'choices' => $this->shared_options( 'posts_per_row_choices' ),
128
  ),
129
  array(
130
  'label' => __( 'Categories', 'live-composer-page-builder' ),
1838
 
1839
  );
1840
 
1841
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'carousel_options' ) );
1842
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'heading_options' ) );
1843
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'filters_options' ) );
1844
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'carousel_arrows_options' ) );
1845
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'carousel_circles_options' ) );
1846
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'pagination_options' ) );
1847
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options' ) );
1848
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
1849
 
1850
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
1866
 
1867
  if ( ! isset( $options['excerpt_length'] ) ) $options['excerpt_length'] = 20;
1868
 
1869
+ if ( is_front_page() ) { $paged = ( get_query_var( 'page' ) ) ? get_query_var( 'page' ) : 1; } else { $paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1; }
1870
 
1871
  // Fix for pagination from other modules affecting this one when pag disabled
1872
  if ( $options['pagination_type'] == 'disabled' ) $paged = 1;
1888
  $args['offset'] = $query_offset;
1889
  }
1890
 
1891
+ if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
1892
+ $args['post_status'] = array('publish', 'private');
1893
  }
1894
 
1895
  if ( isset( $options['categories'] ) && $options['categories'] != '' ) {
1896
 
1897
+ $cats_array = explode( ' ', trim( $options['categories'] ) );
1898
 
1899
  $args['tax_query'] = array(
1900
  array(
2090
 
2091
  $post_cats = get_the_terms( get_the_ID(), 'dslc_staff_cats' );
2092
  if ( ! empty( $post_cats ) ) {
2093
+ foreach ( $post_cats as $post_cat ) {
2094
  $cats_array[$post_cat->slug] = $post_cat->name;
2095
  }
2096
  }
2173
  $post_cats = get_the_terms( get_the_ID(), 'dslc_staff_cats' );
2174
  $post_cats_data = '';
2175
  if ( ! empty( $post_cats ) ) {
2176
+ foreach ( $post_cats as $post_cat ) {
2177
  $post_cats_data .= $post_cat->slug . ' ';
2178
  }
2179
  }
2418
  if ( isset( $options['pagination_type'] ) && $options['pagination_type'] != 'disabled' ) {
2419
  $num_pages = $dslc_query->max_num_pages;
2420
  if ( $options['offset'] > 0 ) {
2421
+ $num_pages = ceil( ( $dslc_query->found_posts - $options['offset'] ) / $options['amount'] );
2422
  }
2423
+ dslc_post_pagination( array('pages' => $num_pages, 'type' => $options['pagination_type']) );
2424
  }
2425
 
2426
  wp_reset_postdata();
modules/tabs/module.php CHANGED
@@ -2991,7 +2991,7 @@ class DSLC_Tabs extends DSLC_Module {
2991
 
2992
  );
2993
 
2994
- $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options', array( 'hover_opts' => false ) ) );
2995
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
2996
 
2997
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
@@ -3055,11 +3055,11 @@ class DSLC_Tabs extends DSLC_Module {
3055
 
3056
  <?php if ( is_array( $tabs_content ) ) : $count = 0; ?>
3057
 
3058
- <?php foreach( $tabs_content as $tab_content ) : ?>
3059
 
3060
  <div class="dslc-tabs-tab-content">
3061
- <h4 class="dslc-tabs-nav-hook"><?php echo $tabs_nav[$count]; ?></h4>
3062
- <div class="dslca-editable-content">
3063
  <?php
3064
  $tab_content_output = stripslashes( $tab_content );
3065
  $tab_content_output = str_replace( '<lctextarea', '<textarea', $tab_content_output );
2991
 
2992
  );
2993
 
2994
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options', array('hover_opts' => false) ) );
2995
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
2996
 
2997
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
3055
 
3056
  <?php if ( is_array( $tabs_content ) ) : $count = 0; ?>
3057
 
3058
+ <?php foreach ( $tabs_content as $tab_content ) : ?>
3059
 
3060
  <div class="dslc-tabs-tab-content">
3061
+ <h4 class="dslc-tabs-nav-hook"<?php if ( $dslc_is_admin ) echo ' data-exportable-content="h3"'; ?>><?php echo $tabs_nav[$count]; ?></h4>
3062
+ <div class="dslca-editable-content"<?php if ( $dslc_is_admin ) echo ' data-exportable-content'; ?>>
3063
  <?php
3064
  $tab_content_output = stripslashes( $tab_content );
3065
  $tab_content_output = str_replace( '<lctextarea', '<textarea', $tab_content_output );
modules/testimonials/functions.php CHANGED
@@ -32,7 +32,7 @@ function dslc_testimonials_module_cpt() {
32
 
33
  // With Front
34
  $with_front = dslc_get_option( 'with_front', 'dslc_plugin_options_cpt_slugs' );
35
- if ( empty ( $with_front ) ) $with_front = 'disabled';
36
  if ( $with_front == 'enabled' ) $with_front = true; else $with_front = false;
37
 
38
  /**
@@ -58,8 +58,8 @@ function dslc_testimonials_module_cpt() {
58
  'parent' => __( 'Parent Testimonial', 'live-composer-page-builder' ),
59
  ),
60
  'public' => true,
61
- 'rewrite' => array( 'slug' => dslc_get_option( 'testimonials_slug', 'dslc_plugin_options_cpt_slugs' ), 'with_front' => $with_front ),
62
- 'supports' => array( 'title', 'custom-fields', 'excerpt', 'editor', 'author', 'thumbnail' ),
63
  'capabilities' => array(
64
  'publish_posts' => $capability,
65
  'edit_posts' => $capability,
32
 
33
  // With Front
34
  $with_front = dslc_get_option( 'with_front', 'dslc_plugin_options_cpt_slugs' );
35
+ if ( empty ( $with_front ) ) $with_front = 'disabled';
36
  if ( $with_front == 'enabled' ) $with_front = true; else $with_front = false;
37
 
38
  /**
58
  'parent' => __( 'Parent Testimonial', 'live-composer-page-builder' ),
59
  ),
60
  'public' => true,
61
+ 'rewrite' => array('slug' => dslc_get_option( 'testimonials_slug', 'dslc_plugin_options_cpt_slugs' ), 'with_front' => $with_front),
62
+ 'supports' => array('title', 'custom-fields', 'excerpt', 'editor', 'author', 'thumbnail'),
63
  'capabilities' => array(
64
  'publish_posts' => $capability,
65
  'edit_posts' => $capability,
modules/testimonials/module.php CHANGED
@@ -108,7 +108,7 @@ class DSLC_Testimonials extends DSLC_Module {
108
  'id' => 'columns',
109
  'std' => '3',
110
  'type' => 'select',
111
- 'choices' => $this->shared_options('posts_per_row_choices'),
112
  ),
113
  array(
114
  'label' => __( 'Categories', 'live-composer-page-builder' ),
@@ -1648,13 +1648,13 @@ class DSLC_Testimonials extends DSLC_Module {
1648
 
1649
  );
1650
 
1651
- $dslc_options = array_merge( $dslc_options, $this->shared_options('carousel_options') );
1652
- $dslc_options = array_merge( $dslc_options, $this->shared_options('heading_options') );
1653
- $dslc_options = array_merge( $dslc_options, $this->shared_options('filters_options') );
1654
- $dslc_options = array_merge( $dslc_options, $this->shared_options('carousel_arrows_options') );
1655
- $dslc_options = array_merge( $dslc_options, $this->shared_options('carousel_circles_options') );
1656
- $dslc_options = array_merge( $dslc_options, $this->shared_options('pagination_options') );
1657
- $dslc_options = array_merge( $dslc_options, $this->shared_options('animation_options') );
1658
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
1659
 
1660
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
@@ -1677,7 +1677,7 @@ class DSLC_Testimonials extends DSLC_Module {
1677
  if ( ! isset( $options['excerpt_length'] ) ) $options['excerpt_length'] = 20;
1678
  if ( ! isset( $options['type'] ) ) $options['type'] = 'grid';
1679
 
1680
- if( is_front_page() ) { $paged = ( get_query_var( 'page' ) ) ? get_query_var( 'page' ) : 1; } else { $paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1; }
1681
 
1682
  // Fix for pagination from other modules affecting this one when pag disabled
1683
  if ( $options['pagination_type'] == 'disabled' ) $paged = 1;
@@ -1699,13 +1699,13 @@ class DSLC_Testimonials extends DSLC_Module {
1699
  $args['offset'] = $query_offset;
1700
  }
1701
 
1702
- if ( defined('DOING_AJAX') && DOING_AJAX ) {
1703
- $args['post_status'] = array( 'publish', 'private' );
1704
  }
1705
 
1706
  if ( isset( $options['categories'] ) && $options['categories'] != '' ) {
1707
 
1708
- $cats_array = explode( ' ', trim( $options['categories'] ));
1709
 
1710
  $args['tax_query'] = array(
1711
  array(
@@ -1890,7 +1890,7 @@ class DSLC_Testimonials extends DSLC_Module {
1890
 
1891
  $post_cats = get_the_terms( get_the_ID(), 'dslc_testimonials_cats' );
1892
  if ( ! empty( $post_cats ) ) {
1893
- foreach( $post_cats as $post_cat ) {
1894
  $cats_array[$post_cat->slug] = $post_cat->name;
1895
  }
1896
  }
@@ -1965,7 +1965,7 @@ class DSLC_Testimonials extends DSLC_Module {
1965
 
1966
  $post_cats_data = '';
1967
  if ( ! empty( $post_cats ) ) {
1968
- foreach( $post_cats as $post_cat ) {
1969
  $post_cats_data .= $post_cat->slug . ' ';
1970
  }
1971
  }
@@ -2072,9 +2072,9 @@ class DSLC_Testimonials extends DSLC_Module {
2072
  if ( isset( $options['pagination_type'] ) && $options['pagination_type'] != 'disabled' ) {
2073
  $num_pages = $dslc_query->max_num_pages;
2074
  if ( $options['offset'] > 0 ) {
2075
- $num_pages = ceil ( ( $dslc_query->found_posts - $options['offset'] ) / $options['amount'] );
2076
  }
2077
- dslc_post_pagination( array( 'pages' => $num_pages, 'type' => $options['pagination_type'] ) );
2078
  }
2079
 
2080
  wp_reset_postdata();
108
  'id' => 'columns',
109
  'std' => '3',
110
  'type' => 'select',
111
+ 'choices' => $this->shared_options( 'posts_per_row_choices' ),
112
  ),
113
  array(
114
  'label' => __( 'Categories', 'live-composer-page-builder' ),
1648
 
1649
  );
1650
 
1651
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'carousel_options' ) );
1652
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'heading_options' ) );
1653
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'filters_options' ) );
1654
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'carousel_arrows_options' ) );
1655
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'carousel_circles_options' ) );
1656
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'pagination_options' ) );
1657
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options' ) );
1658
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
1659
 
1660
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
1677
  if ( ! isset( $options['excerpt_length'] ) ) $options['excerpt_length'] = 20;
1678
  if ( ! isset( $options['type'] ) ) $options['type'] = 'grid';
1679
 
1680
+ if ( is_front_page() ) { $paged = ( get_query_var( 'page' ) ) ? get_query_var( 'page' ) : 1; } else { $paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1; }
1681
 
1682
  // Fix for pagination from other modules affecting this one when pag disabled
1683
  if ( $options['pagination_type'] == 'disabled' ) $paged = 1;
1699
  $args['offset'] = $query_offset;
1700
  }
1701
 
1702
+ if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
1703
+ $args['post_status'] = array('publish', 'private');
1704
  }
1705
 
1706
  if ( isset( $options['categories'] ) && $options['categories'] != '' ) {
1707
 
1708
+ $cats_array = explode( ' ', trim( $options['categories'] ) );
1709
 
1710
  $args['tax_query'] = array(
1711
  array(
1890
 
1891
  $post_cats = get_the_terms( get_the_ID(), 'dslc_testimonials_cats' );
1892
  if ( ! empty( $post_cats ) ) {
1893
+ foreach ( $post_cats as $post_cat ) {
1894
  $cats_array[$post_cat->slug] = $post_cat->name;
1895
  }
1896
  }
1965
 
1966
  $post_cats_data = '';
1967
  if ( ! empty( $post_cats ) ) {
1968
+ foreach ( $post_cats as $post_cat ) {
1969
  $post_cats_data .= $post_cat->slug . ' ';
1970
  }
1971
  }
2072
  if ( isset( $options['pagination_type'] ) && $options['pagination_type'] != 'disabled' ) {
2073
  $num_pages = $dslc_query->max_num_pages;
2074
  if ( $options['offset'] > 0 ) {
2075
+ $num_pages = ceil( ( $dslc_query->found_posts - $options['offset'] ) / $options['amount'] );
2076
  }
2077
+ dslc_post_pagination( array('pages' => $num_pages, 'type' => $options['pagination_type']) );
2078
  }
2079
 
2080
  wp_reset_postdata();
modules/text-simple/module.php CHANGED
@@ -4266,6 +4266,11 @@ class DSLC_Text_Simple extends DSLC_Module {
4266
 
4267
  global $dslc_active;
4268
 
 
 
 
 
 
4269
  $this->module_start( $options );
4270
 
4271
  /* Module output starts here */
@@ -4273,7 +4278,7 @@ class DSLC_Text_Simple extends DSLC_Module {
4273
  ?><div class="dslc-text-module-content"><?php
4274
 
4275
  if ( $dslc_active ) {
4276
- ?><div class="dslca-editable-content" data-id="content"><?php
4277
  }
4278
 
4279
  $output_content = stripslashes( $options['content'] );
4266
 
4267
  global $dslc_active;
4268
 
4269
+ if ( $dslc_active && is_user_logged_in() && current_user_can( DS_LIVE_COMPOSER_CAPABILITY ) )
4270
+ $dslc_is_admin = true;
4271
+ else
4272
+ $dslc_is_admin = false;
4273
+
4274
  $this->module_start( $options );
4275
 
4276
  /* Module output starts here */
4278
  ?><div class="dslc-text-module-content"><?php
4279
 
4280
  if ( $dslc_active ) {
4281
+ ?><div class="dslca-editable-content" data-id="content"<?php if ( $dslc_is_admin ) echo ' data-exportable-content'; ?>><?php
4282
  }
4283
 
4284
  $output_content = stripslashes( $options['content'] );
modules/tp-comments-form/module.php CHANGED
@@ -1044,7 +1044,7 @@ class DSLC_TP_Comments_Form extends DSLC_Module {
1044
 
1045
  );
1046
 
1047
- $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options', array( 'hover_opts' => false ) ) );
1048
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
1049
 
1050
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
@@ -1122,16 +1122,16 @@ class DSLC_TP_Comments_Form extends DSLC_Module {
1122
  'comment_notes_before' => '',
1123
  'comment_notes_after' => '',
1124
  'title_reply' => $txt_leave_comment,
1125
- 'title_reply_to' => __( 'Reply to %s.', 'live-composer-page-builder'),
1126
  'comment_field' => '<div class="comment-form-comment"><textarea id="comment" name="comment" placeholder="' . __( 'Comment', 'live-composer-page-builder' ) . '" aria-required="true"></textarea></div>',
1127
  'fields' => apply_filters( 'comment_form_default_fields', array(
1128
  'author' => '<div class="comment-form-name"><input id="author" name="author" type=text value="' . esc_attr( $commenter['comment_author'] ) . '" size="30" placeholder="' . $txt_name . ' *" aria-required="true" /></div>',
1129
- 'email' => '<div class="comment-form-email"><input id="email" name="email" type=text value="' . esc_attr( $commenter['comment_author_email'] ) . '" size="30" placeholder="' . $txt_email . ' *" aria-required="true" /></div>',
1130
  'url' => '<div class="comment-form-website"><input id="url" name="url" type=text value="' . esc_attr( $commenter['comment_author_url'] ) . '" size="30" placeholder="' . $txt_url . '" /></div>'
1131
- )),
1132
- ), $post_id);
1133
 
1134
- endif; ?>
1135
 
1136
  </div><!-- dslc-tp-comment-form -->
1137
 
1044
 
1045
  );
1046
 
1047
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options', array('hover_opts' => false) ) );
1048
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
1049
 
1050
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
1122
  'comment_notes_before' => '',
1123
  'comment_notes_after' => '',
1124
  'title_reply' => $txt_leave_comment,
1125
+ 'title_reply_to' => __( 'Reply to %s.', 'live-composer-page-builder' ),
1126
  'comment_field' => '<div class="comment-form-comment"><textarea id="comment" name="comment" placeholder="' . __( 'Comment', 'live-composer-page-builder' ) . '" aria-required="true"></textarea></div>',
1127
  'fields' => apply_filters( 'comment_form_default_fields', array(
1128
  'author' => '<div class="comment-form-name"><input id="author" name="author" type=text value="' . esc_attr( $commenter['comment_author'] ) . '" size="30" placeholder="' . $txt_name . ' *" aria-required="true" /></div>',
1129
+ 'email' => '<div class="comment-form-email"><input id="email" name="email" type=text value="' . esc_attr( $commenter['comment_author_email'] ) . '" size="30" placeholder="' . $txt_email . ' *" aria-required="true" /></div>',
1130
  'url' => '<div class="comment-form-website"><input id="url" name="url" type=text value="' . esc_attr( $commenter['comment_author_url'] ) . '" size="30" placeholder="' . $txt_url . '" /></div>'
1131
+ ) ),
1132
+ ), $post_id );
1133
 
1134
+ endif; ?>
1135
 
1136
  </div><!-- dslc-tp-comment-form -->
1137
 
modules/tp-comments/functions.php CHANGED
@@ -8,9 +8,9 @@
8
  function dslc_display_comments( $comment, $args, $depth ) {
9
 
10
  $GLOBALS['comment'] = $comment;
11
-
12
  switch ( $comment->comment_type ) :
13
-
14
  case 'pingback' :
15
  case 'trackback' :
16
  ?>
@@ -20,13 +20,13 @@ function dslc_display_comments( $comment, $args, $depth ) {
20
  break;
21
  default :
22
 
23
- if ( $comment->comment_approved == '1' ) :
24
 
25
  ?>
26
 
27
  <li <?php comment_class( 'dslc-comment' ); ?> id="dslc-comment-<?php comment_ID(); ?>">
28
 
29
- <div class="dslc-comment-inner">
30
 
31
  <div class="dslc-comment-info dslc-clearfix">
32
 
@@ -36,13 +36,13 @@ function dslc_display_comments( $comment, $args, $depth ) {
36
  </ul>
37
 
38
  <span class="dslc-comment-reply">
39
- <?php comment_reply_link( array_merge( $args, array( 'depth' => $depth, 'max_depth' => $args['max_depth'] ) ) ); ?>
40
  </span>
41
 
42
  </div><!-- .comment-info -->
43
 
44
  <div class="dslc-comment-main">
45
-
46
  <?php comment_text(); ?>
47
 
48
  </div><!-- .comment-main -->
8
  function dslc_display_comments( $comment, $args, $depth ) {
9
 
10
  $GLOBALS['comment'] = $comment;
11
+
12
  switch ( $comment->comment_type ) :
13
+
14
  case 'pingback' :
15
  case 'trackback' :
16
  ?>
20
  break;
21
  default :
22
 
23
+ if ( $comment->comment_approved == '1' ) :
24
 
25
  ?>
26
 
27
  <li <?php comment_class( 'dslc-comment' ); ?> id="dslc-comment-<?php comment_ID(); ?>">
28
 
29
+ <div id="comment-<?php comment_ID(); ?>" class="dslc-comment-inner">
30
 
31
  <div class="dslc-comment-info dslc-clearfix">
32
 
36
  </ul>
37
 
38
  <span class="dslc-comment-reply">
39
+ <?php comment_reply_link( array_merge( $args, array('depth' => $depth, 'max_depth' => $args['max_depth']) ) ); ?>
40
  </span>
41
 
42
  </div><!-- .comment-info -->
43
 
44
  <div class="dslc-comment-main">
45
+
46
  <?php comment_text(); ?>
47
 
48
  </div><!-- .comment-main -->
modules/tp-comments/module.php CHANGED
@@ -1399,7 +1399,7 @@ class DSLC_TP_Comments extends DSLC_Module {
1399
 
1400
  );
1401
 
1402
- $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options', array( 'hover_opts' => false ) ) );
1403
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
1404
 
1405
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
@@ -1524,7 +1524,7 @@ class DSLC_TP_Comments extends DSLC_Module {
1524
 
1525
  <?php if ( defined( 'DISQUS_VERSION' ) ) : comments_template(); else : ?>
1526
 
1527
- <?php $comments = get_comments( array( 'post_id' => $post_id ) ); ?>
1528
 
1529
  <?php if ( get_comment_pages_count( $comments ) > 1 && get_option( 'page_comments' ) ) : // are there comments to navigate through ?>
1530
 
@@ -1533,7 +1533,7 @@ class DSLC_TP_Comments extends DSLC_Module {
1533
  <?php endif; ?>
1534
 
1535
  <ol class="comments clean-list">
1536
- <?php wp_list_comments( array( 'callback' => 'dslc_display_comments' ), $comments ); ?>
1537
  </ol><!-- .commentlist -->
1538
 
1539
  <?php if ( get_comment_pages_count( $comments ) > 1 && get_option( 'page_comments' ) ) : // are there comments to navigate through ?>
1399
 
1400
  );
1401
 
1402
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options', array('hover_opts' => false) ) );
1403
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
1404
 
1405
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
1524
 
1525
  <?php if ( defined( 'DISQUS_VERSION' ) ) : comments_template(); else : ?>
1526
 
1527
+ <?php $comments = get_comments( array('post_id' => $post_id) ); ?>
1528
 
1529
  <?php if ( get_comment_pages_count( $comments ) > 1 && get_option( 'page_comments' ) ) : // are there comments to navigate through ?>
1530
 
1533
  <?php endif; ?>
1534
 
1535
  <ol class="comments clean-list">
1536
+ <?php wp_list_comments( array('callback' => 'dslc_display_comments'), $comments ); ?>
1537
  </ol><!-- .commentlist -->
1538
 
1539
  <?php if ( get_comment_pages_count( $comments ) > 1 && get_option( 'page_comments' ) ) : // are there comments to navigate through ?>
modules/tp-content/module.php CHANGED
@@ -4149,7 +4149,7 @@ class DSLC_TP_Content extends DSLC_Module {
4149
 
4150
  );
4151
 
4152
- $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options', array( 'hover_opts' => false ) ) );
4153
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
4154
 
4155
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
4149
 
4150
  );
4151
 
4152
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options', array('hover_opts' => false) ) );
4153
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
4154
 
4155
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
modules/tp-downloads-button/module.php CHANGED
@@ -420,7 +420,7 @@ class DSLC_TP_Downloads_Button extends DSLC_Module {
420
 
421
  );
422
 
423
- $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options', array( 'hover_opts' => false ) ) );
424
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
425
 
426
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
420
 
421
  );
422
 
423
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options', array('hover_opts' => false) ) );
424
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
425
 
426
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
modules/tp-excerpt/module.php CHANGED
@@ -425,7 +425,7 @@ class DSLC_TP_Excerpt extends DSLC_Module {
425
 
426
  );
427
 
428
- $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options', array( 'hover_opts' => false ) ) );
429
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
430
 
431
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
425
 
426
  );
427
 
428
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options', array('hover_opts' => false) ) );
429
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
430
 
431
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
modules/tp-gallery-slider/module.php CHANGED
@@ -843,7 +843,7 @@ class DSLC_TP_Gallery_Slider extends DSLC_Module {
843
 
844
  );
845
 
846
- $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options', array( 'hover_opts' => false ) ) );
847
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
848
 
849
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
@@ -894,7 +894,7 @@ class DSLC_TP_Gallery_Slider extends DSLC_Module {
894
 
895
  if ( $show_placeholder ) {
896
 
897
- for ( $i=0; $i < 15; $i++ ) {
898
  ?><div class="dslc-slider-item"><img src="<?php echo DS_LIVE_COMPOSER_URL; ?>/images/placeholders/big-placeholder.png" /></div><?php
899
  }
900
 
843
 
844
  );
845
 
846
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options', array('hover_opts' => false) ) );
847
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
848
 
849
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
894
 
895
  if ( $show_placeholder ) {
896
 
897
+ for ( $i = 0; $i < 15; $i++ ) {
898
  ?><div class="dslc-slider-item"><img src="<?php echo DS_LIVE_COMPOSER_URL; ?>/images/placeholders/big-placeholder.png" /></div><?php
899
  }
900
 
modules/tp-meta/module.php CHANGED
@@ -524,7 +524,7 @@ class DSLC_TP_Meta extends DSLC_Module {
524
 
525
  );
526
 
527
- $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options', array( 'hover_opts' => false ) ) );
528
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
529
 
530
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
@@ -559,13 +559,13 @@ class DSLC_TP_Meta extends DSLC_Module {
559
  if ( comments_open( $post_id ) ) {
560
 
561
  if ( $num_comments == 0 )
562
- $comments = __('No Comments');
563
  elseif ( $num_comments > 1 )
564
- $comments = $num_comments . __(' Comments');
565
  else
566
- $comments = __('1 Comment');
567
 
568
- $comments_output = '<a href="#dslc-comments">'. $comments.'</a>';
569
 
570
  }
571
 
@@ -585,7 +585,7 @@ class DSLC_TP_Meta extends DSLC_Module {
585
  <ul class="dslc-clearfix">
586
 
587
  <?php if ( in_array( 'date', $tp_elements ) ) : ?>
588
- <li><?php echo get_the_time( get_option('date_format'), $post_id ); ?></li>
589
  <?php endif; ?>
590
 
591
  <?php if ( in_array( 'author', $tp_elements ) ) : ?>
@@ -612,7 +612,7 @@ class DSLC_TP_Meta extends DSLC_Module {
612
 
613
  <?php if ( in_array( 'category', $tp_elements ) ) : ?>
614
  <?php if ( $show_fake ) : ?>
615
- <li><a href="#"><?php _e( 'Category One', 'live-composer-page-builder' ) ; ?></a>, <a href="#"><?php _e( 'Category Two', 'live-composer-page-builder' ) ; ?></a></li>
616
  <?php else : ?>
617
  <?php
618
  foreach ( $post_type_taxonomies as $taxonomy ) {
@@ -639,7 +639,7 @@ class DSLC_TP_Meta extends DSLC_Module {
639
 
640
  <?php if ( in_array( 'tags', $tp_elements ) ) : ?>
641
  <?php if ( $show_fake ) : ?>
642
- <li><a href="#"><?php _e( 'One', 'live-composer-page-builder' ) ; ?></a>, <a href="#"><?php _e( 'Two', 'live-composer-page-builder' ) ; ?></a>, <a href="#"><?php _e( 'Three', 'live-composer-page-builder' ) ; ?></a></li>
643
  <?php else : ?>
644
  <?php
645
  foreach ( $post_type_taxonomies as $taxonomy ) {
@@ -666,7 +666,7 @@ class DSLC_TP_Meta extends DSLC_Module {
666
 
667
  <?php if ( in_array( 'comments', $tp_elements ) && ( $comments_output != '' || $show_fake ) ) : ?>
668
  <?php if ( $show_fake ) : ?>
669
- <li><?php _e( '10 Comments', 'live-composer-page-builder' ) ; ?></li>
670
  <?php else : ?>
671
  <li><?php echo $comments_output; ?></li>
672
  <?php endif; ?>
524
 
525
  );
526
 
527
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options', array('hover_opts' => false) ) );
528
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
529
 
530
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
559
  if ( comments_open( $post_id ) ) {
560
 
561
  if ( $num_comments == 0 )
562
+ $comments = __( 'No Comments' );
563
  elseif ( $num_comments > 1 )
564
+ $comments = $num_comments . __( ' Comments' );
565
  else
566
+ $comments = __( '1 Comment' );
567
 
568
+ $comments_output = '<a href="#dslc-comments">' . $comments . '</a>';
569
 
570
  }
571
 
585
  <ul class="dslc-clearfix">
586
 
587
  <?php if ( in_array( 'date', $tp_elements ) ) : ?>
588
+ <li><?php echo get_the_time( get_option( 'date_format' ), $post_id ); ?></li>
589
  <?php endif; ?>
590
 
591
  <?php if ( in_array( 'author', $tp_elements ) ) : ?>
612
 
613
  <?php if ( in_array( 'category', $tp_elements ) ) : ?>
614
  <?php if ( $show_fake ) : ?>
615
+ <li><a href="#"><?php _e( 'Category One', 'live-composer-page-builder' ); ?></a>, <a href="#"><?php _e( 'Category Two', 'live-composer-page-builder' ); ?></a></li>
616
  <?php else : ?>
617
  <?php
618
  foreach ( $post_type_taxonomies as $taxonomy ) {
639
 
640
  <?php if ( in_array( 'tags', $tp_elements ) ) : ?>
641
  <?php if ( $show_fake ) : ?>
642
+ <li><a href="#"><?php _e( 'One', 'live-composer-page-builder' ); ?></a>, <a href="#"><?php _e( 'Two', 'live-composer-page-builder' ); ?></a>, <a href="#"><?php _e( 'Three', 'live-composer-page-builder' ); ?></a></li>
643
  <?php else : ?>
644
  <?php
645
  foreach ( $post_type_taxonomies as $taxonomy ) {
666
 
667
  <?php if ( in_array( 'comments', $tp_elements ) && ( $comments_output != '' || $show_fake ) ) : ?>
668
  <?php if ( $show_fake ) : ?>
669
+ <li><?php _e( '10 Comments', 'live-composer-page-builder' ); ?></li>
670
  <?php else : ?>
671
  <li><?php echo $comments_output; ?></li>
672
  <?php endif; ?>
modules/tp-project-slider/module.php CHANGED
@@ -843,7 +843,7 @@ class DSLC_TP_Project_Slider extends DSLC_Module {
843
 
844
  );
845
 
846
- $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options', array( 'hover_opts' => false ) ) );
847
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
848
 
849
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
@@ -894,7 +894,7 @@ class DSLC_TP_Project_Slider extends DSLC_Module {
894
 
895
  if ( $show_placeholder ) {
896
 
897
- for ( $i=0; $i < 15; $i++ ) {
898
  ?><div class="dslc-slider-item"><img src="<?php echo DS_LIVE_COMPOSER_URL; ?>/images/placeholders/big-placeholder.png" /></div><?php
899
  }
900
 
843
 
844
  );
845
 
846
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options', array('hover_opts' => false) ) );
847
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
848
 
849
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
894
 
895
  if ( $show_placeholder ) {
896
 
897
+ for ( $i = 0; $i < 15; $i++ ) {
898
  ?><div class="dslc-slider-item"><img src="<?php echo DS_LIVE_COMPOSER_URL; ?>/images/placeholders/big-placeholder.png" /></div><?php
899
  }
900
 
modules/tp-staff-social/module.php CHANGED
@@ -363,7 +363,7 @@ class DSLC_TP_Staff_Social extends DSLC_Module {
363
 
364
  );
365
 
366
- $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options', array( 'hover_opts' => false ) ) );
367
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
368
 
369
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
363
 
364
  );
365
 
366
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options', array('hover_opts' => false) ) );
367
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
368
 
369
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
modules/tp-thumbnail/module.php CHANGED
@@ -306,7 +306,7 @@ class DSLC_TP_Thumbnail extends DSLC_Module {
306
 
307
  );
308
 
309
- $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options', array( 'hover_opts' => false ) ) );
310
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
311
 
312
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
@@ -347,7 +347,7 @@ class DSLC_TP_Thumbnail extends DSLC_Module {
347
 
348
  }
349
 
350
- if ( get_post_type( $post_id ) == 'dslc_templates' || ( defined('DOING_AJAX') && DOING_AJAX ) ) :
351
  if ( has_post_thumbnail( $post_id ) ) :
352
  ?><div class="dslc-tp-thumbnail"><?php
353
  if ( $manual_resize ) : ?>
306
 
307
  );
308
 
309
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options', array('hover_opts' => false) ) );
310
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
311
 
312
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
347
 
348
  }
349
 
350
+ if ( get_post_type( $post_id ) == 'dslc_templates' || ( defined( 'DOING_AJAX' ) && DOING_AJAX ) ) :
351
  if ( has_post_thumbnail( $post_id ) ) :
352
  ?><div class="dslc-tp-thumbnail"><?php
353
  if ( $manual_resize ) : ?>
modules/tp-title/module.php CHANGED
@@ -454,7 +454,7 @@ class DSLC_TP_Title extends DSLC_Module {
454
 
455
  );
456
 
457
- $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options', array( 'hover_opts' => false ) ) );
458
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
459
 
460
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
454
 
455
  );
456
 
457
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options', array('hover_opts' => false) ) );
458
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
459
 
460
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
modules/widgets/functions.php CHANGED
@@ -9,7 +9,7 @@ function dslc_sidebars() {
9
 
10
  $sidebars_array = explode( ',', substr( $sidebars, 0, -1 ) );
11
 
12
- foreach( $sidebars_array as $sidebar ) {
13
 
14
  $sidebar_ID = 'dslc_' . strtolower( str_replace( ' ', '_', $sidebar ) );
15
 
@@ -21,9 +21,6 @@ function dslc_sidebars() {
21
  'before_title' => apply_filters( 'dslc_sidebar_before_title', '<h3 class="dslc-widget-title"><span class="dslc-widget-title-inner">' ),
22
  'after_title' => apply_filters( 'dslc_sidebar_after_title', '</span></h3>' ),
23
  ) );
24
-
25
  }
26
-
27
  }
28
-
29
  }
9
 
10
  $sidebars_array = explode( ',', substr( $sidebars, 0, -1 ) );
11
 
12
+ foreach ( $sidebars_array as $sidebar ) {
13
 
14
  $sidebar_ID = 'dslc_' . strtolower( str_replace( ' ', '_', $sidebar ) );
15
 
21
  'before_title' => apply_filters( 'dslc_sidebar_before_title', '<h3 class="dslc-widget-title"><span class="dslc-widget-title-inner">' ),
22
  'after_title' => apply_filters( 'dslc_sidebar_after_title', '</span></h3>' ),
23
  ) );
 
24
  }
 
25
  }
 
26
  }
modules/woocommerce/module.php CHANGED
@@ -16,7 +16,7 @@ class DSLC_WooCommerce_Products extends DSLC_Module {
16
 
17
  }
18
 
19
- function options() {
20
 
21
  $cats = get_terms( 'product_cat' );
22
  $cats_choices = array();
@@ -123,7 +123,7 @@ class DSLC_WooCommerce_Products extends DSLC_Module {
123
  'id' => 'columns',
124
  'std' => '3',
125
  'type' => 'select',
126
- 'choices' => $this->shared_options('posts_per_row_choices'),
127
  ),
128
  array(
129
  'label' => __( 'Categories', 'live-composer-page-builder' ),
@@ -236,57 +236,23 @@ class DSLC_WooCommerce_Products extends DSLC_Module {
236
  'type' => 'text',
237
  ),
238
 
239
- // Query Altering
240
  array(
241
- 'label' => __( 'On Author Archive', 'live-composer-page-builder' ),
242
- 'id' => 'query_alter_author',
243
  'std' => 'enabled',
244
  'type' => 'select',
245
  'choices' => array(
246
  array(
247
- 'label' => __( 'Show Posts Of That Author', 'live-composer-page-builder' ),
248
  'value' => 'enabled'
249
  ),
250
  array(
251
- 'label' => __( 'Do NOT Alter Query', 'live-composer-page-builder' ),
252
  'value' => 'disabled'
253
  ),
254
  ),
255
- 'tab' => __( 'Query Alter', 'live-composer-page-builder' ),
256
- ),
257
- array(
258
- 'label' => __( 'On Category/Tag Archive', 'live-composer-page-builder' ),
259
- 'id' => 'query_alter_cat',
260
- 'std' => 'enabled',
261
- 'type' => 'select',
262
- 'choices' => array(
263
- array(
264
- 'label' => __( 'Show Posts Of That Category/Tag', 'live-composer-page-builder' ),
265
- 'value' => 'enabled'
266
- ),
267
- array(
268
- 'label' => __( 'Do NOT Alter Query', 'live-composer-page-builder' ),
269
- 'value' => 'disabled'
270
- ),
271
- ),
272
- 'tab' => __( 'Query Alter', 'live-composer-page-builder' ),
273
- ),
274
- array(
275
- 'label' => __( 'On Search Results Page', 'live-composer-page-builder' ),
276
- 'id' => 'query_alter_search',
277
- 'std' => 'enabled',
278
- 'type' => 'select',
279
- 'choices' => array(
280
- array(
281
- 'label' => __( 'Show Posts Matching Search Term', 'live-composer-page-builder' ),
282
- 'value' => 'enabled'
283
- ),
284
- array(
285
- 'label' => __( 'Do NOT Alter Query', 'live-composer-page-builder' ),
286
- 'value' => 'disabled'
287
- ),
288
- ),
289
- 'tab' => __( 'Query Alter', 'live-composer-page-builder' ),
290
  ),
291
 
292
  /**
@@ -512,7 +478,7 @@ class DSLC_WooCommerce_Products extends DSLC_Module {
512
  'affect_on_change_rule' => 'background-color',
513
  'section' => 'styling',
514
  'tab' => __( 'Thumbnail', 'live-composer-page-builder' ),
515
- ),
516
  array(
517
  'label' => __( 'Border Color', 'live-composer-page-builder' ),
518
  'id' => 'css_thumb_border_color',
@@ -564,7 +530,7 @@ class DSLC_WooCommerce_Products extends DSLC_Module {
564
  'affect_on_change_rule' => 'border-style',
565
  'section' => 'styling',
566
  'tab' => __( 'Thumbnail', 'live-composer-page-builder' ),
567
- ),
568
  array(
569
  'label' => __( 'Border Radius - Top', 'live-composer-page-builder' ),
570
  'id' => 'css_thumbnail_border_radius_top',
@@ -862,7 +828,7 @@ class DSLC_WooCommerce_Products extends DSLC_Module {
862
  )
863
  ),
864
 
865
- /**
866
  * Main
867
  */
868
 
@@ -1478,7 +1444,7 @@ class DSLC_WooCommerce_Products extends DSLC_Module {
1478
  'ext' => 'px'
1479
  ),
1480
 
1481
- /**
1482
  * Other
1483
  */
1484
 
@@ -1489,7 +1455,7 @@ class DSLC_WooCommerce_Products extends DSLC_Module {
1489
  'type' => 'text',
1490
  'section' => 'styling',
1491
  'tab' => __( 'Other', 'live-composer-page-builder' ),
1492
- ),
1493
  array(
1494
  'label' => __( 'Add to cart - Color', 'live-composer-page-builder' ),
1495
  'id' => 'css_addtocart_color',
@@ -1546,7 +1512,7 @@ class DSLC_WooCommerce_Products extends DSLC_Module {
1546
  'type' => 'text',
1547
  'section' => 'styling',
1548
  'tab' => __( 'Other', 'live-composer-page-builder' ),
1549
- ),
1550
  array(
1551
  'label' => __( 'Details - Color', 'live-composer-page-builder' ),
1552
  'id' => 'css_details_color',
@@ -2152,28 +2118,33 @@ class DSLC_WooCommerce_Products extends DSLC_Module {
2152
  ),
2153
 
2154
  );
2155
-
2156
- $dslc_options = array_merge( $dslc_options, $this->shared_options('carousel_options') );
2157
- $dslc_options = array_merge( $dslc_options, $this->shared_options('heading_options') );
2158
- $dslc_options = array_merge( $dslc_options, $this->shared_options('filters_options') );
2159
- $dslc_options = array_merge( $dslc_options, $this->shared_options('carousel_arrows_options') );
2160
- $dslc_options = array_merge( $dslc_options, $this->shared_options('carousel_circles_options') );
2161
- $dslc_options = array_merge( $dslc_options, $this->shared_options('pagination_options') );
2162
- $dslc_options = array_merge( $dslc_options, $this->shared_options('animation_options') );
2163
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
2164
-
2165
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
2166
 
2167
  }
2168
 
2169
  function output( $options ) {
2170
 
 
 
 
 
 
2171
  global $dslc_active;
2172
 
2173
  if ( $dslc_active && is_user_logged_in() && current_user_can( DS_LIVE_COMPOSER_CAPABILITY ) )
2174
  $dslc_is_admin = true;
2175
  else
2176
- $dslc_is_admin = false;
2177
 
2178
  // Fix slashes on apostrophes
2179
  if ( isset( $options['addtocart_text'] ) ) {
@@ -2199,7 +2170,7 @@ class DSLC_WooCommerce_Products extends DSLC_Module {
2199
  $orderby = 'price';
2200
  }
2201
 
2202
- if( is_front_page() ) { $paged = ( get_query_var( 'page' ) ) ? get_query_var( 'page' ) : 1; } else { $paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1; }
2203
 
2204
  // Fix for pagination from other modules affecting this one when pag disabled
2205
  if ( $options['pagination_type'] == 'disabled' ) $paged = 1;
@@ -2209,7 +2180,7 @@ class DSLC_WooCommerce_Products extends DSLC_Module {
2209
  if ( $query_offset > 0 && $paged > 1 ) $query_offset = ( $paged - 1 ) * $options['amount'] + $options['offset'];
2210
 
2211
  $args = array(
2212
- 'paged' => $paged,
2213
  'post_type' => 'product',
2214
  'posts_per_page' => $options['amount'],
2215
  'order' => $options['order'],
@@ -2221,13 +2192,13 @@ class DSLC_WooCommerce_Products extends DSLC_Module {
2221
  $args['offset'] = $query_offset;
2222
  }
2223
 
2224
- if ( defined('DOING_AJAX') && DOING_AJAX ) {
2225
- $args['post_status'] = array( 'publish', 'private' );
2226
  }
2227
 
2228
  if ( isset( $options['categories'] ) && $options['categories'] != '' ) {
2229
-
2230
- $cats_array = explode( ' ', trim( $options['categories'] ));
2231
 
2232
  $args['tax_query'] = array(
2233
  array(
@@ -2237,10 +2208,10 @@ class DSLC_WooCommerce_Products extends DSLC_Module {
2237
  'operator' => $options['categories_operator']
2238
  )
2239
  );
2240
-
2241
  }
2242
 
2243
- if ( isset( $orderby ) && $orderby == 'price' ) {
2244
 
2245
  $args['meta_key'] = '_price';
2246
 
@@ -2261,7 +2232,7 @@ class DSLC_WooCommerce_Products extends DSLC_Module {
2261
  // Include posts ( option )
2262
  if ( $options['query_post_in'] )
2263
  $include = array_merge( $include, explode( ' ', $options['query_post_in'] ) );
2264
-
2265
  // Include query parameter
2266
  if ( ! empty( $include ) )
2267
  $args['post__in'] = $include;
@@ -2271,11 +2242,11 @@ class DSLC_WooCommerce_Products extends DSLC_Module {
2271
  $args['post__not_in'] = $exclude;
2272
 
2273
  // Author archive page
2274
- if ( is_author() && $options['query_alter_author'] == 'enabled' ) {
2275
  global $authordata;
2276
- $args['author__in'] = array( $authordata->data->ID );
2277
  }
2278
-
2279
  // No paging
2280
  if ( $options['pagination_type'] == 'disabled' )
2281
  $args['no_found_rows'] = true;
@@ -2290,12 +2261,9 @@ class DSLC_WooCommerce_Products extends DSLC_Module {
2290
  ),
2291
  );
2292
  }
2293
-
2294
  // Do the query
2295
- if ( ( is_category() || is_tag() || is_tax() ) && $options['query_alter_cat'] == 'enabled' ) {
2296
- global $wp_query;
2297
- $dslc_query = $wp_query;
2298
- } elseif ( is_search() && $options['query_alter_search'] == 'enabled' ) {
2299
  global $wp_query;
2300
  $dslc_query = $wp_query;
2301
  } else {
@@ -2311,14 +2279,14 @@ class DSLC_WooCommerce_Products extends DSLC_Module {
2311
  /**
2312
  * Elements to show
2313
  */
2314
-
2315
  // Main Elements
2316
  $elements = $options['elements'];
2317
  if ( ! empty( $elements ) )
2318
  $elements = explode( ' ', trim( $elements ) );
2319
  else
2320
  $elements = array();
2321
-
2322
 
2323
  // Post Elements
2324
  $post_elements = $options['post_elements'];
@@ -2367,7 +2335,7 @@ class DSLC_WooCommerce_Products extends DSLC_Module {
2367
  $show_view_all_link = false;
2368
 
2369
  if ( in_array( 'main_heading', $elements ) )
2370
- $show_heading = true;
2371
 
2372
  if ( ( $elements == 'all' || in_array( 'filters', $elements ) ) && $options['type'] !== 'carousel' )
2373
  $show_filters = true;
@@ -2381,7 +2349,7 @@ class DSLC_WooCommerce_Products extends DSLC_Module {
2381
  /**
2382
  * Carousel Items
2383
  */
2384
-
2385
  switch ( $options['columns'] ) {
2386
  case 12 :
2387
  $carousel_items = 1;
@@ -2410,7 +2378,7 @@ class DSLC_WooCommerce_Products extends DSLC_Module {
2410
  if ( $show_header ) :
2411
  ?>
2412
  <div class="dslc-module-heading">
2413
-
2414
  <!-- Heading -->
2415
 
2416
  <?php if ( $show_heading ) : ?>
@@ -2439,11 +2407,11 @@ class DSLC_WooCommerce_Products extends DSLC_Module {
2439
 
2440
  while ( $dslc_query->have_posts() ) {
2441
 
2442
- $dslc_query->the_post();
2443
 
2444
  $post_cats = get_the_terms( get_the_ID(), 'product_cat' );
2445
  if ( ! empty( $post_cats ) ) {
2446
- foreach( $post_cats as $post_cat ) {
2447
  $cats_array[$post_cat->slug] = $post_cat->name;
2448
  }
2449
  }
@@ -2522,7 +2490,7 @@ class DSLC_WooCommerce_Products extends DSLC_Module {
2522
  $post_cats = get_the_terms( get_the_ID(), 'product_cat' );
2523
  $post_cats_data = '';
2524
  if ( ! empty( $post_cats ) ) {
2525
- foreach( $post_cats as $post_cat ) {
2526
  $post_cats_data .= $post_cat->slug . ' ';
2527
  }
2528
  }
@@ -2546,7 +2514,7 @@ class DSLC_WooCommerce_Products extends DSLC_Module {
2546
  if ( isset( $options['thumb_resize_height'] ) && ! empty( $options['thumb_resize_height'] ) || isset( $options['thumb_resize_width_manual'] ) && ! empty( $options['thumb_resize_width_manual'] ) ) {
2547
 
2548
  $manual_resize = true;
2549
- $thumb_url = wp_get_attachment_image_src( get_post_thumbnail_id(), 'full' );
2550
  $thumb_url = $thumb_url[0];
2551
 
2552
  $thumb_alt = get_post_meta( get_post_thumbnail_id(), '_wp_attachment_image_alt', true );
@@ -2643,7 +2611,7 @@ class DSLC_WooCommerce_Products extends DSLC_Module {
2643
  </div><!-- .dslc-product-main-inner -->
2644
 
2645
  <a href="<?php the_permalink(); ?>" class="dslc-post-main-inner-link-cover"></a>
2646
-
2647
  </div><!-- .dslc-product-main -->
2648
 
2649
  <?php endif; ?>
@@ -2654,9 +2622,9 @@ class DSLC_WooCommerce_Products extends DSLC_Module {
2654
 
2655
  <?php endif; ?>
2656
 
2657
- <?php if ( $options['main_location'] == 'bellow' && ( $post_elements == 'all' || in_array( 'title', $post_elements ) || in_array( 'separator', $post_elements ) || in_array( 'excerpt', $post_elements ) || in_array( 'addtocart', $post_elements ) || in_array( 'details', $post_elements ) ) ) : ?>
2658
 
2659
- <div class="dslc-post-main dslc-product-main">
2660
 
2661
  <?php if ( $post_elements == 'all' || in_array( 'title', $post_elements ) ) : ?>
2662
 
@@ -2755,13 +2723,13 @@ class DSLC_WooCommerce_Products extends DSLC_Module {
2755
  /**
2756
  * Pagination
2757
  */
2758
-
2759
  if ( isset( $options['pagination_type'] ) && $options['pagination_type'] != 'disabled' ) {
2760
  $num_pages = $dslc_query->max_num_pages;
2761
  if ( $options['offset'] > 0 ) {
2762
- $num_pages = ceil ( ( $dslc_query->found_posts - $options['offset'] ) / $options['amount'] );
2763
  }
2764
- dslc_post_pagination( array( 'pages' => $num_pages, 'type' => $options['pagination_type'] ) );
2765
  }
2766
 
2767
  wp_reset_postdata();
16
 
17
  }
18
 
19
+ function options() {
20
 
21
  $cats = get_terms( 'product_cat' );
22
  $cats_choices = array();
123
  'id' => 'columns',
124
  'std' => '3',
125
  'type' => 'select',
126
+ 'choices' => $this->shared_options( 'posts_per_row_choices' ),
127
  ),
128
  array(
129
  'label' => __( 'Categories', 'live-composer-page-builder' ),
236
  'type' => 'text',
237
  ),
238
 
239
+ // Archive Listinging
240
  array(
241
+ 'label' => __( 'Archive/Search Listing', 'live-composer-page-builder' ),
242
+ 'id' => 'query_alter',
243
  'std' => 'enabled',
244
  'type' => 'select',
245
  'choices' => array(
246
  array(
247
+ 'label' => __( 'Apply Page Query', 'live-composer-page-builder' ),
248
  'value' => 'enabled'
249
  ),
250
  array(
251
+ 'label' => __( 'Ignore Page Query', 'live-composer-page-builder' ),
252
  'value' => 'disabled'
253
  ),
254
  ),
255
+ 'help' => __( 'Apply Page Query – show posts according to the selected tag, category, author or search query.<br /> Ignore Page Query – ignore the page query and list posts as on any other page.', 'live-composer-page-builder' ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
256
  ),
257
 
258
  /**
478
  'affect_on_change_rule' => 'background-color',
479
  'section' => 'styling',
480
  'tab' => __( 'Thumbnail', 'live-composer-page-builder' ),
481
+ ),
482
  array(
483
  'label' => __( 'Border Color', 'live-composer-page-builder' ),
484
  'id' => 'css_thumb_border_color',
530
  'affect_on_change_rule' => 'border-style',
531
  'section' => 'styling',
532
  'tab' => __( 'Thumbnail', 'live-composer-page-builder' ),
533
+ ),
534
  array(
535
  'label' => __( 'Border Radius - Top', 'live-composer-page-builder' ),
536
  'id' => 'css_thumbnail_border_radius_top',
828
  )
829
  ),
830
 
831
+ /**
832
  * Main
833
  */
834
 
1444
  'ext' => 'px'
1445
  ),
1446
 
1447
+ /**
1448
  * Other
1449
  */
1450
 
1455
  'type' => 'text',
1456
  'section' => 'styling',
1457
  'tab' => __( 'Other', 'live-composer-page-builder' ),
1458
+ ),
1459
  array(
1460
  'label' => __( 'Add to cart - Color', 'live-composer-page-builder' ),
1461
  'id' => 'css_addtocart_color',
1512
  'type' => 'text',
1513
  'section' => 'styling',
1514
  'tab' => __( 'Other', 'live-composer-page-builder' ),
1515
+ ),
1516
  array(
1517
  'label' => __( 'Details - Color', 'live-composer-page-builder' ),
1518
  'id' => 'css_details_color',
2118
  ),
2119
 
2120
  );
2121
+
2122
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'carousel_options' ) );
2123
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'heading_options' ) );
2124
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'filters_options' ) );
2125
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'carousel_arrows_options' ) );
2126
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'carousel_circles_options' ) );
2127
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'pagination_options' ) );
2128
+ $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options' ) );
2129
  $dslc_options = array_merge( $dslc_options, $this->presets_options() );
2130
+
2131
  return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
2132
 
2133
  }
2134
 
2135
  function output( $options ) {
2136
 
2137
+ if ( is_feed() ) {
2138
+ // Prevent category/tag feeds to stuck in an infinite loop
2139
+ return false;
2140
+ }
2141
+
2142
  global $dslc_active;
2143
 
2144
  if ( $dslc_active && is_user_logged_in() && current_user_can( DS_LIVE_COMPOSER_CAPABILITY ) )
2145
  $dslc_is_admin = true;
2146
  else
2147
+ $dslc_is_admin = false;
2148
 
2149
  // Fix slashes on apostrophes
2150
  if ( isset( $options['addtocart_text'] ) ) {
2170
  $orderby = 'price';
2171
  }
2172
 
2173
+ if ( is_front_page() ) { $paged = ( get_query_var( 'page' ) ) ? get_query_var( 'page' ) : 1; } else { $paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1; }
2174
 
2175
  // Fix for pagination from other modules affecting this one when pag disabled
2176
  if ( $options['pagination_type'] == 'disabled' ) $paged = 1;
2180
  if ( $query_offset > 0 && $paged > 1 ) $query_offset = ( $paged - 1 ) * $options['amount'] + $options['offset'];
2181
 
2182
  $args = array(
2183
+ 'paged' => $paged,
2184
  'post_type' => 'product',
2185
  'posts_per_page' => $options['amount'],
2186
  'order' => $options['order'],
2192
  $args['offset'] = $query_offset;
2193
  }
2194
 
2195
+ if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
2196
+ $args['post_status'] = array('publish', 'private');
2197
  }
2198
 
2199
  if ( isset( $options['categories'] ) && $options['categories'] != '' ) {
2200
+
2201
+ $cats_array = explode( ' ', trim( $options['categories'] ) );
2202
 
2203
  $args['tax_query'] = array(
2204
  array(
2208
  'operator' => $options['categories_operator']
2209
  )
2210
  );
2211
+
2212
  }
2213
 
2214
+ if ( isset( $orderby ) && $orderby == 'price' ) {
2215
 
2216
  $args['meta_key'] = '_price';
2217
 
2232
  // Include posts ( option )
2233
  if ( $options['query_post_in'] )
2234
  $include = array_merge( $include, explode( ' ', $options['query_post_in'] ) );
2235
+
2236
  // Include query parameter
2237
  if ( ! empty( $include ) )
2238
  $args['post__in'] = $include;
2242
  $args['post__not_in'] = $exclude;
2243
 
2244
  // Author archive page
2245
+ if ( is_author() && $options['query_alter'] == 'enabled' ) {
2246
  global $authordata;
2247
+ $args['author__in'] = array($authordata->data->ID);
2248
  }
2249
+
2250
  // No paging
2251
  if ( $options['pagination_type'] == 'disabled' )
2252
  $args['no_found_rows'] = true;
2261
  ),
2262
  );
2263
  }
2264
+
2265
  // Do the query
2266
+ if ( ( is_category() || is_tag() || is_tax() || is_search() || is_date() ) && $options['query_alter'] == 'enabled' ) {
 
 
 
2267
  global $wp_query;
2268
  $dslc_query = $wp_query;
2269
  } else {
2279
  /**
2280
  * Elements to show
2281
  */
2282
+
2283
  // Main Elements
2284
  $elements = $options['elements'];
2285
  if ( ! empty( $elements ) )
2286
  $elements = explode( ' ', trim( $elements ) );
2287
  else
2288
  $elements = array();
2289
+
2290
 
2291
  // Post Elements
2292
  $post_elements = $options['post_elements'];
2335
  $show_view_all_link = false;
2336
 
2337
  if ( in_array( 'main_heading', $elements ) )
2338
+ $show_heading = true;
2339
 
2340
  if ( ( $elements == 'all' || in_array( 'filters', $elements ) ) && $options['type'] !== 'carousel' )
2341
  $show_filters = true;
2349
  /**
2350
  * Carousel Items
2351
  */
2352
+
2353
  switch ( $options['columns'] ) {
2354
  case 12 :
2355
  $carousel_items = 1;
2378
  if ( $show_header ) :
2379
  ?>
2380
  <div class="dslc-module-heading">
2381
+
2382
  <!-- Heading -->
2383
 
2384
  <?php if ( $show_heading ) : ?>
2407
 
2408
  while ( $dslc_query->have_posts() ) {
2409
 
2410
+ $dslc_query->the_post();
2411
 
2412
  $post_cats = get_the_terms( get_the_ID(), 'product_cat' );
2413
  if ( ! empty( $post_cats ) ) {
2414
+ foreach ( $post_cats as $post_cat ) {
2415
  $cats_array[$post_cat->slug] = $post_cat->name;
2416
  }
2417
  }
2490
  $post_cats = get_the_terms( get_the_ID(), 'product_cat' );
2491
  $post_cats_data = '';
2492
  if ( ! empty( $post_cats ) ) {
2493
+ foreach ( $post_cats as $post_cat ) {
2494
  $post_cats_data .= $post_cat->slug . ' ';
2495
  }
2496
  }
2514
  if ( isset( $options['thumb_resize_height'] ) && ! empty( $options['thumb_resize_height'] ) || isset( $options['thumb_resize_width_manual'] ) && ! empty( $options['thumb_resize_width_manual'] ) ) {
2515
 
2516
  $manual_resize = true;
2517
+ $thumb_url = wp_get_attachment_image_src( get_post_thumbnail_id(), 'full' );
2518
  $thumb_url = $thumb_url[0];
2519
 
2520
  $thumb_alt = get_post_meta( get_post_thumbnail_id(), '_wp_attachment_image_alt', true );
2611
  </div><!-- .dslc-product-main-inner -->
2612
 
2613
  <a href="<?php the_permalink(); ?>" class="dslc-post-main-inner-link-cover"></a>
2614
+
2615
  </div><!-- .dslc-product-main -->
2616
 
2617
  <?php endif; ?>
2622
 
2623
  <?php endif; ?>
2624
 
2625
+ <?php if ( $options['main_location'] == 'bellow' && ( $post_elements == 'all' || in_array( 'title', $post_elements ) || in_array( 'separator', $post_elements ) || in_array( 'excerpt', $post_elements ) || in_array( 'addtocart', $post_elements ) || in_array( 'details', $post_elements ) ) ) : ?>
2626
 
2627
+ <div class="dslc-post-main dslc-product-main">
2628
 
2629
  <?php if ( $post_elements == 'all' || in_array( 'title', $post_elements ) ) : ?>
2630
 
2723
  /**
2724
  * Pagination
2725
  */
2726
+
2727
  if ( isset( $options['pagination_type'] ) && $options['pagination_type'] != 'disabled' ) {
2728
  $num_pages = $dslc_query->max_num_pages;
2729
  if ( $options['offset'] > 0 ) {
2730
+ $num_pages = ceil( ( $dslc_query->found_posts - $options['offset'] ) / $options['amount'] );
2731
  }
2732
+ dslc_post_pagination( array('pages' => $num_pages, 'type' => $options['pagination_type']) );
2733
  }
2734
 
2735
  wp_reset_postdata();
readme.txt CHANGED
@@ -1,9 +1,9 @@
1
- === Page Builder: Live Composer drag and drop website builder (visual front end site editor) ===
2
  Contributors: LiveComposer
3
  Tags: page builder, visual composer, visual editor, visual builder, drag and drop builder, landing page builder, frontend editor, frontend builder, landing pages, landing page, website builder, theme builder, site-builder, layout builder, drag-and-drop, builder, editor, responsive, mobile, layout, front end, frontend, Page Layout, squeeze page
4
  Requires at least: 3.9
5
- Tested up to: 4.4.2
6
- Stable tag: 1.0.7.2
7
  License: GPLv3
8
 
9
  Front-end page builder for WordPress with drag and drop editing. Build PRO responsive websites and landing pages. Visually customize any page element.
@@ -18,52 +18,42 @@ Do it yourself with easy content editing in real-time. Save your money on expens
18
 
19
  Unlike other page builders, Live Composer is 100% free and open source. We provide full functionality out of the box without asking to buy a premium version. There is no premium version to up-sell, no hidden ads or annoying notices trying to sell something.
20
 
21
- = PAGE BUILDER LIVE COMPOSER: =
22
- = Over 30,000 Site Owners Chose Live Composer=
23
 
24
  You can trust our page builder. It’s a proven solution for your business. 100% open source and backed by the experienced team of web developers. We are on the market for more than 2 years. All the major bugs already fixed and new updates released regularly. Every day our developers work on code improvement and new features. Our support is exceptional but still free.
25
 
26
- = PAGE BUILDER LIVE COMPOSER: =
27
  = Get Started Without Reading Any Documentation =
28
 
29
  Site design customization or page layout changes shouldn't be difficult or expensive. Our page builder is easy to use without reading any documentation. You'll be building beautiful custom WordPress site designs in no time. Create multi-media rich pages with very little effort: add new sections, rearrange columns, and add media from the same screen. It’s a perfect solution for ALL users. No technical skills required.
30
 
31
- = PAGE BUILDER LIVE COMPOSER: =
32
  = Create Custom Page Layouts in Minutes =
33
 
34
  Live Composer is a simple but very powerful [WordPress site builder](http://livecomposerplugin.com/). Customize every little detail on your website or build stunning custom pages from scratch.
35
 
36
- = PAGE BUILDER LIVE COMPOSER: =
37
  = Well Integrated With WordPress =
38
 
39
  Our page builder works with works with any standard compliant WordPress theme. It’s fully compatible with other plugins like Yoast WP SEO or contact form builders. We also have a [marketplace with free and premium themes](http://livecomposerplugin.com/themes/) created especially for Live Composer.
40
 
41
- = PAGE BUILDER LIVE COMPOSER: =
42
  = No Code Left Behind When the Plugin Deactivated =
43
 
44
  Unlike other page builders, Live Composer doesn't leave behind horrible amount of shortcodes when the plugin deactivated. It's not a commitment to a single plugin. We don’t lock you. It’s easy to start using any other page builder without a need to remove all the custom shortcodes before implementing a new solution.
45
 
46
- = PAGE BUILDER LIVE COMPOSER: =
47
  = 100% Free and Open Source =
48
 
49
  Previously a premium plugin, Live Composer page builder is now free fully functional plugin. Actively developed by [professional web developers](http://livecomposerplugin.com/) it has a bright future for years to come.
50
 
51
- = PAGE BUILDER LIVE COMPOSER: =
52
  = No Coding Skills Required =
53
 
54
  Anyone can build pro website with Live Composer page builder. No coding or technical skills required. Our site builder will generate all the code for you.
55
 
56
- = PAGE BUILDER LIVE COMPOSER: =
57
- = Free Support =
58
 
59
  Our page builder comes with a [free one-to-one email support](http://livecomposerplugin.com/support/support-request/). If you faced any issues, found a bug or need an advice please [contact our support team using this form](http://livecomposerplugin.com/support/support-request/).
60
 
61
- = PAGE BUILDER LIVE COMPOSER: =
62
  = Export/Import Sections, Layouts or while Pages =
63
 
64
  Export any page section or the whole page. Reuse layout or page design you created.
65
 
66
- = PAGE BUILDER LIVE COMPOSER: =
67
  = Mobile Responsive =
68
 
69
  It's easy to create responsive websites in our page builder. You can customize responsive presentation of any page element to make it looks perfect on all mobile devices, ensuring your site is mobile-ready.
@@ -82,7 +72,7 @@ We provide free one-to-one support by email. Please, send your question using [t
82
 
83
  = How to I activate the page builder on a page? =
84
 
85
- When you visit a page you'll see a green "activate editor" button in the bottom right corner, click that and the page will reload in LC mode.
86
 
87
  = Why is the "activate editor" button missing from the homepage =
88
 
@@ -94,28 +84,195 @@ In most of the cases this is because the homepage is not a real WordPress page,
94
 
95
  == Changelog ==
96
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
97
  = 1.0.7 - March 5th 2016 =
98
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
99
  [Check out the blog post about 1.0.7 release](http://livecomposerplugin.com/lc-version-1-0-7)
100
 
101
  = 1.0.6.1 - December 15th 2015 =
102
 
 
 
103
  [Check out the blog post about 1.0.6.1 release](http://livecomposerplugin.com/blog/version-1-0-6-1-released/)
104
 
105
  = 1.0.6 - November 24th 2015 =
106
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
107
  [Check out the blog post about 1.0.6 release](http://livecomposerplugin.com/blog/version-1-0-6-released/)
108
 
109
  = 1.0.5 - November 2nd 2015 =
110
 
 
 
111
  [Check out the blog post about 1.0.5 release](http://livecomposerplugin.com/blog/version-1-0-5-released/)
112
 
113
  = 1.0.4 - October 19th 2015 =
114
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
115
  [Check out the blog post about 1.0.4 release](http://livecomposerplugin.com/blog/version-1-0-4-released/)
116
 
117
  = 1.0.3 - October 2nd 2015 =
118
 
 
 
 
 
 
 
119
  [Check out the blog post about 1.0.3 release](http://livecomposerplugin.com/blog/version-1-0-3-released/)
120
 
121
  = 1.0.2 - September 30th 2015 =
@@ -128,4 +285,907 @@ In most of the cases this is because the homepage is not a real WordPress page,
128
 
129
  = 1.0 - September 10th 2015 =
130
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
131
  * Initial release
1
+ === Page Builder: Live Composer - drag and drop website builder (visual front end site editor) ===
2
  Contributors: LiveComposer
3
  Tags: page builder, visual composer, visual editor, visual builder, drag and drop builder, landing page builder, frontend editor, frontend builder, landing pages, landing page, website builder, theme builder, site-builder, layout builder, drag-and-drop, builder, editor, responsive, mobile, layout, front end, frontend, Page Layout, squeeze page
4
  Requires at least: 3.9
5
+ Tested up to: 4.5.2
6
+ Stable tag: 1.0.8
7
  License: GPLv3
8
 
9
  Front-end page builder for WordPress with drag and drop editing. Build PRO responsive websites and landing pages. Visually customize any page element.
18
 
19
  Unlike other page builders, Live Composer is 100% free and open source. We provide full functionality out of the box without asking to buy a premium version. There is no premium version to up-sell, no hidden ads or annoying notices trying to sell something.
20
 
21
+ = Over 30,000 Site Owners Chose Live Composer =
 
22
 
23
  You can trust our page builder. It’s a proven solution for your business. 100% open source and backed by the experienced team of web developers. We are on the market for more than 2 years. All the major bugs already fixed and new updates released regularly. Every day our developers work on code improvement and new features. Our support is exceptional but still free.
24
 
 
25
  = Get Started Without Reading Any Documentation =
26
 
27
  Site design customization or page layout changes shouldn't be difficult or expensive. Our page builder is easy to use without reading any documentation. You'll be building beautiful custom WordPress site designs in no time. Create multi-media rich pages with very little effort: add new sections, rearrange columns, and add media from the same screen. It’s a perfect solution for ALL users. No technical skills required.
28
 
 
29
  = Create Custom Page Layouts in Minutes =
30
 
31
  Live Composer is a simple but very powerful [WordPress site builder](http://livecomposerplugin.com/). Customize every little detail on your website or build stunning custom pages from scratch.
32
 
 
33
  = Well Integrated With WordPress =
34
 
35
  Our page builder works with works with any standard compliant WordPress theme. It’s fully compatible with other plugins like Yoast WP SEO or contact form builders. We also have a [marketplace with free and premium themes](http://livecomposerplugin.com/themes/) created especially for Live Composer.
36
 
 
37
  = No Code Left Behind When the Plugin Deactivated =
38
 
39
  Unlike other page builders, Live Composer doesn't leave behind horrible amount of shortcodes when the plugin deactivated. It's not a commitment to a single plugin. We don’t lock you. It’s easy to start using any other page builder without a need to remove all the custom shortcodes before implementing a new solution.
40
 
 
41
  = 100% Free and Open Source =
42
 
43
  Previously a premium plugin, Live Composer page builder is now free fully functional plugin. Actively developed by [professional web developers](http://livecomposerplugin.com/) it has a bright future for years to come.
44
 
 
45
  = No Coding Skills Required =
46
 
47
  Anyone can build pro website with Live Composer page builder. No coding or technical skills required. Our site builder will generate all the code for you.
48
 
49
+ = Free Support =
 
50
 
51
  Our page builder comes with a [free one-to-one email support](http://livecomposerplugin.com/support/support-request/). If you faced any issues, found a bug or need an advice please [contact our support team using this form](http://livecomposerplugin.com/support/support-request/).
52
 
 
53
  = Export/Import Sections, Layouts or while Pages =
54
 
55
  Export any page section or the whole page. Reuse layout or page design you created.
56
 
 
57
  = Mobile Responsive =
58
 
59
  It's easy to create responsive websites in our page builder. You can customize responsive presentation of any page element to make it looks perfect on all mobile devices, ensuring your site is mobile-ready.
72
 
73
  = How to I activate the page builder on a page? =
74
 
75
+ When you visit a page you'll see a green "activate editor" button in the bottom right corner, click that and the page will reload in LC mode ( LCPB ).
76
 
77
  = Why is the "activate editor" button missing from the homepage =
78
 
84
 
85
  == Changelog ==
86
 
87
+ = 1.0.8 - May 11th 2016 =
88
+
89
+ * Page Builder - Module Options: Added 'Nofollow' option for the BUTTON and INFOBOX modules.
90
+ * Page Builder - Module Options: New icon selection modal
91
+ * Page Builder - Module Options: Removed confusing "Query Alter" tab. Created a simpler "Archive/Search Listing" control instead.
92
+ * Page Builder - WordPress Admin: Show notice when W3 Total Cache plugin configs are wrong (can break Live Compose functionality)
93
+ * Page Builder - WordPress Admin: Removed "Edit Template" button from header/footer editing screen and meta boxes.
94
+ * Page Builder - WordPress Admin: Redesigned and improved plugin settings panel
95
+ * Page Builder - WordPress Admin: Show notice if wrong settings detected in WP Admin > General
96
+ * Page Builder - WordPress Admin: Overlay WP editor with LC Page Builder tab ONLY if there is LC content detected AND there is no content in the standard editor
97
+ * Page Builder - Code: CSS generation optimization. After this change, we get ~30% shorter CSS code.
98
+ * Page Builder - Code: Better content export into the dslc_content_for_search custom field. Now content fully recreate plain HTML output of the LC page. From now modules need to set attribute data-exportable-content for the peace that has searchable/exportable content inside.
99
+ * Page Builder - Code: Improved code styling according to WordPress standards
100
+ * Page Builder - Code: Removed DS_LIVE_COMPOSER_LOAD_MINIFIED constant. Developers, please use standard WP constant SCRIPT_DEBUG that can be declared in the wp-config file.
101
+ * Page Builder - Code: Do not output empty Google font calls (when font set to an empty string in the editor)
102
+ * Page Builder - Code: Added possibility for theme developers to output CSS for non-standard custom post types
103
+ * Page Builder - Code: Make Welcome screen on activation optional for the theme developers. Use dslc_show_welcome_screen filter to disable it.
104
+ * Page Builder - Code: Add 'dslc_archive_template_cpt' filter to give the theme developers an option to show their own custom posts types in the templates dropdown.
105
+ * Page Builder - Code: Fix a broken reply to comment JS functionality due to the absence of a proper comment id in the html output.
106
+ * Page Builder - Code: Fixed infinite loop in categories/tags feed output
107
+ * Page Builder - Code: Fix broken styling for DSLC_TP_Content modules in templates
108
+ * Page Builder - Code: Animations moved outside of media queries to it work in IE10 and IE11
109
+ * Page Builder - Code: Fix a bug with posts listing on is_date() archive pages
110
+
111
  = 1.0.7 - March 5th 2016 =
112
 
113
+ While we are working on major JavaScript optimizations our designer prepared a minor plugin update with a few UI improvements.
114
+
115
+ To make sure new page builder users understand how to edit pages in Live Composer we added a few helpful buttons and Page Builder tab on page editing screen.
116
+
117
+ Custom Post Types now also has a link that open selected template for editing in Live Composer.
118
+ Page listing in WordPress admin panel now also has a link to activate Live Composer.
119
+
120
+ = New Getting Started Screen =
121
+
122
+ In the new Live Composer page builder update, we changed the location of the Welcome Screen. Now it's called Getting Started and located in plugin settings. We decided to make this screen always accessible as it has important information on where to find Live Composer documentation and how to get our one-to-one email support.
123
+
124
+ We also working hard on improving our email list. We are going to send regular updates on the plugin development process and new releases. The new welcome screen includes email subscription form and our social badges.
125
+
126
+ = No More Tutorials by Default =
127
+
128
+ Tutorials is a great feature but mostly used by theme developers to introduce users to the Live Composer layout builder. We decided to disable this feature by default to improve settings panel and not confuse new page builder users from WordPress.org.
129
+
130
+ If you need this feature back, just add the next line into your theme's functions.php file:
131
+
132
+ add_filter( 'dslc_tutorials', '__return_true' );
133
+
134
+
135
+ = What We are Working On =
136
+
137
+ * Our developers work hard to improve interface speed and stability. They rewrite some functions on pure JS and optimize code to make it use fewer browser resources and work faster.
138
+ * Our designer is working on UI redesign to make layout builder more native to WordPress users. We also want to improve the structure of the module options panel soon.
139
+ * Support: We also changed the way support works. Forum closed for new postings. All the new support request are served via one to one email conversations.
140
+ * Marketing and PR were neglected for a long time. Now we have experience and resources to give the front-end editor attention it deserves.
141
+ * Community: we are going to invest our time into creating a strong community of users and developers around this plugin. First of all, we will promote and grow our Facebook Group. It will be used by theme users like you to share success stories, web site designs, find new clients, ask questions.
142
+ * Brand: we hired an amazing Japanese illustrator to design a new mascot for our drag and drop website builder. We want to be more friendly and open to the users and not look too serious. Creating websites is a great fun!
143
+ * Marketplace: this is one of the most important aspects for a long time success of our plugin. Our developers work on new powerful extensions and landing pages integrations. We are also working on amazing opportunities for 3-rd party developers, to make it easy for them to develop and sell their extensions on our website. Keep tuned, we will make you rich :)
144
+
145
+ = Join Our New [Facebook Group] (https://www.facebook.com/groups/livecomposer/) =
146
+
147
+ It's a great experience for us to support you via our new one-to-one support channel. We learn a lot on how you use visual composer for your business. To share your experience with our drag and drop plugin and learn about other users creations we created a new Facebook Group for Live Composer. Please, join us and other site creators to share your latest project or get a quick advice on website building. For those of you who want to get notifications about important plugin updates, we have [Facebook Page] (https://www.facebook.com/livecomposer) and [Twitter profile] (https://twitter.com/LiveComposerWP)
148
+
149
+ = 1.0.6.1 - December 15th 2015 =
150
+
151
  [Check out the blog post about 1.0.7 release](http://livecomposerplugin.com/lc-version-1-0-7)
152
 
153
  = 1.0.6.1 - December 15th 2015 =
154
 
155
+ This is a small update that fixes the issue with pagination not working in WordPress 4.4.
156
+
157
  [Check out the blog post about 1.0.6.1 release](http://livecomposerplugin.com/blog/version-1-0-6-1-released/)
158
 
159
  = 1.0.6 - November 24th 2015 =
160
 
161
+ Yoast SEO v3 Compatibility
162
+
163
+ Version 3.0 of Yoast SEO came with a lot of changes and one of them was they completely rewrote the way the keyword analysis is handled. Our front end website builder is now compatible with that new keyword analysis system.
164
+
165
+ Aside of the compatibility we've improved the data website builder generates for the purpose of Yoast SEO analysis, it will now include HTML elements instead of just plain text, so when Yoast checks for headings, images it will find them.
166
+
167
+ However, for your existing website builder created pages you will need to activate the editor and our landing page builder will then regenerate that content and show the "Publish Changes" button, press it.
168
+
169
+ = Notification Module - Show Again After =
170
+
171
+ Until now the notification module was quite simple, the user can close it but it would show up again when page reloaded. Now you can set it on a timer, you can set the amount of days that will take after the visitors closes it to be shown the notification again.
172
+
173
+ = Jetpack's Photon Compatibility =
174
+
175
+ Jetpack has a feature called Photon which makes the images be stored on Jetpack's server instead of your own server, making things a bit faster and saving up on your bandwidth.
176
+
177
+ But it was not compatible with our layout builder since the image resizing functionality in visual composer needed the images to be on the same server in order to resize them. Now, front end site builder will use Photon's functions to handle the display of resized images.
178
+
179
+ = Improvements in frontend layout builder code =
180
+
181
+ * Button Module - Now supports opening videos ( youtube and vimeo ) in a lightbox
182
+ * Blog/Posts Modules - Option to ignore sticky posts
183
+ * Text/HTML/Content Modules - Box shadow options added for buttons
184
+ * Clicking an image ( if lightbox activated ) in a gallery will now open that image instead of the first one in the gallery
185
+ * Info Box Module - Letter spacing option added for title
186
+ * Button Module - Letter spacing option added
187
+ * Image Module - Negative bottom margin now possible
188
+ * Widgets Module - Margin Left option added
189
+
190
+ = Fixes =
191
+
192
+ * Staff Social Module was broken
193
+ * Issue with blockquote align option in HTML/Text/Content modules
194
+ * Issue with masonry layout breaking
195
+ * Issue with navigation module showing above lightbox
196
+ * Issue with social shares count being incorrect
197
+ * Issue with border radius on thumbnail in all posts related site builder modules
198
+ * Issue with content of a post type being displayed on the archives of the post type
199
+
200
  [Check out the blog post about 1.0.6 release](http://livecomposerplugin.com/blog/version-1-0-6-released/)
201
 
202
  = 1.0.5 - November 2nd 2015 =
203
 
204
+ This is a small update that fixes the issue with pagination not working in WordPress 4.4.
205
+
206
  [Check out the blog post about 1.0.5 release](http://livecomposerplugin.com/blog/version-1-0-5-released/)
207
 
208
  = 1.0.4 - October 19th 2015 =
209
 
210
+ Text Shadow
211
+
212
+ A new option type has been added to front end website builder, it's text shadow. it's been added to several modules ( Text, Content, HTML, Title, Meta, Excerpt, Icon ) and we'll keep adding it to more modules in upcoming releases.
213
+
214
+ New Feature - "Currently Editing"
215
+
216
+ When editing a row or a module, above the options ( left side ) will be a little bar with the text "Currently Editing: Blog Module" so you know which module are you editing. Also, clicking that bar will scroll the browser to the module you are editing and the border around it will flash to point out which one is it.
217
+
218
+ New Feature - "Load More" Pagination
219
+
220
+ If you want AJAX powered pagination ( click "load more" and more posts show up ), now you can have that, just set the "Pagination Type" option to "Load More". This is available for all the posts related page builder modules.
221
+
222
+ New Elements - Social Sharing in Blog Module
223
+
224
+ If you'd like to put social sharing links in your blog posts listing now you can, you can enable it under Styling > Post Elements, you'll see "Social" in there.
225
+
226
+ New Feature - Icon Sets
227
+
228
+ Icon sets is a new feature which allows developers to implement new icons that will be available in drag-and-drop visual editor. For each icon option in top right the current set being used is shown and clicking on it allows you to change the set being used.
229
+
230
+ New Shortcode - Category Description
231
+
232
+ If you are using layout builder to power the archives/category pages and want to display the category description, now you can, simply add a text module and add the [dslc_category_description] shortcode to output it.
233
+
234
+ Improvements in drag-and-drop page editor code
235
+ * Info Box Module - Option to add an image just below the icon. This is useful if you want to use an image instead of an icon. ( thanks to Aman )
236
+ * Blog and Posts Modules - Option to turn off author/date in the meta independently
237
+ * All posts related modules - Option to change thumbnail align
238
+ * All posts related modules - Option to change align ( left/center/right ) on thumbnail
239
+ * Several animations in the editor have been switched over from JS to CSS
240
+
241
+ Bugs
242
+ * The placeholder text on Info Box module was wrong and confusing
243
+ * The avatar shortcode was echoing instead of returning
244
+ * Parallax functionality was affecting horizontal position of BG image
245
+
246
+ For Developers
247
+
248
+ New landing page cretor Modules Option Type - Text Shadow
249
+
250
+ To use this option in your own modules simply set the type of the option to text_shadow. If you are applying a default value to the option then use the usual order of parameters "horizontal vertical blur color".
251
+
252
+ New Function - dslc_get_social_count()
253
+
254
+ it's used to get the amount of shares the current post/page has on twitter, facebook and pinterest. It returns an array with keys "fb", "twitter", "pinterest".
255
+
256
+ It accepts 2 parameters, first is the post ID ( in case you want to get social shares of a specific post/page instead of the current one ) and the second one is cache time in milliseconds ( how long until it should recheck again for the shares count, defaults to 3600 seconds, which is of course 1 hour ).
257
+
258
+ New Filters - Custom Post Type and Taxonomy Arguments
259
+
260
+ All the arguments for post types and taxonomies now have filters so you can alter them. This was asked by a developer so he can change the labels ( "Projects", "Add Project" ) to something else that suits his theme better, but you can also change other arguments with this.
261
+
262
+ Here's the list of filters: dslc_projects_cpt_args, dslc_projects_cats_args, dslc_downloads_cpt_args, dslc_downloads_cats_args, dslc_downloads_tags_args, dslc_galleries_cpt_args, dslc_galleries_cats_args, dslc_partners_cpt_args, dslc_partners_cats_args, dslc_staff_cpt_args, dslc_staff_cats_args, dslc_testimonials_cpt_args, dslc_testimonials_cats_args
263
+
264
+ For the list of arguments you can check the source code or check the register_post_type() and register_taxonomy().
265
+
266
  [Check out the blog post about 1.0.4 release](http://livecomposerplugin.com/blog/version-1-0-4-released/)
267
 
268
  = 1.0.3 - October 2nd 2015 =
269
 
270
+ This is an unscheduled update, the next scheduled regular update is still planned for October 15th. The purpose of this update is to make our frontend page editor compatible with WordPress language packs, more info on language packs can be found at https://make.wordpress.org/plugins/2015/09/01/plugin-translations-on-wordpress-org/
271
+
272
+ The text domain for visual composer used to be ds_string but for the language packs feature to work it has to be the same as the plugin's folder name which is live-composer-page-builder. So in this update all the textual strings have the text domain changed ( about 8500 strings ) and some other fixes related to the translation capabilities have been made.
273
+
274
+ If you have your own translation of our frontend page editor the file name is something like dslc_string-sr_RS which will no longer work, change it to live-composer-page-builder-sr_RS ( the sr_RS part depends on the language code ).
275
+
276
  [Check out the blog post about 1.0.3 release](http://livecomposerplugin.com/blog/version-1-0-3-released/)
277
 
278
  = 1.0.2 - September 30th 2015 =
285
 
286
  = 1.0 - September 10th 2015 =
287
 
288
+ * Wordress.org RE-RELEASE
289
+
290
+
291
+ = 1.2.4.1 (July 30th, 2015) - released on CodeCanyon before moving to WordPress.org =
292
+
293
+
294
+ = Improvements in landing page generator code =
295
+
296
+ * Info Box Module - Responsive options added for wrapper
297
+ * New shortcode to display the avatar of the current user: [dslc_user_avatar] Accepts size parameter ( ex. [dslc_user_avatar size=200] will be 200px avatar )
298
+
299
+ = Bugs =
300
+
301
+ * Issue with row actions ( save/cancel ) still visible if you click to edit a module while a row is being edited
302
+ * The "Orientation" option in all posts visual composer modules was broken
303
+ * ID of the comments div in the comments module was wrong so WordPress generated URLs with #comments did not jump to comments
304
+ * Issue with layout builder modules not showing in Internet Explorer when an opacity related animation is applied
305
+ * Options not shown in an "edge case" scenario when there's only one option
306
+
307
+
308
+
309
+ = 1.2.4 (July 23rd, 2015) - released on CodeCanyon before moving to WordPress.org =
310
+
311
+ = Save Draft =
312
+
313
+ A lot of our front end website builder users click the "Publish Changes" button often to make sure if something unexpected happens they don't lose the content they created. But when working on a live page ( visitors have access to it ) that's not something you'd want to do, you want to publish only when the page is finished.
314
+
315
+ That's where drafts come in. On the right of the "Publish Changes" button is a new button called "Save Draft". Clicking that will save your changes but not publish them ( not visible to visitors ).
316
+
317
+ This is also useful if you're working on a page but got to stop for some reason. You save the changes as a draft and you can then safely disable the visual editor. When you enable it again the changes will still be there.
318
+
319
+ = Improvements in drag-and-drop page builder code =
320
+
321
+ * Various site editor modules - Letter spacing options added to various modules ( text, navigation, widgets... ), more will be added in upcoming versions
322
+ * Comment Form Module - Javascript validation for required inputs
323
+ * Social module - Optional labels added for the social elements ( + the needed styling options )
324
+ * Galleries module - Button element to go to gallery single page added ( + the needed styling options )
325
+ * Info box module - Options added for wrapper giving more flexibility
326
+ * Widgets Module - Options for inner title giving more flexibility
327
+ * All modules - Minimum Height option added
328
+ * Gallery Slider module - Lightbox functionality
329
+ * Gallery and Gallery Slider modules - Added title for images in the lightbox
330
+ * Gallery Slider and Project Slider modules - Option to change border radius on "circle" navigation
331
+ * Social Module - Added padding options
332
+ * Information added for "Widget Module" and "Navigation Module" in Live Composer front-end editor settings panel
333
+ * Show error when duplicated items for "Widgets Module" and "Navigation Module" settings entered in Live Composer layout builder settings panel
334
+ * Meta module - Option to hide/show avatar
335
+ * New Shortcode - Icon shortcode added. [dslc_icon id="ICON_ID"] ( IDs can be found at http://livecomposerplugin.com/icons-listing/ )
336
+ * All posts related modules - Setting "Excerpt Length" to 0 now shows whole excerpt and does not strip HTML
337
+ * Icon Module - Margin bottom option added
338
+
339
+ = Bugs =
340
+
341
+ * Issue with some of the animations ( Styling > Animations > On Load Animation ) flickering
342
+ * Blog Module - Issue with margin bottom option ( under "General" ) not applying
343
+ * Issue with undefined function in older versions of WordPress ( prior to 4.0 )
344
+ * Issue with module width selectors going 1 per row instead of 2 per row
345
+ * Issue with CSS generation when page/post not using default header/footer
346
+ * All posts related modules - Non-published ( draft ) posts shown while in visual editor mode
347
+
348
+ LCVV
349
+
350
+ = 1.2.3 (July 7th, 2015) - released on CodeCanyon before moving to WordPress.org =
351
+
352
+ = Bigger Changes =
353
+
354
+ * Builder Performance/Speed
355
+
356
+ Those who experienced slow response while building ( changing tabs, loading module options... ) should see a significant improvement in response time. The 5000+ lines of code that powers the page building process has been refactored, a lot of it improved and some of it rewritten.
357
+ * Module Width
358
+
359
+ Front end site builder modules are no longer limited to 100% width of the modules area. Front-end modules now have the same width options as module areas do, allowing more flexibily in creating layouts. The interface is the same as for module areas, just click the icon and set the width.
360
+
361
+ = Improvements in front end page builder code =
362
+
363
+ * Text Module - Added responsive options for lists
364
+ * Text Module - Added responsive text align options for several elements
365
+ * Content Module - Added responsive text align and margin bottom options for headings
366
+ * Content/Text Modules - Added responsive options for blockquotes
367
+ * Social Module - Added RSS option
368
+ * Info Box Module - Added option to change icon color on hover
369
+ * Rows and areas will no longer take up any space if modules inside are hidden by the responsive "show on" option
370
+ * Gallery Slider Module - Lightbox functionality added
371
+ * Hovering over a module will show the name of that module in a tooltip ( only works when in editor mode )
372
+ * Color pallete in the colorpicker now available for rows as well
373
+ * Galleries Module - Option to set a custom URL to go to instead of the single gallery post
374
+ * The "X" in top right of the colorpicker has been removed due to causing confusion ( it's to clear the value, not to close the colorpicker )
375
+ * For developers using our frontend page builder - Function to check if the shown page is in editor mode, dslc_is_editor_active()
376
+ * For developers using our landing page builder - The "General" tab is no longer required. If there are no options under that tab it won't show up.
377
+ * For developers using page editor - Live Composer page templates can now be separated into different sections, no longer limited to "Theme"
378
+
379
+ = Bugs =
380
+
381
+ * Info Box Module - Issue with spacing showing between 2 buttons even when set to 0
382
+ * Error with module sorting when server runs on 5.2.x version of PHP
383
+ * Navigation Module - Issue with hamburger icon displaying on phones even when the responsiveness is disabled
384
+ * Conflict with queries made by themes and other plugins for post queries by author causing only 1 post to show
385
+ * All Posts Related Modules - Issue with slashes in "heading" when quotes are used
386
+ * Issue with colorpicker's "revert to default" not working
387
+ * Issue with website page builder modules being added to header/footer sections when they are not being edited
388
+ * Testimonials Module - Issue with some characters being cut off due to line height
389
+ * Issue with increased blockquote's bottom spacing due to margin on the paragraph inside
390
+
391
+
392
+
393
+ = 1.2.2 (May 27th, 2015) - released on CodeCanyon before moving to WordPress.org =
394
+
395
+ = Improvements in landing page generator code =
396
+
397
+ * Thumbnail Module - Now available for pages as well
398
+ * Colorpicker options will now display the last 12 colors you used, making it easier to reuse colors ( so you don't have to copy/paste color codes )
399
+ * Comment Form - Option to change the text strings ( "Leave Comment", "Name", "Email"... ). By default they're empty and fall back to localized text strings, for backwards compatibility.
400
+ * Content Module - H1 font size and line height options for tablet and phones
401
+ * Navigation Module - Align and margin top options added for tablet and phone.
402
+ * Social Module - Margin top option added
403
+ * For developers using page builder: "dslc_content_width" filter added to change the page editor's content visual width. When filtering return a full CSS value ( like 1200px ), not just a number.
404
+ * For developers using page builder: "dslc_row_class" filter added to define additional classes for the rows ( .dslc-modules-section ). Example usage: pastie.org/10207408
405
+ * For developers using page builder: The "Post Options Framework" now has a "date" option type available.
406
+
407
+ = Bugs =
408
+
409
+ * Issue with row overlay not being displayed when "BG IMAGE - USE FEATURED" is enabled.
410
+ * Issue with text changes not saving due to module settings not yet being loaded when clicking confirm ( when doing it fast ). Now when clicking "Edit Content" to edit text, the "confirm" and "cancel" actions will be disabled until module settings are loaded.
411
+ * Issue with author queries displaying only 1 post
412
+ * Issue with the responsive preview ( when editing responsive options on a module ) not going back to regular view when confirming changes while responsive tab is active
413
+ * Issue with broken carousel layout on phones
414
+ * Social Module - Issue with the height of the container being taller than the icons inside
415
+ * Issue with an invalid Google Fonts call when none of the page builder modules on a page use a Google font
416
+
417
+
418
+
419
+ = 1.2.1 (April 29th, 2015) - released on CodeCanyon before moving to WordPress.org =
420
+
421
+ = Improvements in visual composer page editor code =
422
+
423
+ * Rows - Decreased the amount of inline CSS on rows. Inline CSS will be added only for non-default option values.
424
+ * Rows - Option to choose on which devices a row is visible/hidden ( desktop, tablet, phone )
425
+ * Content Module - Options for horizontal and vertical padding added for all the headings
426
+ * Image Module - Option to manually set the URL of the image
427
+ * The "activate editor" button will no longer show when website viewed via WordPress Customize feature.
428
+ * For developers using visual page builder. The body element now has 2 additional classes. When the page has visual composer content it gets "dslc-page-has-content" and when the page has header or footer powered by frontend layout builder it gets "dslc-page-has-hf" )
429
+ * For developers using drag-and-drop page builder. Checkbox option type now available for rows.
430
+
431
+ = Bugs =
432
+
433
+ * Modules Listing - The "single" category modules displayed under all the filters
434
+ * On hover animation options showing on all modules instead only on posts related modules
435
+ * Posts Module - "Undefined variable" notice on taxonomy
436
+ * RTL - Fixing the floating of columns
437
+ * Tutorial Ch.3 - On lower display resolutions gets stuck at the beggining due to "BLOG" module in the listing being out of view
438
+ * Tutorial Ch.3 - When drag-and-drop page editor is translated to a different language it gets stuck on the step when making styling changes
439
+ * "Undefined index" notice on existing rows when a new row option is added
440
+
441
+
442
+
443
+ = 1.2 (April 9th, 2015) - released on CodeCanyon before moving to WordPress.org =
444
+
445
+ = Improvements in front end page builder code =
446
+
447
+ * All Modules - Animation duration option added
448
+ * Row - Numeric options can now be a field instead of a slider
449
+ * Content Module - Improved placeholder text when creating a post template
450
+ * Button Module - Option to set custom classes to the anchor
451
+ * When non visual composer content is returned it will be wrapped with 2 divs ( #dslc-theme-content and #dslc-theme-content-inner ). For theme developers to style the content part if they use Live Composer visual builder for header and footer as well.
452
+
453
+ = Bugs =
454
+
455
+ * Posts Module - Category filters not showing categories
456
+ * Navigation Module - Spacing between nav items even when spacing set to 0
457
+ * Layout issue with masonry on phones
458
+ * Slight issue with the appearance of the close button for lightbox
459
+ * "Are you sure" prompt ( when clicking to edit a module while already editing one ) not showing when clicking "Edit Content"
460
+ * Issue with numeric options causing page jump under specific circustances
461
+ * Button height issue due to theme CSS
462
+ * Issue with layout due to animations in Internet Explorer ( temporarily disabled for IE )
463
+
464
+
465
+
466
+ = 1.1.9 (March 21st, 2015) - released on CodeCanyon before moving to WordPress.org =
467
+
468
+ = Improvement =
469
+
470
+ * A new easier to use text align options ( no longer a "select" element )
471
+ * When styling changed on a module with a preset the page builder modules with that preset on that page will reload and apply the new style ( page refresh no longer needed )
472
+ * Option to choose numeric options ( WordPress admin > Live Composer > Other ) to be a regular input instead of a slider ( allowing values bigger than the ones with slider )
473
+ * Navigation module now changes to a "hamburger" menu on tablets and phones. If responsiveness set to disabled it will remain a regular menu.
474
+ * All the custom post types ( projects, galleries... ) now support comments ( comments and comment form module )
475
+ * Staff Module - Font style option added ( normal, italic )
476
+
477
+ = Bugs =
478
+
479
+ * Issue with styling of the "Edit Content" influenced by the chosen font for "Content"
480
+ * Issue with responsive preview width when other theme/plugin calls windows resize trigger on ajax complete
481
+ * Issue with small height of the "Text" version of the WYSIWYG editor
482
+ * Navigation Module - Hover border color not working
483
+
484
+
485
+
486
+ = 1.1.8 (March 10th, 2015) - released on CodeCanyon before moving to WordPress.org =
487
+
488
+ = Improvements in drag and drop layout builder code =
489
+
490
+ * The WYSYWIG editor ( text editor ) now remembers which type ( visual, text ) you are using and keeps it active
491
+ * Button Module - Option to choose if the icon is shown on the left or the right side ( + margin left option for icon )
492
+ * Footer position options ( relative, fixed, absolute ) for themes compatible with the header/footer Live Composer layout builder feature
493
+ * Sidebar/Menu settings in WordPress admin > Live Composer will now confirm the item on enter key instead of making a new line
494
+
495
+ = Bugs =
496
+
497
+ * Issue with offset option ( all posts module ) braking pagination ( show same posts on all pages )
498
+ * Blog module avatar streched on some themes
499
+ * Posts modules with pagination disabled still get paginated when a different module has pagination
500
+ * Tabs module margin bottom option affects line height
501
+
502
+
503
+
504
+ = 1.1.7 (February 28th, 2015) - released on CodeCanyon before moving to WordPress.org =
505
+
506
+ = Improvements in drag-and-drop visual composer code =
507
+
508
+ * Info Box Module - Option to set a link for the title
509
+ * Info Box Module - Every elements has it's own align options now
510
+ * Products Module - Option to enable/disable showing out of stock products
511
+ * Icon Module - Option to align ( left, center, right ) the icon
512
+ * Navigation Module - Better display of submenus when there's not enough room on the right side
513
+
514
+ = Bugs =
515
+
516
+ * Close icon missing on icon option tooltip
517
+ * Issue with columns breaking in downloads module under specific circumstances
518
+ * Issue when trying to use a non-Live Composer defined font family in font options
519
+ * Comments module showing pending comments
520
+
521
+
522
+
523
+ = 1.1.6 (February 21st, 2015) - released on CodeCanyon before moving to WordPress.org =
524
+
525
+ = Improvements in frontend page editor code =
526
+
527
+ * 404 page can now be built with drag-and-drop page generator ( the page can be set in WordPress admin > Live Composer > Archives & Search )
528
+ * Yoast SEO plugin page analysis now takes front end site builder content into account
529
+ * Option to choose header "position" ( relative, absolute, fixed )
530
+ * Image Module - URL option now accepts shortcodes
531
+ * Gallery Slider and Projects Slider Modules - ALT attribute on images
532
+ * Widgets Module - Text transform option for title
533
+ * New Shortcode - [dslc_site_url] ( outputs the homepage URL )
534
+ * For developers using page builder. Filter to alter the array of post types that work using "post templates" ( dslc_post_templates_post_types )
535
+ * For developers using page builder. Filters for before_title and after_title in page editor website generated sidebars ( dslc_sidebar_before_title and dslc_sidebar_after_title )
536
+
537
+ = Bugs =
538
+
539
+ * 404 page on author archives pagination when regular WordPress query thinks there's no more pages
540
+ * Fatal error when a page has a module that no longer exists
541
+ * Issue with carousel not adjusting when switching from portrait to landscape and vice versa on mobile devices
542
+ * Automatic row adding not working when there's Live Composer drag-and-drop created header/footer on the page
543
+ * Issue with localization of "All" in filters for all posts builder modules
544
+
545
+
546
+
547
+ = 1.1.5 (February 12th, 2015) - released on CodeCanyon before moving to WordPress.org =
548
+
549
+ = New =
550
+
551
+ * FREE front end website builder ADD-ON - Adds 47 additional animations ( for Styling > Animation > On Load Animation ), available on livecomposerplugin.com/downloads
552
+
553
+ = Improvements in landing page builder code =
554
+
555
+ * Option to choose whether Functionality or Styling is the default options section ( WordPress Admin > Live Composer > Other )
556
+ * Option to enable/disable permalinks prepend ( if supplied ) for Live Composer builder custom post types ( WordPress admin > Live Composer > Slugs )
557
+ * Ensuring that non-LC post queries that aren't properly handled do not make issues with our visual composer ( activate editor button taking to wrong page )
558
+ * Reset query in all posts related modules replaced with reset post data, which is a better choice for the WordPress_Query calls
559
+ * Added a filter for altering the animation options ( the ones in Styling > Animation > On Load Animation ) so developers using page builder can create custom animations ( filter name: dslc_animation_options )
560
+
561
+ = Bugs =
562
+
563
+ * Issue with the position of module helper during drag in latest version of Firefox
564
+ * Tag archive showing all posts instead of only the ones associated with the tag
565
+ * Several issues with theme CSS influencing builder CSS
566
+
567
+
568
+
569
+ = 1.1.4 (January 27th, 2015) - released on CodeCanyon before moving to WordPress.org =
570
+
571
+ = Improvements in drag and drop page builder code =
572
+
573
+ * Widgets Module - Text align options for title and content
574
+ * Info Box Module - Content now supports shortcodes
575
+ * Navigation Module - Chevron icon for top level items with subnavigation
576
+ * Current width ( in the page builder modules area width changer ) now has an active state ( different color )
577
+ * Visible items in carousels now get a class "dslc-carousel-item-visible" ( requested by a developer )
578
+
579
+ = Bugs =
580
+
581
+ * Search functionality broken when there are other plugins altering the search query
582
+ * Minor issue with colorpicker display in row options
583
+ * 404 error in console when font family default altered to empty
584
+
585
+
586
+
587
+ = 1.1.3 (January 27th, 2015) - released on CodeCanyon before moving to WordPress.org =
588
+
589
+ = Improvements in frontend page builder code =
590
+
591
+ * Added 40 new icons ( Font Awesome 4.3 )
592
+ * Accordion Module - Option to hide/show based on device ( desktop, tablet, phone )
593
+ * Tabs Module - More styling options for content area ( h1 - h6, links, lists, blockquotes... )
594
+ * Title Module - Now displays search term when on a search page
595
+ * Option to choose where dynamic CSS goes ( end of <head> or end of <body> )
596
+
597
+ = Bugs =
598
+
599
+ * Issue with slider/carousel animations not working properly on Chrome
600
+ * Issue with google fonts on https ( SSL ) websites
601
+ * Issue with non-google fonts being called with google fonts ( 404 error )
602
+ * Issue with tabs module content styling not applied ( overwritten by theme CSS )
603
+ * Issue when using quotes in accordion module title
604
+
605
+
606
+
607
+ = 1.1.2 (January 19th, 2015) - released on CodeCanyon before moving to WordPress.org =
608
+
609
+ = Improvements in drag-and-drop page editor code =
610
+
611
+ * Content Module - New styling options for inputs and buttons
612
+ * Content Module - Additional styling options for wrapper ( BG image options ), headings ( BG styling options and margins ) and paragraph ( margin bottom )
613
+ * Option to choose "Disabled" for header and footer functionality of Live Composer website builder
614
+ * All Posts Modules ( 9 ) - Option to set separator thickness
615
+ * Accordion Module - Line height option added for the title
616
+ * Projects Module - Font style option for category
617
+ * Navigation Module - Added text transform options
618
+ * Notification Module - Added link color option
619
+ * Button Module - Added option for the onclick event ( requested by page builder users for Google Analytics Event Tracking )
620
+ * Developers can now build custom option types
621
+
622
+ = Bugs =
623
+
624
+ * Styling options not applied on posts for header and footer
625
+ * Issue with accordion module actions display ( in bulding mode )
626
+ * Blockquote typography options not applied for blockquote in Text/HTML/Content modules
627
+ * Icon from info box module was included in styling presets
628
+
629
+
630
+
631
+ = 1.1.1 (January 13th, 2015) - released on CodeCanyon before moving to WordPress.org =
632
+
633
+ = Improvements in frontend page editor code =
634
+
635
+ * Option to change the slug on testimonials and testimonials categories
636
+ * Accordion Module - Ability to reorder the items
637
+ * Progress Bar Module - Animation now starts when the module is visible ( in vieWordPressort ) instead of starting on page load
638
+ * HTML Module - Added more styling options ( lists and blockquote )
639
+ * Social Module - Behance option added
640
+ * Image Module - Option to force image to 100% added
641
+ * Text, HTML and Content Modules - Font Style ( normal, italic ) option added to content and all headings
642
+
643
+ = Bugs =
644
+
645
+ * Button Module - Problem when using quotes
646
+ * Text Module - Custom CSS applied when the default was programatically changed to disabled by default
647
+ * Row Options - Background overlay opacity option was only going to 0.9 ( instead of 1 )
648
+ * Notification Module - Issue with typography options not applied in some specific cases
649
+
650
+ = Starters/Blank Theme =
651
+
652
+ With the free starters/blank theme you can build the header/footer with Live Composer visual editor as well. It's kind of a bigger feature so if you have any suggestions or thoughts please let us know on the forum.
653
+
654
+ If you're familiar with Live Composer drag-and-drop builder there's just a few things you need to know to get started:
655
+ * You can manage headers and footers in WordPress admin > Header/Footer
656
+ * You can set a default header and footer which will be used accross the website.
657
+ * If you want a non-default header or footer on a page you can set a specific one in the top right corner of the page edit screen.
658
+
659
+
660
+
661
+ = 1.1 (December 29th, 2014) - released on CodeCanyon before moving to WordPress.org =
662
+
663
+ = New/Improvements in drag and drop layout builder code =
664
+
665
+ * NEW MODULE - Navigation
666
+ * NEW MODULE - Project Images Slider
667
+ * NEW FEATURE - Search results page can now be created with drag and drop visual builder
668
+ * Removed the "prepends" for title module when on an archive page
669
+
670
+ = Bugs =
671
+
672
+ * Conflict between BG image attachment and BG image size options for rows.
673
+ * When selected option inputs had a white BG and white text on themes that force specific BG on active inputs
674
+ * All Posts Modules - Title not clickable between lines
675
+
676
+
677
+
678
+ = 1.0.9 (December 22nd, 2014) - released on CodeCanyon before moving to WordPress.org =
679
+
680
+ = New/Improvements in front end site builder code =
681
+
682
+ * All Modules - Option to hide a module based on device ( desktop, tablet, phone ). The options are located at the beggining of Functionality options for each module.
683
+ * Title Module - When used for archive pages it will show the current category/author
684
+ * All Posts Modules - Option to set autoplay speed for carousel
685
+ * All Posts Modules - Option to enable/disable stopping autoplay of carousel on hover
686
+ * All Posts Modules - Speeding up queries by eliminating SQL_CALC_FOUND_ROWS when pagination disabled
687
+
688
+ = Bugs =
689
+
690
+ * Issue with AJAX requests when admin is SSL ( HTTPS ) and front is HTTP
691
+ * Issue with themes that load their own jQuery instead of the one WordPress supplied ( not supposed to be done but some themes do it )
692
+ * Image Module - Issue when using quotes in the caption
693
+ * All Posts Modules - Issue with pagination active state on homepage ( always shows 1st page as active )
694
+ * Responsive classes not applied properly when switching from responsive options to regular options
695
+
696
+
697
+
698
+ = 1.0.8 (December 15th, 2014) - released on CodeCanyon before moving to WordPress.org =
699
+
700
+ = Improvements in front-end website builder code =
701
+
702
+ * Downloads Module - Outside files ( not hosted on the server ) can be set as the downloadable file now
703
+ * Downloads Module - When a file is not supplied the button will not show
704
+ * Testimonials Module - Shortcodes now enabled for the testimonial content
705
+ * Option to disable the HTML ( Text ) mode for the content editor ( WordPress admin > Live Composer > Other )
706
+ * HTML Module - Added margin bottom option for paragraphs
707
+
708
+ = Bugs =
709
+
710
+ * Custom Post Types still active when a module has been disabled with dslc_hook_unregister_modules
711
+ * Issue with "placeholder content" overwriting content generated by 3rd party plugins
712
+ * Author archive page showing both category and author archive pages
713
+ * Issue with parallax BG image on tablets ( now falls back to non-parallax )
714
+ * Issue with shortcodes inside of tab and accordion module content.
715
+ * HTML Module - Content styling overwritten by theme's CSS in some cases
716
+
717
+
718
+
719
+ = 1.0.7 (December 8th, 2014) - released on CodeCanyon before moving to WordPress.org =
720
+
721
+ = New =
722
+
723
+ * Searchable content - One of the most requested features by page builder users was for WordPress search to check the content of Live Composer generated landing pages. For better search performance and better results the "searchable content" is generated separately from the regular page editor content code and includes only relevant content. Because of that you'll need to resave your old front-end site editor pages for this to take effect ( just visit the page in Live Composer visual editor mode, the "Publish Changes" will show up, click it ).
724
+
725
+
726
+
727
+ = 1.0.6 (October 29th, 2014) - released on CodeCanyon before moving to WordPress.org =
728
+
729
+ This update was mostly performance related. We will keep improving performance in upcoming updates as well.
730
+
731
+ = Improvements in drag-and-drop page builder code ( builder perfomance ) =
732
+
733
+ * Improvement in the speed of displaying module options on bigger pages. Tested on a huge front-end page ( 70 modules with non-default settings ) it was taking 7 seconds to display options after clicking to edit a module. Same action takes 2 seconds now. The speed will vary from installation to installation due to server, theme and other plugins but an improvement should be visible to everyone.
734
+ * Speed of displaying options on builder modules related to posts ( blog, projects, galleries... ) is improved in general, irrelevant of the size of the page.
735
+
736
+ = New/Improvements in frontend page editor code ( page load performance ) =
737
+
738
+ * JavaScript and CSS files are now minified for a faster page load.
739
+ * Added options ( WordPress admin > Live Composer > Performance ) to choose which subsets ( latin, cyrillic... ) for the fonts should be loaded. Make sure you set that to what you need, disabling what you do not need will improve the page load speed.
740
+ * All fonts now load with one single call instead of one call per font.
741
+ * Tutorial CSS and JavaScript files now load only when needed.
742
+ * The admin now loads CSS and JS for the plugin options and post options framework only when needed.
743
+ * Two jQuery plugins are removed, elementQuery and getEmPixels.
744
+
745
+ = New/Improvements in landing page generator code ( general ) =
746
+
747
+ * Author Archive - You can now set a page to serve as an author archive page.
748
+ * Projects Module - Option to choose whether links should open in the same tab or a new tab.
749
+
750
+ = Bugs ( general ) =
751
+
752
+ * Issue with presets feature including functionality options instead of only styling options
753
+ * Issue with rows having an empty ID parameter when no ID supplied in the options resulting in W3C validation errors.
754
+
755
+
756
+
757
+ = 1.0.5.7 (October 6th, 2014) - released on CodeCanyon before moving to WordPress.org =
758
+
759
+ = Improvements in drag-and-drop layout builder code =
760
+
761
+ * All 8 posts modules + Title module - Text Transform ( none, uppercase, lowercase, capitalize ) option added to the title element
762
+ * All 8 posts modules - Carousel slide speed options added ( separate for arrows and circles )
763
+ * Info Box module - Secondary button is now available for "aside" layout as well
764
+ * Text module and HTML module - Added styling options for button form element
765
+ * HTML module - Styling options for inputs added
766
+ * Disabled animations on mobile
767
+ * Code and file cleanup ( removing unnecesery code and files )
768
+
769
+ = Bugs =
770
+
771
+ * Info Box - Responsive font size and line height weren't working properly on some setups
772
+ * Content Module - Paragraphs not affected by styling options on some setups
773
+ * Carousel not initiating on row import
774
+ * On some themes the width selection for columns had broken layout
775
+
776
+
777
+
778
+ = 1.0.5.6 (September 23rd, 2014) - released on CodeCanyon before moving to WordPress.org =
779
+
780
+ = New =
781
+
782
+ * NEW MODULE - Icon
783
+
784
+ = Improvements in Live Composer page builder code =
785
+
786
+ * Projects Module - Option to choose wheter to link projects to the project page, landing page or a custom URL ( the URL can be set in the admin, when adding/editing a project )
787
+ * Category operator option added ( IN, NOT IN, AND ) for 8 modules ( blog, downloads, galleries, partners, projects, staff, testimonials, woocommerce )
788
+ * Force browsers to reload the JavaScript and CSS files when Live Composer editor version changes ( browser caching )
789
+ * Social Module - Align option
790
+ * Info Box - Added margin bottom option for the icon
791
+
792
+ = Bugs =
793
+
794
+ * Issue with the custom post types and custom widgets not showing in the front-end builder admin for some page builder users
795
+ * The "alter defaults" feature was not working for responsive options
796
+ * Info Box - Margin bottom option for content was not working in some cases
797
+
798
+
799
+
800
+ = 1.0.5.5 (September 11th, 2014) - released on CodeCanyon before moving to WordPress.org =
801
+
802
+ = Improvements in Live Composer page builder code =
803
+
804
+ * Font Awesome updated ( 40 new icons )
805
+ * Text and Content Modules - Blockquote Options ( 16 styling options )
806
+ * Testimonials Module - Added BG image options ( image, repeat, attachment, position )
807
+ * All Posts Modules - Thumbnails now have the ALT attribute
808
+ * Slug Settings - Notification at the top explaining that a visit to the permalinks page is required after altering the slugs
809
+ * Tutorials - Disabled "automatic row" on tutorials to avoid confusion.
810
+ * Cleaning up the code ( 16 files affected )
811
+
812
+ = Bugs =
813
+
814
+ * If there was more than one row with a BG video the videos did not start
815
+ * Row parameters were not cleaned up for each row resulting in a larger Live Composer front-end editor generated data
816
+ * Info Box Module - Button tabs showing when buttons are disabled
817
+ * Issue with dropping a module while another module is still being loaded.
818
+ * Tutorials - "Tooltips" position was off when the admin bar is enabled.
819
+
820
+
821
+
822
+ = 1.0.5.4 (September 3rd, 2014) - released on CodeCanyon before moving to WordPress.org =
823
+
824
+ = Bugs =
825
+
826
+ * Images not showing up on builder modules with presets applied to it.
827
+ * Couple issues with video background feature on rows
828
+ * Removing images in row options not working properly
829
+ * "Use featured image" option for background on rows not clearing the image when choosing disabled after already being enabled
830
+
831
+
832
+
833
+ = 1.0.5.3 (August 30th, 2014) - released on CodeCanyon before moving to WordPress.org =
834
+
835
+ = Improvements in Live Composer page builder code =
836
+
837
+ * Image options will use ID instead of URL from now on
838
+ * Rows - Added option to use the post/page featured image as a background
839
+ * Rows - Added margin bottom option
840
+ * Title Module - Now available for pages as well
841
+ * Separator Module - Added more styling options
842
+ * Button Module - Added more styling options
843
+ * Info Box Module - Margin options added for 2nd button ( for separation between buttons )
844
+ * Staff Module - Email option added to the "social" area
845
+ * Content Module - Added styling options for lists
846
+ * Accordion and Tabs Module - Shortcodes now work inside of them
847
+ * Automatic element centering improved
848
+ * Removed stellar data from the code
849
+
850
+ = Bugs =
851
+
852
+ * Columns broken when row duplicated
853
+ * Downloads Module - Tag links broken
854
+ * Info Box Module - Typography options not working when there are paragraphs
855
+ * Info Box Module - Layout broken in specific scenarios
856
+ * HTML and Content Modules - Issues with disabled/enabled CSS
857
+ * Text Module - Responsive font size and line height not working when there are paragraphs
858
+ * Issue with background images on phones
859
+ * Rows - Horizontal margin option not working properly
860
+
861
+
862
+
863
+ = 1.0.5.2 - released on CodeCanyon before moving to WordPress.org =
864
+
865
+ = Improvements in Live Composer page builder code =
866
+
867
+ * Blog Module - Button can now be aligned ( left, center, right ) irrelevant of the alignment of the main area
868
+ * Blog Module - Responsive options to change vertical and horizontal padding on the wrapper added
869
+ * Option tooltips ( help text ) now have a (x) in top right for closing them.
870
+ * Widgets Module - Help text ( tooltip ) added explaining where to register sidebars
871
+ * Some minor code improvements
872
+
873
+ = Bugs =
874
+
875
+ * Excerpt Module - Styling options not working properly
876
+ * Issue with dropping visual builder modules not working inside of a duplicated row
877
+ * Downloads and Partners Module - Links not pointing to the single post page
878
+ * Downloads and Partners Module - Wrong labels on "Link" option
879
+ * Info Box Module - Button not going away when the URL option is empty
880
+
881
+
882
+
883
+ = 1.0.5.1 - released on CodeCanyon before moving to WordPress.org =
884
+
885
+ = Improvements in frontend page editor code =
886
+
887
+ * Button Module - Option to set the button to full width
888
+ * Info Box Module - Secondary button ( with it's own styling options ) added
889
+ * Text Module - Background Image options added ( image, repeat, attachment, position )
890
+ * Partners Module - Option to turn off linking to a single partner page
891
+ * Download Module - Option to turn off linking to a single download page
892
+ * Text Module - OL and UL now have separate list type options
893
+ * All the categories renamed to contain the post type ( Categories -> Projects Categories ) for easier management on pages like the Menus
894
+ * Removed MediaElement JS and CSS, it now uses the one that come with WordPress.
895
+ * Automatically add a row in Live Composer visual editor mode if there's no site builder content
896
+
897
+ = Bugs =
898
+
899
+ * Using a textarea in the WYSIWYG editor ( text module, accordion, table ) broke the page
900
+ * Issue with styling presets including some functionaity options
901
+ * Issue with our frontend builder powered category archives not working in some cases
902
+
903
+ = For Developers using front-end page builder=
904
+
905
+ Ability for theme authors to override the drag-and-drop dashboard updates feature until they test their theme with the latest version.
906
+
907
+ define( 'THEME_LC_VER', '1.0.5.1' );
908
+
909
+ If you set that in your theme's functions.php, when our website builder 1.0.5.2 is released it won't show up until you change it to 1.0.5.2 ( or greater ).
910
+
911
+
912
+
913
+ = 1.0.5 - released on CodeCanyon before moving to WordPress.org =
914
+
915
+ = Bigger Changes =
916
+
917
+ * Archive Creation
918
+ Front-end Page Builder is expanding it's influence, you can now create archive ( ex. category ) pages with it as well. In WordPress Admin > Live Composer > Archive Setting you can set which page should be used as the archive page. All the posts modules will automatically show the correct category when used on an archive page.
919
+ * Styling Presets
920
+ Best way to explain it is with an example. Let's say you use the text module with the same styling on multiple pages and you decide to change the styling. You'd need to change each of those text modules separately, which takes more time than it should. Not anymore, you can now apply presets to modules and then changes to one of those modules will automatically apply to all the other ones that uses that preset. You will find the presets options in each module under Styling > Presets.
921
+ * Size of LC visual editor generated data
922
+ The size of the data generated by front end page Page Builder ( all the info about builder modules on a page ) has been drastically reduced, up to 95% from what it used to be.
923
+ * Translation Compatibility
924
+ Live Composer layout builder wasn't fully translatable ( to be honest most of it wasn't translatable ), but that's fixed now, you can properly translate it to your language. Much of the code had to be changed in order to achieve this but it's worth it.
925
+
926
+ = Improvements in drag-and-drop page builder code =
927
+
928
+ * Button Module - Option to disable icon
929
+ * Button Module - Options to change the position ( left, center, right ) separately for tablet and phone
930
+ * Widgets Module - Styling options for lists
931
+ * Text Module - Responsive options for h1 element
932
+ * Text Module - Styling options for lists
933
+ * Info Box Module - Link target option
934
+ * Progress Bar Module - Animation speed option
935
+ * All Posts Modules - Exclude current post ( if on a post page )
936
+ * All Posts Modules - Options to include and exclude posts by ID
937
+ * Accordion Module - Option to choose which item is active by default ( can also be set to 0 so all are closed )
938
+ * Modals ( like the modal that asks if you're sure you want to disable front-end layout builder ) - Keyboard shortcuts ( confirm on enter, cancel on escape )
939
+ * Modules scroller now scrolls 2 modules at a time
940
+ * Comments and Comment Form Modules are now available for pages
941
+ * Colorpicker - Styling Improvements
942
+ * Thumbnail Module - Option to set the width and height for the thumbnail to be resized to
943
+ * Comment Form - Link styling options
944
+
945
+ = Bugs =
946
+
947
+ * Comment Form Module - Layout issue with comment replies on phone
948
+ * Meta Module - Comments link not linking to the comments
949
+ * Meta Module - Color option not working
950
+ * Blog Module - Issue with separator when there's a sticky post
951
+ * Issue with the modules scroller getting stuck on a post when builder modules are filtered
952
+ * Issue with inline styling in the editor
953
+ * Issue with the function that checks if a module is active
954
+ * Prev/Next pagination option not working properly
955
+ * Issue with columns not getting correct size on module row duplication
956
+ * Cyrillic fonts not working properly
957
+
958
+
959
+
960
+ = 1.0.4.5 - released on CodeCanyon before moving to WordPress.org =
961
+
962
+ = Bugs =
963
+
964
+ * Sometimes when editing text ( the WYSIWYG ) the current content does not show in the editor
965
+ * Meta Module - Class issue
966
+ * Tabs & Accordion Modules - Backspace not working when editing titles
967
+ * Product Module - Altering defaults does not work
968
+
969
+ = Improvements in website builder code =
970
+
971
+ * All Post Modules - Do not show any of the thumbnail elements if post does not have a thumbnail
972
+ * All Post Modules - Newer/Older ( Prev/Next ) pagination option added
973
+ * Image Module - Options to resize the image's height and width
974
+ * 71 new icons ( Font Awesome 4.1 )
975
+ * Staff Module - Option to enable/disable linking to the single staff member page
976
+ * Separator - Thickness option
977
+ * Load the fonts that are needed for frontend builder visual mode only when layout builder is active
978
+
979
+
980
+
981
+ = 1.0.4.4 - released on CodeCanyon before moving to WordPress.org =
982
+
983
+ = Bugs =
984
+
985
+ * Password protected front-end Builder pages didn't show the password prompt
986
+ * Error when a module that no longer exists is on a page
987
+ * Error when a styling option is added in functionality section
988
+ * Meta Module - All cateogies/tags were shown instead only the ones that are attached to the post.
989
+ * Infobox Module - Title slashes issue
990
+
991
+ = Improvements in landing page builder code =
992
+
993
+ * Single Post Module now available when templating system disabled
994
+ * Removed fadeIn/fadeOut animations on module/area/row hover for a more smoother experience ( fading slowed things down )
995
+ * Contributors added as a possible option for access control
996
+ * No calling of WebFont when the font is a regular one
997
+ * All Modules - Justify added as text align option
998
+ * Text Module - Content styling changes now affect paragraphs as well
999
+ * Text Module - Margin bottom option for paragraphs
1000
+ * Blog Module - Additional class added for blog posts regarding their format, blog-post-format-THEFORMAT
1001
+ * Meta Module - The categories/tags now link to their archive page
1002
+
1003
+
1004
+
1005
+ = 1.0.4.3 - released on CodeCanyon before moving to WordPress.org =
1006
+
1007
+ = Bugs =
1008
+
1009
+ * Next tutorial link ( at the end of a tutorial ) not working
1010
+ * CSS issues with comments module
1011
+ * Testimonials slug wrong
1012
+ * Single download page returns 404
1013
+ * Gallery Slider Module - Default animation type wrong
1014
+ * Gallery Slider Module - Width sligtly bigger than container
1015
+ * Gallery Slider Module - Border Radius not affecting image
1016
+ * Testimonials Module - Layout issue when author set on right side
1017
+ * Meta Module - The spacing option ( between the meta sections ) affects each category ( and tag ) making too much spacing
1018
+ * WYSIWYG Editor - Some actions broken ( WordPress 3.9 related )
1019
+ * Accordion and Tabs content editing broken
1020
+
1021
+ = Improvements in drag and drop visual editor code =
1022
+
1023
+ * Do shortcode on [dslc_custom_field] shortcode output
1024
+ * Thumbnail Module - Bottom margin option
1025
+
1026
+
1027
+
1028
+ = 1.0.4.2 - released on CodeCanyon before moving to WordPress.org =
1029
+
1030
+ = Fixes =
1031
+
1032
+ * WordPress classes on non-singular pages ( archive, search, homepage ) overwritten by front end site editor and in some cases an error shown.
1033
+ * Columns break when a post doesn't have a thumbnail.
1034
+ * Module options tabs don't get hidden on save/cancel ( specific scenario only )
1035
+ * The WYSIWYG editor shows processed shortcodes ( instead of a call it turns into the HTML output )
1036
+
1037
+
1038
+
1039
+ = 1.0.4.1 - released on CodeCanyon before moving to WordPress.org =
1040
+
1041
+ = Fixes =
1042
+
1043
+ * Issue with text not being editable in some modules ( button, notification... )
1044
+ * Templates not showing in admin
1045
+
1046
+
1047
+
1048
+ = 1.0.4 - released on CodeCanyon before moving to WordPress.org =
1049
+
1050
+ = Fixes =
1051
+
1052
+ * Issue with Comments Form module
1053
+ * Instagram duplicated in Social Module
1054
+ * Conflict with another drag and drop feature from a theme
1055
+ * Bug when changing the builder modules filter when the modules listing is scrolled
1056
+ * Page scrolls to top when changing vertical padding on a row
1057
+ * Issue with parallax feature on long pages
1058
+ * Product price CSS issue
1059
+ * Carousel item spacing not correct
1060
+ * Icons not being properly centered
1061
+ * Error messages on 404 page
1062
+ * Issue with content not being properly returned when no Live Composer webite builder content added ( on some themes )
1063
+ * Backspace key ( when not in an input ) going back to previous page
1064
+ * Products Module - When title and categories disabled the whole main area disapears
1065
+ * Issue with Text module styling options not being properly applied
1066
+ * On some themes media modal ( adding an image ) goes behind some elements
1067
+ * In Chrome the module helper ( blue square when dragging a module from the list ) position issue
1068
+ * Templates list scroller not working
1069
+ * If content editor modules has padding the masonry does not calculate properly and brakes the layout
1070
+ * Issue with the !important option for CSS
1071
+ * Issue with parallax on mobile ( now switched to regular BG when on mobile )
1072
+ * Meta Module - Styling issues
1073
+ * Google fonts not working properly on https
1074
+ * Default state of colorpickers in row options not correct
1075
+
1076
+ = Improvements in front end page editor code =
1077
+
1078
+ * Allow DISQUS to take over the Comments module
1079
+ * Possibility to set "max width" in percentages
1080
+ * Allow theme/plugin developers to alter which post type will use the "post templates" system and which one will behave normally ( like a page )
1081
+ * Option to put thumbnail aside of content ( like in blog module ) for all posts modules
1082
+ * Ask for confirmation when deleting a row, area or a module
1083
+ * Use WordPress WYSIWYG editor for Text module
1084
+ * Option to show full content instead of excerpts in all posts modules
1085
+ * Enable HTML editing for tabs and accordion contents
1086
+ * Widget Module - Styling options for lists
1087
+ * Text and HTML modules - Styling for H1
1088
+ * All Posts Modules - Option to disable row separator
1089
+ * All Posts Modules - Do not output the main area when all the main area elements are disabled
1090
+ * All Posts Modules - Option to set width for the thumbnail to be resized to
1091
+ * All Posts Modules - Call shortcode on excerpt output
1092
+ * All Posts Modules - .dslc-post-no-thumb class on .dslc-post element when the post does not have a thumbnail
1093
+ * Blog Module - Avatar added
1094
+ * Meta Module - Avatar added
1095
+ * Switch tabs to regular content with headings on mobile
1096
+
1097
+ = New =
1098
+
1099
+ * "In VieWordPressort" animations for visual composer modules
1100
+ * Option to turn off columns spacing in a row
1101
+ * Access Control
1102
+ * Interactive Tutorials ( like on the demo ) accessible on any installation
1103
+ * Option to set custom classes and IDs for rows
1104
+ * All Posts Module - Option to put the main area inside of the thumbnail animation options position options
1105
+ * Row Export/Import
1106
+ * The Excerpt - New Module
1107
+ * For Developers - Generation of code needed for altering module defaults
1108
+
1109
+
1110
+
1111
+ = 1.0.3 - released on CodeCanyon before moving to WordPress.org =
1112
+
1113
+ = Fixes =
1114
+
1115
+ * Numerous notices in the Live Composer visual editor backend builder settings.
1116
+ * Blog Module - General styling options weren't affecting anything.
1117
+ * Issue with the column layout braking in some cases.
1118
+ * Issue with a specific popular theme that made the layout ( width ) options not show on click.
1119
+
1120
+ = Improvements in frontend page editor code =
1121
+
1122
+ * Product Thumbnail now links to the LC landing page generator post
1123
+ * Colorpicker replaced with a better one ( accepts alpha/transparency )
1124
+ * Text Module - More styling options for the headings (h2, h3, h4, h5, h6 ) like bg, padding, border...
1125
+
1126
+ = New =
1127
+
1128
+ * Live Composer website builder Dashboard updates system integrated. ( known as "Automatic Updates" ).
1129
+ * Translation Ready
1130
+ * Feature Control ( ability to enable/disable page builder modules )
1131
+ * Posts Module - Displays posts from any post type registered ( plugins can be used to create custom post types )
1132
+ * Option to force !important on CSS rules made by Drag and Drop Page Builder ( in case the theme's CSS overwrites LC website builder CSS )
1133
+
1134
+
1135
+
1136
+ = 1.0.2 - released on CodeCanyon before moving to WordPress.org =
1137
+
1138
+ = Fixes =
1139
+
1140
+ * When the columns do not amount to 12/12 ( 10/12 + 4/12 ), the columns in the next rows were broken.
1141
+ * Page content ( from WYSIWYG editor ) was showing when you activate the Live Composer front end editor mode on a page without website builder website content.
1142
+ * Input height on save and load template popups
1143
+ * The carousel was forced to 4 columns on <1199px, 3 on <980px and 2 on <768px ( owlCarousel plugin defaults )
1144
+ * On some WordPress themes the post title options ( 6 website builder modules ) weren't affecting the post title.
1145
+ * RTL ( right-to-left content orientation ) fixes.
1146
+ * In some themes the row controls weren't positioned properly.
1147
+
1148
+ = Improvements in Drag and Drop layout builder code =
1149
+
1150
+ * On some themes the visual composer content was not showing, the whole logic behind figuring out if it should show or not is rewritten.
1151
+ * Staff Module. New option added to choose whether the social links open in a new tab or not ( Functionality ? Other ).
1152
+ * Galleries Module. Option to show the gallery lightbox on thumbnail/title click ( Functionality ? Other ).
1153
+
1154
+ = New =
1155
+
1156
+ * Shortcode for outputing a custom field value. [dslc_custom_field id="FIELD_ID" post_id="POST_ID"]. Use the post_id parameter only if you want to output the custom field value of a specific post/page, leave empty for dynamic.
1157
+ * Possibility to programmatically change the default option values of existing visual composer modules. Main purpose is to let theme developers that want to use visual composer in their theme set the defaults to fit their design. More info will be in a dev tutorial.
1158
+ * The <body> will have "dslc-page" class if the currently shown post/page has website builder powered content. Main purpose is so Drag and Drop Visual Composer users can easily target the content wrapper of the theme and make it full-width only for landing page creator without affecting the regular pages powered by the theme.
1159
+
1160
+
1161
+
1162
+ = 1.0.1 - released on CodeCanyon before moving to WordPress.org =
1163
+
1164
+ = Fixes =
1165
+
1166
+ * The drag and drop helper element had an offset bug in Chrome v32 based on how far the page was scrolled.
1167
+ * Setting row vertical padding to 0px was defaulting to 50px.
1168
+ * Height of the select input field was short in Safari.
1169
+ * Issue where a module already added on a page was not getting the default value of a newly introduced option.
1170
+ * Website builder options were not showing in the WordPress admin.
1171
+ * Had issue with another plugin that was hooking into get posts filter and using some WordPress variables that weren't ready at the point when our drag and drop front end editor used get_posts function.
1172
+ * Fatal Error with themes that had Aqua Resizer script but no conditional to check if it was already defined.
1173
+ * Om some themes, the CSS from the theme was influencing the height of the module/row option form fields.
1174
+ * For some themes the content of landing page composer wasn't showing, the logic behind figuring out when it should show is improved now.
1175
+ * The add to cart and details links didn't have correct links in the products module.
1176
+
1177
+ = Improvements in visual landing page composer code =
1178
+
1179
+ * All posts modules now have a new option, offset to set how many posts to skip. Good for building a magazine layout.
1180
+ * Product Module - Options to change the "Add to cart" and "Details" text.
1181
+
1182
+ = New =
1183
+
1184
+ * HTML builder module. Use it for custom HTML and for calling shortcodes ( most importantly for the shortcodes, since the text module was parsing them imediately which made it imposible to edit the shortcode after that ).
1185
+ * Content builder module. Output the page's content ( from the WYSIWYG editor ).
1186
+
1187
+
1188
+
1189
+ = 1.0 - released on CodeCanyon before moving to WordPress.org =
1190
+
1191
  * Initial release
templates/dslc-single.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php get_header(); the_post(); ?>
2
-
3
  <?php the_content(); ?>
4
 
5
  <?php get_footer(); ?>
1
  <?php get_header(); the_post(); ?>
2
+
3
  <?php the_content(); ?>
4
 
5
  <?php get_footer(); ?>