Completed
Push — develop ( 73d878...fd8780 )
by Zack
22:43 queued 18:42
created
includes/extensions/edit-entry/class-edit-entry-render.php 1 patch
Indentation   +303 added lines, -303 removed lines patch added patch discarded remove patch
@@ -94,10 +94,10 @@  discard block
 block discarded – undo
94 94
 
95 95
 	/**
96 96
 	 * ID of the current post. May also be ID of the current View.
97
-     *
98
-     * @since 2.0.13
99
-     * 
100
-     * @var int
97
+	 *
98
+	 * @since 2.0.13
99
+	 * 
100
+	 * @var int
101 101
 	 */
102 102
 	public $post_id;
103 103
 
@@ -169,12 +169,12 @@  discard block
 block discarded – undo
169 169
 	public function prevent_maybe_process_form() {
170 170
 
171 171
 		if( ! empty( $_POST ) ) {
172
-	        gravityview()->log->debug( 'GravityView_Edit_Entry[prevent_maybe_process_form] $_POSTed data (sanitized): ', array( 'data' => esc_html( print_r( $_POST, true ) ) ) );
172
+			gravityview()->log->debug( 'GravityView_Edit_Entry[prevent_maybe_process_form] $_POSTed data (sanitized): ', array( 'data' => esc_html( print_r( $_POST, true ) ) ) );
173 173
 		}
174 174
 
175 175
 		if( $this->is_edit_entry_submission() ) {
176 176
 			remove_action( 'wp',  array( 'RGForms', 'maybe_process_form'), 9 );
177
-	        remove_action( 'wp',  array( 'GFForms', 'maybe_process_form'), 9 );
177
+			remove_action( 'wp',  array( 'GFForms', 'maybe_process_form'), 9 );
178 178
 		}
179 179
 	}
180 180
 
@@ -202,14 +202,14 @@  discard block
 block discarded – undo
202 202
 	 * When Edit entry view is requested setup the vars
203 203
 	 */
