gravity forms update
@@ -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')));
|
||||
@@ -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')));
|
||||
@@ -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.
|
||||
|
||||
|
Before Width: | Height: | Size: 433 KiB After Width: | Height: | Size: 433 KiB |
|
Before Width: | Height: | Size: 49 KiB After Width: | Height: | Size: 49 KiB |
@@ -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 ) ) {
|
||||
|
||||
|
Before Width: | Height: | Size: 199 B After Width: | Height: | Size: 199 B |
|
Before Width: | Height: | Size: 268 B After Width: | Height: | Size: 268 B |
|
Before Width: | Height: | Size: 402 B After Width: | Height: | Size: 402 B |
|
Before Width: | Height: | Size: 219 B After Width: | Height: | Size: 219 B |
|
Before Width: | Height: | Size: 268 B After Width: | Height: | Size: 268 B |
|
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();
|
||||
|
||||
@@ -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 ) ) : '',
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
Before Width: | Height: | Size: 538 B After Width: | Height: | Size: 538 B |
|
Before Width: | Height: | Size: 738 B After Width: | Height: | Size: 738 B |