Page Builder: PageLayer – Drag and Drop website builder - Version 1.0.5

Version Description

(January 21, 2020) = * [Feature] Added new widgets - Contact Email, Phone, Address, Copyright. You can specify these defaults and it will be changed throughout the website. * [Feature] Added the screen mode option for the custom Column Width in Column widget. * [Feature] Accordian Content Padding and border radius have been added. * [Feature] Added breakpoint settings for Tablet and Mobiles * [Feature] Premium Feature - Added the feature to make an element sticky * [Feature] Added the option to save default Social Profile URLs. These URLs will be used while editing and can be altered while editing. * [Task] Now when you undo and redo, the affected element will become active and the page will also scroll to that element. * [Task] Added the additional parameters with pagelayer_trigger_action function in javascript. * [Task] For a Cite in Quotes, text align option has been added. * [Task] Added the option to remove the Icon selected in the icon properties. * [Task] In mobile/tablet view we have improved the responsive beahviour. * [Task] The Ctrl-z and Ctrl-y behaviour has been further improved. Now when you undo, the actions within the last 200 milli seconds will be undone. * [Task] Added function to get current media mode according to pagelayer tablet and mobile breackpoint in Javascript. * [Bug-Fix] Added overflow to accordion items to fix the overflow in some cases. * [Bug-Fix] Ctrl-z will now work on the entire window. Previously you had to focus back on the editor and then it would work. This is fixed. * [Bug-Fix] While editing the header if the Row was at 0px of the window, the row options were not visible. This is fixed. * [Bug-Fix] The Add New Section / Widgets area at the bottom of the content window was aligned to the right. Now its centered. * [Bug-Fix] The column width dragging feature had some bugs where it would not allow resize. This is fixed. * [Bug-Fix] The anchor overlay in the icon box / image box widgets was going wrong. This is fixed. * [Bug-Fix] In editor, on clicking setting and property close icons in left bar, the left bar move was triggered. This is fixed. * [Bug-Fix] We were not registering pagelayer actions while resizing the columns. This is fixed. * [Bug-Fix] In certain cases the video url was sanitize properly. This is fixed. * [Bug-Fix] The custom width property of the element in the options was not working properly. This is fixed.

Download this release

Release Info

Developer pagelayer
Plugin Icon 128x128 Page Builder: PageLayer – Drag and Drop website builder
Version 1.0.5
Comparing to
See all releases

Code changes from version 1.0.4 to 1.0.5

css/pagelayer-editor-frontend.css CHANGED
@@ -44,6 +44,10 @@ width:100%;
44
  position: relative;
45
  }
46
 
 
 
 
 
47
  .pagelayer-wrap-col{
48
  align-content: unset !important;
49
  }
@@ -112,6 +116,10 @@ left:calc(50% - 63px/2);
112
  z-index: 30;
113
  }
114
 
 
 
 
 
115
  .pagelayer-row-option .pagelayer-eoi{
116
  background:#41A85F;
117
  }
@@ -233,7 +241,7 @@ border: 2px #3e8ef7;
233
  border-style: dashed;
234
  position:relative;
235
  font-family: "Open Sans", Arial,Helvetica,sans-serif;
236
- margin:20px 0px;
237
  }
238
 
239
  .pagelayer-add-widget-area .pagelayer-add-button{
44
  position: relative;
45
  }
46
 
47
+ /*.pagelayer-ele-option{
48
+ min-height: 10px;
49
+ } */
50
+
51
  .pagelayer-wrap-col{
52
  align-content: unset !important;
53
  }
116
  z-index: 30;
117
  }
118
 
119
+ .pagelayer-row-option-zero>.pagelayer-wrap-row:first-child>.pagelayer-ele-overlay .pagelayer-row-option{
120
+ top:0;
121
+ }
122
+
123
  .pagelayer-row-option .pagelayer-eoi{
124
  background:#41A85F;
125
  }
241
  border-style: dashed;
242
  position:relative;
243
  font-family: "Open Sans", Arial,Helvetica,sans-serif;
244
+ margin:20px auto;
245
  }
246
 
247
  .pagelayer-add-widget-area .pagelayer-add-button{
css/pagelayer-editor.css CHANGED
@@ -893,7 +893,7 @@ position: relative;
893
  display: block;
894
  margin-right: 5px;
895
  float: left;
896
- width: 83%;
897
  height: auto;
898
  border: none;
899
  overflow: hidden;
@@ -912,13 +912,19 @@ vertical-align: middle;
912
  font-size: 13px;
913
  }
914
 
915
- .pagelayer-elp-icon-open{
 
916
  float: right;
917
  font-size: 10px;
918
  padding: 0px;
919
  line-height: 20px;
920
  }
921
 
 
 
 
 
 
922
  .pagelayer-elp-icon-remove{
923
  position: absolute;
924
  right: 20px;
@@ -1660,6 +1666,9 @@ padding: 10px !important;
1660
  .pagelayer-topbar-holder{
1661
  background-color: #3e8ef7;
1662
  position:relative;
 
 
 
1663
  cursor: all-scroll;
1664
  }
1665
 
893
  display: block;
894
  margin-right: 5px;
895
  float: left;
896
+ width: 75%;
897
  height: auto;
898
  border: none;
899
  overflow: hidden;
912
  font-size: 13px;
913
  }
914
 
915
+ .pagelayer-elp-icon-open,
916
+ .pagelayer-elp-icon-close{
917
  float: right;
918
  font-size: 10px;
919
  padding: 0px;
920
  line-height: 20px;
921
  }
922
 
923
+ .pagelayer-elp-icon-close{
924
+ padding-right: 5px;
925
+ font-size: 12px;
926
+ }
927
+
928
  .pagelayer-elp-icon-remove{
929
  position: absolute;
930
  right: 20px;
1666
  .pagelayer-topbar-holder{
1667
  background-color: #3e8ef7;
1668
  position:relative;
1669
+ }
1670
+
1671
+ .pagelayer-topbar-mover{
1672
  cursor: all-scroll;
1673
  }
1674
 
css/pagelayer-frontend.css CHANGED
@@ -55,10 +55,8 @@ align-content: flex-start;
55
  width: 100%;
56
  }
57
 
58
- @media (max-width: 768px) {
59
- .pagelayer-row {
60
- flex-direction: column;
61
- flex-wrap: nowrap; } }
62
  .pagelayer-row.pagelayer-auto .pagelayer-col {
63
  flex-grow: 1; }
64
 
@@ -347,6 +345,7 @@ max-width: none;
347
  }
348
 
349
  .pagelayer-service-container{
 
350
  -webkit-box-align: start;
351
  -webkit-align-items: flex-start;
352
  -ms-flex-align: start;
@@ -2551,6 +2550,9 @@ height:100%;
2551
  }
2552
 
2553
  /* accordion style */
 
 
 
2554
 
2555
  .pagelayer-accordion-tabs {
2556
  cursor: pointer;
@@ -2860,3 +2862,23 @@ transform:translate(-50%, -53%);
2860
  height: 10px;
2861
  }
2862
  /* Space Widget End */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
55
  width: 100%;
56
  }
57
 
58
+
59
+
 
 
60
  .pagelayer-row.pagelayer-auto .pagelayer-col {
61
  flex-grow: 1; }
62
 
345
  }
346
 
347
  .pagelayer-service-container{
348
+ position:relative;
349
  -webkit-box-align: start;
350
  -webkit-align-items: flex-start;
351
  -ms-flex-align: start;
2550
  }
2551
 
2552
  /* accordion style */
2553
+ .pagelayer-accordion_item{
2554
+ overflow:hidden;
2555
+ }
2556
 
2557
  .pagelayer-accordion-tabs {
2558
  cursor: pointer;
2862
  height: 10px;
2863
  }
2864
  /* Space Widget End */
2865
+
2866
+ /* Address and Number */
2867
+
2868
+ .pagelayer-phone-holder,
2869
+ .pagelayer-address-holder,
2870
+ .pagelayer-email-holder{
2871
+ display:flex;
2872
+ }
2873
+
2874
+ .pagelayer-address-icon,
2875
+ .pagelayer-address,
2876
+ .pagelayer-phone-icon,
2877
+ .pagelayer-phone,
2878
+ .pagelayer-email-icon,
2879
+ .pagelayer-email{
2880
+ margin-top:auto;
2881
+ margin-bottom:auto;
2882
+ }
2883
+
2884
+ /* Address and Number End */
css/pagelayer-icons.css CHANGED
@@ -15,7 +15,7 @@
15
  .trumbowyg-button-group > button,
16
  .trumbowyg-button-group > button:before,
