gravity forms update

This commit is contained in:
Tony Volpe
2024-06-17 15:47:38 -04:00
parent e4e274a9a7
commit c52ceefa4b
85 changed files with 359 additions and 295 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
<?php return array('hash_map' => array('admin-components.min.css' => array('version' => '9dd7d37048e495531735e0c92f01adaa', 'file' => 'admin-components.min.css'), 'admin-css-utilities.min.css' => array('version' => '047c723392c56ed67effb778811f50ea', 'file' => 'admin-css-utilities.min.css'), 'admin-icons.min.css' => array('version' => '520e7dcc452befec5f1c95e51400ec2d', 'file' => 'admin-icons.min.css'), 'admin-ie11.min.css' => array('version' => 'b1f15b2772b378a5549ac45eefe2fcb7', 'file' => 'admin-ie11.min.css'), 'admin-theme.min.css' => array('version' => '270baaa4a4676e49811a01a5c4a82772', 'file' => 'admin-theme.min.css'), 'admin.min.css' => array('version' => 'e55acd4e3136f482b5e7b84c6e05fbf4', 'file' => 'admin.min.css'), 'basic.min.css' => array('version' => '7c634fb5e58e3069852425c5fbda9ba2', 'file' => 'basic.min.css'), 'blocks.min.css' => array('version' => 'f7b147e3138419bb9db86d7e0b0bd5e5', 'file' => 'blocks.min.css'), 'common-css-utilities.min.css' => array('version' => '2633df3a029b0d34687e2d197707e947', 'file' => 'common-css-utilities.min.css'), 'editor.min.css' => array('version' => '2f49083c345e8bfb0963334961946713', 'file' => 'editor.min.css'), 'font-awesome.min.css' => array('version' => 'ab928ca9bd3a308082b143be8a422524', 'file' => 'font-awesome.min.css'), 'gravity-forms-common-icons.min.css' => array('version' => '7144d998edb50d92c9bd4e51d89e1248', 'file' => 'gravity-forms-common-icons.min.css'), 'gravity-forms-orbital-theme.min.css' => array('version' => 'd41d8cd98f00b204e9800998ecf8427e', 'file' => 'gravity-forms-orbital-theme.min.css'), 'gravity-forms-theme-foundation.min.css' => array('version' => '94744ebb37fc7f75e9394441b95baeff', 'file' => 'gravity-forms-theme-foundation.min.css'), 'gravity-forms-theme-framework.min.css' => array('version' => '7ed359ef17010b5a486e83c0767de750', 'file' => 'gravity-forms-theme-framework.min.css'), 'gravity-forms-theme-reset.min.css' => array('version' => '590d763581c57d55da02972ac0f387d2', 'file' => 'gravity-forms-theme-reset.min.css'), 'settings.min.css' => array('version' => '8c062a85042743d38d48ac37fb39810d', 'file' => 'settings.min.css'), 'setup-wizard.min.css' => array('version' => '7c1011a25f000c4eb8f1bcb85fa4dfa2', 'file' => 'setup-wizard.min.css'), 'template-library.min.css' => array('version' => '560c6c8266f8a6c5cf81077ad29c13a9', 'file' => 'template-library.min.css'), 'theme-components.min.css' => array('version' => 'd41d8cd98f00b204e9800998ecf8427e', 'file' => 'theme-components.min.css'), 'theme-ie11.min.css' => array('version' => '67ea51dbc2856d10c83352871408a6da', 'file' => 'theme-ie11.min.css'), 'theme.min.css' => array('version' => '6a7e3f08eafa3f4cd82cb28dfa574bfa', 'file' => 'theme.min.css')));
<?php return array('hash_map' => array('admin-components.min.css' => array('version' => 'f78e5368d8b599a78b9709de2178cf97', 'file' => 'admin-components.min.css'), 'admin-css-utilities.min.css' => array('version' => '047c723392c56ed67effb778811f50ea', 'file' => 'admin-css-utilities.min.css'), 'admin-icons.min.css' => array('version' => '520e7dcc452befec5f1c95e51400ec2d', 'file' => 'admin-icons.min.css'), 'admin-ie11.min.css' => array('version' => 'b1f15b2772b378a5549ac45eefe2fcb7', 'file' => 'admin-ie11.min.css'), 'admin-theme.min.css' => array('version' => '181487c53e25a62e81e1db77d7c504e3', 'file' => 'admin-theme.min.css'), 'admin.min.css' => array('version' => 'ad4bd4031a7381623aa492f221204300', 'file' => 'admin.min.css'), 'basic.min.css' => array('version' => '4bedfdb9cf94d64f854157dffba8b66f', 'file' => 'basic.min.css'), 'blocks.min.css' => array('version' => 'f7b147e3138419bb9db86d7e0b0bd5e5', 'file' => 'blocks.min.css'), 'common-css-utilities.min.css' => array('version' => '2633df3a029b0d34687e2d197707e947', 'file' => 'common-css-utilities.min.css'), 'editor.min.css' => array('version' => '2f49083c345e8bfb0963334961946713', 'file' => 'editor.min.css'), 'font-awesome.min.css' => array('version' => 'ab928ca9bd3a308082b143be8a422524', 'file' => 'font-awesome.min.css'), 'gravity-forms-common-icons.min.css' => array('version' => '7144d998edb50d92c9bd4e51d89e1248', 'file' => 'gravity-forms-common-icons.min.css'), 'gravity-forms-orbital-theme.min.css' => array('version' => 'd41d8cd98f00b204e9800998ecf8427e', 'file' => 'gravity-forms-orbital-theme.min.css'), 'gravity-forms-theme-foundation.min.css' => array('version' => '24e1aab73d398b04bedb185ac75f540d', 'file' => 'gravity-forms-theme-foundation.min.css'), 'gravity-forms-theme-framework.min.css' => array('version' => '7ed359ef17010b5a486e83c0767de750', 'file' => 'gravity-forms-theme-framework.min.css'), 'gravity-forms-theme-reset.min.css' => array('version' => '590d763581c57d55da02972ac0f387d2', 'file' => 'gravity-forms-theme-reset.min.css'), 'settings.min.css' => array('version' => '4cb83c6672a27a4c740ed77ad231fd11', 'file' => 'settings.min.css'), 'setup-wizard.min.css' => array('version' => '7c1011a25f000c4eb8f1bcb85fa4dfa2', 'file' => 'setup-wizard.min.css'), 'template-library.min.css' => array('version' => '560c6c8266f8a6c5cf81077ad29c13a9', 'file' => 'template-library.min.css'), 'theme-components.min.css' => array('version' => 'd41d8cd98f00b204e9800998ecf8427e', 'file' => 'theme-components.min.css'), 'theme-ie11.min.css' => array('version' => '67ea51dbc2856d10c83352871408a6da', 'file' => 'theme-ie11.min.css'), 'theme.min.css' => array('version' => '6a7e3f08eafa3f4cd82cb28dfa574bfa', 'file' => 'theme.min.css')));
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
<?php return array('hash_map' => array('admin-components.min.js' => array('version' => '900b46a84d21ec80529b4f9deceedcf2', 'file' => 'admin-components.min.js'), 'field-map.min.js' => array('version' => '84020c3233d4d733827697c497c6d21a', 'file' => 'field-map.min.js'), 'libraries.min.js' => array('version' => '6c0405e13e9ffc0d2b84693dc42b2b7e', 'file' => 'libraries.min.js'), 'react-utils.min.js' => array('version' => 'bbc3000c8a45e2682607d70a94364e8e', 'file' => 'react-utils.min.js'), 'scripts-admin.min.js' => array('version' => '57cbdd887648d4351e7c6f0788496f55', 'file' => 'scripts-admin.min.js'), 'scripts-theme.min.js' => array('version' => 'bab19fd84843dabc070e73326d787910', 'file' => 'scripts-theme.min.js'), 'utils.min.js' => array('version' => '2d19baeb93e2a0395e435793e50c082b', 'file' => 'utils.min.js'), 'vendor-admin.min.js' => array('version' => 'f9d49e7c9f6abe6e383e3ea7a39d5ed4', 'file' => 'vendor-admin.min.js'), 'vendor-theme.min.js' => array('version' => '54e7080aa7a02c83aa61fae430b9d869', 'file' => 'vendor-theme.min.js')));
<?php return array('hash_map' => array('admin-components.min.js' => array('version' => 'd3da429245df2304052f25a717f81f33', 'file' => 'admin-components.min.js'), 'field-map.min.js' => array('version' => 'e77eb20133d901fe111e6d657c4c91ee', 'file' => 'field-map.min.js'), 'libraries.min.js' => array('version' => '6c0405e13e9ffc0d2b84693dc42b2b7e', 'file' => 'libraries.min.js'), 'react-utils.min.js' => array('version' => 'bbbfda45ea7581abbbc9eb3813419642', 'file' => 'react-utils.min.js'), 'scripts-admin.min.js' => array('version' => '0d2a28828c0f16792ec10b3ace8829fe', 'file' => 'scripts-admin.min.js'), 'scripts-theme.min.js' => array('version' => 'bab19fd84843dabc070e73326d787910', 'file' => 'scripts-theme.min.js'), 'utils.min.js' => array('version' => '50c7bea9c2320e16728e44ae9fde5f26', 'file' => 'utils.min.js'), 'vendor-admin.min.js' => array('version' => '8136dae29cd48bfcaf5e37fffe3905fe', 'file' => 'vendor-admin.min.js'), 'vendor-theme.min.js' => array('version' => '54e7080aa7a02c83aa61fae430b9d869', 'file' => 'vendor-theme.min.js')));
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,5 +1,18 @@
### 2.8.12.1
- Improved performance of database queries by removing the legacy table check.
- Fixed an issue where custom styles for ajax-enabled forms using the "Orbital" theme are not rendered correctly on confirmation page or when navigating between pages in a multi-page form.
- Fixed an issue where the Ajax spinner init script is output in save and continue notifications, which can impact deliverability in some environments.
- Fixed an issue where a choice of 00 in the minute settings for the form scheduled start and end times changes to 01 on save.
- AF: Fixed an issue where a saved value of 0 is not displayed in text type settings.
### 2.8.12 | 2024-05-29
- Fixed an issue where a console error is thrown if gform.initializeOnLoaded is called directly.
- Fixed an issue where the Conversational Forms Add-On settings page is not displayed if the site is using a plugin to manage roles and capabilities.
### 2.8.11 | 2024-05-15
- Fixed an issue where some forms are broken due a missing gform variable caused by recent changes to the Dom_Parser class.
- Change the Dropdown component con compact view for the Droplist
- Updated package version
### 2.8.10 | 2024-05-14
- Fixed a fatal error when a user submits a form with files attached to the Save & Continue notification.
View File
View File
View File
View File

