Completed
Push — develop ( 1a3f9c...16c1d0 )
by Aristeides
02:49
created
modules/css/field/class-kirki-output-field-typography.php 1 patch
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -47,14 +47,14 @@  discard block
 block discarded – undo
47 47
 		);
48 48
 
49 49
 		foreach ( $properties as $property ) {
50
-			if ( ! isset( $value[ $property ] ) || '' === $value[ $property ] ) {
50
+			if ( ! isset( $value[$property] ) || '' === $value[$property] ) {
51 51
 				continue;
52 52
 			}
53 53
 			if ( isset( $output['choice'] ) && $output['choice'] !== $property ) {
54 54
 				continue;
55 55
 			}
56 56
 
57
-			$property_value = $this->process_property_value( $property, $value[ $property ] );
57
+			$property_value = $this->process_property_value( $property, $value[$property] );
58 58
 			if ( 'font-family' === $property ) {
59 59
 				$value['font-backup'] = ( isset( $value['font-backup'] ) ) ? $value['font-backup'] : '';
60 60
 				$property_value = $this->process_property_value( $property, array(
@@ -63,7 +63,7 @@  discard block
 block discarded – undo
63 63
 				) );
64 64
 			}
65 65
 			$property_value = ( is_array( $property_value ) && isset( $property_value[0] ) ) ? $property_value[0] : $property_value;
66
-			$this->styles[ $output['media_query'] ][ $output['element'] ][ $property ] = $output['prefix'] . $property_value . $output['suffix'];
66
+			$this->styles[$output['media_query']][$output['element']][$property] = $output['prefix'] . $property_value . $output['suffix'];
67 67
 		}
68 68
 	}
69 69
 }
Please login to merge, or discard this patch.
l10n.php 1 patch
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -38,9 +38,9 @@
 block discarded – undo
38 38
 
39 39
 			// If the theme's textdomain is loaded, assign the theme's translations
40 40
 			// to the "kirki" textdomain.
41
-			if ( isset( $l10n[ $theme_textdomain ] ) ) {
41
+			if ( isset( $l10n[$theme_textdomain] ) ) {
42 42
 				// @codingStandardsIgnoreLine
43
-				$l10n[ $domain ] = $l10n[ $theme_textdomain ];
43
+				$l10n[$domain] = $l10n[$theme_textdomain];
44 44
 			}
45 45
 
46 46
 			// Always override.  We only want the theme to handle translations.
Please login to merge, or discard this patch.
controls/typography/class-kirki-control-typography.php 1 patch
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -393,7 +393,7 @@  discard block
 block discarded – undo
393 393
 			if ( is_string( $variant ) ) {
394 394
 				$final_variants[] = array(
395 395
 					'id'    => $variant,
396
-					'label' => isset( $all_variants[ $variant ] ) ? $all_variants[ $variant ] : $variant,
396
+					'label' => isset( $all_variants[$variant] ) ? $all_variants[$variant] : $variant,
397 397
 				);
398 398
 			} elseif ( is_array( $variant ) && isset( $variant['id'] ) && isset( $variant['label'] ) ) {
399 399
 				$final_variants[] = $variant;
@@ -467,7 +467,7 @@  discard block
 block discarded – undo
467 467
 				if ( array_key_exists( $variant, $all_variants ) ) {
468 468
 					$available_variants[] = array(
469 469
 						'id' => $variant,
470
-						'label' => $all_variants[ $variant ],
470
+						'label' => $all_variants[$variant],
471 471
 					);
472 472
 				}
473 473
 			}
@@ -477,7 +477,7 @@  discard block
 block discarded – undo
477 477
 				if ( array_key_exists( $subset, $all_subsets ) ) {
478 478
 					$available_subsets[] = array(
479 479
 						'id' => $subset,
480
-						'label' => $all_subsets[ $subset ],
480
+						'label' => $all_subsets[$subset],
481 481
 					);
482 482
 				}
483 483
 			}
Please login to merge, or discard this patch.
controls/dimensions/class-kirki-control-dimensions.php 1 patch
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -79,14 +79,14 @@
 block discarded – undo
