Completed
Push — develop ( 32f12c...df82b0 )
by Zack
53:29 queued 33:28
created
includes/class-gravityview-powered-by.php 1 patch
Indentation   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -69,7 +69,7 @@
 block discarded – undo
69 69
 
70 70
 		$url = add_query_arg( array(
71 71
 			'utm_source' => 'powered_by',
72
-            'utm_term' => get_bloginfo('name' ),
72
+			'utm_term' => get_bloginfo('name' ),
73 73
 		), $url );
74 74
 
75 75
 		/**
Please login to merge, or discard this patch.
includes/class-admin-installer.php 1 patch
Indentation   +94 added lines, -94 removed lines patch added patch discarded remove patch
@@ -66,9 +66,9 @@  discard block
 block discarded – undo
66 66
 	 */
67 67
 	public function add_downloads_data_filters() {
68 68
 
69
-	    $downloads_data = get_site_transient( self::DOWNLOADS_DATA_TRANSIENT );
69
+		$downloads_data = get_site_transient( self::DOWNLOADS_DATA_TRANSIENT );
70 70
 
71
-	    if ( ! $downloads_data && ! isset( $_GET['cache'] ) ) {
71
+		if ( ! $downloads_data && ! isset( $_GET['cache'] ) ) {
72 72
 			return;
73 73
 		}
74 74
 
@@ -97,7 +97,7 @@  discard block
 block discarded – undo
97 97
 	 */
98 98
 	public function add_admin_menu() {
99 99
 
100
-	    $menu_text = _x( 'Extensions', 'Extensions are WordPress plugins that add functionality to GravityView and Gravity Forms', 'gravityview' );
100
+		$menu_text = _x( 'Extensions', 'Extensions are WordPress plugins that add functionality to GravityView and Gravity Forms', 'gravityview' );
101 101
 
102 102
 		$menu_text = sprintf( '<span title="%s" style="margin: 0">%s</span>', esc_attr__( 'Plugins that extend GravityView and Gravity Forms functionality.', 'gravityview' ), $menu_text );
103 103
 
@@ -112,8 +112,8 @@  discard block
 block discarded – undo
112 112
 	}
113 113
 
114 114
 	/**
115
-     * When on the Installer page, show a different notice than on the Settings page
116
-     *
115
+	 * When on the Installer page, show a different notice than on the Settings page
116
+	 *
117 117
 	 * @param array $notice
118 118
 	 *
119 119
 	 * @return string License notice
@@ -121,10 +121,10 @@  discard block
 block discarded – undo
121 121
 	public function maybe_modify_license_notice( $notice = '' ) {
122 122
 
123 123
 		if ( ! gravityview()->request->is_admin( '', 'downloads' ) ) {
124
-            return $notice;
125
-        }
124
+			return $notice;
125
+		}
126 126
 
127
-        return esc_html__( 'Your license %s. Do you want access to these plugins? %sActivate your license%s or %sget a license here%s.', 'gravityview' );
127
+		return esc_html__( 'Your license %s. Do you want access to these plugins? %sActivate your license%s or %sget a license here%s.', 'gravityview' );
128 128
 	}
129 129
 
130 130
 	/**
@@ -162,43 +162,43 @@  discard block
 block discarded – undo
162 162
 	 * Get downloads data from transient or from API; save transient after getting data from API
163 163
 	 *
164 164
 	 * @return WP_Error|array If error, returns WP_Error. If not valid JSON, empty array. Otherwise, this structure: {
165
-     *   @type array  $info {
166
-     *       @type string $id int 17
167
-     *       @type string $slug Extension slug
168
-     *       @type string $title Extension title
169
-     *       @type string $create_date in '2018-07-19 20:03:10' format
170
-     *       @type string $modified_date
171
-     *       @type string $status
172
-     *       @type string $link URL to public plugin page
173
-     *       @type string $content
174
-     *       @type string $excerpt
175
-     *       @type string $thumbnail URL to thumbnail
176
-     *       @type array  $category Taxonomy details for the plugin's category {
177
-     *         @type int $term_id => int 30
178
-     *         @type string $name => string 'Plugins' (length=7)
179
-     *         @type string $slug => string 'plugins' (length=7)
180
-     *         @type int $term_group => int 0
181
-     *         @type int $term_taxonomy_id => int 30
182
-     *         @type string $taxonomy => string 'download_category' (length=17)
183
-     *         @type string $description => string '' (length=0)
184
-     *         @type int $parent => int 0
185
-     *         @type int $count => int 4
186
-     *         @type string $filter => string 'raw' (length=3)
187
-     *       }
188
-     *       @type array $tags {see $category above}
189
-     *       @type string $textdomain string 'gravityview' (length=11)
190
-     *   }
191
-     *   @type array $pricing array of `price_name_slugs` => '00.00' values, if price options exist
192
-     *   @type array $licensing {
193
-     *       @type bool   $enabled Is licensing enabled for the extension
194
-     *       @type string $version Version number
195
-     *       @type string $exp_unit Expiration unit ('years')
196
-     *       @type string $exp_length Expiration length ('1')
197
-     *   }
198
-     *   @type array $files Array of files. Empty if user has no access to the file. {
199
-     *       @type string $file string URL of the file download
200
-     *   }
201
-     * }
165
+	 *   @type array  $info {
166
+	 *       @type string $id int 17
167
+	 *       @type string $slug Extension slug
168
+	 *       @type string $title Extension title
169
+	 *       @type string $create_date in '2018-07-19 20:03:10' format
170
+	 *       @type string $modified_date
171
+	 *       @type string $status
172
+	 *       @type string $link URL to public plugin page
173
+	 *       @type string $content
174
+	 *       @type string $excerpt
175
+	 *       @type string $thumbnail URL to thumbnail
176
+	 *       @type array  $category Taxonomy details for the plugin's category {
177
+	 *         @type int $term_id => int 30
178
+	 *         @type string $name => string 'Plugins' (length=7)
179
+	 *         @type string $slug => string 'plugins' (length=7)
180
+	 *         @type int $term_group => int 0
181
+	 *         @type int $term_taxonomy_id => int 30
182
+	 *         @type string $taxonomy => string 'download_category' (length=17)
183
+	 *         @type string $description => string '' (length=0)
184
+	 *         @type int $parent => int 0
185
+	 *         @type int $count => int 4
186
+	 *         @type string $filter => string 'raw' (length=3)
187
+	 *       }
188
+	 *       @type array $tags {see $category above}
189
+	 *       @type string $textdomain string 'gravityview' (length=11)
190
+	 *   }
191
+	 *   @type array $pricing array of `price_name_slugs` => '00.00' values, if price options exist
192
+	 *   @type array $licensing {
193
+	 *       @type bool   $enabled Is licensing enabled for the extension
194
+	 *       @type string $version Version number
195
+	 *       @type string $exp_unit Expiration unit ('years')
196
+	 *       @type string $exp_length Expiration length ('1')
197
+	 *   }
198
+	 *   @type array $files Array of files. Empty if user has no access to the file. {
199
+	 *       @type string $file string URL of the file download
200
+	 *   }
201
+	 * }
202 202
 	 */
203 203
 	public function get_downloads_data() {
204 204
 
@@ -230,7 +230,7 @@  discard block
 block discarded – undo
230 230
 		) );
231 231
 
232 232
 		if ( is_wp_error( $response ) ) {
233
-		    gravityview()->log->error( "Extension data response is an error", array( 'data' => $response ) );
233
+			gravityview()->log->error( "Extension data response is an error", array( 'data' => $response ) );
234 234
 			return $response;
235 235
 		}
236 236
 
@@ -283,10 +283,10 @@  discard block
 block discarded – undo
283 283
                 <div class="gv-admin-installer-notice notice inline error">
284 284
                     <h3><?php esc_html_e( 'Extensions and plugins data cannot be loaded at the moment. Please try again later.', 'gravityview' ); ?></h3>
285 285
                     <?php
286
-                    if ( is_wp_error( $downloads_data ) ) {
287
-	                    echo wpautop( '<pre>' . esc_html( $downloads_data->get_error_message() ) . '</pre>' );
288
-                    }
289
-                    ?>
286
+					if ( is_wp_error( $downloads_data ) ) {
287
+						echo wpautop( '<pre>' . esc_html( $downloads_data->get_error_message() ) . '</pre>' );
288
+					}
289
+					?>
290 290
                 </div>
291 291
             </div>
292 292
 			<?php
@@ -342,9 +342,9 @@  discard block
 block discarded – undo
342 342
 	protected function render_download( $download, $wp_plugins ) {
343 343
 
344 344
 
345
-        $details = $this->get_download_display_details( $download, $wp_plugins );
345
+		$details = $this->get_download_display_details( $download, $wp_plugins );
346 346
 
347
-        $download_info = $details['download_info'];
347
+		$download_info = $details['download_info'];
348 348
 
349 349
 		?>
350 350
         <div class="item <?php echo esc_attr( $details['item_class'] ); ?>">
@@ -366,43 +366,43 @@  discard block
 block discarded – undo
366 366
 
367 367
                 <div class="addon-excerpt"><?php
368 368
 
369
-                    $excerpt = \GV\Utils::get( $download_info, 'installer_excerpt', $download_info['excerpt'] );
369
+					$excerpt = \GV\Utils::get( $download_info, 'installer_excerpt', $download_info['excerpt'] );
370 370
 
371
-                    // Allow some pure HTML tags, but remove everything else from the excerpt.
372
-                    $tags = array( '<strong>', '</strong>', '<em>', '</em>', '<code>', '</code>' );
373
-                    $replacements = array( '[b]', '[/b]', '[i]', '[/i]', '[code]', '[/code]' );
371
+					// Allow some pure HTML tags, but remove everything else from the excerpt.
372
+					$tags = array( '<strong>', '</strong>', '<em>', '</em>', '<code>', '</code>' );
373
+					$replacements = array( '[b]', '[/b]', '[i]', '[/i]', '[code]', '[/code]' );
374 374
 
375
-                    $excerpt = str_replace( $tags, $replacements, $excerpt );
376
-                    $excerpt = esc_html( strip_tags( $excerpt ) );
375
+					$excerpt = str_replace( $tags, $replacements, $excerpt );
376
+					$excerpt = esc_html( strip_tags( $excerpt ) );
377 377
 					$excerpt = str_replace( $replacements, $tags, $excerpt );
378 378
 
379 379
 					echo wpautop( $excerpt );
380
-                ?></div>
380
+				?></div>
381 381
             </div>
382 382
         </div>
383 383
 		<?php
384 384
 	}
385 385
 
386 386
 	/**
387
-     * Generates details array for the download to keep the render_download() method a bit tidier
388
-     *
387
+	 * Generates details array for the download to keep the render_download() method a bit tidier
388
+	 *
389 389
 	 * @param array $download Single download, as returned by {@see get_downloads_data}
390 390
 	 * @param array $wp_plugins All active plugins, as returned by {@see get_plugins()}
391 391
 	 *
392 392
 	 * @return array {
393
-     *   @type array $download_info
394
-     *   @type string $plugin_path
395
-     *   @type string $status License status returned by Easy Digital Downloads ("active", "inactive", "expired", "revoked", etc)
396
-     *   @type string $status_label
397
-     *   @type string $button_title Title attribute to show when hovering over the download's button
398
-     *   @type string $button_class CSS class to use for the button
399
-     *   @type string $button_label Text to use for the download's anchor link
400
-     *   @type string $href URL for the download's button
401
-     *   @type bool   $spinner Whether to show the spinner icon
402
-     *   @type string $item_class CSS class for the download container
403
-     *   @type string $required_license The name of the required license for the download ("All Access" or "Core + Extensions")
404
-     *   @type bool   $is_active Is the current GravityView license (as entered in Settings) active?
405
-     * }
393
+	 *   @type array $download_info
394
+	 *   @type string $plugin_path
395
+	 *   @type string $status License status returned by Easy Digital Downloads ("active", "inactive", "expired", "revoked", etc)
396
+	 *   @type string $status_label
397
+	 *   @type string $button_title Title attribute to show when hovering over the download's button
398
+	 *   @type string $button_class CSS class to use for the button
399
+	 *   @type string $button_label Text to use for the download's anchor link
400
+	 *   @type string $href URL for the download's button
401
+	 *   @type bool   $spinner Whether to show the spinner icon
402
+	 *   @type string $item_class CSS class for the download container
403
+	 *   @type string $required_license The name of the required license for the download ("All Access" or "Core + Extensions")
404
+	 *   @type bool   $is_active Is the current GravityView license (as entered in Settings) active?
405
+	 * }
406 406
 	 */
407 407
 	private function get_download_display_details( $download, $wp_plugins ) {
408 408
 
@@ -413,7 +413,7 @@  discard block
 block discarded – undo
413 413
 			'slug' => '',
414 414
 			'excerpt' => '',
415 415
 			'link' => '',
416
-            'coming_soon' => false,
416
+			'coming_soon' => false,
417 417
 			'installer_title' => null, // May not be defined
418 418
 			'installer_excerpt' => null, // May not be defined
419 419
 		) );
@@ -456,14 +456,14 @@  discard block
 block discarded – undo
456 456
 			$href         = 'https://gravityview.co/pricing/?utm_source=admin-installer&utm_medium=admin&utm_campaign=Admin%20Notice&utm_content=' . $required_license;
457 457
 		}
458 458
 
459
-        elseif ( ! empty( $download_info['coming_soon'] ) ) {
460
-	        $spinner      = false;
461
-	        $status       = 'notinstalled';
462
-	        $status_label = __( 'Coming Soon', 'gravityview' );
463
-	        $button_label = __( 'Learn More', 'gravityview' );
464
-	        $button_class = 'button-primary button-large';
465
-	        $href         = \GV\Utils::get( $download_info, 'link', 'https://gravityview.co/extensions/' );
466
-        }
459
+		elseif ( ! empty( $download_info['coming_soon'] ) ) {
460
+			$spinner      = false;
461
+			$status       = 'notinstalled';
462
+			$status_label = __( 'Coming Soon', 'gravityview' );
463
+			$button_label = __( 'Learn More', 'gravityview' );
464
+			$button_class = 'button-primary button-large';
465
+			$href         = \GV\Utils::get( $download_info, 'link', 'https://gravityview.co/extensions/' );
466
+		}
467 467
 
468 468
 		// Access but the plugin is not installed
469 469
 		elseif ( ! $wp_plugin ) {
@@ -503,18 +503,18 @@  discard block
 block discarded – undo
503 503
 		}
504 504
 
505 505
 		return compact( 'download_info','plugin_path', 'status', 'status_label', 'button_title', 'button_class', 'button_label', 'href', 'spinner', 'item_class', 'required_license', 'is_active' );
506
-    }
506
+	}
507 507
 
508 508
 	/**
509
-     * Returns the base price for an extension
510
-     *
509
+	 * Returns the base price for an extension
510
+	 *
511 511
 	 * @param array $download
512 512
 	 *
513 513
 	 * @return float Base price for an extension. If not for sale separately, returns 0
514 514
 	 */
515 515
 	private function get_download_base_price( $download ) {
516 516
 
517
-	    $base_price = \GV\Utils::get( $download, 'pricing/amount', 0 );
517
+		$base_price = \GV\Utils::get( $download, 'pricing/amount', 0 );
518 518
 		$base_price = \GFCommon::to_number( $base_price );
519 519
 
520 520
 		unset( $download['pricing']['amount'] );
@@ -525,7 +525,7 @@  discard block
 block discarded – undo
525 525
 		}
526 526
 
527 527
 		return floatval( $base_price );
528
-    }
528
+	}
529 529
 
