WordPress Landing Pages - Version 1.6.2

Version Description

  • Bug Fix: Fix with lead email notifications
Download this release

Release Info

Developer adbox
Plugin Icon 128x128 WordPress Landing Pages
Version 1.6.2
Comparing to
See all releases

Code changes from version 1.8.5 to 1.6.2

Files changed (660) hide show
  1. Gruntfile.js +0 -19
  2. README.md +55 -243
  3. classes/class.activation.php +64 -112
  4. classes/class.activation.upgrade-routines.php +3 -23
  5. classes/class.branching.php +0 -44
  6. classes/class.load-extensions.php +0 -343
  7. classes/class.post-type.landing-page.php +0 -442
  8. classes/class.statistics.php +0 -128
  9. css/admin-lp-cpt-only-style.css +6 -11
  10. css/admin-post-edit.css +12 -23
  11. css/admin-post-new.css +0 -3
  12. css/admin-style.css +13 -16
  13. css/new-customizer-admin.css +11 -23
  14. images/image.php +32 -36
  15. js/admin/admin.metaboxes.js +1 -1
  16. js/admin/admin.post-edit.js +178 -8
  17. js/admin/new-customizer-admin.js +5 -6
  18. js/ajax.clearstats.js +1 -1
  19. js/customizer.save.js +143 -0
  20. js/jquery.form-population.js +1 -1
  21. js/page_view_track.js +6 -0
  22. landing-pages.php +47 -121
  23. lang/.tx/config +0 -7
  24. lang/landing-pages-ach.mo +0 -0
  25. lang/landing-pages-af.mo +0 -0
  26. lang/landing-pages-an.mo +0 -0
  27. lang/landing-pages-ar.mo +0 -0
  28. lang/landing-pages-as.mo +0 -0
  29. lang/landing-pages-az.mo +0 -0
  30. lang/landing-pages-be.mo +0 -0
  31. lang/landing-pages-be_BY.mo +0 -0
  32. lang/landing-pages-bg.mo +0 -0
  33. lang/landing-pages-bg_BG.mo +0 -0
  34. lang/landing-pages-bn_BD.mo +0 -0
  35. lang/landing-pages-br.mo +0 -0
  36. lang/landing-pages-bs.mo +0 -0
  37. lang/landing-pages-bs_BA.mo +0 -0
  38. lang/landing-pages-ca.mo +0 -0
  39. lang/landing-pages-co.mo +0 -0
  40. lang/landing-pages-cs_CZ.mo +0 -0
  41. lang/landing-pages-cy.mo +0 -0
  42. lang/landing-pages-da_DK.mo +0 -0
  43. lang/landing-pages-de_AT.mo +0 -0
  44. lang/landing-pages-de_CH.mo +0 -0
  45. lang/landing-pages-de_DE.mo +0 -0
  46. lang/landing-pages-dv.mo +0 -0
  47. lang/landing-pages-el.mo +0 -0
  48. lang/landing-pages-en@pirate.mo +0 -0
  49. lang/landing-pages-en_AU.mo +0 -0
  50. lang/landing-pages-en_CA.mo +0 -0
  51. lang/landing-pages-en_GB.mo +0 -0
  52. lang/landing-pages-eo.mo +0 -0
  53. lang/landing-pages-es_AR.mo +0 -0
  54. lang/landing-pages-es_CL.mo +0 -0
  55. lang/landing-pages-es_ES.mo +0 -0
  56. lang/landing-pages-es_MX.mo +0 -0
  57. lang/landing-pages-es_PE.mo +0 -0
  58. lang/landing-pages-es_VE.mo +0 -0
  59. lang/landing-pages-et.mo +0 -0
  60. lang/landing-pages-eu.mo +0 -0
  61. lang/landing-pages-fa.mo +0 -0
  62. lang/landing-pages-fa_IR.mo +0 -0
  63. lang/landing-pages-fi.mo +0 -0
  64. lang/landing-pages-fo.mo +0 -0
  65. lang/landing-pages-fr_FR.mo +0 -0
  66. lang/landing-pages-fy.mo +0 -0
  67. lang/landing-pages-ga.mo +0 -0
  68. lang/landing-pages-gd.mo +0 -0
  69. lang/landing-pages-gl_ES.mo +0 -0
  70. lang/landing-pages-gu_IN.mo +0 -0
  71. lang/landing-pages-he_IL.mo +0 -0
  72. lang/landing-pages-hi_IN.mo +0 -0
  73. lang/landing-pages-hr.mo +0 -0
  74. lang/landing-pages-hu_HU.mo +0 -0
  75. lang/landing-pages-hy.mo +0 -0
  76. lang/landing-pages-id.mo +0 -0
  77. lang/landing-pages-id_ID.mo +0 -0
  78. lang/landing-pages-is_IS.mo +0 -0
  79. lang/landing-pages-it_IT.mo +0 -0
  80. lang/landing-pages-ja.mo +0 -0
  81. lang/landing-pages-jv.mo +0 -0
  82. lang/landing-pages-ka.mo +0 -0
  83. lang/landing-pages-ka_GE.mo +0 -0
  84. lang/landing-pages-kk.mo +0 -0
  85. lang/landing-pages-km.mo +0 -0
  86. lang/landing-pages-kn.mo +0 -0
  87. lang/landing-pages-ko_KR.mo +0 -0
  88. lang/landing-pages-ku.mo +0 -0
  89. lang/landing-pages-ky.mo +0 -0
  90. lang/landing-pages-lo.mo +0 -0
  91. lang/landing-pages-lt_LT.mo +0 -0
  92. lang/landing-pages-lv.mo +0 -0
  93. lang/landing-pages-mg.mo +0 -0
  94. lang/landing-pages-mk_MK.mo +0 -0
  95. lang/landing-pages-mn.mo +0 -0
  96. lang/landing-pages-mr.mo +0 -0
  97. lang/landing-pages-ms_MY.mo +0 -0
  98. lang/landing-pages-my_MM.mo +0 -0
  99. lang/landing-pages-nb_NO.mo +0 -0
  100. lang/landing-pages-ne_NP.mo +0 -0
  101. lang/landing-pages-nl.mo +0 -0
  102. lang/landing-pages-nl_NL.mo +0 -0
  103. lang/landing-pages-nn_NO.mo +0 -0
  104. lang/landing-pages-oc.mo +0 -0
  105. lang/landing-pages-os.mo +0 -0
  106. lang/landing-pages-pap.mo +0 -0
  107. lang/landing-pages-pl_PL.mo +0 -0
  108. lang/landing-pages-ps.mo +0 -0
  109. lang/landing-pages-pt_BR.mo +0 -0
  110. lang/landing-pages-pt_PT.mo +0 -0
  111. lang/landing-pages-ro_RO.mo +0 -0
  112. lang/landing-pages-ru_RU.mo +0 -0
  113. lang/landing-pages-sah.mo +0 -0
  114. lang/landing-pages-si_LK.mo +0 -0
  115. lang/landing-pages-sk_SK.mo +0 -0
  116. lang/landing-pages-sl_SI.mo +0 -0
  117. lang/landing-pages-so.mo +0 -0
  118. lang/landing-pages-sq.mo +0 -0
  119. lang/landing-pages-sr_RS.mo +0 -0
  120. lang/landing-pages-su.mo +0 -0
  121. lang/landing-pages-sv_SE.mo +0 -0
  122. lang/landing-pages-sw.mo +0 -0
  123. lang/landing-pages-ta_IN.mo +0 -0
  124. lang/landing-pages-ta_LK.mo +0 -0
  125. lang/landing-pages-te.mo +0 -0
  126. lang/landing-pages-tg.mo +0 -0
  127. lang/landing-pages-th.mo +0 -0
  128. lang/landing-pages-tk_TM.mo +0 -0
  129. lang/landing-pages-tl.mo +0 -0
  130. lang/landing-pages-tr_TR.mo +0 -0
  131. lang/landing-pages-tzm.mo +0 -0
  132. lang/landing-pages-ug.mo +0 -0
  133. lang/landing-pages-uk.mo +0 -0
  134. lang/landing-pages-ur.mo +0 -0
  135. lang/landing-pages-ur_PK.mo +0 -0
  136. lang/landing-pages-uz.mo +0 -0
  137. lang/landing-pages-vi.mo +0 -0
  138. lang/landing-pages-zh_CN.GB2312.mo +0 -0
  139. lang/landing-pages-zh_CN.mo +0 -0
  140. lang/landing-pages-zh_HK.mo +0 -0
  141. lang/landing-pages-zh_TW.mo +0 -0
  142. lang/landing-pages.mo +0 -0
  143. lang/landing-pages.po +948 -1576
  144. modules/module.ab-testing.php +32 -31
  145. modules/module.addon.php +4 -6
  146. modules/module.ajax-setup.php +1 -1
  147. modules/module.alert.php +2 -29
  148. modules/module.click-tracking.php +36 -50
  149. modules/module.clone.php +1 -1
  150. modules/module.customizer.php +1 -1
  151. modules/module.global-settings.php +40 -45
  152. modules/module.install.php +70 -66
  153. modules/module.javascript-admin.php +10 -16
  154. modules/module.javascript-frontend.php +85 -26
  155. modules/module.landing-page.php +68 -27
  156. modules/module.metaboxes-global.php +11 -7
  157. modules/module.metaboxes.php +10 -6
  158. modules/module.post-type.php +429 -430
  159. modules/module.redirect-ab-testing.php +23 -62
  160. modules/module.store.php +1 -1
  161. modules/module.templates.php +16 -18
  162. modules/module.track.php +1 -50
  163. modules/module.utils.php +28 -0
  164. package.json +0 -45
  165. phpunit.xml.dist +2 -2
  166. readme.txt +4 -61
  167. shared/.SyncIgnore +13 -0
  168. shared/assets/{css/admin → admin/css}/global-inbound-admin.css +144 -153
  169. shared/assets/{css/admin → admin/css}/image-picker.css +0 -0
  170. shared/assets/{css/admin → admin/css}/inbound-metaboxes.css +75 -74
  171. shared/assets/{images/admin → admin/images}/inbound-now-logo.png +0 -0
  172. shared/assets/{js/admin → admin/js}/image-picker.js +0 -0
  173. shared/assets/{js/admin → admin/js}/select2.js +1 -1
  174. shared/assets/{js/admin → admin/js}/select2.min.js +0 -0
  175. shared/assets/assets.loader.class.php +175 -196
  176. shared/assets/css/admin/wpadminbar.css +0 -154
  177. shared/assets/frontend/js/form-population.js +1 -0
  178. shared/assets/frontend/js/inprogress-tracking.js +137 -0
  179. shared/assets/frontend/js/page-tracking-new.js +1324 -0
  180. shared/assets/frontend/js/page-tracking.js +693 -0
  181. shared/assets/frontend/js/store.lead.ajax-new.js +699 -0
  182. shared/assets/frontend/js/store.lead.ajax.js +700 -0
  183. shared/assets/{fonts → global/fonts}/fontawesome/FontAwesome.otf +0 -0
  184. shared/assets/{fonts → global/fonts}/fontawesome/README.md +0 -0
  185. shared/assets/{fonts → global/fonts}/fontawesome/fontawesome-webfont.eot +0 -0
  186. shared/assets/global/fonts/fontawesome/fontawesome-webfont.eot~HEAD +0 -0
  187. shared/assets/global/fonts/fontawesome/fontawesome-webfont.svg +414 -0
  188. shared/assets/{fonts/fontawesome/fontawesome-webfont.svg → global/fonts/fontawesome/fontawesome-webfont.svg~HEAD} +0 -0
  189. shared/assets/{fonts → global/fonts}/fontawesome/fontawesome-webfont.ttf +0 -0
  190. shared/assets/global/fonts/fontawesome/fontawesome-webfont.ttf~HEAD +0 -0
  191. shared/assets/{fonts → global/fonts}/fontawesome/fontawesome-webfont.woff +0 -0
  192. shared/assets/global/fonts/fontawesome/fontawesome-webfont.woff~HEAD +0 -0
  193. shared/assets/{images/global → global/images}/leads.png +0 -0
  194. shared/assets/{images/global → global/images}/shortcodes-blue.png +0 -0
  195. shared/assets/{js/global → global/js}/jquery.cookie.js +0 -0
  196. shared/assets/{js/global → global/js}/jquery.total-storage.min.js +0 -0
  197. shared/assets/includes/Snowplow/RefererParser/Config/INBOUND_ConfigFileReaderTrait.php +0 -54
  198. shared/assets/includes/Snowplow/RefererParser/Config/INBOUND_ConfigReaderInterface.php +0 -15
  199. shared/assets/includes/Snowplow/RefererParser/Config/INBOUND_JsonConfigReader.php +0 -57
  200. shared/assets/includes/Snowplow/RefererParser/Exception/INBOUND_InvalidArgumentException.php +0 -9
  201. shared/assets/includes/Snowplow/RefererParser/INBOUND_Medium.php +0 -16
  202. shared/assets/includes/Snowplow/RefererParser/INBOUND_Parser.php +0 -266
  203. shared/assets/includes/Snowplow/RefererParser/INBOUND_Referer.php +0 -78
  204. shared/assets/includes/referers.json +0 -3890
  205. shared/assets/js/frontend/analytics-src/analytics.events.js +0 -529
  206. shared/assets/js/frontend/analytics-src/analytics.examples.js +0 -185
  207. shared/assets/js/frontend/analytics-src/analytics.forms.js +0 -1010
  208. shared/assets/js/frontend/analytics-src/analytics.hooks.js +0 -404
  209. shared/assets/js/frontend/analytics-src/analytics.init.js +0 -130
  210. shared/assets/js/frontend/analytics-src/analytics.lead.js +0 -88
  211. shared/assets/js/frontend/analytics-src/analytics.page.js +0 -373
  212. shared/assets/js/frontend/analytics-src/analytics.start.js +0 -16
  213. shared/assets/js/frontend/analytics-src/analytics.storage.js +0 -133
  214. shared/assets/js/frontend/analytics-src/analytics.utils.js +0 -763
  215. shared/assets/js/frontend/analytics/inboundAnalytics.js +0 -3448
  216. shared/assets/js/frontend/analytics/inboundAnalytics.min.js +0 -3
  217. shared/assets/readme.txt +7 -0
  218. shared/classes/class.ajax.php +0 -74
  219. shared/classes/class.branching.php +0 -300
  220. shared/classes/class.charting.php +285 -285
  221. shared/classes/class.compatibility.php +133 -133
  222. shared/classes/class.debug.php +416 -420
  223. shared/classes/class.feedback.php +382 -373
  224. shared/classes/class.form.php +1079 -1284
  225. shared/classes/class.inbound-api.api-key-generation.php +0 -158
  226. shared/classes/class.inbound-api.api-keys-table.php +0 -268
  227. shared/classes/class.inbound-api.logging.php +0 -0
  228. shared/classes/class.inbound-api.php +0 -1399
  229. shared/classes/class.inbound-forms.akismet.php +170 -170
  230. shared/classes/class.lead-fields.php +316 -352
  231. shared/classes/class.lead-storage.php +0 -709
  232. shared/classes/class.load-shared.php +151 -166
  233. shared/classes/class.magic.php +0 -105
  234. shared/classes/class.menu.php +592 -693
  235. shared/classes/class.menus.adminbar.php +0 -710
  236. shared/classes/class.notifications.php +0 -54
  237. shared/classes/class.options-api.php +0 -40
  238. shared/classes/class.post-type.email-template.php +395 -399
  239. shared/classes/class.post-type.wp-lead.php +416 -490
  240. shared/classes/class.shortcodes.cookie-values.php +0 -51
  241. shared/classes/class.shortcodes.email-template.php +130 -144
  242. shared/classes/class.templating-engine.php +98 -98
  243. shared/classes/class.track-data.php +0 -102
  244. shared/classes/class.welcome.php +201 -201
  245. shared/{assets/js/global → classes/js}/debug.js +36 -36
  246. shared/{assets/js/global → classes/js}/inbound-dequeue-scripts.js +49 -49
  247. shared/classes/js/wpl.required-fallback.js +13 -0
  248. shared/css/images/Navigation.png +0 -0
  249. shared/css/images/blank-page.png +0 -0
  250. shared/css/images/clone-create.png +0 -0
  251. shared/css/images/dropdownback.png +0 -0
  252. shared/css/images/headerback.png +0 -0
  253. shared/css/images/hover.png +0 -0
  254. shared/css/images/landing-page-icon-10.png +0 -0
  255. shared/css/images/linkback.png +0 -0
  256. shared/css/images/question-light.png +0 -0
  257. shared/css/images/select-pages.png +0 -0
  258. shared/{assets/css/admin → css/images}/select2x2.png +0 -0
  259. shared/css/images/tooltip.png +0 -0
  260. shared/{assets/css/admin → css}/select2-spinner.gif +0 -0
  261. shared/{assets/css/admin → css}/select2.css +680 -680
  262. shared/{assets/css/admin → css}/select2.png +0 -0
  263. shared/css/select2x2.png +0 -0
  264. shared/docs/analytics.events.md +0 -352
  265. shared/docs/css/blur.jpg +0 -0
  266. shared/docs/css/style.css +0 -885
  267. shared/docs/css/theme.css +0 -84
  268. shared/docs/index.html +0 -93
  269. shared/docs/js/flatdoc.js +0 -515
  270. shared/docs/js/jquery.js +0 -5
  271. shared/docs/js/legacy.js +0 -369
  272. shared/docs/js/script.js +0 -250
  273. shared/docs/js/theme.js +0 -33
  274. shared/docs/leads/leads-user-guide.md +3 -3
  275. shared/docs/main.md +0 -1029
  276. shared/{classes/class.licensing.php → extend/inboundnow.extend.php} +85 -85
  277. shared/extend/inboundnow.extension-licensing.php +293 -0
  278. shared/extend/inboundnow.extension-updating.php +177 -0
  279. shared/{classes/class.master-license.php → extend/inboundnow.global-settings.php} +2 -2
  280. shared/fonts/fontawesome/FontAwesome.otf +0 -0
  281. shared/fonts/fontawesome/README.md +17 -0
  282. shared/fonts/fontawesome/fontawesome-webfont.eot +0 -0
  283. shared/fonts/fontawesome/fontawesome-webfont.svg +414 -0
  284. shared/fonts/fontawesome/fontawesome-webfont.ttf +0 -0
  285. shared/fonts/fontawesome/fontawesome-webfont.woff +0 -0
  286. shared/functions.templates.php +111 -0
  287. shared/functions/global.leads.cpt.php +222 -0
  288. shared/{legacy/functions.php → functions/global.shared.functions.php} +286 -400
  289. shared/images/inbound-now-logo.png +0 -0
  290. shared/inboundnow/inboundnow.extend.php +348 -0
  291. shared/inboundnow/inboundnow.extension-licensing.php +293 -0
  292. shared/inboundnow/inboundnow.extension-updating.php +177 -0
  293. shared/inboundnow/inboundnow.global-settings.php +46 -0
  294. shared/js/jquery.cookie.js +1 -0
  295. shared/js/jquery.total-storage.min.js +22 -0
  296. shared/js/select2.js +3137 -0
  297. shared/js/select2.min.js +22 -0
  298. shared/js/selectron.js +190 -0
  299. shared/languages/calls-to-action.mo +0 -0
  300. shared/languages/calls-to-action.po +2654 -0
  301. shared/languages/calls-to-action/ach.mo +0 -0
  302. shared/languages/calls-to-action/af.mo +0 -0
  303. shared/languages/calls-to-action/ar.mo +0 -0
  304. shared/languages/calls-to-action/az.mo +0 -0
  305. shared/languages/calls-to-action/be_BY.mo +0 -0
  306. shared/languages/calls-to-action/bg_BG.mo +0 -0
  307. shared/languages/calls-to-action/bn_BD.mo +0 -0
  308. shared/languages/calls-to-action/br.mo +0 -0
  309. shared/languages/calls-to-action/bs_BA.mo +0 -0
  310. shared/languages/calls-to-action/ca.mo +0 -0
  311. shared/languages/calls-to-action/co.mo +0 -0
  312. shared/languages/calls-to-action/cs_CZ.mo +0 -0
  313. shared/languages/calls-to-action/cy.mo +0 -0
  314. shared/languages/calls-to-action/da_DK.mo +0 -0
  315. shared/languages/calls-to-action/de_DE.mo +0 -0
  316. shared/languages/calls-to-action/el.mo +0 -0
  317. shared/languages/calls-to-action/en@pirate.mo +0 -0
  318. shared/languages/calls-to-action/en_GB.mo +0 -0
  319. shared/languages/calls-to-action/eo.mo +0 -0
  320. shared/languages/calls-to-action/es_CL.mo +0 -0
  321. shared/languages/calls-to-action/es_ES.mo +0 -0
  322. shared/languages/calls-to-action/es_MX.mo +0 -0
  323. shared/languages/calls-to-action/es_PE.mo +0 -0
  324. shared/languages/calls-to-action/es_VE.mo +0 -0
  325. shared/languages/calls-to-action/et.mo +0 -0
  326. shared/languages/calls-to-action/eu.mo +0 -0
  327. shared/languages/calls-to-action/fa.mo +0 -0
  328. shared/languages/calls-to-action/fa_IR.mo +0 -0
  329. shared/languages/calls-to-action/fi.mo +0 -0
  330. shared/languages/calls-to-action/fo.mo +0 -0
  331. shared/languages/calls-to-action/fr_FR.mo +0 -0
  332. shared/languages/calls-to-action/gl_ES.mo +0 -0
  333. shared/languages/calls-to-action/gu_IN.mo +0 -0
  334. shared/languages/calls-to-action/he_IL.mo +0 -0
  335. shared/languages/calls-to-action/hi_IN.mo +0 -0
  336. shared/languages/calls-to-action/hr.mo +0 -0
  337. shared/languages/calls-to-action/hu_HU.mo +0 -0
  338. shared/languages/calls-to-action/hy.mo +0 -0
  339. shared/languages/calls-to-action/id_ID.mo +0 -0
  340. shared/languages/calls-to-action/is_IS.mo +0 -0
  341. shared/languages/calls-to-action/it_IT.mo +0 -0
  342. shared/languages/calls-to-action/ja.mo +0 -0
  343. shared/languages/calls-to-action/jv.mo +0 -0
  344. shared/languages/calls-to-action/ka.mo +0 -0
  345. shared/languages/calls-to-action/kk.mo +0 -0
  346. shared/languages/calls-to-action/ko_KR.mo +0 -0
  347. shared/languages/calls-to-action/ku.mo +0 -0
  348. shared/languages/calls-to-action/ky.mo +0 -0
  349. shared/languages/calls-to-action/lt_LT.mo +0 -0
  350. shared/languages/calls-to-action/lv.mo +0 -0
  351. shared/languages/calls-to-action/lv_LV.mo +0 -0
  352. shared/languages/calls-to-action/mg.mo +0 -0
  353. shared/languages/calls-to-action/mk_MK.mo +0 -0
  354. shared/languages/calls-to-action/mn.mo +0 -0
  355. shared/languages/calls-to-action/my_MM.mo +0 -0
  356. shared/languages/calls-to-action/nb_NO.mo +0 -0
  357. shared/languages/calls-to-action/ne_NP.mo +0 -0
  358. shared/languages/calls-to-action/nl_NL.mo +0 -0
  359. shared/languages/calls-to-action/nn_NO.mo +0 -0
  360. shared/languages/calls-to-action/oc.mo +0 -0
  361. shared/languages/calls-to-action/pap.mo +0 -0
  362. shared/languages/calls-to-action/pl_PL.mo +0 -0
  363. shared/languages/calls-to-action/pt_BR.mo +0 -0
  364. shared/languages/calls-to-action/pt_PT.mo +0 -0
  365. shared/languages/calls-to-action/ro_RO.mo +0 -0
  366. shared/languages/calls-to-action/ru_RU.mo +0 -0
  367. shared/languages/calls-to-action/sah.mo +0 -0
  368. shared/languages/calls-to-action/sk_SK.mo +0 -0
  369. shared/languages/calls-to-action/sq.mo +0 -0
  370. shared/languages/calls-to-action/sr_RS.mo +0 -0
  371. shared/languages/calls-to-action/su.mo +0 -0
  372. shared/languages/calls-to-action/sv_SE.mo +0 -0
  373. shared/languages/calls-to-action/sw.mo +0 -0
  374. shared/languages/calls-to-action/te.mo +0 -0
  375. shared/languages/calls-to-action/th.mo +0 -0
  376. shared/languages/calls-to-action/tk_TM.mo +0 -0
  377. shared/languages/calls-to-action/tr_TR.mo +0 -0
  378. shared/languages/calls-to-action/ug.mo +0 -0
  379. shared/languages/calls-to-action/uk.mo +0 -0
  380. shared/languages/calls-to-action/uz.mo +0 -0
  381. shared/languages/calls-to-action/vi.mo +0 -0
  382. shared/languages/calls-to-action/zh_CN.GB2312.mo +0 -0
  383. shared/languages/calls-to-action/zh_CN.mo +0 -0
  384. shared/languages/calls-to-action/zh_TW.mo +0 -0
  385. shared/languages/default.mo +0 -0
  386. shared/languages/default.po +2437 -0
  387. shared/languages/landing-pages.mo +0 -0
  388. shared/languages/landing-pages.po +2437 -0
  389. shared/languages/landing-pages/_get-translations.bat +11 -0
  390. shared/languages/landing-pages/ach.mo +0 -0
  391. shared/languages/landing-pages/af.mo +0 -0
  392. shared/languages/landing-pages/ar.mo +0 -0
  393. shared/languages/landing-pages/az.mo +0 -0
  394. shared/languages/landing-pages/be_BY.mo +0 -0
  395. shared/languages/landing-pages/bg_BG.mo +0 -0
  396. shared/languages/landing-pages/bn_BD.mo +0 -0
  397. shared/languages/landing-pages/br.mo +0 -0
  398. shared/languages/landing-pages/bs_BA.mo +0 -0
  399. shared/languages/landing-pages/ca.mo +0 -0
  400. shared/languages/landing-pages/co.mo +0 -0
  401. shared/languages/landing-pages/cs_CZ.mo +0 -0
  402. shared/languages/landing-pages/cy.mo +0 -0
  403. shared/languages/landing-pages/da_DK.mo +0 -0
  404. shared/languages/landing-pages/de_DE.mo +0 -0
  405. shared/languages/landing-pages/el.mo +0 -0
  406. shared/languages/landing-pages/en_GB.mo +0 -0
  407. shared/languages/landing-pages/eo.mo +0 -0
  408. shared/languages/landing-pages/es_CL.mo +0 -0
  409. shared/languages/landing-pages/es_ES.mo +0 -0
  410. shared/languages/landing-pages/es_MX.mo +0 -0
  411. shared/languages/landing-pages/es_PE.mo +0 -0
  412. shared/languages/landing-pages/es_VE.mo +0 -0
  413. shared/languages/landing-pages/et.mo +0 -0
  414. shared/languages/landing-pages/eu.mo +0 -0
  415. shared/languages/landing-pages/fa.mo +0 -0
  416. shared/languages/landing-pages/fa_IR.mo +0 -0
  417. shared/languages/landing-pages/fi.mo +0 -0
  418. shared/languages/landing-pages/fo.mo +0 -0
  419. shared/languages/landing-pages/fr_FR.mo +0 -0
  420. shared/languages/landing-pages/ga.mo +0 -0
  421. shared/languages/landing-pages/gl_ES.mo +0 -0
  422. shared/languages/landing-pages/gu_IN.mo +0 -0
  423. shared/languages/landing-pages/he_IL.mo +0 -0
  424. shared/languages/landing-pages/hi_IN.mo +0 -0
  425. shared/languages/landing-pages/hr.mo +0 -0
  426. shared/languages/landing-pages/hu_HU.mo +0 -0
  427. shared/languages/landing-pages/hy.mo +0 -0
  428. shared/languages/landing-pages/id.mo +0 -0
  429. shared/languages/landing-pages/id_ID.mo +0 -0
  430. shared/languages/landing-pages/is_IS.mo +0 -0
  431. shared/languages/landing-pages/it_IT.mo +0 -0
  432. shared/languages/landing-pages/ja.mo +0 -0
  433. shared/languages/landing-pages/jv.mo +0 -0
  434. shared/languages/landing-pages/ka.mo +0 -0
  435. shared/languages/landing-pages/kk.mo +0 -0
  436. shared/languages/landing-pages/km.mo +0 -0
  437. shared/languages/landing-pages/ko_KR.mo +0 -0
  438. shared/languages/landing-pages/ku.mo +0 -0
  439. shared/languages/landing-pages/ky.mo +0 -0
  440. shared/languages/landing-pages/landing-pages-fr_FR.mo +0 -0
  441. shared/languages/landing-pages/landing-pages.mo +0 -0
  442. shared/languages/landing-pages/landing-pages.po +2437 -0
  443. shared/languages/landing-pages/lt_LT.mo +0 -0
  444. shared/languages/landing-pages/lv.mo +0 -0
  445. shared/languages/landing-pages/lv_LV.mo +0 -0
  446. shared/languages/landing-pages/mg.mo +0 -0
  447. shared/languages/landing-pages/mk_MK.mo +0 -0
  448. shared/languages/landing-pages/mn.mo +0 -0
  449. shared/languages/landing-pages/my_MM.mo +0 -0
  450. shared/languages/landing-pages/nb_NO.mo +0 -0
  451. shared/languages/landing-pages/ne_NP.mo +0 -0
  452. shared/languages/landing-pages/nl.mo +0 -0
  453. shared/languages/landing-pages/nl_NL.mo +0 -0
  454. shared/languages/landing-pages/nn_NO.mo +0 -0
  455. shared/languages/landing-pages/oc.mo +0 -0
  456. shared/languages/landing-pages/pap.mo +0 -0
  457. shared/languages/landing-pages/pl_PL.mo +0 -0
  458. shared/languages/landing-pages/pt_BR.mo +0 -0
  459. shared/languages/landing-pages/pt_PT.mo +0 -0
  460. shared/languages/landing-pages/ro_RO.mo +0 -0
  461. shared/languages/landing-pages/ru_RU.mo +0 -0
  462. shared/languages/landing-pages/sah.mo +0 -0
  463. shared/languages/landing-pages/si_LK.mo +0 -0
  464. shared/languages/landing-pages/sk_SK.mo +0 -0
  465. shared/languages/landing-pages/sl_SI.mo +0 -0
  466. shared/languages/landing-pages/sq.mo +0 -0
  467. shared/languages/landing-pages/sr_RS.mo +0 -0
  468. shared/languages/landing-pages/su.mo +0 -0
  469. shared/languages/landing-pages/sv_SE.mo +0 -0
  470. shared/languages/landing-pages/sw.mo +0 -0
  471. shared/languages/landing-pages/ta_LK.mo +0 -0
  472. shared/languages/landing-pages/te.mo +0 -0
  473. shared/languages/landing-pages/th.mo +0 -0
  474. shared/languages/landing-pages/tk_TM.mo +0 -0
  475. shared/languages/landing-pages/tr_TR.mo +0 -0
  476. shared/languages/landing-pages/ug.mo +0 -0
  477. shared/languages/landing-pages/uk.mo +0 -0
  478. shared/languages/landing-pages/ur_PK.mo +0 -0
  479. shared/languages/landing-pages/uz.mo +0 -0
  480. shared/languages/landing-pages/vi.mo +0 -0
  481. shared/languages/landing-pages/zh_CN.GB2312.mo +0 -0
  482. shared/languages/landing-pages/zh_CN.mo +0 -0
  483. shared/languages/landing-pages/zh_TW.mo +0 -0
  484. shared/languages/leads.mo +0 -0
  485. shared/languages/leads.po +5673 -0
  486. shared/languages/leads/_get-translations.bat +11 -0
  487. shared/languages/leads/ach.mo +0 -0
  488. shared/languages/leads/af.mo +0 -0
  489. shared/languages/leads/ar.mo +0 -0
  490. shared/languages/leads/az.mo +0 -0
  491. shared/languages/leads/be_BY.mo +0 -0
  492. shared/languages/leads/bg_BG.mo +0 -0
  493. shared/languages/leads/bn_BD.mo +0 -0
  494. shared/languages/leads/br.mo +0 -0
  495. shared/languages/leads/bs_BA.mo +0 -0
  496. shared/languages/leads/ca.mo +0 -0
  497. shared/languages/leads/co.mo +0 -0
  498. shared/languages/leads/cs_CZ.mo +0 -0
  499. shared/languages/leads/cy.mo +0 -0
  500. shared/languages/leads/da_DK.mo +0 -0
  501. shared/languages/leads/de_DE.mo +0 -0
  502. shared/languages/leads/default.mo +0 -0
  503. shared/languages/leads/el.mo +0 -0
  504. shared/languages/leads/en@pirate.mo +0 -0
  505. shared/languages/leads/en_GB.mo +0 -0
  506. shared/languages/leads/eo.mo +0 -0
  507. shared/languages/leads/es_CL.mo +0 -0
  508. shared/languages/leads/es_ES.mo +0 -0
  509. shared/languages/leads/es_MX.mo +0 -0
  510. shared/languages/leads/es_PE.mo +0 -0
  511. shared/languages/leads/es_VE.mo +0 -0
  512. shared/languages/leads/et.mo +0 -0
  513. shared/languages/leads/eu.mo +0 -0
  514. shared/languages/leads/fa.mo +0 -0
  515. shared/languages/leads/fa_IR.mo +0 -0
  516. shared/languages/leads/fi.mo +0 -0
  517. shared/languages/leads/fo.mo +0 -0
  518. shared/languages/leads/fr_FR.mo +0 -0
  519. shared/languages/leads/ga.mo +0 -0
  520. shared/languages/leads/gl_ES.mo +0 -0
  521. shared/languages/leads/gu_IN.mo +0 -0
  522. shared/languages/leads/he_IL.mo +0 -0
  523. shared/languages/leads/hi_IN.mo +0 -0
  524. shared/languages/leads/hr.mo +0 -0
  525. shared/languages/leads/hu_HU.mo +0 -0
  526. shared/languages/leads/hy.mo +0 -0
  527. shared/languages/leads/id.mo +0 -0
  528. shared/languages/leads/id_ID.mo +0 -0
  529. shared/languages/leads/is_IS.mo +0 -0
  530. shared/languages/leads/it_IT.mo +0 -0
  531. shared/languages/leads/ja.mo +0 -0
  532. shared/languages/leads/jv.mo +0 -0
  533. shared/languages/leads/ka.mo +0 -0
  534. shared/languages/leads/kk.mo +0 -0
  535. shared/languages/leads/km.mo +0 -0
  536. shared/languages/leads/ko_KR.mo +0 -0
  537. shared/languages/leads/ku.mo +0 -0
  538. shared/languages/leads/ky.mo +0 -0
  539. shared/languages/leads/lt_LT.mo +0 -0
  540. shared/languages/leads/lv.mo +0 -0
  541. shared/languages/leads/lv_LV.mo +0 -0
  542. shared/languages/leads/mg.mo +0 -0
  543. shared/languages/leads/mk_MK.mo +0 -0
  544. shared/languages/leads/mn.mo +0 -0
  545. shared/languages/leads/my_MM.mo +0 -0
  546. shared/languages/leads/nb_NO.mo +0 -0
  547. shared/languages/leads/ne_NP.mo +0 -0
  548. shared/languages/leads/nl.mo +0 -0
  549. shared/languages/leads/nl_NL.mo +0 -0
  550. shared/languages/leads/nn_NO.mo +0 -0
  551. shared/languages/leads/oc.mo +0 -0
  552. shared/languages/leads/pap.mo +0 -0
  553. shared/languages/leads/pl_PL.mo +0 -0
  554. shared/languages/leads/pt_BR.mo +0 -0
  555. shared/languages/leads/pt_PT.mo +0 -0
  556. shared/languages/leads/ro_RO.mo +0 -0
  557. shared/languages/leads/ru_RU.mo +0 -0
  558. shared/languages/leads/sah.mo +0 -0
  559. shared/languages/leads/si_LK.mo +0 -0
  560. shared/languages/leads/sk_SK.mo +0 -0
  561. shared/languages/leads/sl_SI.mo +0 -0
  562. shared/languages/leads/sq.mo +0 -0
  563. shared/languages/leads/sr_RS.mo +0 -0
  564. shared/languages/leads/su.mo +0 -0
  565. shared/languages/leads/sv_SE.mo +0 -0
  566. shared/languages/leads/sw.mo +0 -0
  567. shared/languages/leads/ta_LK.mo +0 -0
  568. shared/languages/leads/te.mo +0 -0
  569. shared/languages/leads/th.mo +0 -0
  570. shared/languages/leads/tk_TM.mo +0 -0
  571. shared/languages/leads/tr_TR.mo +0 -0
  572. shared/languages/leads/ug.mo +0 -0
  573. shared/languages/leads/uk.mo +0 -0
  574. shared/languages/leads/ur_PK.mo +0 -0
  575. shared/languages/leads/uz.mo +0 -0
  576. shared/languages/leads/vi.mo +0 -0
  577. shared/languages/leads/zh_CN.GB2312.mo +0 -0
  578. shared/languages/leads/zh_CN.mo +0 -0
  579. shared/languages/leads/zh_TW.mo +0 -0
  580. shared/metaboxes/inbound-metaboxes.css +70 -0
  581. shared/{assets/index.php → metaboxes/inbound-metaboxes.js} +0 -0
  582. shared/metaboxes/template.metaboxes.php +172 -0
  583. shared/shortcodes/css/form-cpt.css +141 -144
  584. shared/shortcodes/css/frontend-render.css +1074 -1096
  585. shared/shortcodes/css/shortcodes.css +613 -614
  586. shared/shortcodes/inbound-shortcodes.php +834 -834
  587. shared/shortcodes/js/form-cpt.js +126 -126
  588. shared/shortcodes/js/select2.js +1 -1
  589. shared/shortcodes/js/shortcodes-plugins.js +31 -31
  590. shared/shortcodes/js/shortcodes.js +1072 -1092
  591. shared/shortcodes/js/tinymce.js +189 -189
  592. shared/shortcodes/popup.php +68 -68
  593. shared/shortcodes/preview.php +214 -221
  594. shared/shortcodes/shortcodes-fields.php +331 -342
  595. shared/shortcodes/shortcodes-includes.php +107 -98
  596. shared/shortcodes/shortcodes/alert.php +45 -45
  597. shared/shortcodes/shortcodes/button.php +108 -108
  598. shared/shortcodes/shortcodes/call-to-action.php +31 -31
  599. shared/shortcodes/shortcodes/callout.php +166 -166
  600. shared/shortcodes/shortcodes/column.php +170 -176
  601. shared/shortcodes/shortcodes/content-box.php +77 -77
  602. shared/shortcodes/shortcodes/divider.php +113 -113
  603. shared/shortcodes/shortcodes/forms.php +766 -791
  604. shared/shortcodes/shortcodes/gmap.php +154 -154
  605. shared/shortcodes/shortcodes/icon.php +58 -58
  606. shared/shortcodes/shortcodes/intro.php +92 -92
  607. shared/shortcodes/shortcodes/landing-page-list.php +136 -136
  608. shared/shortcodes/shortcodes/landing_pages.php +205 -205
  609. shared/shortcodes/shortcodes/leadp.php +43 -43
  610. shared/shortcodes/shortcodes/list-icon.php +64 -64
  611. shared/shortcodes/shortcodes/lists.php +59 -59
  612. shared/shortcodes/shortcodes/pricing.php +211 -211
  613. shared/shortcodes/shortcodes/profile.php +183 -183
  614. shared/shortcodes/shortcodes/quick-forms.php +36 -38
  615. shared/shortcodes/shortcodes/social-share.php +101 -101
  616. shared/shortcodes/shortcodes/social.php +93 -93
  617. shared/shortcodes/shortcodes/tabs.php +130 -130
  618. shared/shortcodes/shortcodes/teaser.php +254 -254
  619. shared/shortcodes/shortcodes/testimonial.php +178 -178
  620. shared/shortcodes/shortcodes/video.php +31 -31
  621. shared/templates/email-templates/inbound-new-lead-notification/inbound-new-lead-notification.php +168 -168
  622. shared/templates/email-templates/inbound-new-lead-notification/preview.html +165 -165
  623. shared/templates/email-templates/token-test/token-test.php +54 -54
  624. shared/templates/email-templates/wp-new-user-notification/preview.html +104 -104
  625. shared/templates/email-templates/wp-new-user-notification/wp-new-user-notification.php +111 -111
  626. shared/templates/email-templates/wp-notify-moderator/wp-notify-moderator.php +126 -126
  627. shared/templates/email-templates/wp-notify-post-author/demo.html +105 -105
  628. shared/templates/email-templates/wp-notify-post-author/wp-notify-post-author.php +107 -107
  629. shared/tracking/form-population.js +1 -0
  630. shared/tracking/js/inprogress.store.lead.ajax.js +631 -0
  631. shared/tracking/js/store.lead.ajax.js +1 -0
  632. shared/tracking/js/store.lead.ajax.js.orig +512 -0
  633. shared/tracking/page-tracking.js +1 -0
  634. shared/tracking/store.lead.php +518 -0
  635. shared/tracking/store.lead.php.orig +297 -0
  636. templates/ALERT ALERT ALERT.txt +0 -18
  637. templates/USE UPLOADS FOLDER.txt +0 -18
  638. templates/WARNING READ THIS.txt +0 -18
  639. templates/countdown-lander/assets/css/styles.css +17 -21
  640. templates/countdown-lander/config.php +1 -1
  641. templates/default/config.php +1 -1
  642. templates/demo/config.php +126 -126
  643. templates/dropcap/assets/css/style.css +0 -4
  644. templates/dropcap/index.php +0 -6
  645. templates/half-and-half/assets/css/style.css +1 -0
  646. templates/half-and-half/index.php +1 -1
  647. templates/simple-solid-lite/config.php +3 -3
  648. templates/simple-solid-lite/css/main.css +2 -61
  649. templates/simple-two-column/assets/css/style.css +1 -27
  650. templates/simple-two-column/index.php +108 -127
  651. templates/svtle/assets/css/style.css +21 -9
  652. templates/svtle/config.php +1 -1
  653. templates/svtle/index.php +8 -10
  654. templates/three-column-lander/config.php +4 -4
  655. templates/three-column-lander/index.php +1 -1
  656. templates/tubelar/config.php +3 -3
  657. templates/tubelar/index.php +29 -37
  658. tests/travis-ci/bootstrap.php +0 -29
  659. tests/travis-ci/test.activations.php +0 -50
  660. tests/travis-ci/test.statistics.php +0 -68