17
  .trumbowyg-dropdown-formatting > button{
18
- font-family: 'pagelayer' !important;
19
  speak: none;
20
  font-style: normal;
21
  font-weight: normal;
15
  .trumbowyg-button-group > button,
16
  .trumbowyg-button-group > button:before,
17
  .trumbowyg-dropdown-formatting > button{
18
+ font-family: 'pagelayer', "Font Awesome 5 Free" !important;
19
  speak: none;
20
  font-style: normal;
21
  font-weight: normal;
fonts/pagelayer.eot CHANGED
Binary file
fonts/pagelayer.svg CHANGED
@@ -40,6 +40,7 @@
40
  <glyph unicode="&#xe91e;" glyph-name="contacts" d="M726 212.667v64q0 48-73 78t-141 30-141-30-73-78v-64h428zM512 650.667q-40 0-68-28t-28-68 28-68 68-28 68 28 28 68-28 68-68 28zM854 768.667q34 0 59-26t25-60v-512q0-34-25-60t-59-26h-684q-34 0-59 26t-25 60v512q0 34 25 60t59 26h684zM170-85.333v86h684v-86h-684zM854 938.667v-86h-684v86h684z" />
41
  <glyph unicode="&#xe91f;" glyph-name="view_day" d="M86 810.667h810v-128h-810v128zM854 596.667q18 0 30-12t12-30v-256q0-18-12-30t-30-12h-726q-18 0-30 12t-12 30v256q0 18 12 30t30 12h726zM86 42.667v128h810v-128h-810z" />
42
  <glyph unicode="&#xe920;" glyph-name="picture" d="M626.272 612.576l-100.608-151.424-73.12 73.696-73.152-118.304-54.848 54.304-59.392-118.848h466.304l-105.184 260.576zM128 800v-736h736v736h-736zM800 288h-608v448h608v-448zM335.712 541.728c26.528 0 48 21.472 48 48s-21.472 48-48 48c-26.496 0-48-21.472-48-48s21.504-48 48-48z" />
 
43
  <glyph unicode="&#xe924;" glyph-name="map-addon-alt" d="M800 861.2c-36.6-8.2-69.4-28-92-55.8-11.6-14.2-26.4-42.8-31.2-60.4-4-14.4-5.6-55.8-2.6-70 1.2-5.4 3.4-14.4 5.2-20 3-9.8 150.6-302.8 152.6-302.8s149.6 293 152.6 302.8c6 19 7.2 30 6.6 54-0.8 28.4-4 41.6-16.2 66-10.4 21.2-24.4 39-41.6 53-14.2 11.6-42.8 26.4-60.4 31.2-15.2 4.2-57.8 5.4-73 2zM852.2 797.2c18.8-4 32.8-11.8 47.2-26.4 37.6-37.4 37.4-96.2-0.2-134-37.8-37.8-96.6-37.8-134.4 0-37.6 37.8-37.8 96.6-0.2 134 24.2 24.4 54.2 33.4 87.6 26.4zM96.2 352.4l-96.2-192.4 256-128 256 128 256-128 256 128-53.4 107c-29.6 58.8-54.2 107-55 107-1 0-9.4-15.6-18.8-34.6l-17.2-34.4 29-58.2 29-58-73-36.6c-40.2-20-73.4-36.2-73.6-35.8-0.4 0.4-11.8 55.8-25.2 123.2l-24.4 122.6 4.4 4.6 4.4 4.8-15.2 30.4-15.4 30.6-7.8-8-8-7.8-191.8 127.8-191.8-127.8-127.8 127.8-96.2-192.2zM480 330v-114l-88.2-44.2c-48.6-24.2-88.6-43.6-89.2-43.2-0.4 0.6 9.4 52 21.8 114.6l22.6 113.4 65 43.6c35.8 24 65.6 43.6 66.6 43.6 0.8 0.2 1.4-51 1.4-113.8zM611 400.6c43.4-28.8 65.4-44.8 66-47.4 4.2-17 44.8-224 44.2-224.6-0.4-0.4-40.4 19-89 43.2l-88.2 44.2v114c0 62.8 0.4 114 1 114s30.2-19.6 66-43.4zM246.8 398.2l35.8-35.8-24.4-122.8c-13.6-67.4-24.8-122.8-25.2-123.2-0.2-0.4-33.4 15.8-73.6 35.8l-73 36.6 61.2 122.6c33.8 67.4 61.8 122.6 62.4 122.6s17.2-16.2 36.8-35.8z" />
44
  <glyph unicode="&#xe928;" glyph-name="log-out" d="M972.8 460.8l-307.2 256v-153.6h-358.4v-204.8h358.4v-153.6l307.2 256zM153.6 819.2h409.6v102.4h-409.6c-56.32 0-102.4-46.080-102.4-102.4v-716.8c0-56.32 46.080-102.4 102.4-102.4h409.6v102.4h-409.6v716.8z" />
45
  <glyph unicode="&#xe929;" glyph-name="login" d="M716.8 460.8l-307.2 256v-153.6h-358.4v-204.8h358.4v-153.6l307.2 256zM870.4 102.4h-409.6v-102.4h409.6c56.32 0 102.4 46.080 102.4 102.4v716.8c0 56.32-46.080 102.4-102.4 102.4h-409.6v-102.4h409.6v-716.8z" />
40
  <glyph unicode="&#xe91e;" glyph-name="contacts" d="M726 212.667v64q0 48-73 78t-141 30-141-30-73-78v-64h428zM512 650.667q-40 0-68-28t-28-68 28-68 68-28 68 28 28 68-28 68-68 28zM854 768.667q34 0 59-26t25-60v-512q0-34-25-60t-59-26h-684q-34 0-59 26t-25 60v512q0 34 25 60t59 26h684zM170-85.333v86h684v-86h-684zM854 938.667v-86h-684v86h684z" />
41
  <glyph unicode="&#xe91f;" glyph-name="view_day" d="M86 810.667h810v-128h-810v128zM854 596.667q18 0 30-12t12-30v-256q0-18-12-30t-30-12h-726q-18 0-30 12t-12 30v256q0 18 12 30t30 12h726zM86 42.667v128h810v-128h-810z" />
42
  <glyph unicode="&#xe920;" glyph-name="picture" d="M626.272 612.576l-100.608-151.424-73.12 73.696-73.152-118.304-54.848 54.304-59.392-118.848h466.304l-105.184 260.576zM128 800v-736h736v736h-736zM800 288h-608v448h608v-448zM335.712 541.728c26.528 0 48 21.472 48 48s-21.472 48-48 48c-26.496 0-48-21.472-48-48s21.504-48 48-48z" />
43
+ <glyph unicode="&#xe921;" glyph-name="sitepad-logo" horiz-adv-x="1029" d="M464.162 957.156c-96.711-9.051-199.37-50.683-272.808-110.933-92.574-75.507-155.927-179.717-179.717-294.271-43.184-207.127 45.253-417.616 224.194-534.238 89.471-58.182 208.162-88.436 313.147-79.386 122.053 10.343 227.814 56.889 313.665 138.085 93.091 87.919 147.911 203.248 159.030 334.61 9.309 106.796-21.463 225.228-82.23 317.543-103.952 157.737-287.806 246.174-475.281 228.59zM565.010 839.499c7.24-0.517 18.101-1.552 24.566-2.586 6.465-0.776 13.964-1.552 16.808-1.81s6.723-1.552 8.533-2.586c1.81-1.293 5.43-1.552 8.016-0.517 2.844 0.776 5.689 0.517 6.465-1.034 0.776-1.293 3.879-1.81 6.723-1.034 3.103 0.776 5.172 0 5.172-1.81s2.069-2.327 5.172-1.293c3.103 1.034 5.172 0.517 5.172-1.293s2.069-2.327 5.172-1.293c3.103 1.034 5.172 0.517 5.172-1.293s1.81-2.586 3.879-1.81c2.069 1.034 4.396 0.517 5.172-0.776s3.103-1.81 5.172-0.776c2.069 0.776 3.879 0 3.879-1.552s1.81-2.069 3.879-1.293c2.069 1.034 3.879 0.259 3.879-1.293s0.776-2.586 2.069-2.586c1.034 0.259 2.327 0.259 3.103-0.259 0.776-0.259 4.137-1.034 7.758-1.552 3.62-0.776 6.723-2.327 7.24-3.62s2.586-1.552 4.655-0.776c2.069 0.776 3.62 0 3.62-1.552s1.81-2.069 3.879-1.293c2.069 1.034 3.879 0.259 3.879-1.552 0-1.552 1.293-2.069 2.586-1.293 1.552 0.776 2.586 0.259 2.586-1.293 0-1.81 1.81-2.586 3.879-1.552 2.069 0.776 3.879 0.259 3.879-1.293s1.293-1.81 2.586-1.034c1.552 0.776 2.586 0.259 2.586-1.293s1.293-2.069 2.586-1.293c1.552 0.776 2.586 0.517 2.586-1.034s1.81-2.069 3.879-1.293c2.069 1.034 3.879 0.259 3.879-1.552 0-1.552 1.293-2.069 2.586-1.293 1.552 0.776 2.586 0.259 2.586-1.293s1.293-2.069 2.586-1.293c1.552 0.776 2.586 0.259 2.586-1.293s1.293-2.069 2.586-1.293c1.552 0.776 2.586 0.259 2.586-1.293s1.293-2.069 2.586-1.293c1.552 0.776 2.586 0.259 2.586-1.293s1.293-2.069 2.586-1.293c1.552 0.776 2.586 0.517 2.586-1.034s1.81-2.069 3.879-1.293c2.069 1.034 4.396-0.259 5.43-2.586 0.776-2.327 2.586-3.362 3.879-2.586s2.327 0 2.327-1.552c0-1.552 1.293-2.069 2.586-1.293 1.552 0.776 2.586 0.259 2.586-1.293s1.293-2.069 2.586-1.293c1.552 0.776 2.586 0.259 2.586-1.552s0.776-2.327 1.552-1.552c2.586 2.586 11.378-3.103 11.378-7.24 0-2.069-2.327-6.206-4.913-8.792-2.844-2.844-4.396-5.689-3.62-6.465 1.034-0.776 0.259-1.552-1.552-1.552s-2.586-1.034-1.552-2.586c0.776-1.293-0.776-4.655-3.62-7.499s-4.396-5.689-3.62-6.465c1.034-0.776 0.259-1.552-1.293-1.552-1.81 0-2.844-0.776-2.844-1.81 0.776-5.43-0.517-8.533-3.362-6.982-1.81 1.293-2.069 0.776-0.776-1.552 1.293-2.069 0.259-4.655-2.586-6.982-2.844-1.81-4.137-3.362-3.103-3.362s0.259-3.362-2.069-7.758c-2.327-4.137-5.172-7.758-6.723-7.758s-1.81-1.034-1.034-2.586c0.776-1.293 0.776-2.586-0.517-2.844-1.034 0-4.137-0.517-6.465-1.034-2.586-0.517-4.655 0.259-4.655 1.552 0 1.552-1.034 1.81-2.586 1.034-1.293-0.776-2.586-0.259-2.586 1.552s-0.776 2.586-1.552 1.552c-1.034-0.776-3.362 0.259-5.43 2.327s-4.913 3.103-6.206 2.327c-1.293-1.034-2.327-0.259-2.327 1.293s-1.034 2.069-2.586 1.293c-1.293-0.776-2.586-0.259-2.586 1.293s-1.034 2.069-2.586 1.293c-1.293-0.776-2.586-0.259-2.586 1.293s-1.034 2.069-2.586 1.293c-1.293-0.776-2.586-0.259-2.586 1.293s-1.034 2.069-2.586 1.293c-1.293-0.776-2.586-0.517-2.586 1.034s-1.81 2.069-3.879 1.293c-2.069-1.034-3.879-0.259-3.879 1.552 0 1.552-1.034 2.069-2.586 1.293-1.293-0.776-2.586-0.517-2.586 1.034s-1.81 2.069-3.879 1.293c-2.069-1.034-3.879-0.259-3.879 1.293s-1.81 2.069-3.879 1.293c-2.069-1.034-3.879-0.259-3.879 1.293s-1.81 2.069-3.879 1.293c-2.069-1.034-3.879-0.259-3.879 1.552 0 1.552-1.034 2.069-2.586 1.293-1.293-0.776-2.586-0.259-2.586 1.293 0 1.81-1.81 2.586-3.879 1.552-2.069-0.776-3.879-0.259-3.879 1.293s-2.327 2.069-5.172 1.034c-2.844-1.034-5.172-0.517-5.172 1.034s-1.81 2.069-3.879 1.293c-2.069-1.034-3.879-0.259-3.879 1.552 0 2.069-2.327 2.844-6.465 2.069-3.62-0.776-7.24-0.517-8.016 0.776-0.517 1.034-2.844 1.552-4.913 0.517-2.069-0.776-3.879 0-3.879 1.81s-2.069 2.586-5.172 1.81c-2.844-0.776-5.947-0.259-6.723 1.293-0.776 1.293-3.879 2.069-6.465 1.293-2.844-0.776-4.913-0.259-4.913 1.034s-2.844 1.81-6.465 0.776c-4.396-1.034-6.465-0.517-6.465 1.552s-2.586 2.844-7.499 1.81c-4.137-0.776-8.275-0.776-9.309 0.259s-5.43 2.069-9.826 2.327c-14.998 1.293-80.42 0.776-92.315-0.517-6.465-0.517-14.739-1.293-18.618-1.293-4.137 0-7.24-1.034-7.24-2.586s-2.586-2.069-6.465-1.034c-3.879 1.034-6.465 0.517-6.465-1.293 0-1.552-1.552-2.069-3.62-1.293s-4.396 0.259-5.172-1.293c-1.034-1.552-3.362-2.069-5.43-1.034-2.069 0.776-3.879 0-3.879-1.81s-1.81-2.586-3.879-1.552c-2.069 0.776-3.879 0.259-3.879-0.776 0-1.293-2.327-1.81-5.172-1.034-3.103 0.776-5.172 0-5.172-1.552 0-1.81-1.034-2.327-2.586-1.552-1.293 0.776-2.586 0.259-2.586-1.293 0-1.81-1.81-2.586-3.879-1.552-2.069 0.776-3.879 0-3.879-1.552s-0.776-2.327-1.552-1.293c-1.034 0.776-3.362-0.259-5.43-2.327-2.327-2.069-5.689-3.362-7.758-2.586-2.327 1.034-2.844 0.517-1.81-1.552 1.293-2.069 0.517-2.327-2.586-1.293-2.844 1.293-3.879 0.776-2.586-1.293s0.517-2.327-2.586-1.293c-2.586 1.034-3.879 0.776-2.844-0.776 1.552-2.327-2.069-3.62-6.982-2.844-1.293 0-2.069-0.776-2.069-1.81 0-1.293-5.43-5.947-12.154-10.861-7.499-4.913-10.861-6.465-8.792-3.62 2.069 2.586-0.517 0.259-5.689-5.43s-14.481-14.998-20.428-20.428c-6.206-5.689-8.792-8.533-6.206-6.465 3.103 2.069 1.293-1.552-3.879-8.275-4.913-6.723-9.568-11.636-10.602-10.861-1.293 0.517-2.069-1.293-2.069-4.137 0-3.103-2.069-7.499-4.655-10.085s-4.137-6.206-3.62-8.275c0.776-2.069 0-2.586-2.069-1.293-2.586 1.552-3.103 1.034-1.81-2.069 0.776-2.327-0.259-5.947-2.327-8.275-2.069-2.069-3.362-4.913-2.327-6.206 0.776-1.293 0.259-3.103-1.293-4.137s-2.069-2.844-1.034-4.137c0.776-1.293 0-4.137-1.552-6.206s-2.327-4.913-1.293-6.465c1.034-1.552 0.517-4.137-0.776-5.947-3.362-3.879-3.362-63.354-0.259-65.422 1.552-0.776 1.81-3.62 1.034-6.465-1.034-2.844-0.517-4.913 1.293-4.913s2.327-2.069 1.293-5.172c-1.034-3.103-0.517-5.172 1.293-5.172s2.586-1.81 1.552-3.879c-0.776-2.069-0.259-3.879 1.293-3.879s2.327-1.81 1.293-3.879c-0.776-2.069-0.259-3.879 1.034-3.879s1.552-1.81 0.776-4.396c-1.293-3.103-0.776-3.62 1.81-2.069s3.103 1.034 1.81-2.069c-0.776-2.586-0.517-4.396 1.034-4.396s2.069-1.034 1.293-2.327c-0.776-1.293 0.259-3.103 2.586-3.879 2.327-1.034 3.62-3.362 2.586-5.689-0.776-2.069-0.517-3.103 1.034-2.327s2.586 0.776 2.844-0.517c0.776-8.533 2.844-12.671 9.309-18.101 3.879-3.62 5.43-5.43 3.362-4.396s1.034-2.586 6.982-7.758c5.947-5.172 15.257-14.481 20.428-20.428s8.533-9.309 7.499-7.24c-1.293 2.327 0.259 1.81 4.913-1.034 3.62-2.586 6.723-5.43 6.723-6.723s0.776-2.069 2.069-2.069c4.913 0.776 8.533-0.517 6.982-2.844-0.776-1.552 0.259-1.81 2.327-1.034 2.327 1.034 4.655-0.259 5.689-2.586 0.776-2.327 2.586-3.362 3.879-2.586s2.327 0.259 2.327-1.293c0-1.552 1.81-1.81 4.396-1.034 2.844 1.034 3.62 0.776 2.327-1.293s-0.517-2.586 2.069-1.552c2.327 0.776 4.137 0.259 4.137-1.552 0-1.552 1.293-2.069 2.586-1.293 1.552 0.776 2.586 0.259 2.586-1.293 0-1.81 1.81-2.586 3.879-1.552 2.069 0.776 3.879 0.259 3.879-1.293s2.327-2.069 5.172-1.034c2.844 0.776 5.172 0.517 5.172-1.034 0-1.293 2.069-2.586 4.655-2.586 7.499-0.259 14.739-1.81 18.101-3.879 1.81-1.034 5.43-1.034 8.533-0.259 2.844 1.034 6.723 0.517 8.533-1.034 3.362-2.844 80.162-2.327 97.228 0.776 4.913 1.034 11.636 1.552 14.998 1.552 3.103 0 5.689 1.293 5.689 2.586s1.81 1.81 3.879 1.034c2.069-1.034 3.879-0.259 3.879 1.552s1.81 2.586 3.879 1.552c2.069-0.776 3.879-0.259 3.879 1.293s1.034 2.069 2.327 1.293c1.293-1.034 2.844-0.259 3.362 1.034 0.517 1.552 2.844 3.103 5.172 3.362 6.465 1.034 12.412 6.982 12.412 12.412 0 2.844 1.034 4.913 2.327 4.913 3.362 0 2.327 10.085-1.552 17.067-1.81 3.103-2.586 6.206-1.81 6.723 0.517 0.776-1.034 2.844-3.362 4.913-4.137 3.103-4.396 3.103-2.069-0.259 1.552-2.586 1.034-2.327-1.552 0.517-2.327 2.327-4.913 3.62-5.947 2.844-0.776-1.034-1.552-0.517-1.552 1.034s-2.586 2.844-5.689 3.103c-3.362 0-8.275 0.259-11.119 0.517s-20.17-0.517-38.788-1.552c-50.683-3.103-91.798-2.069-99.297 2.327-1.552 1.034-4.655 1.293-6.723 0.517s-4.396-0.259-5.172 1.034c-0.776 1.293-3.103 1.81-5.172 0.776-2.069-0.776-3.879 0-3.879 1.552s-1.81 2.069-3.879 1.293c-2.069-1.034-3.879-0.259-3.879 1.552 0 1.552-1.034 2.069-2.586 1.293-1.293-0.776-2.586-0.517-2.586 1.034s-1.81 1.81-4.396 1.034c-3.103-1.293-3.62-0.776-2.069 1.81s1.034 3.103-2.327 1.81c-2.586-1.034-6.206 0.259-9.051 3.103s-5.43 4.396-6.206 3.879c-0.517-0.517-4.913 2.844-9.826 7.24-5.172 4.655-7.24 7.499-4.913 5.947 2.327-1.293 1.552 0-1.81 3.103s-5.947 6.982-5.947 8.533c0 1.552-1.034 2.327-2.069 1.552-2.844-1.552-13.964 17.842-11.636 20.17 0.776 0.776 0.259 1.552-1.552 1.552-2.069 0-2.844 1.81-1.81 3.879 0.776 2.069 0.259 3.879-1.034 3.879-1.552 0-2.327 0.776-2.327 2.069 0.259 1.034 0 2.586-0.259 3.879-0.259 1.034-1.034 3.103-1.293 4.396-0.259 1.552-1.034 2.844-1.293 3.362-3.103 3.362-4.396 41.632-1.552 57.406 0.776 5.689 1.81 11.895 2.069 13.705 0.259 1.552 1.552 3.103 2.844 3.103s1.81 1.81 1.034 3.879c-1.034 2.069-0.517 4.396 1.034 5.172 1.293 1.034 1.81 2.844 1.034 4.137-1.034 1.293-0.259 2.327 1.293 2.327s2.069 1.293 1.293 2.586c-0.776 1.552-0.259 2.586 1.293 2.586s2.327 1.034 1.552 2.327c-0.776 1.034 0.517 4.396 2.586 6.982 2.327 2.586 3.103 3.362 2.069 1.293-1.293-2.327-0.776-3.103 1.034-1.81 1.81 1.034 3.103 3.879 3.103 6.206 0 5.43 17.842 23.79 23.531 23.79 2.327 0 6.206 3.103 8.792 6.723 2.586 3.879 5.689 5.947 8.016 5.172s3.103-0.259 2.327 1.034c-1.552 2.327 2.069 3.62 7.24 2.844 1.034 0 1.81 1.034 1.81 2.586 0 1.293 1.293 1.81 2.586 1.034 1.552-0.776 2.586-0.259 2.586 1.293 0 1.81 1.81 2.586 3.879 1.552 2.069-0.776 3.879-0.259 3.879 1.293s1.293 1.81 2.586 1.034c1.552-0.776 2.586-0.259 2.586 1.293 0 1.81 1.81 2.586 3.879 1.552 2.069-0.776 3.879-0.259 3.879 1.293s1.81 2.327 3.879 1.293c2.069-0.776 3.879-0.259 3.879 1.034s1.552 1.81 3.62 1.034c2.069-0.776 4.396-0.259 5.172 1.293 1.034 1.552 3.362 2.069 5.43 1.034 2.069-0.776 3.879-0.259 3.879 0.776 0 1.293 2.586 2.586 5.947 2.844 3.103 0.259 10.343 1.034 16.032 1.81 38.788 5.43 111.709 5.947 119.725 0.776 1.81-1.293 5.43-1.552 8.016-0.517 2.844 0.776 5.689 0.259 6.723-1.293s3.879-2.069 6.723-1.293c2.844 1.034 4.913 0.517 4.913-1.293s2.069-2.327 5.172-1.293c3.103 1.034 5.172 0.517 5.172-1.293s2.069-2.586 5.172-1.81c2.844 0.776 5.172 0.259 5.172-1.293 0-1.293 2.327-1.552 5.172-0.776 3.103 1.034 5.172 0.517 5.172-1.293s1.81-2.586 3.879-1.552c2.069 0.776 3.879 0.259 3.879-1.034s1.81-1.81 3.879-1.034c2.069 1.034 3.879 0.259 3.879-1.552s1.81-2.586 3.879-1.552c2.069 0.776 3.879 0.259 3.879-1.034s1.81-1.81 3.879-1.034c2.069 1.034 3.879 0.259 3.879-1.293s1.81-2.069 4.396-1.034c2.844 1.034 3.62 0.776 2.327-1.293s-0.517-2.586 2.069-1.552c2.327 0.776 4.137 0.259 4.137-1.552 0-1.552 1.293-2.069 2.586-1.293 1.552 0.776 2.586 0.259 2.586-1.293s1.034-2.069 2.586-1.293c2.844 1.81 23.273-8.016 23.273-11.378 0-1.034 1.552-2.069 3.62-2.069 5.172 0 29.996-16.291 29.996-19.653 0-1.552 0.776-1.81 1.552-1.034 1.034 1.034 4.137-0.776 6.723-4.137 2.844-3.103 5.947-5.689 6.982-5.689 0.776 0 6.982-5.172 13.188-11.636 6.465-6.465 14.222-13.446 17.584-15.515 3.103-2.069 5.689-4.913 5.689-6.723 0-1.552 2.586-4.913 5.689-7.758 4.913-3.879 5.172-4.137 2.327-0.259-1.81 2.327-2.844 4.396-2.069 4.396 0.517 0 4.396-4.396 8.533-9.568 3.879-5.172 5.43-8.533 3.362-7.499-2.069 1.293-0.517-0.517 3.362-3.879 9.826-8.792 20.945-27.41 18.618-31.030-1.034-2.069-0.776-2.327 1.034-1.293 2.844 1.81 3.62 0.776 4.137-6.723 0.259-1.81 1.81-4.913 3.62-6.723 1.81-2.069 2.586-4.655 1.81-5.947-1.034-1.293-0.259-2.327 1.293-2.327 1.81 0 2.586-1.81 1.552-3.879-0.776-2.069-0.259-3.879 1.293-3.879s2.069-1.81 1.293-4.137c-1.034-2.586-0.517-3.362 1.552-2.069 1.81 1.293 2.327 0 1.552-3.62-1.034-3.103-0.517-5.689 1.034-5.689s2.069-1.81 1.293-3.879c-1.034-2.069-0.517-4.396 1.034-5.43 1.552-0.776 2.069-3.103 1.293-5.172s-0.259-3.62 1.034-3.62c1.552 0 2.586-3.879 2.586-8.275 0-16.032 1.293-27.41 3.362-29.479 2.844-2.844 2.327-47.063-0.776-48.873-1.293-0.776-2.327-4.655-2.327-8.533-0.259-8.275-1.81-21.98-2.844-23.79s-2.844-13.446-2.844-18.618c0-2.586-1.034-4.655-2.327-4.655-1.034 0-1.552-2.327-0.776-5.172 0.776-3.103 0-5.172-1.552-5.172-1.81 0-2.327-1.034-1.552-2.586 0.776-1.293 0.517-2.586-1.034-2.586s-2.069-1.81-1.293-3.879c1.034-2.069 0.259-3.879-1.293-3.879s-2.069-1.552-1.293-3.62c0.776-1.81-0.259-5.172-2.069-6.982-1.81-2.069-3.362-5.172-3.62-6.723-0.517-7.758-1.293-8.792-3.62-7.24-1.293 0.776-1.81 0-1.034-2.327 0.776-2.069-0.776-5.947-3.62-8.792s-4.655-5.947-3.62-6.723c0.776-0.776 0.259-1.552-1.293-1.552-1.293 0-2.586-1.552-2.586-3.362 0-4.396-8.533-17.325-11.636-17.325-1.293 0-1.81-1.034-1.034-2.327 0.776-1.034-2.069-6.206-6.206-10.861-4.137-4.913-10.602-12.671-14.481-17.325-3.62-4.655-7.499-7.758-8.275-6.982-1.81 1.81-11.119-6.723-9.568-9.051 0.517-1.034-2.069-4.655-5.947-8.016l-6.982-6.206 5.172 6.723c2.844 3.62 0 1.034-6.465-5.43s-13.964-13.705-16.549-15.774c-4.655-3.103-4.913-3.103-3.103 0.259 1.034 2.069-0.517 1.034-3.362-2.586s-5.43-5.43-5.43-3.879c0 1.293-1.81-0.259-4.137-3.362-2.327-3.62-5.689-5.43-8.016-4.655-2.069 0.776-2.844 0.259-2.069-1.034 1.552-2.327-2.069-3.62-5.172-1.81-0.517 0.259-2.844-1.81-4.913-4.655s-4.396-4.396-5.43-3.362c-1.034 0.776-4.137-0.776-6.982-3.62s-6.723-4.396-8.792-3.62c-2.069 0.776-3.62 0.259-3.62-1.293s-1.034-1.81-2.586-1.034c-1.293 0.776-2.586 0.259-2.586-1.293s-1.034-2.069-2.586-1.293c-1.293 0.776-2.586 0.259-2.586-1.293 0-1.81-1.81-2.586-3.879-1.552-2.069 0.776-3.879 0.259-3.879-1.034s-1.81-1.552-4.396-0.776c-3.103 1.293-3.62 0.776-2.069-1.81s1.034-3.103-2.069-1.81c-2.586 1.034-4.396 0.517-4.396-1.034s-1.81-2.327-3.879-1.293c-2.069 0.776-3.879 0.259-3.879-1.293s-1.81-2.327-3.879-1.552c-2.069 1.034-4.396 0.517-5.172-0.776s-3.103-1.81-5.172-0.776c-2.069 0.776-3.879 0-3.879-1.81s-1.81-2.586-3.879-1.552c-2.069 0.776-3.879 0.259-3.879-1.293s-2.327-2.069-5.172-1.034c-3.103 1.034-5.172 0.517-5.172-1.293s-2.069-2.327-5.172-1.293c-3.103 1.034-5.172 0.517-5.172-1.293s-2.069-2.327-4.913-1.293c-2.844 0.776-5.689 0.259-6.723-1.293s-3.879-2.069-6.465-1.293c-2.586 0.776-5.43 0.259-6.465-1.293-1.034-1.81-4.655-2.327-8.275-1.552-3.362 1.034-7.24 1.034-8.792 0-6.206-3.62-87.143-5.172-122.57-2.327-9.826 0.776-22.238 1.81-27.152 2.069s-10.343 1.293-11.895 2.327c-1.81 1.293-5.947 2.069-9.051 2.069-11.378 0-16.549 0.776-19.394 3.103-1.552 1.034-4.913 1.552-7.24 0.517-2.327-0.776-4.137-0.259-4.137 1.552s-2.069 2.327-5.172 1.293c-3.103-1.034-5.172-0.517-5.172 1.293s-2.069 2.327-5.172 1.293c-3.103-1.034-5.172-0.517-5.172 1.293s-1.81 2.586-3.879 1.552c-2.069-0.776-3.879-0.259-3.879 1.293s-2.327 2.069-5.172 1.034c-3.103-1.034-5.172-0.517-5.172 1.293 0 1.552-1.293 2.069-2.586 1.293s-2.586-0.259-2.586 1.293c0 1.81-1.81 2.586-3.879 1.552-2.069-0.776-3.879-0.259-3.879 1.293s-1.81 2.327-3.879 1.293c-2.069-0.776-3.879-0.259-3.879 1.034s-1.81 1.81-3.879 1.034c-2.069-1.034-3.879-0.259-3.879 1.552 0 1.552-1.034 2.069-2.586 1.293-1.293-0.776-2.586-0.259-2.586 1.293s-1.293 2.069-2.586 1.293c-1.552-0.776-5.689 0.776-9.309 3.62-3.879 2.844-7.758 4.655-9.051 3.879s-2.327 0-2.327 1.552c0 1.552-1.293 2.069-2.586 1.293s-2.586-0.259-2.586 1.293c0 1.552-1.293 2.069-2.586 1.293-1.552-0.776-2.586-0.259-2.586 1.293s-1.034 2.069-2.586 1.293c-1.552-0.776-2.586-0.259-2.586 1.293s-1.293 2.069-2.586 1.293c-1.552-0.776-2.586-0.259-2.586 1.293s-1.293 2.069-2.586 1.293c-1.552-0.776-2.586-0.259-2.586 1.293s-1.293 2.069-2.586 1.293c-1.293-0.776-2.586-0.259-2.586 1.293s-1.293 2.069-2.586 1.293c-1.552-0.776-2.586-0.259-2.586 1.552s-0.776 2.327-1.81 1.552c-0.776-1.034-3.103 0.259-5.172 2.844-2.069 2.327-2.844 2.844-2.069 1.034 1.552-2.844 0.776-3.103-3.62-0.776-2.844 1.81-5.43 4.137-5.43 5.43 0 1.552-2.327 2.586-5.43 2.586-2.844 0-4.396 1.293-3.62 2.586 0.776 1.552-0.776 2.586-3.879 2.586s-4.655 1.293-3.879 2.586c0.776 1.552-0.259 2.586-2.844 2.586-4.913 0-29.479 17.325-29.479 20.945 0 1.552-1.552 1.81-3.103 0.776-1.81-1.034-2.586-1.034-1.552 0.259 2.844 3.103-2.844 9.051-8.275 9.051-4.913 0-5.43 3.879-1.552 10.085 1.81 2.586 1.293 3.103-1.293 1.552-4.655-2.844 4.137 8.275 14.222 17.842 4.396 4.137 6.465 6.465 4.396 5.43-1.81-1.034-0.776 1.552 2.327 5.947 3.362 4.396 6.982 7.499 8.275 6.723s1.81-0.517 1.552 0.776c-1.034 2.844 7.758 15.257 10.085 14.222 1.034-0.259 2.069 1.293 2.327 3.62 0.517 2.327 2.069 5.689 3.879 7.24 2.327 2.069 2.586 2.069 1.034-0.776-1.293-2.327-1.034-3.103 0.776-1.81 1.81 1.034 3.103 3.62 3.103 5.689 0 5.172 11.378 4.655 15.774-0.776 3.103-3.879 3.103-4.137-0.259-2.069-2.327 1.293-3.103 1.293-1.81-0.259 1.293-1.293 3.103-2.327 3.879-2.586 5.43-0.776 10.602-4.655 9.051-6.982-0.776-1.552-0.259-1.81 1.293-0.776 1.81 1.034 5.947-0.776 9.309-4.137s7.499-6.206 9.051-6.723c5.172-1.034 15.774-8.792 15.774-11.119 0-1.293 0.776-2.069 2.069-2.069 4.913 0.776 8.533-0.517 6.982-2.844-1.034-1.552 0.259-1.81 2.844-0.776 3.103 1.034 3.879 0.776 2.586-1.293s-0.259-2.586 2.586-1.293c3.362 1.293 3.879 0.776 2.327-1.81-1.293-2.069-1.034-2.844 0.776-1.81 3.879 2.586 11.119-0.776 9.051-4.137-0.776-1.293-0.259-1.81 1.293-0.776 3.103 1.81 16.032-3.362 16.032-6.465 0-1.293 1.81-1.293 4.396-0.517 2.844 1.034 3.62 0.776 2.327-1.293s-0.517-2.586 2.069-1.552c2.327 0.776 4.137 0.259 4.137-1.552 0-1.552 1.293-2.069 2.586-1.293s2.586 0.259 2.586-1.293c0-1.81 1.81-2.586 3.879-1.552 2.069 0.776 3.879 0.259 3.879-1.034s1.81-1.81 3.879-1.034c2.069 1.034 3.879 0.259 3.879-1.293s1.81-2.069 3.879-1.293c2.069 1.034 3.879 0.259 3.879-1.293s1.81-2.069 3.879-1.293c2.069 1.034 3.879 0.259 3.879-1.552s1.81-2.586 3.879-1.81c2.069 1.034 4.396 0.517 5.172-0.776s3.103-1.81 4.913-1.034c2.069 0.776 4.396 0 5.43-1.293 0.776-1.552 2.844-2.327 4.137-1.293 1.293 0.776 3.879 0.259 5.689-1.034 2.844-2.327 5.689-2.844 16.808-3.362 2.327 0 6.206-0.776 8.275-1.81 7.499-2.844 22.756-3.879 72.404-3.879 58.182 0 66.715 0.517 68.525 3.62 0.776 1.034 3.103 1.552 5.172 0.517 2.327-0.776 5.689 0 7.758 1.81 2.069 1.552 4.913 2.327 6.465 1.293s4.137-0.517 5.947 0.776c1.81 1.293 4.913 2.586 6.982 2.586 5.947 0.259 11.378 1.81 14.998 4.137 1.81 1.034 4.137 1.293 4.913 0.517s3.103-0.259 5.172 1.293c1.81 1.552 3.362 2.069 3.362 1.034s1.81-0.517 3.879 1.293c2.069 1.81 3.879 2.327 3.879 1.293s1.81-0.517 3.879 1.293c2.069 1.81 3.879 2.327 3.879 1.293s1.552-0.517 3.362 1.034c2.069 1.552 4.396 2.069 5.172 1.034 1.034-0.776 1.81-0.259 1.81 1.552s1.293 2.327 2.586 1.552c1.552-0.776 2.586-0.517 2.586 0.776 0 2.069 22.756 13.964 26.634 13.705 1.034-0.259 4.137 2.069 6.982 4.913 3.103 3.103 6.723 4.655 8.533 3.62s2.327-1.034 1.293 0.259c-2.069 2.327 12.412 14.222 17.325 14.222 1.552 0 6.206 3.879 10.602 8.275l7.499 8.533-7.758-6.206c-5.43-4.396-4.655-3.362 2.069 3.362 5.172 5.172 9.568 10.861 9.568 12.154 0 1.552 1.293 1.81 2.586 1.034 1.552-0.776 3.362 0.517 4.137 3.103 3.103 9.309 6.982 16.032 8.792 14.998 1.034-0.776 2.586 2.327 3.62 6.723 0.776 4.396 2.586 7.24 4.137 6.206s1.81 0.259 0.776 2.844c-1.034 3.103-0.776 3.879 1.293 2.586s2.586-0.517 1.552 2.069c-0.776 2.327-0.259 4.137 1.552 4.137 1.552 0 2.069 1.293 1.293 2.586-0.776 1.552-0.517 2.586 1.034 2.586s2.069 1.81 1.293 3.879c-1.034 2.069-0.259 3.879 1.293 3.879s2.069 1.81 1.293 3.879c-1.034 2.069-0.259 3.879 1.552 3.879s2.586 1.81 1.81 3.879c-1.034 2.069-0.517 4.396 0.517 5.172 1.293 0.776 1.81 3.62 1.034 6.465s0 5.172 1.552 5.172c2.844 0 3.362 5.947 3.362 32.323-0.259 28.186-0.776 34.651-3.362 36.461-1.293 0.776-1.81 3.62-1.034 6.206s0.259 5.43-1.034 6.206c-1.552 1.034-2.069 3.362-1.034 5.43 0.776 2.069 0 3.879-1.552 3.879s-2.069 1.81-1.293 3.879c1.034 2.069 0.259 3.879-1.552 3.879-1.552 0-2.069 1.293-1.293 2.586 0.776 1.552 0.259 2.586-1.293 2.586-1.81 0-2.586 1.81-1.552 3.879 0.776 2.069 0.259 3.879-1.293 3.879s-1.81 1.293-1.034 2.586c0.776 1.552 0.259 2.586-1.293 2.586s-2.327 1.034-1.552 2.327c0.776 1.293 0 2.844-2.069 3.62-1.81 0.776-4.137 4.913-4.913 9.568-1.034 4.396-2.844 7.499-4.396 6.465-1.293-0.776-3.103 1.552-4.137 5.172-0.776 3.362-2.586 5.947-3.62 5.172s-3.362 2.069-5.172 6.206c-1.552 4.137-6.206 10.343-9.826 13.705l-6.982 5.947 5.172-6.206c3.103-3.879 0.259-2.327-6.982 3.62-11.636 9.309-18.101 16.549-7.758 8.792 3.879-3.362 4.137-3.103 1.034 0.776-2.069 2.327-4.913 3.879-6.982 3.103-1.81-0.776-4.913 0.776-6.723 3.62-2.069 2.844-4.655 5.172-6.206 5.43-6.982 1.034-11.636 3.362-10.343 5.689 0.776 1.293 0 1.552-2.069 0.776s-5.43 0.517-7.758 2.586c-2.069 2.069-4.396 3.103-5.43 2.327-0.776-1.034-1.552-0.259-1.552 1.293s-1.81 2.327-3.879 1.552c-2.069-1.034-3.879-0.259-3.879 1.552 0 1.552-1.034 2.069-2.586 1.293-1.293-0.776-2.586-0.517-2.586 1.034s-1.81 2.069-3.879 1.293c-2.069-1.034-3.879-0.259-3.879 1.293s-1.552 2.069-3.62 1.293c-2.069-0.776-4.396-0.259-5.172 1.293-1.034 1.552-3.362 2.069-5.43 1.034-2.069-0.776-3.879 0-3.879 1.552s-1.81 2.069-3.879 1.293c-2.069-1.034-5.43-0.259-7.24 1.034-3.62 3.103-5.689 3.362-26.893 3.362-7.499 0-13.964 0.776-14.739 1.81-1.293 2.327-69.818 1.552-85.592-0.776-5.689-0.776-12.154-1.81-14.222-1.81s-5.172-1.293-6.982-2.586c-1.81-1.293-4.396-1.81-5.947-0.776-1.293 0.776-2.586 0.259-2.586-1.293s-1.034-2.069-2.586-1.293c-1.293 0.776-2.586 0.259-2.586-1.293s-1.034-2.069-2.586-1.293c-1.293 0.776-2.586 0.259-2.586-1.293s-1.293-2.069-3.103-1.034c-1.552 1.034-2.069 0.776-1.293-0.776 2.069-3.103-4.396-9.309-6.723-6.723-1.034 0.776-1.81 0.517-2.069-0.776 0-1.293-0.776-4.655-1.552-7.499-1.552-6.982-1.552-11.636 0.259-19.135 1.552-6.982 6.465-13.705 9.051-11.895 1.034 0.517 5.43-1.034 9.568-3.362 5.947-3.62 12.929-4.396 33.358-3.879 33.616 0.776 98.78 0.776 108.606 0 4.396-0.259 9.309-1.552 11.119-2.844 1.81-1.034 4.913-1.293 6.982-0.517s4.396 0.259 5.172-1.034c0.776-1.293 3.103-1.81 5.172-0.776 2.069 0.776 3.879 0 3.879-1.81s1.81-2.586 3.879-1.552c2.069 0.776 3.879 0.259 3.879-1.034s1.552-1.81 3.62-1.034c1.81 0.776 5.172-0.517 7.499-2.586 2.069-2.069 4.396-3.103 5.43-2.327 0.776 1.034 1.552 0.259 1.552-1.293 0-1.81 0.776-2.844 2.069-2.844 4.137 0.776 7.24-0.517 13.446-5.689 3.62-2.844 4.913-4.655 3.362-3.62-1.81 0.776-3.362 1.034-3.362 0.259s3.879-3.103 8.792-5.172c5.689-2.327 9.309-5.947 10.343-10.602 1.034-3.879 2.586-6.465 3.362-5.43 2.586 2.327 9.051-8.533 6.982-11.895-1.034-1.552-0.776-2.069 0.776-1.293 3.362 2.069 6.723-5.172 4.137-9.051-1.034-1.81-0.259-2.069 1.81-0.776 2.586 1.552 3.103 1.034 1.81-2.069-1.034-2.586-0.517-4.396 1.034-4.396s2.327-1.81 1.552-3.879c-1.034-2.069-0.517-4.396 1.034-5.172 1.293-1.034 1.81-2.844 0.776-4.137-0.776-1.552-0.776-4.655 0.259-6.982 2.327-5.947 2.586-42.925 0.259-46.804-1.034-1.81-1.293-4.655-0.517-6.723s0.259-4.396-1.293-5.43c-1.552-0.776-2.069-3.103-1.293-5.172s0.259-3.62-1.293-3.62c-1.552 0-2.327-1.81-1.293-3.879 0.776-2.069 0.259-3.879-1.293-3.879s-2.069-1.034-1.293-2.327c2.069-3.103-1.034-10.861-3.362-9.568-1.034 0.776-3.362-1.034-5.172-4.137-2.586-4.137-2.586-4.913 0.259-3.103 5.947 3.62-3.103-6.982-22.238-25.341-16.549-16.291-20.17-18.618-25.341-17.842-1.293 0-2.069-0.776-2.069-2.327 0-3.362-14.998-10.861-18.101-9.051-1.552 0.776-2.586 0.259-2.586-1.293s-1.034-2.069-2.586-1.293c-1.293 0.776-2.586 0.259-2.586-1.293 0-1.81-1.81-2.586-3.879-1.552-2.069 0.776-3.879 0.259-3.879-1.293s-1.81-2.327-3.879-1.293c-2.069 0.776-3.879 0.259-3.879-1.293s-2.327-2.069-5.172-1.034c-2.844 0.776-5.172 0.517-5.172-1.034 0-1.293-2.069-2.586-4.396-2.586-2.586 0-8.792-0.517-13.705-1.552-4.913-0.776-11.895-1.81-15.515-2.327-3.62-0.259-6.982-1.034-7.758-1.552-5.43-2.844-74.473-3.879-102.141-1.293-9.826 0.776-20.428 1.552-23.273 1.552-2.586 0-6.465 1.293-8.275 2.586-1.552 1.552-4.396 2.069-5.689 1.293-1.293-1.034-3.362-0.259-4.137 1.293-1.034 1.552-4.655 2.069-8.016 1.293-3.62-1.034-6.206-0.517-6.206 1.034 0 1.81-2.069 2.327-5.172 1.293s-5.172-0.517-5.172 1.293c0 1.81-1.81 2.586-3.879 1.81-2.069-1.034-4.396-0.517-5.172 0.776s-3.103 1.81-5.172 0.776c-2.069-0.776-3.879 0-3.879 1.552s-1.81 2.069-3.879 1.293c-2.069-1.034-3.879-0.259-3.879 1.293s-1.81 2.069-4.396 1.034c-2.844-1.034-3.62-0.776-2.327 1.293s0.517 2.586-2.069 1.552c-2.327-0.776-4.137-0.259-4.137 1.293s-1.81 2.069-4.396 1.034c-2.844-1.034-3.62-0.776-2.327 1.293 1.034 2.069 0.517 2.586-1.81 1.552-2.069-0.776-5.689 0.517-7.758 2.844-2.327 2.327-4.655 3.879-4.913 3.62-2.327-1.552-12.154 3.62-11.119 5.689 0.776 1.293-0.259 1.552-2.327 0.776-2.327-0.776-4.655 0-5.43 2.069s-2.844 3.879-4.655 3.879c-3.362 0-25.083 13.446-25.083 15.515 0 0.517 1.293 0.259 3.103-0.776s2.069-0.776 1.034 1.034c-1.034 1.81-3.362 3.103-5.172 3.103s-5.43 1.81-8.275 4.137c-2.586 2.069-3.103 3.103-1.034 2.069 3.362-1.81 3.362-1.293 0.259 2.327-1.81 2.327-4.396 3.879-5.43 3.103-5.172-3.362-59.475 60.768-62.578 73.697-0.517 1.81-2.844 5.689-5.43 8.275-2.586 2.844-4.137 6.723-3.362 8.792s0.517 3.362-0.776 2.586c-2.844-1.81-5.947 5.689-3.62 9.309 1.034 1.81 0.259 2.069-1.81 0.776-2.586-1.552-3.103-1.034-1.81 2.069 0.776 2.586 0.517 4.396-1.034 4.396s-1.81 1.293-1.034 2.586c0.776 1.552 0.259 2.586-1.293 2.586-1.81 0-2.586 1.81-1.552 3.879 0.776 2.069 0.259 3.879-1.293 3.879s-2.327 1.81-1.293 3.879c0.776 2.069 0.259 3.879-1.293 3.879s-2.327 1.81-1.293 3.879c0.776 2.069 0.259 3.879-1.293 3.879s-2.069 2.327-1.034 5.43c1.293 4.137 1.034 4.913-1.293 3.62-2.586-1.552-2.844-0.259-1.552 4.913 1.034 4.137 0.517 6.723-1.293 6.723s-2.327 2.327-1.293 6.206c0.776 3.103 0.517 6.723-0.517 7.758-2.586 2.844-3.62 14.481-3.362 48.097 0 45.77 0.259 49.131 2.844 49.131 1.552 0 2.069 2.844 1.034 6.465-0.776 3.62-0.517 6.465 1.034 6.465s2.069 2.327 1.293 5.172c-0.776 2.844-0.259 5.172 1.293 5.172s2.069 2.586 1.034 5.689c-0.776 3.362-0.259 4.913 1.293 3.879 1.81-1.293 2.327 0.259 1.293 3.879-1.034 4.137-0.517 4.913 2.069 3.362s3.103-1.034 1.81 2.069c-0.776 2.586-0.517 4.396 0.776 4.396s1.81 1.81 1.034 3.879c-1.034 2.069-0.259 3.879 1.293 3.879s2.069 1.81 1.034 4.396c-1.034 2.844-0.776 3.62 1.293 2.327 2.069-1.034 2.586-0.517 1.552 1.81-0.776 2.069 0.259 5.43 2.327 7.24 1.81 2.069 3.62 4.655 3.62 5.689 0.517 6.206 6.982 17.067 9.309 15.515 1.552-0.776 1.81-0.259 0.776 1.293-1.034 1.81 3.103 10.343 9.051 19.135 12.154 17.584 61.543 69.301 66.457 69.301 1.81 0 3.103 1.034 3.103 2.327s3.103 4.137 6.723 6.723c4.655 2.844 6.206 3.362 4.913 1.034-1.293-2.069 1.034-0.259 4.655 3.62 3.879 3.879 8.275 6.465 9.568 5.689 1.552-0.776 2.586-0.259 2.586 1.293s1.034 2.327 2.327 1.552c1.293-0.776 3.103 0.259 3.879 2.586 0.776 2.069 2.586 3.103 4.137 2.327 1.293-0.776 2.586-0.259 2.586 1.293s1.293 2.069 2.586 1.293c1.552-0.776 2.586-0.259 2.586 1.293s1.293 2.069 2.586 1.293c1.552-0.776 2.586-0.259 2.586 1.293s1.293 2.069 2.586 1.293c1.552-0.776 2.586-0.259 2.586 1.293s1.293 2.069 2.586 1.293c1.552-0.776 2.586-0.259 2.586 1.293 0 1.81 1.81 2.586 3.879 1.552 2.069-0.776 3.879-0.259 3.879 1.293s1.293 1.81 2.586 1.034c1.552-0.776 2.586-0.259 2.586 1.293 0 1.81 1.81 2.586 3.879 1.552 2.069-0.776 3.879-0.259 3.879 1.293s1.81 2.327 3.879 1.293c2.069-0.776 3.879-0.259 3.879 1.034s1.81 1.81 3.879 1.034c2.069-1.034 3.879-0.259 3.879 1.552 0 1.552 1.034 2.327 2.327 1.293 1.293-0.776 3.362 0 4.137 1.552 1.034 1.293 3.362 2.069 5.43 1.293s3.62-0.259 3.62 1.293c0 1.552 1.81 2.327 3.879 1.293 2.069-0.776 3.879-0.259 3.879 1.293s2.327 2.069 5.172 1.034c3.103-1.034 5.172-0.517 5.172 1.293s1.81 2.586 3.879 1.552c2.069-0.776 3.879-0.259 3.879 1.293s2.327 2.069 4.913 1.034c2.844-0.776 5.689-0.517 6.465 1.034 0.776 1.293 3.879 1.81 6.723 1.034s5.172-0.259 5.172 1.293c0 1.293 2.586 2.586 5.947 2.844 3.103 0 9.826 0.776 14.739 1.552s15.774 1.81 24.048 2.327c8.275 0.517 15.774 1.81 16.808 2.844s13.964 1.034 28.962 0c14.998-1.034 33.099-2.327 40.081-2.844zM599.919 361.632c0-0.517-2.069-2.586-4.396-4.396-4.137-3.362-4.396-3.103-1.034 1.034s5.43 5.43 5.43 3.362zM260.913 756.493c-3.362-4.137-3.103-4.396 1.034-1.034s5.43 5.43 3.362 5.43c-0.517 0-2.586-2.069-4.396-4.396zM359.176 619.442l-6.206-7.24 7.24 6.206c6.465 5.947 8.275 8.016 6.206 8.016-0.517 0-3.62-3.103-7.24-6.982zM315.475 392.404c3.362-3.62 6.723-6.465 7.24-6.465 0.776 0-1.293 2.844-4.655 6.465s-6.723 6.465-7.24 6.465c-0.776 0 1.293-2.844 4.655-6.465zM219.798 348.703c0-0.517 2.069-2.586 4.655-4.396 3.879-3.362 4.137-3.103 0.776 1.034s-5.43 5.43-5.43 3.362zM802.651 181.139l-4.913-5.947 5.947 4.913c5.43 4.655 6.982 6.723 4.913 6.723-0.517 0-3.103-2.586-5.947-5.689z" />
44
  <glyph unicode="&#xe924;" glyph-name="map-addon-alt" d="M800 861.2c-36.6-8.2-69.4-28-92-55.8-11.6-14.2-26.4-42.8-31.2-60.4-4-14.4-5.6-55.8-2.6-70 1.2-5.4 3.4-14.4 5.2-20 3-9.8 150.6-302.8 152.6-302.8s149.6 293 152.6 302.8c6 19 7.2 30 6.6 54-0.8 28.4-4 41.6-16.2 66-10.4 21.2-24.4 39-41.6 53-14.2 11.6-42.8 26.4-60.4 31.2-15.2 4.2-57.8 5.4-73 2zM852.2 797.2c18.8-4 32.8-11.8 47.2-26.4 37.6-37.4 37.4-96.2-0.2-134-37.8-37.8-96.6-37.8-134.4 0-37.6 37.8-37.8 96.6-0.2 134 24.2 24.4 54.2 33.4 87.6 26.4zM96.2 352.4l-96.2-192.4 256-128 256 128 256-128 256 128-53.4 107c-29.6 58.8-54.2 107-55 107-1 0-9.4-15.6-18.8-34.6l-17.2-34.4 29-58.2 29-58-73-36.6c-40.2-20-73.4-36.2-73.6-35.8-0.4 0.4-11.8 55.8-25.2 123.2l-24.4 122.6 4.4 4.6 4.4 4.8-15.2 30.4-15.4 30.6-7.8-8-8-7.8-191.8 127.8-191.8-127.8-127.8 127.8-96.2-192.2zM480 330v-114l-88.2-44.2c-48.6-24.2-88.6-43.6-89.2-43.2-0.4 0.6 9.4 52 21.8 114.6l22.6 113.4 65 43.6c35.8 24 65.6 43.6 66.6 43.6 0.8 0.2 1.4-51 1.4-113.8zM611 400.6c43.4-28.8 65.4-44.8 66-47.4 4.2-17 44.8-224 44.2-224.6-0.4-0.4-40.4 19-89 43.2l-88.2 44.2v114c0 62.8 0.4 114 1 114s30.2-19.6 66-43.4zM246.8 398.2l35.8-35.8-24.4-122.8c-13.6-67.4-24.8-122.8-25.2-123.2-0.2-0.4-33.4 15.8-73.6 35.8l-73 36.6 61.2 122.6c33.8 67.4 61.8 122.6 62.4 122.6s17.2-16.2 36.8-35.8z" />
45
  <glyph unicode="&#xe928;" glyph-name="log-out" d="M972.8 460.8l-307.2 256v-153.6h-358.4v-204.8h358.4v-153.6l307.2 256zM153.6 819.2h409.6v102.4h-409.6c-56.32 0-102.4-46.080-102.4-102.4v-716.8c0-56.32 46.080-102.4 102.4-102.4h409.6v102.4h-409.6v716.8z" />
46
  <glyph unicode="&#xe929;" glyph-name="login" d="M716.8 460.8l-307.2 256v-153.6h-358.4v-204.8h358.4v-153.6l307.2 256zM870.4 102.4h-409.6v-102.4h409.6c56.32 0 102.4 46.080 102.4 102.4v716.8c0 56.32-46.080 102.4-102.4 102.4h-409.6v-102.4h409.6v-716.8z" />
fonts/pagelayer.ttf CHANGED
Binary file
fonts/pagelayer.woff CHANGED
Binary file
init.php CHANGED
@@ -5,8 +5,8 @@ if (!defined('ABSPATH')) exit;
5
 
6
  define('PAGELAYER_BASE', plugin_basename(PAGELAYER_FILE));
7
  define('PAGELAYER_PRO_BASE', 'pagelayer-pro/pagelayer-pro.php');
8
- define('PAGELAYER_VERSION', '1.0.4');
9
- define('PAGELAYER_DIR', WP_PLUGIN_DIR.'/'.basename(dirname(PAGELAYER_FILE)));
10
  define('PAGELAYER_SLUG', 'pagelayer');
11
  define('PAGELAYER_URL', plugins_url('', PAGELAYER_FILE));
12
  define('PAGELAYER_CSS', PAGELAYER_URL.'/css');
@@ -94,13 +94,13 @@ function pagelayer_load_plugin(){
94
  // Is there any ACTION set ?
95
  $pagelayer->action = pagelayer_optreq('pagelayer-action');
96
 
97
- // Load settings
98
  $options = get_option('pagelayer_options');
99
- $pagelayer->settings['post_types'] = empty($options['post_types']) ? array('post', 'page') : $options['post_types'];
100
- $pagelayer->settings['css_code'] = empty($options['css_code']) ? '' : $options['css_code'];
101
- $pagelayer->settings['animate'] = empty($options['animate']) ? '' : $options['animate'];
102
- $pagelayer->settings['max_width'] = empty($options['max_width']) ? 1170 : $options['max_width'];
103
-
104
  // Load the language
105
  load_plugin_textdomain('pagelayer', false, PAGELAYER_SLUG.'/languages/');
106
 
@@ -375,25 +375,27 @@ function pagelayer_enqueue_fonts(){
375
 
376
  // Load any header we have
377
  function pagelayer_global_js(){
378
-
 
379
  echo '<script>
380
  var pagelayer_ajaxurl = "'.admin_url( 'admin-ajax.php' ).'?";
381
  var pagelayer_ajax_nonce = "'.wp_create_nonce('pagelayer_ajax').'";
382
  var pagelayer_server_time = '.time().';
383
  var pagelayer_facebook_id = "'.get_option('pagelayer-fbapp-id').'";
 
384
  </script>';
385
 
386
  }
387
 
388
  // We need to handle global styles
389
  function pagelayer_global_styles(){
390
-
391
- $styles = '<style id="pagelayer-global-styles" type="text/css">';
392
 
393
- $width = get_option('pagelayer_content_width', '1170');
 
 
394
 
395
  // Style for only child row holder
396
- $styles .= '.pagelayer-row-stretch-auto > .pagelayer-row-holder, .pagelayer-row-stretch-full > .pagelayer-row-holder.pagelayer-width-auto{ max-width: '.$width.'px; margin-left: auto; margin-right: auto;}';
397
 
398
  if(get_option('pagelayer_body_font')){
399
  $styles .= 'body *{font-family:'.get_option("pagelayer_body_font").';}';
5
 
6
  define('PAGELAYER_BASE', plugin_basename(PAGELAYER_FILE));
7
  define('PAGELAYER_PRO_BASE', 'pagelayer-pro/pagelayer-pro.php');
8
+ define('PAGELAYER_VERSION', '1.0.5');
9
+ define('PAGELAYER_DIR', dirname(PAGELAYER_FILE));
10
  define('PAGELAYER_SLUG', 'pagelayer');
11
  define('PAGELAYER_URL', plugins_url('', PAGELAYER_FILE));
12
  define('PAGELAYER_CSS', PAGELAYER_URL.'/css');
94
  // Is there any ACTION set ?
95
  $pagelayer->action = pagelayer_optreq('pagelayer-action');
96
 
97
+ // Load settings
98
  $options = get_option('pagelayer_options');
99
+ $pagelayer->settings['post_types'] = empty(get_option('pl_support_ept')) ? ['post', 'page'] : get_option('pl_support_ept');
100
+ $pagelayer->settings['max_width'] = (int) (empty(get_option('pagelayer_content_width')) ? 1170 : get_option('pagelayer_content_width'));
101
+ $pagelayer->settings['tablet_breakpoint'] = (int) (empty(get_option('pagelayer_tablet_breakpoint')) ? 768 : get_option('pagelayer_tablet_breakpoint'));
102
+ $pagelayer->settings['mobile_breakpoint'] = (int) (empty(get_option('pagelayer_mobile_breakpoint')) ? 360 : get_option('pagelayer_mobile_breakpoint'));
103
+
104
  // Load the language
105
  load_plugin_textdomain('pagelayer', false, PAGELAYER_SLUG.'/languages/');
106
 
375
 
376
  // Load any header we have
377
  function pagelayer_global_js(){
378
+ global $pagelayer;
379
+
380
  echo '<script>
381
  var pagelayer_ajaxurl = "'.admin_url( 'admin-ajax.php' ).'?";
382
  var pagelayer_ajax_nonce = "'.wp_create_nonce('pagelayer_ajax').'";
383
  var pagelayer_server_time = '.time().';
384
  var pagelayer_facebook_id = "'.get_option('pagelayer-fbapp-id').'";
385
+ var pagelayer_settings = '.json_encode($pagelayer->settings).';
386
  </script>';
387
 
388
  }
389
 
390
  // We need to handle global styles
391
  function pagelayer_global_styles(){
 
 
392
 
393
+ global $pagelayer;
394
+
395
+ $styles = '<style id="pagelayer-global-styles" type="text/css">';
396
 
397
  // Style for only child row holder
398
+ $styles .= '.pagelayer-row-stretch-auto > .pagelayer-row-holder, .pagelayer-row-stretch-full > .pagelayer-row-holder.pagelayer-width-auto{ max-width: '.$pagelayer->settings['max_width'].'px; margin-left: auto; margin-right: auto;}';
399
 
400
  if(get_option('pagelayer_body_font')){
401
  $styles .= 'body *{font-family:'.get_option("pagelayer_body_font").';}';
js/pagelayer-editor.js CHANGED
@@ -13,6 +13,8 @@ pagelayer = {
13
  copy_selected: '',
14
  mouse: {x: -1, y: -1},
15
  history_action : true,
 
 
16
  }
17
 
18
  var pagelayer_history_obj = {}, pagelayer_revision_obj = {};
@@ -65,6 +67,9 @@ jQuery(document).ready(function(){
65
  pagelayer_history_obj['action_data'] = [];
66
  pagelayer_history_setup(true);
67
 
 
 
 
68
  // Do any actions here
69
  pagelayer_trigger_action('pagelayer_setup_history');
70
 
@@ -81,8 +86,17 @@ jQuery(document).ready(function(){
81
  });
82
  };
83
 
 
 
84
  });
85
 
 
 
 
 
 
 
 
86
  // The jQuery Object of the ELPD
87
  var pagelayer_elpd;
88
 
@@ -164,7 +178,7 @@ function pagelayer_make_leftbar_movable(){
164
  pl_leftbar = pagelayer.$$('.pagelayer-leftbar-table');
165
 
166
  // On mouse down in pagelayer-topbar-holder
167
- pagelayer.$$('.pagelayer-topbar-holder').on('mousedown', function(e){
168
  e = e || window.event;
169
  e.preventDefault();
170
 
@@ -813,11 +827,11 @@ function pagelayer_renumber_col(selector){
813
  }
814
  jEle.addClass('pagelayer-col-'+cols);
815
  jEle.css({'width': ''});
816
- Ele.addClass('pagelayer-col-'+cols);
817
- Ele.css({'width': ''});
818
 
819
  // Set the att
820
  pagelayer_set_atts(Ele, obj);
 
 
821
  });
822
  }
823
 
@@ -845,11 +859,14 @@ function pagelayer_col_make_resizable(wrap){
845
  var new_width, nEle_new_width;
846
 
847
  // Original width
848
- var original_width = wrap.width();
 
849
  var original_mouse_x = e.pageX;
850
 
 
 
851
  // Add the element width and next element width
852
- both_width = (original_width / rHolder_width *100) + (next_ele.width() / rHolder_width *100);
853
 
854
  if(both_width > 100){
855
  return false;
@@ -858,7 +875,11 @@ function pagelayer_col_make_resizable(wrap){
858
  jQuery('body').css({'cursor': 'ew-resize'});
859
  rHandler.css({'display': 'block'});
860
 
 
 
861
  var r_mousemove = function(e){
 
 
862
  var width = original_width + (e.pageX - original_mouse_x);
863
 
864
  // Covert width in percentage
@@ -877,17 +898,29 @@ function pagelayer_col_make_resizable(wrap){
877
  var r_mouseup = function(e){
878
 
879
  jQuery(document).off('mousemove', r_mousemove);
 
880
  jQuery('body').css({'cursor': ''});
881
  rHandler.removeAttr('style pre-width next-width');
882
 
 
 
 
883
  // find real element and next real element
884
  var jEle = wrap.find('>.pagelayer-ele');
885
  var nEle = next_ele.find('>.pagelayer-ele');
886
-
 
 
 
 
 
 
 
887
  // Set the element attrs
888
- jEle.attr({'pagelayer-a-col_width': new_width, 'pagelayer-a-col': ''});
889
- nEle.attr({'pagelayer-a-col_width': nEle_new_width, 'pagelayer-a-col': ''});
890
- jQuery(document).off('mouseup', r_mouseup);
 
891
 
892
  };
893
 
@@ -967,7 +1000,7 @@ function pagelayer_element_added(jEle){
967
  'pl_id' : id,
968
  'html' : jQuery("[pagelayer-id="+id+"]"),
969
  'cEle' : cEle
970
- });
971
 
972
  // Set pagelayer history TRUE
973
  pagelayer.history_action = true;
@@ -1162,12 +1195,7 @@ function pagelayer_element_setup(selector, render){
1162
  break;
1163
  }
1164
  }
1165
-
1166
- var is_custom_width = pagelayer_get_att(jEle, 'col');
1167
- var col_width = pagelayer_get_att(jEle, 'col_width');
1168
- if(pagelayer_empty(is_custom_width) && col_width){
1169
- wrap.css('width', col_width+'%');
1170
- }
1171
 
1172
  wrap.addClass('pagelayer-col '+col);
1173
  //jEle.removeClass('pagelayer-col '+col);
@@ -1408,7 +1436,7 @@ function pagelayer_get_screen_mode(){
1408
  }
1409
 
1410
  // Handle key press events
1411
- jQuery(document).keydown(function(event){
1412
  //alert(String.fromCharCode(event.which));
1413
 
1414
  var tEle = jQuery(event.target);
@@ -1599,7 +1627,8 @@ function pagelayer_delete_element(selector){
1599
 
1600
  pagelayer_empty_col(par);
1601
 
1602
- if( pagelayer_active.el && pagelayer_active.el.id == id || jQuery('[pagelayer-id="'+pagelayer_active.el.id +'"]').length < 1 ){
 
1603
  pagelayer.$$('.pagelayer-elpd-close').click();
1604
  }
1605
 
@@ -1749,6 +1778,49 @@ function pagelayer_get_props(jEle){
1749
  return props;
1750
  }
1751
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1752
  // Set the given jELE as active
1753
  function pagelayer_set_active(jEle){
1754
 
@@ -2325,13 +2397,13 @@ function pagelayer_sc_render(jEle){
2325
 
2326
  // Is this a tablet
2327
  if(m == 'tablet'){
2328
- tmp.sel = '@media (max-width: 768px) and (min-width: 361px){'+tmp.sel;
2329
  tmp.val = tmp.val+'}';
2330
  }
2331
 
2332
  // Is this a mobile mode ?
2333
  if(m == 'mobile'){
2334
- tmp.sel = '@media (max-width: 360px){'+tmp.sel;
2335
  tmp.val = tmp.val+'}';
2336
  }
2337
 
@@ -2575,6 +2647,9 @@ function pagelayer_sc_render(jEle){
2575
  pagelayer_sc_render(pagelayer_ele_by_id(par));
2576
  }
2577
 
 
 
 
2578
  };
2579
 
2580
  // Is the given tag a group
@@ -2589,8 +2664,8 @@ function pagelayer_is_group(tag){
2589
  }
2590
 
2591
  // Do action / event
2592
- function pagelayer_trigger_action(act){
2593
- jQuery(document).trigger(act);
2594
  }
2595
 
2596
  // Perform a function on an action / event
@@ -2861,7 +2936,7 @@ function pagelayer_leftbar(){
2861
  for(var x in pagelayer_groups){
2862
 
2863
  // Title
2864
- html += '<div class="pagelayer-leftbar-group"><h5>'+x+'</h5>';
2865
 
2866
  // Indivdual icon
2867
  for(var y in pagelayer_groups[x]){
@@ -2967,7 +3042,9 @@ function pagelayer_leftbar(){
2967
  };
2968
 
2969
  // Post setting holder
2970
- function pagelayer_post_settings(pl_tag){
 
 
2971
 
2972
  // Is there a post settings ?
2973
  var jEle = jQuery(pagelayer_editable+' [pagelayer-tag='+ pl_tag +']');
@@ -2980,9 +3057,11 @@ function pagelayer_post_settings(pl_tag){
2980
  pagelayer_element_setup('[pagelayer-id='+id+']', true);
2981
  }
2982
 
2983
- jEle.click();
 
 
2984
 
2985
- return;
2986
  }
2987
 
2988
  // Get the closest element and method
@@ -3024,6 +3103,7 @@ function pagelayer_near_by_ele(id, sc){
3024
  // Push the action data in the pagelayer_history_obj object
3025
  function pagelayer_history_action_push(args){
3026
 
 
3027
  var history_obj_len = pagelayer_history_obj['action_data'].length;
3028
 
3029
  // If the history_obj_len is less then 1 then set the data in array 0 position
@@ -3045,20 +3125,40 @@ function pagelayer_history_action_push(args){
3045
  pagelayer_history_obj['action_data'].splice(action_id + 1, del_ele);
3046
 
3047
  // Check if the same attr set as current active history
3048
- if(args.action == "Edited" && history_obj_len > 1){
3049
  var atts = pagelayer_history_obj['action_data'][action_id] || '';
3050
- if(atts['atts'] == args['atts']){
3051
  args['oldVal'] = atts['oldVal'];
3052
  pagelayer_history_obj['action_data'][action_id] = args;
3053
  pagelayer_history_setup();
 
 
 
3054
  return true;
3055
  }
3056
  }
3057
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3058
  pagelayer_history_obj['action_data'].push(args);
3059
  pagelayer_history_obj['current_active_item_id'] = pagelayer_history_obj['action_data'].length - 1;
3060
  pagelayer_history_setup();
3061
 
 
 
3062
  }
3063
 
3064
  // Setup pagelayer history
@@ -3371,63 +3471,105 @@ function pagelayer_history_action_setup(current_item_id, prev_item_id){
3371
  pagelayer_empty_col(pCol);
3372
  pagelayer_empty_col(pagelayer_wrap_by_id(id).closest('.pagelayer-col-holder'));
3373
  }
3374
- }
3375
 
3376
- if(prev_item_id > current_item_id){
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3377
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3378
  // All Actions for undo here
3379
  var i = parseInt(prev_item_id);
3380
 
3381
  for(i; i > current_item_id; i--){
3382
 
3383
  var history_array = pagelayer_history_obj['action_data'][i];
3384
- var action = history_array.action;
3385
- var id = history_array.pl_id;
3386
-
3387
- if(action == "Edited"){
3388
- hEle = jQuery('[pagelayer-id="'+id+'"]');
3389
- reset_ele_attr(hEle, history_array.atts, history_array.oldVal, history_array.attrType);
3390
- }else if(action == "Added"){
3391
- delete_ele(id);
3392
- }else if(action == "Deleted"){
3393
- resetup_ele(history_array);
3394
- }else if(action == "Copied"){
3395
- delete_ele(id);
3396
- }else if(action == "Moved"){
3397
- pagelayer_move_ele(id, history_array.before_loc);
3398
  }
3399
 
 
 
 
 
 
 
 
 
 
3400
  }
3401
 
3402
  }else{
3403
-
3404
  // All Actions for redo here
3405
  var i = parseInt(prev_item_id)+1;
3406
 
3407
  for(i; i <= current_item_id; i++){
3408
 
3409
  var history_array = pagelayer_history_obj['action_data'][i];
3410
- var action = history_array.action;
3411
- var id = history_array.pl_id;
3412
-
3413
- if(action == "Edited"){
3414
- hEle = jQuery('[pagelayer-id="'+id+'"]');
3415
- reset_ele_attr(hEle, history_array.atts, history_array.newVal, history_array.attrType);
3416
- }else if(action == "Added"){
3417
- resetup_ele(history_array);
3418
-
3419
- if(history_array.tag != "pl_row" && history_array.tag != "pl_col" ){
3420
- // Ensure the column is not empty
3421
- pagelayer_empty_col(history_array.cEle.cEle);
3422
  }
3423
- }else if(action == "Deleted"){
3424
- delete_ele(id);
3425
- }else if(action == "Copied"){
3426
- resetup_ele(history_array);
3427
- }else if(action == "Moved"){
3428
- pagelayer_move_ele(id, history_array.after_loc);
3429
  }
3430
 
 
 
 
 
 
 
3431
  }
3432
  }
3433
 
@@ -3453,9 +3595,9 @@ function pagelayer_bottombar(){
3453
  '</div>'+
3454
  '</div>'+
3455
  '<i class="pagelayer-mode-button pli pli-desktop"></i>'+
3456
- '<span data-tlite="Preview Changes"><i class="pagelayer-preview pli pli-eye"></i></span>'+
3457
- '<span data-tlite="History and Revisions"><i class="pagelayer-history-icon pli pli-history"></i></span>'+
3458
- '<span data-tlite="navigator"><i class="pagelayer-navigator-icon pli pli-tree"></i></span>'+
3459
  //'<span data-tlite="Close and Return to Admin Panel"><i class="pagelayer-close-button fa fa-close"></i></span>'+
3460
  '</div>'+
3461
  '</div>';
13
  copy_selected: '',
14
  mouse: {x: -1, y: -1},
15
  history_action : true,
16
+ history_lastTime : new Date(),
17
+ props_ref : {},
18
  }
19
 
20
  var pagelayer_history_obj = {}, pagelayer_revision_obj = {};
67
  pagelayer_history_obj['action_data'] = [];
68
  pagelayer_history_setup(true);
69
 
70
+ // Make a quick access of the props
71
+ pagelayer_make_props_ref();
72
+
73
  // Do any actions here
74
  pagelayer_trigger_action('pagelayer_setup_history');
75
 
86
  });
87
  };
88
 
89
+ // Set row-option top zero(0) of the first row
90
+ pagelayer_set_row_option_position();
91
  });
92
 
93
+ // Set row-option top zero(0) of the first row
94
+ function pagelayer_set_row_option_position(){
95
+ if(jQuery(pagelayer_editable).offset().top < 20){
96
+ jQuery(pagelayer_editable).addClass('pagelayer-row-option-zero');
97
+ }
98
+ }
99
+
100
  // The jQuery Object of the ELPD
101
  var pagelayer_elpd;
102
 
178
  pl_leftbar = pagelayer.$$('.pagelayer-leftbar-table');
179
 
180
  // On mouse down in pagelayer-topbar-holder
181
+ pagelayer.$$('.pagelayer-topbar-mover').on('mousedown', function(e){
182
  e = e || window.event;
183
  e.preventDefault();
184
 
827
  }
828
  jEle.addClass('pagelayer-col-'+cols);
829
  jEle.css({'width': ''});
 
 
830
 
831
  // Set the att
832
  pagelayer_set_atts(Ele, obj);
833
+ pagelayer_set_atts(Ele, 'col_width','');
834
+ pagelayer_sc_render(Ele)
835
  });
836
  }
837
 
859
  var new_width, nEle_new_width;
860
 
861
  // Original width
862
+ var original_width = parseFloat(window.getComputedStyle(wrap[0]).getPropertyValue('width'));
863
+ var next_ele_width = parseFloat(window.getComputedStyle(next_ele[0]).getPropertyValue('width'));
864
  var original_mouse_x = e.pageX;
865
 
866
+ var both_width = parseInt(original_width + next_ele_width);
867
+
868
  // Add the element width and next element width
869
+ both_width = ((both_width / rHolder_width) *100);
870
 
871
  if(both_width > 100){
872
  return false;
875
  jQuery('body').css({'cursor': 'ew-resize'});
876
  rHandler.css({'display': 'block'});
877
 
878
+ var mousemoved = false;
879
+
880
  var r_mousemove = function(e){
881
+ mousemoved = true;
882
+
883
  var width = original_width + (e.pageX - original_mouse_x);
884
 
885
  // Covert width in percentage
898
  var r_mouseup = function(e){
899
 
900
  jQuery(document).off('mousemove', r_mousemove);
901
+ jQuery(document).off('mouseup', r_mouseup);
902
  jQuery('body').css({'cursor': ''});
903
  rHandler.removeAttr('style pre-width next-width');
904
 
905
+ // IF mouseMoved
906
+ if(!mousemoved) return;
907
+
908
  // find real element and next real element
909
  var jEle = wrap.find('>.pagelayer-ele');
910
  var nEle = next_ele.find('>.pagelayer-ele');
911
+ var mode = pagelayer_get_screen_mode();
912
+ var col_width = 'col_width';
913
+
914
+ // Do we have screen ?
915
+ if(mode != 'desktop'){
916
+ col_width = col_width +'_'+mode;
917
+ }
918
+
919
  // Set the element attrs
920
+ pagelayer_set_atts(jEle, col_width, new_width);
921
+ pagelayer_set_atts(jEle, 'col', '');
922
+ pagelayer_set_atts(nEle, col_width, nEle_new_width);
923
+ pagelayer_set_atts(nEle, 'col', '');
924
 
925
  };
926
 
1000
  'pl_id' : id,
1001
  'html' : jQuery("[pagelayer-id="+id+"]"),
1002
  'cEle' : cEle
1003
+ });
1004
 
1005
  // Set pagelayer history TRUE
1006
  pagelayer.history_action = true;
1195
  break;
1196
  }
1197
  }
1198
+
 
 
 
 
 
1199
 
1200
  wrap.addClass('pagelayer-col '+col);
1201
  //jEle.removeClass('pagelayer-col '+col);
1436
  }
1437
 
1438
  // Handle key press events
1439
+ jQuery(window.parent.document).add(document).keydown(function(event){
1440
  //alert(String.fromCharCode(event.which));
1441
 
1442
  var tEle = jQuery(event.target);
1627
 
1628
  pagelayer_empty_col(par);
1629
 
1630
+ if( (pagelayer_active.el && pagelayer_active.el.id == id) ||
1631
+ (pagelayer_active.el && pagelayer_active.el.id && jQuery('[pagelayer-id="'+pagelayer_active.el.id+'"]').length < 1)){
1632
  pagelayer.$$('.pagelayer-elpd-close').click();
1633
  }
1634
 
1778
  return props;
1779
  }
1780
 
1781
+ // Get all props based on the tag but in a single structure
1782
+ function pagelayer_make_props_ref(){
1783
+
1784
+ // Loop through pagelayer_shortcodes
1785
+ for(var tag in pagelayer_shortcodes){
1786
+
1787
+ var all_props = pagelayer_shortcodes[tag];
1788
+ pagelayer.props_ref[tag] = {};
1789
+
1790
+ // Loop through all props
1791
+ for(var i in pagelayer_tabs){
1792
+
1793
+ var tab = pagelayer_tabs[i];
1794
+
1795
+ for(var section in all_props[tab]){
1796
+
1797
+ var props = section in pagelayer_shortcodes[tag] ? pagelayer_shortcodes[tag][section] : pagelayer_styles[section];
1798
+
1799
+ // In case of widgets its possible !
1800
+ if(pagelayer_empty(props)){
1801
+ continue;
1802
+ }
1803
+
1804
+ for(var x in props){
1805
+
1806
+ // Create an easy REFERENCE for access
1807
+ pagelayer.props_ref[tag][x] = props[x];
1808
+
1809
+ // Screen option REFERENCE is also needed for lookup
1810
+ if('screen' in props[x]){
1811
+ pagelayer.props_ref[tag][x+'_tablet'] = props[x];
1812
+ pagelayer.props_ref[tag][x+'_mobile'] = props[x];
1813
+ }
1814
+
1815
+ }
1816
+ }
1817
+
1818
+ }
1819
+
1820
+ }
1821
+
1822
+ }
1823
+
1824
  // Set the given jELE as active
1825
  function pagelayer_set_active(jEle){
1826
 
2397
 
2398
  // Is this a tablet
2399
  if(m == 'tablet'){
2400
+ tmp.sel = '@media (max-width: '+ pagelayer_settings['tablet_breakpoint'] +'px) and (min-width: '+ (pagelayer_settings['mobile_breakpoint'] +1) +'px){'+tmp.sel;
2401
  tmp.val = tmp.val+'}';
2402
  }
2403
 
2404
  // Is this a mobile mode ?
2405
  if(m == 'mobile'){
2406
+ tmp.sel = '@media (max-width: '+ pagelayer_settings['mobile_breakpoint'] +'px){'+tmp.sel;
2407
  tmp.val = tmp.val+'}';
2408
  }
2409
 
2647
  pagelayer_sc_render(pagelayer_ele_by_id(par));
2648
  }
2649
 
2650
+ // Render End trigger
2651
+ pagelayer_trigger_action('pagelayer_sc_render_end', [el]);
2652
+
2653
  };
2654
 
2655
  // Is the given tag a group
2664
  }
2665
 
2666
  // Do action / event
2667
+ function pagelayer_trigger_action(act, param = []){
2668
+ jQuery(document).trigger(act, param);
2669
  }
2670
 
2671
  // Perform a function on an action / event
2936
  for(var x in pagelayer_groups){
2937
 
2938
  // Title
2939
+ html += '<div class="pagelayer-leftbar-group pagelayer-group-name-'+x+'"><h5>'+x+'</h5>';
2940
 
2941
  // Indivdual icon
2942
  for(var y in pagelayer_groups[x]){
3042
  };
3043
 
3044
  // Post setting holder
3045
+ function pagelayer_post_settings(pl_tag, to_click){
3046
+
3047
+ to_click = to_click == -1 ? false : true;
3048
 
3049
  // Is there a post settings ?
3050
  var jEle = jQuery(pagelayer_editable+' [pagelayer-tag='+ pl_tag +']');
3057
  pagelayer_element_setup('[pagelayer-id='+id+']', true);
3058
  }
3059
 
3060
+ if(to_click){
3061
+ jEle.click();
3062
+ }
3063
 
3064
+ return jEle;
3065
  }
3066
 
3067
  // Get the closest element and method
3103
  // Push the action data in the pagelayer_history_obj object
3104
  function pagelayer_history_action_push(args){
3105
 
3106
+ var currentTime = new Date();
3107
  var history_obj_len = pagelayer_history_obj['action_data'].length;
3108
 
3109
  // If the history_obj_len is less then 1 then set the data in array 0 position
3125
  pagelayer_history_obj['action_data'].splice(action_id + 1, del_ele);
3126
 
3127
  // Check if the same attr set as current active history
3128
+ if(args.action == "Edited" && history_obj_len > 1 && currentTime - pagelayer.history_lastTime < 1000){
3129
  var atts = pagelayer_history_obj['action_data'][action_id] || '';
3130
+ if(atts['atts'] == args['atts'] && atts['pl_id'] == args['pl_id'] && pagelayer_empty(atts['sub_actions_group']) ){
3131
  args['oldVal'] = atts['oldVal'];
3132
  pagelayer_history_obj['action_data'][action_id] = args;
3133
  pagelayer_history_setup();
3134
+
3135
+ // Set the last history time
3136
+ pagelayer.history_lastTime = currentTime;
3137
  return true;
3138
  }
3139
  }
3140
+
3141
+ // If the action time within 200 millisecond then it count as sub-actions
3142
+ if(currentTime - pagelayer.history_lastTime < 200 && history_obj_len > 1){
3143
+
3144
+ var sub_actions_len = pagelayer_history_obj['action_data'][action_id]['sub_actions_group'] || '';
3145
+
3146
+ // If the sub_actions_len is less then 1 then set the data in array 0 position
3147
+ if(sub_actions_len.length < 1){
3148
+ pagelayer_history_obj['action_data'][action_id]['sub_actions_group'] = [args];
3149
+ }else{
3150
+ pagelayer_history_obj['action_data'][action_id]['sub_actions_group'].push(args);
3151
+ }
3152
+
3153
+ return true;
3154
+ }
3155
+
3156
  pagelayer_history_obj['action_data'].push(args);
3157
  pagelayer_history_obj['current_active_item_id'] = pagelayer_history_obj['action_data'].length - 1;
3158
  pagelayer_history_setup();
3159
 
3160
+ // Set the last history time
3161
+ pagelayer.history_lastTime = currentTime;
3162
  }
3163
 
3164
  // Setup pagelayer history
3471
  pagelayer_empty_col(pCol);
3472
  pagelayer_empty_col(pagelayer_wrap_by_id(id).closest('.pagelayer-col-holder'));
3473
  }
3474
+ };
3475
 
3476
+ // Undo actions
3477
+ var pagelayer_undo_action = function(history_array){
3478
+ var action = history_array.action;
3479
+ var id = history_array.pl_id;
3480
+
3481
+ if(action == "Edited"){
3482
+ hEle = jQuery('[pagelayer-id="'+id+'"]');
3483
+ reset_ele_attr(hEle, history_array.atts, history_array.oldVal, history_array.attrType);
3484
+ }else if(action == "Added"){
3485
+ delete_ele(id);
3486
+ }else if(action == "Deleted"){
3487
+ resetup_ele(history_array);
3488
+ }else if(action == "Copied"){
3489
+ delete_ele(id);
3490
+ }else if(action == "Moved"){
3491
+ pagelayer_move_ele(id, history_array.before_loc);
3492
+ }
3493
+ };
3494
+
3495
+ // Redo actions
3496
+ var pagelayer_redo_action = function(history_array){
3497
+ var action = history_array.action;
3498
+ var id = history_array.pl_id;
3499
 
3500
+ if(action == "Edited"){
3501
+ hEle = jQuery('[pagelayer-id="'+id+'"]');
3502
+ reset_ele_attr(hEle, history_array.atts, history_array.newVal, history_array.attrType);
3503
+ }else if(action == "Added"){
3504
+ resetup_ele(history_array);
3505
+
3506
+ if(history_array.tag != "pl_row" && history_array.tag != "pl_col" ){
3507
+ // Ensure the column is not empty
3508
+ pagelayer_empty_col(history_array.cEle.cEle);
3509
+ }
3510
+ }else if(action == "Deleted"){
3511
+ delete_ele(id);
3512
+ }else if(action == "Copied"){
3513
+ resetup_ele(history_array);
3514
+ }else if(action == "Moved"){
3515
+ pagelayer_move_ele(id, history_array.after_loc);
3516
+ }
3517
+ };
3518
+
3519
+ if(prev_item_id > current_item_id){
3520
+
3521
  // All Actions for undo here
3522
  var i = parseInt(prev_item_id);
3523
 
3524
  for(i; i > current_item_id; i--){
3525
 
3526
  var history_array = pagelayer_history_obj['action_data'][i];
3527
+ var sub_actions_group = history_array['sub_actions_group'] || '';
3528
+
3529
+ // If it has sub-actions
3530
+ if(!pagelayer_empty(sub_actions_group)){
3531
+ var j = sub_actions_group.length;
3532
+ for(j--; j >= 0; j--){
3533
+ pagelayer_undo_action(sub_actions_group[j]);
3534
+ }
 
 
 
 
 
 
3535
  }
3536
 
3537
+ // Main action
3538
+ pagelayer_undo_action(history_array);
3539
+
3540
+ // Activate the current element and scroll it into viewport
3541
+ var jEle = jQuery('[pagelayer-id="'+history_array.pl_id+'"]');
3542
+ if(jEle.length > 0){
3543
+ pagelayer_set_active(jEle);
3544
+ pagelayer_scroll_to_viewport(jEle, 0);
3545
+ }
3546
  }
3547
 
3548
  }else{
3549
+
3550
  // All Actions for redo here
3551
  var i = parseInt(prev_item_id)+1;
3552
 
3553
  for(i; i <= current_item_id; i++){
3554
 
3555
  var history_array = pagelayer_history_obj['action_data'][i];
3556
+ var sub_actions_group = history_array['sub_actions_group'] || '';
3557
+ // Main action
3558
+ pagelayer_redo_action(history_array);
3559
+
3560
+ // If it has sub-actions
3561
+ if(!pagelayer_empty(sub_actions_group)){
3562
+ for(var x in sub_actions_group){
3563
+ pagelayer_redo_action(sub_actions_group[x]);
 
 
 
 
3564
  }
 
 
 
 
 
 
3565
  }
3566
 
3567
+ // Activate the current element and scroll it into viewport
3568
+ var jEle = jQuery('[pagelayer-id="'+history_array.pl_id+'"]');
3569
+ if(jEle.length > 0){
3570
+ pagelayer_set_active(jEle);
3571
+ pagelayer_scroll_to_viewport(jEle, 0);
3572
+ }
3573
  }
3574
  }
3575
 
3595
  '</div>'+
3596
  '</div>'+
3597
  '<i class="pagelayer-mode-button pli pli-desktop"></i>'+
3598
+ '<span data-tlite="'+pagelayer_l('Preview Changes')+'"><i class="pagelayer-preview pli pli-eye"></i></span>'+
3599
+ '<span data-tlite="'+pagelayer_l('History and Revisions')+'"><i class="pagelayer-history-icon pli pli-history"></i></span>'+
3600
+ '<span data-tlite="'+pagelayer_l('Navigator')+'"><i class="pagelayer-navigator-icon pli pli-tree"></i></span>'+
3601
  //'<span data-tlite="Close and Return to Admin Panel"><i class="pagelayer-close-button fa fa-close"></i></span>'+
3602
  '</div>'+
3603
  '</div>';
js/pagelayer-frontend.js CHANGED
@@ -113,6 +113,24 @@ function pagelayer_isVisible(ele) {
113
 
114
  return false;
115
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
116
 
117
  // Row background video and parallax
118
  function pagelayer_pl_row_video(jEle){
113
 
114
  return false;
115
  }
116
+
117
+ // Get media mode
118
+ function pagelayer_get_media_mode(){
119
+
120
+ if(window.matchMedia("(min-width: "+ (pagelayer_settings['tablet_breakpoint'] + 1) +"px)").matches){
121
+ return 'desktop';
122
+ }
123
+
124
+ if(window.matchMedia("(max-width: "+ pagelayer_settings['tablet_breakpoint'] +"px) and (min-width: "+ (pagelayer_settings['mobile_breakpoint'] + 1) +"px)").matches){
125
+ return 'tablet';
126
+ }
127
+
128
+ if(window.matchMedia("(max-width: "+ pagelayer_settings['mobile_breakpoint'] +"px)").matches){
129
+ return 'mobile';
130
+ }
131
+
132
+ return 'desktop';
133
+ }
134
 
135
  // Row background video and parallax
136
  function pagelayer_pl_row_video(jEle){
js/properties.js CHANGED
@@ -696,6 +696,8 @@ function pagelayer_elpd_widget_settings(el, sec, onfocus){
696
  function _pagelayer_set_atts(row, val, no_default){
697
  var id = row.closest('[pagelayer-element-id]').attr('pagelayer-element-id');
698
  var jEle = jQuery('[pagelayer-id='+id+']');
 
 
699
 
700
  // Is there a unit ?
701
  var uEle = row.find('.pagelayer-elp-units');
@@ -717,7 +719,7 @@ function _pagelayer_set_atts(row, val, no_default){
717
  var mEle = row.find('.pagelayer-elp-screen');
718
  var mode = mEle.length > 0 && pagelayer_get_screen_mode() != 'desktop' ? '_'+pagelayer_get_screen_mode() : '';
719
 
720
- pagelayer_set_atts(jEle, row.attr('pagelayer-elp-name')+mode, val);
721
 
722
  // Are we to skip setting defaults ?
723
  no_default = no_default || false;
@@ -737,6 +739,13 @@ function _pagelayer_set_atts(row, val, no_default){
737
 
738
  // Render
739
  pagelayer_sc_render(jEle);
 
 
 
 
 
 
 
740
  };
741
 
742
  // Will set the attribute but not render
@@ -1849,6 +1858,7 @@ function pagelayer_elp_icon(row, prop){
1849
  '</span>'+
1850
  '</div>'+
1851
  '<span class="pagelayer-elp-icon-open">▼</span>'+
 
1852
  '</div>';
1853
 
1854
  row.append(div);
@@ -1983,10 +1993,23 @@ function pagelayer_elp_icon(row, prop){
1983
 
1984
  _pagelayer_set_atts(row, i);// Save and Render
1985
 
 
1986
  return false;
1987
 
1988
  });
1989
 
 
 
 
 
 
 
 
 
 
 
 
 
1990
  }
1991
 
1992
  // The Color Property
696
  function _pagelayer_set_atts(row, val, no_default){
697
  var id = row.closest('[pagelayer-element-id]').attr('pagelayer-element-id');
698
  var jEle = jQuery('[pagelayer-id='+id+']');
699
+ var tag = pagelayer_tag(jEle);
700
+ var prop_name = row.attr('pagelayer-elp-name');
701
 
702
  // Is there a unit ?
703
  var uEle = row.find('.pagelayer-elp-units');
719
  var mEle = row.find('.pagelayer-elp-screen');
720
  var mode = mEle.length > 0 && pagelayer_get_screen_mode() != 'desktop' ? '_'+pagelayer_get_screen_mode() : '';
721
 
722
+ pagelayer_set_atts(jEle, prop_name+mode, val);
723
 
724
  // Are we to skip setting defaults ?
725
  no_default = no_default || false;
739
 
740
  // Render
741
  pagelayer_sc_render(jEle);
742
+
743
+ if('onchange' in pagelayer.props_ref[tag][prop_name]){
744
+ var fn = window[pagelayer.props_ref[tag][prop_name]['onchange']];
745
+ if(typeof fn === 'function'){
746
+ fn(jEle, row, val);
747
+ }
748
+ }
749
  };
750
 
751
  // Will set the attribute but not render
1858
  '</span>'+
1859
  '</div>'+
1860
  '<span class="pagelayer-elp-icon-open">▼</span>'+
1861
+ '<span class="pagelayer-elp-icon-close" '+(pagelayer_empty(sel_name)? 'style="display:none"': '')+'><b>&times;&nbsp;</b></span>'+
1862
  '</div>';
1863
 
1864
  row.append(div);
1993
 
1994
  _pagelayer_set_atts(row, i);// Save and Render
1995
 
1996
+ row.find('.pagelayer-elp-icon-close').show();
1997
  return false;
1998
 
1999
  });
2000
 
2001
+ // Delete the icon
2002
+ row.find('.pagelayer-elp-icon-close').on('click', function(){
2003
+
2004
+ // Set the icon in this list
2005
+ row.find('.pagelayer-elp-icon-preview').html('<i class=""></i><span class="pagelayer-elp-icon-name">'+pagelayer_l('choose_icon')+'</span>');
2006
+
2007
+ // Save and Render
2008
+ _pagelayer_set_atts(row, '');
2009
+ jQuery(this).hide();
2010
+ return false;
2011
+ });
2012
+
2013
  }
2014
 
2015
  // The Color Property
js/widgets.js CHANGED
@@ -16,7 +16,7 @@ jQuery(window).resize(function(){
16
  // Set a timeout to prevent bubbling
17
  setTimeout(function(){
18
 
19
- jQuery('.pagelayer-row-stretch-full').each(function(){
20
  var par = jQuery(this).parent();
21
  pagelayer_pl_row_parent_full(par);
22
  });
@@ -68,7 +68,7 @@ function pagelayer_render_pl_col(el){
68
  }
69
 
70
  if(el.atts['col_width']){
71
- par.css('width', el.atts['col_width']+'%');
72
  }
73
 
74
  pagelayer_bg_video(el);
@@ -315,6 +315,25 @@ function pagelayer_social(jEle,sel){
315
 
316
  }
317
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
318
  // Render the social icon
319
  function pagelayer_render_end_pl_social(el){
320
  pagelayer_social(el.$, '.pagelayer-icon-holder');
16
  // Set a timeout to prevent bubbling
17
  setTimeout(function(){
18
 
19
+ jQuery(pagelayer_editable+' .pagelayer-row-stretch-full').each(function(){
20
  var par = jQuery(this).parent();
21
  pagelayer_pl_row_parent_full(par);
22
  });
68
  }
69
 
70
  if(el.atts['col_width']){
71
+ par.css('width', '');
72
  }
73
 
74
  pagelayer_bg_video(el);
315
 
316
  }
317
 
318
+ function pagelayer_social_icon_onchange(jEle, row, val){
319
+
320
+ var url = '';
321
+
322
+ // Lets get the value of the nearest social icon
323
+ for(var k in pagelayer_social_urls){
324
+ var patt = new RegExp(k, 'i');
325
+ if(patt.test(val)){
326
+ url = pagelayer_social_urls[k];
327
+ }
328
+ }
329
+
330
+ if(url.length > 0){
331
+ var social_url_row = row.parent().find('[pagelayer-elp-name="social_url"]');
332
+ //console.log(social_url_row);
333
+ social_url_row.find('.pagelayer-elp-link').val(url).trigger('change');
334
+ }
335
+ }
336
+
337
  // Render the social icon
338
  function pagelayer_render_end_pl_social(el){
339
  pagelayer_social(el.$, '.pagelayer-icon-holder');
languages/en.json CHANGED
@@ -1638,10 +1638,16 @@
1638
  "auto_close" : "Automatically Close After(sec)",
1639
  "enable" : "Enable",
1640
  "sticky" : "Sticky",
 
1641
  "sticky_on" : "Sticky On",
1642
  "sticky_in_col" : "Sticky In Column",
1643
  "btn_border_style" : "Button Border Styles",
1644
  "insert" : "Insert",
1645
  "frame_multi_image" : "Image Gallery",
1646
- "frame_media" : "Insert Media"
 
 
 
 
 
1647
  }
1638
  "auto_close" : "Automatically Close After(sec)",
1639
  "enable" : "Enable",
1640
  "sticky" : "Sticky",
1641
+ "scroll_sticky" : "Scrolling Sticky",
1642
  "sticky_on" : "Sticky On",
1643
  "sticky_in_col" : "Sticky In Column",
1644
  "btn_border_style" : "Button Border Styles",
1645
  "insert" : "Insert",
1646
  "frame_multi_image" : "Image Gallery",
1647
+ "choose_icon" : "Choose Icon",
1648
+ "frame_media" : "Insert Media",
1649
+ "phone" : "Phone",
1650
+ "address" : "Address",
1651
+ "copyright" : "Copyright",
1652
+ "email" : "Email"
1653
  }
main/ajax.php CHANGED
@@ -1277,7 +1277,8 @@ function pagelayer_export_template(){
1277
  }
1278
  }
1279
 
1280
- file_put_contents($theme_dir.'/'.$v->post_name.'.pgl', pagelayer_export_content($v->post_content));
 
1281
  $conf[$v->post_name] = [
1282
  'type' => get_post_meta($v->ID, 'pagelayer_template_type', true),
1283
  'title' => $v->post_title,
@@ -1311,6 +1312,8 @@ function pagelayer_export_template(){
1311
  unset($v->post_content);
1312
  $conf['page'][$v->post_name] = $v;
1313
 
 
 
1314
  }
1315
 
1316
  if(get_option('pagelayer_body_font')){
1277
  }
1278
  }
1279
 
1280
+ // Write the content
1281
+ file_put_contents($theme_dir.'/'.$v->post_name.'.pgl', pagelayer_export_content($v->post_content));
1282
  $conf[$v->post_name] = [
1283
  'type' => get_post_meta($v->ID, 'pagelayer_template_type', true),
1284
  'title' => $v->post_title,
1312
  unset($v->post_content);
1313
  $conf['page'][$v->post_name] = $v;
1314
 
1315
+ do_action('pagelayer_page_exported', $v, $theme_dir);
1316
+
1317
  }
1318
 
1319
  if(get_option('pagelayer_body_font')){
main/functions.php CHANGED
@@ -701,7 +701,8 @@ function pagelayer_attachment($id){
701
  function pagelayer_video_url($source){
702
 
703
  if (!empty($source)) {
704
- $source = filter_var($source, FILTER_SANITIZE_URL);
 
705
  $source = str_replace('&amp;', '&', $source);
706
  $url = parse_url($source);
707
  $videoSite ='';
@@ -1567,6 +1568,7 @@ function pagelayer_insert_content($post, &$ret){
1567
 
1568
  // Replace Vars
1569
  $template_vars = pagelayer_template_vars();
 
1570
  foreach($template_vars as $key => $val){
1571
  $post['post_content'] = str_replace($key, $val, $post['post_content']);
1572
  }
@@ -1741,3 +1743,37 @@ function pagelayer_hex2rgba($color){
1741
  //Return rgb(a) color string
1742
  return $output;
1743
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
701
  function pagelayer_video_url($source){
702
 
703
  if (!empty($source)) {
704
+
705
+ $source = esc_url( $source );
706
  $source = str_replace('&amp;', '&', $source);
707
  $url = parse_url($source);
708
  $videoSite ='';
1568
 
1569
  // Replace Vars
1570
  $template_vars = pagelayer_template_vars();
1571
+
1572
  foreach($template_vars as $key => $val){
1573
  $post['post_content'] = str_replace($key, $val, $post['post_content']);
1574
  }
1743
  //Return rgb(a) color string
1744
  return $output;
1745
  }
1746
+
1747
+ // Get social URLs
1748
+ function pagelayer_get_social_urls(){
1749
+
1750
+ $urls = array();
1751
+
1752
+ $urls['facebook'] = get_option('pagelayer-facebook-url');
1753
+ $urls['twitter'] = get_option('pagelayer-twitter-url');
1754
+ $urls['instagram'] = get_option('pagelayer-instagram-url');
1755
+ $urls['linkedin'] = get_option('pagelayer-linkedin-url');
1756
+ $urls['youtube'] = get_option('pagelayer-youtube-url');
1757
+ $urls['google'] = get_option('pagelayer-gplus-url');
1758
+
1759
+ foreach($urls as $k => $v){
1760
+ if(empty($v)) unset($urls[$k]);
1761
+ }
1762
+
1763
+ return $urls;
1764
+ }
1765
+
1766
+ function pagelayer_get_option($opt){
1767
+ $ret = get_option($opt);
1768
+
1769
+ $opts = array('pagelayer-address' => '1, My Address, My Street, New York City, NY, USA',
1770
+ 'pagelayer-phone' => '+1234567890',
1771
+ 'pagelayer-copyright' => '© '.date('Y').' '.get_option('blogname'),
1772
+ 'pagelayer_cf_to_email' => 'contact@domain.com');
1773
+
1774
+ if(empty($ret)){
1775
+ return $opts[$opt];
1776
+ }
1777
+
1778
+ return $ret;
1779
+ }
main/live-body.php CHANGED
@@ -63,11 +63,11 @@ echo '
63
  <td class="pagelayer-topbar-holder" valign="middle" align="center">
64
  <div class="pagelayer-elpd-header" style="display:none">
65
  <div class="pagelayer-elpd-close"><i class="pli pli-cross" aria-hidden="true"></i></div>
66
- <div class="pagelayer-elpd-title">Edit</div>
67
  </div>
68
  <div class="pagelayer-logo">
69
  <span class="pagelayer-options-icon pli pli-menu" style="display:none"></span>
70
- <img src="'.PAGELAYER_LOGO.'" width="32" /><span class="pagelayer-logo-text">'.PAGELAYER_BRAND_TEXT.'</span>
71
  <span class="pagelayer-settings-icon pli pli-service" aria-hidden="true"></span>
72
  </div>
73
  </td>
63
  <td class="pagelayer-topbar-holder" valign="middle" align="center">
64
  <div class="pagelayer-elpd-header" style="display:none">
65
  <div class="pagelayer-elpd-close"><i class="pli pli-cross" aria-hidden="true"></i></div>
66
+ <div class="pagelayer-elpd-title pagelayer-topbar-mover">Edit</div>
67
  </div>
68
  <div class="pagelayer-logo">
69
  <span class="pagelayer-options-icon pli pli-menu" style="display:none"></span>
70
+ <img src="'.PAGELAYER_LOGO.'" width="32" /><span class="pagelayer-logo-text pagelayer-topbar-mover">'.PAGELAYER_BRAND_TEXT.'</span>
71
  <span class="pagelayer-settings-icon pli pli-service" aria-hidden="true"></span>
72
  </div>
73
  </td>
main/live.php CHANGED
@@ -128,9 +128,12 @@ pagelayer_editable = ".'.(!empty($pagelayer->template_editor) ? $pagelayer->temp
128
  pagelayer_wp_query = '. json_encode($wp_query->query_vars) .';
129
  pagelayer_post = '. @json_encode($_post) .';
130
  pagelayer_loaded_icons = '.json_encode(pagelayer_enabled_icons()).';
 
131
  pagelayer_shortcodes.pl_post_props.params.post_title.default = "'.pagelayer_escapeHTML($post->post_title).'";
132
  pagelayer_shortcodes.pl_post_props.params.post_name.default = "'.pagelayer_escapeHTML($post->post_name).'";
 
133
  </script>';
 
134
 
135
  do_action('pagelayer_editor_wp_head');
136
 
128
  pagelayer_wp_query = '. json_encode($wp_query->query_vars) .';
129
  pagelayer_post = '. @json_encode($_post) .';
130
  pagelayer_loaded_icons = '.json_encode(pagelayer_enabled_icons()).';
131
+ pagelayer_social_urls = '.json_encode(pagelayer_get_social_urls()).';
132
  pagelayer_shortcodes.pl_post_props.params.post_title.default = "'.pagelayer_escapeHTML($post->post_title).'";
133
  pagelayer_shortcodes.pl_post_props.params.post_name.default = "'.pagelayer_escapeHTML($post->post_name).'";
134
+ pagelayer_shortcodes.pl_post_props.params.post_status.default = "'.$_post->post_status.'";
135
  </script>';
136
+
137
 
138
  do_action('pagelayer_editor_wp_head');
139
 
main/settings.php CHANGED
@@ -30,15 +30,17 @@ function pagelayer_page_header($title = 'Pagelayer Editor'){
30
  wp_enqueue_script( 'pagelayer-admin', PAGELAYER_JS.'/pagelayer-admin.js', array('jquery'), PAGELAYER_VERSION);
31
  wp_enqueue_style( 'pagelayer-admin', PAGELAYER_CSS.'/pagelayer-admin.css', array(), PAGELAYER_VERSION);
32
 
 
 
33
  echo '<div style="margin: 10px 20px 0 2px;">
34
  <div class="metabox-holder columns-2">
35
  <div class="postbox-container">
36
- <div id="top-sortables" class="meta-box-sortables ui-sortable">
37
-
38
  <table cellpadding="2" cellspacing="1" width="100%" class="fixed" border="0">
39
  <tr>
40
  <td valign="top"><h1>'.$title.'</h1></td>
41
- <td align="right"><a target="_blank" class="button button-primary" href="https://wordpress.org/support/view/plugin-reviews/pagelayer">Review Pagelayer</a></td>
42
  <td align="right" width="40"><a target="_blank" href="https://twitter.com/pagelayer"><img src="'.PAGELAYER_URL.'/images/twitter.png" /></a></td>
43
  <td align="right" width="40"><a target="_blank" href="https://www.facebook.com/pagelayer/"><img src="'.PAGELAYER_URL.'/images/facebook.png" /></a></td>
44
  </tr>
@@ -136,7 +138,7 @@ function pagelayer_page_footer(){
136
  </script>
137
 
138
  <hr />
139
- <a href="'.PAGELAYER_WWW_URL.'" target="_blank">Pagelayer</a> v'.PAGELAYER_VERSION.'. You can report any bugs <a href="http://wordpress.org/support/plugin/pagelayer" target="_blank">here</a>.
140
 
141
  </div>
142
  </div>
@@ -224,6 +226,45 @@ function pagelayer_settings_page(){
224
  }
225
  }
226
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
227
  if(isset($_REQUEST['pagelayer_between_widgets'])){
228
 
229
  $space_widgets = $_REQUEST['pagelayer_between_widgets'];
@@ -260,6 +301,15 @@ function pagelayer_settings_page(){
260
  }
261
  }
262
 
 
 
 
 
 
 
 
 
 
263
  if(defined('PAGELAYER_PREMIUM')){
264
 
265
  if(isset($_REQUEST['pagelayer_cf_to_email'])){
@@ -379,6 +429,7 @@ function pagelayer_settings_page(){
379
  <a href="#icons" class="nav-tab ">Enable Icons</a>
380
  <?php if(defined('PAGELAYER_PREMIUM')){ ?>
381
  <a href="#integration" class="nav-tab">Integrations</a>
 
382
  <a href="#contactform" class="nav-tab ">Contact Form</a>
383
  <a href="#captcha" class="nav-tab ">Google Captcha</a>
384
  <?php } ?>
@@ -432,6 +483,24 @@ function pagelayer_settings_page(){
432
  <p>Please give font name as it appears on Google fonts site. You can check all google fonts here: <a href="https://fonts.google.com" target="_blank">https://fonts.google.com</a></p>
433
  </td>
434
  <tr>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
435
  </table>
436
  </div>
437
  <div class="pagelayer-tab-panel" id="icons">
@@ -460,6 +529,65 @@ function pagelayer_settings_page(){
460
  </tr>
461
  </table>
462
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
463
  <div class="pagelayer-tab-panel" id="contactform">
464
  <table>
465
  <tr>
30
  wp_enqueue_script( 'pagelayer-admin', PAGELAYER_JS.'/pagelayer-admin.js', array('jquery'), PAGELAYER_VERSION);
31
  wp_enqueue_style( 'pagelayer-admin', PAGELAYER_CSS.'/pagelayer-admin.css', array(), PAGELAYER_VERSION);
32
 
33
+ $promos = apply_filters('pagelayer_review_link', true);
34
+
35
  echo '<div style="margin: 10px 20px 0 2px;">
36
  <div class="metabox-holder columns-2">
37
  <div class="postbox-container">
38
+ <div class="wrap">
39
+ <h1><!--This is to fix promo--></h1>
40
  <table cellpadding="2" cellspacing="1" width="100%" class="fixed" border="0">
41
  <tr>
42
  <td valign="top"><h1>'.$title.'</h1></td>
43
+ '.($promos ? '<td align="right"><a target="_blank" class="button button-primary" href="https://wordpress.org/support/view/plugin-reviews/pagelayer">Review Pagelayer</a></td>' : '').'
44
  <td align="right" width="40"><a target="_blank" href="https://twitter.com/pagelayer"><img src="'.PAGELAYER_URL.'/images/twitter.png" /></a></td>
45
  <td align="right" width="40"><a target="_blank" href="https://www.facebook.com/pagelayer/"><img src="'.PAGELAYER_URL.'/images/facebook.png" /></a></td>
46
  </tr>
138
  </script>
139
 
140
  <hr />
141
+ <a href="'.PAGELAYER_WWW_URL.'" target="_blank">Pagelayer</a> v'.PAGELAYER_VERSION.'. '.(empty($GLOBALS['sitepad']) ? 'You can report any bugs <a href="http://wordpress.org/support/plugin/pagelayer" target="_blank">here</a>.' : '').'
142
 
143
  </div>
144
  </div>
226
  }
227
  }
228
 
229
+ // Tablet breakpoint
230
+ if(isset($_REQUEST['pagelayer_tablet_breakpoint'])){
231
+
232
+ $tablet_breakpoint = $_REQUEST['pagelayer_tablet_breakpoint'];
233
+
234
+ if ( get_option( 'pagelayer_tablet_breakpoint' ) !== false ) {
235
+
236
+ // The option already exists, so we just update it.
237
+ update_option( 'pagelayer_tablet_breakpoint', $tablet_breakpoint );
238
+
239
+ } else {
240
+
241
+ // The option hasn't been added yet. We'll add it with $autoload set to 'no'.
242
+ $deprecated = null;
243
+ $autoload = 'no';
244
+ add_option( 'pagelayer_tablet_breakpoint', $tablet_breakpoint, $deprecated, $autoload );
245
+ }
246
+ }
247
+
248
+
249
+ // Mobile breakpoint
250
+ if(isset($_REQUEST['pagelayer_mobile_breakpoint'])){
251
+
252
+ $tablet_breakpoint = $_REQUEST['pagelayer_mobile_breakpoint'];
253
+
254
+ if ( get_option( 'pagelayer_mobile_breakpoint' ) !== false ) {
255
+
256
+ // The option already exists, so we just update it.
257
+ update_option( 'pagelayer_mobile_breakpoint', $tablet_breakpoint );
258
+
259
+ } else {
260
+
261
+ // The option hasn't been added yet. We'll add it with $autoload set to 'no'.
262
+ $deprecated = null;
263
+ $autoload = 'no';
264
+ add_option( 'pagelayer_mobile_breakpoint', $tablet_breakpoint, $deprecated, $autoload );
265
+ }
266
+ }
267
+
268
  if(isset($_REQUEST['pagelayer_between_widgets'])){
269
 
270
  $space_widgets = $_REQUEST['pagelayer_between_widgets'];
301
  }
302
  }
303
 
304
+ $socials = ['pagelayer-facebook-url','pagelayer-twitter-url','pagelayer-instagram-url','pagelayer-linkedin-url','pagelayer-youtube-url','pagelayer-gplus-url','pagelayer-copyright','pagelayer-phone','pagelayer-address'];
305
+
306
+ foreach( $socials as $social ){
307
+ if(isset($_REQUEST[$social])){
308
+ $url = $_REQUEST[$social];
309
+ update_option($social, $url);
310
+ }
311
+ }
312
+
313
  if(defined('PAGELAYER_PREMIUM')){
314
 
315
  if(isset($_REQUEST['pagelayer_cf_to_email'])){
429
  <a href="#icons" class="nav-tab ">Enable Icons</a>
430
  <?php if(defined('PAGELAYER_PREMIUM')){ ?>
431
  <a href="#integration" class="nav-tab">Integrations</a>
432
+ <a href="#social" class="nav-tab">Information</a>
433
  <a href="#contactform" class="nav-tab ">Contact Form</a>
434
  <a href="#captcha" class="nav-tab ">Google Captcha</a>
435
  <?php } ?>
483
  <p>Please give font name as it appears on Google fonts site. You can check all google fonts here: <a href="https://fonts.google.com" target="_blank">https://fonts.google.com</a></p>
484
  </td>
485
  <tr>
486
+ <tr>
487
+ <th>Tablet Breakpoint</th>
488
+ <td>
489
+ <input name="pagelayer_tablet_breakpoint" type="number" step="1" min="320" max="5000" placeholder="768" <?php if(get_option('pagelayer_tablet_breakpoint')){
490
+ echo 'value="'.get_option('pagelayer_tablet_breakpoint').'"';
491
+ }?>>
492
+ <p>Set the breakpoint for tablet devices. The default breakpoint for tablet layout is 768px</p>
493
+ </td>
494
+ </tr>
495
+ <tr>
496
+ <th>Mobile Breakpoint</th>
497
+ <td>
498
+ <input name="pagelayer_mobile_breakpoint" type="number" step="1" min="320" max="5000" placeholder="360" <?php if(get_option('pagelayer_mobile_breakpoint')){
499
+ echo 'value="'.get_option('pagelayer_mobile_breakpoint').'"';
500
+ }?>>
501
+ <p>Set the breakpoint for mobile devices. The default breakpoint for mobile layout is 360px</p>
502
+ </td>
503
+ </tr>
504
  </table>
505
  </div>
506
  <div class="pagelayer-tab-panel" id="icons">
529
  </tr>
530
  </table>
531
  </div>
532
+ <div class="pagelayer-tab-panel" id="social">
533
+ <div class="pagelayer-settings-info" style="display:flex;">
534
+ <div style="flex:1">
535
+ <div class="pagelayer-title">
536
+ <h2>Address and Phone Number</h2>
537
+ </div>
538
+ <table>
539
+ <tr>
540
+ <th>Address</th>
541
+ <td><textarea name="pagelayer-address"><?php echo pagelayer_get_option('pagelayer-address');?></textarea></td>
542
+ </tr>
543
+ <tr>
544
+ <th>Phone Number</th>
545
+ <td><input type="tel" name="pagelayer-phone" <?php echo 'value="'.pagelayer_get_option('pagelayer-phone').'"';?> /></td>
546
+ </tr>
547
+ </table>
548
+ <div class="pagelayer-title">
549
+ <h2>Copyright</h2>
550
+ </div>
551
+ <table>
552
+ <tr>
553
+ <th>Copyright Text</th>
554
+ <td><textarea name="pagelayer-copyright"><?php echo pagelayer_get_option('pagelayer-copyright'); ?></textarea></td>
555
+ </tr>
556
+ </table>
557
+ </div>
558
+ <div style="flex:1">
559
+ <div class="pagelayer-title">
560
+ <h2>Social Profile URLs</h2>
561
+ </div>
562
+ <table>
563
+ <tr>
564
+ <th>Facebook</th>
565
+ <td><input type="text" name="pagelayer-facebook-url" <?php echo 'value="'.get_option('pagelayer-facebook-url').'"';?>/></td>
566
+ </tr>
567
+ <tr>
568
+ <th>Twitter</th>
569
+ <td><input type="text" name="pagelayer-twitter-url" <?php echo 'value="'.get_option('pagelayer-twitter-url').'"';?>/></td>
570
+ </tr>
571
+ <tr>
572
+ <th>Instagram</th>
573
+ <td><input type="text" name="pagelayer-instagram-url" <?php echo 'value="'.get_option('pagelayer-instagram-url').'"'; ?>/></td>
574
+ </tr>
575
+ <tr>
576
+ <th>LinkedIn</th>
577
+ <td><input type="text" name="pagelayer-linkedin-url" <?php echo 'value="'.get_option('pagelayer-linkedin-url').'"'; ?>/></td>
578
+ </tr>
579
+ <tr>
580
+ <th>YouTube</th>
581
+ <td><input type="text" name="pagelayer-youtube-url" <?php echo 'value="'.get_option('pagelayer-youtube-url').'"'; ?>/></td>
582
+ </tr>
583
+ <tr>
584
+ <th>Google+</th>
585
+ <td><input type="text" name="pagelayer-gplus-url" <?php echo 'value="'.get_option('pagelayer-gplus-url').'"'; ?>/></td>
586
+ </tr>
587
+ </table>
588
+ </div>
589
+ </div>
590
+ </div>
591
  <div class="pagelayer-tab-panel" id="contactform">
592
  <table>
593
  <tr>
main/shortcode_functions.php CHANGED
@@ -262,12 +262,12 @@ function pagelayer_render_shortcode($atts, $content = '', $tag = ''){
262
  $ender = '';
263
 
264
  if($mk == 'tablet'){
265
- $selector = '@media (max-width: 768px) and (min-width: 361px){'.$selector;
266
  $ender = '}';
267
  }
268
 
269
  if($mk == 'mobile'){
270
- $selector = '@media (max-width: 360px){'.$selector;
271
  $ender = '}';
272
  }
273
 
@@ -694,7 +694,7 @@ function pagelayer_bg_video(&$el){
694
  // Get the video URL for the iframe
695
  $iframe_src = pagelayer_video_url($el['tmp']['bg_video_src-url']);
696
 
697
- $source = filter_var($el['tmp']['bg_video_src-url'], FILTER_SANITIZE_URL);
698
  $source = str_replace('&amp;', '&', $source);
699
  $url = parse_url($source);
700
 
@@ -997,7 +997,10 @@ function pagelayer_sc_video(&$el){
997
 
998
  // Shortcodes Handler
999
  function pagelayer_sc_shortcodes(&$el){
1000
- $el['tmp']['shortcode'] = do_shortcode($el['atts']['data']);
 
 
 
1001
  }
1002
 
1003
  // Shortcodes Handler
262
  $ender = '';
263
 
264
  if($mk == 'tablet'){
265
+ $selector = '@media (max-width: '.$pagelayer->settings['tablet_breakpoint'].'px) and (min-width: '.($pagelayer->settings['mobile_breakpoint'] + 1).'px){'.$selector;
266
  $ender = '}';
267
  }
268
 
269
  if($mk == 'mobile'){
270
+ $selector = '@media (max-width: '.$pagelayer->settings['mobile_breakpoint'].'px){'.$selector;
271
  $ender = '}';
272
  }
273
 
694
  // Get the video URL for the iframe
695
  $iframe_src = pagelayer_video_url($el['tmp']['bg_video_src-url']);
696
 
697
+ $source = esc_url( $el['tmp']['bg_video_src-url'] );
698
  $source = str_replace('&amp;', '&', $source);
699
  $url = parse_url($source);
700
 
997
 
998
  // Shortcodes Handler
999
  function pagelayer_sc_shortcodes(&$el){
1000
+ $is_live = pagelayer_is_live();
1001
+ if(empty($is_live)){
1002
+ $el['tmp']['shortcode'] = do_shortcode($el['atts']['data']);
1003
+ }
1004
  }
1005
 
1006
  // Shortcodes Handler
main/shortcodes.php CHANGED
@@ -404,15 +404,14 @@ $pagelayer->styles['ele_bg_styles'] = [
404
  'label' => __pl('color'),
405
  'default' => '',
406
  'desc' => __pl('fallback background color if image is failed to load.'),
407
- 'css' => 'background: {{val}};',
408
  'show' => ['ele_bg_hover' => ''],
409
  'req' => ['ele_bg_type' => 'image']
410
  ],
411
  'ele_bg_img' => [
412
  'type' => 'image',
413
  'label' => __pl('Image'),
414
- //'default' => '',
415
- 'css' => 'background: url("{{{ele_bg_img-url}}}");',
416
  'show' => ['ele_bg_hover' => ''],
417
  'req' => ['ele_bg_type' => 'image']
418
  ],
@@ -783,7 +782,7 @@ $pagelayer->styles['position_styles'] = [
783
  'label' => __pl('custom_width'),
784
  'screen' => 1,
785
  'units' => ['px','%','vw'],
786
- 'css' => ['{{wrap}}' => 'width:{{val}};'],
787
  'min' => 0,
788
  'max' => 1000,
789
  'step' => 1,
@@ -983,7 +982,46 @@ $pagelayer->styles['animation_styles'] = [
983
  'wobble-skew' => __pl('Wobble Skew'),
984
  ],
985
  'pro' => 1,
986
- )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
987
  ];
988
 
989
  // Resposive stuff
@@ -1040,6 +1078,7 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_row', array(
1040
  'group' => 'grid',
1041
  'func' => 'pagelayer_sc_row',
1042
  'skip_props_cat' => ['position_styles'],
 
1043
  'html' => '<div if="{{bg_video_src}}" class="pagelayer-background-video">{{vid_src}}</div>
1044
  <div if="{{bg_slider}}" class="pagelayer-bgimg-slider">
1045
  {{slider}}
@@ -1570,6 +1609,7 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_col', array(
1570
  'group' => 'grid',
1571
  'func' => 'pagelayer_sc_col',
1572
  'skip_props_cat' => ['position_styles'],
 
1573
  'html' => '<div if="{{bg_video_src}}" class="pagelayer-background-video">{{vid_src}}</div>
1574
  <div if="{{bg_slider}}" class="pagelayer-bgimg-slider">
1575
  {{slider}}
@@ -1627,7 +1667,8 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_col', array(
1627
  'min' => 0,
1628
  'step' => 1,
1629
  'max' => 100,
1630
- 'css' => ( !pagelayer_is_live() ? 'width: {{val}}%;' : '' ),
 
1631
  'req' => ['col' => ''],
1632
  ),
1633
  ),
@@ -2086,6 +2127,11 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_quote', array(
2086
  'default' => '#050505',
2087
  'css' => ['{{element}} .pagelayer-quote-content' => 'color:{{val}}'],
2088
  ),
 
 
 
 
 
2089
  'quote_content_typo' => array(
2090
  'type' => 'typography',
2091
  'label' => __pl('quote_content_typo'),
@@ -2214,6 +2260,18 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_quote', array(
2214
  'default' => '#3f3f3f',
2215
  'css' => ['{{element}} .pagelayer-quote-cite span' => 'color:{{val}}']
2216
  ),
 
 
 
 
 
 
 
 
 
 
 
 
2217
  'cite_typo' => array(
2218
  'type' => 'typography',
2219
  'label' => __pl('cite_typo'),
@@ -4332,10 +4390,12 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_social', array(
4332
  'default' => 'fab fa-facebook-square',
4333
  'addAttr' => ['{{element}} .pagelayer-icon-holder' => 'data-icon="{{icon}}"'],
4334
  'list' => ['facebook', 'facebook-f', 'facebook-square', 'facebook-messenger', 'twitter', 'twitter-square', 'google-plus', 'google-plus-g', 'google-plus-square', 'instagram', 'linkedin', 'linkedin-in', 'behance', 'behance-square', 'pinterest', 'pinterest-p', 'pinterest-square', 'reddit-alien', 'reddit-square', 'reddit', 'rss', 'rss-square', 'skype', 'slideshare', 'snapchat', 'snapchat-ghost', 'snapchat-square', 'soundcloud', 'spotify', 'stack-overflow', 'steam', 'steam-symbol', 'steam-square', 'stumbleupon', 'stumbleupon-circle', 'telegram', 'telegram-plane', 'thumbtack', 'tripadvisor', 'tumblr', 'tumblr-square', 'twitch', 'vimeo-v', 'vimeo', 'vimeo-square', 'vk', 'weibo', 'weixin', 'whatsapp', 'whatsapp-square', 'wordpress', 'wordpress-simple', 'xing', 'xing-square', 'yelp', 'youtube', 'youtube-square', '500px', 'flickr', 'android', 'github', 'github-alt', 'github-square', 'gitlab', 'apple', 'jsfiddle', 'houzz', 'bitbucket', 'codepen', 'delicious', 'medium', 'medium-m', 'meetup', 'mixcloud', 'dribbble', 'dribbble-square', 'foursquare'],
 
4335
  ),
4336
  'social_url' => array(
4337
  'type' => 'link',
4338
- 'label' => __pl('social_url_label')
 
4339
  )
4340
  )
4341
  )
@@ -6526,6 +6586,13 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_accordion', array(
6526
  'screen' => 1,
6527
  'css' => ['{{element}} .pagelayer-accordion-panel' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
6528
  ),
 
 
 
 
 
 
 
6529
  'acc_border_type' => array(
6530
  'type' => 'select',
6531
  'label' => __pl('border_type'),
@@ -6557,6 +6624,12 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_accordion', array(
6557
  '!acc_border_type' => ''
6558
  ],
6559
  'css' => ['{{element}} .pagelayer-accordion_item' => 'border-top-width: {{val[0]}}px; border-right-width: {{val[1]}}px; border-bottom-width: {{val[2]}}px; border-left-width: {{val[3]}}px', '{{element}} .pagelayer-accordion_item .pagelayer-accordion-panel' => 'border-width: {{val[0]}}px 0 0 0'],
 
 
 
 
 
 
6560
  )
6561
  ],
6562
  'styles' => [
@@ -7611,6 +7684,208 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_counter', array(
7611
  )
7612
  );
7613
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7614
  // Body Settings
7615
  pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_post_props', array(
7616
  'name' => __pl('Body and Post Props'),
404
  'label' => __pl('color'),
405
  'default' => '',
406
  'desc' => __pl('fallback background color if image is failed to load.'),
407
+ 'css' => 'background-color: {{val}};',
408
  'show' => ['ele_bg_hover' => ''],
409
  'req' => ['ele_bg_type' => 'image']
410
  ],
411
  'ele_bg_img' => [
412
  'type' => 'image',
413
  'label' => __pl('Image'),
414
+ 'css' => 'background-image: url("{{{ele_bg_img-url}}}");',
 
415
  'show' => ['ele_bg_hover' => ''],
416
  'req' => ['ele_bg_type' => 'image']
417
  ],
782
  'label' => __pl('custom_width'),
783
  'screen' => 1,
784
  'units' => ['px','%','vw'],
785
+ 'css' => ['{{wrap}}' => 'width:{{val}} !important;'],
786
  'min' => 0,
787
  'max' => 1000,
788
  'step' => 1,
982
  'wobble-skew' => __pl('Wobble Skew'),
983
  ],
984
  'pro' => 1,
985
+ ),
986
+ 'ele_sticky_pos' => array(
987
+ 'type' => 'select',
988
+ 'label' => __pl('scroll_sticky'),
989
+ 'addClass' => 'pagelayer-sticky-ele',
990
+ 'addAttr' => 'data-sticky-position="{{ele_sticky_pos}}"',
991
+ 'list' => array(
992
+ '' => __pl('none'),
993
+ 'top' => __pl('top'),
994
+ 'bottom' => __pl('bottom'),
995
+ ),
996
+ 'pro' => 1,
997
+ ),
998
+ 'ele_sticky_on' => array(
999
+ 'type' => 'multiselect',
1000
+ 'label' => __pl('sticky_on'),
1001
+ 'default' => 'desktop,tablet,mobile',
1002
+ 'addAttr' => 'data-sticky-on="{{ele_sticky_on}}"',
1003
+ 'list' => array(
1004
+ 'desktop' => __pl('desktop'),
1005
+ 'tablet' => __pl('tablet'),
1006
+ 'mobile' => __pl('mobile'),
1007
+ ),
1008
+ 'req' => [ '!ele_sticky_pos' => ''],
1009
+ 'pro' => 1,
1010
+ ),
1011
+ 'ele_sticky_offset' => array(
1012
+ 'type' => 'slider',
1013
+ 'label' => __pl('offset'),
1014
+ 'addAttr' => 'data-sticky-offset="{{ele_sticky_offset}}"',
1015
+ 'req' => [ '!ele_sticky_pos' => ''],
1016
+ 'pro' => 1,
1017
+ ),
1018
+ 'ele_sticky_in_col' => array(
1019
+ 'type' => 'checkbox',
1020
+ 'label' => __pl('sticky_in_col'),
1021
+ 'addAttr' => 'data-sticky_in_col="{{ele_sticky_in_col}}"',
1022
+ 'req' => [ '!ele_sticky_pos' => ''],
1023
+ 'pro' => 1,
1024
+ ),
1025
  ];
1026
 
1027
  // Resposive stuff
1078
  'group' => 'grid',
1079
  'func' => 'pagelayer_sc_row',
1080
  'skip_props_cat' => ['position_styles'],
1081
+ 'skip_props' => ['ele_sticky_in_container'],
1082
  'html' => '<div if="{{bg_video_src}}" class="pagelayer-background-video">{{vid_src}}</div>
1083
  <div if="{{bg_slider}}" class="pagelayer-bgimg-slider">
1084
  {{slider}}
1609
  'group' => 'grid',
1610
  'func' => 'pagelayer_sc_col',
1611
  'skip_props_cat' => ['position_styles'],
1612
+ 'skip_props' => ['ele_sticky_in_container'],
1613
  'html' => '<div if="{{bg_video_src}}" class="pagelayer-background-video">{{vid_src}}</div>
1614
  <div if="{{bg_slider}}" class="pagelayer-bgimg-slider">
1615
  {{slider}}
1667
  'min' => 0,
1668
  'step' => 1,
1669
  'max' => 100,
1670
+ 'screen' => 1,
1671
+ 'css' =>['.pagelayer-row-holder {{wrap}}' => 'width: {{val}}%;'],
1672
  'req' => ['col' => ''],
1673
  ),
1674
  ),
2127
  'default' => '#050505',
2128
  'css' => ['{{element}} .pagelayer-quote-content' => 'color:{{val}}'],
2129
  ),
2130
+ 'quote_content_space' => array(
2131
+ 'type' => 'dimension',
2132
+ 'label' => __pl('space_between'),
2133
+ 'css' => ['{{element}} .pagelayer-quote-content' => 'margin-top:{{val[0]}}px;margin-bottom:{{val[1]}}px;'],
2134
+ ),
2135
  'quote_content_typo' => array(
2136
  'type' => 'typography',
2137
  'label' => __pl('quote_content_typo'),
2260
  'default' => '#3f3f3f',
2261
  'css' => ['{{element}} .pagelayer-quote-cite span' => 'color:{{val}}']
2262
  ),
2263
+ 'cite_text_align' => array(
2264
+ 'label' => __pl('obj_align_label'),
2265
+ 'type' => 'radio',
2266
+ 'default' => 'left',
2267
+ 'screen' => 1,
2268
+ 'css' => ['{{element}} .pagelayer-quote-cite' => 'text-align: {{val}};'],
2269
+ 'list' => array(
2270
+ 'left' => __pl('left'),
2271
+ 'center' => __pl('center'),
2272
+ 'right' => __pl('right'),
2273
+ )
2274
+ ),
2275
  'cite_typo' => array(
2276
  'type' => 'typography',
2277
  'label' => __pl('cite_typo'),
4390
  'default' => 'fab fa-facebook-square',
4391
  'addAttr' => ['{{element}} .pagelayer-icon-holder' => 'data-icon="{{icon}}"'],
4392
  'list' => ['facebook', 'facebook-f', 'facebook-square', 'facebook-messenger', 'twitter', 'twitter-square', 'google-plus', 'google-plus-g', 'google-plus-square', 'instagram', 'linkedin', 'linkedin-in', 'behance', 'behance-square', 'pinterest', 'pinterest-p', 'pinterest-square', 'reddit-alien', 'reddit-square', 'reddit', 'rss', 'rss-square', 'skype', 'slideshare', 'snapchat', 'snapchat-ghost', 'snapchat-square', 'soundcloud', 'spotify', 'stack-overflow', 'steam', 'steam-symbol', 'steam-square', 'stumbleupon', 'stumbleupon-circle', 'telegram', 'telegram-plane', 'thumbtack', 'tripadvisor', 'tumblr', 'tumblr-square', 'twitch', 'vimeo-v', 'vimeo', 'vimeo-square', 'vk', 'weibo', 'weixin', 'whatsapp', 'whatsapp-square', 'wordpress', 'wordpress-simple', 'xing', 'xing-square', 'yelp', 'youtube', 'youtube-square', '500px', 'flickr', 'android', 'github', 'github-alt', 'github-square', 'gitlab', 'apple', 'jsfiddle', 'houzz', 'bitbucket', 'codepen', 'delicious', 'medium', 'medium-m', 'meetup', 'mixcloud', 'dribbble', 'dribbble-square', 'foursquare'],
4393
+ 'onchange' => 'pagelayer_social_icon_onchange'
4394
  ),
4395
  'social_url' => array(
4396
  'type' => 'link',
4397
+ 'label' => __pl('social_url_label'),
4398
+ 'default' => get_option('pagelayer-facebook-url'),
4399
  )
4400
  )
4401
  )
6586
  'screen' => 1,
6587
  'css' => ['{{element}} .pagelayer-accordion-panel' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
6588
  ),
6589
+ 'acc_content_padding' => array(
6590
+ 'type' => 'padding',
6591
+ 'label' => __pl('padding'),
6592
+ 'units' => ['px', '%', 'em'],
6593
+ 'screen' => 1,
6594
+ 'css' => ['{{element}} .pagelayer-accordion-panel' => 'padding: {{val[0]}} {{val[1]}} {{val[2]}} {{val[3]}}'],
6595
+ ),
6596
  'acc_border_type' => array(
6597
  'type' => 'select',
6598
  'label' => __pl('border_type'),
6624
  '!acc_border_type' => ''
6625
  ],
6626
  'css' => ['{{element}} .pagelayer-accordion_item' => 'border-top-width: {{val[0]}}px; border-right-width: {{val[1]}}px; border-bottom-width: {{val[2]}}px; border-left-width: {{val[3]}}px', '{{element}} .pagelayer-accordion_item .pagelayer-accordion-panel' => 'border-width: {{val[0]}}px 0 0 0'],
6627
+ ),
6628
+ 'acc_border_radius' => array(
6629
+ 'type' => 'padding',
6630
+ 'label' => __pl('border_radius'),
6631
+ 'screen' => 1,
6632
+ 'css' => ['{{element}} .pagelayer-accordion_item' => 'border-radius: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}}px '],
6633
  )
6634
  ],
6635
  'styles' => [
7684
  )
7685
  );
7686
 
7687
+ // Address
7688
+ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_address', array(
7689
+ 'name' => __pl('address'),
7690
+ 'group' => 'other',
7691
+ 'func' => 'pagelayer_sc_address',
7692
+ 'icon' => 'fas fa-map-marker-alt',
7693
+ 'html' => '<div class="pagelayer-address-holder">
7694
+ <span class="pagelayer-address-icon"><i class="{{icon}}"></i></span>
7695
+ <span class="pagelayer-address">'.pagelayer_get_option('pagelayer-address').'</span>
7696
+ </div>',
7697
+ 'params' => array(
7698
+ 'color' => array(
7699
+ 'type' => 'color',
7700
+ 'label' => __pl('color'),
7701
+ 'css' => ['{{element}} .pagelayer-address *, {{element}} .pagelayer-address' => 'color:{{val}}'],
7702
+ ),
7703
+ 'typography' => array(
7704
+ 'type' => 'typography',
7705
+ 'label' => __pl('typography'),
7706
+ 'css' => ['{{element}} .pagelayer-address *, {{element}} .pagelayer-address' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
7707
+ ),
7708
+ 'align' => array(
7709
+ 'type' => 'radio',
7710
+ 'label' => __pl('alignment'),
7711
+ 'list' => [
7712
+ 'flex-start' => __pl('left'),
7713
+ 'center' => __pl('center'),
7714
+ 'flex-end' => __pl('right'),
7715
+ ],
7716
+ 'css' => ['{{element}} .pagelayer-address-holder' => 'justify-content: {{val}}'],
7717
+ ),
7718
+ 'space' => array(
7719
+ 'type' => 'slider',
7720
+ 'label' => __pl('space'),
7721
+ 'min' => 0,
7722
+ 'max' => 100,
7723
+ 'step' => 1,
7724
+ 'screen' => 1,
7725
+ 'css' => ['{{element}} .pagelayer-address-icon' => 'margin-right: {{val}}px;']
7726
+ ),
7727
+ ),
7728
+ 'icon_style' =>[
7729
+ 'icon' => array(
7730
+ 'type' => 'icon',
7731
+ 'label' => __pl('icon'),
7732
+ 'default' => 'fas fa-map-marker-alt'
7733
+ ),
7734
+ 'icon_color' => array(
7735
+ 'type' => 'color',
7736
+ 'label' => __pl('color'),
7737
+ 'css' => ['{{element}} .pagelayer-address-icon i' => 'color:{{val}}'],
7738
+ ),
7739
+ 'icon_size' => array(
7740
+ 'type' => 'slider',
7741
+ 'label' => __pl('size'),
7742
+ 'min' => 0,
7743
+ 'max' => 100,
7744
+ 'step' => 1,
7745
+ 'screen' => 1,
7746
+ 'css' => ['{{element}} .pagelayer-address-icon i' => 'font-size: {{val}}px;']
7747
+ ),
7748
+ ],
7749
+ 'styles' => [
7750
+ 'icon_style' => __pl('icon_style')
7751
+ ]
7752
+ )
7753
+ );
7754
+
7755
+ // Email
7756
+ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_email', array(
7757
+ 'name' => __pl('email'),
7758
+ 'group' => 'other',
7759
+ 'func' => 'pagelayer_sc_email',
7760
+ 'icon' => 'fas fa-envelope',
7761
+ 'html' => '<div class="pagelayer-email-holder">
7762
+ <span class="pagelayer-email-icon"><i class="{{icon}}"></i></span>
7763
+ <span class="pagelayer-email">'.pagelayer_get_option('pagelayer_cf_to_email').'</span></div>',
7764
+ 'params' => array(
7765
+ 'color' => array(
7766
+ 'type' => 'color',
7767
+ 'label' => __pl('color'),
7768
+ 'css' => ['{{element}} .pagelayer-email *, {{element}} .pagelayer-email' => 'color:{{val}}'],
7769
+ ),
7770
+ 'typography' => array(
7771
+ 'type' => 'typography',
7772
+ 'label' => __pl('typography'),
7773
+ 'css' => ['{{element}} .pagelayer-email *, {{element}} .pagelayer-email' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
7774
+ ),
7775
+ 'align' => array(
7776
+ 'type' => 'radio',
7777
+ 'label' => __pl('alignment'),
7778
+ 'list' => [
7779
+ 'flex-start' => __pl('left'),
7780
+ 'center' => __pl('center'),
7781
+ 'flex-end' => __pl('right'),
7782
+ ],
7783
+ 'css' => ['{{element}} .pagelayer-email-holder' => 'justify-content: {{val}}'],
7784
+ ),
7785
+ 'space' => array(
7786
+ 'type' => 'slider',
7787
+ 'label' => __pl('space'),
7788
+ 'min' => 0,
7789
+ 'max' => 100,
7790
+ 'step' => 1,
7791
+ 'screen' => 1,
7792
+ 'css' => ['{{element}} .pagelayer-email-icon' => 'margin-right: {{val}}px;']
7793
+ ),
7794
+ ),
7795
+ 'icon_style' =>[
7796
+ 'icon' => array(
7797
+ 'type' => 'icon',
7798
+ 'label' => __pl('icon'),
7799
+ 'default' => 'fas fa-envelope'
7800
+ ),
7801
+ 'icon_color' => array(
7802
+ 'type' => 'color',
7803
+ 'label' => __pl('color'),
7804
+ 'css' => ['{{element}} .pagelayer-email-icon i' => 'color:{{val}}'],
7805
+ ),
7806
+ 'icon_size' => array(
7807
+ 'type' => 'slider',
7808
+ 'label' => __pl('size'),
7809
+ 'min' => 0,
7810
+ 'max' => 100,
7811
+ 'step' => 1,
7812
+ 'screen' => 1,
7813
+ 'css' => ['{{element}} .pagelayer-email-icon i' => 'font-size: {{val}}px;']
7814
+ ),
7815
+ ],
7816
+ 'styles' => [
7817
+ 'icon_style' => __pl('icon_style')
7818
+ ]
7819
+ )
7820
+ );
7821
+
7822
+ // Phone
7823
+ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_phone', array(
7824
+ 'name' => __pl('phone'),
7825
+ 'group' => 'other',
7826
+ 'func' => 'pagelayer_sc_phone',
7827
+ 'icon' => 'fas fa-phone-alt',
7828
+ 'html' => '<div class="pagelayer-phone-holder">
7829
+ <span class="pagelayer-phone-icon"><i class="{{icon}}"></i></span>
7830
+ <span class="pagelayer-phone">'.pagelayer_get_option('pagelayer-phone').'</span></div>',
7831
+ 'params' => array(
7832
+ 'color' => array(
7833
+ 'type' => 'color',
7834
+ 'label' => __pl('color'),
7835
+ 'css' => ['{{element}} .pagelayer-phone *, {{element}} .pagelayer-phone' => 'color:{{val}}'],
7836
+ ),
7837
+ 'typography' => array(
7838
+ 'type' => 'typography',
7839
+ 'label' => __pl('typography'),
7840
+ 'css' => ['{{element}} .pagelayer-phone *, {{element}} .pagelayer-phone' => 'font-family: {{val[0]}}; font-size: {{val[1]}}px !important; font-style: {{val[2]}} !important; font-weight: {{val[3]}} !important; font-variant: {{val[4]}} !important; text-decoration-line: {{val[5]}} !important; text-decoration-style: {{val[6]}} !important; line-height: {{val[7]}}em !important; text-transform: {{val[8]}} !important; letter-spacing: {{val[9]}}px !important; word-spacing: {{val[10]}}px !important;'],
7841
+ ),
7842
+ 'align' => array(
7843
+ 'type' => 'radio',
7844
+ 'label' => __pl('alignment'),
7845
+ 'list' => [
7846
+ 'flex-start' => __pl('left'),
7847
+ 'center' => __pl('center'),
7848
+ 'flex-end' => __pl('right'),
7849
+ ],
7850
+ 'css' => ['{{element}} .pagelayer-phone-holder' => 'justify-content: {{val}}'],
7851
+ ),
7852
+ 'space' => array(
7853
+ 'type' => 'slider',
7854
+ 'label' => __pl('space'),
7855
+ 'min' => 0,
7856
+ 'max' => 100,
7857
+ 'step' => 1,
7858
+ 'screen' => 1,
7859
+ 'css' => ['{{element}} .pagelayer-phone-icon' => 'margin-right: {{val}}px;']
7860
+ ),
7861
+ ),
7862
+ 'icon_style' =>[
7863
+ 'icon' => array(
7864
+ 'type' => 'icon',
7865
+ 'label' => __pl('icon'),
7866
+ 'default' => 'fas fa-phone-alt'
7867
+ ),
7868
+ 'icon_color' => array(
7869
+ 'type' => 'color',
7870
+ 'label' => __pl('color'),
7871
+ 'css' => ['{{element}} .pagelayer-phone-icon i' => 'color:{{val}}'],
7872
+ ),
7873
+ 'icon_size' => array(
7874
+ 'type' => 'slider',
7875
+ 'label' => __pl('size'),
7876
+ 'min' => 0,
7877
+ 'max' => 100,
7878
+ 'step' => 1,
7879
+ 'screen' => 1,
7880
+ 'css' => ['{{element}} .pagelayer-phone-icon i' => 'font-size: {{val}}px;']
7881
+ ),
7882
+ ],
7883
+ 'styles' => [
7884
+ 'icon_style' => __pl('icon_style')
7885
+ ]
7886
+ )
7887
+ );
7888
+
7889
  // Body Settings