530 530
 	/**
531 531
 	 * Handle AJAX request to activate extension
@@ -543,8 +543,8 @@  discard block
 block discarded – undo
543 543
 
544 544
 		if ( is_wp_error( $result ) || ! is_plugin_active( $data['path'] ) ) {
545 545
 			wp_send_json_error( array(
546
-                'error' => sprintf( __( 'Plugin activation failed: %s', 'gravityview' ), $result->get_error_message() )
547
-            ) );
546
+				'error' => sprintf( __( 'Plugin activation failed: %s', 'gravityview' ), $result->get_error_message() )
547
+			) );
548 548
 		}
549 549
 
550 550
 		wp_send_json_success();
@@ -565,10 +565,10 @@  discard block
 block discarded – undo
565 565
 		deactivate_plugins( $data['path'] );
566 566
 
567 567
 		if( is_plugin_active( $data['path'] ) ) {
568
-            wp_send_json_error( array(
569
-                'error' => sprintf( __( 'Plugin deactivation failed.', 'gravityview' ) )
570
-            ) );
571
-        }
568
+			wp_send_json_error( array(
569
+				'error' => sprintf( __( 'Plugin deactivation failed.', 'gravityview' ) )
570
+			) );
571
+		}
572 572
 
573 573
 		wp_send_json_success();
574 574
 	}
Please login to merge, or discard this patch.
includes/fields/class-gravityview-field-textarea.php 1 patch
Indentation   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -39,13 +39,13 @@
 block discarded – undo
39 39
 			'tooltip' => __( 'Enter the number of words to be shown. If specified it truncates the text. Leave it blank if you want to show the full text.', 'gravityview' ),
40 40
 		);
41 41
 
42
-        $field_options['make_clickable'] = array(
43
-            'type' => 'checkbox',
44
-            'merge_tags' => false,
45
-            'value' => 0,
46
-            'label' => __( 'Convert text URLs to HTML links', 'gravityview' ),
47
-            'tooltip' => __( 'Converts URI, www, FTP, and email addresses in HTML links', 'gravityview' ),
48
-        );
42
+		$field_options['make_clickable'] = array(
43
+			'type' => 'checkbox',
44
+			'merge_tags' => false,
45
+			'value' => 0,
46
+			'label' => __( 'Convert text URLs to HTML links', 'gravityview' ),
47
+			'tooltip' => __( 'Converts URI, www, FTP, and email addresses in HTML links', 'gravityview' ),
48
+		);
49 49
 
50 50
 		$field_options['allow_html'] = array(
51 51
 			'type' => 'checkbox',
Please login to merge, or discard this patch.
includes/admin/class.field.type.php 1 patch
Indentation   +176 added lines, -176 removed lines patch added patch discarded remove patch
@@ -10,107 +10,107 @@  discard block
 block discarded – undo
10 10
 	 *
11 11
 	 * @var string
12 12
 	 */
13
-    protected $name;
13
+	protected $name;
14 14
 
15 15
 	/**
16 16
 	 * Field settings
17 17
 	 *
18 18
 	 * @var array
19 19
 	 */
20
-    protected $field;
20
+	protected $field;
21 21
 
22 22
 	/**
23 23
 	 * Field current value
24 24
 	 *
25 25
 	 * @var mixed
26 26
 	 */