Gruntfile.js DELETED
@@ -1,19 +0,0 @@
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,21 +1,24 @@
1
- ![](https://travis-ci.org/inboundnow/landing-pages.svg?branch=master)
2
3
- # WordPress Landing Pages #
4
5
- **Contributors:** David Wells, Hudson Atwell
6
- **Donate link:** mailto:marketplace@inboundnow.com
7
- **License:** GPLv2 or later
8
- **License URI:** http://www.gnu.org/licenses/gpl-2.0.html
9
- **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
10
- **Requires at least:** 3.8
11
- **Tested up to:** 4.1
12
- **Stable Tag:** 1.8.0
13
14
- Create landing pages for your WordPress site. Monitor and improve conversion rates, run A/B split tests, customize your own templates and more.
15
16
- ## Description ##
17
18
- > 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.
19
20
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!
21
@@ -23,7 +26,7 @@ The landing page plugin was specifically designed with inbound marketing best pr
23
24
Landing pages are an ideal way to convert more of your passive website visitors into active leads or email list subscribers.
25
26
- ### Highlights ###
27
28
* Create beautiful Landing Pages on your WordPress site.
29
* Visual Editor to view changes being made on the fly!
@@ -39,321 +42,130 @@ This plugin is form agnostic meaning it will work with any form system you use.
39
40
Recommended form plugins (Gravity forms, Ninja Forms or Contact form 7)
41
42
- ### About the Plugin ###
43
44
- http://www.youtube.com/watch?v=flEd0sRTFUo
45
46
- ### Developers & Designers ###
47
48
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.
49
50
- You can quickly take your existing designs and implement them using our <a href="http://docs.inboundnow.com/section/developer/">templating framework</a>.
51
52
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.
53
54
-
55
- [Follow Development on GitHub ](https://github.com/inboundnow/landing-pages "Follow & Contribute to core development on GitHub")
56
- |
57
- [Follow Development on Twitter ](https://twitter.com/gitlandingpages "See our latest development commits on Twitter")
58
-
59
-
60
- ## Installation ##
61
62
1. Upload `landing-pages` folder to the `/wp-content/plugins/` directory
63
1. Activate the plugin through the 'Plugins' menu in WordPress
64
65
- ## Frequently Asked Questions ##
66
*Can I create my own landing page designs?,
67
- *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>.
68
-
69
- ## Screenshots ##
70
-
71
- ### 1. Landing Page Custom Post Type ###
72
- ![Landing Page Custom Post Type](screenshot-1.jpg)
73
-
74
- ### 2. Track conversion rates and continuously improve your landing pages ###
75
- ![Track conversion rates and continuously improve your landing pages](screenshot-2.jpg)
76
-
77
- ### 3. Manage Split Testing Page ###
78
- ![Manage Split Testing Page](screenshot-3.jpg)
79
-
80
- ### 4. Choose from a ton of pre-made templates, use your existing design, or design your own theme! ###
81
- ![Choose from a ton of pre-made templates, use your existing design, or design your own theme!](screenshot-4.jpg)
82
-
83
-
84
- ## Changelog ##
85
- ### 1.8.0 ###
86
- * Fixing addon store
87
-
88
- ### 1.7.9 ###
89
- * Even more security updates! Security for the win!
90
-
91
- ### 1.7.8 ###
92
- * Security Patch
93
-
94
- ### 1.7.7 ###
95
- * Fix double lead notification email
96
-
97
- ### 1.7.6 ###
98
- * Fixed double email submission on contact form 7
99
-
100
- ### 1.7.5 ###
101
- * Added form field exclusions to ignore sensitive data
102
-
103
- ### 1.7.3 ###
104
- * See changelog here: https://github.com/inboundnow/landing-pages/issues?q=is%3Aissue+is%3Aclosed+label%3Av1.7.3
105
-
106
- ### 1.7.2 ###
107
- * Improved form email typo detection
108
- * Improved Template Styles
109
- * Fixed content wysiwyg scroll freezing bug
110
-
111
- ### 1.7.1 ###
112
- * removed iframe of inbound now addon store. For addons please visit: http://inboundnow.com/market
113
114
- ### 1.7.0 ###
115
- * Removed anonymous PHP functions for PHP 5.2 support
116
- * Updated template creation standards
117
- * Converted varition modules to CLASS based system & documented
118
- * Move /lang/ file outside of shared
119
-
120
- ### 1.6.2 ###
121
- * Bug Fix: Fix with lead email notifications
122
-
123
- ### 1.5.9 ###
124
- * Various bug fixes.
125
- * Refactored main plugin file to class loader.
126
- * Improved localization systems.
127
-
128
- ### 1.5.8 ###
129
- * Bug Fix: Check all required fields
130
-
131
- ### 1.5.7 ###
132
- * Improvement: All core template now use new consolidated settings system.
133
- * Improvement: Leads Dashboard styling & stats
134
- * Improvement: Screenshots on local installation replaced with template thumbnails.
135
-
136
-
137
- ### 1.5.6 ###
138
- * Fix to insert marketing shortcode popup
139
-
140
- ### 1.5.5 ###
141
- * Added events to lead tracking
142
- * Bug Fix: Marketing Button
143
- * Optimized CTA Tracking JS.
144
- * Expanded impression/conversion analytics to all post types.
145
146
- ### 1.5.4 ###
147
- * Impression tracking bug fix.
148
- * Bringing Inbound Tracking to All Posts/Pages
149
150
- ### 1.5.3 ###
151
- * Temporary fix for shortcodes disappearing from wordpress 3.8 to 3.9
152
- * Performance improvements on analytics and lead tracking
153
154
- ### 1.5.1 ###
155
- * Misc bug fixes
156
-
157
- ### 1.5.0 ###
158
- * fixed field mapping bug
159
- * Added better compability for js conflicts
160
- * Prepping for marketing automation
161
-
162
- ### 1.4.9 ###
163
- * Fixed and improved default landing page templates
164
- * Updates to work with V2 of the CTA plugins
165
- * Improved form compatibilty with contact form 7, gravity forms, and ninja forms
166
- * Numerous bug files and code improvements
167
-
168
- ### 1.4.8 ###
169
- * Added Google Analytics Custom Event Tracking for form submissions
170
- * Added Ability: automatically sort leads into lists on form completions
171
- * Added Ability: Send lead notification emails to multiple people. Use comma separated values
172
- * Improved Social Media Buttons called with lp_social_media() function
173
- * Fixed qTranslate plugin bug
174
- * Fixed Genesis Title tag conflict
175
- * Added improved asset loader
176
- * Updated main docs.inboundnow.com site. Check it out!
177
-
178
- ### 1.4.7 ###
179
- * GPL fix with js library
180
-
181
- ### 1.4.6 ###
182
- * New Feature: Bulk Lead management with leads plugin wordpress.org/plugins/leads/
183
- * Added tags to lead profiles for improved management/categorization
184
- * Added new compatibility options to fix third party plugin conflicts!
185
- * Added new debugging javascript debugging tools for users
186
- * Fixed Email Sending Error on forms
187
- * Improved support for master license keys
188
-
189
- ### 1.4.5 ###
190
- * Added New HTML Lead Email Template with clickable links for faster lead management
191
- * Added Button Shortcodes!
192
- * Added HTML field option to form tool
193
- * Added Divider Option to Form tool
194
- * Added multi column support to icon list shortcode
195
- * Added Font Awesome Icons option to Inbound Form Submit buttons
196
- * Added Social Sharing Shortcode
197
- * Bug fix - emails not sending after form conversion fixed
198
-
199
- ### 1.4.1 ###
200
- * Bug fix - missing trackingObj
201
-
202
- ### 1.4.0 ###
203
- * Added feature request form to all plugin admin pages. Submit your feature requests today! =)
204
-
205
- ### 1.3.9 ###
206
- * Bug fixes for form creation issues
207
- * Bug fixes for safari page tracking not firing
208
- * Added quick menu to WP admin bar for quicker marketing!
209
-
210
- ### 1.3.8 ###
211
- * Updated styles to 3.8 wordpress
212
- * Streamlined form creation
213
- * fixed rogue PHP errors
214
-
215
- ### 1.3.7 ###
216
- * Added: Shortcode now automatically render in landing page option echos in templates
217
- * Updated: Visual Editor tool
218
- * Updated: Template selection interface
219
- * Updated: Major updates to core templates, CSS tweaks and fixes
220
- * Fixed: Shortcode insert into correct editor box
221
- * Fixed: editor always on HTML view
222
-
223
- ### 1.3.6 ###
224
-
225
- * Added: New Shortcodes! Fancy List and Column shortcodes
226
- * Added: Added email confirmation support to Inbound Forms tool
227
- * Added: Added New Welcome Page with Tutorial Video on Getting Started
228
- * Added: New Debug Tab for faster support requests/debugging
229
- * Fixed: CSS conflicts with button classes
230
-
231
- ### 1.3.1 ###
232
-
233
- * Added: Added InboundNow form creation and management system (beta)
234
- * Added: Support for InboundNow cross plugin extensions
235
- * Added: 'Sticky Variations' to global settings.
236
- * Added: Easier way for extension developers to license their extensions.
237
- * Added: 'header' setting component to global settings.
238
- * Fixed: Security issues
239
- * Improvement: Improved data management for global settings, metaboxes, and extensions.
240
-
241
- ### 1.2.3 ###
242
-
243
- * Fixed: Security issue with vulnerability to sql injection.
244
-
245
- ### 1.2.1 ###
246
-
247
- * Fixed: Issues with shortcodes rendering in wp-admin for variations.
248
-
249
- ### 1.1.9 ###
250
-
251
- * Fixed: Issues with navigation menu items breaking on landing pages with the default template selected.
252
-
253
- ### 1.1.8 ###
254
-
255
- * Fixed: Issue with post_content not saving for variations.
256
- * Added: [lp_conversion_area] Shortcode. It renders form conversion area anywhere on landing page
257
- * Fixed: Restored the ability to delete custom templates from 'Templates' section.
258
-
259
- ### 1.1.7 ###
260
-
261
- * Fixed: Issue with extension license keys not validating
262
- * Fixed: Issue with shortcodes not firing on select core templates
263
- * Improvement: Converted global settings data array to new easier to read format for development, added in legacy support.
264
-
265
- ### 1.1.0.1 ###
266
267
* Fixed: Variation saves for custom css and custom js.
268
* Fixed: jQuery error related to wysiwyg content formatting.
269
270
- ### 1.0.9.9 ###
271
* Improved extension metabox loading for quicker load times and optimized meta data storage.
272
* Phased out more 'old method' split testing components.
273
* Improved .htaccess parsing.
274
* Addressed issue with line breaks being removed from WYSIWYG editors.
275
276
- ### 1.0.9.4 ###
277
* 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
278
* Updated conversion tracking for wp-leads addon plugin
279
* Added in option for default templates to toggle on/off navigation
280
281
- ### 1.0.9.3 ###
282
283
* Removed old A/B split testing and the new system is fully in place!
284
285
- ### 1.0.9.0 ###
286
287
* Added in A/B stats to the main landing page list view
288
289
- ### 1.0.8.6 ###
290
291
* Release new and improved version of A/B testing!
292
* Ajax saving on landing page options for faster page edits
293
* Frontend Visual Editor to see what you are editing/changing
294
* Enabled frontend editor for use on normal pages and posts
295
296
- ### 1.0.8.5 ###
297
298
Providing better conversion and impression tracking for landing pages that are set as homepage.
299
300
- ### 1.0.8.4 ###
301
302
Fixing activation bug
303
304
- ### 1.0.8.1 ###
305
306
Fixing issue with jquery submission errors.
307
308
- ### 1.0.7.9 ###
309
310
Added capability to activate and update license keys for premium extensions. Added ability to define white listed HTML elements for Form Standardization process.
311
312
- ### 1.0.7.3 ###
313
314
Fixed issue with WP_List_table causing posts to to save or edit propperly Attempt 001
315
316
- ### 1.0.7.1 ###
317
318
Added cookie based auto-field population & lead data collection to core.
319
320
- ### 1.0.5.6 ###
321
322
Fixed issue with global setting's radio buttons not holding new set values.
323
324
- ### 1.0.5.3 ###
325
326
Solutions for custom post type wp rewrite issue on activation.
327
328
- ### 1.0.5.1 ###
329
330
Introducing version control system for extensions.
331
332
- ### 1.0.4.4 ###
333
334
Migrating store to new location. Updating version control systems
335
336
- ### 1.0.4.2 ###
337
338
Added new defitions to form standardization parser. Limited .htaccess rewrites to plugin activation to try and mitigate .htaccess corruptions.
339
340
- ### 1.0.4.1 ###
341
342
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.
343
344
- ### 1.0.3.9 ###
345
346
Fixed issue with plugins and wp core refusing to update on some installations when landing page plugin is activated.
347
348
- ### 1.0.3.8 ###
349
350
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.
351
Added email validation check to prevent false positives when form standardization is turned on.
352
353
- ### 1.0.3.7 ###
354
355
- **Bug Fix:** 'Clear Stats' button.
356
357
- ### 1.1 ###
358
359
Released
1
+ [![Build Status](https://travis-ci.org/inboundnow/landing-pages.png?branch=master)](https://travis-ci.org/inboundnow/landing-pages)
2
3
+ landing-pages
4
+ =============
5
6
+ WordPress Landing Pages - Plugin
7
8
+ === WordPress Landing Pages ===
9
+
10
+ Contributors: David Wells, adbox
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
+ == Description ==
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
27
Landing pages are an ideal way to convert more of your passive website visitors into active leads or email list subscribers.
28
29
+ = Highlights =
30
31
* Create beautiful Landing Pages on your WordPress site.
32
* Visual Editor to view changes being made on the fly!
42
43
Recommended form plugins (Gravity forms, Ninja Forms or Contact form 7)
44
45
+ = About the Plugin =
46
47
+ http://www.youtube.com/watch?v=BzcD6PgvLP4
48
49
+ = Developers & Designers =
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/landing-pages/dev">templating framework</a>.
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
+ == Installation ==
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
+ == Frequently Asked Questions ==
63
*Can I create my own landing page designs?,
64
+ *Yes! You can learn how to <a href="http://docs.inboundnow.com/landing-pages/dev/creating-templates">create your own landing page template here</a>.
65
66
+ == Screenshots ==
67
68
+ 1. Landing Page Custom Post Type
69
+ 2. Track conversion rates and continuously improve your landing pages
70
+ 3. Manage Split Testing Page
71
+ 4. Choose from a ton of pre-made templates, use your existing design, or design your own theme!
72
73
+ == Changelog ==
74
75
+ = 1.1.0.1 =
76
77
* Fixed: Variation saves for custom css and custom js.
78
* Fixed: jQuery error related to wysiwyg content formatting.
79
80
+ = 1.0.9.9 =
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
+ = 1.0.9.4 =
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
+ = 1.0.9.3 =
92
93
* Removed old A/B split testing and the new system is fully in place!
94
95
+ = 1.0.9.0 =
96
97
* Added in A/B stats to the main landing page list view
98
99
+ = 1.0.8.6 =
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
+ = 1.0.8.5 =
107
108
Providing better conversion and impression tracking for landing pages that are set as homepage.
109
110
+ = 1.0.8.4 =
111
112
Fixing activation bug
113
114
+ = 1.0.8.1 =
115
116
Fixing issue with jquery submission errors.
117
118
+ = 1.0.7.9 =
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
+ = 1.0.7.3 =
123
124
Fixed issue with WP_List_table causing posts to to save or edit propperly Attempt 001
125
126
+ = 1.0.7.1 =
127
128
Added cookie based auto-field population & lead data collection to core.
129
130
+ = 1.0.5.6 =
131
132
Fixed issue with global setting's radio buttons not holding new set values.
133
134
+ = 1.0.5.3 =
135
136
Solutions for custom post type wp rewrite issue on activation.
137
138
+ = 1.0.5.1 =
139
140
Introducing version control system for extensions.
141
142
+ = 1.0.4.4 =
143
144
Migrating store to new location. Updating version control systems
145
146
+ = 1.0.4.2 =
147
148
Added new defitions to form standardization parser. Limited .htaccess rewrites to plugin activation to try and mitigate .htaccess corruptions.
149
150
+ = 1.0.4.1 =
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
+ = 1.0.3.9 =
155
156
Fixed issue with plugins and wp core refusing to update on some installations when landing page plugin is activated.
157
158
+ = 1.0.3.8 =
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
+ = 1.0.3.7 =
164
165
+ Bug Fix: 'Clear Stats' button.
166
167
+ = 1.1 =
168
169
Released
170
+
171
+
classes/class.activation.php CHANGED
@@ -1,144 +1,100 @@
1
<?php
2
3
if ( !class_exists('Landing_Pages_Activation') ) {
4
5
class Landing_Pages_Activation {
6
-
7
static $version_wp;
8
static $version_php;
9
static $version_cta;
10
static $version_leads;
11
static $version_lpah;
12
-
13
public static function activate() {
14
self::load_static_vars();
15
self::run_version_checks();
16
self::activate_plugin();
17
self::run_updates();
18
}
19
-
20
public static function deactivate() {
21
global $wp_rewrite;
22
$wp_rewrite->flush_rules();
23
}
24
-
25
- public static function load_static_vars() {
26
-
27
self::$version_wp = '3.6';
28
- self::$version_php = '5.2';
29
- self::$version_cta = '1.2.1';
30
self::$version_leads = '1.2.1';
31
self::$version_lpah = '1.0.8';
32
}
33
-
34
public static function activate_plugin() {
35
-
36
/* Update DB Markers for Plugin */
37
self::store_version_data();
38
-
39
/* Set Default Settings */
40
self::set_default_settings();
41
42
- /* Activate shared components */
43
- self::activate_shared();
44
-
45
- /* Run additional actions */
46
- do_action( 'activate_landing_pages' );
47
-
48
}
49
-
50
- /* This method loads public methods from the Landing_Pages_Activation_Update_Routines class and automatically runs them if they have not been run yet.
51
- * We use transients to store the data, which may not be the best way but I don't have to worry about save/update/create option and the auto load process
52
*/
53
54
public static function run_updates() {
55
-
56
/* Get list of updaters from Landing_Pages_Activation_Update_Routines class */
57
$updaters = get_class_methods('Landing_Pages_Activation_Update_Routines');
58
-
59
/* Get transient list of completed update processes */
60
$completed = ( get_option( 'lp_completed_upgrade_routines' ) ) ? get_option( 'lp_completed_upgrade_routines' ) : array();
61
62
/* Get the difference between the two arrays */
63
$remaining = array_diff( $updaters , $completed );
64
-
65
/* Loop through updaters and run updaters that have not been ran */
66
foreach ( $remaining as $updater ) {
67
-
68
Landing_Pages_Activation_Update_Routines::$updater();
69
$completed[] = $updater;
70
-
71
}
72
-
73
/* Update this transient value with list of completed upgrade processes */
74
update_option( 'lp_completed_upgrade_routines' , $completed );
75
76
}
77
-
78
- /**
79
- * This method checks if there are upgrade routines that have not been executed yet and notifies the administror if there are
80
- *
81
- */
82
- public static function run_upgrade_routine_checks() {
83
-
84
- /* Listen for a manual upgrade call */
85
- if (isset($_GET['plugin_action']) && $_GET['plugin_action'] == 'upgrade_routines' && $_GET['plugin'] =='landing-pages' ) {
86
- self::run_updates();
87
- wp_redirect(admin_url('edit.php?post_type=landing-page'));
88
- exit;
89
- }
90
-
91
- /* Get list of updaters from Landing_Pages_Activation_Update_Routines class */
92
- $updaters = get_class_methods('Landing_Pages_Activation_Update_Routines');
93
-
94
- /* Get transient list of completed update processes */
95
- $completed = ( get_option( 'lp_completed_upgrade_routines' ) ) ? get_option( 'lp_completed_upgrade_routines' ) : array();
96
-
97
- /* Get the difference between the two arrays */
98
- $remaining = array_diff( $updaters , $completed );
99
-
100
- if (count($remaining)>0) {
101
- add_action( 'admin_notices', array( __CLASS__ , 'display_upgrade_routine_notice' ) );
102
- }
103
- }
104
-
105
- public static function display_upgrade_routine_notice() {
106
- ?>
107
- <div class="error">
108
- <p><?php _e( 'Landing Pages plugin requires a database upgrade:', 'landing-pages' ); ?> <a href='?plugin=landing-pages&plugin_action=upgrade_routines'><?php _e('Upgrade database now' , 'landing-pages' ); ?></a></p>
109
- </div>
110
- <?php
111
- }
112
-
113
-
114
/* Creates transient records of past and current version data */
115
public static function store_version_data() {
116
-
117
$old = get_transient('lp_current_version');
118
set_transient( 'lp_previous_version' , $old );
119
set_transient( 'lp_current_version' , LANDINGPAGES_CURRENT_VERSION );
120
-
121
}
122
-
123
public static function set_default_settings() {
124
add_option( 'lp_global_css', '', '', 'no' );
125
add_option( 'lp_global_js', '', '', 'no' );
126
add_option( 'lp_global_lp_slug', 'go', '', 'no' );
127
- update_option( 'lp_activate_rewrite_check', '1');
128
-
129
/* Set's welcome page redirect transient */
130
set_transient( '_landing_page_activation_redirect', true, 30 );
131
}
132
-
133
- /**
134
- * Tells Inbound Shared to run activation commands
135
- */
136
- public static function activate_shared() {
137
- update_option( 'Inbound_Activate', true );
138
- }
139
-
140
- /* Aborts activation and details
141
- * @param args ARRAY of message details
142
*/
143
public static function abort_activation( $args ) {
144
echo $args['title'] . '<br>';
@@ -147,86 +103,86 @@ class Landing_Pages_Activation {
147
print_r ($args['details']);
148
echo '<br>';
149
echo $args['solution'];
150
-
151
deactivate_plugins( LANDINGPAGES_FILE );
152
exit;
153
}
154
-
155
-
156
/* Checks if plugin is compatible with current server PHP version */
157
public static function run_version_checks() {
158
-
159
global $wp_version;
160
-
161
/* Check PHP Version */
162
if ( version_compare( phpversion(), self::$version_php, '<' ) ) {
163
- self::abort_activation(
164
- array(
165
- 'title' => 'Installation aborted',
166
'message' => __('Landing Plugin could not be installed' , 'landing-pages'),
167
'details' => array(
168
__( 'Server PHP Version' , 'landing-pages' ) => phpversion(),
169
__( 'Required PHP Version' , 'landing-pages' ) => self::$version_php
170
),
171
- 'solution' => sprintf( __( 'Please contact your hosting provider to upgrade PHP to %s or greater' , 'landing-pages' ) , self::$version_php )
172
)
173
);
174
- }
175
-
176
/* Check WP Version */
177
if ( version_compare( $wp_version , self::$version_wp, '<' ) ) {
178
- self::abort_activation( array(
179
- 'title' => 'Installation aborted',
180
'message' => __('Landing Plugin could not be installed' , 'landing-pages'),
181
'details' => array(
182
__( 'WordPress Version' , 'landing-pages' ) => $wp_version,
183
__( 'Required WordPress Version' , 'landing-pages' ) => self::$version_wp
184
),
185
- 'solution' => sprintf( __( 'Please update landing pages to version %s or greater.' , 'landing-pages' ) , self::$version_wp )
186
)
187
- );
188
}
189
-
190
/* Check CTA Version */
191
if ( defined('WP_CTA_CURRENT_VERSION') && version_compare( WP_CTA_CURRENT_VERSION , self::$version_cta , '<' ) ) {
192
- self::abort_activation( array(
193
- 'title' => 'Installation aborted',
194
'message' => __('Landing Plugin could not be installed' , 'landing-pages'),
195
'details' => array(
196
__( 'Calls to Action Version' , 'landing-pages' ) => WP_CTA_CURRENT_VERSION,
197
__( 'Required Calls to Action Version' , 'landing-pages' ) => self::$version_cta
198
),
199
- 'solution' => sprintf( __( 'Please update Calls to Action to version %s or greater.' , 'landing-pages' ) , self::$version_cta )
200
)
201
- );
202
}
203
-
204
/* Check Leads Version */
205
if ( defined('WPL_CURRENT_VERSION') && version_compare( WPL_CURRENT_VERSION , self::$version_leads , '<' ) ) {
206
- self::abort_activation( array(
207
- 'title' => 'Installation aborted',
208
'message' => __('Landing Plugin could not be installed' , 'landing-pages'),
209
'details' => array(
210
__( 'Leads Version' , 'landing-pages' ) => WPL_CURRENT_VERSION,
211
__( 'Required Leads Version' , 'landing-pages' ) => self::$version_leads
212
),
213
- 'solution' => sprintf( __( 'Please update Leads to version %s or greater.' , 'landing-pages' ) , self::$version_leads )
214
)
215
- );
216
}
217
-
218
/* Check Extension Version */
219
if ( defined('LP_HOMEPAGE_CURRENT_VERSION') && version_compare( LP_HOMEPAGE_CURRENT_VERSION , self::$version_lpah , '<' ) ) {
220
- self::abort_activation( array(
221
- 'title' => 'Installation aborted',
222
'message' => __('Landing Plugin could not be installed' , 'landing-pages'),
223
'details' => array(
224
__( 'Extension: Landing Page as Homepage' , 'landing-pages' ) => LP_HOMEPAGE_CURRENT_VERSION,
225
__( 'Required extension version' , 'landing-pages' ) => self::$version_lpah
226
),
227
- 'solution' => sprintf( __( 'Please update extension to version %s or greater.' , 'landing-pages' ) , self::$version_lpah )
228
)
229
- );
230
}
231
232
}
@@ -236,8 +192,4 @@ class Landing_Pages_Activation {
236
register_activation_hook( LANDINGPAGES_FILE , array( 'Landing_Pages_Activation' , 'activate' ) );
237
register_deactivation_hook( LANDINGPAGES_FILE , array( 'Landing_Pages_Activation' , 'deactivate' ) );
238
239
-
240
- /* Add listener for uncompleted upgrade routines */
241
- add_action( 'admin_init' , array( 'Landing_Pages_Activation' , 'run_upgrade_routine_checks' ) );
242
-
243
}
1
<?php
2
3
+
4
if ( !class_exists('Landing_Pages_Activation') ) {
5
6
class Landing_Pages_Activation {
7
+
8
static $version_wp;
9
static $version_php;
10
static $version_cta;
11
static $version_leads;
12
static $version_lpah;
13
+
14
public static function activate() {
15
self::load_static_vars();
16
self::run_version_checks();
17
self::activate_plugin();
18
self::run_updates();
19
}
20
+
21
public static function deactivate() {
22
global $wp_rewrite;
23
$wp_rewrite->flush_rules();
24
}
25
+
26
+ public static function load_static_vars() {
27
+
28
self::$version_wp = '3.6';
29
+ self::$version_php = '5.3';
30
+ self::$version_cta = '1.2.1';
31
self::$version_leads = '1.2.1';
32
self::$version_lpah = '1.0.8';
33
}
34
+
35
public static function activate_plugin() {
36
+
37
/* Update DB Markers for Plugin */
38
self::store_version_data();
39
+
40
/* Set Default Settings */
41
self::set_default_settings();
42
43
}
44
+
45
+ /* This method loads public methods from the Landing_Pages_Activation_Update_Routines class and automatically runs them if they have not been run yet.
46
+ * We use transients to store the data, which may not be the best way but I don't have to worry about save/update/create option and the auto load process
47
*/
48
49
public static function run_updates() {
50
+
51
/* Get list of updaters from Landing_Pages_Activation_Update_Routines class */
52
$updaters = get_class_methods('Landing_Pages_Activation_Update_Routines');
53
+
54
/* Get transient list of completed update processes */
55
$completed = ( get_option( 'lp_completed_upgrade_routines' ) ) ? get_option( 'lp_completed_upgrade_routines' ) : array();
56
57
/* Get the difference between the two arrays */
58
$remaining = array_diff( $updaters , $completed );
59
+
60
/* Loop through updaters and run updaters that have not been ran */
61
foreach ( $remaining as $updater ) {
62
+
63
Landing_Pages_Activation_Update_Routines::$updater();
64
$completed[] = $updater;
65
+
66
}
67
+
68
/* Update this transient value with list of completed upgrade processes */
69
update_option( 'lp_completed_upgrade_routines' , $completed );
70
71
}
72
+
73
/* Creates transient records of past and current version data */
74
public static function store_version_data() {
75
+
76
$old = get_transient('lp_current_version');
77
set_transient( 'lp_previous_version' , $old );
78
set_transient( 'lp_current_version' , LANDINGPAGES_CURRENT_VERSION );
79
+
80
}
81
+
82
public static function set_default_settings() {
83
add_option( 'lp_global_css', '', '', 'no' );
84
add_option( 'lp_global_js', '', '', 'no' );
85
add_option( 'lp_global_lp_slug', 'go', '', 'no' );
86
+ update_option( 'lp_activate_rewrite_check', '1');
87
+
88
/* Set's welcome page redirect transient */
89
set_transient( '_landing_page_activation_redirect', true, 30 );
90
+ /* We've had issues with this not working.
91
+ global $wp_rewrite;
92
+ $wp_rewrite->flush_rules();
93
+ */
94
}
95
+
96
+ /* Aborts activation and details
97
+ * @param args ARRAY of message details
98
*/
99
public static function abort_activation( $args ) {
100
echo $args['title'] . '<br>';
103
print_r ($args['details']);
104
echo '<br>';
105
echo $args['solution'];
106
+
107
deactivate_plugins( LANDINGPAGES_FILE );
108
exit;
109
}
110
+
111
+
112
/* Checks if plugin is compatible with current server PHP version */
113
public static function run_version_checks() {
114
+
115
global $wp_version;
116
+
117
/* Check PHP Version */
118
if ( version_compare( phpversion(), self::$version_php, '<' ) ) {
119
+ self::abort_activation(
120
+ array(
121
+ 'title' => 'Installation aborted',
122
'message' => __('Landing Plugin could not be installed' , 'landing-pages'),
123
'details' => array(
124
__( 'Server PHP Version' , 'landing-pages' ) => phpversion(),
125
__( 'Required PHP Version' , 'landing-pages' ) => self::$version_php
126
),
127
+ 'solultion' => sprintf( __( 'Please contact your hosting provider to upgrade PHP to %s or greater' , 'landing-pages' ) , self::$version_php )
128
)
129
);
130
+ }
131
+
132
/* Check WP Version */
133
if ( version_compare( $wp_version , self::$version_wp, '<' ) ) {
134
+ self::abort_activation( array(
135
+ 'title' => 'Installation aborted',
136
'message' => __('Landing Plugin could not be installed' , 'landing-pages'),
137
'details' => array(
138
__( 'WordPress Version' , 'landing-pages' ) => $wp_version,
139
__( 'Required WordPress Version' , 'landing-pages' ) => self::$version_wp
140
),
141
+ 'solultion' => sprintf( __( 'Please update landing pages to version %s or greater.' , 'landing-pages' ) , self::$version_wp )
142
)
143
+ );
144
}
145
+
146
/* Check CTA Version */
147
if ( defined('WP_CTA_CURRENT_VERSION') && version_compare( WP_CTA_CURRENT_VERSION , self::$version_cta , '<' ) ) {
148
+ self::abort_activation( array(
149
+ 'title' => 'Installation aborted',
150
'message' => __('Landing Plugin could not be installed' , 'landing-pages'),
151
'details' => array(
152
__( 'Calls to Action Version' , 'landing-pages' ) => WP_CTA_CURRENT_VERSION,
153
__( 'Required Calls to Action Version' , 'landing-pages' ) => self::$version_cta
154
),
155
+ 'solultion' => sprintf( __( 'Please update Calls to Action to version %s or greater.' , 'landing-pages' ) , self::$version_cta )
156
)
157
+ );
158
}
159
+
160
/* Check Leads Version */
161
if ( defined('WPL_CURRENT_VERSION') && version_compare( WPL_CURRENT_VERSION , self::$version_leads , '<' ) ) {
162
+ self::abort_activation( array(
163
+ 'title' => 'Installation aborted',
164
'message' => __('Landing Plugin could not be installed' , 'landing-pages'),
165
'details' => array(
166
__( 'Leads Version' , 'landing-pages' ) => WPL_CURRENT_VERSION,
167
__( 'Required Leads Version' , 'landing-pages' ) => self::$version_leads
168
),
169
+ 'solultion' => sprintf( __( 'Please update Leads to version %s or greater.' , 'landing-pages' ) , self::$version_leads )
170
)
171
+ );
172
}
173
+
174
/* Check Extension Version */
175
if ( defined('LP_HOMEPAGE_CURRENT_VERSION') && version_compare( LP_HOMEPAGE_CURRENT_VERSION , self::$version_lpah , '<' ) ) {
176
+ self::abort_activation( array(
177
+ 'title' => 'Installation aborted',
178
'message' => __('Landing Plugin could not be installed' , 'landing-pages'),
179
'details' => array(
180
__( 'Extension: Landing Page as Homepage' , 'landing-pages' ) => LP_HOMEPAGE_CURRENT_VERSION,
181
__( 'Required extension version' , 'landing-pages' ) => self::$version_lpah
182
),
183
+ 'solultion' => sprintf( __( 'Please update extension to version %s or greater.' , 'landing-pages' ) , self::$version_lpah )
184
)
185
+ );
186
}
187
188
}
192
register_activation_hook( LANDINGPAGES_FILE , array( 'Landing_Pages_Activation' , 'activate' ) );
193
register_deactivation_hook( LANDINGPAGES_FILE , array( 'Landing_Pages_Activation' , 'deactivate' ) );
194
195
}
classes/class.activation.upgrade-routines.php CHANGED
@@ -21,14 +21,11 @@ if ( !class_exists('Landing_Pages_Activation_Update_Routines') ) {
21
));
22
23
foreach ($landing_pages as $post) {
24
-
25
/* for all variations loop through and migrate_data */
26
( get_post_meta($post->ID,'lp-ab-variations', true) ) ? $variations = get_post_meta($post->ID,'lp-ab-variations', true) : $variations = array( '0' => '0' );
27
28
- if (!is_array($variations) && strlen($variations) > 1 ) {
29
- $variations = explode(',',$variations);
30
- }
31
-
32
foreach ($variations as $key=>$vid) {
33
34
($vid) ? $suffix = '-' . $vid : $suffix = '';
@@ -52,19 +49,6 @@ if ( !class_exists('Landing_Pages_Activation_Update_Routines') ) {
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
@@ -84,10 +68,6 @@ if ( !class_exists('Landing_Pages_Activation_Update_Routines') ) {
84
/* for all variations loop through and migrate_data */
85
( get_post_meta($post->ID,'lp-ab-variations', true) ) ? $variations = get_post_meta($post->ID,'lp-ab-variations', true) : $variations = array( '0' => '0' );
86
87
- if (!is_array($variations) && strlen($variations) > 1 ) {
88
- $variations = explode(',',$variations);
89
- }
90
-
91
foreach ($variations as $key=>$vid) {
92
93
($vid) ? $suffix = '-' . $vid : $suffix = '';
@@ -121,7 +101,7 @@ if ( !class_exists('Landing_Pages_Activation_Update_Routines') ) {
121
$templates_to_move = array('rsvp-envelope','super-slick');
122
chmod(LANDINGPAGES_UPLOADS_PATH, 0755);
123
124
- $template_paths = Landing_Pages_Load_Extensions::get_core_template_ids();
125
if (count($template_paths)>0)
126
{
127
foreach ($template_paths as $name)
21
));
22
23
foreach ($landing_pages as $post) {
24
+ //echo 'post id:' . $post->ID;
25
+ //echo '<br>';
26
/* for all variations loop through and migrate_data */
27
( get_post_meta($post->ID,'lp-ab-variations', true) ) ? $variations = get_post_meta($post->ID,'lp-ab-variations', true) : $variations = array( '0' => '0' );
28
29
foreach ($variations as $key=>$vid) {
30
31
($vid) ? $suffix = '-' . $vid : $suffix = '';
49
50
}
51
}
52
/*
53
* @introduced: 1.5.7
54
* @migration-type: Meta pair migragtion
68
/* for all variations loop through and migrate_data */
69
( get_post_meta($post->ID,'lp-ab-variations', true) ) ? $variations = get_post_meta($post->ID,'lp-ab-variations', true) : $variations = array( '0' => '0' );
70
71
foreach ($variations as $key=>$vid) {
72
73
($vid) ? $suffix = '-' . $vid : $suffix = '';
101
$templates_to_move = array('rsvp-envelope','super-slick');
102
chmod(LANDINGPAGES_UPLOADS_PATH, 0755);
103
104
+ $template_paths = lp_get_core_template_paths();
105
if (count($template_paths)>0)
106
{
107
foreach ($template_paths as $name)
classes/class.branching.php DELETED
@@ -1,44 +0,0 @@
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
- }
classes/class.load-extensions.php DELETED
@@ -1,343 +0,0 @@
1
- <?php
2
-
3
- class Landing_Pages_Load_Extensions {
4
-
5
- /**
6
- * Initializes Landing_Pages_Load_Extensions
7
- */
8
- public function __construct() {
9
-
10
- /* Load core landing page config.php files */
11
- self::load_core_template_configurations();
12
-
13
- /* Load uploaded landing page config.php files */
14
- self::load_uploaded_template_configurations();
15
-
16
- /* load hooks & filters */
17
- self::load_hooks();
18
- }
19
-
20
- /**
21
- * Loads hooks and filiters
22
- */
23
- public static function load_hooks() {
24
-
25
- /* Adds core metabox settings to extension data array */
26
- add_filter( 'lp_extension_data' , array( __CLASS__ , 'add_core_setting_data' ) , 1 , 1);
27
-
28
- /* Modifies legacy template data key names for old, un-updated legacy templates */
29
- add_filter( 'lp_extension_data', array( __CLASS__ , 'add_legacy_data_support') , 10 , 1 );
30
-
31
- /* Add license key inputs to all uploaded templates */
32
- add_filter( 'lp_define_global_settings' , array( __CLASS__ , 'prepare_license_keys' ), 99, 1);
33
- }
34
-
35
- /**
36
- * Adds core metaboxes setting data using lp_extension_data filter
37
- */
38
- public static function add_core_setting_data( $data ) {
39
-
40
- if ( !is_admin() ) {
41
- return;
42
- }
43
-
44
- $data[ 'lp' ]['settings'] = array(
45
- array(
46
- 'id' => 'selected-template',
47
- 'label' => __( 'Select Template' , 'landing-pages'),
48
- 'description' => __( "This option provides a placeholder for the selected template data." , 'landing-pages'),
49
- 'type' => 'radio', // this is not honored. Template selection setting is handled uniquely by core.
50
- 'default' => 'default',
51
- 'options' => null // this is not honored. Template selection setting is handled uniquely by core.
52
- ),
53
- array(
54
- 'id' => 'main-headline',
55
- 'label' => __('Set Main Headline' , 'landing-pages'),
56
- 'description' => __( "Set Main Headline" , 'landing-pages'),
57
- 'type' => 'text', // this is not honored. Main Headline Input setting is handled uniquely by core.
58
- 'default' => '',
59
- 'options' => null
60
- ),
61
- );
62
-
63
- return $data;
64
- }
65
-
66
- /**
67
- * Looks for occurances of 'options' in template & extension data arrays and replaces key with 'settings'
68
- */
69
- public static function add_legacy_data_support( $data ) {
70
- if ( !is_admin() ) {
71
- return;
72
- }
73
-
74
- foreach ($data as $parent_key => $subarray)
75
- {
76
- if (is_array($subarray))
77
- {
78
- foreach ($subarray as $k=>$subsubarray)
79
- {
80
- /* change 'options' key to 'settings' */
81
- if ($k=='options')
82
- $data[$parent_key]['settings'] = $subsubarray;
83
-
84
- if ($k=='category')
85
- $data[$parent_key]['info']['category'] = $subsubarray;
86
-
87
- if ($k=='version')
88
- $data[$parent_key]['info']['version'] = $subsubarray;
89
-
90
- if ($k=='label')
91
- $data[$parent_key]['info']['label'] = $subsubarray;
92
-
93
- if ($k=='description')
94
- $data[$parent_key]['info']['description'] = $subsubarray;
95
- }
96
- }
97
- }
98
-
99
- return $data;
100
- }
101
-
102
- /**
103
- * Adds licensing & automatic updates to uploaded templates
104
- *
105
- * @param ARRAY $global_settings contains all global setting data
106
- *
107
- * @retuns ARRAY $global_settings contains modified global setting data
108
- */
109
- public static function prepare_license_keys( $global_settings ) {
110
-
111
- if ( !is_admin() ) {
112
- return;
113
- }
114
-
115
- $lp_data = self::get_extended_data();
116
-
117
- $global_settings['lp-license-keys']['settings'][] = array(
118
- 'id' => 'template-license-keys-header',
119
- 'description' => __( "Head to http://www.inboundnow.com/ to retrieve your license key for this template." , 'landing-pages') ,
120
- 'type' => 'header',
121
- 'default' => '<h3 class="lp_global_settings_header">' . __('Template Licensing' , 'landing-pages') .'</h3>'
122
- );
123
-
124
- /* get master license key */
125
- $inboundnow_master_key = get_option('inboundnow_master_license_key' , '');
126
-
127
- /* Loop through all setting data and add licensing for uploaded templates only */
128
- foreach ($lp_data as $key=>$data)
129
- {
130
-
131
- $array_core_templates = array('simple-solid-lite','countdown-lander','default','demo','dropcap','half-and-half','simple-two-column','super-slick','svtle','tubelar','rsvp-envelope', 'three-column-lander');
132
-
133
- if ($key == 'lp' || substr($key,0,4) == 'ext-' ) {
134
- continue;
135
- }
136
-
137
- if (isset($data['info']['data_type']) && $data['info']['data_type']=='metabox') {
138
- continue;
139
- }
140
-
141
- if (in_array($key,$array_core_templates)) {
142
- continue;
143
- }
144
-
145
- $template_name = $lp_data[$key]['info']['label'];
146
- $global_settings['lp-license-keys']['settings'][$key] = array(
147
- 'id' => $key,
148
- 'label' => $template_name,
149
- 'slug' => $key,
150
- 'description' => __( "Head to http://www.inboundnow.com/ to retrieve your license key for this template." , 'landing-pages') ,
151
- 'type' => 'license-key'
152
- );
153
- }
154
-
155
- return $global_settings;
156
- }
157
-
158
- /**
159
- * Loads core template config.php files
160
- *
161
- * @returns ARRAY contains template setting data
162
- */
163
- public static function load_core_template_configurations() {
164
-
165
- if ( !is_admin() ) {
166
- return;
167
- }
168
-
169
- $template_ids = self::get_core_template_ids();
170
-
171
- //Now load all config.php files with their custom meta data
172
- if (count($template_ids)>0)
173
- {
174
- foreach ($template_ids as $name)
175
- {
176
- if ($name != ".svn" && $name != ".git"){
177
- include_once( LANDINGPAGES_PATH . "/templates/$name/config.php");
178
- }
179
- }
180
- }
181
-
182
-
183
- /* Store all template config files in global */
184
- $GLOBALS['lp_data'] = $lp_data;
185
-
186
- return $lp_data;
187
- }
188
-
189
- /**
190
- * Loads uploaded template config.php files
191
- *
192
- */
193
- public static function load_uploaded_template_configurations() {
194
- global $lp_data;
195
-
196
- $template_ids = self::get_uploaded_template_ids();
197
-
198
- /* loop through template ids and include their config file */
199
- foreach ($template_ids as $name)
200
- {
201
- $match = FALSE;
202
- if (strpos($name, 'tmp') !== FALSE || strpos($name, 'template-generator') !== FALSE) {
203
- $match = TRUE;
204
- }
205
- if ($name != ".svn" && $name != ".git" && $name != 'template-generator' && $match === FALSE){
206
- if (file_exists( LANDINGPAGES_UPLOADS_PATH . "$name/config.php")) {
207
- include_once( LANDINGPAGES_UPLOADS_PATH . "$name/config.php");
208
- }
209
- }
210
- }
211
-
212
-
213
- return $lp_data;
214
-
215
- }
216
-
217
- /**
218
- * Gets array of uploaded template paths
219
- *
220
- * @returns ARRAY $template_ids array of uploaded template ids
221
- */
222
- public static function get_uploaded_template_ids()
223
- {
224
- $template_ids = array();
225
-
226
- if (!is_dir( LANDINGPAGES_UPLOADS_PATH )) {
227
- wp_mkdir_p( LANDINGPAGES_UPLOADS_PATH );
228
- }
229
-
230
- $results = scandir( LANDINGPAGES_UPLOADS_PATH );
231
-
232
- foreach ($results as $name) {
233
- if ($name === '.' or $name === '..' or $name === '__MACOSX') continue;
234
-
235
- if (is_dir( LANDINGPAGES_UPLOADS_PATH . '/' . $name)) {
236
- $template_ids[] = $name;
237
- }
238
- }
239
-
240
- return $template_ids;
241
- }
242
-
243
- /**
244
- * Gets array of uploaded template paths
245
- *
246
- * @returns ARRAY $template_ids array of uploaded template ids
247
- */
248
- public static function get_core_template_ids()
249
- {
250
- $template_ids = array();
251
-
252
- $template_path = LANDINGPAGES_PATH."/templates/" ;
253
- $results = scandir($template_path);
254
-
255
- //scan through templates directory and pull in name paths
256
- foreach ($results as $name) {
257
- if ($name === '.' or $name === '..' or $name === '__MACOSX') continue;
258
-
259
- if (is_dir($template_path . '/' . $name)) {
260
- $template_ids[] = $name;
261
- }
262
- }
263
-
264
- return $template_ids;
265
- }
266
-
267
- /**
268
- * Get's array of template categories from loaded templates
269
- *
270
- * @returns ARRAY $template_cats array if template categories
271
- */
272
- public static function get_template_categories()
273
- {
274
- $template_settings = self::get_extended_data();
275
-
276
- foreach ($template_settings as $key=>$val)
277
- {
278
- if ( $key=='lp' || substr($key,0,4)=='ext-' || isset($val['info']['data_type']) && $val['info']['data_type']=='metabox' ) {
279
- continue;
280
- }
281
-
282
- /* account for legacy data models */
283
- if (isset($val['category'])) {
284
- $cats = $val['category'];
285
- } else {
286
- if (isset($val['info']['category'])) {
287
- $cats = $val['info']['category'];
288
- }
289
- }
290
-
291
- $cats = explode(',',$cats);
292
-
293
- foreach ($cats as $cat_value)
294
- {
295
- $cat_value = trim($cat_value);
296
- $name = str_replace(array('-','_'),' ',$cat_value);
297
- $name = ucwords($name);
298
-
299
- if (!isset($template_cats[$cat_value]))
300
- {
301
- $template_cats[$cat_value]['count'] = 1;
302
- }
303
- else
304
- {
305
- $template_cats[$cat_value]['count']++;
306
- }
307
-
308
- $template_cats[$cat_value]['value'] = $cat_value;
309
- $template_cats[$cat_value]['label'] = "$name";
310
- }
311
- }
312
-
313
- return $template_cats;
314
- }
315
-
316
- /**
317
- * Get's template and extension setting data
318
- *
319
- * @retuns ARRAY of template & extension data
320
- */
321
- public static function get_extended_data() {
322
- global $lp_data;
323
-
324
- $lp_data = apply_filters( 'lp_extension_data' , $lp_data);
325
-
326
- return $lp_data;
327
- }
328
-
329
-
330
- }
331
-
332
- /* Initialize Landing_Pages_Load_Extensions */
333
- $GLOBALS['Landing_Pages_Load_Extensions'] = new Landing_Pages_Load_Extensions;
334
-
335
- /* Get data array of template settings */
336
- function lp_get_extension_data() {
337
- return Landing_Pages_Load_Extensions::get_extended_data();
338
- }
339
-
340
-
341
-
342
-
343
-