204 204
 	private function setup_vars() {
205
-        global $post;
205
+		global $post;
206 206
 
207 207
 		$gravityview_view = GravityView_View::getInstance();
208 208
 
209 209
 
210 210
 		$entries = $gravityview_view->getEntries();
211
-	    self::$original_entry = $entries[0];
212
-	    $this->entry = $entries[0];
211
+		self::$original_entry = $entries[0];
212
+		$this->entry = $entries[0];
213 213
 
214 214
 		self::$original_form = $gravityview_view->getForm();
215 215
 		$this->form = $gravityview_view->getForm();
@@ -333,8 +333,8 @@  discard block
 block discarded – undo
333 333
 
334 334
 			GFFormsModel::save_lead( $form, $this->entry );
335 335
 
336
-	        // Delete the values for hidden inputs
337
-	        $this->unset_hidden_field_values();
336
+			// Delete the values for hidden inputs
337
+			$this->unset_hidden_field_values();
338 338
 			
339 339
 			$this->entry['date_created'] = $date_created;
340 340
 
@@ -344,7 +344,7 @@  discard block
 block discarded – undo
344 344
 			// Perform actions normally performed after updating a lead
345 345
 			$this->after_update();
346 346
 
347
-	        /**
347
+			/**
348 348
 			 * Must be AFTER after_update()!
349 349
 			 * @see https://github.com/gravityview/GravityView/issues/764
350 350
 			 */
@@ -352,7 +352,7 @@  discard block
 block discarded – undo
352 352
 
353 353
 			/**
354 354
 			 * @action `gravityview/edit_entry/after_update` Perform an action after the entry has been updated using Edit Entry
355
-             * @since 2.1 Added $gv_data parameter
355
+			 * @since 2.1 Added $gv_data parameter
356 356
 			 * @param array $form Gravity Forms form array
357 357
 			 * @param string $entry_id Numeric ID of the entry that was updated
358 358
 			 * @param GravityView_Edit_Entry_Render $this This object
@@ -376,7 +376,7 @@  discard block
 block discarded – undo
376 376
 	 * @return void
377 377
 	 */
378 378
 	private function unset_hidden_field_values() {
379
-	    global $wpdb;
379
+		global $wpdb;
380 380
 
381 381
 		/**
382 382
 		 * @filter `gravityview/edit_entry/unset_hidden_field_values` Whether to delete values of fields hidden by conditional logic
@@ -398,27 +398,27 @@  discard block
 block discarded – undo
398 398
 			$current_fields = $wpdb->get_results( $wpdb->prepare( "SELECT id, field_number FROM $lead_detail_table WHERE lead_id=%d", $this->entry['id'] ) );
399 399
 		}
400 400
 
401
-	    foreach ( $this->entry as $input_id => $field_value ) {
401
+		foreach ( $this->entry as $input_id => $field_value ) {
402 402
 
403
-		    $field = RGFormsModel::get_field( $this->form, $input_id );
403
+			$field = RGFormsModel::get_field( $this->form, $input_id );
404 404
 
405
-		    // Reset fields that are hidden
406
-		    // Don't pass $entry as fourth parameter; force using $_POST values to calculate conditional logic
407
-		    if ( GFFormsModel::is_field_hidden( $this->form, $field, array(), NULL ) ) {
405
+			// Reset fields that are hidden
406
+			// Don't pass $entry as fourth parameter; force using $_POST values to calculate conditional logic
407
+			if ( GFFormsModel::is_field_hidden( $this->form, $field, array(), NULL ) ) {
408 408
 
409
-		        // List fields are stored as empty arrays when empty
410
-			    $empty_value = $this->is_field_json_encoded( $field ) ? '[]' : '';
409
+				// List fields are stored as empty arrays when empty
410
+				$empty_value = $this->is_field_json_encoded( $field ) ? '[]' : '';
411 411
 
412
-			    $lead_detail_id = GFFormsModel::get_lead_detail_id( $current_fields, $input_id );
412
+				$lead_detail_id = GFFormsModel::get_lead_detail_id( $current_fields, $input_id );
413 413
 
414
-			    GFFormsModel::update_lead_field_value( $this->form, $this->entry, $field, $lead_detail_id, $input_id, $empty_value );
414
+				GFFormsModel::update_lead_field_value( $this->form, $this->entry, $field, $lead_detail_id, $input_id, $empty_value );
415 415
 
416
-			    // Prevent the $_POST values of hidden fields from being used as default values when rendering the form
416
+				// Prevent the $_POST values of hidden fields from being used as default values when rendering the form
417 417
 				// after submission
418
-			    $post_input_id = 'input_' . str_replace( '.', '_', $input_id );
419
-			    $_POST[ $post_input_id ] = '';
420
-		    }
421
-	    }
418
+				$post_input_id = 'input_' . str_replace( '.', '_', $input_id );
419
+				$_POST[ $post_input_id ] = '';
420
+			}
421
+		}
422 422
 	}
423 423
 
424 424
 	/**
@@ -512,7 +512,7 @@  discard block
 block discarded – undo
512 512
 
513 513
 		$form = $this->form;
514 514
 
515
-	    /** @var GF_Field $field */
515
+		/** @var GF_Field $field */
516 516
 		foreach( $form['fields'] as $k => &$field ) {
517 517
 
518 518
 			/**
@@ -528,7 +528,7 @@  discard block
 block discarded – undo
528 528
 
529 529
 			if( isset( $field->inputs ) && is_array( $field->inputs ) ) {
530 530
 				foreach( $field->inputs as $key => $input ) {
531
-				    $field->inputs[ $key ][ 'id' ] = (string)$input['id'];
531
+					$field->inputs[ $key ][ 'id' ] = (string)$input['id'];
532 532
 				}
533 533
 			}
534 534
 		}
@@ -560,9 +560,9 @@  discard block
 block discarded – undo
560 560
 			foreach ( $this->fields_with_calculation as $field ) {
561 561
 				$inputs = $field->get_entry_inputs();
562 562
 				if ( is_array( $inputs ) ) {
563
-				    foreach ( $inputs as $input ) {
563
+					foreach ( $inputs as $input ) {
564 564
 						GFFormsModel::save_input( $form, $field, $entry, $current_fields, $input['id'] );
565
-				    }
565
+					}
566 566
 				} else {
567 567
 					GFFormsModel::save_input( $form, $field, $entry, $current_fields, $field->id );
568 568
 				}
@@ -604,7 +604,7 @@  discard block
 block discarded – undo
604 604
 			$value = RGFormsModel::prepare_value( $form, $field, $value, $input_name, $entry['id'] );
605 605
 
606 606
 			$ary = ! empty( $value ) ? explode( '|:|', $value ) : array();
607
-	        $ary = stripslashes_deep( $ary );
607
+			$ary = stripslashes_deep( $ary );
608 608
 			$img_url = \GV\Utils::get( $ary, 0 );
609 609
 
610 610
 			$img_title       = count( $ary ) > 1 ? $ary[1] : '';
@@ -677,7 +677,7 @@  discard block
 block discarded – undo
677 677
 	private function maybe_update_post_fields( $form ) {
678 678
 
679 679
 		if( empty( $this->entry['post_id'] ) ) {
680
-	        gravityview()->log->debug( 'This entry has no post fields. Continuing...' );
680
+			gravityview()->log->debug( 'This entry has no post fields. Continuing...' );
681 681
 			return;
682 682
 		}
683 683
 
@@ -712,51 +712,51 @@  discard block
 block discarded – undo
712 712
 
713 713
 				switch( $field->type ) {
714 714
 
715
-				    case 'post_title':
716
-				        $post_title = $value;
717
-				        if ( \GV\Utils::get( $form, 'postTitleTemplateEnabled' ) ) {
718
-				            $post_title = $this->fill_post_template( $form['postTitleTemplate'], $form, $entry_tmp );
719
-				        }
720
-				        $updated_post->post_title = $post_title;
721
-				        $updated_post->post_name  = $post_title;
722
-				        unset( $post_title );
723
-				        break;
724
-
725
-				    case 'post_content':
726
-				        $post_content = $value;
727
-				        if ( \GV\Utils::get( $form, 'postContentTemplateEnabled' ) ) {
728
-				            $post_content = $this->fill_post_template( $form['postContentTemplate'], $form, $entry_tmp, true );
729
-				        }
730
-				        $updated_post->post_content = $post_content;
731
-				        unset( $post_content );
732
-				        break;
733
-				    case 'post_excerpt':
734
-				        $updated_post->post_excerpt = $value;
735
-				        break;
736
-				    case 'post_tags':
737
-				        wp_set_post_tags( $post_id, $value, false );
738
-				        break;
739
-				    case 'post_category':
740
-				        break;
741
-				    case 'post_custom_field':
715
+					case 'post_title':
716
+						$post_title = $value;
717
+						if ( \GV\Utils::get( $form, 'postTitleTemplateEnabled' ) ) {
718
+							$post_title = $this->fill_post_template( $form['postTitleTemplate'], $form, $entry_tmp );
719
+						}
720
+						$updated_post->post_title = $post_title;
721
+						$updated_post->post_name  = $post_title;
722
+						unset( $post_title );
723
+						break;
724
+
725
+					case 'post_content':
726
+						$post_content = $value;
727
+						if ( \GV\Utils::get( $form, 'postContentTemplateEnabled' ) ) {
728
+							$post_content = $this->fill_post_template( $form['postContentTemplate'], $form, $entry_tmp, true );
729
+						}
730
+						$updated_post->post_content = $post_content;
731
+						unset( $post_content );
732
+						break;
733
+					case 'post_excerpt':
734
+						$updated_post->post_excerpt = $value;
735
+						break;
736
+					case 'post_tags':
737
+						wp_set_post_tags( $post_id, $value, false );
738
+						break;
739
+					case 'post_category':
740
+						break;
741
+					case 'post_custom_field':
742 742
 						if ( is_array( $value ) && ( floatval( $field_id ) !== floatval( $field->id ) ) ) {
743 743
 							$value = $value[ $field_id ];
744 744
 						}
745 745
 
746
-				        if( ! empty( $field->customFieldTemplateEnabled ) ) {
747
-				            $value = $this->fill_post_template( $field->customFieldTemplate, $form, $entry_tmp, true );
748
-				        }
746
+						if( ! empty( $field->customFieldTemplateEnabled ) ) {
747
+							$value = $this->fill_post_template( $field->customFieldTemplate, $form, $entry_tmp, true );
748
+						}
749 749
 
750
-	                    if ( $this->is_field_json_encoded( $field ) && ! is_string( $value ) ) {
751
-		                    $value = wp_json_encode( $value );
752
-	                    }
750
+						if ( $this->is_field_json_encoded( $field ) && ! is_string( $value ) ) {
751
+							$value = wp_json_encode( $value );
752
+						}
753 753
 
754
-				        update_post_meta( $post_id, $field->postCustomFieldName, $value );
755
-				        break;
754
+						update_post_meta( $post_id, $field->postCustomFieldName, $value );
755
+						break;
756 756
 
757
-				    case 'post_image':
758
-				        $value = $this->update_post_image( $form, $field, $field_id, $value, $this->entry, $post_id );
759
-				        break;
757
+					case 'post_image':
758
+						$value = $this->update_post_image( $form, $field, $field_id, $value, $this->entry, $post_id );
759
+						break;
760 760
 
761 761
 				}
762 762
 
@@ -801,20 +801,20 @@  discard block
 block discarded – undo
801 801
 	 */
802 802
 	private function is_field_json_encoded( $field ) {
803 803
 
804
-	    $json_encoded = false;
804
+		$json_encoded = false;
805 805
 
806 806
 		$input_type = RGFormsModel::get_input_type( $field );
807 807
 
808
-	    // Only certain custom field types are supported
809
-	    switch( $input_type ) {
810
-		    case 'fileupload':
811
-		    case 'list':
812
-		    case 'multiselect':
813
-			    $json_encoded = true;
814
-			    break;
815
-	    }
808
+		// Only certain custom field types are supported
809
+		switch( $input_type ) {
810
+			case 'fileupload':
811
+			case 'list':
812
+			case 'multiselect':
813
+				$json_encoded = true;
814
+				break;
815
+		}
816 816
 
817
-	    return $json_encoded;
817
+		return $json_encoded;
818 818
 	}
819 819
 
820 820
 	/**
@@ -904,14 +904,14 @@  discard block
 block discarded – undo
904 904
 			?><h2 class="gv-edit-entry-title">
905 905
 				<span><?php
906 906
 
907
-				    /**
908
-				     * @filter `gravityview_edit_entry_title` Modify the edit entry title
909
-				     * @param string $edit_entry_title Modify the "Edit Entry" title
910
-				     * @param GravityView_Edit_Entry_Render $this This object
911
-				     */
912
-				    $edit_entry_title = apply_filters('gravityview_edit_entry_title', __('Edit Entry', 'gravityview'), $this );
907
+					/**
908
+					 * @filter `gravityview_edit_entry_title` Modify the edit entry title
909
+					 * @param string $edit_entry_title Modify the "Edit Entry" title
910
+					 * @param GravityView_Edit_Entry_Render $this This object
911
+					 */
912
+					$edit_entry_title = apply_filters('gravityview_edit_entry_title', __('Edit Entry', 'gravityview'), $this );
913 913
 
914
-				    echo esc_attr( $edit_entry_title );
914
+					echo esc_attr( $edit_entry_title );
915 915
 			?></span>
916 916
 			</h2>
917 917
 
@@ -974,26 +974,26 @@  discard block
 block discarded – undo
974 974
 
975 975
 				switch ( $edit_redirect ) {
976 976
 
977
-                    case '0':
978
-	                    $redirect_url = $back_link;
979
-	                    $entry_updated_message = sprintf( esc_attr__('Entry Updated. %sReturning to Entry%s', 'gravityview'), '<a href="'. esc_url( $redirect_url ) .'">', '</a>' );
980
-                        break;
981
-
982
-                    case '1':
983
-	                    $redirect_url = $directory_link = GravityView_API::directory_link();
984
-	                    $entry_updated_message = sprintf( esc_attr__('Entry Updated. %sReturning to %s%s', 'gravityview'), '<a href="'. esc_url( $redirect_url ) . '">', esc_html( $view->post_title ), '</a>' );
985
-	                    break;
986
-
987
-                    case '2':
988
-	                    $redirect_url = $edit_redirect_url;
989
-	                    $redirect_url = GFCommon::replace_variables( $redirect_url, $this->form, $this->entry, false, false, false, 'text' );
990
-	                    $entry_updated_message = sprintf( esc_attr__('Entry Updated. %sRedirecting to %s%s', 'gravityview'), '<a href="'. esc_url( $redirect_url ) . '">', esc_html( $edit_redirect_url ), '</a>' );
991
-                        break;
992
-
993
-                    case '':
994
-                    default:
995
-					    $entry_updated_message = sprintf( esc_attr__('Entry Updated. %sReturn to Entry%s', 'gravityview'), '<a href="'. esc_url( $back_link ) .'">', '</a>' );
996
-                        break;
977
+					case '0':
978
+						$redirect_url = $back_link;
979
+						$entry_updated_message = sprintf( esc_attr__('Entry Updated. %sReturning to Entry%s', 'gravityview'), '<a href="'. esc_url( $redirect_url ) .'">', '</a>' );
980
+						break;
981
+
982
+					case '1':
983
+						$redirect_url = $directory_link = GravityView_API::directory_link();
984
+						$entry_updated_message = sprintf( esc_attr__('Entry Updated. %sReturning to %s%s', 'gravityview'), '<a href="'. esc_url( $redirect_url ) . '">', esc_html( $view->post_title ), '</a>' );
985
+						break;
986
+
987
+					case '2':
988
+						$redirect_url = $edit_redirect_url;
989
+						$redirect_url = GFCommon::replace_variables( $redirect_url, $this->form, $this->entry, false, false, false, 'text' );
990
+						$entry_updated_message = sprintf( esc_attr__('Entry Updated. %sRedirecting to %s%s', 'gravityview'), '<a href="'. esc_url( $redirect_url ) . '">', esc_html( $edit_redirect_url ), '</a>' );
991
+						break;
992
+
993
+					case '':
994
+					default:
995
+						$entry_updated_message = sprintf( esc_attr__('Entry Updated. %sReturn to Entry%s', 'gravityview'), '<a href="'. esc_url( $back_link ) .'">', '</a>' );
996
+						break;
997 997
 				}
998 998
 
999 999
 				if ( isset( $redirect_url ) ) {
@@ -1050,7 +1050,7 @@  discard block
 block discarded – undo
1050 1050
 
1051 1051
 		ob_get_clean();
1052 1052
 
1053
-	    remove_filter( 'gform_pre_render', array( $this, 'filter_modify_form_fields' ), 5000 );
1053
+		remove_filter( 'gform_pre_render', array( $this, 'filter_modify_form_fields' ), 5000 );
1054 1054
 		remove_filter( 'gform_submit_button', array( $this, 'render_form_buttons' ) );
1055 1055
 		remove_filter( 'gform_disable_view_counter', '__return_true' );
1056 1056
 		remove_filter( 'gform_field_input', array( $this, 'verify_user_can_edit_post' ), 5 );
@@ -1104,7 +1104,7 @@  discard block
 block discarded – undo
1104 1104
 
1105 1105
 		// for now we don't support Save and Continue feature.
1106 1106
 		if( ! self::$supports_save_and_continue ) {
1107
-	        unset( $form['save'] );
1107
+			unset( $form['save'] );
1108 1108
 		}
1109 1109
 
1110 1110
 		$form = $this->unselect_default_values( $form );
@@ -1131,30 +1131,30 @@  discard block
 block discarded – undo
1131 1131
 			return $field_content;
1132 1132
 		}
1133 1133
 
1134
-        $message = null;
1134
+		$message = null;
1135 1135
 
1136
-        // First, make sure they have the capability to edit the post.
1137
-        if( false === current_user_can( 'edit_post', $this->entry['post_id'] ) ) {
1136
+		// First, make sure they have the capability to edit the post.
1137
+		if( false === current_user_can( 'edit_post', $this->entry['post_id'] ) ) {
1138 1138
 
1139
-            /**
1140
-             * @filter `gravityview/edit_entry/unsupported_post_field_text` Modify the message when someone isn't able to edit a post
1141
-             * @param string $message The existing "You don't have permission..." text
1142
-             */
1143
-            $message = apply_filters('gravityview/edit_entry/unsupported_post_field_text', __('You don&rsquo;t have permission to edit this post.', 'gravityview') );
1139
+			/**
1140
+			 * @filter `gravityview/edit_entry/unsupported_post_field_text` Modify the message when someone isn't able to edit a post
1141
+			 * @param string $message The existing "You don't have permission..." text
1142
+			 */
1143
+			$message = apply_filters('gravityview/edit_entry/unsupported_post_field_text', __('You don&rsquo;t have permission to edit this post.', 'gravityview') );
1144 1144
 
1145
-        } elseif( null === get_post( $this->entry['post_id'] ) ) {
1146
-            /**
1147
-             * @filter `gravityview/edit_entry/no_post_text` Modify the message when someone is editing an entry attached to a post that no longer exists
1148
-             * @param string $message The existing "This field is not editable; the post no longer exists." text
1149
-             */
1150
-            $message = apply_filters('gravityview/edit_entry/no_post_text', __('This field is not editable; the post no longer exists.', 'gravityview' ) );
1151
-        }
1145
+		} elseif( null === get_post( $this->entry['post_id'] ) ) {
1146
+			/**
1147
+			 * @filter `gravityview/edit_entry/no_post_text` Modify the message when someone is editing an entry attached to a post that no longer exists
1148
+			 * @param string $message The existing "This field is not editable; the post no longer exists." text
1149
+			 */
1150
+			$message = apply_filters('gravityview/edit_entry/no_post_text', __('This field is not editable; the post no longer exists.', 'gravityview' ) );
1151
+		}
1152 1152
 
1153
-        if( $message ) {
1154
-            $field_content = sprintf('<div class="ginput_container ginput_container_' . $field->type . '">%s</div>', wpautop( $message ) );
1155
-        }
1153
+		if( $message ) {
1154
+			$field_content = sprintf('<div class="ginput_container ginput_container_' . $field->type . '">%s</div>', wpautop( $message ) );
1155
+		}
1156 1156
 
1157
-        return $field_content;
1157
+		return $field_content;
1158 1158
 	}
1159 1159
 
1160 1160
 	/**
@@ -1182,7 +1182,7 @@  discard block
 block discarded – undo
1182 1182
 			|| ! empty( $field_content )
1183 1183
 			|| in_array( $field->type, array( 'honeypot' ) )
1184 1184
 		) {
1185
-	        return $field_content;
1185
+			return $field_content;
1186 1186
 		}
1187 1187
 
1188 1188
 		// SET SOME FIELD DEFAULTS TO PREVENT ISSUES
@@ -1190,24 +1190,24 @@  discard block
 block discarded – undo
1190 1190
 
1191 1191
 		$field_value = $this->get_field_value( $field );
1192 1192
 
1193
-	    // Prevent any PHP warnings, like undefined index
1194
-	    ob_start();
1193
+		// Prevent any PHP warnings, like undefined index
1194
+		ob_start();
1195 1195
 
1196
-	    $return = null;
1196
+		$return = null;
1197 1197
 
1198 1198
 		/** @var GravityView_Field $gv_field */
1199 1199
 		if( $gv_field && is_callable( array( $gv_field, 'get_field_input' ) ) ) {
1200 1200
 			$return = $gv_field->get_field_input( $this->form, $field_value, $this->entry, $field );
1201 1201
 		} else {
1202
-	        $return = $field->get_field_input( $this->form, $field_value, $this->entry );
1203
-	    }
1202
+			$return = $field->get_field_input( $this->form, $field_value, $this->entry );
1203
+		}
1204 1204
 
1205
-	    // If there was output, it's an error
1206
-	    $warnings = ob_get_clean();
1205
+		// If there was output, it's an error
1206
+		$warnings = ob_get_clean();
1207 1207
 
1208
-	    if( !empty( $warnings ) ) {
1209
-		    gravityview()->log->error( '{warning}', array( 'warning' => $warnings, 'data' => $field_value ) );
1210
-	    }
1208
+		if( !empty( $warnings ) ) {
1209
+			gravityview()->log->error( '{warning}', array( 'warning' => $warnings, 'data' => $field_value ) );
1210
+		}
1211 1211
 
1212 1212
 		return $return;
1213 1213
 	}
