Completed
Pull Request — master (#1302)
by Zack
27:00 queued 21:47
created
future/includes/class-gv-request.php 1 patch
Indentation   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -170,10 +170,10 @@
 block discarded – undo
170 170
 	 */
171 171
 	public function is_edit_entry( $form_id = 0 ) {
172 172
 		/**
173
-		* @filter `gravityview_is_edit_entry` Whether we're currently on the Edit Entry screen \n
174
-		* The Edit Entry functionality overrides this value.
175
-		* @param boolean $is_edit_entry
176
-		*/
173
+		 * @filter `gravityview_is_edit_entry` Whether we're currently on the Edit Entry screen \n
174
+		 * The Edit Entry functionality overrides this value.
175
+		 * @param boolean $is_edit_entry
176
+		 */
177 177
 		if ( ( $entry = $this->is_entry( $form_id ) ) && apply_filters( 'gravityview_is_edit_entry', false ) ) {
178 178
 			if ( $entry->is_multi() ) {
179 179
 				return array_pop( $entry->entries );
Please login to merge, or discard this patch.
includes/extensions/edit-entry/class-edit-entry-render.php 1 patch
Indentation   +289 added lines, -289 removed lines patch added patch discarded remove patch
@@ -102,10 +102,10 @@  discard block
 block discarded – undo
102 102
 
103 103
 	/**
104 104
 	 * ID of the current post. May also be ID of the current View.
105
-     *
106
-     * @since 2.0.13
107
-     * 
108
-     * @var int
105
+	 *
106
+	 * @since 2.0.13
107
+	 * 
108
+	 * @var int
109 109
 	 */
110 110
 	public $post_id;
111 111
 
@@ -177,12 +177,12 @@  discard block
 block discarded – undo
177 177
 	public function prevent_maybe_process_form() {
178 178
 
179 179
 		if( ! empty( $_POST ) ) {
180
-	        gravityview()->log->debug( 'GravityView_Edit_Entry[prevent_maybe_process_form] $_POSTed data (sanitized): ', array( 'data' => esc_html( print_r( $_POST, true ) ) ) );
180
+			gravityview()->log->debug( 'GravityView_Edit_Entry[prevent_maybe_process_form] $_POSTed data (sanitized): ', array( 'data' => esc_html( print_r( $_POST, true ) ) ) );
181 181
 		}
182 182
 
183 183
 		if( $this->is_edit_entry_submission() ) {
184 184
 			remove_action( 'wp',  array( 'RGForms', 'maybe_process_form'), 9 );
185
-	        remove_action( 'wp',  array( 'GFForms', 'maybe_process_form'), 9 );
185
+			remove_action( 'wp',  array( 'GFForms', 'maybe_process_form'), 9 );
186 186
 		}
187 187
 	}
188 188
 
@@ -210,14 +210,14 @@  discard block
 block discarded – undo
210 210
 	 * When Edit entry view is requested setup the vars
211 211
 	 */
212 212
 	private function setup_vars() {
213
-        global $post;
213
+		global $post;
214 214
 
215 215
 		$gravityview_view = GravityView_View::getInstance();
216 216
 
217 217
 
218 218
 		$entries = $gravityview_view->getEntries();
219
-	    self::$original_entry = $entries[0];
220
-	    $this->entry = $entries[0];
219
+		self::$original_entry = $entries[0];
220
+		$this->entry = $entries[0];
221 221
 
222 222
 		self::$original_form = $gravityview_view->getForm();
223 223
 		$this->form = $gravityview_view->getForm();
@@ -359,8 +359,8 @@  discard block
 block discarded – undo
359 359
 
360 360
 			GFFormsModel::save_lead( $form, $this->entry );
361 361
 
362
-	        // Delete the values for hidden inputs
363
-	        $this->unset_hidden_field_values();
362
+			// Delete the values for hidden inputs
363
+			$this->unset_hidden_field_values();
364 364
 			
365 365
 			$this->entry['date_created'] = $date_created;
366 366
 
@@ -370,7 +370,7 @@  discard block
 block discarded – undo
370 370
 			// Perform actions normally performed after updating a lead
371 371
 			$this->after_update();
372 372
 
373
-	        /**
373
+			/**
374 374
 			 * Must be AFTER after_update()!
375 375
 			 * @see https://github.com/gravityview/GravityView/issues/764
376 376
 			 */
@@ -378,7 +378,7 @@  discard block
 block discarded – undo
378 378
 
379 379
 			/**
380 380
 			 * @action `gravityview/edit_entry/after_update` Perform an action after the entry has been updated using Edit Entry
381
-             * @since 2.1 Added $gv_data parameter
381
+			 * @since 2.1 Added $gv_data parameter
382 382
 			 * @param array $form Gravity Forms form array
383 383
 			 * @param string $entry_id Numeric ID of the entry that was updated
384 384
 			 * @param GravityView_Edit_Entry_Render $this This object
@@ -402,7 +402,7 @@  discard block
 block discarded – undo
402 402
 	 * @return void
403 403
 	 */
404 404
 	private function unset_hidden_field_values() {
405
-	    global $wpdb;
405
+		global $wpdb;
406 406
 
407 407
 		/**
408 408
 		 * @filter `gravityview/edit_entry/unset_hidden_field_values` Whether to delete values of fields hidden by conditional logic
@@ -424,29 +424,29 @@  discard block
 block discarded – undo
424 424
 			$current_fields = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $lead_detail_table WHERE lead_id=%d", $this->entry['id'] ) );
425 425
 		}
426 426
 
427
-	    foreach ( $this->entry as $input_id => $field_value ) {
427
+		foreach ( $this->entry as $input_id => $field_value ) {
428 428
 
429
-		    $field = RGFormsModel::get_field( $this->form, $input_id );
429
+			$field = RGFormsModel::get_field( $this->form, $input_id );
430 430
 
431
-		    // Reset fields that are hidden
432
-		    // Don't pass $entry as fourth parameter; force using $_POST values to calculate conditional logic
433
-		    if ( GFFormsModel::is_field_hidden( $this->form, $field, array(), NULL ) ) {
431
+			// Reset fields that are hidden
432
+			// Don't pass $entry as fourth parameter; force using $_POST values to calculate conditional logic
433
+			if ( GFFormsModel::is_field_hidden( $this->form, $field, array(), NULL ) ) {
434 434
 
435 435
 				$empty_value = $field->get_value_save_entry(
436 436
 					is_array( $field->get_entry_inputs() ) ? array() : '',
437 437
 					$this->form, '', $this->entry['id'], $this->entry
438 438
 				);
439 439
 
440
-			    $lead_detail_id = GFFormsModel::get_lead_detail_id( $current_fields, $input_id );
440
+				$lead_detail_id = GFFormsModel::get_lead_detail_id( $current_fields, $input_id );
441 441
 
442
-			    GFFormsModel::update_lead_field_value( $this->form, $this->entry, $field, $lead_detail_id, $input_id, $empty_value );
442
+				GFFormsModel::update_lead_field_value( $this->form, $this->entry, $field, $lead_detail_id, $input_id, $empty_value );
443 443
 
444
-			    // Prevent the $_POST values of hidden fields from being used as default values when rendering the form
444
+				// Prevent the $_POST values of hidden fields from being used as default values when rendering the form
445 445
 				// after submission
446
-			    $post_input_id = 'input_' . str_replace( '.', '_', $input_id );
447
-			    $_POST[ $post_input_id ] = '';
448
-		    }
449
-	    }
446
+				$post_input_id = 'input_' . str_replace( '.', '_', $input_id );
447
+				$_POST[ $post_input_id ] = '';
448
+			}
449
+		}
450 450
 	}
451 451
 
452 452
 	/**
@@ -540,7 +540,7 @@  discard block
 block discarded – undo
540 540
 
541 541
 		$form = $this->form;
542 542
 
543
-	    /** @var GF_Field $field */
543
+		/** @var GF_Field $field */
544 544
 		foreach( $form['fields'] as $k => &$field ) {
545 545
 
546 546
 			/**
@@ -556,7 +556,7 @@  discard block
 block discarded – undo
556 556
 
557 557
 			if( isset( $field->inputs ) && is_array( $field->inputs ) ) {
558 558
 				foreach( $field->inputs as $key => $input ) {
559
-				    $field->inputs[ $key ][ 'id' ] = (string)$input['id'];
559
+					$field->inputs[ $key ][ 'id' ] = (string)$input['id'];
560 560
 				}
561 561
 			}
562 562
 		}
@@ -591,7 +591,7 @@  discard block
 block discarded – undo
591 591
 			foreach ( $this->fields_with_calculation as $field ) {
592 592
 				$inputs = $field->get_entry_inputs();
593 593
 				if ( is_array( $inputs ) ) {
594
-				    foreach ( $inputs as $input ) {
594
+					foreach ( $inputs as $input ) {
595 595
 						list( $field_id, $input_id ) = rgexplode( '.', $input['id'], 2 );
596 596
 
597 597
 						if ( 'product' === $field->type ) {
@@ -610,7 +610,7 @@  discard block
 block discarded – undo
610 610
 						}
611 611
 
612 612
 						GFFormsModel::save_input( $form, $field, $entry, $current_fields, $input['id'] );
613
-				    }
613
+					}
614 614
 				} else {
615 615
 					// Set to what it previously was if it's not editable
616 616
 					if ( ! in_array( $field->id, $allowed_fields ) ) {
@@ -656,7 +656,7 @@  discard block
 block discarded – undo
656 656
 			$value = RGFormsModel::prepare_value( $form, $field, $value, $input_name, $entry['id'] );
657 657
 
658 658
 			$ary = ! empty( $value ) ? explode( '|:|', $value ) : array();
659
-	        $ary = stripslashes_deep( $ary );
659
+			$ary = stripslashes_deep( $ary );
660 660
 			$img_url = \GV\Utils::get( $ary, 0 );
661 661
 
662 662
 			$img_title       = count( $ary ) > 1 ? $ary[1] : '';
@@ -729,7 +729,7 @@  discard block
 block discarded – undo
729 729
 	private function maybe_update_post_fields( $form ) {
730 730
 
731 731
 		if( empty( $this->entry['post_id'] ) ) {
732
-	        gravityview()->log->debug( 'This entry has no post fields. Continuing...' );
732
+			gravityview()->log->debug( 'This entry has no post fields. Continuing...' );
733 733
 			return;
734 734
 		}
735 735
 
@@ -764,49 +764,49 @@  discard block
 block discarded – undo
764 764
 
765 765
 				switch( $field->type ) {
766 766
 
767
-				    case 'post_title':
768
-				        $post_title = $value;
769
-				        if ( \GV\Utils::get( $form, 'postTitleTemplateEnabled' ) ) {
770
-				            $post_title = $this->fill_post_template( $form['postTitleTemplate'], $form, $entry_tmp );
771
-				        }
772
-				        $updated_post->post_title = $post_title;
773
-				        $updated_post->post_name  = $post_title;
774
-				        unset( $post_title );
775
-				        break;
776
-
777
-				    case 'post_content':
778
-				        $post_content = $value;
779
-				        if ( \GV\Utils::get( $form, 'postContentTemplateEnabled' ) ) {
780
-				            $post_content = $this->fill_post_template( $form['postContentTemplate'], $form, $entry_tmp, true );
781
-				        }
782
-				        $updated_post->post_content = $post_content;
783
-				        unset( $post_content );
784
-				        break;
785
-				    case 'post_excerpt':
786
-				        $updated_post->post_excerpt = $value;
787
-				        break;
788
-				    case 'post_tags':
789
-				        wp_set_post_tags( $post_id, $value, false );
790
-				        break;
791
-				    case 'post_category':
792
-				        break;
793
-				    case 'post_custom_field':
767
+					case 'post_title':
768
+						$post_title = $value;
769
+						if ( \GV\Utils::get( $form, 'postTitleTemplateEnabled' ) ) {
770
+							$post_title = $this->fill_post_template( $form['postTitleTemplate'], $form, $entry_tmp );
771
+						}
772
+						$updated_post->post_title = $post_title;
773
+						$updated_post->post_name  = $post_title;
774
+						unset( $post_title );
775
+						break;
776
+
777
+					case 'post_content':
778
+						$post_content = $value;
779
+						if ( \GV\Utils::get( $form, 'postContentTemplateEnabled' ) ) {
780
+							$post_content = $this->fill_post_template( $form['postContentTemplate'], $form, $entry_tmp, true );
781
+						}
782
+						$updated_post->post_content = $post_content;
783
+						unset( $post_content );
784
+						break;
785
+					case 'post_excerpt':
786
+						$updated_post->post_excerpt = $value;
787
+						break;
788
+					case 'post_tags':
789
+						wp_set_post_tags( $post_id, $value, false );
790
+						break;
791
+					case 'post_category':
792
+						break;
793
+					case 'post_custom_field':
794 794
 						if ( is_array( $value ) && ( floatval( $field_id ) !== floatval( $field->id ) ) ) {
795 795
 							$value = $value[ $field_id ];
796 796
 						}
797 797
 
798
-				        if( ! empty( $field->customFieldTemplateEnabled ) ) {
799
-				            $value = $this->fill_post_template( $field->customFieldTemplate, $form, $entry_tmp, true );
800
-				        }
798
+						if( ! empty( $field->customFieldTemplateEnabled ) ) {
799
+							$value = $this->fill_post_template( $field->customFieldTemplate, $form, $entry_tmp, true );
800
+						}
801 801
 
802 802
 						$value = $field->get_value_save_entry( $value, $form, '', $this->entry['id'], $this->entry );
803 803
 
804
-				        update_post_meta( $post_id, $field->postCustomFieldName, $value );
805
-				        break;
804
+						update_post_meta( $post_id, $field->postCustomFieldName, $value );
805
+						break;
806 806
 
807
-				    case 'post_image':
808
-				        $value = $this->update_post_image( $form, $field, $field_id, $value, $this->entry, $post_id );
809
-				        break;
807
+					case 'post_image':
808
+						$value = $this->update_post_image( $form, $field, $field_id, $value, $this->entry, $post_id );
809
+						break;
810 810
 
811 811
 				}
812 812
 
@@ -963,14 +963,14 @@  discard block
 block discarded – undo
963 963
 			?><h2 class="gv-edit-entry-title">
964 964
 				<span><?php
965 965
 
966
-				    /**
967
-				     * @filter `gravityview_edit_entry_title` Modify the edit entry title
968
-				     * @param string $edit_entry_title Modify the "Edit Entry" title
969
-				     * @param GravityView_Edit_Entry_Render $this This object
970
-				     */
971
-				    $edit_entry_title = apply_filters('gravityview_edit_entry_title', __('Edit Entry', 'gravityview'), $this );
966
+					/**
967
+					 * @filter `gravityview_edit_entry_title` Modify the edit entry title
968
+					 * @param string $edit_entry_title Modify the "Edit Entry" title
969
+					 * @param GravityView_Edit_Entry_Render $this This object
970
+					 */
971
+					$edit_entry_title = apply_filters('gravityview_edit_entry_title', __('Edit Entry', 'gravityview'), $this );
972 972
 
973
-				    echo esc_attr( $edit_entry_title );
973
+					echo esc_attr( $edit_entry_title );
974 974
 			?></span>
975 975
 			</h2>
976 976
 
@@ -1033,26 +1033,26 @@  discard block
 block discarded – undo
1033 1033
 
1034 1034
 				switch ( $edit_redirect ) {
1035 1035
 
1036
-                    case '0':
1037
-	                    $redirect_url = $back_link;
1038
-	                    $entry_updated_message = sprintf( esc_attr_x('Entry Updated. %sReturning to Entry%s', 'Replacements are HTML', 'gravityview'), '<a href="'. esc_url( $redirect_url ) .'">', '</a>' );
1039
-                        break;
1040
-
1041
-                    case '1':
1042
-	                    $redirect_url = $directory_link = GravityView_API::directory_link();
1043
-	                    $entry_updated_message = sprintf( esc_attr_x('Entry Updated. %sReturning to %s%s', 'Replacement 1 is HTML. Replacement 2 is the title of the page where the user will be taken. Replacement 3 is HTML.','gravityview'), '<a href="'. esc_url( $redirect_url ) . '">', esc_html( $view->post_title ), '</a>' );
1044
-	                    break;
1045
-
1046
-                    case '2':
1047
-	                    $redirect_url = $edit_redirect_url;
1048
-	                    $redirect_url = GFCommon::replace_variables( $redirect_url, $this->form, $this->entry, false, false, false, 'text' );
1049
-	                    $entry_updated_message = sprintf( esc_attr_x('Entry Updated. %sRedirecting to %s%s', 'Replacement 1 is HTML. Replacement 2 is the URL where the user will be taken. Replacement 3 is HTML.','gravityview'), '<a href="'. esc_url( $redirect_url ) . '">', esc_html( $edit_redirect_url ), '</a>' );
1050
-                        break;
1051
-
1052
-                    case '':
1053
-                    default:
1054
-					    $entry_updated_message = sprintf( esc_attr__('Entry Updated. %sReturn to Entry%s', 'gravityview'), '<a href="'. esc_url( $back_link ) .'">', '</a>' );
1055
-                        break;
1036
+					case '0':
1037
+						$redirect_url = $back_link;
1038
+						$entry_updated_message = sprintf( esc_attr_x('Entry Updated. %sReturning to Entry%s', 'Replacements are HTML', 'gravityview'), '<a href="'. esc_url( $redirect_url ) .'">', '</a>' );
1039
+						break;
1040
+
1041
+					case '1':
1042
+						$redirect_url = $directory_link = GravityView_API::directory_link();
1043
+						$entry_updated_message = sprintf( esc_attr_x('Entry Updated. %sReturning to %s%s', 'Replacement 1 is HTML. Replacement 2 is the title of the page where the user will be taken. Replacement 3 is HTML.','gravityview'), '<a href="'. esc_url( $redirect_url ) . '">', esc_html( $view->post_title ), '</a>' );
1044
+						break;
1045
+
1046
+					case '2':
1047
+						$redirect_url = $edit_redirect_url;
1048
+						$redirect_url = GFCommon::replace_variables( $redirect_url, $this->form, $this->entry, false, false, false, 'text' );
1049
+						$entry_updated_message = sprintf( esc_attr_x('Entry Updated. %sRedirecting to %s%s', 'Replacement 1 is HTML. Replacement 2 is the URL where the user will be taken. Replacement 3 is HTML.','gravityview'), '<a href="'. esc_url( $redirect_url ) . '">', esc_html( $edit_redirect_url ), '</a>' );
1050
+						break;
1051
+
1052
+					case '':
1053
+					default:
1054
+						$entry_updated_message = sprintf( esc_attr__('Entry Updated. %sReturn to Entry%s', 'gravityview'), '<a href="'. esc_url( $back_link ) .'">', '</a>' );
1055
+						break;
1056 1056
 				}
1057 1057
 
1058 1058
 				if ( isset( $redirect_url ) ) {
@@ -1109,7 +1109,7 @@  discard block
 block discarded – undo
1109 1109
 
1110 1110
 		ob_get_clean();
1111 1111
 
1112
-	    remove_filter( 'gform_pre_render', array( $this, 'filter_modify_form_fields' ), 5000 );
1112
+		remove_filter( 'gform_pre_render', array( $this, 'filter_modify_form_fields' ), 5000 );
1113 1113
 		remove_filter( 'gform_submit_button', array( $this, 'render_form_buttons' ) );
1114 1114
 		remove_filter( 'gform_disable_view_counter', '__return_true' );
1115 1115
 		remove_filter( 'gform_field_input', array( $this, 'verify_user_can_edit_post' ), 5 );
@@ -1163,7 +1163,7 @@  discard block
 block discarded – undo
1163 1163
 
1164 1164
 		// for now we don't support Save and Continue feature.
1165 1165
 		if( ! self::$supports_save_and_continue ) {
1166
-	        unset( $form['save'] );
1166
+			unset( $form['save'] );
1167 1167
 		}
1168 1168
 
1169 1169
 		$form = $this->unselect_default_values( $form );
@@ -1190,30 +1190,30 @@  discard block
 block discarded – undo
1190 1190
 			return $field_content;
1191 1191
 		}
1192 1192
 
1193
-        $message = null;
1193
+		$message = null;
1194 1194
 
1195
-        // First, make sure they have the capability to edit the post.
1196
-        if( false === current_user_can( 'edit_post', $this->entry['post_id'] ) ) {
1195
+		// First, make sure they have the capability to edit the post.
1196
+		if( false === current_user_can( 'edit_post', $this->entry['post_id'] ) ) {
1197 1197
 
1198
-            /**
1199
-             * @filter `gravityview/edit_entry/unsupported_post_field_text` Modify the message when someone isn't able to edit a post
1200
-             * @param string $message The existing "You don't have permission..." text
1201
-             */
1202
-            $message = apply_filters('gravityview/edit_entry/unsupported_post_field_text', __('You don&rsquo;t have permission to edit this post.', 'gravityview') );
1198
+			/**
1199
+			 * @filter `gravityview/edit_entry/unsupported_post_field_text` Modify the message when someone isn't able to edit a post
1200
+			 * @param string $message The existing "You don't have permission..." text
1201
+			 */
1202
+			$message = apply_filters('gravityview/edit_entry/unsupported_post_field_text', __('You don&rsquo;t have permission to edit this post.', 'gravityview') );
1203 1203
 
1204
-        } elseif( null === get_post( $this->entry['post_id'] ) ) {
1205
-            /**
1206
-             * @filter `gravityview/edit_entry/no_post_text` Modify the message when someone is editing an entry attached to a post that no longer exists
1207
-             * @param string $message The existing "This field is not editable; the post no longer exists." text
1208
-             */
1209
-            $message = apply_filters('gravityview/edit_entry/no_post_text', __('This field is not editable; the post no longer exists.', 'gravityview' ) );
1210
-        }
1204
+		} elseif( null === get_post( $this->entry['post_id'] ) ) {
1205
+			/**
1206
+			 * @filter `gravityview/edit_entry/no_post_text` Modify the message when someone is editing an entry attached to a post that no longer exists
1207
+			 * @param string $message The existing "This field is not editable; the post no longer exists." text
1208
+			 */
1209
+			$message = apply_filters('gravityview/edit_entry/no_post_text', __('This field is not editable; the post no longer exists.', 'gravityview' ) );
1210
+		}
1211 1211
 
1212
-        if( $message ) {
1213
-            $field_content = sprintf('<div class="ginput_container ginput_container_' . $field->type . '">%s</div>', wpautop( $message ) );
1214
-        }
1212
+		if( $message ) {
1213
+			$field_content = sprintf('<div class="ginput_container ginput_container_' . $field->type . '">%s</div>', wpautop( $message ) );
1214
+		}
1215 1215
 
1216
-        return $field_content;
1216
+		return $field_content;
1217 1217
 	}
1218 1218
 
1219 1219
 	/**
@@ -1241,7 +1241,7 @@  discard block
 block discarded – undo
1241 1241
 			|| ! empty( $field_content )
1242 1242
 			|| in_array( $field->type, array( 'honeypot' ) )
1243 1243
 		) {
1244
-	        return $field_content;
1244
+			return $field_content;
1245 1245
 		}
1246 1246
 
1247 1247
 		// SET SOME FIELD DEFAULTS TO PREVENT ISSUES
@@ -1249,24 +1249,24 @@  discard block
 block discarded – undo
1249 1249
 
1250 1250
 		$field_value = $this->get_field_value( $field );
1251 1251
 
1252
-	    // Prevent any PHP warnings, like undefined index
1253
-	    ob_start();
1252
+		// Prevent any PHP warnings, like undefined index
1253
+		ob_start();
1254 1254
 
1255
-	    $return = null;
1255
+		$return = null;
1256 1256
 
1257 1257
 		/** @var GravityView_Field $gv_field */
1258 1258
 		if( $gv_field && is_callable( array( $gv_field, 'get_field_input' ) ) ) {
1259 1259
 			$return = $gv_field->get_field_input( $this->form, $field_value, $this->entry, $field );
1260 1260
 		} else {
1261
-	        $return = $field->get_field_input( $this->form, $field_value, $this->entry );
1262
-	    }
1261
+			$return = $field->get_field_input( $this->form, $field_value, $this->entry );
1262
+		}
1263 1263
 
1264
-	    // If there was output, it's an error
1265
-	    $warnings = ob_get_clean();
1264
+		// If there was output, it's an error
1265
+		$warnings = ob_get_clean();
1266 1266
 
1267
-	    if( !empty( $warnings ) ) {
1268
-		    gravityview()->log->error( '{warning}', array( 'warning' => $warnings, 'data' => $field_value ) );
1269
-	    }
1267
+		if( !empty( $warnings ) ) {
1268
+			gravityview()->log->error( '{warning}', array( 'warning' => $warnings, 'data' => $field_value ) );
1269
+		}
1270 1270
 
1271 1271
 		return $return;
1272 1272
 	}
@@ -1301,8 +1301,8 @@  discard block
 block discarded – undo
1301 1301
 				$input_id = strval( $input['id'] );
1302 1302
 
1303 1303
 				if ( isset( $this->entry[ $input_id ] ) && ! gv_empty( $this->entry[ $input_id ], false, false ) ) {
1304
-				    $field_value[ $input_id ] =  'post_category' === $field->type ? GFCommon::format_post_category( $this->entry[ $input_id ], true ) : $this->entry[ $input_id ];
1305
-				    $allow_pre_populated = false;
1304
+					$field_value[ $input_id ] =  'post_category' === $field->type ? GFCommon::format_post_category( $this->entry[ $input_id ], true ) : $this->entry[ $input_id ];
1305
+					$allow_pre_populated = false;
1306 1306
 				}
1307 1307
 
1308 1308
 			}
@@ -1326,7 +1326,7 @@  discard block
 block discarded – undo
1326 1326
 			if ( 'post_category' === $field->type && !gv_empty( $field_value, false, false ) ) {
1327 1327
 				$categories = array();
1328 1328
 				foreach ( explode( ',', $field_value ) as $cat_string ) {
1329
-				    $categories[] = GFCommon::format_post_category( $cat_string, true );
1329
+					$categories[] = GFCommon::format_post_category( $cat_string, true );
1330 1330
 				}
1331 1331
 				$field_value = 'multiselect' === $field->get_input_type() ? $categories : implode( '', $categories );
1332 1332
 			}
@@ -1336,25 +1336,25 @@  discard block
 block discarded – undo
1336 1336
 		// if value is empty get the default value if defined
1337 1337
 		$field_value = $field->get_value_default_if_empty( $field_value );
1338 1338
 
1339
-	    /**
1340
-	     * @filter `gravityview/edit_entry/field_value` Change the value of an Edit Entry field, if needed
1341
-	     * @since 1.11
1342
-	     * @since 1.20 Added third param
1343
-	     * @param mixed $field_value field value used to populate the input
1344
-	     * @param object $field Gravity Forms field object ( Class GF_Field )
1345
-	     * @param GravityView_Edit_Entry_Render $this Current object
1346
-	     */
1347
-	    $field_value = apply_filters( 'gravityview/edit_entry/field_value', $field_value, $field, $this );
1348
-
1349
-	    /**
1350
-	     * @filter `gravityview/edit_entry/field_value_{field_type}` Change the value of an Edit Entry field for a specific field type
1351
-	     * @since 1.17
1352
-	     * @since 1.20 Added third param
1353
-	     * @param mixed $field_value field value used to populate the input
1354
-	     * @param GF_Field $field Gravity Forms field object
1355
-	     * @param GravityView_Edit_Entry_Render $this Current object
1356
-	     */
1357
-	    $field_value = apply_filters( 'gravityview/edit_entry/field_value_' . $field->type , $field_value, $field, $this );
1339
+		/**
1340
+		 * @filter `gravityview/edit_entry/field_value` Change the value of an Edit Entry field, if needed
1341
+		 * @since 1.11
1342
+		 * @since 1.20 Added third param
1343
+		 * @param mixed $field_value field value used to populate the input
1344
+		 * @param object $field Gravity Forms field object ( Class GF_Field )
1345
+		 * @param GravityView_Edit_Entry_Render $this Current object
1346
+		 */
1347
+		$field_value = apply_filters( 'gravityview/edit_entry/field_value', $field_value, $field, $this );
1348
+
1349
+		/**
1350
+		 * @filter `gravityview/edit_entry/field_value_{field_type}` Change the value of an Edit Entry field for a specific field type
1351
+		 * @since 1.17
1352
+		 * @since 1.20 Added third param
1353
+		 * @param mixed $field_value field value used to populate the input
1354
+		 * @param GF_Field $field Gravity Forms field object
1355
+		 * @param GravityView_Edit_Entry_Render $this Current object
1356
+		 */
1357
+		$field_value = apply_filters( 'gravityview/edit_entry/field_value_' . $field->type , $field_value, $field, $this );
1358 1358
 
1359 1359
 		return $field_value;
1360 1360
 	}
@@ -1381,7 +1381,7 @@  discard block
 block discarded – undo
1381 1381
 			// This is because we're doing admin form pretending to be front-end, so Gravity Forms
1382 1382
 			// expects certain field array items to be set.
1383 1383
 			foreach ( array( 'noDuplicates', 'adminOnly', 'inputType', 'isRequired', 'enablePrice', 'inputs', 'allowedExtensions' ) as $key ) {
1384
-	            $field->{$key} = isset( $field->{$key} ) ? $field->{$key} : NULL;
1384
+				$field->{$key} = isset( $field->{$key} ) ? $field->{$key} : NULL;
1385 1385
 			}
1386 1386
 
1387 1387
 			switch( RGFormsModel::get_input_type( $field ) ) {
@@ -1395,61 +1395,61 @@  discard block
 block discarded – undo
1395 1395
 				 */
1396 1396
 				case 'fileupload':
1397 1397
 
1398
-				    // Set the previous value
1399
-				    $entry = $this->get_entry();
1398
+					// Set the previous value
1399
+					$entry = $this->get_entry();
1400 1400
 
1401
-				    $input_name = 'input_'.$field->id;
1402
-				    $form_id = $form['id'];
1401
+					$input_name = 'input_'.$field->id;
1402
+					$form_id = $form['id'];
1403 1403
 
1404
-				    $value = NULL;
1404
+					$value = NULL;
1405 1405
 
1406
-				    // Use the previous entry value as the default.
1407
-				    if( isset( $entry[ $field->id ] ) ) {
1408
-				        $value = $entry[ $field->id ];
1409
-				    }
1406
+					// Use the previous entry value as the default.
1407
+					if( isset( $entry[ $field->id ] ) ) {
1408
+						$value = $entry[ $field->id ];
1409
+					}
1410 1410
 
1411
-				    // If this is a single upload file
1412
-				    if( !empty( $_FILES[ $input_name ] ) && !empty( $_FILES[ $input_name ]['name'] ) ) {
1413
-				        $file_path = GFFormsModel::get_file_upload_path( $form['id'], $_FILES[ $input_name ]['name'] );
1414
-				        $value = $file_path['url'];
1411
+					// If this is a single upload file
1412
+					if( !empty( $_FILES[ $input_name ] ) && !empty( $_FILES[ $input_name ]['name'] ) ) {
1413
+						$file_path = GFFormsModel::get_file_upload_path( $form['id'], $_FILES[ $input_name ]['name'] );
1414
+						$value = $file_path['url'];
1415 1415
 
1416
-				    } else {
1416
+					} else {
1417 1417
 
1418
-				        // Fix PHP warning on line 1498 of form_display.php for post_image fields
1419
-				        // Fix PHP Notice:  Undefined index:  size in form_display.php on line 1511
1420
-				        $_FILES[ $input_name ] = array('name' => '', 'size' => '' );
1418
+						// Fix PHP warning on line 1498 of form_display.php for post_image fields
1419
+						// Fix PHP Notice:  Undefined index:  size in form_display.php on line 1511
1420
+						$_FILES[ $input_name ] = array('name' => '', 'size' => '' );
1421 1421
 
1422
-				    }
1422
+					}
1423 1423
 
1424
-				    if ( \GV\Utils::get( $field, "multipleFiles" ) ) {
1424
+					if ( \GV\Utils::get( $field, "multipleFiles" ) ) {
1425 1425
 
1426
-				        // If there are fresh uploads, process and merge them.
1427
-				        // Otherwise, use the passed values, which should be json-encoded array of URLs
1428
-				        if( isset( GFFormsModel::$uploaded_files[$form_id][$input_name] ) ) {
1429
-				            $value = empty( $value ) ? '[]' : $value;
1430
-				            $value = stripslashes_deep( $value );
1431
-				            $value = GFFormsModel::prepare_value( $form, $field, $value, $input_name, $entry['id'], array());
1432
-				        }
1426
+						// If there are fresh uploads, process and merge them.
1427
+						// Otherwise, use the passed values, which should be json-encoded array of URLs
1428
+						if( isset( GFFormsModel::$uploaded_files[$form_id][$input_name] ) ) {
1429
+							$value = empty( $value ) ? '[]' : $value;
1430
+							$value = stripslashes_deep( $value );
1431
+							$value = GFFormsModel::prepare_value( $form, $field, $value, $input_name, $entry['id'], array());
1432
+						}
1433 1433
 
1434
-				    } else {
1434
+					} else {
1435 1435
 
1436
-				        // A file already exists when editing an entry
1437
-				        // We set this to solve issue when file upload fields are required.
1438
-				        GFFormsModel::$uploaded_files[ $form_id ][ $input_name ] = $value;
1436
+						// A file already exists when editing an entry
1437
+						// We set this to solve issue when file upload fields are required.
1438
+						GFFormsModel::$uploaded_files[ $form_id ][ $input_name ] = $value;
1439 1439
 
1440
-				    }
1440
+					}
1441 1441
 
1442
-				    $this->entry[ $input_name ] = $value;
1443
-				    $_POST[ $input_name ] = $value;
1442
+					$this->entry[ $input_name ] = $value;
1443
+					$_POST[ $input_name ] = $value;
1444 1444
 
1445
-				    break;
1445
+					break;
1446 1446
 
1447 1447
 				case 'number':
1448
-				    // Fix "undefined index" issue at line 1286 in form_display.php
1449
-				    if( !isset( $_POST['input_'.$field->id ] ) ) {
1450
-				        $_POST['input_'.$field->id ] = NULL;
1451
-				    }
1452
-				    break;
1448
+					// Fix "undefined index" issue at line 1286 in form_display.php
1449
+					if( !isset( $_POST['input_'.$field->id ] ) ) {
1450
+						$_POST['input_'.$field->id ] = NULL;
1451
+					}
1452
+					break;
1453 1453
 			}
1454 1454
 
1455 1455
 		}
@@ -1534,43 +1534,43 @@  discard block
 block discarded – undo
1534 1534
 				case 'fileupload' :
1535 1535
 				case 'post_image':
1536 1536
 
1537
-				    // in case nothing is uploaded but there are already files saved
1538
-				    if( !empty( $field->failed_validation ) && !empty( $field->isRequired ) && !empty( $value ) ) {
1539
-				        $field->failed_validation = false;
1540
-				        unset( $field->validation_message );
1541
-				    }
1537
+					// in case nothing is uploaded but there are already files saved
1538
+					if( !empty( $field->failed_validation ) && !empty( $field->isRequired ) && !empty( $value ) ) {
1539
+						$field->failed_validation = false;
1540
+						unset( $field->validation_message );
1541
+					}
1542 1542
 
1543
-				    // validate if multi file upload reached max number of files [maxFiles] => 2
1544
-				    if( \GV\Utils::get( $field, 'maxFiles') && \GV\Utils::get( $field, 'multipleFiles') ) {
1543
+					// validate if multi file upload reached max number of files [maxFiles] => 2
1544
+					if( \GV\Utils::get( $field, 'maxFiles') && \GV\Utils::get( $field, 'multipleFiles') ) {
1545 1545
 
1546
-				        $input_name = 'input_' . $field->id;
1547
-				        //uploaded
1548
-				        $file_names = isset( GFFormsModel::$uploaded_files[ $validation_results['form']['id'] ][ $input_name ] ) ? GFFormsModel::$uploaded_files[ $validation_results['form']['id'] ][ $input_name ] : array();
1546
+						$input_name = 'input_' . $field->id;
1547
+						//uploaded
1548
+						$file_names = isset( GFFormsModel::$uploaded_files[ $validation_results['form']['id'] ][ $input_name ] ) ? GFFormsModel::$uploaded_files[ $validation_results['form']['id'] ][ $input_name ] : array();
1549 1549
 
1550
-				        //existent
1551
-				        $entry = $this->get_entry();
1552
-				        $value = NULL;
1553
-				        if( isset( $entry[ $field->id ] ) ) {
1554
-				            $value = json_decode( $entry[ $field->id ], true );
1555
-				        }
1550
+						//existent
1551
+						$entry = $this->get_entry();
1552
+						$value = NULL;
1553
+						if( isset( $entry[ $field->id ] ) ) {
1554
+							$value = json_decode( $entry[ $field->id ], true );
1555
+						}
1556 1556
 
1557
-				        // count uploaded files and existent entry files
1558
-				        $count_files = ( is_array( $file_names ) ? count( $file_names ) : 0 ) +
1559
-						               ( is_array( $value ) ? count( $value ) : 0 );
1557
+						// count uploaded files and existent entry files
1558
+						$count_files = ( is_array( $file_names ) ? count( $file_names ) : 0 ) +
1559
+									   ( is_array( $value ) ? count( $value ) : 0 );
1560 1560
 
1561
-				        if( $count_files > $field->maxFiles ) {
1562
-				            $field->validation_message = __( 'Maximum number of files reached', 'gravityview' );
1563
-				            $field->failed_validation = 1;
1564
-				            $gv_valid = false;
1561
+						if( $count_files > $field->maxFiles ) {
1562
+							$field->validation_message = __( 'Maximum number of files reached', 'gravityview' );
1563
+							$field->failed_validation = 1;
1564
+							$gv_valid = false;
1565 1565
 
1566
-				            // in case of error make sure the newest upload files are removed from the upload input
1567
-				            GFFormsModel::$uploaded_files[ $validation_results['form']['id'] ] = null;
1568
-				        }
1566
+							// in case of error make sure the newest upload files are removed from the upload input
1567
+							GFFormsModel::$uploaded_files[ $validation_results['form']['id'] ] = null;
1568
+						}
1569 1569
 
1570
-				    }
1570
+					}
1571 1571
 
1572 1572
 
1573
-				    break;
1573
+					break;
1574 1574
 
1575 1575
 			}