27
-    protected $value;
28
-
29
-    function __construct( $name = '', $field = array(), $curr_value = NULL ) {
30
-
31
-        $this->name = $name;
32
-
33
-        $defaults = self::get_field_defaults();
34
-
35
-        // Backward compatibility
36
-        if( !empty( $field['choices'] ) ) {
37
-        	$field['options'] = $field['choices'];
38
-        	unset( $field['choices'] );
39
-        }
40
-
41
-        $this->field =  wp_parse_args( $field, $defaults );
42
-
43
-        $this->value = is_null( $curr_value ) ? $this->field['value'] : $curr_value;
44
-
45
-    }
46
-
47
-    /**
48
-     * Returns the default details for a field option
49
-     *
50
-     * - default    // default option value, in case nothing is defined (@deprecated)
51
-     * - desc       // option description
52
-     * - value      // the option default value
53
-     * - label      // the option label
54
-     * - left_label // In case of checkboxes, left label will appear on the left of the checkbox
55
-     * - id         // the field id
56
-     * - type       // the option type ( text, checkbox, select, ... )
57
-     * - options    // when type is select, define the select options ('choices' is @deprecated)
58
-     * - merge_tags // if the option supports merge tags feature
59
-     * - class      // (new) define extra classes for the field
60
-     * - tooltip    //
61
-     *
62
-     * @return array
63
-     */
64
-    public static function get_field_defaults() {
65
-        return array(
66
-            'desc' => '',
67
-            'value' => null,
68
-            'label' => '',
69
-            'left_label' => null,
70
-            'id' => null,
71
-            'type'  => 'text',
72
-            'options' => null,
73
-            'merge_tags' => true,
74
-            'class' => '',
75
-            'tooltip' => null,
76
-            'requires' => null
77
-        );
78
-    }
79
-
80
-
81
-    function get_tooltip() {
82
-        if( ! function_exists('gform_tooltip') ) {
83
-            return null;
84
-        }
85
-
86
-	    $article = wp_parse_args( \GV\Utils::get( $this->field, 'article', array() ), array(
87
-	    	'id' => '',
88
-	    	'type' => 'modal',
89
-	    	'url' => '#',
90
-	    ) );
91
-
92
-        return !empty( $this->field['tooltip'] ) ? ' '. $this->tooltip( $this->field['tooltip'], false, true, $article ) : null;
93
-    }
94
-
95
-    /**
96
-     * Displays the tooltip
97
-     *
98
-     * @since 2.8.1
99
-     *
100
-     * @global $__gf_tooltips
101
-     *
102
-     * @param string $name      The name of the tooltip to be displayed
103
-     * @param string $css_class Optional. The CSS class to apply toi the element. Defaults to empty string.
104
-     * @param bool   $return    Optional. If the tooltip should be returned instead of output. Defaults to false (output)
105
-     * @param array  $article   Optional. Details about support doc article connected to the tooltip. {
106
-     *   @type string $id   Unique ID of article for Beacon API
107
-     *   @type string $url  URL of support doc article
108
-     *   @type string $type Type of Beacon element to open. {@see https://developer.helpscout.com/beacon-2/web/javascript-api/#beaconarticle}
109
-     * }
110
-     *
111
-     * @return string
112
-     */
113
-    function tooltip( $name, $css_class = '', $return = false, $article = array() ) {
27
+	protected $value;
28
+
29
+	function __construct( $name = '', $field = array(), $curr_value = NULL ) {
30
+
31
+		$this->name = $name;
32
+
33
+		$defaults = self::get_field_defaults();
34
+
35
+		// Backward compatibility
36
+		if( !empty( $field['choices'] ) ) {
37
+			$field['options'] = $field['choices'];
38
+			unset( $field['choices'] );
39
+		}
40
+
41
+		$this->field =  wp_parse_args( $field, $defaults );
42
+
43
+		$this->value = is_null( $curr_value ) ? $this->field['value'] : $curr_value;
44
+
45
+	}
46
+
47
+	/**
48
+	 * Returns the default details for a field option
49
+	 *
50
+	 * - default    // default option value, in case nothing is defined (@deprecated)
51
+	 * - desc       // option description
52
+	 * - value      // the option default value
53
+	 * - label      // the option label
54
+	 * - left_label // In case of checkboxes, left label will appear on the left of the checkbox
55
+	 * - id         // the field id
56
+	 * - type       // the option type ( text, checkbox, select, ... )
57
+	 * - options    // when type is select, define the select options ('choices' is @deprecated)
58
+	 * - merge_tags // if the option supports merge tags feature
59
+	 * - class      // (new) define extra classes for the field
60
+	 * - tooltip    //
61
+	 *
62
+	 * @return array
63
+	 */
64
+	public static function get_field_defaults() {
65
+		return array(
66
+			'desc' => '',
67
+			'value' => null,
68
+			'label' => '',
69
+			'left_label' => null,
70
+			'id' => null,
71
+			'type'  => 'text',
72
+			'options' => null,
73
+			'merge_tags' => true,
74
+			'class' => '',
75
+			'tooltip' => null,
76
+			'requires' => null
77
+		);
78
+	}
79
+
80
+
81
+	function get_tooltip() {
82
+		if( ! function_exists('gform_tooltip') ) {
83
+			return null;
84
+		}
85
+
86
+		$article = wp_parse_args( \GV\Utils::get( $this->field, 'article', array() ), array(
87
+			'id' => '',
88
+			'type' => 'modal',
89
+			'url' => '#',
90
+		) );
91
+
92
+		return !empty( $this->field['tooltip'] ) ? ' '. $this->tooltip( $this->field['tooltip'], false, true, $article ) : null;
93
+	}
94
+
95
+	/**
96
+	 * Displays the tooltip
97
+	 *
98
+	 * @since 2.8.1
99
+	 *
100
+	 * @global $__gf_tooltips
101
+	 *
102
+	 * @param string $name      The name of the tooltip to be displayed
103
+	 * @param string $css_class Optional. The CSS class to apply toi the element. Defaults to empty string.
104
+	 * @param bool   $return    Optional. If the tooltip should be returned instead of output. Defaults to false (output)
105
+	 * @param array  $article   Optional. Details about support doc article connected to the tooltip. {
106
+	 *   @type string $id   Unique ID of article for Beacon API
107
+	 *   @type string $url  URL of support doc article
108
+	 *   @type string $type Type of Beacon element to open. {@see https://developer.helpscout.com/beacon-2/web/javascript-api/#beaconarticle}
109
+	 * }
110
+	 *
111
+	 * @return string
112
+	 */
113
+	function tooltip( $name, $css_class = '', $return = false, $article = array() ) {
114 114
 		global $__gf_tooltips; //declared as global to improve WPML performance
115 115
 
116 116
 		$css_class = empty( $css_class ) ? 'tooltip' : $css_class;
@@ -128,17 +128,17 @@  discard block
 block discarded – undo
128 128
 		$tooltip_class = isset( $__gf_tooltips[ $name ] ) ? "tooltip_{$name}" : '';
129 129
 		$tooltip_class = esc_attr( $tooltip_class );
130 130
 
131
-	    /**
132
-	     * Below this line has been modified by GravityView.
133
-	     */
131
+		/**
132
+		 * Below this line has been modified by GravityView.
133
+		 */
134 134
 
135 135
 		if ( empty( $tooltip_text ) && empty( $article['id'] ) ) {
136 136
 			return '';
137 137
 		}
138 138
 
139 139
 		$url = '#';
140
-	    $atts = 'onclick="return false;" onkeypress="return false;"';
141
-	    $anchor_text = '<i class=\'fa fa-question-circle\'></i>';
140
+		$atts = 'onclick="return false;" onkeypress="return false;"';
141
+		$anchor_text = '<i class=\'fa fa-question-circle\'></i>';
142 142
 		$css_class = gravityview_sanitize_html_class( 'gf_tooltip ' . $css_class . ' ' . $tooltip_class );
143 143
 
144 144
 		$tooltip = sprintf( '<a href="%s" %s class="%s" title="%s" role="button">%s</a>',
@@ -149,11 +149,11 @@  discard block
 block discarded – undo
149 149
 			$anchor_text
150 150
 		);
151 151
 
152
-	    /**
153
-	     * Modify the tooltip HTML before outputting
154
-	     * @internal
155
-	     * @see GravityView_Support_Port::maybe_add_article_to_tooltip()
156
-	     */
152
+		/**
153
+		 * Modify the tooltip HTML before outputting
154
+		 * @internal
155
+		 * @see GravityView_Support_Port::maybe_add_article_to_tooltip()
156
+		 */
157 157
 		$tooltip = apply_filters( 'gravityview/tooltips/tooltip', $tooltip, $article, $url, $atts, $css_class, $tooltip_text, $anchor_text );
158 158
 
159 159
 		if ( ! $return ) {
@@ -163,84 +163,84 @@  discard block
 block discarded – undo
163 163
 		return $tooltip;
164 164
 	}
165 165
 
166
-    /**
167
-     * Build input id based on the name
168
-     * @return string
169
-     */
170
-    function get_field_id() {
171
-        if( isset( $this->field['id'] ) ) {
172
-            return esc_attr( $this->field['id'] );
173
-        }
174
-        return esc_attr( sanitize_html_class( $this->name ) );
175
-    }
176
-
177
-    /**
178
-     * Retrieve field label
179
-     * @return string
180
-     */
181
-    function get_field_label() {
182
-        return esc_html( trim( $this->field['label'] ) );
183
-    }
166
+	/**
167
+	 * Build input id based on the name
168
+	 * @return string
169
+	 */
170
+	function get_field_id() {
171
+		if( isset( $this->field['id'] ) ) {
172
+			return esc_attr( $this->field['id'] );
173
+		}
174
+		return esc_attr( sanitize_html_class( $this->name ) );
175
+	}
176
+
177
+	/**
178
+	 * Retrieve field label
179
+	 * @return string
180
+	 */
181
+	function get_field_label() {
182
+		return esc_html( trim( $this->field['label'] ) );
183
+	}
184 184
 
185 185
 	/**
186 186
 	 * Retrieve field left label
187
-     *
188
-     * @since 1.7
189
-     *
187
+	 *
188
+	 * @since 1.7
189
+	 *
190 190
 	 * @return string
191 191
 	 */
192 192
 	function get_field_left_label() {
193 193
 		return ! empty( $this->field['left_label'] ) ? esc_html( trim( $this->field['left_label'] ) ) : NULL;
194 194
 	}
195 195
 
196
-    /**
197
-     * Retrieve field label class
198
-     * @return string
199
-     */
200
-    function get_label_class() {
201
-        return 'gv-label-'. sanitize_html_class( $this->field['type'] );
202
-    }
203
-
204
-
205
-    /**
206
-     * Retrieve field description
207
-     * @return string
208
-     */
209
-    function get_field_desc() {
210
-        return !empty( $this->field['desc'] ) ? '<span class="howto">'. $this->field['desc'] .'</span>' : '';
211
-    }
212
-
213
-
214
-    /**
215
-     * Verify if field should have merge tags
216
-     * @return boolean
217
-     */
218
-    function show_merge_tags() {
219
-        // Show the merge tags if the field is a list view
220
-        $is_list = preg_match( '/_list-/ism', $this->name );
221
-        // Or is a single entry view
222
-        $is_single = preg_match( '/single_/ism', $this->name );
223
-
224
-        return ( $is_single || $is_list );
225
-    }
226
-
227
-
228
-
229
-    /**
230
-     * important! Override this class
231
-     * outputs the field option html
232
-     */
233
-    function render_option() {
234
-        // to replace on each field
235
-    }
236
-
237
-    /**
238
-     * important! Override this class if needed
239
-     * outputs the field setting html
240
-     */
241
-    function render_setting( $override_input = NULL ) {
242
-
243
-        if( !empty( $this->field['full_width'] ) ) { ?>
196
+	/**
197
+	 * Retrieve field label class
198
+	 * @return string
199
+	 */
200
+	function get_label_class() {
201
+		return 'gv-label-'. sanitize_html_class( $this->field['type'] );
202
+	}
203
+
204
+
205
+	/**
206
+	 * Retrieve field description
207
+	 * @return string
208
+	 */
209
+	function get_field_desc() {
210
+		return !empty( $this->field['desc'] ) ? '<span class="howto">'. $this->field['desc'] .'</span>' : '';
211
+	}
212
+
213
+
214
+	/**
215
+	 * Verify if field should have merge tags
216
+	 * @return boolean
217
+	 */
218
+	function show_merge_tags() {
219
+		// Show the merge tags if the field is a list view
220
+		$is_list = preg_match( '/_list-/ism', $this->name );
221
+		// Or is a single entry view
222
+		$is_single = preg_match( '/single_/ism', $this->name );
223
+
224
+		return ( $is_single || $is_list );
225
+	}
226
+
227
+
228
+
229
+	/**
230
+	 * important! Override this class
231
+	 * outputs the field option html
232
+	 */
233
+	function render_option() {
234
+		// to replace on each field
235
+	}
236
+
237
+	/**
238
+	 * important! Override this class if needed
239
+	 * outputs the field setting html
240
+	 */
241
+	function render_setting( $override_input = NULL ) {
242
+
243
+		if( !empty( $this->field['full_width'] ) ) { ?>
244 244
             <th scope="row" colspan="2">
245 245
                 <div>
246 246
                     <label for="<?php echo $this->get_field_id(); ?>">
@@ -260,14 +260,14 @@  discard block
 block discarded – undo
260 260
             </td>
261 261
         <?php }
262 262
 
263
-    }
263
+	}
264 264
 
265
-    /**
266
-     * important! Override this class
267
-     * outputs the input html part
268
-     */
269
-    function render_input( $override_input ) {
270
-        echo '';
271
-    }
265
+	/**
266
+	 * important! Override this class
267
+	 * outputs the input html part
268
+	 */
269
+	function render_input( $override_input ) {
270
+		echo '';
271
+	}
272 272
 
273 273
 }
Please login to merge, or discard this patch.
includes/extensions/edit-entry/class-edit-entry-user-registration.php 1 patch
Indentation   +257 added lines, -257 removed lines patch added patch discarded remove patch
@@ -11,7 +11,7 @@  discard block
 block discarded – undo
11 11
  */
12 12
 
13 13
 if ( ! defined( 'WPINC' ) ) {
14
-    die;
14
+	die;
15 15
 }
16 16
 
17 17
 /**
@@ -22,103 +22,103 @@  discard block
 block discarded – undo
22 22
 	/**
23 23
 	 * @var GravityView_Edit_Entry $loader
24 24
 	 */
25
-    protected $loader;
25
+	protected $loader;
26 26
 
27
-    /**
28
-     * @var WP_User|null Temporary storage used by restore_user_details()
29
-     */
30
-    private $_user_before_update = null;
27
+	/**
28
+	 * @var WP_User|null Temporary storage used by restore_user_details()
29
+	 */
30
+	private $_user_before_update = null;
31 31
 
32
-    function __construct( GravityView_Edit_Entry $loader ) {
33
-        $this->loader = $loader;
34
-    }
32
+	function __construct( GravityView_Edit_Entry $loader ) {
33
+		$this->loader = $loader;
34
+	}
35 35
 
36 36
 	/**
37 37
 	 * @since 1.11
38 38
 	 */
39 39
 	public function load() {
40 40
 		add_action( 'wp', array( $this, 'add_hooks' ), 10 );
41
-    }
41
+	}
42 42
 
43 43
 	/**
44 44
 	 * Add hooks to trigger updating the user
45 45
 	 *
46 46
 	 * @since 1.18
47 47
 	 */
48
-    public function add_hooks() {
49
-
50
-	    /**
51
-	     * @filter `gravityview/edit_entry/user_registration/trigger_update` Choose whether to update user information via User Registration add-on when an entry is updated?
52
-	     * @since 1.11
53
-	     * @param boolean $boolean Whether to trigger update on user registration (default: true)
54
-	     */
55
-	    if( apply_filters( 'gravityview/edit_entry/user_registration/trigger_update', true ) ) {
56
-
57
-	    	add_action( 'gravityview/edit_entry/after_update' , array( $this, 'update_user' ), 10, 2 );
58
-
59
-		    // last resort in case the current user display name don't match any of the defaults
60
-		    add_action( 'gform_user_updated', array( $this, 'restore_display_name' ), 10, 4 );
61
-	    }
62
-    }
63
-
64
-    /**
65
-     * Update the WordPress user profile based on the GF User Registration create feed
66
-     *
67
-     * @since 1.11
68
-     *
69
-     * @param array $form Gravity Forms form array
70
-     * @param string $entry_id Gravity Forms entry ID
71
-     * @return void
72
-     */
73
-    public function update_user( $form = array(), $entry_id = 0 ) {
74
-
75
-        if( ! class_exists( 'GFAPI' ) || ! class_exists( 'GF_User_Registration' ) ) {
76
-	        gravityview()->log->error( 'GFAPI or User Registration class not found; not updating the user' );
77
-	        return;
78
-        } elseif( empty( $entry_id ) ) {
79
-        	gravityview()->log->error( 'Entry ID is empty [{entry_id}]; not updating the user', array( 'entry_id' => $entry_id ) );
80
-	        return;
81
-        }
82
-
83
-        $gf_user_registration = GF_User_Registration::get_instance();
84
-
85
-        $entry = GFAPI::get_entry( $entry_id );
86
-
87
-	    /**
88
-	     * @filter `gravityview/edit_entry/user_registration/entry` Modify entry details before updating the user via User Registration add-on
89
-	     * @since 1.11
90
-	     * @param array $entry Gravity Forms entry
91
-	     * @param array $form Gravity Forms form
92
-	     */
93
-        $entry = apply_filters( 'gravityview/edit_entry/user_registration/entry', $entry, $form );
94
-
95
-	    $config = $this->get_feed_configuration( $entry, $form );
96
-
97
-        // Make sure the feed is active
98
-	    if ( ! \GV\Utils::get( $config, 'is_active', false ) ) {
48
+	public function add_hooks() {
49
+
50
+		/**
51
+		 * @filter `gravityview/edit_entry/user_registration/trigger_update` Choose whether to update user information via User Registration add-on when an entry is updated?
52
+		 * @since 1.11
53
+		 * @param boolean $boolean Whether to trigger update on user registration (default: true)
54
+		 */
55
+		if( apply_filters( 'gravityview/edit_entry/user_registration/trigger_update', true ) ) {
56
+
57
+			add_action( 'gravityview/edit_entry/after_update' , array( $this, 'update_user' ), 10, 2 );
58
+
59
+			// last resort in case the current user display name don't match any of the defaults
60
+			add_action( 'gform_user_updated', array( $this, 'restore_display_name' ), 10, 4 );
61
+		}
62
+	}
63
+
64
+	/**
65
+	 * Update the WordPress user profile based on the GF User Registration create feed
66
+	 *
67
+	 * @since 1.11
68
+	 *
69
+	 * @param array $form Gravity Forms form array
70
+	 * @param string $entry_id Gravity Forms entry ID
71
+	 * @return void
72
+	 */
73
+	public function update_user( $form = array(), $entry_id = 0 ) {
74
+
75
+		if( ! class_exists( 'GFAPI' ) || ! class_exists( 'GF_User_Registration' ) ) {
76
+			gravityview()->log->error( 'GFAPI or User Registration class not found; not updating the user' );
99 77
 			return;
100
-	    }
78
+		} elseif( empty( $entry_id ) ) {
79
+			gravityview()->log->error( 'Entry ID is empty [{entry_id}]; not updating the user', array( 'entry_id' => $entry_id ) );
80
+			return;
81
+		}
82
+
83
+		$gf_user_registration = GF_User_Registration::get_instance();
84
+
85
+		$entry = GFAPI::get_entry( $entry_id );
101 86
 
102
-	    // If an Update feed, make sure the conditions are met.
103
-	    if ( \GV\Utils::get( $config, 'meta/feedType' ) === 'update' ) {
104
-	    	if( ! $gf_user_registration->is_feed_condition_met( $config, $form, $entry ) ) {
105
-			    return;
106
-		    }
107
-	    }
87
+		/**
88
+		 * @filter `gravityview/edit_entry/user_registration/entry` Modify entry details before updating the user via User Registration add-on
89
+		 * @since 1.11
90
+		 * @param array $entry Gravity Forms entry
91
+		 * @param array $form Gravity Forms form
92
+		 */
93
+		$entry = apply_filters( 'gravityview/edit_entry/user_registration/entry', $entry, $form );
94
+
95
+		$config = $this->get_feed_configuration( $entry, $form );
96
+
97
+		// Make sure the feed is active
98
+		if ( ! \GV\Utils::get( $config, 'is_active', false ) ) {
99
+			return;
100
+		}
108 101
 
109
-        // The priority is set to 3 so that default priority (10) will still override it
110
-        add_filter( 'send_password_change_email', '__return_false', 3 );
111
-        add_filter( 'send_email_change_email', '__return_false', 3 );
102
+		// If an Update feed, make sure the conditions are met.
103
+		if ( \GV\Utils::get( $config, 'meta/feedType' ) === 'update' ) {
104
+			if( ! $gf_user_registration->is_feed_condition_met( $config, $form, $entry ) ) {
105
+				return;
106
+			}
107
+		}
112 108
 
113
-        // Trigger the User Registration update user method
114
-        $gf_user_registration->update_user( $entry, $form, $config );
109
+		// The priority is set to 3 so that default priority (10) will still override it
110
+		add_filter( 'send_password_change_email', '__return_false', 3 );
111
+		add_filter( 'send_email_change_email', '__return_false', 3 );
115 112
 
116
-        remove_filter( 'send_password_change_email', '__return_false', 3 );
117
-        remove_filter( 'send_email_change_email', '__return_false', 3 );
113
+		// Trigger the User Registration update user method
114
+		$gf_user_registration->update_user( $entry, $form, $config );
118 115
 
119
-        // Prevent double-triggering by removing the hook
120
-	    remove_action( 'gravityview/edit_entry/after_update' , array( $this, 'update_user' ), 10 );
121
-    }
116
+		remove_filter( 'send_password_change_email', '__return_false', 3 );
117
+		remove_filter( 'send_email_change_email', '__return_false', 3 );
118
+
119
+		// Prevent double-triggering by removing the hook
120
+		remove_action( 'gravityview/edit_entry/after_update' , array( $this, 'update_user' ), 10 );
121
+	}
122 122
 
123 123
 	/**
124 124
 	 * Get the User Registration feed configuration for the entry & form
@@ -133,184 +133,184 @@  discard block
 block discarded – undo
133 133
 	 *
134 134
 	 * @return array
135 135
 	 */
136
-    public function get_feed_configuration( $entry, $form ) {
137
-
138
-	    $gf_user_registration = GF_User_Registration::get_instance();
139
-
140
-	    $config = $gf_user_registration->get_single_submission_feed( $entry, $form );
141
-
142
-	    /**
143
-	     * @filter `gravityview/edit_entry/user_registration/preserve_role` Keep the current user role or override with the role defined in the Create feed
144
-	     * @since 1.15
145
-	     * @param[in,out] boolean $preserve_role Preserve current user role Default: true
146
-	     * @param[in] array $config Gravity Forms User Registration feed configuration for the form
147
-	     * @param[in] array $form Gravity Forms form array
148
-	     * @param[in] array $entry Gravity Forms entry being edited
149
-	     */
150
-	    $preserve_role = apply_filters( 'gravityview/edit_entry/user_registration/preserve_role', true, $config, $form, $entry );
151
-
152
-	    if( $preserve_role ) {
153
-		    $config['meta']['role'] = 'gfur_preserve_role';
154
-	    }
155
-
156
-	    $displayname = $this->match_current_display_name( $entry['created_by'] );
157
-
158
-	    /**
159
-	     * Make sure the current display name is not changed with the update user method.
160
-	     * @since 1.15
161
-	     */
162
-	    $config['meta']['displayname'] = $displayname ? $displayname : $config['meta']['displayname'];
163
-
164
-	    /**
165
-	     * @filter `gravityview/edit_entry/user_registration/config` Modify the User Registration Addon feed configuration
166
-	     * @since 1.14
167
-	     * @param[in,out] array $config Gravity Forms User Registration feed configuration for the form
168
-	     * @param[in] array $form Gravity Forms form array
169
-	     * @param[in] array $entry Gravity Forms entry being edited
170
-	     */
171
-	    $config = apply_filters( 'gravityview/edit_entry/user_registration/config', $config, $form, $entry );
172
-
173
-	    return $config;
174
-    }
175
-
176
-    /**
177
-     * Calculate the user display name format
178
-     *
179
-     * @since 1.15
180
-     * @since 1.20 Returns false if user not found at $user_id
181
-     *
182
-     * @param int $user_id WP User ID
183
-     * @return false|string Display name format as used inside Gravity Forms User Registration. Returns false if user not found.
184
-     */
185
-    public function match_current_display_name( $user_id ) {
186
-
187
-        $user = get_userdata( $user_id );
188
-
189
-        if( ! $user ) {
190
-        	return false;
191
-        }
192
-
193
-        $names = $this->generate_display_names( $user );
194
-
195
-        $format = array_search( $user->display_name, $names, true );
196
-
197
-        /**
198
-         * In case we can't find the current display name format, trigger last resort method at the 'gform_user_updated' hook
199
-         * @see restore_display_name
200
-         */
201
-        if( false === $format ) {
202
-            $this->_user_before_update = $user;
203
-        }
204
-
205
-        return $format;
206
-    }
207
-
208
-    /**
209
-     * Generate an array of all the user display names possibilities
210
-     *
211
-     * @since 1.15
212
-     *
213
-     * @param object $profileuser WP_User object
214
-     * @return array List all the possible display names for a certain User object
215
-     */
216
-    public function generate_display_names( $profileuser ) {
217
-
218
-        $public_display = array();
219
-        $public_display['nickname']  = $profileuser->nickname;
220
-        $public_display['username']  = $profileuser->user_login;
221
-
222
-        if ( !empty($profileuser->first_name) ) {
223
-	        $public_display['firstname'] = $profileuser->first_name;
224
-        }
225
-
226
-        if ( !empty($profileuser->last_name) ) {
227
-	        $public_display['lastname'] = $profileuser->last_name;
228
-        }
229
-
230
-        if ( !empty($profileuser->first_name) && !empty($profileuser->last_name) ) {
231
-            $public_display['firstlast'] = $profileuser->first_name . ' ' . $profileuser->last_name;
232
-            $public_display['lastfirst'] = $profileuser->last_name . ' ' . $profileuser->first_name;
233
-        }
234
-
235
-        $public_display = array_map( 'trim', $public_display );
236
-        $public_display = array_unique( $public_display );
237
-
238
-        return $public_display;
239
-    }
240
-
241
-
242
-    /**
243
-     * Restore the Display Name and roles of a user after being updated by Gravity Forms User Registration Addon
244
-     *
245
-     * @see GFUser::update_user()
246
-     * @param int $user_id WP User ID that was updated by Gravity Forms User Registration Addon
247
-     * @param array $config Gravity Forms User Registration Addon form feed configuration
248
-     * @param array $entry The Gravity Forms entry that was just updated
249
-     * @param string $password User password
250
-     * @return int|false|WP_Error|null True: User updated; False: $user_id not a valid User ID; WP_Error: User update error; Null: Method didn't process
251
-     */
252
-    public function restore_display_name( $user_id = 0, $config = array(), $entry = array(), $password = '' ) {
253
-
254
-        /**
255
-         * @filter `gravityview/edit_entry/restore_display_name` Whether display names should be restored to before updating an entry.
256
-         * Otherwise, display names will be reset to the format specified in Gravity Forms User Registration "Update" feed
257
-         * @since 1.14.4
258
-         * @param boolean $restore_display_name Restore Display Name? Default: true
259
-         */
260
-        $restore_display_name = apply_filters( 'gravityview/edit_entry/restore_display_name', true );
261
-
262
-        $is_update_feed = ( $config && \GV\Utils::get( $config, 'meta/feed_type' ) === 'update' );
263
-
264
-        /**
265
-         * Don't restore display name:
266
-         *   - either disabled,
267
-         *   - or it is an Update feed (we only care about Create feed)
268
-         *   - or we don't need as we found the correct format before updating user.
269
-         * @since 1.14.4
270
-         */
271
-        if( ! $restore_display_name || $is_update_feed || is_null( $this->_user_before_update ) ) {
272
-            return null;
273
-        }
274
-
275
-        $user_after_update = get_userdata( $user_id );
276
-
277
-        // User not found
278
-	    if ( ! $user_after_update ) {
279
-	    	gravityview()->log->error( 'User not found at $user_id #{user_id}', array( 'user_id' => $user_id ) );
280
-		    return false;
281
-	    }
282
-
283
-        $restored_user = $user_after_update;
284
-
285
-	    // Restore previous display_name
286
-        $restored_user->display_name = $this->_user_before_update->display_name;
287
-
288
-	    // Don't have WP update the password.
289
-	    unset( $restored_user->data->user_pass, $restored_user->user_pass );
290
-
291
-        /**
292
-         * Modify the user data after updated by Gravity Forms User Registration but before restored by GravityView
293
-         * @since 1.14
294
-         * @param WP_User $restored_user The user with restored details about to be updated by wp_update_user()
295
-         * @param WP_User $user_before_update The user before being updated by Gravity Forms User Registration
296
-         * @param WP_User $user_after_update The user after being updated by Gravity Forms User Registration
297
-         * @param array   $entry The Gravity Forms entry that was just updated
298
-         */
299
-        $restored_user = apply_filters( 'gravityview/edit_entry/user_registration/restored_user', $restored_user, $this->_user_before_update, $user_after_update, $entry );
300
-
301
-        $updated = wp_update_user( $restored_user );
302
-
303
-        if( is_wp_error( $updated ) ) {
304
-            gravityview()->log->error( 'There was an error updating user #{user_id} details', array( 'user_id' => $user_id, 'data' => $updated ) );
305
-        } else {
306
-            gravityview()->log->debug( 'User #{user_id} details restored', array( 'user_id' => $user_id ) );
307
-        }
308
-
309
-        $this->_user_before_update = null;
310
-
311
-        unset( $restored_user, $user_after_update );
312
-
313
-        return $updated;
314
-    }
136
+	public function get_feed_configuration( $entry, $form ) {
137
+
138
+		$gf_user_registration = GF_User_Registration::get_instance();
139
+
140
+		$config = $gf_user_registration->get_single_submission_feed( $entry, $form );
141
+
142
+		/**
143
+		 * @filter `gravityview/edit_entry/user_registration/preserve_role` Keep the current user role or override with the role defined in the Create feed
144
+		 * @since 1.15
145
+		 * @param[in,out] boolean $preserve_role Preserve current user role Default: true
146
+		 * @param[in] array $config Gravity Forms User Registration feed configuration for the form
147
+		 * @param[in] array $form Gravity Forms form array
148
+		 * @param[in] array $entry Gravity Forms entry being edited
149
+		 */
150
+		$preserve_role = apply_filters( 'gravityview/edit_entry/user_registration/preserve_role', true, $config, $form, $entry );
151
+
152
+		if( $preserve_role ) {
153
+			$config['meta']['role'] = 'gfur_preserve_role';
154
+		}
155
+
156
+		$displayname = $this->match_current_display_name( $entry['created_by'] );
157
+
158
+		/**
159
+		 * Make sure the current display name is not changed with the update user method.
160
+		 * @since 1.15
161
+		 */
162
+		$config['meta']['displayname'] = $displayname ? $displayname : $config['meta']['displayname'];
163
+
164
+		/**
165
+		 * @filter `gravityview/edit_entry/user_registration/config` Modify the User Registration Addon feed configuration
166
+		 * @since 1.14
167
+		 * @param[in,out] array $config Gravity Forms User Registration feed configuration for the form
168
+		 * @param[in] array $form Gravity Forms form array
169
+		 * @param[in] array $entry Gravity Forms entry being edited
170
+		 */
171
+		$config = apply_filters( 'gravityview/edit_entry/user_registration/config', $config, $form, $entry );
172
+
173
+		return $config;
174
+	}
175
+
176
+	/**
177
+	 * Calculate the user display name format
178
+	 *
179
+	 * @since 1.15
180
+	 * @since 1.20 Returns false if user not found at $user_id
181
+	 *
182
+	 * @param int $user_id WP User ID
183
+	 * @return false|string Display name format as used inside Gravity Forms User Registration. Returns false if user not found.
184
+	 */
185
+	public function match_current_display_name( $user_id ) {
186
+
187
+		$user = get_userdata( $user_id );
188
+
189
+		if( ! $user ) {
190
+			return false;
191
+		}
192
+
193
+		$names = $this->generate_display_names( $user );
194
+
195
+		$format = array_search( $user->display_name, $names, true );
196
+
197
+		/**
198
+		 * In case we can't find the current display name format, trigger last resort method at the 'gform_user_updated' hook
199
+		 * @see restore_display_name
200
+		 */
201
+		if( false === $format ) {
202
+			$this->_user_before_update = $user;
203
+		}
204
+
205
+		return $format;
206
+	}
207
+
208
+	/**
209
+	 * Generate an array of all the user display names possibilities
210
+	 *
211
+	 * @since 1.15
212
+	 *
213
+	 * @param object $profileuser WP_User object
214
+	 * @return array List all the possible display names for a certain User object
215
+	 */
216
+	public function generate_display_names( $profileuser ) {
217
+
218
+		$public_display = array();
219
+		$public_display['nickname']  = $profileuser->nickname;
220
+		$public_display['username']  = $profileuser->user_login;
221
+
222
+		if ( !empty($profileuser->first_name) ) {
223
+			$public_display['firstname'] = $profileuser->first_name;
224
+		}
225
+
226
+		if ( !empty($profileuser->last_name) ) {
227
+			$public_display['lastname'] = $profileuser->last_name;
228
+		}
229
+
230
+		if ( !empty($profileuser->first_name) && !empty($profileuser->last_name) ) {
231
+			$public_display['firstlast'] = $profileuser->first_name . ' ' . $profileuser->last_name;
232
+			$public_display['lastfirst'] = $profileuser->last_name . ' ' . $profileuser->first_name;
233
+		}
234
+
235
+		$public_display = array_map( 'trim', $public_display );
236
+		$public_display = array_unique( $public_display );
237
+
238
+		return $public_display;
239
+	}
240
+
241
+
242
+	/**
243
+	 * Restore the Display Name and roles of a user after being updated by Gravity Forms User Registration Addon
244
+	 *
245
+	 * @see GFUser::update_user()
246
+	 * @param int $user_id WP User ID that was updated by Gravity Forms User Registration Addon
247
+	 * @param array $config Gravity Forms User Registration Addon form feed configuration
248
+	 * @param array $entry The Gravity Forms entry that was just updated
249
+	 * @param string $password User password
250
+	 * @return int|false|WP_Error|null True: User updated; False: $user_id not a valid User ID; WP_Error: User update error; Null: Method didn't process
251
+	 */
252
+	public function restore_display_name( $user_id = 0, $config = array(), $entry = array(), $password = '' ) {
253
+
254
+		/**
255
+		 * @filter `gravityview/edit_entry/restore_display_name` Whether display names should be restored to before updating an entry.
256
+		 * Otherwise, display names will be reset to the format specified in Gravity Forms User Registration "Update" feed
257
+		 * @since 1.14.4
258
+		 * @param boolean $restore_display_name Restore Display Name? Default: true
259
+		 */
260
+		$restore_display_name = apply_filters( 'gravityview/edit_entry/restore_display_name', true );
261
+
262
+		$is_update_feed = ( $config && \GV\Utils::get( $config, 'meta/feed_type' ) === 'update' );
263
+
264
+		/**
265
+		 * Don't restore display name:
266
+		 *   - either disabled,
267
+		 *   - or it is an Update feed (we only care about Create feed)
268
+		 *   - or we don't need as we found the correct format before updating user.
269
+		 * @since 1.14.4
270
+		 */
271
+		if( ! $restore_display_name || $is_update_feed || is_null( $this->_user_before_update ) ) {
272
+			return null;
273
+		}
274
+
275
+		$user_after_update = get_userdata( $user_id );
276
+
277
+		// User not found
278
+		if ( ! $user_after_update ) {
279
+			gravityview()->log->error( 'User not found at $user_id #{user_id}', array( 'user_id' => $user_id ) );
280
+			return false;
281
+		}
282
+
283
+		$restored_user = $user_after_update;
284
+
285
+		// Restore previous display_name
286
+		$restored_user->display_name = $this->_user_before_update->display_name;
287
+
288
+		// Don't have WP update the password.
289
+		unset( $restored_user->data->user_pass, $restored_user->user_pass );
290
+
291
+		/**
292
+		 * Modify the user data after updated by Gravity Forms User Registration but before restored by GravityView
293
+		 * @since 1.14
294
+		 * @param WP_User $restored_user The user with restored details about to be updated by wp_update_user()
295
+		 * @param WP_User $user_before_update The user before being updated by Gravity Forms User Registration
296
+		 * @param WP_User $user_after_update The user after being updated by Gravity Forms User Registration
297
+		 * @param array   $entry The Gravity Forms entry that was just updated
298
+		 */
299
+		$restored_user = apply_filters( 'gravityview/edit_entry/user_registration/restored_user', $restored_user, $this->_user_before_update, $user_after_update, $entry );
300
+
301
+		$updated = wp_update_user( $restored_user );
302
+
303
+		if( is_wp_error( $updated ) ) {
304
+			gravityview()->log->error( 'There was an error updating user #{user_id} details', array( 'user_id' => $user_id, 'data' => $updated ) );
305
+		} else {
306
+			gravityview()->log->debug( 'User #{user_id} details restored', array( 'user_id' => $user_id ) );
307
+		}
308
+
309
+		$this->_user_before_update = null;
310
+
311
+		unset( $restored_user, $user_after_update );
312
+
313
+		return $updated;
314
+	}
315 315
 
316 316
 } //end class