@@ -1242,8 +1242,8 @@  discard block
 block discarded – undo
1242 1242
 				$input_id = strval( $input['id'] );
1243 1243
 				
1244 1244
 				if ( isset( $this->entry[ $input_id ] ) && ! gv_empty( $this->entry[ $input_id ], false, false ) ) {
1245
-				    $field_value[ $input_id ] =  'post_category' === $field->type ? GFCommon::format_post_category( $this->entry[ $input_id ], true ) : $this->entry[ $input_id ];
1246
-				    $allow_pre_populated = false;
1245
+					$field_value[ $input_id ] =  'post_category' === $field->type ? GFCommon::format_post_category( $this->entry[ $input_id ], true ) : $this->entry[ $input_id ];
1246
+					$allow_pre_populated = false;
1247 1247
 				}
1248 1248
 
1249 1249
 			}
@@ -1267,7 +1267,7 @@  discard block
 block discarded – undo
1267 1267
 			if ( 'post_category' === $field->type && !gv_empty( $field_value, false, false ) ) {
1268 1268
 				$categories = array();
1269 1269
 				foreach ( explode( ',', $field_value ) as $cat_string ) {
1270
-				    $categories[] = GFCommon::format_post_category( $cat_string, true );
1270
+					$categories[] = GFCommon::format_post_category( $cat_string, true );
1271 1271
 				}
1272 1272
 				$field_value = 'multiselect' === $field->get_input_type() ? $categories : implode( '', $categories );
1273 1273
 			}