1576 1576
 
@@ -1581,47 +1581,47 @@  discard block
 block discarded – undo
1581 1581
 
1582 1582
 				switch ( $field_type ) {
1583 1583
 
1584
-				    // Captchas don't need to be re-entered.
1585
-				    case 'captcha':
1584
+					// Captchas don't need to be re-entered.
1585
+					case 'captcha':
1586 1586
 
1587
-				        // Post Image fields aren't editable, so we un-fail them.
1588
-				    case 'post_image':
1589
-				        $field->failed_validation = false;
1590
-				        unset( $field->validation_message );
1591
-				        break;
1587
+						// Post Image fields aren't editable, so we un-fail them.
1588
+					case 'post_image':
1589
+						$field->failed_validation = false;
1590
+						unset( $field->validation_message );
1591
+						break;
1592 1592
 
1593 1593
 				}
1594 1594
 
1595 1595
 				// You can't continue inside a switch, so we do it after.
1596 1596
 				if( empty( $field->failed_validation ) ) {
1597
-				    continue;
1597
+					continue;
1598 1598
 				}
1599 1599
 
1600 1600
 				// checks if the No Duplicates option is not validating entry against itself, since
1601 1601
 				// we're editing a stored entry, it would also assume it's a duplicate.
1602 1602
 				if( !empty( $field->noDuplicates ) ) {
1603 1603
 
1604
-				    $entry = $this->get_entry();
1604
+					$entry = $this->get_entry();
1605 1605
 
1606
-				    // If the value of the entry is the same as the stored value
1607
-				    // Then we can assume it's not a duplicate, it's the same.
1608
-				    if( !empty( $entry ) && $value == $entry[ $field->id ] ) {
1609
-				        //if value submitted was not changed, then don't validate
1610
-				        $field->failed_validation = false;
1606
+					// If the value of the entry is the same as the stored value
1607
+					// Then we can assume it's not a duplicate, it's the same.
1608
+					if( !empty( $entry ) && $value == $entry[ $field->id ] ) {
1609
+						//if value submitted was not changed, then don't validate
1610
+						$field->failed_validation = false;
1611 1611
 
1612
-				        unset( $field->validation_message );
1612
+						unset( $field->validation_message );
1613 1613
 
1614
-				        gravityview()->log->debug( 'GravityView_Edit_Entry[custom_validation] Field not a duplicate; it is the same entry.', array( 'data' => $entry ) );
1614
+						gravityview()->log->debug( 'GravityView_Edit_Entry[custom_validation] Field not a duplicate; it is the same entry.', array( 'data' => $entry ) );
1615 1615
 
1616
-				        continue;
1617
-				    }
1616
+						continue;
1617
+					}
1618 1618
 				}