Please login to merge, or discard this patch.
includes/extensions/edit-entry/class-edit-entry-render.php 1 patch
Indentation   +300 added lines, -300 removed lines patch added patch discarded remove patch
@@ -102,10 +102,10 @@  discard block
 block discarded – undo
102 102
 
103 103
 	/**
104 104
 	 * ID of the current post. May also be ID of the current View.
105
-     *
106
-     * @since 2.0.13
107 105
 	 *
108
-     * @var int
106
+	 * @since 2.0.13
107
+	 *
108
+	 * @var int
109 109
 	 */
110 110
 	public $post_id;
111 111
 
@@ -189,7 +189,7 @@  discard block
 block discarded – undo
189 189
 	 */
190 190
 	public function prevent_maybe_process_form() {
191 191
 
192
-	    if( ! $this->is_edit_entry_submission() ) {
192
+		if( ! $this->is_edit_entry_submission() ) {
193 193
 			return;
194 194
 		}
195 195
 
@@ -228,14 +228,14 @@  discard block
 block discarded – undo
228 228
 	 * When Edit entry view is requested setup the vars
229 229
 	 */
230 230
 	private function setup_vars() {
231
-        global $post;
231
+		global $post;
232 232
 
233 233
 		$gravityview_view = GravityView_View::getInstance();
234 234
 
235 235
 
236 236
 		$entries = $gravityview_view->getEntries();
237
-	    self::$original_entry = $entries[0];
238
-	    $this->entry = $entries[0];
237
+		self::$original_entry = $entries[0];
238
+		$this->entry = $entries[0];
239 239
 
240 240
 		self::$original_form = GFAPI::get_form( $this->entry['form_id'] );
241 241
 		$this->form = $gravityview_view->getForm();
@@ -377,8 +377,8 @@  discard block
 block discarded – undo
377 377
 
378 378
 			GFFormsModel::save_lead( $form, $this->entry );
379 379
 
380
-	        // Delete the values for hidden inputs
381
-	        $this->unset_hidden_field_values();
380
+			// Delete the values for hidden inputs
381
+			$this->unset_hidden_field_values();
382 382
 
383 383
 			$this->entry['date_created'] = $date_created;
384 384
 
@@ -391,7 +391,7 @@  discard block
 block discarded – undo
391 391
 			// Perform actions normally performed after updating a lead
392 392
 			$this->after_update();
393 393
 
394
-	        /**
394
+			/**
395 395
 			 * Must be AFTER after_update()!
396 396
 			 * @see https://github.com/gravityview/GravityView/issues/764
397 397
 			 */
@@ -399,7 +399,7 @@  discard block
 block discarded – undo
399 399
 
400 400
 			/**
401 401
 			 * @action `gravityview/edit_entry/after_update` Perform an action after the entry has been updated using Edit Entry
402
-             * @since 2.1 Added $gv_data parameter
402
+			 * @since 2.1 Added $gv_data parameter
403 403
 			 * @param array $form Gravity Forms form array
404 404
 			 * @param string $entry_id Numeric ID of the entry that was updated
405 405
 			 * @param GravityView_Edit_Entry_Render $this This object
@@ -423,7 +423,7 @@  discard block
 block discarded – undo
423 423
 	 * @return void
424 424
 	 */
425 425
 	private function unset_hidden_field_values() {
426
-	    global $wpdb;
426
+		global $wpdb;
427 427
 
428 428
 		/**
429 429
 		 * @filter `gravityview/edit_entry/unset_hidden_field_values` Whether to delete values of fields hidden by conditional logic
@@ -447,7 +447,7 @@  discard block
 block discarded – undo
447 447
 			$current_fields = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $lead_detail_table WHERE lead_id=%d", $this->entry['id'] ) );
448 448
 		}
449 449
 
450
-	    foreach ( $this->entry as $input_id => $field_value ) {
450
+		foreach ( $this->entry as $input_id => $field_value ) {
451 451
 
452 452
 			if ( ! is_numeric( $input_id ) ) {
453 453
 				continue;
@@ -457,8 +457,8 @@  discard block
 block discarded – undo
457 457
 				continue;
458 458
 			}
459 459
 
460
-		    // Reset fields that are or would be hidden
461
-		    if ( GFFormsModel::is_field_hidden( $this->form, $field, array(), $this->entry ) ) {
460
+			// Reset fields that are or would be hidden
461
+			if ( GFFormsModel::is_field_hidden( $this->form, $field, array(), $this->entry ) ) {
462 462
 
463 463
 				$empty_value = $field->get_value_save_entry(
464 464
 					is_array( $field->get_entry_inputs() ) ? array() : '',
@@ -470,16 +470,16 @@  discard block
 block discarded – undo
470 470
 					$empty_value = '';
471 471
 				}
472 472
 
473
-			    $lead_detail_id = GFFormsModel::get_lead_detail_id( $current_fields, $input_id );
473
+				$lead_detail_id = GFFormsModel::get_lead_detail_id( $current_fields, $input_id );
474 474
 
475
-			    GFFormsModel::update_lead_field_value( $this->form, $this->entry, $field, $lead_detail_id, $input_id, $empty_value );
475
+				GFFormsModel::update_lead_field_value( $this->form, $this->entry, $field, $lead_detail_id, $input_id, $empty_value );
476 476
 
477
-			    // Prevent the $_POST values of hidden fields from being used as default values when rendering the form
477
+				// Prevent the $_POST values of hidden fields from being used as default values when rendering the form
478 478
 				// after submission
479
-			    $post_input_id = 'input_' . str_replace( '.', '_', $input_id );
480
-			    $_POST[ $post_input_id ] = '';
481
-		    }
482
-	    }
479
+				$post_input_id = 'input_' . str_replace( '.', '_', $input_id );
480
+				$_POST[ $post_input_id ] = '';
481
+			}
482
+		}
483 483
 	}
484 484
 
485 485
 	/**
@@ -634,7 +634,7 @@  discard block
 block discarded – undo
634 634
 
635 635
 		$form = $this->filter_conditional_logic( $this->form );
636 636
 
637
-	    /** @type GF_Field $field */
637
+		/** @type GF_Field $field */
638 638
 		foreach( $form['fields'] as $k => &$field ) {
639 639
 
640 640
 			/**
@@ -649,7 +649,7 @@  discard block
 block discarded – undo
649 649
 
650 650
 			if( isset( $field->inputs ) && is_array( $field->inputs ) ) {
651 651
 				foreach( $field->inputs as $key => $input ) {
652
-				    $field->inputs[ $key ][ 'id' ] = (string)$input['id'];
652
+					$field->inputs[ $key ][ 'id' ] = (string)$input['id'];
653 653
 				}
654 654
 			}
655 655
 		}
@@ -689,7 +689,7 @@  discard block
 block discarded – undo
689 689
 
690 690
 				$inputs = $field->get_entry_inputs();
691 691
 				if ( is_array( $inputs ) ) {
692
-				    foreach ( $inputs as $input ) {
692
+					foreach ( $inputs as $input ) {
693 693
 						list( $field_id, $input_id ) = rgexplode( '.', $input['id'], 2 );
694 694
 
695 695
 						if ( 'product' === $field->type ) {
@@ -708,7 +708,7 @@  discard block
 block discarded – undo
708 708
 						}
709 709
 
710 710
 						GFFormsModel::save_input( $form, $field, $entry, $current_fields, $input['id'] );
711
-				    }
711
+					}
712 712
 				} else {
713 713
 					// Set to what it previously was if it's not editable
714 714
 					if ( ! in_array( $field->id, $allowed_fields ) ) {
@@ -754,7 +754,7 @@  discard block
 block discarded – undo
754 754
 			$value = RGFormsModel::prepare_value( $form, $field, $value, $input_name, $entry['id'] );
755 755
 
756 756
 			$ary = ! empty( $value ) ? explode( '|:|', $value ) : array();
757
-	        $ary = stripslashes_deep( $ary );
757
+			$ary = stripslashes_deep( $ary );
758 758
 			$img_url = \GV\Utils::get( $ary, 0 );
759 759
 
760 760
 			$img_title       = count( $ary ) > 1 ? $ary[1] : '';
@@ -827,7 +827,7 @@  discard block
 block discarded – undo
827 827
 	private function maybe_update_post_fields( $form ) {
828 828
 
829 829
 		if( empty( $this->entry['post_id'] ) ) {
830
-	        gravityview()->log->debug( 'This entry has no post fields. Continuing...' );
830
+			gravityview()->log->debug( 'This entry has no post fields. Continuing...' );
831 831
 			return;
832 832
 		}
833 833
 
@@ -862,49 +862,49 @@  discard block
 block discarded – undo
862 862
 
863 863
 				switch( $field->type ) {
864 864
 
865
-				    case 'post_title':
866
-				        $post_title = $value;
867
-				        if ( \GV\Utils::get( $form, 'postTitleTemplateEnabled' ) ) {
868
-				            $post_title = $this->fill_post_template( $form['postTitleTemplate'], $form, $entry_tmp );
869
-				        }
870
-				        $updated_post->post_title = $post_title;
871
-				        $updated_post->post_name  = $post_title;
872
-				        unset( $post_title );
873
-				        break;
874
-
875
-				    case 'post_content':
876
-				        $post_content = $value;
877
-				        if ( \GV\Utils::get( $form, 'postContentTemplateEnabled' ) ) {
878
-				            $post_content = $this->fill_post_template( $form['postContentTemplate'], $form, $entry_tmp, true );
879
-				        }
880
-				        $updated_post->post_content = $post_content;
881
-				        unset( $post_content );
882
-				        break;
883
-				    case 'post_excerpt':
884
-				        $updated_post->post_excerpt = $value;
885
-				        break;
886
-				    case 'post_tags':
887
-				        wp_set_post_tags( $post_id, $value, false );
888
-				        break;
889
-				    case 'post_category':
890
-				        break;
891
-				    case 'post_custom_field':
865
+					case 'post_title':
866
+						$post_title = $value;
867
+						if ( \GV\Utils::get( $form, 'postTitleTemplateEnabled' ) ) {
868
+							$post_title = $this->fill_post_template( $form['postTitleTemplate'], $form, $entry_tmp );
869
+						}
870
+						$updated_post->post_title = $post_title;
871
+						$updated_post->post_name  = $post_title;
872
+						unset( $post_title );
873
+						break;
874
+
875
+					case 'post_content':
876
+						$post_content = $value;
877
+						if ( \GV\Utils::get( $form, 'postContentTemplateEnabled' ) ) {
878
+							$post_content = $this->fill_post_template( $form['postContentTemplate'], $form, $entry_tmp, true );
879
+						}
880
+						$updated_post->post_content = $post_content;
881
+						unset( $post_content );
882
+						break;
883
+					case 'post_excerpt':
884
+						$updated_post->post_excerpt = $value;
885
+						break;
886
+					case 'post_tags':
887
+						wp_set_post_tags( $post_id, $value, false );
888
+						break;
889
+					case 'post_category':
890
+						break;
891
+					case 'post_custom_field':
892 892
 						if ( is_array( $value ) && ( floatval( $field_id ) !== floatval( $field->id ) ) ) {
893 893
 							$value = $value[ $field_id ];
894 894
 						}
895 895
 
896
-				        if( ! empty( $field->customFieldTemplateEnabled ) ) {
897
-				            $value = $this->fill_post_template( $field->customFieldTemplate, $form, $entry_tmp, true );
898
-				        }
896
+						if( ! empty( $field->customFieldTemplateEnabled ) ) {
897
+							$value = $this->fill_post_template( $field->customFieldTemplate, $form, $entry_tmp, true );
898
+						}
899 899
 
900 900
 						$value = $field->get_value_save_entry( $value, $form, '', $this->entry['id'], $this->entry );
901 901
 
902
-				        update_post_meta( $post_id, $field->postCustomFieldName, $value );
903
-				        break;
902
+						update_post_meta( $post_id, $field->postCustomFieldName, $value );
903
+						break;
904 904
 
905
-				    case 'post_image':
906
-				        $value = $this->update_post_image( $form, $field, $field_id, $value, $this->entry, $post_id );
907
-				        break;
905
+					case 'post_image':
906
+						$value = $this->update_post_image( $form, $field, $field_id, $value, $this->entry, $post_id );
907
+						break;
908 908
 
909 909
 				}
910 910
 
@@ -1074,14 +1074,14 @@  discard block
 block discarded – undo
1074 1074
 			?><h2 class="gv-edit-entry-title">
1075 1075
 				<span><?php
1076 1076
 
1077
-				    /**
1078
-				     * @filter `gravityview_edit_entry_title` Modify the edit entry title
1079
-				     * @param string $edit_entry_title Modify the "Edit Entry" title
1080
-				     * @param GravityView_Edit_Entry_Render $this This object
1081
-				     */
1082
-				    $edit_entry_title = apply_filters('gravityview_edit_entry_title', __('Edit Entry', 'gravityview'), $this );
1077
+					/**
1078
+					 * @filter `gravityview_edit_entry_title` Modify the edit entry title
1079
+					 * @param string $edit_entry_title Modify the "Edit Entry" title
1080
+					 * @param GravityView_Edit_Entry_Render $this This object
1081
+					 */
1082
+					$edit_entry_title = apply_filters('gravityview_edit_entry_title', __('Edit Entry', 'gravityview'), $this );
1083 1083
 
1084
-				    echo esc_attr( $edit_entry_title );
1084
+					echo esc_attr( $edit_entry_title );
1085 1085
 			?></span>
1086 1086
 			</h2>
1087 1087
 
@@ -1136,13 +1136,13 @@  discard block
 block discarded – undo
1136 1136
 				);
1137 1137
 
1138 1138
 				/**
1139
-				* @filter `gravityview/edit_entry/button_labels` Modify the cancel/submit buttons' labels
1140
-				* @since 1.16.3
1141
-				* @param array $labels Default button labels associative array
1142
-				* @param array $form The Gravity Forms form
1143
-				* @param array $entry The Gravity Forms entry
1144
-				* @param int $view_id The current View ID
1145
-				*/
1139
+				 * @filter `gravityview/edit_entry/button_labels` Modify the cancel/submit buttons' labels
1140
+				 * @since 1.16.3
1141
+				 * @param array $labels Default button labels associative array
1142
+				 * @param array $form The Gravity Forms form
1143
+				 * @param array $entry The Gravity Forms entry
1144
+				 * @param int $view_id The current View ID
1145
+				 */
1146 1146
 				$labels = apply_filters( 'gravityview/edit_entry/button_labels', $labels, $this->form, $this->entry, $this->view_id );
1147 1147
 
1148 1148
 				$this->is_paged_submitted = \GV\Utils::_POST( 'save' ) === $labels['submit'];
@@ -1179,26 +1179,26 @@  discard block
 block discarded – undo
1179 1179
 
1180 1180
 				switch ( $edit_redirect ) {
1181 1181
 
1182
-                    case '0':
1183
-	                    $redirect_url = $back_link;
1184
-	                    $entry_updated_message = sprintf( esc_attr_x('Entry Updated. %sReturning to Entry%s', 'Replacements are HTML', 'gravityview'), '<a href="'. esc_url( $redirect_url ) .'">', '</a>' );
1185
-                        break;
1186
-
1187
-                    case '1':
1188
-	                    $redirect_url = $directory_link = GravityView_API::directory_link();
1189
-	                    $entry_updated_message = sprintf( esc_attr_x('Entry Updated. %sReturning to %s%s', 'Replacement 1 is HTML. Replacement 2 is the title of the page where the user will be taken. Replacement 3 is HTML.','gravityview'), '<a href="'. esc_url( $redirect_url ) . '">', esc_html( $view->post_title ), '</a>' );
1190
-	                    break;
1191
-
1192
-                    case '2':
1193
-	                    $redirect_url = $edit_redirect_url;
1194
-	                    $redirect_url = GFCommon::replace_variables( $redirect_url, $this->form, $this->entry, false, false, false, 'text' );
1195
-	                    $entry_updated_message = sprintf( esc_attr_x('Entry Updated. %sRedirecting to %s%s', 'Replacement 1 is HTML. Replacement 2 is the URL where the user will be taken. Replacement 3 is HTML.','gravityview'), '<a href="'. esc_url( $redirect_url ) . '">', esc_html( $edit_redirect_url ), '</a>' );
1196
-                        break;
1197
-
1198
-                    case '':
1199
-                    default:
1200
-					    $entry_updated_message = sprintf( esc_attr__('Entry Updated. %sReturn to Entry%s', 'gravityview'), '<a href="'. esc_url( $back_link ) .'">', '</a>' );
1201
-                        break;
1182
+					case '0':
1183
+						$redirect_url = $back_link;
1184
+						$entry_updated_message = sprintf( esc_attr_x('Entry Updated. %sReturning to Entry%s', 'Replacements are HTML', 'gravityview'), '<a href="'. esc_url( $redirect_url ) .'">', '</a>' );
1185
+						break;
1186
+
1187
+					case '1':
1188
+						$redirect_url = $directory_link = GravityView_API::directory_link();
1189
+						$entry_updated_message = sprintf( esc_attr_x('Entry Updated. %sReturning to %s%s', 'Replacement 1 is HTML. Replacement 2 is the title of the page where the user will be taken. Replacement 3 is HTML.','gravityview'), '<a href="'. esc_url( $redirect_url ) . '">', esc_html( $view->post_title ), '</a>' );
1190
+						break;
1191
+
1192
+					case '2':
1193
+						$redirect_url = $edit_redirect_url;
1194
+						$redirect_url = GFCommon::replace_variables( $redirect_url, $this->form, $this->entry, false, false, false, 'text' );
1195
+						$entry_updated_message = sprintf( esc_attr_x('Entry Updated. %sRedirecting to %s%s', 'Replacement 1 is HTML. Replacement 2 is the URL where the user will be taken. Replacement 3 is HTML.','gravityview'), '<a href="'. esc_url( $redirect_url ) . '">', esc_html( $edit_redirect_url ), '</a>' );
1196
+						break;
1197
+
1198
+					case '':
1199
+					default:
1200
+						$entry_updated_message = sprintf( esc_attr__('Entry Updated. %sReturn to Entry%s', 'gravityview'), '<a href="'. esc_url( $back_link ) .'">', '</a>' );
1201
+						break;
1202 1202
 				}
1203 1203
 
1204 1204
 				if ( isset( $redirect_url ) ) {
@@ -1264,13 +1264,13 @@  discard block
 block discarded – undo
1264 1264
 				);
1265 1265
 
1266 1266
 				/**
1267
-				* @filter `gravityview/edit_entry/button_labels` Modify the cancel/submit buttons' labels
1268
-				* @since 1.16.3
1269
-				* @param array $labels Default button labels associative array
1270
-				* @param array $form The Gravity Forms form
1271
-				* @param array $entry The Gravity Forms entry
1272
-				* @param int $view_id The current View ID
1273
-				*/
1267
+				 * @filter `gravityview/edit_entry/button_labels` Modify the cancel/submit buttons' labels
1268
+				 * @since 1.16.3
1269
+				 * @param array $labels Default button labels associative array
1270
+				 * @param array $form The Gravity Forms form
1271
+				 * @param array $entry The Gravity Forms entry
1272
+				 * @param int $view_id The current View ID
1273
+				 */
1274 1274
 				$labels = apply_filters( 'gravityview/edit_entry/button_labels', $labels, $this->form, $this->entry, $this->view_id );
1275 1275
 
1276 1276
 				GFFormDisplay::$submission[ $this->form['id'] ][ 'form' ] = $this->form;
@@ -1316,7 +1316,7 @@  discard block
 block discarded – undo
1316 1316
 
1317 1317
 		ob_get_clean();
1318 1318
 
1319
-	    remove_filter( 'gform_pre_render', array( $this, 'filter_modify_form_fields' ), 5000 );
1319
+		remove_filter( 'gform_pre_render', array( $this, 'filter_modify_form_fields' ), 5000 );
1320 1320
 		remove_filter( 'gform_submit_button', array( $this, 'render_form_buttons' ) );
1321 1321
 		remove_filter( 'gform_next_button', array( $this, 'render_form_buttons' ) );
1322 1322
 		remove_filter( 'gform_previous_button', array( $this, 'render_form_buttons' ) );
@@ -1376,7 +1376,7 @@  discard block
 block discarded – undo
1376 1376
 
1377 1377
 		// for now we don't support Save and Continue feature.
1378 1378
 		if( ! self::$supports_save_and_continue ) {
1379
-	        unset( $form['save'] );
1379
+			unset( $form['save'] );
1380 1380
 		}
1381 1381
 
1382 1382
 		$form = $this->unselect_default_values( $form );
@@ -1403,30 +1403,30 @@  discard block
 block discarded – undo
1403 1403
 			return $field_content;
1404 1404
 		}
1405 1405
 
1406
-        $message = null;
1406
+		$message = null;
1407 1407
 
1408
-        // First, make sure they have the capability to edit the post.
1409
-        if( false === current_user_can( 'edit_post', $this->entry['post_id'] ) ) {
1408
+		// First, make sure they have the capability to edit the post.
1409
+		if( false === current_user_can( 'edit_post', $this->entry['post_id'] ) ) {
1410 1410
 
1411
-            /**
1412
-             * @filter `gravityview/edit_entry/unsupported_post_field_text` Modify the message when someone isn't able to edit a post
1413
-             * @param string $message The existing "You don't have permission..." text
1414
-             */
1415
-            $message = apply_filters('gravityview/edit_entry/unsupported_post_field_text', __('You don&rsquo;t have permission to edit this post.', 'gravityview') );
1411
+			/**
1412
+			 * @filter `gravityview/edit_entry/unsupported_post_field_text` Modify the message when someone isn't able to edit a post
1413
+			 * @param string $message The existing "You don't have permission..." text
1414
+			 */
1415
+			$message = apply_filters('gravityview/edit_entry/unsupported_post_field_text', __('You don&rsquo;t have permission to edit this post.', 'gravityview') );
1416 1416
 
1417
-        } elseif( null === get_post( $this->entry['post_id'] ) ) {
1418
-            /**
1419
-             * @filter `gravityview/edit_entry/no_post_text` Modify the message when someone is editing an entry attached to a post that no longer exists
1420
-             * @param string $message The existing "This field is not editable; the post no longer exists." text
1421
-             */
1422
-            $message = apply_filters('gravityview/edit_entry/no_post_text', __('This field is not editable; the post no longer exists.', 'gravityview' ) );
1423
-        }
1417
+		} elseif( null === get_post( $this->entry['post_id'] ) ) {
1418
+			/**
1419
+			 * @filter `gravityview/edit_entry/no_post_text` Modify the message when someone is editing an entry attached to a post that no longer exists
1420
+			 * @param string $message The existing "This field is not editable; the post no longer exists." text
1421
+			 */
1422
+			$message = apply_filters('gravityview/edit_entry/no_post_text', __('This field is not editable; the post no longer exists.', 'gravityview' ) );
1423
+		}
1424 1424
 
1425
-        if( $message ) {
1426
-            $field_content = sprintf('<div class="ginput_container ginput_container_' . $field->type . '">%s</div>', wpautop( $message ) );
1427
-        }
1425
+		if( $message ) {
1426
+			$field_content = sprintf('<div class="ginput_container ginput_container_' . $field->type . '">%s</div>', wpautop( $message ) );
1427
+		}
1428 1428
 
1429
-        return $field_content;
1429
+		return $field_content;
1430 1430
 	}
1431 1431
 
1432 1432
 	/**
@@ -1454,7 +1454,7 @@  discard block
 block discarded – undo
1454 1454
 			|| ! empty( $field_content )
1455 1455
 			|| in_array( $field->type, array( 'honeypot' ) )
1456 1456
 		) {
1457
-	        return $field_content;
1457
+			return $field_content;
1458 1458
 		}
1459 1459
 
1460 1460
 		// SET SOME FIELD DEFAULTS TO PREVENT ISSUES
@@ -1462,24 +1462,24 @@  discard block
 block discarded – undo
1462 1462
 
1463 1463
 		$field_value = $this->get_field_value( $field );
1464 1464
 
1465
-	    // Prevent any PHP warnings, like undefined index
1466
-	    ob_start();
1465
+		// Prevent any PHP warnings, like undefined index
1466
+		ob_start();
1467 1467
 
1468
-	    $return = null;
1468
+		$return = null;
1469 1469
 
1470 1470
 		/** @var GravityView_Field $gv_field */
1471 1471
 		if( $gv_field && is_callable( array( $gv_field, 'get_field_input' ) ) ) {
1472 1472
 			$return = $gv_field->get_field_input( $this->form, $field_value, $this->entry, $field );
1473 1473
 		} else {
1474
-	        $return = $field->get_field_input( $this->form, $field_value, $this->entry );
1475
-	    }
1474
+			$return = $field->get_field_input( $this->form, $field_value, $this->entry );
1475
+		}
1476 1476
 
1477
-	    // If there was output, it's an error
1478
-	    $warnings = ob_get_clean();
1477
+		// If there was output, it's an error
1478
+		$warnings = ob_get_clean();
1479 1479
 
1480
-	    if( !empty( $warnings ) ) {
1481
-		    gravityview()->log->error( '{warning}', array( 'warning' => $warnings, 'data' => $field_value ) );
1482
-	    }
1480
+		if( !empty( $warnings ) ) {
1481
+			gravityview()->log->error( '{warning}', array( 'warning' => $warnings, 'data' => $field_value ) );
1482
+		}
1483 1483
 
1484 1484
 		return $return;
1485 1485
 	}