@@ -1277,25 +1277,25 @@  discard block
 block discarded – undo
1277 1277
 		// if value is empty get the default value if defined
1278 1278
 		$field_value = $field->get_value_default_if_empty( $field_value );
1279 1279
 
1280
-	    /**
1281
-	     * @filter `gravityview/edit_entry/field_value` Change the value of an Edit Entry field, if needed
1282
-	     * @since 1.11
1283
-	     * @since 1.20 Added third param
1284
-	     * @param mixed $field_value field value used to populate the input
1285
-	     * @param object $field Gravity Forms field object ( Class GF_Field )
1286
-	     * @param GravityView_Edit_Entry_Render $this Current object
1287
-	     */
1288
-	    $field_value = apply_filters( 'gravityview/edit_entry/field_value', $field_value, $field, $this );
1289
-
1290
-	    /**
1291
-	     * @filter `gravityview/edit_entry/field_value_{field_type}` Change the value of an Edit Entry field for a specific field type
1292
-	     * @since 1.17
1293
-	     * @since 1.20 Added third param
1294
-	     * @param mixed $field_value field value used to populate the input
1295
-	     * @param GF_Field $field Gravity Forms field object
1296
-	     * @param GravityView_Edit_Entry_Render $this Current object
1297
-	     */
1298
-	    $field_value = apply_filters( 'gravityview/edit_entry/field_value_' . $field->type , $field_value, $field, $this );
1280
+		/**
1281
+		 * @filter `gravityview/edit_entry/field_value` Change the value of an Edit Entry field, if needed
1282
+		 * @since 1.11
1283
+		 * @since 1.20 Added third param
1284
+		 * @param mixed $field_value field value used to populate the input
1285
+		 * @param object $field Gravity Forms field object ( Class GF_Field )
1286
+		 * @param GravityView_Edit_Entry_Render $this Current object
1287
+		 */
1288
+		$field_value = apply_filters( 'gravityview/edit_entry/field_value', $field_value, $field, $this );
1289
+
1290
+		/**
1291
+		 * @filter `gravityview/edit_entry/field_value_{field_type}` Change the value of an Edit Entry field for a specific field type
1292
+		 * @since 1.17
1293
+		 * @since 1.20 Added third param
1294
+		 * @param mixed $field_value field value used to populate the input
1295
+		 * @param GF_Field $field Gravity Forms field object
1296
+		 * @param GravityView_Edit_Entry_Render $this Current object
1297
+		 */
1298
+		$field_value = apply_filters( 'gravityview/edit_entry/field_value_' . $field->type , $field_value, $field, $this );
1299 1299
 