1619 1619
 
1620 1620
 				// if here then probably we are facing the validation 'At least one field must be filled out'
1621 1621
 				if( GFFormDisplay::is_empty( $field, $this->form_id  ) && empty( $field->isRequired ) ) {
1622
-				    unset( $field->validation_message );
1623
-	                $field->validation_message = false;
1624
-				    continue;
1622
+					unset( $field->validation_message );
1623
+					$field->validation_message = false;
1624
+					continue;
1625 1625
 				}
1626 1626
 
1627 1627
 				$gv_valid = false;
@@ -1685,8 +1685,8 @@  discard block
 block discarded – undo
1685 1685
 		// Hide fields depending on admin settings
1686 1686
 		$fields = $this->filter_fields( $form['fields'], $edit_fields );
1687 1687
 
1688
-	    // If Edit Entry fields are configured, remove adminOnly field settings. Otherwise, don't.
1689
-	    $fields = $this->filter_admin_only_fields( $fields, $edit_fields, $form, $view_id );
1688
+		// If Edit Entry fields are configured, remove adminOnly field settings. Otherwise, don't.
1689
+		$fields = $this->filter_admin_only_fields( $fields, $edit_fields, $form, $view_id );
1690 1690
 
1691 1691
 		/**
1692 1692
 		 * @filter `gravityview/edit_entry/form_fields` Modify the fields displayed in Edit Entry form
@@ -1746,11 +1746,11 @@  discard block
 block discarded – undo
1746 1746
 		// The edit tab has been configured, so we loop through to configured settings
1747 1747
 		foreach ( $configured_fields as $configured_field ) {
1748 1748
 
1749
-	        /** @var GF_Field $field */
1750
-	        foreach ( $fields as $field ) {
1749
+			/** @var GF_Field $field */
1750
+			foreach ( $fields as $field ) {
1751 1751
 				if( intval( $configured_field['id'] ) === intval( $field->id ) && $this->user_can_edit_field( $configured_field, false ) ) {
1752
-				    $edit_fields[] = $this->merge_field_properties( $field, $configured_field );
1753
-				    break;
1752
+					$edit_fields[] = $this->merge_field_properties( $field, $configured_field );
1753
+					break;
1754 1754
 				}
1755 1755
 
1756 1756
 			}
@@ -1806,28 +1806,28 @@  discard block
 block discarded – undo
1806 1806
 	 */
1807 1807
 	private function filter_admin_only_fields( $fields = array(), $edit_fields = null, $form = array(), $view_id = 0 ) {
1808 1808
 
1809
-	    /**
1809
+		/**
1810 1810
 		 * @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
1811
-	     * If the Edit Entry tab is not configured, adminOnly fields will not be shown to non-administrators.
1812
-	     * If the Edit Entry tab *is* configured, adminOnly fields will be shown to non-administrators, using the configured GV permissions
1813
-	     * @since 1.9.1
1814
-	     * @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.
1815
-	     * @param array $form GF Form array
1816
-	     * @param int $view_id View ID
1817
-	     */
1818
-	    $use_gf_adminonly_setting = apply_filters( 'gravityview/edit_entry/use_gf_admin_only_setting', empty( $edit_fields ), $form, $view_id );
1819
-
1820
-	    if( $use_gf_adminonly_setting && false === GVCommon::has_cap( 'gravityforms_edit_entries', $this->entry['id'] ) ) {
1811
+		 * If the Edit Entry tab is not configured, adminOnly fields will not be shown to non-administrators.
1812
+		 * If the Edit Entry tab *is* configured, adminOnly fields will be shown to non-administrators, using the configured GV permissions
1813
+		 * @since 1.9.1
1814
+		 * @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.
1815
+		 * @param array $form GF Form array
1816
+		 * @param int $view_id View ID
1817
+		 */
1818
+		$use_gf_adminonly_setting = apply_filters( 'gravityview/edit_entry/use_gf_admin_only_setting', empty( $edit_fields ), $form, $view_id );
1819
+
1820
+		if( $use_gf_adminonly_setting && false === GVCommon::has_cap( 'gravityforms_edit_entries', $this->entry['id'] ) ) {
1821 1821
 			foreach( $fields as $k => $field ) {
1822 1822
 				if( $field->adminOnly ) {
1823
-				    unset( $fields[ $k ] );
1823
+					unset( $fields[ $k ] );
1824 1824
 				}
1825 1825
 			}
1826 1826
 			return array_values( $fields );
1827 1827
 		}
1828 1828
 
1829
-	    foreach( $fields as &$field ) {
1830
-		    $field->adminOnly = false;
1829
+		foreach( $fields as &$field ) {
1830
+			$field->adminOnly = false;
1831 1831
 		}
1832 1832
 
1833 1833
 		return $fields;
@@ -1847,13 +1847,13 @@  discard block
 block discarded – undo
1847 1847
 	 */
1848 1848
 	private function unselect_default_values( $form ) {
1849 1849
 
1850
-	    foreach ( $form['fields'] as &$field ) {
1850
+		foreach ( $form['fields'] as &$field ) {
1851 1851
 
1852 1852
 			if ( empty( $field->choices ) ) {
1853
-                continue;
1853
+				continue;
1854 1854
 			}
1855 1855
 
1856
-            foreach ( $field->choices as &$choice ) {
1856
+			foreach ( $field->choices as &$choice ) {
1857 1857
 				if ( \GV\Utils::get( $choice, 'isSelected' ) ) {
1858 1858
 					$choice['isSelected'] = false;
1859 1859
 				}
@@ -1890,36 +1890,36 @@  discard block
 block discarded – undo
1890 1890
 
1891 1891
 			if( 'checkbox' === $field->type ) {
1892 1892
 				foreach ( $field->get_entry_inputs() as $key => $input ) {
1893
-				    $input_id = $input['id'];
1894
-				    $choice = $field->choices[ $key ];
1895
-				    $value = \GV\Utils::get( $this->entry, $input_id );
1896
-				    $match = RGFormsModel::choice_value_match( $field, $choice, $value );
1897
-				    if( $match ) {
1898
-				        $field->choices[ $key ]['isSelected'] = true;
1899
-				    }
1893
+					$input_id = $input['id'];
1894
+					$choice = $field->choices[ $key ];
1895
+					$value = \GV\Utils::get( $this->entry, $input_id );
1896
+					$match = RGFormsModel::choice_value_match( $field, $choice, $value );
1897
+					if( $match ) {
1898
+						$field->choices[ $key ]['isSelected'] = true;
1899
+					}
1900 1900
 				}
1901 1901
 			} else {
1902 1902
 
1903 1903
 				// We need to run through each field to set the default values
1904 1904
 				foreach ( $this->entry as $field_id => $field_value ) {
1905 1905
 
1906
-				    if( floatval( $field_id ) === floatval( $field->id ) ) {
1906
+					if( floatval( $field_id ) === floatval( $field->id ) ) {
1907 1907
 
1908
-				        if( 'list' === $field->type ) {
1909
-				            $list_rows = maybe_unserialize( $field_value );
1908
+						if( 'list' === $field->type ) {
1909
+							$list_rows = maybe_unserialize( $field_value );
1910 1910
 
1911
-				            $list_field_value = array();
1912
-				            foreach ( (array) $list_rows as $row ) {
1913
-				                foreach ( (array) $row as $column ) {
1914
-				                    $list_field_value[] = $column;
1915
-				                }
1916
-				            }
1911
+							$list_field_value = array();
1912
+							foreach ( (array) $list_rows as $row ) {
1913
+								foreach ( (array) $row as $column ) {
1914
+									$list_field_value[] = $column;
1915
+								}
1916
+							}
1917 1917
 
1918
-				            $field->defaultValue = serialize( $list_field_value );
1919
-				        } else {
1920
-				            $field->defaultValue = $field_value;
1921
-				        }
1922
-				    }
1918
+							$field->defaultValue = serialize( $list_field_value );
1919
+						} else {
1920
+							$field->defaultValue = $field_value;
1921
+						}
1922
+					}
1923 1923
 				}
1924 1924
 			}
1925 1925
 		}
@@ -1976,7 +1976,7 @@  discard block
 block discarded – undo
1976 1976
 			return $has_conditional_logic;
1977 1977
 		}
1978 1978
 
1979
-	    /** @see GravityView_Edit_Entry_Render::filter_conditional_logic for filter documentation */
1979
+		/** @see GravityView_Edit_Entry_Render::filter_conditional_logic for filter documentation */
1980 1980
 		return apply_filters( 'gravityview/edit_entry/conditional_logic', $has_conditional_logic, $form );
1981 1981
 	}
1982 1982
 
@@ -2043,14 +2043,14 @@  discard block
 block discarded – undo
2043 2043
 
2044 2044
 		if( $echo && $error !== true ) {
2045 2045
 
2046
-	        $error = esc_html( $error );
2046
+			$error = esc_html( $error );
2047 2047
 
2048
-	        /**
2049
-	         * @since 1.9
2050
-	         */
2051
-	        if ( ! empty( $this->entry ) ) {
2052
-		        $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;" ) );
2053
-	        }
2048
+			/**
2049
+			 * @since 1.9
2050
+			 */
2051
+			if ( ! empty( $this->entry ) ) {
2052
+				$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;" ) );
2053
+			}
2054 2054
 
2055 2055
 			echo GVCommon::generate_notice( wpautop( $error ), 'gv-error error');
2056 2056
 		}
Please login to merge, or discard this patch.
includes/class-admin-approve-entries.php 1 patch
Indentation   +23 added lines, -23 removed lines patch added patch discarded remove patch
@@ -361,14 +361,14 @@  discard block
 block discarded – undo
361 361
 	/**
362 362
 	 * update_approved function.
363 363
 	 *
364
-     * @since 1.18 Moved to GravityView_Entry_Approval::update_approved
364
+	 * @since 1.18 Moved to GravityView_Entry_Approval::update_approved
365 365
 	 * @see GravityView_Entry_Approval::update_approved
366
-     *
366
+	 *
367 367
 	 * @param int $entry_id (default: 0)
368 368
 	 * @param int $approved (default: 0)
369 369
 	 * @param int $form_id (default: 0)
370 370
 	 * @param int $approvedcolumn (default: 0)
371
-     *
371
+	 *
372 372
 	 * @return boolean True: It worked; False: it failed
373 373
 	 */
374 374
 	public static function update_approved( $entry_id = 0, $approved = 0, $form_id = 0, $approvedcolumn = 0) {
@@ -378,9 +378,9 @@  discard block
 block discarded – undo
378 378
 	/**
379 379
 	 * Calculate the approve field.input id
380 380
 	 *
381
-     * @since 1.18 Moved to GravityView_Entry_Approval::get_approved_column
382
-     * @see GravityView_Entry_Approval::get_approved_column
383
-     *
381
+	 * @since 1.18 Moved to GravityView_Entry_Approval::get_approved_column
382
+	 * @see GravityView_Entry_Approval::get_approved_column
383
+	 *
384 384
 	 * @param mixed $form GF Form or Form ID
385 385
 	 * @return false|null|string Returns the input ID of the approved field. Returns NULL if no approved fields were found. Returns false if $form_id wasn't set.
386 386
 	 */
@@ -505,37 +505,37 @@  discard block
 block discarded – undo
505 505
 			'bulk_actions' => $this->get_bulk_actions( $form_id ),
506 506
 			'bulk_message' => $this->bulk_update_message,
507 507
 			'unapprove_title' => GravityView_Entry_Approval_Status::get_title_attr('unapproved'),
508
-            'approve_title' => GravityView_Entry_Approval_Status::get_title_attr('disapproved'),
508
+			'approve_title' => GravityView_Entry_Approval_Status::get_title_attr('disapproved'),
509 509
 			'disapprove_title' => GravityView_Entry_Approval_Status::get_title_attr('approved'),
510 510
 			'column_title' => __( 'Show entry in directory view?', 'gravityview'),
511 511
 			'column_link' => esc_url( $this->get_sort_link() ),
512
-            'status_popover_template' => GravityView_Entry_Approval::get_popover_template(),
512
+			'status_popover_template' => GravityView_Entry_Approval::get_popover_template(),
513 513
 			'status_popover_placement' => GravityView_Entry_Approval::get_popover_placement(),
514 514
 		) );
515 515
 
516 516
 	}
517 517
 
518 518
 	/**
519
-     * Generate a link to sort by approval status
520
-     *
521
-     * Note: Sorting by approval will never be great because it's not possible currently to declare the sorting as
522
-     * numeric, but it does group the approved entries together.
523
-     *
524
-     * @since 2.0.14 Remove need for approval field for sorting by approval status
525
-     *
519
+	 * Generate a link to sort by approval status
520
+	 *
521
+	 * Note: Sorting by approval will never be great because it's not possible currently to declare the sorting as
522
+	 * numeric, but it does group the approved entries together.
523
+	 *
524
+	 * @since 2.0.14 Remove need for approval field for sorting by approval status
525
+	 *
526 526
 	 * @param int $form_id [NO LONGER USED]
527 527
 	 *
528 528
 	 * @return string Sorting link
529 529
 	 */
530 530
 	private function get_sort_link( $form_id = 0 ) {
531 531
 
532
-	    $args = array(
533
-		    'orderby' => 'is_approved',
534
-            'order' => ( 'desc' === \GV\Utils::_GET( 'order' ) ) ? 'asc' : 'desc',
535
-        );
532
+		$args = array(
533
+			'orderby' => 'is_approved',
534
+			'order' => ( 'desc' === \GV\Utils::_GET( 'order' ) ) ? 'asc' : 'desc',
535
+		);
536 536
 
537 537
 		return add_query_arg( $args );
538
-    }
538
+	}
539 539
 
540 540
 	/**
541 541
 	 * Get an array of options to be added to the Gravity Forms "Bulk action" dropdown in a "GravityView" option group
@@ -577,9 +577,9 @@  discard block
 block discarded – undo
577 577
 		// Sanitize the values, just to be sure.
578 578
 		foreach ( $bulk_actions as $key => $group ) {
579 579
 
580
-		    if( empty( $group ) ) {
581
-		        continue;
582
-		    }
580
+			if( empty( $group ) ) {
581
+				continue;
582
+			}
583 583
 
584 584
 			foreach ( $group as $i => $action ) {
585 585
 				$bulk_actions[ $key ][ $i ]['label'] = esc_html( $bulk_actions[ $key ][ $i ]['label'] );
Please login to merge, or discard this patch.
future/includes/class-gv-settings-addon.php 1 patch
Indentation   +123 added lines, -123 removed lines patch added patch discarded remove patch
@@ -134,28 +134,28 @@  discard block
 block discarded – undo
134 134
 	 */
135 135
 	public function add_network_menu() {
136 136
 
137
-	    if ( ! gravityview()->plugin->is_network_activated() ) {
137
+		if ( ! gravityview()->plugin->is_network_activated() ) {
138 138
 			return;
139 139
 		}
140 140
 
141
-        add_menu_page( __( 'Settings', 'gravityview' ), __( 'GravityView', 'gravityview' ), $this->_capabilities_app_settings, "{$this->_slug}_settings", array( $this, 'app_tab_page' ), 'none' );
141
+		add_menu_page( __( 'Settings', 'gravityview' ), __( 'GravityView', 'gravityview' ), $this->_capabilities_app_settings, "{$this->_slug}_settings", array( $this, 'app_tab_page' ), 'none' );
142 142
 	}
143 143
 
144 144
 	/**
145
-     * Uninstall all traces of GravityView
146
-     *
147
-     * Note: method is public because parent method is public
148
-     *
145
+	 * Uninstall all traces of GravityView
146
+	 *
147
+	 * Note: method is public because parent method is public
148
+	 *
149 149
 	 * @return bool
150 150
 	 */
151 151
 	public function uninstall() {
152 152
 		gravityview()->plugin->uninstall();
153 153
 
154 154
 		/**
155
-         * Set the path so that Gravity Forms can de-activate GravityView
156
-         * @see GFAddOn::uninstall_addon
157
-         * @uses deactivate_plugins()
158
-         */
155
+		 * Set the path so that Gravity Forms can de-activate GravityView
156
+		 * @see GFAddOn::uninstall_addon
157
+		 * @uses deactivate_plugins()
158
+		 */
159 159
 		$this->_path = GRAVITYVIEW_FILE;
160 160
 
161 161
 		return true;
@@ -185,42 +185,42 @@  discard block
 block discarded – undo
185 185
 	}
186 186
 
187 187
 	/**
188
-     * Get an array of reasons why the plugin might be uninstalled
189
-     *
190
-     * @since 1.17.5
191
-     *
188
+	 * Get an array of reasons why the plugin might be uninstalled
189
+	 *
190
+	 * @since 1.17.5
191
+	 *
192 192
 	 * @return array Array of reasons with the label and followup questions for each uninstall reason
193 193
 	 */
194 194
 	private function get_uninstall_reasons() {
195 195
 		$reasons = array(
196 196
 			'will-continue' => array(
197
-                'label' => esc_html__( 'I am going to continue using GravityView', 'gravityview' ),
198
-            ),
197
+				'label' => esc_html__( 'I am going to continue using GravityView', 'gravityview' ),
198
+			),
199 199
 			'no-longer-need' => array(
200
-                'label' => esc_html__( 'I no longer need GravityView', 'gravityview' ),
201
-            ),
200
+				'label' => esc_html__( 'I no longer need GravityView', 'gravityview' ),
201
+			),
202 202
 			'doesnt-work' => array(
203
-                'label' => esc_html__( 'The plugin doesn\'t work', 'gravityview' ),
204
-            ),
203
+				'label' => esc_html__( 'The plugin doesn\'t work', 'gravityview' ),
204
+			),
205 205
 			'found-other' => array(
206
-                'label' => esc_html__( 'I found a better plugin', 'gravityview' ),
207
-                'followup' => esc_attr__( 'What plugin you are using, and why?', 'gravityview' ),
208
-            ),
206
+				'label' => esc_html__( 'I found a better plugin', 'gravityview' ),
207
+				'followup' => esc_attr__( 'What plugin you are using, and why?', 'gravityview' ),
208
+			),
209 209
 			'other' => array(
210
-                'label' => esc_html__( 'Other', 'gravityview' ),
211
-            ),
210
+				'label' => esc_html__( 'Other', 'gravityview' ),
211
+			),
212 212
 		);