Before

Width:  |  Height:  |  Size: 433 KiB

After

Width:  |  Height:  |  Size: 433 KiB

View File
View File
View File
View File

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 49 KiB

View File
View File
@@ -861,7 +861,7 @@ class GFFormDisplay {
$post_render_script = '
jQuery(document).trigger("gform_pre_post_render", [{ formId: "' . $form_id . '", currentPage: "' . $current_page . '", abort: function() { this.preventDefault(); } }]);
if (event.defaultPrevented) {
if (event && event.defaultPrevented) {
return;
}
const gformWrapperDiv = document.getElementById( "gform_wrapper_' . $form_id . '" );
@@ -4810,7 +4810,6 @@ class GFFormDisplay {
</div>";
}
if ( ! $ajax ) {
/**
* Allows users to disable the spinner on non-ajax forms.
*
@@ -4821,12 +4820,13 @@ class GFFormDisplay {
* @return bool
*/
$always_show_spinner = gf_apply_filters( array( 'gform_always_show_spinner', $form_id ), true );
if ( ! $ajax && $always_show_spinner ) {
$default_spinner = GFCommon::get_base_url() . '/images/spinner.svg';
$spinner_url = gf_apply_filters( array( 'gform_ajax_spinner_url', $form_id ), $default_spinner, $form );
$theme_slug = self::get_form_theme_slug( $form );
$is_legacy = $default_spinner !== $spinner_url || in_array( $theme_slug, array( 'gravity-theme', 'legacy' ) );
$text .= '<script>gform.initializeOnLoaded( function() {' .
$resume_form .= '<script>gform.initializeOnLoaded( function() {' .
"gformInitSpinner( {$form_id}, '{$spinner_url}', " . ( $is_legacy ? 'true' : 'false' ) . " );" .
" });</script>";
}
@@ -5788,14 +5788,12 @@ class GFFormsModel {
public static function drop_tables() {
global $wpdb;
remove_filter( 'query', array( 'GFForms', 'filter_query' ) );
foreach ( GF_Forms_Model_Legacy::get_legacy_tables() as $table ) {
$wpdb->query( "DROP TABLE IF EXISTS $table" );
}
foreach ( self::get_tables() as $table ) {
$wpdb->query( "DROP TABLE IF EXISTS $table" );
}
add_filter( 'query', array( 'GFForms', 'filter_query' ) );
}
/**
@@ -5825,9 +5823,6 @@ class GFFormsModel {
$drop_tables = array_merge( $drop_tables, $legacy_tables );
// Prevent the legacy table query notice when they are dropped by wp_uninitialize_site().
remove_filter( 'query', array( 'GFForms', 'filter_query' ) );
return $drop_tables;
}
@@ -7823,11 +7818,11 @@ class GFFormsModel {
$form['scheduleForm'] = (bool) $form['scheduleForm'];
$form['scheduleStart'] = $form['scheduleForm'] ? wp_strip_all_tags( $form['scheduleStart'] ) : '';
$form['scheduleStartHour'] = $form['scheduleForm'] ? GFCommon::int_range( $form['scheduleStartHour'], 1, 12 ) : '';
$form['scheduleStartMinute'] = $form['scheduleForm'] ? GFCommon::int_range( $form['scheduleStartMinute'], 1, 60 ) : '';
$form['scheduleStartMinute'] = $form['scheduleForm'] ? GFCommon::int_range( $form['scheduleStartMinute'], 0, 59 ) : '';
$form['scheduleStartAmpm'] = $form['scheduleForm'] ? GFCommon::whitelist( $form['scheduleStartAmpm'], array( 'am', 'pm' ) ) : '';
$form['scheduleEnd'] = $form['scheduleForm'] ? wp_strip_all_tags( $form['scheduleEnd'] ) : '';
$form['scheduleEndHour'] = $form['scheduleForm'] ? GFCommon::int_range( $form['scheduleEndHour'], 1, 12 ) : '';
$form['scheduleEndMinute'] = $form['scheduleForm'] ? GFCommon::int_range( $form['scheduleEndMinute'], 1, 60 ) : '';
$form['scheduleEndMinute'] = $form['scheduleForm'] ? GFCommon::int_range( $form['scheduleEndMinute'], 0, 59 ) : '';
$form['scheduleEndAmpm'] = $form['scheduleForm'] ? GFCommon::whitelist( $form['scheduleEndAmpm'], array( 'am', 'pm' ) ) : '';
$form['schedulePendingMessage'] = $form['scheduleForm'] ? self::maybe_wp_kses( $form['schedulePendingMessage'] ) : '';
$form['scheduleMessage'] = $form['scheduleForm'] ? self::maybe_wp_kses( $form['scheduleMessage'] ) : '';
@@ -3,7 +3,7 @@
Plugin Name: Gravity Forms
Plugin URI: https://gravityforms.com
Description: Easily create web forms and manage form entries within the WordPress admin.
Version: 2.8.11
Version: 2.8.12.1
Requires at least: 4.0
Requires PHP: 5.6
Author: Gravity Forms
@@ -204,7 +204,6 @@ add_action( 'init', array( 'GFForms', 'init_buffer' ) );
add_filter( 'upgrader_pre_install', array( 'GFForms', 'validate_upgrade' ), 10, 2 );
add_filter( 'tiny_mce_before_init', array( 'GFForms', 'modify_tiny_mce_4' ), 20 );
add_filter( 'user_has_cap', array( 'RGForms', 'user_has_cap' ), 10, 4 );
add_filter( 'query', array( 'GFForms', 'filter_query' ) );
add_filter( 'plugin_auto_update_setting_html', array( 'GFForms', 'auto_update_message' ), 9, 3 );
add_filter( 'plugin_auto_update_debug_string', array( 'GFForms', 'auto_update_debug_message' ), 10, 4 );
@@ -245,7 +244,7 @@ class GFForms {
*
* @var string $version The version number.
*/
public static $version = '2.8.11';
public static $version = '2.8.12.1';
/**
* Handles background upgrade tasks.
@@ -2125,7 +2124,7 @@ class GFForms {
$display_title = ! isset( $args['title'] ) || ! empty( $args['title'] ) ? true : false;
$display_description = ! isset( $args['description'] ) || ! empty( $args['description'] ) ? true : false;
$tabindex = isset( $args['tabindex'] ) ? absint( $args['tabindex'] ) : 0;
$theme = isset( $args['theme'] ) ? GFCommon::strip_all_tags_from_json_string( $args['theme'] ) : null;
$theme = isset( $args['theme'] ) ? sanitize_text_field( $args['theme'] ) : null;
$styles = isset( $args['styles'] ) ? GFCommon::strip_all_tags_from_json_string( $args['styles'] ) : null;
parse_str( rgpost( 'gform_field_values' ), $field_values );
@@ -6596,12 +6595,14 @@ class GFForms {
* access tables that are not valid for this version of Gravity Forms.
*
* @since 2.3
* @deprecated 2.8.13
*
* @param $query
*
* @return string
*/
public static function filter_query( $query ) {
_deprecated_function( __METHOD__, '2.8.13' );
global $wpdb;
if ( preg_match( "/$wpdb->prefix(rg_lead_detail|rg_lead_meta|rg_lead_notes|rg_lead|rg_form_meta|rg_form_view|rg_form|rg_incomplete_submissions)/", $query, $matches ) ) {
View File

Before

Width:  |  Height:  |  Size: 199 B

After

Width:  |  Height:  |  Size: 199 B

View File

Before

Width:  |  Height:  |  Size: 268 B

After

Width:  |  Height:  |  Size: 268 B

View File

Before

Width:  |  Height:  |  Size: 402 B

After

Width:  |  Height:  |  Size: 402 B

View File

Before

Width:  |  Height:  |  Size: 219 B

After

Width:  |  Height:  |  Size: 219 B

View File

Before

Width:  |  Height:  |  Size: 268 B

After

Width:  |  Height:  |  Size: 268 B

View File

Before

Width:  |  Height:  |  Size: 404 B

After

Width:  |  Height:  |  Size: 404 B

@@ -205,6 +205,7 @@ abstract class GFAddOn {
->set_form_css_properties( array( $this, 'theme_layer_form_css_properties' ) )
->set_styles( array( $this, 'theme_layer_styles' ) )
->set_scripts( array( $this, 'theme_layer_scripts' ) )
->set_capability( $this->get_form_settings_capabilities() )
->register();
add_action( 'gform_form_after_open', array( $this, 'output_third_party_styles' ), 998, 2 );
}
@@ -1644,8 +1645,8 @@ abstract class GFAddOn {
$caps = array();
// Add capabilities.
if ( ! empty( $this->_capabilities_form_settings ) && is_string( $this->_capabilities_form_settings ) ) {
$caps[ $this->_capabilities_form_settings ] = esc_html__( 'Form Settings', 'gravityforms' );
if ( ! empty( $this->get_form_settings_capabilities() ) && is_string( $this->get_form_settings_capabilities() ) ) {
$caps[ $this->get_form_settings_capabilities() ] = esc_html__( 'Form Settings', 'gravityforms' );
}
if ( ! empty( $this->_capabilities_uninstall ) && is_string( $this->_capabilities_uninstall ) ) {
$caps[ $this->_capabilities_uninstall ] = esc_html__( 'Uninstall', 'gravityforms' );
@@ -4174,6 +4175,15 @@ abstract class GFAddOn {
//-------------- Form settings ---------------------------------------------------
/**
* Get the capabilities required to access the form settings page.
*
* @return array
*/
public function get_form_settings_capabilities() {
return $this->_capabilities_form_settings;
}
/**
* Initializes form settings page
* Hooks up the required scripts and actions for the Form Settings page
@@ -4183,7 +4193,7 @@ abstract class GFAddOn {
$subview = rgget( 'subview' );
add_filter( 'gform_form_settings_menu', array( $this, 'add_form_settings_menu' ), 10, 2 );
if ( rgget( 'page' ) == 'gf_edit_forms' && $view == 'settings' && $subview == $this->get_slug() && $this->current_user_can_any( $this->_capabilities_form_settings ) ) {
if ( rgget( 'page' ) == 'gf_edit_forms' && $view == 'settings' && $subview == $this->get_slug() && $this->current_user_can_any( $this->get_form_settings_capabilities() ) ) {
require_once( GFCommon::get_base_path() . '/tooltips.php' );
add_action( 'gform_form_settings_page_' . $this->get_slug(), array( $this, 'form_settings_page' ) );
@@ -4214,7 +4224,7 @@ abstract class GFAddOn {
// Initialize new settings renderer.
$renderer = new Settings(
array(
'capability' => $this->_capabilities_form_settings,
'capability' => $this->get_form_settings_capabilities(),
'fields' => $sections,
'initial_values' => $this->get_form_settings( $form ),
'save_callback' => function( $values ) use ( $form ) {
@@ -4697,7 +4707,7 @@ abstract class GFAddOn {
'name' => $this->get_slug(),
'label' => $this->get_short_title(),
'query' => array( 'fid' => null ),
'capabilities' => $this->_capabilities_form_settings,
'capabilities' => $this->get_form_settings_capabilities(),
'icon' => $this->get_menu_icon(),
'icon_namespace' => $this->get_icon_namespace(),
);
@@ -5446,7 +5456,6 @@ abstract class GFAddOn {
// remove entry meta
$meta_table = version_compare( GFFormsModel::get_database_version(), '2.3-dev-1', '<' ) ? GFFormsModel::get_lead_meta_table_name() : GFFormsModel::get_entry_meta_table_name();
remove_filter( 'query', array( 'GFForms', 'filter_query' ) );
foreach ( $forms as $form ) {
$all_form_ids[] = $form->id;
$entry_meta = $this->get_entry_meta( array(), $form->id );
@@ -5457,7 +5466,6 @@ abstract class GFAddOn {
}
}
}
add_filter( 'query', array( 'GFForms', 'filter_query' ) );
//remove form settings
if ( ! empty( $all_form_ids ) ) {
@@ -1262,7 +1262,7 @@ abstract class GFFeedAddOn extends GFAddOn {
public function ajax_toggle_is_active() {
check_ajax_referer( 'feed_list', 'nonce' );
if ( ! $this->current_user_can_any( $this->_capabilities_form_settings ) ) {
if ( ! $this->current_user_can_any( $this->get_form_settings_capabilities() ) ) {
wp_send_json_error( array( 'message' => esc_html__( 'Access denied.', 'gravityforms' ) ) );
}
@@ -1279,7 +1279,7 @@ abstract class GFFeedAddOn extends GFAddOn {
public function ajax_save_feed_order() {
check_ajax_referer( 'gform_feed_order', 'nonce' );
if ( ! $this->current_user_can_any( $this->_capabilities_form_settings ) ) {
if ( ! $this->current_user_can_any( $this->get_form_settings_capabilities() ) ) {
return;
}
@@ -1371,7 +1371,7 @@ abstract class GFFeedAddOn extends GFAddOn {
// Initialize new settings renderer.
$renderer = new Settings(
array(
'capability' => $this->_capabilities_form_settings,
'capability' => $this->get_form_settings_capabilities(),
'initial_values' => rgar( $current_feed, 'meta' ),
'save_callback' => function( $values ) use ( $feed_id ) {
@@ -1584,7 +1584,7 @@ abstract class GFFeedAddOn extends GFAddOn {
check_admin_referer( $this->get_slug() . '_save_settings', '_' . $this->get_slug() . '_save_settings_nonce' );
if ( ! $this->current_user_can_any( $this->_capabilities_form_settings ) ) {
if ( ! $this->current_user_can_any( $this->get_form_settings_capabilities() ) ) {
GFCommon::add_error_message( esc_html__( "You don't have sufficient permissions to update the form settings.", 'gravityforms' ) );
return $feed_id;
}
@@ -76,7 +76,6 @@ class GF_Background_Upgrader extends GF_Background_Process {
}
if ( is_callable( $callback ) ) {
remove_filter( 'query', array( 'GFForms', 'filter_query' ) );
GFCommon::log_debug( sprintf( '%s(): Running callback: %s', __METHOD__, print_r( $callback, 1 ) ) );
$needs_more_time = call_user_func( $callback );
if ( $needs_more_time ) {
@@ -1379,8 +1379,6 @@ WHERE ln.id NOT IN
* Upgrade routine from gravity forms version 2.0.4.7 and below
*/
protected function post_upgrade_schema_2047() {
remove_filter( 'query', array( 'GFForms', 'filter_query' ) );
global $wpdb;
$versions = $this->get_versions();
View File
View File
@@ -62,7 +62,7 @@ class Text extends Base {
esc_attr( $this->input_type ),
esc_attr( $this->settings->get_input_name_prefix() ),
esc_attr( $this->name ),
$value ? esc_attr( htmlspecialchars( $value, ENT_QUOTES ) ) : '',
! rgblank( $value ) ? esc_attr( htmlspecialchars( $value, ENT_QUOTES ) ) : '',
$this->get_describer() ? sprintf( 'aria-describedby="%s"', $this->get_describer() ) : '',
implode( ' ', $this->get_attributes() ),
isset( $this->append ) ? sprintf( '<span class="gform-settings-field__text-append">%s</span>', esc_html( $this->append ) ) : '',
View File
@@ -188,4 +188,18 @@ class Theme_Layer_Builder {
return $this;
}
/**
* Setter for capability.
*
* @param $capability
*
* @return $this
*/
public function set_capability( $capability ) {
$this->layer->set_capability( $capability );
return $this;
}
}
@@ -100,4 +100,8 @@ class Fluent_Theme_Layer extends GF_All_Access_Theme_Layer {
$this->icon = $icon;
}
public function set_capability( $capability ) {
$this->form_settings_capability = $capability;
}
}
@@ -85,6 +85,7 @@ class GF_Theme_Layers extends \GFAddOn {
'theme_layer' => $layer->name(),
'subview' => $this->get_slug(),
),
'capabilities' => $layer->get_form_settings_capability(),
);
}
@@ -104,4 +105,24 @@ class GF_Theme_Layers extends \GFAddOn {
return array();
}
/**
* Get the form settings capabilities.
*/
public function get_form_settings_capabilities() {
static $caps;
if ( empty( $caps ) ) {
$theme_layers = \GFForms::get_service_container()->get( GF_Theme_Layers_Provider::THEME_LAYERS );
foreach ( $theme_layers as $layer ) {
/**
* @var GF_Theme_Layer $layer
*/
$caps[ $layer->name() ] = $layer->get_form_settings_capability();
}
}
return rgar( $caps, rgget( 'theme_layer' ) );
}
}
@@ -21,6 +21,8 @@ abstract class GF_Theme_Layer {
protected $short_title;
protected $priority;
protected $form_settings_capability;
/**
* @var Definition_Engine[]
*/
@@ -142,4 +144,13 @@ abstract class GF_Theme_Layer {
return $this->icon;
}
/**
* Getter for form_settings_capability
*
* @return string
*/
public function get_form_settings_capability() {
return $this->form_settings_capability;
}
}
View File
View File
View File
View File
File diff suppressed because it is too large Load Diff
View File

Before

Width:  |  Height:  |  Size: 538 B

After

Width:  |  Height:  |  Size: 538 B

View File

Before

Width:  |  Height:  |  Size: 738 B

After

Width:  |  Height:  |  Size: 738 B

View File
View File