1300 1300
 		return $field_value;
1301 1301
 	}
@@ -1322,7 +1322,7 @@  discard block
 block discarded – undo
1322 1322
 			// This is because we're doing admin form pretending to be front-end, so Gravity Forms
1323 1323
 			// expects certain field array items to be set.
1324 1324
 			foreach ( array( 'noDuplicates', 'adminOnly', 'inputType', 'isRequired', 'enablePrice', 'inputs', 'allowedExtensions' ) as $key ) {
1325
-	            $field->{$key} = isset( $field->{$key} ) ? $field->{$key} : NULL;
1325
+				$field->{$key} = isset( $field->{$key} ) ? $field->{$key} : NULL;
1326 1326
 			}
1327 1327
 
1328 1328
 			switch( RGFormsModel::get_input_type( $field ) ) {
@@ -1336,61 +1336,61 @@  discard block
 block discarded – undo
1336 1336
 				 */
1337 1337
 				case 'fileupload':
1338 1338
 
1339
-				    // Set the previous value
1340
-				    $entry = $this->get_entry();
1339
+					// Set the previous value
1340
+					$entry = $this->get_entry();
1341 1341
 
1342
-				    $input_name = 'input_'.$field->id;
1343
-				    $form_id = $form['id'];
1342
+					$input_name = 'input_'.$field->id;
1343
+					$form_id = $form['id'];
1344 1344
 
1345
-				    $value = NULL;
1345
+					$value = NULL;
1346 1346
 
1347
-				    // Use the previous entry value as the default.
1348
-				    if( isset( $entry[ $field->id ] ) ) {
1349
-				        $value = $entry[ $field->id ];
1350
-				    }
1347
+					// Use the previous entry value as the default.
1348
+					if( isset( $entry[ $field->id ] ) ) {
1349
+						$value = $entry[ $field->id ];
1350
+					}
1351 1351
 
1352
-				    // If this is a single upload file
1353
-				    if( !empty( $_FILES[ $input_name ] ) && !empty( $_FILES[ $input_name ]['name'] ) ) {
1354
-				        $file_path = GFFormsModel::get_file_upload_path( $form['id'], $_FILES[ $input_name ]['name'] );
1355
-				        $value = $file_path['url'];
1352
+					// If this is a single upload file
1353
+					if( !empty( $_FILES[ $input_name ] ) && !empty( $_FILES[ $input_name ]['name'] ) ) {
1354
+						$file_path = GFFormsModel::get_file_upload_path( $form['id'], $_FILES[ $input_name ]['name'] );
1355
+						$value = $file_path['url'];
1356 1356
 
1357
-				    } else {
1357
+					} else {
1358 1358
 
1359
-				        // Fix PHP warning on line 1498 of form_display.php for post_image fields
1360
-				        // Fix PHP Notice:  Undefined index:  size in form_display.php on line 1511
1361
-				        $_FILES[ $input_name ] = array('name' => '', 'size' => '' );
1359
+						// Fix PHP warning on line 1498 of form_display.php for post_image fields
1360
+						// Fix PHP Notice:  Undefined index:  size in form_display.php on line 1511
1361
+						$_FILES[ $input_name ] = array('name' => '', 'size' => '' );
1362 1362
 
1363
-				    }
1363
+					}
1364 1364
 
1365
-				    if ( \GV\Utils::get( $field, "multipleFiles" ) ) {
1365
+					if ( \GV\Utils::get( $field, "multipleFiles" ) ) {
1366 1366
 
1367
-				        // If there are fresh uploads, process and merge them.
1368
-				        // Otherwise, use the passed values, which should be json-encoded array of URLs
1369
-				        if( isset( GFFormsModel::$uploaded_files[$form_id][$input_name] ) ) {
1370
-				            $value = empty( $value ) ? '[]' : $value;
1371
-				            $value = stripslashes_deep( $value );
1372
-				            $value = GFFormsModel::prepare_value( $form, $field, $value, $input_name, $entry['id'], array());
1373
-				        }
1367
+						// If there are fresh uploads, process and merge them.
1368
+						// Otherwise, use the passed values, which should be json-encoded array of URLs
1369
+						if( isset( GFFormsModel::$uploaded_files[$form_id][$input_name] ) ) {
1370
+							$value = empty( $value ) ? '[]' : $value;
1371
+							$value = stripslashes_deep( $value );
1372
+							$value = GFFormsModel::prepare_value( $form, $field, $value, $input_name, $entry['id'], array());
1373
+						}
1374 1374
 
1375
-				    } else {
1375
+					} else {
1376 1376
 
1377
-				        // A file already exists when editing an entry
1378
-				        // We set this to solve issue when file upload fields are required.
1379
-				        GFFormsModel::$uploaded_files[ $form_id ][ $input_name ] = $value;
1377
+						// A file already exists when editing an entry
1378
+						// We set this to solve issue when file upload fields are required.
1379
+						GFFormsModel::$uploaded_files[ $form_id ][ $input_name ] = $value;
1380 1380
 
1381
-				    }
1381
+					}
1382 1382
 
1383
-				    $this->entry[ $input_name ] = $value;
1384
-				    $_POST[ $input_name ] = $value;
1383
+					$this->entry[ $input_name ] = $value;
1384
+					$_POST[ $input_name ] = $value;
1385 1385
 
1386
-				    break;
1386
+					break;
1387 1387
 
1388 1388
 				case 'number':
1389
-				    // Fix "undefined index" issue at line 1286 in form_display.php
1390
-				    if( !isset( $_POST['input_'.$field->id ] ) ) {
1391
-				        $_POST['input_'.$field->id ] = NULL;
1392
-				    }
1393
-				    break;
1389
+					// Fix "undefined index" issue at line 1286 in form_display.php
1390
+					if( !isset( $_POST['input_'.$field->id ] ) ) {
1391
+						$_POST['input_'.$field->id ] = NULL;
1392
+					}
1393
+					break;
1394 1394
 			}