213 213
 
214 214
 		shuffle( $reasons );
215 215
 
216 216
 		return $reasons;
217
-    }
217
+	}
218 218
 
219 219
 	/**
220
-     * Display a feedback form when the plugin is uninstalled
221
-     *
222
-     * @since 1.17.5
223
-     *
220
+	 * Display a feedback form when the plugin is uninstalled
221
+	 *
222
+	 * @since 1.17.5
223
+	 *
224 224
 	 * @return string HTML of the uninstallation form
225 225
 	 */
226 226
 	public function uninstall_form() {
@@ -300,7 +300,7 @@  discard block
 block discarded – undo
300 300
             <h2><?php esc_html_e( 'Why did you uninstall GravityView?', 'gravityview' ); ?></h2>
301 301
             <ul>
302 302
 				<?php
303
-                $reasons = $this->get_uninstall_reasons();
303
+				$reasons = $this->get_uninstall_reasons();
304 304
 				foreach ( $reasons as $reason ) {
305 305
 					printf( '<li><label><input name="reason" type="radio" value="other" data-followup="%s"> %s</label></li>', Utils::get( $reason, 'followup' ), Utils::get( $reason, 'label' ) );
306 306
 				}
@@ -394,12 +394,12 @@  discard block
 block discarded – undo
394 394
 	}
