Version Description
- Improvement: Faster preview of Layout Text changes.
- Bugfix: Honeypot mechanism was triggering browser autocomplete, preventing submissions.
Download this release
Release Info
Developer | happyforms |
Plugin | Form builder to get in touch with visitors, grow your email list and collect payments — Happyforms |
Version | 1.13.2 |
Comparing to | |
See all releases |
Code changes from version 1.13.1 to 1.13.2
- core/assets/css/color.css +1 -7
- core/assets/css/customize.css +1 -1
- core/assets/js/parts/part-checkbox.js +0 -1
- core/assets/js/parts/part-multi-line-text.js +18 -15
- core/assets/js/parts/part-radio.js +0 -1
- core/assets/jsx/build/admin/block.asset.php +1 -0
- core/assets/jsx/build/admin/block.js +248 -0
- core/assets/jsx/build/admin/block.js.map +1 -0
- core/assets/jsx/src/admin/block.js +95 -0
- core/assets/svg/icons/likert-scale.svg +0 -1
- core/assets/svg/icons/number-scale.svg +24 -0
- core/classes/class-block.php +10 -7
- core/classes/parts/class-part-checkbox.php +0 -48
- core/classes/parts/class-part-multi-line-text.php +1 -1
- core/classes/parts/class-part-radio.php +0 -29
- core/helpers/helper-form-templates.php +1 -19
- core/templates/parts/customize-checkbox.php +1 -6
- core/templates/parts/customize-radio.php +1 -6
- core/templates/parts/frontend-checkbox-other-option.php +0 -4
- core/templates/parts/frontend-checkbox.php +0 -4
- core/templates/parts/frontend-radio-other-option.php +0 -4
- core/templates/parts/frontend-radio.php +0 -4
- happyforms.php +10 -2
- inc/assets/css/admin.css +58 -0
- inc/assets/js/admin/dashboard.js +0 -4
- inc/assets/js/frontend.js +1 -1
- inc/classes/class-happyforms.php +66 -0
- inc/classes/class-message-admin.php +0 -7
- inc/classes/class-message-controller.php +1 -1
- inc/classes/parts/class-part-likert-scale-dummy.php +2 -2
- inc/templates/admin/modal-dummy-activity.php +0 -21
- integrations/assets/css/admin.css +128 -0
- integrations/classes/class-integrations-page-controller.php +95 -0
- integrations/templates/admin-integrations.php +43 -0
- integrations/templates/widget-active-campaign-dummy.php +28 -0
- integrations/templates/widget-aweber-dummy.php +26 -0
- integrations/templates/widget-constant-contact-dummy.php +28 -0
- integrations/templates/widget-convertkit-dummy.php +21 -0
- integrations/templates/widget-google-analytics-dummy.php +21 -0
- integrations/templates/widget-google-geocoding-dummy.php +21 -0
- integrations/templates/widget-google-places-dummy.php +21 -0
- integrations/templates/widget-integrately-dummy.php +21 -0
- integrations/templates/widget-integromat-dummy.php +21 -0
- integrations/templates/widget-mailchimp-dummy.php +21 -0
- integrations/templates/widget-mailerlite-dummy.php +21 -0
- integrations/templates/widget-mailpoet-dummy.php +9 -0
- integrations/templates/widget-paypal-dummy.php +38 -0
- integrations/templates/widget-recaptcha-dummy.php +38 -0
- integrations/templates/widget-sendfox-dummy.php +21 -0
- integrations/templates/widget-sendgrid-dummy.php +21 -0
- integrations/templates/widget-sendinblue-dummy.php +21 -0
- integrations/templates/widget-stripe-dummy.php +38 -0
- integrations/templates/widget-zapier-dummy.php +21 -0
- languages/happyforms.pot +322 -108
- readme.txt +9 -2
core/assets/css/color.css
CHANGED
@@ -268,8 +268,7 @@
|
|
268 |
color: var(--happyforms-color-part-description);
|
269 |
}
|
270 |
|
271 |
-
.happyforms-styles .happyforms-part .option-label input:checked+.checkmark
|
272 |
-
.happyforms-part.happyforms-part-choice--display-as-letters input:checked+.checkmark {
|
273 |
background-color: #000;
|
274 |
background-color: var(--happyforms-color-choice-checkmark-bg-focus);
|
275 |
}
|
@@ -385,11 +384,6 @@
|
|
385 |
color: var(--happyforms-color-choice-checkmark-color);
|
386 |
}
|
387 |
|
388 |
-
.happyforms-part.happyforms-part-choice--display-as-letters input:checked + .checkmark {
|
389 |
-
color: #fff;
|
390 |
-
color: var(--happyforms-color-choice-checkmark-color);
|
391 |
-
}
|
392 |
-
|
393 |
/* parts - select */
|
394 |
|
395 |
.happyforms-styles .happyforms-part__select-bg {
|
268 |
color: var(--happyforms-color-part-description);
|
269 |
}
|
270 |
|
271 |
+
.happyforms-styles .happyforms-part .option-label input:checked+.checkmark {
|
|
|
272 |
background-color: #000;
|
273 |
background-color: var(--happyforms-color-choice-checkmark-bg-focus);
|
274 |
}
|
384 |
color: var(--happyforms-color-choice-checkmark-color);
|
385 |
}
|
386 |
|
|
|
|
|
|
|
|
|
|
|
387 |
/* parts - select */
|
388 |
|
389 |
.happyforms-styles .happyforms-part__select-bg {
|
core/assets/css/customize.css
CHANGED
@@ -1200,7 +1200,7 @@ ul.happyforms-parts-list li[data-part-type="rank_order_dummy"] .happyforms-parts
|
|
1200 |
|
1201 |
ul.happyforms-parts-list li[data-part-type="likert_scale_dummy"] .happyforms-parts-list-item-title:before {
|
1202 |
opacity: 0.5;
|
1203 |
-
background-image: url(../svg/icons/
|
1204 |
}
|
1205 |
|
1206 |
ul.happyforms-parts-list li[data-part-type="rating_dummy"] .happyforms-parts-list-item-title:before {
|
1200 |
|
1201 |
ul.happyforms-parts-list li[data-part-type="likert_scale_dummy"] .happyforms-parts-list-item-title:before {
|
1202 |
opacity: 0.5;
|
1203 |
+
background-image: url(../svg/icons/number-scale.svg);
|
1204 |
}
|
1205 |
|
1206 |
ul.happyforms-parts-list li[data-part-type="rating_dummy"] .happyforms-parts-list-item-title:before {
|
core/assets/js/parts/part-checkbox.js
CHANGED
@@ -241,7 +241,6 @@
|
|
241 |
this.listenTo( this.model, 'change:other_option', this.onAddOtherOption );
|
242 |
this.listenTo( this.model, 'change:other_option_label', this.onOtherOptionLabelChange );
|
243 |
this.listenTo( this.model, 'change:other_option_placeholder', this.onOtherOptionPlaceholderChange );
|
244 |
-
this.listenTo( this.model, 'change:display_as_letters', this.refreshPart );
|
245 |
this.listenTo( this.model, 'change:limit_choices', this.onLimitChoices );
|
246 |
this.listenTo( this.model.get( 'options' ), 'add remove', this.refreshMinMaxChoices );
|
247 |
},
|
241 |
this.listenTo( this.model, 'change:other_option', this.onAddOtherOption );
|
242 |
this.listenTo( this.model, 'change:other_option_label', this.onOtherOptionLabelChange );
|
243 |
this.listenTo( this.model, 'change:other_option_placeholder', this.onOtherOptionPlaceholderChange );
|
|
|
244 |
this.listenTo( this.model, 'change:limit_choices', this.onLimitChoices );
|
245 |
this.listenTo( this.model.get( 'options' ), 'add remove', this.refreshMinMaxChoices );
|
246 |
},
|
core/assets/js/parts/part-multi-line-text.js
CHANGED
@@ -19,13 +19,12 @@
|
|
19 |
this.listenTo( this.model, 'change:placeholder', this.onPlaceholderChange );
|
20 |
this.listenTo( this.model, 'change:limit_input', this.onLimitInputChange );
|
21 |
this.listenTo( this.model, 'change:character_limit', this.onCharacterLimitChange );
|
22 |
-
this.listenTo( this.model, 'change:character_limit_mode', this.
|
23 |
this.listenTo( this.model, 'change:characters_label', this.onLimitWordsCharactersLabelChange );
|
24 |
this.listenTo( this.model, 'change:words_label', this.onLimitWordsCharactersLabelChange );
|
25 |
this.listenTo( this.model, 'change:rows', this.onRowsChange );
|
26 |
|
27 |
this.listenTo( this.model, 'change:rich_text', this.onRichTextChange );
|
28 |
-
this.listenTo( this.model, 'change:rows', this.onRowsChange );
|
29 |
},
|
30 |
|
31 |
/**
|
@@ -81,7 +80,7 @@
|
|
81 |
}
|
82 |
},
|
83 |
|
84 |
-
|
85 |
switch ( value ) {
|
86 |
case 'word_min':
|
87 |
case 'word_max':
|
@@ -114,6 +113,16 @@
|
|
114 |
} );
|
115 |
},
|
116 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
117 |
onLimitWordsCharactersLabelChange: function( model, value ) {
|
118 |
var data = {
|
119 |
id: this.model.get( 'id' ),
|
@@ -125,18 +134,6 @@
|
|
125 |
|
126 |
happyForms.previewSend( 'happyforms-part-dom-update', data );
|
127 |
},
|
128 |
-
|
129 |
-
onRowsChange: function( model, value ) {
|
130 |
-
var data = {
|
131 |
-
id: this.model.id,
|
132 |
-
callback: 'onMultiLineTextRowsChange',
|
133 |
-
options: {
|
134 |
-
value: value
|
135 |
-
}
|
136 |
-
};
|
137 |
-
|
138 |
-
happyForms.previewSend( 'happyforms-part-dom-update', data );
|
139 |
-
},
|
140 |
|
141 |
onRichTextChange: function( model, value ) {
|
142 |
if ( 1 == value ) {
|
@@ -198,6 +195,12 @@
|
|
198 |
|
199 |
this.$( 'textarea', $part ).attr( 'rows', options.value );
|
200 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
201 |
} );
|
202 |
|
203 |
} ) ( jQuery, _, Backbone, wp.customize, _happyFormsSettings );
|
19 |
this.listenTo( this.model, 'change:placeholder', this.onPlaceholderChange );
|
20 |
this.listenTo( this.model, 'change:limit_input', this.onLimitInputChange );
|
21 |
this.listenTo( this.model, 'change:character_limit', this.onCharacterLimitChange );
|
22 |
+
this.listenTo( this.model, 'change:character_limit_mode', this.onCharacterLimitModeChange );
|
23 |
this.listenTo( this.model, 'change:characters_label', this.onLimitWordsCharactersLabelChange );
|
24 |
this.listenTo( this.model, 'change:words_label', this.onLimitWordsCharactersLabelChange );
|
25 |
this.listenTo( this.model, 'change:rows', this.onRowsChange );
|
26 |
|
27 |
this.listenTo( this.model, 'change:rich_text', this.onRichTextChange );
|
|
|
28 |
},
|
29 |
|
30 |
/**
|
80 |
}
|
81 |
},
|
82 |
|
83 |
+
onCharacterLimitModeChange: function( model, value ) {
|
84 |
switch ( value ) {
|
85 |
case 'word_min':
|
86 |
case 'word_max':
|
113 |
} );
|
114 |
},
|
115 |
|
116 |
+
onCharacterLimitChange: function( model, value ) {
|
117 |
+
var data = {
|
118 |
+
id: this.model.get('id'),
|
119 |
+
callback: 'onCharacterLimitChange',
|
120 |
+
};
|
121 |
+
|
122 |
+
happyForms.previewSend('happyforms-part-dom-update', data);
|
123 |
+
|
124 |
+
},
|
125 |
+
|
126 |
onLimitWordsCharactersLabelChange: function( model, value ) {
|
127 |
var data = {
|
128 |
id: this.model.get( 'id' ),
|
134 |
|
135 |
happyForms.previewSend( 'happyforms-part-dom-update', data );
|
136 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
137 |
|
138 |
onRichTextChange: function( model, value ) {
|
139 |
if ( 1 == value ) {
|
195 |
|
196 |
this.$( 'textarea', $part ).attr( 'rows', options.value );
|
197 |
},
|
198 |
+
onCharacterLimitChange: function (id, html, options) {
|
199 |
+
var part = this.getPartModel(id);
|
200 |
+
var $part = this.getPartElement(html);
|
201 |
+
|
202 |
+
this.$('.happyforms-part__char-counter span.counter-limit', $part).html(part.get('character_limit'));
|
203 |
+
},
|
204 |
} );
|
205 |
|
206 |
} ) ( jQuery, _, Backbone, wp.customize, _happyFormsSettings );
|
core/assets/js/parts/part-radio.js
CHANGED
@@ -231,7 +231,6 @@
|
|
231 |
this.listenTo( this.model, 'change:other_option', this.onAddOtherOption );
|
232 |
this.listenTo( this.model, 'change:other_option_label', this.onOtherOptionLabelChange );
|
233 |
this.listenTo( this.model, 'change:other_option_placeholder', this.onOtherOptionPlaceholderChange );
|
234 |
-
this.listenTo( this.model, 'change:display_as_letters', this.refreshPart );
|
235 |
},
|
236 |
|
237 |
onReady: function() {
|
231 |
this.listenTo( this.model, 'change:other_option', this.onAddOtherOption );
|
232 |
this.listenTo( this.model, 'change:other_option_label', this.onOtherOptionLabelChange );
|
233 |
this.listenTo( this.model, 'change:other_option_placeholder', this.onOtherOptionPlaceholderChange );
|
|
|
234 |
},
|
235 |
|
236 |
onReady: function() {
|
core/assets/jsx/build/admin/block.asset.php
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<?php return array('dependencies' => array('wp-blocks', 'wp-components', 'wp-editor', 'wp-element', 'wp-polyfill', 'wp-server-side-render'), 'version' => '73970ec5a1dd7a222949002f50b434a6');
|
core/assets/jsx/build/admin/block.js
ADDED
@@ -0,0 +1,248 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/******/ (function(modules) { // webpackBootstrap
|
2 |
+
/******/ // The module cache
|
3 |
+
/******/ var installedModules = {};
|
4 |
+
/******/
|
5 |
+
/******/ // The require function
|
6 |
+
/******/ function __webpack_require__(moduleId) {
|
7 |
+
/******/
|
8 |
+
/******/ // Check if module is in cache
|
9 |
+
/******/ if(installedModules[moduleId]) {
|
10 |
+
/******/ return installedModules[moduleId].exports;
|
11 |
+
/******/ }
|
12 |
+
/******/ // Create a new module (and put it into the cache)
|
13 |
+
/******/ var module = installedModules[moduleId] = {
|
14 |
+
/******/ i: moduleId,
|
15 |
+
/******/ l: false,
|
16 |
+
/******/ exports: {}
|
17 |
+
/******/ };
|
18 |
+
/******/
|
19 |
+
/******/ // Execute the module function
|
20 |
+
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
21 |
+
/******/
|
22 |
+
/******/ // Flag the module as loaded
|
23 |
+
/******/ module.l = true;
|
24 |
+
/******/
|
25 |
+
/******/ // Return the exports of the module
|
26 |
+
/******/ return module.exports;
|
27 |
+
/******/ }
|
28 |
+
/******/
|
29 |
+
/******/
|
30 |
+
/******/ // expose the modules object (__webpack_modules__)
|
31 |
+
/******/ __webpack_require__.m = modules;
|
32 |
+
/******/
|
33 |
+
/******/ // expose the module cache
|
34 |
+
/******/ __webpack_require__.c = installedModules;
|
35 |
+
/******/
|
36 |
+
/******/ // define getter function for harmony exports
|
37 |
+
/******/ __webpack_require__.d = function(exports, name, getter) {
|
38 |
+
/******/ if(!__webpack_require__.o(exports, name)) {
|
39 |
+
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
|
40 |
+
/******/ }
|
41 |
+
/******/ };
|
42 |
+
/******/
|
43 |
+
/******/ // define __esModule on exports
|
44 |
+
/******/ __webpack_require__.r = function(exports) {
|
45 |
+
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
46 |
+
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
47 |
+
/******/ }
|
48 |
+
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
49 |
+
/******/ };
|
50 |
+
/******/
|
51 |
+
/******/ // create a fake namespace object
|
52 |
+
/******/ // mode & 1: value is a module id, require it
|
53 |
+
/******/ // mode & 2: merge all properties of value into the ns
|
54 |
+
/******/ // mode & 4: return value when already ns object
|
55 |
+
/******/ // mode & 8|1: behave like require
|
56 |
+
/******/ __webpack_require__.t = function(value, mode) {
|
57 |
+
/******/ if(mode & 1) value = __webpack_require__(value);
|
58 |
+
/******/ if(mode & 8) return value;
|
59 |
+
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
|
60 |
+
/******/ var ns = Object.create(null);
|
61 |
+
/******/ __webpack_require__.r(ns);
|
62 |
+
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
|
63 |
+
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
|
64 |
+
/******/ return ns;
|
65 |
+
/******/ };
|
66 |
+
/******/
|
67 |
+
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
68 |
+
/******/ __webpack_require__.n = function(module) {
|
69 |
+
/******/ var getter = module && module.__esModule ?
|
70 |
+
/******/ function getDefault() { return module['default']; } :
|
71 |
+
/******/ function getModuleExports() { return module; };
|
72 |
+
/******/ __webpack_require__.d(getter, 'a', getter);
|
73 |
+
/******/ return getter;
|
74 |
+
/******/ };
|
75 |
+
/******/
|
76 |
+
/******/ // Object.prototype.hasOwnProperty.call
|
77 |
+
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
78 |
+
/******/
|
79 |
+
/******/ // __webpack_public_path__
|
80 |
+
/******/ __webpack_require__.p = "";
|
81 |
+
/******/
|
82 |
+
/******/
|
83 |
+
/******/ // Load entry module and return exports
|
84 |
+
/******/ return __webpack_require__(__webpack_require__.s = "./build/core/assets/jsx/src/admin/block.js");
|
85 |
+
/******/ })
|
86 |
+
/************************************************************************/
|
87 |
+
/******/ ({
|
88 |
+
|
89 |
+
/***/ "./build/core/assets/jsx/src/admin/block.js":
|
90 |
+
/*!**************************************************!*\
|
91 |
+
!*** ./build/core/assets/jsx/src/admin/block.js ***!
|
92 |
+
\**************************************************/
|
93 |
+
/*! no exports provided */
|
94 |
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
95 |
+
|
96 |
+
"use strict";
|
97 |
+
__webpack_require__.r(__webpack_exports__);
|
98 |
+
/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element");
|
99 |
+
/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
|
100 |
+
/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components");
|
101 |
+
/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__);
|
102 |
+
/* harmony import */ var _wordpress_server_side_render__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/server-side-render */ "@wordpress/server-side-render");
|
103 |
+
/* harmony import */ var _wordpress_server_side_render__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_server_side_render__WEBPACK_IMPORTED_MODULE_2__);
|
104 |
+
/* harmony import */ var _wordpress_editor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/editor */ "@wordpress/editor");
|
105 |
+
/* harmony import */ var _wordpress_editor__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_editor__WEBPACK_IMPORTED_MODULE_3__);
|
106 |
+
/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/blocks */ "@wordpress/blocks");
|
107 |
+
/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_4__);
|
108 |
+
|
109 |
+
|
110 |
+
|
111 |
+
|
112 |
+
|
113 |
+
|
114 |
+
(function (settings) {
|
115 |
+
var blockID = 'thethemefoundry/happyforms';
|
116 |
+
var options = settings.forms.map(function (form) {
|
117 |
+
return {
|
118 |
+
label: form.post_title,
|
119 |
+
value: form.ID
|
120 |
+
};
|
121 |
+
});
|
122 |
+
options.reverse().unshift({
|
123 |
+
label: settings.i18n.select_default,
|
124 |
+
value: ''
|
125 |
+
});
|
126 |
+
|
127 |
+
var ComponentPlaceholder = function (props) {
|
128 |
+
return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__["Placeholder"], {
|
129 |
+
icon: settings.icon,
|
130 |
+
label: settings.i18n.placeholder_text,
|
131 |
+
className: settings.i18n.placeholder_class,
|
132 |
+
key: "happyforms-component-placeholder"
|
133 |
+
}, settings.forms.length > 0 ? Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__["SelectControl"], {
|
134 |
+
value: "",
|
135 |
+
options: options,
|
136 |
+
onChange: v => props.setAttributes({
|
137 |
+
id: v
|
138 |
+
})
|
139 |
+
}) : Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("p", null, settings.i18n.no_forms_found_text));
|
140 |
+
};
|
141 |
+
|
142 |
+
var ComponentForm = function (props) {
|
143 |
+
return [Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_server_side_render__WEBPACK_IMPORTED_MODULE_2___default.a, {
|
144 |
+
block: blockID,
|
145 |
+
attributes: props.attributes,
|
146 |
+
key: "happyforms-component-form"
|
147 |
+
})];
|
148 |
+
};
|
149 |
+
|
150 |
+
var ComponentInspector = function (props) {
|
151 |
+
return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_editor__WEBPACK_IMPORTED_MODULE_3__["InspectorControls"], {
|
152 |
+
key: "happyforms-inspector-controls"
|
153 |
+
}, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__["PanelBody"], {
|
154 |
+
title: settings.i18n.settings_title
|
155 |
+
}, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__["SelectControl"], {
|
156 |
+
value: props.attributes.id,
|
157 |
+
options: options,
|
158 |
+
onChange: v => props.setAttributes({
|
159 |
+
id: v
|
160 |
+
})
|
161 |
+
})));
|
162 |
+
};
|
163 |
+
|
164 |
+
Object(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_4__["registerBlockType"])(blockID, {
|
165 |
+
title: settings.block.title,
|
166 |
+
description: settings.block.description,
|
167 |
+
category: settings.block.category,
|
168 |
+
icon: settings.block.icon,
|
169 |
+
keywords: settings.block.keywords,
|
170 |
+
supports: {
|
171 |
+
anchor: true,
|
172 |
+
html: false
|
173 |
+
},
|
174 |
+
edit: function (props) {
|
175 |
+
if (!props.attributes.id && settings.forms.length === 1) {
|
176 |
+
props.attributes.id = settings.forms[0].ID;
|
177 |
+
}
|
178 |
+
|
179 |
+
let blockComponent = props.attributes.id ? ComponentForm(props) : ComponentPlaceholder(props);
|
180 |
+
let inspectorComponent = settings.forms.length > 1 ? ComponentInspector(props) : false;
|
181 |
+
let component = inspectorComponent ? [blockComponent, inspectorComponent] : [blockComponent];
|
182 |
+
return component;
|
183 |
+
},
|
184 |
+
save: function () {
|
185 |
+
return null;
|
186 |
+
}
|
187 |
+
});
|
188 |
+
})(_happyFormsBlockSettings);
|
189 |
+
|
190 |
+
/***/ }),
|
191 |
+
|
192 |
+
/***/ "@wordpress/blocks":
|
193 |
+
/*!********************************!*\
|
194 |
+
!*** external ["wp","blocks"] ***!
|
195 |
+
\********************************/
|
196 |
+
/*! no static exports found */
|
197 |
+
/***/ (function(module, exports) {
|
198 |
+
|
199 |
+
(function() { module.exports = window["wp"]["blocks"]; }());
|
200 |
+
|
201 |
+
/***/ }),
|
202 |
+
|
203 |
+
/***/ "@wordpress/components":
|
204 |
+
/*!************************************!*\
|
205 |
+
!*** external ["wp","components"] ***!
|
206 |
+
\************************************/
|
207 |
+
/*! no static exports found */
|
208 |
+
/***/ (function(module, exports) {
|
209 |
+
|
210 |
+
(function() { module.exports = window["wp"]["components"]; }());
|
211 |
+
|
212 |
+
/***/ }),
|
213 |
+
|
214 |
+
/***/ "@wordpress/editor":
|
215 |
+
/*!********************************!*\
|
216 |
+
!*** external ["wp","editor"] ***!
|
217 |
+
\********************************/
|
218 |
+
/*! no static exports found */
|
219 |
+
/***/ (function(module, exports) {
|
220 |
+
|
221 |
+
(function() { module.exports = window["wp"]["editor"]; }());
|
222 |
+
|
223 |
+
/***/ }),
|
224 |
+
|
225 |
+
/***/ "@wordpress/element":
|
226 |
+
/*!*********************************!*\
|
227 |
+
!*** external ["wp","element"] ***!
|
228 |
+
\*********************************/
|
229 |
+
/*! no static exports found */
|
230 |
+
/***/ (function(module, exports) {
|
231 |
+
|
232 |
+
(function() { module.exports = window["wp"]["element"]; }());
|
233 |
+
|
234 |
+
/***/ }),
|
235 |
+
|
236 |
+
/***/ "@wordpress/server-side-render":
|
237 |
+
/*!******************************************!*\
|
238 |
+
!*** external ["wp","serverSideRender"] ***!
|
239 |
+
\******************************************/
|
240 |
+
/*! no static exports found */
|
241 |
+
/***/ (function(module, exports) {
|
242 |
+
|
243 |
+
(function() { module.exports = window["wp"]["serverSideRender"]; }());
|
244 |
+
|
245 |
+
/***/ })
|
246 |
+
|
247 |
+
/******/ });
|
248 |
+
//# sourceMappingURL=block.js.map
|
core/assets/jsx/build/admin/block.js.map
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./build/core/assets/jsx/src/admin/block.js","webpack:///external [\"wp\",\"blocks\"]","webpack:///external [\"wp\",\"components\"]","webpack:///external [\"wp\",\"editor\"]","webpack:///external [\"wp\",\"element\"]","webpack:///external [\"wp\",\"serverSideRender\"]"],"names":["settings","blockID","options","forms","map","form","label","post_title","value","ID","reverse","unshift","i18n","select_default","ComponentPlaceholder","props","icon","placeholder_text","placeholder_class","length","v","setAttributes","id","no_forms_found_text","ComponentForm","attributes","ComponentInspector","settings_title","registerBlockType","title","block","description","category","keywords","supports","anchor","html","edit","blockComponent","inspectorComponent","component","save","_happyFormsBlockSettings"],"mappings":";QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;;;;;;;;;;;;;;;;;AClFA;AACA;AACA;AACA;;AAEA,CAAE,UAAUA,QAAV,EAAqB;AAEtB,MAAIC,OAAO,GAAG,4BAAd;AACA,MAAIC,OAAO,GAAGF,QAAQ,CAACG,KAAT,CACZC,GADY,CACP,UAAUC,IAAV,EAAiB;AACtB,WAAO;AAAEC,WAAK,EAAED,IAAI,CAACE,UAAd;AAA0BC,WAAK,EAAEH,IAAI,CAACI;AAAtC,KAAP;AACA,GAHY,CAAd;AAIAP,SAAO,CAACQ,OAAR,GAAkBC,OAAlB,CAA2B;AAAEL,SAAK,EAAEN,QAAQ,CAACY,IAAT,CAAcC,cAAvB;AAAuCL,SAAK,EAAE;AAA9C,GAA3B;;AAEA,MAAIM,oBAAoB,GAAG,UAAUC,KAAV,EAAkB;AAC5C,WACC,yEAAC,iEAAD;AACC,UAAI,EAAGf,QAAQ,CAACgB,IADjB;AAEC,WAAK,EAAGhB,QAAQ,CAACY,IAAT,CAAcK,gBAFvB;AAGC,eAAS,EAAGjB,QAAQ,CAACY,IAAT,CAAcM,iBAH3B;AAIC,SAAG,EAAC;AAJL,OAMGlB,QAAQ,CAACG,KAAT,CAAegB,MAAf,GAAwB,CAAxB,GACC,yEAAC,mEAAD;AAAe,WAAK,EAAC,EAArB;AAAwB,aAAO,EAAGjB,OAAlC;AAA4C,cAAQ,EAAKkB,CAAF,IAASL,KAAK,CAACM,aAAN,CAAqB;AAAEC,UAAE,EAAEF;AAAN,OAArB;AAAhE,MADD,GAEC,oFAAKpB,QAAQ,CAACY,IAAT,CAAcW,mBAAnB,CARJ,CADD;AAcA,GAfD;;AAiBA,MAAIC,aAAa,GAAG,UAAUT,KAAV,EAAkB;AACrC,WAAO,CACN,yEAAC,oEAAD;AACC,WAAK,EAAGd,OADT;AAEC,gBAAU,EAAGc,KAAK,CAACU,UAFpB;AAGC,SAAG,EAAC;AAHL,MADM,CAAP;AAMA,GAPD;;AASA,MAAIC,kBAAkB,GAAG,UAAUX,KAAV,EAAkB;AAC1C,WACC,yEAAC,mEAAD;AAAmB,SAAG,EAAC;AAAvB,OACC,yEAAC,+DAAD;AAAW,WAAK,EAAGf,QAAQ,CAACY,IAAT,CAAce;AAAjC,OACC,yEAAC,mEAAD;AAAe,WAAK,EAAGZ,KAAK,CAACU,UAAN,CAAiBH,EAAxC;AAA6C,aAAO,EAAGpB,OAAvD;AAAiE,cAAQ,EAAKkB,CAAF,IAASL,KAAK,CAACM,aAAN,CAAqB;AAAEC,UAAE,EAAGF;AAAP,OAArB;AAArF,MADD,CADD,CADD;AAOA,GARD;;AAUAQ,6EAAiB,CAAE3B,OAAF,EAAW;AAC3B4B,SAAK,EAAE7B,QAAQ,CAAC8B,KAAT,CAAeD,KADK;AAE3BE,eAAW,EAAE/B,QAAQ,CAAC8B,KAAT,CAAeC,WAFD;AAG3BC,YAAQ,EAAEhC,QAAQ,CAAC8B,KAAT,CAAeE,QAHE;AAI3BhB,QAAI,EAAEhB,QAAQ,CAAC8B,KAAT,CAAed,IAJM;AAK3BiB,YAAQ,EAAEjC,QAAQ,CAAC8B,KAAT,CAAeG,QALE;AAM3BC,YAAQ,EAAE;AACTC,YAAM,EAAE,IADC;AAETC,UAAI,EAAE;AAFG,KANiB;AAW3BC,QAAI,EAAE,UAAUtB,KAAV,EAAkB;AACvB,UAAK,CAAEA,KAAK,CAACU,UAAN,CAAiBH,EAAnB,IAAyBtB,QAAQ,CAACG,KAAT,CAAegB,MAAf,KAA0B,CAAxD,EAA4D;AAC3DJ,aAAK,CAACU,UAAN,CAAiBH,EAAjB,GAAsBtB,QAAQ,CAACG,KAAT,CAAe,CAAf,EAAkBM,EAAxC;AACA;;AAED,UAAI6B,cAAc,GACjBvB,KAAK,CAACU,UAAN,CAAiBH,EAAjB,GACAE,aAAa,CAAET,KAAF,CADb,GAEAD,oBAAoB,CAAEC,KAAF,CAHrB;AAMA,UAAIwB,kBAAkB,GACrBvC,QAAQ,CAACG,KAAT,CAAegB,MAAf,GAAwB,CAAxB,GACAO,kBAAkB,CAAEX,KAAF,CADlB,GAEA,KAHD;AAMA,UAAIyB,SAAS,GACZD,kBAAkB,GAClB,CAAED,cAAF,EAAkBC,kBAAlB,CADkB,GAElB,CAAED,cAAF,CAHD;AAMA,aAAOE,SAAP;AACA,KAnC0B;AAqC3BC,QAAI,EAAE,YAAW;AAChB,aAAO,IAAP;AACA;AAvC0B,GAAX,CAAjB;AA0CA,CAvFD,EAwFCC,wBAxFD,E;;;;;;;;;;;ACLA,aAAa,yCAAyC,EAAE,I;;;;;;;;;;;ACAxD,aAAa,6CAA6C,EAAE,I;;;;;;;;;;;ACA5D,aAAa,yCAAyC,EAAE,I;;;;;;;;;;;ACAxD,aAAa,0CAA0C,EAAE,I;;;;;;;;;;;ACAzD,aAAa,mDAAmD,EAAE,I","file":"block.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./build/core/assets/jsx/src/admin/block.js\");\n","import { Placeholder, SelectControl, PanelBody } from '@wordpress/components';\nimport ServerSideRender from '@wordpress/server-side-render';\nimport { InspectorControls } from '@wordpress/editor';\nimport { registerBlockType } from '@wordpress/blocks';\n\n( function( settings ) {\n\n\tvar blockID = 'thethemefoundry/happyforms';\n\tvar options = settings.forms\n\t\t.map( function( form ) {\n\t\t\treturn { label: form.post_title, value: form.ID };\n\t\t} )\n\toptions.reverse().unshift( { label: settings.i18n.select_default, value: '' } );\n\n\tvar ComponentPlaceholder = function( props ) {\n\t\treturn (\n\t\t\t<Placeholder \n\t\t\t\ticon={ settings.icon } \n\t\t\t\tlabel={ settings.i18n.placeholder_text }\n\t\t\t\tclassName={ settings.i18n.placeholder_class }\n\t\t\t\tkey=\"happyforms-component-placeholder\">\n\n\t\t\t\t{ settings.forms.length > 0\n\t\t\t\t\t? <SelectControl value=\"\" options={ options } onChange={ ( v ) => props.setAttributes( { id: v } ) } />\n\t\t\t\t\t: <p>{ settings.i18n.no_forms_found_text }</p>\n\t\t\t\t}\n\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tvar ComponentForm = function( props ) {\n\t\treturn [\n\t\t\t<ServerSideRender\n\t\t\t\tblock={ blockID }\n\t\t\t\tattributes={ props.attributes }\n\t\t\t\tkey=\"happyforms-component-form\" />\n\t\t];\n\t};\n\n\tvar ComponentInspector = function( props ) {\n\t\treturn (\n\t\t\t<InspectorControls key=\"happyforms-inspector-controls\">\n\t\t\t\t<PanelBody title={ settings.i18n.settings_title }>\n\t\t\t\t\t<SelectControl value={ props.attributes.id } options={ options } onChange={ ( v ) => props.setAttributes( { id : v } ) } />\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t);\n\t};\n\n\tregisterBlockType( blockID, {\n\t\ttitle: settings.block.title,\n\t\tdescription: settings.block.description,\n\t\tcategory: settings.block.category,\n\t\ticon: settings.block.icon,\n\t\tkeywords: settings.block.keywords,\n\t\tsupports: {\n\t\t\tanchor: true,\n\t\t\thtml: false\n\t\t},\n\n\t\tedit: function( props ) {\n\t\t\tif ( ! props.attributes.id && settings.forms.length === 1 ) {\n\t\t\t\tprops.attributes.id = settings.forms[0].ID;\n\t\t\t}\n\n\t\t\tlet blockComponent = (\n\t\t\t\tprops.attributes.id ?\n\t\t\t\tComponentForm( props ) :\n\t\t\t\tComponentPlaceholder( props )\n\t\t\t);\n\n\t\t\tlet inspectorComponent = (\n\t\t\t\tsettings.forms.length > 1 ?\n\t\t\t\tComponentInspector( props ) :\n\t\t\t\tfalse\n\t\t\t);\n\t\t\t\n\t\t\tlet component = (\n\t\t\t\tinspectorComponent ? \n\t\t\t\t[ blockComponent, inspectorComponent ] :\n\t\t\t\t[ blockComponent ]\n\t\t\t);\n\n\t\t\treturn component;\n\t\t},\n\n\t\tsave: function() {\n\t\t\treturn null;\n\t\t},\n\t} );\n\n} )(\n\t_happyFormsBlockSettings,\n);","(function() { module.exports = window[\"wp\"][\"blocks\"]; }());","(function() { module.exports = window[\"wp\"][\"components\"]; }());","(function() { module.exports = window[\"wp\"][\"editor\"]; }());","(function() { module.exports = window[\"wp\"][\"element\"]; }());","(function() { module.exports = window[\"wp\"][\"serverSideRender\"]; }());"],"sourceRoot":""}
|
core/assets/jsx/src/admin/block.js
ADDED
@@ -0,0 +1,95 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { Placeholder, SelectControl, PanelBody } from '@wordpress/components';
|
2 |
+
import ServerSideRender from '@wordpress/server-side-render';
|
3 |
+
import { InspectorControls } from '@wordpress/editor';
|
4 |
+
import { registerBlockType } from '@wordpress/blocks';
|
5 |
+
|
6 |
+
( function( settings ) {
|
7 |
+
|
8 |
+
var blockID = 'thethemefoundry/happyforms';
|
9 |
+
var options = settings.forms
|
10 |
+
.map( function( form ) {
|
11 |
+
return { label: form.post_title, value: form.ID };
|
12 |
+
} )
|
13 |
+
options.reverse().unshift( { label: settings.i18n.select_default, value: '' } );
|
14 |
+
|
15 |
+
var ComponentPlaceholder = function( props ) {
|
16 |
+
return (
|
17 |
+
<Placeholder
|
18 |
+
icon={ settings.icon }
|
19 |
+
label={ settings.i18n.placeholder_text }
|
20 |
+
className={ settings.i18n.placeholder_class }
|
21 |
+
key="happyforms-component-placeholder">
|
22 |
+
|
23 |
+
{ settings.forms.length > 0
|
24 |
+
? <SelectControl value="" options={ options } onChange={ ( v ) => props.setAttributes( { id: v } ) } />
|
25 |
+
: <p>{ settings.i18n.no_forms_found_text }</p>
|
26 |
+
}
|
27 |
+
|
28 |
+
</Placeholder>
|
29 |
+
);
|
30 |
+
};
|
31 |
+
|
32 |
+
var ComponentForm = function( props ) {
|
33 |
+
return [
|
34 |
+
<ServerSideRender
|
35 |
+
block={ blockID }
|
36 |
+
attributes={ props.attributes }
|
37 |
+
key="happyforms-component-form" />
|
38 |
+
];
|
39 |
+
};
|
40 |
+
|
41 |
+
var ComponentInspector = function( props ) {
|
42 |
+
return (
|
43 |
+
<InspectorControls key="happyforms-inspector-controls">
|
44 |
+
<PanelBody title={ settings.i18n.settings_title }>
|
45 |
+
<SelectControl value={ props.attributes.id } options={ options } onChange={ ( v ) => props.setAttributes( { id : v } ) } />
|
46 |
+
</PanelBody>
|
47 |
+
</InspectorControls>
|
48 |
+
);
|
49 |
+
};
|
50 |
+
|
51 |
+
registerBlockType( blockID, {
|
52 |
+
title: settings.block.title,
|
53 |
+
description: settings.block.description,
|
54 |
+
category: settings.block.category,
|
55 |
+
icon: settings.block.icon,
|
56 |
+
keywords: settings.block.keywords,
|
57 |
+
supports: {
|
58 |
+
anchor: true,
|
59 |
+
html: false
|
60 |
+
},
|
61 |
+
|
62 |
+
edit: function( props ) {
|
63 |
+
if ( ! props.attributes.id && settings.forms.length === 1 ) {
|
64 |
+
props.attributes.id = settings.forms[0].ID;
|
65 |
+
}
|
66 |
+
|
67 |
+
let blockComponent = (
|
68 |
+
props.attributes.id ?
|
69 |
+
ComponentForm( props ) :
|
70 |
+
ComponentPlaceholder( props )
|
71 |
+
);
|
72 |
+
|
73 |
+
let inspectorComponent = (
|
74 |
+
settings.forms.length > 1 ?
|
75 |
+
ComponentInspector( props ) :
|
76 |
+
false
|
77 |
+
);
|
78 |
+
|
79 |
+
let component = (
|
80 |
+
inspectorComponent ?
|
81 |
+
[ blockComponent, inspectorComponent ] :
|
82 |
+
[ blockComponent ]
|
83 |
+
);
|
84 |
+
|
85 |
+
return component;
|
86 |
+
},
|
87 |
+
|
88 |
+
save: function() {
|
89 |
+
return null;
|
90 |
+
},
|
91 |
+
} );
|
92 |
+
|
93 |
+
} )(
|
94 |
+
_happyFormsBlockSettings,
|
95 |
+
);
|
core/assets/svg/icons/likert-scale.svg
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
<svg enable-background="new 0 0 24 24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m0 0h24v24h-24z" fill="none"/><path d="m13 11.3 5 6.7h-12l5-6.7v-5.3h2m3-2h-8c-.4 0-.6.5-.3.8l1.3 1.7v4.2l-5.8 7.7c-.5.7 0 1.6.8 1.6h16c.8 0 1.3-.9.8-1.6l-5.8-7.7v-4.2l1.4-1.7c.2-.3 0-.8-.4-.8z"/></svg>
|
|
core/assets/svg/icons/number-scale.svg
ADDED
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="utf-8"?>
|
2 |
+
<!-- Generator: Adobe Illustrator 25.4.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
3 |
+
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
4 |
+
viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
|
5 |
+
<style type="text/css">
|
6 |
+
.st0{fill:none;}
|
7 |
+
</style>
|
8 |
+
<g>
|
9 |
+
<path class="st0" d="M0,0h24v24H0V0z"/>
|
10 |
+
</g>
|
11 |
+
<g>
|
12 |
+
<g>
|
13 |
+
<path d="M20,4H4C2.9,4,2,4.9,2,6v12c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V6C22,4.9,21.1,4,20,4z M20,18H4V6h16V18z"/>
|
14 |
+
<polygon points="6.5,10.5 6.5,15 7.6,15 7.6,9 6.8,9 5,10.3 5.6,11.2 "/>
|
15 |
+
<path d="M11.5,10.1c0.5,0,0.8,0.3,0.8,0.7c0,0.4-0.1,0.6-0.5,1.1c-0.4,0.4-1.1,1.1-2.1,2.1v1h3.9v-1h-2.4l0-0.1
|
16 |
+
c0.7-0.7,1.1-1.1,1.4-1.4c0.6-0.6,0.9-1.2,0.9-1.9c0-0.2-0.1-1-0.9-1.5c-0.5-0.2-1.3-0.4-2,0c-0.8,0.4-1,1.1-1,1.1l1,0.4
|
17 |
+
C10.7,10.4,10.9,10.1,11.5,10.1z"/>
|
18 |
+
<path d="M17,13.9c-0.8,0-1-0.8-1-0.9l-1,0.4c0.4,1.6,2,1.5,2.1,1.5c1.2,0,1.7-0.7,1.8-0.9c0.3-0.5,0.4-1.2,0-1.8
|
19 |
+
c-0.2-0.2-0.4-0.4-0.7-0.5v-0.1c0.2-0.1,0.4-0.3,0.5-0.5c0.3-0.4,0.3-1.1,0-1.6C18.5,9.6,18,9,16.9,9c-1.3,0-1.7,0.9-1.9,1.2
|
20 |
+
l1,0.4c0.1-0.3,0.4-0.6,0.9-0.6c0.4,0,0.8,0.3,0.8,0.6c0,0.6-0.5,0.7-0.9,0.7h-0.5v1h0.5c0.6,0,1,0.2,1,0.8
|
21 |
+
C17.9,13.7,17.4,13.9,17,13.9z"/>
|
22 |
+
</g>
|
23 |
+
</g>
|
24 |
+
</svg>
|
core/classes/class-block.php
CHANGED
@@ -92,20 +92,22 @@ class HappyForms_Block {
|
|
92 |
}
|
93 |
|
94 |
public function enqueue_scripts() {
|
95 |
-
$
|
96 |
|
97 |
wp_enqueue_script(
|
98 |
'happyforms-block',
|
99 |
-
happyforms_get_plugin_url() . 'core/assets/
|
100 |
-
|
101 |
);
|
102 |
|
103 |
-
$user_id = get_current_user_id();
|
104 |
-
$admin_notices = happyforms_get_admin_notices();
|
105 |
$forms = happyforms_get_form_controller()->get();
|
106 |
$forms = array_values( wp_list_filter( $forms, array( 'post_status' => 'publish' ) ) );
|
107 |
-
$forms =
|
108 |
-
|
|
|
|
|
|
|
|
|
109 |
$block_properties = $this->get_properties();
|
110 |
$data = array(
|
111 |
'ajaxurl' => admin_url( 'admin-ajax.php' ),
|
@@ -114,6 +116,7 @@ class HappyForms_Block {
|
|
114 |
'i18n' => array(
|
115 |
'select_default' => __( 'Choose', 'happyforms' ),
|
116 |
'placeholder_text' => __( 'Which form would you like to add here?', 'happyforms' ),
|
|
|
117 |
'settings_title' => __( 'HappyForms Settings', 'happyforms' ),
|
118 |
'placeholder_class' => 'happyforms-block-form-selector-wrap'
|
119 |
),
|
92 |
}
|
93 |
|
94 |
public function enqueue_scripts() {
|
95 |
+
$asset_file = require( happyforms_get_core_folder() . '/assets/jsx/build/admin/block.asset.php' );
|
96 |
|
97 |
wp_enqueue_script(
|
98 |
'happyforms-block',
|
99 |
+
happyforms_get_plugin_url() . 'core/assets/jsx/build/admin/block.js',
|
100 |
+
$asset_file['dependencies']
|
101 |
);
|
102 |
|
|
|
|
|
103 |
$forms = happyforms_get_form_controller()->get();
|
104 |
$forms = array_values( wp_list_filter( $forms, array( 'post_status' => 'publish' ) ) );
|
105 |
+
$forms = array_map( function ( $form ) {
|
106 |
+
return array(
|
107 |
+
'ID' => $form['ID'],
|
108 |
+
'post_title' => $form['post_title'],
|
109 |
+
);
|
110 |
+
}, $forms );
|
111 |
$block_properties = $this->get_properties();
|
112 |
$data = array(
|
113 |
'ajaxurl' => admin_url( 'admin-ajax.php' ),
|
116 |
'i18n' => array(
|
117 |
'select_default' => __( 'Choose', 'happyforms' ),
|
118 |
'placeholder_text' => __( 'Which form would you like to add here?', 'happyforms' ),
|
119 |
+
'no_forms_found_text' => __( 'No forms found.', 'happyforms' ),
|
120 |
'settings_title' => __( 'HappyForms Settings', 'happyforms' ),
|
121 |
'placeholder_class' => 'happyforms-block-form-selector-wrap'
|
122 |
),
|
core/classes/parts/class-part-checkbox.php
CHANGED
@@ -97,10 +97,6 @@ class HappyForms_Part_Checkbox extends HappyForms_Form_Part {
|
|
97 |
'default' => '',
|
98 |
'sanitize' => 'sanitize_text_field',
|
99 |
),
|
100 |
-
'display_as_letters' => array(
|
101 |
-
'default' => 0,
|
102 |
-
'sanitize' => 'happyforms_sanitize_checkbox',
|
103 |
-
),
|
104 |
'limit_choices' => array(
|
105 |
'default' => 0,
|
106 |
'sanitize' => 'happyforms_sanitize_checkbox',
|
@@ -364,43 +360,13 @@ class HappyForms_Part_Checkbox extends HappyForms_Form_Part {
|
|
364 |
}
|
365 |
|
366 |
$value = implode( ', ', $value );
|
367 |
-
if ( $this->display_choices_as_letters( $part ) ) {
|
368 |
-
$values = array();
|
369 |
-
foreach ( $original_value as $option_index ) {
|
370 |
-
if ( isset( $part['options'][(int) $option_index] ) ) {
|
371 |
-
$option = $part['options'][(int) $option_index];
|
372 |
-
$letter = happyforms_get_part_choice_letter( $option, $part );
|
373 |
-
$values[] = "{$letter}) {$option['label']}";
|
374 |
-
}
|
375 |
-
}
|
376 |
-
|
377 |
-
$value = implode( ', ', $values );
|
378 |
-
}
|
379 |
} else {
|
380 |
foreach ( $value as $i => $index ) {
|
381 |
$label = '';
|
382 |
-
|
383 |
if ( is_array( $index ) && ! empty( $index[1] ) ) { // other option
|
384 |
$value[$i] = $index[1];
|
385 |
-
|
386 |
-
if ( $this->display_choices_as_letters( $part ) ) {
|
387 |
-
$letter = happyforms_get_part_choice_letter( '', $part );
|
388 |
-
$label = $value[$i];
|
389 |
-
}
|
390 |
} else { // standard option
|
391 |
$value[$i] = $options[$index]['label'];
|
392 |
-
|
393 |
-
if ( $this->display_choices_as_letters( $part ) ) {
|
394 |
-
if ( isset( $part['options'][$index] ) ) {
|
395 |
-
$option = $part['options'][$index];
|
396 |
-
$letter = happyforms_get_part_choice_letter( $option, $part );
|
397 |
-
$label = $option['label'];
|
398 |
-
}
|
399 |
-
}
|
400 |
-
}
|
401 |
-
|
402 |
-
if ( $this->display_choices_as_letters( $part ) ) {
|
403 |
-
$value[$i] = "{$letter}) {$label}";
|
404 |
}
|
405 |
}
|
406 |
}
|
@@ -466,23 +432,9 @@ class HappyForms_Part_Checkbox extends HappyForms_Form_Part {
|
|
466 |
$class[] = "happyforms-part-options-width--{$part_options_width}";
|
467 |
}
|
468 |
|
469 |
-
if ( $this->type === $part['type'] ) {
|
470 |
-
if ( $this->display_choices_as_letters( $part ) ) {
|
471 |
-
$class[] = 'happyforms-part-choice--display-as-letters';
|
472 |
-
}
|
473 |
-
}
|
474 |
-
|
475 |
return $class;
|
476 |
}
|
477 |
|
478 |
-
public function display_choices_as_letters( $part ) {
|
479 |
-
if ( 1 == $part['display_as_letters'] ) {
|
480 |
-
return true;
|
481 |
-
}
|
482 |
-
|
483 |
-
return false;
|
484 |
-
}
|
485 |
-
|
486 |
public function script_dependencies( $deps, $forms ) {
|
487 |
$contains_checkbox = false;
|
488 |
$form_controller = happyforms_get_form_controller();
|
97 |
'default' => '',
|
98 |
'sanitize' => 'sanitize_text_field',
|
99 |
),
|
|
|
|
|
|
|
|
|
100 |
'limit_choices' => array(
|
101 |
'default' => 0,
|
102 |
'sanitize' => 'happyforms_sanitize_checkbox',
|
360 |
}
|
361 |
|
362 |
$value = implode( ', ', $value );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
363 |
} else {
|
364 |
foreach ( $value as $i => $index ) {
|
365 |
$label = '';
|
|
|
366 |
if ( is_array( $index ) && ! empty( $index[1] ) ) { // other option
|
367 |
$value[$i] = $index[1];
|
|
|
|
|
|
|
|
|
|
|
368 |
} else { // standard option
|
369 |
$value[$i] = $options[$index]['label'];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
370 |
}
|
371 |
}
|
372 |
}
|
432 |
$class[] = "happyforms-part-options-width--{$part_options_width}";
|
433 |
}
|
434 |
|
|
|
|
|
|
|
|
|
|
|
|
|
435 |
return $class;
|
436 |
}
|
437 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
438 |
public function script_dependencies( $deps, $forms ) {
|
439 |
$contains_checkbox = false;
|
440 |
$form_controller = happyforms_get_form_controller();
|
core/classes/parts/class-part-multi-line-text.php
CHANGED
@@ -525,7 +525,7 @@ class HappyForms_Part_MultiLineText extends HappyForms_Form_Part {
|
|
525 |
$label = $this->get_limit_label( $part, $form );
|
526 |
?>
|
527 |
<div class="happyforms-part__char-counter <?php echo $part['character_limit_mode']; ?>">
|
528 |
-
<span class="counter">0</span
|
529 |
</div>
|
530 |
<?php
|
531 |
}
|
525 |
$label = $this->get_limit_label( $part, $form );
|
526 |
?>
|
527 |
<div class="happyforms-part__char-counter <?php echo $part['character_limit_mode']; ?>">
|
528 |
+
<span class="counter">0</span>/<span class="counter-limit"><?php echo $character_limit; ?></span> <?php echo $label; ?>
|
529 |
</div>
|
530 |
<?php
|
531 |
}
|
core/classes/parts/class-part-radio.php
CHANGED
@@ -78,10 +78,6 @@ class HappyForms_Part_Radio extends HappyForms_Form_Part {
|
|
78 |
'default' => 'auto',
|
79 |
'sanitize' => 'sanitize_text_field'
|
80 |
),
|
81 |
-
'display_as_letters' => array(
|
82 |
-
'default' => 0,
|
83 |
-
'sanitize' => 'happyforms_sanitize_checkbox'
|
84 |
-
),
|
85 |
'other_option' => array(
|
86 |
'default' => 0,
|
87 |
'sanitize' => 'happyforms_sanitize_checkbox'
|
@@ -298,14 +294,6 @@ class HappyForms_Part_Radio extends HappyForms_Form_Part {
|
|
298 |
return $value;
|
299 |
}
|
300 |
|
301 |
-
public function display_choices_as_letters( $part ) {
|
302 |
-
if ( 1 == $part['display_as_letters'] ) {
|
303 |
-
return true;
|
304 |
-
}
|
305 |
-
|
306 |
-
return false;
|
307 |
-
}
|
308 |
-
|
309 |
public function stringify_value( $value, $part, $form, $force = false ) {
|
310 |
if ( $this->type === $part['type'] || $force ) {
|
311 |
$original_value = $value;
|
@@ -316,22 +304,9 @@ class HappyForms_Part_Radio extends HappyForms_Form_Part {
|
|
316 |
$value = $options[$value]['label'];
|
317 |
}
|
318 |
|
319 |
-
if ( $this->display_choices_as_letters( $part ) ) {
|
320 |
-
$original_value = intval( $original_value );
|
321 |
-
|
322 |
-
if ( isset( $part['options'][$original_value] ) ) {
|
323 |
-
$option = $part['options'][$original_value];
|
324 |
-
$letter = happyforms_get_part_choice_letter( $option, $part );
|
325 |
-
$value = "{$letter}) {$value}";
|
326 |
-
}
|
327 |
-
}
|
328 |
} else { // other option
|
329 |
$value = ( ! empty( $value[1] ) ) ? $value[1] : '';
|
330 |
|
331 |
-
if ( $this->display_choices_as_letters( $part ) ) {
|
332 |
-
$letter = happyforms_get_part_choice_letter( '', $part );
|
333 |
-
$value = "{$letter}) {$value}";
|
334 |
-
}
|
335 |
}
|
336 |
}
|
337 |
|
@@ -346,10 +321,6 @@ class HappyForms_Part_Radio extends HappyForms_Form_Part {
|
|
346 |
$class[] = 'display-type--block';
|
347 |
}
|
348 |
|
349 |
-
if ( 1 == $part['display_as_letters'] ) {
|
350 |
-
$class[] = 'happyforms-part-choice--display-as-letters';
|
351 |
-
}
|
352 |
-
|
353 |
$part_options_width = $part['options_width'];
|
354 |
|
355 |
$class[] = "happyforms-part-options-width--{$part_options_width}";
|
78 |
'default' => 'auto',
|
79 |
'sanitize' => 'sanitize_text_field'
|
80 |
),
|
|
|
|
|
|
|
|
|
81 |
'other_option' => array(
|
82 |
'default' => 0,
|
83 |
'sanitize' => 'happyforms_sanitize_checkbox'
|
294 |
return $value;
|
295 |
}
|
296 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
297 |
public function stringify_value( $value, $part, $form, $force = false ) {
|
298 |
if ( $this->type === $part['type'] || $force ) {
|
299 |
$original_value = $value;
|
304 |
$value = $options[$value]['label'];
|
305 |
}
|
306 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
307 |
} else { // other option
|
308 |
$value = ( ! empty( $value[1] ) ) ? $value[1] : '';
|
309 |
|
|
|
|
|
|
|
|
|
310 |
}
|
311 |
}
|
312 |
|
321 |
$class[] = 'display-type--block';
|
322 |
}
|
323 |
|
|
|
|
|
|
|
|
|
324 |
$part_options_width = $part['options_width'];
|
325 |
|
326 |
$class[] = "happyforms-part-options-width--{$part_options_width}";
|
core/helpers/helper-form-templates.php
CHANGED
@@ -59,7 +59,7 @@ if ( ! function_exists( 'happyforms_honeypot' ) ) :
|
|
59 |
|
60 |
function happyforms_honeypot( $form ) {
|
61 |
$controller = happyforms_get_form_controller();
|
62 |
-
$names = array( '
|
63 |
$key = array_rand( $names, 1 );
|
64 |
$name = $names[$key];
|
65 |
|
@@ -1612,24 +1612,6 @@ function happyforms_get_part_states( $location = '' ) {
|
|
1612 |
|
1613 |
endif;
|
1614 |
|
1615 |
-
if ( ! function_exists( 'happyforms_get_part_choice_letter' ) ) :
|
1616 |
-
|
1617 |
-
function happyforms_get_part_choice_letter( $option, $part ) {
|
1618 |
-
$letters = range( 'A', 'Z' );
|
1619 |
-
|
1620 |
-
if ( ! empty( $option ) ) {
|
1621 |
-
$option_index = array_search( $option['id'], array_column( $part['options'], 'id' ) );
|
1622 |
-
$letter = $letters[$option_index];
|
1623 |
-
} else {
|
1624 |
-
$options_count = count( $part['options'] );
|
1625 |
-
$letter = $letters[$options_count];
|
1626 |
-
}
|
1627 |
-
|
1628 |
-
return $letter;
|
1629 |
-
}
|
1630 |
-
|
1631 |
-
endif;
|
1632 |
-
|
1633 |
if ( ! function_exists( 'happyforms_get_prefixed_css' ) ):
|
1634 |
/**
|
1635 |
* Prefix CSS selectors with specified prefix.
|
59 |
|
60 |
function happyforms_honeypot( $form ) {
|
61 |
$controller = happyforms_get_form_controller();
|
62 |
+
$names = array( 'single_line_text', 'multi_line_text', 'number' );
|
63 |
$key = array_rand( $names, 1 );
|
64 |
$name = $names[$key];
|
65 |
|
1612 |
|
1613 |
endif;
|
1614 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1615 |
if ( ! function_exists( 'happyforms_get_prefixed_css' ) ):
|
1616 |
/**
|
1617 |
* Prefix CSS selectors with specified prefix.
|
core/templates/parts/customize-checkbox.php
CHANGED
@@ -53,12 +53,7 @@
|
|
53 |
<?php do_action( 'happyforms_part_customize_checkbox_after_options' ); ?>
|
54 |
|
55 |
<?php do_action( 'happyforms_part_customize_checkbox_before_advanced_options' ); ?>
|
56 |
-
|
57 |
-
<p>
|
58 |
-
<label>
|
59 |
-
<input type="checkbox" class="checkbox" value="1" <% if ( instance.display_as_letters ) { %>checked="checked"<% } %> data-bind="display_as_letters" /> <?php _e( 'Show as alphabetical choice', 'happyforms' ); ?>
|
60 |
-
</label>
|
61 |
-
</p>
|
62 |
<p>
|
63 |
<label>
|
64 |
<input type="checkbox" class="checkbox" value="1" <% if ( instance.show_select_all ) { %>checked="checked"<% } %> data-bind="show_select_all" /> <?php _e( 'Add \'select all\' choice', 'happyforms' ); ?>
|
53 |
<?php do_action( 'happyforms_part_customize_checkbox_after_options' ); ?>
|
54 |
|
55 |
<?php do_action( 'happyforms_part_customize_checkbox_before_advanced_options' ); ?>
|
56 |
+
|
|
|
|
|
|
|
|
|
|
|
57 |
<p>
|
58 |
<label>
|
59 |
<input type="checkbox" class="checkbox" value="1" <% if ( instance.show_select_all ) { %>checked="checked"<% } %> data-bind="show_select_all" /> <?php _e( 'Add \'select all\' choice', 'happyforms' ); ?>
|
core/templates/parts/customize-radio.php
CHANGED
@@ -53,12 +53,7 @@
|
|
53 |
<?php do_action( 'happyforms_part_customize_radio_after_options' ); ?>
|
54 |
|
55 |
<?php do_action( 'happyforms_part_customize_radio_before_advanced_options' ); ?>
|
56 |
-
|
57 |
-
<p>
|
58 |
-
<label>
|
59 |
-
<input type="checkbox" class="checkbox" value="1" <% if ( instance.display_as_letters ) { %>checked="checked"<% } %> data-bind="display_as_letters" /> <?php _e( 'Show as alphabetical choice', 'happyforms' ); ?>
|
60 |
-
</label>
|
61 |
-
</p>
|
62 |
<p>
|
63 |
<label>
|
64 |
<input type="checkbox" class="checkbox" value="1" <% if ( instance.other_option ) { %>checked="checked"<% } %> data-bind="other_option" /> <?php _e( 'Add \'other\' choice', 'happyforms' ); ?>
|
53 |
<?php do_action( 'happyforms_part_customize_radio_after_options' ); ?>
|
54 |
|
55 |
<?php do_action( 'happyforms_part_customize_radio_before_advanced_options' ); ?>
|
56 |
+
|
|
|
|
|
|
|
|
|
|
|
57 |
<p>
|
58 |
<label>
|
59 |
<input type="checkbox" class="checkbox" value="1" <% if ( instance.other_option ) { %>checked="checked"<% } %> data-bind="other_option" /> <?php _e( 'Add \'other\' choice', 'happyforms' ); ?>
|
core/templates/parts/frontend-checkbox-other-option.php
CHANGED
@@ -20,10 +20,6 @@ foreach ( $array_values as $index => $array ) {
|
|
20 |
|
21 |
$checkmark_content = '<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24"><path fill="currentColor" d="M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z"/></svg>';
|
22 |
|
23 |
-
if ( 1 == $part['display_as_letters'] ) {
|
24 |
-
$letter = happyforms_get_part_choice_letter( '', $part );
|
25 |
-
$checkmark_content = $letter;
|
26 |
-
}
|
27 |
?>
|
28 |
<div class="happyforms-part__option happyforms-part-option happyforms-part-option--other" id="<?php echo $part['id']; ?>_other">
|
29 |
<label class="option-label">
|
20 |
|
21 |
$checkmark_content = '<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24"><path fill="currentColor" d="M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z"/></svg>';
|
22 |
|
|
|
|
|
|
|
|
|
23 |
?>
|
24 |
<div class="happyforms-part__option happyforms-part-option happyforms-part-option--other" id="<?php echo $part['id']; ?>_other">
|
25 |
<label class="option-label">
|
core/templates/parts/frontend-checkbox.php
CHANGED
@@ -37,10 +37,6 @@
|
|
37 |
}
|
38 |
?>
|
39 |
<label class="option-label">
|
40 |
-
<?php if ( 1 == $part['display_as_letters'] ) {
|
41 |
-
$letter = happyforms_get_part_choice_letter( $option, $part );
|
42 |
-
$checkmark_content = $letter;
|
43 |
-
} ?>
|
44 |
<input type="checkbox" class="happyforms-visuallyhidden happyforms-checkbox" name="<?php happyforms_the_part_name( $part, $form ); ?>[]" value="<?php echo $o; ?>" data-serialize <?php echo $checked; ?> <?php happyforms_the_part_attributes( $part, $form ); ?>>
|
45 |
<span class="checkmark"><?php echo $checkmark_content; ?></span>
|
46 |
<span class="label"><?php echo esc_attr( $option['label'] ); ?></span><?php echo $option['submissions_left_label']; ?>
|
37 |
}
|
38 |
?>
|
39 |
<label class="option-label">
|
|
|
|
|
|
|
|
|
40 |
<input type="checkbox" class="happyforms-visuallyhidden happyforms-checkbox" name="<?php happyforms_the_part_name( $part, $form ); ?>[]" value="<?php echo $o; ?>" data-serialize <?php echo $checked; ?> <?php happyforms_the_part_attributes( $part, $form ); ?>>
|
41 |
<span class="checkmark"><?php echo $checkmark_content; ?></span>
|
42 |
<span class="label"><?php echo esc_attr( $option['label'] ); ?></span><?php echo $option['submissions_left_label']; ?>
|
core/templates/parts/frontend-radio-other-option.php
CHANGED
@@ -15,10 +15,6 @@ if ( is_array( $value ) ) {
|
|
15 |
|
16 |
$checkmark_content = '<span class="happyforms-radio-circle"></span>';
|
17 |
|
18 |
-
if ( 1 == $part['display_as_letters'] ) {
|
19 |
-
$letter = happyforms_get_part_choice_letter( '', $part );
|
20 |
-
$checkmark_content = $letter;
|
21 |
-
}
|
22 |
?>
|
23 |
<div class="happyforms-part__option happyforms-part-option happyforms-part-option--other" id="<?php echo $part['id']; ?>_other">
|
24 |
<label class="option-label">
|
15 |
|
16 |
$checkmark_content = '<span class="happyforms-radio-circle"></span>';
|
17 |
|
|
|
|
|
|
|
|
|
18 |
?>
|
19 |
<div class="happyforms-part__option happyforms-part-option happyforms-part-option--other" id="<?php echo $part['id']; ?>_other">
|
20 |
<label class="option-label">
|
core/templates/parts/frontend-radio.php
CHANGED
@@ -26,10 +26,6 @@
|
|
26 |
$checked = checked( 1, $option['is_default'], false );
|
27 |
}
|
28 |
|
29 |
-
if ( 1 == $part['display_as_letters'] ) {
|
30 |
-
$letter = happyforms_get_part_choice_letter( $option, $part );
|
31 |
-
$checkmark_content = $letter;
|
32 |
-
}
|
33 |
?>
|
34 |
<div class="happyforms-part__option happyforms-part-option" id="<?php echo esc_attr( $option['id'] ); ?>">
|
35 |
<label class="option-label">
|
26 |
$checked = checked( 1, $option['is_default'], false );
|
27 |
}
|
28 |
|
|
|
|
|
|
|
|
|
29 |
?>
|
30 |
<div class="happyforms-part__option happyforms-part-option" id="<?php echo esc_attr( $option['id'] ); ?>">
|
31 |
<label class="option-label">
|
happyforms.php
CHANGED
@@ -5,7 +5,7 @@
|
|
5 |
* Plugin URI: https://happyforms.io
|
6 |
* Description: We're changin' WordPress forms.
|
7 |
* Author: Happyforms
|
8 |
-
* Version: 1.13.
|
9 |
* Author URI: https://happyforms.io
|
10 |
* Upgrade URI: https://happyforms.io/upgrade
|
11 |
*/
|
@@ -22,7 +22,7 @@ if ( defined( 'HAPPYFORMS_UPGRADE_VERSION' ) ) {
|
|
22 |
/**
|
23 |
* The current version of the plugin.
|
24 |
*/
|
25 |
-
define( 'HAPPYFORMS_VERSION', '1.13.
|
26 |
|
27 |
if ( ! function_exists( 'happyforms_plugin_file' ) ):
|
28 |
/**
|
@@ -92,6 +92,14 @@ function happyforms_get_core_folder() {
|
|
92 |
|
93 |
endif;
|
94 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
95 |
/**
|
96 |
* Activate
|
97 |
*/
|
5 |
* Plugin URI: https://happyforms.io
|
6 |
* Description: We're changin' WordPress forms.
|
7 |
* Author: Happyforms
|
8 |
+
* Version: 1.13.2
|
9 |
* Author URI: https://happyforms.io
|
10 |
* Upgrade URI: https://happyforms.io/upgrade
|
11 |
*/
|
22 |
/**
|
23 |
* The current version of the plugin.
|
24 |
*/
|
25 |
+
define( 'HAPPYFORMS_VERSION', '1.13.2' );
|
26 |
|
27 |
if ( ! function_exists( 'happyforms_plugin_file' ) ):
|
28 |
/**
|
92 |
|
93 |
endif;
|
94 |
|
95 |
+
if ( ! function_exists( 'happyforms_get_integrations_folder' ) ):
|
96 |
+
|
97 |
+
function happyforms_get_integrations_folder() {
|
98 |
+
return dirname( __FILE__ ) . '/integrations';
|
99 |
+
}
|
100 |
+
|
101 |
+
endif;
|
102 |
+
|
103 |
/**
|
104 |
* Activate
|
105 |
*/
|
inc/assets/css/admin.css
CHANGED
@@ -154,3 +154,61 @@ body.post-type-happyforms-activity .fixed .column-contact {
|
|
154 |
.fixed .column-datetime {
|
155 |
width: 14%;
|
156 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
154 |
.fixed .column-datetime {
|
155 |
width: 14%;
|
156 |
}
|
157 |
+
|
158 |
+
.hf-pwd input.happyforms-credentials-input {
|
159 |
+
font-family: Consolas,Monaco,monospace;
|
160 |
+
}
|
161 |
+
|
162 |
+
.hf-pwd {
|
163 |
+
position: relative;
|
164 |
+
margin: 0 0 1em;
|
165 |
+
}
|
166 |
+
|
167 |
+
.hf-pwd:last-of-type {
|
168 |
+
margin: 0;
|
169 |
+
}
|
170 |
+
|
171 |
+
.hf-pwd:last-child {
|
172 |
+
margin: 0 0 1em;
|
173 |
+
}
|
174 |
+
|
175 |
+
.wp-core-ui #happyforms-integrations-screen form .hf-pwd + p {
|
176 |
+
margin-top: 1em !important;
|
177 |
+
}
|
178 |
+
|
179 |
+
.hf-pwd input.happyforms-credentials-input {
|
180 |
+
padding-right: 2.5rem;
|
181 |
+
}
|
182 |
+
|
183 |
+
.hf-pwd > button.hf-hide-pw {
|
184 |
+
position: absolute;
|
185 |
+
right: 1px;
|
186 |
+
top: 1px;
|
187 |
+
display: flex;
|
188 |
+
align-items: center;
|
189 |
+
border: 1px solid transparent !important;
|
190 |
+
width: 2.1rem;
|
191 |
+
min-width: 25px;
|
192 |
+
min-height: auto;
|
193 |
+
height: calc(100% - 2px);
|
194 |
+
margin: 0;
|
195 |
+
padding: 5px 9px 5px 7px;
|
196 |
+
font-size: 14px;
|
197 |
+
line-height: 2;
|
198 |
+
box-shadow: none;
|
199 |
+
background: transparent !important;
|
200 |
+
vertical-align: middle;
|
201 |
+
}
|
202 |
+
|
203 |
+
button.hf-hide-pw:focus {
|
204 |
+
background: transparent !important;
|
205 |
+
border-color: #3582c4;
|
206 |
+
box-shadow: 0 0 0 1px #3582c4 !important;
|
207 |
+
outline: 2px solid transparent !important;
|
208 |
+
}
|
209 |
+
|
210 |
+
button.hf-hide-pw .dashicons {
|
211 |
+
width: 1.25rem;
|
212 |
+
height: 1.25rem;
|
213 |
+
font-size: 18px;
|
214 |
+
}
|
inc/assets/js/admin/dashboard.js
CHANGED
@@ -6,11 +6,7 @@
|
|
6 |
init: function() {
|
7 |
dashboardInit.apply( this, arguments );
|
8 |
|
9 |
-
$( document ).on( 'click', '#adminmenu #toplevel_page_happyforms a[href="#responses"]', this.openUpgradeModal );
|
10 |
$( document ).on( 'click', '#adminmenu #toplevel_page_happyforms a[href="#settings"]', this.openUpgradeModal );
|
11 |
-
$( document ).on( 'click', '#adminmenu #toplevel_page_happyforms a[href="#integrations"]', this.openUpgradeModal );
|
12 |
-
|
13 |
-
// Onboarding modal logic
|
14 |
$( document ).on( 'click', '.happyforms-modal__navigation-item', this.onModalNavigationItemClick );
|
15 |
},
|
16 |
|
6 |
init: function() {
|
7 |
dashboardInit.apply( this, arguments );
|
8 |
|
|
|
9 |
$( document ).on( 'click', '#adminmenu #toplevel_page_happyforms a[href="#settings"]', this.openUpgradeModal );
|
|
|
|
|
|
|
10 |
$( document ).on( 'click', '.happyforms-modal__navigation-item', this.onModalNavigationItemClick );
|
11 |
},
|
12 |
|
inc/assets/js/frontend.js
CHANGED
@@ -265,7 +265,7 @@
|
|
265 |
{ name: 'referer', value: referer },
|
266 |
];
|
267 |
|
268 |
-
var honeypotNames = [ '
|
269 |
|
270 |
for (var h = 0; h < honeypotNames.length; h ++) {
|
271 |
var inputName = form_id + '-' + honeypotNames[h];
|
265 |
{ name: 'referer', value: referer },
|
266 |
];
|
267 |
|
268 |
+
var honeypotNames = [ 'single_line_text', 'multi_line_text', 'number' ];
|
269 |
|
270 |
for (var h = 0; h < honeypotNames.length; h ++) {
|
271 |
var inputName = form_id + '-' + honeypotNames[h];
|
inc/classes/class-happyforms.php
CHANGED
@@ -27,6 +27,11 @@ class HappyForms extends HappyForms_Core {
|
|
27 |
add_action( 'happyforms_form_after', [ $this, 'output_powered_by_form' ] );
|
28 |
add_action( 'happyforms_email_owner_after', [ $this, 'output_powered_by_email' ] );
|
29 |
add_action( 'happyforms_email_user_after', [ $this, 'output_powered_by_email' ] );
|
|
|
|
|
|
|
|
|
|
|
30 |
|
31 |
$this->register_dummy_parts();
|
32 |
$this->add_setup_logic_upgrade_links();
|
@@ -476,4 +481,65 @@ class HappyForms extends HappyForms_Core {
|
|
476 |
require_once( happyforms_get_include_folder() . '/classes/class-message-admin.php' );
|
477 |
}
|
478 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
479 |
}
|
27 |
add_action( 'happyforms_form_after', [ $this, 'output_powered_by_form' ] );
|
28 |
add_action( 'happyforms_email_owner_after', [ $this, 'output_powered_by_email' ] );
|
29 |
add_action( 'happyforms_email_user_after', [ $this, 'output_powered_by_email' ] );
|
30 |
+
add_action( 'admin_print_footer_scripts', array( $this, 'admin_print_footer_scripts' ) );
|
31 |
+
|
32 |
+
if ( is_admin() ) {
|
33 |
+
require_once( happyforms_get_integrations_folder() . '/classes/class-integrations-page-controller.php' );
|
34 |
+
}
|
35 |
|
36 |
$this->register_dummy_parts();
|
37 |
$this->add_setup_logic_upgrade_links();
|
481 |
require_once( happyforms_get_include_folder() . '/classes/class-message-admin.php' );
|
482 |
}
|
483 |
}
|
484 |
+
|
485 |
+
public function admin_print_footer_scripts() {
|
486 |
+
global $pagenow;
|
487 |
+
|
488 |
+
$message_post_type = happyforms_get_message_controller()->dummy_type;
|
489 |
+
$current_post_type = get_current_screen()->post_type;
|
490 |
+
|
491 |
+
$is_activity_screen = (
|
492 |
+
in_array( $pagenow, array( 'edit.php', 'post.php' ) )
|
493 |
+
&& ( $current_post_type === $message_post_type )
|
494 |
+
);
|
495 |
+
|
496 |
+
$is_integrations_screen = (
|
497 |
+
isset( $_GET['page'] )
|
498 |
+
&& 'happyforms-integrations' === $_GET['page']
|
499 |
+
);
|
500 |
+
|
501 |
+
if ( ! $is_activity_screen && ! $is_integrations_screen ) {
|
502 |
+
return;
|
503 |
+
}
|
504 |
+
|
505 |
+
?>
|
506 |
+
<script type="text/html" id="happyforms-upgrade-modal-template">
|
507 |
+
<?php
|
508 |
+
$settings = array(
|
509 |
+
'classes' => 'happyforms-modal__frame--upgrade',
|
510 |
+
'dismissible' => false
|
511 |
+
);
|
512 |
+
require( happyforms_get_core_folder() . '/templates/partials/admin-modal-header.php' );
|
513 |
+
require( happyforms_get_include_folder() . '/templates/admin/modal-upgrade.php' );
|
514 |
+
require( happyforms_get_core_folder() . '/templates/partials/admin-modal-footer.php' );
|
515 |
+
?>
|
516 |
+
</script>
|
517 |
+
|
518 |
+
<script type="text/javascript">
|
519 |
+
( function( $ ) {
|
520 |
+
|
521 |
+
var openModal = happyForms.dashboard.openModal;
|
522 |
+
var closeModal = happyForms.dashboard.closeModal;
|
523 |
+
|
524 |
+
happyForms.dashboard.openModal = function() {
|
525 |
+
$( 'body' ).addClass( 'modal-open' );
|
526 |
+
$( 'body' ).append( $( '#happyforms-upgrade-modal-template' ).html() );
|
527 |
+
|
528 |
+
$( document ).one( 'click', '.happyforms-modal__overlay', happyForms.dashboard.closeModal );
|
529 |
+
$( document ).one( 'click', '.happyforms-modal__dismiss', happyForms.dashboard.closeModal );
|
530 |
+
}
|
531 |
+
|
532 |
+
happyForms.dashboard.closeModal = function() {
|
533 |
+
window.location.href = '<?php echo get_admin_url() . 'edit.php?post_type=happyform'; ?>';
|
534 |
+
}
|
535 |
+
|
536 |
+
$( function() {
|
537 |
+
happyForms.dashboard.openModal( 'upgrade' );
|
538 |
+
} );
|
539 |
+
|
540 |
+
} )( jQuery );
|
541 |
+
</script>
|
542 |
+
<?php
|
543 |
+
}
|
544 |
+
|
545 |
}
|
inc/classes/class-message-admin.php
CHANGED
@@ -50,7 +50,6 @@ class HappyForms_Message_Admin {
|
|
50 |
add_filter( "manage_{$this->post_type}_posts_columns", array( $this, 'column_headers' ), PHP_INT_MAX );
|
51 |
add_filter( "manage_edit-{$this->post_type}_sortable_columns", array( $this, 'sortable_columns' ), PHP_INT_MAX );
|
52 |
add_filter( "views_edit-{$this->post_type}", array( $this, 'table_views' ) );
|
53 |
-
add_action( 'admin_footer-edit.php', array( $this, 'print_upgade_modal' ) );
|
54 |
}
|
55 |
|
56 |
public function column_headers( $columns ) {
|
@@ -87,12 +86,6 @@ class HappyForms_Message_Admin {
|
|
87 |
return $views;
|
88 |
}
|
89 |
|
90 |
-
public function print_upgade_modal() {
|
91 |
-
if ( $this->post_type === get_current_screen()->post_type ) {
|
92 |
-
require( happyforms_get_include_folder() . '/templates/admin/modal-dummy-activity.php' );
|
93 |
-
}
|
94 |
-
}
|
95 |
-
|
96 |
}
|
97 |
|
98 |
/**
|
50 |
add_filter( "manage_{$this->post_type}_posts_columns", array( $this, 'column_headers' ), PHP_INT_MAX );
|
51 |
add_filter( "manage_edit-{$this->post_type}_sortable_columns", array( $this, 'sortable_columns' ), PHP_INT_MAX );
|
52 |
add_filter( "views_edit-{$this->post_type}", array( $this, 'table_views' ) );
|
|
|
53 |
}
|
54 |
|
55 |
public function column_headers( $columns ) {
|
86 |
return $views;
|
87 |
}
|
88 |
|
|
|
|
|
|
|
|
|
|
|
|
|
89 |
}
|
90 |
|
91 |
/**
|
inc/classes/class-message-controller.php
CHANGED
@@ -426,7 +426,7 @@ class HappyForms_Message_Controller {
|
|
426 |
*/
|
427 |
private function validate_honeypot( $form ) {
|
428 |
$honeypot_name = $form['ID'] . 'single_line_text_-1';
|
429 |
-
$names = array( '
|
430 |
$validated = true;
|
431 |
|
432 |
foreach( $names as $key ) {
|
426 |
*/
|
427 |
private function validate_honeypot( $form ) {
|
428 |
$honeypot_name = $form['ID'] . 'single_line_text_-1';
|
429 |
+
$names = array( 'single_line_text', 'multi_line_text', 'number' );
|
430 |
$validated = true;
|
431 |
|
432 |
foreach( $names as $key ) {
|
inc/classes/parts/class-part-likert-scale-dummy.php
CHANGED
@@ -5,8 +5,8 @@ class HappyForms_Part_LikertScale_Dummy extends HappyForms_Form_Part {
|
|
5 |
public $type = 'likert_scale_dummy';
|
6 |
|
7 |
public function __construct() {
|
8 |
-
$this->label = __( '
|
9 |
-
$this->description = __( 'For collecting
|
10 |
}
|
11 |
|
12 |
}
|
5 |
public $type = 'likert_scale_dummy';
|
6 |
|
7 |
public function __construct() {
|
8 |
+
$this->label = __( 'Number Scale', 'happyforms' );
|
9 |
+
$this->description = __( 'For collecting ratings using a fixed numeric scale.', 'happyforms' );
|
10 |
}
|
11 |
|
12 |
}
|
inc/templates/admin/modal-dummy-activity.php
DELETED
@@ -1,21 +0,0 @@
|
|
1 |
-
<?php $return_url = get_admin_url() . 'edit.php?post_type=happyform'; ?>
|
2 |
-
<div class="happyforms-modal__overlay">
|
3 |
-
<div class="happyforms-modal__frame happyforms-modal__frame--upgrade">
|
4 |
-
<div class="happyforms-modal__header">
|
5 |
-
<a href="<?php echo $return_url; ?>" class="happyforms-modal__dismiss">
|
6 |
-
|
7 |
-
<svg width="24" height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" role="img" aria-hidden="true" focusable="false"><path d="M13 11.8l6.1-6.3-1-1-6.1 6.2-6.1-6.2-1 1 6.1 6.3-6.5 6.7 1 1 6.5-6.6 6.5 6.6 1-1z"></path></svg>
|
8 |
-
</a>
|
9 |
-
</div>
|
10 |
-
<div class="happyforms-modal__body">
|
11 |
-
<div class="happyforms-modal__heading">
|
12 |
-
<h1><?php _e( 'You’ll need to upgrade<br> to access this', 'happyforms' ); ?></h1>
|
13 |
-
<p><?php _e( 'We offer several, affordable paid plans that include our best features. Upgrade today and increase your customer interactions.', 'happyforms' ); ?></p>
|
14 |
-
</div>
|
15 |
-
<div class="happyforms-modal__content">
|
16 |
-
<a href="https://happyforms.io/upgrade" target="_blank" class="button button-primary button-hero"><?php _e( 'Start Your Risk-Free 14-Day Trial', 'happyforms' ); ?></a>
|
17 |
-
<p>Or <a href="<?php echo $return_url; ?>" class="happyforms-continue-link">continue with free version</a></p>
|
18 |
-
</div>
|
19 |
-
</div>
|
20 |
-
</div>
|
21 |
-
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
integrations/assets/css/admin.css
ADDED
@@ -0,0 +1,128 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#happyforms-integrations-screen {
|
2 |
+
pointer-events: none;
|
3 |
+
}
|
4 |
+
|
5 |
+
#happyforms-integrations-screen .widgets-holder-wrap {
|
6 |
+
border: 0;
|
7 |
+
box-shadow: none;
|
8 |
+
background: transparent;
|
9 |
+
}
|
10 |
+
|
11 |
+
#happyforms-integrations-screen .widget {
|
12 |
+
max-width: 100%;
|
13 |
+
margin: 0 0 10px;
|
14 |
+
}
|
15 |
+
|
16 |
+
#happyforms-integrations-screen .widget .ui-sortable-handle {
|
17 |
+
cursor: auto;
|
18 |
+
}
|
19 |
+
|
20 |
+
#happyforms-integrations-screen .widget .widget-top {
|
21 |
+
cursor: default;
|
22 |
+
}
|
23 |
+
|
24 |
+
#happyforms-integrations-screen .widget-content label {
|
25 |
+
display: inline-block;
|
26 |
+
margin-bottom: 4px;
|
27 |
+
}
|
28 |
+
|
29 |
+
#happyforms-integrations-screen .widget p:last-child {
|
30 |
+
margin-bottom: 0;
|
31 |
+
padding-bottom: 0;
|
32 |
+
}
|
33 |
+
|
34 |
+
#happyforms-integrations-screen .widget .in-widget-title {
|
35 |
+
position: relative;
|
36 |
+
margin-left: 5px;
|
37 |
+
padding-left: 15px;
|
38 |
+
font-weight: normal;
|
39 |
+
}
|
40 |
+
|
41 |
+
#happyforms-integrations-screen .widget .in-widget-title:before {
|
42 |
+
content: "\f12a";
|
43 |
+
position: absolute;
|
44 |
+
left: 0;
|
45 |
+
padding-right: 3px;
|
46 |
+
font-family: dashicons;
|
47 |
+
vertical-align: middle;
|
48 |
+
}
|
49 |
+
|
50 |
+
#happyforms-integrations-screen .widget .widget-control-actions {
|
51 |
+
margin-top: 15px;
|
52 |
+
}
|
53 |
+
|
54 |
+
#happyforms-integrations-screen .widget .widget-control-actions a {
|
55 |
+
font-style: normal;
|
56 |
+
}
|
57 |
+
|
58 |
+
#happyforms-integrations-screen .widget .preview {
|
59 |
+
float: none;
|
60 |
+
color: #A0A5AA;
|
61 |
+
}
|
62 |
+
|
63 |
+
#happyforms-integrations-screen .nested-block {
|
64 |
+
display: none;
|
65 |
+
margin: -10px 0 15px 8px;
|
66 |
+
padding: 5px 0 5px 15px;
|
67 |
+
border-left: 1px solid #ccc;
|
68 |
+
}
|
69 |
+
|
70 |
+
#happyforms-integrations-screen .nested-block p:last-child {
|
71 |
+
margin-bottom: 0;
|
72 |
+
}
|
73 |
+
|
74 |
+
#happyforms-integrations-screen .enabled .nested-block {
|
75 |
+
display: block;
|
76 |
+
}
|
77 |
+
|
78 |
+
#happyforms-integrations-screen .sidebar-content {
|
79 |
+
padding: 0 2px 15px;
|
80 |
+
}
|
81 |
+
|
82 |
+
.wp-core-ui #happyforms-integrations-screen select {
|
83 |
+
max-width: 100%;
|
84 |
+
}
|
85 |
+
|
86 |
+
#widgets-right .widgets-holder-wrap .happyforms-service-integration p.description:first-of-type {
|
87 |
+
padding: 0;
|
88 |
+
}
|
89 |
+
|
90 |
+
#happyforms-service-aweber .widget-content.authenticated .oauth-flow {
|
91 |
+
display: none;
|
92 |
+
}
|
93 |
+
|
94 |
+
#happyforms-service-aweber .widget-content:not(.authenticated) .oauth-connected {
|
95 |
+
display: none;
|
96 |
+
}
|
97 |
+
|
98 |
+
#happyforms-service-mailpoet .widget-content p {
|
99 |
+
margin-bottom: 0;
|
100 |
+
}
|
101 |
+
|
102 |
+
.happyforms-stripe-block,
|
103 |
+
.happyforms-paypal-block {
|
104 |
+
display: none;
|
105 |
+
}
|
106 |
+
|
107 |
+
#happyforms-service-stripe[data-active-mode="live"] .happyforms-stripe-block-live,
|
108 |
+
#happyforms-service-stripe[data-active-mode="test"] .happyforms-stripe-block-test,
|
109 |
+
#happyforms-service-paypal[data-active-mode="live"] .happyforms-paypal-block-live,
|
110 |
+
#happyforms-service-paypal[data-active-mode="sandbox"] .happyforms-paypal-block-sandbox {
|
111 |
+
display: block;
|
112 |
+
}
|
113 |
+
|
114 |
+
#happyforms-integration-toolbar {
|
115 |
+
margin-bottom: 15px;
|
116 |
+
}
|
117 |
+
|
118 |
+
#happyforms-integration-toolbar .media-toolbar-secondary {
|
119 |
+
float: left;
|
120 |
+
margin-top: 11px;
|
121 |
+
}
|
122 |
+
|
123 |
+
@media only screen and (max-width: 1000px) {
|
124 |
+
.media-toolbar-primary.search-form {
|
125 |
+
float: right;
|
126 |
+
max-width: 50%;
|
127 |
+
}
|
128 |
+
}
|
integrations/classes/class-integrations-page-controller.php
ADDED
@@ -0,0 +1,95 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class HappyForms_Integrations_Page_Controller {
|
3 |
+
private static $instance;
|
4 |
+
|
5 |
+
public static function instance() {
|
6 |
+
if ( is_null( self::$instance ) ) {
|
7 |
+
self::$instance = new self();
|
8 |
+
}
|
9 |
+
|
10 |
+
self::$instance->hook();
|
11 |
+
|
12 |
+
return self::$instance;
|
13 |
+
}
|
14 |
+
|
15 |
+
public function hook() {
|
16 |
+
add_filter( 'happyforms_integrations_page_method', array( $this, 'set_admin_page_method' ) );
|
17 |
+
add_filter( 'happyforms_integrations_page_url', array( $this, 'set_admin_page_url' ) );
|
18 |
+
add_action( 'happyforms_add_meta_boxes', array( $this, 'set_metaboxes' ) );
|
19 |
+
add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
|
20 |
+
}
|
21 |
+
|
22 |
+
public function set_metaboxes() {
|
23 |
+
$screen = get_plugin_page_hookname( plugin_basename( $this->set_admin_page_url() ), 'happyforms' );
|
24 |
+
|
25 |
+
$widgets = [
|
26 |
+
[ 'id' => 'active-campaign', 'label' => __( 'ActiveCampaign', 'happyforms' ), 'context' => 'normal' ],
|
27 |
+
[ 'id' => 'aweber', 'label' => __( 'AWeber', 'happyforms' ), 'context' => 'normal' ],
|
28 |
+
[ 'id' => 'constant-contact', 'label' => __( 'Constant Contact', 'happyforms' ), 'context' => 'normal' ],
|
29 |
+
[ 'id' => 'convertkit', 'label' => __( 'ConvertKit', 'happyforms' ), 'context' => 'normal' ],
|
30 |
+
[ 'id' => 'mailchimp', 'label' => __( 'Mailchimp', 'happyforms' ), 'context' => 'normal' ],
|
31 |
+
[ 'id' => 'mailerlite', 'label' => __( 'MailerLite', 'happyforms' ), 'context' => 'normal' ],
|
32 |
+
[ 'id' => 'mailpoet', 'label' => __( 'MailPoet', 'happyforms' ), 'context' => 'normal' ],
|
33 |
+
[ 'id' => 'sendfox', 'label' => __( 'SendFox', 'happyforms' ), 'context' => 'normal' ],
|
34 |
+
[ 'id' => 'sendgrid', 'label' => __( 'SendGrid', 'happyforms' ), 'context' => 'normal' ],
|
35 |
+
[ 'id' => 'sendinblue', 'label' => __( 'Sendinblue', 'happyforms' ), 'context' => 'normal' ],
|
36 |
+
[ 'id' => 'recaptcha', 'label' => __( 'reCAPTCHA', 'happyforms' ), 'context' => 'side' ],
|
37 |
+
[ 'id' => 'google-places', 'label' => __( 'Google Places', 'happyforms' ), 'context' => 'side' ],
|
38 |
+
[ 'id' => 'google-geocoding', 'label' => __( 'Google Geocoding', 'happyforms' ), 'context' => 'side' ],
|
39 |
+
[ 'id' => 'stripe', 'label' => __( 'Stripe', 'happyforms' ), 'context' => 'side' ],
|
40 |
+
[ 'id' => 'paypal', 'label' => __( 'PayPal', 'happyforms' ), 'context' => 'side' ],
|
41 |
+
[ 'id' => 'zapier', 'label' => __( 'Zapier', 'happyforms' ), 'context' => 'column3' ],
|
42 |
+
[ 'id' => 'integromat', 'label' => __( 'Integromat', 'happyforms' ), 'context' => 'column3' ],
|
43 |
+
[ 'id' => 'integrately', 'label' => __( 'Integrately', 'happyforms' ), 'context' => 'column3' ],
|
44 |
+
[ 'id' => 'google-analytics', 'label' => __( 'Google Analytics', 'happyforms' ), 'context' => 'column4' ],
|
45 |
+
|
46 |
+
];
|
47 |
+
|
48 |
+
foreach( $widgets as $widget ) {
|
49 |
+
add_meta_box(
|
50 |
+
'happyforms-integrations-widget-' . $widget['id'],
|
51 |
+
$widget['label'], function() use ( $widget ) {
|
52 |
+
require( happyforms_get_integrations_folder() . '/templates/widget-' . $widget['id'] . '-dummy.php' );
|
53 |
+
},
|
54 |
+
$screen, $widget['context'],
|
55 |
+
);
|
56 |
+
}
|
57 |
+
}
|
58 |
+
|
59 |
+
public function set_admin_page_method() {
|
60 |
+
return array( $this, 'integrations_page' );
|
61 |
+
}
|
62 |
+
|
63 |
+
public function set_admin_page_url() {
|
64 |
+
return 'happyforms-integrations';
|
65 |
+
}
|
66 |
+
|
67 |
+
public function integrations_page() {
|
68 |
+
wp_enqueue_script( 'dashboard' );
|
69 |
+
add_filter( 'admin_footer_text', 'happyforms_admin_footer' );
|
70 |
+
|
71 |
+
require_once( happyforms_get_integrations_folder() . '/templates/admin-integrations.php' );
|
72 |
+
}
|
73 |
+
|
74 |
+
public function admin_enqueue_scripts() {
|
75 |
+
if ( ! isset( $_GET['page'] ) || 'happyforms-integrations' !== $_GET['page'] ) {
|
76 |
+
return;
|
77 |
+
}
|
78 |
+
|
79 |
+
wp_enqueue_style(
|
80 |
+
'happyforms-integrations',
|
81 |
+
happyforms_get_plugin_url() . 'integrations/assets/css/admin.css'
|
82 |
+
);
|
83 |
+
}
|
84 |
+
|
85 |
+
}
|
86 |
+
|
87 |
+
if ( ! function_exists( 'happyforms_get_integrations_page_controller' ) ):
|
88 |
+
|
89 |
+
function happyforms_get_integrations_page_controller() {
|
90 |
+
return HappyForms_Integrations_Page_Controller::instance();
|
91 |
+
}
|
92 |
+
|
93 |
+
endif;
|
94 |
+
|
95 |
+
happyforms_get_integrations_page_controller();
|
integrations/templates/admin-integrations.php
ADDED
@@ -0,0 +1,43 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php $screen = get_current_screen()->id; ?>
|
2 |
+
<div class="wrap" id="happyforms-integrations-screen">
|
3 |
+
<h1><?php _e( 'Integrations', 'happyforms' ); ?></h1>
|
4 |
+
<div id="happyforms-integration-toolbar" class="media-toolbar wp-filter">
|
5 |
+
<div class="media-toolbar-secondary">
|
6 |
+
<select id="happyforms-integration-filters" class="attachment-filters">
|
7 |
+
<option>All integrations</option>
|
8 |
+
<option>Analytics and insights</option>
|
9 |
+
<option>Anti-spam and validation</option>
|
10 |
+
<option>Automation services</option>
|
11 |
+
<option>Email marketing</option>
|
12 |
+
<option>Location services</option>
|
13 |
+
<option>Payment processing</option>
|
14 |
+
</select>
|
15 |
+
</div>
|
16 |
+
|
17 |
+
<div class="media-toolbar-primary search-form">
|
18 |
+
<label for="media-search-input" class="media-search-input-label">Search</label>
|
19 |
+
<input type="search" id="happyforms-search-input" class="search">
|
20 |
+
</div>
|
21 |
+
</div>
|
22 |
+
<div id="dashboard-widgets-wrap" class="happyforms-admin-widgets">
|
23 |
+
<div id="dashboard-widgets" class="metabox-holder">
|
24 |
+
<div id="postbox-container-1" class="postbox-container">
|
25 |
+
<?php do_meta_boxes( $screen, 'normal', '' ); ?>
|
26 |
+
</div>
|
27 |
+
<div id="postbox-container-2" class="postbox-container">
|
28 |
+
<?php do_meta_boxes( $screen, 'side', '' ); ?>
|
29 |
+
</div>
|
30 |
+
<div id="postbox-container-3" class="postbox-container">
|
31 |
+
<?php do_meta_boxes( $screen, 'column3', '' ); ?>
|
32 |
+
</div>
|
33 |
+
<div id="postbox-container-4" class="postbox-container">
|
34 |
+
<?php do_meta_boxes( $screen, 'column4', '' ); ?>
|
35 |
+
</div>
|
36 |
+
</div>
|
37 |
+
<?php
|
38 |
+
wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false );
|
39 |
+
wp_nonce_field( 'meta-box-order', 'meta-box-order-nonce', false );
|
40 |
+
?>
|
41 |
+
|
42 |
+
</div>
|
43 |
+
</div>
|
integrations/templates/widget-active-campaign-dummy.php
ADDED
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<form class="happyforms-service">
|
2 |
+
<div class="widget-content">
|
3 |
+
<div id="happyforms-service-active-campaign" class="happyforms-service-integration">
|
4 |
+
<div class="widget-content">
|
5 |
+
<label for=""><?php _e( 'API URL', 'happyforms' ); ?></label>
|
6 |
+
<div class="hf-pwd">
|
7 |
+
<input type="password" class="widefat happyforms-credentials-input connected" id="" name="" value="" />
|
8 |
+
<button type="button" class="button button-secondary hf-hide-pw hide-if-no-js" data-toggle="0" aria-label="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-show="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-hide="<?php _e( 'Hide credentials', 'happyforms' ); ?>">
|
9 |
+
<span class="dashicons dashicons-visibility" aria-hidden="true"></span>
|
10 |
+
</button>
|
11 |
+
</div>
|
12 |
+
<label for=""><?php _e( 'API key', 'happyforms' ); ?></label>
|
13 |
+
<div class="hf-pwd">
|
14 |
+
<input type="password" class="widefat happyforms-credentials-input connected" id="" name="" value="" />
|
15 |
+
<button type="button" class="button button-secondary hf-hide-pw hide-if-no-js" data-toggle="0" aria-label="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-show="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-hide="<?php _e( 'Hide credentials', 'happyforms' ); ?>">
|
16 |
+
<span class="dashicons dashicons-visibility" aria-hidden="true"></span>
|
17 |
+
</button>
|
18 |
+
</div>
|
19 |
+
</div>
|
20 |
+
</div>
|
21 |
+
<div class="widget-control-actions">
|
22 |
+
<div class="alignleft">
|
23 |
+
<input type="submit" class="connected button button-primary widget-control-save right" value="<?php _e( 'Save Changes', 'happyforms' ); ?>">
|
24 |
+
</div>
|
25 |
+
<br class="clear" />
|
26 |
+
</div>
|
27 |
+
</div>
|
28 |
+
</form>
|
integrations/templates/widget-aweber-dummy.php
ADDED
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
$label_link = ' (<a href="#" target="_blank">' . __( 'get your code', 'happyforms' ) . '</a>)';
|
3 |
+
?>
|
4 |
+
<form class="happyforms-service">
|
5 |
+
<div class="widget-content">
|
6 |
+
<div id="happyforms-service-aweber" class="happyforms-service-integration">
|
7 |
+
<div class="widget-content">
|
8 |
+
<div class="oauth-flow">
|
9 |
+
<label for=""><?php echo __( 'Verification code', 'happyforms' ) . $label_link; ?></label>
|
10 |
+
<div class="hf-pwd">
|
11 |
+
<input type="password" class="widefat happyforms-credentials-input connected" id="" name="" value="" />
|
12 |
+
<button type="button" class="button button-secondary hf-hide-pw hide-if-no-js" data-toggle="0" aria-label="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-show="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-hide="<?php _e( 'Hide credentials', 'happyforms' ); ?>">
|
13 |
+
<span class="dashicons dashicons-visibility" aria-hidden="true"></span>
|
14 |
+
</button>
|
15 |
+
</div>
|
16 |
+
</div>
|
17 |
+
</div>
|
18 |
+
</div>
|
19 |
+
<div class="widget-control-actions">
|
20 |
+
<div class="alignleft">
|
21 |
+
<input type="submit" class="connected button button-primary widget-control-save right" value="<?php _e( 'Save Changes', 'happyforms' ); ?>">
|
22 |
+
</div>
|
23 |
+
<br class="clear" />
|
24 |
+
</div>
|
25 |
+
</div>
|
26 |
+
</form>
|
integrations/templates/widget-constant-contact-dummy.php
ADDED
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<form class="happyforms-service">
|
2 |
+
<div class="widget-content">
|
3 |
+
<div id="happyforms-service-active-campaign" class="happyforms-service-integration">
|
4 |
+
<div class="widget-content">
|
5 |
+
<label for=""><?php _e( 'API URL', 'happyforms' ); ?></label>
|
6 |
+
<div class="hf-pwd">
|
7 |
+
<input type="password" class="widefat happyforms-credentials-input connected" id="" name="" value="" />
|
8 |
+
<button type="button" class="button button-secondary hf-hide-pw hide-if-no-js" data-toggle="0" aria-label="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-show="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-hide="<?php _e( 'Hide credentials', 'happyforms' ); ?>">
|
9 |
+
<span class="dashicons dashicons-visibility" aria-hidden="true"></span>
|
10 |
+
</button>
|
11 |
+
</div>
|
12 |
+
<label for=""><?php _e( 'API key', 'happyforms' ); ?></label>
|
13 |
+
<div class="hf-pwd">
|
14 |
+
<input type="password" class="widefat happyforms-credentials-input connected" id="" name="" value="" />
|
15 |
+
<button type="button" class="button button-secondary hf-hide-pw hide-if-no-js" data-toggle="0" aria-label="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-show="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-hide="<?php _e( 'Hide credentials', 'happyforms' ); ?>">
|
16 |
+
<span class="dashicons dashicons-visibility" aria-hidden="true"></span>
|
17 |
+
</button>
|
18 |
+
</div>
|
19 |
+
</div>
|
20 |
+
</div>
|
21 |
+
<div class="widget-control-actions">
|
22 |
+
<div class="alignleft">
|
23 |
+
<input type="submit" class="connected button button-primary widget-control-save right" value="<?php _e( 'Save Changes', 'happyforms' ); ?>">
|
24 |
+
</div>
|
25 |
+
<br class="clear" />
|
26 |
+
</div>
|
27 |
+
</div>
|
28 |
+
</form>
|
integrations/templates/widget-convertkit-dummy.php
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<form class="happyforms-service hf-ajax-submit">
|
2 |
+
<div class="widget-content">
|
3 |
+
<div id="happyforms-service-google-places" class="happyforms-service-integration">
|
4 |
+
<div class="widget-content">
|
5 |
+
<label for=""><?php _e( 'API key', 'happyforms' ); ?></label>
|
6 |
+
<div class="hf-pwd">
|
7 |
+
<input type="password" class="widefat happyforms-credentials-input connected" id="" name="" value="" />
|
8 |
+
<button type="button" class="button button-secondary hf-hide-pw hide-if-no-js" data-toggle="0" aria-label="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-show="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-hide="<?php _e( 'Hide credentials', 'happyforms' ); ?>">
|
9 |
+
<span class="dashicons dashicons-visibility" aria-hidden="true"></span>
|
10 |
+
</button>
|
11 |
+
</div>
|
12 |
+
</div>
|
13 |
+
</div>
|
14 |
+
<div class="widget-control-actions">
|
15 |
+
<div class="alignleft">
|
16 |
+
<input type="button" class="connected button button-primary widget-control-save right" value="<?php _e( 'Save Changes', 'happyforms' ); ?>">
|
17 |
+
</div>
|
18 |
+
<br class="clear" />
|
19 |
+
</div>
|
20 |
+
</div>
|
21 |
+
</form>
|
integrations/templates/widget-google-analytics-dummy.php
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<form class="happyforms-service hf-ajax-submit">
|
2 |
+
<div class="widget-content">
|
3 |
+
<div id="happyforms-service-google-places" class="happyforms-service-integration">
|
4 |
+
<div class="widget-content">
|
5 |
+
<label for=""><?php _e( 'Tracking ID', 'happyforms' ); ?></label>
|
6 |
+
<div class="hf-pwd">
|
7 |
+
<input type="password" class="widefat happyforms-credentials-input connected" id="" name="" value="" />
|
8 |
+
<button type="button" class="button button-secondary hf-hide-pw hide-if-no-js" data-toggle="0" aria-label="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-show="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-hide="<?php _e( 'Hide credentials', 'happyforms' ); ?>">
|
9 |
+
<span class="dashicons dashicons-visibility" aria-hidden="true"></span>
|
10 |
+
</button>
|
11 |
+
</div>
|
12 |
+
</div>
|
13 |
+
</div>
|
14 |
+
<div class="widget-control-actions">
|
15 |
+
<div class="alignleft">
|
16 |
+
<input type="button" class="connected button button-primary widget-control-save right" value="<?php _e( 'Save Changes', 'happyforms' ); ?>">
|
17 |
+
</div>
|
18 |
+
<br class="clear" />
|
19 |
+
</div>
|
20 |
+
</div>
|
21 |
+
</form>
|
integrations/templates/widget-google-geocoding-dummy.php
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<form class="happyforms-service hf-ajax-submit">
|
2 |
+
<div class="widget-content">
|
3 |
+
<div id="happyforms-service-google-places" class="happyforms-service-integration">
|
4 |
+
<div class="widget-content">
|
5 |
+
<label for=""><?php _e( 'API key', 'happyforms' ); ?></label>
|
6 |
+
<div class="hf-pwd">
|
7 |
+
<input type="password" class="widefat happyforms-credentials-input connected" id="" name="" value="" />
|
8 |
+
<button type="button" class="button button-secondary hf-hide-pw hide-if-no-js" data-toggle="0" aria-label="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-show="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-hide="<?php _e( 'Hide credentials', 'happyforms' ); ?>">
|
9 |
+
<span class="dashicons dashicons-visibility" aria-hidden="true"></span>
|
10 |
+
</button>
|
11 |
+
</div>
|
12 |
+
</div>
|
13 |
+
</div>
|
14 |
+
<div class="widget-control-actions">
|
15 |
+
<div class="alignleft">
|
16 |
+
<input type="button" class="connected button button-primary widget-control-save right" value="<?php _e( 'Save Changes', 'happyforms' ); ?>">
|
17 |
+
</div>
|
18 |
+
<br class="clear" />
|
19 |
+
</div>
|
20 |
+
</div>
|
21 |
+
</form>
|
integrations/templates/widget-google-places-dummy.php
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<form class="happyforms-service hf-ajax-submit">
|
2 |
+
<div class="widget-content">
|
3 |
+
<div id="happyforms-service-google-places" class="happyforms-service-integration">
|
4 |
+
<div class="widget-content">
|
5 |
+
<label for=""><?php _e( 'API key', 'happyforms' ); ?></label>
|
6 |
+
<div class="hf-pwd">
|
7 |
+
<input type="password" class="widefat happyforms-credentials-input connected" id="" name="" value="" />
|
8 |
+
<button type="button" class="button button-secondary hf-hide-pw hide-if-no-js" data-toggle="0" aria-label="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-show="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-hide="<?php _e( 'Hide credentials', 'happyforms' ); ?>">
|
9 |
+
<span class="dashicons dashicons-visibility" aria-hidden="true"></span>
|
10 |
+
</button>
|
11 |
+
</div>
|
12 |
+
</div>
|
13 |
+
</div>
|
14 |
+
<div class="widget-control-actions">
|
15 |
+
<div class="alignleft">
|
16 |
+
<input type="button" class="connected button button-primary widget-control-save right" value="<?php _e( 'Save Changes', 'happyforms' ); ?>">
|
17 |
+
</div>
|
18 |
+
<br class="clear" />
|
19 |
+
</div>
|
20 |
+
</div>
|
21 |
+
</form>
|
integrations/templates/widget-integrately-dummy.php
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<form class="happyforms-service hf-ajax-submit">
|
2 |
+
<div class="widget-content">
|
3 |
+
<div id="happyforms-service-google-places" class="happyforms-service-integration">
|
4 |
+
<div class="widget-content">
|
5 |
+
<label for=""><?php _e( 'API key', 'happyforms' ); ?></label>
|
6 |
+
<div class="hf-pwd">
|
7 |
+
<input type="password" class="widefat happyforms-credentials-input connected" id="" name="" value="<?php echo wp_generate_uuid4(); ?>" />
|
8 |
+
<button type="button" class="button button-secondary hf-hide-pw hide-if-no-js" data-toggle="0" aria-label="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-show="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-hide="<?php _e( 'Hide credentials', 'happyforms' ); ?>">
|
9 |
+
<span class="dashicons dashicons-visibility" aria-hidden="true"></span>
|
10 |
+
</button>
|
11 |
+
</div>
|
12 |
+
</div>
|
13 |
+
</div>
|
14 |
+
<div class="widget-control-actions">
|
15 |
+
<div class="alignleft">
|
16 |
+
<input type="button" class="connected button button-primary widget-control-save right" value="<?php _e( 'Save Changes', 'happyforms' ); ?>">
|
17 |
+
</div>
|
18 |
+
<br class="clear" />
|
19 |
+
</div>
|
20 |
+
</div>
|
21 |
+
</form>
|
integrations/templates/widget-integromat-dummy.php
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<form class="happyforms-service hf-ajax-submit">
|
2 |
+
<div class="widget-content">
|
3 |
+
<div id="happyforms-service-google-places" class="happyforms-service-integration">
|
4 |
+
<div class="widget-content">
|
5 |
+
<label for=""><?php _e( 'API key', 'happyforms' ); ?></label>
|
6 |
+
<div class="hf-pwd">
|
7 |
+
<input type="password" class="widefat happyforms-credentials-input connected" id="" name="" value="<?php echo wp_generate_uuid4(); ?>" />
|
8 |
+
<button type="button" class="button button-secondary hf-hide-pw hide-if-no-js" data-toggle="0" aria-label="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-show="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-hide="<?php _e( 'Hide credentials', 'happyforms' ); ?>">
|
9 |
+
<span class="dashicons dashicons-visibility" aria-hidden="true"></span>
|
10 |
+
</button>
|
11 |
+
</div>
|
12 |
+
</div>
|
13 |
+
</div>
|
14 |
+
<div class="widget-control-actions">
|
15 |
+
<div class="alignleft">
|
16 |
+
<input type="button" class="connected button button-primary widget-control-save right" value="<?php _e( 'Save Changes', 'happyforms' ); ?>">
|
17 |
+
</div>
|
18 |
+
<br class="clear" />
|
19 |
+
</div>
|
20 |
+
</div>
|
21 |
+
</form>
|
integrations/templates/widget-mailchimp-dummy.php
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<form class="happyforms-service hf-ajax-submit">
|
2 |
+
<div class="widget-content">
|
3 |
+
<div id="happyforms-service-google-places" class="happyforms-service-integration">
|
4 |
+
<div class="widget-content">
|
5 |
+
<label for=""><?php _e( 'API key', 'happyforms' ); ?></label>
|
6 |
+
<div class="hf-pwd">
|
7 |
+
<input type="password" class="widefat happyforms-credentials-input connected" id="" name="" value="" />
|
8 |
+
<button type="button" class="button button-secondary hf-hide-pw hide-if-no-js" data-toggle="0" aria-label="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-show="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-hide="<?php _e( 'Hide credentials', 'happyforms' ); ?>">
|
9 |
+
<span class="dashicons dashicons-visibility" aria-hidden="true"></span>
|
10 |
+
</button>
|
11 |
+
</div>
|
12 |
+
</div>
|
13 |
+
</div>
|
14 |
+
<div class="widget-control-actions">
|
15 |
+
<div class="alignleft">
|
16 |
+
<input type="button" class="connected button button-primary widget-control-save right" value="<?php _e( 'Save Changes', 'happyforms' ); ?>">
|
17 |
+
</div>
|
18 |
+
<br class="clear" />
|
19 |
+
</div>
|
20 |
+
</div>
|
21 |
+
</form>
|
integrations/templates/widget-mailerlite-dummy.php
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<form class="happyforms-service hf-ajax-submit">
|
2 |
+
<div class="widget-content">
|
3 |
+
<div id="happyforms-service-google-places" class="happyforms-service-integration">
|
4 |
+
<div class="widget-content">
|
5 |
+
<label for=""><?php _e( 'API key', 'happyforms' ); ?></label>
|
6 |
+
<div class="hf-pwd">
|
7 |
+
<input type="password" class="widefat happyforms-credentials-input connected" id="" name="" value="" />
|
8 |
+
<button type="button" class="button button-secondary hf-hide-pw hide-if-no-js" data-toggle="0" aria-label="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-show="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-hide="<?php _e( 'Hide credentials', 'happyforms' ); ?>">
|
9 |
+
<span class="dashicons dashicons-visibility" aria-hidden="true"></span>
|
10 |
+
</button>
|
11 |
+
</div>
|
12 |
+
</div>
|
13 |
+
</div>
|
14 |
+
<div class="widget-control-actions">
|
15 |
+
<div class="alignleft">
|
16 |
+
<input type="button" class="connected button button-primary widget-control-save right" value="<?php _e( 'Save Changes', 'happyforms' ); ?>">
|
17 |
+
</div>
|
18 |
+
<br class="clear" />
|
19 |
+
</div>
|
20 |
+
</div>
|
21 |
+
</form>
|
integrations/templates/widget-mailpoet-dummy.php
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<form class="happyforms-service hf-ajax-submit">
|
2 |
+
<div class="widget-content">
|
3 |
+
<div id="happyforms-service-google-places" class="happyforms-service-integration">
|
4 |
+
<div class="widget-content">
|
5 |
+
<p><?php _e( 'MailPoet plugin must first be installed and activated to use this integration.', 'happyforms' ); ?></p>
|
6 |
+
</div>
|
7 |
+
</div>
|
8 |
+
</div>
|
9 |
+
</form>
|
integrations/templates/widget-paypal-dummy.php
ADDED
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<form class="happyforms-service hf-ajax-submit">
|
2 |
+
<div class="widget-content has-service-selection">
|
3 |
+
<p>
|
4 |
+
<label for="happyforms_integrations_spam_service"><?php _e( 'Mode', 'happyforms' ); ?></label>
|
5 |
+
<select id="happyforms_integrations_spam_service" class="widefat">
|
6 |
+
<option>Live</option>
|
7 |
+
</select>
|
8 |
+
</p>
|
9 |
+
|
10 |
+
<div id="happyforms-service-recaptcha" class="happyforms-service-integration">
|
11 |
+
<div class="widget-content">
|
12 |
+
<label for=""><?php _e( 'Client ID', 'happyforms' ); ?></label>
|
13 |
+
<div class="hf-pwd">
|
14 |
+
<input type="password" class="widefat happyforms-credentials-input connected" id="" name="" value="" />
|
15 |
+
<button type="button" class="button button-secondary hf-hide-pw hide-if-no-js" data-toggle="0" aria-label="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-show="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-hide="<?php _e( 'Hide credentials', 'happyforms' ); ?>">
|
16 |
+
<span class="dashicons dashicons-visibility" aria-hidden="true"></span>
|
17 |
+
</button>
|
18 |
+
</div>
|
19 |
+
<label for=""><?php _e( 'Client secret', 'happyforms' ); ?></label>
|
20 |
+
<div class="hf-pwd">
|
21 |
+
<input type="password" class="widefat happyforms-credentials-input connected" id="" name="" value="" />
|
22 |
+
<button type="button" class="button button-secondary hf-hide-pw hide-if-no-js" data-toggle="0" aria-label="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-show="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-hide="<?php _e( 'Hide credentials', 'happyforms' ); ?>">
|
23 |
+
<span class="dashicons dashicons-visibility" aria-hidden="true"></span>
|
24 |
+
</button>
|
25 |
+
</div>
|
26 |
+
</div>
|
27 |
+
</div>
|
28 |
+
|
29 |
+
<div class="widget-control-actions">
|
30 |
+
<div class="alignleft">
|
31 |
+
<span class="spinner"></span>
|
32 |
+
<input type="submit" class="connected button button-primary widget-control-save right" value="<?php _e( 'Save Changes', 'happyforms' ); ?>">
|
33 |
+
</div>
|
34 |
+
<br class="clear" />
|
35 |
+
</div>
|
36 |
+
</div>
|
37 |
+
</form>
|
38 |
+
|
integrations/templates/widget-recaptcha-dummy.php
ADDED
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<form class="happyforms-service hf-ajax-submit">
|
2 |
+
<div class="widget-content has-service-selection">
|
3 |
+
<p>
|
4 |
+
<label for="happyforms_integrations_spam_service"><?php _e( 'Service', 'happyforms' ); ?></label>
|
5 |
+
<select id="happyforms_integrations_spam_service" class="widefat">
|
6 |
+
<option>V2</option>
|
7 |
+
</select>
|
8 |
+
</p>
|
9 |
+
|
10 |
+
<div id="happyforms-service-recaptcha" class="happyforms-service-integration">
|
11 |
+
<div class="widget-content">
|
12 |
+
<label for=""><?php _e( 'Site key', 'happyforms' ); ?></label>
|
13 |
+
<div class="hf-pwd">
|
14 |
+
<input type="password" class="widefat happyforms-credentials-input connected" id="" name="" value="" />
|
15 |
+
<button type="button" class="button button-secondary hf-hide-pw hide-if-no-js" data-toggle="0" aria-label="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-show="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-hide="<?php _e( 'Hide credentials', 'happyforms' ); ?>">
|
16 |
+
<span class="dashicons dashicons-visibility" aria-hidden="true"></span>
|
17 |
+
</button>
|
18 |
+
</div>
|
19 |
+
<label for=""><?php _e( 'Secret key', 'happyforms' ); ?></label>
|
20 |
+
<div class="hf-pwd">
|
21 |
+
<input type="password" class="widefat happyforms-credentials-input connected" id="" name="" value="" />
|
22 |
+
<button type="button" class="button button-secondary hf-hide-pw hide-if-no-js" data-toggle="0" aria-label="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-show="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-hide="<?php _e( 'Hide credentials', 'happyforms' ); ?>">
|
23 |
+
<span class="dashicons dashicons-visibility" aria-hidden="true"></span>
|
24 |
+
</button>
|
25 |
+
</div>
|
26 |
+
</div>
|
27 |
+
</div>
|
28 |
+
|
29 |
+
<div class="widget-control-actions">
|
30 |
+
<div class="alignleft">
|
31 |
+
<span class="spinner"></span>
|
32 |
+
<input type="submit" class="connected button button-primary widget-control-save right" value="<?php _e( 'Save Changes', 'happyforms' ); ?>">
|
33 |
+
</div>
|
34 |
+
<br class="clear" />
|
35 |
+
</div>
|
36 |
+
</div>
|
37 |
+
</form>
|
38 |
+
|
integrations/templates/widget-sendfox-dummy.php
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<form class="happyforms-service hf-ajax-submit">
|
2 |
+
<div class="widget-content">
|
3 |
+
<div id="happyforms-service-google-places" class="happyforms-service-integration">
|
4 |
+
<div class="widget-content">
|
5 |
+
<label for=""><?php _e( 'Personal access token', 'happyforms' ); ?></label>
|
6 |
+
<div class="hf-pwd">
|
7 |
+
<input type="password" class="widefat happyforms-credentials-input connected" id="" name="" value="" />
|
8 |
+
<button type="button" class="button button-secondary hf-hide-pw hide-if-no-js" data-toggle="0" aria-label="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-show="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-hide="<?php _e( 'Hide credentials', 'happyforms' ); ?>">
|
9 |
+
<span class="dashicons dashicons-visibility" aria-hidden="true"></span>
|
10 |
+
</button>
|
11 |
+
</div>
|
12 |
+
</div>
|
13 |
+
</div>
|
14 |
+
<div class="widget-control-actions">
|
15 |
+
<div class="alignleft">
|
16 |
+
<input type="button" class="connected button button-primary widget-control-save right" value="<?php _e( 'Save Changes', 'happyforms' ); ?>">
|
17 |
+
</div>
|
18 |
+
<br class="clear" />
|
19 |
+
</div>
|
20 |
+
</div>
|
21 |
+
</form>
|
integrations/templates/widget-sendgrid-dummy.php
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<form class="happyforms-service hf-ajax-submit">
|
2 |
+
<div class="widget-content">
|
3 |
+
<div id="happyforms-service-google-places" class="happyforms-service-integration">
|
4 |
+
<div class="widget-content">
|
5 |
+
<label for=""><?php _e( 'Personal access token', 'happyforms' ); ?></label>
|
6 |
+
<div class="hf-pwd">
|
7 |
+
<input type="password" class="widefat happyforms-credentials-input connected" id="" name="" value="" />
|
8 |
+
<button type="button" class="button button-secondary hf-hide-pw hide-if-no-js" data-toggle="0" aria-label="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-show="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-hide="<?php _e( 'Hide credentials', 'happyforms' ); ?>">
|
9 |
+
<span class="dashicons dashicons-visibility" aria-hidden="true"></span>
|
10 |
+
</button>
|
11 |
+
</div>
|
12 |
+
</div>
|
13 |
+
</div>
|
14 |
+
<div class="widget-control-actions">
|
15 |
+
<div class="alignleft">
|
16 |
+
<input type="button" class="connected button button-primary widget-control-save right" value="<?php _e( 'Save Changes', 'happyforms' ); ?>">
|
17 |
+
</div>
|
18 |
+
<br class="clear" />
|
19 |
+
</div>
|
20 |
+
</div>
|
21 |
+
</form>
|
integrations/templates/widget-sendinblue-dummy.php
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<form class="happyforms-service hf-ajax-submit">
|
2 |
+
<div class="widget-content">
|
3 |
+
<div id="happyforms-service-google-places" class="happyforms-service-integration">
|
4 |
+
<div class="widget-content">
|
5 |
+
<label for=""><?php _e( 'Personal access token', 'happyforms' ); ?></label>
|
6 |
+
<div class="hf-pwd">
|
7 |
+
<input type="password" class="widefat happyforms-credentials-input connected" id="" name="" value="" />
|
8 |
+
<button type="button" class="button button-secondary hf-hide-pw hide-if-no-js" data-toggle="0" aria-label="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-show="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-hide="<?php _e( 'Hide credentials', 'happyforms' ); ?>">
|
9 |
+
<span class="dashicons dashicons-visibility" aria-hidden="true"></span>
|
10 |
+
</button>
|
11 |
+
</div>
|
12 |
+
</div>
|
13 |
+
</div>
|
14 |
+
<div class="widget-control-actions">
|
15 |
+
<div class="alignleft">
|
16 |
+
<input type="button" class="connected button button-primary widget-control-save right" value="<?php _e( 'Save Changes', 'happyforms' ); ?>">
|
17 |
+
</div>
|
18 |
+
<br class="clear" />
|
19 |
+
</div>
|
20 |
+
</div>
|
21 |
+
</form>
|
integrations/templates/widget-stripe-dummy.php
ADDED
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<form class="happyforms-service hf-ajax-submit">
|
2 |
+
<div class="widget-content has-service-selection">
|
3 |
+
<p>
|
4 |
+
<label for="happyforms_integrations_spam_service"><?php _e( 'Mode', 'happyforms' ); ?></label>
|
5 |
+
<select id="happyforms_integrations_spam_service" class="widefat">
|
6 |
+
<option>Live</option>
|
7 |
+
</select>
|
8 |
+
</p>
|
9 |
+
|
10 |
+
<div id="happyforms-service-recaptcha" class="happyforms-service-integration">
|
11 |
+
<div class="widget-content">
|
12 |
+
<label for=""><?php _e( 'Publishable key', 'happyforms' ); ?></label>
|
13 |
+
<div class="hf-pwd">
|
14 |
+
<input type="password" class="widefat happyforms-credentials-input connected" id="" name="" value="" />
|
15 |
+
<button type="button" class="button button-secondary hf-hide-pw hide-if-no-js" data-toggle="0" aria-label="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-show="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-hide="<?php _e( 'Hide credentials', 'happyforms' ); ?>">
|
16 |
+
<span class="dashicons dashicons-visibility" aria-hidden="true"></span>
|
17 |
+
</button>
|
18 |
+
</div>
|
19 |
+
<label for=""><?php _e( 'Secret key', 'happyforms' ); ?></label>
|
20 |
+
<div class="hf-pwd">
|
21 |
+
<input type="password" class="widefat happyforms-credentials-input connected" id="" name="" value="" />
|
22 |
+
<button type="button" class="button button-secondary hf-hide-pw hide-if-no-js" data-toggle="0" aria-label="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-show="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-hide="<?php _e( 'Hide credentials', 'happyforms' ); ?>">
|
23 |
+
<span class="dashicons dashicons-visibility" aria-hidden="true"></span>
|
24 |
+
</button>
|
25 |
+
</div>
|
26 |
+
</div>
|
27 |
+
</div>
|
28 |
+
|
29 |
+
<div class="widget-control-actions">
|
30 |
+
<div class="alignleft">
|
31 |
+
<span class="spinner"></span>
|
32 |
+
<input type="submit" class="connected button button-primary widget-control-save right" value="<?php _e( 'Save Changes', 'happyforms' ); ?>">
|
33 |
+
</div>
|
34 |
+
<br class="clear" />
|
35 |
+
</div>
|
36 |
+
</div>
|
37 |
+
</form>
|
38 |
+
|
integrations/templates/widget-zapier-dummy.php
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<form class="happyforms-service hf-ajax-submit">
|
2 |
+
<div class="widget-content">
|
3 |
+
<div id="happyforms-service-google-places" class="happyforms-service-integration">
|
4 |
+
<div class="widget-content">
|
5 |
+
<label for=""><?php _e( 'API key', 'happyforms' ); ?></label>
|
6 |
+
<div class="hf-pwd">
|
7 |
+
<input type="password" class="widefat happyforms-credentials-input connected" id="" name="" value="<?php echo wp_generate_uuid4(); ?>" />
|
8 |
+
<button type="button" class="button button-secondary hf-hide-pw hide-if-no-js" data-toggle="0" aria-label="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-show="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-hide="<?php _e( 'Hide credentials', 'happyforms' ); ?>">
|
9 |
+
<span class="dashicons dashicons-visibility" aria-hidden="true"></span>
|
10 |
+
</button>
|
11 |
+
</div>
|
12 |
+
</div>
|
13 |
+
</div>
|
14 |
+
<div class="widget-control-actions">
|
15 |
+
<div class="alignleft">
|
16 |
+
<input type="button" class="connected button button-primary widget-control-save right" value="<?php _e( 'Save Changes', 'happyforms' ); ?>">
|
17 |
+
</div>
|
18 |
+
<br class="clear" />
|
19 |
+
</div>
|
20 |
+
</div>
|
21 |
+
</form>
|
languages/happyforms.pot
CHANGED
@@ -2,9 +2,9 @@
|
|
2 |
# This file is distributed under the same license as the Happyforms (free) package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: Happyforms (free) 1.13.
|
6 |
"Report-Msgid-Bugs-To: https://thethemefoundry.com/support/\n"
|
7 |
-
"POT-Creation-Date: 2021-09-
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=utf-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -24,15 +24,19 @@ msgstr ""
|
|
24 |
msgid "Displays a form."
|
25 |
msgstr ""
|
26 |
|
27 |
-
#: core/classes/class-block.php:
|
28 |
msgid "Choose"
|
29 |
msgstr ""
|
30 |
|
31 |
-
#: core/classes/class-block.php:
|
32 |
msgid "Which form would you like to add here?"
|
33 |
msgstr ""
|
34 |
|
35 |
-
#: core/classes/class-block.php:
|
|
|
|
|
|
|
|
|
36 |
msgid "HappyForms Settings"
|
37 |
msgstr ""
|
38 |
|
@@ -162,7 +166,7 @@ msgstr ""
|
|
162 |
msgid "Duplicate"
|
163 |
msgstr ""
|
164 |
|
165 |
-
#: core/classes/class-form-admin.php:423 inc/classes/class-message-admin.php:
|
166 |
msgid "Trash"
|
167 |
msgstr ""
|
168 |
|
@@ -201,10 +205,6 @@ msgstr ""
|
|
201 |
msgid "Search Forms"
|
202 |
msgstr ""
|
203 |
|
204 |
-
#: core/classes/class-form-controller.php:81
|
205 |
-
msgid "No forms found."
|
206 |
-
msgstr ""
|
207 |
-
|
208 |
#: core/classes/class-form-controller.php:82
|
209 |
msgid "No forms found in Trash."
|
210 |
msgstr ""
|
@@ -489,7 +489,7 @@ msgstr ""
|
|
489 |
msgid "Submit form"
|
490 |
msgstr ""
|
491 |
|
492 |
-
#: core/classes/class-form-shuffle.php:43 inc/classes/class-happyforms.php:
|
493 |
msgid "Randomize fields to prevent bias"
|
494 |
msgstr ""
|
495 |
|
@@ -810,12 +810,12 @@ msgstr ""
|
|
810 |
|
811 |
#: core/classes/class-form-styles.php:745
|
812 |
#: core/templates/parts/customize-checkbox.php:4
|
813 |
-
#: core/templates/parts/customize-checkbox.php:
|
814 |
#: core/templates/parts/customize-email.php:4
|
815 |
#: core/templates/parts/customize-multi-line-text.php:4
|
816 |
#: core/templates/parts/customize-number.php:4
|
817 |
#: core/templates/parts/customize-radio.php:4
|
818 |
-
#: core/templates/parts/customize-radio.php:
|
819 |
#: core/templates/parts/customize-select.php:4
|
820 |
#: core/templates/parts/customize-select.php:105
|
821 |
#: core/templates/parts/customize-single-line-text.php:4
|
@@ -959,6 +959,7 @@ msgstr ""
|
|
959 |
|
960 |
#: core/classes/class-happyforms-core.php:206
|
961 |
#: core/classes/class-happyforms-core.php:207
|
|
|
962 |
msgid "Integrations"
|
963 |
msgstr ""
|
964 |
|
@@ -1120,7 +1121,7 @@ msgid "Select all"
|
|
1120 |
msgstr ""
|
1121 |
|
1122 |
#: core/classes/parts/class-part-checkbox.php:93
|
1123 |
-
#: core/classes/parts/class-part-radio.php:
|
1124 |
#: core/classes/parts/class-part-select.php:80
|
1125 |
msgid "Other"
|
1126 |
msgstr ""
|
@@ -2974,8 +2975,8 @@ msgstr ""
|
|
2974 |
|
2975 |
#: core/templates/customize-form-item.php:33
|
2976 |
#: core/templates/customize-form-part-footer.php:3
|
2977 |
-
#: core/templates/parts/customize-checkbox.php:
|
2978 |
-
#: core/templates/parts/customize-radio.php:
|
2979 |
#: core/templates/parts/customize-select.php:126
|
2980 |
msgid "Delete"
|
2981 |
msgstr ""
|
@@ -3003,7 +3004,7 @@ msgid "Clear Results"
|
|
3003 |
msgstr ""
|
3004 |
|
3005 |
#: core/templates/customize-form-parts-drawer.php:38
|
3006 |
-
#: inc/classes/class-happyforms.php:
|
3007 |
#: inc/templates/customize-controls/checkbox_dummy.php:7
|
3008 |
#: inc/templates/customize-controls/email-parts-list-dummy.php:11
|
3009 |
msgid "Upgrade"
|
@@ -3050,32 +3051,32 @@ msgid "Close"
|
|
3050 |
msgstr ""
|
3051 |
|
3052 |
#: core/templates/partials/customize-field-width.php:4
|
3053 |
-
#: core/templates/parts/customize-checkbox.php:
|
3054 |
-
#: core/templates/parts/customize-radio.php:
|
3055 |
msgid "Full"
|
3056 |
msgstr ""
|
3057 |
|
3058 |
#: core/templates/partials/customize-field-width.php:5
|
3059 |
-
#: core/templates/parts/customize-checkbox.php:
|
3060 |
-
#: core/templates/parts/customize-radio.php:
|
3061 |
msgid "Half"
|
3062 |
msgstr ""
|
3063 |
|
3064 |
#: core/templates/partials/customize-field-width.php:6
|
3065 |
-
#: core/templates/parts/customize-checkbox.php:
|
3066 |
-
#: core/templates/parts/customize-radio.php:
|
3067 |
msgid "Third"
|
3068 |
msgstr ""
|
3069 |
|
3070 |
#: core/templates/partials/customize-field-width.php:7
|
3071 |
-
#: core/templates/parts/customize-checkbox.php:
|
3072 |
-
#: core/templates/parts/customize-radio.php:
|
3073 |
msgid "Quarter"
|
3074 |
msgstr ""
|
3075 |
|
3076 |
#: core/templates/partials/customize-field-width.php:8
|
3077 |
-
#: core/templates/parts/customize-checkbox.php:
|
3078 |
-
#: core/templates/parts/customize-radio.php:
|
3079 |
msgid "Auto"
|
3080 |
msgstr ""
|
3081 |
|
@@ -3139,111 +3140,106 @@ msgid "Require an answer"
|
|
3139 |
msgstr ""
|
3140 |
|
3141 |
#: core/templates/parts/customize-checkbox.php:59
|
3142 |
-
#: core/templates/parts/customize-radio.php:59
|
3143 |
-
msgid "Show as alphabetical choice"
|
3144 |
-
msgstr ""
|
3145 |
-
|
3146 |
-
#: core/templates/parts/customize-checkbox.php:64
|
3147 |
msgid "Add 'select all' choice"
|
3148 |
msgstr ""
|
3149 |
|
3150 |
-
#: core/templates/parts/customize-checkbox.php:
|
3151 |
msgid "'Select all' label"
|
3152 |
msgstr ""
|
3153 |
|
3154 |
-
#: core/templates/parts/customize-checkbox.php:
|
3155 |
-
#: core/templates/parts/customize-radio.php:
|
3156 |
#: core/templates/parts/customize-select.php:59
|
3157 |
msgid "Add 'other' choice"
|
3158 |
msgstr ""
|
3159 |
|
3160 |
-
#: core/templates/parts/customize-checkbox.php:
|
3161 |
-
#: core/templates/parts/customize-radio.php:
|
3162 |
#: core/templates/parts/customize-select.php:64
|
3163 |
msgid "'Other' label"
|
3164 |
msgstr ""
|
3165 |
|
3166 |
-
#: core/templates/parts/customize-checkbox.php:
|
3167 |
-
#: core/templates/parts/customize-radio.php:
|
3168 |
#: core/templates/parts/customize-select.php:68
|
3169 |
msgid "'Other' placeholder"
|
3170 |
msgstr ""
|
3171 |
|
3172 |
-
#: core/templates/parts/customize-checkbox.php:
|
3173 |
-
#: core/templates/parts/customize-radio.php:
|
3174 |
#: core/templates/parts/customize-select.php:79
|
3175 |
msgid "Randomize choices to prevent bias"
|
3176 |
msgstr ""
|
3177 |
|
3178 |
-
#: core/templates/parts/customize-checkbox.php:
|
3179 |
msgid "Limit choices"
|
3180 |
msgstr ""
|
3181 |
|
3182 |
-
#: core/templates/parts/customize-checkbox.php:
|
3183 |
msgid "Min choices"
|
3184 |
msgstr ""
|
3185 |
|
3186 |
-
#: core/templates/parts/customize-checkbox.php:
|
3187 |
msgid "Max choices"
|
3188 |
msgstr ""
|
3189 |
|
3190 |
-
#: core/templates/parts/customize-checkbox.php:
|
3191 |
-
#: core/templates/parts/customize-radio.php:
|
3192 |
msgid "Choices display"
|
3193 |
msgstr ""
|
3194 |
|
3195 |
-
#: core/templates/parts/customize-checkbox.php:
|
3196 |
-
#: core/templates/parts/customize-radio.php:
|
3197 |
msgid "Horizontal"
|
3198 |
msgstr ""
|
3199 |
|
3200 |
-
#: core/templates/parts/customize-checkbox.php:
|
3201 |
-
#: core/templates/parts/customize-radio.php:
|
3202 |
msgid "Vertical"
|
3203 |
msgstr ""
|
3204 |
|
3205 |
-
#: core/templates/parts/customize-checkbox.php:
|
3206 |
-
#: core/templates/parts/customize-radio.php:
|
3207 |
msgid "Choices width"
|
3208 |
msgstr ""
|
3209 |
|
3210 |
-
#: core/templates/parts/customize-checkbox.php:
|
3211 |
#: core/templates/parts/customize-email.php:58
|
3212 |
#: core/templates/parts/customize-multi-line-text.php:82
|
3213 |
#: core/templates/parts/customize-number.php:81
|
3214 |
-
#: core/templates/parts/customize-radio.php:
|
3215 |
#: core/templates/parts/customize-select.php:86
|
3216 |
#: core/templates/parts/customize-single-line-text.php:57
|
3217 |
msgid "CSS classes"
|
3218 |
msgstr ""
|
3219 |
|
3220 |
-
#: core/templates/parts/customize-checkbox.php:
|
3221 |
-
#: core/templates/parts/customize-radio.php:
|
3222 |
#: core/templates/parts/customize-select.php:110
|
3223 |
msgid "Make this choice default"
|
3224 |
msgstr ""
|
3225 |
|
3226 |
-
#: core/templates/parts/customize-checkbox.php:
|
3227 |
-
#: core/templates/parts/customize-radio.php:
|
3228 |
#: core/templates/parts/customize-select.php:113
|
3229 |
-
#: inc/classes/class-happyforms.php:
|
3230 |
msgid "Limit submissions"
|
3231 |
msgstr ""
|
3232 |
|
3233 |
-
#: core/templates/parts/customize-checkbox.php:
|
3234 |
-
#: core/templates/parts/customize-radio.php:
|
3235 |
#: core/templates/parts/customize-select.php:117
|
3236 |
msgid "Max submissions"
|
3237 |
msgstr ""
|
3238 |
|
3239 |
-
#: core/templates/parts/customize-checkbox.php:
|
3240 |
-
#: core/templates/parts/customize-radio.php:
|
3241 |
#: core/templates/parts/customize-select.php:121
|
3242 |
msgid "Show remaining submissions"
|
3243 |
msgstr ""
|
3244 |
|
3245 |
-
#: core/templates/parts/customize-checkbox.php:
|
3246 |
-
#: core/templates/parts/customize-radio.php:
|
3247 |
#: core/templates/parts/customize-select.php:127
|
3248 |
msgid "More"
|
3249 |
msgstr ""
|
@@ -3311,99 +3307,99 @@ msgstr ""
|
|
3311 |
msgid "Click to edit this part."
|
3312 |
msgstr ""
|
3313 |
|
3314 |
-
#: inc/classes/class-happyforms.php:
|
3315 |
msgid "Use reCAPTCHA"
|
3316 |
msgstr ""
|
3317 |
|
3318 |
-
#: inc/classes/class-happyforms.php:
|
3319 |
msgid "Save incomplete and abandoned submissions"
|
3320 |
msgstr ""
|
3321 |
|
3322 |
-
#: inc/classes/class-happyforms.php:
|
3323 |
msgid "Let respondents save a draft submission and come back to it later"
|
3324 |
msgstr ""
|
3325 |
|
3326 |
-
#: inc/classes/class-happyforms.php:
|
3327 |
msgid "Require respondents to review a submission before submitting"
|
3328 |
msgstr ""
|
3329 |
|
3330 |
-
#: inc/classes/class-happyforms.php:
|
3331 |
msgid "Disable buttons until required fields are answered"
|
3332 |
msgstr ""
|
3333 |
|
3334 |
-
#: inc/classes/class-happyforms.php:
|
3335 |
msgid "Schedule visibility"
|
3336 |
msgstr ""
|
3337 |
|
3338 |
-
#: inc/classes/class-happyforms.php:
|
3339 |
msgid "Store activity in database"
|
3340 |
msgstr ""
|
3341 |
|
3342 |
-
#: inc/classes/class-happyforms.php:
|
3343 |
msgid "Capture user metadata (IP, language, platform, time and timezone)"
|
3344 |
msgstr ""
|
3345 |
|
3346 |
-
#: inc/classes/class-happyforms.php:
|
3347 |
msgid "Block these email addresses, email domains and email partials"
|
3348 |
msgstr ""
|
3349 |
|
3350 |
-
#: inc/classes/class-happyforms.php:
|
3351 |
msgid "Block these words, phrases and letters"
|
3352 |
msgstr ""
|
3353 |
|
3354 |
-
#: inc/classes/class-happyforms.php:
|
3355 |
msgid "Include reply link"
|
3356 |
msgstr ""
|
3357 |
|
3358 |
-
#: inc/classes/class-happyforms.php:
|
3359 |
msgid "Include referral web address"
|
3360 |
msgstr ""
|
3361 |
|
3362 |
-
#: inc/classes/class-happyforms.php:
|
3363 |
msgid "Attach .pdf"
|
3364 |
msgstr ""
|
3365 |
|
3366 |
-
#: inc/classes/class-happyforms.php:
|
3367 |
msgid "To email address"
|
3368 |
msgstr ""
|
3369 |
|
3370 |
-
#: inc/classes/class-happyforms.php:
|
3371 |
msgid "Send abandonment email"
|
3372 |
msgstr ""
|
3373 |
|
3374 |
-
#: inc/classes/class-happyforms.php:
|
3375 |
msgid "Build your own WordPress form with Happyforms"
|
3376 |
msgstr ""
|
3377 |
|
3378 |
-
#: inc/classes/class-message-admin.php:
|
3379 |
msgid "Contact"
|
3380 |
msgstr ""
|
3381 |
|
3382 |
-
#: inc/classes/class-message-admin.php:
|
3383 |
msgid "Submission"
|
3384 |
msgstr ""
|
3385 |
|
3386 |
-
#: inc/classes/class-message-admin.php:
|
3387 |
msgid "In Response To"
|
3388 |
msgstr ""
|
3389 |
|
3390 |
-
#: inc/classes/class-message-admin.php:
|
3391 |
msgid "Submitted On"
|
3392 |
msgstr ""
|
3393 |
|
3394 |
-
#: inc/classes/class-message-admin.php:
|
3395 |
msgid "All"
|
3396 |
msgstr ""
|
3397 |
|
3398 |
-
#: inc/classes/class-message-admin.php:
|
3399 |
msgid "Unread"
|
3400 |
msgstr ""
|
3401 |
|
3402 |
-
#: inc/classes/class-message-admin.php:
|
3403 |
msgid "Read"
|
3404 |
msgstr ""
|
3405 |
|
3406 |
-
#: inc/classes/class-message-admin.php:
|
3407 |
msgid "Spam"
|
3408 |
msgstr ""
|
3409 |
|
@@ -3465,11 +3461,11 @@ msgid "For requiring permission before accepting submission."
|
|
3465 |
msgstr ""
|
3466 |
|
3467 |
#: inc/classes/parts/class-part-likert-scale-dummy.php:8
|
3468 |
-
msgid "
|
3469 |
msgstr ""
|
3470 |
|
3471 |
#: inc/classes/parts/class-part-likert-scale-dummy.php:9
|
3472 |
-
msgid "For collecting
|
3473 |
msgstr ""
|
3474 |
|
3475 |
#: inc/classes/parts/class-part-media-dummy.php:8
|
@@ -3592,23 +3588,6 @@ msgstr ""
|
|
3592 |
msgid "For formatted site URLs."
|
3593 |
msgstr ""
|
3594 |
|
3595 |
-
#: inc/templates/admin/modal-dummy-activity.php:12
|
3596 |
-
#: inc/templates/admin/modal-upgrade.php:2
|
3597 |
-
msgid "You’ll need to upgrade<br> to access this"
|
3598 |
-
msgstr ""
|
3599 |
-
|
3600 |
-
#: inc/templates/admin/modal-dummy-activity.php:13
|
3601 |
-
#: inc/templates/admin/modal-upgrade.php:3
|
3602 |
-
msgid ""
|
3603 |
-
"We offer several, affordable paid plans that include our best features. "
|
3604 |
-
"Upgrade today and increase your customer interactions."
|
3605 |
-
msgstr ""
|
3606 |
-
|
3607 |
-
#: inc/templates/admin/modal-dummy-activity.php:16
|
3608 |
-
#: inc/templates/admin/modal-upgrade.php:6
|
3609 |
-
msgid "Start Your Risk-Free 14-Day Trial"
|
3610 |
-
msgstr ""
|
3611 |
-
|
3612 |
#: inc/templates/admin/modal-onboarding.php:4
|
3613 |
msgid "Welcome to Happyforms"
|
3614 |
msgstr ""
|
@@ -3644,10 +3623,245 @@ msgstr ""
|
|
3644 |
msgid "Complete"
|
3645 |
msgstr ""
|
3646 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3647 |
#: inc/templates/customize-controls/email-parts-list-dummy.php:8
|
3648 |
msgid "field"
|
3649 |
msgstr ""
|
3650 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3651 |
#. Plugin Name of the plugin/theme
|
3652 |
msgid "Happyforms (free)"
|
3653 |
msgstr ""
|
2 |
# This file is distributed under the same license as the Happyforms (free) package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: Happyforms (free) 1.13.2\n"
|
6 |
"Report-Msgid-Bugs-To: https://thethemefoundry.com/support/\n"
|
7 |
+
"POT-Creation-Date: 2021-09-23 08:04:49+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=utf-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
24 |
msgid "Displays a form."
|
25 |
msgstr ""
|
26 |
|
27 |
+
#: core/classes/class-block.php:117 core/classes/parts/class-part-select.php:56
|
28 |
msgid "Choose"
|
29 |
msgstr ""
|
30 |
|
31 |
+
#: core/classes/class-block.php:118
|
32 |
msgid "Which form would you like to add here?"
|
33 |
msgstr ""
|
34 |
|
35 |
+
#: core/classes/class-block.php:119 core/classes/class-form-controller.php:81
|
36 |
+
msgid "No forms found."
|
37 |
+
msgstr ""
|
38 |
+
|
39 |
+
#: core/classes/class-block.php:120
|
40 |
msgid "HappyForms Settings"
|
41 |
msgstr ""
|
42 |
|
166 |
msgid "Duplicate"
|
167 |
msgstr ""
|
168 |
|
169 |
+
#: core/classes/class-form-admin.php:423 inc/classes/class-message-admin.php:83
|
170 |
msgid "Trash"
|
171 |
msgstr ""
|
172 |
|
205 |
msgid "Search Forms"
|
206 |
msgstr ""
|
207 |
|
|
|
|
|
|
|
|
|
208 |
#: core/classes/class-form-controller.php:82
|
209 |
msgid "No forms found in Trash."
|
210 |
msgstr ""
|
489 |
msgid "Submit form"
|
490 |
msgstr ""
|
491 |
|
492 |
+
#: core/classes/class-form-shuffle.php:43 inc/classes/class-happyforms.php:124
|
493 |
msgid "Randomize fields to prevent bias"
|
494 |
msgstr ""
|
495 |
|
810 |
|
811 |
#: core/classes/class-form-styles.php:745
|
812 |
#: core/templates/parts/customize-checkbox.php:4
|
813 |
+
#: core/templates/parts/customize-checkbox.php:143
|
814 |
#: core/templates/parts/customize-email.php:4
|
815 |
#: core/templates/parts/customize-multi-line-text.php:4
|
816 |
#: core/templates/parts/customize-number.php:4
|
817 |
#: core/templates/parts/customize-radio.php:4
|
818 |
+
#: core/templates/parts/customize-radio.php:117
|
819 |
#: core/templates/parts/customize-select.php:4
|
820 |
#: core/templates/parts/customize-select.php:105
|
821 |
#: core/templates/parts/customize-single-line-text.php:4
|
959 |
|
960 |
#: core/classes/class-happyforms-core.php:206
|
961 |
#: core/classes/class-happyforms-core.php:207
|
962 |
+
#: integrations/templates/admin-integrations.php:3
|
963 |
msgid "Integrations"
|
964 |
msgstr ""
|
965 |
|
1121 |
msgstr ""
|
1122 |
|
1123 |
#: core/classes/parts/class-part-checkbox.php:93
|
1124 |
+
#: core/classes/parts/class-part-radio.php:86
|
1125 |
#: core/classes/parts/class-part-select.php:80
|
1126 |
msgid "Other"
|
1127 |
msgstr ""
|
2975 |
|
2976 |
#: core/templates/customize-form-item.php:33
|
2977 |
#: core/templates/customize-form-part-footer.php:3
|
2978 |
+
#: core/templates/parts/customize-checkbox.php:164
|
2979 |
+
#: core/templates/parts/customize-radio.php:138
|
2980 |
#: core/templates/parts/customize-select.php:126
|
2981 |
msgid "Delete"
|
2982 |
msgstr ""
|
3004 |
msgstr ""
|
3005 |
|
3006 |
#: core/templates/customize-form-parts-drawer.php:38
|
3007 |
+
#: inc/classes/class-happyforms.php:116
|
3008 |
#: inc/templates/customize-controls/checkbox_dummy.php:7
|
3009 |
#: inc/templates/customize-controls/email-parts-list-dummy.php:11
|
3010 |
msgid "Upgrade"
|
3051 |
msgstr ""
|
3052 |
|
3053 |
#: core/templates/partials/customize-field-width.php:4
|
3054 |
+
#: core/templates/parts/customize-checkbox.php:113
|
3055 |
+
#: core/templates/parts/customize-radio.php:87
|
3056 |
msgid "Full"
|
3057 |
msgstr ""
|
3058 |
|
3059 |
#: core/templates/partials/customize-field-width.php:5
|
3060 |
+
#: core/templates/parts/customize-checkbox.php:114
|
3061 |
+
#: core/templates/parts/customize-radio.php:88
|
3062 |
msgid "Half"
|
3063 |
msgstr ""
|
3064 |
|
3065 |
#: core/templates/partials/customize-field-width.php:6
|
3066 |
+
#: core/templates/parts/customize-checkbox.php:115
|
3067 |
+
#: core/templates/parts/customize-radio.php:89
|
3068 |
msgid "Third"
|
3069 |
msgstr ""
|
3070 |
|
3071 |
#: core/templates/partials/customize-field-width.php:7
|
3072 |
+
#: core/templates/parts/customize-checkbox.php:116
|
3073 |
+
#: core/templates/parts/customize-radio.php:90
|
3074 |
msgid "Quarter"
|
3075 |
msgstr ""
|
3076 |
|
3077 |
#: core/templates/partials/customize-field-width.php:8
|
3078 |
+
#: core/templates/parts/customize-checkbox.php:117
|
3079 |
+
#: core/templates/parts/customize-radio.php:91
|
3080 |
msgid "Auto"
|
3081 |
msgstr ""
|
3082 |
|
3140 |
msgstr ""
|
3141 |
|
3142 |
#: core/templates/parts/customize-checkbox.php:59
|
|
|
|
|
|
|
|
|
|
|
3143 |
msgid "Add 'select all' choice"
|
3144 |
msgstr ""
|
3145 |
|
3146 |
+
#: core/templates/parts/customize-checkbox.php:64
|
3147 |
msgid "'Select all' label"
|
3148 |
msgstr ""
|
3149 |
|
3150 |
+
#: core/templates/parts/customize-checkbox.php:70
|
3151 |
+
#: core/templates/parts/customize-radio.php:59
|
3152 |
#: core/templates/parts/customize-select.php:59
|
3153 |
msgid "Add 'other' choice"
|
3154 |
msgstr ""
|
3155 |
|
3156 |
+
#: core/templates/parts/customize-checkbox.php:75
|
3157 |
+
#: core/templates/parts/customize-radio.php:64
|
3158 |
#: core/templates/parts/customize-select.php:64
|
3159 |
msgid "'Other' label"
|
3160 |
msgstr ""
|
3161 |
|
3162 |
+
#: core/templates/parts/customize-checkbox.php:79
|
3163 |
+
#: core/templates/parts/customize-radio.php:68
|
3164 |
#: core/templates/parts/customize-select.php:68
|
3165 |
msgid "'Other' placeholder"
|
3166 |
msgstr ""
|
3167 |
|
3168 |
+
#: core/templates/parts/customize-checkbox.php:85
|
3169 |
+
#: core/templates/parts/customize-radio.php:74
|
3170 |
#: core/templates/parts/customize-select.php:79
|
3171 |
msgid "Randomize choices to prevent bias"
|
3172 |
msgstr ""
|
3173 |
|
3174 |
+
#: core/templates/parts/customize-checkbox.php:90
|
3175 |
msgid "Limit choices"
|
3176 |
msgstr ""
|
3177 |
|
3178 |
+
#: core/templates/parts/customize-checkbox.php:95
|
3179 |
msgid "Min choices"
|
3180 |
msgstr ""
|
3181 |
|
3182 |
+
#: core/templates/parts/customize-checkbox.php:99
|
3183 |
msgid "Max choices"
|
3184 |
msgstr ""
|
3185 |
|
3186 |
+
#: core/templates/parts/customize-checkbox.php:104
|
3187 |
+
#: core/templates/parts/customize-radio.php:78
|
3188 |
msgid "Choices display"
|
3189 |
msgstr ""
|
3190 |
|
3191 |
+
#: core/templates/parts/customize-checkbox.php:106
|
3192 |
+
#: core/templates/parts/customize-radio.php:80
|
3193 |
msgid "Horizontal"
|
3194 |
msgstr ""
|
3195 |
|
3196 |
+
#: core/templates/parts/customize-checkbox.php:107
|
3197 |
+
#: core/templates/parts/customize-radio.php:81
|
3198 |
msgid "Vertical"
|
3199 |
msgstr ""
|
3200 |
|
3201 |
+
#: core/templates/parts/customize-checkbox.php:111
|
3202 |
+
#: core/templates/parts/customize-radio.php:85
|
3203 |
msgid "Choices width"
|
3204 |
msgstr ""
|
3205 |
|
3206 |
+
#: core/templates/parts/customize-checkbox.php:126
|
3207 |
#: core/templates/parts/customize-email.php:58
|
3208 |
#: core/templates/parts/customize-multi-line-text.php:82
|
3209 |
#: core/templates/parts/customize-number.php:81
|
3210 |
+
#: core/templates/parts/customize-radio.php:98
|
3211 |
#: core/templates/parts/customize-select.php:86
|
3212 |
#: core/templates/parts/customize-single-line-text.php:57
|
3213 |
msgid "CSS classes"
|
3214 |
msgstr ""
|
3215 |
|
3216 |
+
#: core/templates/parts/customize-checkbox.php:148
|
3217 |
+
#: core/templates/parts/customize-radio.php:122
|
3218 |
#: core/templates/parts/customize-select.php:110
|
3219 |
msgid "Make this choice default"
|
3220 |
msgstr ""
|
3221 |
|
3222 |
+
#: core/templates/parts/customize-checkbox.php:151
|
3223 |
+
#: core/templates/parts/customize-radio.php:125
|
3224 |
#: core/templates/parts/customize-select.php:113
|
3225 |
+
#: inc/classes/class-happyforms.php:160
|
3226 |
msgid "Limit submissions"
|
3227 |
msgstr ""
|
3228 |
|
3229 |
+
#: core/templates/parts/customize-checkbox.php:155
|
3230 |
+
#: core/templates/parts/customize-radio.php:129
|
3231 |
#: core/templates/parts/customize-select.php:117
|
3232 |
msgid "Max submissions"
|
3233 |
msgstr ""
|
3234 |
|
3235 |
+
#: core/templates/parts/customize-checkbox.php:159
|
3236 |
+
#: core/templates/parts/customize-radio.php:133
|
3237 |
#: core/templates/parts/customize-select.php:121
|
3238 |
msgid "Show remaining submissions"
|
3239 |
msgstr ""
|
3240 |
|
3241 |
+
#: core/templates/parts/customize-checkbox.php:165
|
3242 |
+
#: core/templates/parts/customize-radio.php:139
|
3243 |
#: core/templates/parts/customize-select.php:127
|
3244 |
msgid "More"
|
3245 |
msgstr ""
|
3307 |
msgid "Click to edit this part."
|
3308 |
msgstr ""
|
3309 |
|
3310 |
+
#: inc/classes/class-happyforms.php:130
|
3311 |
msgid "Use reCAPTCHA"
|
3312 |
msgstr ""
|
3313 |
|
3314 |
+
#: inc/classes/class-happyforms.php:136
|
3315 |
msgid "Save incomplete and abandoned submissions"
|
3316 |
msgstr ""
|
3317 |
|
3318 |
+
#: inc/classes/class-happyforms.php:142
|
3319 |
msgid "Let respondents save a draft submission and come back to it later"
|
3320 |
msgstr ""
|
3321 |
|
3322 |
+
#: inc/classes/class-happyforms.php:148
|
3323 |
msgid "Require respondents to review a submission before submitting"
|
3324 |
msgstr ""
|
3325 |
|
3326 |
+
#: inc/classes/class-happyforms.php:154
|
3327 |
msgid "Disable buttons until required fields are answered"
|
3328 |
msgstr ""
|
3329 |
|
3330 |
+
#: inc/classes/class-happyforms.php:166
|
3331 |
msgid "Schedule visibility"
|
3332 |
msgstr ""
|
3333 |
|
3334 |
+
#: inc/classes/class-happyforms.php:172
|
3335 |
msgid "Store activity in database"
|
3336 |
msgstr ""
|
3337 |
|
3338 |
+
#: inc/classes/class-happyforms.php:178
|
3339 |
msgid "Capture user metadata (IP, language, platform, time and timezone)"
|
3340 |
msgstr ""
|
3341 |
|
3342 |
+
#: inc/classes/class-happyforms.php:184
|
3343 |
msgid "Block these email addresses, email domains and email partials"
|
3344 |
msgstr ""
|
3345 |
|
3346 |
+
#: inc/classes/class-happyforms.php:190
|
3347 |
msgid "Block these words, phrases and letters"
|
3348 |
msgstr ""
|
3349 |
|
3350 |
+
#: inc/classes/class-happyforms.php:200
|
3351 |
msgid "Include reply link"
|
3352 |
msgstr ""
|
3353 |
|
3354 |
+
#: inc/classes/class-happyforms.php:206
|
3355 |
msgid "Include referral web address"
|
3356 |
msgstr ""
|
3357 |
|
3358 |
+
#: inc/classes/class-happyforms.php:212 inc/classes/class-happyforms.php:224
|
3359 |
msgid "Attach .pdf"
|
3360 |
msgstr ""
|
3361 |
|
3362 |
+
#: inc/classes/class-happyforms.php:218
|
3363 |
msgid "To email address"
|
3364 |
msgstr ""
|
3365 |
|
3366 |
+
#: inc/classes/class-happyforms.php:230
|
3367 |
msgid "Send abandonment email"
|
3368 |
msgstr ""
|
3369 |
|
3370 |
+
#: inc/classes/class-happyforms.php:447 inc/classes/class-happyforms.php:465
|
3371 |
msgid "Build your own WordPress form with Happyforms"
|
3372 |
msgstr ""
|
3373 |
|
3374 |
+
#: inc/classes/class-message-admin.php:59
|
3375 |
msgid "Contact"
|
3376 |
msgstr ""
|
3377 |
|
3378 |
+
#: inc/classes/class-message-admin.php:60
|
3379 |
msgid "Submission"
|
3380 |
msgstr ""
|
3381 |
|
3382 |
+
#: inc/classes/class-message-admin.php:61
|
3383 |
msgid "In Response To"
|
3384 |
msgstr ""
|
3385 |
|
3386 |
+
#: inc/classes/class-message-admin.php:62
|
3387 |
msgid "Submitted On"
|
3388 |
msgstr ""
|
3389 |
|
3390 |
+
#: inc/classes/class-message-admin.php:79
|
3391 |
msgid "All"
|
3392 |
msgstr ""
|
3393 |
|
3394 |
+
#: inc/classes/class-message-admin.php:80
|
3395 |
msgid "Unread"
|
3396 |
msgstr ""
|
3397 |
|
3398 |
+
#: inc/classes/class-message-admin.php:81
|
3399 |
msgid "Read"
|
3400 |
msgstr ""
|
3401 |
|
3402 |
+
#: inc/classes/class-message-admin.php:82
|
3403 |
msgid "Spam"
|
3404 |
msgstr ""
|
3405 |
|
3461 |
msgstr ""
|
3462 |
|
3463 |
#: inc/classes/parts/class-part-likert-scale-dummy.php:8
|
3464 |
+
msgid "Number Scale"
|
3465 |
msgstr ""
|
3466 |
|
3467 |
#: inc/classes/parts/class-part-likert-scale-dummy.php:9
|
3468 |
+
msgid "For collecting ratings using a fixed numeric scale."
|
3469 |
msgstr ""
|
3470 |
|
3471 |
#: inc/classes/parts/class-part-media-dummy.php:8
|
3588 |
msgid "For formatted site URLs."
|
3589 |
msgstr ""
|
3590 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3591 |
#: inc/templates/admin/modal-onboarding.php:4
|
3592 |
msgid "Welcome to Happyforms"
|
3593 |
msgstr ""
|
3623 |
msgid "Complete"
|
3624 |
msgstr ""
|
3625 |
|
3626 |
+
#: inc/templates/admin/modal-upgrade.php:2
|
3627 |
+
msgid "You’ll need to upgrade<br> to access this"
|
3628 |
+
msgstr ""
|
3629 |
+
|
3630 |
+
#: inc/templates/admin/modal-upgrade.php:3
|
3631 |
+
msgid ""
|
3632 |
+
"We offer several, affordable paid plans that include our best features. "
|
3633 |
+
"Upgrade today and increase your customer interactions."
|
3634 |
+
msgstr ""
|
3635 |
+
|
3636 |
+
#: inc/templates/admin/modal-upgrade.php:6
|
3637 |
+
msgid "Start Your Risk-Free 14-Day Trial"
|
3638 |
+
msgstr ""
|
3639 |
+
|
3640 |
#: inc/templates/customize-controls/email-parts-list-dummy.php:8
|
3641 |
msgid "field"
|
3642 |
msgstr ""
|
3643 |
|
3644 |
+
#: integrations/classes/class-integrations-page-controller.php:26
|
3645 |
+
msgid "ActiveCampaign"
|
3646 |
+
msgstr ""
|
3647 |
+
|
3648 |
+
#: integrations/classes/class-integrations-page-controller.php:27
|
3649 |
+
msgid "AWeber"
|
3650 |
+
msgstr ""
|
3651 |
+
|
3652 |
+
#: integrations/classes/class-integrations-page-controller.php:28
|
3653 |
+
msgid "Constant Contact"
|
3654 |
+
msgstr ""
|
3655 |
+
|
3656 |
+
#: integrations/classes/class-integrations-page-controller.php:29
|
3657 |
+
msgid "ConvertKit"
|
3658 |
+
msgstr ""
|
3659 |
+
|
3660 |
+
#: integrations/classes/class-integrations-page-controller.php:30
|
3661 |
+
msgid "Mailchimp"
|
3662 |
+
msgstr ""
|
3663 |
+
|
3664 |
+
#: integrations/classes/class-integrations-page-controller.php:31
|
3665 |
+
msgid "MailerLite"
|
3666 |
+
msgstr ""
|
3667 |
+
|
3668 |
+
#: integrations/classes/class-integrations-page-controller.php:32
|
3669 |
+
msgid "MailPoet"
|
3670 |
+
msgstr ""
|
3671 |
+
|
3672 |
+
#: integrations/classes/class-integrations-page-controller.php:33
|
3673 |
+
msgid "SendFox"
|
3674 |
+
msgstr ""
|
3675 |
+
|
3676 |
+
#: integrations/classes/class-integrations-page-controller.php:34
|
3677 |
+
msgid "SendGrid"
|
3678 |
+
msgstr ""
|
3679 |
+
|
3680 |
+
#: integrations/classes/class-integrations-page-controller.php:35
|
3681 |
+
msgid "Sendinblue"
|
3682 |
+
msgstr ""
|
3683 |
+
|
3684 |
+
#: integrations/classes/class-integrations-page-controller.php:36
|
3685 |
+
msgid "reCAPTCHA"
|
3686 |
+
msgstr ""
|
3687 |
+
|
3688 |
+
#: integrations/classes/class-integrations-page-controller.php:37
|
3689 |
+
msgid "Google Places"
|
3690 |
+
msgstr ""
|
3691 |
+
|
3692 |
+
#: integrations/classes/class-integrations-page-controller.php:38
|
3693 |
+
msgid "Google Geocoding"
|
3694 |
+
msgstr ""
|
3695 |
+
|
3696 |
+
#: integrations/classes/class-integrations-page-controller.php:39
|
3697 |
+
msgid "Stripe"
|
3698 |
+
msgstr ""
|
3699 |
+
|
3700 |
+
#: integrations/classes/class-integrations-page-controller.php:40
|
3701 |
+
msgid "PayPal"
|
3702 |
+
msgstr ""
|
3703 |
+
|
3704 |
+
#: integrations/classes/class-integrations-page-controller.php:41
|
3705 |
+
msgid "Zapier"
|
3706 |
+
msgstr ""
|
3707 |
+
|
3708 |
+
#: integrations/classes/class-integrations-page-controller.php:42
|
3709 |
+
msgid "Integromat"
|
3710 |
+
msgstr ""
|
3711 |
+
|
3712 |
+
#: integrations/classes/class-integrations-page-controller.php:43
|
3713 |
+
msgid "Integrately"
|
3714 |
+
msgstr ""
|
3715 |
+
|
3716 |
+
#: integrations/classes/class-integrations-page-controller.php:44
|
3717 |
+
msgid "Google Analytics"
|
3718 |
+
msgstr ""
|
3719 |
+
|
3720 |
+
#: integrations/templates/widget-active-campaign-dummy.php:5
|
3721 |
+
#: integrations/templates/widget-constant-contact-dummy.php:5
|
3722 |
+
msgid "API URL"
|
3723 |
+
msgstr ""
|
3724 |
+
|
3725 |
+
#: integrations/templates/widget-active-campaign-dummy.php:8
|
3726 |
+
#: integrations/templates/widget-active-campaign-dummy.php:15
|
3727 |
+
#: integrations/templates/widget-aweber-dummy.php:12
|
3728 |
+
#: integrations/templates/widget-constant-contact-dummy.php:8
|
3729 |
+
#: integrations/templates/widget-constant-contact-dummy.php:15
|
3730 |
+
#: integrations/templates/widget-convertkit-dummy.php:8
|
3731 |
+
#: integrations/templates/widget-google-analytics-dummy.php:8
|
3732 |
+
#: integrations/templates/widget-google-geocoding-dummy.php:8
|
3733 |
+
#: integrations/templates/widget-google-places-dummy.php:8
|
3734 |
+
#: integrations/templates/widget-integrately-dummy.php:8
|
3735 |
+
#: integrations/templates/widget-integromat-dummy.php:8
|
3736 |
+
#: integrations/templates/widget-mailchimp-dummy.php:8
|
3737 |
+
#: integrations/templates/widget-mailerlite-dummy.php:8
|
3738 |
+
#: integrations/templates/widget-paypal-dummy.php:15
|
3739 |
+
#: integrations/templates/widget-paypal-dummy.php:22
|
3740 |
+
#: integrations/templates/widget-recaptcha-dummy.php:15
|
3741 |
+
#: integrations/templates/widget-recaptcha-dummy.php:22
|
3742 |
+
#: integrations/templates/widget-sendfox-dummy.php:8
|
3743 |
+
#: integrations/templates/widget-sendgrid-dummy.php:8
|
3744 |
+
#: integrations/templates/widget-sendinblue-dummy.php:8
|
3745 |
+
#: integrations/templates/widget-stripe-dummy.php:15
|
3746 |
+
#: integrations/templates/widget-stripe-dummy.php:22
|
3747 |
+
#: integrations/templates/widget-zapier-dummy.php:8
|
3748 |
+
msgid "Show credentials"
|
3749 |
+
msgstr ""
|
3750 |
+
|
3751 |
+
#: integrations/templates/widget-active-campaign-dummy.php:8
|
3752 |
+
#: integrations/templates/widget-active-campaign-dummy.php:15
|
3753 |
+
#: integrations/templates/widget-aweber-dummy.php:12
|
3754 |
+
#: integrations/templates/widget-constant-contact-dummy.php:8
|
3755 |
+
#: integrations/templates/widget-constant-contact-dummy.php:15
|
3756 |
+
#: integrations/templates/widget-convertkit-dummy.php:8
|
3757 |
+
#: integrations/templates/widget-google-analytics-dummy.php:8
|
3758 |
+
#: integrations/templates/widget-google-geocoding-dummy.php:8
|
3759 |
+
#: integrations/templates/widget-google-places-dummy.php:8
|
3760 |
+
#: integrations/templates/widget-integrately-dummy.php:8
|
3761 |
+
#: integrations/templates/widget-integromat-dummy.php:8
|
3762 |
+
#: integrations/templates/widget-mailchimp-dummy.php:8
|
3763 |
+
#: integrations/templates/widget-mailerlite-dummy.php:8
|
3764 |
+
#: integrations/templates/widget-paypal-dummy.php:15
|
3765 |
+
#: integrations/templates/widget-paypal-dummy.php:22
|
3766 |
+
#: integrations/templates/widget-recaptcha-dummy.php:15
|
3767 |
+
#: integrations/templates/widget-recaptcha-dummy.php:22
|
3768 |
+
#: integrations/templates/widget-sendfox-dummy.php:8
|
3769 |
+
#: integrations/templates/widget-sendgrid-dummy.php:8
|
3770 |
+
#: integrations/templates/widget-sendinblue-dummy.php:8
|
3771 |
+
#: integrations/templates/widget-stripe-dummy.php:15
|
3772 |
+
#: integrations/templates/widget-stripe-dummy.php:22
|
3773 |
+
#: integrations/templates/widget-zapier-dummy.php:8
|
3774 |
+
msgid "Hide credentials"
|
3775 |
+
msgstr ""
|
3776 |
+
|
3777 |
+
#: integrations/templates/widget-active-campaign-dummy.php:12
|
3778 |
+
#: integrations/templates/widget-constant-contact-dummy.php:12
|
3779 |
+
#: integrations/templates/widget-convertkit-dummy.php:5
|
3780 |
+
#: integrations/templates/widget-google-geocoding-dummy.php:5
|
3781 |
+
#: integrations/templates/widget-google-places-dummy.php:5
|
3782 |
+
#: integrations/templates/widget-integrately-dummy.php:5
|
3783 |
+
#: integrations/templates/widget-integromat-dummy.php:5
|
3784 |
+
#: integrations/templates/widget-mailchimp-dummy.php:5
|
3785 |
+
#: integrations/templates/widget-mailerlite-dummy.php:5
|
3786 |
+
#: integrations/templates/widget-zapier-dummy.php:5
|
3787 |
+
msgid "API key"
|
3788 |
+
msgstr ""
|
3789 |
+
|
3790 |
+
#: integrations/templates/widget-active-campaign-dummy.php:23
|
3791 |
+
#: integrations/templates/widget-aweber-dummy.php:21
|
3792 |
+
#: integrations/templates/widget-constant-contact-dummy.php:23
|
3793 |
+
#: integrations/templates/widget-convertkit-dummy.php:16
|
3794 |
+
#: integrations/templates/widget-google-analytics-dummy.php:16
|
3795 |
+
#: integrations/templates/widget-google-geocoding-dummy.php:16
|
3796 |
+
#: integrations/templates/widget-google-places-dummy.php:16
|
3797 |
+
#: integrations/templates/widget-integrately-dummy.php:16
|
3798 |
+
#: integrations/templates/widget-integromat-dummy.php:16
|
3799 |
+
#: integrations/templates/widget-mailchimp-dummy.php:16
|
3800 |
+
#: integrations/templates/widget-mailerlite-dummy.php:16
|
3801 |
+
#: integrations/templates/widget-paypal-dummy.php:32
|
3802 |
+
#: integrations/templates/widget-recaptcha-dummy.php:32
|
3803 |
+
#: integrations/templates/widget-sendfox-dummy.php:16
|
3804 |
+
#: integrations/templates/widget-sendgrid-dummy.php:16
|
3805 |
+
#: integrations/templates/widget-sendinblue-dummy.php:16
|
3806 |
+
#: integrations/templates/widget-stripe-dummy.php:32
|
3807 |
+
#: integrations/templates/widget-zapier-dummy.php:16
|
3808 |
+
msgid "Save Changes"
|
3809 |
+
msgstr ""
|
3810 |
+
|
3811 |
+
#: integrations/templates/widget-aweber-dummy.php:2
|
3812 |
+
msgid "get your code"
|
3813 |
+
msgstr ""
|
3814 |
+
|
3815 |
+
#: integrations/templates/widget-aweber-dummy.php:9
|
3816 |
+
msgid "Verification code"
|
3817 |
+
msgstr ""
|
3818 |
+
|
3819 |
+
#: integrations/templates/widget-google-analytics-dummy.php:5
|
3820 |
+
msgid "Tracking ID"
|
3821 |
+
msgstr ""
|
3822 |
+
|
3823 |
+
#: integrations/templates/widget-mailpoet-dummy.php:5
|
3824 |
+
msgid ""
|
3825 |
+
"MailPoet plugin must first be installed and activated to use this "
|
3826 |
+
"integration."
|
3827 |
+
msgstr ""
|
3828 |
+
|
3829 |
+
#: integrations/templates/widget-paypal-dummy.php:4
|
3830 |
+
#: integrations/templates/widget-stripe-dummy.php:4
|
3831 |
+
msgid "Mode"
|
3832 |
+
msgstr ""
|
3833 |
+
|
3834 |
+
#: integrations/templates/widget-paypal-dummy.php:12
|
3835 |
+
msgid "Client ID"
|
3836 |
+
msgstr ""
|
3837 |
+
|
3838 |
+
#: integrations/templates/widget-paypal-dummy.php:19
|
3839 |
+
msgid "Client secret"
|
3840 |
+
msgstr ""
|
3841 |
+
|
3842 |
+
#: integrations/templates/widget-recaptcha-dummy.php:4
|
3843 |
+
msgid "Service"
|
3844 |
+
msgstr ""
|
3845 |
+
|
3846 |
+
#: integrations/templates/widget-recaptcha-dummy.php:12
|
3847 |
+
msgid "Site key"
|
3848 |
+
msgstr ""
|
3849 |
+
|
3850 |
+
#: integrations/templates/widget-recaptcha-dummy.php:19
|
3851 |
+
#: integrations/templates/widget-stripe-dummy.php:19
|
3852 |
+
msgid "Secret key"
|
3853 |
+
msgstr ""
|
3854 |
+
|
3855 |
+
#: integrations/templates/widget-sendfox-dummy.php:5
|
3856 |
+
#: integrations/templates/widget-sendgrid-dummy.php:5
|
3857 |
+
#: integrations/templates/widget-sendinblue-dummy.php:5
|
3858 |
+
msgid "Personal access token"
|
3859 |
+
msgstr ""
|
3860 |
+
|
3861 |
+
#: integrations/templates/widget-stripe-dummy.php:12
|
3862 |
+
msgid "Publishable key"
|
3863 |
+
msgstr ""
|
3864 |
+
|
3865 |
#. Plugin Name of the plugin/theme
|
3866 |
msgid "Happyforms (free)"
|
3867 |
msgstr ""
|
readme.txt
CHANGED
@@ -5,7 +5,7 @@ Tags: contact form, contact form plugin, forms, form builder, custom form, intak
|
|
5 |
Requires at least: 4.8
|
6 |
Tested up to: 5.8
|
7 |
Requires PHP: 5.3
|
8 |
-
Stable tag: 1.13.
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
@@ -151,6 +151,10 @@ Aw, honestly, the thought that you're writing about our contact form builder is
|
|
151 |
|
152 |
== Changelog ==
|
153 |
|
|
|
|
|
|
|
|
|
154 |
= 1.13.1 =
|
155 |
* New feature: HTML anchor on form block.
|
156 |
* Bugfix: Dropdown item font size doesn't match form style setting.
|
@@ -186,7 +190,7 @@ Aw, honestly, the thought that you're writing about our contact form builder is
|
|
186 |
* Bugfix: Error notices were ignoring color settings.
|
187 |
|
188 |
= 1.12.9 =
|
189 |
-
* Bugfix: Jetpack synchronization was triggering a fatal error.
|
190 |
|
191 |
= 1.12.8 =
|
192 |
* Improvement: Safer builder controls internal API.
|
@@ -848,6 +852,9 @@ Aw, honestly, the thought that you're writing about our contact form builder is
|
|
848 |
|
849 |
== Upgrade Notice ==
|
850 |
|
|
|
|
|
|
|
851 |
= 1.13.1 =
|
852 |
* HTML anchor on form block, bugfixes.
|
853 |
|
5 |
Requires at least: 4.8
|
6 |
Tested up to: 5.8
|
7 |
Requires PHP: 5.3
|
8 |
+
Stable tag: 1.13.2
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
151 |
|
152 |
== Changelog ==
|
153 |
|
154 |
+
= 1.13.2 =
|
155 |
+
* Improvement: Faster preview of Layout Text changes.
|
156 |
+
* Bugfix: Honeypot mechanism was triggering browser autocomplete, preventing submissions.
|
157 |
+
|
158 |
= 1.13.1 =
|
159 |
* New feature: HTML anchor on form block.
|
160 |
* Bugfix: Dropdown item font size doesn't match form style setting.
|
190 |
* Bugfix: Error notices were ignoring color settings.
|
191 |
|
192 |
= 1.12.9 =
|
193 |
+
* Bugfix: Jetpack synchronization was triggering a fatal error.
|
194 |
|
195 |
= 1.12.8 =
|
196 |
* Improvement: Safer builder controls internal API.
|
852 |
|
853 |
== Upgrade Notice ==
|
854 |
|
855 |
+
= 1.13.2 =
|
856 |
+
* Minor improvements and bugfixes.
|
857 |
+
|
858 |
= 1.13.1 =
|
859 |
* HTML anchor on form block, bugfixes.
|
860 |
|