Completed
Push — master ( cf9740...0c1274 )
by Zack
19:03 queued 03:33
created
includes/class-cache.php 1 patch
Spacing   +17 added lines, -17 removed lines patch added patch discarded remove patch
@@ -81,7 +81,7 @@  discard block
 block discarded – undo
81 81
 		/**
82 82
 		 * @see RGFormsModel::update_lead_property() Trigger when any entry property changes
83 83
 		 */
84
-		foreach( $this->lead_db_columns as $column ) {
84
+		foreach ( $this->lead_db_columns as $column ) {
85 85
 			add_action( 'gform_update_' . $column, array( $this, 'entry_status_changed' ), 10, 3 );
86 86
 		}
87 87
 
@@ -114,9 +114,9 @@  discard block
 block discarded – undo
114 114
 			return;
115 115
 		}
116 116
 
117
-		do_action( 'gravityview_log_debug', __METHOD__ . ' adding form ' . $entry['form_id'] . ' to blacklist because entry #' . $lead_id . ' was deleted', array( 'value' => $property_value, 'previous' => $previous_value ) );
117
+		do_action( 'gravityview_log_debug', __METHOD__ . ' adding form ' . $entry[ 'form_id' ] . ' to blacklist because entry #' . $lead_id . ' was deleted', array( 'value' => $property_value, 'previous' => $previous_value ) );
118 118
 
119
-		$this->blacklist_add( $entry['form_id'] );
119
+		$this->blacklist_add( $entry[ 'form_id' ] );
120 120
 	}
121 121
 
122 122
 	/**
@@ -129,9 +129,9 @@  discard block
 block discarded – undo
129 129
 	 */
130 130
 	public function entry_updated( $form, $lead_id ) {
131 131
 
132
-		do_action( 'gravityview_log_debug', 'GravityView_Cache[entry_updated] adding form ' . $form['id'] . ' to blacklist because entry #' . $lead_id . ' was updated' );
132
+		do_action( 'gravityview_log_debug', 'GravityView_Cache[entry_updated] adding form ' . $form[ 'id' ] . ' to blacklist because entry #' . $lead_id . ' was updated' );
133 133
 
134
-		$this->blacklist_add( $form['id'] );
134
+		$this->blacklist_add( $form[ 'id' ] );
135 135
 	}
136 136
 
137 137
 	/**
@@ -146,9 +146,9 @@  discard block
 block discarded – undo
146 146
 	 */
147 147
 	public function entry_created( $entry, $form ) {
148 148
 
149
-		do_action( 'gravityview_log_debug', 'GravityView_Cache[entry_created] adding form ' . $form['id'] . ' to blacklist because entry #' . $entry['id'] . ' was created' );
149
+		do_action( 'gravityview_log_debug', 'GravityView_Cache[entry_created] adding form ' . $form[ 'id' ] . ' to blacklist because entry #' . $entry[ 'id' ] . ' was created' );
150 150
 
151
-		$this->blacklist_add( $form['id'] );
151
+		$this->blacklist_add( $form[ 'id' ] );
152 152
 	}
153 153
 
154 154
 	/**
@@ -164,9 +164,9 @@  discard block
 block discarded – undo
164 164
 			return;
165 165
 		}
166 166
 
167
-		do_action( 'gravityview_log_debug', 'GravityView_Cache[entry_added] adding form ' . $form['id'] . ' to blacklist because entry #' . $entry['id'] . ' was added' );
167
+		do_action( 'gravityview_log_debug', 'GravityView_Cache[entry_added] adding form ' . $form[ 'id' ] . ' to blacklist because entry #' . $entry[ 'id' ] . ' was added' );
168 168
 
169
-		$this->blacklist_add( $form['id'] );
169
+		$this->blacklist_add( $form[ 'id' ] );
170 170
 	}
171 171
 
172 172
 	/**
@@ -185,7 +185,7 @@  discard block
 block discarded – undo
185 185
 		// Normally just one form, but supports multiple forms
186 186
 		//
187 187
 		// Array of IDs 12, 5, 14 would result in `f:12-f:5-f:14`
188
-		$forms = 'f:' . implode( '-f:', (array) $form_ids );
188
+		$forms = 'f:' . implode( '-f:', (array)$form_ids );
189 189
 
190 190
 		// Prefix for transient keys
191 191
 		// Now the prefix would be: `gv-cache-f:12-f:5-f:14-`
@@ -242,7 +242,7 @@  discard block
 block discarded – undo
242 242
 		) );
243 243
 
244 244
 		// Add the passed form IDs
245
-		$blacklist = array_merge( (array) $blacklist, $form_ids );
245
+		$blacklist = array_merge( (array)$blacklist, $form_ids );
246 246
 
247 247
 		// Don't duplicate
248 248
 		$blacklist = array_unique( $blacklist );
@@ -265,7 +265,7 @@  discard block
 block discarded – undo
265 265
 
266 266
 		$blacklist = get_option( self::BLACKLIST_OPTION_NAME, array() );
267 267
 
268
-		$updated_list = array_diff( $blacklist, (array) $form_ids );
268
+		$updated_list = array_diff( $blacklist, (array)$form_ids );
269 269
 
270 270
 		do_action( 'gravityview_log_debug', 'GravityView_Cache[blacklist_remove] Removing form IDs from cache blacklist', array(
271 271
 			'$form_ids'     => $form_ids,
@@ -298,7 +298,7 @@  discard block
 block discarded – undo
298 298
 			return false;
299 299
 		}
300 300
 
301
-		foreach ( (array) $form_ids as $form_id ) {
301
+		foreach ( (array)$form_ids as $form_id ) {
302 302
 
303 303
 			if ( in_array( $form_id, $blacklist ) ) {
304 304
 
@@ -370,7 +370,7 @@  discard block
 block discarded – undo
370 370
 			 * @filter `gravityview_cache_time_{$filter_name}` Modify the cache time for a type of cache
371 371
 			 * @param int $time_in_seconds Default: `DAY_IN_SECONDS`
372 372
 			 */
373
-			$cache_time = (int) apply_filters( 'gravityview_cache_time_' . $filter_name, DAY_IN_SECONDS );
373
+			$cache_time = (int)apply_filters( 'gravityview_cache_time_' . $filter_name, DAY_IN_SECONDS );
374 374
 
375 375
 			do_action( 'gravityview_log_debug', 'GravityView_Cache[set] Setting cache with transient key ' . $this->key . ' for ' . $cache_time . ' seconds' );
376 376
 
@@ -406,7 +406,7 @@  discard block
 block discarded – undo
406 406
 			return;
407 407
 		}
408 408
 
409
-		foreach ( (array) $form_ids as $form_id ) {
409
+		foreach ( (array)$form_ids as $form_id ) {
410 410
 
411 411
 			$key = '_transient_gv-cache-';
412 412
 
@@ -525,7 +525,7 @@  discard block
 block discarded – undo
525 525
 
526 526
 		if ( GVCommon::has_cap( 'edit_gravityviews' ) ) {
527 527
 
528
-			if ( isset( $_GET['cache'] ) || isset( $_GET['nocache'] ) ) {
528
+			if ( isset( $_GET[ 'cache' ] ) || isset( $_GET[ 'nocache' ] ) ) {
529 529
 
530 530
 				do_action( 'gravityview_log_debug', 'GravityView_Cache[use_cache] Not using cache: ?cache or ?nocache is in the URL' );
531 531
 
@@ -552,7 +552,7 @@  discard block
 block discarded – undo
552 552
 		 */
553 553
 		$use_cache = apply_filters( 'gravityview_use_cache', $use_cache, $this );
554 554
 
555
-		return (boolean) $use_cache;
555
+		return (boolean)$use_cache;
556 556
 	}
557 557
 
558 558
 }
Please login to merge, or discard this patch.
includes/helper-functions.php 1 patch
Spacing   +48 added lines, -48 removed lines patch added patch discarded remove patch
@@ -32,19 +32,19 @@  discard block
 block discarded – undo
32 32
 	// If there's an overriding CSS file in the current template folder, use it.
33 33
 	$template_css_path = trailingslashit( get_stylesheet_directory() ) . 'gravityview/css/' . $css_file;
34 34
 
35
-	if( file_exists( $template_css_path ) ) {
35
+	if ( file_exists( $template_css_path ) ) {
36 36
 		$path = trailingslashit( get_stylesheet_directory_uri() ) . 'gravityview/css/' . $css_file;
37
-		do_action( 'gravityview_log_debug', __FUNCTION__ . ': Stylesheet override ('. esc_attr( $css_file ) .')' );
37
+		do_action( 'gravityview_log_debug', __FUNCTION__ . ': Stylesheet override (' . esc_attr( $css_file ) . ')' );
38 38
 	} else {
39 39
 		// Default: use GravityView CSS file
40 40
 
41 41
 		// If no path is provided, assume default plugin templates CSS folder
42
-		if( '' === $dir_path ) {
42
+		if ( '' === $dir_path ) {
43 43
 			$dir_path = GRAVITYVIEW_DIR . 'templates/css/';
44 44
 		}
45 45
 		
46 46
 		// plugins_url() expects a path to a file, not directory. We append a file to be stripped.
47
-		$path = plugins_url( $css_file, trailingslashit( $dir_path )  . 'stripped-by-plugin_basename.php' );
47
+		$path = plugins_url( $css_file, trailingslashit( $dir_path ) . 'stripped-by-plugin_basename.php' );
48 48
 	}
49 49
 
50 50
 	return $path;
@@ -82,9 +82,9 @@  discard block
 block discarded – undo
82 82
 
83 83
 	$parsed_permalink = parse_url( get_permalink( $id ) );
84 84
 
85
-	$permalink_args =  isset( $parsed_permalink['query'] ) ? $parsed_permalink['query'] : false;
85
+	$permalink_args = isset( $parsed_permalink[ 'query' ] ) ? $parsed_permalink[ 'query' ] : false;
86 86
 
87
-	if( empty( $permalink_args ) ) {
87
+	if ( empty( $permalink_args ) ) {
88 88
 		return array();
89 89
 	}
90 90
 
@@ -109,15 +109,15 @@  discard block
 block discarded – undo
109 109
 function gv_selected( $value, $current, $echo = true, $type = 'selected' ) {
110 110
 
111 111
 	$output = '';
112
-	if( is_array( $current ) ) {
113
-		if( in_array( $value, $current ) ) {
112
+	if ( is_array( $current ) ) {
113
+		if ( in_array( $value, $current ) ) {
114 114
 			$output = __checked_selected_helper( true, true, false, $type );
115 115
 		}
116 116
 	} else {
117 117
 		$output = __checked_selected_helper( $value, $current, false, $type );
118 118
 	}
119 119
 
120
-	if( $echo ) {
120
+	if ( $echo ) {
121 121
 		echo $output;
122 122
 	}
123 123
 
@@ -125,7 +125,7 @@  discard block
 block discarded – undo
125 125
 }
126 126
 
127 127
 
128
-if( ! function_exists( 'gravityview_sanitize_html_class' ) ) {
128
+if ( ! function_exists( 'gravityview_sanitize_html_class' ) ) {
129 129
 
130 130
 	/**
131 131
 	 * sanitize_html_class doesn't handle spaces (multiple classes). We remedy that.
@@ -171,7 +171,7 @@  discard block
 block discarded – undo
171 171
  */
172 172
 function gravityview_strip_whitespace( $string ) {
173 173
 	$string = normalize_whitespace( $string );
174
-	return preg_replace('/[\r\n\t ]+/', ' ', $string );
174
+	return preg_replace( '/[\r\n\t ]+/', ' ', $string );
175 175
 }
176 176
 
177 177
 /**
@@ -185,7 +185,7 @@  discard block
 block discarded – undo
185 185
  * @return string Included file contents
186 186
  */
187 187
 function gravityview_ob_include( $file_path, $object = NULL ) {
188
-	if( ! file_exists( $file_path ) ) {
188
+	if ( ! file_exists( $file_path ) ) {
189 189
 		do_action( 'gravityview_log_error', __FUNCTION__ . ': File path does not exist. ', $file_path );
190 190
 		return '';
191 191
 	}
@@ -203,7 +203,7 @@  discard block
 block discarded – undo
203 203
 
204 204
 	$width = $height * 0.7586206897;
205 205
 
206
-	if( function_exists('is_rtl') && is_rtl() ) {
206
+	if ( function_exists( 'is_rtl' ) && is_rtl() ) {
207 207
 		$style = 'margin:10px 10px 10px 0;';
208 208
 		$class = 'alignright';
209 209
 	} else {
@@ -211,7 +211,7 @@  discard block
 block discarded – undo
211 211
 		$class = 'alignleft';
212 212
 	}
213 213
 
214
-	return '<img src="'.plugins_url( 'assets/images/astronaut-200x263.png', GRAVITYVIEW_FILE ).'" class="'.$class.'" height="'.intval( $height ).'" width="'.round( $width, 2 ).'" alt="The GravityView Astronaut Says:" style="'.$style.'" />';
214
+	return '<img src="' . plugins_url( 'assets/images/astronaut-200x263.png', GRAVITYVIEW_FILE ) . '" class="' . $class . '" height="' . intval( $height ) . '" width="' . round( $width, 2 ) . '" alt="The GravityView Astronaut Says:" style="' . $style . '" />';
215 215
 }
216 216
 
217 217
 /**
@@ -234,9 +234,9 @@  discard block
 block discarded – undo
234 234
 function gravityview_number_format( $number, $decimals = '' ) {
235 235
 	global $wp_locale;
236 236
 
237
-	if( '' === $decimals ) {
237
+	if ( '' === $decimals ) {
238 238
 
239
-		$decimal_point = isset( $wp_locale ) ? $wp_locale->number_format['decimal_point'] : '.';
239
+		$decimal_point = isset( $wp_locale ) ? $wp_locale->number_format[ 'decimal_point' ] : '.';
240 240
 
241 241
 		/**
242 242
 		 * Calculate the position of the decimal point in the number
@@ -265,7 +265,7 @@  discard block
 block discarded – undo
265 265
 	$parts = parse_url( $value );
266 266
 
267 267
 	// No domain? Strange...show the original text.
268
-	if( empty( $parts['host'] ) ) {
268
+	if ( empty( $parts[ 'host' ] ) ) {
269 269
 		return $value;
270 270
 	}
271 271
 
@@ -278,16 +278,16 @@  discard block
 block discarded – undo
278 278
 	 * @param boolean $enable Whether to strip the scheme. Return false to show scheme. (default: true)\n
279 279
 	 * If true: `http://example.com => example.com`
280 280
 	 */
281
-	if( false === apply_filters('gravityview_anchor_text_striphttp', true) ) {
281
+	if ( false === apply_filters( 'gravityview_anchor_text_striphttp', true ) ) {
282 282
 
283
-		if( isset( $parts['scheme'] ) ) {
284
-			$return .= $parts['scheme'];
283
+		if ( isset( $parts[ 'scheme' ] ) ) {
284
+			$return .= $parts[ 'scheme' ];
285 285
 		}
286 286
 
287 287
 	}
288 288
 
289 289
 	// The domain, which may contain a subdomain
290
-	$domain = $parts['host'];
290
+	$domain = $parts[ 'host' ];
291 291
 
292 292
 	/**
293 293
 	 * @filter `gravityview_anchor_text_stripwww` Strip www from the domain?
@@ -295,10 +295,10 @@  discard block
 block discarded – undo
295 295
 	 * @param boolean $enable Whether to strip www. Return false to show www. (default: true)\n
296 296
 	 * If true: `www.example.com => example.com`
297 297
 	 */
298
-	$strip_www = apply_filters('gravityview_anchor_text_stripwww', true );
298
+	$strip_www = apply_filters( 'gravityview_anchor_text_stripwww', true );
299 299
 
300
-	if( $strip_www ) {
301
-		$domain = str_replace('www.', '', $domain );
300
+	if ( $strip_www ) {
301
+		$domain = str_replace( 'www.', '', $domain );
302 302
 	}
303 303
 
304 304
 	/**
@@ -308,11 +308,11 @@  discard block
 block discarded – undo
308 308
 	 * If true: `http://demo.example.com => example.com` \n
309 309
 	 * If false: `http://demo.example.com => demo.example.com`
310 310
 	 */
311
-	$strip_subdomains = apply_filters('gravityview_anchor_text_nosubdomain', true);
311
+	$strip_subdomains = apply_filters( 'gravityview_anchor_text_nosubdomain', true );
312 312
 
313
-	if( $strip_subdomains ) {
313
+	if ( $strip_subdomains ) {
314 314
 
315
-		$domain = _gravityview_strip_subdomain( $parts['host'] );
315
+		$domain = _gravityview_strip_subdomain( $parts[ 'host' ] );
316 316
 
317 317
 	}
318 318
 
@@ -326,12 +326,12 @@  discard block
 block discarded – undo
326 326
 	 * If true: `http://example.com/sub/directory/page.html => example.com`  \n
327 327
 	 * If false: `http://example.com/sub/directory/page.html => example.com/sub/directory/page.html`
328 328
 	 */
329
-	$root_only = apply_filters('gravityview_anchor_text_rootonly', true);
329
+	$root_only = apply_filters( 'gravityview_anchor_text_rootonly', true );
330 330
 
331
-	if( empty( $root_only ) ) {
331
+	if ( empty( $root_only ) ) {
332 332
 
333
-		if( isset( $parts['path'] ) ) {
334
-			$return .= $parts['path'];
333
+		if ( isset( $parts[ 'path' ] ) ) {
334
+			$return .= $parts[ 'path' ];
335 335
 		}
336 336
 	}
337 337
 
@@ -341,12 +341,12 @@  discard block
 block discarded – undo
341 341
 	 * @param boolean $enable Whether to enable "root only". Return false to show full path. (default: true)\n
342 342
 	 * If true: `http://example.com/?query=example => example.com`
343 343
 	 */
344
-	$strip_query_string = apply_filters('gravityview_anchor_text_noquerystring', true );
344
+	$strip_query_string = apply_filters( 'gravityview_anchor_text_noquerystring', true );
345 345
 
346
-	if( empty( $strip_query_string ) ) {
346
+	if ( empty( $strip_query_string ) ) {
347 347
 
348
-		if( isset( $parts['query'] ) ) {
349
-			$return .= '?'.$parts['query'];
348
+		if ( isset( $parts[ 'query' ] ) ) {
349
+			$return .= '?' . $parts[ 'query' ];
350 350
 		}
351 351
 
352 352
 	}
@@ -363,8 +363,8 @@  discard block
 block discarded – undo
363 363
  */
364 364
 function _gravityview_strip_subdomain( $string_maybe_has_subdomain ) {
365 365
 
366
-	if( preg_match("/(?P<domain>[a-z0-9][a-z0-9\-]{1,63}\.(?:com\.|co\.|net\.|org\.|firm\.|me\.|school\.|law\.|gov\.|mod\.|msk\.|irkutsks\.|sa\.|act\.|police\.|plc\.|ac\.|tm\.|asso\.|biz\.|pro\.|cg\.|telememo\.)?[a-z\.]{2,6})$/i", $string_maybe_has_subdomain, $matches ) ) {
367
-		return $matches['domain'];
366
+	if ( preg_match( "/(?P<domain>[a-z0-9][a-z0-9\-]{1,63}\.(?:com\.|co\.|net\.|org\.|firm\.|me\.|school\.|law\.|gov\.|mod\.|msk\.|irkutsks\.|sa\.|act\.|police\.|plc\.|ac\.|tm\.|asso\.|biz\.|pro\.|cg\.|telememo\.)?[a-z\.]{2,6})$/i", $string_maybe_has_subdomain, $matches ) ) {
367
+		return $matches[ 'domain' ];
368 368
 	} else {
369 369
 		return $string_maybe_has_subdomain;
370 370
 	}
@@ -418,7 +418,7 @@  discard block
 block discarded – undo
418 418
 
419 419
 		if ( in_array( $value, array( 'yes', 'true' ), true ) ) {
420 420
 			$value = true;
421
-		} else if( in_array( $value, array( 'no', 'false' ), true ) ) {
421
+		} else if ( in_array( $value, array( 'no', 'false' ), true ) ) {
422 422
 			$value = false;
423 423
 		}
424 424
 	}
@@ -447,7 +447,7 @@  discard block
 block discarded – undo
447 447
 
448 448
 	// Use the original function, if exists.
449 449
 	// Requires WP 4.4+
450
-	if( function_exists( 'map_deep') ) {
450
+	if ( function_exists( 'map_deep' ) ) {
451 451
 		return map_deep( $value, $callback );
452 452
 	}
453 453
 
@@ -512,7 +512,7 @@  discard block
 block discarded – undo
512 512
 
513 513
 	$exploded = explode( '.', "{$field_id}" );
514 514
 
515
-	return isset( $exploded[1] ) ? intval( $exploded[1] ) : false;
515
+	return isset( $exploded[ 1 ] ) ? intval( $exploded[ 1 ] ) : false;
516 516
 }
517 517
 
518 518
 /**
@@ -553,13 +553,13 @@  discard block
 block discarded – undo
553 553
 	 */
554 554
 	$args = apply_filters( 'gravityview_get_terms_choices_args', $args );
555 555
 
556
-	$terms = get_terms( $args['taxonomy'], $args );
556
+	$terms = get_terms( $args[ 'taxonomy' ], $args );
557 557
 
558 558
 	$choices = array();
559 559
 
560 560
 	if ( is_array( $terms ) ) {
561 561
 		foreach ( $terms as $term_id => $term_name ) {
562
-			$choices[] = array(
562
+			$choices[ ] = array(
563 563
 				'text'  => $term_name,
564 564
 				'value' => $term_id
565 565
 			);
@@ -583,21 +583,21 @@  discard block
 block discarded – undo
583 583
 function _gravityview_process_posted_fields() {
584 584
 	$fields = array();
585 585
 
586
-	if( !empty( $_POST['gv_fields'] ) ) {
587
-		if ( ! is_array( $_POST['gv_fields'] ) ) {
586
+	if ( ! empty( $_POST[ 'gv_fields' ] ) ) {
587
+		if ( ! is_array( $_POST[ 'gv_fields' ] ) ) {
588 588
 
589 589
 			// We are not using parse_str() due to max_input_vars limitation with large View configurations
590 590
 			$fields_holder = array();
591
-			GVCommon::gv_parse_str( $_POST['gv_fields'], $fields_holder );
591
+			GVCommon::gv_parse_str( $_POST[ 'gv_fields' ], $fields_holder );
592 592
 
593
-			if ( isset( $fields_holder['fields'] ) ) {
594
-				$fields = $fields_holder['fields'];
593
+			if ( isset( $fields_holder[ 'fields' ] ) ) {
594
+				$fields = $fields_holder[ 'fields' ];
595 595
 			} else {
596 596
 				do_action( 'gravityview_log_error', '[save_postdata] No `fields` key was found after parsing $fields string', $fields_holder );
597 597
 			}
598 598
 
599 599
 		} else {
600
-			$fields = $_POST['gv_fields'];
600
+			$fields = $_POST[ 'gv_fields' ];
601 601
 		}
602 602
 	}
603 603
 
Please login to merge, or discard this patch.
future/_mocks.php 1 patch
Spacing   +12 added lines, -12 removed lines patch added patch discarded remove patch
@@ -96,19 +96,19 @@  discard block
 block discarded – undo
96 96
 		$paging = rgar( $parameters, 'paging' );
97 97
 	} else {
98 98
 		$entries = $form->entries
99
-			->filter( \GV\GF_Entry_Filter::from_search_criteria( $criteria['search_criteria'] ) )
100
-			->offset( $args['offset'] )
101
-			->limit( $criteria['paging']['page_size'] );
99
+			->filter( \GV\GF_Entry_Filter::from_search_criteria( $criteria[ 'search_criteria' ] ) )
100
+			->offset( $args[ 'offset' ] )
101
+			->limit( $criteria[ 'paging' ][ 'page_size' ] );
102 102
 
103
-		if ( $criteria['paging']['page_size'] ) {
104
-			$entries = $entries->page( ( ( $criteria['paging']['offset'] - $args['offset'] ) / $criteria['paging']['page_size'] ) + 1 );
103
+		if ( $criteria[ 'paging' ][ 'page_size' ] ) {
104
+			$entries = $entries->page( ( ( $criteria[ 'paging' ][ 'offset' ] - $args[ 'offset' ] ) / $criteria[ 'paging' ][ 'page_size' ] ) + 1 );
105 105
 		}
106 106
 
107
-		if ( ! empty( $criteria['sorting'] ) ) {
107
+		if ( ! empty( $criteria[ 'sorting' ] ) ) {
108 108
 			$field = new \GV\Field();
109
-			$field->ID = $criteria['sorting']['key'];
110
-			$direction = strtolower( $criteria['sorting']['direction'] ) == 'asc' ? \GV\Entry_Sort::ASC : \GV\Entry_Sort::DESC;
111
-			$mode = $criteria['sorting']['is_numeric'] ? \GV\Entry_Sort::NUMERIC : \GV\Entry_Sort::ALPHA;
109
+			$field->ID = $criteria[ 'sorting' ][ 'key' ];
110
+			$direction = strtolower( $criteria[ 'sorting' ][ 'direction' ] ) == 'asc' ? \GV\Entry_Sort::ASC : \GV\Entry_Sort::DESC;
111
+			$mode = $criteria[ 'sorting' ][ 'is_numeric' ] ? \GV\Entry_Sort::NUMERIC : \GV\Entry_Sort::ALPHA;
112 112
 			$entries = $entries->sort( new \GV\Entry_Sort( $field, $direction, $mode ) );
113 113
 		}
114 114
 
@@ -134,7 +134,7 @@  discard block
 block discarded – undo
134 134
 
135 135
 /** Add some global fix for field capability discrepancies. */
136 136
 add_filter( 'gravityview/configuration/fields', function( $fields ) {
137
-	if ( empty( $fields  ) ) {
137
+	if ( empty( $fields ) ) {
138 138
 		return $fields;
139 139
 	}
140 140
 
@@ -161,11 +161,11 @@  discard block
 block discarded – undo
161 161
 		}
162 162
 
163 163
 		foreach ( $_fields as $uid => &$_field ) {
164
-			if ( ! isset( $_field['only_loggedin'] ) ) {
164
+			if ( ! isset( $_field[ 'only_loggedin' ] ) ) {
165 165
 				continue;
166 166
 			}
167 167
 			/** If we do not require login, we don't require a cap. */
168
-			$_field['only_loggedin'] != '1' && ( $_field['only_loggedin_cap'] = '' );
168
+			$_field[ 'only_loggedin' ] != '1' && ( $_field[ 'only_loggedin_cap' ] = '' );
169 169
 		}
170 170
 	}
171 171
 	return $fields;
Please login to merge, or discard this patch.
includes/class-api.php 1 patch
Spacing   +143 added lines, -143 removed lines patch added patch discarded remove patch
@@ -30,29 +30,29 @@  discard block
 block discarded – undo
30 30
 
31 31
 		$label = '';
32 32
 
33
-		if( !empty( $field['show_label'] ) || $force_show_label ) {
33
+		if ( ! empty( $field[ 'show_label' ] ) || $force_show_label ) {
34 34
 
35
-			$label = $field['label'];
35
+			$label = $field[ 'label' ];
36 36
 
37 37
 			// Support Gravity Forms 1.9+
38
-			if( class_exists( 'GF_Field' ) ) {
38
+			if ( class_exists( 'GF_Field' ) ) {
39 39
 
40
-				$field_object = RGFormsModel::get_field( $form, $field['id'] );
40
+				$field_object = RGFormsModel::get_field( $form, $field[ 'id' ] );
41 41
 
42
-				if( $field_object ) {
42
+				if ( $field_object ) {
43 43
 
44
-					$input = GFFormsModel::get_input( $field_object, $field['id'] );
44
+					$input = GFFormsModel::get_input( $field_object, $field[ 'id' ] );
45 45
 
46 46
 					// This is a complex field, with labels on a per-input basis
47
-					if( $input ) {
47
+					if ( $input ) {
48 48
 
49 49
 						// Does the input have a custom label on a per-input basis? Otherwise, default label.
50
-						$label = ! empty( $input['customLabel'] ) ? $input['customLabel'] : $input['label'];
50
+						$label = ! empty( $input[ 'customLabel' ] ) ? $input[ 'customLabel' ] : $input[ 'label' ];
51 51
 
52 52
 					} else {
53 53
 
54 54
 						// This is a field with one label
55
-						$label = $field_object->get_field_label( true, $field['label'] );
55
+						$label = $field_object->get_field_label( true, $field[ 'label' ] );
56 56
 
57 57
 					}
58 58
 
@@ -61,9 +61,9 @@  discard block
 block discarded – undo
61 61
 			}
62 62
 
63 63
 			// Use Gravity Forms label by default, but if a custom label is defined in GV, use it.
64
-			if ( !empty( $field['custom_label'] ) ) {
64
+			if ( ! empty( $field[ 'custom_label' ] ) ) {
65 65
 
66
-				$label = self::replace_variables( $field['custom_label'], $form, $entry );
66
+				$label = self::replace_variables( $field[ 'custom_label' ], $form, $entry );
67 67
 
68 68
 			}
69 69
 
@@ -117,11 +117,11 @@  discard block
 block discarded – undo
117 117
 
118 118
 		$width = NULL;
119 119
 
120
-		if( !empty( $field['width'] ) ) {
121
-			$width = absint( $field['width'] );
120
+		if ( ! empty( $field[ 'width' ] ) ) {
121
+			$width = absint( $field[ 'width' ] );
122 122
 
123 123
 			// If using percentages, limit to 100%
124
-			if( '%d%%' === $format && $width > 100 ) {
124
+			if ( '%d%%' === $format && $width > 100 ) {
125 125
 				$width = 100;
126 126
 			}
127 127
 
@@ -144,39 +144,39 @@  discard block
 block discarded – undo
144 144
 
145 145
 		$classes = array();
146 146
 
147
-		if( !empty( $field['custom_class'] ) ) {
147
+		if ( ! empty( $field[ 'custom_class' ] ) ) {
148 148
 
149
-            $custom_class = $field['custom_class'];
149
+            $custom_class = $field[ 'custom_class' ];
150 150
 
151
-            if( !empty( $entry ) ) {
151
+            if ( ! empty( $entry ) ) {
152 152
 
153 153
                 // We want the merge tag to be formatted as a class. The merge tag may be
154 154
                 // replaced by a multiple-word value that should be output as a single class.
155 155
                 // "Office Manager" will be formatted as `.OfficeManager`, not `.Office` and `.Manager`
156
-                add_filter('gform_merge_tag_filter', 'sanitize_html_class');
156
+                add_filter( 'gform_merge_tag_filter', 'sanitize_html_class' );
157 157
 
158
-                $custom_class = self::replace_variables( $custom_class, $form, $entry);
158
+                $custom_class = self::replace_variables( $custom_class, $form, $entry );
159 159
 
160 160
                 // And then we want life to return to normal
161
-                remove_filter('gform_merge_tag_filter', 'sanitize_html_class');
161
+                remove_filter( 'gform_merge_tag_filter', 'sanitize_html_class' );
162 162
             }
163 163
 
164 164
 			// And now we want the spaces to be handled nicely.
165
-			$classes[] = gravityview_sanitize_html_class( $custom_class );
165
+			$classes[ ] = gravityview_sanitize_html_class( $custom_class );
166 166
 
167 167
 		}
168 168
 
169
-		if(!empty($field['id'])) {
170
-			if( !empty( $form ) && !empty( $form['id'] ) ) {
171
-				$form_id = '-'.$form['id'];
169
+		if ( ! empty( $field[ 'id' ] ) ) {
170
+			if ( ! empty( $form ) && ! empty( $form[ 'id' ] ) ) {
171
+				$form_id = '-' . $form[ 'id' ];
172 172
 			} else {
173
-				$form_id = $gravityview_view->getFormId() ? '-'. $gravityview_view->getFormId() : '';
173
+				$form_id = $gravityview_view->getFormId() ? '-' . $gravityview_view->getFormId() : '';
174 174
 			}
175 175
 
176
-			$classes[] = 'gv-field'.$form_id.'-'.$field['id'];
176
+			$classes[ ] = 'gv-field' . $form_id . '-' . $field[ 'id' ];
177 177
 		}
178 178
 
179
-		return esc_attr(implode(' ', $classes));
179
+		return esc_attr( implode( ' ', $classes ) );
180 180
 	}
181 181
 
182 182
 	/**
@@ -193,16 +193,16 @@  discard block
 block discarded – undo
193 193
 	 */
194 194
 	public static function field_html_attr_id( $field, $form = array(), $entry = array() ) {
195 195
 		$gravityview_view = GravityView_View::getInstance();
196
-		$id = $field['id'];
196
+		$id = $field[ 'id' ];
197 197
 
198 198
 		if ( ! empty( $id ) ) {
199
-			if ( ! empty( $form ) && ! empty( $form['id'] ) ) {
200
-				$form_id = '-' . $form['id'];
199
+			if ( ! empty( $form ) && ! empty( $form[ 'id' ] ) ) {
200
+				$form_id = '-' . $form[ 'id' ];
201 201
 			} else {
202 202
 				$form_id = $gravityview_view->getFormId() ? '-' . $gravityview_view->getFormId() : '';
203 203
 			}
204 204
 
205
-			$id = 'gv-field' . $form_id . '-' . $field['id'];
205
+			$id = 'gv-field' . $form_id . '-' . $field[ 'id' ];
206 206
 		}
207 207
 
208 208
 		return esc_attr( $id );
@@ -219,17 +219,17 @@  discard block
 block discarded – undo
219 219
 	 */
220 220
 	public static function field_value( $entry, $field_settings, $format = 'html' ) {
221 221
 
222
-		if( empty( $entry['form_id'] ) || empty( $field_settings['id'] ) ) {
222
+		if ( empty( $entry[ 'form_id' ] ) || empty( $field_settings[ 'id' ] ) ) {
223 223
 			return NULL;
224 224
 		}
225 225
 
226 226
 		$gravityview_view = GravityView_View::getInstance();
227 227
 
228
-		$field_id = $field_settings['id'];
228
+		$field_id = $field_settings[ 'id' ];
229 229
 		$form = $gravityview_view->getForm();
230 230
 		$field = gravityview_get_field( $form, $field_id );
231 231
 
232
-		if( $field && is_numeric( $field_id ) ) {
232
+		if ( $field && is_numeric( $field_id ) ) {
233 233
 			// Used as file name of field template in GV.
234 234
 			// Don't use RGFormsModel::get_input_type( $field ); we don't care if it's a radio input; we want to know it's a 'quiz' field
235 235
 			$field_type = $field->type;
@@ -240,12 +240,12 @@  discard block
 block discarded – undo
240 240
 		}
241 241
 
242 242
 		// If a Gravity Forms Field is found, get the field display
243
-		if( $field ) {
243
+		if ( $field ) {
244 244
 
245 245
 			// Prevent any PHP warnings that may be generated
246 246
 			ob_start();
247 247
 
248
-			$display_value = GFCommon::get_lead_field_display( $field, $value, $entry["currency"], false, $format );
248
+			$display_value = GFCommon::get_lead_field_display( $field, $value, $entry[ "currency" ], false, $format );
249 249
 
250 250
 			if ( $errors = ob_get_clean() ) {
251 251
 				do_action( 'gravityview_log_error', 'GravityView_API[field_value] Errors when calling GFCommon::get_lead_field_display()', $errors );
@@ -254,7 +254,7 @@  discard block
 block discarded – undo
254 254
 			$display_value = apply_filters( "gform_entry_field_value", $display_value, $field, $entry, $form );
255 255
 
256 256
 			// prevent the use of merge_tags for non-admin fields
257
-			if( !empty( $field->adminOnly ) ) {
257
+			if ( ! empty( $field->adminOnly ) ) {
258 258
 				$display_value = self::replace_variables( $display_value, $form, $entry );
259 259
 			}
260 260
 		} else {
@@ -264,7 +264,7 @@  discard block
 block discarded – undo
264 264
 
265 265
 		// Check whether the field exists in /includes/fields/{$field_type}.php
266 266
 		// This can be overridden by user template files.
267
-		$field_path = $gravityview_view->locate_template("fields/{$field_type}.php");
267
+		$field_path = $gravityview_view->locate_template( "fields/{$field_type}.php" );
268 268
 
269 269
 		// Set the field data to be available in the templates
270 270
 		$gravityview_view->setCurrentField( array(
@@ -278,11 +278,11 @@  discard block
 block discarded – undo
278 278
 			'entry' => $entry,
279 279
 			'field_type' => $field_type, /** {@since 1.6} */
280 280
 		    'field_path' => $field_path, /** {@since 1.16} */
281
-		));
281
+		) );
282 282
 
283
-		if( ! empty( $field_path ) ) {
283
+		if ( ! empty( $field_path ) ) {
284 284
 
285
-			do_action( 'gravityview_log_debug', sprintf('[field_value] Rendering %s', $field_path ) );
285
+			do_action( 'gravityview_log_debug', sprintf( '[field_value] Rendering %s', $field_path ) );
286 286
 
287 287
 			ob_start();
288 288
 
@@ -298,7 +298,7 @@  discard block
 block discarded – undo
298 298
 		}
299 299
 
300 300
 		// Get the field settings again so that the field template can override the settings
301
-		$field_settings = $gravityview_view->getCurrentField('field_settings');
301
+		$field_settings = $gravityview_view->getCurrentField( 'field_settings' );
302 302
 
303 303
 		/**
304 304
 		 * @filter `gravityview_field_entry_value_{$field_type}_pre_link` Modify the field value output for a field type before Show As Link setting is applied. Example: `gravityview_field_entry_value_number_pre_link`
@@ -327,9 +327,9 @@  discard block
 block discarded – undo
327 327
 		 * Fields can override this by modifying the field data variable inside the field. See /templates/fields/post_image.php for an example.
328 328
 		 *
329 329
 		 */
330
-		if( !empty( $field_settings['show_as_link'] ) && ! gv_empty( $output, false, false ) ) {
330
+		if ( ! empty( $field_settings[ 'show_as_link' ] ) && ! gv_empty( $output, false, false ) ) {
331 331
 
332
-			$link_atts = empty( $field_settings['new_window'] ) ? array() : array( 'target' => '_blank' );
332
+			$link_atts = empty( $field_settings[ 'new_window' ] ) ? array() : array( 'target' => '_blank' );
333 333
 
334 334
 			$output = self::entry_link_html( $entry, $output, $link_atts, $field_settings );
335 335
 
@@ -343,7 +343,7 @@  discard block
 block discarded – undo
343 343
 		 * @param  array $field_settings Settings for the particular GV field
344 344
 		 * @param array $field Current field being displayed
345 345
 		 */
346
-		$output = apply_filters( 'gravityview_field_entry_value_'.$field_type, $output, $entry, $field_settings, $gravityview_view->getCurrentField() );
346
+		$output = apply_filters( 'gravityview_field_entry_value_' . $field_type, $output, $entry, $field_settings, $gravityview_view->getCurrentField() );
347 347
 
348 348
 		/**
349 349
 		 * @filter `gravityview_field_entry_value` Modify the field value output for all field types
@@ -372,14 +372,14 @@  discard block
 block discarded – undo
372 372
 	 */
373 373
 	public static function entry_link_html( $entry = array(), $anchor_text = '', $passed_tag_atts = array(), $field_settings = array() ) {
374 374
 
375
-		if ( empty( $entry ) || ! is_array( $entry ) || ! isset( $entry['id'] ) ) {
375
+		if ( empty( $entry ) || ! is_array( $entry ) || ! isset( $entry[ 'id' ] ) ) {
376 376
 			do_action( 'gravityview_log_debug', 'GravityView_API[entry_link_tag] Entry not defined; returning null', $entry );
377 377
 			return NULL;
378 378
 		}
379 379
 
380 380
 		$href = self::entry_link( $entry );
381 381
 
382
-		if( '' === $href ) {
382
+		if ( '' === $href ) {
383 383
 			return NULL;
384 384
 		}
385 385
 
@@ -402,19 +402,19 @@  discard block
 block discarded – undo
402 402
 	 * @param  boolean     $wpautop Apply wpautop() to the output?
403 403
 	 * @return string               HTML of "no results" text
404 404
 	 */
405
-	public static function no_results($wpautop = true) {
405
+	public static function no_results( $wpautop = true ) {
406 406
 		$gravityview_view = GravityView_View::getInstance();
407 407
 
408 408
 		$is_search = false;
409 409
 
410
-		if( $gravityview_view && ( $gravityview_view->curr_start || $gravityview_view->curr_end || $gravityview_view->curr_search ) ) {
410
+		if ( $gravityview_view && ( $gravityview_view->curr_start || $gravityview_view->curr_end || $gravityview_view->curr_search ) ) {
411 411
 			$is_search = true;
412 412
 		}
413 413
 
414
-		if($is_search) {
415
-			$output = __('This search returned no results.', 'gravityview');
414
+		if ( $is_search ) {
415
+			$output = __( 'This search returned no results.', 'gravityview' );
416 416
 		} else {
417
-			$output = __('No entries match your request.', 'gravityview');
417
+			$output = __( 'No entries match your request.', 'gravityview' );
418 418
 		}
419 419
 
420 420
 		/**
@@ -422,9 +422,9 @@  discard block
 block discarded – undo
422 422
 		 * @param string $output The existing "No Entries" text
423 423
 		 * @param boolean $is_search Is the current page a search result, or just a multiple entries screen?
424 424
 		 */
425
-		$output = apply_filters( 'gravitview_no_entries_text', $output, $is_search);
425
+		$output = apply_filters( 'gravitview_no_entries_text', $output, $is_search );
426 426
 
427
-		return $wpautop ? wpautop($output) : $output;
427
+		return $wpautop ? wpautop( $output ) : $output;
428 428
 	}
429 429
 
430 430
 	/**
@@ -441,37 +441,37 @@  discard block
 block discarded – undo
441 441
 
442 442
 		$gravityview_view = GravityView_View::getInstance();
443 443
 
444
-		if( empty( $post_id ) ) {
444
+		if ( empty( $post_id ) ) {
445 445
 
446 446
 			$post_id = false;
447 447
 
448 448
 			// DataTables passes the Post ID
449
-			if( defined('DOING_AJAX') && DOING_AJAX ) {
449
+			if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
450 450
 
451
-				$post_id = isset( $_POST['post_id'] ) ? (int)$_POST['post_id'] : false;
451
+				$post_id = isset( $_POST[ 'post_id' ] ) ? (int)$_POST[ 'post_id' ] : false;
452 452
 
453 453
 			} else {
454 454
 
455 455
 				// The Post ID has been passed via the shortcode
456
-				if( !empty( $gravityview_view ) && $gravityview_view->getPostId() ) {
456
+				if ( ! empty( $gravityview_view ) && $gravityview_view->getPostId() ) {
457 457
 
458 458
 					$post_id = $gravityview_view->getPostId();
459 459
 
460 460
 				} else {
461 461
 
462 462
 					// This is a GravityView post type
463
-					if( GravityView_frontend::getInstance()->isGravityviewPostType() ) {
463
+					if ( GravityView_frontend::getInstance()->isGravityviewPostType() ) {
464 464
 
465 465
 						$post_id = isset( $gravityview_view ) ? $gravityview_view->getViewId() : $post->ID;
466 466
 
467 467
 					} else {
468 468
 
469 469
 						// This is an embedded GravityView; use the embedded post's ID as the base.
470
-						if( GravityView_frontend::getInstance()->isPostHasShortcode() && is_a( $post, 'WP_Post' ) ) {
470
+						if ( GravityView_frontend::getInstance()->isPostHasShortcode() && is_a( $post, 'WP_Post' ) ) {
471 471
 
472 472
 							$post_id = $post->ID;
473 473
 
474
-						} elseif( $gravityview_view->getViewId() ) {
474
+						} elseif ( $gravityview_view->getViewId() ) {
475 475
 
476 476
 							// The GravityView has been embedded in a widget or in a template, and
477 477
 							// is not in the current content. Thus, we defer to the View's own ID.
@@ -486,40 +486,40 @@  discard block
 block discarded – undo
486 486
 		}
487 487
 
488 488
 		// No post ID, get outta here.
489
-		if( empty( $post_id ) ) {
489
+		if ( empty( $post_id ) ) {
490 490
 			return NULL;
491 491
 		}
492 492
 
493 493
 		// If we've saved the permalink in memory, use it
494 494
 		// @since 1.3
495
-		$link = wp_cache_get( 'gv_directory_link_'.$post_id );
495
+		$link = wp_cache_get( 'gv_directory_link_' . $post_id );
496 496
 
497
-		if( (int) $post_id === (int) get_option( 'page_on_front' ) ) {
497
+		if ( (int)$post_id === (int)get_option( 'page_on_front' ) ) {
498 498
 			$link = home_url();
499 499
 		}
500 500
 
501
-		if( empty( $link ) ) {
501
+		if ( empty( $link ) ) {
502 502
 
503 503
 			$link = get_permalink( $post_id );
504 504
 
505 505
 			// If not yet saved, cache the permalink.
506 506
 			// @since 1.3
507
-			wp_cache_set( 'gv_directory_link_'.$post_id, $link );
507
+			wp_cache_set( 'gv_directory_link_' . $post_id, $link );
508 508
 
509 509
 		}
510 510
 
511 511
 		// Deal with returning to proper pagination for embedded views
512
-		if( $link && $add_query_args ) {
512
+		if ( $link && $add_query_args ) {
513 513
 
514 514
 			$args = array();
515 515
 
516
-			if( $pagenum = rgget('pagenum') ) {
517
-				$args['pagenum'] = intval( $pagenum );
516
+			if ( $pagenum = rgget( 'pagenum' ) ) {
517
+				$args[ 'pagenum' ] = intval( $pagenum );
518 518
 			}
519 519
 
520
-			if( $sort = rgget('sort') ) {
521
-				$args['sort'] = $sort;
522
-				$args['dir'] = rgget('dir');
520
+			if ( $sort = rgget( 'sort' ) ) {
521
+				$args[ 'sort' ] = $sort;
522
+				$args[ 'dir' ] = rgget( 'dir' );
523 523
 			}
524 524
 
525 525
 			$link = add_query_arg( $args, $link );
@@ -550,7 +550,7 @@  discard block
 block discarded – undo
550 550
 	private static function get_custom_entry_slug( $id, $entry = array() ) {
551 551
 
552 552
 		// Generate an unique hash to use as the default value
553
-		$slug = substr( wp_hash( $id, 'gravityview'.$id ), 0, 8 );
553
+		$slug = substr( wp_hash( $id, 'gravityview' . $id ), 0, 8 );
554 554
 
555 555
 		/**
556 556
 		 * @filter `gravityview_entry_slug` Modify the unique hash ID generated, if you want to improve usability or change the format. This will allow for custom URLs, such as `{entryid}-{first-name}` or even, if unique, `{first-name}-{last-name}`
@@ -561,7 +561,7 @@  discard block
 block discarded – undo
561 561
 		$slug = apply_filters( 'gravityview_entry_slug', $slug, $id, $entry );
562 562
 
563 563
 		// Make sure we have something - use the original ID as backup.
564
-		if( empty( $slug ) ) {
564
+		if ( empty( $slug ) ) {
565 565
 			$slug = $id;
566 566
 		}
567 567
 
@@ -590,7 +590,7 @@  discard block
 block discarded – undo
590 590
 		 * @filter `gravityview_custom_entry_slug` Whether to enable and use custom entry slugs.
591 591
 		 * @param boolean True: Allow for slugs based on entry values. False: always use entry IDs (default)
592 592
 		 */
593
-		$custom = apply_filters('gravityview_custom_entry_slug', false );
593
+		$custom = apply_filters( 'gravityview_custom_entry_slug', false );
594 594
 
595 595
 		// If we're using custom slug...
596 596
 		if ( $custom ) {
@@ -604,8 +604,8 @@  discard block
 block discarded – undo
604 604
 			// If it does have a hash set, and the hash is expected, use it.
605 605
 			// This check allows users to change the hash structure using the
606 606
 			// gravityview_entry_hash filter and have the old hashes expire.
607
-			if( empty( $value ) || $value !== $hash ) {
608
-				do_action( 'gravityview_log_debug', __METHOD__ . ' - Setting hash for entry "'.$id_or_string.'": ' . $hash );
607
+			if ( empty( $value ) || $value !== $hash ) {
608
+				do_action( 'gravityview_log_debug', __METHOD__ . ' - Setting hash for entry "' . $id_or_string . '": ' . $hash );
609 609
 				gform_update_meta( $id_or_string, 'gravityview_unique_id', $hash, rgar( $entry, 'form_id' ) );
610 610
 			}
611 611
 
@@ -631,15 +631,15 @@  discard block
 block discarded – undo
631 631
          * @param boolean $custom Should we process the custom entry slug?
632 632
          */
633 633
         $custom = apply_filters( 'gravityview_custom_entry_slug', false );
634
-        if( $custom ) {
634
+        if ( $custom ) {
635 635
             // create the gravityview_unique_id and save it
636 636
 
637 637
             // Get the entry hash
638
-            $hash = self::get_custom_entry_slug( $entry['id'], $entry );
638
+            $hash = self::get_custom_entry_slug( $entry[ 'id' ], $entry );
639 639
 
640
-	        do_action( 'gravityview_log_debug', __METHOD__ . ' - Setting hash for entry "'.$entry['id'].'": ' . $hash );
640
+	        do_action( 'gravityview_log_debug', __METHOD__ . ' - Setting hash for entry "' . $entry[ 'id' ] . '": ' . $hash );
641 641
 
642
-            gform_update_meta( $entry['id'], 'gravityview_unique_id', $hash, rgar( $entry, 'form_id' ) );
642
+            gform_update_meta( $entry[ 'id' ], 'gravityview_unique_id', $hash, rgar( $entry, 'form_id' ) );
643 643
 
644 644
         }
645 645
     }
@@ -656,14 +656,14 @@  discard block
 block discarded – undo
656 656
 	 */
657 657
 	public static function entry_link( $entry, $post_id = NULL, $add_directory_args = true ) {
658 658
 
659
-		if( ! empty( $entry ) && ! is_array( $entry ) ) {
659
+		if ( ! empty( $entry ) && ! is_array( $entry ) ) {
660 660
 			$entry = GVCommon::get_entry( $entry );
661
-		} else if( empty( $entry ) ) {
661
+		} else if ( empty( $entry ) ) {
662 662
 			$entry = GravityView_frontend::getInstance()->getEntry();
663 663
 		}
664 664
 
665 665
 		// Second parameter used to be passed as $field; this makes sure it's not an array
666
-		if( !is_numeric( $post_id ) ) {
666
+		if ( ! is_numeric( $post_id ) ) {
667 667
 			$post_id = NULL;
668 668
 		}
669 669
 
@@ -671,7 +671,7 @@  discard block
 block discarded – undo
671 671
 		$directory_link = self::directory_link( $post_id, false );
672 672
 
673 673
 		// No post ID? Get outta here.
674
-		if( empty( $directory_link ) ) {
674
+		if ( empty( $directory_link ) ) {
675 675
 			return '';
676 676
 		}
677 677
 
@@ -682,9 +682,9 @@  discard block
 block discarded – undo
682 682
 			$query_arg_name = GravityView_Post_Types::get_entry_var_name();
683 683
 		}
684 684
 
685
-		$entry_slug = self::get_entry_slug( $entry['id'], $entry );
685
+		$entry_slug = self::get_entry_slug( $entry[ 'id' ], $entry );
686 686
 
687
-		if( get_option('permalink_structure') && !is_preview() ) {
687
+		if ( get_option( 'permalink_structure' ) && ! is_preview() ) {
688 688
 
689 689
 			$args = array();
690 690
 
@@ -694,9 +694,9 @@  discard block
 block discarded – undo
694 694
 			 */
695 695
 			$link_parts = explode( '?', $directory_link );
696 696
 
697
-			$query = !empty( $link_parts[1] ) ? '?'.$link_parts[1] : '';
697
+			$query = ! empty( $link_parts[ 1 ] ) ? '?' . $link_parts[ 1 ] : '';
698 698
 
699
-			$directory_link = trailingslashit( $link_parts[0] ) . $query_arg_name . '/'. $entry_slug .'/' . $query;
699
+			$directory_link = trailingslashit( $link_parts[ 0 ] ) . $query_arg_name . '/' . $entry_slug . '/' . $query;
700 700
 
701 701
 		} else {
702 702
 
@@ -706,18 +706,18 @@  discard block
 block discarded – undo
706 706
 		/**
707 707
 		 * @since 1.7.3
708 708
 		 */
709
-		if( $add_directory_args ) {
709
+		if ( $add_directory_args ) {
710 710
 
711
-			if( !empty( $_GET['pagenum'] ) ) {
712
-				$args['pagenum'] = intval( $_GET['pagenum'] );
711
+			if ( ! empty( $_GET[ 'pagenum' ] ) ) {
712
+				$args[ 'pagenum' ] = intval( $_GET[ 'pagenum' ] );
713 713
 			}
714 714
 
715 715
 			/**
716 716
 			 * @since 1.7
717 717
 			 */
718
-			if( $sort = rgget('sort') ) {
719
-				$args['sort'] = $sort;
720
-				$args['dir'] = rgget('dir');
718
+			if ( $sort = rgget( 'sort' ) ) {
719
+				$args[ 'sort' ] = $sort;
720
+				$args[ 'dir' ] = rgget( 'dir' );
721 721
 			}
722 722
 
723 723
 		}
@@ -729,12 +729,12 @@  discard block
 block discarded – undo
729 729
 		 */
730 730
 		if ( defined( 'GRAVITYVIEW_FUTURE_CORE_LOADED' ) ) {
731 731
 			if ( gravityview()->views->count() > 1 ) {
732
-				$args['gvid'] = gravityview_get_view_id();
732
+				$args[ 'gvid' ] = gravityview_get_view_id();
733 733
 			}
734 734
 		} else {
735 735
 			/** Deprecated, do not use has_multiple_views(), please. */
736 736
 			if ( class_exists( 'GravityView_View_Data' ) && GravityView_View_Data::getInstance()->has_multiple_views() ) {
737
-				$args['gvid'] = gravityview_get_view_id();
737
+				$args[ 'gvid' ] = gravityview_get_view_id();
738 738
 			}
739 739
 		}
740 740
 
@@ -753,7 +753,7 @@  discard block
 block discarded – undo
753 753
 }
754 754
 
755 755
 function gv_class( $field, $form = NULL, $entry = array() ) {
756
-	return GravityView_API::field_class( $field, $form, $entry  );
756
+	return GravityView_API::field_class( $field, $form, $entry );
757 757
 }
758 758
 
759 759
 /**
@@ -775,15 +775,15 @@  discard block
 block discarded – undo
775 775
 
776 776
 	$default_css_class = ! empty( $view_id ) ? sprintf( 'gv-container gv-container-%d', $view_id ) : 'gv-container';
777 777
 
778
-	if( GravityView_View::getInstance()->isHideUntilSearched() ) {
778
+	if ( GravityView_View::getInstance()->isHideUntilSearched() ) {
779 779
 		$default_css_class .= ' hidden';
780 780
 	}
781 781
 
782
-	if( 0 === GravityView_View::getInstance()->getTotalEntries() ) {
782
+	if ( 0 === GravityView_View::getInstance()->getTotalEntries() ) {
783 783
 		$default_css_class .= ' gv-container-no-results';
784 784
 	}
785 785
 
786
-	$css_class = trim( $passed_css_class . ' '. $default_css_class );
786
+	$css_class = trim( $passed_css_class . ' ' . $default_css_class );
787 787
 
788 788
 	/**
789 789
 	 * @filter `gravityview/render/container/class` Modify the CSS class to be added to the wrapper <div> of a View
@@ -794,7 +794,7 @@  discard block
 block discarded – undo
794 794
 
795 795
 	$css_class = gravityview_sanitize_html_class( $css_class );
796 796
 
797
-	if( $echo ) {
797
+	if ( $echo ) {
798 798
 		echo $css_class;
799 799
 	}
800 800
 
@@ -805,7 +805,7 @@  discard block
 block discarded – undo
805 805
 
806 806
 	$value = GravityView_API::field_value( $entry, $field );
807 807
 
808
-	if( $value === '' ) {
808
+	if ( $value === '' ) {
809 809
 		/**
810 810
 		 * @filter `gravityview_empty_value` What to display when a field is empty
811 811
 		 * @param string $value (empty string)
@@ -824,7 +824,7 @@  discard block
 block discarded – undo
824 824
 	return GravityView_API::entry_link( $entry, $post_id );
825 825
 }
826 826
 
827
-function gv_no_results($wpautop = true) {
827
+function gv_no_results( $wpautop = true ) {
828 828
 	return GravityView_API::no_results( $wpautop );
829 829
 }
830 830
 
@@ -845,7 +845,7 @@  discard block
 block discarded – undo
845 845
 	 */
846 846
 	$href = apply_filters( 'gravityview_go_back_url', $href );
847 847
 
848
-	if( empty( $href ) ) { return NULL; }
848
+	if ( empty( $href ) ) { return NULL; }
849 849
 
850 850
 	// calculate link label
851 851
 	$gravityview_view = GravityView_View::getInstance();
@@ -861,7 +861,7 @@  discard block
 block discarded – undo
861 861
 
862 862
 	$link = gravityview_get_link( $href, esc_html( $label ), array(
863 863
 		'data-viewid' => $gravityview_view->getViewId()
864
-	));
864
+	) );
865 865
 
866 866
 	return $link;
867 867
 }
@@ -880,7 +880,7 @@  discard block
 block discarded – undo
880 880
  */
881 881
 function gravityview_get_field_value( $entry, $field_id, $display_value ) {
882 882
 
883
-	if( floatval( $field_id ) === floor( floatval( $field_id ) ) ) {
883
+	if ( floatval( $field_id ) === floor( floatval( $field_id ) ) ) {
884 884
 
885 885
 		// For the complete field value as generated by Gravity Forms
886 886
 		return $display_value;
@@ -914,16 +914,16 @@  discard block
 block discarded – undo
914 914
 		$terms = explode( ', ', $value );
915 915
 	}
916 916
 
917
-	foreach ($terms as $term_name ) {
917
+	foreach ( $terms as $term_name ) {
918 918
 
919 919
 		// If we're processing a category,
920
-		if( $taxonomy === 'category' ) {
920
+		if ( $taxonomy === 'category' ) {
921 921
 
922 922
 			// Use rgexplode to prevent errors if : doesn't exist
923 923
 			list( $term_name, $term_id ) = rgexplode( ':', $term_name, 2 );
924 924
 
925 925
 			// The explode was succesful; we have the category ID
926
-			if( !empty( $term_id )) {
926
+			if ( ! empty( $term_id ) ) {
927 927
 				$term = get_term_by( 'id', $term_id, $taxonomy );
928 928
 			} else {
929 929
 			// We have to fall back to the name
@@ -936,7 +936,7 @@  discard block
 block discarded – undo
936 936
 		}
937 937
 
938 938
 		// There's still a tag/category here.
939
-		if( $term ) {
939
+		if ( $term ) {
940 940
 
941 941
 			$term_link = get_term_link( $term, $taxonomy );
942 942
 
@@ -945,11 +945,11 @@  discard block
 block discarded – undo
945 945
 			    continue;
946 946
 			}
947 947
 
948
-			$output[] = gravityview_get_link( $term_link, esc_html( $term->name ) );
948
+			$output[ ] = gravityview_get_link( $term_link, esc_html( $term->name ) );
949 949
 		}
950 950
 	}
951 951
 
952
-	return implode(', ', $output );
952
+	return implode( ', ', $output );
953 953
 }
954 954
 
955 955
 /**
@@ -963,8 +963,8 @@  discard block
 block discarded – undo
963 963
 
964 964
 	$output = get_the_term_list( $post_id, $taxonomy, NULL, ', ' );
965 965
 
966
-	if( empty( $link ) ) {
967
-		return strip_tags( $output);
966
+	if ( empty( $link ) ) {
967
+		return strip_tags( $output );
968 968
 	}
969 969
 
970 970
 	return $output;
@@ -983,7 +983,7 @@  discard block
 block discarded – undo
983 983
 	$fe = GravityView_frontend::getInstance();
984 984
 
985 985
 	// Solve problem when loading content via admin-ajax.php
986
-	if( ! $fe->getGvOutputData() ) {
986
+	if ( ! $fe->getGvOutputData() ) {
987 987
 
988 988
 		do_action( 'gravityview_log_debug', '[gravityview_get_current_views] gv_output_data not defined; parsing content.' );
989 989
 
@@ -991,7 +991,7 @@  discard block
 block discarded – undo
991 991
 	}
992 992
 
993 993
 	// Make 100% sure that we're dealing with a properly called situation
994
-	if( !is_a( $fe->getGvOutputData(), 'GravityView_View_Data' ) ) {
994
+	if ( ! is_a( $fe->getGvOutputData(), 'GravityView_View_Data' ) ) {
995 995
 
996 996
 		do_action( 'gravityview_log_debug', '[gravityview_get_current_views] gv_output_data not an object or get_view not callable.', $fe->getGvOutputData() );
997 997
 
@@ -1003,8 +1003,8 @@  discard block
 block discarded – undo
1003 1003
 			return array();
1004 1004
 		}
1005 1005
 		return array_combine(
1006
-			array_map( function ( $view ) { return $view->ID; }, gravityview()->views->all() ),
1007
-			array_map( function ( $view ) { return $view->as_data(); }, gravityview()->views->all() )
1006
+			array_map( function( $view ) { return $view->ID; }, gravityview()->views->all() ),
1007
+			array_map( function( $view ) { return $view->as_data(); }, gravityview()->views->all() )
1008 1008
 		);
1009 1009
 	}
1010 1010
 	/** \GravityView_View_Data::get_views is deprecated. */
@@ -1099,11 +1099,11 @@  discard block
 block discarded – undo
1099 1099
 	 */
1100 1100
 	$is_edit_entry = apply_filters( 'gravityview_is_edit_entry', false );
1101 1101
 
1102
-	if( $is_edit_entry ) {
1102
+	if ( $is_edit_entry ) {
1103 1103
 		$context = 'edit';
1104
-	} else if( class_exists( 'GravityView_frontend' ) && $single = GravityView_frontend::is_single_entry() ) {
1104
+	} else if ( class_exists( 'GravityView_frontend' ) && $single = GravityView_frontend::is_single_entry() ) {
1105 1105
 		$context = 'single';
1106
-	} else if( class_exists( 'GravityView_View' ) ) {
1106
+	} else if ( class_exists( 'GravityView_View' ) ) {
1107 1107
 		$context = GravityView_View::getInstance()->getContext();
1108 1108
 	}
1109 1109
 
@@ -1131,12 +1131,12 @@  discard block
 block discarded – undo
1131 1131
 function gravityview_get_files_array( $value, $gv_class = '' ) {
1132 1132
 	/** @define "GRAVITYVIEW_DIR" "../" */
1133 1133
 
1134
-	if( !class_exists( 'GravityView_Field' ) ) {
1135
-		include_once( GRAVITYVIEW_DIR .'includes/fields/class-gravityview-field.php' );
1134
+	if ( ! class_exists( 'GravityView_Field' ) ) {
1135
+		include_once( GRAVITYVIEW_DIR . 'includes/fields/class-gravityview-field.php' );
1136 1136
 	}
1137 1137
 
1138
-	if( !class_exists( 'GravityView_Field_FileUpload' ) ) {
1139
-		include_once( GRAVITYVIEW_DIR .'includes/fields/fileupload.php' );
1138
+	if ( ! class_exists( 'GravityView_Field_FileUpload' ) ) {
1139
+		include_once( GRAVITYVIEW_DIR . 'includes/fields/fileupload.php' );
1140 1140
 	}
1141 1141
 
1142 1142
 	return GravityView_Field_FileUpload::get_files_array( $value, $gv_class );
@@ -1214,12 +1214,12 @@  discard block
 block discarded – undo
1214 1214
 	$args = apply_filters( 'gravityview/field_output/args', $args, $passed_args );
1215 1215
 
1216 1216
 	// Required fields.
1217
-	if ( empty( $args['field'] ) || empty( $args['form'] ) ) {
1217
+	if ( empty( $args[ 'field' ] ) || empty( $args[ 'form' ] ) ) {
1218 1218
 		do_action( 'gravityview_log_error', '[gravityview_field_output] Field or form are empty.', $args );
1219 1219
 		return '';
1220 1220
 	}
1221 1221
 
1222
-	$entry = empty( $args['entry'] ) ? array() : $args['entry'];
1222
+	$entry = empty( $args[ 'entry' ] ) ? array() : $args[ 'entry' ];
1223 1223
 
1224 1224
 	/**
1225 1225
 	 * Create the content variables for replacing.
@@ -1235,37 +1235,37 @@  discard block
 block discarded – undo
1235 1235
 		'field_id' => '',
1236 1236
 	);
1237 1237
 
1238
-	$context['value'] = gv_value( $entry, $args['field'] );
1238
+	$context[ 'value' ] = gv_value( $entry, $args[ 'field' ] );
1239 1239
 
1240 1240
 	// If the value is empty and we're hiding empty, return empty.
1241
-	if ( $context['value'] === '' && ! empty( $args['hide_empty'] ) ) {
1241
+	if ( $context[ 'value' ] === '' && ! empty( $args[ 'hide_empty' ] ) ) {
1242 1242
 		return '';
1243 1243
 	}
1244 1244
 
1245
-	if ( $context['value'] !== '' && ! empty( $args['wpautop'] ) ) {
1246
-		$context['value'] = wpautop( $context['value'] );
1245
+	if ( $context[ 'value' ] !== '' && ! empty( $args[ 'wpautop' ] ) ) {
1246
+		$context[ 'value' ] = wpautop( $context[ 'value' ] );
1247 1247
 	}
1248 1248
 
1249 1249
 	// Get width setting, if exists
1250
-	$context['width'] = GravityView_API::field_width( $args['field'] );
1250
+	$context[ 'width' ] = GravityView_API::field_width( $args[ 'field' ] );
1251 1251
 
1252 1252
 	// If replacing with CSS inline formatting, let's do it.
1253
-	$context['width:style'] = GravityView_API::field_width( $args['field'], 'width:' . $context['width'] . '%;' );
1253
+	$context[ 'width:style' ] = GravityView_API::field_width( $args[ 'field' ], 'width:' . $context[ 'width' ] . '%;' );
1254 1254
 
1255 1255
 	// Grab the Class using `gv_class`
1256
-	$context['class'] = gv_class( $args['field'], $args['form'], $entry );
1257
-	$context['field_id'] = GravityView_API::field_html_attr_id( $args['field'], $args['form'], $entry );
1256
+	$context[ 'class' ] = gv_class( $args[ 'field' ], $args[ 'form' ], $entry );
1257
+	$context[ 'field_id' ] = GravityView_API::field_html_attr_id( $args[ 'field' ], $args[ 'form' ], $entry );
1258 1258
 
1259 1259
 	// Get field label if needed
1260
-	if ( ! empty( $args['label_markup'] ) && ! empty( $args['field']['show_label'] ) ) {
1261
-		$context['label'] = str_replace( array( '{{label}}', '{{ label }}' ), '<span class="gv-field-label">{{ label_value }}</span>', $args['label_markup'] );
1260
+	if ( ! empty( $args[ 'label_markup' ] ) && ! empty( $args[ 'field' ][ 'show_label' ] ) ) {
1261
+		$context[ 'label' ] = str_replace( array( '{{label}}', '{{ label }}' ), '<span class="gv-field-label">{{ label_value }}</span>', $args[ 'label_markup' ] );
1262 1262
 	}
1263 1263
 
1264 1264
 	// Default Label value
1265
-	$context['label_value'] = gv_label( $args['field'], $entry );
1265
+	$context[ 'label_value' ] = gv_label( $args[ 'field' ], $entry );
1266 1266
 
1267
-	if ( empty( $context['label'] ) && ! empty( $context['label_value'] ) ){
1268
-		$context['label'] = '<span class="gv-field-label">{{ label_value }}</span>';
1267
+	if ( empty( $context[ 'label' ] ) && ! empty( $context[ 'label_value' ] ) ) {
1268
+		$context[ 'label' ] = '<span class="gv-field-label">{{ label_value }}</span>';
1269 1269
 	}
1270 1270
 
1271 1271
 	/**
@@ -1274,7 +1274,7 @@  discard block
 block discarded – undo
1274 1274
 	 * @param string $markup The HTML for the markup
1275 1275
 	 * @param array $args All args for the field output
1276 1276
 	 */
1277
-	$html = apply_filters( 'gravityview/field_output/pre_html', $args['markup'], $args );
1277
+	$html = apply_filters( 'gravityview/field_output/pre_html', $args[ 'markup' ], $args );
1278 1278
 
1279 1279
 	/**
1280 1280
 	 * @filter `gravityview/field_output/open_tag` Modify the opening tags for the template content placeholders
@@ -1297,7 +1297,7 @@  discard block
 block discarded – undo
1297 1297
 	foreach ( $context as $tag => $value ) {
1298 1298
 
1299 1299
 		// If the tag doesn't exist just skip it
1300
-		if ( false === strpos( $html, $open_tag . $tag . $close_tag ) && false === strpos( $html, $open_tag . ' ' . $tag . ' ' . $close_tag ) ){
1300
+		if ( false === strpos( $html, $open_tag . $tag . $close_tag ) && false === strpos( $html, $open_tag . ' ' . $tag . ' ' . $close_tag ) ) {
1301 1301
 			continue;
1302 1302
 		}
1303 1303
 
Please login to merge, or discard this patch.
includes/class-gravityview-entry-list.php 1 patch
Spacing   +13 added lines, -13 removed lines patch added patch discarded remove patch
@@ -83,7 +83,7 @@  discard block
 block discarded – undo
83 83
 		$this->link_format = $link_format;
84 84
 		$this->after_link = $after_link;
85 85
 		$this->context = $context;
86
-		$this->empty_message = function_exists( 'gv_no_results' ) ? gv_no_results() : __('No entries match your request.', 'gravityview');
86
+		$this->empty_message = function_exists( 'gv_no_results' ) ? gv_no_results() : __( 'No entries match your request.', 'gravityview' );
87 87
 	}
88 88
 
89 89
 	/**
@@ -169,25 +169,25 @@  discard block
 block discarded – undo
169 169
 	public function get_output() {
170 170
 
171 171
 		// No Entries
172
-		if( empty( $this->entries ) ) {
173
-			return '<div class="gv-no-results">'.$this->empty_message.'</div>';
172
+		if ( empty( $this->entries ) ) {
173
+			return '<div class="gv-no-results">' . $this->empty_message . '</div>';
174 174
 		}
175 175
 
176 176
 		$output = '';
177 177
 		$current_entry = GravityView_View::getInstance()->getCurrentEntry();
178 178
 
179
-		$output .= '<'. $this->wrapper_tag .'>';
179
+		$output .= '<' . $this->wrapper_tag . '>';
180 180
 
181
-		foreach( $this->entries as $entry ) {
181
+		foreach ( $this->entries as $entry ) {
182 182
 
183
-			if( $this->skip_entry( $entry, $current_entry ) ) {
183
+			if ( $this->skip_entry( $entry, $current_entry ) ) {
184 184
 				continue;
185 185
 			}
186 186
 
187 187
 			$output .= $this->get_item_output( $entry );
188 188
 		}
189 189
 
190
-		$output .= '</'. $this->wrapper_tag .'>';
190
+		$output .= '</' . $this->wrapper_tag . '>';
191 191
 
192 192
 		/**
193 193
 		 * @filter `gravityview/widget/recent-entries/output` Modify the HTML of the Recent Entries widget output
@@ -210,15 +210,15 @@  discard block
 block discarded – undo
210 210
 	private function skip_entry( $entry, $current_entry ) {
211 211
 
212 212
 		// If skip entry is off, or there's no current entry, return false
213
-		if( empty( $this->skip_current_entry ) || empty( $current_entry ) ) {
213
+		if ( empty( $this->skip_current_entry ) || empty( $current_entry ) ) {
214 214
 			return false;
215 215
 		}
216 216
 
217 217
 		// If in Single or Edit mode, $current_entry will be an array.
218
-		$current_entry_id = is_array( $current_entry ) ? $current_entry['id'] : $current_entry;
218
+		$current_entry_id = is_array( $current_entry ) ? $current_entry[ 'id' ] : $current_entry;
219 219
 
220 220
 		// If the entry ID matches the current entry, yes: skip
221
-		if( $entry['id'] === $current_entry_id ) {
221
+		if ( $entry[ 'id' ] === $current_entry_id ) {
222 222
 			return true;
223 223
 		}
224 224
 
@@ -245,7 +245,7 @@  discard block
 block discarded – undo
245 245
 
246 246
 		$item_output = gravityview_get_link( $link, $this->link_format );
247 247
 
248
-		if( !empty( $this->after_link ) ) {
248
+		if ( ! empty( $this->after_link ) ) {
249 249
 
250 250
 			/**
251 251
 			 * @filter `gravityview/entry-list/after-link` Modify the content displayed after the entry link in an entry list
@@ -254,14 +254,14 @@  discard block
 block discarded – undo
254 254
 			 * @param array $entry Gravity Forms entry array
255 255
 			 * @param GravityView_Entry_List $this The current class instance
256 256
 			 */
257
-			$after_link = apply_filters( 'gravityview/entry-list/after-link', '<div>'.$this->after_link.'</div>', $entry, $this );
257
+			$after_link = apply_filters( 'gravityview/entry-list/after-link', '<div>' . $this->after_link . '</div>', $entry, $this );
258 258
 
259 259
 			$item_output .= $after_link;
260 260
 		}
261 261
 
262 262
 		$item_output = GravityView_API::replace_variables( $item_output, $this->form, $entry );
263 263
 
264
-		$item_output = '<'. $this->item_tag .'>'. $item_output .'</'. $this->item_tag .'>';
264
+		$item_output = '<' . $this->item_tag . '>' . $item_output . '</' . $this->item_tag . '>';
265 265
 
266 266
 		/**
267 267
 		 * @filter `gravityview/entry-list/item` Modify each item's output in an entry list
Please login to merge, or discard this patch.
includes/extensions/edit-entry/class-edit-entry-render.php 2 patches
Indentation   +1593 added lines, -1593 removed lines patch added patch discarded remove patch
@@ -10,20 +10,20 @@  discard block
 block discarded – undo
10 10
  */
11 11
 
12 12
 if ( ! defined( 'WPINC' ) ) {
13
-    die;
13
+	die;
14 14
 }
15 15
 
16 16
 class GravityView_Edit_Entry_Render {
17 17
 
18
-    /**
19
-     * @var GravityView_Edit_Entry
20
-     */
21
-    protected $loader;
18
+	/**
19
+	 * @var GravityView_Edit_Entry
20
+	 */
21
+	protected $loader;
22 22
 
23 23
 	/**
24 24
 	 * @var string String used to generate unique nonce for the entry/form/view combination. Allows access to edit page.
25 25
 	 */
26
-    static $nonce_key;
26
+	static $nonce_key;
27 27
 
28 28
 	/**
29 29
 	 * @since 1.9
@@ -37,12 +37,12 @@  discard block
 block discarded – undo
37 37
 	 */
38 38
 	private static $supports_save_and_continue = false;
39 39
 
40
-    /**
41
-     * Gravity Forms entry array
42
-     *
43
-     * @var array
44
-     */
45
-    public $entry;
40
+	/**
41
+	 * Gravity Forms entry array
42
+	 *
43
+	 * @var array
44
+	 */
45
+	public $entry;
46 46
 
47 47
 	/**
48 48
 	 * Gravity Forms entry array (it won't get changed during this class lifecycle)
@@ -51,134 +51,134 @@  discard block
 block discarded – undo
51 51
 	 */
52 52
 	private static $original_entry = array();
53 53
 
54
-    /**
55
-     * Gravity Forms form array (GravityView modifies the content through this class lifecycle)
56
-     *
57
-     * @var array
58
-     */
54
+	/**
55
+	 * Gravity Forms form array (GravityView modifies the content through this class lifecycle)
56
+	 *
57
+	 * @var array
58
+	 */
59 59
 	public $form;
60 60
 
61
-    /**
62
-     * Gravity Forms form array (it won't get changed during this class lifecycle)
63
-     * @since 1.16.2.1
64
-     * @var array
65
-     */
66
-    private static $original_form;
67
-
68
-    /**
69
-     * Gravity Forms form array after the form validation process
70
-     * @since 1.13
71
-     * @var array
72
-     */
61
+	/**
62
+	 * Gravity Forms form array (it won't get changed during this class lifecycle)
63
+	 * @since 1.16.2.1
64
+	 * @var array
65
+	 */
66
+	private static $original_form;
67
+
68
+	/**
69
+	 * Gravity Forms form array after the form validation process
70
+	 * @since 1.13
71
+	 * @var array
72
+	 */
73 73
 	public $form_after_validation = null;
74 74
 
75
-    /**
76
-     * Hold an array of GF field objects that have calculation rules
77
-     * @var array
78
-     */
75
+	/**
76
+	 * Hold an array of GF field objects that have calculation rules
77
+	 * @var array
78
+	 */
79 79
 	public $fields_with_calculation = array();
80 80
 
81
-    /**
82
-     * Gravity Forms form id
83
-     *
84
-     * @var int
85
-     */
81
+	/**
82
+	 * Gravity Forms form id
83
+	 *
84
+	 * @var int
85
+	 */
86 86
 	public $form_id;
87 87
 
88
-    /**
89
-     * ID of the current view
90
-     *
91
-     * @var int
92
-     */
88
+	/**
89
+	 * ID of the current view
90
+	 *
91
+	 * @var int
92
+	 */
93 93
 	public $view_id;
94 94
 
95
-    /**
96
-     * Updated entry is valid (GF Validation object)
97
-     *
98
-     * @var array
99
-     */
95
+	/**
96
+	 * Updated entry is valid (GF Validation object)
97
+	 *
98
+	 * @var array
99
+	 */
100 100
 	public $is_valid = NULL;
101 101
 
102
-    function __construct( GravityView_Edit_Entry $loader ) {
103
-        $this->loader = $loader;
104
-    }
102
+	function __construct( GravityView_Edit_Entry $loader ) {
103
+		$this->loader = $loader;
104
+	}
105 105
 
106
-    function load() {
106
+	function load() {
107 107
 
108
-        /** @define "GRAVITYVIEW_DIR" "../../../" */
109
-        include_once( GRAVITYVIEW_DIR .'includes/class-admin-approve-entries.php' );
108
+		/** @define "GRAVITYVIEW_DIR" "../../../" */
109
+		include_once( GRAVITYVIEW_DIR .'includes/class-admin-approve-entries.php' );
110 110
 
111
-        // Don't display an embedded form when editing an entry
112
-        add_action( 'wp_head', array( $this, 'prevent_render_form' ) );
113
-        add_action( 'wp_footer', array( $this, 'prevent_render_form' ) );
111
+		// Don't display an embedded form when editing an entry
112
+		add_action( 'wp_head', array( $this, 'prevent_render_form' ) );
113
+		add_action( 'wp_footer', array( $this, 'prevent_render_form' ) );
114 114
 
115
-        // Stop Gravity Forms processing what is ours!
116
-        add_filter( 'wp', array( $this, 'prevent_maybe_process_form'), 8 );
115
+		// Stop Gravity Forms processing what is ours!
116
+		add_filter( 'wp', array( $this, 'prevent_maybe_process_form'), 8 );
117 117
 
118
-        add_filter( 'gravityview_is_edit_entry', array( $this, 'is_edit_entry') );
118
+		add_filter( 'gravityview_is_edit_entry', array( $this, 'is_edit_entry') );
119 119
 
120
-        add_action( 'gravityview_edit_entry', array( $this, 'init' ) );
120
+		add_action( 'gravityview_edit_entry', array( $this, 'init' ) );
121 121
 
122
-        // Disable conditional logic if needed (since 1.9)
123
-        add_filter( 'gform_has_conditional_logic', array( $this, 'manage_conditional_logic' ), 10, 2 );
122
+		// Disable conditional logic if needed (since 1.9)
123
+		add_filter( 'gform_has_conditional_logic', array( $this, 'manage_conditional_logic' ), 10, 2 );
124 124
 
125
-        // Make sure GF doesn't validate max files (since 1.9)
126
-        add_filter( 'gform_plupload_settings', array( $this, 'modify_fileupload_settings' ), 10, 3 );
125
+		// Make sure GF doesn't validate max files (since 1.9)
126
+		add_filter( 'gform_plupload_settings', array( $this, 'modify_fileupload_settings' ), 10, 3 );
127 127
 
128
-        // Add fields expected by GFFormDisplay::validate()
129
-        add_filter( 'gform_pre_validation', array( $this, 'gform_pre_validation') );
128
+		// Add fields expected by GFFormDisplay::validate()
129
+		add_filter( 'gform_pre_validation', array( $this, 'gform_pre_validation') );
130 130
 
131 131
 		// Fix multiselect value for GF 2.2
132 132
 		add_filter( 'gravityview/edit_entry/field_value_multiselect', array( $this, 'fix_multiselect_value_serialization' ), 10, 3 );
133
-    }
134
-
135
-    /**
136
-     * Don't show any forms embedded on a page when GravityView is in Edit Entry mode
137
-     *
138
-     * Adds a `__return_empty_string` filter on the Gravity Forms shortcode on the `wp_head` action
139
-     * And then removes it on the `wp_footer` action
140
-     *
141
-     * @since 1.16.1
142
-     *
143
-     * @return void
144
-     */
145
-    public function prevent_render_form() {
146
-        if( $this->is_edit_entry() ) {
147
-            if( 'wp_head' === current_filter() ) {
148
-                add_filter( 'gform_shortcode_form', '__return_empty_string' );
149
-            } else {
150
-                remove_filter( 'gform_shortcode_form', '__return_empty_string' );
151
-            }
152
-        }
153
-    }
154
-
155
-    /**
156
-     * Because we're mimicking being a front-end Gravity Forms form while using a Gravity Forms
157
-     * backend form, we need to prevent them from saving twice.
158
-     * @return void
159
-     */
160
-    public function prevent_maybe_process_form() {
161
-
162
-        if( ! empty( $_POST ) ) {
163
-	        do_action( 'gravityview_log_debug', 'GravityView_Edit_Entry[prevent_maybe_process_form] $_POSTed data (sanitized): ', esc_html( print_r( $_POST, true ) ) );
164
-        }
165
-
166
-        if( $this->is_edit_entry_submission() ) {
167
-            remove_action( 'wp',  array( 'RGForms', 'maybe_process_form'), 9 );
168
-	        remove_action( 'wp',  array( 'GFForms', 'maybe_process_form'), 9 );
169
-        }
170
-    }
171
-
172
-    /**
173
-     * Is the current page an Edit Entry page?
174
-     * @return boolean
175
-     */
176
-    public function is_edit_entry() {
177
-
178
-        $is_edit_entry = GravityView_frontend::is_single_entry() && ! empty( $_GET['edit'] );
179
-
180
-        return ( $is_edit_entry || $this->is_edit_entry_submission() );
181
-    }
133
+	}
134
+
135
+	/**
136
+	 * Don't show any forms embedded on a page when GravityView is in Edit Entry mode
137
+	 *
138
+	 * Adds a `__return_empty_string` filter on the Gravity Forms shortcode on the `wp_head` action
139
+	 * And then removes it on the `wp_footer` action
140
+	 *
141
+	 * @since 1.16.1
142
+	 *
143
+	 * @return void
144
+	 */
145
+	public function prevent_render_form() {
146
+		if( $this->is_edit_entry() ) {
147
+			if( 'wp_head' === current_filter() ) {
148
+				add_filter( 'gform_shortcode_form', '__return_empty_string' );
149
+			} else {
150
+				remove_filter( 'gform_shortcode_form', '__return_empty_string' );
151
+			}
152
+		}
153
+	}
154
+
155
+	/**
156
+	 * Because we're mimicking being a front-end Gravity Forms form while using a Gravity Forms
157
+	 * backend form, we need to prevent them from saving twice.
158
+	 * @return void
159
+	 */
160
+	public function prevent_maybe_process_form() {
161
+
162
+		if( ! empty( $_POST ) ) {
163
+			do_action( 'gravityview_log_debug', 'GravityView_Edit_Entry[prevent_maybe_process_form] $_POSTed data (sanitized): ', esc_html( print_r( $_POST, true ) ) );
164
+		}
165
+
166
+		if( $this->is_edit_entry_submission() ) {
167
+			remove_action( 'wp',  array( 'RGForms', 'maybe_process_form'), 9 );
168
+			remove_action( 'wp',  array( 'GFForms', 'maybe_process_form'), 9 );
169
+		}
170
+	}
171
+
172
+	/**
173
+	 * Is the current page an Edit Entry page?
174
+	 * @return boolean
175
+	 */
176
+	public function is_edit_entry() {
177
+
178
+		$is_edit_entry = GravityView_frontend::is_single_entry() && ! empty( $_GET['edit'] );
179
+
180
+		return ( $is_edit_entry || $this->is_edit_entry_submission() );
181
+	}
182 182
 
183 183
 	/**
184 184
 	 * Is the current page an Edit Entry page?
@@ -189,173 +189,173 @@  discard block
 block discarded – undo
189 189
 		return !empty( $_POST[ self::$nonce_field ] );
190 190
 	}
191 191
 
192
-    /**
193
-     * When Edit entry view is requested setup the vars
194
-     */
195
-    private function setup_vars() {
196
-        $gravityview_view = GravityView_View::getInstance();
192
+	/**
193
+	 * When Edit entry view is requested setup the vars
194
+	 */
195
+	private function setup_vars() {
196
+		$gravityview_view = GravityView_View::getInstance();
197 197
 
198 198
 
199
-        $entries = $gravityview_view->getEntries();
200
-	    self::$original_entry = $entries[0];
201
-	    $this->entry = $entries[0];
199
+		$entries = $gravityview_view->getEntries();
200
+		self::$original_entry = $entries[0];
201
+		$this->entry = $entries[0];
202 202
 
203
-        self::$original_form = $gravityview_view->getForm();
204
-        $this->form = $gravityview_view->getForm();
205
-        $this->form_id = $gravityview_view->getFormId();
206
-        $this->view_id = $gravityview_view->getViewId();
203
+		self::$original_form = $gravityview_view->getForm();
204
+		$this->form = $gravityview_view->getForm();
205
+		$this->form_id = $gravityview_view->getFormId();
206
+		$this->view_id = $gravityview_view->getViewId();
207 207
 
208
-        self::$nonce_key = GravityView_Edit_Entry::get_nonce_key( $this->view_id, $this->form_id, $this->entry['id'] );
209
-    }
208
+		self::$nonce_key = GravityView_Edit_Entry::get_nonce_key( $this->view_id, $this->form_id, $this->entry['id'] );
209
+	}
210 210
 
211 211
 
212
-    /**
213
-     * Load required files and trigger edit flow
214
-     *
215
-     * Run when the is_edit_entry returns true.
216
-     *
217
-     * @param GravityView_View_Data $gv_data GravityView Data object
218
-     * @return void
219
-     */
220
-    public function init( $gv_data ) {
212
+	/**
213
+	 * Load required files and trigger edit flow
214
+	 *
215
+	 * Run when the is_edit_entry returns true.
216
+	 *
217
+	 * @param GravityView_View_Data $gv_data GravityView Data object
218
+	 * @return void
219
+	 */
220
+	public function init( $gv_data ) {
221 221
 
222
-        require_once( GFCommon::get_base_path() . '/form_display.php' );
223
-        require_once( GFCommon::get_base_path() . '/entry_detail.php' );
222
+		require_once( GFCommon::get_base_path() . '/form_display.php' );
223
+		require_once( GFCommon::get_base_path() . '/entry_detail.php' );
224 224
 
225
-        $this->setup_vars();
225
+		$this->setup_vars();
226 226
 
227
-        // Multiple Views embedded, don't proceed if nonce fails
227
+		// Multiple Views embedded, don't proceed if nonce fails
228 228
 		$multiple_views = defined( 'GRAVITYVIEW_FUTURE_CORE_LOADED' ) ? gravityview()->views->count() > 1 : $gv_data->has_multiple_views();
229
-        if( $multiple_views && ! wp_verify_nonce( $_GET['edit'], self::$nonce_key ) ) {
230
-            do_action('gravityview_log_error', __METHOD__ . ': Nonce validation failed for the Edit Entry request; returning' );
231
-            return;
232
-        }
229
+		if( $multiple_views && ! wp_verify_nonce( $_GET['edit'], self::$nonce_key ) ) {
230
+			do_action('gravityview_log_error', __METHOD__ . ': Nonce validation failed for the Edit Entry request; returning' );
231
+			return;
232
+		}
233 233
 
234
-        // Sorry, you're not allowed here.
235
-        if( false === $this->user_can_edit_entry( true ) ) {
236
-            do_action('gravityview_log_error', __METHOD__ . ': User is not allowed to edit this entry; returning', $this->entry );
237
-            return;
238
-        }
234
+		// Sorry, you're not allowed here.
235
+		if( false === $this->user_can_edit_entry( true ) ) {
236
+			do_action('gravityview_log_error', __METHOD__ . ': User is not allowed to edit this entry; returning', $this->entry );
237
+			return;
238
+		}
239 239
 
240
-        $this->print_scripts();
240
+		$this->print_scripts();
241 241
 
242
-        $this->process_save();
242
+		$this->process_save();
243 243
 
244
-        $this->edit_entry_form();
244
+		$this->edit_entry_form();
245 245
 
246
-    }
246
+	}
247 247
 
248 248
 
249
-    /**
250
-     * Force Gravity Forms to output scripts as if it were in the admin
251
-     * @return void
252
-     */
253
-    private function print_scripts() {
254
-        $gravityview_view = GravityView_View::getInstance();
249
+	/**
250
+	 * Force Gravity Forms to output scripts as if it were in the admin
251
+	 * @return void
252
+	 */
253
+	private function print_scripts() {
254
+		$gravityview_view = GravityView_View::getInstance();
255 255
 
256
-        wp_register_script( 'gform_gravityforms', GFCommon::get_base_url().'/js/gravityforms.js', array( 'jquery', 'gform_json', 'gform_placeholder', 'sack', 'plupload-all', 'gravityview-fe-view' ) );
256
+		wp_register_script( 'gform_gravityforms', GFCommon::get_base_url().'/js/gravityforms.js', array( 'jquery', 'gform_json', 'gform_placeholder', 'sack', 'plupload-all', 'gravityview-fe-view' ) );
257 257
 
258
-        GFFormDisplay::enqueue_form_scripts($gravityview_view->getForm(), false);
258
+		GFFormDisplay::enqueue_form_scripts($gravityview_view->getForm(), false);
259 259
 
260
-        // Sack is required for images
261
-        wp_print_scripts( array( 'sack', 'gform_gravityforms' ) );
262
-    }
260
+		// Sack is required for images
261
+		wp_print_scripts( array( 'sack', 'gform_gravityforms' ) );
262
+	}
263 263
 
264 264
 
265
-    /**
266
-     * Process edit entry form save
267
-     */
268
-    private function process_save() {
265
+	/**
266
+	 * Process edit entry form save
267
+	 */
268
+	private function process_save() {
269 269
 
270
-        if( empty( $_POST ) || ! isset( $_POST['lid'] ) ) {
271
-            return;
272
-        }
270
+		if( empty( $_POST ) || ! isset( $_POST['lid'] ) ) {
271
+			return;
272
+		}
273 273
 
274
-        // Make sure the entry, view, and form IDs are all correct
275
-        $valid = $this->verify_nonce();
274
+		// Make sure the entry, view, and form IDs are all correct
275
+		$valid = $this->verify_nonce();
276 276
 
277
-        if( !$valid ) {
278
-            do_action('gravityview_log_error', __METHOD__ . ' Nonce validation failed.' );
279
-            return;
280
-        }
277
+		if( !$valid ) {
278
+			do_action('gravityview_log_error', __METHOD__ . ' Nonce validation failed.' );
279
+			return;
280
+		}
281 281
 
282
-        if( $this->entry['id'] !== $_POST['lid'] ) {
283
-            do_action('gravityview_log_error', __METHOD__ . ' Entry ID did not match posted entry ID.' );
284
-            return;
285
-        }
282
+		if( $this->entry['id'] !== $_POST['lid'] ) {
283
+			do_action('gravityview_log_error', __METHOD__ . ' Entry ID did not match posted entry ID.' );
284
+			return;
285
+		}
286 286
 
287
-        do_action('gravityview_log_debug', __METHOD__ . ': $_POSTed data (sanitized): ', esc_html( print_r( $_POST, true ) ) );
287
+		do_action('gravityview_log_debug', __METHOD__ . ': $_POSTed data (sanitized): ', esc_html( print_r( $_POST, true ) ) );
288 288
 
289
-        $this->process_save_process_files( $this->form_id );
289
+		$this->process_save_process_files( $this->form_id );
290 290
 
291
-        $this->validate();
291
+		$this->validate();
292 292
 
293
-        if( $this->is_valid ) {
293
+		if( $this->is_valid ) {
294 294
 
295
-            do_action('gravityview_log_debug', __METHOD__ . ': Submission is valid.' );
295
+			do_action('gravityview_log_debug', __METHOD__ . ': Submission is valid.' );
296 296
 
297
-            /**
298
-             * @hack This step is needed to unset the adminOnly from form fields, to add the calculation fields
299
-             */
300
-            $form = $this->form_prepare_for_save();
297
+			/**
298
+			 * @hack This step is needed to unset the adminOnly from form fields, to add the calculation fields
299
+			 */
300
+			$form = $this->form_prepare_for_save();
301 301
 
302
-            /**
303
-             * @hack to avoid the capability validation of the method save_lead for GF 1.9+
304
-             */
305
-            unset( $_GET['page'] );
302
+			/**
303
+			 * @hack to avoid the capability validation of the method save_lead for GF 1.9+
304
+			 */
305
+			unset( $_GET['page'] );
306 306
 
307
-            $date_created = $this->entry['date_created'];
307
+			$date_created = $this->entry['date_created'];
308 308
 
309
-            /**
310
-             * @hack to force Gravity Forms to use $read_value_from_post in GFFormsModel::save_lead()
311
-             * @since 1.17.2
312
-             */
313
-            unset( $this->entry['date_created'] );
309
+			/**
310
+			 * @hack to force Gravity Forms to use $read_value_from_post in GFFormsModel::save_lead()
311
+			 * @since 1.17.2
312
+			 */
313
+			unset( $this->entry['date_created'] );
314 314
 
315
-            GFFormsModel::save_lead( $form, $this->entry );
315
+			GFFormsModel::save_lead( $form, $this->entry );
316 316
 
317
-	        // Delete the values for hidden inputs
318
-	        $this->unset_hidden_field_values();
317
+			// Delete the values for hidden inputs
318
+			$this->unset_hidden_field_values();
319 319
             
320
-            $this->entry['date_created'] = $date_created;
320
+			$this->entry['date_created'] = $date_created;
321 321
 
322
-            // Process calculation fields
323
-            $this->update_calculation_fields();
322
+			// Process calculation fields
323
+			$this->update_calculation_fields();
324 324
 
325
-            // Perform actions normally performed after updating a lead
326
-            $this->after_update();
325
+			// Perform actions normally performed after updating a lead
326
+			$this->after_update();
327 327
 
328
-	        /**
329
-             * Must be AFTER after_update()!
330
-             * @see https://github.com/gravityview/GravityView/issues/764
331
-             */
332
-            $this->maybe_update_post_fields( $form );
328
+			/**
329
+			 * Must be AFTER after_update()!
330
+			 * @see https://github.com/gravityview/GravityView/issues/764
331
+			 */
332
+			$this->maybe_update_post_fields( $form );
333 333
 
334
-            /**
335
-             * @action `gravityview/edit_entry/after_update` Perform an action after the entry has been updated using Edit Entry
336
-             * @param array $form Gravity Forms form array
337
-             * @param string $entry_id Numeric ID of the entry that was updated
338
-             * @param GravityView_Edit_Entry_Render $this This object
339
-             */
340
-            do_action( 'gravityview/edit_entry/after_update', $this->form, $this->entry['id'], $this );
334
+			/**
335
+			 * @action `gravityview/edit_entry/after_update` Perform an action after the entry has been updated using Edit Entry
336
+			 * @param array $form Gravity Forms form array
337
+			 * @param string $entry_id Numeric ID of the entry that was updated
338
+			 * @param GravityView_Edit_Entry_Render $this This object
339
+			 */
340
+			do_action( 'gravityview/edit_entry/after_update', $this->form, $this->entry['id'], $this );
341 341
 
342
-        } else {
343
-            do_action('gravityview_log_error', __METHOD__ . ': Submission is NOT valid.', $this->entry );
344
-        }
342
+		} else {
343
+			do_action('gravityview_log_error', __METHOD__ . ': Submission is NOT valid.', $this->entry );
344
+		}
345 345
 
346
-    } // process_save
346
+	} // process_save
347 347
 
348 348
 	/**
349 349
 	 * Delete the value of fields hidden by conditional logic when the entry is edited
350
-     *
351
-     * @uses GFFormsModel::update_lead_field_value()
352
-     *
353
-     * @since 1.17.4
354
-     *
355
-     * @return void
350
+	 *
351
+	 * @uses GFFormsModel::update_lead_field_value()
352
+	 *
353
+	 * @since 1.17.4
354
+	 *
355
+	 * @return void
356 356
 	 */
357
-    private function unset_hidden_field_values() {
358
-	    global $wpdb;
357
+	private function unset_hidden_field_values() {
358
+		global $wpdb;
359 359
 
360 360
 		if ( method_exists( 'GFFormsModel', 'get_entry_meta_table_name' ) ) {
361 361
 			$entry_meta_table = GFFormsModel::get_entry_meta_table_name();
@@ -365,58 +365,58 @@  discard block
 block discarded – undo
365 365
 			$current_fields = $wpdb->get_results( $wpdb->prepare( "SELECT id, field_number FROM $lead_detail_table WHERE lead_id=%d", $this->entry['id'] ) );
366 366
 		}
367 367
 
368
-	    foreach ( $this->entry as $input_id => $field_value ) {
368
+		foreach ( $this->entry as $input_id => $field_value ) {
369 369
 
370
-		    $field = RGFormsModel::get_field( $this->form, $input_id );
370
+			$field = RGFormsModel::get_field( $this->form, $input_id );
371 371
 
372
-		    // Reset fields that are hidden
373
-		    // Don't pass $entry as fourth parameter; force using $_POST values to calculate conditional logic
374
-		    if ( GFFormsModel::is_field_hidden( $this->form, $field, array(), NULL ) ) {
372
+			// Reset fields that are hidden
373
+			// Don't pass $entry as fourth parameter; force using $_POST values to calculate conditional logic
374
+			if ( GFFormsModel::is_field_hidden( $this->form, $field, array(), NULL ) ) {
375 375
 
376
-		        // List fields are stored as empty arrays when empty
377
-			    $empty_value = $this->is_field_json_encoded( $field ) ? '[]' : '';
376
+				// List fields are stored as empty arrays when empty
377
+				$empty_value = $this->is_field_json_encoded( $field ) ? '[]' : '';
378 378
 
379
-			    $lead_detail_id = GFFormsModel::get_lead_detail_id( $current_fields, $input_id );
379
+				$lead_detail_id = GFFormsModel::get_lead_detail_id( $current_fields, $input_id );
380 380
 
381
-			    GFFormsModel::update_lead_field_value( $this->form, $this->entry, $field, $lead_detail_id, $input_id, $empty_value );
381
+				GFFormsModel::update_lead_field_value( $this->form, $this->entry, $field, $lead_detail_id, $input_id, $empty_value );
382 382
 
383
-			    // Prevent the $_POST values of hidden fields from being used as default values when rendering the form
384
-                // after submission
385
-			    $post_input_id = 'input_' . str_replace( '.', '_', $input_id );
386
-			    $_POST[ $post_input_id ] = '';
387
-		    }
388
-	    }
389
-    }
383
+				// Prevent the $_POST values of hidden fields from being used as default values when rendering the form
384
+				// after submission
385
+				$post_input_id = 'input_' . str_replace( '.', '_', $input_id );
386
+				$_POST[ $post_input_id ] = '';
387
+			}
388
+		}
389
+	}
390 390
 
391
-    /**
392
-     * Have GF handle file uploads
393
-     *
394
-     * Copy of code from GFFormDisplay::process_form()
395
-     *
396
-     * @param int $form_id
397
-     */
398
-    private function process_save_process_files( $form_id ) {
391
+	/**
392
+	 * Have GF handle file uploads
393
+	 *
394
+	 * Copy of code from GFFormDisplay::process_form()
395
+	 *
396
+	 * @param int $form_id
397
+	 */
398
+	private function process_save_process_files( $form_id ) {
399 399
 
400
-        //Loading files that have been uploaded to temp folder
401
-        $files = GFCommon::json_decode( stripslashes( RGForms::post( 'gform_uploaded_files' ) ) );
402
-        if ( ! is_array( $files ) ) {
403
-            $files = array();
404
-        }
400
+		//Loading files that have been uploaded to temp folder
401
+		$files = GFCommon::json_decode( stripslashes( RGForms::post( 'gform_uploaded_files' ) ) );
402
+		if ( ! is_array( $files ) ) {
403
+			$files = array();
404
+		}
405 405
 
406 406
 		/**
407 407
 		 * Make sure the fileuploads are not overwritten if no such request was done.
408
-         * @since 1.20.1
408
+		 * @since 1.20.1
409 409
 		 */
410 410
 		add_filter( "gform_save_field_value_$form_id", array( $this, 'save_field_value' ), 99, 5 );
411 411
 
412
-        RGFormsModel::$uploaded_files[ $form_id ] = $files;
413
-    }
412
+		RGFormsModel::$uploaded_files[ $form_id ] = $files;
413
+	}
414 414
 
415 415
 	/**
416 416
 	 * Make sure the fileuploads are not overwritten if no such request was done.
417 417
 	 *
418
-     * TO ONLY BE USED INTERNALLY; DO NOT DEVELOP ON; MAY BE REMOVED AT ANY TIME.
419
-     *
418
+	 * TO ONLY BE USED INTERNALLY; DO NOT DEVELOP ON; MAY BE REMOVED AT ANY TIME.
419
+	 *
420 420
 	 * @since 1.20.1
421 421
 	 *
422 422
 	 * @param string $value Field value
@@ -451,156 +451,156 @@  discard block
 block discarded – undo
451 451
 		return $value;
452 452
 	}
453 453
 
454
-    /**
455
-     * Remove max_files validation (done on gravityforms.js) to avoid conflicts with GravityView
456
-     * Late validation done on self::custom_validation
457
-     *
458
-     * @param $plupload_init array Plupload settings
459
-     * @param $form_id
460
-     * @param $instance
461
-     * @return mixed
462
-     */
463
-    public function modify_fileupload_settings( $plupload_init, $form_id, $instance ) {
464
-        if( ! $this->is_edit_entry() ) {
465
-            return $plupload_init;
466
-        }
467
-
468
-        $plupload_init['gf_vars']['max_files'] = 0;
469
-
470
-        return $plupload_init;
471
-    }
472
-
473
-
474
-    /**
475
-     * Unset adminOnly and convert field input key to string
476
-     * @return array $form
477
-     */
478
-    private function form_prepare_for_save() {
479
-
480
-        $form = $this->form;
481
-
482
-	    /** @var GF_Field $field */
483
-        foreach( $form['fields'] as $k => &$field ) {
484
-
485
-            /**
486
-             * Remove the fields with calculation formulas before save to avoid conflicts with GF logic
487
-             * @since 1.16.3
488
-             * @var GF_Field $field
489
-             */
490
-            if( $field->has_calculation() ) {
491
-                unset( $form['fields'][ $k ] );
492
-            }
493
-
494
-            $field->adminOnly = false;
495
-
496
-            if( isset( $field->inputs ) && is_array( $field->inputs ) ) {
497
-                foreach( $field->inputs as $key => $input ) {
498
-                    $field->inputs[ $key ][ 'id' ] = (string)$input['id'];
499
-                }
500
-            }
501
-        }
502
-
503
-        return $form;
504
-    }
505
-
506
-    private function update_calculation_fields() {
507
-
508
-        $form = self::$original_form;
509
-        $update = false;
510
-
511
-        // get the most up to date entry values
512
-        $entry = GFAPI::get_entry( $this->entry['id'] );
513
-
514
-        if( !empty( $this->fields_with_calculation ) ) {
515
-            $update = true;
516
-            foreach ( $this->fields_with_calculation as $calc_field ) {
517
-                $inputs = $calc_field->get_entry_inputs();
518
-                if ( is_array( $inputs ) ) {
519
-                    foreach ( $inputs as $input ) {
520
-                        $input_name = 'input_' . str_replace( '.', '_', $input['id'] );
521
-                        $entry[ strval( $input['id'] ) ] = RGFormsModel::prepare_value( $form, $calc_field, '', $input_name, $entry['id'], $entry );
522
-                    }
523
-                } else {
524
-                    $input_name = 'input_' . str_replace( '.', '_', $calc_field->id);
525
-                    $entry[ strval( $calc_field->id ) ] = RGFormsModel::prepare_value( $form, $calc_field, '', $input_name, $entry['id'], $entry );
526
-                }
527
-            }
528
-
529
-        }
530
-
531
-        if( $update ) {
532
-
533
-            $return_entry = GFAPI::update_entry( $entry );
534
-
535
-            if( is_wp_error( $return_entry ) ) {
536
-                do_action( 'gravityview_log_error', 'Updating the entry calculation fields failed', $return_entry );
537
-            } else {
538
-                do_action( 'gravityview_log_debug', 'Updating the entry calculation fields succeeded' );
539
-            }
540
-        }
541
-    }
542
-
543
-    /**
544
-     * Handle updating the Post Image field
545
-     *
546
-     * Sets a new Featured Image if configured in Gravity Forms; otherwise uploads/updates media
547
-     *
548
-     * @since 1.17
549
-     *
550
-     * @uses GFFormsModel::media_handle_upload
551
-     * @uses set_post_thumbnail
552
-     * 
553
-     * @param array $form GF Form array
554
-     * @param GF_Field $field GF Field
555
-     * @param string $field_id Numeric ID of the field
556
-     * @param string $value
557
-     * @param array $entry GF Entry currently being edited
558
-     * @param int $post_id ID of the Post being edited
559
-     *
560
-     * @return mixed|string
561
-     */
562
-    private function update_post_image( $form, $field, $field_id, $value, $entry, $post_id ) {
563
-
564
-        $input_name = 'input_' . $field_id;
565
-
566
-        if ( !empty( $_FILES[ $input_name ]['name'] ) ) {
567
-
568
-            // We have a new image
569
-
570
-            $value = RGFormsModel::prepare_value( $form, $field, $value, $input_name, $entry['id'] );
571
-
572
-            $ary = ! empty( $value ) ? explode( '|:|', $value ) : array();
573
-            $img_url = rgar( $ary, 0 );
574
-
575
-            $img_title       = count( $ary ) > 1 ? $ary[1] : '';
576
-            $img_caption     = count( $ary ) > 2 ? $ary[2] : '';
577
-            $img_description = count( $ary ) > 3 ? $ary[3] : '';
578
-
579
-            $image_meta = array(
580
-                'post_excerpt' => $img_caption,
581
-                'post_content' => $img_description,
582
-            );
583
-
584
-            //adding title only if it is not empty. It will default to the file name if it is not in the array
585
-            if ( ! empty( $img_title ) ) {
586
-                $image_meta['post_title'] = $img_title;
587
-            }
588
-
589
-            /**
590
-             * todo: As soon as \GFFormsModel::media_handle_upload becomes a public method, move this call to \GFFormsModel::media_handle_upload and remove the hack from this class.
591
-             * Note: the method became public in GF 1.9.17.7, but we don't require that version yet.
592
-             */
593
-            require_once GRAVITYVIEW_DIR . 'includes/class-gravityview-gfformsmodel.php';
594
-            $media_id = GravityView_GFFormsModel::media_handle_upload( $img_url, $post_id, $image_meta );
595
-
596
-            // is this field set as featured image?
597
-            if ( $media_id && $field->postFeaturedImage ) {
598
-                set_post_thumbnail( $post_id, $media_id );
599
-            }
600
-
601
-        } elseif ( !empty( $_POST[ $input_name ] ) && is_array( $value ) ) {
602
-
603
-            $img_url = $_POST[ $input_name ];
454
+	/**
455
+	 * Remove max_files validation (done on gravityforms.js) to avoid conflicts with GravityView
456
+	 * Late validation done on self::custom_validation
457
+	 *
458
+	 * @param $plupload_init array Plupload settings
459
+	 * @param $form_id
460
+	 * @param $instance
461
+	 * @return mixed
462
+	 */
463
+	public function modify_fileupload_settings( $plupload_init, $form_id, $instance ) {
464
+		if( ! $this->is_edit_entry() ) {
465
+			return $plupload_init;
466
+		}
467
+
468
+		$plupload_init['gf_vars']['max_files'] = 0;
469
+
470
+		return $plupload_init;
471
+	}
472
+
473
+
474
+	/**
475
+	 * Unset adminOnly and convert field input key to string
476
+	 * @return array $form
477
+	 */
478
+	private function form_prepare_for_save() {
479
+
480
+		$form = $this->form;
481
+
482
+		/** @var GF_Field $field */
483
+		foreach( $form['fields'] as $k => &$field ) {
484
+
485
+			/**
486
+			 * Remove the fields with calculation formulas before save to avoid conflicts with GF logic
487
+			 * @since 1.16.3
488
+			 * @var GF_Field $field
489
+			 */
490
+			if( $field->has_calculation() ) {
491
+				unset( $form['fields'][ $k ] );
492
+			}
493
+
494
+			$field->adminOnly = false;
495
+
496
+			if( isset( $field->inputs ) && is_array( $field->inputs ) ) {
497
+				foreach( $field->inputs as $key => $input ) {
498
+					$field->inputs[ $key ][ 'id' ] = (string)$input['id'];
499
+				}
500
+			}
501
+		}
502
+
503
+		return $form;
504
+	}
505
+
506
+	private function update_calculation_fields() {
507
+
508
+		$form = self::$original_form;
509
+		$update = false;
510
+
511
+		// get the most up to date entry values
512
+		$entry = GFAPI::get_entry( $this->entry['id'] );
513
+
514
+		if( !empty( $this->fields_with_calculation ) ) {
515
+			$update = true;
516
+			foreach ( $this->fields_with_calculation as $calc_field ) {
517
+				$inputs = $calc_field->get_entry_inputs();
518
+				if ( is_array( $inputs ) ) {
519
+					foreach ( $inputs as $input ) {
520
+						$input_name = 'input_' . str_replace( '.', '_', $input['id'] );
521
+						$entry[ strval( $input['id'] ) ] = RGFormsModel::prepare_value( $form, $calc_field, '', $input_name, $entry['id'], $entry );
522
+					}
523
+				} else {
524
+					$input_name = 'input_' . str_replace( '.', '_', $calc_field->id);
525
+					$entry[ strval( $calc_field->id ) ] = RGFormsModel::prepare_value( $form, $calc_field, '', $input_name, $entry['id'], $entry );
526
+				}
527
+			}
528
+
529
+		}
530
+
531
+		if( $update ) {
532
+
533
+			$return_entry = GFAPI::update_entry( $entry );
534
+
535
+			if( is_wp_error( $return_entry ) ) {
536
+				do_action( 'gravityview_log_error', 'Updating the entry calculation fields failed', $return_entry );
537
+			} else {
538
+				do_action( 'gravityview_log_debug', 'Updating the entry calculation fields succeeded' );
539
+			}
540
+		}
541
+	}
542
+
543
+	/**
544
+	 * Handle updating the Post Image field
545
+	 *
546
+	 * Sets a new Featured Image if configured in Gravity Forms; otherwise uploads/updates media
547
+	 *
548
+	 * @since 1.17
549
+	 *
550
+	 * @uses GFFormsModel::media_handle_upload
551
+	 * @uses set_post_thumbnail
552
+	 * 
553
+	 * @param array $form GF Form array
554
+	 * @param GF_Field $field GF Field
555
+	 * @param string $field_id Numeric ID of the field
556
+	 * @param string $value
557
+	 * @param array $entry GF Entry currently being edited
558
+	 * @param int $post_id ID of the Post being edited
559
+	 *
560
+	 * @return mixed|string
561
+	 */
562
+	private function update_post_image( $form, $field, $field_id, $value, $entry, $post_id ) {
563
+
564
+		$input_name = 'input_' . $field_id;
565
+
566
+		if ( !empty( $_FILES[ $input_name ]['name'] ) ) {
567
+
568
+			// We have a new image
569
+
570
+			$value = RGFormsModel::prepare_value( $form, $field, $value, $input_name, $entry['id'] );
571
+
572
+			$ary = ! empty( $value ) ? explode( '|:|', $value ) : array();
573
+			$img_url = rgar( $ary, 0 );
574
+
575
+			$img_title       = count( $ary ) > 1 ? $ary[1] : '';
576
+			$img_caption     = count( $ary ) > 2 ? $ary[2] : '';
577
+			$img_description = count( $ary ) > 3 ? $ary[3] : '';
578
+
579
+			$image_meta = array(
580
+				'post_excerpt' => $img_caption,
581
+				'post_content' => $img_description,
582
+			);
583
+
584
+			//adding title only if it is not empty. It will default to the file name if it is not in the array
585
+			if ( ! empty( $img_title ) ) {
586
+				$image_meta['post_title'] = $img_title;
587
+			}
588
+
589
+			/**
590
+			 * todo: As soon as \GFFormsModel::media_handle_upload becomes a public method, move this call to \GFFormsModel::media_handle_upload and remove the hack from this class.
591
+			 * Note: the method became public in GF 1.9.17.7, but we don't require that version yet.
592
+			 */
593
+			require_once GRAVITYVIEW_DIR . 'includes/class-gravityview-gfformsmodel.php';
594
+			$media_id = GravityView_GFFormsModel::media_handle_upload( $img_url, $post_id, $image_meta );
595
+
596
+			// is this field set as featured image?
597
+			if ( $media_id && $field->postFeaturedImage ) {
598
+				set_post_thumbnail( $post_id, $media_id );
599
+			}
600
+
601
+		} elseif ( !empty( $_POST[ $input_name ] ) && is_array( $value ) ) {
602
+
603
+			$img_url = $_POST[ $input_name ];
604 604
 
605 605
 			$img_title       = rgar( $_POST, $input_name.'_1' );
606 606
 			$img_caption     = rgar( $_POST, $input_name .'_4' );
@@ -620,221 +620,221 @@  discard block
 block discarded – undo
620 620
 				// update image title, caption or description
621 621
 				wp_update_post( $image_meta );
622 622
 			}
623
-        } else {
624
-
625
-            // if we get here, image was removed or not set.
626
-            $value = '';
627
-
628
-            if ( $field->postFeaturedImage ) {
629
-                delete_post_thumbnail( $post_id );
630
-            }
631
-        }
632
-
633
-        return $value;
634
-    }
635
-
636
-    /**
637
-     * Loop through the fields being edited and if they include Post fields, update the Entry's post object
638
-     *
639
-     * @param array $form Gravity Forms form
640
-     *
641
-     * @return void
642
-     */
643
-    private function maybe_update_post_fields( $form ) {
644
-
645
-        if( empty( $this->entry['post_id'] ) ) {
646
-	        do_action( 'gravityview_log_debug', __METHOD__ . ': This entry has no post fields. Continuing...' );
647
-            return;
648
-        }
649
-
650
-        $post_id = $this->entry['post_id'];
651
-
652
-        // Security check
653
-        if( false === GVCommon::has_cap( 'edit_post', $post_id ) ) {
654
-            do_action( 'gravityview_log_error', 'The current user does not have the ability to edit Post #'.$post_id );
655
-            return;
656
-        }
657
-
658
-        $update_entry = false;
659
-
660
-        $updated_post = $original_post = get_post( $post_id );
661
-
662
-        foreach ( $this->entry as $field_id => $value ) {
663
-
664
-            $field = RGFormsModel::get_field( $form, $field_id );
665
-
666
-            if( ! $field ) {
667
-                continue;
668
-            }
669
-
670
-            if( GFCommon::is_post_field( $field ) && 'post_category' !== $field->type ) {
671
-
672
-                // Get the value of the field, including $_POSTed value
673
-                $value = RGFormsModel::get_field_value( $field );
674
-
675
-                // Use temporary entry variable, to make values available to fill_post_template() and update_post_image()
676
-                $entry_tmp = $this->entry;
677
-                $entry_tmp["{$field_id}"] = $value;
678
-
679
-                switch( $field->type ) {
680
-
681
-                    case 'post_title':
682
-                        $post_title = $value;
683
-                        if( rgar( $form, 'postTitleTemplateEnabled' ) ) {
684
-                            $post_title = $this->fill_post_template( $form['postTitleTemplate'], $form, $entry_tmp );
685
-                        }
686
-                        $updated_post->post_title = $post_title;
687
-                        $updated_post->post_name  = $post_title;
688
-                        unset( $post_title );
689
-                        break;
690
-
691
-                    case 'post_content':
692
-                        $post_content = $value;
693
-                        if( rgar( $form, 'postContentTemplateEnabled' ) ) {
694
-                            $post_content = $this->fill_post_template( $form['postContentTemplate'], $form, $entry_tmp, true );
695
-                        }
696
-                        $updated_post->post_content = $post_content;
697
-                        unset( $post_content );
698
-                        break;
699
-                    case 'post_excerpt':
700
-                        $updated_post->post_excerpt = $value;
701
-                        break;
702
-                    case 'post_tags':
703
-                        wp_set_post_tags( $post_id, $value, false );
704
-                        break;
705
-                    case 'post_category':
706
-                        break;
707
-                    case 'post_custom_field':
623
+		} else {
624
+
625
+			// if we get here, image was removed or not set.
626
+			$value = '';
627
+
628
+			if ( $field->postFeaturedImage ) {
629
+				delete_post_thumbnail( $post_id );
630
+			}
631
+		}
632
+
633
+		return $value;
634
+	}
635
+
636
+	/**
637
+	 * Loop through the fields being edited and if they include Post fields, update the Entry's post object
638
+	 *
639
+	 * @param array $form Gravity Forms form
640
+	 *
641
+	 * @return void
642
+	 */
643
+	private function maybe_update_post_fields( $form ) {
644
+
645
+		if( empty( $this->entry['post_id'] ) ) {
646
+			do_action( 'gravityview_log_debug', __METHOD__ . ': This entry has no post fields. Continuing...' );
647
+			return;
648
+		}
649
+
650
+		$post_id = $this->entry['post_id'];
651
+
652
+		// Security check
653
+		if( false === GVCommon::has_cap( 'edit_post', $post_id ) ) {
654
+			do_action( 'gravityview_log_error', 'The current user does not have the ability to edit Post #'.$post_id );
655
+			return;
656
+		}
657
+
658
+		$update_entry = false;
659
+
660
+		$updated_post = $original_post = get_post( $post_id );
661
+
662
+		foreach ( $this->entry as $field_id => $value ) {
663
+
664
+			$field = RGFormsModel::get_field( $form, $field_id );
665
+
666
+			if( ! $field ) {
667
+				continue;
668
+			}
669
+
670
+			if( GFCommon::is_post_field( $field ) && 'post_category' !== $field->type ) {
671
+
672
+				// Get the value of the field, including $_POSTed value
673
+				$value = RGFormsModel::get_field_value( $field );
674
+
675
+				// Use temporary entry variable, to make values available to fill_post_template() and update_post_image()
676
+				$entry_tmp = $this->entry;
677
+				$entry_tmp["{$field_id}"] = $value;
678
+
679
+				switch( $field->type ) {
680
+
681
+					case 'post_title':
682
+						$post_title = $value;
683
+						if( rgar( $form, 'postTitleTemplateEnabled' ) ) {
684
+							$post_title = $this->fill_post_template( $form['postTitleTemplate'], $form, $entry_tmp );
685
+						}
686
+						$updated_post->post_title = $post_title;
687
+						$updated_post->post_name  = $post_title;
688
+						unset( $post_title );
689
+						break;
690
+
691
+					case 'post_content':
692
+						$post_content = $value;
693
+						if( rgar( $form, 'postContentTemplateEnabled' ) ) {
694
+							$post_content = $this->fill_post_template( $form['postContentTemplate'], $form, $entry_tmp, true );
695
+						}
696
+						$updated_post->post_content = $post_content;
697
+						unset( $post_content );
698
+						break;
699
+					case 'post_excerpt':
700
+						$updated_post->post_excerpt = $value;
701
+						break;
702
+					case 'post_tags':
703
+						wp_set_post_tags( $post_id, $value, false );
704
+						break;
705
+					case 'post_category':
706
+						break;
707
+					case 'post_custom_field':
708 708
 						if ( is_array( $value ) && ( floatval( $field_id ) !== floatval( $field->id ) ) ) {
709 709
 							$value = $value[ $field_id ];
710 710
 						}
711 711
 
712
-                        if( ! empty( $field->customFieldTemplateEnabled ) ) {
713
-                            $value = $this->fill_post_template( $field->customFieldTemplate, $form, $entry_tmp, true );
714
-                        }
712
+						if( ! empty( $field->customFieldTemplateEnabled ) ) {
713
+							$value = $this->fill_post_template( $field->customFieldTemplate, $form, $entry_tmp, true );
714
+						}
715 715
 
716
-	                    if ( $this->is_field_json_encoded( $field ) && ! is_string( $value ) ) {
717
-		                    $value = function_exists('wp_json_encode') ? wp_json_encode( $value ) : json_encode( $value );
718
-	                    }
716
+						if ( $this->is_field_json_encoded( $field ) && ! is_string( $value ) ) {
717
+							$value = function_exists('wp_json_encode') ? wp_json_encode( $value ) : json_encode( $value );
718
+						}
719 719
 
720
-                        update_post_meta( $post_id, $field->postCustomFieldName, $value );
721
-                        break;
720
+						update_post_meta( $post_id, $field->postCustomFieldName, $value );
721
+						break;
722 722
 
723
-                    case 'post_image':
724
-                        $value = $this->update_post_image( $form, $field, $field_id, $value, $this->entry, $post_id );
725
-                        break;
723
+					case 'post_image':
724
+						$value = $this->update_post_image( $form, $field, $field_id, $value, $this->entry, $post_id );
725
+						break;
726 726
 
727
-                }
727
+				}
728 728
 
729
-                // update entry after
730
-                $this->entry["{$field_id}"] = $value;
729
+				// update entry after
730
+				$this->entry["{$field_id}"] = $value;
731 731
 
732
-                $update_entry = true;
732
+				$update_entry = true;
733 733
 
734
-                unset( $entry_tmp );
735
-            }
734
+				unset( $entry_tmp );
735
+			}
736 736
 
737
-        }
737
+		}
738 738
 
739
-        if( $update_entry ) {
739
+		if( $update_entry ) {
740 740
 
741
-            $return_entry = GFAPI::update_entry( $this->entry );
741
+			$return_entry = GFAPI::update_entry( $this->entry );
742 742
 
743
-            if( is_wp_error( $return_entry ) ) {
744
-               do_action( 'gravityview_log_error', 'Updating the entry post fields failed', array( '$this->entry' => $this->entry, '$return_entry' => $return_entry ) );
745
-            } else {
746
-                do_action( 'gravityview_log_debug', 'Updating the entry post fields for post #'.$post_id.' succeeded' );
747
-            }
743
+			if( is_wp_error( $return_entry ) ) {
744
+			   do_action( 'gravityview_log_error', 'Updating the entry post fields failed', array( '$this->entry' => $this->entry, '$return_entry' => $return_entry ) );
745
+			} else {
746
+				do_action( 'gravityview_log_debug', 'Updating the entry post fields for post #'.$post_id.' succeeded' );
747
+			}
748 748
 
749
-        }
749
+		}
750 750
 
751
-        $return_post = wp_update_post( $updated_post, true );
751
+		$return_post = wp_update_post( $updated_post, true );
752 752
 
753
-        if( is_wp_error( $return_post ) ) {
754
-            $return_post->add_data( $updated_post, '$updated_post' );
755
-            do_action( 'gravityview_log_error', 'Updating the post content failed', compact( 'updated_post', 'return_post' ) );
756
-        } else {
757
-            do_action( 'gravityview_log_debug', 'Updating the post content for post #'.$post_id.' succeeded', $updated_post );
758
-        }
759
-    }
753
+		if( is_wp_error( $return_post ) ) {
754
+			$return_post->add_data( $updated_post, '$updated_post' );
755
+			do_action( 'gravityview_log_error', 'Updating the post content failed', compact( 'updated_post', 'return_post' ) );
756
+		} else {
757
+			do_action( 'gravityview_log_debug', 'Updating the post content for post #'.$post_id.' succeeded', $updated_post );
758
+		}
759
+	}
760 760
 
761 761
 	/**
762
-     * Is the field stored in a JSON-encoded manner?
763
-     *
762
+	 * Is the field stored in a JSON-encoded manner?
763
+	 *
764 764
 	 * @param GF_Field $field
765 765
 	 *
766 766
 	 * @return bool True: stored in DB json_encode()'d; False: not encoded
767 767
 	 */
768
-    private function is_field_json_encoded( $field ) {
768
+	private function is_field_json_encoded( $field ) {
769 769
 
770
-	    $json_encoded = false;
770
+		$json_encoded = false;
771 771
 
772
-        $input_type = RGFormsModel::get_input_type( $field );
772
+		$input_type = RGFormsModel::get_input_type( $field );
773 773
 
774
-	    // Only certain custom field types are supported
775
-	    switch( $input_type ) {
776
-		    case 'fileupload':
777
-		    case 'list':
778
-		    case 'multiselect':
779
-			    $json_encoded = true;
780
-			    break;
781
-	    }
774
+		// Only certain custom field types are supported
775
+		switch( $input_type ) {
776
+			case 'fileupload':
777
+			case 'list':
778
+			case 'multiselect':
779
+				$json_encoded = true;
780
+				break;
781
+		}
782 782
 
783
-	    return $json_encoded;
784
-    }
783
+		return $json_encoded;
784
+	}
785 785
 
786
-    /**
787
-     * Convert a field content template into prepared output
788
-     *
789
-     * @uses GravityView_GFFormsModel::get_post_field_images()
790
-     *
791
-     * @since 1.17
792
-     *
793
-     * @param string $template The content template for the field
794
-     * @param array $form Gravity Forms form
795
-     * @param bool $do_shortcode Whether to process shortcode inside content. In GF, only run on Custom Field and Post Content fields
796
-     *
797
-     * @return string
798
-     */
799
-    private function fill_post_template( $template, $form, $entry, $do_shortcode = false ) {
786
+	/**
787
+	 * Convert a field content template into prepared output
788
+	 *
789
+	 * @uses GravityView_GFFormsModel::get_post_field_images()
790
+	 *
791
+	 * @since 1.17
792
+	 *
793
+	 * @param string $template The content template for the field
794
+	 * @param array $form Gravity Forms form
795
+	 * @param bool $do_shortcode Whether to process shortcode inside content. In GF, only run on Custom Field and Post Content fields
796
+	 *
797
+	 * @return string
798
+	 */
799
+	private function fill_post_template( $template, $form, $entry, $do_shortcode = false ) {
800 800
 
801
-        require_once GRAVITYVIEW_DIR . 'includes/class-gravityview-gfformsmodel.php';
801
+		require_once GRAVITYVIEW_DIR . 'includes/class-gravityview-gfformsmodel.php';
802 802
 
803
-        $post_images = GravityView_GFFormsModel::get_post_field_images( $form, $entry );
803
+		$post_images = GravityView_GFFormsModel::get_post_field_images( $form, $entry );
804 804
 
805
-        //replacing post image variables
806
-        $output = GFCommon::replace_variables_post_image( $template, $post_images, $entry );
805
+		//replacing post image variables
806
+		$output = GFCommon::replace_variables_post_image( $template, $post_images, $entry );
807 807
 
808
-        //replacing all other variables
809
-        $output = GFCommon::replace_variables( $output, $form, $entry, false, false, false );
808
+		//replacing all other variables
809
+		$output = GFCommon::replace_variables( $output, $form, $entry, false, false, false );
810 810
 
811
-        // replace conditional shortcodes
812
-        if( $do_shortcode ) {
813
-            $output = do_shortcode( $output );
814
-        }
811
+		// replace conditional shortcodes
812
+		if( $do_shortcode ) {
813
+			$output = do_shortcode( $output );
814
+		}
815 815
 
816
-        return $output;
817
-    }
816
+		return $output;
817
+	}
818 818
 
819 819
 
820
-    /**
821
-     * Perform actions normally performed after updating a lead
822
-     *
823
-     * @since 1.8
824
-     *
825
-     * @see GFEntryDetail::lead_detail_page()
826
-     *
827
-     * @return void
828
-     */
829
-    private function after_update() {
820
+	/**
821
+	 * Perform actions normally performed after updating a lead
822
+	 *
823
+	 * @since 1.8
824
+	 *
825
+	 * @see GFEntryDetail::lead_detail_page()
826
+	 *
827
+	 * @return void
828
+	 */
829
+	private function after_update() {
830 830
 
831
-        do_action( 'gform_after_update_entry', $this->form, $this->entry['id'], self::$original_entry );
832
-        do_action( "gform_after_update_entry_{$this->form['id']}", $this->form, $this->entry['id'], self::$original_entry );
831
+		do_action( 'gform_after_update_entry', $this->form, $this->entry['id'], self::$original_entry );
832
+		do_action( "gform_after_update_entry_{$this->form['id']}", $this->form, $this->entry['id'], self::$original_entry );
833 833
 
834
-        // Re-define the entry now that we've updated it.
835
-        $entry = RGFormsModel::get_lead( $this->entry['id'] );
834
+		// Re-define the entry now that we've updated it.
835
+		$entry = RGFormsModel::get_lead( $this->entry['id'] );
836 836
 
837
-        $entry = GFFormsModel::set_entry_meta( $entry, $this->form );
837
+		$entry = GFFormsModel::set_entry_meta( $entry, $this->form );
838 838
 
839 839
 		if ( ! method_exists( 'GFFormsModel', 'get_entry_meta_table_name' ) ) {
840 840
 			// We need to clear the cache because Gravity Forms caches the field values, which
@@ -844,41 +844,41 @@  discard block
 block discarded – undo
844 844
 			}
845 845
 		}
846 846
 
847
-        $this->entry = $entry;
848
-    }
847
+		$this->entry = $entry;
848
+	}
849 849
 
850 850
 
851
-    /**
852
-     * Display the Edit Entry form
853
-     *
854
-     * @return void
855
-     */
856
-    public function edit_entry_form() {
851
+	/**
852
+	 * Display the Edit Entry form
853
+	 *
854
+	 * @return void
855
+	 */
856
+	public function edit_entry_form() {
857 857
 
858
-        ?>
858
+		?>
859 859
 
860 860
         <div class="gv-edit-entry-wrapper"><?php
861 861
 
862
-            $javascript = gravityview_ob_include( GravityView_Edit_Entry::$file .'/partials/inline-javascript.php', $this );
862
+			$javascript = gravityview_ob_include( GravityView_Edit_Entry::$file .'/partials/inline-javascript.php', $this );
863 863
 
864
-            /**
865
-             * Fixes weird wpautop() issue
866
-             * @see https://github.com/katzwebservices/GravityView/issues/451
867
-             */
868
-            echo gravityview_strip_whitespace( $javascript );
864
+			/**
865
+			 * Fixes weird wpautop() issue
866
+			 * @see https://github.com/katzwebservices/GravityView/issues/451
867
+			 */
868
+			echo gravityview_strip_whitespace( $javascript );
869 869
 
870
-            ?><h2 class="gv-edit-entry-title">
870
+			?><h2 class="gv-edit-entry-title">
871 871
                 <span><?php
872 872
 
873
-                    /**
874
-                     * @filter `gravityview_edit_entry_title` Modify the edit entry title
875
-                     * @param string $edit_entry_title Modify the "Edit Entry" title
876
-                     * @param GravityView_Edit_Entry_Render $this This object
877
-                     */
878
-                    $edit_entry_title = apply_filters('gravityview_edit_entry_title', __('Edit Entry', 'gravityview'), $this );
873
+					/**
874
+					 * @filter `gravityview_edit_entry_title` Modify the edit entry title
875
+					 * @param string $edit_entry_title Modify the "Edit Entry" title
876
+					 * @param GravityView_Edit_Entry_Render $this This object
877
+					 */
878
+					$edit_entry_title = apply_filters('gravityview_edit_entry_title', __('Edit Entry', 'gravityview'), $this );
879 879
 
880
-                    echo esc_attr( $edit_entry_title );
881
-            ?></span>
880
+					echo esc_attr( $edit_entry_title );
881
+			?></span>
882 882
             </h2>
883 883
 
884 884
             <?php $this->maybe_print_message(); ?>
@@ -889,14 +889,14 @@  discard block
 block discarded – undo
889 889
 
890 890
                 <?php
891 891
 
892
-                wp_nonce_field( self::$nonce_key, self::$nonce_key );
892
+				wp_nonce_field( self::$nonce_key, self::$nonce_key );
893 893
 
894
-                wp_nonce_field( self::$nonce_field, self::$nonce_field, false );
894
+				wp_nonce_field( self::$nonce_field, self::$nonce_field, false );
895 895
 
896
-                // Print the actual form HTML
897
-                $this->render_edit_form();
896
+				// Print the actual form HTML
897
+				$this->render_edit_form();
898 898
 
899
-                ?>
899
+				?>
900 900
             </form>
901 901
 
902 902
             <script>
@@ -908,643 +908,643 @@  discard block
 block discarded – undo
908 908
         </div>
909 909
 
910 910
     <?php
911
-    }
912
-
913
-    /**
914
-     * Display success or error message if the form has been submitted
915
-     *
916
-     * @uses GVCommon::generate_notice
917
-     *
918
-     * @since 1.16.2.2
919
-     *
920
-     * @return void
921
-     */
922
-    private function maybe_print_message() {
923
-
924
-        if( rgpost('action') === 'update' ) {
925
-
926
-            $back_link = esc_url( remove_query_arg( array( 'page', 'view', 'edit' ) ) );
927
-
928
-            if( ! $this->is_valid ){
929
-
930
-                // Keeping this compatible with Gravity Forms.
931
-                $validation_message = "<div class='validation_error'>" . __('There was a problem with your submission.', 'gravityview') . " " . __('Errors have been highlighted below.', 'gravityview') . "</div>";
932
-                $message = apply_filters("gform_validation_message_{$this->form['id']}", apply_filters("gform_validation_message", $validation_message, $this->form), $this->form);
933
-
934
-                echo GVCommon::generate_notice( $message , 'gv-error' );
935
-
936
-            } else {
937
-                $entry_updated_message = sprintf( esc_attr__('Entry Updated. %sReturn to Entry%s', 'gravityview'), '<a href="'. $back_link .'">', '</a>' );
938
-
939
-                /**
940
-                 * @filter `gravityview/edit_entry/success` Modify the edit entry success message (including the anchor link)
941
-                 * @since 1.5.4
942
-                 * @param string $entry_updated_message Existing message
943
-                 * @param int $view_id View ID
944
-                 * @param array $entry Gravity Forms entry array
945
-                 * @param string $back_link URL to return to the original entry. @since 1.6
946
-                 */
947
-                $message = apply_filters( 'gravityview/edit_entry/success', $entry_updated_message , $this->view_id, $this->entry, $back_link );
948
-
949
-                echo GVCommon::generate_notice( $message );
950
-            }
951
-
952
-        }
953
-    }
954
-
955
-    /**
956
-     * Display the Edit Entry form in the original Gravity Forms format
957
-     *
958
-     * @since 1.9
959
-     *
960
-     * @return void
961
-     */
962
-    private function render_edit_form() {
963
-
964
-        /**
965
-         * @action `gravityview/edit-entry/render/before` Before rendering the Edit Entry form
966
-         * @since 1.17
967
-         * @param GravityView_Edit_Entry_Render $this
968
-         */
969
-        do_action( 'gravityview/edit-entry/render/before', $this );
970
-
971
-        add_filter( 'gform_pre_render', array( $this, 'filter_modify_form_fields'), 5000, 3 );
972
-        add_filter( 'gform_submit_button', array( $this, 'render_form_buttons') );
973
-        add_filter( 'gform_disable_view_counter', '__return_true' );
974
-
975
-        add_filter( 'gform_field_input', array( $this, 'verify_user_can_edit_post' ), 5, 5 );
976
-        add_filter( 'gform_field_input', array( $this, 'modify_edit_field_input' ), 10, 5 );
977
-
978
-        // We need to remove the fake $_GET['page'] arg to avoid rendering form as if in admin.
979
-        unset( $_GET['page'] );
980
-
981
-        // TODO: Verify multiple-page forms
982
-
983
-        ob_start(); // Prevent PHP warnings possibly caused by prefilling list fields for conditional logic
984
-
985
-        $html = GFFormDisplay::get_form( $this->form['id'], false, false, true, $this->entry );
986
-
987
-        ob_get_clean();
988
-
989
-	    remove_filter( 'gform_pre_render', array( $this, 'filter_modify_form_fields' ), 5000 );
990
-        remove_filter( 'gform_submit_button', array( $this, 'render_form_buttons' ) );
991
-        remove_filter( 'gform_disable_view_counter', '__return_true' );
992
-        remove_filter( 'gform_field_input', array( $this, 'verify_user_can_edit_post' ), 5 );
993
-        remove_filter( 'gform_field_input', array( $this, 'modify_edit_field_input' ), 10 );
994
-
995
-        echo $html;
996
-
997
-        /**
998
-         * @action `gravityview/edit-entry/render/after` After rendering the Edit Entry form
999
-         * @since 1.17
1000
-         * @param GravityView_Edit_Entry_Render $this
1001
-         */
1002
-        do_action( 'gravityview/edit-entry/render/after', $this );
1003
-    }
1004
-
1005
-    /**
1006
-     * Display the Update/Cancel/Delete buttons for the Edit Entry form
1007
-     * @since 1.8
1008
-     * @return string
1009
-     */
1010
-    public function render_form_buttons() {
1011
-        return gravityview_ob_include( GravityView_Edit_Entry::$file .'/partials/form-buttons.php', $this );
1012
-    }
1013
-
1014
-
1015
-    /**
1016
-     * Modify the form fields that are shown when using GFFormDisplay::get_form()
1017
-     *
1018
-     * By default, all fields will be shown. We only want the Edit Tab configured fields to be shown.
1019
-     *
1020
-     * @param array $form
1021
-     * @param boolean $ajax Whether in AJAX mode
1022
-     * @param array|string $field_values Passed parameters to the form
1023
-     *
1024
-     * @since 1.9
1025
-     *
1026
-     * @return array Modified form array
1027
-     */
1028
-    public function filter_modify_form_fields( $form, $ajax = false, $field_values = '' ) {
1029
-
1030
-        // In case we have validated the form, use it to inject the validation results into the form render
1031
-        if( isset( $this->form_after_validation ) ) {
1032
-            $form = $this->form_after_validation;
1033
-        } else {
1034
-            $form['fields'] = $this->get_configured_edit_fields( $form, $this->view_id );
1035
-        }
1036
-
1037
-        $form = $this->filter_conditional_logic( $form );
1038
-
1039
-        $form = $this->prefill_conditional_logic( $form );
1040
-
1041
-        // for now we don't support Save and Continue feature.
1042
-        if( ! self::$supports_save_and_continue ) {
1043
-	        unset( $form['save'] );
1044
-        }
1045
-
1046
-        return $form;
1047
-    }
1048
-
1049
-    /**
1050
-     * When displaying a field, check if it's a Post Field, and if so, make sure the post exists and current user has edit rights.
1051
-     *
1052
-     * @since 1.16.2.2
1053
-     *
1054
-     * @param string $field_content Always empty. Returning not-empty overrides the input.
1055
-     * @param GF_Field $field
1056
-     * @param string|array $value If array, it's a field with multiple inputs. If string, single input.
1057
-     * @param int $lead_id Lead ID. Always 0 for the `gform_field_input` filter.
1058
-     * @param int $form_id Form ID
1059
-     *
1060
-     * @return string If error, the error message. If no error, blank string (modify_edit_field_input() runs next)
1061
-     */
1062
-    public function verify_user_can_edit_post( $field_content = '', $field, $value, $lead_id = 0, $form_id ) {
1063
-
1064
-        if( GFCommon::is_post_field( $field ) ) {
1065
-
1066
-            $message = null;
1067
-
1068
-            // First, make sure they have the capability to edit the post.
1069
-            if( false === current_user_can( 'edit_post', $this->entry['post_id'] ) ) {
1070
-
1071
-                /**
1072
-                 * @filter `gravityview/edit_entry/unsupported_post_field_text` Modify the message when someone isn't able to edit a post
1073
-                 * @param string $message The existing "You don't have permission..." text
1074
-                 */
1075
-                $message = apply_filters('gravityview/edit_entry/unsupported_post_field_text', __('You don&rsquo;t have permission to edit this post.', 'gravityview') );
1076
-
1077
-            } elseif( null === get_post( $this->entry['post_id'] ) ) {
1078
-                /**
1079
-                 * @filter `gravityview/edit_entry/no_post_text` Modify the message when someone is editing an entry attached to a post that no longer exists
1080
-                 * @param string $message The existing "This field is not editable; the post no longer exists." text
1081
-                 */
1082
-                $message = apply_filters('gravityview/edit_entry/no_post_text', __('This field is not editable; the post no longer exists.', 'gravityview' ) );
1083
-            }
1084
-
1085
-            if( $message ) {
1086
-                $field_content = sprintf('<div class="ginput_container ginput_container_' . $field->type . '">%s</div>', wpautop( $message ) );
1087
-            }
1088
-        }
1089
-
1090
-        return $field_content;
1091
-    }
1092
-
1093
-    /**
1094
-     *
1095
-     * Fill-in the saved values into the form inputs
1096
-     *
1097
-     * @param string $field_content Always empty. Returning not-empty overrides the input.
1098
-     * @param GF_Field $field
1099
-     * @param string|array $value If array, it's a field with multiple inputs. If string, single input.
1100
-     * @param int $lead_id Lead ID. Always 0 for the `gform_field_input` filter.
1101
-     * @param int $form_id Form ID
1102
-     *
1103
-     * @return mixed
1104
-     */
1105
-    public function modify_edit_field_input( $field_content = '', $field, $value, $lead_id = 0, $form_id ) {
1106
-
1107
-        $gv_field = GravityView_Fields::get_associated_field( $field );
1108
-
1109
-        // If the form has been submitted, then we don't need to pre-fill the values,
1110
-        // Except for fileupload type and when a field input is overridden- run always!!
1111
-        if(
1112
-            ( $this->is_edit_entry_submission() && !in_array( $field->type, array( 'fileupload', 'post_image' ) ) )
1113
-            && false === ( $gv_field && is_callable( array( $gv_field, 'get_field_input' ) ) )
1114
-            && ! GFCommon::is_product_field( $field->type )
1115
-            || ! empty( $field_content )
1116
-            || in_array( $field->type, array( 'honeypot' ) )
1117
-        ) {
1118
-	        return $field_content;
1119
-        }
1120
-
1121
-        // SET SOME FIELD DEFAULTS TO PREVENT ISSUES
1122
-        $field->adminOnly = false; /** @see GFFormDisplay::get_counter_init_script() need to prevent adminOnly */
1123
-
1124
-        $field_value = $this->get_field_value( $field );
1125
-
1126
-	    // Prevent any PHP warnings, like undefined index
1127
-	    ob_start();
1128
-
1129
-	    $return = null;
1130
-
1131
-        /** @var GravityView_Field $gv_field */
1132
-        if( $gv_field && is_callable( array( $gv_field, 'get_field_input' ) ) ) {
1133
-            $return = $gv_field->get_field_input( $this->form, $field_value, $this->entry, $field );
1134
-        } else {
1135
-	        $return = $field->get_field_input( $this->form, $field_value, $this->entry );
1136
-	    }
1137
-
1138
-	    // If there was output, it's an error
1139
-	    $warnings = ob_get_clean();
1140
-
1141
-	    if( !empty( $warnings ) ) {
1142
-		    do_action( 'gravityview_log_error', __METHOD__ . $warnings, $field_value );
1143
-	    }
1144
-
1145
-        return $return;
1146
-    }
1147
-
1148
-    /**
1149
-     * Modify the value for the current field input
1150
-     *
1151
-     * @param GF_Field $field
1152
-     *
1153
-     * @return array|mixed|string
1154
-     */
1155
-    private function get_field_value( $field ) {
1156
-
1157
-        /**
1158
-         * @filter `gravityview/edit_entry/pre_populate/override` Allow the pre-populated value to override saved value in Edit Entry form. By default, pre-populate mechanism only kicks on empty fields.
1159
-         * @param boolean True: override saved values; False: don't override (default)
1160
-         * @param $field GF_Field object Gravity Forms field object
1161
-         * @since 1.13
1162
-         */
1163
-        $override_saved_value = apply_filters( 'gravityview/edit_entry/pre_populate/override', false, $field );
1164
-
1165
-        // We're dealing with multiple inputs (e.g. checkbox) but not time or date (as it doesn't store data in input IDs)
1166
-        if( isset( $field->inputs ) && is_array( $field->inputs ) && !in_array( $field->type, array( 'time', 'date' ) ) ) {
1167
-
1168
-            $field_value = array();
1169
-
1170
-            // only accept pre-populated values if the field doesn't have any choice selected.
1171
-            $allow_pre_populated = $field->allowsPrepopulate;
1172
-
1173
-            foreach ( (array)$field->inputs as $input ) {
1174
-
1175
-                $input_id = strval( $input['id'] );
1176
-                
1177
-                if ( isset( $this->entry[ $input_id ] ) && ! gv_empty( $this->entry[ $input_id ], false, false ) ) {
1178
-                    $field_value[ $input_id ] =  'post_category' === $field->type ? GFCommon::format_post_category( $this->entry[ $input_id ], true ) : $this->entry[ $input_id ];
1179
-                    $allow_pre_populated = false;
1180
-                }
1181
-
1182
-            }
1183
-
1184
-            $pre_value = $field->get_value_submission( array(), false );
1185
-
1186
-            $field_value = ! $allow_pre_populated && ! ( $override_saved_value && !gv_empty( $pre_value, false, false ) ) ? $field_value : $pre_value;
1187
-
1188
-        } else {
1189
-
1190
-            $id = intval( $field->id );
911
+	}
1191 912
 
1192
-            // get pre-populated value if exists
1193
-            $pre_value = $field->allowsPrepopulate ? GFFormsModel::get_parameter_value( $field->inputName, array(), $field ) : '';
1194
-
1195
-            // saved field entry value (if empty, fallback to the pre-populated value, if exists)
1196
-            // or pre-populated value if not empty and set to override saved value
1197
-            $field_value = !gv_empty( $this->entry[ $id ], false, false ) && ! ( $override_saved_value && !gv_empty( $pre_value, false, false ) ) ? $this->entry[ $id ] : $pre_value;
913
+	/**
914
+	 * Display success or error message if the form has been submitted
915
+	 *
916
+	 * @uses GVCommon::generate_notice
917
+	 *
918
+	 * @since 1.16.2.2
919
+	 *
920
+	 * @return void
921
+	 */
922
+	private function maybe_print_message() {
1198 923
 
1199
-            // in case field is post_category but inputType is select, multi-select or radio, convert value into array of category IDs.
1200
-            if ( 'post_category' === $field->type && !gv_empty( $field_value, false, false ) ) {
1201
-                $categories = array();
1202
-                foreach ( explode( ',', $field_value ) as $cat_string ) {
1203
-                    $categories[] = GFCommon::format_post_category( $cat_string, true );
1204
-                }
1205
-                $field_value = 'multiselect' === $field->get_input_type() ? $categories : implode( '', $categories );
1206
-            }
924
+		if( rgpost('action') === 'update' ) {
1207 925
 
1208
-        }
926
+			$back_link = esc_url( remove_query_arg( array( 'page', 'view', 'edit' ) ) );
1209 927
 
1210
-        // if value is empty get the default value if defined
1211
-        $field_value = $field->get_value_default_if_empty( $field_value );
1212
-
1213
-	    /**
1214
-	     * @filter `gravityview/edit_entry/field_value` Change the value of an Edit Entry field, if needed
1215
-	     * @since 1.11
1216
-	     * @since 1.20 Added third param
1217
-	     * @param mixed $field_value field value used to populate the input
1218
-	     * @param object $field Gravity Forms field object ( Class GF_Field )
1219
-	     * @param GravityView_Edit_Entry_Render $this Current object
1220
-	     */
1221
-	    $field_value = apply_filters( 'gravityview/edit_entry/field_value', $field_value, $field, $this );
928
+			if( ! $this->is_valid ){
1222 929
 
1223
-	    /**
1224
-	     * @filter `gravityview/edit_entry/field_value_{field_type}` Change the value of an Edit Entry field for a specific field type
1225
-	     * @since 1.17
1226
-	     * @since 1.20 Added third param
1227
-	     * @param mixed $field_value field value used to populate the input
1228
-	     * @param GF_Field $field Gravity Forms field object
1229
-	     * @param GravityView_Edit_Entry_Render $this Current object
1230
-	     */
1231
-	    $field_value = apply_filters( 'gravityview/edit_entry/field_value_' . $field->type , $field_value, $field, $this );
930
+				// Keeping this compatible with Gravity Forms.
931
+				$validation_message = "<div class='validation_error'>" . __('There was a problem with your submission.', 'gravityview') . " " . __('Errors have been highlighted below.', 'gravityview') . "</div>";
932
+				$message = apply_filters("gform_validation_message_{$this->form['id']}", apply_filters("gform_validation_message", $validation_message, $this->form), $this->form);
1232 933
 
1233
-        return $field_value;
1234
-    }
934
+				echo GVCommon::generate_notice( $message , 'gv-error' );
1235 935
 
936
+			} else {
937
+				$entry_updated_message = sprintf( esc_attr__('Entry Updated. %sReturn to Entry%s', 'gravityview'), '<a href="'. $back_link .'">', '</a>' );
1236 938
 
1237
-    // ---- Entry validation
939
+				/**
940
+				 * @filter `gravityview/edit_entry/success` Modify the edit entry success message (including the anchor link)
941
+				 * @since 1.5.4
942
+				 * @param string $entry_updated_message Existing message
943
+				 * @param int $view_id View ID
944
+				 * @param array $entry Gravity Forms entry array
945
+				 * @param string $back_link URL to return to the original entry. @since 1.6
946
+				 */
947
+				$message = apply_filters( 'gravityview/edit_entry/success', $entry_updated_message , $this->view_id, $this->entry, $back_link );
1238 948
 
1239
-    /**
1240
-     * Add field keys that Gravity Forms expects.
1241
-     *
1242
-     * @see GFFormDisplay::validate()
1243
-     * @param  array $form GF Form
1244
-     * @return array       Modified GF Form
1245
-     */
1246
-    public function gform_pre_validation( $form ) {
949
+				echo GVCommon::generate_notice( $message );
950
+			}
1247 951
 
1248
-        if( ! $this->verify_nonce() ) {
1249
-            return $form;
1250
-        }
1251
-
1252
-        // Fix PHP warning regarding undefined index.
1253
-        foreach ( $form['fields'] as &$field) {
1254
-
1255
-            // This is because we're doing admin form pretending to be front-end, so Gravity Forms
1256
-            // expects certain field array items to be set.
1257
-            foreach ( array( 'noDuplicates', 'adminOnly', 'inputType', 'isRequired', 'enablePrice', 'inputs', 'allowedExtensions' ) as $key ) {
1258
-	            $field->{$key} = isset( $field->{$key} ) ? $field->{$key} : NULL;
1259
-            }
1260
-
1261
-            switch( RGFormsModel::get_input_type( $field ) ) {
1262
-
1263
-                /**
1264
-                 * this whole fileupload hack is because in the admin, Gravity Forms simply doesn't update any fileupload field if it's empty, but it DOES in the frontend.
1265
-                 *
1266
-                 * What we have to do is set the value so that it doesn't get overwritten as empty on save and appears immediately in the Edit Entry screen again.
1267
-                 *
1268
-                 * @hack
1269
-                 */
1270
-                case 'fileupload':
1271
-
1272
-                    // Set the previous value
1273
-                    $entry = $this->get_entry();
1274
-
1275
-                    $input_name = 'input_'.$field->id;
1276
-                    $form_id = $form['id'];
1277
-
1278
-                    $value = NULL;
952
+		}
953
+	}
1279 954
 
1280
-                    // Use the previous entry value as the default.
1281
-                    if( isset( $entry[ $field->id ] ) ) {
1282
-                        $value = $entry[ $field->id ];
1283
-                    }
1284
-
1285
-                    // If this is a single upload file
1286
-                    if( !empty( $_FILES[ $input_name ] ) && !empty( $_FILES[ $input_name ]['name'] ) ) {
1287
-                        $file_path = GFFormsModel::get_file_upload_path( $form['id'], $_FILES[ $input_name ]['name'] );
1288
-                        $value = $file_path['url'];
1289
-
1290
-                    } else {
1291
-
1292
-                        // Fix PHP warning on line 1498 of form_display.php for post_image fields
1293
-                        // Fix PHP Notice:  Undefined index:  size in form_display.php on line 1511
1294
-                        $_FILES[ $input_name ] = array('name' => '', 'size' => '' );
1295
-
1296
-                    }
1297
-
1298
-                    if( rgar($field, "multipleFiles") ) {
1299
-
1300
-                        // If there are fresh uploads, process and merge them.
1301
-                        // Otherwise, use the passed values, which should be json-encoded array of URLs
1302
-                        if( isset( GFFormsModel::$uploaded_files[$form_id][$input_name] ) ) {
1303
-                            $value = empty( $value ) ? '[]' : $value;
1304
-                            $value = stripslashes_deep( $value );
1305
-                            $value = GFFormsModel::prepare_value( $form, $field, $value, $input_name, $entry['id'], array());
1306
-                        }
955
+	/**
956
+	 * Display the Edit Entry form in the original Gravity Forms format
957
+	 *
958
+	 * @since 1.9
959
+	 *
960
+	 * @return void
961
+	 */
962
+	private function render_edit_form() {
1307 963
 
1308
-                    } else {
964
+		/**
965
+		 * @action `gravityview/edit-entry/render/before` Before rendering the Edit Entry form
966
+		 * @since 1.17
967
+		 * @param GravityView_Edit_Entry_Render $this
968
+		 */
969
+		do_action( 'gravityview/edit-entry/render/before', $this );
1309 970
 
1310
-                        // A file already exists when editing an entry
1311
-                        // We set this to solve issue when file upload fields are required.
1312
-                        GFFormsModel::$uploaded_files[ $form_id ][ $input_name ] = $value;
1313
-
1314
-                    }
1315
-
1316
-                    $this->entry[ $input_name ] = $value;
1317
-                    $_POST[ $input_name ] = $value;
971
+		add_filter( 'gform_pre_render', array( $this, 'filter_modify_form_fields'), 5000, 3 );
972
+		add_filter( 'gform_submit_button', array( $this, 'render_form_buttons') );
973
+		add_filter( 'gform_disable_view_counter', '__return_true' );
1318 974
 
1319
-                    break;
975
+		add_filter( 'gform_field_input', array( $this, 'verify_user_can_edit_post' ), 5, 5 );
976
+		add_filter( 'gform_field_input', array( $this, 'modify_edit_field_input' ), 10, 5 );
1320 977
 
1321
-                case 'number':
1322
-                    // Fix "undefined index" issue at line 1286 in form_display.php
1323
-                    if( !isset( $_POST['input_'.$field->id ] ) ) {
1324
-                        $_POST['input_'.$field->id ] = NULL;
1325
-                    }
1326
-                    break;
1327
-            }
978
+		// We need to remove the fake $_GET['page'] arg to avoid rendering form as if in admin.
979
+		unset( $_GET['page'] );
1328 980
 
1329
-        }
981
+		// TODO: Verify multiple-page forms
1330 982
 
1331
-        return $form;
1332
-    }
983
+		ob_start(); // Prevent PHP warnings possibly caused by prefilling list fields for conditional logic
1333 984
 
985
+		$html = GFFormDisplay::get_form( $this->form['id'], false, false, true, $this->entry );
1334 986
 
1335
-    /**
1336
-     * Process validation for a edit entry submission
1337
-     *
1338
-     * Sets the `is_valid` object var
1339
-     *
1340
-     * @return void
1341
-     */
1342
-    private function validate() {
987
+		ob_get_clean();
1343 988
 
1344
-        /**
1345
-         * If using GF User Registration Add-on, remove the validation step, otherwise generates error when updating the entry
1346
-         * GF User Registration Add-on version > 3.x has a different class name
1347
-         * @since 1.16.2
1348
-         */
1349
-        if ( class_exists( 'GF_User_Registration' ) ) {
1350
-            remove_filter( 'gform_validation', array( GF_User_Registration::get_instance(), 'validate' ) );
1351
-        } else  if ( class_exists( 'GFUser' ) ) {
1352
-            remove_filter( 'gform_validation', array( 'GFUser', 'user_registration_validation' ) );
1353
-        }
989
+		remove_filter( 'gform_pre_render', array( $this, 'filter_modify_form_fields' ), 5000 );
990
+		remove_filter( 'gform_submit_button', array( $this, 'render_form_buttons' ) );
991
+		remove_filter( 'gform_disable_view_counter', '__return_true' );
992
+		remove_filter( 'gform_field_input', array( $this, 'verify_user_can_edit_post' ), 5 );
993
+		remove_filter( 'gform_field_input', array( $this, 'modify_edit_field_input' ), 10 );
1354 994
 
995
+		echo $html;
1355 996
 
1356
-        /**
1357
-         * For some crazy reason, Gravity Forms doesn't validate Edit Entry form submissions.
1358
-         * You can enter whatever you want!
1359
-         * We try validating, and customize the results using `self::custom_validation()`
1360
-         */
1361
-        add_filter( 'gform_validation_'. $this->form_id, array( $this, 'custom_validation' ), 10, 4);
997
+		/**
998
+		 * @action `gravityview/edit-entry/render/after` After rendering the Edit Entry form
999
+		 * @since 1.17
1000
+		 * @param GravityView_Edit_Entry_Render $this
1001
+		 */
1002
+		do_action( 'gravityview/edit-entry/render/after', $this );
1003
+	}
1362 1004
 
1363
-        // Needed by the validate funtion
1364
-        $failed_validation_page = NULL;
1365
-        $field_values = RGForms::post( 'gform_field_values' );
1005
+	/**
1006
+	 * Display the Update/Cancel/Delete buttons for the Edit Entry form
1007
+	 * @since 1.8
1008
+	 * @return string
1009
+	 */
1010
+	public function render_form_buttons() {
1011
+		return gravityview_ob_include( GravityView_Edit_Entry::$file .'/partials/form-buttons.php', $this );
1012
+	}
1366 1013
 
1367
-        // Prevent entry limit from running when editing an entry, also
1368
-        // prevent form scheduling from preventing editing
1369
-        unset( $this->form['limitEntries'], $this->form['scheduleForm'] );
1370 1014
 
1371
-        // Hide fields depending on Edit Entry settings
1372
-        $this->form['fields'] = $this->get_configured_edit_fields( $this->form, $this->view_id );
1015
+	/**
1016
+	 * Modify the form fields that are shown when using GFFormDisplay::get_form()
1017
+	 *
1018
+	 * By default, all fields will be shown. We only want the Edit Tab configured fields to be shown.
1019
+	 *
1020
+	 * @param array $form
1021
+	 * @param boolean $ajax Whether in AJAX mode
1022
+	 * @param array|string $field_values Passed parameters to the form
1023
+	 *
1024
+	 * @since 1.9
1025
+	 *
1026
+	 * @return array Modified form array
1027
+	 */
1028
+	public function filter_modify_form_fields( $form, $ajax = false, $field_values = '' ) {
1373 1029
 
1374
-        $this->is_valid = GFFormDisplay::validate( $this->form, $field_values, 1, $failed_validation_page );
1030
+		// In case we have validated the form, use it to inject the validation results into the form render
1031
+		if( isset( $this->form_after_validation ) ) {
1032
+			$form = $this->form_after_validation;
1033
+		} else {
1034
+			$form['fields'] = $this->get_configured_edit_fields( $form, $this->view_id );
1035
+		}
1375 1036
 
1376
-        remove_filter( 'gform_validation_'. $this->form_id, array( $this, 'custom_validation' ), 10 );
1377
-    }
1037
+		$form = $this->filter_conditional_logic( $form );
1378 1038
 
1039
+		$form = $this->prefill_conditional_logic( $form );
1379 1040
 
1380
-    /**
1381
-     * Make validation work for Edit Entry
1382
-     *
1383
-     * Because we're calling the GFFormDisplay::validate() in an unusual way (as a front-end
1384
-     * form pretending to be a back-end form), validate() doesn't know we _can't_ edit post
1385
-     * fields. This goes through all the fields and if they're an invalid post field, we
1386
-     * set them as valid. If there are still issues, we'll return false.
1387
-     *
1388
-     * @param  [type] $validation_results [description]
1389
-     * @return [type]                     [description]
1390
-     */
1391
-    public function custom_validation( $validation_results ) {
1041
+		// for now we don't support Save and Continue feature.
1042
+		if( ! self::$supports_save_and_continue ) {
1043
+			unset( $form['save'] );
1044
+		}
1392 1045
 
1393
-        do_action('gravityview_log_debug', 'GravityView_Edit_Entry[custom_validation] Validation results: ', $validation_results );
1046
+		return $form;
1047
+	}
1394 1048
 
1395
-        do_action('gravityview_log_debug', 'GravityView_Edit_Entry[custom_validation] $_POSTed data (sanitized): ', esc_html( print_r( $_POST, true ) ) );
1049
+	/**
1050
+	 * When displaying a field, check if it's a Post Field, and if so, make sure the post exists and current user has edit rights.
1051
+	 *
1052
+	 * @since 1.16.2.2
1053
+	 *
1054
+	 * @param string $field_content Always empty. Returning not-empty overrides the input.
1055
+	 * @param GF_Field $field
1056
+	 * @param string|array $value If array, it's a field with multiple inputs. If string, single input.
1057
+	 * @param int $lead_id Lead ID. Always 0 for the `gform_field_input` filter.
1058
+	 * @param int $form_id Form ID
1059
+	 *
1060
+	 * @return string If error, the error message. If no error, blank string (modify_edit_field_input() runs next)
1061
+	 */
1062
+	public function verify_user_can_edit_post( $field_content = '', $field, $value, $lead_id = 0, $form_id ) {
1396 1063
 
1397
-        $gv_valid = true;
1064
+		if( GFCommon::is_post_field( $field ) ) {
1398 1065
 
1399
-        foreach ( $validation_results['form']['fields'] as $key => &$field ) {
1066
+			$message = null;
1400 1067
 
1401
-            $value = RGFormsModel::get_field_value( $field );
1402
-            $field_type = RGFormsModel::get_input_type( $field );
1068
+			// First, make sure they have the capability to edit the post.
1069
+			if( false === current_user_can( 'edit_post', $this->entry['post_id'] ) ) {
1403 1070
 
1404
-            // Validate always
1405
-            switch ( $field_type ) {
1071
+				/**
1072
+				 * @filter `gravityview/edit_entry/unsupported_post_field_text` Modify the message when someone isn't able to edit a post
1073
+				 * @param string $message The existing "You don't have permission..." text
1074
+				 */
1075
+				$message = apply_filters('gravityview/edit_entry/unsupported_post_field_text', __('You don&rsquo;t have permission to edit this post.', 'gravityview') );
1406 1076
 
1077
+			} elseif( null === get_post( $this->entry['post_id'] ) ) {
1078
+				/**
1079
+				 * @filter `gravityview/edit_entry/no_post_text` Modify the message when someone is editing an entry attached to a post that no longer exists
1080
+				 * @param string $message The existing "This field is not editable; the post no longer exists." text
1081
+				 */
1082
+				$message = apply_filters('gravityview/edit_entry/no_post_text', __('This field is not editable; the post no longer exists.', 'gravityview' ) );
1083
+			}
1407 1084
 
1408
-                case 'fileupload' :
1409
-                case 'post_image':
1085
+			if( $message ) {
1086
+				$field_content = sprintf('<div class="ginput_container ginput_container_' . $field->type . '">%s</div>', wpautop( $message ) );
1087
+			}
1088
+		}
1410 1089
 
1411
-                    // in case nothing is uploaded but there are already files saved
1412
-                    if( !empty( $field->failed_validation ) && !empty( $field->isRequired ) && !empty( $value ) ) {
1413
-                        $field->failed_validation = false;
1414
-                        unset( $field->validation_message );
1415
-                    }
1090
+		return $field_content;
1091
+	}
1416 1092
 
1417
-                    // validate if multi file upload reached max number of files [maxFiles] => 2
1418
-                    if( rgobj( $field, 'maxFiles') && rgobj( $field, 'multipleFiles') ) {
1093
+	/**
1094
+	 *
1095
+	 * Fill-in the saved values into the form inputs
1096
+	 *
1097
+	 * @param string $field_content Always empty. Returning not-empty overrides the input.
1098
+	 * @param GF_Field $field
1099
+	 * @param string|array $value If array, it's a field with multiple inputs. If string, single input.
1100
+	 * @param int $lead_id Lead ID. Always 0 for the `gform_field_input` filter.
1101
+	 * @param int $form_id Form ID
1102
+	 *
1103
+	 * @return mixed
1104
+	 */
1105
+	public function modify_edit_field_input( $field_content = '', $field, $value, $lead_id = 0, $form_id ) {
1106
+
1107
+		$gv_field = GravityView_Fields::get_associated_field( $field );
1108
+
1109
+		// If the form has been submitted, then we don't need to pre-fill the values,
1110
+		// Except for fileupload type and when a field input is overridden- run always!!
1111
+		if(
1112
+			( $this->is_edit_entry_submission() && !in_array( $field->type, array( 'fileupload', 'post_image' ) ) )
1113
+			&& false === ( $gv_field && is_callable( array( $gv_field, 'get_field_input' ) ) )
1114
+			&& ! GFCommon::is_product_field( $field->type )
1115
+			|| ! empty( $field_content )
1116
+			|| in_array( $field->type, array( 'honeypot' ) )
1117
+		) {
1118
+			return $field_content;
1119
+		}
1419 1120
 
1420
-                        $input_name = 'input_' . $field->id;
1421
-                        //uploaded
1422
-                        $file_names = isset( GFFormsModel::$uploaded_files[ $validation_results['form']['id'] ][ $input_name ] ) ? GFFormsModel::$uploaded_files[ $validation_results['form']['id'] ][ $input_name ] : array();
1121
+		// SET SOME FIELD DEFAULTS TO PREVENT ISSUES
1122
+		$field->adminOnly = false; /** @see GFFormDisplay::get_counter_init_script() need to prevent adminOnly */
1423 1123
 
1424
-                        //existent
1425
-                        $entry = $this->get_entry();
1426
-                        $value = NULL;
1427
-                        if( isset( $entry[ $field->id ] ) ) {
1428
-                            $value = json_decode( $entry[ $field->id ], true );
1429
-                        }
1124
+		$field_value = $this->get_field_value( $field );
1430 1125
 
1431
-                        // count uploaded files and existent entry files
1432
-                        $count_files = count( $file_names ) + count( $value );
1126
+		// Prevent any PHP warnings, like undefined index
1127
+		ob_start();
1433 1128
 
1434
-                        if( $count_files > $field->maxFiles ) {
1435
-                            $field->validation_message = __( 'Maximum number of files reached', 'gravityview' );
1436
-                            $field->failed_validation = 1;
1437
-                            $gv_valid = false;
1129
+		$return = null;
1438 1130
 
1439
-                            // in case of error make sure the newest upload files are removed from the upload input
1440
-                            GFFormsModel::$uploaded_files[ $validation_results['form']['id'] ] = null;
1441
-                        }
1131
+		/** @var GravityView_Field $gv_field */
1132
+		if( $gv_field && is_callable( array( $gv_field, 'get_field_input' ) ) ) {
1133
+			$return = $gv_field->get_field_input( $this->form, $field_value, $this->entry, $field );
1134
+		} else {
1135
+			$return = $field->get_field_input( $this->form, $field_value, $this->entry );
1136
+		}
1137
+
1138
+		// If there was output, it's an error
1139
+		$warnings = ob_get_clean();
1140
+
1141
+		if( !empty( $warnings ) ) {
1142
+			do_action( 'gravityview_log_error', __METHOD__ . $warnings, $field_value );
1143
+		}
1144
+
1145
+		return $return;
1146
+	}
1147
+
1148
+	/**
1149
+	 * Modify the value for the current field input
1150
+	 *
1151
+	 * @param GF_Field $field
1152
+	 *
1153
+	 * @return array|mixed|string
1154
+	 */
1155
+	private function get_field_value( $field ) {
1156
+
1157
+		/**
1158
+		 * @filter `gravityview/edit_entry/pre_populate/override` Allow the pre-populated value to override saved value in Edit Entry form. By default, pre-populate mechanism only kicks on empty fields.
1159
+		 * @param boolean True: override saved values; False: don't override (default)
1160
+		 * @param $field GF_Field object Gravity Forms field object
1161
+		 * @since 1.13
1162
+		 */
1163
+		$override_saved_value = apply_filters( 'gravityview/edit_entry/pre_populate/override', false, $field );
1164
+
1165
+		// We're dealing with multiple inputs (e.g. checkbox) but not time or date (as it doesn't store data in input IDs)
1166
+		if( isset( $field->inputs ) && is_array( $field->inputs ) && !in_array( $field->type, array( 'time', 'date' ) ) ) {
1167
+
1168
+			$field_value = array();
1169
+
1170
+			// only accept pre-populated values if the field doesn't have any choice selected.
1171
+			$allow_pre_populated = $field->allowsPrepopulate;
1172
+
1173
+			foreach ( (array)$field->inputs as $input ) {
1174
+
1175
+				$input_id = strval( $input['id'] );
1176
+                
1177
+				if ( isset( $this->entry[ $input_id ] ) && ! gv_empty( $this->entry[ $input_id ], false, false ) ) {
1178
+					$field_value[ $input_id ] =  'post_category' === $field->type ? GFCommon::format_post_category( $this->entry[ $input_id ], true ) : $this->entry[ $input_id ];
1179
+					$allow_pre_populated = false;
1180
+				}
1181
+
1182
+			}
1183
+
1184
+			$pre_value = $field->get_value_submission( array(), false );
1185
+
1186
+			$field_value = ! $allow_pre_populated && ! ( $override_saved_value && !gv_empty( $pre_value, false, false ) ) ? $field_value : $pre_value;
1187
+
1188
+		} else {
1189
+
1190
+			$id = intval( $field->id );
1191
+
1192
+			// get pre-populated value if exists
1193
+			$pre_value = $field->allowsPrepopulate ? GFFormsModel::get_parameter_value( $field->inputName, array(), $field ) : '';
1194
+
1195
+			// saved field entry value (if empty, fallback to the pre-populated value, if exists)
1196
+			// or pre-populated value if not empty and set to override saved value
1197
+			$field_value = !gv_empty( $this->entry[ $id ], false, false ) && ! ( $override_saved_value && !gv_empty( $pre_value, false, false ) ) ? $this->entry[ $id ] : $pre_value;
1198
+
1199
+			// in case field is post_category but inputType is select, multi-select or radio, convert value into array of category IDs.
1200
+			if ( 'post_category' === $field->type && !gv_empty( $field_value, false, false ) ) {
1201
+				$categories = array();
1202
+				foreach ( explode( ',', $field_value ) as $cat_string ) {
1203
+					$categories[] = GFCommon::format_post_category( $cat_string, true );
1204
+				}
1205
+				$field_value = 'multiselect' === $field->get_input_type() ? $categories : implode( '', $categories );
1206
+			}
1207
+
1208
+		}
1209
+
1210
+		// if value is empty get the default value if defined
1211
+		$field_value = $field->get_value_default_if_empty( $field_value );
1212
+
1213
+		/**
1214
+		 * @filter `gravityview/edit_entry/field_value` Change the value of an Edit Entry field, if needed
1215
+		 * @since 1.11
1216
+		 * @since 1.20 Added third param
1217
+		 * @param mixed $field_value field value used to populate the input
1218
+		 * @param object $field Gravity Forms field object ( Class GF_Field )
1219
+		 * @param GravityView_Edit_Entry_Render $this Current object
1220
+		 */
1221
+		$field_value = apply_filters( 'gravityview/edit_entry/field_value', $field_value, $field, $this );
1222
+
1223
+		/**
1224
+		 * @filter `gravityview/edit_entry/field_value_{field_type}` Change the value of an Edit Entry field for a specific field type
1225
+		 * @since 1.17
1226
+		 * @since 1.20 Added third param
1227
+		 * @param mixed $field_value field value used to populate the input
1228
+		 * @param GF_Field $field Gravity Forms field object
1229
+		 * @param GravityView_Edit_Entry_Render $this Current object
1230
+		 */
1231
+		$field_value = apply_filters( 'gravityview/edit_entry/field_value_' . $field->type , $field_value, $field, $this );
1232
+
1233
+		return $field_value;
1234
+	}
1235
+
1236
+
1237
+	// ---- Entry validation
1238
+
1239
+	/**
1240
+	 * Add field keys that Gravity Forms expects.
1241
+	 *
1242
+	 * @see GFFormDisplay::validate()
1243
+	 * @param  array $form GF Form
1244
+	 * @return array       Modified GF Form
1245
+	 */
1246
+	public function gform_pre_validation( $form ) {
1247
+
1248
+		if( ! $this->verify_nonce() ) {
1249
+			return $form;
1250
+		}
1251
+
1252
+		// Fix PHP warning regarding undefined index.
1253
+		foreach ( $form['fields'] as &$field) {
1254
+
1255
+			// This is because we're doing admin form pretending to be front-end, so Gravity Forms
1256
+			// expects certain field array items to be set.
1257
+			foreach ( array( 'noDuplicates', 'adminOnly', 'inputType', 'isRequired', 'enablePrice', 'inputs', 'allowedExtensions' ) as $key ) {
1258
+				$field->{$key} = isset( $field->{$key} ) ? $field->{$key} : NULL;
1259
+			}
1260
+
1261
+			switch( RGFormsModel::get_input_type( $field ) ) {
1262
+
1263
+				/**
1264
+				 * this whole fileupload hack is because in the admin, Gravity Forms simply doesn't update any fileupload field if it's empty, but it DOES in the frontend.
1265
+				 *
1266
+				 * What we have to do is set the value so that it doesn't get overwritten as empty on save and appears immediately in the Edit Entry screen again.
1267
+				 *
1268
+				 * @hack
1269
+				 */
1270
+				case 'fileupload':
1271
+
1272
+					// Set the previous value
1273
+					$entry = $this->get_entry();
1274
+
1275
+					$input_name = 'input_'.$field->id;
1276
+					$form_id = $form['id'];
1277
+
1278
+					$value = NULL;
1279
+
1280
+					// Use the previous entry value as the default.
1281
+					if( isset( $entry[ $field->id ] ) ) {
1282
+						$value = $entry[ $field->id ];
1283
+					}
1284
+
1285
+					// If this is a single upload file
1286
+					if( !empty( $_FILES[ $input_name ] ) && !empty( $_FILES[ $input_name ]['name'] ) ) {
1287
+						$file_path = GFFormsModel::get_file_upload_path( $form['id'], $_FILES[ $input_name ]['name'] );
1288
+						$value = $file_path['url'];
1289
+
1290
+					} else {
1291
+
1292
+						// Fix PHP warning on line 1498 of form_display.php for post_image fields
1293
+						// Fix PHP Notice:  Undefined index:  size in form_display.php on line 1511
1294
+						$_FILES[ $input_name ] = array('name' => '', 'size' => '' );
1295
+
1296
+					}
1297
+
1298
+					if( rgar($field, "multipleFiles") ) {
1299
+
1300
+						// If there are fresh uploads, process and merge them.
1301
+						// Otherwise, use the passed values, which should be json-encoded array of URLs
1302
+						if( isset( GFFormsModel::$uploaded_files[$form_id][$input_name] ) ) {
1303
+							$value = empty( $value ) ? '[]' : $value;
1304
+							$value = stripslashes_deep( $value );
1305
+							$value = GFFormsModel::prepare_value( $form, $field, $value, $input_name, $entry['id'], array());
1306
+						}
1307
+
1308
+					} else {
1309
+
1310
+						// A file already exists when editing an entry
1311
+						// We set this to solve issue when file upload fields are required.
1312
+						GFFormsModel::$uploaded_files[ $form_id ][ $input_name ] = $value;
1313
+
1314
+					}
1315
+
1316
+					$this->entry[ $input_name ] = $value;
1317
+					$_POST[ $input_name ] = $value;
1318
+
1319
+					break;
1442 1320
 
1443
-                    }
1321
+				case 'number':
1322
+					// Fix "undefined index" issue at line 1286 in form_display.php
1323
+					if( !isset( $_POST['input_'.$field->id ] ) ) {
1324
+						$_POST['input_'.$field->id ] = NULL;
1325
+					}
1326
+					break;
1327
+			}
1328
+
1329
+		}
1330
+
1331
+		return $form;
1332
+	}
1333
+
1334
+
1335
+	/**
1336
+	 * Process validation for a edit entry submission
1337
+	 *
1338
+	 * Sets the `is_valid` object var
1339
+	 *
1340
+	 * @return void
1341
+	 */
1342
+	private function validate() {
1343
+
1344
+		/**
1345
+		 * If using GF User Registration Add-on, remove the validation step, otherwise generates error when updating the entry
1346
+		 * GF User Registration Add-on version > 3.x has a different class name
1347
+		 * @since 1.16.2
1348
+		 */
1349
+		if ( class_exists( 'GF_User_Registration' ) ) {
1350
+			remove_filter( 'gform_validation', array( GF_User_Registration::get_instance(), 'validate' ) );
1351
+		} else  if ( class_exists( 'GFUser' ) ) {
1352
+			remove_filter( 'gform_validation', array( 'GFUser', 'user_registration_validation' ) );
1353
+		}
1354
+
1355
+
1356
+		/**
1357
+		 * For some crazy reason, Gravity Forms doesn't validate Edit Entry form submissions.
1358
+		 * You can enter whatever you want!
1359
+		 * We try validating, and customize the results using `self::custom_validation()`
1360
+		 */
1361
+		add_filter( 'gform_validation_'. $this->form_id, array( $this, 'custom_validation' ), 10, 4);
1362
+
1363
+		// Needed by the validate funtion
1364
+		$failed_validation_page = NULL;
1365
+		$field_values = RGForms::post( 'gform_field_values' );
1366
+
1367
+		// Prevent entry limit from running when editing an entry, also
1368
+		// prevent form scheduling from preventing editing
1369
+		unset( $this->form['limitEntries'], $this->form['scheduleForm'] );
1370
+
1371
+		// Hide fields depending on Edit Entry settings
1372
+		$this->form['fields'] = $this->get_configured_edit_fields( $this->form, $this->view_id );
1373
+
1374
+		$this->is_valid = GFFormDisplay::validate( $this->form, $field_values, 1, $failed_validation_page );
1375
+
1376
+		remove_filter( 'gform_validation_'. $this->form_id, array( $this, 'custom_validation' ), 10 );
1377
+	}
1378
+
1379
+
1380
+	/**
1381
+	 * Make validation work for Edit Entry
1382
+	 *
1383
+	 * Because we're calling the GFFormDisplay::validate() in an unusual way (as a front-end
1384
+	 * form pretending to be a back-end form), validate() doesn't know we _can't_ edit post
1385
+	 * fields. This goes through all the fields and if they're an invalid post field, we
1386
+	 * set them as valid. If there are still issues, we'll return false.
1387
+	 *
1388
+	 * @param  [type] $validation_results [description]
1389
+	 * @return [type]                     [description]
1390
+	 */
1391
+	public function custom_validation( $validation_results ) {
1392
+
1393
+		do_action('gravityview_log_debug', 'GravityView_Edit_Entry[custom_validation] Validation results: ', $validation_results );
1394
+
1395
+		do_action('gravityview_log_debug', 'GravityView_Edit_Entry[custom_validation] $_POSTed data (sanitized): ', esc_html( print_r( $_POST, true ) ) );
1396
+
1397
+		$gv_valid = true;
1398
+
1399
+		foreach ( $validation_results['form']['fields'] as $key => &$field ) {
1400
+
1401
+			$value = RGFormsModel::get_field_value( $field );
1402
+			$field_type = RGFormsModel::get_input_type( $field );
1403
+
1404
+			// Validate always
1405
+			switch ( $field_type ) {
1444 1406
 
1445 1407
 
1446
-                    break;
1408
+				case 'fileupload' :
1409
+				case 'post_image':
1447 1410
 
1448
-            }
1411
+					// in case nothing is uploaded but there are already files saved
1412
+					if( !empty( $field->failed_validation ) && !empty( $field->isRequired ) && !empty( $value ) ) {
1413
+						$field->failed_validation = false;
1414
+						unset( $field->validation_message );
1415
+					}
1449 1416
 
1450
-            // This field has failed validation.
1451
-            if( !empty( $field->failed_validation ) ) {
1417
+					// validate if multi file upload reached max number of files [maxFiles] => 2
1418
+					if( rgobj( $field, 'maxFiles') && rgobj( $field, 'multipleFiles') ) {
1452 1419
 
1453
-                do_action( 'gravityview_log_debug', 'GravityView_Edit_Entry[custom_validation] Field is invalid.', array( 'field' => $field, 'value' => $value ) );
1420
+						$input_name = 'input_' . $field->id;
1421
+						//uploaded
1422
+						$file_names = isset( GFFormsModel::$uploaded_files[ $validation_results['form']['id'] ][ $input_name ] ) ? GFFormsModel::$uploaded_files[ $validation_results['form']['id'] ][ $input_name ] : array();
1454 1423
 
1455
-                switch ( $field_type ) {
1424
+						//existent
1425
+						$entry = $this->get_entry();
1426
+						$value = NULL;
1427
+						if( isset( $entry[ $field->id ] ) ) {
1428
+							$value = json_decode( $entry[ $field->id ], true );
1429
+						}
1430
+
1431
+						// count uploaded files and existent entry files
1432
+						$count_files = count( $file_names ) + count( $value );
1433
+
1434
+						if( $count_files > $field->maxFiles ) {
1435
+							$field->validation_message = __( 'Maximum number of files reached', 'gravityview' );
1436
+							$field->failed_validation = 1;
1437
+							$gv_valid = false;
1438
+
1439
+							// in case of error make sure the newest upload files are removed from the upload input
1440
+							GFFormsModel::$uploaded_files[ $validation_results['form']['id'] ] = null;
1441
+						}
1456 1442
 
1457
-                    // Captchas don't need to be re-entered.
1458
-                    case 'captcha':
1443
+					}
1459 1444
 
1460
-                        // Post Image fields aren't editable, so we un-fail them.
1461
-                    case 'post_image':
1462
-                        $field->failed_validation = false;
1463
-                        unset( $field->validation_message );
1464
-                        break;
1465 1445
 
1466
-                }
1446
+					break;
1467 1447
 
1468
-                // You can't continue inside a switch, so we do it after.
1469
-                if( empty( $field->failed_validation ) ) {
1470
-                    continue;
1471
-                }
1448
+			}
1449
+
1450
+			// This field has failed validation.
1451
+			if( !empty( $field->failed_validation ) ) {
1472 1452
 
1473
-                // checks if the No Duplicates option is not validating entry against itself, since
1474
-                // we're editing a stored entry, it would also assume it's a duplicate.
1475
-                if( !empty( $field->noDuplicates ) ) {
1453
+				do_action( 'gravityview_log_debug', 'GravityView_Edit_Entry[custom_validation] Field is invalid.', array( 'field' => $field, 'value' => $value ) );
1476 1454
 
1477
-                    $entry = $this->get_entry();
1455
+				switch ( $field_type ) {
1478 1456
 
1479
-                    // If the value of the entry is the same as the stored value
1480
-                    // Then we can assume it's not a duplicate, it's the same.
1481
-                    if( !empty( $entry ) && $value == $entry[ $field->id ] ) {
1482
-                        //if value submitted was not changed, then don't validate
1483
-                        $field->failed_validation = false;
1457
+					// Captchas don't need to be re-entered.
1458
+					case 'captcha':
1484 1459
 
1485
-                        unset( $field->validation_message );
1460
+						// Post Image fields aren't editable, so we un-fail them.
1461
+					case 'post_image':
1462
+						$field->failed_validation = false;
1463
+						unset( $field->validation_message );
1464
+						break;
1486 1465
 
1487
-                        do_action('gravityview_log_debug', 'GravityView_Edit_Entry[custom_validation] Field not a duplicate; it is the same entry.', $entry );
1466
+				}
1488 1467
 
1489
-                        continue;
1490
-                    }
1491
-                }
1468
+				// You can't continue inside a switch, so we do it after.
1469
+				if( empty( $field->failed_validation ) ) {
1470
+					continue;
1471
+				}
1492 1472
 
1493
-                // if here then probably we are facing the validation 'At least one field must be filled out'
1494
-                if( GFFormDisplay::is_empty( $field, $this->form_id  ) && empty( $field->isRequired ) ) {
1495
-                    unset( $field->validation_message );
1496
-	                $field->validation_message = false;
1497
-                    continue;
1498
-                }
1473
+				// checks if the No Duplicates option is not validating entry against itself, since
1474
+				// we're editing a stored entry, it would also assume it's a duplicate.
1475
+				if( !empty( $field->noDuplicates ) ) {
1499 1476
 
1500
-                $gv_valid = false;
1477
+					$entry = $this->get_entry();
1501 1478
 
1502
-            }
1479
+					// If the value of the entry is the same as the stored value
1480
+					// Then we can assume it's not a duplicate, it's the same.
1481
+					if( !empty( $entry ) && $value == $entry[ $field->id ] ) {
1482
+						//if value submitted was not changed, then don't validate
1483
+						$field->failed_validation = false;
1503 1484
 
1504
-        }
1485
+						unset( $field->validation_message );
1505 1486
 
1506
-        $validation_results['is_valid'] = $gv_valid;
1487
+						do_action('gravityview_log_debug', 'GravityView_Edit_Entry[custom_validation] Field not a duplicate; it is the same entry.', $entry );
1507 1488
 
1508
-        do_action('gravityview_log_debug', 'GravityView_Edit_Entry[custom_validation] Validation results.', $validation_results );
1489
+						continue;
1490
+					}
1491
+				}
1509 1492
 
1510
-        // We'll need this result when rendering the form ( on GFFormDisplay::get_form )
1511
-        $this->form_after_validation = $validation_results['form'];
1493
+				// if here then probably we are facing the validation 'At least one field must be filled out'
1494
+				if( GFFormDisplay::is_empty( $field, $this->form_id  ) && empty( $field->isRequired ) ) {
1495
+					unset( $field->validation_message );
1496
+					$field->validation_message = false;
1497
+					continue;
1498
+				}
1512 1499
 
1513
-        return $validation_results;
1514
-    }
1500
+				$gv_valid = false;
1515 1501
 
1502
+			}
1503
+
1504
+		}
1516 1505
 
1517
-    /**
1518
-     * TODO: This seems to be hacky... we should remove it. Entry is set when updating the form using setup_vars()!
1519
-     * Get the current entry and set it if it's not yet set.
1520
-     * @return array Gravity Forms entry array
1521
-     */
1522
-    public function get_entry() {
1506
+		$validation_results['is_valid'] = $gv_valid;
1523 1507
 
1524
-        if( empty( $this->entry ) ) {
1525
-            // Get the database value of the entry that's being edited
1526
-            $this->entry = gravityview_get_entry( GravityView_frontend::is_single_entry() );
1527
-        }
1508
+		do_action('gravityview_log_debug', 'GravityView_Edit_Entry[custom_validation] Validation results.', $validation_results );
1528 1509
 
1529
-        return $this->entry;
1530
-    }
1510
+		// We'll need this result when rendering the form ( on GFFormDisplay::get_form )
1511
+		$this->form_after_validation = $validation_results['form'];
1531 1512
 
1513
+		return $validation_results;
1514
+	}
1515
+
1516
+
1517
+	/**
1518
+	 * TODO: This seems to be hacky... we should remove it. Entry is set when updating the form using setup_vars()!
1519
+	 * Get the current entry and set it if it's not yet set.
1520
+	 * @return array Gravity Forms entry array
1521
+	 */
1522
+	public function get_entry() {
1523
+
1524
+		if( empty( $this->entry ) ) {
1525
+			// Get the database value of the entry that's being edited
1526
+			$this->entry = gravityview_get_entry( GravityView_frontend::is_single_entry() );
1527
+		}
1528
+
1529
+		return $this->entry;
1530
+	}
1532 1531
 
1533 1532
 
1534
-    // --- Filters
1535 1533
 
1536
-    /**
1537
-     * Get the Edit Entry fields as configured in the View
1538
-     *
1539
-     * @since 1.8
1540
-     *
1541
-     * @param int $view_id
1542
-     *
1543
-     * @return array Array of fields that are configured in the Edit tab in the Admin
1544
-     */
1545
-    private function get_configured_edit_fields( $form, $view_id ) {
1534
+	// --- Filters
1546 1535
 
1547
-        // Get all fields for form
1536
+	/**
1537
+	 * Get the Edit Entry fields as configured in the View
1538
+	 *
1539
+	 * @since 1.8
1540
+	 *
1541
+	 * @param int $view_id
1542
+	 *
1543
+	 * @return array Array of fields that are configured in the Edit tab in the Admin
1544
+	 */
1545
+	private function get_configured_edit_fields( $form, $view_id ) {
1546
+
1547
+		// Get all fields for form
1548 1548
 		if ( defined( 'GRAVITYVIEW_FUTURE_CORE_LOADED' ) ) {
1549 1549
 			if ( \GV\View::exists( $view_id ) ) {
1550 1550
 				$view = \GV\View::by_id( $view_id );
@@ -1555,446 +1555,446 @@  discard block
 block discarded – undo
1555 1555
 			$properties = GravityView_View_Data::getInstance()->get_fields( $view_id );
1556 1556
 		}
1557 1557
 
1558
-        // If edit tab not yet configured, show all fields
1559
-        $edit_fields = !empty( $properties['edit_edit-fields'] ) ? $properties['edit_edit-fields'] : NULL;
1558
+		// If edit tab not yet configured, show all fields
1559
+		$edit_fields = !empty( $properties['edit_edit-fields'] ) ? $properties['edit_edit-fields'] : NULL;
1560 1560
 
1561
-        // Hide fields depending on admin settings
1562
-        $fields = $this->filter_fields( $form['fields'], $edit_fields );
1561
+		// Hide fields depending on admin settings
1562
+		$fields = $this->filter_fields( $form['fields'], $edit_fields );
1563 1563
 
1564
-	    // If Edit Entry fields are configured, remove adminOnly field settings. Otherwise, don't.
1565
-	    $fields = $this->filter_admin_only_fields( $fields, $edit_fields, $form, $view_id );
1564
+		// If Edit Entry fields are configured, remove adminOnly field settings. Otherwise, don't.
1565
+		$fields = $this->filter_admin_only_fields( $fields, $edit_fields, $form, $view_id );
1566 1566
 
1567
-        /**
1568
-         * @filter `gravityview/edit_entry/form_fields` Modify the fields displayed in Edit Entry form
1569
-         * @since 1.17
1570
-         * @param GF_Field[] $fields Gravity Forms form fields
1571
-         * @param array|null $edit_fields Fields for the Edit Entry tab configured in the View Configuration
1572
-         * @param array $form GF Form array (`fields` key modified to have only fields configured to show in Edit Entry)
1573
-         * @param int $view_id View ID
1574
-         */
1575
-        $fields = apply_filters( 'gravityview/edit_entry/form_fields', $fields, $edit_fields, $form, $view_id );
1567
+		/**
1568
+		 * @filter `gravityview/edit_entry/form_fields` Modify the fields displayed in Edit Entry form
1569
+		 * @since 1.17
1570
+		 * @param GF_Field[] $fields Gravity Forms form fields
1571
+		 * @param array|null $edit_fields Fields for the Edit Entry tab configured in the View Configuration
1572
+		 * @param array $form GF Form array (`fields` key modified to have only fields configured to show in Edit Entry)
1573
+		 * @param int $view_id View ID
1574
+		 */
1575
+		$fields = apply_filters( 'gravityview/edit_entry/form_fields', $fields, $edit_fields, $form, $view_id );
1576 1576
 
1577
-        return $fields;
1578
-    }
1579
-
1580
-
1581
-    /**
1582
-     * Filter area fields based on specified conditions
1583
-     *  - This filter removes the fields that have calculation configured
1584
-     *
1585
-     * @uses GravityView_Edit_Entry::user_can_edit_field() Check caps
1586
-     * @access private
1587
-     * @param GF_Field[] $fields
1588
-     * @param array $configured_fields
1589
-     * @since  1.5
1590
-     * @return array $fields
1591
-     */
1592
-    private function filter_fields( $fields, $configured_fields ) {
1593
-
1594
-        if( empty( $fields ) || !is_array( $fields ) ) {
1595
-            return $fields;
1596
-        }
1597
-
1598
-        $edit_fields = array();
1599
-
1600
-        $field_type_blacklist = $this->loader->get_field_blacklist( $this->entry );
1601
-
1602
-        // First, remove blacklist or calculation fields
1603
-        foreach ( $fields as $key => $field ) {
1604
-
1605
-            // Remove the fields that have calculation properties and keep them to be used later
1606
-            // @since 1.16.2
1607
-            if( $field->has_calculation() ) {
1608
-                $this->fields_with_calculation[] = $field;
1609
-                // don't remove the calculation fields on form render.
1610
-            }
1611
-
1612
-            if( in_array( $field->type, $field_type_blacklist ) ) {
1613
-                unset( $fields[ $key ] );
1614
-            }
1615
-        }
1616
-
1617
-        // The Edit tab has not been configured, so we return all fields by default.
1618
-        if( empty( $configured_fields ) ) {
1619
-            return $fields;
1620
-        }
1621
-
1622
-        // The edit tab has been configured, so we loop through to configured settings
1623
-        foreach ( $configured_fields as $configured_field ) {
1624
-
1625
-	        /** @var GF_Field $field */
1626
-	        foreach ( $fields as $field ) {
1627
-
1628
-                if( intval( $configured_field['id'] ) === intval( $field->id ) && $this->user_can_edit_field( $configured_field, false ) ) {
1629
-                    $edit_fields[] = $this->merge_field_properties( $field, $configured_field );
1630
-                    break;
1631
-                }
1632
-
1633
-            }
1634
-
1635
-        }
1636
-
1637
-        return $edit_fields;
1638
-
1639
-    }
1640
-
1641
-    /**
1642
-     * Override GF Form field properties with the ones defined on the View
1643
-     * @param  GF_Field $field GF Form field object
1644
-     * @param  array $field_setting  GV field options
1645
-     * @since  1.5
1646
-     * @return array|GF_Field
1647
-     */
1648
-    private function merge_field_properties( $field, $field_setting ) {
1649
-
1650
-        $return_field = $field;
1651
-
1652
-        if( empty( $field_setting['show_label'] ) ) {
1653
-            $return_field->label = '';
1654
-        } elseif ( !empty( $field_setting['custom_label'] ) ) {
1655
-            $return_field->label = $field_setting['custom_label'];
1656
-        }
1657
-
1658
-        if( !empty( $field_setting['custom_class'] ) ) {
1659
-            $return_field->cssClass .= ' '. gravityview_sanitize_html_class( $field_setting['custom_class'] );
1660
-        }
1661
-
1662
-        /**
1663
-         * Normalize page numbers - avoid conflicts with page validation
1664
-         * @since 1.6
1665
-         */
1666
-        $return_field->pageNumber = 1;
1667
-
1668
-        return $return_field;
1669
-
1670
-    }
1671
-
1672
-    /**
1673
-     * Remove fields that shouldn't be visible based on the Gravity Forms adminOnly field property
1674
-     *
1675
-     * @since 1.9.1
1676
-     *
1677
-     * @param array|GF_Field[] $fields Gravity Forms form fields
1678
-     * @param array|null $edit_fields Fields for the Edit Entry tab configured in the View Configuration
1679
-     * @param array $form GF Form array
1680
-     * @param int $view_id View ID
1681
-     *
1682
-     * @return array Possibly modified form array
1683
-     */
1684
-    private function filter_admin_only_fields( $fields = array(), $edit_fields = null, $form = array(), $view_id = 0 ) {
1685
-
1686
-	    /**
1687
-         * @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
1688
-	     * If the Edit Entry tab is not configured, adminOnly fields will not be shown to non-administrators.
1689
-	     * If the Edit Entry tab *is* configured, adminOnly fields will be shown to non-administrators, using the configured GV permissions
1690
-	     * @since 1.9.1
1691
-	     * @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.
1692
-	     * @param array $form GF Form array
1693
-	     * @param int $view_id View ID
1694
-	     */
1695
-	    $use_gf_adminonly_setting = apply_filters( 'gravityview/edit_entry/use_gf_admin_only_setting', empty( $edit_fields ), $form, $view_id );
1696
-
1697
-	    if( $use_gf_adminonly_setting && false === GVCommon::has_cap( 'gravityforms_edit_entries', $this->entry['id'] ) ) {
1698
-            foreach( $fields as $k => $field ) {
1699
-                if( $field->adminOnly ) {
1700
-                    unset( $fields[ $k ] );
1701
-                }
1702
-            }
1703
-            return $fields;
1704
-        }
1705
-
1706
-	    foreach( $fields as &$field ) {
1707
-		    $field->adminOnly = false;
1708
-        }
1709
-
1710
-        return $fields;
1711
-    }
1712
-
1713
-    // --- Conditional Logic
1714
-
1715
-    /**
1716
-     * Conditional logic isn't designed to work with forms that already have content. When switching input values,
1717
-     * the dependent fields will be blank.
1718
-     *
1719
-     * Note: This is because GF populates a JavaScript variable with the input values. This is tough to filter at the input level;
1720
-     * via the `gform_field_value` filter; it requires lots of legwork. Doing it at the form level is easier.
1721
-     *
1722
-     * @since 1.17.4
1723
-     *
1724
-     * @param array $form Gravity Forms array object
1725
-     *
1726
-     * @return array $form, modified to fix conditional
1727
-     */
1728
-    function prefill_conditional_logic( $form ) {
1729
-
1730
-        if( ! GFFormDisplay::has_conditional_logic( $form ) ) {
1731
-            return $form;
1732
-        }
1733
-
1734
-        // Have Conditional Logic pre-fill fields as if the data were default values
1735
-        /** @var GF_Field $field */
1736
-        foreach ( $form['fields'] as &$field ) {
1737
-
1738
-            if( 'checkbox' === $field->type ) {
1739
-                foreach ( $field->get_entry_inputs() as $key => $input ) {
1740
-                    $input_id = $input['id'];
1741
-                    $choice = $field->choices[ $key ];
1742
-                    $value = rgar( $this->entry, $input_id );
1743
-                    $match = RGFormsModel::choice_value_match( $field, $choice, $value );
1744
-                    if( $match ) {
1745
-                        $field->choices[ $key ]['isSelected'] = true;
1746
-                    }
1747
-                }
1748
-            } else {
1749
-
1750
-                // We need to run through each field to set the default values
1751
-                foreach ( $this->entry as $field_id => $field_value ) {
1752
-
1753
-                    if( floatval( $field_id ) === floatval( $field->id ) ) {
1754
-
1755
-                        if( 'list' === $field->type ) {
1756
-                            $list_rows = maybe_unserialize( $field_value );
1757
-
1758
-                            $list_field_value = array();
1759
-                            foreach ( (array) $list_rows as $row ) {
1760
-                                foreach ( (array) $row as $column ) {
1761
-                                    $list_field_value[] = $column;
1762
-                                }
1763
-                            }
1764
-
1765
-                            $field->defaultValue = serialize( $list_field_value );
1766
-                        } else {
1767
-                            $field->defaultValue = $field_value;
1768
-                        }
1769
-                    }
1770
-                }
1771
-            }
1772
-        }
1773
-
1774
-        return $form;
1775
-    }
1776
-
1777
-    /**
1778
-     * Remove the conditional logic rules from the form button and the form fields, if needed.
1779
-     *
1780
-     * @todo Merge with caller method
1781
-     * @since 1.9
1782
-     *
1783
-     * @param array $form Gravity Forms form
1784
-     * @return array Modified form, if not using Conditional Logic
1785
-     */
1786
-    private function filter_conditional_logic( $form ) {
1787
-
1788
-        /**
1789
-         * @filter `gravityview/edit_entry/conditional_logic` Should the Edit Entry form use Gravity Forms conditional logic showing/hiding of fields?
1790
-         * @since 1.9
1791
-         * @param bool $use_conditional_logic True: Gravity Forms will show/hide fields just like in the original form; False: conditional logic will be disabled and fields will be shown based on configuration. Default: true
1792
-         * @param array $form Gravity Forms form
1793
-         */
1794
-        $use_conditional_logic = apply_filters( 'gravityview/edit_entry/conditional_logic', true, $form );
1795
-
1796
-        if( $use_conditional_logic ) {
1797
-            return $form;
1798
-        }
1799
-
1800
-        foreach( $form['fields'] as &$field ) {
1801
-            /* @var GF_Field $field */
1802
-            $field->conditionalLogic = null;
1803
-        }
1804
-
1805
-        unset( $form['button']['conditionalLogic'] );
1806
-
1807
-        return $form;
1808
-
1809
-    }
1810
-
1811
-    /**
1812
-     * Disable the Gravity Forms conditional logic script and features on the Edit Entry screen
1813
-     *
1814
-     * @since 1.9
1815
-     *
1816
-     * @param $has_conditional_logic
1817
-     * @param $form
1818
-     * @return mixed
1819
-     */
1820
-    public function manage_conditional_logic( $has_conditional_logic, $form ) {
1821
-
1822
-        if( ! $this->is_edit_entry() ) {
1823
-            return $has_conditional_logic;
1824
-        }
1825
-
1826
-	    /** @see GravityView_Edit_Entry_Render::filter_conditional_logic for filter documentation */
1827
-        return apply_filters( 'gravityview/edit_entry/conditional_logic', $has_conditional_logic, $form );
1828
-    }
1829
-
1830
-
1831
-    // --- User checks and nonces
1832
-
1833
-    /**
1834
-     * Check if the user can edit the entry
1835
-     *
1836
-     * - Is the nonce valid?
1837
-     * - Does the user have the right caps for the entry
1838
-     * - Is the entry in the trash?
1839
-     *
1840
-     * @todo Move to GVCommon
1841
-     *
1842
-     * @param  boolean $echo Show error messages in the form?
1843
-     * @return boolean        True: can edit form. False: nope.
1844
-     */
1845
-    private function user_can_edit_entry( $echo = false ) {
1846
-
1847
-        $error = NULL;
1848
-
1849
-        /**
1850
-         *  1. Permalinks are turned off
1851
-         *  2. There are two entries embedded using oEmbed
1852
-         *  3. One of the entries has just been saved
1853
-         */
1854
-        if( !empty( $_POST['lid'] ) && !empty( $_GET['entry'] ) && ( $_POST['lid'] !== $_GET['entry'] ) ) {
1855
-
1856
-            $error = true;
1857
-
1858
-        }
1859
-
1860
-        if( !empty( $_GET['entry'] ) && (string)$this->entry['id'] !== $_GET['entry'] ) {
1861
-
1862
-            $error = true;
1863
-
1864
-        } elseif( ! $this->verify_nonce() ) {
1865
-
1866
-            /**
1867
-             * If the Entry is embedded, there may be two entries on the same page.
1868
-             * If that's the case, and one is being edited, the other should fail gracefully and not display an error.
1869
-             */
1870
-            if( GravityView_oEmbed::getInstance()->get_entry_id() ) {
1871
-                $error = true;
1872
-            } else {
1873
-                $error = __( 'The link to edit this entry is not valid; it may have expired.', 'gravityview');
1874
-            }
1875
-
1876
-        }
1877
-
1878
-        if( ! GravityView_Edit_Entry::check_user_cap_edit_entry( $this->entry ) ) {
1879
-            $error = __( 'You do not have permission to edit this entry.', 'gravityview');
1880
-        }
1881
-
1882
-        if( $this->entry['status'] === 'trash' ) {
1883
-            $error = __('You cannot edit the entry; it is in the trash.', 'gravityview' );
1884
-        }
1577
+		return $fields;
1578
+	}
1885 1579
 
1886
-        // No errors; everything's fine here!
1887
-        if( empty( $error ) ) {
1888
-            return true;
1889
-        }
1890 1580
 
1891
-        if( $echo && $error !== true ) {
1581
+	/**
1582
+	 * Filter area fields based on specified conditions
1583
+	 *  - This filter removes the fields that have calculation configured
1584
+	 *
1585
+	 * @uses GravityView_Edit_Entry::user_can_edit_field() Check caps
1586
+	 * @access private
1587
+	 * @param GF_Field[] $fields
1588
+	 * @param array $configured_fields
1589
+	 * @since  1.5
1590
+	 * @return array $fields
1591
+	 */
1592
+	private function filter_fields( $fields, $configured_fields ) {
1892 1593
 
1893
-	        $error = esc_html( $error );
1594
+		if( empty( $fields ) || !is_array( $fields ) ) {
1595
+			return $fields;
1596
+		}
1894 1597
 
1895
-	        /**
1896
-	         * @since 1.9
1897
-	         */
1898
-	        if ( ! empty( $this->entry ) ) {
1899
-		        $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;" ) );
1900
-	        }
1598
+		$edit_fields = array();
1901 1599
 
1902
-            echo GVCommon::generate_notice( wpautop( $error ), 'gv-error error');
1903
-        }
1600
+		$field_type_blacklist = $this->loader->get_field_blacklist( $this->entry );
1904 1601
 
1905
-        do_action('gravityview_log_error', 'GravityView_Edit_Entry[user_can_edit_entry]' . $error );
1602
+		// First, remove blacklist or calculation fields
1603
+		foreach ( $fields as $key => $field ) {
1906 1604
 
1907
-        return false;
1908
-    }
1909
-
1910
-
1911
-    /**
1912
-     * Check whether a field is editable by the current user, and optionally display an error message
1913
-     * @uses  GravityView_Edit_Entry->check_user_cap_edit_field() Check user capabilities
1914
-     * @param  array  $field Field or field settings array
1915
-     * @param  boolean $echo  Whether to show error message telling user they aren't allowed
1916
-     * @return boolean         True: user can edit the current field; False: nope, they can't.
1917
-     */
1918
-    private function user_can_edit_field( $field, $echo = false ) {
1605
+			// Remove the fields that have calculation properties and keep them to be used later
1606
+			// @since 1.16.2
1607
+			if( $field->has_calculation() ) {
1608
+				$this->fields_with_calculation[] = $field;
1609
+				// don't remove the calculation fields on form render.
1610
+			}
1919 1611
 
1920
-        $error = NULL;
1612
+			if( in_array( $field->type, $field_type_blacklist ) ) {
1613
+				unset( $fields[ $key ] );
1614
+			}
1615
+		}
1921 1616
 
1922
-        if( ! $this->check_user_cap_edit_field( $field ) ) {
1923
-            $error = __( 'You do not have permission to edit this field.', 'gravityview');
1924
-        }
1617
+		// The Edit tab has not been configured, so we return all fields by default.
1618
+		if( empty( $configured_fields ) ) {
1619
+			return $fields;
1620
+		}
1925 1621
 
1926
-        // No errors; everything's fine here!
1927
-        if( empty( $error ) ) {
1928
-            return true;
1929
-        }
1622
+		// The edit tab has been configured, so we loop through to configured settings
1623
+		foreach ( $configured_fields as $configured_field ) {
1930 1624
 
1931
-        if( $echo ) {
1932
-            echo GVCommon::generate_notice( wpautop( esc_html( $error ) ), 'gv-error error');
1933
-        }
1934
-
1935
-        do_action('gravityview_log_error', 'GravityView_Edit_Entry[user_can_edit_field]' . $error );
1625
+			/** @var GF_Field $field */
1626
+			foreach ( $fields as $field ) {
1936 1627
 
1937
-        return false;
1628
+				if( intval( $configured_field['id'] ) === intval( $field->id ) && $this->user_can_edit_field( $configured_field, false ) ) {
1629
+					$edit_fields[] = $this->merge_field_properties( $field, $configured_field );
1630
+					break;
1631
+				}
1938 1632
 
1939
-    }
1633
+			}
1940 1634
 
1635
+		}
1636
+
1637
+		return $edit_fields;
1638
+
1639
+	}
1640
+
1641
+	/**
1642
+	 * Override GF Form field properties with the ones defined on the View
1643
+	 * @param  GF_Field $field GF Form field object
1644
+	 * @param  array $field_setting  GV field options
1645
+	 * @since  1.5
1646
+	 * @return array|GF_Field
1647
+	 */
1648
+	private function merge_field_properties( $field, $field_setting ) {
1649
+
1650
+		$return_field = $field;
1651
+
1652
+		if( empty( $field_setting['show_label'] ) ) {
1653
+			$return_field->label = '';
1654
+		} elseif ( !empty( $field_setting['custom_label'] ) ) {
1655
+			$return_field->label = $field_setting['custom_label'];
1656
+		}
1657
+
1658
+		if( !empty( $field_setting['custom_class'] ) ) {
1659
+			$return_field->cssClass .= ' '. gravityview_sanitize_html_class( $field_setting['custom_class'] );
1660
+		}
1661
+
1662
+		/**
1663
+		 * Normalize page numbers - avoid conflicts with page validation
1664
+		 * @since 1.6
1665
+		 */
1666
+		$return_field->pageNumber = 1;
1667
+
1668
+		return $return_field;
1669
+
1670
+	}
1671
+
1672
+	/**
1673
+	 * Remove fields that shouldn't be visible based on the Gravity Forms adminOnly field property
1674
+	 *
1675
+	 * @since 1.9.1
1676
+	 *
1677
+	 * @param array|GF_Field[] $fields Gravity Forms form fields
1678
+	 * @param array|null $edit_fields Fields for the Edit Entry tab configured in the View Configuration
1679
+	 * @param array $form GF Form array
1680
+	 * @param int $view_id View ID
1681
+	 *
1682
+	 * @return array Possibly modified form array
1683
+	 */
1684
+	private function filter_admin_only_fields( $fields = array(), $edit_fields = null, $form = array(), $view_id = 0 ) {
1685
+
1686
+		/**
1687
+		 * @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
1688
+		 * If the Edit Entry tab is not configured, adminOnly fields will not be shown to non-administrators.
1689
+		 * If the Edit Entry tab *is* configured, adminOnly fields will be shown to non-administrators, using the configured GV permissions
1690
+		 * @since 1.9.1
1691
+		 * @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.
1692
+		 * @param array $form GF Form array
1693
+		 * @param int $view_id View ID
1694
+		 */
1695
+		$use_gf_adminonly_setting = apply_filters( 'gravityview/edit_entry/use_gf_admin_only_setting', empty( $edit_fields ), $form, $view_id );
1696
+
1697
+		if( $use_gf_adminonly_setting && false === GVCommon::has_cap( 'gravityforms_edit_entries', $this->entry['id'] ) ) {
1698
+			foreach( $fields as $k => $field ) {
1699
+				if( $field->adminOnly ) {
1700
+					unset( $fields[ $k ] );
1701
+				}
1702
+			}
1703
+			return $fields;
1704
+		}
1705
+
1706
+		foreach( $fields as &$field ) {
1707
+			$field->adminOnly = false;
1708
+		}
1709
+
1710
+		return $fields;
1711
+	}
1712
+
1713
+	// --- Conditional Logic
1714
+
1715
+	/**
1716
+	 * Conditional logic isn't designed to work with forms that already have content. When switching input values,
1717
+	 * the dependent fields will be blank.
1718
+	 *
1719
+	 * Note: This is because GF populates a JavaScript variable with the input values. This is tough to filter at the input level;
1720
+	 * via the `gform_field_value` filter; it requires lots of legwork. Doing it at the form level is easier.
1721
+	 *
1722
+	 * @since 1.17.4
1723
+	 *
1724
+	 * @param array $form Gravity Forms array object
1725
+	 *
1726
+	 * @return array $form, modified to fix conditional
1727
+	 */
1728
+	function prefill_conditional_logic( $form ) {
1941 1729
 
1942
-    /**
1943
-     * checks if user has permissions to edit a specific field
1944
-     *
1945
-     * Needs to be used combined with GravityView_Edit_Entry::user_can_edit_field for maximum security!!
1946
-     *
1947
-     * @param  [type] $field [description]
1948
-     * @return bool
1949
-     */
1950
-    private function check_user_cap_edit_field( $field ) {
1730
+		if( ! GFFormDisplay::has_conditional_logic( $form ) ) {
1731
+			return $form;
1732
+		}
1951 1733
 
1952
-        // If they can edit any entries (as defined in Gravity Forms), we're good.
1953
-        if( GVCommon::has_cap( array( 'gravityforms_edit_entries', 'gravityview_edit_others_entries' ) ) ) {
1954
-            return true;
1955
-        }
1734
+		// Have Conditional Logic pre-fill fields as if the data were default values
1735
+		/** @var GF_Field $field */
1736
+		foreach ( $form['fields'] as &$field ) {
1737
+
1738
+			if( 'checkbox' === $field->type ) {
1739
+				foreach ( $field->get_entry_inputs() as $key => $input ) {
1740
+					$input_id = $input['id'];
1741
+					$choice = $field->choices[ $key ];
1742
+					$value = rgar( $this->entry, $input_id );
1743
+					$match = RGFormsModel::choice_value_match( $field, $choice, $value );
1744
+					if( $match ) {
1745
+						$field->choices[ $key ]['isSelected'] = true;
1746
+					}
1747
+				}
1748
+			} else {
1749
+
1750
+				// We need to run through each field to set the default values
1751
+				foreach ( $this->entry as $field_id => $field_value ) {
1752
+
1753
+					if( floatval( $field_id ) === floatval( $field->id ) ) {
1754
+
1755
+						if( 'list' === $field->type ) {
1756
+							$list_rows = maybe_unserialize( $field_value );
1757
+
1758
+							$list_field_value = array();
1759
+							foreach ( (array) $list_rows as $row ) {
1760
+								foreach ( (array) $row as $column ) {
1761
+									$list_field_value[] = $column;
1762
+								}
1763
+							}
1764
+
1765
+							$field->defaultValue = serialize( $list_field_value );
1766
+						} else {
1767
+							$field->defaultValue = $field_value;
1768
+						}
1769
+					}
1770
+				}
1771
+			}
1772
+		}
1956 1773
 
1957
-        $field_cap = isset( $field['allow_edit_cap'] ) ? $field['allow_edit_cap'] : false;
1774
+		return $form;
1775
+	}
1958 1776
 
1959
-        // If the field has custom editing capaibilities set, check those
1960
-        if( $field_cap ) {
1961
-            return GVCommon::has_cap( $field['allow_edit_cap'] );
1962
-        }
1963
-
1964
-        return false;
1965
-    }
1777
+	/**
1778
+	 * Remove the conditional logic rules from the form button and the form fields, if needed.
1779
+	 *
1780
+	 * @todo Merge with caller method
1781
+	 * @since 1.9
1782
+	 *
1783
+	 * @param array $form Gravity Forms form
1784
+	 * @return array Modified form, if not using Conditional Logic
1785
+	 */
1786
+	private function filter_conditional_logic( $form ) {
1966 1787
 
1788
+		/**
1789
+		 * @filter `gravityview/edit_entry/conditional_logic` Should the Edit Entry form use Gravity Forms conditional logic showing/hiding of fields?
1790
+		 * @since 1.9
1791
+		 * @param bool $use_conditional_logic True: Gravity Forms will show/hide fields just like in the original form; False: conditional logic will be disabled and fields will be shown based on configuration. Default: true
1792
+		 * @param array $form Gravity Forms form
1793
+		 */
1794
+		$use_conditional_logic = apply_filters( 'gravityview/edit_entry/conditional_logic', true, $form );
1967 1795
 
1968
-    /**
1969
-     * Is the current nonce valid for editing the entry?
1970
-     * @return boolean
1971
-     */
1972
-    public function verify_nonce() {
1796
+		if( $use_conditional_logic ) {
1797
+			return $form;
1798
+		}
1973 1799
 
1974
-        // Verify form submitted for editing single
1975
-        if( $this->is_edit_entry_submission() ) {
1976
-            $valid = wp_verify_nonce( $_POST[ self::$nonce_field ], self::$nonce_field );
1977
-        }
1800
+		foreach( $form['fields'] as &$field ) {
1801
+			/* @var GF_Field $field */
1802
+			$field->conditionalLogic = null;
1803
+		}
1978 1804
 
1979
-        // Verify
1980
-        else if( ! $this->is_edit_entry() ) {
1981
-            $valid = false;
1982
-        }
1805
+		unset( $form['button']['conditionalLogic'] );
1983 1806
 
1984
-        else {
1985
-            $valid = wp_verify_nonce( $_GET['edit'], self::$nonce_key );
1986
-        }
1807
+		return $form;
1987 1808
 
1988
-        /**
1989
-         * @filter `gravityview/edit_entry/verify_nonce` Override Edit Entry nonce validation. Return true to declare nonce valid.
1990
-         * @since 1.13
1991
-         * @param int|boolean $valid False if invalid; 1 or 2 when nonce was generated
1992
-         * @param string $nonce_field Key used when validating submissions. Default: is_gv_edit_entry
1993
-         */
1994
-        $valid = apply_filters( 'gravityview/edit_entry/verify_nonce', $valid, self::$nonce_field );
1809
+	}
1810
+
1811
+	/**
1812
+	 * Disable the Gravity Forms conditional logic script and features on the Edit Entry screen
1813
+	 *
1814
+	 * @since 1.9
1815
+	 *
1816
+	 * @param $has_conditional_logic
1817
+	 * @param $form
1818
+	 * @return mixed
1819
+	 */
1820
+	public function manage_conditional_logic( $has_conditional_logic, $form ) {
1821
+
1822
+		if( ! $this->is_edit_entry() ) {
1823
+			return $has_conditional_logic;
1824
+		}
1995 1825
 
1996
-        return $valid;
1997
-    }
1826
+		/** @see GravityView_Edit_Entry_Render::filter_conditional_logic for filter documentation */
1827
+		return apply_filters( 'gravityview/edit_entry/conditional_logic', $has_conditional_logic, $form );
1828
+	}
1829
+
1830
+
1831
+	// --- User checks and nonces
1832
+
1833
+	/**
1834
+	 * Check if the user can edit the entry
1835
+	 *
1836
+	 * - Is the nonce valid?
1837
+	 * - Does the user have the right caps for the entry
1838
+	 * - Is the entry in the trash?
1839
+	 *
1840
+	 * @todo Move to GVCommon
1841
+	 *
1842
+	 * @param  boolean $echo Show error messages in the form?
1843
+	 * @return boolean        True: can edit form. False: nope.
1844
+	 */
1845
+	private function user_can_edit_entry( $echo = false ) {
1846
+
1847
+		$error = NULL;
1848
+
1849
+		/**
1850
+		 *  1. Permalinks are turned off
1851
+		 *  2. There are two entries embedded using oEmbed
1852
+		 *  3. One of the entries has just been saved
1853
+		 */
1854
+		if( !empty( $_POST['lid'] ) && !empty( $_GET['entry'] ) && ( $_POST['lid'] !== $_GET['entry'] ) ) {
1855
+
1856
+			$error = true;
1857
+
1858
+		}
1859
+
1860
+		if( !empty( $_GET['entry'] ) && (string)$this->entry['id'] !== $_GET['entry'] ) {
1861
+
1862
+			$error = true;
1863
+
1864
+		} elseif( ! $this->verify_nonce() ) {
1865
+
1866
+			/**
1867
+			 * If the Entry is embedded, there may be two entries on the same page.
1868
+			 * If that's the case, and one is being edited, the other should fail gracefully and not display an error.
1869
+			 */
1870
+			if( GravityView_oEmbed::getInstance()->get_entry_id() ) {
1871
+				$error = true;
1872
+			} else {
1873
+				$error = __( 'The link to edit this entry is not valid; it may have expired.', 'gravityview');
1874
+			}
1875
+
1876
+		}
1877
+
1878
+		if( ! GravityView_Edit_Entry::check_user_cap_edit_entry( $this->entry ) ) {
1879
+			$error = __( 'You do not have permission to edit this entry.', 'gravityview');
1880
+		}
1881
+
1882
+		if( $this->entry['status'] === 'trash' ) {
1883
+			$error = __('You cannot edit the entry; it is in the trash.', 'gravityview' );
1884
+		}
1885
+
1886
+		// No errors; everything's fine here!
1887
+		if( empty( $error ) ) {
1888
+			return true;
1889
+		}
1890
+
1891
+		if( $echo && $error !== true ) {
1892
+
1893
+			$error = esc_html( $error );
1894
+
1895
+			/**
1896
+			 * @since 1.9
1897
+			 */
1898
+			if ( ! empty( $this->entry ) ) {
1899
+				$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;" ) );
1900
+			}
1901
+
1902
+			echo GVCommon::generate_notice( wpautop( $error ), 'gv-error error');
1903
+		}
1904
+
1905
+		do_action('gravityview_log_error', 'GravityView_Edit_Entry[user_can_edit_entry]' . $error );
1906
+
1907
+		return false;
1908
+	}
1909
+
1910
+
1911
+	/**
1912
+	 * Check whether a field is editable by the current user, and optionally display an error message
1913
+	 * @uses  GravityView_Edit_Entry->check_user_cap_edit_field() Check user capabilities
1914
+	 * @param  array  $field Field or field settings array
1915
+	 * @param  boolean $echo  Whether to show error message telling user they aren't allowed
1916
+	 * @return boolean         True: user can edit the current field; False: nope, they can't.
1917
+	 */
1918
+	private function user_can_edit_field( $field, $echo = false ) {
1919
+
1920
+		$error = NULL;
1921
+
1922
+		if( ! $this->check_user_cap_edit_field( $field ) ) {
1923
+			$error = __( 'You do not have permission to edit this field.', 'gravityview');
1924
+		}
1925
+
1926
+		// No errors; everything's fine here!
1927
+		if( empty( $error ) ) {
1928
+			return true;
1929
+		}
1930
+
1931
+		if( $echo ) {
1932
+			echo GVCommon::generate_notice( wpautop( esc_html( $error ) ), 'gv-error error');
1933
+		}
1934
+
1935
+		do_action('gravityview_log_error', 'GravityView_Edit_Entry[user_can_edit_field]' . $error );
1936
+
1937
+		return false;
1938
+
1939
+	}
1940
+
1941
+
1942
+	/**
1943
+	 * checks if user has permissions to edit a specific field
1944
+	 *
1945
+	 * Needs to be used combined with GravityView_Edit_Entry::user_can_edit_field for maximum security!!
1946
+	 *
1947
+	 * @param  [type] $field [description]
1948
+	 * @return bool
1949
+	 */
1950
+	private function check_user_cap_edit_field( $field ) {
1951
+
1952
+		// If they can edit any entries (as defined in Gravity Forms), we're good.
1953
+		if( GVCommon::has_cap( array( 'gravityforms_edit_entries', 'gravityview_edit_others_entries' ) ) ) {
1954
+			return true;
1955
+		}
1956
+
1957
+		$field_cap = isset( $field['allow_edit_cap'] ) ? $field['allow_edit_cap'] : false;
1958
+
1959
+		// If the field has custom editing capaibilities set, check those
1960
+		if( $field_cap ) {
1961
+			return GVCommon::has_cap( $field['allow_edit_cap'] );
1962
+		}
1963
+
1964
+		return false;
1965
+	}
1966
+
1967
+
1968
+	/**
1969
+	 * Is the current nonce valid for editing the entry?
1970
+	 * @return boolean
1971
+	 */
1972
+	public function verify_nonce() {
1973
+
1974
+		// Verify form submitted for editing single
1975
+		if( $this->is_edit_entry_submission() ) {
1976
+			$valid = wp_verify_nonce( $_POST[ self::$nonce_field ], self::$nonce_field );
1977
+		}
1978
+
1979
+		// Verify
1980
+		else if( ! $this->is_edit_entry() ) {
1981
+			$valid = false;
1982
+		}
1983
+
1984
+		else {
1985
+			$valid = wp_verify_nonce( $_GET['edit'], self::$nonce_key );
1986
+		}
1987
+
1988
+		/**
1989
+		 * @filter `gravityview/edit_entry/verify_nonce` Override Edit Entry nonce validation. Return true to declare nonce valid.
1990
+		 * @since 1.13
1991
+		 * @param int|boolean $valid False if invalid; 1 or 2 when nonce was generated
1992
+		 * @param string $nonce_field Key used when validating submissions. Default: is_gv_edit_entry
1993
+		 */
1994
+		$valid = apply_filters( 'gravityview/edit_entry/verify_nonce', $valid, self::$nonce_field );
1995
+
1996
+		return $valid;
1997
+	}
1998 1998
 
1999 1999
 
2000 2000
 	/**
Please login to merge, or discard this patch.
Spacing   +226 added lines, -226 removed lines patch added patch discarded remove patch
@@ -106,16 +106,16 @@  discard block
 block discarded – undo
106 106
     function load() {
107 107
 
108 108
         /** @define "GRAVITYVIEW_DIR" "../../../" */
109
-        include_once( GRAVITYVIEW_DIR .'includes/class-admin-approve-entries.php' );
109
+        include_once( GRAVITYVIEW_DIR . 'includes/class-admin-approve-entries.php' );
110 110
 
111 111
         // Don't display an embedded form when editing an entry
112 112
         add_action( 'wp_head', array( $this, 'prevent_render_form' ) );
113 113
         add_action( 'wp_footer', array( $this, 'prevent_render_form' ) );
114 114
 
115 115
         // Stop Gravity Forms processing what is ours!
116
-        add_filter( 'wp', array( $this, 'prevent_maybe_process_form'), 8 );
116
+        add_filter( 'wp', array( $this, 'prevent_maybe_process_form' ), 8 );
117 117
 
118
-        add_filter( 'gravityview_is_edit_entry', array( $this, 'is_edit_entry') );
118
+        add_filter( 'gravityview_is_edit_entry', array( $this, 'is_edit_entry' ) );
119 119
 
120 120
         add_action( 'gravityview_edit_entry', array( $this, 'init' ) );
121 121
 
@@ -126,7 +126,7 @@  discard block
 block discarded – undo
126 126
         add_filter( 'gform_plupload_settings', array( $this, 'modify_fileupload_settings' ), 10, 3 );
127 127
 
128 128
         // Add fields expected by GFFormDisplay::validate()
129
-        add_filter( 'gform_pre_validation', array( $this, 'gform_pre_validation') );
129
+        add_filter( 'gform_pre_validation', array( $this, 'gform_pre_validation' ) );
130 130
 
131 131
 		// Fix multiselect value for GF 2.2
132 132
 		add_filter( 'gravityview/edit_entry/field_value_multiselect', array( $this, 'fix_multiselect_value_serialization' ), 10, 3 );
@@ -143,8 +143,8 @@  discard block
 block discarded – undo
143 143
      * @return void
144 144
      */
145 145
     public function prevent_render_form() {
146
-        if( $this->is_edit_entry() ) {
147
-            if( 'wp_head' === current_filter() ) {
146
+        if ( $this->is_edit_entry() ) {
147
+            if ( 'wp_head' === current_filter() ) {
148 148
                 add_filter( 'gform_shortcode_form', '__return_empty_string' );
149 149
             } else {
150 150
                 remove_filter( 'gform_shortcode_form', '__return_empty_string' );
@@ -159,13 +159,13 @@  discard block
 block discarded – undo
159 159
      */
160 160
     public function prevent_maybe_process_form() {
161 161
 
162
-        if( ! empty( $_POST ) ) {
162
+        if ( ! empty( $_POST ) ) {
163 163
 	        do_action( 'gravityview_log_debug', 'GravityView_Edit_Entry[prevent_maybe_process_form] $_POSTed data (sanitized): ', esc_html( print_r( $_POST, true ) ) );
164 164
         }
165 165
 
166
-        if( $this->is_edit_entry_submission() ) {
167
-            remove_action( 'wp',  array( 'RGForms', 'maybe_process_form'), 9 );
168
-	        remove_action( 'wp',  array( 'GFForms', 'maybe_process_form'), 9 );
166
+        if ( $this->is_edit_entry_submission() ) {
167
+            remove_action( 'wp', array( 'RGForms', 'maybe_process_form' ), 9 );
168
+	        remove_action( 'wp', array( 'GFForms', 'maybe_process_form' ), 9 );
169 169
         }
170 170
     }
171 171
 
@@ -175,7 +175,7 @@  discard block
 block discarded – undo
175 175
      */
176 176
     public function is_edit_entry() {
177 177
 
178
-        $is_edit_entry = GravityView_frontend::is_single_entry() && ! empty( $_GET['edit'] );
178
+        $is_edit_entry = GravityView_frontend::is_single_entry() && ! empty( $_GET[ 'edit' ] );
179 179
 
180 180
         return ( $is_edit_entry || $this->is_edit_entry_submission() );
181 181
     }
@@ -186,7 +186,7 @@  discard block
 block discarded – undo
186 186
 	 * @return boolean
187 187
 	 */
188 188
 	public function is_edit_entry_submission() {
189
-		return !empty( $_POST[ self::$nonce_field ] );
189
+		return ! empty( $_POST[ self::$nonce_field ] );
190 190
 	}
191 191
 
192 192
     /**
@@ -197,15 +197,15 @@  discard block
 block discarded – undo
197 197
 
198 198
 
199 199
         $entries = $gravityview_view->getEntries();
200
-	    self::$original_entry = $entries[0];
201
-	    $this->entry = $entries[0];
200
+	    self::$original_entry = $entries[ 0 ];
201
+	    $this->entry = $entries[ 0 ];
202 202
 
203 203
         self::$original_form = $gravityview_view->getForm();
204 204
         $this->form = $gravityview_view->getForm();
205 205
         $this->form_id = $gravityview_view->getFormId();
206 206
         $this->view_id = $gravityview_view->getViewId();
207 207
 
208
-        self::$nonce_key = GravityView_Edit_Entry::get_nonce_key( $this->view_id, $this->form_id, $this->entry['id'] );
208
+        self::$nonce_key = GravityView_Edit_Entry::get_nonce_key( $this->view_id, $this->form_id, $this->entry[ 'id' ] );
209 209
     }
210 210
 
211 211
 
@@ -226,14 +226,14 @@  discard block
 block discarded – undo
226 226
 
227 227
         // Multiple Views embedded, don't proceed if nonce fails
228 228
 		$multiple_views = defined( 'GRAVITYVIEW_FUTURE_CORE_LOADED' ) ? gravityview()->views->count() > 1 : $gv_data->has_multiple_views();
229
-        if( $multiple_views && ! wp_verify_nonce( $_GET['edit'], self::$nonce_key ) ) {
230
-            do_action('gravityview_log_error', __METHOD__ . ': Nonce validation failed for the Edit Entry request; returning' );
229
+        if ( $multiple_views && ! wp_verify_nonce( $_GET[ 'edit' ], self::$nonce_key ) ) {
230
+            do_action( 'gravityview_log_error', __METHOD__ . ': Nonce validation failed for the Edit Entry request; returning' );
231 231
             return;
232 232
         }
233 233
 
234 234
         // Sorry, you're not allowed here.
235
-        if( false === $this->user_can_edit_entry( true ) ) {
236
-            do_action('gravityview_log_error', __METHOD__ . ': User is not allowed to edit this entry; returning', $this->entry );
235
+        if ( false === $this->user_can_edit_entry( true ) ) {
236
+            do_action( 'gravityview_log_error', __METHOD__ . ': User is not allowed to edit this entry; returning', $this->entry );
237 237
             return;
238 238
         }
239 239
 
@@ -253,9 +253,9 @@  discard block
 block discarded – undo
253 253
     private function print_scripts() {
254 254
         $gravityview_view = GravityView_View::getInstance();
255 255
 
256
-        wp_register_script( 'gform_gravityforms', GFCommon::get_base_url().'/js/gravityforms.js', array( 'jquery', 'gform_json', 'gform_placeholder', 'sack', 'plupload-all', 'gravityview-fe-view' ) );
256
+        wp_register_script( 'gform_gravityforms', GFCommon::get_base_url() . '/js/gravityforms.js', array( 'jquery', 'gform_json', 'gform_placeholder', 'sack', 'plupload-all', 'gravityview-fe-view' ) );
257 257
 
258
-        GFFormDisplay::enqueue_form_scripts($gravityview_view->getForm(), false);
258
+        GFFormDisplay::enqueue_form_scripts( $gravityview_view->getForm(), false );
259 259
 
260 260
         // Sack is required for images
261 261
         wp_print_scripts( array( 'sack', 'gform_gravityforms' ) );
@@ -267,32 +267,32 @@  discard block
 block discarded – undo
267 267
      */
268 268
     private function process_save() {
269 269
 
270
-        if( empty( $_POST ) || ! isset( $_POST['lid'] ) ) {
270
+        if ( empty( $_POST ) || ! isset( $_POST[ 'lid' ] ) ) {
271 271
             return;
272 272
         }
273 273
 
274 274
         // Make sure the entry, view, and form IDs are all correct
275 275
         $valid = $this->verify_nonce();
276 276
 
277
-        if( !$valid ) {
278
-            do_action('gravityview_log_error', __METHOD__ . ' Nonce validation failed.' );
277
+        if ( ! $valid ) {
278
+            do_action( 'gravityview_log_error', __METHOD__ . ' Nonce validation failed.' );
279 279
             return;
280 280
         }
281 281
 
282
-        if( $this->entry['id'] !== $_POST['lid'] ) {
283
-            do_action('gravityview_log_error', __METHOD__ . ' Entry ID did not match posted entry ID.' );
282
+        if ( $this->entry[ 'id' ] !== $_POST[ 'lid' ] ) {
283
+            do_action( 'gravityview_log_error', __METHOD__ . ' Entry ID did not match posted entry ID.' );
284 284
             return;
285 285
         }
286 286
 
287
-        do_action('gravityview_log_debug', __METHOD__ . ': $_POSTed data (sanitized): ', esc_html( print_r( $_POST, true ) ) );
287
+        do_action( 'gravityview_log_debug', __METHOD__ . ': $_POSTed data (sanitized): ', esc_html( print_r( $_POST, true ) ) );
288 288
 
289 289
         $this->process_save_process_files( $this->form_id );
290 290
 
291 291
         $this->validate();
292 292
 
293
-        if( $this->is_valid ) {
293
+        if ( $this->is_valid ) {
294 294
 
295
-            do_action('gravityview_log_debug', __METHOD__ . ': Submission is valid.' );
295
+            do_action( 'gravityview_log_debug', __METHOD__ . ': Submission is valid.' );
296 296
 
297 297
             /**
298 298
              * @hack This step is needed to unset the adminOnly from form fields, to add the calculation fields
@@ -302,22 +302,22 @@  discard block
 block discarded – undo
302 302
             /**
303 303
              * @hack to avoid the capability validation of the method save_lead for GF 1.9+
304 304
              */
305
-            unset( $_GET['page'] );
305
+            unset( $_GET[ 'page' ] );
306 306
 
307
-            $date_created = $this->entry['date_created'];
307
+            $date_created = $this->entry[ 'date_created' ];
308 308
 
309 309
             /**
310 310
              * @hack to force Gravity Forms to use $read_value_from_post in GFFormsModel::save_lead()
311 311
              * @since 1.17.2
312 312
              */
313
-            unset( $this->entry['date_created'] );
313
+            unset( $this->entry[ 'date_created' ] );
314 314
 
315 315
             GFFormsModel::save_lead( $form, $this->entry );
316 316
 
317 317
 	        // Delete the values for hidden inputs
318 318
 	        $this->unset_hidden_field_values();
319 319
             
320
-            $this->entry['date_created'] = $date_created;
320
+            $this->entry[ 'date_created' ] = $date_created;
321 321
 
322 322
             // Process calculation fields
323 323
             $this->update_calculation_fields();
@@ -337,10 +337,10 @@  discard block
 block discarded – undo
337 337
              * @param string $entry_id Numeric ID of the entry that was updated
338 338
              * @param GravityView_Edit_Entry_Render $this This object
339 339
              */
340
-            do_action( 'gravityview/edit_entry/after_update', $this->form, $this->entry['id'], $this );
340
+            do_action( 'gravityview/edit_entry/after_update', $this->form, $this->entry[ 'id' ], $this );
341 341
 
342 342
         } else {
343
-            do_action('gravityview_log_error', __METHOD__ . ': Submission is NOT valid.', $this->entry );
343
+            do_action( 'gravityview_log_error', __METHOD__ . ': Submission is NOT valid.', $this->entry );
344 344
         }
345 345
 
346 346
     } // process_save
@@ -359,10 +359,10 @@  discard block
 block discarded – undo
359 359
 
360 360
 		if ( method_exists( 'GFFormsModel', 'get_entry_meta_table_name' ) ) {
361 361
 			$entry_meta_table = GFFormsModel::get_entry_meta_table_name();
362
-			$current_fields = $wpdb->get_results( $wpdb->prepare( "SELECT meta_key, meta_value FROM $entry_meta_table WHERE entry_id=%d", $this->entry['id'] ) );
362
+			$current_fields = $wpdb->get_results( $wpdb->prepare( "SELECT meta_key, meta_value FROM $entry_meta_table WHERE entry_id=%d", $this->entry[ 'id' ] ) );
363 363
 		} else {
364 364
 			$lead_detail_table = GFFormsModel::get_lead_details_table_name();
365
-			$current_fields = $wpdb->get_results( $wpdb->prepare( "SELECT id, field_number FROM $lead_detail_table WHERE lead_id=%d", $this->entry['id'] ) );
365
+			$current_fields = $wpdb->get_results( $wpdb->prepare( "SELECT id, field_number FROM $lead_detail_table WHERE lead_id=%d", $this->entry[ 'id' ] ) );
366 366
 		}
367 367
 
368 368
 	    foreach ( $this->entry as $input_id => $field_value ) {
@@ -443,7 +443,7 @@  discard block
 block discarded – undo
443 443
 		}
444 444
 
445 445
 		/** No file is being uploaded. */
446
-		if ( empty( $_FILES[ $input_name ]['name'] ) ) {
446
+		if ( empty( $_FILES[ $input_name ][ 'name' ] ) ) {
447 447
 			/** So return the original upload */
448 448
 			return $entry[ $input_id ];
449 449
 		}
@@ -461,11 +461,11 @@  discard block
 block discarded – undo
461 461
      * @return mixed
462 462
      */
463 463
     public function modify_fileupload_settings( $plupload_init, $form_id, $instance ) {
464
-        if( ! $this->is_edit_entry() ) {
464
+        if ( ! $this->is_edit_entry() ) {
465 465
             return $plupload_init;
466 466
         }
467 467
 
468
-        $plupload_init['gf_vars']['max_files'] = 0;
468
+        $plupload_init[ 'gf_vars' ][ 'max_files' ] = 0;
469 469
 
470 470
         return $plupload_init;
471 471
     }
@@ -480,22 +480,22 @@  discard block
 block discarded – undo
480 480
         $form = $this->form;
481 481
 
482 482
 	    /** @var GF_Field $field */
483
-        foreach( $form['fields'] as $k => &$field ) {
483
+        foreach ( $form[ 'fields' ] as $k => &$field ) {
484 484
 
485 485
             /**
486 486
              * Remove the fields with calculation formulas before save to avoid conflicts with GF logic
487 487
              * @since 1.16.3
488 488
              * @var GF_Field $field
489 489
              */
490
-            if( $field->has_calculation() ) {
491
-                unset( $form['fields'][ $k ] );
490
+            if ( $field->has_calculation() ) {
491
+                unset( $form[ 'fields' ][ $k ] );
492 492
             }
493 493
 
494 494
             $field->adminOnly = false;
495 495
 
496
-            if( isset( $field->inputs ) && is_array( $field->inputs ) ) {
497
-                foreach( $field->inputs as $key => $input ) {
498
-                    $field->inputs[ $key ][ 'id' ] = (string)$input['id'];
496
+            if ( isset( $field->inputs ) && is_array( $field->inputs ) ) {
497
+                foreach ( $field->inputs as $key => $input ) {
498
+                    $field->inputs[ $key ][ 'id' ] = (string)$input[ 'id' ];
499 499
                 }
500 500
             }
501 501
         }
@@ -509,30 +509,30 @@  discard block
 block discarded – undo
509 509
         $update = false;
510 510
 
511 511
         // get the most up to date entry values
512
-        $entry = GFAPI::get_entry( $this->entry['id'] );
512
+        $entry = GFAPI::get_entry( $this->entry[ 'id' ] );
513 513
 
514
-        if( !empty( $this->fields_with_calculation ) ) {
514
+        if ( ! empty( $this->fields_with_calculation ) ) {
515 515
             $update = true;
516 516
             foreach ( $this->fields_with_calculation as $calc_field ) {
517 517
                 $inputs = $calc_field->get_entry_inputs();
518 518
                 if ( is_array( $inputs ) ) {
519 519
                     foreach ( $inputs as $input ) {
520
-                        $input_name = 'input_' . str_replace( '.', '_', $input['id'] );
521
-                        $entry[ strval( $input['id'] ) ] = RGFormsModel::prepare_value( $form, $calc_field, '', $input_name, $entry['id'], $entry );
520
+                        $input_name = 'input_' . str_replace( '.', '_', $input[ 'id' ] );
521
+                        $entry[ strval( $input[ 'id' ] ) ] = RGFormsModel::prepare_value( $form, $calc_field, '', $input_name, $entry[ 'id' ], $entry );
522 522
                     }
523 523
                 } else {
524
-                    $input_name = 'input_' . str_replace( '.', '_', $calc_field->id);
525
-                    $entry[ strval( $calc_field->id ) ] = RGFormsModel::prepare_value( $form, $calc_field, '', $input_name, $entry['id'], $entry );
524
+                    $input_name = 'input_' . str_replace( '.', '_', $calc_field->id );
525
+                    $entry[ strval( $calc_field->id ) ] = RGFormsModel::prepare_value( $form, $calc_field, '', $input_name, $entry[ 'id' ], $entry );
526 526
                 }
527 527
             }
528 528
 
529 529
         }
530 530
 
531
-        if( $update ) {
531
+        if ( $update ) {
532 532
 
533 533
             $return_entry = GFAPI::update_entry( $entry );
534 534
 
535
-            if( is_wp_error( $return_entry ) ) {
535
+            if ( is_wp_error( $return_entry ) ) {
536 536
                 do_action( 'gravityview_log_error', 'Updating the entry calculation fields failed', $return_entry );
537 537
             } else {
538 538
                 do_action( 'gravityview_log_debug', 'Updating the entry calculation fields succeeded' );
@@ -563,18 +563,18 @@  discard block
 block discarded – undo
563 563
 
564 564
         $input_name = 'input_' . $field_id;
565 565
 
566
-        if ( !empty( $_FILES[ $input_name ]['name'] ) ) {
566
+        if ( ! empty( $_FILES[ $input_name ][ 'name' ] ) ) {
567 567
 
568 568
             // We have a new image
569 569
 
570
-            $value = RGFormsModel::prepare_value( $form, $field, $value, $input_name, $entry['id'] );
570
+            $value = RGFormsModel::prepare_value( $form, $field, $value, $input_name, $entry[ 'id' ] );
571 571
 
572 572
             $ary = ! empty( $value ) ? explode( '|:|', $value ) : array();
573 573
             $img_url = rgar( $ary, 0 );
574 574
 
575
-            $img_title       = count( $ary ) > 1 ? $ary[1] : '';
576
-            $img_caption     = count( $ary ) > 2 ? $ary[2] : '';
577
-            $img_description = count( $ary ) > 3 ? $ary[3] : '';
575
+            $img_title       = count( $ary ) > 1 ? $ary[ 1 ] : '';
576
+            $img_caption     = count( $ary ) > 2 ? $ary[ 2 ] : '';
577
+            $img_description = count( $ary ) > 3 ? $ary[ 3 ] : '';
578 578
 
579 579
             $image_meta = array(
580 580
                 'post_excerpt' => $img_caption,
@@ -583,7 +583,7 @@  discard block
 block discarded – undo
583 583
 
584 584
             //adding title only if it is not empty. It will default to the file name if it is not in the array
585 585
             if ( ! empty( $img_title ) ) {
586
-                $image_meta['post_title'] = $img_title;
586
+                $image_meta[ 'post_title' ] = $img_title;
587 587
             }
588 588
 
589 589
             /**
@@ -598,13 +598,13 @@  discard block
 block discarded – undo
598 598
                 set_post_thumbnail( $post_id, $media_id );
599 599
             }
600 600
 
601
-        } elseif ( !empty( $_POST[ $input_name ] ) && is_array( $value ) ) {
601
+        } elseif ( ! empty( $_POST[ $input_name ] ) && is_array( $value ) ) {
602 602
 
603 603
             $img_url = $_POST[ $input_name ];
604 604
 
605
-			$img_title       = rgar( $_POST, $input_name.'_1' );
606
-			$img_caption     = rgar( $_POST, $input_name .'_4' );
607
-			$img_description = rgar( $_POST, $input_name .'_7' );
605
+			$img_title       = rgar( $_POST, $input_name . '_1' );
606
+			$img_caption     = rgar( $_POST, $input_name . '_4' );
607
+			$img_description = rgar( $_POST, $input_name . '_7' );
608 608
 
609 609
 			$value = ! empty( $img_url ) ? $img_url . "|:|" . $img_title . "|:|" . $img_caption . "|:|" . $img_description : '';
610 610
 
@@ -642,16 +642,16 @@  discard block
 block discarded – undo
642 642
      */
643 643
     private function maybe_update_post_fields( $form ) {
644 644
 
645
-        if( empty( $this->entry['post_id'] ) ) {
645
+        if ( empty( $this->entry[ 'post_id' ] ) ) {
646 646
 	        do_action( 'gravityview_log_debug', __METHOD__ . ': This entry has no post fields. Continuing...' );
647 647
             return;
648 648
         }
649 649
 
650
-        $post_id = $this->entry['post_id'];
650
+        $post_id = $this->entry[ 'post_id' ];
651 651
 
652 652
         // Security check
653
-        if( false === GVCommon::has_cap( 'edit_post', $post_id ) ) {
654
-            do_action( 'gravityview_log_error', 'The current user does not have the ability to edit Post #'.$post_id );
653
+        if ( false === GVCommon::has_cap( 'edit_post', $post_id ) ) {
654
+            do_action( 'gravityview_log_error', 'The current user does not have the ability to edit Post #' . $post_id );
655 655
             return;
656 656
         }
657 657
 
@@ -663,25 +663,25 @@  discard block
 block discarded – undo
663 663
 
664 664
             $field = RGFormsModel::get_field( $form, $field_id );
665 665
 
666
-            if( ! $field ) {
666
+            if ( ! $field ) {
667 667
                 continue;
668 668
             }
669 669
 
670
-            if( GFCommon::is_post_field( $field ) && 'post_category' !== $field->type ) {
670
+            if ( GFCommon::is_post_field( $field ) && 'post_category' !== $field->type ) {
671 671
 
672 672
                 // Get the value of the field, including $_POSTed value
673 673
                 $value = RGFormsModel::get_field_value( $field );
674 674
 
675 675
                 // Use temporary entry variable, to make values available to fill_post_template() and update_post_image()
676 676
                 $entry_tmp = $this->entry;
677
-                $entry_tmp["{$field_id}"] = $value;
677
+                $entry_tmp[ "{$field_id}" ] = $value;
678 678
 
679
-                switch( $field->type ) {
679
+                switch ( $field->type ) {
680 680
 
681 681
                     case 'post_title':
682 682
                         $post_title = $value;
683
-                        if( rgar( $form, 'postTitleTemplateEnabled' ) ) {
684
-                            $post_title = $this->fill_post_template( $form['postTitleTemplate'], $form, $entry_tmp );
683
+                        if ( rgar( $form, 'postTitleTemplateEnabled' ) ) {
684
+                            $post_title = $this->fill_post_template( $form[ 'postTitleTemplate' ], $form, $entry_tmp );
685 685
                         }
686 686
                         $updated_post->post_title = $post_title;
687 687
                         $updated_post->post_name  = $post_title;
@@ -690,8 +690,8 @@  discard block
 block discarded – undo
690 690
 
691 691
                     case 'post_content':
692 692
                         $post_content = $value;
693
-                        if( rgar( $form, 'postContentTemplateEnabled' ) ) {
694
-                            $post_content = $this->fill_post_template( $form['postContentTemplate'], $form, $entry_tmp, true );
693
+                        if ( rgar( $form, 'postContentTemplateEnabled' ) ) {
694
+                            $post_content = $this->fill_post_template( $form[ 'postContentTemplate' ], $form, $entry_tmp, true );
695 695
                         }
696 696
                         $updated_post->post_content = $post_content;
697 697
                         unset( $post_content );
@@ -709,12 +709,12 @@  discard block
 block discarded – undo
709 709
 							$value = $value[ $field_id ];
710 710
 						}
711 711
 
712
-                        if( ! empty( $field->customFieldTemplateEnabled ) ) {
712
+                        if ( ! empty( $field->customFieldTemplateEnabled ) ) {
713 713
                             $value = $this->fill_post_template( $field->customFieldTemplate, $form, $entry_tmp, true );
714 714
                         }
715 715
 
716 716
 	                    if ( $this->is_field_json_encoded( $field ) && ! is_string( $value ) ) {
717
-		                    $value = function_exists('wp_json_encode') ? wp_json_encode( $value ) : json_encode( $value );
717
+		                    $value = function_exists( 'wp_json_encode' ) ? wp_json_encode( $value ) : json_encode( $value );
718 718
 	                    }
719 719
 
720 720
                         update_post_meta( $post_id, $field->postCustomFieldName, $value );
@@ -727,7 +727,7 @@  discard block
 block discarded – undo
727 727
                 }
728 728
 
729 729
                 // update entry after
730
-                $this->entry["{$field_id}"] = $value;
730
+                $this->entry[ "{$field_id}" ] = $value;
731 731
 
732 732
                 $update_entry = true;
733 733
 
@@ -736,25 +736,25 @@  discard block
 block discarded – undo
736 736
 
737 737
         }
738 738
 
739
-        if( $update_entry ) {
739
+        if ( $update_entry ) {
740 740
 
741 741
             $return_entry = GFAPI::update_entry( $this->entry );
742 742
 
743
-            if( is_wp_error( $return_entry ) ) {
743
+            if ( is_wp_error( $return_entry ) ) {
744 744
                do_action( 'gravityview_log_error', 'Updating the entry post fields failed', array( '$this->entry' => $this->entry, '$return_entry' => $return_entry ) );
745 745
             } else {
746
-                do_action( 'gravityview_log_debug', 'Updating the entry post fields for post #'.$post_id.' succeeded' );
746
+                do_action( 'gravityview_log_debug', 'Updating the entry post fields for post #' . $post_id . ' succeeded' );
747 747
             }
748 748
 
749 749
         }
750 750
 
751 751
         $return_post = wp_update_post( $updated_post, true );
752 752
 
753
-        if( is_wp_error( $return_post ) ) {
753
+        if ( is_wp_error( $return_post ) ) {
754 754
             $return_post->add_data( $updated_post, '$updated_post' );
755 755
             do_action( 'gravityview_log_error', 'Updating the post content failed', compact( 'updated_post', 'return_post' ) );
756 756
         } else {
757
-            do_action( 'gravityview_log_debug', 'Updating the post content for post #'.$post_id.' succeeded', $updated_post );
757
+            do_action( 'gravityview_log_debug', 'Updating the post content for post #' . $post_id . ' succeeded', $updated_post );
758 758
         }
759 759
     }
760 760
 
@@ -772,7 +772,7 @@  discard block
 block discarded – undo
772 772
         $input_type = RGFormsModel::get_input_type( $field );
773 773
 
774 774
 	    // Only certain custom field types are supported
775
-	    switch( $input_type ) {
775
+	    switch ( $input_type ) {
776 776
 		    case 'fileupload':
777 777
 		    case 'list':
778 778
 		    case 'multiselect':
@@ -809,7 +809,7 @@  discard block
 block discarded – undo
809 809
         $output = GFCommon::replace_variables( $output, $form, $entry, false, false, false );
810 810
 
811 811
         // replace conditional shortcodes
812
-        if( $do_shortcode ) {
812
+        if ( $do_shortcode ) {
813 813
             $output = do_shortcode( $output );
814 814
         }
815 815
 
@@ -828,19 +828,19 @@  discard block
 block discarded – undo
828 828
      */
829 829
     private function after_update() {
830 830
 
831
-        do_action( 'gform_after_update_entry', $this->form, $this->entry['id'], self::$original_entry );
832
-        do_action( "gform_after_update_entry_{$this->form['id']}", $this->form, $this->entry['id'], self::$original_entry );
831
+        do_action( 'gform_after_update_entry', $this->form, $this->entry[ 'id' ], self::$original_entry );
832
+        do_action( "gform_after_update_entry_{$this->form[ 'id' ]}", $this->form, $this->entry[ 'id' ], self::$original_entry );
833 833
 
834 834
         // Re-define the entry now that we've updated it.
835
-        $entry = RGFormsModel::get_lead( $this->entry['id'] );
835
+        $entry = RGFormsModel::get_lead( $this->entry[ 'id' ] );
836 836
 
837 837
         $entry = GFFormsModel::set_entry_meta( $entry, $this->form );
838 838
 
839 839
 		if ( ! method_exists( 'GFFormsModel', 'get_entry_meta_table_name' ) ) {
840 840
 			// We need to clear the cache because Gravity Forms caches the field values, which
841 841
 			// we have just updated.
842
-			foreach ($this->form['fields'] as $key => $field) {
843
-				GFFormsModel::refresh_lead_field_value( $entry['id'], $field->id );
842
+			foreach ( $this->form[ 'fields' ] as $key => $field ) {
843
+				GFFormsModel::refresh_lead_field_value( $entry[ 'id' ], $field->id );
844 844
 			}
845 845
 		}
846 846
 
@@ -859,7 +859,7 @@  discard block
 block discarded – undo
859 859
 
860 860
         <div class="gv-edit-entry-wrapper"><?php
861 861
 
862
-            $javascript = gravityview_ob_include( GravityView_Edit_Entry::$file .'/partials/inline-javascript.php', $this );
862
+            $javascript = gravityview_ob_include( GravityView_Edit_Entry::$file . '/partials/inline-javascript.php', $this );
863 863
 
864 864
             /**
865 865
              * Fixes weird wpautop() issue
@@ -875,7 +875,7 @@  discard block
 block discarded – undo
875 875
                      * @param string $edit_entry_title Modify the "Edit Entry" title
876 876
                      * @param GravityView_Edit_Entry_Render $this This object
877 877
                      */
878
-                    $edit_entry_title = apply_filters('gravityview_edit_entry_title', __('Edit Entry', 'gravityview'), $this );
878
+                    $edit_entry_title = apply_filters( 'gravityview_edit_entry_title', __( 'Edit Entry', 'gravityview' ), $this );
879 879
 
880 880
                     echo esc_attr( $edit_entry_title );
881 881
             ?></span>
@@ -921,20 +921,20 @@  discard block
 block discarded – undo
921 921
      */
922 922
     private function maybe_print_message() {
923 923
 
924
-        if( rgpost('action') === 'update' ) {
924
+        if ( rgpost( 'action' ) === 'update' ) {
925 925
 
926 926
             $back_link = esc_url( remove_query_arg( array( 'page', 'view', 'edit' ) ) );
927 927
 
928
-            if( ! $this->is_valid ){
928
+            if ( ! $this->is_valid ) {
929 929
 
930 930
                 // Keeping this compatible with Gravity Forms.
931
-                $validation_message = "<div class='validation_error'>" . __('There was a problem with your submission.', 'gravityview') . " " . __('Errors have been highlighted below.', 'gravityview') . "</div>";
932
-                $message = apply_filters("gform_validation_message_{$this->form['id']}", apply_filters("gform_validation_message", $validation_message, $this->form), $this->form);
931
+                $validation_message = "<div class='validation_error'>" . __( 'There was a problem with your submission.', 'gravityview' ) . " " . __( 'Errors have been highlighted below.', 'gravityview' ) . "</div>";
932
+                $message = apply_filters( "gform_validation_message_{$this->form[ 'id' ]}", apply_filters( "gform_validation_message", $validation_message, $this->form ), $this->form );
933 933
 
934
-                echo GVCommon::generate_notice( $message , 'gv-error' );
934
+                echo GVCommon::generate_notice( $message, 'gv-error' );
935 935
 
936 936
             } else {
937
-                $entry_updated_message = sprintf( esc_attr__('Entry Updated. %sReturn to Entry%s', 'gravityview'), '<a href="'. $back_link .'">', '</a>' );
937
+                $entry_updated_message = sprintf( esc_attr__( 'Entry Updated. %sReturn to Entry%s', 'gravityview' ), '<a href="' . $back_link . '">', '</a>' );
938 938
 
939 939
                 /**
940 940
                  * @filter `gravityview/edit_entry/success` Modify the edit entry success message (including the anchor link)
@@ -944,7 +944,7 @@  discard block
 block discarded – undo
944 944
                  * @param array $entry Gravity Forms entry array
945 945
                  * @param string $back_link URL to return to the original entry. @since 1.6
946 946
                  */
947
-                $message = apply_filters( 'gravityview/edit_entry/success', $entry_updated_message , $this->view_id, $this->entry, $back_link );
947
+                $message = apply_filters( 'gravityview/edit_entry/success', $entry_updated_message, $this->view_id, $this->entry, $back_link );
948 948
 
949 949
                 echo GVCommon::generate_notice( $message );
950 950
             }
@@ -968,21 +968,21 @@  discard block
 block discarded – undo
968 968
          */
969 969
         do_action( 'gravityview/edit-entry/render/before', $this );
970 970
 
971
-        add_filter( 'gform_pre_render', array( $this, 'filter_modify_form_fields'), 5000, 3 );
972
-        add_filter( 'gform_submit_button', array( $this, 'render_form_buttons') );
971
+        add_filter( 'gform_pre_render', array( $this, 'filter_modify_form_fields' ), 5000, 3 );
972
+        add_filter( 'gform_submit_button', array( $this, 'render_form_buttons' ) );
973 973
         add_filter( 'gform_disable_view_counter', '__return_true' );
974 974
 
975 975
         add_filter( 'gform_field_input', array( $this, 'verify_user_can_edit_post' ), 5, 5 );
976 976
         add_filter( 'gform_field_input', array( $this, 'modify_edit_field_input' ), 10, 5 );
977 977
 
978 978
         // We need to remove the fake $_GET['page'] arg to avoid rendering form as if in admin.
979
-        unset( $_GET['page'] );
979
+        unset( $_GET[ 'page' ] );
980 980
 
981 981
         // TODO: Verify multiple-page forms
982 982
 
983 983
         ob_start(); // Prevent PHP warnings possibly caused by prefilling list fields for conditional logic
984 984
 
985
-        $html = GFFormDisplay::get_form( $this->form['id'], false, false, true, $this->entry );
985
+        $html = GFFormDisplay::get_form( $this->form[ 'id' ], false, false, true, $this->entry );
986 986
 
987 987
         ob_get_clean();
988 988
 
@@ -1008,7 +1008,7 @@  discard block
 block discarded – undo
1008 1008
      * @return string
1009 1009
      */
1010 1010
     public function render_form_buttons() {
1011
-        return gravityview_ob_include( GravityView_Edit_Entry::$file .'/partials/form-buttons.php', $this );
1011
+        return gravityview_ob_include( GravityView_Edit_Entry::$file . '/partials/form-buttons.php', $this );
1012 1012
     }
1013 1013
 
1014 1014
 
@@ -1028,10 +1028,10 @@  discard block
 block discarded – undo
1028 1028
     public function filter_modify_form_fields( $form, $ajax = false, $field_values = '' ) {
1029 1029
 
1030 1030
         // In case we have validated the form, use it to inject the validation results into the form render
1031
-        if( isset( $this->form_after_validation ) ) {
1031
+        if ( isset( $this->form_after_validation ) ) {
1032 1032
             $form = $this->form_after_validation;
1033 1033
         } else {
1034
-            $form['fields'] = $this->get_configured_edit_fields( $form, $this->view_id );
1034
+            $form[ 'fields' ] = $this->get_configured_edit_fields( $form, $this->view_id );
1035 1035
         }
1036 1036
 
1037 1037
         $form = $this->filter_conditional_logic( $form );
@@ -1039,8 +1039,8 @@  discard block
 block discarded – undo
1039 1039
         $form = $this->prefill_conditional_logic( $form );
1040 1040
 
1041 1041
         // for now we don't support Save and Continue feature.
1042
-        if( ! self::$supports_save_and_continue ) {
1043
-	        unset( $form['save'] );
1042
+        if ( ! self::$supports_save_and_continue ) {
1043
+	        unset( $form[ 'save' ] );
1044 1044
         }
1045 1045
 
1046 1046
         return $form;
@@ -1061,29 +1061,29 @@  discard block
 block discarded – undo
1061 1061
      */
1062 1062
     public function verify_user_can_edit_post( $field_content = '', $field, $value, $lead_id = 0, $form_id ) {
1063 1063
 
1064
-        if( GFCommon::is_post_field( $field ) ) {
1064
+        if ( GFCommon::is_post_field( $field ) ) {
1065 1065
 
1066 1066
             $message = null;
1067 1067
 
1068 1068
             // First, make sure they have the capability to edit the post.
1069
-            if( false === current_user_can( 'edit_post', $this->entry['post_id'] ) ) {
1069
+            if ( false === current_user_can( 'edit_post', $this->entry[ 'post_id' ] ) ) {
1070 1070
 
1071 1071
                 /**
1072 1072
                  * @filter `gravityview/edit_entry/unsupported_post_field_text` Modify the message when someone isn't able to edit a post
1073 1073
                  * @param string $message The existing "You don't have permission..." text
1074 1074
                  */
1075
-                $message = apply_filters('gravityview/edit_entry/unsupported_post_field_text', __('You don&rsquo;t have permission to edit this post.', 'gravityview') );
1075
+                $message = apply_filters( 'gravityview/edit_entry/unsupported_post_field_text', __( 'You don&rsquo;t have permission to edit this post.', 'gravityview' ) );
1076 1076
 
1077
-            } elseif( null === get_post( $this->entry['post_id'] ) ) {
1077
+            } elseif ( null === get_post( $this->entry[ 'post_id' ] ) ) {
1078 1078
                 /**
1079 1079
                  * @filter `gravityview/edit_entry/no_post_text` Modify the message when someone is editing an entry attached to a post that no longer exists
1080 1080
                  * @param string $message The existing "This field is not editable; the post no longer exists." text
1081 1081
                  */
1082
-                $message = apply_filters('gravityview/edit_entry/no_post_text', __('This field is not editable; the post no longer exists.', 'gravityview' ) );
1082
+                $message = apply_filters( 'gravityview/edit_entry/no_post_text', __( 'This field is not editable; the post no longer exists.', 'gravityview' ) );
1083 1083
             }
1084 1084
 
1085
-            if( $message ) {
1086
-                $field_content = sprintf('<div class="ginput_container ginput_container_' . $field->type . '">%s</div>', wpautop( $message ) );
1085
+            if ( $message ) {
1086
+                $field_content = sprintf( '<div class="ginput_container ginput_container_' . $field->type . '">%s</div>', wpautop( $message ) );
1087 1087
             }
1088 1088
         }
1089 1089
 
@@ -1108,8 +1108,8 @@  discard block
 block discarded – undo
1108 1108
 
1109 1109
         // If the form has been submitted, then we don't need to pre-fill the values,
1110 1110
         // Except for fileupload type and when a field input is overridden- run always!!
1111
-        if(
1112
-            ( $this->is_edit_entry_submission() && !in_array( $field->type, array( 'fileupload', 'post_image' ) ) )
1111
+        if (
1112
+            ( $this->is_edit_entry_submission() && ! in_array( $field->type, array( 'fileupload', 'post_image' ) ) )
1113 1113
             && false === ( $gv_field && is_callable( array( $gv_field, 'get_field_input' ) ) )
1114 1114
             && ! GFCommon::is_product_field( $field->type )
1115 1115
             || ! empty( $field_content )
@@ -1129,7 +1129,7 @@  discard block
 block discarded – undo
1129 1129
 	    $return = null;
1130 1130
 
1131 1131
         /** @var GravityView_Field $gv_field */
1132
-        if( $gv_field && is_callable( array( $gv_field, 'get_field_input' ) ) ) {
1132
+        if ( $gv_field && is_callable( array( $gv_field, 'get_field_input' ) ) ) {
1133 1133
             $return = $gv_field->get_field_input( $this->form, $field_value, $this->entry, $field );
1134 1134
         } else {
1135 1135
 	        $return = $field->get_field_input( $this->form, $field_value, $this->entry );
@@ -1138,7 +1138,7 @@  discard block
 block discarded – undo
1138 1138
 	    // If there was output, it's an error
1139 1139
 	    $warnings = ob_get_clean();
1140 1140
 
1141
-	    if( !empty( $warnings ) ) {
1141
+	    if ( ! empty( $warnings ) ) {
1142 1142
 		    do_action( 'gravityview_log_error', __METHOD__ . $warnings, $field_value );
1143 1143
 	    }
1144 1144
 
@@ -1163,7 +1163,7 @@  discard block
 block discarded – undo
1163 1163
         $override_saved_value = apply_filters( 'gravityview/edit_entry/pre_populate/override', false, $field );
1164 1164
 
1165 1165
         // We're dealing with multiple inputs (e.g. checkbox) but not time or date (as it doesn't store data in input IDs)
1166
-        if( isset( $field->inputs ) && is_array( $field->inputs ) && !in_array( $field->type, array( 'time', 'date' ) ) ) {
1166
+        if ( isset( $field->inputs ) && is_array( $field->inputs ) && ! in_array( $field->type, array( 'time', 'date' ) ) ) {
1167 1167
 
1168 1168
             $field_value = array();
1169 1169
 
@@ -1172,10 +1172,10 @@  discard block
 block discarded – undo
1172 1172
 
1173 1173
             foreach ( (array)$field->inputs as $input ) {
1174 1174
 
1175
-                $input_id = strval( $input['id'] );
1175
+                $input_id = strval( $input[ 'id' ] );
1176 1176
                 
1177 1177
                 if ( isset( $this->entry[ $input_id ] ) && ! gv_empty( $this->entry[ $input_id ], false, false ) ) {
1178
-                    $field_value[ $input_id ] =  'post_category' === $field->type ? GFCommon::format_post_category( $this->entry[ $input_id ], true ) : $this->entry[ $input_id ];
1178
+                    $field_value[ $input_id ] = 'post_category' === $field->type ? GFCommon::format_post_category( $this->entry[ $input_id ], true ) : $this->entry[ $input_id ];
1179 1179
                     $allow_pre_populated = false;
1180 1180
                 }
1181 1181
 
@@ -1183,7 +1183,7 @@  discard block
 block discarded – undo
1183 1183
 
1184 1184
             $pre_value = $field->get_value_submission( array(), false );
1185 1185
 
1186
-            $field_value = ! $allow_pre_populated && ! ( $override_saved_value && !gv_empty( $pre_value, false, false ) ) ? $field_value : $pre_value;
1186
+            $field_value = ! $allow_pre_populated && ! ( $override_saved_value && ! gv_empty( $pre_value, false, false ) ) ? $field_value : $pre_value;
1187 1187
 
1188 1188
         } else {
1189 1189
 
@@ -1194,13 +1194,13 @@  discard block
 block discarded – undo
1194 1194
 
1195 1195
             // saved field entry value (if empty, fallback to the pre-populated value, if exists)
1196 1196
             // or pre-populated value if not empty and set to override saved value
1197
-            $field_value = !gv_empty( $this->entry[ $id ], false, false ) && ! ( $override_saved_value && !gv_empty( $pre_value, false, false ) ) ? $this->entry[ $id ] : $pre_value;
1197
+            $field_value = ! gv_empty( $this->entry[ $id ], false, false ) && ! ( $override_saved_value && ! gv_empty( $pre_value, false, false ) ) ? $this->entry[ $id ] : $pre_value;
1198 1198
 
1199 1199
             // in case field is post_category but inputType is select, multi-select or radio, convert value into array of category IDs.
1200
-            if ( 'post_category' === $field->type && !gv_empty( $field_value, false, false ) ) {
1200
+            if ( 'post_category' === $field->type && ! gv_empty( $field_value, false, false ) ) {
1201 1201
                 $categories = array();
1202 1202
                 foreach ( explode( ',', $field_value ) as $cat_string ) {
1203
-                    $categories[] = GFCommon::format_post_category( $cat_string, true );
1203
+                    $categories[ ] = GFCommon::format_post_category( $cat_string, true );
1204 1204
                 }
1205 1205
                 $field_value = 'multiselect' === $field->get_input_type() ? $categories : implode( '', $categories );
1206 1206
             }
@@ -1228,7 +1228,7 @@  discard block
 block discarded – undo
1228 1228
 	     * @param GF_Field $field Gravity Forms field object
1229 1229
 	     * @param GravityView_Edit_Entry_Render $this Current object
1230 1230
 	     */
1231
-	    $field_value = apply_filters( 'gravityview/edit_entry/field_value_' . $field->type , $field_value, $field, $this );
1231
+	    $field_value = apply_filters( 'gravityview/edit_entry/field_value_' . $field->type, $field_value, $field, $this );
1232 1232
 
1233 1233
         return $field_value;
1234 1234
     }
@@ -1245,12 +1245,12 @@  discard block
 block discarded – undo
1245 1245
      */
1246 1246
     public function gform_pre_validation( $form ) {
1247 1247
 
1248
-        if( ! $this->verify_nonce() ) {
1248
+        if ( ! $this->verify_nonce() ) {
1249 1249
             return $form;
1250 1250
         }
1251 1251
 
1252 1252
         // Fix PHP warning regarding undefined index.
1253
-        foreach ( $form['fields'] as &$field) {
1253
+        foreach ( $form[ 'fields' ] as &$field ) {
1254 1254
 
1255 1255
             // This is because we're doing admin form pretending to be front-end, so Gravity Forms
1256 1256
             // expects certain field array items to be set.
@@ -1258,7 +1258,7 @@  discard block
 block discarded – undo
1258 1258
 	            $field->{$key} = isset( $field->{$key} ) ? $field->{$key} : NULL;
1259 1259
             }
1260 1260
 
1261
-            switch( RGFormsModel::get_input_type( $field ) ) {
1261
+            switch ( RGFormsModel::get_input_type( $field ) ) {
1262 1262
 
1263 1263
                 /**
1264 1264
                  * this whole fileupload hack is because in the admin, Gravity Forms simply doesn't update any fileupload field if it's empty, but it DOES in the frontend.
@@ -1272,37 +1272,37 @@  discard block
 block discarded – undo
1272 1272
                     // Set the previous value
1273 1273
                     $entry = $this->get_entry();
1274 1274
 
1275
-                    $input_name = 'input_'.$field->id;
1276
-                    $form_id = $form['id'];
1275
+                    $input_name = 'input_' . $field->id;
1276
+                    $form_id = $form[ 'id' ];
1277 1277
 
1278 1278
                     $value = NULL;
1279 1279
 
1280 1280
                     // Use the previous entry value as the default.
1281
-                    if( isset( $entry[ $field->id ] ) ) {
1281
+                    if ( isset( $entry[ $field->id ] ) ) {
1282 1282
                         $value = $entry[ $field->id ];
1283 1283
                     }
1284 1284
 
1285 1285
                     // If this is a single upload file
1286
-                    if( !empty( $_FILES[ $input_name ] ) && !empty( $_FILES[ $input_name ]['name'] ) ) {
1287
-                        $file_path = GFFormsModel::get_file_upload_path( $form['id'], $_FILES[ $input_name ]['name'] );
1288
-                        $value = $file_path['url'];
1286
+                    if ( ! empty( $_FILES[ $input_name ] ) && ! empty( $_FILES[ $input_name ][ 'name' ] ) ) {
1287
+                        $file_path = GFFormsModel::get_file_upload_path( $form[ 'id' ], $_FILES[ $input_name ][ 'name' ] );
1288
+                        $value = $file_path[ 'url' ];
1289 1289
 
1290 1290
                     } else {
1291 1291
 
1292 1292
                         // Fix PHP warning on line 1498 of form_display.php for post_image fields
1293 1293
                         // Fix PHP Notice:  Undefined index:  size in form_display.php on line 1511
1294
-                        $_FILES[ $input_name ] = array('name' => '', 'size' => '' );
1294
+                        $_FILES[ $input_name ] = array( 'name' => '', 'size' => '' );
1295 1295
 
1296 1296
                     }
1297 1297
 
1298
-                    if( rgar($field, "multipleFiles") ) {
1298
+                    if ( rgar( $field, "multipleFiles" ) ) {
1299 1299
 
1300 1300
                         // If there are fresh uploads, process and merge them.
1301 1301
                         // Otherwise, use the passed values, which should be json-encoded array of URLs
1302
-                        if( isset( GFFormsModel::$uploaded_files[$form_id][$input_name] ) ) {
1302
+                        if ( isset( GFFormsModel::$uploaded_files[ $form_id ][ $input_name ] ) ) {
1303 1303
                             $value = empty( $value ) ? '[]' : $value;
1304 1304
                             $value = stripslashes_deep( $value );
1305
-                            $value = GFFormsModel::prepare_value( $form, $field, $value, $input_name, $entry['id'], array());
1305
+                            $value = GFFormsModel::prepare_value( $form, $field, $value, $input_name, $entry[ 'id' ], array() );
1306 1306
                         }
1307 1307
 
1308 1308
                     } else {
@@ -1320,8 +1320,8 @@  discard block
 block discarded – undo
1320 1320
 
1321 1321
                 case 'number':
1322 1322
                     // Fix "undefined index" issue at line 1286 in form_display.php
1323
-                    if( !isset( $_POST['input_'.$field->id ] ) ) {
1324
-                        $_POST['input_'.$field->id ] = NULL;
1323
+                    if ( ! isset( $_POST[ 'input_' . $field->id ] ) ) {
1324
+                        $_POST[ 'input_' . $field->id ] = NULL;
1325 1325
                     }
1326 1326
                     break;
1327 1327
             }
@@ -1358,7 +1358,7 @@  discard block
 block discarded – undo
1358 1358
          * You can enter whatever you want!
1359 1359
          * We try validating, and customize the results using `self::custom_validation()`
1360 1360
          */
1361
-        add_filter( 'gform_validation_'. $this->form_id, array( $this, 'custom_validation' ), 10, 4);
1361
+        add_filter( 'gform_validation_' . $this->form_id, array( $this, 'custom_validation' ), 10, 4 );
1362 1362
 
1363 1363
         // Needed by the validate funtion
1364 1364
         $failed_validation_page = NULL;
@@ -1366,14 +1366,14 @@  discard block
 block discarded – undo
1366 1366
 
1367 1367
         // Prevent entry limit from running when editing an entry, also
1368 1368
         // prevent form scheduling from preventing editing
1369
-        unset( $this->form['limitEntries'], $this->form['scheduleForm'] );
1369
+        unset( $this->form[ 'limitEntries' ], $this->form[ 'scheduleForm' ] );
1370 1370
 
1371 1371
         // Hide fields depending on Edit Entry settings
1372
-        $this->form['fields'] = $this->get_configured_edit_fields( $this->form, $this->view_id );
1372
+        $this->form[ 'fields' ] = $this->get_configured_edit_fields( $this->form, $this->view_id );
1373 1373
 
1374 1374
         $this->is_valid = GFFormDisplay::validate( $this->form, $field_values, 1, $failed_validation_page );
1375 1375
 
1376
-        remove_filter( 'gform_validation_'. $this->form_id, array( $this, 'custom_validation' ), 10 );
1376
+        remove_filter( 'gform_validation_' . $this->form_id, array( $this, 'custom_validation' ), 10 );
1377 1377
     }
1378 1378
 
1379 1379
 
@@ -1390,13 +1390,13 @@  discard block
 block discarded – undo
1390 1390
      */
1391 1391
     public function custom_validation( $validation_results ) {
1392 1392
 
1393
-        do_action('gravityview_log_debug', 'GravityView_Edit_Entry[custom_validation] Validation results: ', $validation_results );
1393
+        do_action( 'gravityview_log_debug', 'GravityView_Edit_Entry[custom_validation] Validation results: ', $validation_results );
1394 1394
 
1395
-        do_action('gravityview_log_debug', 'GravityView_Edit_Entry[custom_validation] $_POSTed data (sanitized): ', esc_html( print_r( $_POST, true ) ) );
1395
+        do_action( 'gravityview_log_debug', 'GravityView_Edit_Entry[custom_validation] $_POSTed data (sanitized): ', esc_html( print_r( $_POST, true ) ) );
1396 1396
 
1397 1397
         $gv_valid = true;
1398 1398
 
1399
-        foreach ( $validation_results['form']['fields'] as $key => &$field ) {
1399
+        foreach ( $validation_results[ 'form' ][ 'fields' ] as $key => &$field ) {
1400 1400
 
1401 1401
             $value = RGFormsModel::get_field_value( $field );
1402 1402
             $field_type = RGFormsModel::get_input_type( $field );
@@ -1409,35 +1409,35 @@  discard block
 block discarded – undo
1409 1409
                 case 'post_image':
1410 1410
 
1411 1411
                     // in case nothing is uploaded but there are already files saved
1412
-                    if( !empty( $field->failed_validation ) && !empty( $field->isRequired ) && !empty( $value ) ) {
1412
+                    if ( ! empty( $field->failed_validation ) && ! empty( $field->isRequired ) && ! empty( $value ) ) {
1413 1413
                         $field->failed_validation = false;
1414 1414
                         unset( $field->validation_message );
1415 1415
                     }
1416 1416
 
1417 1417
                     // validate if multi file upload reached max number of files [maxFiles] => 2
1418
-                    if( rgobj( $field, 'maxFiles') && rgobj( $field, 'multipleFiles') ) {
1418
+                    if ( rgobj( $field, 'maxFiles' ) && rgobj( $field, 'multipleFiles' ) ) {
1419 1419
 
1420 1420
                         $input_name = 'input_' . $field->id;
1421 1421
                         //uploaded
1422
-                        $file_names = isset( GFFormsModel::$uploaded_files[ $validation_results['form']['id'] ][ $input_name ] ) ? GFFormsModel::$uploaded_files[ $validation_results['form']['id'] ][ $input_name ] : array();
1422
+                        $file_names = isset( GFFormsModel::$uploaded_files[ $validation_results[ 'form' ][ 'id' ] ][ $input_name ] ) ? GFFormsModel::$uploaded_files[ $validation_results[ 'form' ][ 'id' ] ][ $input_name ] : array();
1423 1423
 
1424 1424
                         //existent
1425 1425
                         $entry = $this->get_entry();
1426 1426
                         $value = NULL;
1427
-                        if( isset( $entry[ $field->id ] ) ) {
1427
+                        if ( isset( $entry[ $field->id ] ) ) {
1428 1428
                             $value = json_decode( $entry[ $field->id ], true );
1429 1429
                         }
1430 1430
 
1431 1431
                         // count uploaded files and existent entry files
1432 1432
                         $count_files = count( $file_names ) + count( $value );
1433 1433
 
1434
-                        if( $count_files > $field->maxFiles ) {
1434
+                        if ( $count_files > $field->maxFiles ) {
1435 1435
                             $field->validation_message = __( 'Maximum number of files reached', 'gravityview' );
1436 1436
                             $field->failed_validation = 1;
1437 1437
                             $gv_valid = false;
1438 1438
 
1439 1439
                             // in case of error make sure the newest upload files are removed from the upload input
1440
-                            GFFormsModel::$uploaded_files[ $validation_results['form']['id'] ] = null;
1440
+                            GFFormsModel::$uploaded_files[ $validation_results[ 'form' ][ 'id' ] ] = null;
1441 1441
                         }
1442 1442
 
1443 1443
                     }
@@ -1448,7 +1448,7 @@  discard block
 block discarded – undo
1448 1448
             }
1449 1449
 
1450 1450
             // This field has failed validation.
1451
-            if( !empty( $field->failed_validation ) ) {
1451
+            if ( ! empty( $field->failed_validation ) ) {
1452 1452
 
1453 1453
                 do_action( 'gravityview_log_debug', 'GravityView_Edit_Entry[custom_validation] Field is invalid.', array( 'field' => $field, 'value' => $value ) );
1454 1454
 
@@ -1466,32 +1466,32 @@  discard block
 block discarded – undo
1466 1466
                 }
1467 1467
 
1468 1468
                 // You can't continue inside a switch, so we do it after.
1469
-                if( empty( $field->failed_validation ) ) {
1469
+                if ( empty( $field->failed_validation ) ) {
1470 1470
                     continue;
1471 1471
                 }
1472 1472
 
1473 1473
                 // checks if the No Duplicates option is not validating entry against itself, since
1474 1474
                 // we're editing a stored entry, it would also assume it's a duplicate.
1475
-                if( !empty( $field->noDuplicates ) ) {
1475
+                if ( ! empty( $field->noDuplicates ) ) {
1476 1476
 
1477 1477
                     $entry = $this->get_entry();
1478 1478
 
1479 1479
                     // If the value of the entry is the same as the stored value
1480 1480
                     // Then we can assume it's not a duplicate, it's the same.
1481
-                    if( !empty( $entry ) && $value == $entry[ $field->id ] ) {
1481
+                    if ( ! empty( $entry ) && $value == $entry[ $field->id ] ) {
1482 1482
                         //if value submitted was not changed, then don't validate
1483 1483
                         $field->failed_validation = false;
1484 1484
 
1485 1485
                         unset( $field->validation_message );
1486 1486
 
1487
-                        do_action('gravityview_log_debug', 'GravityView_Edit_Entry[custom_validation] Field not a duplicate; it is the same entry.', $entry );
1487
+                        do_action( 'gravityview_log_debug', 'GravityView_Edit_Entry[custom_validation] Field not a duplicate; it is the same entry.', $entry );
1488 1488
 
1489 1489
                         continue;
1490 1490
                     }
1491 1491
                 }
1492 1492
 
1493 1493
                 // if here then probably we are facing the validation 'At least one field must be filled out'
1494
-                if( GFFormDisplay::is_empty( $field, $this->form_id  ) && empty( $field->isRequired ) ) {
1494
+                if ( GFFormDisplay::is_empty( $field, $this->form_id ) && empty( $field->isRequired ) ) {
1495 1495
                     unset( $field->validation_message );
1496 1496
 	                $field->validation_message = false;
1497 1497
                     continue;
@@ -1503,12 +1503,12 @@  discard block
 block discarded – undo
1503 1503
 
1504 1504
         }
1505 1505
 
1506
-        $validation_results['is_valid'] = $gv_valid;
1506
+        $validation_results[ 'is_valid' ] = $gv_valid;
1507 1507
 
1508
-        do_action('gravityview_log_debug', 'GravityView_Edit_Entry[custom_validation] Validation results.', $validation_results );
1508
+        do_action( 'gravityview_log_debug', 'GravityView_Edit_Entry[custom_validation] Validation results.', $validation_results );
1509 1509
 
1510 1510
         // We'll need this result when rendering the form ( on GFFormDisplay::get_form )
1511
-        $this->form_after_validation = $validation_results['form'];
1511
+        $this->form_after_validation = $validation_results[ 'form' ];
1512 1512
 
1513 1513
         return $validation_results;
1514 1514
     }
@@ -1521,7 +1521,7 @@  discard block
 block discarded – undo
1521 1521
      */
1522 1522
     public function get_entry() {
1523 1523
 
1524
-        if( empty( $this->entry ) ) {
1524
+        if ( empty( $this->entry ) ) {
1525 1525
             // Get the database value of the entry that's being edited
1526 1526
             $this->entry = gravityview_get_entry( GravityView_frontend::is_single_entry() );
1527 1527
         }
@@ -1556,10 +1556,10 @@  discard block
 block discarded – undo
1556 1556
 		}
1557 1557
 
1558 1558
         // If edit tab not yet configured, show all fields
1559
-        $edit_fields = !empty( $properties['edit_edit-fields'] ) ? $properties['edit_edit-fields'] : NULL;
1559
+        $edit_fields = ! empty( $properties[ 'edit_edit-fields' ] ) ? $properties[ 'edit_edit-fields' ] : NULL;
1560 1560
 
1561 1561
         // Hide fields depending on admin settings
1562
-        $fields = $this->filter_fields( $form['fields'], $edit_fields );
1562
+        $fields = $this->filter_fields( $form[ 'fields' ], $edit_fields );
1563 1563
 
1564 1564
 	    // If Edit Entry fields are configured, remove adminOnly field settings. Otherwise, don't.
1565 1565
 	    $fields = $this->filter_admin_only_fields( $fields, $edit_fields, $form, $view_id );
@@ -1591,7 +1591,7 @@  discard block
 block discarded – undo
1591 1591
      */
1592 1592
     private function filter_fields( $fields, $configured_fields ) {
1593 1593
 
1594
-        if( empty( $fields ) || !is_array( $fields ) ) {
1594
+        if ( empty( $fields ) || ! is_array( $fields ) ) {
1595 1595
             return $fields;
1596 1596
         }
1597 1597
 
@@ -1604,18 +1604,18 @@  discard block
 block discarded – undo
1604 1604
 
1605 1605
             // Remove the fields that have calculation properties and keep them to be used later
1606 1606
             // @since 1.16.2
1607
-            if( $field->has_calculation() ) {
1608
-                $this->fields_with_calculation[] = $field;
1607
+            if ( $field->has_calculation() ) {
1608
+                $this->fields_with_calculation[ ] = $field;
1609 1609
                 // don't remove the calculation fields on form render.
1610 1610
             }
1611 1611
 
1612
-            if( in_array( $field->type, $field_type_blacklist ) ) {
1612
+            if ( in_array( $field->type, $field_type_blacklist ) ) {
1613 1613
                 unset( $fields[ $key ] );
1614 1614
             }
1615 1615
         }
1616 1616
 
1617 1617
         // The Edit tab has not been configured, so we return all fields by default.
1618
-        if( empty( $configured_fields ) ) {
1618
+        if ( empty( $configured_fields ) ) {
1619 1619
             return $fields;
1620 1620
         }
1621 1621
 
@@ -1625,8 +1625,8 @@  discard block
 block discarded – undo
1625 1625
 	        /** @var GF_Field $field */
1626 1626
 	        foreach ( $fields as $field ) {
1627 1627
 
1628
-                if( intval( $configured_field['id'] ) === intval( $field->id ) && $this->user_can_edit_field( $configured_field, false ) ) {
1629
-                    $edit_fields[] = $this->merge_field_properties( $field, $configured_field );
1628
+                if ( intval( $configured_field[ 'id' ] ) === intval( $field->id ) && $this->user_can_edit_field( $configured_field, false ) ) {
1629
+                    $edit_fields[ ] = $this->merge_field_properties( $field, $configured_field );
1630 1630
                     break;
1631 1631
                 }
1632 1632
 
@@ -1649,14 +1649,14 @@  discard block
 block discarded – undo
1649 1649
 
1650 1650
         $return_field = $field;
1651 1651
 
1652
-        if( empty( $field_setting['show_label'] ) ) {
1652
+        if ( empty( $field_setting[ 'show_label' ] ) ) {
1653 1653
             $return_field->label = '';
1654
-        } elseif ( !empty( $field_setting['custom_label'] ) ) {
1655
-            $return_field->label = $field_setting['custom_label'];
1654
+        } elseif ( ! empty( $field_setting[ 'custom_label' ] ) ) {
1655
+            $return_field->label = $field_setting[ 'custom_label' ];
1656 1656
         }
1657 1657
 
1658
-        if( !empty( $field_setting['custom_class'] ) ) {
1659
-            $return_field->cssClass .= ' '. gravityview_sanitize_html_class( $field_setting['custom_class'] );
1658
+        if ( ! empty( $field_setting[ 'custom_class' ] ) ) {
1659
+            $return_field->cssClass .= ' ' . gravityview_sanitize_html_class( $field_setting[ 'custom_class' ] );
1660 1660
         }
1661 1661
 
1662 1662
         /**
@@ -1694,16 +1694,16 @@  discard block
 block discarded – undo
1694 1694
 	     */
1695 1695
 	    $use_gf_adminonly_setting = apply_filters( 'gravityview/edit_entry/use_gf_admin_only_setting', empty( $edit_fields ), $form, $view_id );
1696 1696
 
1697
-	    if( $use_gf_adminonly_setting && false === GVCommon::has_cap( 'gravityforms_edit_entries', $this->entry['id'] ) ) {
1698
-            foreach( $fields as $k => $field ) {
1699
-                if( $field->adminOnly ) {
1697
+	    if ( $use_gf_adminonly_setting && false === GVCommon::has_cap( 'gravityforms_edit_entries', $this->entry[ 'id' ] ) ) {
1698
+            foreach ( $fields as $k => $field ) {
1699
+                if ( $field->adminOnly ) {
1700 1700
                     unset( $fields[ $k ] );
1701 1701
                 }
1702 1702
             }
1703 1703
             return $fields;
1704 1704
         }
1705 1705
 
1706
-	    foreach( $fields as &$field ) {
1706
+	    foreach ( $fields as &$field ) {
1707 1707
 		    $field->adminOnly = false;
1708 1708
         }
1709 1709
 
@@ -1727,22 +1727,22 @@  discard block
 block discarded – undo
1727 1727
      */
1728 1728
     function prefill_conditional_logic( $form ) {
1729 1729
 
1730
-        if( ! GFFormDisplay::has_conditional_logic( $form ) ) {
1730
+        if ( ! GFFormDisplay::has_conditional_logic( $form ) ) {
1731 1731
             return $form;
1732 1732
         }
1733 1733
 
1734 1734
         // Have Conditional Logic pre-fill fields as if the data were default values
1735 1735
         /** @var GF_Field $field */
1736
-        foreach ( $form['fields'] as &$field ) {
1736
+        foreach ( $form[ 'fields' ] as &$field ) {
1737 1737
 
1738
-            if( 'checkbox' === $field->type ) {
1738
+            if ( 'checkbox' === $field->type ) {
1739 1739
                 foreach ( $field->get_entry_inputs() as $key => $input ) {
1740
-                    $input_id = $input['id'];
1740
+                    $input_id = $input[ 'id' ];
1741 1741
                     $choice = $field->choices[ $key ];
1742 1742
                     $value = rgar( $this->entry, $input_id );
1743 1743
                     $match = RGFormsModel::choice_value_match( $field, $choice, $value );
1744
-                    if( $match ) {
1745
-                        $field->choices[ $key ]['isSelected'] = true;
1744
+                    if ( $match ) {
1745
+                        $field->choices[ $key ][ 'isSelected' ] = true;
1746 1746
                     }
1747 1747
                 }
1748 1748
             } else {
@@ -1750,15 +1750,15 @@  discard block
 block discarded – undo
1750 1750
                 // We need to run through each field to set the default values
1751 1751
                 foreach ( $this->entry as $field_id => $field_value ) {
1752 1752
 
1753
-                    if( floatval( $field_id ) === floatval( $field->id ) ) {
1753
+                    if ( floatval( $field_id ) === floatval( $field->id ) ) {
1754 1754
 
1755
-                        if( 'list' === $field->type ) {
1755
+                        if ( 'list' === $field->type ) {
1756 1756
                             $list_rows = maybe_unserialize( $field_value );
1757 1757
 
1758 1758
                             $list_field_value = array();
1759
-                            foreach ( (array) $list_rows as $row ) {
1760
-                                foreach ( (array) $row as $column ) {
1761
-                                    $list_field_value[] = $column;
1759
+                            foreach ( (array)$list_rows as $row ) {
1760
+                                foreach ( (array)$row as $column ) {
1761
+                                    $list_field_value[ ] = $column;
1762 1762
                                 }
1763 1763
                             }
1764 1764
 
@@ -1793,16 +1793,16 @@  discard block
 block discarded – undo
1793 1793
          */
1794 1794
         $use_conditional_logic = apply_filters( 'gravityview/edit_entry/conditional_logic', true, $form );
1795 1795
 
1796
-        if( $use_conditional_logic ) {
1796
+        if ( $use_conditional_logic ) {
1797 1797
             return $form;
1798 1798
         }
1799 1799
 
1800
-        foreach( $form['fields'] as &$field ) {
1800
+        foreach ( $form[ 'fields' ] as &$field ) {
1801 1801
             /* @var GF_Field $field */
1802 1802
             $field->conditionalLogic = null;
1803 1803
         }
1804 1804
 
1805
-        unset( $form['button']['conditionalLogic'] );
1805
+        unset( $form[ 'button' ][ 'conditionalLogic' ] );
1806 1806
 
1807 1807
         return $form;
1808 1808
 
@@ -1819,7 +1819,7 @@  discard block
 block discarded – undo
1819 1819
      */
1820 1820
     public function manage_conditional_logic( $has_conditional_logic, $form ) {
1821 1821
 
1822
-        if( ! $this->is_edit_entry() ) {
1822
+        if ( ! $this->is_edit_entry() ) {
1823 1823
             return $has_conditional_logic;
1824 1824
         }
1825 1825
 
@@ -1851,44 +1851,44 @@  discard block
 block discarded – undo
1851 1851
          *  2. There are two entries embedded using oEmbed
1852 1852
          *  3. One of the entries has just been saved
1853 1853
          */
1854
-        if( !empty( $_POST['lid'] ) && !empty( $_GET['entry'] ) && ( $_POST['lid'] !== $_GET['entry'] ) ) {
1854
+        if ( ! empty( $_POST[ 'lid' ] ) && ! empty( $_GET[ 'entry' ] ) && ( $_POST[ 'lid' ] !== $_GET[ 'entry' ] ) ) {
1855 1855
 
1856 1856
             $error = true;
1857 1857
 
1858 1858
         }
1859 1859
 
1860
-        if( !empty( $_GET['entry'] ) && (string)$this->entry['id'] !== $_GET['entry'] ) {
1860
+        if ( ! empty( $_GET[ 'entry' ] ) && (string)$this->entry[ 'id' ] !== $_GET[ 'entry' ] ) {
1861 1861
 
1862 1862
             $error = true;
1863 1863
 
1864
-        } elseif( ! $this->verify_nonce() ) {
1864
+        } elseif ( ! $this->verify_nonce() ) {
1865 1865
 
1866 1866
             /**
1867 1867
              * If the Entry is embedded, there may be two entries on the same page.
1868 1868
              * If that's the case, and one is being edited, the other should fail gracefully and not display an error.
1869 1869
              */
1870
-            if( GravityView_oEmbed::getInstance()->get_entry_id() ) {
1870
+            if ( GravityView_oEmbed::getInstance()->get_entry_id() ) {
1871 1871
                 $error = true;
1872 1872
             } else {
1873
-                $error = __( 'The link to edit this entry is not valid; it may have expired.', 'gravityview');
1873
+                $error = __( 'The link to edit this entry is not valid; it may have expired.', 'gravityview' );
1874 1874
             }
1875 1875
 
1876 1876
         }
1877 1877
 
1878
-        if( ! GravityView_Edit_Entry::check_user_cap_edit_entry( $this->entry ) ) {
1879
-            $error = __( 'You do not have permission to edit this entry.', 'gravityview');
1878
+        if ( ! GravityView_Edit_Entry::check_user_cap_edit_entry( $this->entry ) ) {
1879
+            $error = __( 'You do not have permission to edit this entry.', 'gravityview' );
1880 1880
         }
1881 1881
 
1882
-        if( $this->entry['status'] === 'trash' ) {
1883
-            $error = __('You cannot edit the entry; it is in the trash.', 'gravityview' );
1882
+        if ( $this->entry[ 'status' ] === 'trash' ) {
1883
+            $error = __( 'You cannot edit the entry; it is in the trash.', 'gravityview' );
1884 1884
         }
1885 1885
 
1886 1886
         // No errors; everything's fine here!
1887
-        if( empty( $error ) ) {
1887
+        if ( empty( $error ) ) {
1888 1888
             return true;
1889 1889
         }
1890 1890
 
1891
-        if( $echo && $error !== true ) {
1891
+        if ( $echo && $error !== true ) {
1892 1892
 
1893 1893
 	        $error = esc_html( $error );
1894 1894
 
@@ -1896,13 +1896,13 @@  discard block
 block discarded – undo
1896 1896
 	         * @since 1.9
1897 1897
 	         */
1898 1898
 	        if ( ! empty( $this->entry ) ) {
1899
-		        $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;" ) );
1899
+		        $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;" ) );
1900 1900
 	        }
1901 1901
 
1902
-            echo GVCommon::generate_notice( wpautop( $error ), 'gv-error error');
1902
+            echo GVCommon::generate_notice( wpautop( $error ), 'gv-error error' );
1903 1903
         }
1904 1904
 
1905
-        do_action('gravityview_log_error', 'GravityView_Edit_Entry[user_can_edit_entry]' . $error );
1905
+        do_action( 'gravityview_log_error', 'GravityView_Edit_Entry[user_can_edit_entry]' . $error );
1906 1906
 
1907 1907
         return false;
1908 1908
     }
@@ -1919,20 +1919,20 @@  discard block
 block discarded – undo
1919 1919
 
1920 1920
         $error = NULL;
1921 1921
 
1922
-        if( ! $this->check_user_cap_edit_field( $field ) ) {
1923
-            $error = __( 'You do not have permission to edit this field.', 'gravityview');
1922
+        if ( ! $this->check_user_cap_edit_field( $field ) ) {
1923
+            $error = __( 'You do not have permission to edit this field.', 'gravityview' );
1924 1924
         }
1925 1925
 
1926 1926
         // No errors; everything's fine here!
1927
-        if( empty( $error ) ) {
1927
+        if ( empty( $error ) ) {
1928 1928
             return true;
1929 1929
         }
1930 1930
 
1931
-        if( $echo ) {
1932
-            echo GVCommon::generate_notice( wpautop( esc_html( $error ) ), 'gv-error error');
1931
+        if ( $echo ) {
1932
+            echo GVCommon::generate_notice( wpautop( esc_html( $error ) ), 'gv-error error' );
1933 1933
         }
1934 1934
 
1935
-        do_action('gravityview_log_error', 'GravityView_Edit_Entry[user_can_edit_field]' . $error );
1935
+        do_action( 'gravityview_log_error', 'GravityView_Edit_Entry[user_can_edit_field]' . $error );
1936 1936
 
1937 1937
         return false;
1938 1938
 
@@ -1950,15 +1950,15 @@  discard block
 block discarded – undo
1950 1950
     private function check_user_cap_edit_field( $field ) {
1951 1951
 
1952 1952
         // If they can edit any entries (as defined in Gravity Forms), we're good.
1953
-        if( GVCommon::has_cap( array( 'gravityforms_edit_entries', 'gravityview_edit_others_entries' ) ) ) {
1953
+        if ( GVCommon::has_cap( array( 'gravityforms_edit_entries', 'gravityview_edit_others_entries' ) ) ) {
1954 1954
             return true;
1955 1955
         }
1956 1956
 
1957
-        $field_cap = isset( $field['allow_edit_cap'] ) ? $field['allow_edit_cap'] : false;
1957
+        $field_cap = isset( $field[ 'allow_edit_cap' ] ) ? $field[ 'allow_edit_cap' ] : false;
1958 1958
 
1959 1959
         // If the field has custom editing capaibilities set, check those
1960
-        if( $field_cap ) {
1961
-            return GVCommon::has_cap( $field['allow_edit_cap'] );
1960
+        if ( $field_cap ) {
1961
+            return GVCommon::has_cap( $field[ 'allow_edit_cap' ] );
1962 1962
         }
1963 1963
 
1964 1964
         return false;
@@ -1972,17 +1972,17 @@  discard block
 block discarded – undo
1972 1972
     public function verify_nonce() {
1973 1973
 
1974 1974
         // Verify form submitted for editing single
1975
-        if( $this->is_edit_entry_submission() ) {
1975
+        if ( $this->is_edit_entry_submission() ) {
1976 1976
             $valid = wp_verify_nonce( $_POST[ self::$nonce_field ], self::$nonce_field );
1977 1977
         }
1978 1978
 
1979 1979
         // Verify
1980
-        else if( ! $this->is_edit_entry() ) {
1980
+        else if ( ! $this->is_edit_entry() ) {
1981 1981
             $valid = false;
1982 1982
         }
1983 1983
 
1984 1984
         else {
1985
-            $valid = wp_verify_nonce( $_GET['edit'], self::$nonce_key );
1985
+            $valid = wp_verify_nonce( $_GET[ 'edit' ], self::$nonce_key );
1986 1986
         }
1987 1987
 
1988 1988
         /**
Please login to merge, or discard this patch.
includes/class-gravityview-uninstall.php 1 patch
Spacing   +10 added lines, -10 removed lines patch added patch discarded remove patch
@@ -42,12 +42,12 @@  discard block
 block discarded – undo
42 42
 		$tables = array();
43 43
 
44 44
 		if ( method_exists( 'GFFormsModel', 'get_entry_meta_table_name' ) ) {
45
-			$tables []= GFFormsModel::get_entry_meta_table_name();
45
+			$tables [ ] = GFFormsModel::get_entry_meta_table_name();
46 46
 		} else if ( method_exists( 'GFFormsModel', 'get_lead_meta_table_name' ) ) {
47
-			$tables []= GFFormsModel::get_lead_meta_table_name();
47
+			$tables [ ] = GFFormsModel::get_lead_meta_table_name();
48 48
 		} else {
49
-			$tables []= $wpdb->prefix . 'rg_lead_meta';
50
-			$tables []= $wpdb->prefix . 'gf_entry_meta';
49
+			$tables [ ] = $wpdb->prefix . 'rg_lead_meta';
50
+			$tables [ ] = $wpdb->prefix . 'gf_entry_meta';
51 51
 		}
52 52
 
53 53
 		$suppress = $wpdb->suppress_errors();
@@ -74,16 +74,16 @@  discard block
 block discarded – undo
74 74
 		$tables = array();
75 75
 
76 76
 		if ( method_exists( 'GFFormsModel', 'get_entry_notes_table_name' ) ) {
77
-			$tables []= GFFormsModel::get_entry_notes_table_name();
77
+			$tables [ ] = GFFormsModel::get_entry_notes_table_name();
78 78
 		} else if ( method_exists( 'GFFormsModel', 'get_lead_notes_table_name' ) ) {
79
-			$tables []= GFFormsModel::get_lead_notes_table_name();
79
+			$tables [ ] = GFFormsModel::get_lead_notes_table_name();
80 80
 		} else {
81
-			$tables []= $wpdb->prefix . 'rg_lead_notes';
82
-			$tables []= $wpdb->prefix . 'gf_entry_notes';
81
+			$tables [ ] = $wpdb->prefix . 'rg_lead_notes';
82
+			$tables [ ] = $wpdb->prefix . 'gf_entry_notes';
83 83
 		}
84 84
 
85
-		$disapproved = __('Disapproved the Entry for GravityView', 'gravityview');
86
-		$approved = __('Approved the Entry for GravityView', 'gravityview');
85
+		$disapproved = __( 'Disapproved the Entry for GravityView', 'gravityview' );
86
+		$approved = __( 'Approved the Entry for GravityView', 'gravityview' );
87 87
 
88 88
 		$suppress = $wpdb->suppress_errors();
89 89
 		foreach ( $tables as $notes_table ) {
Please login to merge, or discard this patch.
plugin-and-theme-hooks/class-gravityview-plugin-hooks-elegant-themes.php 1 patch
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -79,11 +79,11 @@  discard block
 block discarded – undo
79 79
 		}
80 80
 
81 81
 		$sidebars_widgets = wp_get_sidebars_widgets();
82
-		if ( empty( $sidebars_widgets[ $matches[1] ] ) ) {
82
+		if ( empty( $sidebars_widgets[ $matches[ 1 ] ] ) ) {
83 83
 			return $shortcodes;
84 84
 		}
85 85
 
86
-		foreach ( $sidebars_widgets[ $matches[1] ] as $widgets ) {
86
+		foreach ( $sidebars_widgets[ $matches[ 1 ] ] as $widgets ) {
87 87
 			if (
88 88
 				/**
89 89
 				 * Blacklisted widgets.
@@ -92,7 +92,7 @@  discard block
 block discarded – undo
92 92
 				strpos( $widgets, 'gv_recent_entries' ) === 0
93 93
 			) {
94 94
 
95
-					$shortcodes []= 'et_pb_sidebar';
95
+					$shortcodes [ ] = 'et_pb_sidebar';
96 96
 					break;
97 97
 			}
98 98
 		}
Please login to merge, or discard this patch.
includes/class-gravityview-settings.php 2 patches
Indentation   +95 added lines, -95 removed lines patch added patch discarded remove patch
@@ -122,10 +122,10 @@  discard block
 block discarded – undo
122 122
 	}
123 123
 
124 124
 	/**
125
-     * Uninstall all traces of GravityView
126
-     *
127
-     * Note: method is public because parent method is public
128
-     *
125
+	 * Uninstall all traces of GravityView
126
+	 *
127
+	 * Note: method is public because parent method is public
128
+	 *
129 129
 	 * @return bool
130 130
 	 */
131 131
 	public function uninstall() {
@@ -137,53 +137,53 @@  discard block
 block discarded – undo
137 137
 		$uninstaller->fire_everything();
138 138
 
139 139
 		/**
140
-         * Set the path so that Gravity Forms can de-activate GravityView
141
-         * @see GFAddOn::uninstall_addon
142
-         * @uses deactivate_plugins()
143
-         */
140
+		 * Set the path so that Gravity Forms can de-activate GravityView
141
+		 * @see GFAddOn::uninstall_addon
142
+		 * @uses deactivate_plugins()
143
+		 */
144 144
 		$this->_path = GRAVITYVIEW_FILE;
145 145
 
146 146
 		return true;
147 147
 	}
148 148
 
149 149
 	/**
150
-     * Get an array of reasons why the plugin might be uninstalled
151
-     *
152
-     * @since 1.17.5
153
-     *
150
+	 * Get an array of reasons why the plugin might be uninstalled
151
+	 *
152
+	 * @since 1.17.5
153
+	 *
154 154
 	 * @return array Array of reasons with the label and followup questions for each uninstall reason
155 155
 	 */
156 156
 	private function get_uninstall_reasons() {
157 157
 
158 158
 		$reasons = array(
159 159
 			'will-continue' => array(
160
-                'label' => esc_html__( 'I am going to continue using GravityView', 'gravityview' ),
161
-            ),
160
+				'label' => esc_html__( 'I am going to continue using GravityView', 'gravityview' ),
161
+			),
162 162
 			'no-longer-need' => array(
163
-                'label' => esc_html__( 'I no longer need GravityView', 'gravityview' ),
164
-            ),
163
+				'label' => esc_html__( 'I no longer need GravityView', 'gravityview' ),
164
+			),
165 165
 			'doesnt-work' => array(
166
-                'label' => esc_html__( 'The plugin doesn\'t work', 'gravityview' ),
167
-            ),
166
+				'label' => esc_html__( 'The plugin doesn\'t work', 'gravityview' ),
167
+			),
168 168
 			'found-other' => array(
169
-                'label' => esc_html__( 'I found a better plugin', 'gravityview' ),
170
-                'followup' => esc_attr__('What plugin you are using, and why?', 'gravityview'),
171
-            ),
169
+				'label' => esc_html__( 'I found a better plugin', 'gravityview' ),
170
+				'followup' => esc_attr__('What plugin you are using, and why?', 'gravityview'),
171
+			),
172 172
 			'other' => array(
173
-                'label' => esc_html__( 'Other', 'gravityview' ),
174
-            ),
173
+				'label' => esc_html__( 'Other', 'gravityview' ),
174
+			),
175 175
 		);
176 176
 
177 177
 		shuffle( $reasons );
178 178
 
179 179
 		return $reasons;
180
-    }
180
+	}
181 181
 
182 182
 	/**
183
-     * Display a feedback form when the plugin is uninstalled
184
-     *
185
-     * @since 1.17.5
186
-     *
183
+	 * Display a feedback form when the plugin is uninstalled
184
+	 *
185
+	 * @since 1.17.5
186
+	 *
187 187
 	 * @return string HTML of the uninstallation form
188 188
 	 */
189 189
 	public function uninstall_form() {
@@ -263,7 +263,7 @@  discard block
 block discarded – undo
263 263
             <h2><?php esc_html_e( 'Why did you uninstall GravityView?', 'gravityview' ); ?></h2>
264 264
             <ul>
265 265
 				<?php
266
-                $reasons = $this->get_uninstall_reasons();
266
+				$reasons = $this->get_uninstall_reasons();
267 267
 				foreach ( $reasons as $reason ) {
268 268
 					printf( '<li><label><input name="reason" type="radio" value="other" data-followup="%s"> %s</label></li>', rgar( $reason, 'followup' ), rgar( $reason, 'label' ) );
269 269
 				}
@@ -426,7 +426,7 @@  discard block
 block discarded – undo
426 426
 		$license_key = self::getSetting('license_key');
427 427
 		if( '' === $license_key ) {
428 428
 			$license_status = 'inactive';
429
-        }
429
+		}
430 430
 		$license_id = empty( $license_key ) ? 'license' : $license_key;
431 431
 
432 432
 		$message = esc_html__('Your GravityView license %s. This means you&rsquo;re missing out on updates and support! %sActivate your license%s or %sget a license here%s.', 'gravityview');
@@ -441,7 +441,7 @@  discard block
 block discarded – undo
441 441
 		$update_below = false;
442 442
 		$primary_button_link = admin_url( 'edit.php?post_type=gravityview&amp;page=gravityview_settings' );
443 443
 
444
-        switch ( $license_status ) {
444
+		switch ( $license_status ) {
445 445
 			/** @since 1.17 */
446 446
 			case 'expired':
447 447
 				$title = __('Expired License', 'gravityview');
@@ -487,12 +487,12 @@  discard block
 block discarded – undo
487 487
 	}
488 488
 
489 489
 	/**
490
-     * Add tooltip script to app settings page. Not enqueued by Gravity Forms for some reason.
491
-     *
492
-     * @since 1.21.5
493
-     *
494
-     * @see GFAddOn::scripts()
495
-     *
490
+	 * Add tooltip script to app settings page. Not enqueued by Gravity Forms for some reason.
491
+	 *
492
+	 * @since 1.21.5
493
+	 *
494
+	 * @see GFAddOn::scripts()
495
+	 *
496 496
 	 * @return array Array of scripts
497 497
 	 */
498 498
 	public function scripts() {
@@ -501,10 +501,10 @@  discard block
 block discarded – undo
501 501
 		$scripts[] = array(
502 502
 			'handle'  => 'gform_tooltip_init',
503 503
 			'enqueue' => array(
504
-                array(
505
-			        'admin_page' => array( 'app_settings' )
506
-                )
507
-            )
504
+				array(
505
+					'admin_page' => array( 'app_settings' )
506
+				)
507
+			)
508 508
 		);
509 509
 
510 510
 		return $scripts;
@@ -523,10 +523,10 @@  discard block
 block discarded – undo
523 523
 			'src'     => plugins_url( 'assets/css/admin-settings.css', GRAVITYVIEW_FILE ),
524 524
 			'version' => GravityView_Plugin::version,
525 525
 			"deps" => array(
526
-                'gform_admin',
526
+				'gform_admin',
527 527
 				'gaddon_form_settings_css',
528
-                'gform_tooltip',
529
-                'gform_font_awesome',
528
+				'gform_tooltip',
529
+				'gform_font_awesome',
530 530
 			),
531 531
 			'enqueue' => array(
532 532
 				array( 'admin_page' => array(
@@ -592,12 +592,12 @@  discard block
 block discarded – undo
592 592
 	}
593 593
 
594 594
 	public function app_settings_tab() {
595
-	    parent::app_settings_tab();
595
+		parent::app_settings_tab();
596 596
 
597 597
 		if ( $this->maybe_uninstall() ) {
598
-            echo $this->uninstall_form();
598
+			echo $this->uninstall_form();
599 599
 		}
600
-    }
600
+	}
601 601
 
602 602
 	/**
603 603
 	 * Make protected public
@@ -633,7 +633,7 @@  discard block
 block discarded – undo
633 633
 	 */
634 634
 	public function get_app_settings() {
635 635
 
636
-	    $settings = get_option( 'gravityformsaddon_' . $this->_slug . '_app_settings', $this->get_default_settings() );
636
+		$settings = get_option( 'gravityformsaddon_' . $this->_slug . '_app_settings', $this->get_default_settings() );
637 637
 
638 638
 		if( defined( 'GRAVITYVIEW_LICENSE_KEY' ) ) {
639 639
 			$settings['license_key'] = GRAVITYVIEW_LICENSE_KEY;
@@ -674,9 +674,9 @@  discard block
 block discarded – undo
674 674
 	 */
675 675
 	protected function settings_edd_license( $field, $echo = true ) {
676 676
 
677
-	    if ( defined( 'GRAVITYVIEW_LICENSE_KEY' ) && GRAVITYVIEW_LICENSE_KEY ) {
678
-		    $field['input_type'] = 'password';
679
-        }
677
+		if ( defined( 'GRAVITYVIEW_LICENSE_KEY' ) && GRAVITYVIEW_LICENSE_KEY ) {
678
+			$field['input_type'] = 'password';
679
+		}
680 680
 
681 681
 		$text = $this->settings_text( $field, false );
682 682
 
@@ -731,8 +731,8 @@  discard block
 block discarded – undo
731 731
                     type="' . $field['type'] . '"
732 732
                     name="' . esc_attr( $name ) . '"
733 733
                     value="' . $value . '" ' .
734
-		        implode( ' ', $attributes ) .
735
-		        ' />';
734
+				implode( ' ', $attributes ) .
735
+				' />';
736 736
 
737 737
 		if ( $echo ) {
738 738
 			echo $html;
@@ -773,19 +773,19 @@  discard block
 block discarded – undo
773 773
 
774 774
 
775 775
 	/**
776
-     * Keep GravityView styling for `$field['description']`, even though Gravity Forms added support for it
777
-     *
778
-     * Converts `$field['description']` to `$field['gv_description']`
779
-     * Converts `$field['subtitle']` to `$field['description']`
780
-     *
781
-     * @see GravityView_Settings::single_setting_label Converts `gv_description` back to `description`
782
-     * @see http://share.gravityview.co/P28uGp/2OIRKxog for image that shows subtitle vs description
783
-     *
784
-     * @since 1.21.5.2
785
-     *
776
+	 * Keep GravityView styling for `$field['description']`, even though Gravity Forms added support for it
777
+	 *
778
+	 * Converts `$field['description']` to `$field['gv_description']`
779
+	 * Converts `$field['subtitle']` to `$field['description']`
780
+	 *
781
+	 * @see GravityView_Settings::single_setting_label Converts `gv_description` back to `description`
782
+	 * @see http://share.gravityview.co/P28uGp/2OIRKxog for image that shows subtitle vs description
783
+	 *
784
+	 * @since 1.21.5.2
785
+	 *
786 786
 	 * @param array $field
787
-     *
788
-     * @return void
787
+	 *
788
+	 * @return void
789 789
 	 */
790 790
 	public function single_setting_row( $field ) {
791 791
 
@@ -980,7 +980,7 @@  discard block
 block discarded – undo
980 980
 					array(
981 981
 						'label' => _x('Show me beta versions if they are available.', 'gravityview'),
982 982
 						'value' => '1',
983
-                        'name'  => 'beta',
983
+						'name'  => 'beta',
984 984
 					),
985 985
 				),
986 986
 				'description'   => __( 'You will have early access to the latest GravityView features and improvements. There may be bugs! If you encounter an issue, help make GravityView better by reporting it!', 'gravityview'),
@@ -1005,39 +1005,39 @@  discard block
 block discarded – undo
1005 1005
 
1006 1006
 			if( empty( $field['disabled'] ) ) {
1007 1007
 				unset( $field['disabled'] );
1008
-            }
1008
+			}
1009 1009
 		}
1010 1010
 
1011
-        $sections = array(
1012
-            array(
1013
-                'description' =>      sprintf( '<span class="version-info description">%s</span>', sprintf( __('You are running GravityView version %s', 'gravityview'), GravityView_Plugin::version ) ),
1014
-                'fields'      => $fields,
1015
-            )
1016
-        );
1011
+		$sections = array(
1012
+			array(
1013
+				'description' =>      sprintf( '<span class="version-info description">%s</span>', sprintf( __('You are running GravityView version %s', 'gravityview'), GravityView_Plugin::version ) ),
1014
+				'fields'      => $fields,
1015
+			)
1016
+		);
1017 1017
 
1018
-        // custom 'update settings' button
1019
-        $button = array(
1020
-            'class' => 'button button-primary button-hero',
1021
-            'type'     => 'save',
1022
-        );
1018
+		// custom 'update settings' button
1019
+		$button = array(
1020
+			'class' => 'button button-primary button-hero',
1021
+			'type'     => 'save',
1022
+		);
1023 1023
 
1024 1024
 		if( $disabled_attribute ) {
1025 1025
 			$button['disabled'] = $disabled_attribute;
1026 1026
 		}
1027 1027
 
1028 1028
 
1029
-        /**
1030
-         * @filter `gravityview/settings/extension/sections` Modify the GravityView settings page
1031
-         * Extensions can tap in here to insert their own section and settings.
1032
-         * <code>
1033
-         *   $sections[] = array(
1034
-         *      'title' => __( 'GravityView My Extension Settings', 'gravityview' ),
1035
-         *      'fields' => $settings,
1036
-         *   );
1037
-         * </code>
1038
-         * @param array $extension_settings Empty array, ready for extension settings!
1039
-         */
1040
-        $extension_sections = apply_filters( 'gravityview/settings/extension/sections', array() );
1029
+		/**
1030
+		 * @filter `gravityview/settings/extension/sections` Modify the GravityView settings page
1031
+		 * Extensions can tap in here to insert their own section and settings.
1032
+		 * <code>
1033
+		 *   $sections[] = array(
1034
+		 *      'title' => __( 'GravityView My Extension Settings', 'gravityview' ),
1035
+		 *      'fields' => $settings,
1036
+		 *   );
1037
+		 * </code>
1038
+		 * @param array $extension_settings Empty array, ready for extension settings!
1039
+		 */
1040
+		$extension_sections = apply_filters( 'gravityview/settings/extension/sections', array() );
1041 1041
 
1042 1042
 		// If there are extensions, add a section for them
1043 1043
 		if ( ! empty( $extension_sections ) ) {
@@ -1050,13 +1050,13 @@  discard block
 block discarded – undo
1050 1050
 				}
1051 1051
 			}
1052 1052
 
1053
-            $k = count( $extension_sections ) - 1 ;
1054
-            $extension_sections[ $k ]['fields'][] = $button;
1053
+			$k = count( $extension_sections ) - 1 ;
1054
+			$extension_sections[ $k ]['fields'][] = $button;
1055 1055
 			$sections = array_merge( $sections, $extension_sections );
1056 1056
 		} else {
1057
-            // add the 'update settings' button to the general section
1058
-            $sections[0]['fields'][] = $button;
1059
-        }
1057
+			// add the 'update settings' button to the general section
1058
+			$sections[0]['fields'][] = $button;
1059
+		}
1060 1060
 
1061 1061
 		return $sections;
1062 1062
 	}
Please login to merge, or discard this patch.
Spacing   +93 added lines, -93 removed lines patch added patch discarded remove patch
@@ -1,6 +1,6 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 
3
-if( ! class_exists('GFAddOn') ) {
3
+if ( ! class_exists( 'GFAddOn' ) ) {
4 4
 	return;
5 5
 }
6 6
 
@@ -75,7 +75,7 @@  discard block
 block discarded – undo
75 75
 	 */
76 76
 	public function __construct( $prevent_multiple_instances = '' ) {
77 77
 
78
-		if( $prevent_multiple_instances === 'get_instance' ) {
78
+		if ( $prevent_multiple_instances === 'get_instance' ) {
79 79
 			return parent::__construct();
80 80
 		}
81 81
 
@@ -87,7 +87,7 @@  discard block
 block discarded – undo
87 87
 	 */
88 88
 	public static function get_instance() {
89 89
 
90
-		if( empty( self::$instance ) ) {
90
+		if ( empty( self::$instance ) ) {
91 91
 			self::$instance = new self( 'get_instance' );
92 92
 		}
93 93
 
@@ -106,7 +106,7 @@  discard block
 block discarded – undo
106 106
 	 */
107 107
 	public function current_user_can_any( $caps ) {
108 108
 
109
-		if( empty( $caps ) ) {
109
+		if ( empty( $caps ) ) {
110 110
 			$caps = array( 'gravityview_full_access' );
111 111
 		}
112 112
 
@@ -167,7 +167,7 @@  discard block
 block discarded – undo
167 167
             ),
168 168
 			'found-other' => array(
169 169
                 'label' => esc_html__( 'I found a better plugin', 'gravityview' ),
170
-                'followup' => esc_attr__('What plugin you are using, and why?', 'gravityview'),
170
+                'followup' => esc_attr__( 'What plugin you are using, and why?', 'gravityview' ),
171 171
             ),
172 172
 			'other' => array(
173 173
                 'label' => esc_html__( 'Other', 'gravityview' ),
@@ -254,7 +254,7 @@  discard block
 block discarded – undo
254 254
                 });
255 255
 
256 256
                 function gv_feedback_append_error_message() {
257
-                    $('#gv-uninstall-thanks').append('<div class="notice error"><?php echo esc_js( __('There was an error sharing your feedback. Sorry! Please email us at [email protected]', 'gravityview' ) ) ?></div>');
257
+                    $('#gv-uninstall-thanks').append('<div class="notice error"><?php echo esc_js( __( 'There was an error sharing your feedback. Sorry! Please email us at [email protected]', 'gravityview' ) ) ?></div>');
258 258
                 }
259 259
             });
260 260
         </script>
@@ -271,15 +271,15 @@  discard block
 block discarded – undo
271 271
             </ul>
272 272
             <div class="gv-followup widefat">
273 273
                 <p><strong><label for="gv-reason-details"><?php esc_html_e( 'Comments', 'gravityview' ); ?></label></strong></p>
274
-                <textarea id="gv-reason-details" name="reason_details" data-default="<?php esc_attr_e('Please share your thoughts about GravityView', 'gravityview') ?>" placeholder="<?php esc_attr_e('Please share your thoughts about GravityView', 'gravityview'); ?>" class="large-text"></textarea>
274
+                <textarea id="gv-reason-details" name="reason_details" data-default="<?php esc_attr_e( 'Please share your thoughts about GravityView', 'gravityview' ) ?>" placeholder="<?php esc_attr_e( 'Please share your thoughts about GravityView', 'gravityview' ); ?>" class="large-text"></textarea>
275 275
             </div>
276 276
             <div class="scale-description">
277
-                <p><strong><?php esc_html_e('How likely are you to recommend GravityView?', 'gravityview' ); ?></strong></p>
277
+                <p><strong><?php esc_html_e( 'How likely are you to recommend GravityView?', 'gravityview' ); ?></strong></p>
278 278
                 <ul class="inline">
279 279
 					<?php
280 280
 					$i = 0;
281
-					while( $i < 11 ) {
282
-						echo '<li class="inline number-scale"><label><input name="likely_to_refer" id="likely_to_refer_'.$i.'" value="'.$i.'" type="radio"> '.$i.'</label></li>';
281
+					while ( $i < 11 ) {
282
+						echo '<li class="inline number-scale"><label><input name="likely_to_refer" id="likely_to_refer_' . $i . '" value="' . $i . '" type="radio"> ' . $i . '</label></li>';
283 283
 						$i++;
284 284
 					}
285 285
 					?>
@@ -288,7 +288,7 @@  discard block
 block discarded – undo
288 288
             </div>
289 289
 
290 290
             <div class="gv-form-field-wrapper">
291
-                <label><input type="checkbox" class="checkbox" name="follow_up_with_me" value="1" /> <?php esc_html_e('Please follow up with me about my feedback', 'gravityview'); ?></label>
291
+                <label><input type="checkbox" class="checkbox" name="follow_up_with_me" value="1" /> <?php esc_html_e( 'Please follow up with me about my feedback', 'gravityview' ); ?></label>
292 292
             </div>
293 293
 
294 294
             <div class="submit">
@@ -302,7 +302,7 @@  discard block
 block discarded – undo
302 302
         <div id="gv-uninstall-thanks" class="notice notice-large notice-updated below-h2" style="display:none;">
303 303
             <h3 class="notice-title"><?php esc_html_e( 'Thank you for using GravityView!', 'gravityview' ); ?></h3>
304 304
             <p><?php echo gravityview_get_floaty(); ?>
305
-				<?php echo make_clickable( esc_html__('Your feedback helps us improve GravityView. If you have any questions or comments, email us: [email protected]', 'gravityview' ) ); ?>
305
+				<?php echo make_clickable( esc_html__( 'Your feedback helps us improve GravityView. If you have any questions or comments, email us: [email protected]', 'gravityview' ) ); ?>
306 306
             </p>
307 307
             <div class="wp-clearfix"></div>
308 308
         </div>
@@ -376,7 +376,7 @@  discard block
 block discarded – undo
376 376
 		add_filter( 'gform_addon_app_settings_menu_gravityview', array( $this, 'modify_app_settings_menu_title' ) );
377 377
 
378 378
 		/** @since 1.7.6 */
379
-		add_action('network_admin_menu', array( $this, 'add_network_menu' ) );
379
+		add_action( 'network_admin_menu', array( $this, 'add_network_menu' ) );
380 380
 
381 381
 		parent::init_admin();
382 382
 	}
@@ -390,7 +390,7 @@  discard block
 block discarded – undo
390 390
 	 */
391 391
 	public function modify_app_settings_menu_title( $setting_tabs ) {
392 392
 
393
-		$setting_tabs[0]['label'] = __( 'GravityView Settings', 'gravityview');
393
+		$setting_tabs[ 0 ][ 'label' ] = __( 'GravityView Settings', 'gravityview' );
394 394
 
395 395
 		return $setting_tabs;
396 396
 	}
@@ -407,11 +407,11 @@  discard block
 block discarded – undo
407 407
 	 */
408 408
 	private function _load_license_handler() {
409 409
 
410
-		if( !empty( $this->License_Handler ) ) {
410
+		if ( ! empty( $this->License_Handler ) ) {
411 411
 			return;
412 412
 		}
413 413
 
414
-		require_once( GRAVITYVIEW_DIR . 'includes/class-gv-license-handler.php');
414
+		require_once( GRAVITYVIEW_DIR . 'includes/class-gv-license-handler.php' );
415 415
 
416 416
 		$this->License_Handler = GV_License_Handler::get_instance( $this );
417 417
 	}
@@ -422,21 +422,21 @@  discard block
 block discarded – undo
422 422
 	 */
423 423
 	function license_key_notice() {
424 424
 
425
-		$license_status = self::getSetting('license_key_status');
426
-		$license_key = self::getSetting('license_key');
427
-		if( '' === $license_key ) {
425
+		$license_status = self::getSetting( 'license_key_status' );
426
+		$license_key = self::getSetting( 'license_key' );
427
+		if ( '' === $license_key ) {
428 428
 			$license_status = 'inactive';
429 429
         }
430 430
 		$license_id = empty( $license_key ) ? 'license' : $license_key;
431 431
 
432
-		$message = esc_html__('Your GravityView license %s. This means you&rsquo;re missing out on updates and support! %sActivate your license%s or %sget a license here%s.', 'gravityview');
432
+		$message = esc_html__( 'Your GravityView license %s. This means you&rsquo;re missing out on updates and support! %sActivate your license%s or %sget a license here%s.', 'gravityview' );
433 433
 
434 434
 		/**
435 435
 		 * I wanted to remove the period from after the buttons in the string,
436 436
 		 * but didn't want to mess up the translation strings for the translators.
437 437
 		 */
438 438
 		$message = mb_substr( $message, 0, mb_strlen( $message ) - 1 );
439
-		$title = __('Inactive License', 'gravityview');
439
+		$title = __( 'Inactive License', 'gravityview' );
440 440
 		$status = '';
441 441
 		$update_below = false;
442 442
 		$primary_button_link = admin_url( 'edit.php?post_type=gravityview&amp;page=gravityview_settings' );
@@ -444,17 +444,17 @@  discard block
 block discarded – undo
444 444
         switch ( $license_status ) {
445 445
 			/** @since 1.17 */
446 446
 			case 'expired':
447
-				$title = __('Expired License', 'gravityview');
447
+				$title = __( 'Expired License', 'gravityview' );
448 448
 				$status = 'expired';
449
-				$message = $this->get_license_handler()->strings( 'expired', self::getSetting('license_key_response') );
449
+				$message = $this->get_license_handler()->strings( 'expired', self::getSetting( 'license_key_response' ) );
450 450
 				break;
451 451
 			case 'invalid':
452
-				$title = __('Invalid License', 'gravityview');
453
-				$status = __('is invalid', 'gravityview');
452
+				$title = __( 'Invalid License', 'gravityview' );
453
+				$status = __( 'is invalid', 'gravityview' );
454 454
 				break;
455 455
 			case 'deactivated':
456
-				$status = __('is inactive', 'gravityview');
457
-				$update_below = __('Activate your license key below.', 'gravityview');
456
+				$status = __( 'is inactive', 'gravityview' );
457
+				$update_below = __( 'Activate your license key below.', 'gravityview' );
458 458
 				break;
459 459
 			/** @noinspection PhpMissingBreakStatementInspection */
460 460
 			case '':
@@ -462,20 +462,20 @@  discard block
 block discarded – undo
462 462
 				// break intentionally left blank
463 463
 			case 'inactive':
464 464
 			case 'site_inactive':
465
-				$status = __('has not been activated', 'gravityview');
466
-				$update_below = __('Activate your license key below.', 'gravityview');
465
+				$status = __( 'has not been activated', 'gravityview' );
466
+				$update_below = __( 'Activate your license key below.', 'gravityview' );
467 467
 				break;
468 468
 		}
469
-		$url = 'https://gravityview.co/pricing/?utm_source=admin_notice&utm_medium=admin&utm_content='.$license_status.'&utm_campaign=Admin%20Notice';
469
+		$url = 'https://gravityview.co/pricing/?utm_source=admin_notice&utm_medium=admin&utm_content=' . $license_status . '&utm_campaign=Admin%20Notice';
470 470
 
471 471
 		// Show a different notice on settings page for inactive licenses (hide the buttons)
472
-		if( $update_below && gravityview_is_admin_page( '', 'settings' ) ) {
472
+		if ( $update_below && gravityview_is_admin_page( '', 'settings' ) ) {
473 473
 			$message = sprintf( $message, $status, '<div class="hidden">', '', '', '</div><a href="#" onclick="jQuery(\'#license_key\').focus(); return false;">' . $update_below . '</a>' );
474 474
 		} else {
475 475
 			$message = sprintf( $message, $status, "\n\n" . '<a href="' . esc_url( $primary_button_link ) . '" class="button button-primary">', '</a>', '<a href="' . esc_url( $url ) . '" class="button button-secondary">', '</a>' );
476 476
 		}
477 477
 
478
-		if( !empty( $status ) ) {
478
+		if ( ! empty( $status ) ) {
479 479
 			GravityView_Admin_Notices::add_notice( array(
480 480
 				'message' => $message,
481 481
 				'class'   => 'updated',
@@ -498,7 +498,7 @@  discard block
 block discarded – undo
498 498
 	public function scripts() {
499 499
 		$scripts = parent::scripts();
500 500
 
501
-		$scripts[] = array(
501
+		$scripts[ ] = array(
502 502
 			'handle'  => 'gform_tooltip_init',
503 503
 			'enqueue' => array(
504 504
                 array(
@@ -518,7 +518,7 @@  discard block
 block discarded – undo
518 518
 
519 519
 		$styles = parent::styles();
520 520
 
521
-		$styles[] = array(
521
+		$styles[ ] = array(
522 522
 			'handle'  => 'gravityview_settings',
523 523
 			'src'     => plugins_url( 'assets/css/admin-settings.css', GRAVITYVIEW_FILE ),
524 524
 			'version' => GravityView_Plugin::version,
@@ -544,7 +544,7 @@  discard block
 block discarded – undo
544 544
 	 * @return void
545 545
 	 */
546 546
 	public function add_network_menu() {
547
-		if( GravityView_Plugin::is_network_activated() ) {
547
+		if ( GravityView_Plugin::is_network_activated() ) {
548 548
 			add_menu_page( __( 'Settings', 'gravityview' ), __( 'GravityView', 'gravityview' ), $this->_capabilities_app_settings, "{$this->_slug}_settings", array( $this, 'app_tab_page' ), 'none' );
549 549
 		}
550 550
 	}
@@ -561,7 +561,7 @@  discard block
 block discarded – undo
561 561
 		 * If multisite and not network admin, we don't want the settings to show.
562 562
 		 * @since 1.7.6
563 563
 		 */
564
-		$show_submenu = !is_multisite() ||  is_main_site() || !GravityView_Plugin::is_network_activated() || ( is_network_admin() && GravityView_Plugin::is_network_activated() );
564
+		$show_submenu = ! is_multisite() || is_main_site() || ! GravityView_Plugin::is_network_activated() || ( is_network_admin() && GravityView_Plugin::is_network_activated() );
565 565
 
566 566
 		/**
567 567
 		 * Override whether to show the Settings menu on a per-blog basis.
@@ -570,7 +570,7 @@  discard block
 block discarded – undo
570 570
 		 */
571 571
 		$show_submenu = apply_filters( 'gravityview/show-settings-menu', $show_submenu );
572 572
 
573
-		if( $show_submenu ) {
573
+		if ( $show_submenu ) {
574 574
 			add_submenu_page( 'edit.php?post_type=gravityview', __( 'Settings', 'gravityview' ), __( 'Settings', 'gravityview' ), $this->_capabilities_app_settings, $this->_slug . '_settings', array( $this, 'app_tab_page' ) );
575 575
 		}
576 576
 	}
@@ -609,7 +609,7 @@  discard block
 block discarded – undo
609 609
 		/**
610 610
 		 * Backward compatibility with Redux
611 611
 		 */
612
-		if( $setting_name === 'license' ) {
612
+		if ( $setting_name === 'license' ) {
613 613
 			return array(
614 614
 				'license' => parent::get_app_setting( 'license_key' ),
615 615
 				'status' => parent::get_app_setting( 'license_key_status' ),
@@ -635,8 +635,8 @@  discard block
 block discarded – undo
635 635
 
636 636
 	    $settings = get_option( 'gravityformsaddon_' . $this->_slug . '_app_settings', $this->get_default_settings() );
637 637
 
638
-		if( defined( 'GRAVITYVIEW_LICENSE_KEY' ) ) {
639
-			$settings['license_key'] = GRAVITYVIEW_LICENSE_KEY;
638
+		if ( defined( 'GRAVITYVIEW_LICENSE_KEY' ) ) {
639
+			$settings[ 'license_key' ] = GRAVITYVIEW_LICENSE_KEY;
640 640
 		}
641 641
 
642 642
 		return $settings;
@@ -675,7 +675,7 @@  discard block
 block discarded – undo
675 675
 	protected function settings_edd_license( $field, $echo = true ) {
676 676
 
677 677
 	    if ( defined( 'GRAVITYVIEW_LICENSE_KEY' ) && GRAVITYVIEW_LICENSE_KEY ) {
678
-		    $field['input_type'] = 'password';
678
+		    $field[ 'input_type' ] = 'password';
679 679
         }
680 680
 
681 681
 		$text = $this->settings_text( $field, false );
@@ -684,7 +684,7 @@  discard block
 block discarded – undo
684 684
 
685 685
 		$return = $text . $activation;
686 686
 
687
-		if( $echo ) {
687
+		if ( $echo ) {
688 688
 			echo $return;
689 689
 		}
690 690
 
@@ -711,15 +711,15 @@  discard block
 block discarded – undo
711 711
 	 */
712 712
 	public function settings_submit( $field, $echo = true ) {
713 713
 
714
-		$field['type']  = ( isset($field['type']) && in_array( $field['type'], array('submit','reset','button') ) ) ? $field['type'] : 'submit';
714
+		$field[ 'type' ] = ( isset( $field[ 'type' ] ) && in_array( $field[ 'type' ], array( 'submit', 'reset', 'button' ) ) ) ? $field[ 'type' ] : 'submit';
715 715
 
716 716
 		$attributes    = $this->get_field_attributes( $field );
717 717
 		$default_value = rgar( $field, 'value' ) ? rgar( $field, 'value' ) : rgar( $field, 'default_value' );
718
-		$value         = $this->get_setting( $field['name'], $default_value );
718
+		$value         = $this->get_setting( $field[ 'name' ], $default_value );
719 719
 
720 720
 
721
-		$attributes['class'] = isset( $attributes['class'] ) ? esc_attr( $attributes['class'] ) : 'button-primary gfbutton';
722
-		$name    = ( $field['name'] === 'gform-settings-save' ) ? $field['name'] : '_gaddon_setting_'.$field['name'];
721
+		$attributes[ 'class' ] = isset( $attributes[ 'class' ] ) ? esc_attr( $attributes[ 'class' ] ) : 'button-primary gfbutton';
722
+		$name = ( $field[ 'name' ] === 'gform-settings-save' ) ? $field[ 'name' ] : '_gaddon_setting_' . $field[ 'name' ];
723 723
 
724 724
 		if ( empty( $value ) ) {
725 725
 			$value = __( 'Update Settings', 'gravityview' );
@@ -728,7 +728,7 @@  discard block
 block discarded – undo
728 728
 		$attributes = $this->get_field_attributes( $field );
729 729
 
730 730
 		$html = '<input
731
-                    type="' . $field['type'] . '"
731
+                    type="' . $field[ 'type' ] . '"
732 732
                     name="' . esc_attr( $name ) . '"
733 733
                     value="' . $value . '" ' .
734 734
 		        implode( ' ', $attributes ) .
@@ -750,12 +750,12 @@  discard block
 block discarded – undo
750 750
 	 * @return string
751 751
 	 */
752 752
 	public function settings_save( $field, $echo = true ) {
753
-		$field['type']  = 'submit';
754
-		$field['name']  = 'gform-settings-save';
755
-		$field['class'] = isset( $field['class'] ) ? $field['class'] : 'button-primary gfbutton';
753
+		$field[ 'type' ]  = 'submit';
754
+		$field[ 'name' ]  = 'gform-settings-save';
755
+		$field[ 'class' ] = isset( $field[ 'class' ] ) ? $field[ 'class' ] : 'button-primary gfbutton';
756 756
 
757 757
 		if ( ! rgar( $field, 'value' ) ) {
758
-			$field['value'] = __( 'Update Settings', 'gravityview' );
758
+			$field[ 'value' ] = __( 'Update Settings', 'gravityview' );
759 759
 		}
760 760
 
761 761
 		$output = $this->settings_submit( $field, false );
@@ -764,7 +764,7 @@  discard block
 block discarded – undo
764 764
 		$this->app_settings_uninstall_tab();
765 765
 		$output .= ob_get_clean();
766 766
 
767
-		if( $echo ) {
767
+		if ( $echo ) {
768 768
 			echo $output;
769 769
 		}
770 770
 
@@ -789,8 +789,8 @@  discard block
 block discarded – undo
789 789
 	 */
790 790
 	public function single_setting_row( $field ) {
791 791
 
792
-		$field['gv_description'] = rgar( $field, 'description' );
793
-		$field['description']    = rgar( $field, 'subtitle' );
792
+		$field[ 'gv_description' ] = rgar( $field, 'description' );
793
+		$field[ 'description' ]    = rgar( $field, 'subtitle' );
794 794
 
795 795
 		parent::single_setting_row( $field );
796 796
 	}
@@ -805,7 +805,7 @@  discard block
 block discarded – undo
805 805
 		parent::single_setting_label( $field );
806 806
 
807 807
 		if ( $description = rgar( $field, 'gv_description' ) ) {
808
-			echo '<span class="description">'. $description .'</span>';
808
+			echo '<span class="description">' . $description . '</span>';
809 809
 		}
810 810
 	}
811 811
 
@@ -867,11 +867,11 @@  discard block
 block discarded – undo
867 867
 
868 868
 		// If the posted key doesn't match the activated/deactivated key (set using the Activate License button, AJAX response),
869 869
 		// then we assume it's changed. If it's changed, unset the status and the previous response.
870
-		if( $local_key !== $response_key ) {
870
+		if ( $local_key !== $response_key ) {
871 871
 
872
-			unset( $posted_settings['license_key_response'] );
873
-			unset( $posted_settings['license_key_status'] );
874
-			GFCommon::add_error_message( __('The license key you entered has been saved, but not activated. Please activate the license.', 'gravityview' ) );
872
+			unset( $posted_settings[ 'license_key_response' ] );
873
+			unset( $posted_settings[ 'license_key_status' ] );
874
+			GFCommon::add_error_message( __( 'The license key you entered has been saved, but not activated. Please activate the license.', 'gravityview' ) );
875 875
 		}
876 876
 
877 877
 		return $posted_settings;
@@ -906,26 +906,26 @@  discard block
 block discarded – undo
906 906
 				'label'             => __( 'License Key', 'gravityview' ),
907 907
 				'description'          => __( 'Enter the license key that was sent to you on purchase. This enables plugin updates &amp; support.', 'gravityview' ) . $this->get_license_handler()->license_details( $this->get_app_setting( 'license_key_response' ) ),
908 908
 				'type'              => 'edd_license',
909
-				'disabled'          => ( defined( 'GRAVITYVIEW_LICENSE_KEY' )  && GRAVITYVIEW_LICENSE_KEY ),
910
-				'data-pending-text' => __('Verifying license&hellip;', 'gravityview'),
911
-				'default_value'           => $default_settings['license_key'],
909
+				'disabled'          => ( defined( 'GRAVITYVIEW_LICENSE_KEY' ) && GRAVITYVIEW_LICENSE_KEY ),
910
+				'data-pending-text' => __( 'Verifying license&hellip;', 'gravityview' ),
911
+				'default_value'           => $default_settings[ 'license_key' ],
912 912
 				'class'             => ( '' == $this->get_app_setting( 'license_key' ) ) ? 'activate code regular-text edd-license-key' : 'deactivate code regular-text edd-license-key',
913 913
 			),
914 914
 			array(
915 915
 				'name'       => 'license_key_response',
916
-				'default_value'  => $default_settings['license_key_response'],
916
+				'default_value'  => $default_settings[ 'license_key_response' ],
917 917
 				'type'     => 'hidden',
918 918
 			),
919 919
 			array(
920 920
 				'name'       => 'license_key_status',
921
-				'default_value'  => $default_settings['license_key_status'],
921
+				'default_value'  => $default_settings[ 'license_key_status' ],
922 922
 				'type'     => 'hidden',
923 923
 			),
924 924
 			array(
925 925
 				'name'       => 'support-email',
926 926
 				'type'     => 'text',
927 927
 				'validate' => 'email',
928
-				'default_value'  => $default_settings['support-email'],
928
+				'default_value'  => $default_settings[ 'support-email' ],
929 929
 				'label'    => __( 'Support Email', 'gravityview' ),
930 930
 				'description' => __( 'In order to provide responses to your support requests, please provide your email address.', 'gravityview' ),
931 931
 				'class'    => 'code regular-text',
@@ -937,53 +937,53 @@  discard block
 block discarded – undo
937 937
 				'name'         => 'support_port',
938 938
 				'type'       => 'radio',
939 939
 				'label'      => __( 'Show Support Port?', 'gravityview' ),
940
-				'default_value'    => $default_settings['support_port'],
940
+				'default_value'    => $default_settings[ 'support_port' ],
941 941
 				'horizontal' => 1,
942 942
 				'choices'    => array(
943 943
 					array(
944
-						'label' => _x('Show', 'Setting: Show or Hide', 'gravityview'),
944
+						'label' => _x( 'Show', 'Setting: Show or Hide', 'gravityview' ),
945 945
 						'value' => '1',
946 946
 					),
947 947
 					array(
948
-						'label' => _x('Hide', 'Setting: Show or Hide', 'gravityview'),
948
+						'label' => _x( 'Hide', 'Setting: Show or Hide', 'gravityview' ),
949 949
 						'value' => '0',
950 950
 					),
951 951
 				),
952
-				'tooltip' => '<p><img src="' . esc_url_raw( plugins_url('assets/images/beacon.png', GRAVITYVIEW_FILE ) ) . '" alt="' . esc_attr__( 'The Support Port looks like this.', 'gravityview' ) . '" class="alignright" style="max-width:40px; margin:.5em;" />' . esc_html__('The Support Port provides quick access to how-to articles and tutorials. For administrators, it also makes it easy to contact support.', 'gravityview') . '</p>',
952
+				'tooltip' => '<p><img src="' . esc_url_raw( plugins_url( 'assets/images/beacon.png', GRAVITYVIEW_FILE ) ) . '" alt="' . esc_attr__( 'The Support Port looks like this.', 'gravityview' ) . '" class="alignright" style="max-width:40px; margin:.5em;" />' . esc_html__( 'The Support Port provides quick access to how-to articles and tutorials. For administrators, it also makes it easy to contact support.', 'gravityview' ) . '</p>',
953 953
 				'description'   => __( 'Show the Support Port on GravityView pages?', 'gravityview' ),
954 954
 			),
955 955
 			array(
956 956
 				'name'         => 'no-conflict-mode',
957 957
 				'type'       => 'radio',
958 958
 				'label'      => __( 'No-Conflict Mode', 'gravityview' ),
959
-				'default_value'    => $default_settings['no-conflict-mode'],
959
+				'default_value'    => $default_settings[ 'no-conflict-mode' ],
960 960
 				'horizontal' => 1,
961 961
 				'choices'    => array(
962 962
 					array(
963
-						'label' => _x('On', 'Setting: On or off', 'gravityview'),
963
+						'label' => _x( 'On', 'Setting: On or off', 'gravityview' ),
964 964
 						'value' => '1',
965 965
 					),
966 966
 					array(
967
-						'label' => _x('Off', 'Setting: On or off', 'gravityview'),
967
+						'label' => _x( 'Off', 'Setting: On or off', 'gravityview' ),
968 968
 						'value' => '0',
969 969
 					),
970 970
 				),
971
-				'description'   => __( 'Set this to ON to prevent extraneous scripts and styles from being printed on GravityView admin pages, reducing conflicts with other plugins and themes.', 'gravityview' ) . ' ' . __('If your Edit View tabs are ugly, enable this setting.', 'gravityview'),
971
+				'description'   => __( 'Set this to ON to prevent extraneous scripts and styles from being printed on GravityView admin pages, reducing conflicts with other plugins and themes.', 'gravityview' ) . ' ' . __( 'If your Edit View tabs are ugly, enable this setting.', 'gravityview' ),
972 972
 			),
973 973
 			array(
974 974
 				'name'       => 'beta',
975 975
 				'type'       => 'checkbox',
976 976
 				'label'      => __( 'Become a Beta Tester', 'gravityview' ),
977
-				'default_value'    => $default_settings['beta'],
977
+				'default_value'    => $default_settings[ 'beta' ],
978 978
 				'horizontal' => 1,
979 979
 				'choices'    => array(
980 980
 					array(
981
-						'label' => _x('Show me beta versions if they are available.', 'gravityview'),
981
+						'label' => _x( 'Show me beta versions if they are available.', 'gravityview' ),
982 982
 						'value' => '1',
983 983
                         'name'  => 'beta',
984 984
 					),
985 985
 				),
986
-				'description'   => __( 'You will have early access to the latest GravityView features and improvements. There may be bugs! If you encounter an issue, help make GravityView better by reporting it!', 'gravityview'),
986
+				'description'   => __( 'You will have early access to the latest GravityView features and improvements. There may be bugs! If you encounter an issue, help make GravityView better by reporting it!', 'gravityview' ),
987 987
 			),
988 988
 		) );
989 989
 
@@ -994,23 +994,23 @@  discard block
 block discarded – undo
994 994
 		 * @since 1.7.4
995 995
 		 */
996 996
 		foreach ( $fields as &$field ) {
997
-			$field['name']          = isset( $field['name'] ) ? $field['name'] : rgget('id', $field );
998
-			$field['label']         = isset( $field['label'] ) ? $field['label'] : rgget('title', $field );
999
-			$field['default_value'] = isset( $field['default_value'] ) ? $field['default_value'] : rgget('default', $field );
1000
-			$field['description']   = isset( $field['description'] ) ? $field['description'] : rgget('subtitle', $field );
997
+			$field[ 'name' ]          = isset( $field[ 'name' ] ) ? $field[ 'name' ] : rgget( 'id', $field );
998
+			$field[ 'label' ]         = isset( $field[ 'label' ] ) ? $field[ 'label' ] : rgget( 'title', $field );
999
+			$field[ 'default_value' ] = isset( $field[ 'default_value' ] ) ? $field[ 'default_value' ] : rgget( 'default', $field );
1000
+			$field[ 'description' ]   = isset( $field[ 'description' ] ) ? $field[ 'description' ] : rgget( 'subtitle', $field );
1001 1001
 
1002
-			if( $disabled_attribute ) {
1003
-				$field['disabled']  = $disabled_attribute;
1002
+			if ( $disabled_attribute ) {
1003
+				$field[ 'disabled' ] = $disabled_attribute;
1004 1004
 			}
1005 1005
 
1006
-			if( empty( $field['disabled'] ) ) {
1007
-				unset( $field['disabled'] );
1006
+			if ( empty( $field[ 'disabled' ] ) ) {
1007
+				unset( $field[ 'disabled' ] );
1008 1008
             }
1009 1009
 		}
1010 1010
 
1011 1011
         $sections = array(
1012 1012
             array(
1013
-                'description' =>      sprintf( '<span class="version-info description">%s</span>', sprintf( __('You are running GravityView version %s', 'gravityview'), GravityView_Plugin::version ) ),
1013
+                'description' =>      sprintf( '<span class="version-info description">%s</span>', sprintf( __( 'You are running GravityView version %s', 'gravityview' ), GravityView_Plugin::version ) ),
1014 1014
                 'fields'      => $fields,
1015 1015
             )
1016 1016
         );
@@ -1021,8 +1021,8 @@  discard block
 block discarded – undo
1021 1021
             'type'     => 'save',
1022 1022
         );
1023 1023
 
1024
-		if( $disabled_attribute ) {
1025
-			$button['disabled'] = $disabled_attribute;
1024
+		if ( $disabled_attribute ) {
1025
+			$button[ 'disabled' ] = $disabled_attribute;
1026 1026
 		}
1027 1027
 
1028 1028
 
@@ -1042,20 +1042,20 @@  discard block
 block discarded – undo
1042 1042
 		// If there are extensions, add a section for them
1043 1043
 		if ( ! empty( $extension_sections ) ) {
1044 1044
 
1045
-			if( $disabled_attribute ) {
1045
+			if ( $disabled_attribute ) {
1046 1046
 				foreach ( $extension_sections as &$section ) {
1047
-					foreach ( $section['fields'] as &$field ) {
1048
-						$field['disabled'] = $disabled_attribute;
1047
+					foreach ( $section[ 'fields' ] as &$field ) {
1048
+						$field[ 'disabled' ] = $disabled_attribute;
1049 1049
 					}
1050 1050
 				}
1051 1051
 			}
1052 1052
 
1053
-            $k = count( $extension_sections ) - 1 ;
1054
-            $extension_sections[ $k ]['fields'][] = $button;
1053
+            $k = count( $extension_sections ) - 1;
1054
+            $extension_sections[ $k ][ 'fields' ][ ] = $button;
1055 1055
 			$sections = array_merge( $sections, $extension_sections );
1056 1056
 		} else {
1057 1057
             // add the 'update settings' button to the general section
1058
-            $sections[0]['fields'][] = $button;
1058
+            $sections[ 0 ][ 'fields' ][ ] = $button;
1059 1059
         }
1060 1060
 
1061 1061
 		return $sections;
Please login to merge, or discard this patch.