395 395
 
396 396
 	public function app_settings_tab() {
397
-	    parent::app_settings_tab();
397
+		parent::app_settings_tab();
398 398
 
399 399
 		if ( $this->maybe_uninstall() ) {
400
-            echo $this->uninstall_form();
400
+			echo $this->uninstall_form();
401 401
 		}
402
-    }
402
+	}
403 403
 
404 404
 	/**
405 405
 	 * The Settings title
@@ -489,9 +489,9 @@  discard block
 block discarded – undo
489 489
 
490 490
 		if( is_multisite() ) {
491 491
 			$option_value = get_blog_option( get_main_site_id(), $option_name, array() );
492
-        } else {
493
-		    $option_value = get_site_option( $option_name, array() );
494
-        }
492
+		} else {
493
+			$option_value = get_site_option( $option_name, array() );
494
+		}
495 495
 
496 496
 		return wp_parse_args( $option_value, $this->defaults() );
497 497
 	}
@@ -562,8 +562,8 @@  discard block
 block discarded – undo
562 562
                     type="' . $field['type'] . '"
563 563
                     name="' . esc_attr( $name ) . '"
564 564
                     value="' . $value . '" ' .
565
-		        implode( ' ', $attributes ) .
566
-		        ' />';
565
+				implode( ' ', $attributes ) .
566
+				' />';
567 567
 
568 568
 		if ( $echo ) {
569 569
 			echo $html;
@@ -581,12 +581,12 @@  discard block
 block discarded – undo
581 581
 	}
582 582
 
583 583
 	/**
584
-     * Check whether GravityView is being saved
585
-     *
586
-     * The generic is_save_postback() is true for all addons
587
-     *
588
-     * @since 2.0.8
589
-     *
584
+	 * Check whether GravityView is being saved
585
+	 *
586
+	 * The generic is_save_postback() is true for all addons
587
+	 *
588
+	 * @since 2.0.8
589
+	 *
590 590
 	 * @return bool
591 591
 	 */