7890
  pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_post_props', array(
7891
  'name' => __pl('Body and Post Props'),
pagelayer.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: PageLayer
4
  Plugin URI: http://wordpress.org/plugins/pagelayer/
5
  Description: PageLayer is a WordPress page builder plugin. Its very easy to use and very light on the browser.
6
- Version: 1.0.4
7
  Author: Pagelayer Team
8
  Author URI: https://pagelayer.com/
9
  License: LGPL v2.1
3
  Plugin Name: PageLayer
4
  Plugin URI: http://wordpress.org/plugins/pagelayer/
5
  Description: PageLayer is a WordPress page builder plugin. Its very easy to use and very light on the browser.
6
+ Version: 1.0.5
7
  Author: Pagelayer Team
8
  Author URI: https://pagelayer.com/
9
  License: LGPL v2.1
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: page builder, editor, landing page, drag-and-drop, pagelayer, form-builder
4
  Requires at least: 4.7
5
  Tested up to: 5.3
6
  Requires PHP: 5.4
7
- Stable tag: 1.0.4
8
  License: LGPL v2.1
9
  License URI: http://www.gnu.org/licenses/lgpl-2.1.html
10
 
@@ -109,6 +109,31 @@ Do you have questions related to PageLayer ? Use the following links :
109
 
