PluginProbe
weForms – Easy Drag & Drop Contact Form Builder For WordPress / 1.1.1
weForms – Easy Drag & Drop Contact Form Builder For WordPress v1.1.1
1.6.7 1.6.8 1.6.9 1.6.12 1.6.13 1.6.14 1.6.15 1.6.16 1.6.17 1.6.18 1.6.19 1.6.2 1.6.20 1.6.21 1.6.22 1.6.23 1.6.24 1.6.25 1.6.26 1.6.27 1.6.28 1.6.3 1.6.4 1.6.5 1.6.6 All 74 releases
weforms / assets / js-templates / spa-components.php

spa-components.php in weForms – Easy Drag & Drop Contact Form Builder For WordPress 1.1.1, at assets/js-templates/spa-components.php

910 lines 51.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <script type="text/x-template" id="tmpl-wpuf-component-table">
2 <div>
3
4 <div class="tablenav top">
5
6 <div class="alignleft actions bulkactions">
7 <label for="bulk-action-selector-top" class="screen-reader-text"><?php _e( 'Select bulk action', 'weforms' ); ?></label>
8 <select name="action" v-model="bulkAction">
9 <option value="-1"><?php _e( 'Bulk Actions', 'weforms' ); ?></option>
10 <option value="delete"><?php _e( 'Delete Entries', 'weforms' ); ?></option>
11 </select>
12
13 <button class="button action" v-on:click.prevent="handleBulkAction"><?php _e( 'Apply', 'weforms' ); ?></button>
14 </div>
15
16 <div class="alignleft actions">
17 <a class="button" :href="'admin-post.php?action=weforms_export_form_entries&selected_forms=' + id + '&_wpnonce=' + nonce" style="margin-top: 0;"><span class="dashicons dashicons-download" style="margin-top: 4px;"></span> <?php _e( 'Export Entries', 'weforms' ); ?></a>
18 </div>
19
20 <div class="tablenav-pages">
21
22 <span v-if="totalItems" class="displaying-num">{{ totalItems }} <?php _e( 'items', 'weforms' ); ?></span>
23
24 <span class="pagination-links">
25 <span v-if="isFirstPage()" class="tablenav-pages-navspan" aria-hidden="true">«</span>
26 <a v-else class="first-page" href="#" @click.prevent="goFirstPage()"><span class="screen-reader-text"><?php _e( 'First page', 'weforms' ); ?></span><span aria-hidden="true">«</span></a>
27
28 <span v-if="currentPage == 1" class="tablenav-pages-navspan" aria-hidden="true"></span>
29 <a v-else class="prev-page" href="#" @click.prevent="goToPage('prev')"><span class="screen-reader-text"><?php _e( 'Previous page', 'weforms' ); ?></span><span aria-hidden="true"></span></a>
30
31 <span class="screen-reader-text"><?php _e( 'Current Page', 'weforms' ); ?></span><input @keydown.enter.prevent="goToPage(pageNumberInput)" class="current-page" id="current-page-selector" v-model="pageNumberInput" type="text" value="1" size="1" aria-describedby="table-paging"> <?php _e( 'of', 'weforms' ); ?> <span class="total-pages">{{ totalPage }}</span>
32
33 <span v-if="currentPage == totalPage" class="tablenav-pages-navspan" aria-hidden="true"></span>
34 <a v-else class="next-page" href="#" @click.prevent="goToPage('next')"><span class="screen-reader-text"><?php _e( 'Next page', 'weforms' ); ?></span><span aria-hidden="true"></span></a>
35
36 <span v-if="isLastPage()" class="tablenav-pages-navspan" aria-hidden="true">»</span>
37 <a v-else class="last-page" href="#" @click.prevent="goLastPage()"><span class="screen-reader-text"><?php _e( 'Last page', 'weforms' ); ?></span><span aria-hidden="true">»</span></a>
38 </span>
39 </div>
40 </div>
41
42 <table class="wp-list-table widefat fixed striped wpuf-contact-form">
43 <thead>
44 <tr>
45 <td id="cb" class="manage-column column-cb check-column">
46 <input type="checkbox" v-model="selectAll">
47 </td>
48 <th class="col-entry-id"><?php _e( 'ID', 'weforms' ); ?></th>
49 <th v-for="(header, index) in columns">{{ header }}</th>
50 <th>Actions</th>
51 </tr>
52 </thead>
53 <tfoot>
54 <tr>
55 <td id="cb" class="manage-column column-cb check-column">
56 <input type="checkbox" v-model="selectAll">
57 </td>
58 <th class="col-entry-id"><?php _e( 'ID', 'weforms' ); ?></th>
59 <th v-for="(header, index) in columns">{{ header }}</th>
60 <th class="col-entry-details"><?php _e( 'Actions', 'weforms' ); ?></th>
61 </tr>
62 </tfoot>
63 <tbody>
64 <tr v-if="loading">
65 <td v-bind:colspan="columnLength + 3"><?php _e( 'Loading...', 'weforms' ); ?></td>
66 </tr>
67 <tr v-if="!items.length && !loading">
68 <td v-bind:colspan="columnLength + 3"><?php _e( 'No entries found!', 'weforms' ); ?></td>
69 </tr>
70 <tr v-for="(entry, index) in items">
71 <th scope="row" class="check-column">
72 <input type="checkbox" name="post[]" v-model="checkedItems" :value="entry.id">
73 </th>
74 <th class="col-entry-id">
75 <router-link :to="{ name: 'formEntriesSingle', params: { entryid: entry.id }}">#{{ entry.id }}</router-link>
76 </th>
77 <td v-for="(header, index) in columns"><span v-html="entry.fields[index]"></span></td>
78 <th class="col-entry-details">
79 <router-link :to="{ name: 'formEntriesSingle', params: { entryid: entry.id }}"><?php _e( 'Details', 'weforms' ); ?></router-link>
80 </th>
81 </tr>
82 </tbody>
83 </table>
84
85 <div class="tablenav bottom">
86 <div class="alignleft actions bulkactions">
87 <label for="bulk-action-selector-top" class="screen-reader-text"><?php _e( 'Select bulk action', 'weforms' ); ?></label>
88 <select name="action" v-model="bulkAction">
89 <option value="-1"><?php _e( 'Bulk Actions', 'weforms' ); ?></option>
90 <option value="delete"><?php _e( 'Delete Entries', 'weforms' ); ?></option>
91 </select>
92
93 <button class="button action" v-on:click.prevent="handleBulkAction"><?php _e( 'Apply', 'weforms' ); ?></button>
94 </div>
95
96 <div class="tablenav-pages">
97
98 <span v-if="totalItems" class="displaying-num">{{ totalItems }} <?php _e( 'items', 'weforms' ); ?></span>
99
100 <span class="pagination-links">
101 <span v-if="isFirstPage()" class="tablenav-pages-navspan" aria-hidden="true">«</span>
102 <a v-else class="first-page" href="#" @click.prevent="goFirstPage()"><span class="screen-reader-text"><?php _e( 'First page', 'weforms' ); ?></span><span aria-hidden="true">«</span></a>
103
104 <span v-if="currentPage == 1" class="tablenav-pages-navspan" aria-hidden="true"></span>
105 <a v-else class="prev-page" href="#" @click.prevent="goToPage('prev')"><span class="screen-reader-text"><?php _e( 'Previous page', 'weforms' ); ?></span><span aria-hidden="true"></span></a>
106
107 <span class="screen-reader-text"><?php _e( 'Current Page', 'weforms' ); ?></span><input @keydown.enter.prevent="goToPage(pageNumberInput)" class="current-page" id="current-page-selector" v-model="pageNumberInput" type="text" value="1" size="1" aria-describedby="table-paging"> of <span class="total-pages">{{ totalPage }}</span>
108
109 <span v-if="currentPage == totalPage" class="tablenav-pages-navspan" aria-hidden="true"></span>
110 <a v-else class="next-page" href="#" @click.prevent="goToPage('next')"><span class="screen-reader-text"><?php _e( 'Next page', 'weforms' ); ?></span><span aria-hidden="true"></span></a>
111
112 <span v-if="isLastPage()" class="tablenav-pages-navspan" aria-hidden="true">»</span>
113 <a v-else class="last-page" href="#" @click.prevent="goLastPage()"><span class="screen-reader-text"><?php _e( 'Last page', 'weforms' ); ?></span><span aria-hidden="true">»</span></a>
114 </span>
115 </div>
116 </div>
117 </div></script>
118
119 <script type="text/x-template" id="tmpl-wpuf-form-builder">
120 <form id="wpuf-form-builder" class="wpuf-form-builder-contact_form" method="post" action="" @submit.prevent="save_form_builder" v-cloak>
121 <fieldset :class="[is_form_saving ? 'disabled' : '']" :disabled="is_form_saving">
122
123 <h2 class="nav-tab-wrapper">
124 <a href="#wpuf-form-builder-container" :class="['nav-tab', isActiveTab( 'editor' ) ? 'nav-tab-active' : '']" v-on:click.prevent="makeActive('editor')">
125 <?php _e( 'Form Editor', 'weforms' ); ?>
126 </a>
127
128 <a href="#wpuf-form-builder-settings" :class="['nav-tab', isActiveTab( 'settings' ) ? 'nav-tab-active' : '']" v-on:click.prevent="makeActive('settings')">
129 <?php _e( 'Settings', 'weforms' ); ?>
130 </a>
131
132 <?php do_action( "wpuf-form-builder-tabs-contact_form" ); ?>
133
134 <span class="pull-right">
135 <a :href="'<?php echo site_url( '/' ); ?>?weforms_preview=1&form_id=' + post.ID" target="_blank" class="button"><span class="dashicons dashicons-visibility" style="padding-top: 3px;"></span> <?php _e( 'Preview', 'weforms' ); ?></a>
136
137 <button v-if="!is_form_saving" type="button" class="button button-primary" @click="save_form_builder">
138 <?php _e( 'Save Form', 'weforms' ); ?>
139 </button>
140
141 <button v-else type="button" class="button button-primary button-ajax-working" disabled>
142 <span class="loader"></span> <?php _e( 'Saving Form Data', 'weforms' ); ?>
143 </button>
144 </span>
145 </h2>
146
147 <div class="tab-contents" v-if="!loading">
148 <div id="wpuf-form-builder-container" v-show="isActiveTab('editor')">
149 <div id="builder-stage">
150 <header class="clearfix">
151 <span v-if="!post_title_editing" title="<?php esc_attr_e( 'Click to edit the form name', 'weforms' ); ?>" class="form-title" @click.prevent="post_title_editing = true"><span class="dashicons dashicons-edit"></span> {{ post.post_title }}</span>
152
153 <span v-show="post_title_editing">
154 <input type="text" v-model="post.post_title" name="post_title" />
155 <button type="button" class="button button-small" style="margin-top: 8px;" @click.prevent="post_title_editing = false"><i class="fa fa-check"></i></button>
156 </span>
157
158 <span class="form-id" title="<?php echo esc_attr_e( 'Click to copy shortcode', 'weforms' ); ?>" :data-clipboard-text='"[weforms id=\"" + post.ID + "\"]"'><i class="fa fa-clipboard" aria-hidden="true"></i> #{{ post.ID }}</span>
159
160 <span :class="{ sharing_on : settings.sharing_on }" class="ann-form-btn form-id" @click="shareForm( '<?php echo site_url( '/' ); ?>',post)" title="<?php echo esc_attr_e( 'Share Your Form', 'weforms' ); ?>">
161 <i class="fa fa-share-alt" aria-hidden="true"></i>
162 <?php _e('Share', 'Share' ); ?>
163 </span>
164
165 </header>
166
167 <ul v-if="is_form_switcher" class="form-switcher-content">
168
169 </ul>
170
171 <section>
172 <div id="form-preview">
173 <builder-stage></builder-stage>
174 </div>
175 </section>
176 </div><!-- #builder-stage -->
177
178 <div id="builder-form-fields">
179 <header>
180 <ul class="clearfix">
181 <li :class="['form-fields' === current_panel ? 'active' : '']">
182 <a href="#add-fields" @click.prevent="set_current_panel('form-fields')">
183 <?php _e( 'Add Fields', 'weforms' ); ?>
184 </a>
185 </li>
186
187 <li :class="['field-options' === current_panel ? 'active' : '', !form_fields_count ? 'disabled' : '']">
188 <a href="#field-options" @click.prevent="set_current_panel('field-options')">
189 <?php _e( 'Field Options', 'weforms' ); ?>
190 </a>
191 </li>
192 </ul>
193 </header>
194
195 <section>
196 <div class="wpuf-form-builder-panel">
197 <component :is="current_panel"></component>
198 </div>
199 </section>
200 </div><!-- #builder-form-fields -->
201 </div><!-- #wpuf-form-builder-container -->
202
203 <div id="wpuf-form-builder-settings" class="clearfix" v-show="isActiveTab('settings')">
204 <fieldset>
205 <h2 id="wpuf-form-builder-settings-tabs" class="nav-tab-wrapper">
206 <?php do_action( "wpuf-form-builder-settings-tabs-contact_form" ); ?>
207 </h2><!-- #wpuf-form-builder-settings-tabs -->
208
209 <div id="wpuf-form-builder-settings-contents" class="tab-contents">
210 <?php do_action( "wpuf-form-builder-settings-tab-contents-contact_form" ); ?>
211 </div><!-- #wpuf-form-builder-settings-contents -->
212 </fieldset>
213 </div><!-- #wpuf-form-builder-settings -->
214
215 <?php do_action( "wpuf-form-builder-tab-contents-contact_form" ); ?>
216 </div>
217 <div v-else>
218 <div class="updating-message">
219 <p><?php _e( 'Loading the editor', 'weforms' ); ?></p>
220 </div>
221 </div>
222
223 <input type="hidden" name="form_settings_key" value="wpuf_form_settings">
224
225 <?php wp_nonce_field( 'wpuf_form_builder_save_form', 'wpuf_form_builder_nonce' ); ?>
226
227 <input type="hidden" name="wpuf_form_id" :value="post.ID">
228 </fieldset>
229 </form><!-- #wpuf-form-builder -->
230 </script>
231
232 <script type="text/x-template" id="tmpl-wpuf-form-entries">
233 <div class="wpuf-contact-form-entries">
234 <h1 class="wp-heading-inline">
235 <?php _e( 'Entries', 'weforms' ); ?>
236 <span class="dashicons dashicons-arrow-right-alt2" style="margin-top: 5px;"></span>
237 <span style="color: #999;" class="form-name">{{ form_title }}</span>
238 </h1>
239
240 <router-link class="page-title-action" to="/"><?php _e( 'Back to forms', 'weforms' ); ?></router-link>
241
242 <wpuf-table action="weforms_form_entries" :id="id" v-on:ajaxsuccess="form_title = $event.form_title"></wpuf-table>
243
244 </div></script>
245
246 <script type="text/x-template" id="tmpl-wpuf-form-entry-single">
247 <div class="wpuf-contact-form-entry">
248 <h1 class="wp-heading-inline"><?php _e( 'Entry Details', 'weforms' ); ?></h1>
249 <router-link class="page-title-action" :to="{ name: 'formEntries', params: { id: $route.params.id }}"><?php _e( 'Back to Entries', 'weforms' ); ?></router-link>
250
251 <div v-if="loading"><?php _e( 'Loading...', 'weforms' ); ?></div>
252 <div v-else class="wpuf-contact-form-entry-wrap">
253
254 <div class="wpuf-contact-form-entry-left">
255 <div class="postbox">
256 <h2 class="hndle ui-sortable-handle"><span>{{ entry.meta_data.form_title }} : Entry # {{ $route.params.entryid }}</span></h2>
257
258 <div class="main">
259 <table v-if="hasFormFields" class="wp-list-table widefat fixed striped posts">
260 <tbody>
261 <template v-for="(field, index) in entry.form_fields">
262 <tr class="field-label">
263 <th><strong>{{ field.label }}</strong></th>
264 </tr>
265 <tr class="field-value">
266 <td>
267 <weforms-entry-gmap :lat="entry.meta_data[index]['lat']" :long="entry.meta_data[index]['long']" v-if="field.type == 'map'"></weforms-entry-gmap>
268 <div v-else-if="field.type === 'checkbox_field' || field.type === 'multiple_select'">
269 <ul style="margin: 0;">
270 <li v-for="item in field.value">- {{ item }}</li>
271 </ul>
272 </div>
273 <div v-else v-html="field.value"></div>
274 </td>
275 </tr>
276 </template>
277 </tbody>
278 </table>
279 <div v-else><div class="inside"><?php _e( 'Loading...', 'weforms' ); ?></div></div>
280
281 </div>
282 </div>
283 </div>
284
285 <div class="wpuf-contact-form-entry-right">
286 <div class="postbox">
287 <h2 class="hndle ui-sortable-handle"><span><?php _e( 'Submission Info', 'weforms' ); ?></span></h2>
288 <div class="inside">
289 <div class="main">
290
291 <ul>
292 <li>
293 <span class="label"><?php _e( 'Entry ID', 'weforms' ); ?></span>
294 <span class="sep"> : </span>
295 <span class="value">#{{ $route.params.entryid }}</span>
296 </li>
297 <li>
298 <span class="label"><?php _e( 'User IP', 'weforms' ); ?></span>
299 <span class="sep"> : </span>
300 <span class="value">{{ entry.meta_data.ip_address }}</span>
301 </li>
302 <li>
303 <span class="label"><?php _e( 'Page', 'weforms' ); ?></span>
304 <span class="sep"> : </span>
305 <span class="value"><a :href="entry.meta_data.referer">{{ entry.meta_data.referer }}</a></span>
306 </li>
307 <li v-if="entry.meta_data.user">
308 <span class="label"><?php _e( 'From', 'weforms' ); ?></span>
309 <span class="sep"> : </span>
310 <span class="value">{{ entry.meta_data.user }}</span>
311 </li>
312 <li>
313 <span class="label"><?php _e( 'Submitted On', 'weforms' ); ?></span>
314 <span class="sep"> : </span>
315 <span class="value">{{ entry.meta_data.created }}</span>
316 </li>
317 </ul>
318 </div>
319 </div>
320
321 <div id="major-publishing-actions">
322 <div id="publishing-action">
323 <button class="button button-large button-secondary" v-on:click.prevent="trashEntry"><span class="dashicons dashicons-trash"></span><?php _e( ' Delete', 'weforms' ); ?></button>
324 </div>
325 <div class="clear"></div>
326 </div>
327 </div>
328 </div>
329 </div>
330 </div></script>
331
332 <script type="text/x-template" id="tmpl-wpuf-form-list-table">
333 <div class="content table-responsive table-full-width" style="margin-top: 20px;">
334
335 <div class="tablenav top">
336 <div class="alignleft actions bulkactions">
337 <label for="bulk-action-selector-top" class="screen-reader-text"><?php _e( 'Select bulk action', 'weforms' ); ?></label>
338 <select name="action" v-model="bulkAction">
339 <option value="-1"><?php _e( 'Bulk Actions', 'weforms' ); ?></option>
340 <option value="delete"><?php _e( 'Delete Forms', 'weforms' ); ?></option>
341 </select>
342
343 <button class="button action" v-on:click.prevent="handleBulkAction"><?php _e( 'Apply', 'weforms' ); ?></button>
344 </div>
345
346 <div class="tablenav-pages">
347
348 <span v-if="totalItems" class="displaying-num">{{ totalItems }} <?php _e( 'items', 'weforms' ); ?></span>
349
350 <span class="pagination-links">
351 <span v-if="isFirstPage()" class="tablenav-pages-navspan" aria-hidden="true">«</span>
352 <a v-else class="first-page" href="#" @click.prevent="goFirstPage()"><span class="screen-reader-text"><?php _e( 'First page', 'weforms' ); ?></span><span aria-hidden="true">«</span></a>
353
354 <span v-if="currentPage == 1" class="tablenav-pages-navspan" aria-hidden="true"></span>
355 <a v-else class="prev-page" href="#" @click.prevent="goToPage('prev')"><span class="screen-reader-text"><?php _e( 'Previous page', 'weforms' ); ?></span><span aria-hidden="true"></span></a>
356
357 <span class="screen-reader-text"><?php _e( 'Current Page', 'weforms' ); ?></span><input @keydown.enter.prevent="goToPage(pageNumberInput)" class="current-page" id="current-page-selector" v-model="pageNumberInput" type="text" value="1" size="1" aria-describedby="table-paging"> <?php _e( 'of', 'weforms' ); ?> <span class="total-pages">{{ totalPage }}</span>
358
359 <span v-if="currentPage == totalPage || totalPage == 0" class="tablenav-pages-navspan" aria-hidden="true"></span>
360 <a v-else class="next-page" href="#" @click.prevent="goToPage('next')"><span class="screen-reader-text"><?php _e( 'Next page', 'weforms' ); ?></span><span aria-hidden="true"></span></a>
361
362 <span v-if="isLastPage() || totalPage == 0" class="tablenav-pages-navspan" aria-hidden="true">»</span>
363 <a v-else class="last-page" href="#" @click.prevent="goLastPage()"><span class="screen-reader-text"><?php _e( 'Last page', 'weforms' ); ?></span><span aria-hidden="true">»</span></a>
364 </span>
365 </div>
366 </div>
367
368 <table class="wp-list-table widefat fixed striped posts">
369 <thead>
370 <tr>
371 <td id="cb" class="manage-column column-cb check-column">
372 <label class="screen-reader-text" for="cb-select-all-1"><?php _e( 'Select All', 'weforms' ); ?></label>
373 <input type="checkbox" v-model="selectAll">
374 </td>
375 <th scope="col" class="col-form-name"><?php _e( 'Name', 'weforms' ); ?></th>
376 <th scope="col" class="col-form-shortcode"><?php _e( 'Shortcode', 'weforms' ); ?></th>
377 <th scope="col" class="col-form-entries"><?php _e( 'Entries', 'weforms' ); ?></th>
378 <th scope="col" class="col-form-views"><?php _e( 'Views', 'weforms' ); ?></th>
379 <th scope="col" class="col-form-conversion"><?php _e( 'Conversion', 'weforms' ); ?></th>
380 </tr>
381 </thead>
382 <tbody>
383 <tr v-if="loading">
384 <td colspan="6"><?php _e( 'Loading...', 'weforms' ); ?></td>
385 </tr>
386 <tr v-if="!items.length && !loading">
387 <td colspan="6"><?php _e( 'No form found!', 'weforms' ); ?></td>
388 </tr>
389 <tr v-for="(form, index) in items">
390 <th scope="row" class="check-column">
391 <input type="checkbox" name="post[]" v-model="checkedItems" :value="form.id">
392 </th>
393 <td class="title column-title has-row-actions column-primary page-title">
394 <strong><router-link :to="{ name: 'edit', params: { id: form.id }}">{{ form.name }}</router-link> <span v-if="form.data.post_status != 'publish'">({{ form.data.post_status }})</span></strong>
395
396 <div class="row-actions">
397 <span class="edit"><router-link :to="{ name: 'edit', params: { id: form.id }}"><?php _e( 'Edit', 'weforms' ); ?></router-link> | </span>
398 <span class="trash"><a href="#" v-on:click.prevent="deleteForm(index)" class="submitdelete"><?php _e( 'Delete', 'weforms' ); ?></a> | </span>
399 <span class="duplicate"><a href="#" v-on:click.prevent="duplicate(form.id, index)"><?php _e( 'Duplicate', 'weforms' ); ?></a> <template v-if="form.entries">|</template> </span>
400 <router-link v-if="form.entries" :to="{ name: 'formEntries', params: { id: form.id }}"><?php _e( 'View Entries', 'weforms' ); ?></router-link>
401 </div>
402 </td>
403 <td><code>[weforms id="{{ form.id }}"]</code></td>
404 <td>
405 <router-link v-if="form.entries" :to="{ name: 'formEntries', params: { id: form.id }}">{{ form.entries }}</router-link>
406 <span v-else>&mdash;</span>
407 </td>
408 <td>{{ form.views }}</td>
409 <td>
410 <span v-if="form.views">{{ ((form.entries/form.views) * 100).toFixed(2) }}%</span>
411 <span v-else>0%</span>
412 </td>
413 </tr>
414 </tbody>
415
416 <tfoot>
417 <tr>
418 <td id="cb" class="manage-column column-cb check-column">
419 <label class="screen-reader-text" for="cb-select-all-1"><?php _e( 'Select All', 'weforms' ); ?></label>
420 <input type="checkbox" v-model="selectAll">
421 </td>
422 <th scope="col" class="col-form-name"><?php _e( 'Name', 'weforms' ); ?></th>
423 <th scope="col" class="col-form-shortcode"><?php _e( 'Shortcode', 'weforms' ); ?></th>
424 <th scope="col" class="col-form-entries"><?php _e( 'Entries', 'weforms' ); ?></th>
425 <th scope="col" class="col-form-views"><?php _e( 'Views', 'weforms' ); ?></th>
426 <th scope="col" class="col-form-conversion"><?php _e( 'Conversion', 'weforms' ); ?></th>
427 </tr>
428 </tfoot>
429 </table>
430
431 <div class="tablenav bottom">
432 <div class="alignleft actions bulkactions">
433 <label for="bulk-action-selector-top" class="screen-reader-text"><?php _e( 'Select bulk action', 'weforms' ); ?></label>
434 <select name="action" v-model="bulkAction">
435 <option value="-1"><?php _e( 'Bulk Actions', 'weforms' ); ?></option>
436 <option value="delete"><?php _e( 'Delete Forms', 'weforms' ); ?></option>
437 </select>
438
439 <button class="button action" v-on:click.prevent="handleBulkAction"><?php _e( 'Apply', 'weforms' ); ?></button>
440 </div>
441
442 <div class="tablenav-pages">
443
444 <span v-if="totalItems" class="displaying-num">{{ totalItems }} <?php _e( 'items', 'weforms' ); ?></span>
445
446 <span class="pagination-links">
447 <span v-if="isFirstPage()" class="tablenav-pages-navspan" aria-hidden="true">«</span>
448 <a v-else class="first-page" href="#" @click.prevent="goFirstPage()"><span class="screen-reader-text"><?php _e( 'First page', 'weforms' ); ?></span><span aria-hidden="true">«</span></a>
449
450 <span v-if="currentPage == 1" class="tablenav-pages-navspan" aria-hidden="true"></span>
451 <a v-else class="prev-page" href="#" @click.prevent="goToPage('prev')"><span class="screen-reader-text"><?php _e( 'Previous page', 'weforms' ); ?></span><span aria-hidden="true"></span></a>
452
453 <span class="screen-reader-text"><?php _e( 'Current Page', 'weforms' ); ?></span><input @keydown.enter.prevent="goToPage(pageNumberInput)" class="current-page" id="current-page-selector" v-model="pageNumberInput" type="text" value="1" size="1" aria-describedby="table-paging"> <?php _e( 'of', 'weforms' ); ?> <span class="total-pages">{{ totalPage }}</span>
454
455 <span v-if="currentPage == totalPage || totalPage == 0" class="tablenav-pages-navspan" aria-hidden="true"></span>
456 <a v-else class="next-page" href="#" @click.prevent="goToPage('next')"><span class="screen-reader-text"><?php _e( 'Next page', 'weforms' ); ?></span><span aria-hidden="true"></span></a>
457
458 <span v-if="isLastPage() || totalPage == 0" class="tablenav-pages-navspan" aria-hidden="true">»</span>
459 <a v-else class="last-page" href="#" @click.prevent="goLastPage()"><span class="screen-reader-text"><?php _e( 'Last page', 'weforms' ); ?></span><span aria-hidden="true">»</span></a>
460 </span>
461 </div>
462 </div>
463 </div></script>
464
465 <script type="text/x-template" id="tmpl-wpuf-home-page">
466 <div class="contact-form-list">
467 <h1 class="wp-heading-inline"><?php _e( 'All Forms', 'weforms' ); ?></h1>
468 <a class="page-title-action add-form" herf="#" v-on:click.prevent="displayModal()"><?php _e( 'Add Form', 'weforms' ); ?></a>
469
470 <wpuf-template-modal :show.sync="showTemplateModal" :onClose="closeModal"></wpuf-template-modal>
471
472 <form-list-table></form-list-table>
473 </div></script>
474
475 <script type="text/x-template" id="tmpl-wpuf-tools">
476 <div class="export-import-wrap">
477
478 <h2 class="nav-tab-wrapper">
479 <a :class="['nav-tab', isActiveTab( 'export' ) ? 'nav-tab-active' : '']" href="#" v-on:click.prevent="makeActive('export')"><?php _e( 'Export', 'wpuf' ); ?></a>
480 <a :class="['nav-tab', isActiveTab( 'import' ) ? 'nav-tab-active' : '']" href="#" v-on:click.prevent="makeActive('import')"><?php _e( 'Import', 'wpuf' ); ?></a>
481 </h2>
482
483 <div class="nav-tab-content">
484 <div class="nav-tab-inside" v-show="isActiveTab('export')">
485 <h3><?php _e( 'Export Utility', 'weforms' ); ?></h3>
486
487 <p><?php _e( 'You can export your form, as well as exporting the submitted entries by the users', 'weforms' ); ?></p>
488
489 <div class="postboxes metabox-holder two-col">
490 <div class="postbox">
491 <h3 class="hndle"><?php _e( 'Export Forms', 'weforms' ); ?></h3>
492
493 <div class="inside">
494 <p class="help">
495 <?php _e( 'You can export your existing contact forms and import the same forms into a different site.', 'weforms' ); ?>
496 </p>
497
498 <template v-if="!loading">
499 <form action="admin-post.php?action=weforms_export_forms" method="post">
500 <p><label><input v-model="exportType" type="radio" name="export_type" value="all" checked> <?php _e( 'All Forms', 'weforms' ); ?></label></p>
501 <p><label><input v-model="exportType" type="radio" name="export_type" value="selected"> <?php _e( 'Selected Forms', 'weforms' ); ?></label></p>
502 <p v-show="exportType == 'selected'">
503 <select name="selected_forms[]" class="forms-list" multiple="multiple">
504 <option v-for="entry in forms" :value="entry.id">{{ entry.title }}</option>
505 </select>
506 </p>
507
508 <?php wp_nonce_field( 'weforms-export-forms' ); ?>
509 <input type="submit" class="button button-primary" name="weforms_export_forms" value="<?php _e( 'Export Forms', 'weforms' ) ?>">
510 </form>
511 </template>
512 <template v-else>
513 <div class="spinner loading-spinner is-active"></div>
514 </template>
515 </div>
516 </div><!-- .postbox -->
517
518 <div class="postbox">
519 <h3 class="hndle"><?php _e( 'Export Form Entries', 'weforms' ); ?></h3>
520
521 <div class="inside">
522 <p class="help">
523 <?php _e( 'Export your form entries/submissions as a <strong>CSV</strong> file.', 'weforms' ); ?>
524 </p>
525
526 <template v-if="!loading">
527 <form action="admin-post.php?action=weforms_export_form_entries" method="post">
528 <p>
529 <select name="selected_forms" class="forms-list">
530 <option value=""><?php _e( '&mdash; Select Form &mdash;', 'weforms' ); ?></option>
531 <option v-for="entry in forms" :value="entry.id">{{ entry.title }}</option>
532 </select>
533 </p>
534
535 <?php wp_nonce_field( 'weforms-export-entries' ); ?>
536 <input type="submit" class="button button-primary" name="weforms_export_entries" value="<?php _e( 'Export Entries', 'weforms' ) ?>">
537 </form>
538 </template>
539 <template v-else>
540 <div class="spinner loading-spinner is-active"></div>
541 </template>
542 </div>
543 </div><!-- .postbox -->
544 </div>
545 </div>
546
547 <div class="nav-tab-inside" v-show="isActiveTab('import')">
548 <h3><?php _e( 'Import Contact Form', 'weforms' ); ?></h3>
549
550 <p><?php _e( 'Browse and locate a json file you backed up before.', 'weforms' ); ?></p>
551 <p><?php _e( 'Press <strong>Import</strong> button, we will do the rest for you.', 'weforms' ); ?></p>
552
553 <div class="updated-message notice notice-success is-dismissible" v-if="isSuccess">
554 <p>{{ responseMessage }}</p>
555
556 <button type="button" class="notice-dismiss" v-on:click="currentStatus = 0">
557 <span class="screen-reader-text"><?php _e( 'Dismiss this notice.', 'weforms' ); ?></span>
558 </button>
559 </div>
560
561 <div class="update-message notice notice-error is-dismissible" v-if="isFailed">
562 <p>{{ responseMessage }}</p>
563
564 <button type="button" class="notice-dismiss" v-on:click="currentStatus = 0">
565 <span class="screen-reader-text"><?php _e( 'Dismiss this notice.', 'weforms' ); ?></span>
566 </button>
567 </div>
568
569 <form action="" method="post" enctype="multipart/form-data" style="margin-top: 20px;">
570 <input type="file" name="importFile" v-on:change="importForm( $event.target.name, $event.target.files, $event )" accept="application/json" />
571 <button type="submit" :class="['button', isSaving ? 'updating-message' : '']" disabled="disabled">{{ importButton }}</button>
572 </form>
573
574 <hr>
575 <h3><?php _e( 'Import Other Forms', 'weforms' ); ?></h3>
576 <p><?php _e( 'You can import other WordPress form plugins into weForms.', 'weforms' ); ?></p>
577
578 <div class="updated" v-if="ximport.title">
579 <p><strong>{{ ximport.title }}</strong></p>
580
581 <p>{{ ximport.message }}</p>
582 <p>{{ ximport.action }}</p>
583
584 <ul v-if="hasRefs">
585 <li v-for="ref in ximport.refs">
586 <a target="_blank" :href="'admin.php?page=weforms#/form/' + ref.weforms_id + '/edit'">{{ ref.title }}</a> - <a :href="'admin.php?page=weforms#/form/' + ref.weforms_id + '/edit'" target="_blank" class="button button-small"><span class="dashicons dashicons-external"></span> <?php _e( 'Edit', 'weforms' ); ?></a>
587 </li>
588 </ul>
589
590 <p>
591 <a href="#" class="button button-primary" @click.prevent="replaceX($event.target, 'replace')"><?php _e( 'Replace Shortcodes', 'weforms' ); ?></a>&nbsp;
592 <a href="#" class="button" @click.prevent="replaceX($event.target, 'skip')"><?php _e( 'No Thanks', 'weforms' ); ?></a>
593 </p>
594 </div>
595
596
597 <table style="min-width: 500px;">
598 <tbody>
599 <tr>
600 <td><?php _e( 'Contact Form 7', 'weforms' ); ?></td>
601 <th><button class="button" @click.prevent="importx($event.target, 'cf7')" data-importing="<?php esc_attr_e( 'Importing...', 'weforms' ); ?>" data-original="<?php esc_attr_e( 'Import', 'weforms' ); ?>"><?php _e( 'Import', 'weforms' ); ?></button></th>
602 </tr>
603 <tr>
604 <td><?php _e( 'Ninja Forms', 'weforms' ); ?></td>
605 <th><button class="button" @click.prevent="importx($event.target, 'nf')" data-importing="<?php esc_attr_e( 'Importing...', 'weforms' ); ?>" data-original="<?php esc_attr_e( 'Import', 'weforms' ); ?>"><?php _e( 'Import', 'weforms' ); ?></button></th>
606 </tr>
607 <tr>
608 <td><?php _e( 'Caldera Forms', 'weforms' ); ?></td>
609 <th><button class="button" @click.prevent="importx($event.target, 'caldera-forms')" data-importing="<?php esc_attr_e( 'Importing...', 'weforms' ); ?>" data-original="<?php esc_attr_e( 'Import', 'weforms' ); ?>"><?php _e( 'Import', 'weforms' ); ?></button></th>
610 </tr>
611 <tr>
612 <td><?php _e( 'Gravity Forms', 'weforms' ); ?></td>
613 <th><button class="button" @click.prevent="importx($event.target, 'gf')" data-importing="<?php esc_attr_e( 'Importing...', 'weforms' ); ?>" data-original="<?php esc_attr_e( 'Import', 'weforms' ); ?>"><?php _e( 'Import', 'weforms' ); ?></button></th>
614 </tr>
615 <tr>
616 <td><?php _e( 'WP Forms', 'weforms' ); ?></td>
617 <th><button class="button" @click.prevent="importx($event.target, 'wpforms')" data-importing="<?php esc_attr_e( 'Importing...', 'weforms' ); ?>" data-original="<?php esc_attr_e( 'Import', 'weforms' ); ?>"><?php _e( 'Import', 'weforms' ); ?></button></th>
618 </tr>
619 </tbody>
620 </table>
621 </div>
622 </div>
623 </div></script>
624
625 <script type="text/x-template" id="tmpl-wpuf-weforms-page-help">
626 <div class="weforms-help-page">
627
628 <div class="help-block">
629 <img src="<?php echo WEFORMS_ASSET_URI; ?>/images/help/docs.svg" alt="<?php esc_attr_e( 'Looking for Something?', 'weforms' ); ?>">
630
631 <h3><?php _e( 'Looking for Something?', 'weforms' ); ?></h3>
632
633 <p><?php _e( 'We have detailed documentation on every aspects of weForms.', 'weforms' ); ?></p>
634
635 <a target="_blank" class="button button-primary" href="https://wedevs.com/docs/weforms/?utm_source=weforms-help-page&utm_medium=help-block&utm_campaign=plugin-docs-link"><?php _e( 'Visit the Plugin Documentation', 'weforms' ); ?></a>
636 </div>
637
638 <div class="help-block">
639 <img src="<?php echo WEFORMS_ASSET_URI; ?>/images/help/support.svg" alt="<?php esc_attr_e( 'Need Any Assistance?', 'weforms' ); ?>">
640
641 <h3><?php _e( 'Need Any Assistance?', 'weforms' ); ?></h3>
642
643 <p><?php _e( 'Our EXPERT Support Team is always ready to Help you out.', 'weforms' ); ?></p>
644
645 <a target="_blank" class="button button-primary" href="https://wedevs.com/account/tickets/?utm_source=weforms-help-page&utm_medium=help-block&utm_campaign=need-assistance"><?php _e( 'Contact Support', 'weforms' ); ?></a>
646 </div>
647
648 <div class="help-block">
649 <img src="<?php echo WEFORMS_ASSET_URI; ?>/images/help/bugs.svg" alt="<?php esc_attr_e( 'Found Any Bugs?', 'weforms' ); ?>">
650
651 <h3><?php _e( 'Found Any Bugs?', 'weforms' ); ?></h3>
652
653 <p><?php _e( 'Report any Bug that you Discovered, Get Instant Solutions.', 'weforms' ); ?></p>
654
655 <a target="_blank" class="button button-primary" href="https://github.com/weDevsOfficial/weforms"><?php _e( 'Report to GitHub', 'weforms' ); ?></a>
656 </div>
657
658 <div class="help-block">
659 <img src="<?php echo WEFORMS_ASSET_URI; ?>/images/help/customization.svg" alt="<?php esc_attr_e( 'Require Customization?', 'weforms' ); ?>">
660
661 <h3><?php _e( 'Require Customization?', 'weforms' ); ?></h3>
662
663 <p><?php _e( 'We would Love to hear your Integration and Customization Ideas.', 'weforms' ); ?></p>
664
665 <a target="_blank" class="button button-primary" href="https://wedevs.com/contact/?utm_source=weforms-help-page&utm_medium=help-block&utm_campaign=requires-customization"><?php _e( 'Contact Our Services', 'weforms' ); ?></a>
666 </div>
667
668 <div class="help-block">
669 <img src="<?php echo WEFORMS_ASSET_URI; ?>/images/help/like.svg" alt="<?php esc_attr_e( 'Like The Plugin?', 'weforms' ); ?>">
670
671 <h3><?php _e( 'Like The Plugin?', 'weforms' ); ?></h3>
672
673 <p><?php _e( 'Your Review is very important to us as it helps us to grow more.', 'weforms' ); ?></p>
674
675 <a target="_blank" class="button button-primary" href="https://wordpress.org/support/plugin/weforms/reviews/?rate=5#new-post"><?php _e( 'Review Us on WP.org', 'weforms' ); ?></a>
676 </div>
677 </div></script>
678
679 <script type="text/x-template" id="tmpl-wpuf-weforms-premium">
680 <div class="wrap weforms-premium about-wrap">
681 <h1><?php _e( 'weForms Pro', 'weforms' ); ?></h1>
682
683 <p class="about-text"><?php _e( 'Upgrade to the premium versions of weForms and unlock even more useful features.', 'weforms' ); ?></p>
684 <div class="wp-badge">weForms Pro</div>
685
686 <hr>
687 <div class="feature-section one-col">
688 <div class="col">
689 <h2><?php _e( 'More Features', 'weforms' ); ?></h2>
690 <p style="text-align: center;">weForms Pro is designed just for you, specially to fulfil your business needs. We have designed and curated every package keeping your requirements in mind.</p>
691 </div>
692 </div>
693
694 <div class="feature-section two-col">
695 <div class="col">
696 <h3>Advanced Fields</h3>
697 <p>Build any kind of form flexibly with the advanced field option. Its user friendly interface makes sure you do not have to scratch your head over building forms.</p>
698 </div>
699
700 <div class="col">
701 <h3>Conditional Logic</h3>
702 <p>Configure your form’s settings and user flow based on conditional selection. Your forms should appear just the way you want it.</p>
703 </div>
704
705 <div class="col">
706 <h3>Multi-step Form</h3>
707 <p>Break down the long forms into small and attractive multi step forms. Long and lengthy forms are uninviting, why build one?</p>
708 </div>
709
710 <div class="col">
711 <h3>File Uploaders</h3>
712 <p>Let the user upload any kind of file by filling up your contact form. The process is unbelievably smooth and supports a wide range of file formats.</p>
713 </div>
714
715 <div class="col">
716 <h3>Form Submission Notification</h3>
717 <p>Receive email notification every time your form is submitted. You can now configure the notification settings just as you like it.</p>
718 </div>
719
720 <div class="col">
721 <h3>Manage Submission</h3>
722 <p>View, edit and manage all the submission data stored through your form. We believe that you should own it all- like literally!</p>
723 </div>
724 </div>
725
726 <hr>
727
728 <h2><?php _e( 'More Integrations', 'weforms' ); ?></h2>
729
730 <div class="headline-feature four-col">
731 <div class="col">
732 <img src="<?php echo WEFORMS_ASSET_URI; ?>/images/integrations/mailchimp.svg" alt="MailChimp Integration">
733 <h3>MailChimp</h3>
734 <p>Integrate your desired form to your MailChimp email newsletter using latest API.</p>
735 </div>
736
737 <div class="col">
738 <img src="<?php echo WEFORMS_ASSET_URI; ?>/images/integrations/campaign-monitor.svg" alt="">
739 <h3>Campaign Monitor</h3>
740 <p>Lets you add submission form in your Campaign Monitor email campaigns too.</p>
741 </div>
742
743 <div class="col">
744 <img src="<?php echo WEFORMS_ASSET_URI; ?>/images/integrations/constant-contact.svg" alt="">
745 <h3>Constant Contact</h3>
746 <p>Integrate your contact forms seamlessly with your Constant Contact account.</p>
747 </div>
748
749 <div class="col">
750 <img src="<?php echo WEFORMS_ASSET_URI; ?>/images/integrations/mailpoet.svg" alt="">
751 <h3>MailPoet</h3>
752 <p>Why only MailChimp? Do the same for MailPoet email campaigns as well!</p>
753 </div>
754
755 <div class="col">
756 <img src="<?php echo WEFORMS_ASSET_URI; ?>/images/integrations/aweber.svg" alt="">
757 <h3>AWeber</h3>
758 <p>Use highly customizable forms and create subscriber’s list for AWber email solution.</p>
759 </div>
760
761 <div class="col">
762 <img src="<?php echo WEFORMS_ASSET_URI; ?>/images/integrations/getresponse.svg" alt="">
763 <h3>Get Response</h3>
764 <p>Enjoy seamless integration of weForms with your Get Response account.</p>
765 </div>
766
767 <div class="col">
768 <img src="<?php echo WEFORMS_ASSET_URI; ?>/images/integrations/convertkit.svg" alt="">
769 <h3>ConvertKit</h3>
770 <p>Subscribe a contact to ConvertKit when a form is submited.</p>
771 </div>
772
773 <div class="col">
774 <img src="<?php echo WEFORMS_ASSET_URI; ?>/images/integrations/more.svg" alt="">
775 <h3>More...</h3>
776 <p>A bunch of more integrations are coming soon.</p>
777 </div>
778 </div>
779
780 <div style="display: block; height: 100px; overflow: hidden;"></div>
781
782 <div class="weforms-upgrade-sticky-footer">
783 <p><a class="button button-primary" href="<?php echo WeForms_Form_Builder_Assets::get_pro_url(); ?>" target="_blank"><?php _e( 'Upgrade Now', 'weforms' ); ?></a></p>
784 </div>
785
786 </div></script>
787
788 <script type="text/x-template" id="tmpl-wpuf-weforms-settings">
789 <div class="weforms-settings">
790 <h1><?php _e( 'Settings', 'weforms' ); ?></h1>
791
792 <div class="postboxes metabox-holder two-col">
793 <div class="postbox">
794 <h3 class="hndle"><?php _e( 'General Settings', 'weforms' ); ?></h3>
795
796 <div class="inside">
797 <p class="help">
798 <?php _e( 'For better email deliverability choose a email provider that will ensure the email reaches your inbox, as well as reducing your server load.', 'weforms' ); ?>
799 </p>
800
801 <table class="form-table">
802 <tr>
803 <th><?php _e( 'Send Email Via', 'weforms' ); ?></th>
804 <td>
805 <select v-model="settings.email_gateway">
806 <option value="wordpress"><?php _e( 'WordPress', 'weforms' ); ?></option>
807 <option value="sendgrid" :disabled="is_pro ? false : true"><?php _e( 'SendGrid', 'weforms' ); ?> <span v-if="!is_pro">(<?php _e( 'Premium', 'weforms' ); ?>)</span></option>
808 <option value="mailgun" :disabled="is_pro ? false : true"><?php _e( 'Mailgun', 'weforms' ); ?> <span v-if="!is_pro">(<?php _e( 'Premium', 'weforms' ); ?>)</span></option>
809 <option value="sparkpost" :disabled="is_pro ? false : true"><?php _e( 'SparkPost', 'weforms' ); ?> <span v-if="!is_pro">(<?php _e( 'Premium', 'weforms' ); ?>)</span></option>
810 </select>
811 </td>
812 </tr>
813 <template v-if="is_pro">
814 <tr v-if="settings.email_gateway == 'sendgrid'">
815 <th><?php _e( 'SendGrid API Key', 'weforms' ); ?></th>
816 <td>
817 <input type="text" v-model="settings.gateways.sendgrid" class="regular-text">
818
819 <p class="description"><?php printf( __( 'Fill your SendGrid <a href="%s" target="_blank">API Key</a>.', 'weforms' ), 'https://app.sendgrid.com/settings/api_keys' ); ?></p>
820 </td>
821 </tr>
822 <tr v-if="settings.email_gateway == 'mailgun'">
823 <th><?php _e( 'Domain Name', 'weforms' ); ?></th>
824 <td>
825 <input type="text" v-model="settings.gateways.mailgun_domain" class="regular-text">
826
827 <p class="description"><?php _e( 'Your Mailgun domain name', 'weforms' ); ?></p>
828 </td>
829 </tr>
830 <tr v-if="settings.email_gateway == 'mailgun'">
831 <th><?php _e( 'API Key', 'weforms' ); ?></th>
832 <td>
833 <input type="text" v-model="settings.gateways.mailgun" class="regular-text">
834
835 <p class="description"><?php printf( __( 'Fill your Mailgun <a href="%s" target="_blank">API Key</a>.', 'weforms' ), 'https://app.mailgun.com/app/account/security' ); ?></p>
836 </td>
837 </tr>
838 <tr v-if="settings.email_gateway == 'sparkpost'">
839 <th><?php _e( 'SparkPost API Key', 'weforms' ); ?></th>
840 <td>
841 <input type="text" v-model="settings.gateways.sparkpost" class="regular-text">
842
843 <p class="description"><?php printf( __( 'Fill your SparkPost <a href="%s" target="_blank">API Key</a>.', 'weforms' ), 'https://app.sparkpost.com/account/credentials' ); ?></p>
844 </td>
845 </tr>
846 </template>
847 <tr>
848 <th><?php _e( 'Show Credit', 'weforms' ); ?></th>
849 <td>
850 <label>
851 <input type="checkbox" v-model="settings.credit">
852 <?php _e( 'Show <em>powered by weForms</em> credit in form footer.', 'weforms' ); ?>
853 </label>
854 </td>
855 </tr>
856 <tr>
857 <th><?php _e( 'Form Permission', 'weforms' ); ?></th>
858 <td>
859 <select :disabled="!is_pro" v-model="settings.permission">
860 <option value="manage_options"><?php _e( 'Admins Only', 'weforms' ); ?></option>
861 <option value="edit_others_posts"><?php _e( 'Admins, Editors', 'weforms' ); ?></option>
862 <option value="publish_posts"><?php _e( 'Admins, Editors, Authors', 'weforms' ); ?></option>
863 <option value="edit_posts"><?php _e( 'Admins, Editors, Authors, Contributors', 'weforms' ); ?></option>
864 </select>
865
866 <p v-if="!is_pro" class="description"><?php _e( 'Available in PRO version.', 'weforms' ); ?></p>
867 <p v-else class="description"><?php _e( 'Which user roles can access and create forms, manage form submissions.', 'weforms' ); ?></p>
868 </td>
869 </tr>
870 </table>
871 </div>
872
873 <div class="submit-wrapper">
874 <button v-on:click.prevent="saveSettings($event.target)" class="button button-primary"><?php _e( 'Save Changes', 'weforms' ); ?></button>
875 </div>
876 </div>
877
878 <div class="postbox">
879 <h3 class="hndle"><?php _e( 'reCaptcha', 'weforms' ); ?></h3>
880
881 <div class="inside">
882 <p class="help">
883 <?php printf( __( '<a href="%s" target="_blank">reCAPTCHA</a> is a free anti-spam service from Google which helps to protect your website from spam and abuse. Get <a href="%s" target="_blank">your API Keys</a>.', 'weforms' ), 'https://www.google.com/recaptcha/intro/', 'https://www.google.com/recaptcha/admin#list' ); ?>
884 </p>
885
886 <table class="form-table">
887 <tr>
888 <th><?php _e( 'Site key', 'weforms' ); ?></th>
889 <td>
890 <input type="text" v-model="settings.recaptcha.key" class="regular-text">
891 </td>
892 </tr>
893 <tr>
894 <th><?php _e( 'Secret key', 'weforms' ); ?></th>
895 <td>
896 <input type="text" v-model="settings.recaptcha.secret" class="regular-text">
897 </td>
898 </tr>
899 </table>
900 </div>
901
902 <div class="submit-wrapper">
903 <button v-on:click.prevent="saveSettings($event.target)" class="button button-primary"><?php _e( 'Save Changes', 'weforms' ); ?></button>
904 </div>
905 </div>
906
907 <?php do_action( 'weforms_settings' ); ?>
908 </div>
909 </div></script>
910