592 592
 	public function is_save_postback() {
@@ -600,16 +600,16 @@  discard block
 block discarded – undo
600 600
 	 */
601 601
 	public function license_key_notice() {
602 602
 
603
-	    if( $this->is_save_postback() ) {
604
-		    $settings = $this->get_posted_settings();
605
-		    $license_key = \GV\Utils::get( $settings, 'license_key' );
606
-		    $license_status = \GV\Utils::get( $settings, 'license_key_status', 'inactive' );
607
-        } else {
608
-		    $license_status = $this->get( 'license_key_status', 'inactive' );
609
-		    $license_key    = $this->get( 'license_key' );
610
-	    }
603
+		if( $this->is_save_postback() ) {
604
+			$settings = $this->get_posted_settings();
605
+			$license_key = \GV\Utils::get( $settings, 'license_key' );
606
+			$license_status = \GV\Utils::get( $settings, 'license_key_status', 'inactive' );
607
+		} else {
608
+			$license_status = $this->get( 'license_key_status', 'inactive' );
609
+			$license_key    = $this->get( 'license_key' );
610
+		}
611 611
 
612
-	    $license_id = empty( $license_key ) ? 'license' : $license_key;
612
+		$license_id = empty( $license_key ) ? 'license' : $license_key;
613 613
 
614 614
 		$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' );
615 615
 
@@ -626,7 +626,7 @@  discard block
 block discarded – undo
626 626
 		$update_below = false;
627 627
 		$primary_button_link = admin_url( 'edit.php?post_type=gravityview&amp;page=gravityview_settings' );
628 628
 
629
-        switch ( $license_status ) {
629
+		switch ( $license_status ) {
630 630
 			/** @since 1.17 */
631 631
 			case 'expired':
632 632
 				$title = __( 'Expired License', 'gravityview' );
@@ -664,13 +664,13 @@  discard block
 block discarded – undo
664 664
 			return;
665 665
 		}
666 666
 
667
-        \GravityView_Admin_Notices::add_notice( array(
668
-            'message' => $message,
669
-            'class'   => 'notice notice-warning',
670
-            'title'   => $title,
671
-            'cap'     => 'gravityview_edit_settings',
672
-            'dismiss' => sha1( $license_status . '_' . $license_id . '_' . date( 'z' ) ), // Show every day, instead of every 8 weeks (which is the default)
673
-        ) );
667
+		\GravityView_Admin_Notices::add_notice( array(
668
+			'message' => $message,
669
+			'class'   => 'notice notice-warning',
670
+			'title'   => $title,
671
+			'cap'     => 'gravityview_edit_settings',
672
+			'dismiss' => sha1( $license_status . '_' . $license_id . '_' . date( 'z' ) ), // Show every day, instead of every 8 weeks (which is the default)
673
+		) );
674 674
 	}
675 675
 
676 676
 	/**
@@ -684,12 +684,12 @@  discard block
 block discarded – undo
684 684
 	}
685 685
 
686 686
 	/**
687
-     * Add tooltip script to app settings page. Not enqueued by Gravity Forms for some reason.
688
-     *
689
-     * @since 1.21.5
690
-     *
691
-     * @see GFAddOn::scripts()
692
-     *
687
+	 * Add tooltip script to app settings page. Not enqueued by Gravity Forms for some reason.
688
+	 *
689
+	 * @since 1.21.5
690
+	 *
691
+	 * @see GFAddOn::scripts()
692
+	 *
693 693
 	 * @return array Array of scripts
694 694
 	 */
695 695
 	public function scripts() {
@@ -698,10 +698,10 @@  discard block
 block discarded – undo
698 698
 		$scripts[] = array(
699 699
 			'handle'  => 'gform_tooltip_init',
700 700
 			'enqueue' => array(
701
-                array(
702
-			        'admin_page' => array( 'app_settings' )
703
-                )
704
-            )
701
+				array(
702
+					'admin_page' => array( 'app_settings' )
703
+				)
704
+			)
705 705
 		);
706 706
 
707 707
 		return $scripts;
@@ -719,10 +719,10 @@  discard block
 block discarded – undo
719 719
 			'src'     => plugins_url( 'assets/css/admin-settings.css', GRAVITYVIEW_FILE ),
720 720
 			'version' => Plugin::$version,
721 721
 			'deps' => array(
722
-                'gform_admin',
722
+				'gform_admin',
723 723
 				'gaddon_form_settings_css',
724
-                'gform_tooltip',
725
-                'gform_font_awesome',
724
+				'gform_tooltip',
725
+				'gform_font_awesome',
726 726
 			),
727 727
 			'enqueue' => array(
728 728
 				array( 'admin_page' => array(
@@ -890,7 +890,7 @@  discard block
 block discarded – undo
890 890
 					array(
891 891
 						'label' => _x( 'Show me beta versions if they are available.', 'gravityview' ),
892 892
 						'value' => '1',
893
-                        'name'  => 'beta',
893
+						'name'  => 'beta',
894 894
 					),
895 895
 				),
896 896
 				'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' ),
@@ -928,38 +928,38 @@  discard block
 block discarded – undo
928 928
 
929 929
 			if ( empty( $field['disabled'] ) ) {
930 930
 				unset( $field['disabled'] );
931
-            }
931
+			}
932 932
 		}
933 933
 
934
-        $sections = array(
935
-            array(
936
-                'description' => sprintf( '<span class="version-info description">%s</span>', sprintf( __( 'You are running GravityView version %s', 'gravityview' ), Plugin::$version ) ),
937
-                'fields'      => $fields,
938
-            )
939
-        );
934
+		$sections = array(
935
+			array(
936
+				'description' => sprintf( '<span class="version-info description">%s</span>', sprintf( __( 'You are running GravityView version %s', 'gravityview' ), Plugin::$version ) ),
937
+				'fields'      => $fields,
938
+			)
939
+		);
940 940
 
941
-        // custom 'update settings' button
942
-        $button = array(
943
-            'class' => 'button button-primary button-hero',
944
-            'type' => 'save',
945
-        );
941
+		// custom 'update settings' button
942
+		$button = array(
943
+			'class' => 'button button-primary button-hero',
944
+			'type' => 'save',
945
+		);
946 946
 
947 947
 		if ( $disabled_attribute ) {
948 948
 			$button['disabled'] = $disabled_attribute;
949 949
 		}
950 950
 
951
-        /**
952
-         * @filter `gravityview/settings/extension/sections` Modify the GravityView settings page
953
-         * Extensions can tap in here to insert their own section and settings.
954
-         * <code>
955
-         *   $sections[] = array(
956
-         *      'title' => __( 'GravityView My Extension Settings', 'gravityview' ),
957
-         *      'fields' => $settings,
958
-         *   );
959
-         * </code>
960
-         * @param array $extension_settings Empty array, ready for extension settings!
961
-         */
962
-        $extension_sections = apply_filters( 'gravityview/settings/extension/sections', array() );
951
+		/**
952
+		 * @filter `gravityview/settings/extension/sections` Modify the GravityView settings page
953
+		 * Extensions can tap in here to insert their own section and settings.
954
+		 * <code>
955
+		 *   $sections[] = array(
956
+		 *      'title' => __( 'GravityView My Extension Settings', 'gravityview' ),
957
+		 *      'fields' => $settings,
958
+		 *   );
959
+		 * </code>
960
+		 * @param array $extension_settings Empty array, ready for extension settings!
961
+		 */
962
+		$extension_sections = apply_filters( 'gravityview/settings/extension/sections', array() );
963 963
 
964 964
 		// If there are extensions, add a section for them
965 965
 		if ( ! empty( $extension_sections ) ) {
@@ -972,13 +972,13 @@  discard block
 block discarded – undo
972 972
 				}
973 973
 			}