@@ -1514,8 +1514,8 @@  discard block
 block discarded – undo
1514 1514
 				$input_id = strval( $input['id'] );
1515 1515
 
1516 1516
 				if ( isset( $this->entry[ $input_id ] ) && ! gv_empty( $this->entry[ $input_id ], false, false ) ) {
1517
-				    $field_value[ $input_id ] =  'post_category' === $field->type ? GFCommon::format_post_category( $this->entry[ $input_id ], true ) : $this->entry[ $input_id ];
1518
-				    $allow_pre_populated = false;
1517
+					$field_value[ $input_id ] =  'post_category' === $field->type ? GFCommon::format_post_category( $this->entry[ $input_id ], true ) : $this->entry[ $input_id ];
1518
+					$allow_pre_populated = false;
1519 1519
 				}
1520 1520
 
1521 1521
 			}
@@ -1539,7 +1539,7 @@  discard block
 block discarded – undo
1539 1539
 			if ( 'post_category' === $field->type && !gv_empty( $field_value, false, false ) ) {
1540 1540
 				$categories = array();
1541 1541
 				foreach ( explode( ',', $field_value ) as $cat_string ) {
1542
-				    $categories[] = GFCommon::format_post_category( $cat_string, true );
1542
+					$categories[] = GFCommon::format_post_category( $cat_string, true );
1543 1543
 				}
1544 1544
 				$field_value = 'multiselect' === $field->get_input_type() ? $categories : implode( '', $categories );
1545 1545
 			}
