feat(deployed): add SP Page Builder 3.6.2 (no-source, vetted live)

SP Page Builder (JoomShaper); GitHub exposes only 1.x, the installed 3.6.2 is gated -> deployed files.

Signed-off-by: LÁZÁR Imre <imre@illusion.hu>
Assisted-by: claude-code@claude-opus-4-8
This commit is contained in:
LÁZÁR Imre AI Agent 2026-07-16 11:24:40 +02:00
parent 9a2654b4fc
commit 223db38921
692 changed files with 111705 additions and 0 deletions

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<access component="com_sppagebuilder">
<section name="component">
<action name="core.admin" title="JACTION_ADMIN" description="JACTION_ADMIN_COMPONENT_DESC" />
<action name="core.manage" title="JACTION_MANAGE" description="JACTION_MANAGE_COMPONENT_DESC" />
<action name="core.create" title="JACTION_CREATE" description="JACTION_CREATE_COMPONENT_DESC" />
<action name="core.delete" title="JACTION_DELETE" description="JACTION_DELETE_COMPONENT_DESC" />
<action name="core.edit" title="JACTION_EDIT" description="JACTION_EDIT_COMPONENT_DESC" />
<action name="core.edit.state" title="JACTION_EDITSTATE" description="JACTION_EDITSTATE_COMPONENT_DESC" />
<action name="core.edit.own" title="JACTION_EDITOWN" description="JACTION_EDITOWN_COMPONENT_DESC" />
</section>
<section name="page">
<action name="core.delete" title="JACTION_DELETE" description="JACTION_DELETE_COMPONENT_DESC" />
<action name="core.edit" title="JACTION_EDIT" description="JACTION_EDIT_COMPONENT_DESC" />
<action name="core.edit.state" title="JACTION_EDITSTATE" description="JACTION_EDITSTATE_COMPONENT_DESC" />
</section>
</access>

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,216 @@
/**
* @package SP Page Builder
* @author JoomShaper http://www.joomshaper.com
* @copyright Copyright (c) 2010 - 2016 JoomShaper
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
*/
.sp-modal-open {
overflow: hidden;
}
.sp-modal {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 1050;
display: none;
overflow: auto;
overflow-y: scroll;
-webkit-overflow-scrolling: touch;
outline: 0;
}
.sp-modal.fade .sp-modal-dialog {
-webkit-transition: -webkit-transform .3s ease-out;
-moz-transition: -moz-transform .3s ease-out;
-o-transition: -o-transform .3s ease-out;
transition: transform .3s ease-out;
-webkit-transform: translate(0, -25%);
-ms-transform: translate(0, -25%);
transform: translate(0, -25%);
}
.sp-modal.in .sp-modal-dialog {
-webkit-transform: translate(0, 0);
-ms-transform: translate(0, 0);
transform: translate(0, 0);
}
.sp-modal-dialog {
position: relative;
width: auto;
margin: 10px;
}
.sp-modal-content {
position: relative;
background-color: #fff;
background-clip: padding-box;
border: 1px solid #999;
border: 1px solid rgba(0, 0, 0, .2);
border-radius: 6px;
outline: none;
-webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5);
box-shadow: 0 3px 9px rgba(0, 0, 0, .5);
}
.sp-modal-backdrop {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 1040;
background-color: #000;
}
.sp-modal-backdrop.fade {
filter: alpha(opacity=0);
opacity: 0;
}
.sp-modal-backdrop.fade.in {
filter: alpha(opacity=50);
opacity: .5;
}
.sp-modal-header {
min-height: 16.42857143px;
padding: 15px;
border-bottom: 1px solid #e5e5e5;
}
.sp-modal-header .close {
margin-top: -2px;
}
.sp-modal-title {
margin: 0;
line-height: 1.42857143;
}
.sp-modal-body {
position: relative;
padding: 20px;
}
.sp-modal-footer {
padding: 19px 20px 20px;
margin-top: 15px;
text-align: right;
border-top: 1px solid #e5e5e5;
}
.sp-modal-footer .sppb-btn + .sppb-btn {
margin-bottom: 0;
margin-left: 5px;
}
.sp-modal-footer .btn-group .btn + .btn {
margin-left: -1px;
}
.sp-modal-footer .btn-block + .btn-block {
margin-left: 0;
}
@media (min-width: 768px) {
.sp-modal-dialog {
width: 600px;
margin: 30px auto;
}
.sp-modal-content {
-webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5);
box-shadow: 0 5px 15px rgba(0, 0, 0, .5);
}
.sp-modal-sm {
width: 300px;
}
}
@media (min-width: 992px) {
.sp-modal-lg {
width: 900px;
}
.sp-modal-xlg {
width: 1270px;
}
}
.sp-modal-footer:before,
.sp-modal-footer:after {
display: table;
content: " ";
}
/* Form */
.form-group{
margin-bottom: 30px;
}
.form-group label{
display: block;
margin-bottom: 5px;
font-weight: 500;
color: #666;
}
.form-group .form-control {
display: block;
width: 100%;
box-sizing: border-box;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-o-box-sizing: border-box;
-ms-box-sizing: border-box;
}
.form-group input.form-control{
min-height: 30px;
}
.form-group .help-block {
display: block;
margin-top: 5px;
margin-bottom: 10px;
color: #A2A2A2;
}
.sp-modal .radio,
.sp-modal .checkbox {
display: block;
min-height: 20px;
padding-left: 20px;
margin-top: 10px;
margin-bottom: 10px;
}
.sp-modal .radio label,
.sp-modal .checkbox label {
display: inline;
font-weight: normal;
cursor: pointer;
}
.sp-modal .radio input[type="radio"],
.sp-modal .radio-inline input[type="radio"],
.sp-modal .checkbox input[type="checkbox"],
.sp-modal .checkbox-inline input[type="checkbox"] {
float: left;
margin-left: -20px;
}
.sp-modal .radio + .radio,
.sp-modal .checkbox + .checkbox {
margin-top: -5px;
}
.sp-modal .radio-inline,
.sp-modal .checkbox-inline {
display: inline-block;
padding-left: 20px;
margin-bottom: 0;
font-weight: normal;
vertical-align: middle;
cursor: pointer;
}
.sp-modal .radio-inline + .radio-inline,
.sp-modal .checkbox-inline + .checkbox-inline {
margin-top: 0;
margin-left: 10px;
}
.sp-modal input[type="radio"][disabled],
.sp-modal input[type="checkbox"][disabled],
.sp-modal .radio[disabled],
.sp-modal .radio-inline[disabled],
.sp-modal .checkbox[disabled],
.sp-modal .checkbox-inline[disabled],
.sp-modal fieldset[disabled] input[type="radio"],
.sp-modal fieldset[disabled] input[type="checkbox"],
.sp-modal fieldset[disabled] .radio,
.sp-modal fieldset[disabled] .radio-inline,
.sp-modal fieldset[disabled] .checkbox,
.sp-modal fieldset[disabled] .checkbox-inline {
cursor: not-allowed;
}

View File

@ -0,0 +1 @@
@font-face{font-family:'SP Page Builder';src:url(../fonts/sppagebuilder.eot?v=1.0.0);src:url(../fonts/sppagebuilder.eot?v=1.0.0#iefix) format('embedded-opentype'),url(../fonts/sppagebuilder.ttf?v=1.0.0) format('truetype'),url(../fonts/sppagebuilder.woff?v=1.0.0) format('woff'),url(../fonts/sppagebuilder.svg?v=1.0.0#sppagebuilder) format('svg');font-weight:400;font-style:normal}.pbfont{font-family:'SP Page Builder'!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.pbfont-12:before{content:"\e900"}.pbfont-2-10:before{content:"\e901"}.pbfont-2-5-5:before{content:"\e902"}.pbfont-3-3-3-3:before{content:"\e903"}.pbfont-3-6-3:before{content:"\e904"}.pbfont-3-9:before{content:"\e905"}.pbfont-4-4-4:before{content:"\e906"}.pbfont-6-6-12:before{content:"\e907"}.pbfont-6-6:before{content:"\e908"}.pbfont-8-4:before{content:"\e909"}.pbfont-add-columns:before{content:"\e90a"}.pbfont-add-new-row:before{content:"\e90b"}.pbfont-addon:before{content:"\e90c"}.pbfont-addons:before{content:"\e90d"}.pbfont-blind:before{content:"\e90e"}.pbfont-check-box:before{content:"\e90f"}.pbfont-close:before{content:"\e910"}.pbfont-column:before{content:"\e911"}.pbfont-copy:before{content:"\e912"}.pbfont-drag-up-down:before{content:"\e913"}.pbfont-drag:before{content:"\e914"}.pbfont-duplicate:before{content:"\e915"}.pbfont-edit:before{content:"\e916"}.pbfont-export:before{content:"\e917"}.pbfont-eye:before{content:"\e918"}.pbfont-gear:before{content:"\e919"}.pbfont-graph:before{content:"\e91a"}.pbfont-hamburger:before{content:"\e91b"}.pbfont-import:before{content:"\e91c"}.pbfont-layout:before{content:"\e91d"}.pbfont-minus-circle:before{content:"\e91e"}.pbfont-minus-square:before{content:"\e91f"}.pbfont-minus:before{content:"\e920"}.pbfont-pagebuilder:before{content:"\e921"}.pbfont-paste:before{content:"\e922"}.pbfont-pencil:before{content:"\e923"}.pbfont-plus-circle:before{content:"\e924"}.pbfont-plus-square:before{content:"\e925"}.pbfont-plus:before{content:"\e926"}.pbfont-publish:before{content:"\e927"}.pbfont-redo:before{content:"\e928"}.pbfont-save:before{content:"\e929"}.pbfont-settings:before{content:"\e92a"}.pbfont-templates:before{content:"\e92b"}.pbfont-trash:before{content:"\e92c"}.pbfont-undo:before{content:"\e92d"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
.pull-left{float:left}.pull-right{float:right}

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 434 KiB

View File

@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>

View File

@ -0,0 +1,57 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg">
<metadata>Copyright (C) 2010 - 2016 JoomShaper</metadata>
<defs>
<font id="sppagebuilder" horiz-adv-x="1000" >
<font-face font-family="SP Page Builder" font-weight="400" font-stretch="normal" units-per-em="1000" ascent="850" descent="-150" />
<missing-glyph horiz-adv-x="1000" />
<glyph glyph-name="12" unicode="&#xe900;" d="M802.5 850H0V-150h1000V850H802.5z m159.4 -961.5H38.1v923h923.7v-923z" horiz-adv-x="1000" />
<glyph glyph-name="2-10" unicode="&#xe901;" d="M0 -150h193.6V850H0V-150z m38.7 961.5h116.1v-923.1H38.7v923.1zM889.2 850H242.3V-150H1000V850H889.2zM281 -111.5v923h680.2v-923H281z" horiz-adv-x="1000" />
<glyph glyph-name="2-5-5" unicode="&#xe902;" d="M641.7 850V-150H1000V850H641.7z m38.7 -961.5v923h280.8v-923H680.4zM242.3 -150h358.3V850H242.3V-150zM281 811.5h280.8v-923.1H281v923.1zM0 -150h193.6V850H0V-150z m38.7 961.5h116.1v-923.1H38.7v923.1z" horiz-adv-x="1000" />
<glyph glyph-name="3-3-3-3" unicode="&#xe903;" d="M0 850V-150h215V850H0z m176 -961.6H39v923.1h137v-923.1zM261.6 850V-150h215.1V850H261.6z m176.1 -961.6H300.6v923.1h137.1v-923.1z m161 961.6h-75.4V-150h215V850H598.7z m100.7 -961.6H562.3v923.1h137.1v-923.1zM925.8 850H785V-150h215V850h-74.2zM961 -111.5H824v923h137v-923z" horiz-adv-x="1000" />
<glyph glyph-name="3-6-3" unicode="&#xe904;" d="M0 850V-150h215V850H0z m176 -961.6H39v923.1h137v-923.1zM656.1 850H261.7V-150h476.7V850h-82.3z m43.3 -961.6H300.6v923.1h398.8v-923.1zM925.8 850H785V-150h215V850h-74.2zM961 -111.5H824v923h137v-923z" horiz-adv-x="1000" />
<glyph glyph-name="3-9" unicode="&#xe905;" d="M0 850V-150h215V850H0z m176 -961.6H39v923.1h137v-923.1zM874.8 850H261.7V-150H1000V850H874.8zM961 -111.5H300.6v923H961v-923z" horiz-adv-x="1000" />
<glyph glyph-name="4-4-4" unicode="&#xe906;" d="M770.9 850h-74.6V-150H1000V850H770.9z m191 -961.5H734.5v923h227.4v-923zM400.7 850h-52.6V-150h303.7V850H400.7z m213 -961.6H386.4v923.1h227.3v-923.1zM0 850V-150h303.7V850H0z m265.6 -961.6H38.1v923.1h227.5v-923.1z" horiz-adv-x="1000" />
<glyph glyph-name="6-6-12" unicode="&#xe907;" d="M474.6 456.3V850H1V374.9h473.6v81.4z m-38.8 -42.9H39.7v398.1h396.1V413.4zM526.4 850V374.9H1000V850H526.4zM961.3 413.4H565.2v398.1h396.1V413.4zM0 294.3v-444.2h1000v474.5H0v-30.3z m38.5 -399.9v391.4h923.1v-397H38.5v5.6z" horiz-adv-x="1000" />
<glyph glyph-name="6-6" unicode="&#xe908;" d="M0 850V-150h477V850H0z m438.1 -961.6H39v923.1h399.1v-923.1zM954.8 850H522.9V-150H1000V850h-45.2z m6.2 -961.5H561.9v923H961v-923z" horiz-adv-x="1000" />
<glyph glyph-name="8-4" unicode="&#xe909;" d="M770.9 850h-74.6V-150H1000V850H770.9z m191 -961.5H734.5v923h227.4v-923zM412.6 850H0V-150h651.8V850H412.6z m201.1 -38.5v-923.1H38.1v923.1h575.6z" horiz-adv-x="1000" />
<glyph glyph-name="add-columns" unicode="&#xe90a;" d="M0 850h139.7V-150H0V850zM289.5 -150h139.7V850H289.5V-150zM718.7 850H579V586.3h139.7V850z m281.3 0H860.3V445H1000v405z m0 -714.7H818.6v185.5h-99.9V135.3H529.2V35.4h189.5V-150h99.9V35.4H1000v99.9z" horiz-adv-x="1000" />
<glyph glyph-name="add-new-row" unicode="&#xe90b;" d="M772.4 379.9H1000v-73.2H772.4V79.2h-71.5v227.5H470.4v73.2h230.5v240.9h71.5V379.9zM0 850v-80h1000v80H0zM599.6 616.8H0v-80h599.6v80zM0 -150h599.6v80H0v-80z m397.6 533.6H0v-80h397.6v80zM275.9 161.7H0v-80h275.9v80z" horiz-adv-x="1000" />
<glyph glyph-name="addon" unicode="&#xe90c;" d="M1000 586.4v-80.1H743.9v-249h-80.4v249H404.1v80.1h259.4V850h80.4V586.4H1000zM920 -70.4H80v840.8h315V850H0V-150h1000v416.4h-80V-70.4z" horiz-adv-x="1000" />
<glyph glyph-name="addons" unicode="&#xe90d;" d="M882.2 613.5c-24.3 44 -55.2 82.4 -92.8 115.6 -10.9 9.6 -27.4 7.5 -36.2 -4.1C738.5 705.7 724 686.8 709.6 668c-8.8 -11.6 -6.7 -28.3 3.8 -38.2C847.2 503.7 838.5 303.1 724.6 185.7 675.8 135.4 613.4 105.1 548.4 94.6v298c.8 .8 1.4 1.9 2.3 2.1 13.6 3.8 26.6 9 38.2 17 28.3 19.6 44.4 45.9 44.2 81.2 -.2 37.2 0 74.4 0 111.6v5.9h-37.4v6c0 31.9 .1 63.9 -.2 95.8 0 4.4 -1.3 9.3 -3.6 13 -5.4 8.7 -17.5 11.9 -28 8.5C553.4 730.4 548.1 723 548 711.5v-101h-94.6v4.1c0 32.7 -.1 65.4 .1 98.1 .1 9.5 -4.3 15.9 -12.5 19.8 -16.1 7.6 -35.8 -3 -35.1 -21.6 1.3 -31.7 .3 -63.6 .3 -95.4v-5.4h-39.7V489.4c0 -15.9 4 -30.8 12.3 -44.4 16.3 -26.9 40.8 -42.6 70.8 -50.2 .7 -.2 1.1 -.6 1.7 -.8V93.7c-58.6 8.8 -114.8 34.2 -160.5 76.6C224.2 232.2 188.2 308.5 187.5 399c-.7 91.8 33.5 168.5 99 230.2 10.6 10 12.6 26.8 3.8 38.3 -14.6 19.1 -29.2 38.1 -43.7 57.1 -8.8 11.5 -25.4 13.8 -36.3 4.1C80.6 614.6 25.9 427.4 88.3 254.8 154.9 70.6 345.2 -60.9 561.3 -30.8 749.6 -4.5 911 148.8 934.5 352.7c10.7 92.4 -7.3 179.5 -52.3 260.8z" horiz-adv-x="1000" />
<glyph glyph-name="blind" unicode="&#xe90e;" d="M551.9 424.3L459.8 313.1c12 -8.9 26.9 -14.2 43 -14.2 40 0 72.3 32.4 72.3 72.3 .1 21 -8.9 39.9 -23.2 53.1zM125.3 353.5c40.8 61.9 95.8 112 159.2 147C261.3 461.6 247.6 416.3 247.6 367.8c0 -39.7 9 -77.3 25.1 -110.9L339 337c-1.8 10 -2.8 20.3 -2.8 30.9 0 94.2 76.3 170.9 170.4 171.5l82.4 99.5c-28.3 4.6 -57 7 -86.1 7C310.7 645.9 131.4 542.4 35 375.7L22.2 353.5 35 331.3C74.9 262.4 129 204.2 192.3 159.8l56.8 68.5c-48.6 32.9 -90.8 75.1 -123.8 125.2z m845.6 22.2C909.3 482 814.1 562.6 703.2 607L615.5 501.1c38.8 -31.5 63.7 -79.5 63.7 -133.3 0 -94.6 -77 -171.5 -171.5 -171.5 -42.2 0 -81 15.4 -110.9 40.8L288.2 105.9C355 76.8 428 61.1 502.9 61.1c192.2 0 371.5 103.5 467.9 270.2l12.8 22.2 -12.7 22.2zM703.4 197.1c39.9 45.8 64.4 105.3 64.4 170.7 0 44.9 -11.4 87.2 -31.6 124.1C793.3 457.4 843 410.5 880.5 353.5 835.9 285.8 774.3 232.3 703.4 197.1z m53.9 500.2c-2.2 1.8 -4.6 3.4 -7 4.6 -5.1 2.6 -10.5 4.1 -16 4.4 -12.2 .7 -24.6 -4.2 -32.9 -14.3L212.2 101.5c-6.6 -8 -9.6 -18 -9 -27.7 .3 -5.6 1.8 -11 4.4 -16.1 2.4 -4.6 5.7 -8.8 9.9 -12.3 16.8 -13.9 42 -11.6 56 5.3l489.1 590.6c13.9 16.9 11.5 42.1 -5.3 56z" horiz-adv-x="1000" />
<glyph glyph-name="check-box" unicode="&#xe90f;" d="M280.3 515.5l-82.1 -81.7 283.6 -282L1000 667.3 917.9 749 481.8 315.2zM920 -70.4H80v840.8h641.9V850H0V-150h1000v416.4h-80z" horiz-adv-x="1000" />
<glyph glyph-name="close" unicode="&#xe910;" d="M555.2 349.5L775.9 128.8 720.7 73.6 500 294.3 279.3 73.7l-55.2 55.2 220.7 220.7L224.2 570.2l55.2 55.2L500 404.7l220.7 220.7 55.2 -55.2L555.2 349.5z" horiz-adv-x="1000" />
<glyph glyph-name="column" unicode="&#xe911;" d="M0 -150h275.8V850H0V-150z m82 917.7h108.2V-69H82v836.7zM362.1 -150h275.8V850H362.1V-150z m82 917.7h108.2V-69H444.1v836.7zM724.2 850V-150H1000V850H724.2zM914.3 -69H806.1v836.7h108.2V-69z" horiz-adv-x="1000" />
<glyph glyph-name="copy" unicode="&#xe912;" d="M761 850H301.5V644.8H0v-794.9h698.5V55H1000v566.5L761 850z m18.9 -105.2l110 -105.1h-110v105.1zM635.6 6v-92.9H62.9v668.6h238.6V55.1h334.1V6z m301.5 205.1v-92.9H364.4v668.7H717V576.6h220.1V211.1z" horiz-adv-x="1000" />
<glyph glyph-name="drag-up-down" unicode="&#xe913;" d="M944.4 155.6h55.6V44.5h-55.6v111.1z m0 55.5h55.6v111.1h-55.6V211.1zM55.6 -11.1H0V-150h138.9v55.6H55.6v83.3z m888.8 388.9h55.6v111.1h-55.6V377.8z m0 277.8V544.5h55.6v111.1h-55.6z m0 -750h-83.3V-150H1000v138.9h-55.6v-83.3z m-888.8 250H0V44.5h55.6v111.1z m0 500H0V544.5h55.6v111.1z m0 -166.7H0V377.8h55.6v111.1zM0 711.1h55.6v83.3h83.3V850H0V711.1zM55.6 322.2H0V211.1h55.6v111.1z m888.8 388.9h55.6V850H861.1v-55.6h83.3v-83.3zM540 169.6V23.9h130.1L500 -145.3 329.9 23.9H460v145.8c-82.2 19.8 -148.5 97.5 -148.2 183.1 0 85.8 65.9 162.8 148.2 182.2v145.6H329.9L500 849.8 670.1 680.6H540V535c82.5 -19.4 148 -96.6 148.3 -183.3C688.5 267.5 621.6 189.4 540 169.6zM625 352c.1 72.8 -51.8 124.8 -124.7 125.1C428 477.4 374.8 425.2 374.7 354c0 -74.1 51.2 -125.7 124.7 -125.9C572.8 228 624.9 279.4 625 352z" horiz-adv-x="1000" />
<glyph glyph-name="drag" unicode="&#xe914;" d="M1000 350L830 520V390H683.6c-11.7 49.6 -44.5 93.2 -87.5 120 -17.3 10.8 -36.2 18.9 -56.1 23.6V680h130L500 850 330 680h130V533.6C390.5 517.2 332.8 459.5 316.5 390H170v130L0 350 170 180v130h146.5c1.7 -7 3.9 -14 6.4 -20.8l.6 -1.7v-.1c22.5 -58.8 75 -106.1 136.4 -120.9V20H330l170 -170L670 20H540v146.5c6.8 1.7 13.5 3.7 20.1 6.2 60.5 21.9 108.7 74.7 123.5 137.3H830V180l170 170zM499.4 225.3c-24 0 -45.6 5.6 -63.9 15.7 -37.2 20.8 -60.3 60.4 -60.3 109.6 .1 73.5 52 124.7 126.5 124.7 10 0 19.6 -1.1 28.7 -3l1.5 -.3c.3 -.1 .7 -.2 1 -.2 55.2 -13.4 92.1 -60.2 92 -121.8 0 -73.1 -52 -124.8 -125.5 -124.7z" horiz-adv-x="1000" />
<glyph glyph-name="duplicate" unicode="&#xe915;" d="M787.2 647.8V850H0V52.3h212.8V-150H1000v797.8H787.2zM63 115.6v670.9h661.3V115.7H63zM937 -86.5H275.8V52.2h511.4v532.2H937V-86.5z" horiz-adv-x="1000" />
<glyph glyph-name="edit" unicode="&#xe916;" d="M999.1 268.6v-416.4H-.9v1000h395v-79.6h-315V-68.3h840.1v336.9h79.9zM207.8 247.5L674.3 712 857.6 529.6 391.2 65.2H207.8v182.3z m63.7 -119H365l401 398 -94.4 93.9L271.5 221.5v-93z m598.8 413.7L686.9 724.6l112.9 111.7c10.3 10.3 24.7 16 39.5 15.9 14.5 -.2 27.8 -5.9 37.5 -16L983 730.6c10.2 -9.6 15.8 -22.9 16 -37.3 .2 -14.7 -5.6 -29.1 -16 -39.3L870.3 542.2zM779 726.4l93.6 -93.1 57.2 56.9 -93.6 93.1L779 726.4z" horiz-adv-x="1000" />
<glyph glyph-name="export" unicode="&#xe917;" d="M855.6 253.2c5.4 -5.3 8 -11.7 8 -19.3s-2.7 -14.1 -8 -19.4L519.9 -111c-5.3 -5.3 -11.7 -8 -19.3 -8 -7.6 0 -14.4 2.7 -20.5 8L145.5 214.4c-5.3 5.4 -8 11.9 -8 19.4s2.7 14 8 19.3l67.2 64.9c5.3 5.3 11.7 8 19.3 8 7.6 0 14.4 -2.7 20.5 -8L410.6 163.3v414.2c0 7.5 2.7 14 8 19.3 5.3 5.3 12.2 8 20.5 8h111.6c7.6 0 14.2 -2.7 19.9 -8 5.7 -5.3 8.5 -11.7 8.5 -19.3V151.9L748.7 318c6.1 5.3 12.9 8 20.5 8s14 -2.7 19.3 -8l67.1 -64.8zM978 793.7c-13.3 13.6 -29.4 20.5 -48.4 20.5h-858c-19 0 -35.1 -6.8 -48.4 -20.5S3.3 763.7 3.3 744.8V441H141v234.3h719.2V440.9h137.7v303.9c0 19 -6.6 35.3 -19.9 48.9z" horiz-adv-x="1000" />
<glyph glyph-name="eye" unicode="&#xe918;" d="M502.9 443.5c-39.9 0 -72.3 -32.4 -72.3 -72.3s32.4 -72.3 72.3 -72.3c40 0 72.3 32.4 72.3 72.3s-32.4 72.3 -72.3 72.3z m468 -67.8c-96.5 166.6 -275.8 270.2 -468 270.2S131.4 542.4 35 375.7L22.2 353.5 35 331.3C131.5 164.6 310.7 61.1 502.9 61.1s371.5 103.5 467.9 270.2l12.8 22.2 -12.7 22.2zM125.3 353.5c40.8 61.9 95.8 112 159.2 147C261.3 461.6 247.6 416.3 247.6 367.8c0 -69.3 27.4 -132.1 71.6 -178.7C241.3 224 173.4 280.5 125.3 353.5zM507.7 196.3c-94.6 0 -171.5 76.9 -171.5 171.5 0 94.5 76.9 171.5 171.5 171.5s171.5 -77 171.5 -171.5c0 -94.6 -76.9 -171.5 -171.5 -171.5z m195.7 .8c39.9 45.8 64.4 105.3 64.4 170.7 0 44.9 -11.4 87.2 -31.6 124.1C793.3 457.4 843 410.5 880.5 353.5 835.9 285.8 774.3 232.3 703.4 197.1z" horiz-adv-x="1000" />
<glyph glyph-name="gear" unicode="&#xe919;" d="M500 520.7C405.7 520.7 329.3 444.2 329.3 350S405.7 179.3 500 179.3c94.2 0 170.7 76.4 170.7 170.7 0 94.2 -76.5 170.7 -170.7 170.7z m0 -266.1c-52.6 0 -95.3 42.7 -95.3 95.3s42.7 95.3 95.3 95.3c52.5 0 95.2 -42.8 95.2 -95.3S552.5 254.6 500 254.6z m453.6 219L882.5 499c-2.1 5.4 -4.4 10.9 -6.7 16.2l32.4 68.3 21.1 44.4 -34.8 34.9 -82 81.9 -34.8 34.8 -44.4 -21.1 -68.1 -32.5c-5.4 2.4 -10.8 4.7 -16.3 6.8l-25.3 71.1L607.1 850H392.9l-16.5 -46.3 -25.3 -71.1c-5.5 -2.1 -10.9 -4.4 -16.3 -6.8l-68.1 32.5 -44.4 21.1 -34.8 -34.8 -81.9 -81.9L70.8 627.8l21.1 -44.4 32.4 -68.3c-2.4 -5.4 -4.6 -10.8 -6.7 -16.2L46.5 473.6 0 457.2V242.7l46.4 -16.4L117.5 201c2.1 -5.4 4.3 -10.9 6.7 -16.2L91.8 116.6 70.7 72.1l34.8 -34.8 81.9 -81.9 34.8 -34.7 44.4 21.1 68.1 32.4c5.4 -2.3 10.8 -4.6 16.3 -6.7l25.3 -71.2 16.5 -46.3H607l16.5 46.3 25.3 71.2c5.5 2.1 10.9 4.4 16.3 6.7l68.1 -32.4 44.4 -21.1 34.8 34.7 82 81.9 34.8 34.8 -21.1 44.5 -32.4 68.2c2.4 5.4 4.6 10.8 6.7 16.2l71.1 25.3 46.4 16.4v214.5l-46.3 16.4zM930.2 292.1L827.3 255.5c-7.1 -24.6 -16.9 -48.1 -29 -70.1l46.9 -98.6 -81.9 -82 -98.7 46.9c-22 -12.2 -45.5 -22 -70 -29.1L558 -80.3H442.1L405.5 22.6c-24.386 7.034 -47.902 16.795 -70.1 29.1L236.7 4.8l-81.9 82 47 98.6c-12.2 22 -22 45.5 -29.1 70.1L69.8 292.1v116l102.9 36.5c7.1 24.7 16.9 48.1 29.1 70.2l-47 98.6 81.9 81.9 98.7 -46.9c22 12.2 45.5 22 70.1 29.1l36.6 102.9H558l36.6 -102.9c24.5 -7.1 48.1 -16.9 70 -29.1l98.7 46.9 81.9 -81.9 -46.9 -98.6c12.2 -22.1 22 -45.5 29 -70.2l102.9 -36.5v-116z" horiz-adv-x="1000" />
<glyph glyph-name="graph" unicode="&#xe91a;" d="M649.2 529.8l63.1 104.3 -78.4 46.7 213.4 117.3 -4.1 -241.8L764.8 603 678.3 460.2 428.4 522 196 291.7l-43.2 42.9 256.9 254.6 239.5 -59.4zM357.9 10h122.3v436.7l-33 8.2 -89.3 -88.5V10zM174.4 227.4V10h122.3v295.8L196 205.9l-21.6 21.5z m550.5 191.8V10h122.3v473.2l-61.5 36.5L724.9 419.2zM663.7 10v391.3l-122.3 30.3V10h122.3zM920 266.7V-68.9H80v837.8h315v79.3H0v-996.4h1000v414.9h-80z" horiz-adv-x="1000" />
<glyph glyph-name="hamburger" unicode="&#xe91b;" d="M770.3 561.2H229.7v74h540.6v-74z m0 -91.4H229.7v-74h540.6v74z m0 -165.5H229.7v-74h540.6v74z m0 -165.5H229.7v-74h540.6v74zM1000 850V-150H0V850h1000z m-74.1 -74.1H74.1V-76H926v851.9z" horiz-adv-x="1000" />
<glyph glyph-name="import" unicode="&#xe91c;" d="M145.5 442.1c-5.4 5.3 -8 11.7 -8 19.3 0 7.6 2.7 14.1 8 19.4l335.8 325.4c5.3 5.3 11.7 8 19.3 8 7.6 0 14.4 -2.7 20.5 -8L855.7 480.8c5.3 -5.4 8 -11.9 8 -19.4s-2.7 -14 -8 -19.3l-67.2 -64.9c-5.3 -5.3 -11.7 -8 -19.3 -8s-14.4 2.7 -20.5 8L590.5 532V117.7c0 -7.5 -2.7 -14 -8 -19.3s-12.2 -8 -20.5 -8H450.5c-7.6 0 -14.2 2.7 -19.9 8s-8.5 11.7 -8.5 19.3v425.6L252.5 377.2c-6.1 -5.3 -12.9 -8 -20.5 -8s-14 2.7 -19.3 8l-67.2 64.9zM860.2 254.3V19.9H141v234.4H3.3V-49.5c0 -19 6.6 -35.3 19.9 -48.9S52.6 -119 71.6 -119h858.1c19 0 35.1 6.8 48.4 20.5s19.9 30 19.9 48.9v303.9H860.2z" horiz-adv-x="1000" />
<glyph glyph-name="layout" unicode="&#xe91d;" d="M62.5 701.8h260.2V501.5H62.5v200.3z m307.4 0h260.2V501.5H369.9v200.3z m307.4 0h260.2V501.5H677.3v200.3zM62.5 450.3h875V250h-875v200.3z m0 -251.6h398.2V-1.6H62.5v200.3z m476.8 0h398.2V-1.6H539.3v200.3z" horiz-adv-x="1000" />
<glyph glyph-name="minus-circle" unicode="&#xe91e;" d="M500.2 787.5C258.4 787.5 62.5 591.6 62.5 350.2c0 -241.8 195.9 -437.7 437.7 -437.7 241.4 0 437.3 195.9 437.3 437.7 0 241.4 -195.9 437.3 -437.3 437.3zM801.8 321c-.7 -9 -2.2 -19.1 -4.7 -30.3H203.2c-2.5 11.2 -4.3 21.7 -5.1 31.4 -.7 9.7 -1.1 19.8 -1.1 30.3 0 9 .4 18 1.1 26.7 .7 9 2.5 19.1 5.1 30.3h593.9c2.5 -11.2 4 -21.6 4.7 -31.4 1.1 -9.7 1.4 -19.8 1.4 -30.3 .1 -9.1 -.3 -17.7 -1.4 -26.7z" horiz-adv-x="1000" />
<glyph glyph-name="minus-square" unicode="&#xe91f;" d="M865.3 787.5H134.7C94.6 787.5 62.5 755 62.5 715.3V-15.4c0 -39.7 32.1 -72.2 72.2 -72.2h730.7c39.7 0 72.2 32.5 72.2 72.2v730.7c-.1 39.7 -32.6 72.2 -72.3 72.2zM801.8 321c-.7 -9 -2.2 -19.1 -4.7 -30.3H203.2c-2.5 11.2 -4.3 21.6 -5.1 31.4 -.7 9.7 -1.1 19.8 -1.1 30.3 0 9 .4 18 1.1 26.7 .7 9 2.5 19.1 5.1 30.3h593.9c2.5 -11.2 4 -21.6 4.7 -31.4 1.1 -9.7 1.4 -19.8 1.4 -30.3 .1 -9.1 -.3 -17.7 -1.4 -26.7z" horiz-adv-x="1000" />
<glyph glyph-name="minus" unicode="&#xe920;" d="M794 408.8c2.4 -11.2 4 -21.6 4.8 -31.2 .8 -9.6 1.2 -19.6 1.2 -30 0 -8.8 -.4 -17.6 -1.2 -26.4 -.8 -8.8 -2.4 -18.8 -4.8 -30H206c-2.4 11.2 -4 21.6 -4.8 31.2 -.8 9.6 -1.2 19.7 -1.2 30 0 8.8 .4 17.6 1.2 26.4 .8 8.8 2.4 18.8 4.8 30h588z" horiz-adv-x="1000" />
<glyph glyph-name="pagebuilder" unicode="&#xe921;" d="M300.4 459.2v9.1c-.2 3.2 .4 6.1 3.5 7.6 5.7 2.7 11.1 -4.1 16.1 -7.6 49.2 -35 98.3 -70.2 147.6 -105.1 6.7 -4.8 6.8 -7.6 .9 -13.2C431.8 315.6 374.4 272.3 300 271.5l.4 187.7z m583 -160.6c-18.9 15.3 -31.7 14.8 -47.2 -4.5 -36.5 -45.5 -78.6 -85.6 -122.7 -124C567.7 42.8 396.8 -28.1 207.6 -59.3c-24.9 -4.1 -34.5 2.9 -33.9 29.3 .9 38.9 .7 77.8 .7 116.7v-.2 .2l1.3 548.7 .1 26.4c-.5 9.3 1.1 17.5 10.2 21.9 16.4 7.8 32.2 -11.9 46.4 -22.1C374.7 560.5 516.5 458.5 659 357.7c19.4 -13.7 19.6 -22.1 2.6 -38.1C554.1 218.9 430.5 147 288.2 107.9 237 93.8 237.7 93.9 238.7 42.6c.4 -19.9 6 -27.2 26.9 -22.9 41.4 8.6 81.8 20.7 121.3 35.4 153.6 57.3 283.9 148.3 391.9 271.8 24.4 27.9 25.6 27.1 -4.8 48.8L115.7 842.6c-4.8 3.3 -11.5 8.4 -15.7 7.2C91.8 847.4 94.4 838 94.3 831.4c-.5 -38.2 -.7 -76.4 -.9 -114.6 0 -10.1 -.1 -18.9 -.3 -26.7L91.9 556.6l-1 -110.4 -.5 -51.9L90 312.8l-.5 -57.1 -.6 -64.2L87.3 10.3l-.1 -30.4c-.2 -35.2 .1 -70.4 -.7 -105.5 -.4 -18.1 3 -25.6 25 -24.2 86.6 5.4 171.6 18 255 42.5 208 61.1 382.4 174.2 524.2 337.7 32.4 37.4 30.6 37.5 -7.3 68.2z" horiz-adv-x="1000" />
<glyph glyph-name="paste" unicode="&#xe922;" d="M843.6 744.5v33.6h-85.1V850H555.3v-71.9h-88.2v-33.6H310.7V591.6H0V-150h655.4V4.8H1000v739.7H843.6zM596.4 61.2V-91.1H59v623.8h331V336.5h206.5V61.2zM448.9 395.4v98.1l103.2 -98.1H448.9zM943.5 61.2H655.4v317.3l-224.2 213h-63.9v96.6h99.9v-26h376.5v26h99.9V61.2z" horiz-adv-x="1000" />
<glyph glyph-name="pencil" unicode="&#xe923;" d="M0 81.7V-150h231.7l589.6 590.2L589.6 671.9 0 81.7zM198.7 -69.6H80.4V48.7l505.7 506.8L705.5 436.1 198.7 -69.6z m781 765.1L845.5 829.7c-12.2 12.8 -29 20 -47.4 20.3 -18.7 .2 -36.9 -7.1 -50 -20.1l-142.6 -142L837.2 456.2l142.6 142c13.1 13.1 20.4 31.3 20.2 50 -.2 18.2 -7.4 35 -20.3 47.3zM840.1 571.9L721.9 690.1l72.3 72.3L912.4 644.2l-72.3 -72.3z" horiz-adv-x="1000" />
<glyph glyph-name="plus-circle" unicode="&#xe924;" d="M500.2 787.5C258.4 787.5 62.5 591.6 62.5 350.2c0 -241.8 195.9 -437.7 437.7 -437.7 241.4 0 437.3 195.9 437.3 437.7 0 241.4 -195.9 437.3 -437.3 437.3zM801.8 321c-.7 -9 -2.2 -19.1 -4.7 -30.3H559.4V52.9C548.2 50.4 537.8 48.6 528 47.8c-9.7 -.7 -19.8 -1.1 -30.3 -1.1 -9 0 -17.7 .4 -26.7 1.1 -9 .7 -19.1 2.5 -30.3 5.1v237.7H203.2c-2.5 11.2 -4.3 21.7 -5.1 31.4 -.7 9.7 -1.1 19.8 -1.1 30.3 0 9 .4 17.7 1.1 26.7 .7 9 2.5 19.1 5.1 30.3h237.4v237.5c11.2 2.5 21.6 4 31.4 4.7 9.7 1.1 19.8 1.4 30.3 1.4 9 0 18 -.4 26.7 -1.4 9 -.7 19.1 -2.2 30.3 -4.7V409.4h237.8c2.5 -11.2 4 -21.6 4.7 -31.4 1.1 -9.7 1.4 -19.8 1.4 -30.3 .1 -9.1 -.3 -18.1 -1.4 -26.7z" horiz-adv-x="1000" />
<glyph glyph-name="plus-square" unicode="&#xe925;" d="M865.3 787.5H134.7C94.6 787.5 62.5 755 62.5 715.3V-15.4c0 -39.7 32.1 -72.2 72.2 -72.2h730.7c39.7 0 72.2 32.5 72.2 72.2v730.7c-.1 39.7 -32.6 72.2 -72.3 72.2zM801.8 321c-.7 -9 -2.2 -19.1 -4.7 -30.3H559.4V52.9C548.2 50.4 537.7 48.6 528 47.8c-9.7 -.7 -19.8 -1.1 -30.3 -1.1 -9 0 -17.7 .4 -26.7 1.1 -9 .7 -19.1 2.5 -30.3 5.1v237.7H203.2c-2.5 11.2 -4.3 21.7 -5.1 31.4 -.7 9.7 -1.1 19.8 -1.1 30.3 0 9 .4 17.7 1.1 26.7 .7 9 2.5 19.1 5.1 30.3h237.4v237.5c11.2 2.5 21.6 4 31.4 4.7 9.7 1.1 19.8 1.4 30.3 1.4 9 0 18 -.4 26.7 -1.4 9 -.7 19.1 -2.2 30.3 -4.7V409.4h237.8c2.5 -11.2 4 -21.6 4.7 -31.4 1.1 -9.7 1.4 -19.8 1.4 -30.3 .1 -9.1 -.3 -18.1 -1.4 -26.7z" horiz-adv-x="1000" />
<glyph glyph-name="plus" unicode="&#xe926;" d="M935.4 390.4c-1 14.1 -3.1 29.2 -6.8 45.3h-343v343c-16.1 3.6 -30.7 5.7 -43.8 6.8 -12.5 1.6 -25.5 2.1 -38.5 2.1 -15.1 0 -29.7 -.5 -43.7 -2.1 -14.1 -1 -29.2 -3.1 -45.3 -6.8v-343h-343C67.7 419.6 65 405 64 392c-1 -13 -1.6 -25.5 -1.6 -38.5 0 -15.1 .5 -29.7 1.6 -43.7 1 -14.1 3.6 -29.2 7.3 -45.3h343v-343c16.1 -3.6 30.7 -6.3 43.7 -7.3 13 -1 25.5 -1.6 38.5 -1.6 15.1 0 29.7 .5 43.7 1.6 14.1 1 29.2 3.6 45.3 7.3v343h343c3.6 16.1 5.7 30.7 6.8 43.8 1.6 12.5 2.1 25.5 2.1 38.5 .1 14.9 -.4 29.5 -2 43.6z" horiz-adv-x="1000" />
<glyph glyph-name="publish" unicode="&#xe927;" d="M-1.1 851.7v-1000h1000v1000H-1.1z m74 -926v851.9h493.4V502.2l138 138 138 -138v275.4h82.4V-74.3H72.9z m165.7 273h520.6v-80H238.6v80z m0 193h520.6v-80H238.6v80z m246.6 110.4H238.6v80h246.6v-80z" horiz-adv-x="1000" />
<glyph glyph-name="redo" unicode="&#xe928;" d="M904.7 538.9c0 -3 -2.3 -6.4 -6.9 -10.4L753.6 384.3C681.8 313.2 639 270.7 625.2 256.9c-12.5 -11.8 -26.9 -18.7 -43 -20.7s-31.4 1 -45.9 8.9 -25.2 19.3 -32.1 34.1c-6.9 14.8 -8.7 30.8 -5.4 47.9 2 14.5 9.9 28.7 23.7 42.5l94.8 92.8 -10.9 1H456.3c-27 -.6 -52.6 -7.9 -77 -21.7 -38.8 -22.4 -68 -55 -87.4 -97.8C272.5 301.1 265.6 256 271.2 208.6c5.6 -47.4 24 -88.8 55.3 -124C357.8 49.4 396.2 26.2 441.6 15 460 11.1 478.1 8.7 495.9 8.1c22.4 -.6 40.8 -8.2 55.3 -22.7C565.6 -29 572.9 -47 572.9 -68.4s-7.4 -39.3 -22.2 -53.8c-14.8 -14.4 -33.4 -21.7 -55.8 -21.7 -100.1 1.3 -185.3 35.2 -255.8 101.7C192.3 1.9 158.7 53.6 138.3 112.9c-20.4 58.6 -26.4 118.9 -17.8 180.8 7.9 62.6 30.3 120.2 67.2 172.9 62.6 88.9 143.9 138 244 147.2 21.1 2 48.1 3 81 3 46.8 -.7 73.7 -.7 81 0 8.3 0 12.4 -.2 12.3 -.5 3 .8 5.7 1.9 8.3 3.4 -6 5.7 -22 21.2 -48.2 46.5 -18.4 18.4 -33.9 34.2 -46.4 47.4 -15.8 15.8 -23.5 34.2 -23.2 55.3 .3 21 8.4 39 24.2 53.8s33.7 21.8 53.8 21.2c20.1 -.7 38.3 -9.2 54.8 -25.7L897.9 549.5c4.6 -3.9 6.8 -7.6 6.8 -10.6z" horiz-adv-x="1000" />
<glyph glyph-name="save" unicode="&#xe929;" d="M950 850H162.8l-15.1 -11.2L18.4 722.6 0 708.3v-858.2h1000V850h-50zM273.7 765.8h63.2V597.4h-63.2v168.4zM768.4 -97.4H242.1v326.3h526.3V-97.4z m179 0H821.1v379H189.5V-97.3H52.6v782.4l130.7 112.3h6.2V523.7h631.6v273.7h126.3V-97.4z" horiz-adv-x="1000" />
<glyph glyph-name="settings" unicode="&#xe92a;" d="M553.5 484.3c13.8 20.2 19.7 43.9 16.9 67.1l261.3 261.1 146 -146.2L716.6 405.2c-22.8 2.6 -46.2 -3.1 -66 -16.4l-97.1 95.5zM360.9 236.6L195.1 70.7l-9.6 9.6L136 40.2 52.8 -91.3 74 -112.5l131.6 83.3 39.9 49.3 -9.4 9.8 166.1 165.9 -41.3 40.8zM896.7 44.4c34.4 -34.4 34.2 -90.1 -.2 -124.7 -34.4 -34.4 -90.3 -34.6 -124.7 -.2L319.5 372c-18.7 18.7 -45.1 27.5 -71.2 23.9 -59.5 -7.9 -121.9 11 -167.5 56.8C34.2 499.3 15.4 563.2 24.5 623.6c1.5 9.7 13.3 13.6 20.2 6.7l60.6 -60.6c28.8 -28.8 75.4 -28.8 104.1 0l37.2 37.2c28.8 28.8 28.8 75.4 0 104.2L186 771.8c-6.9 6.9 -3 18.7 6.7 20.2 60.6 9 124.3 -9.7 170.9 -56.3 45.6 -45.6 64.7 -108.1 56.8 -167.5 -3.4 -26.2 5.4 -52.5 24.1 -71L896.7 44.4zM844.6 8L383.1 469.4c-10.1 10.1 -26.2 10.1 -36.3 0 -10.1 -9.9 -10.1 -26.2 0 -36.3L808.3 -28.4c10.1 -10.1 26.2 -10.1 36.3 0 10.1 10.2 10.1 26.3 0 36.4z" horiz-adv-x="1000" />
<glyph glyph-name="templates" unicode="&#xe92b;" d="M944.4 155.6h55.6V44.5h-55.6z m-416.6 -250h111.1V-150H527.8z m416.6 416.6h55.6V211.1h-55.6zM55.6 -11.1H0V-150h138.9v55.6H55.6z m305.5 -83.3h111.1V-150H361.1z m-166.7 0h111.1V-150H194.4z m750 583.3h55.6V377.8h-55.6z m-250 -583.3h111.1V-150H694.4z m250 750h55.6V544.5h-55.6z m0 -750h-83.3V-150H1000v138.9h-55.6zM0 155.6h55.6V44.5H0zM194.4 850h111.1v-55.6H194.4zM0 655.6h55.6V544.5H0zM0 488.9h55.6V377.8H0zM694.4 850h111.1v-55.6H694.4zM0 711.1h55.6v83.3h83.3V850H0zM0 322.2h55.6V211.1H0zM361.1 850h111.1v-55.6H361.1z m166.7 0h111.1v-55.6H527.8z m333.3 0v-55.6h83.3v-83.3h55.6V850zM160.2 10.2h679.6v679.6H160.2V10.2z m51.6 628h576.3V535.8H211.8v102.4z m0 -530.2v376.2h576.3V61.9H211.8V108z" horiz-adv-x="1000" />
<glyph glyph-name="trash" unicode="&#xe92c;" d="M384.1 35.6H317v354.8h67.1V35.6z m148.5 354.8h-67.1V35.7h67.1v354.7z m148.5 0H614V35.7h67.1v354.7z m225.2 324.5V506.2h-67.1v-654.5H168.5v654.5H91.9v208.7H317v136.9h364.2V714.9h225.1z m-522.2 0h230v70.5h-230v-70.5zM772.2 496.8H235.6V-81.8h536.6v578.6z m67 151.7H158.9v-75.9h680.3v75.9z" horiz-adv-x="1000" />
<glyph glyph-name="undo" unicode="&#xe92d;" d="M872.5 112.9C852.1 53.6 818.5 1.9 771.7 -42.2 701.3 -108.7 616 -142.6 515.9 -143.9c-22.4 0 -41 7.3 -55.8 21.7 -14.8 14.5 -22.2 32.4 -22.2 53.8s7.3 39.4 21.7 53.8c14.5 14.5 32.9 22.1 55.3 22.7 17.8 .6 35.9 3 54.3 6.9 45.4 11.2 83.8 34.4 115.1 69.6 31.3 35.2 49.7 76.6 55.3 124s-1.3 92.5 -20.7 135.3 -48.6 75.4 -87.4 97.8c-24.4 13.8 -50 21.1 -77 21.7H404.4l-10.9 -1 94.8 -92.8c13.8 -13.8 21.7 -28 23.7 -42.5 3.3 -17.1 1.5 -33.1 -5.4 -47.9C499.7 264.4 489 253 474.5 245.1c-14.5 -7.9 -29.8 -10.9 -45.9 -8.9 -16.1 2 -30.5 8.9 -43 20.7C371.8 270.7 329 313.2 257.2 384.3L112.9 528.8c-4.6 4 -6.9 7.4 -6.9 10.4s2.3 6.4 6.9 10.3l268.6 268.7c16.5 16.5 34.7 25 54.8 25.7 20.1 .6 38 -6.4 53.8 -21.2s23.9 -32.8 24.2 -53.8c.3 -21.1 -7.4 -39.5 -23.2 -55.3 -12.5 -13.2 -28 -29 -46.4 -47.4 -26.2 -25.3 -42.2 -40.8 -48.2 -46.5 2.6 -1.5 5.3 -2.6 8.3 -3.4 -.1 .3 4 .5 12.3 .5 7.3 -.7 34.2 -.7 81 0 32.9 0 59.9 -1 81 -3 100.1 -9.2 181.4 -58.3 244 -147.2C860 413.9 882.4 356.3 890.3 293.7c8.6 -61.9 2.6 -122.2 -17.8 -180.8z" horiz-adv-x="1000" />
</font>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="70px" height="84px" viewBox="0 0 70 84" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 46.2 (44496) - http://www.bohemiancoding.com/sketch -->
<title>Group</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Group-2" transform="translate(-402.000000, -289.000000)" fill-rule="nonzero" fill="#0080FE">
<g id="Design" transform="translate(333.000000, 227.000000)">
<g id="Logo" transform="translate(40.000000, 41.000000)">
<g id="logo-white" transform="translate(29.000000, 21.000000)">
<g id="Group">
<path d="M67.4375065,46.6925984 C66.0102577,45.2713641 64.5830089,45.2713641 63.5125723,47.047907 C60.3012624,50.9563015 56.7331404,54.5093873 53.1650184,57.7071646 C40.6765912,68.3664222 26.0472909,74.4066682 9.99074171,77.2491369 C7.84986848,77.6044454 7.13624408,76.8938283 7.13624408,74.7619768 C7.13624408,71.5641995 7.13624408,68.0111136 7.13624408,64.8133363 L7.13624408,64.8133363 L7.13624408,64.8133363 L7.13624408,64.8133363 L7.13624408,18.2679115 L7.13624408,16.13606 C7.13624408,15.4254428 7.13624408,14.7148257 8.20668069,14.3595171 C9.6339295,13.2935913 10.7043661,15.0701343 12.1316149,16.13606 C24.2632299,24.6634661 36.3948448,33.5461807 48.5264597,42.0735868 C50.3105207,43.1395126 50.3105207,43.8501297 48.8832719,45.2713641 C39.6061546,53.7987702 29.2586007,59.8390161 17.1269858,63.392102 C12.8452393,64.4580278 12.8452393,64.4580278 12.8452393,69.0770394 C12.8452393,70.8535823 13.2020515,71.2088909 14.9861126,70.8535823 C18.5542346,70.1429651 22.1223566,69.0770394 25.3336665,68.0111136 C38.535718,63.0367934 49.5968963,55.5753131 58.8740136,44.9160555 C61.0148868,42.4288954 61.0148868,42.784204 58.5172014,40.6523525 C39.2493424,26.7953176 20.6951078,13.6488999 2.14087322,0.502482222 C1.78406102,0.147173635 1.07043661,-0.208134951 0.713624408,0.147173635 C0,0.147173635 0.356812204,0.857790808 0.356812204,1.56840798 C0.356812204,4.76618526 0.356812204,7.96396253 0.356812204,11.1617398 C0.356812204,12.2276656 0.356812204,12.5829742 0.356812204,13.2935913 L0.356812204,24.6634661 L0.356812204,24.6634661 L0.356812204,33.9014893 L0.356812204,38.1651924 L0.356812204,44.9160555 L0.356812204,49.8903757 L0.356812204,55.2200045 L0.356812204,55.2200045 L0,70.4982737 L0,70.4982737 C0,71.5641995 0,72.2748167 0,72.9854338 C0,75.8279025 0,79.0256798 0,81.8681485 C0,83.2893828 0.356812204,84 2.14087322,84 C9.6339295,83.6446914 16.7701736,82.5787657 23.9064177,80.4469141 C41.7470278,75.1172853 56.3763282,65.5239535 68.5079431,51.6669186 C70.6488163,49.1797585 70.6488163,49.1797585 67.4375065,46.6925984 Z" id="XMLID_5_"></path>
<path d="M31.8149284,42.5397382 C32.1728016,42.1870202 32.1728016,41.8343023 31.8149284,41.4815843 C27.5204499,38.3071228 23.2259714,35.4853791 19.2893661,32.6636355 C18.5736196,32.3109175 18.2157464,31.6054816 17.8578732,31.9581996 C17.5,31.9581996 17.5,32.3109175 17.5,32.6636355 L17.5,33.3690714 L17.5,49.2413793 C23.5838446,48.8886614 28.5940695,45.3614818 31.8149284,42.5397382 Z" id="XMLID_4_"></path>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 945 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 953 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 957 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 951 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 958 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 954 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 955 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 954 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 954 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 952 B

View File

@ -0,0 +1,98 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 20.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="140.1px" height="24.2px" viewBox="0 0 140.1 24.2" style="enable-background:new 0 0 140.1 24.2;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFFFFF;}
</style>
<g>
<g>
<path id="XMLID_5_" class="st0" d="M19,13.5c-0.4-0.4-0.8-0.4-1.1,0.1c-0.9,1.1-1.9,2.1-2.9,3c-3.5,3-7.6,4.7-12.1,5.5
c-0.6,0.1-0.8-0.1-0.8-0.7c0-0.9,0-1.9,0-2.8l0,0l0,0l0,0V5.5V4.9c0-0.2,0-0.4,0.3-0.5c0.4-0.3,0.7,0.2,1.1,0.5
c3.4,2.4,6.8,4.9,10.2,7.3c0.5,0.3,0.5,0.5,0.1,0.9c-2.6,2.4-5.5,4.1-8.9,5.1c-1.2,0.3-1.2,0.3-1.2,1.6c0,0.5,0.1,0.6,0.6,0.5
c1-0.2,2-0.5,2.9-0.8c3.7-1.4,6.8-3.5,9.4-6.5c0.6-0.7,0.6-0.6-0.1-1.2C11.1,7.9,5.9,4.2,0.7,0.5C0.6,0.4,0.4,0.3,0.3,0.4
c-0.2,0-0.1,0.2-0.1,0.4c0,0.9,0,1.8,0,2.7c0,0.3,0,0.4,0,0.6v3.2l0,0v2.6v1.2V13v1.4v1.5l0,0l-0.1,4.3l0,0c0,0.3,0,0.5,0,0.7
c0,0.8,0,1.7,0,2.5c0,0.4,0.1,0.6,0.6,0.6c2.1-0.1,4.1-0.4,6.1-1c5-1.5,9.1-4.2,12.5-8.1C19.9,14.2,19.9,14.2,19,13.5z"/>
<path id="XMLID_4_" class="st0" d="M9.1,12.3c0.1-0.1,0.1-0.2,0-0.3c-1.2-0.9-2.4-1.7-3.5-2.5C5.4,9.4,5.3,9.2,5.2,9.3
c-0.1,0-0.1,0.1-0.1,0.2v0.2v4.5C6.8,14.1,8.2,13.1,9.1,12.3z"/>
</g>
<g>
<path class="st0" d="M53.2,5.7c-0.8-0.7-2.1-1.1-3.6-1.1h-3.2c-0.3,0-0.4,0.1-0.5,0.2c-0.1,0.2-0.2,0.3-0.2,0.5v11.3
c0,0.1,0,0.3,0.1,0.4s0.2,0.2,0.4,0.2h1c0.4,0,0.6-0.2,0.6-0.5v-3.2c0.6,0.1,1.2,0.1,1.7,0.1c1.4,0,2.6-0.4,3.6-1.2s1.5-2,1.5-3.4
C54.5,7.6,54.1,6.5,53.2,5.7z M51.4,11.2c-0.3,0.2-0.6,0.4-1,0.5s-0.8,0.2-1.1,0.2s-0.6,0-0.8,0l-0.7-0.2V6.4h1.8
c0.4,0,0.8,0.1,1.2,0.2C51.9,7,52.5,7.8,52.5,9C52.4,9.9,52,10.7,51.4,11.2z"/>
<path class="st0" d="M61.2,8.6c-0.7-0.6-1.5-0.9-2.6-0.9c-1.2,0-2.1,0.2-2.8,0.6c-0.4,0.2-0.5,0.4-0.5,0.7c0,0.1,0.1,0.3,0.2,0.6
c0.1,0.3,0.3,0.4,0.4,0.4c0.1,0,0.2,0,0.3-0.1c0.7-0.4,1.4-0.6,2-0.6c0.7,0,1.3,0.2,1.7,0.6c0.2,0.2,0.4,0.4,0.5,0.7
s0.2,0.6,0.2,0.8s0,0.5,0,0.7c-0.7-0.6-1.5-0.8-2.4-0.8c-1,0-1.7,0.2-2.4,0.6c-0.7,0.5-1.1,1.3-1.1,2.3c0,0.9,0.3,1.7,1,2.2
c0.3,0.3,0.6,0.4,1,0.6c0.4,0.1,0.8,0.2,1.2,0.2s0.7-0.1,1.1-0.1c0.7-0.2,1.2-0.5,1.6-1V17c0,0.3,0.2,0.4,0.5,0.4h0.8
c0.2,0,0.3-0.1,0.3-0.1c0.1-0.1,0.1-0.2,0.1-0.3v-5c0-0.2,0-0.4,0-0.5C62.4,10.3,62,9.3,61.2,8.6z M59.8,15.3
c-0.2,0.1-0.4,0.3-0.6,0.3c-0.3,0.1-0.5,0.1-0.9,0.1s-0.7-0.1-1-0.4C57.2,15.2,57,15,57,14.9c-0.2-0.1-0.2-0.3-0.2-0.5
s0.1-0.4,0.1-0.6c0.1-0.2,0.3-0.3,0.5-0.5s0.5-0.3,0.9-0.3c0.5,0,1,0.1,1.3,0.3c0.4,0.2,0.6,0.6,0.7,1
C60.3,14.6,60.2,14.9,59.8,15.3z"/>
<path class="st0" d="M70.8,16.6c-0.4-0.2-0.8-0.4-1.2-0.5c-0.4-0.1-1-0.2-1.5-0.2c-0.6,0-1.1,0.1-1.6,0.4c0.1-0.1,0.3-0.3,0.4-0.5
c0.2-0.2,0.9-0.7,2.1-1.4c0.2-0.1,0.4-0.3,0.6-0.4c0.2-0.2,0.4-0.3,0.6-0.5s0.4-0.4,0.5-0.6c0.1-0.2,0.3-0.5,0.3-0.7
c0.1-0.3,0.1-0.5,0.1-0.7s0-0.4,0-0.5c0.4-0.8,0.6-1.8,0.6-2.8c0-1.3-0.2-1.9-0.7-1.9h-0.7c-0.1,0-0.2,0-0.3,0.1
c-0.1,0-0.1,0.1-0.1,0.1c0,0.1-0.1,0.1-0.1,0.3c0,0.1,0.1,0.4,0.2,1s0.2,1.1,0.2,1.6c-0.1-0.2-0.3-0.4-0.4-0.6
c-0.6-0.6-1.5-0.9-2.6-0.9c-1,0-1.9,0.3-2.6,0.9c-0.8,0.6-1.2,1.5-1.2,2.6c0,0.9,0.4,1.7,1.1,2.3c0.6,0.6,1.4,0.9,2.3,1
c-0.6,0.3-1.1,0.7-1.5,1.1c-1.2,1.1-1.8,2.2-1.8,3.3c0,0.9,0.4,1.7,1.3,2.2c0.8,0.5,1.8,0.8,2.9,0.8s2.1-0.3,2.9-0.8
c0.9-0.6,1.4-1.4,1.4-2.3C72,17.8,71.6,17.1,70.8,16.6z M66.7,12.9c-0.3-0.1-0.4-0.2-0.6-0.4s-0.3-0.4-0.4-0.6
c-0.1-0.2-0.2-0.5-0.2-0.8s0.1-0.5,0.2-0.7c0.3-0.6,0.9-1,1.8-1c0.6,0,1,0.1,1.4,0.4c0.4,0.3,0.6,0.7,0.6,1.3c0,0.5-0.2,1-0.6,1.3
c-0.2,0.2-0.4,0.3-0.6,0.4C68,13,67.8,13,67.5,13S67,13,66.7,12.9z M69.9,19.4c-0.4,0.5-1.1,0.8-2.1,0.8c-0.6,0-1.2-0.1-1.6-0.4
c-0.2-0.1-0.4-0.3-0.5-0.5s-0.2-0.4-0.2-0.7c0-0.3,0.1-0.5,0.3-0.8c0.4-0.3,1-0.4,2-0.4c0.6,0,1.2,0.1,1.5,0.3
c0.2,0.1,0.4,0.3,0.6,0.4c0.2,0.2,0.3,0.4,0.3,0.6C70,19,70,19.2,69.9,19.4z"/>
<path class="st0" d="M79.9,15.2c-0.1-0.2-0.3-0.3-0.4-0.3S79.3,15,79.2,15c-0.7,0.5-1.4,0.7-2.2,0.7c-0.8,0-1.5-0.3-2-0.7
c-0.5-0.4-0.7-1-0.7-1.8V13c0.9,0.2,1.6,0.4,2.2,0.4c1.1,0,1.9-0.2,2.6-0.6c0.8-0.5,1.1-1.2,1.1-2.1c0-0.9-0.3-1.7-1-2.2
c-0.3-0.3-0.6-0.4-1.1-0.6c-0.4-0.1-0.9-0.2-1.5-0.2S75.4,7.8,74.9,8c-1.8,0.6-2.7,2.2-2.7,4.7c0,1.4,0.4,2.6,1.3,3.4
c0.4,0.4,0.9,0.7,1.4,0.9c0.6,0.2,1.1,0.3,1.7,0.3c0.5,0,1.1-0.1,1.6-0.2c0.3-0.1,0.5-0.1,0.7-0.2s0.4-0.2,0.6-0.3
c0.2-0.1,0.3-0.2,0.4-0.4c0.1-0.1,0.2-0.3,0.2-0.4s0-0.3-0.1-0.4L79.9,15.2z M74.6,10.5c0.4-0.7,1.1-1.1,2.1-1.1s1.6,0.4,1.6,1.2
s-0.7,1.2-2.2,1.2c-0.7,0-1.3-0.1-1.8-0.4C74.4,11.1,74.5,10.8,74.6,10.5z"/>
<path class="st0" d="M93.8,11.2c-0.4-0.4-1-0.6-1.6-0.7c0.4-0.2,0.8-0.4,1-0.7c0.4-0.5,0.7-1.2,0.7-2c0-1.2-0.5-2-1.4-2.6
c-0.8-0.5-1.7-0.7-2.8-0.7h-3.9c-0.1,0-0.3,0-0.3,0.1c-0.3,0.1-0.4,0.4-0.4,0.8v11.2c0,0.2,0.1,0.4,0.2,0.6s0.3,0.3,0.6,0.3h4
c1.4,0,2.6-0.3,3.5-0.9c1-0.7,1.5-1.7,1.5-3C94.8,12.5,94.4,11.8,93.8,11.2z M91.3,12c0.2,0.1,0.4,0.2,0.5,0.3s0.3,0.3,0.3,0.5
s0.1,0.4,0.1,0.8c0,0.3-0.1,0.6-0.2,0.8c-0.4,0.6-1.1,1-2.3,1h-2.4v-3.6h0.5c0.6,0,1.1,0,1.6,0c0.4,0,0.8,0,1.2,0.1
C90.9,11.9,91.1,11.9,91.3,12z M91,9.2c-0.4,0.3-1,0.5-1.8,0.5c-0.5,0-1.1,0.1-1.9,0.1V6.5h1.8c0.8,0,1.4,0.1,1.8,0.4
c0.4,0.2,0.6,0.6,0.6,1.2C91.5,8.5,91.4,8.9,91,9.2z"/>
<path class="st0" d="M104.3,13.6V8.5c0-0.2-0.1-0.3-0.2-0.5c-0.1-0.1-0.3-0.2-0.5-0.2h-0.8c-0.2,0-0.4,0.1-0.5,0.2
c-0.1,0.1-0.2,0.3-0.2,0.5v4.9c0,0.6-0.3,1.1-0.7,1.5c-0.2,0.2-0.4,0.4-0.7,0.5s-0.5,0.2-0.8,0.2s-0.5,0-0.7-0.1
c-0.5-0.2-0.8-0.9-0.8-2.1V8.5c0-0.4-0.3-0.7-0.7-0.7h-0.9c-0.2,0-0.4,0.1-0.5,0.2c-0.1,0.1-0.2,0.3-0.2,0.5v4.9
c0,1.3,0.3,2.4,0.8,3c0.5,0.7,1.4,1,2.5,1c0.8,0,1.5-0.2,2.1-0.5c0.5-0.3,0.8-0.6,1.1-1.1c0.1,0.4,0.2,0.7,0.3,0.9
c0.1,0.2,0.3,0.5,0.8,0.5h0.4c0.4,0,0.6-0.2,0.6-0.7c0-0.1,0-0.2,0-0.3C104.4,15.6,104.3,14.7,104.3,13.6z"/>
<path class="st0" d="M107.3,6.5c0.4,0,0.8-0.1,1-0.4c0.3-0.3,0.4-0.6,0.4-1c0-0.2,0-0.4-0.1-0.6c-0.3-0.6-0.7-0.9-1.3-0.9
c-0.4,0-0.8,0.1-1,0.4s-0.4,0.6-0.4,1s0.1,0.8,0.4,1C106.6,6.3,106.9,6.5,107.3,6.5z"/>
<path class="st0" d="M109.8,15.5c-0.1-0.3-0.3-0.3-0.4-0.3s-0.2,0-0.5,0.1c-0.1,0-0.2,0.1-0.3,0.1c-0.1,0-0.3,0-0.3-0.4V8.5
c0-0.2,0-0.3-0.1-0.4c-0.1-0.1-0.3-0.2-0.4-0.2h-1c-0.2,0-0.3,0.1-0.4,0.2c-0.1,0.1-0.2,0.3-0.2,0.5V15c0,0.9,0.2,1.6,0.5,2
c0.2,0.2,0.4,0.4,0.6,0.4c0.2,0.1,0.5,0.1,0.9,0.1s0.8-0.1,1.2-0.3c0.4-0.2,0.7-0.5,0.7-0.8c0-0.1,0-0.2-0.1-0.3L109.8,15.5z"/>
<path class="st0" d="M114.5,15.5c-0.1-0.3-0.3-0.3-0.4-0.3s-0.2,0-0.5,0.1c-0.1,0-0.2,0.1-0.3,0.1c-0.1,0-0.3,0-0.3-0.4V3.2
c0-0.2,0-0.3-0.1-0.4s-0.3-0.2-0.4-0.2h-1.1c-0.2,0-0.3,0.1-0.4,0.2s-0.2,0.3-0.2,0.4v11.7c0,1.7,0.7,2.6,2,2.6
c0.7,0,1.3-0.2,1.7-0.5c0.3-0.2,0.4-0.4,0.4-0.6c0-0.1,0-0.2-0.1-0.3L114.5,15.5z"/>
<path class="st0" d="M123.7,13.7V3.2c0-0.2,0-0.3-0.1-0.4s-0.3-0.2-0.4-0.2H122c-0.2,0-0.3,0.1-0.4,0.2s-0.2,0.3-0.2,0.4v5.5
c-0.6-0.8-1.5-1.1-2.7-1.1s-2.2,0.5-3,1.5c-0.7,0.9-1,2.1-1,3.5c0,1.3,0.4,2.5,1.1,3.4c0.3,0.4,0.8,0.8,1.3,1.1
c0.5,0.3,1,0.4,1.5,0.4s0.9-0.1,1.3-0.1c0.9-0.3,1.6-0.8,2-1.5c0.1,0.4,0.2,0.7,0.3,1c0.1,0.3,0.4,0.5,0.8,0.5h0.4
c0.2,0,0.4-0.1,0.5-0.2s0.2-0.3,0.2-0.4s0-0.2,0-0.3C123.8,15.7,123.7,14.8,123.7,13.7z M121.6,12.7c0,0.8-0.3,1.5-0.8,2.1
c-0.5,0.5-1,0.8-1.7,0.8s-1.2-0.3-1.6-0.9c-0.2-0.3-0.3-0.6-0.4-0.9c-0.1-0.4-0.1-0.7-0.1-1.1c0-0.8,0.2-1.5,0.5-2.1
c0.4-0.7,0.9-1,1.6-1s1.3,0.3,1.7,0.8C121.3,11,121.6,11.7,121.6,12.7z"/>
<path class="st0" d="M131.8,12.9c0.8-0.5,1.2-1.2,1.2-2.2s-0.3-1.7-1-2.3c-0.3-0.3-0.7-0.4-1.1-0.6c-0.4-0.1-1-0.2-1.5-0.2
c-0.6,0-1.2,0.1-1.8,0.3c-1.8,0.6-2.8,2.2-2.8,4.8c0,1.5,0.4,2.6,1.3,3.5c0.4,0.4,0.9,0.7,1.5,0.9c0.6,0.2,1.1,0.3,1.7,0.3
c0.5,0,1.1-0.1,1.6-0.1c0.3-0.1,0.5-0.1,0.8-0.2s0.4-0.2,0.6-0.3s0.4-0.3,0.5-0.4c0.1-0.2,0.2-0.3,0.2-0.5c0-0.1,0-0.3-0.1-0.4
l-0.2-0.4c-0.1-0.2-0.3-0.4-0.6-0.4c-0.1,0-0.3,0-0.4,0.1c-0.6,0.4-1.3,0.7-2.1,0.7s-1.5-0.2-1.9-0.7c-0.4-0.4-0.7-1-0.7-1.7
c0.8,0.2,1.5,0.3,2.2,0.3C130.3,13.5,131.1,13.3,131.8,12.9z M130.8,10.6c0,0.7-0.6,1.1-2,1.1c-0.7,0-1.2-0.1-1.7-0.3
c0-0.3,0.1-0.6,0.2-0.8c0.4-0.7,1-1,2-1C130.8,9.6,130.8,10.4,130.8,10.6z"/>
<path class="st0" d="M139.7,7.9c-0.3-0.2-0.7-0.3-1.4-0.3c-0.6,0-1.1,0.2-1.5,0.6c-0.2,0.2-0.4,0.4-0.5,0.7
c-0.1,0.1-0.1,0.3-0.2,0.4c-0.1-0.4-0.2-0.7-0.3-1s-0.4-0.5-0.8-0.5h-0.4c-0.3,0-0.6,0.1-0.6,0.7c0,0.1,0,0.2,0.1,0.6
c0.1,0.3,0.1,0.9,0.1,1.9v5.6c0,0.2,0.1,0.3,0.2,0.5c0.1,0.1,0.3,0.2,0.5,0.2h1c0.2,0,0.4-0.1,0.5-0.2s0.2-0.3,0.2-0.5v-4.4
c0-0.6,0.2-1.2,0.5-1.7c0.1-0.3,0.3-0.4,0.5-0.6c0.2-0.1,0.4-0.2,0.5-0.2c0.2,0,0.4,0.1,0.8,0.1c0.2,0.1,0.3,0.1,0.5,0.1
c0.3,0,0.5-0.2,0.6-0.5l0.1-1C139.9,8.2,139.8,8.1,139.7,7.9z"/>
<path class="st0" d="M28.3,9.8l-0.8-0.3c-1-0.4-1.5-1-1.5-1.7c0-0.5,0.2-0.9,0.5-1.1c0.2-0.1,0.4-0.2,0.6-0.3s0.5-0.1,0.9-0.1
s0.8,0.1,1.2,0.3c0.4,0.2,0.7,0.3,1,0.5c0.2,0.1,0.4,0.2,0.5,0.2s0.2,0,0.3-0.1c0.1-0.1,0.2-0.3,0.4-0.6c0.1-0.3,0.2-0.5,0.2-0.6
c0-0.2-0.2-0.5-0.6-0.8c-0.8-0.5-1.7-0.8-2.9-0.8c-1.1,0-2,0.3-2.8,0.9S24,6.7,24,7.8c0,1,0.3,1.8,1.1,2.5
c0.3,0.3,0.7,0.6,1.1,0.8s0.8,0.4,1.2,0.6c0.4,0.1,0.7,0.3,1,0.4c1,0.5,1.5,1.1,1.5,1.8c0,0.5-0.2,1-0.6,1.3
c-0.2,0.1-0.4,0.2-0.6,0.3c-0.3,0.1-0.6,0.1-1,0.1s-0.9-0.1-1.4-0.3c-0.2-0.1-0.4-0.2-0.7-0.3c-0.2-0.1-0.4-0.2-0.5-0.3
c-0.1-0.1-0.3-0.1-0.4-0.1s-0.2,0.1-0.3,0.2c-0.1,0.1-0.1,0.2-0.3,0.5c-0.2,0.2-0.3,0.5-0.3,0.7c0,0.2,0.2,0.4,0.6,0.7
c0.9,0.6,2.1,0.8,3.4,0.8c1.1,0,2-0.3,2.8-1c0.8-0.7,1.3-1.6,1.3-2.7c0-1-0.4-1.9-1.2-2.6C30.2,10.7,29.4,10.3,28.3,9.8z"/>
<path class="st0" d="M40.7,5.7c-0.8-0.7-2-1.1-3.6-1.1h-3.3c-0.2,0-0.4,0.1-0.5,0.2s-0.1,0.3-0.1,0.5v11.4c0,0.1,0,0.3,0.1,0.4
s0.2,0.2,0.4,0.2h1c0.4,0,0.6-0.2,0.6-0.5l0,0v-3.2c0.7,0.1,1.2,0.1,1.7,0.1c1.5,0,2.6-0.4,3.6-1.2s1.5-2,1.5-3.4
C42,7.6,41.6,6.5,40.7,5.7z M38.9,11.2c-0.3,0.2-0.6,0.4-1,0.5s-0.8,0.2-1.1,0.2s-0.6,0-0.8,0l-0.6-0.1l0,0V6.4h1.8
c0.4,0,0.8,0.1,1.2,0.2c0.9,0.3,1.4,1.1,1.4,2.4C39.8,10,39.5,10.7,38.9,11.2z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 9.6 KiB

View File

@ -0,0 +1,111 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 20.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="140.1px" height="24.2px" viewBox="0 0 140.1 24.2" style="enable-background:new 0 0 140.1 24.2;" xml:space="preserve">
<style type="text/css">
.st0{fill:url(#XMLID_2_);}
.st1{fill:url(#XMLID_3_);}
</style>
<g>
<g>
<linearGradient id="XMLID_2_" gradientUnits="userSpaceOnUse" x1="-6.726667e-02" y1="-38.1501" x2="19.6942" y2="-38.1501" gradientTransform="matrix(1 0 0 -1 0 -26)">
<stop offset="0" style="stop-color:#008CCE"/>
<stop offset="0.7585" style="stop-color:#00AEEF"/>
<stop offset="1" style="stop-color:#00C0F3"/>
</linearGradient>
<path id="XMLID_5_" class="st0" d="M19,13.5c-0.4-0.4-0.8-0.4-1.1,0.1c-0.9,1.1-1.9,2.1-2.9,3c-3.5,3-7.6,4.7-12.1,5.5
c-0.6,0.1-0.8-0.1-0.8-0.7c0-0.9,0-1.9,0-2.8l0,0l0,0l0,0V5.5V4.9c0-0.2,0-0.4,0.3-0.5c0.4-0.3,0.7,0.2,1.1,0.5
c3.4,2.4,6.8,4.9,10.2,7.3c0.5,0.3,0.5,0.5,0.1,0.9c-2.6,2.4-5.5,4.1-8.9,5.1c-1.2,0.3-1.2,0.3-1.2,1.6c0,0.5,0.1,0.6,0.6,0.5
c1-0.2,2-0.5,2.9-0.8c3.7-1.4,6.8-3.5,9.4-6.5c0.6-0.7,0.6-0.6-0.1-1.2C11.1,7.9,5.9,4.2,0.7,0.5C0.6,0.4,0.4,0.3,0.3,0.4
c-0.2,0-0.1,0.2-0.1,0.4c0,0.9,0,1.8,0,2.7c0,0.3,0,0.4,0,0.6v3.2l0,0v2.6v1.2V13v1.4v1.5l0,0l-0.1,4.3l0,0c0,0.3,0,0.5,0,0.7
c0,0.8,0,1.7,0,2.5c0,0.4,0.1,0.6,0.6,0.6c2.1-0.1,4.1-0.4,6.1-1c5-1.5,9.1-4.2,12.5-8.1C19.9,14.2,19.9,14.2,19,13.5z"/>
<linearGradient id="XMLID_3_" gradientUnits="userSpaceOnUse" x1="5.041" y1="-37.7072" x2="9.1692" y2="-37.7072" gradientTransform="matrix(1 0 0 -1 0 -26)">
<stop offset="0" style="stop-color:#008CCE"/>
<stop offset="0.7585" style="stop-color:#00AEEF"/>
<stop offset="1" style="stop-color:#00C0F3"/>
</linearGradient>
<path id="XMLID_4_" class="st1" d="M9.1,12.3c0.1-0.1,0.1-0.2,0-0.3c-1.2-0.9-2.4-1.7-3.5-2.5C5.4,9.4,5.3,9.2,5.2,9.3
c-0.1,0-0.1,0.1-0.1,0.2v0.2v4.5C6.8,14.1,8.2,13.1,9.1,12.3z"/>
</g>
<g>
<path d="M53.2,5.7c-0.8-0.7-2.1-1.1-3.6-1.1h-3.2c-0.3,0-0.4,0.1-0.5,0.2c-0.1,0.2-0.2,0.3-0.2,0.5v11.3c0,0.1,0,0.3,0.1,0.4
s0.2,0.2,0.4,0.2h1c0.4,0,0.6-0.2,0.6-0.5v-3.2c0.6,0.1,1.2,0.1,1.7,0.1c1.4,0,2.6-0.4,3.6-1.2s1.5-2,1.5-3.4
C54.5,7.6,54.1,6.5,53.2,5.7z M51.4,11.2c-0.3,0.2-0.6,0.4-1,0.5s-0.8,0.2-1.1,0.2s-0.6,0-0.8,0l-0.7-0.2V6.4h1.8
c0.4,0,0.8,0.1,1.2,0.2C51.9,7,52.5,7.8,52.5,9C52.4,9.9,52,10.7,51.4,11.2z"/>
<path d="M61.2,8.6c-0.7-0.6-1.5-0.9-2.6-0.9c-1.2,0-2.1,0.2-2.8,0.6c-0.4,0.2-0.5,0.4-0.5,0.7c0,0.1,0.1,0.3,0.2,0.6
c0.1,0.3,0.3,0.4,0.4,0.4c0.1,0,0.2,0,0.3-0.1c0.7-0.4,1.4-0.6,2-0.6c0.7,0,1.3,0.2,1.7,0.6c0.2,0.2,0.4,0.4,0.5,0.7
s0.2,0.6,0.2,0.8s0,0.5,0,0.7c-0.7-0.6-1.5-0.8-2.4-0.8c-1,0-1.7,0.2-2.4,0.6c-0.7,0.5-1.1,1.3-1.1,2.3c0,0.9,0.3,1.7,1,2.2
c0.3,0.3,0.6,0.4,1,0.6c0.4,0.1,0.8,0.2,1.2,0.2s0.7-0.1,1.1-0.1c0.7-0.2,1.2-0.5,1.6-1V17c0,0.3,0.2,0.4,0.5,0.4h0.8
c0.2,0,0.3-0.1,0.3-0.1c0.1-0.1,0.1-0.2,0.1-0.3v-5c0-0.2,0-0.4,0-0.5C62.4,10.3,62,9.3,61.2,8.6z M59.8,15.3
c-0.2,0.1-0.4,0.3-0.6,0.3c-0.3,0.1-0.5,0.1-0.9,0.1s-0.7-0.1-1-0.4C57.2,15.2,57,15,57,14.9c-0.2-0.1-0.2-0.3-0.2-0.5
s0.1-0.4,0.1-0.6c0.1-0.2,0.3-0.3,0.5-0.5s0.5-0.3,0.9-0.3c0.5,0,1,0.1,1.3,0.3c0.4,0.2,0.6,0.6,0.7,1
C60.3,14.6,60.2,14.9,59.8,15.3z"/>
<path d="M70.8,16.6c-0.4-0.2-0.8-0.4-1.2-0.5c-0.4-0.1-1-0.2-1.5-0.2c-0.6,0-1.1,0.1-1.6,0.4c0.1-0.1,0.3-0.3,0.4-0.5
c0.2-0.2,0.9-0.7,2.1-1.4c0.2-0.1,0.4-0.3,0.6-0.4c0.2-0.2,0.4-0.3,0.6-0.5s0.4-0.4,0.5-0.6c0.1-0.2,0.3-0.5,0.3-0.7
c0.1-0.3,0.1-0.5,0.1-0.7s0-0.4,0-0.5c0.4-0.8,0.6-1.8,0.6-2.8c0-1.3-0.2-1.9-0.7-1.9h-0.7c-0.1,0-0.2,0-0.3,0.1
c-0.1,0-0.1,0.1-0.1,0.1c0,0.1-0.1,0.1-0.1,0.3c0,0.1,0.1,0.4,0.2,1s0.2,1.1,0.2,1.6c-0.1-0.2-0.3-0.4-0.4-0.6
c-0.6-0.6-1.5-0.9-2.6-0.9c-1,0-1.9,0.3-2.6,0.9c-0.8,0.6-1.2,1.5-1.2,2.6c0,0.9,0.4,1.7,1.1,2.3c0.6,0.6,1.4,0.9,2.3,1
c-0.6,0.3-1.1,0.7-1.5,1.1c-1.2,1.1-1.8,2.2-1.8,3.3c0,0.9,0.4,1.7,1.3,2.2c0.8,0.5,1.8,0.8,2.9,0.8s2.1-0.3,2.9-0.8
c0.9-0.6,1.4-1.4,1.4-2.3C72,17.8,71.6,17.1,70.8,16.6z M66.7,12.9c-0.3-0.1-0.4-0.2-0.6-0.4s-0.3-0.4-0.4-0.6
c-0.1-0.2-0.2-0.5-0.2-0.8s0.1-0.5,0.2-0.7c0.3-0.6,0.9-1,1.8-1c0.6,0,1,0.1,1.4,0.4c0.4,0.3,0.6,0.7,0.6,1.3c0,0.5-0.2,1-0.6,1.3
c-0.2,0.2-0.4,0.3-0.6,0.4C68,13,67.8,13,67.5,13S67,13,66.7,12.9z M69.9,19.4c-0.4,0.5-1.1,0.8-2.1,0.8c-0.6,0-1.2-0.1-1.6-0.4
c-0.2-0.1-0.4-0.3-0.5-0.5s-0.2-0.4-0.2-0.7c0-0.3,0.1-0.5,0.3-0.8c0.4-0.3,1-0.4,2-0.4c0.6,0,1.2,0.1,1.5,0.3
c0.2,0.1,0.4,0.3,0.6,0.4c0.2,0.2,0.3,0.4,0.3,0.6C70,19,70,19.2,69.9,19.4z"/>
<path d="M79.9,15.2c-0.1-0.2-0.3-0.3-0.4-0.3S79.3,15,79.2,15c-0.7,0.5-1.4,0.7-2.2,0.7c-0.8,0-1.5-0.3-2-0.7
c-0.5-0.4-0.7-1-0.7-1.8V13c0.9,0.2,1.6,0.4,2.2,0.4c1.1,0,1.9-0.2,2.6-0.6c0.8-0.5,1.1-1.2,1.1-2.1c0-0.9-0.3-1.7-1-2.2
c-0.3-0.3-0.6-0.4-1.1-0.6c-0.4-0.1-0.9-0.2-1.5-0.2S75.4,7.8,74.9,8c-1.8,0.6-2.7,2.2-2.7,4.7c0,1.4,0.4,2.6,1.3,3.4
c0.4,0.4,0.9,0.7,1.4,0.9c0.6,0.2,1.1,0.3,1.7,0.3c0.5,0,1.1-0.1,1.6-0.2c0.3-0.1,0.5-0.1,0.7-0.2s0.4-0.2,0.6-0.3
c0.2-0.1,0.3-0.2,0.4-0.4c0.1-0.1,0.2-0.3,0.2-0.4s0-0.3-0.1-0.4L79.9,15.2z M74.6,10.5c0.4-0.7,1.1-1.1,2.1-1.1s1.6,0.4,1.6,1.2
s-0.7,1.2-2.2,1.2c-0.7,0-1.3-0.1-1.8-0.4C74.4,11.1,74.5,10.8,74.6,10.5z"/>
<path d="M93.8,11.2c-0.4-0.4-1-0.6-1.6-0.7c0.4-0.2,0.8-0.4,1-0.7c0.4-0.5,0.7-1.2,0.7-2c0-1.2-0.5-2-1.4-2.6
c-0.8-0.5-1.7-0.7-2.8-0.7h-3.9c-0.1,0-0.3,0-0.3,0.1c-0.3,0.1-0.4,0.4-0.4,0.8v11.2c0,0.2,0.1,0.4,0.2,0.6s0.3,0.3,0.6,0.3h4
c1.4,0,2.6-0.3,3.5-0.9c1-0.7,1.5-1.7,1.5-3C94.8,12.5,94.4,11.8,93.8,11.2z M91.3,12c0.2,0.1,0.4,0.2,0.5,0.3s0.3,0.3,0.3,0.5
s0.1,0.4,0.1,0.8c0,0.3-0.1,0.6-0.2,0.8c-0.4,0.6-1.1,1-2.3,1h-2.4v-3.6h0.5c0.6,0,1.1,0,1.6,0c0.4,0,0.8,0,1.2,0.1
C90.9,11.9,91.1,11.9,91.3,12z M91,9.2c-0.4,0.3-1,0.5-1.8,0.5c-0.5,0-1.1,0.1-1.9,0.1V6.5h1.8c0.8,0,1.4,0.1,1.8,0.4
c0.4,0.2,0.6,0.6,0.6,1.2C91.5,8.5,91.4,8.9,91,9.2z"/>
<path d="M104.3,13.6V8.5c0-0.2-0.1-0.3-0.2-0.5c-0.1-0.1-0.3-0.2-0.5-0.2h-0.8c-0.2,0-0.4,0.1-0.5,0.2c-0.1,0.1-0.2,0.3-0.2,0.5
v4.9c0,0.6-0.3,1.1-0.7,1.5c-0.2,0.2-0.4,0.4-0.7,0.5s-0.5,0.2-0.8,0.2s-0.5,0-0.7-0.1c-0.5-0.2-0.8-0.9-0.8-2.1V8.5
c0-0.4-0.3-0.7-0.7-0.7h-0.9c-0.2,0-0.4,0.1-0.5,0.2c-0.1,0.1-0.2,0.3-0.2,0.5v4.9c0,1.3,0.3,2.4,0.8,3c0.5,0.7,1.4,1,2.5,1
c0.8,0,1.5-0.2,2.1-0.5c0.5-0.3,0.8-0.6,1.1-1.1c0.1,0.4,0.2,0.7,0.3,0.9c0.1,0.2,0.3,0.5,0.8,0.5h0.4c0.4,0,0.6-0.2,0.6-0.7
c0-0.1,0-0.2,0-0.3C104.4,15.6,104.3,14.7,104.3,13.6z"/>
<path d="M107.3,6.5c0.4,0,0.8-0.1,1-0.4c0.3-0.3,0.4-0.6,0.4-1c0-0.2,0-0.4-0.1-0.6c-0.3-0.6-0.7-0.9-1.3-0.9
c-0.4,0-0.8,0.1-1,0.4s-0.4,0.6-0.4,1s0.1,0.8,0.4,1C106.6,6.3,106.9,6.5,107.3,6.5z"/>
<path d="M109.8,15.5c-0.1-0.3-0.3-0.3-0.4-0.3s-0.2,0-0.5,0.1c-0.1,0-0.2,0.1-0.3,0.1c-0.1,0-0.3,0-0.3-0.4V8.5
c0-0.2,0-0.3-0.1-0.4c-0.1-0.1-0.3-0.2-0.4-0.2h-1c-0.2,0-0.3,0.1-0.4,0.2c-0.1,0.1-0.2,0.3-0.2,0.5V15c0,0.9,0.2,1.6,0.5,2
c0.2,0.2,0.4,0.4,0.6,0.4c0.2,0.1,0.5,0.1,0.9,0.1s0.8-0.1,1.2-0.3c0.4-0.2,0.7-0.5,0.7-0.8c0-0.1,0-0.2-0.1-0.3L109.8,15.5z"/>
<path d="M114.5,15.5c-0.1-0.3-0.3-0.3-0.4-0.3s-0.2,0-0.5,0.1c-0.1,0-0.2,0.1-0.3,0.1c-0.1,0-0.3,0-0.3-0.4V3.2
c0-0.2,0-0.3-0.1-0.4s-0.3-0.2-0.4-0.2h-1.1c-0.2,0-0.3,0.1-0.4,0.2s-0.2,0.3-0.2,0.4v11.7c0,1.7,0.7,2.6,2,2.6
c0.7,0,1.3-0.2,1.7-0.5c0.3-0.2,0.4-0.4,0.4-0.6c0-0.1,0-0.2-0.1-0.3L114.5,15.5z"/>
<path d="M123.7,13.7V3.2c0-0.2,0-0.3-0.1-0.4s-0.3-0.2-0.4-0.2H122c-0.2,0-0.3,0.1-0.4,0.2s-0.2,0.3-0.2,0.4v5.5
c-0.6-0.8-1.5-1.1-2.7-1.1s-2.2,0.5-3,1.5c-0.7,0.9-1,2.1-1,3.5c0,1.3,0.4,2.5,1.1,3.4c0.3,0.4,0.8,0.8,1.3,1.1
c0.5,0.3,1,0.4,1.5,0.4s0.9-0.1,1.3-0.1c0.9-0.3,1.6-0.8,2-1.5c0.1,0.4,0.2,0.7,0.3,1c0.1,0.3,0.4,0.5,0.8,0.5h0.4
c0.2,0,0.4-0.1,0.5-0.2s0.2-0.3,0.2-0.4s0-0.2,0-0.3C123.8,15.7,123.7,14.8,123.7,13.7z M121.6,12.7c0,0.8-0.3,1.5-0.8,2.1
c-0.5,0.5-1,0.8-1.7,0.8s-1.2-0.3-1.6-0.9c-0.2-0.3-0.3-0.6-0.4-0.9c-0.1-0.4-0.1-0.7-0.1-1.1c0-0.8,0.2-1.5,0.5-2.1
c0.4-0.7,0.9-1,1.6-1s1.3,0.3,1.7,0.8C121.3,11,121.6,11.7,121.6,12.7z"/>
<path d="M131.8,12.9c0.8-0.5,1.2-1.2,1.2-2.2s-0.3-1.7-1-2.3c-0.3-0.3-0.7-0.4-1.1-0.6c-0.4-0.1-1-0.2-1.5-0.2
c-0.6,0-1.2,0.1-1.8,0.3c-1.8,0.6-2.8,2.2-2.8,4.8c0,1.5,0.4,2.6,1.3,3.5c0.4,0.4,0.9,0.7,1.5,0.9c0.6,0.2,1.1,0.3,1.7,0.3
c0.5,0,1.1-0.1,1.6-0.1c0.3-0.1,0.5-0.1,0.8-0.2s0.4-0.2,0.6-0.3s0.4-0.3,0.5-0.4c0.1-0.2,0.2-0.3,0.2-0.5c0-0.1,0-0.3-0.1-0.4
l-0.2-0.4c-0.1-0.2-0.3-0.4-0.6-0.4c-0.1,0-0.3,0-0.4,0.1c-0.6,0.4-1.3,0.7-2.1,0.7s-1.5-0.2-1.9-0.7c-0.4-0.4-0.7-1-0.7-1.7
c0.8,0.2,1.5,0.3,2.2,0.3C130.3,13.5,131.1,13.3,131.8,12.9z M130.8,10.6c0,0.7-0.6,1.1-2,1.1c-0.7,0-1.2-0.1-1.7-0.3
c0-0.3,0.1-0.6,0.2-0.8c0.4-0.7,1-1,2-1C130.8,9.6,130.8,10.4,130.8,10.6z"/>
<path d="M139.7,7.9c-0.3-0.2-0.7-0.3-1.4-0.3c-0.6,0-1.1,0.2-1.5,0.6c-0.2,0.2-0.4,0.4-0.5,0.7c-0.1,0.1-0.1,0.3-0.2,0.4
c-0.1-0.4-0.2-0.7-0.3-1s-0.4-0.5-0.8-0.5h-0.4c-0.3,0-0.6,0.1-0.6,0.7c0,0.1,0,0.2,0.1,0.6c0.1,0.3,0.1,0.9,0.1,1.9v5.6
c0,0.2,0.1,0.3,0.2,0.5c0.1,0.1,0.3,0.2,0.5,0.2h1c0.2,0,0.4-0.1,0.5-0.2s0.2-0.3,0.2-0.5v-4.4c0-0.6,0.2-1.2,0.5-1.7
c0.1-0.3,0.3-0.4,0.5-0.6c0.2-0.1,0.4-0.2,0.5-0.2c0.2,0,0.4,0.1,0.8,0.1c0.2,0.1,0.3,0.1,0.5,0.1c0.3,0,0.5-0.2,0.6-0.5l0.1-1
C139.9,8.2,139.8,8.1,139.7,7.9z"/>
<path d="M28.3,9.8l-0.8-0.3c-1-0.4-1.5-1-1.5-1.7c0-0.5,0.2-0.9,0.5-1.1c0.2-0.1,0.4-0.2,0.6-0.3s0.5-0.1,0.9-0.1s0.8,0.1,1.2,0.3
c0.4,0.2,0.7,0.3,1,0.5c0.2,0.1,0.4,0.2,0.5,0.2s0.2,0,0.3-0.1c0.1-0.1,0.2-0.3,0.4-0.6c0.1-0.3,0.2-0.5,0.2-0.6
c0-0.2-0.2-0.5-0.6-0.8c-0.8-0.5-1.7-0.8-2.9-0.8c-1.1,0-2,0.3-2.8,0.9S24,6.7,24,7.8c0,1,0.3,1.8,1.1,2.5
c0.3,0.3,0.7,0.6,1.1,0.8s0.8,0.4,1.2,0.6c0.4,0.1,0.7,0.3,1,0.4c1,0.5,1.5,1.1,1.5,1.8c0,0.5-0.2,1-0.6,1.3
c-0.2,0.1-0.4,0.2-0.6,0.3c-0.3,0.1-0.6,0.1-1,0.1s-0.9-0.1-1.4-0.3c-0.2-0.1-0.4-0.2-0.7-0.3c-0.2-0.1-0.4-0.2-0.5-0.3
c-0.1-0.1-0.3-0.1-0.4-0.1s-0.2,0.1-0.3,0.2c-0.1,0.1-0.1,0.2-0.3,0.5c-0.2,0.2-0.3,0.5-0.3,0.7c0,0.2,0.2,0.4,0.6,0.7
c0.9,0.6,2.1,0.8,3.4,0.8c1.1,0,2-0.3,2.8-1c0.8-0.7,1.3-1.6,1.3-2.7c0-1-0.4-1.9-1.2-2.6C30.2,10.7,29.4,10.3,28.3,9.8z"/>
<path d="M40.7,5.7c-0.8-0.7-2-1.1-3.6-1.1h-3.3c-0.2,0-0.4,0.1-0.5,0.2s-0.1,0.3-0.1,0.5v11.4c0,0.1,0,0.3,0.1,0.4
s0.2,0.2,0.4,0.2h1c0.4,0,0.6-0.2,0.6-0.5l0,0v-3.2c0.7,0.1,1.2,0.1,1.7,0.1c1.5,0,2.6-0.4,3.6-1.2s1.5-2,1.5-3.4
C42,7.6,41.6,6.5,40.7,5.7z M38.9,11.2c-0.3,0.2-0.6,0.4-1,0.5s-0.8,0.2-1.1,0.2s-0.6,0-0.8,0l-0.6-0.1l0,0V6.4h1.8
c0.4,0,0.8,0.1,1.2,0.2c0.9,0.3,1.4,1.1,1.4,2.4C39.8,10,39.5,10.7,38.9,11.2z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 B

View File

@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>

View File

@ -0,0 +1 @@
jQuery(function(e){e("#adminForm").on("submit",function(a){"page.cancel"!=e("#form_task").val()&&a.preventDefault()});window.onbeforeunload=function(e){if(void 0!==window.warningAtReload&&1==window.warningAtReload){var a="Do you want to lose unsaved data?";return(e=e||window.event)&&(e.returnValue=a),a}return null},e("#btn-save-page, #sp-pagebuilder-btn-save, #btn-save-copy, #btn-save-new, #btn-save-close").on("click",function(a){a.preventDefault();var t=e(this),i=e("#adminForm"),n="page.apply";"btn-save-copy"==a.target.id&&(n="page.save2copy"),e("#form_task").val(n),e.ajax({type:"POST",url:pagebuilder_base+"administrator/index.php?option=com_sppagebuilder&task=page."+n,data:i.serialize(),beforeSend:function(){t.find(".fa-save").removeClass("fa-save").addClass("fa-spinner fa-spin")},success:function(i){try{var n=e.parseJSON(i);t.find(".fa").removeClass("fa-spinner fa-spin").addClass("fa-save");var o="success";if(!n.status)o="error";if(n.title&&e("#jform_title").val(n.title),n.id&&e("#jform_id").val(n.id),e('<div class="notify-'+o+'">'+n.message+"</div>").css({opacity:0,"margin-top":-15,"margin-bottom":0}).animate({opacity:1,"margin-top":0,"margin-bottom":15},200).prependTo(".sp-pagebuilder-notifications"),void 0!==window.warningAtReload&&1==window.warningAtReload&&(window.warningAtReload=!1),e(".sp-pagebuilder-notifications").find(">div").each(function(){var a=e(this);setTimeout(function(){a.animate({opacity:0,"margin-top":-15,"margin-bottom":0},200,function(){a.remove()})},3e3)}),!n.status)return;window.history.replaceState("","",n.redirect),n.frontend_editor_url&&(0===e("#btn-page-frontend-editor").length?e("#btn-page-options").parent().before('<div class="sp-pagebuilder-btn-group"><a id="btn-page-frontend-editor" target="_blank" href="'+n.frontend_editor_url+'" class="sp-pagebuilder-btn sp-pagebuilder-btn-info"><i class="fa fa-edit"></i> '+Joomla.JText._("COM_SPPAGEBUILDER_FRONTEND_EDITOR")+"</a></div>\n"):e("#btn-page-frontend-editor").attr("href",n.frontend_editor_url)),n.preview_url&&(0===e("#btn-page-preview").length?e("#btn-page-options").parent().before('<div class="sp-pagebuilder-btn-group"><a id="btn-page-preview" target="_blank" href="'+n.preview_url+'" class="sp-pagebuilder-btn sp-pagebuilder-btn-inverse"><i class="fa fa-eye"></i> '+Joomla.JText._("COM_SPPAGEBUILDER_PREVIEW")+"</a></div>\n"):e("#btn-page-preview").attr("href",n.preview_url)),"btn-save-new"==a.target.id&&(window.location.href="index.php?option=com_sppagebuilder&view=page&layout=edit"),"btn-save-close"==a.target.id&&(window.location.href="index.php?option=com_sppagebuilder&view=pages")}catch(e){window.location.href="index.php?option=com_sppagebuilder&view=pages"}}})}),e(document).on({mouseenter:function(){var a=e(this).find("img"),t=e(this).find("img").outerHeight()-230;a.css({top:"-"+t+"px"})},mouseleave:function(){e(this).find("img").css({top:0})}},".sp-pagebuilder-page-templates li")});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,58 @@
/**
* @package SP Page Builder
* @author JoomShaper http://www.joomshaper.com
* @copyright Copyright (c) 2010 - 2016 JoomShaper
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
*/
jQuery(function($) {
// Init dropdown
$(document).on('click', '.fontawesome-icon-input', function(event) {
event.preventDefault();
$(this).closest('.fontawesome-icon-chooser').toggleClass('open');
if($(this).closest('.fontawesome-icon-chooser').hasClass('open')) {
$(this).closest('.fontawesome-icon-chooser').find('input[type="text"]').focus();
}
});
// Select Icon
$(document).on('click', '.fa-list-icon', function(event) {
event.preventDefault();
var $this = $(this);
var parent = $this.closest('.fontawesome-icon-chooser')
var fa_icons = $(this).closest('ul').find('>li');
fa_icons.removeClass('active');
$this.addClass('active');
parent.find('.fontawesome-icon-input>span').html('<i class="fa '+ $this.data('fontawesome_icon') +'"></i> ' + $this.data('fontawesome_icon_name'));
parent.find('.addon-input-fa').val($this.data('fontawesome_icon'));
parent.addClass('has-fa-icon').removeClass('open');
});
// Search Icon
$(document).on('keyup', '.fontawesome-dropdown input[type="text"]', function(){
var value = $(this).val();
var exp = new RegExp('.*?' + value + '.*?', 'i');
$(this).next('.fontawesome-icons').children().each(function() {
var isMatch = exp.test($('span', this).text());
$(this).toggle(isMatch);
});
});
// Remove Icon
$(document).on('click', '.remove-fa-icon', function(event) {
event.stopPropagation();
event.preventDefault();
var $this = $(this);
var parent = $this.closest('.fontawesome-icon-chooser');
parent.removeClass('has-fa-icon');
parent.find('.fontawesome-icon-input>span').html('--' + Joomla.JText._('COM_SPPAGEBUILDER_ADDON_ICON_SELECT') + '--');
parent.find('.fontawesome-icons>li').removeClass('active');
parent.find('.addon-input-fa').val('');
});
});

View File

@ -0,0 +1,404 @@
/**
* @package SP Page Builder
* @author JoomShaper http://www.joomshaper.com
* @copyright Copyright (c) 2010 - 2016 JoomShaper
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
*/
(function ($) {
//Remove Chosen
$.fn.rowSortable = function(){
$(this).sortable({
placeholder: "ui-state-highlight",
forcePlaceholderSize: true,
axis: 'x',
opacity: 0.8,
tolerance: 'pointer',
start: function(event, ui) {
$( ".pagebuilder-section > .row" ).find('.ui-state-highlight').addClass( $(ui.item).attr('class') );
$( ".pagebuilder-section > .row" ).find('.ui-state-highlight').css( 'height', $(ui.item).outerHeight() );
}
}).disableSelection();
};
//Column Sortable
$.fn.columnSortable = function() {
//Sorting items
$(this).sortable({
connectWith: this,
items: ".generated",
placeholder: "ui-state-highlight",
forcePlaceholderSize: true,
opacity: 0.8,
dropOnEmpty: true,
distance: 0.5,
tolerance: 'pointer',
/* start: function(event, ui) {
if ($(ui.item).parent().find('.generated').length===1)
{
$(ui.item).parent().addClass('column-empty');
}
},
stop: function(event, ui) {
$(ui.item).parent().removeClass('column-empty');
} */
}).disableSelection();
return $(this);
};
//elementEdit
$.fn.elementEdit = function(){
$('#modal-addons').spmodal('hide');
$('#modal-addon').find('.sp-modal-body').empty();
var $clone = $(this).clone();
$clone.find('.sppb-color').each(function(){
$(this).addClass('minicolors');
});
$clone = $clone.appendTo($('#modal-addon').find('.sp-modal-body'));
//initialize color picker
$clone.find('.minicolors').each(function() {
$(this).minicolors({
control: 'hue',
position: 'bottom',
theme: 'bootstrap'
});
});
$clone.randomIds();
//Modal Title
$('#modal-addon').find('.sp-modal-title').text( $clone.find('h3').text() );
$('#modal-addon .accordion .addon-title').each(function(){
$(this).closest('.accordion-group').find('.accordion-toggle').text( $(this).val() );
});
$().sortableRepeatble();
$clone.find('select').chosen({allow_single_deselect:true});
$('#modal-addon').spmodal('show');
//Editor
$('#modal-addon').find('.sppb-editor').each(function(){
var $id = $(this).attr('id');
tinymce.execCommand('mceAddEditor', false, $id);
});
}
$.fn.cloneRepeatable = function()
{
var $that = $(this);
$(this).find('.sppb-editor').each(function(){
var $id = $(this).attr('id');
tinymce.execCommand('mceRemoveEditor', false, $id);
});
//Destroy Chosen
$(this).find('select').chosen('destroy');
var $clone = $(this).clone();
$clone.find('.accordion-body').removeAttr('style');
$clone = $clone.hide().appendTo( $(this).closest('.accordion') ).fadeIn(500).find('.collapse').removeClass('in');
$clone.closest('.repeatable-items').randomIds();
//Chosen
$clone.find('select').chosen({allow_single_deselect:true});
$(this).find('select').chosen({allow_single_deselect:true});
//Editor
$clone.find('.sppb-editor').each(function(){
var $id = $(this).attr('id');
tinymce.execCommand('mceAddEditor', false, $id);
});
$(this).find('.sppb-editor').each(function(){
var $id = $(this).attr('id');
tinymce.execCommand('mceAddEditor', false, $id);
});
$().sortableRepeatble();
}
$.fn.sortableRepeatble = function(){
//Sortable
$('#modal-addon .accordion').sortable({
handle: '.action-move',
placeholder: "ui-state-highlight",
axis: 'y',
opacity: 0.8,
tolerance: 'pointer',
start: function(event, ui){
$(ui.item).find('.sppb-editor').each(function(){
var $id = $(this).attr('id');
tinymce.execCommand('mceRemoveEditor', false, $id);
});
},
stop: function(event, ui){
$(ui.item).find('.sppb-editor').each(function(){
var $id = $(this).attr('id');
tinymce.execCommand('mceAddEditor', false, $id);
});
}
});
}
//Random number
function random_number() {
return randomFromInterval(1, 1e6)
}
function randomFromInterval(e, t) {
return Math.floor(Math.random() * (t - e + 1) + e)
}
$.fn.randomIds = function()
{
//Accordion
$(this).find('.accordion').attr('id', 'accordion-repeatable');
$(this).find('.accordion-group').each(function(index){
$(this).find('.accordion-toggle')
.attr("data-parent", '#accordion-repeatable')
.attr("href", '#accordion-item-' + index);
$(this).find('.collapse')
.attr("id", 'accordion-item-' + index);
});
//Media
$(this).find('.sppb-media-input').each(function(){
var $id = random_number();
$(this).attr('id', 'media-' + $id);
});
//Editor
$(this).find('.sppb-editor').each(function(){
var $id = random_number();
$(this).attr('id', 'sppb-editor-' + $id);
});
}
//remove ids
$.fn.cleanRandomIds = function(){
$(this).find('select').chosen('destroy');
//Accordion
$(this).find('.accordion').each(function(){
$(this).removeAttr('id');
$(this).find('.accordion-toggle').each(function() {
$(this).removeAttr("data-parent");
$(this).removeAttr("href");
});
$(this).find('.collapse').each(function() {
$(this)
.removeClass('in')
.removeAttr("id")
.removeAttr('style');
})
});
//Media
$(this).find('.media').each(function(){
$(this).find('.input-media').removeAttr('id');
});
//Editor
$(this).find('.sppb-editor').each(function(){
var $id = $(this).attr('id');
tinymce.execCommand('mceRemoveEditor', false, $id);
$(this).removeAttr('id').removeAttr('style').removeAttr('area-hidden');
});
$(this).find('.mce-tinymce').remove();
return $(this);
}
$.fn.init_tinymce = function()
{
tinymce.init({
force_br_newlines : true,
force_p_newlines : false,
forced_root_block : '',
file_browser_callback: function(field_name, url, type, win) {
var media_modal = '<div class="sppb-media-modal-overlay" tabindex="-1">'
media_modal += '<div id="sppb-media-modal">'
media_modal += '<div class="sppb-media-modal-inner">'
media_modal += '<div class="sppb-media-modal-header clearfix">'
media_modal += '<h3 class="pull-left"><i class="fa fa-toggle-right"></i> ' + Joomla.JText._('COM_SPPAGEBUILDER_MEDIA_MANAGER') + '</h3>'
media_modal += '<div class="pull-right"><input type="file" accept="image/*" style="display:none"><a href="#" class="btn btn-success btn-large btn-upload-media"><i class="fa fa-upload"></i> ' + Joomla.JText._('COM_SPPAGEBUILDER_MEDIA_MANAGER_UPLOAD_FILE') + '</a><a href="#" class="btn btn-danger btn-large btn-close-modal"><i class="fa fa-times"></i> ' + Joomla.JText._('COM_SPPAGEBUILDER_MEDIA_MANAGER_CLOSE') + '</a></div>'
media_modal += '</div>'
media_modal += '<div class="sppb-media-modal-subheader clearfix">'
media_modal += '<ul class="sppb-media-modal-tab">'
media_modal += '<li class="active"><a class="tab-browse-media" href="#"><i class="fa fa-image"></i> <span class="hidden-phone">Browse Media</span></a></li>'
media_modal += '<li><a class="tab-browse-folder" href="#"><i class="fa fa-folder-open-o"></i> <span class="hidden-phone">Browse Folder</span></a></li>'
media_modal += '</ul>'
media_modal += '<div class="sppb-media-modal-filter-tools">'
media_modal += '<div class="sppb-media-search"><i class="fa fa-search"></i><input type="text" class="input-search-media" placeholder="' + Joomla.JText._('COM_SPPAGEBUILDER_MEDIA_MANAGER_SEARCH') + '"><a href="#" class="sppb-clear-search" style="display: none;"><i class="fa fa-times-circle"></i></a></div>'
media_modal += '<div class="sppb-media-modal-filter"></div>'
media_modal += '</div>'
media_modal += '</div>'
media_modal += '<div class="sppb-media-modal-btn-tools clearfix" style="display:none;">'
media_modal += '<a href="#" class="btn btn-primary btn-insert-media" data-target="'+ field_name +'"><i class="fa fa-check"></i> ' + Joomla.JText._('COM_SPPAGEBUILDER_MEDIA_MANAGER_INSERT') + '</a> <a href="#" class="btn btn-warning btn-cancel-media"><i class="fa fa-times"></i> ' + Joomla.JText._('COM_SPPAGEBUILDER_MEDIA_MANAGER_CANCEL') + '</a> <a href="#" class="btn btn-danger btn-delete-media"><i class="fa fa-minus-circle"></i> ' + Joomla.JText._('COM_SPPAGEBUILDER_MEDIA_MANAGER_DELETE') + '</a>'
media_modal += '</div>'
media_modal += '<div class="sppb-media-modal-body">'
media_modal += '<div class="sppb-media-modal-body-inner">'
media_modal += '<div class="spinner">'
media_modal += '<div class="bounce1"></div>'
media_modal += '<div class="bounce2"></div>'
media_modal += '<div class="bounce3"></div>'
media_modal += '</div>'
media_modal += '<a class="btn btn-default btn-large btn-loadmore" href="#" style="display: none;"><i class="fa fa-refresh"></i> ' + Joomla.JText._('COM_SPPAGEBUILDER_MEDIA_MANAGER_LOAD_MORE') + '</a>';
media_modal += '</div>'
media_modal += '</div>'
media_modal += '</div>'
media_modal += '</div>'
$(media_modal).hide().appendTo($('body').addClass('sppb-media-modal-open')).fadeIn(300, function() {
$(this).browseMedia()
})
},
toolbar_items_size: "small",
invalid_elements : "script,applet,iframe",
content_css : "administrator/components/com_sppagebuilder/assets/css/tinymce.css",
plugins: [
"advlist autolink lists link charmap preview image",
"searchreplace code fullscreen",
"media contextmenu paste"
],
relative_urls : true,
document_base_url : pagebuilder_base,
image_class_list: [
{title: 'None', value: ''},
{title: 'Left', value: 'pull-left'},
{title: 'Right', value: 'pull-right'}
],
toolbar: "insertfile | styleselect | bold italic fontsizeselect | alignleft aligncenter alignright alignjustify | blockquote | bullist numlist | link image fullscreen"
});
};
//Override clone
(function (original) {
jQuery.fn.clone = function () {
var result = original.apply(this, arguments),
my_textareas = this.find('textarea').add(this.filter('textarea')),
result_textareas = result.find('textarea').add(result.filter('textarea')),
my_selects = this.find('select').add(this.filter('select')),
result_selects = result.find('select').add(result.filter('select'));
for (var i = 0, l = my_textareas.length; i < l; ++i)
$(result_textareas[i]).val($(my_textareas[i]).val());
for (var i = 0, l = my_selects.length; i < l; ++i)
result_selects[i].selectedIndex = my_selects[i].selectedIndex;
return result;
};
})($.fn.clone);
$.ui.plugin.add("resizable", "alsoResizeReverse", {
start: function(event, ui) {
var self = $(this).data("resizable"), o = self.options;
var _store = function(exp) {
$(exp).each(function() {
$(this).data("resizable-alsoresize-reverse", {
width: parseInt($(this).width(), 10), height: parseInt($(this).height(), 10),
left: parseInt($(this).css('left'), 10), top: parseInt($(this).css('top'), 10)
});
});
};
if (typeof(o.alsoResizeReverse) == 'object' && !o.alsoResizeReverse.parentNode) {
if (o.alsoResizeReverse.length) { o.alsoResize = o.alsoResizeReverse[0]; _store(o.alsoResizeReverse); }
else { $.each(o.alsoResizeReverse, function(exp, c) { _store(exp); }); }
}else{
_store(o.alsoResizeReverse);
}
},
resize: function(event, ui){
var self = $(this).data("resizable"), o = self.options, os = self.originalSize, op = self.originalPosition;
var delta = {
height: (self.size.height - os.height) || 0, width: (self.size.width - os.width) || 0,
top: (self.position.top - op.top) || 0, left: (self.position.left - op.left) || 0
},
_alsoResizeReverse = function(exp, c) {
$(exp).each(function() {
var el = $(this), start = $(this).data("resizable-alsoresize-reverse"), style = {}, css = c && c.length ? c : ['width', 'height', 'top', 'left'];
$.each(css || ['width', 'height', 'top', 'left'], function(i, prop) {
var sum = (start[prop]||0) - (delta[prop]||0); // subtracting instead of adding
if (sum && sum >= 0)
style[prop] = sum || null;
});
//Opera fixing relative position
if (/relative/.test(el.css('position')) && $.browser.opera) {
self._revertToRelativePosition = true;
el.css({ position: 'absolute', top: 'auto', left: 'auto' });
}
el.css(style);
});
};
if (typeof(o.alsoResizeReverse) == 'object' && !o.alsoResizeReverse.nodeType) {
$.each(o.alsoResizeReverse, function(exp, c) { _alsoResizeReverse(exp, c); });
}else{
_alsoResizeReverse(o.alsoResizeReverse);
}
}
});
})(jQuery);

View File

@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>

View File

@ -0,0 +1 @@
jQuery(function(e){e(document).on("click",".sp-pagebuilder-btn-install, .sp-pagebuilder-btn-update",function(s){s.preventDefault();var a=e(this),t=a.closest("li").data("integration"),i="";if("update"==a.closest("li").attr("class"))i="update";e.ajax({type:"POST",url:pagebuilder_base+"index.php?option=com_sppagebuilder&task=integrations.install&integration="+t+"&installtype="+i,beforeSend:function(){a.html('<i class="fa fa-spinner fa-spin"></i> Installing...')},success:function(s){a.find("i").removeAttr("class");var t=e.parseJSON(s);t.success?(a.html('<i class="fa fa-check"></i> Installed'),setTimeout(function(){"update"==a.closest("li").attr("class")?a.closest("li").removeAttr("class").addClass("enabled"):a.closest("li").removeAttr("class").addClass("installed")},500)):alert(t.message)}})}),e(document).on("click",".sp-pagebuilder-btn-enable",function(s){s.preventDefault();var a=e(this),t=a.closest("li").data("integration");e.ajax({type:"POST",url:pagebuilder_base+"index.php?option=com_sppagebuilder&task=integrations.enable&integration="+t,beforeSend:function(){a.find("i").addClass("fa fa-spinner fa-spin")},success:function(s){a.find("i").removeAttr("class");var t=e.parseJSON(s);t.success?a.closest("li").removeAttr("class").addClass("enabled"):alert(t.message)}})}),e(document).on("click",".sp-pagebuilder-btn-disable",function(s){s.preventDefault();var a=e(this),t=a.closest("li").data("integration");e.ajax({type:"POST",url:pagebuilder_base+"index.php?option=com_sppagebuilder&task=integrations.disable&integration="+t,beforeSend:function(){a.find("i").addClass("fa fa-spinner fa-spin")},success:function(s){a.find("i").removeAttr("class");var t=e.parseJSON(s);t.success?a.closest("li").removeAttr("class").addClass("installed"):alert(t.message)}})}),e(document).on("click",".sp-pagebuilder-btn-uninstall",function(s){s.preventDefault();var a=e(this),t=a.closest("li").data("integration");e.ajax({type:"POST",url:pagebuilder_base+"index.php?option=com_sppagebuilder&task=integrations.uninstall&integration="+t,beforeSend:function(){a.html('<i class="fa fa-spinner fa-spin"></i> Uninstalling...')},success:function(s){a.find("i").remove();var t=e.parseJSON(s);t.success?(a.html('<i class="fa fa-check"></i> Uninstalled'),setTimeout(function(){a.html("Uninstall"),a.closest("li").removeAttr("class").addClass("available")},500)):alert(t.message)}})})});

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
jQuery(function(e){e(document).on("click",".sp-pagebuilder-lang-btns .sp-pagebuilder-btn-install, .sp-pagebuilder-lang-btns .sp-pagebuilder-btn-update",function(a){a.preventDefault();var s=e(this),l=s.closest("tr").data("language");e.ajax({type:"POST",url:pagebuilder_base+"index.php?option=com_sppagebuilder&task=languages.install&language="+l,beforeSend:function(){s.html('<i class="fa fa-spinner fa-spin"></i> Installing...')},success:function(a){var l=e.parseJSON(a);l.success?(s.find("i").removeAttr("class"),s.html('<i class="fa fa-check"></i> Installed'),s.closest("tr").find(".installed-version").html('<span class="label label-success">'+l.version+"</span>"),setTimeout(function(){s.closest("tr").removeAttr("class").addClass("enabled update-updated")},500)):(s.find("i").removeAttr("class"),s.html('<i class="fa fa-exclamation-triangle"></i> error'),alert(l.message))}})})});

View File

@ -0,0 +1,340 @@
(function ( $ ) {
/**
* Holds google map object and related utility entities.
* @constructor
*/
function GMapContext(domElement, options) {
var _map = new google.maps.Map(domElement, options);
var _marker = new google.maps.Marker({
position: new google.maps.LatLng(54.19335, -3.92695),
map: _map,
title: "Drag Me",
draggable: options.draggable
});
return {
map: _map,
marker: _marker,
circle: null,
location: _marker.position,
radius: options.radius,
locationName: options.locationName,
addressComponents: {
formatted_address: null,
addressLine1: null,
addressLine2: null,
streetName: null,
streetNumber: null,
city: null,
state: null,
stateOrProvince: null
},
settings: options.settings,
domContainer: domElement,
geodecoder: new google.maps.Geocoder()
}
}
// Utility functions for Google Map Manipulations
var GmUtility = {
/**
* Draw a circle over the the map. Returns circle object.
* Also writes new circle object in gmapContext.
*
* @param center - LatLng of the center of the circle
* @param radius - radius in meters
* @param gmapContext - context
* @param options
*/
drawCircle: function(gmapContext, center, radius, options) {
if (gmapContext.circle != null) {
gmapContext.circle.setMap(null);
}
if (radius > 0) {
radius *= 1;
options = $.extend({
strokeColor: "#0000FF",
strokeOpacity: 0.35,
strokeWeight: 2,
fillColor: "#0000FF",
fillOpacity: 0.20
}, options);
options.map = gmapContext.map;
options.radius = radius;
options.center = center;
gmapContext.circle = new google.maps.Circle(options);
return gmapContext.circle;
}
return null;
},
/**
*
* @param gMapContext
* @param location
* @param callback
*/
setPosition: function(gMapContext, location, callback) {
gMapContext.location = location;
gMapContext.marker.setPosition(location);
gMapContext.map.panTo(location);
this.drawCircle(gMapContext, location, gMapContext.radius, {});
if (gMapContext.settings.enableReverseGeocode) {
gMapContext.geodecoder.geocode({latLng: gMapContext.location}, function(results, status){
if (status == google.maps.GeocoderStatus.OK && results.length > 0){
gMapContext.locationName = results[0].formatted_address;
gMapContext.addressComponents =
GmUtility.address_component_from_google_geocode(results[0].address_components);
}
if (callback) {
callback.call(this, gMapContext);
}
});
} else {
if (callback) {
callback.call(this, gMapContext);
}
}
},
locationFromLatLng: function(lnlg) {
return {latitude: lnlg.lat(), longitude: lnlg.lng()}
},
address_component_from_google_geocode: function(address_components) {
var result = {};
for (var i = address_components.length-1; i>=0; i--) {
var component = address_components[i];
// Postal code
if (component.types.indexOf('postal_code') >= 0) {
result.postalCode = component.short_name;
}
// Street number
else if (component.types.indexOf('street_number') >= 0) {
result.streetNumber = component.short_name;
}
// Street name
else if (component.types.indexOf('route') >= 0) {
result.streetName = component.short_name;
}
// City
else if (component.types.indexOf('sublocality') >= 0) {
result.city = component.short_name;
}
// State \ Province
else if (component.types.indexOf('administrative_area_level_1') >= 0) {
result.stateOrProvince = component.short_name;
}
// State \ Province
else if (component.types.indexOf('country') >= 0) {
result.country = component.short_name;
}
}
result.addressLine1 = [result.streetNumber, result.streetName].join(' ').trim();
result.addressLine2 = '';
return result;
}
};
function isPluginApplied(domObj) {
return getContextForElement(domObj) != undefined;
}
function getContextForElement(domObj) {
return $(domObj).data("locationpicker");
}
function updateInputValues(inputBinding, gmapContext){
if (!inputBinding) return;
var currentLocation = GmUtility.locationFromLatLng(gmapContext.location);
if (inputBinding.latitudeInput) {
inputBinding.latitudeInput.val(currentLocation.latitude);
}
if (inputBinding.longitudeInput) {
inputBinding.longitudeInput.val(currentLocation.longitude);
}
if (inputBinding.radiusInput) {
inputBinding.radiusInput.val(gmapContext.radius);
}
if (inputBinding.locationNameInput) {
inputBinding.locationNameInput.val(gmapContext.locationName);
}
}
function setupInputListenersInput(inputBinding, gmapContext) {
if (inputBinding) {
if (inputBinding.radiusInput){
inputBinding.radiusInput.on("change", function() {
gmapContext.radius = $(this).val();
GmUtility.setPosition(gmapContext, gmapContext.location, function(context){
context.settings.onchanged.apply(gmapContext.domContainer,
[GmUtility.locationFromLatLng(context.location), context.radius, false]);
});
});
}
if (inputBinding.locationNameInput && gmapContext.settings.enableAutocomplete) {
gmapContext.autocomplete = new google.maps.places.Autocomplete(inputBinding.locationNameInput.get(0));
google.maps.event.addListener(gmapContext.autocomplete, 'place_changed', function() {
var place = gmapContext.autocomplete.getPlace();
if (!place.geometry) {
gmapContext.settings.onlocationnotfound(place.name);
return;
}
GmUtility.setPosition(gmapContext, place.geometry.location, function(context) {
updateInputValues(inputBinding, context);
context.settings.onchanged.apply(gmapContext.domContainer,
[GmUtility.locationFromLatLng(context.location), context.radius, false]);
});
});
}
if (inputBinding.latitudeInput) {
inputBinding.latitudeInput.on("change", function() {
GmUtility.setPosition(gmapContext, new google.maps.LatLng($(this).val(), gmapContext.location.lng()), function(context){
context.settings.onchanged.apply(gmapContext.domContainer,
[GmUtility.locationFromLatLng(context.location), context.radius, false]);
});
});
}
if (inputBinding.longitudeInput) {
inputBinding.longitudeInput.on("change", function() {
GmUtility.setPosition(gmapContext, new google.maps.LatLng(gmapContext.location.lat(), $(this).val()), function(context){
context.settings.onchanged.apply(gmapContext.domContainer,
[GmUtility.locationFromLatLng(context.location), context.radius, false]);
});
});
}
}
}
/**
* Initialization:
* $("#myMap").locationpicker(options);
* @param options
* @param params
* @returns {*}
*/
$.fn.locationpicker = function( options, params ) {
if (typeof options == 'string') { // Command provided
var _targetDomElement = this.get(0);
// Plug-in is not applied - nothing to do.
if (!isPluginApplied(_targetDomElement)) return;
var gmapContext = getContextForElement(_targetDomElement);
switch (options) {
case "location":
if (params == undefined) { // Getter
var location = GmUtility.locationFromLatLng(gmapContext.location);
location.radius = gmapContext.radius;
location.name = gmapContext.locationName;
return location;
} else { // Setter
if (params.radius) {
gmapContext.radius = params.radius;
}
GmUtility.setPosition(gmapContext, new google.maps.LatLng(params.latitude, params.longitude), function(gmapContext) {
updateInputValues(gmapContext.settings.inputBinding, gmapContext);
});
}
break;
case "subscribe":
/**
* Provides interface for subscribing for GoogleMap events.
* See Google API documentation for details.
* Parameters:
* - event: string, name of the event
* - callback: function, callback function to be invoked
*/
if (params == undefined) { // Getter is not available
return null;
} else {
var event = params.event;
var callback = params.callback;
if (!event || ! callback) {
console.error("LocationPicker: Invalid arguments for method \"subscribe\"")
return null;
}
google.maps.event.addListener(gmapContext.map, event, callback);
}
break;
case "map":
/**
* Returns object which allows access actual google widget and marker paced on it.
* Structure: {
* map: Instance of the google map widget
* marker: marker placed on map
* }
*/
if (params == undefined) { // Getter is not available
var locationObj = GmUtility.locationFromLatLng(gmapContext.location);
locationObj.formattedAddress = gmapContext.locationName;
locationObj.addressComponents = gmapContext.addressComponents;
return {
map: gmapContext.map,
marker: gmapContext.marker,
location: locationObj
}
} else {
return null;
}
}
return null;
}
return this.each(function() {
var $target = $(this);
// If plug-in hasn't been applied before - initialize, otherwise - skip
if (isPluginApplied(this)) return;
// Plug-in initialization is required
// Defaults
var settings = $.extend({}, $.fn.locationpicker.defaults, options );
// Initialize
var gmapContext = new GMapContext(this, {
zoom: settings.zoom,
center: new google.maps.LatLng(settings.location.latitude, settings.location.longitude),
mapTypeId: google.maps.MapTypeId.ROADMAP,
mapTypeControl: false,
disableDoubleClickZoom: false,
scrollwheel: settings.scrollwheel,
streetViewControl: false,
radius: settings.radius,
locationName: settings.locationName,
settings: settings,
draggable: settings.draggable
});
$target.data("locationpicker", gmapContext);
// Subscribe GMap events
google.maps.event.addListener(gmapContext.marker, "dragend", function(event) {
GmUtility.setPosition(gmapContext, gmapContext.marker.position, function(context){
var currentLocation = GmUtility.locationFromLatLng(gmapContext.location);
context.settings.onchanged.apply(gmapContext.domContainer, [currentLocation, context.radius, true]);
updateInputValues(gmapContext.settings.inputBinding, gmapContext);
});
});
GmUtility.setPosition(gmapContext, new google.maps.LatLng(settings.location.latitude, settings.location.longitude), function(context){
updateInputValues(settings.inputBinding, gmapContext);
context.settings.oninitialized($target);
var currentLocation = GmUtility.locationFromLatLng(gmapContext.location);
settings.onchanged.apply(gmapContext.domContainer, [currentLocation, context.radius, false]);
});
// Set up input bindings if needed
setupInputListenersInput(settings.inputBinding, gmapContext);
});
};
$.fn.locationpicker.defaults = {
location: {latitude: 40.7324319, longitude: -73.82480799999996},
locationName: "",
radius: 500,
zoom: 15,
scrollwheel: true,
inputBinding: {
latitudeInput: null,
longitudeInput: null,
radiusInput: null,
locationNameInput: null
},
enableAutocomplete: false,
enableReverseGeocode: true,
draggable: true,
onchanged: function(currentLocation, radius, isMarkerDropped) {},
onlocationnotfound: function(locationName) {},
oninitialized: function (component) {}
}
}( jQuery ));

View File

@ -0,0 +1,723 @@
/**
* @package SP Page Builder
* @author JoomShaper http://www.joomshaper.com
* @copyright Copyright (c) 2010 - 2016 JoomShaper
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
*/
jQuery(function($) {
$(document).ready(function(){
$('#jform_id, #jform_sptext').closest('.control-group').hide();
$(this).find('select').each(function(){
$(this).chosen('destroy');
});
$(this).init_tinymce();
jqueryUiLayout();
//Filter Addons
$(document).on('click', '#modal-addons .addon-filter ul li a', function(){
var $self = $(this);
var $this = $(this).parent();
$self.closest('ul').children().removeClass('active');
$self.parent().addClass('active');
if($this.data('category')=='all') {
$('#modal-addons').find('.pagebuilder-addons').children().removeAttr('style');
return true;
}
$('#modal-addons').find('.pagebuilder-addons').children().each(function(){
if($(this).hasClass( 'addon-cat-' + $this.data('category') )) {
$(this).removeAttr('style');
} else {
$(this).css('display', 'none');
}
});
});
//Search addon
$(document).on('keyup', '#modal-addons #search-addon', function(){
var value = $(this).val();
var exp = new RegExp('.*?' + value + '.*?', 'i');
$('#modal-addons .addon-filter ul li').removeClass('active').first().addClass('active');
$('#modal-addons').find('.pagebuilder-addons').children().each(function() {
var isMatch = exp.test($('.element-title', this).text());
$(this).toggle(isMatch);
});
});
//Duplicate row
$(document).on('click', '.duplicate-row', function(event){
event.preventDefault();
var $this = $(this),
$parent = $this.closest('.pagebuilder-section'),
$clone = $parent[0].outerHTML;
var $cloned = $($clone).insertAfter($parent).fadeIn(500);
jqueryUiLayout();
});
$(document).on('click', '.add-addon', function(event){
event.preventDefault();
$('#modal-addons .addon-filter ul li').removeClass('active').first().addClass('active');
var $columns = $('.page-builder-area .column');
$columns.removeClass('active-column').find('.generated').each(function(){
$(this).removeClass('active-generated');
});
$(this).parent().prev().addClass('active-column');
var $html = $('.pagebuilder-addons-wrapper').find('.pagebuilder-addons').clone(true);
$('#modal-addons').find('.sp-modal-body').empty();
$('#modal-addons').find('.sp-modal-body').html( $html );
$('#modal-addons').spmodal();
$('#modal-addon').find('#save-change').removeClass('edit').addClass('addnew');
});
//edit generated addon
$(document).on('click', '.addon-edit', function(event){
event.preventDefault();
var $toClone = $(this).closest('.generated').addClass('active-generated');
$toClone.elementEdit();
$('#modal-addon').find('#save-change').removeClass('addnew').addClass('edit');
});
//Single addon modal
$(document).on('click', '#modal-addons .pagebuilder-addons > li >a', function(event){
event.preventDefault();
$(this).next().elementEdit();
});
//Add Repeatable
$(document).on('click', '.clone-repeatable', function(){
$(this).next().find('>.accordion-group:first-child').cloneRepeatable();
});
//Clone Repeatable
$(document).on('click', '#modal-addon .action-duplicate', function(){
$(this).closest('.accordion-group').cloneRepeatable();
});
//Remove Repeatable
$(document).on('click', '#modal-addon .action-remove', function(event){
event.preventDefault();
if($(this).closest('.accordion').find('.accordion-group').length != 1) //Do not delete last item
{
if ( confirm("Click Ok button to delete, Cancel to leave.") == true ) {
$(this).closest('.accordion-group').fadeOut(500, function(){
$(this).remove();
});
}
}
});
//Add addon to elements
$(document).on('click', '#modal-addon #save-change', function(){
var title;
if ( $(this).hasClass('addnew') )
{
var $original = $('#modal-addon').find('.generated');
$original.cleanRandomIds();
//destroy color picker
$original.find('.minicolors-input').each(function() {
$that = $(this);
$(this).minicolors('destroy');
$that.removeClass('minicolors');
});
var $admin_label = $original.find('.addon-admin_label:first').not('.repeatable-items .addon-admin_label:first');
if ($admin_label.length) {
title = $admin_label.val();
}else{
title = $original.find('.addon-title:first').not('.repeatable-items .addon-title:first').val();
}
$original.find('.addon-input-title').text(title);
var $clone = $original.clone();
$clone.appendTo( $('.page-builder-area .column.active-column'));
} else {
var $original = $('#modal-addon').find('.generated .generated-items');
$original.cleanRandomIds();
//destroy color picker
$original.find('.minicolors-input').each(function() {
$that = $(this);
$(this).minicolors('destroy');
$that.removeClass('minicolors');
});
var $admin_label = $original.find('.addon-admin_label:first').not('.repeatable-items .addon-admin_label:first');
if ($admin_label.length) {
title = $admin_label.val();
}else{
title = $original.find('.addon-title:first').not('.repeatable-items .addon-title:first').val();
}
$original.find('.addon-input-title').text(title);
var $clone = $original.clone();
$('.active-generated').empty();
$clone.appendTo( '.active-generated' ).parent().hide().addClass('populating-content').fadeIn(500, function(){
$(this).removeClass('populating-content');
});
$('.active-generated').removeClass('active-generated');
}
});
$(document).on('click', '#save-change, .sp-modal-footer .sppb-btn-danger', function(){
$('.active-generated').removeClass('active-generated');
});
$('.sp-modal-header').on('click','button.close',function(){
$('.active-generated').removeClass('active-generated');
});
// Duplicated column
$(document).on('click', '.action .addon-duplicate', function(event){
event.preventDefault();
var $that = $(this),
$parent = $that.closest('.generated'),
$original = $that.closest('.generated').removeClass('active-generated'),
$clone = $original.clone(true, true);
$clone.hide().insertAfter( $parent ).fadeIn(500);
});
// Remove Row
$(document).on('click', '.delete-row', function(event){
event.preventDefault();
if ( confirm("Click Ok button to delete Row, Cancel to leave.") == true )
{
$(this).closest('.pagebuilder-section').fadeOut(100, function(){
$(this).remove();
});
}
});
// Remove Addons
$(document).on('click', '.action .remove-addon', function(event){
event.preventDefault();
if ( confirm("Click Ok button to delete, Cancel to leave.") == true )
{
$(this).closest('.generated').remove();
}
});
//Title
$(document).on('keyup', '#modal-addon .accordion .addon-title', function(){
$(this).closest('.accordion-group').find('.accordion-toggle').text( $(this).val() );
});
// row layout generate
$(document).on('click', '.row-layout', function(event){
event.preventDefault();
var $that = $(this);
if ($that.hasClass('active')) {
return;
};
var $parent = $that.closest('.row-layout-container'),
$gparent = $that.closest('.pagebuilder-section'),
oldLayoutData = $parent.find('.active').data('layout'),
oldLayout;
if (oldLayoutData !=12) {
oldLayout = oldLayoutData.split(',');
}else{
oldLayout = [12];
}
var layoutData = $that.data('layout'),
newLayout;
if(layoutData != 12 ){
newLayout = layoutData.split(',');
}else{
newLayout = [12];
}
var col = [],
colAttr = [];
$gparent.find('.column-parent').each(function(i,val){
col[i] = $(this).find('.column').html();
var colData = $(this).data();
if (typeof colData == 'object') {
colAttr[i] = $(this).data();
}else{
colAttr[i] = '';
}
});
$parent.find('.active').removeClass('active');
$that.addClass('active');
var new_item = '';
if ( oldLayout.length > newLayout.length )
{
var j = 1;
for(var i=0; i < newLayout.length; i++)
{
var dataAttr = '';
if (typeof colAttr[i] == 'object') {
$.each(colAttr[i],function(index,value){
dataAttr += ' data-'+index+'="'+value+'"';
});
}
new_item +='<div class="column-parent col-sm-'+newLayout[i]+'" '+dataAttr+'>';
if ( j != newLayout.length )
{
if (col[i]){
new_item += '<div class="column ui-sortable">';
new_item += col[i];
new_item += '</div>';
}else{
new_item += '<div class="column"></div>';
}
} else {
new_item += '<div class="column ui-sortable">';
for(; j < col.length+1; j++)
{
if( col[j-1] )
{
new_item += col[j-1];
}
}
new_item += '</div>';
}
new_item +='<div class="col-settings"><a class="add-addon" href="javascript:void(0)"><i class="fa fa-plus-circle"></i> Addon</a> <a class="column-options" href="javascript:void(0)"><i class="fa fa-cog"></i> Options</a></div></div>';
j++;
}
}
else
{
for(var i=0; i<newLayout.length; i++)
{
var dataAttr = '';
if (typeof colAttr[i] == 'object') {
$.each(colAttr[i],function(index,value){
dataAttr += ' data-'+index+'="'+value+'"';
});
}
new_item +='<div class="column-parent col-sm-'+newLayout[i]+'" '+dataAttr+'>';
if (col[i]){
new_item += '<div class="column ui-sortable">';
new_item += col[i];
new_item += '</div>';
}else{
new_item += '<div class="column"></div>';
}
new_item +='<div class="col-settings"><a class="add-addon" href="javascript:void(0)"><i class="fa fa-plus-circle"></i> Addon</a><a class="column-options" href="javascript:void(0)"><i class="fa fa-cog"></i> Options</a></div></div>';
}
}
$old_column = $gparent.find('.column-parent');
$gparent.find('.row.ui-sortable').append( new_item );
$old_column.remove();
$gparent.find('.column').columnSortable();
jqueryUiLayout();
return false;
});
//Column Settings
$(document).on('click', '.column-options', function(event){
event.preventDefault();
var $this = $(this);
$('.column-parent').removeClass('active-column-parent');
var $parent = $(this).closest('.column-parent');
$parent.addClass('active-column-parent');
$('#modal-column').find('.sp-modal-body').empty();
var $clone = $('.column-settings').clone(true);
$clone.find('.sppb-color').each(function(){
$(this).addClass('minicolors');
});
//Chosen
$clone = $('#modal-column').find('.sp-modal-body').append( $clone );
//retrive column settings
$clone.find('.addon-input').each(function(){
var $that = $(this),
$attr_value = $parent.data( $(this).data('attrname'));
// make a check for chekbox only
if ($that.attr('type') == 'checkbox') {
if ($attr_value == '1') {
$that.attr('checked','checked');
}else{
$that.removeAttr('checked');
}
}else{
$(this).val( $attr_value );
}
});
$clone.find('.minicolors').each(function() {
$(this).minicolors({
control: 'hue',
position: 'bottom',
theme: 'bootstrap'
});
});
$clone.find('select').chosen({
allow_single_deselect: true
});
$('#modal-column').spmodal();
});
//Save Coulumn Settings
$(document).on('click', '#save-column', function(){
$('#modal-column').find('.addon-input').each(function(){
var $this = $(this),
$parent = $('.active-column-parent'),
$attrname = $this.data('attrname');
$parent.removeData( $attrname );
if ($this.attr('type') == 'checkbox') {
if ($this.attr("checked")) {
$parent.attr('data-' + $attrname, '1');
}else{
$parent.attr('data-' + $attrname, '0');
}
}else{
$parent.attr('data-' + $attrname, $(this).val());
}
});
});
//Row Settings Form Open
$(document).on('click', '.row-options', function(event){
event.preventDefault();
var $this = $(this),
$parent = $(this).closest('.pagebuilder-section');
$('.pagebuilder-section').removeClass('active-row');
$parent.addClass('active-row');
$('#modal-row').find('.sp-modal-body').empty();
var $clone = $('.row-settings').clone(true);
$clone.find('.sppb-color').each(function(){
$(this).addClass('minicolors');
});
$clone = $('#modal-row').find('.sp-modal-body').append( $clone );
//retrive column settings
$clone.find('.addon-input').each(function(){
var $that = $(this),
$attr_value = $parent.data( $(this).data('attrname'));
// make a check for chekbox only
if ($that.attr('type') == 'checkbox') {
if ($attr_value == '1') {
$that.attr('checked','checked');
}else{
$that.removeAttr('checked');
}
}else if($that.hasClass('input-media')){
if($attr_value){
$that.prev('.sppb-media-preview').removeClass('no-image')
.attr('src',pagebuilder_base+$attr_value);
}
$that.val( $attr_value );
}else{
$that.val( $attr_value );
}
});
$clone.find('.minicolors').each(function() {
$(this).minicolors({
control: 'hue',
position: 'bottom',
theme: 'bootstrap'
});
});
$('#modal-row').randomIds();
$clone.find('select').chosen({
allow_single_deselect: true
});
$('#modal-row').spmodal();
});
// Remove Media
$(document).on('click', 'a.remove-media', function(event){
event.preventDefault();
$(this).closest('.media').find('.input-media').val('');
$(this).closest('.media').find('.media-preview img').removeAttr('src');
});
//save
$(document).on('click', '#save-row', function(){
$('#modal-row').find('.addon-input').each(function(){
var $this = $(this),
$parent = $('.active-row'),
$attrname = $this.data('attrname');
$parent.removeData( $attrname );
if ($this.attr('type') == 'checkbox') {
if ($this.attr("checked")) {
$parent.attr('data-' + $attrname, '1');
}else{
$parent.attr('data-' + $attrname, '0');
}
}else{
$parent.attr('data-' + $attrname, $(this).val());
}
});
});
$.fn.allData = function() {
var intID = $.data(this.get(0));
return($.cache[intID]);
};
});//end ready
// add new row
var html = '';
html += '<div class="pagebuilder-section">';
html += '<div class="section-header clearfix">';
html += '<div class="pull-left">';
html += '<a class="move-row" href="javascript:void(0)"><i class="fa fa-arrows"></i></a>';
html += '<div class="row-layout-container">';
html += '<a class="add-column" href="javascript:void(0)"><i class="fa fa-plus"></i> Add Column</a>';
html += '<ul>';
html += '<li><a href="#" class="row-layout row-layout-12 sp-tooltip active" data-layout="12" data-toggle="tooltip" data-placement="top" data-original-title="1/1"></a></li>';
html += '<li><a href="#" class="row-layout row-layout-66 sp-tooltip" data-layout="6,6" data-toggle="tooltip" data-placement="top" data-original-title="1/2 + 1/2"></a></li>';
html += '<li><a href="#" class="row-layout row-layout-444 sp-tooltip" data-layout="4,4,4" data-toggle="tooltip" data-placement="top" data-original-title="1/3 + 1/3 + 1/3"></a></li>';
html += '<li><a href="#" class="row-layout row-layout-3333 sp-tooltip" data-layout="3,3,3,3" data-toggle="tooltip" data-placement="top" data-original-title="1/4 + 1/4 + 1/4 + 1/4"></a></li>';
html += '<li><a href="#" class="row-layout row-layout-48 sp-tooltip" data-layout="4,8" data-toggle="tooltip" data-placement="top" data-original-title="1/3 + 3/4"></a></li>';
html += '<li><a href="#" class="row-layout row-layout-39 sp-tooltip" data-layout="3,9" data-toggle="tooltip" data-placement="top" data-original-title="1/4 + 3/4"></a></li>';
html += '<li><a href="#" class="row-layout row-layout-363 sp-tooltip" data-layout="3,6,3" data-toggle="tooltip" data-placement="top" data-original-title="1/4 + 1/2 + 1/4"></a></li>';
html += '<li><a href="#" class="row-layout row-layout-264 sp-tooltip" data-layout="2,6,4" data-toggle="tooltip" data-placement="top" data-original-title="1/6 + 1/2 + 1/3"></a></li>';
html += '<li><a href="#" class="row-layout row-layout-210 sp-tooltip" data-layout="2,10" data-toggle="tooltip" data-placement="top" data-original-title="1/6 + 5/6"></a></li>';
html += '<li><a href="#" class="row-layout row-layout-57 sp-tooltip" data-layout="5,7" data-toggle="tooltip" data-placement="left" data-original-title="5/12 + 7/12"></a></li>';
html += '</ul>';
html += '</div>';
html += '</div>';
html += '<div class="row-actions pull-right">';
html += '<a class="add-rowplus" href="javascript:void(0)"><i class="fa fa-plus"></i></a>';
html += '<a class="row-options" href="javascript:void(0)"><i class="fa fa-cog"></i></a>';
html += '<a class="duplicate-row" href="javascript:void(0)"><i class="fa fa-files-o"></i></a>';
html += '<a class="delete-row" href="javascript:void(0)"><i class="fa fa-times"></i></a>';
html += '</div>';
html += '</div>';
html += '<div class="row ui-sortable">';
html += '<div class="column-parent col-sm-12">';
html += '<div class="column">';
html += '</div>';
html += '<div class="col-settings">';
html += '<a class="add-addon" href="javascript:void(0)"><i class="fa fa-plus-circle"></i> Addon</a>';
html += '<a class="column-options" href="javascript:void(0)"><i class="fa fa-cog"></i> Options</a>';
html += '</div>';
html += '</div>';
html += '</div>';
html += '</div>';
$('#add-row').on('click',function(){
$(html).appendTo('.page-builder-area');
jqueryUiLayout();
});
$(document).on('click','.add-rowplus',function(){
var $parent = $(this).closest('.pagebuilder-section');
$(html).insertAfter($parent);
jqueryUiLayout();
});
$('#add-template').on('click', function(event) {
event.preventDefault();
if ($(this).siblings('#pagebuilder-templates')) {
$('#pagebuilder-templates').slideToggle('fast');
}
});
function genJsonAddons(){
var item = [];
$('.page-builder-area .pagebuilder-section').each(function(index) {
var $row = $(this),
rowIndex = index,
rowObj = $row.data();
delete rowObj.sortableItem;
var activeLayout = $row.find('.row-layout.active'),
layoutArray = activeLayout.data('layout'),
layout = 12;
if( layoutArray != 12){
layout = layoutArray.split(',').join('');
}
item[rowIndex] = {
'type' : 'sp_row',
'layout' : layout,
'settings' : rowObj,
'attr' : []
};
$row.find('.column-parent').each(function(index){
var $column = $(this),
colIndex = index,
className = $column.attr('class'),
colObj = $column.data();
delete colObj.sortableItem;
item[rowIndex].attr[colIndex] = {
'type' : 'sp_col',
'class_name' : className,
'settings' : colObj,
'attr' : []
};
$column.find('.generated').each(function(index){
var $addon = $(this),
codeIndex = index,
codeName = $addon.find('.generated-item>h3').data('name'),
codeTitle = $addon.find('.generated-item>h3').text(),
codeType = $addon.data('addon'),
codeAtts = new Object();
$addon.find('.item-inner > .form-group .addon-input').each(function(){
var $this = $(this);
//alert($this.val());
codeAtts[ $this.data('attrname') ] = $this.val();
// for checkbox only
if ($this.attr('type') == 'checkbox') {
if ($this.attr("checked")) {
codeAtts[ $this.data('attrname') ] = '1';
}else{
codeAtts[ $this.data('attrname') ] = '0';
}
}
});
item[rowIndex].attr[colIndex].attr[codeIndex] = {
'type' : codeType,
'name' : codeName.toLowerCase(),
'title' : codeTitle,
'atts' : codeAtts,
'scontent' : []
};
if( $addon.find('.item-inner .repeatable-items') ){
$addon.find('.item-inner .repeatable-items .accordion-group').each(function(index){
var reIndex = index,
$this = $(this),
reCodeAtts = new Object(),
repName = $this.data('inner_base');
$this.find('.addon-input').each(function(){
var $this = $(this);
reCodeAtts[ $this.data('attrname') ] = $this.val();
});
item[rowIndex].attr[colIndex].attr[codeIndex].scontent[index] = {
'type' : 'repeatable',
'name' : repName,
'atts' : reCodeAtts
}
});
}
});
});
});
return item;
}
document.adminForm.onsubmit = function(event){
event.stopImmediatePropagation();
$('#jform_sptext').val( JSON.stringify(genJsonAddons()) );
}
function jqueryUiLayout()
{
$( ".page-builder-area" ).sortable({
placeholder: "ui-state-highlight",
forcePlaceholderSize: true,
axis: 'y',
opacity: 0.8,
tolerance: 'pointer',
}).disableSelection();
$('.pagebuilder-section').find('>.row').rowSortable();
$('.column').columnSortable();
}
// tinyMCE editor source code edit
$(document).on('focusin', function(e) {
if ($(e.target).closest(".mce-window").length) {
e.stopImmediatePropagation();
}
});
$('.sp-tooltip').tooltip();
});

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,249 @@
/* ========================================================================
* Bootstrap: modal.js v3.1.1
* http://getbootstrap.com/javascript/#modals
* ========================================================================
* Copyright 2011-2014 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */
+function ($) {
'use strict';
// MODAL CLASS DEFINITION
// ======================
var SPModal = function (element, options) {
this.options = options
this.$element = $(element)
this.$backdrop =
this.isShown = null
if (this.options.remote) {
this.$element
.find('.sp-modal-content')
.load(this.options.remote, $.proxy(function () {
this.$element.trigger('loaded.bs.spmodal')
}, this))
}
}
SPModal.DEFAULTS = {
backdrop: true,
keyboard: false,
show: true
}
SPModal.prototype.toggle = function (_relatedTarget) {
return this[!this.isShown ? 'show' : 'hide'](_relatedTarget)
}
SPModal.prototype.show = function (_relatedTarget) {
$(document.body).addClass('sp-modal-open')
var that = this
var e = $.Event('show.bs.spmodal', { relatedTarget: _relatedTarget })
this.$element.trigger(e)
if (this.isShown || e.isDefaultPrevented()) return
this.isShown = true
this.escape()
this.$element.on('click.dismiss.bs.spmodal', '[data-dismiss="spmodal"]', $.proxy(this.hide, this))
this.backdrop(function () {
var transition = $.support.transition && that.$element.hasClass('fade')
if (!that.$element.parent().length) {
that.$element.appendTo(document.body) // don't move modals dom position
}
that.$element
.show()
.scrollTop(0)
if (transition) {
that.$element[0].offsetWidth // force reflow
}
that.$element
.addClass('in')
.attr('aria-hidden', false)
that.enforceFocus()
var e = $.Event('shown.bs.spmodal', { relatedTarget: _relatedTarget })
transition ?
that.$element.find('.sp-modal-dialog') // wait for modal to slide in
.one($.support.transition.end, function () {
that.$element.focus().trigger(e)
})
.emulateTransitionEnd(300) :
that.$element.focus().trigger(e)
})
}
SPModal.prototype.hide = function (e) {
$(document.body).removeClass('sp-modal-open')
if (e) e.preventDefault()
e = $.Event('hide.bs.spmodal')
this.$element.trigger(e)
if (!this.isShown || e.isDefaultPrevented()) return
this.isShown = false
this.escape()
$(document).off('focusin.bs.spmodal')
this.$element
.removeClass('in')
.attr('aria-hidden', true)
.off('click.dismiss.bs.spmodal')
$.support.transition && this.$element.hasClass('fade') ?
this.$element
.one($.support.transition.end, $.proxy(this.hideSPModal, this))
.emulateTransitionEnd(300) :
this.hideSPModal()
}
SPModal.prototype.enforceFocus = function () {
$(document)
.off('focusin.bs.spmodal') // guard against infinite focus loop
.on('focusin.bs.spmodal', $.proxy(function (e) {
if (this.$element[0] !== e.target && !this.$element.has(e.target).length) {
this.$element.focus()
}
}, this))
}
SPModal.prototype.escape = function () {
if (this.isShown && this.options.keyboard) {
this.$element.on('keyup.dismiss.bs.spmodal', $.proxy(function (e) {
e.which == 27 && this.hide()
}, this))
} else if (!this.isShown) {
this.$element.off('keyup.dismiss.bs.spmodal')
}
}
SPModal.prototype.hideSPModal = function () {
var that = this
this.$element.hide()
this.backdrop(function () {
that.removeBackdrop()
that.$element.trigger('hidden.bs.spmodal')
})
}
SPModal.prototype.removeBackdrop = function () {
this.$backdrop && this.$backdrop.remove()
this.$backdrop = null
}
SPModal.prototype.backdrop = function (callback) {
var animate = this.$element.hasClass('fade') ? 'fade' : ''
if (this.isShown && this.options.backdrop) {
var doAnimate = $.support.transition && animate
this.$backdrop = $('<div class="sp-modal-backdrop ' + animate + '" />')
.appendTo(document.body)
/*
this.$element.on('click.dismiss.bs.spmodal', $.proxy(function (e) {
if (e.target !== e.currentTarget) return
this.options.backdrop == 'static'
? this.$element[0].focus.call(this.$element[0])
: this.hide.call(this)
}, this))
*/
if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
this.$backdrop.addClass('in')
if (!callback) return
doAnimate ?
this.$backdrop
.one($.support.transition.end, callback)
.emulateTransitionEnd(150) :
callback()
} else if (!this.isShown && this.$backdrop) {
this.$backdrop.removeClass('in')
$.support.transition && this.$element.hasClass('fade') ?
this.$backdrop
.one($.support.transition.end, callback)
.emulateTransitionEnd(150) :
callback()
} else if (callback) {
callback()
}
}
// MODAL PLUGIN DEFINITION
// =======================
var old = $.fn.spmodal
$.fn.spmodal = function (option, _relatedTarget) {
return this.each(function () {
var $this = $(this)
var data = $this.data('bs.spmodal')
var options = $.extend({}, SPModal.DEFAULTS, $this.data(), typeof option == 'object' && option)
if (!data) $this.data('bs.spmodal', (data = new SPModal(this, options)))
if (typeof option == 'string') data[option](_relatedTarget)
else if (options.show) data.show(_relatedTarget)
})
}
$.fn.spmodal.Constructor = SPModal
// MODAL NO CONFLICT
// =================
$.fn.spmodal.noConflict = function () {
$.fn.spmodal = old
return this
}
// MODAL DATA-API
// ==============
$(document).on('click.bs.spmodal.data-api', '[data-toggle="spmodal"]', function (e) {
var $this = $(this)
var href = $this.attr('href')
var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7
var option = $target.data('bs.spmodal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
if ($this.is('a')) e.preventDefault()
$target
.spmodal(option, this)
.one('hide', function () {
$this.is(':visible') && $this.focus()
})
})
}(jQuery);

View File

@ -0,0 +1,36 @@
/**
* @package SP Page Builder
* @author JoomShaper http://www.joomshaper.com
* @copyright Copyright (c) 2010 - 2016 JoomShaper
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
*/
jQuery(function($) {
$('*[data-group_parent]*').each(function(){
var $this = $(this);
var parent = $(this).data('group_parent');
var depend = $(this).data('depend');
if( $('[data-attrname="'+ parent +'"]').val() != depend ) {
$(this).hide();
}
$(document).on('change', '#field_' + parent, function(event) {
var val = $(this).val();
var $child = $('[data-group_parent="' + $(this).data('attrname') + '"]');
if($child.length) {
$child.each(function() {
if($(this).data('depend') == val) {
$(this).fadeIn();
} else {
$(this).hide();
}
});
}
});
});
});

View File

@ -0,0 +1 @@
jQuery(function(e){e(document).on("change",".sp-pagebuilder-control-padding",function(o){var a="",s=e(this);e(this).closest(".sp-pagebuilder-paddings-list").find(">div").each(function(o){a+=e(this).find(".sp-pagebuilder-control-padding").val()+" "}),s.closest(".sp-pagebuilder-paddings-list").prev().val(e.trim(a))}),e(document).on("change",".sp-pagebuilder-control-margin",function(o){var a="",s=e(this);e(this).closest(".sp-pagebuilder-margins-list").find(">div").each(function(o){a+=e(this).find(".sp-pagebuilder-control-margin").val()+" "}),s.closest(".sp-pagebuilder-margins-list").prev().val(e.trim(a))}),e(document).on("click",".sp-pagebuilder-btn-clear-media",function(o){o.preventDefault();var a=e(this);a.siblings(".sp-pagebuilder-media-preview").addClass("sp-pagebuilder-media-no-image").removeAttr("src"),a.siblings("input").val("")});var o={};e.fn.openPopupAlt=function(){e("#page-options").addClass("sp-pagebuilder-modal-overlay-after-open"),e("#page-options").find(".sp-pagebuilder-modal-content").addClass("sp-pagebuilder-modal-content-after-open"),e("body").addClass("sp-pagebuilder-modal-open"),e(".sp-pagebuilder-modal-alt .form-group").find(">input,>textarea,>select").each(function(){o[e(this).attr("id")]=e(this).val()})},e.fn.closePopupAlt=function(a){var s=e.extend({reset:!1},a);return e("#page-options").addClass("sp-pagebuilder-modal-overlay-before-close"),e("#page-options").find(".sp-pagebuilder-modal-content").addClass("sp-pagebuilder-modal-content-before-close"),e("#page-options").removeClass("sp-pagebuilder-modal-overlay-before-close sp-pagebuilder-modal-overlay-after-open"),e("#page-options").find(".sp-pagebuilder-modal-content").removeClass("sp-pagebuilder-modal-content-before-close sp-pagebuilder-modal-content-after-open"),e("body").removeClass("sp-pagebuilder-modal-open"),s.reset&&e(".sp-pagebuilder-modal-alt .form-group").find(">input,>textarea,>select").each(function(){e(this).val(o[e(this).attr("id")]),"jform_og_image"==e(this).attr("id")&&""!=o[e(this).attr("id")]&&e(this).prev(".sppb-media-preview").removeClass("no-image").attr("src",pagebuilder_base+o[e(this).attr("id")])}),this},e("#btn-page-options").on("click",function(o){o.preventDefault(),e().openPopupAlt()}),e(document).on("click",".sp-pagebuilder-modal-alt .sp-pagebuilder-modal-content-after-open",function(o){o.target===this&&e().closePopupAlt({reset:!0})}),e(document).on("click","#btn-cancel-page-options",function(o){o.preventDefault(),e().closePopupAlt({reset:!0})}),e(document).on("click","#btn-apply-page-options",function(o){e().closePopupAlt()}),e(document).on("click",".sp-pagebuilder-fontawesome-icon-input",function(o){o.preventDefault(),e(this).closest(".sp-pagebuilder-fontawesome-icon-chooser").toggleClass("open"),e(this).closest(".sp-pagebuilder-fontawesome-icon-chooser").hasClass("open")&&e(this).closest(".sp-pagebuilder-fontawesome-icon-chooser").find('input[type="text"]').focus()}),e(document).on("click",".sp-pagebuilder-fa-list-icon",function(o){o.preventDefault();var a=e(this),s=a.closest(".sp-pagebuilder-fontawesome-icon-chooser");e(this).closest("ul").find(">li").removeClass("active"),a.addClass("active"),s.find(".sp-pagebuilder-fontawesome-icon-input>span").html('<i class="fa '+a.data("fontawesome_icon")+'"></i> '+a.data("fontawesome_icon_name")),s.find(".sp-pagebuilder-addon-input-fa").val(a.data("fontawesome_icon_name")),s.addClass("sp-pagebuilder-has-fa-icon").removeClass("open")}),e(document).on("keyup",'.sp-pagebuilder-fontawesome-dropdown input[type="text"]',function(){var o=e(this).val(),a=new RegExp(".*?"+o+".*?","i");e(this).next(".sp-pagebuilder-fontawesome-icons").children().each(function(){var o=a.test(e("span",this).text());e(this).toggle(o)})}),e(document).on("click",".sp-pagebuilder-remove-fa-icon",function(o){o.stopPropagation(),o.preventDefault();var a=e(this).closest(".sp-pagebuilder-fontawesome-icon-chooser");a.removeClass("sp-pagebuilder-has-fa-icon"),a.find(".sp-pagebuilder-fontawesome-icon-input>span").html("--"+Joomla.JText._("COM_SPPAGEBUILDER_ADDON_ICON_SELECT")+"--"),a.find(".sp-pagebuilder-fontawesome-icons>li").removeClass("active"),a.find(".sp-pagebuilder-addon-input-fa").val("")}),e(".com_sppagebuilder #sp-pagebuilder-page-tools").length>0&&e(window).on("scroll",function(){if(e(window).scrollTop()>220){var o=e(".com_sppagebuilder #sp-pagebuilder-page-tools > div");e(".com_sppagebuilder #sp-pagebuilder-page-tools").addClass("fixed-sp-page-tools"),e(".com_sppagebuilder #sp-pagebuilder-page-tools").css({height:o.outerHeight()})}else e(".com_sppagebuilder #sp-pagebuilder-page-tools").removeClass("fixed-sp-page-tools"),e(".com_sppagebuilder #sp-pagebuilder-page-tools").css({height:"auto"})})});

View File

@ -0,0 +1,48 @@
/* ========================================================================
* Bootstrap: transition.js v3.1.1
* http://getbootstrap.com/javascript/#transitions
* ========================================================================
* Copyright 2011-2014 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */
+function ($) {
'use strict';
// CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)
// ============================================================
function transitionEnd() {
var el = document.createElement('bootstrap')
var transEndEventNames = {
'WebkitTransition' : 'webkitTransitionEnd',
'MozTransition' : 'transitionend',
'OTransition' : 'oTransitionEnd otransitionend',
'transition' : 'transitionend'
}
for (var name in transEndEventNames) {
if (el.style[name] !== undefined) {
return { end: transEndEventNames[name] }
}
}
return false // explicit for ie8 ( ._.)
}
// http://blog.alexmaccaw.com/css-transitions
$.fn.emulateTransitionEnd = function (duration) {
var called = false, $el = this
$(this).one($.support.transition.end, function () { called = true })
var callback = function () { if (!called) $($el).trigger($.support.transition.end) }
setTimeout(callback, duration)
return this
}
$(function () {
$.support.transition = transitionEnd()
})
}(jQuery);

View File

@ -0,0 +1 @@
jQuery(function(e){e(".sp-pagebuilder-media-toolbar").length>0&&e(window).on("scroll",function(){e(window).scrollTop()>220?e(".sp-pagebuilder-media-toolbar").addClass("fixed"):e(".sp-pagebuilder-media-toolbar").removeClass("fixed")})});

View File

@ -0,0 +1,168 @@
<?php
/**
* @package SP Page Builder
* @author JoomShaper http://www.joomshaper.com
* @copyright Copyright (c) 2010 - 2016 JoomShaper
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
*/
//no direct accees
defined ('_JEXEC') or die ('restricted aceess');
class SpAddonsConfig {
public static $addons = array();
public static function addonConfig( $attributes )
{
if (empty($attributes['addon_name']) || empty($attributes) || empty($attributes['attr']) ) {
return false;
}
else
{
$addon = $attributes['addon_name'];
self::$addons[$addon] = $attributes;
}
}
public static function getRowConfig()
{
return unserialize(SP_ROW_SETTINGS);
}
public static function getColumnConfig()
{
return unserialize(SP_COLUMN_SETTINGS);
}
}
class SpPgaeBuilder {
public $name;
public function __construct()
{
$this->getTypes();
$this->getElements();
}
public static function getAddonRowColumnConfig( $settings = array() )
{
$data = '';
if (count($settings)) {
foreach ($settings as $key => $value) {
$data .= ' data-'.$key.'="'.$value.'"';
}
}
return $data;
}
private function getTypes()
{
$types = JFolder::files( dirname( __FILE__ ) . '/types', '\.php$', false, true);
foreach ($types as $type) {
include_once $type;
}
}
private static function getTemplateName()
{
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select($db->quoteName(array('template')));
$query->from($db->quoteName('#__template_styles'));
$query->where($db->quoteName('client_id') . ' = 0');
$query->where($db->quoteName('home') . ' = 1');
$db->setQuery($query);
return $db->loadObject()->template;
}
private function getElements( $folders = array() )
{
require_once JPATH_COMPONENT_SITE . '/addons/module/admin.php';//Include module manually
$template_path = JPATH_ROOT . '/templates/' . self::getTemplateName(); // current template path
$tmpl_folders = array();
if (file_exists($template_path . '/sppagebuilder/addons'))
{
$tmpl_folders = JFolder::folders( $template_path . '/sppagebuilder/addons');
}
$folders = JFolder::folders( JPATH_COMPONENT_SITE .'/addons');
if($tmpl_folders){
$merge_folders = array_merge( $folders, $tmpl_folders );
$folders = array_unique( $merge_folders );
}
if (count($folders))
{
foreach ($folders as $folder)
{
$tmpl_file_path = $template_path . '/sppagebuilder/addons/'.$folder.'/admin.php';
$com_file_path = JPATH_COMPONENT_SITE . '/addons/'.$folder.'/admin.php';
if($folder!='module') {
if(file_exists( $tmpl_file_path ))
{
require_once $tmpl_file_path;
}
else if( file_exists( $com_file_path ))
{
require_once $com_file_path;
}
}
}
}
}
public static function getIcon( $addon )
{
$template_name = self::getTemplateName();
$template_path = JPATH_ROOT . '/templates/' . $template_name . '/sppagebuilder/addons/' . $addon . '/icon.png';
$com_file_path = JPATH_COMPONENT_SITE . '/addons/' . $addon . '/icon.png';
if ( file_exists($template_path) )
{
$icon = JURI::root(true) . '/templates/' . $template_name . '/sppagebuilder/addons/' . $addon . '/icon.png';
}
else if ( file_exists($com_file_path) )
{
$icon = JURI::root(true) . '/components/com_sppagebuilder/addons/' . $addon . '/icon.png';
}
else
{
$icon = JURI::root(true) . '/administrator/components/com_sppagebuilder/assets/img/addon-default.png';
}
return $icon;
}
public static function getInputElements( $key, $attr )
{
return call_user_func(array( 'SpType' . ucfirst( $attr['type'] ), 'getInput'), $key, $attr );
}
public static function outputGenerate( $key, $attr )
{
if (isset($attr['type'])) {
if ($attr['type'] != 'repeatable') {
return call_user_func(array( 'SpType' . ucfirst( $attr['type'] ), 'getInput'), $key, $attr );
}
}
return '';
}
}

View File

@ -0,0 +1,413 @@
<?php
/**
* @package SP Page Builder
* @author JoomShaper http://www.joomshaper.com
* @copyright Copyright (c) 2010 - 2016 JoomShaper
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
*/
//no direct accees
defined ('_JEXEC') or die ('restricted aceess');
jimport('joomla.filesystem.folder');
jimport('joomla.filesystem.file');
include_once ( JPATH_COMPONENT .'/builder/settings/sp-addons-settings.php' );
include_once ( JPATH_COMPONENT .'/builder/builder.php' );
function builder_layout( $layout_data = null )
{
$builder = new SpPgaeBuilder();
$sp_builder_elements = SpAddonsConfig::$addons;
$sp_builder_col_ops = SpAddonsConfig::getColumnConfig();
$sp_builder_row_ops = SpAddonsConfig::getRowConfig();
global $pageId;
global $pageLayout;
global $language;
if ($language != '*') {
$language = explode('-',$language);
$languages ='&lang='.$language[0];
}
ob_start();
?>
<div class="clearfix">
<ul class="page-builder-ops">
<li><a id="add-row" class="sppb-btn sppb-btn-primary" href="javascript:void(0)"><i class="fa fa-plus"></i> <?php echo JText::_('COM_SPPAGEBUILDER_ADD_ROW'); ?></a></li>
<li class="inner-options pull-right">
<a id="add-template" class="sppb-btn sppb-btn-primary" href="javascript:void(0)"><i class="fa fa-plus"></i> Load Template</a>
<ul id="pagebuilder-templates">
<li><a target="_blank" href="http://www.joomshaper.com/page-builder#pricing">Availabe in Pro Version</a></li>
</ul>
</li>
<li class="layout-options pull-right"><div class="checkbox"><label class="hasTooltip" title="<?php echo JText::_('COM_SPPAGEBUILDER_PAGE_FULL_WIDTH_DESC'); ?>"><input type="checkbox" name="jform[page_layout]" id="jform_page_layout" value="1" <?php if($pageLayout) echo 'checked'?>><?php echo JText::_('COM_SPPAGEBUILDER_PAGE_FULL_WIDTH'); ?></label></div></li>
<?php if(!empty($pageId)){?>
<li><a class="sppb-btn sppb-btn-success" href="<?php echo JURI::root().'index.php?option=com_sppagebuilder&view=page&id='.$pageId.((isset($languages))?$languages:''); ?>" target="_blank"><?php echo JText::_('COM_SPPAGEBUILDER_VIEW_PAGE'); ?></a></li>
<?php } ?>
<li><a class="sppb-btn sppb-btn-danger" target="_blank" href="https://www.joomshaper.com/page-builder#compare"><?php echo JText::_('COM_SPPAGEBUILDER_UPGRADE_PRO'); ?></a></li>
</ul>
</div>
<div class="clearfix"></div>
<hr>
<div id="sp-page-builder" class="clearfix">
<?php
if ($layout_data)
{
?>
<div class="clearfix">
<div class="page-builder-area">
<?php
$output = '';
foreach ($layout_data as $key => $row)
{
$row_setting = SpPgaeBuilder::getAddonRowColumnConfig( $row->settings );
$output .= '<div class="pagebuilder-section" '.$row_setting.'>
<div class="section-header clearfix">
<div class="pull-left">
<a class="move-row" href="javascript:void(0)"><i class="fa fa-arrows"></i></a>
<div class="row-layout-container">
<a class="add-column" href="javascript:void(0)"><i class="fa fa-plus"></i> Column</a>
<ul>
<li><a href="#" class="row-layout row-layout-12 sp-tooltip '.(( $row->layout == 12 )?'active':'').'" data-layout="12" data-toggle="tooltip" data-placement="top" data-original-title="1/1"></a></li>
<li><a href="#" class="row-layout row-layout-66 sp-tooltip '.(( $row->layout == 66 )?'active':'').'" data-layout="6,6" data-toggle="tooltip" data-placement="top" data-original-title="1/2 + 1/2"></a></li>
<li><a href="#" class="row-layout row-layout-444 sp-tooltip '.(( $row->layout == 444 )?'active':'').'" data-layout="4,4,4" data-toggle="tooltip" data-placement="top" data-original-title="1/3 + 1/3 + 1/3"></a></li>
<li><a href="#" class="row-layout row-layout-3333 sp-tooltip '.(( $row->layout == 3333 )?'active':'').'" data-layout="3,3,3,3" data-toggle="tooltip" data-placement="top" data-original-title="1/4 + 1/4 + 1/4 + 1/4"></a></li>
<li><a href="#" class="row-layout row-layout-48 sp-tooltip '.(( $row->layout == 48 )?'active':'').'" data-layout="4,8" data-toggle="tooltip" data-placement="top" data-original-title="1/3 + 3/4"></a></li>
<li><a href="#" class="row-layout row-layout-39 sp-tooltip '.(( $row->layout == 39 )?'active':'').'" data-layout="3,9" data-toggle="tooltip" data-placement="top" data-original-title="1/4 + 3/4"></a></li>
<li><a href="#" class="row-layout row-layout-363 sp-tooltip '.(( $row->layout == 363 )?'active':'').'" data-layout="3,6,3" data-toggle="tooltip" data-placement="top" data-original-title="1/4 + 1/2 + 1/4"></a></li>
<li><a href="#" class="row-layout row-layout-264 sp-tooltip '.(( $row->layout == 264 )?'active':'').'" data-layout="2,6,4" data-toggle="tooltip" data-placement="top" data-original-title="1/6 + 1/2 + 1/3"></a></li>
<li><a href="#" class="row-layout row-layout-210 sp-tooltip '.(( $row->layout == 210 )?'active':'').'" data-layout="2,10" data-toggle="tooltip" data-placement="top" data-original-title="1/6 + 5/6"></a></li>
<li><a href="#" class="row-layout row-layout-57 sp-tooltip '.(( $row->layout == 57 )?'active':'').'" data-layout="5,7" data-toggle="tooltip" data-placement="left" data-original-title="5/12 + 7/12"></a></li>
</ul>
</div>
</div>
<div class="row-actions pull-right">
<a class="add-rowplus sp-tooltip" href="javascript:void(0)" data-toggle="tooltip" data-original-title="' . JText::_('COM_SPPAGEBUILDER_ADD_NEW_ROW') . '"><i class="fa fa-plus"></i></a>
<a class="row-options sp-tooltip" href="javascript:void(0)" data-toggle="tooltip" data-original-title="' . JText::_('COM_SPPAGEBUILDER_ROW_SETTINGS') . '"><i class="fa fa-cog"></i></a>
<a class="duplicate-row sp-tooltip" href="javascript:void(0)" data-toggle="tooltip" data-original-title="' . JText::_('COM_SPPAGEBUILDER_CLONE_ROW') . '"><i class="fa fa-files-o"></i></a>
<a class="delete-row sp-tooltip" href="javascript:void(0)" data-toggle="tooltip" data-original-title="' . JText::_('COM_SPPAGEBUILDER_DELETE_ROW') . '"><i class="fa fa-times"></i></a>
</div>
</div>
<div class="row">';
foreach ($row->attr as $key => $column)
{
$col_setting = SpPgaeBuilder::getAddonRowColumnConfig( $column->settings );
$output .= '<div class="'.$column->class_name.'" '.$col_setting.'>';
$output .= '<div class="column">';
foreach ($column->attr as $key => $addon)
{
if(isset($addon->title)){
$title = $addon->title;
}else{
$title = $addon->name;
}
$admin_label = '';
if ( isset($addon->atts->admin_label) && $addon->atts->admin_label ) {
$admin_label = $addon->atts->admin_label;
} else if( isset($addon->atts->title) && $addon->atts->title ) {
$admin_label = $addon->atts->title;
}
$output .= '<div class="generated">
<div class="generated-items">
<div class="generated-item clearfix">
<img class="item-image" src="' . SpPgaeBuilder::getIcon($addon->name) . '" alt="' . $addon->name . '" width="24">';
$output .= '<h3 data-name="'.$addon->name.'">' . $title . '</h3>';
$output .= '<div class="action">
<a class="addon-edit" href="javascript:void(0)">
<i class="fa fa-pencil"></i>
</a>
<a class="addon-duplicate" href="javascript:void(0)">
<i class="fa fa-files-o"></i>
</a>
<a class="remove-addon" href="javascript:void(0)">
<i class="fa fa-times"></i>
</a>
</div>';
$output .= '<p class="addon-input-title">' . $admin_label . '</p>';
$output .= '<div class="item-inner">';
foreach ( $addon->atts as $field => $value )
{
$sp_builder_elements['sp_'.$addon->name]['attr'][$field]['std'] = $value;
}
foreach ( $sp_builder_elements['sp_'.$addon->name]['attr'] as $name => $value )
{
$output .= SpPgaeBuilder::outputGenerate( $name, $value );
}
if (count($addon->scontent))
{
$output .='<div class="repeatable-items">';
$output .= '<a href="javascript:void(0)" class="clone-repeatable sppb-btn sppb-btn-primary"><i class="fa fa-plus"></i> ' . JText::_('COM_SPPAGEBUILDER_ADD_ROW') . '</a>';
$output .='<div class="accordion">';
foreach ($addon->scontent as $key => $newaddon)
{
$rep_addon_name = '';
if (isset($newaddon->name)) {
$rep_addon_name = $newaddon->name;
}
$output .= '<div class="accordion-group" data-inner_base="'.$rep_addon_name.'">';
$output .= '<div class="accordion-heading">
<a href="javascript:void(0)" class="action-move"><i class="fa fa-ellipsis-v"></i></a>
<a class="accordion-toggle" data-toggle="collapse"></a>
<a href="javascript:void(0)" class="action-remove"><i class="fa fa-times"></i></a>
<a href="javascript:void(0)" class="action-duplicate"><i class="fa fa-copy"></i></a>
</div>';
$output .= '<div class="accordion-body collapse">';
$output .= '<div class="accordion-inner">';
foreach ( $newaddon->atts as $field => $value )
{
$sp_builder_elements['sp_'.$addon->name]['attr']['repetable_item']['attr'][$field]['std'] = $value;
}
foreach ( $sp_builder_elements['sp_'.$addon->name]['attr']['repetable_item']['attr'] as $name => $values )
{
$output .= SpPgaeBuilder::outputGenerate( $name, $values );
}
$output .= '</div>';
$output .= '</div>';
$output .= '</div>';
}
$output .='</div>';
$output .='</div>';
}
$output .= '</div>
</div>
</div>
</div>';
}
$output .= '</div>';
$output .= '<div class="col-settings">
<a class="add-addon" href="javascript:void(0)"><i class="fa fa-plus-circle"></i> '. JText::_('COM_SPPAGE_BUILDER_ADD_ADDON') .'</a>
<a class="column-options" href="javascript:void(0)"><i class="fa fa-cog"></i> '. JText::_('COM_SPPAGE_BUILDER_COLUMN_OPTIONS') .'</a>
</div>
</div>';
}
$output .= '</div>
</div>';
}
echo $output;
?>
</div>
</div>
<?php
}
else
{
include_once ( JPATH_COMPONENT .'/builder/settings/builder-default-template.php' );
}
?>
</div>
<?php
include_once ( JPATH_COMPONENT .'/builder/settings/settings-template.php' );
return ob_get_clean();
}
function dataLayoutBuilder( $layout_data )
{
$builder = new SpPgaeBuilder();
$sp_builder_elements = SpAddonsConfig::$addons;
$sp_builder_col_ops = SpAddonsConfig::getColumnConfig();
$sp_builder_row_ops = SpAddonsConfig::getRowConfig();
$output = '';
$output .= '<div class="clearfix">';
$output .= '<div class="page-builder-area">';
foreach ($layout_data as $key => $row)
{
$row_setting = SpPgaeBuilder::getAddonRowColumnConfig( $row->settings );
$output .= '<div class="pagebuilder-section" '.$row_setting.'>
<div class="section-header clearfix">
<div class="pull-left">
<a class="move-row" href="javascript:void(0)"><i class="fa fa-arrows"></i></a>
<div class="row-layout-container">
<a class="add-column" href="javascript:void(0)"><i class="fa fa-plus"></i> Column</a>
<ul>
<li><a href="#" class="row-layout row-layout-12 sp-tooltip '.(( $row->layout == 12 )?'active':'').'" data-layout="12" data-toggle="tooltip" data-placement="top" data-original-title="1/1"></a></li>
<li><a href="#" class="row-layout row-layout-66 sp-tooltip '.(( $row->layout == 66 )?'active':'').'" data-layout="6,6" data-toggle="tooltip" data-placement="top" data-original-title="1/2 + 1/2"></a></li>
<li><a href="#" class="row-layout row-layout-444 sp-tooltip '.(( $row->layout == 444 )?'active':'').'" data-layout="4,4,4" data-toggle="tooltip" data-placement="top" data-original-title="1/3 + 1/3 + 1/3"></a></li>
<li><a href="#" class="row-layout row-layout-3333 sp-tooltip '.(( $row->layout == 3333 )?'active':'').'" data-layout="3,3,3,3" data-toggle="tooltip" data-placement="top" data-original-title="1/4 + 1/4 + 1/4 + 1/4"></a></li>
<li><a href="#" class="row-layout row-layout-48 sp-tooltip '.(( $row->layout == 48 )?'active':'').'" data-layout="4,8" data-toggle="tooltip" data-placement="top" data-original-title="1/3 + 3/4"></a></li>
<li><a href="#" class="row-layout row-layout-39 sp-tooltip '.(( $row->layout == 39 )?'active':'').'" data-layout="3,9" data-toggle="tooltip" data-placement="top" data-original-title="1/4 + 3/4"></a></li>
<li><a href="#" class="row-layout row-layout-363 sp-tooltip '.(( $row->layout == 363 )?'active':'').'" data-layout="3,6,3" data-toggle="tooltip" data-placement="top" data-original-title="1/4 + 1/2 + 1/4"></a></li>
<li><a href="#" class="row-layout row-layout-264 sp-tooltip '.(( $row->layout == 264 )?'active':'').'" data-layout="2,6,4" data-toggle="tooltip" data-placement="top" data-original-title="1/6 + 1/2 + 1/3"></a></li>
<li><a href="#" class="row-layout row-layout-210 sp-tooltip '.(( $row->layout == 210 )?'active':'').'" data-layout="2,10" data-toggle="tooltip" data-placement="top" data-original-title="1/6 + 5/6"></a></li>
<li><a href="#" class="row-layout row-layout-57 sp-tooltip '.(( $row->layout == 57 )?'active':'').'" data-layout="5,7" data-toggle="tooltip" data-placement="left" data-original-title="5/12 + 7/12"></a></li>
</ul>
</div>
</div>
<div class="row-actions pull-right">
<a class="add-rowplus sp-tooltip" href="javascript:void(0)" data-toggle="tooltip" data-original-title="' . JText::_('COM_SPPAGEBUILDER_ADD_NEW_ROW') . '"><i class="fa fa-plus"></i></a>
<a class="row-options sp-tooltip" href="javascript:void(0)" data-toggle="tooltip" data-original-title="' . JText::_('COM_SPPAGEBUILDER_ROW_SETTINGS') . '"><i class="fa fa-cog"></i></a>
<a class="duplicate-row sp-tooltip" href="javascript:void(0)" data-toggle="tooltip" data-original-title="' . JText::_('COM_SPPAGEBUILDER_CLONE_ROW') . '"><i class="fa fa-files-o"></i></a>
<a class="delete-row sp-tooltip" href="javascript:void(0)" data-toggle="tooltip" data-original-title="' . JText::_('COM_SPPAGEBUILDER_DELETE_ROW') . '"><i class="fa fa-times"></i></a>
</div>
</div>
<div class="row">';
foreach ($row->attr as $key => $column)
{
$col_setting = SpPgaeBuilder::getAddonRowColumnConfig( $column->settings );
$output .= '<div class="'.$column->class_name.'" '.$col_setting.'>';
$output .= '<div class="column">';
foreach ($column->attr as $key => $addon)
{
if(isset($addon->title)){
$title = $addon->title;
}else{
$title = $addon->name;
}
$output .= '<div class="generated">
<div class="generated-items">
<div class="generated-item clearfix">
<img class="item-image" src="' . SpPgaeBuilder::getIcon($addon->name) . '" alt="' . $addon->name . '" width="24">';
$output .= '<h3 data-name="'.$addon->name.'">' . $title . '</h3>';
$output .= '<div class="action">
<a class="addon-edit" href="javascript:void(0)">
<i class="fa fa-pencil"></i>
</a>
<a class="addon-duplicate" href="javascript:void(0)">
<i class="fa fa-repeat"></i>
</a>
<a class="remove-addon" href="javascript:void(0)">
<i class="fa fa-times"></i>
</a>
</div>
<div class="item-inner">';
foreach ( $addon->atts as $field => $value )
{
$sp_builder_elements['sp_'.$addon->name]['attr'][$field]['std'] = $value;
}
foreach ( $sp_builder_elements['sp_'.$addon->name]['attr'] as $name => $value )
{
$output .= SpPgaeBuilder::outputGenerate( $name, $value );
}
if (count($addon->scontent))
{
$output .='<div class="repeatable-items">';
$output .= '<a href="javascript:void(0)" class="clone-repeatable sppb-btn sppb-btn-primary"><i class="fa fa-plus"></i> ' . JText::_('COM_SPPAGEBUILDER_ADD_ROW') . '</a>';
$output .='<div class="accordion">';
foreach ($addon->scontent as $key => $newaddon)
{
$rep_addon_name = '';
if (isset($newaddon->name)) {
$rep_addon_name = $newaddon->name;
}
$output .= '<div class="accordion-group" data-inner_base="'.$rep_addon_name.'">';
$output .= '<div class="accordion-heading">
<a href="javascript:void(0)" class="action-move"><i class="fa fa-ellipsis-v"></i></a>
<a class="accordion-toggle" data-toggle="collapse"></a>
<a href="javascript:void(0)" class="action-remove"><i class="fa fa-times"></i></a>
<a href="javascript:void(0)" class="action-duplicate"><i class="fa fa-copy"></i></a>
</div>';
$output .= '<div class="accordion-body collapse">';
$output .= '<div class="accordion-inner">';
foreach ( $newaddon->atts as $field => $value )
{
$sp_builder_elements['sp_'.$addon->name]['attr']['repetable_item']['attr'][$field]['std'] = $value;
}
foreach ( $sp_builder_elements['sp_'.$addon->name]['attr']['repetable_item']['attr'] as $name => $values )
{
$output .= SpPgaeBuilder::outputGenerate( $name, $values );
}
$output .= '</div>';
$output .= '</div>';
$output .= '</div>';
}
$output .='</div>';
$output .='</div>';
}
$output .= '</div>
</div>
</div>
</div>';
}
$output .= '</div>';
$output .= '<div class="col-settings">
<a class="add-addon" href="javascript:void(0)"><i class="fa fa-plus"></i></a>
<a class="column-options" href="javascript:void(0)"><i class="fa fa-cog"></i></a>
</div>
</div>';
}
$output .= '</div>
</div>';
}
$output .= '</div>';
$output .= '</div>';
echo $output;
}

View File

@ -0,0 +1,265 @@
<?php
/**
* @package SP Page Builder
* @author JoomShaper http://www.joomshaper.com
* @copyright Copyright (c) 2010 - 2016 JoomShaper
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
*/
//no direct accees
defined ('_JEXEC') or die ('Restricted access');
require_once __DIR__ .'/base.php';
require_once __DIR__ .'/config.php';
$isSite = JFactory::getApplication()->isSite();
if ($isSite) {
if(!class_exists('SppagebuilderHelper')) {
require_once JPATH_ROOT . '/components/com_sppagebuilder/helpers/helper.php';
}
require_once JPATH_ROOT . '/components/com_sppagebuilder/parser/addon-parser.php';
}
class SpPageBuilderAddonHelper {
public static function __( $json = '[]', $frontend = false ) {
$datas = json_decode($json);
if (!count((array) $datas)) return $json;
$uniqueId = strtotime('now');
$first_row = $datas[0];
if (!isset($first_row->id)) {
foreach ($datas as &$row){
self::rowFallback($row, $uniqueId);
foreach ($row->columns as &$column){
self::columnFallback($column, $uniqueId);
foreach ($column->addons as &$addon){
// Inner Row data regenerate
if (isset($addon->type) && $addon->type == 'sp_row') {
self::rowFallback($addon, $uniqueId, true);
foreach ($addon->columns as &$column) {
self::columnFallback($column, $uniqueId);
foreach ($column->addons as &$addon) {
self::addonFallback($addon, $uniqueId);
}
}
} else {
self::addonFallback($addon, $uniqueId);
}
}
}
}
}
// Frontend editing
if($frontend) {
return self::getFontendEditingPage(json_encode($datas));
}
return json_encode($datas);
}
// Row data regenerate for version < 2.0
public static function rowFallback( &$row, &$id, $inner = false ) {
$row->id = $id;
$row->visibility = (isset($row->disable) && $row->disable)?'':1;
if ($row->layout != '12'){
$chars = str_split($row->layout);
$row->layout = join(',',$chars);
}
$row->columns = $row->attr;
if (!$inner) {
$row->collapse = '';
$row->title = 'Row';
unset($row->type);
unset($row->disable);
} else {
$row->type = 'inner_row';
}
$id = $id + 1;
unset($row->attr);
}
// Column data regenerate for version < 2.0
public static function columnFallback( &$column, &$id ) {
$column->id = $id;
$column->addons = $column->attr;
$column->visibility = 1;
$column->class_name = str_replace('column-parent ','', $column->class_name);
$id = $id + 1;
unset($column->settings->sortableitem);
unset($column->attr);
unset($column->type);
}
// Addon data regenerate for version < 2.0
public static function addonFallback( &$addon, &$id ) {
$addon->id = $id;
$addon->settings = $addon->atts;
$addon->visibility = 1;
if(count((array) $addon->scontent)) {
$settings = array();
foreach ( $addon->scontent as $ops ) {
$settings[] = $ops->atts;
}
if(isset($form_fields[$addon->name]['attr']['repetable_item']['addon_name'])) {
$addon->settings->{$form_fields[$addon->name]['attr']['repetable_item']['addon_name']} = $settings;
} else if(isset($addon->scontent[0]->name) && $addon->scontent[0]->name) {
$addon->settings->{$addon->scontent[0]->name} = $settings;
}
}
$id = $id + 1;
unset($addon->atts);
unset($addon->scontent);
}
public static function getFontendEditingPage($page = []) {
$datas = json_decode($page);
if ( !count((array) $datas) ) return $page;
foreach ( $datas as &$row ){
foreach ( $row->columns as &$column) {
foreach ( $column->addons as &$addon ) {
if (isset( $addon->type ) && ( $addon->type === 'sp_row' || $addon->type === 'inner_row' ) ) {
foreach ( $addon->columns as &$column ) {
foreach ( $column->addons as &$addon ) {
$addon_data = self::getAddonContent($addon);
if( !isset( $addon_data['jsTemplate'] ) ) {
$addon->htmlContent = $addon_data['html'];
$addon->assets = $addon_data['assets'];
}
}
}
} else {
$addon_data = self::getAddonContent($addon);
if( !isset( $addon_data['jsTemplate'])){
$addon->htmlContent = $addon_data['html'];
$addon->assets = $addon_data['assets'];
}
}
}
}
}
return json_encode( $datas );
}
public static function getAddonContent( $addon ) {
$addon_name = $addon->name;
$class_name = 'SppagebuilderAddon' . ucfirst( $addon_name );
$addon_path = AddonParser::getAddonPath( $addon_name );
$addonFullPath = $addon_path.'/site.php';
if(!file_exists($addonFullPath)){
return array(
'html' => '<div class="remove-addon-notice"><h4>Addon files have been removed or dont exist in the current template or your site.</h4></div>',
'assets' => ''
);
}
require_once $addonFullPath;
if ( class_exists( $class_name ) ) {
if ( method_exists( $class_name, 'getTemplate' ) ) {
return array( 'jsTemplate' => true );
}
}
$addon_options = array();
if((!isset($addon->type) || $addon->type !== 'inner_row') && isset($addon_list[$addon->name]['attr']) && $addon_list[$addon->name]['attr']) {
$addon_groups = $addon_list[$addon->name]['attr'];
if (is_array($addon_groups)) {
foreach ($addon_groups as $addon_group) {
$addon_options += $addon_group;
}
}
}
foreach ($addon->settings as $key => $setting) {
if (isset($setting->md)) {
$md = isset($setting->md) ? $setting->md : "";
$sm = isset($setting->sm) ? $setting->sm : "";
$xs = isset($setting->xs) ? $setting->xs : "";
$setting = $md;
$addon->settings->{$key . '_sm'} = $sm;
$addon->settings->{$key . '_xs'} = $xs;
}
if(isset($addon_options[$key]['selector'])) {
$addon_selector = $addon_options[$key]['selector'];
if(isset($addon->settings->{$key}) && !empty($addon->settings->{$key})) {
$selector_value = $addon->settings->{$key};
$addon->settings->{$key . '_selector'} = str_replace('{{ VALUE }}', $selector_value, $addon_selector);
}
}
// Repeatable
if( (!isset($addon->type) || $addon->type !== 'inner_row') && (($key == 'sp_'. $addon->name .'_item') || ($key == $addon->name .'_item')) ) {
if(count((array) $setting)) {
foreach ($setting as $options) {
foreach ($options as $key2 => $opt) {
if (isset($opt->md)) {
$md = isset($opt->md) ? $opt->md : "";
$sm = isset($opt->sm) ? $opt->sm : "";
$xs = isset($opt->xs) ? $opt->xs : "";
$opt = $md;
$options->{$key2 . '_sm'} = $sm;
$options->{$key2 . '_xs'} = $xs;
}
if(isset($addon_options[$key]['attr'][$key2]['selector'])) {
$addon_selector = $addon_options[$key]['attr'][$key2]['selector'];
if(isset($options->{$key2}) && !empty($options->{$key2})) {
$selector_value = $options->{$key2};
$options->{$key2 . '_selector'} = str_replace('{{ VALUE }}', $selector_value, $addon_selector);
}
}
}
}
}
}
}
$output = '';
$output .= JLayoutHelper::render( 'addon.start', array( 'addon' => $addon ) ); // start addon
$assets = array();
$css = JLayoutHelper::render( 'addon.css', array( 'addon' => $addon ) );
if ( class_exists( $class_name ) ) {
$addon_obj = new $class_name($addon); // initialize addon class
$output .= $addon_obj->render();
if (method_exists($class_name, 'css')) {
$css .= $addon_obj->css();
}
if (method_exists($class_name, 'js')) {
$assets['js'] = $addon_obj->js();
}
} else {
$output .= AddonParser::spDoAddon( AddonParser::generateShortcode($addon, 0, 0));
}
$output .= JLayoutHelper::render('addon.end'); // end addon
if($css) {
$assets['css'] = $css;
}
return array('html'=>$output, 'assets'=>$assets);
}
}

View File

@ -0,0 +1,363 @@
<?php
/**
* @package SP Page Builder
* @author JoomShaper http://www.joomshaper.com
* @copyright Copyright (c) 2010 - 2016 JoomShaper
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
*/
/**
* SP Page Builder settings ajax loader
*
* @since version 2.0
*/
defined ('_JEXEC') or die ('Restricted access');
class SppbSettingsAjax {
/**
* Ajax Request Settings type
* @since 2.0
* @access private
* @var strings
*/
private $type = '';
private $addon_raw;
/**
* Current Row Index
* @since 2.0
* @access private
* @var intiger
*/
private $row_index;
/**
* Current Column Index
* @since 2.0
* @access private
* @var intiger
*/
private $column_index;
/**
* Current Addon Index
* @since 2.0
* @access private
* @var intiger
*/
private $addon_index;
/**
* Current Addon Index
* @since 2.0
* @access private
* @var intiger
*/
private $addon_name;
/**
* Current Addon Index
* @since 2.0
* @access private
* @var array
*/
private $settings = array();
/**
* Current Addon Index
* @since 2.0
* @access private
* @var array
*/
private $options = array();
/**
* Current Addon Index
* @since 2.0
* @access private
* @var bool
*/
private $error = false;
private $addons = array();
/**
* Construct
*/
function __construct( $post = array(), $default ) {
if (isset($post['type'])) {
$this->type = $post['type'];
}
if (isset($post['settings'])) {
$this->settings = $post['settings'];
}
if (isset($post['rowIndex'])) {
$this->row_index = $post['rowIndex'];
}
if (isset($post['colIndex'])) {
$this->column_index = $post['colIndex'];
}
if (isset($post['addonIndex'])) {
$this->addon_index = $post['addonIndex'];
}
if (isset($post['addonName'])) {
$this->addon_name = $post['addonName'];
}
if ( $this->type === 'row' || $this->type === 'inner_row' ) {
$this->options = $default['attr'];
} else if ( $this->type === 'column' || $this->type === 'inner_column' ) {
$this->options = $default['attr'];
} else if ( $this->type === 'addon' || $this->type === 'inner_addon') {
$this->options = $default[$this->addon_name]['attr'];
$this->addon_raw = $default[$this->addon_name];
} else if ( $this->type === 'list' ) {
$this->addons = $default;
}
}
/**
* Ajax request call back
* @since 2.0
* @return JSON
*/
public function get_ajax_request() {
$result = new stdClass;
if ($this->type === 'list') {
$result->categories = $this->get_addon_categories($this->addons);
}
$result->type = $this->type;
$result->rowIndex = $this->row_index;
$result->columnIndex = $this->column_index;
$result->addonIndex = $this->addon_index;
$result->addonName = $this->addon_name;
$result->data = $this->get_settings_result();
$result->status = true;
return json_encode($result);
}
/**
* Get settings data
* @since 2.0
* @access private
* @return array|string
*/
private function get_addon_categories($addons){
$categories = array();
foreach ($addons as $addon) {
if (isset($addon['category'])) {
$categories[] = $addon['category'];
}
}
$new_array = array_count_values($categories);
$result[0]['name'] = 'All';
$result[0]['count'] = count((array) $addons);
if (count((array) $new_array)) {
$i = 1;
foreach ($new_array as $key => $row) {
$result[$i]['name'] = $key;
$result[$i]['count'] = $row;
$i = $i + 1;
}
}
return $result;
}
/**
* Get settings data
* @since 2.0
* @access private
* @return array|string
*/
private function get_settings_result() {
switch ($this->type)
{
case 'list':
return $this->get_addons_array_list();
break;
case 'row':
case 'column':
case 'addon':
case 'inner_row':
case 'inner_column':
case 'inner_addon':
return $this->get_inputs_output_html();
break;
default:
return 'No related settings found';
break;
}
}
/**
* Array of addons list
* @since 2.0
* @access private
* @return array
*/
private function get_addons_array_list() {
return array_values($this->addons);
}
/**
* HTML of row/column/addons settings inputs
* @since 2.0
* @access private
* @return string
*/
private function get_inputs_output_html() {
$i = 0;
$j = 0;
$addon_title = $this->addon_raw['title'];
$fieldsets = array();
foreach ($this->options as $key => $option) {
$fieldsets[$key] = $option;
}
$output = '';
if(count((array) $fieldsets)) {
$output .= '<div class="sp-pagebuilder-fieldset">';
$output .= '<ul class="sp-pagebuilder-nav sp-pagebuilder-nav-tabs">';
foreach ( $fieldsets as $key => $value ) {
$output .= '<li class="'. (( $i === 0 )?"active":"" ) .'"><a href="#sp-pagebuilder-tab-'. $key .'" aria-controls="'. $key .'" data-toggle="tab">'. ucfirst( $key ) .'</a></li>';
$i++;
}
$output .= '</ul>';
$output .= '<div class="tab-content">';
foreach ( $fieldsets as $key => $value ) {
$output .= '<div class="tab-pane '. (( $j === 0 )? "active":"" ) .'" id="sp-pagebuilder-tab-'. $key .'">';
$output .= $this->get_input_fields( $key, $addon_title );
$output .= '</div>';
$j++;
}
$output .= '</div>';
$output .= '</div>';
}
return $output;
}
/**
* Get input fileds
* @since 2.0
* @access private
* @return string
*/
private function get_input_fields( $filedset = '', $title = '') {
if (!$filedset) return;
$options = $this->options;
$output = '';
foreach ( $options[$filedset] as $key => $option ) {
if ( isset( $option['attr'] ) && is_array( $option['attr'] ) ) {
$output .= $this->get_grouped_input_fields( $key, $option, $title );
} else {
if ( isset( $this->settings[ $key ] ) ) {
$option['std'] = $this->settings[ $key ];
}
$output .= '<div class="sp-pagebuilder-parent-input-field" data-addon_title="'. $title . '">';
$output .= $this->get_input_field_html( $key, $option );
$output .= '</div>';
}
}
return $output;
}
/**
* Input filed based on type
* @since 2.0
* @access private
* @return string
*/
private function get_input_field_html($name, $options) {
$class_name = 'SpType' . ucfirst($options['type']);
return $class_name::getInput($name, $options);
}
/**
* Grouped input filed generator
* @since 2.0
* @access private
* @return string
*/
private function get_grouped_input_fields( $name, $options, $title = '' ) {
$grouped = array();
if (isset($this->settings[$name])) {
$grouped = $this->settings[$name];
} elseif (isset($options['addon_name']) && $options['addon_name']) {
$name = $options['addon_name'];
if (isset($this->settings[$name])) {
$grouped = $this->settings[$name];
}
}
$count = count((array) $grouped);
if ($count <= 0) {
$count = 1;
}
$output = '';
if(isset($options['title']) && $options['title'] != '') {
$output .= '<div class="sp-pagebuilder-grouped-wrap sp-pagebuilder-parent-input-field sp-pagebuilder-has-group-title" data-addon_title="'. $title . '" data-field_name="'. $name .'">';
} else {
$output .= '<div class="sp-pagebuilder-grouped-wrap sp-pagebuilder-parent-input-field" data-addon_title="'. $title . '" data-field_name="'. $name .'">';
}
if(isset($options['title']) && $options['title'] != '') {
$output .= '<h4 class="sp-pagebuilder-group-title">' . $options['title'] . '</h4>';
}
$output .= '<a href="#" class="sp-pagebuilder-add-grouped-item sp-pagebuilder-btn sp-pagebuilder-btn-warning sp-pagebuilder-btn-sm"><i class="fa fa-plus"></i> Add New</a>';
$output .= '<div class="sp-pagebuilder-grouped sp-pagebuilder-grouped-items grouped-'.$name.'" data-field_no="'. ($count - 1) .'">';
for($i = 0; $i < $count; $i++) {
$output .= '<div class="sp-pagebuilder-grouped-item">';
$output .= '<div class="sp-pagebuilder-repeatable-toggler">';
$output .= '<span class="sp-pagebuilder-move-repeatable"><i class="fa fa-ellipsis-v"></i></span>';
$output .= '<h4 class="sp-pagebuilder-repeatable-item-title">Item '. ($i+1) .'</h4>';
$output .= '<span class="sp-pagebuilder-remove-grouped-item"><a href="#"><i class="fa fa-times"></i></a></span>';
$output .= '<span class="sp-pagebuilder-clone-grouped-item"><a href="#"><i class="fa fa-clone"></i></a></span>';
$output .= '</div>';
$output .= '<div class="sp-pagebuilder-grouped-item-collapse" style="display:none;">';
foreach ( $options['attr'] as $key => $option ) {
if ( isset( $grouped[$i][$key] ) ) {
$option['std'] = $grouped[$i][$key];
}
$key = $name. '['. $i .']['. $key .']';
$output .= '<div class="sp-pagebuilder-repeatable-input-field">';
$output .= $this->get_input_field_html( $key, $option );
$output .= '</div>';
}
$output .= '</div>';
$output .= '</div>';
}
$output .= '</div>';
$output .= '</div>';
return $output;
}
}

View File

@ -0,0 +1,593 @@
<?php
/**
* @package SP Page Builder
* @author JoomShaper http://www.joomshaper.com
* @copyright Copyright (c) 2010 - 2019 JoomShaper
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
*/
//no direct accees
defined ('_JEXEC') or die ('Restricted access');
jimport( 'joomla.filesystem.file' );
jimport( 'joomla.filesystem.folder' );
class SpPgaeBuilderBase {
private static function str_replace_first($from, $to, $subject) {
$from = '/'.preg_quote($from, '/').'/';
return preg_replace($from, $to, $subject, 1);
}
public static function loadInputTypes() {
$types = JFolder::files( JPATH_ROOT .'/administrator/components/com_sppagebuilder/builder/types', '\.php$', false, true);
foreach ($types as $type) {
include_once $type;
}
}
private static function getTemplateName() {
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select($db->quoteName(array('template')));
$query->from($db->quoteName('#__template_styles'));
$query->where($db->quoteName('client_id') . ' = 0');
$query->where($db->quoteName('home') . ' = 1');
$db->setQuery($query);
return $db->loadObject()->template;
}
// Load addons list
public static function loadAddons() {
require_once JPATH_ROOT . '/components/com_sppagebuilder/addons/module/admin.php';
$template_path = JPATH_ROOT . '/templates/' . self::getTemplateName(); // current template path
$tmpl_folders = array();
if ( file_exists($template_path . '/sppagebuilder/addons') ) {
$tmpl_folders = JFolder::folders($template_path . '/sppagebuilder/addons');
}
$folders = JFolder::folders(JPATH_ROOT .'/components/com_sppagebuilder/addons');
if($tmpl_folders) {
$merge_folders = array_merge( $folders, $tmpl_folders );
$folders = array_unique( $merge_folders );
}
if ( count( (array) $folders ) ) {
foreach ( $folders as $folder ) {
$tmpl_file_path = $template_path . '/sppagebuilder/addons/'.$folder.'/admin.php';
$com_file_path = JPATH_ROOT . '/components/com_sppagebuilder/addons/'.$folder.'/admin.php';
if($folder!='module') {
if(file_exists( $tmpl_file_path )) {
require_once $tmpl_file_path;
} else if( file_exists( $com_file_path )) {
require_once $com_file_path;
}
}
}
}
self::loadPluginsAddons();
}
public static function loadSingleAddon( $name = '' ) {
if (!$name) return;
$name = self::str_replace_first('sp_', '', $name);
$template_path = JPATH_ROOT . '/templates/' . self::getTemplateName(); // current template path
$tmpl_addon_path = $template_path . '/sppagebuilder/addons/'. $name .'/admin.php';
$com_addon_path = JPATH_ROOT . '/components/com_sppagebuilder/addons/'. $name .'/admin.php';
$plugins = self::getPluginsAddons();
if(file_exists( $tmpl_addon_path )) {
require_once $tmpl_addon_path;
} else if( file_exists( $com_addon_path )) {
require_once $com_addon_path;
} else {
// Load from plugin
if(isset($plugins[$name]) && $plugins[$name]) {
require_once $plugins[$name];
}
}
}
// Load addons from plugins
private static function loadPluginsAddons() {
$path = JPATH_PLUGINS . '/sppagebuilder';
if(!JFolder::exists($path)) return;
$plugins = JFolder::folders($path);
if(!count((array) $plugins)) return;
foreach ($plugins as $plugin) {
if(JPluginHelper::isEnabled('sppagebuilder', $plugin)) {
$addons_path = $path . '/' . $plugin . '/addons';
if(JFolder::exists($addons_path)) {
$addons = JFolder::folders($addons_path);
foreach ($addons as $addon) {
$admin_file = $addons_path . '/' . $addon . '/admin.php';
if(JFile::exists($admin_file)) {
require_once $admin_file;
}
}
}
}
}
}
// Get list of plugin addons
private static function getPluginsAddons() {
$path = JPATH_PLUGINS . '/sppagebuilder';
if(!JFolder::exists($path)) return;
$plugins = JFolder::folders($path);
if(!count((array) $plugins)) return;
$elements = array();
foreach ($plugins as $plugin) {
if(JPluginHelper::isEnabled('sppagebuilder', $plugin)) {
$addons_path = $path . '/' . $plugin . '/addons';
if(JFolder::exists($addons_path)) {
$addons = JFolder::folders($addons_path);
foreach ($addons as $addon) {
$admin_file = $addons_path . '/' . $addon . '/admin.php';
if(JFile::exists($admin_file)) {
$elements[$addon] = $admin_file;
}
}
}
}
}
return $elements;
}
public static function addonOptions(){
require_once JPATH_ROOT .'/administrator/components/com_sppagebuilder/builder/settings/addon.php';
return $addon_global_settings;
}
public static function getAddonCategories($addons){
$categories = array();
foreach ($addons as $addon) {
if (isset($addon['category'])) {
$categories[] = $addon['category'];
}
}
$new_array = array_count_values($categories);
$result[0]['name'] = 'All';
$result[0]['count'] = count((array) $addons);
if (count((array) $new_array)) {
$i = 1;
foreach ($new_array as $key => $row) {
$result[$i]['name'] = $key;
$result[$i]['count'] = $row;
$i = $i + 1;
}
}
return $result;
}
// Get article tags list
public static function getArticleTags() {
$db = JFactory::getDbo();
$query = $db->getQuery(true)
->select('DISTINCT a.id, a.title, a.level, a.published, a.lft, a.parent_id');
$subQuery = $db->getQuery(true)
->select('id,title,level,published,parent_id,lft,rgt')
->from('#__tags')
->where($db->quoteName('published') . ' = ' . $db->quote(1)
);
$query->from('(' . $subQuery->__toString() . ') AS a')
->join('LEFT', $db->quoteName('#__tags') . ' AS b ON a.lft > b.lft AND a.rgt < b.rgt');
$query->where($db->quoteName('a.level') . ' != '. $db->quote(0));
$query->order('a.lft ASC');
$db->setQuery($query);
$tags = $db->loadObjectList();
$article_tags = array();
if(count((array) $tags)){
foreach($tags as $tag){
$parent_tag = '';
if($tag->level > 1) {
$parent_tag = self::getParentTag($tag->parent_id)->title . '/';
}
$article_tags[$tag->id] = $parent_tag . $tag->title;
}
}
return $article_tags;
}
// get parent tag info by tag id
private static function getParentTag($parentid = '') {
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select( array('a.id', 'a.title') );
$query->from($db->quoteName('#__tags', 'a'));
$query->where($db->quoteName('id')." = ".$db->quote($parentid));
$query->where($db->quoteName('published')." = 1");
$db->setQuery($query);
$result = $db->loadObject();
return $result;
}
// Load CSS and JS files for all addons
public static function loadAssets($addons){
foreach ($addons as $key => $addon) {
$class_name = 'SppagebuilderAddon' . ucfirst($key);
$addon_path = AddonParser::getAddonPath( $key );
if(class_exists($class_name)) {
$obj = new $class_name($addon);
// Scripts
if ( method_exists( $class_name, 'scripts' ) ) {
$scripts = $obj->scripts();
if(count((array) $scripts)) {
$doc = JFactory::getDocument();
foreach ($scripts as $key => $script) {
$doc->addScript($script);
}
}
}
// Stylesheets
if ( method_exists( $class_name, 'stylesheets' ) ) {
$stylesheets = $obj->stylesheets();
if(count((array) $stylesheets)) {
$doc = JFactory::getDocument();
foreach ($stylesheets as $key => $stylesheet) {
$doc->addStyleSheet($stylesheet);
}
}
}
}
}
}
public static function getAddonPath( $addon_name = '') {
$app = JFactory::getApplication();
$template = $app->getTemplate();
$template_path = JPATH_ROOT . '/templates/' . $template;
$plugins = self::getPluginsAddons();
if ( file_exists( $template_path . '/sppagebuilder/addons/' . $addon_name . '/site.php' ) ) {
return $template_path . '/sppagebuilder/addons/' . $addon_name;
} elseif ( file_exists( JPATH_ROOT . '/components/com_sppagebuilder/addons/'. $addon_name . '/site.php' ) ) {
return JPATH_ROOT . '/components/com_sppagebuilder/addons/'. $addon_name;
} else {
// Load from plugin
if(isset($plugins[$addon_name]) && $plugins[$addon_name]) {
return $plugins[$addon_name];
}
}
}
public static function getIconList(){
require_once JPATH_ROOT .'/administrator/components/com_sppagebuilder/builder/settings/icon-font-awesome.php';
return $icon_list;
}
public static function getAnimationsList(){
require_once JPATH_ROOT .'/administrator/components/com_sppagebuilder/builder/settings/animation.php';
return $animation_names;
}
public static function getAccessLevelList() {
$db = JFactory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('a.id', 'value') . ', ' . $db->quoteName('a.title', 'label'))
->from($db->quoteName('#__viewlevels', 'a'))
->group($db->quoteName(array('a.id', 'a.title', 'a.ordering')))
->order($db->quoteName('a.ordering') . ' ASC')
->order($db->quoteName('title') . ' ASC');
// Get the options.
$db->setQuery($query);
return $db->loadObjectList();
}
public static function getArticleCategories() {
$db = JFactory::getDbo();
$query = $db->getQuery(true)
->select('DISTINCT a.id, a.title, a.level, a.published, a.lft');
$subQuery = $db->getQuery(true)
->select('id,title,level,published,parent_id,extension,lft,rgt')
->from('#__categories')
->where($db->quoteName('published') . ' = ' . $db->quote(1))
->where( $db->quoteName('extension') . ' = ' . $db->quote('com_content') );
$query->from('(' . $subQuery->__toString() . ') AS a')
->join('LEFT', $db->quoteName('#__categories') . ' AS b ON a.lft > b.lft AND a.rgt < b.rgt');
$query->order('a.lft ASC');
$db->setQuery($query);
$categories = $db->loadObjectList();
$article_cats = array( 0 => array('value' => '', 'label' => JText::_('COM_SPPAGEBUILDER_ADDON_ARTICLE_ALL_CAT') ) );
$j = 1;
if(count((array) $categories)) {
foreach ( $categories as $category ) {
$article_cats[$j]['value'] = $category->id;
$article_cats[$j]['label'] = str_repeat('- ', ($category->level -1) ) . $category->title;
$j = $j + 1;
}
}
return $article_cats;
}
public static function getModuleAttributes(){
$moduleAttr = array();
// Module Name and ID
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('id, title');
$query->from('#__modules');
$query->where('client_id = 0');
$query->where('published = 1');
$query->order('ordering, title');
$db->setQuery($query);
$modules = $db->loadObjectList();
if (count((array) $modules)) {
$moduleName = array();
foreach ( $modules as $key => $module ) {
$moduleName[$key]['value'] = $module->id;
$moduleName[$key]['label'] = $module->title;
}
$moduleAttr['moduleName'] = $moduleName;
}
// Module positions
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select(array('position'))
->from('#__modules')
->where('client_id = 0')
->where('published = 1')
->group('position')
->order('position ASC');
$db->setQuery($query);
$positions = $db->loadColumn();
$template = self::getTemplateName();
$templateXML = JPATH_SITE.'/templates/'.$template.'/templateDetails.xml';
$template = simplexml_load_file( $templateXML );
foreach($template->positions[0] as $position) {
$positions[] = (string) $position;
}
$positions = array_unique($positions);
if (count((array) $positions)) {
$modulePoss = array();
foreach ( $positions as $key => $position ) {
$posArray['value'] = $position;
$posArray['label'] = $position;
array_push($modulePoss,$posArray);
}
$moduleAttr['modulePosition'] = $modulePoss;
}
return $moduleAttr;
}
public static function getRowGlobalSettings() {
require_once JPATH_ROOT .'/administrator/components/com_sppagebuilder/builder/settings/row.php';
return $row_settings;
}
public static function getColumnGlobalSettings() {
require_once JPATH_ROOT .'/administrator/components/com_sppagebuilder/builder/settings/column.php';
return $column_settings;
}
public static function getSettingsDefaultValue( $addon_attr = array() ) {
$default = array();
if ( !is_array($addon_attr) ){
return array( 'default' => $default );
}
$sppbOneAddon = false;
foreach ( $addon_attr as $key => $options ) {
if ( isset( $options['type'] ) && !is_array($options['type']) ) {
$sppbOneAddon = true;
if($options['type'] == 'repeatable'){
$default[$key] = self::repeatableFieldVal($options['attr']);
}else if ( isset( $options['std'] ) ) {
$default[$key] = $options['std'];
}
} else {
foreach ( $options as $key => $option ) {
if ( isset( $option['std'] ) ) {
$default[$key] = $option['std'];
} else if( isset( $option['attr'] ) ) {
$default[$key] = self::repeatableFieldVal($option['attr']);
}else {
if ( isset( $option['std'] ) ) {
$default[$key] = $option['std'];
}
}
}
}
}
$newAddonAttr = array();
$newAddonAttr['default'] = $default;
if($sppbOneAddon){
$newAddonAttr['attr'] = array('general'=> $addon_attr);
}
return $newAddonAttr;
}
public static function repeatableFieldVal( $option = array() ){
$redefault = array();
foreach ( $option as $rkey => $reOption) {
if ( isset( $reOption['std'] ) ) {
$redefault[0][$rkey] = $reOption['std'];
}
if( isset($reOption['type'])){
if ( $reOption['type'] == 'repeatable' && isset( $reOption['attr'] ) ) {
$redefault[0][$rkey] = self::repeatableFieldVal($reOption['attr']);
}
if(isset($reOption['std']) && $reOption['type'] == 'builder'){
$now = new DateTime();
$redefault[0][$rkey] = [['id'=>$now->getTimestamp(), 'name' => 'text_block', 'settings' => ['text'=> $reOption['std']]]];
}
}
}
return $redefault;
}
public static function acymailingList()
{
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select( 'a.enabled' );
$query->from($db->quoteName('#__extensions', 'a'));
$query->where('(' . $db->quoteName('a.element') . ' = '. $db->quote($db->escape('com_acymailing')) . ' OR ' . $db->qn('a.element') . ' = ' . $db->q($db->escape('com_acym')) . ')');
$db->setQuery($query);
$is_enabled = $db->loadResult();
if($is_enabled)
{
// Get acymailing version
$acym_version = self::getExtensionVersion(array('com_acymailing', 'com_acym'));
$query2 = $db->getQuery(true);
if($acym_version >= 6)
{
$query2->select($db->quoteName(array('id', 'name')));
$query2->from($db->quoteName('#__acym_list'));
$query2->where($db->quoteName('active') . ' = '. $db->quote(1));
}
else
{
$query2->select($db->quoteName(array('listid', 'name')));
$query2->from($db->quoteName('#__acymailing_list'));
$query2->where($db->quoteName('published') . ' = '. $db->quote(1));
}
$query2->order('name DESC');
$db->setQuery($query2);
$lists = $db->loadObjectList();
$listArray = array();
if(count((array) $lists)){
foreach($lists as $list){
if($acym_version >= 6) {
$listArray[$list->id] = $list->name;
} else {
$listArray[$list->listid] = $list->name;
}
}
}
return $listArray;
}
return array();
}
// Get extension version
public static function getExtensionVersion($ext_name = '')
{
$db = JFactory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('e.manifest_cache'))
->from($db->quoteName('#__extensions', 'e'));
// multiple extension names
if(is_array($ext_name) && count((array)$ext_name)) {
$ext_elements = implode(' OR ', array_map(function ($entry) {
return "e.element = '" . $entry . "'";
}, $ext_name));
$query->where( $ext_elements );
} else {
$query->where($db->quoteName('e.element') . ' = ' . $db->quote($ext_name));
}
$db->setQuery($query);
$manifest_cache = json_decode($db->loadResult());
if(isset($manifest_cache->version) && $manifest_cache->version) {
return $manifest_cache->version;
}
return '1.0';
}
public static function k2CatList()
{
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select( 'a.enabled' );
$query->from($db->quoteName('#__extensions', 'a'));
$query->where($db->quoteName('a.name')." = ".$db->quote('com_k2'));
$db->setQuery($query);
$is_enabled = $db->loadResult();
$listArray = array('' => JText::_('COM_SPPAGEBUILDER_ADDON_ARTICLE_ALL_CAT'));
if($is_enabled){
$db = JFactory::getDBO();
$query = 'SELECT m.* FROM #__k2_categories m WHERE trash = 0 ORDER BY parent, ordering';
$db->setQuery($query);
$mitems = $db->loadObjectList();
$children = array();
if ($mitems){
foreach ($mitems as $v)
{
if (K2_JVERSION != '15')
{
$v->title = $v->name;
$v->parent_id = $v->parent;
}
$pt = $v->parent;
$list = @$children[$pt] ? $children[$pt] : array();
array_push($list, $v);
$children[$pt] = $list;
}
}
$list = JHTML::_('menu.treerecurse', 0, '', array(), $children, 9999, 0, 0);
$mitems = array();
if(count((array) $list)){
foreach ($list as $item)
{
$item->treename = JString::str_ireplace('&#160;', '- ', $item->treename);
$mitems[] = JHTML::_('select.option', $item->id, ' '.$item->treename);
}
}
if(count((array) $mitems)){
foreach( $mitems as $key=>$category ){
$listArray[$category->value] = $category->text;
}
}
}
return $listArray;
}
}

View File

@ -0,0 +1,81 @@
<?php
/**
* @package SP Page Builder
* @author JoomShaper http://www.joomshaper.com
* @copyright Copyright (c) 2010 - 2016 JoomShaper
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
*/
//no direct accees
defined ('_JEXEC') or die ('Restricted access');
class SpAddonsConfig {
public static $addons = array();
private static function str_replace_first($from, $to, $subject) {
$from = '/'.preg_quote($from, '/').'/';
return preg_replace($from, $to, $subject, 1);
}
public static function addonConfig( $attributes ) {
if (empty($attributes['addon_name']) || empty($attributes) || empty($attributes['attr']) ) {
return false;
} else {
$addon = self::str_replace_first('sp_', '', $attributes['addon_name']);
$app = JFactory::getApplication();
$com_option = $app->input->get('option','','STR');
$com_view = $app->input->get('view','','STR');
$com_id = $app->input->get('id',0,'INT');
if($app->isAdmin() || ( $com_option == 'com_sppagebuilder' && $com_view == 'form' && $com_id)){
if (!isset($attributes['icon']) || !$attributes['icon']) {
$attributes['icon'] = self::getIcon($addon);
}
}
if(is_array($attributes['attr'])) {
if(!isset($attributes['attr']['general'])) {
foreach ($attributes['attr'] as $key => $attr) {
if(isset($attributes['attr'][$key]) && $attributes['attr'][$key]) {
unset($attributes['attr'][$key]);
}
$attributes['attr']['general'][$key] = $attr;
}
}
}
self::$addons[$addon] = $attributes;
}
}
public static function getIcon( $addon ) {
$template_name = self::getTemplateName();
$template_path = JPATH_ROOT . '/templates/' . $template_name . '/sppagebuilder/addons/' . $addon . '/assets/images/icon.png';
$com_file_path = JPATH_ROOT . '/components/com_sppagebuilder/addons/' . $addon . '/assets/images/icon.png';
if ( file_exists($template_path) ) {
$icon = JURI::root(true) . '/templates/' . $template_name . '/sppagebuilder/addons/' . $addon . '/assets/images/icon.png';
} else if ( file_exists($com_file_path) ) {
$icon = JURI::root(true) . '/components/com_sppagebuilder/addons/' . $addon . '/assets/images/icon.png';
} else {
$icon = JURI::root(true) . '/administrator/components/com_sppagebuilder/assets/img/addon-default.png';
}
return $icon;
}
private static function getTemplateName() {
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select($db->quoteName(array('template')));
$query->from($db->quoteName('#__template_styles'));
$query->where($db->quoteName('client_id') . ' = 0');
$query->where($db->quoteName('home') . ' = 1');
$db->setQuery($query);
return $db->loadObject()->template;
}
}

View File

@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>

View File

@ -0,0 +1,694 @@
<?php
/**
* @package SP Page Builder
* @author JoomShaper http://www.joomshaper.com
* @copyright Copyright (c) 2010 - 2019 JoomShaper
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
*/
//no direct accees
defined ('_JEXEC') or die ('Restricted access');
$addon_global_settings = array(
'style' => array(
'global_options'=>array(
'type'=>'separator',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_OPTIONS'),
),
'global_text_color'=>array(
'type'=>'color',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_TEXT_COLOR')
),
'global_link_color'=>array(
'type'=>'color',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_LINK_COLOR'),
),
'global_link_hover_color'=>array(
'type'=>'color',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_LINK_COLOR_HOVER'),
),
'global_background_type'=>array(
'type'=>'buttons',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_ENABLE_BACKGROUND_OPTIONS'),
'std'=>'none',
'values'=>array(
array(
'label' => 'None',
'value' => 'none'
),
array(
'label' => 'Color',
'value' => 'color'
),
array(
'label' => 'Image',
'value' => 'image'
),
array(
'label' => 'Gradient',
'value' => 'gradient'
),
)
),
'global_background_color'=>array(
'type'=>'color',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_COLOR'),
'depends'=>array(
array('global_background_type', '!=', 'none'),
array('global_background_type', '!=', 'video'),
array('global_background_type', '!=', 'gradient'),
)
),
'global_background_gradient'=>array(
'type'=>'gradient',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_GRADIENT'),
'std'=> array(
"color" => "#00c6fb",
"color2" => "#005bea",
"deg" => "45",
"type" => "linear"
),
'depends'=>array(
array('global_background_type', '=', 'gradient')
)
),
'global_background_image'=>array(
'type'=>'media',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_IMAGE'),
'depends'=>array(
array('global_background_type', '=', 'image')
)
),
'global_background_repeat'=>array(
'type'=>'select',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_REPEAT'),
'values'=>array(
'no-repeat'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_NO_REPEAT'),
'repeat-all'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_REPEAT_ALL'),
'repeat-x'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_REPEAT_HORIZONTALLY'),
'repeat-y'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_REPEAT_VERTICALLY'),
'inherit'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_INHERIT'),
),
'std'=>'no-repeat',
'depends'=>array(
array('global_background_type', '=', 'image'),
array('global_background_image', '!=', ''),
)
),
'global_background_size'=>array(
'type'=>'select',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_SIZE'),
'desc'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_SIZE_DESC'),
'values'=>array(
'cover'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_SIZE_COVER'),
'contain'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_SIZE_CONTAIN'),
'inherit'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_INHERIT'),
),
'std'=>'cover',
'depends'=>array(
array('global_background_type', '=', 'image'),
array('global_background_image', '!=', ''),
)
),
'global_background_attachment'=>array(
'type'=>'select',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_ATTACHMENT'),
'desc'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_ATTACHMENT_DESC'),
'values'=>array(
'fixed'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_ATTACHMENT_FIXED'),
'scroll'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_ATTACHMENT_SCROLL'),
'inherit'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_INHERIT'),
),
'std'=>'inherit',
'depends'=>array(
array('global_background_type', '=', 'image'),
array('global_background_image', '!=', ''),
)
),
'global_background_position'=>array(
'type'=>'select',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_POSITION'),
'values'=>array(
'0 0'=>JText::_('COM_SPPAGEBUILDER_LEFT_TOP'),
'0 50%'=>JText::_('COM_SPPAGEBUILDER_LEFT_CENTER'),
'0 100%'=>JText::_('COM_SPPAGEBUILDER_LEFT_BOTTOM'),
'50% 0'=>JText::_('COM_SPPAGEBUILDER_CENTER_TOP'),
'50% 50%'=>JText::_('COM_SPPAGEBUILDER_CENTER_CENTER'),
'50% 100%'=>JText::_('COM_SPPAGEBUILDER_CENTER_BOTTOM'),
'100% 0'=>JText::_('COM_SPPAGEBUILDER_RIGHT_TOP'),
'100% 50%'=>JText::_('COM_SPPAGEBUILDER_RIGHT_CENTER'),
'100% 100%'=>JText::_('COM_SPPAGEBUILDER_RIGHT_BOTTOM'),
),
'std'=>'50% 50%',
'depends'=>array(
array('global_background_type', '=', 'image'),
array('global_background_image', '!=', ''),
)
),
'global_overlay_separator'=>array(
'type'=>'separator',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_OVERLAY_OPTIONS'),
'depends'=>array(
array('global_background_type', '=', 'image')
),
),
'global_use_overlay'=>array(
'type'=>'checkbox',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_ENABLE_BACKGROUND_OVERLAY'),
'std'=>0,
'depends'=>array(
array('global_background_type', '=', 'image')
)
),
'global_overlay_type'=>array(
'type'=>'buttons',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_OVERLAY_CHOOSE'),
'std'=>'overlay_none',
'values'=>array(
array(
'label' => 'None',
'value' => 'overlay_none'
),
array(
'label' => 'Color',
'value' => 'overlay_color'
),
array(
'label' => 'Gradient',
'value' => 'overlay_gradient'
),
array(
'label' => 'Pattern',
'value' => 'overlay_pattern'
)
),
'depends'=>array(
array('global_use_overlay', '!=', 0),
),
),
'global_background_overlay'=>array(
'type'=>'color',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_OVERLAY'),
'depends'=>array(
array('global_background_type', '=', 'image'),
array('global_use_overlay', '=', 1),
array('global_overlay_type', '=', 'overlay_color'),
)
),
'global_gradient_overlay'=>array(
'type'=>'gradient',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_OVERLAY_GRADIENT'),
'desc'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_OVERLAY_GRADIENT_DESC'),
'std'=> array(
"color" => "rgba(127, 0, 255, 0.8)",
"color2" => "rgba(225, 0, 255, 0.7)",
"deg" => "45",
"type" => "linear"
),
'depends'=>array(
array('global_background_type', '=', 'image'),
array('global_use_overlay', '=', 1),
array('global_overlay_type', '=', 'overlay_gradient'),
)
),
'global_pattern_overlay'=>array(
'type'=>'media',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_OVERLAY_PATTERN'),
'desc'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_OVERLAY_PATTERN_DESC'),
'std'=> '',
'depends'=>array(
array('global_background_type', '=', 'image'),
array('global_use_overlay', '=', 1),
array('global_overlay_type', '=', 'overlay_pattern'),
)
),
'global_overlay_pattern_color'=>array(
'type'=>'color',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_OVERLAY_PATTERN_COLOR'),
'desc'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_OVERLAY_PATTERN_COLOR_DESC'),
'std'=> '',
'depends'=>array(
array('global_background_type', '=', 'image'),
array('global_use_overlay', '=', 1),
array('global_overlay_type', '=', 'overlay_pattern'),
)
),
'blend_mode'=>array(
'type'=>'select',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BLEND_MODE'),
'desc'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BLEND_MODE_DESC'),
'values'=>array(
'normal'=>'Normal',
'color'=>'Color',
'color-burn'=>'Color Burn',
'color-dodge'=>'Color Dodge',
'darken'=>'Darken',
'difference'=>'Difference',
'exclusion'=>'Exclusion',
'hard-light'=>'Hard Light',
'hue'=>'Hue',
'lighten'=>'Lighten',
'luminosity'=>'Luminosity',
'multiply'=>'Multiply',
'overlay'=>'Overlay',
'saturation'=>'Saturation',
'screen'=>'Screen',
'soft-light'=>'Soft Light',
),
'std'=>'normal',
'depends'=>array(
array('global_background_type', '=', 'image'),
array('global_use_overlay', '=', 1),
)
),
'global_user_border'=>array(
'type'=>'checkbox',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_USE_BORDER'),
'std'=>0
),
'global_border_width'=>array(
'type'=>'slider',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BORDER_WIDTH'),
'std'=>'',
'depends'=>array('global_user_border'=>1),
'responsive'=> true
),
'global_border_color'=>array(
'type'=>'color',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BORDER_COLOR'),
'depends'=>array('global_user_border'=>1)
),
'global_boder_style'=>array(
'type'=>'select',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BORDER_STYLE'),
'values'=>array(
'none'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BORDER_STYLE_NONE'),
'solid'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BORDER_STYLE_SOLID'),
'double'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BORDER_STYLE_DOUBLE'),
'dotted'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BORDER_STYLE_DOTTED'),
'dashed'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BORDER_STYLE_DASHED'),
),
'depends'=>array('global_user_border'=>1)
),
'global_border_radius'=>array(
'type'=>'slider',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BORDER_RADIUS'),
'std'=>0,
'max'=>500,
'responsive'=> true
),
'global_margin'=>array(
'type'=>'margin',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_MARGIN'),
'std'=>array('md'=> '0px 0px 30px 0px', 'sm'=> '0px 0px 20px 0px', 'xs'=> '0px 0px 10px 0px'),
'responsive' => true
),
'global_padding'=>array(
'type'=>'padding',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_PADDING'),
'std'=>'',
'responsive' => true
),
'global_boxshadow'=>array(
'type'=>'boxshadow',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BOXSHADOW'),
'std'=>'0 0 0 0 #ffffff'
),
'global_use_animation'=>array(
'type'=>'checkbox',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_USE_ANIMATION'),
'std'=>0
),
'global_animation'=>array(
'type'=>'animation',
'title'=>JText::_('COM_SPPAGEBUILDER_ANIMATION'),
'desc'=>JText::_('COM_SPPAGEBUILDER_ANIMATION_DESC'),
'depends'=>array('global_use_animation'=>1)
),
'global_animationduration'=>array(
'type'=>'number',
'title'=>JText::_('COM_SPPAGEBUILDER_ANIMATION_DURATION'),
'desc'=> JText::_('COM_SPPAGEBUILDER_ANIMATION_DURATION_DESC'),
'std'=>'300',
'placeholder'=>'300',
'depends'=>array('global_use_animation'=>1)
),
'global_animationdelay'=>array(
'type'=>'number',
'title'=>JText::_('COM_SPPAGEBUILDER_ANIMATION_DELAY'),
'desc'=>JText::_('COM_SPPAGEBUILDER_ANIMATION_DELAY_DESC'),
'std'=>'0',
'placeholder'=>'300',
'depends'=>array('global_use_animation'=>1)
),
'global_custom_css'=>array(
'type'=>'css',
'title'=>JText::_('COM_SPPAGEBUILDER_CUSTOM_CSS'),
'std'=>'',
),
),
'advanced' => array(
'global_custom_position'=>array(
'type'=>'checkbox',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_CUSTOM_POSITION'),
'desc'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_CUSTOM_POSITION_DESC'),
'std'=>0,
),
'global_seclect_position'=>array(
'type'=>'select',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_SELECT_POSITION'),
'desc'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_SELECT_POSITION_DESC'),
'depends'=>array('global_custom_position'=>1),
'values'=> array(
'absolute'=> JText::_('COM_SPPAGEBUILDER_GLOBAL_POSITION_ABSOLUTE'),
'fixed'=> JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_ATTACHMENT_FIXED'),
'relative'=> JText::_('COM_SPPAGEBUILDER_GLOBAL_POSITION_RELATIVE'),
),
'std' => 'relative'
),
'global_addon_position_left'=>array(
'type'=>'slider',
'title'=>JText::_('COM_SPPAGEBUILDER_ADDON_GLOBAL_FROM_LEFT'),
'depends'=>array(
array('global_custom_position', '=', 1),
),
'unit'=> true,
'max'=> 2000,
'min'=> -2000,
'responsive'=> true,
'std' => array('unit'=>'px')
),
'global_addon_position_top'=>array(
'type'=>'slider',
'title'=>JText::_('COM_SPPAGEBUILDER_ADDON_GLOBAL_FROM_TOP'),
'depends'=>array(
array('global_custom_position', '=', 1),
),
'unit'=> true,
'max'=> 1000,
'min'=> -1000,
'responsive'=> true,
'std'=>array('unit'=>'px')
),
'global_addon_z_index'=>array(
'type'=>'slider',
'title'=>JText::_('COM_SPPAGEBUILDER_ADDON_ZINDEX'),
'desc'=>JText::_('COM_SPPAGEBUILDER_ADDON_ZINDEX_DESC'),
'depends'=>array(
array('global_custom_position', '=', 1),
),
'max'=> 1000,
'min'=> 1,
),
'global_section_z_index'=>array(
'type'=>'slider',
'title'=>JText::_('COM_SPPAGEBUILDER_SECTION_ZINDEX'),
'depends'=>array(
array('global_custom_position', '=', 1),
),
'max'=> 1000,
'min'=> 1,
),
'use_global_width'=>array(
'type'=>'checkbox',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_USE_WIDTH'),
'std'=>'0',
),
'global_width' => array(
'type'=>'slider',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_WIDTH'),
'max'=>100,
'responsive'=>true,
'depends'=>array('use_global_width'=>1)
),
'hidden_md'=>array(
'type'=>'checkbox',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_HIDDEN_MD'),
'desc'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_HIDDEN_MD_DESC'),
'std'=>'0',
),
'hidden_sm'=>array(
'type'=>'checkbox',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_HIDDEN_SM'),
'desc'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_HIDDEN_SM_DESC'),
'std'=>'0',
),
'hidden_xs'=>array(
'type'=>'checkbox',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_HIDDEN_XS'),
'desc'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_HIDDEN_XS_DESC'),
'std'=>'0',
),
'acl' => array(
'type' => 'accesslevel',
'title' => JText::_('COM_SPPAGEBUILDER_ACCESS'),
'desc' => JText::_('COM_SPPAGEBUILDER_ACCESS_DESC'),
'placeholder' => '',
'std' => '',
'multiple' => true
)
),
'interaction' => array(
'while_scroll_view'=> array(
'type'=> 'interaction_view',
'title' => JText::_('COM_SPPAGEBUILDER_INTERACTION_WHILTE_SCROLL_VIEW'),
"desc"=> JText::_('COM_SPPAGEBUILDER_INTERACTION_WHILTE_SCROLL_VIEW_DESC'),
'attr' => array(
'enable_while_scroll_view'=>array(
'type'=>'checkbox',
'title'=> JText::_('COM_SPPAGEBUILDER_INTERACTION_WHILTE_SCROLL_VIEW_TITLE'),
'desc'=> JText::_('COM_SPPAGEBUILDER_INTERACTION_WHILTE_SCROLL_VIEW_TITLE_DESC'),
'std'=> 0,
),
'on_scroll_actions'=>array(
'type' => 'timeline',
'title' => JText::_('COM_SPPAGEBUILDER_INTERACTION_WHILTE_SCROLL_ACTION_TITLE'),
'desc' => JText::_('COM_SPPAGEBUILDER_INTERACTION_WHILTE_SCROLL_ACTION_TITLE_DESC'),
'depends'=>array('enable_while_scroll_view'=>1),
'std' => array(
array(
'id'=> "b3fdc1c1e6bfde5942ea",
'index' => 0,
'keyframe' => 0,
'name' => 'move',
'property' => array(
'x' => '0',
'y' => '-100',
'z' => '0',
),
'range' => array(
'max'=> 500,
'min'=> -500,
'stop'=> 1,
),
'single' => true,
'title' => "Move"
),
array(
'id'=> "936e0225e6dc8edfba7d",
'index' => 1,
'keyframe' => 100,
'name' => 'move',
'property' => array(
'x' => 0,
'y' => 0,
'z' => 0,
),
'range' => array(
'max'=> 500,
'min'=> -500,
'stop'=> 1,
),
'single' => true,
'title' => "Move"
)
),
'options' => array(
array(
'name'=>'move',
'title'=> JText::_('COM_SPPAGEBUILDER_INTERACTION_WHILTE_SCROLL_ACTION_MOVE'),
'property'=> array(
'x'=>'0',
'y'=>'0',
'z'=>'0'
),
'range'=> array(
'max'=> 500,
'min'=> -500,
'step'=> 1
),
'warning_message' => JText::_('COM_SPPAGEBUILDER_INTERACTION_WHILTE_SCROLL_ACTION_MOVE_WARNING'),
),
array(
'name'=>'scale',
'title'=> JText::_('COM_SPPAGEBUILDER_INTERACTION_WHILTE_SCROLL_ACTION_SCALE'),
'property'=> array(
'x'=>'1',
'y'=>'1',
'z'=>'1',
),
'range'=> array(
'max'=> 2,
'min'=> 0,
'step'=> 0.1
),
'warning_message' => JText::_('COM_SPPAGEBUILDER_INTERACTION_WHILTE_SCROLL_ACTION_SCALE_WARNING'),
),
array(
'name'=>'rotate',
'title'=> JText::_('COM_SPPAGEBUILDER_INTERACTION_WHILTE_SCROLL_ACTION_ROTATE'),
'property'=> array(
'x'=>'0',
'y'=>'0',
'z'=>'0'
),
'range'=> array(
'max'=> 180,
'min'=> -180,
'step'=> 1
),
'warning_message' => JText::_('COM_SPPAGEBUILDER_INTERACTION_WHILTE_SCROLL_ACTION_ROTATE_WARNING'),
),
array(
'name'=>'skew',
'title'=> JText::_('COM_SPPAGEBUILDER_INTERACTION_WHILTE_SCROLL_ACTION_SKEW'),
'property'=> array(
'x'=>'0',
'y'=>'0'
),
'range'=> array(
'max'=> 80,
'min'=> -80,
'step'=> 1
),
'warning_message' => JText::_('COM_SPPAGEBUILDER_INTERACTION_WHILTE_SCROLL_ACTION_SKEW_WARNING'),
),
array(
'name'=>'opacity',
'title'=> JText::_('COM_SPPAGEBUILDER_INTERACTION_WHILTE_SCROLL_ACTION_OPACITY'),
'property'=> array('value'=>'0'),
'range'=> array(
'max'=> 1,
'min'=> 0,
'step'=> 0.1
),
'warning_message' => JText::_('COM_SPPAGEBUILDER_INTERACTION_WHILTE_SCROLL_ACTION_OPACITY_WARNING'),
),
array(
'name'=>'blur',
'title'=> JText::_('COM_SPPAGEBUILDER_INTERACTION_WHILTE_SCROLL_ACTION_BLUR'),
'property'=> array('value'=>'0'),
'range'=> array(
'max'=> 100,
'min'=> 0,
'step'=> 1
),
'warning_message' => JText::_('COM_SPPAGEBUILDER_INTERACTION_WHILTE_SCROLL_ACTION_BLUR_WARNING'),
),
)
),
'transition_origin_x'=>array(
'type'=>'select',
'title'=> JText::_('COM_SPPAGEBUILDER_INTERACTION_WHILTE_SCROLL_TRANSITION_ANCHOR_X_TITLE'),
'values'=>array(
'left'=> JText::_('COM_SPPAGEBUILDER_INTERACTION_WHILTE_SCROLL_TRANSITION_ANCHOR_X_LEFT'),
'center'=> JText::_('COM_SPPAGEBUILDER_INTERACTION_WHILTE_SCROLL_TRANSITION_ANCHOR_X_CENTER'),
'right'=> JText::_('COM_SPPAGEBUILDER_INTERACTION_WHILTE_SCROLL_TRANSITION_ANCHOR_X_RIGHT')
),
'std' => 'center',
'depends'=>array('enable_while_scroll_view'=>1)
),
'transition_origin_y'=>array(
'type'=>'select',
'title'=> JText::_('COM_SPPAGEBUILDER_INTERACTION_WHILTE_SCROLL_TRANSITION_ANCHOR_Y_TITLE'),
'values'=>array(
'top'=> JText::_('COM_SPPAGEBUILDER_INTERACTION_WHILTE_SCROLL_TRANSITION_ANCHOR_Y_TOP'),
'center'=> JText::_('COM_SPPAGEBUILDER_INTERACTION_WHILTE_SCROLL_TRANSITION_ANCHOR_Y_CENTER'),
'bottom'=> JText::_('COM_SPPAGEBUILDER_INTERACTION_WHILTE_SCROLL_TRANSITION_ANCHOR_Y_BOTTOM')
),
'std' => 'center',
'depends'=>array('enable_while_scroll_view'=>1)
),
'enable_tablet'=>array(
'type'=>'checkbox',
'title'=> JText::_('COM_SPPAGEBUILDER_INTERACTION_ENABLE_TABLET'),
'desc'=> JText::_('COM_SPPAGEBUILDER_INTERACTION_ENABLE_TABLET_DESC'),
'depends'=>array('enable_while_scroll_view'=>1),
'std'=> 0,
),
'enable_mobile'=>array(
'type'=>'checkbox',
'title'=> JText::_('COM_SPPAGEBUILDER_INTERACTION_ENABLE_MOBILE'),
'desc'=> JText::_('COM_SPPAGEBUILDER_INTERACTION_ENABLE_MOBILE_DESC'),
'depends'=>array('enable_while_scroll_view'=>1),
'std'=> 0,
),
)
),
'mouse_movement' => array(
'type'=> 'interaction_view',
'title' => JText::_('COM_SPPAGEBUILDER_INTERACTION_MOUSE_MOVEMENT'),
"description"=> JText::_('COM_SPPAGEBUILDER_INTERACTION_MOUSE_MOVEMENT_DESC'),
"attr" => array(
'enable_tilt_effect'=>array(
'type'=>'checkbox',
'title'=> JText::_('COM_SPPAGEBUILDER_INTERACTION_ENABLE_TILT_EFFECT_TITLE'),
'desc'=> JText::_('COM_SPPAGEBUILDER_INTERACTION_ENABLE_TILT_EFFECT_TITLE_DESC'),
'std'=> 0,
),
'mouse_tilt_direction'=>array(
'type'=>'select',
'title'=> JText::_('COM_SPPAGEBUILDER_INTERACTION_ENABLE_TILT_EFFECT_DIRECTION_TITLE'),
'values'=>array(
'direct'=> JText::_('COM_SPPAGEBUILDER_INTERACTION_ENABLE_TILT_EFFECT_DIRECTION_FORWARD'),
'opposite'=> JText::_('COM_SPPAGEBUILDER_INTERACTION_ENABLE_TILT_EFFECT_DIRECTION_OPPOSITE')
),
'std' => 'direct',
'depends'=>array('enable_tilt_effect'=>1)
),
'mouse_tilt_speed'=>array(
'type'=>'slider',
'title'=> JText::_('COM_SPPAGEBUILDER_INTERACTION_ENABLE_TILT_EFFECT_SPEED_TITLE'),
'std'=>'1',
'min' => 1,
'max' => 10,
'step' => 0.5,
'depends'=>array('enable_tilt_effect'=>1)
),
'mouse_tilt_max'=>array(
'type'=>'slider',
'title'=> JText::_('COM_SPPAGEBUILDER_INTERACTION_ENABLE_TILT_EFFECT_MAX_TITLE'),
'std'=> '15',
'min' => 5,
'max' => 75,
'step' => 5,
'depends'=>array('enable_tilt_effect'=>1)
),
'enable_tablet'=>array(
'type'=>'checkbox',
'title'=> JText::_('COM_SPPAGEBUILDER_INTERACTION_ENABLE_TABLET'),
'desc'=> JText::_('COM_SPPAGEBUILDER_INTERACTION_ENABLE_TABLET_DESC'),
'depends'=>array('enable_tilt_effect'=>1),
'std'=> 0,
),
'enable_mobile'=>array(
'type'=>'checkbox',
'title'=> JText::_('COM_SPPAGEBUILDER_INTERACTION_ENABLE_MOBILE'),
'desc'=> JText::_('COM_SPPAGEBUILDER_INTERACTION_ENABLE_MOBILE_DESC'),
'depends'=>array('enable_tilt_effect'=>1),
'std'=> 0,
),
)
)
)
);

View File

@ -0,0 +1,40 @@
<?php
/**
* @package SP Page Builder
* @author JoomShaper http://www.joomshaper.com
* @copyright Copyright (c) 2010 - 2016 JoomShaper
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
*/
//no direct accees
defined ('_JEXEC') or die ('Restricted access');
$animation_names = array(
array( 'value' => '', 'label' => 'Select Animation' ),
array( 'value' => 'fadeIn', 'label' => 'fadeIn' ),
array( 'value' => 'fadeInDown', 'label' => 'fadeInDown' ),
array( 'value' => 'fadeInDownBig', 'label' => 'fadeInDownBig' ),
array( 'value' => 'fadeInLeft', 'label' => 'fadeInLeft' ),
array( 'value' => 'fadeInLeftBig', 'label' => 'fadeInLeftBig' ),
array( 'value' => 'fadeInRight', 'label' => 'fadeInRight' ),
array( 'value' => 'fadeInRightBig', 'label' => 'fadeInRightBig' ),
array( 'value' => 'fadeInUp', 'label' => 'fadeInUp' ),
array( 'value' => 'fadeInUpBig', 'label' => 'fadeInUpBig' ),
array( 'value' => 'flip', 'label' => 'flip' ),
array( 'value' => 'flipInX', 'label' => 'flipInX' ),
array( 'value' => 'flipInY', 'label' => 'flipInY' ),
array( 'value' => 'rotateIn', 'label' => 'rotateIn' ),
array( 'value' => 'rotateInDownLeft', 'label' => 'rotateInDownLeft' ),
array( 'value' => 'rotateInDownRight', 'label' => 'rotateInDownRight' ),
array( 'value' => 'rotateInUpLeft', 'label' => 'rotateInUpLeft' ),
array( 'value' => 'rotateInUpRight', 'label' => 'rotateInUpRight' ),
array( 'value' => 'zoomIn', 'label' => 'zoomIn' ),
array( 'value' => 'zoomInDown', 'label' => 'zoomInDown' ),
array( 'value' => 'zoomInLeft', 'label' => 'zoomInLeft' ),
array( 'value' => 'zoomInRight', 'label' => 'zoomInRight' ),
array( 'value' => 'zoomInUp', 'label' => 'zoomInUp' ),
array( 'value' => 'bounceIn', 'label' => 'bounceIn' ),
array( 'value' => 'bounceInDown', 'label' => 'bounceInDown' ),
array( 'value' => 'bounceInLeft', 'label' => 'bounceInLeft' ),
array( 'value' => 'bounceInRight', 'label' => 'bounceInRight' ),
array( 'value' => 'bounceInUp', 'label' => 'bounceInUp' ),
);

View File

@ -0,0 +1,83 @@
<?php
/**
* @package SP Page Builder
* @author JoomShaper http://www.joomshaper.com
* @copyright Copyright (c) 2010 - 2016 JoomShaper
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
*/
//no direct accees
defined ('_JEXEC') or die ('restricted aceess');
?>
<div class="clearfix">
<div class="page-builder-area">
<?php
$row_std_sets = array();
foreach( $sp_builder_row_ops['attr'] as $key => $value ){
if (!isset($value['std'])) {
$value['std'] = '';
}
$row_std_sets[$key] = $value['std'];
}
$row_std_settings = SpPgaeBuilder::getAddonRowColumnConfig( $row_std_sets );
?>
<div class="pagebuilder-section" <?php echo $row_std_settings; ?>>
<div class="section-header clearfix">
<div class="pull-left">
<a class="move-row" href="javascript:void(0)"><i class="fa fa-arrows"></i></a>
<div class="row-layout-container">
<a class="add-column" href="javascript:void(0)"><i class="fa fa-plus"></i> <?php echo JText::_('COM_SPPAGEBUILDER_ADD_COLUMN'); ?></a>
<ul>
<li><a href="#" class="row-layout row-layout-12 sp-tooltip active" data-layout="12" data-toggle="tooltip" data-placement="top" data-original-title="1/1"></a></li>
<li><a href="#" class="row-layout row-layout-66 sp-tooltip" data-layout="6,6" data-toggle="tooltip" data-placement="top" data-original-title="1/2 + 1/2"></a></li>
<li><a href="#" class="row-layout row-layout-444 sp-tooltip" data-layout="4,4,4" data-toggle="tooltip" data-placement="top" data-original-title="1/3 + 1/3 + 1/3"></a></li>
<li><a href="#" class="row-layout row-layout-3333 sp-tooltip" data-layout="3,3,3,3" data-toggle="tooltip" data-placement="top" data-original-title="1/4 + 1/4 + 1/4 + 1/4"></a></li>
<li><a href="#" class="row-layout row-layout-48 sp-tooltip" data-layout="4,8" data-toggle="tooltip" data-placement="top" data-original-title="1/3 + 3/4"></a></li>
<li><a href="#" class="row-layout row-layout-39 sp-tooltip" data-layout="3,9" data-toggle="tooltip" data-placement="top" data-original-title="1/4 + 3/4"></a></li>
<li><a href="#" class="row-layout row-layout-363 sp-tooltip" data-layout="3,6,3" data-toggle="tooltip" data-placement="top" data-original-title="1/4 + 1/2 + 1/4"></a></li>
<li><a href="#" class="row-layout row-layout-264 sp-tooltip" data-layout="2,6,4" data-toggle="tooltip" data-placement="top" data-original-title="1/6 + 1/2 + 1/3"></a></li>
<li><a href="#" class="row-layout row-layout-210 sp-tooltip" data-layout="2,10" data-toggle="tooltip" data-placement="top" data-original-title="1/6 + 5/6"></a></li>
<li><a href="#" class="row-layout row-layout-57 sp-tooltip" data-layout="5,7" data-toggle="tooltip" data-placement="left" data-original-title="5/12 + 7/12"></a></li>
</ul>
</div>
</div>
<div class="row-actions pull-right">
<a class="add-rowplus" href="javascript:void(0)"><i class="fa fa-plus"></i></a>
<a class="row-options" href="javascript:void(0)"><i class="fa fa-cog"></i></a>
<a class="duplicate-row" href="javascript:void(0)"><i class="fa fa-files-o"></i></a>
<a class="delete-row" href="javascript:void(0)"><i class="fa fa-times"></i></a>
</div>
</div>
<?php
$col_std_sets = array();
foreach( $sp_builder_col_ops['attr'] as $key => $value ) {
if (!isset($value['std'])) {
$value['std'] = '';
}
$col_std_sets[$key] = $value['std'];
}
$col_std_settings = SpPgaeBuilder::getAddonRowColumnConfig( $col_std_sets );
?>
<div class="row">
<div class="column-parent col-sm-12" <?php echo $col_std_settings; ?>>
<div class="column">
</div>
<div class="col-settings">
<a class="add-addon" href="javascript:void(0)"><i class="fa fa-plus-circle"></i> Addon</a>
<a class="column-options" href="javascript:void(0)"><i class="fa fa-cog"></i> Options</a>
</div>
</div>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,475 @@
<?php
/**
* @package SP Page Builder
* @author JoomShaper http://www.joomshaper.com
* @copyright Copyright (c) 2010 - 2016 JoomShaper
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
*/
//no direct accees
defined ('_JEXEC') or die ('Restricted access');
$column_settings = array(
'attr' => array(
'general' => array(
'color'=>array(
'type'=>'color',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_TEXT_COLOR'),
),
'background_type'=>array(
'type'=>'buttons',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_ENABLE_BACKGROUND_OPTIONS'),
'std'=>'none',
'values'=>array(
array(
'label' => 'None',
'value' => 'none'
),
array(
'label' => 'Color',
'value' => 'color'
),
array(
'label' => 'Image',
'value' => 'image'
),
array(
'label' => 'Gradient',
'value' => 'gradient'
),
)
),
'background'=>array(
'type'=>'color',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_COLOR'),
'depends'=>array(
array('background_type', '!=', 'none'),
array('background_type', '!=', 'video'),
array('background_type', '!=', 'gradient'),
)
),
'background_gradient'=>array(
'type'=>'gradient',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_GRADIENT'),
'std'=> array(
"color" => "#00c6fb",
"color2" => "#005bea",
"deg" => "45",
"type" => "linear"
),
'depends'=>array(
array('background_type', '=', 'gradient')
)
),
'background_image'=>array(
'type'=>'media',
'format'=>'image',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_IMAGE'),
'std'=>'',
'depends'=>array(
array('background_type', '=', 'image')
)
),
'background_repeat'=>array(
'type'=>'select',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_REPEAT'),
'values'=>array(
'no-repeat'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_NO_REPEAT'),
'repeat'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_REPEAT_ALL'),
'repeat-x'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_REPEAT_HORIZONTALLY'),
'repeat-y'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_REPEAT_VERTICALLY'),
'inherit'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_INHERIT'),
),
'std'=>'no-repeat',
'depends'=>array(
array('background_type', '=', 'image'),
array('background_image', '!=', '')
)
),
'background_size'=>array(
'type'=>'select',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_SIZE'),
'desc'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_SIZE_DESC'),
'values'=>array(
'cover'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_SIZE_COVER'),
'contain'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_SIZE_CONTAIN'),
'inherit'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_INHERIT'),
),
'std'=>'cover',
'depends'=>array(
array('background_type', '=', 'image'),
array('background_image', '!=', '')
)
),
'background_attachment'=>array(
'type'=>'select',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_ATTACHMENT'),
'desc'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_ATTACHMENT_DESC'),
'values'=>array(
'fixed'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_ATTACHMENT_FIXED'),
'scroll'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_ATTACHMENT_SCROLL'),
'inherit'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_INHERIT'),
),
'std'=>'scroll',
'depends'=>array(
array('background_type', '=', 'image'),
array('background_image', '!=', '')
)
),
'background_position'=>array(
'type'=>'select',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_POSITION'),
'values'=>array(
'0 0'=>JText::_('COM_SPPAGEBUILDER_LEFT_TOP'),
'0 50%'=>JText::_('COM_SPPAGEBUILDER_LEFT_CENTER'),
'0 100%'=>JText::_('COM_SPPAGEBUILDER_LEFT_BOTTOM'),
'50% 0'=>JText::_('COM_SPPAGEBUILDER_CENTER_TOP'),
'50% 50%'=>JText::_('COM_SPPAGEBUILDER_CENTER_CENTER'),
'50% 100%'=>JText::_('COM_SPPAGEBUILDER_CENTER_BOTTOM'),
'100% 0'=>JText::_('COM_SPPAGEBUILDER_RIGHT_TOP'),
'100% 50%'=>JText::_('COM_SPPAGEBUILDER_RIGHT_CENTER'),
'100% 100%'=>JText::_('COM_SPPAGEBUILDER_RIGHT_BOTTOM'),
),
'std'=>'0 0',
'depends'=>array(
array('background_type', '=', 'image'),
array('background_image', '!=', '')
)
),
'overlay_type'=>array(
'type'=>'buttons',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_OVERLAY_CHOOSE'),
'std'=>'overlay_color',
'values'=>array(
array(
'label' => 'None',
'value' => 'overlay_none'
),
array(
'label' => 'Color',
'value' => 'overlay_color'
),
array(
'label' => 'Gradient',
'value' => 'overlay_gradient'
),
array(
'label' => 'Pattern',
'value' => 'overlay_pattern'
)
),
'depends'=>array(
array('background_type', '!=', 'none'),
array('background_type', '!=', 'color'),
array('background_type', '!=', 'gradient'),
),
),
'overlay'=>array(
'type'=>'color',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_OVERLAY'),
'desc'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_OVERLAY_DESC'),
'depends'=>array(
array('background_type', '=', 'image'),
array('background_image', '!=', ''),
array('overlay_type', '=', 'overlay_color'),
)
),
'gradient_overlay'=>array(
'type'=>'gradient',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_OVERLAY_GRADIENT'),
'desc'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_OVERLAY_GRADIENT_DESC'),
'std'=> array(
"color" => "rgba(127, 0, 255, 0.8)",
"color2" => "rgba(225, 0, 255, 0.7)",
"deg" => "45",
"type" => "linear"
),
'depends'=>array(
array('background_type', '!=', 'none'),
array('background_type', '!=', 'color'),
array('background_type', '!=', 'gradient'),
array('overlay_type', '=', 'overlay_gradient'),
array('background_image', '!=', '')
)
),
'pattern_overlay'=>array(
'type'=>'media',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_OVERLAY_PATTERN'),
'desc'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_OVERLAY_PATTERN_DESC'),
'std'=> '',
'depends'=>array(
array('background_type', '!=', 'none'),
array('background_type', '!=', 'color'),
array('background_type', '!=', 'gradient'),
array('overlay_type', '=', 'overlay_pattern'),
array('background_image', '!=', '')
)
),
'overlay_pattern_color'=>array(
'type'=>'color',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_OVERLAY_PATTERN_COLOR'),
'desc'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_OVERLAY_PATTERN_COLOR_DESC'),
'std'=> '',
'depends'=>array(
array('background_type', '!=', 'none'),
array('background_type', '!=', 'color'),
array('background_type', '!=', 'gradient'),
array('overlay_type', '=', 'overlay_pattern'),
array('pattern_overlay', '!=', ''),
array('background_image', '!=', '')
)
),
'blend_mode'=>array(
'type'=>'select',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BLEND_MODE'),
'desc'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BLEND_MODE_DESC'),
'values'=>array(
'normal'=>'Normal',
'color'=>'Color',
'color-burn'=>'Color Burn',
'color-dodge'=>'Color Dodge',
'darken'=>'Darken',
'difference'=>'Difference',
'exclusion'=>'Exclusion',
'hard-light'=>'Hard Light',
'hue'=>'Hue',
'lighten'=>'Lighten',
'luminosity'=>'Luminosity',
'multiply'=>'Multiply',
'overlay'=>'Overlay',
'saturation'=>'Saturation',
'screen'=>'Screen',
'soft-light'=>'Soft Light',
),
'std'=>'normal',
'depends'=>array(
array('background_type', '!=', 'none'),
array('background_type', '!=', 'color'),
array('background_type', '!=', 'gradient'),
array('background_type', '!=', 'video'),
array('overlay_type', '!=', 'overlay_none'),
)
),
'items_align_center'=>array(
'type'=>'checkbox',
'title'=>JText::_('COM_SPPAGEBUILDER_ROW_COLUMNS_ALIGN_CENTER'),
'desc'=>JText::_('COM_SPPAGEBUILDER_ROW_COLUMNS_ALIGN_CENTER_DESC'),
'std'=>0
),
'padding'=>array(
'type'=>'padding',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_PADDING'),
'desc'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_PADDING_DESC'),
'responsive'=> true
),
'margin'=>array(
'type'=>'margin',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_MARGIN'),
'desc'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_MARGIN_DESC'),
'responsive'=> true
),
'use_border'=>array(
'type'=>'checkbox',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_USE_BORDER'),
'std'=>0
),
'border_width'=>array(
'type'=>'slider',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BORDER_WIDTH'),
'std'=>'',
'depends'=>array('use_border'=>1),
'responsive'=> true
),
'border_color'=>array(
'type'=>'color',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BORDER_COLOR'),
'depends'=>array('use_border'=>1)
),
'boder_style'=>array(
'type'=>'select',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BORDER_STYLE'),
'values'=>array(
'none'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BORDER_STYLE_NONE'),
'solid'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BORDER_STYLE_SOLID'),
'double'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BORDER_STYLE_DOUBLE'),
'dotted'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BORDER_STYLE_DOTTED'),
'dashed'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BORDER_STYLE_DASHED'),
),
'depends'=>array('use_border'=>1)
),
'border_radius'=>array(
'type'=>'slider',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BORDER_RADIUS'),
'std'=>0,
'max'=>500,
'responsive'=> true
),
'boxshadow'=>array(
'type'=>'boxshadow',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BOXSHADOW'),
'std'=>'0 0 0 0 #fff',
),
'class'=>array(
'type' => 'text',
'title' => JText::_('COM_SPPAGEBUILDER_CSS_CLASS'),
'desc' => JText::_('COM_SPPAGEBUILDER_CSS_CLASS_DESC')
)
),
'responsive' => array(
'sm_col' => array(
'type' => 'select',
'title' => JText::_('COM_SPPAGEBUILDER_LAYOUT_TABLET'),
'desc' => JText::_('COM_SPPAGEBUILDER_LAYOUT_TABLET_DESC'),
'values' => array(
'' => "",
'col-sm-1' => 'col-sm-1',
'col-sm-2' => 'col-sm-2',
'col-sm-3' => 'col-sm-3',
'col-sm-4' => 'col-sm-4',
'col-sm-5' => 'col-sm-5',
'col-sm-6' => 'col-sm-6',
'col-sm-7' => 'col-sm-7',
'col-sm-8' => 'col-sm-8',
'col-sm-9' => 'col-sm-9',
'col-sm-10' => 'col-sm-10',
'col-sm-11' => 'col-sm-11',
'col-sm-12' => 'col-sm-12',
),
'std' => '',
),
'xs_col' => array(
'type' => 'select',
'title' => JText::_('COM_SPPAGEBUILDER_LAYOUT_MOBILE'),
'desc' => JText::_('COM_SPPAGEBUILDER_LAYOUT_MOBILE_DESC'),
'values' => array(
'' => "",
'col-xs-1' => 'col-xs-1',
'col-xs-2' => 'col-xs-2',
'col-xs-3' => 'col-xs-3',
'col-xs-4' => 'col-xs-4',
'col-xs-5' => 'col-xs-5',
'col-xs-6' => 'col-xs-6',
'col-xs-7' => 'col-xs-7',
'col-xs-8' => 'col-xs-8',
'col-xs-9' => 'col-xs-9',
'col-xs-10' => 'col-xs-10',
'col-xs-11' => 'col-xs-11',
'col-xs-12' => 'col-xs-12',
),
'std' => '',
),
'order_separator'=>array(
'type'=>'separator',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_COLUMN_ORDER_OPTIONS')
),
'tablet_order'=> array(
'type'=> 'select',
'title'=> JText::_('COM_SPPAGEBUILDER_GLOBAL_COLUMN_ORDER_TABLET'),
'desc'=> JText::_('COM_SPPAGEBUILDER_GLOBAL_COLUMN_ORDER_TABLET_DESC'),
'values'=> array(
'1' => '1',
'2' => '2',
'3' => '3',
'4' => '4',
'5' => '5',
'6' => '6',
'7' => '7',
'8' => '8',
'9' => '9',
'10' => '10',
'11' => '11',
'12' => '12',
),
'std'=> '',
),
'mobile_order'=> array(
'type'=> 'select',
'title'=> JText::_('COM_SPPAGEBUILDER_GLOBAL_COLUMN_ORDER_MOBILE'),
'desc'=> JText::_('COM_SPPAGEBUILDER_GLOBAL_COLUMN_ORDER_MOBILE_DESC'),
'values'=> array(
'1' => '1',
'2' => '2',
'3' => '3',
'4' => '4',
'5' => '5',
'6' => '6',
'7' => '7',
'8' => '8',
'9' => '9',
'10' => '10',
'11' => '11',
'12' => '12',
),
'std'=> '',
),
'separator'=>array(
'type'=>'separator',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_VISIBILITY_OPTIONS')
),
'hidden_xs' => array(
'type' => 'checkbox',
'title' => JText::_('COM_SPPAGEBUILDER_GLOBAL_HIDDEN_XS'),
'desc' => JText::_('COM_SPPAGEBUILDER_GLOBAL_HIDDEN_XS_DESC'),
'std' => '',
),
'hidden_sm' => array(
'type' => 'checkbox',
'title' => JText::_('COM_SPPAGEBUILDER_GLOBAL_HIDDEN_SM'),
'desc' => JText::_('COM_SPPAGEBUILDER_GLOBAL_HIDDEN_SM_DESC'),
'std' => '',
),
'hidden_md' => array(
'type' => 'checkbox',
'title' => JText::_('COM_SPPAGEBUILDER_GLOBAL_HIDDEN_MD'),
'desc' => JText::_('COM_SPPAGEBUILDER_GLOBAL_HIDDEN_MD_DESC'),
'std' => '',
),
),
'animation' => array(
'animation'=>array(
'type'=>'animation',
'title'=>JText::_('COM_SPPAGEBUILDER_ANIMATION'),
'desc'=>JText::_('COM_SPPAGEBUILDER_ANIMATION_DESC')
),
'animationduration'=>array(
'type'=>'number',
'title'=>JText::_('COM_SPPAGEBUILDER_ANIMATION_DURATION'),
'desc'=> JText::_('COM_SPPAGEBUILDER_ANIMATION_DURATION_DESC'),
'std'=>'300',
'placeholder'=>'300',
),
'animationdelay'=>array(
'type'=>'number',
'title'=>JText::_('COM_SPPAGEBUILDER_ANIMATION_DELAY'),
'desc'=>JText::_('COM_SPPAGEBUILDER_ANIMATION_DELAY_DESC'),
'std'=>'0',
'placeholder'=>'300',
),
),
)
);

View File

@ -0,0 +1,775 @@
<?php
/**
* @package SP Page Builder
* @author JoomShaper http://www.joomshaper.com
* @copyright Copyright (c) 2010 - 2018 JoomShaper
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
*/
//no direct accees
defined ('_JEXEC') or die ('Restricted access');
$icon_list = array(
'fa-500px',
'fa-address-book',
'fa-address-book-o',
'fa-address-card',
'fa-address-card-o',
'fa-adjust',
'fa-adn',
'fa-align-center',
'fa-align-justify',
'fa-align-left',
'fa-align-right',
'fa-amazon',
'fa-ambulance',
'fa-american-sign-language-interpreting',
'fa-anchor',
'fa-android',
'fa-angellist',
'fa-angle-double-down',
'fa-angle-double-left',
'fa-angle-double-right',
'fa-angle-double-up',
'fa-angle-down',
'fa-angle-left',
'fa-angle-right',
'fa-angle-up',
'fa-apple',
'fa-archive',
'fa-area-chart',
'fa-arrow-circle-down',
'fa-arrow-circle-left',
'fa-arrow-circle-o-down',
'fa-arrow-circle-o-left',
'fa-arrow-circle-o-right',
'fa-arrow-circle-o-up',
'fa-arrow-circle-right',
'fa-arrow-circle-up',
'fa-arrow-down',
'fa-arrow-left',
'fa-arrow-right',
'fa-arrow-up',
'fa-arrows',
'fa-arrows-alt',
'fa-arrows-h',
'fa-arrows-v',
'fa-asl-interpreting',
'fa-assistive-listening-systems',
'fa-asterisk',
'fa-at',
'fa-audio-description',
'fa-automobile',
'fa-backward',
'fa-balance-scale',
'fa-ban',
'fa-bandcamp',
'fa-bank',
'fa-bar-chart',
'fa-bar-chart-o',
'fa-barcode',
'fa-bars',
'fa-bathtub',
'fa-battery',
'fa-battery-0',
'fa-battery-1',
'fa-battery-2',
'fa-battery-3',
'fa-battery-4',
'fa-bed',
'fa-beer',
'fa-behance',
'fa-behance-square',
'fa-bell',
'fa-bell-o',
'fa-bell-slash',
'fa-bell-slash-o',
'fa-bicycle',
'fa-binoculars',
'fa-birthday-cake',
'fa-bitbucket',
'fa-bitbucket-square',
'fa-bitcoin',
'fa-black-tie',
'fa-blind',
'fa-bluetooth',
'fa-bluetooth-b',
'fa-bold',
'fa-bolt',
'fa-bomb',
'fa-book',
'fa-bookmark',
'fa-bookmark-o',
'fa-braille',
'fa-briefcase',
'fa-btc',
'fa-bug',
'fa-building',
'fa-building-o',
'fa-bullhorn',
'fa-bullseye',
'fa-bus',
'fa-buysellads',
'fa-cab',
'fa-calculator',
'fa-calendar',
'fa-calendar-check-o',
'fa-calendar-minus-o',
'fa-calendar-o',
'fa-calendar-plus-o',
'fa-calendar-times-o',
'fa-camera',
'fa-camera-retro',
'fa-car',
'fa-caret-down',
'fa-caret-left',
'fa-caret-right',
'fa-caret-square-o-down',
'fa-caret-square-o-left',
'fa-caret-square-o-right',
'fa-caret-square-o-up',
'fa-caret-up',
'fa-cart-arrow-down',
'fa-cart-plus',
'fa-cc',
'fa-cc-amex',
'fa-cc-diners-club',
'fa-cc-discover',
'fa-cc-jcb',
'fa-cc-mastercard',
'fa-cc-paypal',
'fa-cc-stripe',
'fa-cc-visa',
'fa-certificate',
'fa-chain',
'fa-chain-broken',
'fa-check',
'fa-check-circle',
'fa-check-circle-o',
'fa-check-square',
'fa-check-square-o',
'fa-chevron-circle-down',
'fa-chevron-circle-left',
'fa-chevron-circle-right',
'fa-chevron-circle-up',
'fa-chevron-down',
'fa-chevron-left',
'fa-chevron-right',
'fa-chevron-up',
'fa-child',
'fa-chrome',
'fa-circle',
'fa-circle-o',
'fa-circle-o-notch',
'fa-circle-thin',
'fa-clipboard',
'fa-clock-o',
'fa-clone',
'fa-close',
'fa-cloud',
'fa-cloud-download',
'fa-cloud-upload',
'fa-cny',
'fa-code',
'fa-code-fork',
'fa-codepen',
'fa-codiepie',
'fa-coffee',
'fa-cog',
'fa-cogs',
'fa-columns',
'fa-comment',
'fa-comment-o',
'fa-commenting',
'fa-commenting-o',
'fa-comments',
'fa-comments-o',
'fa-compass',
'fa-compress',
'fa-connectdevelop',
'fa-contao',
'fa-copy',
'fa-copyright',
'fa-creative-commons',
'fa-credit-card',
'fa-credit-card-alt',
'fa-crop',
'fa-crosshairs',
'fa-css3',
'fa-cube',
'fa-cubes',
'fa-cut',
'fa-cutlery',
'fa-dashboard',
'fa-dashcube',
'fa-database',
'fa-deaf',
'fa-deafness',
'fa-dedent',
'fa-delicious',
'fa-desktop',
'fa-deviantart',
'fa-diamond',
'fa-digg',
'fa-dollar',
'fa-dot-circle-o',
'fa-download',
'fa-dribbble',
'fa-drivers-license',
'fa-drivers-license-o',
'fa-dropbox',
'fa-drupal',
'fa-edge',
'fa-edit',
'fa-eercast',
'fa-eject',
'fa-ellipsis-h',
'fa-ellipsis-v',
'fa-empire',
'fa-envelope',
'fa-envelope-o',
'fa-envelope-open',
'fa-envelope-open-o',
'fa-envelope-square',
'fa-envira',
'fa-eraser',
'fa-etsy',
'fa-eur',
'fa-euro',
'fa-exchange',
'fa-exclamation',
'fa-exclamation-circle',
'fa-exclamation-triangle',
'fa-expand',
'fa-expeditedssl',
'fa-external-link',
'fa-external-link-square',
'fa-eye',
'fa-eye-slash',
'fa-eyedropper',
'fa-fa',
'fa-facebook',
'fa-facebook-f',
'fa-facebook-official',
'fa-facebook-square',
'fa-fast-backward',
'fa-fast-forward',
'fa-fax',
'fa-feed',
'fa-female',
'fa-fighter-jet',
'fa-file',
'fa-file-archive-o',
'fa-file-audio-o',
'fa-file-code-o',
'fa-file-excel-o',
'fa-file-image-o',
'fa-file-movie-o',
'fa-file-o',
'fa-file-pdf-o',
'fa-file-photo-o',
'fa-file-picture-o',
'fa-file-powerpoint-o',
'fa-file-sound-o',
'fa-file-text',
'fa-file-text-o',
'fa-file-video-o',
'fa-file-word-o',
'fa-file-zip-o',
'fa-files-o',
'fa-film',
'fa-filter',
'fa-fire',
'fa-fire-extinguisher',
'fa-firefox',
'fa-first-order',
'fa-flag',
'fa-flag-checkered',
'fa-flag-o',
'fa-flash',
'fa-flask',
'fa-flickr',
'fa-floppy-o',
'fa-folder',
'fa-folder-o',
'fa-folder-open',
'fa-folder-open-o',
'fa-font',
'fa-font-awesome',
'fa-fonticons',
'fa-fort-awesome',
'fa-forumbee',
'fa-forward',
'fa-foursquare',
'fa-free-code-camp',
'fa-frown-o',
'fa-futbol-o',
'fa-gamepad',
'fa-gavel',
'fa-gbp',
'fa-ge',
'fa-gear',
'fa-gears',
'fa-genderless',
'fa-get-pocket',
'fa-gg',
'fa-gg-circle',
'fa-gift',
'fa-git',
'fa-git-square',
'fa-github',
'fa-github-alt',
'fa-github-square',
'fa-gitlab',
'fa-gittip',
'fa-glass',
'fa-glide',
'fa-glide-g',
'fa-globe',
'fa-google',
'fa-google-plus',
'fa-google-plus-circle',
'fa-google-plus-official',
'fa-google-plus-square',
'fa-google-wallet',
'fa-graduation-cap',
'fa-gratipay',
'fa-grav',
'fa-group',
'fa-h-square',
'fa-hacker-news',
'fa-hand-grab-o',
'fa-hand-lizard-o',
'fa-hand-o-down',
'fa-hand-o-left',
'fa-hand-o-right',
'fa-hand-o-up',
'fa-hand-paper-o',
'fa-hand-peace-o',
'fa-hand-pointer-o',
'fa-hand-rock-o',
'fa-hand-scissors-o',
'fa-hand-spock-o',
'fa-hand-stop-o',
'fa-handshake-o',
'fa-hard-of-hearing',
'fa-hashtag',
'fa-hdd-o',
'fa-header',
'fa-headphones',
'fa-heart',
'fa-heart-o',
'fa-heartbeat',
'fa-history',
'fa-home',
'fa-hospital-o',
'fa-hotel',
'fa-hourglass',
'fa-hourglass-1',
'fa-hourglass-2',
'fa-hourglass-3',
'fa-houzz',
'fa-html5',
'fa-i-cursor',
'fa-id-badge',
'fa-id-card',
'fa-id-card-o',
'fa-ils',
'fa-image',
'fa-imdb',
'fa-inbox',
'fa-indent',
'fa-industry',
'fa-info',
'fa-info-circle',
'fa-inr',
'fa-instagram',
'fa-institution',
'fa-internet-explorer',
'fa-intersex',
'fa-ioxhost',
'fa-italic',
'fa-joomla',
'fa-jpy',
'fa-jsfiddle',
'fa-key',
'fa-keyboard-o',
'fa-krw',
'fa-language',
'fa-laptop',
'fa-lastfm',
'fa-lastfm-square',
'fa-leaf',
'fa-leanpub',
'fa-legal',
'fa-lemon-o',
'fa-level-down',
'fa-level-up',
'fa-life-bouy',
'fa-lightbulb-o',
'fa-line-chart',
'fa-link',
'fa-linkedin',
'fa-linkedin-square',
'fa-linode',
'fa-linux',
'fa-list',
'fa-list-alt',
'fa-list-ol',
'fa-list-ul',
'fa-location-arrow',
'fa-lock',
'fa-long-arrow-down',
'fa-long-arrow-left',
'fa-long-arrow-right',
'fa-long-arrow-up',
'fa-low-vision',
'fa-magic',
'fa-magnet',
'fa-mail-forward',
'fa-mail-reply',
'fa-mail-reply-all',
'fa-male',
'fa-map',
'fa-map-marker',
'fa-map-o',
'fa-map-pin',
'fa-map-signs',
'fa-mars',
'fa-mars-double',
'fa-mars-stroke',
'fa-mars-stroke-h',
'fa-mars-stroke-v',
'fa-maxcdn',
'fa-meanpath',
'fa-medium',
'fa-medkit',
'fa-meetup',
'fa-meh-o',
'fa-mercury',
'fa-microchip',
'fa-microphone',
'fa-microphone-slash',
'fa-minus',
'fa-minus-circle',
'fa-minus-square',
'fa-minus-square-o',
'fa-mixcloud',
'fa-mobile',
'fa-mobile-phone',
'fa-modx',
'fa-money',
'fa-moon-o',
'fa-mortar-board',
'fa-motorcycle',
'fa-mouse-pointer',
'fa-music',
'fa-navicon',
'fa-neuter',
'fa-newspaper-o',
'fa-object-group',
'fa-object-ungroup',
'fa-odnoklassniki',
'fa-odnoklassniki-square',
'fa-opencart',
'fa-openid',
'fa-opera',
'fa-optin-monster',
'fa-outdent',
'fa-pagelines',
'fa-paint-brush',
'fa-paper-plane',
'fa-paper-plane-o',
'fa-paperclip',
'fa-paragraph',
'fa-paste',
'fa-pause',
'fa-pause-circle',
'fa-pause-circle-o',
'fa-paw',
'fa-paypal',
'fa-pencil',
'fa-pencil-square',
'fa-pencil-square-o',
'fa-percent',
'fa-phone',
'fa-phone-square',
'fa-photo',
'fa-picture-o',
'fa-pie-chart',
'fa-pied-piper',
'fa-pied-piper-alt',
'fa-pied-piper-pp',
'fa-pinterest',
'fa-pinterest-p',
'fa-pinterest-square',
'fa-plane',
'fa-play',
'fa-play-circle',
'fa-play-circle-o',
'fa-plug',
'fa-plus',
'fa-plus-circle',
'fa-plus-square',
'fa-plus-square-o',
'fa-podcast',
'fa-power-off',
'fa-print',
'fa-product-hunt',
'fa-puzzle-piece',
'fa-qq',
'fa-qrcode',
'fa-question',
'fa-question-circle',
'fa-question-circle-o',
'fa-quora',
'fa-quote-left',
'fa-quote-right',
'fa-ra',
'fa-random',
'fa-ravelry',
'fa-rebel',
'fa-recycle',
'fa-reddit',
'fa-reddit-alien',
'fa-reddit-square',
'fa-refresh',
'fa-registered',
'fa-remove',
'fa-renren',
'fa-reorder',
'fa-repeat',
'fa-reply',
'fa-reply-all',
'fa-resistance',
'fa-retweet',
'fa-rmb',
'fa-road',
'fa-rocket',
'fa-rotate-left',
'fa-rotate-right',
'fa-rouble',
'fa-rss',
'fa-rss-square',
'fa-rub',
'fa-ruble',
'fa-rupee',
'fa-s15',
'fa-safari',
'fa-save',
'fa-scissors',
'fa-scribd',
'fa-search',
'fa-search-minus',
'fa-search-plus',
'fa-sellsy',
'fa-send',
'fa-send-o',
'fa-server',
'fa-share',
'fa-share-alt',
'fa-share-alt-square',
'fa-share-square',
'fa-share-square-o',
'fa-shekel',
'fa-shield',
'fa-ship',
'fa-shirtsinbulk',
'fa-shopping-bag',
'fa-shopping-basket',
'fa-shopping-cart',
'fa-shower',
'fa-sign-in',
'fa-sign-language',
'fa-sign-out',
'fa-signal',
'fa-signing',
'fa-simplybuilt',
'fa-sitemap',
'fa-skyatlas',
'fa-skype',
'fa-slack',
'fa-sliders',
'fa-slideshare',
'fa-smile-o',
'fa-snapchat',
'fa-snapchat-ghost',
'fa-snapchat-square',
'fa-snowflake-o',
'fa-soccer-ball-o',
'fa-sort',
'fa-sort-alpha-asc',
'fa-sort-alpha-desc',
'fa-sort-amount-asc',
'fa-sort-amount-desc',
'fa-sort-asc',
'fa-sort-desc',
'fa-sort-down',
'fa-sort-numeric-asc',
'fa-sort-numeric-desc',
'fa-sort-up',
'fa-soundcloud',
'fa-space-shuttle',
'fa-spinner',
'fa-spoon',
'fa-spotify',
'fa-square',
'fa-square-o',
'fa-stack-exchange',
'fa-stack-overflow',
'fa-star',
'fa-star-half',
'fa-star-half-empty',
'fa-star-o',
'fa-steam',
'fa-steam-square',
'fa-step-backward',
'fa-step-forward',
'fa-stethoscope',
'fa-sticky-note',
'fa-sticky-note-o',
'fa-stop',
'fa-stop-circle',
'fa-stop-circle-o',
'fa-street-view',
'fa-strikethrough',
'fa-stumbleupon',
'fa-stumbleupon-circle',
'fa-subscript',
'fa-subway',
'fa-suitcase',
'fa-sun-o',
'fa-superpowers',
'fa-superscript',
'fa-support',
'fa-table',
'fa-tablet',
'fa-tachometer',
'fa-tag',
'fa-tags',
'fa-tasks',
'fa-taxi',
'fa-telegram',
'fa-television',
'fa-tencent-weibo',
'fa-terminal',
'fa-text-height',
'fa-text-width',
'fa-th',
'fa-th-large',
'fa-th-list',
'fa-themeisle',
'fa-thermometer',
'fa-thermometer-0',
'fa-thermometer-1',
'fa-thermometer-2',
'fa-thermometer-3',
'fa-thermometer-4',
'fa-thumb-tack',
'fa-thumbs-down',
'fa-thumbs-o-down',
'fa-thumbs-o-up',
'fa-thumbs-up',
'fa-ticket',
'fa-times',
'fa-times-circle',
'fa-times-circle-o',
'fa-times-rectangle',
'fa-times-rectangle-o',
'fa-tint',
'fa-toggle-down',
'fa-toggle-left',
'fa-toggle-off',
'fa-toggle-on',
'fa-toggle-right',
'fa-toggle-up',
'fa-trademark',
'fa-train',
'fa-transgender',
'fa-transgender-alt',
'fa-trash',
'fa-trash-o',
'fa-tree',
'fa-trello',
'fa-tripadvisor',
'fa-trophy',
'fa-truck',
'fa-try',
'fa-tty',
'fa-tumblr',
'fa-tumblr-square',
'fa-turkish-lira',
'fa-tv',
'fa-twitch',
'fa-twitter',
'fa-twitter-square',
'fa-umbrella',
'fa-underline',
'fa-undo',
'fa-universal-access',
'fa-university',
'fa-unlink',
'fa-unlock',
'fa-unlock-alt',
'fa-unsorted',
'fa-upload',
'fa-usb',
'fa-usd',
'fa-user',
'fa-user-circle',
'fa-user-circle-o',
'fa-user-md',
'fa-user-o',
'fa-user-plus',
'fa-user-secret',
'fa-user-times',
'fa-users',
'fa-vcard',
'fa-vcard-o',
'fa-venus',
'fa-venus-double',
'fa-venus-mars',
'fa-viacoin',
'fa-viadeo',
'fa-viadeo-square',
'fa-video-camera',
'fa-vimeo',
'fa-vimeo-square',
'fa-vine',
'fa-vk',
'fa-volume-control-phone',
'fa-volume-down',
'fa-volume-off',
'fa-volume-up',
'fa-warning',
'fa-wechat',
'fa-weibo',
'fa-weixin',
'fa-whatsapp',
'fa-wheelchair',
'fa-wheelchair-alt',
'fa-wifi',
'fa-wikipedia-w',
'fa-window-close',
'fa-window-close-o',
'fa-window-maximize',
'fa-window-minimize',
'fa-window-restore',
'fa-windows',
'fa-won',
'fa-wordpress',
'fa-wpbeginner',
'fa-wpexplorer',
'fa-wpforms',
'fa-wrench',
'fa-xing',
'fa-xing-square',
'fa-y-combinator',
'fa-y-combinator-square',
'fa-yahoo',
'fa-yelp',
'fa-yen',
'fa-yoast',
'fa-youtube',
'fa-youtube-play',
'fa-youtube-square',
);

View File

@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>

View File

@ -0,0 +1,849 @@
<?php
/**
* @package SP Page Builder
* @author JoomShaper http://www.joomshaper.com
* @copyright Copyright (c) 2010 - 2016 JoomShaper
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
*/
//no direct accees
defined ('_JEXEC') or die ('Restricted access');
$row_settings = array(
'type' => 'content',
'title' => 'Section',
'attr' => array(
'general' => array(
'admin_label'=>array(
'type'=>'text',
'title'=>JText::_('COM_SPPAGEBUILDER_ADMIN_LABEL'),
'desc'=>JText::_('COM_SPPAGEBUILDER_ADMIN_LABEL_DESC'),
'std'=>''
),
'separator1'=>array(
'type'=>'separator',
'title'=>JText::_('Title Options')
),
'title'=>array(
'type'=>'textarea',
'title'=>JText::_('COM_SPPAGEBUILDER_SECTION_TITLE'),
'desc'=>JText::_('COM_SPPAGEBUILDER_SECTION_TITLE_DESC'),
'css'=> 'min-height: 80px;',
'std'=>''
),
'heading_selector'=>array(
'type'=>'select',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_HEADINGS'),
'desc'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_HEADINGS_DESC'),
'values'=>array(
'h1'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_HEADINGS_H1'),
'h2'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_HEADINGS_H2'),
'h3'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_HEADINGS_H3'),
'h4'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_HEADINGS_H4'),
'h5'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_HEADINGS_H5'),
'h6'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_HEADINGS_H6'),
),
'std'=>'h3',
'depends' => array(
array('title', '!=', ''),
),
),
'title_fontsize'=>array(
'type'=>'slider',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_TITLE_FONT_SIZE'),
'std'=>'',
'depends' => array(
array('title', '!=', ''),
),
'responsive' => true,
'max'=>500
),
'title_fontweight'=>array(
'type'=>'text',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_TITLE_FONT_WEIGHT'),
'std'=>'',
'depends' => array(
array('title', '!=', ''),
),
),
'title_text_color'=>array(
'type'=>'color',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_TITLE_TEXT_COLOR'),
'depends' => array(
array('title', '!=', ''),
),
),
'title_margin_top'=>array(
'type'=>'number',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_MARGIN_TOP'),
'placeholder'=>'10',
'depends' => array(
array('title', '!=', ''),
),
'responsive' => true
),
'title_margin_bottom'=>array(
'type'=>'number',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_MARGIN_BOTTOM'),
'placeholder'=>'10',
'depends' => array(
array('title', '!=', ''),
),
'responsive' => true
),
'separator2'=>array(
'type'=>'separator',
'title'=>JText::_('Subtitle Options')
),
'subtitle'=>array(
'type'=>'textarea',
'title'=>JText::_('COM_SPPAGEBUILDER_SECTION_SUBTITLE'),
'desc'=>JText::_('COM_SPPAGEBUILDER_SECTION_SUBTITLE_DESC'),
'css'=> 'min-height: 120px;',
),
'subtitle_fontsize'=>array(
'type'=>'slider',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_SUB_TITLE_FONT_SIZE'),
'desc'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_SUB_TITLE_FONT_SIZE_DESC'),
'responsive'=>true,
'depends' => array(
array('subtitle', '!=', ''),
),
),
'title_position'=>array(
'type'=>'select',
'title'=>JText::_('COM_SPPAGEBUILDER_TITLE_SUBTITLE_POSITION'),
'desc'=>JText::_('COM_SPPAGEBUILDER_TITLE_SUBTITLE_POSITION_DESC'),
'values'=>array(
'sppb-text-left'=>JText::_('COM_SPPAGEBUILDER_LEFT'),
'sppb-text-center'=>JText::_('COM_SPPAGEBUILDER_CENTER'),
'sppb-text-right'=>JText::_('COM_SPPAGEBUILDER_RIGHT')
),
'std'=>'sppb-text-center',
),
'columns_align_center'=>array(
'type'=>'checkbox',
'title'=>JText::_('COM_SPPAGEBUILDER_ROW_COLUMNS_ALIGN_CENTER'),
'desc'=>JText::_('COM_SPPAGEBUILDER_ROW_COLUMNS_ALIGN_CENTER_DESC'),
'std'=>0
),
'fullscreen'=>array(
'type'=>'checkbox',
'title'=>JText::_('COM_SPPAGEBUILDER_FULLSCREEN'),
'desc'=>JText::_('COM_SPPAGEBUILDER_FULLSCREEN_DESC'),
'std'=>0,
),
'no_gutter'=>array(
'type'=>'checkbox',
'title'=>JText::_('COM_SPPAGEBUILDER_ROW_NO_GUTTER'),
'desc'=>JText::_('COM_SPPAGEBUILDER_ROW_NO_GUTTER_DESC'),
'std'=>0,
),
'id'=>array(
'type'=>'text',
'title'=>JText::_('COM_SPPAGEBUILDER_SECTION_ID'),
'desc'=>JText::_('COM_SPPAGEBUILDER_SECTION_ID_DESC')
),
'class'=>array(
'type'=>'text',
'title'=>JText::_('COM_SPPAGEBUILDER_CSS_CLASS'),
'desc'=>JText::_('COM_SPPAGEBUILDER_CSS_CLASS_DESC')
),
),
'style' => array(
'section_height_option'=>array(
'type'=>'select',
'title'=>JText::_('COM_SPPAGEBUILDER_ROW_HEIGHT_SELECTOR'),
'desc'=>JText::_('COM_SPPAGEBUILDER_ROW_HEIGHT_SELECTOR_DESC'),
'values'=>array(
'win-height'=>JText::_('COM_SPPAGEBUILDER_ROW_WIN_HEIGHT'),
'height'=>JText::_('COM_SPPAGEBUILDER_ROW_HEIGHT'),
),
),
'section_height'=>array(
'type'=>'slider',
'title'=>JText::_('COM_SPPAGEBUILDER_ROW_HEIGHT_OPTION'),
'desc'=>JText::_('COM_SPPAGEBUILDER_ROW_HEIGHT_OPTION_DESC'),
'depends'=>array(
array('section_height_option', '=', 'height'),
),
'max'=>3000,
'responsive' => true,
),
'section_overflow_x'=>array(
'type'=>'select',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_OVERFLOW_X'),
'desc'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_OVERFLOW_X_DESC'),
'depends'=>array(
array('section_height_option', '=', 'height'),
),
'values'=>array(
'auto'=>'Auto',
'hidden'=>'Hidden',
'initial'=>'Initial',
'scroll'=>'Scroll',
),
),
'section_overflow_y'=>array(
'type'=>'select',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_OVERFLOW_Y'),
'desc'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_OVERFLOW_Y_DESC'),
'depends'=>array(
array('section_height_option', '=', 'height'),
),
'values'=>array(
'auto'=>'Auto',
'hidden'=>'Hidden',
'initial'=>'Initial',
'scroll'=>'Scroll',
),
),
'padding'=>array(
'type'=>'padding',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_PADDING'),
'desc'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_PADDING_DESC'),
'std'=>'50px 0px 50px 0px',
'placeholder'=>'10px 10px 10px 10px',
'responsive' => true
),
'margin'=>array(
'type'=>'margin',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_MARGIN'),
'desc'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_MARGIN_DESC'),
'std'=>'0px 0px 0px 0px',
'placeholder'=>'10px 10px 10px 10px',
'responsive' => true
),
'color'=>array(
'type'=>'color',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_TEXT_COLOR'),
),
'background_type'=>array(
'type'=>'buttons',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_ENABLE_BACKGROUND_OPTIONS'),
'std'=>'none',
'values'=>array(
array(
'label' => 'None',
'value' => 'none'
),
array(
'label' => 'Color',
'value' => 'color'
),
array(
'label' => 'Image',
'value' => 'image'
),
array(
'label' => 'Gradient',
'value' => 'gradient'
),
array(
'label' => 'Video',
'value' => 'video'
),
)
),
'background_color'=>array(
'type'=>'color',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_COLOR'),
'depends'=>array(
array('background_type', '!=', 'none'),
array('background_type', '!=', 'video'),
array('background_type', '!=', 'gradient'),
)
),
'background_gradient'=>array(
'type'=>'gradient',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_GRADIENT'),
'std'=> array(
"color" => "#00c6fb",
"color2" => "#005bea",
"deg" => "45",
"type" => "linear"
),
'depends'=>array(
array('background_type', '=', 'gradient')
)
),
'background_image'=>array(
'type'=>'media',
'format'=>'image',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_IMAGE'),
'std'=>'',
'show_input' => true,
'depends'=>array(
array('background_type', '=', 'image')
)
),
'background_parallax'=>array(
'type'=>'checkbox',
'title'=>JText::_('COM_SPPAGEBUILDER_ROW_BACKGROUND_PARALLAX_ENABLE'),
'desc'=>JText::_('COM_SPPAGEBUILDER_ROW_BACKGROUND_PARALLAX_ENABLE_DESC'),
'std'=>'0',
'depends'=>array(
array('background_type', '=', 'image')
)
),
'background_repeat'=>array(
'type'=>'select',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_REPEAT'),
'values'=>array(
'no-repeat'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_NO_REPEAT'),
'repeat'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_REPEAT_ALL'),
'repeat-x'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_REPEAT_HORIZONTALLY'),
'repeat-y'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_REPEAT_VERTICALLY'),
'inherit'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_INHERIT'),
),
'std'=>'no-repeat',
'depends'=>array(
array('background_type', '=', 'image'),
array('background_image', '!=', '')
)
),
'background_size'=>array(
'type'=>'select',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_SIZE'),
'desc'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_SIZE_DESC'),
'values'=>array(
'cover'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_SIZE_COVER'),
'contain'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_SIZE_CONTAIN'),
'inherit'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_INHERIT'),
),
'std'=>'cover',
'depends'=>array(
array('background_type', '=', 'image'),
array('background_image', '!=', '')
)
),
'background_attachment'=>array(
'type'=>'select',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_ATTACHMENT'),
'desc'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_ATTACHMENT_DESC'),
'values'=>array(
'fixed'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_ATTACHMENT_FIXED'),
'scroll'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_ATTACHMENT_SCROLL'),
'inherit'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_INHERIT'),
),
'std'=>'fixed',
'depends'=>array(
array('background_type', '=', 'image'),
array('background_image', '!=', '')
)
),
'background_position'=>array(
'type'=>'select',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_POSITION'),
'values'=>array(
'0 0'=>JText::_('COM_SPPAGEBUILDER_LEFT_TOP'),
'0 50%'=>JText::_('COM_SPPAGEBUILDER_LEFT_CENTER'),
'0 100%'=>JText::_('COM_SPPAGEBUILDER_LEFT_BOTTOM'),
'50% 0'=>JText::_('COM_SPPAGEBUILDER_CENTER_TOP'),
'50% 50%'=>JText::_('COM_SPPAGEBUILDER_CENTER_CENTER'),
'50% 100%'=>JText::_('COM_SPPAGEBUILDER_CENTER_BOTTOM'),
'100% 0'=>JText::_('COM_SPPAGEBUILDER_RIGHT_TOP'),
'100% 50%'=>JText::_('COM_SPPAGEBUILDER_RIGHT_CENTER'),
'100% 100%'=>JText::_('COM_SPPAGEBUILDER_RIGHT_BOTTOM'),
),
'std'=>'0 0',
'depends'=>array(
array('background_type', '=', 'image'),
array('background_image', '!=', '')
)
),
'external_background_video'=>array(
'type'=>'checkbox',
'title'=>JText::_('COM_SPPAGEBUILDER_ROW_BACKGROUND_EXTERNAL_VIDEO_ENABLE'),
'desc'=>JText::_('COM_SPPAGEBUILDER_ROW_BACKGROUND_EXTERNAL_VIDEO_ENABLE_DESC'),
'std'=>'0',
'depends'=>array(
array('background_type', '=', 'video'),
)
),
'background_video_mp4'=>array(
'type'=>'media',
'format'=>'video',
'title'=>JText::_('COM_SPPAGEBUILDER_ROW_BACKGROUND_VIDEO_MP4'),
'depends'=>array(
array('background_type', '=', 'video'),
array('external_background_video','=',0)
)
),
'background_video_ogv'=>array(
'type'=>'media',
'format'=>'video',
'title'=>JText::_('COM_SPPAGEBUILDER_ROW_BACKGROUND_VIDEO_OGV'),
'depends'=>array(
array('background_type', '=', 'video'),
array('external_background_video','=',0)
)
),
'background_external_video'=>array(
'type'=>'text',
'title'=>JText::_('COM_SPPAGEBUILDER_ROW_BACKGROUND_VIDEO_YOUTUBE_VIMEO'),
'depends'=>array(
array('background_type', '=', 'video'),
array('external_background_video','=',1)
)
),
'video_loop'=> array(
'type'=> 'checkbox',
'title'=> JText::_('COM_SPPAGEBUILDER_ROW_VIDEO_LOOP'),
'desc'=> JText::_('COM_SPPAGEBUILDER_ROW_VIDEO_LOOP_DESC'),
'std'=> 1,
'depends'=>array(
array('background_type', '=', 'video'),
array('external_background_video', '!=', 1),
)
),
'overlay_separator'=>array(
'type'=>'separator',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_OVERLAY_OPTIONS'),
'depends'=>array(
array('background_type', '!=', 'none'),
array('background_type', '!=', 'color'),
array('background_type', '!=', 'gradient'),
),
),
'overlay_type'=>array(
'type'=>'buttons',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_OVERLAY_CHOOSE'),
'std'=>'overlay_none',
'values'=>array(
array(
'label' => 'None',
'value' => 'overlay_none'
),
array(
'label' => 'Color',
'value' => 'overlay_color'
),
array(
'label' => 'Gradient',
'value' => 'overlay_gradient'
),
array(
'label' => 'Pattern',
'value' => 'overlay_pattern'
)
),
'depends'=>array(
array('background_type', '!=', 'none'),
array('background_type', '!=', 'color'),
array('background_type', '!=', 'gradient'),
),
),
'overlay'=>array(
'type'=>'color',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_OVERLAY'),
'desc'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_OVERLAY_DESC'),
'depends'=>array(
array('background_type', '!=', 'none'),
array('background_type', '!=', 'color'),
array('background_type', '!=', 'gradient'),
array('overlay_type', '=', 'overlay_color'),
)
),
'gradient_overlay'=>array(
'type'=>'gradient',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_OVERLAY_GRADIENT'),
'desc'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_OVERLAY_GRADIENT_DESC'),
'std'=> array(
"color" => "rgba(127, 0, 255, 0.8)",
"color2" => "rgba(225, 0, 255, 0.7)",
"deg" => "45",
"type" => "linear"
),
'depends'=>array(
array('background_type', '!=', 'none'),
array('background_type', '!=', 'color'),
array('background_type', '!=', 'gradient'),
array('overlay_type', '=', 'overlay_gradient'),
)
),
'pattern_overlay'=>array(
'type'=>'media',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_OVERLAY_PATTERN'),
'desc'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_OVERLAY_PATTERN_DESC'),
'std'=> '',
'depends'=>array(
array('background_type', '!=', 'none'),
array('background_type', '!=', 'color'),
array('background_type', '!=', 'gradient'),
array('overlay_type', '=', 'overlay_pattern'),
)
),
'overlay_pattern_color'=>array(
'type'=>'color',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_OVERLAY_PATTERN_COLOR'),
'desc'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BACKGROUND_OVERLAY_PATTERN_COLOR_DESC'),
'std'=> '',
'depends'=>array(
array('background_type', '!=', 'none'),
array('background_type', '!=', 'color'),
array('background_type', '!=', 'gradient'),
array('overlay_type', '=', 'overlay_pattern'),
array('pattern_overlay', '!=', ''),
)
),
'blend_mode'=>array(
'type'=>'select',
'title'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BLEND_MODE'),
'desc'=>JText::_('COM_SPPAGEBUILDER_GLOBAL_BLEND_MODE_DESC'),
'values'=>array(
'normal'=>'Normal',
'color'=>'Color',
'color-burn'=>'Color Burn',
'color-dodge'=>'Color Dodge',
'darken'=>'Darken',
'difference'=>'Difference',
'exclusion'=>'Exclusion',
'hard-light'=>'Hard Light',
'hue'=>'Hue',
'lighten'=>'Lighten',
'luminosity'=>'Luminosity',
'multiply'=>'Multiply',
'overlay'=>'Overlay',
'saturation'=>'Saturation',
'screen'=>'Screen',
'soft-light'=>'Soft Light',
),
'std'=>'normal',
'depends'=>array(
array('background_type', '!=', 'none'),
array('background_type', '!=', 'color'),
array('background_type', '!=', 'gradient'),
array('background_type', '!=', 'video'),
array('overlay_type', '!=', 'overlay_none'),
)
),
'separator_shape_top'=>array(
'type'=>'separator',
'title'=>JText::_('COM_SPPAGEBUILDER_ROW_TOP_SHAPE')
),
'show_top_shape' => array(
'type' => 'checkbox',
'title' => JText::_('COM_SPPAGEBUILDER_ROW_SHOW_SHAPE'),
'desc' => JText::_('COM_SPPAGEBUILDER_ROW_SHOW_TOP_SHAPE_DESC'),
'std' => '',
),
'shape_name'=>array(
'type'=>'select',
'title'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE'),
'values'=>array(
'bell'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_BELL'),
'brushed'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_BRUSHED'),
'clouds-flat'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_CLOUDS_FLAT'),
'clouds-opacity'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_CLOUDS_OPACITY'),
'drip'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_DRIP'),
'hill'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_HILL'),
'hill-wave'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_HILL_WAVE'),
'line-wave'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_LINE_WAVE'),
'paper-torn'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_PAPER_TORN'),
'pointy-wave'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_POINTY_WAVE'),
'rocky-mountain'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_ROCKY_MOUNTAIN'),
'shaggy'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_SHAGGY'),
'single-wave'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_SINGLE_WAVE'),
'slope-opacity'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_SLOPE_OPACITY'),
'slope'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_SLOPE'),
'swirl'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_SWIRL'),
'wavy-opacity'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_WAVY_OPACITY'),
'waves3-opacity'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_WAVES3_OPACITY'),
'turning-slope'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_TURNING_SLOPE'),
'zigzag-sharp'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_ZIGZAG_SHARP'),
),
'std'=>'clouds-flat',
'depends'=>array(
array('show_top_shape','=',1)
)
),
'shape_color'=>array(
'type'=>'color',
'title'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_COLOR'),
'std'=>'#e5e5e5',
'depends'=>array(
array('show_top_shape','=',1)
)
),
'shape_width'=>array(
'type'=>'slider',
'title'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_WIDTH'),
'std'=>array(
'md' => 100,
'sm' => 100,
'xs' => 100
),
'max'=>600,
'min'=>100,
'responsive'=>true,
'depends'=>array(
array('show_top_shape','=',1)
)
),
'shape_height'=>array(
'type'=>'slider',
'title'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_HEIGHT'),
'std'=>'',
'max'=>600,
'responsive'=>true,
'depends'=>array(
array('show_top_shape','=',1)
)
),
'shape_flip' => array(
'type' => 'checkbox',
'title' => JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_FLIP'),
'desc' => JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_FLIP_DESC'),
'std' => false,
'depends'=>array(
array('show_top_shape','=',1),
array('shape_name','!=','bell'),
array('shape_name','!=','zigzag-sharp'),
)
),
'shape_invert' => array(
'type' => 'checkbox',
'title' => JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_INVERT'),
'std' => false,
'depends'=>array(
array('show_top_shape','=',1),
array('shape_name','!=','clouds-opacity'),
array('shape_name','!=','slope-opacity'),
array('shape_name','!=','waves3-opacity'),
array('shape_name','!=','paper-torn'),
array('shape_name','!=','hill-wave'),
array('shape_name','!=','line-wave'),
array('shape_name','!=','swirl'),
array('shape_name','!=','wavy-opacity'),
array('shape_name','!=','zigzag-sharp'),
array('shape_name','!=','brushed'),
)
),
'shape_to_front' => array(
'type' => 'checkbox',
'title' => JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_TO_FRONT'),
'desc' => JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_TO_FRONT_DESC'),
'std' => false,
'depends'=>array(
array('show_top_shape','=',1)
)
),
'separator_shape_bottom'=>array(
'type'=>'separator',
'title'=>JText::_('COM_SPPAGEBUILDER_ROW_BOTTOM_SHAPE')
),
'show_bottom_shape' => array(
'type' => 'checkbox',
'title' => JText::_('COM_SPPAGEBUILDER_ROW_SHOW_SHAPE'),
'desc' => JText::_('COM_SPPAGEBUILDER_ROW_SHOW_BOTTOM_SHAPE_DESC'),
'std' => '',
),
'bottom_shape_name'=>array(
'type'=>'select',
'title'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE'),
'values'=>array(
'bell'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_BELL'),
'brushed'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_BRUSHED'),
'clouds-flat'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_CLOUDS_FLAT'),
'clouds-opacity'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_CLOUDS_OPACITY'),
'drip'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_DRIP'),
'hill'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_HILL'),
'hill-wave'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_HILL_WAVE'),
'line-wave'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_LINE_WAVE'),
'paper-torn'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_PAPER_TORN'),
'pointy-wave'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_POINTY_WAVE'),
'rocky-mountain'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_ROCKY_MOUNTAIN'),
'shaggy'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_SHAGGY'),
'single-wave'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_SINGLE_WAVE'),
'slope-opacity'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_SLOPE_OPACITY'),
'slope'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_SLOPE'),
'swirl'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_SWIRL'),
'wavy-opacity'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_WAVY_OPACITY'),
'waves3-opacity'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_WAVES3_OPACITY'),
'turning-slope'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_TURNING_SLOPE'),
'zigzag-sharp'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_ZIGZAG_SHARP'),
),
'std'=>'clouds-opacity',
'depends'=>array(
array('show_bottom_shape','=',1)
)
),
'bottom_shape_color'=>array(
'type'=>'color',
'title'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_COLOR'),
'std'=>'#e5e5e5',
'depends'=>array(
array('show_bottom_shape','=',1)
)
),
'bottom_shape_width'=>array(
'type'=>'slider',
'title'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_WIDTH'),
'std'=>array(
'md' => 100,
'sm' => 100,
'xs' => 100
),
'max'=>600,
'min'=>100,
'responsive'=>true,
'depends'=>array(
array('show_bottom_shape','=',1)
)
),
'bottom_shape_height'=>array(
'type'=>'slider',
'title'=>JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_HEIGHT'),
'std'=>'',
'max'=>600,
'responsive'=>true,
'depends'=>array(
array('show_bottom_shape','=',1)
)
),
'bottom_shape_flip' => array(
'type' => 'checkbox',
'title' => JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_FLIP'),
'desc' => JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_FLIP_DESC'),
'std' => false,
'depends'=>array(
array('show_bottom_shape','=',1),
array('shape_name','!=','bell'),
array('shape_name','!=','zigzag-sharp'),
)
),
'bottom_shape_invert' => array(
'type' => 'checkbox',
'title' => JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_INVERT'),
'std' => false,
'depends'=>array(
array('show_bottom_shape','=',1),
array('bottom_shape_name','!=','clouds-opacity'),
array('bottom_shape_name','!=','slope-opacity'),
array('bottom_shape_name','!=','waves3-opacity'),
array('bottom_shape_name','!=','paper-torn'),
array('bottom_shape_name','!=','hill-wave'),
array('bottom_shape_name','!=','line-wave'),
array('bottom_shape_name','!=','swirl'),
array('shape_name','!=','wavy-opacity'),
array('shape_name','!=','zigzag-sharp'),
array('shape_name','!=','brushed'),
)
),
'bottom_shape_to_front' => array(
'type' => 'checkbox',
'title' => JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_TO_FRONT'),
'desc' => JText::_('COM_SPPAGEBUILDER_ROW_SHAPE_TO_FRONT_DESC'),
'std' => false,
'depends'=>array(
array('show_bottom_shape','=',1)
)
),
),
'responsive' => array(
'hidden_xs' => array(
'type' => 'checkbox',
'title' => JText::_('COM_SPPAGEBUILDER_GLOBAL_HIDDEN_XS'),
'desc' => JText::_('COM_SPPAGEBUILDER_GLOBAL_HIDDEN_XS_DESC'),
'std' => '',
),
'hidden_sm' => array(
'type' => 'checkbox',
'title' => JText::_('COM_SPPAGEBUILDER_GLOBAL_HIDDEN_SM'),
'desc' => JText::_('COM_SPPAGEBUILDER_GLOBAL_HIDDEN_SM_DESC'),
'std' => '',
),
'hidden_md' => array(
'type' => 'checkbox',
'title' => JText::_('COM_SPPAGEBUILDER_GLOBAL_HIDDEN_MD'),
'desc' => JText::_('COM_SPPAGEBUILDER_GLOBAL_HIDDEN_MD_DESC'),
'std' => '',
),
),
'animation' => array(
'animation'=>array(
'type'=>'animation',
'title'=>JText::_('COM_SPPAGEBUILDER_ANIMATION'),
'desc'=>JText::_('COM_SPPAGEBUILDER_ANIMATION_DESC')
),
'animationduration'=>array(
'type'=>'number',
'title'=>JText::_('COM_SPPAGEBUILDER_ANIMATION_DURATION'),
'desc'=> JText::_('COM_SPPAGEBUILDER_ANIMATION_DURATION_DESC'),
'std'=>'300',
'placeholder'=>'300',
),
'animationdelay'=>array(
'type'=>'number',
'title'=>JText::_('COM_SPPAGEBUILDER_ANIMATION_DELAY'),
'desc'=>JText::_('COM_SPPAGEBUILDER_ANIMATION_DELAY_DESC'),
'std'=>'0',
'placeholder'=>'300',
),
),
)
);

View File

@ -0,0 +1,258 @@
<?php
/**
* @package SP Page Builder
* @author JoomShaper http://www.joomshaper.com
* @copyright Copyright (c) 2010 - 2016 JoomShaper
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
*/
//no direct accees
defined ('_JEXEC') or die ('restricted aceess');
$sppb_addons = SpAddonsConfig::$addons;
$addons_category = array();
$addons_category[] = JText::_('COM_SPPAGEBUILDER_GLOBAL_ALL');
foreach ($sppb_addons as $value) {
if(!isset($value['category'])) {
$value['category'] = 'General';
}
$addons_category[] = strtolower( $value['category'] );
}
$addons_category = array_unique($addons_category);
?>
<div class="hidden">
<div class="column-settings">
<?php
foreach( $sp_builder_col_ops['attr'] as $name => $col_attr )
{
echo SpPgaeBuilder::getInputElements( $name, $col_attr );
}
?>
</div>
</div>
<div class="hidden">
<div class="row-settings">
<?php
foreach( $sp_builder_row_ops['attr'] as $name=>$row_attr )
{
echo SpPgaeBuilder::getInputElements( $name, $row_attr );
}
?>
</div>
</div>
<!--generated column-->
<div class="hidden">
<div class="col-sm">
<div class="column column-empty"></div>
<div class="col-settings">
<a class="add-addon" href="javascript:void(0)"><i class="fa fa-plus-circle"></i> <?php echo JText::_('COM_SPPAGEBUILDER_ADDON'); ?></a>
<a class="column-options" href="javascript:void(0)"><i class="fa fa-cog"></i> <?php echo JText::_('COM_SPPAGEBUILDER_OPTIONS'); ?></a>
</div>
</div>
</div>
<!-- Row Options Modal -->
<div class="sp-modal fade" id="modal-row" role="dialog" aria-labelledby="modal-row-label" aria-hidden="true">
<div class="sp-modal-dialog">
<div class="sp-modal-content">
<div class="sp-modal-header">
<button type="button" class="close" data-dismiss="spmodal" aria-hidden="true">&times;</button>
<h3 class="sp-modal-title" id="modal-row-label"><?php echo JText::_('COM_SPPAGEBUILDER_ROW_OPTIONS'); ?></h3>
</div>
<div class="sp-modal-body">
</div>
<div class="sp-modal-footer clearfix">
<a href="javascript:void(0)" class="sppb-btn sppb-btn-success pull-left" id="save-row" data-dismiss="spmodal"><?php echo JText::_('COM_SPPAGEBUILDER_APPLY'); ?></a>
<button class="sppb-btn sppb-btn-danger pull-left" data-dismiss="spmodal" aria-hidden="true"><?php echo JText::_('COM_SPPAGEBUILDER_CANCEL'); ?></button>
</div>
</div>
</div>
</div>
<!-- Column Options Modal -->
<div class="sp-modal fade" id="modal-column" role="dialog" aria-labelledby="modal-column-label" aria-hidden="true">
<div class="sp-modal-dialog">
<div class="sp-modal-content">
<div class="sp-modal-header">
<button type="button" class="close" data-dismiss="spmodal" aria-hidden="true">&times;</button>
<h3 class="sp-modal-title" id="modal-column-label"><?php echo JText::_('COM_SPPAGEBUILDER_COLLUMN_OPTIONS'); ?></h3>
</div>
<div class="sp-modal-body">
</div>
<div class="sp-modal-footer clearfix">
<a href="javascript:void(0)" class="sppb-btn sppb-btn-success pull-left" id="save-column" data-dismiss="spmodal"><?php echo JText::_('COM_SPPAGEBUILDER_APPLY'); ?></a>
<button class="sppb-btn sppb-btn-danger pull-left" data-dismiss="spmodal" aria-hidden="true"><?php echo JText::_('COM_SPPAGEBUILDER_CANCEL'); ?></button>
</div>
</div>
</div>
</div>
<!-- Modal -->
<div class="sp-modal fade" id="modal-addons" role="dialog" aria-labelledby="modal-addons-label" aria-hidden="true">
<div class="sp-modal-dialog sp-modal-xlg">
<div class="sp-modal-content">
<div class="sp-modal-header">
<button type="button" class="close" data-dismiss="spmodal" aria-hidden="true">&times;</button>
<h3 class="sp-modal-title" id="modal-addons-label"><?php echo JText::_('COM_SPPAGEBUILDER_ADDONS'); ?></h3>
<div class="addon-filter">
<ul>
<?php foreach ($addons_category as $key=>$addon_category) { ?>
<li <?php echo ($key==0)?'class="active"':''; ?> data-category="<?php echo strtolower( $addon_category ); ?>"><a href='javascript:void(0)'><?php echo ucfirst($addon_category); ?></a></li>
<?php } ?>
</ul>
</div>
<input type="text" id="search-addon" placeholder="<?php echo JText::_('COM_SPPAGEBUILDER_SEARCH_ADDON'); ?>">
</div>
<div class="sp-modal-body">
</div>
</div>
</div>
</div>
<!-- Modal -->
<div class="sp-modal fade" id="modal-addon" role="dialog" aria-labelledby="modal-addon-label" aria-hidden="true">
<div class="sp-modal-dialog sp-modal-lg">
<div class="sp-modal-content">
<div class="sp-modal-header">
<button type="button" class="close" data-dismiss="spmodal" aria-hidden="true">&times;</button>
<h3 class="sp-modal-title" id="modal-addon-label"></h3>
</div>
<div class="sp-modal-body">
</div>
<div class="sp-modal-footer clearfix">
<a href="javascript:void(0)" class="sppb-btn sppb-btn-success pull-left" id="save-change" data-dismiss="spmodal"><?php echo JText::_('COM_SPPAGEBUILDER_SAVE'); ?></a>
<button class="sppb-btn sppb-btn-danger pull-left" data-dismiss="spmodal" aria-hidden="true"><?php echo JText::_('COM_SPPAGEBUILDER_CANCEL'); ?></button>
</div>
</div>
</div>
</div>
<div class="pagebuilder-addons-wrapper">
<ul class="pagebuilder-addons clearfix">
<?php
$output = '';
$i = 0;
// print_r($sp_builder_elements);
foreach( $sppb_addons as $key => $addon )
{
if (isset($addon['title'])) {
$title = $addon['title'];
}else{
$title = substr($addon['addon_name'],3);
}
if(!isset($addon['category'])) {
$addon['category'] = 'General';
}
$admin_label = '';
if ( isset($addon['attr']['admin_label']['std']) && $addon['attr']['admin_label']['std'] ) {
$admin_label = $addon['attr']['admin_label']['std'];
} else if( isset($addon['attr']['title']['std']) && $addon['attr']['title']['std'] ) {
$admin_label = $addon['attr']['title']['std'];
}
$output .= '<li class="addon-cat-'.strtolower($addon['category']).'">';
$output .= '<a id="addon_' . $key . '" data-tag="' . $key . '" class="addon-title" href="javascript:void(0)"><img class="image-left" src="' . $builder->getIcon( str_replace('sp_', '', $key) ) . '" alt="' . $title . '" width="32" /> <span class="element-title">' . $title . '</span><span class="element-description">'.$addon['desc'].'</span></a>';
$output .= '<div class="generated" data-addon="'.$addon['type'].'">';
$output .= '<div class="generated-items">';
$output .= '<div class="generated-item clearfix">';
$output .= '<img class="item-image" src="' . $builder->getIcon( str_replace('sp_', '', $key) ) . '" alt="' . $title . '" width="24" />';
$output .= '<h3 data-name="'.substr($addon['addon_name'],3).'">' . $title . '</h3>';
$output .= '<div class="action">';
$output .= '<a class="addon-edit" href="javascript:void(0)"><i class="fa fa-pencil"></i></a>';
$output .= '<a class="addon-duplicate" href="javascript:void(0)"><i class="fa fa-files-o"></i></a>';
$output .= '<a class="remove-addon" href="javascript:void(0)"><i class="fa fa-times"></i></a>';
$output .= '</div>';
$output .= '<p class="addon-input-title">' . $admin_label . '</p>';
$output .= '<div class="item-inner">';
if( !empty($addon['attr']) )
{
foreach( $addon['attr'] as $name => $addon_attr )
{
if( $addon_attr['type'] == 'repeatable' )
{
$rep_addon_name = '';
if (isset($addon['attr']['repetable_item']['addon_name'])) {
$rep_addon_name = $addon['attr']['repetable_item']['addon_name'];
}
$output .='<div class="repeatable-items">';
$output .= '<a href="javascript:void(0)" class="clone-repeatable sppb-btn sppb-btn-primary"><i class="fa fa-plus"></i> ' . JText::_('COM_SPPAGEBUILDER_ADD_NEW') . '</a>';
$output .='<div class="accordion">';
$output .='<div class="accordion-group" data-inner_base="'.$rep_addon_name.'">';
$output .= '<div class="accordion-heading">';
$output .= '<a href="javascript:void(0)" class="action-move"><i class="fa fa-ellipsis-v"></i></a>';
$output .= '<a class="accordion-toggle" data-toggle="collapse">';
$output .= '<i></i> <span>' . $addon['title'] . '</span>';
$output .= '</a>';
$output .= '<a href="javascript:void(0)" class="action-remove"><i class="fa fa-times"></i></a>';
$output .= '<a href="javascript:void(0)" class="action-duplicate"><i class="fa fa-copy"></i></a>';
$output .= '</div><!--/.accordion-heading-->';
$output .='<div class="accordion-body collapse">';
$output .='<div class="accordion-inner">';
foreach( $addon_attr['attr'] as $key => $attr )
{
$output .= SpPgaeBuilder::getInputElements( $key, $attr );
}
$output .='</div><!--/.accordion-inner-->';
$output .='</div><!--/.accordion-body-->';
$output .='</div><!--/.accordion-group-->';
$output .='</div><!--/.accordion-->';
$output .='</div><!--/.repeatable-items-->';
}
else
{
$output .= SpPgaeBuilder::getInputElements( $name, $addon_attr );
}
}
}
$output .= '</div>';
$output .= '</div>';
$output .= '</div>';
$output .= '</div>';
$output .= '</li>';
$i++;
}
echo $output;
?>
</ul>
</div>

Some files were not shown because too many files have changed in this diff Show More