974 974
 
975
-            $k = count( $extension_sections ) - 1 ;
976
-            $extension_sections[ $k ]['fields'][] = $button;
975
+			$k = count( $extension_sections ) - 1 ;
976
+			$extension_sections[ $k ]['fields'][] = $button;
977 977
 			$sections = array_merge( $sections, $extension_sections );
978 978
 		} else {
979
-            // add the 'update settings' button to the general section
980
-            $sections[0]['fields'][] = $button;
981
-        }
979
+			// add the 'update settings' button to the general section
980
+			$sections[0]['fields'][] = $button;
981
+		}
982 982
 
983 983
 		return $sections;
984 984
 	}
@@ -1032,9 +1032,9 @@  discard block
 block discarded – undo
1032 1032
 	 */
1033 1033
 	protected function settings_edd_license( $field, $echo = true ) {
1034 1034
 
1035
-	    if ( defined( 'GRAVITYVIEW_LICENSE_KEY' ) && GRAVITYVIEW_LICENSE_KEY ) {
1036
-		    $field['input_type'] = 'password';
1037
-        }
1035
+		if ( defined( 'GRAVITYVIEW_LICENSE_KEY' ) && GRAVITYVIEW_LICENSE_KEY ) {
1036
+			$field['input_type'] = 'password';
1037
+		}
1038 1038
 
1039 1039
 		$text = $this->settings_text( $field, false );
1040 1040
 
@@ -1051,9 +1051,9 @@  discard block
 block discarded – undo
1051 1051
 
1052 1052
 	/**
1053 1053
 	 * Allow pure HTML settings row
1054
-     *
1055
-     * @since 2.0.6
1056
-     *
1054
+	 *
1055
+	 * @since 2.0.6
1056
+	 *
1057 1057
 	 * @param array $field
1058 1058
 	 * @param bool $echo Whether to echo the
1059 1059
 	 *
@@ -1119,19 +1119,19 @@  discard block
 block discarded – undo
1119 1119
 	}
1120 1120
 
1121 1121
 	/**
1122
-     * Keep GravityView styling for `$field['description']`, even though Gravity Forms added support for it
1123
-     *
1124
-     * Converts `$field['description']` to `$field['gv_description']`
1125
-     * Converts `$field['subtitle']` to `$field['description']`
1126
-     *
1127
-     * @see \GV\Addon_Settings::single_setting_label Converts `gv_description` back to `description`
1128
-     * @see http://share.gravityview.co/P28uGp/2OIRKxog for image that shows subtitle vs description
1129
-     *
1130
-     * @since 1.21.5.2
1131
-     *
1122
+	 * Keep GravityView styling for `$field['description']`, even though Gravity Forms added support for it
1123
+	 *
1124
+	 * Converts `$field['description']` to `$field['gv_description']`
1125
+	 * Converts `$field['subtitle']` to `$field['description']`
1126
+	 *
1127
+	 * @see \GV\Addon_Settings::single_setting_label Converts `gv_description` back to `description`
1128
+	 * @see http://share.gravityview.co/P28uGp/2OIRKxog for image that shows subtitle vs description
1129
+	 *
1130
+	 * @since 1.21.5.2
1131
+	 *
1132 1132
 	 * @param array $field
1133
-     *
1134
-     * @return void
1133
+	 *
1134
+	 * @return void
1135 1135
 	 */
1136 1136
 	public function single_setting_row( $field ) {
1137 1137
 		$field['gv_description'] = Utils::get( $field, 'description' );
Please login to merge, or discard this patch.