@@ -1549,25 +1549,25 @@  discard block
 block discarded – undo
1549 1549
 		// if value is empty get the default value if defined
1550 1550
 		$field_value = $field->get_value_default_if_empty( $field_value );
1551 1551
 
1552
-	    /**
1553
-	     * @filter `gravityview/edit_entry/field_value` Change the value of an Edit Entry field, if needed
1554
-	     * @since 1.11
1555
-	     * @since 1.20 Added third param
1556
-	     * @param mixed $field_value field value used to populate the input
1557
-	     * @param object $field Gravity Forms field object ( Class GF_Field )
1558
-	     * @param GravityView_Edit_Entry_Render $this Current object
1559
-	     */
1560
-	    $field_value = apply_filters( 'gravityview/edit_entry/field_value', $field_value, $field, $this );
1561
-
1562
-	    /**
1563
-	     * @filter `gravityview/edit_entry/field_value_{field_type}` Change the value of an Edit Entry field for a specific field type
1564
-	     * @since 1.17
1565
-	     * @since 1.20 Added third param
1566
-	     * @param mixed $field_value field value used to populate the input
1567
-	     * @param GF_Field $field Gravity Forms field object
1568
-	     * @param GravityView_Edit_Entry_Render $this Current object
1569
-	     */
1570
-	    $field_value = apply_filters( 'gravityview/edit_entry/field_value_' . $field->type , $field_value, $field, $this );
1552
+		/**
1553
+		 * @filter `gravityview/edit_entry/field_value` Change the value of an Edit Entry field, if needed
1554
+		 * @since 1.11
1555
+		 * @since 1.20 Added third param
1556
+		 * @param mixed $field_value field value used to populate the input
1557
+		 * @param object $field Gravity Forms field object ( Class GF_Field )
1558
+		 * @param GravityView_Edit_Entry_Render $this Current object
1559
+		 */
1560
+		$field_value = apply_filters( 'gravityview/edit_entry/field_value', $field_value, $field, $this );
1561
+
1562
+		/**
1563
+		 * @filter `gravityview/edit_entry/field_value_{field_type}` Change the value of an Edit Entry field for a specific field type
1564
+		 * @since 1.17
1565
+		 * @since 1.20 Added third param
1566
+		 * @param mixed $field_value field value used to populate the input
1567
+		 * @param GF_Field $field Gravity Forms field object
1568
+		 * @param GravityView_Edit_Entry_Render $this Current object
1569
+		 */
1570
+		$field_value = apply_filters( 'gravityview/edit_entry/field_value_' . $field->type , $field_value, $field, $this );
1571 1571
 
1572 1572
 		return $field_value;
1573 1573
 	}
@@ -1594,7 +1594,7 @@  discard block
 block discarded – undo
1594 1594
 			// This is because we're doing admin form pretending to be front-end, so Gravity Forms
1595 1595
 			// expects certain field array items to be set.
1596 1596
 			foreach ( array( 'noDuplicates', 'adminOnly', 'inputType', 'isRequired', 'enablePrice', 'inputs', 'allowedExtensions' ) as $key ) {
1597
-	            $field->{$key} = isset( $field->{$key} ) ? $field->{$key} : NULL;
1597
+				$field->{$key} = isset( $field->{$key} ) ? $field->{$key} : NULL;
1598 1598
 			}
1599 1599
 
1600 1600
 			switch( RGFormsModel::get_input_type( $field ) ) {
@@ -1608,61 +1608,61 @@  discard block
 block discarded – undo
1608 1608
 				 */
1609 1609
 				case 'fileupload':
1610 1610
 
1611
-				    // Set the previous value
1612
-				    $entry = $this->get_entry();
1611
+					// Set the previous value
1612
+					$entry = $this->get_entry();
1613 1613
 
1614
-				    $input_name = 'input_'.$field->id;
1615
-				    $form_id = $form['id'];
1614
+					$input_name = 'input_'.$field->id;
1615
+					$form_id = $form['id'];
1616 1616
 
1617
-				    $value = NULL;
1617
+					$value = NULL;
1618 1618
 
1619
-				    // Use the previous entry value as the default.
1620
-				    if( isset( $entry[ $field->id ] ) ) {
1621
-				        $value = $entry[ $field->id ];
1622
-				    }
1619
+					// Use the previous entry value as the default.
1620
+					if( isset( $entry[ $field->id ] ) ) {
1621
+						$value = $entry[ $field->id ];
1622
+					}
1623 1623
 
1624
-				    // If this is a single upload file
1625
-				    if( !empty( $_FILES[ $input_name ] ) && !empty( $_FILES[ $input_name ]['name'] ) ) {
1626
-				        $file_path = GFFormsModel::get_file_upload_path( $form['id'], $_FILES[ $input_name ]['name'] );
1627
-				        $value = $file_path['url'];
1624
+					// If this is a single upload file
1625
+					if( !empty( $_FILES[ $input_name ] ) && !empty( $_FILES[ $input_name ]['name'] ) ) {
1626
+						$file_path = GFFormsModel::get_file_upload_path( $form['id'], $_FILES[ $input_name ]['name'] );
1627
+						$value = $file_path['url'];
1628 1628
 
1629
-				    } else {
1629
+					} else {
1630 1630
 
1631
-				        // Fix PHP warning on line 1498 of form_display.php for post_image fields
1632
-				        // Fix PHP Notice:  Undefined index:  size in form_display.php on line 1511
1633
-				        $_FILES[ $input_name ] = array('name' => '', 'size' => '' );
1631
+						// Fix PHP warning on line 1498 of form_display.php for post_image fields
1632
+						// Fix PHP Notice:  Undefined index:  size in form_display.php on line 1511
1633
+						$_FILES[ $input_name ] = array('name' => '', 'size' => '' );
1634 1634
 
1635
-				    }
1635
+					}
1636 1636
 
1637
-				    if ( \GV\Utils::get( $field, "multipleFiles" ) ) {
1637
+					if ( \GV\Utils::get( $field, "multipleFiles" ) ) {
1638 1638
 
1639
-				        // If there are fresh uploads, process and merge them.
1640
-				        // Otherwise, use the passed values, which should be json-encoded array of URLs
1641
-				        if( isset( GFFormsModel::$uploaded_files[$form_id][$input_name] ) ) {
1642
-				            $value = empty( $value ) ? '[]' : $value;
1643
-				            $value = stripslashes_deep( $value );
1644
-				            $value = GFFormsModel::prepare_value( $form, $field, $value, $input_name, $entry['id'], array());
1645
-				        }
1639
+						// If there are fresh uploads, process and merge them.
1640
+						// Otherwise, use the passed values, which should be json-encoded array of URLs
1641
+						if( isset( GFFormsModel::$uploaded_files[$form_id][$input_name] ) ) {
1642
+							$value = empty( $value ) ? '[]' : $value;
1643
+							$value = stripslashes_deep( $value );
1644
+							$value = GFFormsModel::prepare_value( $form, $field, $value, $input_name, $entry['id'], array());
1645
+						}
1646 1646
 
1647
-				    } else {
1647
+					} else {
1648 1648
 
1649
-				        // A file already exists when editing an entry
1650
-				        // We set this to solve issue when file upload fields are required.
1651
-				        GFFormsModel::$uploaded_files[ $form_id ][ $input_name ] = $value;
1649
+						// A file already exists when editing an entry
1650
+						// We set this to solve issue when file upload fields are required.
1651
+						GFFormsModel::$uploaded_files[ $form_id ][ $input_name ] = $value;
1652 1652
 
1653
-				    }
1653
+					}
1654 1654
 
1655
-				    $this->entry[ $input_name ] = $value;
1656
-				    $_POST[ $input_name ] = $value;
1655
+					$this->entry[ $input_name ] = $value;
1656
+					$_POST[ $input_name ] = $value;
1657 1657
 
1658
-				    break;
1658
+					break;
1659 1659
 
1660 1660
 				case 'number':
1661
-				    // Fix "undefined index" issue at line 1286 in form_display.php
1662
-				    if( !isset( $_POST['input_'.$field->id ] ) ) {
1663
-				        $_POST['input_'.$field->id ] = NULL;
1664
-				    }
1665
-				    break;
1661
+					// Fix "undefined index" issue at line 1286 in form_display.php
1662
+					if( !isset( $_POST['input_'.$field->id ] ) ) {
1663
+						$_POST['input_'.$field->id ] = NULL;
1664
+					}
1665
+					break;
1666 1666
 			}
1667 1667
 
1668 1668
 		}
@@ -1752,43 +1752,43 @@  discard block
 block discarded – undo
1752 1752
 				case 'fileupload' :
1753 1753
 				case 'post_image':
1754 1754
 
1755
-				    // in case nothing is uploaded but there are already files saved
1756
-				    if( !empty( $field->failed_validation ) && !empty( $field->isRequired ) && !empty( $value ) ) {
1757
-				        $field->failed_validation = false;
1758
-				        unset( $field->validation_message );
1759
-				    }
1755
+					// in case nothing is uploaded but there are already files saved
1756
+					if( !empty( $field->failed_validation ) && !empty( $field->isRequired ) && !empty( $value ) ) {
1757
+						$field->failed_validation = false;
1758
+						unset( $field->validation_message );
1759
+					}
1760 1760
 
1761
-				    // validate if multi file upload reached max number of files [maxFiles] => 2
1762
-				    if( \GV\Utils::get( $field, 'maxFiles') && \GV\Utils::get( $field, 'multipleFiles') ) {
1761
+					// validate if multi file upload reached max number of files [maxFiles] => 2
1762
+					if( \GV\Utils::get( $field, 'maxFiles') && \GV\Utils::get( $field, 'multipleFiles') ) {
1763 1763
 
1764
-				        $input_name = 'input_' . $field->id;
1765
-				        //uploaded
1766
-				        $file_names = isset( GFFormsModel::$uploaded_files[ $validation_results['form']['id'] ][ $input_name ] ) ? GFFormsModel::$uploaded_files[ $validation_results['form']['id'] ][ $input_name ] : array();
1764
+						$input_name = 'input_' . $field->id;
1765
+						//uploaded
1766
+						$file_names = isset( GFFormsModel::$uploaded_files[ $validation_results['form']['id'] ][ $input_name ] ) ? GFFormsModel::$uploaded_files[ $validation_results['form']['id'] ][ $input_name ] : array();
1767 1767
 
1768
-				        //existent
1769
-				        $entry = $this->get_entry();
1770
-				        $value = NULL;
1771
-				        if( isset( $entry[ $field->id ] ) ) {
1772
-				            $value = json_decode( $entry[ $field->id ], true );
1773
-				        }
1768
+						//existent
1769
+						$entry = $this->get_entry();
1770
+						$value = NULL;
1771
+						if( isset( $entry[ $field->id ] ) ) {
1772
+							$value = json_decode( $entry[ $field->id ], true );
1773
+						}
1774 1774
 
1775
-				        // count uploaded files and existent entry files
1776
-				        $count_files = ( is_array( $file_names ) ? count( $file_names ) : 0 ) +
1777
-						               ( is_array( $value ) ? count( $value ) : 0 );
1775
+						// count uploaded files and existent entry files
1776
+						$count_files = ( is_array( $file_names ) ? count( $file_names ) : 0 ) +
1777
+									   ( is_array( $value ) ? count( $value ) : 0 );
1778 1778
 
1779
-				        if( $count_files > $field->maxFiles ) {
1780
-				            $field->validation_message = __( 'Maximum number of files reached', 'gravityview' );
1781
-				            $field->failed_validation = 1;
1782
-				            $gv_valid = false;
1779
+						if( $count_files > $field->maxFiles ) {
1780
+							$field->validation_message = __( 'Maximum number of files reached', 'gravityview' );
1781
+							$field->failed_validation = 1;
1782
+							$gv_valid = false;
1783 1783
 
1784
-				            // in case of error make sure the newest upload files are removed from the upload input
1785
-				            GFFormsModel::$uploaded_files[ $validation_results['form']['id'] ] = null;
1786
-				        }
1784
+							// in case of error make sure the newest upload files are removed from the upload input
1785
+							GFFormsModel::$uploaded_files[ $validation_results['form']['id'] ] = null;
1786
+						}
1787 1787
 
1788
-				    }
1788
+					}
1789 1789
 
1790 1790
 
1791
-				    break;
1791
+					break;
1792 1792
 
1793 1793
 			}
1794 1794
 
@@ -1799,47 +1799,47 @@  discard block
 block discarded – undo
1799 1799
 