110
  == Changelog ==
111
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
112
  = 1.0.4 (December 12, 2019) =
113
  * [Feature] Added Line Height to the Rich Text Editor.
114
  * [Feature] Added the option to edit or delete an item from the Navigator.
4
  Requires at least: 4.7
5
  Tested up to: 5.3
6
  Requires PHP: 5.4
7
+ Stable tag: 1.0.5
8
  License: LGPL v2.1
9
  License URI: http://www.gnu.org/licenses/lgpl-2.1.html
10
 
109
 
110
  == Changelog ==
111
 
112
+ = 1.0.5 (January 21, 2020) =
113
+ * [Feature] Added new widgets - Contact Email, Phone, Address, Copyright. You can specify these defaults and it will be changed throughout the website.
114
+ * [Feature] Added the screen mode option for the custom Column Width in Column widget.
115
+ * [Feature] Accordian Content Padding and border radius have been added.
116
+ * [Feature] Added breakpoint settings for Tablet and Mobiles
117
+ * [Feature] Premium Feature - Added the feature to make an element sticky
118
+ * [Feature] Added the option to save default Social Profile URLs. These URLs will be used while editing and can be altered while editing.
119
+ * [Task] Now when you undo and redo, the affected element will become active and the page will also scroll to that element.
120
+ * [Task] Added the additional parameters with pagelayer_trigger_action function in javascript.
121
+ * [Task] For a Cite in Quotes, text align option has been added.
122
+ * [Task] Added the option to remove the Icon selected in the icon properties.
123
+ * [Task] In mobile/tablet view we have improved the responsive beahviour.
124
+ * [Task] The Ctrl-z and Ctrl-y behaviour has been further improved. Now when you undo, the actions within the last 200 milli seconds will be undone.
125
+ * [Task] Added function to get current media mode according to pagelayer tablet and mobile breackpoint in Javascript.
126
+ * [Bug-Fix] Added overflow to accordion items to fix the overflow in some cases.
127
+ * [Bug-Fix] Ctrl-z will now work on the entire window. Previously you had to focus back on the editor and then it would work. This is fixed.
128
+ * [Bug-Fix] While editing the header if the Row was at 0px of the window, the row options were not visible. This is fixed.
129
+ * [Bug-Fix] The Add New Section / Widgets area at the bottom of the content window was aligned to the right. Now its centered.
130
+ * [Bug-Fix] The column width dragging feature had some bugs where it would not allow resize. This is fixed.
131
+ * [Bug-Fix] The anchor overlay in the icon box / image box widgets was going wrong. This is fixed.
132
+ * [Bug-Fix] In editor, on clicking setting and property close icons in left bar, the left bar move was triggered. This is fixed.
133
+ * [Bug-Fix] We were not registering pagelayer actions while resizing the columns. This is fixed.
134
+ * [Bug-Fix] In certain cases the video url was sanitize properly. This is fixed.
135
+ * [Bug-Fix] The custom width property of the element in the options was not working properly. This is fixed.
136
+
137
  = 1.0.4 (December 12, 2019) =
138
  * [Feature] Added Line Height to the Rich Text Editor.
139
  * [Feature] Added the option to edit or delete an item from the Navigator.