79 79
 		if ( is_array( $this->choices ) ) {
80 80
 			foreach ( $this->choices as $choice => $value ) {
81 81
 				if ( 'labels' !== $choice && true === $value ) {
82
-					$this->json['choices'][ $choice ] = true;
82
+					$this->json['choices'][$choice] = true;
83 83
 				}
84 84
 			}
85 85
 		}
86 86
 		if ( is_array( $this->json['default'] ) ) {
87 87
 			foreach ( $this->json['default'] as $key => $value ) {
88
-				if ( isset( $this->json['choices'][ $key ] ) && ! isset( $this->json['value'][ $key ] ) ) {
89
-					$this->json['value'][ $key ] = $value;
88
+				if ( isset( $this->json['choices'][$key] ) && ! isset( $this->json['value'][$key] ) ) {
89
+					$this->json['value'][$key] = $value;
90 90
 				}
91 91
 			}
92 92
 		}
Please login to merge, or discard this patch.
controls/repeater/class-kirki-control-repeater.php 1 patch
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -111,12 +111,12 @@  discard block
 block discarded – undo
111 111
 
112 112
 		foreach ( $args['fields'] as $key => $value ) {
113 113
 			if ( ! isset( $value['default'] ) ) {
114
-				$args['fields'][ $key ]['default'] = '';
114
+				$args['fields'][$key]['default'] = '';
115 115
 			}
116 116
 			if ( ! isset( $value['label'] ) ) {
117
-				$args['fields'][ $key ]['label'] = '';
117
+				$args['fields'][$key]['label'] = '';
118 118
 			}
119
-			$args['fields'][ $key ]['id']      = $key;
119
+			$args['fields'][$key]['id'] = $key;
120 120
 
121 121
 			// We check if the filed is an uploaded media ( image , file, video, etc.. ).
122 122
 			if ( isset( $value['type'] ) ) {
@@ -125,7 +125,7 @@  discard block
 block discarded – undo
125 125
 					case 'cropped_image':
126 126
 					case 'upload':
127 127
 						// We add it to the list of fields that need some extra filtering/processing.
128
-						$media_fields_to_filter[ $key ] = true;
128
+						$media_fields_to_filter[$key] = true;
129 129
 						break;
130 130
 
131 131
 					case 'dropdown-pages':
@@ -140,8 +140,8 @@  discard block
 block discarded – undo
140 140
 							)
141 141
 						);
142 142
 						// Hackily add in the data link parameter.
143
-						$dropdown = str_replace( '<select', '<select data-field="' . esc_attr( $args['fields'][ $key ]['id'] ) . '"' . $this->get_link(), $dropdown );
144
-						$args['fields'][ $key ]['dropdown'] = $dropdown;
143
+						$dropdown = str_replace( '<select', '<select data-field="' . esc_attr( $args['fields'][$key]['id'] ) . '"' . $this->get_link(), $dropdown );
144
+						$args['fields'][$key]['dropdown'] = $dropdown;
145 145
 						break;
146 146
 				}
147 147
 			}
@@ -581,7 +581,7 @@  discard block
 block discarded – undo
581 581
 			}
582 582
 
583 583
 			// Validating row label field.