1800 1800
 				switch ( $field_type ) {
1801 1801
 
1802
-				    // Captchas don't need to be re-entered.
1803
-				    case 'captcha':
1802
+					// Captchas don't need to be re-entered.
1803
+					case 'captcha':
1804 1804
 
1805
-				        // Post Image fields aren't editable, so we un-fail them.
1806
-				    case 'post_image':
1807
-				        $field->failed_validation = false;
1808
-				        unset( $field->validation_message );
1809
-				        break;
1805
+						// Post Image fields aren't editable, so we un-fail them.
1806
+					case 'post_image':
1807
+						$field->failed_validation = false;
1808
+						unset( $field->validation_message );
1809
+						break;
1810 1810
 
1811 1811
 				}
1812 1812
 
1813 1813
 				// You can't continue inside a switch, so we do it after.
1814 1814
 				if( empty( $field->failed_validation ) ) {
1815
-				    continue;
1815
+					continue;
1816 1816
 				}
1817 1817
 
1818 1818
 				// checks if the No Duplicates option is not validating entry against itself, since
1819 1819
 				// we're editing a stored entry, it would also assume it's a duplicate.
1820 1820
 				if( !empty( $field->noDuplicates ) ) {
1821 1821
 
1822
-				    $entry = $this->get_entry();
1822
+					$entry = $this->get_entry();
1823 1823
 
1824
-				    // If the value of the entry is the same as the stored value
1825
-				    // Then we can assume it's not a duplicate, it's the same.
1826
-				    if( !empty( $entry ) && $value == $entry[ $field->id ] ) {
1827
-				        //if value submitted was not changed, then don't validate
1828
-				        $field->failed_validation = false;
1824
+					// If the value of the entry is the same as the stored value
1825
+					// Then we can assume it's not a duplicate, it's the same.
1826
+					if( !empty( $entry ) && $value == $entry[ $field->id ] ) {
1827
+						//if value submitted was not changed, then don't validate
1828
+						$field->failed_validation = false;
1829 1829
 
1830
-				        unset( $field->validation_message );
1830
+						unset( $field->validation_message );
1831 1831
 
1832
-				        gravityview()->log->debug( 'GravityView_Edit_Entry[custom_validation] Field not a duplicate; it is the same entry.', array( 'data' => $entry ) );
1832
+						gravityview()->log->debug( 'GravityView_Edit_Entry[custom_validation] Field not a duplicate; it is the same entry.', array( 'data' => $entry ) );
1833 1833
 
1834
-				        continue;
1835
-				    }
1834
+						continue;
1835
+					}
1836 1836
 				}
1837 1837
 
1838 1838
 				// if here then probably we are facing the validation 'At least one field must be filled out'
1839 1839
 				if( GFFormDisplay::is_empty( $field, $this->form_id  ) && empty( $field->isRequired ) ) {
1840
-				    unset( $field->validation_message );
1841
-	                $field->validation_message = false;
1842
-				    continue;
1840
+					unset( $field->validation_message );
1841
+					$field->validation_message = false;
1842
+					continue;
1843 1843
 				}
1844 1844
 
1845 1845
 				$gv_valid = false;
@@ -1903,8 +1903,8 @@  discard block
 block discarded – undo
1903 1903
 		// Hide fields depending on admin settings
1904 1904
 		$fields = $this->filter_fields( $form['fields'], $edit_fields );
1905 1905
 
1906
-	    // If Edit Entry fields are configured, remove adminOnly field settings. Otherwise, don't.
1907
-	    $fields = $this->filter_admin_only_fields( $fields, $edit_fields, $form, $view_id );
1906
+		// If Edit Entry fields are configured, remove adminOnly field settings. Otherwise, don't.
1907
+		$fields = $this->filter_admin_only_fields( $fields, $edit_fields, $form, $view_id );
1908 1908
 
