Version Description
- WYSIWYG buttons overlapping fixed
- Fixes issue with Homepage extensions and variation switching
- Template preview links
- Removing 'get short url' from landing pages.
- View full list of changes here
Download this release
Release Info
Developer | adbox |
Plugin | WordPress Landing Pages |
Version | 1.8.1 |
Comparing to | |
See all releases |
Code changes from version 1.7.4 to 1.8.1
- Gruntfile.js +19 -0
- README.md +242 -56
- classes/class.activation.php +3 -4
- classes/class.activation.upgrade-routines.php +13 -0
- classes/class.branching.php +44 -0
- css/admin-post-edit.css +3 -0
- css/admin-post-new.css +3 -0
- css/admin-style.css +7 -10
- js/admin/admin.landing-page-list.js +52 -52
- js/admin/admin.post-edit.js +7 -178
- js/customizer.save.js +0 -143
- js/page_view_track.js +0 -9
- landing-pages.php +24 -15
- lang/landing-pages-ach.mo +0 -0
- lang/landing-pages-af.mo +0 -0
- lang/landing-pages-an.mo +0 -0
- lang/landing-pages-ar.mo +0 -0
- lang/landing-pages-as.mo +0 -0
- lang/landing-pages-az.mo +0 -0
- lang/landing-pages-be.mo +0 -0
- lang/landing-pages-be_BY.mo +0 -0
- lang/landing-pages-bg.mo +0 -0
- lang/landing-pages-bg_BG.mo +0 -0
- lang/landing-pages-bn_BD.mo +0 -0
- lang/landing-pages-br.mo +0 -0
- lang/landing-pages-bs.mo +0 -0
- lang/landing-pages-bs_BA.mo +0 -0
- lang/landing-pages-ca.mo +0 -0
- lang/landing-pages-co.mo +0 -0
- lang/landing-pages-cs_CZ.mo +0 -0
- lang/landing-pages-cy.mo +0 -0
- lang/landing-pages-da_DK.mo +0 -0
- lang/landing-pages-de_AT.mo +0 -0
- lang/landing-pages-de_CH.mo +0 -0
- lang/landing-pages-de_DE.mo +0 -0
- lang/landing-pages-dv.mo +0 -0
- lang/landing-pages-el.mo +0 -0
- lang/landing-pages-en@pirate.mo +0 -0
- lang/landing-pages-en_AU.mo +0 -0
- lang/landing-pages-en_CA.mo +0 -0
- lang/landing-pages-en_GB.mo +0 -0
- lang/landing-pages-eo.mo +0 -0
- lang/landing-pages-es_AR.mo +0 -0
- lang/landing-pages-es_CL.mo +0 -0
- lang/landing-pages-es_ES.mo +0 -0
- lang/landing-pages-es_MX.mo +0 -0
- lang/landing-pages-es_PE.mo +0 -0
- lang/landing-pages-es_VE.mo +0 -0
- lang/landing-pages-et.mo +0 -0
- lang/landing-pages-eu.mo +0 -0
- lang/landing-pages-fa.mo +0 -0
- lang/landing-pages-fa_IR.mo +0 -0
- lang/landing-pages-fi.mo +0 -0
- lang/landing-pages-fo.mo +0 -0
- lang/landing-pages-fr_FR.mo +0 -0
- lang/landing-pages-fy.mo +0 -0
- lang/landing-pages-ga.mo +0 -0
- lang/landing-pages-gd.mo +0 -0
- lang/landing-pages-gl_ES.mo +0 -0
- lang/landing-pages-gu_IN.mo +0 -0
- lang/landing-pages-he_IL.mo +0 -0
- lang/landing-pages-hi_IN.mo +0 -0
- lang/landing-pages-hr.mo +0 -0
- lang/landing-pages-hu_HU.mo +0 -0
- lang/landing-pages-hy.mo +0 -0
- lang/landing-pages-id.mo +0 -0
- lang/landing-pages-id_ID.mo +0 -0
- lang/landing-pages-is_IS.mo +0 -0
- lang/landing-pages-it_IT.mo +0 -0
- lang/landing-pages-ja.mo +0 -0
- lang/landing-pages-jv.mo +0 -0
- lang/landing-pages-ka.mo +0 -0
- lang/landing-pages-ka_GE.mo +0 -0
- lang/landing-pages-kk.mo +0 -0
- lang/landing-pages-km.mo +0 -0
- lang/landing-pages-kn.mo +0 -0
- lang/landing-pages-ko_KR.mo +0 -0
- lang/landing-pages-ku.mo +0 -0
- lang/landing-pages-ky.mo +0 -0
- lang/landing-pages-lo.mo +0 -0
- lang/landing-pages-lt_LT.mo +0 -0
- lang/landing-pages-lv.mo +0 -0
- lang/landing-pages-mg.mo +0 -0
- lang/landing-pages-mk_MK.mo +0 -0
- lang/landing-pages-mn.mo +0 -0
- lang/landing-pages-mr.mo +0 -0
- lang/landing-pages-ms_MY.mo +0 -0
- lang/landing-pages-my_MM.mo +0 -0
- lang/landing-pages-nb_NO.mo +0 -0
- lang/landing-pages-ne_NP.mo +0 -0
- lang/landing-pages-nl_NL.mo +0 -0
- lang/landing-pages-nn_NO.mo +0 -0
- lang/landing-pages-oc.mo +0 -0
- lang/landing-pages-os.mo +0 -0
- lang/landing-pages-pap.mo +0 -0
- lang/landing-pages-pl_PL.mo +0 -0
- lang/landing-pages-ps.mo +0 -0
- lang/landing-pages-pt_BR.mo +0 -0
- lang/landing-pages-pt_PT.mo +0 -0
- lang/landing-pages-ro_RO.mo +0 -0
- lang/landing-pages-ru_RU.mo +0 -0
- lang/landing-pages-sah.mo +0 -0
- lang/landing-pages-si_LK.mo +0 -0
- lang/landing-pages-sk_SK.mo +0 -0
- lang/landing-pages-sl_SI.mo +0 -0
- lang/landing-pages-so.mo +0 -0
- lang/landing-pages-sq.mo +0 -0
- lang/landing-pages-sr_RS.mo +0 -0
- lang/landing-pages-su.mo +0 -0
- lang/landing-pages-sv_SE.mo +0 -0
- lang/landing-pages-sw.mo +0 -0
- lang/landing-pages-ta_IN.mo +0 -0
- lang/landing-pages-ta_LK.mo +0 -0
- lang/landing-pages-te.mo +0 -0
- lang/landing-pages-tg.mo +0 -0
- lang/landing-pages-th.mo +0 -0
- lang/landing-pages-tk_TM.mo +0 -0
- lang/landing-pages-tl.mo +0 -0
- lang/landing-pages-tr_TR.mo +0 -0
- lang/landing-pages-tzm.mo +0 -0
- lang/landing-pages-ug.mo +0 -0
- lang/landing-pages-uk.mo +0 -0
- lang/landing-pages-ur.mo +0 -0
- lang/landing-pages-ur_PK.mo +0 -0
- lang/landing-pages-uz.mo +0 -0
- lang/landing-pages-vi.mo +0 -0
- lang/landing-pages-zh_CN.GB2312.mo +0 -0
- lang/landing-pages-zh_CN.mo +0 -0
- lang/landing-pages-zh_HK.mo +0 -0
- lang/landing-pages-zh_TW.mo +0 -0
- modules/module.ajax-setup.php +1 -1
- modules/module.alert.php +18 -2
- modules/module.click-tracking.php +14 -13
- modules/module.customizer.php +1 -1
- modules/module.global-settings.php +0 -24
- modules/module.install.php +96 -106
- modules/module.javascript-admin.php +1 -1
- modules/module.javascript-frontend.php +11 -74
- modules/module.landing-page.php +590 -597
- modules/module.metaboxes.php +0 -4
- modules/module.post-type.php +1 -1
- modules/module.redirect-ab-testing.php +9 -0
- modules/module.store.php +1 -1
- modules/module.track.php +1 -1
- package.json +45 -0
- readme.txt +26 -3
- screenshot-1.jpg +0 -0
- screenshot-2.jpg +0 -0
- screenshot-3.jpg +0 -0
- screenshot-4.jpg +0 -0
- shared/.SyncIgnore +0 -13
- shared/assets/assets.loader.class.php +158 -168
- shared/assets/{admin/css → css/admin}/global-inbound-admin.css +11 -5
- shared/assets/{admin/css → css/admin}/image-picker.css +0 -0
- shared/assets/{admin/css → css/admin}/inbound-metaboxes.css +0 -0
- shared/{css → assets/css/admin}/select2.css +3 -3
- shared/{css/images → assets/css/admin}/select2x2.png +0 -0
- shared/assets/css/admin/wpadminbar.css +154 -0
- shared/assets/{global/fonts → fonts}/fontawesome/FontAwesome.otf +0 -0
- shared/assets/{global/fonts → fonts}/fontawesome/README.md +0 -0
- shared/assets/{global/fonts → fonts}/fontawesome/fontawesome-webfont.eot +0 -0
- shared/assets/{global/fonts → fonts}/fontawesome/fontawesome-webfont.svg +0 -0
- shared/assets/{global/fonts → fonts}/fontawesome/fontawesome-webfont.ttf +0 -0
- shared/assets/{global/fonts → fonts}/fontawesome/fontawesome-webfont.woff +0 -0
- shared/assets/frontend/js/analytics-src/analytics.js +0 -40
- shared/assets/frontend/js/analytics-src/analytics.lead-tracking.js +0 -384
- shared/assets/frontend/js/analytics-src/analytics.load.js +0 -41
- shared/assets/frontend/js/analytics-src/analytics.page-tracking.js +0 -173
- shared/assets/frontend/js/analytics-src/form-mapping.js +0 -288
- shared/assets/frontend/js/analytics/analytics.events.js +0 -117
- shared/assets/frontend/js/analytics/analytics.init.js +0 -40
- shared/assets/frontend/js/analytics/analytics.js +0 -39
- shared/assets/frontend/js/analytics/analytics.lead-tracking.js +0 -426
- shared/assets/frontend/js/analytics/analytics.page-tracking.js +0 -173
- shared/assets/frontend/js/analytics/analytics.storage.js +0 -136
- shared/assets/frontend/js/analytics/analytics.utils.js +0 -340
- shared/assets/frontend/js/analytics/inboundAnalytics.min.js +0 -3
- shared/assets/frontend/js/form-population.js +0 -1
- shared/assets/frontend/js/inbound.js +0 -839
- shared/assets/frontend/js/inprogress-tracking.js +0 -137
- shared/assets/frontend/js/page-tracking-new.js +0 -1324
- shared/assets/frontend/js/page-tracking.js +0 -693
- shared/assets/frontend/js/store.lead.ajax-new.js +0 -699
- shared/assets/frontend/js/store.lead.ajax.js +0 -711
- shared/assets/global/fonts/fontawesome/fontawesome-webfont.eot~HEAD +0 -0
- shared/assets/global/fonts/fontawesome/fontawesome-webfont.svg~HEAD +0 -414
- shared/assets/global/fonts/fontawesome/fontawesome-webfont.ttf~HEAD +0 -0
- shared/assets/global/fonts/fontawesome/fontawesome-webfont.woff~HEAD +0 -0
- shared/assets/{admin/images → images/admin}/inbound-now-logo.png +0 -0
- shared/assets/{global/images → images/global}/leads.png +0 -0
- shared/assets/{global/images → images/global}/shortcodes-blue.png +0 -0
- shared/{tracking/sources → assets/includes}/Snowplow/RefererParser/Config/INBOUND_ConfigFileReaderTrait.php +0 -0
- shared/{tracking/sources → assets/includes}/Snowplow/RefererParser/Config/INBOUND_ConfigReaderInterface.php +0 -0
- shared/{tracking/sources → assets/includes}/Snowplow/RefererParser/Config/INBOUND_JsonConfigReader.php +0 -0
- shared/{tracking/sources → assets/includes}/Snowplow/RefererParser/Exception/INBOUND_InvalidArgumentException.php +0 -0
- shared/{tracking/sources → assets/includes}/Snowplow/RefererParser/INBOUND_Medium.php +0 -0
- shared/{tracking/sources → assets/includes}/Snowplow/RefererParser/INBOUND_Parser.php +1 -1
- shared/{tracking/sources → assets/includes}/Snowplow/RefererParser/INBOUND_Referer.php +0 -0
- shared/{tracking/sources → assets/includes}/referers.json +0 -0
- shared/{metaboxes/inbound-metaboxes.js → assets/index.php} +0 -0
- shared/assets/{admin/js → js/admin}/image-picker.js +0 -0
- shared/assets/{admin/js → js/admin}/select2.js +0 -0
- shared/assets/{admin/js → js/admin}/select2.min.js +0 -0
- shared/assets/{frontend/js → js/frontend}/analytics-src/analytics.events.js +9 -9
- shared/assets/{frontend/js → js/frontend}/analytics-src/analytics.examples.js +0 -0
- shared/assets/{frontend/js → js/frontend}/analytics-src/analytics.forms.js +49 -36
- shared/assets/{frontend/js → js/frontend}/analytics-src/analytics.hooks.js +0 -0
- shared/assets/{frontend/js → js/frontend}/analytics-src/analytics.init.js +0 -1
- shared/assets/{frontend/js → js/frontend}/analytics-src/analytics.lead.js +2 -2
- shared/assets/{frontend/js → js/frontend}/analytics-src/analytics.page.js +8 -4
- shared/assets/{frontend/js → js/frontend}/analytics-src/analytics.start.js +0 -0
- shared/assets/{frontend/js → js/frontend}/analytics-src/analytics.storage.js +0 -0
- shared/assets/{frontend/js → js/frontend}/analytics-src/analytics.utils.js +264 -165
- shared/assets/{frontend/js → js/frontend}/analytics/inboundAnalytics.js +343 -227
- shared/assets/js/frontend/analytics/inboundAnalytics.min.js +3 -0
- shared/{classes/js → assets/js/global}/debug.js +0 -0
- shared/{classes/js → assets/js/global}/inbound-dequeue-scripts.js +0 -0
- shared/assets/{global/js → js/global}/jquery.cookie.js +0 -0
- shared/assets/{global/js → js/global}/jquery.total-storage.min.js +0 -0
- shared/assets/readme.txt +0 -7
- shared/classes/class.ajax.php +40 -0
- shared/classes/class.branching.php +296 -0
- shared/classes/class.charting.php +1 -1
- shared/classes/class.debug.php +400 -400
- shared/classes/class.feedback.php +15 -18
- shared/classes/class.form.php +452 -356
- shared/classes/class.lead-fields.php +41 -41
- shared/{tracking/new.store.lead.php → classes/class.lead-storage.php} +27 -22
- shared/{extend/inboundnow.extend.php → classes/class.licensing.php} +0 -0
- shared/classes/class.load-shared.php +30 -24
- shared/classes/class.magic.php +68 -0
- shared/{extend/inboundnow.global-settings.php → classes/class.master-license.php} +0 -0
- shared/classes/class.menu.php +203 -102
- shared/classes/class.menus.adminbar.php +710 -0
- shared/classes/class.notifications.php +81 -0
- shared/classes/class.options-api.php +40 -0
- shared/classes/class.post-type.email-template.php +25 -25
- shared/classes/class.post-type.wp-lead.php +25 -18
- shared/classes/class.shortcodes.cookie-values.php +51 -0
- shared/classes/js/wpl.required-fallback.js +0 -13
- shared/css/images/Navigation.png +0 -0
- shared/css/images/blank-page.png +0 -0
- shared/css/images/clone-create.png +0 -0
- shared/css/images/dropdownback.png +0 -0
- shared/css/images/headerback.png +0 -0
- shared/css/images/hover.png +0 -0
- shared/css/images/landing-page-icon-10.png +0 -0
- shared/css/images/linkback.png +0 -0
- shared/css/images/question-light.png +0 -0
- shared/css/images/select-pages.png +0 -0
- shared/css/images/tooltip.png +0 -0
- shared/css/select2-spinner.gif +0 -0
- shared/css/select2.png +0 -0
- shared/css/select2x2.png +0 -0
- shared/docs/analytics.events.md +0 -21
Gruntfile.js
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* for main build processes we use gulp see gulpfile.js */
|
2 |
+
module.exports = function(grunt) {
|
3 |
+
|
4 |
+
grunt.initConfig({
|
5 |
+
pkg: grunt.file.readJSON('package.json'),
|
6 |
+
wp_readme_to_markdown: {
|
7 |
+
cta: {
|
8 |
+
files: {
|
9 |
+
'readme.md': 'readme.txt'
|
10 |
+
},
|
11 |
+
},
|
12 |
+
},
|
13 |
+
});
|
14 |
+
|
15 |
+
grunt.loadNpmTasks('grunt-wp-readme-to-markdown');
|
16 |
+
|
17 |
+
grunt.registerTask('default', ['wp_readme_to_markdown']);
|
18 |
+
|
19 |
+
};
|
README.md
CHANGED
@@ -1,24 +1,19 @@
|
|
1 |
-
|
2 |
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
Donate link: mailto:Hudson.Atwell@gmail.com
|
12 |
-
License: GPLv2 or later
|
13 |
-
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
14 |
-
Tags: landing pages, inbound marketing, conversion pages, split testing, a b test, a b testing, a/b test, a/b testing, coming soon page, email list, landing page, list building, maintenance page, squeeze page, inbound now, landing-pages, splash pages, cpa, click tracking, goal tracking, analytics
|
15 |
-
Requires at least: 3.3
|
16 |
-
Tested up to: 3.5
|
17 |
-
Stable Tag: 1.1.0.1
|
18 |
|
19 |
Create landing pages for your WordPress site. Monitor and improve conversion rates, run A/B split tests, customize your own templates and more.
|
20 |
|
21 |
-
|
|
|
|
|
22 |
|
23 |
This plugin creates landing pages (a.k.a. conversion or splash pages) for your WordPress site. It gives site owners the ability to monitor and track conversion rates, run a/b or multivariate split tests on landing pages, and most importantly increase lead flow!
|
24 |
|
@@ -26,7 +21,7 @@ The landing page plugin was specifically designed with inbound marketing best pr
|
|
26 |
|
27 |
Landing pages are an ideal way to convert more of your passive website visitors into active leads or email list subscribers.
|
28 |
|
29 |
-
|
30 |
|
31 |
* Create beautiful Landing Pages on your WordPress site.
|
32 |
* Visual Editor to view changes being made on the fly!
|
@@ -42,130 +37,321 @@ This plugin is form agnostic meaning it will work with any form system you use.
|
|
42 |
|
43 |
Recommended form plugins (Gravity forms, Ninja Forms or Contact form 7)
|
44 |
|
45 |
-
|
46 |
|
47 |
-
http://www.youtube.com/watch?v=
|
48 |
|
49 |
-
|
50 |
|
51 |
We built the landing page plugin as a framework! Need A/B testing out of the box implemented for your existing designs? Use WordPress Landing Pages to quickly spin up new landing pages that have all the functionality your clients will need.
|
52 |
|
53 |
-
You can quickly take your existing designs and implement them using our <a href="http://docs.inboundnow.com/
|
54 |
|
55 |
The plugin is also fully extendable and has a number of actions, filters, and hooks available for use. If a hook doesn't exist, simply ask and we can implement custom changes.
|
56 |
|
57 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
|
59 |
1. Upload `landing-pages` folder to the `/wp-content/plugins/` directory
|
60 |
1. Activate the plugin through the 'Plugins' menu in WordPress
|
61 |
|
62 |
-
|
63 |
*Can I create my own landing page designs?,
|
64 |
-
*Yes! You can learn how to <a href="http://docs.inboundnow.com/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
|
66 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
67 |
|
68 |
-
1.
|
69 |
-
|
70 |
-
|
71 |
-
4. Choose from a ton of pre-made templates, use your existing design, or design your own theme!
|
72 |
|
73 |
-
|
|
|
|
|
74 |
|
75 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
76 |
|
77 |
* Fixed: Variation saves for custom css and custom js.
|
78 |
* Fixed: jQuery error related to wysiwyg content formatting.
|
79 |
|
80 |
-
|
81 |
* Improved extension metabox loading for quicker load times and optimized meta data storage.
|
82 |
* Phased out more 'old method' split testing components.
|
83 |
* Improved .htaccess parsing.
|
84 |
* Addressed issue with line breaks being removed from WYSIWYG editors.
|
85 |
|
86 |
-
|
87 |
* Added in tours for the edit screen and the list of landing page screen for new users to learn how to use the tool quickly and easily
|
88 |
* Updated conversion tracking for wp-leads addon plugin
|
89 |
* Added in option for default templates to toggle on/off navigation
|
90 |
|
91 |
-
|
92 |
|
93 |
* Removed old A/B split testing and the new system is fully in place!
|
94 |
|
95 |
-
|
96 |
|
97 |
* Added in A/B stats to the main landing page list view
|
98 |
|
99 |
-
|
100 |
|
101 |
* Release new and improved version of A/B testing!
|
102 |
* Ajax saving on landing page options for faster page edits
|
103 |
* Frontend Visual Editor to see what you are editing/changing
|
104 |
* Enabled frontend editor for use on normal pages and posts
|
105 |
|
106 |
-
|
107 |
|
108 |
Providing better conversion and impression tracking for landing pages that are set as homepage.
|
109 |
|
110 |
-
|
111 |
|
112 |
Fixing activation bug
|
113 |
|
114 |
-
|
115 |
|
116 |
Fixing issue with jquery submission errors.
|
117 |
|
118 |
-
|
119 |
|
120 |
Added capability to activate and update license keys for premium extensions. Added ability to define white listed HTML elements for Form Standardization process.
|
121 |
|
122 |
-
|
123 |
|
124 |
Fixed issue with WP_List_table causing posts to to save or edit propperly Attempt 001
|
125 |
|
126 |
-
|
127 |
|
128 |
Added cookie based auto-field population & lead data collection to core.
|
129 |
|
130 |
-
|
131 |
|
132 |
Fixed issue with global setting's radio buttons not holding new set values.
|
133 |
|
134 |
-
|
135 |
|
136 |
Solutions for custom post type wp rewrite issue on activation.
|
137 |
|
138 |
-
|
139 |
|
140 |
Introducing version control system for extensions.
|
141 |
|
142 |
-
|
143 |
|
144 |
Migrating store to new location. Updating version control systems
|
145 |
|
146 |
-
|
147 |
|
148 |
Added new defitions to form standardization parser. Limited .htaccess rewrites to plugin activation to try and mitigate .htaccess corruptions.
|
149 |
|
150 |
-
|
151 |
|
152 |
Fixed issue with conversions not recording on some servers by forcing form submittal to wait until ajax has completely finnished loading before continuing to process form.
|
153 |
|
154 |
-
|
155 |
|
156 |
Fixed issue with plugins and wp core refusing to update on some installations when landing page plugin is activated.
|
157 |
|
158 |
-
|
159 |
|
160 |
Debugging cross browser impressions and conversion tracking. Implemented soltion for url-to-postid conversions that's compatible with the /slug/ removal extension for landing pages plugin.
|
161 |
Added email validation check to prevent false positives when form standardization is turned on.
|
162 |
|
163 |
-
|
164 |
|
165 |
-
Bug Fix
|
166 |
|
167 |
-
|
168 |
|
169 |
Released
|
170 |
-
|
171 |
-
|
1 |
+
# WordPress Landing Pages #
|
2 |
|
3 |
+
**Contributors:** David Wells, Hudson Atwell
|
4 |
+
**Donate link:** mailto:marketplace@inboundnow.com
|
5 |
+
**License:** GPLv2 or later
|
6 |
+
**License URI:** http://www.gnu.org/licenses/gpl-2.0.html
|
7 |
+
**Tags:** landing pages, inbound marketing, conversion pages, split testing, a b test, a b testing, a/b test, a/b testing, coming soon page, email list, landing page, list building, maintenance page, squeeze page, inbound now, landing-pages, splash pages, cpa, click tracking, goal tracking, analytics, free landing page templates
|
8 |
+
**Requires at least:** 3.8
|
9 |
+
**Tested up to:** 4.1
|
10 |
+
**Stable Tag:** 1.8.0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
|
12 |
Create landing pages for your WordPress site. Monitor and improve conversion rates, run A/B split tests, customize your own templates and more.
|
13 |
|
14 |
+
## Description ##
|
15 |
+
|
16 |
+
> WordPress Landing Pages works as a standalone plugin or hand in hand with [WordPress Calls to Action](http://wordpress.org/plugins/cta/ "Learn more about Calls to Action") & [WordPress Leads](http://wordpress.org/plugins/leads/ "Learn more about WordPress Leads") to create a powerful & free lead generation system for your business.
|
17 |
|
18 |
This plugin creates landing pages (a.k.a. conversion or splash pages) for your WordPress site. It gives site owners the ability to monitor and track conversion rates, run a/b or multivariate split tests on landing pages, and most importantly increase lead flow!
|
19 |
|
21 |
|
22 |
Landing pages are an ideal way to convert more of your passive website visitors into active leads or email list subscribers.
|
23 |
|
24 |
+
### Highlights ###
|
25 |
|
26 |
* Create beautiful Landing Pages on your WordPress site.
|
27 |
* Visual Editor to view changes being made on the fly!
|
37 |
|
38 |
Recommended form plugins (Gravity forms, Ninja Forms or Contact form 7)
|
39 |
|
40 |
+
### About the Plugin ###
|
41 |
|
42 |
+
http://www.youtube.com/watch?v=flEd0sRTFUo
|
43 |
|
44 |
+
### Developers & Designers ###
|
45 |
|
46 |
We built the landing page plugin as a framework! Need A/B testing out of the box implemented for your existing designs? Use WordPress Landing Pages to quickly spin up new landing pages that have all the functionality your clients will need.
|
47 |
|
48 |
+
You can quickly take your existing designs and implement them using our <a href="http://docs.inboundnow.com/section/developer/">templating framework</a>.
|
49 |
|
50 |
The plugin is also fully extendable and has a number of actions, filters, and hooks available for use. If a hook doesn't exist, simply ask and we can implement custom changes.
|
51 |
|
52 |
+
|
53 |
+
[Follow Development on GitHub ](https://github.com/inboundnow/landing-pages "Follow & Contribute to core development on GitHub")
|
54 |
+
|
|
55 |
+
[Follow Development on Twitter ](https://twitter.com/gitlandingpages "See our latest development commits on Twitter")
|
56 |
+
|
57 |
+
|
58 |
+
## Installation ##
|
59 |
|
60 |
1. Upload `landing-pages` folder to the `/wp-content/plugins/` directory
|
61 |
1. Activate the plugin through the 'Plugins' menu in WordPress
|
62 |
|
63 |
+
## Frequently Asked Questions ##
|
64 |
*Can I create my own landing page designs?,
|
65 |
+
*Yes! You can learn how to <a href="http://docs.inboundnow.com/guide/creating-landing-page-templates/">create your own landing page template here</a>.
|
66 |
+
|
67 |
+
## Screenshots ##
|
68 |
+
|
69 |
+
### 1. Landing Page Custom Post Type ###
|
70 |
+
![Landing Page Custom Post Type](screenshot-1.jpg)
|
71 |
+
|
72 |
+
### 2. Track conversion rates and continuously improve your landing pages ###
|
73 |
+
![Track conversion rates and continuously improve your landing pages](screenshot-2.jpg)
|
74 |
+
|
75 |
+
### 3. Manage Split Testing Page ###
|
76 |
+
![Manage Split Testing Page](screenshot-3.jpg)
|
77 |
+
|
78 |
+
### 4. Choose from a ton of pre-made templates, use your existing design, or design your own theme! ###
|
79 |
+
![Choose from a ton of pre-made templates, use your existing design, or design your own theme!](screenshot-4.jpg)
|
80 |
+
|
81 |
+
|
82 |
+
## Changelog ##
|
83 |
+
### 1.8.0 ###
|
84 |
+
* Fixing addon store
|
85 |
+
|
86 |
+
### 1.7.9 ###
|
87 |
+
* Even more security updates! Security for the win!
|
88 |
+
|
89 |
+
### 1.7.8 ###
|
90 |
+
* Security Patch
|
91 |
+
|
92 |
+
### 1.7.7 ###
|
93 |
+
* Fix double lead notification email
|
94 |
+
|
95 |
+
### 1.7.6 ###
|
96 |
+
* Fixed double email submission on contact form 7
|
97 |
+
|
98 |
+
### 1.7.5 ###
|
99 |
+
* Added form field exclusions to ignore sensitive data
|
100 |
+
|
101 |
+
### 1.7.3 ###
|
102 |
+
* See changelog here: https://github.com/inboundnow/landing-pages/issues?q=is%3Aissue+is%3Aclosed+label%3Av1.7.3
|
103 |
+
|
104 |
+
### 1.7.2 ###
|
105 |
+
* Improved form email typo detection
|
106 |
+
* Improved Template Styles
|
107 |
+
* Fixed content wysiwyg scroll freezing bug
|
108 |
+
|
109 |
+
### 1.7.1 ###
|
110 |
+
* removed iframe of inbound now addon store. For addons please visit: http://inboundnow.com/market
|
111 |
|
112 |
+
### 1.7.0 ###
|
113 |
+
* Removed anonymous PHP functions for PHP 5.2 support
|
114 |
+
* Updated template creation standards
|
115 |
+
* Converted varition modules to CLASS based system & documented
|
116 |
+
* Move /lang/ file outside of shared
|
117 |
+
|
118 |
+
### 1.6.2 ###
|
119 |
+
* Bug Fix: Fix with lead email notifications
|
120 |
+
|
121 |
+
### 1.5.9 ###
|
122 |
+
* Various bug fixes.
|
123 |
+
* Refactored main plugin file to class loader.
|
124 |
+
* Improved localization systems.
|
125 |
+
|
126 |
+
### 1.5.8 ###
|
127 |
+
* Bug Fix: Check all required fields
|
128 |
+
|
129 |
+
### 1.5.7 ###
|
130 |
+
* Improvement: All core template now use new consolidated settings system.
|
131 |
+
* Improvement: Leads Dashboard styling & stats
|
132 |
+
* Improvement: Screenshots on local installation replaced with template thumbnails.
|
133 |
+
|
134 |
+
|
135 |
+
### 1.5.6 ###
|
136 |
+
* Fix to insert marketing shortcode popup
|
137 |
+
|
138 |
+
### 1.5.5 ###
|
139 |
+
* Added events to lead tracking
|
140 |
+
* Bug Fix: Marketing Button
|
141 |
+
* Optimized CTA Tracking JS.
|
142 |
+
* Expanded impression/conversion analytics to all post types.
|
143 |
|
144 |
+
### 1.5.4 ###
|
145 |
+
* Impression tracking bug fix.
|
146 |
+
* Bringing Inbound Tracking to All Posts/Pages
|
|
|
147 |
|
148 |
+
### 1.5.3 ###
|
149 |
+
* Temporary fix for shortcodes disappearing from wordpress 3.8 to 3.9
|
150 |
+
* Performance improvements on analytics and lead tracking
|
151 |
|
152 |
+
### 1.5.1 ###
|
153 |
+
* Misc bug fixes
|
154 |
+
|
155 |
+
### 1.5.0 ###
|
156 |
+
* fixed field mapping bug
|
157 |
+
* Added better compability for js conflicts
|
158 |
+
* Prepping for marketing automation
|
159 |
+
|
160 |
+
### 1.4.9 ###
|
161 |
+
* Fixed and improved default landing page templates
|
162 |
+
* Updates to work with V2 of the CTA plugins
|
163 |
+
* Improved form compatibilty with contact form 7, gravity forms, and ninja forms
|
164 |
+
* Numerous bug files and code improvements
|
165 |
+
|
166 |
+
### 1.4.8 ###
|
167 |
+
* Added Google Analytics Custom Event Tracking for form submissions
|
168 |
+
* Added Ability: automatically sort leads into lists on form completions
|
169 |
+
* Added Ability: Send lead notification emails to multiple people. Use comma separated values
|
170 |
+
* Improved Social Media Buttons called with lp_social_media() function
|
171 |
+
* Fixed qTranslate plugin bug
|
172 |
+
* Fixed Genesis Title tag conflict
|
173 |
+
* Added improved asset loader
|
174 |
+
* Updated main docs.inboundnow.com site. Check it out!
|
175 |
+
|
176 |
+
### 1.4.7 ###
|
177 |
+
* GPL fix with js library
|
178 |
+
|
179 |
+
### 1.4.6 ###
|
180 |
+
* New Feature: Bulk Lead management with leads plugin wordpress.org/plugins/leads/
|
181 |
+
* Added tags to lead profiles for improved management/categorization
|
182 |
+
* Added new compatibility options to fix third party plugin conflicts!
|
183 |
+
* Added new debugging javascript debugging tools for users
|
184 |
+
* Fixed Email Sending Error on forms
|
185 |
+
* Improved support for master license keys
|
186 |
+
|
187 |
+
### 1.4.5 ###
|
188 |
+
* Added New HTML Lead Email Template with clickable links for faster lead management
|
189 |
+
* Added Button Shortcodes!
|
190 |
+
* Added HTML field option to form tool
|
191 |
+
* Added Divider Option to Form tool
|
192 |
+
* Added multi column support to icon list shortcode
|
193 |
+
* Added Font Awesome Icons option to Inbound Form Submit buttons
|
194 |
+
* Added Social Sharing Shortcode
|
195 |
+
* Bug fix - emails not sending after form conversion fixed
|
196 |
+
|
197 |
+
### 1.4.1 ###
|
198 |
+
* Bug fix - missing trackingObj
|
199 |
+
|
200 |
+
### 1.4.0 ###
|
201 |
+
* Added feature request form to all plugin admin pages. Submit your feature requests today! =)
|
202 |
+
|
203 |
+
### 1.3.9 ###
|
204 |
+
* Bug fixes for form creation issues
|
205 |
+
* Bug fixes for safari page tracking not firing
|
206 |
+
* Added quick menu to WP admin bar for quicker marketing!
|
207 |
+
|
208 |
+
### 1.3.8 ###
|
209 |
+
* Updated styles to 3.8 wordpress
|
210 |
+
* Streamlined form creation
|
211 |
+
* fixed rogue PHP errors
|
212 |
+
|
213 |
+
### 1.3.7 ###
|
214 |
+
* Added: Shortcode now automatically render in landing page option echos in templates
|
215 |
+
* Updated: Visual Editor tool
|
216 |
+
* Updated: Template selection interface
|
217 |
+
* Updated: Major updates to core templates, CSS tweaks and fixes
|
218 |
+
* Fixed: Shortcode insert into correct editor box
|
219 |
+
* Fixed: editor always on HTML view
|
220 |
+
|
221 |
+
### 1.3.6 ###
|
222 |
+
|
223 |
+
* Added: New Shortcodes! Fancy List and Column shortcodes
|
224 |
+
* Added: Added email confirmation support to Inbound Forms tool
|
225 |
+
* Added: Added New Welcome Page with Tutorial Video on Getting Started
|
226 |
+
* Added: New Debug Tab for faster support requests/debugging
|
227 |
+
* Fixed: CSS conflicts with button classes
|
228 |
+
|
229 |
+
### 1.3.1 ###
|
230 |
+
|
231 |
+
* Added: Added InboundNow form creation and management system (beta)
|
232 |
+
* Added: Support for InboundNow cross plugin extensions
|
233 |
+
* Added: 'Sticky Variations' to global settings.
|
234 |
+
* Added: Easier way for extension developers to license their extensions.
|
235 |
+
* Added: 'header' setting component to global settings.
|
236 |
+
* Fixed: Security issues
|
237 |
+
* Improvement: Improved data management for global settings, metaboxes, and extensions.
|
238 |
+
|
239 |
+
### 1.2.3 ###
|
240 |
+
|
241 |
+
* Fixed: Security issue with vulnerability to sql injection.
|
242 |
+
|
243 |
+
### 1.2.1 ###
|
244 |
+
|
245 |
+
* Fixed: Issues with shortcodes rendering in wp-admin for variations.
|
246 |
+
|
247 |
+
### 1.1.9 ###
|
248 |
+
|
249 |
+
* Fixed: Issues with navigation menu items breaking on landing pages with the default template selected.
|
250 |
+
|
251 |
+
### 1.1.8 ###
|
252 |
+
|
253 |
+
* Fixed: Issue with post_content not saving for variations.
|
254 |
+
* Added: [lp_conversion_area] Shortcode. It renders form conversion area anywhere on landing page
|
255 |
+
* Fixed: Restored the ability to delete custom templates from 'Templates' section.
|
256 |
+
|
257 |
+
### 1.1.7 ###
|
258 |
+
|
259 |
+
* Fixed: Issue with extension license keys not validating
|
260 |
+
* Fixed: Issue with shortcodes not firing on select core templates
|
261 |
+
* Improvement: Converted global settings data array to new easier to read format for development, added in legacy support.
|
262 |
+
|
263 |
+
### 1.1.0.1 ###
|
264 |
|
265 |
* Fixed: Variation saves for custom css and custom js.
|
266 |
* Fixed: jQuery error related to wysiwyg content formatting.
|
267 |
|
268 |
+
### 1.0.9.9 ###
|
269 |
* Improved extension metabox loading for quicker load times and optimized meta data storage.
|
270 |
* Phased out more 'old method' split testing components.
|
271 |
* Improved .htaccess parsing.
|
272 |
* Addressed issue with line breaks being removed from WYSIWYG editors.
|
273 |
|
274 |
+
### 1.0.9.4 ###
|
275 |
* Added in tours for the edit screen and the list of landing page screen for new users to learn how to use the tool quickly and easily
|
276 |
* Updated conversion tracking for wp-leads addon plugin
|
277 |
* Added in option for default templates to toggle on/off navigation
|
278 |
|
279 |
+
### 1.0.9.3 ###
|
280 |
|
281 |
* Removed old A/B split testing and the new system is fully in place!
|
282 |
|
283 |
+
### 1.0.9.0 ###
|
284 |
|
285 |
* Added in A/B stats to the main landing page list view
|
286 |
|
287 |
+
### 1.0.8.6 ###
|
288 |
|
289 |
* Release new and improved version of A/B testing!
|
290 |
* Ajax saving on landing page options for faster page edits
|
291 |
* Frontend Visual Editor to see what you are editing/changing
|
292 |
* Enabled frontend editor for use on normal pages and posts
|
293 |
|
294 |
+
### 1.0.8.5 ###
|
295 |
|
296 |
Providing better conversion and impression tracking for landing pages that are set as homepage.
|
297 |
|
298 |
+
### 1.0.8.4 ###
|
299 |
|
300 |
Fixing activation bug
|
301 |
|
302 |
+
### 1.0.8.1 ###
|
303 |
|
304 |
Fixing issue with jquery submission errors.
|
305 |
|
306 |
+
### 1.0.7.9 ###
|
307 |
|
308 |
Added capability to activate and update license keys for premium extensions. Added ability to define white listed HTML elements for Form Standardization process.
|
309 |
|
310 |
+
### 1.0.7.3 ###
|
311 |
|
312 |
Fixed issue with WP_List_table causing posts to to save or edit propperly Attempt 001
|
313 |
|
314 |
+
### 1.0.7.1 ###
|
315 |
|
316 |
Added cookie based auto-field population & lead data collection to core.
|
317 |
|
318 |
+
### 1.0.5.6 ###
|
319 |
|
320 |
Fixed issue with global setting's radio buttons not holding new set values.
|
321 |
|
322 |
+
### 1.0.5.3 ###
|
323 |
|
324 |
Solutions for custom post type wp rewrite issue on activation.
|
325 |
|
326 |
+
### 1.0.5.1 ###
|
327 |
|
328 |
Introducing version control system for extensions.
|
329 |
|
330 |
+
### 1.0.4.4 ###
|
331 |
|
332 |
Migrating store to new location. Updating version control systems
|
333 |
|
334 |
+
### 1.0.4.2 ###
|
335 |
|
336 |
Added new defitions to form standardization parser. Limited .htaccess rewrites to plugin activation to try and mitigate .htaccess corruptions.
|
337 |
|
338 |
+
### 1.0.4.1 ###
|
339 |
|
340 |
Fixed issue with conversions not recording on some servers by forcing form submittal to wait until ajax has completely finnished loading before continuing to process form.
|
341 |
|
342 |
+
### 1.0.3.9 ###
|
343 |
|
344 |
Fixed issue with plugins and wp core refusing to update on some installations when landing page plugin is activated.
|
345 |
|
346 |
+
### 1.0.3.8 ###
|
347 |
|
348 |
Debugging cross browser impressions and conversion tracking. Implemented soltion for url-to-postid conversions that's compatible with the /slug/ removal extension for landing pages plugin.
|
349 |
Added email validation check to prevent false positives when form standardization is turned on.
|
350 |
|
351 |
+
### 1.0.3.7 ###
|
352 |
|
353 |
+
**Bug Fix:** 'Clear Stats' button.
|
354 |
|
355 |
+
### 1.1 ###
|
356 |
|
357 |
Released
|
|
|
|
classes/class.activation.php
CHANGED
@@ -41,6 +41,9 @@ class Landing_Pages_Activation {
|
|
41 |
|
42 |
/* Activate shared components */
|
43 |
self::activate_shared();
|
|
|
|
|
|
|
44 |
|
45 |
}
|
46 |
|
@@ -125,10 +128,6 @@ class Landing_Pages_Activation {
|
|
125 |
|
126 |
/* Set's welcome page redirect transient */
|
127 |
set_transient( '_landing_page_activation_redirect', true, 30 );
|
128 |
-
/* We've had issues with this not working.
|
129 |
-
global $wp_rewrite;
|
130 |
-
$wp_rewrite->flush_rules();
|
131 |
-
*/
|
132 |
}
|
133 |
|
134 |
/**
|
41 |
|
42 |
/* Activate shared components */
|
43 |
self::activate_shared();
|
44 |
+
|
45 |
+
/* Run additional actions */
|
46 |
+
do_action( 'activate_landing_pages' );
|
47 |
|
48 |
}
|
49 |
|
128 |
|
129 |
/* Set's welcome page redirect transient */
|
130 |
set_transient( '_landing_page_activation_redirect', true, 30 );
|
|
|
|
|
|
|
|
|
131 |
}
|
132 |
|
133 |
/**
|
classes/class.activation.upgrade-routines.php
CHANGED
@@ -52,6 +52,19 @@ if ( !class_exists('Landing_Pages_Activation_Update_Routines') ) {
|
|
52 |
|
53 |
}
|
54 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
/*
|
56 |
* @introduced: 1.5.7
|
57 |
* @migration-type: Meta pair migragtion
|
52 |
|
53 |
}
|
54 |
}
|
55 |
+
|
56 |
+
/*
|
57 |
+
* @introduced: 1.7.5
|
58 |
+
* @migration-type: Meta key rename
|
59 |
+
* @migration: renames all instances of inbound_conversion_data to _inbound_conversion_data
|
60 |
+
|
61 |
+
*/
|
62 |
+
public static function meta_key_change_conversion_object() {
|
63 |
+
global $wpdb;
|
64 |
+
|
65 |
+
$wpdb->query("UPDATE $wpdb->postmeta SET `meta_key` = REPLACE (`meta_key` , 'inbound_conversion_data', '_inbound_conversion_data')");
|
66 |
+
}
|
67 |
+
|
68 |
/*
|
69 |
* @introduced: 1.5.7
|
70 |
* @migration-type: Meta pair migragtion
|
classes/class.branching.php
ADDED
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if ( !class_exists('Landing_Pages_Branching') ) {
|
4 |
+
|
5 |
+
class Landing_Pages_Branching {
|
6 |
+
|
7 |
+
|
8 |
+
/**
|
9 |
+
* Load class instance
|
10 |
+
*/
|
11 |
+
public function __construct() {
|
12 |
+
self::load_hooks();
|
13 |
+
}
|
14 |
+
|
15 |
+
/**
|
16 |
+
* Load hooks and filters
|
17 |
+
*/
|
18 |
+
public static function load_hooks() {
|
19 |
+
|
20 |
+
/* adds branching capabilities to branching API for landing pages */
|
21 |
+
add_filter( 'inbound_plugin_branches' , array( __CLASS__ , 'add_branches' ) , 10 , 1 );
|
22 |
+
|
23 |
+
/* reset active branch during svn update */
|
24 |
+
//add_action( 'activate_landing_pages' , array( __CLASS__ , 'reset_branch_status' ) , 10 , 1 );
|
25 |
+
}
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Add branches to branching api for landing pages plugin
|
29 |
+
*
|
30 |
+
*/
|
31 |
+
public static function add_branches( $branches ) {
|
32 |
+
$branches['landing-pages'] = array(
|
33 |
+
'git' => 'https://codeload.github.com/inboundnow/landing-pages/zip/master',
|
34 |
+
'svn' => 'https://downloads.wordpress.org/plugin/landing-pages.'.LANDINGPAGES_CURRENT_VERSION.'.zip'
|
35 |
+
);
|
36 |
+
|
37 |
+
return $branches;
|
38 |
+
}
|
39 |
+
|
40 |
+
|
41 |
+
}
|
42 |
+
|
43 |
+
$GLOBALS['Landing_Pages_Branching'] = new Landing_Pages_Branching;
|
44 |
+
}
|
css/admin-post-edit.css
CHANGED
@@ -13,6 +13,9 @@ h2#convert-header {
|
|
13 |
.quicktags-toolbar, .wp_themeSkin tr.mceFirst td.mceToolbar {
|
14 |
height: 38px;
|
15 |
}
|
|
|
|
|
|
|
16 |
.mceIframeContainer.mceFirst.mceLast iframe{
|
17 |
height: 335px !important;
|
18 |
}
|
13 |
.quicktags-toolbar, .wp_themeSkin tr.mceFirst td.mceToolbar {
|
14 |
height: 38px;
|
15 |
}
|
16 |
+
.quicktags-toolbar {
|
17 |
+
height: auto;
|
18 |
+
}
|
19 |
.mceIframeContainer.mceFirst.mceLast iframe{
|
20 |
height: 335px !important;
|
21 |
}
|
css/admin-post-new.css
CHANGED
@@ -18,6 +18,9 @@
|
|
18 |
.quicktags-toolbar, .wp_themeSkin tr.mceFirst td.mceToolbar {
|
19 |
height: 38px;
|
20 |
}
|
|
|
|
|
|
|
21 |
.mceIframeContainer.mceFirst.mceLast iframe{
|
22 |
height: 335px !important;
|
23 |
}
|
18 |
.quicktags-toolbar, .wp_themeSkin tr.mceFirst td.mceToolbar {
|
19 |
height: 38px;
|
20 |
}
|
21 |
+
.quicktags-toolbar {
|
22 |
+
height: auto;
|
23 |
+
}
|
24 |
.mceIframeContainer.mceFirst.mceLast iframe{
|
25 |
height: 335px !important;
|
26 |
}
|
css/admin-style.css
CHANGED
@@ -14,7 +14,9 @@
|
|
14 |
z-index:999999;
|
15 |
}
|
16 |
|
17 |
-
|
|
|
|
|
18 |
#setting-error-tgmpa p:nth-child(2) strong em {
|
19 |
margin-top: 5px;
|
20 |
}
|
@@ -35,10 +37,10 @@ z-index: 99999;
|
|
35 |
}
|
36 |
@font-face {
|
37 |
font-family: 'FontAwesome';
|
38 |
-
src: url('../shared/assets/
|
39 |
-
src: url('../shared/assets/
|
40 |
-
url('../shared/assets/
|
41 |
-
url('../shared/assets/
|
42 |
font-weight: normal;
|
43 |
font-style: normal;
|
44 |
}
|
@@ -327,11 +329,6 @@ div#lp-store-iframe-container > iframe {
|
|
327 |
color:#388DBC;
|
328 |
}
|
329 |
|
330 |
-
.wp-list-table td
|
331 |
-
{
|
332 |
-
color:#388DBC;
|
333 |
-
}
|
334 |
-
|
335 |
#wp-leads-splash-header
|
336 |
{
|
337 |
background: #f2f2f2;
|
14 |
z-index:999999;
|
15 |
}
|
16 |
|
17 |
+
tr#leads {
|
18 |
+
display: table-row !important;
|
19 |
+
}
|
20 |
#setting-error-tgmpa p:nth-child(2) strong em {
|
21 |
margin-top: 5px;
|
22 |
}
|
37 |
}
|
38 |
@font-face {
|
39 |
font-family: 'FontAwesome';
|
40 |
+
src: url('../shared/assets/fonts/fontawesome/fontawesome-webfont.eot?v=3.0.2');
|
41 |
+
src: url('../shared/assets/fonts/fontawesome/fontawesome-webfont.eot?#iefix&v=3.0.2') format('embedded-opentype'),
|
42 |
+
url('../shared/assets/fonts/fontawesome/fontawesome-webfont.woff?v=3.0.2') format('woff'),
|
43 |
+
url('../shared/assets/fonts/fontawesome/fontawesome-webfont.ttf?v=3.0.2') format('truetype');
|
44 |
font-weight: normal;
|
45 |
font-style: normal;
|
46 |
}
|
329 |
color:#388DBC;
|
330 |
}
|
331 |
|
|
|
|
|
|
|
|
|
|
|
332 |
#wp-leads-splash-header
|
333 |
{
|
334 |
background: #f2f2f2;
|
js/admin/admin.landing-page-list.js
CHANGED
@@ -1,86 +1,86 @@
|
|
1 |
-
|
2 |
// Code for landing page list view
|
3 |
-
var cats =
|
4 |
if ( cats === 0 ){
|
5 |
-
|
6 |
}
|
7 |
|
8 |
-
|
9 |
-
var draft =
|
10 |
if ( draft === "" ){
|
11 |
-
|
12 |
}
|
13 |
});
|
14 |
|
15 |
-
|
16 |
-
var empty =
|
17 |
if ( empty === "" || empty === "0" ){
|
18 |
-
|
19 |
-
|
20 |
}
|
21 |
});
|
22 |
/* List tour */
|
23 |
var tourbutton = '<a class="" id="lp-tour" style="font-size:13px;">Need help? Take the tour</a>';
|
24 |
-
|
25 |
-
|
26 |
-
var tour =
|
27 |
if ( tour === 0 ) {
|
28 |
-
|
29 |
}
|
30 |
setTimeout(function() {
|
31 |
introJs().start(); // start tour
|
32 |
}, 300);
|
33 |
|
34 |
});
|
35 |
-
/*
|
36 |
-
var length =
|
37 |
if ( length < 3 ){
|
38 |
-
|
39 |
}
|
40 |
});
|
41 |
*/
|
42 |
-
|
43 |
-
|
44 |
});
|
45 |
-
|
46 |
-
|
47 |
});
|
48 |
-
|
49 |
-
var target =
|
50 |
-
|
51 |
});
|
52 |
|
53 |
var hidestats = "<span id='hide-stats'>(Hide Stats)</span><span class='show-stats show-stats-top'>Show Stats</span>";
|
54 |
-
|
55 |
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
});
|
60 |
-
|
61 |
-
|
62 |
});
|
63 |
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
});
|
68 |
-
|
69 |
-
|
70 |
});
|
71 |
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
});
|
76 |
|
77 |
-
|
78 |
// Bind the qTip within the event handler
|
79 |
-
var text_in_tip =
|
80 |
-
var letter =
|
81 |
-
var status = "<span class='lp-paused'>" +
|
82 |
-
var winner = "<span class='lp-win'>" +
|
83 |
-
|
84 |
overwrite: false, // Make sure the tooltip won't be overridden once created
|
85 |
content: {
|
86 |
text: text_in_tip,
|
@@ -91,7 +91,7 @@ jQuery("body").on('mouseleave', 'tr.type-landing-page', function () {
|
|
91 |
position: {
|
92 |
my: 'bottom center', // Use the corner...
|
93 |
at: 'top center', // ...and opposite corner
|
94 |
-
viewport:
|
95 |
},
|
96 |
style: {
|
97 |
classes: 'qtip-shadow qtip-jtools',
|
@@ -106,21 +106,21 @@ jQuery("body").on('mouseleave', 'tr.type-landing-page', function () {
|
|
106 |
}, event); // Pass through our original event to qTip
|
107 |
})
|
108 |
|
109 |
-
|
110 |
|
111 |
|
112 |
});
|
113 |
|
114 |
-
|
115 |
-
|
116 |
});
|
117 |
|
118 |
-
|
119 |
-
|
120 |
});
|
121 |
|
122 |
// Fix Thickbox width/hieght
|
123 |
-
|
124 |
tb_position = function() {
|
125 |
var tbWindow = $('#TB_window');
|
126 |
var width = $(window).width();
|
@@ -146,7 +146,7 @@ jQuery("body").on('mouseleave', 'tr.type-landing-page', function () {
|
|
146 |
|
147 |
};
|
148 |
|
149 |
-
|
150 |
if ( typeof tinyMCE != 'undefined' && tinyMCE.activeEditor ) {
|
151 |
tinyMCE.get('content').focus();
|
152 |
tinyMCE.activeEditor.windowManager.bookmark = tinyMCE.activeEditor.selection.getBookmark('simple');
|
1 |
+
InboundQuery(document).ready(function($) {
|
2 |
// Code for landing page list view
|
3 |
+
var cats = InboundQuery("#landing_page_category option").length;
|
4 |
if ( cats === 0 ){
|
5 |
+
InboundQuery("#landing_page_category").hide();
|
6 |
}
|
7 |
|
8 |
+
InboundQuery('.lp-letter').each(function(){
|
9 |
+
var draft = InboundQuery(this).text();
|
10 |
if ( draft === "" ){
|
11 |
+
InboundQuery(this).parent().parent().hide();
|
12 |
}
|
13 |
});
|
14 |
|
15 |
+
InboundQuery(".lp-impress-num").each(function(){
|
16 |
+
var empty = InboundQuery(this).text();
|
17 |
if ( empty === "" || empty === "0" ){
|
18 |
+
InboundQuery(this).parent().parent().find(".lp-letter").css("color", "#ccc");
|
19 |
+
InboundQuery(this).parent().html("<span class='lp-no-stats'>no stats yet</span>");
|
20 |
}
|
21 |
});
|
22 |
/* List tour */
|
23 |
var tourbutton = '<a class="" id="lp-tour" style="font-size:13px;">Need help? Take the tour</a>';
|
24 |
+
InboundQuery(tourbutton).appendTo("h2:eq(0)");
|
25 |
+
InboundQuery("body").on('click', '#lp-tour', function () {
|
26 |
+
var tour = InboundQuery("#lp-tour-style").length;
|
27 |
if ( tour === 0 ) {
|
28 |
+
InboundQuery('head').append("<link rel='stylesheet' id='lp-tour-style' href='/wp-content/plugins/landing-pages/css/admin-tour.css' type='text/css' /><script type='text/javascript' src='/wp-content/plugins/landing-pages/js/admin/tour/tour.post-list.js'></script><script type='text/javascript' src='/wp-content/plugins/landing-pages/js/admin/intro.js'></script>");
|
29 |
}
|
30 |
setTimeout(function() {
|
31 |
introJs().start(); // start tour
|
32 |
}, 300);
|
33 |
|
34 |
});
|
35 |
+
/*InboundQuery(".lp-varation-stat-ul").each(function(){
|
36 |
+
var length = InboundQuery(this).find("li").length;
|
37 |
if ( length < 3 ){
|
38 |
+
InboundQuery(this).find("li").first().css("padding-top", "18px");
|
39 |
}
|
40 |
});
|
41 |
*/
|
42 |
+
InboundQuery("body").on('mouseenter', 'tr.type-landing-page', function () {
|
43 |
+
InboundQuery(this).find(".no-stats-yet").show();
|
44 |
});
|
45 |
+
InboundQuery("body").on('mouseleave', 'tr.type-landing-page', function () {
|
46 |
+
InboundQuery(this).find(".no-stats-yet").hide();
|
47 |
});
|
48 |
+
InboundQuery(".variation-winner-is").each(function(){
|
49 |
+
var target = InboundQuery(this).text();
|
50 |
+
InboundQuery("." + target).addClass("winner-lp").attr("data-lp", "Current Winner");
|
51 |
});
|
52 |
|
53 |
var hidestats = "<span id='hide-stats'>(Hide Stats)</span><span class='show-stats show-stats-top'>Show Stats</span>";
|
54 |
+
InboundQuery("#stats").append(hidestats);
|
55 |
|
56 |
+
InboundQuery("body").on('click', '#hide-stats', function () {
|
57 |
+
InboundQuery(".lp-varation-stat-ul").each(function(){
|
58 |
+
InboundQuery(this).hide();
|
59 |
});
|
60 |
+
InboundQuery(".show-stats").show();
|
61 |
+
InboundQuery("#hide-stats").hide();
|
62 |
});
|
63 |
|
64 |
+
InboundQuery("body").on('click', '.show-stats-top', function () {
|
65 |
+
InboundQuery(".lp-varation-stat-ul").each(function(){
|
66 |
+
InboundQuery(this).show();
|
67 |
});
|
68 |
+
InboundQuery(".show-stats").hide();
|
69 |
+
InboundQuery("#hide-stats").show();
|
70 |
});
|
71 |
|
72 |
+
InboundQuery("body").on('click', '.show-stats', function () {
|
73 |
+
InboundQuery(this).hide();
|
74 |
+
InboundQuery(this).parent().find(".lp-varation-stat-ul").show();
|
75 |
});
|
76 |
|
77 |
+
InboundQuery('.lp-letter, .cr-number, .qtip').on('mouseenter', function(event) {
|
78 |
// Bind the qTip within the event handler
|
79 |
+
var text_in_tip = InboundQuery(this).attr("data-notes");
|
80 |
+
var letter = InboundQuery(this).attr("data-letter");
|
81 |
+
var status = "<span class='lp-paused'>" + InboundQuery(this).parent().attr("rel") + "</span>";
|
82 |
+
var winner = "<span class='lp-win'>" + InboundQuery(this).parent().attr("data-lp") + "</span>";
|
83 |
+
InboundQuery(this).qtip({
|
84 |
overwrite: false, // Make sure the tooltip won't be overridden once created
|
85 |
content: {
|
86 |
text: text_in_tip,
|
91 |
position: {
|
92 |
my: 'bottom center', // Use the corner...
|
93 |
at: 'top center', // ...and opposite corner
|
94 |
+
viewport: InboundQuery(window)
|
95 |
},
|
96 |
style: {
|
97 |
classes: 'qtip-shadow qtip-jtools',
|
106 |
}, event); // Pass through our original event to qTip
|
107 |
})
|
108 |
|
109 |
+
InboundQuery('.lp-letter').on('mouseleave', function(event) {
|
110 |
|
111 |
|
112 |
});
|
113 |
|
114 |
+
InboundQuery("body").on("click", ".lp-pop-close", function(event) {
|
115 |
+
InboundQuery(this).parent().parent().parent().hide();
|
116 |
});
|
117 |
|
118 |
+
InboundQuery("body").on("click", ".lp-pop-preview a", function(event) {
|
119 |
+
InboundQuery(this).parent().parent().parent().parent().hide();
|
120 |
});
|
121 |
|
122 |
// Fix Thickbox width/hieght
|
123 |
+
InboundQuery(function($) {
|
124 |
tb_position = function() {
|
125 |
var tbWindow = $('#TB_window');
|
126 |
var width = $(window).width();
|
146 |
|
147 |
};
|
148 |
|
149 |
+
InboundQuery('a.thickbox').click(function(){
|
150 |
if ( typeof tinyMCE != 'undefined' && tinyMCE.activeEditor ) {
|
151 |
tinyMCE.get('content').focus();
|
152 |
tinyMCE.activeEditor.windowManager.bookmark = tinyMCE.activeEditor.selection.getBookmark('simple');
|
js/admin/admin.post-edit.js
CHANGED
@@ -5,6 +5,13 @@ jQuery(document).ready(function($) {
|
|
5 |
alert('Oh no! jQuery Cookie not loaded. Your Server Might be Blocking this. Some functionality may be impaired');
|
6 |
}
|
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
|
9 |
// Filter Styling
|
10 |
jQuery('#template-filter li').first().addClass('button-primary');
|
@@ -431,184 +438,6 @@ jQuery(document).ready(function($) {
|
|
431 |
jQuery("#publish").val("Update All");
|
432 |
}
|
433 |
|
434 |
-
// Ajax Saving for metadata
|
435 |
-
jQuery('#lp_metabox_select_template input, #lp_metabox_select_template select, #lp_metabox_select_template textarea').on("change keyup", function (e) {
|
436 |
-
// iframe content change needs its own change function $("#iFrame").contents().find("#someDiv")
|
437 |
-
// media uploader needs its own change function
|
438 |
-
var this_id = jQuery(this).attr("id");
|
439 |
-
var parent_el = jQuery(this).parent();
|
440 |
-
jQuery(parent_el).find(".lp-success-message").remove();
|
441 |
-
jQuery(parent_el).find(".new-save-lp").remove();
|
442 |
-
var ajax_save_button = jQuery('<span class="button-primary new-save-lp" id="' + this_id + '" style="margin-left:10px">Update</span>');
|
443 |
-
//console.log(parent_el);
|
444 |
-
jQuery(ajax_save_button).appendTo(parent_el);
|
445 |
-
});
|
446 |
-
|
447 |
-
jQuery('#lp-notes-area input').on("change keyup", function (e) {
|
448 |
-
var this_id = jQuery(this).attr("id");
|
449 |
-
var parent_el = jQuery(this).parent();
|
450 |
-
jQuery(parent_el).find(".lp-success-message").remove();
|
451 |
-
jQuery(parent_el).find(".new-save-lp").remove();
|
452 |
-
var ajax_save_button = jQuery('<span class="button-primary new-save-lp" id="' + this_id + '" style="margin-left:10px">Update</span>');
|
453 |
-
//console.log(parent_el);
|
454 |
-
jQuery(ajax_save_button).appendTo(parent_el);
|
455 |
-
});
|
456 |
-
|
457 |
-
jQuery('#main-title-area input').on("change keyup", function (e) {
|
458 |
-
// iframe content change needs its own change function $("#iFrame").contents().find("#someDiv")
|
459 |
-
// media uploader needs its own change function
|
460 |
-
var this_id = jQuery(this).attr("id");
|
461 |
-
var current_view = jQuery("#lp-current-view").text();
|
462 |
-
if (current_view !== "0") {
|
463 |
-
this_id = this_id + '-' + current_view;
|
464 |
-
}
|
465 |
-
var parent_el = jQuery(this).parent();
|
466 |
-
jQuery(parent_el).find(".lp-success-message").remove();
|
467 |
-
jQuery(parent_el).find(".new-save-lp").remove();
|
468 |
-
var ajax_save_button = jQuery('<span class="button-primary new-save-lp" id="' + this_id + '" style="margin-left:10px">Update</span>');
|
469 |
-
//console.log(parent_el);
|
470 |
-
jQuery(ajax_save_button).appendTo(parent_el);
|
471 |
-
});
|
472 |
-
|
473 |
-
// wysiwyg on keyup save action
|
474 |
-
/*
|
475 |
-
setTimeout(function() {
|
476 |
-
jQuery('.mceIframeContainer iframe, .landing-page-option-row iframe').contents().find('body').on("keyup", function (e) {
|
477 |
-
var thisclass = jQuery(this).attr("class");
|
478 |
-
var this_class_dirty = thisclass.replace("mceContentBody ", "");
|
479 |
-
var this_class_cleaner = this_class_dirty.replace("wp-editor", "");
|
480 |
-
var clean_1 = this_class_cleaner.replace("post-type-landing-page", "");
|
481 |
-
var clean_2 = clean_1.replace("post-status-publish", "");
|
482 |
-
var clean_3 = clean_2.replace(/[.\s]+$/g, ""); // remove trailing whitespace
|
483 |
-
var clean_spaces = clean_3.replace(/\s{2,}/g, ' '); // remove more than one space
|
484 |
-
var this_id = clean_spaces.replace(/[.\s]+$/g, ""); // remove trailing whitespace
|
485 |
-
console.log(this_id);
|
486 |
-
var parent_el = jQuery( "." + this_id + " .landing-page-table-header");
|
487 |
-
jQuery(parent_el).find(".lp-success-message").remove();
|
488 |
-
jQuery(parent_el).find(".new-save-lp").remove();
|
489 |
-
var ajax_save_button = jQuery('<span class="button-primary new-save-lp" id="' + this_id + '" style="margin-left:10px;">Update</span>');
|
490 |
-
//console.log(parent_el);
|
491 |
-
jQuery(ajax_save_button).appendTo(parent_el);
|
492 |
-
});
|
493 |
-
}, 4000);
|
494 |
-
*/
|
495 |
-
|
496 |
-
|
497 |
-
// SAVE META
|
498 |
-
var nonce_val = lp_post_edit_ui.wp_landing_page_meta_nonce; // NEED CORRECT NONCE
|
499 |
-
jQuery(document).on('mousedown', '.new-save-lp', function () {
|
500 |
-
var type_input = jQuery(this).parent().find("input").attr("type");
|
501 |
-
var type_select = jQuery(this).parent().find("select");
|
502 |
-
// var the_conversion_area_editor = jQuery(this).parent().parent().find('#lp-conversion-area_ifr').length;
|
503 |
-
jQuery(this).parent().find(".lp-success-message").hide();
|
504 |
-
// var the_content_editor = jQuery(this).parent().parent().find('#wp_content_ifr').length;
|
505 |
-
var type_wysiwyg = jQuery(this).parent().parent().find('iframe').length;
|
506 |
-
|
507 |
-
var type_textarea = jQuery(this).parent().find("textarea");
|
508 |
-
if (typeof (type_input) != "undefined" && type_input !== null) {
|
509 |
-
var type_of_field = type_input;
|
510 |
-
} else if (typeof (type_wysiwyg) != "undefined" && type_wysiwyg !== null && type_wysiwyg === 1) {
|
511 |
-
var type_of_field = 'wysiwyg';
|
512 |
-
} else if (typeof (type_textarea) != "undefined" && type_textarea !== null) {
|
513 |
-
var type_of_field = 'textarea';
|
514 |
-
} else {
|
515 |
-
(typeof (type_select) != "undefined" && type_select)
|
516 |
-
var type_of_field = 'select';
|
517 |
-
}
|
518 |
-
// console.log(type_of_field); // type of input
|
519 |
-
var new_value_meta_input = jQuery(this).parent().find("input").val();
|
520 |
-
//console.log(new_value_meta_input);
|
521 |
-
var new_value_meta_select = jQuery(this).parent().find("select").val();
|
522 |
-
var new_value_meta_textarea = jQuery(this).parent().find("textarea").val();
|
523 |
-
// console.log(new_value_meta_select);
|
524 |
-
var new_value_meta_radio = jQuery(this).parent().find("input:checked").val();
|
525 |
-
var new_value_meta_checkbox = jQuery(this).parent().find('input[type="checkbox"]:checked').val();
|
526 |
-
var new_wysiwyg_meta = jQuery(this).parent().parent().find("iframe").contents().find("body").html();
|
527 |
-
// prep data
|
528 |
-
if (typeof (new_value_meta_input) != "undefined" && new_value_meta_input !== null && type_of_field == "text") {
|
529 |
-
var meta_to_save = new_value_meta_input;
|
530 |
-
} else if (typeof (new_value_meta_textarea) != "undefined" && new_value_meta_textarea !== null && type_of_field == "textarea") {
|
531 |
-
var meta_to_save = new_value_meta_textarea;
|
532 |
-
} else if (typeof (new_value_meta_select) != "undefined" && new_value_meta_select !== null) {
|
533 |
-
var meta_to_save = new_value_meta_select;
|
534 |
-
} else if (typeof (new_value_meta_radio) != "undefined" && new_value_meta_radio !== null && type_of_field == "radio") {
|
535 |
-
var meta_to_save = new_value_meta_radio;
|
536 |
-
} else if (typeof (new_value_meta_checkbox) != "undefined" && new_value_meta_checkbox !== null && type_of_field == "checkbox") {
|
537 |
-
var meta_to_save = new_value_meta_checkbox;
|
538 |
-
} else if (typeof (new_wysiwyg_meta) != "undefined" && new_wysiwyg_meta !== null && type_of_field == "wysiwyg") {
|
539 |
-
var meta_to_save = new_wysiwyg_meta;
|
540 |
-
//alert('here');
|
541 |
-
} else {
|
542 |
-
var meta_to_save = "";
|
543 |
-
}
|
544 |
-
|
545 |
-
// if data exists save it
|
546 |
-
// console.log(meta_to_save);
|
547 |
-
|
548 |
-
var this_meta_id = jQuery(this).attr("id"); // From save button
|
549 |
-
console.log(this_meta_id);
|
550 |
-
var post_id = jQuery("#post_ID").val();
|
551 |
-
console.log(post_id);
|
552 |
-
console.log(meta_to_save);
|
553 |
-
var frontend_status = jQuery("#frontend-on").val();
|
554 |
-
|
555 |
-
function do_reload_preview() {
|
556 |
-
var cache_bust = generate_random_cache_bust(35);
|
557 |
-
var reload_url = parent.window.location.href;
|
558 |
-
reload_url = reload_url.replace('template-customize=on','');
|
559 |
-
//alert(reload_url);
|
560 |
-
var current_variation_id = jQuery("#lp-current-view").text();
|
561 |
-
|
562 |
-
// var reload = jQuery(parent.document).find("#lp-live-preview").attr("src");
|
563 |
-
var new_reload = reload_url + "&live-preview-area=" + cache_bust + "&lp-variation-id=" + current_variation_id;
|
564 |
-
//alert(new_reload);
|
565 |
-
jQuery(parent.document).find("#lp-live-preview").attr("src", new_reload);
|
566 |
-
// console.log(new_reload);
|
567 |
-
}
|
568 |
-
// Run Ajax
|
569 |
-
jQuery.ajax({
|
570 |
-
type: 'POST',
|
571 |
-
url: lp_post_edit_ui.ajaxurl,
|
572 |
-
context: this,
|
573 |
-
data: {
|
574 |
-
action: 'wp_landing_page_meta_save',
|
575 |
-
meta_id: this_meta_id,
|
576 |
-
new_meta_val: meta_to_save,
|
577 |
-
page_id: post_id,
|
578 |
-
nonce: nonce_val
|
579 |
-
},
|
580 |
-
|
581 |
-
success: function (data) {
|
582 |
-
var self = this;
|
583 |
-
|
584 |
-
//alert(data);
|
585 |
-
// jQuery('.lp-form').unbind('submit').submit();
|
586 |
-
//var worked = '<span class="success-message-map">Success! ' + this_meta_id + ' set to ' + meta_to_save + '</span>';
|
587 |
-
var worked = '<span class="lp-success-message">Updated!</span>';
|
588 |
-
var s_message = jQuery(self).parent();
|
589 |
-
jQuery(worked).appendTo(s_message);
|
590 |
-
jQuery(self).parent().find("lp-success-message").remove();
|
591 |
-
jQuery(self).hide();
|
592 |
-
// RUN RELOAD
|
593 |
-
if (typeof (frontend_status) != "undefined" && frontend_status !== null) {
|
594 |
-
|
595 |
-
console.log('reload frame');
|
596 |
-
do_reload_preview();
|
597 |
-
} else {
|
598 |
-
console.log('No reload frame');
|
599 |
-
}
|
600 |
-
//alert("Changes Saved!");
|
601 |
-
},
|
602 |
-
|
603 |
-
error: function (MLHttpRequest, textStatus, errorThrown) {
|
604 |
-
alert("Ajax not enabled");
|
605 |
-
}
|
606 |
-
});
|
607 |
-
|
608 |
-
//reload_preview();
|
609 |
-
return false;
|
610 |
-
|
611 |
-
});
|
612 |
|
613 |
|
614 |
});
|
5 |
alert('Oh no! jQuery Cookie not loaded. Your Server Might be Blocking this. Some functionality may be impaired');
|
6 |
}
|
7 |
|
8 |
+
jQuery('.button.button-small').each(function(){
|
9 |
+
var $this = jQuery(this);
|
10 |
+
var text = $this.text();
|
11 |
+
if(text === "Get Shortlink") {
|
12 |
+
$this.hide();
|
13 |
+
}
|
14 |
+
});
|
15 |
|
16 |
// Filter Styling
|
17 |
jQuery('#template-filter li').first().addClass('button-primary');
|
438 |
jQuery("#publish").val("Update All");
|
439 |
}
|
440 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
441 |
|
442 |
|
443 |
});
|
js/customizer.save.js
CHANGED
@@ -15,149 +15,6 @@ jQuery(document).ready(function($) {
|
|
15 |
jQuery(this).css("max-width", editor_size);
|
16 |
});
|
17 |
}, 1000);
|
18 |
-
|
19 |
-
//jQuery("body").width(iframe_size);
|
20 |
-
//jQuery("#wpcontent").width(iframe_size);
|
21 |
-
|
22 |
-
// On keystroke have save button show
|
23 |
-
/* Disable single settng save while not working
|
24 |
-
jQuery('#lp-frontend-options-container input, #lp-frontend-options-container textarea').on("keyup", function (e) {
|
25 |
-
var this_id = jQuery(this).attr("id");
|
26 |
-
var parent_el = jQuery(this).parent();
|
27 |
-
jQuery(parent_el).find(".lp-success-message").remove();
|
28 |
-
jQuery(parent_el).find(".new-save-lp-frontend").remove();
|
29 |
-
var ajax_save_button = jQuery('<span class="button-primary new-save-lp-frontend" id="' + this_id + '" style="margin-left:10px">Update</span>');
|
30 |
-
//console.log(parent_el);
|
31 |
-
jQuery(ajax_save_button).appendTo(parent_el);
|
32 |
-
});
|
33 |
-
|
34 |
-
// On change have save button show
|
35 |
-
jQuery('#lp-frontend-options-container input, #lp-frontend-options-container select, #lp-frontend-options-container textarea').on("change", function (e) {
|
36 |
-
var this_id = jQuery(this).attr("id");
|
37 |
-
var parent_el = jQuery(this).parent();
|
38 |
-
jQuery(parent_el).find(".lp-success-message").remove();
|
39 |
-
jQuery(parent_el).find(".new-save-lp-frontend").remove();
|
40 |
-
var ajax_save_button = jQuery('<span class="button-primary new-save-lp-frontend" id="' + this_id + '" style="margin-left:10px">Update</span>');
|
41 |
-
//console.log(parent_el);
|
42 |
-
jQuery(ajax_save_button).appendTo(parent_el);
|
43 |
-
});
|
44 |
-
|
45 |
-
// wysiwyg on keyup save action
|
46 |
-
setTimeout(function() {
|
47 |
-
jQuery('.landing-page-option-row iframe').contents().find('body').on("keyup", function (e) {
|
48 |
-
var thisclass = jQuery(this).attr("class");
|
49 |
-
var this_class_dirty = thisclass.replace("mceContentBody ", "");
|
50 |
-
var this_class_cleaner = this_class_dirty.replace("wp-editor", "");
|
51 |
-
var clean_1 = this_class_cleaner.replace("post-type-landing-page", "");
|
52 |
-
var clean_2 = clean_1.replace(/[.\s]+$/g, ""); // remove trailing whitespace
|
53 |
-
var clean_spaces = clean_2.replace(/\s{2,}/g, ' '); // remove more than one space
|
54 |
-
var this_id = clean_spaces.replace(/[.\s]+$/g, ""); // remove trailing whitespace
|
55 |
-
console.log(this_id);
|
56 |
-
var parent_el = jQuery( "." + this_id + " .landing-page-table-header");
|
57 |
-
jQuery(parent_el).find(".lp-success-message").remove();
|
58 |
-
jQuery(parent_el).find(".new-save-lp-frontend").remove();
|
59 |
-
var ajax_save_button = jQuery('<span class="button-primary new-save-lp-frontend" id="' + this_id + '" style="margin-left:10px;">Update</span>');
|
60 |
-
//console.log(parent_el);
|
61 |
-
jQuery(ajax_save_button).appendTo(parent_el);
|
62 |
-
});
|
63 |
-
}, 4000);
|
64 |
-
|
65 |
-
// Prep Data and Save
|
66 |
-
var nonce_val = lp_post_edit_ui.wp_landing_page_meta_nonce; // NEED CORRECT NONCE
|
67 |
-
jQuery(document).on('mousedown', '.new-save-lp-frontend', function () {
|
68 |
-
var type_input = jQuery(this).parent().find("input").attr("type");
|
69 |
-
var type_select = jQuery(this).parent().find("select");
|
70 |
-
// var the_conversion_area_editor = jQuery(this).parent().parent().find('#lp-conversion-area_ifr').length;
|
71 |
-
jQuery(this).parent().find(".lp-success-message").hide();
|
72 |
-
// var the_content_editor = jQuery(this).parent().parent().find('#wp_content_ifr').length;
|
73 |
-
var type_wysiwyg = jQuery(this).parent().parent().find('iframe').length;
|
74 |
-
|
75 |
-
var type_textarea = jQuery(this).parent().find("textarea");
|
76 |
-
if (typeof (type_input) != "undefined" && type_input !== null) {
|
77 |
-
var type_of_field = type_input;
|
78 |
-
} else if (typeof (type_wysiwyg) != "undefined" && type_wysiwyg !== null && type_wysiwyg === 1) {
|
79 |
-
var type_of_field = 'wysiwyg';
|
80 |
-
} else if (typeof (type_textarea) != "undefined" && type_textarea !== null) {
|
81 |
-
var type_of_field = 'textarea';
|
82 |
-
} else {
|
83 |
-
(typeof (type_select) != "undefined" && type_select)
|
84 |
-
var type_of_field = 'select';
|
85 |
-
}
|
86 |
-
// console.log(type_of_field); // type of input
|
87 |
-
var new_value_meta_input = jQuery(this).parent().find("input").val();
|
88 |
-
//console.log(new_value_meta_input);
|
89 |
-
var new_value_meta_select = jQuery(this).parent().find("select").val();
|
90 |
-
var new_value_meta_textarea = jQuery(this).parent().find("textarea").val();
|
91 |
-
// console.log(new_value_meta_select);
|
92 |
-
var new_value_meta_radio = jQuery(this).parent().find("input:checked").val();
|
93 |
-
var new_value_meta_checkbox = jQuery(this).parent().find('input[type="checkbox"]:checked').val();
|
94 |
-
var new_wysiwyg_meta = jQuery(this).parent().parent().find("iframe").contents().find("body").html();
|
95 |
-
// prep data
|
96 |
-
if (typeof (new_value_meta_input) != "undefined" && new_value_meta_input !== null && type_of_field == "text") {
|
97 |
-
var meta_to_save = new_value_meta_input;
|
98 |
-
} else if (typeof (new_value_meta_textarea) != "undefined" && new_value_meta_textarea !== null && type_of_field == "textarea") {
|
99 |
-
var meta_to_save = new_value_meta_textarea;
|
100 |
-
} else if (typeof (new_value_meta_select) != "undefined" && new_value_meta_select !== null) {
|
101 |
-
var meta_to_save = new_value_meta_select;
|
102 |
-
} else if (typeof (new_value_meta_radio) != "undefined" && new_value_meta_radio !== null && type_of_field == "radio") {
|
103 |
-
var meta_to_save = new_value_meta_radio;
|
104 |
-
} else if (typeof (new_value_meta_checkbox) != "undefined" && new_value_meta_checkbox !== null && type_of_field == "checkbox") {
|
105 |
-
var meta_to_save = new_value_meta_checkbox;
|
106 |
-
} else if (typeof (new_wysiwyg_meta) != "undefined" && new_wysiwyg_meta !== null && type_of_field == "wysiwyg") {
|
107 |
-
var meta_to_save = new_wysiwyg_meta;
|
108 |
-
//alert('here');
|
109 |
-
} else {
|
110 |
-
var meta_to_save = "";
|
111 |
-
}
|
112 |
-
|
113 |
-
// if data exists save it
|
114 |
-
// console.log(meta_to_save);
|
115 |
-
|
116 |
-
var this_meta_id = jQuery(this).attr("id"); // From save button
|
117 |
-
console.log(this_meta_id);
|
118 |
-
var post_id = jQuery("#post_ID").text();
|
119 |
-
console.log(post_id);
|
120 |
-
console.log(meta_to_save);
|
121 |
-
|
122 |
-
// Run Ajax
|
123 |
-
jQuery.ajax({
|
124 |
-
type: 'POST',
|
125 |
-
url: lp_post_edit_ui.ajaxurl,
|
126 |
-
context: this,
|
127 |
-
data: {
|
128 |
-
action: 'wp_landing_page_meta_save',
|
129 |
-
meta_id: this_meta_id,
|
130 |
-
new_meta_val: meta_to_save,
|
131 |
-
page_id: post_id,
|
132 |
-
nonce: nonce_val
|
133 |
-
},
|
134 |
-
|
135 |
-
success: function (data) {
|
136 |
-
var self = this;
|
137 |
-
|
138 |
-
//alert(data);
|
139 |
-
// jQuery('.lp-form').unbind('submit').submit();
|
140 |
-
//var worked = '<span class="success-message-map">Success! ' + this_meta_id + ' set to ' + meta_to_save + '</span>';
|
141 |
-
var worked = '<span class="lp-success-message">Updated!</span>';
|
142 |
-
var s_message = jQuery(self).parent();
|
143 |
-
jQuery(worked).appendTo(s_message);
|
144 |
-
jQuery(self).parent().find("lp-success-message").remove();
|
145 |
-
jQuery(self).hide();
|
146 |
-
jQuery('.reload').click();
|
147 |
-
//alert("Changes Saved!");
|
148 |
-
},
|
149 |
-
|
150 |
-
error: function (MLHttpRequest, textStatus, errorThrown) {
|
151 |
-
alert("Ajax not enabled");
|
152 |
-
}
|
153 |
-
});
|
154 |
-
|
155 |
-
//reload_preview();
|
156 |
-
return false;
|
157 |
-
|
158 |
-
});
|
159 |
-
|
160 |
-
*/
|
161 |
|
162 |
function MyFunction(id, this_event)
|
163 |
{
|
15 |
jQuery(this).css("max-width", editor_size);
|
16 |
});
|
17 |
}, 1000);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
|
19 |
function MyFunction(id, this_event)
|
20 |
{
|
js/page_view_track.js
CHANGED
@@ -1,14 +1,5 @@
|
|
1 |
jQuery(document).ready(function($) {
|
2 |
|
3 |
-
setTimeout(function() {
|
4 |
-
jQuery('form').each(function(){
|
5 |
-
//jQuery(this).addClass('inbound-track');
|
6 |
-
});
|
7 |
-
}, 700);
|
8 |
-
|
9 |
-
|
10 |
-
// Saves variation page views
|
11 |
-
|
12 |
// Save page view count
|
13 |
jQuery.ajax({
|
14 |
type: 'POST',
|
1 |
jQuery(document).ready(function($) {
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
// Save page view count
|
4 |
jQuery.ajax({
|
5 |
type: 'POST',
|
landing-pages.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Landing Pages
|
4 |
Plugin URI: http://www.inboundnow.com/landing-pages/
|
5 |
Description: The first true all-in-one Landing Page solution for WordPress, including ongoing conversion metrics, a/b split testing, unlimited design options and so much more!
|
6 |
-
Version: 1.
|
7 |
Author: Inbound Now
|
8 |
Author URI: http://www.inboundnow.com/
|
9 |
Text Domain: landing-pages
|
@@ -78,6 +78,8 @@ if (!class_exists('Inbound_Landing_Pages_Plugin')) {
|
|
78 |
}
|
79 |
}
|
80 |
/* END PHP VERSION CHECKS */
|
|
|
|
|
81 |
/**
|
82 |
* Main Inbound_Landing_Pages_Plugin Instance
|
83 |
*
|
@@ -94,6 +96,7 @@ if (!class_exists('Inbound_Landing_Pages_Plugin')) {
|
|
94 |
self::load_files();
|
95 |
self::load_shared_files();
|
96 |
self::load_text_domain_init();
|
|
|
97 |
}
|
98 |
|
99 |
/**
|
@@ -102,7 +105,7 @@ if (!class_exists('Inbound_Landing_Pages_Plugin')) {
|
|
102 |
*/
|
103 |
private static function load_constants() {
|
104 |
|
105 |
-
define('LANDINGPAGES_CURRENT_VERSION', '1.
|
106 |
define('LANDINGPAGES_URLPATH', plugins_url( '/' , __FILE__ ) );
|
107 |
define('LANDINGPAGES_PATH', WP_PLUGIN_DIR.'/'.plugin_basename( dirname(__FILE__) ).'/' );
|
108 |
define('LANDINGPAGES_PLUGIN_SLUG', plugin_basename( dirname(__FILE__) ) );
|
@@ -152,6 +155,8 @@ if (!class_exists('Inbound_Landing_Pages_Plugin')) {
|
|
152 |
include_once('modules/module.templates.php');
|
153 |
include_once('modules/module.store.php');
|
154 |
include_once('modules/module.customizer.php');
|
|
|
|
|
155 |
|
156 |
BREAK;
|
157 |
|
@@ -170,6 +175,8 @@ if (!class_exists('Inbound_Landing_Pages_Plugin')) {
|
|
170 |
include_once('modules/module.landing-page.php');
|
171 |
include_once('classes/class.load-extensions.php');
|
172 |
include_once('modules/module.customizer.php');
|
|
|
|
|
173 |
|
174 |
BREAK;
|
175 |
endswitch;
|
@@ -206,25 +213,27 @@ if (!class_exists('Inbound_Landing_Pages_Plugin')) {
|
|
206 |
Inbound_Landing_Pages_Plugin::fail_php_version();
|
207 |
}
|
208 |
|
|
|
|
|
209 |
|
210 |
-
|
|
|
|
|
|
|
211 |
|
|
|
|
|
|
|
|
|
212 |
|
|
|
|
|
|
|
|
|
|
|
213 |
|
214 |
|
215 |
-
/* lagacy - Conditional check LP active */
|
216 |
-
function lp_check_active() {
|
217 |
-
return 1;
|
218 |
-
}
|
219 |
|
220 |
-
/* Function to check This has been loaded for the tests */
|
221 |
-
function landingpages_is_active() {
|
222 |
-
return true;
|
223 |
}
|
224 |
|
225 |
-
/* Function to check plugin code is running in travis */
|
226 |
-
function inbound_travis_check() {
|
227 |
-
echo '*** Landing Pages Plugin is Running on Travis ***';
|
228 |
-
return true;
|
229 |
-
}
|
230 |
|
3 |
Plugin Name: Landing Pages
|
4 |
Plugin URI: http://www.inboundnow.com/landing-pages/
|
5 |
Description: The first true all-in-one Landing Page solution for WordPress, including ongoing conversion metrics, a/b split testing, unlimited design options and so much more!
|
6 |
+
Version: 1.8.1
|
7 |
Author: Inbound Now
|
8 |
Author URI: http://www.inboundnow.com/
|
9 |
Text Domain: landing-pages
|
78 |
}
|
79 |
}
|
80 |
/* END PHP VERSION CHECKS */
|
81 |
+
|
82 |
+
|
83 |
/**
|
84 |
* Main Inbound_Landing_Pages_Plugin Instance
|
85 |
*
|
96 |
self::load_files();
|
97 |
self::load_shared_files();
|
98 |
self::load_text_domain_init();
|
99 |
+
|
100 |
}
|
101 |
|
102 |
/**
|
105 |
*/
|
106 |
private static function load_constants() {
|
107 |
|
108 |
+
define('LANDINGPAGES_CURRENT_VERSION', '1.8.1' );
|
109 |
define('LANDINGPAGES_URLPATH', plugins_url( '/' , __FILE__ ) );
|
110 |
define('LANDINGPAGES_PATH', WP_PLUGIN_DIR.'/'.plugin_basename( dirname(__FILE__) ).'/' );
|
111 |
define('LANDINGPAGES_PLUGIN_SLUG', plugin_basename( dirname(__FILE__) ) );
|
155 |
include_once('modules/module.templates.php');
|
156 |
include_once('modules/module.store.php');
|
157 |
include_once('modules/module.customizer.php');
|
158 |
+
//include_once('classes/class.branching.php');
|
159 |
+
|
160 |
|
161 |
BREAK;
|
162 |
|
175 |
include_once('modules/module.landing-page.php');
|
176 |
include_once('classes/class.load-extensions.php');
|
177 |
include_once('modules/module.customizer.php');
|
178 |
+
include_once('shared/classes/class.magic.php');
|
179 |
+
|
180 |
|
181 |
BREAK;
|
182 |
endswitch;
|
213 |
Inbound_Landing_Pages_Plugin::fail_php_version();
|
214 |
}
|
215 |
|
216 |
+
|
217 |
+
|
218 |
|
219 |
+
/* lagacy - Conditional check LP active */
|
220 |
+
function lp_check_active() {
|
221 |
+
return 1;
|
222 |
+
}
|
223 |
|
224 |
+
/* Function to check This has been loaded for the tests */
|
225 |
+
function landingpages_is_active() {
|
226 |
+
return true;
|
227 |
+
}
|
228 |
|
229 |
+
/* Function to check plugin code is running in travis */
|
230 |
+
function inbound_travis_check() {
|
231 |
+
echo '*** Landing Pages Plugin is Running on Travis ***';
|
232 |
+
return true;
|
233 |
+
}
|
234 |
|
235 |
|
|
|
|
|
|
|
|
|
236 |
|
|
|
|
|
|
|
237 |
}
|
238 |
|
|
|
|
|
|
|
|
|
|
|
239 |
|
lang/landing-pages-ach.mo
CHANGED
Binary file
|
lang/landing-pages-af.mo
CHANGED
Binary file
|
lang/landing-pages-an.mo
ADDED
Binary file
|
lang/landing-pages-ar.mo
CHANGED
Binary file
|
lang/landing-pages-as.mo
ADDED
Binary file
|
lang/landing-pages-az.mo
CHANGED
Binary file
|
lang/landing-pages-be.mo
ADDED
Binary file
|
lang/landing-pages-be_BY.mo
CHANGED
Binary file
|
lang/landing-pages-bg.mo
ADDED
Binary file
|
lang/landing-pages-bg_BG.mo
CHANGED
Binary file
|
lang/landing-pages-bn_BD.mo
CHANGED
Binary file
|
lang/landing-pages-br.mo
CHANGED
Binary file
|
lang/landing-pages-bs.mo
ADDED
Binary file
|
lang/landing-pages-bs_BA.mo
CHANGED
Binary file
|
lang/landing-pages-ca.mo
CHANGED
Binary file
|
lang/landing-pages-co.mo
CHANGED
Binary file
|
lang/landing-pages-cs_CZ.mo
CHANGED
Binary file
|
lang/landing-pages-cy.mo
CHANGED
Binary file
|
lang/landing-pages-da_DK.mo
CHANGED
Binary file
|
lang/landing-pages-de_AT.mo
CHANGED
Binary file
|
lang/landing-pages-de_CH.mo
ADDED
Binary file
|
lang/landing-pages-de_DE.mo
CHANGED
Binary file
|
lang/landing-pages-dv.mo
ADDED
Binary file
|
lang/landing-pages-el.mo
CHANGED
Binary file
|
lang/landing-pages-en@pirate.mo
CHANGED
Binary file
|
lang/landing-pages-en_AU.mo
ADDED
Binary file
|
lang/landing-pages-en_CA.mo
ADDED
Binary file
|
lang/landing-pages-en_GB.mo
CHANGED
Binary file
|
lang/landing-pages-eo.mo
CHANGED
Binary file
|
lang/landing-pages-es_AR.mo
ADDED
Binary file
|
lang/landing-pages-es_CL.mo
CHANGED
Binary file
|
lang/landing-pages-es_ES.mo
CHANGED
Binary file
|
lang/landing-pages-es_MX.mo
CHANGED
Binary file
|
lang/landing-pages-es_PE.mo
CHANGED
Binary file
|
lang/landing-pages-es_VE.mo
CHANGED
Binary file
|
lang/landing-pages-et.mo
CHANGED
Binary file
|
lang/landing-pages-eu.mo
CHANGED
Binary file
|
lang/landing-pages-fa.mo
CHANGED
Binary file
|
lang/landing-pages-fa_IR.mo
CHANGED
Binary file
|
lang/landing-pages-fi.mo
CHANGED
Binary file
|
lang/landing-pages-fo.mo
CHANGED
Binary file
|
lang/landing-pages-fr_FR.mo
CHANGED
Binary file
|
lang/landing-pages-fy.mo
ADDED
Binary file
|
lang/landing-pages-ga.mo
CHANGED
Binary file
|
lang/landing-pages-gd.mo
ADDED
Binary file
|
lang/landing-pages-gl_ES.mo
CHANGED
Binary file
|
lang/landing-pages-gu_IN.mo
CHANGED
Binary file
|
lang/landing-pages-he_IL.mo
CHANGED
Binary file
|
lang/landing-pages-hi_IN.mo
CHANGED
Binary file
|
lang/landing-pages-hr.mo
CHANGED
Binary file
|
lang/landing-pages-hu_HU.mo
CHANGED
Binary file
|
lang/landing-pages-hy.mo
CHANGED
Binary file
|
lang/landing-pages-id.mo
CHANGED
Binary file
|
lang/landing-pages-id_ID.mo
CHANGED
Binary file
|
lang/landing-pages-is_IS.mo
CHANGED
Binary file
|
lang/landing-pages-it_IT.mo
CHANGED
Binary file
|
lang/landing-pages-ja.mo
CHANGED
Binary file
|
lang/landing-pages-jv.mo
CHANGED
Binary file
|
lang/landing-pages-ka.mo
CHANGED
Binary file
|
lang/landing-pages-ka_GE.mo
ADDED
Binary file
|
lang/landing-pages-kk.mo
CHANGED
Binary file
|
lang/landing-pages-km.mo
CHANGED
Binary file
|
lang/landing-pages-kn.mo
ADDED
Binary file
|
lang/landing-pages-ko_KR.mo
CHANGED
Binary file
|
lang/landing-pages-ku.mo
CHANGED
Binary file
|
lang/landing-pages-ky.mo
CHANGED
Binary file
|
lang/landing-pages-lo.mo
ADDED
Binary file
|
lang/landing-pages-lt_LT.mo
CHANGED
Binary file
|
lang/landing-pages-lv.mo
CHANGED
Binary file
|
lang/landing-pages-mg.mo
CHANGED
Binary file
|
lang/landing-pages-mk_MK.mo
CHANGED
Binary file
|
lang/landing-pages-mn.mo
CHANGED
Binary file
|
lang/landing-pages-mr.mo
ADDED
Binary file
|
lang/landing-pages-ms_MY.mo
ADDED
Binary file
|
lang/landing-pages-my_MM.mo
CHANGED
Binary file
|
lang/landing-pages-nb_NO.mo
CHANGED
Binary file
|
lang/landing-pages-ne_NP.mo
CHANGED
Binary file
|
lang/landing-pages-nl_NL.mo
CHANGED
Binary file
|
lang/landing-pages-nn_NO.mo
CHANGED
Binary file
|
lang/landing-pages-oc.mo
CHANGED
Binary file
|
lang/landing-pages-os.mo
ADDED
Binary file
|
lang/landing-pages-pap.mo
CHANGED
Binary file
|
lang/landing-pages-pl_PL.mo
CHANGED
Binary file
|
lang/landing-pages-ps.mo
ADDED
Binary file
|
lang/landing-pages-pt_BR.mo
CHANGED
Binary file
|
lang/landing-pages-pt_PT.mo
CHANGED
Binary file
|
lang/landing-pages-ro_RO.mo
CHANGED
Binary file
|
lang/landing-pages-ru_RU.mo
CHANGED
Binary file
|
lang/landing-pages-sah.mo
CHANGED
Binary file
|
lang/landing-pages-si_LK.mo
CHANGED
Binary file
|
lang/landing-pages-sk_SK.mo
CHANGED
Binary file
|
lang/landing-pages-sl_SI.mo
CHANGED
Binary file
|
lang/landing-pages-so.mo
ADDED
Binary file
|
lang/landing-pages-sq.mo
CHANGED
Binary file
|
lang/landing-pages-sr_RS.mo
CHANGED
Binary file
|
lang/landing-pages-su.mo
CHANGED
Binary file
|
lang/landing-pages-sv_SE.mo
CHANGED
Binary file
|
lang/landing-pages-sw.mo
CHANGED
Binary file
|
lang/landing-pages-ta_IN.mo
ADDED
Binary file
|
lang/landing-pages-ta_LK.mo
CHANGED
Binary file
|
lang/landing-pages-te.mo
CHANGED
Binary file
|
lang/landing-pages-tg.mo
ADDED
Binary file
|
lang/landing-pages-th.mo
CHANGED
Binary file
|
lang/landing-pages-tk_TM.mo
CHANGED
Binary file
|
lang/landing-pages-tl.mo
ADDED
Binary file
|
lang/landing-pages-tr_TR.mo
CHANGED
Binary file
|
lang/landing-pages-tzm.mo
ADDED
Binary file
|
lang/landing-pages-ug.mo
CHANGED
Binary file
|
lang/landing-pages-uk.mo
CHANGED
Binary file
|
lang/landing-pages-ur.mo
ADDED
Binary file
|
lang/landing-pages-ur_PK.mo
CHANGED
Binary file
|
lang/landing-pages-uz.mo
CHANGED
Binary file
|
lang/landing-pages-vi.mo
CHANGED
Binary file
|
lang/landing-pages-zh_CN.GB2312.mo
CHANGED
Binary file
|
lang/landing-pages-zh_CN.mo
CHANGED
Binary file
|
lang/landing-pages-zh_HK.mo
ADDED
Binary file
|
lang/landing-pages-zh_TW.mo
CHANGED
Binary file
|
modules/module.ajax-setup.php
CHANGED
@@ -1 +1 @@
|
|
1 |
-
<?php
|
2 |
* Adds Ajax for Clear Stats button
|
3 |
* clear stats for all variations
|
4 |
*/
|
5 |
* Adds Ajax for Clear Stats button
|
6 |
* clear stats for single variations
|
7 |
*/
|
8 |
* Adds Ajax for Clear Stats button
|
9 |
* clear stats for non lp post
|
10 |
*/
|
11 |
* Click tracking moved to module.click-tracking.php
|
12 |
* Adds ajax to record landing page impressions
|
13 |
* future plans to integrate with google analytics
|
14 |
* Adds Ajax Template Selection
|
15 |
* @return prints out landing page meta options
|
16 |
*/
|
17 |
* Add ajax for post meta save options
|
18 |
*/
|
|
|
19 |
* Adds Ajax for Clear Stats button
|
20 |
* clear stats for all variations
|
21 |
*/
|
22 |
* Adds Ajax for Clear Stats button
|
23 |
* clear stats for single variations
|
24 |
*/
|
25 |
* Adds Ajax for Clear Stats button
|
26 |
* clear stats for non lp post
|
27 |
*/
|
28 |
* Click tracking moved to module.click-tracking.php
|
29 |
* Adds ajax to record landing page impressions
|
30 |
* future plans to integrate with google analytics
|
31 |
* Adds Ajax Template Selection
|
32 |
* @return prints out landing page meta options
|
33 |
*/
|
|
|
1 |
* Adds Ajax for Clear Stats button
|
2 |
* clear stats for all variations
|
3 |
*/
|
4 |
* Adds Ajax for Clear Stats button
|
5 |
* clear stats for single variations
|
6 |
*/
|
7 |
* Adds Ajax for Clear Stats button
|
8 |
* clear stats for non lp post
|
9 |
*/
|
10 |
* Click tracking moved to module.click-tracking.php
|
11 |
* Adds ajax to record landing page impressions
|
12 |
* future plans to integrate with google analytics
|
13 |
* Adds Ajax Template Selection
|
14 |
* @return prints out landing page meta options
|
15 |
*/
|
16 |
* Add ajax for post meta save options
|
17 |
*/
|
18 |
+
<?php
|
19 |
* Adds Ajax for Clear Stats button
|
20 |
* clear stats for all variations
|
21 |
*/
|
22 |
* Adds Ajax for Clear Stats button
|
23 |
* clear stats for single variations
|
24 |
*/
|
25 |
* Adds Ajax for Clear Stats button
|
26 |
* clear stats for non lp post
|
27 |
*/
|
28 |
* Click tracking moved to module.click-tracking.php
|
29 |
* Adds ajax to record landing page impressions
|
30 |
* future plans to integrate with google analytics
|
31 |
* Adds Ajax Template Selection
|
32 |
* @return prints out landing page meta options
|
33 |
*/
|
modules/module.alert.php
CHANGED
@@ -46,7 +46,7 @@ function lp_activation_message_ignore() {
|
|
46 |
}
|
47 |
} */
|
48 |
|
49 |
-
|
50 |
add_action('admin_notices', 'lp_template_page_get_more');
|
51 |
function lp_template_page_get_more(){
|
52 |
global $pagenow;
|
@@ -59,7 +59,7 @@ jQuery("#bulk_actions").prepend(moretemp); jQuery(".lp-selection-heading h1").ap
|
|
59 |
}
|
60 |
}
|
61 |
|
62 |
-
|
63 |
add_action('admin_notices', 'lp_ab_notice');
|
64 |
function lp_ab_notice(){
|
65 |
global $pagenow;
|
@@ -71,4 +71,20 @@ function lp_ab_notice(){
|
|
71 |
}
|
72 |
}
|
73 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
74 |
?>
|
46 |
}
|
47 |
} */
|
48 |
|
49 |
+
|
50 |
add_action('admin_notices', 'lp_template_page_get_more');
|
51 |
function lp_template_page_get_more(){
|
52 |
global $pagenow;
|
59 |
}
|
60 |
}
|
61 |
|
62 |
+
|
63 |
add_action('admin_notices', 'lp_ab_notice');
|
64 |
function lp_ab_notice(){
|
65 |
global $pagenow;
|
71 |
}
|
72 |
}
|
73 |
|
74 |
+
/* Notice to tell people that a permalink structure besides default must be selected to enable split testing */
|
75 |
+
add_action('admin_notices', 'lp_permalinks_notice');
|
76 |
+
function lp_permalinks_notice(){
|
77 |
+
global $pagenow;
|
78 |
+
|
79 |
+
if ( !get_option('permalink_structure') ) {
|
80 |
+
?>
|
81 |
+
<div class="error">
|
82 |
+
<p>
|
83 |
+
<?php _e( 'We\'ve noticed that your permalink settings are set to the default setting. Landing Page varation roation is not possible on this setting. To enable roation please go into Settings->Permalinks and update them to a different format.' , 'landing-pages' ); ?>
|
84 |
+
</p>
|
85 |
+
</div>
|
86 |
+
<?php
|
87 |
+
}
|
88 |
+
}
|
89 |
+
|
90 |
?>
|
modules/module.click-tracking.php
CHANGED
@@ -8,37 +8,38 @@ function lp_click_callback() {
|
|
8 |
$id = $post->ID;
|
9 |
if(get_post_type( $id ) == 'landing-page'){
|
10 |
$variation = (isset($_GET['lp-variation-id'])) ? $_GET['lp-variation-id'] : 0;
|
|
|
11 |
// Footer script for link rewrites ?>
|
12 |
<script type="text/javascript">
|
13 |
-
|
14 |
-
var lead_cpt_id =
|
15 |
-
var lead_email =
|
16 |
-
var lead_unique_key =
|
17 |
|
18 |
if (typeof (lead_cpt_id) != "undefined" && lead_cpt_id !== null) {
|
19 |
string = "&wpl_id=" + lead_cpt_id + "&l_type=wplid";
|
20 |
} else if (typeof (lead_email) != "undefined" && lead_email !== null && lead_email !== "") {
|
21 |
-
string = "&wpl_id=" + lead_email + "&l_type=wplemail"
|
22 |
} else if (typeof (lead_unique_key) != "undefined" && lead_unique_key !== null && lead_unique_key !== "") {
|
23 |
-
string = "&wpl_id=" + lead_unique_key + "&l_type=wpluid"
|
24 |
} else {
|
25 |
string = "";
|
26 |
}
|
27 |
var external = RegExp('^((f|ht)tps?:)?//(?!' + location.host + ')');
|
28 |
-
|
29 |
-
|
30 |
-
var orignalurl =
|
31 |
-
//
|
32 |
var link_is = external.test(orignalurl);
|
33 |
if (link_is === true) {
|
34 |
base_url = window.location.origin;
|
35 |
} else {
|
36 |
base_url = orignalurl;
|
37 |
}
|
38 |
-
var cta_variation = "&wp-cta-v=" +
|
39 |
-
var this_id =
|
40 |
var newurl = base_url + "?lp_redirect_" + this_id + "=" + orignalurl + cta_variation + string;
|
41 |
-
|
42 |
});
|
43 |
});
|
44 |
</script>
|
8 |
$id = $post->ID;
|
9 |
if(get_post_type( $id ) == 'landing-page'){
|
10 |
$variation = (isset($_GET['lp-variation-id'])) ? $_GET['lp-variation-id'] : 0;
|
11 |
+
$variation = preg_replace('/[^-a-zA-Z0-9_]/', '', $variation);
|
12 |
// Footer script for link rewrites ?>
|
13 |
<script type="text/javascript">
|
14 |
+
InboundQuery(document).ready(function($) {
|
15 |
+
var lead_cpt_id = _inbound.Utils.readCookie("wp_lead_id");
|
16 |
+
var lead_email = _inbound.Utils.readCookie("wp_lead_email");
|
17 |
+
var lead_unique_key = _inbound.Utils.readCookie("wp_lead_uid");
|
18 |
|
19 |
if (typeof (lead_cpt_id) != "undefined" && lead_cpt_id !== null) {
|
20 |
string = "&wpl_id=" + lead_cpt_id + "&l_type=wplid";
|
21 |
} else if (typeof (lead_email) != "undefined" && lead_email !== null && lead_email !== "") {
|
22 |
+
string = "&wpl_id=" + lead_email + "&l_type=wplemail";
|
23 |
} else if (typeof (lead_unique_key) != "undefined" && lead_unique_key !== null && lead_unique_key !== "") {
|
24 |
+
string = "&wpl_id=" + lead_unique_key + "&l_type=wpluid";
|
25 |
} else {
|
26 |
string = "";
|
27 |
}
|
28 |
var external = RegExp('^((f|ht)tps?:)?//(?!' + location.host + ')');
|
29 |
+
InboundQuery('.link-click-tracking a, .inbound-special-class').not("#wpadminbar a").each(function () {
|
30 |
+
InboundQuery(this).attr("data-event-id", '<?php echo $id; ?>').attr("data-cta-varation", '<?php echo $variation;?>');
|
31 |
+
var orignalurl = InboundQuery(this).attr("href");
|
32 |
+
//InboundQuery("a[href*='http://']:not([href*='"+window.location.hostname+"'])"); // rewrite external links
|
33 |
var link_is = external.test(orignalurl);
|
34 |
if (link_is === true) {
|
35 |
base_url = window.location.origin;
|
36 |
} else {
|
37 |
base_url = orignalurl;
|
38 |
}
|
39 |
+
var cta_variation = "&wp-cta-v=" + InboundQuery(this).attr("data-cta-varation");
|
40 |
+
var this_id = InboundQuery(this).attr("data-event-id");
|
41 |
var newurl = base_url + "?lp_redirect_" + this_id + "=" + orignalurl + cta_variation + string;
|
42 |
+
InboundQuery(this).attr("href", newurl);
|
43 |
});
|
44 |
});
|
45 |
</script>
|
modules/module.customizer.php
CHANGED
@@ -1 +1 @@
|
|
1 |
-
<?php
|
2 |
wp_register_script('lp-customizer-load-js', LANDINGPAGES_URLPATH . 'js/customizer.load.js', array('jquery'));
|
3 |
wp_enqueue_script('lp-customizer-load-js');
|
|
|
4 |
wp_register_script('lp-customizer-load-js', LANDINGPAGES_URLPATH . 'js/customizer.load.js', array('jquery'));
|
5 |
wp_enqueue_script('lp-customizer-load-js');
|
|
|
1 |
wp_register_script('lp-customizer-load-js', LANDINGPAGES_URLPATH . 'js/customizer.load.js', array('jquery'));
|
2 |
wp_enqueue_script('lp-customizer-load-js');
|
3 |
+
<?php
|
4 |
wp_register_script('lp-customizer-load-js', LANDINGPAGES_URLPATH . 'js/customizer.load.js', array('jquery'));
|
5 |
wp_enqueue_script('lp-customizer-load-js');
|
modules/module.global-settings.php
CHANGED
@@ -36,14 +36,6 @@ function lp_get_global_settings() {
|
|
36 |
'default' => 'go',
|
37 |
'options' => null
|
38 |
),
|
39 |
-
array(
|
40 |
-
'id' => 'landing-page-prepopulate-forms',
|
41 |
-
'label' => __( 'Enable Form Prepopulation' , 'landing-pages') ,
|
42 |
-
'description' => __("With this setting enabled landing pages plugin will remember form input data that the user submits to a form and attempt to pre-populate all other forms with the same user's data when applicable." , 'landing-pages'),
|
43 |
-
'type' => 'radio',
|
44 |
-
'default' => '1',
|
45 |
-
'options' => array('1'=>'on','0'=>'off')
|
46 |
-
),
|
47 |
array(
|
48 |
'id' => 'landing-page-disable-admin-tracking',
|
49 |
'label' => __('Disable Admin Impression/Conversion Tracking' , 'landing-pages') ,
|
@@ -60,22 +52,6 @@ function lp_get_global_settings() {
|
|
60 |
'default' => '0',
|
61 |
'options' => array('1'=>'on','0'=>'off')
|
62 |
),
|
63 |
-
array(
|
64 |
-
'id' => 'landing-page-auto-format-forms',
|
65 |
-
'label' => __('Enable Form Standardization' , 'landing-pages'),
|
66 |
-
'description' => __("With this setting enabled landing pages plugin will clean and standardize all input ids and classnames. Uncheck this setting to disable standardization." , 'landing-pages'),
|
67 |
-
'type' => 'radio',
|
68 |
-
'default' => '0',
|
69 |
-
'options' => array('1'=>'on','0'=>'off')
|
70 |
-
),
|
71 |
-
array(
|
72 |
-
'id' => 'main-landing-page-auto-format-forms-retain-elements',
|
73 |
-
'label' => __('Form Standardization Element Whitelist' , 'landing-pages'),
|
74 |
-
'description' => __("Form standardization strips the conversion area content of html elements. Add the elements you do not want to be stripped to this list." , 'landing-pages') ,
|
75 |
-
'type' => 'textarea',
|
76 |
-
'default' => '<button><script><textarea><style><input><form><select><label><a><p><b><u><strong><i><img><strong><span><font><h1><h2><h3><center><blockquote><embed><object><small>',
|
77 |
-
'options' => null
|
78 |
-
),
|
79 |
array(
|
80 |
'id' => 'inbound_compatibility_mode',
|
81 |
'label' => 'Turn on compability mode',
|
36 |
'default' => 'go',
|
37 |
'options' => null
|
38 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
array(
|
40 |
'id' => 'landing-page-disable-admin-tracking',
|
41 |
'label' => __('Disable Admin Impression/Conversion Tracking' , 'landing-pages') ,
|
52 |
'default' => '0',
|
53 |
'options' => array('1'=>'on','0'=>'off')
|
54 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
array(
|
56 |
'id' => 'inbound_compatibility_mode',
|
57 |
'label' => 'Turn on compability mode',
|
modules/module.install.php
CHANGED
@@ -79,110 +79,100 @@ function inbound_create_default_post_type(){
|
|
79 |
}
|
80 |
|
81 |
/**
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
'activate_link' => _n_noop( 'Activate installed plugin', 'Activate installed plugins' ),
|
179 |
-
'return' => __( 'Return to Required Plugins Installer', $theme_text_domain ),
|
180 |
-
'plugin_activated' => __( 'Plugin activated successfully.', $theme_text_domain ),
|
181 |
-
'complete' => __( 'All plugins installed and activated successfully. %s', $theme_text_domain ),
|
182 |
-
// %1$s = dashboard link
|
183 |
-
)
|
184 |
-
);
|
185 |
-
|
186 |
-
tgmpa( $plugins, $config );
|
187 |
-
|
188 |
}
|
79 |
}
|
80 |
|
81 |
/**
|
82 |
+
* If not Inbound Pro run these checks
|
83 |
+
*/
|
84 |
+
if ( !class_exists('Inbound_Pro_Plugin') ) {
|
85 |
+
require_once(LANDINGPAGES_PATH."/libraries/class-tgm-plugin-activation.php");
|
86 |
+
add_action( 'tgmpa_register', 'lp_install_register_required_plugins' );
|
87 |
+
/**
|
88 |
+
* Register the required plugins for this theme.
|
89 |
+
*
|
90 |
+
* In this example, we register two plugins - one included with the TGMPA library
|
91 |
+
* and one from the .org repo.
|
92 |
+
*
|
93 |
+
* The variable passed to tgmpa_register_plugins() should be an array of plugin
|
94 |
+
* arrays.
|
95 |
+
*
|
96 |
+
* This function is hooked into tgmpa_init, which is fired within the
|
97 |
+
* TGM_Plugin_Activation class constructor.
|
98 |
+
*/
|
99 |
+
function lp_install_register_required_plugins() {
|
100 |
+
//
|
101 |
+
|
102 |
+
/**
|
103 |
+
* Array of plugin arrays. Required keys are name, slug and required.
|
104 |
+
* If the source is NOT from the .org repo, then source is also required.
|
105 |
+
*/
|
106 |
+
$plugins = array(
|
107 |
+
|
108 |
+
// This is an example of how to include a plugin pre-packaged with a theme
|
109 |
+
/* array(
|
110 |
+
'name' => 'TGM Example Plugin', // The plugin name
|
111 |
+
'slug' => 'tgm-example-plugin', // The plugin slug (typically the folder name)
|
112 |
+
'source' => get_stylesheet_directory() . '/lib/plugins/tgm-example-plugin.zip', // The plugin source
|
113 |
+
'required' => true, // If false, the plugin is only 'recommended' instead of required
|
114 |
+
'version' => '', // E.g. 1.0.0. If set, the active plugin must be this version or higher, otherwise a notice is presented
|
115 |
+
'force_activation' => false, // If true, plugin is activated upon theme activation and cannot be deactivated until theme switch
|
116 |
+
'force_deactivation' => false, // If true, plugin is deactivated upon theme switch, useful for theme-specific plugins
|
117 |
+
'external_url' => '', // If set, overrides default API URL and points to an external URL
|
118 |
+
), */
|
119 |
+
|
120 |
+
// This is an example of how to include a plugin from the WordPress Plugin Repository
|
121 |
+
array(
|
122 |
+
'name' => __('WordPress Leads' , 'landing-pages') .' <span class=\'inbound-install-notice\'> - '. __('This <b>free</b> landing page addon will give you the ability to track and manage incoming web leads. Gather advanced Lead Intelligence and close more deals.' , 'landing-pages') .' <a class=\'inbound-install-notice-links\' href=\'http://wordpress.org/plugins/leads/\'> '. __('Learn more about WordPress Leads' , 'landing-pages') .'</a></span>',
|
123 |
+
'slug' => 'leads',
|
124 |
+
'required' => false,
|
125 |
+
),
|
126 |
+
array(
|
127 |
+
'name' => __('WordPress Calls to Action' , 'landing-pages') .' <span class=\'inbound-install-notice\'> - '. __('This <b>free</b> landing page addon will drive more traffic into your Landing Pages with Targeted Calls to Action in your sites sidebars & content. Create popups to capture visitor attention and convert more leads.' , 'landing-pages') . ' <a class=\'inbound-install-notice-links\' href=\'http://wordpress.org/plugins/cta/\'> ' . __('Learn more about WordPress Calls to Action' , 'landing-pages') . '</a></span>',
|
128 |
+
'slug' => 'cta',
|
129 |
+
'required' => false,
|
130 |
+
),
|
131 |
+
|
132 |
+
);
|
133 |
+
|
134 |
+
// Change this to your theme text domain, used for internationalising strings
|
135 |
+
$theme_text_domain = 'landing-pages';
|
136 |
+
|
137 |
+
/**
|
138 |
+
* Array of configuration settings. Amend each line as needed.
|
139 |
+
* If you want the default strings to be available under your own theme domain,
|
140 |
+
* leave the strings uncommented.
|
141 |
+
* Some of the strings are added into a sprintf, so see the comments at the
|
142 |
+
* end of each line for what each argument will be.
|
143 |
+
*/
|
144 |
+
$config = array(
|
145 |
+
'domain' => $theme_text_domain, // Text domain - likely want to be the same as your theme.
|
146 |
+
'default_path' => '', // Default absolute path to pre-packaged plugins
|
147 |
+
'parent_menu_slug' => 'themes.php', // Default parent menu slug
|
148 |
+
'parent_url_slug' => 'themes.php', // Default parent URL slug
|
149 |
+
'menu' => 'install-inbound-plugins', // Menu slug
|
150 |
+
'has_notices' => true, // Show admin notices or not
|
151 |
+
'is_automatic' => false, // Automatically activate plugins after installation or not
|
152 |
+
'message' => '', // Message to output right before the plugins table
|
153 |
+
'strings' => array(
|
154 |
+
'page_title' => __( 'Install Required Plugins', $theme_text_domain ),
|
155 |
+
'menu_title' => __( 'Install Plugins', $theme_text_domain ),
|
156 |
+
'installing' => __( 'Installing Plugin: %s', $theme_text_domain ), // %1$s = plugin name
|
157 |
+
'oops' => __( 'Something went wrong with the plugin API.', $theme_text_domain ),
|
158 |
+
'notice_can_install_required' => _n_noop( 'WordPress Landing Pages requires the following plugin: %1$s', 'WordPress Landing Pages highly requires the following plugins: %1$s.' ), // %1$s = plugin name(s)
|
159 |
+
'notice_can_install_recommended' => _n_noop( 'WordPress Landing Pages highly recommends the following complimentary plugin: %1$s', 'WordPress Landing Pages highly recommends the following complimentary plugins: %1$s.' ), // %1$s = plugin name(s)
|
160 |
+
'notice_cannot_install' => _n_noop( 'Sorry, but you do not have the correct permissions to install the %s plugin. Contact the administrator of this site for help on getting the plugin installed.', 'Sorry, but you do not have the correct permissions to install the %s plugins. Contact the administrator of this site for help on getting the plugins installed.' ), // %1$s = plugin name(s)
|
161 |
+
'notice_can_activate_required' => _n_noop( 'The following required plugin is currently inactive: %1$s', 'The following required plugins are currently inactive: %1$s' ), // %1$s = plugin name(s)
|
162 |
+
'notice_can_activate_recommended' => _n_noop( 'The following recommended plugin is currently inactive: %1$s', 'The following recommended plugins are currently inactive: %1$s' ), // %1$s = plugin name(s)
|
163 |
+
'notice_cannot_activate' => _n_noop( 'Sorry, but you do not have the correct permissions to activate the %s plugin. Contact the administrator of this site for help on getting the plugin activated.', 'Sorry, but you do not have the correct permissions to activate the %s plugins. Contact the administrator of this site for help on getting the plugins activated.' ), // %1$s = plugin name(s)
|
164 |
+
'notice_ask_to_update' => _n_noop( 'The following plugin needs to be updated to its latest version to ensure maximum compatibility with this theme: %1$s', 'The following plugins need to be updated to their latest version to ensure maximum compatibility with this theme: %1$s' ), // %1$s = plugin name(s)
|
165 |
+
'notice_cannot_update' => _n_noop( 'Sorry, but you do not have the correct permissions to update the %s plugin. Contact the administrator of this site for help on getting the plugin updated.', 'Sorry, but you do not have the correct permissions to update the %s plugins. Contact the administrator of this site for help on getting the plugins updated.' ), // %1$s = plugin name(s)
|
166 |
+
'install_link' => _n_noop( 'Begin installing plugin', 'Begin installing plugins' ),
|
167 |
+
'activate_link' => _n_noop( 'Activate installed plugin', 'Activate installed plugins' ),
|
168 |
+
'return' => __( 'Return to Required Plugins Installer', $theme_text_domain ),
|
169 |
+
'plugin_activated' => __( 'Plugin activated successfully.', $theme_text_domain ),
|
170 |
+
'complete' => __( 'All plugins installed and activated successfully. %s', $theme_text_domain ),
|
171 |
+
// %1$s = dashboard link
|
172 |
+
)
|
173 |
+
);
|
174 |
+
|
175 |
+
tgmpa( $plugins, $config );
|
176 |
+
|
177 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
178 |
}
|
modules/module.javascript-admin.php
CHANGED
@@ -70,7 +70,7 @@ function lp_admin_enqueue($hook) {
|
|
70 |
// Conditional TINYMCE for landing pages
|
71 |
//wp_dequeue_script('jquery-tinymce');
|
72 |
//wp_enqueue_script('jquery-tinymce', LANDINGPAGES_URLPATH . 'js/libraries/tiny_mce/jquery.tinymce.js');
|
73 |
-
wp_enqueue_style('inbound-metaboxes', LANDINGPAGES_URLPATH . 'shared/
|
74 |
|
75 |
}
|
76 |
|
70 |
// Conditional TINYMCE for landing pages
|
71 |
//wp_dequeue_script('jquery-tinymce');
|
72 |
//wp_enqueue_script('jquery-tinymce', LANDINGPAGES_URLPATH . 'js/libraries/tiny_mce/jquery.tinymce.js');
|
73 |
+
wp_enqueue_style('inbound-metaboxes', LANDINGPAGES_URLPATH . 'shared/assets/css/admin/inbound-metaboxes.css');
|
74 |
|
75 |
}
|
76 |
|
modules/module.javascript-frontend.php
CHANGED
@@ -25,85 +25,22 @@ function lp_fontend_enqueue_scripts($hook) {
|
|
25 |
wp_enqueue_script('jquery');
|
26 |
|
27 |
/* Load Page Tracking */
|
28 |
-
$variation = (
|
29 |
-
|
|
|
30 |
wp_localize_script( 'landing-page-view-track' , 'landing_path_info', array( 'post_id' => $post->ID , 'post_type' => $post->post_type , 'variation' => $variation, 'admin_url' => admin_url( 'admin-ajax.php' )));
|
31 |
|
32 |
|
33 |
if (isset($post)&&$post->post_type=='landing-page') {
|
34 |
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
}
|
44 |
-
if (isset($_GET['live-preview-area'])) {
|
45 |
-
show_admin_bar( false );
|
46 |
-
wp_register_script('lp-customizer-load-js', LANDINGPAGES_URLPATH . 'js/customizer.load.js', array('jquery'));
|
47 |
-
wp_enqueue_script('lp-customizer-load-js');
|
48 |
-
// wp_enqueue_style('lp-customizer-load-css', LANDINGPAGES_URLPATH . 'css/customizer-load.css'); doesn't work
|
49 |
-
/* Almost working look into this again TODO
|
50 |
-
define("QUICK_CACHE_ALLOWED", false);
|
51 |
-
define("DONOTCACHEPAGE", true);
|
52 |
-
define('DONOTCACHCEOBJECT', true);
|
53 |
-
define('DONOTCDN', true);
|
54 |
-
|
55 |
-
// Function to wrap outputted meta in spans for front end editing
|
56 |
-
add_filter( 'lp_get_value', 'lp_customizer_add_span_meta' , 10 , 4);
|
57 |
-
function lp_customizer_add_span_meta( $content , $post = null , $key=null, $id=null)
|
58 |
-
{
|
59 |
-
$id = apply_filters('lp_customizer_span_id',$id);
|
60 |
-
$exclude_list = "color|default|tile|repeat-x|repeat-y|left|right";
|
61 |
-
// need to exclude these matches only if exact match with no other content
|
62 |
-
// Need to exclude /images/img.jpg
|
63 |
-
// Need to find single strings with only a url to a .png,.jpg, .gif file and exclude
|
64 |
-
// Check for media upload type and ignore. Also ignore common setting words
|
65 |
-
//echo $key.':'.$id.":".$content;
|
66 |
-
//echo "<hr>";
|
67 |
-
//echo "<br>";
|
68 |
-
//<img alt="" src="/wp-content/uploads/landing-pages/templates/minimal-responsive/img/placeholder.jpg" /> matches the below preg match but we only want to match the string if its exactly /wp-content/uploads/landing-pages/templates/minimal-responsive/img/placeholder.jpg and nothing else
|
69 |
-
if (!@preg_match('/^(http|https|ftp)://([A-Z0-9][A-Z0-9_-]*(?:.[A-Z0-9][A-Z0-9_-]*)+):?(d+)?/?/i', $content)&&!strstr($content,'/wp-content/') && !@preg_match('/^[a-f0-9]{1,}$/is', $content) && $content != "color") {
|
70 |
-
$content = "<span id='$key-$id' class='live-preview-area-box'>" . $content . "</span>";
|
71 |
-
}
|
72 |
-
|
73 |
-
return $content;
|
74 |
-
}
|
75 |
-
|
76 |
-
add_filter( 'lp_main_headline', 'lp_customizer_add_span_title' ,99);
|
77 |
-
function lp_customizer_add_span_title( $content, $id ='title' )
|
78 |
-
{
|
79 |
-
|
80 |
-
$id = apply_filters('lp_customizer_span_id' , $id );
|
81 |
-
$content = "<span id='lp-main-headline' class='live-preview-area-box' >" . $content . "</span>";
|
82 |
-
|
83 |
-
return $content;
|
84 |
-
}
|
85 |
-
|
86 |
-
// Function to wrap outputted meta in spans for front end editing
|
87 |
-
add_filter( 'the_content', 'lp_customizer_add_span_content' );
|
88 |
-
function lp_customizer_add_span_content( $content , $id = 'content' )
|
89 |
-
{
|
90 |
-
|
91 |
-
$id = apply_filters('lp_customizer_span_id', $id );
|
92 |
-
$content = "<span id='the-content' class='live-preview-area-box' >" . $content . "</span>";
|
93 |
-
|
94 |
-
return $content;
|
95 |
-
}
|
96 |
-
|
97 |
-
// Function to wrap outputted meta in spans for front end editing
|
98 |
-
add_filter( 'lp_conversion_area', 'lp_customizer_add_span_conversion_area' );
|
99 |
-
function lp_customizer_add_span_conversion_area( $content , $id = 'lp-conversion-area' )
|
100 |
-
{
|
101 |
-
//echo "here";exit;
|
102 |
-
$id = apply_filters('lp_customizer_span_id', $id );
|
103 |
-
$content = "<span id='lp-conversion-area' class='live-preview-area-box' >" . $content . "</span>";
|
104 |
-
|
105 |
-
return $content;
|
106 |
-
} */
|
107 |
}
|
108 |
}
|
109 |
/* Requeue third party scripts */
|
25 |
wp_enqueue_script('jquery');
|
26 |
|
27 |
/* Load Page Tracking */
|
28 |
+
$variation = lp_ab_testing_get_current_variation_id();
|
29 |
+
|
30 |
+
wp_enqueue_script( 'landing-page-view-track' , LANDINGPAGES_URLPATH . 'js/page_view_track.js', array( 'jquery'));
|
31 |
wp_localize_script( 'landing-page-view-track' , 'landing_path_info', array( 'post_id' => $post->ID , 'post_type' => $post->post_type , 'variation' => $variation, 'admin_url' => admin_url( 'admin-ajax.php' )));
|
32 |
|
33 |
|
34 |
if (isset($post)&&$post->post_type=='landing-page') {
|
35 |
|
36 |
+
if (isset($_GET['template-customize']) &&$_GET['template-customize']=='on') {
|
37 |
+
echo "<style type='text/css'>#variation-list{background:#eaeaea !important; top: 26px !important; height: 35px !important;padding-top: 10px !important;}#wpadminbar {height: 32px !important;}</style>"; // enqueue styles not firing
|
38 |
+
}
|
39 |
+
if (isset($_GET['live-preview-area'])) {
|
40 |
+
show_admin_bar( false );
|
41 |
+
wp_register_script('lp-customizer-load-js', LANDINGPAGES_URLPATH . 'js/customizer.load.js', array('jquery'));
|
42 |
+
wp_enqueue_script('lp-customizer-load-js');
|
43 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
}
|
45 |
}
|
46 |
/* Requeue third party scripts */
|
modules/module.landing-page.php
CHANGED
@@ -1,598 +1,591 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/* LOAD
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
$
|
101 |
-
|
102 |
-
if (
|
103 |
-
{
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
}
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
{
|
262 |
-
$
|
263 |
-
}
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
{
|
281 |
-
|
282 |
-
}
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
{
|
318 |
-
|
319 |
-
$
|
320 |
-
$
|
321 |
-
$
|
322 |
-
$parent
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
$
|
327 |
-
$
|
328 |
-
$parent
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
{
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
'
|
444 |
-
'
|
445 |
-
'
|
446 |
-
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
-
'
|
453 |
-
'
|
454 |
-
'
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
'
|
463 |
-
'
|
464 |
-
'
|
465 |
-
|
466 |
-
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
'
|
472 |
-
'
|
473 |
-
'
|
474 |
-
|
475 |
-
|
476 |
-
|
477 |
-
|
478 |
-
|
479 |
-
|
480 |
-
'
|
481 |
-
'
|
482 |
-
'
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
|
489 |
-
'
|
490 |
-
'
|
491 |
-
'
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
'
|
500 |
-
'
|
501 |
-
'
|
502 |
-
|
503 |
-
|
504 |
-
|
505 |
-
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
-
'
|
510 |
-
'
|
511 |
-
'
|
512 |
-
|
513 |
-
|
514 |
-
|
515 |
-
|
516 |
-
|
517 |
-
|
518 |
-
|
519 |
-
'
|
520 |
-
'
|
521 |
-
'
|
522 |
-
|
523 |
-
|
524 |
-
|
525 |
-
|
526 |
-
|
527 |
-
|
528 |
-
'
|
529 |
-
'
|
530 |
-
'
|
531 |
-
|
532 |
-
|
533 |
-
|
534 |
-
|
535 |
-
|
536 |
-
|
537 |
-
'
|
538 |
-
'
|
539 |
-
'
|
540 |
-
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
|
545 |
-
|
546 |
-
'
|
547 |
-
'
|
548 |
-
'
|
549 |
-
|
550 |
-
|
551 |
-
|
552 |
-
|
553 |
-
|
554 |
-
|
555 |
-
'
|
556 |
-
'
|
557 |
-
'
|
558 |
-
|
559 |
-
|
560 |
-
|
561 |
-
|
562 |
-
|
563 |
-
|
564 |
-
|
565 |
-
|
566 |
-
|
567 |
-
|
568 |
-
|
569 |
-
|
570 |
-
|
571 |
-
|
572 |
-
|
573 |
-
|
574 |
-
|
575 |
-
|
576 |
-
|
577 |
-
|
578 |
-
|
579 |
-
|
580 |
-
|
581 |
-
|
582 |
-
|
583 |
-
|
584 |
-
|
585 |
-
|
586 |
-
|
587 |
-
|
588 |
-
|
589 |
-
|
590 |
-
|
591 |
-
{
|
592 |
-
do_action('lp_head');
|
593 |
-
}
|
594 |
-
|
595 |
-
function lp_footer()
|
596 |
-
{
|
597 |
-
do_action('lp_footer');
|
598 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/* LOAD TEMPLATE */
|
4 |
+
add_filter('single_template', 'lp_custom_template' , 13 );
|
5 |
+
function lp_custom_template($single) {
|
6 |
+
global $wp_query, $post, $query_string;
|
7 |
+
|
8 |
+
if ($post->post_type != "landing-page") {
|
9 |
+
return $single;
|
10 |
+
}
|
11 |
+
$template = get_post_meta($post->ID, 'lp-selected-template', true);
|
12 |
+
$template = apply_filters('lp_selected_template',$template);
|
13 |
+
|
14 |
+
|
15 |
+
if (!isset($template)) {
|
16 |
+
return $single;
|
17 |
+
}
|
18 |
+
|
19 |
+
if (strstr($template,'-slash-')) {
|
20 |
+
$template = str_replace('-slash-','/',$template);
|
21 |
+
}
|
22 |
+
|
23 |
+
$my_theme = wp_get_theme($template);
|
24 |
+
|
25 |
+
if ($my_theme->exists()) {
|
26 |
+
return $single;
|
27 |
+
} else if ( $template != 'default' ) {
|
28 |
+
|
29 |
+
$template = str_replace('_','-',$template);
|
30 |
+
|
31 |
+
if ( file_exists( LANDINGPAGES_PATH.'templates/'.$template.'/index.php') ) {
|
32 |
+
return LANDINGPAGES_PATH.'templates/'.$template.'/index.php';
|
33 |
+
|
34 |
+
} else {
|
35 |
+
return LANDINGPAGES_UPLOADS_PATH.$template.'/index.php';
|
36 |
+
}
|
37 |
+
}
|
38 |
+
|
39 |
+
return $single;
|
40 |
+
}
|
41 |
+
|
42 |
+
|
43 |
+
/* LOAD & PRINT CUSTOM JS AND CSS */
|
44 |
+
add_action('wp_head','landing_pages_insert_custom_head');
|
45 |
+
function landing_pages_insert_custom_head()
|
46 |
+
{
|
47 |
+
global $post;
|
48 |
+
|
49 |
+
if (isset($post)&&'landing-page'==$post->post_type)
|
50 |
+
{
|
51 |
+
|
52 |
+
$custom_css_name = apply_filters('lp_custom_css_name','lp-custom-css');
|
53 |
+
$custom_js_name = apply_filters('lp_custom_js_name','lp-custom-js');
|
54 |
+
$custom_css = get_post_meta($post->ID, $custom_css_name, true);
|
55 |
+
$custom_js = get_post_meta($post->ID, $custom_js_name, true);
|
56 |
+
echo "<!-- This site landing page was built with the WordPress Landing Pages plugin - https://www.inboundnow.com/landing-pages/ -->";
|
57 |
+
//Print Custom CSS
|
58 |
+
if (!stristr($custom_css,'<style'))
|
59 |
+
{
|
60 |
+
echo '<style type="text/css" id="lp_css_custom">'.$custom_css.'</style>';
|
61 |
+
}
|
62 |
+
else
|
63 |
+
{
|
64 |
+
echo $custom_css;
|
65 |
+
}
|
66 |
+
//Print Custom JS
|
67 |
+
if (!stristr($custom_js,'<script'))
|
68 |
+
{
|
69 |
+
echo '<script type="text/javascript" id="lp_js_custom">jQuery(document).ready(function($) {
|
70 |
+
'.$custom_js.' });</script>';
|
71 |
+
}
|
72 |
+
else
|
73 |
+
{
|
74 |
+
echo $custom_js;
|
75 |
+
}
|
76 |
+
}
|
77 |
+
}
|
78 |
+
|
79 |
+
/* FOR DEFAULT TEMPLATE & NATIVE THEME TEMPLATES PREPARE THE CONVERSION AREA */
|
80 |
+
add_filter('the_content','landing_pages_add_conversion_area', 20);
|
81 |
+
add_filter('get_the_content','landing_pages_add_conversion_area', 20);
|
82 |
+
function landing_pages_add_conversion_area($content)
|
83 |
+
{
|
84 |
+
|
85 |
+
if ('landing-page'==get_post_type() && !is_admin())
|
86 |
+
{
|
87 |
+
|
88 |
+
global $post;
|
89 |
+
|
90 |
+
remove_action('the_content', 'landing_pages_add_conversion_area');
|
91 |
+
|
92 |
+
$key = get_post_meta($post->ID, 'lp-selected-template', true);
|
93 |
+
$key = apply_filters('lp_selected_template',$key);
|
94 |
+
|
95 |
+
if (strstr($key,'-slash-'))
|
96 |
+
{
|
97 |
+
$key = str_replace('-slash-','/',$key);
|
98 |
+
}
|
99 |
+
|
100 |
+
$my_theme = wp_get_theme($key);
|
101 |
+
//echo $key;
|
102 |
+
if ($my_theme->exists()||$key=='default')
|
103 |
+
{
|
104 |
+
|
105 |
+
global $post;
|
106 |
+
$wrapper_class = "";
|
107 |
+
|
108 |
+
get_post_meta($post->ID, "default-conversion-area-placement", true);
|
109 |
+
|
110 |
+
|
111 |
+
$position = get_post_meta($post->ID, "{$key}-conversion-area-placement", true);
|
112 |
+
|
113 |
+
$position = apply_filters('lp_conversion_area_position', $position, $post, $key);
|
114 |
+
|
115 |
+
$_SESSION['lp_conversion_area_position'] = $position;
|
116 |
+
|
117 |
+
$conversion_area = lp_conversion_area(null,null,true,true);
|
118 |
+
|
119 |
+
$conversion_area = "<div id='lp_container' class='$wrapper_class'>".$conversion_area."</div>";
|
120 |
+
|
121 |
+
if ($position=='top')
|
122 |
+
{
|
123 |
+
$content = $conversion_area.$content;
|
124 |
+
}
|
125 |
+
else if ($position=='bottom')
|
126 |
+
{
|
127 |
+
$content = $content.$conversion_area;
|
128 |
+
}
|
129 |
+
else if ($position=='widget')
|
130 |
+
{
|
131 |
+
$content = $content;
|
132 |
+
}
|
133 |
+
else
|
134 |
+
{
|
135 |
+
$conversion_area = str_replace("id='lp_container'","id='lp_container' class='lp_form_$position' style='float:$position'",$conversion_area);
|
136 |
+
$content = $conversion_area.$content;
|
137 |
+
|
138 |
+
}
|
139 |
+
|
140 |
+
}
|
141 |
+
|
142 |
+
}
|
143 |
+
|
144 |
+
return $content;
|
145 |
+
}
|
146 |
+
|
147 |
+
/* DISPLAY LANDING PAGE CONVERSION AREA */
|
148 |
+
function lp_conversion_area($post = null, $content=null,$return=false, $doshortcode = true, $rebuild_attributes = true)
|
149 |
+
{
|
150 |
+
if (!isset($post)) {
|
151 |
+
global $post;
|
152 |
+
}
|
153 |
+
|
154 |
+
$wrapper_class = "";
|
155 |
+
|
156 |
+
$content = get_post_meta($post->ID, 'lp-conversion-area', true);
|
157 |
+
|
158 |
+
$content = apply_filters('lp_conversion_area_pre_standardize',$content, $post, $doshortcode);
|
159 |
+
|
160 |
+
$wrapper_class = lp_discover_important_wrappers($content);
|
161 |
+
|
162 |
+
if ($doshortcode)
|
163 |
+
{
|
164 |
+
$content = do_shortcode($content);
|
165 |
+
}
|
166 |
+
|
167 |
+
|
168 |
+
$content = apply_filters('lp_conversion_area_post',$content, $post);
|
169 |
+
|
170 |
+
if(!$return)
|
171 |
+
{
|
172 |
+
$content = str_replace('<p><div id="inbound-form-wrapper"', '<div id="inbound-form-wrapper"', $content);
|
173 |
+
$content = preg_replace('/<p[^>]*><\/p[^>]*>/', '', $content); // remove empty p tags
|
174 |
+
$content = preg_replace('/<\/p>/', '', $content); // remove last empty p tag
|
175 |
+
echo do_shortcode($content);
|
176 |
+
|
177 |
+
}
|
178 |
+
else
|
179 |
+
{
|
180 |
+
return $content;
|
181 |
+
}
|
182 |
+
|
183 |
+
}
|
184 |
+
|
185 |
+
/* ADD SHORTCODE TO DISPLAY LANDING PAGE CONVERSION AREA */
|
186 |
+
add_shortcode( 'lp_conversion_area', 'lp_conversion_area_shortcode');
|
187 |
+
function lp_conversion_area_shortcode( $atts, $content = null )
|
188 |
+
{
|
189 |
+
extract(shortcode_atts(array(
|
190 |
+
'id' => '',
|
191 |
+
'align' => ''
|
192 |
+
//'style' => ''
|
193 |
+
), $atts));
|
194 |
+
|
195 |
+
|
196 |
+
$conversion_area = lp_conversion_area($post = null, $content=null,$return=true, $doshortcode = true, $rebuild_attributes = true);
|
197 |
+
|
198 |
+
|
199 |
+
return $conversion_area;
|
200 |
+
}
|
201 |
+
|
202 |
+
/* DISPLAY MAIN HEADLINE OF CALLING TEMPLATE */
|
203 |
+
function lp_main_headline($post = null, $headline=null,$return=false)
|
204 |
+
{
|
205 |
+
if (!isset($post))
|
206 |
+
global $post;
|
207 |
+
|
208 |
+
if (!$headline)
|
209 |
+
{
|
210 |
+
$main_headline = lp_get_value($post, 'lp', 'main-headline');
|
211 |
+
$main_headline = apply_filters('lp_main_headline',$main_headline, $post);
|
212 |
+
|
213 |
+
if(!$return)
|
214 |
+
{
|
215 |
+
echo $main_headline;
|
216 |
+
|
217 |
+
}
|
218 |
+
else
|
219 |
+
{
|
220 |
+
return $main_headline;
|
221 |
+
}
|
222 |
+
}
|
223 |
+
else
|
224 |
+
{
|
225 |
+
$main_headline = apply_filters('lp_main_headline',$main_headline, $post);
|
226 |
+
if(!$return)
|
227 |
+
{
|
228 |
+
echo $headline;
|
229 |
+
}
|
230 |
+
else
|
231 |
+
{
|
232 |
+
return $headline;
|
233 |
+
}
|
234 |
+
}
|
235 |
+
}
|
236 |
+
|
237 |
+
/* DISPLAY MAIN CONTENT AREA OF LANDING PAGE TEMPLATE */
|
238 |
+
function lp_content_area($post = null, $content=null,$return=false )
|
239 |
+
{
|
240 |
+
if (!isset($post))
|
241 |
+
global $post;
|
242 |
+
|
243 |
+
if (!$content)
|
244 |
+
{
|
245 |
+
global $post;
|
246 |
+
|
247 |
+
if (!isset($post)&&isset($_REQUEST['post']))
|
248 |
+
{
|
249 |
+
|
250 |
+
$post = get_post($_REQUEST['post']);
|
251 |
+
}
|
252 |
+
|
253 |
+
else if (!isset($post)&&isset($_REQUEST['lp_id']))
|
254 |
+
{
|
255 |
+
$post = get_post($_REQUEST['lp_id']);
|
256 |
+
}
|
257 |
+
|
258 |
+
//var_dump($post);
|
259 |
+
$content_area = $post->post_content;
|
260 |
+
|
261 |
+
if (!is_admin()) {
|
262 |
+
$content_area = apply_filters('the_content', $content_area);
|
263 |
+
}
|
264 |
+
|
265 |
+
$content_area = apply_filters('lp_content_area',$content_area, $post);
|
266 |
+
|
267 |
+
if(!$return)
|
268 |
+
{
|
269 |
+
echo $content_area;
|
270 |
+
|
271 |
+
}
|
272 |
+
else
|
273 |
+
{
|
274 |
+
return $content_area;
|
275 |
+
}
|
276 |
+
}
|
277 |
+
else
|
278 |
+
{
|
279 |
+
if(!$return)
|
280 |
+
{
|
281 |
+
echo $content_area;
|
282 |
+
}
|
283 |
+
else
|
284 |
+
{
|
285 |
+
return $content_area;
|
286 |
+
}
|
287 |
+
}
|
288 |
+
}
|
289 |
+
|
290 |
+
/* ADD BODY CLASS TO LANDING PAGE TEMPLATE */
|
291 |
+
function lp_body_class()
|
292 |
+
{
|
293 |
+
global $post;
|
294 |
+
global $lp_data;
|
295 |
+
// Need to add in lp_right or lp_left classes based on the meta to float forms
|
296 |
+
// like $conversion_layout = lp_get_value($post, $key, 'conversion-area-placement');
|
297 |
+
if (get_post_meta($post->ID, 'lp-selected-template', true))
|
298 |
+
{
|
299 |
+
$lp_body_class = "template-" . get_post_meta($post->ID, 'lp-selected-template', true);
|
300 |
+
$postid = "page-id-" . get_the_ID();
|
301 |
+
echo 'class="';
|
302 |
+
echo $lp_body_class . " " . $postid . " wordpress-landing-page";
|
303 |
+
echo '"';
|
304 |
+
}
|
305 |
+
return $lp_body_class;
|
306 |
+
}
|
307 |
+
|
308 |
+
/* GET PARENT DIRECTORY OF CALLING TEMPLATE */
|
309 |
+
function lp_get_parent_directory($path)
|
310 |
+
{
|
311 |
+
if(stristr($_SERVER['SERVER_SOFTWARE'], 'Win32')){
|
312 |
+
$array = explode('\\',$path);
|
313 |
+
$count = count($array);
|
314 |
+
$key = $count -1;
|
315 |
+
$parent = $array[$key];
|
316 |
+
return $parent;
|
317 |
+
} else if(stristr($_SERVER['SERVER_SOFTWARE'], 'IIS')){
|
318 |
+
$array = explode('\\',$path);
|
319 |
+
$count = count($array);
|
320 |
+
$key = $count -1;
|
321 |
+
$parent = $array[$key];
|
322 |
+
return $parent;
|
323 |
+
}else {
|
324 |
+
$array = explode('/',$path);
|
325 |
+
$count = count($array);
|
326 |
+
$key = $count -1;
|
327 |
+
$parent = $array[$key];
|
328 |
+
return $parent;
|
329 |
+
}
|
330 |
+
}
|
331 |
+
|
332 |
+
/* GET META VALUE FOR LANDING PAGE TEMPLATE SETTING */
|
333 |
+
function lp_get_value($post, $key, $id)
|
334 |
+
{
|
335 |
+
|
336 |
+
if (isset($post))
|
337 |
+
{
|
338 |
+
|
339 |
+
$return = do_shortcode(get_post_meta($post->ID, $key.'-'.$id , true));
|
340 |
+
$return = apply_filters('lp_get_value',$return,$post,$key,$id);
|
341 |
+
|
342 |
+
return $return;
|
343 |
+
}
|
344 |
+
}
|
345 |
+
|
346 |
+
/* CALLBACK TO GENERATE DROPDOWN OF LANDING PAGES - MAY BE UNUSED */
|
347 |
+
function lp_generate_drowndown($select_id, $post_type, $selected = 0, $width = 400, $height = 230,$font_size = 13,$multiple=true)
|
348 |
+
{
|
349 |
+
$post_type_object = get_post_type_object($post_type);
|
350 |
+
$label = $post_type_object->label;
|
351 |
+
|
352 |
+
if ($multiple==true)
|
353 |
+
{
|
354 |
+
$multiple = "multiple='multiple'";
|
355 |
+
}
|
356 |
+
else
|
357 |
+
{
|
358 |
+
$multiple = "";
|
359 |
+
}
|
360 |
+
|
361 |
+
$posts = get_posts(array('post_type'=> $post_type, 'post_status'=> 'publish', 'suppress_filters' => false, 'posts_per_page'=>-1));
|
362 |
+
echo '<select name="'. $select_id .'" id="'.$select_id.'" class="lp-multiple-select" style="width:'.$width.'px;height:'.$height.'px;font-size:'.$font_size.'px;" '.$multiple.'>';
|
363 |
+
foreach ($posts as $post) {
|
364 |
+
echo '<option value="', $post->ID, '"', $selected == $post->ID ? ' selected="selected"' : '', '>', $post->post_title, '</option>';
|
365 |
+
}
|
366 |
+
echo '</select>';
|
367 |
+
}
|
368 |
+
|
369 |
+
/* REMOVE CUSTOM FIELDS METABOX FROM LANDING PAGE CPT */
|
370 |
+
add_action( 'in_admin_header', 'lp_in_admin_header');
|
371 |
+
function lp_in_admin_header()
|
372 |
+
{
|
373 |
+
global $post;
|
374 |
+
global $wp_meta_boxes;
|
375 |
+
|
376 |
+
if (isset($post)&&$post->post_type=='landing-page')
|
377 |
+
{
|
378 |
+
unset( $wp_meta_boxes[get_current_screen()->id]['normal']['core']['postcustom'] );
|
379 |
+
}
|
380 |
+
}
|
381 |
+
|
382 |
+
/* DETECTION FOR GRAVITY FORM CLASS AND OTHER IMPORTANT CLASSES */
|
383 |
+
function lp_discover_important_wrappers($content)
|
384 |
+
{
|
385 |
+
$wrapper_class = "";
|
386 |
+
if (strstr($content,'gform_wrapper'))
|
387 |
+
{
|
388 |
+
$wrapper_class = 'gform_wrapper';
|
389 |
+
}
|
390 |
+
return $wrapper_class;
|
391 |
+
}
|
392 |
+
|
393 |
+
/* ADDS IN TRACKING SUPPORT FOR LINKS FOUND IN CONVERSION AREA WHEN THERE ARE NO FORMS DETECTED */
|
394 |
+
function lp_rebuild_attributes( $content=null , $wrapper_class=null )
|
395 |
+
{
|
396 |
+
if (strstr($content,'<form'))
|
397 |
+
return $content;
|
398 |
+
|
399 |
+
// Standardize all links
|
400 |
+
$inputs = preg_match_all('/\<a(.*?)\>/s',$content, $matches);
|
401 |
+
if (!empty($matches[0]))
|
402 |
+
{
|
403 |
+
foreach ($matches[0] as $key => $value)
|
404 |
+
{
|
405 |
+
if ($key==0)
|
406 |
+
{
|
407 |
+
$new_value = $value;
|
408 |
+
$new_value = preg_replace('/ class=(["\'])(.*?)(["\'])/','class="$2 wpl-track-me-link"', $new_value);
|
409 |
+
|
410 |
+
|
411 |
+
|
412 |
+
$content = str_replace($value, $new_value, $content);
|
413 |
+
break;
|
414 |
+
}
|
415 |
+
}
|
416 |
+
}
|
417 |
+
|
418 |
+
$check_wrap = preg_match_all('/lp_container_noform/s',$content, $check);
|
419 |
+
if (empty($check[0]))
|
420 |
+
{
|
421 |
+
$content = "<div id='lp_container_noform' class='$wrapper_class link-click-tracking'>{$content}</div>";
|
422 |
+
}
|
423 |
+
|
424 |
+
return $content;
|
425 |
+
}
|
426 |
+
|
427 |
+
/* LEGACY CODE FOR ADDING LANDING PAGE TEMPLATE METABOX SETTINGS TO TEMPLATE METABOX */
|
428 |
+
function lp_add_option($key,$type,$id,$default=null,$label=null,$description=null, $options=null)
|
429 |
+
{
|
430 |
+
switch ($type)
|
431 |
+
{
|
432 |
+
case "colorpicker":
|
433 |
+
return array(
|
434 |
+
'label' => $label,
|
435 |
+
'description' => $description,
|
436 |
+
'id' => $id,
|
437 |
+
'type' => 'colorpicker',
|
438 |
+
'default' => $default
|
439 |
+
);
|
440 |
+
break;
|
441 |
+
case "text":
|
442 |
+
return array(
|
443 |
+
'label' => $label,
|
444 |
+
'description' => $description,
|
445 |
+
'id' => $id,
|
446 |
+
'type' => 'text',
|
447 |
+
'default' => $default
|
448 |
+
);
|
449 |
+
break;
|
450 |
+
case "license-key":
|
451 |
+
return array(
|
452 |
+
'label' => $label,
|
453 |
+
'description' => $description,
|
454 |
+
'id' => $id,
|
455 |
+
'type' => 'license-key',
|
456 |
+
'default' => $default,
|
457 |
+
'slug' => $id
|
458 |
+
);
|
459 |
+
break;
|
460 |
+
case "textarea":
|
461 |
+
return array(
|
462 |
+
'label' => $label,
|
463 |
+
'description' => $description,
|
464 |
+
'id' => $id,
|
465 |
+
'type' => 'textarea',
|
466 |
+
'default' => $default
|
467 |
+
);
|
468 |
+
break;
|
469 |
+
case "wysiwyg":
|
470 |
+
return array(
|
471 |
+
'label' => $label,
|
472 |
+
'description' => $description,
|
473 |
+
'id' => $id,
|
474 |
+
'type' => 'wysiwyg',
|
475 |
+
'default' => $default
|
476 |
+
);
|
477 |
+
break;
|
478 |
+
case "media":
|
479 |
+
return array(
|
480 |
+
'label' => $label,
|
481 |
+
'description' => $description,
|
482 |
+
'id' => $id,
|
483 |
+
'type' => 'media',
|
484 |
+
'default' => $default
|
485 |
+
);
|
486 |
+
break;
|
487 |
+
case "checkbox":
|
488 |
+
return array(
|
489 |
+
'label' => $label,
|
490 |
+
'description' => $description,
|
491 |
+
'id' => $id,
|
492 |
+
'type' => 'checkbox',
|
493 |
+
'default' => $default,
|
494 |
+
'options' => $options
|
495 |
+
);
|
496 |
+
break;
|
497 |
+
case "radio":
|
498 |
+
return array(
|
499 |
+
'label' => $label,
|
500 |
+
'description' => $description,
|
501 |
+
'id' =>$id,
|
502 |
+
'type' => 'radio',
|
503 |
+
'default' => $default,
|
504 |
+
'options' => $options
|
505 |
+
);
|
506 |
+
break;
|
507 |
+
case "dropdown":
|
508 |
+
return array(
|
509 |
+
'label' => $label,
|
510 |
+
'description' => $description,
|
511 |
+
'id' => $id,
|
512 |
+
'type' => 'dropdown',
|
513 |
+
'default' => $default,
|
514 |
+
'options' => $options
|
515 |
+
);
|
516 |
+
break;
|
517 |
+
case "datepicker":
|
518 |
+
return array(
|
519 |
+
'label' => $label,
|
520 |
+
'description' => $description,
|
521 |
+
'id' => $id,
|
522 |
+
'type' => 'datepicker',
|
523 |
+
'default' => $default
|
524 |
+
);
|
525 |
+
break;
|
526 |
+
case "default-content":
|
527 |
+
return array(
|
528 |
+
'label' => $label,
|
529 |
+
'description' => $description,
|
530 |
+
'id' => $id,
|
531 |
+
'type' => 'default-content',
|
532 |
+
'default' => $default
|
533 |
+
);
|
534 |
+
break;
|
535 |
+
case "html":
|
536 |
+
return array(
|
537 |
+
'label' => $label,
|
538 |
+
'description' => $description,
|
539 |
+
'id' => $id,
|
540 |
+
'type' => 'html',
|
541 |
+
'default' => $default
|
542 |
+
);
|
543 |
+
break;
|
544 |
+
case "custom-css":
|
545 |
+
return array(
|
546 |
+
'label' => $label,
|
547 |
+
'description' => $description,
|
548 |
+
'id' => $id,
|
549 |
+
'type' => 'turn-off-editor',
|
550 |
+
'default' => $default // inline css
|
551 |
+
);
|
552 |
+
break;
|
553 |
+
case "description-block":
|
554 |
+
return array(
|
555 |
+
'label' => $label,
|
556 |
+
'description' => $description,
|
557 |
+
'id' => $key.'-'.$id,
|
558 |
+
'type' => 'description-block',
|
559 |
+
'default' => $default
|
560 |
+
);
|
561 |
+
break;
|
562 |
+
}
|
563 |
+
}
|
564 |
+
|
565 |
+
/* LEGACY CALLBACKS -- STILL USED BY SOME OLDER EXTENSIONS AND TEMPLATES */
|
566 |
+
function lp_list_feature()
|
567 |
+
{
|
568 |
+
return null;
|
569 |
+
}
|
570 |
+
|
571 |
+
|
572 |
+
function lp_global_config()
|
573 |
+
{
|
574 |
+
do_action('lp_global_config');
|
575 |
+
}
|
576 |
+
|
577 |
+
if (!function_exists('lp_init')) {
|
578 |
+
function lp_init() {
|
579 |
+
do_action('lp_init');
|
580 |
+
}
|
581 |
+
}
|
582 |
+
|
583 |
+
function lp_head()
|
584 |
+
{
|
585 |
+
do_action('lp_head');
|
586 |
+
}
|
587 |
+
|
588 |
+
function lp_footer()
|
589 |
+
{
|
590 |
+
do_action('lp_footer');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
591 |
}
|
modules/module.metaboxes.php
CHANGED
@@ -169,10 +169,6 @@ function lp_landing_page_header_area()
|
|
169 |
$variation_notes = apply_filters('lp_edit_variation_notes', $variation_notes, 1);
|
170 |
$variation_id = apply_filters( 'lp_display_notes_input_id' , 'lp-variation-notes' );
|
171 |
|
172 |
-
$page_conversion_data = get_post_meta( $post->ID, 'inbound_conversion_data', TRUE );
|
173 |
-
$page_conversion_data = json_decode($page_conversion_data,true);
|
174 |
-
//print_r($page_conversion_data);
|
175 |
-
//echo "TEST";
|
176 |
echo "<div id='lp-notes-area'>";
|
177 |
echo "<span id='add-lp-notes'>". __('Notes' , 'landing-pages') .":</span><input placeholder='". __('Add Notes to your variation. Example: This version is testing a green submit button ' , 'landing-pages') ."' type='text' class='lp-notes' name='{$variation_id}' id='{$variation_id}' value='{$variation_notes}' size='30'>";
|
178 |
echo '</div><div id="main-title-area"><input type="text" name="lp-main-headline" placeholder="'. __('Primary Headline Goes here. This will be visible on the page' , 'landing-pages') .'" id="lp-main-headline" value="'.$main_title.'" title="'. __('This headline will appear in the landing page template.' , 'landing-pages') .'"></div><div id="lp-current-view">'.$lp_variation.'</div><div id="switch-lp">0</div>';
|
169 |
$variation_notes = apply_filters('lp_edit_variation_notes', $variation_notes, 1);
|
170 |
$variation_id = apply_filters( 'lp_display_notes_input_id' , 'lp-variation-notes' );
|
171 |
|
|
|
|
|
|
|
|
|
172 |
echo "<div id='lp-notes-area'>";
|
173 |
echo "<span id='add-lp-notes'>". __('Notes' , 'landing-pages') .":</span><input placeholder='". __('Add Notes to your variation. Example: This version is testing a green submit button ' , 'landing-pages') ."' type='text' class='lp-notes' name='{$variation_id}' id='{$variation_id}' value='{$variation_notes}' size='30'>";
|
174 |
echo '</div><div id="main-title-area"><input type="text" name="lp-main-headline" placeholder="'. __('Primary Headline Goes here. This will be visible on the page' , 'landing-pages') .'" id="lp-main-headline" value="'.$main_title.'" title="'. __('This headline will appear in the landing page template.' , 'landing-pages') .'"></div><div id="lp-current-view">'.$lp_variation.'</div><div id="switch-lp">0</div>';
|
modules/module.post-type.php
CHANGED
@@ -39,7 +39,7 @@ function landing_page_register() {
|
|
39 |
'rewrite' => array("slug" => "$slug",'with_front' => false),
|
40 |
'capability_type' => 'post',
|
41 |
'hierarchical' => false,
|
42 |
-
'menu_position' =>
|
43 |
'supports' => array('title','custom-fields','editor','thumbnail', 'excerpt')
|
44 |
);
|
45 |
|
39 |
'rewrite' => array("slug" => "$slug",'with_front' => false),
|
40 |
'capability_type' => 'post',
|
41 |
'hierarchical' => false,
|
42 |
+
'menu_position' => 32,
|
43 |
'supports' => array('title','custom-fields','editor','thumbnail', 'excerpt')
|
44 |
);
|
45 |
|
modules/module.redirect-ab-testing.php
CHANGED
@@ -13,6 +13,15 @@ else if ( file_exists ( './../../../../../wp-load.php' ) )
|
|
13 |
{
|
14 |
include_once ( './../../../../../wp-load.php' );
|
15 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
|
17 |
class LP_Variation_Rotation {
|
18 |
|
13 |
{
|
14 |
include_once ( './../../../../../wp-load.php' );
|
15 |
}
|
16 |
+
else if ( file_exists ( './../../../../../../wp-load.php' ) )
|
17 |
+
{
|
18 |
+
include_once ( './../../../../../../wp-load.php' );
|
19 |
+
}
|
20 |
+
|
21 |
+
else if ( file_exists ( './../../../../../../../wp-load.php' ) )
|
22 |
+
{
|
23 |
+
include_once ( './../../../../../../../wp-load.php' );
|
24 |
+
}
|
25 |
|
26 |
class LP_Variation_Rotation {
|
27 |
|
modules/module.store.php
CHANGED
@@ -1 +1 @@
|
|
1 |
-
<?php
|
2 |
jQuery("#lp-store-iframe-container iframe").css('height', window.outerHeight + "px");
|
3 |
}, 2000);
|
1 |
+
<?php
|
2 |
jQuery("#lp-store-iframe-container iframe").css('height', window.outerHeight + "px");
|
3 |
}, 2000);
|
modules/module.track.php
CHANGED
@@ -1 +1 @@
|
|
1 |
-
<?php
|
2 |
$count_key = 'lp_page_views_count';
|
3 |
$count = get_post_meta($postID, $count_key, true);
|
4 |
if($count==''){
|
5 |
$count = 0;
|
6 |
delete_post_meta($postID, $count_key);
|
7 |
add_post_meta($postID, $count_key, '0');
|
8 |
}else{
|
9 |
$count++;
|
10 |
update_post_meta($postID, $count_key, $count);
|
11 |
}
|
12 |
$count_key = 'lp_page_conversions_count';
|
13 |
$count = get_post_meta($postID, $count_key, true);
|
14 |
if($count==''){
|
15 |
delete_post_meta($postID, $count_key);
|
16 |
add_post_meta($postID, $count_key, '0');
|
17 |
return "0";
|
18 |
}
|
19 |
return $count;
|
20 |
$count_key = 'lp_page_conversions_count';
|
21 |
$count = get_post_meta($postID, $count_key, true);
|
22 |
if($count==''){
|
23 |
$count = 0;
|
24 |
delete_post_meta($postID, $count_key);
|
25 |
add_post_meta($postID, $count_key, '0');
|
26 |
}else{
|
27 |
$count++;
|
28 |
update_post_meta($postID, $count_key, $count);
|
29 |
}
|
30 |
$count_key = 'lp_page_views_count';
|
31 |
$count = get_post_meta($postID, $count_key, true);
|
32 |
if($count==''){
|
33 |
delete_post_meta($postID, $count_key);
|
34 |
add_post_meta($postID, $count_key, '0');
|
35 |
return;
|
36 |
}
|
37 |
return $count;
|
|
|
38 |
$count_key = 'lp_page_views_count';
|
39 |
$count = get_post_meta($postID, $count_key, true);
|
40 |
if($count==''){
|
41 |
$count = 0;
|
42 |
delete_post_meta($postID, $count_key);
|
43 |
add_post_meta($postID, $count_key, '0');
|
44 |
}else{
|
45 |
$count++;
|
46 |
update_post_meta($postID, $count_key, $count);
|
47 |
}
|
48 |
$count_key = 'lp_page_conversions_count';
|
49 |
$count = get_post_meta($postID, $count_key, true);
|
50 |
if($count==''){
|
51 |
delete_post_meta($postID, $count_key);
|
52 |
add_post_meta($postID, $count_key, '0');
|
53 |
return "0";
|
54 |
}
|
55 |
return $count;
|
56 |
$count_key = 'lp_page_conversions_count';
|
57 |
$count = get_post_meta($postID, $count_key, true);
|
58 |
if($count==''){
|
59 |
$count = 0;
|
60 |
delete_post_meta($postID, $count_key);
|
61 |
add_post_meta($postID, $count_key, '0');
|
62 |
}else{
|
63 |
$count++;
|
64 |
update_post_meta($postID, $count_key, $count);
|
65 |
}
|
66 |
$count_key = 'lp_page_views_count';
|
67 |
$count = get_post_meta($postID, $count_key, true);
|
68 |
if($count==''){
|
69 |
delete_post_meta($postID, $count_key);
|
70 |
add_post_meta($postID, $count_key, '0');
|
71 |
return;
|
72 |
}
|
73 |
return $count;
|
|
|
1 |
$count_key = 'lp_page_views_count';
|
2 |
$count = get_post_meta($postID, $count_key, true);
|
3 |
if($count==''){
|
4 |
$count = 0;
|
5 |
delete_post_meta($postID, $count_key);
|
6 |
add_post_meta($postID, $count_key, '0');
|
7 |
}else{
|
8 |
$count++;
|
9 |
update_post_meta($postID, $count_key, $count);
|
10 |
}
|
11 |
$count_key = 'lp_page_conversions_count';
|
12 |
$count = get_post_meta($postID, $count_key, true);
|
13 |
if($count==''){
|
14 |
delete_post_meta($postID, $count_key);
|
15 |
add_post_meta($postID, $count_key, '0');
|
16 |
return "0";
|
17 |
}
|
18 |
return $count;
|
19 |
$count_key = 'lp_page_conversions_count';
|
20 |
$count = get_post_meta($postID, $count_key, true);
|
21 |
if($count==''){
|
22 |
$count = 0;
|
23 |
delete_post_meta($postID, $count_key);
|
24 |
add_post_meta($postID, $count_key, '0');
|
25 |
}else{
|
26 |
$count++;
|
27 |
update_post_meta($postID, $count_key, $count);
|
28 |
}
|
29 |
$count_key = 'lp_page_views_count';
|
30 |
$count = get_post_meta($postID, $count_key, true);
|
31 |
if($count==''){
|
32 |
delete_post_meta($postID, $count_key);
|
33 |
add_post_meta($postID, $count_key, '0');
|
34 |
return;
|
35 |
}
|
36 |
return $count;
|
37 |
+
<?php
|
38 |
$count_key = 'lp_page_views_count';
|
39 |
$count = get_post_meta($postID, $count_key, true);
|
40 |
if($count==''){
|
41 |
$count = 0;
|
42 |
delete_post_meta($postID, $count_key);
|
43 |
add_post_meta($postID, $count_key, '0');
|
44 |
}else{
|
45 |
$count++;
|
46 |
update_post_meta($postID, $count_key, $count);
|
47 |
}
|
48 |
$count_key = 'lp_page_conversions_count';
|
49 |
$count = get_post_meta($postID, $count_key, true);
|
50 |
if($count==''){
|
51 |
delete_post_meta($postID, $count_key);
|
52 |
add_post_meta($postID, $count_key, '0');
|
53 |
return "0";
|
54 |
}
|
55 |
return $count;
|
56 |
$count_key = 'lp_page_conversions_count';
|
57 |
$count = get_post_meta($postID, $count_key, true);
|
58 |
if($count==''){
|
59 |
$count = 0;
|
60 |
delete_post_meta($postID, $count_key);
|
61 |
add_post_meta($postID, $count_key, '0');
|
62 |
}else{
|
63 |
$count++;
|
64 |
update_post_meta($postID, $count_key, $count);
|
65 |
}
|
66 |
$count_key = 'lp_page_views_count';
|
67 |
$count = get_post_meta($postID, $count_key, true);
|
68 |
if($count==''){
|
69 |
delete_post_meta($postID, $count_key);
|
70 |
add_post_meta($postID, $count_key, '0');
|
71 |
return;
|
72 |
}
|
73 |
return $count;
|
package.json
ADDED
@@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"name": "landing-pages",
|
3 |
+
"version": "1.0.0",
|
4 |
+
"description": "Landing page plugin",
|
5 |
+
"main": "gulpfile.js",
|
6 |
+
"scripts": {
|
7 |
+
"test": "test"
|
8 |
+
},
|
9 |
+
"repository": {
|
10 |
+
"type": "git",
|
11 |
+
"url": "https://davidwells@github.com/inboundnow/landing-pages.git"
|
12 |
+
},
|
13 |
+
"keywords": [
|
14 |
+
"cta",
|
15 |
+
"calls",
|
16 |
+
"to",
|
17 |
+
"action"
|
18 |
+
],
|
19 |
+
"author": "Inbound Now",
|
20 |
+
"license": "GPL",
|
21 |
+
"bugs": {
|
22 |
+
"url": "https://github.com/inboundnow/landing-pages/issues"
|
23 |
+
},
|
24 |
+
"homepage": "https://github.com/inboundnow/landing-pages",
|
25 |
+
"dependencies": {},
|
26 |
+
"devDependencies": {
|
27 |
+
"grunt-wp-readme-to-markdown": "^0.8.0",
|
28 |
+
"gulp": "^3.8.5",
|
29 |
+
"gulp-clean": "^0.2.4",
|
30 |
+
"gulp-concat": "~2.1.7",
|
31 |
+
"gulp-header": "^1.0.2",
|
32 |
+
"gulp-jshint": "^1.6.1",
|
33 |
+
"gulp-karma": "0.0.4",
|
34 |
+
"gulp-markdox": "^0.1.0",
|
35 |
+
"gulp-plumber": "~0.6.2",
|
36 |
+
"gulp-rename": "~1.1.0",
|
37 |
+
"gulp-uglify": "~0.3.0",
|
38 |
+
"jshint-stylish": "^0.2.0",
|
39 |
+
"karma": "^0.12.16",
|
40 |
+
"karma-chrome-launcher": "^0.1.5",
|
41 |
+
"karma-jasmine": "~0.2.0",
|
42 |
+
"karma-phantomjs-launcher": "^0.1.4",
|
43 |
+
"karma-spec-reporter": "0.0.13"
|
44 |
+
}
|
45 |
+
}
|
readme.txt
CHANGED
@@ -1,13 +1,13 @@
|
|
1 |
=== WordPress Landing Pages ===
|
2 |
|
3 |
-
Contributors: David Wells,
|
4 |
Donate link: mailto:marketplace@inboundnow.com
|
5 |
License: GPLv2 or later
|
6 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
7 |
Tags: landing pages, inbound marketing, conversion pages, split testing, a b test, a b testing, a/b test, a/b testing, coming soon page, email list, landing page, list building, maintenance page, squeeze page, inbound now, landing-pages, splash pages, cpa, click tracking, goal tracking, analytics, free landing page templates
|
8 |
Requires at least: 3.8
|
9 |
Tested up to: 4.1
|
10 |
-
Stable Tag: 1.
|
11 |
|
12 |
Create landing pages for your WordPress site. Monitor and improve conversion rates, run A/B split tests, customize your own templates and more.
|
13 |
|
@@ -72,7 +72,30 @@ The plugin is also fully extendable and has a number of actions, filters, and ho
|
|
72 |
4. Choose from a ton of pre-made templates, use your existing design, or design your own theme!
|
73 |
|
74 |
== Changelog ==
|
75 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
76 |
* Added form field exclusions to ignore sensitive data
|
77 |
|
78 |
= 1.7.3 =
|
1 |
=== WordPress Landing Pages ===
|
2 |
|
3 |
+
Contributors: David Wells, Hudson Atwell
|
4 |
Donate link: mailto:marketplace@inboundnow.com
|
5 |
License: GPLv2 or later
|
6 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
7 |
Tags: landing pages, inbound marketing, conversion pages, split testing, a b test, a b testing, a/b test, a/b testing, coming soon page, email list, landing page, list building, maintenance page, squeeze page, inbound now, landing-pages, splash pages, cpa, click tracking, goal tracking, analytics, free landing page templates
|
8 |
Requires at least: 3.8
|
9 |
Tested up to: 4.1
|
10 |
+
Stable Tag: 1.8.1
|
11 |
|
12 |
Create landing pages for your WordPress site. Monitor and improve conversion rates, run A/B split tests, customize your own templates and more.
|
13 |
|
72 |
4. Choose from a ton of pre-made templates, use your existing design, or design your own theme!
|
73 |
|
74 |
== Changelog ==
|
75 |
+
|
76 |
+
= 1.8.1 =
|
77 |
+
* WYSIWYG buttons overlapping fixed
|
78 |
+
* Fixes issue with Homepage extensions and variation switching
|
79 |
+
* Template preview links
|
80 |
+
* Removing 'get short url' from landing pages.
|
81 |
+
* View full list of changes [here](https://github.com/inboundnow/landing-pages/issues?q=label%3A1.8.1+is%3Aclosed)
|
82 |
+
|
83 |
+
= 1.8.0 =
|
84 |
+
* Fixing addon store
|
85 |
+
|
86 |
+
= 1.7.9 =
|
87 |
+
* Even more security updates! Security for the win!
|
88 |
+
|
89 |
+
= 1.7.8 =
|
90 |
+
* Security Patch
|
91 |
+
|
92 |
+
= 1.7.7 =
|
93 |
+
* Fix double lead notification email
|
94 |
+
|
95 |
+
= 1.7.6 =
|
96 |
+
* Fixed double email submission on contact form 7
|
97 |
+
|
98 |
+
= 1.7.5 =
|
99 |
* Added form field exclusions to ignore sensitive data
|
100 |
|
101 |
= 1.7.3 =
|
screenshot-1.jpg
ADDED
Binary file
|
screenshot-2.jpg
ADDED
Binary file
|
screenshot-3.jpg
ADDED
Binary file
|
screenshot-4.jpg
ADDED
Binary file
|
shared/.SyncIgnore
DELETED
@@ -1,13 +0,0 @@
|
|
1 |
-
# .SyncIgnore is a UTF-8 encoded .txt file that helps you specify single files, paths and rules
|
2 |
-
# for ignoring during the synchronization job. It supports "?" and "*" wildcard symbols.
|
3 |
-
#
|
4 |
-
#
|
5 |
-
# OS generated files #
|
6 |
-
.DS_Store
|
7 |
-
.DS_Store?
|
8 |
-
._*
|
9 |
-
.Spotlight-V100
|
10 |
-
.Trashes
|
11 |
-
ehthumbs.db
|
12 |
-
desktop.ini
|
13 |
-
Thumbs.db
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
shared/assets/assets.loader.class.php
CHANGED
@@ -3,191 +3,181 @@
|
|
3 |
Inbound Scripts and CSS Enqueue
|
4 |
*/
|
5 |
|
6 |
-
|
7 |
if (!class_exists('Inbound_Asset_Loader')) {
|
8 |
-
class Inbound_Asset_Loader {
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
}
|
16 |
-
|
17 |
-
/**
|
18 |
-
* Registers and enqueues stylesheets for the administration panel and the
|
19 |
-
* public facing site.
|
20 |
-
*
|
21 |
-
* Example:
|
22 |
-
* self::load_file('SCRIPT-ID', 'frontend/js/path-in-shared-assets.js', 'localized_var_name', $localized_array_values, $dependancies_array );
|
23 |
-
*/
|
24 |
-
static function register_scripts_and_styles() {
|
25 |
-
/* Frontent and Backend Files */
|
26 |
-
self::load_file('jquery-cookie', 'global/js/jquery.cookie.js', array( 'jquery' ));
|
27 |
-
self::load_file('jquery-total-storage', 'global/js/jquery.total-storage.min.js', array( 'jquery' ));
|
28 |
-
if(is_user_logged_in()){
|
29 |
-
self::load_file('inbound-admin', 'admin/css/global-inbound-admin.css');
|
30 |
}
|
31 |
|
32 |
-
|
33 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
|
35 |
-
$inbound_now_screens = Inbound_Compatibility::return_inbound_now_screens(); // list of inbound now screens
|
36 |
-
$screen = get_current_screen();
|
37 |
|
38 |
-
/*
|
|
|
39 |
|
40 |
-
|
41 |
-
self::load_file('image-picker-js', 'admin/js/image-picker.js');
|
42 |
-
self::load_file('image-picker-css', 'admin/css/image-picker.css');
|
43 |
-
}
|
44 |
-
/* Metabox CSS */
|
45 |
-
self::load_file('inbound-metaboxes', 'admin/css/inbound-metaboxes.css');
|
46 |
|
47 |
-
|
48 |
-
|
|
|
|
|
49 |
|
50 |
-
|
51 |
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
wp_dequeue_script( $handle );
|
56 |
-
}
|
57 |
-
}
|
58 |
-
/*if (!defined('InboundAnalytics_v2')) {
|
59 |
-
self::load_file('funnel-tracking', 'frontend/js/inbound.js', array( 'jquery','jquery-cookie', 'jquery-total-storage'), 'wplft', self::localize_lead_data());
|
60 |
-
self::load_file('store-lead-ajax', 'frontend/js/store.lead.ajax.js', array( 'jquery','jquery-cookie', 'jquery-total-storage'), 'inbound_ajax', self::localize_lead_data());
|
61 |
-
} else {
|
62 |
-
*/
|
63 |
-
|
64 |
-
self::load_file('funnel-tracking', 'frontend/js/analytics/inboundAnalytics.js', array( 'jquery' ), 'inbound_settings', self::localize_lead_data());
|
65 |
-
/* } */
|
66 |
-
|
67 |
-
if (is_array($store)) {
|
68 |
-
foreach ( $store as $handle ) {
|
69 |
-
wp_enqueue_script( $handle );
|
70 |
-
}
|
71 |
-
}
|
72 |
-
/* Target Specific post type with
|
73 |
-
if ( is_singular( 'landing-page' ) ) {
|
74 |
-
|
75 |
-
} */
|
76 |
-
//self::load_file('test-css', 'frontend/css/test.css');
|
77 |
-
}
|
78 |
-
} // end register_scripts_and_styles
|
79 |
-
|
80 |
-
/**
|
81 |
-
* Helper function for registering and enqueueing scripts and styles.
|
82 |
-
*
|
83 |
-
* @name The ID to register with WordPress
|
84 |
-
* @file_path The path to the actual file inside /shared/assets/
|
85 |
-
* @localize_array Optional argument for the localized array
|
86 |
-
* @deps js dependancies by name example 'jquery'
|
87 |
-
* @localize_var the localized variable name
|
88 |
-
*/
|
89 |
-
static function load_file($name, $file_name, $deps = array(), $localize_var = null, $localize_array = array()) {
|
90 |
-
$is_script = false;
|
91 |
-
$deps = (empty($deps)) ? array() : $deps;
|
92 |
-
$url = INBOUDNOW_SHARED_URLPATH . 'assets/' . $file_name;
|
93 |
-
$file = INBOUDNOW_SHARED_PATH . 'assets/' . $file_name;
|
94 |
-
|
95 |
-
$file_type = strpos($file_name, '.js');
|
96 |
-
if (!(false === $file_type)) { $is_script = true; }
|
97 |
-
|
98 |
-
if(file_exists($file)) {
|
99 |
-
if($is_script) {
|
100 |
-
wp_register_script($name, $url, $deps);
|
101 |
-
wp_enqueue_script($name);
|
102 |
-
|
103 |
-
if ($localize_var != null) {
|
104 |
-
wp_localize_script( $name , $localize_var, $localize_array );
|
105 |
}
|
|
|
|
|
|
|
|
|
106 |
} else {
|
107 |
-
|
108 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
109 |
}
|
110 |
-
}
|
111 |
|
112 |
-
} // end load_file
|
113 |
-
|
114 |
-
/* Global Specific localize functions */
|
115 |
-
static function localize_lead_data() {
|
116 |
-
global $post;
|
117 |
-
$post_id = null;
|
118 |
-
$id_check = false;
|
119 |
-
$page_tracking = 'on';
|
120 |
-
$search_tracking = 'on';
|
121 |
-
$comment_tracking = 'on';
|
122 |
-
$post_type = isset($post) ? get_post_type( $post ) : null;
|
123 |
-
$current_page = "http://".$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"];
|
124 |
-
$ip_address = (isset($_SERVER['REMOTE_ADDR'])) ? $_SERVER['REMOTE_ADDR'] : '0.0.0.0.0';
|
125 |
-
$lead_id = (isset($_COOKIE['wp_lead_id'])) ? $_COOKIE['wp_lead_id'] : false;
|
126 |
-
$lead_email = (isset($_COOKIE['wp_lead_email'])) ? $_COOKIE['wp_lead_email'] : false;
|
127 |
-
$lead_uid = (isset($_COOKIE['wp_lead_uid'])) ? $_COOKIE['wp_lead_uid'] : false;
|
128 |
-
$custom_map_values = array();
|
129 |
-
$custom_map_values = apply_filters( 'inboundnow_custom_map_values_filter' , $custom_map_values);
|
130 |
-
// Get correct post ID
|
131 |
-
|
132 |
-
global $wp_query;
|
133 |
-
$current_page_id = $wp_query->get_queried_object_id();
|
134 |
-
$post_id = $current_page_id;
|
135 |
-
$id_check = ($post_id != null) ? true : false;
|
136 |
-
|
137 |
-
if (!is_archive() && !$id_check){
|
138 |
-
$post_id = (isset($post)) ? $post->ID : false;
|
139 |
-
$id_check = ($post_id != null) ? true : false;
|
140 |
}
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
147 |
$id_check = ($post_id != null) ? true : false;
|
148 |
-
}
|
149 |
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
163 |
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
} // end class
|
191 |
}
|
192 |
|
193 |
Inbound_Asset_Loader::load_inbound_assets();
|
3 |
Inbound Scripts and CSS Enqueue
|
4 |
*/
|
5 |
|
|
|
6 |
if (!class_exists('Inbound_Asset_Loader')) {
|
7 |
+
class Inbound_Asset_Loader {
|
8 |
+
static $load_assets;
|
9 |
+
|
10 |
+
static function load_inbound_assets() {
|
11 |
+
self::$load_assets = true;
|
12 |
+
add_action('wp_enqueue_scripts', array(__CLASS__, 'register_scripts_and_styles'), 101);
|
13 |
+
add_action('admin_enqueue_scripts', array(__CLASS__, 'register_scripts_and_styles'), 101);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
}
|
15 |
|
16 |
+
/**
|
17 |
+
* Registers and enqueues stylesheets for the administration panel and the
|
18 |
+
* public facing site.
|
19 |
+
*
|
20 |
+
* Example:
|
21 |
+
* self::enqueue_shared_file('SCRIPT-ID', INBOUDNOW_SHARED_PATH . 'assets/js/frontend/path-in-shared-assets.js', 'localized_var_name', $localized_array_values, $dependancies_array );
|
22 |
+
*/
|
23 |
+
static function register_scripts_and_styles() {
|
24 |
+
/* Frontent and Backend Files */
|
25 |
|
|
|
|
|
26 |
|
27 |
+
/* Conditionals for admin or frontend */
|
28 |
+
if(is_admin()) {
|
29 |
|
30 |
+
//self::enqueue_shared_file('inbound-analytics', 'assets/js/frontend/analytics/inboundAnalytics.js', array( 'jquery' ), 'inbound_settings', self::localize_lead_data());
|
|
|
|
|
|
|
|
|
|
|
31 |
|
32 |
+
self::enqueue_shared_file('jquery-cookie', 'assets/js/global/jquery.cookie.js', array( 'jquery' ));
|
33 |
+
self::enqueue_shared_file('jquery-total-storage', 'assets/js/global/jquery.total-storage.min.js', array( 'jquery' ));
|
34 |
+
$inbound_now_screens = Inbound_Compatibility::return_inbound_now_screens(); // list of inbound now screens
|
35 |
+
$screen = get_current_screen();
|
36 |
|
37 |
+
/* Target Specific screen with // echo $screen->id; */
|
38 |
|
39 |
+
if ( $screen->id == 'wp-call-to-action') {
|
40 |
+
self::enqueue_shared_file('image-picker-js', 'assets/js/admin/image-picker.js');
|
41 |
+
self::enqueue_shared_file('image-picker-css', 'assets/css/admin/image-picker.css');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
42 |
}
|
43 |
+
/* Metabox CSS */
|
44 |
+
self::enqueue_shared_file('inbound-metaboxes', 'assets/css/admin/inbound-metaboxes.css');
|
45 |
+
self::enqueue_shared_file('inbound-global-styles', 'assets/css/admin/global-inbound-admin.css');
|
46 |
+
|
47 |
} else {
|
48 |
+
|
49 |
+
global $wp_scripts;
|
50 |
+
|
51 |
+
if ( !empty( $wp_scripts->queue ) ) {
|
52 |
+
$store = $wp_scripts->queue; // store the scripts
|
53 |
+
foreach ( $wp_scripts->queue as $handle ) {
|
54 |
+
wp_dequeue_script( $handle );
|
55 |
+
}
|
56 |
+
}
|
57 |
+
|
58 |
+
/* unminified source available */
|
59 |
+
self::enqueue_shared_file('inbound-analytics', 'assets/js/frontend/analytics/inboundAnalytics.min.js', array( 'jquery' ), 'inbound_settings', self::localize_lead_data());
|
60 |
+
|
61 |
+
if (is_array($store)) {
|
62 |
+
foreach ( $store as $handle ) {
|
63 |
+
wp_enqueue_script( $handle );
|
64 |
+
}
|
65 |
+
}
|
66 |
+
|
67 |
+
}
|
68 |
+
} // end register_scripts_and_styles
|
69 |
+
|
70 |
+
/**
|
71 |
+
* Helper function for registering and enqueueing scripts and styles.
|
72 |
+
*
|
73 |
+
* @name The ID to register with WordPress
|
74 |
+
* @file_path The path to the actual file inside /shared/assets/
|
75 |
+
* @localize_array Optional argument for the localized array
|
76 |
+
* @deps js dependancies by name example 'jquery'
|
77 |
+
* @localize_var the localized variable name
|
78 |
+
*/
|
79 |
+
static function enqueue_shared_file($name, $path, $deps = array(), $localize_var = null, $localize_array = array()) {
|
80 |
+
$is_script = false;
|
81 |
+
$deps = (empty($deps)) ? array() : $deps;
|
82 |
+
$url = INBOUDNOW_SHARED_URLPATH . $path;
|
83 |
+
$file = INBOUDNOW_SHARED_PATH . $path;
|
84 |
+
|
85 |
+
$file_type = strpos($path, '.js');
|
86 |
+
if (!(false === $file_type)) { $is_script = true; }
|
87 |
+
|
88 |
+
if(file_exists($file)) {
|
89 |
+
if($is_script) {
|
90 |
+
wp_register_script($name, $url, $deps);
|
91 |
+
wp_enqueue_script($name);
|
92 |
+
|
93 |
+
if ($localize_var != null) {
|
94 |
+
wp_localize_script( $name , $localize_var, $localize_array );
|
95 |
+
}
|
96 |
+
} else {
|
97 |
+
wp_register_style($name, $url);
|
98 |
+
wp_enqueue_style($name);
|
99 |
+
}
|
100 |
}
|
|
|
101 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
102 |
}
|
103 |
+
|
104 |
+
/* Global Specific localize functions */
|
105 |
+
static function localize_lead_data() {
|
106 |
+
global $post;
|
107 |
+
$post_id = null;
|
108 |
+
$id_check = false;
|
109 |
+
$page_tracking = 'on';
|
110 |
+
$search_tracking = 'on';
|
111 |
+
$comment_tracking = 'on';
|
112 |
+
$post_type = isset($post) ? get_post_type( $post ) : null;
|
113 |
+
$current_page = "http://".$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"];
|
114 |
+
$ip_address = (isset($_SERVER['REMOTE_ADDR'])) ? $_SERVER['REMOTE_ADDR'] : '0.0.0.0.0';
|
115 |
+
$lead_id = (isset($_COOKIE['wp_lead_id'])) ? $_COOKIE['wp_lead_id'] : false;
|
116 |
+
$lead_email = (isset($_COOKIE['wp_lead_email'])) ? $_COOKIE['wp_lead_email'] : false;
|
117 |
+
$lead_uid = (isset($_COOKIE['wp_lead_uid'])) ? $_COOKIE['wp_lead_uid'] : false;
|
118 |
+
$custom_map_values = array();
|
119 |
+
$custom_map_values = apply_filters( 'inboundnow_custom_map_values_filter' , $custom_map_values);
|
120 |
+
// Get correct post ID
|
121 |
+
|
122 |
+
global $wp_query;
|
123 |
+
$current_page_id = $wp_query->get_queried_object_id();
|
124 |
+
$post_id = $current_page_id;
|
125 |
$id_check = ($post_id != null) ? true : false;
|
|
|
126 |
|
127 |
+
if (!is_archive() && !$id_check){
|
128 |
+
$post_id = (isset($post)) ? $post->ID : false;
|
129 |
+
$id_check = ($post_id != null) ? true : false;
|
130 |
+
}
|
131 |
+
if (!$id_check) {
|
132 |
+
$post_id = wpl_url_to_postid($current_page);
|
133 |
+
$id_check = ($post_id != null) ? true : false;
|
134 |
+
}
|
135 |
+
if(!$id_check){
|
136 |
+
$post_id = wp_leads_get_page_final_id();
|
137 |
+
$id_check = ($post_id != null) ? true : false;
|
138 |
+
}
|
139 |
+
|
140 |
+
// If page tracking on
|
141 |
+
$lead_page_view_tracking = get_option( 'wpl-main-page-view-tracking', 1);
|
142 |
+
$lead_search_tracking = get_option( 'wpl-main-search-tracking', 1);
|
143 |
+
$lead_comment_tracking = get_option( 'wpl-main-comment-tracking', 1);
|
144 |
+
if (!$lead_search_tracking) {
|
145 |
+
$search_tracking = 'off';
|
146 |
+
}
|
147 |
+
if (!$lead_comment_tracking) {
|
148 |
+
$comment_tracking = 'off';
|
149 |
+
}
|
150 |
+
if (!$lead_page_view_tracking) {
|
151 |
+
$page_tracking = 'off';
|
152 |
+
}
|
153 |
|
154 |
+
// Localize lead data
|
155 |
+
$lead_data_array = array();
|
156 |
+
$lead_data_array['lead_id'] = ($lead_id) ? $lead_id : null;
|
157 |
+
$lead_data_array['lead_email'] = ($lead_email) ? $lead_email : null;
|
158 |
+
$lead_data_array['lead_uid'] = ($lead_uid) ? $lead_uid : null;
|
159 |
+
$time = current_time( 'timestamp', 0 ); // Current wordpress time from settings
|
160 |
+
$wordpress_date_time = date("Y/m/d G:i:s", $time);
|
161 |
+
$inbound_track_include = get_option( 'wpl-main-tracking-ids');
|
162 |
+
$inbound_track_exclude = get_option( 'wpl-main-exclude-tracking-ids');
|
163 |
+
$inbound_localized_data = array('post_id' => $post_id,
|
164 |
+
'ip_address' => $ip_address,
|
165 |
+
'wp_lead_data' => $lead_data_array,
|
166 |
+
'admin_url' => admin_url('admin-ajax.php'),
|
167 |
+
'track_time' => $wordpress_date_time,
|
168 |
+
'post_type' => $post_type,
|
169 |
+
'page_tracking' => $page_tracking,
|
170 |
+
'search_tracking' => $search_tracking,
|
171 |
+
'comment_tracking' => $comment_tracking,
|
172 |
+
'custom_mapping' => $custom_map_values,
|
173 |
+
'inbound_track_exclude' => $inbound_track_exclude,
|
174 |
+
'inbound_track_include' => $inbound_track_include
|
175 |
+
);
|
176 |
+
|
177 |
+
return $inbound_localized_data;
|
178 |
+
} // end localize lead data
|
179 |
+
|
180 |
+
} // end class
|
181 |
}
|
182 |
|
183 |
Inbound_Asset_Loader::load_inbound_assets();
|
shared/assets/{admin/css → css/admin}/global-inbound-admin.css
RENAMED
@@ -3,7 +3,7 @@
|
|
3 |
#wpadminbar.nojs .ab-top-menu > li.menupop.inbound-nav-marketing > .ab-item,
|
4 |
#wpadminbar .ab-top-menu > li.menupop.inbound-nav-marketing > .ab-item, #inboundnow-media-button {
|
5 |
|
6 |
-
background-image: url('../../global/
|
7 |
|
8 |
background-repeat: no-repeat;
|
9 |
background-position: 0.15em 50%;
|
@@ -12,6 +12,12 @@
|
|
12 |
#inboundnow-media-button {
|
13 |
padding-left: 5px;
|
14 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
#wp-admin-bar-ddw-edd-languages-de > .ab-item:before,
|
16 |
#wp-admin-bar-ddw-edd-translations-forum > .ab-item:before {
|
17 |
color: #ff9900;
|
@@ -44,10 +50,10 @@
|
|
44 |
}
|
45 |
@font-face {
|
46 |
font-family: 'FontAwesome';
|
47 |
-
src: url('../../
|
48 |
-
src: url('../../
|
49 |
-
url('../../
|
50 |
-
url('../../
|
51 |
font-weight: normal;
|
52 |
font-style: normal;
|
53 |
}
|
3 |
#wpadminbar.nojs .ab-top-menu > li.menupop.inbound-nav-marketing > .ab-item,
|
4 |
#wpadminbar .ab-top-menu > li.menupop.inbound-nav-marketing > .ab-item, #inboundnow-media-button {
|
5 |
|
6 |
+
background-image: url('../../images/global/shortcodes-blue.png');
|
7 |
|
8 |
background-repeat: no-repeat;
|
9 |
background-position: 0.15em 50%;
|
12 |
#inboundnow-media-button {
|
13 |
padding-left: 5px;
|
14 |
}
|
15 |
+
body #calls-to-action .toggle .switch-versions, body #landing-pages .toggle .switch-versions, body #leads .toggle .switch-versions {
|
16 |
+
display: none;
|
17 |
+
}
|
18 |
+
.switch-versions, .switch-versions {
|
19 |
+
|
20 |
+
}
|
21 |
#wp-admin-bar-ddw-edd-languages-de > .ab-item:before,
|
22 |
#wp-admin-bar-ddw-edd-translations-forum > .ab-item:before {
|
23 |
color: #ff9900;
|
50 |
}
|
51 |
@font-face {
|
52 |
font-family: 'FontAwesome';
|
53 |
+
src: url('../../fonts/fontawesome/fontawesome-webfont.eot');
|
54 |
+
src: url('../../fonts/fontawesome/fontawesome-webfont.eot') format('embedded-opentype'),
|
55 |
+
url('../../fonts/fontawesome/fontawesome-webfont.woff?v=3.0.2') format('woff'),
|
56 |
+
url('../../fonts/fontawesome/fontawesome-webfont.ttf?v=3.0.2') format('truetype');
|
57 |
font-weight: normal;
|
58 |
font-style: normal;
|
59 |
}
|
shared/assets/{admin/css → css/admin}/image-picker.css
RENAMED
File without changes
|
shared/assets/{admin/css → css/admin}/inbound-metaboxes.css
RENAMED
File without changes
|
shared/{css → assets/css/admin}/select2.css
RENAMED
@@ -1,4 +1,4 @@
|
|
1 |
-
|
2 |
Version: 3.4.1 Timestamp: Thu Jun 27 18:02:10 PDT 2013
|
3 |
*/
|
4 |
.select2-container {
|
@@ -15,7 +15,7 @@ Version: 3.4.1 Timestamp: Thu Jun 27 18:02:10 PDT 2013
|
|
15 |
.select2-drop,
|
16 |
.select2-search,
|
17 |
.select2-search input{
|
18 |
-
|
19 |
Force border-box so that % widths fit the parent
|
20 |
container without overlap because of margin/padding.
|
21 |
|
@@ -427,7 +427,7 @@ Version: 3.4.1 Timestamp: Thu Jun 27 18:02:10 PDT 2013
|
|
427 |
display: list-item;
|
428 |
}
|
429 |
|
430 |
-
|
431 |
disabled look for disabled choices in the results dropdown
|
432 |
*/
|
433 |
.select2-results .select2-disabled.select2-highlighted {
|
1 |
+
/**
|
2 |
Version: 3.4.1 Timestamp: Thu Jun 27 18:02:10 PDT 2013
|
3 |
*/
|
4 |
.select2-container {
|
15 |
.select2-drop,
|
16 |
.select2-search,
|
17 |
.select2-search input{
|
18 |
+
/**
|
19 |
Force border-box so that % widths fit the parent
|
20 |
container without overlap because of margin/padding.
|
21 |
|
427 |
display: list-item;
|
428 |
}
|
429 |
|
430 |
+
/**
|
431 |
disabled look for disabled choices in the results dropdown
|
432 |
*/
|
433 |
.select2-results .select2-disabled.select2-highlighted {
|
shared/{css/images → assets/css/admin}/select2x2.png
RENAMED
File without changes
|
shared/assets/css/admin/wpadminbar.css
ADDED
@@ -0,0 +1,154 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#wpadminbar.nojs .ab-top-menu > li.menupop.inbound-nav-marketing:hover > .ab-item,
|
2 |
+
#wpadminbar .ab-top-menu > li.menupop.inbound-nav-marketing.hover > .ab-item,
|
3 |
+
#wpadminbar.nojs .ab-top-menu > li.menupop.inbound-nav-marketing > .ab-item,
|
4 |
+
#wpadminbar .ab-top-menu > li.menupop.inbound-nav-marketing > .ab-item, #inboundnow-media-button {
|
5 |
+
|
6 |
+
background-image: url('../../images/global/shortcodes-blue.png');
|
7 |
+
|
8 |
+
background-repeat: no-repeat;
|
9 |
+
background-position: 0.15em 50%;
|
10 |
+
padding-left: 22px;
|
11 |
+
}
|
12 |
+
#inboundnow-media-button {
|
13 |
+
padding-left: 5px;
|
14 |
+
}
|
15 |
+
|
16 |
+
body #calls-to-action .toggle .switch-versions, body #landing-pages .toggle .switch-versions, body #leads .toggle .switch-versions {
|
17 |
+
display: none;
|
18 |
+
}
|
19 |
+
|
20 |
+
|
21 |
+
#wpadminbar .inbound-search-input {
|
22 |
+
width: 140px;
|
23 |
+
}
|
24 |
+
|
25 |
+
#wpadminbar .inbound-search-input,
|
26 |
+
#wpadminbar .inbound-search-go {
|
27 |
+
color: #21759b !important;
|
28 |
+
text-shadow: none;
|
29 |
+
}
|
30 |
+
#wpadminbar .inbound-search-input,
|
31 |
+
#wpadminbar .inbound-search-go {
|
32 |
+
background-color: #fff;
|
33 |
+
height: 18px;
|
34 |
+
line-height: 18px;
|
35 |
+
padding: 1px 4px;
|
36 |
+
}
|
37 |
+
#wpadminbar .inbound-search-go {
|
38 |
+
-webkit-border-radius: 11px;
|
39 |
+
-moz-border-radius: 11px;
|
40 |
+
border-radius: 11px;
|
41 |
+
font-size: 0.67em;
|
42 |
+
margin: 0 0 0 2px;
|
43 |
+
}
|
44 |
+
@font-face {
|
45 |
+
font-family: 'FontAwesome';
|
46 |
+
src: url('../../fonts/fontawesome/fontawesome-webfont.eot');
|
47 |
+
src: url('../../fonts/fontawesome/fontawesome-webfont.eot') format('embedded-opentype'),
|
48 |
+
url('../../fonts/fontawesome/fontawesome-webfont.woff?v=3.0.2') format('woff'),
|
49 |
+
url('../../fonts/fontawesome/fontawesome-webfont.ttf?v=3.0.2') format('truetype');
|
50 |
+
font-weight: normal;
|
51 |
+
font-style: normal;
|
52 |
+
}
|
53 |
+
#adminmenu .menu-icon-wp-lead div.wp-menu-image:before {
|
54 |
+
font-family: "FontAwesome" !important;
|
55 |
+
content: "\f0c0";
|
56 |
+
|
57 |
+
}
|
58 |
+
.branch-3-7 #adminmenu .menu-icon-wp-lead div.wp-menu-image:before {
|
59 |
+
display: none;
|
60 |
+
}
|
61 |
+
#adminmenu .menu-icon-wp-lead div.wp-menu-image img{
|
62 |
+
display: none;
|
63 |
+
}
|
64 |
+
.branch-3-7 #adminmenu .menu-icon-wp-lead div.wp-menu-image img {
|
65 |
+
display: block;
|
66 |
+
}
|
67 |
+
#wp-admin-bar-inbound-cta a:first-child, #wp-admin-bar-inbound-mailer a:first-child, #wp-admin-bar-inbound-automation a:first-child, #wp-admin-bar-inbound-templates .ab-item.ab-empty-item, #wp-admin-bar-inbound-settings .ab-item.ab-empty-item, #wp-admin-bar-inbound-analytics a:first-child {
|
68 |
+
padding-left: 30px !important;
|
69 |
+
}
|
70 |
+
#wp-admin-bar-inbound-templates .ab-item.ab-empty-item:hover, #wp-admin-bar-inbound-settings .ab-item.ab-empty-item:hover {
|
71 |
+
color: #2ea2cc;
|
72 |
+
}
|
73 |
+
#wp-admin-bar-inbound-leads a:first-child, #wp-admin-bar-inbound-seo a:first-child, #wp-admin-bar-inbound-landingpages a:first-child, #wp-admin-bar-inbound-forms a:first-child {
|
74 |
+
padding-left: 31px !important;
|
75 |
+
}
|
76 |
+
|
77 |
+
#search-inbound-menu {
|
78 |
+
max-height: 22px !important;
|
79 |
+
padding: 0px !important;
|
80 |
+
min-height: 23px !important;
|
81 |
+
padding-left: 3px !important;
|
82 |
+
margin-bottom: 1px !important;
|
83 |
+
}
|
84 |
+
|
85 |
+
#wp-admin-bar-inbound-docs-searchform, #wp-admin-bar-inbound-leads-search{
|
86 |
+
margin-bottom: 10px !important;
|
87 |
+
}
|
88 |
+
#wp-admin-bar-inbound-cta .ab-submenu a, #wp-admin-bar-inbound-leads .ab-submenu a, #wp-admin-bar-inbound-landingpages .ab-submenu a , #wp-admin-bar-inbound-forms .ab-submenu a, #wp-admin-bar-inbound-templates .ab-submenu a, #wp-admin-bar-inbound-analytics .ab-submenu a, #wp-admin-bar-inbound-seo .ab-submenu a{
|
89 |
+
padding-left: 10px !important;
|
90 |
+
}
|
91 |
+
#wp-admin-bar-inbound-mailer:before, #wp-admin-bar-inbound-automation:before, #wp-admin-bar-inbound-cta:before, #wp-admin-bar-inbound-leads:before, #wp-admin-bar-inbound-landingpages:before, #wp-admin-bar-inbound-forms:before, #wp-admin-bar-inbound-templates:before, #wp-admin-bar-inbound-settings:before, #wp-admin-bar-inbound-analytics:before, #wp-admin-bar-inbound-seo:before {
|
92 |
+
font-family: "FontAwesome" !important;
|
93 |
+
content: "\f05b" !important;
|
94 |
+
font: 100 19px/1 "FontAwesome" !important;
|
95 |
+
padding-top: 4px;
|
96 |
+
width: 30px;
|
97 |
+
display: inline-block;
|
98 |
+
height: 30px;
|
99 |
+
position: absolute;
|
100 |
+
left: 6px;
|
101 |
+
}
|
102 |
+
#wp-admin-bar-inbound-leads:before {
|
103 |
+
content: "\f0c0" !important;
|
104 |
+
font: 100 17px/1 "FontAwesome" !important;
|
105 |
+
}
|
106 |
+
#wp-admin-bar-inbound-landingpages:before {
|
107 |
+
content: "\f15c" !important;
|
108 |
+
left: 7px;
|
109 |
+
font-size: 21px !important;
|
110 |
+
}
|
111 |
+
#wp-admin-bar-inbound-forms:before {
|
112 |
+
font: 400 18px/1 dashicons!important;
|
113 |
+
content: "\f163" !important;
|
114 |
+
}
|
115 |
+
#wp-admin-bar-inbound-mailer:before {
|
116 |
+
font: 400 18px/1!important;
|
117 |
+
content: "\f003" !important;
|
118 |
+
}
|
119 |
+
#wp-admin-bar-inbound-automation:before {
|
120 |
+
font: 400 18px/1 !important;
|
121 |
+
content: "\f085" !important;
|
122 |
+
}
|
123 |
+
#wp-admin-bar-inbound-templates:before {
|
124 |
+
content: "\f0c5" !important;
|
125 |
+
font-size: 18px !important;
|
126 |
+
}
|
127 |
+
#wp-admin-bar-inbound-settings:before {
|
128 |
+
content: "\f013" !important;
|
129 |
+
left: 7px !important;
|
130 |
+
}
|
131 |
+
#wp-admin-bar-inbound-analytics:before {
|
132 |
+
content: "\f012" !important;
|
133 |
+
font-size: 17px !important;
|
134 |
+
}
|
135 |
+
#wp-admin-bar-inbound-seo:before {
|
136 |
+
content: "\f002" !important;
|
137 |
+
font-size: 17px !important;
|
138 |
+
}
|
139 |
+
#wp-admin-bar-inbound-cta a {
|
140 |
+
vertical-align: top;
|
141 |
+
}
|
142 |
+
#adminmenu .menu-icon-wp-call-to-action div.wp-menu-image:before {
|
143 |
+
font-family: "FontAwesome" !important;
|
144 |
+
content: "\f05b";
|
145 |
+
font: 400 24px/1 "FontAwesome" !important;
|
146 |
+
padding-top: 6px;
|
147 |
+
|
148 |
+
}
|
149 |
+
.short-list-inbound .mceIcon {
|
150 |
+
position: absolute;
|
151 |
+
top: 0;
|
152 |
+
left: 0;
|
153 |
+
width: 22px;
|
154 |
+
}
|
shared/assets/{global/fonts → fonts}/fontawesome/FontAwesome.otf
RENAMED
File without changes
|
shared/assets/{global/fonts → fonts}/fontawesome/README.md
RENAMED
File without changes
|
shared/assets/{global/fonts → fonts}/fontawesome/fontawesome-webfont.eot
RENAMED
File without changes
|
shared/assets/{global/fonts → fonts}/fontawesome/fontawesome-webfont.svg
RENAMED
File without changes
|
shared/assets/{global/fonts → fonts}/fontawesome/fontawesome-webfont.ttf
RENAMED
File without changes
|
shared/assets/{global/fonts → fonts}/fontawesome/fontawesome-webfont.woff
RENAMED
File without changes
|
shared/assets/frontend/js/analytics-src/analytics.js
DELETED
@@ -1,40 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Lead Tracking JS
|
3 |
-
* http://www.inboundnow.com
|
4 |
-
* This is the main analytics entry point
|
5 |
-
*/
|
6 |
-
var inbound_data = inbound_data || {};
|
7 |
-
// Ensure global _gaq Google Analytics queue has been initialized.
|
8 |
-
var _gaq = _gaq || [];
|
9 |
-
var InboundAnalytics = (function () {
|
10 |
-
|
11 |
-
var debugMode = false;
|
12 |
-
|
13 |
-
var _privateMethod = function () {
|
14 |
-
console.log('Run private');
|
15 |
-
};
|
16 |
-
|
17 |
-
var App = {
|
18 |
-
init: function () {
|
19 |
-
InboundAnalytics.Utils.init();
|
20 |
-
InboundAnalytics.PageTracking.StorePageView();
|
21 |
-
InboundAnalytics.Events.loadEvents();
|
22 |
-
},
|
23 |
-
/* Debugger Function toggled by var debugMode */
|
24 |
-
debug: function(msg,callback){
|
25 |
-
//if app not in debug mode, exit immediately
|
26 |
-
if(!debugMode || !console){return};
|
27 |
-
var msg = msg || false;
|
28 |
-
//console.log the message
|
29 |
-
if(msg && (typeof msg === 'string')){console.log(msg)};
|
30 |
-
|
31 |
-
//execute the callback if one was passed-in
|
32 |
-
if(callback && (callback instanceof Function)){
|
33 |
-
callback();
|
34 |
-
};
|
35 |
-
}
|
36 |
-
};
|
37 |
-
|
38 |
-
return App;
|
39 |
-
|
40 |
-
})();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
shared/assets/frontend/js/analytics-src/analytics.lead-tracking.js
DELETED
@@ -1,384 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Leads API functions
|
3 |
-
* @param Object InboundAnalytics - Main JS object
|
4 |
-
* @return Object - include event triggers
|
5 |
-
*/
|
6 |
-
var InboundAnalyticsLeadsAPI = (function (InboundAnalytics) {
|
7 |
-
var httpRequest;
|
8 |
-
InboundAnalytics.LeadsAPI = {
|
9 |
-
init: function() {
|
10 |
-
|
11 |
-
},
|
12 |
-
storeLeadData: function(){
|
13 |
-
if(element.addEventListener) {
|
14 |
-
element.addEventListener("submit", function(evt){
|
15 |
-
evt.preventDefault();
|
16 |
-
window.history.back();
|
17 |
-
}, true);
|
18 |
-
} else {
|
19 |
-
element.attachEvent('onsubmit', function(evt){
|
20 |
-
evt.preventDefault();
|
21 |
-
window.history.back();
|
22 |
-
});
|
23 |
-
}
|
24 |
-
},
|
25 |
-
inbound_map_fields: function (el, value, Obj) {
|
26 |
-
var formObj = [];
|
27 |
-
var $this = el;
|
28 |
-
var clean_output = value;
|
29 |
-
var label = $this.closest('label').text();
|
30 |
-
var exclude = ['credit-card']; // exlcude values from formObj
|
31 |
-
var inarray = jQuery.inArray(clean_output, exclude);
|
32 |
-
if(inarray == 0){
|
33 |
-
return null;
|
34 |
-
}
|
35 |
-
// Add items to formObj
|
36 |
-
formObj.push({
|
37 |
-
field_label: label,
|
38 |
-
field_name: $this.attr("name"),
|
39 |
-
field_value: $this.attr("value"),
|
40 |
-
field_id: $this.attr("id"),
|
41 |
-
field_class: $this.attr("class"),
|
42 |
-
field_type: $this.attr("type"),
|
43 |
-
match: clean_output,
|
44 |
-
js_selector: $this.attr("data-js-selector")
|
45 |
-
});
|
46 |
-
return formObj;
|
47 |
-
},
|
48 |
-
run_field_map_function: function (el, lookingfor) {
|
49 |
-
var return_form;
|
50 |
-
var formObj = new Array();
|
51 |
-
var $this = el;
|
52 |
-
var body = jQuery("body");
|
53 |
-
var input_id = $this.attr("id") || "NULL";
|
54 |
-
var input_name = $this.attr("name") || "NULL";
|
55 |
-
var this_val = $this.attr("value");
|
56 |
-
var array = lookingfor.split(",");
|
57 |
-
var array_length = array.length - 1;
|
58 |
-
|
59 |
-
// Main Loop
|
60 |
-
for (var i = 0; i < array.length; i++) {
|
61 |
-
var clean_output = InboundAnalytics.Utils.trim(array[i]);
|
62 |
-
var nice_name = clean_output.replace(/^\s+|\s+$/g,'');
|
63 |
-
var nice_name = nice_name.replace(" ",'_');
|
64 |
-
var in_object_already = nice_name in inbound_data;
|
65 |
-
//console.log(clean_output);
|
66 |
-
|
67 |
-
if (input_name.toLowerCase().indexOf(clean_output)>-1) {
|
68 |
-
/* Look for attr name match */
|
69 |
-
var the_map = InboundAnalytics.LeadsAPI.inbound_map_fields($this, clean_output, formObj);
|
70 |
-
InboundAnalytics.LeadsAPI.add_inbound_form_class($this, clean_output);
|
71 |
-
console.log('match name: ' + clean_output);
|
72 |
-
console.log(nice_name in inbound_data);
|
73 |
-
if (!in_object_already) {
|
74 |
-
inbound_data[nice_name] = this_val;
|
75 |
-
}
|
76 |
-
} else if (input_id.toLowerCase().indexOf(clean_output)>-1) {
|
77 |
-
/* look for id match */
|
78 |
-
var the_map = InboundAnalytics.LeadsAPI.inbound_map_fields($this, clean_output, formObj);
|
79 |
-
InboundAnalytics.LeadsAPI.add_inbound_form_class($this, clean_output);
|
80 |
-
console.log('match id: ' + clean_output);
|
81 |
-
|
82 |
-
if (!in_object_already) {
|
83 |
-
inbound_data[nice_name] = this_val;
|
84 |
-
}
|
85 |
-
|
86 |
-
} else if ($this.closest('li').children('label').length>0) {
|
87 |
-
/* Look for label name match */
|
88 |
-
var closest_label = $this.closest('li').children('label').html() || "NULL";
|
89 |
-
if (closest_label.toLowerCase().indexOf(clean_output)>-1) {
|
90 |
-
|
91 |
-
var the_map = InboundAnalytics.LeadsAPI.inbound_map_fields($this, clean_output, formObj);
|
92 |
-
InboundAnalytics.LeadsAPI.add_inbound_form_class($this, clean_output);
|
93 |
-
console.log($this.context);
|
94 |
-
|
95 |
-
var exists_in_dom = body.find("[data-inbound-form-map='inbound_map_" + nice_name + "']").length;
|
96 |
-
console.log(exists_in_dom);
|
97 |
-
console.log('match li: ' + clean_output);
|
98 |
-
|
99 |
-
if (!in_object_already) {
|
100 |
-
inbound_data[nice_name] = this_val;
|
101 |
-
}
|
102 |
-
|
103 |
-
}
|
104 |
-
} else if ($this.closest('div').children('label').length>0) {
|
105 |
-
/* Look for closest div label name match */
|
106 |
-
var closest_div = $this.closest('div').children('label').html() || "NULL";
|
107 |
-
if (closest_div.toLowerCase().indexOf(clean_output)>-1)
|
108 |
-
{
|
109 |
-
var the_map = InboundAnalytics.LeadsAPI.inbound_map_fields($this, clean_output, formObj);
|
110 |
-
InboundAnalytics.LeadsAPI.add_inbound_form_class($this, clean_output);
|
111 |
-
console.log('match div: ' + clean_output);
|
112 |
-
if (!in_object_already) {
|
113 |
-
inbound_data[nice_name] = this_val;
|
114 |
-
}
|
115 |
-
}
|
116 |
-
} else if ($this.closest('p').children('label').length>0) {
|
117 |
-
/* Look for closest p label name match */
|
118 |
-
var closest_p = $this.closest('p').children('label').html() || "NULL";
|
119 |
-
if (closest_p.toLowerCase().indexOf(clean_output)>-1)
|
120 |
-
{
|
121 |
-
var the_map = InboundAnalytics.LeadsAPI.inbound_map_fields($this, clean_output, formObj);
|
122 |
-
InboundAnalytics.LeadsAPI.add_inbound_form_class($this, clean_output);
|
123 |
-
console.log('match p: ' + clean_output);
|
124 |
-
if (!in_object_already) {
|
125 |
-
inbound_data[nice_name] = this_val;
|
126 |
-
}
|
127 |
-
}
|
128 |
-
} else {
|
129 |
-
console.log('Need additional mapping data');
|
130 |
-
}
|
131 |
-
}
|
132 |
-
return_form = the_map;
|
133 |
-
|
134 |
-
return inbound_data;
|
135 |
-
},
|
136 |
-
add_inbound_form_class: function(el, value) {
|
137 |
-
var value = value.replace(" ", "_");
|
138 |
-
var value = value.replace("-", "_");
|
139 |
-
el.addClass('inbound_map_value');
|
140 |
-
el.attr('data-inbound-form-map', 'inbound_map_' + value);
|
141 |
-
},
|
142 |
-
inbound_form_type: function(this_form) {
|
143 |
-
var inbound_data = inbound_data || {},
|
144 |
-
form_type = 'normal';
|
145 |
-
if ( this_form.is( ".wpl-comment-form" ) ) {
|
146 |
-
inbound_data['form_type'] = 'comment';
|
147 |
-
form_type = 'comment';
|
148 |
-
} else if ( this_form.is( ".wpl-search-box" ) ) {
|
149 |
-
var is_search = true;
|
150 |
-
form_type = 'search';
|
151 |
-
inbound_data['form_type'] = 'search';
|
152 |
-
} else if ( this_form.is( '.wpl-track-me-link' ) ){
|
153 |
-
var have_email = readCookie('wp_lead_email');
|
154 |
-
console.log(have_email);
|
155 |
-
inbound_data['form_type'] = 'link';
|
156 |
-
form_type = 'search';
|
157 |
-
}
|
158 |
-
return form_type;
|
159 |
-
},
|
160 |
-
grab_all_form_input_vals: function(this_form){
|
161 |
-
var post_values = post_values || {},
|
162 |
-
inbound_exclude = inbound_exclude || [],
|
163 |
-
form_inputs = this_form.find('input,textarea,select');
|
164 |
-
inbound_exclude.push('inbound_furl', 'inbound_current_page_url', 'inbound_notify', 'inbound_submitted', 'post_type', 'post_status', 's', 'inbound_form_name', 'inbound_form_id', 'inbound_form_lists');
|
165 |
-
var form_type = InboundAnalytics.LeadsAPI.inbound_form_type(this_form),
|
166 |
-
inbound_data = inbound_data || {},
|
167 |
-
email = inbound_data['email'] || false;
|
168 |
-
|
169 |
-
form_inputs.each(function() {
|
170 |
-
var $input = jQuery(this),
|
171 |
-
input_type = $input.attr('type'),
|
172 |
-
input_val = $input.val();
|
173 |
-
if (input_type === 'checkbox') {
|
174 |
-
input_checked = $input.attr("checked");
|
175 |
-
console.log(input_val);
|
176 |
-
console.log(input_checked);
|
177 |
-
console.log(post_values[this.name]);
|
178 |
-
if (input_checked === "checked"){
|
179 |
-
if (typeof (post_values[this.name]) != "undefined") {
|
180 |
-
post_values[this.name] = post_values[this.name] + "," + input_val;
|
181 |
-
console.log(post_values[this.name]);
|
182 |
-
} else {
|
183 |
-
post_values[this.name] = input_val;
|
184 |
-
}
|
185 |
-
|
186 |
-
}
|
187 |
-
}
|
188 |
-
if (jQuery.inArray(this.name, inbound_exclude) === -1 && input_type != 'checkbox'){
|
189 |
-
post_values[this.name] = input_val;
|
190 |
-
}
|
191 |
-
if (this.value.indexOf('@')>-1&&!email){
|
192 |
-
email = input_val;
|
193 |
-
inbound_data['email'] = email;
|
194 |
-
}
|
195 |
-
if (form_type === 'search') {
|
196 |
-
inbound_data['search_keyword'] = input_val.replace('"', "'");
|
197 |
-
}
|
198 |
-
});
|
199 |
-
var all_form_fields = JSON.stringify(post_values);
|
200 |
-
return all_form_fields;
|
201 |
-
},
|
202 |
-
return_mapped_values: function (this_form) {
|
203 |
-
// Map form fields
|
204 |
-
jQuery(this_form).find('input[type!="hidden"],textarea,select').each(function() {
|
205 |
-
console.log('run');
|
206 |
-
var this_input = jQuery(this);
|
207 |
-
var this_input_val = this_input.val();
|
208 |
-
if (typeof (this_input_val) != "undefined" && this_input_val != null && this_input_val != "") {
|
209 |
-
var inbound_data = InboundAnalytics.LeadsAPI.run_field_map_function( this_input, "name, first name, last name, email, e-mail, phone, website, job title, company, tele, address, comment");
|
210 |
-
}
|
211 |
-
return inbound_data;
|
212 |
-
});
|
213 |
-
return inbound_data;
|
214 |
-
},
|
215 |
-
inbound_form_submit: function(this_form, e) {
|
216 |
-
/* Define Variables */
|
217 |
-
var data = inbound_data || {};
|
218 |
-
// Dynamic JS object for passing custom values. This can be hooked into by third parties by using the below syntax.
|
219 |
-
var pageviewObj = jQuery.totalStorage('page_views');
|
220 |
-
data['page_view_count'] = InboundAnalytics.Utils.countProperties(pageviewObj);
|
221 |
-
data['leads_list'] = jQuery(this_form).find('#inbound_form_lists').val();
|
222 |
-
data['source'] = jQuery.cookie("wp_lead_referral_site") || "NA";
|
223 |
-
data['page_id'] = inbound_ajax.post_id;
|
224 |
-
data['page_views'] = JSON.stringify(pageviewObj);
|
225 |
-
|
226 |
-
// Map form fields
|
227 |
-
var returned_form_data = InboundAnalytics.LeadsAPI.return_mapped_values(this_form); //console.log(returned_form_data);
|
228 |
-
var data = InboundAnalytics.Utils.mergeObjs(data,returned_form_data); //console.log(data);
|
229 |
-
var this_form = jQuery(this_form);
|
230 |
-
// Set variables after mapping
|
231 |
-
data['email'] = (!data['email']) ? this_form.find('.inbound-email').val() : data['email'];
|
232 |
-
data['form_name'] = this_form.find('.inbound_form_name').val() || "Not Found";
|
233 |
-
data['form_id'] = this_form.find('.inbound_form_id').val() || "Not Found";
|
234 |
-
data['first_name'] = (!data['first_name']) ? data['name'] : data['first_name'];
|
235 |
-
data['last_name'] = data['last_name'] || '';
|
236 |
-
data['phone'] = data['phone'] || '';
|
237 |
-
data['company'] = data['company'] || '';
|
238 |
-
data['address'] = data['address'] || '';
|
239 |
-
|
240 |
-
// Fallbacks for values
|
241 |
-
data['name'] = (data['first_name'] && data['last_name']) ? data['first_name'] + " " + data['last_name'] : data['name'];
|
242 |
-
|
243 |
-
if (!data['last_name'] && data['first_name']) {
|
244 |
-
var parts = data['first_name'].split(" ");
|
245 |
-
data['first_name'] = parts[0];
|
246 |
-
data['last_name'] = parts[1];
|
247 |
-
}
|
248 |
-
|
249 |
-
/* Store form fields & exclude field values */
|
250 |
-
var all_form_fields = InboundAnalytics.LeadsAPI.grab_all_form_input_vals(this_form);
|
251 |
-
/* end Store form fields & exclude field values */
|
252 |
-
|
253 |
-
if(data['email']){
|
254 |
-
InboundAnalytics.Utils.createCookie("wp_lead_email", data['email'], 365); /* set email cookie */
|
255 |
-
}
|
256 |
-
|
257 |
-
//var variation = (typeof (landing_path_info) != "undefined") ? landing_path_info.variation : false;
|
258 |
-
|
259 |
-
if (typeof (landing_path_info) != "undefined") {
|
260 |
-
var variation = landing_path_info.variation;
|
261 |
-
} else if (typeof (cta_path_info) != "undefined") {
|
262 |
-
var variation = cta_path_info.variation;
|
263 |
-
} else {
|
264 |
-
var variation = 0;
|
265 |
-
}
|
266 |
-
|
267 |
-
data['variation'] = variation;
|
268 |
-
data['post_type'] = inbound_ajax.post_type;
|
269 |
-
data['wp_lead_uid'] = jQuery.cookie("wp_lead_uid") || null;
|
270 |
-
data['ip_address'] = inbound_ajax.ip_address;
|
271 |
-
data['search_data'] = JSON.stringify(jQuery.totalStorage('inbound_search')) || {};
|
272 |
-
|
273 |
-
var lp_check = (inbound_ajax.post_type === 'landing-page') ? 'Landing Page' : "";
|
274 |
-
var cta_check = (inbound_ajax.post_type === 'wp-call-to-action') ? 'Call to Action' : "";
|
275 |
-
var page_type = (!cta_check && !lp_check) ? inbound_ajax.post_type : lp_check + cta_check;
|
276 |
-
|
277 |
-
// jsonify data
|
278 |
-
var mapped_form_data = JSON.stringify(data);
|
279 |
-
|
280 |
-
var return_data = {};
|
281 |
-
var return_data = {
|
282 |
-
"action": 'inbound_store_lead',
|
283 |
-
"emailTo": data['email'],
|
284 |
-
"first_name": data['first_name'],
|
285 |
-
"last_name": data['last_name'],
|
286 |
-
"phone": data['phone'],
|
287 |
-
"address": data['address'],
|
288 |
-
"company_name": data['company'],
|
289 |
-
"page_views": data['page_views'],
|
290 |
-
"form_input_values": all_form_fields,
|
291 |
-
"Mapped_Data": mapped_form_data,
|
292 |
-
"Search_Data": data['search_data']
|
293 |
-
}
|
294 |
-
return return_data;
|
295 |
-
},
|
296 |
-
formSubmit: function (e){
|
297 |
-
/*if(!confirm('Are you sure?')) {
|
298 |
-
e.returnValue = false;
|
299 |
-
if(e.preventDefault) e.preventDefault();
|
300 |
-
return false;
|
301 |
-
}
|
302 |
-
return true;*/
|
303 |
-
/*var inbound_data = inbound_data || {},
|
304 |
-
this_form = e.target,
|
305 |
-
event_type = e.type,
|
306 |
-
is_search = false,
|
307 |
-
form_type = 'normal';*/
|
308 |
-
|
309 |
-
e.preventDefault(); /* Halt form processing */
|
310 |
-
console.log("This works");
|
311 |
-
var data = InboundAnalytics.LeadsAPI.inbound_form_submit(e.target, e); // big function for processing
|
312 |
-
console.log(data);
|
313 |
-
alert('Working');
|
314 |
-
//document.getElementById("ajaxButton").onclick = function() { makeRequest('test.html'); };
|
315 |
-
|
316 |
-
/* Final Ajax Call on Submit */
|
317 |
-
InboundAnalytics.LeadsAPI.makeRequest('test.html');
|
318 |
-
},
|
319 |
-
alertContents: function() {
|
320 |
-
if (httpRequest.readyState === 4) {
|
321 |
-
if (httpRequest.status === 200) {
|
322 |
-
alert(httpRequest.responseText);
|
323 |
-
} else if(xmlhttp.status == 400) {
|
324 |
-
alert('There was an error 400');
|
325 |
-
} else {
|
326 |
-
alert('There was a problem with the request.');
|
327 |
-
}
|
328 |
-
}
|
329 |
-
},
|
330 |
-
getAllLeadData: function(expire_check) {
|
331 |
-
var wp_lead_id = InboundAnalytics.Utils.readCookie("wp_lead_id"),
|
332 |
-
old_data = jQuery.totalStorage('inbound_lead_data'),
|
333 |
-
data = {
|
334 |
-
action: 'inbound_get_all_lead_data',
|
335 |
-
wp_lead_id: wp_lead_id,
|
336 |
-
},
|
337 |
-
success = function(returnData){
|
338 |
-
var obj = JSON.parse(returnData);
|
339 |
-
console.log('Got all the lead data check ');
|
340 |
-
setGlobalLeadVar(obj);
|
341 |
-
jQuery.totalStorage('inbound_lead_data', obj); // store lead data
|
342 |
-
};
|
343 |
-
|
344 |
-
if(!old_data) {
|
345 |
-
console.log("No old data");
|
346 |
-
}
|
347 |
-
|
348 |
-
if (expire_check === 'true'){
|
349 |
-
console.log("Session has not expired");
|
350 |
-
}
|
351 |
-
|
352 |
-
if(!old_data && expire_check === null) {
|
353 |
-
InboundAnalytics.debug('Go to Database',function(){
|
354 |
-
console.log(expire_check);
|
355 |
-
console.log(old_data);
|
356 |
-
});
|
357 |
-
InboundAnalytics.Utils.doAjax(data, success);
|
358 |
-
} else {
|
359 |
-
setGlobalLeadVar(old_data); // set global lead var with localstorage data
|
360 |
-
var lead_data_expiration = InboundAnalytics.Utils.readCookie("lead_data_expiration");
|
361 |
-
if (lead_data_expiration === null) {
|
362 |
-
InboundAnalytics.Utils.doAjax(data, success);
|
363 |
-
console.log('localized data old. Pull new from DB');
|
364 |
-
}
|
365 |
-
}
|
366 |
-
|
367 |
-
},
|
368 |
-
getLeadLists: function() {
|
369 |
-
var wp_lead_id = InboundAnalytics.Utils.readCookie("wp_lead_id");
|
370 |
-
var data = {
|
371 |
-
action: 'wpl_check_lists',
|
372 |
-
wp_lead_id: wp_lead_id,
|
373 |
-
};
|
374 |
-
var success = function(user_id){
|
375 |
-
jQuery.cookie("lead_session_list_check", true, { path: '/', expires: 1 });
|
376 |
-
console.log("Lists checked");
|
377 |
-
};
|
378 |
-
InboundAnalytics.Utils.doAjax(data, success);
|
379 |
-
}
|
380 |
-
};
|
381 |
-
|
382 |
-
return InboundAnalytics;
|
383 |
-
|
384 |
-
})(InboundAnalytics || {});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
shared/assets/frontend/js/analytics-src/analytics.load.js
DELETED
@@ -1,41 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Init Inbound Analytics
|
3 |
-
* - initializes analytics
|
4 |
-
*/
|
5 |
-
|
6 |
-
var InboundLeadData = jQuery.totalStorage('inbound_lead_data') || null;
|
7 |
-
function setGlobalLeadVar(retString){
|
8 |
-
InboundLeadData = retString;
|
9 |
-
}
|
10 |
-
|
11 |
-
InboundAnalytics.init(); // run analytics
|
12 |
-
|
13 |
-
/* run on ready */
|
14 |
-
jQuery(document).ready(function($) {
|
15 |
-
//record non conversion status
|
16 |
-
var in_u = InboundAnalytics.Utils,
|
17 |
-
wp_lead_uid = in_u.readCookie("wp_lead_uid"),
|
18 |
-
wp_lead_id = in_u.readCookie("wp_lead_id"),
|
19 |
-
expire_check = in_u.readCookie("lead_session_expire"); // check for session
|
20 |
-
|
21 |
-
if (expire_check === null) {
|
22 |
-
console.log('expired vistor. Run Processes');
|
23 |
-
//var data_to_lookup = global-localized-vars;
|
24 |
-
if (typeof (wp_lead_id) != "undefined" && wp_lead_id != null && wp_lead_id != "") {
|
25 |
-
/* Get InboundLeadData */
|
26 |
-
InboundAnalytics.LeadsAPI.getAllLeadData(expire_check);
|
27 |
-
/* Lead list check */
|
28 |
-
InboundAnalytics.LeadsAPI.getLeadLists();
|
29 |
-
}
|
30 |
-
}
|
31 |
-
|
32 |
-
//window.addEventListener('load',function(){
|
33 |
-
// InboundAnalytics.LeadsAPI.attachSubmitEvent(window,InboundAnalytics.LeadsAPI.formSubmit);
|
34 |
-
//}, false);
|
35 |
-
|
36 |
-
in_u.contentLoaded(window, InboundAnalytics.LeadsAPI.attachFormSubmitEvent);
|
37 |
-
|
38 |
-
/* Set Session Timeout */
|
39 |
-
in_u.SetSessionTimeout();
|
40 |
-
|
41 |
-
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
shared/assets/frontend/js/analytics-src/analytics.page-tracking.js
DELETED
@@ -1,173 +0,0 @@
|
|
1 |
-
var InboundAnalyticsPageTracking = (function (InboundAnalytics) {
|
2 |
-
|
3 |
-
InboundAnalytics.PageTracking = {
|
4 |
-
|
5 |
-
getPageViews: function () {
|
6 |
-
var local_store = InboundAnalytics.Utils.checkLocalStorage();
|
7 |
-
if(local_store){
|
8 |
-
var page_views = localStorage.getItem("page_views"),
|
9 |
-
local_object = JSON.parse(page_views);
|
10 |
-
if (typeof local_object =='object' && local_object) {
|
11 |
-
this.StorePageView();
|
12 |
-
}
|
13 |
-
return local_object;
|
14 |
-
}
|
15 |
-
},
|
16 |
-
StorePageView: function() {
|
17 |
-
var timeout = this.CheckTimeOut();
|
18 |
-
var pageviewObj = jQuery.totalStorage('page_views');
|
19 |
-
if(pageviewObj === null) {
|
20 |
-
pageviewObj = {};
|
21 |
-
}
|
22 |
-
var current_page_id = wplft.post_id;
|
23 |
-
var datetime = InboundAnalytics.Utils.GetDate();
|
24 |
-
|
25 |
-
if (timeout) {
|
26 |
-
// If pageviewObj exists, do this
|
27 |
-
var page_seen = pageviewObj[current_page_id];
|
28 |
-
|
29 |
-
if(typeof(page_seen) != "undefined" && page_seen !== null) {
|
30 |
-
pageviewObj[current_page_id].push(datetime);
|
31 |
-
/* Page Revisit Trigger */
|
32 |
-
var page_seen_count = pageviewObj[current_page_id].length;
|
33 |
-
InboundAnalytics.Events.pageRevisit(page_seen_count);
|
34 |
-
|
35 |
-
} else {
|
36 |
-
pageviewObj[current_page_id] = [];
|
37 |
-
pageviewObj[current_page_id].push(datetime);
|
38 |
-
/* Page First Seen Trigger */
|
39 |
-
var page_seen_count = 1;
|
40 |
-
InboundAnalytics.Events.pageFirstView(page_seen_count);
|
41 |
-
}
|
42 |
-
|
43 |
-
jQuery.totalStorage('page_views', pageviewObj);
|
44 |
-
|
45 |
-
}
|
46 |
-
},
|
47 |
-
CheckTimeOut: function() {
|
48 |
-
var PageViews = jQuery.totalStorage('page_views');
|
49 |
-
if(PageViews === null) {
|
50 |
-
var PageViews = {};
|
51 |
-
}
|
52 |
-
var page_id = wplft.post_id,
|
53 |
-
pageviewTimeout = true, /* Default */
|
54 |
-
page_seen = PageViews[page_id];
|
55 |
-
if(typeof(page_seen) != "undefined" && page_seen !== null) {
|
56 |
-
|
57 |
-
var time_now = InboundAnalytics.Utils.GetDate(),
|
58 |
-
vc = PageViews[page_id].length - 1,
|
59 |
-
last_view = PageViews[page_id][vc],
|
60 |
-
last_view_ms = new Date(last_view).getTime(),
|
61 |
-
time_now_ms = new Date(time_now).getTime(),
|
62 |
-
timeout_ms = last_view_ms + 30*1000,
|
63 |
-
time_check = Math.abs(last_view_ms - time_now_ms),
|
64 |
-
wait_time = 30000;
|
65 |
-
|
66 |
-
InboundAnalytics.debug('Timeout Checks =',function(){
|
67 |
-
console.log('Current Time is: ' + time_now);
|
68 |
-
console.log('Last view is: ' + last_view);
|
69 |
-
console.log("Last view milliseconds " + last_view_ms);
|
70 |
-
console.log("time now milliseconds " + time_now_ms);
|
71 |
-
console.log("Wait Check: " + wait_time);
|
72 |
-
console.log("TIME CHECK: " + time_check);
|
73 |
-
});
|
74 |
-
|
75 |
-
//var wait_time = Math.abs(last_view_ms - timeout_ms) // output timeout time 30sec;
|
76 |
-
|
77 |
-
if (time_check < wait_time){
|
78 |
-
time_left = Math.abs((wait_time - time_check)) * .001;
|
79 |
-
pageviewTimeout = false;
|
80 |
-
var status = '30 sec timeout not done: ' + time_left + " seconds left";
|
81 |
-
} else {
|
82 |
-
var status = 'Timeout Happened. Page view fired';
|
83 |
-
this.firePageView();
|
84 |
-
pageviewTimeout = true;
|
85 |
-
InboundAnalytics.Events.analyticsTriggered();
|
86 |
-
}
|
87 |
-
|
88 |
-
//InboundAnalytics.debug('',function(){
|
89 |
-
console.log(status);
|
90 |
-
//});
|
91 |
-
} else {
|
92 |
-
/* Page never seen before */
|
93 |
-
this.firePageView();
|
94 |
-
}
|
95 |
-
|
96 |
-
return pageviewTimeout;
|
97 |
-
|
98 |
-
},
|
99 |
-
firePageView: function() {
|
100 |
-
var lead_id = InboundAnalytics.Utils.readCookie('wp_lead_id'),
|
101 |
-
lead_uid = InboundAnalytics.Utils.readCookie('wp_lead_uid');
|
102 |
-
|
103 |
-
if (typeof (lead_id) != "undefined" && lead_id != null && lead_id != "") {
|
104 |
-
|
105 |
-
InboundAnalytics.debug('Run page view ajax');
|
106 |
-
|
107 |
-
var data = {
|
108 |
-
action: 'wpl_track_user',
|
109 |
-
wp_lead_uid: lead_uid,
|
110 |
-
wp_lead_id: lead_id,
|
111 |
-
page_id: wplft.post_id,
|
112 |
-
current_url: window.location.href,
|
113 |
-
json: '0'
|
114 |
-
};
|
115 |
-
var firePageCallback = function(user_id){
|
116 |
-
InboundAnalytics.Events.analyticsSaved();
|
117 |
-
};
|
118 |
-
InboundAnalytics.Utils.doAjax(data, firePageCallback);
|
119 |
-
}
|
120 |
-
},
|
121 |
-
tabSwitch: function() {
|
122 |
-
/* test out simplier script
|
123 |
-
function onBlur() {
|
124 |
-
document.body.className = 'blurred';
|
125 |
-
};
|
126 |
-
function onFocus(){
|
127 |
-
document.body.className = 'focused';
|
128 |
-
};
|
129 |
-
|
130 |
-
if (false) { // check for Internet Explorer
|
131 |
-
document.onfocusin = onFocus;
|
132 |
-
document.onfocusout = onBlur;
|
133 |
-
} else {
|
134 |
-
window.onfocus = onFocus;
|
135 |
-
window.onblur = onBlur;
|
136 |
-
}
|
137 |
-
*/
|
138 |
-
|
139 |
-
var hidden, visibilityState, visibilityChange;
|
140 |
-
|
141 |
-
if (typeof document.hidden !== "undefined") {
|
142 |
-
hidden = "hidden", visibilityChange = "visibilitychange", visibilityState = "visibilityState";
|
143 |
-
} else if (typeof document.mozHidden !== "undefined") {
|
144 |
-
hidden = "mozHidden", visibilityChange = "mozvisibilitychange", visibilityState = "mozVisibilityState";
|
145 |
-
} else if (typeof document.msHidden !== "undefined") {
|
146 |
-
hidden = "msHidden", visibilityChange = "msvisibilitychange", visibilityState = "msVisibilityState";
|
147 |
-
} else if (typeof document.webkitHidden !== "undefined") {
|
148 |
-
hidden = "webkitHidden", visibilityChange = "webkitvisibilitychange", visibilityState = "webkitVisibilityState";
|
149 |
-
} // if
|
150 |
-
|
151 |
-
var document_hidden = document[hidden];
|
152 |
-
|
153 |
-
document.addEventListener(visibilityChange, function() {
|
154 |
-
if(document_hidden != document[hidden]) {
|
155 |
-
if(document[hidden]) {
|
156 |
-
// Document hidden
|
157 |
-
console.log('hidden');
|
158 |
-
InboundAnalytics.Events.browserTabHidden();
|
159 |
-
} else {
|
160 |
-
// Document shown
|
161 |
-
console.log('shown');
|
162 |
-
InboundAnalytics.Events.browserTabVisible();
|
163 |
-
} // if
|
164 |
-
|
165 |
-
document_hidden = document[hidden];
|
166 |
-
} // if
|
167 |
-
});
|
168 |
-
}
|
169 |
-
}
|
170 |
-
|
171 |
-
return InboundAnalytics;
|
172 |
-
|
173 |
-
})(InboundAnalytics || {});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
shared/assets/frontend/js/analytics-src/form-mapping.js
DELETED
@@ -1,288 +0,0 @@
|
|
1 |
-
var form = window.document.forms[0];
|
2 |
-
var inputsObject = {};
|
3 |
-
var rawParams = [];
|
4 |
-
var mappedParams = [];
|
5 |
-
var getInputValue = function(input) {
|
6 |
-
var value = false;
|
7 |
-
|
8 |
-
switch (input.type) {
|
9 |
-
case 'radio':
|
10 |
-
case 'checkbox':
|
11 |
-
if (input.checked) {
|
12 |
-
value = input.value;
|
13 |
-
}
|
14 |
-
break;
|
15 |
-
|
16 |
-
case 'text':
|
17 |
-
case 'hidden':
|
18 |
-
default:
|
19 |
-
value = input.value;
|
20 |
-
break;
|
21 |
-
|
22 |
-
}
|
23 |
-
|
24 |
-
return value;
|
25 |
-
|
26 |
-
};
|
27 |
-
var trim = function(s) {
|
28 |
-
s = s.replace(/(^\s*)|(\s*$)/gi,"");
|
29 |
-
s = s.replace(/[ ]{2,}/gi," ");
|
30 |
-
s = s.replace(/\n /,"\n"); return s;
|
31 |
-
};
|
32 |
-
|
33 |
-
var serialize = function(obj, prefix) {
|
34 |
-
var str = [];
|
35 |
-
for(var p in obj) {
|
36 |
-
if (obj.hasOwnProperty(p)) {
|
37 |
-
var k = prefix ? prefix + "[" + p + "]" : p, v = obj[p];
|
38 |
-
str.push(typeof v == "object" ?
|
39 |
-
serialize(v, k) :
|
40 |
-
encodeURIComponent(k) + "=" + encodeURIComponent(v));
|
41 |
-
}
|
42 |
-
}
|
43 |
-
return str.join("&");
|
44 |
-
}
|
45 |
-
|
46 |
-
var ClosestLabel = function(element, tagname) {
|
47 |
-
if(element.nodeName === 'FORM') { return null; }
|
48 |
-
|
49 |
-
tagname = tagname.toLowerCase();
|
50 |
-
do {
|
51 |
-
if(element.nodeName.toLowerCase() === tagname){
|
52 |
-
var LabelExists = element.getElementsByTagName("label").length>0;
|
53 |
-
var labelText = (LabelExists ? element.getElementsByTagName("label")[0].innerText : false);
|
54 |
-
return labelText;
|
55 |
-
}
|
56 |
-
|
57 |
-
} while(element = element.parentNode);
|
58 |
-
|
59 |
-
return null;
|
60 |
-
};
|
61 |
-
var Closest = function(element, tagname) {
|
62 |
-
if(element.nodeName === 'FORM') { return null; }
|
63 |
-
|
64 |
-
tagname = tagname.toLowerCase();
|
65 |
-
do {
|
66 |
-
if(element.nodeName.toLowerCase() === tagname){
|
67 |
-
return element;
|
68 |
-
}
|
69 |
-
|
70 |
-
} while(element = element.parentNode);
|
71 |
-
|
72 |
-
return null;
|
73 |
-
};
|
74 |
-
/* make visible inputs first in loop */
|
75 |
-
var sortInputs = function(obj) {
|
76 |
-
var visibleInputs = [],
|
77 |
-
hiddenInputs = [],
|
78 |
-
temp_obj = {};
|
79 |
-
|
80 |
-
for (var key in obj) {
|
81 |
-
if (obj.hasOwnProperty(key)) {
|
82 |
-
if(obj[key].type !== "hidden"){
|
83 |
-
visibleInputs.push(key);
|
84 |
-
} else {
|
85 |
-
hiddenInputs.push(key);
|
86 |
-
}
|
87 |
-
}
|
88 |
-
}
|
89 |
-
|
90 |
-
var merged = hiddenInputs.concat(visibleInputs.reverse()); // Merges both arrays
|
91 |
-
for (var i = merged.length - 1; i >= 0; i--) {
|
92 |
-
temp_obj[merged[i]] = obj[merged[i]];
|
93 |
-
};
|
94 |
-
|
95 |
-
return temp_obj;
|
96 |
-
};
|
97 |
-
//var inbound_data = MapInput( this_input );
|
98 |
-
inbound_data = {};
|
99 |
-
no_match = [];
|
100 |
-
var MapInput = function (inputObject) {
|
101 |
-
|
102 |
-
var matchArray = [ "name",
|
103 |
-
"first name",
|
104 |
-
"last name",
|
105 |
-
"email",
|
106 |
-
"e-mail",
|
107 |
-
"phone",
|
108 |
-
"website",
|
109 |
-
"job title",
|
110 |
-
"your_favorite_food_",
|
111 |
-
"company",
|
112 |
-
"tele",
|
113 |
-
"address",
|
114 |
-
"comment"];
|
115 |
-
//var body = jQuery("body");
|
116 |
-
var input_id = inputObject.id || false;
|
117 |
-
var input_name = inputObject.name || false;
|
118 |
-
var this_val = inputObject['value'];
|
119 |
-
var input = inputObject['input'];
|
120 |
-
// Main Loop
|
121 |
-
for (var i = matchArray.length - 1; i >= 0; i--) {
|
122 |
-
|
123 |
-
var match = matchArray[i];
|
124 |
-
//console.log("Match name " + match);
|
125 |
-
//console.log("Input name " + input_name);
|
126 |
-
var lookingFor = trim(match);
|
127 |
-
var nice_name = lookingFor.replace(" ",'_');
|
128 |
-
var in_object_already = nice_name in inbound_data;
|
129 |
-
console.log('looking for: ' + lookingFor);
|
130 |
-
|
131 |
-
if (input_name && input_name.toLowerCase().indexOf(lookingFor)>-1) {
|
132 |
-
// Look for attr name match
|
133 |
-
|
134 |
-
console.warn('match name: ' + lookingFor);
|
135 |
-
if (!in_object_already) {
|
136 |
-
inbound_data[nice_name] = this_val;
|
137 |
-
}
|
138 |
-
//inbound_data.push('match name: ' + lookingFor + ":" + this_val);
|
139 |
-
|
140 |
-
} else if (input_id && input_id.toLowerCase().indexOf(lookingFor)>-1) {
|
141 |
-
// look for id match
|
142 |
-
console.warn("input labels found in form");
|
143 |
-
console.log('match id: ' + lookingFor);
|
144 |
-
if (!in_object_already) {
|
145 |
-
inbound_data[nice_name] = this_val;
|
146 |
-
}
|
147 |
-
//inbound_data.push('match id: ' + lookingFor + ":" + this_val);
|
148 |
-
|
149 |
-
} else if (labelText = ClosestLabel(input, "li")) {
|
150 |
-
console.warn("li labels found in form");
|
151 |
-
if (labelText.toLowerCase().indexOf(lookingFor)>-1) {
|
152 |
-
console.log('match label text: ' + lookingFor);
|
153 |
-
if (!in_object_already) {
|
154 |
-
inbound_data[nice_name] = this_val;
|
155 |
-
}
|
156 |
-
}
|
157 |
-
} else if (labelText = ClosestLabel(input, "div")) {
|
158 |
-
console.warn("div labels found in form");
|
159 |
-
if (labelText.toLowerCase().indexOf(lookingFor)>-1) {
|
160 |
-
console.log('match label text: ' + lookingFor);
|
161 |
-
if (!in_object_already) {
|
162 |
-
inbound_data[nice_name] = this_val;
|
163 |
-
}
|
164 |
-
}
|
165 |
-
|
166 |
-
} else if (labelText = ClosestLabel(input, "p")) {
|
167 |
-
console.warn("P labels found in form");
|
168 |
-
if (labelText.toLowerCase().indexOf(lookingFor)>-1) {
|
169 |
-
console.log('match label text: ' + lookingFor);
|
170 |
-
if (!in_object_already) {
|
171 |
-
inbound_data[nice_name] = this_val;
|
172 |
-
}
|
173 |
-
}
|
174 |
-
|
175 |
-
} else {
|
176 |
-
console.warn("No matches");
|
177 |
-
|
178 |
-
console.log('Need additional mapping data');
|
179 |
-
no_match.push(lookingFor + ":" + this_val);
|
180 |
-
|
181 |
-
}
|
182 |
-
}
|
183 |
-
|
184 |
-
console.log(inbound_data);
|
185 |
-
console.log(serialize(inbound_data));
|
186 |
-
console.log('no match here', no_match);
|
187 |
-
return inbound_data;
|
188 |
-
|
189 |
-
};
|
190 |
-
|
191 |
-
for (var i=0; i < form.elements.length; i++) {
|
192 |
-
|
193 |
-
formInput = form.elements[i];
|
194 |
-
multiple = false;
|
195 |
-
var parent = formInput.parentNode;
|
196 |
-
var parent_parent = parent.parentNode;
|
197 |
-
console.log("PARENT", parent);
|
198 |
-
console.log("PARENT PARENT", parent_parent);
|
199 |
-
|
200 |
-
if (formInput.name) {
|
201 |
-
|
202 |
-
inputName = formInput.name.replace(/\[([^\[]*)\]/g, "_$1");
|
203 |
-
inputName = inputName.replace(/-/g, "_");
|
204 |
-
if (!inputsObject[inputName]) { inputsObject[inputName] = {}; }
|
205 |
-
if (!inputsObject[inputName]['input']) { inputsObject[inputName]['input'] = formInput; };
|
206 |
-
|
207 |
-
switch (formInput.nodeName) {
|
208 |
-
|
209 |
-
case 'INPUT':
|
210 |
-
value = this.getInputValue(formInput);
|
211 |
-
|
212 |
-
console.log(value);
|
213 |
-
if (value === false) { continue; }
|
214 |
-
break;
|
215 |
-
|
216 |
-
case 'TEXTAREA':
|
217 |
-
value = formInput.value;
|
218 |
-
break;
|
219 |
-
|
220 |
-
case 'SELECT':
|
221 |
-
if (formInput.multiple) {
|
222 |
-
values = [];
|
223 |
-
multiple = true;
|
224 |
-
|
225 |
-
for (var j = 0; j < formInput.length; j++) {
|
226 |
-
if (formInput[j].selected) {
|
227 |
-
values.push(encodeURIComponent(formInput[j].value));
|
228 |
-
}
|
229 |
-
}
|
230 |
-
|
231 |
-
} else {
|
232 |
-
value = (formInput.value);
|
233 |
-
}
|
234 |
-
|
235 |
-
console.log('select val', value);
|
236 |
-
break;
|
237 |
-
|
238 |
-
}
|
239 |
-
|
240 |
-
|
241 |
-
if (value) {
|
242 |
-
|
243 |
-
if (formInput.type) { inputsObject[inputName]['type'] = formInput.type; }
|
244 |
-
if (formInput.id) { inputsObject[inputName]['id'] = formInput.id; }
|
245 |
-
if ('classList' in document.documentElement) {
|
246 |
-
if (formInput.classList) { inputsObject[inputName]['class'] = formInput.classList; }
|
247 |
-
}
|
248 |
-
// inputsObject[inputName].push(multiple ? values.join(',') : encodeURIComponent(value));
|
249 |
-
|
250 |
-
if (!inputsObject[inputName]['value']) { inputsObject[inputName]['value'] = []; }
|
251 |
-
if (!inputsObject[inputName]['name']) { inputsObject[inputName]['name'] = inputName; }
|
252 |
-
|
253 |
-
inputsObject[inputName]['value'].push(multiple ? values.join(',') : encodeURIComponent(value));
|
254 |
-
|
255 |
-
}
|
256 |
-
|
257 |
-
}
|
258 |
-
|
259 |
-
}
|
260 |
-
console.log(inputsObject);
|
261 |
-
|
262 |
-
|
263 |
-
var inputsObject = sortInputs(inputsObject);
|
264 |
-
|
265 |
-
var matchCommon = /name|first name|last name|email|e-mail|phone|website|job title|company|tele|address|comment/;
|
266 |
-
for (var input in inputsObject) {
|
267 |
-
console.log(input);
|
268 |
-
|
269 |
-
var inputValue = inputsObject[input]['value'];
|
270 |
-
|
271 |
-
//if (matchCommon.test(input) !== false) {
|
272 |
-
console.log(input + " Matches Regex run mapping test");
|
273 |
-
var map = MapInput(inputsObject[input]);
|
274 |
-
console.log("MAPP", map);
|
275 |
-
//mappedParams.push( input + '=' + inputsObject[input]['value'].join(',') );
|
276 |
-
//}
|
277 |
-
|
278 |
-
/* Add custom hook here to look for additional values */
|
279 |
-
if (typeof (inputValue) != "undefined" && inputValue != null && inputValue != "") {
|
280 |
-
rawParams.push( input + '=' + inputsObject[input]['value'].join(',') );
|
281 |
-
}
|
282 |
-
}
|
283 |
-
var raw_params = rawParams.join('&');
|
284 |
-
console.log("Raw PARAMS", raw_params);
|
285 |
-
/* Filter here for raw */
|
286 |
-
var mapped_params = JSON.stringify(map);
|
287 |
-
console.log("Mapped PARAMS", mapped_params);
|
288 |
-
/* Filter here for mapped */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
shared/assets/frontend/js/analytics/analytics.events.js
DELETED
@@ -1,117 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Event functions
|
3 |
-
* @param Object InboundAnalytics - Main JS object
|
4 |
-
* @return Object - include event triggers
|
5 |
-
*/
|
6 |
-
// https://github.com/carldanley/WP-JS-Hooks/blob/master/src/event-manager.js
|
7 |
-
var InboundAnalyticsEvents = (function (InboundAnalytics) {
|
8 |
-
|
9 |
-
InboundAnalytics.Events = {
|
10 |
-
// Create cookie
|
11 |
-
loadEvents: function() {
|
12 |
-
this.analyticsLoaded();
|
13 |
-
},
|
14 |
-
triggerJQueryEvent: function(eventName, data){
|
15 |
-
if (window.jQuery) {
|
16 |
-
var data = data || {};
|
17 |
-
jQuery(document).trigger(eventName, data);
|
18 |
-
/* var something = (function() {
|
19 |
-
var executed = false;
|
20 |
-
return function () {
|
21 |
-
if (!executed) {
|
22 |
-
executed = true;
|
23 |
-
console.log(eventName + " RAN");
|
24 |
-
|
25 |
-
}
|
26 |
-
};
|
27 |
-
})();*/
|
28 |
-
}
|
29 |
-
},
|
30 |
-
analyticsLoaded: function() {
|
31 |
-
var eventName = "inbound_analytics_loaded";
|
32 |
-
var loaded = new CustomEvent(eventName);
|
33 |
-
window.dispatchEvent(loaded);
|
34 |
-
this.triggerJQueryEvent(eventName);
|
35 |
-
},
|
36 |
-
analyticsTriggered: function() {
|
37 |
-
var triggered = new CustomEvent("inbound_analytics_triggered");
|
38 |
-
window.dispatchEvent(triggered);
|
39 |
-
},
|
40 |
-
analyticsSaved: function() {
|
41 |
-
var page_view_saved = new CustomEvent("inbound_analytics_saved");
|
42 |
-
window.dispatchEvent(page_view_saved);
|
43 |
-
console.log('Page View Saved');
|
44 |
-
},
|
45 |
-
analyticsError: function(MLHttpRequest, textStatus, errorThrown) {
|
46 |
-
var error = new CustomEvent("inbound_analytics_error", {
|
47 |
-
detail: {
|
48 |
-
MLHttpRequest: MLHttpRequest,
|
49 |
-
textStatus: textStatus,
|
50 |
-
errorThrown: errorThrown
|
51 |
-
}
|
52 |
-
});
|
53 |
-
window.dispatchEvent(error);
|
54 |
-
console.log('Page Save Error');
|
55 |
-
},
|
56 |
-
pageFirstView: function(page_seen_count) {
|
57 |
-
var page_first_view = new CustomEvent("inbound_analytics_page_first_view", {
|
58 |
-
detail: {
|
59 |
-
count: 1,
|
60 |
-
time: new Date(),
|
61 |
-
},
|
62 |
-
bubbles: true,
|
63 |
-
cancelable: true
|
64 |
-
}
|
65 |
-
);
|
66 |
-
window.dispatchEvent(page_first_view);
|
67 |
-
|
68 |
-
console.log('First Ever Page View of this Page');
|
69 |
-
},
|
70 |
-
pageRevisit: function(page_seen_count) {
|
71 |
-
var eventName = "inbound_analytics_page_revisit";
|
72 |
-
var data = { count: page_seen_count,
|
73 |
-
time: new Date()
|
74 |
-
};
|
75 |
-
var page_revisit = new CustomEvent(eventName, {
|
76 |
-
detail: data,
|
77 |
-
bubbles: true,
|
78 |
-
cancelable: true
|
79 |
-
}
|
80 |
-
);
|
81 |
-
window.dispatchEvent(page_revisit);
|
82 |
-
this.triggerJQueryEvent(eventName, data);
|
83 |
-
console.log('Page Revisit');
|
84 |
-
},
|
85 |
-
/* get idle times https://github.com/robflaherty/riveted/blob/master/riveted.js */
|
86 |
-
browserTabHidden: function() {
|
87 |
-
/* http://www.thefutureoftheweb.com/demo/2007-05-16-detect-browser-window-focus/ */
|
88 |
-
var eventName = "inbound_analytics_tab_hidden";
|
89 |
-
var tab_hidden = new CustomEvent(eventName);
|
90 |
-
window.dispatchEvent(tab_hidden);
|
91 |
-
console.log('Tab Hidden');
|
92 |
-
this.triggerJQueryEvent(eventName);
|
93 |
-
},
|
94 |
-
browserTabVisible: function() {
|
95 |
-
var eventName = "inbound_analytics_tab_visible";
|
96 |
-
var tab_visible = new CustomEvent(eventName);
|
97 |
-
window.dispatchEvent(tab_visible);
|
98 |
-
console.log('Tab Visible');
|
99 |
-
this.triggerJQueryEvent(eventName);
|
100 |
-
},
|
101 |
-
/* Scrol depth https://github.com/robflaherty/jquery-scrolldepth/blob/master/jquery.scrolldepth.js */
|
102 |
-
sessionStart: function() {
|
103 |
-
var session_start = new CustomEvent("inbound_analytics_session_start");
|
104 |
-
window.dispatchEvent(session_start);
|
105 |
-
console.log('Session Start');
|
106 |
-
},
|
107 |
-
sessionActive: function() {
|
108 |
-
var session_active = new CustomEvent("inbound_analytics_session_active");
|
109 |
-
window.dispatchEvent(session_active);
|
110 |
-
console.log('Session Active');
|
111 |
-
},
|
112 |
-
|
113 |
-
};
|
114 |
-
|
115 |
-
return InboundAnalytics;
|
116 |
-
|
117 |
-
})(InboundAnalytics || {});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
shared/assets/frontend/js/analytics/analytics.init.js
DELETED
@@ -1,40 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Init Inbound Analytics
|
3 |
-
*/
|
4 |
-
|
5 |
-
var Lead_Globals = jQuery.totalStorage('inbound_lead_data') || null;
|
6 |
-
function setGlobalLeadVar(retString){
|
7 |
-
Lead_Globals = retString;
|
8 |
-
}
|
9 |
-
|
10 |
-
InboundAnalytics.init(); // run analytics
|
11 |
-
|
12 |
-
/* run on ready */
|
13 |
-
jQuery(document).ready(function($) {
|
14 |
-
//record non conversion status
|
15 |
-
var in_u = InboundAnalytics.Utils,
|
16 |
-
wp_lead_uid = in_u.readCookie("wp_lead_uid"),
|
17 |
-
wp_lead_id = in_u.readCookie("wp_lead_id"),
|
18 |
-
expire_check = in_u.readCookie("lead_session_expire"); // check for session
|
19 |
-
|
20 |
-
if (expire_check === null) {
|
21 |
-
console.log('expired vistor. Run Processes');
|
22 |
-
//var data_to_lookup = global-localized-vars;
|
23 |
-
if (typeof (wp_lead_id) != "undefined" && wp_lead_id != null && wp_lead_id != "") {
|
24 |
-
/* Get Lead_Globals */
|
25 |
-
InboundAnalytics.LeadsAPI.getAllLeadData(expire_check);
|
26 |
-
/* Lead list check */
|
27 |
-
InboundAnalytics.LeadsAPI.getLeadLists();
|
28 |
-
}
|
29 |
-
}
|
30 |
-
|
31 |
-
//window.addEventListener('load',function(){
|
32 |
-
// InboundAnalytics.LeadsAPI.attachSubmitEvent(window,InboundAnalytics.LeadsAPI.formSubmit);
|
33 |
-
//}, false);
|
34 |
-
|
35 |
-
in_u.contentLoaded(window, InboundAnalytics.LeadsAPI.attachFormSubmitEvent);
|
36 |
-
|
37 |
-
/* Set Session Timeout */
|
38 |
-
in_u.SetSessionTimeout();
|
39 |
-
|
40 |
-
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
shared/assets/frontend/js/analytics/analytics.js
DELETED
@@ -1,39 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Lead Tracking JS
|
3 |
-
* http://www.inboundnow.com
|
4 |
-
*/
|
5 |
-
var inbound_data = inbound_data || {};
|
6 |
-
// Ensure global _gaq Google Analytics queue has been initialized.
|
7 |
-
var _gaq = _gaq || [];
|
8 |
-
var InboundAnalytics = (function () {
|
9 |
-
|
10 |
-
var debugMode = false;
|
11 |
-
|
12 |
-
var _privateMethod = function () {
|
13 |
-
console.log('Run private');
|
14 |
-
};
|
15 |
-
|
16 |
-
var App = {
|
17 |
-
init: function () {
|
18 |
-
InboundAnalytics.Utils.init();
|
19 |
-
InboundAnalytics.PageTracking.StorePageView();
|
20 |
-
InboundAnalytics.Events.loadEvents();
|
21 |
-
},
|
22 |
-
/* Debugger Function toggled by var debugMode */
|
23 |
-
debug: function(msg,callback){
|
24 |
-
//if app not in debug mode, exit immediately
|
25 |
-
if(!debugMode || !console){return};
|
26 |
-
var msg = msg || false;
|
27 |
-
//console.log the message
|
28 |
-
if(msg && (typeof msg === 'string')){console.log(msg)};
|
29 |
-
|
30 |
-
//execute the callback if one was passed-in
|
31 |
-
if(callback && (callback instanceof Function)){
|
32 |
-
callback();
|
33 |
-
};
|
34 |
-
}
|
35 |
-
};
|
36 |
-
|
37 |
-
return App;
|
38 |
-
|
39 |
-
})();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
shared/assets/frontend/js/analytics/analytics.lead-tracking.js
DELETED
@@ -1,426 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Leads API functions
|
3 |
-
* @param Object InboundAnalytics - Main JS object
|
4 |
-
* @return Object - include event triggers
|
5 |
-
*/
|
6 |
-
var InboundAnalyticsLeadsAPI = (function (InboundAnalytics) {
|
7 |
-
var httpRequest;
|
8 |
-
InboundAnalytics.LeadsAPI = {
|
9 |
-
init: function() {
|
10 |
-
|
11 |
-
},
|
12 |
-
storeLeadData: function(){
|
13 |
-
if(element.addEventListener) {
|
14 |
-
element.addEventListener("submit", function(evt){
|
15 |
-
evt.preventDefault();
|
16 |
-
window.history.back();
|
17 |
-
}, true);
|
18 |
-
} else {
|
19 |
-
element.attachEvent('onsubmit', function(evt){
|
20 |
-
evt.preventDefault();
|
21 |
-
window.history.back();
|
22 |
-
});
|
23 |
-
}
|
24 |
-
},
|
25 |
-
attachFormSubmitEvent: function (){
|
26 |
-
for(var i=0; i<window.document.forms.length; i++){
|
27 |
-
var form = window.document.forms[i];
|
28 |
-
var className = "wpl-track-me";
|
29 |
-
if ('classList' in document.documentElement) {
|
30 |
-
var hasClass = form.classList.contains(className);
|
31 |
-
} else {
|
32 |
-
var hasClass = new RegExp('(^|\\s)' + className + '(\\s|$)').test(form.className); /* IE Polyfill */
|
33 |
-
}
|
34 |
-
/* is tracked form */
|
35 |
-
if(hasClass){
|
36 |
-
console.log("Has Class", hasClass);
|
37 |
-
InboundAnalytics.Utils.addListener(form, 'submit', InboundAnalytics.LeadsAPI.formSubmit );
|
38 |
-
console.log(form);
|
39 |
-
}
|
40 |
-
|
41 |
-
}
|
42 |
-
console.log("RAN attach event");
|
43 |
-
},
|
44 |
-
makeRequest: function(url) {
|
45 |
-
if (window.XMLHttpRequest) { // Mozilla, Safari, ...
|
46 |
-
httpRequest = new XMLHttpRequest();
|
47 |
-
} else if (window.ActiveXObject) { // IE
|
48 |
-
try {
|
49 |
-
httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
|
50 |
-
}
|
51 |
-
catch (e) {
|
52 |
-
try {
|
53 |
-
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
|
54 |
-
}
|
55 |
-
catch (e) {}
|
56 |
-
}
|
57 |
-
}
|
58 |
-
|
59 |
-
if (!httpRequest) {
|
60 |
-
alert('Giving up :( Cannot create an XMLHTTP instance');
|
61 |
-
return false;
|
62 |
-
}
|
63 |
-
httpRequest.onreadystatechange = InboundAnalytics.LeadsAPI.alertContents;
|
64 |
-
httpRequest.open('GET', url);
|
65 |
-
httpRequest.send();
|
66 |
-
},
|
67 |
-
inbound_map_fields: function (el, value, Obj) {
|
68 |
-
var formObj = [];
|
69 |
-
var $this = el;
|
70 |
-
var clean_output = value;
|
71 |
-
var label = $this.closest('label').text();
|
72 |
-
var exclude = ['credit-card']; // exlcude values from formObj
|
73 |
-
var inarray = jQuery.inArray(clean_output, exclude);
|
74 |
-
if(inarray == 0){
|
75 |
-
return null;
|
76 |
-
}
|
77 |
-
// Add items to formObj
|
78 |
-
formObj.push({
|
79 |
-
field_label: label,
|
80 |
-
field_name: $this.attr("name"),
|
81 |
-
field_value: $this.attr("value"),
|
82 |
-
field_id: $this.attr("id"),
|
83 |
-
field_class: $this.attr("class"),
|
84 |
-
field_type: $this.attr("type"),
|
85 |
-
match: clean_output,
|
86 |
-
js_selector: $this.attr("data-js-selector")
|
87 |
-
});
|
88 |
-
return formObj;
|
89 |
-
},
|
90 |
-
run_field_map_function: function (el, lookingfor) {
|
91 |
-
var return_form;
|
92 |
-
var formObj = new Array();
|
93 |
-
var $this = el;
|
94 |
-
var body = jQuery("body");
|
95 |
-
var input_id = $this.attr("id") || "NULL";
|
96 |
-
var input_name = $this.attr("name") || "NULL";
|
97 |
-
var this_val = $this.attr("value");
|
98 |
-
var array = lookingfor.split(",");
|
99 |
-
var array_length = array.length - 1;
|
100 |
-
|
101 |
-
// Main Loop
|
102 |
-
for (var i = 0; i < array.length; i++) {
|
103 |
-
var clean_output = InboundAnalytics.Utils.trim(array[i]);
|
104 |
-
var nice_name = clean_output.replace(/^\s+|\s+$/g,'');
|
105 |
-
var nice_name = nice_name.replace(" ",'_');
|
106 |
-
var in_object_already = nice_name in inbound_data;
|
107 |
-
//console.log(clean_output);
|
108 |
-
|
109 |
-
if (input_name.toLowerCase().indexOf(clean_output)>-1) {
|
110 |
-
/* Look for attr name match */
|
111 |
-
var the_map = InboundAnalytics.LeadsAPI.inbound_map_fields($this, clean_output, formObj);
|
112 |
-
InboundAnalytics.LeadsAPI.add_inbound_form_class($this, clean_output);
|
113 |
-
console.log('match name: ' + clean_output);
|
114 |
-
console.log(nice_name in inbound_data);
|
115 |
-
if (!in_object_already) {
|
116 |
-
inbound_data[nice_name] = this_val;
|
117 |
-
}
|
118 |
-
} else if (input_id.toLowerCase().indexOf(clean_output)>-1) {
|
119 |
-
/* look for id match */
|
120 |
-
var the_map = InboundAnalytics.LeadsAPI.inbound_map_fields($this, clean_output, formObj);
|
121 |
-
InboundAnalytics.LeadsAPI.add_inbound_form_class($this, clean_output);
|
122 |
-
console.log('match id: ' + clean_output);
|
123 |
-
|
124 |
-
if (!in_object_already) {
|
125 |
-
inbound_data[nice_name] = this_val;
|
126 |
-
}
|
127 |
-
|
128 |
-
} else if ($this.closest('li').children('label').length>0) {
|
129 |
-
/* Look for label name match */
|
130 |
-
var closest_label = $this.closest('li').children('label').html() || "NULL";
|
131 |
-
if (closest_label.toLowerCase().indexOf(clean_output)>-1) {
|
132 |
-
|
133 |
-
var the_map = InboundAnalytics.LeadsAPI.inbound_map_fields($this, clean_output, formObj);
|
134 |
-
InboundAnalytics.LeadsAPI.add_inbound_form_class($this, clean_output);
|
135 |
-
console.log($this.context);
|
136 |
-
|
137 |
-
var exists_in_dom = body.find("[data-inbound-form-map='inbound_map_" + nice_name + "']").length;
|
138 |
-
console.log(exists_in_dom);
|
139 |
-
console.log('match li: ' + clean_output);
|
140 |
-
|
141 |
-
if (!in_object_already) {
|
142 |
-
inbound_data[nice_name] = this_val;
|
143 |
-
}
|
144 |
-
|
145 |
-
}
|
146 |
-
} else if ($this.closest('div').children('label').length>0) {
|
147 |
-
/* Look for closest div label name match */
|
148 |
-
var closest_div = $this.closest('div').children('label').html() || "NULL";
|
149 |
-
if (closest_div.toLowerCase().indexOf(clean_output)>-1)
|
150 |
-
{
|
151 |
-
var the_map = InboundAnalytics.LeadsAPI.inbound_map_fields($this, clean_output, formObj);
|
152 |
-
InboundAnalytics.LeadsAPI.add_inbound_form_class($this, clean_output);
|
153 |
-
console.log('match div: ' + clean_output);
|
154 |
-
if (!in_object_already) {
|
155 |
-
inbound_data[nice_name] = this_val;
|
156 |
-
}
|
157 |
-
}
|
158 |
-
} else if ($this.closest('p').children('label').length>0) {
|
159 |
-
/* Look for closest p label name match */
|
160 |
-
var closest_p = $this.closest('p').children('label').html() || "NULL";
|
161 |
-
if (closest_p.toLowerCase().indexOf(clean_output)>-1)
|
162 |
-
{
|
163 |
-
var the_map = InboundAnalytics.LeadsAPI.inbound_map_fields($this, clean_output, formObj);
|
164 |
-
InboundAnalytics.LeadsAPI.add_inbound_form_class($this, clean_output);
|
165 |
-
console.log('match p: ' + clean_output);
|
166 |
-
if (!in_object_already) {
|
167 |
-
inbound_data[nice_name] = this_val;
|
168 |
-
}
|
169 |
-
}
|
170 |
-
} else {
|
171 |
-
console.log('Need additional mapping data');
|
172 |
-
}
|
173 |
-
}
|
174 |
-
return_form = the_map;
|
175 |
-
|
176 |
-
return inbound_data;
|
177 |
-
},
|
178 |
-
add_inbound_form_class: function(el, value) {
|
179 |
-
var value = value.replace(" ", "_");
|
180 |
-
var value = value.replace("-", "_");
|
181 |
-
el.addClass('inbound_map_value');
|
182 |
-
el.attr('data-inbound-form-map', 'inbound_map_' + value);
|
183 |
-
},
|
184 |
-
inbound_form_type: function(this_form) {
|
185 |
-
var inbound_data = inbound_data || {},
|
186 |
-
form_type = 'normal';
|
187 |
-
if ( this_form.is( ".wpl-comment-form" ) ) {
|
188 |
-
inbound_data['form_type'] = 'comment';
|
189 |
-
form_type = 'comment';
|
190 |
-
} else if ( this_form.is( ".wpl-search-box" ) ) {
|
191 |
-
var is_search = true;
|
192 |
-
form_type = 'search';
|
193 |
-
inbound_data['form_type'] = 'search';
|
194 |
-
} else if ( this_form.is( '.wpl-track-me-link' ) ){
|
195 |
-
var have_email = readCookie('wp_lead_email');
|
196 |
-
console.log(have_email);
|
197 |
-
inbound_data['form_type'] = 'link';
|
198 |
-
form_type = 'search';
|
199 |
-
}
|
200 |
-
return form_type;
|
201 |
-
},
|
202 |
-
grab_all_form_input_vals: function(this_form){
|
203 |
-
var post_values = post_values || {},
|
204 |
-
inbound_exclude = inbound_exclude || [],
|
205 |
-
form_inputs = this_form.find('input,textarea,select');
|
206 |
-
inbound_exclude.push('inbound_furl', 'inbound_current_page_url', 'inbound_notify', 'inbound_submitted', 'post_type', 'post_status', 's', 'inbound_form_name', 'inbound_form_id', 'inbound_form_lists');
|
207 |
-
var form_type = InboundAnalytics.LeadsAPI.inbound_form_type(this_form),
|
208 |
-
inbound_data = inbound_data || {},
|
209 |
-
email = inbound_data['email'] || false;
|
210 |
-
|
211 |
-
form_inputs.each(function() {
|
212 |
-
var $input = jQuery(this),
|
213 |
-
input_type = $input.attr('type'),
|
214 |
-
input_val = $input.val();
|
215 |
-
if (input_type === 'checkbox') {
|
216 |
-
input_checked = $input.attr("checked");
|
217 |
-
console.log(input_val);
|
218 |
-
console.log(input_checked);
|
219 |
-
console.log(post_values[this.name]);
|
220 |
-
if (input_checked === "checked"){
|
221 |
-
if (typeof (post_values[this.name]) != "undefined") {
|
222 |
-
post_values[this.name] = post_values[this.name] + "," + input_val;
|
223 |
-
console.log(post_values[this.name]);
|
224 |
-
} else {
|
225 |
-
post_values[this.name] = input_val;
|
226 |
-
}
|
227 |
-
|
228 |
-
}
|
229 |
-
}
|
230 |
-
if (jQuery.inArray(this.name, inbound_exclude) === -1 && input_type != 'checkbox'){
|
231 |
-
post_values[this.name] = input_val;
|
232 |
-
}
|
233 |
-
if (this.value.indexOf('@')>-1&&!email){
|
234 |
-
email = input_val;
|
235 |
-
inbound_data['email'] = email;
|
236 |
-
}
|
237 |
-
if (form_type === 'search') {
|
238 |
-
inbound_data['search_keyword'] = input_val.replace('"', "'");
|
239 |
-
}
|
240 |
-
});
|
241 |
-
var all_form_fields = JSON.stringify(post_values);
|
242 |
-
return all_form_fields;
|
243 |
-
},
|
244 |
-
return_mapped_values: function (this_form) {
|
245 |
-
// Map form fields
|
246 |
-
jQuery(this_form).find('input[type!="hidden"],textarea,select').each(function() {
|
247 |
-
console.log('run');
|
248 |
-
var this_input = jQuery(this);
|
249 |
-
var this_input_val = this_input.val();
|
250 |
-
if (typeof (this_input_val) != "undefined" && this_input_val != null && this_input_val != "") {
|
251 |
-
var inbound_data = InboundAnalytics.LeadsAPI.run_field_map_function( this_input, "name, first name, last name, email, e-mail, phone, website, job title, company, tele, address, comment");
|
252 |
-
}
|
253 |
-
return inbound_data;
|
254 |
-
});
|
255 |
-
return inbound_data;
|
256 |
-
},
|
257 |
-
inbound_form_submit: function(this_form, e) {
|
258 |
-
/* Define Variables */
|
259 |
-
var data = inbound_data || {};
|
260 |
-
// Dynamic JS object for passing custom values. This can be hooked into by third parties by using the below syntax.
|
261 |
-
var pageviewObj = jQuery.totalStorage('page_views');
|
262 |
-
data['page_view_count'] = InboundAnalytics.Utils.countProperties(pageviewObj);
|
263 |
-
data['leads_list'] = jQuery(this_form).find('#inbound_form_lists').val();
|
264 |
-
data['source'] = jQuery.cookie("wp_lead_referral_site") || "NA";
|
265 |
-
data['page_id'] = inbound_ajax.post_id;
|
266 |
-
data['page_views'] = JSON.stringify(pageviewObj);
|
267 |
-
|
268 |
-
// Map form fields
|
269 |
-
var returned_form_data = InboundAnalytics.LeadsAPI.return_mapped_values(this_form); //console.log(returned_form_data);
|
270 |
-
var data = InboundAnalytics.Utils.mergeObjs(data,returned_form_data); //console.log(data);
|
271 |
-
var this_form = jQuery(this_form);
|
272 |
-
// Set variables after mapping
|
273 |
-
data['email'] = (!data['email']) ? this_form.find('.inbound-email').val() : data['email'];
|
274 |
-
data['form_name'] = this_form.find('.inbound_form_name').val() || "Not Found";
|
275 |
-
data['form_id'] = this_form.find('.inbound_form_id').val() || "Not Found";
|
276 |
-
data['first_name'] = (!data['first_name']) ? data['name'] : data['first_name'];
|
277 |
-
data['last_name'] = data['last_name'] || '';
|
278 |
-
data['phone'] = data['phone'] || '';
|
279 |
-
data['company'] = data['company'] || '';
|
280 |
-
data['address'] = data['address'] || '';
|
281 |
-
|
282 |
-
// Fallbacks for values
|
283 |
-
data['name'] = (data['first_name'] && data['last_name']) ? data['first_name'] + " " + data['last_name'] : data['name'];
|
284 |
-
|
285 |
-
if (!data['last_name'] && data['first_name']) {
|
286 |
-
var parts = data['first_name'].split(" ");
|
287 |
-
data['first_name'] = parts[0];
|
288 |
-
data['last_name'] = parts[1];
|
289 |
-
}
|
290 |
-
|
291 |
-
/* Store form fields & exclude field values */
|
292 |
-
var all_form_fields = InboundAnalytics.LeadsAPI.grab_all_form_input_vals(this_form);
|
293 |
-
/* end Store form fields & exclude field values */
|
294 |
-
|
295 |
-
if(data['email']){
|
296 |
-
InboundAnalytics.Utils.createCookie("wp_lead_email", data['email'], 365); /* set email cookie */
|
297 |
-
}
|
298 |
-
|
299 |
-
//var variation = (typeof (landing_path_info) != "undefined") ? landing_path_info.variation : false;
|
300 |
-
|
301 |
-
if (typeof (landing_path_info) != "undefined") {
|
302 |
-
var variation = landing_path_info.variation;
|
303 |
-
} else if (typeof (cta_path_info) != "undefined") {
|
304 |
-
var variation = cta_path_info.variation;
|
305 |
-
} else {
|
306 |
-
var variation = 0;
|
307 |
-
}
|
308 |
-
|
309 |
-
data['variation'] = variation;
|
310 |
-
data['post_type'] = inbound_ajax.post_type;
|
311 |
-
data['wp_lead_uid'] = jQuery.cookie("wp_lead_uid") || null;
|
312 |
-
data['ip_address'] = inbound_ajax.ip_address;
|
313 |
-
data['search_data'] = JSON.stringify(jQuery.totalStorage('inbound_search')) || {};
|
314 |
-
|
315 |
-
var lp_check = (inbound_ajax.post_type === 'landing-page') ? 'Landing Page' : "";
|
316 |
-
var cta_check = (inbound_ajax.post_type === 'wp-call-to-action') ? 'Call to Action' : "";
|
317 |
-
var page_type = (!cta_check && !lp_check) ? inbound_ajax.post_type : lp_check + cta_check;
|
318 |
-
|
319 |
-
// jsonify data
|
320 |
-
var mapped_form_data = JSON.stringify(data);
|
321 |
-
|
322 |
-
var return_data = {};
|
323 |
-
var return_data = {
|
324 |
-
"action": 'inbound_store_lead',
|
325 |
-
"emailTo": data['email'],
|
326 |
-
"first_name": data['first_name'],
|
327 |
-
"last_name": data['last_name'],
|
328 |
-
"phone": data['phone'],
|
329 |
-
"address": data['address'],
|
330 |
-
"company_name": data['company'],
|
331 |
-
"page_views": data['page_views'],
|
332 |
-
"form_input_values": all_form_fields,
|
333 |
-
"Mapped_Data": mapped_form_data,
|
334 |
-
"Search_Data": data['search_data']
|
335 |
-
}
|
336 |
-
return return_data;
|
337 |
-
},
|
338 |
-
formSubmit: function (e){
|
339 |
-
/*if(!confirm('Are you sure?')) {
|
340 |
-
e.returnValue = false;
|
341 |
-
if(e.preventDefault) e.preventDefault();
|
342 |
-
return false;
|
343 |
-
}
|
344 |
-
return true;*/
|
345 |
-
/*var inbound_data = inbound_data || {},
|
346 |
-
this_form = e.target,
|
347 |
-
event_type = e.type,
|
348 |
-
is_search = false,
|
349 |
-
form_type = 'normal';*/
|
350 |
-
|
351 |
-
e.preventDefault(); /* Halt form processing */
|
352 |
-
console.log("This works");
|
353 |
-
var data = InboundAnalytics.LeadsAPI.inbound_form_submit(e.target, e); // big function for processing
|
354 |
-
console.log(data);
|
355 |
-
alert('Working');
|
356 |
-
//document.getElementById("ajaxButton").onclick = function() { makeRequest('test.html'); };
|
357 |
-
|
358 |
-
/* Final Ajax Call on Submit */
|
359 |
-
InboundAnalytics.LeadsAPI.makeRequest('test.html');
|
360 |
-
},
|
361 |
-
alertContents: function() {
|
362 |
-
if (httpRequest.readyState === 4) {
|
363 |
-
if (httpRequest.status === 200) {
|
364 |
-
alert(httpRequest.responseText);
|
365 |
-
} else if(xmlhttp.status == 400) {
|
366 |
-
alert('There was an error 400');
|
367 |
-
} else {
|
368 |
-
alert('There was a problem with the request.');
|
369 |
-
}
|
370 |
-
}
|
371 |
-
},
|
372 |
-
getAllLeadData: function(expire_check) {
|
373 |
-
var wp_lead_id = InboundAnalytics.Utils.readCookie("wp_lead_id"),
|
374 |
-
old_data = jQuery.totalStorage('inbound_lead_data'),
|
375 |
-
data = {
|
376 |
-
action: 'inbound_get_all_lead_data',
|
377 |
-
wp_lead_id: wp_lead_id,
|
378 |
-
},
|
379 |
-
success = function(returnData){
|
380 |
-
var obj = JSON.parse(returnData);
|
381 |
-
console.log('RAAAAAAn');
|
382 |
-
setGlobalLeadVar(obj);
|
383 |
-
jQuery.totalStorage('inbound_lead_data', obj); // store lead data
|
384 |
-
};
|
385 |
-
|
386 |
-
if(!old_data) {
|
387 |
-
console.log("No old data");
|
388 |
-
}
|
389 |
-
|
390 |
-
if (expire_check === 'true'){
|
391 |
-
console.log("Session has not expired");
|
392 |
-
}
|
393 |
-
|
394 |
-
if(!old_data && expire_check === null) {
|
395 |
-
InboundAnalytics.debug('Go to Database',function(){
|
396 |
-
console.log(expire_check);
|
397 |
-
console.log(old_data);
|
398 |
-
});
|
399 |
-
InboundAnalytics.Utils.doAjax(data, success);
|
400 |
-
} else {
|
401 |
-
setGlobalLeadVar(old_data); // set global lead var with localstorage data
|
402 |
-
var lead_data_expiration = InboundAnalytics.Utils.readCookie("lead_data_expiration");
|
403 |
-
if (lead_data_expiration === null) {
|
404 |
-
InboundAnalytics.Utils.doAjax(data, success);
|
405 |
-
console.log('localized data old. Pull new from DB');
|
406 |
-
}
|
407 |
-
}
|
408 |
-
|
409 |
-
},
|
410 |
-
getLeadLists: function() {
|
411 |
-
var wp_lead_id = InboundAnalytics.Utils.readCookie("wp_lead_id");
|
412 |
-
var data = {
|
413 |
-
action: 'wpl_check_lists',
|
414 |
-
wp_lead_id: wp_lead_id,
|
415 |
-
};
|
416 |
-
var success = function(user_id){
|
417 |
-
jQuery.cookie("lead_session_list_check", true, { path: '/', expires: 1 });
|
418 |
-
console.log("Lists checked");
|
419 |
-
};
|
420 |
-
InboundAnalytics.Utils.doAjax(data, success);
|
421 |
-
}
|
422 |
-
};
|
423 |
-
|
424 |
-
return InboundAnalytics;
|
425 |
-
|
426 |
-
})(InboundAnalytics || {});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
shared/assets/frontend/js/analytics/analytics.page-tracking.js
DELETED
@@ -1,173 +0,0 @@
|
|
1 |
-
var InboundAnalyticsPageTracking = (function (InboundAnalytics) {
|
2 |
-
|
3 |
-
InboundAnalytics.PageTracking = {
|
4 |
-
|
5 |
-
getPageViews: function () {
|
6 |
-
var local_store = InboundAnalytics.Utils.checkLocalStorage();
|
7 |
-
if(local_store){
|
8 |
-
var page_views = localStorage.getItem("page_views"),
|
9 |
-
local_object = JSON.parse(page_views);
|
10 |
-
if (typeof local_object =='object' && local_object) {
|
11 |
-
this.StorePageView();
|
12 |
-
}
|
13 |
-
return local_object;
|
14 |
-
}
|
15 |
-
},
|
16 |
-
StorePageView: function() {
|
17 |
-
var timeout = this.CheckTimeOut();
|
18 |
-
var pageviewObj = jQuery.totalStorage('page_views');
|
19 |
-
if(pageviewObj === null) {
|
20 |
-
pageviewObj = {};
|
21 |
-
}
|
22 |
-
var current_page_id = wplft.post_id;
|
23 |
-
var datetime = InboundAnalytics.Utils.GetDate();
|
24 |
-
|
25 |
-
if (timeout) {
|
26 |
-
// If pageviewObj exists, do this
|
27 |
-
var page_seen = pageviewObj[current_page_id];
|
28 |
-
|
29 |
-
if(typeof(page_seen) != "undefined" && page_seen !== null) {
|
30 |
-
pageviewObj[current_page_id].push(datetime);
|
31 |
-
/* Page Revisit Trigger */
|
32 |
-
var page_seen_count = pageviewObj[current_page_id].length;
|
33 |
-
InboundAnalytics.Events.pageRevisit(page_seen_count);
|
34 |
-
|
35 |
-
} else {
|
36 |
-
pageviewObj[current_page_id] = [];
|
37 |
-
pageviewObj[current_page_id].push(datetime);
|
38 |
-
/* Page First Seen Trigger */
|
39 |
-
var page_seen_count = 1;
|
40 |
-
InboundAnalytics.Events.pageFirstView(page_seen_count);
|
41 |
-
}
|
42 |
-
|
43 |
-
jQuery.totalStorage('page_views', pageviewObj);
|
44 |
-
|
45 |
-
}
|
46 |
-
},
|
47 |
-
CheckTimeOut: function() {
|
48 |
-
var PageViews = jQuery.totalStorage('page_views');
|
49 |
-
if(PageViews === null) {
|
50 |
-
var PageViews = {};
|
51 |
-
}
|
52 |
-
var page_id = wplft.post_id,
|
53 |
-
pageviewTimeout = true, /* Default */
|
54 |
-
page_seen = PageViews[page_id];
|
55 |
-
if(typeof(page_seen) != "undefined" && page_seen !== null) {
|
56 |
-
|
57 |
-
var time_now = InboundAnalytics.Utils.GetDate(),
|
58 |
-
vc = PageViews[page_id].length - 1,
|
59 |
-
last_view = PageViews[page_id][vc],
|
60 |
-
last_view_ms = new Date(last_view).getTime(),
|
61 |
-
time_now_ms = new Date(time_now).getTime(),
|
62 |
-
timeout_ms = last_view_ms + 30*1000,
|
63 |
-
time_check = Math.abs(last_view_ms - time_now_ms),
|
64 |
-
wait_time = 30000;
|
65 |
-
|
66 |
-
InboundAnalytics.debug('Timeout Checks =',function(){
|
67 |
-
console.log('Current Time is: ' + time_now);
|
68 |
-
console.log('Last view is: ' + last_view);
|
69 |
-
console.log("Last view milliseconds " + last_view_ms);
|
70 |
-
console.log("time now milliseconds " + time_now_ms);
|
71 |
-
console.log("Wait Check: " + wait_time);
|
72 |
-
console.log("TIME CHECK: " + time_check);
|
73 |
-
});
|
74 |
-
|
75 |
-
//var wait_time = Math.abs(last_view_ms - timeout_ms) // output timeout time 30sec;
|
76 |
-
|
77 |
-
if (time_check < wait_time){
|
78 |
-
time_left = Math.abs((wait_time - time_check)) * .001;
|
79 |
-
pageviewTimeout = false;
|
80 |
-
var status = '30 sec timeout not done: ' + time_left + " seconds left";
|
81 |
-
} else {
|
82 |
-
var status = 'Timeout Happened. Page view fired';
|
83 |
-
this.firePageView();
|
84 |
-
pageviewTimeout = true;
|
85 |
-
InboundAnalytics.Events.analyticsTriggered();
|
86 |
-
}
|
87 |
-
|
88 |
-
//InboundAnalytics.debug('',function(){
|
89 |
-
console.log(status);
|
90 |
-
//});
|
91 |
-
} else {
|
92 |
-
/* Page never seen before */
|
93 |
-
this.firePageView();
|
94 |
-
}
|
95 |
-
|
96 |
-
return pageviewTimeout;
|
97 |
-
|
98 |
-
},
|
99 |
-
firePageView: function() {
|
100 |
-
var lead_id = InboundAnalytics.Utils.readCookie('wp_lead_id'),
|
101 |
-
lead_uid = InboundAnalytics.Utils.readCookie('wp_lead_uid');
|
102 |
-
|
103 |
-
if (typeof (lead_id) != "undefined" && lead_id != null && lead_id != "") {
|
104 |
-
|
105 |
-
InboundAnalytics.debug('Run page view ajax');
|
106 |
-
|
107 |
-
var data = {
|
108 |
-
action: 'wpl_track_user',
|
109 |
-
wp_lead_uid: lead_uid,
|
110 |
-
wp_lead_id: lead_id,
|
111 |
-
page_id: wplft.post_id,
|
112 |
-
current_url: window.location.href,
|
113 |
-
json: '0'
|
114 |
-
};
|
115 |
-
var firePageCallback = function(user_id){
|
116 |
-
InboundAnalytics.Events.analyticsSaved();
|
117 |
-
};
|
118 |
-
InboundAnalytics.Utils.doAjax(data, firePageCallback);
|
119 |
-
}
|
120 |
-
},
|
121 |
-
tabSwitch: function() {
|
122 |
-
/* test out simplier script
|
123 |
-
function onBlur() {
|
124 |
-
document.body.className = 'blurred';
|
125 |
-
};
|
126 |
-
function onFocus(){
|
127 |
-
document.body.className = 'focused';
|
128 |
-
};
|
129 |
-
|
130 |
-
if (false) { // check for Internet Explorer
|
131 |
-
document.onfocusin = onFocus;
|
132 |
-
document.onfocusout = onBlur;
|
133 |
-
} else {
|
134 |
-
window.onfocus = onFocus;
|
135 |
-
window.onblur = onBlur;
|
136 |
-
}
|
137 |
-
*/
|
138 |
-
|
139 |
-
var hidden, visibilityState, visibilityChange;
|
140 |
-
|
141 |
-
if (typeof document.hidden !== "undefined") {
|
142 |
-
hidden = "hidden", visibilityChange = "visibilitychange", visibilityState = "visibilityState";
|
143 |
-
} else if (typeof document.mozHidden !== "undefined") {
|
144 |
-
hidden = "mozHidden", visibilityChange = "mozvisibilitychange", visibilityState = "mozVisibilityState";
|
145 |
-
} else if (typeof document.msHidden !== "undefined") {
|
146 |
-
hidden = "msHidden", visibilityChange = "msvisibilitychange", visibilityState = "msVisibilityState";
|
147 |
-
} else if (typeof document.webkitHidden !== "undefined") {
|
148 |
-
hidden = "webkitHidden", visibilityChange = "webkitvisibilitychange", visibilityState = "webkitVisibilityState";
|
149 |
-
} // if
|
150 |
-
|
151 |
-
var document_hidden = document[hidden];
|
152 |
-
|
153 |
-
document.addEventListener(visibilityChange, function() {
|
154 |
-
if(document_hidden != document[hidden]) {
|
155 |
-
if(document[hidden]) {
|
156 |
-
// Document hidden
|
157 |
-
console.log('hidden');
|
158 |
-
InboundAnalytics.Events.browserTabHidden();
|
159 |
-
} else {
|
160 |
-
// Document shown
|
161 |
-
console.log('shown');
|
162 |
-
InboundAnalytics.Events.browserTabVisible();
|
163 |
-
} // if
|
164 |
-
|
165 |
-
document_hidden = document[hidden];
|
166 |
-
} // if
|
167 |
-
});
|
168 |
-
}
|
169 |
-
}
|
170 |
-
|
171 |
-
return InboundAnalytics;
|
172 |
-
|
173 |
-
})(InboundAnalytics || {});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
shared/assets/frontend/js/analytics/analytics.storage.js
DELETED
@@ -1,136 +0,0 @@
|
|
1 |
-
/* Fork of jquery.total-storage.js */
|
2 |
-
var InboundTotalStorage = (function (InboundAnalytics){
|
3 |
-
|
4 |
-
/* Variables I'll need throghout */
|
5 |
-
|
6 |
-
var supported, ls, mod = 'inboundAnalytics';
|
7 |
-
if ('localStorage' in window){
|
8 |
-
try {
|
9 |
-
ls = (typeof window.localStorage === 'undefined') ? undefined : window.localStorage;
|
10 |
-
if (typeof ls == 'undefined' || typeof window.JSON == 'undefined'){
|
11 |
-
supported = false;
|
12 |
-
} else {
|
13 |
-
supported = true;
|
14 |
-
}
|
15 |
-
window.localStorage.setItem(mod, '1');
|
16 |
-
window.localStorage.removeItem(mod);
|
17 |
-
}
|
18 |
-
catch (err){
|
19 |
-
supported = false;
|
20 |
-
}
|
21 |
-
}
|
22 |
-
|
23 |
-
/* Make the methods public */
|
24 |
-
InboundAnalytics.totalStorage = function(key, value, options){
|
25 |
-
return InboundAnalytics.totalStorage.impl.init(key, value);
|
26 |
-
};
|
27 |
-
|
28 |
-
InboundAnalytics.totalStorage.setItem = function(key, value){
|
29 |
-
return InboundAnalytics.totalStorage.impl.setItem(key, value);
|
30 |
-
};
|
31 |
-
|
32 |
-
InboundAnalytics.totalStorage.getItem = function(key){
|
33 |
-
return InboundAnalytics.totalStorage.impl.getItem(key);
|
34 |
-
};
|
35 |
-
|
36 |
-
InboundAnalytics.totalStorage.getAll = function(){
|
37 |
-
return InboundAnalytics.totalStorage.impl.getAll();
|
38 |
-
};
|
39 |
-
|
40 |
-
InboundAnalytics.totalStorage.deleteItem = function(key){
|
41 |
-
return InboundAnalytics.totalStorage.impl.deleteItem(key);
|
42 |
-
};
|
43 |
-
|
44 |
-
/* Object to hold all methods: public and private */
|
45 |
-
|
46 |
-
InboundAnalytics.totalStorage.impl = {
|
47 |
-
|
48 |
-
init: function(key, value){
|
49 |
-
if (typeof value != 'undefined') {
|
50 |
-
return this.setItem(key, value);
|
51 |
-
} else {
|
52 |
-
return this.getItem(key);
|
53 |
-
}
|
54 |
-
},
|
55 |
-
|
56 |
-
setItem: function(key, value){
|
57 |
-
if (!supported){
|
58 |
-
try {
|
59 |
-
InboundAnalytics.Utils.createCookie(key, value);
|
60 |
-
return value;
|
61 |
-
} catch(e){
|
62 |
-
console.log('Local Storage not supported by this browser. Install the cookie plugin on your site to take advantage of the same functionality. You can get it at https://github.com/carhartl/jquery-cookie');
|
63 |
-
}
|
64 |
-
}
|
65 |
-
var saver = JSON.stringify(value);
|
66 |
-
ls.setItem(key, saver);
|
67 |
-
return this.parseResult(saver);
|
68 |
-
},
|
69 |
-
getItem: function(key){
|
70 |
-
if (!supported){
|
71 |
-
try {
|
72 |
-
return this.parseResult(InboundAnalytics.Utils.readCookie(key));
|
73 |
-
} catch(e){
|
74 |
-
return null;
|
75 |
-
}
|
76 |
-
}
|
77 |
-
var item = ls.getItem(key);
|
78 |
-
return this.parseResult(item);
|
79 |
-
},
|
80 |
-
deleteItem: function(key){
|
81 |
-
if (!supported){
|
82 |
-
try {
|
83 |
-
InboundAnalytics.Utils.eraseCookie(key, null);
|
84 |
-
return true;
|
85 |
-
} catch(e){
|
86 |
-
return false;
|
87 |
-
}
|
88 |
-
}
|
89 |
-
ls.removeItem(key);
|
90 |
-
return true;
|
91 |
-
},
|
92 |
-
getAll: function(){
|
93 |
-
var items = [];
|
94 |
-
if (!supported){
|
95 |
-
try {
|
96 |
-
var pairs = document.cookie.split(";");
|
97 |
-
for (var i = 0; i<pairs.length; i++){
|
98 |
-
var pair = pairs[i].split('=');
|
99 |
-
var key = pair[0];
|
100 |
-
items.push({key:key, value:this.parseResult(InboundAnalytics.Utils.readCookie(key))});
|
101 |
-
}
|
102 |
-
} catch(e){
|
103 |
-
return null;
|
104 |
-
}
|
105 |
-
} else {
|
106 |
-
for (var j in ls){
|
107 |
-
if (j.length){
|
108 |
-
items.push({key:j, value:this.parseResult(ls.getItem(j))});
|
109 |
-
}
|
110 |
-
}
|
111 |
-
}
|
112 |
-
return items;
|
113 |
-
},
|
114 |
-
parseResult: function(res){
|
115 |
-
var ret;
|
116 |
-
try {
|
117 |
-
ret = JSON.parse(res);
|
118 |
-
if (typeof ret == 'undefined'){
|
119 |
-
ret = res;
|
120 |
-
}
|
121 |
-
if (ret == 'true'){
|
122 |
-
ret = true;
|
123 |
-
}
|
124 |
-
if (ret == 'false'){
|
125 |
-
ret = false;
|
126 |
-
}
|
127 |
-
if (parseFloat(ret) == ret && typeof ret != "object"){
|
128 |
-
ret = parseFloat(ret);
|
129 |
-
}
|
130 |
-
} catch(e){
|
131 |
-
ret = res;
|
132 |
-
}
|
133 |
-
return ret;
|
134 |
-
}
|
135 |
-
};
|
136 |
-
})(InboundAnalytics || {});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
shared/assets/frontend/js/analytics/analytics.utils.js
DELETED
@@ -1,340 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Utility functions
|
3 |
-
* @param Object InboundAnalytics - Main JS object
|
4 |
-
* @return Object - include util functions
|
5 |
-
*/
|
6 |
-
var InboundAnalyticsUtils = (function (InboundAnalytics) {
|
7 |
-
|
8 |
-
InboundAnalytics.Utils = {
|
9 |
-
init: function() {
|
10 |
-
this.polyFills();
|
11 |
-
this.setUrlParams();
|
12 |
-
this.SetUID();
|
13 |
-
this.getReferer();
|
14 |
-
|
15 |
-
},
|
16 |
-
polyFills: function() {
|
17 |
-
/* Console.log fix for old browsers */
|
18 |
-
if (!window.console) { window.console = {}; }
|
19 |
-
var m = [
|
20 |
-
"log", "info", "warn", "error", "debug", "trace", "dir", "group",
|
21 |
-
"groupCollapsed", "groupEnd", "time", "timeEnd", "profile", "profileEnd",
|
22 |
-
"dirxml", "assert", "count", "markTimeline", "timeStamp", "clear"
|
23 |
-
];
|
24 |
-
// define undefined methods as noops to prevent errors
|
25 |
-
for (var i = 0; i < m.length; i++) {
|
26 |
-
if (!window.console[m[i]]) {
|
27 |
-
window.console[m[i]] = function() {};
|
28 |
-
}
|
29 |
-
}
|
30 |
-
/* Event trigger polyfill for IE9 and 10 */
|
31 |
-
(function () {
|
32 |
-
function CustomEvent ( event, params ) {
|
33 |
-
params = params || { bubbles: false, cancelable: false, detail: undefined };
|
34 |
-
var evt = document.createEvent( 'CustomEvent' );
|
35 |
-
evt.initCustomEvent( event, params.bubbles, params.cancelable, params.detail );
|
36 |
-
return evt;
|
37 |
-
};
|
38 |
-
|
39 |
-
CustomEvent.prototype = window.Event.prototype;
|
40 |
-
|
41 |
-
window.CustomEvent = CustomEvent;
|
42 |
-
})();
|
43 |
-
},
|
44 |
-
// Create cookie
|
45 |
-
createCookie: function(name, value, days, custom_time) {
|
46 |
-
var expires = "";
|
47 |
-
if (days) {
|
48 |
-
var date = new Date();
|
49 |
-
date.setTime(date.getTime()+(days*24*60*60*1000));
|
50 |
-
expires = "; expires="+date.toGMTString();
|
51 |
-
}
|
52 |
-
if(custom_time){
|
53 |
-
expires = "; expires="+days.toGMTString();
|
54 |
-
}
|
55 |
-
document.cookie = name+"="+value+expires+"; path=/";
|
56 |
-
},
|
57 |
-
// Read cookie
|
58 |
-
readCookie: function(name) {
|
59 |
-
var nameEQ = name + "=";
|
60 |
-
var ca = document.cookie.split(';');
|
61 |
-
for(var i=0;i < ca.length;i++) {
|
62 |
-
var c = ca[i];
|
63 |
-
while (c.charAt(0) === ' ') {
|
64 |
-
c = c.substring(1,c.length);
|
65 |
-
}
|
66 |
-
if (c.indexOf(nameEQ) === 0) {
|
67 |
-
return c.substring(nameEQ.length,c.length);
|
68 |
-
}
|
69 |
-
}
|
70 |
-
return null;
|
71 |
-
},
|
72 |
-
// Erase cookie
|
73 |
-
eraseCookie: function(name) {
|
74 |
-
createCookie(name,"",-1);
|
75 |
-
},
|
76 |
-
getAllCookies: function(){
|
77 |
-
var cookies = {};
|
78 |
-
if (document.cookie && document.cookie != '') {
|
79 |
-
var split = document.cookie.split(';');
|
80 |
-
for (var i = 0; i < split.length; i++) {
|
81 |
-
var name_value = split[i].split("=");
|
82 |
-
name_value[0] = name_value[0].replace(/^ /, '');
|
83 |
-
cookies[decodeURIComponent(name_value[0])] = decodeURIComponent(name_value[1]);
|
84 |
-
}
|
85 |
-
}
|
86 |
-
jQuery.totalStorage('inbound_cookies', cookies); // store cookie data
|
87 |
-
return cookies;
|
88 |
-
},
|
89 |
-
/* Grab URL params and save */
|
90 |
-
setUrlParams: function() {
|
91 |
-
var urlParams = {},
|
92 |
-
local_store = InboundAnalytics.Utils.checkLocalStorage();
|
93 |
-
|
94 |
-
(function () {
|
95 |
-
var e,
|
96 |
-
d = function (s) { return decodeURIComponent(s).replace(/\+/g, " "); },
|
97 |
-
q = window.location.search.substring(1),
|
98 |
-
r = /([^&=]+)=?([^&]*)/g;
|
99 |
-
|
100 |
-
while (e = r.exec(q)) {
|
101 |
-
if (e[1].indexOf("[") == "-1")
|
102 |
-
urlParams[d(e[1])] = d(e[2]);
|
103 |
-
else {
|
104 |
-
var b1 = e[1].indexOf("["),
|
105 |
-
aN = e[1].slice(b1+1, e[1].indexOf("]", b1)),
|
106 |
-
pN = d(e[1].slice(0, b1));
|
107 |
-
|
108 |
-
if (typeof urlParams[pN] != "object")
|
109 |
-
urlParams[d(pN)] = {},
|
110 |
-
urlParams[d(pN)].length = 0;
|
111 |
-
|
112 |
-
if (aN)
|
113 |
-
urlParams[d(pN)][d(aN)] = d(e[2]);
|
114 |
-
else
|
115 |
-
Array.prototype.push.call(urlParams[d(pN)], d(e[2]));
|
116 |
-
|
117 |
-
}
|
118 |
-
}
|
119 |
-
})();
|
120 |
-
|
121 |
-
if (JSON) {
|
122 |
-
for (var k in urlParams) {
|
123 |
-
if (typeof urlParams[k] == "object") {
|
124 |
-
for (var k2 in urlParams[k])
|
125 |
-
this.createCookie(k2, urlParams[k][k2], 30);
|
126 |
-
} else {
|
127 |
-
this.createCookie(k, urlParams[k], 30);
|
128 |
-
}
|
129 |
-
}
|
130 |
-
}
|
131 |
-
|
132 |
-
if(local_store){
|
133 |
-
var pastParams = jQuery.totalStorage('inbound_url_params');
|
134 |
-
var params = this.mergeObjs(pastParams, urlParams);
|
135 |
-
jQuery.totalStorage('inbound_url_params', params); // store cookie data
|
136 |
-
}
|
137 |
-
},
|
138 |
-
getUrlParams: function(){
|
139 |
-
var local_store = this.checkLocalStorage(),
|
140 |
-
get_params = {};
|
141 |
-
if(local_store){
|
142 |
-
var get_params = jQuery.totalStorage('inbound_url_params');
|
143 |
-
}
|
144 |
-
return get_params;
|
145 |
-
},
|
146 |
-
// Check local storage
|
147 |
-
// provate browsing safari fix https://github.com/marcuswestin/store.js/issues/42#issuecomment-25274685
|
148 |
-
checkLocalStorage: function() {
|
149 |
-
if ('localStorage' in window) {
|
150 |
-
try {
|
151 |
-
ls = (typeof window.localStorage === 'undefined') ? undefined : window.localStorage;
|
152 |
-
if (typeof ls == 'undefined' || typeof window.JSON == 'undefined'){
|
153 |
-
supported = false;
|
154 |
-
} else {
|
155 |
-
supported = true;
|
156 |
-
}
|
157 |
-
|
158 |
-
}
|
159 |
-
catch (err){
|
160 |
-
supported = false;
|
161 |
-
}
|
162 |
-
}
|
163 |
-
return supported;
|
164 |
-
/* http://spin.atomicobject.com/2013/01/23/ios-private-browsing-localstorage/
|
165 |
-
var hasStorage;
|
166 |
-
hasStorage = function() {
|
167 |
-
var mod, result;
|
168 |
-
try {
|
169 |
-
mod = new Date;
|
170 |
-
localStorage.setItem(mod, mod.toString());
|
171 |
-
result = localStorage.getItem(mod) === mod.toString();
|
172 |
-
localStorage.removeItem(mod);
|
173 |
-
return result;
|
174 |
-
} catch (_error) {}
|
175 |
-
};
|
176 |
-
*/
|
177 |
-
},
|
178 |
-
/* Add days to datetime */
|
179 |
-
addDays: function(myDate,days) {
|
180 |
-
return new Date(myDate.getTime() + days*24*60*60*1000);
|
181 |
-
},
|
182 |
-
GetDate: function(){
|
183 |
-
var time_now = new Date(),
|
184 |
-
day = time_now.getDate() + 1;
|
185 |
-
year = time_now.getFullYear(),
|
186 |
-
hour = time_now.getHours(),
|
187 |
-
minutes = time_now.getMinutes(),
|
188 |
-
seconds = time_now.getSeconds(),
|
189 |
-
month = time_now.getMonth() + 1;
|
190 |
-
if (month < 10) { month = '0' + month; }
|
191 |
-
InboundAnalytics.debug('Current Date:',function(){
|
192 |
-
console.log(year + '/' + month + "/" + day + " " + hour + ":" + minutes + ":" + seconds);
|
193 |
-
});
|
194 |
-
var datetime = year + '/' + month + "/" + day + " " + hour + ":" + minutes + ":" + seconds;
|
195 |
-
return datetime;
|
196 |
-
},
|
197 |
-
/* Set Expiration Date of Session Logging */
|
198 |
-
SetSessionTimeout: function(){
|
199 |
-
var session_check = this.readCookie("lead_session_expire");
|
200 |
-
//console.log(session_check);
|
201 |
-
if(session_check === null){
|
202 |
-
InboundAnalytics.Events.sessionStart(); // trigger 'inbound_analytics_session_start'
|
203 |
-
} else {
|
204 |
-
InboundAnalytics.Events.sessionActive(); // trigger 'inbound_analytics_session_active'
|
205 |
-
}
|
206 |
-
var d = new Date();
|
207 |
-
d.setTime(d.getTime() + 30*60*1000);
|
208 |
-
|
209 |
-
this.createCookie("lead_session_expire", true, d, true); // Set cookie on page loads
|
210 |
-
var lead_data_expiration = this.readCookie("lead_data_expiration");
|
211 |
-
if (lead_data_expiration === null){
|
212 |
-
/* Set 3 day timeout for checking DB for new lead data for Lead_Global var */
|
213 |
-
var ex = this.addDays(d, 3);
|
214 |
-
this.createCookie("lead_data_expiration", ex, ex, true);
|
215 |
-
}
|
216 |
-
|
217 |
-
},
|
218 |
-
getReferer: function(){
|
219 |
-
//console.log(expire_time);
|
220 |
-
var d = new Date();
|
221 |
-
d.setTime(d.getTime() + 30*60*1000);
|
222 |
-
var referrer_cookie = InboundAnalytics.Utils.readCookie("wp_lead_referral_site");
|
223 |
-
if (typeof (referrer_cookie) === "undefined" || referrer_cookie === null || referrer_cookie === "") {
|
224 |
-
var referrer = document.referrer || "NA";
|
225 |
-
this.createCookie("wp_lead_referral_site", referrer, d, true); // Set cookie on page loads
|
226 |
-
}
|
227 |
-
},
|
228 |
-
CreateUID: function(length) {
|
229 |
-
var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz'.split(''),
|
230 |
-
str = '';
|
231 |
-
if (! length) {
|
232 |
-
length = Math.floor(Math.random() * chars.length);
|
233 |
-
}
|
234 |
-
for (var i = 0; i < length; i++) {
|
235 |
-
str += chars[Math.floor(Math.random() * chars.length)];
|
236 |
-
}
|
237 |
-
return str;
|
238 |
-
},
|
239 |
-
SetUID: function () {
|
240 |
-
/* Set Lead UID */
|
241 |
-
|
242 |
-
if(this.readCookie("wp_lead_uid") === null) {
|
243 |
-
var wp_lead_uid = this.CreateUID(35);
|
244 |
-
this.createCookie("wp_lead_uid", wp_lead_uid );
|
245 |
-
InboundAnalytics.debug('Set UID');
|
246 |
-
}
|
247 |
-
},
|
248 |
-
/* Count number of session visits */
|
249 |
-
countProperties: function (obj) {
|
250 |
-
var count = 0;
|
251 |
-
for(var prop in obj) {
|
252 |
-
if(obj.hasOwnProperty(prop))
|
253 |
-
++count;
|
254 |
-
}
|
255 |
-
return count;
|
256 |
-
},
|
257 |
-
mergeObjs: function(obj1,obj2){
|
258 |
-
var obj3 = {};
|
259 |
-
for (var attrname in obj1) { obj3[attrname] = obj1[attrname]; }
|
260 |
-
for (var attrname in obj2) { obj3[attrname] = obj2[attrname]; }
|
261 |
-
return obj3;
|
262 |
-
},
|
263 |
-
trim: function(s) {
|
264 |
-
s = s.replace(/(^\s*)|(\s*$)/gi,"");
|
265 |
-
s = s.replace(/[ ]{2,}/gi," ");
|
266 |
-
s = s.replace(/\n /,"\n"); return s;
|
267 |
-
},
|
268 |
-
doAjax: function(data, responseHandler, method, async){
|
269 |
-
// Set the variables
|
270 |
-
var url = wplft.admin_url || "",
|
271 |
-
method = method || "POST",
|
272 |
-
async = async || true,
|
273 |
-
data = data || null,
|
274 |
-
action = data.action;
|
275 |
-
|
276 |
-
InboundAnalytics.debug('Ajax Processed:',function(){
|
277 |
-
console.log('ran ajax action: ' + action);
|
278 |
-
});
|
279 |
-
|
280 |
-
jQuery.ajax({
|
281 |
-
type: method,
|
282 |
-
url: wplft.admin_url,
|
283 |
-
data: data,
|
284 |
-
success: responseHandler,
|
285 |
-
error: function(MLHttpRequest, textStatus, errorThrown){
|
286 |
-
console.log(MLHttpRequest+' '+errorThrown+' '+textStatus);
|
287 |
-
InboundAnalytics.Events.analyticsError(MLHttpRequest, textStatus, errorThrown);
|
288 |
-
}
|
289 |
-
|
290 |
-
});
|
291 |
-
},
|
292 |
-
contentLoaded: function(win, fn) {
|
293 |
-
|
294 |
-
var done = false, top = true,
|
295 |
-
|
296 |
-
doc = win.document, root = doc.documentElement,
|
297 |
-
|
298 |
-
add = doc.addEventListener ? 'addEventListener' : 'attachEvent',
|
299 |
-
rem = doc.addEventListener ? 'removeEventListener' : 'detachEvent',
|
300 |
-
pre = doc.addEventListener ? '' : 'on',
|
301 |
-
|
302 |
-
init = function(e) {
|
303 |
-
if (e.type == 'readystatechange' && doc.readyState != 'complete') return;
|
304 |
-
(e.type == 'load' ? win : doc)[rem](pre + e.type, init, false);
|
305 |
-
if (!done && (done = true)) fn.call(win, e.type || e);
|
306 |
-
},
|
307 |
-
|
308 |
-
poll = function() {
|
309 |
-
try { root.doScroll('left'); } catch(e) { setTimeout(poll, 50); return; }
|
310 |
-
init('poll');
|
311 |
-
};
|
312 |
-
|
313 |
-
if (doc.readyState == 'complete') fn.call(win, 'lazy');
|
314 |
-
else {
|
315 |
-
if (doc.createEventObject && root.doScroll) {
|
316 |
-
try { top = !win.frameElement; } catch(e) { }
|
317 |
-
if (top) poll();
|
318 |
-
}
|
319 |
-
doc[add](pre + 'DOMContentLoaded', init, false);
|
320 |
-
doc[add](pre + 'readystatechange', init, false);
|
321 |
-
win[add](pre + 'load', init, false);
|
322 |
-
}
|
323 |
-
|
324 |
-
},
|
325 |
-
/* Cross-browser event listening */
|
326 |
-
addListener: function(obj, eventName, listener) {
|
327 |
-
if(obj.addEventListener) {
|
328 |
-
obj.addEventListener(eventName, listener, false);
|
329 |
-
} else if (obj.attachEvent) {
|
330 |
-
obj.attachEvent("on" + eventName, listener);
|
331 |
-
} else {
|
332 |
-
obj['on' + eventName] = listener;
|
333 |
-
}
|
334 |
-
}
|
335 |
-
|
336 |
-
};
|
337 |
-
|
338 |
-
return InboundAnalytics;
|
339 |
-
|
340 |
-
})(InboundAnalytics || {});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
shared/assets/frontend/js/analytics/inboundAnalytics.min.js
DELETED
@@ -1,3 +0,0 @@
|
|
1 |
-
/*! Inbound Analyticsv1.0.0 | (c) 2014 Inbound Now | https://github.com/inboundnow/cta */
|
2 |
-
var inbound_data=inbound_data||{},_inboundOptions=_inboundOptions||{},_gaq=_gaq||[],_inbound=function(e){var t={timeout:3e4,formAutoTracking:!0,formAutoPopulation:!0},n={init:function(){_inbound.Utils.init(),_inbound.Utils.domReady(window,function(){_inbound.DomLoaded()})},DomLoaded:function(){_inbound.PageTracking.init(),_inbound.Forms.init(),_inbound.Utils.setUrlParams(),_inbound.LeadsAPI.init(),setTimeout(function(){_inbound.Forms.init()},2e3),_inbound.trigger("analytics_ready")},extend:function(e,t){var n,i={};for(n in e)Object.prototype.hasOwnProperty.call(e,n)&&(i[n]=e[n]);for(n in t)Object.prototype.hasOwnProperty.call(t,n)&&(i[n]=t[n]);return i},debug:function(){},deBugger:function(e,t,n){if(console){var i,o,a,r=document.location.hash?document.location.hash:"",s=r.indexOf("#debug")>-1,t=t||!1;r&&r.match(/debug/)&&(r=r.split("-"),a=r[1]),o="true"===_inbound.Utils.readCookie("inbound_debug")?!0:!1,i="true"===_inbound.Utils.readCookie("inbound_debug_"+e)?!0:!1,(i||s||o)&&(t&&"string"==typeof t&&(o||"all"===a?console.log('logAll "'+e+'" =>',t):i?console.log('log "'+e+'" =>',t):e===a&&console.log('#log "'+e+'" =>',t)),n&&n instanceof Function&&n())}}},i=n.extend(t,e);return n.Settings=i||{},n}(_inboundOptions),_inboundHooks=function(e){var t=function(){function e(e,t,n,i){return"string"==typeof e&&"function"==typeof t&&(n=parseInt(n||10,10),s("actions",e,t,n,i)),d}function t(){var e=Array.prototype.slice.call(arguments),t=e.shift();return"string"==typeof t&&u("actions",t,e),d}function n(e,t){return"string"==typeof e&&r("actions",e,t),d}function i(e,t,n){return"string"==typeof e&&"function"==typeof t&&(n=parseInt(n||10,10),s("filters",e,t,n)),d}function o(){var e=Array.prototype.slice.call(arguments),t=e.shift();return"string"==typeof t?u("filters",t,e):d}function a(e,t){return"string"==typeof e&&r("filters",e,t),d}function r(e,t,n,i){if(c[e][t])if(n){var o,a=c[e][t];if(i)for(o=a.length;o--;){var r=a[o];r.callback===n&&r.context===i&&a.splice(o,1)}else for(o=a.length;o--;)a[o].callback===n&&a.splice(o,1)}else c[e][t]=[]}function s(e,t,n,i,o){var a={callback:n,priority:i,context:o},r=c[e][t];r?(r.push(a),r=l(r)):r=[a],c[e][t]=r}function l(e){for(var t,n,i,o=1,a=e.length;a>o;o++){for(t=e[o],n=o;(i=e[n-1])&&i.priority>t.priority;)e[n]=e[n-1],--n;e[n]=t}return e}function u(e,t,n){var i=c[e][t];if(!i)return"filters"===e?n[0]:!1;var o=0,a=i.length;if("filters"===e)for(;a>o;o++)n[0]=i[o].callback.apply(i[o].context,n);else for(;a>o;o++)i[o].callback.apply(i[o].context,n);return"filters"===e?n[0]:!0}var d={removeFilter:a,applyFilters:o,addFilter:i,removeAction:n,doAction:t,addAction:e},c={actions:{},filters:{}};return d};return e.hooks=new t,e.add_action=function(){var t=arguments[0].split(" ");for(k in t)arguments[0]="inbound."+t[k],e.hooks.addAction.apply(this,arguments);return this},e.remove_action=function(){return arguments[0]="inbound."+arguments[0],e.hooks.removeAction.apply(this,arguments),this},e.do_action=function(){return arguments[0]="inbound."+arguments[0],e.hooks.doAction.apply(this,arguments),this},e.add_filter=function(){return arguments[0]="inbound."+arguments[0],e.hooks.addFilter.apply(this,arguments),this},e.remove_filter=function(){return arguments[0]="inbound."+arguments[0],e.hooks.removeFilter.apply(this,arguments),this},e.apply_filters=function(){return arguments[0]="inbound."+arguments[0],e.hooks.applyFilters.apply(this,arguments)},e}(_inbound||{}),_inboundUtils=function(e){var t;return e.Utils={init:function(){this.polyFills(),this.checkLocalStorage(),this.SetUID(),this.storeReferralData()},polyFills:function(){window.console||(window.console={});for(var e=["log","info","warn","error","debug","trace","dir","group","groupCollapsed","groupEnd","time","timeEnd","profile","profileEnd","dirxml","assert","count","markTimeline","timeStamp","clear"],t=0;t<e.length;t++)window.console[e[t]]||(window.console[e[t]]=function(){});try{new CustomEvent("?")}catch(n){this.CustomEvent=function(e,t){function n(n,o){var a=document.createEvent(e);return null!==n?i.call(a,n,(o||(o=t)).bubbles,o.cancelable,o.detail):a.initCustomEvent=i,a}function i(t,n,i,o){this["init"+e](t,n,i,o),"detail"in this||(this.detail=o)}return n}(this.CustomEvent?"CustomEvent":"Event",{bubbles:!1,cancelable:!1,detail:null})}document.querySelectorAll||(document.querySelectorAll=function(e){var t,n=document.createElement("style"),i=[];for(document.documentElement.firstChild.appendChild(n),document._qsa=[],n.styleSheet.cssText=e+"{x-qsa:expression(document._qsa && document._qsa.push(this))}",window.scrollBy(0,0),n.parentNode.removeChild(n);document._qsa.length;)t=document._qsa.shift(),t.style.removeAttribute("x-qsa"),i.push(t);return document._qsa=null,i}),document.querySelector||(document.querySelector=function(e){var t=document.querySelectorAll(e);return t.length?t[0]:null}),!("innerText"in document.createElement("a"))&&"getSelection"in window&&HTMLElement.prototype.__defineGetter__("innerText",function(){for(var e,t=window.getSelection(),n=[],i=0;i<t.rangeCount;i++)n[i]=t.getRangeAt(i);t.removeAllRanges(),t.selectAllChildren(this),e=t.toString(),t.removeAllRanges();for(var i=0;i<n.length;i++)t.addRange(n[i]);return e})},createCookie:function(e,t,n){var i="";if(n){var o=new Date;o.setTime(o.getTime()+24*n*60*60*1e3),i="; expires="+o.toGMTString()}document.cookie=e+"="+t+i+"; path=/"},readCookie:function(e){for(var t=e+"=",n=document.cookie.split(";"),i=0;i<n.length;i++){for(var o=n[i];" "===o.charAt(0);)o=o.substring(1,o.length);if(0===o.indexOf(t))return o.substring(t.length,o.length)}return null},eraseCookie:function(e){this.createCookie(e,"",-1)},getAllCookies:function(){var t={};if(document.cookie&&""!==document.cookie)for(var n=document.cookie.split(";"),i=0;i<n.length;i++){var o=n[i].split("=");o[0]=o[0].replace(/^ /,""),t[decodeURIComponent(o[0])]=decodeURIComponent(o[1])}return e.totalStorage("inbound_cookies",t),t},setUrlParams:function(){var n={};!function(){for(var e,t=function(e){return decodeURIComponent(e).replace(/\+/g," ")},i=window.location.search.substring(1),o=/([^&=]+)=?([^&]*)/g;e=o.exec(i);)if("-1"==e[1].indexOf("["))n[t(e[1])]=t(e[2]);else{var a=e[1].indexOf("["),r=e[1].slice(a+1,e[1].indexOf("]",a)),s=t(e[1].slice(0,a));"object"!=typeof n[s]&&(n[t(s)]={},n[t(s)].length=0),r?n[t(s)][t(r)]=t(e[2]):Array.prototype.push.call(n[t(s)],t(e[2]))}}();for(var i in n)if("object"==typeof n[i])for(var o in n[i])this.createCookie(o,n[i][o],30);else this.createCookie(i,n[i],30);if(t){var a=e.totalStorage("inbound_url_params")||{},r=this.mergeObjs(a,n);e.totalStorage("inbound_url_params",r)}var s={option1:"yo",option2:"woooo"};e.trigger("url_parameters",n,s)},getAllUrlParams:function(){var n={};if(t)var n=e.totalStorage("inbound_url_params");return n},getParameterVal:function(e,t){return(RegExp(e+"=(.+?)(&|$)").exec(t)||[,!1])[1]},checkLocalStorage:function(){if("localStorage"in window)try{ls="undefined"==typeof window.localStorage?void 0:window.localStorage,t="undefined"==typeof ls||"undefined"==typeof window.JSON?!1:!0}catch(e){t=!1}return t},addDays:function(e,t){return new Date(e.getTime()+24*t*60*60*1e3)},GetDate:function(){var e=new Date,t=e.getDate(),n=10>t?"0":"",i=e.getFullYear(),o=e.getHours(),a=10>o?"0":"",r=e.getMinutes(),s=10>r?"0":"",l=e.getSeconds(),u=10>l?"0":"",d=e.getMonth()+1,c=10>d?"0":"",m=i+"/"+c+d+"/"+n+t+" "+a+o+":"+s+r+":"+u+l;return m},SetSessionTimeout:function(){var e=(this.readCookie("lead_session_expire"),new Date);e.setTime(e.getTime()+18e5),this.createCookie("lead_session_expire",!0,e,!0)},storeReferralData:function(){var t=new Date,n=document.referrer||"Direct Traffic",i=e.Utils.readCookie("inbound_referral_site"),o=e.totalStorage("inbound_original_referral");t.setTime(t.getTime()+18e5),i||this.createCookie("inbound_referral_site",n,t,!0),o||e.totalStorage("inbound_original_referral",o)},CreateUID:function(e){var t="0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz".split(""),n="";e||(e=Math.floor(Math.random()*t.length));for(var i=0;e>i;i++)n+=t[Math.floor(Math.random()*t.length)];return n},SetUID:function(e){if(!this.readCookie("wp_lead_uid")){var t=e||this.CreateUID(35);this.createCookie("wp_lead_uid",t)}},countProperties:function(e){var t=0;for(var n in e)e.hasOwnProperty(n)&&++t;return t},mergeObjs:function(e,t){var n={};for(var i in e)n[i]=e[i];for(var i in t)n[i]=t[i];return n},hasClass:function(e,t){var n=!1;if("classList"in document.documentElement)var n=t.classList.contains(e);else var n=new RegExp("(^|\\s)"+e+"(\\s|$)").test(t.className);return n},addClass:function(e,t){"classList"in document.documentElement?t.classList.add(e):this.hasClass(t,e)||(t.className+=(t.className?" ":"")+e)},removeClass:function(e,t){"classList"in document.documentElement?t.classList.remove(e):this.hasClass(t,e)&&(t.className=t.className.replace(new RegExp("(^|\\s)*"+e+"(\\s|$)*","g"),""))},removeElement:function(e){e.parentNode.removeChild(e)},trim:function(e){return e=e.replace(/(^\s*)|(\s*$)/gi,""),e=e.replace(/[ ]{2,}/gi," "),e=e.replace(/\n /,"\n")},ajaxPolyFill:function(){if("undefined"!=typeof XMLHttpRequest)return new XMLHttpRequest;for(var e,t=["MSXML2.XmlHttp.5.0","MSXML2.XmlHttp.4.0","MSXML2.XmlHttp.3.0","MSXML2.XmlHttp.2.0","Microsoft.XmlHttp"],n=0;n<t.length;n++)try{e=new ActiveXObject(t[n]);break}catch(i){}return e},ajaxSendData:function(e,t,n,i,o){var a=this.ajaxPolyFill();a.open(n,e,o),a.onreadystatechange=function(){4==a.readyState&&t(a.responseText)},"POST"==n&&a.setRequestHeader("Content-type","application/x-www-form-urlencoded"),a.send(i)},ajaxGet:function(e,t,n,i){var o=[];for(var a in t)o.push(encodeURIComponent(a)+"="+encodeURIComponent(t[a]));this.ajaxSendData(e+"?"+o.join("&"),n,"GET",null,i)},ajaxPost:function(e,t,n,i){var o=[];for(var a in t)o.push(encodeURIComponent(a)+"="+encodeURIComponent(t[a]));this.ajaxSendData(e,n,"POST",o.join("&"),i)},makeRequest:function(t,n){if(window.XMLHttpRequest)httpRequest=new XMLHttpRequest;else if(window.ActiveXObject)try{httpRequest=new ActiveXObject("Msxml2.XMLHTTP")}catch(i){try{httpRequest=new ActiveXObject("Microsoft.XMLHTTP")}catch(i){}}return httpRequest?(httpRequest.onreadystatechange=e.LeadsAPI.alertContents,httpRequest.open("GET",t),httpRequest.send(n),void 0):(alert("Giving up :( Cannot create an XMLHTTP instance"),!1)},domReady:function(e,t){var n=!1,i=!0,o=e.document,a=o.documentElement,r=o.addEventListener?"addEventListener":"attachEvent",s=o.addEventListener?"removeEventListener":"detachEvent",l=o.addEventListener?"":"on",u=function(i){("readystatechange"!=i.type||"complete"==o.readyState)&&(("load"==i.type?e:o)[s](l+i.type,u,!1),!n&&(n=!0)&&t.call(e,i.type||i))},d=function(){try{a.doScroll("left")}catch(e){return setTimeout(d,50),void 0}u("poll")};if("complete"==o.readyState)t.call(e,"lazy");else{if(o.createEventObject&&a.doScroll){try{i=!e.frameElement}catch(c){}i&&d()}o[r](l+"DOMContentLoaded",u,!1),o[r](l+"readystatechange",u,!1),e[r](l+"load",u,!1)}},addListener:function(e,t,n){e&&(e.addEventListener?e.addEventListener(t,n,!1):e.attachEvent?e.attachEvent("on"+t,n):e["on"+t]=n)},removeListener:function(e,t,n){e.removeEventListener?e.removeEventListener(t,n,!1):e.detachEvent?e.detachEvent("on"+t,n):e["on"+t]=null},throttle:function(e,t){var n,i,o,a=null,r=0,s=function(){r=new Date,a=null,o=e.apply(n,i)};return function(){var l=new Date;r||(r=l);var u=t-(l-r);return n=this,i=arguments,0>=u?(clearTimeout(a),a=null,r=l,o=e.apply(n,i)):a||(a=setTimeout(s,u)),o}},checkTypeofGA:function(){"function"==typeof ga&&(universalGA=!0),"undefined"!=typeof _gaq&&"function"==typeof _gaq.push&&(classicGA=!0),"undefined"!=typeof dataLayer&&"function"==typeof dataLayer.push&&(googleTagManager=!0)}},e}(_inbound||{}),InboundForms=function(e){var t=!1,n=e.Utils,o=[],a=[],r=[],s=e.Settings,l=["first name","last name","name","email","e-mail","phone","website","job title","your favorite food","company","tele","address","comment"];if(e.Forms={init:function(){e.Forms.runFieldMappingFilters(),e.Forms.assignTrackClass(),e.Forms.formTrackInit()},runFieldMappingFilters:function(){l=e.hooks.applyFilters("forms.field_map",l)},debug:function(e,n){if(t&&console){var e=e||!1;e&&"string"==typeof e&&console.log(e),n&&n instanceof Function&&n()}},formTrackInit:function(){for(var e=0;e<window.document.forms.length;e++){var t=!1,n=window.document.forms[e];n.dataset.formProcessed||(n.dataset.formProcessed=!0,t=this.checkTrackStatus(n),t&&(this.attachFormSubmitEvent(n),this.initFormMapping(n)))}},checkTrackStatus:function(t){var n=t.getAttribute("class");return""!==n&&null!==n?n.toLowerCase().indexOf("wpl-track-me")>-1?!0:n.toLowerCase().indexOf("inbound-track")>-1?!0:(cb=function(){console.log(t)},e.deBugger("forms","This form not tracked. Please assign on in settings...",cb),!1):void 0},assignTrackClass:function(){if(window.inbound_settings){if(inbound_settings.inbound_track_include){var t=inbound_settings.inbound_track_include.split(","),n="add selectors "+inbound_settings.inbound_track_include;e.deBugger("forms",n),this.loopClassSelectors(t,"add")}if(inbound_settings.inbound_track_exclude){var t=inbound_settings.inbound_track_exclude.split(","),n="remove selectors "+inbound_settings.inbound_track_exclude;e.deBugger("forms",n),this.loopClassSelectors(t,"remove")}}},loopClassSelectors:function(t,i){for(var o=t.length-1;o>=0;o--){var a=n.trim(t[o]);-1===a.indexOf("#")&&-1===a.indexOf(".")&&(a="#"+a),a=document.querySelector(a),a&&("add"===i?(e.Utils.addClass("wpl-track-me",a),e.Utils.addClass("inbound-track",a)):(e.Utils.removeClass("wpl-track-me",a),e.Utils.removeClass("inbound-track",a)))}},initFormMapping:function(e){for(var t=[],n=0;n<e.elements.length;n++)formInput=e.elements[n],"hidden"!==formInput.type?(this.mapField(formInput),this.rememberInputValues(formInput),s.formAutoPopulation&&this.fillInputValues(formInput)):t.push(formInput);for(var n=t.length-1;n>=0;n--)formInput=t[n],this.mapField(formInput)},mapField:function(t){var a=t.id||!1,r=t.name||!1,s=this.getInputLabel(t);if(s){var u=this.ignoreFieldByLabel(s[0].innerText);if(u)return t.dataset.ignoreFormField=!0,!1}for(i=0;i<l.length;i++){var d=!1,c=l[i],m=n.trim(c),f=m.replace(/ /g,"_");r&&r.toLowerCase().indexOf(m)>-1?(d=!0,e.deBugger("forms","Found matching name attribute for -> "+m)):a&&a.toLowerCase().indexOf(m)>-1?(d=!0,e.deBugger("forms","Found matching ID attribute for ->"+m)):s?s[0].innerText.toLowerCase().indexOf(m)>-1&&(d=!0,e.deBugger("forms","Found matching sibling label for -> "+m)):o.push(m),d&&(this.addDataAttr(t,f),this.removeArrayItem(l,m),i--)}return inbound_data},formListener:function(t){t.preventDefault(),e.Forms.saveFormData(t.target),document.body.style.cursor="wait"},attachFormSubmitEvent:function(e){n.addListener(e,"submit",this.formListener);var t=document.querySelector(".inbound-email");n.addListener(t,"blur",this.mailCheck)},ignoreFieldByLabel:function(t){var n=!1;return t?((-1!=t.toLowerCase().indexOf("credit card")||-1!=t.toLowerCase().indexOf("card number"))&&(n=!0),(-1!=t.toLowerCase().indexOf("expiration")||-1!=t.toLowerCase().indexOf("expiry"))&&(n=!0),("month"==t.toLowerCase()||"mm"==t.toLowerCase()||"yy"==t.toLowerCase()||"yyyy"==t.toLowerCase()||"year"==t.toLowerCase())&&(n=!0),(-1!=t.toLowerCase().indexOf("cvv")||-1!=t.toLowerCase().indexOf("cvc")||-1!=t.toLowerCase().indexOf("secure code")||-1!=t.toLowerCase().indexOf("security code"))&&(n=!0),n&&e.deBugger("forms","ignore "+t),n):!1},ignoreFieldByValue:function(e){var t=!1;if(!e)return!1;("visa"==e.toLowerCase()||"mastercard"==e.toLowerCase()||"american express"==e.toLowerCase()||"amex"==e.toLowerCase()||"discover"==e.toLowerCase())&&(t=!0);var n=new RegExp("/^[0-9]+$/");if(n.test(e)){var i=e.replace(" ","");this.isInt(i)&&i.length>=16&&(t=!0)}return t},isInt:function(e){return"number"==typeof e&&isFinite(e)&&e%1===0},releaseFormSubmit:function(e){document.body.style.cursor="default",n.removeClass("wpl-track-me",e),n.removeListener(e,"submit",this.formListener),e.submit(),setTimeout(function(){for(var t=0;t<e.elements.length;t++)formInput=e.elements[t],type=formInput.type||!1,"submit"===type&&e.elements[t].click()},1300)},saveFormData:function(t){for(var i=i||{},o=0;o<t.elements.length;o++)if(formInput=t.elements[o],multiple=!1,formInput.name){if(formInput.dataset.ignoreFormField){e.deBugger("forms","ignore "+formInput.name);continue}switch(inputName=formInput.name.replace(/\[([^\[]*)\]/g,"%5B%5D$1"),i[inputName]||(i[inputName]={}),formInput.type&&(i[inputName].type=formInput.type),i[inputName].name||(i[inputName].name=formInput.name),formInput.dataset.mapFormField&&(i[inputName].map=formInput.dataset.mapFormField),formInput.nodeName){case"INPUT":if(l=this.getInputValue(formInput),l===!1)continue;break;case"TEXTAREA":l=formInput.value;break;case"SELECT":if(formInput.multiple){values=[],multiple=!0;for(var s=0;s<formInput.length;s++)formInput[s].selected&&values.push(encodeURIComponent(formInput[s].value))}else l=formInput.value;console.log("select val",l)}if(e.deBugger("forms","Input Value = "+l),l){i[inputName].value||(i[inputName].value=[]),i[inputName].value.push(multiple?values.join(","):encodeURIComponent(l));var l=multiple?values.join(","):encodeURIComponent(l)}}e.deBugger("forms",i);for(var u in i){var d=i[u].value,c=i[u].map;if("undefined"!=typeof d&&null!=d&&""!=d&&a.push(u+"="+i[u].value.join(",")),"undefined"!=typeof c&&null!=c&&i[u].value&&(r.push(c+"="+i[u].value.join(",")),"email"===u))var m=i[u].value.join(",")}var f=a.join("&");e.deBugger("forms","Stringified Raw Form PARAMS: "+f);var g=r.join("&");e.deBugger("forms","Stringified Mapped PARAMS"+g);var m=n.getParameterVal("email",g)||n.readCookie("wp_lead_email");m||(m=n.getParameterVal("wpleads_email_address",g));var p=n.getParameterVal("name",g),v=n.getParameterVal("first_name",g),h=n.getParameterVal("last_name",g);if(!h&&v){var _=decodeURI(v).split(" ");_.length>0&&(v=_[0],h=_[1])}if(p&&!h&&!v){var _=decodeURI(p).split(" ");_.length>0&&(v=_[0],h=_[1])}p=v&&h?v+" "+h:p,e.deBugger("forms","fName = "+v),e.deBugger("forms","lName = "+h),e.deBugger("forms","fullName = "+p);var b=e.totalStorage("page_views")||{},y=e.totalStorage("inbound_url_params")||{};if("undefined"!=typeof landing_path_info)var w=landing_path_info.variation;else if("undefined"!=typeof cta_path_info)var w=cta_path_info.variation;else var w=0;var k=inbound_settings.post_type||"page",C=inbound_settings.post_id||0;search_data={},formData={action:"inbound_lead_store",email:m,full_name:p,first_name:v,last_name:h,raw_params:f,mapped_params:g,url_params:JSON.stringify(y),search_data:"test",page_views:JSON.stringify(b),post_type:k,page_id:C,variation:w,source:n.readCookie("inbound_referral_site")},callback=function(i){e.deBugger("forms","Lead Created with ID: "+i),i=parseInt(i,10),formData.leadID=i,i&&(n.createCookie("wp_lead_id",i),e.totalStorage.deleteItem("page_views"),e.totalStorage.deleteItem("tracking_events")),e.trigger("form_after_submission",formData),e.Forms.releaseFormSubmit(t)},e.trigger("form_before_submission",formData),n.ajaxPost(inbound_settings.admin_url,formData,callback)},rememberInputValues:function(t){var i=(t.name?"inbound_"+t.name:"",t.type?t.type:"text");return"submit"===i||"hidden"===i||"file"===i||"password"===i||t.dataset.ignoreFormField?!1:(n.addListener(t,"change",function(t){if(t.target.name){if("checkbox"!==i)var o=t.target.value;else for(var a=[],r=document.querySelectorAll('input[name="'+t.target.name+'"]'),s=0;s<r.length;s++){var l=r[s].checked;l&&a.push(r[s].value),o=a.join(",")}inputData={name:t.target.name,node:t.target.nodeName.toLowerCase(),type:i,value:o,mapping:t.target.dataset.mapFormField},e.trigger("form_input_change",inputData),n.createCookie("inbound_"+t.target.name,encodeURIComponent(o))}}),void 0)},fillInputValues:function(e){var t=e.name?"inbound_"+e.name:"",i=e.type?e.type:"text";if("submit"===i||"hidden"===i||"file"===i||"password"===i)return!1;if(n.readCookie(t)&&"comment"!=t)if(value=decodeURIComponent(n.readCookie(t)),"checkbox"===i||"radio"===i)for(var o=value.split(","),a=0;a<o.length;a++)e.value.indexOf(o[a])>-1&&(e.checked=!0);else"undefined"!==value&&(e.value=value)},getInputLabel:function(e){var t;return(t=this.siblingsIsLabel(e))?t:(t=this.CheckParentForLabel(e))?t:!1},getInputValue:function(e){var t=!1;switch(e.type){case"radio":case"checkbox":e.checked&&(t=e.value);break;case"text":case"hidden":default:t=e.value}return t},addDataAttr:function(e,t){for(var n=document.getElementsByName(e.name),i=n.length-1;i>=0;i--)e.dataset.mapFormField||(n[i].dataset.mapFormField=t)},removeArrayItem:function(e,t){if(e.indexOf)index=e.indexOf(t);else for(index=e.length-1;index>=0&&e[index]!==t;--index);index>=0&&e.splice(index,1)},siblingsIsLabel:function(e){for(var t=this.getSiblings(e),n=[],i=t.length-1;i>=0;i--)"label"===t[i].nodeName.toLowerCase()&&n.push(t[i]);return n.length>0&&n.length<2?n:!1},getChildren:function(e,t){for(var n=[];e;e=e.nextSibling)1==e.nodeType&&e!=t&&n.push(e);return n},getSiblings:function(e){return this.getChildren(e.parentNode.firstChild,e)},CheckParentForLabel:function(e){if("FORM"===e.nodeName)return null;do{var t=e.getElementsByTagName("label");if(t.length>0&&t.length<2)return e.getElementsByTagName("label")}while(e=e.parentNode);return null},mailCheck:function(){var e=document.querySelector(".inbound-email");e&&(n.addListener(e,"blur",this.mailCheck),u.run({email:document.querySelector(".inbound-email").value,suggested:function(t){var i=document.querySelector(".email_suggestion");i&&n.removeElement(i);var o=document.createElement("span");o.innerHTML="<span class=\"email_suggestion\">Did you mean <b><i id='email_correction' style='cursor: pointer;' title=\"click to update\">"+t.full+"</b></i>?</span>",e.parentNode.insertBefore(o,e.nextSibling);var a=document.getElementById("email_correction");n.addListener(a,"click",function(){e.value=a.innerHTML,a.parentNode.parentNode.innerHTML="Fixed!"})},empty:function(){}}))}},"undefined"==typeof u)var u={domainThreshold:1,topLevelThreshold:3,defaultDomains:["yahoo.com","google.com","hotmail.com","gmail.com","me.com","aol.com","mac.com","live.com","comcast.net","googlemail.com","msn.com","hotmail.co.uk","yahoo.co.uk","facebook.com","verizon.net","sbcglobal.net","att.net","gmx.com","mail.com","outlook.com","icloud.com"],defaultTopLevelDomains:["co.jp","co.uk","com","net","org","info","edu","gov","mil","ca"],run:function(e){e.domains=e.domains||u.defaultDomains,e.topLevelDomains=e.topLevelDomains||u.defaultTopLevelDomains,e.distanceFunction=e.distanceFunction||u.sift3Distance;var t=function(e){return e},n=e.suggested||t,i=e.empty||t,o=u.suggest(u.encodeEmail(e.email),e.domains,e.topLevelDomains,e.distanceFunction);return o?n(o):i()},suggest:function(e,t,n,i){e=e.toLowerCase();var o=this.splitEmail(e),a=this.findClosestDomain(o.domain,t,i,this.domainThreshold);if(a){if(a!=o.domain)return{address:o.address,domain:a,full:o.address+"@"+a}}else{var r=this.findClosestDomain(o.topLevelDomain,n,i,this.topLevelThreshold);if(o.domain&&r&&r!=o.topLevelDomain){var s=o.domain;return a=s.substring(0,s.lastIndexOf(o.topLevelDomain))+r,{address:o.address,domain:a,full:o.address+"@"+a}}}return!1},findClosestDomain:function(e,t,n,i){i=i||this.topLevelThreshold;var o,a=99,r=null;if(!e||!t)return!1;n||(n=this.sift3Distance);for(var s=0;s<t.length;s++){if(e===t[s])return e;o=n(e,t[s]),a>o&&(a=o,r=t[s])}return i>=a&&null!==r?r:!1},sift3Distance:function(e,t){if(null==e||0===e.length)return null==t||0===t.length?0:t.length;if(null==t||0===t.length)return e.length;for(var n=0,i=0,o=0,a=0,r=5;n+i<e.length&&n+o<t.length;){if(e.charAt(n+i)==t.charAt(n+o))a++;else{i=0,o=0;for(var s=0;r>s;s++){if(n+s<e.length&&e.charAt(n+s)==t.charAt(n)){i=s;break}if(n+s<t.length&&e.charAt(n)==t.charAt(n+s)){o=s;break}}}n++}return(e.length+t.length)/2-a},splitEmail:function(e){var t=e.trim().split("@");if(t.length<2)return!1;for(var n=0;n<t.length;n++)if(""===t[n])return!1;var i=t.pop(),o=i.split("."),a="";if(0==o.length)return!1;if(1==o.length)a=o[0];else{for(var n=1;n<o.length;n++)a+=o[n]+".";o.length>=2&&(a=a.substring(0,a.length-1))}return{topLevelDomain:a,domain:i,address:t.join("@")}},encodeEmail:function(e){var t=encodeURI(e);return t=t.replace("%20"," ").replace("%25","%").replace("%5E","^").replace("%60","`").replace("%7B","{").replace("%7C","|").replace("%7D","}")}};return e}(_inbound||{}),_inboundEvents=function(e){function t(t,i,o){var i=i||{};o=o||{},o.bubbles=o.bubbles||!0,o.cancelable=o.cancelable||!0,i=e.apply_filters("filter_"+t,i);var a=!window.ActiveXObject&&"ActiveXObject"in window;if(a){var r=document.createEvent("Event");r.initEvent(t,!0,!0)}else var r=new CustomEvent(t,{detail:i,bubbles:o.bubbles,cancelable:o.cancelable});window.dispatchEvent(r),e.do_action(t,i),n(t,i)}function n(e,t){if(window.jQuery){var t=t||{};jQuery(document).trigger(e,t)}}e.trigger=function(t,n){e.Events[t](n)};return e.Events={analytics_ready:function(){var e={opt1:!0},n={data:"xyxy"};t("analytics_ready",n,e)},url_parameters:function(e){t("url_parameters",e)},session_start:function(){console.log(""),t("session_start")},session_end:function(e){t("session_end",e),console.log("Session End")},session_active:function(){t("session_active")},session_idle:function(e){t("session_idle",e)},session_resume:function(){t("session_resume")},session_heartbeat:function(e){var n={clock:e,leadData:InboundLeadData};t("session_heartbeat",n)},page_visit:function(e){t("page_view",e)},page_first_visit:function(){t("page_first_visit"),e.deBugger("pages","First Ever Page View of this Page")},page_revisit:function(n){t("page_revisit",n);var i=function(){console.log("pageData",n),console.log("Page Revisit viewed "+n+" times")};e.deBugger("pages",status,i)},tab_hidden:function(){e.deBugger("pages","Tab Hidden"),t("tab_hidden")},tab_visible:function(){e.deBugger("pages","Tab Visible"),t("tab_visible")},tab_mouseout:function(){e.deBugger("pages","Tab Mouseout"),t("tab_mouseout")},form_input_change:function(n){var i=function(){console.log(n)};e.deBugger("forms","inputData change. Data=",i),t("form_input_change",n)},form_before_submission:function(e){t("form_before_submission",e)},form_after_submission:function(e){t("form_after_submission",e)},analyticsError:function(e,t,n){var i=new CustomEvent("inbound_analytics_error",{detail:{MLHttpRequest:e,textStatus:t,errorThrown:n}});window.dispatchEvent(i),console.log("Page Save Error")}},e}(_inbound||{}),InboundTotalStorage=function(e){var t,n,i="_inbound";if("localStorage"in window)try{n="undefined"==typeof window.localStorage?void 0:window.localStorage,t="undefined"==typeof n||"undefined"==typeof window.JSON?!1:!0,window.localStorage.setItem(i,"1"),window.localStorage.removeItem(i)}catch(o){t=!1}e.totalStorage=function(t,n){return e.totalStorage.impl.init(t,n)},e.totalStorage.setItem=function(t,n){return e.totalStorage.impl.setItem(t,n)},e.totalStorage.getItem=function(t){return e.totalStorage.impl.getItem(t)},e.totalStorage.getAll=function(){return e.totalStorage.impl.getAll()},e.totalStorage.deleteItem=function(t){return e.totalStorage.impl.deleteItem(t)},e.totalStorage.impl={init:function(e,t){return"undefined"!=typeof t?this.setItem(e,t):this.getItem(e)},setItem:function(i,o){if(!t)try{return e.Utils.createCookie(i,o),o}catch(a){console.log("Local Storage not supported by this browser. Install the cookie plugin on your site to take advantage of the same functionality. You can get it at https://github.com/carhartl/jquery-cookie")}var r=JSON.stringify(o);return n.setItem(i,r),this.parseResult(r)},getItem:function(i){if(!t)try{return this.parseResult(e.Utils.readCookie(i))}catch(o){return null}var a=n.getItem(i);return this.parseResult(a)},deleteItem:function(i){if(!t)try{return e.Utils.eraseCookie(i,null),!0}catch(o){return!1}return n.removeItem(i),!0},getAll:function(){var i=[];if(t)for(var o in n)o.length&&i.push({key:o,value:this.parseResult(n.getItem(o))});else try{for(var a=document.cookie.split(";"),r=0;r<a.length;r++){var s=a[r].split("="),l=s[0];i.push({key:l,value:this.parseResult(e.Utils.readCookie(l))})}}catch(u){return null}return i},parseResult:function(e){var t;try{t=JSON.parse(e),"undefined"==typeof t&&(t=e),"true"==t&&(t=!0),"false"==t&&(t=!1),parseFloat(t)==t&&"object"!=typeof t&&(t=parseFloat(t))}catch(n){t=e}return t}}}(_inbound||{}),_inboundLeadsAPI=function(e){return e.LeadsAPI={init:function(){var t=e.Utils,n=(t.readCookie("wp_lead_uid"),t.readCookie("wp_lead_id")),i=t.readCookie("lead_session_expire");i||(e.deBugger("leads","expired vistor. Run Processes"),n&&(e.LeadsAPI.getAllLeadData(),e.LeadsAPI.getLeadLists()))},setGlobalLeadData:function(e){InboundLeadData=e},getAllLeadData:function(){var t=e.Utils.readCookie("wp_lead_id"),n=e.totalStorage("inbound_lead_data"),i=e.Utils.readCookie("lead_data_expire");data={action:"inbound_get_all_lead_data",wp_lead_id:t},success=function(t){var n=JSON.parse(t);e.LeadsAPI.setGlobalLeadData(n),e.totalStorage("inbound_lead_data",n);var i=new Date;i.setTime(i.getTime()+18e5);var o=e.Utils.addDays(i,3);e.Utils.createCookie("lead_data_expire",!0,o)},n?(e.LeadsAPI.setGlobalLeadData(n),e.deBugger("lead","Set Global Lead Data from Localstorage"),i||(e.Utils.ajaxPost(inbound_settings.admin_url,data,success),e.deBugger("lead","localized data old. Pull new from DB"))):e.Utils.ajaxPost(inbound_settings.admin_url,data,success)},getLeadLists:function(){var t=e.Utils.readCookie("wp_lead_id"),n={action:"wpl_check_lists",wp_lead_id:t},i=function(){e.Utils.createCookie("lead_session_list_check",!0,{path:"/",expires:1}),e.deBugger("lead","Lists checked")};e.Utils.ajaxPost(inbound_settings.admin_url,n,i)}},e}(_inbound||{}),_inboundPageTracking=function(e){var t,n,i=!1,o=!1,a=!1,r=parseInt(e.Utils.readCookie("lead_session"),10)||0,s=0,l=(new Date,null),u=null,d=null,c=e.Utils,m=e.totalStorage("page_views")||{},f=e.Utils.GetDate(),g=inbound_settings.post_id||window.location.pathname,p=e.Settings.timeout||3e4;return e.PageTracking={init:function(i){this.CheckTimeOut(),i=i||{},t=parseInt(i.reportInterval,10)||10,n=parseInt(i.idleTimeout,10)||3,c.addListener(document,"keydown",c.throttle(e.PageTracking.pingSession,1e3)),c.addListener(document,"click",c.throttle(e.PageTracking.pingSession,1e3)),c.addListener(window,"mousemove",c.throttle(e.PageTracking.pingSession,1e3)),e.PageTracking.checkVisibility(),this.startSession()},setIdle:function(t){var t=t||"No Movement",n="Session IDLE. Activity Timeout due to "+t;e.deBugger("pages",n),clearTimeout(e.PageTracking.idleTimer),e.PageTracking.stopClock(),e.trigger("session_idle")},checkVisibility:function(){var t,n,i;"undefined"!=typeof document.hidden?(t="hidden",i="visibilitychange",n="visibilityState"):"undefined"!=typeof document.mozHidden?(t="mozHidden",i="mozvisibilitychange",n="mozVisibilityState"):"undefined"!=typeof document.msHidden?(t="msHidden",i="msvisibilitychange",n="msVisibilityState"):"undefined"!=typeof document.webkitHidden&&(t="webkitHidden",i="webkitvisibilitychange",n="webkitVisibilityState");var o=document[t];e.Utils.addListener(document,i,function(){o!=document[t]&&(document[t]?(e.trigger("tab_hidden"),e.PageTracking.setIdle("browser tab switch")):(e.trigger("tab_visible"),e.PageTracking.pingSession()),o=document[t])})},clock:function(){r+=1;var n=r/60,i="Total time spent on Page in this Session: "+n.toFixed(2)+" min";if(e.deBugger("pages",i),r>0&&r%t===0){var o=new Date;o.setTime(o.getTime()+18e5),c.createCookie("lead_session",r,o),e.trigger("session_heartbeat",r)}},inactiveClock:function(){s+=1;var t=(1800-s)/60,n="Time until Session Timeout: "+t.toFixed(2)+" min";e.deBugger("pages",n),s>1800&&(e.trigger("session_end",InboundLeadData),e.Utils.eraseCookie("lead_session"),s=0,clearTimeout(u))},stopClock:function(){o=!0,clearTimeout(l),clearTimeout(u),u=setInterval(e.PageTracking.inactiveClock,1e3)},restartClock:function(){o=!1,e.trigger("session_resume"),e.deBugger("pages","Activity resumed. Session Active"),clearTimeout(l),s=0,clearTimeout(u),l=setInterval(e.PageTracking.clock,1e3)
|
3 |
-
},turnOff:function(){e.PageTracking.setIdle(),a=!0},turnOn:function(){a=!1},startSession:function(){new Date;i=!0,l=setInterval(e.PageTracking.clock,1e3);var t=c.readCookie("lead_session");if(t)e.trigger("session_active");else{e.trigger("session_start");var n=new Date;n.setTime(n.getTime()+18e5),e.Utils.createCookie("lead_session",1,n)}this.pingSession()},resetInactiveFunc:function(){s=0,clearTimeout(u)},pingSession:function(t){a||(i||e.PageTracking.startSession(),o&&e.PageTracking.restartClock(),clearTimeout(d),d=setTimeout(e.PageTracking.setIdle,1e3*n+100),"undefined"!=typeof t&&"mousemove"===t.type&&e.PageTracking.mouseEvents(t))},mouseEvents:function(t){t.pageY<=5&&e.trigger("tab_mouseout")},getPageViews:function(){var t=e.Utils.checkLocalStorage();if(t){var n=localStorage.getItem("page_views"),i=JSON.parse(n);return i}},isRevisit:function(e){var t=!1,e=e||{},n=e[g];return"undefined"!=typeof n&&null!==n&&(t=!0),t},triggerPageView:function(t){var n={title:document.title,url:document.location.href,path:document.location.pathname,count:1};t?(m[g].push(f),n.count=m[g].length,e.trigger("page_revisit",n)):(m[g]=[],m[g].push(f),e.trigger("page_first_visit",n)),e.trigger("page_visit",n),e.totalStorage("page_views",m),this.storePageView()},CheckTimeOut:function(){var t,n,i=this.isRevisit(m);if(i){var o=m[g].length-1,a=m[g][o],r=Math.abs(new Date(a).getTime()-new Date(f).getTime());n=r>p,n?(t="Timeout Happened. Page view fired",this.triggerPageView(i)):(time_left=.001*Math.abs(p-r),t=p/1e3+" sec timeout not done: "+time_left+" seconds left")}else this.triggerPageView(i);e.deBugger("pages",t)},storePageView:function(){var t=e.Utils.readCookie("wp_lead_id"),n=e.Utils.readCookie("wp_lead_uid");if(t){var i={action:"wpl_track_user",wp_lead_uid:n,wp_lead_id:t,page_id:inbound_settings.post_id,current_url:window.location.href,json:"0"},o=function(){};e.Utils.ajaxPost(inbound_settings.admin_url,i,o)}}},e}(_inbound||{});_inbound.init(),InboundLeadData=_inbound.totalStorage("inbound_lead_data")||null;
|
|
|
|
|
|
shared/assets/frontend/js/form-population.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
function wpl_remember_inputs( selector ){
|
2 |
jQuery(selector).each(
|
3 |
function(){
|
4 |
//if this item has been cookied, restore it
|
5 |
var name = jQuery(this).attr('name');
|
6 |
if( jQuery.cookie( name ) ){
|
7 |
jQuery(this).val( jQuery.cookie(name) );
|
8 |
}
|
9 |
//assign a change function to the item to cookie it
|
10 |
jQuery(this).change(
|
11 |
function(){
|
12 |
jQuery.cookie(name, jQuery(this).val(), { path: '/', expires: 365 });
|
13 |
}
|
14 |
);
|
15 |
}
|
16 |
);
|
17 |
jQuery(selector).each(
|
18 |
function(){
|
19 |
var form_name = jQuery(this).attr('name');
|
20 |
var form_id = jQuery(this).attr('id');
|
21 |
var form_class = jQuery(this).attr('class');
|
22 |
if(typeof(form_name) != "undefined" && form_name !== null) {
|
23 |
jQuery.cookie("wp_cta_form_uid", form_name, { path: '/', expires: 365 });
|
24 |
}
|
25 |
else if(typeof(form_id) != "undefined" && form_id !== null) {
|
26 |
jQuery.cookie("wp_cta_form_uid", form_id, { path: '/', expires: 365 });
|
27 |
}
|
28 |
else if (typeof(form_class) != "undefined" && form_class !== null) {
|
29 |
jQuery.cookie("wp_cta_form_uid", form_class, { path: '/', expires: 365 });
|
30 |
} else {
|
31 |
jQuery.cookie("wp_cta_form_uid", 'form_generic', { path: '/', expires: 365 });
|
32 |
}
|
33 |
}
|
34 |
);
|
35 |
// Fill Form Inputs from Cookies
|
36 |
});
|
|
|
0 |
jQuery(selector).each(
|
1 |
function(){
|
2 |
//if this item has been cookied, restore it
|
3 |
var name = jQuery(this).attr('name');
|
4 |
if( jQuery.cookie( name ) ){
|
5 |
jQuery(this).val( jQuery.cookie(name) );
|
6 |
}
|
7 |
//assign a change function to the item to cookie it
|
8 |
jQuery(this).change(
|
9 |
function(){
|
10 |
jQuery.cookie(name, jQuery(this).val(), { path: '/', expires: 365 });
|
11 |
}
|
12 |
);
|
13 |
}
|
14 |
);
|
15 |
jQuery(selector).each(
|
16 |
function(){
|
17 |
var form_name = jQuery(this).attr('name');
|
18 |
var form_id = jQuery(this).attr('id');
|
19 |
var form_class = jQuery(this).attr('class');
|
20 |
if(typeof(form_name) != "undefined" && form_name !== null) {
|
21 |
jQuery.cookie("wp_cta_form_uid", form_name, { path: '/', expires: 365 });
|
22 |
}
|
23 |
else if(typeof(form_id) != "undefined" && form_id !== null) {
|
24 |
jQuery.cookie("wp_cta_form_uid", form_id, { path: '/', expires: 365 });
|
25 |
}
|
26 |
else if (typeof(form_class) != "undefined" && form_class !== null) {
|
27 |
jQuery.cookie("wp_cta_form_uid", form_class, { path: '/', expires: 365 });
|
28 |
} else {
|
29 |
jQuery.cookie("wp_cta_form_uid", 'form_generic', { path: '/', expires: 365 });
|
30 |
}
|
31 |
}
|
32 |
);
|
33 |
// Fill Form Inputs from Cookies
|
34 |
});
|
shared/assets/frontend/js/inbound.js
DELETED
@@ -1,839 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Lead Tracking JS
|
3 |
-
* http://www.inboundnow.com
|
4 |
-
*/
|
5 |
-
var InboundAnalytics = (function () {
|
6 |
-
|
7 |
-
var debugMode = false;
|
8 |
-
|
9 |
-
var _privateMethod = function () {
|
10 |
-
console.log('Run private');
|
11 |
-
};
|
12 |
-
|
13 |
-
var App = {
|
14 |
-
init: function () {
|
15 |
-
this.polyFills();
|
16 |
-
InboundAnalytics.PageTracking.StorePageView();
|
17 |
-
InboundAnalytics.Events.loadEvents();
|
18 |
-
InboundAnalytics.Utils.init();
|
19 |
-
},
|
20 |
-
polyFills: function() {
|
21 |
-
/* Console.log fix for old browsers */
|
22 |
-
if (!window.console) { window.console = {}; }
|
23 |
-
var m = [
|
24 |
-
"log", "info", "warn", "error", "debug", "trace", "dir", "group",
|
25 |
-
"groupCollapsed", "groupEnd", "time", "timeEnd", "profile", "profileEnd",
|
26 |
-
"dirxml", "assert", "count", "markTimeline", "timeStamp", "clear"
|
27 |
-
];
|
28 |
-
// define undefined methods as noops to prevent errors
|
29 |
-
for (var i = 0; i < m.length; i++) {
|
30 |
-
if (!window.console[m[i]]) {
|
31 |
-
window.console[m[i]] = function() {};
|
32 |
-
}
|
33 |
-
}
|
34 |
-
},
|
35 |
-
/* Debugger Function toggled by var debugMode */
|
36 |
-
debug: function(msg,callback){
|
37 |
-
//if app not in debug mode, exit immediately
|
38 |
-
if(!debugMode || !console){return};
|
39 |
-
var msg = msg || false;
|
40 |
-
//console.log the message
|
41 |
-
if(msg && (typeof msg === 'string')){console.log(msg)};
|
42 |
-
|
43 |
-
//execute the callback if one was passed-in
|
44 |
-
if(callback && (callback instanceof Function)){
|
45 |
-
callback();
|
46 |
-
};
|
47 |
-
}
|
48 |
-
};
|
49 |
-
|
50 |
-
return App;
|
51 |
-
|
52 |
-
})();
|
53 |
-
|
54 |
-
|
55 |
-
/**
|
56 |
-
* Utility functions
|
57 |
-
* @param Object InboundAnalytics - Main JS object
|
58 |
-
* @return Object - include util functions
|
59 |
-
*/
|
60 |
-
var InboundAnalyticsUtils = (function (InboundAnalytics) {
|
61 |
-
|
62 |
-
InboundAnalytics.Utils = {
|
63 |
-
init: function() {
|
64 |
-
this.setUrlParams();
|
65 |
-
this.SetUID();
|
66 |
-
this.getReferer();
|
67 |
-
|
68 |
-
},
|
69 |
-
// Create cookie
|
70 |
-
createCookie: function(name, value, days, custom_time) {
|
71 |
-
var expires = "";
|
72 |
-
if (days) {
|
73 |
-
var date = new Date();
|
74 |
-
date.setTime(date.getTime()+(days*24*60*60*1000));
|
75 |
-
expires = "; expires="+date.toGMTString();
|
76 |
-
}
|
77 |
-
if(custom_time){
|
78 |
-
expires = "; expires="+days.toGMTString();
|
79 |
-
}
|
80 |
-
document.cookie = name+"="+value+expires+"; path=/";
|
81 |
-
},
|
82 |
-
// Read cookie
|
83 |
-
readCookie: function(name) {
|
84 |
-
var nameEQ = name + "=";
|
85 |
-
var ca = document.cookie.split(';');
|
86 |
-
for(var i=0;i < ca.length;i++) {
|
87 |
-
var c = ca[i];
|
88 |
-
while (c.charAt(0) === ' ') {
|
89 |
-
c = c.substring(1,c.length);
|
90 |
-
}
|
91 |
-
if (c.indexOf(nameEQ) === 0) {
|
92 |
-
return c.substring(nameEQ.length,c.length);
|
93 |
-
}
|
94 |
-
}
|
95 |
-
return null;
|
96 |
-
},
|
97 |
-
// Erase cookie
|
98 |
-
eraseCookie: function(name) {
|
99 |
-
createCookie(name,"",-1);
|
100 |
-
},
|
101 |
-
getAllCookies: function(){
|
102 |
-
var cookies = {};
|
103 |
-
if (document.cookie && document.cookie != '') {
|
104 |
-
var split = document.cookie.split(';');
|
105 |
-
for (var i = 0; i < split.length; i++) {
|
106 |
-
var name_value = split[i].split("=");
|
107 |
-
name_value[0] = name_value[0].replace(/^ /, '');
|
108 |
-
cookies[decodeURIComponent(name_value[0])] = decodeURIComponent(name_value[1]);
|
109 |
-
}
|
110 |
-
}
|
111 |
-
jQuery.totalStorage('inbound_cookies', cookies); // store cookie data
|
112 |
-
return cookies;
|
113 |
-
},
|
114 |
-
/* Grab URL params and save */
|
115 |
-
setUrlParams: function() {
|
116 |
-
var urlParams = {},
|
117 |
-
local_store = InboundAnalytics.Utils.checkLocalStorage();
|
118 |
-
|
119 |
-
(function () {
|
120 |
-
var e,
|
121 |
-
d = function (s) { return decodeURIComponent(s).replace(/\+/g, " "); },
|
122 |
-
q = window.location.search.substring(1),
|
123 |
-
r = /([^&=]+)=?([^&]*)/g;
|
124 |
-
|
125 |
-
while (e = r.exec(q)) {
|
126 |
-
if (e[1].indexOf("[") == "-1")
|
127 |
-
urlParams[d(e[1])] = d(e[2]);
|
128 |
-
else {
|
129 |
-
var b1 = e[1].indexOf("["),
|
130 |
-
aN = e[1].slice(b1+1, e[1].indexOf("]", b1)),
|
131 |
-
pN = d(e[1].slice(0, b1));
|
132 |
-
|
133 |
-
if (typeof urlParams[pN] != "object")
|
134 |
-
urlParams[d(pN)] = {},
|
135 |
-
urlParams[d(pN)].length = 0;
|
136 |
-
|
137 |
-
if (aN)
|
138 |
-
urlParams[d(pN)][d(aN)] = d(e[2]);
|
139 |
-
else
|
140 |
-
Array.prototype.push.call(urlParams[d(pN)], d(e[2]));
|
141 |
-
|
142 |
-
}
|
143 |
-
}
|
144 |
-
})();
|
145 |
-
|
146 |
-
if (JSON) {
|
147 |
-
for (var k in urlParams) {
|
148 |
-
if (typeof urlParams[k] == "object") {
|
149 |
-
for (var k2 in urlParams[k])
|
150 |
-
this.createCookie(k2, urlParams[k][k2], 30);
|
151 |
-
} else {
|
152 |
-
this.createCookie(k, urlParams[k], 30);
|
153 |
-
}
|
154 |
-
}
|
155 |
-
}
|
156 |
-
|
157 |
-
if(local_store){
|
158 |
-
var pastParams = jQuery.totalStorage('inbound_url_params');
|
159 |
-
var params = this.mergeObjs(pastParams, urlParams);
|
160 |
-
jQuery.totalStorage('inbound_url_params', params); // store cookie data
|
161 |
-
}
|
162 |
-
},
|
163 |
-
getUrlParams: function(){
|
164 |
-
var local_store = this.checkLocalStorage(),
|
165 |
-
get_params = {};
|
166 |
-
if(local_store){
|
167 |
-
var get_params = jQuery.totalStorage('inbound_url_params');
|
168 |
-
}
|
169 |
-
return get_params;
|
170 |
-
},
|
171 |
-
// Check local storage
|
172 |
-
// provate browsing safari fix https://github.com/marcuswestin/store.js/issues/42#issuecomment-25274685
|
173 |
-
checkLocalStorage: function() {
|
174 |
-
if ('localStorage' in window) {
|
175 |
-
try {
|
176 |
-
ls = (typeof window.localStorage === 'undefined') ? undefined : window.localStorage;
|
177 |
-
if (typeof ls == 'undefined' || typeof window.JSON == 'undefined'){
|
178 |
-
supported = false;
|
179 |
-
} else {
|
180 |
-
supported = true;
|
181 |
-
}
|
182 |
-
|
183 |
-
}
|
184 |
-
catch (err){
|
185 |
-
supported = false;
|
186 |
-
}
|
187 |
-
}
|
188 |
-
return supported;
|
189 |
-
/* http://spin.atomicobject.com/2013/01/23/ios-private-browsing-localstorage/
|
190 |
-
var hasStorage;
|
191 |
-
hasStorage = function() {
|
192 |
-
var mod, result;
|
193 |
-
try {
|
194 |
-
mod = new Date;
|
195 |
-
localStorage.setItem(mod, mod.toString());
|
196 |
-
result = localStorage.getItem(mod) === mod.toString();
|
197 |
-
localStorage.removeItem(mod);
|
198 |
-
return result;
|
199 |
-
} catch (_error) {}
|
200 |
-
};
|
201 |
-
*/
|
202 |
-
},
|
203 |
-
/* Add days to datetime */
|
204 |
-
addDays: function(myDate,days) {
|
205 |
-
return new Date(myDate.getTime() + days*24*60*60*1000);
|
206 |
-
},
|
207 |
-
GetDate: function(){
|
208 |
-
var time_now = new Date(),
|
209 |
-
day = time_now.getDate() + 1;
|
210 |
-
year = time_now.getFullYear(),
|
211 |
-
hour = time_now.getHours(),
|
212 |
-
minutes = time_now.getMinutes(),
|
213 |
-
seconds = time_now.getSeconds(),
|
214 |
-
month = time_now.getMonth() + 1;
|
215 |
-
if (month < 10) { month = '0' + month; }
|
216 |
-
InboundAnalytics.debug('Current Date:',function(){
|
217 |
-
console.log(year + '/' + month + "/" + day + " " + hour + ":" + minutes + ":" + seconds);
|
218 |
-
});
|
219 |
-
var datetime = year + '/' + month + "/" + day + " " + hour + ":" + minutes + ":" + seconds;
|
220 |
-
return datetime;
|
221 |
-
},
|
222 |
-
/* Set Expiration Date of Session Logging */
|
223 |
-
SetSessionTimeout: function(){
|
224 |
-
var session_check = this.readCookie("lead_session_expire");
|
225 |
-
//console.log(session_check);
|
226 |
-
if(session_check === null){
|
227 |
-
InboundAnalytics.Events.sessionStart(); // trigger 'inbound_analytics_session_start'
|
228 |
-
} else {
|
229 |
-
InboundAnalytics.Events.sessionActive(); // trigger 'inbound_analytics_session_active'
|
230 |
-
}
|
231 |
-
var d = new Date();
|
232 |
-
d.setTime(d.getTime() + 30*60*1000);
|
233 |
-
|
234 |
-
this.createCookie("lead_session_expire", true, d, true); // Set cookie on page loads
|
235 |
-
var lead_data_expiration = this.readCookie("lead_data_expiration");
|
236 |
-
if (lead_data_expiration === null){
|
237 |
-
/* Set 3 day timeout for checking DB for new lead data for Lead_Global var */
|
238 |
-
var ex = this.addDays(d, 3);
|
239 |
-
this.createCookie("lead_data_expiration", ex, ex, true);
|
240 |
-
}
|
241 |
-
|
242 |
-
},
|
243 |
-
getReferer: function(){
|
244 |
-
//console.log(expire_time);
|
245 |
-
var d = new Date();
|
246 |
-
d.setTime(d.getTime() + 30*60*1000);
|
247 |
-
var referrer_cookie = InboundAnalytics.Utils.readCookie("wp_lead_referral_site");
|
248 |
-
if (typeof (referrer_cookie) === "undefined" || referrer_cookie === null || referrer_cookie === "") {
|
249 |
-
var referrer = document.referrer || "NA";
|
250 |
-
this.createCookie("wp_lead_referral_site", referrer, d, true); // Set cookie on page loads
|
251 |
-
}
|
252 |
-
},
|
253 |
-
CreateUID: function(length) {
|
254 |
-
var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz'.split(''),
|
255 |
-
str = '';
|
256 |
-
if (! length) {
|
257 |
-
length = Math.floor(Math.random() * chars.length);
|
258 |
-
}
|
259 |
-
for (var i = 0; i < length; i++) {
|
260 |
-
str += chars[Math.floor(Math.random() * chars.length)];
|
261 |
-
}
|
262 |
-
return str;
|
263 |
-
},
|
264 |
-
SetUID: function () {
|
265 |
-
/* Set Lead UID */
|
266 |
-
|
267 |
-
if(this.readCookie("wp_lead_uid") === null) {
|
268 |
-
var wp_lead_uid = this.CreateUID(35);
|
269 |
-
this.createCookie("wp_lead_uid", wp_lead_uid );
|
270 |
-
InboundAnalytics.debug('Set UID');
|
271 |
-
}
|
272 |
-
},
|
273 |
-
/* Count number of session visits */
|
274 |
-
countProperties: function (obj) {
|
275 |
-
var count = 0;
|
276 |
-
for(var prop in obj) {
|
277 |
-
if(obj.hasOwnProperty(prop))
|
278 |
-
++count;
|
279 |
-
}
|
280 |
-
return count;
|
281 |
-
},
|
282 |
-
mergeObjs: function(obj1,obj2){
|
283 |
-
var obj3 = {};
|
284 |
-
for (var attrname in obj1) { obj3[attrname] = obj1[attrname]; }
|
285 |
-
for (var attrname in obj2) { obj3[attrname] = obj2[attrname]; }
|
286 |
-
return obj3;
|
287 |
-
},
|
288 |
-
doAjax: function(data, responseHandler, method, async){
|
289 |
-
// Set the variables
|
290 |
-
var url = wplft.admin_url || "",
|
291 |
-
method = method || "POST",
|
292 |
-
async = async || true,
|
293 |
-
data = data || null,
|
294 |
-
action = data.action;
|
295 |
-
|
296 |
-
InboundAnalytics.debug('Ajax Processed:',function(){
|
297 |
-
console.log('ran ajax action: ' + action);
|
298 |
-
});
|
299 |
-
|
300 |
-
jQuery.ajax({
|
301 |
-
type: method,
|
302 |
-
url: wplft.admin_url,
|
303 |
-
data: data,
|
304 |
-
success: responseHandler,
|
305 |
-
error: function(MLHttpRequest, textStatus, errorThrown){
|
306 |
-
console.log(MLHttpRequest+' '+errorThrown+' '+textStatus);
|
307 |
-
InboundAnalytics.Events.analyticsError(MLHttpRequest, textStatus, errorThrown);
|
308 |
-
}
|
309 |
-
|
310 |
-
});
|
311 |
-
},
|
312 |
-
/* Cross-browser event listening */
|
313 |
-
addListener: function(obj, eventName, listener) {
|
314 |
-
if(obj.addEventListener) {
|
315 |
-
obj.addEventListener(eventName, listener, false);
|
316 |
-
} else if (obj.attachEvent) {
|
317 |
-
obj.attachEvent("on" + eventName, listener);
|
318 |
-
} else {
|
319 |
-
obj['on' + eventName] = listener;
|
320 |
-
}
|
321 |
-
}
|
322 |
-
|
323 |
-
};
|
324 |
-
|
325 |
-
return InboundAnalytics;
|
326 |
-
|
327 |
-
})(InboundAnalytics || {});
|
328 |
-
|
329 |
-
|
330 |
-
var InboundAnalyticsPageTracking = (function (InboundAnalytics) {
|
331 |
-
|
332 |
-
InboundAnalytics.PageTracking = {
|
333 |
-
|
334 |
-
getPageViews: function () {
|
335 |
-
var local_store = InboundAnalytics.Utils.checkLocalStorage();
|
336 |
-
if(local_store){
|
337 |
-
var page_views = localStorage.getItem("page_views"),
|
338 |
-
local_object = JSON.parse(page_views);
|
339 |
-
if (typeof local_object =='object' && local_object) {
|
340 |
-
this.StorePageView();
|
341 |
-
}
|
342 |
-
return local_object;
|
343 |
-
}
|
344 |
-
},
|
345 |
-
StorePageView: function() {
|
346 |
-
var timeout = this.CheckTimeOut();
|
347 |
-
var pageviewObj = jQuery.totalStorage('page_views');
|
348 |
-
if(pageviewObj === null) {
|
349 |
-
pageviewObj = {};
|
350 |
-
}
|
351 |
-
var current_page_id = wplft.post_id;
|
352 |
-
var datetime = InboundAnalytics.Utils.GetDate();
|
353 |
-
|
354 |
-
if (timeout) {
|
355 |
-
// If pageviewObj exists, do this
|
356 |
-
var page_seen = pageviewObj[current_page_id];
|
357 |
-
|
358 |
-
if(typeof(page_seen) != "undefined" && page_seen !== null) {
|
359 |
-
pageviewObj[current_page_id].push(datetime);
|
360 |
-
/* Page Revisit Trigger */
|
361 |
-
var page_seen_count = pageviewObj[current_page_id].length;
|
362 |
-
InboundAnalytics.Events.pageRevisit(page_seen_count);
|
363 |
-
|
364 |
-
} else {
|
365 |
-
pageviewObj[current_page_id] = [];
|
366 |
-
pageviewObj[current_page_id].push(datetime);
|
367 |
-
/* Page First Seen Trigger */
|
368 |
-
var page_seen_count = 1;
|
369 |
-
InboundAnalytics.Events.pageFirstView(page_seen_count);
|
370 |
-
}
|
371 |
-
|
372 |
-
jQuery.totalStorage('page_views', pageviewObj);
|
373 |
-
|
374 |
-
}
|
375 |
-
},
|
376 |
-
CheckTimeOut: function() {
|
377 |
-
var PageViews = jQuery.totalStorage('page_views');
|
378 |
-
if(PageViews === null) {
|
379 |
-
var PageViews = {};
|
380 |
-
}
|
381 |
-
var page_id = wplft.post_id,
|
382 |
-
pageviewTimeout = true, /* Default */
|
383 |
-
page_seen = PageViews[page_id];
|
384 |
-
if(typeof(page_seen) != "undefined" && page_seen !== null) {
|
385 |
-
|
386 |
-
var time_now = InboundAnalytics.Utils.GetDate(),
|
387 |
-
vc = PageViews[page_id].length - 1,
|
388 |
-
last_view = PageViews[page_id][vc],
|
389 |
-
last_view_ms = new Date(last_view).getTime(),
|
390 |
-
time_now_ms = new Date(time_now).getTime(),
|
391 |
-
timeout_ms = last_view_ms + 30*1000,
|
392 |
-
time_check = Math.abs(last_view_ms - time_now_ms),
|
393 |
-
wait_time = 30000;
|
394 |
-
|
395 |
-
InboundAnalytics.debug('Timeout Checks =',function(){
|
396 |
-
console.log('Current Time is: ' + time_now);
|
397 |
-
console.log('Last view is: ' + last_view);
|
398 |
-
console.log("Last view milliseconds " + last_view_ms);
|
399 |
-
console.log("time now milliseconds " + time_now_ms);
|
400 |
-
console.log("Wait Check: " + wait_time);
|
401 |
-
console.log("TIME CHECK: " + time_check);
|
402 |
-
});
|
403 |
-
|
404 |
-
//var wait_time = Math.abs(last_view_ms - timeout_ms) // output timeout time 30sec;
|
405 |
-
|
406 |
-
if (time_check < wait_time){
|
407 |
-
time_left = Math.abs((wait_time - time_check)) * .001;
|
408 |
-
pageviewTimeout = false;
|
409 |
-
var status = '30 sec timeout not done: ' + time_left + " seconds left";
|
410 |
-
} else {
|
411 |
-
var status = 'Timeout Happened. Page view fired';
|
412 |
-
this.firePageView();
|
413 |
-
pageviewTimeout = true;
|
414 |
-
InboundAnalytics.Events.analyticsTriggered();
|
415 |
-
}
|
416 |
-
|
417 |
-
//InboundAnalytics.debug('',function(){
|
418 |
-
console.log(status);
|
419 |
-
//});
|
420 |
-
} else {
|
421 |
-
/* Page never seen before */
|
422 |
-
this.firePageView();
|
423 |
-
}
|
424 |
-
|
425 |
-
return pageviewTimeout;
|
426 |
-
|
427 |
-
},
|
428 |
-
firePageView: function() {
|
429 |
-
var lead_id = InboundAnalytics.Utils.readCookie('wp_lead_id'),
|
430 |
-
lead_uid = InboundAnalytics.Utils.readCookie('wp_lead_uid');
|
431 |
-
|
432 |
-
if (typeof (lead_id) != "undefined" && lead_id != null && lead_id != "") {
|
433 |
-
|
434 |
-
InboundAnalytics.debug('Run page view ajax');
|
435 |
-
|
436 |
-
var data = {
|
437 |
-
action: 'wpl_track_user',
|
438 |
-
wp_lead_uid: lead_uid,
|
439 |
-
wp_lead_id: lead_id,
|
440 |
-
page_id: wplft.post_id,
|
441 |
-
current_url: window.location.href,
|
442 |
-
json: '0'
|
443 |
-
};
|
444 |
-
var firePageCallback = function(user_id){
|
445 |
-
InboundAnalytics.Events.analyticsSaved();
|
446 |
-
};
|
447 |
-
InboundAnalytics.Utils.doAjax(data, firePageCallback);
|
448 |
-
}
|
449 |
-
}
|
450 |
-
}
|
451 |
-
|
452 |
-
return InboundAnalytics;
|
453 |
-
|
454 |
-
})(InboundAnalytics || {});
|
455 |
-
|
456 |
-
|
457 |
-
/**
|
458 |
-
* Leads API functions
|
459 |
-
* @param Object InboundAnalytics - Main JS object
|
460 |
-
* @return Object - include event triggers
|
461 |
-
*/
|
462 |
-
var InboundAnalyticsLeadsAPI = (function (InboundAnalytics) {
|
463 |
-
|
464 |
-
InboundAnalytics.LeadsAPI = {
|
465 |
-
init: function() {
|
466 |
-
|
467 |
-
},
|
468 |
-
getAllLeadData: function(expire_check) {
|
469 |
-
var wp_lead_id = InboundAnalytics.Utils.readCookie("wp_lead_id"),
|
470 |
-
old_data = jQuery.totalStorage('inbound_lead_data'),
|
471 |
-
data = {
|
472 |
-
action: 'inbound_get_all_lead_data',
|
473 |
-
wp_lead_id: wp_lead_id,
|
474 |
-
},
|
475 |
-
success = function(returnData){
|
476 |
-
var obj = JSON.parse(returnData);
|
477 |
-
console.log('RAAAAAAn');
|
478 |
-
setGlobalLeadVar(obj);
|
479 |
-
jQuery.totalStorage('inbound_lead_data', obj); // store lead data
|
480 |
-
};
|
481 |
-
|
482 |
-
if(!old_data) {
|
483 |
-
console.log("No old data");
|
484 |
-
}
|
485 |
-
|
486 |
-
if (expire_check === 'true'){
|
487 |
-
console.log("Session has not expired");
|
488 |
-
}
|
489 |
-
|
490 |
-
if(!old_data && expire_check === null) {
|
491 |
-
InboundAnalytics.debug('Go to Database',function(){
|
492 |
-
console.log(expire_check);
|
493 |
-
console.log(old_data);
|
494 |
-
});
|
495 |
-
InboundAnalytics.Utils.doAjax(data, success);
|
496 |
-
} else {
|
497 |
-
setGlobalLeadVar(old_data); // set global lead var with localstorage data
|
498 |
-
var lead_data_expiration = InboundAnalytics.Utils.readCookie("lead_data_expiration");
|
499 |
-
if (lead_data_expiration === null) {
|
500 |
-
InboundAnalytics.Utils.doAjax(data, success);
|
501 |
-
console.log('localized data old. Pull new from DB');
|
502 |
-
}
|
503 |
-
}
|
504 |
-
|
505 |
-
},
|
506 |
-
getLeadLists: function() {
|
507 |
-
var wp_lead_id = InboundAnalytics.Utils.readCookie("wp_lead_id");
|
508 |
-
var data = {
|
509 |
-
action: 'wpl_check_lists',
|
510 |
-
wp_lead_id: wp_lead_id,
|
511 |
-
};
|
512 |
-
var success = function(user_id){
|
513 |
-
jQuery.cookie("lead_session_list_check", true, { path: '/', expires: 1 });
|
514 |
-
console.log("Lists checked");
|
515 |
-
};
|
516 |
-
InboundAnalytics.Utils.doAjax(data, success);
|
517 |
-
}
|
518 |
-
};
|
519 |
-
|
520 |
-
return InboundAnalytics;
|
521 |
-
|
522 |
-
})(InboundAnalytics || {});
|
523 |
-
|
524 |
-
|
525 |
-
/**
|
526 |
-
* Custom Event Triggers for Leads -
|
527 |
-
* The below functions illustrate how to use custom javascript callbacks to fire events
|
528 |
-
* based on lead data and what they have and have not done on the site.
|
529 |
-
*/
|
530 |
-
/**
|
531 |
-
|
532 |
-
// Raw Javascript Version - trigger custom function on page view trigger
|
533 |
-
|
534 |
-
window.addEventListener("inbound_analytics_triggered", fireOnPageViewTrigger, false);
|
535 |
-
function fireOnPageViewTrigger(){
|
536 |
-
alert("page view was triggered");
|
537 |
-
}
|
538 |
-
|
539 |
-
// jQuery version - trigger custom function on analytics loaded
|
540 |
-
|
541 |
-
jQuery(document).on('inbound_analytics_loaded', function (event, data) {
|
542 |
-
console.log("inbound_analytics_loaded");
|
543 |
-
});
|
544 |
-
|
545 |
-
// Raw Javascript Version - trigger custom function on page first seen
|
546 |
-
|
547 |
-
window.addEventListener("inbound_analytics_page_first_view", page_first_seen_function, false);
|
548 |
-
function page_first_seen_function(){
|
549 |
-
alert("This is the first time you have seen this page");
|
550 |
-
}
|
551 |
-
|
552 |
-
// Raw Javascript Version - trigger custom function on page already seen
|
553 |
-
|
554 |
-
window.addEventListener("inbound_analytics_page_revisit", page_seen_function, false);
|
555 |
-
function page_seen_function(e){
|
556 |
-
var view_count = e.detail.count;
|
557 |
-
console.log("This page has been seen " + e.detail.count + " times");
|
558 |
-
if(view_count > 10){
|
559 |
-
console.log("Page has been viewed more than 10 times");
|
560 |
-
}
|
561 |
-
}
|
562 |
-
|
563 |
-
// jQuery version - trigger custom function on page already seen via jQuery
|
564 |
-
|
565 |
-
jQuery(document).on('inbound_analytics_page_revisit', function (event, data) {
|
566 |
-
console.log("inbound_analytics_page_revisit action triggered");
|
567 |
-
//console.log(data);
|
568 |
-
if(data.count > 10){
|
569 |
-
console.log("Page has been viewed more than 10 times");
|
570 |
-
}
|
571 |
-
});
|
572 |
-
*/
|
573 |
-
|
574 |
-
/**
|
575 |
-
* Event functions
|
576 |
-
* @param Object InboundAnalytics - Main JS object
|
577 |
-
* @return Object - include event triggers
|
578 |
-
*/
|
579 |
-
var InboundAnalyticsEvents = (function (InboundAnalytics) {
|
580 |
-
|
581 |
-
InboundAnalytics.Events = {
|
582 |
-
// Create cookie
|
583 |
-
loadEvents: function() {
|
584 |
-
this.analyticsLoaded();
|
585 |
-
},
|
586 |
-
triggerJQueryEvent: function(eventName, data){
|
587 |
-
if (window.jQuery) {
|
588 |
-
var data = data || {};
|
589 |
-
jQuery(document).trigger(eventName, data);
|
590 |
-
/* var something = (function() {
|
591 |
-
var executed = false;
|
592 |
-
return function () {
|
593 |
-
if (!executed) {
|
594 |
-
executed = true;
|
595 |
-
console.log(eventName + " RAN");
|
596 |
-
|
597 |
-
}
|
598 |
-
};
|
599 |
-
})();*/
|
600 |
-
}
|
601 |
-
},
|
602 |
-
analyticsLoaded: function() {
|
603 |
-
var eventName = "inbound_analytics_loaded";
|
604 |
-
var loaded = new CustomEvent(eventName);
|
605 |
-
window.dispatchEvent(loaded);
|
606 |
-
this.triggerJQueryEvent(eventName);
|
607 |
-
},
|
608 |
-
analyticsTriggered: function() {
|
609 |
-
var triggered = new CustomEvent("inbound_analytics_triggered");
|
610 |
-
window.dispatchEvent(triggered);
|
611 |
-
},
|
612 |
-
analyticsSaved: function() {
|
613 |
-
var page_view_saved = new CustomEvent("inbound_analytics_saved");
|
614 |
-
window.dispatchEvent(page_view_saved);
|
615 |
-
console.log('Page View Saved');
|
616 |
-
},
|
617 |
-
analyticsError: function(MLHttpRequest, textStatus, errorThrown) {
|
618 |
-
var error = new CustomEvent("inbound_analytics_error", {
|
619 |
-
detail: {
|
620 |
-
MLHttpRequest: MLHttpRequest,
|
621 |
-
textStatus: textStatus,
|
622 |
-
errorThrown: errorThrown
|
623 |
-
}
|
624 |
-
});
|
625 |
-
window.dispatchEvent(error);
|
626 |
-
console.log('Page Save Error');
|
627 |
-
},
|
628 |
-
pageFirstView: function(page_seen_count) {
|
629 |
-
var page_first_view = new CustomEvent("inbound_analytics_page_first_view", {
|
630 |
-
detail: {
|
631 |
-
count: 1,
|
632 |
-
time: new Date(),
|
633 |
-
},
|
634 |
-
bubbles: true,
|
635 |
-
cancelable: true
|
636 |
-
}
|
637 |
-
);
|
638 |
-
window.dispatchEvent(page_first_view);
|
639 |
-
|
640 |
-
console.log('First Ever Page View of this Page');
|
641 |
-
},
|
642 |
-
pageRevisit: function(page_seen_count) {
|
643 |
-
var eventName = "inbound_analytics_page_revisit";
|
644 |
-
var data = { count: page_seen_count,
|
645 |
-
time: new Date()
|
646 |
-
};
|
647 |
-
var page_revisit = new CustomEvent(eventName, {
|
648 |
-
detail: data,
|
649 |
-
bubbles: true,
|
650 |
-
cancelable: true
|
651 |
-
}
|
652 |
-
);
|
653 |
-
window.dispatchEvent(page_revisit);
|
654 |
-
this.triggerJQueryEvent(eventName, data);
|
655 |
-
console.log('Page Revisit');
|
656 |
-
},
|
657 |
-
sessionStart: function() {
|
658 |
-
var session_start = new CustomEvent("inbound_analytics_session_start");
|
659 |
-
window.dispatchEvent(session_start);
|
660 |
-
console.log('Session Start');
|
661 |
-
},
|
662 |
-
sessionActive: function() {
|
663 |
-
var session_active = new CustomEvent("inbound_analytics_session_active");
|
664 |
-
window.dispatchEvent(session_active);
|
665 |
-
console.log('Session Active');
|
666 |
-
},
|
667 |
-
|
668 |
-
};
|
669 |
-
|
670 |
-
return InboundAnalytics;
|
671 |
-
|
672 |
-
})(InboundAnalytics || {});
|
673 |
-
|
674 |
-
/* LocalStorage Component */
|
675 |
-
var InboundTotalStorage = (function (InboundAnalytics){
|
676 |
-
|
677 |
-
var supported, ls, mod = 'inboundAnalytics';
|
678 |
-
if ('localStorage' in window){
|
679 |
-
try {
|
680 |
-
ls = (typeof window.localStorage === 'undefined') ? undefined : window.localStorage;
|
681 |
-
if (typeof ls == 'undefined' || typeof window.JSON == 'undefined'){
|
682 |
-
supported = false;
|
683 |
-
} else {
|
684 |
-
supported = true;
|
685 |
-
}
|
686 |
-
window.localStorage.setItem(mod, '1');
|
687 |
-
window.localStorage.removeItem(mod);
|
688 |
-
}
|
689 |
-
catch (err){
|
690 |
-
supported = false;
|
691 |
-
}
|
692 |
-
}
|
693 |
-
|
694 |
-
/* Make the methods public */
|
695 |
-
InboundAnalytics.totalStorage = function(key, value, options){
|
696 |
-
return InboundAnalytics.totalStorage.impl.init(key, value);
|
697 |
-
};
|
698 |
-
|
699 |
-
InboundAnalytics.totalStorage.setItem = function(key, value){
|
700 |
-
return InboundAnalytics.totalStorage.impl.setItem(key, value);
|
701 |
-
};
|
702 |
-
|
703 |
-
InboundAnalytics.totalStorage.getItem = function(key){
|
704 |
-
return InboundAnalytics.totalStorage.impl.getItem(key);
|
705 |
-
};
|
706 |
-
|
707 |
-
InboundAnalytics.totalStorage.getAll = function(){
|
708 |
-
return InboundAnalytics.totalStorage.impl.getAll();
|
709 |
-
};
|
710 |
-
|
711 |
-
InboundAnalytics.totalStorage.deleteItem = function(key){
|
712 |
-
return InboundAnalytics.totalStorage.impl.deleteItem(key);
|
713 |
-
};
|
714 |
-
|
715 |
-
/* Object to hold all methods: public and private */
|
716 |
-
|
717 |
-
InboundAnalytics.totalStorage.impl = {
|
718 |
-
|
719 |
-
init: function(key, value){
|
720 |
-
if (typeof value != 'undefined') {
|
721 |
-
return this.setItem(key, value);
|
722 |
-
} else {
|
723 |
-
return this.getItem(key);
|
724 |
-
}
|
725 |
-
},
|
726 |
-
|
727 |
-
setItem: function(key, value){
|
728 |
-
if (!supported){
|
729 |
-
try {
|
730 |
-
InboundAnalytics.Utils.createCookie(key, value);
|
731 |
-
return value;
|
732 |
-
} catch(e){
|
733 |
-
console.log('Local Storage not supported by this browser. Install the cookie plugin on your site to take advantage of the same functionality. You can get it at https://github.com/carhartl/jquery-cookie');
|
734 |
-
}
|
735 |
-
}
|
736 |
-
var saver = JSON.stringify(value);
|
737 |
-
ls.setItem(key, saver);
|
738 |
-
return this.parseResult(saver);
|
739 |
-
},
|
740 |
-
getItem: function(key){
|
741 |
-
if (!supported){
|
742 |
-
try {
|
743 |
-
return this.parseResult(InboundAnalytics.Utils.readCookie(key));
|
744 |
-
} catch(e){
|
745 |
-
return null;
|
746 |
-
}
|
747 |
-
}
|
748 |
-
var item = ls.getItem(key);
|
749 |
-
return this.parseResult(item);
|
750 |
-
},
|
751 |
-
deleteItem: function(key){
|
752 |
-
if (!supported){
|
753 |
-
try {
|
754 |
-
InboundAnalytics.Utils.eraseCookie(key, null);
|
755 |
-
return true;
|
756 |
-
} catch(e){
|
757 |
-
return false;
|
758 |
-
}
|
759 |
-
}
|
760 |
-
ls.removeItem(key);
|
761 |
-
return true;
|
762 |
-
},
|
763 |
-
getAll: function(){
|
764 |
-
var items = [];
|
765 |
-
if (!supported){
|
766 |
-
try {
|
767 |
-
var pairs = document.cookie.split(";");
|
768 |
-
for (var i = 0; i<pairs.length; i++){
|
769 |
-
var pair = pairs[i].split('=');
|
770 |
-
var key = pair[0];
|
771 |
-
items.push({key:key, value:this.parseResult(InboundAnalytics.Utils.readCookie(key))});
|
772 |
-
}
|
773 |
-
} catch(e){
|
774 |
-
return null;
|
775 |
-
}
|
776 |
-
} else {
|
777 |
-
for (var j in ls){
|
778 |
-
if (j.length){
|
779 |
-
items.push({key:j, value:this.parseResult(ls.getItem(j))});
|
780 |
-
}
|
781 |
-
}
|
782 |
-
}
|
783 |
-
return items;
|
784 |
-
},
|
785 |
-
parseResult: function(res){
|
786 |
-
var ret;
|
787 |
-
try {
|
788 |
-
ret = JSON.parse(res);
|
789 |
-
if (typeof ret == 'undefined'){
|
790 |
-
ret = res;
|
791 |
-
}
|
792 |
-
if (ret == 'true'){
|
793 |
-
ret = true;
|
794 |
-
}
|
795 |
-
if (ret == 'false'){
|
796 |
-
ret = false;
|
797 |
-
}
|
798 |
-
if (parseFloat(ret) == ret && typeof ret != "object"){
|
799 |
-
ret = parseFloat(ret);
|
800 |
-
}
|
801 |
-
} catch(e){
|
802 |
-
ret = res;
|
803 |
-
}
|
804 |
-
return ret;
|
805 |
-
}
|
806 |
-
};
|
807 |
-
})(InboundAnalytics || {});
|
808 |
-
|
809 |
-
|
810 |
-
var Lead_Globals = jQuery.totalStorage('inbound_lead_data') || null;
|
811 |
-
function setGlobalLeadVar(retString){
|
812 |
-
Lead_Globals = retString;
|
813 |
-
}
|
814 |
-
|
815 |
-
InboundAnalytics.init(); // run analytics
|
816 |
-
|
817 |
-
/* run on ready */
|
818 |
-
jQuery(document).ready(function($) {
|
819 |
-
//record non conversion status
|
820 |
-
var in_u = InboundAnalytics.Utils,
|
821 |
-
wp_lead_uid = in_u.readCookie("wp_lead_uid"),
|
822 |
-
wp_lead_id = in_u.readCookie("wp_lead_id"),
|
823 |
-
expire_check = in_u.readCookie("lead_session_expire"); // check for session
|
824 |
-
|
825 |
-
if (expire_check === null) {
|
826 |
-
console.log('expired vistor. Run Processes');
|
827 |
-
//var data_to_lookup = global-localized-vars;
|
828 |
-
if (typeof (wp_lead_id) != "undefined" && wp_lead_id != null && wp_lead_id != "") {
|
829 |
-
/* Get Lead_Globals */
|
830 |
-
InboundAnalytics.LeadsAPI.getAllLeadData(expire_check);
|
831 |
-
/* Lead list check */
|
832 |
-
InboundAnalytics.LeadsAPI.getLeadLists();
|
833 |
-
}
|
834 |
-
}
|
835 |
-
|
836 |
-
/* Set Session Timeout */
|
837 |
-
InboundAnalytics.Utils.SetSessionTimeout();
|
838 |
-
|
839 |
-
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
shared/assets/frontend/js/inprogress-tracking.js
DELETED
@@ -1,137 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Lead Tracking JS
|
3 |
-
* http://www.inboundnow.com
|
4 |
-
*/
|
5 |
-
|
6 |
-
var InboundAnalytics = (function () {
|
7 |
-
|
8 |
-
var _privateMethod = function () {};
|
9 |
-
|
10 |
-
var myObject = {
|
11 |
-
someMethod: function () {
|
12 |
-
|
13 |
-
},
|
14 |
-
anotherMethod: function () {
|
15 |
-
|
16 |
-
}
|
17 |
-
};
|
18 |
-
|
19 |
-
return myObject;
|
20 |
-
|
21 |
-
})();
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
var IA_PageViews = (function (InboundAnalytics) {
|
26 |
-
|
27 |
-
InboundAnalytics.PageTracking = {
|
28 |
-
getPageViews: function () {
|
29 |
-
var local_store = InboundAnalytics.Utils.checkLocalStorage();
|
30 |
-
if(local_store){
|
31 |
-
var page_views = localStorage.getItem("page_views"),
|
32 |
-
local_object = JSON.parse(page_views);
|
33 |
-
if (typeof local_object =='object' && local_object) {
|
34 |
-
return local_object;
|
35 |
-
}
|
36 |
-
}
|
37 |
-
},
|
38 |
-
CheckTimeOut: function() {
|
39 |
-
var PageViews = InboundAnalytics.PageTracking.getPageViews(),
|
40 |
-
page_id = wplft.post_id,
|
41 |
-
page_seen = PageViews[page_id],
|
42 |
-
time_now = wplft.track_time,
|
43 |
-
vc = PageViews[page_id].length - 1,
|
44 |
-
last_view = PageViews[page_id][vc];
|
45 |
-
|
46 |
-
last_view_formatted = new Date(last_view).getTime();
|
47 |
-
time_now_formatted = new Date(time_now).getTime();
|
48 |
-
var timeout = last_view_formatted + 30*1000;
|
49 |
-
console.log('time now= ' + time_now_formatted);
|
50 |
-
console.log('time out= ' + timeout);
|
51 |
-
|
52 |
-
var time_out_check_raw = time_now_formatted > timeout;
|
53 |
-
var time_out_check = Date.parse(time_now_formatted) > Date.parse(timeout);
|
54 |
-
|
55 |
-
var time_check = Math.abs(time_now_formatted - timeout);
|
56 |
-
|
57 |
-
var test = time_check * .001;
|
58 |
-
console.log(test);
|
59 |
-
console.log(time_out_check);
|
60 |
-
console.log(time_out_check_raw);
|
61 |
-
|
62 |
-
|
63 |
-
if(typeof(page_seen) != "undefined" && page_seen !== null) {
|
64 |
-
console.log('page seen');
|
65 |
-
} else {
|
66 |
-
console.log('page not seen');
|
67 |
-
}
|
68 |
-
console.log(PageViews);
|
69 |
-
}
|
70 |
-
}
|
71 |
-
|
72 |
-
return InboundAnalytics;
|
73 |
-
|
74 |
-
})(InboundAnalytics || {});
|
75 |
-
|
76 |
-
|
77 |
-
/**
|
78 |
-
* Utility functions
|
79 |
-
* @param Object InboundAnalytics - Main JS object
|
80 |
-
* @return Object - include util functions
|
81 |
-
*/
|
82 |
-
var IA_Utils = (function (InboundAnalytics) {
|
83 |
-
|
84 |
-
InboundAnalytics.Utils = {
|
85 |
-
// Create cookie
|
86 |
-
createCookie: function(name, value, days) {
|
87 |
-
var expires = "";
|
88 |
-
if (days) {
|
89 |
-
var date = new Date();
|
90 |
-
date.setTime(date.getTime()+(days*24*60*60*1000));
|
91 |
-
expires = "; expires="+date.toGMTString();
|
92 |
-
}
|
93 |
-
document.cookie = name+"="+value+expires+"; path=/";
|
94 |
-
},
|
95 |
-
// Read cookie
|
96 |
-
readCookie: function(name) {
|
97 |
-
var nameEQ = name + "=";
|
98 |
-
var ca = document.cookie.split(';');
|
99 |
-
for(var i=0;i < ca.length;i++) {
|
100 |
-
var c = ca[i];
|
101 |
-
while (c.charAt(0) === ' ') {
|
102 |
-
c = c.substring(1,c.length);
|
103 |
-
}
|
104 |
-
if (c.indexOf(nameEQ) === 0) {
|
105 |
-
return c.substring(nameEQ.length,c.length);
|
106 |
-
}
|
107 |
-
}
|
108 |
-
return null;
|
109 |
-
},
|
110 |
-
// Erase cookie
|
111 |
-
eraseCookie: function(name) {
|
112 |
-
createCookie(name,"",-1);
|
113 |
-
},
|
114 |
-
// Check local storage
|
115 |
-
checkLocalStorage: function() {
|
116 |
-
if ('localStorage' in window) {
|
117 |
-
try {
|
118 |
-
ls = (typeof window.localStorage === 'undefined') ? undefined : window.localStorage;
|
119 |
-
if (typeof ls == 'undefined' || typeof window.JSON == 'undefined'){
|
120 |
-
supported = false;
|
121 |
-
} else {
|
122 |
-
supported = true;
|
123 |
-
}
|
124 |
-
|
125 |
-
}
|
126 |
-
catch (err){
|
127 |
-
supported = false;
|
128 |
-
}
|
129 |
-
}
|
130 |
-
return supported;
|
131 |
-
},
|
132 |
-
|
133 |
-
};
|
134 |
-
|
135 |
-
return InboundAnalytics;
|
136 |
-
|
137 |
-
})(InboundAnalytics || {});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
shared/assets/frontend/js/page-tracking-new.js
DELETED
@@ -1,1324 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Lead Tracking JS
|
3 |
-
* http://www.inboundnow.com
|
4 |
-
*/
|
5 |
-
var inbound_data = inbound_data || {};
|
6 |
-
// Ensure global _gaq Google Analytics queue has been initialized.
|
7 |
-
var _gaq = _gaq || [];
|
8 |
-
var InboundAnalytics = (function () {
|
9 |
-
|
10 |
-
var debugMode = false;
|
11 |
-
|
12 |
-
var _privateMethod = function () {
|
13 |
-
console.log('Run private');
|
14 |
-
};
|
15 |
-
|
16 |
-
var App = {
|
17 |
-
init: function () {
|
18 |
-
InboundAnalytics.Utils.init();
|
19 |
-
InboundAnalytics.PageTracking.StorePageView();
|
20 |
-
InboundAnalytics.Events.loadEvents();
|
21 |
-
},
|
22 |
-
/* Debugger Function toggled by var debugMode */
|
23 |
-
debug: function(msg,callback){
|
24 |
-
//if app not in debug mode, exit immediately
|
25 |
-
if(!debugMode || !console){return};
|
26 |
-
var msg = msg || false;
|
27 |
-
//console.log the message
|
28 |
-
if(msg && (typeof msg === 'string')){console.log(msg)};
|
29 |
-
|
30 |
-
//execute the callback if one was passed-in
|
31 |
-
if(callback && (callback instanceof Function)){
|
32 |
-
callback();
|
33 |
-
};
|
34 |
-
}
|
35 |
-
};
|
36 |
-
|
37 |
-
return App;
|
38 |
-
|
39 |
-
})();
|
40 |
-
|
41 |
-
|
42 |
-
/**
|
43 |
-
* Utility functions
|
44 |
-
* @param Object InboundAnalytics - Main JS object
|
45 |
-
* @return Object - include util functions
|
46 |
-
*/
|
47 |
-
var InboundAnalyticsUtils = (function (InboundAnalytics) {
|
48 |
-
|
49 |
-
InboundAnalytics.Utils = {
|
50 |
-
init: function() {
|
51 |
-
this.polyFills();
|
52 |
-
this.setUrlParams();
|
53 |
-
this.SetUID();
|
54 |
-
this.getReferer();
|
55 |
-
|
56 |
-
},
|
57 |
-
polyFills: function() {
|
58 |
-
/* Console.log fix for old browsers */
|
59 |
-
if (!window.console) { window.console = {}; }
|
60 |
-
var m = [
|
61 |
-
"log", "info", "warn", "error", "debug", "trace", "dir", "group",
|
62 |
-
"groupCollapsed", "groupEnd", "time", "timeEnd", "profile", "profileEnd",
|
63 |
-
"dirxml", "assert", "count", "markTimeline", "timeStamp", "clear"
|
64 |
-
];
|
65 |
-
// define undefined methods as noops to prevent errors
|
66 |
-
for (var i = 0; i < m.length; i++) {
|
67 |
-
if (!window.console[m[i]]) {
|
68 |
-
window.console[m[i]] = function() {};
|
69 |
-
}
|
70 |
-
}
|
71 |
-
/* Event trigger polyfill for IE9 and 10 */
|
72 |
-
(function () {
|
73 |
-
function CustomEvent ( event, params ) {
|
74 |
-
params = params || { bubbles: false, cancelable: false, detail: undefined };
|
75 |
-
var evt = document.createEvent( 'CustomEvent' );
|
76 |
-
evt.initCustomEvent( event, params.bubbles, params.cancelable, params.detail );
|
77 |
-
return evt;
|
78 |
-
};
|
79 |
-
|
80 |
-
CustomEvent.prototype = window.Event.prototype;
|
81 |
-
|
82 |
-
window.CustomEvent = CustomEvent;
|
83 |
-
})();
|
84 |
-
},
|
85 |
-
// Create cookie
|
86 |
-
createCookie: function(name, value, days, custom_time) {
|
87 |
-
var expires = "";
|
88 |
-
if (days) {
|
89 |
-
var date = new Date();
|
90 |
-
date.setTime(date.getTime()+(days*24*60*60*1000));
|
91 |
-
expires = "; expires="+date.toGMTString();
|
92 |
-
}
|
93 |
-
if(custom_time){
|
94 |
-
expires = "; expires="+days.toGMTString();
|
95 |
-
}
|
96 |
-
document.cookie = name+"="+value+expires+"; path=/";
|
97 |
-
},
|
98 |
-
// Read cookie
|
99 |
-
readCookie: function(name) {
|
100 |
-
var nameEQ = name + "=";
|
101 |
-
var ca = document.cookie.split(';');
|
102 |
-
for(var i=0;i < ca.length;i++) {
|
103 |
-
var c = ca[i];
|
104 |
-
while (c.charAt(0) === ' ') {
|
105 |
-
c = c.substring(1,c.length);
|
106 |
-
}
|
107 |
-
if (c.indexOf(nameEQ) === 0) {
|
108 |
-
return c.substring(nameEQ.length,c.length);
|
109 |
-
}
|
110 |
-
}
|
111 |
-
return null;
|
112 |
-
},
|
113 |
-
// Erase cookie
|
114 |
-
eraseCookie: function(name) {
|
115 |
-
createCookie(name,"",-1);
|
116 |
-
},
|
117 |
-
getAllCookies: function(){
|
118 |
-
var cookies = {};
|
119 |
-
if (document.cookie && document.cookie != '') {
|
120 |
-
var split = document.cookie.split(';');
|
121 |
-
for (var i = 0; i < split.length; i++) {
|
122 |
-
var name_value = split[i].split("=");
|
123 |
-
name_value[0] = name_value[0].replace(/^ /, '');
|
124 |
-
cookies[decodeURIComponent(name_value[0])] = decodeURIComponent(name_value[1]);
|
125 |
-
}
|
126 |
-
}
|
127 |
-
jQuery.totalStorage('inbound_cookies', cookies); // store cookie data
|
128 |
-
return cookies;
|
129 |
-
},
|
130 |
-
/* Grab URL params and save */
|
131 |
-
setUrlParams: function() {
|
132 |
-
var urlParams = {},
|
133 |
-
local_store = InboundAnalytics.Utils.checkLocalStorage();
|
134 |
-
|
135 |
-
(function () {
|
136 |
-
var e,
|
137 |
-
d = function (s) { return decodeURIComponent(s).replace(/\+/g, " "); },
|
138 |
-
q = window.location.search.substring(1),
|
139 |
-
r = /([^&=]+)=?([^&]*)/g;
|
140 |
-
|
141 |
-
while (e = r.exec(q)) {
|
142 |
-
if (e[1].indexOf("[") == "-1")
|
143 |
-
urlParams[d(e[1])] = d(e[2]);
|
144 |
-
else {
|
145 |
-
var b1 = e[1].indexOf("["),
|
146 |
-
aN = e[1].slice(b1+1, e[1].indexOf("]", b1)),
|
147 |
-
pN = d(e[1].slice(0, b1));
|
148 |
-
|
149 |
-
if (typeof urlParams[pN] != "object")
|
150 |
-
urlParams[d(pN)] = {},
|
151 |
-
urlParams[d(pN)].length = 0;
|
152 |
-
|
153 |
-
if (aN)
|
154 |
-
urlParams[d(pN)][d(aN)] = d(e[2]);
|
155 |
-
else
|
156 |
-
Array.prototype.push.call(urlParams[d(pN)], d(e[2]));
|
157 |
-
|
158 |
-
}
|
159 |
-
}
|
160 |
-
})();
|
161 |
-
|
162 |
-
if (JSON) {
|
163 |
-
for (var k in urlParams) {
|
164 |
-
if (typeof urlParams[k] == "object") {
|
165 |
-
for (var k2 in urlParams[k])
|
166 |
-
this.createCookie(k2, urlParams[k][k2], 30);
|
167 |
-
} else {
|
168 |
-
this.createCookie(k, urlParams[k], 30);
|
169 |
-
}
|
170 |
-
}
|
171 |
-
}
|
172 |
-
|
173 |
-
if(local_store){
|
174 |
-
var pastParams = jQuery.totalStorage('inbound_url_params');
|
175 |
-
var params = this.mergeObjs(pastParams, urlParams);
|
176 |
-
jQuery.totalStorage('inbound_url_params', params); // store cookie data
|
177 |
-
}
|
178 |
-
},
|
179 |
-
getUrlParams: function(){
|
180 |
-
var local_store = this.checkLocalStorage(),
|
181 |
-
get_params = {};
|
182 |
-
if(local_store){
|
183 |
-
var get_params = jQuery.totalStorage('inbound_url_params');
|
184 |
-
}
|
185 |
-
return get_params;
|
186 |
-
},
|
187 |
-
// Check local storage
|
188 |
-
// provate browsing safari fix https://github.com/marcuswestin/store.js/issues/42#issuecomment-25274685
|
189 |
-
checkLocalStorage: function() {
|
190 |
-
if ('localStorage' in window) {
|
191 |
-
try {
|
192 |
-
ls = (typeof window.localStorage === 'undefined') ? undefined : window.localStorage;
|
193 |
-
if (typeof ls == 'undefined' || typeof window.JSON == 'undefined'){
|
194 |
-
supported = false;
|
195 |
-
} else {
|
196 |
-
supported = true;
|
197 |
-
}
|
198 |
-
|
199 |
-
}
|
200 |
-
catch (err){
|
201 |
-
supported = false;
|
202 |
-
}
|
203 |
-
}
|
204 |
-
return supported;
|
205 |
-
/* http://spin.atomicobject.com/2013/01/23/ios-private-browsing-localstorage/
|
206 |
-
var hasStorage;
|
207 |
-
hasStorage = function() {
|
208 |
-
var mod, result;
|
209 |
-
try {
|
210 |
-
mod = new Date;
|
211 |
-
localStorage.setItem(mod, mod.toString());
|
212 |
-
result = localStorage.getItem(mod) === mod.toString();
|
213 |
-
localStorage.removeItem(mod);
|
214 |
-
return result;
|
215 |
-
} catch (_error) {}
|
216 |
-
};
|
217 |
-
*/
|
218 |
-
},
|
219 |
-
/* Add days to datetime */
|
220 |
-
addDays: function(myDate,days) {
|
221 |
-
return new Date(myDate.getTime() + days*24*60*60*1000);
|
222 |
-
},
|
223 |
-
GetDate: function(){
|
224 |
-
var time_now = new Date(),
|
225 |
-
day = time_now.getDate() + 1;
|
226 |
-
year = time_now.getFullYear(),
|
227 |
-
hour = time_now.getHours(),
|
228 |
-
minutes = time_now.getMinutes(),
|
229 |
-
seconds = time_now.getSeconds(),
|
230 |
-
month = time_now.getMonth() + 1;
|
231 |
-
if (month < 10) { month = '0' + month; }
|
232 |
-
InboundAnalytics.debug('Current Date:',function(){
|
233 |
-
console.log(year + '/' + month + "/" + day + " " + hour + ":" + minutes + ":" + seconds);
|
234 |
-
});
|
235 |
-
var datetime = year + '/' + month + "/" + day + " " + hour + ":" + minutes + ":" + seconds;
|
236 |
-
return datetime;
|
237 |
-
},
|
238 |
-
/* Set Expiration Date of Session Logging */
|
239 |
-
SetSessionTimeout: function(){
|
240 |
-
var session_check = this.readCookie("lead_session_expire");
|
241 |
-
//console.log(session_check);
|
242 |
-
if(session_check === null){
|
243 |
-
InboundAnalytics.Events.sessionStart(); // trigger 'inbound_analytics_session_start'
|
244 |
-
} else {
|
245 |
-
InboundAnalytics.Events.sessionActive(); // trigger 'inbound_analytics_session_active'
|
246 |
-
}
|
247 |
-
var d = new Date();
|
248 |
-
d.setTime(d.getTime() + 30*60*1000);
|
249 |
-
|
250 |
-
this.createCookie("lead_session_expire", true, d, true); // Set cookie on page loads
|
251 |
-
var lead_data_expiration = this.readCookie("lead_data_expiration");
|
252 |
-
if (lead_data_expiration === null){
|
253 |
-
/* Set 3 day timeout for checking DB for new lead data for Lead_Global var */
|
254 |
-
var ex = this.addDays(d, 3);
|
255 |
-
this.createCookie("lead_data_expiration", ex, ex, true);
|
256 |
-
}
|
257 |
-
|
258 |
-
},
|
259 |
-
getReferer: function(){
|
260 |
-
//console.log(expire_time);
|
261 |
-
var d = new Date();
|
262 |
-
d.setTime(d.getTime() + 30*60*1000);
|
263 |
-
var referrer_cookie = InboundAnalytics.Utils.readCookie("wp_lead_referral_site");
|
264 |
-
if (typeof (referrer_cookie) === "undefined" || referrer_cookie === null || referrer_cookie === "") {
|
265 |
-
var referrer = document.referrer || "NA";
|
266 |
-
this.createCookie("wp_lead_referral_site", referrer, d, true); // Set cookie on page loads
|
267 |
-
}
|
268 |
-
},
|
269 |
-
CreateUID: function(length) {
|
270 |
-
var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz'.split(''),
|
271 |
-
str = '';
|
272 |
-
if (! length) {
|
273 |
-
length = Math.floor(Math.random() * chars.length);
|
274 |
-
}
|
275 |
-
for (var i = 0; i < length; i++) {
|
276 |
-
str += chars[Math.floor(Math.random() * chars.length)];
|
277 |
-
}
|
278 |
-
return str;
|
279 |
-
},
|
280 |
-
SetUID: function () {
|
281 |
-
/* Set Lead UID */
|
282 |
-
|
283 |
-
if(this.readCookie("wp_lead_uid") === null) {
|
284 |
-
var wp_lead_uid = this.CreateUID(35);
|
285 |
-
this.createCookie("wp_lead_uid", wp_lead_uid );
|
286 |
-
InboundAnalytics.debug('Set UID');
|
287 |
-
}
|
288 |
-
},
|
289 |
-
/* Count number of session visits */
|
290 |
-
countProperties: function (obj) {
|
291 |
-
var count = 0;
|
292 |
-
for(var prop in obj) {
|
293 |
-
if(obj.hasOwnProperty(prop))
|
294 |
-
++count;
|
295 |
-
}
|
296 |
-
return count;
|
297 |
-
},
|
298 |
-
mergeObjs: function(obj1,obj2){
|
299 |
-
var obj3 = {};
|
300 |
-
for (var attrname in obj1) { obj3[attrname] = obj1[attrname]; }
|
301 |
-
for (var attrname in obj2) { obj3[attrname] = obj2[attrname]; }
|
302 |
-
return obj3;
|
303 |
-
},
|
304 |
-
trim: function(s) {
|
305 |
-
s = s.replace(/(^\s*)|(\s*$)/gi,"");
|
306 |
-
s = s.replace(/[ ]{2,}/gi," ");
|
307 |
-
s = s.replace(/\n /,"\n"); return s;
|
308 |
-
},
|
309 |
-
doAjax: function(data, responseHandler, method, async){
|
310 |
-
// Set the variables
|
311 |
-
var url = wplft.admin_url || "",
|
312 |
-
method = method || "POST",
|
313 |
-
async = async || true,
|
314 |
-
data = data || null,
|
315 |
-
action = data.action;
|
316 |
-
|
317 |
-
InboundAnalytics.debug('Ajax Processed:',function(){
|
318 |
-
console.log('ran ajax action: ' + action);
|
319 |
-
});
|
320 |
-
|
321 |
-
jQuery.ajax({
|
322 |
-
type: method,
|
323 |
-
url: wplft.admin_url,
|
324 |
-
data: data,
|
325 |
-
success: responseHandler,
|
326 |
-
error: function(MLHttpRequest, textStatus, errorThrown){
|
327 |
-
console.log(MLHttpRequest+' '+errorThrown+' '+textStatus);
|
328 |
-
InboundAnalytics.Events.analyticsError(MLHttpRequest, textStatus, errorThrown);
|
329 |
-
}
|
330 |
-
|
331 |
-
});
|
332 |
-
},
|
333 |
-
contentLoaded: function(win, fn) {
|
334 |
-
|
335 |
-
var done = false, top = true,
|
336 |
-
|
337 |
-
doc = win.document, root = doc.documentElement,
|
338 |
-
|
339 |
-
add = doc.addEventListener ? 'addEventListener' : 'attachEvent',
|
340 |
-
rem = doc.addEventListener ? 'removeEventListener' : 'detachEvent',
|
341 |
-
pre = doc.addEventListener ? '' : 'on',
|
342 |
-
|
343 |
-
init = function(e) {
|
344 |
-
if (e.type == 'readystatechange' && doc.readyState != 'complete') return;
|
345 |
-
(e.type == 'load' ? win : doc)[rem](pre + e.type, init, false);
|
346 |
-
if (!done && (done = true)) fn.call(win, e.type || e);
|
347 |
-
},
|
348 |
-
|
349 |
-
poll = function() {
|
350 |
-
try { root.doScroll('left'); } catch(e) { setTimeout(poll, 50); return; }
|
351 |
-
init('poll');
|
352 |
-
};
|
353 |
-
|
354 |
-
if (doc.readyState == 'complete') fn.call(win, 'lazy');
|
355 |
-
else {
|
356 |
-
if (doc.createEventObject && root.doScroll) {
|
357 |
-
try { top = !win.frameElement; } catch(e) { }
|
358 |
-
if (top) poll();
|
359 |
-
}
|
360 |
-
doc[add](pre + 'DOMContentLoaded', init, false);
|
361 |
-
doc[add](pre + 'readystatechange', init, false);
|
362 |
-
win[add](pre + 'load', init, false);
|
363 |
-
}
|
364 |
-
|
365 |
-
},
|
366 |
-
/* Cross-browser event listening */
|
367 |
-
addListener: function(obj, eventName, listener) {
|
368 |
-
if(obj.addEventListener) {
|
369 |
-
obj.addEventListener(eventName, listener, false);
|
370 |
-
} else if (obj.attachEvent) {
|
371 |
-
obj.attachEvent("on" + eventName, listener);
|
372 |
-
} else {
|
373 |
-
obj['on' + eventName] = listener;
|
374 |
-
}
|
375 |
-
}
|
376 |
-
|
377 |
-
};
|
378 |
-
|
379 |
-
return InboundAnalytics;
|
380 |
-
|
381 |
-
})(InboundAnalytics || {});
|
382 |
-
|
383 |
-
/* Fork of jquery.total-storage.js */
|
384 |
-
var InboundTotalStorage = (function (InboundAnalytics){
|
385 |
-
|
386 |
-
/* Variables I'll need throghout */
|
387 |
-
|
388 |
-
var supported, ls, mod = 'inboundAnalytics';
|
389 |
-
if ('localStorage' in window){
|
390 |
-
try {
|
391 |
-
ls = (typeof window.localStorage === 'undefined') ? undefined : window.localStorage;
|
392 |
-
if (typeof ls == 'undefined' || typeof window.JSON == 'undefined'){
|
393 |
-
supported = false;
|
394 |
-
} else {
|
395 |
-
supported = true;
|
396 |
-
}
|
397 |
-
window.localStorage.setItem(mod, '1');
|
398 |
-
window.localStorage.removeItem(mod);
|
399 |
-
}
|
400 |
-
catch (err){
|
401 |
-
supported = false;
|
402 |
-
}
|
403 |
-
}
|
404 |
-
|
405 |
-
/* Make the methods public */
|
406 |
-
InboundAnalytics.totalStorage = function(key, value, options){
|
407 |
-
return InboundAnalytics.totalStorage.impl.init(key, value);
|
408 |
-
};
|
409 |
-
|
410 |
-
InboundAnalytics.totalStorage.setItem = function(key, value){
|
411 |
-
return InboundAnalytics.totalStorage.impl.setItem(key, value);
|
412 |
-
};
|
413 |
-
|
414 |
-
InboundAnalytics.totalStorage.getItem = function(key){
|
415 |
-
return InboundAnalytics.totalStorage.impl.getItem(key);
|
416 |
-
};
|
417 |
-
|
418 |
-
InboundAnalytics.totalStorage.getAll = function(){
|
419 |
-
return InboundAnalytics.totalStorage.impl.getAll();
|
420 |
-
};
|
421 |
-
|
422 |
-
InboundAnalytics.totalStorage.deleteItem = function(key){
|
423 |
-
return InboundAnalytics.totalStorage.impl.deleteItem(key);
|
424 |
-
};
|
425 |
-
|
426 |
-
/* Object to hold all methods: public and private */
|
427 |
-
|
428 |
-
InboundAnalytics.totalStorage.impl = {
|
429 |
-
|
430 |
-
init: function(key, value){
|
431 |
-
if (typeof value != 'undefined') {
|
432 |
-
return this.setItem(key, value);
|
433 |
-
} else {
|
434 |
-
return this.getItem(key);
|
435 |
-
}
|
436 |
-
},
|
437 |
-
|
438 |
-
setItem: function(key, value){
|
439 |
-
if (!supported){
|
440 |
-
try {
|
441 |
-
InboundAnalytics.Utils.createCookie((key, value);
|
442 |
-
return value;
|
443 |
-
} catch(e){
|
444 |
-
console.log('Local Storage not supported by this browser. Install the cookie plugin on your site to take advantage of the same functionality. You can get it at https://github.com/carhartl/jquery-cookie');
|
445 |
-
}
|
446 |
-
}
|
447 |
-
var saver = JSON.stringify(value);
|
448 |
-
ls.setItem(key, saver);
|
449 |
-
return this.parseResult(saver);
|
450 |
-
},
|
451 |
-
getItem: function(key){
|
452 |
-
if (!supported){
|
453 |
-
try {
|
454 |
-
return this.parseResult(InboundAnalytics.Utils.readCookie((key));
|
455 |
-
} catch(e){
|
456 |
-
return null;
|
457 |
-
}
|
458 |
-
}
|
459 |
-
var item = ls.getItem(key);
|
460 |
-
return this.parseResult(item);
|
461 |
-
},
|
462 |
-
deleteItem: function(key){
|
463 |
-
if (!supported){
|
464 |
-
try {
|
465 |
-
InboundAnalytics.Utils.eraseCookie((key, null);
|
466 |
-
return true;
|
467 |
-
} catch(e){
|
468 |
-
return false;
|
469 |
-
}
|
470 |
-
}
|
471 |
-
ls.removeItem(key);
|
472 |
-
return true;
|
473 |
-
},
|
474 |
-
getAll: function(){
|
475 |
-
var items = [];
|
476 |
-
if (!supported){
|
477 |
-
try {
|
478 |
-
var pairs = document.cookie.split(";");
|
479 |
-
for (var i = 0; i<pairs.length; i++){
|
480 |
-
var pair = pairs[i].split('=');
|
481 |
-
var key = pair[0];
|
482 |
-
items.push({key:key, value:this.parseResult(InboundAnalytics.Utils.readCookie((key))});
|
483 |
-
}
|
484 |
-
} catch(e){
|
485 |
-
return null;
|
486 |
-
}
|
487 |
-
} else {
|
488 |
-
for (var j in ls){
|
489 |
-
if (j.length){
|
490 |
-
items.push({key:j, value:this.parseResult(ls.getItem(j))});
|
491 |
-
}
|
492 |
-
}
|
493 |
-
}
|
494 |
-
return items;
|
495 |
-
},
|
496 |
-
parseResult: function(res){
|
497 |
-
var ret;
|
498 |
-
try {
|
499 |
-
ret = JSON.parse(res);
|
500 |
-
if (typeof ret == 'undefined'){
|
501 |
-
ret = res;
|
502 |
-
}
|
503 |
-
if (ret == 'true'){
|
504 |
-
ret = true;
|
505 |
-
}
|
506 |
-
if (ret == 'false'){
|
507 |
-
ret = false;
|
508 |
-
}
|
509 |
-
if (parseFloat(ret) == ret && typeof ret != "object"){
|
510 |
-
ret = parseFloat(ret);
|
511 |
-
}
|
512 |
-
} catch(e){
|
513 |
-
ret = res;
|
514 |
-
}
|
515 |
-
return ret;
|
516 |
-
}
|
517 |
-
};
|
518 |
-
})(InboundAnalytics || {});
|
519 |
-
|
520 |
-
var InboundAnalyticsPageTracking = (function (InboundAnalytics) {
|
521 |
-
|
522 |
-
InboundAnalytics.PageTracking = {
|
523 |
-
|
524 |
-
getPageViews: function () {
|
525 |
-
var local_store = InboundAnalytics.Utils.checkLocalStorage();
|
526 |
-
if(local_store){
|
527 |
-
var page_views = localStorage.getItem("page_views"),
|
528 |
-
local_object = JSON.parse(page_views);
|
529 |
-
if (typeof local_object =='object' && local_object) {
|
530 |
-
this.StorePageView();
|
531 |
-
}
|
532 |
-
return local_object;
|
533 |
-
}
|
534 |
-
},
|
535 |
-
StorePageView: function() {
|
536 |
-
var timeout = this.CheckTimeOut();
|
537 |
-
var pageviewObj = jQuery.totalStorage('page_views');
|
538 |
-
if(pageviewObj === null) {
|
539 |
-
pageviewObj = {};
|
540 |
-
}
|
541 |
-
var current_page_id = wplft.post_id;
|
542 |
-
var datetime = InboundAnalytics.Utils.GetDate();
|
543 |
-
|
544 |
-
if (timeout) {
|
545 |
-
// If pageviewObj exists, do this
|
546 |
-
var page_seen = pageviewObj[current_page_id];
|
547 |
-
|
548 |
-
if(typeof(page_seen) != "undefined" && page_seen !== null) {
|
549 |
-
pageviewObj[current_page_id].push(datetime);
|
550 |
-
/* Page Revisit Trigger */
|
551 |
-
var page_seen_count = pageviewObj[current_page_id].length;
|
552 |
-
InboundAnalytics.Events.pageRevisit(page_seen_count);
|
553 |
-
|
554 |
-
} else {
|
555 |
-
pageviewObj[current_page_id] = [];
|
556 |
-
pageviewObj[current_page_id].push(datetime);
|
557 |
-
/* Page First Seen Trigger */
|
558 |
-
var page_seen_count = 1;
|
559 |
-
InboundAnalytics.Events.pageFirstView(page_seen_count);
|
560 |
-
}
|
561 |
-
|
562 |
-
jQuery.totalStorage('page_views', pageviewObj);
|
563 |
-
|
564 |
-
}
|
565 |
-
},
|
566 |
-
CheckTimeOut: function() {
|
567 |
-
var PageViews = jQuery.totalStorage('page_views');
|
568 |
-
if(PageViews === null) {
|
569 |
-
var PageViews = {};
|
570 |
-
}
|
571 |
-
var page_id = wplft.post_id,
|
572 |
-
pageviewTimeout = true, /* Default */
|
573 |
-
page_seen = PageViews[page_id];
|
574 |
-
if(typeof(page_seen) != "undefined" && page_seen !== null) {
|
575 |
-
|
576 |
-
var time_now = InboundAnalytics.Utils.GetDate(),
|
577 |
-
vc = PageViews[page_id].length - 1,
|
578 |
-
last_view = PageViews[page_id][vc],
|
579 |
-
last_view_ms = new Date(last_view).getTime(),
|
580 |
-
time_now_ms = new Date(time_now).getTime(),
|
581 |
-
timeout_ms = last_view_ms + 30*1000,
|
582 |
-
time_check = Math.abs(last_view_ms - time_now_ms),
|
583 |
-
wait_time = 30000;
|
584 |
-
|
585 |
-
InboundAnalytics.debug('Timeout Checks =',function(){
|
586 |
-
console.log('Current Time is: ' + time_now);
|
587 |
-
console.log('Last view is: ' + last_view);
|
588 |
-
console.log("Last view milliseconds " + last_view_ms);
|
589 |
-
console.log("time now milliseconds " + time_now_ms);
|
590 |
-
console.log("Wait Check: " + wait_time);
|
591 |
-
console.log("TIME CHECK: " + time_check);
|
592 |
-
});
|
593 |
-
|
594 |
-
//var wait_time = Math.abs(last_view_ms - timeout_ms) // output timeout time 30sec;
|
595 |
-
|
596 |
-
if (time_check < wait_time){
|
597 |
-
time_left = Math.abs((wait_time - time_check)) * .001;
|
598 |
-
pageviewTimeout = false;
|
599 |
-
var status = '30 sec timeout not done: ' + time_left + " seconds left";
|
600 |
-
} else {
|
601 |
-
var status = 'Timeout Happened. Page view fired';
|
602 |
-
this.firePageView();
|
603 |
-
pageviewTimeout = true;
|
604 |
-
InboundAnalytics.Events.analyticsTriggered();
|
605 |
-
}
|
606 |
-
|
607 |
-
//InboundAnalytics.debug('',function(){
|
608 |
-
console.log(status);
|
609 |
-
//});
|
610 |
-
} else {
|
611 |
-
/* Page never seen before */
|
612 |
-
this.firePageView();
|
613 |
-
}
|
614 |
-
|
615 |
-
return pageviewTimeout;
|
616 |
-
|
617 |
-
},
|
618 |
-
firePageView: function() {
|
619 |
-
var lead_id = InboundAnalytics.Utils.readCookie('wp_lead_id'),
|
620 |
-
lead_uid = InboundAnalytics.Utils.readCookie('wp_lead_uid');
|
621 |
-
|
622 |
-
if (typeof (lead_id) != "undefined" && lead_id != null && lead_id != "") {
|
623 |
-
|
624 |
-
InboundAnalytics.debug('Run page view ajax');
|
625 |
-
|
626 |
-
var data = {
|
627 |
-
action: 'wpl_track_user',
|
628 |
-
wp_lead_uid: lead_uid,
|
629 |
-
wp_lead_id: lead_id,
|
630 |
-
page_id: wplft.post_id,
|
631 |
-
current_url: window.location.href,
|
632 |
-
json: '0'
|
633 |
-
};
|
634 |
-
var firePageCallback = function(user_id){
|
635 |
-
InboundAnalytics.Events.analyticsSaved();
|
636 |
-
};
|
637 |
-
InboundAnalytics.Utils.doAjax(data, firePageCallback);
|
638 |
-
}
|
639 |
-
},
|
640 |
-
tabSwitch: function() {
|
641 |
-
/* test out simplier script
|
642 |
-
function onBlur() {
|
643 |
-
document.body.className = 'blurred';
|
644 |
-
};
|
645 |
-
function onFocus(){
|
646 |
-
document.body.className = 'focused';
|
647 |
-
};
|
648 |
-
|
649 |
-
if (false) { // check for Internet Explorer
|
650 |
-
document.onfocusin = onFocus;
|
651 |
-
document.onfocusout = onBlur;
|
652 |
-
} else {
|
653 |
-
window.onfocus = onFocus;
|
654 |
-
window.onblur = onBlur;
|
655 |
-
}
|
656 |
-
*/
|
657 |
-
|
658 |
-
var hidden, visibilityState, visibilityChange;
|
659 |
-
|
660 |
-
if (typeof document.hidden !== "undefined") {
|
661 |
-
hidden = "hidden", visibilityChange = "visibilitychange", visibilityState = "visibilityState";
|
662 |
-
} else if (typeof document.mozHidden !== "undefined") {
|
663 |
-
hidden = "mozHidden", visibilityChange = "mozvisibilitychange", visibilityState = "mozVisibilityState";
|
664 |
-
} else if (typeof document.msHidden !== "undefined") {
|
665 |
-
hidden = "msHidden", visibilityChange = "msvisibilitychange", visibilityState = "msVisibilityState";
|
666 |
-
} else if (typeof document.webkitHidden !== "undefined") {
|
667 |
-
hidden = "webkitHidden", visibilityChange = "webkitvisibilitychange", visibilityState = "webkitVisibilityState";
|
668 |
-
} // if
|
669 |
-
|
670 |
-
var document_hidden = document[hidden];
|
671 |
-
|
672 |
-
document.addEventListener(visibilityChange, function() {
|
673 |
-
if(document_hidden != document[hidden]) {
|
674 |
-
if(document[hidden]) {
|
675 |
-
// Document hidden
|
676 |
-
console.log('hidden');
|
677 |
-
InboundAnalytics.Events.browserTabHidden();
|
678 |
-
} else {
|
679 |
-
// Document shown
|
680 |
-
console.log('shown');
|
681 |
-
InboundAnalytics.Events.browserTabVisible();
|
682 |
-
} // if
|
683 |
-
|
684 |
-
document_hidden = document[hidden];
|
685 |
-
} // if
|
686 |
-
});
|
687 |
-
}
|
688 |
-
}
|
689 |
-
|
690 |
-
return InboundAnalytics;
|
691 |
-
|
692 |
-
})(InboundAnalytics || {});
|
693 |
-
|
694 |
-
|
695 |
-
/**
|
696 |
-
* Leads API functions
|
697 |
-
* @param Object InboundAnalytics - Main JS object
|
698 |
-
* @return Object - include event triggers
|
699 |
-
*/
|
700 |
-
var InboundAnalyticsLeadsAPI = (function (InboundAnalytics) {
|
701 |
-
var httpRequest;
|
702 |
-
InboundAnalytics.LeadsAPI = {
|
703 |
-
init: function() {
|
704 |
-
|
705 |
-
},
|
706 |
-
storeLeadData: function(){
|
707 |
-
if(element.addEventListener) {
|
708 |
-
element.addEventListener("submit", function(evt){
|
709 |
-
evt.preventDefault();
|
710 |
-
window.history.back();
|
711 |
-
}, true);
|
712 |
-
} else {
|
713 |
-
element.attachEvent('onsubmit', function(evt){
|
714 |
-
evt.preventDefault();
|
715 |
-
window.history.back();
|
716 |
-
});
|
717 |
-
}
|
718 |
-
},
|
719 |
-
attachFormSubmitEvent: function (){
|
720 |
-
for(var i=0; i<window.document.forms.length; i++){
|
721 |
-
var form = window.document.forms[i];
|
722 |
-
var className = "wpl-track-me";
|
723 |
-
if ('classList' in document.documentElement) {
|
724 |
-
var hasClass = form.classList.contains(className);
|
725 |
-
} else {
|
726 |
-
var hasClass = new RegExp('(^|\\s)' + className + '(\\s|$)').test(form.className); /* IE Polyfill */
|
727 |
-
}
|
728 |
-
/* is tracked form */
|
729 |
-
if(hasClass){
|
730 |
-
console.log("Has Class", hasClass);
|
731 |
-
InboundAnalytics.Utils.addListener(form, 'submit', InboundAnalytics.LeadsAPI.formSubmit );
|
732 |
-
console.log(form);
|
733 |
-
}
|
734 |
-
|
735 |
-
}
|
736 |
-
console.log("RAN attach event");
|
737 |
-
},
|
738 |
-
makeRequest: function(url) {
|
739 |
-
if (window.XMLHttpRequest) { // Mozilla, Safari, ...
|
740 |
-
httpRequest = new XMLHttpRequest();
|
741 |
-
} else if (window.ActiveXObject) { // IE
|
742 |
-
try {
|
743 |
-
httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
|
744 |
-
}
|
745 |
-
catch (e) {
|
746 |
-
try {
|
747 |
-
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
|
748 |
-
}
|
749 |
-
catch (e) {}
|
750 |
-
}
|
751 |
-
}
|
752 |
-
|
753 |
-
if (!httpRequest) {
|
754 |
-
alert('Giving up :( Cannot create an XMLHTTP instance');
|
755 |
-
return false;
|
756 |
-
}
|
757 |
-
httpRequest.onreadystatechange = InboundAnalytics.LeadsAPI.alertContents;
|
758 |
-
httpRequest.open('GET', url);
|
759 |
-
httpRequest.send();
|
760 |
-
},
|
761 |
-
inbound_map_fields: function (el, value, Obj) {
|
762 |
-
var formObj = [];
|
763 |
-
var $this = el;
|
764 |
-
var clean_output = value;
|
765 |
-
var label = $this.closest('label').text();
|
766 |
-
var exclude = ['credit-card']; // exlcude values from formObj
|
767 |
-
var inarray = jQuery.inArray(clean_output, exclude);
|
768 |
-
if(inarray == 0){
|
769 |
-
return null;
|
770 |
-
}
|
771 |
-
// Add items to formObj
|
772 |
-
formObj.push({
|
773 |
-
field_label: label,
|
774 |
-
field_name: $this.attr("name"),
|
775 |
-
field_value: $this.attr("value"),
|
776 |
-
field_id: $this.attr("id"),
|
777 |
-
field_class: $this.attr("class"),
|
778 |
-
field_type: $this.attr("type"),
|
779 |
-
match: clean_output,
|
780 |
-
js_selector: $this.attr("data-js-selector")
|
781 |
-
});
|
782 |
-
return formObj;
|
783 |
-
},
|
784 |
-
run_field_map_function: function (el, lookingfor) {
|
785 |
-
var return_form;
|
786 |
-
var formObj = new Array();
|
787 |
-
var $this = el;
|
788 |
-
var body = jQuery("body");
|
789 |
-
var input_id = $this.attr("id") || "NULL";
|
790 |
-
var input_name = $this.attr("name") || "NULL";
|
791 |
-
var this_val = $this.attr("value");
|
792 |
-
var array = lookingfor.split(",");
|
793 |
-
var array_length = array.length - 1;
|
794 |
-
|
795 |
-
// Main Loop
|
796 |
-
for (var i = 0; i < array.length; i++) {
|
797 |
-
var clean_output = InboundAnalytics.Utils.trim(array[i]);
|
798 |
-
var nice_name = clean_output.replace(/^\s+|\s+$/g,'');
|
799 |
-
var nice_name = nice_name.replace(" ",'_');
|
800 |
-
var in_object_already = nice_name in inbound_data;
|
801 |
-
//console.log(clean_output);
|
802 |
-
|
803 |
-
if (input_name.toLowerCase().indexOf(clean_output)>-1) {
|
804 |
-
/* Look for attr name match */
|
805 |
-
var the_map = InboundAnalytics.LeadsAPI.inbound_map_fields($this, clean_output, formObj);
|
806 |
-
InboundAnalytics.LeadsAPI.add_inbound_form_class($this, clean_output);
|
807 |
-
console.log('match name: ' + clean_output);
|
808 |
-
console.log(nice_name in inbound_data);
|
809 |
-
if (!in_object_already) {
|
810 |
-
inbound_data[nice_name] = this_val;
|
811 |
-
}
|
812 |
-
} else if (input_id.toLowerCase().indexOf(clean_output)>-1) {
|
813 |
-
/* look for id match */
|
814 |
-
var the_map = InboundAnalytics.LeadsAPI.inbound_map_fields($this, clean_output, formObj);
|
815 |
-
InboundAnalytics.LeadsAPI.add_inbound_form_class($this, clean_output);
|
816 |
-
console.log('match id: ' + clean_output);
|
817 |
-
|
818 |
-
if (!in_object_already) {
|
819 |
-
inbound_data[nice_name] = this_val;
|
820 |
-
}
|
821 |
-
|
822 |
-
} else if ($this.closest('li').children('label').length>0) {
|
823 |
-
/* Look for label name match */
|
824 |
-
var closest_label = $this.closest('li').children('label').html() || "NULL";
|
825 |
-
if (closest_label.toLowerCase().indexOf(clean_output)>-1) {
|
826 |
-
|
827 |
-
var the_map = InboundAnalytics.LeadsAPI.inbound_map_fields($this, clean_output, formObj);
|
828 |
-
InboundAnalytics.LeadsAPI.add_inbound_form_class($this, clean_output);
|
829 |
-
console.log($this.context);
|
830 |
-
|
831 |
-
var exists_in_dom = body.find("[data-inbound-form-map='inbound_map_" + nice_name + "']").length;
|
832 |
-
console.log(exists_in_dom);
|
833 |
-
console.log('match li: ' + clean_output);
|
834 |
-
|
835 |
-
if (!in_object_already) {
|
836 |
-
inbound_data[nice_name] = this_val;
|
837 |
-
}
|
838 |
-
|
839 |
-
}
|
840 |
-
} else if ($this.closest('div').children('label').length>0) {
|
841 |
-
/* Look for closest div label name match */
|
842 |
-
var closest_div = $this.closest('div').children('label').html() || "NULL";
|
843 |
-
if (closest_div.toLowerCase().indexOf(clean_output)>-1)
|
844 |
-
{
|
845 |
-
var the_map = InboundAnalytics.LeadsAPI.inbound_map_fields($this, clean_output, formObj);
|
846 |
-
InboundAnalytics.LeadsAPI.add_inbound_form_class($this, clean_output);
|
847 |
-
console.log('match div: ' + clean_output);
|
848 |
-
if (!in_object_already) {
|
849 |
-
inbound_data[nice_name] = this_val;
|
850 |
-
}
|
851 |
-
}
|
852 |
-
} else if ($this.closest('p').children('label').length>0) {
|
853 |
-
/* Look for closest p label name match */
|
854 |
-
var closest_p = $this.closest('p').children('label').html() || "NULL";
|
855 |
-
if (closest_p.toLowerCase().indexOf(clean_output)>-1)
|
856 |
-
{
|
857 |
-
var the_map = InboundAnalytics.LeadsAPI.inbound_map_fields($this, clean_output, formObj);
|
858 |
-
InboundAnalytics.LeadsAPI.add_inbound_form_class($this, clean_output);
|
859 |
-
console.log('match p: ' + clean_output);
|
860 |
-
if (!in_object_already) {
|
861 |
-
inbound_data[nice_name] = this_val;
|
862 |
-
}
|
863 |
-
}
|
864 |
-
} else {
|
865 |
-
console.log('Need additional mapping data');
|
866 |
-
}
|
867 |
-
}
|
868 |
-
return_form = the_map;
|
869 |
-
|
870 |
-
return inbound_data;
|
871 |
-
},
|
872 |
-
add_inbound_form_class: function(el, value) {
|
873 |
-
var value = value.replace(" ", "_");
|
874 |
-
var value = value.replace("-", "_");
|
875 |
-
el.addClass('inbound_map_value');
|
876 |
-
el.attr('data-inbound-form-map', 'inbound_map_' + value);
|
877 |
-
},
|
878 |
-
inbound_form_type: function(this_form) {
|
879 |
-
var inbound_data = inbound_data || {},
|
880 |
-
form_type = 'normal';
|
881 |
-
if ( this_form.is( ".wpl-comment-form" ) ) {
|
882 |
-
inbound_data['form_type'] = 'comment';
|
883 |
-
form_type = 'comment';
|
884 |
-
} else if ( this_form.is( ".wpl-search-box" ) ) {
|
885 |
-
var is_search = true;
|
886 |
-
form_type = 'search';
|
887 |
-
inbound_data['form_type'] = 'search';
|
888 |
-
} else if ( this_form.is( '.wpl-track-me-link' ) ){
|
889 |
-
var have_email = readCookie('wp_lead_email');
|
890 |
-
console.log(have_email);
|
891 |
-
inbound_data['form_type'] = 'link';
|
892 |
-
form_type = 'search';
|
893 |
-
}
|
894 |
-
return form_type;
|
895 |
-
},
|
896 |
-
grab_all_form_input_vals: function(this_form){
|
897 |
-
var post_values = post_values || {},
|
898 |
-
inbound_exclude = inbound_exclude || [],
|
899 |
-
form_inputs = this_form.find('input,textarea,select');
|
900 |
-
inbound_exclude.push('inbound_furl', 'inbound_current_page_url', 'inbound_notify', 'inbound_submitted', 'post_type', 'post_status', 's', 'inbound_form_name', 'inbound_form_id', 'inbound_form_lists');
|
901 |
-
var form_type = InboundAnalytics.LeadsAPI.inbound_form_type(this_form),
|
902 |
-
inbound_data = inbound_data || {},
|
903 |
-
email = inbound_data['email'] || false;
|
904 |
-
|
905 |
-
form_inputs.each(function() {
|
906 |
-
var $input = jQuery(this),
|
907 |
-
input_type = $input.attr('type'),
|
908 |
-
input_val = $input.val();
|
909 |
-
if (input_type === 'checkbox') {
|
910 |
-
input_checked = $input.attr("checked");
|
911 |
-
console.log(input_val);
|
912 |
-
console.log(input_checked);
|
913 |
-
console.log(post_values[this.name]);
|
914 |
-
if (input_checked === "checked"){
|
915 |
-
if (typeof (post_values[this.name]) != "undefined") {
|
916 |
-
post_values[this.name] = post_values[this.name] + "," + input_val;
|
917 |
-
console.log(post_values[this.name]);
|
918 |
-
} else {
|
919 |
-
post_values[this.name] = input_val;
|
920 |
-
}
|
921 |
-
|
922 |
-
}
|
923 |
-
}
|
924 |
-
if (jQuery.inArray(this.name, inbound_exclude) === -1 && input_type != 'checkbox'){
|
925 |
-
post_values[this.name] = input_val;
|
926 |
-
}
|
927 |
-
if (this.value.indexOf('@')>-1&&!email){
|
928 |
-
email = input_val;
|
929 |
-
inbound_data['email'] = email;
|
930 |
-
}
|
931 |
-
if (form_type === 'search') {
|
932 |
-
inbound_data['search_keyword'] = input_val.replace('"', "'");
|
933 |
-
}
|
934 |
-
});
|
935 |
-
var all_form_fields = JSON.stringify(post_values);
|
936 |
-
return all_form_fields;
|
937 |
-
},
|
938 |
-
return_mapped_values: function (this_form) {
|
939 |
-
// Map form fields
|
940 |
-
jQuery(this_form).find('input[type!="hidden"],textarea,select').each(function() {
|
941 |
-
console.log('run');
|
942 |
-
var this_input = jQuery(this);
|
943 |
-
var this_input_val = this_input.val();
|
944 |
-
if (typeof (this_input_val) != "undefined" && this_input_val != null && this_input_val != "") {
|
945 |
-
var inbound_data = InboundAnalytics.LeadsAPI.run_field_map_function( this_input, "name, first name, last name, email, e-mail, phone, website, job title, company, tele, address, comment");
|
946 |
-
}
|
947 |
-
return inbound_data;
|
948 |
-
});
|
949 |
-
return inbound_data;
|
950 |
-
},
|
951 |
-
inbound_form_submit: function(this_form, e) {
|
952 |
-
/* Define Variables */
|
953 |
-
var data = inbound_data || {};
|
954 |
-
// Dynamic JS object for passing custom values. This can be hooked into by third parties by using the below syntax.
|
955 |
-
var pageviewObj = jQuery.totalStorage('page_views');
|
956 |
-
data['page_view_count'] = InboundAnalytics.Utils.countProperties(pageviewObj);
|
957 |
-
data['leads_list'] = jQuery(this_form).find('#inbound_form_lists').val();
|
958 |
-
data['source'] = jQuery.cookie("wp_lead_referral_site") || "NA";
|
959 |
-
data['page_id'] = inbound_ajax.post_id;
|
960 |
-
data['page_views'] = JSON.stringify(pageviewObj);
|
961 |
-
|
962 |
-
// Map form fields
|
963 |
-
var returned_form_data = InboundAnalytics.LeadsAPI.return_mapped_values(this_form); //console.log(returned_form_data);
|
964 |
-
var data = InboundAnalytics.Utils.mergeObjs(data,returned_form_data); //console.log(data);
|
965 |
-
var this_form = jQuery(this_form);
|
966 |
-
// Set variables after mapping
|
967 |
-
data['email'] = (!data['email']) ? this_form.find('.inbound-email').val() : data['email'];
|
968 |
-
data['form_name'] = this_form.find('.inbound_form_name').val() || "Not Found";
|
969 |
-
data['form_id'] = this_form.find('.inbound_form_id').val() || "Not Found";
|
970 |
-
data['first_name'] = (!data['first_name']) ? data['name'] : data['first_name'];
|
971 |
-
data['last_name'] = data['last_name'] || '';
|
972 |
-
data['phone'] = data['phone'] || '';
|
973 |
-
data['company'] = data['company'] || '';
|
974 |
-
data['address'] = data['address'] || '';
|
975 |
-
|
976 |
-
// Fallbacks for values
|
977 |
-
data['name'] = (data['first_name'] && data['last_name']) ? data['first_name'] + " " + data['last_name'] : data['name'];
|
978 |
-
|
979 |
-
if (!data['last_name'] && data['first_name']) {
|
980 |
-
var parts = data['first_name'].split(" ");
|
981 |
-
data['first_name'] = parts[0];
|
982 |
-
data['last_name'] = parts[1];
|
983 |
-
}
|
984 |
-
|
985 |
-
/* Store form fields & exclude field values */
|
986 |
-
var all_form_fields = InboundAnalytics.LeadsAPI.grab_all_form_input_vals(this_form);
|
987 |
-
/* end Store form fields & exclude field values */
|
988 |
-
|
989 |
-
if(data['email']){
|
990 |
-
InboundAnalytics.Utils.createCookie("wp_lead_email", data['email'], 365); /* set email cookie */
|
991 |
-
}
|
992 |
-
|
993 |
-
//var variation = (typeof (landing_path_info) != "undefined") ? landing_path_info.variation : false;
|
994 |
-
|
995 |
-
if (typeof (landing_path_info) != "undefined") {
|
996 |
-
var variation = landing_path_info.variation;
|
997 |
-
} else if (typeof (cta_path_info) != "undefined") {
|
998 |
-
var variation = cta_path_info.variation;
|
999 |
-
} else {
|
1000 |
-
var variation = 0;
|
1001 |
-
}
|
1002 |
-
|
1003 |
-
data['variation'] = variation;
|
1004 |
-
data['post_type'] = inbound_ajax.post_type;
|
1005 |
-
data['wp_lead_uid'] = jQuery.cookie("wp_lead_uid") || null;
|
1006 |
-
data['ip_address'] = inbound_ajax.ip_address;
|
1007 |
-
data['search_data'] = JSON.stringify(jQuery.totalStorage('inbound_search')) || {};
|
1008 |
-
|
1009 |
-
var lp_check = (inbound_ajax.post_type === 'landing-page') ? 'Landing Page' : "";
|
1010 |
-
var cta_check = (inbound_ajax.post_type === 'wp-call-to-action') ? 'Call to Action' : "";
|
1011 |
-
var page_type = (!cta_check && !lp_check) ? inbound_ajax.post_type : lp_check + cta_check;
|
1012 |
-
|
1013 |
-
// jsonify data
|
1014 |
-
var mapped_form_data = JSON.stringify(data);
|
1015 |
-
|
1016 |
-
var return_data = {};
|
1017 |
-
var return_data = {
|
1018 |
-
"action": 'inbound_store_lead',
|
1019 |
-
"emailTo": data['email'],
|
1020 |
-
"first_name": data['first_name'],
|
1021 |
-
"last_name": data['last_name'],
|
1022 |
-
"phone": data['phone'],
|
1023 |
-
"address": data['address'],
|
1024 |
-
"company_name": data['company'],
|
1025 |
-
"page_views": data['page_views'],
|
1026 |
-
"form_input_values": all_form_fields,
|
1027 |
-
"Mapped_Data": mapped_form_data,
|
1028 |
-
"Search_Data": data['search_data']
|
1029 |
-
}
|
1030 |
-
return return_data;
|
1031 |
-
},
|
1032 |
-
formSubmit: function (e){
|
1033 |
-
/*if(!confirm('Are you sure?')) {
|
1034 |
-
e.returnValue = false;
|
1035 |
-
if(e.preventDefault) e.preventDefault();
|
1036 |
-
return false;
|
1037 |
-
}
|
1038 |
-
return true;*/
|
1039 |
-
/*var inbound_data = inbound_data || {},
|
1040 |
-
this_form = e.target,
|
1041 |
-
event_type = e.type,
|
1042 |
-
is_search = false,
|
1043 |
-
form_type = 'normal';*/
|
1044 |
-
|
1045 |
-
e.preventDefault(); /* Halt form processing */
|
1046 |
-
console.log("This works");
|
1047 |
-
var data = InboundAnalytics.LeadsAPI.inbound_form_submit(e.target, e); // big function for processing
|
1048 |
-
console.log(data);
|
1049 |
-
alert('Working');
|
1050 |
-
//document.getElementById("ajaxButton").onclick = function() { makeRequest('test.html'); };
|
1051 |
-
|
1052 |
-
/* Final Ajax Call on Submit */
|
1053 |
-
InboundAnalytics.LeadsAPI.makeRequest('test.html');
|
1054 |
-
},
|
1055 |
-
alertContents: function() {
|
1056 |
-
if (httpRequest.readyState === 4) {
|
1057 |
-
if (httpRequest.status === 200) {
|
1058 |
-
alert(httpRequest.responseText);
|
1059 |
-
} else if(xmlhttp.status == 400) {
|
1060 |
-
alert('There was an error 400');
|
1061 |
-
} else {
|
1062 |
-
alert('There was a problem with the request.');
|
1063 |
-
}
|
1064 |
-
}
|
1065 |
-
},
|
1066 |
-
getAllLeadData: function(expire_check) {
|
1067 |
-
var wp_lead_id = InboundAnalytics.Utils.readCookie("wp_lead_id"),
|
1068 |
-
old_data = jQuery.totalStorage('inbound_lead_data'),
|
1069 |
-
data = {
|
1070 |
-
action: 'inbound_get_all_lead_data',
|
1071 |
-
wp_lead_id: wp_lead_id,
|
1072 |
-
},
|
1073 |
-
success = function(returnData){
|
1074 |
-
var obj = JSON.parse(returnData);
|
1075 |
-
console.log('RAAAAAAn');
|
1076 |
-
setGlobalLeadVar(obj);
|
1077 |
-
jQuery.totalStorage('inbound_lead_data', obj); // store lead data
|
1078 |
-
};
|
1079 |
-
|
1080 |
-
if(!old_data) {
|
1081 |
-
console.log("No old data");
|
1082 |
-
}
|
1083 |
-
|
1084 |
-
if (expire_check === 'true'){
|
1085 |
-
console.log("Session has not expired");
|
1086 |
-
}
|
1087 |
-
|
1088 |
-
if(!old_data && expire_check === null) {
|
1089 |
-
InboundAnalytics.debug('Go to Database',function(){
|
1090 |
-
console.log(expire_check);
|
1091 |
-
console.log(old_data);
|
1092 |
-
});
|
1093 |
-
InboundAnalytics.Utils.doAjax(data, success);
|
1094 |
-
} else {
|
1095 |
-
setGlobalLeadVar(old_data); // set global lead var with localstorage data
|
1096 |
-
var lead_data_expiration = InboundAnalytics.Utils.readCookie("lead_data_expiration");
|
1097 |
-
if (lead_data_expiration === null) {
|
1098 |
-
InboundAnalytics.Utils.doAjax(data, success);
|
1099 |
-
console.log('localized data old. Pull new from DB');
|
1100 |
-
}
|
1101 |
-
}
|
1102 |
-
|
1103 |
-
},
|
1104 |
-
getLeadLists: function() {
|
1105 |
-
var wp_lead_id = InboundAnalytics.Utils.readCookie("wp_lead_id");
|
1106 |
-
var data = {
|
1107 |
-
action: 'wpl_check_lists',
|
1108 |
-
wp_lead_id: wp_lead_id,
|
1109 |
-
};
|
1110 |
-
var success = function(user_id){
|
1111 |
-
jQuery.cookie("lead_session_list_check", true, { path: '/', expires: 1 });
|
1112 |
-
console.log("Lists checked");
|
1113 |
-
};
|
1114 |
-
InboundAnalytics.Utils.doAjax(data, success);
|
1115 |
-
}
|
1116 |
-
};
|
1117 |
-
|
1118 |
-
return InboundAnalytics;
|
1119 |
-
|
1120 |
-
})(InboundAnalytics || {});
|
1121 |
-
|
1122 |
-
/**
|
1123 |
-
* Custom Event Triggers for Leads -
|
1124 |
-
* The below functions illustrate how to use custom javascript callbacks to fire events
|
1125 |
-
* based on lead data and what they have and have not done on the site.
|
1126 |
-
*/
|
1127 |
-
/**
|
1128 |
-
|
1129 |
-
// Raw Javascript Version - trigger custom function on page view trigger
|
1130 |
-
|
1131 |
-
window.addEventListener("inbound_analytics_triggered", fireOnPageViewTrigger, false);
|
1132 |
-
function fireOnPageViewTrigger(){
|
1133 |
-
alert("page view was triggered");
|
1134 |
-
}
|
1135 |
-
|
1136 |
-
// jQuery version - trigger custom function on analytics loaded
|
1137 |
-
|
1138 |
-
jQuery(document).on('inbound_analytics_loaded', function (event, data) {
|
1139 |
-
console.log("inbound_analytics_loaded");
|
1140 |
-
});
|
1141 |
-
|
1142 |
-
// Raw Javascript Version - trigger custom function on page first seen
|
1143 |
-
|
1144 |
-
window.addEventListener("inbound_analytics_page_first_view", page_first_seen_function, false);
|
1145 |
-
function page_first_seen_function(){
|
1146 |
-
alert("This is the first time you have seen this page");
|
1147 |
-
}
|
1148 |
-
|
1149 |
-
// Raw Javascript Version - trigger custom function on page already seen
|
1150 |
-
|
1151 |
-
window.addEventListener("inbound_analytics_page_revisit", page_seen_function, false);
|
1152 |
-
function page_seen_function(e){
|
1153 |
-
var view_count = e.detail.count;
|
1154 |
-
console.log("This page has been seen " + e.detail.count + " times");
|
1155 |
-
if(view_count > 10){
|
1156 |
-
console.log("Page has been viewed more than 10 times");
|
1157 |
-
}
|
1158 |
-
}
|
1159 |
-
|
1160 |
-
// jQuery version - trigger custom function on page already seen via jQuery
|
1161 |
-
|
1162 |
-
jQuery(document).on('inbound_analytics_page_revisit', function (event, data) {
|
1163 |
-
console.log("inbound_analytics_page_revisit action triggered");
|
1164 |
-
//console.log(data);
|
1165 |
-
if(data.count > 10){
|
1166 |
-
console.log("Page has been viewed more than 10 times");
|
1167 |
-
}
|
1168 |
-
});
|
1169 |
-
*/
|
1170 |
-
|
1171 |
-
/**
|
1172 |
-
* Event functions
|
1173 |
-
* @param Object InboundAnalytics - Main JS object
|
1174 |
-
* @return Object - include event triggers
|
1175 |
-
*/
|
1176 |
-
// https://github.com/carldanley/WP-JS-Hooks/blob/master/src/event-manager.js
|
1177 |
-
var InboundAnalyticsEvents = (function (InboundAnalytics) {
|
1178 |
-
|
1179 |
-
InboundAnalytics.Events = {
|
1180 |
-
// Create cookie
|
1181 |
-
loadEvents: function() {
|
1182 |
-
this.analyticsLoaded();
|
1183 |
-
},
|
1184 |
-
triggerJQueryEvent: function(eventName, data){
|
1185 |
-
if (window.jQuery) {
|
1186 |
-
var data = data || {};
|
1187 |
-
jQuery(document).trigger(eventName, data);
|
1188 |
-
/* var something = (function() {
|
1189 |
-
var executed = false;
|
1190 |
-
return function () {
|
1191 |
-
if (!executed) {
|
1192 |
-
executed = true;
|
1193 |
-
console.log(eventName + " RAN");
|
1194 |
-
|
1195 |
-
}
|
1196 |
-
};
|
1197 |
-
})();*/
|
1198 |
-
}
|
1199 |
-
},
|
1200 |
-
analyticsLoaded: function() {
|
1201 |
-
var eventName = "inbound_analytics_loaded";
|
1202 |
-
var loaded = new CustomEvent(eventName);
|
1203 |
-
window.dispatchEvent(loaded);
|
1204 |
-
this.triggerJQueryEvent(eventName);
|
1205 |
-
},
|
1206 |
-
analyticsTriggered: function() {
|
1207 |
-
var triggered = new CustomEvent("inbound_analytics_triggered");
|
1208 |
-
window.dispatchEvent(triggered);
|
1209 |
-
},
|
1210 |
-
analyticsSaved: function() {
|
1211 |
-
var page_view_saved = new CustomEvent("inbound_analytics_saved");
|
1212 |
-
window.dispatchEvent(page_view_saved);
|
1213 |
-
console.log('Page View Saved');
|
1214 |
-
},
|
1215 |
-
analyticsError: function(MLHttpRequest, textStatus, errorThrown) {
|
1216 |
-
var error = new CustomEvent("inbound_analytics_error", {
|
1217 |
-
detail: {
|
1218 |
-
MLHttpRequest: MLHttpRequest,
|
1219 |
-
textStatus: textStatus,
|
1220 |
-
errorThrown: errorThrown
|
1221 |
-
}
|
1222 |
-
});
|
1223 |
-
window.dispatchEvent(error);
|
1224 |
-
console.log('Page Save Error');
|
1225 |
-
},
|
1226 |
-
pageFirstView: function(page_seen_count) {
|
1227 |
-
var page_first_view = new CustomEvent("inbound_analytics_page_first_view", {
|
1228 |
-
detail: {
|
1229 |
-
count: 1,
|
1230 |
-
time: new Date(),
|
1231 |
-
},
|
1232 |
-
bubbles: true,
|
1233 |
-
cancelable: true
|
1234 |
-
}
|
1235 |
-
);
|
1236 |
-
window.dispatchEvent(page_first_view);
|
1237 |
-
|
1238 |
-
console.log('First Ever Page View of this Page');
|
1239 |
-
},
|
1240 |
-
pageRevisit: function(page_seen_count) {
|
1241 |
-
var eventName = "inbound_analytics_page_revisit";
|
1242 |
-
var data = { count: page_seen_count,
|
1243 |
-
time: new Date()
|
1244 |
-
};
|
1245 |
-
var page_revisit = new CustomEvent(eventName, {
|
1246 |
-
detail: data,
|
1247 |
-
bubbles: true,
|
1248 |
-
cancelable: true
|
1249 |
-
}
|
1250 |
-
);
|
1251 |
-
window.dispatchEvent(page_revisit);
|
1252 |
-
this.triggerJQueryEvent(eventName, data);
|
1253 |
-
console.log('Page Revisit');
|
1254 |
-
},
|
1255 |
-
/* get idle times https://github.com/robflaherty/riveted/blob/master/riveted.js */
|
1256 |
-
browserTabHidden: function() {
|
1257 |
-
/* http://www.thefutureoftheweb.com/demo/2007-05-16-detect-browser-window-focus/ */
|
1258 |
-
var eventName = "inbound_analytics_tab_hidden";
|
1259 |
-
var tab_hidden = new CustomEvent(eventName);
|
1260 |
-
window.dispatchEvent(tab_hidden);
|
1261 |
-
console.log('Tab Hidden');
|
1262 |
-
this.triggerJQueryEvent(eventName);
|
1263 |
-
}
|
1264 |
-
browserTabVisible: function() {
|
1265 |
-
var eventName = "inbound_analytics_tab_visible";
|
1266 |
-
var tab_visible = new CustomEvent(eventName);
|
1267 |
-
window.dispatchEvent(tab_visible);
|
1268 |
-
console.log('Tab Visible');
|
1269 |
-
this.triggerJQueryEvent(eventName);
|
1270 |
-
},
|
1271 |
-
/* Scrol depth https://github.com/robflaherty/jquery-scrolldepth/blob/master/jquery.scrolldepth.js */
|
1272 |
-
sessionStart: function() {
|
1273 |
-
var session_start = new CustomEvent("inbound_analytics_session_start");
|
1274 |
-
window.dispatchEvent(session_start);
|
1275 |
-
console.log('Session Start');
|
1276 |
-
},
|
1277 |
-
sessionActive: function() {
|
1278 |
-
var session_active = new CustomEvent("inbound_analytics_session_active");
|
1279 |
-
window.dispatchEvent(session_active);
|
1280 |
-
console.log('Session Active');
|
1281 |
-
},
|
1282 |
-
|
1283 |
-
};
|
1284 |
-
|
1285 |
-
return InboundAnalytics;
|
1286 |
-
|
1287 |
-
})(InboundAnalytics || {});
|
1288 |
-
|
1289 |
-
var Lead_Globals = jQuery.totalStorage('inbound_lead_data') || null;
|
1290 |
-
function setGlobalLeadVar(retString){
|
1291 |
-
Lead_Globals = retString;
|
1292 |
-
}
|
1293 |
-
|
1294 |
-
InboundAnalytics.init(); // run analytics
|
1295 |
-
|
1296 |
-
/* run on ready */
|
1297 |
-
jQuery(document).ready(function($) {
|
1298 |
-
//record non conversion status
|
1299 |
-
var in_u = InboundAnalytics.Utils,
|
1300 |
-
wp_lead_uid = in_u.readCookie("wp_lead_uid"),
|
1301 |
-
wp_lead_id = in_u.readCookie("wp_lead_id"),
|
1302 |
-
expire_check = in_u.readCookie("lead_session_expire"); // check for session
|
1303 |
-
|
1304 |
-
if (expire_check === null) {
|
1305 |
-
console.log('expired vistor. Run Processes');
|
1306 |
-
//var data_to_lookup = global-localized-vars;
|
1307 |
-
if (typeof (wp_lead_id) != "undefined" && wp_lead_id != null && wp_lead_id != "") {
|
1308 |
-
/* Get Lead_Globals */
|
1309 |
-
InboundAnalytics.LeadsAPI.getAllLeadData(expire_check);
|
1310 |
-
/* Lead list check */
|
1311 |
-
InboundAnalytics.LeadsAPI.getLeadLists();
|
1312 |
-
}
|
1313 |
-
}
|
1314 |
-
|
1315 |
-
//window.addEventListener('load',function(){
|
1316 |
-
// InboundAnalytics.LeadsAPI.attachSubmitEvent(window,InboundAnalytics.LeadsAPI.formSubmit);
|
1317 |
-
//}, false);
|
1318 |
-
|
1319 |
-
in_u.contentLoaded(window, InboundAnalytics.LeadsAPI.attachFormSubmitEvent);
|
1320 |
-
|
1321 |
-
/* Set Session Timeout */
|
1322 |
-
in_u.SetSessionTimeout();
|
1323 |
-
|
1324 |
-
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
shared/assets/frontend/js/page-tracking.js
DELETED
@@ -1,693 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Lead Tracking JS
|
3 |
-
* http://www.inboundnow.com
|
4 |
-
*/
|
5 |
-
var InboundAnalytics = (function () {
|
6 |
-
|
7 |
-
var debugMode = false;
|
8 |
-
|
9 |
-
var _privateMethod = function () {
|
10 |
-
console.log('Run private');
|
11 |
-
};
|
12 |
-
|
13 |
-
var App = {
|
14 |
-
init: function () {
|
15 |
-
this.polyFills();
|
16 |
-
InboundAnalytics.PageTracking.StorePageView();
|
17 |
-
InboundAnalytics.Events.loadEvents();
|
18 |
-
InboundAnalytics.Utils.init();
|
19 |
-
},
|
20 |
-
polyFills: function() {
|
21 |
-
/* Console.log fix for old browsers */
|
22 |
-
if (!window.console) { window.console = {}; }
|
23 |
-
var m = [
|
24 |
-
"log", "info", "warn", "error", "debug", "trace", "dir", "group",
|
25 |
-
"groupCollapsed", "groupEnd", "time", "timeEnd", "profile", "profileEnd",
|
26 |
-
"dirxml", "assert", "count", "markTimeline", "timeStamp", "clear"
|
27 |
-
];
|
28 |
-
// define undefined methods as noops to prevent errors
|
29 |
-
for (var i = 0; i < m.length; i++) {
|
30 |
-
if (!window.console[m[i]]) {
|
31 |
-
window.console[m[i]] = function() {};
|
32 |
-
}
|
33 |
-
}
|
34 |
-
},
|
35 |
-
/* Debugger Function toggled by var debugMode */
|
36 |
-
debug: function(msg,callback){
|
37 |
-
//if app not in debug mode, exit immediately
|
38 |
-
if(!debugMode || !console){return};
|
39 |
-
var msg = msg || false;
|
40 |
-
//console.log the message
|
41 |
-
if(msg && (typeof msg === 'string')){console.log(msg)};
|
42 |
-
|
43 |
-
//execute the callback if one was passed-in
|
44 |
-
if(callback && (callback instanceof Function)){
|
45 |
-
callback();
|
46 |
-
};
|
47 |
-
}
|
48 |
-
};
|
49 |
-
|
50 |
-
return App;
|
51 |
-
|
52 |
-
})();
|
53 |
-
|
54 |
-
|
55 |
-
/**
|
56 |
-
* Utility functions
|
57 |
-
* @param Object InboundAnalytics - Main JS object
|
58 |
-
* @return Object - include util functions
|
59 |
-
*/
|
60 |
-
var InboundAnalyticsUtils = (function (InboundAnalytics) {
|
61 |
-
|
62 |
-
InboundAnalytics.Utils = {
|
63 |
-
init: function() {
|
64 |
-
this.setUrlParams();
|
65 |
-
this.SetUID();
|
66 |
-
this.getReferer();
|
67 |
-
|
68 |
-
},
|
69 |
-
// Create cookie
|
70 |
-
createCookie: function(name, value, days, custom_time) {
|
71 |
-
var expires = "";
|
72 |
-
if (days) {
|
73 |
-
var date = new Date();
|
74 |
-
date.setTime(date.getTime()+(days*24*60*60*1000));
|
75 |
-
expires = "; expires="+date.toGMTString();
|
76 |
-
}
|
77 |
-
if(custom_time){
|
78 |
-
expires = "; expires="+days.toGMTString();
|
79 |
-
}
|
80 |
-
document.cookie = name+"="+value+expires+"; path=/";
|
81 |
-
},
|
82 |
-
// Read cookie
|
83 |
-
readCookie: function(name) {
|
84 |
-
var nameEQ = name + "=";
|
85 |
-
var ca = document.cookie.split(';');
|
86 |
-
for(var i=0;i < ca.length;i++) {
|
87 |
-
var c = ca[i];
|
88 |
-
while (c.charAt(0) === ' ') {
|
89 |
-
c = c.substring(1,c.length);
|
90 |
-
}
|
91 |
-
if (c.indexOf(nameEQ) === 0) {
|
92 |
-
return c.substring(nameEQ.length,c.length);
|
93 |
-
}
|
94 |
-
}
|
95 |
-
return null;
|
96 |
-
},
|
97 |
-
// Erase cookie
|
98 |
-
eraseCookie: function(name) {
|
99 |
-
createCookie(name,"",-1);
|
100 |
-
},
|
101 |
-
getAllCookies: function(){
|
102 |
-
var cookies = {};
|
103 |
-
if (document.cookie && document.cookie != '') {
|
104 |
-
var split = document.cookie.split(';');
|
105 |
-
for (var i = 0; i < split.length; i++) {
|
106 |
-
var name_value = split[i].split("=");
|
107 |
-
name_value[0] = name_value[0].replace(/^ /, '');
|
108 |
-
cookies[decodeURIComponent(name_value[0])] = decodeURIComponent(name_value[1]);
|
109 |
-
}
|
110 |
-
}
|
111 |
-
jQuery.totalStorage('inbound_cookies', cookies); // store cookie data
|
112 |
-
return cookies;
|
113 |
-
},
|
114 |
-
/* Grab URL params and save */
|
115 |
-
setUrlParams: function() {
|
116 |
-
var urlParams = {},
|
117 |
-
local_store = InboundAnalytics.Utils.checkLocalStorage();
|
118 |
-
|
119 |
-
(function () {
|
120 |
-
var e,
|
121 |
-
d = function (s) { return decodeURIComponent(s).replace(/\+/g, " "); },
|
122 |
-
q = window.location.search.substring(1),
|
123 |
-
r = /([^&=]+)=?([^&]*)/g;
|
124 |
-
|
125 |
-
while (e = r.exec(q)) {
|
126 |
-
if (e[1].indexOf("[") == "-1")
|
127 |
-
urlParams[d(e[1])] = d(e[2]);
|
128 |
-
else {
|
129 |
-
var b1 = e[1].indexOf("["),
|
130 |
-
aN = e[1].slice(b1+1, e[1].indexOf("]", b1)),
|
131 |
-
pN = d(e[1].slice(0, b1));
|
132 |
-
|
133 |
-
if (typeof urlParams[pN] != "object")
|
134 |
-
urlParams[d(pN)] = {},
|
135 |
-
urlParams[d(pN)].length = 0;
|
136 |
-
|
137 |
-
if (aN)
|
138 |
-
urlParams[d(pN)][d(aN)] = d(e[2]);
|
139 |
-
else
|
140 |
-
Array.prototype.push.call(urlParams[d(pN)], d(e[2]));
|
141 |
-
|
142 |
-
}
|
143 |
-
}
|
144 |
-
})();
|
145 |
-
|
146 |
-
if (JSON) {
|
147 |
-
for (var k in urlParams) {
|
148 |
-
if (typeof urlParams[k] == "object") {
|
149 |
-
for (var k2 in urlParams[k])
|
150 |
-
this.createCookie(k2, urlParams[k][k2], 30);
|
151 |
-
} else {
|
152 |
-
this.createCookie(k, urlParams[k], 30);
|
153 |
-
}
|
154 |
-
}
|
155 |
-
}
|
156 |
-
|
157 |
-
if(local_store){
|
158 |
-
var pastParams = jQuery.totalStorage('inbound_url_params');
|
159 |
-
var params = this.mergeObjs(pastParams, urlParams);
|
160 |
-
jQuery.totalStorage('inbound_url_params', params); // store cookie data
|
161 |
-
}
|
162 |
-
},
|
163 |
-
getUrlParams: function(){
|
164 |
-
var local_store = this.checkLocalStorage(),
|
165 |
-
get_params = {};
|
166 |
-
if(local_store){
|
167 |
-
var get_params = jQuery.totalStorage('inbound_url_params');
|
168 |
-
}
|
169 |
-
return get_params;
|
170 |
-
},
|
171 |
-
// Check local storage
|
172 |
-
// provate browsing safari fix https://github.com/marcuswestin/store.js/issues/42#issuecomment-25274685
|
173 |
-
checkLocalStorage: function() {
|
174 |
-
if ('localStorage' in window) {
|
175 |
-
try {
|
176 |
-
ls = (typeof window.localStorage === 'undefined') ? undefined : window.localStorage;
|
177 |
-
if (typeof ls == 'undefined' || typeof window.JSON == 'undefined'){
|
178 |
-
supported = false;
|
179 |
-
} else {
|
180 |
-
supported = true;
|
181 |
-
}
|
182 |
-
|
183 |
-
}
|
184 |
-
catch (err){
|
185 |
-
supported = false;
|
186 |
-
}
|
187 |
-
}
|
188 |
-
return supported;
|
189 |
-
/* http://spin.atomicobject.com/2013/01/23/ios-private-browsing-localstorage/
|
190 |
-
var hasStorage;
|
191 |
-
hasStorage = function() {
|
192 |
-
var mod, result;
|
193 |
-
try {
|
194 |
-
mod = new Date;
|
195 |
-
localStorage.setItem(mod, mod.toString());
|
196 |
-
result = localStorage.getItem(mod) === mod.toString();
|
197 |
-
localStorage.removeItem(mod);
|
198 |
-
return result;
|
199 |
-
} catch (_error) {}
|
200 |
-
};
|
201 |
-
*/
|
202 |
-
},
|
203 |
-
/* Add days to datetime */
|
204 |
-
addDays: function(myDate,days) {
|
205 |
-
return new Date(myDate.getTime() + days*24*60*60*1000);
|
206 |
-
},
|
207 |
-
GetDate: function(){
|
208 |
-
var time_now = new Date(),
|
209 |
-
day = time_now.getDate() + 1;
|
210 |
-
year = time_now.getFullYear(),
|
211 |
-
hour = time_now.getHours(),
|
212 |
-
minutes = time_now.getMinutes(),
|
213 |
-
seconds = time_now.getSeconds(),
|
214 |
-
month = time_now.getMonth() + 1;
|
215 |
-
if (month < 10) { month = '0' + month; }
|
216 |
-
InboundAnalytics.debug('Current Date:',function(){
|
217 |
-
console.log(year + '/' + month + "/" + day + " " + hour + ":" + minutes + ":" + seconds);
|
218 |
-
});
|
219 |
-
var datetime = year + '/' + month + "/" + day + " " + hour + ":" + minutes + ":" + seconds;
|
220 |
-
return datetime;
|
221 |
-
},
|
222 |
-
/* Set Expiration Date of Session Logging */
|
223 |
-
SetSessionTimeout: function(){
|
224 |
-
var session_check = this.readCookie("lead_session_expire");
|
225 |
-
//console.log(session_check);
|
226 |
-
if(session_check === null){
|
227 |
-
InboundAnalytics.Events.sessionStart(); // trigger 'inbound_analytics_session_start'
|
228 |
-
} else {
|
229 |
-
InboundAnalytics.Events.sessionActive(); // trigger 'inbound_analytics_session_active'
|
230 |
-
}
|
231 |
-
var d = new Date();
|
232 |
-
d.setTime(d.getTime() + 30*60*1000);
|
233 |
-
|
234 |
-
this.createCookie("lead_session_expire", true, d, true); // Set cookie on page loads
|
235 |
-
var lead_data_expiration = this.readCookie("lead_data_expiration");
|
236 |
-
if (lead_data_expiration === null){
|
237 |
-
/* Set 3 day timeout for checking DB for new lead data for Lead_Global var */
|
238 |
-
var ex = this.addDays(d, 3);
|
239 |
-
this.createCookie("lead_data_expiration", ex, ex, true);
|
240 |
-
}
|
241 |
-
|
242 |
-
},
|
243 |
-
getReferer: function(){
|
244 |
-
//console.log(expire_time);
|
245 |
-
var d = new Date();
|
246 |
-
d.setTime(d.getTime() + 30*60*1000);
|
247 |
-
var referrer_cookie = InboundAnalytics.Utils.readCookie("wp_lead_referral_site");
|
248 |
-
if (typeof (referrer_cookie) === "undefined" || referrer_cookie === null || referrer_cookie === "") {
|
249 |
-
var referrer = document.referrer || "NA";
|
250 |
-
this.createCookie("wp_lead_referral_site", referrer, d, true); // Set cookie on page loads
|
251 |
-
}
|
252 |
-
},
|
253 |
-
CreateUID: function(length) {
|
254 |
-
var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz'.split(''),
|
255 |
-
str = '';
|
256 |
-
if (! length) {
|
257 |
-
length = Math.floor(Math.random() * chars.length);
|
258 |
-
}
|
259 |
-
for (var i = 0; i < length; i++) {
|
260 |
-
str += chars[Math.floor(Math.random() * chars.length)];
|
261 |
-
}
|
262 |
-
return str;
|
263 |
-
},
|
264 |
-
SetUID: function () {
|
265 |
-
/* Set Lead UID */
|
266 |
-
|
267 |
-
if(this.readCookie("wp_lead_uid") === null) {
|
268 |
-
var wp_lead_uid = this.CreateUID(35);
|
269 |
-
this.createCookie("wp_lead_uid", wp_lead_uid );
|
270 |
-
InboundAnalytics.debug('Set UID');
|
271 |
-
}
|
272 |
-
},
|
273 |
-
/* Count number of session visits */
|
274 |
-
countProperties: function (obj) {
|
275 |
-
var count = 0;
|
276 |
-
for(var prop in obj) {
|
277 |
-
if(obj.hasOwnProperty(prop))
|
278 |
-
++count;
|
279 |
-
}
|
280 |
-
return count;
|
281 |
-
},
|
282 |
-
mergeObjs: function(obj1,obj2){
|
283 |
-
var obj3 = {};
|
284 |
-
for (var attrname in obj1) { obj3[attrname] = obj1[attrname]; }
|
285 |
-
for (var attrname in obj2) { obj3[attrname] = obj2[attrname]; }
|
286 |
-
return obj3;
|
287 |
-
},
|
288 |
-
doAjax: function(data, responseHandler, method, async){
|
289 |
-
// Set the variables
|
290 |
-
var url = wplft.admin_url || "",
|
291 |
-
method = method || "POST",
|
292 |
-
async = async || true,
|
293 |
-
data = data || null,
|
294 |
-
action = data.action;
|
295 |
-
|
296 |
-
InboundAnalytics.debug('Ajax Processed:',function(){
|
297 |
-
console.log('ran ajax action: ' + action);
|
298 |
-
});
|
299 |
-
|
300 |
-
jQuery.ajax({
|
301 |
-
type: method,
|
302 |
-
url: wplft.admin_url,
|
303 |
-
data: data,
|
304 |
-
success: responseHandler,
|
305 |
-
error: function(MLHttpRequest, textStatus, errorThrown){
|
306 |
-
console.log(MLHttpRequest+' '+errorThrown+' '+textStatus);
|
307 |
-
InboundAnalytics.Events.analyticsError(MLHttpRequest, textStatus, errorThrown);
|
308 |
-
}
|
309 |
-
|
310 |
-
});
|
311 |
-
}
|
312 |
-
|
313 |
-
};
|
314 |
-
|
315 |
-
return InboundAnalytics;
|
316 |
-
|
317 |
-
})(InboundAnalytics || {});
|
318 |
-
|
319 |
-
|
320 |
-
var InboundAnalyticsPageTracking = (function (InboundAnalytics) {
|
321 |
-
|
322 |
-
InboundAnalytics.PageTracking = {
|
323 |
-
|
324 |
-
getPageViews: function () {
|
325 |
-
var local_store = InboundAnalytics.Utils.checkLocalStorage();
|
326 |
-
if(local_store){
|
327 |
-
var page_views = localStorage.getItem("page_views"),
|
328 |
-
local_object = JSON.parse(page_views);
|
329 |
-
if (typeof local_object =='object' && local_object) {
|
330 |
-
this.StorePageView();
|
331 |
-
}
|
332 |
-
return local_object;
|
333 |
-
}
|
334 |
-
},
|
335 |
-
StorePageView: function() {
|
336 |
-
var timeout = this.CheckTimeOut();
|
337 |
-
var pageviewObj = jQuery.totalStorage('page_views');
|
338 |
-
if(pageviewObj === null) {
|
339 |
-
pageviewObj = {};
|
340 |
-
}
|
341 |
-
var current_page_id = wplft.post_id;
|
342 |
-
var datetime = InboundAnalytics.Utils.GetDate();
|
343 |
-
|
344 |
-
if (timeout) {
|
345 |
-
// If pageviewObj exists, do this
|
346 |
-
var page_seen = pageviewObj[current_page_id];
|
347 |
-
|
348 |
-
if(typeof(page_seen) != "undefined" && page_seen !== null) {
|
349 |
-
pageviewObj[current_page_id].push(datetime);
|
350 |
-
/* Page Revisit Trigger */
|
351 |
-
var page_seen_count = pageviewObj[current_page_id].length;
|
352 |
-
InboundAnalytics.Events.pageRevisit(page_seen_count);
|
353 |
-
|
354 |
-
} else {
|
355 |
-
pageviewObj[current_page_id] = [];
|
356 |
-
pageviewObj[current_page_id].push(datetime);
|
357 |
-
/* Page First Seen Trigger */
|
358 |
-
var page_seen_count = 1;
|
359 |
-
InboundAnalytics.Events.pageFirstView(page_seen_count);
|
360 |
-
}
|
361 |
-
|
362 |
-
jQuery.totalStorage('page_views', pageviewObj);
|
363 |
-
|
364 |
-
}
|
365 |
-
},
|
366 |
-
CheckTimeOut: function() {
|
367 |
-
var PageViews = jQuery.totalStorage('page_views');
|
368 |
-
if(PageViews === null) {
|
369 |
-
var PageViews = {};
|
370 |
-
}
|
371 |
-
var page_id = wplft.post_id,
|
372 |
-
pageviewTimeout = true, /* Default */
|
373 |
-
page_seen = PageViews[page_id];
|
374 |
-
if(typeof(page_seen) != "undefined" && page_seen !== null) {
|
375 |
-
|
376 |
-
var time_now = InboundAnalytics.Utils.GetDate(),
|
377 |
-
vc = PageViews[page_id].length - 1,
|
378 |
-
last_view = PageViews[page_id][vc],
|
379 |
-
last_view_ms = new Date(last_view).getTime(),
|
380 |
-
time_now_ms = new Date(time_now).getTime(),
|
381 |
-
timeout_ms = last_view_ms + 30*1000,
|
382 |
-
time_check = Math.abs(last_view_ms - time_now_ms),
|
383 |
-
wait_time = 30000;
|
384 |
-
|
385 |
-
InboundAnalytics.debug('Timeout Checks =',function(){
|
386 |
-
console.log('Current Time is: ' + time_now);
|
387 |
-
console.log('Last view is: ' + last_view);
|
388 |
-
console.log("Last view milliseconds " + last_view_ms);
|
389 |
-
console.log("time now milliseconds " + time_now_ms);
|
390 |
-
console.log("Wait Check: " + wait_time);
|
391 |
-
console.log("TIME CHECK: " + time_check);
|
392 |
-
});
|
393 |
-
|
394 |
-
//var wait_time = Math.abs(last_view_ms - timeout_ms) // output timeout time 30sec;
|
395 |
-
|
396 |
-
if (time_check < wait_time){
|
397 |
-
time_left = Math.abs((wait_time - time_check)) * .001;
|
398 |
-
pageviewTimeout = false;
|
399 |
-
var status = '30 sec timeout not done: ' + time_left + " seconds left";
|
400 |
-
} else {
|
401 |
-
var status = 'Timeout Happened. Page view fired';
|
402 |
-
this.firePageView();
|
403 |
-
pageviewTimeout = true;
|
404 |
-
InboundAnalytics.Events.analyticsTriggered();
|
405 |
-
}
|
406 |
-
|
407 |
-
//InboundAnalytics.debug('',function(){
|
408 |
-
console.log(status);
|
409 |
-
//});
|
410 |
-
} else {
|
411 |
-
/* Page never seen before */
|
412 |
-
this.firePageView();
|
413 |
-
}
|
414 |
-
|
415 |
-
return pageviewTimeout;
|
416 |
-
|
417 |
-
},
|
418 |
-
firePageView: function() {
|
419 |
-
var lead_id = InboundAnalytics.Utils.readCookie('wp_lead_id'),
|
420 |
-
lead_uid = InboundAnalytics.Utils.readCookie('wp_lead_uid');
|
421 |
-
|
422 |
-
if (typeof (lead_id) != "undefined" && lead_id != null && lead_id != "") {
|
423 |
-
|
424 |
-
InboundAnalytics.debug('Run page view ajax');
|
425 |
-
|
426 |
-
var data = {
|
427 |
-
action: 'wpl_track_user',
|
428 |
-
wp_lead_uid: lead_uid,
|
429 |
-
wp_lead_id: lead_id,
|
430 |
-
page_id: wplft.post_id,
|
431 |
-
current_url: window.location.href,
|
432 |
-
json: '0'
|
433 |
-
};
|
434 |
-
var firePageCallback = function(user_id){
|
435 |
-
InboundAnalytics.Events.analyticsSaved();
|
436 |
-
};
|
437 |
-
InboundAnalytics.Utils.doAjax(data, firePageCallback);
|
438 |
-
}
|
439 |
-
}
|
440 |
-
}
|
441 |
-
|
442 |
-
return InboundAnalytics;
|
443 |
-
|
444 |
-
})(InboundAnalytics || {});
|
445 |
-
|
446 |
-
|
447 |
-
/**
|
448 |
-
* Leads API functions
|
449 |
-
* @param Object InboundAnalytics - Main JS object
|
450 |
-
* @return Object - include event triggers
|
451 |
-
*/
|
452 |
-
var InboundAnalyticsLeadsAPI = (function (InboundAnalytics) {
|
453 |
-
|
454 |
-
InboundAnalytics.LeadsAPI = {
|
455 |
-
init: function() {
|
456 |
-
|
457 |
-
},
|
458 |
-
getAllLeadData: function(expire_check) {
|
459 |
-
var wp_lead_id = InboundAnalytics.Utils.readCookie("wp_lead_id"),
|
460 |
-
old_data = jQuery.totalStorage('inbound_lead_data'),
|
461 |
-
data = {
|
462 |
-
action: 'inbound_get_all_lead_data',
|
463 |
-
wp_lead_id: wp_lead_id,
|
464 |
-
},
|
465 |
-
success = function(returnData){
|
466 |
-
var obj = JSON.parse(returnData);
|
467 |
-
console.log('RAAAAAAn');
|
468 |
-
setGlobalLeadVar(obj);
|
469 |
-
jQuery.totalStorage('inbound_lead_data', obj); // store lead data
|
470 |
-
};
|
471 |
-
|
472 |
-
if(!old_data) {
|
473 |
-
console.log("No old data");
|
474 |
-
}
|
475 |
-
|
476 |
-
if (expire_check === 'true'){
|
477 |
-
console.log("Session has not expired");
|
478 |
-
}
|
479 |
-
|
480 |
-
if(!old_data && expire_check === null) {
|
481 |
-
InboundAnalytics.debug('Go to Database',function(){
|
482 |
-
console.log(expire_check);
|
483 |
-
console.log(old_data);
|
484 |
-
});
|
485 |
-
InboundAnalytics.Utils.doAjax(data, success);
|
486 |
-
} else {
|
487 |
-
setGlobalLeadVar(old_data); // set global lead var with localstorage data
|
488 |
-
var lead_data_expiration = InboundAnalytics.Utils.readCookie("lead_data_expiration");
|
489 |
-
if (lead_data_expiration === null) {
|
490 |
-
InboundAnalytics.Utils.doAjax(data, success);
|
491 |
-
console.log('localized data old. Pull new from DB');
|
492 |
-
}
|
493 |
-
}
|
494 |
-
|
495 |
-
},
|
496 |
-
getLeadLists: function() {
|
497 |
-
var wp_lead_id = InboundAnalytics.Utils.readCookie("wp_lead_id");
|
498 |
-
var data = {
|
499 |
-
action: 'wpl_check_lists',
|
500 |
-
wp_lead_id: wp_lead_id,
|
501 |
-
};
|
502 |
-
var success = function(user_id){
|
503 |
-
jQuery.cookie("lead_session_list_check", true, { path: '/', expires: 1 });
|
504 |
-
console.log("Lists checked");
|
505 |
-
};
|
506 |
-
InboundAnalytics.Utils.doAjax(data, success);
|
507 |
-
}
|
508 |
-
};
|
509 |
-
|
510 |
-
return InboundAnalytics;
|
511 |
-
|
512 |
-
})(InboundAnalytics || {});
|
513 |
-
|
514 |
-
|
515 |
-
/**
|
516 |
-
* Custom Event Triggers for Leads -
|
517 |
-
* The below functions illustrate how to use custom javascript callbacks to fire events
|
518 |
-
* based on lead data and what they have and have not done on the site.
|
519 |
-
*/
|
520 |
-
/**
|
521 |
-
|
522 |
-
// Raw Javascript Version - trigger custom function on page view trigger
|
523 |
-
|
524 |
-
window.addEventListener("inbound_analytics_triggered", fireOnPageViewTrigger, false);
|
525 |
-
function fireOnPageViewTrigger(){
|
526 |
-
alert("page view was triggered");
|
527 |
-
}
|
528 |
-
|
529 |
-
// jQuery version - trigger custom function on analytics loaded
|
530 |
-
|
531 |
-
jQuery(document).on('inbound_analytics_loaded', function (event, data) {
|
532 |
-
console.log("inbound_analytics_loaded");
|
533 |
-
});
|
534 |
-
|
535 |
-
// Raw Javascript Version - trigger custom function on page first seen
|
536 |
-
|
537 |
-
window.addEventListener("inbound_analytics_page_first_view", page_first_seen_function, false);
|
538 |
-
function page_first_seen_function(){
|
539 |
-
alert("This is the first time you have seen this page");
|
540 |
-
}
|
541 |
-
|
542 |
-
// Raw Javascript Version - trigger custom function on page already seen
|
543 |
-
|
544 |
-
window.addEventListener("inbound_analytics_page_revisit", page_seen_function, false);
|
545 |
-
function page_seen_function(e){
|
546 |
-
var view_count = e.detail.count;
|
547 |
-
console.log("This page has been seen " + e.detail.count + " times");
|
548 |
-
if(view_count > 10){
|
549 |
-
console.log("Page has been viewed more than 10 times");
|
550 |
-
}
|
551 |
-
}
|
552 |
-
|
553 |
-
// jQuery version - trigger custom function on page already seen via jQuery
|
554 |
-
|
555 |
-
jQuery(document).on('inbound_analytics_page_revisit', function (event, data) {
|
556 |
-
console.log("inbound_analytics_page_revisit action triggered");
|
557 |
-
//console.log(data);
|
558 |
-
if(data.count > 10){
|
559 |
-
console.log("Page has been viewed more than 10 times");
|
560 |
-
}
|
561 |
-
});
|
562 |
-
*/
|
563 |
-
|
564 |
-
/**
|
565 |
-
* Event functions
|
566 |
-
* @param Object InboundAnalytics - Main JS object
|
567 |
-
* @return Object - include event triggers
|
568 |
-
*/
|
569 |
-
var InboundAnalyticsEvents = (function (InboundAnalytics) {
|
570 |
-
|
571 |
-
InboundAnalytics.Events = {
|
572 |
-
// Create cookie
|
573 |
-
loadEvents: function() {
|
574 |
-
this.analyticsLoaded();
|
575 |
-
},
|
576 |
-
triggerJQueryEvent: function(eventName, data){
|
577 |
-
if (window.jQuery) {
|
578 |
-
var data = data || {};
|
579 |
-
jQuery(document).trigger(eventName, data);
|
580 |
-
/* var something = (function() {
|
581 |
-
var executed = false;
|
582 |
-
return function () {
|
583 |
-
if (!executed) {
|
584 |
-
executed = true;
|
585 |
-
console.log(eventName + " RAN");
|
586 |
-
|
587 |
-
}
|
588 |
-
};
|
589 |
-
})();*/
|
590 |
-
}
|
591 |
-
},
|
592 |
-
analyticsLoaded: function() {
|
593 |
-
var eventName = "inbound_analytics_loaded";
|
594 |
-
var loaded = new CustomEvent(eventName);
|
595 |
-
window.dispatchEvent(loaded);
|
596 |
-
this.triggerJQueryEvent(eventName);
|
597 |
-
},
|
598 |
-
analyticsTriggered: function() {
|
599 |
-
var triggered = new CustomEvent("inbound_analytics_triggered");
|
600 |
-
window.dispatchEvent(triggered);
|
601 |
-
},
|
602 |
-
analyticsSaved: function() {
|
603 |
-
var page_view_saved = new CustomEvent("inbound_analytics_saved");
|
604 |
-
window.dispatchEvent(page_view_saved);
|
605 |
-
console.log('Page View Saved');
|
606 |
-
},
|
607 |
-
analyticsError: function(MLHttpRequest, textStatus, errorThrown) {
|
608 |
-
var error = new CustomEvent("inbound_analytics_error", {
|
609 |
-
detail: {
|
610 |
-
MLHttpRequest: MLHttpRequest,
|
611 |
-
textStatus: textStatus,
|
612 |
-
errorThrown: errorThrown
|
613 |
-
}
|
614 |
-
});
|
615 |
-
window.dispatchEvent(error);
|
616 |
-
console.log('Page Save Error');
|
617 |
-
},
|
618 |
-
pageFirstView: function(page_seen_count) {
|
619 |
-
var page_first_view = new CustomEvent("inbound_analytics_page_first_view", {
|
620 |
-
detail: {
|
621 |
-
count: 1,
|
622 |
-
time: new Date(),
|
623 |
-
},
|
624 |
-
bubbles: true,
|
625 |
-
cancelable: true
|
626 |
-
}
|
627 |
-
);
|
628 |
-
window.dispatchEvent(page_first_view);
|
629 |
-
|
630 |
-
console.log('First Ever Page View of this Page');
|
631 |
-
},
|
632 |
-
pageRevisit: function(page_seen_count) {
|
633 |
-
var eventName = "inbound_analytics_page_revisit";
|
634 |
-
var data = { count: page_seen_count,
|
635 |
-
time: new Date()
|
636 |
-
};
|
637 |
-
var page_revisit = new CustomEvent(eventName, {
|
638 |
-
detail: data,
|
639 |
-
bubbles: true,
|
640 |
-
cancelable: true
|
641 |
-
}
|
642 |
-
);
|
643 |
-
window.dispatchEvent(page_revisit);
|
644 |
-
this.triggerJQueryEvent(eventName, data);
|
645 |
-
console.log('Page Revisit');
|
646 |
-
},
|
647 |
-
sessionStart: function() {
|
648 |
-
var session_start = new CustomEvent("inbound_analytics_session_start");
|
649 |
-
window.dispatchEvent(session_start);
|
650 |
-
console.log('Session Start');
|
651 |
-
},
|
652 |
-
sessionActive: function() {
|
653 |
-
var session_active = new CustomEvent("inbound_analytics_session_active");
|
654 |
-
window.dispatchEvent(session_active);
|
655 |
-
console.log('Session Active');
|
656 |
-
},
|
657 |
-
|
658 |
-
};
|
659 |
-
|
660 |
-
return InboundAnalytics;
|
661 |
-
|
662 |
-
})(InboundAnalytics || {});
|
663 |
-
|
664 |
-
var Lead_Globals = jQuery.totalStorage('inbound_lead_data') || null;
|
665 |
-
function setGlobalLeadVar(retString){
|
666 |
-
Lead_Globals = retString;
|
667 |
-
}
|
668 |
-
|
669 |
-
InboundAnalytics.init(); // run analytics
|
670 |
-
|
671 |
-
/* run on ready */
|
672 |
-
jQuery(document).ready(function($) {
|
673 |
-
//record non conversion status
|
674 |
-
var in_u = InboundAnalytics.Utils,
|
675 |
-
wp_lead_uid = in_u.readCookie("wp_lead_uid"),
|
676 |
-
wp_lead_id = in_u.readCookie("wp_lead_id"),
|
677 |
-
expire_check = in_u.readCookie("lead_session_expire"); // check for session
|
678 |
-
|
679 |
-
if (expire_check === null) {
|
680 |
-
console.log('expired vistor. Run Processes');
|
681 |
-
//var data_to_lookup = global-localized-vars;
|
682 |
-
if (typeof (wp_lead_id) != "undefined" && wp_lead_id != null && wp_lead_id != "") {
|
683 |
-
/* Get Lead_Globals */
|
684 |
-
InboundAnalytics.LeadsAPI.getAllLeadData(expire_check);
|
685 |
-
/* Lead list check */
|
686 |
-
InboundAnalytics.LeadsAPI.getLeadLists();
|
687 |
-
}
|
688 |
-
}
|
689 |
-
|
690 |
-
/* Set Session Timeout */
|
691 |
-
InboundAnalytics.Utils.SetSessionTimeout();
|
692 |
-
|
693 |
-
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
shared/assets/frontend/js/store.lead.ajax-new.js
DELETED
@@ -1,699 +0,0 @@
|
|
1 |
-
//
|
2 |
-
//var inbound_data = inbound_data || {};
|
3 |
-
//// Ensure global _gaq Google Analytics queue has been initialized.
|
4 |
-
//var _gaq = _gaq || [];
|
5 |
-
//
|
6 |
-
//function add_inbound_form_class(el, value) {
|
7 |
-
// //var value = value.replace(" ", "_");
|
8 |
-
// //var value = value.replace("-", "_");
|
9 |
-
// //el.addClass('inbound_map_value');
|
10 |
-
// //el.attr('data-inbound-form-map', 'inbound_map_' + value);
|
11 |
-
//}
|
12 |
-
//// http://clubmate.fi/setting-and-reading-cookies-with-javascript/
|
13 |
-
//function createCookie(name, value, days) {
|
14 |
-
// var expires;
|
15 |
-
// if (days) {
|
16 |
-
// var date = new Date();
|
17 |
-
// date.setTime(date.getTime()+(days*24*60*60*1000));
|
18 |
-
// expires = "; expires="+date.toGMTString();
|
19 |
-
// }
|
20 |
-
// else {
|
21 |
-
// expires = "";
|
22 |
-
// }
|
23 |
-
// document.cookie = name+"="+value+expires+"; path=/";
|
24 |
-
//}
|
25 |
-
//// Read cookie
|
26 |
-
//function readCookie(name) {
|
27 |
-
// var nameEQ = name + "=";
|
28 |
-
// var ca = document.cookie.split(';');
|
29 |
-
// for(var i=0;i < ca.length;i++) {
|
30 |
-
// var c = ca[i];
|
31 |
-
// while (c.charAt(0) === ' ') {
|
32 |
-
// c = c.substring(1,c.length);
|
33 |
-
// }
|
34 |
-
// if (c.indexOf(nameEQ) === 0) {
|
35 |
-
// return c.substring(nameEQ.length,c.length);
|
36 |
-
// }
|
37 |
-
// }
|
38 |
-
// return null;
|
39 |
-
//}
|
40 |
-
//// Erase cookie
|
41 |
-
//function eraseCookie(name) {
|
42 |
-
// createCookie(name,"",-1);
|
43 |
-
//}
|
44 |
-
//
|
45 |
-
///* Count number of session visits */
|
46 |
-
//function countProperties(obj) {
|
47 |
-
// var count = 0;
|
48 |
-
// for(var prop in obj) {
|
49 |
-
// if(obj.hasOwnProperty(prop))
|
50 |
-
// ++count;
|
51 |
-
// }
|
52 |
-
// return count;
|
53 |
-
//}
|
54 |
-
//
|
55 |
-
//
|
56 |
-
//function get_inbound_form_value(el) {
|
57 |
-
// var value = el.value;
|
58 |
-
// return value;
|
59 |
-
//}
|
60 |
-
//
|
61 |
-
//
|
62 |
-
//// Build Form Object
|
63 |
-
//function inbound_map_fields(el, value, Obj) {
|
64 |
-
// var formObj = [];
|
65 |
-
// var $this = el;
|
66 |
-
// var clean_output = value;
|
67 |
-
// var label = $this.closest('label').text();
|
68 |
-
// var exclude = ['credit-card']; // exlcude values from formObj
|
69 |
-
// var inarray = jQuery.inArray(clean_output, exclude);
|
70 |
-
// if(inarray == 0){
|
71 |
-
// return null;
|
72 |
-
// }
|
73 |
-
// // Add items to formObj
|
74 |
-
// formObj.push({
|
75 |
-
// field_label: label,
|
76 |
-
// field_name: $this.attr("name"),
|
77 |
-
// field_value: $this.attr("value"),
|
78 |
-
// field_id: $this.attr("id"),
|
79 |
-
// field_class: $this.attr("class"),
|
80 |
-
// field_type: $this.attr("type"),
|
81 |
-
// match: clean_output,
|
82 |
-
// js_selector: $this.attr("data-js-selector")
|
83 |
-
// });
|
84 |
-
// return formObj;
|
85 |
-
//}
|
86 |
-
//
|
87 |
-
//// Trim Whitespace
|
88 |
-
//function trim(s) {
|
89 |
-
// s = s.replace(/(^\s*)|(\s*$)/gi,"");
|
90 |
-
// s = s.replace(/[ ]{2,}/gi," ");
|
91 |
-
// s = s.replace(/\n /,"\n"); return s;
|
92 |
-
//}
|
93 |
-
//
|
94 |
-
//function inbound_ga_log_event(category, action, label) {
|
95 |
-
// _gaq.push(['_trackEvent', category, action, label]);
|
96 |
-
//}
|
97 |
-
//
|
98 |
-
//// Run Form Mapper
|
99 |
-
//// TODO check for already processesed fields via in_object_already
|
100 |
-
//// check on the dupe value
|
101 |
-
//function run_field_map_function(el, lookingfor) {
|
102 |
-
// var return_form;
|
103 |
-
// var formObj = new Array();
|
104 |
-
// var $this = el;
|
105 |
-
// var body = jQuery("body");
|
106 |
-
// var input_id = $this.attr("id") || "NULL";
|
107 |
-
// var input_name = $this.attr("name") || "NULL";
|
108 |
-
// var this_val = $this.attr("value");
|
109 |
-
// var array = lookingfor.split(",");
|
110 |
-
// var array_length = array.length - 1;
|
111 |
-
//
|
112 |
-
// // Main Loop
|
113 |
-
// for (var i = 0; i < array.length; i++) {
|
114 |
-
// var clean_output = trim(array[i]);
|
115 |
-
// var nice_name = clean_output.replace(/^\s+|\s+$/g,'');
|
116 |
-
// var nice_name = nice_name.replace(" ",'_');
|
117 |
-
// var in_object_already = nice_name in inbound_data;
|
118 |
-
// //console.log(clean_output);
|
119 |
-
//
|
120 |
-
// // Look for attr name match
|
121 |
-
// if (input_name.toLowerCase().indexOf(clean_output)>-1) {
|
122 |
-
// var the_map = inbound_map_fields($this, clean_output, formObj);
|
123 |
-
// add_inbound_form_class($this, clean_output);
|
124 |
-
// console.log('match name: ' + clean_output);
|
125 |
-
// console.log(nice_name in inbound_data);
|
126 |
-
// if (!in_object_already) {
|
127 |
-
// inbound_data[nice_name] = this_val;
|
128 |
-
// }
|
129 |
-
// }
|
130 |
-
// // look for id match
|
131 |
-
// else if (input_id.toLowerCase().indexOf(clean_output)>-1) {
|
132 |
-
// var the_map = inbound_map_fields($this, clean_output, formObj);
|
133 |
-
// add_inbound_form_class($this, clean_output);
|
134 |
-
// console.log('match id: ' + clean_output);
|
135 |
-
// if (!in_object_already) {
|
136 |
-
// inbound_data[nice_name] = this_val;
|
137 |
-
// }
|
138 |
-
// }
|
139 |
-
// // Look for label name match
|
140 |
-
// else if ($this.closest('li').children('label').length>0){
|
141 |
-
// var closest_label = $this.closest('li').children('label').html() || "NULL";
|
142 |
-
// if (closest_label.toLowerCase().indexOf(clean_output)>-1)
|
143 |
-
// {
|
144 |
-
// var the_map = inbound_map_fields($this, clean_output, formObj);
|
145 |
-
// add_inbound_form_class($this, clean_output);
|
146 |
-
// console.log($this.context);
|
147 |
-
//
|
148 |
-
// var exists_in_dom = body.find("[data-inbound-form-map='inbound_map_" + nice_name + "']").length;
|
149 |
-
// console.log(exists_in_dom);
|
150 |
-
// console.log('match li: ' + clean_output);
|
151 |
-
// if (!in_object_already) {
|
152 |
-
// inbound_data[nice_name] = this_val;
|
153 |
-
// }
|
154 |
-
//
|
155 |
-
// }
|
156 |
-
// }
|
157 |
-
// // Look for closest div label name match
|
158 |
-
// else if ($this.closest('div').children('label').length>0) {
|
159 |
-
// var closest_div = $this.closest('div').children('label').html() || "NULL";
|
160 |
-
// if (closest_div.toLowerCase().indexOf(clean_output)>-1)
|
161 |
-
// {
|
162 |
-
// var the_map = inbound_map_fields($this, clean_output, formObj);
|
163 |
-
// add_inbound_form_class($this, clean_output);
|
164 |
-
// console.log('match div: ' + clean_output);
|
165 |
-
// if (!in_object_already) {
|
166 |
-
// inbound_data[nice_name] = this_val;
|
167 |
-
// }
|
168 |
-
// }
|
169 |
-
// }
|
170 |
-
// // Look for closest p label name match
|
171 |
-
// else if ($this.closest('p').children('label').length>0) {
|
172 |
-
// var closest_p = $this.closest('p').children('label').html() || "NULL";
|
173 |
-
// if (closest_p.toLowerCase().indexOf(clean_output)>-1)
|
174 |
-
// {
|
175 |
-
// var the_map = inbound_map_fields($this, clean_output, formObj);
|
176 |
-
// add_inbound_form_class($this, clean_output);
|
177 |
-
// console.log('match p: ' + clean_output);
|
178 |
-
// if (!in_object_already) {
|
179 |
-
// inbound_data[nice_name] = this_val;
|
180 |
-
// }
|
181 |
-
// }
|
182 |
-
// } else {
|
183 |
-
// console.log('Need additional mapping data');
|
184 |
-
// }
|
185 |
-
// }
|
186 |
-
// return_form = the_map;
|
187 |
-
//
|
188 |
-
// return inbound_data;
|
189 |
-
//}
|
190 |
-
//
|
191 |
-
//function return_mapped_values(this_form) {
|
192 |
-
// // Map form fields
|
193 |
-
// jQuery(this_form).find('input[type!="hidden"],textarea,select').each(function() {
|
194 |
-
// console.log('run');
|
195 |
-
// var this_input = jQuery(this);
|
196 |
-
// var this_input_val = this_input.val();
|
197 |
-
// if (typeof (this_input_val) != "undefined" && this_input_val != null && this_input_val != "") {
|
198 |
-
//var inbound_data = run_field_map_function( this_input, "name, first name, last name, email, e-mail, phone, website, job title, company, tele, address, comment");
|
199 |
-
// }
|
200 |
-
// return inbound_data;
|
201 |
-
// });
|
202 |
-
// return inbound_data;
|
203 |
-
//}
|
204 |
-
//
|
205 |
-
//function merge_form_options(obj1,obj2){
|
206 |
-
// var obj3 = {};
|
207 |
-
// for (var attrname in obj1) { obj3[attrname] = obj1[attrname]; }
|
208 |
-
// for (var attrname in obj2) { obj3[attrname] = obj2[attrname]; }
|
209 |
-
// return obj3;
|
210 |
-
//}
|
211 |
-
//
|
212 |
-
//function release_form_sub(this_form, element_type, form_type){
|
213 |
-
// form_type = typeof form_type !== 'undefined' ? form_type : "normal";
|
214 |
-
// jQuery('body, button, input, input[type="button"]').css('cursor', 'default');
|
215 |
-
// jQuery.totalStorage.deleteItem('inbound_search'); // remove search
|
216 |
-
// if (element_type=='FORM') {
|
217 |
-
// this_form.unbind('submit');
|
218 |
-
// this_form.submit();
|
219 |
-
//
|
220 |
-
// if (form_type === "comment"){
|
221 |
-
// console.log("RELEASE ME");
|
222 |
-
// setTimeout(function() {
|
223 |
-
// jQuery(".wpl-comment-form").find('[type="submit"]').click();
|
224 |
-
// }, 100);
|
225 |
-
// }
|
226 |
-
// }
|
227 |
-
//
|
228 |
-
// if (element_type=='A') {
|
229 |
-
// this_form.unbind('wpl-track-me');
|
230 |
-
// var link = this_form.attr('href');
|
231 |
-
// if (link) {
|
232 |
-
// window.location = link;
|
233 |
-
// } else {
|
234 |
-
// location.reload();
|
235 |
-
// }
|
236 |
-
// }
|
237 |
-
//}
|
238 |
-
//
|
239 |
-
//function set_lead_fallback(data){
|
240 |
-
// jQuery.totalStorage('failed_conversion', data); // store failed data
|
241 |
-
// jQuery.cookie("failed_conversion", true, { path: '/', expires: 365 });
|
242 |
-
// console.log('Set backup lead storage');
|
243 |
-
//}
|
244 |
-
//
|
245 |
-
///* Check form type */
|
246 |
-
//function inbound_form_type(this_form) {
|
247 |
-
// var inbound_data = inbound_data || {},
|
248 |
-
// form_type = 'normal';
|
249 |
-
// if ( this_form.is( ".wpl-comment-form" ) ) {
|
250 |
-
// inbound_data['form_type'] = 'comment';
|
251 |
-
// form_type = 'comment';
|
252 |
-
// } else if ( this_form.is( ".wpl-search-box" ) ) {
|
253 |
-
// var is_search = true;
|
254 |
-
// form_type = 'search';
|
255 |
-
// inbound_data['form_type'] = 'search';
|
256 |
-
// } else if ( this_form.is( '.wpl-track-me-link' ) ){
|
257 |
-
// var have_email = readCookie('wp_lead_email');
|
258 |
-
// console.log(have_email);
|
259 |
-
// inbound_data['form_type'] = 'link';
|
260 |
-
// form_type = 'search';
|
261 |
-
// }
|
262 |
-
// return form_type;
|
263 |
-
//}
|
264 |
-
//
|
265 |
-
//function grab_all_form_input_vals(this_form){
|
266 |
-
// var post_values = post_values || {},
|
267 |
-
// inbound_exclude = inbound_exclude || [],
|
268 |
-
// form_inputs = this_form.find('input,textarea,select');
|
269 |
-
//inbound_exclude.push('inbound_furl', 'inbound_current_page_url', 'inbound_notify', 'inbound_submitted', 'post_type', 'post_status', 's', 'inbound_form_name', 'inbound_form_id', 'inbound_form_lists');
|
270 |
-
// var form_type = inbound_form_type(this_form),
|
271 |
-
// inbound_data = inbound_data || {},
|
272 |
-
// email = inbound_data['email'] || false;
|
273 |
-
//
|
274 |
-
// form_inputs.each(function() {
|
275 |
-
// var $input = jQuery(this),
|
276 |
-
// input_type = $input.attr('type'),
|
277 |
-
// input_val = $input.val();
|
278 |
-
// if (input_type === 'checkbox') {
|
279 |
-
// input_checked = $input.attr("checked");
|
280 |
-
// console.log(input_val);
|
281 |
-
// console.log(input_checked);
|
282 |
-
// console.log(post_values[this.name]);
|
283 |
-
// if (input_checked === "checked"){
|
284 |
-
// if (typeof (post_values[this.name]) != "undefined") {
|
285 |
-
// post_values[this.name] = post_values[this.name] + "," + input_val;
|
286 |
-
// console.log(post_values[this.name]);
|
287 |
-
// } else {
|
288 |
-
// post_values[this.name] = input_val;
|
289 |
-
// }
|
290 |
-
//
|
291 |
-
// }
|
292 |
-
// }
|
293 |
-
// if (jQuery.inArray(this.name, inbound_exclude) === -1 && input_type != 'checkbox'){
|
294 |
-
// post_values[this.name] = input_val;
|
295 |
-
// }
|
296 |
-
// if (this.value.indexOf('@')>-1&&!email){
|
297 |
-
// email = input_val;
|
298 |
-
// inbound_data['email'] = email;
|
299 |
-
// }
|
300 |
-
// if (form_type === 'search') {
|
301 |
-
// inbound_data['search_keyword'] = input_val.replace('"', "'");
|
302 |
-
// }
|
303 |
-
// });
|
304 |
-
// var all_form_fields = JSON.stringify(post_values);
|
305 |
-
// return all_form_fields;
|
306 |
-
//}
|
307 |
-
//
|
308 |
-
//function inbound_form_submit(this_form, e) {
|
309 |
-
// /* Define Variables */
|
310 |
-
// var inbound_data = inbound_data || {};
|
311 |
-
// // Dynamic JS object for passing custom values. This can be hooked into by third parties by using the below syntax.
|
312 |
-
// var pageviewObj = jQuery.totalStorage('page_views');
|
313 |
-
// inbound_data['page_view_count'] = countProperties(pageviewObj);
|
314 |
-
// inbound_data['leads_list'] = jQuery(this_form).find('#inbound_form_lists').val();
|
315 |
-
// inbound_data['source'] = jQuery.cookie("wp_lead_referral_site") || "NA";
|
316 |
-
// inbound_data['page_id'] = inbound_ajax.post_id;
|
317 |
-
// inbound_data['page_views'] = JSON.stringify(pageviewObj);
|
318 |
-
//
|
319 |
-
// // Map form fields
|
320 |
-
// var returned_form_data = return_mapped_values(this_form); //console.log(returned_form_data);
|
321 |
-
// var inbound_data = merge_form_options(inbound_data,returned_form_data); //console.log(inbound_data);
|
322 |
-
//
|
323 |
-
// // Set variables after mapping
|
324 |
-
// inbound_data['email'] = (!inbound_data['email']) ? this_form.find('.inbound-email').val() : inbound_data['email'];
|
325 |
-
// inbound_data['form_name'] = this_form.find('.inbound_form_name').val() || "Not Found";
|
326 |
-
// inbound_data['form_id'] = this_form.find('.inbound_form_id').val() || "Not Found";
|
327 |
-
// inbound_data['first_name'] = (!inbound_data['first_name']) ? inbound_data['name'] : inbound_data['first_name'];
|
328 |
-
// inbound_data['last_name'] = inbound_data['last_name'] || '';
|
329 |
-
// inbound_data['phone'] = inbound_data['phone'] || '';
|
330 |
-
// inbound_data['company'] = inbound_data['company'] || '';
|
331 |
-
// inbound_data['address'] = inbound_data['address'] || '';
|
332 |
-
//
|
333 |
-
// // Fallbacks for values
|
334 |
-
//inbound_data['name'] = (inbound_data['first_name'] && inbound_data['last_name']) ? inbound_data['first_name'] + " " + inbound_data['last_name'] : inbound_data['name'];
|
335 |
-
//
|
336 |
-
// if (!inbound_data['last_name'] && inbound_data['first_name']) {
|
337 |
-
// var parts = inbound_data['first_name'].split(" ");
|
338 |
-
// inbound_data['first_name'] = parts[0];
|
339 |
-
// inbound_data['last_name'] = parts[1];
|
340 |
-
// }
|
341 |
-
//
|
342 |
-
// /* Store form fields & exclude field values */
|
343 |
-
// var all_form_fields = grab_all_form_input_vals(this_form);
|
344 |
-
// /* end Store form fields & exclude field values */
|
345 |
-
//
|
346 |
-
// if(inbound_data['email']){
|
347 |
-
// createCookie("wp_lead_email", inbound_data['email'], 365); /* set email cookie */
|
348 |
-
// }
|
349 |
-
//
|
350 |
-
// //var variation = (typeof (landing_path_info) != "undefined") ? landing_path_info.variation : false;
|
351 |
-
//
|
352 |
-
// if (typeof (landing_path_info) != "undefined") {
|
353 |
-
// var variation = landing_path_info.variation;
|
354 |
-
// } else if (typeof (cta_path_info) != "undefined") {
|
355 |
-
// var variation = cta_path_info.variation;
|
356 |
-
// } else {
|
357 |
-
// var variation = 0;
|
358 |
-
// }
|
359 |
-
//
|
360 |
-
// inbound_data['variation'] = variation;
|
361 |
-
// inbound_data['post_type'] = inbound_ajax.post_type;
|
362 |
-
// inbound_data['wp_lead_uid'] = jQuery.cookie("wp_lead_uid") || null;
|
363 |
-
// inbound_data['ip_address'] = inbound_ajax.ip_address;
|
364 |
-
// inbound_data['search_data'] = JSON.stringify(jQuery.totalStorage('inbound_search')) || {};
|
365 |
-
//
|
366 |
-
// var lp_check = (inbound_ajax.post_type === 'landing-page') ? 'Landing Page' : "";
|
367 |
-
// var cta_check = (inbound_ajax.post_type === 'wp-call-to-action') ? 'Call to Action' : "";
|
368 |
-
// var page_type = (!cta_check && !lp_check) ? inbound_ajax.post_type : lp_check + cta_check;
|
369 |
-
//
|
370 |
-
// // jsonify inbound_data
|
371 |
-
// var mapped_form_data = JSON.stringify(inbound_data);
|
372 |
-
//
|
373 |
-
// var data = {};
|
374 |
-
// var data = {
|
375 |
-
// "action": 'inbound_store_lead',
|
376 |
-
// "emailTo": inbound_data['email'],
|
377 |
-
// "first_name": inbound_data['first_name'],
|
378 |
-
// "last_name": inbound_data['last_name'],
|
379 |
-
// "phone": inbound_data['phone'],
|
380 |
-
// "address": inbound_data['address'],
|
381 |
-
// "company_name": inbound_data['company'],
|
382 |
-
// "page_views": inbound_data['page_views'],
|
383 |
-
// "form_input_values": all_form_fields,
|
384 |
-
// "Mapped_Data": mapped_form_data,
|
385 |
-
// "Search_Data": inbound_data['search_data']
|
386 |
-
// }
|
387 |
-
// return data;
|
388 |
-
//}
|
389 |
-
//
|
390 |
-
//jQuery(document).ready(function($) {
|
391 |
-
//
|
392 |
-
// var cookies = InboundAnalytics.Utils.getAllCookies();
|
393 |
-
// var inbound_store = jQuery.totalStorage('inbound_cookies');
|
394 |
-
//
|
395 |
-
// // loop through cookies and assign to inbound_data object
|
396 |
-
// if (typeof inbound_store =='object' && inbound_store) {
|
397 |
-
// for(var name in inbound_store) {
|
398 |
-
// if (name.indexOf('utm')>-1) {
|
399 |
-
// inbound_data[name] = cookies[name];
|
400 |
-
// //console.log( name + " : " + cookies[name] );
|
401 |
-
// }
|
402 |
-
// }
|
403 |
-
// }
|
404 |
-
//
|
405 |
-
// //console.log(inbound_data);
|
406 |
-
// if ( jQuery('.wpl-search-box').length ) {
|
407 |
-
// /* Core Inbound Search Tracking Script */
|
408 |
-
// jQuery("body").on('submit', '.wpl-search-box', function (e) {
|
409 |
-
// var inbound_search_data = jQuery.totalStorage('inbound_search') || {},
|
410 |
-
// $this_form = $(this),
|
411 |
-
// processed = false;
|
412 |
-
// datetime = wplft.track_time;
|
413 |
-
// if( $this_form.is(".search-processes") ) {
|
414 |
-
// console.log('yep');
|
415 |
-
// processed = true;
|
416 |
-
//
|
417 |
-
// }
|
418 |
-
// //return false;
|
419 |
-
// $('body, button, input[type="button"], input').css('cursor', 'wait');
|
420 |
-
// e.preventDefault();
|
421 |
-
// var has_email = readCookie('wp_lead_email');
|
422 |
-
// var search_count = countProperties(inbound_search_data);
|
423 |
-
// form_inputs = $this_form.find('input[type=text],input[type=search]');
|
424 |
-
//
|
425 |
-
// form_inputs.each(function(i) {
|
426 |
-
// var value = jQuery(this).val().replace('"', "'");
|
427 |
-
// inbound_search_data[search_count + 1] = {"value" : value, "date" : datetime};
|
428 |
-
// });
|
429 |
-
// jQuery.totalStorage('inbound_search', inbound_search_data); // store search history data
|
430 |
-
// console.log(JSON.stringify(inbound_search_data));
|
431 |
-
//
|
432 |
-
// // If no data to id the user exit
|
433 |
-
// if (typeof (has_email) != "undefined" && has_email != null && has_email != "" && processed === false) {
|
434 |
-
//
|
435 |
-
// // store search data and release
|
436 |
-
// var data = {};
|
437 |
-
// var data = {
|
438 |
-
// "action": 'inbound_store_lead_search',
|
439 |
-
// "search_data": inbound_search_data,
|
440 |
-
// "email": has_email,
|
441 |
-
// "date": datetime
|
442 |
-
// }
|
443 |
-
//
|
444 |
-
// //return false;
|
445 |
-
// jQuery.ajax({
|
446 |
-
// type: 'POST',
|
447 |
-
// url: inbound_ajax.admin_url,
|
448 |
-
// timeout: 10000,
|
449 |
-
// data: data,
|
450 |
-
// dataType: 'html',
|
451 |
-
// success: function(user_id){
|
452 |
-
// $this_form.trigger("inbound_search_form_complete"); // Trigger custom hook
|
453 |
-
// $this_form.addClass('search-processed');
|
454 |
-
// $this_form.removeClass('wpl-search-box');
|
455 |
-
// // Unbind form
|
456 |
-
// //release_form_sub($this_form, 'FORM', inbound_data['form_type']);
|
457 |
-
//
|
458 |
-
// $('body, button, input[type="button"], input').css('cursor', 'default');
|
459 |
-
// jQuery.totalStorage.deleteItem('inbound_search'); // remove search
|
460 |
-
// console.log("search fired");
|
461 |
-
// $this_form.unbind('submit');
|
462 |
-
// $this_form.submit();
|
463 |
-
// },
|
464 |
-
// error: function(MLHttpRequest, textStatus, errorThrown){
|
465 |
-
//
|
466 |
-
// console.log("failwhale fired");
|
467 |
-
// $this_form.unbind('submit');
|
468 |
-
// $this_form.submit();
|
469 |
-
//
|
470 |
-
// }
|
471 |
-
// });
|
472 |
-
// } else {
|
473 |
-
// $this_form.unbind('submit');
|
474 |
-
// $this_form.submit();
|
475 |
-
// // storage local storage search history
|
476 |
-
// jQuery.totalStorage('inbound_search', inbound_search_data); // store search history data
|
477 |
-
// }
|
478 |
-
//
|
479 |
-
//
|
480 |
-
// });
|
481 |
-
// }
|
482 |
-
//
|
483 |
-
//
|
484 |
-
// /* Core Inbound Form Tracking Script */
|
485 |
-
// if ( jQuery('.wpl-track-me').length ) {
|
486 |
-
// jQuery("body").on('submit', '.wpl-track-me', function (e) {
|
487 |
-
// var inbound_data = inbound_data || {},
|
488 |
-
// this_form = jQuery(this),
|
489 |
-
// event_type = e.type,
|
490 |
-
// is_search = false,
|
491 |
-
// form_type = 'normal';
|
492 |
-
//
|
493 |
-
//
|
494 |
-
// inbound_data['form_type'] = inbound_form_type(this_form);
|
495 |
-
//
|
496 |
-
// element_type = 'FORM';
|
497 |
-
//
|
498 |
-
// // halt normal form submission
|
499 |
-
// $('body, button, input[type="button"], input').css('cursor', 'wait');
|
500 |
-
// e.preventDefault();
|
501 |
-
//
|
502 |
-
// // Email Validation Check
|
503 |
-
// var inbound_form_exists = $("#inbound-form-wrapper").length;
|
504 |
-
// var email_validation = $(".inbound-email.invalid-email").length;
|
505 |
-
// if (email_validation > 0 && inbound_form_exists > 0) {
|
506 |
-
// jQuery(".inbound-email.invalid-email").focus();
|
507 |
-
// alert("Please enter a valid email address");
|
508 |
-
// return false;
|
509 |
-
// }
|
510 |
-
// $(this_form).trigger("inbound_form_custom_data"); // trigger custom hook
|
511 |
-
// data = inbound_form_submit(this_form, e); // big function for processing
|
512 |
-
//
|
513 |
-
// ajax_fallback = this_form.is('.wpl-ajax-fallback');
|
514 |
-
//
|
515 |
-
// if (ajax_fallback === true) {
|
516 |
-
// console.log('true');
|
517 |
-
// this_form.removeClass('wpl-track-me'); // release submit
|
518 |
-
// set_lead_fallback(data);
|
519 |
-
// console.log('ajax conflict stop process');
|
520 |
-
// $('body, button, input[type="button"], input').css('cursor', 'default');
|
521 |
-
// var ninja = this_form.is('.ninja-forms-form');
|
522 |
-
// var cf7 = this_form.is('.wpcf7-form');
|
523 |
-
// if (!ninja && !cf7){
|
524 |
-
// release_form_sub( this_form , element_type );
|
525 |
-
// }
|
526 |
-
// return false;
|
527 |
-
// }
|
528 |
-
//
|
529 |
-
// var inbound_debug = this_form.is('.inbound-debug');
|
530 |
-
// if (inbound_debug) {
|
531 |
-
// //console.log("Inbound Form Data:"); console.log(post_form_data);
|
532 |
-
// //console.log("Raw Field Data:"); console.log(all_form_fields);
|
533 |
-
// console.log("Ajax Data:"); console.log(data);
|
534 |
-
// return false;
|
535 |
-
// }
|
536 |
-
//
|
537 |
-
// jQuery.ajax({
|
538 |
-
// type: 'POST',
|
539 |
-
// url: inbound_ajax.admin_url,
|
540 |
-
// timeout: 10000,
|
541 |
-
// data: data,
|
542 |
-
// success: function(user_id){
|
543 |
-
// jQuery(this_form).trigger("inbound_form_complete"); // Trigger custom hook
|
544 |
-
// createCookie("wp_lead_id", user_id, 365);
|
545 |
-
// jQuery.totalStorage('wp_lead_id', user_id);
|
546 |
-
//
|
547 |
-
//inbound_ga_log_event('Inbound Form Conversions', 'Conversion', "Conversion on '"+ inbound_data['form_name'] + "' form on page '" + document.title + "' on url '" + window.location.href + "'"); // GA push
|
548 |
-
// this_form.removeClass('wpl-track-me');
|
549 |
-
// // Unbind form
|
550 |
-
//
|
551 |
-
// release_form_sub(this_form, 'FORM', inbound_data['form_type']);
|
552 |
-
//
|
553 |
-
// $('body, button, input[type="button"], input').css('cursor', 'default');
|
554 |
-
//
|
555 |
-
// jQuery.totalStorage.deleteItem('page_views'); // remove pageviews
|
556 |
-
// jQuery.totalStorage.deleteItem('tracking_events'); // remove events
|
557 |
-
// //jQuery.totalStorage.deleteItem('cta_clicks'); // remove cta
|
558 |
-
//
|
559 |
-
// },
|
560 |
-
// error: function(MLHttpRequest, textStatus, errorThrown){
|
561 |
-
// jQuery(this_form).trigger("inbound_form_fail"); // trigger custom hook
|
562 |
-
// set_lead_fallback(data); // Create fallback localstorage object
|
563 |
-
// console.log('ajax fail'); console.log(MLHttpRequest+' '+errorThrown+' '+textStatus);
|
564 |
-
// release_form_sub( this_form , element_type ); // release form
|
565 |
-
//
|
566 |
-
// }
|
567 |
-
// });
|
568 |
-
//
|
569 |
-
// });
|
570 |
-
// }
|
571 |
-
//
|
572 |
-
// /* Core Inbound Link Tracking */
|
573 |
-
// if ( jQuery('.wpl-track-me-link').length ) {
|
574 |
-
//
|
575 |
-
// jQuery("body").on('click', '.wpl-track-me-link', function (e) {
|
576 |
-
//
|
577 |
-
// this_link = jQuery(this);
|
578 |
-
//
|
579 |
-
// var element_type='A';
|
580 |
-
// var a_href = jQuery(this).attr("href");
|
581 |
-
//
|
582 |
-
// // process form only once
|
583 |
-
// processed = this_link.hasClass('lead_processed');
|
584 |
-
// if (processed === true) {
|
585 |
-
// return;
|
586 |
-
// }
|
587 |
-
//
|
588 |
-
// form_id = jQuery(this).attr('id');
|
589 |
-
// form_class = jQuery(this).attr('class');
|
590 |
-
//
|
591 |
-
// jQuery(this).css('cursor', 'wait');
|
592 |
-
// jQuery('body').css('cursor', 'wait');
|
593 |
-
//
|
594 |
-
//
|
595 |
-
// e.preventDefault(); // halt normal form
|
596 |
-
//
|
597 |
-
// var pageviewObj = jQuery.totalStorage('page_views');
|
598 |
-
// var page_view_count = countProperties(pageviewObj);
|
599 |
-
// //console.log("view count" + page_view_count);
|
600 |
-
//
|
601 |
-
// var wp_lead_uid = jQuery.cookie("wp_lead_uid");
|
602 |
-
// var page_views = JSON.stringify(pageviewObj);
|
603 |
-
//
|
604 |
-
// var page_id = inbound_ajax.post_id;
|
605 |
-
// if (typeof (landing_path_info) != "undefined" && landing_path_info != null && landing_path_info != "") {
|
606 |
-
// var lp_variation = landing_path_info.variation;
|
607 |
-
// } else if (typeof (cta_path_info) != "undefined" && cta_path_info != null && cta_path_info != "") {
|
608 |
-
// var lp_variation = cta_path_info.variation;
|
609 |
-
// } else {
|
610 |
-
// var lp_variation = null;
|
611 |
-
// }
|
612 |
-
//
|
613 |
-
// jQuery.ajax({
|
614 |
-
// type: 'POST',
|
615 |
-
// url: inbound_ajax.admin_url,
|
616 |
-
// timeout: 10000,
|
617 |
-
// data: {
|
618 |
-
// action: 'inbound_store_lead',
|
619 |
-
// wp_lead_uid: wp_lead_uid,
|
620 |
-
// page_views: page_views,
|
621 |
-
// post_type: inbound_ajax.post_type,
|
622 |
-
// variation: lp_variation,
|
623 |
-
// page_id: page_id
|
624 |
-
// /* Replace with jquery hook
|
625 |
-
// do_action('wpl-lead-collection-add-ajax-data');
|
626 |
-
// */
|
627 |
-
// },
|
628 |
-
// success: function(data){
|
629 |
-
// // Unbind form
|
630 |
-
// release_form_sub(this_link, 'A');
|
631 |
-
// //this_link.click();
|
632 |
-
// jQuery.totalStorage.deleteItem('page_views'); // remove pageviews
|
633 |
-
// jQuery.totalStorage.deleteItem('tracking_events'); // remove events
|
634 |
-
// //jQuery.totalStorage.deleteItem('cta_clicks'); // remove cta
|
635 |
-
//
|
636 |
-
// return true;
|
637 |
-
// },
|
638 |
-
// error: function(MLHttpRequest, textStatus, errorThrown){
|
639 |
-
// console.log(MLHttpRequest+' '+errorThrown+' '+textStatus); // debug
|
640 |
-
//
|
641 |
-
// // Create fallback localstorage object
|
642 |
-
// var conversionObj = new Array();
|
643 |
-
// conversionObj.push({
|
644 |
-
// action: 'inbound_store_lead',
|
645 |
-
// emailTo: email,
|
646 |
-
// first_name: firstname,
|
647 |
-
// last_name: lastname,
|
648 |
-
// wp_lead_uid: wp_lead_uid,
|
649 |
-
//
|
650 |
-
// page_views: page_views,
|
651 |
-
// post_type: inbound_ajax.post_type,
|
652 |
-
// variation: lp_variation,
|
653 |
-
// // type: 'form-completion',
|
654 |
-
// form_input_values : all_form_fields,
|
655 |
-
// page_id: page_id
|
656 |
-
// });
|
657 |
-
//
|
658 |
-
// jQuery.totalStorage('failed_conversion', conversionObj); // store failed data
|
659 |
-
// jQuery.cookie("failed_conversion", true, { path: '/', expires: 365 });
|
660 |
-
//
|
661 |
-
// // If fail, cookie form data and ajax submit on next page load
|
662 |
-
// console.log('ajax fail');
|
663 |
-
// release_form_sub( this_link , element_type );
|
664 |
-
//
|
665 |
-
// }
|
666 |
-
// });
|
667 |
-
//
|
668 |
-
// });
|
669 |
-
// }
|
670 |
-
//
|
671 |
-
// // gform_confirmation_loaded
|
672 |
-
// /* Fallback for lead storage if ajax fails */
|
673 |
-
// var failed_conversion = jQuery.cookie("failed_conversion");
|
674 |
-
// var fallback_obj = jQuery.totalStorage('failed_conversion');
|
675 |
-
//
|
676 |
-
// if (typeof (failed_conversion) != "undefined" && failed_conversion == 'true' ) {
|
677 |
-
// if (typeof fallback_obj == 'object' && fallback_obj) {
|
678 |
-
//
|
679 |
-
// jQuery.ajax({
|
680 |
-
// type: 'POST',
|
681 |
-
// url: inbound_ajax.admin_url,
|
682 |
-
// data: fallback_obj,
|
683 |
-
// success: function(user_id){
|
684 |
-
// console.log('Fallback fired');
|
685 |
-
// jQuery.totalStorage.deleteItem('page_views'); // remove pageviews
|
686 |
-
// jQuery.totalStorage.deleteItem('tracking_events'); // remove events
|
687 |
-
// jQuery.removeCookie("failed_conversion"); // remove failed cookie
|
688 |
-
// jQuery.totalStorage.deleteItem('failed_conversion'); // remove failed data
|
689 |
-
// },
|
690 |
-
// error: function(MLHttpRequest, textStatus, errorThrown){
|
691 |
-
// //alert(MLHttpRequest+' '+errorThrown+' '+textStatus);
|
692 |
-
// //die();
|
693 |
-
// }
|
694 |
-
//
|
695 |
-
// });
|
696 |
-
// }
|
697 |
-
// }
|
698 |
-
//
|
699 |
-
//});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
shared/assets/frontend/js/store.lead.ajax.js
DELETED
@@ -1,711 +0,0 @@
|
|
1 |
-
|
2 |
-
var inbound_data = inbound_data || {};
|
3 |
-
// Ensure global _gaq Google Analytics queue has been initialized.
|
4 |
-
var _gaq = _gaq || [];
|
5 |
-
|
6 |
-
function add_inbound_form_class(el, value) {
|
7 |
-
//var value = value.replace(" ", "_");
|
8 |
-
//var value = value.replace("-", "_");
|
9 |
-
//el.addClass('inbound_map_value');
|
10 |
-
//el.attr('data-inbound-form-map', 'inbound_map_' + value);
|
11 |
-
}
|
12 |
-
// http://clubmate.fi/setting-and-reading-cookies-with-javascript/
|
13 |
-
function createCookie(name, value, days) {
|
14 |
-
var expires;
|
15 |
-
if (days) {
|
16 |
-
var date = new Date();
|
17 |
-
date.setTime(date.getTime()+(days*24*60*60*1000));
|
18 |
-
expires = "; expires="+date.toGMTString();
|
19 |
-
}
|
20 |
-
else {
|
21 |
-
expires = "";
|
22 |
-
}
|
23 |
-
document.cookie = name+"="+value+expires+"; path=/";
|
24 |
-
}
|
25 |
-
// Read cookie
|
26 |
-
function readCookie(name) {
|
27 |
-
var nameEQ = name + "=";
|
28 |
-
var ca = document.cookie.split(';');
|
29 |
-
for(var i=0;i < ca.length;i++) {
|
30 |
-
var c = ca[i];
|
31 |
-
while (c.charAt(0) === ' ') {
|
32 |
-
c = c.substring(1,c.length);
|
33 |
-
}
|
34 |
-
if (c.indexOf(nameEQ) === 0) {
|
35 |
-
return c.substring(nameEQ.length,c.length);
|
36 |
-
}
|
37 |
-
}
|
38 |
-
return null;
|
39 |
-
}
|
40 |
-
// Erase cookie
|
41 |
-
function eraseCookie(name) {
|
42 |
-
createCookie(name,"",-1);
|
43 |
-
}
|
44 |
-
|
45 |
-
/* Count number of session visits */
|
46 |
-
function countProperties(obj) {
|
47 |
-
var count = 0;
|
48 |
-
for(var prop in obj) {
|
49 |
-
if(obj.hasOwnProperty(prop))
|
50 |
-
++count;
|
51 |
-
}
|
52 |
-
return count;
|
53 |
-
}
|
54 |
-
|
55 |
-
|
56 |
-
function get_inbound_form_value(el) {
|
57 |
-
var value = el.value;
|
58 |
-
return value;
|
59 |
-
}
|
60 |
-
|
61 |
-
|
62 |
-
// Build Form Object
|
63 |
-
function inbound_map_fields(el, value, Obj) {
|
64 |
-
var formObj = [];
|
65 |
-
var $this = el;
|
66 |
-
var clean_output = value;
|
67 |
-
var label = $this.closest('label').text();
|
68 |
-
var exclude = ['credit-card']; // exlcude values from formObj
|
69 |
-
var inarray = jQuery.inArray(clean_output, exclude);
|
70 |
-
if(inarray == 0){
|
71 |
-
return null;
|
72 |
-
}
|
73 |
-
// Add items to formObj
|
74 |
-
formObj.push({
|
75 |
-
field_label: label,
|
76 |
-
field_name: $this.attr("name"),
|
77 |
-
field_value: $this.attr("value"),
|
78 |
-
field_id: $this.attr("id"),
|
79 |
-
field_class: $this.attr("class"),
|
80 |
-
field_type: $this.attr("type"),
|
81 |
-
match: clean_output,
|
82 |
-
js_selector: $this.attr("data-js-selector")
|
83 |
-
});
|
84 |
-
return formObj;
|
85 |
-
}
|
86 |
-
|
87 |
-
// Trim Whitespace
|
88 |
-
function trim(s) {
|
89 |
-
s = s.replace(/(^\s*)|(\s*$)/gi,"");
|
90 |
-
s = s.replace(/[ ]{2,}/gi," ");
|
91 |
-
s = s.replace(/\n /,"\n"); return s;
|
92 |
-
}
|
93 |
-
|
94 |
-
function inbound_ga_log_event(category, action, label) {
|
95 |
-
_gaq.push(['_trackEvent', category, action, label]);
|
96 |
-
}
|
97 |
-
|
98 |
-
// Run Form Mapper
|
99 |
-
// TODO check for already processesed fields via in_object_already
|
100 |
-
// check on the dupe value
|
101 |
-
function run_field_map_function(el, lookingfor) {
|
102 |
-
var return_form;
|
103 |
-
var formObj = new Array();
|
104 |
-
var $this = el;
|
105 |
-
var body = jQuery("body");
|
106 |
-
var input_id = $this.attr("id") || "NULL";
|
107 |
-
var input_name = $this.attr("name") || "NULL";
|
108 |
-
var this_val = $this.attr("value");
|
109 |
-
var array = lookingfor.split(",");
|
110 |
-
var array_length = array.length - 1;
|
111 |
-
|
112 |
-
// Main Loop
|
113 |
-
for (var i = 0; i < array.length; i++) {
|
114 |
-
var clean_output = trim(array[i]);
|
115 |
-
var nice_name = clean_output.replace(/^\s+|\s+$/g,'');
|
116 |
-
var nice_name = nice_name.replace(" ",'_');
|
117 |
-
var in_object_already = nice_name in inbound_data;
|
118 |
-
//console.log(clean_output);
|
119 |
-
|
120 |
-
// Look for attr name match
|
121 |
-
if (input_name.toLowerCase().indexOf(clean_output)>-1) {
|
122 |
-
var the_map = inbound_map_fields($this, clean_output, formObj);
|
123 |
-
add_inbound_form_class($this, clean_output);
|
124 |
-
console.log('match name: ' + clean_output);
|
125 |
-
console.log(nice_name in inbound_data);
|
126 |
-
if (!in_object_already) {
|
127 |
-
inbound_data[nice_name] = this_val;
|
128 |
-
}
|
129 |
-
}
|
130 |
-
// look for id match
|
131 |
-
else if (input_id.toLowerCase().indexOf(clean_output)>-1) {
|
132 |
-
var the_map = inbound_map_fields($this, clean_output, formObj);
|
133 |
-
add_inbound_form_class($this, clean_output);
|
134 |
-
console.log('match id: ' + clean_output);
|
135 |
-
if (!in_object_already) {
|
136 |
-
inbound_data[nice_name] = this_val;
|
137 |
-
}
|
138 |
-
}
|
139 |
-
// Look for label name match
|
140 |
-
else if ($this.closest('li').children('label').length>0){
|
141 |
-
var closest_label = $this.closest('li').children('label').html() || "NULL";
|
142 |
-
if (closest_label.toLowerCase().indexOf(clean_output)>-1)
|
143 |
-
{
|
144 |
-
var the_map = inbound_map_fields($this, clean_output, formObj);
|
145 |
-
add_inbound_form_class($this, clean_output);
|
146 |
-
console.log($this.context);
|
147 |
-
|
148 |
-
var exists_in_dom = body.find("[data-inbound-form-map='inbound_map_" + nice_name + "']").length;
|
149 |
-
console.log(exists_in_dom);
|
150 |
-
console.log('match li: ' + clean_output);
|
151 |
-
if (!in_object_already) {
|
152 |
-
inbound_data[nice_name] = this_val;
|
153 |
-
}
|
154 |
-
|
155 |
-
}
|
156 |
-
}
|
157 |
-
// Look for closest div label name match
|
158 |
-
else if ($this.closest('div').children('label').length>0) {
|
159 |
-
var closest_div = $this.closest('div').children('label').html() || "NULL";
|
160 |
-
if (closest_div.toLowerCase().indexOf(clean_output)>-1)
|
161 |
-
{
|
162 |
-
var the_map = inbound_map_fields($this, clean_output, formObj);
|
163 |
-
add_inbound_form_class($this, clean_output);
|
164 |
-
console.log('match div: ' + clean_output);
|
165 |
-
if (!in_object_already) {
|
166 |
-
inbound_data[nice_name] = this_val;
|
167 |
-
}
|
168 |
-
}
|
169 |
-
}
|
170 |
-
// Look for closest p label name match
|
171 |
-
else if ($this.closest('p').children('label').length>0) {
|
172 |
-
var closest_p = $this.closest('p').children('label').html() || "NULL";
|
173 |
-
if (closest_p.toLowerCase().indexOf(clean_output)>-1)
|
174 |
-
{
|
175 |
-
var the_map = inbound_map_fields($this, clean_output, formObj);
|
176 |
-
add_inbound_form_class($this, clean_output);
|
177 |
-
console.log('match p: ' + clean_output);
|
178 |
-
if (!in_object_already) {
|
179 |
-
inbound_data[nice_name] = this_val;
|
180 |
-
}
|
181 |
-
}
|
182 |
-
} else {
|
183 |
-
console.log('Need additional mapping data');
|
184 |
-
}
|
185 |
-
}
|
186 |
-
return_form = the_map;
|
187 |
-
|
188 |
-
return inbound_data;
|
189 |
-
}
|
190 |
-
|
191 |
-
function return_mapped_values(this_form) {
|
192 |
-
// Map form fields
|
193 |
-
jQuery(this_form).find('input[type!="hidden"],textarea,select').each(function() {
|
194 |
-
console.log('run');
|
195 |
-
var this_input = jQuery(this);
|
196 |
-
var this_input_val = this_input.val();
|
197 |
-
if (typeof (this_input_val) != "undefined" && this_input_val != null && this_input_val != "") {
|
198 |
-
var inbound_data = run_field_map_function( this_input, "name, first name, last name, email, e-mail, phone, website, job title, company, tele, address, comment");
|
199 |
-
}
|
200 |
-
return inbound_data;
|
201 |
-
});
|
202 |
-
return inbound_data;
|
203 |
-
}
|
204 |
-
|
205 |
-
function merge_form_options(obj1,obj2){
|
206 |
-
var obj3 = {};
|
207 |
-
for (var attrname in obj1) { obj3[attrname] = obj1[attrname]; }
|
208 |
-
for (var attrname in obj2) { obj3[attrname] = obj2[attrname]; }
|
209 |
-
return obj3;
|
210 |
-
}
|
211 |
-
|
212 |
-
function release_form_sub(this_form, element_type, form_type){
|
213 |
-
form_type = typeof form_type !== 'undefined' ? form_type : "normal";
|
214 |
-
jQuery('body, button, input, input[type="button"]').css('cursor', 'default');
|
215 |
-
jQuery.totalStorage.deleteItem('inbound_search'); // remove search
|
216 |
-
if (element_type=='FORM') {
|
217 |
-
this_form.unbind('submit');
|
218 |
-
this_form.submit();
|
219 |
-
|
220 |
-
/* fallback if submit name="submit" */
|
221 |
-
setTimeout(function() {
|
222 |
-
var inputs = jQuery(this_form).find('input');
|
223 |
-
jQuery(inputs).each(function(){
|
224 |
-
var type = jQuery(this).attr('type');
|
225 |
-
if (type === "submit") {
|
226 |
-
jQuery(this).click();
|
227 |
-
}
|
228 |
-
});
|
229 |
-
}, 1000);
|
230 |
-
|
231 |
-
if (form_type === "comment"){
|
232 |
-
console.log("RELEASE ME");
|
233 |
-
setTimeout(function() {
|
234 |
-
jQuery(".wpl-comment-form").find('[type="submit"]').click();
|
235 |
-
}, 100);
|
236 |
-
}
|
237 |
-
}
|
238 |
-
|
239 |
-
if (element_type=='A') {
|
240 |
-
this_form.unbind('wpl-track-me');
|
241 |
-
var link = this_form.attr('href');
|
242 |
-
if (link) {
|
243 |
-
window.location = link;
|
244 |
-
} else {
|
245 |
-
location.reload();
|
246 |
-
}
|
247 |
-
}
|
248 |
-
}
|
249 |
-
|
250 |
-
function set_lead_fallback(data){
|
251 |
-
jQuery.totalStorage('failed_conversion', data); // store failed data
|
252 |
-
jQuery.cookie("failed_conversion", true, { path: '/', expires: 365 });
|
253 |
-
console.log('Set backup lead storage');
|
254 |
-
}
|
255 |
-
|
256 |
-
/* Check form type */
|
257 |
-
function inbound_form_type(this_form) {
|
258 |
-
var inbound_data = inbound_data || {},
|
259 |
-
form_type = 'normal';
|
260 |
-
if ( this_form.is( ".wpl-comment-form" ) ) {
|
261 |
-
inbound_data['form_type'] = 'comment';
|
262 |
-
form_type = 'comment';
|
263 |
-
} else if ( this_form.is( ".wpl-search-box" ) ) {
|
264 |
-
var is_search = true;
|
265 |
-
form_type = 'search';
|
266 |
-
inbound_data['form_type'] = 'search';
|
267 |
-
} else if ( this_form.is( '.wpl-track-me-link' ) ){
|
268 |
-
var have_email = readCookie('wp_lead_email');
|
269 |
-
console.log(have_email);
|
270 |
-
inbound_data['form_type'] = 'link';
|
271 |
-
form_type = 'search';
|
272 |
-
}
|
273 |
-
return form_type;
|
274 |
-
}
|
275 |
-
|
276 |
-
function grab_all_form_input_vals(this_form){
|
277 |
-
var post_values = post_values || {},
|
278 |
-
inbound_exclude = inbound_exclude || [],
|
279 |
-
form_inputs = this_form.find('input,textarea,select');
|
280 |
-
inbound_exclude.push('inbound_furl', 'inbound_current_page_url', 'inbound_notify', 'inbound_submitted', 'post_type', 'post_status', 's', 'inbound_form_name', 'inbound_form_id', 'inbound_form_lists');
|
281 |
-
var form_type = inbound_form_type(this_form),
|
282 |
-
inbound_data = inbound_data || {},
|
283 |
-
email = inbound_data['email'] || false;
|
284 |
-
|
285 |
-
form_inputs.each(function() {
|
286 |
-
var $input = jQuery(this),
|
287 |
-
input_type = $input.attr('type'),
|
288 |
-
input_val = $input.val();
|
289 |
-
if (input_type === 'checkbox') {
|
290 |
-
input_checked = $input.attr("checked");
|
291 |
-
console.log(input_val);
|
292 |
-
console.log(input_checked);
|
293 |
-
console.log(post_values[this.name]);
|
294 |
-
if (input_checked === "checked"){
|
295 |
-
if (typeof (post_values[this.name]) != "undefined") {
|
296 |
-
post_values[this.name] = post_values[this.name] + "," + input_val;
|
297 |
-
console.log(post_values[this.name]);
|
298 |
-
} else {
|
299 |
-
post_values[this.name] = input_val;
|
300 |
-
}
|
301 |
-
|
302 |
-
}
|
303 |
-
}
|
304 |
-
if (jQuery.inArray(this.name, inbound_exclude) === -1 && input_type != 'checkbox'){
|
305 |
-
post_values[this.name] = input_val;
|
306 |
-
}
|
307 |
-
if (this.value.indexOf('@')>-1&&!email){
|
308 |
-
email = input_val;
|
309 |
-
inbound_data['email'] = email;
|
310 |
-
}
|
311 |
-
if (form_type === 'search') {
|
312 |
-
inbound_data['search_keyword'] = input_val.replace('"', "'");
|
313 |
-
}
|
314 |
-
});
|
315 |
-
var all_form_fields = JSON.stringify(post_values);
|
316 |
-
return all_form_fields;
|
317 |
-
}
|
318 |
-
|
319 |
-
function inbound_form_submit(this_form, e) {
|
320 |
-
/* Define Variables */
|
321 |
-
var inbound_data = inbound_data || {};
|
322 |
-
// Dynamic JS object for passing custom values. This can be hooked into by third parties by using the below syntax.
|
323 |
-
var pageviewObj = jQuery.totalStorage('page_views');
|
324 |
-
inbound_data['page_view_count'] = countProperties(pageviewObj);
|
325 |
-
inbound_data['leads_list'] = jQuery(this_form).find('#inbound_form_lists').val();
|
326 |
-
inbound_data['source'] = jQuery.cookie("wp_lead_referral_site") || "NA";
|
327 |
-
inbound_data['page_id'] = inbound_ajax.post_id;
|
328 |
-
inbound_data['page_views'] = JSON.stringify(pageviewObj);
|
329 |
-
|
330 |
-
// Map form fields
|
331 |
-
var returned_form_data = return_mapped_values(this_form); //console.log(returned_form_data);
|
332 |
-
var inbound_data = merge_form_options(inbound_data,returned_form_data); //console.log(inbound_data);
|
333 |
-
|
334 |
-
// Set variables after mapping
|
335 |
-
inbound_data['email'] = (!inbound_data['email']) ? this_form.find('.inbound-email').val() : inbound_data['email'];
|
336 |
-
inbound_data['form_name'] = this_form.find('.inbound_form_name').val() || "Not Found";
|
337 |
-
inbound_data['form_id'] = this_form.find('.inbound_form_id').val() || "Not Found";
|
338 |
-
inbound_data['first_name'] = (!inbound_data['first_name']) ? inbound_data['name'] : inbound_data['first_name'];
|
339 |
-
inbound_data['last_name'] = inbound_data['last_name'] || '';
|
340 |
-
inbound_data['phone'] = inbound_data['phone'] || '';
|
341 |
-
inbound_data['company'] = inbound_data['company'] || '';
|
342 |
-
inbound_data['address'] = inbound_data['address'] || '';
|
343 |
-
|
344 |
-
// Fallbacks for values
|
345 |
-
inbound_data['name'] = (inbound_data['first_name'] && inbound_data['last_name']) ? inbound_data['first_name'] + " " + inbound_data['last_name'] : inbound_data['name'];
|
346 |
-
|
347 |
-
if (!inbound_data['last_name'] && inbound_data['first_name']) {
|
348 |
-
var parts = inbound_data['first_name'].split(" ");
|
349 |
-
inbound_data['first_name'] = parts[0];
|
350 |
-
inbound_data['last_name'] = parts[1];
|
351 |
-
}
|
352 |
-
|
353 |
-
/* Store form fields & exclude field values */
|
354 |
-
var all_form_fields = grab_all_form_input_vals(this_form);
|
355 |
-
/* end Store form fields & exclude field values */
|
356 |
-
|
357 |
-
if(inbound_data['email']){
|
358 |
-
createCookie("wp_lead_email", inbound_data['email'], 365); /* set email cookie */
|
359 |
-
}
|
360 |
-
|
361 |
-
//var variation = (typeof (landing_path_info) != "undefined") ? landing_path_info.variation : false;
|
362 |
-
|
363 |
-
if (typeof (landing_path_info) != "undefined") {
|
364 |
-
var variation = landing_path_info.variation;
|
365 |
-
} else if (typeof (cta_path_info) != "undefined") {
|
366 |
-
var variation = cta_path_info.variation;
|
367 |
-
} else {
|
368 |
-
var variation = 0;
|
369 |
-
}
|
370 |
-
|
371 |
-
inbound_data['variation'] = variation;
|
372 |
-
inbound_data['post_type'] = inbound_ajax.post_type;
|
373 |
-
inbound_data['wp_lead_uid'] = jQuery.cookie("wp_lead_uid") || null;
|
374 |
-
inbound_data['ip_address'] = inbound_ajax.ip_address;
|
375 |
-
inbound_data['search_data'] = JSON.stringify(jQuery.totalStorage('inbound_search')) || {};
|
376 |
-
|
377 |
-
var lp_check = (inbound_ajax.post_type === 'landing-page') ? 'Landing Page' : "";
|
378 |
-
var cta_check = (inbound_ajax.post_type === 'wp-call-to-action') ? 'Call to Action' : "";
|
379 |
-
var page_type = (!cta_check && !lp_check) ? inbound_ajax.post_type : lp_check + cta_check;
|
380 |
-
|
381 |
-
// jsonify inbound_data
|
382 |
-
var mapped_form_data = JSON.stringify(inbound_data);
|
383 |
-
|
384 |
-
var data = {};
|
385 |
-
var data = {
|
386 |
-
"action": 'inbound_store_lead',
|
387 |
-
"emailTo": inbound_data['email'],
|
388 |
-
"first_name": inbound_data['first_name'],
|
389 |
-
"last_name": inbound_data['last_name'],
|
390 |
-
"phone": inbound_data['phone'],
|
391 |
-
"address": inbound_data['address'],
|
392 |
-
"company_name": inbound_data['company'],
|
393 |
-
"page_views": inbound_data['page_views'],
|
394 |
-
"form_input_values": all_form_fields,
|
395 |
-
"Mapped_Data": mapped_form_data,
|
396 |
-
"Search_Data": inbound_data['search_data']
|
397 |
-
}
|
398 |
-
return data;
|
399 |
-
}
|
400 |
-
|
401 |
-
jQuery(document).ready(function($) {
|
402 |
-
|
403 |
-
var cookies = InboundAnalytics.Utils.getAllCookies();
|
404 |
-
var inbound_store = jQuery.totalStorage('inbound_cookies');
|
405 |
-
|
406 |
-
// loop through cookies and assign to inbound_data object
|
407 |
-
if (typeof inbound_store =='object' && inbound_store) {
|
408 |
-
for(var name in inbound_store) {
|
409 |
-
if (name.indexOf('utm')>-1) {
|
410 |
-
inbound_data[name] = cookies[name];
|
411 |
-
//console.log( name + " : " + cookies[name] );
|
412 |
-
}
|
413 |
-
}
|
414 |
-
}
|
415 |
-
|
416 |
-
|
417 |
-
/* Core Inbound Search Tracking Script */
|
418 |
-
jQuery("body").on('submit', '.wpl-search-box', function (e) {
|
419 |
-
var inbound_search_data = jQuery.totalStorage('inbound_search') || {},
|
420 |
-
$this_form = jQuery(this),
|
421 |
-
processed = false;
|
422 |
-
datetime = wplft.track_time;
|
423 |
-
if( $this_form.is(".search-processes") ) {
|
424 |
-
console.log('yep');
|
425 |
-
processed = true;
|
426 |
-
|
427 |
-
}
|
428 |
-
//return false;
|
429 |
-
jQuery('body, button, input[type="button"], input').css('cursor', 'wait');
|
430 |
-
e.preventDefault();
|
431 |
-
var has_email = readCookie('wp_lead_email');
|
432 |
-
var search_count = countProperties(inbound_search_data);
|
433 |
-
form_inputs = $this_form.find('input[type=text],input[type=search]');
|
434 |
-
|
435 |
-
form_inputs.each(function(i) {
|
436 |
-
var value = jQuery(this).val().replace('"', "'");
|
437 |
-
inbound_search_data[search_count + 1] = {"value" : value, "date" : datetime};
|
438 |
-
});
|
439 |
-
jQuery.totalStorage('inbound_search', inbound_search_data); // store search history data
|
440 |
-
console.log(JSON.stringify(inbound_search_data));
|
441 |
-
|
442 |
-
// If no data to id the user exit
|
443 |
-
if (typeof (has_email) != "undefined" && has_email != null && has_email != "" && processed === false) {
|
444 |
-
|
445 |
-
// store search data and release
|
446 |
-
var data = {};
|
447 |
-
var data = {
|
448 |
-
"action": 'inbound_store_lead_search',
|
449 |
-
"search_data": inbound_search_data,
|
450 |
-
"email": has_email,
|
451 |
-
"date": datetime
|
452 |
-
}
|
453 |
-
|
454 |
-
//return false;
|
455 |
-
jQuery.ajax({
|
456 |
-
type: 'POST',
|
457 |
-
url: inbound_ajax.admin_url,
|
458 |
-
timeout: 10000,
|
459 |
-
data: data,
|
460 |
-
dataType: 'html',
|
461 |
-
success: function(user_id){
|
462 |
-
$this_form.trigger("inbound_search_form_complete"); // Trigger custom hook
|
463 |
-
$this_form.addClass('search-processed');
|
464 |
-
$this_form.removeClass('wpl-search-box');
|
465 |
-
// Unbind form
|
466 |
-
//release_form_sub($this_form, 'FORM', inbound_data['form_type']);
|
467 |
-
|
468 |
-
jQuery('body, button, input[type="button"], input').css('cursor', 'default');
|
469 |
-
jQuery.totalStorage.deleteItem('inbound_search'); // remove search
|
470 |
-
console.log("search fired");
|
471 |
-
$this_form.unbind('submit');
|
472 |
-
$this_form.submit();
|
473 |
-
},
|
474 |
-
error: function(MLHttpRequest, textStatus, errorThrown){
|
475 |
-
|
476 |
-
console.log("failwhale fired");
|
477 |
-
$this_form.unbind('submit');
|
478 |
-
$this_form.submit();
|
479 |
-
|
480 |
-
}
|
481 |
-
});
|
482 |
-
} else {
|
483 |
-
$this_form.unbind('submit');
|
484 |
-
$this_form.submit();
|
485 |
-
// storage local storage search history
|
486 |
-
jQuery.totalStorage('inbound_search', inbound_search_data); // store search history data
|
487 |
-
}
|
488 |
-
|
489 |
-
|
490 |
-
});
|
491 |
-
|
492 |
-
|
493 |
-
/* Core Inbound Form Tracking Script */
|
494 |
-
jQuery("body").on('submit', '.wpl-track-me', function (e) {
|
495 |
-
var inbound_data = inbound_data || {},
|
496 |
-
this_form = jQuery(this),
|
497 |
-
event_type = e.type,
|
498 |
-
is_search = false,
|
499 |
-
form_type = 'normal',
|
500 |
-
honey_pot = this_form.find('.stop_dirty_subs');
|
501 |
-
if (honey_pot.length > 0 && honey_pot.val() != "") {
|
502 |
-
alert('Get Lost Spam Bot');
|
503 |
-
return false;
|
504 |
-
}
|
505 |
-
|
506 |
-
inbound_data['form_type'] = inbound_form_type(this_form);
|
507 |
-
|
508 |
-
element_type = 'FORM';
|
509 |
-
|
510 |
-
// halt normal form submission
|
511 |
-
jQuery('body, button, input[type="button"], input').css('cursor', 'wait');
|
512 |
-
e.preventDefault();
|
513 |
-
|
514 |
-
// Email Validation Check
|
515 |
-
var inbound_form_exists = jQuery("#inbound-form-wrapper").length;
|
516 |
-
var email_validation = jQuery(".inbound-email.invalid-email").length;
|
517 |
-
if (email_validation > 0 && inbound_form_exists > 0) {
|
518 |
-
jQuery(".inbound-email.invalid-email").focus();
|
519 |
-
alert("Please enter a valid email address");
|
520 |
-
return false;
|
521 |
-
}
|
522 |
-
jQuery(this_form).trigger("inbound_form_custom_data"); // trigger custom hook
|
523 |
-
data = inbound_form_submit(this_form, e); // big function for processing
|
524 |
-
|
525 |
-
ajax_fallback = this_form.is('.wpl-ajax-fallback');
|
526 |
-
|
527 |
-
if (ajax_fallback === true) {
|
528 |
-
console.log('true');
|
529 |
-
this_form.removeClass('wpl-track-me'); // release submit
|
530 |
-
set_lead_fallback(data);
|
531 |
-
console.log('ajax conflict stop process');
|
532 |
-
jQuery('body, button, input[type="button"], input').css('cursor', 'default');
|
533 |
-
var ninja = this_form.is('.ninja-forms-form');
|
534 |
-
var cf7 = this_form.is('.wpcf7-form');
|
535 |
-
if (!ninja && !cf7){
|
536 |
-
release_form_sub( this_form , element_type );
|
537 |
-
}
|
538 |
-
return false;
|
539 |
-
}
|
540 |
-
|
541 |
-
var inbound_debug = this_form.is('.inbound-debug');
|
542 |
-
if (inbound_debug) {
|
543 |
-
//console.log("Inbound Form Data:"); console.log(post_form_data);
|
544 |
-
//console.log("Raw Field Data:"); console.log(all_form_fields);
|
545 |
-
console.log("Ajax Data:"); console.log(data);
|
546 |
-
return false;
|
547 |
-
}
|
548 |
-
|
549 |
-
jQuery.ajax({
|
550 |
-
type: 'POST',
|
551 |
-
url: inbound_ajax.admin_url,
|
552 |
-
timeout: 10000,
|
553 |
-
data: data,
|
554 |
-
success: function(user_id){
|
555 |
-
jQuery(this_form).trigger("inbound_form_complete"); // Trigger custom hook
|
556 |
-
createCookie("wp_lead_id", user_id, 365);
|
557 |
-
jQuery.totalStorage('wp_lead_id', user_id);
|
558 |
-
|
559 |
-
inbound_ga_log_event('Inbound Form Conversions', 'Conversion', "Conversion on '"+ inbound_data['form_name'] + "' form on page '" + document.title + "' on url '" + window.location.href + "'"); // GA push
|
560 |
-
this_form.removeClass('wpl-track-me');
|
561 |
-
// Unbind form
|
562 |
-
|
563 |
-
release_form_sub(this_form, 'FORM', inbound_data['form_type']);
|
564 |
-
|
565 |
-
jQuery('body, button, input[type="button"], input').css('cursor', 'default');
|
566 |
-
|
567 |
-
jQuery.totalStorage.deleteItem('page_views'); // remove pageviews
|
568 |
-
jQuery.totalStorage.deleteItem('tracking_events'); // remove events
|
569 |
-
//jQuery.totalStorage.deleteItem('cta_clicks'); // remove cta
|
570 |
-
|
571 |
-
},
|
572 |
-
error: function(MLHttpRequest, textStatus, errorThrown){
|
573 |
-
jQuery(this_form).trigger("inbound_form_fail"); // trigger custom hook
|
574 |
-
set_lead_fallback(data); // Create fallback localstorage object
|
575 |
-
console.log('ajax fail'); console.log(MLHttpRequest+' '+errorThrown+' '+textStatus);
|
576 |
-
release_form_sub( this_form , element_type ); // release form
|
577 |
-
|
578 |
-
}
|
579 |
-
});
|
580 |
-
|
581 |
-
});
|
582 |
-
|
583 |
-
|
584 |
-
/* Core Inbound Link Tracking */
|
585 |
-
if ( jQuery('.wpl-track-me-link').length ) {
|
586 |
-
|
587 |
-
jQuery("body").on('click', '.wpl-track-me-link', function (e) {
|
588 |
-
|
589 |
-
this_link = jQuery(this);
|
590 |
-
|
591 |
-
var element_type='A';
|
592 |
-
var a_href = jQuery(this).attr("href");
|
593 |
-
|
594 |
-
// process form only once
|
595 |
-
processed = this_link.hasClass('lead_processed');
|
596 |
-
if (processed === true) {
|
597 |
-
return;
|
598 |
-
}
|
599 |
-
|
600 |
-
form_id = jQuery(this).attr('id');
|
601 |
-
form_class = jQuery(this).attr('class');
|
602 |
-
|
603 |
-
jQuery(this).css('cursor', 'wait');
|
604 |
-
jQuery('body').css('cursor', 'wait');
|
605 |
-
|
606 |
-
|
607 |
-
e.preventDefault(); // halt normal form
|
608 |
-
|
609 |
-
var pageviewObj = jQuery.totalStorage('page_views');
|
610 |
-
var page_view_count = countProperties(pageviewObj);
|
611 |
-
//console.log("view count" + page_view_count);
|
612 |
-
|
613 |
-
var wp_lead_uid = jQuery.cookie("wp_lead_uid");
|
614 |
-
var page_views = JSON.stringify(pageviewObj);
|
615 |
-
|
616 |
-
var page_id = inbound_ajax.post_id;
|
617 |
-
if (typeof (landing_path_info) != "undefined" && landing_path_info != null && landing_path_info != "") {
|
618 |
-
var lp_variation = landing_path_info.variation;
|
619 |
-
} else if (typeof (cta_path_info) != "undefined" && cta_path_info != null && cta_path_info != "") {
|
620 |
-
var lp_variation = cta_path_info.variation;
|
621 |
-
} else {
|
622 |
-
var lp_variation = null;
|
623 |
-
}
|
624 |
-
|
625 |
-
jQuery.ajax({
|
626 |
-
type: 'POST',
|
627 |
-
url: inbound_ajax.admin_url,
|
628 |
-
timeout: 10000,
|
629 |
-
data: {
|
630 |
-
action: 'inbound_store_lead',
|
631 |
-
wp_lead_uid: wp_lead_uid,
|
632 |
-
page_views: page_views,
|
633 |
-
post_type: inbound_ajax.post_type,
|
634 |
-
variation: lp_variation,
|
635 |
-
page_id: page_id
|
636 |
-
/* Replace with jquery hook
|
637 |
-
do_action('wpl-lead-collection-add-ajax-data');
|
638 |
-
*/
|
639 |
-
},
|
640 |
-
success: function(data){
|
641 |
-
// Unbind form
|
642 |
-
release_form_sub(this_link, 'A');
|
643 |
-
//this_link.click();
|
644 |
-
jQuery.totalStorage.deleteItem('page_views'); // remove pageviews
|
645 |
-
jQuery.totalStorage.deleteItem('tracking_events'); // remove events
|
646 |
-
//jQuery.totalStorage.deleteItem('cta_clicks'); // remove cta
|
647 |
-
|
648 |
-
return true;
|
649 |
-
},
|
650 |
-
error: function(MLHttpRequest, textStatus, errorThrown){
|
651 |
-
console.log(MLHttpRequest+' '+errorThrown+' '+textStatus); // debug
|
652 |
-
|
653 |
-
// Create fallback localstorage object
|
654 |
-
var conversionObj = new Array();
|
655 |
-
conversionObj.push({
|
656 |
-
action: 'inbound_store_lead',
|
657 |
-
emailTo: email,
|
658 |
-
first_name: firstname,
|
659 |
-
last_name: lastname,
|
660 |
-
wp_lead_uid: wp_lead_uid,
|
661 |
-
|
662 |
-
page_views: page_views,
|
663 |
-
post_type: inbound_ajax.post_type,
|
664 |
-
variation: lp_variation,
|
665 |
-
// type: 'form-completion',
|
666 |
-
form_input_values : all_form_fields,
|
667 |
-
page_id: page_id
|
668 |
-
});
|
669 |
-
|
670 |
-
jQuery.totalStorage('failed_conversion', conversionObj); // store failed data
|
671 |
-
jQuery.cookie("failed_conversion", true, { path: '/', expires: 365 });
|
672 |
-
|
673 |
-
// If fail, cookie form data and ajax submit on next page load
|
674 |
-
console.log('ajax fail');
|
675 |
-
release_form_sub( this_link , element_type );
|
676 |
-
|
677 |
-
}
|
678 |
-
});
|
679 |
-
|
680 |
-
});
|
681 |
-
}
|
682 |
-
|
683 |
-
// gform_confirmation_loaded
|
684 |
-
/* Fallback for lead storage if ajax fails */
|
685 |
-
var failed_conversion = jQuery.cookie("failed_conversion");
|
686 |
-
var fallback_obj = jQuery.totalStorage('failed_conversion');
|
687 |
-
|
688 |
-
if (typeof (failed_conversion) != "undefined" && failed_conversion == 'true' ) {
|
689 |
-
if (typeof fallback_obj == 'object' && fallback_obj) {
|
690 |
-
|
691 |
-
jQuery.ajax({
|
692 |
-
type: 'POST',
|
693 |
-
url: inbound_ajax.admin_url,
|
694 |
-
data: fallback_obj,
|
695 |
-
success: function(user_id){
|
696 |
-
console.log('Fallback fired');
|
697 |
-
jQuery.totalStorage.deleteItem('page_views'); // remove pageviews
|
698 |
-
jQuery.totalStorage.deleteItem('tracking_events'); // remove events
|
699 |
-
jQuery.removeCookie("failed_conversion"); // remove failed cookie
|
700 |
-
jQuery.totalStorage.deleteItem('failed_conversion'); // remove failed data
|
701 |
-
},
|
702 |
-
error: function(MLHttpRequest, textStatus, errorThrown){
|
703 |
-
//alert(MLHttpRequest+' '+errorThrown+' '+textStatus);
|
704 |
-
//die();
|
705 |
-
}
|
706 |
-
|
707 |
-
});
|
708 |
-
}
|
709 |
-
}
|
710 |
-
|
711 |
-
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
shared/assets/global/fonts/fontawesome/fontawesome-webfont.eot~HEAD
DELETED
Binary file
|
shared/assets/global/fonts/fontawesome/fontawesome-webfont.svg~HEAD
DELETED
@@ -1,414 +0,0 @@
|
|
1 |
-
<?xml version="1.0" standalone="no"?>
|
2 |
-
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
3 |
-
<svg xmlns="http://www.w3.org/2000/svg">
|
4 |
-
<metadata></metadata>
|
5 |
-
<defs>
|
6 |
-
<font id="fontawesomeregular" horiz-adv-x="1536" >
|
7 |
-
<font-face units-per-em="1792" ascent="1536" descent="-256" />
|
8 |
-
<missing-glyph horiz-adv-x="448" />
|
9 |
-
<glyph unicode=" " horiz-adv-x="448" />
|
10 |
-
<glyph unicode="	" horiz-adv-x="448" />
|
11 |
-
<glyph unicode=" " horiz-adv-x="448" />
|
12 |
-
<glyph unicode="¨" horiz-adv-x="1792" />
|
13 |
-
<glyph unicode="©" horiz-adv-x="1792" />
|
14 |
-
<glyph unicode="®" horiz-adv-x="1792" />
|
15 |
-
<glyph unicode="´" horiz-adv-x="1792" />
|
16 |
-
<glyph unicode="Æ" horiz-adv-x="1792" />
|
17 |
-
<glyph unicode=" " horiz-adv-x="768" />
|
18 |
-
<glyph unicode=" " />
|
19 |
-
<glyph unicode=" " horiz-adv-x="768" />
|
20 |
-
<glyph unicode=" " />
|
21 |
-
<glyph unicode=" " horiz-adv-x="512" />
|
22 |
-
<glyph unicode=" " horiz-adv-x="384" />
|
23 |
-
<glyph unicode=" " horiz-adv-x="256" />
|
24 |
-
<glyph unicode=" " horiz-adv-x="256" />
|
25 |
-
<glyph unicode=" " horiz-adv-x="192" />
|
26 |
-
<glyph unicode=" " horiz-adv-x="307" />
|
27 |
-
<glyph unicode=" " horiz-adv-x="85" />
|
28 |
-
<glyph unicode=" " horiz-adv-x="307" />
|
29 |
-
<glyph unicode=" " horiz-adv-x="384" />
|
30 |
-
<glyph unicode="™" horiz-adv-x="1792" />
|
31 |
-
<glyph unicode="∞" horiz-adv-x="1792" />
|
32 |
-
<glyph unicode="≠" horiz-adv-x="1792" />
|
33 |
-
<glyph unicode="" horiz-adv-x="500" d="M0 0z" />
|
34 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1699 1350q0 -35 -43 -78l-632 -632v-768h320q26 0 45 -19t19 -45t-19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45t45 19h320v768l-632 632q-43 43 -43 78q0 23 18 36.5t38 17.5t43 4h1408q23 0 43 -4t38 -17.5t18 -36.5z" />
|
35 |
-
<glyph unicode="" d="M1536 1312v-1120q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v537l-768 -237v-709q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89 t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v967q0 31 19 56.5t49 35.5l832 256q12 4 28 4q40 0 68 -28t28 -68z" />
|
36 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -52 -38 -90t-90 -38q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5 t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
|
37 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1664 32v768q-32 -36 -69 -66q-268 -206 -426 -338q-51 -43 -83 -67t-86.5 -48.5t-102.5 -24.5h-1h-1q-48 0 -102.5 24.5t-86.5 48.5t-83 67q-158 132 -426 338q-37 30 -69 66v-768q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1664 1083v11v13.5t-0.5 13 t-3 12.5t-5.5 9t-9 7.5t-14 2.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5q0 -168 147 -284q193 -152 401 -317q6 -5 35 -29.5t46 -37.5t44.5 -31.5t50.5 -27.5t43 -9h1h1q20 0 43 9t50.5 27.5t44.5 31.5t46 37.5t35 29.5q208 165 401 317q54 43 100.5 115.5t46.5 131.5z M1792 1120v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
|
38 |
-
<glyph unicode="" horiz-adv-x="1792" d="M896 -128q-26 0 -44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5q224 0 351 -124t127 -344q0 -221 -229 -450l-623 -600 q-18 -18 -44 -18z" />
|
39 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -21 -10.5 -35.5t-30.5 -14.5q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455 l502 -73q56 -9 56 -46z" />
|
40 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1137 532l306 297l-422 62l-189 382l-189 -382l-422 -62l306 -297l-73 -421l378 199l377 -199zM1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -50 -41 -50q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500 l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455l502 -73q56 -9 56 -46z" />
|
41 |
-
<glyph unicode="" horiz-adv-x="1408" d="M1408 131q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5t43 97.5t62 81t85.5 53.5t111.5 20q9 0 42 -21.5t74.5 -48t108 -48t133.5 -21.5t133.5 21.5t108 48t74.5 48t42 21.5q61 0 111.5 -20t85.5 -53.5t62 -81 t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" />
|
42 |
-
<glyph unicode="" horiz-adv-x="1920" d="M384 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 320v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 704v128q0 26 -19 45t-45 19h-128 q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 -64v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM384 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45 t45 -19h128q26 0 45 19t19 45zM1792 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 704v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1792 320v128 q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 704v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19 t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1920 1248v-1344q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1344q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
|
43 |
-
<glyph unicode="" horiz-adv-x="1664" d="M768 512v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM768 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 512v-384q0 -52 -38 -90t-90 -38 h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
|
44 |
-
<glyph unicode="" horiz-adv-x="1792" d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 288v-192q0 -40 -28 -68t-68 -28h-320 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28 h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192 q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68z" />
|
45 |
-
<glyph unicode="" horiz-adv-x="1792" d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-960 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28 h960q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68z" />
|
46 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1671 970q0 -40 -28 -68l-724 -724l-136 -136q-28 -28 -68 -28t-68 28l-136 136l-362 362q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -295l656 657q28 28 68 28t68 -28l136 -136q28 -28 28 -68z" />
|
47 |
-
<glyph unicode="" horiz-adv-x="1408" d="M1298 214q0 -40 -28 -68l-136 -136q-28 -28 -68 -28t-68 28l-294 294l-294 -294q-28 -28 -68 -28t-68 28l-136 136q-28 28 -28 68t28 68l294 294l-294 294q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -294l294 294q28 28 68 28t68 -28l136 -136q28 -28 28 -68 t-28 -68l-294 -294l294 -294q28 -28 28 -68z" />
|
48 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-224q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v224h-224q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h224v224q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5v-224h224 q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5 t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
|
49 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-576q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h576q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5z M1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z " />
|
50 |
-
<glyph unicode="" d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61t-298 61t-245 164t-164 245t-61 298q0 182 80.5 343t226.5 270q43 32 95.5 25t83.5 -50q32 -42 24.5 -94.5t-49.5 -84.5q-98 -74 -151.5 -181t-53.5 -228q0 -104 40.5 -198.5t109.5 -163.5t163.5 -109.5 t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5q0 121 -53.5 228t-151.5 181q-42 32 -49.5 84.5t24.5 94.5q31 43 84 50t95 -25q146 -109 226.5 -270t80.5 -343zM896 1408v-640q0 -52 -38 -90t-90 -38t-90 38t-38 90v640q0 52 38 90t90 38t90 -38t38 -90z" />
|
51 |
-
<glyph unicode="" horiz-adv-x="1792" d="M256 96v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM640 224v-320q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1024 480v-576q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23 v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1408 864v-960q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 1376v-1472q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1472q0 14 9 23t23 9h192q14 0 23 -9t9 -23z" />
|
52 |
-
<glyph unicode="" d="M1024 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1536 749v-222q0 -12 -8 -23t-20 -13l-185 -28q-19 -54 -39 -91q35 -50 107 -138q10 -12 10 -25t-9 -23q-27 -37 -99 -108t-94 -71q-12 0 -26 9l-138 108q-44 -23 -91 -38 q-16 -136 -29 -186q-7 -28 -36 -28h-222q-14 0 -24.5 8.5t-11.5 21.5l-28 184q-49 16 -90 37l-141 -107q-10 -9 -25 -9q-14 0 -25 11q-126 114 -165 168q-7 10 -7 23q0 12 8 23q15 21 51 66.5t54 70.5q-27 50 -41 99l-183 27q-13 2 -21 12.5t-8 23.5v222q0 12 8 23t19 13 l186 28q14 46 39 92q-40 57 -107 138q-10 12 -10 24q0 10 9 23q26 36 98.5 107.5t94.5 71.5q13 0 26 -10l138 -107q44 23 91 38q16 136 29 186q7 28 36 28h222q14 0 24.5 -8.5t11.5 -21.5l28 -184q49 -16 90 -37l142 107q9 9 24 9q13 0 25 -10q129 -119 165 -170q7 -8 7 -22 q0 -12 -8 -23q-15 -21 -51 -66.5t-54 -70.5q26 -50 41 -98l183 -28q13 -2 21 -12.5t8 -23.5z" />
|
53 |
-
<glyph unicode="" horiz-adv-x="1408" d="M512 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM768 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1024 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576 q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1152 76v948h-896v-948q0 -22 7 -40.5t14.5 -27t10.5 -8.5h832q3 0 10.5 8.5t14.5 27t7 40.5zM480 1152h448l-48 117q-7 9 -17 11h-317q-10 -2 -17 -11zM1408 1120v-64q0 -14 -9 -23t-23 -9h-96v-948q0 -83 -47 -143.5t-113 -60.5h-832 q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" />
|
54 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1408 544v-480q0 -26 -19 -45t-45 -19h-384v384h-256v-384h-384q-26 0 -45 19t-19 45v480q0 1 0.5 3t0.5 3l575 474l575 -474q1 -2 1 -6zM1631 613l-62 -74q-8 -9 -21 -11h-3q-13 0 -21 7l-692 577l-692 -577q-12 -8 -24 -7q-13 2 -21 11l-62 74q-8 10 -7 23.5t11 21.5 l719 599q32 26 76 26t76 -26l244 -204v195q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-408l219 -182q10 -8 11 -21.5t-7 -23.5z" />
|
55 |
-
<glyph unicode="" horiz-adv-x="1280" d="M128 0h1024v768h-416q-40 0 -68 28t-28 68v416h-512v-1280zM768 896h376q-10 29 -22 41l-313 313q-12 12 -41 22v-376zM1280 864v-896q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h640q40 0 88 -20t76 -48l312 -312q28 -28 48 -76t20 -88z " />
|
56 |
-
<glyph unicode="" d="M896 992v-448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
57 |
-
<glyph unicode="" horiz-adv-x="1920" d="M1111 540v4l-24 320q-1 13 -11 22.5t-23 9.5h-186q-13 0 -23 -9.5t-11 -22.5l-24 -320v-4q-1 -12 8 -20t21 -8h244q12 0 21 8t8 20zM1870 73q0 -73 -46 -73h-704q13 0 22 9.5t8 22.5l-20 256q-1 13 -11 22.5t-23 9.5h-272q-13 0 -23 -9.5t-11 -22.5l-20 -256 q-1 -13 8 -22.5t22 -9.5h-704q-46 0 -46 73q0 54 26 116l417 1044q8 19 26 33t38 14h339q-13 0 -23 -9.5t-11 -22.5l-15 -192q-1 -14 8 -23t22 -9h166q13 0 22 9t8 23l-15 192q-1 13 -11 22.5t-23 9.5h339q20 0 38 -14t26 -33l417 -1044q26 -62 26 -116z" />
|
58 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1280 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 416v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h465l135 -136 q58 -56 136 -56t136 56l136 136h464q40 0 68 -28t28 -68zM1339 985q17 -41 -14 -70l-448 -448q-18 -19 -45 -19t-45 19l-448 448q-31 29 -14 70q17 39 59 39h256v448q0 26 19 45t45 19h256q26 0 45 -19t19 -45v-448h256q42 0 59 -39z" />
|
59 |
-
<glyph unicode="" d="M1120 608q0 -12 -10 -24l-319 -319q-11 -9 -23 -9t-23 9l-320 320q-15 16 -7 35q8 20 30 20h192v352q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-352h192q14 0 23 -9t9 -23zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273 t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
60 |
-
<glyph unicode="" d="M1118 660q-8 -20 -30 -20h-192v-352q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v352h-192q-14 0 -23 9t-9 23q0 12 10 24l319 319q11 9 23 9t23 -9l320 -320q15 -16 7 -35zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198 t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
61 |
-
<glyph unicode="" d="M1023 576h316q-1 3 -2.5 8t-2.5 8l-212 496h-708l-212 -496q-1 -2 -2.5 -8t-2.5 -8h316l95 -192h320zM1536 546v-482q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v482q0 62 25 123l238 552q10 25 36.5 42t52.5 17h832q26 0 52.5 -17t36.5 -42l238 -552 q25 -61 25 -123z" />
|
62 |
-
<glyph unicode="" d="M1184 640q0 -37 -32 -55l-544 -320q-15 -9 -32 -9q-16 0 -32 8q-32 19 -32 56v640q0 37 32 56q33 18 64 -1l544 -320q32 -18 32 -55zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
63 |
-
<glyph unicode="" d="M1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l138 138q-148 137 -349 137q-104 0 -198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5q119 0 225 52t179 147q7 10 23 12q14 0 25 -9 l137 -138q9 -8 9.5 -20.5t-7.5 -22.5q-109 -132 -264 -204.5t-327 -72.5q-156 0 -298 61t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q147 0 284.5 -55.5t244.5 -156.5l130 129q29 31 70 14q39 -17 39 -59z" />
|
64 |
-
<glyph unicode="" d="M1511 480q0 -5 -1 -7q-64 -268 -268 -434.5t-478 -166.5q-146 0 -282.5 55t-243.5 157l-129 -129q-19 -19 -45 -19t-45 19t-19 45v448q0 26 19 45t45 19h448q26 0 45 -19t19 -45t-19 -45l-137 -137q71 -66 161 -102t187 -36q134 0 250 65t186 179q11 17 53 117 q8 23 30 23h192q13 0 22.5 -9.5t9.5 -22.5zM1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-26 0 -45 19t-19 45t19 45l138 138q-148 137 -349 137q-134 0 -250 -65t-186 -179q-11 -17 -53 -117q-8 -23 -30 -23h-199q-13 0 -22.5 9.5t-9.5 22.5v7q65 268 270 434.5t480 166.5 q146 0 284 -55.5t245 -156.5l130 129q19 19 45 19t45 -19t19 -45z" />
|
65 |
-
<glyph unicode="" horiz-adv-x="1792" d="M384 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M384 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1536 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5z M1536 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5zM1536 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5 t9.5 -22.5zM1664 160v832q0 13 -9.5 22.5t-22.5 9.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1792 1248v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47 t47 -113z" />
|
66 |
-
<glyph unicode="" horiz-adv-x="1152" d="M320 768h512v192q0 106 -75 181t-181 75t-181 -75t-75 -181v-192zM1152 672v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v192q0 184 132 316t316 132t316 -132t132 -316v-192h32q40 0 68 -28t28 -68z" />
|
67 |
-
<glyph unicode="" horiz-adv-x="1792" d="M320 1280q0 -72 -64 -110v-1266q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v1266q-64 38 -64 110q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -25 -12.5 -38.5t-39.5 -27.5q-215 -116 -369 -116q-61 0 -123.5 22t-108.5 48 t-115.5 48t-142.5 22q-192 0 -464 -146q-17 -9 -33 -9q-26 0 -45 19t-19 45v742q0 32 31 55q21 14 79 43q236 120 421 120q107 0 200 -29t219 -88q38 -19 88 -19q54 0 117.5 21t110 47t88 47t54.5 21q26 0 45 -19t19 -45z" />
|
68 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1664 650q0 -166 -60 -314l-20 -49l-185 -33q-22 -83 -90.5 -136.5t-156.5 -53.5v-32q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-32q71 0 130 -35.5t93 -95.5l68 12q29 95 29 193q0 148 -88 279t-236.5 209t-315.5 78 t-315.5 -78t-236.5 -209t-88 -279q0 -98 29 -193l68 -12q34 60 93 95.5t130 35.5v32q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v32q-88 0 -156.5 53.5t-90.5 136.5l-185 33l-20 49q-60 148 -60 314q0 151 67 291t179 242.5 t266 163.5t320 61t320 -61t266 -163.5t179 -242.5t67 -291z" />
|
69 |
-
<glyph unicode="" horiz-adv-x="768" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45z" />
|
70 |
-
<glyph unicode="" horiz-adv-x="1152" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 35.5 t12 57t-12 57t-29 35.5t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142z" />
|
71 |
-
<glyph unicode="" horiz-adv-x="1664" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 35.5 t12 57t-12 57t-29 35.5t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142zM1408 640q0 -153 -85 -282.5t-225 -188.5q-13 -5 -25 -5q-27 0 -46 19t-19 45q0 39 39 59q56 29 76 44q74 54 115.5 135.5t41.5 173.5t-41.5 173.5 t-115.5 135.5q-20 15 -76 44q-39 20 -39 59q0 26 19 45t45 19q13 0 26 -5q140 -59 225 -188.5t85 -282.5zM1664 640q0 -230 -127 -422.5t-338 -283.5q-13 -5 -26 -5q-26 0 -45 19t-19 45q0 36 39 59q7 4 22.5 10.5t22.5 10.5q46 25 82 51q123 91 192 227t69 289t-69 289 t-192 227q-36 26 -82 51q-7 4 -22.5 10.5t-22.5 10.5q-39 23 -39 59q0 26 19 45t45 19q13 0 26 -5q211 -91 338 -283.5t127 -422.5z" />
|
72 |
-
<glyph unicode="" horiz-adv-x="1408" d="M384 384v-128h-128v128h128zM384 1152v-128h-128v128h128zM1152 1152v-128h-128v128h128zM128 129h384v383h-384v-383zM128 896h384v384h-384v-384zM896 896h384v384h-384v-384zM640 640v-640h-640v640h640zM1152 128v-128h-128v128h128zM1408 128v-128h-128v128h128z M1408 640v-384h-384v128h-128v-384h-128v640h384v-128h128v128h128zM640 1408v-640h-640v640h640zM1408 1408v-640h-640v640h640z" />
|
73 |
-
<glyph unicode="" horiz-adv-x="1792" d="M63 0h-63v1408h63v-1408zM126 1h-32v1407h32v-1407zM220 1h-31v1407h31v-1407zM377 1h-31v1407h31v-1407zM534 1h-62v1407h62v-1407zM660 1h-31v1407h31v-1407zM723 1h-31v1407h31v-1407zM786 1h-31v1407h31v-1407zM943 1h-63v1407h63v-1407zM1100 1h-63v1407h63v-1407z M1226 1h-63v1407h63v-1407zM1352 1h-63v1407h63v-1407zM1446 1h-63v1407h63v-1407zM1635 1h-94v1407h94v-1407zM1698 1h-32v1407h32v-1407zM1792 0h-63v1408h63v-1408z" />
|
74 |
-
<glyph unicode="" d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5 l715 -714q37 -39 37 -91z" />
|
75 |
-
<glyph unicode="" horiz-adv-x="1920" d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5 l715 -714q37 -39 37 -91zM1899 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-36 0 -59 14t-53 45l470 470q37 37 37 90q0 52 -37 91l-715 714q-38 38 -102 64.5t-117 26.5h224q53 0 117 -26.5t102 -64.5l715 -714q37 -39 37 -91z" />
|
76 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1639 1058q40 -57 18 -129l-275 -906q-19 -64 -76.5 -107.5t-122.5 -43.5h-923q-77 0 -148.5 53.5t-99.5 131.5q-24 67 -2 127q0 4 3 27t4 37q1 8 -3 21.5t-3 19.5q2 11 8 21t16.5 23.5t16.5 23.5q23 38 45 91.5t30 91.5q3 10 0.5 30t-0.5 28q3 11 17 28t17 23 q21 36 42 92t25 90q1 9 -2.5 32t0.5 28q4 13 22 30.5t22 22.5q19 26 42.5 84.5t27.5 96.5q1 8 -3 25.5t-2 26.5q2 8 9 18t18 23t17 21q8 12 16.5 30.5t15 35t16 36t19.5 32t26.5 23.5t36 11.5t47.5 -5.5l-1 -3q38 9 51 9h761q74 0 114 -56t18 -130l-274 -906 q-36 -119 -71.5 -153.5t-128.5 -34.5h-869q-27 0 -38 -15q-11 -16 -1 -43q24 -70 144 -70h923q29 0 56 15.5t35 41.5l300 987q7 22 5 57q38 -15 59 -43zM575 1056q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5 t-16.5 -22.5zM492 800q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5t-16.5 -22.5z" />
|
77 |
-
<glyph unicode="" horiz-adv-x="1280" d="M1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
|
78 |
-
<glyph unicode="" horiz-adv-x="1664" d="M384 0h896v256h-896v-256zM384 640h896v384h-160q-40 0 -68 28t-28 68v160h-640v-640zM1536 576q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 576v-416q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-160q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68 v160h-224q-13 0 -22.5 9.5t-9.5 22.5v416q0 79 56.5 135.5t135.5 56.5h64v544q0 40 28 68t68 28h672q40 0 88 -20t76 -48l152 -152q28 -28 48 -76t20 -88v-256h64q79 0 135.5 -56.5t56.5 -135.5z" />
|
79 |
-
<glyph unicode="" horiz-adv-x="1920" d="M960 864q119 0 203.5 -84.5t84.5 -203.5t-84.5 -203.5t-203.5 -84.5t-203.5 84.5t-84.5 203.5t84.5 203.5t203.5 84.5zM1664 1280q106 0 181 -75t75 -181v-896q0 -106 -75 -181t-181 -75h-1408q-106 0 -181 75t-75 181v896q0 106 75 181t181 75h224l51 136 q19 49 69.5 84.5t103.5 35.5h512q53 0 103.5 -35.5t69.5 -84.5l51 -136h224zM960 128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
|
80 |
-
<glyph unicode="" horiz-adv-x="1664" d="M725 977l-170 -450q73 -1 153.5 -2t119 -1.5t52.5 -0.5l29 2q-32 95 -92 241q-53 132 -92 211zM21 -128h-21l2 79q22 7 80 18q89 16 110 31q20 16 48 68l237 616l280 724h75h53l11 -21l205 -480q103 -242 124 -297q39 -102 96 -235q26 -58 65 -164q24 -67 65 -149 q22 -49 35 -57q22 -19 69 -23q47 -6 103 -27q6 -39 6 -57q0 -14 -1 -26q-80 0 -192 8q-93 8 -189 8q-79 0 -135 -2l-200 -11l-58 -2q0 45 4 78l131 28q56 13 68 23q12 12 12 27t-6 32l-47 114l-92 228l-450 2q-29 -65 -104 -274q-23 -64 -23 -84q0 -31 17 -43 q26 -21 103 -32q3 0 13.5 -2t30 -5t40.5 -6q1 -28 1 -58q0 -17 -2 -27q-66 0 -349 20l-48 -8q-81 -14 -167 -14z" />
|
81 |
-
<glyph unicode="" horiz-adv-x="1408" d="M555 15q76 -32 140 -32q131 0 216 41t122 113q38 70 38 181q0 114 -41 180q-58 94 -141 126q-80 32 -247 32q-74 0 -101 -10v-144l-1 -173l3 -270q0 -15 12 -44zM541 761q43 -7 109 -7q175 0 264 65t89 224q0 112 -85 187q-84 75 -255 75q-52 0 -130 -13q0 -44 2 -77 q7 -122 6 -279l-1 -98q0 -43 1 -77zM0 -128l2 94q45 9 68 12q77 12 123 31q17 27 21 51q9 66 9 194l-2 497q-5 256 -9 404q-1 87 -11 109q-1 4 -12 12q-18 12 -69 15q-30 2 -114 13l-4 83l260 6l380 13l45 1q5 0 14 0.5t14 0.5q1 0 21.5 -0.5t40.5 -0.5h74q88 0 191 -27 q43 -13 96 -39q57 -29 102 -76q44 -47 65 -104t21 -122q0 -70 -32 -128t-95 -105q-26 -20 -150 -77q177 -41 267 -146q92 -106 92 -236q0 -76 -29 -161q-21 -62 -71 -117q-66 -72 -140 -108q-73 -36 -203 -60q-82 -15 -198 -11l-197 4q-84 2 -298 -11q-33 -3 -272 -11z" />
|
82 |
-
<glyph unicode="" horiz-adv-x="1024" d="M0 -126l17 85q4 1 77 20q76 19 116 39q29 37 41 101l27 139l56 268l12 64q8 44 17 84.5t16 67t12.5 46.5t9 30.5t3.5 11.5l29 157l16 63l22 135l8 50v38q-41 22 -144 28q-28 2 -38 4l19 103l317 -14q39 -2 73 -2q66 0 214 9q33 2 68 4.5t36 2.5q-2 -19 -6 -38 q-7 -29 -13 -51q-55 -19 -109 -31q-64 -16 -101 -31q-12 -31 -24 -88q-9 -44 -13 -82q-44 -199 -66 -306l-61 -311l-38 -158l-43 -235l-12 -45q-2 -7 1 -27q64 -15 119 -21q36 -5 66 -10q-1 -29 -7 -58q-7 -31 -9 -41q-18 0 -23 -1q-24 -2 -42 -2q-9 0 -28 3q-19 4 -145 17 l-198 2q-41 1 -174 -11q-74 -7 -98 -9z" />
|
83 |
-
<glyph unicode="" horiz-adv-x="1792" d="M81 1407l54 -27q20 -5 211 -5h130l19 3l115 1l215 -1h293l34 -2q14 -1 28 7t21 16l7 8l42 1q15 0 28 -1v-104.5t1 -131.5l1 -100l-1 -58q0 -32 -4 -51q-39 -15 -68 -18q-25 43 -54 128q-8 24 -15.5 62.5t-11.5 65.5t-6 29q-13 15 -27 19q-7 2 -42.5 2t-103.5 -1t-111 -1 q-34 0 -67 -5q-10 -97 -8 -136l1 -152v-332l3 -359l-1 -147q-1 -46 11 -85q49 -25 89 -32q2 0 18 -5t44 -13t43 -12q30 -8 50 -18q5 -45 5 -50q0 -10 -3 -29q-14 -1 -34 -1q-110 0 -187 10q-72 8 -238 8q-88 0 -233 -14q-48 -4 -70 -4q-2 22 -2 26l-1 26v9q21 33 79 49 q139 38 159 50q9 21 12 56q8 192 6 433l-5 428q-1 62 -0.5 118.5t0.5 102.5t-2 57t-6 15q-6 5 -14 6q-38 6 -148 6q-43 0 -100 -13.5t-73 -24.5q-13 -9 -22 -33t-22 -75t-24 -84q-6 -19 -19.5 -32t-20.5 -13q-44 27 -56 44v297v86zM1744 128q33 0 42 -18.5t-11 -44.5 l-126 -162q-20 -26 -49 -26t-49 26l-126 162q-20 26 -11 44.5t42 18.5h80v1024h-80q-33 0 -42 18.5t11 44.5l126 162q20 26 49 26t49 -26l126 -162q20 -26 11 -44.5t-42 -18.5h-80v-1024h80z" />
|
84 |
-
<glyph unicode="" d="M81 1407l54 -27q20 -5 211 -5h130l19 3l115 1l446 -1h318l34 -2q14 -1 28 7t21 16l7 8l42 1q15 0 28 -1v-104.5t1 -131.5l1 -100l-1 -58q0 -32 -4 -51q-39 -15 -68 -18q-25 43 -54 128q-8 24 -15.5 62.5t-11.5 65.5t-6 29q-13 15 -27 19q-7 2 -58.5 2t-138.5 -1t-128 -1 q-94 0 -127 -5q-10 -97 -8 -136l1 -152v52l3 -359l-1 -147q-1 -46 11 -85q49 -25 89 -32q2 0 18 -5t44 -13t43 -12q30 -8 50 -18q5 -45 5 -50q0 -10 -3 -29q-14 -1 -34 -1q-110 0 -187 10q-72 8 -238 8q-82 0 -233 -13q-45 -5 -70 -5q-2 22 -2 26l-1 26v9q21 33 79 49 q139 38 159 50q9 21 12 56q6 137 6 433l-5 44q0 265 -2 278q-2 11 -6 15q-6 5 -14 6q-38 6 -148 6q-50 0 -168.5 -14t-132.5 -24q-13 -9 -22 -33t-22 -75t-24 -84q-6 -19 -19.5 -32t-20.5 -13q-44 27 -56 44v297v86zM1505 113q26 -20 26 -49t-26 -49l-162 -126 q-26 -20 -44.5 -11t-18.5 42v80h-1024v-80q0 -33 -18.5 -42t-44.5 11l-162 126q-26 20 -26 49t26 49l162 126q26 20 44.5 11t18.5 -42v-80h1024v80q0 33 18.5 42t44.5 -11z" />
|
85 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45 t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
|
86 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h896q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45t-45 -19 h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h640q26 0 45 -19t19 -45z" />
|
87 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45 t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
|
88 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45 t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
|
89 |
-
<glyph unicode="" horiz-adv-x="1792" d="M256 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM256 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5 t9.5 -22.5zM256 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344 q13 0 22.5 -9.5t9.5 -22.5zM256 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5 t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192 q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5z" />
|
90 |
-
<glyph unicode="" horiz-adv-x="1792" d="M384 992v-576q0 -13 -9.5 -22.5t-22.5 -9.5q-14 0 -23 9l-288 288q-9 9 -9 23t9 23l288 288q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5 t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088 q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
|
91 |
-
<glyph unicode="" horiz-adv-x="1792" d="M352 704q0 -14 -9 -23l-288 -288q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v576q0 13 9.5 22.5t22.5 9.5q14 0 23 -9l288 -288q9 -9 9 -23zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5 t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088 q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
|
92 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1792 1184v-1088q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-403 403v-166q0 -119 -84.5 -203.5t-203.5 -84.5h-704q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h704q119 0 203.5 -84.5t84.5 -203.5v-165l403 402q18 19 45 19q12 0 25 -5 q39 -17 39 -59z" />
|
93 |
-
<glyph unicode="" horiz-adv-x="1920" d="M640 960q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 576v-448h-1408v192l320 320l160 -160l512 512zM1760 1280h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5v1216 q0 13 -9.5 22.5t-22.5 9.5zM1920 1248v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
|
94 |
-
<glyph unicode="" d="M363 0l91 91l-235 235l-91 -91v-107h128v-128h107zM886 928q0 22 -22 22q-10 0 -17 -7l-542 -542q-7 -7 -7 -17q0 -22 22 -22q10 0 17 7l542 542q7 7 7 17zM832 1120l416 -416l-832 -832h-416v416zM1515 1024q0 -53 -37 -90l-166 -166l-416 416l166 165q36 38 90 38 q53 0 91 -38l235 -234q37 -39 37 -91z" />
|
95 |
-
<glyph unicode="" horiz-adv-x="1024" d="M768 896q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1024 896q0 -109 -33 -179l-364 -774q-16 -33 -47.5 -52t-67.5 -19t-67.5 19t-46.5 52l-365 774q-33 70 -33 179q0 212 150 362t362 150t362 -150t150 -362z" />
|
96 |
-
<glyph unicode="" d="M768 96v1088q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
97 |
-
<glyph unicode="" horiz-adv-x="1024" d="M512 384q0 36 -20 69q-1 1 -15.5 22.5t-25.5 38t-25 44t-21 50.5q-4 16 -21 16t-21 -16q-7 -23 -21 -50.5t-25 -44t-25.5 -38t-15.5 -22.5q-20 -33 -20 -69q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 512q0 -212 -150 -362t-362 -150t-362 150t-150 362 q0 145 81 275q6 9 62.5 90.5t101 151t99.5 178t83 201.5q9 30 34 47t51 17t51.5 -17t33.5 -47q28 -93 83 -201.5t99.5 -178t101 -151t62.5 -90.5q81 -127 81 -275z" />
|
98 |
-
<glyph unicode="" horiz-adv-x="1792" d="M888 352l116 116l-152 152l-116 -116v-56h96v-96h56zM1328 1072q-16 16 -33 -1l-350 -350q-17 -17 -1 -33t33 1l350 350q17 17 1 33zM1408 478v-190q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832 q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-14 -14 -32 -8q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v126q0 13 9 22l64 64q15 15 35 7t20 -29zM1312 1216l288 -288l-672 -672h-288v288zM1756 1084l-92 -92 l-288 288l92 92q28 28 68 28t68 -28l152 -152q28 -28 28 -68t-28 -68z" />
|
99 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1408 547v-259q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h255v0q13 0 22.5 -9.5t9.5 -22.5q0 -27 -26 -32q-77 -26 -133 -60q-10 -4 -16 -4h-112q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832 q66 0 113 47t47 113v214q0 19 18 29q28 13 54 37q16 16 35 8q21 -9 21 -29zM1645 1043l-384 -384q-18 -19 -45 -19q-12 0 -25 5q-39 17 -39 59v192h-160q-323 0 -438 -131q-119 -137 -74 -473q3 -23 -20 -34q-8 -2 -12 -2q-16 0 -26 13q-10 14 -21 31t-39.5 68.5t-49.5 99.5 t-38.5 114t-17.5 122q0 49 3.5 91t14 90t28 88t47 81.5t68.5 74t94.5 61.5t124.5 48.5t159.5 30.5t196.5 11h160v192q0 42 39 59q13 5 25 5q26 0 45 -19l384 -384q19 -19 19 -45t-19 -45z" />
|
100 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1408 606v-318q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-10 -10 -23 -10q-3 0 -9 2q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832 q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v254q0 13 9 22l64 64q10 10 23 10q6 0 12 -3q20 -8 20 -29zM1639 1095l-814 -814q-24 -24 -57 -24t-57 24l-430 430q-24 24 -24 57t24 57l110 110q24 24 57 24t57 -24l263 -263l647 647q24 24 57 24t57 -24l110 -110 q24 -24 24 -57t-24 -57z" />
|
101 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-384v-384h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v384h-384v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45 t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h384v384h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45t-19 -45t-45 -19h-128v-384h384v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
|
102 |
-
<glyph unicode="" horiz-adv-x="1024" d="M979 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 11 13 19z" />
|
103 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1747 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 11 13 19l710 710 q19 19 32 13t13 -32v-710q4 11 13 19z" />
|
104 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1619 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-8 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-19 19 -19 45t19 45l710 710q19 19 32 13t13 -32v-710q5 11 13 19z" />
|
105 |
-
<glyph unicode="" horiz-adv-x="1408" d="M1384 609l-1328 -738q-23 -13 -39.5 -3t-16.5 36v1472q0 26 16.5 36t39.5 -3l1328 -738q23 -13 23 -31t-23 -31z" />
|
106 |
-
<glyph unicode="" d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45zM640 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45z" />
|
107 |
-
<glyph unicode="" d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
|
108 |
-
<glyph unicode="" horiz-adv-x="1664" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v710q0 26 13 32t32 -13l710 -710q19 -19 19 -45t-19 -45l-710 -710q-19 -19 -32 -13t-13 32v710q-5 -10 -13 -19z" />
|
109 |
-
<glyph unicode="" horiz-adv-x="1792" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v710q0 26 13 32t32 -13l710 -710q8 -8 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-5 -10 -13 -19l-710 -710 q-19 -19 -32 -13t-13 32v710q-5 -10 -13 -19z" />
|
110 |
-
<glyph unicode="" horiz-adv-x="1024" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-5 -10 -13 -19z" />
|
111 |
-
<glyph unicode="" horiz-adv-x="1538" d="M14 557l710 710q19 19 45 19t45 -19l710 -710q19 -19 13 -32t-32 -13h-1472q-26 0 -32 13t13 32zM1473 0h-1408q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1408q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19z" />
|
112 |
-
<glyph unicode="" horiz-adv-x="1152" d="M742 -37l-652 651q-37 37 -37 90.5t37 90.5l652 651q37 37 90.5 37t90.5 -37l75 -75q37 -37 37 -90.5t-37 -90.5l-486 -486l486 -485q37 -38 37 -91t-37 -90l-75 -75q-37 -37 -90.5 -37t-90.5 37z" />
|
113 |
-
<glyph unicode="" horiz-adv-x="1152" d="M1099 704q0 -52 -37 -91l-652 -651q-37 -37 -90 -37t-90 37l-76 75q-37 39 -37 91q0 53 37 90l486 486l-486 485q-37 39 -37 91q0 53 37 90l76 75q36 38 90 38t90 -38l652 -651q37 -37 37 -90z" />
|
114 |
-
<glyph unicode="" d="M1216 576v128q0 26 -19 45t-45 19h-256v256q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-256h-256q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h256v-256q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v256h256q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5 t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
115 |
-
<glyph unicode="" d="M1216 576v128q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5 t103 -385.5z" />
|
116 |
-
<glyph unicode="" d="M1149 414q0 26 -19 45l-181 181l181 181q19 19 19 45q0 27 -19 46l-90 90q-19 19 -46 19q-26 0 -45 -19l-181 -181l-181 181q-19 19 -45 19q-27 0 -46 -19l-90 -90q-19 -19 -19 -46q0 -26 19 -45l181 -181l-181 -181q-19 -19 -19 -45q0 -27 19 -46l90 -90q19 -19 46 -19 q26 0 45 19l181 181l181 -181q19 -19 45 -19q27 0 46 19l90 90q19 19 19 46zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
117 |
-
<glyph unicode="" d="M1284 802q0 28 -18 46l-91 90q-19 19 -45 19t-45 -19l-408 -407l-226 226q-19 19 -45 19t-45 -19l-91 -90q-18 -18 -18 -46q0 -27 18 -45l362 -362q19 -19 45 -19q27 0 46 19l543 543q18 18 18 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
118 |
-
<glyph unicode="" d="M896 160v192q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h192q14 0 23 9t9 23zM1152 832q0 88 -55.5 163t-138.5 116t-170 41q-243 0 -371 -213q-15 -24 8 -42l132 -100q7 -6 19 -6q16 0 25 12q53 68 86 92q34 24 86 24q48 0 85.5 -26t37.5 -59 q0 -38 -20 -61t-68 -45q-63 -28 -115.5 -86.5t-52.5 -125.5v-36q0 -14 9 -23t23 -9h192q14 0 23 9t9 23q0 19 21.5 49.5t54.5 49.5q32 18 49 28.5t46 35t44.5 48t28 60.5t12.5 81zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
119 |
-
<glyph unicode="" d="M1024 160v160q0 14 -9 23t-23 9h-96v512q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h96v-320h-96q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h448q14 0 23 9t9 23zM896 1056v160q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23 t23 -9h192q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
120 |
-
<glyph unicode="" d="M1197 512h-109q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h109q-32 108 -112.5 188.5t-188.5 112.5v-109q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v109q-108 -32 -188.5 -112.5t-112.5 -188.5h109q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-109 q32 -108 112.5 -188.5t188.5 -112.5v109q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-109q108 32 188.5 112.5t112.5 188.5zM1536 704v-128q0 -26 -19 -45t-45 -19h-143q-37 -161 -154.5 -278.5t-278.5 -154.5v-143q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v143 q-161 37 -278.5 154.5t-154.5 278.5h-143q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h143q37 161 154.5 278.5t278.5 154.5v143q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-143q161 -37 278.5 -154.5t154.5 -278.5h143q26 0 45 -19t19 -45z" />
|
121 |
-
<glyph unicode="" d="M1097 457l-146 -146q-10 -10 -23 -10t-23 10l-137 137l-137 -137q-10 -10 -23 -10t-23 10l-146 146q-10 10 -10 23t10 23l137 137l-137 137q-10 10 -10 23t10 23l146 146q10 10 23 10t23 -10l137 -137l137 137q10 10 23 10t23 -10l146 -146q10 -10 10 -23t-10 -23 l-137 -137l137 -137q10 -10 10 -23t-10 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5 t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
122 |
-
<glyph unicode="" d="M1171 723l-422 -422q-19 -19 -45 -19t-45 19l-294 294q-19 19 -19 45t19 45l102 102q19 19 45 19t45 -19l147 -147l275 275q19 19 45 19t45 -19l102 -102q19 -19 19 -45t-19 -45zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198 t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
123 |
-
<glyph unicode="" d="M1312 643q0 161 -87 295l-754 -753q137 -89 297 -89q111 0 211.5 43.5t173.5 116.5t116 174.5t43 212.5zM313 344l755 754q-135 91 -300 91q-148 0 -273 -73t-198 -199t-73 -274q0 -162 89 -299zM1536 643q0 -157 -61 -300t-163.5 -246t-245 -164t-298.5 -61t-298.5 61 t-245 164t-163.5 246t-61 300t61 299.5t163.5 245.5t245 164t298.5 61t298.5 -61t245 -164t163.5 -245.5t61 -299.5z" />
|
124 |
-
<glyph unicode="" d="M1536 640v-128q0 -53 -32.5 -90.5t-84.5 -37.5h-704l293 -294q38 -36 38 -90t-38 -90l-75 -76q-37 -37 -90 -37q-52 0 -91 37l-651 652q-37 37 -37 90q0 52 37 91l651 650q38 38 91 38q52 0 90 -38l75 -74q38 -38 38 -91t-38 -91l-293 -293h704q52 0 84.5 -37.5 t32.5 -90.5z" />
|
125 |
-
<glyph unicode="" d="M1472 576q0 -54 -37 -91l-651 -651q-39 -37 -91 -37q-51 0 -90 37l-75 75q-38 38 -38 91t38 91l293 293h-704q-52 0 -84.5 37.5t-32.5 90.5v128q0 53 32.5 90.5t84.5 37.5h704l-293 294q-38 36 -38 90t38 90l75 75q38 38 90 38q53 0 91 -38l651 -651q37 -35 37 -90z" />
|
126 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1611 565q0 -51 -37 -90l-75 -75q-38 -38 -91 -38q-54 0 -90 38l-294 293v-704q0 -52 -37.5 -84.5t-90.5 -32.5h-128q-53 0 -90.5 32.5t-37.5 84.5v704l-294 -293q-36 -38 -90 -38t-90 38l-75 75q-38 38 -38 90q0 53 38 91l651 651q35 37 90 37q54 0 91 -37l651 -651 q37 -39 37 -91z" />
|
127 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1611 704q0 -53 -37 -90l-651 -652q-39 -37 -91 -37q-53 0 -90 37l-651 652q-38 36 -38 90q0 53 38 91l74 75q39 37 91 37q53 0 90 -37l294 -294v704q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-704l294 294q37 37 90 37q52 0 91 -37l75 -75q37 -39 37 -91z" />
|
128 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1792 896q0 -26 -19 -45l-512 -512q-19 -19 -45 -19t-45 19t-19 45v256h-224q-98 0 -175.5 -6t-154 -21.5t-133 -42.5t-105.5 -69.5t-80 -101t-48.5 -138.5t-17.5 -181q0 -55 5 -123q0 -6 2.5 -23.5t2.5 -26.5q0 -15 -8.5 -25t-23.5 -10q-16 0 -28 17q-7 9 -13 22 t-13.5 30t-10.5 24q-127 285 -127 451q0 199 53 333q162 403 875 403h224v256q0 26 19 45t45 19t45 -19l512 -512q19 -19 19 -45z" />
|
129 |
-
<glyph unicode="" d="M755 480q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23zM1536 1344v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332 q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45z" />
|
130 |
-
<glyph unicode="" d="M768 576v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45zM1523 1248q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45 t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23z" />
|
131 |
-
<glyph unicode="" horiz-adv-x="1408" d="M1408 800v-192q0 -40 -28 -68t-68 -28h-416v-416q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v416h-416q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h416v416q0 40 28 68t68 28h192q40 0 68 -28t28 -68v-416h416q40 0 68 -28t28 -68z" />
|
132 |
-
<glyph unicode="" horiz-adv-x="1408" d="M1408 800v-192q0 -40 -28 -68t-68 -28h-1216q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h1216q40 0 68 -28t28 -68z" />
|
133 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1482 486q46 -26 59.5 -77.5t-12.5 -97.5l-64 -110q-26 -46 -77.5 -59.5t-97.5 12.5l-266 153v-307q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v307l-266 -153q-46 -26 -97.5 -12.5t-77.5 59.5l-64 110q-26 46 -12.5 97.5t59.5 77.5l266 154l-266 154 q-46 26 -59.5 77.5t12.5 97.5l64 110q26 46 77.5 59.5t97.5 -12.5l266 -153v307q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-307l266 153q46 26 97.5 12.5t77.5 -59.5l64 -110q26 -46 12.5 -97.5t-59.5 -77.5l-266 -154z" />
|
134 |
-
<glyph unicode="" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM896 161v190q0 14 -9 23.5t-22 9.5h-192q-13 0 -23 -10t-10 -23v-190q0 -13 10 -23t23 -10h192 q13 0 22 9.5t9 23.5zM894 505l18 621q0 12 -10 18q-10 8 -24 8h-220q-14 0 -24 -8q-10 -6 -10 -18l17 -621q0 -10 10 -17.5t24 -7.5h185q14 0 23.5 7.5t10.5 17.5z" />
|
135 |
-
<glyph unicode="" d="M928 180v56v468v192h-320v-192v-468v-56q0 -25 18 -38.5t46 -13.5h192q28 0 46 13.5t18 38.5zM472 1024h195l-126 161q-26 31 -69 31q-40 0 -68 -28t-28 -68t28 -68t68 -28zM1160 1120q0 40 -28 68t-68 28q-43 0 -69 -31l-125 -161h194q40 0 68 28t28 68zM1536 864v-320 q0 -14 -9 -23t-23 -9h-96v-416q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v416h-96q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h440q-93 0 -158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5q107 0 168 -77l128 -165l128 165q61 77 168 77q93 0 158.5 -65.5t65.5 -158.5 t-65.5 -158.5t-158.5 -65.5h440q14 0 23 -9t9 -23z" />
|
136 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1280 832q0 26 -19 45t-45 19q-172 0 -318 -49.5t-259.5 -134t-235.5 -219.5q-19 -21 -19 -45q0 -26 19 -45t45 -19q24 0 45 19q27 24 74 71t67 66q137 124 268.5 176t313.5 52q26 0 45 19t19 45zM1792 1030q0 -95 -20 -193q-46 -224 -184.5 -383t-357.5 -268 q-214 -108 -438 -108q-148 0 -286 47q-15 5 -88 42t-96 37q-16 0 -39.5 -32t-45 -70t-52.5 -70t-60 -32q-30 0 -51 11t-31 24t-27 42q-2 4 -6 11t-5.5 10t-3 9.5t-1.5 13.5q0 35 31 73.5t68 65.5t68 56t31 48q0 4 -14 38t-16 44q-9 51 -9 104q0 115 43.5 220t119 184.5 t170.5 139t204 95.5q55 18 145 25.5t179.5 9t178.5 6t163.5 24t113.5 56.5l29.5 29.5t29.5 28t27 20t36.5 16t43.5 4.5q39 0 70.5 -46t47.5 -112t24 -124t8 -96z" />
|
137 |
-
<glyph unicode="" horiz-adv-x="1408" d="M1408 -160v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1152 896q0 -78 -24.5 -144t-64 -112.5t-87.5 -88t-96 -77.5t-87.5 -72t-64 -81.5t-24.5 -96.5q0 -96 67 -224l-4 1l1 -1 q-90 41 -160 83t-138.5 100t-113.5 122.5t-72.5 150.5t-27.5 184q0 78 24.5 144t64 112.5t87.5 88t96 77.5t87.5 72t64 81.5t24.5 96.5q0 94 -66 224l3 -1l-1 1q90 -41 160 -83t138.5 -100t113.5 -122.5t72.5 -150.5t27.5 -184z" />
|
138 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1664 576q-152 236 -381 353q61 -104 61 -225q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 121 61 225q-229 -117 -381 -353q133 -205 333.5 -326.5t434.5 -121.5t434.5 121.5t333.5 326.5zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5 t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1792 576q0 -34 -20 -69q-140 -230 -376.5 -368.5t-499.5 -138.5t-499.5 139t-376.5 368q-20 35 -20 69t20 69q140 229 376.5 368t499.5 139t499.5 -139t376.5 -368q20 -35 20 -69z" />
|
139 |
-
<glyph unicode="" horiz-adv-x="1792" d="M555 201l78 141q-87 63 -136 159t-49 203q0 121 61 225q-229 -117 -381 -353q167 -258 427 -375zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1307 1151q0 -7 -1 -9 q-105 -188 -315 -566t-316 -567l-49 -89q-10 -16 -28 -16q-12 0 -134 70q-16 10 -16 28q0 12 44 87q-143 65 -263.5 173t-208.5 245q-20 31 -20 69t20 69q153 235 380 371t496 136q89 0 180 -17l54 97q10 16 28 16q5 0 18 -6t31 -15.5t33 -18.5t31.5 -18.5t19.5 -11.5 q16 -10 16 -27zM1344 704q0 -139 -79 -253.5t-209 -164.5l280 502q8 -45 8 -84zM1792 576q0 -35 -20 -69q-39 -64 -109 -145q-150 -172 -347.5 -267t-419.5 -95l74 132q212 18 392.5 137t301.5 307q-115 179 -282 294l63 112q95 -64 182.5 -153t144.5 -184q20 -34 20 -69z " />
|
140 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1024 161v190q0 14 -9.5 23.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -23.5v-190q0 -14 9.5 -23.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 23.5zM1022 535l18 459q0 12 -10 19q-13 11 -24 11h-220q-11 0 -24 -11q-10 -7 -10 -21l17 -457q0 -10 10 -16.5t24 -6.5h185 q14 0 23.5 6.5t10.5 16.5zM1008 1469l768 -1408q35 -63 -2 -126q-17 -29 -46.5 -46t-63.5 -17h-1536q-34 0 -63.5 17t-46.5 46q-37 63 -2 126l768 1408q17 31 47 49t65 18t65 -18t47 -49z" />
|
141 |
-
<glyph unicode="" horiz-adv-x="1408" d="M1376 1376q44 -52 12 -148t-108 -172l-161 -161l160 -696q5 -19 -12 -33l-128 -96q-7 -6 -19 -6q-4 0 -7 1q-15 3 -21 16l-279 508l-259 -259l53 -194q5 -17 -8 -31l-96 -96q-9 -9 -23 -9h-2q-15 2 -24 13l-189 252l-252 189q-11 7 -13 23q-1 13 9 25l96 97q9 9 23 9 q6 0 8 -1l194 -53l259 259l-508 279q-14 8 -17 24q-2 16 9 27l128 128q14 13 30 8l665 -159l160 160q76 76 172 108t148 -12z" />
|
142 |
-
<glyph unicode="" horiz-adv-x="1664" d="M128 -128h288v288h-288v-288zM480 -128h320v288h-320v-288zM128 224h288v320h-288v-320zM480 224h320v320h-320v-320zM128 608h288v288h-288v-288zM864 -128h320v288h-320v-288zM480 608h320v288h-320v-288zM1248 -128h288v288h-288v-288zM864 224h320v320h-320v-320z M512 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1248 224h288v320h-288v-320zM864 608h320v288h-320v-288zM1248 608h288v288h-288v-288zM1280 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64 q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47 h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
|
143 |
-
<glyph unicode="" horiz-adv-x="1792" d="M666 1055q-60 -92 -137 -273q-22 45 -37 72.5t-40.5 63.5t-51 56.5t-63 35t-81.5 14.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q250 0 410 -225zM1792 256q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192q-32 0 -85 -0.5t-81 -1t-73 1 t-71 5t-64 10.5t-63 18.5t-58 28.5t-59 40t-55 53.5t-56 69.5q59 93 136 273q22 -45 37 -72.5t40.5 -63.5t51 -56.5t63 -35t81.5 -14.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1792 1152q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5 v192h-256q-48 0 -87 -15t-69 -45t-51 -61.5t-45 -77.5q-32 -62 -78 -171q-29 -66 -49.5 -111t-54 -105t-64 -100t-74 -83t-90 -68.5t-106.5 -42t-128 -16.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q48 0 87 15t69 45t51 61.5t45 77.5q32 62 78 171q29 66 49.5 111 t54 105t64 100t74 83t90 68.5t106.5 42t128 16.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
|
144 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22q-17 -2 -30.5 9t-17.5 29v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281 q0 130 71 248.5t191 204.5t286 136.5t348 50.5q244 0 450 -85.5t326 -233t120 -321.5z" />
|
145 |
-
<glyph unicode="" d="M1536 704v-128q0 -201 -98.5 -362t-274 -251.5t-395.5 -90.5t-395.5 90.5t-274 251.5t-98.5 362v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-128q0 -52 23.5 -90t53.5 -57t71 -30t64 -13t44 -2t44 2t64 13t71 30t53.5 57t23.5 90v128q0 26 19 45t45 19h384 q26 0 45 -19t19 -45zM512 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45zM1536 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45z" />
|
146 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1611 320q0 -53 -37 -90l-75 -75q-38 -38 -91 -38q-54 0 -90 38l-486 485l-486 -485q-36 -38 -90 -38t-90 38l-75 75q-38 36 -38 90q0 53 38 91l651 651q37 37 90 37q52 0 91 -37l650 -651q38 -38 38 -91z" />
|
147 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1611 832q0 -53 -37 -90l-651 -651q-38 -38 -91 -38q-54 0 -90 38l-651 651q-38 36 -38 90q0 53 38 91l74 75q39 37 91 37q53 0 90 -37l486 -486l486 486q37 37 90 37q52 0 91 -37l75 -75q37 -39 37 -91z" />
|
148 |
-
<glyph unicode="" horiz-adv-x="1920" d="M1280 32q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-8 0 -13.5 2t-9 7t-5.5 8t-3 11.5t-1 11.5v13v11v160v416h-192q-26 0 -45 19t-19 45q0 24 15 41l320 384q19 22 49 22t49 -22l320 -384q15 -17 15 -41q0 -26 -19 -45t-45 -19h-192v-384h576q16 0 25 -11l160 -192q7 -11 7 -21 zM1920 448q0 -24 -15 -41l-320 -384q-20 -23 -49 -23t-49 23l-320 384q-15 17 -15 41q0 26 19 45t45 19h192v384h-576q-16 0 -25 12l-160 192q-7 9 -7 20q0 13 9.5 22.5t22.5 9.5h960q8 0 13.5 -2t9 -7t5.5 -8t3 -11.5t1 -11.5v-13v-11v-160v-416h192q26 0 45 -19t19 -45z " />
|
149 |
-
<glyph unicode="" horiz-adv-x="1664" d="M640 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1536 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1664 1088v-512q0 -24 -16 -42.5t-41 -21.5 l-1044 -122q1 -7 4.5 -21.5t6 -26.5t2.5 -22q0 -16 -24 -64h920q26 0 45 -19t19 -45t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 14 11 39.5t29.5 59.5t20.5 38l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t20 -15.5t13 -24.5t7.5 -26.5 t5.5 -29.5t4.5 -25.5h1201q26 0 45 -19t19 -45z" />
|
150 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
|
151 |
-
<glyph unicode="" horiz-adv-x="1920" d="M1879 584q0 -31 -31 -66l-336 -396q-43 -51 -120.5 -86.5t-143.5 -35.5h-1088q-34 0 -60.5 13t-26.5 43q0 31 31 66l336 396q43 51 120.5 86.5t143.5 35.5h1088q34 0 60.5 -13t26.5 -43zM1536 928v-160h-832q-94 0 -197 -47.5t-164 -119.5l-337 -396l-5 -6q0 4 -0.5 12.5 t-0.5 12.5v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158z" />
|
152 |
-
<glyph unicode="" horiz-adv-x="768" d="M704 1216q0 -26 -19 -45t-45 -19h-128v-1024h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v1024h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45z" />
|
153 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-1024v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h1024v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
|
154 |
-
<glyph unicode="" horiz-adv-x="1920" d="M512 512v-384h-256v384h256zM896 1024v-896h-256v896h256zM1280 768v-640h-256v640h256zM1664 1152v-1024h-256v1024h256zM1792 32v1216q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5z M1920 1248v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
|
155 |
-
<glyph unicode="" d="M1280 926q-56 -25 -121 -34q68 40 93 117q-65 -38 -134 -51q-61 66 -153 66q-87 0 -148.5 -61.5t-61.5 -148.5q0 -29 5 -48q-129 7 -242 65t-192 155q-29 -50 -29 -106q0 -114 91 -175q-47 1 -100 26v-2q0 -75 50 -133.5t123 -72.5q-29 -8 -51 -8q-13 0 -39 4 q21 -63 74.5 -104t121.5 -42q-116 -90 -261 -90q-26 0 -50 3q148 -94 322 -94q112 0 210 35.5t168 95t120.5 137t75 162t24.5 168.5q0 18 -1 27q63 45 105 109zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5 t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
156 |
-
<glyph unicode="" d="M1307 618l23 219h-198v109q0 49 15.5 68.5t71.5 19.5h110v219h-175q-152 0 -218 -72t-66 -213v-131h-131v-219h131v-635h262v635h175zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960 q119 0 203.5 -84.5t84.5 -203.5z" />
|
157 |
-
<glyph unicode="" horiz-adv-x="1792" d="M928 704q0 14 -9 23t-23 9q-66 0 -113 -47t-47 -113q0 -14 9 -23t23 -9t23 9t9 23q0 40 28 68t68 28q14 0 23 9t9 23zM1152 574q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM128 0h1536v128h-1536v-128zM1280 574q0 159 -112.5 271.5 t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM256 1216h384v128h-384v-128zM128 1024h1536v118v138h-828l-64 -128h-644v-128zM1792 1280v-1280q0 -53 -37.5 -90.5t-90.5 -37.5h-1536q-53 0 -90.5 37.5t-37.5 90.5v1280 q0 53 37.5 90.5t90.5 37.5h1536q53 0 90.5 -37.5t37.5 -90.5z" />
|
158 |
-
<glyph unicode="" horiz-adv-x="1792" d="M832 1024q0 80 -56 136t-136 56t-136 -56t-56 -136q0 -42 19 -83q-41 19 -83 19q-80 0 -136 -56t-56 -136t56 -136t136 -56t136 56t56 136q0 42 -19 83q41 -19 83 -19q80 0 136 56t56 136zM1683 320q0 -17 -49 -66t-66 -49q-9 0 -28.5 16t-36.5 33t-38.5 40t-24.5 26 l-96 -96l220 -220q28 -28 28 -68q0 -42 -39 -81t-81 -39q-40 0 -68 28l-671 671q-176 -131 -365 -131q-163 0 -265.5 102.5t-102.5 265.5q0 160 95 313t248 248t313 95q163 0 265.5 -102.5t102.5 -265.5q0 -189 -131 -365l355 -355l96 96q-3 3 -26 24.5t-40 38.5t-33 36.5 t-16 28.5q0 17 49 66t66 49q13 0 23 -10q6 -6 46 -44.5t82 -79.5t86.5 -86t73 -78t28.5 -41z" />
|
159 |
-
<glyph unicode="" horiz-adv-x="1920" d="M896 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1664 128q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 1152q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5 t90.5 37.5t37.5 90.5zM1280 731v-185q0 -10 -7 -19.5t-16 -10.5l-155 -24q-11 -35 -32 -76q34 -48 90 -115q7 -10 7 -20q0 -12 -7 -19q-23 -30 -82.5 -89.5t-78.5 -59.5q-11 0 -21 7l-115 90q-37 -19 -77 -31q-11 -108 -23 -155q-7 -24 -30 -24h-186q-11 0 -20 7.5t-10 17.5 l-23 153q-34 10 -75 31l-118 -89q-7 -7 -20 -7q-11 0 -21 8q-144 133 -144 160q0 9 7 19q10 14 41 53t47 61q-23 44 -35 82l-152 24q-10 1 -17 9.5t-7 19.5v185q0 10 7 19.5t16 10.5l155 24q11 35 32 76q-34 48 -90 115q-7 11 -7 20q0 12 7 20q22 30 82 89t79 59q11 0 21 -7 l115 -90q34 18 77 32q11 108 23 154q7 24 30 24h186q11 0 20 -7.5t10 -17.5l23 -153q34 -10 75 -31l118 89q8 7 20 7q11 0 21 -8q144 -133 144 -160q0 -9 -7 -19q-12 -16 -42 -54t-45 -60q23 -48 34 -82l152 -23q10 -2 17 -10.5t7 -19.5zM1920 198v-140q0 -16 -149 -31 q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20 t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31zM1920 1222v-140q0 -16 -149 -31q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68 q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70 q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31z" />
|
160 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1408 768q0 -139 -94 -257t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224 q0 139 94 257t256.5 186.5t353.5 68.5t353.5 -68.5t256.5 -186.5t94 -257zM1792 512q0 -120 -71 -224.5t-195 -176.5q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7 q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230z" />
|
161 |
-
<glyph unicode="" d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 768q0 51 -39 89.5t-89 38.5h-352q0 58 48 159.5t48 160.5q0 98 -32 145t-128 47q-26 -26 -38 -85t-30.5 -125.5t-59.5 -109.5q-22 -23 -77 -91q-4 -5 -23 -30t-31.5 -41t-34.5 -42.5 t-40 -44t-38.5 -35.5t-40 -27t-35.5 -9h-32v-640h32q13 0 31.5 -3t33 -6.5t38 -11t35 -11.5t35.5 -12.5t29 -10.5q211 -73 342 -73h121q192 0 192 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5q32 1 53.5 47t21.5 81zM1536 769 q0 -89 -49 -163q9 -33 9 -69q0 -77 -38 -144q3 -21 3 -43q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5h-36h-93q-96 0 -189.5 22.5t-216.5 65.5q-116 40 -138 40h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h274q36 24 137 155q58 75 107 128 q24 25 35.5 85.5t30.5 126.5t62 108q39 37 90 37q84 0 151 -32.5t102 -101.5t35 -186q0 -93 -48 -192h176q104 0 180 -76t76 -179z" />
|
162 |
-
<glyph unicode="" d="M256 1088q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 512q0 35 -21.5 81t-53.5 47q15 17 25 47.5t10 55.5q0 69 -53 119q18 32 18 69t-17.5 73.5t-47.5 52.5q5 30 5 56q0 85 -49 126t-136 41h-128q-131 0 -342 -73q-5 -2 -29 -10.5 t-35.5 -12.5t-35 -11.5t-38 -11t-33 -6.5t-31.5 -3h-32v-640h32q16 0 35.5 -9t40 -27t38.5 -35.5t40 -44t34.5 -42.5t31.5 -41t23 -30q55 -68 77 -91q41 -43 59.5 -109.5t30.5 -125.5t38 -85q96 0 128 47t32 145q0 59 -48 160.5t-48 159.5h352q50 0 89 38.5t39 89.5z M1536 511q0 -103 -76 -179t-180 -76h-176q48 -99 48 -192q0 -118 -35 -186q-35 -69 -102 -101.5t-151 -32.5q-51 0 -90 37q-34 33 -54 82t-25.5 90.5t-17.5 84.5t-31 64q-48 50 -107 127q-101 131 -137 155h-274q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5 h288q22 0 138 40q128 44 223 66t200 22h112q140 0 226.5 -79t85.5 -216v-5q60 -77 60 -178q0 -22 -3 -43q38 -67 38 -144q0 -36 -9 -69q49 -74 49 -163z" />
|
163 |
-
<glyph unicode="" horiz-adv-x="896" d="M832 1504v-1339l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41z" />
|
164 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1664 940q0 81 -21.5 143t-55 98.5t-81.5 59.5t-94 31t-98 8t-112 -25.5t-110.5 -64t-86.5 -72t-60 -61.5q-18 -22 -49 -22t-49 22q-24 28 -60 61.5t-86.5 72t-110.5 64t-112 25.5t-98 -8t-94 -31t-81.5 -59.5t-55 -98.5t-21.5 -143q0 -168 187 -355l581 -560l580 559 q188 188 188 356zM1792 940q0 -221 -229 -450l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5 q224 0 351 -124t127 -344z" />
|
165 |
-
<glyph unicode="" horiz-adv-x="1664" d="M640 96q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h320q13 0 22.5 -9.5t9.5 -22.5q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-66 0 -113 -47t-47 -113v-704 q0 -66 47 -113t113 -47h288h11h13t11.5 -1t11.5 -3t8 -5.5t7 -9t2 -13.5zM1568 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45z" />
|
166 |
-
<glyph unicode="" d="M237 122h231v694h-231v-694zM483 1030q-1 52 -36 86t-93 34t-94.5 -34t-36.5 -86q0 -51 35.5 -85.5t92.5 -34.5h1q59 0 95 34.5t36 85.5zM1068 122h231v398q0 154 -73 233t-193 79q-136 0 -209 -117h2v101h-231q3 -66 0 -694h231v388q0 38 7 56q15 35 45 59.5t74 24.5 q116 0 116 -157v-371zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
167 |
-
<glyph unicode="" horiz-adv-x="1152" d="M480 672v448q0 14 -9 23t-23 9t-23 -9t-9 -23v-448q0 -14 9 -23t23 -9t23 9t9 23zM1152 320q0 -26 -19 -45t-45 -19h-429l-51 -483q-2 -12 -10.5 -20.5t-20.5 -8.5h-1q-27 0 -32 27l-76 485h-404q-26 0 -45 19t-19 45q0 123 78.5 221.5t177.5 98.5v512q-52 0 -90 38 t-38 90t38 90t90 38h640q52 0 90 -38t38 -90t-38 -90t-90 -38v-512q99 0 177.5 -98.5t78.5 -221.5z" />
|
168 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1408 608v-320q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v320 q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1792 1472v-512q0 -26 -19 -45t-45 -19t-45 19l-176 176l-652 -652q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l652 652l-176 176q-19 19 -19 45t19 45t45 19h512q26 0 45 -19t19 -45z" />
|
169 |
-
<glyph unicode="" d="M1184 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45zM1536 992v-704q0 -119 -84.5 -203.5t-203.5 -84.5h-320q-13 0 -22.5 9.5t-9.5 22.5 q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q66 0 113 47t47 113v704q0 66 -47 113t-113 47h-288h-11h-13t-11.5 1t-11.5 3t-8 5.5t-7 9t-2 13.5q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q119 0 203.5 -84.5t84.5 -203.5z" />
|
170 |
-
<glyph unicode="" horiz-adv-x="1664" d="M458 653q-74 162 -74 371h-256v-96q0 -78 94.5 -162t235.5 -113zM1536 928v96h-256q0 -209 -74 -371q141 29 235.5 113t94.5 162zM1664 1056v-128q0 -71 -41.5 -143t-112 -130t-173 -97.5t-215.5 -44.5q-42 -54 -95 -95q-38 -34 -52.5 -72.5t-14.5 -89.5q0 -54 30.5 -91 t97.5 -37q75 0 133.5 -45.5t58.5 -114.5v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 69 58.5 114.5t133.5 45.5q67 0 97.5 37t30.5 91q0 51 -14.5 89.5t-52.5 72.5q-53 41 -95 95q-113 5 -215.5 44.5t-173 97.5t-112 130t-41.5 143v128q0 40 28 68t68 28h288v96 q0 66 47 113t113 47h576q66 0 113 -47t47 -113v-96h288q40 0 68 -28t28 -68z" />
|
171 |
-
<glyph unicode="" d="M394 184q-8 -9 -20 3q-13 11 -4 19q8 9 20 -3q12 -11 4 -19zM352 245q9 -12 0 -19q-8 -6 -17 7t0 18q9 7 17 -6zM291 305q-5 -7 -13 -2q-10 5 -7 12q3 5 13 2q10 -5 7 -12zM322 271q-6 -7 -16 3q-9 11 -2 16q6 6 16 -3q9 -11 2 -16zM451 159q-4 -12 -19 -6q-17 4 -13 15 t19 7q16 -5 13 -16zM514 154q0 -11 -16 -11q-17 -2 -17 11q0 11 16 11q17 2 17 -11zM572 164q2 -10 -14 -14t-18 8t14 15q16 2 18 -9zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-224q-16 0 -24.5 1t-19.5 5t-16 14.5t-5 27.5v239q0 97 -52 142q57 6 102.5 18t94 39 t81 66.5t53 105t20.5 150.5q0 121 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-86 13.5q-44 -113 -7 -204q-79 -85 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-40 -36 -49 -103 q-21 -10 -45 -15t-57 -5t-65.5 21.5t-55.5 62.5q-19 32 -48.5 52t-49.5 24l-20 3q-21 0 -29 -4.5t-5 -11.5t9 -14t13 -12l7 -5q22 -10 43.5 -38t31.5 -51l10 -23q13 -38 44 -61.5t67 -30t69.5 -7t55.5 3.5l23 4q0 -38 0.5 -103t0.5 -68q0 -22 -11 -33.5t-22 -13t-33 -1.5 h-224q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
172 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1280 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 288v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h427q21 -56 70.5 -92 t110.5 -36h256q61 0 110.5 36t70.5 92h427q40 0 68 -28t28 -68zM1339 936q-17 -40 -59 -40h-256v-448q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v448h-256q-42 0 -59 40q-17 39 14 69l448 448q18 19 45 19t45 -19l448 -448q31 -30 14 -69z" />
|
173 |
-
<glyph unicode="" d="M1407 710q0 44 -7 113.5t-18 96.5q-12 30 -17 44t-9 36.5t-4 48.5q0 23 5 68.5t5 67.5q0 37 -10 55q-4 1 -13 1q-19 0 -58 -4.5t-59 -4.5q-60 0 -176 24t-175 24q-43 0 -94.5 -11.5t-85 -23.5t-89.5 -34q-137 -54 -202 -103q-96 -73 -159.5 -189.5t-88 -236t-24.5 -248.5 q0 -40 12.5 -120t12.5 -121q0 -23 -11 -66.5t-11 -65.5t12 -36.5t34 -14.5q24 0 72.5 11t73.5 11q57 0 169.5 -15.5t169.5 -15.5q181 0 284 36q129 45 235.5 152.5t166 245.5t59.5 275zM1535 712q0 -165 -70 -327.5t-196 -288t-281 -180.5q-124 -44 -326 -44 q-57 0 -170 14.5t-169 14.5q-24 0 -72.5 -14.5t-73.5 -14.5q-73 0 -123.5 55.5t-50.5 128.5q0 24 11 68t11 67q0 40 -12.5 120.5t-12.5 121.5q0 111 18 217.5t54.5 209.5t100.5 194t150 156q78 59 232 120q194 78 316 78q60 0 175.5 -24t173.5 -24q19 0 57 5t58 5 q81 0 118 -50.5t37 -134.5q0 -23 -5 -68t-5 -68q0 -10 1 -18.5t3 -17t4 -13.5t6.5 -16t6.5 -17q16 -40 25 -118.5t9 -136.5z" />
|
174 |
-
<glyph unicode="" horiz-adv-x="1408" d="M1408 296q0 -27 -10 -70.5t-21 -68.5q-21 -50 -122 -106q-94 -51 -186 -51q-27 0 -52.5 3.5t-57.5 12.5t-47.5 14.5t-55.5 20.5t-49 18q-98 35 -175 83q-128 79 -264.5 215.5t-215.5 264.5q-48 77 -83 175q-3 9 -18 49t-20.5 55.5t-14.5 47.5t-12.5 57.5t-3.5 52.5 q0 92 51 186q56 101 106 122q25 11 68.5 21t70.5 10q14 0 21 -3q18 -6 53 -76q11 -19 30 -54t35 -63.5t31 -53.5q3 -4 17.5 -25t21.5 -35.5t7 -28.5q0 -20 -28.5 -50t-62 -55t-62 -53t-28.5 -46q0 -9 5 -22.5t8.5 -20.5t14 -24t11.5 -19q76 -137 174 -235t235 -174 q2 -1 19 -11.5t24 -14t20.5 -8.5t22.5 -5q18 0 46 28.5t53 62t55 62t50 28.5q14 0 28.5 -7t35.5 -21.5t25 -17.5q25 -15 53.5 -31t63.5 -35t54 -30q70 -35 76 -53q3 -7 3 -21z" />
|
175 |
-
<glyph unicode="" horiz-adv-x="1408" d="M1120 1280h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v832q0 66 -47 113t-113 47zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832 q119 0 203.5 -84.5t84.5 -203.5z" />
|
176 |
-
<glyph unicode="" horiz-adv-x="1280" d="M1152 1280h-1024v-1242l423 406l89 85l89 -85l423 -406v1242zM1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289 q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
|
177 |
-
<glyph unicode="" d="M1280 343q0 11 -2 16q-3 8 -38.5 29.5t-88.5 49.5l-53 29q-5 3 -19 13t-25 15t-21 5q-18 0 -47 -32.5t-57 -65.5t-44 -33q-7 0 -16.5 3.5t-15.5 6.5t-17 9.5t-14 8.5q-99 55 -170.5 126.5t-126.5 170.5q-2 3 -8.5 14t-9.5 17t-6.5 15.5t-3.5 16.5q0 13 20.5 33.5t45 38.5 t45 39.5t20.5 36.5q0 10 -5 21t-15 25t-13 19q-3 6 -15 28.5t-25 45.5t-26.5 47.5t-25 40.5t-16.5 18t-16 2q-48 0 -101 -22q-46 -21 -80 -94.5t-34 -130.5q0 -16 2.5 -34t5 -30.5t9 -33t10 -29.5t12.5 -33t11 -30q60 -164 216.5 -320.5t320.5 -216.5q6 -2 30 -11t33 -12.5 t29.5 -10t33 -9t30.5 -5t34 -2.5q57 0 130.5 34t94.5 80q22 53 22 101zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
178 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1620 1128q-67 -98 -162 -167q1 -14 1 -42q0 -130 -38 -259.5t-115.5 -248.5t-184.5 -210.5t-258 -146t-323 -54.5q-271 0 -496 145q35 -4 78 -4q225 0 401 138q-105 2 -188 64.5t-114 159.5q33 -5 61 -5q43 0 85 11q-112 23 -185.5 111.5t-73.5 205.5v4q68 -38 146 -41 q-66 44 -105 115t-39 154q0 88 44 163q121 -149 294.5 -238.5t371.5 -99.5q-8 38 -8 74q0 134 94.5 228.5t228.5 94.5q140 0 236 -102q109 21 205 78q-37 -115 -142 -178q93 10 186 50z" />
|
179 |
-
<glyph unicode="" horiz-adv-x="768" d="M511 980h257l-30 -284h-227v-824h-341v824h-170v284h170v171q0 182 86 275.5t283 93.5h227v-284h-142q-39 0 -62.5 -6.5t-34 -23.5t-13.5 -34.5t-3 -49.5v-142z" />
|
180 |
-
<glyph unicode="" d="M1536 640q0 -251 -146.5 -451.5t-378.5 -277.5q-27 -5 -39.5 7t-12.5 30v211q0 97 -52 142q57 6 102.5 18t94 39t81 66.5t53 105t20.5 150.5q0 121 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-86 13.5 q-44 -113 -7 -204q-79 -85 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-40 -36 -49 -103q-21 -10 -45 -15t-57 -5t-65.5 21.5t-55.5 62.5q-19 32 -48.5 52t-49.5 24l-20 3q-21 0 -29 -4.5t-5 -11.5t9 -14t13 -12l7 -5q22 -10 43.5 -38t31.5 -51l10 -23 q13 -38 44 -61.5t67 -30t69.5 -7t55.5 3.5l23 4q0 -38 0.5 -89t0.5 -54q0 -18 -13 -30t-40 -7q-232 77 -378.5 277.5t-146.5 451.5q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
181 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1664 960v-256q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-192h96q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h672v192q0 185 131.5 316.5t316.5 131.5 t316.5 -131.5t131.5 -316.5z" />
|
182 |
-
<glyph unicode="" horiz-adv-x="1920" d="M1760 1408q66 0 113 -47t47 -113v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600zM160 1280q-13 0 -22.5 -9.5t-9.5 -22.5v-224h1664v224q0 13 -9.5 22.5t-22.5 9.5h-1600zM1760 0q13 0 22.5 9.5t9.5 22.5v608h-1664v-608 q0 -13 9.5 -22.5t22.5 -9.5h1600zM256 128v128h256v-128h-256zM640 128v128h384v-128h-384z" />
|
183 |
-
<glyph unicode="" horiz-adv-x="1408" d="M384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 69q2 -28 -17 -48q-18 -21 -47 -21h-135q-25 0 -43 16.5t-20 41.5q-22 229 -184.5 391.5t-391.5 184.5q-25 2 -41.5 20t-16.5 43v135q0 29 21 47q17 17 43 17h5q160 -13 306 -80.5 t259 -181.5q114 -113 181.5 -259t80.5 -306zM1408 67q2 -27 -18 -47q-18 -20 -46 -20h-143q-26 0 -44.5 17.5t-19.5 42.5q-12 215 -101 408.5t-231.5 336t-336 231.5t-408.5 102q-25 1 -42.5 19.5t-17.5 43.5v143q0 28 20 46q18 18 44 18h3q262 -13 501.5 -120t425.5 -294 q187 -186 294 -425.5t120 -501.5z" />
|
184 |
-
<glyph unicode="" d="M1040 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1296 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1408 160v320q0 13 -9.5 22.5t-22.5 9.5 h-1216q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h1216q13 0 22.5 9.5t9.5 22.5zM178 640h1180l-157 482q-4 13 -16 21.5t-26 8.5h-782q-14 0 -26 -8.5t-16 -21.5zM1536 480v-320q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v320q0 25 16 75 l197 606q17 53 63 86t101 33h782q55 0 101 -33t63 -86l197 -606q16 -50 16 -75z" />
|
185 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1664 896q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5v-384q0 -52 -38 -90t-90 -38q-417 347 -812 380q-58 -19 -91 -66t-31 -100.5t40 -92.5q-20 -33 -23 -65.5t6 -58t33.5 -55t48 -50t61.5 -50.5q-29 -58 -111.5 -83t-168.5 -11.5t-132 55.5q-7 23 -29.5 87.5 t-32 94.5t-23 89t-15 101t3.5 98.5t22 110.5h-122q-66 0 -113 47t-47 113v192q0 66 47 113t113 47h480q435 0 896 384q52 0 90 -38t38 -90v-384zM1536 292v954q-394 -302 -768 -343v-270q377 -42 768 -341z" />
|
186 |
-
<glyph unicode="" horiz-adv-x="1664" d="M848 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM183 128h1298q-164 181 -246.5 411.5t-82.5 484.5q0 256 -320 256t-320 -256q0 -254 -82.5 -484.5t-246.5 -411.5zM1664 128q0 -52 -38 -90t-90 -38 h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q190 161 287 397.5t97 498.5q0 165 96 262t264 117q-8 18 -8 37q0 40 28 68t68 28t68 -28t28 -68q0 -19 -8 -37q168 -20 264 -117t96 -262q0 -262 97 -498.5t287 -397.5z" />
|
187 |
-
<glyph unicode="" d="M1376 640l138 -135q30 -28 20 -70q-12 -41 -52 -51l-188 -48l53 -186q12 -41 -19 -70q-29 -31 -70 -19l-186 53l-48 -188q-10 -40 -51 -52q-12 -2 -19 -2q-31 0 -51 22l-135 138l-135 -138q-28 -30 -70 -20q-41 11 -51 52l-48 188l-186 -53q-41 -12 -70 19q-31 29 -19 70 l53 186l-188 48q-40 10 -52 51q-10 42 20 70l138 135l-138 135q-30 28 -20 70q12 41 52 51l188 48l-53 186q-12 41 19 70q29 31 70 19l186 -53l48 188q10 41 51 51q41 12 70 -19l135 -139l135 139q29 30 70 19q41 -10 51 -51l48 -188l186 53q41 12 70 -19q31 -29 19 -70 l-53 -186l188 -48q40 -10 52 -51q10 -42 -20 -70z" />
|
188 |
-
<glyph unicode="" horiz-adv-x="1792" d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 768q0 51 -39 89.5t-89 38.5h-576q0 20 15 48.5t33 55t33 68t15 84.5q0 67 -44.5 97.5t-115.5 30.5q-24 0 -90 -139q-24 -44 -37 -65q-40 -64 -112 -145q-71 -81 -101 -106 q-69 -57 -140 -57h-32v-640h32q72 0 167 -32t193.5 -64t179.5 -32q189 0 189 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5h331q52 0 90 38t38 90zM1792 769q0 -105 -75.5 -181t-180.5 -76h-169q-4 -62 -37 -119q3 -21 3 -43 q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5q-133 0 -322 69q-164 59 -223 59h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h288q10 0 21.5 4.5t23.5 14t22.5 18t24 22.5t20.5 21.5t19 21.5t14 17q65 74 100 129q13 21 33 62t37 72t40.5 63t55 49.5 t69.5 17.5q125 0 206.5 -67t81.5 -189q0 -68 -22 -128h374q104 0 180 -76t76 -179z" />
|
189 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1376 128h32v640h-32q-35 0 -67.5 12t-62.5 37t-50 46t-49 54q-2 3 -3.5 4.5t-4 4.5t-4.5 5q-72 81 -112 145q-14 22 -38 68q-1 3 -10.5 22.5t-18.5 36t-20 35.5t-21.5 30.5t-18.5 11.5q-71 0 -115.5 -30.5t-44.5 -97.5q0 -43 15 -84.5t33 -68t33 -55t15 -48.5h-576 q-50 0 -89 -38.5t-39 -89.5q0 -52 38 -90t90 -38h331q-15 -17 -25 -47.5t-10 -55.5q0 -69 53 -119q-18 -32 -18 -69t17.5 -73.5t47.5 -52.5q-4 -24 -4 -56q0 -85 48.5 -126t135.5 -41q84 0 183 32t194 64t167 32zM1664 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45 t45 -19t45 19t19 45zM1792 768v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-288q-59 0 -223 -59q-190 -69 -317 -69q-142 0 -230 77.5t-87 217.5l1 5q-61 76 -61 178q0 22 3 43q-33 57 -37 119h-169q-105 0 -180.5 76t-75.5 181q0 103 76 179t180 76h374q-22 60 -22 128 q0 122 81.5 189t206.5 67q38 0 69.5 -17.5t55 -49.5t40.5 -63t37 -72t33 -62q35 -55 100 -129q2 -3 14 -17t19 -21.5t20.5 -21.5t24 -22.5t22.5 -18t23.5 -14t21.5 -4.5h288q53 0 90.5 -37.5t37.5 -90.5z" />
|
190 |
-
<glyph unicode="" d="M1280 -64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 700q0 189 -167 189q-26 0 -56 -5q-16 30 -52.5 47.5t-73.5 17.5t-69 -18q-50 53 -119 53q-25 0 -55.5 -10t-47.5 -25v331q0 52 -38 90t-90 38q-51 0 -89.5 -39t-38.5 -89v-576 q-20 0 -48.5 15t-55 33t-68 33t-84.5 15q-67 0 -97.5 -44.5t-30.5 -115.5q0 -24 139 -90q44 -24 65 -37q64 -40 145 -112q81 -71 106 -101q57 -69 57 -140v-32h640v32q0 72 32 167t64 193.5t32 179.5zM1536 705q0 -133 -69 -322q-59 -164 -59 -223v-288q0 -53 -37.5 -90.5 t-90.5 -37.5h-640q-53 0 -90.5 37.5t-37.5 90.5v288q0 10 -4.5 21.5t-14 23.5t-18 22.5t-22.5 24t-21.5 20.5t-21.5 19t-17 14q-74 65 -129 100q-21 13 -62 33t-72 37t-63 40.5t-49.5 55t-17.5 69.5q0 125 67 206.5t189 81.5q68 0 128 -22v374q0 104 76 180t179 76 q105 0 181 -75.5t76 -180.5v-169q62 -4 119 -37q21 3 43 3q101 0 178 -60q139 1 219.5 -85t80.5 -227z" />
|
191 |
-
<glyph unicode="" d="M1408 576q0 84 -32 183t-64 194t-32 167v32h-640v-32q0 -35 -12 -67.5t-37 -62.5t-46 -50t-54 -49q-9 -8 -14 -12q-81 -72 -145 -112q-22 -14 -68 -38q-3 -1 -22.5 -10.5t-36 -18.5t-35.5 -20t-30.5 -21.5t-11.5 -18.5q0 -71 30.5 -115.5t97.5 -44.5q43 0 84.5 15t68 33 t55 33t48.5 15v-576q0 -50 38.5 -89t89.5 -39q52 0 90 38t38 90v331q46 -35 103 -35q69 0 119 53q32 -18 69 -18t73.5 17.5t52.5 47.5q24 -4 56 -4q85 0 126 48.5t41 135.5zM1280 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 580 q0 -142 -77.5 -230t-217.5 -87l-5 1q-76 -61 -178 -61q-22 0 -43 3q-54 -30 -119 -37v-169q0 -105 -76 -180.5t-181 -75.5q-103 0 -179 76t-76 180v374q-54 -22 -128 -22q-121 0 -188.5 81.5t-67.5 206.5q0 38 17.5 69.5t49.5 55t63 40.5t72 37t62 33q55 35 129 100 q3 2 17 14t21.5 19t21.5 20.5t22.5 24t18 22.5t14 23.5t4.5 21.5v288q0 53 37.5 90.5t90.5 37.5h640q53 0 90.5 -37.5t37.5 -90.5v-288q0 -59 59 -223q69 -190 69 -317z" />
|
192 |
-
<glyph unicode="" d="M1280 576v128q0 26 -19 45t-45 19h-502l189 189q19 19 19 45t-19 45l-91 91q-18 18 -45 18t-45 -18l-362 -362l-91 -91q-18 -18 -18 -45t18 -45l91 -91l362 -362q18 -18 45 -18t45 18l91 91q18 18 18 45t-18 45l-189 189h502q26 0 45 19t19 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
193 |
-
<glyph unicode="" d="M1285 640q0 27 -18 45l-91 91l-362 362q-18 18 -45 18t-45 -18l-91 -91q-18 -18 -18 -45t18 -45l189 -189h-502q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h502l-189 -189q-19 -19 -19 -45t19 -45l91 -91q18 -18 45 -18t45 18l362 362l91 91q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
194 |
-
<glyph unicode="" d="M1284 641q0 27 -18 45l-362 362l-91 91q-18 18 -45 18t-45 -18l-91 -91l-362 -362q-18 -18 -18 -45t18 -45l91 -91q18 -18 45 -18t45 18l189 189v-502q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v502l189 -189q19 -19 45 -19t45 19l91 91q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
195 |
-
<glyph unicode="" d="M1284 639q0 27 -18 45l-91 91q-18 18 -45 18t-45 -18l-189 -189v502q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-502l-189 189q-19 19 -45 19t-45 -19l-91 -91q-18 -18 -18 -45t18 -45l362 -362l91 -91q18 -18 45 -18t45 18l91 91l362 362q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
196 |
-
<glyph unicode="" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1042 887q-2 -1 -9.5 -9.5t-13.5 -9.5q2 0 4.5 5t5 11t3.5 7q6 7 22 15q14 6 52 12q34 8 51 -11 q-2 2 9.5 13t14.5 12q3 2 15 4.5t15 7.5l2 22q-12 -1 -17.5 7t-6.5 21q0 -2 -6 -8q0 7 -4.5 8t-11.5 -1t-9 -1q-10 3 -15 7.5t-8 16.5t-4 15q-2 5 -9.5 10.5t-9.5 10.5q-1 2 -2.5 5.5t-3 6.5t-4 5.5t-5.5 2.5t-7 -5t-7.5 -10t-4.5 -5q-3 2 -6 1.5t-4.5 -1t-4.5 -3t-5 -3.5 q-3 -2 -8.5 -3t-8.5 -2q15 5 -1 11q-10 4 -16 3q9 4 7.5 12t-8.5 14h5q-1 4 -8.5 8.5t-17.5 8.5t-13 6q-8 5 -34 9.5t-33 0.5q-5 -6 -4.5 -10.5t4 -14t3.5 -12.5q1 -6 -5.5 -13t-6.5 -12q0 -7 14 -15.5t10 -21.5q-3 -8 -16 -16t-16 -12q-5 -8 -1.5 -18.5t10.5 -16.5 q2 -2 1.5 -4t-3.5 -4.5t-5.5 -4t-6.5 -3.5l-3 -2q-11 -5 -20.5 6t-13.5 26q-7 25 -16 30q-23 8 -29 -1q-5 13 -41 26q-25 9 -58 4q6 1 0 15q-7 15 -19 12q3 6 4 17.5t1 13.5q3 13 12 23q1 1 7 8.5t9.5 13.5t0.5 6q35 -4 50 11q5 5 11.5 17t10.5 17q9 6 14 5.5t14.5 -5.5 t14.5 -5q14 -1 15.5 11t-7.5 20q12 -1 3 17q-5 7 -8 9q-12 4 -27 -5q-8 -4 2 -8q-1 1 -9.5 -10.5t-16.5 -17.5t-16 5q-1 1 -5.5 13.5t-9.5 13.5q-8 0 -16 -15q3 8 -11 15t-24 8q19 12 -8 27q-7 4 -20.5 5t-19.5 -4q-5 -7 -5.5 -11.5t5 -8t10.5 -5.5t11.5 -4t8.5 -3 q14 -10 8 -14q-2 -1 -8.5 -3.5t-11.5 -4.5t-6 -4q-3 -4 0 -14t-2 -14q-5 5 -9 17.5t-7 16.5q7 -9 -25 -6l-10 1q-4 0 -16 -2t-20.5 -1t-13.5 8q-4 8 0 20q1 4 4 2q-4 3 -11 9.5t-10 8.5q-46 -15 -94 -41q6 -1 12 1q5 2 13 6.5t10 5.5q34 14 42 7l5 5q14 -16 20 -25 q-7 4 -30 1q-20 -6 -22 -12q7 -12 5 -18q-4 3 -11.5 10t-14.5 11t-15 5q-16 0 -22 -1q-146 -80 -235 -222q7 -7 12 -8q4 -1 5 -9t2.5 -11t11.5 3q9 -8 3 -19q1 1 44 -27q19 -17 21 -21q3 -11 -10 -18q-1 2 -9 9t-9 4q-3 -5 0.5 -18.5t10.5 -12.5q-7 0 -9.5 -16t-2.5 -35.5 t-1 -23.5l2 -1q-3 -12 5.5 -34.5t21.5 -19.5q-13 -3 20 -43q6 -8 8 -9q3 -2 12 -7.5t15 -10t10 -10.5q4 -5 10 -22.5t14 -23.5q-2 -6 9.5 -20t10.5 -23q-1 0 -2.5 -1t-2.5 -1q3 -7 15.5 -14t15.5 -13q1 -3 2 -10t3 -11t8 -2q2 20 -24 62q-15 25 -17 29q-3 5 -5.5 15.5 t-4.5 14.5q2 0 6 -1.5t8.5 -3.5t7.5 -4t2 -3q-3 -7 2 -17.5t12 -18.5t17 -19t12 -13q6 -6 14 -19.5t0 -13.5q9 0 20 -10t17 -20q5 -8 8 -26t5 -24q2 -7 8.5 -13.5t12.5 -9.5l16 -8t13 -7q5 -2 18.5 -10.5t21.5 -11.5q10 -4 16 -4t14.5 2.5t13.5 3.5q15 2 29 -15t21 -21 q36 -19 55 -11q-2 -1 0.5 -7.5t8 -15.5t9 -14.5t5.5 -8.5q5 -6 18 -15t18 -15q6 4 7 9q-3 -8 7 -20t18 -10q14 3 14 32q-31 -15 -49 18q0 1 -2.5 5.5t-4 8.5t-2.5 8.5t0 7.5t5 3q9 0 10 3.5t-2 12.5t-4 13q-1 8 -11 20t-12 15q-5 -9 -16 -8t-16 9q0 -1 -1.5 -5.5t-1.5 -6.5 q-13 0 -15 1q1 3 2.5 17.5t3.5 22.5q1 4 5.5 12t7.5 14.5t4 12.5t-4.5 9.5t-17.5 2.5q-19 -1 -26 -20q-1 -3 -3 -10.5t-5 -11.5t-9 -7q-7 -3 -24 -2t-24 5q-13 8 -22.5 29t-9.5 37q0 10 2.5 26.5t3 25t-5.5 24.5q3 2 9 9.5t10 10.5q2 1 4.5 1.5t4.5 0t4 1.5t3 6q-1 1 -4 3 q-3 3 -4 3q7 -3 28.5 1.5t27.5 -1.5q15 -11 22 2q0 1 -2.5 9.5t-0.5 13.5q5 -27 29 -9q3 -3 15.5 -5t17.5 -5q3 -2 7 -5.5t5.5 -4.5t5 0.5t8.5 6.5q10 -14 12 -24q11 -40 19 -44q7 -3 11 -2t4.5 9.5t0 14t-1.5 12.5l-1 8v18l-1 8q-15 3 -18.5 12t1.5 18.5t15 18.5q1 1 8 3.5 t15.5 6.5t12.5 8q21 19 15 35q7 0 11 9q-1 0 -5 3t-7.5 5t-4.5 2q9 5 2 16q5 3 7.5 11t7.5 10q9 -12 21 -2q7 8 1 16q5 7 20.5 10.5t18.5 9.5q7 -2 8 2t1 12t3 12q4 5 15 9t13 5l17 11q3 4 0 4q18 -2 31 11q10 11 -6 20q3 6 -3 9.5t-15 5.5q3 1 11.5 0.5t10.5 1.5 q15 10 -7 16q-17 5 -43 -12zM879 10q206 36 351 189q-3 3 -12.5 4.5t-12.5 3.5q-18 7 -24 8q1 7 -2.5 13t-8 9t-12.5 8t-11 7q-2 2 -7 6t-7 5.5t-7.5 4.5t-8.5 2t-10 -1l-3 -1q-3 -1 -5.5 -2.5t-5.5 -3t-4 -3t0 -2.5q-21 17 -36 22q-5 1 -11 5.5t-10.5 7t-10 1.5t-11.5 -7 q-5 -5 -6 -15t-2 -13q-7 5 0 17.5t2 18.5q-3 6 -10.5 4.5t-12 -4.5t-11.5 -8.5t-9 -6.5t-8.5 -5.5t-8.5 -7.5q-3 -4 -6 -12t-5 -11q-2 4 -11.5 6.5t-9.5 5.5q2 -10 4 -35t5 -38q7 -31 -12 -48q-27 -25 -29 -40q-4 -22 12 -26q0 -7 -8 -20.5t-7 -21.5q0 -6 2 -16z" />
|
197 |
-
<glyph unicode="" horiz-adv-x="1664" d="M384 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1028 484l-682 -682q-37 -37 -90 -37q-52 0 -91 37l-106 108q-38 36 -38 90q0 53 38 91l681 681q39 -98 114.5 -173.5t173.5 -114.5zM1662 919q0 -39 -23 -106q-47 -134 -164.5 -217.5 t-258.5 -83.5q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q58 0 121.5 -16.5t107.5 -46.5q16 -11 16 -28t-16 -28l-293 -169v-224l193 -107q5 3 79 48.5t135.5 81t70.5 35.5q15 0 23.5 -10t8.5 -25z" />
|
198 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1024 128h640v128h-640v-128zM640 640h1024v128h-1024v-128zM1280 1152h384v128h-384v-128zM1792 320v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 832v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19 t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
|
199 |
-
<glyph unicode="" horiz-adv-x="1408" d="M1403 1241q17 -41 -14 -70l-493 -493v-742q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-256 256q-19 19 -19 45v486l-493 493q-31 29 -14 70q17 39 59 39h1280q42 0 59 -39z" />
|
200 |
-
<glyph unicode="" horiz-adv-x="1792" d="M640 1280h512v128h-512v-128zM1792 640v-480q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v480h672v-160q0 -26 19 -45t45 -19h320q26 0 45 19t19 45v160h672zM1024 640v-128h-256v128h256zM1792 1120v-384h-1792v384q0 66 47 113t113 47h352v160q0 40 28 68 t68 28h576q40 0 68 -28t28 -68v-160h352q66 0 113 -47t47 -113z" />
|
201 |
-
<glyph unicode="" d="M1283 995l-355 -355l355 -355l144 144q29 31 70 14q39 -17 39 -59v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l144 144l-355 355l-355 -355l144 -144q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l144 -144 l355 355l-355 355l-144 -144q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v448q0 26 19 45t45 19h448q42 0 59 -40q17 -39 -14 -69l-144 -144l355 -355l355 355l-144 144q-31 30 -14 69q17 40 59 40h448q26 0 45 -19t19 -45v-448q0 -42 -39 -59q-13 -5 -25 -5q-26 0 -45 19z " />
|
202 |
-
<glyph unicode="" horiz-adv-x="1920" d="M593 640q-162 -5 -265 -128h-134q-82 0 -138 40.5t-56 118.5q0 353 124 353q6 0 43.5 -21t97.5 -42.5t119 -21.5q67 0 133 23q-5 -37 -5 -66q0 -139 81 -256zM1664 3q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5 t43 97.5t62 81t85.5 53.5t111.5 20q10 0 43 -21.5t73 -48t107 -48t135 -21.5t135 21.5t107 48t73 48t43 21.5q61 0 111.5 -20t85.5 -53.5t62 -81t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM640 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75 t75 -181zM1344 896q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5zM1920 671q0 -78 -56 -118.5t-138 -40.5h-134q-103 123 -265 128q81 117 81 256q0 29 -5 66q66 -23 133 -23q59 0 119 21.5t97.5 42.5 t43.5 21q124 0 124 -353zM1792 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181z" />
|
203 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1456 320q0 40 -28 68l-208 208q-28 28 -68 28q-42 0 -72 -32q3 -3 19 -18.5t21.5 -21.5t15 -19t13 -25.5t3.5 -27.5q0 -40 -28 -68t-68 -28q-15 0 -27.5 3.5t-25.5 13t-19 15t-21.5 21.5t-18.5 19q-33 -31 -33 -73q0 -40 28 -68l206 -207q27 -27 68 -27q40 0 68 26 l147 146q28 28 28 67zM753 1025q0 40 -28 68l-206 207q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l208 -208q27 -27 68 -27q42 0 72 31q-3 3 -19 18.5t-21.5 21.5t-15 19t-13 25.5t-3.5 27.5q0 40 28 68t68 28q15 0 27.5 -3.5t25.5 -13t19 -15 t21.5 -21.5t18.5 -19q33 31 33 73zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-206 207q-83 83 -83 203q0 123 88 209l-88 88q-86 -88 -208 -88q-120 0 -204 84l-208 208q-84 84 -84 204t85 203l147 146q83 83 203 83q121 0 204 -85l206 -207 q83 -83 83 -203q0 -123 -88 -209l88 -88q86 88 208 88q120 0 204 -84l208 -208q84 -84 84 -204z" />
|
204 |
-
<glyph unicode="" horiz-adv-x="1920" d="M1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088q-185 0 -316.5 131.5t-131.5 316.5q0 132 71 241.5t187 163.5q-2 28 -2 43q0 212 150 362t362 150q158 0 286.5 -88t187.5 -230q70 62 166 62q106 0 181 -75t75 -181q0 -75 -41 -138q129 -30 213 -134.5t84 -239.5z " />
|
205 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1527 88q56 -89 21.5 -152.5t-140.5 -63.5h-1152q-106 0 -140.5 63.5t21.5 152.5l503 793v399h-64q-26 0 -45 19t-19 45t19 45t45 19h512q26 0 45 -19t19 -45t-19 -45t-45 -19h-64v-399zM748 813l-272 -429h712l-272 429l-20 31v37v399h-128v-399v-37z" />
|
206 |
-
<glyph unicode="" horiz-adv-x="1792" d="M960 640q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1260 576l507 -398q28 -20 25 -56q-5 -35 -35 -51l-128 -64q-13 -7 -29 -7q-17 0 -31 8l-690 387l-110 -66q-8 -4 -12 -5q14 -49 10 -97q-7 -77 -56 -147.5t-132 -123.5q-132 -84 -277 -84 q-136 0 -222 78q-90 84 -79 207q7 76 56 147t131 124q132 84 278 84q83 0 151 -31q9 13 22 22l122 73l-122 73q-13 9 -22 22q-68 -31 -151 -31q-146 0 -278 84q-82 53 -131 124t-56 147q-5 59 15.5 113t63.5 93q85 79 222 79q145 0 277 -84q83 -52 132 -123t56 -148 q4 -48 -10 -97q4 -1 12 -5l110 -66l690 387q14 8 31 8q16 0 29 -7l128 -64q30 -16 35 -51q3 -36 -25 -56zM579 836q46 42 21 108t-106 117q-92 59 -192 59q-74 0 -113 -36q-46 -42 -21 -108t106 -117q92 -59 192 -59q74 0 113 36zM494 91q81 51 106 117t-21 108 q-39 36 -113 36q-100 0 -192 -59q-81 -51 -106 -117t21 -108q39 -36 113 -36q100 0 192 59zM672 704l96 -58v11q0 36 33 56l14 8l-79 47l-26 -26q-3 -3 -10 -11t-12 -12q-2 -2 -4 -3.5t-3 -2.5zM896 480l96 -32l736 576l-128 64l-768 -431v-113l-160 -96l9 -8q2 -2 7 -6 q4 -4 11 -12t11 -12l26 -26zM1600 64l128 64l-520 408l-177 -138q-2 -3 -13 -7z" />
|
207 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1696 1152q40 0 68 -28t28 -68v-1216q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v288h-544q-40 0 -68 28t-28 68v672q0 40 20 88t48 76l408 408q28 28 76 48t88 20h416q40 0 68 -28t28 -68v-328q68 40 128 40h416zM1152 939l-299 -299h299v299zM512 1323l-299 -299 h299v299zM708 676l316 316v416h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h512v256q0 40 20 88t48 76zM1664 -128v1152h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h896z" />
|
208 |
-
<glyph unicode="" horiz-adv-x="1408" d="M1404 151q0 -117 -79 -196t-196 -79q-135 0 -235 100l-777 776q-113 115 -113 271q0 159 110 270t269 111q158 0 273 -113l605 -606q10 -10 10 -22q0 -16 -30.5 -46.5t-46.5 -30.5q-13 0 -23 10l-606 607q-79 77 -181 77q-106 0 -179 -75t-73 -181q0 -105 76 -181 l776 -777q63 -63 145 -63q64 0 106 42t42 106q0 82 -63 145l-581 581q-26 24 -60 24q-29 0 -48 -19t-19 -48q0 -32 25 -59l410 -410q10 -10 10 -22q0 -16 -31 -47t-47 -31q-12 0 -22 10l-410 410q-63 61 -63 149q0 82 57 139t139 57q88 0 149 -63l581 -581q100 -98 100 -235 z" />
|
209 |
-
<glyph unicode="" d="M384 0h768v384h-768v-384zM1280 0h128v896q0 14 -10 38.5t-20 34.5l-281 281q-10 10 -34 20t-39 10v-416q0 -40 -28 -68t-68 -28h-576q-40 0 -68 28t-28 68v416h-128v-1280h128v416q0 40 28 68t68 28h832q40 0 68 -28t28 -68v-416zM896 928v320q0 13 -9.5 22.5t-22.5 9.5 h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5zM1536 896v-928q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h928q40 0 88 -20t76 -48l280 -280q28 -28 48 -76t20 -88z" />
|
210 |
-
<glyph unicode="" d="M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
211 |
-
<glyph unicode="" d="M1536 192v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 704v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 1216v-128q0 -26 -19 -45 t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
|
212 |
-
<glyph unicode="" horiz-adv-x="1792" d="M384 128q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 640q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5 t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1152q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z M1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
|
213 |
-
<glyph unicode="" horiz-adv-x="1792" d="M381 -84q0 -80 -54.5 -126t-135.5 -46q-106 0 -172 66l57 88q49 -45 106 -45q29 0 50.5 14.5t21.5 42.5q0 64 -105 56l-26 56q8 10 32.5 43.5t42.5 54t37 38.5v1q-16 0 -48.5 -1t-48.5 -1v-53h-106v152h333v-88l-95 -115q51 -12 81 -49t30 -88zM383 543v-159h-362 q-6 36 -6 54q0 51 23.5 93t56.5 68t66 47.5t56.5 43.5t23.5 45q0 25 -14.5 38.5t-39.5 13.5q-46 0 -81 -58l-85 59q24 51 71.5 79.5t105.5 28.5q73 0 123 -41.5t50 -112.5q0 -50 -34 -91.5t-75 -64.5t-75.5 -50.5t-35.5 -52.5h127v60h105zM1792 224v-192q0 -13 -9.5 -22.5 t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1123v-99h-335v99h107q0 41 0.5 122t0.5 121v12h-2q-8 -17 -50 -54l-71 76l136 127h106v-404h108zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5 t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
|
214 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1760 640q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1728q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h1728zM483 704q-28 35 -51 80q-48 97 -48 188q0 181 134 309q133 127 393 127q50 0 167 -19q66 -12 177 -48q10 -38 21 -118q14 -123 14 -183q0 -18 -5 -45l-12 -3l-84 6 l-14 2q-50 149 -103 205q-88 91 -210 91q-114 0 -182 -59q-67 -58 -67 -146q0 -73 66 -140t279 -129q69 -20 173 -66q58 -28 95 -52h-743zM990 448h411q7 -39 7 -92q0 -111 -41 -212q-23 -55 -71 -104q-37 -35 -109 -81q-80 -48 -153 -66q-80 -21 -203 -21q-114 0 -195 23 l-140 40q-57 16 -72 28q-8 8 -8 22v13q0 108 -2 156q-1 30 0 68l2 37v44l102 2q15 -34 30 -71t22.5 -56t12.5 -27q35 -57 80 -94q43 -36 105 -57q59 -22 132 -22q64 0 139 27q77 26 122 86q47 61 47 129q0 84 -81 157q-34 29 -137 71z" />
|
215 |
-
<glyph unicode="" d="M48 1313q-37 2 -45 4l-3 88q13 1 40 1q60 0 112 -4q132 -7 166 -7q86 0 168 3q116 4 146 5q56 0 86 2l-1 -14l2 -64v-9q-60 -9 -124 -9q-60 0 -79 -25q-13 -14 -13 -132q0 -13 0.5 -32.5t0.5 -25.5l1 -229l14 -280q6 -124 51 -202q35 -59 96 -92q88 -47 177 -47 q104 0 191 28q56 18 99 51q48 36 65 64q36 56 53 114q21 73 21 229q0 79 -3.5 128t-11 122.5t-13.5 159.5l-4 59q-5 67 -24 88q-34 35 -77 34l-100 -2l-14 3l2 86h84l205 -10q76 -3 196 10l18 -2q6 -38 6 -51q0 -7 -4 -31q-45 -12 -84 -13q-73 -11 -79 -17q-15 -15 -15 -41 q0 -7 1.5 -27t1.5 -31q8 -19 22 -396q6 -195 -15 -304q-15 -76 -41 -122q-38 -65 -112 -123q-75 -57 -182 -89q-109 -33 -255 -33q-167 0 -284 46q-119 47 -179 122q-61 76 -83 195q-16 80 -16 237v333q0 188 -17 213q-25 36 -147 39zM1536 -96v64q0 14 -9 23t-23 9h-1472 q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h1472q14 0 23 9t9 23z" />
|
216 |
-
<glyph unicode="" horiz-adv-x="1664" d="M512 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23 v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 160v192 q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192 q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1664 1248v-1088q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1344q66 0 113 -47t47 -113 z" />
|
217 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1190 955l293 293l-107 107l-293 -293zM1637 1248q0 -27 -18 -45l-1286 -1286q-18 -18 -45 -18t-45 18l-198 198q-18 18 -18 45t18 45l1286 1286q18 18 45 18t45 -18l198 -198q18 -18 18 -45zM286 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM636 1276 l196 -60l-196 -60l-60 -196l-60 196l-196 60l196 60l60 196zM1566 798l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM926 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98z" />
|
218 |
-
<glyph unicode="" horiz-adv-x="1792" d="M640 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM256 640h384v256h-158q-13 0 -22 -9l-195 -195q-9 -9 -9 -22v-30zM1536 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1792 1216v-1024q0 -15 -4 -26.5t-13.5 -18.5 t-16.5 -11.5t-23.5 -6t-22.5 -2t-25.5 0t-22.5 0.5q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-64q-3 0 -22.5 -0.5t-25.5 0t-22.5 2t-23.5 6t-16.5 11.5t-13.5 18.5t-4 26.5q0 26 19 45t45 19v320q0 8 -0.5 35t0 38 t2.5 34.5t6.5 37t14 30.5t22.5 30l198 198q19 19 50.5 32t58.5 13h160v192q0 26 19 45t45 19h1024q26 0 45 -19t19 -45z" />
|
219 |
-
<glyph unicode="" d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103q-111 0 -218 32q59 93 78 164q9 34 54 211q20 -39 73 -67.5t114 -28.5q121 0 216 68.5t147 188.5t52 270q0 114 -59.5 214t-172.5 163t-255 63q-105 0 -196 -29t-154.5 -77t-109 -110.5t-67 -129.5t-21.5 -134 q0 -104 40 -183t117 -111q30 -12 38 20q2 7 8 31t8 30q6 23 -11 43q-51 61 -51 151q0 151 104.5 259.5t273.5 108.5q151 0 235.5 -82t84.5 -213q0 -170 -68.5 -289t-175.5 -119q-61 0 -98 43.5t-23 104.5q8 35 26.5 93.5t30 103t11.5 75.5q0 50 -27 83t-77 33 q-62 0 -105 -57t-43 -142q0 -73 25 -122l-99 -418q-17 -70 -13 -177q-206 91 -333 281t-127 423q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
220 |
-
<glyph unicode="" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-725q85 122 108 210q9 34 53 209q21 -39 73.5 -67t112.5 -28q181 0 295.5 147.5t114.5 373.5q0 84 -35 162.5t-96.5 139t-152.5 97t-197 36.5q-104 0 -194.5 -28.5t-153 -76.5 t-107.5 -109.5t-66.5 -128t-21.5 -132.5q0 -102 39.5 -180t116.5 -110q13 -5 23.5 0t14.5 19q10 44 15 61q6 23 -11 42q-50 62 -50 150q0 150 103.5 256.5t270.5 106.5q149 0 232.5 -81t83.5 -210q0 -168 -67.5 -286t-173.5 -118q-60 0 -97 43.5t-23 103.5q8 34 26.5 92.5 t29.5 102t11 74.5q0 49 -26.5 81.5t-75.5 32.5q-61 0 -103.5 -56.5t-42.5 -139.5q0 -72 24 -121l-98 -414q-24 -100 -7 -254h-183q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960z" />
|
221 |
-
<glyph unicode="" d="M678 -57q0 -38 -10 -71h-380q-95 0 -171.5 56.5t-103.5 147.5q24 45 69 77.5t100 49.5t107 24t107 7q32 0 49 -2q6 -4 30.5 -21t33 -23t31 -23t32 -25.5t27.5 -25.5t26.5 -29.5t21 -30.5t17.5 -34.5t9.5 -36t4.5 -40.5zM385 294q-234 -7 -385 -85v433q103 -118 273 -118 q32 0 70 5q-21 -61 -21 -86q0 -67 63 -149zM558 805q0 -100 -43.5 -160.5t-140.5 -60.5q-51 0 -97 26t-78 67.5t-56 93.5t-35.5 104t-11.5 99q0 96 51.5 165t144.5 69q66 0 119 -41t84 -104t47 -130t16 -128zM1536 896v-736q0 -119 -84.5 -203.5t-203.5 -84.5h-468 q39 73 39 157q0 66 -22 122.5t-55.5 93t-72 71t-72 59.5t-55.5 54.5t-22 59.5q0 36 23 68t56 61.5t65.5 64.5t55.5 93t23 131t-26.5 145.5t-75.5 118.5q-6 6 -14 11t-12.5 7.5t-10 9.5t-10.5 17h135l135 64h-437q-138 0 -244.5 -38.5t-182.5 -133.5q0 126 81 213t207 87h960 q119 0 203.5 -84.5t84.5 -203.5v-96h-256v256h-128v-256h-256v-128h256v-256h128v256h256z" />
|
222 |
-
<glyph unicode="" horiz-adv-x="1664" d="M876 71q0 21 -4.5 40.5t-9.5 36t-17.5 34.5t-21 30.5t-26.5 29.5t-27.5 25.5t-32 25.5t-31 23t-33 23t-30.5 21q-17 2 -50 2q-54 0 -106 -7t-108 -25t-98 -46t-69 -75t-27 -107q0 -68 35.5 -121.5t93 -84t120.5 -45.5t127 -15q59 0 112.5 12.5t100.5 39t74.5 73.5 t27.5 110zM756 933q0 60 -16.5 127.5t-47 130.5t-84 104t-119.5 41q-93 0 -144 -69t-51 -165q0 -47 11.5 -99t35.5 -104t56 -93.5t78 -67.5t97 -26q97 0 140.5 60.5t43.5 160.5zM625 1408h437l-135 -79h-135q71 -45 110 -126t39 -169q0 -74 -23 -131.5t-56 -92.5t-66 -64.5 t-56 -61t-23 -67.5q0 -26 16.5 -51t43 -48t58.5 -48t64 -55.5t58.5 -66t43 -85t16.5 -106.5q0 -160 -140 -282q-152 -131 -420 -131q-59 0 -119.5 10t-122 33.5t-108.5 58t-77 89t-30 121.5q0 61 37 135q32 64 96 110.5t145 71t155 36t150 13.5q-64 83 -64 149q0 12 2 23.5 t5 19.5t8 21.5t7 21.5q-40 -5 -70 -5q-149 0 -255.5 98t-106.5 246q0 140 95 250.5t234 141.5q94 20 187 20zM1664 1152v-128h-256v-256h-128v256h-256v128h256v256h128v-256h256z" />
|
223 |
-
<glyph unicode="" horiz-adv-x="1920" d="M768 384h384v96h-128v448h-114l-148 -137l77 -80q42 37 55 57h2v-288h-128v-96zM1280 640q0 -70 -21 -142t-59.5 -134t-101.5 -101t-138 -39t-138 39t-101.5 101t-59.5 134t-21 142t21 142t59.5 134t101.5 101t138 39t138 -39t101.5 -101t59.5 -134t21 -142zM1792 384 v512q-106 0 -181 75t-75 181h-1152q0 -106 -75 -181t-181 -75v-512q106 0 181 -75t75 -181h1152q0 106 75 181t181 75zM1920 1216v-1152q0 -26 -19 -45t-45 -19h-1792q-26 0 -45 19t-19 45v1152q0 26 19 45t45 19h1792q26 0 45 -19t19 -45z" />
|
224 |
-
<glyph unicode="" horiz-adv-x="1024" d="M1024 832q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
|
225 |
-
<glyph unicode="" horiz-adv-x="1024" d="M1024 320q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
|
226 |
-
<glyph unicode="" horiz-adv-x="640" d="M640 1088v-896q0 -26 -19 -45t-45 -19t-45 19l-448 448q-19 19 -19 45t19 45l448 448q19 19 45 19t45 -19t19 -45z" />
|
227 |
-
<glyph unicode="" horiz-adv-x="640" d="M576 640q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19t-19 45v896q0 26 19 45t45 19t45 -19l448 -448q19 -19 19 -45z" />
|
228 |
-
<glyph unicode="" horiz-adv-x="1664" d="M160 0h608v1152h-640v-1120q0 -13 9.5 -22.5t22.5 -9.5zM1536 32v1120h-640v-1152h608q13 0 22.5 9.5t9.5 22.5zM1664 1248v-1216q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1344q66 0 113 -47t47 -113z" />
|
229 |
-
<glyph unicode="" horiz-adv-x="1024" d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45zM1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
|
230 |
-
<glyph unicode="" horiz-adv-x="1024" d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
|
231 |
-
<glyph unicode="" horiz-adv-x="1024" d="M1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
|
232 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1792 826v-794q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v794q44 -49 101 -87q362 -246 497 -345q57 -42 92.5 -65.5t94.5 -48t110 -24.5h1h1q51 0 110 24.5t94.5 48t92.5 65.5q170 123 498 345q57 39 100 87zM1792 1120q0 -79 -49 -151t-122 -123 q-376 -261 -468 -325q-10 -7 -42.5 -30.5t-54 -38t-52 -32.5t-57.5 -27t-50 -9h-1h-1q-23 0 -50 9t-57.5 27t-52 32.5t-54 38t-42.5 30.5q-91 64 -262 182.5t-205 142.5q-62 42 -117 115.5t-55 136.5q0 78 41.5 130t118.5 52h1472q65 0 112.5 -47t47.5 -113z" />
|
233 |
-
<glyph unicode="" d="M349 911v-991h-330v991h330zM370 1217q1 -73 -50.5 -122t-135.5 -49h-2q-82 0 -132 49t-50 122q0 74 51.5 122.5t134.5 48.5t133 -48.5t51 -122.5zM1536 488v-568h-329v530q0 105 -40.5 164.5t-126.5 59.5q-63 0 -105.5 -34.5t-63.5 -85.5q-11 -30 -11 -81v-553h-329 q2 399 2 647t-1 296l-1 48h329v-144h-2q20 32 41 56t56.5 52t87 43.5t114.5 15.5q171 0 275 -113.5t104 -332.5z" />
|
234 |
-
<glyph unicode="" d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5 t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298z" />
|
235 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1771 0q0 -53 -37 -90l-107 -108q-39 -37 -91 -37q-53 0 -90 37l-363 364q-38 36 -38 90q0 53 43 96l-256 256l-126 -126q-14 -14 -34 -14t-34 14q2 -2 12.5 -12t12.5 -13t10 -11.5t10 -13.5t6 -13.5t5.5 -16.5t1.5 -18q0 -38 -28 -68q-3 -3 -16.5 -18t-19 -20.5 t-18.5 -16.5t-22 -15.5t-22 -9t-26 -4.5q-40 0 -68 28l-408 408q-28 28 -28 68q0 13 4.5 26t9 22t15.5 22t16.5 18.5t20.5 19t18 16.5q30 28 68 28q10 0 18 -1.5t16.5 -5.5t13.5 -6t13.5 -10t11.5 -10t13 -12.5t12 -12.5q-14 14 -14 34t14 34l348 348q14 14 34 14t34 -14 q-2 2 -12.5 12t-12.5 13t-10 11.5t-10 13.5t-6 13.5t-5.5 16.5t-1.5 18q0 38 28 68q3 3 16.5 18t19 20.5t18.5 16.5t22 15.5t22 9t26 4.5q40 0 68 -28l408 -408q28 -28 28 -68q0 -13 -4.5 -26t-9 -22t-15.5 -22t-16.5 -18.5t-20.5 -19t-18 -16.5q-30 -28 -68 -28 q-10 0 -18 1.5t-16.5 5.5t-13.5 6t-13.5 10t-11.5 10t-13 12.5t-12 12.5q14 -14 14 -34t-14 -34l-126 -126l256 -256q43 43 96 43q52 0 91 -37l363 -363q37 -39 37 -91z" />
|
236 |
-
<glyph unicode="" horiz-adv-x="1792" d="M384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM576 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1004 351l101 382q6 26 -7.5 48.5t-38.5 29.5 t-48 -6.5t-30 -39.5l-101 -382q-60 -5 -107 -43.5t-63 -98.5q-20 -77 20 -146t117 -89t146 20t89 117q16 60 -6 117t-72 91zM1664 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 1024q0 53 -37.5 90.5 t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1472 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1792 384q0 -261 -141 -483q-19 -29 -54 -29h-1402q-35 0 -54 29 q-141 221 -141 483q0 182 71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
|
237 |
-
<glyph unicode="" horiz-adv-x="1792" d="M896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640 q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281q0 174 120 321.5 t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" />
|
238 |
-
<glyph unicode="" horiz-adv-x="1792" d="M704 1152q-153 0 -286 -52t-211.5 -141t-78.5 -191q0 -82 53 -158t149 -132l97 -56l-35 -84q34 20 62 39l44 31l53 -10q78 -14 153 -14q153 0 286 52t211.5 141t78.5 191t-78.5 191t-211.5 141t-286 52zM704 1280q191 0 353.5 -68.5t256.5 -186.5t94 -257t-94 -257 t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224q0 139 94 257t256.5 186.5 t353.5 68.5zM1526 111q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129 q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230q0 -120 -71 -224.5t-195 -176.5z" />
|
239 |
-
<glyph unicode="" horiz-adv-x="896" d="M885 970q18 -20 7 -44l-540 -1157q-13 -25 -42 -25q-4 0 -14 2q-17 5 -25.5 19t-4.5 30l197 808l-406 -101q-4 -1 -12 -1q-18 0 -31 11q-18 15 -13 39l201 825q4 14 16 23t28 9h328q19 0 32 -12.5t13 -29.5q0 -8 -5 -18l-171 -463l396 98q8 2 12 2q19 0 34 -15z" />
|
240 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1792 288v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320 q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192q0 52 38 90t90 38h512v192h-96q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h320q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-96v-192h512q52 0 90 -38t38 -90v-192h96q40 0 68 -28t28 -68 z" />
|
241 |
-
<glyph unicode="" horiz-adv-x="1664" d="M896 708v-580q0 -104 -76 -180t-180 -76t-180 76t-76 180q0 26 19 45t45 19t45 -19t19 -45q0 -50 39 -89t89 -39t89 39t39 89v580q33 11 64 11t64 -11zM1664 681q0 -13 -9.5 -22.5t-22.5 -9.5q-11 0 -23 10q-49 46 -93 69t-102 23q-68 0 -128 -37t-103 -97 q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -28 -17q-18 0 -29 17q-4 6 -14.5 24t-17.5 28q-43 60 -102.5 97t-127.5 37t-127.5 -37t-102.5 -97q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -29 -17q-17 0 -28 17q-4 6 -14.5 24t-17.5 28q-43 60 -103 97t-128 37q-58 0 -102 -23t-93 -69 q-12 -10 -23 -10q-13 0 -22.5 9.5t-9.5 22.5q0 5 1 7q45 183 172.5 319.5t298 204.5t360.5 68q140 0 274.5 -40t246.5 -113.5t194.5 -187t115.5 -251.5q1 -2 1 -7zM896 1408v-98q-42 2 -64 2t-64 -2v98q0 26 19 45t45 19t45 -19t19 -45z" />
|
242 |
-
<glyph unicode="" horiz-adv-x="1792" d="M768 -128h896v640h-416q-40 0 -68 28t-28 68v416h-384v-1152zM1024 1312v64q0 13 -9.5 22.5t-22.5 9.5h-704q-13 0 -22.5 -9.5t-9.5 -22.5v-64q0 -13 9.5 -22.5t22.5 -9.5h704q13 0 22.5 9.5t9.5 22.5zM1280 640h299l-299 299v-299zM1792 512v-672q0 -40 -28 -68t-68 -28 h-960q-40 0 -68 28t-28 68v160h-544q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1088q40 0 68 -28t28 -68v-328q21 -13 36 -28l408 -408q28 -28 48 -76t20 -88z" />
|
243 |
-
<glyph unicode="" horiz-adv-x="1024" d="M736 960q0 -13 -9.5 -22.5t-22.5 -9.5t-22.5 9.5t-9.5 22.5q0 46 -54 71t-106 25q-13 0 -22.5 9.5t-9.5 22.5t9.5 22.5t22.5 9.5q50 0 99.5 -16t87 -54t37.5 -90zM896 960q0 72 -34.5 134t-90 101.5t-123 62t-136.5 22.5t-136.5 -22.5t-123 -62t-90 -101.5t-34.5 -134 q0 -101 68 -180q10 -11 30.5 -33t30.5 -33q128 -153 141 -298h228q13 145 141 298q10 11 30.5 33t30.5 33q68 79 68 180zM1024 960q0 -155 -103 -268q-45 -49 -74.5 -87t-59.5 -95.5t-34 -107.5q47 -28 47 -82q0 -37 -25 -64q25 -27 25 -64q0 -52 -45 -81q13 -23 13 -47 q0 -46 -31.5 -71t-77.5 -25q-20 -44 -60 -70t-87 -26t-87 26t-60 70q-46 0 -77.5 25t-31.5 71q0 24 13 47q-45 29 -45 81q0 37 25 64q-25 27 -25 64q0 54 47 82q-4 50 -34 107.5t-59.5 95.5t-74.5 87q-103 113 -103 268q0 99 44.5 184.5t117 142t164 89t186.5 32.5 t186.5 -32.5t164 -89t117 -142t44.5 -184.5z" />
|
244 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1792 352v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5q-12 0 -24 10l-319 320q-9 9 -9 22q0 14 9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h1376q13 0 22.5 -9.5t9.5 -22.5zM1792 896q0 -14 -9 -23l-320 -320q-9 -9 -23 -9 q-13 0 -22.5 9.5t-9.5 22.5v192h-1376q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1376v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
|
245 |
-
<glyph unicode="" horiz-adv-x="1920" d="M1280 608q0 14 -9 23t-23 9h-224v352q0 13 -9.5 22.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-352h-224q-13 0 -22.5 -9.5t-9.5 -22.5q0 -14 9 -23l352 -352q9 -9 23 -9t23 9l351 351q10 12 10 24zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088 q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
|
246 |
-
<glyph unicode="" horiz-adv-x="1920" d="M1280 672q0 14 -9 23l-352 352q-9 9 -23 9t-23 -9l-351 -351q-10 -12 -10 -24q0 -14 9 -23t23 -9h224v-352q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5v352h224q13 0 22.5 9.5t9.5 22.5zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088 q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
|
247 |
-
<glyph unicode="" horiz-adv-x="1408" d="M384 192q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM1408 131q0 -121 -73 -190t-194 -69h-874q-121 0 -194 69t-73 190q0 68 5.5 131t24 138t47.5 132.5t81 103t120 60.5q-22 -52 -22 -120v-203q-58 -20 -93 -70t-35 -111q0 -80 56 -136t136 -56 t136 56t56 136q0 61 -35.5 111t-92.5 70v203q0 62 25 93q132 -104 295 -104t295 104q25 -31 25 -93v-64q-106 0 -181 -75t-75 -181v-89q-32 -29 -32 -71q0 -40 28 -68t68 -28t68 28t28 68q0 42 -32 71v89q0 52 38 90t90 38t90 -38t38 -90v-89q-32 -29 -32 -71q0 -40 28 -68 t68 -28t68 28t28 68q0 42 -32 71v89q0 68 -34.5 127.5t-93.5 93.5q0 10 0.5 42.5t0 48t-2.5 41.5t-7 47t-13 40q68 -15 120 -60.5t81 -103t47.5 -132.5t24 -138t5.5 -131zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5 t271.5 -112.5t112.5 -271.5z" />
|
248 |
-
<glyph unicode="" horiz-adv-x="1408" d="M1280 832q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 832q0 -62 -35.5 -111t-92.5 -70v-395q0 -159 -131.5 -271.5t-316.5 -112.5t-316.5 112.5t-131.5 271.5v132q-164 20 -274 128t-110 252v512q0 26 19 45t45 19q6 0 16 -2q17 30 47 48 t65 18q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5q-33 0 -64 18v-402q0 -106 94 -181t226 -75t226 75t94 181v402q-31 -18 -64 -18q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5q35 0 65 -18t47 -48q10 2 16 2q26 0 45 -19t19 -45v-512q0 -144 -110 -252 t-274 -128v-132q0 -106 94 -181t226 -75t226 75t94 181v395q-57 21 -92.5 70t-35.5 111q0 80 56 136t136 56t136 -56t56 -136z" />
|
249 |
-
<glyph unicode="" horiz-adv-x="1792" d="M640 1152h512v128h-512v-128zM288 1152v-1280h-64q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h64zM1408 1152v-1280h-1024v1280h128v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h128zM1792 928v-832q0 -92 -66 -158t-158 -66h-64v1280h64q92 0 158 -66 t66 -158z" />
|
250 |
-
<glyph unicode="" horiz-adv-x="1664" d="M848 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM1664 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q190 161 287 397.5t97 498.5 q0 165 96 262t264 117q-8 18 -8 37q0 40 28 68t68 28t68 -28t28 -68q0 -19 -8 -37q168 -20 264 -117t96 -262q0 -262 97 -498.5t287 -397.5z" />
|
251 |
-
<glyph unicode="" horiz-adv-x="1920" d="M1664 896q0 80 -56 136t-136 56h-64v-384h64q80 0 136 56t56 136zM0 128h1792q0 -106 -75 -181t-181 -75h-1280q-106 0 -181 75t-75 181zM1856 896q0 -159 -112.5 -271.5t-271.5 -112.5h-64v-32q0 -92 -66 -158t-158 -66h-704q-92 0 -158 66t-66 158v736q0 26 19 45 t45 19h1152q159 0 271.5 -112.5t112.5 -271.5z" />
|
252 |
-
<glyph unicode="" horiz-adv-x="1408" d="M640 1472v-640q0 -61 -35.5 -111t-92.5 -70v-779q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v779q-57 20 -92.5 70t-35.5 111v640q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45 t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45zM1408 1472v-1600q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v512h-224q-13 0 -22.5 9.5t-9.5 22.5v800q0 132 94 226t226 94h256q26 0 45 -19t19 -45z" />
|
253 |
-
<glyph unicode="" horiz-adv-x="1280" d="M1024 352v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704q14 0 23 -9t9 -23zM1024 608v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704q14 0 23 -9t9 -23zM128 0h1024v768h-416q-40 0 -68 28t-28 68v416h-512v-1280z M768 896h376q-10 29 -22 41l-313 313q-12 12 -41 22v-376zM1280 864v-896q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h640q40 0 88 -20t76 -48l312 -312q28 -28 48 -76t20 -88z" />
|
254 |
-
<glyph unicode="" horiz-adv-x="1408" d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 -128h384v1536h-1152v-1536h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM1408 1472v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280q26 0 45 -19t19 -45z" />
|
255 |
-
<glyph unicode="" horiz-adv-x="1408" d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 -128h384v1152h-256v-32q0 -40 -28 -68t-68 -28h-448q-40 0 -68 28t-28 68v32h-256v-1152h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM896 1056v320q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-96h-128v96q0 13 -9.5 22.5 t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5v96h128v-96q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1408 1088v-1280q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1280q0 26 19 45t45 19h320 v288q0 40 28 68t68 28h448q40 0 68 -28t28 -68v-288h320q26 0 45 -19t19 -45z" />
|
256 |
-
<glyph unicode="" horiz-adv-x="1920" d="M640 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM256 640h384v256h-158q-14 -2 -22 -9l-195 -195q-7 -12 -9 -22v-30zM1536 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5 t90.5 37.5t37.5 90.5zM1664 800v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM1920 1344v-1152 q0 -26 -19 -45t-45 -19h-192q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-128q-26 0 -45 19t-19 45t19 45t45 19v416q0 26 13 58t32 51l198 198q19 19 51 32t58 13h160v320q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
|
257 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1280 416v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM640 1152h512v128h-512v-128zM256 1152v-1280h-32 q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h32zM1440 1152v-1280h-1088v1280h160v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h160zM1792 928v-832q0 -92 -66 -158t-158 -66h-32v1280h32q92 0 158 -66t66 -158z" />
|
258 |
-
<glyph unicode="" horiz-adv-x="1920" d="M1920 576q-1 -32 -288 -96l-352 -32l-224 -64h-64l-293 -352h69q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-96h-160h-64v32h64v416h-160l-192 -224h-96l-32 32v192h32v32h128v8l-192 24v128l192 24v8h-128v32h-32v192l32 32h96l192 -224h160v416h-64v32h64h160h96 q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-69l293 -352h64l224 -64l352 -32q261 -58 287 -93z" />
|
259 |
-
<glyph unicode="" horiz-adv-x="1664" d="M640 640v384h-256v-256q0 -53 37.5 -90.5t90.5 -37.5h128zM1664 192v-192h-1152v192l128 192h-128q-159 0 -271.5 112.5t-112.5 271.5v320l-64 64l32 128h480l32 128h960l32 -192l-64 -32v-800z" />
|
260 |
-
<glyph unicode="" d="M1280 192v896q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-512v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-896q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h512v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
261 |
-
<glyph unicode="" d="M1280 576v128q0 26 -19 45t-45 19h-320v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-320q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h320v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h320q26 0 45 19t19 45zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
262 |
-
<glyph unicode="" horiz-adv-x="1024" d="M627 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23zM1011 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23 t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23z" />
|
263 |
-
<glyph unicode="" horiz-adv-x="1024" d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM979 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23 l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
|
264 |
-
<glyph unicode="" horiz-adv-x="1152" d="M1075 224q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM1075 608q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393 q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
|
265 |
-
<glyph unicode="" horiz-adv-x="1152" d="M1075 672q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23zM1075 1056q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23 t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
|
266 |
-
<glyph unicode="" horiz-adv-x="640" d="M627 992q0 -13 -10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
|
267 |
-
<glyph unicode="" horiz-adv-x="640" d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
|
268 |
-
<glyph unicode="" horiz-adv-x="1152" d="M1075 352q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
|
269 |
-
<glyph unicode="" horiz-adv-x="1152" d="M1075 800q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
|
270 |
-
<glyph unicode="" horiz-adv-x="1920" d="M1792 544v832q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5zM1920 1376v-1088q0 -66 -47 -113t-113 -47h-544q0 -37 16 -77.5t32 -71t16 -43.5q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19 t-19 45q0 14 16 44t32 70t16 78h-544q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
|
271 |
-
<glyph unicode="" horiz-adv-x="1920" d="M416 256q-66 0 -113 47t-47 113v704q0 66 47 113t113 47h1088q66 0 113 -47t47 -113v-704q0 -66 -47 -113t-113 -47h-1088zM384 1120v-704q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5v704q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5z M1760 192h160v-96q0 -40 -47 -68t-113 -28h-1600q-66 0 -113 28t-47 68v96h160h1600zM1040 96q16 0 16 16t-16 16h-160q-16 0 -16 -16t16 -16h160z" />
|
272 |
-
<glyph unicode="" horiz-adv-x="1152" d="M640 128q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1024 288v960q0 13 -9.5 22.5t-22.5 9.5h-832q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h832q13 0 22.5 9.5t9.5 22.5zM1152 1248v-1088q0 -66 -47 -113t-113 -47h-832 q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h832q66 0 113 -47t47 -113z" />
|
273 |
-
<glyph unicode="" horiz-adv-x="768" d="M464 128q0 33 -23.5 56.5t-56.5 23.5t-56.5 -23.5t-23.5 -56.5t23.5 -56.5t56.5 -23.5t56.5 23.5t23.5 56.5zM672 288v704q0 13 -9.5 22.5t-22.5 9.5h-512q-13 0 -22.5 -9.5t-9.5 -22.5v-704q0 -13 9.5 -22.5t22.5 -9.5h512q13 0 22.5 9.5t9.5 22.5zM480 1136 q0 16 -16 16h-160q-16 0 -16 -16t16 -16h160q16 0 16 16zM768 1152v-1024q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v1024q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
|
274 |
-
<glyph unicode="" d="M768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103 t279.5 -279.5t103 -385.5z" />
|
275 |
-
<glyph unicode="" horiz-adv-x="1664" d="M768 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z M1664 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z" />
|
276 |
-
<glyph unicode="" horiz-adv-x="1664" d="M768 1216v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136zM1664 1216 v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136z" />
|
277 |
-
<glyph unicode="" horiz-adv-x="1568" d="M496 192q0 -60 -42.5 -102t-101.5 -42q-60 0 -102 42t-42 102t42 102t102 42q59 0 101.5 -42t42.5 -102zM928 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM320 640q0 -66 -47 -113t-113 -47t-113 47t-47 113 t47 113t113 47t113 -47t47 -113zM1360 192q0 -46 -33 -79t-79 -33t-79 33t-33 79t33 79t79 33t79 -33t33 -79zM528 1088q0 -73 -51.5 -124.5t-124.5 -51.5t-124.5 51.5t-51.5 124.5t51.5 124.5t124.5 51.5t124.5 -51.5t51.5 -124.5zM992 1280q0 -80 -56 -136t-136 -56 t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1536 640q0 -40 -28 -68t-68 -28t-68 28t-28 68t28 68t68 28t68 -28t28 -68zM1328 1088q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5z" />
|
278 |
-
<glyph unicode="" d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
279 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1792 416q0 -166 -127 -451q-3 -7 -10.5 -24t-13.5 -30t-13 -22q-12 -17 -28 -17q-15 0 -23.5 10t-8.5 25q0 9 2.5 26.5t2.5 23.5q5 68 5 123q0 101 -17.5 181t-48.5 138.5t-80 101t-105.5 69.5t-133 42.5t-154 21.5t-175.5 6h-224v-256q0 -26 -19 -45t-45 -19t-45 19 l-512 512q-19 19 -19 45t19 45l512 512q19 19 45 19t45 -19t19 -45v-256h224q713 0 875 -403q53 -134 53 -333z" />
|
280 |
-
<glyph unicode="" horiz-adv-x="1664" d="M640 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1280 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1440 320 q0 120 -69 204t-187 84q-41 0 -195 -21q-71 -11 -157 -11t-157 11q-152 21 -195 21q-118 0 -187 -84t-69 -204q0 -88 32 -153.5t81 -103t122 -60t140 -29.5t149 -7h168q82 0 149 7t140 29.5t122 60t81 103t32 153.5zM1664 496q0 -207 -61 -331q-38 -77 -105.5 -133t-141 -86 t-170 -47.5t-171.5 -22t-167 -4.5q-78 0 -142 3t-147.5 12.5t-152.5 30t-137 51.5t-121 81t-86 115q-62 123 -62 331q0 237 136 396q-27 82 -27 170q0 116 51 218q108 0 190 -39.5t189 -123.5q147 35 309 35q148 0 280 -32q105 82 187 121t189 39q51 -102 51 -218 q0 -87 -27 -168q136 -160 136 -398z" />
|
281 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1536 224v704q0 40 -28 68t-68 28h-704q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68v-960q0 -40 28 -68t68 -28h1216q40 0 68 28t28 68zM1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320 q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
|
282 |
-
<glyph unicode="" horiz-adv-x="1920" d="M1781 605q0 35 -53 35h-1088q-40 0 -85.5 -21.5t-71.5 -52.5l-294 -363q-18 -24 -18 -40q0 -35 53 -35h1088q40 0 86 22t71 53l294 363q18 22 18 39zM640 768h768v160q0 40 -28 68t-68 28h-576q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68 v-853l256 315q44 53 116 87.5t140 34.5zM1909 605q0 -62 -46 -120l-295 -363q-43 -53 -116 -87.5t-140 -34.5h-1088q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158v-160h192q54 0 99 -24.5t67 -70.5q15 -32 15 -68z " />
|
283 |
-
<glyph unicode="" horiz-adv-x="1792" />
|
284 |
-
<glyph unicode="" horiz-adv-x="1792" />
|
285 |
-
<glyph unicode="" d="M1134 461q-37 -121 -138 -195t-228 -74t-228 74t-138 195q-8 25 4 48.5t38 31.5q25 8 48.5 -4t31.5 -38q25 -80 92.5 -129.5t151.5 -49.5t151.5 49.5t92.5 129.5q8 26 32 38t49 4t37 -31.5t4 -48.5zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5 t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5 t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
286 |
-
<glyph unicode="" d="M1134 307q8 -25 -4 -48.5t-37 -31.5t-49 4t-32 38q-25 80 -92.5 129.5t-151.5 49.5t-151.5 -49.5t-92.5 -129.5q-8 -26 -31.5 -38t-48.5 -4q-26 8 -38 31.5t-4 48.5q37 121 138 195t228 74t228 -74t138 -195zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204 t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
287 |
-
<glyph unicode="" d="M1152 448q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h640q26 0 45 -19t19 -45zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
288 |
-
<glyph unicode="" horiz-adv-x="1920" d="M832 448v128q0 14 -9 23t-23 9h-192v192q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-192h-192q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h192v-192q0 -14 9 -23t23 -9h128q14 0 23 9t9 23v192h192q14 0 23 9t9 23zM1408 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5 t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1920 512q0 -212 -150 -362t-362 -150q-192 0 -338 128h-220q-146 -128 -338 -128q-212 0 -362 150 t-150 362t150 362t362 150h896q212 0 362 -150t150 -362z" />
|
289 |
-
<glyph unicode="" horiz-adv-x="1920" d="M384 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM512 624v-96q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h224q16 0 16 -16zM384 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 368v-96q0 -16 -16 -16 h-864q-16 0 -16 16v96q0 16 16 16h864q16 0 16 -16zM768 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM640 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1024 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16 h96q16 0 16 -16zM896 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1280 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1152 880v-96 q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 880v-352q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h112v240q0 16 16 16h96q16 0 16 -16zM1792 128v896h-1664v-896 h1664zM1920 1024v-896q0 -53 -37.5 -90.5t-90.5 -37.5h-1664q-53 0 -90.5 37.5t-37.5 90.5v896q0 53 37.5 90.5t90.5 37.5h1664q53 0 90.5 -37.5t37.5 -90.5z" />
|
290 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1664 491v616q-169 -91 -306 -91q-82 0 -145 32q-100 49 -184 76.5t-178 27.5q-173 0 -403 -127v-599q245 113 433 113q55 0 103.5 -7.5t98 -26t77 -31t82.5 -39.5l28 -14q44 -22 101 -22q120 0 293 92zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9 h-64q-14 0 -23 9t-9 23v1266q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102 q-15 -9 -33 -9q-16 0 -32 8q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
|
291 |
-
<glyph unicode="" horiz-adv-x="1792" d="M832 536v192q-181 -16 -384 -117v-185q205 96 384 110zM832 954v197q-172 -8 -384 -126v-189q215 111 384 118zM1664 491v184q-235 -116 -384 -71v224q-20 6 -39 15q-5 3 -33 17t-34.5 17t-31.5 15t-34.5 15.5t-32.5 13t-36 12.5t-35 8.5t-39.5 7.5t-39.5 4t-44 2 q-23 0 -49 -3v-222h19q102 0 192.5 -29t197.5 -82q19 -9 39 -15v-188q42 -17 91 -17q120 0 293 92zM1664 918v189q-169 -91 -306 -91q-45 0 -78 8v-196q148 -42 384 90zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v1266 q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102q-15 -9 -33 -9q-16 0 -32 8 q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
|
292 |
-
<glyph unicode="" horiz-adv-x="1664" d="M585 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23zM1664 96v-64q0 -14 -9 -23t-23 -9h-960q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h960q14 0 23 -9 t9 -23z" />
|
293 |
-
<glyph unicode="" horiz-adv-x="1920" d="M617 137l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23zM1208 1204l-373 -1291q-4 -13 -15.5 -19.5t-23.5 -2.5l-62 17q-13 4 -19.5 15.5t-2.5 24.5 l373 1291q4 13 15.5 19.5t23.5 2.5l62 -17q13 -4 19.5 -15.5t2.5 -24.5zM1865 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23z" />
|
294 |
-
<glyph unicode="" horiz-adv-x="1792" d="M640 454v-70q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-69l-397 -398q-19 -19 -19 -45t19 -45zM1792 416q0 -58 -17 -133.5t-38.5 -138t-48 -125t-40.5 -90.5l-20 -40q-8 -17 -28 -17q-6 0 -9 1 q-25 8 -23 34q43 400 -106 565q-64 71 -170.5 110.5t-267.5 52.5v-251q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-262q411 -28 599 -221q169 -173 169 -509z" />
|
295 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1186 579l257 250l-356 52l-66 10l-30 60l-159 322v-963l59 -31l318 -168l-60 355l-12 66zM1638 841l-363 -354l86 -500q5 -33 -6 -51.5t-34 -18.5q-17 0 -40 12l-449 236l-449 -236q-23 -12 -40 -12q-23 0 -34 18.5t-6 51.5l86 500l-364 354q-32 32 -23 59.5t54 34.5 l502 73l225 455q20 41 49 41q28 0 49 -41l225 -455l502 -73q45 -7 54 -34.5t-24 -59.5z" />
|
296 |
-
<glyph unicode="" horiz-adv-x="1408" d="M1401 1187l-640 -1280q-17 -35 -57 -35q-5 0 -15 2q-22 5 -35.5 22.5t-13.5 39.5v576h-576q-22 0 -39.5 13.5t-22.5 35.5t4 42t29 30l1280 640q13 7 29 7q27 0 45 -19q15 -14 18.5 -34.5t-6.5 -39.5z" />
|
297 |
-
<glyph unicode="" horiz-adv-x="1664" d="M557 256h595v595zM512 301l595 595h-595v-595zM1664 224v-192q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v224h-864q-14 0 -23 9t-9 23v864h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224v224q0 14 9 23t23 9h192q14 0 23 -9t9 -23 v-224h851l246 247q10 9 23 9t23 -9q9 -10 9 -23t-9 -23l-247 -246v-851h224q14 0 23 -9t9 -23z" />
|
298 |
-
<glyph unicode="" horiz-adv-x="1024" d="M288 64q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM288 1216q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM928 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1024 1088q0 -52 -26 -96.5t-70 -69.5 q-2 -287 -226 -414q-68 -38 -203 -81q-128 -40 -169.5 -71t-41.5 -100v-26q44 -25 70 -69.5t26 -96.5q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 52 26 96.5t70 69.5v820q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136q0 -52 -26 -96.5t-70 -69.5v-497 q54 26 154 57q55 17 87.5 29.5t70.5 31t59 39.5t40.5 51t28 69.5t8.5 91.5q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136z" />
|
299 |
-
<glyph unicode="" horiz-adv-x="1664" d="M439 265l-256 -256q-10 -9 -23 -9q-12 0 -23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23zM608 224v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM384 448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23t9 23t23 9h320 q14 0 23 -9t9 -23zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-334 335q-21 21 -42 56l239 18l273 -274q27 -27 68 -27.5t68 26.5l147 146q28 28 28 67q0 40 -28 68l-274 275l18 239q35 -21 56 -42l336 -336q84 -86 84 -204zM1031 1044l-239 -18 l-273 274q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l274 -274l-18 -240q-35 21 -56 42l-336 336q-84 86 -84 204q0 120 85 203l147 146q83 83 203 83q121 0 204 -85l334 -335q21 -21 42 -56zM1664 960q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9 t-9 23t9 23t23 9h320q14 0 23 -9t9 -23zM1120 1504v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM1527 1353l-256 -256q-11 -9 -23 -9t-23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" />
|
300 |
-
<glyph unicode="" horiz-adv-x="1024" d="M704 280v-240q0 -16 -12 -28t-28 -12h-240q-16 0 -28 12t-12 28v240q0 16 12 28t28 12h240q16 0 28 -12t12 -28zM1020 880q0 -54 -15.5 -101t-35 -76.5t-55 -59.5t-57.5 -43.5t-61 -35.5q-41 -23 -68.5 -65t-27.5 -67q0 -17 -12 -32.5t-28 -15.5h-240q-15 0 -25.5 18.5 t-10.5 37.5v45q0 83 65 156.5t143 108.5q59 27 84 56t25 76q0 42 -46.5 74t-107.5 32q-65 0 -108 -29q-35 -25 -107 -115q-13 -16 -31 -16q-12 0 -25 8l-164 125q-13 10 -15.5 25t5.5 28q160 266 464 266q80 0 161 -31t146 -83t106 -127.5t41 -158.5z" />
|
301 |
-
<glyph unicode="" horiz-adv-x="640" d="M640 192v-128q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64v384h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-576h64q26 0 45 -19t19 -45zM512 1344v-192q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v192 q0 26 19 45t45 19h256q26 0 45 -19t19 -45z" />
|
302 |
-
<glyph unicode="" horiz-adv-x="640" d="M512 288v-224q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v224q0 26 19 45t45 19h256q26 0 45 -19t19 -45zM542 1344l-28 -768q-1 -26 -20.5 -45t-45.5 -19h-256q-26 0 -45.5 19t-20.5 45l-28 768q-1 26 17.5 45t44.5 19h320q26 0 44.5 -19t17.5 -45z" />
|
303 |
-
<glyph unicode="" d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3l-9 -21q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109zM1534 846v-206h-514l-3 27 q-4 28 -4 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q83 65 188 65q110 0 178 -59.5t68 -158.5q0 -56 -24.5 -103t-62 -76.5t-81.5 -58.5t-82 -50.5t-65.5 -51.5t-30.5 -63h232v80 h126z" />
|
304 |
-
<glyph unicode="" d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3l-9 -21q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109zM1536 -50v-206h-514l-4 27 q-3 45 -3 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q80 65 188 65q110 0 178 -59.5t68 -158.5q0 -66 -34.5 -118.5t-84 -86t-99.5 -62.5t-87 -63t-41 -73h232v80h126z" />
|
305 |
-
<glyph unicode="" horiz-adv-x="1920" d="M896 128l336 384h-768l-336 -384h768zM1909 1205q15 -34 9.5 -71.5t-30.5 -65.5l-896 -1024q-38 -44 -96 -44h-768q-38 0 -69.5 20.5t-47.5 54.5q-15 34 -9.5 71.5t30.5 65.5l896 1024q38 44 96 44h768q38 0 69.5 -20.5t47.5 -54.5z" />
|
306 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1664 438q0 -81 -44.5 -135t-123.5 -54q-41 0 -77.5 17.5t-59 38t-56.5 38t-71 17.5q-110 0 -110 -124q0 -39 16 -115t15 -115v-5q-22 0 -33 -1q-34 -3 -97.5 -11.5t-115.5 -13.5t-98 -5q-61 0 -103 26.5t-42 83.5q0 37 17.5 71t38 56.5t38 59t17.5 77.5q0 79 -54 123.5 t-135 44.5q-84 0 -143 -45.5t-59 -127.5q0 -43 15 -83t33.5 -64.5t33.5 -53t15 -50.5q0 -45 -46 -89q-37 -35 -117 -35q-95 0 -245 24q-9 2 -27.5 4t-27.5 4l-13 2q-1 0 -3 1q-2 0 -2 1v1024q2 -1 17.5 -3.5t34 -5t21.5 -3.5q150 -24 245 -24q80 0 117 35q46 44 46 89 q0 22 -15 50.5t-33.5 53t-33.5 64.5t-15 83q0 82 59 127.5t144 45.5q80 0 134 -44.5t54 -123.5q0 -41 -17.5 -77.5t-38 -59t-38 -56.5t-17.5 -71q0 -57 42 -83.5t103 -26.5q64 0 180 15t163 17v-2q-1 -2 -3.5 -17.5t-5 -34t-3.5 -21.5q-24 -150 -24 -245q0 -80 35 -117 q44 -46 89 -46q22 0 50.5 15t53 33.5t64.5 33.5t83 15q82 0 127.5 -59t45.5 -143z" />
|
307 |
-
<glyph unicode="" horiz-adv-x="1152" d="M1152 832v-128q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-217 24 -364.5 187.5t-147.5 384.5v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -185 131.5 -316.5t316.5 -131.5 t316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45zM896 1216v-512q0 -132 -94 -226t-226 -94t-226 94t-94 226v512q0 132 94 226t226 94t226 -94t94 -226z" />
|
308 |
-
<glyph unicode="" horiz-adv-x="1408" d="M271 591l-101 -101q-42 103 -42 214v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -53 15 -113zM1385 1193l-361 -361v-128q0 -132 -94 -226t-226 -94q-55 0 -109 19l-96 -96q97 -51 205 -51q185 0 316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45v-128 q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-125 13 -235 81l-254 -254q-10 -10 -23 -10t-23 10l-82 82q-10 10 -10 23t10 23l1234 1234q10 10 23 10t23 -10l82 -82q10 -10 10 -23 t-10 -23zM1005 1325l-621 -621v512q0 132 94 226t226 94q102 0 184.5 -59t116.5 -152z" />
|
309 |
-
<glyph unicode="" horiz-adv-x="1280" d="M1088 576v640h-448v-1137q119 63 213 137q235 184 235 360zM1280 1344v-768q0 -86 -33.5 -170.5t-83 -150t-118 -127.5t-126.5 -103t-121 -77.5t-89.5 -49.5t-42.5 -20q-12 -6 -26 -6t-26 6q-16 7 -42.5 20t-89.5 49.5t-121 77.5t-126.5 103t-118 127.5t-83 150 t-33.5 170.5v768q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
|
310 |
-
<glyph unicode="" horiz-adv-x="1664" d="M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280 q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
|
311 |
-
<glyph unicode="" horiz-adv-x="1408" d="M512 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 1376v-320q0 -16 -12 -25q-8 -7 -20 -7q-4 0 -7 1l-448 96q-11 2 -18 11t-7 20h-256v-102q111 -23 183.5 -111t72.5 -203v-800q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v800 q0 106 62.5 190.5t161.5 114.5v111h-32q-59 0 -115 -23.5t-91.5 -53t-66 -66.5t-40.5 -53.5t-14 -24.5q-17 -35 -57 -35q-16 0 -29 7q-23 12 -31.5 37t3.5 49q5 10 14.5 26t37.5 53.5t60.5 70t85 67t108.5 52.5q-25 42 -25 86q0 66 47 113t113 47t113 -47t47 -113 q0 -33 -14 -64h302q0 11 7 20t18 11l448 96q3 1 7 1q12 0 20 -7q12 -9 12 -25z" />
|
312 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1440 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1664 1376q0 -249 -75.5 -430.5t-253.5 -360.5q-81 -80 -195 -176l-20 -379q-2 -16 -16 -26l-384 -224q-7 -4 -16 -4q-12 0 -23 9l-64 64q-13 14 -8 32l85 276l-281 281l-276 -85q-3 -1 -9 -1 q-14 0 -23 9l-64 64q-17 19 -5 39l224 384q10 14 26 16l379 20q96 114 176 195q188 187 358 258t431 71q14 0 24 -9.5t10 -22.5z" />
|
313 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1745 763l-164 -763h-334l178 832q13 56 -15 88q-27 33 -83 33h-169l-204 -953h-334l204 953h-286l-204 -953h-334l204 953l-153 327h1276q101 0 189.5 -40.5t147.5 -113.5q60 -73 81 -168.5t0 -194.5z" />
|
314 |
-
<glyph unicode="" d="M909 141l102 102q19 19 19 45t-19 45l-307 307l307 307q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
315 |
-
<glyph unicode="" d="M717 141l454 454q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l307 -307l-307 -307q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
316 |
-
<glyph unicode="" d="M1165 397l102 102q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l307 307l307 -307q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
317 |
-
<glyph unicode="" d="M813 237l454 454q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-307 -307l-307 307q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
318 |
-
<glyph unicode="" horiz-adv-x="1408" d="M1130 939l16 175h-884l47 -534h612l-22 -228l-197 -53l-196 53l-13 140h-175l22 -278l362 -100h4v1l359 99l50 544h-644l-15 181h674zM0 1408h1408l-128 -1438l-578 -162l-574 162z" />
|
319 |
-
<glyph unicode="" horiz-adv-x="1792" d="M275 1408h1505l-266 -1333l-804 -267l-698 267l71 356h297l-29 -147l422 -161l486 161l68 339h-1208l58 297h1209l38 191h-1208z" />
|
320 |
-
<glyph unicode="" horiz-adv-x="1792" d="M960 1280q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1792 352v-352q0 -22 -20 -30q-8 -2 -12 -2q-13 0 -23 9l-93 93q-119 -143 -318.5 -226.5t-429.5 -83.5t-429.5 83.5t-318.5 226.5l-93 -93q-9 -9 -23 -9q-4 0 -12 2q-20 8 -20 30v352 q0 14 9 23t23 9h352q22 0 30 -20q8 -19 -7 -35l-100 -100q67 -91 189.5 -153.5t271.5 -82.5v647h-192q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h192v163q-58 34 -93 92.5t-35 128.5q0 106 75 181t181 75t181 -75t75 -181q0 -70 -35 -128.5t-93 -92.5v-163h192q26 0 45 -19 t19 -45v-128q0 -26 -19 -45t-45 -19h-192v-647q149 20 271.5 82.5t189.5 153.5l-100 100q-15 16 -7 35q8 20 30 20h352q14 0 23 -9t9 -23z" />
|
321 |
-
<glyph unicode="" horiz-adv-x="1152" d="M1056 768q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v320q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45q0 106 -75 181t-181 75t-181 -75t-75 -181 v-320h736z" />
|
322 |
-
<glyph unicode="" d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM1152 640q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM1280 640q0 -212 -150 -362t-362 -150t-362 150 t-150 362t150 362t362 150t362 -150t150 -362zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
323 |
-
<glyph unicode="" horiz-adv-x="1408" d="M384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM896 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM1408 800v-192q0 -40 -28 -68t-68 -28h-192 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
|
324 |
-
<glyph unicode="" horiz-adv-x="384" d="M384 288v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 1312v-192q0 -40 -28 -68t-68 -28h-192 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
|
325 |
-
<glyph unicode="" d="M512 256q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM863 162q-13 232 -177 396t-396 177q-14 1 -24 -9t-10 -23v-128q0 -13 8.5 -22t21.5 -10q154 -11 264 -121t121 -264q1 -13 10 -21.5t22 -8.5h128q13 0 23 10 t9 24zM1247 161q-5 154 -56 297.5t-139.5 260t-205 205t-260 139.5t-297.5 56q-14 1 -23 -9q-10 -10 -10 -23v-128q0 -13 9 -22t22 -10q204 -7 378 -111.5t278.5 -278.5t111.5 -378q1 -13 10 -22t22 -9h128q13 0 23 10q11 9 9 23zM1536 1120v-960q0 -119 -84.5 -203.5 t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
326 |
-
<glyph unicode="" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1152 585q32 18 32 55t-32 55l-544 320q-31 19 -64 1q-32 -19 -32 -56v-640q0 -37 32 -56 q16 -8 32 -8q17 0 32 9z" />
|
327 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1024 1084l316 -316l-572 -572l-316 316zM813 105l618 618q19 19 19 45t-19 45l-362 362q-18 18 -45 18t-45 -18l-618 -618q-19 -19 -19 -45t19 -45l362 -362q18 -18 45 -18t45 18zM1702 742l-907 -908q-37 -37 -90.5 -37t-90.5 37l-126 126q56 56 56 136t-56 136 t-136 56t-136 -56l-125 126q-37 37 -37 90.5t37 90.5l907 906q37 37 90.5 37t90.5 -37l125 -125q-56 -56 -56 -136t56 -136t136 -56t136 56l126 -125q37 -37 37 -90.5t-37 -90.5z" />
|
328 |
-
<glyph unicode="" d="M1280 576v128q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h896q26 0 45 19t19 45zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5 t84.5 -203.5z" />
|
329 |
-
<glyph unicode="" horiz-adv-x="1408" d="M1152 736v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h832q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5 t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" />
|
330 |
-
<glyph unicode="" horiz-adv-x="1024" d="M1018 933q-18 -37 -58 -37h-192v-864q0 -14 -9 -23t-23 -9h-704q-21 0 -29 18q-8 20 4 35l160 192q9 11 25 11h320v640h-192q-40 0 -58 37q-17 37 9 68l320 384q18 22 49 22t49 -22l320 -384q27 -32 9 -68z" />
|
331 |
-
<glyph unicode="" horiz-adv-x="1024" d="M32 1280h704q13 0 22.5 -9.5t9.5 -23.5v-863h192q40 0 58 -37t-9 -69l-320 -384q-18 -22 -49 -22t-49 22l-320 384q-26 31 -9 69q18 37 58 37h192v640h-320q-14 0 -25 11l-160 192q-13 14 -4 34q9 19 29 19z" />
|
332 |
-
<glyph unicode="" d="M685 237l614 614q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-467 -467l-211 211q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l358 -358q19 -19 45 -19t45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5 t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
333 |
-
<glyph unicode="" d="M404 428l152 -152l-52 -52h-56v96h-96v56zM818 818q14 -13 -3 -30l-291 -291q-17 -17 -30 -3q-14 13 3 30l291 291q17 17 30 3zM544 128l544 544l-288 288l-544 -544v-288h288zM1152 736l92 92q28 28 28 68t-28 68l-152 152q-28 28 -68 28t-68 -28l-92 -92zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
334 |
-
<glyph unicode="" d="M1280 608v480q0 26 -19 45t-45 19h-480q-42 0 -59 -39q-17 -41 14 -70l144 -144l-534 -534q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l534 534l144 -144q18 -19 45 -19q12 0 25 5q39 17 39 59zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960 q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
335 |
-
<glyph unicode="" d="M1005 435l352 352q19 19 19 45t-19 45l-352 352q-30 31 -69 14q-40 -17 -40 -59v-160q-119 0 -216 -19.5t-162.5 -51t-114 -79t-76.5 -95.5t-44.5 -109t-21.5 -111.5t-5 -110.5q0 -181 167 -404q10 -12 25 -12q7 0 13 3q22 9 19 33q-44 354 62 473q46 52 130 75.5 t224 23.5v-160q0 -42 40 -59q12 -5 24 -5q26 0 45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
336 |
-
<glyph unicode="" d="M640 448l256 128l-256 128v-256zM1024 1039v-542l-512 -256v542zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
337 |
-
<glyph unicode="" d="M1145 861q18 -35 -5 -66l-320 -448q-19 -27 -52 -27t-52 27l-320 448q-23 31 -5 66q17 35 57 35h640q40 0 57 -35zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
338 |
-
<glyph unicode="" d="M1145 419q-17 -35 -57 -35h-640q-40 0 -57 35q-18 35 5 66l320 448q19 27 52 27t52 -27l320 -448q23 -31 5 -66zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
339 |
-
<glyph unicode="" d="M1088 640q0 -33 -27 -52l-448 -320q-31 -23 -66 -5q-35 17 -35 57v640q0 40 35 57q35 18 66 -5l448 -320q27 -19 27 -52zM1280 160v960q0 14 -9 23t-23 9h-960q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h960q14 0 23 9t9 23zM1536 1120v-960q0 -119 -84.5 -203.5 t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
340 |
-
<glyph unicode="" horiz-adv-x="1024" d="M976 229l35 -159q3 -12 -3 -22.5t-17 -14.5l-5 -1q-4 -2 -10.5 -3.5t-16 -4.5t-21.5 -5.5t-25.5 -5t-30 -5t-33.5 -4.5t-36.5 -3t-38.5 -1q-234 0 -409 130.5t-238 351.5h-95q-13 0 -22.5 9.5t-9.5 22.5v113q0 13 9.5 22.5t22.5 9.5h66q-2 57 1 105h-67q-14 0 -23 9 t-9 23v114q0 14 9 23t23 9h98q67 210 243.5 338t400.5 128q102 0 194 -23q11 -3 20 -15q6 -11 3 -24l-43 -159q-3 -13 -14 -19.5t-24 -2.5l-4 1q-4 1 -11.5 2.5l-17.5 3.5t-22.5 3.5t-26 3t-29 2.5t-29.5 1q-126 0 -226 -64t-150 -176h468q16 0 25 -12q10 -12 7 -26 l-24 -114q-5 -26 -32 -26h-488q-3 -37 0 -105h459q15 0 25 -12q9 -12 6 -27l-24 -112q-2 -11 -11 -18.5t-20 -7.5h-387q48 -117 149.5 -185.5t228.5 -68.5q18 0 36 1.5t33.5 3.5t29.5 4.5t24.5 5t18.5 4.5l12 3l5 2q13 5 26 -2q12 -7 15 -21z" />
|
341 |
-
<glyph unicode="" horiz-adv-x="1024" d="M1020 399v-367q0 -14 -9 -23t-23 -9h-956q-14 0 -23 9t-9 23v150q0 13 9.5 22.5t22.5 9.5h97v383h-95q-14 0 -23 9.5t-9 22.5v131q0 14 9 23t23 9h95v223q0 171 123.5 282t314.5 111q185 0 335 -125q9 -8 10 -20.5t-7 -22.5l-103 -127q-9 -11 -22 -12q-13 -2 -23 7 q-5 5 -26 19t-69 32t-93 18q-85 0 -137 -47t-52 -123v-215h305q13 0 22.5 -9t9.5 -23v-131q0 -13 -9.5 -22.5t-22.5 -9.5h-305v-379h414v181q0 13 9 22.5t23 9.5h162q14 0 23 -9.5t9 -22.5z" />
|
342 |
-
<glyph unicode="" horiz-adv-x="1024" d="M978 351q0 -153 -99.5 -263.5t-258.5 -136.5v-175q0 -14 -9 -23t-23 -9h-135q-13 0 -22.5 9.5t-9.5 22.5v175q-66 9 -127.5 31t-101.5 44.5t-74 48t-46.5 37.5t-17.5 18q-17 21 -2 41l103 135q7 10 23 12q15 2 24 -9l2 -2q113 -99 243 -125q37 -8 74 -8q81 0 142.5 43 t61.5 122q0 28 -15 53t-33.5 42t-58.5 37.5t-66 32t-80 32.5q-39 16 -61.5 25t-61.5 26.5t-62.5 31t-56.5 35.5t-53.5 42.5t-43.5 49t-35.5 58t-21 66.5t-8.5 78q0 138 98 242t255 134v180q0 13 9.5 22.5t22.5 9.5h135q14 0 23 -9t9 -23v-176q57 -6 110.5 -23t87 -33.5 t63.5 -37.5t39 -29t15 -14q17 -18 5 -38l-81 -146q-8 -15 -23 -16q-14 -3 -27 7q-3 3 -14.5 12t-39 26.5t-58.5 32t-74.5 26t-85.5 11.5q-95 0 -155 -43t-60 -111q0 -26 8.5 -48t29.5 -41.5t39.5 -33t56 -31t60.5 -27t70 -27.5q53 -20 81 -31.5t76 -35t75.5 -42.5t62 -50 t53 -63.5t31.5 -76.5t13 -94z" />
|
343 |
-
<glyph unicode="" horiz-adv-x="898" d="M898 1066v-102q0 -14 -9 -23t-23 -9h-168q-23 -144 -129 -234t-276 -110q167 -178 459 -536q14 -16 4 -34q-8 -18 -29 -18h-195q-16 0 -25 12q-306 367 -498 571q-9 9 -9 22v127q0 13 9.5 22.5t22.5 9.5h112q132 0 212.5 43t102.5 125h-427q-14 0 -23 9t-9 23v102 q0 14 9 23t23 9h413q-57 113 -268 113h-145q-13 0 -22.5 9.5t-9.5 22.5v133q0 14 9 23t23 9h832q14 0 23 -9t9 -23v-102q0 -14 -9 -23t-23 -9h-233q47 -61 64 -144h171q14 0 23 -9t9 -23z" />
|
344 |
-
<glyph unicode="" horiz-adv-x="1027" d="M603 0h-172q-13 0 -22.5 9t-9.5 23v330h-288q-13 0 -22.5 9t-9.5 23v103q0 13 9.5 22.5t22.5 9.5h288v85h-288q-13 0 -22.5 9t-9.5 23v104q0 13 9.5 22.5t22.5 9.5h214l-321 578q-8 16 0 32q10 16 28 16h194q19 0 29 -18l215 -425q19 -38 56 -125q10 24 30.5 68t27.5 61 l191 420q8 19 29 19h191q17 0 27 -16q9 -14 1 -31l-313 -579h215q13 0 22.5 -9.5t9.5 -22.5v-104q0 -14 -9.5 -23t-22.5 -9h-290v-85h290q13 0 22.5 -9.5t9.5 -22.5v-103q0 -14 -9.5 -23t-22.5 -9h-290v-330q0 -13 -9.5 -22.5t-22.5 -9.5z" />
|
345 |
-
<glyph unicode="" horiz-adv-x="1280" d="M1043 971q0 100 -65 162t-171 62h-320v-448h320q106 0 171 62t65 162zM1280 971q0 -193 -126.5 -315t-326.5 -122h-340v-118h505q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9h-505v-192q0 -14 -9.5 -23t-22.5 -9h-167q-14 0 -23 9t-9 23v192h-224q-14 0 -23 9t-9 23v128 q0 14 9 23t23 9h224v118h-224q-14 0 -23 9t-9 23v149q0 13 9 22.5t23 9.5h224v629q0 14 9 23t23 9h539q200 0 326.5 -122t126.5 -315z" />
|
346 |
-
<glyph unicode="" horiz-adv-x="1792" d="M514 341l81 299h-159l75 -300q1 -1 1 -3t1 -3q0 1 0.5 3.5t0.5 3.5zM630 768l35 128h-292l32 -128h225zM822 768h139l-35 128h-70zM1271 340l78 300h-162l81 -299q0 -1 0.5 -3.5t1.5 -3.5q0 1 0.5 3t0.5 3zM1382 768l33 128h-297l34 -128h230zM1792 736v-64q0 -14 -9 -23 t-23 -9h-213l-164 -616q-7 -24 -31 -24h-159q-24 0 -31 24l-166 616h-209l-167 -616q-7 -24 -31 -24h-159q-11 0 -19.5 7t-10.5 17l-160 616h-208q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h175l-33 128h-142q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h109l-89 344q-5 15 5 28 q10 12 26 12h137q26 0 31 -24l90 -360h359l97 360q7 24 31 24h126q24 0 31 -24l98 -360h365l93 360q5 24 31 24h137q16 0 26 -12q10 -13 5 -28l-91 -344h111q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-145l-34 -128h179q14 0 23 -9t9 -23z" />
|
347 |
-
<glyph unicode="" horiz-adv-x="1280" d="M1167 896q18 -182 -131 -258q117 -28 175 -103t45 -214q-7 -71 -32.5 -125t-64.5 -89t-97 -58.5t-121.5 -34.5t-145.5 -15v-255h-154v251q-80 0 -122 1v-252h-154v255q-18 0 -54 0.5t-55 0.5h-200l31 183h111q50 0 58 51v402h16q-6 1 -16 1v287q-13 68 -89 68h-111v164 l212 -1q64 0 97 1v252h154v-247q82 2 122 2v245h154v-252q79 -7 140 -22.5t113 -45t82.5 -78t36.5 -114.5zM952 351q0 36 -15 64t-37 46t-57.5 30.5t-65.5 18.5t-74 9t-69 3t-64.5 -1t-47.5 -1v-338q8 0 37 -0.5t48 -0.5t53 1.5t58.5 4t57 8.5t55.5 14t47.5 21t39.5 30 t24.5 40t9.5 51zM881 827q0 33 -12.5 58.5t-30.5 42t-48 28t-55 16.5t-61.5 8t-58 2.5t-54 -1t-39.5 -0.5v-307q5 0 34.5 -0.5t46.5 0t50 2t55 5.5t51.5 11t48.5 18.5t37 27t27 38.5t9 51z" />
|
348 |
-
<glyph unicode="" horiz-adv-x="1280" d="M1280 768v-800q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h544v-544q0 -40 28 -68t68 -28h544zM1277 896h-509v509q82 -15 132 -65l312 -312q50 -50 65 -132z" />
|
349 |
-
<glyph unicode="" horiz-adv-x="1280" d="M1024 160v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1024 416v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1280 768v-800q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28 t-28 68v1344q0 40 28 68t68 28h544v-544q0 -40 28 -68t68 -28h544zM1277 896h-509v509q82 -15 132 -65l312 -312q50 -50 65 -132z" />
|
350 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1191 1128h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1572 -23 v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -11v-2l14 2q9 2 30 2h248v119h121zM1661 874v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162 l230 -662h70z" />
|
351 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1191 104h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1661 -150 v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162l230 -662h70zM1572 1001v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -10v-3l14 3q9 1 30 1h248 v119h121z" />
|
352 |
-
<glyph unicode="" horiz-adv-x="1792" d="M736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1792 -32v-192q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832 q14 0 23 -9t9 -23zM1600 480v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1408 992v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1216 1504v-192q0 -14 -9 -23t-23 -9h-256 q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23z" />
|
353 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1216 -32v-192q0 -14 -9 -23t-23 -9h-256q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192 q14 0 23 -9t9 -23zM1408 480v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1600 992v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1792 1504v-192q0 -14 -9 -23t-23 -9h-832 q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832q14 0 23 -9t9 -23z" />
|
354 |
-
<glyph unicode="" d="M1346 223q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23 zM1486 165q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5 t82 -252.5zM1456 882v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165z" />
|
355 |
-
<glyph unicode="" d="M1346 1247q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9 t9 -23zM1456 -142v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165zM1486 1189q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13 q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5t82 -252.5z" />
|
356 |
-
<glyph unicode="" horiz-adv-x="1664" d="M256 192q0 26 -19 45t-45 19q-27 0 -45.5 -19t-18.5 -45q0 -27 18.5 -45.5t45.5 -18.5q26 0 45 18.5t19 45.5zM416 704v-640q0 -26 -19 -45t-45 -19h-288q-26 0 -45 19t-19 45v640q0 26 19 45t45 19h288q26 0 45 -19t19 -45zM1600 704q0 -86 -55 -149q15 -44 15 -76 q3 -76 -43 -137q17 -56 0 -117q-15 -57 -54 -94q9 -112 -49 -181q-64 -76 -197 -78h-36h-76h-17q-66 0 -144 15.5t-121.5 29t-120.5 39.5q-123 43 -158 44q-26 1 -45 19.5t-19 44.5v641q0 25 18 43.5t43 20.5q24 2 76 59t101 121q68 87 101 120q18 18 31 48t17.5 48.5 t13.5 60.5q7 39 12.5 61t19.5 52t34 50q19 19 45 19q46 0 82.5 -10.5t60 -26t40 -40.5t24 -45t12 -50t5 -45t0.5 -39q0 -38 -9.5 -76t-19 -60t-27.5 -56q-3 -6 -10 -18t-11 -22t-8 -24h277q78 0 135 -57t57 -135z" />
|
357 |
-
<glyph unicode="" horiz-adv-x="1664" d="M256 960q0 -26 -19 -45t-45 -19q-27 0 -45.5 19t-18.5 45q0 27 18.5 45.5t45.5 18.5q26 0 45 -18.5t19 -45.5zM416 448v640q0 26 -19 45t-45 19h-288q-26 0 -45 -19t-19 -45v-640q0 -26 19 -45t45 -19h288q26 0 45 19t19 45zM1545 597q55 -61 55 -149q-1 -78 -57.5 -135 t-134.5 -57h-277q4 -14 8 -24t11 -22t10 -18q18 -37 27 -57t19 -58.5t10 -76.5q0 -24 -0.5 -39t-5 -45t-12 -50t-24 -45t-40 -40.5t-60 -26t-82.5 -10.5q-26 0 -45 19q-20 20 -34 50t-19.5 52t-12.5 61q-9 42 -13.5 60.5t-17.5 48.5t-31 48q-33 33 -101 120q-49 64 -101 121 t-76 59q-25 2 -43 20.5t-18 43.5v641q0 26 19 44.5t45 19.5q35 1 158 44q77 26 120.5 39.5t121.5 29t144 15.5h17h76h36q133 -2 197 -78q58 -69 49 -181q39 -37 54 -94q17 -61 0 -117q46 -61 43 -137q0 -32 -15 -76z" />
|
358 |
-
<glyph unicode="" d="M919 233v157q0 50 -29 50q-17 0 -33 -16v-224q16 -16 33 -16q29 0 29 49zM1103 355h66v34q0 51 -33 51t-33 -51v-34zM532 621v-70h-80v-423h-74v423h-78v70h232zM733 495v-367h-67v40q-39 -45 -76 -45q-33 0 -42 28q-6 16 -6 54v290h66v-270q0 -24 1 -26q1 -15 15 -15 q20 0 42 31v280h67zM985 384v-146q0 -52 -7 -73q-12 -42 -53 -42q-35 0 -68 41v-36h-67v493h67v-161q32 40 68 40q41 0 53 -42q7 -21 7 -74zM1236 255v-9q0 -29 -2 -43q-3 -22 -15 -40q-27 -40 -80 -40q-52 0 -81 38q-21 27 -21 86v129q0 59 20 86q29 38 80 38t78 -38 q21 -28 21 -86v-76h-133v-65q0 -51 34 -51q24 0 30 26q0 1 0.5 7t0.5 16.5v21.5h68zM785 1079v-156q0 -51 -32 -51t-32 51v156q0 52 32 52t32 -52zM1318 366q0 177 -19 260q-10 44 -43 73.5t-76 34.5q-136 15 -412 15q-275 0 -411 -15q-44 -5 -76.5 -34.5t-42.5 -73.5 q-20 -87 -20 -260q0 -176 20 -260q10 -43 42.5 -73t75.5 -35q137 -15 412 -15t412 15q43 5 75.5 35t42.5 73q20 84 20 260zM563 1017l90 296h-75l-51 -195l-53 195h-78l24 -69t23 -69q35 -103 46 -158v-201h74v201zM852 936v130q0 58 -21 87q-29 38 -78 38q-51 0 -78 -38 q-21 -29 -21 -87v-130q0 -58 21 -87q27 -38 78 -38q49 0 78 38q21 27 21 87zM1033 816h67v370h-67v-283q-22 -31 -42 -31q-15 0 -16 16q-1 2 -1 26v272h-67v-293q0 -37 6 -55q11 -27 43 -27q36 0 77 45v-40zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960 q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
359 |
-
<glyph unicode="" d="M971 292v-211q0 -67 -39 -67q-23 0 -45 22v301q22 22 45 22q39 0 39 -67zM1309 291v-46h-90v46q0 68 45 68t45 -68zM343 509h107v94h-312v-94h105v-569h100v569zM631 -60h89v494h-89v-378q-30 -42 -57 -42q-18 0 -21 21q-1 3 -1 35v364h-89v-391q0 -49 8 -73 q12 -37 58 -37q48 0 102 61v-54zM1060 88v197q0 73 -9 99q-17 56 -71 56q-50 0 -93 -54v217h-89v-663h89v48q45 -55 93 -55q54 0 71 55q9 27 9 100zM1398 98v13h-91q0 -51 -2 -61q-7 -36 -40 -36q-46 0 -46 69v87h179v103q0 79 -27 116q-39 51 -106 51q-68 0 -107 -51 q-28 -37 -28 -116v-173q0 -79 29 -116q39 -51 108 -51q72 0 108 53q18 27 21 54q2 9 2 58zM790 1011v210q0 69 -43 69t-43 -69v-210q0 -70 43 -70t43 70zM1509 260q0 -234 -26 -350q-14 -59 -58 -99t-102 -46q-184 -21 -555 -21t-555 21q-58 6 -102.5 46t-57.5 99 q-26 112 -26 350q0 234 26 350q14 59 58 99t103 47q183 20 554 20t555 -20q58 -7 102.5 -47t57.5 -99q26 -112 26 -350zM511 1536h102l-121 -399v-271h-100v271q-14 74 -61 212q-37 103 -65 187h106l71 -263zM881 1203v-175q0 -81 -28 -118q-37 -51 -106 -51q-67 0 -105 51 q-28 38 -28 118v175q0 80 28 117q38 51 105 51q69 0 106 -51q28 -37 28 -117zM1216 1365v-499h-91v55q-53 -62 -103 -62q-46 0 -59 37q-8 24 -8 75v394h91v-367q0 -33 1 -35q3 -22 21 -22q27 0 57 43v381h91z" />
|
360 |
-
<glyph unicode="" horiz-adv-x="1408" d="M597 869q-10 -18 -257 -456q-27 -46 -65 -46h-239q-21 0 -31 17t0 36l253 448q1 0 0 1l-161 279q-12 22 -1 37q9 15 32 15h239q40 0 66 -45zM1403 1511q11 -16 0 -37l-528 -934v-1l336 -615q11 -20 1 -37q-10 -15 -32 -15h-239q-42 0 -66 45l-339 622q18 32 531 942 q25 45 64 45h241q22 0 31 -15z" />
|
361 |
-
<glyph unicode="" d="M685 771q0 1 -126 222q-21 34 -52 34h-184q-18 0 -26 -11q-7 -12 1 -29l125 -216v-1l-196 -346q-9 -14 0 -28q8 -13 24 -13h185q31 0 50 36zM1309 1268q-7 12 -24 12h-187q-30 0 -49 -35l-411 -729q1 -2 262 -481q20 -35 52 -35h184q18 0 25 12q8 13 -1 28l-260 476v1 l409 723q8 16 0 28zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
362 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1280 640q0 37 -30 54l-512 320q-31 20 -65 2q-33 -18 -33 -56v-640q0 -38 33 -56q16 -8 31 -8q20 0 34 10l512 320q30 17 30 54zM1792 640q0 -96 -1 -150t-8.5 -136.5t-22.5 -147.5q-16 -73 -69 -123t-124 -58q-222 -25 -671 -25t-671 25q-71 8 -124.5 58t-69.5 123 q-14 65 -21.5 147.5t-8.5 136.5t-1 150t1 150t8.5 136.5t22.5 147.5q16 73 69 123t124 58q222 25 671 25t671 -25q71 -8 124.5 -58t69.5 -123q14 -65 21.5 -147.5t8.5 -136.5t1 -150z" />
|
363 |
-
<glyph unicode="" horiz-adv-x="1792" d="M402 829l494 -305l-342 -285l-490 319zM1388 274v-108l-490 -293v-1l-1 1l-1 -1v1l-489 293v108l147 -96l342 284v2l1 -1l1 1v-2l343 -284zM554 1418l342 -285l-494 -304l-338 270zM1390 829l338 -271l-489 -319l-343 285zM1239 1418l489 -319l-338 -270l-494 304z" />
|
364 |
-
<glyph unicode="" horiz-adv-x="1408" d="M928 135v-151l-707 -1v151zM1169 481v-701l-1 -35v-1h-1132l-35 1h-1v736h121v-618h928v618h120zM241 393l704 -65l-13 -150l-705 65zM309 709l683 -183l-39 -146l-683 183zM472 1058l609 -360l-77 -130l-609 360zM832 1389l398 -585l-124 -85l-399 584zM1285 1536 l121 -697l-149 -26l-121 697z" />
|
365 |
-
<glyph unicode="" d="M1362 110v648h-135q20 -63 20 -131q0 -126 -64 -232.5t-174 -168.5t-240 -62q-197 0 -337 135.5t-140 327.5q0 68 20 131h-141v-648q0 -26 17.5 -43.5t43.5 -17.5h1069q25 0 43 17.5t18 43.5zM1078 643q0 124 -90.5 211.5t-218.5 87.5q-127 0 -217.5 -87.5t-90.5 -211.5 t90.5 -211.5t217.5 -87.5q128 0 218.5 87.5t90.5 211.5zM1362 1003v165q0 28 -20 48.5t-49 20.5h-174q-29 0 -49 -20.5t-20 -48.5v-165q0 -29 20 -49t49 -20h174q29 0 49 20t20 49zM1536 1211v-1142q0 -81 -58 -139t-139 -58h-1142q-81 0 -139 58t-58 139v1142q0 81 58 139 t139 58h1142q81 0 139 -58t58 -139z" />
|
366 |
-
<glyph unicode="" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM698 640q0 88 -62 150t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150zM1262 640q0 88 -62 150 t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150z" />
|
367 |
-
<glyph unicode="" d="M768 914l201 -306h-402zM1133 384h94l-459 691l-459 -691h94l104 160h522zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
368 |
-
<glyph unicode="" horiz-adv-x="1408" d="M815 677q8 -63 -50.5 -101t-111.5 -6q-39 17 -53.5 58t-0.5 82t52 58q36 18 72.5 12t64 -35.5t27.5 -67.5zM926 698q-14 107 -113 164t-197 13q-63 -28 -100.5 -88.5t-34.5 -129.5q4 -91 77.5 -155t165.5 -56q91 8 152 84t50 168zM1165 1240q-20 27 -56 44.5t-58 22 t-71 12.5q-291 47 -566 -2q-43 -7 -66 -12t-55 -22t-50 -43q30 -28 76 -45.5t73.5 -22t87.5 -11.5q228 -29 448 -1q63 8 89.5 12t72.5 21.5t75 46.5zM1222 205q-8 -26 -15.5 -76.5t-14 -84t-28.5 -70t-58 -56.5q-86 -48 -189.5 -71.5t-202 -22t-201.5 18.5q-46 8 -81.5 18 t-76.5 27t-73 43.5t-52 61.5q-25 96 -57 292l6 16l18 9q223 -148 506.5 -148t507.5 148q21 -6 24 -23t-5 -45t-8 -37zM1403 1166q-26 -167 -111 -655q-5 -30 -27 -56t-43.5 -40t-54.5 -31q-252 -126 -610 -88q-248 27 -394 139q-15 12 -25.5 26.5t-17 35t-9 34t-6 39.5 t-5.5 35q-9 50 -26.5 150t-28 161.5t-23.5 147.5t-22 158q3 26 17.5 48.5t31.5 37.5t45 30t46 22.5t48 18.5q125 46 313 64q379 37 676 -50q155 -46 215 -122q16 -20 16.5 -51t-5.5 -54z" />
|
369 |
-
<glyph unicode="" d="M848 666q0 43 -41 66t-77 1q-43 -20 -42.5 -72.5t43.5 -70.5q39 -23 81 4t36 72zM928 682q8 -66 -36 -121t-110 -61t-119 40t-56 113q-2 49 25.5 93t72.5 64q70 31 141.5 -10t81.5 -118zM1100 1073q-20 -21 -53.5 -34t-53 -16t-63.5 -8q-155 -20 -324 0q-44 6 -63 9.5 t-52.5 16t-54.5 32.5q13 19 36 31t40 15.5t47 8.5q198 35 408 1q33 -5 51 -8.5t43 -16t39 -31.5zM1142 327q0 7 5.5 26.5t3 32t-17.5 16.5q-161 -106 -365 -106t-366 106l-12 -6l-5 -12q26 -154 41 -210q47 -81 204 -108q249 -46 428 53q34 19 49 51.5t22.5 85.5t12.5 71z M1272 1020q9 53 -8 75q-43 55 -155 88q-216 63 -487 36q-132 -12 -226 -46q-38 -15 -59.5 -25t-47 -34t-29.5 -54q8 -68 19 -138t29 -171t24 -137q1 -5 5 -31t7 -36t12 -27t22 -28q105 -80 284 -100q259 -28 440 63q24 13 39.5 23t31 29t19.5 40q48 267 80 473zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
370 |
-
<glyph unicode="" horiz-adv-x="1024" d="M390 1408h219v-388h364v-241h-364v-394q0 -136 14 -172q13 -37 52 -60q50 -31 117 -31q117 0 232 76v-242q-102 -48 -178 -65q-77 -19 -173 -19q-105 0 -186 27q-78 25 -138 75q-58 51 -79 105q-22 54 -22 161v539h-170v217q91 30 155 84q64 55 103 132q39 78 54 196z " />
|
371 |
-
<glyph unicode="" d="M1123 127v181q-88 -56 -174 -56q-51 0 -88 23q-29 17 -39 45q-11 30 -11 129v295h274v181h-274v291h-164q-11 -90 -40 -147t-78 -99q-48 -40 -116 -63v-163h127v-404q0 -78 17 -121q17 -42 59 -78q43 -37 104 -57q62 -20 140 -20q67 0 129 14q57 13 134 49zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
372 |
-
<glyph unicode="" horiz-adv-x="768" d="M765 237q8 -19 -5 -35l-350 -384q-10 -10 -23 -10q-14 0 -24 10l-355 384q-13 16 -5 35q9 19 29 19h224v1248q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1248h224q21 0 29 -19z" />
|
373 |
-
<glyph unicode="" horiz-adv-x="768" d="M765 1043q-9 -19 -29 -19h-224v-1248q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1248h-224q-21 0 -29 19t5 35l350 384q10 10 23 10q14 0 24 -10l355 -384q13 -16 5 -35z" />
|
374 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1792 736v-192q0 -14 -9 -23t-23 -9h-1248v-224q0 -21 -19 -29t-35 5l-384 350q-10 10 -10 23q0 14 10 24l384 354q16 14 35 6q19 -9 19 -29v-224h1248q14 0 23 -9t9 -23z" />
|
375 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1728 643q0 -14 -10 -24l-384 -354q-16 -14 -35 -6q-19 9 -19 29v224h-1248q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h1248v224q0 21 19 29t35 -5l384 -350q10 -10 10 -23z" />
|
376 |
-
<glyph unicode="" horiz-adv-x="1408" d="M1393 321q-39 -125 -123 -250q-129 -196 -257 -196q-49 0 -140 32q-86 32 -151 32q-61 0 -142 -33q-81 -34 -132 -34q-152 0 -301 259q-147 261 -147 503q0 228 113 374q112 144 284 144q72 0 177 -30q104 -30 138 -30q45 0 143 34q102 34 173 34q119 0 213 -65 q52 -36 104 -100q-79 -67 -114 -118q-65 -94 -65 -207q0 -124 69 -223t158 -126zM1017 1494q0 -61 -29 -136q-30 -75 -93 -138q-54 -54 -108 -72q-37 -11 -104 -17q3 149 78 257q74 107 250 148q1 -3 2.5 -11t2.5 -11q0 -4 0.5 -10t0.5 -10z" />
|
377 |
-
<glyph unicode="" horiz-adv-x="1664" d="M682 530v-651l-682 94v557h682zM682 1273v-659h-682v565zM1664 530v-786l-907 125v661h907zM1664 1408v-794h-907v669z" />
|
378 |
-
<glyph unicode="" horiz-adv-x="1408" d="M493 1053q16 0 27.5 11.5t11.5 27.5t-11.5 27.5t-27.5 11.5t-27 -11.5t-11 -27.5t11 -27.5t27 -11.5zM915 1053q16 0 27 11.5t11 27.5t-11 27.5t-27 11.5t-27.5 -11.5t-11.5 -27.5t11.5 -27.5t27.5 -11.5zM103 869q42 0 72 -30t30 -72v-430q0 -43 -29.5 -73t-72.5 -30 t-73 30t-30 73v430q0 42 30 72t73 30zM1163 850v-666q0 -46 -32 -78t-77 -32h-75v-227q0 -43 -30 -73t-73 -30t-73 30t-30 73v227h-138v-227q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73l-1 227h-74q-46 0 -78 32t-32 78v666h918zM931 1255q107 -55 171 -153.5t64 -215.5 h-925q0 117 64 215.5t172 153.5l-71 131q-7 13 5 20q13 6 20 -6l72 -132q95 42 201 42t201 -42l72 132q7 12 20 6q12 -7 5 -20zM1408 767v-430q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73v430q0 43 30 72.5t72 29.5q43 0 73 -29.5t30 -72.5z" />
|
379 |
-
<glyph unicode="" d="M663 1125q-11 -1 -15.5 -10.5t-8.5 -9.5q-5 -1 -5 5q0 12 19 15h10zM750 1111q-4 -1 -11.5 6.5t-17.5 4.5q24 11 32 -2q3 -6 -3 -9zM399 684q-4 1 -6 -3t-4.5 -12.5t-5.5 -13.5t-10 -13q-7 -10 -1 -12q4 -1 12.5 7t12.5 18q1 3 2 7t2 6t1.5 4.5t0.5 4v3t-1 2.5t-3 2z M1254 325q0 18 -55 42q4 15 7.5 27.5t5 26t3 21.5t0.5 22.5t-1 19.5t-3.5 22t-4 20.5t-5 25t-5.5 26.5q-10 48 -47 103t-72 75q24 -20 57 -83q87 -162 54 -278q-11 -40 -50 -42q-31 -4 -38.5 18.5t-8 83.5t-11.5 107q-9 39 -19.5 69t-19.5 45.5t-15.5 24.5t-13 15t-7.5 7 q-14 62 -31 103t-29.5 56t-23.5 33t-15 40q-4 21 6 53.5t4.5 49.5t-44.5 25q-15 3 -44.5 18t-35.5 16q-8 1 -11 26t8 51t36 27q37 3 51 -30t4 -58q-11 -19 -2 -26.5t30 -0.5q13 4 13 36v37q-5 30 -13.5 50t-21 30.5t-23.5 15t-27 7.5q-107 -8 -89 -134q0 -15 -1 -15 q-9 9 -29.5 10.5t-33 -0.5t-15.5 5q1 57 -16 90t-45 34q-27 1 -41.5 -27.5t-16.5 -59.5q-1 -15 3.5 -37t13 -37.5t15.5 -13.5q10 3 16 14q4 9 -7 8q-7 0 -15.5 14.5t-9.5 33.5q-1 22 9 37t34 14q17 0 27 -21t9.5 -39t-1.5 -22q-22 -15 -31 -29q-8 -12 -27.5 -23.5 t-20.5 -12.5q-13 -14 -15.5 -27t7.5 -18q14 -8 25 -19.5t16 -19t18.5 -13t35.5 -6.5q47 -2 102 15q2 1 23 7t34.5 10.5t29.5 13t21 17.5q9 14 20 8q5 -3 6.5 -8.5t-3 -12t-16.5 -9.5q-20 -6 -56.5 -21.5t-45.5 -19.5q-44 -19 -70 -23q-25 -5 -79 2q-10 2 -9 -2t17 -19 q25 -23 67 -22q17 1 36 7t36 14t33.5 17.5t30 17t24.5 12t17.5 2.5t8.5 -11q0 -2 -1 -4.5t-4 -5t-6 -4.5t-8.5 -5t-9 -4.5t-10 -5t-9.5 -4.5q-28 -14 -67.5 -44t-66.5 -43t-49 -1q-21 11 -63 73q-22 31 -25 22q-1 -3 -1 -10q0 -25 -15 -56.5t-29.5 -55.5t-21 -58t11.5 -63 q-23 -6 -62.5 -90t-47.5 -141q-2 -18 -1.5 -69t-5.5 -59q-8 -24 -29 -3q-32 31 -36 94q-2 28 4 56q4 19 -1 18l-4 -5q-36 -65 10 -166q5 -12 25 -28t24 -20q20 -23 104 -90.5t93 -76.5q16 -15 17.5 -38t-14 -43t-45.5 -23q8 -15 29 -44.5t28 -54t7 -70.5q46 24 7 92 q-4 8 -10.5 16t-9.5 12t-2 6q3 5 13 9.5t20 -2.5q46 -52 166 -36q133 15 177 87q23 38 34 30q12 -6 10 -52q-1 -25 -23 -92q-9 -23 -6 -37.5t24 -15.5q3 19 14.5 77t13.5 90q2 21 -6.5 73.5t-7.5 97t23 70.5q15 18 51 18q1 37 34.5 53t72.5 10.5t60 -22.5zM626 1152 q3 17 -2.5 30t-11.5 15q-9 2 -9 -7q2 -5 5 -6q10 0 7 -15q-3 -20 8 -20q3 0 3 3zM1045 955q-2 8 -6.5 11.5t-13 5t-14.5 5.5q-5 3 -9.5 8t-7 8t-5.5 6.5t-4 4t-4 -1.5q-14 -16 7 -43.5t39 -31.5q9 -1 14.5 8t3.5 20zM867 1168q0 11 -5 19.5t-11 12.5t-9 3q-14 -1 -7 -7l4 -2 q14 -4 18 -31q0 -3 8 2zM921 1401q0 2 -2.5 5t-9 7t-9.5 6q-15 15 -24 15q-9 -1 -11.5 -7.5t-1 -13t-0.5 -12.5q-1 -4 -6 -10.5t-6 -9t3 -8.5q4 -3 8 0t11 9t15 9q1 1 9 1t15 2t9 7zM1486 60q20 -12 31 -24.5t12 -24t-2.5 -22.5t-15.5 -22t-23.5 -19.5t-30 -18.5 t-31.5 -16.5t-32 -15.5t-27 -13q-38 -19 -85.5 -56t-75.5 -64q-17 -16 -68 -19.5t-89 14.5q-18 9 -29.5 23.5t-16.5 25.5t-22 19.5t-47 9.5q-44 1 -130 1q-19 0 -57 -1.5t-58 -2.5q-44 -1 -79.5 -15t-53.5 -30t-43.5 -28.5t-53.5 -11.5q-29 1 -111 31t-146 43q-19 4 -51 9.5 t-50 9t-39.5 9.5t-33.5 14.5t-17 19.5q-10 23 7 66.5t18 54.5q1 16 -4 40t-10 42.5t-4.5 36.5t10.5 27q14 12 57 14t60 12q30 18 42 35t12 51q21 -73 -32 -106q-32 -20 -83 -15q-34 3 -43 -10q-13 -15 5 -57q2 -6 8 -18t8.5 -18t4.5 -17t1 -22q0 -15 -17 -49t-14 -48 q3 -17 37 -26q20 -6 84.5 -18.5t99.5 -20.5q24 -6 74 -22t82.5 -23t55.5 -4q43 6 64.5 28t23 48t-7.5 58.5t-19 52t-20 36.5q-121 190 -169 242q-68 74 -113 40q-11 -9 -15 15q-3 16 -2 38q1 29 10 52t24 47t22 42q8 21 26.5 72t29.5 78t30 61t39 54q110 143 124 195 q-12 112 -16 310q-2 90 24 151.5t106 104.5q39 21 104 21q53 1 106 -13.5t89 -41.5q57 -42 91.5 -121.5t29.5 -147.5q-5 -95 30 -214q34 -113 133 -218q55 -59 99.5 -163t59.5 -191q8 -49 5 -84.5t-12 -55.5t-20 -22q-10 -2 -23.5 -19t-27 -35.5t-40.5 -33.5t-61 -14 q-18 1 -31.5 5t-22.5 13.5t-13.5 15.5t-11.5 20.5t-9 19.5q-22 37 -41 30t-28 -49t7 -97q20 -70 1 -195q-10 -65 18 -100.5t73 -33t85 35.5q59 49 89.5 66.5t103.5 42.5q53 18 77 36.5t18.5 34.5t-25 28.5t-51.5 23.5q-33 11 -49.5 48t-15 72.5t15.5 47.5q1 -31 8 -56.5 t14.5 -40.5t20.5 -28.5t21 -19t21.5 -13t16.5 -9.5z" />
|
380 |
-
<glyph unicode="" d="M1024 36q-42 241 -140 498h-2l-2 -1q-16 -6 -43 -16.5t-101 -49t-137 -82t-131 -114.5t-103 -148l-15 11q184 -150 418 -150q132 0 256 52zM839 643q-21 49 -53 111q-311 -93 -673 -93q-1 -7 -1 -21q0 -124 44 -236.5t124 -201.5q50 89 123.5 166.5t142.5 124.5t130.5 81 t99.5 48l37 13q4 1 13 3.5t13 4.5zM732 855q-120 213 -244 378q-138 -65 -234 -186t-128 -272q302 0 606 80zM1416 536q-210 60 -409 29q87 -239 128 -469q111 75 185 189.5t96 250.5zM611 1277q-1 0 -2 -1q1 1 2 1zM1201 1132q-185 164 -433 164q-76 0 -155 -19 q131 -170 246 -382q69 26 130 60.5t96.5 61.5t65.5 57t37.5 40.5zM1424 647q-3 232 -149 410l-1 -1q-9 -12 -19 -24.5t-43.5 -44.5t-71 -60.5t-100 -65t-131.5 -64.5q25 -53 44 -95q2 -6 6.5 -17.5t7.5 -16.5q36 5 74.5 7t73.5 2t69 -1.5t64 -4t56.5 -5.5t48 -6.5t36.5 -6 t25 -4.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
381 |
-
<glyph unicode="" d="M1173 473q0 50 -19.5 91.5t-48.5 68.5t-73 49t-82.5 34t-87.5 23l-104 24q-30 7 -44 10.5t-35 11.5t-30 16t-16.5 21t-7.5 30q0 77 144 77q43 0 77 -12t54 -28.5t38 -33.5t40 -29t48 -12q47 0 75.5 32t28.5 77q0 55 -56 99.5t-142 67.5t-182 23q-68 0 -132 -15.5 t-119.5 -47t-89 -87t-33.5 -128.5q0 -61 19 -106.5t56 -75.5t80 -48.5t103 -32.5l146 -36q90 -22 112 -36q32 -20 32 -60q0 -39 -40 -64.5t-105 -25.5q-51 0 -91.5 16t-65 38.5t-45.5 45t-46 38.5t-54 16q-50 0 -75.5 -30t-25.5 -75q0 -92 122 -157.5t291 -65.5 q73 0 140 18.5t122.5 53.5t88.5 93.5t33 131.5zM1536 256q0 -159 -112.5 -271.5t-271.5 -112.5q-130 0 -234 80q-77 -16 -150 -16q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5q0 73 16 150q-80 104 -80 234q0 159 112.5 271.5t271.5 112.5q130 0 234 -80 q77 16 150 16q143 0 273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -73 -16 -150q80 -104 80 -234z" />
|
382 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1483 512l-587 -587q-52 -53 -127.5 -53t-128.5 53l-587 587q-53 53 -53 128t53 128l587 587q53 53 128 53t128 -53l265 -265l-398 -399l-188 188q-42 42 -99 42q-59 0 -100 -41l-120 -121q-42 -40 -42 -99q0 -58 42 -100l406 -408q30 -28 67 -37l6 -4h28q60 0 99 41 l619 619l2 -3q53 -53 53 -128t-53 -128zM1406 1138l120 -120q14 -15 14 -36t-14 -36l-730 -730q-17 -15 -37 -15v0q-4 0 -6 1q-18 2 -30 14l-407 408q-14 15 -14 36t14 35l121 120q13 15 35 15t36 -15l252 -252l574 575q15 15 36 15t36 -15z" />
|
383 |
-
<glyph unicode="" d="M704 192v1024q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-1024q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1376 576v640q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-640q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408 q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
|
384 |
-
<glyph unicode="" horiz-adv-x="1280" d="M1280 480q0 -40 -28 -68t-68 -28q-51 0 -80 43l-227 341h-45v-132l247 -411q9 -15 9 -33q0 -26 -19 -45t-45 -19h-192v-272q0 -46 -33 -79t-79 -33h-160q-46 0 -79 33t-33 79v272h-192q-26 0 -45 19t-19 45q0 18 9 33l247 411v132h-45l-227 -341q-29 -43 -80 -43 q-40 0 -68 28t-28 68q0 29 16 53l256 384q73 107 176 107h384q103 0 176 -107l256 -384q16 -24 16 -53zM864 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
|
385 |
-
<glyph unicode="" horiz-adv-x="1024" d="M1024 832v-416q0 -40 -28 -68t-68 -28t-68 28t-28 68v352h-64v-912q0 -46 -33 -79t-79 -33t-79 33t-33 79v464h-64v-464q0 -46 -33 -79t-79 -33t-79 33t-33 79v912h-64v-352q0 -40 -28 -68t-68 -28t-68 28t-28 68v416q0 80 56 136t136 56h640q80 0 136 -56t56 -136z M736 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
|
386 |
-
<glyph unicode="" d="M773 234l350 473q16 22 24.5 59t-6 85t-61.5 79q-40 26 -83 25.5t-73.5 -17.5t-54.5 -45q-36 -40 -96 -40q-59 0 -95 40q-24 28 -54.5 45t-73.5 17.5t-84 -25.5q-46 -31 -60.5 -79t-6 -85t24.5 -59zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
387 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1472 640q0 117 -45.5 223.5t-123 184t-184 123t-223.5 45.5t-223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5t45.5 -223.5t123 -184t184 -123t223.5 -45.5t223.5 45.5t184 123t123 184t45.5 223.5zM1748 363q-4 -15 -20 -20l-292 -96v-306q0 -16 -13 -26q-15 -10 -29 -4 l-292 94l-180 -248q-10 -13 -26 -13t-26 13l-180 248l-292 -94q-14 -6 -29 4q-13 10 -13 26v306l-292 96q-16 5 -20 20q-5 17 4 29l180 248l-180 248q-9 13 -4 29q4 15 20 20l292 96v306q0 16 13 26q15 10 29 4l292 -94l180 248q9 12 26 12t26 -12l180 -248l292 94 q14 6 29 -4q13 -10 13 -26v-306l292 -96q16 -5 20 -20q5 -16 -4 -29l-180 -248l180 -248q9 -12 4 -29z" />
|
388 |
-
<glyph unicode="" d="M1262 233q-54 -9 -110 -9q-182 0 -337 90t-245 245t-90 337q0 192 104 357q-201 -60 -328.5 -229t-127.5 -384q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51q144 0 273.5 61.5t220.5 171.5zM1465 318q-94 -203 -283.5 -324.5t-413.5 -121.5q-156 0 -298 61 t-245 164t-164 245t-61 298q0 153 57.5 292.5t156 241.5t235.5 164.5t290 68.5q44 2 61 -39q18 -41 -15 -72q-86 -78 -131.5 -181.5t-45.5 -218.5q0 -148 73 -273t198 -198t273 -73q118 0 228 51q41 18 72 -13q14 -14 17.5 -34t-4.5 -38z" />
|
389 |
-
<glyph unicode="" horiz-adv-x="1792" d="M1088 704q0 26 -19 45t-45 19h-256q-26 0 -45 -19t-19 -45t19 -45t45 -19h256q26 0 45 19t19 45zM1664 896v-960q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v960q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1728 1344v-256q0 -26 -19 -45t-45 -19h-1536 q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1536q26 0 45 -19t19 -45z" />
|
390 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1632 576q0 -26 -19 -45t-45 -19h-224q0 -171 -67 -290l208 -209q19 -19 19 -45t-19 -45q-18 -19 -45 -19t-45 19l-198 197q-5 -5 -15 -13t-42 -28.5t-65 -36.5t-82 -29t-97 -13v896h-128v-896q-51 0 -101.5 13.5t-87 33t-66 39t-43.5 32.5l-15 14l-183 -207 q-20 -21 -48 -21q-24 0 -43 16q-19 18 -20.5 44.5t15.5 46.5l202 227q-58 114 -58 274h-224q-26 0 -45 19t-19 45t19 45t45 19h224v294l-173 173q-19 19 -19 45t19 45t45 19t45 -19l173 -173h844l173 173q19 19 45 19t45 -19t19 -45t-19 -45l-173 -173v-294h224q26 0 45 -19 t19 -45zM1152 1152h-640q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5z" />
|
391 |
-
<glyph unicode="" horiz-adv-x="1920" d="M1917 1016q23 -64 -150 -294q-24 -32 -65 -85q-78 -100 -90 -131q-17 -41 14 -81q17 -21 81 -82h1l1 -1l1 -1l2 -2q141 -131 191 -221q3 -5 6.5 -12.5t7 -26.5t-0.5 -34t-25 -27.5t-59 -12.5l-256 -4q-24 -5 -56 5t-52 22l-20 12q-30 21 -70 64t-68.5 77.5t-61 58 t-56.5 15.5q-3 -1 -8 -3.5t-17 -14.5t-21.5 -29.5t-17 -52t-6.5 -77.5q0 -15 -3.5 -27.5t-7.5 -18.5l-4 -5q-18 -19 -53 -22h-115q-71 -4 -146 16.5t-131.5 53t-103 66t-70.5 57.5l-25 24q-10 10 -27.5 30t-71.5 91t-106 151t-122.5 211t-130.5 272q-6 16 -6 27t3 16l4 6 q15 19 57 19l274 2q12 -2 23 -6.5t16 -8.5l5 -3q16 -11 24 -32q20 -50 46 -103.5t41 -81.5l16 -29q29 -60 56 -104t48.5 -68.5t41.5 -38.5t34 -14t27 5q2 1 5 5t12 22t13.5 47t9.5 81t0 125q-2 40 -9 73t-14 46l-6 12q-25 34 -85 43q-13 2 5 24q17 19 38 30q53 26 239 24 q82 -1 135 -13q20 -5 33.5 -13.5t20.5 -24t10.5 -32t3.5 -45.5t-1 -55t-2.5 -70.5t-1.5 -82.5q0 -11 -1 -42t-0.5 -48t3.5 -40.5t11.5 -39t22.5 -24.5q8 -2 17 -4t26 11t38 34.5t52 67t68 107.5q60 104 107 225q4 10 10 17.5t11 10.5l4 3l5 2.5t13 3t20 0.5l288 2 q39 5 64 -2.5t31 -16.5z" />
|
392 |
-
<glyph unicode="" horiz-adv-x="1792" d="M675 252q21 34 11 69t-45 50q-34 14 -73 1t-60 -46q-22 -34 -13 -68.5t43 -50.5t74.5 -2.5t62.5 47.5zM769 373q8 13 3.5 26.5t-17.5 18.5q-14 5 -28.5 -0.5t-21.5 -18.5q-17 -31 13 -45q14 -5 29 0.5t22 18.5zM943 266q-45 -102 -158 -150t-224 -12 q-107 34 -147.5 126.5t6.5 187.5q47 93 151.5 139t210.5 19q111 -29 158.5 -119.5t2.5 -190.5zM1255 426q-9 96 -89 170t-208.5 109t-274.5 21q-223 -23 -369.5 -141.5t-132.5 -264.5q9 -96 89 -170t208.5 -109t274.5 -21q223 23 369.5 141.5t132.5 264.5zM1563 422 q0 -68 -37 -139.5t-109 -137t-168.5 -117.5t-226 -83t-270.5 -31t-275 33.5t-240.5 93t-171.5 151t-65 199.5q0 115 69.5 245t197.5 258q169 169 341.5 236t246.5 -7q65 -64 20 -209q-4 -14 -1 -20t10 -7t14.5 0.5t13.5 3.5l6 2q139 59 246 59t153 -61q45 -63 0 -178 q-2 -13 -4.5 -20t4.5 -12.5t12 -7.5t17 -6q57 -18 103 -47t80 -81.5t34 -116.5zM1489 1046q42 -47 54.5 -108.5t-6.5 -117.5q-8 -23 -29.5 -34t-44.5 -4q-23 8 -34 29.5t-4 44.5q20 63 -24 111t-107 35q-24 -5 -45 8t-25 37q-5 24 8 44.5t37 25.5q60 13 119 -5.5t101 -65.5z M1670 1209q87 -96 112.5 -222.5t-13.5 -241.5q-9 -27 -34 -40t-52 -4t-40 34t-5 52q28 82 10 172t-80 158q-62 69 -148 95.5t-173 8.5q-28 -6 -52 9.5t-30 43.5t9.5 51.5t43.5 29.5q123 26 244 -11.5t208 -134.5z" />
|
393 |
-
<glyph unicode="" d="M1133 -34q-171 -94 -368 -94q-196 0 -367 94q138 87 235.5 211t131.5 268q35 -144 132.5 -268t235.5 -211zM638 1394v-485q0 -252 -126.5 -459.5t-330.5 -306.5q-181 215 -181 495q0 187 83.5 349.5t229.5 269.5t325 137zM1536 638q0 -280 -181 -495 q-204 99 -330.5 306.5t-126.5 459.5v485q179 -30 325 -137t229.5 -269.5t83.5 -349.5z" />
|
394 |
-
<glyph unicode="" horiz-adv-x="1408" d="M1402 433q-32 -80 -76 -138t-91 -88.5t-99 -46.5t-101.5 -14.5t-96.5 8.5t-86.5 22t-69.5 27.5t-46 22.5l-17 10q-113 -228 -289.5 -359.5t-384.5 -132.5q-19 0 -32 13t-13 32t13 31.5t32 12.5q173 1 322.5 107.5t251.5 294.5q-36 -14 -72 -23t-83 -13t-91 2.5t-93 28.5 t-92 59t-84.5 100t-74.5 146q114 47 214 57t167.5 -7.5t124.5 -56.5t88.5 -77t56.5 -82q53 131 79 291q-7 -1 -18 -2.5t-46.5 -2.5t-69.5 0.5t-81.5 10t-88.5 23t-84 42.5t-75 65t-54.5 94.5t-28.5 127.5q70 28 133.5 36.5t112.5 -1t92 -30t73.5 -50t56 -61t42 -63t27.5 -56 t16 -39.5l4 -16q12 122 12 195q-8 6 -21.5 16t-49 44.5t-63.5 71.5t-54 93t-33 112.5t12 127t70 138.5q73 -25 127.5 -61.5t84.5 -76.5t48 -85t20.5 -89t-0.5 -85.5t-13 -76.5t-19 -62t-17 -42l-7 -15q1 -5 1 -50.5t-1 -71.5q3 7 10 18.5t30.5 43t50.5 58t71 55.5t91.5 44.5 t112 14.5t132.5 -24q-2 -78 -21.5 -141.5t-50 -104.5t-69.5 -71.5t-81.5 -45.5t-84.5 -24t-80 -9.5t-67.5 1t-46.5 4.5l-17 3q-23 -147 -73 -283q6 7 18 18.5t49.5 41t77.5 52.5t99.5 42t117.5 20t129 -23.5t137 -77.5z" />
|
395 |
-
<glyph unicode="" horiz-adv-x="1280" d="M1259 283v-66q0 -85 -57.5 -144.5t-138.5 -59.5h-57l-260 -269v269h-529q-81 0 -138.5 59.5t-57.5 144.5v66h1238zM1259 609v-255h-1238v255h1238zM1259 937v-255h-1238v255h1238zM1259 1077v-67h-1238v67q0 84 57.5 143.5t138.5 59.5h846q81 0 138.5 -59.5t57.5 -143.5z " />
|
396 |
-
<glyph unicode="" d="M1152 640q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192h-352q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h352v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198 t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
397 |
-
<glyph unicode="" d="M1152 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-352v-192q0 -14 -9 -23t-23 -9q-12 0 -24 10l-319 319q-9 9 -9 23t9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h352q13 0 22.5 -9.5t9.5 -22.5zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198 t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
398 |
-
<glyph unicode="" d="M1024 960v-640q0 -26 -19 -45t-45 -19q-20 0 -37 12l-448 320q-27 19 -27 52t27 52l448 320q17 12 37 12q26 0 45 -19t19 -45zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5z M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
399 |
-
<glyph unicode="" d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5 t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
|
400 |
-
<glyph unicode="" horiz-adv-x="1664" d="M1023 349l102 -204q-58 -179 -210 -290t-339 -111q-156 0 -288.5 77.5t-210 210t-77.5 288.5q0 181 104.5 330t274.5 211l17 -131q-122 -54 -195 -165.5t-73 -244.5q0 -185 131.5 -316.5t316.5 -131.5q126 0 232.5 65t165 175.5t49.5 236.5zM1571 249l58 -114l-256 -128 q-13 -7 -29 -7q-40 0 -57 35l-239 477h-472q-24 0 -42.5 16.5t-21.5 40.5l-96 779q-2 16 6 42q14 51 57 82.5t97 31.5q66 0 113 -47t47 -113q0 -69 -52 -117.5t-120 -41.5l37 -289h423v-128h-407l16 -128h455q40 0 57 -35l228 -455z" />
|
401 |
-
<glyph unicode="" d="M1254 899q16 85 -21 132q-52 65 -187 45q-17 -3 -41 -12.5t-57.5 -30.5t-64.5 -48.5t-59.5 -70t-44.5 -91.5q80 7 113.5 -16t26.5 -99q-5 -52 -52 -143q-43 -78 -71 -99q-44 -32 -87 14q-23 24 -37.5 64.5t-19 73t-10 84t-8.5 71.5q-23 129 -34 164q-12 37 -35.5 69 t-50.5 40q-57 16 -127 -25q-54 -32 -136.5 -106t-122.5 -102v-7q16 -8 25.5 -26t21.5 -20q21 -3 54.5 8.5t58 10.5t41.5 -30q11 -18 18.5 -38.5t15 -48t12.5 -40.5q17 -46 53 -187q36 -146 57 -197q42 -99 103 -125q43 -12 85 -1.5t76 31.5q131 77 250 237 q104 139 172.5 292.5t82.5 226.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
|
402 |
-
<glyph unicode="" horiz-adv-x="1152" d="M1152 704q0 -191 -94.5 -353t-256.5 -256.5t-353 -94.5h-160q-14 0 -23 9t-9 23v611l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v93l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v250q0 14 9 23t23 9h160 q14 0 23 -9t9 -23v-181l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-93l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-487q188 13 318 151t130 328q0 14 9 23t23 9h160q14 0 23 -9t9 -23z" />
|
403 |
-
<glyph unicode="" horiz-adv-x="1408" d="M1152 736v-64q0 -14 -9 -23t-23 -9h-352v-352q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v352h-352q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h352v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-352h352q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832 q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" />
|
404 |
-
<glyph unicode="" horiz-adv-x="1792" />
|
405 |
-
<glyph unicode="" horiz-adv-x="1792" />
|
406 |
-
<glyph unicode="" horiz-adv-x="1792" />
|
407 |
-
<glyph unicode="" horiz-adv-x="1792" />
|
408 |
-
<glyph unicode="" horiz-adv-x="1792" />
|
409 |
-
<glyph unicode="" horiz-adv-x="1792" />
|
410 |
-
<glyph unicode="" horiz-adv-x="1792" />
|
411 |
-
<glyph unicode="" horiz-adv-x="1792" />
|
412 |
-
<glyph unicode="" horiz-adv-x="1792" />
|
413 |
-
</font>
|
414 |
-
</defs></svg>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
shared/assets/global/fonts/fontawesome/fontawesome-webfont.ttf~HEAD
DELETED
Binary file
|
shared/assets/global/fonts/fontawesome/fontawesome-webfont.woff~HEAD
DELETED
Binary file
|
shared/assets/{admin/images → images/admin}/inbound-now-logo.png
RENAMED
File without changes
|
shared/assets/{global/images → images/global}/leads.png
RENAMED
File without changes
|
shared/assets/{global/images → images/global}/shortcodes-blue.png
RENAMED
File without changes
|
shared/{tracking/sources → assets/includes}/Snowplow/RefererParser/Config/INBOUND_ConfigFileReaderTrait.php
RENAMED
File without changes
|
shared/{tracking/sources → assets/includes}/Snowplow/RefererParser/Config/INBOUND_ConfigReaderInterface.php
RENAMED
File without changes
|
shared/{tracking/sources → assets/includes}/Snowplow/RefererParser/Config/INBOUND_JsonConfigReader.php
RENAMED
File without changes
|
shared/{tracking/sources → assets/includes}/Snowplow/RefererParser/Exception/INBOUND_InvalidArgumentException.php
RENAMED
File without changes
|
shared/{tracking/sources → assets/includes}/Snowplow/RefererParser/INBOUND_Medium.php
RENAMED
File without changes
|
shared/{tracking/sources → assets/includes}/Snowplow/RefererParser/INBOUND_Parser.php
RENAMED
@@ -261,6 +261,6 @@ class INBOUND_Parser
|
|
261 |
private static function createDefaultConfigReader()
|
262 |
{
|
263 |
//TODO FIX WITH GLOBAL SHARED CONSTANT
|
264 |
-
return new INBOUND_JsonConfigReader(
|
265 |
}
|
266 |
}
|
261 |
private static function createDefaultConfigReader()
|
262 |
{
|
263 |
//TODO FIX WITH GLOBAL SHARED CONSTANT
|
264 |
+
return new INBOUND_JsonConfigReader( INBOUDNOW_SHARED_PATH . '/includes/referers.json');
|
265 |
}
|
266 |
}
|
shared/{tracking/sources → assets/includes}/Snowplow/RefererParser/INBOUND_Referer.php
RENAMED
File without changes
|
shared/{tracking/sources → assets/includes}/referers.json
RENAMED
File without changes
|
shared/{metaboxes/inbound-metaboxes.js → assets/index.php}
RENAMED
File without changes
|
shared/assets/{admin/js → js/admin}/image-picker.js
RENAMED
File without changes
|
shared/assets/{admin/js → js/admin}/select2.js
RENAMED
File without changes
|
shared/assets/{admin/js → js/admin}/select2.min.js
RENAMED
File without changes
|
shared/assets/{frontend/js → js/frontend}/analytics-src/analytics.events.js
RENAMED
@@ -62,12 +62,7 @@ var _inboundEvents = (function(_inbound) {
|
|
62 |
|
63 |
var is_IE_11 = !(window.ActiveXObject) && "ActiveXObject" in window;
|
64 |
|
65 |
-
if(
|
66 |
-
|
67 |
-
var TriggerEvent = document.createEvent("Event");
|
68 |
-
TriggerEvent.initEvent(eventName, true, true);
|
69 |
-
|
70 |
-
} else {
|
71 |
|
72 |
var TriggerEvent = new CustomEvent(eventName, {
|
73 |
detail: data,
|
@@ -75,7 +70,11 @@ var _inboundEvents = (function(_inbound) {
|
|
75 |
cancelable: options.cancelable
|
76 |
});
|
77 |
|
|
|
|
|
|
|
78 |
}
|
|
|
79 |
/*! 1. Trigger Pure Javascript Event See: https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events for example on creating events */
|
80 |
window.dispatchEvent(TriggerEvent);
|
81 |
/*! 2. Trigger _inbound action */
|
@@ -88,9 +87,10 @@ var _inboundEvents = (function(_inbound) {
|
|
88 |
}
|
89 |
|
90 |
function triggerJQueryEvent(eventName, data) {
|
91 |
-
if (window.
|
92 |
var data = data || {};
|
93 |
-
|
|
|
94 |
}
|
95 |
};
|
96 |
|
@@ -520,7 +520,7 @@ var _inboundEvents = (function(_inbound) {
|
|
520 |
});
|
521 |
window.dispatchEvent(error);
|
522 |
console.log('Page Save Error');
|
523 |
-
}
|
524 |
|
525 |
};
|
526 |
|
62 |
|
63 |
var is_IE_11 = !(window.ActiveXObject) && "ActiveXObject" in window;
|
64 |
|
65 |
+
if( typeof CustomEvent === 'function') {
|
|
|
|
|
|
|
|
|
|
|
66 |
|
67 |
var TriggerEvent = new CustomEvent(eventName, {
|
68 |
detail: data,
|
70 |
cancelable: options.cancelable
|
71 |
});
|
72 |
|
73 |
+
} else {
|
74 |
+
var TriggerEvent = document.createEvent("Event");
|
75 |
+
TriggerEvent.initEvent(eventName, true, true);
|
76 |
}
|
77 |
+
|
78 |
/*! 1. Trigger Pure Javascript Event See: https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events for example on creating events */
|
79 |
window.dispatchEvent(TriggerEvent);
|
80 |
/*! 2. Trigger _inbound action */
|
87 |
}
|
88 |
|
89 |
function triggerJQueryEvent(eventName, data) {
|
90 |
+
if (window.InboundQuery) {
|
91 |
var data = data || {};
|
92 |
+
/*! try catch here */
|
93 |
+
InboundQuery(document).trigger(eventName, data);
|
94 |
}
|
95 |
};
|
96 |
|
520 |
});
|
521 |
window.dispatchEvent(error);
|
522 |
console.log('Page Save Error');
|
523 |
+
}
|
524 |
|
525 |
};
|
526 |
|
shared/assets/{frontend/js → js/frontend}/analytics-src/analytics.examples.js
RENAMED
File without changes
|
shared/assets/{frontend/js → js/frontend}/analytics-src/analytics.forms.js
RENAMED
@@ -75,18 +75,19 @@ var InboundForms = (function(_inbound) {
|
|
75 |
debug: function(msg, callback) {
|
76 |
//if app not in debug mode, exit immediately
|
77 |
if (!debugMode || !console) {
|
78 |
-
return
|
79 |
-
}
|
|
|
80 |
var msg = msg || false;
|
81 |
//console.log the message
|
82 |
if (msg && (typeof msg === 'string')) {
|
83 |
-
console.log(msg)
|
84 |
-
}
|
85 |
|
86 |
//execute the callback if one was passed-in
|
87 |
if (callback && (callback instanceof Function)) {
|
88 |
callback();
|
89 |
-
}
|
90 |
},
|
91 |
formTrackInit: function() {
|
92 |
|
@@ -113,9 +114,7 @@ var InboundForms = (function(_inbound) {
|
|
113 |
} else if (ClassIs.toLowerCase().indexOf("inbound-track") > -1) {
|
114 |
return true;
|
115 |
} else {
|
116 |
-
cb = function(){
|
117 |
-
console.log(form);
|
118 |
-
}
|
119 |
_inbound.deBugger('forms', "This form not tracked. Please assign on in settings...", cb);
|
120 |
return false;
|
121 |
}
|
@@ -158,7 +157,7 @@ var InboundForms = (function(_inbound) {
|
|
158 |
_inbound.Utils.removeClass('inbound-track', selector);
|
159 |
}
|
160 |
}
|
161 |
-
}
|
162 |
},
|
163 |
/* Map field fields on load */
|
164 |
initFormMapping: function(form) {
|
@@ -172,22 +171,23 @@ var InboundForms = (function(_inbound) {
|
|
172 |
continue;
|
173 |
}
|
174 |
|
175 |
-
|
176 |
//this.ignoreFields(formInput);
|
177 |
/* Map form fields */
|
178 |
this.mapField(formInput);
|
179 |
/* Remember visible inputs */
|
180 |
this.rememberInputValues(formInput);
|
181 |
/* Fill visible inputs */
|
182 |
-
if (settings.formAutoPopulation) {
|
183 |
this.fillInputValues(formInput);
|
184 |
-
}
|
185 |
|
186 |
-
}
|
187 |
-
|
188 |
-
|
|
|
|
|
189 |
this.mapField(formInput);
|
190 |
-
}
|
191 |
|
192 |
//console.log('mapping on load completed');
|
193 |
},
|
@@ -241,8 +241,8 @@ var InboundForms = (function(_inbound) {
|
|
241 |
//console.log('label', label);
|
242 |
if (label[0].innerText.toLowerCase().indexOf(lookingFor) > -1) {
|
243 |
|
244 |
-
|
245 |
-
|
246 |
|
247 |
}
|
248 |
|
@@ -312,7 +312,7 @@ var InboundForms = (function(_inbound) {
|
|
312 |
ignoreFieldByValue: function(value){
|
313 |
var ignore_field = false;
|
314 |
|
315 |
-
if(!value){ return false }
|
316 |
|
317 |
if (value.toLowerCase() == 'visa' || value.toLowerCase() == 'mastercard' || value.toLowerCase() == 'american express' || value.toLowerCase() == 'amex' || value.toLowerCase() == 'discover') {
|
318 |
ignore_field = true;
|
@@ -340,17 +340,29 @@ var InboundForms = (function(_inbound) {
|
|
340 |
document.body.style.cursor = "default";
|
341 |
utils.removeClass('wpl-track-me', form);
|
342 |
utils.removeListener(form, 'submit', this.formListener);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
343 |
form.submit();
|
344 |
/* fallback if submit name="submit" */
|
345 |
setTimeout(function() {
|
346 |
for (var i = 0; i < form.elements.length; i++) {
|
347 |
formInput = form.elements[i];
|
348 |
type = formInput.type || false;
|
349 |
-
if (type === "submit") {
|
350 |
form.elements[i].click();
|
351 |
}
|
352 |
}
|
353 |
-
},
|
354 |
|
355 |
},
|
356 |
saveFormData: function(form) {
|
@@ -418,7 +430,7 @@ var InboundForms = (function(_inbound) {
|
|
418 |
value = (formInput.value);
|
419 |
}
|
420 |
|
421 |
-
console.log('select val', value);
|
422 |
break;
|
423 |
}
|
424 |
|
@@ -510,6 +522,9 @@ var InboundForms = (function(_inbound) {
|
|
510 |
|
511 |
fullName = (fName && lName) ? fName + " " + lName : fullName;
|
512 |
|
|
|
|
|
|
|
513 |
_inbound.deBugger('forms', "fName = " + fName);
|
514 |
_inbound.deBugger('forms', "lName = " + lName);
|
515 |
_inbound.deBugger('forms', "fullName = " + fullName);
|
@@ -537,7 +552,7 @@ var InboundForms = (function(_inbound) {
|
|
537 |
/* Filter here for raw */
|
538 |
//alert(mapped_params);
|
539 |
/**
|
540 |
-
|
541 |
var return_data = {
|
542 |
"action": 'inbound_store_lead',
|
543 |
"emailTo": data['email'],
|
@@ -551,7 +566,7 @@ var InboundForms = (function(_inbound) {
|
|
551 |
"Mapped_Data": mapped_form_data,
|
552 |
"Search_Data": data['search_data']
|
553 |
};
|
554 |
-
|
555 |
formData = {
|
556 |
'action': 'inbound_lead_store',
|
557 |
'email': email,
|
@@ -588,10 +603,8 @@ var InboundForms = (function(_inbound) {
|
|
588 |
_inbound.Forms.releaseFormSubmit(form);
|
589 |
|
590 |
}
|
591 |
-
|
592 |
-
//_inbound.Events.form_before_submission(formData);
|
593 |
_inbound.trigger('form_before_submission', formData);
|
594 |
-
//_inbound.trigger('inbound_form_before_submission', formData, true);
|
595 |
|
596 |
utils.ajaxPost(inbound_settings.admin_url, formData, callback);
|
597 |
},
|
@@ -809,7 +822,7 @@ var InboundForms = (function(_inbound) {
|
|
809 |
"facebook.com", "verizon.net", "sbcglobal.net", "att.net", "gmx.com", "mail.com", "outlook.com", "icloud.com"
|
810 |
],
|
811 |
|
812 |
-
defaultTopLevelDomains: ["co.jp", "co.uk", "com", "net", "org", "info", "edu", "gov", "mil", "ca"],
|
813 |
|
814 |
run: function(opts) {
|
815 |
opts.domains = opts.domains || Mailcheck.defaultDomains;
|
@@ -817,14 +830,14 @@ var InboundForms = (function(_inbound) {
|
|
817 |
opts.distanceFunction = opts.distanceFunction || Mailcheck.sift3Distance;
|
818 |
|
819 |
var defaultCallback = function(result) {
|
820 |
-
return result
|
821 |
};
|
822 |
var suggestedCallback = opts.suggested || defaultCallback;
|
823 |
var emptyCallback = opts.empty || defaultCallback;
|
824 |
|
825 |
var result = Mailcheck.suggest(Mailcheck.encodeEmail(opts.email), opts.domains, opts.topLevelDomains, opts.distanceFunction);
|
826 |
|
827 |
-
return result ? suggestedCallback(result) : emptyCallback()
|
828 |
},
|
829 |
|
830 |
suggest: function(email, domains, topLevelDomains, distanceFunction) {
|
@@ -897,15 +910,15 @@ var InboundForms = (function(_inbound) {
|
|
897 |
|
898 |
sift3Distance: function(s1, s2) {
|
899 |
// sift3: http://siderite.blogspot.com/2007/04/super-fast-and-accurate-string-distance.html
|
900 |
-
if (s1
|
901 |
-
if (s2
|
902 |
return 0;
|
903 |
} else {
|
904 |
return s2.length;
|
905 |
}
|
906 |
}
|
907 |
|
908 |
-
if (s2
|
909 |
return s1.length;
|
910 |
}
|
911 |
|
@@ -954,7 +967,7 @@ var InboundForms = (function(_inbound) {
|
|
954 |
var domainParts = domain.split(".");
|
955 |
var tld = "";
|
956 |
|
957 |
-
if (domainParts.length
|
958 |
// The address does not have a top-level domain
|
959 |
return false;
|
960 |
} else if (domainParts.length == 1) {
|
@@ -974,7 +987,7 @@ var InboundForms = (function(_inbound) {
|
|
974 |
topLevelDomain: tld,
|
975 |
domain: domain,
|
976 |
address: parts.join("@")
|
977 |
-
}
|
978 |
},
|
979 |
|
980 |
// Encode the email address to prevent XSS but leave in valid
|
@@ -987,7 +1000,7 @@ var InboundForms = (function(_inbound) {
|
|
987 |
.replace("%7D", "}");
|
988 |
return result;
|
989 |
}
|
990 |
-
}
|
991 |
} // End Mailcheck
|
992 |
|
993 |
|
75 |
debug: function(msg, callback) {
|
76 |
//if app not in debug mode, exit immediately
|
77 |
if (!debugMode || !console) {
|
78 |
+
return;
|
79 |
+
}
|
80 |
+
|
81 |
var msg = msg || false;
|
82 |
//console.log the message
|
83 |
if (msg && (typeof msg === 'string')) {
|
84 |
+
console.log(msg);
|
85 |
+
}
|
86 |
|
87 |
//execute the callback if one was passed-in
|
88 |
if (callback && (callback instanceof Function)) {
|
89 |
callback();
|
90 |
+
}
|
91 |
},
|
92 |
formTrackInit: function() {
|
93 |
|
114 |
} else if (ClassIs.toLowerCase().indexOf("inbound-track") > -1) {
|
115 |
return true;
|
116 |
} else {
|
117 |
+
cb = function() { console.log(form); };
|
|
|
|
|
118 |
_inbound.deBugger('forms', "This form not tracked. Please assign on in settings...", cb);
|
119 |
return false;
|
120 |
}
|
157 |
_inbound.Utils.removeClass('inbound-track', selector);
|
158 |
}
|
159 |
}
|
160 |
+
}
|
161 |
},
|
162 |
/* Map field fields on load */
|
163 |
initFormMapping: function(form) {
|
171 |
continue;
|
172 |
}
|
173 |
|
|
|
174 |
//this.ignoreFields(formInput);
|
175 |
/* Map form fields */
|
176 |
this.mapField(formInput);
|
177 |
/* Remember visible inputs */
|
178 |
this.rememberInputValues(formInput);
|
179 |
/* Fill visible inputs */
|
180 |
+
if (settings.formAutoPopulation && !_inbound.Utils.hasClass( "nopopulate", form ) ) {
|
181 |
this.fillInputValues(formInput);
|
182 |
+
}
|
183 |
|
184 |
+
}
|
185 |
+
|
186 |
+
/* loop hidden inputs */
|
187 |
+
for (var n = hiddenInputs.length - 1; n >= 0; n--) {
|
188 |
+
formInput = hiddenInputs[n];
|
189 |
this.mapField(formInput);
|
190 |
+
}
|
191 |
|
192 |
//console.log('mapping on load completed');
|
193 |
},
|
241 |
//console.log('label', label);
|
242 |
if (label[0].innerText.toLowerCase().indexOf(lookingFor) > -1) {
|
243 |
|
244 |
+
found = true;
|
245 |
+
_inbound.deBugger('forms', 'Found matching sibling label for -> ' + lookingFor);
|
246 |
|
247 |
}
|
248 |
|
312 |
ignoreFieldByValue: function(value){
|
313 |
var ignore_field = false;
|
314 |
|
315 |
+
if(!value){ return false; }
|
316 |
|
317 |
if (value.toLowerCase() == 'visa' || value.toLowerCase() == 'mastercard' || value.toLowerCase() == 'american express' || value.toLowerCase() == 'amex' || value.toLowerCase() == 'discover') {
|
318 |
ignore_field = true;
|
340 |
document.body.style.cursor = "default";
|
341 |
utils.removeClass('wpl-track-me', form);
|
342 |
utils.removeListener(form, 'submit', this.formListener);
|
343 |
+
var formClass = form.getAttribute('class');
|
344 |
+
if (formClass !== "" && formClass !== null) {
|
345 |
+
/* If contact form 7 do this */
|
346 |
+
if (formClass.toLowerCase().indexOf("wpcf7-form") != -1) {
|
347 |
+
//alert('release')
|
348 |
+
setTimeout(function() {
|
349 |
+
document.body.style.cursor = "default";
|
350 |
+
}, 300);
|
351 |
+
return true;
|
352 |
+
}
|
353 |
+
}
|
354 |
+
|
355 |
form.submit();
|
356 |
/* fallback if submit name="submit" */
|
357 |
setTimeout(function() {
|
358 |
for (var i = 0; i < form.elements.length; i++) {
|
359 |
formInput = form.elements[i];
|
360 |
type = formInput.type || false;
|
361 |
+
if (type === "submit" && formInput.name === "submit") {
|
362 |
form.elements[i].click();
|
363 |
}
|
364 |
}
|
365 |
+
}, 2000);
|
366 |
|
367 |
},
|
368 |
saveFormData: function(form) {
|
430 |
value = (formInput.value);
|
431 |
}
|
432 |
|
433 |
+
//console.log('select val', value);
|
434 |
break;
|
435 |
}
|
436 |
|
522 |
|
523 |
fullName = (fName && lName) ? fName + " " + lName : fullName;
|
524 |
|
525 |
+
if(!fName) { fName = ""; }
|
526 |
+
if(!lName) { lName = ""; }
|
527 |
+
|
528 |
_inbound.deBugger('forms', "fName = " + fName);
|
529 |
_inbound.deBugger('forms', "lName = " + lName);
|
530 |
_inbound.deBugger('forms', "fullName = " + fullName);
|
552 |
/* Filter here for raw */
|
553 |
//alert(mapped_params);
|
554 |
/**
|
555 |
+
* Old data model
|
556 |
var return_data = {
|
557 |
"action": 'inbound_store_lead',
|
558 |
"emailTo": data['email'],
|
566 |
"Mapped_Data": mapped_form_data,
|
567 |
"Search_Data": data['search_data']
|
568 |
};
|
569 |
+
*/
|
570 |
formData = {
|
571 |
'action': 'inbound_lead_store',
|
572 |
'email': email,
|
603 |
_inbound.Forms.releaseFormSubmit(form);
|
604 |
|
605 |
}
|
606 |
+
|
|
|
607 |
_inbound.trigger('form_before_submission', formData);
|
|
|
608 |
|
609 |
utils.ajaxPost(inbound_settings.admin_url, formData, callback);
|
610 |
},
|
822 |
"facebook.com", "verizon.net", "sbcglobal.net", "att.net", "gmx.com", "mail.com", "outlook.com", "icloud.com"
|
823 |
],
|
824 |
|
825 |
+
defaultTopLevelDomains: ["co.jp", "co.uk", "com", "net", "org", "info", "edu", "gov", "mil", "ca", "de"],
|
826 |
|
827 |
run: function(opts) {
|
828 |
opts.domains = opts.domains || Mailcheck.defaultDomains;
|
830 |
opts.distanceFunction = opts.distanceFunction || Mailcheck.sift3Distance;
|
831 |
|
832 |
var defaultCallback = function(result) {
|
833 |
+
return result;
|
834 |
};
|
835 |
var suggestedCallback = opts.suggested || defaultCallback;
|
836 |
var emptyCallback = opts.empty || defaultCallback;
|
837 |
|
838 |
var result = Mailcheck.suggest(Mailcheck.encodeEmail(opts.email), opts.domains, opts.topLevelDomains, opts.distanceFunction);
|
839 |
|
840 |
+
return result ? suggestedCallback(result) : emptyCallback();
|
841 |
},
|
842 |
|
843 |
suggest: function(email, domains, topLevelDomains, distanceFunction) {
|
910 |
|
911 |
sift3Distance: function(s1, s2) {
|
912 |
// sift3: http://siderite.blogspot.com/2007/04/super-fast-and-accurate-string-distance.html
|
913 |
+
if (s1 === null || s1.length === 0) {
|
914 |
+
if (s2 === null || s2.length === 0) {
|
915 |
return 0;
|
916 |
} else {
|
917 |
return s2.length;
|
918 |
}
|
919 |
}
|
920 |
|
921 |
+
if (s2 === null || s2.length === 0) {
|
922 |
return s1.length;
|
923 |
}
|
924 |
|
967 |
var domainParts = domain.split(".");
|
968 |
var tld = "";
|
969 |
|
970 |
+
if (domainParts.length === 0) {
|
971 |
// The address does not have a top-level domain
|
972 |
return false;
|
973 |
} else if (domainParts.length == 1) {
|
987 |
topLevelDomain: tld,
|
988 |
domain: domain,
|
989 |
address: parts.join("@")
|
990 |
+
};
|
991 |
},
|
992 |
|
993 |
// Encode the email address to prevent XSS but leave in valid
|
1000 |
.replace("%7D", "}");
|
1001 |
return result;
|
1002 |
}
|
1003 |
+
};
|
1004 |
} // End Mailcheck
|
1005 |
|
1006 |
|
shared/assets/{frontend/js → js/frontend}/analytics-src/analytics.hooks.js
RENAMED
File without changes
|
shared/assets/{frontend/js → js/frontend}/analytics-src/analytics.init.js
RENAMED
@@ -44,7 +44,6 @@ var _inbound = (function(options) {
|
|
44 |
_inbound.Forms.init();
|
45 |
}, 2000);
|
46 |
|
47 |
-
|
48 |
_inbound.trigger('analytics_ready');
|
49 |
|
50 |
},
|
44 |
_inbound.Forms.init();
|
45 |
}, 2000);
|
46 |
|
|
|
47 |
_inbound.trigger('analytics_ready');
|
48 |
|
49 |
},
|
shared/assets/{frontend/js → js/frontend}/analytics-src/analytics.lead.js
RENAMED
@@ -33,7 +33,7 @@ var _inboundLeadsAPI = (function(_inbound) {
|
|
33 |
leadDataExpire = _inbound.Utils.readCookie("lead_data_expire");
|
34 |
data = {
|
35 |
action: 'inbound_get_all_lead_data',
|
36 |
-
wp_lead_id: wp_lead_id
|
37 |
},
|
38 |
success = function(returnData) {
|
39 |
var leadData = JSON.parse(returnData);
|
@@ -70,7 +70,7 @@ var _inboundLeadsAPI = (function(_inbound) {
|
|
70 |
var wp_lead_id = _inbound.Utils.readCookie("wp_lead_id");
|
71 |
var data = {
|
72 |
action: 'wpl_check_lists',
|
73 |
-
wp_lead_id: wp_lead_id
|
74 |
};
|
75 |
var success = function(user_id) {
|
76 |
_inbound.Utils.createCookie("lead_session_list_check", true, {
|
33 |
leadDataExpire = _inbound.Utils.readCookie("lead_data_expire");
|
34 |
data = {
|
35 |
action: 'inbound_get_all_lead_data',
|
36 |
+
wp_lead_id: wp_lead_id
|
37 |
},
|
38 |
success = function(returnData) {
|
39 |
var leadData = JSON.parse(returnData);
|
70 |
var wp_lead_id = _inbound.Utils.readCookie("wp_lead_id");
|
71 |
var data = {
|
72 |
action: 'wpl_check_lists',
|
73 |
+
wp_lead_id: wp_lead_id
|
74 |
};
|
75 |
var success = function(user_id) {
|
76 |
_inbound.Utils.createCookie("lead_session_list_check", true, {
|
shared/assets/{frontend/js → js/frontend}/analytics-src/analytics.page.js
RENAMED
@@ -21,8 +21,9 @@ var _inboundPageTracking = (function(_inbound) {
|
|
21 |
reportInterval,
|
22 |
idleTimeout,
|
23 |
utils = _inbound.Utils,
|
24 |
-
Pages = _inbound.totalStorage('page_views') || {},
|
25 |
timeNow = _inbound.Utils.GetDate(),
|
|
|
|
|
26 |
/*!
|
27 |
Todo: Use UTC offset
|
28 |
var x = new Date();
|
@@ -35,7 +36,10 @@ var _inboundPageTracking = (function(_inbound) {
|
|
35 |
_inbound.PageTracking = {
|
36 |
|
37 |
init: function(options) {
|
38 |
-
|
|
|
|
|
|
|
39 |
this.CheckTimeOut();
|
40 |
// Set up options and defaults
|
41 |
options = options || {};
|
@@ -250,7 +254,7 @@ var _inboundPageTracking = (function(_inbound) {
|
|
250 |
getPageViews: function() {
|
251 |
var local_store = _inbound.Utils.checkLocalStorage();
|
252 |
if (local_store) {
|
253 |
-
var page_views = localStorage.getItem(
|
254 |
local_object = JSON.parse(page_views);
|
255 |
if (typeof local_object == 'object' && local_object) {
|
256 |
//this.triggerPageView();
|
@@ -291,7 +295,7 @@ var _inboundPageTracking = (function(_inbound) {
|
|
291 |
|
292 |
_inbound.trigger('page_visit', pageData);
|
293 |
|
294 |
-
_inbound.totalStorage(
|
295 |
|
296 |
this.storePageView();
|
297 |
|
21 |
reportInterval,
|
22 |
idleTimeout,
|
23 |
utils = _inbound.Utils,
|
|
|
24 |
timeNow = _inbound.Utils.GetDate(),
|
25 |
+
lsType = (typeof wp !== "undefined") ? 'admin_page_views' : 'page_views',
|
26 |
+
Pages = _inbound.totalStorage(lsType) || {},
|
27 |
/*!
|
28 |
Todo: Use UTC offset
|
29 |
var x = new Date();
|
36 |
_inbound.PageTracking = {
|
37 |
|
38 |
init: function(options) {
|
39 |
+
//console.log('type', lsType);
|
40 |
+
if(lsType !== 'page_views') {
|
41 |
+
return false; // in admin
|
42 |
+
}
|
43 |
this.CheckTimeOut();
|
44 |
// Set up options and defaults
|
45 |
options = options || {};
|
254 |
getPageViews: function() {
|
255 |
var local_store = _inbound.Utils.checkLocalStorage();
|
256 |
if (local_store) {
|
257 |
+
var page_views = localStorage.getItem(lsType),
|
258 |
local_object = JSON.parse(page_views);
|
259 |
if (typeof local_object == 'object' && local_object) {
|
260 |
//this.triggerPageView();
|
295 |
|
296 |
_inbound.trigger('page_visit', pageData);
|
297 |
|
298 |
+
_inbound.totalStorage(lsType, Pages);
|
299 |
|
300 |
this.storePageView();
|
301 |
|
shared/assets/{frontend/js → js/frontend}/analytics-src/analytics.start.js
RENAMED
File without changes
|
shared/assets/{frontend/js → js/frontend}/analytics-src/analytics.storage.js
RENAMED
File without changes
|
shared/assets/{frontend/js → js/frontend}/analytics-src/analytics.utils.js
RENAMED
@@ -6,9 +6,22 @@
|
|
6 |
* @author David Wells <david@inboundnow.com>
|
7 |
* @version 0.0.1
|
8 |
*/
|
|
|
9 |
var _inboundUtils = (function(_inbound) {
|
10 |
|
11 |
-
var storageSupported
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
|
13 |
_inbound.Utils = {
|
14 |
init: function() {
|
@@ -54,95 +67,122 @@ var _inboundUtils = (function(_inbound) {
|
|
54 |
|
55 |
window.CustomEvent = CustomEvent;
|
56 |
})();*/
|
57 |
-
/* custom event for ie8+ https://gist.github.com/WebReflection/6693661 */
|
58 |
-
try{new CustomEvent('?');}catch(o_O){
|
59 |
-
/*!(C) Andrea Giammarchi -- WTFPL License*/
|
60 |
-
this.CustomEvent = function(
|
61 |
-
eventName,
|
62 |
-
defaultInitDict
|
63 |
-
){
|
64 |
-
|
65 |
-
// the infamous substitute
|
66 |
-
function CustomEvent(type, eventInitDict) {
|
67 |
-
var event = document.createEvent(eventName);
|
68 |
-
if (type !== null) {
|
69 |
-
initCustomEvent.call(
|
70 |
-
event,
|
71 |
-
type,
|
72 |
-
(eventInitDict || (
|
73 |
-
// if falsy we can just use defaults
|
74 |
-
eventInitDict = defaultInitDict
|
75 |
-
)).bubbles,
|
76 |
-
eventInitDict.cancelable,
|
77 |
-
eventInitDict.detail
|
78 |
-
);
|
79 |
-
} else {
|
80 |
-
// no need to put the expando property otherwise
|
81 |
-
// since an event cannot be initialized twice
|
82 |
-
// previous case is the most common one anyway
|
83 |
-
// but if we end up here ... there it goes
|
84 |
-
event.initCustomEvent = initCustomEvent;
|
85 |
-
}
|
86 |
-
return event;
|
87 |
-
}
|
88 |
|
89 |
-
|
90 |
-
|
91 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
92 |
) {
|
93 |
-
this['init' + eventName](type, bubbles, cancelable, detail);
|
94 |
-
'detail' in this || (this.detail = detail);
|
95 |
-
}
|
96 |
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
113 |
}
|
114 |
/* querySelectorAll polyfill for ie7+ */
|
115 |
if (!document.querySelectorAll) {
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
|
|
|
|
133 |
}
|
134 |
|
135 |
if (!document.querySelector) {
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
}
|
141 |
/* Innertext shim for firefox https://github.com/duckinator/innerText-polyfill/blob/master/innertext.js */
|
142 |
-
if (
|
143 |
HTMLElement.prototype.__defineGetter__("innerText", function() {
|
144 |
var selection = window.getSelection(),
|
145 |
-
ranges
|
146 |
str;
|
147 |
|
148 |
// Save existing selections.
|
@@ -179,7 +219,7 @@ var _inboundUtils = (function(_inbound) {
|
|
179 |
*
|
180 |
* ```js
|
181 |
* // Creates cookie for 10 days
|
182 |
-
* _inbound.
|
183 |
* ```
|
184 |
*
|
185 |
* @param {string} name Name of cookie
|
@@ -199,7 +239,7 @@ var _inboundUtils = (function(_inbound) {
|
|
199 |
* Read cookie value
|
200 |
*
|
201 |
* ```js
|
202 |
-
* var cookie = _inbound.
|
203 |
* console.log(cookie); // cookie value
|
204 |
* ```
|
205 |
* @param {string} name name of cookie
|
@@ -224,7 +264,7 @@ var _inboundUtils = (function(_inbound) {
|
|
224 |
*
|
225 |
* ```js
|
226 |
* // usage:
|
227 |
-
* _inbound.
|
228 |
* // deletes 'cookie_name' value
|
229 |
* ```
|
230 |
* @param {string} name name of cookie
|
@@ -296,7 +336,10 @@ var _inboundUtils = (function(_inbound) {
|
|
296 |
_inbound.totalStorage('inbound_url_params', params); // store cookie data
|
297 |
}
|
298 |
|
299 |
-
var options = {
|
|
|
|
|
|
|
300 |
|
301 |
_inbound.trigger('url_parameters', urlParams, options);
|
302 |
|
@@ -310,7 +353,7 @@ var _inboundUtils = (function(_inbound) {
|
|
310 |
},
|
311 |
/* Get url param */
|
312 |
getParameterVal: function(name, string) {
|
313 |
-
return (RegExp(name + '=' + '(.+?)(&|$)').exec(string)||[,false])[1];
|
314 |
},
|
315 |
// Check local storage
|
316 |
// provate browsing safari fix https://github.com/marcuswestin/store.js/issues/42#issuecomment-25274685
|
@@ -343,6 +386,32 @@ var _inboundUtils = (function(_inbound) {
|
|
343 |
};
|
344 |
*/
|
345 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
346 |
/* Add days to datetime */
|
347 |
addDays: function(myDate, days) {
|
348 |
return new Date(myDate.getTime() + days * 24 * 60 * 60 * 1000);
|
@@ -361,7 +430,7 @@ var _inboundUtils = (function(_inbound) {
|
|
361 |
m = timeNow.getMonth() + 1,
|
362 |
mPre = (m < 10) ? "0" : "";
|
363 |
|
364 |
-
var datetime = y + '/' + mPre+m + "/" + dPre+d + " " + hPre+h + ":" + minPre+min + ":" + secPre+sec;
|
365 |
/* format 2014/11/13 18:22:02 */
|
366 |
return datetime;
|
367 |
},
|
@@ -377,20 +446,20 @@ var _inboundUtils = (function(_inbound) {
|
|
377 |
var d = new Date();
|
378 |
d.setTime(d.getTime() + 30 * 60 * 1000);
|
379 |
|
380 |
-
this.createCookie("lead_session_expire", true, d
|
381 |
|
382 |
},
|
383 |
storeReferralData: function() {
|
384 |
//console.log(expire_time);
|
385 |
var d = new Date(),
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
|
390 |
d.setTime(d.getTime() + 30 * 60 * 1000);
|
391 |
|
392 |
if (!referrer_cookie) {
|
393 |
-
this.createCookie("inbound_referral_site", referrer, d
|
394 |
}
|
395 |
if (!original_src) {
|
396 |
_inbound.totalStorage('inbound_original_referral', original_src);
|
@@ -407,6 +476,9 @@ var _inboundUtils = (function(_inbound) {
|
|
407 |
}
|
408 |
return str;
|
409 |
},
|
|
|
|
|
|
|
410 |
SetUID: function(leadUID) {
|
411 |
/* Set Lead UID */
|
412 |
if (!this.readCookie("wp_lead_uid")) {
|
@@ -418,8 +490,9 @@ var _inboundUtils = (function(_inbound) {
|
|
418 |
countProperties: function(obj) {
|
419 |
var count = 0;
|
420 |
for (var prop in obj) {
|
421 |
-
if (obj.hasOwnProperty(prop))
|
422 |
++count;
|
|
|
423 |
}
|
424 |
return count;
|
425 |
},
|
@@ -434,7 +507,7 @@ var _inboundUtils = (function(_inbound) {
|
|
434 |
return obj3;
|
435 |
},
|
436 |
hasClass: function(className, el) {
|
437 |
-
var hasClass
|
438 |
if ('classList' in document.documentElement) {
|
439 |
var hasClass = el.classList.contains(className);
|
440 |
} else {
|
@@ -442,27 +515,26 @@ var _inboundUtils = (function(_inbound) {
|
|
442 |
}
|
443 |
return hasClass;
|
444 |
},
|
445 |
-
addClass: function(className,
|
446 |
if ('classList' in document.documentElement) {
|
447 |
-
|
448 |
} else {
|
449 |
-
if (!this.hasClass(
|
450 |
-
|
451 |
}
|
452 |
}
|
453 |
},
|
454 |
-
removeClass: function(className,
|
455 |
if ('classList' in document.documentElement) {
|
456 |
-
|
457 |
-
elem.classList.remove(className);
|
458 |
} else {
|
459 |
-
if (this.hasClass(
|
460 |
-
|
461 |
}
|
462 |
}
|
463 |
},
|
464 |
-
removeElement: function
|
465 |
-
|
466 |
},
|
467 |
trim: function(s) {
|
468 |
s = s.replace(/(^\s*)|(\s*$)/gi, "");
|
@@ -493,16 +565,19 @@ var _inboundUtils = (function(_inbound) {
|
|
493 |
},
|
494 |
ajaxSendData: function(url, callback, method, data, sync) {
|
495 |
var x = this.ajaxPolyFill();
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
500 |
}
|
501 |
-
|
502 |
-
|
503 |
-
x.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
|
504 |
-
}
|
505 |
-
x.send(data);
|
506 |
},
|
507 |
ajaxGet: function(url, data, callback, sync) {
|
508 |
var query = [];
|
@@ -518,26 +593,47 @@ var _inboundUtils = (function(_inbound) {
|
|
518 |
}
|
519 |
this.ajaxSendData(url, callback, 'POST', query.join('&'), sync)
|
520 |
},
|
521 |
-
|
522 |
-
|
523 |
-
|
524 |
-
|
525 |
-
|
526 |
-
|
527 |
-
|
528 |
-
|
529 |
-
|
530 |
-
|
|
|
|
|
|
|
531 |
}
|
532 |
}
|
533 |
-
|
534 |
-
|
535 |
-
|
536 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
537 |
}
|
538 |
-
|
539 |
-
httpRequest.open('GET', url);
|
540 |
-
httpRequest.send(data);
|
541 |
},
|
542 |
domReady: function(win, fn) {
|
543 |
|
@@ -567,8 +663,11 @@ var _inboundUtils = (function(_inbound) {
|
|
567 |
init('poll');
|
568 |
};
|
569 |
|
570 |
-
if (doc.readyState == 'complete')
|
571 |
-
|
|
|
|
|
|
|
572 |
if (doc.createEventObject && root.doScroll) {
|
573 |
try {
|
574 |
top = !win.frameElement;
|
@@ -583,7 +682,7 @@ var _inboundUtils = (function(_inbound) {
|
|
583 |
},
|
584 |
/* Cross-browser event listening */
|
585 |
addListener: function(element, eventName, listener) {
|
586 |
-
if(!element){
|
587 |
return;
|
588 |
}
|
589 |
//console.log(eventName);
|
@@ -613,52 +712,52 @@ var _inboundUtils = (function(_inbound) {
|
|
613 |
* (c) 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
614 |
* Underscore may be freely distributed under the MIT license.
|
615 |
*/
|
616 |
-
throttle: function
|
617 |
-
|
618 |
-
|
619 |
-
|
620 |
-
|
621 |
-
|
622 |
-
|
623 |
-
|
624 |
-
|
625 |
-
|
626 |
-
|
627 |
-
|
628 |
-
|
629 |
-
|
630 |
-
|
631 |
-
|
632 |
-
|
633 |
-
|
634 |
-
|
635 |
-
|
636 |
-
|
637 |
-
|
638 |
-
|
639 |
-
|
640 |
-
|
641 |
},
|
642 |
/*
|
643 |
* Determine which version of GA is being used
|
644 |
* "ga", "_gaq", and "dataLayer" are the possible globals
|
645 |
*/
|
646 |
checkTypeofGA: function() {
|
647 |
-
|
648 |
-
|
649 |
-
|
650 |
|
651 |
-
|
652 |
-
|
653 |
-
|
654 |
|
655 |
-
|
656 |
-
|
657 |
-
|
658 |
|
659 |
}
|
660 |
};
|
661 |
|
662 |
return _inbound;
|
663 |
|
664 |
-
})(_inbound || {});
|
6 |
* @author David Wells <david@inboundnow.com>
|
7 |
* @version 0.0.1
|
8 |
*/
|
9 |
+
|
10 |
var _inboundUtils = (function(_inbound) {
|
11 |
|
12 |
+
var storageSupported,
|
13 |
+
corsEnabled = window.XMLHttpRequest && 'withCredentials' in new XMLHttpRequest(),
|
14 |
+
toString = Object.prototype.toString,
|
15 |
+
currentPage = ('https:' == location.protocol ? 'https://' : 'http://') + location.hostname + location.pathname.replace(/\/$/, "");
|
16 |
+
|
17 |
+
var settings = {
|
18 |
+
api_host: currentPage,
|
19 |
+
track_pageview: true,
|
20 |
+
track_links_timeout: 300,
|
21 |
+
cookie_name: '_sp',
|
22 |
+
cookie_expiration: 365,
|
23 |
+
cookie_domain: (host = location.hostname.match(/[a-z0-9][a-z0-9\-]+\.[a-z\.]{2,6}$/i)) ? host[0] : ''
|
24 |
+
};
|
25 |
|
26 |
_inbound.Utils = {
|
27 |
init: function() {
|
67 |
|
68 |
window.CustomEvent = CustomEvent;
|
69 |
})();*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
|
71 |
+
/*\
|
72 |
+
|*| Polyfill Date.toISOString
|
73 |
+
\*/
|
74 |
+
if (!Date.prototype.toISOString) {
|
75 |
+
(function() {
|
76 |
+
/**
|
77 |
+
* @param {number} text
|
78 |
+
* @returns {?}
|
79 |
+
*/
|
80 |
+
function pad(text) {
|
81 |
+
/** @type {string} */
|
82 |
+
var code = String(text);
|
83 |
+
return 1 === code.length && (code = '0' + code), code;
|
84 |
+
}
|
85 |
+
/**
|
86 |
+
* @returns {string}
|
87 |
+
*/
|
88 |
+
Date.prototype.toISOString = function() {
|
89 |
+
return this.getUTCFullYear() + '-' + pad(this.getUTCMonth() + 1) + '-' + pad(this.getUTCDate()) + 'T' + pad(this.getUTCHours()) + ':' + pad(this.getUTCMinutes()) + ':' + pad(this.getUTCSeconds()) + '.' + String((this.getUTCMilliseconds() / 1E3).toFixed(3)).slice(2, 5) + 'Z';
|
90 |
+
};
|
91 |
+
})();
|
92 |
+
}
|
93 |
+
|
94 |
+
/* custom event for ie8+ https://gist.github.com/WebReflection/6693661 */
|
95 |
+
try {
|
96 |
+
new CustomEvent('?');
|
97 |
+
} catch (o_O) {
|
98 |
+
/*!(C) Andrea Giammarchi -- WTFPL License*/
|
99 |
+
this.CustomEvent = function(
|
100 |
+
eventName,
|
101 |
+
defaultInitDict
|
102 |
) {
|
|
|
|
|
|
|
103 |
|
104 |
+
// the infamous substitute
|
105 |
+
function CustomEvent(type, eventInitDict) {
|
106 |
+
var event = document.createEvent(eventName);
|
107 |
+
if (type !== null) {
|
108 |
+
initCustomEvent.call(
|
109 |
+
event,
|
110 |
+
type, (eventInitDict || (
|
111 |
+
// if falsy we can just use defaults
|
112 |
+
eventInitDict = defaultInitDict
|
113 |
+
)).bubbles,
|
114 |
+
eventInitDict.cancelable,
|
115 |
+
eventInitDict.detail
|
116 |
+
);
|
117 |
+
} else {
|
118 |
+
// no need to put the expando property otherwise
|
119 |
+
// since an event cannot be initialized twice
|
120 |
+
// previous case is the most common one anyway
|
121 |
+
// but if we end up here ... there it goes
|
122 |
+
event.initCustomEvent = initCustomEvent;
|
123 |
+
}
|
124 |
+
return event;
|
125 |
+
}
|
126 |
+
|
127 |
+
// borrowed or attached at runtime
|
128 |
+
function initCustomEvent(
|
129 |
+
type, bubbles, cancelable, detail
|
130 |
+
) {
|
131 |
+
this['init' + eventName](type, bubbles, cancelable, detail);
|
132 |
+
'detail' in this || (this.detail = detail);
|
133 |
+
}
|
134 |
+
|
135 |
+
// that's it
|
136 |
+
return CustomEvent;
|
137 |
+
}(
|
138 |
+
// is this IE9 or IE10 ?
|
139 |
+
// where CustomEvent is there
|
140 |
+
// but not usable as construtor ?
|
141 |
+
this.CustomEvent ?
|
142 |
+
// use the CustomEvent interface in such case
|
143 |
+
'CustomEvent' : 'Event',
|
144 |
+
// otherwise the common compatible one
|
145 |
+
{
|
146 |
+
bubbles: false,
|
147 |
+
cancelable: false,
|
148 |
+
detail: null
|
149 |
+
}
|
150 |
+
);
|
151 |
}
|
152 |
/* querySelectorAll polyfill for ie7+ */
|
153 |
if (!document.querySelectorAll) {
|
154 |
+
document.querySelectorAll = function(selectors) {
|
155 |
+
var style = document.createElement('style'),
|
156 |
+
elements = [],
|
157 |
+
element;
|
158 |
+
document.documentElement.firstChild.appendChild(style);
|
159 |
+
document._qsa = [];
|
160 |
+
|
161 |
+
style.styleSheet.cssText = selectors + '{x-qsa:expression(document._qsa && document._qsa.push(this))}';
|
162 |
+
window.scrollBy(0, 0);
|
163 |
+
style.parentNode.removeChild(style);
|
164 |
+
|
165 |
+
while (document._qsa.length) {
|
166 |
+
element = document._qsa.shift();
|
167 |
+
element.style.removeAttribute('x-qsa');
|
168 |
+
elements.push(element);
|
169 |
+
}
|
170 |
+
document._qsa = null;
|
171 |
+
return elements;
|
172 |
+
};
|
173 |
}
|
174 |
|
175 |
if (!document.querySelector) {
|
176 |
+
document.querySelector = function(selectors) {
|
177 |
+
var elements = document.querySelectorAll(selectors);
|
178 |
+
return (elements.length) ? elements[0] : null;
|
179 |
+
};
|
180 |
}
|
181 |
/* Innertext shim for firefox https://github.com/duckinator/innerText-polyfill/blob/master/innertext.js */
|
182 |
+
if ((!('innerText' in document.createElement('a'))) && ('getSelection' in window)) {
|
183 |
HTMLElement.prototype.__defineGetter__("innerText", function() {
|
184 |
var selection = window.getSelection(),
|
185 |
+
ranges = [],
|
186 |
str;
|
187 |
|
188 |
// Save existing selections.
|
219 |
*
|
220 |
* ```js
|
221 |
* // Creates cookie for 10 days
|
222 |
+
* _inbound.Utils.createCookie( 'cookie_name', 'value', 10 );
|
223 |
* ```
|
224 |
*
|
225 |
* @param {string} name Name of cookie
|
239 |
* Read cookie value
|
240 |
*
|
241 |
* ```js
|
242 |
+
* var cookie = _inbound.Utils.readCookie( 'cookie_name' );
|
243 |
* console.log(cookie); // cookie value
|
244 |
* ```
|
245 |
* @param {string} name name of cookie
|
264 |
*
|
265 |
* ```js
|
266 |
* // usage:
|
267 |
+
* _inbound.Utils.eraseCookie( 'cookie_name' );
|
268 |
* // deletes 'cookie_name' value
|
269 |
* ```
|
270 |
* @param {string} name name of cookie
|
336 |
_inbound.totalStorage('inbound_url_params', params); // store cookie data
|
337 |
}
|
338 |
|
339 |
+
var options = {
|
340 |
+
'option1': 'yo',
|
341 |
+
'option2': 'woooo'
|
342 |
+
};
|
343 |
|
344 |
_inbound.trigger('url_parameters', urlParams, options);
|
345 |
|
353 |
},
|
354 |
/* Get url param */
|
355 |
getParameterVal: function(name, string) {
|
356 |
+
return (RegExp(name + '=' + '(.+?)(&|$)').exec(string) || [, false])[1];
|
357 |
},
|
358 |
// Check local storage
|
359 |
// provate browsing safari fix https://github.com/marcuswestin/store.js/issues/42#issuecomment-25274685
|
386 |
};
|
387 |
*/
|
388 |
},
|
389 |
+
// http://stackoverflow.com/questions/4391575/how-to-find-the-size-of-localstorage
|
390 |
+
showLocalStorageSize: function() {
|
391 |
+
function stringSizeBytes(str) {
|
392 |
+
return str.length * 2;
|
393 |
+
}
|
394 |
+
|
395 |
+
function toMB(bytes) {
|
396 |
+
return bytes / 1024 / 1024;
|
397 |
+
}
|
398 |
+
|
399 |
+
function toSize(key) {
|
400 |
+
return {
|
401 |
+
name: key,
|
402 |
+
size: stringSizeBytes(localStorage[key])
|
403 |
+
};
|
404 |
+
}
|
405 |
+
|
406 |
+
function toSizeMB(info) {
|
407 |
+
info.size = toMB(info.size).toFixed(2) + ' MB';
|
408 |
+
return info;
|
409 |
+
}
|
410 |
+
|
411 |
+
var sizes = Object.keys(localStorage).map(toSize).map(toSizeMB);
|
412 |
+
|
413 |
+
console.table(sizes);
|
414 |
+
},
|
415 |
/* Add days to datetime */
|
416 |
addDays: function(myDate, days) {
|
417 |
return new Date(myDate.getTime() + days * 24 * 60 * 60 * 1000);
|
430 |
m = timeNow.getMonth() + 1,
|
431 |
mPre = (m < 10) ? "0" : "";
|
432 |
|
433 |
+
var datetime = y + '/' + mPre + m + "/" + dPre + d + " " + hPre + h + ":" + minPre + min + ":" + secPre + sec;
|
434 |
/* format 2014/11/13 18:22:02 */
|
435 |
return datetime;
|
436 |
},
|
446 |
var d = new Date();
|
447 |
d.setTime(d.getTime() + 30 * 60 * 1000);
|
448 |
|
449 |
+
this.createCookie("lead_session_expire", true, d); // Set cookie on page load
|
450 |
|
451 |
},
|
452 |
storeReferralData: function() {
|
453 |
//console.log(expire_time);
|
454 |
var d = new Date(),
|
455 |
+
referrer = document.referrer || "Direct Traffic",
|
456 |
+
referrer_cookie = _inbound.Utils.readCookie("inbound_referral_site"),
|
457 |
+
original_src = _inbound.totalStorage('inbound_original_referral');
|
458 |
|
459 |
d.setTime(d.getTime() + 30 * 60 * 1000);
|
460 |
|
461 |
if (!referrer_cookie) {
|
462 |
+
this.createCookie("inbound_referral_site", referrer, d);
|
463 |
}
|
464 |
if (!original_src) {
|
465 |
_inbound.totalStorage('inbound_original_referral', original_src);
|
476 |
}
|
477 |
return str;
|
478 |
},
|
479 |
+
generateGUID: function(a) {
|
480 |
+
return a ? (a ^ 16 * Math.random() >> a / 4).toString(16) : ([1E7] + -1E3 + -4E3 + -8E3 + -1E11).replace(/[018]/g, guid);
|
481 |
+
},
|
482 |
SetUID: function(leadUID) {
|
483 |
/* Set Lead UID */
|
484 |
if (!this.readCookie("wp_lead_uid")) {
|
490 |
countProperties: function(obj) {
|
491 |
var count = 0;
|
492 |
for (var prop in obj) {
|
493 |
+
if (obj.hasOwnProperty(prop)) {
|
494 |
++count;
|
495 |
+
}
|
496 |
}
|
497 |
return count;
|
498 |
},
|
507 |
return obj3;
|
508 |
},
|
509 |
hasClass: function(className, el) {
|
510 |
+
var hasClass;
|
511 |
if ('classList' in document.documentElement) {
|
512 |
var hasClass = el.classList.contains(className);
|
513 |
} else {
|
515 |
}
|
516 |
return hasClass;
|
517 |
},
|
518 |
+
addClass: function(className, el) {
|
519 |
if ('classList' in document.documentElement) {
|
520 |
+
el.classList.add(className);
|
521 |
} else {
|
522 |
+
if (!this.hasClass(el, className)) {
|
523 |
+
el.className += (el.className ? ' ' : '') + className;
|
524 |
}
|
525 |
}
|
526 |
},
|
527 |
+
removeClass: function(className, el) {
|
528 |
if ('classList' in document.documentElement) {
|
529 |
+
el.classList.remove(className);
|
|
|
530 |
} else {
|
531 |
+
if (this.hasClass(el, className)) {
|
532 |
+
el.className = el.className.replace(new RegExp('(^|\\s)*' + className + '(\\s|$)*', 'g'), '');
|
533 |
}
|
534 |
}
|
535 |
},
|
536 |
+
removeElement: function(el) {
|
537 |
+
el.parentNode.removeChild(el);
|
538 |
},
|
539 |
trim: function(s) {
|
540 |
s = s.replace(/(^\s*)|(\s*$)/gi, "");
|
565 |
},
|
566 |
ajaxSendData: function(url, callback, method, data, sync) {
|
567 |
var x = this.ajaxPolyFill();
|
568 |
+
/* timeout for safari idiocy */
|
569 |
+
setTimeout(function() {
|
570 |
+
x.open(method, url, true);
|
571 |
+
x.onreadystatechange = function() {
|
572 |
+
if (x.readyState == 4) {
|
573 |
+
callback(x.responseText)
|
574 |
+
}
|
575 |
+
};
|
576 |
+
if (method == 'POST') {
|
577 |
+
x.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
|
578 |
}
|
579 |
+
x.send(data);
|
580 |
+
}, 100);
|
|
|
|
|
|
|
581 |
},
|
582 |
ajaxGet: function(url, data, callback, sync) {
|
583 |
var query = [];
|
593 |
}
|
594 |
this.ajaxSendData(url, callback, 'POST', query.join('&'), sync)
|
595 |
},
|
596 |
+
/**
|
597 |
+
* @param {string} event
|
598 |
+
* @param {(Object|null)} properties
|
599 |
+
* @param {(Function|null)} callback
|
600 |
+
*/
|
601 |
+
sendEvent: function(event, properties, callback) {
|
602 |
+
properties = properties || {};
|
603 |
+
async = true;
|
604 |
+
var cookieData = getCookie(); /* get cookie data */
|
605 |
+
if (cookieData) {
|
606 |
+
var key;
|
607 |
+
for (key in cookieData) {
|
608 |
+
properties[key] = cookieData[key];
|
609 |
}
|
610 |
}
|
611 |
+
if (!properties.id) {
|
612 |
+
properties.id = getId();
|
613 |
+
}
|
614 |
+
var props = {
|
615 |
+
e: event,
|
616 |
+
t: (new Date()).toISOString(),
|
617 |
+
kv: properties
|
618 |
+
};
|
619 |
+
var path = settings.api_host + '/track?data=' + encodeURIComponent(JSON.stringify(props));
|
620 |
+
if (corsEnabled) {
|
621 |
+
/* CORS */
|
622 |
+
var xhr = new XMLHttpRequest();
|
623 |
+
xhr.open('GET', path, async);
|
624 |
+
xhr.withCredentials = async;
|
625 |
+
xhr.send(null);
|
626 |
+
} else {
|
627 |
+
/* jsonP */
|
628 |
+
var el = document.createElement('script');
|
629 |
+
el.type = 'text/javascript';
|
630 |
+
el.async = async;
|
631 |
+
el.defer = async;
|
632 |
+
el.src = path;
|
633 |
+
var insertAt = document.getElementsByTagName('script')[0];
|
634 |
+
insertAt.parentNode.insertBefore(el, insertAt);
|
635 |
}
|
636 |
+
return action(callback), self;
|
|
|
|
|
637 |
},
|
638 |
domReady: function(win, fn) {
|
639 |
|
663 |
init('poll');
|
664 |
};
|
665 |
|
666 |
+
if (doc.readyState == 'complete') {
|
667 |
+
|
668 |
+
fn.call(win, 'lazy');
|
669 |
+
|
670 |
+
} else {
|
671 |
if (doc.createEventObject && root.doScroll) {
|
672 |
try {
|
673 |
top = !win.frameElement;
|
682 |
},
|
683 |
/* Cross-browser event listening */
|
684 |
addListener: function(element, eventName, listener) {
|
685 |
+
if (!element) {
|
686 |
return;
|
687 |
}
|
688 |
//console.log(eventName);
|
712 |
* (c) 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
713 |
* Underscore may be freely distributed under the MIT license.
|
714 |
*/
|
715 |
+
throttle: function(func, wait) {
|
716 |
+
var context, args, result;
|
717 |
+
var timeout = null;
|
718 |
+
var previous = 0;
|
719 |
+
var later = function() {
|
720 |
+
previous = new Date;
|
721 |
+
timeout = null;
|
722 |
+
result = func.apply(context, args);
|
723 |
+
};
|
724 |
+
return function() {
|
725 |
+
var now = new Date;
|
726 |
+
if (!previous) previous = now;
|
727 |
+
var remaining = wait - (now - previous);
|
728 |
+
context = this;
|
729 |
+
args = arguments;
|
730 |
+
if (remaining <= 0) {
|
731 |
+
clearTimeout(timeout);
|
732 |
+
timeout = null;
|
733 |
+
previous = now;
|
734 |
+
result = func.apply(context, args);
|
735 |
+
} else if (!timeout) {
|
736 |
+
timeout = setTimeout(later, remaining);
|
737 |
+
}
|
738 |
+
return result;
|
739 |
+
};
|
740 |
},
|
741 |
/*
|
742 |
* Determine which version of GA is being used
|
743 |
* "ga", "_gaq", and "dataLayer" are the possible globals
|
744 |
*/
|
745 |
checkTypeofGA: function() {
|
746 |
+
if (typeof ga === "function") {
|
747 |
+
universalGA = true;
|
748 |
+
}
|
749 |
|
750 |
+
if (typeof _gaq !== "undefined" && typeof _gaq.push === "function") {
|
751 |
+
classicGA = true;
|
752 |
+
}
|
753 |
|
754 |
+
if (typeof dataLayer !== "undefined" && typeof dataLayer.push === "function") {
|
755 |
+
googleTagManager = true;
|
756 |
+
}
|
757 |
|
758 |
}
|
759 |
};
|
760 |
|
761 |
return _inbound;
|
762 |
|
763 |
+
})(_inbound || {});
|
shared/assets/{frontend/js → js/frontend}/analytics/inboundAnalytics.js
RENAMED
@@ -1,4 +1,4 @@
|
|
1 |
-
/*! Inbound Analyticsv1.0.0 | (c)
|
2 |
/**
|
3 |
* # _inbound
|
4 |
*
|
@@ -45,7 +45,6 @@ var _inbound = (function(options) {
|
|
45 |
_inbound.Forms.init();
|
46 |
}, 2000);
|
47 |
|
48 |
-
|
49 |
_inbound.trigger('analytics_ready');
|
50 |
|
51 |
},
|
@@ -129,7 +128,7 @@ var _inbound = (function(options) {
|
|
129 |
|
130 |
return Analytics;
|
131 |
|
132 |
-
})(_inboundOptions);
|
133 |
/**
|
134 |
* # Hooks & Filters
|
135 |
*
|
@@ -533,7 +532,7 @@ var _inboundHooks = (function (_inbound) {
|
|
533 |
|
534 |
return _inbound;
|
535 |
|
536 |
-
})(_inbound || {});
|
537 |
/**
|
538 |
* # _inbound UTILS
|
539 |
*
|
@@ -542,9 +541,22 @@ var _inboundHooks = (function (_inbound) {
|
|
542 |
* @author David Wells <david@inboundnow.com>
|
543 |
* @version 0.0.1
|
544 |
*/
|
|
|
545 |
var _inboundUtils = (function(_inbound) {
|
546 |
|
547 |
-
var storageSupported
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
548 |
|
549 |
_inbound.Utils = {
|
550 |
init: function() {
|
@@ -590,95 +602,122 @@ var _inboundUtils = (function(_inbound) {
|
|
590 |
|
591 |
window.CustomEvent = CustomEvent;
|
592 |
})();*/
|
593 |
-
/* custom event for ie8+ https://gist.github.com/WebReflection/6693661 */
|
594 |
-
try{new CustomEvent('?');}catch(o_O){
|
595 |
-
/*!(C) Andrea Giammarchi -- WTFPL License*/
|
596 |
-
this.CustomEvent = function(
|
597 |
-
eventName,
|
598 |
-
defaultInitDict
|
599 |
-
){
|
600 |
-
|
601 |
-
// the infamous substitute
|
602 |
-
function CustomEvent(type, eventInitDict) {
|
603 |
-
var event = document.createEvent(eventName);
|
604 |
-
if (type !== null) {
|
605 |
-
initCustomEvent.call(
|
606 |
-
event,
|
607 |
-
type,
|
608 |
-
(eventInitDict || (
|
609 |
-
// if falsy we can just use defaults
|
610 |
-
eventInitDict = defaultInitDict
|
611 |
-
)).bubbles,
|
612 |
-
eventInitDict.cancelable,
|
613 |
-
eventInitDict.detail
|
614 |
-
);
|
615 |
-
} else {
|
616 |
-
// no need to put the expando property otherwise
|
617 |
-
// since an event cannot be initialized twice
|
618 |
-
// previous case is the most common one anyway
|
619 |
-
// but if we end up here ... there it goes
|
620 |
-
event.initCustomEvent = initCustomEvent;
|
621 |
-
}
|
622 |
-
return event;
|
623 |
-
}
|
624 |
|
625 |
-
|
626 |
-
|
627 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
628 |
) {
|
629 |
-
this['init' + eventName](type, bubbles, cancelable, detail);
|
630 |
-
'detail' in this || (this.detail = detail);
|
631 |
-
}
|
632 |
|
633 |
-
|
634 |
-
|
635 |
-
|
636 |
-
|
637 |
-
|
638 |
-
|
639 |
-
|
640 |
-
|
641 |
-
|
642 |
-
|
643 |
-
|
644 |
-
|
645 |
-
|
646 |
-
|
647 |
-
|
648 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
649 |
}
|
650 |
/* querySelectorAll polyfill for ie7+ */
|
651 |
if (!document.querySelectorAll) {
|
652 |
-
|
653 |
-
|
654 |
-
|
655 |
-
|
656 |
-
|
657 |
-
|
658 |
-
|
659 |
-
|
660 |
-
|
661 |
-
|
662 |
-
|
663 |
-
|
664 |
-
|
665 |
-
|
666 |
-
|
667 |
-
|
668 |
-
|
|
|
|
|
669 |
}
|
670 |
|
671 |
if (!document.querySelector) {
|
672 |
-
|
673 |
-
|
674 |
-
|
675 |
-
|
676 |
}
|
677 |
/* Innertext shim for firefox https://github.com/duckinator/innerText-polyfill/blob/master/innertext.js */
|
678 |
-
if (
|
679 |
HTMLElement.prototype.__defineGetter__("innerText", function() {
|
680 |
var selection = window.getSelection(),
|
681 |
-
ranges
|
682 |
str;
|
683 |
|
684 |
// Save existing selections.
|
@@ -715,7 +754,7 @@ var _inboundUtils = (function(_inbound) {
|
|
715 |
*
|
716 |
* ```js
|
717 |
* // Creates cookie for 10 days
|
718 |
-
* _inbound.
|
719 |
* ```
|
720 |
*
|
721 |
* @param {string} name Name of cookie
|
@@ -735,7 +774,7 @@ var _inboundUtils = (function(_inbound) {
|
|
735 |
* Read cookie value
|
736 |
*
|
737 |
* ```js
|
738 |
-
* var cookie = _inbound.
|
739 |
* console.log(cookie); // cookie value
|
740 |
* ```
|
741 |
* @param {string} name name of cookie
|
@@ -760,7 +799,7 @@ var _inboundUtils = (function(_inbound) {
|
|
760 |
*
|
761 |
* ```js
|
762 |
* // usage:
|
763 |
-
* _inbound.
|
764 |
* // deletes 'cookie_name' value
|
765 |
* ```
|
766 |
* @param {string} name name of cookie
|
@@ -832,7 +871,10 @@ var _inboundUtils = (function(_inbound) {
|
|
832 |
_inbound.totalStorage('inbound_url_params', params); // store cookie data
|
833 |
}
|
834 |
|
835 |
-
var options = {
|
|
|
|
|
|
|
836 |
|
837 |
_inbound.trigger('url_parameters', urlParams, options);
|
838 |
|
@@ -846,7 +888,7 @@ var _inboundUtils = (function(_inbound) {
|
|
846 |
},
|
847 |
/* Get url param */
|
848 |
getParameterVal: function(name, string) {
|
849 |
-
return (RegExp(name + '=' + '(.+?)(&|$)').exec(string)||[,false])[1];
|
850 |
},
|
851 |
// Check local storage
|
852 |
// provate browsing safari fix https://github.com/marcuswestin/store.js/issues/42#issuecomment-25274685
|
@@ -879,6 +921,32 @@ var _inboundUtils = (function(_inbound) {
|
|
879 |
};
|
880 |
*/
|
881 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
882 |
/* Add days to datetime */
|
883 |
addDays: function(myDate, days) {
|
884 |
return new Date(myDate.getTime() + days * 24 * 60 * 60 * 1000);
|
@@ -897,7 +965,7 @@ var _inboundUtils = (function(_inbound) {
|
|
897 |
m = timeNow.getMonth() + 1,
|
898 |
mPre = (m < 10) ? "0" : "";
|
899 |
|
900 |
-
var datetime = y + '/' + mPre+m + "/" + dPre+d + " " + hPre+h + ":" + minPre+min + ":" + secPre+sec;
|
901 |
/* format 2014/11/13 18:22:02 */
|
902 |
return datetime;
|
903 |
},
|
@@ -913,20 +981,20 @@ var _inboundUtils = (function(_inbound) {
|
|
913 |
var d = new Date();
|
914 |
d.setTime(d.getTime() + 30 * 60 * 1000);
|
915 |
|
916 |
-
this.createCookie("lead_session_expire", true, d
|
917 |
|
918 |
},
|
919 |
storeReferralData: function() {
|
920 |
//console.log(expire_time);
|
921 |
var d = new Date(),
|
922 |
-
|
923 |
-
|
924 |
-
|
925 |
|
926 |
d.setTime(d.getTime() + 30 * 60 * 1000);
|
927 |
|
928 |
if (!referrer_cookie) {
|
929 |
-
this.createCookie("inbound_referral_site", referrer, d
|
930 |
}
|
931 |
if (!original_src) {
|
932 |
_inbound.totalStorage('inbound_original_referral', original_src);
|
@@ -943,6 +1011,9 @@ var _inboundUtils = (function(_inbound) {
|
|
943 |
}
|
944 |
return str;
|
945 |
},
|
|
|
|
|
|
|
946 |
SetUID: function(leadUID) {
|
947 |
/* Set Lead UID */
|
948 |
if (!this.readCookie("wp_lead_uid")) {
|
@@ -954,8 +1025,9 @@ var _inboundUtils = (function(_inbound) {
|
|
954 |
countProperties: function(obj) {
|
955 |
var count = 0;
|
956 |
for (var prop in obj) {
|
957 |
-
if (obj.hasOwnProperty(prop))
|
958 |
++count;
|
|
|
959 |
}
|
960 |
return count;
|
961 |
},
|
@@ -970,7 +1042,7 @@ var _inboundUtils = (function(_inbound) {
|
|
970 |
return obj3;
|
971 |
},
|
972 |
hasClass: function(className, el) {
|
973 |
-
var hasClass
|
974 |
if ('classList' in document.documentElement) {
|
975 |
var hasClass = el.classList.contains(className);
|
976 |
} else {
|
@@ -978,27 +1050,26 @@ var _inboundUtils = (function(_inbound) {
|
|
978 |
}
|
979 |
return hasClass;
|
980 |
},
|
981 |
-
addClass: function(className,
|
982 |
if ('classList' in document.documentElement) {
|
983 |
-
|
984 |
} else {
|
985 |
-
if (!this.hasClass(
|
986 |
-
|
987 |
}
|
988 |
}
|
989 |
},
|
990 |
-
removeClass: function(className,
|
991 |
if ('classList' in document.documentElement) {
|
992 |
-
|
993 |
-
elem.classList.remove(className);
|
994 |
} else {
|
995 |
-
if (this.hasClass(
|
996 |
-
|
997 |
}
|
998 |
}
|
999 |
},
|
1000 |
-
removeElement: function
|
1001 |
-
|
1002 |
},
|
1003 |
trim: function(s) {
|
1004 |
s = s.replace(/(^\s*)|(\s*$)/gi, "");
|
@@ -1029,16 +1100,19 @@ var _inboundUtils = (function(_inbound) {
|
|
1029 |
},
|
1030 |
ajaxSendData: function(url, callback, method, data, sync) {
|
1031 |
var x = this.ajaxPolyFill();
|
1032 |
-
|
1033 |
-
|
1034 |
-
|
1035 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
1036 |
}
|
1037 |
-
|
1038 |
-
|
1039 |
-
x.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
|
1040 |
-
}
|
1041 |
-
x.send(data);
|
1042 |
},
|
1043 |
ajaxGet: function(url, data, callback, sync) {
|
1044 |
var query = [];
|
@@ -1054,26 +1128,47 @@ var _inboundUtils = (function(_inbound) {
|
|
1054 |
}
|
1055 |
this.ajaxSendData(url, callback, 'POST', query.join('&'), sync)
|
1056 |
},
|
1057 |
-
|
1058 |
-
|
1059 |
-
|
1060 |
-
|
1061 |
-
|
1062 |
-
|
1063 |
-
|
1064 |
-
|
1065 |
-
|
1066 |
-
|
1067 |
-
|
1068 |
-
|
1069 |
-
|
1070 |
-
|
1071 |
-
|
1072 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1073 |
}
|
1074 |
-
|
1075 |
-
httpRequest.open('GET', url);
|
1076 |
-
httpRequest.send(data);
|
1077 |
},
|
1078 |
domReady: function(win, fn) {
|
1079 |
|
@@ -1103,8 +1198,11 @@ var _inboundUtils = (function(_inbound) {
|
|
1103 |
init('poll');
|
1104 |
};
|
1105 |
|
1106 |
-
if (doc.readyState == 'complete')
|
1107 |
-
|
|
|
|
|
|
|
1108 |
if (doc.createEventObject && root.doScroll) {
|
1109 |
try {
|
1110 |
top = !win.frameElement;
|
@@ -1119,7 +1217,7 @@ var _inboundUtils = (function(_inbound) {
|
|
1119 |
},
|
1120 |
/* Cross-browser event listening */
|
1121 |
addListener: function(element, eventName, listener) {
|
1122 |
-
if(!element){
|
1123 |
return;
|
1124 |
}
|
1125 |
//console.log(eventName);
|
@@ -1149,55 +1247,56 @@ var _inboundUtils = (function(_inbound) {
|
|
1149 |
* (c) 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
1150 |
* Underscore may be freely distributed under the MIT license.
|
1151 |
*/
|
1152 |
-
throttle: function
|
1153 |
-
|
1154 |
-
|
1155 |
-
|
1156 |
-
|
1157 |
-
|
1158 |
-
|
1159 |
-
|
1160 |
-
|
1161 |
-
|
1162 |
-
|
1163 |
-
|
1164 |
-
|
1165 |
-
|
1166 |
-
|
1167 |
-
|
1168 |
-
|
1169 |
-
|
1170 |
-
|
1171 |
-
|
1172 |
-
|
1173 |
-
|
1174 |
-
|
1175 |
-
|
1176 |
-
|
1177 |
},
|
1178 |
/*
|
1179 |
* Determine which version of GA is being used
|
1180 |
* "ga", "_gaq", and "dataLayer" are the possible globals
|
1181 |
*/
|
1182 |
checkTypeofGA: function() {
|
1183 |
-
|
1184 |
-
|
1185 |
-
|
1186 |
|
1187 |
-
|
1188 |
-
|
1189 |
-
|
1190 |
|
1191 |
-
|
1192 |
-
|
1193 |
-
|
1194 |
|
1195 |
}
|
1196 |
};
|
1197 |
|
1198 |
return _inbound;
|
1199 |
|
1200 |
-
})(_inbound || {});
|
|
|
1201 |
/**
|
1202 |
* # Inbound Forms
|
1203 |
*
|
@@ -1275,18 +1374,19 @@ var InboundForms = (function(_inbound) {
|
|
1275 |
debug: function(msg, callback) {
|
1276 |
//if app not in debug mode, exit immediately
|
1277 |
if (!debugMode || !console) {
|
1278 |
-
return
|
1279 |
-
}
|
|
|
1280 |
var msg = msg || false;
|
1281 |
//console.log the message
|
1282 |
if (msg && (typeof msg === 'string')) {
|
1283 |
-
console.log(msg)
|
1284 |
-
}
|
1285 |
|
1286 |
//execute the callback if one was passed-in
|
1287 |
if (callback && (callback instanceof Function)) {
|
1288 |
callback();
|
1289 |
-
}
|
1290 |
},
|
1291 |
formTrackInit: function() {
|
1292 |
|
@@ -1313,9 +1413,7 @@ var InboundForms = (function(_inbound) {
|
|
1313 |
} else if (ClassIs.toLowerCase().indexOf("inbound-track") > -1) {
|
1314 |
return true;
|
1315 |
} else {
|
1316 |
-
cb = function(){
|
1317 |
-
console.log(form);
|
1318 |
-
}
|
1319 |
_inbound.deBugger('forms', "This form not tracked. Please assign on in settings...", cb);
|
1320 |
return false;
|
1321 |
}
|
@@ -1358,7 +1456,7 @@ var InboundForms = (function(_inbound) {
|
|
1358 |
_inbound.Utils.removeClass('inbound-track', selector);
|
1359 |
}
|
1360 |
}
|
1361 |
-
}
|
1362 |
},
|
1363 |
/* Map field fields on load */
|
1364 |
initFormMapping: function(form) {
|
@@ -1372,22 +1470,23 @@ var InboundForms = (function(_inbound) {
|
|
1372 |
continue;
|
1373 |
}
|
1374 |
|
1375 |
-
|
1376 |
//this.ignoreFields(formInput);
|
1377 |
/* Map form fields */
|
1378 |
this.mapField(formInput);
|
1379 |
/* Remember visible inputs */
|
1380 |
this.rememberInputValues(formInput);
|
1381 |
/* Fill visible inputs */
|
1382 |
-
if (settings.formAutoPopulation) {
|
1383 |
this.fillInputValues(formInput);
|
1384 |
-
}
|
1385 |
|
1386 |
-
}
|
1387 |
-
|
1388 |
-
|
|
|
|
|
1389 |
this.mapField(formInput);
|
1390 |
-
}
|
1391 |
|
1392 |
//console.log('mapping on load completed');
|
1393 |
},
|
@@ -1441,8 +1540,8 @@ var InboundForms = (function(_inbound) {
|
|
1441 |
//console.log('label', label);
|
1442 |
if (label[0].innerText.toLowerCase().indexOf(lookingFor) > -1) {
|
1443 |
|
1444 |
-
|
1445 |
-
|
1446 |
|
1447 |
}
|
1448 |
|
@@ -1512,7 +1611,7 @@ var InboundForms = (function(_inbound) {
|
|
1512 |
ignoreFieldByValue: function(value){
|
1513 |
var ignore_field = false;
|
1514 |
|
1515 |
-
if(!value){ return false }
|
1516 |
|
1517 |
if (value.toLowerCase() == 'visa' || value.toLowerCase() == 'mastercard' || value.toLowerCase() == 'american express' || value.toLowerCase() == 'amex' || value.toLowerCase() == 'discover') {
|
1518 |
ignore_field = true;
|
@@ -1540,17 +1639,29 @@ var InboundForms = (function(_inbound) {
|
|
1540 |
document.body.style.cursor = "default";
|
1541 |
utils.removeClass('wpl-track-me', form);
|
1542 |
utils.removeListener(form, 'submit', this.formListener);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1543 |
form.submit();
|
1544 |
/* fallback if submit name="submit" */
|
1545 |
setTimeout(function() {
|
1546 |
for (var i = 0; i < form.elements.length; i++) {
|
1547 |
formInput = form.elements[i];
|
1548 |
type = formInput.type || false;
|
1549 |
-
if (type === "submit") {
|
1550 |
form.elements[i].click();
|
1551 |
}
|
1552 |
}
|
1553 |
-
},
|
1554 |
|
1555 |
},
|
1556 |
saveFormData: function(form) {
|
@@ -1618,7 +1729,7 @@ var InboundForms = (function(_inbound) {
|
|
1618 |
value = (formInput.value);
|
1619 |
}
|
1620 |
|
1621 |
-
console.log('select val', value);
|
1622 |
break;
|
1623 |
}
|
1624 |
|
@@ -1710,6 +1821,9 @@ var InboundForms = (function(_inbound) {
|
|
1710 |
|
1711 |
fullName = (fName && lName) ? fName + " " + lName : fullName;
|
1712 |
|
|
|
|
|
|
|
1713 |
_inbound.deBugger('forms', "fName = " + fName);
|
1714 |
_inbound.deBugger('forms', "lName = " + lName);
|
1715 |
_inbound.deBugger('forms', "fullName = " + fullName);
|
@@ -1737,7 +1851,7 @@ var InboundForms = (function(_inbound) {
|
|
1737 |
/* Filter here for raw */
|
1738 |
//alert(mapped_params);
|
1739 |
/**
|
1740 |
-
|
1741 |
var return_data = {
|
1742 |
"action": 'inbound_store_lead',
|
1743 |
"emailTo": data['email'],
|
@@ -1751,7 +1865,7 @@ var InboundForms = (function(_inbound) {
|
|
1751 |
"Mapped_Data": mapped_form_data,
|
1752 |
"Search_Data": data['search_data']
|
1753 |
};
|
1754 |
-
|
1755 |
formData = {
|
1756 |
'action': 'inbound_lead_store',
|
1757 |
'email': email,
|
@@ -1788,10 +1902,8 @@ var InboundForms = (function(_inbound) {
|
|
1788 |
_inbound.Forms.releaseFormSubmit(form);
|
1789 |
|
1790 |
}
|
1791 |
-
|
1792 |
-
//_inbound.Events.form_before_submission(formData);
|
1793 |
_inbound.trigger('form_before_submission', formData);
|
1794 |
-
//_inbound.trigger('inbound_form_before_submission', formData, true);
|
1795 |
|
1796 |
utils.ajaxPost(inbound_settings.admin_url, formData, callback);
|
1797 |
},
|
@@ -2009,7 +2121,7 @@ var InboundForms = (function(_inbound) {
|
|
2009 |
"facebook.com", "verizon.net", "sbcglobal.net", "att.net", "gmx.com", "mail.com", "outlook.com", "icloud.com"
|
2010 |
],
|
2011 |
|
2012 |
-
defaultTopLevelDomains: ["co.jp", "co.uk", "com", "net", "org", "info", "edu", "gov", "mil", "ca"],
|
2013 |
|
2014 |
run: function(opts) {
|
2015 |
opts.domains = opts.domains || Mailcheck.defaultDomains;
|
@@ -2017,14 +2129,14 @@ var InboundForms = (function(_inbound) {
|
|
2017 |
opts.distanceFunction = opts.distanceFunction || Mailcheck.sift3Distance;
|
2018 |
|
2019 |
var defaultCallback = function(result) {
|
2020 |
-
return result
|
2021 |
};
|
2022 |
var suggestedCallback = opts.suggested || defaultCallback;
|
2023 |
var emptyCallback = opts.empty || defaultCallback;
|
2024 |
|
2025 |
var result = Mailcheck.suggest(Mailcheck.encodeEmail(opts.email), opts.domains, opts.topLevelDomains, opts.distanceFunction);
|
2026 |
|
2027 |
-
return result ? suggestedCallback(result) : emptyCallback()
|
2028 |
},
|
2029 |
|
2030 |
suggest: function(email, domains, topLevelDomains, distanceFunction) {
|
@@ -2097,15 +2209,15 @@ var InboundForms = (function(_inbound) {
|
|
2097 |
|
2098 |
sift3Distance: function(s1, s2) {
|
2099 |
// sift3: http://siderite.blogspot.com/2007/04/super-fast-and-accurate-string-distance.html
|
2100 |
-
if (s1
|
2101 |
-
if (s2
|
2102 |
return 0;
|
2103 |
} else {
|
2104 |
return s2.length;
|
2105 |
}
|
2106 |
}
|
2107 |
|
2108 |
-
if (s2
|
2109 |
return s1.length;
|
2110 |
}
|
2111 |
|
@@ -2154,7 +2266,7 @@ var InboundForms = (function(_inbound) {
|
|
2154 |
var domainParts = domain.split(".");
|
2155 |
var tld = "";
|
2156 |
|
2157 |
-
if (domainParts.length
|
2158 |
// The address does not have a top-level domain
|
2159 |
return false;
|
2160 |
} else if (domainParts.length == 1) {
|
@@ -2174,7 +2286,7 @@ var InboundForms = (function(_inbound) {
|
|
2174 |
topLevelDomain: tld,
|
2175 |
domain: domain,
|
2176 |
address: parts.join("@")
|
2177 |
-
}
|
2178 |
},
|
2179 |
|
2180 |
// Encode the email address to prevent XSS but leave in valid
|
@@ -2187,13 +2299,13 @@ var InboundForms = (function(_inbound) {
|
|
2187 |
.replace("%7D", "}");
|
2188 |
return result;
|
2189 |
}
|
2190 |
-
}
|
2191 |
} // End Mailcheck
|
2192 |
|
2193 |
|
2194 |
return _inbound;
|
2195 |
|
2196 |
-
})(_inbound || {});
|
2197 |
/**
|
2198 |
* # Analytics Events
|
2199 |
*
|
@@ -2258,12 +2370,7 @@ var _inboundEvents = (function(_inbound) {
|
|
2258 |
|
2259 |
var is_IE_11 = !(window.ActiveXObject) && "ActiveXObject" in window;
|
2260 |
|
2261 |
-
if(
|
2262 |
-
|
2263 |
-
var TriggerEvent = document.createEvent("Event");
|
2264 |
-
TriggerEvent.initEvent(eventName, true, true);
|
2265 |
-
|
2266 |
-
} else {
|
2267 |
|
2268 |
var TriggerEvent = new CustomEvent(eventName, {
|
2269 |
detail: data,
|
@@ -2271,7 +2378,11 @@ var _inboundEvents = (function(_inbound) {
|
|
2271 |
cancelable: options.cancelable
|
2272 |
});
|
2273 |
|
|
|
|
|
|
|
2274 |
}
|
|
|
2275 |
/*! 1. Trigger Pure Javascript Event See: https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events for example on creating events */
|
2276 |
window.dispatchEvent(TriggerEvent);
|
2277 |
/*! 2. Trigger _inbound action */
|
@@ -2284,9 +2395,10 @@ var _inboundEvents = (function(_inbound) {
|
|
2284 |
}
|
2285 |
|
2286 |
function triggerJQueryEvent(eventName, data) {
|
2287 |
-
if (window.
|
2288 |
var data = data || {};
|
2289 |
-
|
|
|
2290 |
}
|
2291 |
};
|
2292 |
|
@@ -2716,13 +2828,13 @@ var _inboundEvents = (function(_inbound) {
|
|
2716 |
});
|
2717 |
window.dispatchEvent(error);
|
2718 |
console.log('Page Save Error');
|
2719 |
-
}
|
2720 |
|
2721 |
};
|
2722 |
|
2723 |
return _inbound;
|
2724 |
|
2725 |
-
})(_inbound || {});
|
2726 |
/* LocalStorage Component */
|
2727 |
var InboundTotalStorage = (function (_inbound){
|
2728 |
|
@@ -2855,7 +2967,7 @@ var InboundTotalStorage = (function (_inbound){
|
|
2855 |
return ret;
|
2856 |
}
|
2857 |
};
|
2858 |
-
})(_inbound || {});
|
2859 |
/**
|
2860 |
* Leads API functions
|
2861 |
* @param Object _inbound - Main JS object
|
@@ -2891,7 +3003,7 @@ var _inboundLeadsAPI = (function(_inbound) {
|
|
2891 |
leadDataExpire = _inbound.Utils.readCookie("lead_data_expire");
|
2892 |
data = {
|
2893 |
action: 'inbound_get_all_lead_data',
|
2894 |
-
wp_lead_id: wp_lead_id
|
2895 |
},
|
2896 |
success = function(returnData) {
|
2897 |
var leadData = JSON.parse(returnData);
|
@@ -2928,7 +3040,7 @@ var _inboundLeadsAPI = (function(_inbound) {
|
|
2928 |
var wp_lead_id = _inbound.Utils.readCookie("wp_lead_id");
|
2929 |
var data = {
|
2930 |
action: 'wpl_check_lists',
|
2931 |
-
wp_lead_id: wp_lead_id
|
2932 |
};
|
2933 |
var success = function(user_id) {
|
2934 |
_inbound.Utils.createCookie("lead_session_list_check", true, {
|
@@ -2945,7 +3057,7 @@ var _inboundLeadsAPI = (function(_inbound) {
|
|
2945 |
|
2946 |
return _inbound;
|
2947 |
|
2948 |
-
})(_inbound || {});
|
2949 |
/**
|
2950 |
* # Page View Tracking
|
2951 |
*
|
@@ -2969,8 +3081,9 @@ var _inboundPageTracking = (function(_inbound) {
|
|
2969 |
reportInterval,
|
2970 |
idleTimeout,
|
2971 |
utils = _inbound.Utils,
|
2972 |
-
Pages = _inbound.totalStorage('page_views') || {},
|
2973 |
timeNow = _inbound.Utils.GetDate(),
|
|
|
|
|
2974 |
/*!
|
2975 |
Todo: Use UTC offset
|
2976 |
var x = new Date();
|
@@ -2983,7 +3096,10 @@ var _inboundPageTracking = (function(_inbound) {
|
|
2983 |
_inbound.PageTracking = {
|
2984 |
|
2985 |
init: function(options) {
|
2986 |
-
|
|
|
|
|
|
|
2987 |
this.CheckTimeOut();
|
2988 |
// Set up options and defaults
|
2989 |
options = options || {};
|
@@ -3198,7 +3314,7 @@ var _inboundPageTracking = (function(_inbound) {
|
|
3198 |
getPageViews: function() {
|
3199 |
var local_store = _inbound.Utils.checkLocalStorage();
|
3200 |
if (local_store) {
|
3201 |
-
var page_views = localStorage.getItem(
|
3202 |
local_object = JSON.parse(page_views);
|
3203 |
if (typeof local_object == 'object' && local_object) {
|
3204 |
//this.triggerPageView();
|
@@ -3239,7 +3355,7 @@ var _inboundPageTracking = (function(_inbound) {
|
|
3239 |
|
3240 |
_inbound.trigger('page_visit', pageData);
|
3241 |
|
3242 |
-
_inbound.totalStorage(
|
3243 |
|
3244 |
this.storePageView();
|
3245 |
|
@@ -3306,7 +3422,7 @@ var _inboundPageTracking = (function(_inbound) {
|
|
3306 |
|
3307 |
return _inbound;
|
3308 |
|
3309 |
-
})(_inbound || {});
|
3310 |
/**
|
3311 |
* # Start
|
3312 |
*
|
1 |
+
/*! Inbound Analyticsv1.0.0 | (c) 2015 Inbound Now | https://github.com/inboundnow/cta */
|
2 |
/**
|
3 |
* # _inbound
|
4 |
*
|
45 |
_inbound.Forms.init();
|
46 |
}, 2000);
|
47 |
|
|
|
48 |
_inbound.trigger('analytics_ready');
|
49 |
|
50 |
},
|
128 |
|
129 |
return Analytics;
|
130 |
|
131 |
+
})(_inboundOptions);
|
132 |
/**
|
133 |
* # Hooks & Filters
|
134 |
*
|
532 |
|
533 |
return _inbound;
|
534 |
|
535 |
+
})(_inbound || {});
|
536 |
/**
|
537 |
* # _inbound UTILS
|
538 |
*
|
541 |
* @author David Wells <david@inboundnow.com>
|
542 |
* @version 0.0.1
|
543 |
*/
|
544 |
+
|
545 |
var _inboundUtils = (function(_inbound) {
|
546 |
|
547 |
+
var storageSupported,
|
548 |
+
corsEnabled = window.XMLHttpRequest && 'withCredentials' in new XMLHttpRequest(),
|
549 |
+
toString = Object.prototype.toString,
|
550 |
+
currentPage = ('https:' == location.protocol ? 'https://' : 'http://') + location.hostname + location.pathname.replace(/\/$/, "");
|
551 |
+
|
552 |
+
var settings = {
|
553 |
+
api_host: currentPage,
|
554 |
+
track_pageview: true,
|
555 |
+
track_links_timeout: 300,
|
556 |
+
cookie_name: '_sp',
|
557 |
+
cookie_expiration: 365,
|
558 |
+
cookie_domain: (host = location.hostname.match(/[a-z0-9][a-z0-9\-]+\.[a-z\.]{2,6}$/i)) ? host[0] : ''
|
559 |
+
};
|
560 |
|
561 |
_inbound.Utils = {
|
562 |
init: function() {
|
602 |
|
603 |
window.CustomEvent = CustomEvent;
|
604 |
})();*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
605 |
|
606 |
+
/*\
|
607 |
+
|*| Polyfill Date.toISOString
|
608 |
+
\*/
|
609 |
+
if (!Date.prototype.toISOString) {
|
610 |
+
(function() {
|
611 |
+
/**
|
612 |
+
* @param {number} text
|
613 |
+
* @returns {?}
|
614 |
+
*/
|
615 |
+
function pad(text) {
|
616 |
+
/** @type {string} */
|
617 |
+
var code = String(text);
|
618 |
+
return 1 === code.length && (code = '0' + code), code;
|
619 |
+
}
|
620 |
+
/**
|
621 |
+
* @returns {string}
|
622 |
+
*/
|
623 |
+
Date.prototype.toISOString = function() {
|
624 |
+
return this.getUTCFullYear() + '-' + pad(this.getUTCMonth() + 1) + '-' + pad(this.getUTCDate()) + 'T' + pad(this.getUTCHours()) + ':' + pad(this.getUTCMinutes()) + ':' + pad(this.getUTCSeconds()) + '.' + String((this.getUTCMilliseconds() / 1E3).toFixed(3)).slice(2, 5) + 'Z';
|
625 |
+
};
|
626 |
+
})();
|
627 |
+
}
|
628 |
+
|
629 |
+
/* custom event for ie8+ https://gist.github.com/WebReflection/6693661 */
|
630 |
+
try {
|
631 |
+
new CustomEvent('?');
|
632 |
+
} catch (o_O) {
|
633 |
+
/*!(C) Andrea Giammarchi -- WTFPL License*/
|
634 |
+
this.CustomEvent = function(
|
635 |
+
eventName,
|
636 |
+
defaultInitDict
|
637 |
) {
|
|
|
|
|
|
|
638 |
|
639 |
+
// the infamous substitute
|
640 |
+
function CustomEvent(type, eventInitDict) {
|
641 |
+
var event = document.createEvent(eventName);
|
642 |
+
if (type !== null) {
|
643 |
+
initCustomEvent.call(
|
644 |
+
event,
|
645 |
+
type, (eventInitDict || (
|
646 |
+
// if falsy we can just use defaults
|
647 |
+
eventInitDict = defaultInitDict
|
648 |
+
)).bubbles,
|
649 |
+
eventInitDict.cancelable,
|
650 |
+
eventInitDict.detail
|
651 |
+
);
|
652 |
+
} else {
|
653 |
+
// no need to put the expando property otherwise
|
654 |
+
// since an event cannot be initialized twice
|
655 |
+
// previous case is the most common one anyway
|
656 |
+
// but if we end up here ... there it goes
|
657 |
+
event.initCustomEvent = initCustomEvent;
|
658 |
+
}
|
659 |
+
return event;
|
660 |
+
}
|
661 |
+
|
662 |
+
// borrowed or attached at runtime
|
663 |
+
function initCustomEvent(
|
664 |
+
type, bubbles, cancelable, detail
|
665 |
+
) {
|
666 |
+
this['init' + eventName](type, bubbles, cancelable, detail);
|
667 |
+
'detail' in this || (this.detail = detail);
|
668 |
+
}
|
669 |
+
|
670 |
+
// that's it
|
671 |
+
return CustomEvent;
|
672 |
+
}(
|
673 |
+
// is this IE9 or IE10 ?
|
674 |
+
// where CustomEvent is there
|
675 |
+
// but not usable as construtor ?
|
676 |
+
this.CustomEvent ?
|
677 |
+
// use the CustomEvent interface in such case
|
678 |
+
'CustomEvent' : 'Event',
|
679 |
+
// otherwise the common compatible one
|
680 |
+
{
|
681 |
+
bubbles: false,
|
682 |
+
cancelable: false,
|
683 |
+
detail: null
|
684 |
+
}
|
685 |
+
);
|
686 |
}
|
687 |
/* querySelectorAll polyfill for ie7+ */
|
688 |
if (!document.querySelectorAll) {
|
689 |
+
document.querySelectorAll = function(selectors) {
|
690 |
+
var style = document.createElement('style'),
|
691 |
+
elements = [],
|
692 |
+
element;
|
693 |
+
document.documentElement.firstChild.appendChild(style);
|
694 |
+
document._qsa = [];
|
695 |
+
|
696 |
+
style.styleSheet.cssText = selectors + '{x-qsa:expression(document._qsa && document._qsa.push(this))}';
|
697 |
+
window.scrollBy(0, 0);
|
698 |
+
style.parentNode.removeChild(style);
|
699 |
+
|
700 |
+
while (document._qsa.length) {
|
701 |
+
element = document._qsa.shift();
|
702 |
+
element.style.removeAttribute('x-qsa');
|
703 |
+
elements.push(element);
|
704 |
+
}
|
705 |
+
document._qsa = null;
|
706 |
+
return elements;
|
707 |
+
};
|
708 |
}
|
709 |
|
710 |
if (!document.querySelector) {
|
711 |
+
document.querySelector = function(selectors) {
|
712 |
+
var elements = document.querySelectorAll(selectors);
|
713 |
+
return (elements.length) ? elements[0] : null;
|
714 |
+
};
|
715 |
}
|
716 |
/* Innertext shim for firefox https://github.com/duckinator/innerText-polyfill/blob/master/innertext.js */
|
717 |
+
if ((!('innerText' in document.createElement('a'))) && ('getSelection' in window)) {
|
718 |
HTMLElement.prototype.__defineGetter__("innerText", function() {
|
719 |
var selection = window.getSelection(),
|
720 |
+
ranges = [],
|
721 |
str;
|
722 |
|
723 |
// Save existing selections.
|
754 |
*
|
755 |
* ```js
|
756 |
* // Creates cookie for 10 days
|
757 |
+
* _inbound.Utils.createCookie( 'cookie_name', 'value', 10 );
|
758 |
* ```
|
759 |
*
|
760 |
* @param {string} name Name of cookie
|
774 |
* Read cookie value
|
775 |
*
|
776 |
* ```js
|
777 |
+
* var cookie = _inbound.Utils.readCookie( 'cookie_name' );
|
778 |
* console.log(cookie); // cookie value
|
779 |
* ```
|
780 |
* @param {string} name name of cookie
|
799 |
*
|
800 |
* ```js
|
801 |
* // usage:
|
802 |
+
* _inbound.Utils.eraseCookie( 'cookie_name' );
|
803 |
* // deletes 'cookie_name' value
|
804 |
* ```
|
805 |
* @param {string} name name of cookie
|
871 |
_inbound.totalStorage('inbound_url_params', params); // store cookie data
|
872 |
}
|
873 |
|
874 |
+
var options = {
|
875 |
+
'option1': 'yo',
|
876 |
+
'option2': 'woooo'
|
877 |
+
};
|
878 |
|
879 |
_inbound.trigger('url_parameters', urlParams, options);
|
880 |
|
888 |
},
|
889 |
/* Get url param */
|
890 |
getParameterVal: function(name, string) {
|
891 |
+
return (RegExp(name + '=' + '(.+?)(&|$)').exec(string) || [, false])[1];
|
892 |
},
|
893 |
// Check local storage
|
894 |
// provate browsing safari fix https://github.com/marcuswestin/store.js/issues/42#issuecomment-25274685
|
921 |
};
|
922 |
*/
|
923 |
},
|
924 |
+
// http://stackoverflow.com/questions/4391575/how-to-find-the-size-of-localstorage
|
925 |
+
showLocalStorageSize: function() {
|
926 |
+
function stringSizeBytes(str) {
|
927 |
+
return str.length * 2;
|
928 |
+
}
|
929 |
+
|
930 |
+
function toMB(bytes) {
|
931 |
+
return bytes / 1024 / 1024;
|
932 |
+
}
|
933 |
+
|
934 |
+
function toSize(key) {
|
935 |
+
return {
|
936 |
+
name: key,
|
937 |
+
size: stringSizeBytes(localStorage[key])
|
938 |
+
};
|
939 |
+
}
|
940 |
+
|
941 |
+
function toSizeMB(info) {
|
942 |
+
info.size = toMB(info.size).toFixed(2) + ' MB';
|
943 |
+
return info;
|
944 |
+
}
|
945 |
+
|
946 |
+
var sizes = Object.keys(localStorage).map(toSize).map(toSizeMB);
|
947 |
+
|
948 |
+
console.table(sizes);
|
949 |
+
},
|
950 |
/* Add days to datetime */
|
951 |
addDays: function(myDate, days) {
|
952 |
return new Date(myDate.getTime() + days * 24 * 60 * 60 * 1000);
|
965 |
m = timeNow.getMonth() + 1,
|
966 |
mPre = (m < 10) ? "0" : "";
|
967 |
|
968 |
+
var datetime = y + '/' + mPre + m + "/" + dPre + d + " " + hPre + h + ":" + minPre + min + ":" + secPre + sec;
|
969 |
/* format 2014/11/13 18:22:02 */
|
970 |
return datetime;
|
971 |
},
|
981 |
var d = new Date();
|
982 |
d.setTime(d.getTime() + 30 * 60 * 1000);
|
983 |
|
984 |
+
this.createCookie("lead_session_expire", true, d); // Set cookie on page load
|
985 |
|
986 |
},
|
987 |
storeReferralData: function() {
|
988 |
//console.log(expire_time);
|
989 |
var d = new Date(),
|
990 |
+
referrer = document.referrer || "Direct Traffic",
|
991 |
+
referrer_cookie = _inbound.Utils.readCookie("inbound_referral_site"),
|
992 |
+
original_src = _inbound.totalStorage('inbound_original_referral');
|
993 |
|
994 |
d.setTime(d.getTime() + 30 * 60 * 1000);
|
995 |
|
996 |
if (!referrer_cookie) {
|
997 |
+
this.createCookie("inbound_referral_site", referrer, d);
|
998 |
}
|
999 |
if (!original_src) {
|
1000 |
_inbound.totalStorage('inbound_original_referral', original_src);
|
1011 |
}
|
1012 |
return str;
|
1013 |
},
|
1014 |
+
generateGUID: function(a) {
|
1015 |
+
return a ? (a ^ 16 * Math.random() >> a / 4).toString(16) : ([1E7] + -1E3 + -4E3 + -8E3 + -1E11).replace(/[018]/g, guid);
|
1016 |
+
},
|
1017 |
SetUID: function(leadUID) {
|
1018 |
/* Set Lead UID */
|
1019 |
if (!this.readCookie("wp_lead_uid")) {
|
1025 |
countProperties: function(obj) {
|
1026 |
var count = 0;
|
1027 |
for (var prop in obj) {
|
1028 |
+
if (obj.hasOwnProperty(prop)) {
|
1029 |
++count;
|
1030 |
+
}
|
1031 |
}
|
1032 |
return count;
|
1033 |
},
|
1042 |
return obj3;
|
1043 |
},
|
1044 |
hasClass: function(className, el) {
|
1045 |
+
var hasClass;
|
1046 |
if ('classList' in document.documentElement) {
|
1047 |
var hasClass = el.classList.contains(className);
|
1048 |
} else {
|
1050 |
}
|
1051 |
return hasClass;
|
1052 |
},
|
1053 |
+
addClass: function(className, el) {
|
1054 |
if ('classList' in document.documentElement) {
|
1055 |
+
el.classList.add(className);
|
1056 |
} else {
|
1057 |
+
if (!this.hasClass(el, className)) {
|
1058 |
+
el.className += (el.className ? ' ' : '') + className;
|
1059 |
}
|
1060 |
}
|
1061 |
},
|
1062 |
+
removeClass: function(className, el) {
|
1063 |
if ('classList' in document.documentElement) {
|
1064 |
+
el.classList.remove(className);
|
|
|
1065 |
} else {
|
1066 |
+
if (this.hasClass(el, className)) {
|
1067 |
+
el.className = el.className.replace(new RegExp('(^|\\s)*' + className + '(\\s|$)*', 'g'), '');
|
1068 |
}
|
1069 |
}
|
1070 |
},
|
1071 |
+
removeElement: function(el) {
|
1072 |
+
el.parentNode.removeChild(el);
|
1073 |
},
|
1074 |
trim: function(s) {
|
1075 |
s = s.replace(/(^\s*)|(\s*$)/gi, "");
|
1100 |
},
|
1101 |
ajaxSendData: function(url, callback, method, data, sync) {
|
1102 |
var x = this.ajaxPolyFill();
|
1103 |
+
/* timeout for safari idiocy */
|
1104 |
+
setTimeout(function() {
|
1105 |
+
x.open(method, url, true);
|
1106 |
+
x.onreadystatechange = function() {
|
1107 |
+
if (x.readyState == 4) {
|
1108 |
+
callback(x.responseText)
|
1109 |
+
}
|
1110 |
+
};
|
1111 |
+
if (method == 'POST') {
|
1112 |
+
x.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
|
1113 |
}
|
1114 |
+
x.send(data);
|
1115 |
+
}, 100);
|
|
|
|
|
|
|
1116 |
},
|
1117 |
ajaxGet: function(url, data, callback, sync) {
|
1118 |
var query = [];
|
1128 |
}
|
1129 |
this.ajaxSendData(url, callback, 'POST', query.join('&'), sync)
|
1130 |
},
|
1131 |
+
/**
|
1132 |
+
* @param {string} event
|
1133 |
+
* @param {(Object|null)} properties
|
1134 |
+
* @param {(Function|null)} callback
|
1135 |
+
*/
|
1136 |
+
sendEvent: function(event, properties, callback) {
|
1137 |
+
properties = properties || {};
|
1138 |
+
async = true;
|
1139 |
+
var cookieData = getCookie(); /* get cookie data */
|
1140 |
+
if (cookieData) {
|
1141 |
+
var key;
|
1142 |
+
for (key in cookieData) {
|
1143 |
+
properties[key] = cookieData[key];
|
1144 |
+
}
|
1145 |
+
}
|
1146 |
+
if (!properties.id) {
|
1147 |
+
properties.id = getId();
|
1148 |
+
}
|
1149 |
+
var props = {
|
1150 |
+
e: event,
|
1151 |
+
t: (new Date()).toISOString(),
|
1152 |
+
kv: properties
|
1153 |
+
};
|
1154 |
+
var path = settings.api_host + '/track?data=' + encodeURIComponent(JSON.stringify(props));
|
1155 |
+
if (corsEnabled) {
|
1156 |
+
/* CORS */
|
1157 |
+
var xhr = new XMLHttpRequest();
|
1158 |
+
xhr.open('GET', path, async);
|
1159 |
+
xhr.withCredentials = async;
|
1160 |
+
xhr.send(null);
|
1161 |
+
} else {
|
1162 |
+
/* jsonP */
|
1163 |
+
var el = document.createElement('script');
|
1164 |
+
el.type = 'text/javascript';
|
1165 |
+
el.async = async;
|
1166 |
+
el.defer = async;
|
1167 |
+
el.src = path;
|
1168 |
+
var insertAt = document.getElementsByTagName('script')[0];
|
1169 |
+
insertAt.parentNode.insertBefore(el, insertAt);
|
1170 |
}
|
1171 |
+
return action(callback), self;
|
|
|
|
|
1172 |
},
|
1173 |
domReady: function(win, fn) {
|
1174 |
|
1198 |
init('poll');
|
1199 |
};
|
1200 |
|
1201 |
+
if (doc.readyState == 'complete') {
|
1202 |
+
|
1203 |
+
fn.call(win, 'lazy');
|
1204 |
+
|
1205 |
+
} else {
|
1206 |
if (doc.createEventObject && root.doScroll) {
|
1207 |
try {
|
1208 |
top = !win.frameElement;
|
1217 |
},
|
1218 |
/* Cross-browser event listening */
|
1219 |
addListener: function(element, eventName, listener) {
|
1220 |
+
if (!element) {
|
1221 |
return;
|
1222 |
}
|
1223 |
//console.log(eventName);
|
1247 |
* (c) 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
1248 |
* Underscore may be freely distributed under the MIT license.
|
1249 |
*/
|
1250 |
+
throttle: function(func, wait) {
|
1251 |
+
var context, args, result;
|
1252 |
+
var timeout = null;
|
1253 |
+
var previous = 0;
|
1254 |
+
var later = function() {
|
1255 |
+
previous = new Date;
|
1256 |
+
timeout = null;
|
1257 |
+
result = func.apply(context, args);
|
1258 |
+
};
|
1259 |
+
return function() {
|
1260 |
+
var now = new Date;
|
1261 |
+
if (!previous) previous = now;
|
1262 |
+
var remaining = wait - (now - previous);
|
1263 |
+
context = this;
|
1264 |
+
args = arguments;
|
1265 |
+
if (remaining <= 0) {
|
1266 |
+
clearTimeout(timeout);
|
1267 |
+
timeout = null;
|
1268 |
+
previous = now;
|
1269 |
+
result = func.apply(context, args);
|
1270 |
+
} else if (!timeout) {
|
1271 |
+
timeout = setTimeout(later, remaining);
|
1272 |
+
}
|
1273 |
+
return result;
|
1274 |
+
};
|
1275 |
},
|
1276 |
/*
|
1277 |
* Determine which version of GA is being used
|
1278 |
* "ga", "_gaq", and "dataLayer" are the possible globals
|
1279 |
*/
|
1280 |
checkTypeofGA: function() {
|
1281 |
+
if (typeof ga === "function") {
|
1282 |
+
universalGA = true;
|
1283 |
+
}
|
1284 |
|
1285 |
+
if (typeof _gaq !== "undefined" && typeof _gaq.push === "function") {
|
1286 |
+
classicGA = true;
|
1287 |
+
}
|
1288 |
|
1289 |
+
if (typeof dataLayer !== "undefined" && typeof dataLayer.push === "function") {
|
1290 |
+
googleTagManager = true;
|
1291 |
+
}
|
1292 |
|
1293 |
}
|
1294 |
};
|
1295 |
|
1296 |
return _inbound;
|
1297 |
|
1298 |
+
})(_inbound || {});
|
1299 |
+
|
1300 |
/**
|
1301 |
* # Inbound Forms
|
1302 |
*
|
1374 |
debug: function(msg, callback) {
|
1375 |
//if app not in debug mode, exit immediately
|
1376 |
if (!debugMode || !console) {
|
1377 |
+
return;
|
1378 |
+
}
|
1379 |
+
|
1380 |
var msg = msg || false;
|
1381 |
//console.log the message
|
1382 |
if (msg && (typeof msg === 'string')) {
|
1383 |
+
console.log(msg);
|
1384 |
+
}
|
1385 |
|
1386 |
//execute the callback if one was passed-in
|
1387 |
if (callback && (callback instanceof Function)) {
|
1388 |
callback();
|
1389 |
+
}
|
1390 |
},
|
1391 |
formTrackInit: function() {
|
1392 |
|
1413 |
} else if (ClassIs.toLowerCase().indexOf("inbound-track") > -1) {
|
1414 |
return true;
|
1415 |
} else {
|
1416 |
+
cb = function() { console.log(form); };
|
|
|
|
|
1417 |
_inbound.deBugger('forms', "This form not tracked. Please assign on in settings...", cb);
|
1418 |
return false;
|
1419 |
}
|
1456 |
_inbound.Utils.removeClass('inbound-track', selector);
|
1457 |
}
|
1458 |
}
|
1459 |
+
}
|
1460 |
},
|
1461 |
/* Map field fields on load */
|
1462 |
initFormMapping: function(form) {
|
1470 |
continue;
|
1471 |
}
|
1472 |
|
|
|
1473 |
//this.ignoreFields(formInput);
|
1474 |
/* Map form fields */
|
1475 |
this.mapField(formInput);
|
1476 |
/* Remember visible inputs */
|
1477 |
this.rememberInputValues(formInput);
|
1478 |
/* Fill visible inputs */
|
1479 |
+
if (settings.formAutoPopulation && !_inbound.Utils.hasClass( "nopopulate", form ) ) {
|
1480 |
this.fillInputValues(formInput);
|
1481 |
+
}
|
1482 |
|
1483 |
+
}
|
1484 |
+
|
1485 |
+
/* loop hidden inputs */
|
1486 |
+
for (var n = hiddenInputs.length - 1; n >= 0; n--) {
|
1487 |
+
formInput = hiddenInputs[n];
|
1488 |
this.mapField(formInput);
|
1489 |
+
}
|
1490 |
|
1491 |
//console.log('mapping on load completed');
|
1492 |
},
|
1540 |
//console.log('label', label);
|
1541 |
if (label[0].innerText.toLowerCase().indexOf(lookingFor) > -1) {
|
1542 |
|
1543 |
+
found = true;
|
1544 |
+
_inbound.deBugger('forms', 'Found matching sibling label for -> ' + lookingFor);
|
1545 |
|
1546 |
}
|
1547 |
|
1611 |
ignoreFieldByValue: function(value){
|
1612 |
var ignore_field = false;
|
1613 |
|
1614 |
+
if(!value){ return false; }
|
1615 |
|
1616 |
if (value.toLowerCase() == 'visa' || value.toLowerCase() == 'mastercard' || value.toLowerCase() == 'american express' || value.toLowerCase() == 'amex' || value.toLowerCase() == 'discover') {
|
1617 |
ignore_field = true;
|
1639 |
document.body.style.cursor = "default";
|
1640 |
utils.removeClass('wpl-track-me', form);
|
1641 |
utils.removeListener(form, 'submit', this.formListener);
|
1642 |
+
var formClass = form.getAttribute('class');
|
1643 |
+
if (formClass !== "" && formClass !== null) {
|
1644 |
+
/* If contact form 7 do this */
|
1645 |
+
if (formClass.toLowerCase().indexOf("wpcf7-form") != -1) {
|
1646 |
+
//alert('release')
|
1647 |
+
setTimeout(function() {
|
1648 |
+
document.body.style.cursor = "default";
|
1649 |
+
}, 300);
|
1650 |
+
return true;
|
1651 |
+
}
|
1652 |
+
}
|
1653 |
+
|
1654 |
form.submit();
|
1655 |
/* fallback if submit name="submit" */
|
1656 |
setTimeout(function() {
|
1657 |
for (var i = 0; i < form.elements.length; i++) {
|
1658 |
formInput = form.elements[i];
|
1659 |
type = formInput.type || false;
|
1660 |
+
if (type === "submit" && formInput.name === "submit") {
|
1661 |
form.elements[i].click();
|
1662 |
}
|
1663 |
}
|
1664 |
+
}, 2000);
|
1665 |
|
1666 |
},
|
1667 |
saveFormData: function(form) {
|
1729 |
value = (formInput.value);
|
1730 |
}
|
1731 |
|
1732 |
+
//console.log('select val', value);
|
1733 |
break;
|
1734 |
}
|
1735 |
|
1821 |
|
1822 |
fullName = (fName && lName) ? fName + " " + lName : fullName;
|
1823 |
|
1824 |
+
if(!fName) { fName = ""; }
|
1825 |
+
if(!lName) { lName = ""; }
|
1826 |
+
|
1827 |
_inbound.deBugger('forms', "fName = " + fName);
|
1828 |
_inbound.deBugger('forms', "lName = " + lName);
|
1829 |
_inbound.deBugger('forms', "fullName = " + fullName);
|
1851 |
/* Filter here for raw */
|
1852 |
//alert(mapped_params);
|
1853 |
/**
|
1854 |
+
* Old data model
|
1855 |
var return_data = {
|
1856 |
"action": 'inbound_store_lead',
|
1857 |
"emailTo": data['email'],
|
1865 |
"Mapped_Data": mapped_form_data,
|
1866 |
"Search_Data": data['search_data']
|
1867 |
};
|
1868 |
+
*/
|
1869 |
formData = {
|
1870 |
'action': 'inbound_lead_store',
|
1871 |
'email': email,
|
1902 |
_inbound.Forms.releaseFormSubmit(form);
|
1903 |
|
1904 |
}
|
1905 |
+
|
|
|
1906 |
_inbound.trigger('form_before_submission', formData);
|
|
|
1907 |
|
1908 |
utils.ajaxPost(inbound_settings.admin_url, formData, callback);
|
1909 |
},
|
2121 |
"facebook.com", "verizon.net", "sbcglobal.net", "att.net", "gmx.com", "mail.com", "outlook.com", "icloud.com"
|
2122 |
],
|
2123 |
|
2124 |
+
defaultTopLevelDomains: ["co.jp", "co.uk", "com", "net", "org", "info", "edu", "gov", "mil", "ca", "de"],
|
2125 |
|
2126 |
run: function(opts) {
|
2127 |
opts.domains = opts.domains || Mailcheck.defaultDomains;
|
2129 |
opts.distanceFunction = opts.distanceFunction || Mailcheck.sift3Distance;
|
2130 |
|
2131 |
var defaultCallback = function(result) {
|
2132 |
+
return result;
|
2133 |
};
|
2134 |
var suggestedCallback = opts.suggested || defaultCallback;
|
2135 |
var emptyCallback = opts.empty || defaultCallback;
|
2136 |
|
2137 |
var result = Mailcheck.suggest(Mailcheck.encodeEmail(opts.email), opts.domains, opts.topLevelDomains, opts.distanceFunction);
|
2138 |
|
2139 |
+
return result ? suggestedCallback(result) : emptyCallback();
|
2140 |
},
|
2141 |
|
2142 |
suggest: function(email, domains, topLevelDomains, distanceFunction) {
|
2209 |
|
2210 |
sift3Distance: function(s1, s2) {
|
2211 |
// sift3: http://siderite.blogspot.com/2007/04/super-fast-and-accurate-string-distance.html
|
2212 |
+
if (s1 === null || s1.length === 0) {
|
2213 |
+
if (s2 === null || s2.length === 0) {
|
2214 |
return 0;
|
2215 |
} else {
|
2216 |
return s2.length;
|
2217 |
}
|
2218 |
}
|
2219 |
|
2220 |
+
if (s2 === null || s2.length === 0) {
|
2221 |
return s1.length;
|
2222 |
}
|
2223 |
|
2266 |
var domainParts = domain.split(".");
|
2267 |
var tld = "";
|
2268 |
|
2269 |
+
if (domainParts.length === 0) {
|
2270 |
// The address does not have a top-level domain
|
2271 |
return false;
|
2272 |
} else if (domainParts.length == 1) {
|
2286 |
topLevelDomain: tld,
|
2287 |
domain: domain,
|
2288 |
address: parts.join("@")
|
2289 |
+
};
|
2290 |
},
|
2291 |
|
2292 |
// Encode the email address to prevent XSS but leave in valid
|
2299 |
.replace("%7D", "}");
|
2300 |
return result;
|
2301 |
}
|
2302 |
+
};
|
2303 |
} // End Mailcheck
|
2304 |
|
2305 |
|
2306 |
return _inbound;
|
2307 |
|
2308 |
+
})(_inbound || {});
|
2309 |
/**
|
2310 |
* # Analytics Events
|
2311 |
*
|
2370 |
|
2371 |
var is_IE_11 = !(window.ActiveXObject) && "ActiveXObject" in window;
|
2372 |
|
2373 |
+
if( typeof CustomEvent === 'function') {
|
|
|
|
|
|
|
|
|
|
|
2374 |
|
2375 |
var TriggerEvent = new CustomEvent(eventName, {
|
2376 |
detail: data,
|
2378 |
cancelable: options.cancelable
|
2379 |
});
|
2380 |
|
2381 |
+
} else {
|
2382 |
+
var TriggerEvent = document.createEvent("Event");
|
2383 |
+
TriggerEvent.initEvent(eventName, true, true);
|
2384 |
}
|
2385 |
+
|
2386 |
/*! 1. Trigger Pure Javascript Event See: https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events for example on creating events */
|
2387 |
window.dispatchEvent(TriggerEvent);
|
2388 |
/*! 2. Trigger _inbound action */
|
2395 |
}
|
2396 |
|
2397 |
function triggerJQueryEvent(eventName, data) {
|
2398 |
+
if (window.InboundQuery) {
|
2399 |
var data = data || {};
|
2400 |
+
/*! try catch here */
|
2401 |
+
InboundQuery(document).trigger(eventName, data);
|
2402 |
}
|
2403 |
};
|
2404 |
|
2828 |
});
|
2829 |
window.dispatchEvent(error);
|
2830 |
console.log('Page Save Error');
|
2831 |
+
}
|
2832 |
|
2833 |
};
|
2834 |
|
2835 |
return _inbound;
|
2836 |
|
2837 |
+
})(_inbound || {});
|
2838 |
/* LocalStorage Component */
|
2839 |
var InboundTotalStorage = (function (_inbound){
|
2840 |
|
2967 |
return ret;
|
2968 |
}
|
2969 |
};
|
2970 |
+
})(_inbound || {});
|
2971 |
/**
|
2972 |
* Leads API functions
|
2973 |
* @param Object _inbound - Main JS object
|
3003 |
leadDataExpire = _inbound.Utils.readCookie("lead_data_expire");
|
3004 |
data = {
|
3005 |
action: 'inbound_get_all_lead_data',
|
3006 |
+
wp_lead_id: wp_lead_id
|
3007 |
},
|
3008 |
success = function(returnData) {
|
3009 |
var leadData = JSON.parse(returnData);
|
3040 |
var wp_lead_id = _inbound.Utils.readCookie("wp_lead_id");
|
3041 |
var data = {
|
3042 |
action: 'wpl_check_lists',
|
3043 |
+
wp_lead_id: wp_lead_id
|
3044 |
};
|
3045 |
var success = function(user_id) {
|
3046 |
_inbound.Utils.createCookie("lead_session_list_check", true, {
|
3057 |
|
3058 |
return _inbound;
|
3059 |
|
3060 |
+
})(_inbound || {});
|
3061 |
/**
|
3062 |
* # Page View Tracking
|
3063 |
*
|
3081 |
reportInterval,
|
3082 |
idleTimeout,
|
3083 |
utils = _inbound.Utils,
|
|
|
3084 |
timeNow = _inbound.Utils.GetDate(),
|
3085 |
+
lsType = (typeof wp !== "undefined") ? 'admin_page_views' : 'page_views',
|
3086 |
+
Pages = _inbound.totalStorage(lsType) || {},
|
3087 |
/*!
|
3088 |
Todo: Use UTC offset
|
3089 |
var x = new Date();
|
3096 |
_inbound.PageTracking = {
|
3097 |
|
3098 |
init: function(options) {
|
3099 |
+
//console.log('type', lsType);
|
3100 |
+
if(lsType !== 'page_views') {
|
3101 |
+
return false; // in admin
|
3102 |
+
}
|
3103 |
this.CheckTimeOut();
|
3104 |
// Set up options and defaults
|
3105 |
options = options || {};
|
3314 |
getPageViews: function() {
|
3315 |
var local_store = _inbound.Utils.checkLocalStorage();
|
3316 |
if (local_store) {
|
3317 |
+
var page_views = localStorage.getItem(lsType),
|
3318 |
local_object = JSON.parse(page_views);
|
3319 |
if (typeof local_object == 'object' && local_object) {
|
3320 |
//this.triggerPageView();
|
3355 |
|
3356 |
_inbound.trigger('page_visit', pageData);
|
3357 |
|
3358 |
+
_inbound.totalStorage(lsType, Pages);
|
3359 |
|
3360 |
this.storePageView();
|
3361 |
|
3422 |
|
3423 |
return _inbound;
|
3424 |
|
3425 |
+
})(_inbound || {});
|
3426 |
/**
|
3427 |
* # Start
|
3428 |
*
|
shared/assets/js/frontend/analytics/inboundAnalytics.min.js
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
1 |
+
/*! Inbound Analyticsv1.0.0 | (c) 2015 Inbound Now | https://github.com/inboundnow/cta */
|
2 |
+
var inbound_data=inbound_data||{},_inboundOptions=_inboundOptions||{},_gaq=_gaq||[],_inbound=function(e){var t={timeout:3e4,formAutoTracking:!0,formAutoPopulation:!0},n={init:function(){_inbound.Utils.init(),_inbound.Utils.domReady(window,function(){_inbound.DomLoaded()})},DomLoaded:function(){_inbound.PageTracking.init(),_inbound.Forms.init(),_inbound.Utils.setUrlParams(),_inbound.LeadsAPI.init(),setTimeout(function(){_inbound.Forms.init()},2e3),_inbound.trigger("analytics_ready")},extend:function(e,t){var n,i={};for(n in e)Object.prototype.hasOwnProperty.call(e,n)&&(i[n]=e[n]);for(n in t)Object.prototype.hasOwnProperty.call(t,n)&&(i[n]=t[n]);return i},debug:function(){},deBugger:function(e,t,n){if(console){var i,o,a,r=document.location.hash?document.location.hash:"",s=r.indexOf("#debug")>-1,t=t||!1;r&&r.match(/debug/)&&(r=r.split("-"),a=r[1]),o="true"===_inbound.Utils.readCookie("inbound_debug")?!0:!1,i="true"===_inbound.Utils.readCookie("inbound_debug_"+e)?!0:!1,(i||s||o)&&(t&&"string"==typeof t&&(o||"all"===a?console.log('logAll "'+e+'" =>',t):i?console.log('log "'+e+'" =>',t):e===a&&console.log('#log "'+e+'" =>',t)),n&&n instanceof Function&&n())}}},i=n.extend(t,e);return n.Settings=i||{},n}(_inboundOptions),_inboundHooks=function(e){var t=function(){function e(e,t,n,i){return"string"==typeof e&&"function"==typeof t&&(n=parseInt(n||10,10),s("actions",e,t,n,i)),c}function t(){var e=Array.prototype.slice.call(arguments),t=e.shift();return"string"==typeof t&&u("actions",t,e),c}function n(e,t){return"string"==typeof e&&r("actions",e,t),c}function i(e,t,n){return"string"==typeof e&&"function"==typeof t&&(n=parseInt(n||10,10),s("filters",e,t,n)),c}function o(){var e=Array.prototype.slice.call(arguments),t=e.shift();return"string"==typeof t?u("filters",t,e):c}function a(e,t){return"string"==typeof e&&r("filters",e,t),c}function r(e,t,n,i){if(d[e][t])if(n){var o,a=d[e][t];if(i)for(o=a.length;o--;){var r=a[o];r.callback===n&&r.context===i&&a.splice(o,1)}else for(o=a.length;o--;)a[o].callback===n&&a.splice(o,1)}else d[e][t]=[]}function s(e,t,n,i,o){var a={callback:n,priority:i,context:o},r=d[e][t];r?(r.push(a),r=l(r)):r=[a],d[e][t]=r}function l(e){for(var t,n,i,o=1,a=e.length;a>o;o++){for(t=e[o],n=o;(i=e[n-1])&&i.priority>t.priority;)e[n]=e[n-1],--n;e[n]=t}return e}function u(e,t,n){var i=d[e][t];if(!i)return"filters"===e?n[0]:!1;var o=0,a=i.length;if("filters"===e)for(;a>o;o++)n[0]=i[o].callback.apply(i[o].context,n);else for(;a>o;o++)i[o].callback.apply(i[o].context,n);return"filters"===e?n[0]:!0}var c={removeFilter:a,applyFilters:o,addFilter:i,removeAction:n,doAction:t,addAction:e},d={actions:{},filters:{}};return c};return e.hooks=new t,e.add_action=function(){var t=arguments[0].split(" ");for(k in t)arguments[0]="inbound."+t[k],e.hooks.addAction.apply(this,arguments);return this},e.remove_action=function(){return arguments[0]="inbound."+arguments[0],e.hooks.removeAction.apply(this,arguments),this},e.do_action=function(){return arguments[0]="inbound."+arguments[0],e.hooks.doAction.apply(this,arguments),this},e.add_filter=function(){return arguments[0]="inbound."+arguments[0],e.hooks.addFilter.apply(this,arguments),this},e.remove_filter=function(){return arguments[0]="inbound."+arguments[0],e.hooks.removeFilter.apply(this,arguments),this},e.apply_filters=function(){return arguments[0]="inbound."+arguments[0],e.hooks.applyFilters.apply(this,arguments)},e}(_inbound||{}),_inboundUtils=function(e){var t,n=window.XMLHttpRequest&&"withCredentials"in new XMLHttpRequest,i=(Object.prototype.toString,("https:"==location.protocol?"https://":"http://")+location.hostname+location.pathname.replace(/\/$/,"")),o={api_host:i,track_pageview:!0,track_links_timeout:300,cookie_name:"_sp",cookie_expiration:365,cookie_domain:(host=location.hostname.match(/[a-z0-9][a-z0-9\-]+\.[a-z\.]{2,6}$/i))?host[0]:""};return e.Utils={init:function(){this.polyFills(),this.checkLocalStorage(),this.SetUID(),this.storeReferralData()},polyFills:function(){window.console||(window.console={});for(var e=["log","info","warn","error","debug","trace","dir","group","groupCollapsed","groupEnd","time","timeEnd","profile","profileEnd","dirxml","assert","count","markTimeline","timeStamp","clear"],t=0;t<e.length;t++)window.console[e[t]]||(window.console[e[t]]=function(){});Date.prototype.toISOString||!function(){function e(e){var t=String(e);return 1===t.length&&(t="0"+t),t}Date.prototype.toISOString=function(){return this.getUTCFullYear()+"-"+e(this.getUTCMonth()+1)+"-"+e(this.getUTCDate())+"T"+e(this.getUTCHours())+":"+e(this.getUTCMinutes())+":"+e(this.getUTCSeconds())+"."+String((this.getUTCMilliseconds()/1e3).toFixed(3)).slice(2,5)+"Z"}}();try{new CustomEvent("?")}catch(n){this.CustomEvent=function(e,t){function n(n,o){var a=document.createEvent(e);return null!==n?i.call(a,n,(o||(o=t)).bubbles,o.cancelable,o.detail):a.initCustomEvent=i,a}function i(t,n,i,o){this["init"+e](t,n,i,o),"detail"in this||(this.detail=o)}return n}(this.CustomEvent?"CustomEvent":"Event",{bubbles:!1,cancelable:!1,detail:null})}document.querySelectorAll||(document.querySelectorAll=function(e){var t,n=document.createElement("style"),i=[];for(document.documentElement.firstChild.appendChild(n),document._qsa=[],n.styleSheet.cssText=e+"{x-qsa:expression(document._qsa && document._qsa.push(this))}",window.scrollBy(0,0),n.parentNode.removeChild(n);document._qsa.length;)t=document._qsa.shift(),t.style.removeAttribute("x-qsa"),i.push(t);return document._qsa=null,i}),document.querySelector||(document.querySelector=function(e){var t=document.querySelectorAll(e);return t.length?t[0]:null}),!("innerText"in document.createElement("a"))&&"getSelection"in window&&HTMLElement.prototype.__defineGetter__("innerText",function(){for(var e,t=window.getSelection(),n=[],i=0;i<t.rangeCount;i++)n[i]=t.getRangeAt(i);t.removeAllRanges(),t.selectAllChildren(this),e=t.toString(),t.removeAllRanges();for(var i=0;i<n.length;i++)t.addRange(n[i]);return e})},createCookie:function(e,t,n){var i="";if(n){var o=new Date;o.setTime(o.getTime()+24*n*60*60*1e3),i="; expires="+o.toGMTString()}document.cookie=e+"="+t+i+"; path=/"},readCookie:function(e){for(var t=e+"=",n=document.cookie.split(";"),i=0;i<n.length;i++){for(var o=n[i];" "===o.charAt(0);)o=o.substring(1,o.length);if(0===o.indexOf(t))return o.substring(t.length,o.length)}return null},eraseCookie:function(e){this.createCookie(e,"",-1)},getAllCookies:function(){var t={};if(document.cookie&&""!==document.cookie)for(var n=document.cookie.split(";"),i=0;i<n.length;i++){var o=n[i].split("=");o[0]=o[0].replace(/^ /,""),t[decodeURIComponent(o[0])]=decodeURIComponent(o[1])}return e.totalStorage("inbound_cookies",t),t},setUrlParams:function(){var n={};!function(){for(var e,t=function(e){return decodeURIComponent(e).replace(/\+/g," ")},i=window.location.search.substring(1),o=/([^&=]+)=?([^&]*)/g;e=o.exec(i);)if("-1"==e[1].indexOf("["))n[t(e[1])]=t(e[2]);else{var a=e[1].indexOf("["),r=e[1].slice(a+1,e[1].indexOf("]",a)),s=t(e[1].slice(0,a));"object"!=typeof n[s]&&(n[t(s)]={},n[t(s)].length=0),r?n[t(s)][t(r)]=t(e[2]):Array.prototype.push.call(n[t(s)],t(e[2]))}}();for(var i in n)if("object"==typeof n[i])for(var o in n[i])this.createCookie(o,n[i][o],30);else this.createCookie(i,n[i],30);if(t){var a=e.totalStorage("inbound_url_params")||{},r=this.mergeObjs(a,n);e.totalStorage("inbound_url_params",r)}var s={option1:"yo",option2:"woooo"};e.trigger("url_parameters",n,s)},getAllUrlParams:function(){var n={};if(t)var n=e.totalStorage("inbound_url_params");return n},getParameterVal:function(e,t){return(RegExp(e+"=(.+?)(&|$)").exec(t)||[,!1])[1]},checkLocalStorage:function(){if("localStorage"in window)try{ls="undefined"==typeof window.localStorage?void 0:window.localStorage,t="undefined"==typeof ls||"undefined"==typeof window.JSON?!1:!0}catch(e){t=!1}return t},showLocalStorageSize:function(){function e(e){return 2*e.length}function t(e){return e/1024/1024}function n(t){return{name:t,size:e(localStorage[t])}}function i(e){return e.size=t(e.size).toFixed(2)+" MB",e}var o=Object.keys(localStorage).map(n).map(i);console.table(o)},addDays:function(e,t){return new Date(e.getTime()+24*t*60*60*1e3)},GetDate:function(){var e=new Date,t=e.getDate(),n=10>t?"0":"",i=e.getFullYear(),o=e.getHours(),a=10>o?"0":"",r=e.getMinutes(),s=10>r?"0":"",l=e.getSeconds(),u=10>l?"0":"",c=e.getMonth()+1,d=10>c?"0":"",m=i+"/"+d+c+"/"+n+t+" "+a+o+":"+s+r+":"+u+l;return m},SetSessionTimeout:function(){var e=(this.readCookie("lead_session_expire"),new Date);e.setTime(e.getTime()+18e5),this.createCookie("lead_session_expire",!0,e)},storeReferralData:function(){var t=new Date,n=document.referrer||"Direct Traffic",i=e.Utils.readCookie("inbound_referral_site"),o=e.totalStorage("inbound_original_referral");t.setTime(t.getTime()+18e5),i||this.createCookie("inbound_referral_site",n,t),o||e.totalStorage("inbound_original_referral",o)},CreateUID:function(e){var t="0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz".split(""),n="";e||(e=Math.floor(Math.random()*t.length));for(var i=0;e>i;i++)n+=t[Math.floor(Math.random()*t.length)];return n},generateGUID:function(e){return e?(e^16*Math.random()>>e/4).toString(16):([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,guid)},SetUID:function(e){if(!this.readCookie("wp_lead_uid")){var t=e||this.CreateUID(35);this.createCookie("wp_lead_uid",t)}},countProperties:function(e){var t=0;for(var n in e)e.hasOwnProperty(n)&&++t;return t},mergeObjs:function(e,t){var n={};for(var i in e)n[i]=e[i];for(var i in t)n[i]=t[i];return n},hasClass:function(e,t){var n;if("classList"in document.documentElement)var n=t.classList.contains(e);else var n=new RegExp("(^|\\s)"+e+"(\\s|$)").test(t.className);return n},addClass:function(e,t){"classList"in document.documentElement?t.classList.add(e):this.hasClass(t,e)||(t.className+=(t.className?" ":"")+e)},removeClass:function(e,t){"classList"in document.documentElement?t.classList.remove(e):this.hasClass(t,e)&&(t.className=t.className.replace(new RegExp("(^|\\s)*"+e+"(\\s|$)*","g"),""))},removeElement:function(e){e.parentNode.removeChild(e)},trim:function(e){return e=e.replace(/(^\s*)|(\s*$)/gi,""),e=e.replace(/[ ]{2,}/gi," "),e=e.replace(/\n /,"\n")},ajaxPolyFill:function(){if("undefined"!=typeof XMLHttpRequest)return new XMLHttpRequest;for(var e,t=["MSXML2.XmlHttp.5.0","MSXML2.XmlHttp.4.0","MSXML2.XmlHttp.3.0","MSXML2.XmlHttp.2.0","Microsoft.XmlHttp"],n=0;n<t.length;n++)try{e=new ActiveXObject(t[n]);break}catch(i){}return e},ajaxSendData:function(e,t,n,i){var o=this.ajaxPolyFill();setTimeout(function(){o.open(n,e,!0),o.onreadystatechange=function(){4==o.readyState&&t(o.responseText)},"POST"==n&&o.setRequestHeader("Content-type","application/x-www-form-urlencoded"),o.send(i)},100)},ajaxGet:function(e,t,n,i){var o=[];for(var a in t)o.push(encodeURIComponent(a)+"="+encodeURIComponent(t[a]));this.ajaxSendData(e+"?"+o.join("&"),n,"GET",null,i)},ajaxPost:function(e,t,n,i){var o=[];for(var a in t)o.push(encodeURIComponent(a)+"="+encodeURIComponent(t[a]));this.ajaxSendData(e,n,"POST",o.join("&"),i)},sendEvent:function(e,t,i){t=t||{},async=!0;var a=getCookie();if(a){var r;for(r in a)t[r]=a[r]}t.id||(t.id=getId());var s={e:e,t:(new Date).toISOString(),kv:t},l=o.api_host+"/track?data="+encodeURIComponent(JSON.stringify(s));if(n){var u=new XMLHttpRequest;u.open("GET",l,async),u.withCredentials=async,u.send(null)}else{var c=document.createElement("script");c.type="text/javascript",c.async=async,c.defer=async,c.src=l;var d=document.getElementsByTagName("script")[0];d.parentNode.insertBefore(c,d)}return action(i),self},domReady:function(e,t){var n=!1,i=!0,o=e.document,a=o.documentElement,r=o.addEventListener?"addEventListener":"attachEvent",s=o.addEventListener?"removeEventListener":"detachEvent",l=o.addEventListener?"":"on",u=function(i){("readystatechange"!=i.type||"complete"==o.readyState)&&(("load"==i.type?e:o)[s](l+i.type,u,!1),!n&&(n=!0)&&t.call(e,i.type||i))},c=function(){try{a.doScroll("left")}catch(e){return setTimeout(c,50),void 0}u("poll")};if("complete"==o.readyState)t.call(e,"lazy");else{if(o.createEventObject&&a.doScroll){try{i=!e.frameElement}catch(d){}i&&c()}o[r](l+"DOMContentLoaded",u,!1),o[r](l+"readystatechange",u,!1),e[r](l+"load",u,!1)}},addListener:function(e,t,n){e&&(e.addEventListener?e.addEventListener(t,n,!1):e.attachEvent?e.attachEvent("on"+t,n):e["on"+t]=n)},removeListener:function(e,t,n){e.removeEventListener?e.removeEventListener(t,n,!1):e.detachEvent?e.detachEvent("on"+t,n):e["on"+t]=null},throttle:function(e,t){var n,i,o,a=null,r=0,s=function(){r=new Date,a=null,o=e.apply(n,i)};return function(){var l=new Date;r||(r=l);var u=t-(l-r);return n=this,i=arguments,0>=u?(clearTimeout(a),a=null,r=l,o=e.apply(n,i)):a||(a=setTimeout(s,u)),o}},checkTypeofGA:function(){"function"==typeof ga&&(universalGA=!0),"undefined"!=typeof _gaq&&"function"==typeof _gaq.push&&(classicGA=!0),"undefined"!=typeof dataLayer&&"function"==typeof dataLayer.push&&(googleTagManager=!0)}},e}(_inbound||{}),InboundForms=function(e){var t=!1,n=e.Utils,o=[],a=[],r=[],s=e.Settings,l=["first name","last name","name","email","e-mail","phone","website","job title","your favorite food","company","tele","address","comment"];if(e.Forms={init:function(){e.Forms.runFieldMappingFilters(),e.Forms.assignTrackClass(),e.Forms.formTrackInit()},runFieldMappingFilters:function(){l=e.hooks.applyFilters("forms.field_map",l)},debug:function(e,n){if(t&&console){var e=e||!1;e&&"string"==typeof e&&console.log(e),n&&n instanceof Function&&n()}},formTrackInit:function(){for(var e=0;e<window.document.forms.length;e++){var t=!1,n=window.document.forms[e];n.dataset.formProcessed||(n.dataset.formProcessed=!0,t=this.checkTrackStatus(n),t&&(this.attachFormSubmitEvent(n),this.initFormMapping(n)))}},checkTrackStatus:function(t){var n=t.getAttribute("class");return""!==n&&null!==n?n.toLowerCase().indexOf("wpl-track-me")>-1?!0:n.toLowerCase().indexOf("inbound-track")>-1?!0:(cb=function(){console.log(t)},e.deBugger("forms","This form not tracked. Please assign on in settings...",cb),!1):void 0},assignTrackClass:function(){if(window.inbound_settings){if(inbound_settings.inbound_track_include){var t=inbound_settings.inbound_track_include.split(","),n="add selectors "+inbound_settings.inbound_track_include;e.deBugger("forms",n),this.loopClassSelectors(t,"add")}if(inbound_settings.inbound_track_exclude){var t=inbound_settings.inbound_track_exclude.split(","),n="remove selectors "+inbound_settings.inbound_track_exclude;e.deBugger("forms",n),this.loopClassSelectors(t,"remove")}}},loopClassSelectors:function(t,i){for(var o=t.length-1;o>=0;o--){var a=n.trim(t[o]);-1===a.indexOf("#")&&-1===a.indexOf(".")&&(a="#"+a),a=document.querySelector(a),a&&("add"===i?(e.Utils.addClass("wpl-track-me",a),e.Utils.addClass("inbound-track",a)):(e.Utils.removeClass("wpl-track-me",a),e.Utils.removeClass("inbound-track",a)))}},initFormMapping:function(t){for(var n=[],i=0;i<t.elements.length;i++)formInput=t.elements[i],"hidden"!==formInput.type?(this.mapField(formInput),this.rememberInputValues(formInput),s.formAutoPopulation&&!e.Utils.hasClass("nopopulate",t)&&this.fillInputValues(formInput)):n.push(formInput);for(var o=n.length-1;o>=0;o--)formInput=n[o],this.mapField(formInput)},mapField:function(t){var a=t.id||!1,r=t.name||!1,s=this.getInputLabel(t);if(s){var u=this.ignoreFieldByLabel(s[0].innerText);if(u)return t.dataset.ignoreFormField=!0,!1}for(i=0;i<l.length;i++){var c=!1,d=l[i],m=n.trim(d),f=m.replace(/ /g,"_");r&&r.toLowerCase().indexOf(m)>-1?(c=!0,e.deBugger("forms","Found matching name attribute for -> "+m)):a&&a.toLowerCase().indexOf(m)>-1?(c=!0,e.deBugger("forms","Found matching ID attribute for ->"+m)):s?s[0].innerText.toLowerCase().indexOf(m)>-1&&(c=!0,e.deBugger("forms","Found matching sibling label for -> "+m)):o.push(m),c&&(this.addDataAttr(t,f),this.removeArrayItem(l,m),i--)}return inbound_data},formListener:function(t){t.preventDefault(),e.Forms.saveFormData(t.target),document.body.style.cursor="wait"},attachFormSubmitEvent:function(e){n.addListener(e,"submit",this.formListener);var t=document.querySelector(".inbound-email");n.addListener(t,"blur",this.mailCheck)},ignoreFieldByLabel:function(t){var n=!1;return t?((-1!=t.toLowerCase().indexOf("credit card")||-1!=t.toLowerCase().indexOf("card number"))&&(n=!0),(-1!=t.toLowerCase().indexOf("expiration")||-1!=t.toLowerCase().indexOf("expiry"))&&(n=!0),("month"==t.toLowerCase()||"mm"==t.toLowerCase()||"yy"==t.toLowerCase()||"yyyy"==t.toLowerCase()||"year"==t.toLowerCase())&&(n=!0),(-1!=t.toLowerCase().indexOf("cvv")||-1!=t.toLowerCase().indexOf("cvc")||-1!=t.toLowerCase().indexOf("secure code")||-1!=t.toLowerCase().indexOf("security code"))&&(n=!0),n&&e.deBugger("forms","ignore "+t),n):!1},ignoreFieldByValue:function(e){var t=!1;if(!e)return!1;("visa"==e.toLowerCase()||"mastercard"==e.toLowerCase()||"american express"==e.toLowerCase()||"amex"==e.toLowerCase()||"discover"==e.toLowerCase())&&(t=!0);var n=new RegExp("/^[0-9]+$/");if(n.test(e)){var i=e.replace(" ","");this.isInt(i)&&i.length>=16&&(t=!0)}return t},isInt:function(e){return"number"==typeof e&&isFinite(e)&&e%1===0},releaseFormSubmit:function(e){document.body.style.cursor="default",n.removeClass("wpl-track-me",e),n.removeListener(e,"submit",this.formListener);var t=e.getAttribute("class");return""!==t&&null!==t&&-1!=t.toLowerCase().indexOf("wpcf7-form")?(setTimeout(function(){document.body.style.cursor="default"},300),!0):(e.submit(),setTimeout(function(){for(var t=0;t<e.elements.length;t++)formInput=e.elements[t],type=formInput.type||!1,"submit"===type&&"submit"===formInput.name&&e.elements[t].click()},2e3),void 0)},saveFormData:function(t){for(var i=i||{},o=0;o<t.elements.length;o++)if(formInput=t.elements[o],multiple=!1,formInput.name){if(formInput.dataset.ignoreFormField){e.deBugger("forms","ignore "+formInput.name);continue}switch(inputName=formInput.name.replace(/\[([^\[]*)\]/g,"%5B%5D$1"),i[inputName]||(i[inputName]={}),formInput.type&&(i[inputName].type=formInput.type),i[inputName].name||(i[inputName].name=formInput.name),formInput.dataset.mapFormField&&(i[inputName].map=formInput.dataset.mapFormField),formInput.nodeName){case"INPUT":if(l=this.getInputValue(formInput),l===!1)continue;break;case"TEXTAREA":l=formInput.value;break;case"SELECT":if(formInput.multiple){values=[],multiple=!0;for(var s=0;s<formInput.length;s++)formInput[s].selected&&values.push(encodeURIComponent(formInput[s].value))}else l=formInput.value}if(e.deBugger("forms","Input Value = "+l),l){i[inputName].value||(i[inputName].value=[]),i[inputName].value.push(multiple?values.join(","):encodeURIComponent(l));var l=multiple?values.join(","):encodeURIComponent(l)}}e.deBugger("forms",i);for(var u in i){var c=i[u].value,d=i[u].map;if("undefined"!=typeof c&&null!=c&&""!=c&&a.push(u+"="+i[u].value.join(",")),"undefined"!=typeof d&&null!=d&&i[u].value&&(r.push(d+"="+i[u].value.join(",")),"email"===u))var m=i[u].value.join(",")}var f=a.join("&");e.deBugger("forms","Stringified Raw Form PARAMS: "+f);var g=r.join("&");e.deBugger("forms","Stringified Mapped PARAMS"+g);var m=n.getParameterVal("email",g)||n.readCookie("wp_lead_email");m||(m=n.getParameterVal("wpleads_email_address",g));var p=n.getParameterVal("name",g),v=n.getParameterVal("first_name",g),h=n.getParameterVal("last_name",g);if(!h&&v){var _=decodeURI(v).split(" ");_.length>0&&(v=_[0],h=_[1])}if(p&&!h&&!v){var _=decodeURI(p).split(" ");_.length>0&&(v=_[0],h=_[1])}p=v&&h?v+" "+h:p,v||(v=""),h||(h=""),e.deBugger("forms","fName = "+v),e.deBugger("forms","lName = "+h),e.deBugger("forms","fullName = "+p);var b=e.totalStorage("page_views")||{},y=e.totalStorage("inbound_url_params")||{};if("undefined"!=typeof landing_path_info)var w=landing_path_info.variation;else if("undefined"!=typeof cta_path_info)var w=cta_path_info.variation;else var w=0;var k=inbound_settings.post_type||"page",C=inbound_settings.post_id||0;search_data={},formData={action:"inbound_lead_store",email:m,full_name:p,first_name:v,last_name:h,raw_params:f,mapped_params:g,url_params:JSON.stringify(y),search_data:"test",page_views:JSON.stringify(b),post_type:k,page_id:C,variation:w,source:n.readCookie("inbound_referral_site")},callback=function(i){e.deBugger("forms","Lead Created with ID: "+i),i=parseInt(i,10),formData.leadID=i,i&&(n.createCookie("wp_lead_id",i),e.totalStorage.deleteItem("page_views"),e.totalStorage.deleteItem("tracking_events")),e.trigger("form_after_submission",formData),e.Forms.releaseFormSubmit(t)},e.trigger("form_before_submission",formData),n.ajaxPost(inbound_settings.admin_url,formData,callback)},rememberInputValues:function(t){var i=(t.name?"inbound_"+t.name:"",t.type?t.type:"text");return"submit"===i||"hidden"===i||"file"===i||"password"===i||t.dataset.ignoreFormField?!1:(n.addListener(t,"change",function(t){if(t.target.name){if("checkbox"!==i)var o=t.target.value;else for(var a=[],r=document.querySelectorAll('input[name="'+t.target.name+'"]'),s=0;s<r.length;s++){var l=r[s].checked;l&&a.push(r[s].value),o=a.join(",")}inputData={name:t.target.name,node:t.target.nodeName.toLowerCase(),type:i,value:o,mapping:t.target.dataset.mapFormField},e.trigger("form_input_change",inputData),n.createCookie("inbound_"+t.target.name,encodeURIComponent(o))}}),void 0)},fillInputValues:function(e){var t=e.name?"inbound_"+e.name:"",i=e.type?e.type:"text";if("submit"===i||"hidden"===i||"file"===i||"password"===i)return!1;if(n.readCookie(t)&&"comment"!=t)if(value=decodeURIComponent(n.readCookie(t)),"checkbox"===i||"radio"===i)for(var o=value.split(","),a=0;a<o.length;a++)e.value.indexOf(o[a])>-1&&(e.checked=!0);else"undefined"!==value&&(e.value=value)},getInputLabel:function(e){var t;return(t=this.siblingsIsLabel(e))?t:(t=this.CheckParentForLabel(e))?t:!1},getInputValue:function(e){var t=!1;switch(e.type){case"radio":case"checkbox":e.checked&&(t=e.value);break;case"text":case"hidden":default:t=e.value}return t},addDataAttr:function(e,t){for(var n=document.getElementsByName(e.name),i=n.length-1;i>=0;i--)e.dataset.mapFormField||(n[i].dataset.mapFormField=t)},removeArrayItem:function(e,t){if(e.indexOf)index=e.indexOf(t);else for(index=e.length-1;index>=0&&e[index]!==t;--index);index>=0&&e.splice(index,1)},siblingsIsLabel:function(e){for(var t=this.getSiblings(e),n=[],i=t.length-1;i>=0;i--)"label"===t[i].nodeName.toLowerCase()&&n.push(t[i]);return n.length>0&&n.length<2?n:!1},getChildren:function(e,t){for(var n=[];e;e=e.nextSibling)1==e.nodeType&&e!=t&&n.push(e);return n},getSiblings:function(e){return this.getChildren(e.parentNode.firstChild,e)},CheckParentForLabel:function(e){if("FORM"===e.nodeName)return null;do{var t=e.getElementsByTagName("label");if(t.length>0&&t.length<2)return e.getElementsByTagName("label")}while(e=e.parentNode);return null},mailCheck:function(){var e=document.querySelector(".inbound-email");e&&(n.addListener(e,"blur",this.mailCheck),u.run({email:document.querySelector(".inbound-email").value,suggested:function(t){var i=document.querySelector(".email_suggestion");i&&n.removeElement(i);var o=document.createElement("span");o.innerHTML="<span class=\"email_suggestion\">Did you mean <b><i id='email_correction' style='cursor: pointer;' title=\"click to update\">"+t.full+"</b></i>?</span>",e.parentNode.insertBefore(o,e.nextSibling);var a=document.getElementById("email_correction");n.addListener(a,"click",function(){e.value=a.innerHTML,a.parentNode.parentNode.innerHTML="Fixed!"})},empty:function(){}}))}},"undefined"==typeof u)var u={domainThreshold:1,topLevelThreshold:3,defaultDomains:["yahoo.com","google.com","hotmail.com","gmail.com","me.com","aol.com","mac.com","live.com","comcast.net","googlemail.com","msn.com","hotmail.co.uk","yahoo.co.uk","facebook.com","verizon.net","sbcglobal.net","att.net","gmx.com","mail.com","outlook.com","icloud.com"],defaultTopLevelDomains:["co.jp","co.uk","com","net","org","info","edu","gov","mil","ca","de"],run:function(e){e.domains=e.domains||u.defaultDomains,e.topLevelDomains=e.topLevelDomains||u.defaultTopLevelDomains,e.distanceFunction=e.distanceFunction||u.sift3Distance;var t=function(e){return e},n=e.suggested||t,i=e.empty||t,o=u.suggest(u.encodeEmail(e.email),e.domains,e.topLevelDomains,e.distanceFunction);return o?n(o):i()},suggest:function(e,t,n,i){e=e.toLowerCase();var o=this.splitEmail(e),a=this.findClosestDomain(o.domain,t,i,this.domainThreshold);if(a){if(a!=o.domain)return{address:o.address,domain:a,full:o.address+"@"+a}}else{var r=this.findClosestDomain(o.topLevelDomain,n,i,this.topLevelThreshold);if(o.domain&&r&&r!=o.topLevelDomain){var s=o.domain;return a=s.substring(0,s.lastIndexOf(o.topLevelDomain))+r,{address:o.address,domain:a,full:o.address+"@"+a}}}return!1},findClosestDomain:function(e,t,n,i){i=i||this.topLevelThreshold;var o,a=99,r=null;if(!e||!t)return!1;n||(n=this.sift3Distance);for(var s=0;s<t.length;s++){if(e===t[s])return e;o=n(e,t[s]),a>o&&(a=o,r=t[s])}return i>=a&&null!==r?r:!1},sift3Distance:function(e,t){if(null===e||0===e.length)return null===t||0===t.length?0:t.length;if(null===t||0===t.length)return e.length;for(var n=0,i=0,o=0,a=0,r=5;n+i<e.length&&n+o<t.length;){if(e.charAt(n+i)==t.charAt(n+o))a++;else{i=0,o=0;for(var s=0;r>s;s++){if(n+s<e.length&&e.charAt(n+s)==t.charAt(n)){i=s;break}if(n+s<t.length&&e.charAt(n)==t.charAt(n+s)){o=s;break}}}n++}return(e.length+t.length)/2-a},splitEmail:function(e){var t=e.trim().split("@");if(t.length<2)return!1;for(var n=0;n<t.length;n++)if(""===t[n])return!1;var i=t.pop(),o=i.split("."),a="";if(0===o.length)return!1;if(1==o.length)a=o[0];else{for(var n=1;n<o.length;n++)a+=o[n]+".";o.length>=2&&(a=a.substring(0,a.length-1))}return{topLevelDomain:a,domain:i,address:t.join("@")}},encodeEmail:function(e){var t=encodeURI(e);return t=t.replace("%20"," ").replace("%25","%").replace("%5E","^").replace("%60","`").replace("%7B","{").replace("%7C","|").replace("%7D","}")}};return e}(_inbound||{}),_inboundEvents=function(e){function t(t,i,o){var i=i||{};o=o||{},o.bubbles=o.bubbles||!0,o.cancelable=o.cancelable||!0,i=e.apply_filters("filter_"+t,i);!window.ActiveXObject&&"ActiveXObject"in window;if("function"==typeof CustomEvent)var a=new CustomEvent(t,{detail:i,bubbles:o.bubbles,cancelable:o.cancelable});else{var a=document.createEvent("Event");a.initEvent(t,!0,!0)}window.dispatchEvent(a),e.do_action(t,i),n(t,i)}function n(e,t){if(window.InboundQuery){var t=t||{};InboundQuery(document).trigger(e,t)}}e.trigger=function(t,n){e.Events[t](n)};return e.Events={analytics_ready:function(){var e={opt1:!0},n={data:"xyxy"};t("analytics_ready",n,e)},url_parameters:function(e){t("url_parameters",e)},session_start:function(){console.log(""),t("session_start")},session_end:function(e){t("session_end",e),console.log("Session End")},session_active:function(){t("session_active")},session_idle:function(e){t("session_idle",e)},session_resume:function(){t("session_resume")},session_heartbeat:function(e){var n={clock:e,leadData:InboundLeadData};t("session_heartbeat",n)},page_visit:function(e){t("page_view",e)},page_first_visit:function(){t("page_first_visit"),e.deBugger("pages","First Ever Page View of this Page")},page_revisit:function(n){t("page_revisit",n);var i=function(){console.log("pageData",n),console.log("Page Revisit viewed "+n+" times")};e.deBugger("pages",status,i)},tab_hidden:function(){e.deBugger("pages","Tab Hidden"),t("tab_hidden")},tab_visible:function(){e.deBugger("pages","Tab Visible"),t("tab_visible")},tab_mouseout:function(){e.deBugger("pages","Tab Mouseout"),t("tab_mouseout")},form_input_change:function(n){var i=function(){console.log(n)};e.deBugger("forms","inputData change. Data=",i),t("form_input_change",n)},form_before_submission:function(e){t("form_before_submission",e)},form_after_submission:function(e){t("form_after_submission",e)},analyticsError:function(e,t,n){var i=new CustomEvent("inbound_analytics_error",{detail:{MLHttpRequest:e,textStatus:t,errorThrown:n}});window.dispatchEvent(i),console.log("Page Save Error")}},e}(_inbound||{}),InboundTotalStorage=function(e){var t,n,i="_inbound";if("localStorage"in window)try{n="undefined"==typeof window.localStorage?void 0:window.localStorage,t="undefined"==typeof n||"undefined"==typeof window.JSON?!1:!0,window.localStorage.setItem(i,"1"),window.localStorage.removeItem(i)}catch(o){t=!1}e.totalStorage=function(t,n){return e.totalStorage.impl.init(t,n)},e.totalStorage.setItem=function(t,n){return e.totalStorage.impl.setItem(t,n)},e.totalStorage.getItem=function(t){return e.totalStorage.impl.getItem(t)},e.totalStorage.getAll=function(){return e.totalStorage.impl.getAll()},e.totalStorage.deleteItem=function(t){return e.totalStorage.impl.deleteItem(t)},e.totalStorage.impl={init:function(e,t){return"undefined"!=typeof t?this.setItem(e,t):this.getItem(e)},setItem:function(i,o){if(!t)try{return e.Utils.createCookie(i,o),o}catch(a){console.log("Local Storage not supported by this browser. Install the cookie plugin on your site to take advantage of the same functionality. You can get it at https://github.com/carhartl/jquery-cookie")}var r=JSON.stringify(o);return n.setItem(i,r),this.parseResult(r)},getItem:function(i){if(!t)try{return this.parseResult(e.Utils.readCookie(i))}catch(o){return null}var a=n.getItem(i);return this.parseResult(a)},deleteItem:function(i){if(!t)try{return e.Utils.eraseCookie(i,null),!0}catch(o){return!1}return n.removeItem(i),!0},getAll:function(){var i=[];if(t)for(var o in n)o.length&&i.push({key:o,value:this.parseResult(n.getItem(o))});else try{for(var a=document.cookie.split(";"),r=0;r<a.length;r++){var s=a[r].split("="),l=s[0];i.push({key:l,value:this.parseResult(e.Utils.readCookie(l))})}}catch(u){return null}return i},parseResult:function(e){var t;try{t=JSON.parse(e),"undefined"==typeof t&&(t=e),"true"==t&&(t=!0),"false"==t&&(t=!1),parseFloat(t)==t&&"object"!=typeof t&&(t=parseFloat(t))}catch(n){t=e}return t}}}(_inbound||{}),_inboundLeadsAPI=function(e){return e.LeadsAPI={init:function(){var t=e.Utils,n=(t.readCookie("wp_lead_uid"),t.readCookie("wp_lead_id")),i=t.readCookie("lead_session_expire");i||(e.deBugger("leads","expired vistor. Run Processes"),n&&(e.LeadsAPI.getAllLeadData(),e.LeadsAPI.getLeadLists()))},setGlobalLeadData:function(e){InboundLeadData=e},getAllLeadData:function(){var t=e.Utils.readCookie("wp_lead_id"),n=e.totalStorage("inbound_lead_data"),i=e.Utils.readCookie("lead_data_expire");data={action:"inbound_get_all_lead_data",wp_lead_id:t},success=function(t){var n=JSON.parse(t);e.LeadsAPI.setGlobalLeadData(n),e.totalStorage("inbound_lead_data",n);var i=new Date;i.setTime(i.getTime()+18e5);var o=e.Utils.addDays(i,3);e.Utils.createCookie("lead_data_expire",!0,o)},n?(e.LeadsAPI.setGlobalLeadData(n),e.deBugger("lead","Set Global Lead Data from Localstorage"),i||(e.Utils.ajaxPost(inbound_settings.admin_url,data,success),e.deBugger("lead","localized data old. Pull new from DB"))):e.Utils.ajaxPost(inbound_settings.admin_url,data,success)},getLeadLists:function(){var t=e.Utils.readCookie("wp_lead_id"),n={action:"wpl_check_lists",wp_lead_id:t},i=function(){e.Utils.createCookie("lead_session_list_check",!0,{path:"/",expires:1}),e.deBugger("lead","Lists checked")};e.Utils.ajaxPost(inbound_settings.admin_url,n,i)}},e}(_inbound||{}),_inboundPageTracking=function(e){var t,n,i=!1,o=!1,a=!1,r=parseInt(e.Utils.readCookie("lead_session"),10)||0,s=0,l=(new Date,null),u=null,c=null,d=e.Utils,m=e.Utils.GetDate(),f="undefined"!=typeof wp?"admin_page_views":"page_views",g=e.totalStorage(f)||{},p=inbound_settings.post_id||window.location.pathname,v=e.Settings.timeout||3e4;return e.PageTracking={init:function(i){return"page_views"!==f?!1:(this.CheckTimeOut(),i=i||{},t=parseInt(i.reportInterval,10)||10,n=parseInt(i.idleTimeout,10)||3,d.addListener(document,"keydown",d.throttle(e.PageTracking.pingSession,1e3)),d.addListener(document,"click",d.throttle(e.PageTracking.pingSession,1e3)),d.addListener(window,"mousemove",d.throttle(e.PageTracking.pingSession,1e3)),e.PageTracking.checkVisibility(),this.startSession(),void 0)},setIdle:function(t){var t=t||"No Movement",n="Session IDLE. Activity Timeout due to "+t;
|
3 |
+
e.deBugger("pages",n),clearTimeout(e.PageTracking.idleTimer),e.PageTracking.stopClock(),e.trigger("session_idle")},checkVisibility:function(){var t,n,i;"undefined"!=typeof document.hidden?(t="hidden",i="visibilitychange",n="visibilityState"):"undefined"!=typeof document.mozHidden?(t="mozHidden",i="mozvisibilitychange",n="mozVisibilityState"):"undefined"!=typeof document.msHidden?(t="msHidden",i="msvisibilitychange",n="msVisibilityState"):"undefined"!=typeof document.webkitHidden&&(t="webkitHidden",i="webkitvisibilitychange",n="webkitVisibilityState");var o=document[t];e.Utils.addListener(document,i,function(){o!=document[t]&&(document[t]?(e.trigger("tab_hidden"),e.PageTracking.setIdle("browser tab switch")):(e.trigger("tab_visible"),e.PageTracking.pingSession()),o=document[t])})},clock:function(){r+=1;var n=r/60,i="Total time spent on Page in this Session: "+n.toFixed(2)+" min";if(e.deBugger("pages",i),r>0&&r%t===0){var o=new Date;o.setTime(o.getTime()+18e5),d.createCookie("lead_session",r,o),e.trigger("session_heartbeat",r)}},inactiveClock:function(){s+=1;var t=(1800-s)/60,n="Time until Session Timeout: "+t.toFixed(2)+" min";e.deBugger("pages",n),s>1800&&(e.trigger("session_end",InboundLeadData),e.Utils.eraseCookie("lead_session"),s=0,clearTimeout(u))},stopClock:function(){o=!0,clearTimeout(l),clearTimeout(u),u=setInterval(e.PageTracking.inactiveClock,1e3)},restartClock:function(){o=!1,e.trigger("session_resume"),e.deBugger("pages","Activity resumed. Session Active"),clearTimeout(l),s=0,clearTimeout(u),l=setInterval(e.PageTracking.clock,1e3)},turnOff:function(){e.PageTracking.setIdle(),a=!0},turnOn:function(){a=!1},startSession:function(){new Date;i=!0,l=setInterval(e.PageTracking.clock,1e3);var t=d.readCookie("lead_session");if(t)e.trigger("session_active");else{e.trigger("session_start");var n=new Date;n.setTime(n.getTime()+18e5),e.Utils.createCookie("lead_session",1,n)}this.pingSession()},resetInactiveFunc:function(){s=0,clearTimeout(u)},pingSession:function(t){a||(i||e.PageTracking.startSession(),o&&e.PageTracking.restartClock(),clearTimeout(c),c=setTimeout(e.PageTracking.setIdle,1e3*n+100),"undefined"!=typeof t&&"mousemove"===t.type&&e.PageTracking.mouseEvents(t))},mouseEvents:function(t){t.pageY<=5&&e.trigger("tab_mouseout")},getPageViews:function(){var t=e.Utils.checkLocalStorage();if(t){var n=localStorage.getItem(f),i=JSON.parse(n);return i}},isRevisit:function(e){var t=!1,e=e||{},n=e[p];return"undefined"!=typeof n&&null!==n&&(t=!0),t},triggerPageView:function(t){var n={title:document.title,url:document.location.href,path:document.location.pathname,count:1};t?(g[p].push(m),n.count=g[p].length,e.trigger("page_revisit",n)):(g[p]=[],g[p].push(m),e.trigger("page_first_visit",n)),e.trigger("page_visit",n),e.totalStorage(f,g),this.storePageView()},CheckTimeOut:function(){var t,n,i=this.isRevisit(g);if(i){var o=g[p].length-1,a=g[p][o],r=Math.abs(new Date(a).getTime()-new Date(m).getTime());n=r>v,n?(t="Timeout Happened. Page view fired",this.triggerPageView(i)):(time_left=.001*Math.abs(v-r),t=v/1e3+" sec timeout not done: "+time_left+" seconds left")}else this.triggerPageView(i);e.deBugger("pages",t)},storePageView:function(){var t=e.Utils.readCookie("wp_lead_id"),n=e.Utils.readCookie("wp_lead_uid");if(t){var i={action:"wpl_track_user",wp_lead_uid:n,wp_lead_id:t,page_id:inbound_settings.post_id,current_url:window.location.href,json:"0"},o=function(){};e.Utils.ajaxPost(inbound_settings.admin_url,i,o)}}},e}(_inbound||{});_inbound.init(),InboundLeadData=_inbound.totalStorage("inbound_lead_data")||null;
|
shared/{classes/js → assets/js/global}/debug.js
RENAMED
File without changes
|
shared/{classes/js → assets/js/global}/inbound-dequeue-scripts.js
RENAMED
File without changes
|
shared/assets/{global/js → js/global}/jquery.cookie.js
RENAMED
File without changes
|
shared/assets/{global/js → js/global}/jquery.total-storage.min.js
RENAMED
File without changes
|
shared/assets/readme.txt
CHANGED
@@ -1,7 +0,0 @@
|
|
1 |
-
For Globally Shared css and JS
|
2 |
-
|
3 |
-
Admin js/css goes in admin
|
4 |
-
|
5 |
-
Frontend js/css goes in frontend
|
6 |
-
|
7 |
-
If used in both frontend and backend use global folder
|
|
|
|
|
|
|
|
|
|
|
|
|
|
shared/classes/class.ajax.php
ADDED
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* This class loads miscellaneous WordPress AJAX listeners
|
5 |
+
*/
|
6 |
+
if (!class_exists()) {
|
7 |
+
|
8 |
+
class Inbound_Ajax {
|
9 |
+
|
10 |
+
/**
|
11 |
+
* Initializes classs
|
12 |
+
*/
|
13 |
+
public function __construct() {
|
14 |
+
self::load_hooks();
|
15 |
+
}
|
16 |
+
|
17 |
+
/**
|
18 |
+
* Loads hooks and filters
|
19 |
+
*/
|
20 |
+
public static function load_hooks() {
|
21 |
+
|
22 |
+
/* Ajax that runs on pageload */
|
23 |
+
add_action( 'wp_ajax_nopriv_inbound_ajax', array( __CLASS__ , 'run_ajax_actions') );
|
24 |
+
add_action( 'wp_ajax_inbound_ajax', array( __CLASS__ , 'run_ajax_actions') );
|
25 |
+
|
26 |
+
}
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Executes hook that runs all ajax actions
|
30 |
+
*/
|
31 |
+
public static function run_ajax_actions() {
|
32 |
+
|
33 |
+
}
|
34 |
+
|
35 |
+
|
36 |
+
}
|
37 |
+
|
38 |
+
/* Loads Inbound_Ajax pre init */
|
39 |
+
$Inbound_Ajax = new Inbound_Ajax();
|
40 |
+
}
|
shared/classes/class.branching.php
ADDED
@@ -0,0 +1,296 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if ( !class_exists('Inbound_Branching') ) {
|
4 |
+
|
5 |
+
class Inbound_Branching {
|
6 |
+
|
7 |
+
static $plugins; /* placeholder for dataset of plugins to apply developer mode too */
|
8 |
+
static $plugin; /* placeholder for plugin being processed */
|
9 |
+
static $branch; /* placeholder for current loaded branch */
|
10 |
+
static $plugin_data; /* array version of api response containing plugin data */
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Load class instance
|
14 |
+
*/
|
15 |
+
public function __construct() {
|
16 |
+
self::load_static_vars();
|
17 |
+
self::load_hooks();
|
18 |
+
}
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Load static vars
|
22 |
+
*/
|
23 |
+
public static function load_static_vars() {
|
24 |
+
self::$plugins = apply_filters( 'inbound_plugin_branches' , array() );
|
25 |
+
}
|
26 |
+
/**
|
27 |
+
* Load hooks and filters
|
28 |
+
*
|
29 |
+
*/
|
30 |
+
private static function load_hooks() {
|
31 |
+
/* add controls */
|
32 |
+
add_filter('plugin_action_links', array( __CLASS__ , 'add_plugin_options' ) , 20 , 2);
|
33 |
+
|
34 |
+
/* enqueue js includes */
|
35 |
+
add_action( 'admin_enqueue_scripts', array( __CLASS__ , 'enqueue_admin_scripts' ) );
|
36 |
+
|
37 |
+
/* add js listeners */
|
38 |
+
add_action( 'admin_print_footer_scripts', array( __CLASS__ , 'print_js_css' ) );
|
39 |
+
|
40 |
+
/* Adds listener to save email data */
|
41 |
+
add_action( 'wp_ajax_inbound_toggle_branch', array( __CLASS__ , 'toggle_branch' ) );
|
42 |
+
}
|
43 |
+
|
44 |
+
|
45 |
+
|
46 |
+
/**
|
47 |
+
* Adds version control options to plugin links
|
48 |
+
*/
|
49 |
+
public static function add_plugin_options( $links, $plugin ) {
|
50 |
+
/* get plugin slug */
|
51 |
+
$parts = explode( '/', $plugin );
|
52 |
+
|
53 |
+
/* set current plugin being processed */
|
54 |
+
self::$plugin = $parts[0];
|
55 |
+
|
56 |
+
/* if array is not in our processing queue then skip */
|
57 |
+
if ( !array_key_exists( self::$plugin , self::$plugins ) ) {
|
58 |
+
return $links;
|
59 |
+
}
|
60 |
+
|
61 |
+
/* determine if plugin is currently github branch or svn branch */
|
62 |
+
self::get_current_branch();
|
63 |
+
|
64 |
+
/* generate branch toggle button */
|
65 |
+
$links['toggle'] = self::generate_version_toggle();
|
66 |
+
|
67 |
+
//echo self::$plugin;
|
68 |
+
return $links;
|
69 |
+
}
|
70 |
+
|
71 |
+
|
72 |
+
/**
|
73 |
+
* Look in in options api to determine current branch
|
74 |
+
*/
|
75 |
+
public static function get_current_branch() {
|
76 |
+
self::$branch = Inbound_Options_API::get_option( 'inbound-branching' , self::$plugin , 'svn' );
|
77 |
+
}
|
78 |
+
|
79 |
+
/**
|
80 |
+
* Store current branch URL in options api
|
81 |
+
*/
|
82 |
+
public static function set_current_branch() {
|
83 |
+
self::$branch = Inbound_Options_API::update_option( 'inbound-branching' , self::$plugin , self::$branch );
|
84 |
+
}
|
85 |
+
|
86 |
+
|
87 |
+
/**
|
88 |
+
* Generate switch version dropdown button
|
89 |
+
*/
|
90 |
+
public static function generate_version_toggle() {
|
91 |
+
if ( self::$branch == 'svn' ) {
|
92 |
+
$class = "switch-versions";
|
93 |
+
$switch_to = "git";
|
94 |
+
$title = __( 'Switch to lastest development release. Warning this should not be performed on a live site.' , 'inbound-pro' );
|
95 |
+
$button_text = __( 'Switch to latest git' , 'inbound-pro' );
|
96 |
+
} else {
|
97 |
+
$class = "switch-versions";
|
98 |
+
$switch_to = "svn";
|
99 |
+
$title = __( 'Switch to latest stable release.' , 'inbound-pro' );
|
100 |
+
$button_text = __( 'Switch to latest svn' , 'inbound-pro' );
|
101 |
+
}
|
102 |
+
return '<a href="#" class="'.$class.'" id="'.self::$plugin.'-toggle" data-branch="'.$switch_to.'" data-plugin="'.self::$plugin.'" title="'.$title.'">'. $button_text .'</a> <div class="spinner" id="spinner-'.self::$plugin.'-toggle"></span></div>';
|
103 |
+
}
|
104 |
+
|
105 |
+
/**
|
106 |
+
* Enqueues JS
|
107 |
+
*/
|
108 |
+
public static function enqueue_admin_scripts() {
|
109 |
+
|
110 |
+
$screen = get_current_screen();
|
111 |
+
|
112 |
+
if ( $screen->base != 'plugins' ) {
|
113 |
+
return;
|
114 |
+
}
|
115 |
+
|
116 |
+
|
117 |
+
}
|
118 |
+
|
119 |
+
/**
|
120 |
+
* Print JS Listners for Switching Plugins
|
121 |
+
*/
|
122 |
+
public static function print_js_css() {
|
123 |
+
|
124 |
+
$screen = get_current_screen();
|
125 |
+
|
126 |
+
if ( $screen->base != 'plugins' ) {
|
127 |
+
return;
|
128 |
+
}
|
129 |
+
|
130 |
+
|
131 |
+
?>
|
132 |
+
<script>
|
133 |
+
jQuery( 'document' ).ready( function() {
|
134 |
+
|
135 |
+
jQuery( '.switch-versions' ).on( 'click' , function() {
|
136 |
+
|
137 |
+
|
138 |
+
/* get download url */
|
139 |
+
var branch = jQuery( '#' + this.id ).data( 'branch' );
|
140 |
+
var plugin = jQuery( '#' + this.id ).data( 'plugin' );
|
141 |
+
|
142 |
+
var result = confirm("<?php _e('Switching branches on a live site should be avoided. Are you sure you would like to switch filesets?' , 'inbound-pro' ); ?>");
|
143 |
+
|
144 |
+
if (!result) {
|
145 |
+
return;
|
146 |
+
}
|
147 |
+
|
148 |
+
|
149 |
+
/* toggle spinner */
|
150 |
+
jQuery('#spinner-'+this.id).show();
|
151 |
+
|
152 |
+
/* run ajax to replace plugin */
|
153 |
+
jQuery.ajax({
|
154 |
+
type: "POST",
|
155 |
+
url: '<?php echo admin_url( 'admin-ajax.php' ); ?>',
|
156 |
+
data: {
|
157 |
+
action: 'inbound_toggle_branch',
|
158 |
+
plugin: plugin,
|
159 |
+
branch : branch
|
160 |
+
},
|
161 |
+
dataType: 'html',
|
162 |
+
timeout: 200000,
|
163 |
+
success: function (response) {
|
164 |
+
if ( response == 1 ) {
|
165 |
+
|
166 |
+
/* toggle spinner */
|
167 |
+
jQuery('#spinner-'+this.id).show();
|
168 |
+
|
169 |
+
/* reload page */
|
170 |
+
location.reload();
|
171 |
+
|
172 |
+
} else {
|
173 |
+
alert( response );
|
174 |
+
|
175 |
+
/* toggle spinner */
|
176 |
+
jQuery('#spinner-'+this.id).show();
|
177 |
+
}
|
178 |
+
},
|
179 |
+
error: function(request, status, err) {
|
180 |
+
alert(status);
|
181 |
+
}
|
182 |
+
});
|
183 |
+
|
184 |
+
|
185 |
+
});
|
186 |
+
|
187 |
+
});
|
188 |
+
</script>
|
189 |
+
<style>
|
190 |
+
.row-actions .version-dropdown {
|
191 |
+
font-size:10px;
|
192 |
+
height:19px;
|
193 |
+
}
|
194 |
+
|
195 |
+
body .toggle .switch-versions {
|
196 |
+
|
197 |
+
}
|
198 |
+
</style>
|
199 |
+
<?php
|
200 |
+
|
201 |
+
}
|
202 |
+
|
203 |
+
/**
|
204 |
+
* Ajax listener to delete current plugin and replace it's files with selected branch.
|
205 |
+
*/
|
206 |
+
public static function toggle_branch() {
|
207 |
+
if ( ! current_user_can('delete_plugins') ) {
|
208 |
+
wp_die(__('You do not have sufficient permissions to delete plugins for this site.'));
|
209 |
+
}
|
210 |
+
|
211 |
+
/* load plugins */
|
212 |
+
self::load_static_vars();
|
213 |
+
|
214 |
+
/* load pclzip */
|
215 |
+
include_once( ABSPATH . '/wp-admin/includes/class-pclzip.php');
|
216 |
+
|
217 |
+
self::$branch = $_POST['branch'];
|
218 |
+
self::$plugin = $_POST['plugin'];
|
219 |
+
$branch_url = self::$plugins[ self::$plugin ][ self::$branch ];
|
220 |
+
|
221 |
+
|
222 |
+
/* get plugin path */
|
223 |
+
$plugin_path = WP_PLUGIN_DIR . '/' . self::$plugin;
|
224 |
+
|
225 |
+
/* get files in plugin directory currently */
|
226 |
+
self::delete_plugin_folder( $plugin_path );
|
227 |
+
|
228 |
+
/* create temp file */
|
229 |
+
$temp_file = tempnam('/tmp', 'TEMPPLUGIN' );
|
230 |
+
|
231 |
+
/* get zip file contents from svn */
|
232 |
+
$ch = curl_init();
|
233 |
+
curl_setopt($ch, CURLOPT_URL, $branch_url);
|
234 |
+
curl_setopt($ch, CURLOPT_HEADER, false);
|
235 |
+
curl_setopt($ch, CURLOPT_FAILONERROR, true);
|
236 |
+
curl_setopt($ch, CURLOPT_AUTOREFERER, true);
|
237 |
+
curl_setopt($ch, CURLOPT_BINARYTRANSFER,true);
|
238 |
+
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
|
239 |
+
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
|
240 |
+
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
|
241 |
+
$file = curl_exec($ch);
|
242 |
+
curl_close($ch);
|
243 |
+
|
244 |
+
/* write zip file to temp file */
|
245 |
+
$handle = fopen($temp_file, "w");
|
246 |
+
fwrite($handle, $file);
|
247 |
+
fclose($handle);
|
248 |
+
|
249 |
+
|
250 |
+
/* extract temp file to plugins direction */
|
251 |
+
$archive = new PclZip($temp_file);
|
252 |
+
if (self::$branch == 'git') {
|
253 |
+
$result = $archive->extract( PCLZIP_OPT_REMOVE_PATH, self::$plugin.'-master' , PCLZIP_OPT_PATH, $plugin_path , PCLZIP_OPT_REPLACE_NEWER );
|
254 |
+
} else {
|
255 |
+
$result = $archive->extract( PCLZIP_OPT_PATH, WP_PLUGIN_DIR , PCLZIP_OPT_REPLACE_NEWER );
|
256 |
+
}
|
257 |
+
|
258 |
+
if ($result == 0) {
|
259 |
+
die("Error : ".$archive->errorInfo(true));
|
260 |
+
}
|
261 |
+
|
262 |
+
/* delete templ file */
|
263 |
+
unlink($temp_file);
|
264 |
+
|
265 |
+
/* set current branch into memory */
|
266 |
+
self::set_current_branch( self::$branch );
|
267 |
+
|
268 |
+
header('HTTP/1.1 200 OK');
|
269 |
+
echo 1;
|
270 |
+
exit;
|
271 |
+
}
|
272 |
+
|
273 |
+
/**
|
274 |
+
* deletes plugin folder
|
275 |
+
*/
|
276 |
+
public static function delete_plugin_folder($dirPath) {
|
277 |
+
if (is_dir($dirPath)) {
|
278 |
+
$objects = scandir($dirPath);
|
279 |
+
foreach ($objects as $object) {
|
280 |
+
if ($object != "." && $object !="..") {
|
281 |
+
if (filetype($dirPath . DIRECTORY_SEPARATOR . $object) == "dir") {
|
282 |
+
self::delete_plugin_folder($dirPath . DIRECTORY_SEPARATOR . $object);
|
283 |
+
} else {
|
284 |
+
unlink($dirPath . DIRECTORY_SEPARATOR . $object);
|
285 |
+
}
|
286 |
+
}
|
287 |
+
}
|
288 |
+
reset($objects);
|
289 |
+
rmdir($dirPath);
|
290 |
+
}
|
291 |
+
|
292 |
+
}
|
293 |
+
}
|
294 |
+
|
295 |
+
$GLOBALS['Inbound_Branching'] = new Inbound_Branching;
|
296 |
+
}
|
shared/classes/class.charting.php
CHANGED
@@ -19,7 +19,7 @@ if ( ! defined( 'ABSPATH' ) ) exit;
|
|
19 |
if (!function_exists('Inbound_Graph')) {
|
20 |
class Inbound_Graph {
|
21 |
|
22 |
-
|
23 |
|
24 |
Simple example:
|
25 |
|
19 |
if (!function_exists('Inbound_Graph')) {
|
20 |
class Inbound_Graph {
|
21 |
|
22 |
+
/*
|
23 |
|
24 |
Simple example:
|
25 |
|
shared/classes/class.debug.php
CHANGED
@@ -1,416 +1,416 @@
|
|
1 |
<?php
|
2 |
/* Inbound Now Debug Class
|
3 |
*
|
4 |
-
*
|
5 |
*/
|
6 |
|
7 |
if (!defined('INBOUND_CLASS_URL'))
|
8 |
-
|
9 |
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
|
16 |
if (!class_exists('Inbound_Debug_Scripts')) {
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
display: inline-block; }
|
310 |
-
|
311 |
display: inline-block;}
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
}
|
411 |
}
|
412 |
-
/*
|
413 |
-
*
|
414 |
|
415 |
Inbound_Debug_Scripts::init();
|
416 |
|
1 |
<?php
|
2 |
/* Inbound Now Debug Class
|
3 |
*
|
4 |
+
* This class enabled users to dequeue third party javascript from pages to stop JS errors
|
5 |
*/
|
6 |
|
7 |
if (!defined('INBOUND_CLASS_URL'))
|
8 |
+
define('INBOUND_CLASS_URL', plugin_dir_url(__FILE__));
|
9 |
|
10 |
+
//update_option( 'inbound_global_dequeue', "" );
|
11 |
+
/*
|
12 |
+
$global_array = get_option( 'inbound_global_dequeue' );
|
13 |
+
print_r($global_array);
|
14 |
+
/**/
|
15 |
|
16 |
if (!class_exists('Inbound_Debug_Scripts')) {
|
17 |
+
class Inbound_Debug_Scripts {
|
18 |
+
static $add_debug;
|
19 |
+
|
20 |
+
/* Contruct
|
21 |
+
* --------------------------------------------------------- */
|
22 |
+
static function init() {
|
23 |
+
self::$add_debug = true;
|
24 |
+
//add_action('wp_loaded', array(__CLASS__, 'inbound_check_for_error'));
|
25 |
+
//add_action('wp_footer', array(__CLASS__, 'display_errors'));
|
26 |
+
//add_action('init', array(__CLASS__, 'admin_display_errors'));
|
27 |
+
add_action( 'init', array(__CLASS__, 'inbound_output_meta_debug') );
|
28 |
+
add_action('wp_enqueue_scripts', array(__CLASS__, 'inbound_kill_bogus_scripts'), 100);
|
29 |
+
add_action('wp_enqueue_scripts', array(__CLASS__, 'inbound_compatibilities'), 101);
|
30 |
+
add_action('admin_enqueue_scripts', array(__CLASS__, 'inbound_compatibilities'), 101);
|
31 |
+
add_action('admin_enqueue_scripts', array(__CLASS__, 'inbound_kill_bogus_admin_scripts'), 100);
|
32 |
+
add_action('wp_ajax_inbound_dequeue_js', array(__CLASS__, 'inbound_dequeue_js'));
|
33 |
+
add_action('wp_ajax_nopriv_inbound_dequeue_js', array(__CLASS__, 'inbound_dequeue_js'));
|
34 |
+
add_action('wp_ajax_inbound_dequeue_admin_js', array(__CLASS__, 'inbound_dequeue_admin_js'));
|
35 |
+
add_action('wp_ajax_nopriv_inbound_dequeue_admin_js', array(__CLASS__, 'inbound_dequeue_admin_js'));
|
36 |
+
if (isset($_GET['inbound_js'])){
|
37 |
+
add_action('wp_enqueue_scripts', array(__CLASS__, 'run_debug_script'), 102);
|
38 |
+
add_action('admin_enqueue_scripts', array(__CLASS__, 'run_debug_script'), 102);
|
39 |
+
|
40 |
+
}
|
41 |
+
}
|
42 |
+
|
43 |
+
static function inbound_output_meta_debug() {
|
44 |
+
//print all global fields for post
|
45 |
+
if (isset($_GET['debug']) && ( isset($_GET['post']) && is_numeric($_GET['post']) ) ) {
|
46 |
+
global $wpdb;
|
47 |
+
$data = array();
|
48 |
+
$wpdb->query("
|
49 |
+
SELECT `meta_key`, `meta_value`
|
50 |
+
FROM $wpdb->postmeta
|
51 |
+
WHERE `post_id` = ".mysql_real_escape_string($_GET['post'])."
|
52 |
+
");
|
53 |
+
|
54 |
+
foreach($wpdb->last_result as $k => $v){
|
55 |
+
$data[$v->meta_key] = $v->meta_value;
|
56 |
+
};
|
57 |
+
if (isset($_GET['post']))
|
58 |
+
{
|
59 |
+
echo "<pre>";
|
60 |
+
print_r($data);
|
61 |
+
echo "</pre>";
|
62 |
+
}
|
63 |
+
}
|
64 |
+
}
|
65 |
+
|
66 |
+
// dequeue all js and set first script, then requeue scripts
|
67 |
+
static function run_debug_script() {
|
68 |
+
global $wp_scripts;
|
69 |
+
|
70 |
+
if ( !empty( $wp_scripts->queue ) ) {
|
71 |
+
$store = $wp_scripts->queue; // store the scripts
|
72 |
+
foreach ( $wp_scripts->queue as $handle ) {
|
73 |
+
wp_dequeue_script( $handle );
|
74 |
+
}
|
75 |
+
//wp_enqueue_script( 'jquery' );
|
76 |
+
wp_register_script('inbound-debug', INBOUDNOW_SHARED_URLPATH . 'assets/js/global/debug.js', array('jquery'));
|
77 |
+
wp_enqueue_script( 'inbound-debug' );
|
78 |
+
|
79 |
+
foreach ( $store as $handle ) {
|
80 |
+
wp_enqueue_script( $handle );
|
81 |
+
}
|
82 |
+
}
|
83 |
+
|
84 |
+
}
|
85 |
+
|
86 |
+
static function inbound_dequeue_js() {
|
87 |
+
if ( ! self::$add_debug )
|
88 |
+
return;
|
89 |
+
|
90 |
+
// Post Values
|
91 |
+
$post_id = (isset( $_POST['post_id'] )) ? $_POST['post_id'] : "";
|
92 |
+
$the_script = (isset( $_POST['the_script'] )) ? $_POST['the_script'] : "";
|
93 |
+
$status = (isset( $_POST['status'] )) ? $_POST['status'] : "";
|
94 |
+
$admin_screen = (isset( $_POST['admin_screen'] )) ? $_POST['admin_screen'] : "";
|
95 |
+
|
96 |
+
/* Store Script Data to Post */
|
97 |
+
$script_data = get_post_meta( $post_id, 'inbound_dequeue_js', TRUE );
|
98 |
+
$script_data = json_decode($script_data,true);
|
99 |
+
if(is_array($script_data)) {
|
100 |
+
|
101 |
+
if($status === 'off') {
|
102 |
+
// add or remove from list
|
103 |
+
$script_data[$the_script] = $status;
|
104 |
+
} else {
|
105 |
+
unset($script_data[$the_script]);
|
106 |
+
}
|
107 |
+
|
108 |
+
} else {
|
109 |
+
// Create the first item in array
|
110 |
+
if($status === 'off') {
|
111 |
+
$script_data[$the_script] = $status;
|
112 |
+
}
|
113 |
+
}
|
114 |
+
$script_save = json_encode($script_data);
|
115 |
+
|
116 |
+
update_post_meta( $post_id, 'inbound_dequeue_js', $script_save );
|
117 |
+
|
118 |
+
// Set global option inbound_global_dequeue_js
|
119 |
+
|
120 |
+
$output = array('encode'=> $script_save );
|
121 |
+
|
122 |
+
echo json_encode($output,JSON_FORCE_OBJECT);
|
123 |
+
wp_die();
|
124 |
+
}
|
125 |
+
|
126 |
+
static function inbound_dequeue_admin_js() {
|
127 |
+
if ( ! self::$add_debug )
|
128 |
+
return;
|
129 |
+
|
130 |
+
// Post Values
|
131 |
+
$post_id = (isset( $_POST['post_id'] )) ? $_POST['post_id'] : "";
|
132 |
+
$the_script = (isset( $_POST['the_script'] )) ? $_POST['the_script'] : "";
|
133 |
+
$status = (isset( $_POST['status'] )) ? $_POST['status'] : "";
|
134 |
+
$admin_screen = (isset( $_POST['admin_screen'] )) ? $_POST['admin_screen'] : "";
|
135 |
+
|
136 |
+
/* Store Script Data to Post */
|
137 |
+
$script_data = get_option( 'inbound_global_dequeue' );
|
138 |
+
|
139 |
+
if(is_array($script_data)) {
|
140 |
+
|
141 |
+
if($status === 'off') {
|
142 |
+
// add or remove from list
|
143 |
+
$script_data[$the_script] = $admin_screen;
|
144 |
+
} else {
|
145 |
+
unset($script_data[$the_script]);
|
146 |
+
}
|
147 |
+
|
148 |
+
} else {
|
149 |
+
// Create the first item in array
|
150 |
+
if($status === 'off') {
|
151 |
+
$script_data[$the_script] = $admin_screen;
|
152 |
+
}
|
153 |
+
}
|
154 |
+
update_option( 'inbound_global_dequeue', $script_data );
|
155 |
+
|
156 |
+
// Set global option inbound_global_dequeue_js
|
157 |
+
|
158 |
+
$output = array('encode'=> $script_data );
|
159 |
+
|
160 |
+
echo json_encode($output,JSON_FORCE_OBJECT);
|
161 |
+
wp_die();
|
162 |
+
}
|
163 |
+
|
164 |
+
static function wp_core_script_whitelist() {
|
165 |
+
// Wordpress Core Scripts List
|
166 |
+
$wp_core_scripts = array("jcrop", "swfobject", "swfupload", "swfupload-degrade", "swfupload-queue", "swfupload-handlers", "jquery", "jquery-form", "jquery-color", "jquery-masonry", "jquery-ui-core", "jquery-ui-widget", "jquery-ui-mouse", "jquery-ui-accordion", "jquery-ui-autocomplete", "jquery-ui-slider", "jquery-ui-progressbar", "jquery-ui-tabs", "jquery-ui-sortable", "jquery-ui-draggable", "jquery-ui-droppable", "jquery-ui-selectable", "jquery-ui-position", "jquery-ui-datepicker", "jquery-ui-tooltip", "jquery-ui-resizable", "jquery-ui-dialog", "jquery-ui-button", "jquery-effects-core", "jquery-effects-blind", "jquery-effects-bounce", "jquery-effects-clip", "jquery-effects-drop", "jquery-effects-explode", "jquery-effects-fade", "jquery-effects-fold", "jquery-effects-highlight", "jquery-effects-pulsate", "jquery-effects-scale", "jquery-effects-shake", "jquery-effects-slide", "jquery-effects-transfer", "wp-mediaelement", "schedule", "suggest", "thickbox", "hoverIntent", "jquery-hotkeys", "sack", "quicktags", "iris", "farbtastic", "colorpicker", "tiny_mce", "autosave", "wp-ajax-response", "wp-lists", "common", "editorremov", "editor-functions", "ajaxcat", "admin-categories", "admin-tags", "admin-custom-fields", "password-strength-meter", "admin-comments", "admin-users", "admin-forms", "xfn", "upload", "postbox", "slug", "post", "page", "link", "comment", "comment-reply", "admin-gallery", "media-upload", "admin-widgets", "word-count", "theme-preview", "json2", "plupload", "plupload-all", "plupload-html4", "plupload-html5", "plupload-flash", "plupload-silverlight", "underscore", "backbone", 'admin-bar', 'media-editor', 'svg-painter', 'wp-auth-check', 'editor', 'utils', 'customize-controls', 'plugin-install', 'customize-loader', 'dashboard');
|
167 |
+
|
168 |
+
// add filter;
|
169 |
+
|
170 |
+
return $wp_core_scripts;
|
171 |
+
}
|
172 |
+
|
173 |
+
static function inbound_now_script_whitelist() {
|
174 |
+
global $wp_scripts;
|
175 |
+
// Match our plugins and whitelist them
|
176 |
+
$registered_scripts = $wp_scripts->registered;
|
177 |
+
$inbound_white_list = array();
|
178 |
+
foreach ($registered_scripts as $handle) {
|
179 |
+
$src = $handle->src;
|
180 |
+
if (!is_array($src)) {
|
181 |
+
if(preg_match("/\/plugins\/leads\//", $src)) {
|
182 |
+
//echo $handle->handle;
|
183 |
+
$inbound_white_list[] = $handle->handle;
|
184 |
+
}
|
185 |
+
if(preg_match("/\/plugins\/cta\//", $handle->src)) {
|
186 |
+
//echo $handle->handle;
|
187 |
+
$inbound_white_list[]= $handle->handle;
|
188 |
+
}
|
189 |
+
if(preg_match("/\/plugins\/landing-pages\//", $handle->src)) {
|
190 |
+
//echo $handle->handle;
|
191 |
+
$inbound_white_list[]= $handle->handle;
|
192 |
+
}
|
193 |
+
}
|
194 |
+
}
|
195 |
+
//print_r($inbound_white_list);
|
196 |
+
return $inbound_white_list;
|
197 |
+
}
|
198 |
+
// Destroy all bad frontend scripts
|
199 |
+
static function inbound_kill_bogus_scripts() {
|
200 |
+
if (!isset($_GET['inbound-dequeue-scripts'])) {
|
201 |
+
global $wp_scripts, $wp_query;
|
202 |
+
$script_list = $wp_scripts->queue; // All enqueued scripts
|
203 |
+
$current_page_id = $wp_query->get_queried_object_id();
|
204 |
+
$script_data = get_post_meta( $current_page_id , 'inbound_dequeue_js', TRUE );
|
205 |
+
$script_data = json_decode($script_data,true);
|
206 |
+
|
207 |
+
$inbound_white_list = self::inbound_now_script_whitelist();
|
208 |
+
$wp_core_scripts = self::wp_core_script_whitelist();
|
209 |
+
|
210 |
+
// dequeue frontent scripts
|
211 |
+
foreach ($script_list as $key => $value) {
|
212 |
+
if (!in_array($value, $inbound_white_list) && !in_array($value, $wp_core_scripts)){
|
213 |
+
// Kill bad scripts
|
214 |
+
if (isset($script_data[$value]) && in_array($script_data[$value], $script_data)) {
|
215 |
+
wp_dequeue_script( $value ); // Kill bad script
|
216 |
+
}
|
217 |
+
}
|
218 |
+
}
|
219 |
+
|
220 |
+
}
|
221 |
+
}
|
222 |
+
|
223 |
+
// Destroy all bad admin scripts
|
224 |
+
static function inbound_kill_bogus_admin_scripts() {
|
225 |
+
if (!isset($_GET['inbound-dequeue-scripts'])) {
|
226 |
+
// dequeue admin scripts
|
227 |
+
$screen = get_current_screen();
|
228 |
+
|
229 |
+
$array = array('load-qtip' => 'wp-call-to-action');
|
230 |
+
//update_option( 'inbound_global_dequeue', $array );
|
231 |
+
$global_array = get_option( 'inbound_global_dequeue' );
|
232 |
+
//print_r($global_array);
|
233 |
+
|
234 |
+
|
235 |
+
if (!$global_array){
|
236 |
+
return;
|
237 |
+
}
|
238 |
+
|
239 |
+
if(is_array($global_array)) {
|
240 |
+
foreach ($global_array as $key => $value) {
|
241 |
+
if ( $screen->id === $value) {
|
242 |
+
wp_dequeue_script( $key );
|
243 |
+
}
|
244 |
+
}
|
245 |
+
}
|
246 |
+
}
|
247 |
+
}
|
248 |
+
|
249 |
+
static function inbound_compatibilities() {
|
250 |
+
|
251 |
+
if (isset($_GET['inbound-dequeue-scripts']) && current_user_can( 'manage_options' ) ) {
|
252 |
+
|
253 |
+
global $wp_query;
|
254 |
+
$current_page_id = $wp_query->get_queried_object_id();
|
255 |
+
$global_array = get_option( 'inbound_global_dequeue' );
|
256 |
+
if( is_admin() ) {
|
257 |
+
global $post;
|
258 |
+
$screen = get_current_screen();
|
259 |
+
$current = $screen->id;
|
260 |
+
$page_id = (isset($post->ID)) ? $post->ID : '';
|
261 |
+
} else {
|
262 |
+
$current = '';
|
263 |
+
$screen = '';
|
264 |
+
$page_id = $current_page_id;
|
265 |
+
}
|
266 |
+
|
267 |
+
//show_admin_bar( false );
|
268 |
+
wp_enqueue_script('inbound-dequeue-scripts', INBOUDNOW_SHARED_URLPATH . 'assets/js/global/inbound-dequeue-scripts.js', array( 'jquery' ));
|
269 |
+
wp_localize_script( 'inbound-dequeue-scripts' , 'inbound_debug' , array( 'admin_url' => admin_url( 'admin-ajax.php' ), 'admin_screen' => $current, 'page_id' => $page_id));
|
270 |
+
|
271 |
+
global $wp_scripts;
|
272 |
+
|
273 |
+
$scripts_registers = $wp_scripts->registered;
|
274 |
+
//echo "<pre>";
|
275 |
+
//print_r($scripts_registers);
|
276 |
+
//echo $scripts_registers['common']->src;
|
277 |
+
|
278 |
+
|
279 |
+
$script_list = $wp_scripts->queue; // All enqueued scripts
|
280 |
+
$inbound_white_list = self::inbound_now_script_whitelist();
|
281 |
+
$wp_core_scripts = self::wp_core_script_whitelist();
|
282 |
+
// TURN OFF ALL OTHER SCRIPTS FOR DISABLING
|
283 |
+
$count = 0;
|
284 |
+
foreach ($script_list as $key => $value) {
|
285 |
+
// echo $key . $value;
|
286 |
+
if (!in_array($value, $inbound_white_list) && !in_array($value, $wp_core_scripts)){
|
287 |
+
wp_dequeue_script( $value );
|
288 |
+
$count++;
|
289 |
+
}
|
290 |
+
|
291 |
+
}
|
292 |
+
// If no scripts third party enqueued scripts leave
|
293 |
+
|
294 |
+
/* echo "<pre>";
|
295 |
+
print_r($wp_scripts->queue);
|
296 |
+
echo "</pre>"; */
|
297 |
+
|
298 |
+
echo '<style type="text/css" media="screen">
|
299 |
+
#launch-feedback {
|
300 |
+
display:none;
|
301 |
+
}
|
302 |
+
#group{text-align: left;border-bottom: 1px solid #fff;position:relative;margin:0 auto;padding:6px 10px 10px;background-image:linear-gradient(top,rgba(255,255,255,.1),rgba(0,0,0,.1));background-color:#555;width:300px}#group:after{content:" ";position:absolute;z-index:1;top:0;left:0;right:0;bottom:0;border-radius:5px}.switch{margin: 0px;position:relative;border:0;padding:0;width:245px;font-family:helvetica;font-weight:700;font-size:22px;color:#222;text-shadow:0 1px 0 rgba(255,255,255,.3)}.switch legend{float:left;width: 98px;padding:7px 10% 3px 0;text-align:left; color:#fff;}
|
303 |
+
.switch input{position:absolute;opacity:0}
|
304 |
+
.switch legend:after{content:"";position:absolute;top:0;left:50%;z-index:0;width:50%;height:100%;padding:2px;background-color:#222;border-radius:3px;box-shadow:inset -1px 2px 5px rgba(0,0,0,.8),0 1px 0 rgba(255,255,255,.2)}
|
305 |
+
.switch label{position:relative;z-index:2;float:left;width:61px;margin-top:2px;padding:5px 0 3px;text-align:center;color:#64676b;text-shadow:0 1px 0 #000;cursor:pointer;transition:color 0s ease .1s}
|
306 |
+
.switch input:checked+label{color:#fff}.switch input:focus+label{outline:0}.switch .switch-button{clear:both;position:absolute;top:-1px;left:50%;z-index:1;width:63px; height:100%;margin:2px;background-color:#70c66b;background-image:linear-gradient(top,rgba(255,255,255,.2),rgba(0,0,0,0));border-radius:3px;box-shadow:0 0 0 2px #70c66b,-2px 3px 2px #000;transition:all .3s ease-out}.switch .switch-button:after{content:" ";position:absolute;z-index:1;top:0;left:0;right:0;bottom:0;border-radius:3px;border:1px dashed #fff}#inbound-dequeue-id{display:none}.switch input:last-of-type:checked~.switch-button{left:75%}.switch .switch-button.status-off{background-color:red;box-shadow:0 0 0 3px red,-2px 3px 5px #000}.switch label.turn-on{color:#fff}
|
307 |
+
.script-info {padding-left:5px; position: absolute; z-index:999999999;}
|
308 |
+
.debug-plugin-name { font-size:13px; color:#fff; text-shadow:none; padding-bottom: 6px;
|
309 |
display: inline-block; }
|
310 |
+
.debug-plugin-name span.debug-head, .debug-script-head {color:#ccc; width: 45px;
|
311 |
display: inline-block;}
|
312 |
+
.js-title { display:block; margin-bottom: 7px; color:#fff;}
|
313 |
+
.fa-info-circle:before{ content: "\f05a"; font-family: FontAwesome !important; font-style:normal;}
|
314 |
+
#group:last-of-type {
|
315 |
+
padding-bottom:80px;
|
316 |
+
}
|
317 |
+
#main-debug-title {
|
318 |
+
font-family: helvetica;
|
319 |
+
font-weight: 700;
|
320 |
+
font-size: 22px;
|
321 |
+
color: #222;
|
322 |
+
background: #ccc;
|
323 |
+
padding: 10px;
|
324 |
+
text-align: center;
|
325 |
+
text-shadow: 0 1px 0 rgba(255,255,255,.3);
|
326 |
+
}
|
327 |
+
#no-js-to-turn-off {width: 286px;}
|
328 |
+
#no-js-to-turn-off span {font-size:22px; line-height:25px; padding:10px; display:inline-block;}
|
329 |
+
#debug-close-link { color:red; float:right; font-size:10px; text-decoration:none;}
|
330 |
+
</style>';
|
331 |
+
|
332 |
+
$script_data = get_post_meta( $current_page_id , 'inbound_dequeue_js', TRUE );
|
333 |
+
$script_data = json_decode($script_data,true);
|
334 |
+
$close_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
|
335 |
+
$close_link = str_replace(array("&inbound-dequeue-scripts", "?inbound-dequeue-scripts"), "", $close_link);
|
336 |
+
|
337 |
+
echo '<div id="inbound-fix-page" class="'.$current_page_id.'" data-page-id="'.$page_id.'" data-admin-screen="'.$current.'" style="position:fixed; right:0px; padding-bottom: 80px; background-color: #555; overflow:auto; height: 100%; top: 32px; background:#fff; border: 1px solid; z-index: 999999999999; line-height: 1; width: 317px;">';
|
338 |
+
echo "<div id='main-debug-title'>Turn off Javascript<a id='debug-close-link' href='".$close_link."'>Close</a></div>";
|
339 |
+
if ($count === 0) {
|
340 |
+
echo "<div id='no-js-to-turn-off'><span style=''>No javascript files found to dequeue</span></div></div>";
|
341 |
+
return;
|
342 |
+
}
|
343 |
+
echo "<span id='inbound-dequeue-id'>".$current_page_id."</span>";
|
344 |
+
|
345 |
+
foreach ($script_list as $key => $value) {
|
346 |
+
if (!in_array($value, $inbound_white_list) && !in_array($value, $wp_core_scripts)){
|
347 |
+
$checked = "";
|
348 |
+
$status_class = "";
|
349 |
+
// Kill bad frontend script
|
350 |
+
if (isset($script_data[$value]) && in_array($script_data[$value], $script_data)){
|
351 |
+
$checked = "checked";
|
352 |
+
$status_class = "status-off";
|
353 |
+
wp_dequeue_script( $value ); // Kill bad script
|
354 |
+
}
|
355 |
+
// Kill bad admin script
|
356 |
+
if (is_array($global_array)) {
|
357 |
+
if (is_admin() && array_key_exists($value, $global_array)) {
|
358 |
+
|
359 |
+
if ($current === $global_array[$value] ) {
|
360 |
+
$checked = "checked";
|
361 |
+
$status_class = "status-off";
|
362 |
+
wp_dequeue_script( $value ); // Kill bad script
|
363 |
+
}
|
364 |
+
}
|
365 |
+
}
|
366 |
+
|
367 |
+
$actual_link = $scripts_registers[$value]->src;
|
368 |
+
str_replace("?frontend=false", "", $actual_link);
|
369 |
+
preg_match('/plugins\/([^\/]+?)\/(?:[^\/]+\/)?(.+)/', $actual_link, $matches);
|
370 |
+
preg_match('/themes\/([^\/]+?)\/(?:[^\/]+\/)?(.+)/', $actual_link, $matches_two);
|
371 |
+
|
372 |
+
$name_of_file = (isset($matches_two[1])) ? "<span class='debug-head'>Theme:</span> " . $matches_two[1] : '';
|
373 |
+
if ($name_of_file === "") {
|
374 |
+
$name_of_file = (isset($matches[1])) ? "<span class='debug-head'>Plugin:</span> " . $matches[1] : '<span class="debug-head">From:</span> Wordpress Core Script <span style="color:#db3d3d; font-size:12px;">(Don\'t turn off)</span>';
|
375 |
+
}
|
376 |
+
|
377 |
+
|
378 |
+
echo '<div id="group">';
|
379 |
+
echo '<span class="debug-plugin-name">'.$name_of_file.'</span>';
|
380 |
+
echo "<div class='js-title'><span class='debug-script-head'>Script:</span> ". $value ."<span title='".$scripts_registers[$value]->src."' class='script-info'><i class='fa fa-info-circle'></i></span></div>";
|
381 |
+
echo '<fieldset class="switch" id="'.$value.'">
|
382 |
+
<legend>Status:</legend>
|
383 |
+
|
384 |
+
<input id="'.$value.'-on" name="'.$value.'-status" type="radio" '.$checked.'>
|
385 |
+
<label for="'.$value.'-on" class="turn-on">On</label>
|
386 |
+
|
387 |
+
<input id="'.$value.'-off" name="'.$value.'-status" type="radio" '.$checked.'>
|
388 |
+
<label for="'.$value.'-off" class="turn-off">Off</label>
|
389 |
+
|
390 |
+
<span class="switch-button '.$status_class.'"></span>
|
391 |
+
</fieldset>
|
392 |
+
|
393 |
+
</div>';
|
394 |
+
}
|
395 |
+
}
|
396 |
+
echo "</div>";
|
397 |
+
|
398 |
+
// This will control the dequing
|
399 |
+
/*
|
400 |
+
foreach ($scripts_queued as $key => $value) {
|
401 |
+
//echo $key . $value;
|
402 |
+
if (!in_array($value, $white_list_scripts)){
|
403 |
+
wp_dequeue_script( $value );
|
404 |
+
}
|
405 |
+
|
406 |
+
} */
|
407 |
+
}
|
408 |
+
|
409 |
+
}
|
410 |
}
|
411 |
}
|
412 |
+
/* Initialize InboundNow Debug
|
413 |
+
* --------------------------------------------------------- */
|
414 |
|
415 |
Inbound_Debug_Scripts::init();
|
416 |
|
shared/classes/class.feedback.php
CHANGED
@@ -9,11 +9,8 @@ if (!class_exists('Inbound_Feedback')) {
|
|
9 |
* --------------------------------------------------------- */
|
10 |
static function init() {
|
11 |
self::$add_feedback = true;
|
12 |
-
// add_action('admin_bar_menu', array( __CLASS__, 'loads' ), 98);
|
13 |
-
//add_action( 'wp_head', array(__CLASS__, 'menu_admin_head'));
|
14 |
add_action( 'admin_footer', array(__CLASS__, 'show_feedback'));
|
15 |
add_action('wp_ajax_send_inbound_feedback', array(__CLASS__, 'send_inbound_feedback'));
|
16 |
-
add_action('wp_ajax_send_inbound_feedback', array(__CLASS__, 'send_inbound_feedback'));
|
17 |
}
|
18 |
|
19 |
/* Loads
|
@@ -24,7 +21,7 @@ if (!class_exists('Inbound_Feedback')) {
|
|
24 |
global $wp_admin_bar;
|
25 |
// CHECK FOR ACTIVE PLUGINS
|
26 |
$leads_status = FALSE; $landing_page_status = FALSE; $cta_status = FALSE;
|
27 |
-
if (function_exists( 'is_plugin_active' ) && is_plugin_active('leads/
|
28 |
$leads_status = TRUE;
|
29 |
$leads_version_number = defined( 'WPL_CURRENT_VERSION' ) ? 'v' . WPL_CURRENT_VERSION : '';
|
30 |
}
|
@@ -33,7 +30,7 @@ if (!class_exists('Inbound_Feedback')) {
|
|
33 |
$landing_page_version_number = defined( 'LANDINGPAGES_CURRENT_VERSION' ) ? 'v' . LANDINGPAGES_CURRENT_VERSION : '';
|
34 |
|
35 |
}
|
36 |
-
if (function_exists( 'is_plugin_active' ) && is_plugin_active('cta/
|
37 |
$cta_status = TRUE;
|
38 |
$cta_number = defined( 'WP_CTA_CURRENT_VERSION' ) ? 'v' . WP_CTA_CURRENT_VERSION : '';
|
39 |
}
|
@@ -145,46 +142,46 @@ if (!class_exists('Inbound_Feedback')) {
|
|
145 |
return;
|
146 |
}
|
147 |
|
148 |
-
$plugin_name =
|
149 |
if (in_array($screen->id, $lp_page_array)) {
|
150 |
-
$plugin_name =
|
151 |
} else if (in_array($screen->id, $cta_page_array)) {
|
152 |
-
$plugin_name =
|
153 |
} else if (in_array($screen->id, $leads_page_array)) {
|
154 |
-
$plugin_name =
|
155 |
}
|
156 |
|
157 |
?>
|
158 |
<div id="launch-feedback" style='z-index:9999999999999; background:gray; position:fixed; bottom:0px; right:20px; width:200px; height:30px;'>
|
159 |
<div id="inbound-fb-request">
|
160 |
-
<div class="inbound-close-fb"
|
161 |
<div id="lp-slide-toggle">
|
162 |
<header id="header" class='inbound-customhead'>
|
163 |
-
<a href="http://www.inboundnow.com" target="_blank" title="Visit Inbound Now"><img src="<?php echo INBOUDNOW_SHARED_URLPATH . 'assets/admin/
|
164 |
-
<h3 class="main-feedback-header"
|
165 |
-
<h4
|
166 |
</header>
|
167 |
<section id="inbound-rules-main">
|
168 |
<form accept-charset="UTF-8" method="POST" id="inbound-feedback">
|
169 |
<div class="hs_message field hs-form-field">
|
170 |
-
<label placeholder="Enter your Feature Request" for="message-4c6efedd-40b4-438e-bb4c-050a1944c974"
|
171 |
</label>
|
172 |
<div class="input">
|
173 |
<textarea required="required" id="inbound-feedback-message" name="message" value=""></textarea>
|
174 |
</div>
|
175 |
<div class="input">
|
176 |
-
<input id="inbound-feedback-email-field" name="email" value="" placeholder="Your Email (optional field)"></textarea>
|
177 |
</div>
|
178 |
</div>
|
179 |
|
180 |
<div class="inbound-feedback-actions">
|
181 |
-
<input class="submit-inbound-feedback" type="submit" value="Send Feedback/Feature Request">
|
182 |
</div>
|
183 |
-
<div class="inbound-feedback-desc" style="display: block;"><strong
|
184 |
</form>
|
185 |
</section>
|
186 |
</div>
|
187 |
-
<div id="inbound-automation-footer" class="inbound-selectron-foot"><?php
|
188 |
</div>
|
189 |
<style type="text/css">
|
190 |
#wpfooter {
|
9 |
* --------------------------------------------------------- */
|
10 |
static function init() {
|
11 |
self::$add_feedback = true;
|
|
|
|
|
12 |
add_action( 'admin_footer', array(__CLASS__, 'show_feedback'));
|
13 |
add_action('wp_ajax_send_inbound_feedback', array(__CLASS__, 'send_inbound_feedback'));
|
|
|
14 |
}
|
15 |
|
16 |
/* Loads
|
21 |
global $wp_admin_bar;
|
22 |
// CHECK FOR ACTIVE PLUGINS
|
23 |
$leads_status = FALSE; $landing_page_status = FALSE; $cta_status = FALSE;
|
24 |
+
if (function_exists( 'is_plugin_active' ) && is_plugin_active('leads/leads.php')) {
|
25 |
$leads_status = TRUE;
|
26 |
$leads_version_number = defined( 'WPL_CURRENT_VERSION' ) ? 'v' . WPL_CURRENT_VERSION : '';
|
27 |
}
|
30 |
$landing_page_version_number = defined( 'LANDINGPAGES_CURRENT_VERSION' ) ? 'v' . LANDINGPAGES_CURRENT_VERSION : '';
|
31 |
|
32 |
}
|
33 |
+
if (function_exists( 'is_plugin_active' ) && is_plugin_active('cta/calls-to-action.php')) {
|
34 |
$cta_status = TRUE;
|
35 |
$cta_number = defined( 'WP_CTA_CURRENT_VERSION' ) ? 'v' . WP_CTA_CURRENT_VERSION : '';
|
36 |
}
|
142 |
return;
|
143 |
}
|
144 |
|
145 |
+
$plugin_name = __( 'Inbound Now Marketing Plugins' , 'inbound-pro' ); // default
|
146 |
if (in_array($screen->id, $lp_page_array)) {
|
147 |
+
$plugin_name = __( 'Landing Pages plugin' , 'inbound-pro' );
|
148 |
} else if (in_array($screen->id, $cta_page_array)) {
|
149 |
+
$plugin_name = __( 'Calls to Action plugin' , 'inbound-pro' );
|
150 |
} else if (in_array($screen->id, $leads_page_array)) {
|
151 |
+
$plugin_name = __( 'Leads Pages plugin' , 'inbound-pro' );
|
152 |
}
|
153 |
|
154 |
?>
|
155 |
<div id="launch-feedback" style='z-index:9999999999999; background:gray; position:fixed; bottom:0px; right:20px; width:200px; height:30px;'>
|
156 |
<div id="inbound-fb-request">
|
157 |
+
<div class="inbound-close-fb"><?php _e( 'close' , 'inbound-pro' ); ?></div>
|
158 |
<div id="lp-slide-toggle">
|
159 |
<header id="header" class='inbound-customhead'>
|
160 |
+
<a href="http://www.inboundnow.com" target="_blank" title="<?php _e( 'Visit Inbound Now' , 'inbound-pro' ); ?>"><img src="<?php echo INBOUDNOW_SHARED_URLPATH . 'assets/images/admin/inbound-now-logo.png';?>" width="315px"></a>
|
161 |
+
<h3 class="main-feedback-header" ><?php _e( 'We love hearing from You!' , 'inbound-pro' ); ?></h3>
|
162 |
+
<h4><?php _e( sprintf( 'Please leave your %sidea/feature request%s to make the %s better below! ' , '<strong>' , '</strong>' , $plugin_name ) , 'inbound-pro' ); ?></h4>
|
163 |
</header>
|
164 |
<section id="inbound-rules-main">
|
165 |
<form accept-charset="UTF-8" method="POST" id="inbound-feedback">
|
166 |
<div class="hs_message field hs-form-field">
|
167 |
+
<label placeholder="<?php _e( 'Enter your Feature Request' , 'inbound-pro' ); ?>" for="message-4c6efedd-40b4-438e-bb4c-050a1944c974"><?php _e( 'Feature Request' , 'inbound-pro' ); ?><span class="hs-form-required"> * </span>
|
168 |
</label>
|
169 |
<div class="input">
|
170 |
<textarea required="required" id="inbound-feedback-message" name="message" value=""></textarea>
|
171 |
</div>
|
172 |
<div class="input">
|
173 |
+
<input id="inbound-feedback-email-field" name="email" value="" placeholder="<?php _e( 'Your Email (optional field)' , 'inbound-pro' ); ?>"></textarea>
|
174 |
</div>
|
175 |
</div>
|
176 |
|
177 |
<div class="inbound-feedback-actions">
|
178 |
+
<input class="submit-inbound-feedback" type="submit" value="<?php _e( 'Send Feedback/Feature Request' , 'inbound-pro' ); ?>">
|
179 |
</div>
|
180 |
+
<div class="inbound-feedback-desc" style="display: block;"><strong><?php _e( 'Please note:' , 'inbound-pro' ); ?></strong> <?php _e( 'Support requests will not be handled through this form' , 'inbound-pro' ); ?></div>
|
181 |
</form>
|
182 |
</section>
|
183 |
</div>
|
184 |
+
<div id="inbound-automation-footer" class="inbound-selectron-foot"><?php _e( 'Submit a Feature Request' , 'inbound-pro' ); ?></div>
|
185 |
</div>
|
186 |
<style type="text/css">
|
187 |
#wpfooter {
|
shared/classes/class.form.php
CHANGED
@@ -22,8 +22,7 @@ if (!class_exists('Inbound_Forms')) {
|
|
22 |
}
|
23 |
|
24 |
/* Create Longer shortcode for [inbound_form] */
|
25 |
-
static function inbound_forms_create( $atts, $content = null )
|
26 |
-
{
|
27 |
|
28 |
global $post;
|
29 |
|
@@ -161,7 +160,7 @@ if (!class_exists('Inbound_Forms')) {
|
|
161 |
if ($map_field != "") {
|
162 |
$field_name = $map_field;
|
163 |
} else {
|
164 |
-
|
165 |
$field_name = strtolower(str_replace(array(' ','_'),'-',$label));
|
166 |
}
|
167 |
|
@@ -188,10 +187,16 @@ if (!class_exists('Inbound_Forms')) {
|
|
188 |
$show_labels = false;
|
189 |
}
|
190 |
|
191 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
192 |
|
193 |
if ($show_labels && $form_labels != "bottom" || $type === "radio") {
|
194 |
-
$form .= '<label for="'. $field_name .'" class="inbound-label '.$formatted_label.' '.$form_labels_class.' inbound-input-'.$type.'" style="'.$font_size.'">' . $matches[3][$i]['label'] . $req_label . '</label>';
|
195 |
}
|
196 |
|
197 |
if ($type === 'textarea') {
|
@@ -210,9 +215,20 @@ if (!class_exists('Inbound_Forms')) {
|
|
210 |
}
|
211 |
|
212 |
foreach ($dropdown_fields as $key => $value) {
|
213 |
-
|
214 |
-
|
215 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
216 |
}
|
217 |
$form .= '</select>';
|
218 |
|
@@ -270,9 +286,21 @@ if (!class_exists('Inbound_Forms')) {
|
|
270 |
// $clean_radio = str_replace(array(' ','_'),'-',$value) // clean leading spaces. finish
|
271 |
|
272 |
foreach ($radio_fields as $key => $value) {
|
273 |
-
$radio_val_trimmed =
|
274 |
-
$radio_val =
|
275 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
276 |
}
|
277 |
|
278 |
} else if ($type === 'checkbox') {
|
@@ -281,16 +309,22 @@ if (!class_exists('Inbound_Forms')) {
|
|
281 |
|
282 |
$checkbox = $matches[3][$i]['checkbox'];
|
283 |
$checkbox_fields = explode(",", $checkbox);
|
284 |
-
// $clean_radio = str_replace(array(' ','_'),'-',$value) // clean leading spaces. finish
|
285 |
foreach ($checkbox_fields as $key => $value) {
|
286 |
$value = html_entity_decode($value);
|
287 |
$checkbox_val_trimmed = strip_tags(trim($value));
|
288 |
$checkbox_val = strtolower(str_replace(array(' ','_'),'-',$checkbox_val_trimmed));
|
289 |
|
290 |
-
|
291 |
-
$
|
292 |
-
|
293 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
294 |
}
|
295 |
} else if ($type === 'html-block') {
|
296 |
|
@@ -319,7 +353,9 @@ if (!class_exists('Inbound_Forms')) {
|
|
319 |
if ($type === 'hidden' && $dynamic_value != "") {
|
320 |
$fill_value = $dynamic_value;
|
321 |
}
|
322 |
-
|
|
|
|
|
323 |
}
|
324 |
|
325 |
if ($show_labels && $form_labels === "bottom" && $type != "radio") {
|
@@ -339,14 +375,18 @@ if (!class_exists('Inbound_Forms')) {
|
|
339 |
'.$icon_insert.''.$submit_button.$inner_button.'</button></div><input data-ignore-form-field="true" type="hidden" name="inbound_submitted" value="1">';
|
340 |
// <!--<input type="submit" '.$submit_button_type.' class="button" value="'.$submit_button.'" name="send" id="inbound_form_submit" />-->
|
341 |
|
342 |
-
$form .= '<input type="hidden" name="
|
343 |
$form .= "<style type='text/css'>.inbound-button-submit{ {$font_size} }</style>";
|
344 |
$form = preg_replace('/<br class="inbr".\/>/', '', $form); // remove editor br tags
|
345 |
|
346 |
return $form;
|
347 |
}
|
348 |
}
|
349 |
-
|
|
|
|
|
|
|
|
|
350 |
// Strip HTML Tags
|
351 |
$clear = strip_tags($content);
|
352 |
// Clean up things like &
|
@@ -361,9 +401,11 @@ if (!class_exists('Inbound_Forms')) {
|
|
361 |
$clear = trim($clear);
|
362 |
return $clear;
|
363 |
}
|
364 |
-
|
365 |
-
|
366 |
-
|
|
|
|
|
367 |
extract(shortcode_atts(array(
|
368 |
'id' => '',
|
369 |
), $atts));
|
@@ -405,97 +447,106 @@ if (!class_exists('Inbound_Forms')) {
|
|
405 |
return do_shortcode( $shortcode );
|
406 |
}
|
407 |
|
408 |
-
|
|
|
|
|
409 |
static function register_script() {
|
410 |
wp_enqueue_style( 'inbound-shortcodes' );
|
411 |
}
|
412 |
|
413 |
-
|
|
|
|
|
414 |
static function print_script() {
|
415 |
-
if ( ! self::$add_script )
|
416 |
-
|
|
|
417 |
wp_enqueue_style( 'inbound-shortcodes' );
|
418 |
}
|
419 |
|
420 |
-
|
|
|
|
|
421 |
static function inline_my_script() {
|
422 |
-
if ( ! self::$add_script )
|
423 |
return;
|
424 |
-
|
|
|
425 |
echo '<script type="text/javascript">
|
426 |
|
427 |
-
|
428 |
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
|
|
|
437 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
438 |
});
|
439 |
-
});
|
440 |
|
441 |
-
|
442 |
-
|
443 |
|
444 |
-
|
445 |
-
|
446 |
-
}
|
447 |
-
var parent_redirect = parent.window.location.href;
|
448 |
-
jQuery("#inbound_parent_page").val(parent_redirect);
|
449 |
-
|
450 |
-
|
451 |
-
// validate email
|
452 |
-
$("input.inbound-email").on("change keyup", function (e) {
|
453 |
-
var email = $(this).val();
|
454 |
-
$(".email_suggestion").remove();
|
455 |
-
if (validateEmail(email)) {
|
456 |
-
$(this).css("color", "green");
|
457 |
-
$(this).addClass("valid-email");
|
458 |
-
$(this).removeClass("invalid-email");
|
459 |
-
} else {
|
460 |
-
$(this).css("color", "red");
|
461 |
-
$(this).addClass("invalid-email");
|
462 |
-
$(this).removeClass("valid-email");
|
463 |
}
|
464 |
-
|
465 |
-
|
466 |
-
|
467 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
468 |
|
469 |
});
|
470 |
</script>';
|
471 |
|
472 |
-
echo "<style type='text/css'>
|
473 |
-
/* Add button style options http://medleyweb.com/freebies/50-super-sleek-css-button-style-snippets/ */
|
474 |
-
.email_suggestion {
|
475 |
-
font-size: 13px;
|
476 |
-
padding-top: 0px;
|
477 |
-
margin-top: 0px;
|
478 |
-
display: block;
|
479 |
-
font-style: italic;
|
480 |
-
}
|
481 |
-
input.invalid-email {-webkit-box-shadow: 0 0 6px #F8B9B7;
|
482 |
-
-moz-box-shadow: 0 0 6px #f8b9b7;
|
483 |
-
box-shadow: 0 0 6px #F8B9B7;
|
484 |
-
color: #B94A48;
|
485 |
-
border-color: #E9322D;}
|
486 |
-
input.valid-email {-webkit-box-shadow: 0 0 6px #B7F8BA;
|
487 |
-
-moz-box-shadow: 0 0 6px #f8b9b7;
|
488 |
-
box-shadow: 0 0 6px #98D398;
|
489 |
-
color: #008000;
|
490 |
-
border-color: #008000;}
|
491 |
-
</style>";
|
492 |
}
|
493 |
|
|
|
|
|
|
|
494 |
public static function replace_tokens( $content , $form_data = null , $form_meta_data = null ) {
|
495 |
|
496 |
/* replace core tokens */
|
497 |
$content = str_replace('{{site-name}}', get_bloginfo( 'name' ) , $content);
|
498 |
-
//$content = str_replace('{{form-name}}', $form_data['
|
499 |
|
500 |
foreach ($form_data as $key => $value) {
|
501 |
$token_key = str_replace('_','-', $key);
|
@@ -506,7 +557,10 @@ if (!class_exists('Inbound_Forms')) {
|
|
506 |
|
507 |
return $content;
|
508 |
}
|
509 |
-
|
|
|
|
|
|
|
510 |
static function store_form_stats($form_id, $email) {
|
511 |
|
512 |
//$time = current_time( 'timestamp', 0 ); // Current wordpress time from settings
|
@@ -533,7 +587,10 @@ if (!class_exists('Inbound_Forms')) {
|
|
533 |
}
|
534 |
|
535 |
}
|
536 |
-
|
|
|
|
|
|
|
537 |
static function do_actions(){
|
538 |
|
539 |
if(isset($_POST['inbound_submitted']) && $_POST['inbound_submitted'] === '1') {
|
@@ -595,7 +652,9 @@ if (!class_exists('Inbound_Forms')) {
|
|
595 |
|
596 |
}
|
597 |
|
598 |
-
|
|
|
|
|
599 |
public static function send_conversion_admin_notification( $form_post_data , $form_meta_data ) {
|
600 |
|
601 |
if ( $template = self::get_new_lead_email_template()) {
|
@@ -634,12 +693,29 @@ if (!class_exists('Inbound_Forms')) {
|
|
634 |
/* Discover From Email Address */
|
635 |
foreach ($form_post_data as $key => $value) {
|
636 |
if (preg_match('/email|e-mail/i', $key)) {
|
637 |
-
$
|
638 |
}
|
639 |
}
|
|
|
|
|
|
|
|
|
|
|
640 |
|
641 |
-
|
|
|
|
|
|
|
|
|
|
|
642 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
643 |
/* Prepare Additional Data For Token Engine */
|
644 |
$form_post_data['redirect_message'] = (isset($form_post_data['inbound_redirect']) && $form_post_data['inbound_redirect'] != "") ? "They were redirected to " . $form_post_data['inbound_redirect'] : '';
|
645 |
|
@@ -653,6 +729,7 @@ if (!class_exists('Inbound_Forms')) {
|
|
653 |
|
654 |
|
655 |
$headers = 'From: '. $from_name .' <'. $from_email .'>' . "\r\n";
|
|
|
656 |
$headers = apply_filters( 'inbound_lead_notification_email_headers' , $headers );
|
657 |
|
658 |
foreach ($to_address as $key => $recipient) {
|
@@ -663,7 +740,9 @@ if (!class_exists('Inbound_Forms')) {
|
|
663 |
|
664 |
}
|
665 |
|
666 |
-
|
|
|
|
|
667 |
public static function send_conversion_lead_notification( $form_post_data , $form_meta_data ) {
|
668 |
|
669 |
|
@@ -734,7 +813,7 @@ if (!class_exists('Inbound_Forms')) {
|
|
734 |
|
735 |
/* add default subject if empty */
|
736 |
if (!$confirm_subject) {
|
737 |
-
$confirm_subject = __( 'Thank you!' , '
|
738 |
}
|
739 |
|
740 |
$confirm_email_message = $Inbound_Templating_Engine->replace_tokens( $confirm_email_message , array( $form_post_data, $form_meta_data ) );
|
@@ -750,7 +829,9 @@ if (!class_exists('Inbound_Forms')) {
|
|
750 |
|
751 |
}
|
752 |
|
753 |
-
|
|
|
|
|
754 |
static function get_new_lead_email_template( ) {
|
755 |
|
756 |
$email_template = array();
|
@@ -771,7 +852,9 @@ if (!class_exists('Inbound_Forms')) {
|
|
771 |
return $email_template;
|
772 |
}
|
773 |
|
774 |
-
|
|
|
|
|
775 |
public static function get_email_template( $ID ) {
|
776 |
|
777 |
$email_template = array();
|
@@ -797,18 +880,18 @@ if (!class_exists('Inbound_Forms')) {
|
|
797 |
|
798 |
case 'months':
|
799 |
return array(
|
800 |
-
'01' => __( 'Jan' , '
|
801 |
-
'02' => __( 'Feb' , '
|
802 |
-
'03' => __( 'Mar' , '
|
803 |
-
'04' => __( 'Apr' , '
|
804 |
-
'05' => __( 'May' , '
|
805 |
-
'06' => __( 'Jun' , '
|
806 |
-
'07' => __( 'Jul' , '
|
807 |
-
'08' => __( 'Aug' , '
|
808 |
-
'09' => __( 'Sep' , '
|
809 |
-
'10' => __( 'Oct' , '
|
810 |
-
'11' => __( 'Nov' , '
|
811 |
-
'12' => __( 'Dec' , '
|
812 |
);
|
813 |
break;
|
814 |
case 'days' :
|
@@ -838,259 +921,272 @@ if (!class_exists('Inbound_Forms')) {
|
|
838 |
*/
|
839 |
public static function get_countries_array() {
|
840 |
return array (
|
841 |
-
__( 'AF' , 'leads') => __( 'Afghanistan' , '
|
842 |
-
__( 'AX' , 'leads') => __( 'Aland Islands' , '
|
843 |
-
__( 'AL' , 'leads') => __( 'Albania' , '
|
844 |
-
__( 'DZ' , 'leads') => __( 'Algeria' , '
|
845 |
-
__( 'AS' , 'leads') => __( 'American Samoa' , '
|
846 |
-
__( 'AD' , 'leads') => __( 'Andorra' , '
|
847 |
-
__( 'AO' , 'leads') => __( 'Angola' , '
|
848 |
-
__( 'AI' , 'leads') => __( 'Anguilla' , '
|
849 |
-
__( 'AQ' , 'leads') => __( 'Antarctica' , '
|
850 |
-
__( 'AG' , 'leads') => __( 'Antigua and Barbuda' , '
|
851 |
-
__( 'AR' , 'leads') => __( 'Argentina' , '
|
852 |
-
__( 'AM' , 'leads') => __( 'Armenia' , '
|
853 |
-
__( 'AW' , 'leads') => __( 'Aruba' , '
|
854 |
-
__( 'AU' , 'leads') => __( 'Australia' , '
|
855 |
-
__( 'AT' , 'leads') => __( 'Austria' , '
|
856 |
-
__( 'AZ' , 'leads') => __( 'Azerbaijan' , '
|
857 |
-
__( 'BS' , 'leads') => __( 'Bahamas' , '
|
858 |
-
__( 'BH' , 'leads') => __( 'Bahrain' , '
|
859 |
-
__( 'BD' , 'leads') => __( 'Bangladesh' , '
|
860 |
-
__( 'BB' , 'leads') => __( 'Barbados' , '
|
861 |
-
__( 'BY' , 'leads') => __( 'Belarus' , '
|
862 |
-
__( 'BE' , 'leads') => __( 'Belgium' , '
|
863 |
-
__( 'BZ' , 'leads') => __( 'Belize' , '
|
864 |
-
__( 'BJ' , 'leads') => __( 'Benin' , '
|
865 |
-
__( 'BM' , 'leads') => __( 'Bermuda' , '
|
866 |
-
__( 'BT' , 'leads') => __( 'Bhutan' , '
|
867 |
-
__( 'BO' , 'leads') => __( 'Bolivia' , '
|
868 |
-
__( 'BA' , 'leads') => __( 'Bosnia and Herzegovina' , '
|
869 |
-
__( 'BW' , 'leads') => __( 'Botswana' , '
|
870 |
-
__( 'BV' , 'leads') => __( 'Bouvet Island' , '
|
871 |
-
__( 'BR' , 'leads') => __( 'Brazil' , '
|
872 |
-
__( 'IO' , 'leads') => __( 'British Indian Ocean Territory' , '
|
873 |
-
__( 'BN' , 'leads') => __( 'Brunei Darussalam' , '
|
874 |
-
__( 'BG' , 'leads') => __( 'Bulgaria' , '
|
875 |
-
__( 'BF' , 'leads') => __( 'Burkina Faso' , '
|
876 |
-
__( 'BI' , 'leads') => __( 'Burundi' , '
|
877 |
-
__( 'KH' , 'leads') => __( 'Cambodia' , '
|
878 |
-
__( 'CM' , 'leads') => __( 'Cameroon' , '
|
879 |
-
__( 'CA' , 'leads') => __( 'Canada' , '
|
880 |
-
__( 'CV' , 'leads') => __( 'Cape Verde' , '
|
881 |
-
__( 'BQ' , 'leads') => __( 'Caribbean Netherlands ' , '
|
882 |
-
__( 'KY' , 'leads') => __( 'Cayman Islands' , '
|
883 |
-
__( 'CF' , 'leads') => __( 'Central African Republic' , '
|
884 |
-
__( 'TD' , 'leads') => __( 'Chad' , '
|
885 |
-
__( 'CL' , 'leads') => __( 'Chile' , '
|
886 |
-
__( 'CN' , 'leads') => __( 'China' , '
|
887 |
-
__( 'CX' , 'leads') => __( 'Christmas Island' , '
|
888 |
-
__( 'CC' , 'leads') => __( 'Cocos (Keeling) Islands' , '
|
889 |
-
__( 'CO' , 'leads') => __( 'Colombia' , '
|
890 |
-
__( 'KM' , 'leads') => __( 'Comoros' , '
|
891 |
-
__( 'CG' , 'leads') => __( 'Congo' , '
|
892 |
-
__( 'CD' , 'leads') => __( 'Congo, Democratic Republic of' , '
|
893 |
-
__( 'CK' , 'leads') => __( 'Cook Islands' , '
|
894 |
-
__( 'CR' , 'leads') => __( 'Costa Rica' , '
|
895 |
-
__( 'CI' , 'leads') => __( 'Cote d\'Ivoire' , '
|
896 |
-
__( 'HR' , 'leads') => __( 'Croatia' , '
|
897 |
-
__( 'CU' , 'leads') => __( 'Cuba' , '
|
898 |
-
__( 'CW' , 'leads') => __( 'Curacao' , '
|
899 |
-
__( 'CY' , 'leads') => __( 'Cyprus' , '
|
900 |
-
__( 'CZ' , 'leads') => __( 'Czech Republic' , '
|
901 |
-
__( 'DK' , 'leads') => __( 'Denmark' , '
|
902 |
-
__( 'DJ' , 'leads') => __( 'Djibouti' , '
|
903 |
-
__( 'DM' , 'leads') => __( 'Dominica' , '
|
904 |
-
__( 'DO' , 'leads') => __( 'Dominican Republic' , '
|
905 |
-
__( 'EC' , 'leads') => __( 'Ecuador' , '
|
906 |
-
__( 'EG' , 'leads') => __( 'Egypt' , '
|
907 |
-
__( 'SV' , 'leads') => __( 'El Salvador' , '
|
908 |
-
__( 'GQ' , 'leads') => __( 'Equatorial Guinea' , '
|
909 |
-
__( 'ER' , 'leads') => __( 'Eritrea' , '
|
910 |
-
__( 'EE' , 'leads') => __( 'Estonia' , '
|
911 |
-
__( 'ET' , 'leads') => __( 'Ethiopia' , '
|
912 |
-
__( 'FK' , 'leads') => __( 'Falkland Islands' , '
|
913 |
-
__( 'FO' , 'leads') => __( 'Faroe Islands' , '
|
914 |
-
__( 'FJ' , 'leads') => __( 'Fiji' , '
|
915 |
-
__( 'FI' , 'leads') => __( 'Finland' , '
|
916 |
-
__( 'FR' , 'leads') => __( 'France' , '
|
917 |
-
__( 'GF' , 'leads') => __( 'French Guiana' , '
|
918 |
-
__( 'PF' , 'leads') => __( 'French Polynesia' , '
|
919 |
-
__( 'TF' , 'leads') => __( 'French Southern Territories' , '
|
920 |
-
__( 'GA' , 'leads') => __( 'Gabon' , '
|
921 |
-
__( 'GM' , 'leads') => __( 'Gambia' , '
|
922 |
-
__( 'GE' , 'leads') => __( 'Georgia' , '
|
923 |
-
__( 'DE' , 'leads') => __( 'Germany' , '
|
924 |
-
__( 'GH' , 'leads') => __( 'Ghana' , '
|
925 |
-
__( 'GI' , 'leads') => __( 'Gibraltar' , '
|
926 |
-
__( 'GR' , 'leads') => __( 'Greece' , '
|
927 |
-
__( 'GL' , 'leads') => __( 'Greenland' , '
|
928 |
-
__( 'GD' , 'leads') => __( 'Grenada' , '
|
929 |
-
__( 'GP' , 'leads') => __( 'Guadeloupe' , '
|
930 |
-
__( 'GU' , 'leads') => __( 'Guam' , '
|
931 |
-
__( 'GT' , 'leads') => __( 'Guatemala' , '
|
932 |
-
__( 'GG' , 'leads') => __( 'Guernsey' , '
|
933 |
-
__( 'GN' , 'leads') => __( 'Guinea' , '
|
934 |
-
__( 'GW' , 'leads') => __( 'Guinea-Bissau' , '
|
935 |
-
__( 'GY' , 'leads') => __( 'Guyana' , '
|
936 |
-
__( 'HT' , 'leads') => __( 'Haiti' , '
|
937 |
-
__( 'HM' , 'leads') => __( 'Heard and McDonald Islands' , '
|
938 |
-
__( 'HN' , 'leads') => __( 'Honduras' , '
|
939 |
-
__( 'HK' , 'leads') => __( 'Hong Kong' , '
|
940 |
-
__( 'HU' , 'leads') => __( 'Hungary' , '
|
941 |
-
__( 'IS' , 'leads') => __( 'Iceland' , '
|
942 |
-
__( 'IN' , 'leads') => __( 'India' , '
|
943 |
-
__( 'ID' , 'leads') => __( 'Indonesia' , '
|
944 |
-
__( 'IR' , 'leads') => __( 'Iran' , '
|
945 |
-
__( 'IQ' , 'leads') => __( 'Iraq' , '
|
946 |
-
__( 'IE' , 'leads') => __( 'Ireland' , '
|
947 |
-
__( 'IM' , 'leads') => __( 'Isle of Man' , '
|
948 |
-
__( 'IL' , 'leads') => __( 'Israel' , '
|
949 |
-
__( 'IT' , 'leads') => __( 'Italy' , '
|
950 |
-
__( 'JM' , 'leads') => __( 'Jamaica' , '
|
951 |
-
__( 'JP' , 'leads') => __( 'Japan' , '
|
952 |
-
__( 'JE' , 'leads') => __( 'Jersey' , '
|
953 |
-
__( 'JO' , 'leads') => __( 'Jordan' , '
|
954 |
-
__( 'KZ' , 'leads') => __( 'Kazakhstan' , '
|
955 |
-
__( 'KE' , 'leads') => __( 'Kenya' , '
|
956 |
-
__( 'KI' , 'leads') => __( 'Kiribati' , '
|
957 |
-
__( 'KW' , 'leads') => __( 'Kuwait' , '
|
958 |
-
__( 'KG' , 'leads') => __( 'Kyrgyzstan' , '
|
959 |
-
__( 'LA' , 'leads') => __( 'Lao People\'s Democratic Republic' , '
|
960 |
-
__( 'LV' , 'leads') => __( 'Latvia' , '
|
961 |
-
__( 'LB' , 'leads') => __( 'Lebanon' , '
|
962 |
-
__( 'LS' , 'leads') => __( 'Lesotho' , '
|
963 |
-
__( 'LR' , 'leads') => __( 'Liberia' , '
|
964 |
-
__( 'LY' , 'leads') => __( 'Libya' , '
|
965 |
-
__( 'LI' , 'leads') => __( 'Liechtenstein' , '
|
966 |
-
__( 'LT' , 'leads') => __( 'Lithuania' , '
|
967 |
-
__( 'LU' , 'leads') => __( 'Luxembourg' , '
|
968 |
-
__( 'MO' , 'leads') => __( 'Macau' , '
|
969 |
-
__( 'MK' , 'leads') => __( 'Macedonia' , '
|
970 |
-
__( 'MG' , 'leads') => __( 'Madagascar' , '
|
971 |
-
__( 'MW' , 'leads') => __( 'Malawi' , '
|
972 |
-
__( 'MY' , 'leads') => __( 'Malaysia' , '
|
973 |
-
__( 'MV' , 'leads') => __( 'Maldives' , '
|
974 |
-
__( 'ML' , 'leads') => __( 'Mali' , '
|
975 |
-
__( 'MT' , 'leads') => __( 'Malta' , '
|
976 |
-
__( 'MH' , 'leads') => __( 'Marshall Islands' , '
|
977 |
-
__( 'MQ' , 'leads') => __( 'Martinique' , '
|
978 |
-
__( 'MR' , 'leads') => __( 'Mauritania' , '
|
979 |
-
__( 'MU' , 'leads') => __( 'Mauritius' , '
|
980 |
-
__( 'YT' , 'leads') => __( 'Mayotte' , '
|
981 |
-
__( 'MX' , 'leads') => __( 'Mexico' , '
|
982 |
-
__( 'FM' , 'leads') => __( 'Micronesia, Federated States of' , '
|
983 |
-
__( 'MD' , 'leads') => __( 'Moldova' , '
|
984 |
-
__( 'MC' , 'leads') => __( 'Monaco' , '
|
985 |
-
__( 'MN' , 'leads') => __( 'Mongolia' , '
|
986 |
-
__( 'ME' , 'leads') => __( 'Montenegro' , '
|
987 |
-
__( 'MS' , 'leads') => __( 'Montserrat' , '
|
988 |
-
__( 'MA' , 'leads') => __( 'Morocco' , '
|
989 |
-
__( 'MZ' , 'leads') => __( 'Mozambique' , '
|
990 |
-
__( 'MM' , 'leads') => __( 'Myanmar' , '
|
991 |
-
__( 'NA' , 'leads') => __( 'Namibia' , '
|
992 |
-
__( 'NR' , 'leads') => __( 'Nauru' , '
|
993 |
-
__( 'NP' , 'leads') => __( 'Nepal' , '
|
994 |
-
__( 'NC' , 'leads') => __( 'New Caledonia' , '
|
995 |
-
__( 'NZ' , 'leads') => __( 'New Zealand' , '
|
996 |
-
__( 'NI' , 'leads') => __( 'Nicaragua' , '
|
997 |
-
__( 'NE' , 'leads') => __( 'Niger' , '
|
998 |
-
__( 'NG' , 'leads') => __( 'Nigeria' , '
|
999 |
-
__( 'NU' , 'leads') => __( 'Niue' , '
|
1000 |
-
__( 'NF' , 'leads') => __( 'Norfolk Island' , '
|
1001 |
-
__( 'KP' , 'leads') => __( 'North Korea' , '
|
1002 |
-
__( 'MP' , 'leads') => __( 'Northern Mariana Islands' , '
|
1003 |
-
__( 'NO' , 'leads') => __( 'Norway' , '
|
1004 |
-
__( 'OM' , 'leads') => __( 'Oman' , '
|
1005 |
-
__( 'PK' , 'leads') => __( 'Pakistan' , '
|
1006 |
-
__( 'PW' , 'leads') => __( 'Palau' , '
|
1007 |
-
__( 'PS' , 'leads') => __( 'Palestinian Territory, Occupied' , '
|
1008 |
-
__( 'PA' , 'leads') => __( 'Panama' , '
|
1009 |
-
__( 'PG' , 'leads') => __( 'Papua New Guinea' , '
|
1010 |
-
__( 'PY' , 'leads') => __( 'Paraguay' , '
|
1011 |
-
__( 'PE' , 'leads') => __( 'Peru' , '
|
1012 |
-
__( 'PH' , 'leads') => __( 'Philippines' , '
|
1013 |
-
__( 'PN' , 'leads') => __( 'Pitcairn' , '
|
1014 |
-
__( 'PL' , 'leads') => __( 'Poland' , '
|
1015 |
-
__( 'PT' , 'leads') => __( 'Portugal' , '
|
1016 |
-
__( 'PR' , 'leads') => __( 'Puerto Rico' , '
|
1017 |
-
__( 'QA' , 'leads') => __( 'Qatar' , '
|
1018 |
-
__( 'RE' , 'leads') => __( 'Reunion' , '
|
1019 |
-
__( 'RO' , 'leads') => __( 'Romania' , '
|
1020 |
-
__( 'RU' , 'leads') => __( 'Russian Federation' , '
|
1021 |
-
__( 'RW' , 'leads') => __( 'Rwanda' , '
|
1022 |
-
__( 'BL' , 'leads') => __( 'Saint Barthelemy' , '
|
1023 |
-
__( 'SH' , 'leads') => __( 'Saint Helena' , '
|
1024 |
-
__( 'KN' , 'leads') => __( 'Saint Kitts and Nevis' , '
|
1025 |
-
__( 'LC' , 'leads') => __( 'Saint Lucia' , '
|
1026 |
-
__( 'VC' , 'leads') => __( 'Saint Vincent and the Grenadines' , '
|
1027 |
-
__( 'MF' , 'leads') => __( 'Saint-Martin (France)' , '
|
1028 |
-
__( 'SX' , 'leads') => __( 'Saint-Martin (Pays-Bas)' , '
|
1029 |
-
__( 'WS' , 'leads') => __( 'Samoa' , '
|
1030 |
-
__( 'SM' , 'leads') => __( 'San Marino' , '
|
1031 |
-
__( 'ST' , 'leads') => __( 'Sao Tome and Principe' , '
|
1032 |
-
__( 'SA' , 'leads') => __( 'Saudi Arabia' , '
|
1033 |
-
__( 'SN' , 'leads') => __( 'Senegal' , '
|
1034 |
-
__( 'RS' , 'leads') => __( 'Serbia' , '
|
1035 |
-
__( 'SC' , 'leads') => __( 'Seychelles' , '
|
1036 |
-
__( 'SL' , 'leads') => __( 'Sierra Leone' , '
|
1037 |
-
__( 'SG' , 'leads') => __( 'Singapore' , '
|
1038 |
-
__( 'SK' , 'leads') => __( 'Slovakia (Slovak Republic)' , '
|
1039 |
-
__( 'SI' , 'leads') => __( 'Slovenia' , '
|
1040 |
-
__( 'SB' , 'leads') => __( 'Solomon Islands' , '
|
1041 |
-
__( 'SO' , 'leads') => __( 'Somalia' , '
|
1042 |
-
__( 'ZA' , 'leads') => __( 'South Africa' , '
|
1043 |
-
__( 'GS' , 'leads') => __( 'South Georgia and the South Sandwich Islands' , '
|
1044 |
-
__( 'KR' , 'leads') => __( 'South Korea' , '
|
1045 |
-
__( 'SS' , 'leads') => __( 'South Sudan' , '
|
1046 |
-
__( 'ES' , 'leads') => __( 'Spain' , '
|
1047 |
-
__( 'LK' , 'leads') => __( 'Sri Lanka' , '
|
1048 |
-
__( 'PM' , 'leads') => __( 'St. Pierre and Miquelon' , '
|
1049 |
-
__( 'SD' , 'leads') => __( 'Sudan' , '
|
1050 |
-
__( 'SR' , 'leads') => __( 'Suriname' , '
|
1051 |
-
__( 'SJ' , 'leads') => __( 'Svalbard and Jan Mayen Islands' , '
|
1052 |
-
__( 'SZ' , 'leads') => __( 'Swaziland' , '
|
1053 |
-
__( 'SE' , 'leads') => __( 'Sweden' , '
|
1054 |
-
__( 'CH' , 'leads') => __( 'Switzerland' , '
|
1055 |
-
__( 'SY' , 'leads') => __( 'Syria' , '
|
1056 |
-
__( 'TW' , 'leads') => __( 'Taiwan' , '
|
1057 |
-
__( 'TJ' , 'leads') => __( 'Tajikistan' , '
|
1058 |
-
__( 'TZ' , 'leads') => __( 'Tanzania' , '
|
1059 |
-
__( 'TH' , 'leads') => __( 'Thailand' , '
|
1060 |
-
__( 'NL' , 'leads') => __( 'The Netherlands' , '
|
1061 |
-
__( 'TL' , 'leads') => __( 'Timor-Leste' , '
|
1062 |
-
__( 'TG' , 'leads') => __( 'Togo' , '
|
1063 |
-
__( 'TK' , 'leads') => __( 'Tokelau' , '
|
1064 |
-
__( 'TO' , 'leads') => __( 'Tonga' , '
|
1065 |
-
__( 'TT' , 'leads') => __( 'Trinidad and Tobago' , '
|
1066 |
-
__( 'TN' , 'leads') => __( 'Tunisia' , '
|
1067 |
-
__( 'TR' , 'leads') => __( 'Turkey' , '
|
1068 |
-
__( 'TM' , 'leads') => __( 'Turkmenistan' , '
|
1069 |
-
__( 'TC' , 'leads') => __( 'Turks and Caicos Islands' , '
|
1070 |
-
__( 'TV' , 'leads') => __( 'Tuvalu' , '
|
1071 |
-
__( 'UG' , 'leads') => __( 'Uganda' , '
|
1072 |
-
__( 'UA' , 'leads') => __( 'Ukraine' , '
|
1073 |
-
__( 'AE' , 'leads') => __( 'United Arab Emirates' , '
|
1074 |
-
__( 'GB' , 'leads') => __( 'United Kingdom' , '
|
1075 |
-
__( 'US' , 'leads') => __( 'United States' , '
|
1076 |
-
__( 'UM' , 'leads') => __( 'United States Minor Outlying Islands' , '
|
1077 |
-
__( 'UY' , 'leads') => __( 'Uruguay' , '
|
1078 |
-
__( 'UZ' , 'leads') => __( 'Uzbekistan' , '
|
1079 |
-
__( 'VU' , 'leads') => __( 'Vanuatu' , '
|
1080 |
-
__( 'VA' , 'leads') => __( 'Vatican' , '
|
1081 |
-
__( 'VE' , 'leads') => __( 'Venezuela' , '
|
1082 |
-
__( 'VN' , 'leads') => __( 'Vietnam' , '
|
1083 |
-
__( 'VG' , 'leads') => __( 'Virgin Islands (British)' , '
|
1084 |
-
__( 'VI' , 'leads') => __( 'Virgin Islands (U.S.)' , '
|
1085 |
-
__( 'WF' , 'leads') => __( 'Wallis and Futuna Islands' , '
|
1086 |
-
__( 'EH' , 'leads') => __( 'Western Sahara' , '
|
1087 |
-
__( 'YE' , 'leads') => __( 'Yemen' , '
|
1088 |
-
__( 'ZM' , 'leads') => __( 'Zambia' , '
|
1089 |
-
__( 'ZW' , 'leads') => __( 'Zimbabwe' , '
|
1090 |
);
|
1091 |
}
|
1092 |
|
1093 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1094 |
|
1095 |
Inbound_Forms::init();
|
1096 |
}
|
22 |
}
|
23 |
|
24 |
/* Create Longer shortcode for [inbound_form] */
|
25 |
+
static function inbound_forms_create( $atts, $content = null ) {
|
|
|
26 |
|
27 |
global $post;
|
28 |
|
160 |
if ($map_field != "") {
|
161 |
$field_name = $map_field;
|
162 |
} else {
|
163 |
+
//$label = self::santize_inputs($label);
|
164 |
$field_name = strtolower(str_replace(array(' ','_'),'-',$label));
|
165 |
}
|
166 |
|
187 |
$show_labels = false;
|
188 |
}
|
189 |
|
190 |
+
// added by kirit dholakiya for validation of multiple checkbox
|
191 |
+
$div_chk_req = '';
|
192 |
+
if($type=='checkbox' && $required=='1') {
|
193 |
+
$div_chk_req =' checkbox-required ';
|
194 |
+
}
|
195 |
+
|
196 |
+
$form .= '<div class="inbound-field '.$div_chk_req.$main_layout.' label-'.$form_labels_class.' '.$form_labels_class.' '.$field_container_class.'">';
|
197 |
|
198 |
if ($show_labels && $form_labels != "bottom" || $type === "radio") {
|
199 |
+
$form .= '<label for="'. $field_name .'" class="inbound-label '.$formatted_label.' '.$form_labels_class.' inbound-input-'.$type.'" style="'.$font_size.'">' . html_entity_decode($matches[3][$i]['label']) . $req_label . '</label>';
|
200 |
}
|
201 |
|
202 |
if ($type === 'textarea') {
|
215 |
}
|
216 |
|
217 |
foreach ($dropdown_fields as $key => $value) {
|
218 |
+
$drop_val_trimmed = trim($value);
|
219 |
+
$dropdown_val = strtolower(str_replace(array(' ','_'),'-',$drop_val_trimmed));
|
220 |
+
|
221 |
+
//check for label-value separator (pipe)
|
222 |
+
$pos = strrpos($value, "|");
|
223 |
+
|
224 |
+
//if not found, use standard replacement (lowercase and spaces become dashes)
|
225 |
+
if ($pos === false) {
|
226 |
+
$form .= '<option value="'. trim(str_replace('"', '\"' , $dropdown_val)) .'">'. $drop_val_trimmed .'</option>';
|
227 |
+
} else {
|
228 |
+
//otherwise left side of separator is label, right side is value
|
229 |
+
$option = explode("|", $value);
|
230 |
+
$form .= '<option value="'. trim(str_replace('"', '\"' , trim($option[1]))) .'">'. trim($option[0]) .'</option>';
|
231 |
+
}
|
232 |
}
|
233 |
$form .= '</select>';
|
234 |
|
286 |
// $clean_radio = str_replace(array(' ','_'),'-',$value) // clean leading spaces. finish
|
287 |
|
288 |
foreach ($radio_fields as $key => $value) {
|
289 |
+
$radio_val_trimmed = trim($value);
|
290 |
+
$radio_val = strtolower(str_replace(array(' ','_'),'-',$radio_val_trimmed));
|
291 |
+
|
292 |
+
//check for label-value separator (pipe)
|
293 |
+
$pos = strrpos($value, "|");
|
294 |
+
|
295 |
+
//if not found, use standard replacement (lowercase and spaces become dashes)
|
296 |
+
if ($pos === false) {
|
297 |
+
$form .= '<span class="radio-'.$main_layout.' radio-'.$form_labels_class.' '.$field_input_class.'"><input type="radio" name="'. $field_name .'" value="'. $radio_val .'">'. $radio_val_trimmed .'</span>';
|
298 |
+
} else {
|
299 |
+
//otherwise left side of separator is label, right side is value
|
300 |
+
$option = explode("|", $value);
|
301 |
+
$form .= '<span class="radio-'.$main_layout.' radio-'.$form_labels_class.' '.$field_input_class.'"><input type="radio" name="'. $field_name .'" value="'. trim(str_replace('"', '\"' , trim($option[1]))) .'">'. trim($option[0]) .'</span>';
|
302 |
+
}
|
303 |
+
|
304 |
}
|
305 |
|
306 |
} else if ($type === 'checkbox') {
|
309 |
|
310 |
$checkbox = $matches[3][$i]['checkbox'];
|
311 |
$checkbox_fields = explode(",", $checkbox);
|
|
|
312 |
foreach ($checkbox_fields as $key => $value) {
|
313 |
$value = html_entity_decode($value);
|
314 |
$checkbox_val_trimmed = strip_tags(trim($value));
|
315 |
$checkbox_val = strtolower(str_replace(array(' ','_'),'-',$checkbox_val_trimmed));
|
316 |
|
317 |
+
//check for label-value separator (pipe)
|
318 |
+
$pos = strrpos($value, "|");
|
319 |
+
|
320 |
+
//if not found, use standard replacement (lowercase and spaces become dashes)
|
321 |
+
if ($pos === false) {
|
322 |
+
$form .= '<input class="checkbox-'.$main_layout.' checkbox-'.$form_labels_class.' '.$field_input_class.'" type="checkbox" name="'. $field_name .'[]" value="'. $checkbox_val .'" >'.$checkbox_val_trimmed.'<br>';
|
323 |
+
} else {
|
324 |
+
//otherwise left side of separator is label, right side is value
|
325 |
+
$option = explode("|", $value);
|
326 |
+
$form .= '<input class="checkbox-'.$main_layout.' checkbox-'.$form_labels_class.' '.$field_input_class.'" type="checkbox" name="'. $field_name .'[]" value="'. trim(str_replace('"', '\"' , trim($option[1]))) .'" >'. trim($option[0]) .'<br>';
|
327 |
+
}
|
328 |
}
|
329 |
} else if ($type === 'html-block') {
|
330 |
|
353 |
if ($type === 'hidden' && $dynamic_value != "") {
|
354 |
$fill_value = $dynamic_value;
|
355 |
}
|
356 |
+
|
357 |
+
$input_type = ( $email_input ) ? 'email' : 'text';
|
358 |
+
$form .= '<input type="'.$input_type .'" class="inbound-input inbound-input-text '.$formatted_label . $input_classes.' '.$field_input_class.'" name="'.$field_name.'" '.$form_placeholder.' id="'.$field_name.'" value="'.$fill_value.'" '.$data_mapping_attr.$et_output.' '.$req.'/>';
|
359 |
}
|
360 |
|
361 |
if ($show_labels && $form_labels === "bottom" && $type != "radio") {
|
375 |
'.$icon_insert.''.$submit_button.$inner_button.'</button></div><input data-ignore-form-field="true" type="hidden" name="inbound_submitted" value="1">';
|
376 |
// <!--<input type="submit" '.$submit_button_type.' class="button" value="'.$submit_button.'" name="send" id="inbound_form_submit" />-->
|
377 |
|
378 |
+
$form .= '<input type="hidden" name="inbound_form_n" class="inbound_form_n" value="'.$form_name.'"><input type="hidden" name="inbound_form_lists" id="inbound_form_lists" value="'.$lists.'" data-map-form-field="inbound_form_lists"><input type="hidden" name="inbound_form_id" class="inbound_form_id" value="'.$id.'"><input type="hidden" name="inbound_current_page_url" value="'.$current_page.'"><input type="hidden" name="inbound_furl" value="'. base64_encode($redirect) .'"><input type="hidden" name="inbound_notify" value="'. base64_encode($notify) .'"><input type="hidden" class="inbound_params" name="inbound_params" value=""></form></div>';
|
379 |
$form .= "<style type='text/css'>.inbound-button-submit{ {$font_size} }</style>";
|
380 |
$form = preg_replace('/<br class="inbr".\/>/', '', $form); // remove editor br tags
|
381 |
|
382 |
return $form;
|
383 |
}
|
384 |
}
|
385 |
+
|
386 |
+
/**
|
387 |
+
* Sanitizes form inputs
|
388 |
+
*/
|
389 |
+
static function santize_inputs($content) {
|
390 |
// Strip HTML Tags
|
391 |
$clear = strip_tags($content);
|
392 |
// Clean up things like &
|
401 |
$clear = trim($clear);
|
402 |
return $clear;
|
403 |
}
|
404 |
+
|
405 |
+
/**
|
406 |
+
* Create shorter shortcode for [inbound_forms]
|
407 |
+
*/
|
408 |
+
static function inbound_short_form_create( $atts, $content = null ) {
|
409 |
extract(shortcode_atts(array(
|
410 |
'id' => '',
|
411 |
), $atts));
|
447 |
return do_shortcode( $shortcode );
|
448 |
}
|
449 |
|
450 |
+
/**
|
451 |
+
* Enqueue JS & CSS
|
452 |
+
*/
|
453 |
static function register_script() {
|
454 |
wp_enqueue_style( 'inbound-shortcodes' );
|
455 |
}
|
456 |
|
457 |
+
/**
|
458 |
+
* Needs more documentation
|
459 |
+
*/
|
460 |
static function print_script() {
|
461 |
+
if ( ! self::$add_script ) {
|
462 |
+
return;
|
463 |
+
}
|
464 |
wp_enqueue_style( 'inbound-shortcodes' );
|
465 |
}
|
466 |
|
467 |
+
/**
|
468 |
+
* Needs more documentation
|
469 |
+
*/
|
470 |
static function inline_my_script() {
|
471 |
+
if ( ! self::$add_script ) {
|
472 |
return;
|
473 |
+
}
|
474 |
+
/* TODO remove this */
|
475 |
echo '<script type="text/javascript">
|
476 |
|
477 |
+
InboundQuery(document).ready(function($){
|
478 |
|
479 |
+
InboundQuery("form").submit(function(e) {
|
480 |
+
|
481 |
+
// added below condition for check any of checkbox checked or not by kirit dholakiya
|
482 |
+
if( InboundQuery(\'.checkbox-required\')[0] && InboundQuery(\'.checkbox-required input[type=checkbox]:checked\').length==0)
|
483 |
+
{
|
484 |
+
InboundQuery(\'.checkbox-required input[type=checkbox]:first\').focus();
|
485 |
+
alert("' . __( 'Oops! Looks like you have not filled out all of the required fields!' , 'inbound-pro' ) .'");
|
486 |
+
e.preventDefault();
|
487 |
+
e.stopImmediatePropagation();
|
488 |
}
|
489 |
+
InboundQuery(this).find("input").each(function(){
|
490 |
+
if(!InboundQuery(this).prop("required")){
|
491 |
+
} else if (!InboundQuery(this).val()) {
|
492 |
+
alert("' . __( 'Oops! Looks like you have not filled out all of the required fields!' , 'inbound-pro' ) .'");
|
493 |
+
|
494 |
+
e.preventDefault();
|
495 |
+
e.stopImmediatePropagation();
|
496 |
+
return false;
|
497 |
+
}
|
498 |
+
});
|
499 |
});
|
|
|
500 |
|
501 |
+
InboundQuery("#inbound_form_submit br").remove(); // remove br tags
|
502 |
+
function validateEmail(email) {
|
503 |
|
504 |
+
var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
|
505 |
+
return re.test(email);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
506 |
}
|
507 |
+
var parent_redirect = parent.window.location.href;
|
508 |
+
InboundQuery("#inbound_parent_page").val(parent_redirect);
|
509 |
+
|
510 |
+
|
511 |
+
// validate email
|
512 |
+
InboundQuery("input.inbound-email").on("change keyup", function (e) {
|
513 |
+
var $this = InboundQuery(this);
|
514 |
+
var email = $this.val();
|
515 |
+
InboundQuery(".inbound_email_suggestion").remove();
|
516 |
+
if (validateEmail(email)) {
|
517 |
+
$this.css("color", "green");
|
518 |
+
$this.addClass("inbound-valid-email");
|
519 |
+
$this.removeClass("inbound-invalid-email");
|
520 |
+
} else {
|
521 |
+
$this.css("color", "red");
|
522 |
+
$this.addClass("inbound-invalid-email");
|
523 |
+
$this.removeClass("inbound-valid-email");
|
524 |
+
}
|
525 |
+
if($this.hasClass("inbound-valid-email")) {
|
526 |
+
$this.parent().parent().find("#inbound_form_submit").removeAttr("disabled");
|
527 |
+
}
|
528 |
+
});
|
529 |
+
|
530 |
+
/* Trims whitespace on advancing to the next input */
|
531 |
+
InboundQuery("input[type=\'text\']").on("blur" , function() {
|
532 |
+
var value = InboundQuery.trim( $(this).val() );
|
533 |
+
InboundQuery(this).val( value );
|
534 |
+
})
|
535 |
+
|
536 |
|
537 |
});
|
538 |
</script>';
|
539 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
540 |
}
|
541 |
|
542 |
+
/**
|
543 |
+
* Replaces tokens in automated email
|
544 |
+
*/
|
545 |
public static function replace_tokens( $content , $form_data = null , $form_meta_data = null ) {
|
546 |
|
547 |
/* replace core tokens */
|
548 |
$content = str_replace('{{site-name}}', get_bloginfo( 'name' ) , $content);
|
549 |
+
//$content = str_replace('{{form-name}}', $form_data['inbound_form_n'] , $content);
|
550 |
|
551 |
foreach ($form_data as $key => $value) {
|
552 |
$token_key = str_replace('_','-', $key);
|
557 |
|
558 |
return $content;
|
559 |
}
|
560 |
+
|
561 |
+
/**
|
562 |
+
* Stores conversion activity into form metadata
|
563 |
+
*/
|
564 |
static function store_form_stats($form_id, $email) {
|
565 |
|
566 |
//$time = current_time( 'timestamp', 0 ); // Current wordpress time from settings
|
587 |
}
|
588 |
|
589 |
}
|
590 |
+
|
591 |
+
/**
|
592 |
+
* Perform Actions After a Form Submit
|
593 |
+
*/
|
594 |
static function do_actions(){
|
595 |
|
596 |
if(isset($_POST['inbound_submitted']) && $_POST['inbound_submitted'] === '1') {
|
652 |
|
653 |
}
|
654 |
|
655 |
+
/**
|
656 |
+
* Sends Notification of New Lead Conversion to Admin & Others Listed on the Form Notification List
|
657 |
+
*/
|
658 |
public static function send_conversion_admin_notification( $form_post_data , $form_meta_data ) {
|
659 |
|
660 |
if ( $template = self::get_new_lead_email_template()) {
|
693 |
/* Discover From Email Address */
|
694 |
foreach ($form_post_data as $key => $value) {
|
695 |
if (preg_match('/email|e-mail/i', $key)) {
|
696 |
+
$reply_to_email = $form_post_data[$key];
|
697 |
}
|
698 |
}
|
699 |
+
$domain = get_option( 'siteurl');
|
700 |
+
$domain = str_replace('http://', '', $domain);
|
701 |
+
$domain = str_replace('https://', '', $domain);
|
702 |
+
$domain = str_replace('www', '', $domain);
|
703 |
+
$email_default = 'wordpress@' . $domain;
|
704 |
|
705 |
+
/* Leave here for now
|
706 |
+
switch( get_option('inbound_forms_enable_akismet' , 'noreply' ) ) {
|
707 |
+
case 'noreply':
|
708 |
+
BREAK;
|
709 |
+
|
710 |
+
case 'lead':
|
711 |
|
712 |
+
BREAK;
|
713 |
+
}
|
714 |
+
*/
|
715 |
+
|
716 |
+
$from_email = get_option( 'admin_email' , $email_default );
|
717 |
+
$from_email = apply_filters( 'inbound_admin_notification_from_email' , $from_email );
|
718 |
+
$reply_to_email = (isset($reply_to_email)) ? $reply_to_email : $from_email;
|
719 |
/* Prepare Additional Data For Token Engine */
|
720 |
$form_post_data['redirect_message'] = (isset($form_post_data['inbound_redirect']) && $form_post_data['inbound_redirect'] != "") ? "They were redirected to " . $form_post_data['inbound_redirect'] : '';
|
721 |
|
729 |
|
730 |
|
731 |
$headers = 'From: '. $from_name .' <'. $from_email .'>' . "\r\n";
|
732 |
+
$headers = "Reply-To: ".$reply_to_email . "\r\n";
|
733 |
$headers = apply_filters( 'inbound_lead_notification_email_headers' , $headers );
|
734 |
|
735 |
foreach ($to_address as $key => $recipient) {
|
740 |
|
741 |
}
|
742 |
|
743 |
+
/**
|
744 |
+
* Sends An Email to Lead After Conversion
|
745 |
+
*/
|
746 |
public static function send_conversion_lead_notification( $form_post_data , $form_meta_data ) {
|
747 |
|
748 |
|
813 |
|
814 |
/* add default subject if empty */
|
815 |
if (!$confirm_subject) {
|
816 |
+
$confirm_subject = __( 'Thank you!' , 'inbound-pro' );
|
817 |
}
|
818 |
|
819 |
$confirm_email_message = $Inbound_Templating_Engine->replace_tokens( $confirm_email_message , array( $form_post_data, $form_meta_data ) );
|
829 |
|
830 |
}
|
831 |
|
832 |
+
/**
|
833 |
+
* Get Email Template for New Lead Notification
|
834 |
+
*/
|
835 |
static function get_new_lead_email_template( ) {
|
836 |
|
837 |
$email_template = array();
|
852 |
return $email_template;
|
853 |
}
|
854 |
|
855 |
+
/**
|
856 |
+
* Get Email Template by ID
|
857 |
+
*/
|
858 |
public static function get_email_template( $ID ) {
|
859 |
|
860 |
$email_template = array();
|
880 |
|
881 |
case 'months':
|
882 |
return array(
|
883 |
+
'01' => __( 'Jan' , 'inbound-pro' ),
|
884 |
+
'02' => __( 'Feb' , 'inbound-pro' ),
|
885 |
+
'03' => __( 'Mar' , 'inbound-pro' ),
|
886 |
+
'04' => __( 'Apr' , 'inbound-pro' ),
|
887 |
+
'05' => __( 'May' , 'inbound-pro' ),
|
888 |
+
'06' => __( 'Jun' , 'inbound-pro' ),
|
889 |
+
'07' => __( 'Jul' , 'inbound-pro' ),
|
890 |
+
'08' => __( 'Aug' , 'inbound-pro' ),
|
891 |
+
'09' => __( 'Sep' , 'inbound-pro' ),
|
892 |
+
'10' => __( 'Oct' , 'inbound-pro' ),
|
893 |
+
'11' => __( 'Nov' , 'inbound-pro' ),
|
894 |
+
'12' => __( 'Dec' , 'inbound-pro' )
|
895 |
);
|
896 |
break;
|
897 |
case 'days' :
|
921 |
*/
|
922 |
public static function get_countries_array() {
|
923 |
return array (
|
924 |
+
__( 'AF' , 'leads') => __( 'Afghanistan' , 'inbound-pro' ) ,
|
925 |
+
__( 'AX' , 'leads') => __( 'Aland Islands' , 'inbound-pro' ) ,
|
926 |
+
__( 'AL' , 'leads') => __( 'Albania' , 'inbound-pro' ) ,
|
927 |
+
__( 'DZ' , 'leads') => __( 'Algeria' , 'inbound-pro' ) ,
|
928 |
+
__( 'AS' , 'leads') => __( 'American Samoa' , 'inbound-pro' ) ,
|
929 |
+
__( 'AD' , 'leads') => __( 'Andorra' , 'inbound-pro' ) ,
|
930 |
+
__( 'AO' , 'leads') => __( 'Angola' , 'inbound-pro' ) ,
|
931 |
+
__( 'AI' , 'leads') => __( 'Anguilla' , 'inbound-pro' ) ,
|
932 |
+
__( 'AQ' , 'leads') => __( 'Antarctica' , 'inbound-pro' ) ,
|
933 |
+
__( 'AG' , 'leads') => __( 'Antigua and Barbuda' , 'inbound-pro' ) ,
|
934 |
+
__( 'AR' , 'leads') => __( 'Argentina' , 'inbound-pro' ) ,
|
935 |
+
__( 'AM' , 'leads') => __( 'Armenia' , 'inbound-pro' ) ,
|
936 |
+
__( 'AW' , 'leads') => __( 'Aruba' , 'inbound-pro' ) ,
|
937 |
+
__( 'AU' , 'leads') => __( 'Australia' , 'inbound-pro' ) ,
|
938 |
+
__( 'AT' , 'leads') => __( 'Austria' , 'inbound-pro' ) ,
|
939 |
+
__( 'AZ' , 'leads') => __( 'Azerbaijan' , 'inbound-pro' ) ,
|
940 |
+
__( 'BS' , 'leads') => __( 'Bahamas' , 'inbound-pro' ) ,
|
941 |
+
__( 'BH' , 'leads') => __( 'Bahrain' , 'inbound-pro' ) ,
|
942 |
+
__( 'BD' , 'leads') => __( 'Bangladesh' , 'inbound-pro' ) ,
|
943 |
+
__( 'BB' , 'leads') => __( 'Barbados' , 'inbound-pro' ) ,
|
944 |
+
__( 'BY' , 'leads') => __( 'Belarus' , 'inbound-pro' ) ,
|
945 |
+
__( 'BE' , 'leads') => __( 'Belgium' , 'inbound-pro' ) ,
|
946 |
+
__( 'BZ' , 'leads') => __( 'Belize' , 'inbound-pro' ) ,
|
947 |
+
__( 'BJ' , 'leads') => __( 'Benin' , 'inbound-pro' ) ,
|
948 |
+
__( 'BM' , 'leads') => __( 'Bermuda' , 'inbound-pro' ) ,
|
949 |
+
__( 'BT' , 'leads') => __( 'Bhutan' , 'inbound-pro' ) ,
|
950 |
+
__( 'BO' , 'leads') => __( 'Bolivia' , 'inbound-pro' ) ,
|
951 |
+
__( 'BA' , 'leads') => __( 'Bosnia and Herzegovina' , 'inbound-pro' ) ,
|
952 |
+
__( 'BW' , 'leads') => __( 'Botswana' , 'inbound-pro' ) ,
|
953 |
+
__( 'BV' , 'leads') => __( 'Bouvet Island' , 'inbound-pro' ) ,
|
954 |
+
__( 'BR' , 'leads') => __( 'Brazil' , 'inbound-pro' ) ,
|
955 |
+
__( 'IO' , 'leads') => __( 'British Indian Ocean Territory' , 'inbound-pro' ) ,
|
956 |
+
__( 'BN' , 'leads') => __( 'Brunei Darussalam' , 'inbound-pro' ) ,
|
957 |
+
__( 'BG' , 'leads') => __( 'Bulgaria' , 'inbound-pro' ) ,
|
958 |
+
__( 'BF' , 'leads') => __( 'Burkina Faso' , 'inbound-pro' ) ,
|
959 |
+
__( 'BI' , 'leads') => __( 'Burundi' , 'inbound-pro' ) ,
|
960 |
+
__( 'KH' , 'leads') => __( 'Cambodia' , 'inbound-pro' ) ,
|
961 |
+
__( 'CM' , 'leads') => __( 'Cameroon' , 'inbound-pro' ) ,
|
962 |
+
__( 'CA' , 'leads') => __( 'Canada' , 'inbound-pro' ) ,
|
963 |
+
__( 'CV' , 'leads') => __( 'Cape Verde' , 'inbound-pro' ) ,
|
964 |
+
__( 'BQ' , 'leads') => __( 'Caribbean Netherlands ' , 'inbound-pro' ) ,
|
965 |
+
__( 'KY' , 'leads') => __( 'Cayman Islands' , 'inbound-pro' ) ,
|
966 |
+
__( 'CF' , 'leads') => __( 'Central African Republic' , 'inbound-pro' ) ,
|
967 |
+
__( 'TD' , 'leads') => __( 'Chad' , 'inbound-pro' ) ,
|
968 |
+
__( 'CL' , 'leads') => __( 'Chile' , 'inbound-pro' ) ,
|
969 |
+
__( 'CN' , 'leads') => __( 'China' , 'inbound-pro' ) ,
|
970 |
+
__( 'CX' , 'leads') => __( 'Christmas Island' , 'inbound-pro' ) ,
|
971 |
+
__( 'CC' , 'leads') => __( 'Cocos (Keeling) Islands' , 'inbound-pro' ) ,
|
972 |
+
__( 'CO' , 'leads') => __( 'Colombia' , 'inbound-pro' ) ,
|
973 |
+
__( 'KM' , 'leads') => __( 'Comoros' , 'inbound-pro' ) ,
|
974 |
+
__( 'CG' , 'leads') => __( 'Congo' , 'inbound-pro' ) ,
|
975 |
+
__( 'CD' , 'leads') => __( 'Congo, Democratic Republic of' , 'inbound-pro' ) ,
|
976 |
+
__( 'CK' , 'leads') => __( 'Cook Islands' , 'inbound-pro' ) ,
|
977 |
+
__( 'CR' , 'leads') => __( 'Costa Rica' , 'inbound-pro' ) ,
|
978 |
+
__( 'CI' , 'leads') => __( 'Cote d\'Ivoire' , 'inbound-pro' ) ,
|
979 |
+
__( 'HR' , 'leads') => __( 'Croatia' , 'inbound-pro' ) ,
|
980 |
+
__( 'CU' , 'leads') => __( 'Cuba' , 'inbound-pro' ) ,
|
981 |
+
__( 'CW' , 'leads') => __( 'Curacao' , 'inbound-pro' ) ,
|
982 |
+
__( 'CY' , 'leads') => __( 'Cyprus' , 'inbound-pro' ) ,
|
983 |
+
__( 'CZ' , 'leads') => __( 'Czech Republic' , 'inbound-pro' ) ,
|
984 |
+
__( 'DK' , 'leads') => __( 'Denmark' , 'inbound-pro' ) ,
|
985 |
+
__( 'DJ' , 'leads') => __( 'Djibouti' , 'inbound-pro' ) ,
|
986 |
+
__( 'DM' , 'leads') => __( 'Dominica' , 'inbound-pro' ) ,
|
987 |
+
__( 'DO' , 'leads') => __( 'Dominican Republic' , 'inbound-pro' ) ,
|
988 |
+
__( 'EC' , 'leads') => __( 'Ecuador' , 'inbound-pro' ) ,
|
989 |
+
__( 'EG' , 'leads') => __( 'Egypt' , 'inbound-pro' ) ,
|
990 |
+
__( 'SV' , 'leads') => __( 'El Salvador' , 'inbound-pro' ) ,
|
991 |
+
__( 'GQ' , 'leads') => __( 'Equatorial Guinea' , 'inbound-pro' ) ,
|
992 |
+
__( 'ER' , 'leads') => __( 'Eritrea' , 'inbound-pro' ) ,
|
993 |
+
__( 'EE' , 'leads') => __( 'Estonia' , 'inbound-pro' ) ,
|
994 |
+
__( 'ET' , 'leads') => __( 'Ethiopia' , 'inbound-pro' ) ,
|
995 |
+
__( 'FK' , 'leads') => __( 'Falkland Islands' , 'inbound-pro' ) ,
|
996 |
+
__( 'FO' , 'leads') => __( 'Faroe Islands' , 'inbound-pro' ) ,
|
997 |
+
__( 'FJ' , 'leads') => __( 'Fiji' , 'inbound-pro' ) ,
|
998 |
+
__( 'FI' , 'leads') => __( 'Finland' , 'inbound-pro' ) ,
|
999 |
+
__( 'FR' , 'leads') => __( 'France' , 'inbound-pro' ) ,
|
1000 |
+
__( 'GF' , 'leads') => __( 'French Guiana' , 'inbound-pro' ) ,
|
1001 |
+
__( 'PF' , 'leads') => __( 'French Polynesia' , 'inbound-pro' ) ,
|
1002 |
+
__( 'TF' , 'leads') => __( 'French Southern Territories' , 'inbound-pro' ) ,
|
1003 |
+
__( 'GA' , 'leads') => __( 'Gabon' , 'inbound-pro' ) ,
|
1004 |
+
__( 'GM' , 'leads') => __( 'Gambia' , 'inbound-pro' ) ,
|
1005 |
+
__( 'GE' , 'leads') => __( 'Georgia' , 'inbound-pro' ) ,
|
1006 |
+
__( 'DE' , 'leads') => __( 'Germany' , 'inbound-pro' ) ,
|
1007 |
+
__( 'GH' , 'leads') => __( 'Ghana' , 'inbound-pro' ) ,
|
1008 |
+
__( 'GI' , 'leads') => __( 'Gibraltar' , 'inbound-pro' ) ,
|
1009 |
+
__( 'GR' , 'leads') => __( 'Greece' , 'inbound-pro' ) ,
|
1010 |
+
__( 'GL' , 'leads') => __( 'Greenland' , 'inbound-pro' ) ,
|
1011 |
+
__( 'GD' , 'leads') => __( 'Grenada' , 'inbound-pro' ) ,
|
1012 |
+
__( 'GP' , 'leads') => __( 'Guadeloupe' , 'inbound-pro' ) ,
|
1013 |
+
__( 'GU' , 'leads') => __( 'Guam' , 'inbound-pro' ) ,
|
1014 |
+
__( 'GT' , 'leads') => __( 'Guatemala' , 'inbound-pro' ) ,
|
1015 |
+
__( 'GG' , 'leads') => __( 'Guernsey' , 'inbound-pro' ) ,
|
1016 |
+
__( 'GN' , 'leads') => __( 'Guinea' , 'inbound-pro' ) ,
|
1017 |
+
__( 'GW' , 'leads') => __( 'Guinea-Bissau' , 'inbound-pro' ) ,
|
1018 |
+
__( 'GY' , 'leads') => __( 'Guyana' , 'inbound-pro' ) ,
|
1019 |
+
__( 'HT' , 'leads') => __( 'Haiti' , 'inbound-pro' ) ,
|
1020 |
+
__( 'HM' , 'leads') => __( 'Heard and McDonald Islands' , 'inbound-pro' ) ,
|
1021 |
+
__( 'HN' , 'leads') => __( 'Honduras' , 'inbound-pro' ) ,
|
1022 |
+
__( 'HK' , 'leads') => __( 'Hong Kong' , 'inbound-pro' ) ,
|
1023 |
+
__( 'HU' , 'leads') => __( 'Hungary' , 'inbound-pro' ) ,
|
1024 |
+
__( 'IS' , 'leads') => __( 'Iceland' , 'inbound-pro' ) ,
|
1025 |
+
__( 'IN' , 'leads') => __( 'India' , 'inbound-pro' ) ,
|
1026 |
+
__( 'ID' , 'leads') => __( 'Indonesia' , 'inbound-pro' ) ,
|
1027 |
+
__( 'IR' , 'leads') => __( 'Iran' , 'inbound-pro' ) ,
|
1028 |
+
__( 'IQ' , 'leads') => __( 'Iraq' , 'inbound-pro' ) ,
|
1029 |
+
__( 'IE' , 'leads') => __( 'Ireland' , 'inbound-pro' ) ,
|
1030 |
+
__( 'IM' , 'leads') => __( 'Isle of Man' , 'inbound-pro' ) ,
|
1031 |
+
__( 'IL' , 'leads') => __( 'Israel' , 'inbound-pro' ) ,
|
1032 |
+
__( 'IT' , 'leads') => __( 'Italy' , 'inbound-pro' ) ,
|
1033 |
+
__( 'JM' , 'leads') => __( 'Jamaica' , 'inbound-pro' ) ,
|
1034 |
+
__( 'JP' , 'leads') => __( 'Japan' , 'inbound-pro' ) ,
|
1035 |
+
__( 'JE' , 'leads') => __( 'Jersey' , 'inbound-pro' ) ,
|
1036 |
+
__( 'JO' , 'leads') => __( 'Jordan' , 'inbound-pro' ) ,
|
1037 |
+
__( 'KZ' , 'leads') => __( 'Kazakhstan' , 'inbound-pro' ) ,
|
1038 |
+
__( 'KE' , 'leads') => __( 'Kenya' , 'inbound-pro' ) ,
|
1039 |
+
__( 'KI' , 'leads') => __( 'Kiribati' , 'inbound-pro' ) ,
|
1040 |
+
__( 'KW' , 'leads') => __( 'Kuwait' , 'inbound-pro' ) ,
|
1041 |
+
__( 'KG' , 'leads') => __( 'Kyrgyzstan' , 'inbound-pro' ) ,
|
1042 |
+
__( 'LA' , 'leads') => __( 'Lao People\'s Democratic Republic' , 'inbound-pro' ) ,
|
1043 |
+
__( 'LV' , 'leads') => __( 'Latvia' , 'inbound-pro' ) ,
|
1044 |
+
__( 'LB' , 'leads') => __( 'Lebanon' , 'inbound-pro' ) ,
|
1045 |
+
__( 'LS' , 'leads') => __( 'Lesotho' , 'inbound-pro' ) ,
|
1046 |
+
__( 'LR' , 'leads') => __( 'Liberia' , 'inbound-pro' ) ,
|
1047 |
+
__( 'LY' , 'leads') => __( 'Libya' , 'inbound-pro' ) ,
|
1048 |
+
__( 'LI' , 'leads') => __( 'Liechtenstein' , 'inbound-pro' ) ,
|
1049 |
+
__( 'LT' , 'leads') => __( 'Lithuania' , 'inbound-pro' ) ,
|
1050 |
+
__( 'LU' , 'leads') => __( 'Luxembourg' , 'inbound-pro' ) ,
|
1051 |
+
__( 'MO' , 'leads') => __( 'Macau' , 'inbound-pro' ) ,
|
1052 |
+
__( 'MK' , 'leads') => __( 'Macedonia' , 'inbound-pro' ) ,
|
1053 |
+
__( 'MG' , 'leads') => __( 'Madagascar' , 'inbound-pro' ) ,
|
1054 |
+
__( 'MW' , 'leads') => __( 'Malawi' , 'inbound-pro' ) ,
|
1055 |
+
__( 'MY' , 'leads') => __( 'Malaysia' , 'inbound-pro' ) ,
|
1056 |
+
__( 'MV' , 'leads') => __( 'Maldives' , 'inbound-pro' ) ,
|
1057 |
+
__( 'ML' , 'leads') => __( 'Mali' , 'inbound-pro' ) ,
|
1058 |
+
__( 'MT' , 'leads') => __( 'Malta' , 'inbound-pro' ) ,
|
1059 |
+
__( 'MH' , 'leads') => __( 'Marshall Islands' , 'inbound-pro' ) ,
|
1060 |
+
__( 'MQ' , 'leads') => __( 'Martinique' , 'inbound-pro' ) ,
|
1061 |
+
__( 'MR' , 'leads') => __( 'Mauritania' , 'inbound-pro' ) ,
|
1062 |
+
__( 'MU' , 'leads') => __( 'Mauritius' , 'inbound-pro' ) ,
|
1063 |
+
__( 'YT' , 'leads') => __( 'Mayotte' , 'inbound-pro' ) ,
|
1064 |
+
__( 'MX' , 'leads') => __( 'Mexico' , 'inbound-pro' ) ,
|
1065 |
+
__( 'FM' , 'leads') => __( 'Micronesia, Federated States of' , 'inbound-pro' ) ,
|
1066 |
+
__( 'MD' , 'leads') => __( 'Moldova' , 'inbound-pro' ) ,
|
1067 |
+
__( 'MC' , 'leads') => __( 'Monaco' , 'inbound-pro' ) ,
|
1068 |
+
__( 'MN' , 'leads') => __( 'Mongolia' , 'inbound-pro' ) ,
|
1069 |
+
__( 'ME' , 'leads') => __( 'Montenegro' , 'inbound-pro' ) ,
|
1070 |
+
__( 'MS' , 'leads') => __( 'Montserrat' , 'inbound-pro' ) ,
|
1071 |
+
__( 'MA' , 'leads') => __( 'Morocco' , 'inbound-pro' ) ,
|
1072 |
+
__( 'MZ' , 'leads') => __( 'Mozambique' , 'inbound-pro' ) ,
|
1073 |
+
__( 'MM' , 'leads') => __( 'Myanmar' , 'inbound-pro' ) ,
|
1074 |
+
__( 'NA' , 'leads') => __( 'Namibia' , 'inbound-pro' ) ,
|
1075 |
+
__( 'NR' , 'leads') => __( 'Nauru' , 'inbound-pro' ) ,
|
1076 |
+
__( 'NP' , 'leads') => __( 'Nepal' , 'inbound-pro' ) ,
|
1077 |
+
__( 'NC' , 'leads') => __( 'New Caledonia' , 'inbound-pro' ) ,
|
1078 |
+
__( 'NZ' , 'leads') => __( 'New Zealand' , 'inbound-pro' ) ,
|
1079 |
+
__( 'NI' , 'leads') => __( 'Nicaragua' , 'inbound-pro' ) ,
|
1080 |
+
__( 'NE' , 'leads') => __( 'Niger' , 'inbound-pro' ) ,
|
1081 |
+
__( 'NG' , 'leads') => __( 'Nigeria' , 'inbound-pro' ) ,
|
1082 |
+
__( 'NU' , 'leads') => __( 'Niue' , 'inbound-pro' ) ,
|
1083 |
+
__( 'NF' , 'leads') => __( 'Norfolk Island' , 'inbound-pro' ) ,
|
1084 |
+
__( 'KP' , 'leads') => __( 'North Korea' , 'inbound-pro' ) ,
|
1085 |
+
__( 'MP' , 'leads') => __( 'Northern Mariana Islands' , 'inbound-pro' ) ,
|
1086 |
+
__( 'NO' , 'leads') => __( 'Norway' , 'inbound-pro' ) ,
|
1087 |
+
__( 'OM' , 'leads') => __( 'Oman' , 'inbound-pro' ) ,
|
1088 |
+
__( 'PK' , 'leads') => __( 'Pakistan' , 'inbound-pro' ) ,
|
1089 |
+
__( 'PW' , 'leads') => __( 'Palau' , 'inbound-pro' ) ,
|
1090 |
+
__( 'PS' , 'leads') => __( 'Palestinian Territory, Occupied' , 'inbound-pro' ) ,
|
1091 |
+
__( 'PA' , 'leads') => __( 'Panama' , 'inbound-pro' ) ,
|
1092 |
+
__( 'PG' , 'leads') => __( 'Papua New Guinea' , 'inbound-pro' ) ,
|
1093 |
+
__( 'PY' , 'leads') => __( 'Paraguay' , 'inbound-pro' ) ,
|
1094 |
+
__( 'PE' , 'leads') => __( 'Peru' , 'inbound-pro' ) ,
|
1095 |
+
__( 'PH' , 'leads') => __( 'Philippines' , 'inbound-pro' ) ,
|
1096 |
+
__( 'PN' , 'leads') => __( 'Pitcairn' , 'inbound-pro' ) ,
|
1097 |
+
__( 'PL' , 'leads') => __( 'Poland' , 'inbound-pro' ) ,
|
1098 |
+
__( 'PT' , 'leads') => __( 'Portugal' , 'inbound-pro' ) ,
|
1099 |
+
__( 'PR' , 'leads') => __( 'Puerto Rico' , 'inbound-pro' ) ,
|
1100 |
+
__( 'QA' , 'leads') => __( 'Qatar' , 'inbound-pro' ) ,
|
1101 |
+
__( 'RE' , 'leads') => __( 'Reunion' , 'inbound-pro' ) ,
|
1102 |
+
__( 'RO' , 'leads') => __( 'Romania' , 'inbound-pro' ) ,
|
1103 |
+
__( 'RU' , 'leads') => __( 'Russian Federation' , 'inbound-pro' ) ,
|
1104 |
+
__( 'RW' , 'leads') => __( 'Rwanda' , 'inbound-pro' ) ,
|
1105 |
+
__( 'BL' , 'leads') => __( 'Saint Barthelemy' , 'inbound-pro' ) ,
|
1106 |
+
__( 'SH' , 'leads') => __( 'Saint Helena' , 'inbound-pro' ) ,
|
1107 |
+
__( 'KN' , 'leads') => __( 'Saint Kitts and Nevis' , 'inbound-pro' ) ,
|
1108 |
+
__( 'LC' , 'leads') => __( 'Saint Lucia' , 'inbound-pro' ) ,
|
1109 |
+
__( 'VC' , 'leads') => __( 'Saint Vincent and the Grenadines' , 'inbound-pro' ) ,
|
1110 |
+
__( 'MF' , 'leads') => __( 'Saint-Martin (France)' , 'inbound-pro' ) ,
|
1111 |
+
__( 'SX' , 'leads') => __( 'Saint-Martin (Pays-Bas)' , 'inbound-pro' ) ,
|
1112 |
+
__( 'WS' , 'leads') => __( 'Samoa' , 'inbound-pro' ) ,
|
1113 |
+
__( 'SM' , 'leads') => __( 'San Marino' , 'inbound-pro' ) ,
|
1114 |
+
__( 'ST' , 'leads') => __( 'Sao Tome and Principe' , 'inbound-pro' ) ,
|
1115 |
+
__( 'SA' , 'leads') => __( 'Saudi Arabia' , 'inbound-pro' ) ,
|
1116 |
+
__( 'SN' , 'leads') => __( 'Senegal' , 'inbound-pro' ) ,
|
1117 |
+
__( 'RS' , 'leads') => __( 'Serbia' , 'inbound-pro' ) ,
|
1118 |
+
__( 'SC' , 'leads') => __( 'Seychelles' , 'inbound-pro' ) ,
|
1119 |
+
__( 'SL' , 'leads') => __( 'Sierra Leone' , 'inbound-pro' ) ,
|
1120 |
+
__( 'SG' , 'leads') => __( 'Singapore' , 'inbound-pro' ) ,
|
1121 |
+
__( 'SK' , 'leads') => __( 'Slovakia (Slovak Republic)' , 'inbound-pro' ) ,
|
1122 |
+
__( 'SI' , 'leads') => __( 'Slovenia' , 'inbound-pro' ) ,
|
1123 |
+
__( 'SB' , 'leads') => __( 'Solomon Islands' , 'inbound-pro' ) ,
|
1124 |
+
__( 'SO' , 'leads') => __( 'Somalia' , 'inbound-pro' ) ,
|
1125 |
+
__( 'ZA' , 'leads') => __( 'South Africa' , 'inbound-pro' ) ,
|
1126 |
+
__( 'GS' , 'leads') => __( 'South Georgia and the South Sandwich Islands' , 'inbound-pro' ) ,
|
1127 |
+
__( 'KR' , 'leads') => __( 'South Korea' , 'inbound-pro' ) ,
|
1128 |
+
__( 'SS' , 'leads') => __( 'South Sudan' , 'inbound-pro' ) ,
|
1129 |
+
__( 'ES' , 'leads') => __( 'Spain' , 'inbound-pro' ) ,
|
1130 |
+
__( 'LK' , 'leads') => __( 'Sri Lanka' , 'inbound-pro' ) ,
|
1131 |
+
__( 'PM' , 'leads') => __( 'St. Pierre and Miquelon' , 'inbound-pro' ) ,
|
1132 |
+
__( 'SD' , 'leads') => __( 'Sudan' , 'inbound-pro' ) ,
|
1133 |
+
__( 'SR' , 'leads') => __( 'Suriname' , 'inbound-pro' ) ,
|
1134 |
+
__( 'SJ' , 'leads') => __( 'Svalbard and Jan Mayen Islands' , 'inbound-pro' ) ,
|
1135 |
+
__( 'SZ' , 'leads') => __( 'Swaziland' , 'inbound-pro' ) ,
|
1136 |
+
__( 'SE' , 'leads') => __( 'Sweden' , 'inbound-pro' ) ,
|
1137 |
+
__( 'CH' , 'leads') => __( 'Switzerland' , 'inbound-pro' ) ,
|
1138 |
+
__( 'SY' , 'leads') => __( 'Syria' , 'inbound-pro' ) ,
|
1139 |
+
__( 'TW' , 'leads') => __( 'Taiwan' , 'inbound-pro' ) ,
|
1140 |
+
__( 'TJ' , 'leads') => __( 'Tajikistan' , 'inbound-pro' ) ,
|
1141 |
+
__( 'TZ' , 'leads') => __( 'Tanzania' , 'inbound-pro' ) ,
|
1142 |
+
__( 'TH' , 'leads') => __( 'Thailand' , 'inbound-pro' ) ,
|
1143 |
+
__( 'NL' , 'leads') => __( 'The Netherlands' , 'inbound-pro' ) ,
|
1144 |
+
__( 'TL' , 'leads') => __( 'Timor-Leste' , 'inbound-pro' ) ,
|
1145 |
+
__( 'TG' , 'leads') => __( 'Togo' , 'inbound-pro' ) ,
|
1146 |
+
__( 'TK' , 'leads') => __( 'Tokelau' , 'inbound-pro' ) ,
|
1147 |
+
__( 'TO' , 'leads') => __( 'Tonga' , 'inbound-pro' ) ,
|
1148 |
+
__( 'TT' , 'leads') => __( 'Trinidad and Tobago' , 'inbound-pro' ) ,
|
1149 |
+
__( 'TN' , 'leads') => __( 'Tunisia' , 'inbound-pro' ) ,
|
1150 |
+
__( 'TR' , 'leads') => __( 'Turkey' , 'inbound-pro' ) ,
|
1151 |
+
__( 'TM' , 'leads') => __( 'Turkmenistan' , 'inbound-pro' ) ,
|
1152 |
+
__( 'TC' , 'leads') => __( 'Turks and Caicos Islands' , 'inbound-pro' ) ,
|
1153 |
+
__( 'TV' , 'leads') => __( 'Tuvalu' , 'inbound-pro' ) ,
|
1154 |
+
__( 'UG' , 'leads') => __( 'Uganda' , 'inbound-pro' ) ,
|
1155 |
+
__( 'UA' , 'leads') => __( 'Ukraine' , 'inbound-pro' ) ,
|
1156 |
+
__( 'AE' , 'leads') => __( 'United Arab Emirates' , 'inbound-pro' ) ,
|
1157 |
+
__( 'GB' , 'leads') => __( 'United Kingdom' , 'inbound-pro' ) ,
|
1158 |
+
__( 'US' , 'leads') => __( 'United States' , 'inbound-pro' ) ,
|
1159 |
+
__( 'UM' , 'leads') => __( 'United States Minor Outlying Islands' , 'inbound-pro' ) ,
|
1160 |
+
__( 'UY' , 'leads') => __( 'Uruguay' , 'inbound-pro' ) ,
|
1161 |
+
__( 'UZ' , 'leads') => __( 'Uzbekistan' , 'inbound-pro' ) ,
|
1162 |
+
__( 'VU' , 'leads') => __( 'Vanuatu' , 'inbound-pro' ) ,
|
1163 |
+
__( 'VA' , 'leads') => __( 'Vatican' , 'inbound-pro' ) ,
|
1164 |
+
__( 'VE' , 'leads') => __( 'Venezuela' , 'inbound-pro' ) ,
|
1165 |
+
__( 'VN' , 'leads') => __( 'Vietnam' , 'inbound-pro' ) ,
|
1166 |
+
__( 'VG' , 'leads') => __( 'Virgin Islands (British)' , 'inbound-pro' ) ,
|
1167 |
+
__( 'VI' , 'leads') => __( 'Virgin Islands (U.S.)' , 'inbound-pro' ) ,
|
1168 |
+
__( 'WF' , 'leads') => __( 'Wallis and Futuna Islands' , 'inbound-pro' ) ,
|
1169 |
+
__( 'EH' , 'leads') => __( 'Western Sahara' , 'inbound-pro' ) ,
|
1170 |
+
__( 'YE' , 'leads') => __( 'Yemen' , 'inbound-pro' ) ,
|
1171 |
+
__( 'ZM' , 'leads') => __( 'Zambia' , 'inbound-pro' ) ,
|
1172 |
+
__( 'ZW' , 'leads') => __( 'Zimbabwe' , 'inbound-pro' )
|
1173 |
);
|
1174 |
}
|
1175 |
|
1176 |
+
/**
|
1177 |
+
* Gets dataset of form settings by form id
|
1178 |
+
*/
|
1179 |
+
public static function get_form_settings( $form_id ) {
|
1180 |
+
|
1181 |
+
$meta = get_post_meta( $form_id );
|
1182 |
+
|
1183 |
+
foreach ($meta as $key => $value ) {
|
1184 |
+
$meta[ $key ] = $value[0];
|
1185 |
+
}
|
1186 |
+
|
1187 |
+
return $meta;
|
1188 |
+
}
|
1189 |
+
}
|
1190 |
|
1191 |
Inbound_Forms::init();
|
1192 |
}
|
shared/classes/class.lead-fields.php
CHANGED
@@ -11,225 +11,225 @@ if ( !class_exists('Leads_Field_Map') ) {
|
|
11 |
|
12 |
$lead_fields = array(
|
13 |
array(
|
14 |
-
'label' => __( 'First Name' , '
|
15 |
'key' => 'wpleads_first_name',
|
16 |
'priority' => 20,
|
17 |
'type' => 'text'
|
18 |
),
|
19 |
array(
|
20 |
-
'label' => __( 'Last Name' , '
|
21 |
'key' => 'wpleads_last_name',
|
22 |
'priority' => 30,
|
23 |
'type' => 'text'
|
24 |
),
|
25 |
array(
|
26 |
-
'label' => __( 'Email' , '
|
27 |
'key' => 'wpleads_email_address',
|
28 |
'priority' => 40,
|
29 |
'type' => 'text'
|
30 |
),
|
31 |
array(
|
32 |
-
'label' => __( 'Website' , '
|
33 |
'key' => 'wpleads_website',
|
34 |
'priority' => 50,
|
35 |
'type' => 'text'
|
36 |
),
|
37 |
array(
|
38 |
-
'label' => __( 'Job Title' , '
|
39 |
'key' => 'wpleads_job_title',
|
40 |
'priority' => 60,
|
41 |
'type' => 'text'
|
42 |
),
|
43 |
array(
|
44 |
-
'label' => __( 'Company Name' , '
|
45 |
'key' => 'wpleads_company_name',
|
46 |
'priority' => 70,
|
47 |
'type' => 'text'
|
48 |
),
|
49 |
array(
|
50 |
-
'label' => __( 'Mobile Phone' , '
|
51 |
'key' => 'wpleads_mobile_phone',
|
52 |
'priority' => 80,
|
53 |
'type' => 'text'
|
54 |
),
|
55 |
array(
|
56 |
-
'label' => __( 'Work Phone' , '
|
57 |
'key' => 'wpleads_work_phone',
|
58 |
'priority' => 90,
|
59 |
'type' => 'text'
|
60 |
),
|
61 |
array(
|
62 |
-
'label' => __( 'Address' , '
|
63 |
'key' => 'wpleads_address_line_1',
|
64 |
'priority' => 100,
|
65 |
'type' => 'text'
|
66 |
),
|
67 |
array(
|
68 |
-
'label' => __( 'Address Continued' , '
|
69 |
'key' => 'wpleads_address_line_2',
|
70 |
'priority' => 110,
|
71 |
'type' => 'text'
|
72 |
),
|
73 |
array(
|
74 |
-
'label' => __( 'City' , '
|
75 |
'key' => 'wpleads_city',
|
76 |
'priority' => 120,
|
77 |
'type' => 'text'
|
78 |
),
|
79 |
array(
|
80 |
-
'label' => __( 'State/Region' , '
|
81 |
'key' => 'wpleads_region_name',
|
82 |
'priority' => 130,
|
83 |
'type' => 'text'
|
84 |
),
|
85 |
array(
|
86 |
-
'label' => __( 'Zip-code' , '
|
87 |
'key' => 'wpleads_zip',
|
88 |
'priority' => 140,
|
89 |
'type' => 'text'
|
90 |
),
|
91 |
|
92 |
array(
|
93 |
-
'label' => __( 'Country' , '
|
94 |
'key' => 'wpleads_country_code',
|
95 |
'priority' => 150,
|
96 |
'type' => 'text'
|
97 |
),
|
98 |
array(
|
99 |
-
'label' => __( 'Billing First Name' , '
|
100 |
'key' => 'wpleads_billing_first_name',
|
101 |
'priority' => 160,
|
102 |
'type' => 'text'
|
103 |
),
|
104 |
array(
|
105 |
-
'label' => __( 'Billing Last Name' , '
|
106 |
'key' => 'wpleads_billing_last_name',
|
107 |
'priority' => 120,
|
108 |
'type' => 'text'
|
109 |
),
|
110 |
array(
|
111 |
-
'label' => __( 'Billing Company' , '
|
112 |
'key' => 'wpleads_billing_company_name',
|
113 |
'priority' => 170,
|
114 |
'type' => 'text'
|
115 |
),
|
116 |
array(
|
117 |
-
'label' => __( 'Billing Address' , '
|
118 |
'key' => 'wpleads_billing_address_line_1',
|
119 |
'priority' => 180,
|
120 |
'type' => 'text'
|
121 |
),
|
122 |
array(
|
123 |
-
'label' => __( 'Billing Address Continued' , '
|
124 |
'key' => 'wpleads_billing_address_line_2',
|
125 |
'priority' => 190,
|
126 |
'type' => 'text'
|
127 |
),
|
128 |
array(
|
129 |
-
'label' => __( 'Billing City' , '
|
130 |
'key' => 'wpleads_billing_city',
|
131 |
'priority' => 200,
|
132 |
'type' => 'text'
|
133 |
),
|
134 |
array(
|
135 |
-
'label' => __( 'Billing State/Region' , '
|
136 |
'key' => 'wpleads_billing_region_name',
|
137 |
'priority' => 210,
|
138 |
'type' => 'text'
|
139 |
),
|
140 |
array(
|
141 |
-
'label' => __( 'Billing Zip-code' , '
|
142 |
'key' => 'wpleads_billing_zip',
|
143 |
'priority' => 220,
|
144 |
'type' => 'text'
|
145 |
),
|
146 |
|
147 |
array(
|
148 |
-
'label' => __( 'Billing Country' , '
|
149 |
'key' => 'wpleads_billing_country_code',
|
150 |
'priority' => 230,
|
151 |
'type' => 'text'
|
152 |
),
|
153 |
array(
|
154 |
-
'label' => __( 'Shipping First Name' , '
|
155 |
'key' => 'wpleads_shipping_first_name',
|
156 |
'priority' => 240,
|
157 |
'type' => 'text'
|
158 |
),
|
159 |
array(
|
160 |
-
'label' => __( 'Shipping Last Name' , '
|
161 |
'key' => 'wpleads_shipping_last_name',
|
162 |
'priority' => 250,
|
163 |
'type' => 'text'
|
164 |
),
|
165 |
array(
|
166 |
-
'label' => __( 'Shipping Company Name' , '
|
167 |
'key' => 'wpleads_shipping_company_name',
|
168 |
'priority' => 260,
|
169 |
'type' => 'text'
|
170 |
),
|
171 |
array(
|
172 |
-
'label' => __( 'Shipping Address' , '
|
173 |
'key' => 'wpleads_shipping_address_line_1',
|
174 |
'priority' => 270,
|
175 |
'type' => 'text'
|
176 |
),
|
177 |
array(
|
178 |
-
'label' => __( 'Shipping Address Continued' , '
|
179 |
'key' => 'wpleads_shipping_address_line_2',
|
180 |
'priority' => 280,
|
181 |
'type' => 'text'
|
182 |
),
|
183 |
array(
|
184 |
-
'label' => __( 'Shipping City' , '
|
185 |
'key' => 'wpleads_shipping_city',
|
186 |
'priority' => 290,
|
187 |
'type' => 'text'
|
188 |
),
|
189 |
array(
|
190 |
-
'label' => __( 'Shipping State/Region' , '
|
191 |
'key' => 'wpleads_shipping_region_name',
|
192 |
'priority' => 300,
|
193 |
'type' => 'text'
|
194 |
),
|
195 |
array(
|
196 |
-
'label' => __( 'Shipping Zip-code' , '
|
197 |
'key' => 'wpleads_shipping_zip',
|
198 |
'priority' => 310,
|
199 |
'type' => 'text'
|
200 |
),
|
201 |
array(
|
202 |
-
'label' => __( 'Shipping Country' , '
|
203 |
'key' => 'wpleads_shipping_country_code',
|
204 |
'priority' => 320,
|
205 |
'type' => 'text'
|
206 |
),
|
207 |
array(
|
208 |
-
'label' => __( 'Related Websites' , '
|
209 |
'key' => 'wpleads_websites',
|
210 |
'priority' => 330,
|
211 |
'type' => 'links'
|
212 |
),
|
213 |
array(
|
214 |
-
'label' => __( 'Notes' , '
|
215 |
'key' => 'wpleads_notes',
|
216 |
'priority' => 340,
|
217 |
'type' => 'textarea'
|
218 |
),
|
219 |
array(
|
220 |
-
'label' => __( 'Twitter Account' , '
|
221 |
'key' => 'wpleads_social_youtube',
|
222 |
'priority' => 350,
|
223 |
'type' => 'text'
|
224 |
),
|
225 |
array(
|
226 |
-
'label' => __( 'Youtube Account' , '
|
227 |
'key' => 'wpleads_social_youtube',
|
228 |
'priority' => 360,
|
229 |
'type' => 'text'
|
230 |
),
|
231 |
array(
|
232 |
-
'label' => __( 'Facebook Account' , '
|
233 |
'key' => 'wpleads_social_facebook',
|
234 |
'priority' => 370,
|
235 |
'type' => 'text'
|
@@ -313,25 +313,25 @@ function custom_add_more_lead_fields($lead_fields) {
|
|
313 |
|
314 |
$new_fields = array(
|
315 |
array(
|
316 |
-
'label' => __( 'Style' , '
|
317 |
'key' => 'wpleads_style',
|
318 |
'priority' => 1,
|
319 |
'type' => 'text'
|
320 |
),
|
321 |
array(
|
322 |
-
'label' => __( 'Lead Source' , '
|
323 |
'key' => 'wpleads_lead_source',
|
324 |
'priority' => 19,
|
325 |
'type' => 'text'
|
326 |
),
|
327 |
array(
|
328 |
-
'label' => __( 'New Field' , '
|
329 |
'key' => 'wpleads_lead_source',
|
330 |
'priority' => 19,
|
331 |
'type' => 'text'
|
332 |
),
|
333 |
array(
|
334 |
-
'label' => __( 'Description' , '
|
335 |
'key' => 'wpleads_description',
|
336 |
'priority' => 19,
|
337 |
'type' => 'textarea'
|
11 |
|
12 |
$lead_fields = array(
|
13 |
array(
|
14 |
+
'label' => __( 'First Name' , 'inbound-pro' ) ,
|
15 |
'key' => 'wpleads_first_name',
|
16 |
'priority' => 20,
|
17 |
'type' => 'text'
|
18 |
),
|
19 |
array(
|
20 |
+
'label' => __( 'Last Name' , 'inbound-pro' ) ,
|
21 |
'key' => 'wpleads_last_name',
|
22 |
'priority' => 30,
|
23 |
'type' => 'text'
|
24 |
),
|
25 |
array(
|
26 |
+
'label' => __( 'Email' , 'inbound-pro' ) ,
|
27 |
'key' => 'wpleads_email_address',
|
28 |
'priority' => 40,
|
29 |
'type' => 'text'
|
30 |
),
|
31 |
array(
|
32 |
+
'label' => __( 'Website' , 'inbound-pro' ) ,
|
33 |
'key' => 'wpleads_website',
|
34 |
'priority' => 50,
|
35 |
'type' => 'text'
|
36 |
),
|
37 |
array(
|
38 |
+
'label' => __( 'Job Title' , 'inbound-pro' ) ,
|
39 |
'key' => 'wpleads_job_title',
|
40 |
'priority' => 60,
|
41 |
'type' => 'text'
|
42 |
),
|
43 |
array(
|
44 |
+
'label' => __( 'Company Name' , 'inbound-pro' ) ,
|
45 |
'key' => 'wpleads_company_name',
|
46 |
'priority' => 70,
|
47 |
'type' => 'text'
|
48 |
),
|
49 |
array(
|
50 |
+
'label' => __( 'Mobile Phone' , 'inbound-pro' ) ,
|
51 |
'key' => 'wpleads_mobile_phone',
|
52 |
'priority' => 80,
|
53 |
'type' => 'text'
|
54 |
),
|
55 |
array(
|
56 |
+
'label' => __( 'Work Phone' , 'inbound-pro' ) ,
|
57 |
'key' => 'wpleads_work_phone',
|
58 |
'priority' => 90,
|
59 |
'type' => 'text'
|
60 |
),
|
61 |
array(
|
62 |
+
'label' => __( 'Address' , 'inbound-pro' ) ,
|
63 |
'key' => 'wpleads_address_line_1',
|
64 |
'priority' => 100,
|
65 |
'type' => 'text'
|
66 |
),
|
67 |
array(
|
68 |
+
'label' => __( 'Address Continued' , 'inbound-pro' ) ,
|
69 |
'key' => 'wpleads_address_line_2',
|
70 |
'priority' => 110,
|
71 |
'type' => 'text'
|
72 |
),
|
73 |
array(
|
74 |
+
'label' => __( 'City' , 'inbound-pro' ) ,
|
75 |
'key' => 'wpleads_city',
|
76 |
'priority' => 120,
|
77 |
'type' => 'text'
|
78 |
),
|
79 |
array(
|
80 |
+
'label' => __( 'State/Region' , 'inbound-pro' ) ,
|
81 |
'key' => 'wpleads_region_name',
|
82 |
'priority' => 130,
|
83 |
'type' => 'text'
|
84 |
),
|
85 |
array(
|
86 |
+
'label' => __( 'Zip-code' , 'inbound-pro' ) ,
|
87 |
'key' => 'wpleads_zip',
|
88 |
'priority' => 140,
|
89 |
'type' => 'text'
|
90 |
),
|
91 |
|
92 |
array(
|
93 |
+
'label' => __( 'Country' , 'inbound-pro' ) ,
|
94 |
'key' => 'wpleads_country_code',
|
95 |
'priority' => 150,
|
96 |
'type' => 'text'
|
97 |
),
|
98 |
array(
|
99 |
+
'label' => __( 'Billing First Name' , 'inbound-pro' ) ,
|
100 |
'key' => 'wpleads_billing_first_name',
|
101 |
'priority' => 160,
|
102 |
'type' => 'text'
|
103 |
),
|
104 |
array(
|
105 |
+
'label' => __( 'Billing Last Name' , 'inbound-pro' ) ,
|
106 |
'key' => 'wpleads_billing_last_name',
|
107 |
'priority' => 120,
|
108 |
'type' => 'text'
|
109 |
),
|
110 |
array(
|
111 |
+
'label' => __( 'Billing Company' , 'inbound-pro' ) ,
|
112 |
'key' => 'wpleads_billing_company_name',
|
113 |
'priority' => 170,
|
114 |
'type' => 'text'
|
115 |
),
|
116 |
array(
|
117 |
+
'label' => __( 'Billing Address' , 'inbound-pro' ) ,
|
118 |
'key' => 'wpleads_billing_address_line_1',
|
119 |
'priority' => 180,
|
120 |
'type' => 'text'
|
121 |
),
|
122 |
array(
|
123 |
+
'label' => __( 'Billing Address Continued' , 'inbound-pro' ) ,
|
124 |
'key' => 'wpleads_billing_address_line_2',
|
125 |
'priority' => 190,
|
126 |
'type' => 'text'
|
127 |
),
|
128 |
array(
|
129 |
+
'label' => __( 'Billing City' , 'inbound-pro' ) ,
|
130 |
'key' => 'wpleads_billing_city',
|
131 |
'priority' => 200,
|
132 |
'type' => 'text'
|
133 |
),
|
134 |
array(
|
135 |
+
'label' => __( 'Billing State/Region' , 'inbound-pro' ) ,
|
136 |
'key' => 'wpleads_billing_region_name',
|
137 |
'priority' => 210,
|
138 |
'type' => 'text'
|
139 |
),
|
140 |
array(
|
141 |
+
'label' => __( 'Billing Zip-code' , 'inbound-pro' ) ,
|
142 |
'key' => 'wpleads_billing_zip',
|
143 |
'priority' => 220,
|
144 |
'type' => 'text'
|
145 |
),
|
146 |
|
147 |
array(
|
148 |
+
'label' => __( 'Billing Country' , 'inbound-pro' ) ,
|
149 |
'key' => 'wpleads_billing_country_code',
|
150 |
'priority' => 230,
|
151 |
'type' => 'text'
|
152 |
),
|
153 |
array(
|
154 |
+
'label' => __( 'Shipping First Name' , 'inbound-pro' ) ,
|
155 |
'key' => 'wpleads_shipping_first_name',
|
156 |
'priority' => 240,
|
157 |
'type' => 'text'
|
158 |
),
|
159 |
array(
|
160 |
+
'label' => __( 'Shipping Last Name' , 'inbound-pro' ) ,
|
161 |
'key' => 'wpleads_shipping_last_name',
|
162 |
'priority' => 250,
|
163 |
'type' => 'text'
|
164 |
),
|
165 |
array(
|
166 |
+
'label' => __( 'Shipping Company Name' , 'inbound-pro' ) ,
|
167 |
'key' => 'wpleads_shipping_company_name',
|
168 |
'priority' => 260,
|
169 |
'type' => 'text'
|
170 |
),
|
171 |
array(
|
172 |
+
'label' => __( 'Shipping Address' , 'inbound-pro' ) ,
|
173 |
'key' => 'wpleads_shipping_address_line_1',
|
174 |
'priority' => 270,
|
175 |
'type' => 'text'
|
176 |
),
|
177 |
array(
|
178 |
+
'label' => __( 'Shipping Address Continued' , 'inbound-pro' ) ,
|
179 |
'key' => 'wpleads_shipping_address_line_2',
|
180 |
'priority' => 280,
|
181 |
'type' => 'text'
|
182 |
),
|
183 |
array(
|
184 |
+
'label' => __( 'Shipping City' , 'inbound-pro' ) ,
|
185 |
'key' => 'wpleads_shipping_city',
|
186 |
'priority' => 290,
|
187 |
'type' => 'text'
|
188 |
),
|
189 |
array(
|
190 |
+
'label' => __( 'Shipping State/Region' , 'inbound-pro' ) ,
|
191 |
'key' => 'wpleads_shipping_region_name',
|
192 |
'priority' => 300,
|
193 |
'type' => 'text'
|
194 |
),
|
195 |
array(
|
196 |
+
'label' => __( 'Shipping Zip-code' , 'inbound-pro' ) ,
|
197 |
'key' => 'wpleads_shipping_zip',
|
198 |
'priority' => 310,
|
199 |
'type' => 'text'
|
200 |
),
|
201 |
array(
|
202 |
+
'label' => __( 'Shipping Country' , 'inbound-pro' ) ,
|
203 |
'key' => 'wpleads_shipping_country_code',
|
204 |
'priority' => 320,
|
205 |
'type' => 'text'
|
206 |
),
|
207 |
array(
|
208 |
+
'label' => __( 'Related Websites' , 'inbound-pro' ) ,
|
209 |
'key' => 'wpleads_websites',
|
210 |
'priority' => 330,
|
211 |
'type' => 'links'
|
212 |
),
|
213 |
array(
|
214 |
+
'label' => __( 'Notes' , 'inbound-pro' ) ,
|
215 |
'key' => 'wpleads_notes',
|
216 |
'priority' => 340,
|
217 |
'type' => 'textarea'
|
218 |
),
|
219 |
array(
|
220 |
+
'label' => __( 'Twitter Account' , 'inbound-pro' ) ,
|
221 |
'key' => 'wpleads_social_youtube',
|
222 |
'priority' => 350,
|
223 |
'type' => 'text'
|
224 |
),
|
225 |
array(
|
226 |
+
'label' => __( 'Youtube Account' , 'inbound-pro' ) ,
|
227 |
'key' => 'wpleads_social_youtube',
|
228 |
'priority' => 360,
|
229 |
'type' => 'text'
|
230 |
),
|
231 |
array(
|
232 |
+
'label' => __( 'Facebook Account' , 'inbound-pro' ) ,
|
233 |
'key' => 'wpleads_social_facebook',
|
234 |
'priority' => 370,
|
235 |
'type' => 'text'
|
313 |
|
314 |
$new_fields = array(
|
315 |
array(
|
316 |
+
'label' => __( 'Style' , 'inbound-pro' ) ,
|
317 |
'key' => 'wpleads_style',
|
318 |
'priority' => 1,
|
319 |
'type' => 'text'
|
320 |
),
|
321 |
array(
|
322 |
+
'label' => __( 'Lead Source' , 'inbound-pro' ) ,
|
323 |
'key' => 'wpleads_lead_source',
|
324 |
'priority' => 19,
|
325 |
'type' => 'text'
|
326 |
),
|
327 |
array(
|
328 |
+
'label' => __( 'New Field' , 'inbound-pro' ) ,
|
329 |
'key' => 'wpleads_lead_source',
|
330 |
'priority' => 19,
|
331 |
'type' => 'text'
|
332 |
),
|
333 |
array(
|
334 |
+
'label' => __( 'Description' , 'inbound-pro' ) ,
|
335 |
'key' => 'wpleads_description',
|
336 |
'priority' => 19,
|
337 |
'type' => 'textarea'
|
shared/{tracking/new.store.lead.php → classes/class.lead-storage.php}
RENAMED
@@ -84,8 +84,11 @@ if (!class_exists('LeadStorage')) {
|
|
84 |
|
85 |
$mappedData = self::improve_mapping($mappedData, $lead);
|
86 |
|
87 |
-
|
88 |
-
|
|
|
|
|
|
|
89 |
|
90 |
/* Look for direct key matches & clean up $lead_data */
|
91 |
$lead = apply_filters( 'inboundnow_store_lead_pre_filter_data', $lead, $args);
|
@@ -154,7 +157,7 @@ if (!class_exists('LeadStorage')) {
|
|
154 |
}
|
155 |
|
156 |
/* Store Conversion Data to LANDING PAGE/CTA DATA */
|
157 |
-
if (isset($lead['
|
158 |
self::store_conversion_stats($lead);
|
159 |
}
|
160 |
|
@@ -163,19 +166,16 @@ if (!class_exists('LeadStorage')) {
|
|
163 |
self::store_geolocation_data($lead);
|
164 |
}
|
165 |
|
166 |
-
//setcookie('wp_lead_id' , $lead['id'], time() + (20 * 365 * 24 * 60 * 60),'/');
|
167 |
-
|
168 |
-
do_action('inbound_store_lead_post', $lead );
|
169 |
-
do_action('wp_cta_store_lead_post', $lead );
|
170 |
-
do_action('wpl_store_lead_post', $lead );
|
171 |
-
do_action('lp_store_lead_post', $lead );
|
172 |
-
|
173 |
if ( self::$is_ajax ) {
|
174 |
echo $lead['id'];
|
175 |
-
|
|
|
|
|
176 |
} else {
|
|
|
177 |
return $lead['id'];
|
178 |
}
|
|
|
179 |
}
|
180 |
}
|
181 |
|
@@ -276,6 +276,7 @@ if (!class_exists('LeadStorage')) {
|
|
276 |
$search_data = json_encode($search_data);
|
277 |
update_post_meta($lead['id'], 'wpleads_search_data', $search_data); // Store search object
|
278 |
}
|
|
|
279 |
/**
|
280 |
* updates conversion data object
|
281 |
*/
|
@@ -304,10 +305,10 @@ if (!class_exists('LeadStorage')) {
|
|
304 |
|
305 |
}
|
306 |
/**
|
307 |
-
*
|
308 |
*/
|
309 |
static function store_conversion_stats($lead){
|
310 |
-
$page_conversion_data = get_post_meta( $lead['page_id'], '
|
311 |
$page_conversion_data = json_decode($page_conversion_data,true);
|
312 |
$version = ($lead['variation'] != 'default') ? $lead['variation'] : '0';
|
313 |
if (is_array($page_conversion_data)) {
|
@@ -321,7 +322,7 @@ if (!class_exists('LeadStorage')) {
|
|
321 |
$page_conversion_data[1]['datetime'] = $lead['wordpress_date_time'];
|
322 |
}
|
323 |
$page_conversion_data = json_encode($page_conversion_data);
|
324 |
-
update_post_meta($lead['page_id'], '
|
325 |
}
|
326 |
|
327 |
/**
|
@@ -331,9 +332,9 @@ if (!class_exists('LeadStorage')) {
|
|
331 |
$referral_data = get_post_meta( $lead['id'], 'wpleads_referral_data', TRUE );
|
332 |
|
333 |
// Parse referral for additional data
|
334 |
-
include_once('
|
335 |
-
include_once('
|
336 |
-
include_once('
|
337 |
// intialized the parser class
|
338 |
$parser = new INBOUND_Parser();
|
339 |
//$array = array('http://google.com', 'http://twitter.com', 'http://tumblr.com?query=test', '');
|
@@ -527,11 +528,10 @@ if (!class_exists('LeadStorage')) {
|
|
527 |
static function improve_mapping($mappedData, $lead) {
|
528 |
$arr = $mappedData;
|
529 |
/* Set names if not mapped */
|
530 |
-
$
|
531 |
-
$
|
532 |
-
/* Add filter and preg matches here */
|
533 |
|
534 |
-
return $
|
535 |
}
|
536 |
|
537 |
/**
|
@@ -633,7 +633,12 @@ if (!function_exists('inbound_store_lead')) {
|
|
633 |
} else {
|
634 |
$Leads->set_mode('ajax');
|
635 |
}
|
636 |
-
|
|
|
|
|
|
|
|
|
|
|
637 |
$lead_id = $Leads::inbound_lead_store( $args );
|
638 |
|
639 |
return $lead_id;
|
84 |
|
85 |
$mappedData = self::improve_mapping($mappedData, $lead);
|
86 |
|
87 |
+
/* prepate lead lists */
|
88 |
+
$lead['lead_lists'] = (isset($args['lead_lists'])) ? $args['lead_lists'] : null;
|
89 |
+
if ( !$lead['lead_lists'] && array_key_exists('inbound_form_lists', $mappedData) ) {
|
90 |
+
$lead['lead_lists'] = explode(",", $mappedData['inbound_form_lists']);
|
91 |
+
}
|
92 |
|
93 |
/* Look for direct key matches & clean up $lead_data */
|
94 |
$lead = apply_filters( 'inboundnow_store_lead_pre_filter_data', $lead, $args);
|
157 |
}
|
158 |
|
159 |
/* Store Conversion Data to LANDING PAGE/CTA DATA */
|
160 |
+
if (isset($lead['page_id'])) {
|
161 |
self::store_conversion_stats($lead);
|
162 |
}
|
163 |
|
166 |
self::store_geolocation_data($lead);
|
167 |
}
|
168 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
169 |
if ( self::$is_ajax ) {
|
170 |
echo $lead['id'];
|
171 |
+
header('HTTP/1.1 200 OK');
|
172 |
+
do_action('inbound_store_lead_post', $lead );
|
173 |
+
exit;
|
174 |
} else {
|
175 |
+
do_action('inbound_store_lead_post', $lead );
|
176 |
return $lead['id'];
|
177 |
}
|
178 |
+
|
179 |
}
|
180 |
}
|
181 |
|
276 |
$search_data = json_encode($search_data);
|
277 |
update_post_meta($lead['id'], 'wpleads_search_data', $search_data); // Store search object
|
278 |
}
|
279 |
+
|
280 |
/**
|
281 |
* updates conversion data object
|
282 |
*/
|
305 |
|
306 |
}
|
307 |
/**
|
308 |
+
* Store Conversion Data to LANDING PAGE/CTA DATA
|
309 |
*/
|
310 |
static function store_conversion_stats($lead){
|
311 |
+
$page_conversion_data = get_post_meta( $lead['page_id'], '_inbound_conversion_data', TRUE );
|
312 |
$page_conversion_data = json_decode($page_conversion_data,true);
|
313 |
$version = ($lead['variation'] != 'default') ? $lead['variation'] : '0';
|
314 |
if (is_array($page_conversion_data)) {
|
322 |
$page_conversion_data[1]['datetime'] = $lead['wordpress_date_time'];
|
323 |
}
|
324 |
$page_conversion_data = json_encode($page_conversion_data);
|
325 |
+
update_post_meta($lead['page_id'], '_inbound_conversion_data', $page_conversion_data);
|
326 |
}
|
327 |
|
328 |
/**
|
332 |
$referral_data = get_post_meta( $lead['id'], 'wpleads_referral_data', TRUE );
|
333 |
|
334 |
// Parse referral for additional data
|
335 |
+
include_once( INBOUDNOW_SHARED_PATH. 'assets/includes/Snowplow/RefererParser/INBOUND_Parser.php');
|
336 |
+
include_once( INBOUDNOW_SHARED_PATH .'assets/includes/Snowplow/RefererParser/INBOUND_Referer.php');
|
337 |
+
include_once(INBOUDNOW_SHARED_PATH . 'assets/includes/Snowplow/RefererParser/INBOUND_Medium.php');
|
338 |
// intialized the parser class
|
339 |
$parser = new INBOUND_Parser();
|
340 |
//$array = array('http://google.com', 'http://twitter.com', 'http://tumblr.com?query=test', '');
|
528 |
static function improve_mapping($mappedData, $lead) {
|
529 |
$arr = $mappedData;
|
530 |
/* Set names if not mapped */
|
531 |
+
$mappedData['first_name'] = (!isset($mappedData['first_name'])) ? $lead['first_name'] : $mappedData['first_name'];
|
532 |
+
$mappedData['last_name'] = (!isset($mappedData['last_name'])) ? $lead['last_name'] : $mappedData['last_name'];
|
|
|
533 |
|
534 |
+
return $mappedData;
|
535 |
}
|
536 |
|
537 |
/**
|
633 |
} else {
|
634 |
$Leads->set_mode('ajax');
|
635 |
}
|
636 |
+
|
637 |
+
/* prepare lead lists as array */
|
638 |
+
if (isset($args['lead_lists']) && !is_array($args['lead_lists'])) {
|
639 |
+
$args['lead_lists'] = explode(',',$args['lead_lists']);
|
640 |
+
}
|
641 |
+
|
642 |
$lead_id = $Leads::inbound_lead_store( $args );
|
643 |
|
644 |
return $lead_id;
|
shared/{extend/inboundnow.extend.php → classes/class.licensing.php}
RENAMED
File without changes
|
shared/classes/class.load-shared.php
CHANGED
@@ -41,35 +41,41 @@ if (!class_exists('Inbound_Load_Shared')) {
|
|
41 |
|
42 |
include_once( INBOUDNOW_SHARED_PATH . 'classes/class.post-type.wp-lead.php');
|
43 |
include_once( INBOUDNOW_SHARED_PATH . 'classes/class.post-type.email-template.php');
|
44 |
-
|
45 |
-
include_once( INBOUDNOW_SHARED_PATH . 'classes/class.
|
46 |
-
include_once( INBOUDNOW_SHARED_PATH . 'classes/class.
|
47 |
-
|
48 |
-
include_once( INBOUDNOW_SHARED_PATH . 'classes/class.
|
49 |
-
|
|
|
|
|
|
|
|
|
|
|
50 |
include_once( INBOUDNOW_SHARED_PATH . 'classes/class.shortcodes.email-template.php');
|
|
|
51 |
include_once( INBOUDNOW_SHARED_PATH . 'classes/class.lead-fields.php');
|
52 |
include_once( INBOUDNOW_SHARED_PATH . 'classes/class.inbound-forms.akismet.php');
|
53 |
include_once( INBOUDNOW_SHARED_PATH . 'classes/class.welcome.php');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
|
55 |
-
//include_once( INBOUDNOW_SHARED_PATH . 'tracking/store.lead.php'); // Lead Storage from landing pages
|
56 |
-
|
57 |
-
include_once( INBOUDNOW_SHARED_PATH . 'tracking/new.store.lead.php'); // Lead Storage from landing pages
|
58 |
-
|
59 |
-
/*
|
60 |
-
if (!defined('InboundAnalytics_v2')) {
|
61 |
-
include_once( INBOUDNOW_SHARED_PATH . 'tracking/store.lead.php'); // Lead Storage from landing pages
|
62 |
-
} else {
|
63 |
-
include_once( INBOUDNOW_SHARED_PATH . 'tracking/new.store.lead.php'); // Lead Storage from landing pages
|
64 |
-
}*/
|
65 |
-
|
66 |
-
|
67 |
-
include_once( INBOUDNOW_SHARED_PATH . 'shortcodes/inbound-shortcodes.php'); // Shared Shortcodes
|
68 |
-
include_once( INBOUDNOW_SHARED_PATH . 'extend/inboundnow.extend.php');
|
69 |
-
include_once( INBOUDNOW_SHARED_PATH . 'extend/inboundnow.global-settings.php'); // Inboundnow Global Settings
|
70 |
-
include_once( INBOUDNOW_SHARED_PATH . 'metaboxes/template.metaboxes.php'); // Shared Shortcodes
|
71 |
-
include_once( INBOUDNOW_SHARED_PATH . 'functions/global.shared.functions.php'); // Global Shared Utility functions
|
72 |
-
include_once( INBOUDNOW_SHARED_PATH . 'assets/assets.loader.class.php'); // Load Shared CSS and JS Assets
|
73 |
|
74 |
self::load_legacy_elements();
|
75 |
}
|
41 |
|
42 |
include_once( INBOUDNOW_SHARED_PATH . 'classes/class.post-type.wp-lead.php');
|
43 |
include_once( INBOUDNOW_SHARED_PATH . 'classes/class.post-type.email-template.php');
|
44 |
+
// Inbound forms class
|
45 |
+
include_once( INBOUDNOW_SHARED_PATH . 'classes/class.form.php');
|
46 |
+
include_once( INBOUDNOW_SHARED_PATH . 'classes/class.menus.adminbar.php'); /* Moved to PRO */
|
47 |
+
// Inbound Feedback Form
|
48 |
+
include_once( INBOUDNOW_SHARED_PATH . 'classes/class.feedback.php');
|
49 |
+
// Inbound Debug & Scripts Class
|
50 |
+
include_once( INBOUDNOW_SHARED_PATH . 'classes/class.debug.php');
|
51 |
+
// Inbound Compatibility Class
|
52 |
+
include_once( INBOUDNOW_SHARED_PATH . 'classes/class.compatibility.php');
|
53 |
+
// {{token}} Replacement Engine
|
54 |
+
include_once( INBOUDNOW_SHARED_PATH . 'classes/class.templating-engine.php');
|
55 |
include_once( INBOUDNOW_SHARED_PATH . 'classes/class.shortcodes.email-template.php');
|
56 |
+
include_once( INBOUDNOW_SHARED_PATH . 'classes/class.shortcodes.cookie-values.php');
|
57 |
include_once( INBOUDNOW_SHARED_PATH . 'classes/class.lead-fields.php');
|
58 |
include_once( INBOUDNOW_SHARED_PATH . 'classes/class.inbound-forms.akismet.php');
|
59 |
include_once( INBOUDNOW_SHARED_PATH . 'classes/class.welcome.php');
|
60 |
+
include_once( INBOUDNOW_SHARED_PATH . 'classes/class.branching.php');
|
61 |
+
include_once( INBOUDNOW_SHARED_PATH . 'classes/class.options-api.php');
|
62 |
+
// Lead Storage from landing pages
|
63 |
+
include_once( INBOUDNOW_SHARED_PATH . 'classes/class.lead-storage.php');
|
64 |
+
// Shared Shortcodes
|
65 |
+
include_once( INBOUDNOW_SHARED_PATH . 'shortcodes/inbound-shortcodes.php');
|
66 |
+
// Licensing
|
67 |
+
include_once( INBOUDNOW_SHARED_PATH . 'classes/class.licensing.php');
|
68 |
+
// Inboundnow Global Settings
|
69 |
+
include_once( INBOUDNOW_SHARED_PATH . 'classes/class.master-license.php');
|
70 |
+
// Global Shared Utility functions
|
71 |
+
include_once( INBOUDNOW_SHARED_PATH . 'legacy/functions.php');
|
72 |
+
// Load Shared CSS and JS Assets
|
73 |
+
include_once( INBOUDNOW_SHARED_PATH . 'assets/assets.loader.class.php');
|
74 |
+
// Load Notifications
|
75 |
+
include_once( INBOUDNOW_SHARED_PATH . 'classes/class.notifications.php');
|
76 |
+
// Load Magic
|
77 |
+
include_once( INBOUDNOW_SHARED_PATH . 'classes/class.magic.php');
|
78 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
|
80 |
self::load_legacy_elements();
|
81 |
}
|
shared/classes/class.magic.php
ADDED
@@ -0,0 +1,68 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Fixes jQuery and Javascript issues from popping up
|
4 |
+
*
|
5 |
+
* Usage: When using jQuery: use InboundQuery instead of jQuery / $
|
6 |
+
*
|
7 |
+
*/
|
8 |
+
|
9 |
+
if ( ! class_exists( 'Inbound_Magic' ) ) {
|
10 |
+
|
11 |
+
class Inbound_Magic {
|
12 |
+
|
13 |
+
static function init() {
|
14 |
+
/* determines if in ajax mode */
|
15 |
+
if(is_admin()) {
|
16 |
+
add_action( 'admin_enqueue_scripts', array( __CLASS__ , 'start_buffer'), -9999 );
|
17 |
+
add_action( 'admin_head', array( __CLASS__ , 'end_buffer'), -9999 );
|
18 |
+
} else {
|
19 |
+
add_action( 'wp_enqueue_scripts', array( __CLASS__ , 'start_buffer'), -9999 );
|
20 |
+
add_action( 'wp_head', array( __CLASS__ , 'end_buffer'), -9999 );
|
21 |
+
}
|
22 |
+
|
23 |
+
}
|
24 |
+
|
25 |
+
/* Fix JavaScript Conflicts in WordPress */
|
26 |
+
public static function start_buffer() {
|
27 |
+
ob_start( array( 'Inbound_Magic', 'buffer_callback' ) );
|
28 |
+
}
|
29 |
+
/**
|
30 |
+
* Collects the buffer, and injects a `jQueryWP` JS object as a
|
31 |
+
* copy of `jQuery`, so that dumb themes and plugins can't hurt it
|
32 |
+
*/
|
33 |
+
public static function buffer_callback( $content ) {
|
34 |
+
$patternFrontEnd = "#wp-includes/js/jquery/jquery\.js\?ver=([^']+)'></script>#";
|
35 |
+
$externalPattern = "#/jquery.min.js'></script>#";
|
36 |
+
$patternAdmin = "#load-scripts.php\?([^']+)'></script>#";
|
37 |
+
$content = "<script>/* before anything */</script>" . $content;
|
38 |
+
//window.onerror=function(o,n,l){return console.log(o),console.log(n),console.log(l),!0};
|
39 |
+
|
40 |
+
if ( preg_match( $patternFrontEnd, $content ) ) {
|
41 |
+
//InboundQuery = (typeof jQuery !== "undefined") ? jQuery : false;
|
42 |
+
$content = preg_replace( $patternFrontEnd, '$0<script>InboundQuery = jQuery;</script>', $content );
|
43 |
+
return $content;
|
44 |
+
}
|
45 |
+
/* match external google lib */
|
46 |
+
if ( preg_match( $externalPattern, $content ) ) {
|
47 |
+
$content = preg_replace( $externalPattern, '$0<script>InboundQuery = jQuery;</script>', $content );
|
48 |
+
return $content;
|
49 |
+
}
|
50 |
+
|
51 |
+
if ( preg_match( $patternAdmin, $content ) ) {
|
52 |
+
$content = preg_replace( $patternAdmin, '$0<script>InboundQuery = jQuery;</script>', $content );
|
53 |
+
return $content;
|
54 |
+
}
|
55 |
+
|
56 |
+
}
|
57 |
+
/**
|
58 |
+
* Flushes the buffer
|
59 |
+
*/
|
60 |
+
public static function end_buffer() {
|
61 |
+
@ob_end_flush();
|
62 |
+
}
|
63 |
+
|
64 |
+
}
|
65 |
+
|
66 |
+
Inbound_Magic::init();
|
67 |
+
|
68 |
+
}
|
shared/{extend/inboundnow.global-settings.php → classes/class.master-license.php}
RENAMED
File without changes
|
shared/classes/class.menu.php
CHANGED
@@ -20,13 +20,44 @@ if (!class_exists('Inbound_Menu')) {
|
|
20 |
}
|
21 |
|
22 |
self::$add_menu = true;
|
23 |
-
self::$go_button = '<input type="submit" value="' . __( 'GO', '
|
24 |
self::$inboundnow_menu_key = 'inbound-admin-bar';
|
25 |
self::$inboundnow_menu_secondary_group_key = 'inbound-secondary';
|
26 |
self::hooks();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
add_action( 'admin_bar_menu', array( __CLASS__ , 'load_inboundnow_menu' ), 98);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
}
|
29 |
|
|
|
|
|
|
|
|
|
30 |
public static function load_inboundnow_menu() {
|
31 |
global $wp_admin_bar;
|
32 |
|
@@ -36,7 +67,7 @@ if (!class_exists('Inbound_Menu')) {
|
|
36 |
/* Add Parent Nav Menu - Inbound Marketing*/
|
37 |
$wp_admin_bar->add_menu( array(
|
38 |
'id' => self::$inboundnow_menu_key,
|
39 |
-
'title' => __( ' Marketing', '
|
40 |
'href' => "",
|
41 |
'meta' => array( 'class' => 'inbound-nav-marketing', 'title' => 'Inbound Marketing Admin' )
|
42 |
) );
|
@@ -98,27 +129,12 @@ if (!class_exists('Inbound_Menu')) {
|
|
98 |
|
99 |
}
|
100 |
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
add_filter('inboundnow_menu_primary' , array( __CLASS__ , 'load_landingpages') , 10 );
|
105 |
-
add_filter('inboundnow_menu_primary' , array( __CLASS__ , 'load_leads') , 10 );
|
106 |
-
add_filter('inboundnow_menu_primary' , array( __CLASS__ , 'load_forms') , 10 );
|
107 |
-
add_filter('inboundnow_menu_primary' , array( __CLASS__ , 'load_manage_templates') , 10 );
|
108 |
-
add_filter('inboundnow_menu_primary' , array( __CLASS__ , 'load_settings') , 10 );
|
109 |
-
add_filter('inboundnow_menu_primary' , array( __CLASS__ , 'load_analytics') , 10 );
|
110 |
-
add_filter('inboundnow_menu_primary' , array( __CLASS__ , 'load_seo') , 10 );
|
111 |
-
|
112 |
-
|
113 |
-
add_filter('inboundnow_menu_secondary' , array( __CLASS__ , 'load_support') , 10 );
|
114 |
-
add_filter('inboundnow_menu_secondary' , array( __CLASS__ , 'load_inbound_hq') , 10 );
|
115 |
-
add_filter('inboundnow_menu_secondary' , array( __CLASS__ , 'load_debug') , 10 );
|
116 |
-
}
|
117 |
-
|
118 |
-
|
119 |
public static function load_leads( $menu_items ) {
|
120 |
/* Check if Leads Active */
|
121 |
-
if (function_exists(
|
122 |
return $menu_items;
|
123 |
}
|
124 |
|
@@ -129,54 +145,58 @@ if (!class_exists('Inbound_Menu')) {
|
|
129 |
/* 1 - Lead Parent */
|
130 |
$menu_items[ $leads_key ] = array(
|
131 |
'parent' => self::$inboundnow_menu_key,
|
132 |
-
'title' => __( 'Leads', '
|
133 |
'href' => admin_url( 'edit.php?post_type=wp-lead' ),
|
134 |
-
'meta' => array( 'target' => '', 'title' => _x( 'Manage Forms', '
|
135 |
);
|
136 |
|
137 |
/* 1.1 - Leads search form */
|
138 |
-
$leads_search_text = __( 'Search All Leads' , '
|
139 |
$menu_items['inbound-leads-search'] = array(
|
140 |
'parent' => $leads_key,
|
141 |
'title' => '<form id="inbound-menu-form" method="get" action="'.admin_url( 'edit.php?post_type=wp-lead' ).'" class=" " target="_blank">
|
142 |
-
<input id="search-inbound-menu" type="text" placeholder="' . $leads_search_text . '" onblur="this.value=(this.value==\'\') ? \'' . $leads_search_text . '\' : this.value;" onfocus="this.value=(this.value==\'' . $leads_search_text . '\') ? \'\' : this.value;" value="' . $leads_search_text . '" name="s" value="' . esc_attr( 'Search Leads', '
|
143 |
<input type="hidden" name="post_type" value="wp-lead" />
|
144 |
<input type="hidden" name="post_status" value="all" />
|
145 |
' . self::$go_button ,
|
146 |
'href' => false,
|
147 |
-
'meta' => array( 'target' => '', 'title' => _x( 'Search Leads', 'Translators: For the tooltip', '
|
148 |
);
|
149 |
|
150 |
/* 1.2 - View All Leads */
|
151 |
$menu_items['inbound-leads-view'] = array(
|
152 |
'parent' => $leads_key,
|
153 |
-
'title' => __( 'View All Leads', '
|
154 |
'href' => admin_url( 'edit.php?post_type=wp-lead' ),
|
155 |
-
'meta' => array( 'target' => '', 'title' => __( 'View All Forms', '
|
156 |
);
|
157 |
|
158 |
/* 1.3 - View Lead Lists */
|
159 |
$menu_items['inbound-leads-list'] = array(
|
160 |
'parent' => $leads_key,
|
161 |
-
'title' => __( 'View Lead Lists', '
|
162 |
'href' => admin_url( 'edit-tags.php?taxonomy=wplead_list_category&post_type=wp-lead' ),
|
163 |
-
'meta' => array( 'target' => '', 'title' => __( 'View Lead Lists', '
|
164 |
);
|
165 |
|
166 |
/* 1.4 - Create New Lead */
|
167 |
$menu_items['inbound-leads-add'] = array(
|
168 |
'parent' => $leads_key,
|
169 |
-
'title' => __( 'Create New Lead', '
|
170 |
'href' => admin_url( 'post-new.php?post_type=wp-lead' ),
|
171 |
-
'meta' => array( 'target' => '', 'title' => __( 'Add new lead', '
|
172 |
);
|
173 |
|
174 |
return $menu_items;
|
175 |
}
|
176 |
|
|
|
|
|
|
|
177 |
public static function load_callstoaction( $menu_items ) {
|
|
|
178 |
/* Check if Calls To Action Active */
|
179 |
-
if (function_exists(
|
180 |
return $menu_items;
|
181 |
}
|
182 |
|
@@ -187,52 +207,55 @@ if (!class_exists('Inbound_Menu')) {
|
|
187 |
/* 1 - Calls to Action */
|
188 |
$menu_items[ $cta_key ] = array(
|
189 |
'parent' => self::$inboundnow_menu_key,
|
190 |
-
'title' => __( 'Call to Actions', '
|
191 |
'href' => admin_url( 'edit.php?post_type=wp-call-to-action' ),
|
192 |
-
'meta' => array( 'target' => '', 'title' => __( 'View All Landing Pages', '
|
193 |
);
|
194 |
|
195 |
/* 1.1 - View Calls to Action */
|
196 |
$menu_items['inbound-cta-view'] = array(
|
197 |
'parent' => $cta_key,
|
198 |
-
'title' => __( 'View Calls to Action List', '
|
199 |
'href' => admin_url( 'post-new.php?post_type=wp-call-to-action' ),
|
200 |
-
'meta' => array( 'target' => '', 'title' => __( 'View All Landing Pages', '
|
201 |
);
|
202 |
|
203 |
/* 1.2 - Add Calls to Action */
|
204 |
$menu_items['inbound-cta-add'] = array(
|
205 |
'parent' => $cta_key,
|
206 |
-
'title' => __( 'Add New Call to Action', '
|
207 |
'href' => admin_url( 'post-new.php?post_type=wp-call-to-action' ),
|
208 |
-
'meta' => array( 'target' => '', 'title' => __( 'Add new call to action', '
|
209 |
);
|
210 |
|
211 |
/* 1.3 - Calls to Action Categories */
|
212 |
$menu_items['inbound-cta-categories'] = array(
|
213 |
'parent' => $cta_key,
|
214 |
-
'title' => __( 'Categories', '
|
215 |
'href' => admin_url( 'edit-tags.php?taxonomy=wp_call_to_action_category&post_type=wp-call-to-action' ),
|
216 |
-
'meta' => array( 'target' => '', 'title' => __( 'Landing Page Categories', '
|
217 |
);
|
218 |
|
219 |
/* 1.4 - Settings */
|
220 |
if ( current_user_can( 'manage_options' )) {
|
221 |
$menu_items['inbound-cta-settings'] = array(
|
222 |
'parent' => $cta_key,
|
223 |
-
'title' => __( 'Settings', '
|
224 |
'href' => admin_url( 'edit.php?post_type=wp-call-to-action&page=wp_cta_global_settings' ),
|
225 |
-
'meta' => array( 'target' => '', 'title' => __( 'Manage Call to Action Settings', '
|
226 |
);
|
227 |
}
|
228 |
|
229 |
return $menu_items;
|
230 |
}
|
231 |
|
|
|
|
|
|
|
232 |
public static function load_landingpages( $menu_items )
|
233 |
{
|
234 |
/* Check if Landing Pages Active */
|
235 |
-
if (function_exists(
|
236 |
return $menu_items;
|
237 |
}
|
238 |
|
@@ -243,48 +266,126 @@ if (!class_exists('Inbound_Menu')) {
|
|
243 |
/* 1 - Landing Pages */
|
244 |
$menu_items[ $landing_pages_key ] = array(
|
245 |
'parent' => self::$inboundnow_menu_key,
|
246 |
-
'title' => __( 'Landing Pages', '
|
247 |
'href' => admin_url( 'edit.php?post_type=landing-page' ),
|
248 |
-
'meta' => array( 'target' => '', 'title' => __( 'View All Landing Pages', '
|
249 |
);
|
250 |
|
251 |
/* 1.1 - View Landing Pages */
|
252 |
$menu_items['inbound-landingpages-view'] = array(
|
253 |
'parent' => $landing_pages_key,
|
254 |
-
'title' => __( 'View Landing Pages List', '
|
255 |
'href' => admin_url( 'edit.php?post_type=landing-page' ),
|
256 |
-
'meta' => array( 'target' => '', 'title' => __( 'View All Landing Pages', '
|
257 |
);
|
258 |
|
259 |
/* 1.2 - Add New Landing Pages */
|
260 |
$menu_items['inbound-landingpages-add'] = array(
|
261 |
'parent' => $landing_pages_key,
|
262 |
-
'title' => __( 'Add New Landing Page', '
|
263 |
'href' => admin_url( 'post-new.php?post_type=landing-page' ),
|
264 |
-
'meta' => array( 'target' => '', 'title' => __( 'Add new Landing Page', '
|
265 |
);
|
266 |
|
267 |
/* 1.3 - Landing Pages Categories */
|
268 |
$menu_items['inbound-landingpages-categories'] = array(
|
269 |
'parent' => $landing_pages_key,
|
270 |
-
'title' => __( 'Categories', '
|
271 |
'href' => admin_url( 'edit-tags.php?taxonomy=landing_page_category&post_type=landing-page' ),
|
272 |
-
'meta' => array( 'target' => '', 'title' => __( 'Landing Page Categories', '
|
273 |
);
|
274 |
|
275 |
/* 1.4 - Landing Pages Settings */
|
276 |
if ( current_user_can( 'manage_options' )) {
|
277 |
$menu_items['inbound-landingpages-settings'] = array(
|
278 |
'parent' => $landing_pages_key,
|
279 |
-
'title' => __( 'Settings', '
|
280 |
'href' => admin_url( 'edit.php?post_type=landing-page&page=lp_global_settings' ),
|
281 |
-
'meta' => array( 'target' => '', 'title' => __( 'Manage Landing Page Settings', '
|
282 |
);
|
283 |
}
|
284 |
|
285 |
|
286 |
return $menu_items;
|
287 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
288 |
|
289 |
public static function load_forms( $menu_items )
|
290 |
{
|
@@ -298,17 +399,17 @@ if (!class_exists('Inbound_Menu')) {
|
|
298 |
/* 1 - Manage Forms */
|
299 |
$menu_items[ $forms_key ] = array(
|
300 |
'parent' => self::$inboundnow_menu_key,
|
301 |
-
'title' => __( 'Manage Forms', '
|
302 |
'href' => admin_url( 'edit.php?post_type=inbound-forms' ),
|
303 |
-
'meta' => array( 'target' => '', 'title' => _x( 'Manage Forms', '
|
304 |
);
|
305 |
|
306 |
/* 1.1 - View All Forms */
|
307 |
$menu_items['inbound-forms-view'] = array(
|
308 |
'parent' => $forms_key,
|
309 |
-
'title' => __( 'View All Forms', '
|
310 |
'href' => admin_url( 'edit.php?post_type=inbound-forms' ),
|
311 |
-
'meta' => array( 'target' => '', 'title' => __( 'View All Forms', '
|
312 |
);
|
313 |
|
314 |
/* 1.1.x Get Forms and List */
|
@@ -326,9 +427,9 @@ if (!class_exists('Inbound_Menu')) {
|
|
326 |
/* 1.2 - Create New Form */
|
327 |
$menu_items['inbound-forms-add'] = array(
|
328 |
'parent' => $forms_key,
|
329 |
-
'title' => __( 'Create New Form', '
|
330 |
'href' => admin_url( 'post-new.php?post_type=inbound-forms' ),
|
331 |
-
'meta' => array( 'target' => '', 'title' => __( 'Add new call to action', '
|
332 |
);
|
333 |
|
334 |
return $menu_items;
|
@@ -345,26 +446,26 @@ if (!class_exists('Inbound_Menu')) {
|
|
345 |
/* 1 - Manage Templates */
|
346 |
$menu_items[ $templates_key ] = array(
|
347 |
'parent' => self::$inboundnow_menu_key,
|
348 |
-
'title' => __( 'Manage Templates', '
|
349 |
'href' => "",
|
350 |
-
'meta' => array( 'target' => '', 'title' => _x( 'Manage Templates', '
|
351 |
);
|
352 |
|
353 |
/* 1.1 - Get More Templates */
|
354 |
$menu_items['inbound-gettemplates'] = array(
|
355 |
'parent' => $templates_key,
|
356 |
-
'title' => __( 'Download More Templates', '
|
357 |
'href' => "http://www.inboundnow.com/market",
|
358 |
-
'meta' => array( 'target' => '', 'title' => __( 'Download More Templates', '
|
359 |
);
|
360 |
|
361 |
/* 1.1 - Landing Page Templates */
|
362 |
if (isset(self::$load_landingpages)) {
|
363 |
$menu_items['inbound-landingpagetemplates'] = array(
|
364 |
'parent' => $templates_key,
|
365 |
-
'title' => __( 'Landing Page Templates', '
|
366 |
'href' => admin_url( 'edit.php?post_type=landing-page&page=lp_manage_templates' ),
|
367 |
-
'meta' => array( 'target' => '', 'title' => __( 'Landing Page Templates', '
|
368 |
);
|
369 |
}
|
370 |
|
@@ -372,9 +473,9 @@ if (!class_exists('Inbound_Menu')) {
|
|
372 |
if (isset(self::$load_callstoaction)) {
|
373 |
$menu_items['inbound-ctatemplates'] = array(
|
374 |
'parent' => $templates_key,
|
375 |
-
'title' => __( 'Call to Action Templates', '
|
376 |
'href' => admin_url( 'edit.php?post_type=wp-call-to-action&page=wp_cta_manage_templates' ),
|
377 |
-
'meta' => array( 'target' => '', 'title' => __( 'Call to Action Templates', '
|
378 |
);
|
379 |
}
|
380 |
|
@@ -388,36 +489,36 @@ if (!class_exists('Inbound_Menu')) {
|
|
388 |
/* 1 - Global Settings */
|
389 |
$menu_items[ $settings_key ] = array(
|
390 |
'parent' => self::$inboundnow_menu_key,
|
391 |
-
'title' => __( 'Global Settings', '
|
392 |
'href' => "",
|
393 |
-
'meta' => array( 'target' => '', 'title' => _x( 'Manage Settings', '
|
394 |
);
|
395 |
|
396 |
/* 1.1 - Call to Action Settings */
|
397 |
if (self::$load_callstoaction) {
|
398 |
$menu_items['inbound-ctasettings'] = array(
|
399 |
'parent' => $settings_key,
|
400 |
-
'title' => __( 'Call to Action Settings', '
|
401 |
'href' => admin_url( 'edit.php?post_type=wp-call-to-action&page=wp_cta_global_settings' ),
|
402 |
-
'meta' => array( 'target' => '', 'title' => __( 'Call to Action Settings', '
|
403 |
);
|
404 |
}
|
405 |
|
406 |
if (self::$load_landingpages) {
|
407 |
$menu_items['inbound-landingpagesettings'] = array(
|
408 |
'parent' => $settings_key,
|
409 |
-
'title' => __( 'Landing Page Settings', '
|
410 |
'href' => admin_url( 'edit.php?post_type=landing-page&page=lp_global_settings' ),
|
411 |
-
'meta' => array( 'target' => '', 'title' => __( 'Landing Page Settings', '
|
412 |
);
|
413 |
}
|
414 |
|
415 |
if (self::$load_leads) {
|
416 |
$menu_items['inbound-leadssettings'] = array(
|
417 |
'parent' => $settings_key,
|
418 |
-
'title' => __( 'Lead Settings', '
|
419 |
'href' => admin_url( 'edit.php?post_type=wp-lead&page=wpleads_global_settings' ),
|
420 |
-
'meta' => array( 'target' => '', 'title' => __( 'Lead Settings', '
|
421 |
);
|
422 |
}
|
423 |
|
@@ -431,9 +532,9 @@ if (!class_exists('Inbound_Menu')) {
|
|
431 |
/* 1 - Analytics */
|
432 |
$menu_items[ $analytics_key ] = array(
|
433 |
'parent' => self::$inboundnow_menu_key,
|
434 |
-
'title' => __( 'Analytics (coming soon)', '
|
435 |
'href' => '#',
|
436 |
-
'meta' => array( 'target' => '', 'title' => __( 'Analytics (coming soon)', '
|
437 |
);
|
438 |
|
439 |
return $menu_items;
|
@@ -446,9 +547,9 @@ if (!class_exists('Inbound_Menu')) {
|
|
446 |
if (function_exists( 'is_plugin_active' ) && is_plugin_active('wordpress-seo/wp-seo.php')) {
|
447 |
$menu_items[ $seo_key ] = array(
|
448 |
'parent' => self::$inboundnow_menu_key,
|
449 |
-
'title' => __( 'SEO by Yoast', '
|
450 |
'href' => admin_url( 'admin.php?page=wpseo_dashboard' ),
|
451 |
-
'meta' => array( 'target' => '', 'title' => __( 'Manage SEO Settings', '
|
452 |
);
|
453 |
}
|
454 |
|
@@ -462,30 +563,30 @@ if (!class_exists('Inbound_Menu')) {
|
|
462 |
/* 1 - Support Form */
|
463 |
$secondary_menu_items[ $support_key ] = array(
|
464 |
'parent' => self::$inboundnow_menu_secondary_group_key,
|
465 |
-
'title' => __( 'Support Forum', '
|
466 |
'href' => 'https://www.inboundnow.com/support/',
|
467 |
-
'meta' => array( 'target' => '_blank' , 'title' => __( 'Support Forum', '
|
468 |
);
|
469 |
|
470 |
/* 1 - Documentation */
|
471 |
$secondary_menu_items['inbound-docs'] = array(
|
472 |
'parent' => self::$inboundnow_menu_secondary_group_key,
|
473 |
-
'title' => __( 'Documentation', '
|
474 |
'href' => 'http://docs.inboundnow.com/',
|
475 |
-
'meta' => array( 'title' => __( 'Documentation', '
|
476 |
);
|
477 |
|
478 |
/* 1 - Doc Search */
|
479 |
-
$search_docs_text = __( 'Search Docs', '
|
480 |
|
481 |
$secondary_menu_items['inbound-docs-searchform'] = array(
|
482 |
'parent' => self::$inboundnow_menu_secondary_group_key,
|
483 |
'title' => '<form method="get" id="inbound-menu-form" action="http://www.inboundnow.com/support/search/?action=bbp-search-request" class=" " target="_blank">
|
484 |
-
<input id="search-inbound-menu" type="text" placeholder="' . $search_docs_text . '" onblur="this.value=(this.value==\'\') ? \'' . $search_docs_text . '\' : this.value;" onfocus="this.value=(this.value==\'' . $search_docs_text . '\') ? \'\' : this.value;" value="' . $search_docs_text . '" name="bbp_search" value="' . esc_attr( 'Search Docs', '
|
485 |
<input type="hidden" name="post_type[]" value="docs" />
|
486 |
<input type="hidden" name="post_type[]" value="page" />' . self::$go_button,
|
487 |
'href' => false,
|
488 |
-
'meta' => array( 'target' => '', 'title' => _x( 'Search Docs', 'Translators: For the tooltip', '
|
489 |
);
|
490 |
|
491 |
return $secondary_menu_items;
|
@@ -498,41 +599,41 @@ if (!class_exists('Inbound_Menu')) {
|
|
498 |
/* 1 - Inbound Now Plugin HQ */
|
499 |
$secondary_menu_items[ $hq_key ] = array(
|
500 |
'parent' => self::$inboundnow_menu_secondary_group_key,
|
501 |
-
'title' => __( 'Inbound Now Plugin HQ', '
|
502 |
'href' => 'https://www.inboundnow.com/',
|
503 |
-
'meta' => array( 'title' => __( 'Inbound Now Plugin HQ', '
|
504 |
);
|
505 |
|
506 |
/* 1.1 - GitHub Link */
|
507 |
$secondary_menu_items['inbound-sites-dev'] = array(
|
508 |
'parent' => $hq_key,
|
509 |
-
'title' => __( 'GitHub Repository Developer Center', '
|
510 |
'href' => 'https://github.com/inboundnow',
|
511 |
-
'meta' => array( 'title' => __( 'GitHub Repository Developer Center', '
|
512 |
);
|
513 |
|
514 |
/* 1.2 - Offical Blog */
|
515 |
$secondary_menu_items['inbound-sites-blog'] = array(
|
516 |
'parent' => $hq_key,
|
517 |
-
'title' => __( 'Official Blog', '
|
518 |
'href' => 'https://www.inboundnow.com/blog/',
|
519 |
-
'meta' => array( 'title' => __( 'Official Blog', '
|
520 |
);
|
521 |
|
522 |
/* 1.3 - My Account */
|
523 |
$secondary_menu_items['inboundsitesaccount'] = array(
|
524 |
'parent' => $hq_key,
|
525 |
-
'title' => __( 'My Account', '
|
526 |
'href' => 'https://www.inboundnow.com/marketplace/account/',
|
527 |
-
'meta' => array( 'title' => __( 'My Account', '
|
528 |
);
|
529 |
|
530 |
/* 1.3.1 - Purchase History */
|
531 |
$secondary_menu_items['inboundsitesaccount-history'] = array(
|
532 |
'parent' => 'inboundsitesaccount',
|
533 |
-
'title' => __( 'Purchase History', '
|
534 |
'href' => 'https://www.inboundnow.com/marketplace/account/purchase-history/',
|
535 |
-
'meta' => array( 'title' => __( 'Purchase History', '
|
536 |
);
|
537 |
|
538 |
return $secondary_menu_items;
|
@@ -545,7 +646,7 @@ if (!class_exists('Inbound_Menu')) {
|
|
545 |
/* 1 - Debug Tools */
|
546 |
$secondary_menu_items[ $debug_key ] = array(
|
547 |
'parent' => self::$inboundnow_menu_secondary_group_key,
|
548 |
-
'title' => __( '<span style="color:#fff;font-size: 13px;margin-top: -1px;display: inline-block;">Debug Tools</span>', '
|
549 |
'href' => "#",
|
550 |
'meta' => ""
|
551 |
);
|
@@ -571,17 +672,17 @@ if (!class_exists('Inbound_Menu')) {
|
|
571 |
/* 1.1 - Check for JS Errors */
|
572 |
$secondary_menu_items['inbound-debug-checkjs'] = array(
|
573 |
'parent' => $debug_key,
|
574 |
-
'title' => __( 'Check for Javascript Errors', '
|
575 |
'href' => $actual_link_two,
|
576 |
-
'meta' => array( 'title' => __( 'Click here to check javascript errors on this page', '
|
577 |
);
|
578 |
|
579 |
/* 1.2 - Check for JS Errors */
|
580 |
$secondary_menu_items['inbound-debug-turnoffscripts'] = array(
|
581 |
'parent' => $debug_key,
|
582 |
-
'title' => __( 'Remove Javascript Errors', '
|
583 |
'href' => $actual_link,
|
584 |
-
'meta' => array( 'title' => __( 'Click here to remove broken javascript to fix issues', '
|
585 |
);
|
586 |
|
587 |
return apply_filters('inbound_menu_debug' , $secondary_menu_items , $debug_key );
|
20 |
}
|
21 |
|
22 |
self::$add_menu = true;
|
23 |
+
self::$go_button = '<input type="submit" value="' . __( 'GO', 'inbound-pro' ) . '" class="inbound-search-go" /></form>';
|
24 |
self::$inboundnow_menu_key = 'inbound-admin-bar';
|
25 |
self::$inboundnow_menu_secondary_group_key = 'inbound-secondary';
|
26 |
self::hooks();
|
27 |
+
|
28 |
+
}
|
29 |
+
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Loads Hooks & Filters
|
33 |
+
*/
|
34 |
+
public static function hooks() {
|
35 |
+
|
36 |
+
/* load main hook */
|
37 |
add_action( 'admin_bar_menu', array( __CLASS__ , 'load_inboundnow_menu' ), 98);
|
38 |
+
|
39 |
+
/* add filters here */
|
40 |
+
add_filter('inboundnow_menu_primary' , array( __CLASS__ , 'load_callstoaction') , 10 );
|
41 |
+
add_filter('inboundnow_menu_primary' , array( __CLASS__ , 'load_landingpages') , 10 );
|
42 |
+
add_filter('inboundnow_menu_primary' , array( __CLASS__ , 'load_leads') , 10 );
|
43 |
+
add_filter('inboundnow_menu_primary' , array( __CLASS__ , 'load_mailer') , 10 );
|
44 |
+
add_filter('inboundnow_menu_primary' , array( __CLASS__ , 'load_automation') , 10 );
|
45 |
+
add_filter('inboundnow_menu_primary' , array( __CLASS__ , 'load_forms') , 10 );
|
46 |
+
add_filter('inboundnow_menu_primary' , array( __CLASS__ , 'load_manage_templates') , 10 );
|
47 |
+
add_filter('inboundnow_menu_primary' , array( __CLASS__ , 'load_settings') , 10 );
|
48 |
+
add_filter('inboundnow_menu_primary' , array( __CLASS__ , 'load_analytics') , 10 );
|
49 |
+
add_filter('inboundnow_menu_primary' , array( __CLASS__ , 'load_seo') , 10 );
|
50 |
+
|
51 |
+
|
52 |
+
add_filter('inboundnow_menu_secondary' , array( __CLASS__ , 'load_support') , 10 );
|
53 |
+
add_filter('inboundnow_menu_secondary' , array( __CLASS__ , 'load_inbound_hq') , 10 );
|
54 |
+
add_filter('inboundnow_menu_secondary' , array( __CLASS__ , 'load_debug') , 10 );
|
55 |
}
|
56 |
|
57 |
+
|
58 |
+
/**
|
59 |
+
* Loads the inbound now menu into the admin_bar_menu hook
|
60 |
+
*/
|
61 |
public static function load_inboundnow_menu() {
|
62 |
global $wp_admin_bar;
|
63 |
|
67 |
/* Add Parent Nav Menu - Inbound Marketing*/
|
68 |
$wp_admin_bar->add_menu( array(
|
69 |
'id' => self::$inboundnow_menu_key,
|
70 |
+
'title' => __( ' Marketing', 'inbound-pro' ),
|
71 |
'href' => "",
|
72 |
'meta' => array( 'class' => 'inbound-nav-marketing', 'title' => 'Inbound Marketing Admin' )
|
73 |
) );
|
129 |
|
130 |
}
|
131 |
|
132 |
+
/**
|
133 |
+
* Loads leads menu items
|
134 |
+
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
135 |
public static function load_leads( $menu_items ) {
|
136 |
/* Check if Leads Active */
|
137 |
+
if (!function_exists('wpleads_check_active')) {
|
138 |
return $menu_items;
|
139 |
}
|
140 |
|
145 |
/* 1 - Lead Parent */
|
146 |
$menu_items[ $leads_key ] = array(
|
147 |
'parent' => self::$inboundnow_menu_key,
|
148 |
+
'title' => __( 'Leads', 'inbound-pro' ),
|
149 |
'href' => admin_url( 'edit.php?post_type=wp-lead' ),
|
150 |
+
'meta' => array( 'target' => '', 'title' => _x( 'Manage Forms', 'inbound-pro' ) )
|
151 |
);
|
152 |
|
153 |
/* 1.1 - Leads search form */
|
154 |
+
$leads_search_text = __( 'Search All Leads' , 'inbound-pro' );
|
155 |
$menu_items['inbound-leads-search'] = array(
|
156 |
'parent' => $leads_key,
|
157 |
'title' => '<form id="inbound-menu-form" method="get" action="'.admin_url( 'edit.php?post_type=wp-lead' ).'" class=" " target="_blank">
|
158 |
+
<input id="search-inbound-menu" type="text" placeholder="' . $leads_search_text . '" onblur="this.value=(this.value==\'\') ? \'' . $leads_search_text . '\' : this.value;" onfocus="this.value=(this.value==\'' . $leads_search_text . '\') ? \'\' : this.value;" value="' . $leads_search_text . '" name="s" value="' . esc_attr( 'Search Leads', 'inbound-pro' ) . '" class="text inbound-search-input" />
|
159 |
<input type="hidden" name="post_type" value="wp-lead" />
|
160 |
<input type="hidden" name="post_status" value="all" />
|
161 |
' . self::$go_button ,
|
162 |
'href' => false,
|
163 |
+
'meta' => array( 'target' => '', 'title' => _x( 'Search Leads', 'Translators: For the tooltip', 'inbound-pro' ) )
|
164 |
);
|
165 |
|
166 |
/* 1.2 - View All Leads */
|
167 |
$menu_items['inbound-leads-view'] = array(
|
168 |
'parent' => $leads_key,
|
169 |
+
'title' => __( 'View All Leads', 'inbound-pro' ),
|
170 |
'href' => admin_url( 'edit.php?post_type=wp-lead' ),
|
171 |
+
'meta' => array( 'target' => '', 'title' => __( 'View All Forms', 'inbound-pro' ) )
|
172 |
);
|
173 |
|
174 |
/* 1.3 - View Lead Lists */
|
175 |
$menu_items['inbound-leads-list'] = array(
|
176 |
'parent' => $leads_key,
|
177 |
+
'title' => __( 'View Lead Lists', 'inbound-pro' ),
|
178 |
'href' => admin_url( 'edit-tags.php?taxonomy=wplead_list_category&post_type=wp-lead' ),
|
179 |
+
'meta' => array( 'target' => '', 'title' => __( 'View Lead Lists', 'inbound-pro' ) )
|
180 |
);
|
181 |
|
182 |
/* 1.4 - Create New Lead */
|
183 |
$menu_items['inbound-leads-add'] = array(
|
184 |
'parent' => $leads_key,
|
185 |
+
'title' => __( 'Create New Lead', 'inbound-pro' ),
|
186 |
'href' => admin_url( 'post-new.php?post_type=wp-lead' ),
|
187 |
+
'meta' => array( 'target' => '', 'title' => __( 'Add new lead', 'inbound-pro' ) )
|
188 |
);
|
189 |
|
190 |
return $menu_items;
|
191 |
}
|
192 |
|
193 |
+
/**
|
194 |
+
* Loads Calls To Action Menu Items
|
195 |
+
*/
|
196 |
public static function load_callstoaction( $menu_items ) {
|
197 |
+
|
198 |
/* Check if Calls To Action Active */
|
199 |
+
if (!function_exists('cta_check_active')) {
|
200 |
return $menu_items;
|
201 |
}
|
202 |
|
207 |
/* 1 - Calls to Action */
|
208 |
$menu_items[ $cta_key ] = array(
|
209 |
'parent' => self::$inboundnow_menu_key,
|
210 |
+
'title' => __( 'Call to Actions', 'inbound-pro' ),
|
211 |
'href' => admin_url( 'edit.php?post_type=wp-call-to-action' ),
|
212 |
+
'meta' => array( 'target' => '', 'title' => __( 'View All Landing Pages', 'inbound-pro' ) )
|
213 |
);
|
214 |
|
215 |
/* 1.1 - View Calls to Action */
|
216 |
$menu_items['inbound-cta-view'] = array(
|
217 |
'parent' => $cta_key,
|
218 |
+
'title' => __( 'View Calls to Action List', 'inbound-pro' ),
|
219 |
'href' => admin_url( 'post-new.php?post_type=wp-call-to-action' ),
|
220 |
+
'meta' => array( 'target' => '', 'title' => __( 'View All Landing Pages', 'inbound-pro' ) )
|
221 |
);
|
222 |
|
223 |
/* 1.2 - Add Calls to Action */
|
224 |
$menu_items['inbound-cta-add'] = array(
|
225 |
'parent' => $cta_key,
|
226 |
+
'title' => __( 'Add New Call to Action', 'inbound-pro' ),
|
227 |
'href' => admin_url( 'post-new.php?post_type=wp-call-to-action' ),
|
228 |
+
'meta' => array( 'target' => '', 'title' => __( 'Add new call to action', 'inbound-pro' ) )
|
229 |
);
|
230 |
|
231 |
/* 1.3 - Calls to Action Categories */
|
232 |
$menu_items['inbound-cta-categories'] = array(
|
233 |
'parent' => $cta_key,
|
234 |
+
'title' => __( 'Categories', 'inbound-pro' ),
|
235 |
'href' => admin_url( 'edit-tags.php?taxonomy=wp_call_to_action_category&post_type=wp-call-to-action' ),
|
236 |
+
'meta' => array( 'target' => '', 'title' => __( 'Landing Page Categories', 'inbound-pro' ) )
|
237 |
);
|
238 |
|
239 |
/* 1.4 - Settings */
|
240 |
if ( current_user_can( 'manage_options' )) {
|
241 |
$menu_items['inbound-cta-settings'] = array(
|
242 |
'parent' => $cta_key,
|
243 |
+
'title' => __( 'Settings', 'inbound-pro' ),
|
244 |
'href' => admin_url( 'edit.php?post_type=wp-call-to-action&page=wp_cta_global_settings' ),
|
245 |
+
'meta' => array( 'target' => '', 'title' => __( 'Manage Call to Action Settings', 'inbound-pro' ) )
|
246 |
);
|
247 |
}
|
248 |
|
249 |
return $menu_items;
|
250 |
}
|
251 |
|
252 |
+
/**
|
253 |
+
* Loads Landing Page Menu Items
|
254 |
+
*/
|
255 |
public static function load_landingpages( $menu_items )
|
256 |
{
|
257 |
/* Check if Landing Pages Active */
|
258 |
+
if (!function_exists('lp_check_active')) {
|
259 |
return $menu_items;
|
260 |
}
|
261 |
|
266 |
/* 1 - Landing Pages */
|
267 |
$menu_items[ $landing_pages_key ] = array(
|
268 |
'parent' => self::$inboundnow_menu_key,
|
269 |
+
'title' => __( 'Landing Pages', 'inbound-pro' ),
|
270 |
'href' => admin_url( 'edit.php?post_type=landing-page' ),
|
271 |
+
'meta' => array( 'target' => '', 'title' => __( 'View All Landing Pages', 'inbound-pro' ) )
|
272 |
);
|
273 |
|
274 |
/* 1.1 - View Landing Pages */
|
275 |
$menu_items['inbound-landingpages-view'] = array(
|
276 |
'parent' => $landing_pages_key,
|
277 |
+
'title' => __( 'View Landing Pages List', 'inbound-pro' ),
|
278 |
'href' => admin_url( 'edit.php?post_type=landing-page' ),
|
279 |
+
'meta' => array( 'target' => '', 'title' => __( 'View All Landing Pages', 'inbound-pro' ) )
|
280 |
);
|
281 |
|
282 |
/* 1.2 - Add New Landing Pages */
|
283 |
$menu_items['inbound-landingpages-add'] = array(
|
284 |
'parent' => $landing_pages_key,
|
285 |
+
'title' => __( 'Add New Landing Page', 'inbound-pro' ),
|
286 |
'href' => admin_url( 'post-new.php?post_type=landing-page' ),
|
287 |
+
'meta' => array( 'target' => '', 'title' => __( 'Add new Landing Page', 'inbound-pro' ) )
|
288 |
);
|
289 |
|
290 |
/* 1.3 - Landing Pages Categories */
|
291 |
$menu_items['inbound-landingpages-categories'] = array(
|
292 |
'parent' => $landing_pages_key,
|
293 |
+
'title' => __( 'Categories', 'inbound-pro' ),
|
294 |
'href' => admin_url( 'edit-tags.php?taxonomy=landing_page_category&post_type=landing-page' ),
|
295 |
+
'meta' => array( 'target' => '', 'title' => __( 'Landing Page Categories', 'inbound-pro' ) )
|
296 |
);
|
297 |
|
298 |
/* 1.4 - Landing Pages Settings */
|
299 |
if ( current_user_can( 'manage_options' )) {
|
300 |
$menu_items['inbound-landingpages-settings'] = array(
|
301 |
'parent' => $landing_pages_key,
|
302 |
+
'title' => __( 'Settings', 'inbound-pro' ),
|
303 |
'href' => admin_url( 'edit.php?post_type=landing-page&page=lp_global_settings' ),
|
304 |
+
'meta' => array( 'target' => '', 'title' => __( 'Manage Landing Page Settings', 'inbound-pro' ) )
|
305 |
);
|
306 |
}
|
307 |
|
308 |
|
309 |
return $menu_items;
|
310 |
}
|
311 |
+
|
312 |
+
/**
|
313 |
+
* Loads Email Menu Items
|
314 |
+
*/
|
315 |
+
public static function load_mailer( $menu_items )
|
316 |
+
{
|
317 |
+
/* Check if Landing Pages Active */
|
318 |
+
if (!function_exists('mailer_check_active')) {
|
319 |
+
return $menu_items;
|
320 |
+
}
|
321 |
+
|
322 |
+
$mailer_key = 'inbound-mailer';
|
323 |
+
|
324 |
+
/* 1 - Inbound Mailer Component */
|
325 |
+
$menu_items[ $mailer_key ] = array(
|
326 |
+
'parent' => self::$inboundnow_menu_key,
|
327 |
+
'title' => __( 'Email', 'inbound-pro' ),
|
328 |
+
'href' => admin_url( 'edit.php?post_type=inbound-email' ),
|
329 |
+
'meta' => array( 'target' => '', 'title' => __( 'View All E-Mails', 'inbound-pro' ) )
|
330 |
+
);
|
331 |
+
|
332 |
+
/* 1.1 - View Email */
|
333 |
+
$menu_items['inbound-mailer-view'] = array(
|
334 |
+
'parent' => $mailer_key,
|
335 |
+
'title' => __( 'View Email List', 'inbound-pro' ),
|
336 |
+
'href' => admin_url( 'edit.php?post_type=inbound-email' ),
|
337 |
+
'meta' => array( 'target' => '', 'title' => __( 'View All E-Mails', 'inbound-pro' ) )
|
338 |
+
);
|
339 |
+
|
340 |
+
/* 1.2 - Add New Email */
|
341 |
+
$menu_items['inbound-mailer-create'] = array(
|
342 |
+
'parent' => $mailer_key,
|
343 |
+
'title' => __( 'Create New eMail', 'inbound-pro' ),
|
344 |
+
'href' => admin_url( 'post-new.php?post_type=inbound-email' ),
|
345 |
+
'meta' => array( 'target' => '', 'title' => __( 'Create New E-Mail', 'inbound-pro' ) )
|
346 |
+
);
|
347 |
+
|
348 |
+
return $menu_items;
|
349 |
+
}
|
350 |
+
|
351 |
+
/**
|
352 |
+
* Loads Automation Menu Items
|
353 |
+
*/
|
354 |
+
public static function load_automation( $menu_items )
|
355 |
+
{
|
356 |
+
/* Check if Landing Pages Active */
|
357 |
+
if (!function_exists('inbound_automation_check_active')) {
|
358 |
+
return $menu_items;
|
359 |
+
}
|
360 |
+
|
361 |
+
$automation_key = 'inbound-automation';
|
362 |
+
|
363 |
+
/* 1 - Inbound Automation Component */
|
364 |
+
$menu_items[ $automation_key ] = array(
|
365 |
+
'parent' => self::$inboundnow_menu_key,
|
366 |
+
'title' => __( 'Automation', 'inbound-pro' ),
|
367 |
+
'href' => admin_url( 'edit.php?post_type=automation' ),
|
368 |
+
'meta' => array( 'target' => '', 'title' => __( 'View All Rules', 'inbound-pro' ) )
|
369 |
+
);
|
370 |
+
|
371 |
+
/* 1.1 - View Rules */
|
372 |
+
$menu_items['inbound-automation-view'] = array(
|
373 |
+
'parent' => $automation_key,
|
374 |
+
'title' => __( 'View Rules', 'inbound-pro' ),
|
375 |
+
'href' => admin_url( 'edit.php?post_type=automation' ),
|
376 |
+
'meta' => array( 'target' => '', 'title' => __( 'View All Rules', 'inbound-pro' ) )
|
377 |
+
);
|
378 |
+
|
379 |
+
/* 1.2 - Add New Rule */
|
380 |
+
$menu_items['inbound-automation-create'] = array(
|
381 |
+
'parent' => $automation_key,
|
382 |
+
'title' => __( 'Create New Rule', 'inbound-pro' ),
|
383 |
+
'href' => admin_url( 'post-new.php?post_type=automation' ),
|
384 |
+
'meta' => array( 'target' => '', 'title' => __( 'Create New Rule', 'inbound-pro' ) )
|
385 |
+
);
|
386 |
+
|
387 |
+
return $menu_items;
|
388 |
+
}
|
389 |
|
390 |
public static function load_forms( $menu_items )
|
391 |
{
|
399 |
/* 1 - Manage Forms */
|
400 |
$menu_items[ $forms_key ] = array(
|
401 |
'parent' => self::$inboundnow_menu_key,
|
402 |
+
'title' => __( 'Manage Forms', 'inbound-pro' ),
|
403 |
'href' => admin_url( 'edit.php?post_type=inbound-forms' ),
|
404 |
+
'meta' => array( 'target' => '', 'title' => _x( 'Manage Forms', 'inbound-pro' ) )
|
405 |
);
|
406 |
|
407 |
/* 1.1 - View All Forms */
|
408 |
$menu_items['inbound-forms-view'] = array(
|
409 |
'parent' => $forms_key,
|
410 |
+
'title' => __( 'View All Forms', 'inbound-pro' ),
|
411 |
'href' => admin_url( 'edit.php?post_type=inbound-forms' ),
|
412 |
+
'meta' => array( 'target' => '', 'title' => __( 'View All Forms', 'inbound-pro' ) )
|
413 |
);
|
414 |
|
415 |
/* 1.1.x Get Forms and List */
|
427 |
/* 1.2 - Create New Form */
|
428 |
$menu_items['inbound-forms-add'] = array(
|
429 |
'parent' => $forms_key,
|
430 |
+
'title' => __( 'Create New Form', 'inbound-pro' ),
|
431 |
'href' => admin_url( 'post-new.php?post_type=inbound-forms' ),
|
432 |
+
'meta' => array( 'target' => '', 'title' => __( 'Add new call to action', 'inbound-pro' ) )
|
433 |
);
|
434 |
|
435 |
return $menu_items;
|
446 |
/* 1 - Manage Templates */
|
447 |
$menu_items[ $templates_key ] = array(
|
448 |
'parent' => self::$inboundnow_menu_key,
|
449 |
+
'title' => __( 'Manage Templates', 'inbound-pro' ),
|
450 |
'href' => "",
|
451 |
+
'meta' => array( 'target' => '', 'title' => _x( 'Manage Templates', 'inbound-pro' ) )
|
452 |
);
|
453 |
|
454 |
/* 1.1 - Get More Templates */
|
455 |
$menu_items['inbound-gettemplates'] = array(
|
456 |
'parent' => $templates_key,
|
457 |
+
'title' => __( 'Download More Templates', 'inbound-pro' ),
|
458 |
'href' => "http://www.inboundnow.com/market",
|
459 |
+
'meta' => array( 'target' => '', 'title' => __( 'Download More Templates', 'inbound-pro' ) )
|
460 |
);
|
461 |
|
462 |
/* 1.1 - Landing Page Templates */
|
463 |
if (isset(self::$load_landingpages)) {
|
464 |
$menu_items['inbound-landingpagetemplates'] = array(
|
465 |
'parent' => $templates_key,
|
466 |
+
'title' => __( 'Landing Page Templates', 'inbound-pro' ),
|
467 |
'href' => admin_url( 'edit.php?post_type=landing-page&page=lp_manage_templates' ),
|
468 |
+
'meta' => array( 'target' => '', 'title' => __( 'Landing Page Templates', 'inbound-pro' ) )
|
469 |
);
|
470 |
}
|
471 |
|
473 |
if (isset(self::$load_callstoaction)) {
|
474 |
$menu_items['inbound-ctatemplates'] = array(
|
475 |
'parent' => $templates_key,
|
476 |
+
'title' => __( 'Call to Action Templates', 'inbound-pro' ),
|
477 |
'href' => admin_url( 'edit.php?post_type=wp-call-to-action&page=wp_cta_manage_templates' ),
|
478 |
+
'meta' => array( 'target' => '', 'title' => __( 'Call to Action Templates', 'inbound-pro' ) )
|
479 |
);
|
480 |
}
|
481 |
|
489 |
/* 1 - Global Settings */
|
490 |
$menu_items[ $settings_key ] = array(
|
491 |
'parent' => self::$inboundnow_menu_key,
|
492 |
+
'title' => __( 'Global Settings', 'inbound-pro' ),
|
493 |
'href' => "",
|
494 |
+
'meta' => array( 'target' => '', 'title' => _x( 'Manage Settings', 'inbound-pro' ) )
|
495 |
);
|
496 |
|
497 |
/* 1.1 - Call to Action Settings */
|
498 |
if (self::$load_callstoaction) {
|
499 |
$menu_items['inbound-ctasettings'] = array(
|
500 |
'parent' => $settings_key,
|
501 |
+
'title' => __( 'Call to Action Settings', 'inbound-pro' ),
|
502 |
'href' => admin_url( 'edit.php?post_type=wp-call-to-action&page=wp_cta_global_settings' ),
|
503 |
+
'meta' => array( 'target' => '', 'title' => __( 'Call to Action Settings', 'inbound-pro' ) )
|
504 |
);
|
505 |
}
|
506 |
|
507 |
if (self::$load_landingpages) {
|
508 |
$menu_items['inbound-landingpagesettings'] = array(
|
509 |
'parent' => $settings_key,
|
510 |
+
'title' => __( 'Landing Page Settings', 'inbound-pro' ),
|
511 |
'href' => admin_url( 'edit.php?post_type=landing-page&page=lp_global_settings' ),
|
512 |
+
'meta' => array( 'target' => '', 'title' => __( 'Landing Page Settings', 'inbound-pro' ) )
|
513 |
);
|
514 |
}
|
515 |
|
516 |
if (self::$load_leads) {
|
517 |
$menu_items['inbound-leadssettings'] = array(
|
518 |
'parent' => $settings_key,
|
519 |
+
'title' => __( 'Lead Settings', 'inbound-pro' ),
|
520 |
'href' => admin_url( 'edit.php?post_type=wp-lead&page=wpleads_global_settings' ),
|
521 |
+
'meta' => array( 'target' => '', 'title' => __( 'Lead Settings', 'inbound-pro' ) )
|
522 |
);
|
523 |
}
|
524 |
|
532 |
/* 1 - Analytics */
|
533 |
$menu_items[ $analytics_key ] = array(
|
534 |
'parent' => self::$inboundnow_menu_key,
|
535 |
+
'title' => __( 'Analytics (coming soon)', 'inbound-pro' ),
|
536 |
'href' => '#',
|
537 |
+
'meta' => array( 'target' => '', 'title' => __( 'Analytics (coming soon)', 'inbound-pro' ) )
|
538 |
);
|
539 |
|
540 |
return $menu_items;
|
547 |
if (function_exists( 'is_plugin_active' ) && is_plugin_active('wordpress-seo/wp-seo.php')) {
|
548 |
$menu_items[ $seo_key ] = array(
|
549 |
'parent' => self::$inboundnow_menu_key,
|
550 |
+
'title' => __( 'SEO by Yoast', 'inbound-pro' ),
|
551 |
'href' => admin_url( 'admin.php?page=wpseo_dashboard' ),
|
552 |
+
'meta' => array( 'target' => '', 'title' => __( 'Manage SEO Settings', 'inbound-pro' ) )
|
553 |
);
|
554 |
}
|
555 |
|
563 |
/* 1 - Support Form */
|
564 |
$secondary_menu_items[ $support_key ] = array(
|
565 |
'parent' => self::$inboundnow_menu_secondary_group_key,
|
566 |
+
'title' => __( 'Support Forum', 'inbound-pro' ),
|
567 |
'href' => 'https://www.inboundnow.com/support/',
|
568 |
+
'meta' => array( 'target' => '_blank' , 'title' => __( 'Support Forum', 'inbound-pro' ) )
|
569 |
);
|
570 |
|
571 |
/* 1 - Documentation */
|
572 |
$secondary_menu_items['inbound-docs'] = array(
|
573 |
'parent' => self::$inboundnow_menu_secondary_group_key,
|
574 |
+
'title' => __( 'Documentation', 'inbound-pro' ),
|
575 |
'href' => 'http://docs.inboundnow.com/',
|
576 |
+
'meta' => array( 'title' => __( 'Documentation', 'inbound-pro' ) )
|
577 |
);
|
578 |
|
579 |
/* 1 - Doc Search */
|
580 |
+
$search_docs_text = __( 'Search Docs', 'inbound-pro' );
|
581 |
|
582 |
$secondary_menu_items['inbound-docs-searchform'] = array(
|
583 |
'parent' => self::$inboundnow_menu_secondary_group_key,
|
584 |
'title' => '<form method="get" id="inbound-menu-form" action="http://www.inboundnow.com/support/search/?action=bbp-search-request" class=" " target="_blank">
|
585 |
+
<input id="search-inbound-menu" type="text" placeholder="' . $search_docs_text . '" onblur="this.value=(this.value==\'\') ? \'' . $search_docs_text . '\' : this.value;" onfocus="this.value=(this.value==\'' . $search_docs_text . '\') ? \'\' : this.value;" value="' . $search_docs_text . '" name="bbp_search" value="' . esc_attr( 'Search Docs', 'inbound-pro' ) . '" class="text inbound-search-input" />
|
586 |
<input type="hidden" name="post_type[]" value="docs" />
|
587 |
<input type="hidden" name="post_type[]" value="page" />' . self::$go_button,
|
588 |
'href' => false,
|
589 |
+
'meta' => array( 'target' => '', 'title' => _x( 'Search Docs', 'Translators: For the tooltip', 'inbound-pro' ) )
|
590 |
);
|
591 |
|
592 |
return $secondary_menu_items;
|
599 |
/* 1 - Inbound Now Plugin HQ */
|
600 |
$secondary_menu_items[ $hq_key ] = array(
|
601 |
'parent' => self::$inboundnow_menu_secondary_group_key,
|
602 |
+
'title' => __( 'Inbound Now Plugin HQ', 'inbound-pro' ),
|
603 |
'href' => 'https://www.inboundnow.com/',
|
604 |
+
'meta' => array( 'title' => __( 'Inbound Now Plugin HQ', 'inbound-pro' ) )
|
605 |
);
|
606 |
|
607 |
/* 1.1 - GitHub Link */
|
608 |
$secondary_menu_items['inbound-sites-dev'] = array(
|
609 |
'parent' => $hq_key,
|
610 |
+
'title' => __( 'GitHub Repository Developer Center', 'inbound-pro' ),
|
611 |
'href' => 'https://github.com/inboundnow',
|
612 |
+
'meta' => array( 'title' => __( 'GitHub Repository Developer Center', 'inbound-pro' ) )
|
613 |
);
|
614 |
|
615 |
/* 1.2 - Offical Blog */
|
616 |
$secondary_menu_items['inbound-sites-blog'] = array(
|
617 |
'parent' => $hq_key,
|
618 |
+
'title' => __( 'Official Blog', 'inbound-pro' ),
|
619 |
'href' => 'https://www.inboundnow.com/blog/',
|
620 |
+
'meta' => array( 'title' => __( 'Official Blog', 'inbound-pro' ) )
|
621 |
);
|
622 |
|
623 |
/* 1.3 - My Account */
|
624 |
$secondary_menu_items['inboundsitesaccount'] = array(
|
625 |
'parent' => $hq_key,
|
626 |
+
'title' => __( 'My Account', 'inbound-pro' ),
|
627 |
'href' => 'https://www.inboundnow.com/marketplace/account/',
|
628 |
+
'meta' => array( 'title' => __( 'My Account', 'inbound-pro' ) )
|
629 |
);
|
630 |
|
631 |
/* 1.3.1 - Purchase History */
|
632 |
$secondary_menu_items['inboundsitesaccount-history'] = array(
|
633 |
'parent' => 'inboundsitesaccount',
|
634 |
+
'title' => __( 'Purchase History', 'inbound-pro' ),
|
635 |
'href' => 'https://www.inboundnow.com/marketplace/account/purchase-history/',
|
636 |
+
'meta' => array( 'title' => __( 'Purchase History', 'inbound-pro' ) )
|
637 |
);
|
638 |
|
639 |
return $secondary_menu_items;
|
646 |
/* 1 - Debug Tools */
|
647 |
$secondary_menu_items[ $debug_key ] = array(
|
648 |
'parent' => self::$inboundnow_menu_secondary_group_key,
|
649 |
+
'title' => __( '<span style="color:#fff;font-size: 13px;margin-top: -1px;display: inline-block;">Debug Tools</span>', 'inbound-pro' ),
|
650 |
'href' => "#",
|
651 |
'meta' => ""
|
652 |
);
|
672 |
/* 1.1 - Check for JS Errors */
|
673 |
$secondary_menu_items['inbound-debug-checkjs'] = array(
|
674 |
'parent' => $debug_key,
|
675 |
+
'title' => __( 'Check for Javascript Errors', 'inbound-pro' ),
|
676 |
'href' => $actual_link_two,
|
677 |
+
'meta' => array( 'title' => __( 'Click here to check javascript errors on this page', 'inbound-pro' ) )
|
678 |
);
|
679 |
|
680 |
/* 1.2 - Check for JS Errors */
|
681 |
$secondary_menu_items['inbound-debug-turnoffscripts'] = array(
|
682 |
'parent' => $debug_key,
|
683 |
+
'title' => __( 'Remove Javascript Errors', 'inbound-pro' ),
|
684 |
'href' => $actual_link,
|
685 |
+
'meta' => array( 'title' => __( 'Click here to remove broken javascript to fix issues', 'inbound-pro' ) )
|
686 |
);
|
687 |
|
688 |
return apply_filters('inbound_menu_debug' , $secondary_menu_items , $debug_key );
|
shared/classes/class.menus.adminbar.php
ADDED
@@ -0,0 +1,710 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/* Inbound Now Menu Class */
|
3 |
+
|
4 |
+
if (!class_exists('Inbound_Menus_Adminbar')) {
|
5 |
+
class Inbound_Menus_Adminbar {
|
6 |
+
|
7 |
+
static $add_menu;
|
8 |
+
static $go_button;
|
9 |
+
static $inboundnow_menu_key;
|
10 |
+
static $inboundnow_menu_secondary_group_key;
|
11 |
+
static $load_forms;
|
12 |
+
static $load_landingpages;
|
13 |
+
static $load_callstoaction;
|
14 |
+
static $load_leads;
|
15 |
+
|
16 |
+
public static function init() {
|
17 |
+
// Exit if admin bar not there
|
18 |
+
if ( ! is_user_logged_in() || ! is_admin_bar_showing() || !current_user_can('activate_plugins') ) {
|
19 |
+
return;
|
20 |
+
}
|
21 |
+
|
22 |
+
self::$add_menu = true;
|
23 |
+
self::$go_button = '<input type="submit" value="' . __( 'GO', 'inbound-pro' ) . '" class="inbound-search-go" /></form>';
|
24 |
+
self::$inboundnow_menu_key = 'inbound-admin-bar';
|
25 |
+
self::$inboundnow_menu_secondary_group_key = 'inbound-secondary';
|
26 |
+
self::hooks();
|
27 |
+
|
28 |
+
}
|
29 |
+
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Loads Hooks & Filters
|
33 |
+
*/
|
34 |
+
public static function hooks() {
|
35 |
+
|
36 |
+
/* load main hook */
|
37 |
+
add_action( 'admin_bar_menu', array( __CLASS__ , 'load_inboundnow_menu' ), 98);
|
38 |
+
|
39 |
+
/* add filters here */
|
40 |
+
add_filter('inboundnow_menu_primary' , array( __CLASS__ , 'load_callstoaction') , 10 );
|
41 |
+
add_filter('inboundnow_menu_primary' , array( __CLASS__ , 'load_landingpages') , 10 );
|
42 |
+
add_filter('inboundnow_menu_primary' , array( __CLASS__ , 'load_leads') , 10 );
|
43 |
+
add_filter('inboundnow_menu_primary' , array( __CLASS__ , 'load_mailer') , 10 );
|
44 |
+
add_filter('inboundnow_menu_primary' , array( __CLASS__ , 'load_automation') , 10 );
|
45 |
+
add_filter('inboundnow_menu_primary' , array( __CLASS__ , 'load_forms') , 10 );
|
46 |
+
add_filter('inboundnow_menu_primary' , array( __CLASS__ , 'load_manage_templates') , 10 );
|
47 |
+
add_filter('inboundnow_menu_primary' , array( __CLASS__ , 'load_settings') , 10 );
|
48 |
+
add_filter('inboundnow_menu_primary' , array( __CLASS__ , 'load_analytics') , 10 );
|
49 |
+
add_filter('inboundnow_menu_primary' , array( __CLASS__ , 'load_seo') , 10 );
|
50 |
+
|
51 |
+
|
52 |
+
add_filter('inboundnow_menu_secondary' , array( __CLASS__ , 'load_support') , 10 );
|
53 |
+
add_filter('inboundnow_menu_secondary' , array( __CLASS__ , 'load_inbound_hq') , 10 );
|
54 |
+
add_filter('inboundnow_menu_secondary' , array( __CLASS__ , 'load_debug') , 10 );
|
55 |
+
|
56 |
+
/* Enqueue JS/CSS */
|
57 |
+
add_action('admin_enqueue_scripts' , array( __CLASS__ , 'enqueue_js_css' ) );
|
58 |
+
|
59 |
+
}
|
60 |
+
|
61 |
+
|
62 |
+
/**
|
63 |
+
* Loads the inbound now menu into the admin_bar_menu hook
|
64 |
+
*/
|
65 |
+
public static function load_inboundnow_menu() {
|
66 |
+
global $wp_admin_bar;
|
67 |
+
|
68 |
+
$primary_menu_items = apply_filters( 'inboundnow_menu_primary' , array() );
|
69 |
+
$secondary_menu_items = apply_filters( 'inboundnow_menu_secondary' , array() );
|
70 |
+
|
71 |
+
/* Add Parent Nav Menu - Inbound Marketing*/
|
72 |
+
$wp_admin_bar->add_menu( array(
|
73 |
+
'id' => self::$inboundnow_menu_key,
|
74 |
+
'title' => __( ' Marketing', 'inbound-pro' ),
|
75 |
+
'href' => "",
|
76 |
+
'meta' => array( 'class' => 'inbound-nav-marketing', 'title' => 'Inbound Marketing Admin' )
|
77 |
+
) );
|
78 |
+
|
79 |
+
//print_r($primary_menu_items);exit;
|
80 |
+
|
81 |
+
/** Add Primary Menu Items */
|
82 |
+
foreach ( $primary_menu_items as $id => $menu_item ) {
|
83 |
+
/** Add in the item ID */
|
84 |
+
$menu_item['id'] = $id;
|
85 |
+
|
86 |
+
/** Add meta target to each item where it's not already set, so links open in new window/tab */
|
87 |
+
if ( ! isset( $menu_item['meta']['target'] ) ) {
|
88 |
+
$menu_item['meta']['target'] = '_blank';
|
89 |
+
}
|
90 |
+
|
91 |
+
/** Add class to links that open up in a new window/tab */
|
92 |
+
if ( '_blank' === $menu_item['meta']['target'] ) {
|
93 |
+
|
94 |
+
if ( ! isset( $menu_item['meta']['class'] ) ) {
|
95 |
+
$menu_item['meta']['class'] = '';
|
96 |
+
}
|
97 |
+
|
98 |
+
$menu_item['meta']['class'] .= 'inbound-new-tab';
|
99 |
+
}
|
100 |
+
|
101 |
+
/** Add menu items */
|
102 |
+
$wp_admin_bar->add_node( $menu_item );
|
103 |
+
}
|
104 |
+
|
105 |
+
//var_dump($wp_admin_bar);exit;
|
106 |
+
|
107 |
+
/* Add Secondary Menu Item Group */
|
108 |
+
$wp_admin_bar->add_group( array(
|
109 |
+
'parent' => self::$inboundnow_menu_key,
|
110 |
+
'id' => self::$inboundnow_menu_secondary_group_key,
|
111 |
+
'meta' => array( 'class' => 'ab-sub-secondary' )
|
112 |
+
) );
|
113 |
+
|
114 |
+
foreach ( $secondary_menu_items as $id => $menu_item )
|
115 |
+
{
|
116 |
+
$menu_item['id'] = $id;
|
117 |
+
|
118 |
+
if ( ! isset( $menu_item['meta']['target'] ) ) {
|
119 |
+
$menu_item['meta']['target'] = '_blank';
|
120 |
+
}
|
121 |
+
|
122 |
+
if ( '_blank' === $menu_item['meta']['target'] )
|
123 |
+
{
|
124 |
+
if ( ! isset( $menu_item['meta']['class'] ) ) {
|
125 |
+
$menu_item['meta']['class'] = '';
|
126 |
+
}
|
127 |
+
|
128 |
+
$menu_item['meta']['class'] .= ' inbound-new-tab';
|
129 |
+
}
|
130 |
+
|
131 |
+
$wp_admin_bar->add_node( $menu_item );
|
132 |
+
}
|
133 |
+
|
134 |
+
}
|
135 |
+
|
136 |
+
/**
|
137 |
+
* Loads leads menu items
|
138 |
+
*/
|
139 |
+
public static function load_leads( $menu_items ) {
|
140 |
+
/* Check if Leads Active */
|
141 |
+
if (!function_exists('wpleads_check_active')) {
|
142 |
+
return $menu_items;
|
143 |
+
}
|
144 |
+
|
145 |
+
$leads_key = 'inbound-leads';
|
146 |
+
self::$load_forms = true;
|
147 |
+
self::$load_leads = true;
|
148 |
+
|
149 |
+
/* 1 - Lead Parent */
|
150 |
+
$menu_items[ $leads_key ] = array(
|
151 |
+
'parent' => self::$inboundnow_menu_key,
|
152 |
+
'title' => __( 'Leads', 'inbound-pro' ),
|
153 |
+
'href' => admin_url( 'edit.php?post_type=wp-lead' ),
|
154 |
+
'meta' => array( 'target' => '', 'title' => _x( 'Manage Forms', 'inbound-pro' ) )
|
155 |
+
);
|
156 |
+
|
157 |
+
/* 1.1 - Leads search form */
|
158 |
+
$leads_search_text = __( 'Search All Leads' , 'inbound-pro' );
|
159 |
+
$menu_items['inbound-leads-search'] = array(
|
160 |
+
'parent' => $leads_key,
|
161 |
+
'title' => '<form id="inbound-menu-form" method="get" action="'.admin_url( 'edit.php?post_type=wp-lead' ).'" class=" " target="_blank">
|
162 |
+
<input id="search-inbound-menu" type="text" placeholder="' . $leads_search_text . '" onblur="this.value=(this.value==\'\') ? \'' . $leads_search_text . '\' : this.value;" onfocus="this.value=(this.value==\'' . $leads_search_text . '\') ? \'\' : this.value;" value="' . $leads_search_text . '" name="s" value="' . esc_attr( 'Search Leads', 'inbound-pro' ) . '" class="text inbound-search-input" />
|
163 |
+
<input type="hidden" name="post_type" value="wp-lead" />
|
164 |
+
<input type="hidden" name="post_status" value="all" />
|
165 |
+
' . self::$go_button ,
|
166 |
+
'href' => false,
|
167 |
+
'meta' => array( 'target' => '', 'title' => _x( 'Search Leads', 'Translators: For the tooltip', 'inbound-pro' ) )
|
168 |
+
);
|
169 |
+
|
170 |
+
/* 1.2 - View All Leads */
|
171 |
+
$menu_items['inbound-leads-view'] = array(
|
172 |
+
'parent' => $leads_key,
|
173 |
+
'title' => __( 'View All Leads', 'inbound-pro' ),
|
174 |
+
'href' => admin_url( 'edit.php?post_type=wp-lead' ),
|
175 |
+
'meta' => array( 'target' => '', 'title' => __( 'View All Forms', 'inbound-pro' ) )
|
176 |
+
);
|
177 |
+
|
178 |
+
/* 1.3 - View Lead Lists */
|
179 |
+
$menu_items['inbound-leads-list'] = array(
|
180 |
+
'parent' => $leads_key,
|
181 |
+
'title' => __( 'View Lead Lists', 'inbound-pro' ),
|
182 |
+
'href' => admin_url( 'edit-tags.php?taxonomy=wplead_list_category&post_type=wp-lead' ),
|
183 |
+
'meta' => array( 'target' => '', 'title' => __( 'View Lead Lists', 'inbound-pro' ) )
|
184 |
+
);
|
185 |
+
|
186 |
+
/* 1.4 - Create New Lead */
|
187 |
+
$menu_items['inbound-leads-add'] = array(
|
188 |
+
'parent' => $leads_key,
|
189 |
+
'title' => __( 'Create New Lead', 'inbound-pro' ),
|
190 |
+
'href' => admin_url( 'post-new.php?post_type=wp-lead' ),
|
191 |
+
'meta' => array( 'target' => '', 'title' => __( 'Add new lead', 'inbound-pro' ) )
|
192 |
+
);
|
193 |
+
|
194 |
+
return $menu_items;
|
195 |
+
}
|
196 |
+
|
197 |
+
/**
|
198 |
+
* Loads Calls To Action Menu Items
|
199 |
+
*/
|
200 |
+
public static function load_callstoaction( $menu_items ) {
|
201 |
+
|
202 |
+
/* Check if Calls To Action Active */
|
203 |
+
if (!function_exists('cta_check_active')) {
|
204 |
+
return $menu_items;
|
205 |
+
}
|
206 |
+
|
207 |
+
$cta_key = 'inbound-cta';
|
208 |
+
self::$load_forms = true;
|
209 |
+
self::$load_callstoaction = true;
|
210 |
+
|
211 |
+
/* 1 - Calls to Action */
|
212 |
+
$menu_items[ $cta_key ] = array(
|
213 |
+
'parent' => self::$inboundnow_menu_key,
|
214 |
+
'title' => __( 'Call to Actions', 'inbound-pro' ),
|
215 |
+
'href' => admin_url( 'edit.php?post_type=wp-call-to-action' ),
|
216 |
+
'meta' => array( 'target' => '', 'title' => __( 'View All Landing Pages', 'inbound-pro' ) )
|
217 |
+
);
|
218 |
+
|
219 |
+
/* 1.1 - View Calls to Action */
|
220 |
+
$menu_items['inbound-cta-view'] = array(
|
221 |
+
'parent' => $cta_key,
|
222 |
+
'title' => __( 'View Calls to Action List', 'inbound-pro' ),
|
223 |
+
'href' => admin_url( 'post-new.php?post_type=wp-call-to-action' ),
|
224 |
+
'meta' => array( 'target' => '', 'title' => __( 'View All Landing Pages', 'inbound-pro' ) )
|
225 |
+
);
|
226 |
+
|
227 |
+
/* 1.2 - Add Calls to Action */
|
228 |
+
$menu_items['inbound-cta-add'] = array(
|
229 |
+
'parent' => $cta_key,
|
230 |
+
'title' => __( 'Add New Call to Action', 'inbound-pro' ),
|
231 |
+
'href' => admin_url( 'post-new.php?post_type=wp-call-to-action' ),
|
232 |
+
'meta' => array( 'target' => '', 'title' => __( 'Add new call to action', 'inbound-pro' ) )
|
233 |
+
);
|
234 |
+
|
235 |
+
/* 1.3 - Calls to Action Categories */
|
236 |
+
$menu_items['inbound-cta-categories'] = array(
|
237 |
+
'parent' => $cta_key,
|
238 |
+
'title' => __( 'Categories', 'inbound-pro' ),
|
239 |
+
'href' => admin_url( 'edit-tags.php?taxonomy=wp_call_to_action_category&post_type=wp-call-to-action' ),
|
240 |
+
'meta' => array( 'target' => '', 'title' => __( 'Landing Page Categories', 'inbound-pro' ) )
|
241 |
+
);
|
242 |
+
|
243 |
+
/* 1.4 - Settings */
|
244 |
+
if ( current_user_can( 'manage_options' )) {
|
245 |
+
$menu_items['inbound-cta-settings'] = array(
|
246 |
+
'parent' => $cta_key,
|
247 |
+
'title' => __( 'Settings', 'inbound-pro' ),
|
248 |
+
'href' => admin_url( 'edit.php?post_type=wp-call-to-action&page=wp_cta_global_settings' ),
|
249 |
+
'meta' => array( 'target' => '', 'title' => __( 'Manage Call to Action Settings', 'inbound-pro' ) )
|
250 |
+
);
|
251 |
+
}
|
252 |
+
|
253 |
+
return $menu_items;
|
254 |
+
}
|
255 |
+
|
256 |
+
/**
|
257 |
+
* Loads Landing Page Menu Items
|
258 |
+
*/
|
259 |
+
public static function load_landingpages( $menu_items )
|
260 |
+
{
|
261 |
+
/* Check if Landing Pages Active */
|
262 |
+
if (!function_exists('lp_check_active')) {
|
263 |
+
return $menu_items;
|
264 |
+
}
|
265 |
+
|
266 |
+
$landing_pages_key = 'inbound-landingpages';
|
267 |
+
self::$load_forms = true;
|
268 |
+
self::$load_landingpages = true;
|
269 |
+
|
270 |
+
/* 1 - Landing Pages */
|
271 |
+
$menu_items[ $landing_pages_key ] = array(
|
272 |
+
'parent' => self::$inboundnow_menu_key,
|
273 |
+
'title' => __( 'Landing Pages', 'inbound-pro' ),
|
274 |
+
'href' => admin_url( 'edit.php?post_type=landing-page' ),
|
275 |
+
'meta' => array( 'target' => '', 'title' => __( 'View All Landing Pages', 'inbound-pro' ) )
|
276 |
+
);
|
277 |
+
|
278 |
+
/* 1.1 - View Landing Pages */
|
279 |
+
$menu_items['inbound-landingpages-view'] = array(
|
280 |
+
'parent' => $landing_pages_key,
|
281 |
+
'title' => __( 'View Landing Pages List', 'inbound-pro' ),
|
282 |
+
'href' => admin_url( 'edit.php?post_type=landing-page' ),
|
283 |
+
'meta' => array( 'target' => '', 'title' => __( 'View All Landing Pages', 'inbound-pro' ) )
|
284 |
+
);
|
285 |
+
|
286 |
+
/* 1.2 - Add New Landing Pages */
|
287 |
+
$menu_items['inbound-landingpages-add'] = array(
|
288 |
+
'parent' => $landing_pages_key,
|
289 |
+
'title' => __( 'Add New Landing Page', 'inbound-pro' ),
|
290 |
+
'href' => admin_url( 'post-new.php?post_type=landing-page' ),
|
291 |
+
'meta' => array( 'target' => '', 'title' => __( 'Add new Landing Page', 'inbound-pro' ) )
|
292 |
+
);
|
293 |
+
|
294 |
+
/* 1.3 - Landing Pages Categories */
|
295 |
+
$menu_items['inbound-landingpages-categories'] = array(
|
296 |
+
'parent' => $landing_pages_key,
|
297 |
+
'title' => __( 'Categories', 'inbound-pro' ),
|
298 |
+
'href' => admin_url( 'edit-tags.php?taxonomy=landing_page_category&post_type=landing-page' ),
|
299 |
+
'meta' => array( 'target' => '', 'title' => __( 'Landing Page Categories', 'inbound-pro' ) )
|
300 |
+
);
|
301 |
+
|
302 |
+
/* 1.4 - Landing Pages Settings */
|
303 |
+
if ( current_user_can( 'manage_options' )) {
|
304 |
+
$menu_items['inbound-landingpages-settings'] = array(
|
305 |
+
'parent' => $landing_pages_key,
|
306 |
+
'title' => __( 'Settings', 'inbound-pro' ),
|
307 |
+
'href' => admin_url( 'edit.php?post_type=landing-page&page=lp_global_settings' ),
|
308 |
+
'meta' => array( 'target' => '', 'title' => __( 'Manage Landing Page Settings', 'inbound-pro' ) )
|
309 |
+
);
|
310 |
+
}
|
311 |
+
|
312 |
+
|
313 |
+
return $menu_items;
|
314 |
+
}
|
315 |
+
|
316 |
+
/**
|
317 |
+
* Loads Email Menu Items
|
318 |
+
*/
|
319 |
+
public static function load_mailer( $menu_items )
|
320 |
+
{
|
321 |
+
/* Check if Landing Pages Active */
|
322 |
+
if (!function_exists('mailer_check_active')) {
|
323 |
+
return $menu_items;
|
324 |
+
}
|
325 |
+
|
326 |
+
$mailer_key = 'inbound-mailer';
|
327 |
+
|
328 |
+
/* 1 - Inbound Mailer Component */
|
329 |
+
$menu_items[ $mailer_key ] = array(
|
330 |
+
'parent' => self::$inboundnow_menu_key,
|
331 |
+
'title' => __( 'Email', 'inbound-pro' ),
|
332 |
+
'href' => admin_url( 'edit.php?post_type=inbound-email' ),
|
333 |
+
'meta' => array( 'target' => '', 'title' => __( 'View All E-Mails', 'inbound-pro' ) )
|
334 |
+
);
|
335 |
+
|
336 |
+
/* 1.1 - View Email */
|
337 |
+
$menu_items['inbound-mailer-view'] = array(
|
338 |
+
'parent' => $mailer_key,
|
339 |
+
'title' => __( 'View Email List', 'inbound-pro' ),
|
340 |
+
'href' => admin_url( 'edit.php?post_type=inbound-email' ),
|
341 |
+
'meta' => array( 'target' => '', 'title' => __( 'View All E-Mails', 'inbound-pro' ) )
|
342 |
+
);
|
343 |
+
|
344 |
+
/* 1.2 - Add New Email */
|
345 |
+
$menu_items['inbound-mailer-create'] = array(
|
346 |
+
'parent' => $mailer_key,
|
347 |
+
'title' => __( 'Create New eMail', 'inbound-pro' ),
|
348 |
+
'href' => admin_url( 'post-new.php?post_type=inbound-email' ),
|
349 |
+
'meta' => array( 'target' => '', 'title' => __( 'Create New E-Mail', 'inbound-pro' ) )
|
350 |
+
);
|
351 |
+
|
352 |
+
return $menu_items;
|
353 |
+
}
|
354 |
+
|
355 |
+
/**
|
356 |
+
* Loads Automation Menu Items
|
357 |
+
*/
|
358 |
+
public static function load_automation( $menu_items )
|
359 |
+
{
|
360 |
+
/* Check if Landing Pages Active */
|
361 |
+
if (!function_exists('inbound_automation_check_active')) {
|
362 |
+
return $menu_items;
|
363 |
+
}
|
364 |
+
|
365 |
+
$automation_key = 'inbound-automation';
|
366 |
+
|
367 |
+
/* 1 - Inbound Automation Component */
|
368 |
+
$menu_items[ $automation_key ] = array(
|
369 |
+
'parent' => self::$inboundnow_menu_key,
|
370 |
+
'title' => __( 'Automation', 'inbound-pro' ),
|
371 |
+
'href' => admin_url( 'edit.php?post_type=automation' ),
|
372 |
+
'meta' => array( 'target' => '', 'title' => __( 'View All Rules', 'inbound-pro' ) )
|
373 |
+
);
|
374 |
+
|
375 |
+
/* 1.1 - View Rules */
|
376 |
+
$menu_items['inbound-automation-view'] = array(
|
377 |
+
'parent' => $automation_key,
|
378 |
+
'title' => __( 'View Rules', 'inbound-pro' ),
|
379 |
+
'href' => admin_url( 'edit.php?post_type=automation' ),
|
380 |
+
'meta' => array( 'target' => '', 'title' => __( 'View All Rules', 'inbound-pro' ) )
|
381 |
+
);
|
382 |
+
|
383 |
+
/* 1.2 - Add New Rule */
|
384 |
+
$menu_items['inbound-automation-create'] = array(
|
385 |
+
'parent' => $automation_key,
|
386 |
+
'title' => __( 'Create New Rule', 'inbound-pro' ),
|
387 |
+
'href' => admin_url( 'post-new.php?post_type=automation' ),
|
388 |
+
'meta' => array( 'target' => '', 'title' => __( 'Create New Rule', 'inbound-pro' ) )
|
389 |
+
);
|
390 |
+
|
391 |
+
return $menu_items;
|
392 |
+
}
|
393 |
+
|
394 |
+
public static function load_forms( $menu_items )
|
395 |
+
{
|
396 |
+
/* Check if Leads Active */
|
397 |
+
if (!self::$load_forms) {
|
398 |
+
return $menu_items;
|
399 |
+
}
|
400 |
+
|
401 |
+
$forms_key = 'inbound-forms';
|
402 |
+
|
403 |
+
/* 1 - Manage Forms */
|
404 |
+
$menu_items[ $forms_key ] = array(
|
405 |
+
'parent' => self::$inboundnow_menu_key,
|
406 |
+
'title' => __( 'Manage Forms', 'inbound-pro' ),
|
407 |
+
'href' => admin_url( 'edit.php?post_type=inbound-forms' ),
|
408 |
+
'meta' => array( 'target' => '', 'title' => _x( 'Manage Forms', 'inbound-pro' ) )
|
409 |
+
);
|
410 |
+
|
411 |
+
/* 1.1 - View All Forms */
|
412 |
+
$menu_items['inbound-forms-view'] = array(
|
413 |
+
'parent' => $forms_key,
|
414 |
+
'title' => __( 'View All Forms', 'inbound-pro' ),
|
415 |
+
'href' => admin_url( 'edit.php?post_type=inbound-forms' ),
|
416 |
+
'meta' => array( 'target' => '', 'title' => __( 'View All Forms', 'inbound-pro' ) )
|
417 |
+
);
|
418 |
+
|
419 |
+
/* 1.1.x Get Forms and List */
|
420 |
+
$forms = get_posts(array('post_type'=>'inbound-forms','post_status'=>'published'));
|
421 |
+
foreach ($forms as $form)
|
422 |
+
{
|
423 |
+
$menu_items['inbound-form-'.$form->ID] = array(
|
424 |
+
'parent' => 'inbound-forms-view',
|
425 |
+
'title' => $form->post_title,
|
426 |
+
'href' => admin_url( 'post.php?post='.$form->ID.'&action=edit' ),
|
427 |
+
'meta' => array( 'target' => '_blank', 'title' => $form->post_title )
|
428 |
+
);
|
429 |
+
}
|
430 |
+
|
431 |
+
/* 1.2 - Create New Form */
|
432 |
+
$menu_items['inbound-forms-add'] = array(
|
433 |
+
'parent' => $forms_key,
|
434 |
+
'title' => __( 'Create New Form', 'inbound-pro' ),
|
435 |
+
'href' => admin_url( 'post-new.php?post_type=inbound-forms' ),
|
436 |
+
'meta' => array( 'target' => '', 'title' => __( 'Add new call to action', 'inbound-pro' ) )
|
437 |
+
);
|
438 |
+
|
439 |
+
return $menu_items;
|
440 |
+
}
|
441 |
+
|
442 |
+
public static function load_manage_templates( $menu_items )
|
443 |
+
{
|
444 |
+
if ( !isset(self::$load_landingpages) || !isset(self::$load_callstoaction) ) {
|
445 |
+
return $menu_items;
|
446 |
+
}
|
447 |
+
|
448 |
+
$templates_key = 'inbound-templates';
|
449 |
+
|
450 |
+
/* 1 - Manage Templates */
|
451 |
+
$menu_items[ $templates_key ] = array(
|
452 |
+
'parent' => self::$inboundnow_menu_key,
|
453 |
+
'title' => __( 'Manage Templates', 'inbound-pro' ),
|
454 |
+
'href' => "",
|
455 |
+
'meta' => array( 'target' => '', 'title' => _x( 'Manage Templates', 'inbound-pro' ) )
|
456 |
+
);
|
457 |
+
|
458 |
+
/* 1.1 - Get More Templates */
|
459 |
+
$menu_items['inbound-gettemplates'] = array(
|
460 |
+
'parent' => $templates_key,
|
461 |
+
'title' => __( 'Download More Templates', 'inbound-pro' ),
|
462 |
+
'href' => "http://www.inboundnow.com/market",
|
463 |
+
'meta' => array( 'target' => '', 'title' => __( 'Download More Templates', 'inbound-pro' ) )
|
464 |
+
);
|
465 |
+
|
466 |
+
/* 1.1 - Landing Page Templates */
|
467 |
+
if (isset(self::$load_landingpages)) {
|
468 |
+
$menu_items['inbound-landingpagetemplates'] = array(
|
469 |
+
'parent' => $templates_key,
|
470 |
+
'title' => __( 'Landing Page Templates', 'inbound-pro' ),
|
471 |
+
'href' => admin_url( 'edit.php?post_type=landing-page&page=lp_manage_templates' ),
|
472 |
+
'meta' => array( 'target' => '', 'title' => __( 'Landing Page Templates', 'inbound-pro' ) )
|
473 |
+
);
|
474 |
+
}
|
475 |
+
|
476 |
+
/* 1.1 - Call To Action Templates */
|
477 |
+
if (isset(self::$load_callstoaction)) {
|
478 |
+
$menu_items['inbound-ctatemplates'] = array(
|
479 |
+
'parent' => $templates_key,
|
480 |
+
'title' => __( 'Call to Action Templates', 'inbound-pro' ),
|
481 |
+
'href' => admin_url( 'edit.php?post_type=wp-call-to-action&page=wp_cta_manage_templates' ),
|
482 |
+
'meta' => array( 'target' => '', 'title' => __( 'Call to Action Templates', 'inbound-pro' ) )
|
483 |
+
);
|
484 |
+
}
|
485 |
+
|
486 |
+
return $menu_items;
|
487 |
+
}
|
488 |
+
|
489 |
+
public static function load_settings( $menu_items )
|
490 |
+
{
|
491 |
+
$settings_key = 'inbound-settings';
|
492 |
+
|
493 |
+
/* 1 - Global Settings */
|
494 |
+
$menu_items[ $settings_key ] = array(
|
495 |
+
'parent' => self::$inboundnow_menu_key,
|
496 |
+
'title' => __( 'Global Settings', 'inbound-pro' ),
|
497 |
+
'href' => "",
|
498 |
+
'meta' => array( 'target' => '', 'title' => _x( 'Manage Settings', 'inbound-pro' ) )
|
499 |
+
);
|
500 |
+
|
501 |
+
/* 1.1 - Call to Action Settings */
|
502 |
+
if (self::$load_callstoaction) {
|
503 |
+
$menu_items['inbound-ctasettings'] = array(
|
504 |
+
'parent' => $settings_key,
|
505 |
+
'title' => __( 'Call to Action Settings', 'inbound-pro' ),
|
506 |
+
'href' => admin_url( 'edit.php?post_type=wp-call-to-action&page=wp_cta_global_settings' ),
|
507 |
+
'meta' => array( 'target' => '', 'title' => __( 'Call to Action Settings', 'inbound-pro' ) )
|
508 |
+
);
|
509 |
+
}
|
510 |
+
|
511 |
+
if (self::$load_landingpages) {
|
512 |
+
$menu_items['inbound-landingpagesettings'] = array(
|
513 |
+
'parent' => $settings_key,
|
514 |
+
'title' => __( 'Landing Page Settings', 'inbound-pro' ),
|
515 |
+
'href' => admin_url( 'edit.php?post_type=landing-page&page=lp_global_settings' ),
|
516 |
+
'meta' => array( 'target' => '', 'title' => __( 'Landing Page Settings', 'inbound-pro' ) )
|
517 |
+
);
|
518 |
+
}
|
519 |
+
|
520 |
+
if (self::$load_leads) {
|
521 |
+
$menu_items['inbound-leadssettings'] = array(
|
522 |
+
'parent' => $settings_key,
|
523 |
+
'title' => __( 'Lead Settings', 'inbound-pro' ),
|
524 |
+
'href' => admin_url( 'edit.php?post_type=wp-lead&page=wpleads_global_settings' ),
|
525 |
+
'meta' => array( 'target' => '', 'title' => __( 'Lead Settings', 'inbound-pro' ) )
|
526 |
+
);
|
527 |
+
}
|
528 |
+
|
529 |
+
return $menu_items;
|
530 |
+
}
|
531 |
+
|
532 |
+
public static function load_analytics( $menu_items )
|
533 |
+
{
|
534 |
+
$analytics_key = 'inbound-analytics';
|
535 |
+
|
536 |
+
/* 1 - Analytics */
|
537 |
+
$menu_items[ $analytics_key ] = array(
|
538 |
+
'parent' => self::$inboundnow_menu_key,
|
539 |
+
'title' => __( 'Analytics (coming soon)', 'inbound-pro' ),
|
540 |
+
'href' => '#',
|
541 |
+
'meta' => array( 'target' => '', 'title' => __( 'Analytics (coming soon)', 'inbound-pro' ) )
|
542 |
+
);
|
543 |
+
|
544 |
+
return $menu_items;
|
545 |
+
}
|
546 |
+
|
547 |
+
public static function load_seo( $menu_items )
|
548 |
+
{
|
549 |
+
$seo_key = 'inbound-seo';
|
550 |
+
|
551 |
+
if (function_exists( 'is_plugin_active' ) && is_plugin_active('wordpress-seo/wp-seo.php')) {
|
552 |
+
$menu_items[ $seo_key ] = array(
|
553 |
+
'parent' => self::$inboundnow_menu_key,
|
554 |
+
'title' => __( 'SEO by Yoast', 'inbound-pro' ),
|
555 |
+
'href' => admin_url( 'admin.php?page=wpseo_dashboard' ),
|
556 |
+
'meta' => array( 'target' => '', 'title' => __( 'Manage SEO Settings', 'inbound-pro' ) )
|
557 |
+
);
|
558 |
+
}
|
559 |
+
|
560 |
+
return $menu_items;
|
561 |
+
}
|
562 |
+
|
563 |
+
public static function load_support( $secondary_menu_items )
|
564 |
+
{
|
565 |
+
$support_key = 'inbound-support';
|
566 |
+
|
567 |
+
/* 1 - Support Form */
|
568 |
+
$secondary_menu_items[ $support_key ] = array(
|
569 |
+
'parent' => self::$inboundnow_menu_secondary_group_key,
|
570 |
+
'title' => __( 'Support Forum', 'inbound-pro' ),
|
571 |
+
'href' => 'https://support.inboundnow.com/',
|
572 |
+
'meta' => array( 'target' => '_blank' , 'title' => __( 'Support Forum', 'inbound-pro' ) )
|
573 |
+
);
|
574 |
+
|
575 |
+
/* 1 - Documentation */
|
576 |
+
$secondary_menu_items['inbound-docs'] = array(
|
577 |
+
'parent' => self::$inboundnow_menu_secondary_group_key,
|
578 |
+
'title' => __( 'Documentation', 'inbound-pro' ),
|
579 |
+
'href' => 'http://docs.inboundnow.com/',
|
580 |
+
'meta' => array( 'title' => __( 'Documentation', 'inbound-pro' ) )
|
581 |
+
);
|
582 |
+
|
583 |
+
/* 1 - Doc Search */
|
584 |
+
$search_docs_text = __( 'Search Docs', 'inbound-pro' );
|
585 |
+
|
586 |
+
$secondary_menu_items['inbound-docs-searchform'] = array(
|
587 |
+
'parent' => self::$inboundnow_menu_secondary_group_key,
|
588 |
+
'title' => '<form method="get" id="inbound-menu-form" action="http://www.inboundnow.com/support/search/?action=bbp-search-request" class=" " target="_blank">
|
589 |
+
<input id="search-inbound-menu" type="text" placeholder="' . $search_docs_text . '" onblur="this.value=(this.value==\'\') ? \'' . $search_docs_text . '\' : this.value;" onfocus="this.value=(this.value==\'' . $search_docs_text . '\') ? \'\' : this.value;" value="' . $search_docs_text . '" name="bbp_search" value="' . esc_attr( 'Search Docs', 'inbound-pro' ) . '" class="text inbound-search-input" />
|
590 |
+
<input type="hidden" name="post_type[]" value="docs" />
|
591 |
+
<input type="hidden" name="post_type[]" value="page" />' . self::$go_button,
|
592 |
+
'href' => false,
|
593 |
+
'meta' => array( 'target' => '', 'title' => _x( 'Search Docs', 'Translators: For the tooltip', 'inbound-pro' ) )
|
594 |
+
);
|
595 |
+
|
596 |
+
return $secondary_menu_items;
|
597 |
+
}
|
598 |
+
|
599 |
+
public static function load_inbound_hq( $secondary_menu_items )
|
600 |
+
{
|
601 |
+
$hq_key = 'inbound-hq';
|
602 |
+
|
603 |
+
/* 1 - Inbound Now Plugin HQ */
|
604 |
+
$secondary_menu_items[ $hq_key ] = array(
|
605 |
+
'parent' => self::$inboundnow_menu_secondary_group_key,
|
606 |
+
'title' => __( 'Inbound Now Plugin HQ', 'inbound-pro' ),
|
607 |
+
'href' => 'https://www.inboundnow.com/',
|
608 |
+
'meta' => array( 'title' => __( 'Inbound Now Plugin HQ', 'inbound-pro' ) )
|
609 |
+
);
|
610 |
+
|
611 |
+
/* 1.1 - GitHub Link */
|
612 |
+
$secondary_menu_items['inbound-sites-dev'] = array(
|
613 |
+
'parent' => $hq_key,
|
614 |
+
'title' => __( 'GitHub Repository Developer Center', 'inbound-pro' ),
|
615 |
+
'href' => 'https://github.com/inboundnow',
|
616 |
+
'meta' => array( 'title' => __( 'GitHub Repository Developer Center', 'inbound-pro' ) )
|
617 |
+
);
|
618 |
+
|
619 |
+
/* 1.2 - Offical Blog */
|
620 |
+
$secondary_menu_items['inbound-sites-blog'] = array(
|
621 |
+
'parent' => $hq_key,
|
622 |
+
'title' => __( 'Official Blog', 'inbound-pro' ),
|
623 |
+
'href' => 'https://www.inboundnow.com/blog/',
|
624 |
+
'meta' => array( 'title' => __( 'Official Blog', 'inbound-pro' ) )
|
625 |
+
);
|
626 |
+
|
627 |
+
/* 1.3 - My Account */
|
628 |
+
$secondary_menu_items['inboundsitesaccount'] = array(
|
629 |
+
'parent' => $hq_key,
|
630 |
+
'title' => __( 'My Account', 'inbound-pro' ),
|
631 |
+
'href' => 'https://www.inboundnow.com/marketplace/account/',
|
632 |
+
'meta' => array( 'title' => __( 'My Account', 'inbound-pro' ) )
|
633 |
+
);
|
634 |
+
|
635 |
+
/* 1.3.1 - Purchase History */
|
636 |
+
$secondary_menu_items['inboundsitesaccount-history'] = array(
|
637 |
+
'parent' => 'inboundsitesaccount',
|
638 |
+
'title' => __( 'Purchase History', 'inbound-pro' ),
|
639 |
+
'href' => 'https://www.inboundnow.com/marketplace/account/purchase-history/',
|
640 |
+
'meta' => array( 'title' => __( 'Purchase History', 'inbound-pro' ) )
|
641 |
+
);
|
642 |
+
|
643 |
+
return $secondary_menu_items;
|
644 |
+
}
|
645 |
+
|
646 |
+
/**
|
647 |
+
* Loads debug menu item section
|
648 |
+
*/
|
649 |
+
public static function load_debug( $secondary_menu_items )
|
650 |
+
{
|
651 |
+
$debug_key = 'inbound-debug';
|
652 |
+
|
653 |
+
/* 1 - Debug Tools */
|
654 |
+
$secondary_menu_items[ $debug_key ] = array(
|
655 |
+
'parent' => self::$inboundnow_menu_secondary_group_key,
|
656 |
+
'title' => __( '<span style="color:#fff;font-size: 13px;margin-top: -1px;display: inline-block;">Debug Tools</span>', 'inbound-pro' ),
|
657 |
+
'href' => "#",
|
658 |
+
'meta' => ""
|
659 |
+
);
|
660 |
+
|
661 |
+
/* 1.1 - 1.2 - Link Setup */
|
662 |
+
$actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
|
663 |
+
|
664 |
+
$param = (preg_match("/\?/", $actual_link)) ? "&" : '?';
|
665 |
+
if (preg_match("/inbound-dequeue-scripts/", $actual_link)) {
|
666 |
+
$actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
|
667 |
+
} else {
|
668 |
+
$actual_link = $actual_link . $param .'inbound-dequeue-scripts';
|
669 |
+
}
|
670 |
+
|
671 |
+
$actual_link_two = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
|
672 |
+
$param_two = (preg_match("/\?/", $actual_link_two)) ? "&" : '?';
|
673 |
+
if (preg_match("/inbound_js/", $actual_link_two)) {
|
674 |
+
$actual_link_two = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
|
675 |
+
} else {
|
676 |
+
$actual_link_two = $actual_link_two . $param_two .'inbound_js';
|
677 |
+
}
|
678 |
+
|
679 |
+
/* 1.1 - Check for JS Errors */
|
680 |
+
$secondary_menu_items['inbound-debug-checkjs'] = array(
|
681 |
+
'parent' => $debug_key,
|
682 |
+
'title' => __( 'Check for Javascript Errors', 'inbound-pro' ),
|
683 |
+
'href' => $actual_link_two,
|
684 |
+
'meta' => array( 'title' => __( 'Click here to check javascript errors on this page', 'inbound-pro' ) )
|
685 |
+
);
|
686 |
+
|
687 |
+
/* 1.2 - Check for JS Errors */
|
688 |
+
$secondary_menu_items['inbound-debug-turnoffscripts'] = array(
|
689 |
+
'parent' => $debug_key,
|
690 |
+
'title' => __( 'Remove Javascript Errors', 'inbound-pro' ),
|
691 |
+
'href' => $actual_link,
|
692 |
+
'meta' => array( 'title' => __( 'Click here to remove broken javascript to fix issues', 'inbound-pro' ) )
|
693 |
+
);
|
694 |
+
|
695 |
+
return apply_filters('inbound_menu_debug' , $secondary_menu_items , $debug_key );
|
696 |
+
}
|
697 |
+
|
698 |
+
/**
|
699 |
+
* Enqueues admin js and css
|
700 |
+
*/
|
701 |
+
public static function enqueue_js_css() {
|
702 |
+
if(!is_user_logged_in()){
|
703 |
+
return;
|
704 |
+
}
|
705 |
+
wp_enqueue_style( 'inbound_menu' , INBOUDNOW_SHARED_URLPATH . 'assets/css/admin/wpadminbar.css' );
|
706 |
+
}
|
707 |
+
}
|
708 |
+
|
709 |
+
add_action('init' , array( 'Inbound_Menus_Adminbar' , 'init' ) );
|
710 |
+
}
|
shared/classes/class.notifications.php
ADDED
@@ -0,0 +1,81 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Admin notications
|
4 |
+
*
|
5 |
+
*/
|
6 |
+
if ( ! class_exists( 'Inbound_Notices' ) ) {
|
7 |
+
|
8 |
+
class Inbound_Notices {
|
9 |
+
|
10 |
+
static function init() {
|
11 |
+
/* determines if in ajax mode */
|
12 |
+
add_action('admin_notices', array( __CLASS__ , 'inbound_notice'));
|
13 |
+
add_action('admin_init', array( __CLASS__ , 'inbound_notice_ignore'));
|
14 |
+
}
|
15 |
+
|
16 |
+
/* Fix JavaScript Conflicts in WordPress */
|
17 |
+
public function inbound_notice(){
|
18 |
+
global $pagenow;
|
19 |
+
global $current_user ;
|
20 |
+
$page_string = isset($_GET["page"]) ? $_GET["page"] : "null";
|
21 |
+
$user_id = $current_user->ID;
|
22 |
+
|
23 |
+
if ( ! get_user_meta($user_id, 'inbound_translate_ignore') ) {
|
24 |
+
|
25 |
+
echo '<div class="updated">
|
26 |
+
<h2>Help Translate Inbound Now Marketing Plugins & get free access to a pro account</h2>
|
27 |
+
<p style="width:80%;">Want to get free access to all <a href="http://www.inboundnow.com/market/" target="_blank">inbound now pro addons and templates</a>?</p>
|
28 |
+
<p style="width:80%;">Help translate Inbound Now\'s marketing plugins to your <a href="http://docs.inboundnow.com/guide/inbound-translations-project/" target="_blank">native langauge</a>!</p>
|
29 |
+
<a class="button button-primary button-large" href="http://www.inboundnow.com/translate-inbound-now/" target="_blank">Help Translate the plugins</a>
|
30 |
+
<a class="button button-large" href="?inbound_translate_ignore=0">No Thanks</a>
|
31 |
+
<br><br></div>';
|
32 |
+
|
33 |
+
}
|
34 |
+
}
|
35 |
+
|
36 |
+
public function inbound_notice_ignore() {
|
37 |
+
global $current_user;
|
38 |
+
$user_id = $current_user->ID;
|
39 |
+
if (isset($_GET['inbound_translate_ignore']) && '0' == $_GET['inbound_translate_ignore'] ) {
|
40 |
+
add_user_meta($user_id, 'inbound_translate_ignore', 'true', true);
|
41 |
+
}
|
42 |
+
}
|
43 |
+
|
44 |
+
}
|
45 |
+
|
46 |
+
Inbound_Notices::init();
|
47 |
+
|
48 |
+
}
|
49 |
+
|
50 |
+
/* Template page notices
|
51 |
+
|
52 |
+
add_action('admin_notices', 'lp_template_page_notice');
|
53 |
+
add_action('admin_init', 'lp_template_page_ignore');
|
54 |
+
function lp_template_page_ignore() {
|
55 |
+
global $current_user;
|
56 |
+
$user_id = $current_user->ID;
|
57 |
+
if ( isset($_GET['lp_template_page_ignore']) && '0' == $_GET['lp_template_page_ignore'] ) {
|
58 |
+
add_user_meta($user_id, 'lp_template_page_ignore', 'true', true);
|
59 |
+
}
|
60 |
+
}
|
61 |
+
// Start Landing Page Welcome
|
62 |
+
add_action('admin_notices', 'lp_activation_notice');
|
63 |
+
function lp_activation_notice() {
|
64 |
+
global $current_user ;
|
65 |
+
$user_id = $current_user->ID;
|
66 |
+
if ( ! get_user_meta($user_id, 'lp_activation_ignore_notice') ) {
|
67 |
+
echo '<div class="updated"><p>';
|
68 |
+
echo "<a style='float:right;' href='?lp_activation_message_ignore=0'>Dismiss This</a>Welcome to the WordPress Landing Page Plugin! Need help getting started? View the <strong>Quickstart Guide</strong><br>
|
69 |
+
Want to get notified about WordPress Landing Page Plugin updates, new features, new landing page design templates, and add-ons? <br>
|
70 |
+
Form here | ";
|
71 |
+
echo "</p></div>";
|
72 |
+
}
|
73 |
+
}
|
74 |
+
add_action('admin_init', 'lp_activation_message_ignore');
|
75 |
+
function lp_activation_message_ignore() {
|
76 |
+
global $current_user;
|
77 |
+
$user_id = $current_user->ID;
|
78 |
+
if ( isset($_GET['lp_activation_message_ignore']) && '0' == $_GET['lp_activation_message_ignore'] ) {
|
79 |
+
add_user_meta($user_id, 'lp_activation_ignore_notice', 'true', true);
|
80 |
+
}
|
81 |
+
} */
|
shared/classes/class.options-api.php
ADDED
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
if ( ! class_exists( 'Inbound_Options_API' ) ) {
|
3 |
+
|
4 |
+
class Inbound_Options_API {
|
5 |
+
|
6 |
+
/**
|
7 |
+
* Gets option value in name space object
|
8 |
+
*/
|
9 |
+
public static function get_option( $namespace , $key , $default = null ) {
|
10 |
+
$options = json_decode( stripslashes( get_option( $namespace ) ) , true ) ;
|
11 |
+
|
12 |
+
if (!isset( $options[ $key ] )) {
|
13 |
+
add_option( $namespace , '', '', 'no' );
|
14 |
+
return $default;
|
15 |
+
} else {
|
16 |
+
return $options[ $key ];
|
17 |
+
}
|
18 |
+
}
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Updates option value in name space object
|
22 |
+
*/
|
23 |
+
public static function update_option( $namespace , $key , $value ) {
|
24 |
+
|
25 |
+
$options = json_decode( stripslashes( get_option( $namespace ) ) , true ) ;
|
26 |
+
|
27 |
+
if (!$options) {
|
28 |
+
add_option( $namespace , '', '', 'no' );
|
29 |
+
$options = array();
|
30 |
+
}
|
31 |
+
|
32 |
+
$options[$key] = $value;
|
33 |
+
|
34 |
+
update_option( $namespace , json_encode( $options ) );
|
35 |
+
}
|
36 |
+
|
37 |
+
}
|
38 |
+
|
39 |
+
|
40 |
+
}
|
shared/classes/class.post-type.email-template.php
CHANGED
@@ -51,15 +51,15 @@ if ( !class_exists('Inbound_Email_Templates_Post_Type') ) {
|
|
51 |
|
52 |
$labels = array(
|
53 |
'name' => __('Email Templates', 'leads'),
|
54 |
-
'singular_name' => __( 'Email Templates', '
|
55 |
-
'add_new' => __( 'Add New Email Templates', '
|
56 |
-
'add_new_item' => __( 'Create New Email Templates' , '
|
57 |
-
'edit_item' => __( 'Edit Email Templates' , '
|
58 |
-
'new_item' => __( 'New Email Templates' , '
|
59 |
-
'view_item' => __( 'View Email Templates' , '
|
60 |
-
'search_items' => __( 'Search Email Templates' , '
|
61 |
-
'not_found' => __( 'Nothing found' , '
|
62 |
-
'not_found_in_trash' => __( 'Nothing found in Trash' , '
|
63 |
'parent_item_colon' => ''
|
64 |
);
|
65 |
|
@@ -106,9 +106,9 @@ if ( !class_exists('Inbound_Email_Templates_Post_Type') ) {
|
|
106 |
|
107 |
$cols = array(
|
108 |
"cb" => "<input type=\"checkbox\" />",
|
109 |
-
"title" => __( 'Email Templates' , '
|
110 |
-
"category" => __( 'Category' , '
|
111 |
-
"description" => __( 'Description' , '
|
112 |
);
|
113 |
|
114 |
$cols = apply_filters('email_template_change_columns',$cols);
|
@@ -302,9 +302,9 @@ Section 1.10.32 of "de Finibus Bonorum et Malorum", written by Cicero in 45 BC
|
|
302 |
self::create_template( array(
|
303 |
'id' => 'token-test',
|
304 |
'title' => __( 'Token Testing' , 'leads') ,
|
305 |
-
'subject' => __( 'Token Testing Template - {{site-name}}', '
|
306 |
'body' => $inbound_email_templates['token-test'],
|
307 |
-
'description' => __( 'Designed for testing & debugging tokens.' , '
|
308 |
'email_template_category' => 'inbound-core'
|
309 |
));
|
310 |
|
@@ -312,39 +312,39 @@ Section 1.10.32 of "de Finibus Bonorum et Malorum", written by Cicero in 45 BC
|
|
312 |
self::create_template( array(
|
313 |
'id' => 'inbound-new-lead-notification',
|
314 |
'title' => __( 'New Lead Notification' , 'leads') ,
|
315 |
-
'subject' => __( '{{site-name}} - {{form-name}} - New Lead Conversion', '
|
316 |
'body' => $inbound_email_templates['inbound-new-lead-notification'],
|
317 |
-
'description' => __( 'Designed for notifying administrator of new lead conversion when an Inbound Form is submitted.' , '
|
318 |
'email_template_category' => 'inbound-core'
|
319 |
));
|
320 |
|
321 |
/* New User Account Notification - Create WP Core Template for New User Notifications */
|
322 |
self::create_template( array(
|
323 |
'id' => 'wp-new-user-notification',
|
324 |
-
'title' => __( 'New User Signup Notification' , '
|
325 |
-
'subject' => __( 'Your New Account - {{site-name}}' , '
|
326 |
'body' => $inbound_email_templates['wp-new-user-notification'],
|
327 |
-
'description' => __( 'WordPress core template for notifying new users of their created accounts.' , '
|
328 |
'email_template_category' => 'wordpress-core'
|
329 |
));
|
330 |
|
331 |
/* New Comment Notifications - Create WP Core Template for Post Author Notifications */
|
332 |
self::create_template( array(
|
333 |
'id' => 'wp-notify-post-author',
|
334 |
-
'title' => __( 'New Comment Notification' , '
|
335 |
-
'subject' => __( 'New Comment Posted - {{wp-post-title}} - {{site-name}}' , '
|
336 |
'body' => $inbound_email_templates['wp-notify-post-author'],
|
337 |
-
'description' => __( 'WordPress core template for notifying post authors of new comments.' , '
|
338 |
'email_template_category' => 'wordpress-core'
|
339 |
));
|
340 |
|
341 |
/* Comment Moderation Notifications - Create WP Core Template for Comment Moderation Notifications */
|
342 |
self::create_template( array(
|
343 |
'id' => 'wp-notify-moderator',
|
344 |
-
'title' => __( 'New Comment Moderation' , '
|
345 |
-
'subject' => __( 'Moderate Comment - {{wp-post-title}} - {{site-name}}' , '
|
346 |
'body' => $inbound_email_templates['wp-notify-moderator'],
|
347 |
-
'description' => __( 'WordPress core template for notifying post authors of new comments that need moderating.' , '
|
348 |
'email_template_category' => 'wordpress-core'
|
349 |
));
|
350 |
|
51 |
|
52 |
$labels = array(
|
53 |
'name' => __('Email Templates', 'leads'),
|
54 |
+
'singular_name' => __( 'Email Templates', 'inbound-pro' ),
|
55 |
+
'add_new' => __( 'Add New Email Templates', 'inbound-pro' ),
|
56 |
+
'add_new_item' => __( 'Create New Email Templates' , 'inbound-pro' ),
|
57 |
+
'edit_item' => __( 'Edit Email Templates' , 'inbound-pro' ),
|
58 |
+
'new_item' => __( 'New Email Templates' , 'inbound-pro' ),
|
59 |
+
'view_item' => __( 'View Email Templates' , 'inbound-pro' ),
|
60 |
+
'search_items' => __( 'Search Email Templates' , 'inbound-pro' ),
|
61 |
+
'not_found' => __( 'Nothing found' , 'inbound-pro' ),
|
62 |
+
'not_found_in_trash' => __( 'Nothing found in Trash' , 'inbound-pro' ),
|
63 |
'parent_item_colon' => ''
|
64 |
);
|
65 |
|
106 |
|
107 |
$cols = array(
|
108 |
"cb" => "<input type=\"checkbox\" />",
|
109 |
+
"title" => __( 'Email Templates' , 'inbound-pro' ),
|
110 |
+
"category" => __( 'Category' , 'inbound-pro' ),
|
111 |
+
"description" => __( 'Description' , 'inbound-pro' )
|
112 |
);
|
113 |
|
114 |
$cols = apply_filters('email_template_change_columns',$cols);
|
302 |
self::create_template( array(
|
303 |
'id' => 'token-test',
|
304 |
'title' => __( 'Token Testing' , 'leads') ,
|
305 |
+
'subject' => __( 'Token Testing Template - {{site-name}}', 'inbound-pro' ) ,
|
306 |
'body' => $inbound_email_templates['token-test'],
|
307 |
+
'description' => __( 'Designed for testing & debugging tokens.' , 'inbound-pro' ) ,
|
308 |
'email_template_category' => 'inbound-core'
|
309 |
));
|
310 |
|
312 |
self::create_template( array(
|
313 |
'id' => 'inbound-new-lead-notification',
|
314 |
'title' => __( 'New Lead Notification' , 'leads') ,
|
315 |
+
'subject' => __( '{{site-name}} - {{form-name}} - New Lead Conversion', 'inbound-pro' ) ,
|
316 |
'body' => $inbound_email_templates['inbound-new-lead-notification'],
|
317 |
+
'description' => __( 'Designed for notifying administrator of new lead conversion when an Inbound Form is submitted.' , 'inbound-pro' ) ,
|
318 |
'email_template_category' => 'inbound-core'
|
319 |
));
|
320 |
|
321 |
/* New User Account Notification - Create WP Core Template for New User Notifications */
|
322 |
self::create_template( array(
|
323 |
'id' => 'wp-new-user-notification',
|
324 |
+
'title' => __( 'New User Signup Notification' , 'inbound-pro' ),
|
325 |
+
'subject' => __( 'Your New Account - {{site-name}}' , 'inbound-pro' ),
|
326 |
'body' => $inbound_email_templates['wp-new-user-notification'],
|
327 |
+
'description' => __( 'WordPress core template for notifying new users of their created accounts.' , 'inbound-pro' ),
|
328 |
'email_template_category' => 'wordpress-core'
|
329 |
));
|
330 |
|
331 |
/* New Comment Notifications - Create WP Core Template for Post Author Notifications */
|
332 |
self::create_template( array(
|
333 |
'id' => 'wp-notify-post-author',
|
334 |
+
'title' => __( 'New Comment Notification' , 'inbound-pro' ),
|
335 |
+
'subject' => __( 'New Comment Posted - {{wp-post-title}} - {{site-name}}' , 'inbound-pro' ),
|
336 |
'body' => $inbound_email_templates['wp-notify-post-author'],
|
337 |
+
'description' => __( 'WordPress core template for notifying post authors of new comments.' , 'inbound-pro' ),
|
338 |
'email_template_category' => 'wordpress-core'
|
339 |
));
|
340 |
|
341 |
/* Comment Moderation Notifications - Create WP Core Template for Comment Moderation Notifications */
|
342 |
self::create_template( array(
|
343 |
'id' => 'wp-notify-moderator',
|
344 |
+
'title' => __( 'New Comment Moderation' , 'inbound-pro' ),
|
345 |
+
'subject' => __( 'Moderate Comment - {{wp-post-title}} - {{site-name}}' , 'inbound-pro' ),
|
346 |
'body' => $inbound_email_templates['wp-notify-moderator'],
|
347 |
+
'description' => __( 'WordPress core template for notifying post authors of new comments that need moderating.' , 'inbound-pro' ),
|
348 |
'email_template_category' => 'wordpress-core'
|
349 |
));
|
350 |
|
shared/classes/class.post-type.wp-lead.php
CHANGED
@@ -35,7 +35,8 @@ if ( !class_exists('Inbound_Leads') ) {
|
|
35 |
* Register wp-lead post type
|
36 |
*/
|
37 |
public static function register_post_type() {
|
38 |
-
|
|
|
39 |
|
40 |
$labels = array(
|
41 |
'name' => _x('Leads', 'post type general name'),
|
@@ -57,10 +58,10 @@ if ( !class_exists('Inbound_Leads') ) {
|
|
57 |
'publicly_queryable' => true,
|
58 |
'show_ui' => true,
|
59 |
'query_var' => true,
|
60 |
-
'menu_icon' => INBOUDNOW_SHARED_URLPATH . 'assets/global/
|
61 |
'capability_type' => 'post',
|
62 |
'hierarchical' => false,
|
63 |
-
'menu_position' =>
|
64 |
'supports' => array('custom-fields','thumbnail')
|
65 |
);
|
66 |
|
@@ -74,23 +75,28 @@ if ( !class_exists('Inbound_Leads') ) {
|
|
74 |
* Register Category Taxonomy
|
75 |
*/
|
76 |
public static function register_taxonomies() {
|
77 |
-
|
|
|
|
|
|
|
|
|
|
|
78 |
/* Register lead lists */
|
79 |
$list_labels = array(
|
80 |
-
'name' => __( 'Lead Lists', '
|
81 |
-
'singular_name' => __( 'Lead List', '
|
82 |
-
'search_items' => __( 'Search Lead Lists' , '
|
83 |
-
'popular_items' => __( 'Popular Lead Lists' , '
|
84 |
-
'all_items' => __( 'All Lead Lists' , '
|
85 |
'parent_item' => null,
|
86 |
'parent_item_colon' => null,
|
87 |
-
'edit_item' => __( 'Edit Lead List' , '
|
88 |
'update_item' => __( 'Update Lead List' , 'leads' ),
|
89 |
'add_new_item' => __( 'Add New Lead List' , 'leads' ),
|
90 |
'new_item_name' => __( 'New Lead List' , 'leads' ),
|
91 |
'separate_items_with_commas' => __( 'Separate Lead Lists with commas' , 'leads' ),
|
92 |
'add_or_remove_items' => __( 'Add or remove Lead Lists' , 'leads' ),
|
93 |
-
'choose_from_most_used' => __( 'Choose from the most used lead List' , '
|
94 |
'not_found' => __( 'No Lead Lists found.' , 'leads' ),
|
95 |
'menu_name' => __( 'Lead Lists' , 'leads' ),
|
96 |
);
|
@@ -98,7 +104,7 @@ if ( !class_exists('Inbound_Leads') ) {
|
|
98 |
$list_args = array(
|
99 |
'hierarchical' => true,
|
100 |
'labels' => $list_labels,
|
101 |
-
'singular_label' => __( 'List Management' , '
|
102 |
'show_ui' => true,
|
103 |
'show_in_menu' => true,
|
104 |
'show_in_nav_menus' => false,
|
@@ -335,12 +341,12 @@ if ( !class_exists('Inbound_Leads') ) {
|
|
335 |
|
336 |
/* id is required */
|
337 |
if (!isset($id)) {
|
338 |
-
return array( 'error' => __( 'must include an id parameter' , '
|
339 |
}
|
340 |
|
341 |
wp_delete_term( $id , 'wplead_list_category' );
|
342 |
|
343 |
-
return array( 'message' => __( 'lead list deleted' , '
|
344 |
}
|
345 |
|
346 |
/**
|
@@ -354,7 +360,8 @@ if ( !class_exists('Inbound_Leads') ) {
|
|
354 |
* @returns ARRAY of lead lists with term id as key and list name as value
|
355 |
*/
|
356 |
public static function get_lead_lists_as_array() {
|
357 |
-
|
|
|
358 |
$array = array();
|
359 |
|
360 |
$args = array(
|
@@ -415,8 +422,8 @@ if ( !class_exists('Inbound_Leads') ) {
|
|
415 |
return;
|
416 |
}
|
417 |
|
418 |
-
if (!
|
419 |
-
_e( 'WordPress Leads is not currently installed/activated to view and manage leads please turn it on.' , '
|
420 |
}
|
421 |
}
|
422 |
|
@@ -443,7 +450,7 @@ if ( !class_exists('Inbound_Leads') ) {
|
|
443 |
|
444 |
$count = $query->post_count;
|
445 |
|
446 |
-
return sprintf( __( '%d leads' , '
|
447 |
|
448 |
}
|
449 |
|
35 |
* Register wp-lead post type
|
36 |
*/
|
37 |
public static function register_post_type() {
|
38 |
+
|
39 |
+
$lead_active = ( defined('WPL_CURRENT_VERSION') ) ? true : false ; // Check if leads is activated
|
40 |
|
41 |
$labels = array(
|
42 |
'name' => _x('Leads', 'post type general name'),
|
58 |
'publicly_queryable' => true,
|
59 |
'show_ui' => true,
|
60 |
'query_var' => true,
|
61 |
+
'menu_icon' => INBOUDNOW_SHARED_URLPATH . 'assets/images/global/leads.png',
|
62 |
'capability_type' => 'post',
|
63 |
'hierarchical' => false,
|
64 |
+
'menu_position' => 31,
|
65 |
'supports' => array('custom-fields','thumbnail')
|
66 |
);
|
67 |
|
75 |
* Register Category Taxonomy
|
76 |
*/
|
77 |
public static function register_taxonomies() {
|
78 |
+
|
79 |
+
/* bail if taxonomy already registered */
|
80 |
+
if (taxonomy_exists('wplead_list_category')) {
|
81 |
+
return;
|
82 |
+
}
|
83 |
+
|
84 |
/* Register lead lists */
|
85 |
$list_labels = array(
|
86 |
+
'name' => __( 'Lead Lists', 'inbound-pro' ),
|
87 |
+
'singular_name' => __( 'Lead List', 'inbound-pro' ),
|
88 |
+
'search_items' => __( 'Search Lead Lists' , 'inbound-pro' ),
|
89 |
+
'popular_items' => __( 'Popular Lead Lists' , 'inbound-pro' ),
|
90 |
+
'all_items' => __( 'All Lead Lists' , 'inbound-pro' ),
|
91 |
'parent_item' => null,
|
92 |
'parent_item_colon' => null,
|
93 |
+
'edit_item' => __( 'Edit Lead List' , 'inbound-pro' ),
|
94 |
'update_item' => __( 'Update Lead List' , 'leads' ),
|
95 |
'add_new_item' => __( 'Add New Lead List' , 'leads' ),
|
96 |
'new_item_name' => __( 'New Lead List' , 'leads' ),
|
97 |
'separate_items_with_commas' => __( 'Separate Lead Lists with commas' , 'leads' ),
|
98 |
'add_or_remove_items' => __( 'Add or remove Lead Lists' , 'leads' ),
|
99 |
+
'choose_from_most_used' => __( 'Choose from the most used lead List' , 'inbound-pro' ),
|
100 |
'not_found' => __( 'No Lead Lists found.' , 'leads' ),
|
101 |
'menu_name' => __( 'Lead Lists' , 'leads' ),
|
102 |
);
|
104 |
$list_args = array(
|
105 |
'hierarchical' => true,
|
106 |
'labels' => $list_labels,
|
107 |
+
'singular_label' => __( 'List Management' , 'inbound-pro' ),
|
108 |
'show_ui' => true,
|
109 |
'show_in_menu' => true,
|
110 |
'show_in_nav_menus' => false,
|
341 |
|
342 |
/* id is required */
|
343 |
if (!isset($id)) {
|
344 |
+
return array( 'error' => __( 'must include an id parameter' , 'inbound-pro' ) );
|
345 |
}
|
346 |
|
347 |
wp_delete_term( $id , 'wplead_list_category' );
|
348 |
|
349 |
+
return array( 'message' => __( 'lead list deleted' , 'inbound-pro' ) );
|
350 |
}
|
351 |
|
352 |
/**
|
360 |
* @returns ARRAY of lead lists with term id as key and list name as value
|
361 |
*/
|
362 |
public static function get_lead_lists_as_array() {
|
363 |
+
self::register_taxonomies();
|
364 |
+
|
365 |
$array = array();
|
366 |
|
367 |
$args = array(
|
422 |
return;
|
423 |
}
|
424 |
|
425 |
+
if (!wpleads_check_active()) {
|
426 |
+
_e( 'WordPress Leads is not currently installed/activated to view and manage leads please turn it on.' , 'inbound-pro' );
|
427 |
}
|
428 |
}
|
429 |
|
450 |
|
451 |
$count = $query->post_count;
|
452 |
|
453 |
+
return sprintf( __( '%d leads' , 'inbound-pro' ) , $count );
|
454 |
|
455 |
}
|
456 |
|
shared/classes/class.shortcodes.cookie-values.php
ADDED
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if ( !class_exists( 'Inbound_Shortcodes_Cookies' ) ) {
|
4 |
+
|
5 |
+
class Inbound_Shortcodes_Cookies {
|
6 |
+
|
7 |
+
public function __construct() {
|
8 |
+
|
9 |
+
self::load_hooks();
|
10 |
+
}
|
11 |
+
|
12 |
+
public function load_hooks() {
|
13 |
+
|
14 |
+
/* Shortcode for using cookie values */
|
15 |
+
add_shortcode( 'inbound-cookie', array( __CLASS__, 'get_cookie' ), 1 );
|
16 |
+
}
|
17 |
+
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Used by leads-new-lead-notification email template to dispaly form fields the user inputted when converting on a form.
|
21 |
+
*
|
22 |
+
*/
|
23 |
+
public static function get_cookie( $atts ) {
|
24 |
+
|
25 |
+
$value = ( isset($_COOKIE[ $atts['name'] ]) ) ? $_COOKIE[ $atts['name'] ] : '';
|
26 |
+
|
27 |
+
return $value;
|
28 |
+
}
|
29 |
+
|
30 |
+
/**
|
31 |
+
* Used by wp-notify-post-author email template to show comment author gravitar
|
32 |
+
*
|
33 |
+
*
|
34 |
+
*/
|
35 |
+
public static function generate_gravitar( $atts ) {
|
36 |
+
|
37 |
+
extract( shortcode_atts( array(
|
38 |
+
'email' => 'default@gravitar.com',
|
39 |
+
'size' => '60',
|
40 |
+
'default' => 'mm'
|
41 |
+
), $atts ) );
|
42 |
+
|
43 |
+
return "//www.gravatar.com/avatar/" . md5( strtolower( trim( $email ) ) ) . "?d=" . urlencode( $default ) . "&s=" . $size;
|
44 |
+
|
45 |
+
}
|
46 |
+
}
|
47 |
+
|
48 |
+
/* Initiate the logging system */
|
49 |
+
$Inbound_Shortcodes_Cookies = new Inbound_Shortcodes_Cookies();
|
50 |
+
|
51 |
+
}
|
shared/classes/js/wpl.required-fallback.js
DELETED
@@ -1,13 +0,0 @@
|
|
1 |
-
jQuery(document).ready(function() {
|
2 |
-
jQuery('form').submit(function(e) {
|
3 |
-
jQuery('form').find('input').each(function(){
|
4 |
-
if(!jQuery(this).prop('required')){
|
5 |
-
} else if (!jQuery(this).val()) {
|
6 |
-
alert('Oops! Looks like you have not filled out all of the required fields!');
|
7 |
-
e.preventDefault();
|
8 |
-
e.stopImmediatePropagation();
|
9 |
-
return false;
|
10 |
-
}
|
11 |
-
});
|
12 |
-
});
|
13 |
-
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
shared/css/images/Navigation.png
DELETED
Binary file
|
shared/css/images/blank-page.png
DELETED
Binary file
|
shared/css/images/clone-create.png
DELETED
Binary file
|
shared/css/images/dropdownback.png
DELETED
Binary file
|
shared/css/images/headerback.png
DELETED
Binary file
|
shared/css/images/hover.png
DELETED
Binary file
|
shared/css/images/landing-page-icon-10.png
DELETED
Binary file
|
shared/css/images/linkback.png
DELETED
Binary file
|
shared/css/images/question-light.png
DELETED
Binary file
|
shared/css/images/select-pages.png
DELETED
Binary file
|
shared/css/images/tooltip.png
DELETED
Binary file
|
shared/css/select2-spinner.gif
DELETED
Binary file
|
shared/css/select2.png
DELETED
Binary file
|
shared/css/select2x2.png
DELETED
Binary file
|
shared/docs/analytics.events.md
CHANGED
@@ -1,352 +1,352 @@
|
|
1 |
-
|
2 |
-
|
3 |
-
<!-- Start shared/assets/frontend/js/analytics-src/analytics.events.js -->
|
4 |
-
|
5 |
-
# Analytics Events
|
6 |
-
|
7 |
-
Events are triggered throughout the visitors journey through the site. See more on [Inbound Now][in]
|
8 |
-
|
9 |
-
Author: David Wells <david@inboundnow.com>
|
10 |
-
|
11 |
-
Version: 0.0.1
|
12 |
-
[in]: http://www.inboundnow.com/
|
13 |
-
|
14 |
-
# Event Usage
|
15 |
-
|
16 |
-
Events are triggered throughout the visitors path through the site.
|
17 |
-
You can hook into these custom actions and filters much like WordPress Core
|
18 |
-
|
19 |
-
See below for examples
|
20 |
-
|
21 |
-
Adding Cus
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|