1395 1395
 
1396 1396
 		}
@@ -1475,42 +1475,42 @@  discard block
 block discarded – undo
1475 1475
 				case 'fileupload' :
1476 1476
 				case 'post_image':
1477 1477
 
1478
-				    // in case nothing is uploaded but there are already files saved
1479
-				    if( !empty( $field->failed_validation ) && !empty( $field->isRequired ) && !empty( $value ) ) {
1480
-				        $field->failed_validation = false;
1481
-				        unset( $field->validation_message );
1482
-				    }
1478
+					// in case nothing is uploaded but there are already files saved
1479
+					if( !empty( $field->failed_validation ) && !empty( $field->isRequired ) && !empty( $value ) ) {
1480
+						$field->failed_validation = false;
1481
+						unset( $field->validation_message );
1482
+					}
1483 1483
 
1484
-				    // validate if multi file upload reached max number of files [maxFiles] => 2
1485
-				    if( \GV\Utils::get( $field, 'maxFiles') && \GV\Utils::get( $field, 'multipleFiles') ) {
1484
+					// validate if multi file upload reached max number of files [maxFiles] => 2
1485
+					if( \GV\Utils::get( $field, 'maxFiles') && \GV\Utils::get( $field, 'multipleFiles') ) {
1486 1486
 
1487
-				        $input_name = 'input_' . $field->id;
1488
-				        //uploaded
1489
-				        $file_names = isset( GFFormsModel::$uploaded_files[ $validation_results['form']['id'] ][ $input_name ] ) ? GFFormsModel::$uploaded_files[ $validation_results['form']['id'] ][ $input_name ] : array();
1487
+						$input_name = 'input_' . $field->id;
1488
+						//uploaded
1489
+						$file_names = isset( GFFormsModel::$uploaded_files[ $validation_results['form']['id'] ][ $input_name ] ) ? GFFormsModel::$uploaded_files[ $validation_results['form']['id'] ][ $input_name ] : array();
1490 1490
 
1491
-				        //existent
1492
-				        $entry = $this->get_entry();
1493
-				        $value = NULL;
1494
-				        if( isset( $entry[ $field->id ] ) ) {
1495
-				            $value = json_decode( $entry[ $field->id ], true );
1496
-				        }
1491
+						//existent
1492
+						$entry = $this->get_entry();
1493
+						$value = NULL;
1494
+						if( isset( $entry[ $field->id ] ) ) {
1495
+							$value = json_decode( $entry[ $field->id ], true );
1496
+						}
1497 1497
 
1498
-				        // count uploaded files and existent entry files
1499
-				        $count_files = count( $file_names ) + count( $value );
1498
+						// count uploaded files and existent entry files
1499
+						$count_files = count( $file_names ) + count( $value );
1500 1500
 
1501
-				        if( $count_files > $field->maxFiles ) {
1502
-				            $field->validation_message = __( 'Maximum number of files reached', 'gravityview' );
1503
-				            $field->failed_validation = 1;
1504
-				            $gv_valid = false;
1501
+						if( $count_files > $field->maxFiles ) {
1502
+							$field->validation_message = __( 'Maximum number of files reached', 'gravityview' );
1503
+							$field->failed_validation = 1;
1504
+							$gv_valid = false;
1505 1505
 
1506
-				            // in case of error make sure the newest upload files are removed from the upload input
1507
-				            GFFormsModel::$uploaded_files[ $validation_results['form']['id'] ] = null;
1508
-				        }
1506
+							// in case of error make sure the newest upload files are removed from the upload input
1507
+							GFFormsModel::$uploaded_files[ $validation_results['form']['id'] ] = null;
1508
+						}
1509 1509
 
1510
-				    }
1510
+					}
1511 1511
 
