Version Description
- Fix recaptcha error (change default to normal)
- Prevent double submit clicks
- Make sure recaptcha English language setting applies
- Add placeholder color CSS
- Add frm_after_import_form action hook
- Add frm_send_email hook for stopping the email
- Add frm_upgrade_page hook
- Include field object in frm_prepare_data_before_db hook
- Fix nav errors when trying to edit form that doesn't exist
- Replace specific cache key deletion with group cache delete for more cache clearing fixes
- Added Norwegian (Bokml) translation
- Pro Features *
- Added pretty URLs to views
- Added month and year labels in credit card dropdowns
- Show user options for admin when editing user-limited dynamic field
- Added frm_load_dropzone hook for disabling dropzone
- Added frm_dynamic_field_user hook for dynamic fields.
- Load pro translations in plugin instead of allowing translations from wp.org to trump
- Fix error when editing a multi-page form with blank repeating section on separate page
- Add space next to collapsible section icons
- Fix required file error when file is present
- Fix clearing dependent autocomplete dropdown in repeating sections
- Update EDD updater
Download this release
Release Info
Developer | sswells |
Plugin | Formidable Forms – Form Builder for WordPress |
Version | 2.02.08 |
Comparing to | |
See all releases |
Code changes from version 2.02.07 to 2.02.08
- classes/controllers/FrmAppController.php +20 -19
- classes/helpers/FrmAppHelper.php +1 -1
- classes/helpers/FrmCSVExportHelper.php +2 -1
- classes/helpers/FrmFieldsHelper.php +6 -3
- classes/helpers/FrmXMLHelper.php +6 -4
- classes/models/FrmAddon.php +79 -26
- classes/models/FrmCreateFile.php +1 -1
- classes/models/FrmEDD_SL_Plugin_Updater.php +183 -180
- classes/models/FrmEntryMeta.php +7 -2
- classes/models/FrmFormAction.php +1 -1
- classes/models/FrmNotification.php +10 -0
- classes/models/FrmPointers.php +1 -1
- classes/models/FrmSettings.php +2 -2
- classes/views/addons/upgrade_to_pro.php +3 -1
- classes/views/frm-fields/back-end/dropdown-field.php +1 -1
- classes/views/frm-fields/front-end/dropdown-field.php +1 -1
- classes/views/frm-forms/add_field.php +1 -1
- classes/views/frm-settings/form.php +1 -0
- classes/views/styles/_sample_form.php +1 -1
- css/_single_theme.css.php +16 -0
- css/font_icons.css +4 -0
- formidable.php +1 -1
- js/formidable.js +13 -10
- js/formidable.min.js +56 -56
- languages/formidable-az_AZ.mo +0 -0
- languages/formidable-az_AZ.po +404 -397
- languages/formidable-de_DE.mo +0 -0
- languages/formidable-de_DE.po +425 -416
- languages/formidable-es_ES.mo +0 -0
- languages/formidable-es_ES.po +412 -405
- languages/formidable-fa_IR.mo +0 -0
- languages/formidable-fa_IR.po +7639 -0
- languages/formidable-it_IT.mo +0 -0
- languages/formidable-it_IT.po +7846 -0
- languages/formidable-ja_JP.mo +0 -0
- languages/formidable-ja_JP.po +405 -398
- languages/formidable-ko_KR.mo +0 -0
- languages/formidable-ko_KR.po +7637 -0
- languages/formidable-nb_NO.mo +0 -0
- languages/formidable-nb_NO.po +6 -139
classes/controllers/FrmAppController.php
CHANGED
@@ -24,37 +24,38 @@ class FrmAppController {
|
|
24 |
}
|
25 |
|
26 |
public static function get_form_nav( $form, $show_nav = false, $title = 'show' ) {
|
27 |
-
global $pagenow, $frm_vars;
|
28 |
-
|
29 |
$show_nav = FrmAppHelper::get_param( 'show_nav', $show_nav, 'get', 'absint' );
|
30 |
-
if ( empty( $show_nav ) ) {
|
31 |
return;
|
32 |
}
|
33 |
|
34 |
-
|
35 |
-
if (
|
36 |
-
|
37 |
}
|
38 |
|
39 |
-
|
40 |
-
|
|
|
41 |
|
42 |
-
|
43 |
-
|
44 |
-
}
|
45 |
-
}
|
46 |
|
47 |
-
|
48 |
-
|
49 |
-
}
|
50 |
|
51 |
-
$
|
|
|
|
|
|
|
|
|
|
|
52 |
|
53 |
-
|
54 |
-
|
55 |
|
56 |
private static function get_form_nav_items( $form ) {
|
57 |
-
$id =
|
58 |
|
59 |
$nav_items = array(
|
60 |
array(
|
24 |
}
|
25 |
|
26 |
public static function get_form_nav( $form, $show_nav = false, $title = 'show' ) {
|
|
|
|
|
27 |
$show_nav = FrmAppHelper::get_param( 'show_nav', $show_nav, 'get', 'absint' );
|
28 |
+
if ( empty( $show_nav ) || ! $form ) {
|
29 |
return;
|
30 |
}
|
31 |
|
32 |
+
FrmForm::maybe_get_form( $form );
|
33 |
+
if ( ! is_object( $form ) ) {
|
34 |
+
return;
|
35 |
}
|
36 |
|
37 |
+
$id = $form->id;
|
38 |
+
$current_page = self::get_current_page();
|
39 |
+
$nav_items = self::get_form_nav_items( $form );
|
40 |
|
41 |
+
include( FrmAppHelper::plugin_path() . '/classes/views/shared/form-nav.php' );
|
42 |
+
}
|
|
|
|
|
43 |
|
44 |
+
private static function get_current_page() {
|
45 |
+
global $pagenow;
|
|
|
46 |
|
47 |
+
$page = FrmAppHelper::simple_get( 'page', 'sanitize_title' );
|
48 |
+
$post_type = FrmAppHelper::simple_get( 'post_type', 'sanitize_title', 'None' );
|
49 |
+
$current_page = isset( $_GET['page'] ) ? $page : $post_type;
|
50 |
+
if ( $pagenow == 'post.php' || $pagenow == 'post-new.php' ) {
|
51 |
+
$current_page = 'frm_display';
|
52 |
+
}
|
53 |
|
54 |
+
return $current_page;
|
55 |
+
}
|
56 |
|
57 |
private static function get_form_nav_items( $form ) {
|
58 |
+
$id = $form->parent_form_id ? $form->parent_form_id : $form->id;
|
59 |
|
60 |
$nav_items = array(
|
61 |
array(
|
classes/helpers/FrmAppHelper.php
CHANGED
@@ -10,7 +10,7 @@ class FrmAppHelper {
|
|
10 |
/**
|
11 |
* @since 2.0
|
12 |
*/
|
13 |
-
public static $plug_version = '2.02.
|
14 |
|
15 |
/**
|
16 |
* @since 1.07.02
|
10 |
/**
|
11 |
* @since 2.0
|
12 |
*/
|
13 |
+
public static $plug_version = '2.02.08';
|
14 |
|
15 |
/**
|
16 |
* @since 1.07.02
|
classes/helpers/FrmCSVExportHelper.php
CHANGED
@@ -1,6 +1,7 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
class FrmCSVExportHelper{
|
|
|
4 |
protected static $separator = ', ';
|
5 |
protected static $column_separator = ',';
|
6 |
protected static $line_break = 'return';
|
1 |
<?php
|
2 |
|
3 |
+
class FrmCSVExportHelper {
|
4 |
+
|
5 |
protected static $separator = ', ';
|
6 |
protected static $column_separator = ',';
|
7 |
protected static $line_break = 'return';
|
classes/helpers/FrmFieldsHelper.php
CHANGED
@@ -122,7 +122,7 @@ class FrmFieldsHelper {
|
|
122 |
'size' => '', 'max' => '', 'label' => '', 'blank' => '',
|
123 |
'required_indicator' => '*', 'invalid' => '', 'separate_value' => 0,
|
124 |
'clear_on_focus' => 0, 'default_blank' => 0, 'classes' => '',
|
125 |
-
'custom_html' => '', 'captcha_size' => '
|
126 |
);
|
127 |
|
128 |
if ( $limit ) {
|
@@ -473,14 +473,17 @@ DEFAULT_HTML;
|
|
473 |
$class_prefix = 'frm-';
|
474 |
}
|
475 |
|
476 |
-
|
477 |
$api_js_url .= '&hl=' . $lang;
|
478 |
-
|
479 |
$api_js_url = apply_filters( 'frm_recaptcha_js_url', $api_js_url );
|
480 |
|
481 |
wp_register_script( 'recaptcha-api', $api_js_url, '', true );
|
482 |
wp_enqueue_script( 'recaptcha-api' );
|
483 |
|
|
|
|
|
|
|
484 |
?>
|
485 |
<div id="field_<?php echo esc_attr( $field['field_key'] ) ?>" class="<?php echo esc_attr( $class_prefix ) ?>g-recaptcha" data-sitekey="<?php echo esc_attr( $frm_settings->pubkey ) ?>" data-size="<?php echo esc_attr( $field['captcha_size'] ) ?>" data-theme="<?php echo esc_attr( $field['captcha_theme'] ) ?>"></div>
|
486 |
<?php
|
122 |
'size' => '', 'max' => '', 'label' => '', 'blank' => '',
|
123 |
'required_indicator' => '*', 'invalid' => '', 'separate_value' => 0,
|
124 |
'clear_on_focus' => 0, 'default_blank' => 0, 'classes' => '',
|
125 |
+
'custom_html' => '', 'captcha_size' => 'normal', 'captcha_theme' => 'light',
|
126 |
);
|
127 |
|
128 |
if ( $limit ) {
|
473 |
$class_prefix = 'frm-';
|
474 |
}
|
475 |
|
476 |
+
if ( ! empty( $lang ) ) {
|
477 |
$api_js_url .= '&hl=' . $lang;
|
478 |
+
}
|
479 |
$api_js_url = apply_filters( 'frm_recaptcha_js_url', $api_js_url );
|
480 |
|
481 |
wp_register_script( 'recaptcha-api', $api_js_url, '', true );
|
482 |
wp_enqueue_script( 'recaptcha-api' );
|
483 |
|
484 |
+
// for reverse compatability
|
485 |
+
$field['captcha_size'] = ( $field['captcha_size'] == 'default' ) ? 'normal' : $field['captcha_size'];
|
486 |
+
|
487 |
?>
|
488 |
<div id="field_<?php echo esc_attr( $field['field_key'] ) ?>" class="<?php echo esc_attr( $class_prefix ) ?>g-recaptcha" data-sitekey="<?php echo esc_attr( $frm_settings->pubkey ) ?>" data-size="<?php echo esc_attr( $field['captcha_size'] ) ?>" data-theme="<?php echo esc_attr( $field['captcha_theme'] ) ?>"></div>
|
489 |
<?php
|
classes/helpers/FrmXMLHelper.php
CHANGED
@@ -81,7 +81,7 @@ class FrmXMLHelper {
|
|
81 |
|
82 |
public static function import_xml_terms( $terms, $imported ) {
|
83 |
foreach ( $terms as $t ) {
|
84 |
-
if ( term_exists((string) $t->term_slug, (string) $t->term_taxonomy) ) {
|
85 |
continue;
|
86 |
}
|
87 |
|
@@ -139,7 +139,7 @@ class FrmXMLHelper {
|
|
139 |
'editable' => (int) $item->editable,
|
140 |
'status' => (string) $item->status,
|
141 |
'parent_form_id' => isset($item->parent_form_id) ? (int) $item->parent_form_id : 0,
|
142 |
-
'created_at' => date('Y-m-d H:i:s', strtotime((string) $item->created_at)),
|
143 |
);
|
144 |
|
145 |
$form['options'] = FrmAppHelper::maybe_json_decode($form['options']);
|
@@ -206,6 +206,8 @@ class FrmXMLHelper {
|
|
206 |
// Send pre 2.0 form options through function that creates actions
|
207 |
self::migrate_form_settings_to_actions( $form['options'], $form_id, $imported, $switch = true );
|
208 |
|
|
|
|
|
209 |
unset($form, $item);
|
210 |
}
|
211 |
|
@@ -506,8 +508,8 @@ class FrmXMLHelper {
|
|
506 |
'post_id' => (int) $item->post_id,
|
507 |
'post_parent' => (int) $item->post_parent,
|
508 |
'menu_order' => (int) $item->menu_order,
|
509 |
-
'post_content' => FrmFieldsHelper::switch_field_ids((string) $item->content),
|
510 |
-
'post_excerpt' => FrmFieldsHelper::switch_field_ids((string) $item->excerpt),
|
511 |
'is_sticky' => (string) $item->is_sticky,
|
512 |
'comment_status' => (string) $item->comment_status,
|
513 |
'post_date' => (string) $item->post_date,
|
81 |
|
82 |
public static function import_xml_terms( $terms, $imported ) {
|
83 |
foreach ( $terms as $t ) {
|
84 |
+
if ( term_exists( (string) $t->term_slug, (string) $t->term_taxonomy ) ) {
|
85 |
continue;
|
86 |
}
|
87 |
|
139 |
'editable' => (int) $item->editable,
|
140 |
'status' => (string) $item->status,
|
141 |
'parent_form_id' => isset($item->parent_form_id) ? (int) $item->parent_form_id : 0,
|
142 |
+
'created_at' => date( 'Y-m-d H:i:s', strtotime( (string) $item->created_at ) ),
|
143 |
);
|
144 |
|
145 |
$form['options'] = FrmAppHelper::maybe_json_decode($form['options']);
|
206 |
// Send pre 2.0 form options through function that creates actions
|
207 |
self::migrate_form_settings_to_actions( $form['options'], $form_id, $imported, $switch = true );
|
208 |
|
209 |
+
do_action( 'frm_after_import_form', $form_id, $form );
|
210 |
+
|
211 |
unset($form, $item);
|
212 |
}
|
213 |
|
508 |
'post_id' => (int) $item->post_id,
|
509 |
'post_parent' => (int) $item->post_parent,
|
510 |
'menu_order' => (int) $item->menu_order,
|
511 |
+
'post_content' => FrmFieldsHelper::switch_field_ids( (string) $item->content ),
|
512 |
+
'post_excerpt' => FrmFieldsHelper::switch_field_ids( (string) $item->excerpt ),
|
513 |
'is_sticky' => (string) $item->is_sticky,
|
514 |
'comment_status' => (string) $item->comment_status,
|
515 |
'post_date' => (string) $item->post_date,
|
classes/models/FrmAddon.php
CHANGED
@@ -53,6 +53,7 @@ class FrmAddon {
|
|
53 |
|
54 |
public function edd_plugin_updater() {
|
55 |
|
|
|
56 |
$license = $this->license;
|
57 |
|
58 |
if ( empty( $license ) ) {
|
@@ -89,6 +90,7 @@ class FrmAddon {
|
|
89 |
public function clear_license() {
|
90 |
delete_option( $this->option_name . 'active' );
|
91 |
delete_option( $this->option_name . 'key' );
|
|
|
92 |
}
|
93 |
|
94 |
public function set_active( $is_active ) {
|
@@ -163,6 +165,26 @@ class FrmAddon {
|
|
163 |
update_option( 'frm_last_cleared', date('Y-m-d H:i:s') );
|
164 |
}
|
165 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
166 |
public static function activate() {
|
167 |
FrmAppHelper::permission_check('frm_change_settings');
|
168 |
check_ajax_referer( 'frm_ajax', 'nonce' );
|
@@ -175,40 +197,70 @@ class FrmAddon {
|
|
175 |
$plugin_slug = sanitize_text_field( $_POST['plugin'] );
|
176 |
$this_plugin = self::get_addon( $plugin_slug );
|
177 |
$this_plugin->set_license( $license );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
178 |
|
179 |
-
$response = array( 'success' => false, 'message' => '' );
|
180 |
try {
|
181 |
-
$
|
|
|
182 |
|
183 |
// $license_data->license will be either "valid" or "invalid"
|
184 |
-
$is_valid = 'invalid';
|
185 |
if ( is_array( $license_data ) ) {
|
186 |
-
if ( $license_data['license']
|
187 |
-
$
|
188 |
-
$response['message'] = __( 'Your license has been activated. Enjoy!', 'formidable' );
|
189 |
-
$response['success'] = true;
|
190 |
-
} else if ( $license_data['license'] == 'invalid' ) {
|
191 |
-
$response['message'] = __( 'That license key is invalid', 'formidable' );
|
192 |
}
|
193 |
-
} else if ( $license_data == 'expired' ) {
|
194 |
-
$response['message'] = __( 'That license is expired', 'formidable' );
|
195 |
-
} else if ( $license_data == 'no_activations_left' ) {
|
196 |
-
$response['message'] = __( 'That license has been used on too many sites', 'formidable' );
|
197 |
-
} else if ( $license_data == 'invalid_item_id' ) {
|
198 |
-
$response['message'] = __( 'Oops! That is the wrong license key for this plugin.', 'formidable' );
|
199 |
-
} else if ( $license_data == 'missing' ) {
|
200 |
-
$response['message'] = __( 'That license key is invalid', 'formidable' );
|
201 |
} else {
|
202 |
-
$response['
|
203 |
}
|
204 |
-
|
205 |
-
$this_plugin->set_active( $is_valid );
|
206 |
} catch ( Exception $e ) {
|
207 |
-
$response['
|
208 |
}
|
209 |
|
210 |
-
|
211 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
212 |
}
|
213 |
|
214 |
public static function deactivate() {
|
@@ -218,11 +270,12 @@ class FrmAddon {
|
|
218 |
$plugin_slug = sanitize_text_field( $_POST['plugin'] );
|
219 |
$this_plugin = self::get_addon( $plugin_slug );
|
220 |
$license = $this_plugin->get_license();
|
|
|
221 |
|
222 |
$response = array( 'success' => false, 'message' => '' );
|
223 |
try {
|
224 |
// $license_data->license will be either "deactivated" or "failed"
|
225 |
-
$license_data = $this_plugin->send_mothership_request( 'deactivate_license'
|
226 |
if ( is_array( $license_data ) && $license_data['license'] == 'deactivated' ) {
|
227 |
$response['success'] = true;
|
228 |
$response['message'] = __( 'That license was removed successfully', 'formidable' );
|
@@ -239,10 +292,10 @@ class FrmAddon {
|
|
239 |
wp_die();
|
240 |
}
|
241 |
|
242 |
-
public function send_mothership_request( $action
|
243 |
$api_params = array(
|
244 |
'edd_action' => $action,
|
245 |
-
'license' => $license,
|
246 |
'item_name' => urlencode( $this->plugin_name ),
|
247 |
'url' => home_url(),
|
248 |
);
|
53 |
|
54 |
public function edd_plugin_updater() {
|
55 |
|
56 |
+
$this->is_license_revoked();
|
57 |
$license = $this->license;
|
58 |
|
59 |
if ( empty( $license ) ) {
|
90 |
public function clear_license() {
|
91 |
delete_option( $this->option_name . 'active' );
|
92 |
delete_option( $this->option_name . 'key' );
|
93 |
+
delete_site_transient( $this->transient_key() );
|
94 |
}
|
95 |
|
96 |
public function set_active( $is_active ) {
|
165 |
update_option( 'frm_last_cleared', date('Y-m-d H:i:s') );
|
166 |
}
|
167 |
|
168 |
+
private function is_license_revoked() {
|
169 |
+
if ( empty( $this->license ) || empty( $this->plugin_slug ) || isset( $_POST['license'] ) ) {
|
170 |
+
return;
|
171 |
+
}
|
172 |
+
|
173 |
+
$license_status = get_site_transient( $this->transient_key() );
|
174 |
+
|
175 |
+
if ( $license_status === false ) {
|
176 |
+
$response = $this->get_license_status();
|
177 |
+
set_site_transient( $this->transient_key(), $response, DAY_IN_SECONDS );
|
178 |
+
if ( $response['status'] == 'revoked' ) {
|
179 |
+
$this->clear_license();
|
180 |
+
}
|
181 |
+
}
|
182 |
+
}
|
183 |
+
|
184 |
+
private function transient_key() {
|
185 |
+
return 'frm_' . md5( sanitize_key( $this->license . '_' . $this->plugin_slug ) );
|
186 |
+
}
|
187 |
+
|
188 |
public static function activate() {
|
189 |
FrmAppHelper::permission_check('frm_change_settings');
|
190 |
check_ajax_referer( 'frm_ajax', 'nonce' );
|
197 |
$plugin_slug = sanitize_text_field( $_POST['plugin'] );
|
198 |
$this_plugin = self::get_addon( $plugin_slug );
|
199 |
$this_plugin->set_license( $license );
|
200 |
+
$this_plugin->license = $license;
|
201 |
+
|
202 |
+
$response = $this_plugin->get_license_status();
|
203 |
+
$response['message'] = '';
|
204 |
+
$response['success'] = false;
|
205 |
+
|
206 |
+
if ( $response['error'] ) {
|
207 |
+
$response['message'] = $response['status'];
|
208 |
+
} else {
|
209 |
+
$messages = $this_plugin->get_messages();
|
210 |
+
if ( is_string( $response['status'] ) && isset( $messages[ $response['status'] ] ) ) {
|
211 |
+
$response['message'] = $messages[ $response['status'] ];
|
212 |
+
} else {
|
213 |
+
$response['message'] = FrmAppHelper::kses( $response['status'], array( 'a' ) );
|
214 |
+
}
|
215 |
+
|
216 |
+
$is_valid = false;
|
217 |
+
if ( $response['status'] == 'valid' ) {
|
218 |
+
$is_valid = 'valid';
|
219 |
+
$response['success'] = true;
|
220 |
+
}
|
221 |
+
$this_plugin->set_active( $is_valid );
|
222 |
+
}
|
223 |
+
|
224 |
+
echo json_encode( $response );
|
225 |
+
wp_die();
|
226 |
+
}
|
227 |
+
|
228 |
+
private function get_license_status() {
|
229 |
+
$response = array( 'status' => 'missing', 'error' => true );
|
230 |
+
if ( empty( $this->license ) ) {
|
231 |
+
$response['error'] = false;
|
232 |
+
return $response;
|
233 |
+
}
|
234 |
|
|
|
235 |
try {
|
236 |
+
$response['error'] = false;
|
237 |
+
$license_data = $this->send_mothership_request( 'activate_license' );
|
238 |
|
239 |
// $license_data->license will be either "valid" or "invalid"
|
|
|
240 |
if ( is_array( $license_data ) ) {
|
241 |
+
if ( in_array( $license_data['license'], array( 'valid', 'invalid' ) ) ) {
|
242 |
+
$response['status'] = $license_data['license'];
|
|
|
|
|
|
|
|
|
243 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
244 |
} else {
|
245 |
+
$response['status'] = $license_data;
|
246 |
}
|
|
|
|
|
247 |
} catch ( Exception $e ) {
|
248 |
+
$response['status'] = $e->getMessage();
|
249 |
}
|
250 |
|
251 |
+
return $response;
|
252 |
+
}
|
253 |
+
|
254 |
+
private function get_messages() {
|
255 |
+
return array(
|
256 |
+
'valid' => __( 'Your license has been activated. Enjoy!', 'formidable' ),
|
257 |
+
'invalid' => __( 'That license key is invalid', 'formidable' ),
|
258 |
+
'expired' => __( 'That license is expired', 'formidable' ),
|
259 |
+
'revoked' => __( 'That license has been refunded', 'formidable' ),
|
260 |
+
'no_activations_left' => __( 'That license has been used on too many sites', 'formidable' ),
|
261 |
+
'invalid_item_id' => __( 'Oops! That is the wrong license key for this plugin.', 'formidable' ),
|
262 |
+
'missing' => __( 'That license key is invalid', 'formidable' ),
|
263 |
+
);
|
264 |
}
|
265 |
|
266 |
public static function deactivate() {
|
270 |
$plugin_slug = sanitize_text_field( $_POST['plugin'] );
|
271 |
$this_plugin = self::get_addon( $plugin_slug );
|
272 |
$license = $this_plugin->get_license();
|
273 |
+
$this_plugin->license = $license;
|
274 |
|
275 |
$response = array( 'success' => false, 'message' => '' );
|
276 |
try {
|
277 |
// $license_data->license will be either "deactivated" or "failed"
|
278 |
+
$license_data = $this_plugin->send_mothership_request( 'deactivate_license' );
|
279 |
if ( is_array( $license_data ) && $license_data['license'] == 'deactivated' ) {
|
280 |
$response['success'] = true;
|
281 |
$response['message'] = __( 'That license was removed successfully', 'formidable' );
|
292 |
wp_die();
|
293 |
}
|
294 |
|
295 |
+
public function send_mothership_request( $action ) {
|
296 |
$api_params = array(
|
297 |
'edd_action' => $action,
|
298 |
+
'license' => $this->license,
|
299 |
'item_name' => urlencode( $this->plugin_name ),
|
300 |
'url' => home_url(),
|
301 |
);
|
classes/models/FrmCreateFile.php
CHANGED
@@ -37,7 +37,7 @@ class FrmCreateFile {
|
|
37 |
// only write the file if the folders exist
|
38 |
if ( $dirs_exist ) {
|
39 |
global $wp_filesystem;
|
40 |
-
|
41 |
$new_file = $this->uploads['basedir'] . '/' . $this->folder_name . '/' . $this->file_name;
|
42 |
$wp_filesystem->put_contents( $new_file, $file_content, $this->chmod_file );
|
43 |
}
|
37 |
// only write the file if the folders exist
|
38 |
if ( $dirs_exist ) {
|
39 |
global $wp_filesystem;
|
40 |
+
|
41 |
$new_file = $this->uploads['basedir'] . '/' . $this->folder_name . '/' . $this->file_name;
|
42 |
$wp_filesystem->put_contents( $new_file, $file_content, $this->chmod_file );
|
43 |
}
|
classes/models/FrmEDD_SL_Plugin_Updater.php
CHANGED
@@ -12,191 +12,194 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
12 |
* Allows plugins to use their own update API.
|
13 |
*
|
14 |
* @author Pippin Williamson
|
15 |
-
* @version 1.6.
|
16 |
*/
|
17 |
class FrmEDD_SL_Plugin_Updater {
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
|
|
|
|
35 |
global $frm_edd_plugin_data;
|
36 |
|
37 |
-
$this->api_url
|
38 |
-
$this->api_data
|
39 |
-
$this->name
|
40 |
-
$this->slug
|
41 |
-
$this->version
|
|
|
42 |
|
43 |
$frm_edd_plugin_data[ $this->slug ] = $this->api_data;
|
44 |
|
45 |
// Set up hooks.
|
46 |
$this->init();
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
add_action( 'admin_init', array( $this, 'show_changelog' ) );
|
60 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
|
62 |
-
|
63 |
-
* Check for Updates at the defined API endpoint and modify the update array.
|
64 |
-
*
|
65 |
-
* This function dives into the update API just when WordPress creates its update array,
|
66 |
-
* then adds a custom API call and injects the custom plugin data retrieved from the API.
|
67 |
-
* It is reassembled from parts of the native WordPress plugin update code.
|
68 |
-
* See wp-includes/update.php line 121 for the original wp_update_plugins() function.
|
69 |
-
*
|
70 |
-
* @uses api_request()
|
71 |
-
*
|
72 |
-
* @param array $_transient_data Update array build by WordPress.
|
73 |
-
* @return array Modified update array with custom plugin data.
|
74 |
-
*/
|
75 |
-
public function check_update( $_transient_data ) {
|
76 |
-
|
77 |
-
global $pagenow;
|
78 |
-
|
79 |
-
if ( ! is_object( $_transient_data ) ) {
|
80 |
-
$_transient_data = new stdClass;
|
81 |
-
}
|
82 |
|
83 |
-
|
84 |
-
|
85 |
-
$version_info = $this->api_request( 'plugin_latest_version', array( 'slug' => $this->slug ) );
|
86 |
-
|
87 |
-
if ( false !== $version_info && is_object( $version_info ) && isset( $version_info->new_version ) ) {
|
88 |
-
|
89 |
-
if ( version_compare( $this->version, $version_info->new_version, '<' ) ) {
|
90 |
-
|
91 |
-
if ( empty( $version_info->plugin ) ) {
|
92 |
-
$version_info->plugin = $this->name;
|
93 |
-
}
|
94 |
-
|
95 |
-
$_transient_data->response[ $this->name ] = $version_info;
|
96 |
-
|
97 |
-
}
|
98 |
-
|
99 |
-
$_transient_data->last_checked = time();
|
100 |
-
$_transient_data->checked[ $this->name ] = $this->version;
|
101 |
-
|
102 |
-
}
|
103 |
-
}
|
104 |
-
|
105 |
-
return $_transient_data;
|
106 |
-
}
|
107 |
-
|
108 |
-
/**
|
109 |
-
* Updates information on the "View version x.x details" page with custom data.
|
110 |
-
*
|
111 |
-
* @uses api_request()
|
112 |
-
*
|
113 |
-
* @param mixed $_data
|
114 |
-
* @param string $_action
|
115 |
-
* @param object $_args
|
116 |
-
* @return object $_data
|
117 |
-
*/
|
118 |
-
public function plugins_api_filter( $_data, $_action = '', $_args = null ) {
|
119 |
-
|
120 |
-
if ( $_action != 'plugin_information' ) {
|
121 |
-
|
122 |
-
return $_data;
|
123 |
-
|
124 |
-
}
|
125 |
-
|
126 |
-
if ( ! isset( $_args->slug ) || ( $_args->slug != $this->slug ) ) {
|
127 |
-
|
128 |
-
return $_data;
|
129 |
-
|
130 |
-
}
|
131 |
-
|
132 |
-
$to_send = array(
|
133 |
-
'slug' => $this->slug,
|
134 |
-
'is_ssl' => is_ssl(),
|
135 |
-
'fields' => array(
|
136 |
-
'banners' => false, // These will be supported soon hopefully
|
137 |
-
'reviews' => false,
|
138 |
-
),
|
139 |
-
);
|
140 |
-
|
141 |
-
$api_response = $this->api_request( 'plugin_information', $to_send );
|
142 |
-
|
143 |
-
if ( false !== $api_response ) {
|
144 |
-
$_data = $api_response;
|
145 |
-
}
|
146 |
-
|
147 |
-
return $_data;
|
148 |
-
}
|
149 |
-
|
150 |
-
|
151 |
-
/**
|
152 |
-
* Disable SSL verification in order to prevent download update failures
|
153 |
-
*
|
154 |
-
* @param array $args
|
155 |
-
* @param string $url
|
156 |
-
* @return object $array
|
157 |
-
*/
|
158 |
-
public function http_request_args( $args, $url ) {
|
159 |
-
// If it is an https request and we are performing a package download, disable ssl verification
|
160 |
-
if ( strpos( $url, 'https://' ) !== false && strpos( $url, 'edd_action=package_download' ) ) {
|
161 |
-
$args['sslverify'] = false;
|
162 |
-
}
|
163 |
-
return $args;
|
164 |
-
}
|
165 |
-
|
166 |
-
/**
|
167 |
-
* Calls the API and, if successfull, returns the object delivered by the API.
|
168 |
-
*
|
169 |
-
* @uses get_bloginfo()
|
170 |
-
* @uses wp_remote_post()
|
171 |
-
* @uses is_wp_error()
|
172 |
-
*
|
173 |
-
* @param string $_action The requested action.
|
174 |
-
* @param array $_data Parameters for the API action.
|
175 |
-
* @return false|object
|
176 |
-
*/
|
177 |
-
private function api_request( $_action, $_data ) {
|
178 |
|
179 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
180 |
|
181 |
-
|
|
|
182 |
|
183 |
-
if ( $data['slug'] != $this->slug ) {
|
184 |
-
return;
|
185 |
}
|
186 |
|
187 |
-
|
188 |
-
|
189 |
-
}
|
190 |
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
200 |
|
201 |
$cache_key = 'edd_plugin_' . md5( sanitize_key( $api_params['license'] . $this->version ) . '_' . $api_params['edd_action'] );
|
202 |
$cached_response = get_transient( $cache_key );
|
@@ -205,24 +208,24 @@ class FrmEDD_SL_Plugin_Updater {
|
|
205 |
return $cached_response;
|
206 |
}
|
207 |
|
208 |
-
|
209 |
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
|
214 |
-
|
215 |
-
|
216 |
set_transient( $cache_key, $request, DAY_IN_SECONDS );
|
217 |
-
|
218 |
-
|
219 |
set_transient( $cache_key, 0, DAY_IN_SECONDS );
|
220 |
-
|
221 |
|
222 |
-
|
223 |
-
|
224 |
|
225 |
-
|
226 |
|
227 |
global $frm_edd_plugin_data;
|
228 |
|
@@ -278,5 +281,5 @@ class FrmEDD_SL_Plugin_Updater {
|
|
278 |
}
|
279 |
|
280 |
exit;
|
281 |
-
|
282 |
}
|
12 |
* Allows plugins to use their own update API.
|
13 |
*
|
14 |
* @author Pippin Williamson
|
15 |
+
* @version 1.6.5
|
16 |
*/
|
17 |
class FrmEDD_SL_Plugin_Updater {
|
18 |
+
|
19 |
+
private $api_url = '';
|
20 |
+
private $api_data = array();
|
21 |
+
private $name = '';
|
22 |
+
private $slug = '';
|
23 |
+
private $version = '';
|
24 |
+
private $wp_override = false;
|
25 |
+
|
26 |
+
/**
|
27 |
+
* Class constructor.
|
28 |
+
*
|
29 |
+
* @uses plugin_basename()
|
30 |
+
* @uses hook()
|
31 |
+
*
|
32 |
+
* @param string $_api_url The URL pointing to the custom API endpoint.
|
33 |
+
* @param string $_plugin_file Path to the plugin file.
|
34 |
+
* @param array $_api_data Optional data to send with API calls.
|
35 |
+
*/
|
36 |
+
public function __construct( $_api_url, $_plugin_file, $_api_data = null ) {
|
37 |
global $frm_edd_plugin_data;
|
38 |
|
39 |
+
$this->api_url = trailingslashit( $_api_url );
|
40 |
+
$this->api_data = $_api_data;
|
41 |
+
$this->name = plugin_basename( $_plugin_file );
|
42 |
+
$this->slug = basename( $_plugin_file, '.php' );
|
43 |
+
$this->version = $_api_data['version'];
|
44 |
+
$this->wp_override = isset( $_api_data['wp_override'] ) ? (bool) $_api_data['wp_override'] : false;
|
45 |
|
46 |
$frm_edd_plugin_data[ $this->slug ] = $this->api_data;
|
47 |
|
48 |
// Set up hooks.
|
49 |
$this->init();
|
50 |
+
}
|
51 |
+
|
52 |
+
/**
|
53 |
+
* Set up WordPress filters to hook into WP's update process.
|
54 |
+
*
|
55 |
+
* @uses add_filter()
|
56 |
+
*
|
57 |
+
* @return void
|
58 |
+
*/
|
59 |
+
public function init() {
|
60 |
+
add_filter( 'pre_set_site_transient_update_plugins', array( $this, 'check_update' ) );
|
61 |
+
add_filter( 'plugins_api', array( $this, 'plugins_api_filter' ), 10, 3 );
|
62 |
add_action( 'admin_init', array( $this, 'show_changelog' ) );
|
63 |
+
}
|
64 |
+
|
65 |
+
/**
|
66 |
+
* Check for Updates at the defined API endpoint and modify the update array.
|
67 |
+
*
|
68 |
+
* This function dives into the update API just when WordPress creates its update array,
|
69 |
+
* then adds a custom API call and injects the custom plugin data retrieved from the API.
|
70 |
+
* It is reassembled from parts of the native WordPress plugin update code.
|
71 |
+
* See wp-includes/update.php line 121 for the original wp_update_plugins() function.
|
72 |
+
*
|
73 |
+
* @uses api_request()
|
74 |
+
*
|
75 |
+
* @param array $_transient_data Update array build by WordPress.
|
76 |
+
* @return array Modified update array with custom plugin data.
|
77 |
+
*/
|
78 |
+
public function check_update( $_transient_data ) {
|
79 |
+
|
80 |
+
global $pagenow;
|
81 |
+
|
82 |
+
if ( ! is_object( $_transient_data ) ) {
|
83 |
+
$_transient_data = new stdClass;
|
84 |
+
}
|
85 |
+
|
86 |
+
if ( ! empty( $_transient_data->response ) && ! empty( $_transient_data->response[ $this->name ] ) && false === $this->wp_override ) {
|
87 |
+
return $_transient_data;
|
88 |
+
}
|
89 |
|
90 |
+
$version_info = $this->api_request( 'plugin_latest_version', array( 'slug' => $this->slug ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
91 |
|
92 |
+
if ( false !== $version_info && is_object( $version_info ) && isset( $version_info->new_version ) ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
93 |
|
94 |
+
if ( version_compare( $this->version, $version_info->new_version, '<' ) ) {
|
95 |
+
|
96 |
+
if ( empty( $version_info->plugin ) ) {
|
97 |
+
$version_info->plugin = $this->name;
|
98 |
+
}
|
99 |
+
|
100 |
+
$_transient_data->response[ $this->name ] = $version_info;
|
101 |
+
|
102 |
+
}
|
103 |
|
104 |
+
$_transient_data->last_checked = time();
|
105 |
+
$_transient_data->checked[ $this->name ] = $this->version;
|
106 |
|
|
|
|
|
107 |
}
|
108 |
|
109 |
+
return $_transient_data;
|
110 |
+
}
|
|
|
111 |
|
112 |
+
/**
|
113 |
+
* Updates information on the "View version x.x details" page with custom data.
|
114 |
+
*
|
115 |
+
* @uses api_request()
|
116 |
+
*
|
117 |
+
* @param mixed $_data
|
118 |
+
* @param string $_action
|
119 |
+
* @param object $_args
|
120 |
+
* @return object $_data
|
121 |
+
*/
|
122 |
+
public function plugins_api_filter( $_data, $_action = '', $_args = null ) {
|
123 |
+
|
124 |
+
if ( $_action != 'plugin_information' ) {
|
125 |
+
|
126 |
+
return $_data;
|
127 |
+
|
128 |
+
}
|
129 |
+
|
130 |
+
if ( ! isset( $_args->slug ) || ( $_args->slug != $this->slug ) ) {
|
131 |
+
|
132 |
+
return $_data;
|
133 |
+
|
134 |
+
}
|
135 |
+
|
136 |
+
$to_send = array(
|
137 |
+
'slug' => $this->slug,
|
138 |
+
'is_ssl' => is_ssl(),
|
139 |
+
'fields' => array(
|
140 |
+
'banners' => false, // These will be supported soon hopefully
|
141 |
+
'reviews' => false,
|
142 |
+
),
|
143 |
+
);
|
144 |
+
|
145 |
+
$api_response = $this->api_request( 'plugin_information', $to_send );
|
146 |
+
|
147 |
+
if ( false !== $api_response ) {
|
148 |
+
$_data = $api_response;
|
149 |
+
}
|
150 |
+
|
151 |
+
return $_data;
|
152 |
+
}
|
153 |
+
|
154 |
+
/**
|
155 |
+
* Disable SSL verification in order to prevent download update failures
|
156 |
+
*
|
157 |
+
* @param array $args
|
158 |
+
* @param string $url
|
159 |
+
* @return object $array
|
160 |
+
*/
|
161 |
+
public function http_request_args( $args, $url ) {
|
162 |
+
// If it is an https request and we are performing a package download, disable ssl verification
|
163 |
+
if ( strpos( $url, 'https://' ) !== false && strpos( $url, 'edd_action=package_download' ) ) {
|
164 |
+
$args['sslverify'] = false;
|
165 |
+
}
|
166 |
+
return $args;
|
167 |
+
}
|
168 |
+
|
169 |
+
/**
|
170 |
+
* Calls the API and, if successfull, returns the object delivered by the API.
|
171 |
+
*
|
172 |
+
* @uses get_bloginfo()
|
173 |
+
* @uses wp_remote_post()
|
174 |
+
* @uses is_wp_error()
|
175 |
+
*
|
176 |
+
* @param string $_action The requested action.
|
177 |
+
* @param array $_data Parameters for the API action.
|
178 |
+
* @return false|object
|
179 |
+
*/
|
180 |
+
private function api_request( $_action, $_data ) {
|
181 |
+
|
182 |
+
global $wp_version;
|
183 |
+
|
184 |
+
$data = array_merge( $this->api_data, $_data );
|
185 |
+
|
186 |
+
if ( $data['slug'] != $this->slug ) {
|
187 |
+
return;
|
188 |
+
}
|
189 |
+
|
190 |
+
if ( $this->api_url == trailingslashit( home_url() ) ) {
|
191 |
+
return false; // Don't allow a plugin to ping itself
|
192 |
+
}
|
193 |
+
|
194 |
+
$api_params = array(
|
195 |
+
'edd_action' => 'get_version',
|
196 |
+
'license' => ! empty( $data['license'] ) ? $data['license'] : '',
|
197 |
+
'item_name' => isset( $data['item_name'] ) ? $data['item_name'] : false,
|
198 |
+
'item_id' => isset( $data['item_id'] ) ? $data['item_id'] : false,
|
199 |
+
'slug' => $data['slug'],
|
200 |
+
'author' => $data['author'],
|
201 |
+
'url' => home_url(),
|
202 |
+
);
|
203 |
|
204 |
$cache_key = 'edd_plugin_' . md5( sanitize_key( $api_params['license'] . $this->version ) . '_' . $api_params['edd_action'] );
|
205 |
$cached_response = get_transient( $cache_key );
|
208 |
return $cached_response;
|
209 |
}
|
210 |
|
211 |
+
$request = wp_remote_post( $this->api_url, array( 'timeout' => 15, 'sslverify' => false, 'body' => $api_params ) );
|
212 |
|
213 |
+
if ( ! is_wp_error( $request ) ) {
|
214 |
+
$request = json_decode( wp_remote_retrieve_body( $request ) );
|
215 |
+
}
|
216 |
|
217 |
+
if ( $request && isset( $request->sections ) ) {
|
218 |
+
$request->sections = maybe_unserialize( $request->sections );
|
219 |
set_transient( $cache_key, $request, DAY_IN_SECONDS );
|
220 |
+
} else {
|
221 |
+
$request = false;
|
222 |
set_transient( $cache_key, 0, DAY_IN_SECONDS );
|
223 |
+
}
|
224 |
|
225 |
+
return $request;
|
226 |
+
}
|
227 |
|
228 |
+
public function show_changelog() {
|
229 |
|
230 |
global $frm_edd_plugin_data;
|
231 |
|
281 |
}
|
282 |
|
283 |
exit;
|
284 |
+
}
|
285 |
}
|
classes/models/FrmEntryMeta.php
CHANGED
@@ -67,8 +67,13 @@ class FrmEntryMeta {
|
|
67 |
$prev_values = FrmDb::get_col( $wpdb->prefix . 'frm_item_metas', array( 'item_id' => $entry_id, 'field_id !' => 0 ), 'field_id' );
|
68 |
|
69 |
foreach ( $values as $field_id => $meta_value ) {
|
70 |
-
|
71 |
-
|
|
|
|
|
|
|
|
|
|
|
72 |
|
73 |
if ( $prev_values && in_array($field_id, $prev_values) ) {
|
74 |
|
67 |
$prev_values = FrmDb::get_col( $wpdb->prefix . 'frm_item_metas', array( 'item_id' => $entry_id, 'field_id !' => 0 ), 'field_id' );
|
68 |
|
69 |
foreach ( $values as $field_id => $meta_value ) {
|
70 |
+
$field = false;
|
71 |
+
if ( ! empty( $field_id ) ) {
|
72 |
+
$field = FrmField::getOne( $field_id );
|
73 |
+
}
|
74 |
+
|
75 |
+
// set the value for the file upload field and add new tags (in Pro version)
|
76 |
+
$meta_value = apply_filters( 'frm_prepare_data_before_db', $meta_value, $field_id, $entry_id, compact( 'field' ) );
|
77 |
|
78 |
if ( $prev_values && in_array($field_id, $prev_values) ) {
|
79 |
|
classes/models/FrmFormAction.php
CHANGED
@@ -589,7 +589,7 @@ class FrmFormAction {
|
|
589 |
|
590 |
// update form options
|
591 |
$wpdb->update( $wpdb->prefix . 'frm_forms', array( 'options' => $form->options ), array( 'id' => $form->id ) );
|
592 |
-
|
593 |
}
|
594 |
|
595 |
return $post_id;
|
589 |
|
590 |
// update form options
|
591 |
$wpdb->update( $wpdb->prefix . 'frm_forms', array( 'options' => $form->options ), array( 'id' => $form->id ) );
|
592 |
+
FrmForm::clear_form_cache();
|
593 |
}
|
594 |
|
595 |
return $post_id;
|
classes/models/FrmNotification.php
CHANGED
@@ -358,6 +358,16 @@ class FrmNotification {
|
|
358 |
'to_email' => $atts['to_email'], 'subject' => $atts['subject'],
|
359 |
) );
|
360 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
361 |
if ( apply_filters('frm_encode_subject', 1, $atts['subject'] ) ) {
|
362 |
$atts['subject'] = '=?' . $charset . '?B?' . base64_encode( $atts['subject'] ) . '?=';
|
363 |
}
|
358 |
'to_email' => $atts['to_email'], 'subject' => $atts['subject'],
|
359 |
) );
|
360 |
|
361 |
+
/**
|
362 |
+
* Stop an email based on the message, subject, recipient,
|
363 |
+
* or any information included in the email header
|
364 |
+
* @since 2.2.8
|
365 |
+
*/
|
366 |
+
$continue_sending = apply_filters( 'frm_send_email', true, compact( 'message', 'subject', 'recipient', 'header' ) );
|
367 |
+
if ( ! $continue_sending ) {
|
368 |
+
return;
|
369 |
+
}
|
370 |
+
|
371 |
if ( apply_filters('frm_encode_subject', 1, $atts['subject'] ) ) {
|
372 |
$atts['subject'] = '=?' . $charset . '?B?' . base64_encode( $atts['subject'] ) . '?=';
|
373 |
}
|
classes/models/FrmPointers.php
CHANGED
@@ -329,7 +329,7 @@ class FrmPointers {
|
|
329 |
'content' => '<h3>' . __( 'Addons', 'formidable' ) . '</h3>'
|
330 |
. '<p>' . sprintf( __( 'The powerful functions of %1$s can be extended with %2$spremium plugins%3$s. You can read all about the Formidable Premium Plugins %2$shere%3$s.', 'formidable' ), 'Formidable', '<a target="_blank" href="' . esc_url( FrmAppHelper::make_affiliate_url( 'https://formidablepro.com/' ) ) . '">', '</a>' )
|
331 |
. '</p>'
|
332 |
-
. '<p><strong>' . __( 'Like this plugin?', 'formidable' ) . '</strong><br/>' . sprintf( __( 'So, we’ve come to the end of the tour. If you like the plugin, please %srate it 5 stars on WordPress.org%s!', 'formidable' ), '<a target="_blank" href="https://wordpress.org/plugins/formidable/">', '</a>' ) . '</p>'
|
333 |
. '<p>' . sprintf( __( 'Thank you for using our plugin and good luck with your forms!<br/><br/>Best,<br/>Team Formidable - %1$sformidablepro.com%2$s', 'formidable' ), '<a target="_blank" href="' . esc_url( FrmAppHelper::make_affiliate_url( 'https://formidablepro.com/' ) ) . '">', '</a>' ) . '</p>',
|
334 |
'prev_page' => 'settings',
|
335 |
);
|
329 |
'content' => '<h3>' . __( 'Addons', 'formidable' ) . '</h3>'
|
330 |
. '<p>' . sprintf( __( 'The powerful functions of %1$s can be extended with %2$spremium plugins%3$s. You can read all about the Formidable Premium Plugins %2$shere%3$s.', 'formidable' ), 'Formidable', '<a target="_blank" href="' . esc_url( FrmAppHelper::make_affiliate_url( 'https://formidablepro.com/' ) ) . '">', '</a>' )
|
331 |
. '</p>'
|
332 |
+
. '<p><strong>' . __( 'Like this plugin?', 'formidable' ) . '</strong><br/>' . sprintf( __( 'So, we’ve come to the end of the tour. If you like the plugin, please %1$srate it 5 stars on WordPress.org%2$s!', 'formidable' ), '<a target="_blank" href="https://wordpress.org/plugins/formidable/">', '</a>' ) . '</p>'
|
333 |
. '<p>' . sprintf( __( 'Thank you for using our plugin and good luck with your forms!<br/><br/>Best,<br/>Team Formidable - %1$sformidablepro.com%2$s', 'formidable' ), '<a target="_blank" href="' . esc_url( FrmAppHelper::make_affiliate_url( 'https://formidablepro.com/' ) ) . '">', '</a>' ) . '</p>',
|
334 |
'prev_page' => 'settings',
|
335 |
);
|
classes/models/FrmSettings.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
class FrmSettings{
|
4 |
public $option_name = 'frm_options';
|
5 |
public $menu;
|
6 |
public $mu_menu;
|
@@ -147,7 +147,7 @@ class FrmSettings{
|
|
147 |
|
148 |
private function fill_recaptcha_settings() {
|
149 |
$privkey = '';
|
150 |
-
|
151 |
|
152 |
if ( ! isset($this->pubkey) ) {
|
153 |
// get the options from the database
|
1 |
<?php
|
2 |
|
3 |
+
class FrmSettings {
|
4 |
public $option_name = 'frm_options';
|
5 |
public $menu;
|
6 |
public $mu_menu;
|
147 |
|
148 |
private function fill_recaptcha_settings() {
|
149 |
$privkey = '';
|
150 |
+
$re_lang = '';
|
151 |
|
152 |
if ( ! isset($this->pubkey) ) {
|
153 |
// get the options from the database
|
classes/views/addons/upgrade_to_pro.php
CHANGED
@@ -9,7 +9,7 @@
|
|
9 |
|
10 |
<p>Enhance your basic Formidable forms with a plethora of Pro field types and features. Create advanced forms and data-driven applications in no time at all.</p>
|
11 |
<p>Are you collecting data offline? Streamline your business by using your forms to get online. Whether you need surveys, polls, client contracts, mortgage calculators, or directories, we've got you covered. Save time by allowing clients to return and make changes to their own submissions, or let them contribute content to your site. Generate more leads by adding headings and page breaks, only showing the fields you need, and letting your clients repeat a section of fields as many times as they need.</p>
|
12 |
-
<p>Projects that once seemed impossible are within your reach with Pro. That project you’ve been dreaming of pursuing? Chances are <strong>Formidable Pro can handle it</strong>.</p
|
13 |
|
14 |
<table class="wp-list-table widefat fixed striped frm_pricing">
|
15 |
<thead>
|
@@ -66,6 +66,8 @@
|
|
66 |
</table>
|
67 |
<br/>
|
68 |
|
|
|
|
|
69 |
<h2>Features</h2>
|
70 |
<table class="wp-list-table widefat fixed striped">
|
71 |
<thead>
|
9 |
|
10 |
<p>Enhance your basic Formidable forms with a plethora of Pro field types and features. Create advanced forms and data-driven applications in no time at all.</p>
|
11 |
<p>Are you collecting data offline? Streamline your business by using your forms to get online. Whether you need surveys, polls, client contracts, mortgage calculators, or directories, we've got you covered. Save time by allowing clients to return and make changes to their own submissions, or let them contribute content to your site. Generate more leads by adding headings and page breaks, only showing the fields you need, and letting your clients repeat a section of fields as many times as they need.</p>
|
12 |
+
<p>Projects that once seemed impossible are within your reach with Pro. That project you’ve been dreaming of pursuing? Chances are <strong>Formidable Pro can handle it</strong>.</p><br/>
|
13 |
|
14 |
<table class="wp-list-table widefat fixed striped frm_pricing">
|
15 |
<thead>
|
66 |
</table>
|
67 |
<br/>
|
68 |
|
69 |
+
<?php do_action( 'frm_upgrade_page' ); ?>
|
70 |
+
|
71 |
<h2>Features</h2>
|
72 |
<table class="wp-list-table widefat fixed striped">
|
73 |
<thead>
|
classes/views/frm-fields/back-end/dropdown-field.php
CHANGED
@@ -32,4 +32,4 @@ if ( $display['default_blank'] ) { ?>
|
|
32 |
</ul>
|
33 |
<?php
|
34 |
} ?>
|
35 |
-
</div>
|
32 |
</ul>
|
33 |
<?php
|
34 |
} ?>
|
35 |
+
</div>
|
classes/views/frm-fields/front-end/dropdown-field.php
CHANGED
@@ -38,4 +38,4 @@ if ( isset($field['post_field']) && $field['post_field'] == 'post_category' && F
|
|
38 |
'value' => $other_args['value'], 'field' => $field,
|
39 |
'html_id' => $html_id, 'opt_key' => false,
|
40 |
) );
|
41 |
-
}
|
38 |
'value' => $other_args['value'], 'field' => $field,
|
39 |
'html_id' => $html_id, 'opt_key' => false,
|
40 |
) );
|
41 |
+
}
|
classes/views/frm-forms/add_field.php
CHANGED
@@ -250,7 +250,7 @@ if ( $display['options'] ) { ?>
|
|
250 |
<span class="frm_help frm_icon_font frm_tooltip_icon" title="<?php esc_attr_e( 'Set the size of the captcha field. The compact option is best if your form is in a small area.', 'formidable' ) ?>" ></span>
|
251 |
</td>
|
252 |
<td><select name="field_options[captcha_size_<?php echo esc_attr( $field['id'] ) ?>]">
|
253 |
-
<option value="
|
254 |
<option value="compact"<?php selected($field['captcha_size'], 'compact'); ?>><?php _e( 'Compact', 'formidable' ) ?></option>
|
255 |
</select>
|
256 |
</td>
|
250 |
<span class="frm_help frm_icon_font frm_tooltip_icon" title="<?php esc_attr_e( 'Set the size of the captcha field. The compact option is best if your form is in a small area.', 'formidable' ) ?>" ></span>
|
251 |
</td>
|
252 |
<td><select name="field_options[captcha_size_<?php echo esc_attr( $field['id'] ) ?>]">
|
253 |
+
<option value="normal"<?php selected($field['captcha_size'], 'normal'); ?>><?php _e( 'Normal', 'formidable' ) ?></option>
|
254 |
<option value="compact"<?php selected($field['captcha_size'], 'compact'); ?>><?php _e( 'Compact', 'formidable' ) ?></option>
|
255 |
</select>
|
256 |
</td>
|
classes/views/frm-settings/form.php
CHANGED
@@ -85,6 +85,7 @@
|
|
85 |
|
86 |
<p><label class="frm_left_label"><?php _e( 'reCAPTCHA Language', 'formidable' ) ?></label>
|
87 |
<select name="frm_re_lang" id="frm_re_lang">
|
|
|
88 |
<?php foreach ( $captcha_lang as $lang => $lang_name ) { ?>
|
89 |
<option value="<?php echo esc_attr($lang) ?>" <?php selected($frm_settings->re_lang, $lang) ?>><?php echo esc_html( $lang_name ) ?></option>
|
90 |
<?php } ?>
|
85 |
|
86 |
<p><label class="frm_left_label"><?php _e( 'reCAPTCHA Language', 'formidable' ) ?></label>
|
87 |
<select name="frm_re_lang" id="frm_re_lang">
|
88 |
+
<option value="" <?php selected( $frm_settings->re_lang, '' ) ?>><?php esc_html_e( 'Browser Default', 'formidable' ); ?></option>
|
89 |
<?php foreach ( $captcha_lang as $lang => $lang_name ) { ?>
|
90 |
<option value="<?php echo esc_attr($lang) ?>" <?php selected($frm_settings->re_lang, $lang) ?>><?php echo esc_html( $lang_name ) ?></option>
|
91 |
<?php } ?>
|
classes/views/styles/_sample_form.php
CHANGED
@@ -39,7 +39,7 @@
|
|
39 |
</div>
|
40 |
|
41 |
<div class="frm_form_field frm_section_heading form-field frm_first frm_half">
|
42 |
-
<h3 class="frm_pos_top frm_trigger active frm_section_spacing"><i class="frm_icon_font frm_arrow_icon frm_before_collapse"></i
|
43 |
<div class="frm_toggle_container">
|
44 |
|
45 |
|
39 |
</div>
|
40 |
|
41 |
<div class="frm_form_field frm_section_heading form-field frm_first frm_half">
|
42 |
+
<h3 class="frm_pos_top frm_trigger active frm_section_spacing"><i class="frm_icon_font frm_arrow_icon frm_before_collapse"></i><?php _e( 'Collapsible Section', 'formidable' ) ?><i class="frm_icon_font frm_arrow_icon frm_after_collapse"></i></h3>
|
43 |
<div class="frm_toggle_container">
|
44 |
|
45 |
|
css/_single_theme.css.php
CHANGED
@@ -465,6 +465,22 @@ if ( ! isset( $center_form ) ) {
|
|
465 |
border-color:#<?php echo esc_html( $border_color_disabled . $important ) ?>;
|
466 |
}
|
467 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
468 |
|
469 |
.<?php echo esc_html( $style_class ) ?> .form-field input:not([type=file]):focus,
|
470 |
.<?php echo esc_html( $style_class ) ?> select:focus,
|
465 |
border-color:#<?php echo esc_html( $border_color_disabled . $important ) ?>;
|
466 |
}
|
467 |
|
468 |
+
.<?php echo esc_html( $style_class ) ?> input::placeholder{
|
469 |
+
color:#<?php echo esc_html( $text_color_disabled . $important ) ?>;
|
470 |
+
}
|
471 |
+
.<?php echo esc_html( $style_class ) ?> input::-webkit-input-placeholder{
|
472 |
+
color:#<?php echo esc_html( $text_color_disabled . $important ) ?>;
|
473 |
+
}
|
474 |
+
.<?php echo esc_html( $style_class ) ?> input::-moz-placeholder{
|
475 |
+
color:#<?php echo esc_html( $text_color_disabled . $important ) ?>;
|
476 |
+
}
|
477 |
+
.<?php echo esc_html( $style_class ) ?> input:-ms-input-placeholder{
|
478 |
+
color:#<?php echo esc_html( $text_color_disabled . $important ) ?>;
|
479 |
+
}
|
480 |
+
.<?php echo esc_html( $style_class ) ?> input:-moz-placeholder{
|
481 |
+
color:#<?php echo esc_html( $text_color_disabled . $important ) ?>;
|
482 |
+
}
|
483 |
+
|
484 |
|
485 |
.<?php echo esc_html( $style_class ) ?> .form-field input:not([type=file]):focus,
|
486 |
.<?php echo esc_html( $style_class ) ?> select:focus,
|
css/font_icons.css
CHANGED
@@ -40,6 +40,10 @@ a.frm_icon_font:hover{
|
|
40 |
outline:none;
|
41 |
}
|
42 |
|
|
|
|
|
|
|
|
|
43 |
.ab-icon.frm_dashicon_font:before{
|
44 |
content: "\f324";
|
45 |
}
|
40 |
outline:none;
|
41 |
}
|
42 |
|
43 |
+
.frm_trigger .frm_icon_font{
|
44 |
+
padding:0 5px;
|
45 |
+
}
|
46 |
+
|
47 |
.ab-icon.frm_dashicon_font:before{
|
48 |
content: "\f324";
|
49 |
}
|
formidable.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/*
|
3 |
Plugin Name: Formidable
|
4 |
Description: Quickly and easily create drag-and-drop forms
|
5 |
-
Version: 2.02.
|
6 |
Plugin URI: http://formidablepro.com/
|
7 |
Author URI: http://strategy11.com
|
8 |
Author: Strategy11
|
2 |
/*
|
3 |
Plugin Name: Formidable
|
4 |
Description: Quickly and easily create drag-and-drop forms
|
5 |
+
Version: 2.02.08
|
6 |
Plugin URI: http://formidablepro.com/
|
7 |
Author URI: http://strategy11.com
|
8 |
Author: Strategy11
|
js/formidable.js
CHANGED
@@ -177,12 +177,6 @@ function frmFrontFormJS(){
|
|
177 |
}
|
178 |
});
|
179 |
|
180 |
-
this.on('removedfile', function( file ) {
|
181 |
-
if ( uploadFields[i].uploadMultiple !== true ) {
|
182 |
-
jQuery('input[name="'+ fieldName +'"]').val('');
|
183 |
-
}
|
184 |
-
});
|
185 |
-
|
186 |
this.on('complete', function( file ) {
|
187 |
if ( typeof file.mediaID !== 'undefined' ) {
|
188 |
if ( uploadFields[i].uploadMultiple ) {
|
@@ -209,7 +203,11 @@ function frmFrontFormJS(){
|
|
209 |
});
|
210 |
|
211 |
this.on('removedfile', function( file ) {
|
212 |
-
if (
|
|
|
|
|
|
|
|
|
213 |
jQuery(file.previewElement).remove();
|
214 |
var fileCount = this.files.length;
|
215 |
this.options.maxFiles = uploadFields[i].maxFiles - fileCount;
|
@@ -1226,7 +1224,8 @@ function frmFrontFormJS(){
|
|
1226 |
inputs[i].selectedIndex = 0;
|
1227 |
}
|
1228 |
|
1229 |
-
var
|
|
|
1230 |
if ( autocomplete !== null ) {
|
1231 |
jQuery(inputs[i]).trigger('chosen:updated');
|
1232 |
}
|
@@ -2077,6 +2076,7 @@ function frmFrontFormJS(){
|
|
2077 |
var $fieldInputs = $fieldDiv.find( 'select[name^="item_meta"], input[name^="item_meta"]' );
|
2078 |
var prevValue = getFieldValueFromInputs( $fieldInputs );
|
2079 |
var defaultVal = $fieldInputs.data('frmval');
|
|
|
2080 |
|
2081 |
addLoadingIcon( $fieldDiv );
|
2082 |
|
@@ -2090,6 +2090,7 @@ function frmFrontFormJS(){
|
|
2090 |
field_id:depFieldArgs.fieldId,
|
2091 |
default_value:defaultVal,
|
2092 |
container_id:depFieldArgs.containerId,
|
|
|
2093 |
prev_val:prevValue,
|
2094 |
nonce:frm_js.nonce
|
2095 |
},
|
@@ -3036,8 +3037,6 @@ function frmFrontFormJS(){
|
|
3036 |
}
|
3037 |
|
3038 |
function getFormErrors(object, action){
|
3039 |
-
jQuery(object).find('input[type="submit"], input[type="button"]').attr('disabled','disabled');
|
3040 |
-
|
3041 |
if(typeof action == 'undefined'){
|
3042 |
jQuery(object).find('input[name="frm_action"]').val();
|
3043 |
}
|
@@ -3933,6 +3932,10 @@ function frmFrontFormJS(){
|
|
3933 |
|
3934 |
if ( Object.keys(errors).length === 0 ) {
|
3935 |
jQuery(object).find('.frm_ajax_loading').addClass('frm_loading_now');
|
|
|
|
|
|
|
|
|
3936 |
if ( classList.indexOf('frm_ajax_submit') > -1 ) {
|
3937 |
var hasFileFields = jQuery(object).find('input[type="file"]').length;
|
3938 |
if ( hasFileFields < 1 ) {
|
177 |
}
|
178 |
});
|
179 |
|
|
|
|
|
|
|
|
|
|
|
|
|
180 |
this.on('complete', function( file ) {
|
181 |
if ( typeof file.mediaID !== 'undefined' ) {
|
182 |
if ( uploadFields[i].uploadMultiple ) {
|
203 |
});
|
204 |
|
205 |
this.on('removedfile', function( file ) {
|
206 |
+
if ( file.accepted && uploadFields[i].uploadMultiple !== true ) {
|
207 |
+
jQuery('input[name="'+ fieldName +'"]').val('');
|
208 |
+
}
|
209 |
+
|
210 |
+
if ( file.accepted && typeof file.mediaID !== 'undefined' ) {
|
211 |
jQuery(file.previewElement).remove();
|
212 |
var fileCount = this.files.length;
|
213 |
this.options.maxFiles = uploadFields[i].maxFiles - fileCount;
|
1224 |
inputs[i].selectedIndex = 0;
|
1225 |
}
|
1226 |
|
1227 |
+
var chosenId = inputs[i].id.replace(/[^\w]/g, '_'); // match what the script is doing
|
1228 |
+
var autocomplete = document.getElementById( chosenId + '_chosen' );
|
1229 |
if ( autocomplete !== null ) {
|
1230 |
jQuery(inputs[i]).trigger('chosen:updated');
|
1231 |
}
|
2076 |
var $fieldInputs = $fieldDiv.find( 'select[name^="item_meta"], input[name^="item_meta"]' );
|
2077 |
var prevValue = getFieldValueFromInputs( $fieldInputs );
|
2078 |
var defaultVal = $fieldInputs.data('frmval');
|
2079 |
+
var editingEntry = $fieldDiv.closest('form').find('input[name="id"]').val();
|
2080 |
|
2081 |
addLoadingIcon( $fieldDiv );
|
2082 |
|
2090 |
field_id:depFieldArgs.fieldId,
|
2091 |
default_value:defaultVal,
|
2092 |
container_id:depFieldArgs.containerId,
|
2093 |
+
editing_entry:editingEntry,
|
2094 |
prev_val:prevValue,
|
2095 |
nonce:frm_js.nonce
|
2096 |
},
|
3037 |
}
|
3038 |
|
3039 |
function getFormErrors(object, action){
|
|
|
|
|
3040 |
if(typeof action == 'undefined'){
|
3041 |
jQuery(object).find('input[name="frm_action"]').val();
|
3042 |
}
|
3932 |
|
3933 |
if ( Object.keys(errors).length === 0 ) {
|
3934 |
jQuery(object).find('.frm_ajax_loading').addClass('frm_loading_now');
|
3935 |
+
|
3936 |
+
// Disable submit button
|
3937 |
+
jQuery(object).find('input[type="submit"], input[type="button"]').attr('disabled','disabled');
|
3938 |
+
|
3939 |
if ( classList.indexOf('frm_ajax_submit') > -1 ) {
|
3940 |
var hasFileFields = jQuery(object).find('input[type="file"]').length;
|
3941 |
if ( hasFileFields < 1 ) {
|
js/formidable.min.js
CHANGED
@@ -3,11 +3,11 @@ function frmFrontFormJS(){function l(a){var b=jQuery(this),c=b.attr("type");"sub
|
|
3 |
for(var d=0,e=0;e<a.length;e++)if(a[e].triggerID=="#"+b||a[e].triggerID==c)d=e;""!==a[d].options.defaultDate&&(a[d].options.defaultDate=new Date(a[d].options.defaultDate));jQuery(this).datepicker(jQuery.extend(jQuery.datepicker.regional[a[d].locale],a[d].options))}}function v(a){if("undefined"!==typeof __frmDropzone)for(var b=__frmDropzone,c=0;c<b.length;c++)z(c,a)}function z(a,b){var c=__frmDropzone,d="#"+c[a].htmlID+"_dropzone",e=c[a].fieldName;"undefined"!==typeof b&&-1!==d.indexOf("-0_dropzone")&&
|
4 |
(d=d.replace("-0_dropzone","-"+b+"_dropzone"),e=e.replace("[0]","["+b+"]"),delete c[a].mockFiles);d=jQuery(d);if(!(1>d.length||d.hasClass("dz-clickable"))){var f=c[a].maxFiles;if("undefined"!==typeof c[a].mockFiles){var h=c[a].mockFiles.length;0<f&&(f-=h)}var h=d.closest("form"),g=h.find('input[type="submit"], .frm_submit input[type="button"]'),k=h.find(".frm_ajax_loading");d.dropzone({url:frm_js.ajax_url,addRemoveLinks:!0,paramName:d.attr("id").replace("_dropzone",""),maxFilesize:c[a].maxFilesize,
|
5 |
maxFiles:f,uploadMultiple:c[a].uploadMultiple,dictDefaultMessage:c[a].defaultMessage,dictFallbackMessage:c[a].fallbackMessage,dictFallbackText:c[a].fallbackText,dictFileTooBig:c[a].fileTooBig,dictInvalidFileType:c[a].invalidFileType,dictResponseError:c[a].responseError,dictCancelUpload:c[a].cancel,dictCancelUploadConfirmation:c[a].cancelConfirm,dictRemoveFile:c[a].remove,dictMaxFilesExceeded:c[a].maxFilesExceeded,fallback:function(){jQuery(this.element).closest("form").removeClass("frm_ajax_submit")},
|
6 |
-
init:function(){this.on("sending",function(b,d,e){e.append("action","frm_submit_dropzone");e.append("field_id",c[a].fieldID);e.append("form_id",c[a].formID)});this.on("success",function(b,d){for(var f=jQuery.parseJSON(d),g=0;g<f.length;g++)!0!==c[a].uploadMultiple&&jQuery('input[name="'+e+'"]').val(f[g])});this.on("successmultiple",function(b,d){for(var f=jQuery.parseJSON(d),g=0;g<b.length;g++)jQuery(b[g].previewElement).append(y(c[a],f[g],e))});this.on("
|
7 |
-
jQuery(
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
jQuery(this).closest(".frm_checkbox").children(".frm_other_input").addClass("frm_pos_none").val(""))}function G(a){var b=q(this,!1);if(b&&"undefined"!==typeof b&&(!a.frmTriggered||a.frmTriggered!=b)&&(ea(b,jQuery(this)),a="undefined"!==typeof a.originalEvent||-1<a.currentTarget.className.indexOf("frm_chzn")?"value changed":"other",fa(b,jQuery(this),a),L(b,jQuery(this)),jQuery(this).closest("form").hasClass("frm_js_validate"))){b=[];a=jQuery(this).closest(".frm_form_field");a.hasClass("frm_required_field")&&
|
12 |
!jQuery(this).hasClass("frm_optional")&&(b=ga(this,b));if(1>b.length)if("email"==this.type)var c=jQuery(this).closest("form").find("input[type=email]"),b=ha(this,b,c);else"number"==this.type?b=ia(this,b):null!==this.pattern&&(b=ja(this,b));a.removeClass("frm_blank_field");a.find(".frm_error").remove();if(0<Object.keys(b).length)for(var d in b)M(a,d,b)}}function q(a,b){var c="",c=a instanceof jQuery?a.attr("name"):a.name;if(""===c)return c=a instanceof jQuery?a.data("name"):a.getAttribute("data-name"),
|
13 |
""!==c&&c?c:0;c=c.replace("item_meta[","").replace("[]","").split("]");if(1>c.length)return 0;var c=c.filter(function(a){return""!==a}),d=c[0],e=!1;if(1===c.length)return d;if("[form"===c[1]||"[row_ids"===c[1])return 0;jQuery('input[name="item_meta['+d+'][form]"]').length&&(d=c[2].replace("[",""),e=!0);"other"===d&&(d=e?c[3].replace("[",""):c[1].replace("[",""));!0===b&&(d=d===c[0]?d+"-"+c[1].replace("[",""):d+"-"+c[0]+"-"+c[1].replace("[",""));return d}function ea(a,b){if(!("undefined"===typeof __FRMRULES||
|
@@ -24,47 +24,47 @@ function frmFrontFormJS(){function l(a){var b=jQuery(this),c=b.attr("type");"sub
|
|
24 |
0,l=k.length;m<l;m++)if("hidden"==k[m].type)jQuery.isArray(g)&&null!==g[m]?k[m].value=g[m]:k[m].value=g;else{if(k[m].value==g||jQuery.isArray(g)&&-1<g.indexOf(k[m].value))if(k[m].checked=!0,"radio"==k[m].type)break}else if(-1<d.name.indexOf("[]"))if(k=document.getElementsByName(d.name),jQuery.isArray(g))for(m=0,l=g.length;m<l;m++)m in k&&(k[m].value=g[m]);else null!==k[0]&&(k[0].value=g);else g.constructor===Object&&(k=d.getAttribute("name").split("[").slice(-1)[0],null!==k&&(k=k.replace("]",""),
|
25 |
g=g[k],"undefined"==typeof g&&(g=""))),d.value=g;"SELECT"==d.tagName&&U(d);u(h)}d=a[f];h=q(d,!1);h=V(h);!1!==h&&"lookup"!=h.fieldType&&(h.parentVals=W(h),ua(h,d));d=a[f];if(h="undefined"!==typeof __FRMCALC){h=d.type;g=!1;if("text"==h||"hidden"==h||"number"==h)g=!0;h=g}if(h){h=__FRMCALC;g=d.name;k=d.id.replace("field_","");if(3<=g.split("][").length)for(g=k.split("-"),k="",m=0;m<g.length-1;m++)k=""===k?g[m]:k+"-"+g[m];g=k;k=null;3<=d.name.split("][").length&&(k="hidden"!=d.type?jQuery(d).closest(".frm_form_field"):
|
26 |
jQuery(d));d=k;void 0!==h.calc[g]&&X(h,g,[],d)}d=a[f]}}function T(a,b){var c=q(a,!0);return B("frm_field_"+c+"_container",b)}function P(a,b){if(!B(a.containerId,a.formId)){if(b){jQuery("#"+a.containerId).hide();var c=na(a.containerId)}else c=pa(a);Y(c);va(a.containerId,a.formId)}}function Y(a){if(!(1>a.length)){for(var b,c=!0,d=0,e=a.length;d<e;d++)0<d&&b.name!=a[d].name&&!0===c&&u(jQuery(b)),c=!0,"radio"==a[d].type||"checkbox"==a[d].type?a[d].checked=!1:"SELECT"==a[d].tagName?(0===a[d].selectedIndex?
|
27 |
-
c=!1:a[d].selectedIndex=0,null!==document.getElementById(
|
28 |
-
|
29 |
-
"frm_field_"+a.fieldId+"-",d=d+(b.repeatingSection+"-"+b.repeatRow+"_container");b=document.getElementById(d);null!==b&&c.push(b);b=c}else b=[],a.isRepeating?b=document.querySelectorAll(".frm_field_"+a.fieldId+"_container"):(c=document.getElementById("frm_field_"+a.fieldId+"_container"),null!==c&&b.push(c));c=0;for(d=b.length;c<d;c++){ka(a,b[c].id);var e=a,f=b[c];e.parentVals=W(e);if("select"==e.inputType)Va(e,f);else if("radio"==e.inputType||"checkbox"==e.inputType)if(!1===
|
30 |
-
wa(e,f);Y(h)}else Wa(e,f)}}else if("value changed"===c)for(c="field_"+a.fieldKey,c=a.isRepeating?""!==b.repeatingSection?'[id="'+c+"-"+b.repeatRow+'"]':'[id^="'+c+'-"]':'[id="'+c+'"]',b=document.querySelectorAll(c),c=0,d=b.length;c<d;c++)e=a,f=H(b[c].name),e.repeatRow=""!==f.repeatRow?f.repeatRow:"",e=a,f=b[c],e.parentVals=W(e),ua(e,f)}function V(a){return"undefined"===typeof __FRMLOOKUP||"undefined"===typeof __FRMLOOKUP[a]?!1:__FRMLOOKUP[a]}function W(a){for(var b=
|
31 |
-
|
32 |
-
field_id:a.fieldId,nonce:frm_js.nonce},success:function(b){var d=a.fieldKey,h=c.value;b=JSON.parse(b);for(var g=c.options.length;0<g;g--)c.remove(g);for(var k=b.length,g=0;g<k;g++)c.options[g+1]=new Option(b[g],b[g],!1,!1);c.value=h;""===c.value&&(b=c.getAttribute("data-frmval"),null!==b&&(c.value=b));U(c);c.value!=h&&u(jQuery(c),d)}}))}}function U(a){-1<a.className.indexOf("frm_chzn")&&jQuery().chosen&&jQuery(a).trigger("chosen:updated")}function Xa(a){a.value||(a.options.length=
|
33 |
-
"",!1,!1))}function Wa(a,b){var c=b.getElementsByClassName("frm_opt_container")[0],d=c.getElementsByTagName("input");Ya(b,c);var e="",e="radio"==a.inputType?sa(d):R(d);jQuery.ajax({type:"POST",url:frm_js.ajax_url,data:{action:"frm_replace_cb_radio_lookup_options",parent_fields:a.parents,parent_vals:a.parentVals,field_id:a.fieldId,row_index:a.repeatRow,current_value:e,nonce:frm_js.nonce},success:function(e){c.innerHTML=e;e=b.getElementsByClassName("frm-loading-img")[0];
|
34 |
-
c.style.display="block";1==d.length&&""===d[0].value?wa(a,b):!1!==B(b.id,a.formId)&&(e=N(a.fieldId),!1===e||1>e.conditions.length?(D(b.id,a.formId),jQuery("#"+b.id).show()):(e.containerId=b.id,e.repeatRow=a.repeatRow,la(e)));u(jQuery(d[0]),a.fieldKey)}})}function wa(a,b){B(b.id,a.formId)||(jQuery("#"+b.id).hide(),va(b.id,a.formId))}function ua(a,b){if(!T(b,a.formId))if(!1===a.parentVals){var c=b.getAttribute("data-frmval");null===c&&(c="");xa(a,b,
|
35 |
-
data:{action:"frm_get_lookup_text_value",parent_fields:a.parents,parent_vals:a.parentVals,field_id:a.fieldId,nonce:frm_js.nonce},success:function(c){b.value!=c&&xa(a.fieldKey,b,c)}})}function xa(a,b,c){b.value=c;u(jQuery(b),a)}function Ra(a,b){if(b){var c=jQuery("#"+a.containerId);ya(c)}jQuery.ajax({type:"POST",url:frm_js.ajax_url,data:{action:"frm_fields_ajax_get_data",entry_id:a.dataLogic.actualValue,current_field:a.fieldId,hide_id:a.containerId,
|
36 |
-
c.find(".frm_opt_container");e.html(d);var f=e.children("input"),h=f.val();za(e);""===d||""===h?P(a,!0):Aa(a,c,f,!0)}else e="field_"+a.fieldKey,""!==a.repeatRow&&(e+="-"+a.repeatRow),e=document.getElementById(e),e.value=d,B(a.containerId,a.formId)&&D(a.containerId,a.formId),u(jQuery(e))}})}function Sa(a,b){var c=jQuery("#"+a.containerId),d=c.find('select[name^="item_meta"], input[name^="item_meta"]'),e=Ba(d),d=d.data("frmval")
|
37 |
-
trigger_field_id:a.dataLogic.fieldId,entry_id:a.dataLogic.actualValue,field_id:a.fieldId,default_value:d,container_id:a.containerId,prev_val:e,nonce:frm_js.nonce},success:function(b){var d=c.find(".frm_opt_container");d.html(b);var
|
38 |
-
function Ya(a,b){if(!(-1<a.innerHTML.indexOf("frm-loading-img"))){b.style.display="none";var c=document.createElement("span");c.setAttribute("class","frm-loading-img");a.insertBefore(c,b.nextSibling)}}function za(a){a.parent().children(".frm-loading-img").remove();a.show()}function Ba(a){var b=[],c="";a.each(function(){c=this.value;"radio"===this.type||"checkbox"===this.type?!0===
|
39 |
-
(D(a.containerId,a.formId),b.show());c.hasClass("frm_chzn")&&aa();!0===d&&u(c)}function L(a,b){if("undefined"!==typeof __FRMCALC){var c=__FRMCALC,d=c.fields[a];if("undefined"!==typeof d)for(var d=d.total,e=[],f=0,h=d.length;f<h;f++){var g;g=c.calc[d[f]];var k=b.attr("name"),m=!1,l=g.field_id,n=E(g.form_id);1>n.length||("0"===g.inSection&&"0"===g.inEmbedForm?m=J(l,n):(k=H(k),J(l,
|
40 |
-
|
41 |
-
|
42 |
-
""+a.fields[f],thisField:c.fields[a.fields[f]],thisFieldCall:"input"+c.fieldKeys[a.fields[f]]},k=c;"checkbox"==g.thisField.type||"radio"==g.thisField.type||"scale"==g.thisField.type?g.thisFieldCall=g.thisFieldCall+":checked,"+g.thisFieldCall+"[type=hidden]":"select"==g.thisField.type||"time"==g.thisField.type?g.thisFieldCall="select"+k.fieldKeys[g.thisFieldId]+" option:selected,"+g.thisFieldCall+
|
43 |
-
if("text"==a.calc_type)g.valKey="text"+g.valKey,d=ab(g,d),"undefined"===typeof d[g.valKey]&&(d[g.valKey]="");else{g.valKey="num"+g.valKey;d=bb(g,c,d);if("undefined"===typeof d[g.valKey]||isNaN(d[g.valKey]))d[g.valKey]=0;"date"==g.thisField.type&&0===d[g.valKey]&&(b="")}k="["+g.thisFieldId+"]";k=k.replace(/([.*+?^=!:${}()|\[\]\/\\])/g,"\\$1");b=b.replace(new RegExp(k,"g"),d[g.valKey])}return b}
|
44 |
-
|
45 |
-
|
46 |
-
if(!1===a.inSection)b=jQuery(a.thisFieldCall);else if(b=Da(a),null===b||"undefined"===typeof b)b=jQuery(a.thisFieldCall);if(null===b||"undefined"===typeof b||1>b.length)b=!1;return b}function Da(a){if("undefined"===typeof a.triggerField)return null;var b=a.triggerField.closest(".frm_repeat_sec, .frm_repeat_inline, .frm_repeat_grid");return b.length?(a=a.thisFieldCall.replace("[id=","[id^="),b.find(a)):
|
47 |
-
b.className;d&&-1<d.indexOf("frm_other_trigger")&&(c=!0)}else("checkbox"==a.type||"radio"==a.type)&&-1<b.id.indexOf("-other_")&&0>b.id.indexOf("-otext")&&(c=!0);c?(c=0,"select"==a.type?"hidden"==b.type?(d=!1,2<b.name.split("[").length&&(d=!0),d||(c=ba(b))):c=jQuery(b).closest(".frm_other_container").find(".frm_other_input").val():"checkbox"!=a.type&&"radio"!=a.type||"hidden"==b.type||(c=ba(b))):
|
48 |
-
"");return c}function ba(a){var b="";a=document.getElementById(a.id+"-otext");null!==a&&""!==a.value&&(b=a.value);return b}function Ha(a){var b=!1;a=jQuery(a).find(".frm_saving_draft");a.length&&(b=a.val());return b}function Ia(a){var b=!1,c=jQuery(a).find(".frm_next_page");if(c.length&&c.val()){var d=jQuery(a).find('input[name="form_id"]').val();a=jQuery(a).find('input[name="frm_page_order_'+d+
|
49 |
-
if("hidden"==a.type&&null===c)return b;var d="",e="";if("checkbox"==a.type||"radio"==a.type)c=jQuery('input[name="'+a.name+'"]').closest(".frm_required_field").find("input:checked"),jQuery(c).each(function(){d=this.value});else if("file"==a.type||c)"undefined"===typeof c&&(c=q(a,!0),c=c.replace("file","")),"undefined"===typeof b[c]&&(d=cb(c)),e=c;else{e=a.className;if(-1!==e.indexOf("frm_pos_none"))return b;
|
50 |
-
|
51 |
-
g=F(a,"data-invmsg");""!==d&&!1===h.test(d)?(b[e]=g,f&&(b[e.replace("conf_","")]="")):f&&(a=a.name.replace("conf_",""),c.filter('[name="'+a+'"]').val()!==d&&(b[e]="",b[e.replace("conf_","")]=""))}return b}function ia(a,b){var c=a.value;""!==c&&!1!==isNaN(c/1)&&(c=q(a,!0),c in b||(b[c]=F(a,"data-invmsg")));return b}function ja(a,b){var c=a.value,
|
52 |
-
a
|
53 |
-
typeof b.redirect)window.location=b.redirect;else if(""!==b.content){jQuery(a).find(".frm_ajax_loading").removeClass("frm_loading_now");var e=jQuery(a).find('input[name="form_id"]').val();jQuery(a).closest("#frm_form_"+e+"_container").replaceWith(b.content);frmFrontForm.scrollMsg(e);"function"==typeof frmThemeOverride_frmAfterSubmit&&(e=jQuery('input[name="frm_page_order_'+e+'"]').val(),d=jQuery(b.content).find('input[name="form_id"]').val(),
|
54 |
-
e.length&&jQuery(document.getElementById("frm_edit_"+e.val())).find("a").addClass("frm_ajax_edited").click();jQuery(b.content).find(".frm_message").length&&ca("pageLoad");da()}else if(Object.keys(b.errors).length){jQuery(a).find('input[type="submit"], input[type="button"]').removeAttr("disabled");jQuery(a).find(".frm_ajax_loading").removeClass("frm_loading_now");d=!0;Ja();var f=!1,h;for(e in b.errors)if(h=jQuery(a).find("#frm_field_"+
|
55 |
-
|
56 |
-
a.submit()}})}function M(a,b,c){a.length&&a.is(":visible")&&(a.addClass("frm_blank_field"),"function"==typeof frmThemeOverride_frmPlaceError?frmThemeOverride_frmPlaceError(b,c):a.append('<div class="frm_error">'+c[b]+"</div>"))}function Ja(){jQuery(".form-field").removeClass("frm_blank_field");jQuery(".form-field .frm_error").replaceWith("");jQuery(".frm_error_style").remove()}
|
57 |
-
|
58 |
-
|
59 |
-
entry_id:b,form_id:c,nonce:frm_js.nonce},success:function(b){a.replaceWith(b)}});return!1}function ib(a,b){google.load("visualization","1.0",{packages:[b],callback:function(){var b=new google.visualization.DataTable,d=!1;-1!==jQuery.inArray("id",a.options.fields)&&(d=!0,b.addColumn("number",frm_js.id));for(var e=a.fields.length,f,h=0,g=e;h<g;h++){var k=a.fields[h];f=Na(k);b.addColumn(f,k.name)}h=!1;a.options.edit_link&&(h=!0,b.addColumn("string",
|
60 |
-
|
61 |
-
|
62 |
-
new google.visualization.DataTable;b=google.visualization.arrayToDataTable(a.data);var c=document.getElementById("chart_"+a.graph_id);if(null!==c){var d=a.type.charAt(0).toUpperCase()+a.type.slice(1);"Histogram"!==d&&"Table"!==d&&(d+="Chart");(new google.visualization[d](c)).draw(b,a.options)}}})}function Na(a){var b="string";if("number"==a.type)b="number";else if("checkbox"==a.type||"select"==a.type){var c=a.options.length;"select"==a.type&&""===
|
63 |
-
|
64 |
-
|
65 |
-
k,m={repeatingSection:a.toString(),repeatRow:b.toString()};jQuery(e).find("input, select, textarea").each(function(){if("file"!=this.type){if(""===this.name)return!0;g=this.name.replace("item_meta[","").split("]")[2].replace("[","");-1==jQuery.inArray(g,h)&&!1!==this.id&&""!==this.id&&(k=jQuery("#"+this.id),h.push(g),I(g,m),Z(g,m,"value changed"),ea(g,k),fa(g,k,"value changed"),L(g,k))}});v(m.repeatRow);Oa();aa();"function"==typeof frmThemeOverride_frmAddRow&&
|
66 |
-
error:function(){K=!1}});return!1}function mb(){var a=jQuery(this),b=a.data("entryid"),c=a.data("prefix"),d=a.data("pageid"),e=a.data("formid"),f=a.data("cancel"),h=a.data("fields"),g=a.data("excludefields"),k=jQuery(document.getElementById(c+b)),m=k.html();k.html('<span class="frm-loading-img" id="'+c+b+'"></span><div class="frm_orig_content" style="display:none">'+m+"</div>");jQuery.ajax({type:"POST",url:frm_js.ajax_url,dataType:"html",data:{action:"frm_entries_edit_entry_ajax",
|
67 |
-
id:e,nonce:frm_js.nonce,fields:h,exclude_fields:g},success:function(b){k.children(".frm-loading-img").replaceWith(b);a.removeClass("frm_inplace_edit").addClass("frm_cancel_edit");a.html(f);ca("editInPlace");jQuery(document).on("change",'.frm-show-form input[name^="item_meta"], .frm-show-form select[name^="item_meta"], .frm-show-form textarea[name^="item_meta"]',G);da()}});return!1}function nb(){var a=jQuery(this),b=a.data("entryid"),c=a.data("prefix"),d=a.data("edit");a.hasClass("frm_ajax_edited")||
|
68 |
(b=jQuery(document.getElementById(c+b)),b.children(".frm_forms").replaceWith(""),b.children(".frm_orig_content").fadeIn("slow").removeClass("frm_orig_content"));a.removeClass("frm_cancel_edit").addClass("frm_inplace_edit");a.html(d);return!1}function ob(){var a=jQuery(this),b=a.data("deleteconfirm");if(confirm(b)){var c=a.data("entryid"),d=a.data("prefix");a.replaceWith('<span class="frm-loading-img" id="frm_delete_'+c+'"></span>');jQuery.ajax({type:"POST",url:frm_js.ajax_url,data:{action:"frm_entries_destroy",
|
69 |
entry:c,nonce:frm_js.nonce},success:function(a){"success"==a.replace(/^\s+|\s+$/g,"")?(jQuery(document.getElementById(d+c)).fadeOut("slow"),jQuery(document.getElementById("frm_delete_"+c)).fadeOut("slow")):jQuery(document.getElementById("frm_delete_"+c)).replaceWith(a)}})}return!1}function da(){"undefined"!==typeof __frmHideFields&&frmFrontForm.hidePreviouslyHiddenFields();jQuery(document).on("focusin",".frm_date",r);if("undefined"!==typeof __frmUniqueTimes)for(var a=__frmUniqueTimes,b=0;b<a.length;b++)jQuery(document.getElementById(a[b].dateID)).change(p);
|
70 |
if("undefined"!==typeof __frmMasks)for(a=__frmMasks,b=0;b<a.length;b++)jQuery(a[b].trigger).attr("data-frmmask",a[b].mask);Oa();aa();"undefined"!==typeof __frmDepDynamicFields&&frmFrontForm.checkDependentDynamicFields(__frmDepDynamicFields);"undefined"!==typeof __frmDepLookupFields&&frmFrontForm.checkDependentLookupFields(__frmDepLookupFields);if("undefined"!==typeof __FRMCALC){(a=__FRMCALC.triggers)&&jQuery(a.join()).trigger({type:"change",selfTriggered:!0});var a=__FRMCALC.calc,b=[],c;for(c in a)if(1>
|
@@ -76,16 +76,16 @@ function frmFrontFormJS(){function l(a){var b=jQuery(this),c=b.attr("type");"sub
|
|
76 |
".frm_toggle_default",fb);jQuery(document).on("blur",".frm_toggle_default",gb);jQuery(".frm_toggle_default").blur();jQuery(document.getElementById("frm_resend_email")).click(hb);jQuery(document).on("click",".frm_remove_link",w);jQuery(document).on("focusin","input[data-frmmask]",function(){jQuery(this).mask(jQuery(this).data("frmmask").toString())});jQuery(document).on("change",'.frm-show-form input[name^="item_meta"], .frm-show-form select[name^="item_meta"], .frm-show-form textarea[name^="item_meta"]',
|
77 |
G);jQuery(document).on("click",'.frm-show-form input[type="submit"], .frm-show-form input[name="frm_prev_page"], .frm-show-form .frm_save_draft',l);jQuery(document).on("change",'.frm_other_container input[type="checkbox"], .frm_other_container input[type="radio"], .frm_other_container select',A);jQuery(document).on("click",".frm_remove_form_row",kb);jQuery(document).on("click",".frm_add_form_row",lb);jQuery(document).on("click","a[data-frmconfirm]",pb);jQuery("a[data-frmtoggle]").click(qb);jQuery(".frm_edit_link_container").on("click",
|
78 |
"a.frm_inplace_edit",mb);jQuery(".frm_edit_link_container").on("click","a.frm_cancel_edit",nb);jQuery(document).on("click",".frm_ajax_delete",ob);jQuery(".frm_month_heading, .frm_year_heading").click(function(){var a=jQuery(this).children(".ui-icon-triangle-1-e, .ui-icon-triangle-1-s");a.hasClass("ui-icon-triangle-1-e")?(a.addClass("ui-icon-triangle-1-s").removeClass("ui-icon-triangle-1-e"),jQuery(this).next(".frm_toggle_container").fadeIn("slow")):(a.addClass("ui-icon-triangle-1-e").removeClass("ui-icon-triangle-1-s"),
|
79 |
-
jQuery(this).next(".frm_toggle_container").hide())});ca("pageLoad");da();rb();sb();tb();ub()},submitForm:function(a){frmFrontForm.submitFormManual(a,this)},submitFormManual:function(a,b){var c=b.className.trim().split(/\s+/gi);if((!c||-1<c.indexOf("frm_pro_form"))&&!jQuery("body").hasClass("wp-admin")){a.preventDefault();var d=frmFrontForm.validateFormSubmit(b);0===Object.keys(d).length&&(jQuery(b).find(".frm_ajax_loading").addClass("frm_loading_now")
|
80 |
-
(C=jQuery(b).find('input[name="frm_action"]').val(),frmFrontForm.checkFormErrors(b,C)):b.submit():b.submit())}},validateFormSubmit:function(a){"undefined"!=typeof tinyMCE&&jQuery(this).find(".wp-editor-wrap").length&&tinyMCE.triggerSave();x=[];var b=jQuery(a).hasClass("frm_js_validate");b&&(Ha(a)||Ia(a))&&(b=!1);b&&(frmFrontForm.getAjaxFormErrors(a),Object.keys(x).length&&frmFrontForm.addAjaxFormErrors(a));return x},
|
81 |
-
if(c.length)for(var d=0,e=c.length;d<e;d++)b=ga(c[d],b);c=jQuery(a).find("input[type=email]").filter(":visible");d=jQuery(a).find("input,select,textarea");if(d.length)for(var e=0,f=d.length;e<f;e++){var h=d[e];""!==h.value&&"hidden"!=h.type&&("number"==h.type?b=ia(h,b):"email"==h.type?b=ha(h,b,c):null!==
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
function frmRecaptcha(){for(var l=jQuery(".frm-g-recaptcha"),n=0,p=l.length;n<p;n++){var r=grecaptcha.render(l[n].id,{sitekey:l[n].getAttribute("data-sitekey"),size:l[n].getAttribute("data-size"),theme:l[n].getAttribute("data-theme")});l[n].setAttribute("data-rid",r)}}
|
89 |
function frmUpdateField(l,n,p,r,v){jQuery(document.getElementById("frm_update_field_"+l+"_"+n)).html('<span class="frm-loading-img"></span>');jQuery.ajax({type:"POST",url:frm_js.ajax_url,data:{action:"frm_entries_update_field_ajax",entry_id:l,field_id:n,value:p,nonce:frm_js.nonce},success:function(){""===r.replace(/^\s+|\s+$/g,"")?jQuery(document.getElementById("frm_update_field_"+l+"_"+n+"_"+v)).fadeOut("slow"):jQuery(document.getElementById("frm_update_field_"+l+"_"+n+"_"+v)).replaceWith(r)}})}
|
90 |
function frmEditEntry(l,n,p,r,v,z){console.warn("DEPRECATED: function frmEditEntry in v2.0.13 use frmFrontForm.editEntry");var y=jQuery(document.getElementById("frm_edit_"+l)),w=y.html(),A=jQuery(document.getElementById(n+l)),G=A.html();A.html('<span class="frm-loading-img" id="'+n+l+'"></span><div class="frm_orig_content" style="display:none">'+G+"</div>");jQuery.ajax({type:"POST",url:frm_js.ajax_url,dataType:"html",data:{action:"frm_entries_edit_entry_ajax",post_id:p,entry_id:l,id:r,nonce:frm_js.nonce},
|
91 |
success:function(q){A.children(".frm-loading-img").replaceWith(q);y.replaceWith('<span id="frm_edit_'+l+'"><a onclick="frmCancelEdit('+l+",'"+n+"','"+frmFrontForm.escapeHtml(w)+"',"+p+","+r+",'"+z+'\')" class="'+z+'">'+v+"</a></span>")}})}
|
3 |
for(var d=0,e=0;e<a.length;e++)if(a[e].triggerID=="#"+b||a[e].triggerID==c)d=e;""!==a[d].options.defaultDate&&(a[d].options.defaultDate=new Date(a[d].options.defaultDate));jQuery(this).datepicker(jQuery.extend(jQuery.datepicker.regional[a[d].locale],a[d].options))}}function v(a){if("undefined"!==typeof __frmDropzone)for(var b=__frmDropzone,c=0;c<b.length;c++)z(c,a)}function z(a,b){var c=__frmDropzone,d="#"+c[a].htmlID+"_dropzone",e=c[a].fieldName;"undefined"!==typeof b&&-1!==d.indexOf("-0_dropzone")&&
|
4 |
(d=d.replace("-0_dropzone","-"+b+"_dropzone"),e=e.replace("[0]","["+b+"]"),delete c[a].mockFiles);d=jQuery(d);if(!(1>d.length||d.hasClass("dz-clickable"))){var f=c[a].maxFiles;if("undefined"!==typeof c[a].mockFiles){var h=c[a].mockFiles.length;0<f&&(f-=h)}var h=d.closest("form"),g=h.find('input[type="submit"], .frm_submit input[type="button"]'),k=h.find(".frm_ajax_loading");d.dropzone({url:frm_js.ajax_url,addRemoveLinks:!0,paramName:d.attr("id").replace("_dropzone",""),maxFilesize:c[a].maxFilesize,
|
5 |
maxFiles:f,uploadMultiple:c[a].uploadMultiple,dictDefaultMessage:c[a].defaultMessage,dictFallbackMessage:c[a].fallbackMessage,dictFallbackText:c[a].fallbackText,dictFileTooBig:c[a].fileTooBig,dictInvalidFileType:c[a].invalidFileType,dictResponseError:c[a].responseError,dictCancelUpload:c[a].cancel,dictCancelUploadConfirmation:c[a].cancelConfirm,dictRemoveFile:c[a].remove,dictMaxFilesExceeded:c[a].maxFilesExceeded,fallback:function(){jQuery(this.element).closest("form").removeClass("frm_ajax_submit")},
|
6 |
+
init:function(){this.on("sending",function(b,d,e){e.append("action","frm_submit_dropzone");e.append("field_id",c[a].fieldID);e.append("form_id",c[a].formID)});this.on("success",function(b,d){for(var f=jQuery.parseJSON(d),g=0;g<f.length;g++)!0!==c[a].uploadMultiple&&jQuery('input[name="'+e+'"]').val(f[g])});this.on("successmultiple",function(b,d){for(var f=jQuery.parseJSON(d),g=0;g<b.length;g++)jQuery(b[g].previewElement).append(y(c[a],f[g],e))});this.on("complete",function(b){if("undefined"!==typeof b.mediaID){c[a].uploadMultiple&&
|
7 |
+
jQuery(b.previewElement).append(y(c[a],b.mediaID,e));for(var d=b.previewElement.querySelectorAll("[data-dz-name]"),f=0,g=d.length;f<g;f++)d[f].innerHTML='<a href="'+b.url+'">'+b.name+"</a>"}});this.on("addedfile",function(){k.addClass("frm_loading_now");g.attr("disabled","disabled")});this.on("queuecomplete",function(){k.removeClass("frm_loading_now");g.removeAttr("disabled")});this.on("removedfile",function(b){b.accepted&&!0!==c[a].uploadMultiple&&jQuery('input[name="'+e+'"]').val("");b.accepted&&
|
8 |
+
"undefined"!==typeof b.mediaID&&(jQuery(b.previewElement).remove(),this.options.maxFiles=c[a].maxFiles-this.files.length)});if("undefined"!==typeof c[a].mockFiles)for(var b=0;b<c[a].mockFiles.length;b++){var d={name:c[a].mockFiles[b].name,size:c[a].mockFiles[b].size,url:c[a].mockFiles[b].file_url,mediaID:c[a].mockFiles[b].id};this.emit("addedfile",d);this.emit("thumbnail",d,c[a].mockFiles[b].url);this.emit("complete",d);this.files.push(d)}}})}}function y(a,b,c){return'<input name="'+c+'[]" type="hidden" value="'+
|
9 |
+
b+'" data-frmfile="'+a.fieldID+'" />'}function w(){var a=jQuery(this).data("frm-remove");Pa(jQuery(this).parent(".dz-preview"));a=jQuery('input[name="'+a+'"]');a.length&&a.val("")}function A(){var a=this.type,b=!1,c=!1;if("select-one"===a)c=!0,"frm_other_trigger"===this.options[this.selectedIndex].className&&(b=!0);else if("select-multiple"===a)for(var c=!0,d=this.options,b=!1,e=0;e<d.length;e++)if("frm_other_trigger"===d[e].className&&d[e].selected){b=!0;break}c?(a=jQuery(this).parent().children(".frm_other_input"),
|
10 |
+
a.length&&(b?a[0].className=a[0].className.replace("frm_pos_none",""):(1>a[0].className.indexOf("frm_pos_none")&&(a[0].className+=" frm_pos_none"),a[0].value=""))):"radio"===a?jQuery(this).is(":checked")&&(jQuery(this).closest(".frm_radio").children(".frm_other_input").removeClass("frm_pos_none"),jQuery(this).closest(".frm_radio").siblings().children(".frm_other_input").addClass("frm_pos_none").val("")):"checkbox"===a&&(this.checked?jQuery(this).closest(".frm_checkbox").children(".frm_other_input").removeClass("frm_pos_none"):
|
11 |
jQuery(this).closest(".frm_checkbox").children(".frm_other_input").addClass("frm_pos_none").val(""))}function G(a){var b=q(this,!1);if(b&&"undefined"!==typeof b&&(!a.frmTriggered||a.frmTriggered!=b)&&(ea(b,jQuery(this)),a="undefined"!==typeof a.originalEvent||-1<a.currentTarget.className.indexOf("frm_chzn")?"value changed":"other",fa(b,jQuery(this),a),L(b,jQuery(this)),jQuery(this).closest("form").hasClass("frm_js_validate"))){b=[];a=jQuery(this).closest(".frm_form_field");a.hasClass("frm_required_field")&&
|
12 |
!jQuery(this).hasClass("frm_optional")&&(b=ga(this,b));if(1>b.length)if("email"==this.type)var c=jQuery(this).closest("form").find("input[type=email]"),b=ha(this,b,c);else"number"==this.type?b=ia(this,b):null!==this.pattern&&(b=ja(this,b));a.removeClass("frm_blank_field");a.find(".frm_error").remove();if(0<Object.keys(b).length)for(var d in b)M(a,d,b)}}function q(a,b){var c="",c=a instanceof jQuery?a.attr("name"):a.name;if(""===c)return c=a instanceof jQuery?a.data("name"):a.getAttribute("data-name"),
|
13 |
""!==c&&c?c:0;c=c.replace("item_meta[","").replace("[]","").split("]");if(1>c.length)return 0;var c=c.filter(function(a){return""!==a}),d=c[0],e=!1;if(1===c.length)return d;if("[form"===c[1]||"[row_ids"===c[1])return 0;jQuery('input[name="item_meta['+d+'][form]"]').length&&(d=c[2].replace("[",""),e=!0);"other"===d&&(d=e?c[3].replace("[",""):c[1].replace("[",""));!0===b&&(d=d===c[0]?d+"-"+c[1].replace("[",""):d+"-"+c[0]+"-"+c[1].replace("[",""));return d}function ea(a,b){if(!("undefined"===typeof __FRMRULES||
|
24 |
0,l=k.length;m<l;m++)if("hidden"==k[m].type)jQuery.isArray(g)&&null!==g[m]?k[m].value=g[m]:k[m].value=g;else{if(k[m].value==g||jQuery.isArray(g)&&-1<g.indexOf(k[m].value))if(k[m].checked=!0,"radio"==k[m].type)break}else if(-1<d.name.indexOf("[]"))if(k=document.getElementsByName(d.name),jQuery.isArray(g))for(m=0,l=g.length;m<l;m++)m in k&&(k[m].value=g[m]);else null!==k[0]&&(k[0].value=g);else g.constructor===Object&&(k=d.getAttribute("name").split("[").slice(-1)[0],null!==k&&(k=k.replace("]",""),
|
25 |
g=g[k],"undefined"==typeof g&&(g=""))),d.value=g;"SELECT"==d.tagName&&U(d);u(h)}d=a[f];h=q(d,!1);h=V(h);!1!==h&&"lookup"!=h.fieldType&&(h.parentVals=W(h),ua(h,d));d=a[f];if(h="undefined"!==typeof __FRMCALC){h=d.type;g=!1;if("text"==h||"hidden"==h||"number"==h)g=!0;h=g}if(h){h=__FRMCALC;g=d.name;k=d.id.replace("field_","");if(3<=g.split("][").length)for(g=k.split("-"),k="",m=0;m<g.length-1;m++)k=""===k?g[m]:k+"-"+g[m];g=k;k=null;3<=d.name.split("][").length&&(k="hidden"!=d.type?jQuery(d).closest(".frm_form_field"):
|
26 |
jQuery(d));d=k;void 0!==h.calc[g]&&X(h,g,[],d)}d=a[f]}}function T(a,b){var c=q(a,!0);return B("frm_field_"+c+"_container",b)}function P(a,b){if(!B(a.containerId,a.formId)){if(b){jQuery("#"+a.containerId).hide();var c=na(a.containerId)}else c=pa(a);Y(c);va(a.containerId,a.formId)}}function Y(a){if(!(1>a.length)){for(var b,c=!0,d=0,e=a.length;d<e;d++)0<d&&b.name!=a[d].name&&!0===c&&u(jQuery(b)),c=!0,"radio"==a[d].type||"checkbox"==a[d].type?a[d].checked=!1:"SELECT"==a[d].tagName?(0===a[d].selectedIndex?
|
27 |
+
c=!1:a[d].selectedIndex=0,b=a[d].id.replace(/[^\w]/g,"_"),null!==document.getElementById(b+"_chosen")&&jQuery(a[d]).trigger("chosen:updated")):a[d].value="",b=a[d];!0===c&&u(jQuery(b))}}function B(a,b){var c=!1;-1<E(b).indexOf(a)&&(c=!0);return c}function va(a,b){var c=E(b);if(!(-1<c.indexOf(a))){c.push(a);var c=JSON.stringify(c),d=document.getElementById("frm_hide_fields_"+b);null!==d&&(d.value=c)}}function E(a){var b=[];a=document.getElementById("frm_hide_fields_"+a);return null===a?b:b=(b=a.value)?
|
28 |
+
JSON.parse(b):[]}function D(a,b){var c=E(b),d=c.indexOf(a);-1<d&&(c.splice(d,1),c=JSON.stringify(c),document.getElementById("frm_hide_fields_"+b).value=c)}function fa(a,b,c){if(!("undefined"===typeof __FRMLOOKUP||"undefined"===typeof __FRMLOOKUP[a]||1>__FRMLOOKUP[a].dependents.length||null===b||"undefined"===typeof b)){a=__FRMLOOKUP[a];b=H(b[0].name);for(var d=0,e=a.dependents.length;d<e;d++)Z(a.dependents[d],b,c)}}function Z(a,b,c){a=V(a);if(!(!1===a||1>a.parents.length))if("lookup"==a.fieldType){if(""!==
|
29 |
+
b.repeatRow){c=[];var d="frm_field_"+a.fieldId+"-",d=d+(b.repeatingSection+"-"+b.repeatRow+"_container");b=document.getElementById(d);null!==b&&c.push(b);b=c}else b=[],a.isRepeating?b=document.querySelectorAll(".frm_field_"+a.fieldId+"_container"):(c=document.getElementById("frm_field_"+a.fieldId+"_container"),null!==c&&b.push(c));c=0;for(d=b.length;c<d;c++){ka(a,b[c].id);var e=a,f=b[c];e.parentVals=W(e);if("select"==e.inputType)Va(e,f);else if("radio"==e.inputType||"checkbox"==e.inputType)if(!1===
|
30 |
+
e.parentVals){var h=f.getElementsByTagName("input");wa(e,f);Y(h)}else Wa(e,f)}}else if("value changed"===c)for(c="field_"+a.fieldKey,c=a.isRepeating?""!==b.repeatingSection?'[id="'+c+"-"+b.repeatRow+'"]':'[id^="'+c+'-"]':'[id="'+c+'"]',b=document.querySelectorAll(c),c=0,d=b.length;c<d;c++)e=a,f=H(b[c].name),e.repeatRow=""!==f.repeatRow?f.repeatRow:"",e=a,f=b[c],e.parentVals=W(e),ua(e,f)}function V(a){return"undefined"===typeof __FRMLOOKUP||"undefined"===typeof __FRMLOOKUP[a]?!1:__FRMLOOKUP[a]}function W(a){for(var b=
|
31 |
+
[],c=a.parents,d,e=0,f=c.length;e<f;e++){d=V(c[e]);d=qa(d,a);if(""===d||!1===d){b=!1;break}b[e]=d}return b}function sa(a){for(var b=!1,c=a.length,d=0;d<c;d++)if("hidden"==a[d].type||a[d].checked){b=a[d].value;break}return b}function Va(a,b){var c=b.getElementsByTagName("SELECT")[0];if(null!==c){var d=c.value;!1===a.parentVals?(c.options.length=1,""!==d&&(c.value="",U(c),u(jQuery(c),a.fieldKey))):(Xa(c),jQuery.ajax({type:"POST",url:frm_js.ajax_url,data:{action:"frm_replace_lookup_field_options",parent_fields:a.parents,
|
32 |
+
parent_vals:a.parentVals,field_id:a.fieldId,nonce:frm_js.nonce},success:function(b){var d=a.fieldKey,h=c.value;b=JSON.parse(b);for(var g=c.options.length;0<g;g--)c.remove(g);for(var k=b.length,g=0;g<k;g++)c.options[g+1]=new Option(b[g],b[g],!1,!1);c.value=h;""===c.value&&(b=c.getAttribute("data-frmval"),null!==b&&(c.value=b));U(c);c.value!=h&&u(jQuery(c),d)}}))}}function U(a){-1<a.className.indexOf("frm_chzn")&&jQuery().chosen&&jQuery(a).trigger("chosen:updated")}function Xa(a){a.value||(a.options.length=
|
33 |
+
1,a.options[1]=new Option(frm_js.loading,"",!1,!1))}function Wa(a,b){var c=b.getElementsByClassName("frm_opt_container")[0],d=c.getElementsByTagName("input");Ya(b,c);var e="",e="radio"==a.inputType?sa(d):R(d);jQuery.ajax({type:"POST",url:frm_js.ajax_url,data:{action:"frm_replace_cb_radio_lookup_options",parent_fields:a.parents,parent_vals:a.parentVals,field_id:a.fieldId,row_index:a.repeatRow,current_value:e,nonce:frm_js.nonce},success:function(e){c.innerHTML=e;e=b.getElementsByClassName("frm-loading-img")[0];
|
34 |
+
null!==e&&void 0!==e&&e.parentNode.removeChild(e);c.style.display="block";1==d.length&&""===d[0].value?wa(a,b):!1!==B(b.id,a.formId)&&(e=N(a.fieldId),!1===e||1>e.conditions.length?(D(b.id,a.formId),jQuery("#"+b.id).show()):(e.containerId=b.id,e.repeatRow=a.repeatRow,la(e)));u(jQuery(d[0]),a.fieldKey)}})}function wa(a,b){B(b.id,a.formId)||(jQuery("#"+b.id).hide(),va(b.id,a.formId))}function ua(a,b){if(!T(b,a.formId))if(!1===a.parentVals){var c=b.getAttribute("data-frmval");null===c&&(c="");xa(a,b,
|
35 |
+
c)}else jQuery.ajax({type:"POST",url:frm_js.ajax_url,data:{action:"frm_get_lookup_text_value",parent_fields:a.parents,parent_vals:a.parentVals,field_id:a.fieldId,nonce:frm_js.nonce},success:function(c){b.value!=c&&xa(a.fieldKey,b,c)}})}function xa(a,b,c){b.value=c;u(jQuery(b),a)}function Ra(a,b){if(b){var c=jQuery("#"+a.containerId);ya(c)}jQuery.ajax({type:"POST",url:frm_js.ajax_url,data:{action:"frm_fields_ajax_get_data",entry_id:a.dataLogic.actualValue,current_field:a.fieldId,hide_id:a.containerId,
|
36 |
+
nonce:frm_js.nonce},success:function(d){if(b){var e=c.find(".frm_opt_container");e.html(d);var f=e.children("input"),h=f.val();za(e);""===d||""===h?P(a,!0):Aa(a,c,f,!0)}else e="field_"+a.fieldKey,""!==a.repeatRow&&(e+="-"+a.repeatRow),e=document.getElementById(e),e.value=d,B(a.containerId,a.formId)&&D(a.containerId,a.formId),u(jQuery(e))}})}function Sa(a,b){var c=jQuery("#"+a.containerId),d=c.find('select[name^="item_meta"], input[name^="item_meta"]'),e=Ba(d),d=d.data("frmval"),f=c.closest("form").find('input[name="id"]').val();
|
37 |
+
ya(c);jQuery.ajax({type:"POST",url:frm_js.ajax_url,data:{action:"frm_fields_ajax_data_options",trigger_field_id:a.dataLogic.fieldId,entry_id:a.dataLogic.actualValue,field_id:a.fieldId,default_value:d,container_id:a.containerId,editing_entry:f,prev_val:e,nonce:frm_js.nonce},success:function(b){var d=c.find(".frm_opt_container");d.html(b);var f=d.find('select, input[type="checkbox"], input[type="radio"]');za(d);""===b||1>f.length?P(a,!0):(b=Ba(f),Aa(a,c,f,e!==b))}})}function ya(a){var b=a.html();-1<
|
38 |
+
b.indexOf("frm-loading-img")||(a.html(b+'<span class="frm-loading-img"></span>'),a.find(".frm_opt_container").hide())}function Ya(a,b){if(!(-1<a.innerHTML.indexOf("frm-loading-img"))){b.style.display="none";var c=document.createElement("span");c.setAttribute("class","frm-loading-img");a.insertBefore(c,b.nextSibling)}}function za(a){a.parent().children(".frm-loading-img").remove();a.show()}function Ba(a){var b=[],c="";a.each(function(){c=this.value;"radio"===this.type||"checkbox"===this.type?!0===
|
39 |
+
this.checked&&b.push(c):""!==c&&b.push(c)});0===b.length&&(b="");return b}function Aa(a,b,c,d){B(a.containerId,a.formId)&&(D(a.containerId,a.formId),b.show());c.hasClass("frm_chzn")&&aa();!0===d&&u(c)}function L(a,b){if("undefined"!==typeof __FRMCALC){var c=__FRMCALC,d=c.fields[a];if("undefined"!==typeof d)for(var d=d.total,e=[],f=0,h=d.length;f<h;f++){var g;g=c.calc[d[f]];var k=b.attr("name"),m=!1,l=g.field_id,n=E(g.form_id);1>n.length||("0"===g.inSection&&"0"===g.inEmbedForm?m=J(l,n):(k=H(k),J(l,
|
40 |
+
n)?m=!0:Ca(l,k,n)?m=!0:"0"!==g.inSection&&"0"!==g.inEmbedForm?m=Ca(g.inSection,k,n):"0"!==g.inSection?m=J(g.inSection,n):"0"!==g.inEmbedForm&&(m=J(g.inEmbedForm,n))));g=m;!1===g&&X(c,d[f],e,b)}}}function J(a,b){return-1<b.indexOf("frm_field_"+a+"_container")}function Ca(a,b,c){var d=!1;b.repeatingSection&&(a="frm_field_"+a+"-"+b.repeatingSection,a+="-"+b.repeatRow+"_container",d=-1<c.indexOf(a));return d}function X(a,b,c,d){var e=a.calc[b],f=e.calc,h=jQuery(document.getElementById("field_"+b)),g=
|
41 |
+
{triggerField:d,inSection:!1,thisFieldCall:'input[id^="field_'+b+'-"]'};1>h.length&&"undefined"!==typeof d&&(g.inSection=!0,g.thisFieldId=Za(a.fieldsWithCalc,b),h=Da(g));if(!(1>h.length)){f=$a(e,f,a,c,g);if("text"!=e.calc_type){a=e.calc_dec;-1<f.indexOf(").toFixed(")&&(c=f.split(").toFixed("),Ea(c[1])&&(a=c[1],f=f.replace(").toFixed("+a,"")));f=parseFloat(eval(f));if("undefined"===typeof f||isNaN(f))f=0;Ea(a)&&(f=f.toFixed(a))}h.val()!=f&&(h.val(f),u(h,b))}}function $a(a,b,c,d,e){for(var f=0,h=a.fields.length;f<
|
42 |
+
h;f++){var g={triggerField:e.triggerField,thisFieldId:a.fields[f],inSection:e.inSection,valKey:e.inSection+""+a.fields[f],thisField:c.fields[a.fields[f]],thisFieldCall:"input"+c.fieldKeys[a.fields[f]]},k=c;"checkbox"==g.thisField.type||"radio"==g.thisField.type||"scale"==g.thisField.type?g.thisFieldCall=g.thisFieldCall+":checked,"+g.thisFieldCall+"[type=hidden]":"select"==g.thisField.type||"time"==g.thisField.type?g.thisFieldCall="select"+k.fieldKeys[g.thisFieldId]+" option:selected,"+g.thisFieldCall+
|
43 |
+
"[type=hidden]":"textarea"==g.thisField.type&&(g.thisFieldCall=g.thisFieldCall+",textarea"+k.fieldKeys[g.thisFieldId]);if("text"==a.calc_type)g.valKey="text"+g.valKey,d=ab(g,d),"undefined"===typeof d[g.valKey]&&(d[g.valKey]="");else{g.valKey="num"+g.valKey;d=bb(g,c,d);if("undefined"===typeof d[g.valKey]||isNaN(d[g.valKey]))d[g.valKey]=0;"date"==g.thisField.type&&0===d[g.valKey]&&(b="")}k="["+g.thisFieldId+"]";k=k.replace(/([.*+?^=!:${}()|\[\]\/\\])/g,"\\$1");b=b.replace(new RegExp(k,"g"),d[g.valKey])}return b}
|
44 |
+
function bb(a,b,c){if("undefined"!==typeof c[a.valKey]&&0!==c[a.valKey])return c;c[a.valKey]=0;var d=Fa(a);if(!1===d)return c;d.each(function(){var d=Ga(a.thisField,this);if("date"==a.thisField.type){var f;f=b.date;var h=0;if(d)if("undefined"===typeof jQuery.datepicker){h="-";-1<f.indexOf("/")&&(h="/");f=f.split(h);var d=d.split(h),g,k;g=h=k="";for(var m=0;m<f.length;m++)if("y"==f[m])g=((new Date).getFullYear()+15).toString().substr(2,2),g=d[m]>g?"19"+d[m]:"20"+d[m];else if("yy"==f[m])g=d[m];else if("m"==
|
45 |
+
f[m]||"mm"==f[m])h=d[m],2>h.length&&(h="0"+h);else if("d"==f[m]||"dd"==f[m])k=d[m],2>k.length&&(k="0"+k);h=Date.parse(g+"-"+h+"-"+k)}else h=jQuery.datepicker.parseDate(f,d);f=h;null!==f&&(c[a.valKey]=Math.ceil(f/864E5))}else{f=d;""!==f&&0!==f&&(f=f.trim(),f=parseFloat(f.replace(/,/g,"").match(/-?[\d\.]+$/)));if("undefined"===typeof f||isNaN(f)||""===f)f=0;c[a.valKey]+=f}});return c}function ab(a,b){if("undefined"!==typeof b[a.valKey]&&""!==b[a.valKey])return b;b[a.valKey]="";var c=Fa(a);if(!1===c)return b;
|
46 |
+
c.each(function(){var c=Ga(a.thisField,this),c=c.trim();b[a.valKey]+=c});return b}function Fa(a){var b;if(!1===a.inSection)b=jQuery(a.thisFieldCall);else if(b=Da(a),null===b||"undefined"===typeof b)b=jQuery(a.thisFieldCall);if(null===b||"undefined"===typeof b||1>b.length)b=!1;return b}function Da(a){if("undefined"===typeof a.triggerField)return null;var b=a.triggerField.closest(".frm_repeat_sec, .frm_repeat_inline, .frm_repeat_grid");return b.length?(a=a.thisFieldCall.replace("[id=","[id^="),b.find(a)):
|
47 |
+
null}function Ga(a,b){var c;c=!1;if("hidden"==b.type)""!==ba(b)&&(c=!0);else if("select"==a.type){var d=b.className;d&&-1<d.indexOf("frm_other_trigger")&&(c=!0)}else("checkbox"==a.type||"radio"==a.type)&&-1<b.id.indexOf("-other_")&&0>b.id.indexOf("-otext")&&(c=!0);c?(c=0,"select"==a.type?"hidden"==b.type?(d=!1,2<b.name.split("[").length&&(d=!0),d||(c=ba(b))):c=jQuery(b).closest(".frm_other_container").find(".frm_other_input").val():"checkbox"!=a.type&&"radio"!=a.type||"hidden"==b.type||(c=ba(b))):
|
48 |
+
c="checkbox"!==b.type&&"radio"!==b.type||!b.checked?jQuery(b).val():b.value;"undefined"===typeof c&&(c="");return c}function ba(a){var b="";a=document.getElementById(a.id+"-otext");null!==a&&""!==a.value&&(b=a.value);return b}function Ha(a){var b=!1;a=jQuery(a).find(".frm_saving_draft");a.length&&(b=a.val());return b}function Ia(a){var b=!1,c=jQuery(a).find(".frm_next_page");if(c.length&&c.val()){var d=jQuery(a).find('input[name="form_id"]').val();a=jQuery(a).find('input[name="frm_page_order_'+d+
|
49 |
+
'"]');a=a.length?a.val():0;if(!a||c.val()<a)b=!0}return b}function ga(a,b){var c=a.getAttribute("data-frmfile");if("hidden"==a.type&&null===c)return b;var d="",e="";if("checkbox"==a.type||"radio"==a.type)c=jQuery('input[name="'+a.name+'"]').closest(".frm_required_field").find("input:checked"),jQuery(c).each(function(){d=this.value});else if("file"==a.type||c)"undefined"===typeof c&&(c=q(a,!0),c=c.replace("file","")),"undefined"===typeof b[c]&&(d=cb(c)),e=c;else{e=a.className;if(-1!==e.indexOf("frm_pos_none"))return b;
|
50 |
+
d=jQuery(a).val();if("string"!==typeof d)for(var c=d,d="",f=0;f<c.length;f++)""!==c[f]&&(d=c[f]);e=-1===e.indexOf("frm_other_input")?q(a,!0):q(a,!1)}""===d&&(""===e&&(e=q(a,!0)),e in b||(b[e]=F(a,"data-reqmsg")));return b}function cb(a){var b="";jQuery('input[name="file'+a+'"], input[name="file'+a+'[]"], input[name^="item_meta['+a+']"]').each(function(){""===b&&(b=this.value)});return b}function ha(a,b,c){var d=a.value,e=q(a,!0);if(e in b)return b;var f=0===e.indexOf("conf_");if(""!==d||f){var h=
|
51 |
+
/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i,g=F(a,"data-invmsg");""!==d&&!1===h.test(d)?(b[e]=g,f&&(b[e.replace("conf_","")]="")):f&&(a=a.name.replace("conf_",""),c.filter('[name="'+a+'"]').val()!==d&&(b[e]="",b[e.replace("conf_","")]=""))}return b}function ia(a,b){var c=a.value;""!==c&&!1!==isNaN(c/1)&&(c=q(a,!0),c in b||(b[c]=F(a,"data-invmsg")));return b}function ja(a,b){var c=a.value,
|
52 |
+
d=F(a,"pattern");if(""!==d&&""!==c){var e=q(a,!0);e in b||(d=new RegExp("^"+d+"$","i"),!1===d.test(c)&&(b[e]=F(a,"data-invmsg")))}return b}function F(a,b){var c=a.getAttribute(b);null===c&&(c="");return c}function db(a,b){"undefined"==typeof b&&jQuery(a).find('input[name="frm_action"]').val();jQuery.ajax({type:"POST",url:frm_js.ajax_url,data:jQuery(a).serialize()+"&action=frm_entries_"+b+"&nonce="+frm_js.nonce,success:function(b){var d={content:"",errors:{},pass:!1};null===b&&(b=d);b=b.replace(/^\s+|\s+$/g,
|
53 |
+
"");b=0===b.indexOf("{")?jQuery.parseJSON(b):d;if("undefined"!=typeof b.redirect)window.location=b.redirect;else if(""!==b.content){jQuery(a).find(".frm_ajax_loading").removeClass("frm_loading_now");var e=jQuery(a).find('input[name="form_id"]').val();jQuery(a).closest("#frm_form_"+e+"_container").replaceWith(b.content);frmFrontForm.scrollMsg(e);"function"==typeof frmThemeOverride_frmAfterSubmit&&(e=jQuery('input[name="frm_page_order_'+e+'"]').val(),d=jQuery(b.content).find('input[name="form_id"]').val(),
|
54 |
+
frmThemeOverride_frmAfterSubmit(d,e,b.content,a));e=jQuery(a).find('input[name="id"]');e.length&&jQuery(document.getElementById("frm_edit_"+e.val())).find("a").addClass("frm_ajax_edited").click();jQuery(b.content).find(".frm_message").length&&ca("pageLoad");da()}else if(Object.keys(b.errors).length){jQuery(a).find('input[type="submit"], input[type="button"]').removeAttr("disabled");jQuery(a).find(".frm_ajax_loading").removeClass("frm_loading_now");d=!0;Ja();var f=!1,h;for(e in b.errors)if(h=jQuery(a).find("#frm_field_"+
|
55 |
+
e+"_container"),h.length){if(!h.is(":visible")){var g=h.closest(".frm_toggle_container");g.length&&(g=g.prev(),g.hasClass("frm_trigger")||(g=g.prev(".frm_trigger")),g.click())}h.is(":visible")&&(M(h,e,b.errors),d=!1,h=jQuery(a).find("#frm_field_"+e+"_container .frm-g-recaptcha, #frm_field_"+e+"_container .g-recaptcha"),h.length&&(f=!0,h=h.data("rid"),jQuery().grecaptcha&&(h?grecaptcha.reset(h):grecaptcha.reset())))}Ka(a);!0!==f&&La(a,!1);d?a.submit():jQuery(a).prepend(b.error_message)}else eb(a),
|
56 |
+
La(a,!0),a.submit()},error:function(){jQuery(a).find('input[type="submit"], input[type="button"]').removeAttr("disabled");a.submit()}})}function M(a,b,c){a.length&&a.is(":visible")&&(a.addClass("frm_blank_field"),"function"==typeof frmThemeOverride_frmPlaceError?frmThemeOverride_frmPlaceError(b,c):a.append('<div class="frm_error">'+c[b]+"</div>"))}function Ja(){jQuery(".form-field").removeClass("frm_blank_field");jQuery(".form-field .frm_error").replaceWith("");jQuery(".frm_error_style").remove()}
|
57 |
+
function Ka(a){var b=jQuery(a).find(".frm_blank_field:first");b.length&&frmFrontForm.scrollMsg(b,a,!0)}function eb(a){var b=document.getElementById("frm_loading");null!==b&&(a=jQuery(a).find("input[type=file]").val(),"undefined"!=typeof a&&""!==a&&setTimeout(function(){jQuery(b).fadeIn("slow")},2E3))}function La(a,b){var c=jQuery(a).find(".frm-g-recaptcha, .g-recaptcha");c.length&&(!b||1>jQuery(a).find(".frm_next_page").length||1>jQuery(a).find(".frm_next_page").val())&&c.closest(".frm_form_field").replaceWith('<input type="hidden" name="recaptcha_checked" value="'+
|
58 |
+
frm_js.nonce+'">')}function fb(){Ma(jQuery(this),"clear")}function gb(){Ma(jQuery(this),"replace")}function Ma(a,b){var c=a.data("frmval").replace(/(\n|\r\n)/g,"\r");if(""===c||"undefined"==typeof c)return!1;var d=a.val().replace(/(\n|\r\n)/g,"\r");"replace"==b?""===d&&a.addClass("frm_default").val(c):d==c&&a.removeClass("frm_default").val("")}function hb(){var a=jQuery(this),b=a.data("eid"),c=a.data("fid");a.append('<span class="spinner" style="display:inline"></span>');jQuery.ajax({type:"POST",
|
59 |
+
url:frm_js.ajax_url,data:{action:"frm_entries_send_email",entry_id:b,form_id:c,nonce:frm_js.nonce},success:function(b){a.replaceWith(b)}});return!1}function ib(a,b){google.load("visualization","1.0",{packages:[b],callback:function(){var b=new google.visualization.DataTable,d=!1;-1!==jQuery.inArray("id",a.options.fields)&&(d=!0,b.addColumn("number",frm_js.id));for(var e=a.fields.length,f,h=0,g=e;h<g;h++){var k=a.fields[h];f=Na(k);b.addColumn(f,k.name)}h=!1;a.options.edit_link&&(h=!0,b.addColumn("string",
|
60 |
+
a.options.edit_link));g=!1;a.options.delete_link&&(g=!0,b.addColumn("string",a.options.delete_link));if(null!==a.entries){var m=a.entries.length;b.addRows(m);for(var l=0,n=0;n<m;n++){var k=0,p=a.entries[n];d&&(b.setCell(l,k,p.id),k++);for(var q=0,r=e;q<r;q++){var t=a.fields[q];f=Na(t);t=p.metas[t.id];"number"!=f||null!==t&&""!==t?"boolean"==f&&(t=null===t||"false"==t||!1===t?!1:!0):t=0;b.setCell(l,k,t);k++}h&&("undefined"!==typeof p.editLink?b.setCell(l,k,'<a href="'+p.editLink+'">'+a.options.edit_link+
|
61 |
+
"</a>"):b.setCell(l,k,""),k++);g&&("undefined"!==typeof p.deleteLink?b.setCell(l,k,'<a href="'+p.deleteLink+'" class="frm_delete_link" data-frmconfirm="'+a.options.confirm+'">'+a.options.delete_link+"</a>"):b.setCell(l,k,""));l++}}else for(b.addRows(1),h=k=0,g=e;h<g;h++)0<k?b.setCell(0,k,""):b.setCell(0,k,a.options.no_entries),k++;(new google.visualization.Table(document.getElementById("frm_google_table_"+a.options.form_id))).draw(b,a.graphOpts)}})}function jb(a){google.load("visualization","1.0",
|
62 |
+
{packages:[a["package"]],callback:function(){var b;new google.visualization.DataTable;b=google.visualization.arrayToDataTable(a.data);var c=document.getElementById("chart_"+a.graph_id);if(null!==c){var d=a.type.charAt(0).toUpperCase()+a.type.slice(1);"Histogram"!==d&&"Table"!==d&&(d+="Chart");(new google.visualization[d](c)).draw(b,a.options)}}})}function Na(a){var b="string";if("number"==a.type)b="number";else if("checkbox"==a.type||"select"==a.type){var c=a.options.length;"select"==a.type&&""===
|
63 |
+
a.options[0]&&(c="post_status"==a.field_options.post_field?3:c-1);1==c&&(b="boolean")}return b}function kb(){var a=jQuery(this).data("key"),b=jQuery(this).data("parent"),c="frm_section_"+b+"-"+a,d=jQuery(document.getElementById(c)),e=d.find("input, select, textarea"),f=jQuery(this).closest("form").find('input[name="form_id"]').val();d.fadeOut("slow",function(){d.remove();e.each(function(){var c=q(this,!1);"file"!=this.type&&L(c,jQuery(this));D("frm_field_"+c+"-"+b+"-"+a+"_container",f)});"function"==
|
64 |
+
typeof frmThemeOverride_frmRemoveRow&&frmThemeOverride_frmRemoveRow(c,d)});return!1}function lb(){if(!0===K)return!1;K=!0;var a=jQuery(this).data("parent"),b=0;if(0<jQuery(".frm_repeat_"+a).length)var c=jQuery(".frm_repeat_"+a+":last").attr("id").replace("frm_section_"+a+"-",""),b=-1<c.indexOf("i")?1:1+parseInt(c);jQuery.ajax({type:"POST",url:frm_js.ajax_url,dataType:"json",data:{action:"frm_add_form_row",field_id:a,i:b,nonce:frm_js.nonce},success:function(c){var e=c.html,f=jQuery(e).hide().fadeIn("slow");
|
65 |
+
jQuery(".frm_repeat_"+a+":last").after(f);var h=["other"],g,k,m={repeatingSection:a.toString(),repeatRow:b.toString()};jQuery(e).find("input, select, textarea").each(function(){if("file"!=this.type){if(""===this.name)return!0;g=this.name.replace("item_meta[","").split("]")[2].replace("[","");-1==jQuery.inArray(g,h)&&!1!==this.id&&""!==this.id&&(k=jQuery("#"+this.id),h.push(g),I(g,m),Z(g,m,"value changed"),ea(g,k),fa(g,k,"value changed"),L(g,k))}});v(m.repeatRow);Oa();aa();"function"==typeof frmThemeOverride_frmAddRow&&
|
66 |
+
frmThemeOverride_frmAddRow(a,c);K=!1},error:function(){K=!1}});return!1}function mb(){var a=jQuery(this),b=a.data("entryid"),c=a.data("prefix"),d=a.data("pageid"),e=a.data("formid"),f=a.data("cancel"),h=a.data("fields"),g=a.data("excludefields"),k=jQuery(document.getElementById(c+b)),m=k.html();k.html('<span class="frm-loading-img" id="'+c+b+'"></span><div class="frm_orig_content" style="display:none">'+m+"</div>");jQuery.ajax({type:"POST",url:frm_js.ajax_url,dataType:"html",data:{action:"frm_entries_edit_entry_ajax",
|
67 |
+
post_id:d,entry_id:b,id:e,nonce:frm_js.nonce,fields:h,exclude_fields:g},success:function(b){k.children(".frm-loading-img").replaceWith(b);a.removeClass("frm_inplace_edit").addClass("frm_cancel_edit");a.html(f);ca("editInPlace");jQuery(document).on("change",'.frm-show-form input[name^="item_meta"], .frm-show-form select[name^="item_meta"], .frm-show-form textarea[name^="item_meta"]',G);da()}});return!1}function nb(){var a=jQuery(this),b=a.data("entryid"),c=a.data("prefix"),d=a.data("edit");a.hasClass("frm_ajax_edited")||
|
68 |
(b=jQuery(document.getElementById(c+b)),b.children(".frm_forms").replaceWith(""),b.children(".frm_orig_content").fadeIn("slow").removeClass("frm_orig_content"));a.removeClass("frm_cancel_edit").addClass("frm_inplace_edit");a.html(d);return!1}function ob(){var a=jQuery(this),b=a.data("deleteconfirm");if(confirm(b)){var c=a.data("entryid"),d=a.data("prefix");a.replaceWith('<span class="frm-loading-img" id="frm_delete_'+c+'"></span>');jQuery.ajax({type:"POST",url:frm_js.ajax_url,data:{action:"frm_entries_destroy",
|
69 |
entry:c,nonce:frm_js.nonce},success:function(a){"success"==a.replace(/^\s+|\s+$/g,"")?(jQuery(document.getElementById(d+c)).fadeOut("slow"),jQuery(document.getElementById("frm_delete_"+c)).fadeOut("slow")):jQuery(document.getElementById("frm_delete_"+c)).replaceWith(a)}})}return!1}function da(){"undefined"!==typeof __frmHideFields&&frmFrontForm.hidePreviouslyHiddenFields();jQuery(document).on("focusin",".frm_date",r);if("undefined"!==typeof __frmUniqueTimes)for(var a=__frmUniqueTimes,b=0;b<a.length;b++)jQuery(document.getElementById(a[b].dateID)).change(p);
|
70 |
if("undefined"!==typeof __frmMasks)for(a=__frmMasks,b=0;b<a.length;b++)jQuery(a[b].trigger).attr("data-frmmask",a[b].mask);Oa();aa();"undefined"!==typeof __frmDepDynamicFields&&frmFrontForm.checkDependentDynamicFields(__frmDepDynamicFields);"undefined"!==typeof __frmDepLookupFields&&frmFrontForm.checkDependentLookupFields(__frmDepLookupFields);if("undefined"!==typeof __FRMCALC){(a=__FRMCALC.triggers)&&jQuery(a.join()).trigger({type:"change",selfTriggered:!0});var a=__FRMCALC.calc,b=[],c;for(c in a)if(1>
|
76 |
".frm_toggle_default",fb);jQuery(document).on("blur",".frm_toggle_default",gb);jQuery(".frm_toggle_default").blur();jQuery(document.getElementById("frm_resend_email")).click(hb);jQuery(document).on("click",".frm_remove_link",w);jQuery(document).on("focusin","input[data-frmmask]",function(){jQuery(this).mask(jQuery(this).data("frmmask").toString())});jQuery(document).on("change",'.frm-show-form input[name^="item_meta"], .frm-show-form select[name^="item_meta"], .frm-show-form textarea[name^="item_meta"]',
|
77 |
G);jQuery(document).on("click",'.frm-show-form input[type="submit"], .frm-show-form input[name="frm_prev_page"], .frm-show-form .frm_save_draft',l);jQuery(document).on("change",'.frm_other_container input[type="checkbox"], .frm_other_container input[type="radio"], .frm_other_container select',A);jQuery(document).on("click",".frm_remove_form_row",kb);jQuery(document).on("click",".frm_add_form_row",lb);jQuery(document).on("click","a[data-frmconfirm]",pb);jQuery("a[data-frmtoggle]").click(qb);jQuery(".frm_edit_link_container").on("click",
|
78 |
"a.frm_inplace_edit",mb);jQuery(".frm_edit_link_container").on("click","a.frm_cancel_edit",nb);jQuery(document).on("click",".frm_ajax_delete",ob);jQuery(".frm_month_heading, .frm_year_heading").click(function(){var a=jQuery(this).children(".ui-icon-triangle-1-e, .ui-icon-triangle-1-s");a.hasClass("ui-icon-triangle-1-e")?(a.addClass("ui-icon-triangle-1-s").removeClass("ui-icon-triangle-1-e"),jQuery(this).next(".frm_toggle_container").fadeIn("slow")):(a.addClass("ui-icon-triangle-1-e").removeClass("ui-icon-triangle-1-s"),
|
79 |
+
jQuery(this).next(".frm_toggle_container").hide())});ca("pageLoad");da();rb();sb();tb();ub()},submitForm:function(a){frmFrontForm.submitFormManual(a,this)},submitFormManual:function(a,b){var c=b.className.trim().split(/\s+/gi);if((!c||-1<c.indexOf("frm_pro_form"))&&!jQuery("body").hasClass("wp-admin")){a.preventDefault();var d=frmFrontForm.validateFormSubmit(b);0===Object.keys(d).length&&(jQuery(b).find(".frm_ajax_loading").addClass("frm_loading_now"),jQuery(b).find('input[type="submit"], input[type="button"]').attr("disabled",
|
80 |
+
"disabled"),-1<c.indexOf("frm_ajax_submit")?1>jQuery(b).find('input[type="file"]').length?(C=jQuery(b).find('input[name="frm_action"]').val(),frmFrontForm.checkFormErrors(b,C)):b.submit():b.submit())}},validateFormSubmit:function(a){"undefined"!=typeof tinyMCE&&jQuery(this).find(".wp-editor-wrap").length&&tinyMCE.triggerSave();x=[];var b=jQuery(a).hasClass("frm_js_validate");b&&(Ha(a)||Ia(a))&&(b=!1);b&&(frmFrontForm.getAjaxFormErrors(a),Object.keys(x).length&&frmFrontForm.addAjaxFormErrors(a));return x},
|
81 |
+
getAjaxFormErrors:function(a){var b=[],c=jQuery(a).find(".frm_required_field:visible input, .frm_required_field:visible select, .frm_required_field:visible textarea").filter(":not(.frm_optional)");if(c.length)for(var d=0,e=c.length;d<e;d++)b=ga(c[d],b);c=jQuery(a).find("input[type=email]").filter(":visible");d=jQuery(a).find("input,select,textarea");if(d.length)for(var e=0,f=d.length;e<f;e++){var h=d[e];""!==h.value&&"hidden"!=h.type&&("number"==h.type?b=ia(h,b):"email"==h.type?b=ha(h,b,c):null!==
|
82 |
+
h.pattern&&(b=ja(h,b)))}c=jQuery(a).find(".frm-g-recaptcha");c.length&&(d=c.data("rid"),0===grecaptcha.getResponse(d).length&&(c=c.closest(".frm_form_field").attr("id").replace("frm_field_","").replace("_container",""),b[c]=""));x=b;if("function"==typeof frmThemeOverride_jsErrors&&(C=jQuery(a).find('input[name="frm_action"]').val(),a=frmThemeOverride_jsErrors(C,a),Object.keys(a).length))for(var g in a)x[g]=a[g];return x},addAjaxFormErrors:function(a){Ja();for(var b in x){var c=jQuery(a).find("#frm_field_"+
|
83 |
+
b+"_container");c.length?M(c,b,x):delete x[b]}Ka(a)},checkFormErrors:function(a,b){db(a,b)},scrollToID:function(a){a=jQuery(document.getElementById(a));frmFrontForm.scrollMsg(a,!1)},scrollMsg:function(a,b,c){if("undefined"==typeof b){if(a=jQuery(document.getElementById("frm_form_"+a+"_container")),1>a.length)return}else a="string"==typeof a?jQuery(b).find("#frm_field_"+a+"_container"):a;if(a=a.offset().top){a-=frm_js.offset;b=jQuery("html").css("margin-top");var d=jQuery("body").css("margin-top");
|
84 |
+
if(b||d)a=a-parseInt(b)-parseInt(d);if(a&&window.innerHeight&&(b=document.documentElement.scrollTop||document.body.scrollTop,a>b+window.innerHeight||a<b))return"undefined"===typeof c?jQuery(window).scrollTop(a):jQuery("html,body").animate({scrollTop:a},500),!1}},savingDraft:function(a){return Ha(a)},goingToPreviousPage:function(a){return Ia(a)},hideOrShowFields:function(a,b){if("pageLoad"===b){var c=document.querySelectorAll('[id^="frm_hide_fields_"]');Y(c)}for(var c={repeatingSection:"",repeatRow:""},
|
85 |
+
d=0,e=a.length;d<e;d++)I(a[d],c)},hidePreviouslyHiddenFields:function(){var a;a=[];for(var b=document.querySelectorAll('*[id^="frm_hide_fields_"]'),c=b.length,d,e=0;e<c;e++)d=b[e].id.replace("frm_hide_fields_",""),a=a.concat(E(d));b=0;for(c=a.length;b<c;b++)d=document.getElementById(a[b]),null!==d&&(d.style.display="none")},checkDependentDynamicFields:function(a){for(var b={repeatingSection:"",repeatRow:""},c=0,d=a.length;c<d;c++)I(a[c],b)},checkDependentLookupFields:function(a){for(var b,c={repeatingSection:"",
|
86 |
+
repeatRow:""},d=0,e=a.length;d<e;d++)b=a[d],Z(b,c,"value changed")},loadGoogle:function(){if("undefined"!==typeof google&&google&&google.load)for(var a=__FRMTABLES,b=Object.keys(a),c=0;c<b.length;c++)if("graphs"===b[c])for(var d=a[b[c]],e=0,f=d.length;e<f;e++)jb(d[e]);else for(d=a[b[c]],e=b[c],f=0;f<d.length;f++)ib(d[f],e);else setTimeout(frmFrontForm.loadGoogle,30)},removeUsedTimes:function(a,b){var c=jQuery(a).parents("form:first").find('input[name="id"]');jQuery.ajax({type:"POST",url:frm_js.ajax_url,
|
87 |
+
dataType:"json",data:{action:"frm_fields_ajax_time_options",time_field:b,date_field:a.id,entry_id:c?c.val():"",date:jQuery(a).val(),nonce:frm_js.nonce},success:function(a){var c=jQuery(document.getElementById(b));c.find("option").removeAttr("disabled");if(a&&""!==a)for(var f in a)c.find('option[value="'+f+'"]').attr("disabled","disabled")}})},escapeHtml:function(a){return a.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")},invisible:function(a){jQuery(a).css("visibility",
|
88 |
+
"hidden")},visible:function(a){jQuery(a).css("visibility","visible")}}}var frmFrontForm=frmFrontFormJS();jQuery(document).ready(function(l){frmFrontForm.init()});function frmRecaptcha(){for(var l=jQuery(".frm-g-recaptcha"),n=0,p=l.length;n<p;n++){var r=grecaptcha.render(l[n].id,{sitekey:l[n].getAttribute("data-sitekey"),size:l[n].getAttribute("data-size"),theme:l[n].getAttribute("data-theme")});l[n].setAttribute("data-rid",r)}}
|
89 |
function frmUpdateField(l,n,p,r,v){jQuery(document.getElementById("frm_update_field_"+l+"_"+n)).html('<span class="frm-loading-img"></span>');jQuery.ajax({type:"POST",url:frm_js.ajax_url,data:{action:"frm_entries_update_field_ajax",entry_id:l,field_id:n,value:p,nonce:frm_js.nonce},success:function(){""===r.replace(/^\s+|\s+$/g,"")?jQuery(document.getElementById("frm_update_field_"+l+"_"+n+"_"+v)).fadeOut("slow"):jQuery(document.getElementById("frm_update_field_"+l+"_"+n+"_"+v)).replaceWith(r)}})}
|
90 |
function frmEditEntry(l,n,p,r,v,z){console.warn("DEPRECATED: function frmEditEntry in v2.0.13 use frmFrontForm.editEntry");var y=jQuery(document.getElementById("frm_edit_"+l)),w=y.html(),A=jQuery(document.getElementById(n+l)),G=A.html();A.html('<span class="frm-loading-img" id="'+n+l+'"></span><div class="frm_orig_content" style="display:none">'+G+"</div>");jQuery.ajax({type:"POST",url:frm_js.ajax_url,dataType:"html",data:{action:"frm_entries_edit_entry_ajax",post_id:p,entry_id:l,id:r,nonce:frm_js.nonce},
|
91 |
success:function(q){A.children(".frm-loading-img").replaceWith(q);y.replaceWith('<span id="frm_edit_'+l+'"><a onclick="frmCancelEdit('+l+",'"+n+"','"+frmFrontForm.escapeHtml(w)+"',"+p+","+r+",'"+z+'\')" class="'+z+'">'+v+"</a></span>")}})}
|
languages/formidable-az_AZ.mo
CHANGED
Binary file
|
languages/formidable-az_AZ.po
CHANGED
@@ -1,9 +1,9 @@
|
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
-
"Project-Id-Version: Formidable v2.02.
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
"POT-Creation-Date: 2016-09-01 03:07+0000\n"
|
6 |
-
"PO-Revision-Date:
|
7 |
"Last-Translator: \n"
|
8 |
"Language-Team: \n"
|
9 |
"Language: Azerbaijani (Azerbaijan)\n"
|
@@ -35,12 +35,12 @@ msgstr ""
|
|
35 |
msgid "There are no plugins on your site that require a license"
|
36 |
msgstr ""
|
37 |
|
38 |
-
#: ../classes/controllers/FrmAppController.php:
|
39 |
#: php:2
|
40 |
msgid "Build"
|
41 |
msgstr ""
|
42 |
|
43 |
-
#: ../classes/controllers/FrmAppController.php:
|
44 |
#: classes/controllers/FrmEntriesController.php:8 ..
|
45 |
#: classes/controllers/FrmEntriesController.php:8 ..
|
46 |
#: classes/controllers/FrmEntriesController.php:120 ..
|
@@ -52,7 +52,7 @@ msgstr ""
|
|
52 |
msgid "Entries"
|
53 |
msgstr ""
|
54 |
|
55 |
-
#: ../classes/controllers/FrmAppController.php:
|
56 |
#, php-format
|
57 |
msgid ""
|
58 |
"This site has been previously authorized to run Formidable Forms."
|
@@ -79,7 +79,7 @@ msgstr ""
|
|
79 |
#: ../classes/controllers/FrmEntriesController.php:72 ..
|
80 |
#: classes/controllers/FrmFormsController.php:705 ../classes/views/frm-
|
81 |
#: entries/form.php:44 ../classes/views/frm-entries/sidebar-shared.php:29 ..
|
82 |
-
#: pro/classes/helpers/FrmProFieldsHelper.php:
|
83 |
#: pro/classes/views/xml/map_csv_fields.php:57 ..
|
84 |
#: pro/classes/views/xml/map_csv_fields.php:57
|
85 |
msgid "Entry Key"
|
@@ -88,7 +88,7 @@ msgstr ""
|
|
88 |
#: ../classes/controllers/FrmEntriesController.php:112 ..
|
89 |
#: pro/classes/helpers/FrmProEntriesListHelper.php:57 ..
|
90 |
#: pro/classes/helpers/FrmProEntriesListHelper.php:68 ..
|
91 |
-
#: pro/classes/helpers/FrmProFieldsHelper.php:
|
92 |
#: pro/classes/views/displays/_calendar_options.php:4 ..
|
93 |
#: pro/classes/views/displays/_calendar_options.php:16 ..
|
94 |
#: pro/classes/views/displays/order_row.php:4 ..
|
@@ -97,7 +97,7 @@ msgid "Entry creation date"
|
|
97 |
msgstr ""
|
98 |
|
99 |
#: ../classes/controllers/FrmEntriesController.php:113 ..
|
100 |
-
#: pro/classes/helpers/FrmProFieldsHelper.php:
|
101 |
#: pro/classes/views/displays/_calendar_options.php:5 ..
|
102 |
#: pro/classes/views/displays/_calendar_options.php:17 ..
|
103 |
#: pro/classes/views/displays/order_row.php:5
|
@@ -275,7 +275,7 @@ msgstr ""
|
|
275 |
#: entries/sidebar-shared.php:23 ../pro/classes/controllers/FrmProFormsController.
|
276 |
#: php:545 ../pro/classes/helpers/FrmProEntriesListHelper.php:58 ..
|
277 |
#: pro/classes/helpers/FrmProEntriesListHelper.php:69 ..
|
278 |
-
#: pro/classes/helpers/FrmProFieldsHelper.php:
|
279 |
#: pro/classes/views/displays/order_row.php:3 ..
|
280 |
#: pro/classes/views/displays/where_row.php:6 ..
|
281 |
#: pro/classes/views/xml/map_csv_fields.php:56 ..
|
@@ -284,7 +284,7 @@ msgid "Entry ID"
|
|
284 |
msgstr ""
|
285 |
|
286 |
#: ../classes/controllers/FrmFormsController.php:707 ..
|
287 |
-
#: pro/classes/helpers/FrmProFieldsHelper.php:
|
288 |
msgid "User IP"
|
289 |
msgstr ""
|
290 |
|
@@ -297,7 +297,7 @@ msgid "Entry updated"
|
|
297 |
msgstr ""
|
298 |
|
299 |
#: ../classes/controllers/FrmFormsController.php:712 ..
|
300 |
-
#: pro/classes/helpers/FrmProFieldsHelper.php:
|
301 |
msgid "Site Name"
|
302 |
msgstr ""
|
303 |
|
@@ -627,22 +627,22 @@ msgid "(no label)"
|
|
627 |
msgstr ""
|
628 |
|
629 |
#: ../classes/helpers/FrmAppHelper.php:1754 ../classes/helpers/FrmFieldsHelper.
|
630 |
-
#: php:
|
631 |
msgid "Clear default value when typing"
|
632 |
msgstr ""
|
633 |
|
634 |
#: ../classes/helpers/FrmAppHelper.php:1755 ../classes/helpers/FrmFieldsHelper.
|
635 |
-
#: php:
|
636 |
msgid "Do not clear default value when typing"
|
637 |
msgstr ""
|
638 |
|
639 |
#: ../classes/helpers/FrmAppHelper.php:1756 ../classes/helpers/FrmFieldsHelper.
|
640 |
-
#: php:
|
641 |
msgid "Default value will pass form validation"
|
642 |
msgstr ""
|
643 |
|
644 |
#: ../classes/helpers/FrmAppHelper.php:1757 ../classes/helpers/FrmFieldsHelper.
|
645 |
-
#: php:
|
646 |
msgid "Default value will NOT pass form validation"
|
647 |
msgstr ""
|
648 |
|
@@ -665,7 +665,7 @@ msgid ""
|
|
665 |
msgstr ""
|
666 |
|
667 |
#: ../classes/helpers/FrmAppHelper.php:1763 ../classes/helpers/FrmFieldsHelper.
|
668 |
-
#: php:172 ../pro/classes/helpers/FrmProFieldsHelper.php:
|
669 |
msgid "The entered values do not match"
|
670 |
msgstr ""
|
671 |
|
@@ -884,32 +884,32 @@ msgstr ""
|
|
884 |
msgid "Vietnamese"
|
885 |
msgstr ""
|
886 |
|
887 |
-
#: ../classes/helpers/FrmCSVExportHelper.php:
|
888 |
msgid "(label)"
|
889 |
msgstr ""
|
890 |
|
891 |
-
#: ../classes/helpers/FrmCSVExportHelper.php:
|
892 |
msgid "Comment User"
|
893 |
msgstr ""
|
894 |
|
895 |
-
#: ../classes/helpers/FrmCSVExportHelper.php:
|
896 |
msgid "Comment Date"
|
897 |
msgstr ""
|
898 |
|
899 |
-
#: ../classes/helpers/FrmCSVExportHelper.php:
|
900 |
#: pro/classes/views/xml/map_csv_fields.php:50
|
901 |
msgid "Timestamp"
|
902 |
msgstr ""
|
903 |
|
904 |
-
#: ../classes/helpers/FrmCSVExportHelper.php:
|
905 |
msgid "Created By"
|
906 |
msgstr ""
|
907 |
|
908 |
-
#: ../classes/helpers/FrmCSVExportHelper.php:
|
909 |
msgid "Updated By"
|
910 |
msgstr ""
|
911 |
|
912 |
-
#: ../classes/helpers/FrmCSVExportHelper.php:
|
913 |
#: pro/classes/views/displays/where_row.php:15
|
914 |
msgid "IP"
|
915 |
msgstr ""
|
@@ -946,157 +946,157 @@ msgstr ""
|
|
946 |
msgid "%s must be unique"
|
947 |
msgstr ""
|
948 |
|
949 |
-
#: ../classes/helpers/FrmFieldsHelper.php:
|
950 |
#, php-format
|
951 |
msgid "Please add options from the WordPress \"%1$s\" page"
|
952 |
msgstr ""
|
953 |
|
954 |
-
#: ../classes/helpers/FrmFieldsHelper.php:
|
955 |
msgid "Congo"
|
956 |
msgstr ""
|
957 |
|
958 |
-
#: ../classes/helpers/FrmFieldsHelper.php:
|
959 |
msgid "Côte d'Ivoire"
|
960 |
msgstr ""
|
961 |
|
962 |
-
#: ../classes/helpers/FrmFieldsHelper.php:
|
963 |
msgid "East Timor"
|
964 |
msgstr ""
|
965 |
|
966 |
-
#: ../classes/helpers/FrmFieldsHelper.php:
|
967 |
msgid "Russia"
|
968 |
msgstr ""
|
969 |
|
970 |
-
#: ../classes/helpers/FrmFieldsHelper.php:
|
971 |
msgid "Sao Tome and Principe"
|
972 |
msgstr ""
|
973 |
|
974 |
-
#: ../classes/helpers/FrmFieldsHelper.php:
|
975 |
msgid "Serbia and Montenegro"
|
976 |
msgstr ""
|
977 |
|
978 |
-
#: ../classes/helpers/FrmFieldsHelper.php:
|
979 |
msgid "Vatican City"
|
980 |
msgstr ""
|
981 |
|
982 |
-
#: ../classes/helpers/FrmFieldsHelper.php:
|
983 |
msgid "Virgin Islands, British"
|
984 |
msgstr ""
|
985 |
|
986 |
-
#: ../classes/helpers/FrmFieldsHelper.php:
|
987 |
msgid "Virgin Islands, U.S."
|
988 |
msgstr ""
|
989 |
|
990 |
-
#: ../classes/helpers/FrmFieldsHelper.php:
|
991 |
msgid "Countries"
|
992 |
msgstr ""
|
993 |
|
994 |
-
#: ../classes/helpers/FrmFieldsHelper.php:
|
995 |
msgid "U.S. State Abbreviations"
|
996 |
msgstr ""
|
997 |
|
998 |
-
#: ../classes/helpers/FrmFieldsHelper.php:
|
999 |
msgid "U.S. States"
|
1000 |
msgstr ""
|
1001 |
|
1002 |
-
#: ../classes/helpers/FrmFieldsHelper.php:
|
1003 |
msgid "Age"
|
1004 |
msgstr ""
|
1005 |
|
1006 |
-
#: ../classes/helpers/FrmFieldsHelper.php:
|
1007 |
msgid "Under 18"
|
1008 |
msgstr ""
|
1009 |
|
1010 |
-
#: ../classes/helpers/FrmFieldsHelper.php:
|
1011 |
msgid "18-24"
|
1012 |
msgstr ""
|
1013 |
|
1014 |
-
#: ../classes/helpers/FrmFieldsHelper.php:
|
1015 |
msgid "25-34"
|
1016 |
msgstr ""
|
1017 |
|
1018 |
-
#: ../classes/helpers/FrmFieldsHelper.php:
|
1019 |
msgid "35-44"
|
1020 |
msgstr ""
|
1021 |
|
1022 |
-
#: ../classes/helpers/FrmFieldsHelper.php:
|
1023 |
msgid "45-54"
|
1024 |
msgstr ""
|
1025 |
|
1026 |
-
#: ../classes/helpers/FrmFieldsHelper.php:
|
1027 |
msgid "55-64"
|
1028 |
msgstr ""
|
1029 |
|
1030 |
-
#: ../classes/helpers/FrmFieldsHelper.php:
|
1031 |
msgid "65 or Above"
|
1032 |
msgstr ""
|
1033 |
|
1034 |
-
#: ../classes/helpers/FrmFieldsHelper.php:
|
1035 |
msgid "Prefer Not to Answer"
|
1036 |
msgstr ""
|
1037 |
|
1038 |
-
#: ../classes/helpers/FrmFieldsHelper.php:
|
1039 |
msgid "Satisfaction"
|
1040 |
msgstr ""
|
1041 |
|
1042 |
-
#: ../classes/helpers/FrmFieldsHelper.php:
|
1043 |
msgid "Very Satisfied"
|
1044 |
msgstr ""
|
1045 |
|
1046 |
-
#: ../classes/helpers/FrmFieldsHelper.php:
|
1047 |
msgid "Satisfied"
|
1048 |
msgstr ""
|
1049 |
|
1050 |
-
#: ../classes/helpers/FrmFieldsHelper.php:
|
1051 |
-
#: php:
|
1052 |
msgid "Neutral"
|
1053 |
msgstr ""
|
1054 |
|
1055 |
-
#: ../classes/helpers/FrmFieldsHelper.php:
|
1056 |
msgid "Unsatisfied"
|
1057 |
msgstr ""
|
1058 |
|
1059 |
-
#: ../classes/helpers/FrmFieldsHelper.php:
|
1060 |
msgid "Very Unsatisfied"
|
1061 |
msgstr ""
|
1062 |
|
1063 |
-
#: ../classes/helpers/FrmFieldsHelper.php:
|
1064 |
msgid "Importance"
|
1065 |
msgstr ""
|
1066 |
|
1067 |
-
#: ../classes/helpers/FrmFieldsHelper.php:
|
1068 |
msgid "Very Important"
|
1069 |
msgstr ""
|
1070 |
|
1071 |
-
#: ../classes/helpers/FrmFieldsHelper.php:
|
1072 |
msgid "Important"
|
1073 |
msgstr ""
|
1074 |
|
1075 |
-
#: ../classes/helpers/FrmFieldsHelper.php:
|
1076 |
msgid "Somewhat Important"
|
1077 |
msgstr ""
|
1078 |
|
1079 |
-
#: ../classes/helpers/FrmFieldsHelper.php:
|
1080 |
msgid "Not at all Important"
|
1081 |
msgstr ""
|
1082 |
|
1083 |
-
#: ../classes/helpers/FrmFieldsHelper.php:
|
1084 |
msgid "Agreement"
|
1085 |
msgstr ""
|
1086 |
|
1087 |
-
#: ../classes/helpers/FrmFieldsHelper.php:
|
1088 |
msgid "Strongly Agree"
|
1089 |
msgstr ""
|
1090 |
|
1091 |
-
#: ../classes/helpers/FrmFieldsHelper.php:
|
1092 |
msgid "Agree"
|
1093 |
msgstr ""
|
1094 |
|
1095 |
-
#: ../classes/helpers/FrmFieldsHelper.php:
|
1096 |
msgid "Disagree"
|
1097 |
msgstr ""
|
1098 |
|
1099 |
-
#: ../classes/helpers/FrmFieldsHelper.php:
|
1100 |
msgid "Strongly Disagree"
|
1101 |
msgstr ""
|
1102 |
|
@@ -1400,137 +1400,141 @@ msgstr ""
|
|
1400 |
msgid "Your server is missing the simplexml_import_dom function"
|
1401 |
msgstr ""
|
1402 |
|
1403 |
-
#: ../classes/helpers/FrmXMLHelper.php:
|
1404 |
msgid "Imported"
|
1405 |
msgstr ""
|
1406 |
|
1407 |
-
#: ../classes/helpers/FrmXMLHelper.php:
|
1408 |
msgid "Updated"
|
1409 |
msgstr ""
|
1410 |
|
1411 |
-
#: ../classes/helpers/FrmXMLHelper.php:
|
1412 |
msgid "Nothing was imported or updated"
|
1413 |
msgstr ""
|
1414 |
|
1415 |
-
#: ../classes/helpers/FrmXMLHelper.php:
|
1416 |
#, php-format
|
1417 |
msgid "%1$s Form"
|
1418 |
msgid_plural "%1$s Forms"
|
1419 |
msgstr[0] ""
|
1420 |
msgstr[1] ""
|
1421 |
|
1422 |
-
#: ../classes/helpers/FrmXMLHelper.php:
|
1423 |
#, php-format
|
1424 |
msgid "%1$s Field"
|
1425 |
msgid_plural "%1$s Fields"
|
1426 |
msgstr[0] ""
|
1427 |
msgstr[1] ""
|
1428 |
|
1429 |
-
#: ../classes/helpers/FrmXMLHelper.php:
|
1430 |
#, php-format
|
1431 |
msgid "%1$s Entry"
|
1432 |
msgid_plural "%1$s Entries"
|
1433 |
msgstr[0] ""
|
1434 |
msgstr[1] ""
|
1435 |
|
1436 |
-
#: ../classes/helpers/FrmXMLHelper.php:
|
1437 |
#, php-format
|
1438 |
msgid "%1$s View"
|
1439 |
msgid_plural "%1$s Views"
|
1440 |
msgstr[0] ""
|
1441 |
msgstr[1] ""
|
1442 |
|
1443 |
-
#: ../classes/helpers/FrmXMLHelper.php:
|
1444 |
#, php-format
|
1445 |
msgid "%1$s Post"
|
1446 |
msgid_plural "%1$s Posts"
|
1447 |
msgstr[0] ""
|
1448 |
msgstr[1] ""
|
1449 |
|
1450 |
-
#: ../classes/helpers/FrmXMLHelper.php:
|
1451 |
#, php-format
|
1452 |
msgid "%1$s Style"
|
1453 |
msgid_plural "%1$s Styles"
|
1454 |
msgstr[0] ""
|
1455 |
msgstr[1] ""
|
1456 |
|
1457 |
-
#: ../classes/helpers/FrmXMLHelper.php:
|
1458 |
#, php-format
|
1459 |
msgid "%1$s Term"
|
1460 |
msgid_plural "%1$s Terms"
|
1461 |
msgstr[0] ""
|
1462 |
msgstr[1] ""
|
1463 |
|
1464 |
-
#: ../classes/helpers/FrmXMLHelper.php:
|
1465 |
#, php-format
|
1466 |
msgid "%1$s Form Action"
|
1467 |
msgid_plural "%1$s Form Actions"
|
1468 |
msgstr[0] ""
|
1469 |
msgstr[1] ""
|
1470 |
|
1471 |
-
#: ../classes/helpers/FrmXMLHelper.php:
|
1472 |
msgid "Create Posts"
|
1473 |
msgstr ""
|
1474 |
|
1475 |
-
#: ../classes/helpers/FrmXMLHelper.php:
|
1476 |
#: actions/email_action.php:16
|
1477 |
msgid "Email Notification"
|
1478 |
msgstr ""
|
1479 |
|
1480 |
-
#: ../classes/models/FrmAddon.php:
|
1481 |
#, php-format
|
1482 |
msgid "Your %1$s license key is missing. Please add it on the %2$slicenses page%3$s."
|
1483 |
msgstr ""
|
1484 |
|
1485 |
-
#: ../classes/models/FrmAddon.php:
|
1486 |
msgid "Oops! You forgot to enter your license number."
|
1487 |
msgstr ""
|
1488 |
|
1489 |
-
#: ../classes/models/FrmAddon.php:
|
1490 |
msgid "Your license has been activated. Enjoy!"
|
1491 |
msgstr ""
|
1492 |
|
1493 |
-
#: ../classes/models/FrmAddon.php:
|
1494 |
msgid "That license key is invalid"
|
1495 |
msgstr ""
|
1496 |
|
1497 |
-
#: ../classes/models/FrmAddon.php:
|
1498 |
msgid "That license is expired"
|
1499 |
msgstr ""
|
1500 |
|
1501 |
-
#: ../classes/models/FrmAddon.php:
|
|
|
|
|
|
|
|
|
1502 |
msgid "That license has been used on too many sites"
|
1503 |
msgstr ""
|
1504 |
|
1505 |
-
#: ../classes/models/FrmAddon.php:
|
1506 |
msgid "Oops! That is the wrong license key for this plugin."
|
1507 |
msgstr ""
|
1508 |
|
1509 |
-
#: ../classes/models/FrmAddon.php:
|
1510 |
msgid "That license was removed successfully"
|
1511 |
msgstr ""
|
1512 |
|
1513 |
-
#: ../classes/models/FrmAddon.php:
|
1514 |
msgid "There was an error deactivating your license."
|
1515 |
msgstr ""
|
1516 |
|
1517 |
-
#: ../classes/models/FrmAddon.php:
|
1518 |
#: pro/classes/controllers/FrmUpdatesController.php:356
|
1519 |
msgid "Your License Key was invalid"
|
1520 |
msgstr ""
|
1521 |
|
1522 |
-
#: ../classes/models/FrmAddon.php:
|
1523 |
#, php-format
|
1524 |
msgid ""
|
1525 |
"You had an error communicating with Formidable Pro's API. %1$sClick here%2$s "
|
1526 |
"for more information."
|
1527 |
msgstr ""
|
1528 |
|
1529 |
-
#: ../classes/models/FrmAddon.php:
|
1530 |
msgid "You had an HTTP error connecting to Formidable Pro's API"
|
1531 |
msgstr ""
|
1532 |
|
1533 |
-
#: ../classes/models/FrmAddon.php:
|
1534 |
#: pro/classes/controllers/FrmUpdatesController.php:352
|
1535 |
#, php-format
|
1536 |
msgid "There was a %1$s error: %2$s"
|
@@ -1540,7 +1544,7 @@ msgstr ""
|
|
1540 |
msgid "Use the query in an array format so it can be properly prepared."
|
1541 |
msgstr ""
|
1542 |
|
1543 |
-
#: ../classes/models/FrmEDD_SL_Plugin_Updater.php:
|
1544 |
msgid "You do not have permission to install plugin updates"
|
1545 |
msgstr ""
|
1546 |
|
@@ -1602,19 +1606,19 @@ msgstr ""
|
|
1602 |
|
1603 |
#: ../classes/models/FrmField.php:14 ..
|
1604 |
#: pro/classes/controllers/FrmProLookupFieldsController.php:14 ..
|
1605 |
-
#: pro/classes/helpers/FrmProFieldsHelper.php:
|
1606 |
msgid "Checkboxes"
|
1607 |
msgstr ""
|
1608 |
|
1609 |
#: ../classes/models/FrmField.php:15 ../classes/views/styles/_sample_form.php:56 .
|
1610 |
#: ./pro/classes/controllers/FrmProLookupFieldsController.php:13 ..
|
1611 |
-
#: pro/classes/helpers/FrmProFieldsHelper.php:
|
1612 |
msgid "Radio Buttons"
|
1613 |
msgstr ""
|
1614 |
|
1615 |
#: ../classes/models/FrmField.php:16 ..
|
1616 |
#: pro/classes/controllers/FrmProLookupFieldsController.php:12 ..
|
1617 |
-
#: pro/classes/helpers/FrmProFieldsHelper.php:
|
1618 |
msgid "Dropdown"
|
1619 |
msgstr ""
|
1620 |
|
@@ -1627,7 +1631,7 @@ msgid "End Section"
|
|
1627 |
msgstr ""
|
1628 |
|
1629 |
#: ../classes/models/FrmField.php:31 ../pro/classes/helpers/FrmProFieldsHelper.
|
1630 |
-
#: php:
|
1631 |
msgid "Section"
|
1632 |
msgstr ""
|
1633 |
|
@@ -1652,7 +1656,7 @@ msgid "Scale"
|
|
1652 |
msgstr ""
|
1653 |
|
1654 |
#: ../classes/models/FrmField.php:41 ../pro/classes/helpers/FrmProFieldsHelper.
|
1655 |
-
#: php:
|
1656 |
msgid "Dynamic Field"
|
1657 |
msgstr ""
|
1658 |
|
@@ -1785,7 +1789,7 @@ msgstr ""
|
|
1785 |
#, php-format
|
1786 |
msgid ""
|
1787 |
"So, we’ve come to the end of the tour. If you like the plugin, please "
|
1788 |
-
"%srate it 5 stars on WordPress.org%s!"
|
1789 |
msgstr ""
|
1790 |
|
1791 |
#: ../classes/models/FrmPointers.php:333
|
@@ -2206,6 +2210,10 @@ msgid ""
|
|
2206 |
"is in a small area."
|
2207 |
msgstr ""
|
2208 |
|
|
|
|
|
|
|
|
|
2209 |
#: ../classes/views/frm-forms/add_field.php:260
|
2210 |
msgid "reCAPTCHA Color"
|
2211 |
msgstr ""
|
@@ -2597,7 +2605,7 @@ msgid "Do not use Formidable styling"
|
|
2597 |
msgstr ""
|
2598 |
|
2599 |
#: ../classes/views/frm-forms/settings.php:157 ../classes/views/frm-settings/form.
|
2600 |
-
#: php:
|
2601 |
msgid "Submit Button Text"
|
2602 |
msgstr ""
|
2603 |
|
@@ -2610,7 +2618,7 @@ msgid "Set up your confirmation messages."
|
|
2610 |
msgstr ""
|
2611 |
|
2612 |
#: ../classes/views/frm-forms/settings.php:179 ../classes/views/frm-settings/form.
|
2613 |
-
#: php:
|
2614 |
msgid "Miscellaneous"
|
2615 |
msgstr ""
|
2616 |
|
@@ -2643,7 +2651,7 @@ msgid "Select a form:"
|
|
2643 |
msgstr ""
|
2644 |
|
2645 |
#: ../classes/views/frm-settings/form.php:37 ../classes/views/frm-settings/form.
|
2646 |
-
#: php:
|
2647 |
msgid "Update Options"
|
2648 |
msgstr ""
|
2649 |
|
@@ -2711,77 +2719,81 @@ msgstr ""
|
|
2711 |
msgid "Secret Key"
|
2712 |
msgstr ""
|
2713 |
|
2714 |
-
#: ../classes/views/frm-settings/form.php:
|
|
|
|
|
|
|
|
|
2715 |
msgid "Multiple reCaptchas"
|
2716 |
msgstr ""
|
2717 |
|
2718 |
-
#: ../classes/views/frm-settings/form.php:
|
2719 |
msgid "Allow multiple reCaptchas to be used on a single page"
|
2720 |
msgstr ""
|
2721 |
|
2722 |
-
#: ../classes/views/frm-settings/form.php:
|
2723 |
msgid "Default Messages"
|
2724 |
msgstr ""
|
2725 |
|
2726 |
-
#: ../classes/views/frm-settings/form.php:
|
2727 |
msgid ""
|
2728 |
"You can override the success message and submit button settings on "
|
2729 |
"individual forms."
|
2730 |
msgstr ""
|
2731 |
|
2732 |
-
#: ../classes/views/frm-settings/form.php:
|
2733 |
msgid "Failed/Duplicate Entry"
|
2734 |
msgstr ""
|
2735 |
|
2736 |
-
#: ../classes/views/frm-settings/form.php:
|
2737 |
msgid ""
|
2738 |
"The message seen when a form is submitted and passes validation, but "
|
2739 |
"something goes wrong."
|
2740 |
msgstr ""
|
2741 |
|
2742 |
-
#: ../classes/views/frm-settings/form.php:
|
2743 |
msgid "Blank Field"
|
2744 |
msgstr ""
|
2745 |
|
2746 |
-
#: ../classes/views/frm-settings/form.php:
|
2747 |
msgid "The message seen when a required field is left blank."
|
2748 |
msgstr ""
|
2749 |
|
2750 |
-
#: ../classes/views/frm-settings/form.php:
|
2751 |
msgid "Incorrect Field"
|
2752 |
msgstr ""
|
2753 |
|
2754 |
-
#: ../classes/views/frm-settings/form.php:
|
2755 |
msgid "The message seen when a field response is either incorrect or missing."
|
2756 |
msgstr ""
|
2757 |
|
2758 |
-
#: ../classes/views/frm-settings/form.php:
|
2759 |
msgid "Unique Value"
|
2760 |
msgstr ""
|
2761 |
|
2762 |
-
#: ../classes/views/frm-settings/form.php:
|
2763 |
msgid ""
|
2764 |
"The message seen when a user selects a value in a unique field that has "
|
2765 |
"already been used."
|
2766 |
msgstr ""
|
2767 |
|
2768 |
-
#: ../classes/views/frm-settings/form.php:
|
2769 |
msgid "The default message seen after a form is submitted."
|
2770 |
msgstr ""
|
2771 |
|
2772 |
-
#: ../classes/views/frm-settings/form.php:
|
2773 |
msgid "Admin menu label"
|
2774 |
msgstr ""
|
2775 |
|
2776 |
-
#: ../classes/views/frm-settings/form.php:
|
2777 |
msgid "Use this menu name site-wide"
|
2778 |
msgstr ""
|
2779 |
|
2780 |
-
#: ../classes/views/frm-settings/form.php:
|
2781 |
msgid "Preview Page"
|
2782 |
msgstr ""
|
2783 |
|
2784 |
-
#: ../classes/views/frm-settings/form.php:
|
2785 |
msgid "Uninstall Formidable"
|
2786 |
msgstr ""
|
2787 |
|
@@ -2797,7 +2809,7 @@ msgid ""
|
|
2797 |
msgstr ""
|
2798 |
|
2799 |
#: ../classes/views/frm-settings/license_box.php:8 ..
|
2800 |
-
#: pro/classes/controllers/FrmProEddController.php:
|
2801 |
msgid "Click here"
|
2802 |
msgstr ""
|
2803 |
|
@@ -2833,7 +2845,7 @@ msgid "Fields from your form"
|
|
2833 |
msgstr ""
|
2834 |
|
2835 |
#: ../classes/views/shared/mb_adv_info.php:68 ..
|
2836 |
-
#: pro/classes/helpers/FrmProFieldsHelper.php:
|
2837 |
msgid "Helpers"
|
2838 |
msgstr ""
|
2839 |
|
@@ -3129,13 +3141,13 @@ msgid "Another field with a description"
|
|
3129 |
msgstr ""
|
3130 |
|
3131 |
#: ../classes/views/styles/_section-fields.php:7 ..
|
3132 |
-
#: pro/classes/helpers/FrmProFieldsHelper.php:
|
3133 |
#: fields/options-form-top.php:11
|
3134 |
msgid "Collapsible"
|
3135 |
msgstr ""
|
3136 |
|
3137 |
#: ../classes/views/styles/_section-fields.php:10 ..
|
3138 |
-
#: pro/classes/helpers/FrmProFieldsHelper.php:
|
3139 |
#: fields/options-form-top.php:20
|
3140 |
msgid "Repeatable"
|
3141 |
msgstr ""
|
@@ -3312,27 +3324,35 @@ msgstr ""
|
|
3312 |
msgid "Zip/Postal"
|
3313 |
msgstr ""
|
3314 |
|
3315 |
-
#: ../pro/classes/controllers/FrmProAppController.php:
|
3316 |
msgid "Formidable Tags"
|
3317 |
msgstr ""
|
3318 |
|
3319 |
-
#: ../pro/classes/controllers/FrmProAppController.php:
|
3320 |
msgid "Formidable Tag"
|
3321 |
msgstr ""
|
3322 |
|
3323 |
-
#: ../pro/classes/controllers/FrmProCreditCardsController.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3324 |
msgid "Expiration Month"
|
3325 |
msgstr ""
|
3326 |
|
3327 |
-
#: ../pro/classes/controllers/FrmProCreditCardsController.php:
|
3328 |
msgid "Expiration Year"
|
3329 |
msgstr ""
|
3330 |
|
3331 |
-
#: ../pro/classes/controllers/FrmProCreditCardsController.php:
|
3332 |
msgid "Card number"
|
3333 |
msgstr ""
|
3334 |
|
3335 |
-
#: ../pro/classes/controllers/FrmProCreditCardsController.php:
|
3336 |
msgid "CVC"
|
3337 |
msgstr ""
|
3338 |
|
@@ -3413,42 +3433,42 @@ msgstr ""
|
|
3413 |
msgid "There are no views with that ID"
|
3414 |
msgstr ""
|
3415 |
|
3416 |
-
#: ../pro/classes/controllers/FrmProEddController.php:
|
3417 |
#, php-format
|
3418 |
msgid ""
|
3419 |
"Your %1$s license key is missing. Please add it on the %2$sGlobal Settings "
|
3420 |
"page%3$s."
|
3 |