584
-			if ( isset( $args['row_label']['field'] ) && ! empty( $args['row_label']['field'] ) && isset( $args['fields'][ esc_attr( $args['row_label']['field'] ) ] ) ) {
584
+			if ( isset( $args['row_label']['field'] ) && ! empty( $args['row_label']['field'] ) && isset( $args['fields'][esc_attr( $args['row_label']['field'] )] ) ) {
585 585
 				$this->row_label['field'] = esc_attr( $args['row_label']['field'] );
586 586
 			} else {
587 587
 				// If from field is not set correctly, making sure standard is set as the type.
Please login to merge, or discard this patch.
modules/css/class-kirki-output.php 1 patch
Spacing   +13 added lines, -13 removed lines patch added patch discarded remove patch
@@ -102,8 +102,8 @@  discard block
 block discarded – undo
102 102
 				if ( isset( $output['pattern_replace'] ) && is_array( $output['pattern_replace'] ) ) {
103 103
 					$option_type = 'theme_mod';
104 104
 					$option_name = false;
105
-					if ( isset( Kirki::$config[ $this->config_id ] ) ) {
106
-						$config = Kirki::$config[ $this->config_id ];
105
+					if ( isset( Kirki::$config[$this->config_id] ) ) {
106
+						$config = Kirki::$config[$this->config_id];
107 107
 						$option_type = ( isset( $config['option_type'] ) ) ? $config['option_type'] : 'theme_mod';
108 108
 						if ( 'option' === $option_type || 'site_option' === $option_type ) {
109 109
 							$option_name = ( isset( $config['option_name'] ) ) ? $config['option_name'] : false;
@@ -119,16 +119,16 @@  discard block
 block discarded – undo
119 119
 								if ( is_array( $options ) ) {
120 120
 									if ( $option_name ) {
121 121
 										$subkey = str_replace( array( $option_name, '[', ']' ), '', $replace );
122
-										$replacement = ( isset( $options[ $subkey ] ) ) ? $options[ $subkey ] : '';
122
+										$replacement = ( isset( $options[$subkey] ) ) ? $options[$subkey] : '';
123 123
 										break;
124 124
 									}
125
-									$replacement = ( isset( $options[ $replace ] ) ) ? $options[ $replace ] : '';
125
+									$replacement = ( isset( $options[$replace] ) ) ? $options[$replace] : '';
126 126
 									break;
127 127
 								}
128 128
 								$replacement = get_option( $replace );
129 129
 								break;
130 130
 							case 'site_option':
131
-								$replacement = ( is_array( $options ) && isset( $options[ $replace ] ) ) ? $options[ $replace ] : get_site_option( $replace );
131
+								$replacement = ( is_array( $options ) && isset( $options[$replace] ) ) ? $options[$replace] : get_site_option( $replace );
132 132
 								break;
133 133
 							case 'user_meta':
134 134
 								$user_id = get_current_user_id();
@@ -222,9 +222,9 @@  discard block
 block discarded – undo
222 222
 			return;
223 223
 		}
224 224
 		$output['media_query'] = ( isset( $output['media_query'] ) ) ? $output['media_query'] : 'global';
225
-		$output['prefix']      = ( isset( $output['prefix'] ) )      ? $output['prefix']      : '';
226
-		$output['units']       = ( isset( $output['units'] ) )       ? $output['units']       : '';
227
-		$output['suffix']      = ( isset( $output['suffix'] ) )      ? $output['suffix']      : '';
225
+		$output['prefix']      = ( isset( $output['prefix'] ) ) ? $output['prefix'] : '';
226
+		$output['units']       = ( isset( $output['units'] ) ) ? $output['units'] : '';
227
+		$output['suffix']      = ( isset( $output['suffix'] ) ) ? $output['suffix'] : '';
228 228
 
229 229
 		// Properties that can accept multiple values.
230 230
 		// Useful for example for gradients where all browsers use the "background-image" property
@@ -233,13 +233,13 @@  discard block
 block discarded – undo
233 233
 			'background-image',
234 234
 		);
235 235
 		if ( in_array( $output['property'], $accepts_multiple, true ) ) {
236
-			if ( isset( $this->styles[ $output['media_query'] ][ $output['element'] ][ $output['property'] ] ) && ! is_array( $this->styles[ $output['media_query'] ][ $output['element'] ][ $output['property'] ] ) ) {
237
-				$this->styles[ $output['media_query'] ][ $output['element'] ][ $output['property'] ] = (array) $this->styles[ $output['media_query'] ][ $output['element'] ][ $output['property'] ];
236
+			if ( isset( $this->styles[$output['media_query']][$output['element']][$output['property']] ) && ! is_array( $this->styles[$output['media_query']][$output['element']][$output['property']] ) ) {
237
+				$this->styles[$output['media_query']][$output['element']][$output['property']] = (array) $this->styles[$output['media_query']][$output['element']][$output['property']];
238 238
 			}
239
-			$this->styles[ $output['media_query'] ][ $output['element'] ][ $output['property'] ][] = $output['prefix'] . $value . $output['units'] . $output['suffix'];
239
+			$this->styles[$output['media_query']][$output['element']][$output['property']][] = $output['prefix'] . $value . $output['units'] . $output['suffix'];
240 240
 			return;
241 241
 		}
242
-		$this->styles[ $output['media_query'] ][ $output['element'] ][ $output['property'] ] = $output['prefix'] . $value . $output['units'] . $output['suffix'];
242
+		$this->styles[$output['media_query']][$output['element']][$output['property']] = $output['prefix'] . $value . $output['units'] . $output['suffix'];
243 243
 	}
244 244
 
245 245
 	/**
@@ -259,7 +259,7 @@  discard block
 block discarded – undo
259 259
 			'background-position' => 'Kirki_Output_Property_Background_Position',
260 260
 		) );
261 261
 		if ( array_key_exists( $property, $properties ) ) {
262
-			$classname = $properties[ $property ];
262
+			$classname = $properties[$property];
263 263
 			$obj = new $classname( $property, $value );
264 264
 			return $obj->get_value();
265 265
 		}
Please login to merge, or discard this patch.
modules/customizer-styling/class-kirki-modules-customizer-styling.php 1 patch
Spacing   +11 added lines, -22 removed lines patch added patch discarded remove patch
@@ -75,43 +75,32 @@
 block discarded – undo
75 75
 		$back_obj = ( $back ) ? ariColor::newColor( $back ) : false;
76 76
 		if ( $back ) {
77 77
 			$text_on_back = ( 60 > $back_obj->lightness ) ?
78
-				$back_obj->getNew( 'lightness', $back_obj->lightness + 60 )->toCSS( $back_obj->mode ) :
79
-				$back_obj->getNew( 'lightness', $back_obj->lightness - 60 )->toCSS( $back_obj->mode );
78
+				$back_obj->getNew( 'lightness', $back_obj->lightness + 60 )->toCSS( $back_obj->mode ) : $back_obj->getNew( 'lightness', $back_obj->lightness - 60 )->toCSS( $back_obj->mode );
80 79
 			$border_on_back = ( 80 < $back_obj->lightness ) ?
81
-				$back_obj->getNew( 'lightness', $back_obj->lightness - 13 )->toCSS( $back_obj->mode ) :
82
-				$back_obj->getNew( 'lightness', $back_obj->lightness + 13 )->toCSS( $back_obj->mode );
80
+				$back_obj->getNew( 'lightness', $back_obj->lightness - 13 )->toCSS( $back_obj->mode ) : $back_obj->getNew( 'lightness', $back_obj->lightness + 13 )->toCSS( $back_obj->mode );
83 81
 			$back_on_back = ( 90 < $back_obj->lightness ) ?
84
-				$back_obj->getNew( 'lightness', $back_obj->lightness - 6 )->toCSS( $back_obj->mode ) :
85
-				$back_obj->getNew( 'lightness', $back_obj->lightness + 11 )->toCSS( $back_obj->mode );
82
+				$back_obj->getNew( 'lightness', $back_obj->lightness - 6 )->toCSS( $back_obj->mode ) : $back_obj->getNew( 'lightness', $back_obj->lightness + 11 )->toCSS( $back_obj->mode );
86 83
 			$hover_on_back = ( 90 < $back_obj->lightness ) ?
87
-				$back_obj->getNew( 'lightness', $back_obj->lightness - 3 )->toCSS( $back_obj->mode ) :
88
-				$back_obj->getNew( 'lightness', $back_obj->lightness + 3 )->toCSS( $back_obj->mode );
84
+				$back_obj->getNew( 'lightness', $back_obj->lightness - 3 )->toCSS( $back_obj->mode ) : $back_obj->getNew( 'lightness', $back_obj->lightness + 3 )->toCSS( $back_obj->mode );
89 85
 			$arrows_on_back = ( 50 > $back_obj->lightness ) ?
90
-				$back_obj->getNew( 'lightness', $back_obj->lightness + 30 )->toCSS( $back_obj->mode ) :
91
-				$back_obj->getNew( 'lightness', $back_obj->lightness - 30 )->toCSS( $back_obj->mode );
86
+				$back_obj->getNew( 'lightness', $back_obj->lightness + 30 )->toCSS( $back_obj->mode ) : $back_obj->getNew( 'lightness', $back_obj->lightness - 30 )->toCSS( $back_obj->mode );
92 87
 			$back_disabled_obj = ( 35 < $back_obj->lightness ) ?
93
-				$back_obj->getNew( 'lightness', $back_obj->lightness - 30 ) :
94
-				$back_obj->getNew( 'lightness', $back_obj->lightness + 30 );
88
+				$back_obj->getNew( 'lightness', $back_obj->lightness - 30 ) : $back_obj->getNew( 'lightness', $back_obj->lightness + 30 );
95 89
 		}
96 90
 		$accent     = ( isset( $config['color_accent'] ) ) ? $config['color_accent'] : false;
97 91
 		$accent_obj = ( $accent ) ? ariColor::newColor( $accent ) : false;
98 92
 		if ( $accent ) {
99 93
 			$text_on_accent = ( 60 > $accent_obj->lightness ) ?
100
-				$accent_obj->getNew( 'lightness', $accent_obj->lightness + 60 )->toCSS( $accent_obj->mode ) :
101
-				$accent_obj->getNew( 'lightness', $accent_obj->lightness - 60 )->toCSS( $accent_obj->mode );
94
+				$accent_obj->getNew( 'lightness', $accent_obj->lightness + 60 )->toCSS( $accent_obj->mode ) : $accent_obj->getNew( 'lightness', $accent_obj->lightness - 60 )->toCSS( $accent_obj->mode );
102 95
 			$border_on_accent = ( 50 < $accent_obj->lightness ) ?
103
-				$accent_obj->getNew( 'lightness', $accent_obj->lightness - 4 )->toCSS( $accent_obj->mode ) :
104
-				$accent_obj->getNew( 'lightness', $accent_obj->lightness + 4 )->toCSS( $accent_obj->mode );
96
+				$accent_obj->getNew( 'lightness', $accent_obj->lightness - 4 )->toCSS( $accent_obj->mode ) : $accent_obj->getNew( 'lightness', $accent_obj->lightness + 4 )->toCSS( $accent_obj->mode );
105 97
 			$accent_disabled_obj = ( 35 < $accent_obj->lightness ) ?
106
-				$accent_obj->getNew( 'lightness', $accent_obj->lightness - 30 ) :
107
-				$accent_obj->getNew( 'lightness', $accent_obj->lightness + 30 );
98
+				$accent_obj->getNew( 'lightness', $accent_obj->lightness - 30 ) : $accent_obj->getNew( 'lightness', $accent_obj->lightness + 30 );
108 99
 			$accent_disabled = $accent_disabled_obj->toCSS( $accent_disabled_obj->mode );
109 100
 			$text_on_accent_disabled = ( 60 > $accent_disabled_obj->lightness ) ?
110
-				$accent_disabled_obj->getNew( 'lightness', $accent_disabled_obj->lightness + 60 )->toCSS( $accent_disabled_obj->mode ) :
111
-				$accent_disabled_obj->getNew( 'lightness', $accent_disabled_obj->lightness - 60 )->toCSS( $accent_disabled_obj->mode );
101
+				$accent_disabled_obj->getNew( 'lightness', $accent_disabled_obj->lightness + 60 )->toCSS( $accent_disabled_obj->mode ) : $accent_disabled_obj->getNew( 'lightness', $accent_disabled_obj->lightness - 60 )->toCSS( $accent_disabled_obj->mode );
112 102
 			$border_on_accent_disabled = ( 50 < $accent_disabled_obj->lightness ) ?
113
-				$accent_disabled_obj->getNew( 'lightness', $accent_disabled_obj->lightness - 4 )->toCSS( $accent_disabled_obj->mode ) :
114
-				$accent_disabled_obj->getNew( 'lightness', $accent_disabled_obj->lightness + 4 )->toCSS( $accent_disabled_obj->mode );
103
+				$accent_disabled_obj->getNew( 'lightness', $accent_disabled_obj->lightness - 4 )->toCSS( $accent_disabled_obj->mode ) : $accent_disabled_obj->getNew( 'lightness', $accent_disabled_obj->lightness + 4 )->toCSS( $accent_disabled_obj->mode );
115 104
 		}
116 105
 
117 106
 		if ( $back ) {
Please login to merge, or discard this patch.
modules/webfonts/class-kirki-fonts-google.php 1 patch
Spacing   +14 added lines, -14 removed lines patch added patch discarded remove patch
@@ -141,15 +141,15 @@  discard block
 block discarded – undo
141 141
 			}
142 142
 
143 143
 			// Add the requested google-font.
144
-			if ( ! isset( $this->fonts[ $value['font-family'] ] ) ) {
145
-				$this->fonts[ $value['font-family'] ] = array();
144
+			if ( ! isset( $this->fonts[$value['font-family']] ) ) {
145
+				$this->fonts[$value['font-family']] = array();
146 146
 			}
147
-			if ( ! in_array( $value['variant'], $this->fonts[ $value['font-family'] ], true ) ) {
148
-				$this->fonts[ $value['font-family'] ][] = $value['variant'];
147
+			if ( ! in_array( $value['variant'], $this->fonts[$value['font-family']], true ) ) {
148
+				$this->fonts[$value['font-family']][] = $value['variant'];
149 149
 			}
150 150
 			if ( ! empty( $args['choices']['variant'] ) ) {
151 151
 				foreach ( $args['choices']['variant'] as $extra_variant ) {
152
-					$this->fonts[ $value['font-family'] ][] = $extra_variant;
152
+					$this->fonts[$value['font-family']][] = $extra_variant;
153 153
 				}
154 154
 			}
155 155
 		} else {
@@ -169,12 +169,12 @@  discard block
 block discarded – undo
169 169
 					if ( is_string( $value ) ) {
170 170
 						if ( 'font-family' === $output['property'] ) {
171 171
 							if ( ! array_key_exists( $value, $this->fonts ) ) {
172
-								$this->fonts[ $value ] = array();
172
+								$this->fonts[$value] = array();
173 173
 							}
174 174
 						} elseif ( 'font-weight' === $output['property'] ) {
175 175
 							foreach ( $this->fonts as $font => $variants ) {
176 176
 								if ( ! in_array( $value, $variants, true ) ) {
177
-									$this->fonts[ $font ][] = $value;
177
+									$this->fonts[$font][] = $value;
178 178
 								}
179 179
 							}
180 180
 						} elseif ( 'font-subset' === $output['property'] || 'subset' === $output['property'] || 'subsets' === $output['property'] ) {
@@ -214,31 +214,31 @@  discard block
 block discarded – undo
214 214
 			// Determine if this is indeed a google font or not.
215 215
 			// If it's not, then just remove it from the array.
216 216
 			if ( ! array_key_exists( $font, $this->google_fonts ) ) {
217
-				unset( $this->fonts[ $font ] );
217
+				unset( $this->fonts[$font] );
218 218
 				continue;
219 219
 			}
220 220
 
221 221
 			// Get all valid font variants for this font.
222 222
 			$font_variants = array();
223
-			if ( isset( $this->google_fonts[ $font ]['variants'] ) ) {
224
-				$font_variants = $this->google_fonts[ $font ]['variants'];
223
+			if ( isset( $this->google_fonts[$font]['variants'] ) ) {
224
+				$font_variants = $this->google_fonts[$font]['variants'];
225 225
 			}
226 226
 			foreach ( $variants as $variant ) {
227 227
 
228 228
 				// If this is not a valid variant for this font-family
229 229
 				// then unset it and move on to the next one.
230 230
 				if ( ! in_array( $variant, $font_variants, true ) ) {
231
-					$variant_key = array_search( $variant, $this->fonts[ $font ], true );
232
-					unset( $this->fonts[ $font ][ $variant_key ] );
231
+					$variant_key = array_search( $variant, $this->fonts[$font], true );
232
+					unset( $this->fonts[$font][$variant_key] );
233 233
 					continue;
234 234
 				}
235 235
 			}
236 236
 
237 237
 			// Check if the selected subsets exist, even in one of the selected fonts.
238 238
 			// If they don't, then they have to be removed otherwise the link will fail.
239
-			if ( isset( $this->google_fonts[ $font ]['subsets'] ) ) {
239
+			if ( isset( $this->google_fonts[$font]['subsets'] ) ) {
240 240
 				foreach ( $this->subsets as $subset ) {
241
-					if ( in_array( $subset, $this->google_fonts[ $font ]['subsets'], true ) ) {
241
+					if ( in_array( $subset, $this->google_fonts[$font]['subsets'], true ) ) {
242 242
 						$valid_subsets[] = $subset;
243 243
 					}
244 244
 				}
Please login to merge, or discard this patch.