1512 1512
 
1513
-				    break;
1513
+					break;
1514 1514
 
1515 1515
 			}
1516 1516
 
@@ -1521,47 +1521,47 @@  discard block
 block discarded – undo
1521 1521
 
1522 1522
 				switch ( $field_type ) {
1523 1523
 
1524
-				    // Captchas don't need to be re-entered.
1525
-				    case 'captcha':
1524
+					// Captchas don't need to be re-entered.
1525
+					case 'captcha':
1526 1526
 
1527
-				        // Post Image fields aren't editable, so we un-fail them.
1528
-				    case 'post_image':
1529
-				        $field->failed_validation = false;
1530
-				        unset( $field->validation_message );
1531
-				        break;
1527
+						// Post Image fields aren't editable, so we un-fail them.
1528
+					case 'post_image':
1529
+						$field->failed_validation = false;
1530
+						unset( $field->validation_message );
1531
+						break;
1532 1532
 
1533 1533
 				}
1534 1534
 
1535 1535
 				// You can't continue inside a switch, so we do it after.
1536 1536
 				if( empty( $field->failed_validation ) ) {
1537
-				    continue;
1537
+					continue;
1538 1538
 				}
1539 1539
 
1540 1540
 				// checks if the No Duplicates option is not validating entry against itself, since
1541 1541
 				// we're editing a stored entry, it would also assume it's a duplicate.
1542 1542
 				if( !empty( $field->noDuplicates ) ) {
1543 1543
 
1544
-				    $entry = $this->get_entry();
1544
+					$entry = $this->get_entry();
1545 1545
 
1546
-				    // If the value of the entry is the same as the stored value
1547
-				    // Then we can assume it's not a duplicate, it's the same.
1548
-				    if( !empty( $entry ) && $value == $entry[ $field->id ] ) {
1549
-				        //if value submitted was not changed, then don't validate
1550
-				        $field->failed_validation = false;
1546
+					// If the value of the entry is the same as the stored value
1547
+					// Then we can assume it's not a duplicate, it's the same.
1548
+					if( !empty( $entry ) && $value == $entry[ $field->id ] ) {
1549
+						//if value submitted was not changed, then don't validate
1550
+						$field->failed_validation = false;
1551 1551
 
1552
-				        unset( $field->validation_message );
1552
+						unset( $field->validation_message );
1553 1553
 
1554
-				        gravityview()->log->debug( 'GravityView_Edit_Entry[custom_validation] Field not a duplicate; it is the same entry.', array( 'data' => $entry ) );
1554
+						gravityview()->log->debug( 'GravityView_Edit_Entry[custom_validation] Field not a duplicate; it is the same entry.', array( 'data' => $entry ) );
1555 1555
 
1556
-				        continue;
1557
-				    }
1556
+						continue;
1557
+					}
1558 1558
 				}
1559 1559
 
1560 1560
 				// if here then probably we are facing the validation 'At least one field must be filled out'
1561 1561
 				if( GFFormDisplay::is_empty( $field, $this->form_id  ) && empty( $field->isRequired ) ) {
1562
-				    unset( $field->validation_message );
1563
-	                $field->validation_message = false;
1564
-				    continue;
1562
+					unset( $field->validation_message );
1563
+					$field->validation_message = false;
1564
+					continue;
1565 1565
 				}
1566 1566
 
1567 1567
 				$gv_valid = false;
@@ -1625,8 +1625,8 @@  discard block
 block discarded – undo
1625 1625
 		// Hide fields depending on admin settings
1626 1626
 		$fields = $this->filter_fields( $form['fields'], $edit_fields );
1627 1627
 
1628
-	    // If Edit Entry fields are configured, remove adminOnly field settings. Otherwise, don't.
1629
-	    $fields = $this->filter_admin_only_fields( $fields, $edit_fields, $form, $view_id );
1628
+		// If Edit Entry fields are configured, remove adminOnly field settings. Otherwise, don't.
1629
+		$fields = $this->filter_admin_only_fields( $fields, $edit_fields, $form, $view_id );
1630 1630
 
