Commit inicial - WordPress Análisis de Precios Unitarios

- WordPress core y plugins
- Tema Twenty Twenty-Four configurado
- Plugin allow-unfiltered-html.php simplificado
- .gitignore configurado para excluir wp-config.php y uploads

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
root
2025-11-03 21:04:30 -06:00
commit a22573bf0b
24068 changed files with 4993111 additions and 0 deletions

View File

@@ -0,0 +1,371 @@
/*general setting*/
.bwf-funnel-common .bwf_menu_list_primary ul li a {
color: #6f6f6f;
font-size: 14px;
padding: 15px 24px;
}
.bwf-widget-tabs .bwf-tab-title, .bwf_setting_inner .vue-form-generator fieldset legend {
line-height: 1.4;
color: #444;
}
.bwf-widget-tabs .bwf-tab-title {
font-size: 15px;
}
.bwf_setting_inner .vue-form-generator fieldset legend {
font-size: 20px;
}
.bwf_setting_inner .vue-form-generator fieldset .form-group > label {
font-size: 14px;
line-height: 1.5;
}
.bwf_setting_inner .vue-form-generator fieldset .form-group > label span, .bwf_setting_inner .vue-form-generator fieldset .field-wrap > input {
margin-left: 0 !important;
}
.bwf_setting_inner .vue-form-generator fieldset .hint {
font-size: 11px;
line-height: 19px;
}
.bwf_setting_inner .vue-form-generator {
background: none;
border: none;
padding: 0;
}
.bwf-funnel-common .bwf_menu_list_primary {
margin: 20px 0;
}
.bwf_setting_inner .form-group.field-input input[type="text"],
.bwf_setting_inner .form-group.field-input input[type="email"],
.bwf_setting_inner .form-group.field-input input[type="password"],
.bwf_setting_inner .form-group.field-input input[type="url"],
.bwf_setting_inner .form-group.field-input input[type="tel"],
.bwf_setting_inner .form-group.field-input input[type="number"],
.bwf_setting_inner textarea {
width: 100%;
max-width: 100%;
height: auto;
font-size: 14px;
line-height: 1.42857143;
padding: 6px 12px;
margin: 0;
display: block;
color: #444;
background-color: #fff;
border: 1px solid #d5d5d5;
box-shadow: none;
border-radius: 0;
-moz-border-radius: 0;
-webkit-border-radius: 0;
-moz-border-radius: 0;
}
.bwf_setting_inner textarea {
height: 200px;
}
.bwf_save_btn_style {
min-width: 84px;
position: relative;
text-align: center;
padding: 0 24px;
border-radius: 6px;
font-size: 13px;
font-size: .8125rem;
min-height: 36px;
box-shadow: none;
text-decoration: none;
display: inline-flex;
text-align: center;
align-items: center;
justify-content: center;
cursor: pointer;
border: 1px solid #0073aa;
color: #fff;
background: #0073aa;
white-space: nowrap;
}
.bwf_save_btn_style:hover, .bwf_save_btn_style:focus {
background-color: #135e96;
}
.bwf-tabs-view-vertical.bwf-widget-tabs {
float: left;
width: 100%;
display: flex;
}
.bwf-widget-tabs.bwf-tabs-view-vertical .bwf-tabs-wrapper {
width: 260px;
position: relative;
-webkit-flex-shrink: 0;
-ms-flex-negative: 0;
flex-shrink: 0;
float: left;
margin-right: 20px;
border-radius: 8px;
padding: 15px 10px;
background: #fff;
border: 1px solid #dedfea;
}
.bwf-widget-tabs .bwf-tab-title {
float: left;
width: 100%;
font-weight: 400;
position: relative;
padding: 18px 18px 17px;
cursor: pointer;
box-sizing: border-box;
}
.bwf-widget-tabs .bwf-tab-title.bwf-active {
background: #f0faff;
border-radius: 8px;
-moz-border-radius: 8px;
-webkit-border-radius: 8px;
color: #0073aa;
cursor: default;
}
.bwf-widget-tabs .bwf-tab-title.bwf-active:after {
content: "";
font-family: dashicons;
float: right;
color: #009fea;
}
.bwf-widget-tabs.bwf-tabs-view-vertical .bwf-tabs-content-wrapper {
width: calc(100% - 260px);
float: left;
background: #fff;
min-height: 240px;
padding: 35px 30px;
position: relative;
border-radius: 8px;
border: 1px solid #dedfea;
}
.bwf_setting_inner .bwf_forms_wrap {
margin-bottom: 20px;
}
.bwf_setting_inner fieldset {
border: 0;
padding: 0;
margin: 0;
}
.bwf_setting_inner .vue-form-generator fieldset legend {
font-weight: bold;
padding: 0 0 15px 10px;
font-size: 20px;
color: #444;
}
.bwf_setting_inner .form-group {
padding: 1em;
margin-bottom: 10px;
}
.bwf_setting_inner .form-group:before, .bwf_setting_inner .form-group:after {
content: "";
clear: both;
display: block;
}
.bwf_setting_inner .vue-form-generator fieldset .form-group > label {
width: 200px;
float: left;
margin-bottom: 0;
box-sizing: border-box;
}
.bwf_setting_inner .vue-form-generator fieldset .field-wrap, .bwf_setting_inner .vue-form-generator fieldset .form-group .hint, .wffn_funnel_setting .form-group .hint {
width: 100%;
float: none;
padding-left: 201px;
display: block;
box-sizing: border-box;
}
.bwf_setting_inner .vue-form-generator fieldset .hint {
margin: 0;
font-weight: 400;
clear: both;
}
.bwf_setting_inner .vue-form-generator fieldset .bwf_gsettings_sec_head {
border-bottom: 1px solid #ddd;
}
.bwf_setting_inner .vue-form-generator fieldset .form-group.bwf_gsettings_sec_head > label {
width: 100%;
font-weight: 600;
}
.bwf-tabs-view-vertical .bwf_setting_inner .bwf_form_button {
position: absolute;
left: -5px;
bottom: 20px;
float: none !important;
padding-left: 0;
margin: 0 !important;
}
#modal-general-settings_success.iziModal {
display: none;
position: fixed;
top: 0;
bottom: 0;
left: auto;
right: 0;
margin: auto;
background: #fff;
box-shadow: 0 0 8px rgba(0, 0, 0, .3);
transition: margin-top 0.3s ease, height 0.3s ease;
transform: translateZ(0);
}
#modal-general-settings_success.iziModal .iziModal-header {
height: auto;
padding: 10px 15px 12px 15px;
background: #f9fdff !important;
box-shadow: none;
border-bottom: 1px solid #eee;
overflow: hidden;
position: relative;
z-index: 10;
}
#modal-general-settings_success.iziModal .iziModal-header-icon {
font-size: 23px;
float: left;
padding: 0 15px 0 0;
margin: 0;
color: rgba(255, 255, 255, 0.5);
}
#modal-general-settings_success.iziModal .iziModal-progressbar {
position: absolute;
left: 0;
top: 0px;
width: 100%;
z-index: 1;
}
#modal-general-settings_success.iziModal .iziModal-progressbar > div {
height: 2px;
width: 100%;
}
#modal-general-settings_success h2.iziModal-header-title {
font-size: 15px !important;
line-height: 1.4;
margin: 3px 0 0 0;
color: #000;
font-weight: 400 !important;
}
#modal-general-settings_success.iziModal .iziModal-header-buttons {
position: absolute;
top: 50%;
right: 14px !important;
margin: -16px 0 0 0;
}
@media (min-width: 1400px) {
.bwf_setting_inner textarea {
width: 600px;
height: 200px;
}
.bwf_setting_inner .form-group.field-input input[type="text"], .bwf_setting_inner .form-group.field-input input[type="email"], .bwf_setting_inner .form-group.field-input input[type="password"], .bwf_setting_inner .form-group.field-input input[type="url"], .bwf_setting_inner .form-group.field-input input[type="tel"], .bwf_setting_inner .form-group.field-input input[type="number"] {
width: 25em;
}
}
.bwf-funnel-common .error, .bwf-funnel-common .notice, .bwf-funnel-common .updated {
display: none;
}
.form-group.valid.wfacp_setting_track_and_events_start.field-label {
width: 200px;
float: left;
box-sizing: border-box;
}
.form-group.bwf_wrap_custom_html_tracking_general > label {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
.form-group.bwf_wrap_custom_html_tracking_general {
margin-bottom: 0px;
}
.form-group.valid.wfacp_checkbox_wrap.wfacp_setting_track_and_events_end.field-checkbox,.form-group.valid.wfacp_checkbox_wrap.wfacp_setting_track_and_events_end.field-checklist {
width: 545px;
display: inline-block;
clear: both;
}
.bwf_setting_inner .vue-form-generator fieldset .form-group.valid.wfacp_checkbox_wrap.wfacp_setting_track_and_events_end.field-checkbox .field-wrap,
.bwf_setting_inner .vue-form-generator fieldset .form-group.valid.wfacp_checkbox_wrap.wfacp_setting_track_and_events_end.field-checklist .field-wrap, .bwf_setting_inner .vue-form-generator fieldset .form-group.rem_hint_pad .hint{
padding-left: 0px;
}
.bwf_setting_inner .vue-form-generator fieldset .listbox.form-control {
padding: 0 !important;
border: none !important;
border-radius: unset !important;
box-shadow: none !important;
overflow: unset !important;
max-height: unset !important;
}
.bwf-vue-custom-msg {
margin: 5px 0 15px;
border: 1px solid #ccd0d4;
display: block !important;
border-left-color: #dc3232;
background: #fff;
border-left-width: 4px;
box-shadow: 0 1px 1px rgba(0, 0, 0, .04);
padding: 1px 12px;
}
.bwf-vue-custom-msg p {
margin: 0.5em 0;
padding: 2px;
}
.bwf-vue-custom-msg a {
text-decoration: underline;
}
.bwf-hide {
display:none;
}
.bwf-hide.bwf-show {
display: block;
clear: both;
}
.bwf_setting_inner .vue-form-generator fieldset .form-group.bwf_vue_checkbox_label > label,
.bwf_setting_inner .vue-form-generator fieldset .form-group.bwf_vue_checkbox_label > .field-wrap {
padding-left: 201px;
width: fit-content;
float: none;
display: inline-block;
}
.bwf_setting_inner .vue-form-generator fieldset .form-group.bwf_vue_checkbox_label > label{
padding-left: 0px;
}
.bwf_setting_inner .vue-form-generator fieldset .form-group.bwf_vue_checkbox_label > .field-wrap{
float: left;
}

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 22.0.1, 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"
viewBox="0 0 233.1 147.2" style="enable-background:new 0 0 233.1 147.2;" xml:space="preserve">
<style type="text/css">
.st0{fill:#F0F5FA;}
</style>
<polygon class="st0" points="232,3.8 150.4,143.1 117.9,143.1 198.9,3.8 "/>
<polygon class="st0" points="167.4,3.8 86.8,143.1 5.2,3.8 102.8,3.8 88.2,32.4 86.3,32.4 54.7,32.4 86.3,88.2 134.4,3.8 "/>
</svg>

After

Width:  |  Height:  |  Size: 625 B

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 22.0.1, 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"
viewBox="0 0 231 141" style="enable-background:new 0 0 231 141;" xml:space="preserve">
<style type="text/css">
.st0{fill:#1DAAFC;}
.st1{fill:#070045;}
</style>
<polygon class="st0" points="229.3,2.3 147.7,141.6 115.2,141.6 196.3,2.3 "/>
<polygon class="st1" points="164.7,2.3 84.1,141.6 2.6,2.3 100.2,2.3 85.6,30.9 83.7,30.9 52.1,30.9 83.7,86.8 131.7,2.3 "/>
</svg>

After

Width:  |  Height:  |  Size: 641 B

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 22.0.1, 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"
viewBox="0 0 233.1 147.2" style="enable-background:new 0 0 233.1 147.2;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFFFFF;}
</style>
<polygon class="st0" points="232,3.8 150.4,143.1 117.9,143.1 198.9,3.8 "/>
<polygon class="st0" points="167.4,3.8 86.8,143.1 5.2,3.8 102.8,3.8 88.2,32.4 86.3,32.4 54.7,32.4 86.3,88.2 134.4,3.8 "/>
</svg>

After

Width:  |  Height:  |  Size: 625 B

View File

@@ -0,0 +1 @@
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 818.38 141.48"><defs><style>.cls-1{fill:#131144;}.cls-2{fill:#1daafc;}</style></defs><polygon class="cls-1" points="99.25 0 0 0.19 82.76 141.48 164.97 0.06 131.34 0 82.48 86.01 50.35 29.09 84.46 29.09 99.25 0"/><polygon class="cls-2" points="230.55 0 197.18 0 114.71 141.39 147.96 141.39 230.55 0"/><path class="cls-1" d="M381.72,584.09a2.82,2.82,0,0,1-2.16-.9,3,3,0,0,1-.84-2.1v-78a2.88,2.88,0,0,1,3-3h55.2a2.88,2.88,0,0,1,3,3v12.12a2.88,2.88,0,0,1-3,3H399.84v17.63h34.68a2.8,2.8,0,0,1,2.16.91,3.11,3.11,0,0,1,.84,2.22v12a3,3,0,0,1-.84,2.11,2.85,2.85,0,0,1-2.16.89H399.84v27.12a3,3,0,0,1-.84,2.1,2.82,2.82,0,0,1-2.16.9Z" transform="translate(-129.37 -464.22)"/><path class="cls-1" d="M473.88,585.29a23.69,23.69,0,0,1-12.18-3.12,21.11,21.11,0,0,1-8.34-9.17,33.19,33.19,0,0,1-3-14.83V524.69a2.89,2.89,0,0,1,3-3h15a3.14,3.14,0,0,1,2.22.85,2.82,2.82,0,0,1,.9,2.15v32.77q0,11.76,10.44,11.75a10.39,10.39,0,0,0,7.86-3.06c2-2,2.94-4.93,2.94-8.69V524.69a2.89,2.89,0,0,1,3-3h15a2.89,2.89,0,0,1,3,3v56.4a3,3,0,0,1-.84,2.1,2.82,2.82,0,0,1-2.16.9H496.8a3.08,3.08,0,0,1-3-3v-4.55a19.69,19.69,0,0,1-8.1,6.54A29,29,0,0,1,473.88,585.29Z" transform="translate(-129.37 -464.22)"/><path class="cls-1" d="M530.88,584.09a2.81,2.81,0,0,1-2.16-.9,3,3,0,0,1-.84-2.1v-56.4a2.89,2.89,0,0,1,3-3h13.8a3.14,3.14,0,0,1,2.22.85,2.82,2.82,0,0,1,.9,2.15v4.57a23.66,23.66,0,0,1,8-6.24,26.27,26.27,0,0,1,11.88-2.52,24,24,0,0,1,12.3,3.11,21.75,21.75,0,0,1,8.4,9.12q3.06,6,3.06,14.88v33.48a3,3,0,0,1-.84,2.1,2.82,2.82,0,0,1-2.16.9H573.36a3.08,3.08,0,0,1-3-3V548.33c0-3.75-.9-6.66-2.7-8.69s-4.46-3.06-8-3.06a10.39,10.39,0,0,0-7.86,3.06c-2,2-2.94,4.94-2.94,8.69v32.76a3.08,3.08,0,0,1-3,3Z" transform="translate(-129.37 -464.22)"/><path class="cls-1" d="M608,584.09a2.81,2.81,0,0,1-2.16-.9,3,3,0,0,1-.84-2.1v-56.4a2.89,2.89,0,0,1,3-3h13.8a3.14,3.14,0,0,1,2.22.85,2.82,2.82,0,0,1,.9,2.15v4.57a23.66,23.66,0,0,1,8-6.24,26.27,26.27,0,0,1,11.88-2.52,24,24,0,0,1,12.3,3.11,21.81,21.81,0,0,1,8.4,9.12q3.06,6,3.06,14.88v33.48a3,3,0,0,1-.84,2.1,2.82,2.82,0,0,1-2.16.9H650.52a3.08,3.08,0,0,1-3-3V548.33c0-3.75-.9-6.66-2.7-8.69s-4.46-3.06-8-3.06a10.38,10.38,0,0,0-7.86,3.06c-2,2-2.94,4.94-2.94,8.69v32.76a2.86,2.86,0,0,1-.9,2.1,2.89,2.89,0,0,1-2.1.9Z" transform="translate(-129.37 -464.22)"/><path class="cls-1" d="M711,585.29q-14.16,0-22.56-7.68t-8.76-22.8v-4.2a34.87,34.87,0,0,1,4.26-16.26A25.86,25.86,0,0,1,694.73,524a34.9,34.9,0,0,1,16.14-3.54q10.56,0,17.46,4.19a26.78,26.78,0,0,1,10.38,11.41,37.32,37.32,0,0,1,3.48,16.44v2.88a2.88,2.88,0,0,1-3,3h-38.4v.83a18.89,18.89,0,0,0,1.26,6.36,10.22,10.22,0,0,0,3.36,4.56,8.72,8.72,0,0,0,5.46,1.68,9.24,9.24,0,0,0,4-.77,10.35,10.35,0,0,0,2.7-1.81,21.22,21.22,0,0,0,1.68-1.73,5.93,5.93,0,0,1,1.74-1.62,5.38,5.38,0,0,1,2.1-.31H738a2.81,2.81,0,0,1,2,.72,2.18,2.18,0,0,1,.66,1.92,10.51,10.51,0,0,1-2,4.92,24.8,24.8,0,0,1-5.58,5.71,30.8,30.8,0,0,1-9.18,4.62A41.78,41.78,0,0,1,711,585.29Zm-10.2-38.75h20.28v-.25a18,18,0,0,0-1.14-6.77,9.29,9.29,0,0,0-3.48-4.38,9.82,9.82,0,0,0-5.58-1.56,9.33,9.33,0,0,0-5.4,1.56,9.8,9.8,0,0,0-3.48,4.38,17.22,17.22,0,0,0-1.2,6.77Z" transform="translate(-129.37 -464.22)"/><path class="cls-1" d="M756.47,584.09a2.82,2.82,0,0,1-2.16-.9,3,3,0,0,1-.84-2.1V501.9a2.86,2.86,0,0,1,3-3h14.16a2.86,2.86,0,0,1,3,3v79.19a3,3,0,0,1-.84,2.1,2.82,2.82,0,0,1-2.16.9Z" transform="translate(-129.37 -464.22)"/><path class="cls-2" d="M792.11,584.09a2.82,2.82,0,0,1-2.16-.9,3,3,0,0,1-.84-2.1v-78a2.88,2.88,0,0,1,3-3h15.12a2.88,2.88,0,0,1,3,3v26.63l22.2-27.35a6,6,0,0,1,1.62-1.5,5.34,5.34,0,0,1,3.06-.78h17.28a2.35,2.35,0,0,1,1.8.78,2.5,2.5,0,0,1,.72,1.73,2.76,2.76,0,0,1-.36,1.45l-28.8,36.24,31,39.83a2,2,0,0,1,.48,1.45,2.48,2.48,0,0,1-.72,1.73,2.31,2.31,0,0,1-1.8.78H838.79a4.94,4.94,0,0,1-3.3-1,9.62,9.62,0,0,1-1.5-1.44l-23.76-29.64v29a3,3,0,0,1-.84,2.1,2.82,2.82,0,0,1-2.16.9Z" transform="translate(-129.37 -464.22)"/><path class="cls-2" d="M870.23,512.69a2.88,2.88,0,0,1-3-3V498.9a3,3,0,0,1,.84-2.1,2.79,2.79,0,0,1,2.16-.9h14.4a2.84,2.84,0,0,1,2.1.9,2.88,2.88,0,0,1,.9,2.1v10.79a2.79,2.79,0,0,1-.9,2.16,2.94,2.94,0,0,1-2.1.84Zm.12,71.4a2.82,2.82,0,0,1-2.16-.9,3,3,0,0,1-.84-2.1v-56.4a2.89,2.89,0,0,1,3-3h14.16a2.89,2.89,0,0,1,3,3v56.4a3,3,0,0,1-.84,2.1,2.82,2.82,0,0,1-2.16.9Z" transform="translate(-129.37 -464.22)"/><path class="cls-2" d="M933.59,584.09a32.53,32.53,0,0,1-13.26-2.46,18,18,0,0,1-8.58-7.67q-3-5.24-3-13.5v-23h-9.36a3.13,3.13,0,0,1-2.22-.84,2.82,2.82,0,0,1-.9-2.16v-9.73a2.82,2.82,0,0,1,.9-2.15,3.14,3.14,0,0,1,2.22-.85h9.36V501.9a2.86,2.86,0,0,1,.9-2.17,3,3,0,0,1,2.1-.83h13.92a2.86,2.86,0,0,1,3,3v19.79h15a3.14,3.14,0,0,1,2.22.85,2.82,2.82,0,0,1,.9,2.15v9.73a2.82,2.82,0,0,1-.9,2.16,3.13,3.13,0,0,1-2.22.84h-15v21.35a11.72,11.72,0,0,0,1.56,6.48c1,1.61,2.8,2.4,5.28,2.4h9.24a2.89,2.89,0,0,1,3,3v10.44a3,3,0,0,1-.84,2.1,2.82,2.82,0,0,1-2.16.9Z" transform="translate(-129.37 -464.22)"/></svg>

After

Width:  |  Height:  |  Size: 4.8 KiB

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="40" width="200" viewBox="0 0 850 150" data-name="Layer 1" id="Layer_1"><defs><style>.cls-1{fill:#131144;}.cls-2{fill:#1daafc;}</style></defs><polygon class="cls-1" points="99.25 0 0 0.19 82.76 141.48 164.97 0.06 131.34 0 82.48 86.01 50.35 29.09 84.46 29.09 99.25 0"/><polygon class="cls-2" points="230.55 0 197.18 0 114.71 141.39 147.96 141.39 230.55 0"/><path class="cls-1" d="M381.72,584.09a2.82,2.82,0,0,1-2.16-.9,3,3,0,0,1-.84-2.1v-78a2.88,2.88,0,0,1,3-3h55.2a2.88,2.88,0,0,1,3,3v12.12a2.88,2.88,0,0,1-3,3H399.84v17.63h34.68a2.8,2.8,0,0,1,2.16.91,3.11,3.11,0,0,1,.84,2.22v12a3,3,0,0,1-.84,2.11,2.85,2.85,0,0,1-2.16.89H399.84v27.12a3,3,0,0,1-.84,2.1,2.82,2.82,0,0,1-2.16.9Z" transform="translate(-129.37 -464.22)"/><path class="cls-1" d="M473.88,585.29a23.69,23.69,0,0,1-12.18-3.12,21.11,21.11,0,0,1-8.34-9.17,33.19,33.19,0,0,1-3-14.83V524.69a2.89,2.89,0,0,1,3-3h15a3.14,3.14,0,0,1,2.22.85,2.82,2.82,0,0,1,.9,2.15v32.77q0,11.76,10.44,11.75a10.39,10.39,0,0,0,7.86-3.06c2-2,2.94-4.93,2.94-8.69V524.69a2.89,2.89,0,0,1,3-3h15a2.89,2.89,0,0,1,3,3v56.4a3,3,0,0,1-.84,2.1,2.82,2.82,0,0,1-2.16.9H496.8a3.08,3.08,0,0,1-3-3v-4.55a19.69,19.69,0,0,1-8.1,6.54A29,29,0,0,1,473.88,585.29Z" transform="translate(-129.37 -464.22)"/><path class="cls-1" d="M530.88,584.09a2.81,2.81,0,0,1-2.16-.9,3,3,0,0,1-.84-2.1v-56.4a2.89,2.89,0,0,1,3-3h13.8a3.14,3.14,0,0,1,2.22.85,2.82,2.82,0,0,1,.9,2.15v4.57a23.66,23.66,0,0,1,8-6.24,26.27,26.27,0,0,1,11.88-2.52,24,24,0,0,1,12.3,3.11,21.75,21.75,0,0,1,8.4,9.12q3.06,6,3.06,14.88v33.48a3,3,0,0,1-.84,2.1,2.82,2.82,0,0,1-2.16.9H573.36a3.08,3.08,0,0,1-3-3V548.33c0-3.75-.9-6.66-2.7-8.69s-4.46-3.06-8-3.06a10.39,10.39,0,0,0-7.86,3.06c-2,2-2.94,4.94-2.94,8.69v32.76a3.08,3.08,0,0,1-3,3Z" transform="translate(-129.37 -464.22)"/><path class="cls-1" d="M608,584.09a2.81,2.81,0,0,1-2.16-.9,3,3,0,0,1-.84-2.1v-56.4a2.89,2.89,0,0,1,3-3h13.8a3.14,3.14,0,0,1,2.22.85,2.82,2.82,0,0,1,.9,2.15v4.57a23.66,23.66,0,0,1,8-6.24,26.27,26.27,0,0,1,11.88-2.52,24,24,0,0,1,12.3,3.11,21.81,21.81,0,0,1,8.4,9.12q3.06,6,3.06,14.88v33.48a3,3,0,0,1-.84,2.1,2.82,2.82,0,0,1-2.16.9H650.52a3.08,3.08,0,0,1-3-3V548.33c0-3.75-.9-6.66-2.7-8.69s-4.46-3.06-8-3.06a10.38,10.38,0,0,0-7.86,3.06c-2,2-2.94,4.94-2.94,8.69v32.76a2.86,2.86,0,0,1-.9,2.1,2.89,2.89,0,0,1-2.1.9Z" transform="translate(-129.37 -464.22)"/><path class="cls-1" d="M711,585.29q-14.16,0-22.56-7.68t-8.76-22.8v-4.2a34.87,34.87,0,0,1,4.26-16.26A25.86,25.86,0,0,1,694.73,524a34.9,34.9,0,0,1,16.14-3.54q10.56,0,17.46,4.19a26.78,26.78,0,0,1,10.38,11.41,37.32,37.32,0,0,1,3.48,16.44v2.88a2.88,2.88,0,0,1-3,3h-38.4v.83a18.89,18.89,0,0,0,1.26,6.36,10.22,10.22,0,0,0,3.36,4.56,8.72,8.72,0,0,0,5.46,1.68,9.24,9.24,0,0,0,4-.77,10.35,10.35,0,0,0,2.7-1.81,21.22,21.22,0,0,0,1.68-1.73,5.93,5.93,0,0,1,1.74-1.62,5.38,5.38,0,0,1,2.1-.31H738a2.81,2.81,0,0,1,2,.72,2.18,2.18,0,0,1,.66,1.92,10.51,10.51,0,0,1-2,4.92,24.8,24.8,0,0,1-5.58,5.71,30.8,30.8,0,0,1-9.18,4.62A41.78,41.78,0,0,1,711,585.29Zm-10.2-38.75h20.28v-.25a18,18,0,0,0-1.14-6.77,9.29,9.29,0,0,0-3.48-4.38,9.82,9.82,0,0,0-5.58-1.56,9.33,9.33,0,0,0-5.4,1.56,9.8,9.8,0,0,0-3.48,4.38,17.22,17.22,0,0,0-1.2,6.77Z" transform="translate(-129.37 -464.22)"/><path class="cls-1" d="M756.47,584.09a2.82,2.82,0,0,1-2.16-.9,3,3,0,0,1-.84-2.1V501.9a2.86,2.86,0,0,1,3-3h14.16a2.86,2.86,0,0,1,3,3v79.19a3,3,0,0,1-.84,2.1,2.82,2.82,0,0,1-2.16.9Z" transform="translate(-129.37 -464.22)"/><path class="cls-2" d="M792.11,584.09a2.82,2.82,0,0,1-2.16-.9,3,3,0,0,1-.84-2.1v-78a2.88,2.88,0,0,1,3-3h15.12a2.88,2.88,0,0,1,3,3v26.63l22.2-27.35a6,6,0,0,1,1.62-1.5,5.34,5.34,0,0,1,3.06-.78h17.28a2.35,2.35,0,0,1,1.8.78,2.5,2.5,0,0,1,.72,1.73,2.76,2.76,0,0,1-.36,1.45l-28.8,36.24,31,39.83a2,2,0,0,1,.48,1.45,2.48,2.48,0,0,1-.72,1.73,2.31,2.31,0,0,1-1.8.78H838.79a4.94,4.94,0,0,1-3.3-1,9.62,9.62,0,0,1-1.5-1.44l-23.76-29.64v29a3,3,0,0,1-.84,2.1,2.82,2.82,0,0,1-2.16.9Z" transform="translate(-129.37 -464.22)"/><path class="cls-2" d="M870.23,512.69a2.88,2.88,0,0,1-3-3V498.9a3,3,0,0,1,.84-2.1,2.79,2.79,0,0,1,2.16-.9h14.4a2.84,2.84,0,0,1,2.1.9,2.88,2.88,0,0,1,.9,2.1v10.79a2.79,2.79,0,0,1-.9,2.16,2.94,2.94,0,0,1-2.1.84Zm.12,71.4a2.82,2.82,0,0,1-2.16-.9,3,3,0,0,1-.84-2.1v-56.4a2.89,2.89,0,0,1,3-3h14.16a2.89,2.89,0,0,1,3,3v56.4a3,3,0,0,1-.84,2.1,2.82,2.82,0,0,1-2.16.9Z" transform="translate(-129.37 -464.22)"/><path class="cls-2" d="M933.59,584.09a32.53,32.53,0,0,1-13.26-2.46,18,18,0,0,1-8.58-7.67q-3-5.24-3-13.5v-23h-9.36a3.13,3.13,0,0,1-2.22-.84,2.82,2.82,0,0,1-.9-2.16v-9.73a2.82,2.82,0,0,1,.9-2.15,3.14,3.14,0,0,1,2.22-.85h9.36V501.9a2.86,2.86,0,0,1,.9-2.17,3,3,0,0,1,2.1-.83h13.92a2.86,2.86,0,0,1,3,3v19.79h15a3.14,3.14,0,0,1,2.22.85,2.82,2.82,0,0,1,.9,2.15v9.73a2.82,2.82,0,0,1-.9,2.16,3.13,3.13,0,0,1-2.22.84h-15v21.35a11.72,11.72,0,0,0,1.56,6.48c1,1.61,2.8,2.4,5.28,2.4h9.24a2.89,2.89,0,0,1,3,3v10.44a3,3,0,0,1-.84,2.1,2.82,2.82,0,0,1-2.16.9Z" transform="translate(-129.37 -464.22)"/></svg>

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

@@ -0,0 +1,359 @@
/*global wffnUtm */
var wffnUtm_terms = wffnUtm.cookieKeys, wffnCookieManage = {
setCookie: function (e, o, t) {
var r = new Date();
r.setTime(r.getTime() + 24 * t * 60 * 60 * 1e3);
var c = "expires=" + r.toUTCString();
var basehost = ';domain=.' + wffnGetHost(document.location.hostname);
document.cookie = e + "=" + o + ";" + c + basehost + ";path=/";
}, getCookie: function (e) {
for (var o = e + "=", t = document.cookie.split(";"), r = 0; r < t.length; r++) {
for (var c = t[r]; " " == c.charAt(0);) c = c.substring(1);
if (0 == c.indexOf(o)) return c.substring(o.length, c.length);
}
return "";
}, remove: function (e) {
var o = new Date();
o.setTime(o.getTime() - 864e5);
var t = "expires=" + o.toUTCString();
document.cookie = e + "=;" + t + ";path=/";
}, commons: {
inArray: function (e, o) {
return -1 === o.indexOf(e);
}
}
};
function wffnGetHost(url) {
var o = {
strictMode: false,
key: ['source', 'protocol', 'authority', 'userInfo', 'user', 'password', 'host', 'port', 'relative', 'path', 'directory', 'file', 'query', 'anchor'],
q: {
name: 'queryKey',
parser: /(?:^|&)([^&=]*)=?([^&]*)/g
},
parser: {
strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,
loose: /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/
}
},
m = o.parser[o.strictMode ? 'strict' : 'loose'].exec(url),
uri = {},
i = 14;
while (i--) {
uri[o.key[i]] = m[i] || '';
}
uri[o.q.name] = {};
uri[o.key[12]].replace(o.q.parser, function ($0, $1, $2) {
if ($1) {
uri[o.q.name][$1] = $2;
}
});
return uri.host.replace('www.', '');
}
function wffnGetQueryVars() {
try {
var result = {}, tmp = [];
window.location.search
.substr(1)
.split("&")
.forEach(function (item) {
tmp = item.split('=');
if (tmp.length > 1) {
result[tmp[0]] = tmp[1];
}
});
return wffnDefaultEvent(result);
} catch (e) {
console.log(e);
}
}
/** Add default parameter utm event **/
function wffnDefaultEvent(result) {
if (typeof Intl === "object" && typeof Intl.DateTimeFormat() === "object") {
let resolved = Intl.DateTimeFormat().resolvedOptions();
if (resolved.hasOwnProperty('timeZone')) {
result.timezone = resolved.timeZone;
}
}
result.flt = wffnGetAdminTime();
/**
* save referrer when manually pass by url
*/
if (result.hasOwnProperty('fkreferrer') && result.fkreferrer !== '') {
result.referrer = result.fkreferrer;
delete result.fkreferrer;
} else {
const WffnfkRef = document.referrer;
const getDomain = url => new URL(url).hostname;
result.referrer = (WffnfkRef && !wffnUtm.excludeDomain.some(domain => getDomain(WffnfkRef).endsWith(domain)) && !WffnfkRef.includes(window.location.hostname)) ? WffnfkRef : '';
}
result.fl_url = (typeof window.location.pathname !== "undefined") ? window.location.pathname : '/';
let getDevice = wffnDetectDevice();
if (typeof getDevice !== "undefined" && getDevice !== "") {
if (typeof getDevice.browser.name !== "undefined") {
result.browser = getDevice.browser.name;
}
if (typeof getDevice.is_mobile !== "undefined") {
result.is_mobile = getDevice.is_mobile;
}
}
return result;
}
/** get wp admin current time*/
function wffnGetAdminTime(getEpochTime = false, isObject = false) {
var getTime = new Date();
var getIsoString = getTime.toISOString();
// Convert the ISO string to a Date object
var dateFromIso = new Date(getIsoString);
// Set Admin offset to get user time according admin
dateFromIso.setMinutes(dateFromIso.getMinutes() + parseInt(wffnUtm.utc_offset));
getIsoString = dateFromIso.toISOString();
const [datePart, timePart] = getIsoString.split("T");
// Extract year, month, day
const [getYear, getMonth, getDay] = datePart.split("-").map(Number);
// Extract hours, minutes, seconds
const [getHours, getMinutes, secondsWithMillis] = timePart.split(":");
const getSeconds = secondsWithMillis.split(".")[0];
if (true === getEpochTime) {
/** get time in seconds **/
dateFromIso = new Date(getYear + '-' + (getMonth) + '-' + getDay + ' ' + getHours + ':' + getMinutes + ':' + getSeconds);
return Math.round(dateFromIso.getTime() / 1000);
}
if (true === isObject) {
return new Date(getYear + '-' + (getMonth) + '-' + getDay + ' ' + getHours + ':' + getMinutes + ':' + getSeconds);
}
return getYear + '-' + (getMonth) + '-' + getDay + ' ' + getHours + ':' + getMinutes + ':' + getSeconds;
}
function wffnGetTrafficSource() {
try {
var referrer = document.referrer.toString();
var direct = referrer.length === 0;
//noinspection JSUnresolvedVariable
var internal = direct ? false : referrer.indexOf(wffnUtm.site_url) === 0;
var external = !(direct || internal);
var cookie = wffnCookieManage.getCookie('wffn_traffic_source') === '' ? false : wffnCookieManage.getCookie('wffn_traffic_source');
if (external === false) {
return cookie ? cookie : 'direct';
} else {
return cookie && cookie === referrer ? cookie : referrer;
}
} catch (e) {
return '';
}
}
function wffnManageCookies() {
try {
var source = wffnGetTrafficSource();
if (source !== 'direct') {
wffnCookieManage.setCookie('wffn_traffic_source', source, 2);
} else {
wffnCookieManage.remove('wffn_traffic_source');
}
var queryVars = wffnGetQueryVars();
for (var k in wffnUtm_terms) {
if (Object.prototype.hasOwnProperty.call(queryVars, wffnUtm_terms[k])) {
/**
* restricted override cookies for user journey
*/
if (['flt', 'fl_url', 'referrer'].indexOf(wffnUtm_terms[k]) !== -1) {
if ('undefined' !== typeof wffnCookieManage && '' === wffnCookieManage.getCookie('wffn_' + wffnUtm_terms[k])) {
wffnCookieManage.setCookie('wffn_' + wffnUtm_terms[k], queryVars[wffnUtm_terms[k]], 2);
}
} else {
wffnCookieManage.setCookie('wffn_' + wffnUtm_terms[k], queryVars[wffnUtm_terms[k]], 2);
}
}
}
} catch (e) {
console.log(e);
}
}
/**
* Return UTM terms from request query variables or from cookies.
*/
function wffnGetUTMs() {
try {
var terms = {};
var queryVars = wffnGetQueryVars();
/** exclude parameter for utm event **/
var excludeArray = ["flt", "timezone", "is_mobile", "browser", "fbclid", "gclid", "referrer", "fl_url"];
for (var k in wffnUtm_terms) {
if (wffnCookieManage.getCookie('wffn_' + wffnUtm_terms[k]) === '' && Object.prototype.hasOwnProperty.call(queryVars, wffnUtm_terms[k])) {
terms[wffnUtm_terms[k]] = wffnCookieManage.getCookie('wffn_' + wffnUtm_terms[k]);
}
}
return terms;
} catch (e) {
return {};
}
}
/* eslint-disable no-unused-vars */
function wffnAddTrafficParamsToEvent(params) {
try {
var get_generic_params = wffnUtm.genericParamEvents;
var json_get_generic_params = JSON.parse(get_generic_params);
for (var k in json_get_generic_params) {
params[k] = json_get_generic_params[k];
}
/**
* getting current day and time to send with this event
*/
var e = wffnGetAdminTime(false, true);
var a = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"][e.getDay()],
b = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"][e.getMonth()],
c = ["00-01", "01-02", "02-03", "03-04", "04-05", "05-06", "06-07", "07-08", "08-09", "09-10", "10-11", "11-12", "12-13", "13-14", "14-15", "15-16", "16-17", "17-18", "18-19", "19-20", "20-21", "21-22", "22-23", "23-24"][e.getHours()];
params.event_month = b;
params.event_day = a;
params.event_hour = c;
params.traffic_source = wffnGetTrafficSource();
var getUTMs = wffnGetUTMs();
for (var ki in getUTMs) {
params[ki] = getUTMs[ki];
}
return params;
} catch (eeX) {
return params;
}
}
/** return device and browser info **/
function wffnDetectDevice() {
let header = [navigator.userAgent, navigator.vendor, window.opera];
let is_mobile = false;
if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {
is_mobile = true;
}
/** check device for facebook application **/
if (false === is_mobile) {
let fbAgent = navigator.userAgent || navigator.vendor || window.opera;
if ((fbAgent.indexOf("FBAN") > -1) || (fbAgent.indexOf("FBAV") > -1)) {
is_mobile = true;
}
}
let databrowser = [
{name: 'Chrome', value: 'Chrome', version: 'Chrome'},
{name: 'Firefox', value: 'Firefox', version: 'Firefox'},
{name: 'Safari', value: 'Safari', version: 'Version'},
{name: 'Internet Explorer', value: 'MSIE', version: 'MSIE'},
{name: 'Opera', value: 'Opera', version: 'Opera'},
{name: 'BlackBerry', value: 'CLDC', version: 'CLDC'},
{name: 'Mozilla', value: 'Mozilla', version: 'Mozilla'}
];
var agent = header.join(' '),
browser = wffnDetectBrowser(agent, databrowser);
return {is_mobile: is_mobile, browser: browser};
}
function wffnDetectBrowser(string, data) {
var i = 0,
j = 0,
regex,
regexv,
match,
matches,
version;
for (i = 0; i < data.length; i += 1) {
regex = new RegExp(data[i].value, 'i');
match = regex.test(string);
if (match) {
regexv = new RegExp(data[i].version + '[- /:;]([\\d._]+)', 'i');
matches = string.match(regexv);
version = '';
if (matches) {
if (matches[1]) {
matches = matches[1];
}
}
if (matches) {
matches = matches.split(/[._]+/);
for (j = 0; j < matches.length; j += 1) {
if (j === 0) {
version += matches[j] + '.';
} else {
version += matches[j];
}
}
} else {
version = '0';
}
return {
name: data[i].name,
version: parseFloat(version)
};
}
}
return {name: 'unknown', version: 0};
}
wffnManageCookies();

File diff suppressed because one or more lines are too long