plugin updates
This commit is contained in:
@@ -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.14
|
||||
Version: 2.8.15
|
||||
Requires at least: 4.0
|
||||
Requires PHP: 5.6
|
||||
Author: Gravity Forms
|
||||
@@ -121,7 +121,7 @@ define( 'GF_SUPPORTED_WP_VERSION', version_compare( get_bloginfo( 'version' ), G
|
||||
*
|
||||
* @var string GF_MIN_WP_VERSION_SUPPORT_TERMS The version number
|
||||
*/
|
||||
define( 'GF_MIN_WP_VERSION_SUPPORT_TERMS', '6.4' );
|
||||
define( 'GF_MIN_WP_VERSION_SUPPORT_TERMS', '6.5' );
|
||||
|
||||
/**
|
||||
* The filesystem path of the directory that contains the plugin, includes trailing slash.
|
||||
@@ -244,7 +244,7 @@ class GFForms {
|
||||
*
|
||||
* @var string $version The version number.
|
||||
*/
|
||||
public static $version = '2.8.14';
|
||||
public static $version = '2.8.15';
|
||||
|
||||
/**
|
||||
* Handles background upgrade tasks.
|
||||
@@ -1931,27 +1931,210 @@ class GFForms {
|
||||
*/
|
||||
public static function modify_admin_title( $admin_title, $title ) {
|
||||
|
||||
$subview = rgget( 'subview' );
|
||||
$form_id = rgget( 'id' );
|
||||
$page = GFForms::get_page();
|
||||
|
||||
if ( ! $form_id || rgget( 'page' ) != 'gf_edit_forms' || rgget( 'view' ) != 'settings' ) {
|
||||
if ( $page === '' ) {
|
||||
return $admin_title;
|
||||
}
|
||||
|
||||
require_once( GFCommon::get_base_path() . '/form_settings.php' );
|
||||
|
||||
$setting_tabs = GFFormSettings::get_tabs( $form_id );
|
||||
$page_title = '';
|
||||
|
||||
foreach ( $setting_tabs as $tab ) {
|
||||
if ( $tab['name'] == $subview ) {
|
||||
$page_title = $tab['label'];
|
||||
}
|
||||
$form_id = rgget( 'id' );
|
||||
if ( ! $form_id ) {
|
||||
$forms = RGFormsModel::get_forms( null, 'title' );
|
||||
$form_id = ( ! empty( $forms ) ) ? $forms[0]->id : '';
|
||||
}
|
||||
|
||||
if ( $page_title ) {
|
||||
$admin_title = sprintf( __( '%1$s ‹ %2$s — WordPress', 'gravityforms' ), esc_html( $page_title ), $admin_title );
|
||||
}
|
||||
$form = GFAPI::get_form( $form_id );
|
||||
$form_title = rgar( $form, 'title', __( 'Form Not Found', 'gravityforms' ) );
|
||||
|
||||
switch ( $page ) {
|
||||
case 'new_form':
|
||||
case 'form_list':
|
||||
$filter_title = '';
|
||||
$filter = rgget( 'filter' );
|
||||
|
||||
if ( $filter === 'inactive' ) {
|
||||
$filter_title = __( 'Inactive', 'gravityforms' );
|
||||
}
|
||||
|
||||
if ( $filter === 'active' ) {
|
||||
$filter_title =__( 'Active', 'gravityforms' );
|
||||
}
|
||||
|
||||
if ( $filter === 'trash' ) {
|
||||
$filter_title = __( 'Trash', 'gravityforms' );
|
||||
}
|
||||
|
||||
$search = rgget( 's' );
|
||||
if ( ! rgblank( $search ) ) {
|
||||
/* translators: Search entries page title. 1. Search value */
|
||||
$filter_title = sprintf( __( 'Search Forms: %1$s', 'gravityforms' ), esc_html( $search ) );
|
||||
}
|
||||
|
||||
if ( ! rgblank( $filter_title ) ) {
|
||||
$admin_title = sprintf( '%1$s — %2$s', esc_html( $filter_title ), esc_html( $admin_title ) );
|
||||
}
|
||||
break;
|
||||
|
||||
case 'form_editor':
|
||||
$admin_title = sprintf( '%1$s ‹ %2$s', esc_html( $form_title ), esc_html( $admin_title ) );
|
||||
break;
|
||||
|
||||
case 'confirmation':
|
||||
$page_title = __( 'Confirmations', 'gravityforms' );
|
||||
$confirmation_id = rgget( 'cid' );
|
||||
|
||||
if ( $confirmation_id !== '' ) {
|
||||
$confirmation_name = rgars( $form, "confirmations/{$confirmation_id}/name", __( 'New Confirmation', 'gravityforms' ) );
|
||||
$page_title = sprintf( '%1$s ‹ %2$s', esc_html( $confirmation_name ), esc_html( $page_title ) );
|
||||
}
|
||||
|
||||
$admin_title = sprintf( '%1$s ‹ %2$s ‹ %3$s', esc_html( $page_title ), esc_html( $form_title ), esc_html( $admin_title ) );
|
||||
break;
|
||||
|
||||
case 'entry_list':
|
||||
$filter = rgget( 'filter' );
|
||||
|
||||
if ( $filter === 'star' ) {
|
||||
/* translators: Starred entry list page title. 1. form title */
|
||||
$form_title = sprintf( __( 'Starred — %1$s', 'gravityforms' ), esc_html( $form_title ) );
|
||||
}
|
||||
|
||||
if ( $filter === 'unread' ) {
|
||||
/* translators: Unread entry list page title. 1. form title */
|
||||
$form_title = sprintf( __( 'Unread — %1$s', 'gravityforms' ), esc_html( $form_title ) );
|
||||
}
|
||||
|
||||
if ( $filter === 'spam' ) {
|
||||
/* translators: Active entry list page title. 1. form title */
|
||||
$form_title = sprintf( __( 'Spam — %1$s', 'gravityforms' ), esc_html( $form_title ) );
|
||||
}
|
||||
|
||||
if ( $filter === 'trash' ) {
|
||||
/* translators: Trash entry list page title. 1. form title */
|
||||
$form_title = sprintf( __( 'Trash — %1$s', 'gravityforms' ), esc_html( $form_title ) );
|
||||
}
|
||||
|
||||
$search = rgget( 's' );
|
||||
if ( ! rgblank( $search ) ) {
|
||||
/* translators: Search entries page title. 1. Search value, 2. Form title. */
|
||||
$form_title = sprintf( __( 'Search Entries: %1$s — %2$s', 'gravityforms' ), esc_html( $search ), esc_html( $form_title ) );
|
||||
}
|
||||
|
||||
$admin_title = sprintf( '%1$s ‹ %2$s', esc_html( $form_title ), esc_html( $admin_title ) );
|
||||
break;
|
||||
|
||||
case 'entry_detail':
|
||||
case 'entry_detail_edit':
|
||||
require_once( GFCommon::get_base_path() . '/entry_detail.php' );
|
||||
|
||||
$entry = GFEntryDetail::get_current_entry();
|
||||
|
||||
if ( ! is_wp_error( $entry ) && isset( $entry['id'] ) ) {
|
||||
/* translators: Single entry page title. 1: entry ID, 2: form title, 3: admin title. */
|
||||
$admin_title = sprintf( __( 'Entry # %1$d ‹ %2$s ‹ %3$s', 'gravityforms' ), esc_html( $entry['id'] ), esc_html( $form_title ), esc_html( $admin_title ) );
|
||||
} else {
|
||||
/* translators: Entry not found page title. 1: form title, 2: admin title. */
|
||||
$admin_title = sprintf( __( 'Entry not found ‹ %1$s ‹ %2$s', 'gravityforms' ), esc_html( $form_title ), esc_html( $admin_title ) );
|
||||
}
|
||||
break;
|
||||
|
||||
case 'notification_list':
|
||||
/* translators: Notifications list page title. 1: form title, 2: admin title. */
|
||||
$admin_title = sprintf( __( 'Notifications ‹ %1$s ‹ %2$s' ), esc_html( $form_title ), esc_html( $admin_title ) );
|
||||
break;
|
||||
|
||||
case 'notification_new':
|
||||
case 'notification_edit':
|
||||
$notification_id = rgget( 'nid' );
|
||||
$notification_name = rgar( $form, "notifications/{$notification_id}/name", __( 'New Notification', 'gravityforms' ) );
|
||||
$page_title = __( 'Notifications', 'gravityforms' );
|
||||
$admin_title = sprintf( '%1$s ‹ %2$s ‹ %3$s ‹ %4$s', esc_html( $notification_name ), esc_html( $page_title ), esc_html( $form_title ), esc_html( $admin_title ) );
|
||||
break;
|
||||
|
||||
case 'settings':
|
||||
$page_title = __( 'Settings', 'gravityforms' );
|
||||
$subview = rgget( 'subview' );
|
||||
|
||||
if ( $subview === 'recaptcha' ) {
|
||||
$page_title = __( 'reCAPTCHA', 'gravityforms' );
|
||||
}
|
||||
|
||||
if ( $subview === 'uninstall' ) {
|
||||
$page_title = __( 'Uninstall', 'gravityforms' );
|
||||
}
|
||||
if ( $page_title === 'Settings' ) {
|
||||
$addon_page = GFSettings::$addon_pages;
|
||||
if ( isset( $addon_page[ $subview ] ) ) {
|
||||
$page_title = rgar( $addon_page[ $subview ], 'tab_label' );
|
||||
}
|
||||
}
|
||||
|
||||
/* Translators: Settings page title. 1. Page Title. */
|
||||
$admin_title = sprintf( '%1$s ‹ %2$s', esc_html( $page_title ), esc_html( $admin_title ) );
|
||||
break;
|
||||
|
||||
case 'addons':
|
||||
break;
|
||||
|
||||
case 'export_form':
|
||||
/* Translators: Export Form page title. 1: Admin title. */
|
||||
$admin_title = sprintf( __( 'Export Forms ‹ %1$s', 'gravityforms' ), esc_html( $admin_title ) );
|
||||
break;
|
||||
|
||||
case 'import_form':
|
||||
/* Translators: Import form page title. 1: Admin title. */
|
||||
$admin_title = sprintf( __( 'Import Forms ‹ %1$s', 'gravityforms' ), esc_html( $admin_title ) );
|
||||
break;
|
||||
|
||||
case 'export_entry':
|
||||
/* Translators: Export Entry page title. 1: Admin title. */
|
||||
$admin_title = sprintf( __( 'Export Entries ‹ %1$s', 'gravityforms' ), esc_html( $admin_title ) );
|
||||
break;
|
||||
|
||||
case 'updates':
|
||||
/* Translators: Updates page title. 1: Admin title. */
|
||||
$admin_title = sprintf( __( 'Updates ‹ %1$s', 'gravityforms' ), esc_html( $admin_title ) );
|
||||
break;
|
||||
|
||||
case 'system_status':
|
||||
$subview = rgget( 'subview' );
|
||||
$page_title = __( 'System Status', 'gravityforms' );
|
||||
|
||||
if ( rgblank( $subview ) ) {
|
||||
/* Translators: System report page title. 1: Admin title. */
|
||||
$admin_title = sprintf( __( 'System Report ‹ %1$s ‹ Gravity Forms — WordPress', 'gravityforms' ), esc_html( $page_title ) );
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 'form_settings':
|
||||
case 'personal_data':
|
||||
default:
|
||||
if ( rgget( 'view' ) === 'settings' ) {
|
||||
require_once( GFCommon::get_base_path() . '/form_settings.php' );
|
||||
|
||||
$form_id = rgget( 'id' );
|
||||
$setting_tabs = GFFormSettings::get_tabs( $form_id );
|
||||
$page_title = '';
|
||||
$subview = rgget( 'subview' );
|
||||
|
||||
if ( ! $subview || $subview === '' && ! empty( $setting_tabs ) ) {
|
||||
$subview = rgar( $setting_tabs[0], 'name', 'settings' );
|
||||
}
|
||||
|
||||
foreach ( $setting_tabs as $tab ) {
|
||||
if ( $tab['name'] === $subview || ( $subview === 'gf_theme_layers' && rgget( 'theme_layer' ) === $tab['name'] ) ) {
|
||||
$page_title = $tab['label'];
|
||||
}
|
||||
}
|
||||
|
||||
if ( $page_title ) {
|
||||
$admin_title = sprintf( '%1$s ‹ %2$s ‹ %3$s', esc_html( $page_title ), esc_html( $form_title ), esc_html( $admin_title ) );
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
return $admin_title;
|
||||
}
|
||||
@@ -3307,15 +3490,15 @@ class GFForms {
|
||||
return 'results';
|
||||
}
|
||||
|
||||
if ( rgget( 'page' ) == 'gf_export' && ( rgget( 'view' ) == 'export_entry' || ! isset( $_GET['view'] ) ) ) {
|
||||
if ( rgget( 'page' ) == 'gf_export' && ( rgget( 'subview' ) == 'export_entry' || ! isset( $_GET['subview'] ) ) ) {
|
||||
return 'export_entry';
|
||||
}
|
||||
|
||||
if ( rgget( 'page' ) == 'gf_export' && rgget( 'view' ) == 'export_form' ) {
|
||||
if ( rgget( 'page' ) == 'gf_export' && rgget( 'subview' ) == 'export_form' ) {
|
||||
return 'export_form';
|
||||
}
|
||||
|
||||
if ( rgget( 'page' ) == 'gf_export' && rgget( 'view' ) == 'import_form' ) {
|
||||
if ( rgget( 'page' ) == 'gf_export' && rgget( 'subview' ) == 'import_form' ) {
|
||||
return 'import_form';
|
||||
}
|
||||
|
||||
@@ -6335,11 +6518,9 @@ class GFForms {
|
||||
GFCommon::record_cron_event( 'gravityforms_cron' );
|
||||
|
||||
self::add_security_files();
|
||||
|
||||
self::delete_old_export_files();
|
||||
|
||||
self::delete_old_log_files();
|
||||
|
||||
self::delete_old_tmp_uploads();
|
||||
self::do_self_healing();
|
||||
|
||||
if ( ! get_option( 'gform_enable_logging' ) ) {
|
||||
@@ -6354,6 +6535,46 @@ class GFForms {
|
||||
GFCommon::log_debug( __METHOD__ . '(): Done.' );
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes old tmp files from the form-specific upload folders.
|
||||
*
|
||||
* @since 2.8.15
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public static function delete_old_tmp_uploads() {
|
||||
GFCommon::log_debug( __METHOD__ . '(): Starting.' );
|
||||
$uploads_folder = GFFormsModel::get_upload_root();
|
||||
if ( ! is_dir( $uploads_folder ) || is_link( $uploads_folder ) ) {
|
||||
GFCommon::log_debug( __METHOD__ . '(): No upload root - bailing.' );
|
||||
return;
|
||||
}
|
||||
|
||||
$exclude = array( '.', '..', 'logs', 'export', 'index.html', '.htaccess' );
|
||||
$folders = array_diff( scandir( $uploads_folder ), $exclude );
|
||||
if ( empty( $folders ) ) {
|
||||
GFCommon::log_debug( __METHOD__ . '(): No form folders found - bailing.' );
|
||||
return;
|
||||
}
|
||||
|
||||
require_once GFCommon::get_base_path() . '/form_display.php';
|
||||
|
||||
foreach ( $folders as $folder ) {
|
||||
$parts = explode( '-', $folder );
|
||||
if ( ! is_numeric( $parts[0] ) ) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$form = GFAPI::get_form( $parts[0] );
|
||||
if ( ! $form ) {
|
||||
continue;
|
||||
}
|
||||
|
||||
GFCommon::log_debug( __METHOD__ . '(): Deleting old tmp files for form #' . $form['id'] );
|
||||
GFFormDisplay::clean_up_files( $form, false );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes all entry export files from the server that haven't been claimed within 24 hours.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user