1631 1631
 		/**
1632 1632
 		 * @filter `gravityview/edit_entry/form_fields` Modify the fields displayed in Edit Entry form
@@ -1686,11 +1686,11 @@  discard block
 block discarded – undo
1686 1686
 		// The edit tab has been configured, so we loop through to configured settings
1687 1687
 		foreach ( $configured_fields as $configured_field ) {
1688 1688
 
1689
-	        /** @var GF_Field $field */
1690
-	        foreach ( $fields as $field ) {
1689
+			/** @var GF_Field $field */
1690
+			foreach ( $fields as $field ) {
1691 1691
 				if( intval( $configured_field['id'] ) === intval( $field->id ) && $this->user_can_edit_field( $configured_field, false ) ) {
1692
-				    $edit_fields[] = $this->merge_field_properties( $field, $configured_field );
1693
-				    break;
1692
+					$edit_fields[] = $this->merge_field_properties( $field, $configured_field );
1693
+					break;
1694 1694
 				}
1695 1695
 
1696 1696
 			}
@@ -1746,28 +1746,28 @@  discard block
 block discarded – undo
1746 1746
 	 */
1747 1747
 	private function filter_admin_only_fields( $fields = array(), $edit_fields = null, $form = array(), $view_id = 0 ) {
1748 1748
 
1749
-	    /**
1749
+		/**
1750 1750
 		 * @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
1751
-	     * If the Edit Entry tab is not configured, adminOnly fields will not be shown to non-administrators.
1752
-	     * If the Edit Entry tab *is* configured, adminOnly fields will be shown to non-administrators, using the configured GV permissions
1753
-	     * @since 1.9.1
1754
-	     * @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.
1755
-	     * @param array $form GF Form array
1756
-	     * @param int $view_id View ID
1757
-	     */
1758
-	    $use_gf_adminonly_setting = apply_filters( 'gravityview/edit_entry/use_gf_admin_only_setting', empty( $edit_fields ), $form, $view_id );
1759
-
1760
-	    if( $use_gf_adminonly_setting && false === GVCommon::has_cap( 'gravityforms_edit_entries', $this->entry['id'] ) ) {
1751
+		 * If the Edit Entry tab is not configured, adminOnly fields will not be shown to non-administrators.
1752
+		 * If the Edit Entry tab *is* configured, adminOnly fields will be shown to non-administrators, using the configured GV permissions
1753
+		 * @since 1.9.1
1754
+		 * @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.
1755
+		 * @param array $form GF Form array
1756
+		 * @param int $view_id View ID
1757
+		 */
1758
+		$use_gf_adminonly_setting = apply_filters( 'gravityview/edit_entry/use_gf_admin_only_setting', empty( $edit_fields ), $form, $view_id );
1759
+
1760
+		if( $use_gf_adminonly_setting && false === GVCommon::has_cap( 'gravityforms_edit_entries', $this->entry['id'] ) ) {
1761 1761
 			foreach( $fields as $k => $field ) {
1762 1762
 				if( $field->adminOnly ) {
1763
-				    unset( $fields[ $k ] );
1763
+					unset( $fields[ $k ] );
1764 1764
 				}
1765 1765
 			}
1766 1766
 			return array_values( $fields );
1767 1767
 		}
1768 1768
 
1769
-	    foreach( $fields as &$field ) {
1770
-		    $field->adminOnly = false;
1769
+		foreach( $fields as &$field ) {
1770
+			$field->adminOnly = false;
1771 1771
 		}
1772 1772
 
1773 1773
 		return $fields;
@@ -1787,13 +1787,13 @@  discard block
 block discarded – undo
1787 1787
 	 */
1788 1788
 	private function unselect_default_values( $form ) {
1789 1789
 
1790
-	    foreach ( $form['fields'] as &$field ) {
1790
+		foreach ( $form['fields'] as &$field ) {
1791 1791
 
1792 1792
 			if ( empty( $field->choices ) ) {
1793
-                continue;
1793
+				continue;
1794 1794
 			}
1795 1795
 
1796
-            foreach ( $field->choices as &$choice ) {
1796
+			foreach ( $field->choices as &$choice ) {
1797 1797
 				if ( \GV\Utils::get( $choice, 'isSelected' ) ) {
1798 1798
 					$choice['isSelected'] = false;
1799 1799
 				}
@@ -1830,36 +1830,36 @@  discard block
 block discarded – undo
1830 1830
 
1831 1831
 			if( 'checkbox' === $field->type ) {
1832 1832
 				foreach ( $field->get_entry_inputs() as $key => $input ) {
1833
-				    $input_id = $input['id'];
1834
-				    $choice = $field->choices[ $key ];
1835
-				    $value = \GV\Utils::get( $this->entry, $input_id );
1836
-				    $match = RGFormsModel::choice_value_match( $field, $choice, $value );
1837
-				    if( $match ) {
1838
-				        $field->choices[ $key ]['isSelected'] = true;
1839
-				    }
1833
+					$input_id = $input['id'];
1834
+					$choice = $field->choices[ $key ];
1835
+					$value = \GV\Utils::get( $this->entry, $input_id );
1836
+					$match = RGFormsModel::choice_value_match( $field, $choice, $value );
1837
+					if( $match ) {
1838
+						$field->choices[ $key ]['isSelected'] = true;
1839
+					}
1840 1840
 				}
1841 1841
 			} else {
1842 1842
 
1843 1843
 				// We need to run through each field to set the default values
1844 1844
 				foreach ( $this->entry as $field_id => $field_value ) {
1845 1845
 
1846
-				    if( floatval( $field_id ) === floatval( $field->id ) ) {
1846
+					if( floatval( $field_id ) === floatval( $field->id ) ) {
1847 1847
 
1848
-				        if( 'list' === $field->type ) {
1849
-				            $list_rows = maybe_unserialize( $field_value );
1848
+						if( 'list' === $field->type ) {
1849
+							$list_rows = maybe_unserialize( $field_value );
1850 1850
 
1851
-				            $list_field_value = array();
1852
-				            foreach ( (array) $list_rows as $row ) {
1853
-				                foreach ( (array) $row as $column ) {
1854
-				                    $list_field_value[] = $column;
1855
-				                }
1856
-				            }
1851
+							$list_field_value = array();
1852
+							foreach ( (array) $list_rows as $row ) {
1853
+								foreach ( (array) $row as $column ) {
1854
+									$list_field_value[] = $column;
1855
+								}
1856
+							}
1857 1857
 
1858
-				            $field->defaultValue = serialize( $list_field_value );
1859
-				        } else {
1860
-				            $field->defaultValue = $field_value;
1861
-				        }
1862
-				    }
1858
+							$field->defaultValue = serialize( $list_field_value );
1859
+						} else {
1860
+							$field->defaultValue = $field_value;
1861
+						}
1862
+					}
1863 1863
 				}
1864 1864
 			}
1865 1865
 		}
@@ -1916,7 +1916,7 @@  discard block
 block discarded – undo
1916 1916
 			return $has_conditional_logic;
1917 1917
 		}
1918 1918
 
1919
-	    /** @see GravityView_Edit_Entry_Render::filter_conditional_logic for filter documentation */
1919
+		/** @see GravityView_Edit_Entry_Render::filter_conditional_logic for filter documentation */
1920 1920
 		return apply_filters( 'gravityview/edit_entry/conditional_logic', $has_conditional_logic, $form );
1921 1921
 	}
1922 1922
 
@@ -1983,14 +1983,14 @@  discard block
 block discarded – undo
1983 1983
 
1984 1984
 		if( $echo && $error !== true ) {
1985 1985
 
1986
-	        $error = esc_html( $error );
1986
+			$error = esc_html( $error );
1987 1987
 
1988
-	        /**
1989
-	         * @since 1.9
1990
-	         */
1991
-	        if ( ! empty( $this->entry ) ) {
1992
-		        $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;" ) );
1993
-	        }
1988
+			/**
1989
+			 * @since 1.9
1990
+			 */
1991
+			if ( ! empty( $this->entry ) ) {
1992
+				$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;" ) );
1993
+			}
1994 1994
 
1995 1995
 			echo GVCommon::generate_notice( wpautop( $error ), 'gv-error error');
1996 1996
 		}
Please login to merge, or discard this patch.