1909 1909
 		/**
1910 1910
 		 * @filter `gravityview/edit_entry/form_fields` Modify the fields displayed in Edit Entry form
@@ -1995,11 +1995,11 @@  discard block
 block discarded – undo
1995 1995
 		// The edit tab has been configured, so we loop through to configured settings
1996 1996
 		foreach ( $configured_fields as $configured_field ) {
1997 1997
 
1998
-	        /** @var GF_Field $field */
1999
-	        foreach ( $fields as $field ) {
1998
+			/** @var GF_Field $field */
1999
+			foreach ( $fields as $field ) {
2000 2000
 				if( intval( $configured_field['id'] ) === intval( $field->id ) && $this->user_can_edit_field( $configured_field, false ) ) {
2001
-				    $edit_fields[] = $this->merge_field_properties( $field, $configured_field );
2002
-				    break;
2001
+					$edit_fields[] = $this->merge_field_properties( $field, $configured_field );
2002
+					break;
2003 2003
 				}
2004 2004
 
2005 2005
 			}
@@ -2055,28 +2055,28 @@  discard block
 block discarded – undo
2055 2055
 	 */
2056 2056
 	private function filter_admin_only_fields( $fields = array(), $edit_fields = null, $form = array(), $view_id = 0 ) {
2057 2057
 
2058
-	    /**
2058
+		/**
2059 2059
 		 * @filter `gravityview/edit_entry/use_gf_admin_only_setting` When Edit tab isn't configured, should the Gravity Forms "Admin Only" field settings be used to control field display to non-admins? Default: true
2060
-	     * If the Edit Entry tab is not configured, adminOnly fields will not be shown to non-administrators.
2061
-	     * If the Edit Entry tab *is* configured, adminOnly fields will be shown to non-administrators, using the configured GV permissions
2062
-	     * @since 1.9.1
2063
-	     * @param boolean $use_gf_adminonly_setting True: Hide field if set to Admin Only in GF and the user is not an admin. False: show field based on GV permissions, ignoring GF permissions.
2064
-	     * @param array $form GF Form array
2065
-	     * @param int $view_id View ID
2066
-	     */
2067
-	    $use_gf_adminonly_setting = apply_filters( 'gravityview/edit_entry/use_gf_admin_only_setting', empty( $edit_fields ), $form, $view_id );
2068
-
2069
-	    if( $use_gf_adminonly_setting && false === GVCommon::has_cap( 'gravityforms_edit_entries', $this->entry['id'] ) ) {
2060
+		 * If the Edit Entry tab is not configured, adminOnly fields will not be shown to non-administrators.
2061
+		 * If the Edit Entry tab *is* configured, adminOnly fields will be shown to non-administrators, using the configured GV permissions
2062
+		 * @since 1.9.1
2063
+		 * @param boolean $use_gf_adminonly_setting True: Hide field if set to Admin Only in GF and the user is not an admin. False: show field based on GV permissions, ignoring GF permissions.
2064
+		 * @param array $form GF Form array
2065
+		 * @param int $view_id View ID
2066
+		 */
2067
+		$use_gf_adminonly_setting = apply_filters( 'gravityview/edit_entry/use_gf_admin_only_setting', empty( $edit_fields ), $form, $view_id );
2068
+
2069
+		if( $use_gf_adminonly_setting && false === GVCommon::has_cap( 'gravityforms_edit_entries', $this->entry['id'] ) ) {
2070 2070
 			foreach( $fields as $k => $field ) {
2071 2071
 				if( $field->adminOnly ) {
2072
-				    unset( $fields[ $k ] );
2072
+					unset( $fields[ $k ] );
2073 2073
 				}
2074 2074
 			}
2075 2075
 			return array_values( $fields );
2076 2076
 		}
2077 2077
 
2078
-	    foreach( $fields as &$field ) {
2079
-		    $field->adminOnly = false;
2078
+		foreach( $fields as &$field ) {
2079
+			$field->adminOnly = false;
2080 2080
 		}
2081 2081
 
2082 2082
 		return $fields;
@@ -2096,13 +2096,13 @@  discard block
 block discarded – undo
2096 2096
 	 */
2097 2097
 	private function unselect_default_values( $form ) {
2098 2098
 
2099
-	    foreach ( $form['fields'] as &$field ) {
2099
+		foreach ( $form['fields'] as &$field ) {
2100 2100
 
2101 2101
 			if ( empty( $field->choices ) ) {
2102
-                continue;
2102
+				continue;
2103 2103
 			}
2104 2104
 
2105
-            foreach ( $field->choices as &$choice ) {
2105
+			foreach ( $field->choices as &$choice ) {
2106 2106
 				if ( \GV\Utils::get( $choice, 'isSelected' ) ) {
2107 2107
 					$choice['isSelected'] = false;
2108 2108
 				}
@@ -2139,36 +2139,36 @@  discard block
 block discarded – undo
2139 2139
 
2140 2140
 			if( 'checkbox' === $field->type ) {
2141 2141
 				foreach ( $field->get_entry_inputs() as $key => $input ) {
2142
-				    $input_id = $input['id'];
2143
-				    $choice = $field->choices[ $key ];
2144
-				    $value = \GV\Utils::get( $this->entry, $input_id );
2145
-				    $match = RGFormsModel::choice_value_match( $field, $choice, $value );
2146
-				    if( $match ) {
2147
-				        $field->choices[ $key ]['isSelected'] = true;
2148
-				    }
2142
+					$input_id = $input['id'];
2143
+					$choice = $field->choices[ $key ];
2144
+					$value = \GV\Utils::get( $this->entry, $input_id );
2145
+					$match = RGFormsModel::choice_value_match( $field, $choice, $value );
2146
+					if( $match ) {
2147
+						$field->choices[ $key ]['isSelected'] = true;
2148
+					}
2149 2149
 				}
2150 2150
 			} else {
2151 2151
 
2152 2152
 				// We need to run through each field to set the default values
2153 2153
 				foreach ( $this->entry as $field_id => $field_value ) {
2154 2154
 
2155
-				    if( floatval( $field_id ) === floatval( $field->id ) ) {
2155
+					if( floatval( $field_id ) === floatval( $field->id ) ) {
2156 2156
 
2157
-				        if( 'list' === $field->type ) {
2158
-				            $list_rows = maybe_unserialize( $field_value );
2157
+						if( 'list' === $field->type ) {
2158
+							$list_rows = maybe_unserialize( $field_value );
2159 2159
 
2160
-				            $list_field_value = array();
2161
-				            foreach ( (array) $list_rows as $row ) {
2162
-				                foreach ( (array) $row as $column ) {
2163
-				                    $list_field_value[] = $column;
2164
-				                }
2165
-				            }
2160
+							$list_field_value = array();
2161
+							foreach ( (array) $list_rows as $row ) {
2162
+								foreach ( (array) $row as $column ) {
2163
+									$list_field_value[] = $column;
2164
+								}
2165
+							}
2166 2166
 
2167
-				            $field->defaultValue = serialize( $list_field_value );
2168
-				        } else {
2169
-				            $field->defaultValue = $field_value;
2170
-				        }
2171
-				    }
2167
+							$field->defaultValue = serialize( $list_field_value );
2168
+						} else {
2169
+							$field->defaultValue = $field_value;
2170
+						}
2171
+					}
2172 2172
 				}
2173 2173
 			}
2174 2174
 		}
@@ -2229,7 +2229,7 @@  discard block
 block discarded – undo
2229 2229
 			foreach ( $form['fields'] as &$field ) {
2230 2230
 				foreach ( $remove_conditions_rule as $_remove_conditions_r ) {
2231 2231
 
2232
-				    list( $rule_field_id, $rule_i ) = $_remove_conditions_r;
2232
+					list( $rule_field_id, $rule_i ) = $_remove_conditions_r;
2233 2233
 
2234 2234
 					if ( $field['id'] == $rule_field_id ) {
2235 2235
 						unset( $field->conditionalLogic['rules'][ $rule_i ] );
@@ -2280,7 +2280,7 @@  discard block
 block discarded – undo
2280 2280
 			return $has_conditional_logic;
2281 2281
 		}
2282 2282
 
2283
-	    /** @see GravityView_Edit_Entry_Render::filter_conditional_logic for filter documentation */
2283
+		/** @see GravityView_Edit_Entry_Render::filter_conditional_logic for filter documentation */
2284 2284
 		return apply_filters( 'gravityview/edit_entry/conditional_logic', $has_conditional_logic, $form );
2285 2285
 	}
2286 2286
 
@@ -2347,14 +2347,14 @@  discard block
 block discarded – undo
2347 2347
 
2348 2348
 		if( $echo && $error !== true ) {
2349 2349
 
2350
-	        $error = esc_html( $error );
2350
+			$error = esc_html( $error );
2351 2351
 
2352
-	        /**
2353
-	         * @since 1.9
2354
-	         */
2355
-	        if ( ! empty( $this->entry ) ) {
2356
-		        $error .= ' ' . gravityview_get_link( '#', _x('Go back.', 'Link shown when invalid Edit Entry link is clicked', 'gravityview' ), array( 'onclick' => "window.history.go(-1); return false;" ) );
2357
-	        }
2352
+			/**
2353
+			 * @since 1.9
2354
+			 */
2355
+			if ( ! empty( $this->entry ) ) {
2356
+				$error .= ' ' . gravityview_get_link( '#', _x('Go back.', 'Link shown when invalid Edit Entry link is clicked', 'gravityview' ), array( 'onclick' => "window.history.go(-1); return false;" ) );
2357
+			}
2358 2358
 
2359 2359
 			echo GVCommon::generate_notice( wpautop( $error ), 'gv-error error');
2360 2360
 		}
Please login to merge, or discard this patch.
includes/extensions/delete-entry/class-delete-entry.php 1 patch
Indentation   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -532,7 +532,7 @@
 block discarded – undo
532 532
 				 * @since 1.16.4
533 533
 				 * @param  int $entry_id ID of the Gravity Forms entry
534 534
 				 * @param  array $entry Deleted entry array
535
-				*/
535
+				 */
536 536
 				do_action( 'gravityview/delete-entry/deleted', $entry_id, $entry );
537 537
 			}
538 538
 
Please login to merge, or discard this patch.
includes/extensions/edit-entry/class-edit-entry-admin.php 1 patch
Indentation   +148 added lines, -148 removed lines patch added patch discarded remove patch
@@ -10,42 +10,42 @@  discard block
 block discarded – undo
10 10
  */
11 11
 
12 12
 if ( ! defined( 'WPINC' ) ) {
13
-    die;
13
+	die;
14 14
 }
15 15
 
16 16
 
17 17
 class GravityView_Edit_Entry_Admin {
18 18
 
19
-    protected $loader;
19
+	protected $loader;
20 20
 
21
-    function __construct( GravityView_Edit_Entry $loader ) {
22
-        $this->loader = $loader;
23
-    }
21
+	function __construct( GravityView_Edit_Entry $loader ) {
22
+		$this->loader = $loader;
23
+	}
24 24
 
25
-    function load() {
25
+	function load() {
26 26
 
27
-        if( !is_admin() ) {
28
-            return;
29
-        }
27
+		if( !is_admin() ) {
28
+			return;
29
+		}
30 30
 
31
-        // Add Edit Link as a default field, outside those set in the Gravity Form form
32
-        add_filter( 'gravityview_entry_default_fields', array( $this, 'add_default_field' ), 10, 3 );
31
+		// Add Edit Link as a default field, outside those set in the Gravity Form form
32
+		add_filter( 'gravityview_entry_default_fields', array( $this, 'add_default_field' ), 10, 3 );
33 33
 
34
-        // For the Edit Entry Link, you don't want visible to all users.
35
-        add_filter( 'gravityview_field_visibility_caps', array( $this, 'modify_visibility_caps' ), 10, 5 );
34
+		// For the Edit Entry Link, you don't want visible to all users.
35
+		add_filter( 'gravityview_field_visibility_caps', array( $this, 'modify_visibility_caps' ), 10, 5 );
36 36
 
37
-        // Modify the field options based on the name of the field type
38
-        add_filter( 'gravityview_template_edit_link_options', array( $this, 'edit_link_field_options' ), 10, 5 );
37
+		// Modify the field options based on the name of the field type
38
+		add_filter( 'gravityview_template_edit_link_options', array( $this, 'edit_link_field_options' ), 10, 5 );
39 39
 
40
-        // add tooltips
41
-        add_filter( 'gravityview/metaboxes/tooltips', array( $this, 'tooltips') );
40
+		// add tooltips
41
+		add_filter( 'gravityview/metaboxes/tooltips', array( $this, 'tooltips') );
42 42
 
43
-        // custom fields' options for zone EDIT
44
-        add_filter( 'gravityview_template_field_options', array( $this, 'field_options' ), 10, 6 );
43
+		// custom fields' options for zone EDIT
44
+		add_filter( 'gravityview_template_field_options', array( $this, 'field_options' ), 10, 6 );
45 45
 
46
-        // Add Edit Entry settings to View Settings
47
-        add_action( 'gravityview/metaboxes/edit_entry', array( $this, 'view_settings_metabox' ) );
48
-    }
46
+		// Add Edit Entry settings to View Settings
47
+		add_action( 'gravityview/metaboxes/edit_entry', array( $this, 'view_settings_metabox' ) );
48
+	}
49 49
 
50 50
 	/**
51 51
 	 * Render Edit Entry View metabox settings
@@ -69,101 +69,101 @@  discard block
 block discarded – undo
69 69
 		GravityView_Render_Settings::render_setting_row( 'edit_redirect_url', $current_settings );
70 70
 	}
71 71
 
72
-    /**
73
-     * Add Edit Link as a default field, outside those set in the Gravity Form form
74
-     * @param array $entry_default_fields Existing fields
75
-     * @param  string|array $form form_ID or form object
76
-     * @param  string $zone   Either 'single', 'directory', 'header', 'footer'
77
-     */
78
-    function add_default_field( $entry_default_fields, $form = array(), $zone = '' ) {
79
-
80
-        if( $zone !== 'edit' ) {
81
-
82
-            $entry_default_fields['edit_link'] = array(
83
-                'label' => __('Edit Entry', 'gravityview'),
84
-                'type' => 'edit_link',
85
-                'desc'	=> __('A link to edit the entry. Visible based on View settings.', 'gravityview'),
86
-                'icon' => 'dashicons-welcome-write-blog',
87
-            );
88
-
89
-        }
90
-
91
-        return $entry_default_fields;
92
-    }
93
-
94
-    /**
95
-     * Change wording for the Edit context to read Entry Creator
96
-     *
97
-     * @param  array 	   $visibility_caps        Array of capabilities to display in field dropdown.
98
-     * @param  string      $field_type  Type of field options to render (`field` or `widget`)
99
-     * @param  string      $template_id Table slug
100
-     * @param  float       $field_id    GF Field ID - Example: `3`, `5.2`, `entry_link`, `created_by`
101
-     * @param  string      $context     What context are we in? Example: `single` or `directory`
102
-     * @param  string      $input_type  (textarea, list, select, etc.)
103
-     * @return array                   Array of field options with `label`, `value`, `type`, `default` keys
104
-     */
105
-    function modify_visibility_caps( $visibility_caps = array(), $template_id = '', $field_id = '', $context = '', $input_type = '' ) {
106
-
107
-        $caps = $visibility_caps;
108
-
109
-        // If we're configuring fields in the edit context, we want a limited selection
110
-        if( $context === 'edit' ) {
111
-
112
-            // Remove other built-in caps.
113
-            unset( $caps['publish_posts'], $caps['gravityforms_view_entries'], $caps['delete_others_posts'] );
114
-
115
-            $caps['read'] = _x('Entry Creator','User capability', 'gravityview');
116
-        }
117
-
118
-        return $caps;
119
-    }
120
-
121
-    /**
122
-     * Add "Edit Link Text" setting to the edit_link field settings
123
-     *
124
-     * @param array  $field_options
125
-     * @param string $template_id
126
-     * @param string $field_id
127
-     * @param string $context
128
-     * @param string $input_type
129
-     *
130
-     * @return array $field_options, with "Edit Link Text" field option
131
-     */
132
-    function edit_link_field_options( $field_options, $template_id, $field_id, $context, $input_type ) {
133
-
134
-        // Always a link, never a filter
135
-        unset( $field_options['show_as_link'], $field_options['search_filter'] );
136
-
137
-        // Edit Entry link should only appear to visitors capable of editing entries
138
-        unset( $field_options['only_loggedin'], $field_options['only_loggedin_cap'] );
139
-
140
-        $add_option['edit_link'] = array(
141
-            'type' => 'text',
142
-            'label' => __( 'Edit Link Text', 'gravityview' ),
143
-            'desc' => NULL,
144
-            'value' => __('Edit Entry', 'gravityview'),
145
-            'merge_tags' => true,
146
-        );
147
-
148
-        return array_merge( $add_option, $field_options );
149
-    }
150
-
151
-    /**
152
-     * Add tooltips
153
-     * @param  array $tooltips Existing tooltips
154
-     * @return array           Modified tooltips
155
-     */
156
-    function tooltips( $tooltips ) {
157
-
158
-        $return = $tooltips;
159
-
160
-        $return['allow_edit_cap'] = array(
161
-            'title' => __('Limiting Edit Access', 'gravityview'),
162
-            'value' => __('Change this setting if you don\'t want the user who created the entry to be able to edit this field.', 'gravityview'),
163
-        );
164
-
165
-        return $return;
166
-    }
72
+	/**
73
+	 * Add Edit Link as a default field, outside those set in the Gravity Form form
74
+	 * @param array $entry_default_fields Existing fields
75
+	 * @param  string|array $form form_ID or form object
76
+	 * @param  string $zone   Either 'single', 'directory', 'header', 'footer'
77
+	 */
78
+	function add_default_field( $entry_default_fields, $form = array(), $zone = '' ) {
79
+
80
+		if( $zone !== 'edit' ) {
81
+
82
+			$entry_default_fields['edit_link'] = array(
83
+				'label' => __('Edit Entry', 'gravityview'),
84
+				'type' => 'edit_link',
85
+				'desc'	=> __('A link to edit the entry. Visible based on View settings.', 'gravityview'),
86
+				'icon' => 'dashicons-welcome-write-blog',
87
+			);
88
+
89
+		}
90
+
91
+		return $entry_default_fields;
92
+	}
93
+
94
+	/**
95
+	 * Change wording for the Edit context to read Entry Creator
96
+	 *
97
+	 * @param  array 	   $visibility_caps        Array of capabilities to display in field dropdown.
98
+	 * @param  string      $field_type  Type of field options to render (`field` or `widget`)
99
+	 * @param  string      $template_id Table slug
100
+	 * @param  float       $field_id    GF Field ID - Example: `3`, `5.2`, `entry_link`, `created_by`
101
+	 * @param  string      $context     What context are we in? Example: `single` or `directory`
102
+	 * @param  string      $input_type  (textarea, list, select, etc.)
103
+	 * @return array                   Array of field options with `label`, `value`, `type`, `default` keys
104
+	 */
105
+	function modify_visibility_caps( $visibility_caps = array(), $template_id = '', $field_id = '', $context = '', $input_type = '' ) {
106
+
107
+		$caps = $visibility_caps;
108
+
109
+		// If we're configuring fields in the edit context, we want a limited selection
110
+		if( $context === 'edit' ) {
111
+
112
+			// Remove other built-in caps.
113
+			unset( $caps['publish_posts'], $caps['gravityforms_view_entries'], $caps['delete_others_posts'] );
114
+
115
+			$caps['read'] = _x('Entry Creator','User capability', 'gravityview');
116
+		}
117
+
118
+		return $caps;
119
+	}
120
+
121
+	/**
122
+	 * Add "Edit Link Text" setting to the edit_link field settings
123
+	 *
124
+	 * @param array  $field_options
125
+	 * @param string $template_id
126
+	 * @param string $field_id
127
+	 * @param string $context
128
+	 * @param string $input_type
129
+	 *
130
+	 * @return array $field_options, with "Edit Link Text" field option
131
+	 */
132
+	function edit_link_field_options( $field_options, $template_id, $field_id, $context, $input_type ) {
133
+
134
+		// Always a link, never a filter
135
+		unset( $field_options['show_as_link'], $field_options['search_filter'] );
136
+
137
+		// Edit Entry link should only appear to visitors capable of editing entries
138
+		unset( $field_options['only_loggedin'], $field_options['only_loggedin_cap'] );
139
+
140
+		$add_option['edit_link'] = array(
141
+			'type' => 'text',
142
+			'label' => __( 'Edit Link Text', 'gravityview' ),
143
+			'desc' => NULL,
144
+			'value' => __('Edit Entry', 'gravityview'),
145
+			'merge_tags' => true,
146
+		);
147
+
148
+		return array_merge( $add_option, $field_options );
149
+	}
150
+
151
+	/**
152
+	 * Add tooltips
153
+	 * @param  array $tooltips Existing tooltips
154
+	 * @return array           Modified tooltips
155
+	 */
156
+	function tooltips( $tooltips ) {
157
+
158
+		$return = $tooltips;
159
+
160
+		$return['allow_edit_cap'] = array(
161
+			'title' => __('Limiting Edit Access', 'gravityview'),
162
+			'value' => __('Change this setting if you don\'t want the user who created the entry to be able to edit this field.', 'gravityview'),
163
+		);
164
+
165
+		return $return;
166
+	}
167 167
 
168 168
 	/**
169 169
 	 * Add "Edit Link Text" setting to the edit_link field settings
@@ -179,37 +179,37 @@  discard block
 block discarded – undo
179 179
 	 */
180 180
 	public function field_options( $field_options, $template_id, $field_id, $context, $input_type, $form_id ) {
181 181
 
182
-        // We only want to modify the settings for the edit context
183
-        if( 'edit' !== $context ) {
184
-
185
-            /**
186
-             * @since 1.8.4
187
-             */
188
-            $field_options['new_window'] = array(
189
-                'type' => 'checkbox',
190
-                'label' => __( 'Open link in a new tab or window?', 'gravityview' ),
191
-                'value' => false,
192
-            );
193
-
194
-            return $field_options;
195
-        }
196
-
197
-        //  Entry field is only for logged in users
198
-        unset( $field_options['only_loggedin'], $field_options['only_loggedin_cap'] );
199
-
200
-        $add_options = array(
201
-            'allow_edit_cap' => array(
202
-                'type' => 'select',
203
-                'label' => __( 'Make field editable to:', 'gravityview' ),
204
-                'choices' => GravityView_Render_Settings::get_cap_choices( $template_id, $field_id, $context, $input_type ),
205
-                'tooltip' => 'allow_edit_cap',
206
-                'class' => 'widefat',
207
-                'value' => 'read', // Default: entry creator
208
-            ),
209
-        );
210
-
211
-        return array_merge( $field_options, $add_options );
212
-    }
182
+		// We only want to modify the settings for the edit context
183
+		if( 'edit' !== $context ) {
184
+
185
+			/**
186
+			 * @since 1.8.4
187
+			 */
188
+			$field_options['new_window'] = array(
189
+				'type' => 'checkbox',
190
+				'label' => __( 'Open link in a new tab or window?', 'gravityview' ),
191
+				'value' => false,
192
+			);
193
+
194
+			return $field_options;
195
+		}
196
+
197
+		//  Entry field is only for logged in users
198
+		unset( $field_options['only_loggedin'], $field_options['only_loggedin_cap'] );
199
+
200
+		$add_options = array(
201
+			'allow_edit_cap' => array(
202
+				'type' => 'select',
203
+				'label' => __( 'Make field editable to:', 'gravityview' ),
204
+				'choices' => GravityView_Render_Settings::get_cap_choices( $template_id, $field_id, $context, $input_type ),
205
+				'tooltip' => 'allow_edit_cap',
206
+				'class' => 'widefat',
207
+				'value' => 'read', // Default: entry creator
208
+			),
209
+		);
210
+
211
+		return array_merge( $field_options, $add_options );
212
+	}
213 213
 
214 214
 
215 215
 } // end class
Please login to merge, or discard this patch.
includes/extensions/entry-notes/class-gravityview-field-notes.php 1 patch
Indentation   +17 added lines, -17 removed lines patch added patch discarded remove patch
@@ -270,7 +270,7 @@  discard block
 block discarded – undo
270 270
 	 *
271 271
 	 * Verify permissions. Check expected $_POST. Parse args, then send to process_delete_notes
272 272
 	 *
273
-  	 * @since 1.17
273
+	 * @since 1.17
274 274
 	 *
275 275
 	 * @see process_delete_notes
276 276
 	 *
@@ -423,7 +423,7 @@  discard block
 block discarded – undo
423 423
 			'subject-label' => __( 'Subject', 'gravityview' ),
424 424
 			'subject' => __( 'Email subject', 'gravityview' ),
425 425
 			'default-email-subject' => __( 'New entry note', 'gravityview' ),
426
-            'email-footer' => __( 'This note was sent from {url}', 'gravityview' ),
426
+			'email-footer' => __( 'This note was sent from {url}', 'gravityview' ),
427 427
 			'also-email' => __( 'Also email this note to', 'gravityview' ),
428 428
 			'error-add-note' => __( 'There was an error adding the note.', 'gravityview' ),
429 429
 			'error-invalid' => __( 'The request was invalid. Refresh the page and try again.', 'gravityview' ),
@@ -493,11 +493,11 @@  discard block
 block discarded – undo
493 493
 
494 494
 		if ( $context instanceof \GV\Template_Context ) {
495 495
 
496
-		    ob_start();
497
-		    $context->template->get_template_part( 'note', 'detail', true );
498
-            $note_detail_html = ob_get_clean();
496
+			ob_start();
497
+			$context->template->get_template_part( 'note', 'detail', true );
498
+			$note_detail_html = ob_get_clean();
499 499
 
500
-            ob_start();
500
+			ob_start();
501 501
 			$context->template->get_template_part( 'note', $note_row_template, true );
502 502
 			$note_row = ob_get_clean();
503 503
 		} else {
@@ -756,7 +756,7 @@  discard block
 block discarded – undo
756 756
 				'gv-note-to-custom' => '',
757 757
 				'gv-note-subject' => '',
758 758
 				'gv-note-content' => '',
759
-                'current-url' => '',
759
+				'current-url' => '',
760 760
 			);
761 761
 
762 762
 			$current_user  = wp_get_current_user();
@@ -808,9 +808,9 @@  discard block
 block discarded – undo
808 808
 			$message .= $this->get_email_footer( $email_footer, $is_html, $email_data );
809 809
 
810 810
 			/**
811
-             * @filter `gravityview/field/notes/wpautop_email` Should the message content have paragraphs added automatically, if using HTML message format
811
+			 * @filter `gravityview/field/notes/wpautop_email` Should the message content have paragraphs added automatically, if using HTML message format
812 812
 			 * @since 1.18
813
-             * @param bool $wpautop_email True: Apply wpautop() to the email message if using; False: Leave as entered (Default: true)
813
+			 * @param bool $wpautop_email True: Apply wpautop() to the email message if using; False: Leave as entered (Default: true)
814 814
 			 */
815 815
 			$wpautop_email = apply_filters( 'gravityview/field/notes/wpautop_email', true );
816 816
 
@@ -830,12 +830,12 @@  discard block
 block discarded – undo
830 830
 	}
831 831
 
832 832
 	/**
833
-     * Get the footer for Entry Note emails
834
-     *
835
-     * `{url}` is replaced by the URL of the page where the note form was embedded
836
-     *
837
-     * @since 1.18
838
-     * @see GravityView_Field_Notes::strings The default value of $message_footer is set here, with the key 'email-footer'
833
+	 * Get the footer for Entry Note emails
834
+	 *
835
+	 * `{url}` is replaced by the URL of the page where the note form was embedded
836
+	 *
837
+	 * @since 1.18
838
+	 * @see GravityView_Field_Notes::strings The default value of $message_footer is set here, with the key 'email-footer'
839 839
 	 *
840 840
 	 * @param string $email_footer The message footer value
841 841
 	 * @param bool $is_html True: Email is being sent as HTML; False: sent as text
@@ -844,10 +844,10 @@  discard block
 block discarded – undo
844 844
 	 */
845 845
 	private function get_email_footer( $email_footer = '', $is_html = true, $email_data = array() ) {
846 846
 
847
-	    $output = '';
847
+		$output = '';
848 848
 
849 849
 		if( ! empty( $email_footer ) ) {
850
-		    $url = \GV\Utils::get( $email_data, 'current-url' );
850
+			$url = \GV\Utils::get( $email_data, 'current-url' );
851 851
 			$url = html_entity_decode( $url );
852 852
 			$url = site_url( $url );
853 853
 
Please login to merge, or discard this patch.