Completed
Push — develop ( 47c1de...5901ab )
by Zack
19:00 queued 11s
created
includes/class-gravityview-bulk-actions.php 1 patch
Spacing   +20 added lines, -20 removed lines patch added patch discarded remove patch
@@ -54,7 +54,7 @@  discard block
 block discarded – undo
54 54
 
55 55
 		$gv_bulk_action = false;
56 56
 
57
-		if( version_compare( GFForms::$version, '2.0', '>=' ) ) {
57
+		if ( version_compare( GFForms::$version, '2.0', '>=' ) ) {
58 58
 			$bulk_action = ( '-1' !== \GV\Utils::_POST( 'action' ) ) ? \GV\Utils::_POST( 'action' ) : \GV\Utils::_POST( 'action2' );
59 59
 		} else {
60 60
 			// GF 1.9.x - Bulk action 2 is the bottom bulk action select form.
@@ -62,7 +62,7 @@  discard block
 block discarded – undo
62 62
 		}
63 63
 
64 64
 		// Check the $bulk_action value against GV actions, see if they're the same. I hate strpos().
65
-		if( ! empty( $bulk_action ) && preg_match( '/^('. implode( '|', self::$bulk_action_prefixes ) .')/ism', $bulk_action ) ) {
65
+		if ( ! empty( $bulk_action ) && preg_match( '/^(' . implode( '|', self::$bulk_action_prefixes ) . ')/ism', $bulk_action ) ) {
66 66
 			$gv_bulk_action = $bulk_action;
67 67
 		}
68 68
 
@@ -86,7 +86,7 @@  discard block
 block discarded – undo
86 86
 
87 87
 		// gforms_entry_list is the nonce that confirms we're on the right page
88 88
 		// gforms_update_note is sent when bulk editing entry notes. We don't want to process then.
89
-		if ( $bulk_action && \GV\Utils::_POST( 'gforms_entry_list' ) && empty( $_POST['gforms_update_note'] ) ) {
89
+		if ( $bulk_action && \GV\Utils::_POST( 'gforms_entry_list' ) && empty( $_POST[ 'gforms_update_note' ] ) ) {
90 90
 
91 91
 			check_admin_referer( 'gforms_entry_list', 'gforms_entry_list' );
92 92
 
@@ -104,13 +104,13 @@  discard block
 block discarded – undo
104 104
 			}
105 105
 
106 106
 			// All entries are set to be updated, not just the visible ones
107
-			if ( ! empty( $_POST['all_entries'] ) ) {
107
+			if ( ! empty( $_POST[ 'all_entries' ] ) ) {
108 108
 
109 109
 				// Convert the current entry search into GF-formatted search criteria
110 110
 				$search = array(
111
-					'search_field' => isset( $_POST['f'] ) ? $_POST['f'][0] : 0,
112
-					'search_value' => isset( $_POST['v'][0] ) ? $_POST['v'][0] : '',
113
-					'search_operator' => isset( $_POST['o'][0] ) ? $_POST['o'][0] : 'contains',
111
+					'search_field' => isset( $_POST[ 'f' ] ) ? $_POST[ 'f' ][ 0 ] : 0,
112
+					'search_value' => isset( $_POST[ 'v' ][ 0 ] ) ? $_POST[ 'v' ][ 0 ] : '',
113
+					'search_operator' => isset( $_POST[ 'o' ][ 0 ] ) ? $_POST[ 'o' ][ 0 ] : 'contains',
114 114
 				);
115 115
 
116 116
 				$search_criteria = GravityView_frontend::get_search_criteria( $search, $form_id );
@@ -121,7 +121,7 @@  discard block
 block discarded – undo
121 121
 			} else {
122 122
 
123 123
 				// Changed from 'lead' to 'entry' in 2.0
124
-				$entries = isset( $_POST['lead'] ) ? $_POST['lead'] : $_POST['entry'];
124
+				$entries = isset( $_POST[ 'lead' ] ) ? $_POST[ 'lead' ] : $_POST[ 'entry' ];
125 125
 
126 126
 			}
127 127
 
@@ -133,15 +133,15 @@  discard block
 block discarded – undo
133 133
 			$entry_count = count( $entries ) > 1 ? sprintf( __( '%d entries', 'gravityview' ), count( $entries ) ) : __( '1 entry', 'gravityview' );
134 134
 
135 135
 			switch ( $approved_status ) {
136
-				case self::$bulk_action_prefixes['approve']:
136
+				case self::$bulk_action_prefixes[ 'approve' ]:
137 137
 					GravityView_Entry_Approval::update_bulk( $entries, GravityView_Entry_Approval_Status::APPROVED, $form_id );
138 138
 					self::$bulk_update_message = sprintf( __( '%s approved.', 'gravityview' ), $entry_count );
139 139
 					break;
140
-				case self::$bulk_action_prefixes['unapprove']:
140
+				case self::$bulk_action_prefixes[ 'unapprove' ]:
141 141
 					GravityView_Entry_Approval::update_bulk( $entries, GravityView_Entry_Approval_Status::UNAPPROVED, $form_id );
142 142
 					self::$bulk_update_message = sprintf( __( '%s unapproved.', 'gravityview' ), $entry_count );
143 143
 					break;
144
-				case self::$bulk_action_prefixes['disapprove']:
144
+				case self::$bulk_action_prefixes[ 'disapprove' ]:
145 145
 					GravityView_Entry_Approval::update_bulk( $entries, GravityView_Entry_Approval_Status::DISAPPROVED, $form_id );
146 146
 					self::$bulk_update_message = sprintf( __( '%s disapproved.', 'gravityview' ), $entry_count );
147 147
 					break;
@@ -164,16 +164,16 @@  discard block
 block discarded – undo
164 164
 		$bulk_actions = array(
165 165
 			'GravityView' => array(
166 166
 				array(
167
-					'label' => GravityView_Entry_Approval_Status::get_string('approved', 'action'),
168
-					'value' => sprintf( '%s-%d', self::$bulk_action_prefixes['approve'], $form_id ),
167
+					'label' => GravityView_Entry_Approval_Status::get_string( 'approved', 'action' ),
168
+					'value' => sprintf( '%s-%d', self::$bulk_action_prefixes[ 'approve' ], $form_id ),
169 169
 				),
170 170
 				array(
171
-					'label' => GravityView_Entry_Approval_Status::get_string('disapproved', 'action'),
172
-					'value' => sprintf( '%s-%d', self::$bulk_action_prefixes['disapprove'], $form_id ),
171
+					'label' => GravityView_Entry_Approval_Status::get_string( 'disapproved', 'action' ),
172
+					'value' => sprintf( '%s-%d', self::$bulk_action_prefixes[ 'disapprove' ], $form_id ),
173 173
 				),
174 174
 				array(
175
-					'label' => GravityView_Entry_Approval_Status::get_string('unapproved', 'action'),
176
-					'value' => sprintf( '%s-%d', self::$bulk_action_prefixes['unapprove'], $form_id ),
175
+					'label' => GravityView_Entry_Approval_Status::get_string( 'unapproved', 'action' ),
176
+					'value' => sprintf( '%s-%d', self::$bulk_action_prefixes[ 'unapprove' ], $form_id ),
177 177
 				),
178 178
 			),
179 179
 		);
@@ -190,13 +190,13 @@  discard block
 block discarded – undo
190 190
 		// Sanitize the values, just to be sure.
191 191
 		foreach ( $bulk_actions as $key => $group ) {
192 192
 
193
-			if( empty( $group ) ) {
193
+			if ( empty( $group ) ) {
194 194
 				continue;
195 195
 			}
196 196
 
197 197
 			foreach ( $group as $i => $action ) {
198
-				$bulk_actions[ $key ][ $i ]['label'] = esc_html( $bulk_actions[ $key ][ $i ]['label'] );
199
-				$bulk_actions[ $key ][ $i ]['value'] = esc_attr( $bulk_actions[ $key ][ $i ]['value'] );
198
+				$bulk_actions[ $key ][ $i ][ 'label' ] = esc_html( $bulk_actions[ $key ][ $i ][ 'label' ] );
199
+				$bulk_actions[ $key ][ $i ][ 'value' ] = esc_attr( $bulk_actions[ $key ][ $i ][ 'value' ] );
200 200
 			}
201 201
 		}
202 202
 
Please login to merge, or discard this patch.
includes/class-admin-approve-entries.php 2 patches
Indentation   +20 added lines, -20 removed lines patch added patch discarded remove patch
@@ -250,14 +250,14 @@  discard block
 block discarded – undo
250 250
 	/**
251 251
 	 * update_approved function.
252 252
 	 *
253
-     * @since 1.18 Moved to GravityView_Entry_Approval::update_approved
253
+	 * @since 1.18 Moved to GravityView_Entry_Approval::update_approved
254 254
 	 * @see GravityView_Entry_Approval::update_approved
255
-     *
255
+	 *
256 256
 	 * @param int $entry_id (default: 0)
257 257
 	 * @param int $approved (default: 0)
258 258
 	 * @param int $form_id (default: 0)
259 259
 	 * @param int $approvedcolumn (default: 0)
260
-     *
260
+	 *
261 261
 	 * @return boolean True: It worked; False: it failed
262 262
 	 */
263 263
 	public static function update_approved( $entry_id = 0, $approved = 0, $form_id = 0, $approvedcolumn = 0) {
@@ -267,9 +267,9 @@  discard block
 block discarded – undo
267 267
 	/**
268 268
 	 * Calculate the approve field.input id
269 269
 	 *
270
-     * @since 1.18 Moved to GravityView_Entry_Approval::get_approved_column
271
-     * @see GravityView_Entry_Approval::get_approved_column
272
-     *
270
+	 * @since 1.18 Moved to GravityView_Entry_Approval::get_approved_column
271
+	 * @see GravityView_Entry_Approval::get_approved_column
272
+	 *
273 273
 	 * @param mixed $form GF Form or Form ID
274 274
 	 * @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.
275 275
 	 */
@@ -394,37 +394,37 @@  discard block
 block discarded – undo
394 394
 			'bulk_actions' => GravityView_Bulk_Actions::get_bulk_actions( $form_id ),
395 395
 			'bulk_message' => $this->bulk_update_message,
396 396
 			'unapprove_title' => GravityView_Entry_Approval_Status::get_title_attr('unapproved'),
397
-            'approve_title' => GravityView_Entry_Approval_Status::get_title_attr('disapproved'),
397
+			'approve_title' => GravityView_Entry_Approval_Status::get_title_attr('disapproved'),
398 398
 			'disapprove_title' => GravityView_Entry_Approval_Status::get_title_attr('approved'),
399 399
 			'column_title' => __( 'Show entry in directory view?', 'gravityview'),
400 400
 			'column_link' => esc_url( $this->get_sort_link() ),
401
-            'status_popover_template' => GravityView_Entry_Approval::get_popover_template(),
401
+			'status_popover_template' => GravityView_Entry_Approval::get_popover_template(),
402 402
 			'status_popover_placement' => GravityView_Entry_Approval::get_popover_placement(),
403 403
 		) );
404 404
 
405 405
 	}
406 406
 
407 407
 	/**
408
-     * Generate a link to sort by approval status
409
-     *
410
-     * Note: Sorting by approval will never be great because it's not possible currently to declare the sorting as
411
-     * numeric, but it does group the approved entries together.
412
-     *
413
-     * @since 2.0.14 Remove need for approval field for sorting by approval status
414
-     *
408
+	 * Generate a link to sort by approval status
409
+	 *
410
+	 * Note: Sorting by approval will never be great because it's not possible currently to declare the sorting as
411
+	 * numeric, but it does group the approved entries together.
412
+	 *
413
+	 * @since 2.0.14 Remove need for approval field for sorting by approval status
414
+	 *
415 415
 	 * @param int $form_id [NO LONGER USED]
416 416
 	 *
417 417
 	 * @return string Sorting link
418 418
 	 */
419 419
 	private function get_sort_link( $form_id = 0 ) {
420 420
 
421
-	    $args = array(
422
-		    'orderby' => 'is_approved',
423
-            'order' => ( 'desc' === \GV\Utils::_GET( 'order' ) ) ? 'asc' : 'desc',
424
-        );
421
+		$args = array(
422
+			'orderby' => 'is_approved',
423
+			'order' => ( 'desc' === \GV\Utils::_GET( 'order' ) ) ? 'asc' : 'desc',
424
+		);
425 425
 
426 426
 		return add_query_arg( $args );
427
-    }
427
+	}
428 428
 
429 429
 	/**
430 430
 	 * Should the Approve/Reject Entry column be shown in the GF Entries page?
Please login to merge, or discard this patch.
Spacing   +44 added lines, -44 removed lines patch added patch discarded remove patch
@@ -49,7 +49,7 @@  discard block
 block discarded – undo
49 49
 		add_filter( 'gravityview/metaboxes/tooltips', array( $this, 'tooltips' ) );
50 50
 
51 51
 		// adding styles and scripts
52
-		add_action( 'admin_enqueue_scripts', array( $this, 'add_scripts_and_styles') );
52
+		add_action( 'admin_enqueue_scripts', array( $this, 'add_scripts_and_styles' ) );
53 53
 		// bypass Gravity Forms no-conflict mode
54 54
 		add_filter( 'gform_noconflict_scripts', array( $this, 'register_gform_noconflict_script' ) );
55 55
 		add_filter( 'gform_noconflict_styles', array( $this, 'register_gform_noconflict_style' ) );
@@ -78,7 +78,7 @@  discard block
 block discarded – undo
78 78
 		 * @param bool $show_filter_links True: show the "approved"/"disapproved" filter links. False: hide them.
79 79
 		 * @param array $form GF Form object of current form
80 80
 		 */
81
-		if( false === apply_filters( 'gravityview/approve_entries/show_filter_links_entry_list', true, $form ) ) {
81
+		if ( false === apply_filters( 'gravityview/approve_entries/show_filter_links_entry_list', true, $form ) ) {
82 82
 			return $filter_links;
83 83
 		}
84 84
 
@@ -106,27 +106,27 @@  discard block
 block discarded – undo
106 106
 		$approved_count = $disapproved_count = $unapproved_count = 0;
107 107
 
108 108
 		// Only count if necessary
109
-		if( $include_counts ) {
110
-			$approved_count = count( gravityview_get_entry_ids( $form['id'], array( 'status' => 'active', 'field_filters' => $field_filters_approved ) ) );
111
-			$disapproved_count = count( gravityview_get_entry_ids( $form['id'], array( 'status' => 'active', 'field_filters' => $field_filters_disapproved ) ) );
112
-			$unapproved_count = count( gravityview_get_entry_ids( $form['id'], array( 'status' => 'active', 'field_filters' => $field_filters_unapproved ) ) );
109
+		if ( $include_counts ) {
110
+			$approved_count = count( gravityview_get_entry_ids( $form[ 'id' ], array( 'status' => 'active', 'field_filters' => $field_filters_approved ) ) );
111
+			$disapproved_count = count( gravityview_get_entry_ids( $form[ 'id' ], array( 'status' => 'active', 'field_filters' => $field_filters_disapproved ) ) );
112
+			$unapproved_count = count( gravityview_get_entry_ids( $form[ 'id' ], array( 'status' => 'active', 'field_filters' => $field_filters_unapproved ) ) );
113 113
 		}
114 114
 
115
-		$filter_links[] = array(
115
+		$filter_links[ ] = array(
116 116
 			'id'            => 'gv_approved',
117 117
 			'field_filters' => $field_filters_approved,
118 118
 			'count'         => $approved_count,
119 119
 			'label'         => GravityView_Entry_Approval_Status::get_label( GravityView_Entry_Approval_Status::APPROVED ),
120 120
 		);
121 121
 
122
-		$filter_links[] = array(
122
+		$filter_links[ ] = array(
123 123
 			'id'            => 'gv_disapproved',
124 124
 			'field_filters' => $field_filters_disapproved,
125 125
 			'count'         => $disapproved_count,
126 126
 			'label'         => GravityView_Entry_Approval_Status::get_label( GravityView_Entry_Approval_Status::DISAPPROVED ),
127 127
 		);
128 128
 
129
-		$filter_links[] = array(
129
+		$filter_links[ ] = array(
130 130
 			'id'            => 'gv_unapproved',
131 131
 			'field_filters' => $field_filters_unapproved,
132 132
 			'count'         => $unapproved_count,
@@ -145,9 +145,9 @@  discard block
 block discarded – undo
145 145
 	 */
146 146
 	function tooltips( $tooltips ) {
147 147
 
148
-		$tooltips['form_gravityview_fields'] = array(
149
-			'title' => __('GravityView Fields', 'gravityview'),
150
-			'value' => __( 'Allow administrators to approve or reject entries and users to opt-in or opt-out of their entries being displayed.', 'gravityview'),
148
+		$tooltips[ 'form_gravityview_fields' ] = array(
149
+			'title' => __( 'GravityView Fields', 'gravityview' ),
150
+			'value' => __( 'Allow administrators to approve or reject entries and users to opt-in or opt-out of their entries being displayed.', 'gravityview' ),
151 151
 		);
152 152
 
153 153
 		return $tooltips;
@@ -260,7 +260,7 @@  discard block
 block discarded – undo
260 260
      *
261 261
 	 * @return boolean True: It worked; False: it failed
262 262
 	 */
263
-	public static function update_approved( $entry_id = 0, $approved = 0, $form_id = 0, $approvedcolumn = 0) {
263
+	public static function update_approved( $entry_id = 0, $approved = 0, $form_id = 0, $approvedcolumn = 0 ) {
264 264
 		return GravityView_Entry_Approval::update_approved( $entry_id, $approved, $form_id, $approvedcolumn );
265 265
 	}
266 266
 
@@ -290,20 +290,20 @@  discard block
 block discarded – undo
290 290
 	 *
291 291
 	 * @return void
292 292
 	 */
293
-	static public function add_entry_approved_hidden_input(  $form_id, $field_id, $value, $entry, $query_string ) {
293
+	static public function add_entry_approved_hidden_input( $form_id, $field_id, $value, $entry, $query_string ) {
294 294
 
295
-		if( ! GVCommon::has_cap( 'gravityview_moderate_entries', $entry['id'] ) ) {
295
+		if ( ! GVCommon::has_cap( 'gravityview_moderate_entries', $entry[ 'id' ] ) ) {
296 296
 			return;
297 297
 		}
298 298
 
299
-		if( empty( $entry['id'] ) ) {
299
+		if ( empty( $entry[ 'id' ] ) ) {
300 300
 			return;
301 301
 		}
302 302
 
303 303
 		$status_value = GravityView_Entry_Approval::get_entry_status( $entry, 'value' );
304 304
 
305
-		if( $status_value ) {
306
-			echo '<input type="hidden" class="entry_approval" id="entry_approved_'. $entry['id'] .'" value="' . esc_attr( $status_value ) . '" />';
305
+		if ( $status_value ) {
306
+			echo '<input type="hidden" class="entry_approval" id="entry_approved_' . $entry[ 'id' ] . '" value="' . esc_attr( $status_value ) . '" />';
307 307
 		}
308 308
 	}
309 309
 
@@ -316,10 +316,10 @@  discard block
 block discarded – undo
316 316
 	 */
317 317
 	private function get_form_id() {
318 318
 
319
-		$form_id = GFForms::get('id');
319
+		$form_id = GFForms::get( 'id' );
320 320
 
321 321
 		// If there are no forms identified, use the first form. That's how GF does it.
322
-		if( empty( $form_id ) && class_exists('RGFormsModel') ) {
322
+		if ( empty( $form_id ) && class_exists( 'RGFormsModel' ) ) {
323 323
 			$form_id = $this->get_first_form_id();
324 324
 		}
325 325
 
@@ -339,14 +339,14 @@  discard block
 block discarded – undo
339 339
 
340 340
 		$forms = RGFormsModel::get_forms( null, 'title' );
341 341
 
342
-		if( ! isset( $forms[0] ) ) {
342
+		if ( ! isset( $forms[ 0 ] ) ) {
343 343
 			gravityview()->log->error( 'No forms were found' );
344 344
 			return 0;
345 345
 		}
346 346
 
347
-		$first_form = $forms[0];
347
+		$first_form = $forms[ 0 ];
348 348
 
349
-		$form_id = is_object( $forms[0] ) ? $first_form->id : $first_form['id'];
349
+		$form_id = is_object( $forms[ 0 ] ) ? $first_form->id : $first_form[ 'id' ];
350 350
 
351 351
 		return intval( $form_id );
352 352
 	}
@@ -354,37 +354,37 @@  discard block
 block discarded – undo
354 354
 
355 355
 	function add_scripts_and_styles( $hook ) {
356 356
 
357
-		if( ! class_exists( 'GFForms' ) ) {
357
+		if ( ! class_exists( 'GFForms' ) ) {
358 358
 			gravityview()->log->error( 'GFForms does not exist.' );
359 359
 			return;
360 360
 		}
361 361
 
362 362
 		// enqueue styles & scripts gf_entries
363 363
 		// But only if we're on the main Entries page, not on reports pages
364
-		if( GFForms::get_page() !== 'entry_list' ) {
364
+		if ( GFForms::get_page() !== 'entry_list' ) {
365 365
 			return;
366 366
 		}
367 367
 
368 368
 		$form_id = $this->get_form_id();
369 369
 
370 370
 		// Things are broken; no forms were found
371
-		if( empty( $form_id ) ) {
371
+		if ( empty( $form_id ) ) {
372 372
 			return;
373 373
 		}
374 374
 
375
-		wp_enqueue_style( 'gravityview_entries_list', plugins_url('assets/css/admin-entries-list.css', GRAVITYVIEW_FILE), array(), GravityView_Plugin::version );
375
+		wp_enqueue_style( 'gravityview_entries_list', plugins_url( 'assets/css/admin-entries-list.css', GRAVITYVIEW_FILE ), array(), GravityView_Plugin::version );
376 376
 
377
-		$script_debug = (defined('SCRIPT_DEBUG') && SCRIPT_DEBUG) ? '' : '.min';
377
+		$script_debug = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '' : '.min';
378 378
 
379
-		wp_enqueue_script( 'gravityview_gf_entries_scripts', plugins_url('assets/js/admin-entries-list'.$script_debug.'.js', GRAVITYVIEW_FILE), array( 'jquery' ), GravityView_Plugin::version );
379
+		wp_enqueue_script( 'gravityview_gf_entries_scripts', plugins_url( 'assets/js/admin-entries-list' . $script_debug . '.js', GRAVITYVIEW_FILE ), array( 'jquery' ), GravityView_Plugin::version );
380 380
 
381 381
 		wp_enqueue_script( 'gravityview_entries_list-popper', plugins_url( 'assets/lib/tippy/popper.min.js', GRAVITYVIEW_FILE ), array(), GravityView_Plugin::version );
382 382
 		wp_enqueue_script( 'gravityview_entries_list-tippy', plugins_url( 'assets/lib/tippy/tippy.min.js', GRAVITYVIEW_FILE ), array(), GravityView_Plugin::version );
383 383
 		wp_enqueue_style( 'gravityview_entries_list-tippy', plugins_url( 'assets/lib/tippy/tippy.css', GRAVITYVIEW_FILE ), array(), GravityView_Plugin::version );
384 384
 
385 385
 		wp_localize_script( 'gravityview_gf_entries_scripts', 'gvGlobals', array(
386
-			'nonce' => wp_create_nonce( 'gravityview_entry_approval'),
387
-			'admin_nonce' => wp_create_nonce( 'gravityview_admin_entry_approval'),
386
+			'nonce' => wp_create_nonce( 'gravityview_entry_approval' ),
387
+			'admin_nonce' => wp_create_nonce( 'gravityview_admin_entry_approval' ),
388 388
 			'form_id' => $form_id,
389 389
 			'show_column' => (int)$this->show_approve_entry_column( $form_id ),
390 390
 			'add_bulk_action' => (int)GVCommon::has_cap( 'gravityview_moderate_entries' ),
@@ -393,10 +393,10 @@  discard block
 block discarded – undo
393 393
 			'status_unapproved' => GravityView_Entry_Approval_Status::UNAPPROVED,
394 394
 			'bulk_actions' => GravityView_Bulk_Actions::get_bulk_actions( $form_id ),
395 395
 			'bulk_message' => $this->bulk_update_message,
396
-			'unapprove_title' => GravityView_Entry_Approval_Status::get_title_attr('unapproved'),
397
-            'approve_title' => GravityView_Entry_Approval_Status::get_title_attr('disapproved'),
398
-			'disapprove_title' => GravityView_Entry_Approval_Status::get_title_attr('approved'),
399
-			'column_title' => __( 'Show entry in directory view?', 'gravityview'),
396
+			'unapprove_title' => GravityView_Entry_Approval_Status::get_title_attr( 'unapproved' ),
397
+            'approve_title' => GravityView_Entry_Approval_Status::get_title_attr( 'disapproved' ),
398
+			'disapprove_title' => GravityView_Entry_Approval_Status::get_title_attr( 'approved' ),
399
+			'column_title' => __( 'Show entry in directory view?', 'gravityview' ),
400 400
 			'column_link' => esc_url( $this->get_sort_link() ),
401 401
             'status_popover_template' => GravityView_Entry_Approval::get_popover_template(),
402 402
 			'status_popover_placement' => GravityView_Entry_Approval::get_popover_placement(),
@@ -444,13 +444,13 @@  discard block
 block discarded – undo
444 444
 		 * @since 1.7.2
445 445
 		 * @param boolean $hide_if_no_connections
446 446
 		 */
447
-		$hide_if_no_connections = apply_filters('gravityview/approve_entries/hide-if-no-connections', false );
447
+		$hide_if_no_connections = apply_filters( 'gravityview/approve_entries/hide-if-no-connections', false );
448 448
 
449
-		if( $hide_if_no_connections ) {
449
+		if ( $hide_if_no_connections ) {
450 450
 
451 451
 			$connected_views = gravityview_get_connected_views( $form_id );
452 452
 
453
-			if( empty( $connected_views ) ) {
453
+			if ( empty( $connected_views ) ) {
454 454
 				$show_approve_column = false;
455 455
 			}
456 456
 		}
@@ -460,21 +460,21 @@  discard block
 block discarded – undo
460 460
 		 * @param boolean $show_approve_column Whether the column will be shown
461 461
 		 * @param int $form_id The ID of the Gravity Forms form for which entries are being shown
462 462
 		 */
463
-		$show_approve_column = apply_filters('gravityview/approve_entries/show-column', $show_approve_column, $form_id );
463
+		$show_approve_column = apply_filters( 'gravityview/approve_entries/show-column', $show_approve_column, $form_id );
464 464
 
465 465
 		return $show_approve_column;
466 466
 	}
467 467
 
468 468
 	function register_gform_noconflict_script( $scripts ) {
469
-		$scripts[] = 'gravityview_gf_entries_scripts';
470
-		$scripts[] = 'gravityview_entries_list-popper';
471
-		$scripts[] = 'gravityview_entries_list-tippy';
469
+		$scripts[ ] = 'gravityview_gf_entries_scripts';
470
+		$scripts[ ] = 'gravityview_entries_list-popper';
471
+		$scripts[ ] = 'gravityview_entries_list-tippy';
472 472
 		return $scripts;
473 473
 	}
474 474
 
475 475
 	function register_gform_noconflict_style( $styles ) {
476
-		$styles[] = 'gravityview_entries_list';
477
-		$styles[] = 'gravityview_entries_list-tippy';
476
+		$styles[ ] = 'gravityview_entries_list';
477
+		$styles[ ] = 'gravityview_entries_list-tippy';
478 478
 		return $styles;
479 479
 	}
480 480
 
Please login to merge, or discard this patch.
lightbox/fancybox/class-gravityview-lightbox-provider-fancybox.php 1 patch
Spacing   +17 added lines, -17 removed lines patch added patch discarded remove patch
@@ -108,17 +108,17 @@  discard block
 block discarded – undo
108 108
 	 */
109 109
 	public function allowed_atts( $atts = array() ) {
110 110
 
111
-		$atts['data-fancybox']         = null;
112
-		$atts['data-fancybox-trigger'] = null;
113
-		$atts['data-fancybox-index']   = null;
114
-		$atts['data-src']              = null;
115
-		$atts['data-type']             = null;
116
-		$atts['data-width']            = null;
117
-		$atts['data-height']           = null;
118
-		$atts['data-srcset']           = null;
119
-		$atts['data-caption']          = null;
120
-		$atts['data-options']          = null;
121
-		$atts['data-filter']           = null;
111
+		$atts[ 'data-fancybox' ]         = null;
112
+		$atts[ 'data-fancybox-trigger' ] = null;
113
+		$atts[ 'data-fancybox-index' ]   = null;
114
+		$atts[ 'data-src' ]              = null;
115
+		$atts[ 'data-type' ]             = null;
116
+		$atts[ 'data-width' ]            = null;
117
+		$atts[ 'data-height' ]           = null;
118
+		$atts[ 'data-srcset' ]           = null;
119
+		$atts[ 'data-caption' ]          = null;
120
+		$atts[ 'data-options' ]          = null;
121
+		$atts[ 'data-filter' ]           = null;
122 122
 
123 123
 		return $atts;
124 124
 	}
@@ -133,23 +133,23 @@  discard block
 block discarded – undo
133 133
 		}
134 134
 
135 135
 		// Prevent empty content from getting added to the lightbox gallery
136
-		if ( is_array( $additional_details ) && empty( $additional_details['file_path'] ) ) {
136
+		if ( is_array( $additional_details ) && empty( $additional_details[ 'file_path' ] ) ) {
137 137
 			return $link_atts;
138 138
 		}
139 139
 
140 140
 		// Prevent empty content from getting added to the lightbox gallery
141
-		if ( is_array( $additional_details ) && ! empty( $additional_details['disable_lightbox'] ) ) {
141
+		if ( is_array( $additional_details ) && ! empty( $additional_details[ 'disable_lightbox' ] ) ) {
142 142
 			return $link_atts;
143 143
 		}
144 144
 
145
-		$link_atts['class'] = \GV\Utils::get( $link_atts, 'class' ) . ' gravityview-fancybox';
145
+		$link_atts[ 'class' ] = \GV\Utils::get( $link_atts, 'class' ) . ' gravityview-fancybox';
146 146
 
147
-		$link_atts['class'] = gravityview_sanitize_html_class( $link_atts['class'] );
147
+		$link_atts[ 'class' ] = gravityview_sanitize_html_class( $link_atts[ 'class' ] );
148 148
 
149 149
 		if ( $context && ! empty( $context->field->field ) ) {
150 150
 			if ( $context->field->field->multipleFiles ) {
151 151
 				$entry = $context->entry->as_entry();
152
-				$link_atts['data-fancybox'] = 'gallery-' . sprintf( "%s-%s-%s", $entry['form_id'], $context->field->ID, $context->entry->get_slug() );
152
+				$link_atts[ 'data-fancybox' ] = 'gallery-' . sprintf( "%s-%s-%s", $entry[ 'form_id' ], $context->field->ID, $context->entry->get_slug() );
153 153
 			}
154 154
 		}
155 155
 
@@ -160,7 +160,7 @@  discard block
 block discarded – undo
160 160
 		 * @see https://fancyapps.com/docs/ui/fancybox#media-types
161 161
 		 */
162 162
 		if ( false !== strpos( $file_path, 'gv-iframe' ) ) {
163
-			$link_atts['data-type'] = 'pdf';
163
+			$link_atts[ 'data-type' ] = 'pdf';
164 164
 		}
165 165
 
166 166
 		return $link_atts;
Please login to merge, or discard this patch.
trustedlogin/trustedlogin/client/src/Cron.php 2 patches
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -9,7 +9,7 @@  discard block
 block discarded – undo
9 9
 namespace GravityView\TrustedLogin;
10 10
 
11 11
 // Exit if accessed directly
12
-if ( ! defined('ABSPATH') ) {
12
+if ( ! defined( 'ABSPATH' ) ) {
13 13
 	exit;
14 14
 }
15 15
 
@@ -90,7 +90,7 @@  discard block
 block discarded – undo
90 90
 
91 91
 		$unschedule_expiration = wp_clear_scheduled_hook( $this->hook_name, array( $site_identifier_hash ) );
92 92
 
93
-		if ( false === $unschedule_expiration ){
93
+		if ( false === $unschedule_expiration ) {
94 94
 			$this->logging->log( sprintf( 'Could not unschedule event for %s', $this->hook_name ), __METHOD__, 'error' );
95 95
 			return false;
96 96
 		}
Please login to merge, or discard this patch.
Braces   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -90,7 +90,7 @@
 block discarded – undo
90 90
 
91 91
 		$unschedule_expiration = wp_clear_scheduled_hook( $this->hook_name, array( $site_identifier_hash ) );
92 92
 
93
-		if ( false === $unschedule_expiration ){
93
+		if ( false === $unschedule_expiration ) {
94 94
 			$this->logging->log( sprintf( 'Could not unschedule event for %s', $this->hook_name ), __METHOD__, 'error' );
95 95
 			return false;
96 96
 		}
Please login to merge, or discard this patch.
vendor/composer/ClassLoader.php 3 patches
Spacing   +107 added lines, -107 removed lines patch added patch discarded remove patch
@@ -103,7 +103,7 @@  discard block
 block discarded – undo
103 103
     /**
104 104
      * @param ?string $vendorDir
105 105
      */
106
-    public function __construct($vendorDir = null)
106
+    public function __construct( $vendorDir = null )
107 107
     {
108 108
         $this->vendorDir = $vendorDir;
109 109
     }
@@ -113,8 +113,8 @@  discard block
 block discarded – undo
113 113
      */
114 114
     public function getPrefixes()
115 115
     {
116
-        if (!empty($this->prefixesPsr0)) {
117
-            return call_user_func_array('array_merge', array_values($this->prefixesPsr0));
116
+        if ( ! empty( $this->prefixesPsr0 ) ) {
117
+            return call_user_func_array( 'array_merge', array_values( $this->prefixesPsr0 ) );
118 118
         }
119 119
 
120 120
         return array();
@@ -162,10 +162,10 @@  discard block
 block discarded – undo
162 162
      *
163 163
      * @return void
164 164
      */
165
-    public function addClassMap(array $classMap)
165
+    public function addClassMap( array $classMap )
166 166
     {
167
-        if ($this->classMap) {
168
-            $this->classMap = array_merge($this->classMap, $classMap);
167
+        if ( $this->classMap ) {
168
+            $this->classMap = array_merge( $this->classMap, $classMap );
169 169
         } else {
170 170
             $this->classMap = $classMap;
171 171
         }
@@ -181,39 +181,39 @@  discard block
 block discarded – undo
181 181
      *
182 182
      * @return void
183 183
      */
184
-    public function add($prefix, $paths, $prepend = false)
184
+    public function add( $prefix, $paths, $prepend = false )
185 185
     {
186
-        if (!$prefix) {
187
-            if ($prepend) {
186
+        if ( ! $prefix ) {
187
+            if ( $prepend ) {
188 188
                 $this->fallbackDirsPsr0 = array_merge(
189
-                    (array) $paths,
189
+                    (array)$paths,
190 190
                     $this->fallbackDirsPsr0
191 191
                 );
192 192
             } else {
193 193
                 $this->fallbackDirsPsr0 = array_merge(
194 194
                     $this->fallbackDirsPsr0,
195
-                    (array) $paths
195
+                    (array)$paths
196 196
                 );
197 197
             }
198 198
 
199 199
             return;
200 200
         }
201 201
 
202
-        $first = $prefix[0];
203
-        if (!isset($this->prefixesPsr0[$first][$prefix])) {
204
-            $this->prefixesPsr0[$first][$prefix] = (array) $paths;
202
+        $first = $prefix[ 0 ];
203
+        if ( ! isset( $this->prefixesPsr0[ $first ][ $prefix ] ) ) {
204
+            $this->prefixesPsr0[ $first ][ $prefix ] = (array)$paths;
205 205
 
206 206
             return;
207 207
         }
208
-        if ($prepend) {
209
-            $this->prefixesPsr0[$first][$prefix] = array_merge(
210
-                (array) $paths,
211
-                $this->prefixesPsr0[$first][$prefix]
208
+        if ( $prepend ) {
209
+            $this->prefixesPsr0[ $first ][ $prefix ] = array_merge(
210
+                (array)$paths,
211
+                $this->prefixesPsr0[ $first ][ $prefix ]
212 212
             );
213 213
         } else {
214
-            $this->prefixesPsr0[$first][$prefix] = array_merge(
215
-                $this->prefixesPsr0[$first][$prefix],
216
-                (array) $paths
214
+            $this->prefixesPsr0[ $first ][ $prefix ] = array_merge(
215
+                $this->prefixesPsr0[ $first ][ $prefix ],
216
+                (array)$paths
217 217
             );
218 218
         }
219 219
     }
@@ -230,40 +230,40 @@  discard block
 block discarded – undo
230 230
      *
231 231
      * @return void
232 232
      */
233
-    public function addPsr4($prefix, $paths, $prepend = false)
233
+    public function addPsr4( $prefix, $paths, $prepend = false )
234 234
     {
235
-        if (!$prefix) {
235
+        if ( ! $prefix ) {
236 236
             // Register directories for the root namespace.
237
-            if ($prepend) {
237
+            if ( $prepend ) {
238 238
                 $this->fallbackDirsPsr4 = array_merge(
239
-                    (array) $paths,
239
+                    (array)$paths,
240 240
                     $this->fallbackDirsPsr4
241 241
                 );
242 242
             } else {
243 243
                 $this->fallbackDirsPsr4 = array_merge(
244 244
                     $this->fallbackDirsPsr4,
245
-                    (array) $paths
245
+                    (array)$paths
246 246
                 );
247 247
             }
248
-        } elseif (!isset($this->prefixDirsPsr4[$prefix])) {
248
+        } elseif ( ! isset( $this->prefixDirsPsr4[ $prefix ] ) ) {
249 249
             // Register directories for a new namespace.
250
-            $length = strlen($prefix);
251
-            if ('\\' !== $prefix[$length - 1]) {
252
-                throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
250
+            $length = strlen( $prefix );
251
+            if ( '\\' !== $prefix[ $length - 1 ] ) {
252
+                throw new \InvalidArgumentException( "A non-empty PSR-4 prefix must end with a namespace separator." );
253 253
             }
254
-            $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
255
-            $this->prefixDirsPsr4[$prefix] = (array) $paths;
256
-        } elseif ($prepend) {
254
+            $this->prefixLengthsPsr4[ $prefix[ 0 ] ][ $prefix ] = $length;
255
+            $this->prefixDirsPsr4[ $prefix ] = (array)$paths;
256
+        } elseif ( $prepend ) {
257 257
             // Prepend directories for an already registered namespace.
258
-            $this->prefixDirsPsr4[$prefix] = array_merge(
259
-                (array) $paths,
260
-                $this->prefixDirsPsr4[$prefix]
258
+            $this->prefixDirsPsr4[ $prefix ] = array_merge(
259
+                (array)$paths,
260
+                $this->prefixDirsPsr4[ $prefix ]
261 261
             );
262 262
         } else {
263 263
             // Append directories for an already registered namespace.
264
-            $this->prefixDirsPsr4[$prefix] = array_merge(
265
-                $this->prefixDirsPsr4[$prefix],
266
-                (array) $paths
264
+            $this->prefixDirsPsr4[ $prefix ] = array_merge(
265
+                $this->prefixDirsPsr4[ $prefix ],
266
+                (array)$paths
267 267
             );
268 268
         }
269 269
     }
@@ -277,12 +277,12 @@  discard block
 block discarded – undo
277 277
      *
278 278
      * @return void
279 279
      */
280
-    public function set($prefix, $paths)
280
+    public function set( $prefix, $paths )
281 281
     {
282
-        if (!$prefix) {
283
-            $this->fallbackDirsPsr0 = (array) $paths;
282
+        if ( ! $prefix ) {
283
+            $this->fallbackDirsPsr0 = (array)$paths;
284 284
         } else {
285
-            $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths;
285
+            $this->prefixesPsr0[ $prefix[ 0 ] ][ $prefix ] = (array)$paths;
286 286
         }
287 287
     }
288 288
 
@@ -297,17 +297,17 @@  discard block
 block discarded – undo
297 297
      *
298 298
      * @return void
299 299
      */
300
-    public function setPsr4($prefix, $paths)
300
+    public function setPsr4( $prefix, $paths )
301 301
     {
302
-        if (!$prefix) {
303
-            $this->fallbackDirsPsr4 = (array) $paths;
302
+        if ( ! $prefix ) {
303
+            $this->fallbackDirsPsr4 = (array)$paths;
304 304
         } else {
305
-            $length = strlen($prefix);
306
-            if ('\\' !== $prefix[$length - 1]) {
307
-                throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
305
+            $length = strlen( $prefix );
306
+            if ( '\\' !== $prefix[ $length - 1 ] ) {
307
+                throw new \InvalidArgumentException( "A non-empty PSR-4 prefix must end with a namespace separator." );
308 308
             }
309
-            $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
310
-            $this->prefixDirsPsr4[$prefix] = (array) $paths;
309
+            $this->prefixLengthsPsr4[ $prefix[ 0 ] ][ $prefix ] = $length;
310
+            $this->prefixDirsPsr4[ $prefix ] = (array)$paths;
311 311
         }
312 312
     }
313 313
 
@@ -318,7 +318,7 @@  discard block
 block discarded – undo
318 318
      *
319 319
      * @return void
320 320
      */
321
-    public function setUseIncludePath($useIncludePath)
321
+    public function setUseIncludePath( $useIncludePath )
322 322
     {
323 323
         $this->useIncludePath = $useIncludePath;
324 324
     }
@@ -342,7 +342,7 @@  discard block
 block discarded – undo
342 342
      *
343 343
      * @return void
344 344
      */
345
-    public function setClassMapAuthoritative($classMapAuthoritative)
345
+    public function setClassMapAuthoritative( $classMapAuthoritative )
346 346
     {
347 347
         $this->classMapAuthoritative = $classMapAuthoritative;
348 348
     }
@@ -364,9 +364,9 @@  discard block
 block discarded – undo
364 364
      *
365 365
      * @return void
366 366
      */
367
-    public function setApcuPrefix($apcuPrefix)
367
+    public function setApcuPrefix( $apcuPrefix )
368 368
     {
369
-        $this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null;
369
+        $this->apcuPrefix = function_exists( 'apcu_fetch' ) && filter_var( ini_get( 'apc.enabled' ), FILTER_VALIDATE_BOOLEAN ) ? $apcuPrefix : null;
370 370
     }
371 371
 
372 372
     /**
@@ -386,19 +386,19 @@  discard block
 block discarded – undo
386 386
      *
387 387
      * @return void
388 388
      */
389
-    public function register($prepend = false)
389
+    public function register( $prepend = false )
390 390
     {
391
-        spl_autoload_register(array($this, 'loadClass'), true, $prepend);
391
+        spl_autoload_register( array( $this, 'loadClass' ), true, $prepend );
392 392
 
393
-        if (null === $this->vendorDir) {
393
+        if ( null === $this->vendorDir ) {
394 394
             return;
395 395
         }
396 396
 
397
-        if ($prepend) {
398
-            self::$registeredLoaders = array($this->vendorDir => $this) + self::$registeredLoaders;
397
+        if ( $prepend ) {
398
+            self::$registeredLoaders = array( $this->vendorDir => $this ) + self::$registeredLoaders;
399 399
         } else {
400
-            unset(self::$registeredLoaders[$this->vendorDir]);
401
-            self::$registeredLoaders[$this->vendorDir] = $this;
400
+            unset( self::$registeredLoaders[ $this->vendorDir ] );
401
+            self::$registeredLoaders[ $this->vendorDir ] = $this;
402 402
         }
403 403
     }
404 404
 
@@ -409,10 +409,10 @@  discard block
 block discarded – undo
409 409
      */
410 410
     public function unregister()
411 411
     {
412
-        spl_autoload_unregister(array($this, 'loadClass'));
412
+        spl_autoload_unregister( array( $this, 'loadClass' ) );
413 413
 
414
-        if (null !== $this->vendorDir) {
415
-            unset(self::$registeredLoaders[$this->vendorDir]);
414
+        if ( null !== $this->vendorDir ) {
415
+            unset( self::$registeredLoaders[ $this->vendorDir ] );
416 416
         }
417 417
     }
418 418
 
@@ -422,10 +422,10 @@  discard block
 block discarded – undo
422 422
      * @param  string    $class The name of the class
423 423
      * @return true|null True if loaded, null otherwise
424 424
      */
425
-    public function loadClass($class)
425
+    public function loadClass( $class )
426 426
     {
427
-        if ($file = $this->findFile($class)) {
428
-            includeFile($file);
427
+        if ( $file = $this->findFile( $class ) ) {
428
+            includeFile( $file );
429 429
 
430 430
             return true;
431 431
         }
@@ -440,36 +440,36 @@  discard block
 block discarded – undo
440 440
      *
441 441
      * @return string|false The path if found, false otherwise
442 442
      */
443
-    public function findFile($class)
443
+    public function findFile( $class )
444 444
     {
445 445
         // class map lookup
446
-        if (isset($this->classMap[$class])) {
447
-            return $this->classMap[$class];
446
+        if ( isset( $this->classMap[ $class ] ) ) {
447
+            return $this->classMap[ $class ];
448 448
         }
449
-        if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) {
449
+        if ( $this->classMapAuthoritative || isset( $this->missingClasses[ $class ] ) ) {
450 450
             return false;
451 451
         }
452
-        if (null !== $this->apcuPrefix) {
453
-            $file = apcu_fetch($this->apcuPrefix.$class, $hit);
454
-            if ($hit) {
452
+        if ( null !== $this->apcuPrefix ) {
453
+            $file = apcu_fetch( $this->apcuPrefix . $class, $hit );
454
+            if ( $hit ) {
455 455
                 return $file;
456 456
             }
457 457
         }
458 458
 
459
-        $file = $this->findFileWithExtension($class, '.php');
459
+        $file = $this->findFileWithExtension( $class, '.php' );
460 460
 
461 461
         // Search for Hack files if we are running on HHVM
462
-        if (false === $file && defined('HHVM_VERSION')) {
463
-            $file = $this->findFileWithExtension($class, '.hh');
462
+        if ( false === $file && defined( 'HHVM_VERSION' ) ) {
463
+            $file = $this->findFileWithExtension( $class, '.hh' );
464 464
         }
465 465
 
466
-        if (null !== $this->apcuPrefix) {
467
-            apcu_add($this->apcuPrefix.$class, $file);
466
+        if ( null !== $this->apcuPrefix ) {
467
+            apcu_add( $this->apcuPrefix . $class, $file );
468 468
         }
469 469
 
470
-        if (false === $file) {
470
+        if ( false === $file ) {
471 471
             // Remember that this class does not exist.
472
-            $this->missingClasses[$class] = true;
472
+            $this->missingClasses[ $class ] = true;
473 473
         }
474 474
 
475 475
         return $file;
@@ -490,21 +490,21 @@  discard block
 block discarded – undo
490 490
      * @param  string       $ext
491 491
      * @return string|false
492 492
      */
493
-    private function findFileWithExtension($class, $ext)
493
+    private function findFileWithExtension( $class, $ext )
494 494
     {
495 495
         // PSR-4 lookup
496
-        $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext;
496
+        $logicalPathPsr4 = strtr( $class, '\\', DIRECTORY_SEPARATOR ) . $ext;
497 497
 
498
-        $first = $class[0];
499
-        if (isset($this->prefixLengthsPsr4[$first])) {
498
+        $first = $class[ 0 ];
499
+        if ( isset( $this->prefixLengthsPsr4[ $first ] ) ) {
500 500
             $subPath = $class;
501
-            while (false !== $lastPos = strrpos($subPath, '\\')) {
502
-                $subPath = substr($subPath, 0, $lastPos);
501
+            while ( false !== $lastPos = strrpos( $subPath, '\\' ) ) {
502
+                $subPath = substr( $subPath, 0, $lastPos );
503 503
                 $search = $subPath . '\\';
504
-                if (isset($this->prefixDirsPsr4[$search])) {
505
-                    $pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1);
506
-                    foreach ($this->prefixDirsPsr4[$search] as $dir) {
507
-                        if (file_exists($file = $dir . $pathEnd)) {
504
+                if ( isset( $this->prefixDirsPsr4[ $search ] ) ) {
505
+                    $pathEnd = DIRECTORY_SEPARATOR . substr( $logicalPathPsr4, $lastPos + 1 );
506
+                    foreach ( $this->prefixDirsPsr4[ $search ] as $dir ) {
507
+                        if ( file_exists( $file = $dir . $pathEnd ) ) {
508 508
                             return $file;
509 509
                         }
510 510
                     }
@@ -513,27 +513,27 @@  discard block
 block discarded – undo
513 513
         }
514 514
 
515 515
         // PSR-4 fallback dirs
516
-        foreach ($this->fallbackDirsPsr4 as $dir) {
517
-            if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
516
+        foreach ( $this->fallbackDirsPsr4 as $dir ) {
517
+            if ( file_exists( $file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4 ) ) {
518 518
                 return $file;
519 519
             }
520 520
         }
521 521
 
522 522
         // PSR-0 lookup
523
-        if (false !== $pos = strrpos($class, '\\')) {
523
+        if ( false !== $pos = strrpos( $class, '\\' ) ) {
524 524
             // namespaced class name
525
-            $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1)
526
-                . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR);
525
+            $logicalPathPsr0 = substr( $logicalPathPsr4, 0, $pos + 1 )
526
+                . strtr( substr( $logicalPathPsr4, $pos + 1 ), '_', DIRECTORY_SEPARATOR );
527 527
         } else {
528 528
             // PEAR-like class name
529
-            $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext;
529
+            $logicalPathPsr0 = strtr( $class, '_', DIRECTORY_SEPARATOR ) . $ext;
530 530
         }
531 531
 
532
-        if (isset($this->prefixesPsr0[$first])) {
533
-            foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) {
534
-                if (0 === strpos($class, $prefix)) {
535
-                    foreach ($dirs as $dir) {
536
-                        if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
532
+        if ( isset( $this->prefixesPsr0[ $first ] ) ) {
533
+            foreach ( $this->prefixesPsr0[ $first ] as $prefix => $dirs ) {
534
+                if ( 0 === strpos( $class, $prefix ) ) {
535
+                    foreach ( $dirs as $dir ) {
536
+                        if ( file_exists( $file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0 ) ) {
537 537
                             return $file;
538 538
                         }
539 539
                     }
@@ -542,14 +542,14 @@  discard block
 block discarded – undo
542 542
         }
543 543
 
544 544
         // PSR-0 fallback dirs
545
-        foreach ($this->fallbackDirsPsr0 as $dir) {
546
-            if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
545
+        foreach ( $this->fallbackDirsPsr0 as $dir ) {
546
+            if ( file_exists( $file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0 ) ) {
547 547
                 return $file;
548 548
             }
549 549
         }
550 550
 
551 551
         // PSR-0 include paths.
552
-        if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
552
+        if ( $this->useIncludePath && $file = stream_resolve_include_path( $logicalPathPsr0 ) ) {
553 553
             return $file;
554 554
         }
555 555
 
@@ -566,7 +566,7 @@  discard block
 block discarded – undo
566 566
  * @return void
567 567
  * @private
568 568
  */
569
-function includeFile($file)
569
+function includeFile( $file )
570 570
 {
571 571
     include $file;
572 572
 }
Please login to merge, or discard this patch.
Indentation   +514 added lines, -514 removed lines patch added patch discarded remove patch
@@ -42,519 +42,519 @@  discard block
 block discarded – undo
42 42
  */
43 43
 class ClassLoader
44 44
 {
45
-    /** @var ?string */
46
-    private $vendorDir;
47
-
48
-    // PSR-4
49
-    /**
50
-     * @var array[]
51
-     * @psalm-var array<string, array<string, int>>
52
-     */
53
-    private $prefixLengthsPsr4 = array();
54
-    /**
55
-     * @var array[]
56
-     * @psalm-var array<string, array<int, string>>
57
-     */
58
-    private $prefixDirsPsr4 = array();
59
-    /**
60
-     * @var array[]
61
-     * @psalm-var array<string, string>
62
-     */
63
-    private $fallbackDirsPsr4 = array();
64
-
65
-    // PSR-0
66
-    /**
67
-     * @var array[]
68
-     * @psalm-var array<string, array<string, string[]>>
69
-     */
70
-    private $prefixesPsr0 = array();
71
-    /**
72
-     * @var array[]
73
-     * @psalm-var array<string, string>
74
-     */
75
-    private $fallbackDirsPsr0 = array();
76
-
77
-    /** @var bool */
78
-    private $useIncludePath = false;
79
-
80
-    /**
81
-     * @var string[]
82
-     * @psalm-var array<string, string>
83
-     */
84
-    private $classMap = array();
85
-
86
-    /** @var bool */
87
-    private $classMapAuthoritative = false;
88
-
89
-    /**
90
-     * @var bool[]
91
-     * @psalm-var array<string, bool>
92
-     */
93
-    private $missingClasses = array();
94
-
95
-    /** @var ?string */
96
-    private $apcuPrefix;
97
-
98
-    /**
99
-     * @var self[]
100
-     */
101
-    private static $registeredLoaders = array();
102
-
103
-    /**
104
-     * @param ?string $vendorDir
105
-     */
106
-    public function __construct($vendorDir = null)
107
-    {
108
-        $this->vendorDir = $vendorDir;
109
-    }
110
-
111
-    /**
112
-     * @return string[]
113
-     */
114
-    public function getPrefixes()
115
-    {
116
-        if (!empty($this->prefixesPsr0)) {
117
-            return call_user_func_array('array_merge', array_values($this->prefixesPsr0));
118
-        }
119
-
120
-        return array();
121
-    }
122
-
123
-    /**
124
-     * @return array[]
125
-     * @psalm-return array<string, array<int, string>>
126
-     */
127
-    public function getPrefixesPsr4()
128
-    {
129
-        return $this->prefixDirsPsr4;
130
-    }
131
-
132
-    /**
133
-     * @return array[]
134
-     * @psalm-return array<string, string>
135
-     */
136
-    public function getFallbackDirs()
137
-    {
138
-        return $this->fallbackDirsPsr0;
139
-    }
140
-
141
-    /**
142
-     * @return array[]
143
-     * @psalm-return array<string, string>
144
-     */
145
-    public function getFallbackDirsPsr4()
146
-    {
147
-        return $this->fallbackDirsPsr4;
148
-    }
149
-
150
-    /**
151
-     * @return string[] Array of classname => path
152
-     * @psalm-return array<string, string>
153
-     */
154
-    public function getClassMap()
155
-    {
156
-        return $this->classMap;
157
-    }
158
-
159
-    /**
160
-     * @param string[] $classMap Class to filename map
161
-     * @psalm-param array<string, string> $classMap
162
-     *
163
-     * @return void
164
-     */
165
-    public function addClassMap(array $classMap)
166
-    {
167
-        if ($this->classMap) {
168
-            $this->classMap = array_merge($this->classMap, $classMap);
169
-        } else {
170
-            $this->classMap = $classMap;
171
-        }
172
-    }
173
-
174
-    /**
175
-     * Registers a set of PSR-0 directories for a given prefix, either
176
-     * appending or prepending to the ones previously set for this prefix.
177
-     *
178
-     * @param string          $prefix  The prefix
179
-     * @param string[]|string $paths   The PSR-0 root directories
180
-     * @param bool            $prepend Whether to prepend the directories
181
-     *
182
-     * @return void
183
-     */
184
-    public function add($prefix, $paths, $prepend = false)
185
-    {
186
-        if (!$prefix) {
187
-            if ($prepend) {
188
-                $this->fallbackDirsPsr0 = array_merge(
189
-                    (array) $paths,
190
-                    $this->fallbackDirsPsr0
191
-                );
192
-            } else {
193
-                $this->fallbackDirsPsr0 = array_merge(
194
-                    $this->fallbackDirsPsr0,
195
-                    (array) $paths
196
-                );
197
-            }
198
-
199
-            return;
200
-        }
201
-
202
-        $first = $prefix[0];
203
-        if (!isset($this->prefixesPsr0[$first][$prefix])) {
204
-            $this->prefixesPsr0[$first][$prefix] = (array) $paths;
205
-
206
-            return;
207
-        }
208
-        if ($prepend) {
209
-            $this->prefixesPsr0[$first][$prefix] = array_merge(
210
-                (array) $paths,
211
-                $this->prefixesPsr0[$first][$prefix]
212
-            );
213
-        } else {
214
-            $this->prefixesPsr0[$first][$prefix] = array_merge(
215
-                $this->prefixesPsr0[$first][$prefix],
216
-                (array) $paths
217
-            );
218
-        }
219
-    }
220
-
221
-    /**
222
-     * Registers a set of PSR-4 directories for a given namespace, either
223
-     * appending or prepending to the ones previously set for this namespace.
224
-     *
225
-     * @param string          $prefix  The prefix/namespace, with trailing '\\'
226
-     * @param string[]|string $paths   The PSR-4 base directories
227
-     * @param bool            $prepend Whether to prepend the directories
228
-     *
229
-     * @throws \InvalidArgumentException
230
-     *
231
-     * @return void
232
-     */
233
-    public function addPsr4($prefix, $paths, $prepend = false)
234
-    {
235
-        if (!$prefix) {
236
-            // Register directories for the root namespace.
237
-            if ($prepend) {
238
-                $this->fallbackDirsPsr4 = array_merge(
239
-                    (array) $paths,
240
-                    $this->fallbackDirsPsr4
241
-                );
242
-            } else {
243
-                $this->fallbackDirsPsr4 = array_merge(
244
-                    $this->fallbackDirsPsr4,
245
-                    (array) $paths
246
-                );
247
-            }
248
-        } elseif (!isset($this->prefixDirsPsr4[$prefix])) {
249
-            // Register directories for a new namespace.
250
-            $length = strlen($prefix);
251
-            if ('\\' !== $prefix[$length - 1]) {
252
-                throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
253
-            }
254
-            $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
255
-            $this->prefixDirsPsr4[$prefix] = (array) $paths;
256
-        } elseif ($prepend) {
257
-            // Prepend directories for an already registered namespace.
258
-            $this->prefixDirsPsr4[$prefix] = array_merge(
259
-                (array) $paths,
260
-                $this->prefixDirsPsr4[$prefix]
261
-            );
262
-        } else {
263
-            // Append directories for an already registered namespace.
264
-            $this->prefixDirsPsr4[$prefix] = array_merge(
265
-                $this->prefixDirsPsr4[$prefix],
266
-                (array) $paths
267
-            );
268
-        }
269
-    }
270
-
271
-    /**
272
-     * Registers a set of PSR-0 directories for a given prefix,
273
-     * replacing any others previously set for this prefix.
274
-     *
275
-     * @param string          $prefix The prefix
276
-     * @param string[]|string $paths  The PSR-0 base directories
277
-     *
278
-     * @return void
279
-     */
280
-    public function set($prefix, $paths)
281
-    {
282
-        if (!$prefix) {
283
-            $this->fallbackDirsPsr0 = (array) $paths;
284
-        } else {
285
-            $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths;
286
-        }
287
-    }
288
-
289
-    /**
290
-     * Registers a set of PSR-4 directories for a given namespace,
291
-     * replacing any others previously set for this namespace.
292
-     *
293
-     * @param string          $prefix The prefix/namespace, with trailing '\\'
294
-     * @param string[]|string $paths  The PSR-4 base directories
295
-     *
296
-     * @throws \InvalidArgumentException
297
-     *
298
-     * @return void
299
-     */
300
-    public function setPsr4($prefix, $paths)
301
-    {
302
-        if (!$prefix) {
303
-            $this->fallbackDirsPsr4 = (array) $paths;
304
-        } else {
305
-            $length = strlen($prefix);
306
-            if ('\\' !== $prefix[$length - 1]) {
307
-                throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
308
-            }
309
-            $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
310
-            $this->prefixDirsPsr4[$prefix] = (array) $paths;
311
-        }
312
-    }
313
-
314
-    /**
315
-     * Turns on searching the include path for class files.
316
-     *
317
-     * @param bool $useIncludePath
318
-     *
319
-     * @return void
320
-     */
321
-    public function setUseIncludePath($useIncludePath)
322
-    {
323
-        $this->useIncludePath = $useIncludePath;
324
-    }
325
-
326
-    /**
327
-     * Can be used to check if the autoloader uses the include path to check
328
-     * for classes.
329
-     *
330
-     * @return bool
331
-     */
332
-    public function getUseIncludePath()
333
-    {
334
-        return $this->useIncludePath;
335
-    }
336
-
337
-    /**
338
-     * Turns off searching the prefix and fallback directories for classes
339
-     * that have not been registered with the class map.
340
-     *
341
-     * @param bool $classMapAuthoritative
342
-     *
343
-     * @return void
344
-     */
345
-    public function setClassMapAuthoritative($classMapAuthoritative)
346
-    {
347
-        $this->classMapAuthoritative = $classMapAuthoritative;
348
-    }
349
-
350
-    /**
351
-     * Should class lookup fail if not found in the current class map?
352
-     *
353
-     * @return bool
354
-     */
355
-    public function isClassMapAuthoritative()
356
-    {
357
-        return $this->classMapAuthoritative;
358
-    }
359
-
360
-    /**
361
-     * APCu prefix to use to cache found/not-found classes, if the extension is enabled.
362
-     *
363
-     * @param string|null $apcuPrefix
364
-     *
365
-     * @return void
366
-     */
367
-    public function setApcuPrefix($apcuPrefix)
368
-    {
369
-        $this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null;
370
-    }
371
-
372
-    /**
373
-     * The APCu prefix in use, or null if APCu caching is not enabled.
374
-     *
375
-     * @return string|null
376
-     */
377
-    public function getApcuPrefix()
378
-    {
379
-        return $this->apcuPrefix;
380
-    }
381
-
382
-    /**
383
-     * Registers this instance as an autoloader.
384
-     *
385
-     * @param bool $prepend Whether to prepend the autoloader or not
386
-     *
387
-     * @return void
388
-     */
389
-    public function register($prepend = false)
390
-    {
391
-        spl_autoload_register(array($this, 'loadClass'), true, $prepend);
392
-
393
-        if (null === $this->vendorDir) {
394
-            return;
395
-        }
396
-
397
-        if ($prepend) {
398
-            self::$registeredLoaders = array($this->vendorDir => $this) + self::$registeredLoaders;
399
-        } else {
400
-            unset(self::$registeredLoaders[$this->vendorDir]);
401
-            self::$registeredLoaders[$this->vendorDir] = $this;
402
-        }
403
-    }
404
-
405
-    /**
406
-     * Unregisters this instance as an autoloader.
407
-     *
408
-     * @return void
409
-     */
410
-    public function unregister()
411
-    {
412
-        spl_autoload_unregister(array($this, 'loadClass'));
413
-
414
-        if (null !== $this->vendorDir) {
415
-            unset(self::$registeredLoaders[$this->vendorDir]);
416
-        }
417
-    }
418
-
419
-    /**
420
-     * Loads the given class or interface.
421
-     *
422
-     * @param  string    $class The name of the class
423
-     * @return true|null True if loaded, null otherwise
424
-     */
425
-    public function loadClass($class)
426
-    {
427
-        if ($file = $this->findFile($class)) {
428
-            includeFile($file);
429
-
430
-            return true;
431
-        }
432
-
433
-        return null;
434
-    }
435
-
436
-    /**
437
-     * Finds the path to the file where the class is defined.
438
-     *
439
-     * @param string $class The name of the class
440
-     *
441
-     * @return string|false The path if found, false otherwise
442
-     */
443
-    public function findFile($class)
444
-    {
445
-        // class map lookup
446
-        if (isset($this->classMap[$class])) {
447
-            return $this->classMap[$class];
448
-        }
449
-        if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) {
450
-            return false;
451
-        }
452
-        if (null !== $this->apcuPrefix) {
453
-            $file = apcu_fetch($this->apcuPrefix.$class, $hit);
454
-            if ($hit) {
455
-                return $file;
456
-            }
457
-        }
458
-
459
-        $file = $this->findFileWithExtension($class, '.php');
460
-
461
-        // Search for Hack files if we are running on HHVM
462
-        if (false === $file && defined('HHVM_VERSION')) {
463
-            $file = $this->findFileWithExtension($class, '.hh');
464
-        }
465
-
466
-        if (null !== $this->apcuPrefix) {
467
-            apcu_add($this->apcuPrefix.$class, $file);
468
-        }
469
-
470
-        if (false === $file) {
471
-            // Remember that this class does not exist.
472
-            $this->missingClasses[$class] = true;
473
-        }
474
-
475
-        return $file;
476
-    }
477
-
478
-    /**
479
-     * Returns the currently registered loaders indexed by their corresponding vendor directories.
480
-     *
481
-     * @return self[]
482
-     */
483
-    public static function getRegisteredLoaders()
484
-    {
485
-        return self::$registeredLoaders;
486
-    }
487
-
488
-    /**
489
-     * @param  string       $class
490
-     * @param  string       $ext
491
-     * @return string|false
492
-     */
493
-    private function findFileWithExtension($class, $ext)
494
-    {
495
-        // PSR-4 lookup
496
-        $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext;
497
-
498
-        $first = $class[0];
499
-        if (isset($this->prefixLengthsPsr4[$first])) {
500
-            $subPath = $class;
501
-            while (false !== $lastPos = strrpos($subPath, '\\')) {
502
-                $subPath = substr($subPath, 0, $lastPos);
503
-                $search = $subPath . '\\';
504
-                if (isset($this->prefixDirsPsr4[$search])) {
505
-                    $pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1);
506
-                    foreach ($this->prefixDirsPsr4[$search] as $dir) {
507
-                        if (file_exists($file = $dir . $pathEnd)) {
508
-                            return $file;
509
-                        }
510
-                    }
511
-                }
512
-            }
513
-        }
514
-
515
-        // PSR-4 fallback dirs
516
-        foreach ($this->fallbackDirsPsr4 as $dir) {
517
-            if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
518
-                return $file;
519
-            }
520
-        }
521
-
522
-        // PSR-0 lookup
523
-        if (false !== $pos = strrpos($class, '\\')) {
524
-            // namespaced class name
525
-            $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1)
526
-                . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR);
527
-        } else {
528
-            // PEAR-like class name
529
-            $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext;
530
-        }
531
-
532
-        if (isset($this->prefixesPsr0[$first])) {
533
-            foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) {
534
-                if (0 === strpos($class, $prefix)) {
535
-                    foreach ($dirs as $dir) {
536
-                        if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
537
-                            return $file;
538
-                        }
539
-                    }
540
-                }
541
-            }
542
-        }
543
-
544
-        // PSR-0 fallback dirs
545
-        foreach ($this->fallbackDirsPsr0 as $dir) {
546
-            if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
547
-                return $file;
548
-            }
549
-        }
550
-
551
-        // PSR-0 include paths.
552
-        if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
553
-            return $file;
554
-        }
555
-
556
-        return false;
557
-    }
45
+	/** @var ?string */
46
+	private $vendorDir;
47
+
48
+	// PSR-4
49
+	/**
50
+	 * @var array[]
51
+	 * @psalm-var array<string, array<string, int>>
52
+	 */
53
+	private $prefixLengthsPsr4 = array();
54
+	/**
55
+	 * @var array[]
56
+	 * @psalm-var array<string, array<int, string>>
57
+	 */
58
+	private $prefixDirsPsr4 = array();
59
+	/**
60
+	 * @var array[]
61
+	 * @psalm-var array<string, string>
62
+	 */
63
+	private $fallbackDirsPsr4 = array();
64
+
65
+	// PSR-0
66
+	/**
67
+	 * @var array[]
68
+	 * @psalm-var array<string, array<string, string[]>>
69
+	 */
70
+	private $prefixesPsr0 = array();
71
+	/**
72
+	 * @var array[]
73
+	 * @psalm-var array<string, string>
74
+	 */
75
+	private $fallbackDirsPsr0 = array();
76
+
77
+	/** @var bool */
78
+	private $useIncludePath = false;
79
+
80
+	/**
81
+	 * @var string[]
82
+	 * @psalm-var array<string, string>
83
+	 */
84
+	private $classMap = array();
85
+
86
+	/** @var bool */
87
+	private $classMapAuthoritative = false;
88
+
89
+	/**
90
+	 * @var bool[]
91
+	 * @psalm-var array<string, bool>
92
+	 */
93
+	private $missingClasses = array();
94
+
95
+	/** @var ?string */
96
+	private $apcuPrefix;
97
+
98
+	/**
99
+	 * @var self[]
100
+	 */
101
+	private static $registeredLoaders = array();
102
+
103
+	/**
104
+	 * @param ?string $vendorDir
105
+	 */
106
+	public function __construct($vendorDir = null)
107
+	{
108
+		$this->vendorDir = $vendorDir;
109
+	}
110
+
111
+	/**
112
+	 * @return string[]
113
+	 */
114
+	public function getPrefixes()
115
+	{
116
+		if (!empty($this->prefixesPsr0)) {
117
+			return call_user_func_array('array_merge', array_values($this->prefixesPsr0));
118
+		}
119
+
120
+		return array();
121
+	}
122
+
123
+	/**
124
+	 * @return array[]
125
+	 * @psalm-return array<string, array<int, string>>
126
+	 */
127
+	public function getPrefixesPsr4()
128
+	{
129
+		return $this->prefixDirsPsr4;
130
+	}
131
+
132
+	/**
133
+	 * @return array[]
134
+	 * @psalm-return array<string, string>
135
+	 */
136
+	public function getFallbackDirs()
137
+	{
138
+		return $this->fallbackDirsPsr0;
139
+	}
140
+
141
+	/**
142
+	 * @return array[]
143
+	 * @psalm-return array<string, string>
144
+	 */
145
+	public function getFallbackDirsPsr4()
146
+	{
147
+		return $this->fallbackDirsPsr4;
148
+	}
149
+
150
+	/**
151
+	 * @return string[] Array of classname => path
152
+	 * @psalm-return array<string, string>
153
+	 */
154
+	public function getClassMap()
155
+	{
156
+		return $this->classMap;
157
+	}
158
+
159
+	/**
160
+	 * @param string[] $classMap Class to filename map
161
+	 * @psalm-param array<string, string> $classMap
162
+	 *
163
+	 * @return void
164
+	 */
165
+	public function addClassMap(array $classMap)
166
+	{
167
+		if ($this->classMap) {
168
+			$this->classMap = array_merge($this->classMap, $classMap);
169
+		} else {
170
+			$this->classMap = $classMap;
171
+		}
172
+	}
173
+
174
+	/**
175
+	 * Registers a set of PSR-0 directories for a given prefix, either
176
+	 * appending or prepending to the ones previously set for this prefix.
177
+	 *
178
+	 * @param string          $prefix  The prefix
179
+	 * @param string[]|string $paths   The PSR-0 root directories
180
+	 * @param bool            $prepend Whether to prepend the directories
181
+	 *
182
+	 * @return void
183
+	 */
184
+	public function add($prefix, $paths, $prepend = false)
185
+	{
186
+		if (!$prefix) {
187
+			if ($prepend) {
188
+				$this->fallbackDirsPsr0 = array_merge(
189
+					(array) $paths,
190
+					$this->fallbackDirsPsr0
191
+				);
192
+			} else {
193
+				$this->fallbackDirsPsr0 = array_merge(
194
+					$this->fallbackDirsPsr0,
195
+					(array) $paths
196
+				);
197
+			}
198
+
199
+			return;
200
+		}
201
+
202
+		$first = $prefix[0];
203
+		if (!isset($this->prefixesPsr0[$first][$prefix])) {
204
+			$this->prefixesPsr0[$first][$prefix] = (array) $paths;
205
+
206
+			return;
207
+		}
208
+		if ($prepend) {
209
+			$this->prefixesPsr0[$first][$prefix] = array_merge(
210
+				(array) $paths,
211
+				$this->prefixesPsr0[$first][$prefix]
212
+			);
213
+		} else {
214
+			$this->prefixesPsr0[$first][$prefix] = array_merge(
215
+				$this->prefixesPsr0[$first][$prefix],
216
+				(array) $paths
217
+			);
218
+		}
219
+	}
220
+
221
+	/**
222
+	 * Registers a set of PSR-4 directories for a given namespace, either
223
+	 * appending or prepending to the ones previously set for this namespace.
224
+	 *
225
+	 * @param string          $prefix  The prefix/namespace, with trailing '\\'
226
+	 * @param string[]|string $paths   The PSR-4 base directories
227
+	 * @param bool            $prepend Whether to prepend the directories
228
+	 *
229
+	 * @throws \InvalidArgumentException
230
+	 *
231
+	 * @return void
232
+	 */
233
+	public function addPsr4($prefix, $paths, $prepend = false)
234
+	{
235
+		if (!$prefix) {
236
+			// Register directories for the root namespace.
237
+			if ($prepend) {
238
+				$this->fallbackDirsPsr4 = array_merge(
239
+					(array) $paths,
240
+					$this->fallbackDirsPsr4
241
+				);
242
+			} else {
243
+				$this->fallbackDirsPsr4 = array_merge(
244
+					$this->fallbackDirsPsr4,
245
+					(array) $paths
246
+				);
247
+			}
248
+		} elseif (!isset($this->prefixDirsPsr4[$prefix])) {
249
+			// Register directories for a new namespace.
250
+			$length = strlen($prefix);
251
+			if ('\\' !== $prefix[$length - 1]) {
252
+				throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
253
+			}
254
+			$this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
255
+			$this->prefixDirsPsr4[$prefix] = (array) $paths;
256
+		} elseif ($prepend) {
257
+			// Prepend directories for an already registered namespace.
258
+			$this->prefixDirsPsr4[$prefix] = array_merge(
259
+				(array) $paths,
260
+				$this->prefixDirsPsr4[$prefix]
261
+			);
262
+		} else {
263
+			// Append directories for an already registered namespace.
264
+			$this->prefixDirsPsr4[$prefix] = array_merge(
265
+				$this->prefixDirsPsr4[$prefix],
266
+				(array) $paths
267
+			);
268
+		}
269
+	}
270
+
271
+	/**
272
+	 * Registers a set of PSR-0 directories for a given prefix,
273
+	 * replacing any others previously set for this prefix.
274
+	 *
275
+	 * @param string          $prefix The prefix
276
+	 * @param string[]|string $paths  The PSR-0 base directories
277
+	 *
278
+	 * @return void
279
+	 */
280
+	public function set($prefix, $paths)
281
+	{
282
+		if (!$prefix) {
283
+			$this->fallbackDirsPsr0 = (array) $paths;
284
+		} else {
285
+			$this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths;
286
+		}
287
+	}
288
+
289
+	/**
290
+	 * Registers a set of PSR-4 directories for a given namespace,
291
+	 * replacing any others previously set for this namespace.
292
+	 *
293
+	 * @param string          $prefix The prefix/namespace, with trailing '\\'
294
+	 * @param string[]|string $paths  The PSR-4 base directories
295
+	 *
296
+	 * @throws \InvalidArgumentException
297
+	 *
298
+	 * @return void
299
+	 */
300
+	public function setPsr4($prefix, $paths)
301
+	{
302
+		if (!$prefix) {
303
+			$this->fallbackDirsPsr4 = (array) $paths;
304
+		} else {
305
+			$length = strlen($prefix);
306
+			if ('\\' !== $prefix[$length - 1]) {
307
+				throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
308
+			}
309
+			$this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
310
+			$this->prefixDirsPsr4[$prefix] = (array) $paths;
311
+		}
312
+	}
313
+
314
+	/**
315
+	 * Turns on searching the include path for class files.
316
+	 *
317
+	 * @param bool $useIncludePath
318
+	 *
319
+	 * @return void
320
+	 */
321
+	public function setUseIncludePath($useIncludePath)
322
+	{
323
+		$this->useIncludePath = $useIncludePath;
324
+	}
325
+
326
+	/**
327
+	 * Can be used to check if the autoloader uses the include path to check
328
+	 * for classes.
329
+	 *
330
+	 * @return bool
331
+	 */
332
+	public function getUseIncludePath()
333
+	{
334
+		return $this->useIncludePath;
335
+	}
336
+
337
+	/**
338
+	 * Turns off searching the prefix and fallback directories for classes
339
+	 * that have not been registered with the class map.
340
+	 *
341
+	 * @param bool $classMapAuthoritative
342
+	 *
343
+	 * @return void
344
+	 */
345
+	public function setClassMapAuthoritative($classMapAuthoritative)
346
+	{
347
+		$this->classMapAuthoritative = $classMapAuthoritative;
348
+	}
349
+
350
+	/**
351
+	 * Should class lookup fail if not found in the current class map?
352
+	 *
353
+	 * @return bool
354
+	 */
355
+	public function isClassMapAuthoritative()
356
+	{
357
+		return $this->classMapAuthoritative;
358
+	}
359
+
360
+	/**
361
+	 * APCu prefix to use to cache found/not-found classes, if the extension is enabled.
362
+	 *
363
+	 * @param string|null $apcuPrefix
364
+	 *
365
+	 * @return void
366
+	 */
367
+	public function setApcuPrefix($apcuPrefix)
368
+	{
369
+		$this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null;
370
+	}
371
+
372
+	/**
373
+	 * The APCu prefix in use, or null if APCu caching is not enabled.
374
+	 *
375
+	 * @return string|null
376
+	 */
377
+	public function getApcuPrefix()
378
+	{
379
+		return $this->apcuPrefix;
380
+	}
381
+
382
+	/**
383
+	 * Registers this instance as an autoloader.
384
+	 *
385
+	 * @param bool $prepend Whether to prepend the autoloader or not
386
+	 *
387
+	 * @return void
388
+	 */
389
+	public function register($prepend = false)
390
+	{
391
+		spl_autoload_register(array($this, 'loadClass'), true, $prepend);
392
+
393
+		if (null === $this->vendorDir) {
394
+			return;
395
+		}
396
+
397
+		if ($prepend) {
398
+			self::$registeredLoaders = array($this->vendorDir => $this) + self::$registeredLoaders;
399
+		} else {
400
+			unset(self::$registeredLoaders[$this->vendorDir]);
401
+			self::$registeredLoaders[$this->vendorDir] = $this;
402
+		}
403
+	}
404
+
405
+	/**
406
+	 * Unregisters this instance as an autoloader.
407
+	 *
408
+	 * @return void
409
+	 */
410
+	public function unregister()
411
+	{
412
+		spl_autoload_unregister(array($this, 'loadClass'));
413
+
414
+		if (null !== $this->vendorDir) {
415
+			unset(self::$registeredLoaders[$this->vendorDir]);
416
+		}
417
+	}
418
+
419
+	/**
420
+	 * Loads the given class or interface.
421
+	 *
422
+	 * @param  string    $class The name of the class
423
+	 * @return true|null True if loaded, null otherwise
424
+	 */
425
+	public function loadClass($class)
426
+	{
427
+		if ($file = $this->findFile($class)) {
428
+			includeFile($file);
429
+
430
+			return true;
431
+		}
432
+
433
+		return null;
434
+	}
435
+
436
+	/**
437
+	 * Finds the path to the file where the class is defined.
438
+	 *
439
+	 * @param string $class The name of the class
440
+	 *
441
+	 * @return string|false The path if found, false otherwise
442
+	 */
443
+	public function findFile($class)
444
+	{
445
+		// class map lookup
446
+		if (isset($this->classMap[$class])) {
447
+			return $this->classMap[$class];
448
+		}
449
+		if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) {
450
+			return false;
451
+		}
452
+		if (null !== $this->apcuPrefix) {
453
+			$file = apcu_fetch($this->apcuPrefix.$class, $hit);
454
+			if ($hit) {
455
+				return $file;
456
+			}
457
+		}
458
+
459
+		$file = $this->findFileWithExtension($class, '.php');
460
+
461
+		// Search for Hack files if we are running on HHVM
462
+		if (false === $file && defined('HHVM_VERSION')) {
463
+			$file = $this->findFileWithExtension($class, '.hh');
464
+		}
465
+
466
+		if (null !== $this->apcuPrefix) {
467
+			apcu_add($this->apcuPrefix.$class, $file);
468
+		}
469
+
470
+		if (false === $file) {
471
+			// Remember that this class does not exist.
472
+			$this->missingClasses[$class] = true;
473
+		}
474
+
475
+		return $file;
476
+	}
477
+
478
+	/**
479
+	 * Returns the currently registered loaders indexed by their corresponding vendor directories.
480
+	 *
481
+	 * @return self[]
482
+	 */
483
+	public static function getRegisteredLoaders()
484
+	{
485
+		return self::$registeredLoaders;
486
+	}
487
+
488
+	/**
489
+	 * @param  string       $class
490
+	 * @param  string       $ext
491
+	 * @return string|false
492
+	 */
493
+	private function findFileWithExtension($class, $ext)
494
+	{
495
+		// PSR-4 lookup
496
+		$logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext;
497
+
498
+		$first = $class[0];
499
+		if (isset($this->prefixLengthsPsr4[$first])) {
500
+			$subPath = $class;
501
+			while (false !== $lastPos = strrpos($subPath, '\\')) {
502
+				$subPath = substr($subPath, 0, $lastPos);
503
+				$search = $subPath . '\\';
504
+				if (isset($this->prefixDirsPsr4[$search])) {
505
+					$pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1);
506
+					foreach ($this->prefixDirsPsr4[$search] as $dir) {
507
+						if (file_exists($file = $dir . $pathEnd)) {
508
+							return $file;
509
+						}
510
+					}
511
+				}
512
+			}
513
+		}
514
+
515
+		// PSR-4 fallback dirs
516
+		foreach ($this->fallbackDirsPsr4 as $dir) {
517
+			if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
518
+				return $file;
519
+			}
520
+		}
521
+
522
+		// PSR-0 lookup
523
+		if (false !== $pos = strrpos($class, '\\')) {
524
+			// namespaced class name
525
+			$logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1)
526
+				. strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR);
527
+		} else {
528
+			// PEAR-like class name
529
+			$logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext;
530
+		}
531
+
532
+		if (isset($this->prefixesPsr0[$first])) {
533
+			foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) {
534
+				if (0 === strpos($class, $prefix)) {
535
+					foreach ($dirs as $dir) {
536
+						if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
537
+							return $file;
538
+						}
539
+					}
540
+				}
541
+			}
542
+		}
543
+
544
+		// PSR-0 fallback dirs
545
+		foreach ($this->fallbackDirsPsr0 as $dir) {
546
+			if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
547
+				return $file;
548
+			}
549
+		}
550
+
551
+		// PSR-0 include paths.
552
+		if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
553
+			return $file;
554
+		}
555
+
556
+		return false;
557
+	}
558 558
 }
559 559
 
560 560
 /**
@@ -568,5 +568,5 @@  discard block
 block discarded – undo
568 568
  */
569 569
 function includeFile($file)
570 570
 {
571
-    include $file;
571
+	include $file;
572 572
 }
Please login to merge, or discard this patch.
Braces   +25 added lines, -50 removed lines patch added patch discarded remove patch
@@ -40,8 +40,7 @@  discard block
 block discarded – undo
40 40
  * @see    https://www.php-fig.org/psr/psr-0/
41 41
  * @see    https://www.php-fig.org/psr/psr-4/
42 42
  */
43
-class ClassLoader
44
-{
43
+class ClassLoader {
45 44
     /** @var ?string */
46 45
     private $vendorDir;
47 46
 
@@ -103,16 +102,14 @@  discard block
 block discarded – undo
103 102
     /**
104 103
      * @param ?string $vendorDir
105 104
      */
106
-    public function __construct($vendorDir = null)
107
-    {
105
+    public function __construct($vendorDir = null) {
108 106
         $this->vendorDir = $vendorDir;
109 107
     }
110 108
 
111 109
     /**
112 110
      * @return string[]
113 111
      */
114
-    public function getPrefixes()
115
-    {
112
+    public function getPrefixes() {
116 113
         if (!empty($this->prefixesPsr0)) {
117 114
             return call_user_func_array('array_merge', array_values($this->prefixesPsr0));
118 115
         }
@@ -124,8 +121,7 @@  discard block
 block discarded – undo
124 121
      * @return array[]
125 122
      * @psalm-return array<string, array<int, string>>
126 123
      */
127
-    public function getPrefixesPsr4()
128
-    {
124
+    public function getPrefixesPsr4() {
129 125
         return $this->prefixDirsPsr4;
130 126
     }
131 127
 
@@ -133,8 +129,7 @@  discard block
 block discarded – undo
133 129
      * @return array[]
134 130
      * @psalm-return array<string, string>
135 131
      */
136
-    public function getFallbackDirs()
137
-    {
132
+    public function getFallbackDirs() {
138 133
         return $this->fallbackDirsPsr0;
139 134
     }
140 135
 
@@ -142,8 +137,7 @@  discard block
 block discarded – undo
142 137
      * @return array[]
143 138
      * @psalm-return array<string, string>
144 139
      */
145
-    public function getFallbackDirsPsr4()
146
-    {
140
+    public function getFallbackDirsPsr4() {
147 141
         return $this->fallbackDirsPsr4;
148 142
     }
149 143
 
@@ -151,8 +145,7 @@  discard block
 block discarded – undo
151 145
      * @return string[] Array of classname => path
152 146
      * @psalm-return array<string, string>
153 147
      */
154
-    public function getClassMap()
155
-    {
148
+    public function getClassMap() {
156 149
         return $this->classMap;
157 150
     }
158 151
 
@@ -162,8 +155,7 @@  discard block
 block discarded – undo
162 155
      *
163 156
      * @return void
164 157
      */
165
-    public function addClassMap(array $classMap)
166
-    {
158
+    public function addClassMap(array $classMap) {
167 159
         if ($this->classMap) {
168 160
             $this->classMap = array_merge($this->classMap, $classMap);
169 161
         } else {
@@ -181,8 +173,7 @@  discard block
 block discarded – undo
181 173
      *
182 174
      * @return void
183 175
      */
184
-    public function add($prefix, $paths, $prepend = false)
185
-    {
176
+    public function add($prefix, $paths, $prepend = false) {
186 177
         if (!$prefix) {
187 178
             if ($prepend) {
188 179
                 $this->fallbackDirsPsr0 = array_merge(
@@ -230,8 +221,7 @@  discard block
 block discarded – undo
230 221
      *
231 222
      * @return void
232 223
      */
233
-    public function addPsr4($prefix, $paths, $prepend = false)
234
-    {
224
+    public function addPsr4($prefix, $paths, $prepend = false) {
235 225
         if (!$prefix) {
236 226
             // Register directories for the root namespace.
237 227
             if ($prepend) {
@@ -277,8 +267,7 @@  discard block
 block discarded – undo
277 267
      *
278 268
      * @return void
279 269
      */
280
-    public function set($prefix, $paths)
281
-    {
270
+    public function set($prefix, $paths) {
282 271
         if (!$prefix) {
283 272
             $this->fallbackDirsPsr0 = (array) $paths;
284 273
         } else {
@@ -297,8 +286,7 @@  discard block
 block discarded – undo
297 286
      *
298 287
      * @return void
299 288
      */
300
-    public function setPsr4($prefix, $paths)
301
-    {
289
+    public function setPsr4($prefix, $paths) {
302 290
         if (!$prefix) {
303 291
             $this->fallbackDirsPsr4 = (array) $paths;
304 292
         } else {
@@ -318,8 +306,7 @@  discard block
 block discarded – undo
318 306
      *
319 307
      * @return void
320 308
      */
321
-    public function setUseIncludePath($useIncludePath)
322
-    {
309
+    public function setUseIncludePath($useIncludePath) {
323 310
         $this->useIncludePath = $useIncludePath;
324 311
     }
325 312
 
@@ -329,8 +316,7 @@  discard block
 block discarded – undo
329 316
      *
330 317
      * @return bool
331 318
      */
332
-    public function getUseIncludePath()
333
-    {
319
+    public function getUseIncludePath() {
334 320
         return $this->useIncludePath;
335 321
     }
336 322
 
@@ -342,8 +328,7 @@  discard block
 block discarded – undo
342 328
      *
343 329
      * @return void
344 330
      */
345
-    public function setClassMapAuthoritative($classMapAuthoritative)
346
-    {
331
+    public function setClassMapAuthoritative($classMapAuthoritative) {
347 332
         $this->classMapAuthoritative = $classMapAuthoritative;
348 333
     }
349 334
 
@@ -352,8 +337,7 @@  discard block
 block discarded – undo
352 337
      *
353 338
      * @return bool
354 339
      */
355
-    public function isClassMapAuthoritative()
356
-    {
340
+    public function isClassMapAuthoritative() {
357 341
         return $this->classMapAuthoritative;
358 342
     }
359 343
 
@@ -364,8 +348,7 @@  discard block
 block discarded – undo
364 348
      *
365 349
      * @return void
366 350
      */
367
-    public function setApcuPrefix($apcuPrefix)
368
-    {
351
+    public function setApcuPrefix($apcuPrefix) {
369 352
         $this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null;
370 353
     }
371 354
 
@@ -374,8 +357,7 @@  discard block
 block discarded – undo
374 357
      *
375 358
      * @return string|null
376 359
      */
377
-    public function getApcuPrefix()
378
-    {
360
+    public function getApcuPrefix() {
379 361
         return $this->apcuPrefix;
380 362
     }
381 363
 
@@ -386,8 +368,7 @@  discard block
 block discarded – undo
386 368
      *
387 369
      * @return void
388 370
      */
389
-    public function register($prepend = false)
390
-    {
371
+    public function register($prepend = false) {
391 372
         spl_autoload_register(array($this, 'loadClass'), true, $prepend);
392 373
 
393 374
         if (null === $this->vendorDir) {
@@ -407,8 +388,7 @@  discard block
 block discarded – undo
407 388
      *
408 389
      * @return void
409 390
      */
410
-    public function unregister()
411
-    {
391
+    public function unregister() {
412 392
         spl_autoload_unregister(array($this, 'loadClass'));
413 393
 
414 394
         if (null !== $this->vendorDir) {
@@ -422,8 +402,7 @@  discard block
 block discarded – undo
422 402
      * @param  string    $class The name of the class
423 403
      * @return true|null True if loaded, null otherwise
424 404
      */
425
-    public function loadClass($class)
426
-    {
405
+    public function loadClass($class) {
427 406
         if ($file = $this->findFile($class)) {
428 407
             includeFile($file);
429 408
 
@@ -440,8 +419,7 @@  discard block
 block discarded – undo
440 419
      *
441 420
      * @return string|false The path if found, false otherwise
442 421
      */
443
-    public function findFile($class)
444
-    {
422
+    public function findFile($class) {
445 423
         // class map lookup
446 424
         if (isset($this->classMap[$class])) {
447 425
             return $this->classMap[$class];
@@ -480,8 +458,7 @@  discard block
 block discarded – undo
480 458
      *
481 459
      * @return self[]
482 460
      */
483
-    public static function getRegisteredLoaders()
484
-    {
461
+    public static function getRegisteredLoaders() {
485 462
         return self::$registeredLoaders;
486 463
     }
487 464
 
@@ -490,8 +467,7 @@  discard block
 block discarded – undo
490 467
      * @param  string       $ext
491 468
      * @return string|false
492 469
      */
493
-    private function findFileWithExtension($class, $ext)
494
-    {
470
+    private function findFileWithExtension($class, $ext) {
495 471
         // PSR-4 lookup
496 472
         $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext;
497 473
 
@@ -566,7 +542,6 @@  discard block
 block discarded – undo
566 542
  * @return void
567 543
  * @private
568 544
  */
569
-function includeFile($file)
570
-{
545
+function includeFile($file) {
571 546
     include $file;
572 547
 }
Please login to merge, or discard this patch.
vendor/composer/InstalledVersions.php 3 patches
Spacing   +72 added lines, -72 removed lines patch added patch discarded remove patch
@@ -37,15 +37,15 @@  discard block
 block discarded – undo
37 37
     public static function getInstalledPackages()
38 38
     {
39 39
         $packages = array();
40
-        foreach (self::getInstalled() as $installed) {
41
-            $packages[] = array_keys($installed['versions']);
40
+        foreach ( self::getInstalled() as $installed ) {
41
+            $packages[ ] = array_keys( $installed[ 'versions' ] );
42 42
         }
43 43
 
44
-        if (1 === \count($packages)) {
45
-            return $packages[0];
44
+        if ( 1 === \count( $packages ) ) {
45
+            return $packages[ 0 ];
46 46
         }
47 47
 
48
-        return array_keys(array_flip(\call_user_func_array('array_merge', $packages)));
48
+        return array_keys( array_flip( \call_user_func_array( 'array_merge', $packages ) ) );
49 49
     }
50 50
 
51 51
     /**
@@ -55,14 +55,14 @@  discard block
 block discarded – undo
55 55
      * @return string[]
56 56
      * @psalm-return list<string>
57 57
      */
58
-    public static function getInstalledPackagesByType($type)
58
+    public static function getInstalledPackagesByType( $type )
59 59
     {
60 60
         $packagesByType = array();
61 61
 
62
-        foreach (self::getInstalled() as $installed) {
63
-            foreach ($installed['versions'] as $name => $package) {
64
-                if (isset($package['type']) && $package['type'] === $type) {
65
-                    $packagesByType[] = $name;
62
+        foreach ( self::getInstalled() as $installed ) {
63
+            foreach ( $installed[ 'versions' ] as $name => $package ) {
64
+                if ( isset( $package[ 'type' ] ) && $package[ 'type' ] === $type ) {
65
+                    $packagesByType[ ] = $name;
66 66
                 }
67 67
             }
68 68
         }
@@ -79,11 +79,11 @@  discard block
 block discarded – undo
79 79
      * @param  bool   $includeDevRequirements
80 80
      * @return bool
81 81
      */
82
-    public static function isInstalled($packageName, $includeDevRequirements = true)
82
+    public static function isInstalled( $packageName, $includeDevRequirements = true )
83 83
     {
84
-        foreach (self::getInstalled() as $installed) {
85
-            if (isset($installed['versions'][$packageName])) {
86
-                return $includeDevRequirements || empty($installed['versions'][$packageName]['dev_requirement']);
84
+        foreach ( self::getInstalled() as $installed ) {
85
+            if ( isset( $installed[ 'versions' ][ $packageName ] ) ) {
86
+                return $includeDevRequirements || empty( $installed[ 'versions' ][ $packageName ][ 'dev_requirement' ] );
87 87
             }
88 88
         }
89 89
 
@@ -102,12 +102,12 @@  discard block
 block discarded – undo
102 102
      * @param  string|null   $constraint  A version constraint to check for, if you pass one you have to make sure composer/semver is required by your package
103 103
      * @return bool
104 104
      */
105
-    public static function satisfies(VersionParser $parser, $packageName, $constraint)
105
+    public static function satisfies( VersionParser $parser, $packageName, $constraint )
106 106
     {
107
-        $constraint = $parser->parseConstraints($constraint);
108
-        $provided = $parser->parseConstraints(self::getVersionRanges($packageName));
107
+        $constraint = $parser->parseConstraints( $constraint );
108
+        $provided = $parser->parseConstraints( self::getVersionRanges( $packageName ) );
109 109
 
110
-        return $provided->matches($constraint);
110
+        return $provided->matches( $constraint );
111 111
     }
112 112
 
113 113
     /**
@@ -119,111 +119,111 @@  discard block
 block discarded – undo
119 119
      * @param  string $packageName
120 120
      * @return string Version constraint usable with composer/semver
121 121
      */
122
-    public static function getVersionRanges($packageName)
122
+    public static function getVersionRanges( $packageName )
123 123
     {
124
-        foreach (self::getInstalled() as $installed) {
125
-            if (!isset($installed['versions'][$packageName])) {
124
+        foreach ( self::getInstalled() as $installed ) {
125
+            if ( ! isset( $installed[ 'versions' ][ $packageName ] ) ) {
126 126
                 continue;
127 127
             }
128 128
 
129 129
             $ranges = array();
130
-            if (isset($installed['versions'][$packageName]['pretty_version'])) {
131
-                $ranges[] = $installed['versions'][$packageName]['pretty_version'];
130
+            if ( isset( $installed[ 'versions' ][ $packageName ][ 'pretty_version' ] ) ) {
131
+                $ranges[ ] = $installed[ 'versions' ][ $packageName ][ 'pretty_version' ];
132 132
             }
133
-            if (array_key_exists('aliases', $installed['versions'][$packageName])) {
134
-                $ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']);
133
+            if ( array_key_exists( 'aliases', $installed[ 'versions' ][ $packageName ] ) ) {
134
+                $ranges = array_merge( $ranges, $installed[ 'versions' ][ $packageName ][ 'aliases' ] );
135 135
             }
136
-            if (array_key_exists('replaced', $installed['versions'][$packageName])) {
137
-                $ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']);
136
+            if ( array_key_exists( 'replaced', $installed[ 'versions' ][ $packageName ] ) ) {
137
+                $ranges = array_merge( $ranges, $installed[ 'versions' ][ $packageName ][ 'replaced' ] );
138 138
             }
139
-            if (array_key_exists('provided', $installed['versions'][$packageName])) {
140
-                $ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']);
139
+            if ( array_key_exists( 'provided', $installed[ 'versions' ][ $packageName ] ) ) {
140
+                $ranges = array_merge( $ranges, $installed[ 'versions' ][ $packageName ][ 'provided' ] );
141 141
             }
142 142
 
143
-            return implode(' || ', $ranges);
143
+            return implode( ' || ', $ranges );
144 144
         }
145 145
 
146
-        throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
146
+        throw new \OutOfBoundsException( 'Package "' . $packageName . '" is not installed' );
147 147
     }
148 148
 
149 149
     /**
150 150
      * @param  string      $packageName
151 151
      * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present
152 152
      */
153
-    public static function getVersion($packageName)
153
+    public static function getVersion( $packageName )
154 154
     {
155
-        foreach (self::getInstalled() as $installed) {
156
-            if (!isset($installed['versions'][$packageName])) {
155
+        foreach ( self::getInstalled() as $installed ) {
156
+            if ( ! isset( $installed[ 'versions' ][ $packageName ] ) ) {
157 157
                 continue;
158 158
             }
159 159
 
160
-            if (!isset($installed['versions'][$packageName]['version'])) {
160
+            if ( ! isset( $installed[ 'versions' ][ $packageName ][ 'version' ] ) ) {
161 161
                 return null;
162 162
             }
163 163
 
164
-            return $installed['versions'][$packageName]['version'];
164
+            return $installed[ 'versions' ][ $packageName ][ 'version' ];
165 165
         }
166 166
 
167
-        throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
167
+        throw new \OutOfBoundsException( 'Package "' . $packageName . '" is not installed' );
168 168
     }
169 169
 
170 170
     /**
171 171
      * @param  string      $packageName
172 172
      * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present
173 173
      */
174
-    public static function getPrettyVersion($packageName)
174
+    public static function getPrettyVersion( $packageName )
175 175
     {
176
-        foreach (self::getInstalled() as $installed) {
177
-            if (!isset($installed['versions'][$packageName])) {
176
+        foreach ( self::getInstalled() as $installed ) {
177
+            if ( ! isset( $installed[ 'versions' ][ $packageName ] ) ) {
178 178
                 continue;
179 179
             }
180 180
 
181
-            if (!isset($installed['versions'][$packageName]['pretty_version'])) {
181
+            if ( ! isset( $installed[ 'versions' ][ $packageName ][ 'pretty_version' ] ) ) {
182 182
                 return null;
183 183
             }
184 184
 
185
-            return $installed['versions'][$packageName]['pretty_version'];
185
+            return $installed[ 'versions' ][ $packageName ][ 'pretty_version' ];
186 186
         }
187 187
 
188
-        throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
188
+        throw new \OutOfBoundsException( 'Package "' . $packageName . '" is not installed' );
189 189
     }
190 190
 
191 191
     /**
192 192
      * @param  string      $packageName
193 193
      * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as reference
194 194
      */
195
-    public static function getReference($packageName)
195
+    public static function getReference( $packageName )
196 196
     {
197
-        foreach (self::getInstalled() as $installed) {
198
-            if (!isset($installed['versions'][$packageName])) {
197
+        foreach ( self::getInstalled() as $installed ) {
198
+            if ( ! isset( $installed[ 'versions' ][ $packageName ] ) ) {
199 199
                 continue;
200 200
             }
201 201
 
202
-            if (!isset($installed['versions'][$packageName]['reference'])) {
202
+            if ( ! isset( $installed[ 'versions' ][ $packageName ][ 'reference' ] ) ) {
203 203
                 return null;
204 204
             }
205 205
 
206
-            return $installed['versions'][$packageName]['reference'];
206
+            return $installed[ 'versions' ][ $packageName ][ 'reference' ];
207 207
         }
208 208
 
209
-        throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
209
+        throw new \OutOfBoundsException( 'Package "' . $packageName . '" is not installed' );
210 210
     }
211 211
 
212 212
     /**
213 213
      * @param  string      $packageName
214 214
      * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as install path. Packages of type metapackages also have a null install path.
215 215
      */
216
-    public static function getInstallPath($packageName)
216
+    public static function getInstallPath( $packageName )
217 217
     {
218
-        foreach (self::getInstalled() as $installed) {
219
-            if (!isset($installed['versions'][$packageName])) {
218
+        foreach ( self::getInstalled() as $installed ) {
219
+            if ( ! isset( $installed[ 'versions' ][ $packageName ] ) ) {
220 220
                 continue;
221 221
             }
222 222
 
223
-            return isset($installed['versions'][$packageName]['install_path']) ? $installed['versions'][$packageName]['install_path'] : null;
223
+            return isset( $installed[ 'versions' ][ $packageName ][ 'install_path' ] ) ? $installed[ 'versions' ][ $packageName ][ 'install_path' ] : null;
224 224
         }
225 225
 
226
-        throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
226
+        throw new \OutOfBoundsException( 'Package "' . $packageName . '" is not installed' );
227 227
     }
228 228
 
229 229
     /**
@@ -234,7 +234,7 @@  discard block
 block discarded – undo
234 234
     {
235 235
         $installed = self::getInstalled();
236 236
 
237
-        return $installed[0]['root'];
237
+        return $installed[ 0 ][ 'root' ];
238 238
     }
239 239
 
240 240
     /**
@@ -246,12 +246,12 @@  discard block
 block discarded – undo
246 246
      */
247 247
     public static function getRawData()
248 248
     {
249
-        @trigger_error('getRawData only returns the first dataset loaded, which may not be what you expect. Use getAllRawData() instead which returns all datasets for all autoloaders present in the process.', E_USER_DEPRECATED);
249
+        @trigger_error( 'getRawData only returns the first dataset loaded, which may not be what you expect. Use getAllRawData() instead which returns all datasets for all autoloaders present in the process.', E_USER_DEPRECATED );
250 250
 
251
-        if (null === self::$installed) {
251
+        if ( null === self::$installed ) {
252 252
             // only require the installed.php file if this file is loaded from its dumped location,
253 253
             // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
254
-            if (substr(__DIR__, -8, 1) !== 'C') {
254
+            if ( substr( __DIR__, -8, 1 ) !== 'C' ) {
255 255
                 self::$installed = include __DIR__ . '/installed.php';
256 256
             } else {
257 257
                 self::$installed = array();
@@ -290,7 +290,7 @@  discard block
 block discarded – undo
290 290
      *
291 291
      * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
292 292
      */
293
-    public static function reload($data)
293
+    public static function reload( $data )
294 294
     {
295 295
         self::$installed = $data;
296 296
         self::$installedByVendor = array();
@@ -302,35 +302,35 @@  discard block
 block discarded – undo
302 302
      */
303 303
     private static function getInstalled()
304 304
     {
305
-        if (null === self::$canGetVendors) {
306
-            self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders');
305
+        if ( null === self::$canGetVendors ) {
306
+            self::$canGetVendors = method_exists( 'Composer\Autoload\ClassLoader', 'getRegisteredLoaders' );
307 307
         }
308 308
 
309 309
         $installed = array();
310 310
 
311
-        if (self::$canGetVendors) {
312
-            foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
313
-                if (isset(self::$installedByVendor[$vendorDir])) {
314
-                    $installed[] = self::$installedByVendor[$vendorDir];
315
-                } elseif (is_file($vendorDir.'/composer/installed.php')) {
316
-                    $installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php';
317
-                    if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
318
-                        self::$installed = $installed[count($installed) - 1];
311
+        if ( self::$canGetVendors ) {
312
+            foreach ( ClassLoader::getRegisteredLoaders() as $vendorDir => $loader ) {
313
+                if ( isset( self::$installedByVendor[ $vendorDir ] ) ) {
314
+                    $installed[ ] = self::$installedByVendor[ $vendorDir ];
315
+                } elseif ( is_file( $vendorDir . '/composer/installed.php' ) ) {
316
+                    $installed[ ] = self::$installedByVendor[ $vendorDir ] = require $vendorDir . '/composer/installed.php';
317
+                    if ( null === self::$installed && strtr( $vendorDir . '/composer', '\\', '/' ) === strtr( __DIR__, '\\', '/' ) ) {
318
+                        self::$installed = $installed[ count( $installed ) - 1 ];
319 319
                     }
320 320
                 }
321 321
             }
322 322
         }
323 323
 
324
-        if (null === self::$installed) {
324
+        if ( null === self::$installed ) {
325 325
             // only require the installed.php file if this file is loaded from its dumped location,
326 326
             // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
327
-            if (substr(__DIR__, -8, 1) !== 'C') {
327
+            if ( substr( __DIR__, -8, 1 ) !== 'C' ) {
328 328
                 self::$installed = require __DIR__ . '/installed.php';
329 329
             } else {
330 330
                 self::$installed = array();
331 331
             }
332 332
         }
333
-        $installed[] = self::$installed;
333
+        $installed[ ] = self::$installed;
334 334
 
335 335
         return $installed;
336 336
     }
Please login to merge, or discard this patch.
Indentation   +323 added lines, -323 removed lines patch added patch discarded remove patch
@@ -24,327 +24,327 @@
 block discarded – undo
24 24
  */
25 25
 class InstalledVersions
26 26
 {
27
-    /**
28
-     * @var mixed[]|null
29
-     * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
30
-     */
31
-    private static $installed;
32
-
33
-    /**
34
-     * @var bool|null
35
-     */
36
-    private static $canGetVendors;
37
-
38
-    /**
39
-     * @var array[]
40
-     * @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
41
-     */
42
-    private static $installedByVendor = array();
43
-
44
-    /**
45
-     * Returns a list of all package names which are present, either by being installed, replaced or provided
46
-     *
47
-     * @return string[]
48
-     * @psalm-return list<string>
49
-     */
50
-    public static function getInstalledPackages()
51
-    {
52
-        $packages = array();
53
-        foreach (self::getInstalled() as $installed) {
54
-            $packages[] = array_keys($installed['versions']);
55
-        }
56
-
57
-        if (1 === \count($packages)) {
58
-            return $packages[0];
59
-        }
60
-
61
-        return array_keys(array_flip(\call_user_func_array('array_merge', $packages)));
62
-    }
63
-
64
-    /**
65
-     * Returns a list of all package names with a specific type e.g. 'library'
66
-     *
67
-     * @param  string   $type
68
-     * @return string[]
69
-     * @psalm-return list<string>
70
-     */
71
-    public static function getInstalledPackagesByType($type)
72
-    {
73
-        $packagesByType = array();
74
-
75
-        foreach (self::getInstalled() as $installed) {
76
-            foreach ($installed['versions'] as $name => $package) {
77
-                if (isset($package['type']) && $package['type'] === $type) {
78
-                    $packagesByType[] = $name;
79
-                }
80
-            }
81
-        }
82
-
83
-        return $packagesByType;
84
-    }
85
-
86
-    /**
87
-     * Checks whether the given package is installed
88
-     *
89
-     * This also returns true if the package name is provided or replaced by another package
90
-     *
91
-     * @param  string $packageName
92
-     * @param  bool   $includeDevRequirements
93
-     * @return bool
94
-     */
95
-    public static function isInstalled($packageName, $includeDevRequirements = true)
96
-    {
97
-        foreach (self::getInstalled() as $installed) {
98
-            if (isset($installed['versions'][$packageName])) {
99
-                return $includeDevRequirements || empty($installed['versions'][$packageName]['dev_requirement']);
100
-            }
101
-        }
102
-
103
-        return false;
104
-    }
105
-
106
-    /**
107
-     * Checks whether the given package satisfies a version constraint
108
-     *
109
-     * e.g. If you want to know whether version 2.3+ of package foo/bar is installed, you would call:
110
-     *
111
-     *   Composer\InstalledVersions::satisfies(new VersionParser, 'foo/bar', '^2.3')
112
-     *
113
-     * @param  VersionParser $parser      Install composer/semver to have access to this class and functionality
114
-     * @param  string        $packageName
115
-     * @param  string|null   $constraint  A version constraint to check for, if you pass one you have to make sure composer/semver is required by your package
116
-     * @return bool
117
-     */
118
-    public static function satisfies(VersionParser $parser, $packageName, $constraint)
119
-    {
120
-        $constraint = $parser->parseConstraints($constraint);
121
-        $provided = $parser->parseConstraints(self::getVersionRanges($packageName));
122
-
123
-        return $provided->matches($constraint);
124
-    }
125
-
126
-    /**
127
-     * Returns a version constraint representing all the range(s) which are installed for a given package
128
-     *
129
-     * It is easier to use this via isInstalled() with the $constraint argument if you need to check
130
-     * whether a given version of a package is installed, and not just whether it exists
131
-     *
132
-     * @param  string $packageName
133
-     * @return string Version constraint usable with composer/semver
134
-     */
135
-    public static function getVersionRanges($packageName)
136
-    {
137
-        foreach (self::getInstalled() as $installed) {
138
-            if (!isset($installed['versions'][$packageName])) {
139
-                continue;
140
-            }
141
-
142
-            $ranges = array();
143
-            if (isset($installed['versions'][$packageName]['pretty_version'])) {
144
-                $ranges[] = $installed['versions'][$packageName]['pretty_version'];
145
-            }
146
-            if (array_key_exists('aliases', $installed['versions'][$packageName])) {
147
-                $ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']);
148
-            }
149
-            if (array_key_exists('replaced', $installed['versions'][$packageName])) {
150
-                $ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']);
151
-            }
152
-            if (array_key_exists('provided', $installed['versions'][$packageName])) {
153
-                $ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']);
154
-            }
155
-
156
-            return implode(' || ', $ranges);
157
-        }
158
-
159
-        throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
160
-    }
161
-
162
-    /**
163
-     * @param  string      $packageName
164
-     * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present
165
-     */
166
-    public static function getVersion($packageName)
167
-    {
168
-        foreach (self::getInstalled() as $installed) {
169
-            if (!isset($installed['versions'][$packageName])) {
170
-                continue;
171
-            }
172
-
173
-            if (!isset($installed['versions'][$packageName]['version'])) {
174
-                return null;
175
-            }
176
-
177
-            return $installed['versions'][$packageName]['version'];
178
-        }
179
-
180
-        throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
181
-    }
182
-
183
-    /**
184
-     * @param  string      $packageName
185
-     * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present
186
-     */
187
-    public static function getPrettyVersion($packageName)
188
-    {
189
-        foreach (self::getInstalled() as $installed) {
190
-            if (!isset($installed['versions'][$packageName])) {
191
-                continue;
192
-            }
193
-
194
-            if (!isset($installed['versions'][$packageName]['pretty_version'])) {
195
-                return null;
196
-            }
197
-
198
-            return $installed['versions'][$packageName]['pretty_version'];
199
-        }
200
-
201
-        throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
202
-    }
203
-
204
-    /**
205
-     * @param  string      $packageName
206
-     * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as reference
207
-     */
208
-    public static function getReference($packageName)
209
-    {
210
-        foreach (self::getInstalled() as $installed) {
211
-            if (!isset($installed['versions'][$packageName])) {
212
-                continue;
213
-            }
214
-
215
-            if (!isset($installed['versions'][$packageName]['reference'])) {
216
-                return null;
217
-            }
218
-
219
-            return $installed['versions'][$packageName]['reference'];
220
-        }
221
-
222
-        throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
223
-    }
224
-
225
-    /**
226
-     * @param  string      $packageName
227
-     * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as install path. Packages of type metapackages also have a null install path.
228
-     */
229
-    public static function getInstallPath($packageName)
230
-    {
231
-        foreach (self::getInstalled() as $installed) {
232
-            if (!isset($installed['versions'][$packageName])) {
233
-                continue;
234
-            }
235
-
236
-            return isset($installed['versions'][$packageName]['install_path']) ? $installed['versions'][$packageName]['install_path'] : null;
237
-        }
238
-
239
-        throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
240
-    }
241
-
242
-    /**
243
-     * @return array
244
-     * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
245
-     */
246
-    public static function getRootPackage()
247
-    {
248
-        $installed = self::getInstalled();
249
-
250
-        return $installed[0]['root'];
251
-    }
252
-
253
-    /**
254
-     * Returns the raw installed.php data for custom implementations
255
-     *
256
-     * @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
257
-     * @return array[]
258
-     * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
259
-     */
260
-    public static function getRawData()
261
-    {
262
-        @trigger_error('getRawData only returns the first dataset loaded, which may not be what you expect. Use getAllRawData() instead which returns all datasets for all autoloaders present in the process.', E_USER_DEPRECATED);
263
-
264
-        if (null === self::$installed) {
265
-            // only require the installed.php file if this file is loaded from its dumped location,
266
-            // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
267
-            if (substr(__DIR__, -8, 1) !== 'C') {
268
-                self::$installed = include __DIR__ . '/installed.php';
269
-            } else {
270
-                self::$installed = array();
271
-            }
272
-        }
273
-
274
-        return self::$installed;
275
-    }
276
-
277
-    /**
278
-     * Returns the raw data of all installed.php which are currently loaded for custom implementations
279
-     *
280
-     * @return array[]
281
-     * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
282
-     */
283
-    public static function getAllRawData()
284
-    {
285
-        return self::getInstalled();
286
-    }
287
-
288
-    /**
289
-     * Lets you reload the static array from another file
290
-     *
291
-     * This is only useful for complex integrations in which a project needs to use
292
-     * this class but then also needs to execute another project's autoloader in process,
293
-     * and wants to ensure both projects have access to their version of installed.php.
294
-     *
295
-     * A typical case would be PHPUnit, where it would need to make sure it reads all
296
-     * the data it needs from this class, then call reload() with
297
-     * `require $CWD/vendor/composer/installed.php` (or similar) as input to make sure
298
-     * the project in which it runs can then also use this class safely, without
299
-     * interference between PHPUnit's dependencies and the project's dependencies.
300
-     *
301
-     * @param  array[] $data A vendor/composer/installed.php data set
302
-     * @return void
303
-     *
304
-     * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
305
-     */
306
-    public static function reload($data)
307
-    {
308
-        self::$installed = $data;
309
-        self::$installedByVendor = array();
310
-    }
311
-
312
-    /**
313
-     * @return array[]
314
-     * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
315
-     */
316
-    private static function getInstalled()
317
-    {
318
-        if (null === self::$canGetVendors) {
319
-            self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders');
320
-        }
321
-
322
-        $installed = array();
323
-
324
-        if (self::$canGetVendors) {
325
-            foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
326
-                if (isset(self::$installedByVendor[$vendorDir])) {
327
-                    $installed[] = self::$installedByVendor[$vendorDir];
328
-                } elseif (is_file($vendorDir.'/composer/installed.php')) {
329
-                    $installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php';
330
-                    if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
331
-                        self::$installed = $installed[count($installed) - 1];
332
-                    }
333
-                }
334
-            }
335
-        }
336
-
337
-        if (null === self::$installed) {
338
-            // only require the installed.php file if this file is loaded from its dumped location,
339
-            // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
340
-            if (substr(__DIR__, -8, 1) !== 'C') {
341
-                self::$installed = require __DIR__ . '/installed.php';
342
-            } else {
343
-                self::$installed = array();
344
-            }
345
-        }
346
-        $installed[] = self::$installed;
347
-
348
-        return $installed;
349
-    }
27
+	/**
28
+	 * @var mixed[]|null
29
+	 * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
30
+	 */
31
+	private static $installed;
32
+
33
+	/**
34
+	 * @var bool|null
35
+	 */
36
+	private static $canGetVendors;
37
+
38
+	/**
39
+	 * @var array[]
40
+	 * @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
41
+	 */
42
+	private static $installedByVendor = array();
43
+
44
+	/**
45
+	 * Returns a list of all package names which are present, either by being installed, replaced or provided
46
+	 *
47
+	 * @return string[]
48
+	 * @psalm-return list<string>
49
+	 */
50
+	public static function getInstalledPackages()
51
+	{
52
+		$packages = array();
53
+		foreach (self::getInstalled() as $installed) {
54
+			$packages[] = array_keys($installed['versions']);
55
+		}
56
+
57
+		if (1 === \count($packages)) {
58
+			return $packages[0];
59
+		}
60
+
61
+		return array_keys(array_flip(\call_user_func_array('array_merge', $packages)));
62
+	}
63
+
64
+	/**
65
+	 * Returns a list of all package names with a specific type e.g. 'library'
66
+	 *
67
+	 * @param  string   $type
68
+	 * @return string[]
69
+	 * @psalm-return list<string>
70
+	 */
71
+	public static function getInstalledPackagesByType($type)
72
+	{
73
+		$packagesByType = array();
74
+
75
+		foreach (self::getInstalled() as $installed) {
76
+			foreach ($installed['versions'] as $name => $package) {
77
+				if (isset($package['type']) && $package['type'] === $type) {
78
+					$packagesByType[] = $name;
79
+				}
80
+			}
81
+		}
82
+
83
+		return $packagesByType;
84
+	}
85
+
86
+	/**
87
+	 * Checks whether the given package is installed
88
+	 *
89
+	 * This also returns true if the package name is provided or replaced by another package
90
+	 *
91
+	 * @param  string $packageName
92
+	 * @param  bool   $includeDevRequirements
93
+	 * @return bool
94
+	 */
95
+	public static function isInstalled($packageName, $includeDevRequirements = true)
96
+	{
97
+		foreach (self::getInstalled() as $installed) {
98
+			if (isset($installed['versions'][$packageName])) {
99
+				return $includeDevRequirements || empty($installed['versions'][$packageName]['dev_requirement']);
100
+			}
101
+		}
102
+
103
+		return false;
104
+	}
105
+
106
+	/**
107
+	 * Checks whether the given package satisfies a version constraint
108
+	 *
109
+	 * e.g. If you want to know whether version 2.3+ of package foo/bar is installed, you would call:
110
+	 *
111
+	 *   Composer\InstalledVersions::satisfies(new VersionParser, 'foo/bar', '^2.3')
112
+	 *
113
+	 * @param  VersionParser $parser      Install composer/semver to have access to this class and functionality
114
+	 * @param  string        $packageName
115
+	 * @param  string|null   $constraint  A version constraint to check for, if you pass one you have to make sure composer/semver is required by your package
116
+	 * @return bool
117
+	 */
118
+	public static function satisfies(VersionParser $parser, $packageName, $constraint)
119
+	{
120
+		$constraint = $parser->parseConstraints($constraint);
121
+		$provided = $parser->parseConstraints(self::getVersionRanges($packageName));
122
+
123
+		return $provided->matches($constraint);
124
+	}
125
+
126
+	/**
127
+	 * Returns a version constraint representing all the range(s) which are installed for a given package
128
+	 *
129
+	 * It is easier to use this via isInstalled() with the $constraint argument if you need to check
130
+	 * whether a given version of a package is installed, and not just whether it exists
131
+	 *
132
+	 * @param  string $packageName
133
+	 * @return string Version constraint usable with composer/semver
134
+	 */
135
+	public static function getVersionRanges($packageName)
136
+	{
137
+		foreach (self::getInstalled() as $installed) {
138
+			if (!isset($installed['versions'][$packageName])) {
139
+				continue;
140
+			}
141
+
142
+			$ranges = array();
143
+			if (isset($installed['versions'][$packageName]['pretty_version'])) {
144
+				$ranges[] = $installed['versions'][$packageName]['pretty_version'];
145
+			}
146
+			if (array_key_exists('aliases', $installed['versions'][$packageName])) {
147
+				$ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']);
148
+			}
149
+			if (array_key_exists('replaced', $installed['versions'][$packageName])) {
150
+				$ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']);
151
+			}
152
+			if (array_key_exists('provided', $installed['versions'][$packageName])) {
153
+				$ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']);
154
+			}
155
+
156
+			return implode(' || ', $ranges);
157
+		}
158
+
159
+		throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
160
+	}
161
+
162
+	/**
163
+	 * @param  string      $packageName
164
+	 * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present
165
+	 */
166
+	public static function getVersion($packageName)
167
+	{
168
+		foreach (self::getInstalled() as $installed) {
169
+			if (!isset($installed['versions'][$packageName])) {
170
+				continue;
171
+			}
172
+
173
+			if (!isset($installed['versions'][$packageName]['version'])) {
174
+				return null;
175
+			}
176
+
177
+			return $installed['versions'][$packageName]['version'];
178
+		}
179
+
180
+		throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
181
+	}
182
+
183
+	/**
184
+	 * @param  string      $packageName
185
+	 * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present
186
+	 */
187
+	public static function getPrettyVersion($packageName)
188
+	{
189
+		foreach (self::getInstalled() as $installed) {
190
+			if (!isset($installed['versions'][$packageName])) {
191
+				continue;
192
+			}
193
+
194
+			if (!isset($installed['versions'][$packageName]['pretty_version'])) {
195
+				return null;
196
+			}
197
+
198
+			return $installed['versions'][$packageName]['pretty_version'];
199
+		}
200
+
201
+		throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
202
+	}
203
+
204
+	/**
205
+	 * @param  string      $packageName
206
+	 * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as reference
207
+	 */
208
+	public static function getReference($packageName)
209
+	{
210
+		foreach (self::getInstalled() as $installed) {
211
+			if (!isset($installed['versions'][$packageName])) {
212
+				continue;
213
+			}
214
+
215
+			if (!isset($installed['versions'][$packageName]['reference'])) {
216
+				return null;
217
+			}
218
+
219
+			return $installed['versions'][$packageName]['reference'];
220
+		}
221
+
222
+		throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
223
+	}
224
+
225
+	/**
226
+	 * @param  string      $packageName
227
+	 * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as install path. Packages of type metapackages also have a null install path.
228
+	 */
229
+	public static function getInstallPath($packageName)
230
+	{
231
+		foreach (self::getInstalled() as $installed) {
232
+			if (!isset($installed['versions'][$packageName])) {
233
+				continue;
234
+			}
235
+
236
+			return isset($installed['versions'][$packageName]['install_path']) ? $installed['versions'][$packageName]['install_path'] : null;
237
+		}
238
+
239
+		throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
240
+	}
241
+
242
+	/**
243
+	 * @return array
244
+	 * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
245
+	 */
246
+	public static function getRootPackage()
247
+	{
248
+		$installed = self::getInstalled();
249
+
250
+		return $installed[0]['root'];
251
+	}
252
+
253
+	/**
254
+	 * Returns the raw installed.php data for custom implementations
255
+	 *
256
+	 * @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
257
+	 * @return array[]
258
+	 * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
259
+	 */
260
+	public static function getRawData()
261
+	{
262
+		@trigger_error('getRawData only returns the first dataset loaded, which may not be what you expect. Use getAllRawData() instead which returns all datasets for all autoloaders present in the process.', E_USER_DEPRECATED);
263
+
264
+		if (null === self::$installed) {
265
+			// only require the installed.php file if this file is loaded from its dumped location,
266
+			// and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
267
+			if (substr(__DIR__, -8, 1) !== 'C') {
268
+				self::$installed = include __DIR__ . '/installed.php';
269
+			} else {
270
+				self::$installed = array();
271
+			}
272
+		}
273
+
274
+		return self::$installed;
275
+	}
276
+
277
+	/**
278
+	 * Returns the raw data of all installed.php which are currently loaded for custom implementations
279
+	 *
280
+	 * @return array[]
281
+	 * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
282
+	 */
283
+	public static function getAllRawData()
284
+	{
285
+		return self::getInstalled();
286
+	}
287
+
288
+	/**
289
+	 * Lets you reload the static array from another file
290
+	 *
291
+	 * This is only useful for complex integrations in which a project needs to use
292
+	 * this class but then also needs to execute another project's autoloader in process,
293
+	 * and wants to ensure both projects have access to their version of installed.php.
294
+	 *
295
+	 * A typical case would be PHPUnit, where it would need to make sure it reads all
296
+	 * the data it needs from this class, then call reload() with
297
+	 * `require $CWD/vendor/composer/installed.php` (or similar) as input to make sure
298
+	 * the project in which it runs can then also use this class safely, without
299
+	 * interference between PHPUnit's dependencies and the project's dependencies.
300
+	 *
301
+	 * @param  array[] $data A vendor/composer/installed.php data set
302
+	 * @return void
303
+	 *
304
+	 * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
305
+	 */
306
+	public static function reload($data)
307
+	{
308
+		self::$installed = $data;
309
+		self::$installedByVendor = array();
310
+	}
311
+
312
+	/**
313
+	 * @return array[]
314
+	 * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
315
+	 */
316
+	private static function getInstalled()
317
+	{
318
+		if (null === self::$canGetVendors) {
319
+			self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders');
320
+		}
321
+
322
+		$installed = array();
323
+
324
+		if (self::$canGetVendors) {
325
+			foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
326
+				if (isset(self::$installedByVendor[$vendorDir])) {
327
+					$installed[] = self::$installedByVendor[$vendorDir];
328
+				} elseif (is_file($vendorDir.'/composer/installed.php')) {
329
+					$installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php';
330
+					if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
331
+						self::$installed = $installed[count($installed) - 1];
332
+					}
333
+				}
334
+			}
335
+		}
336
+
337
+		if (null === self::$installed) {
338
+			// only require the installed.php file if this file is loaded from its dumped location,
339
+			// and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
340
+			if (substr(__DIR__, -8, 1) !== 'C') {
341
+				self::$installed = require __DIR__ . '/installed.php';
342
+			} else {
343
+				self::$installed = array();
344
+			}
345
+		}
346
+		$installed[] = self::$installed;
347
+
348
+		return $installed;
349
+	}
350 350
 }
Please login to merge, or discard this patch.
Braces   +15 added lines, -30 removed lines patch added patch discarded remove patch
@@ -22,8 +22,7 @@  discard block
 block discarded – undo
22 22
  *
23 23
  * To require its presence, you can require `composer-runtime-api ^2.0`
24 24
  */
25
-class InstalledVersions
26
-{
25
+class InstalledVersions {
27 26
     /**
28 27
      * @var mixed[]|null
29 28
      * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
@@ -47,8 +46,7 @@  discard block
 block discarded – undo
47 46
      * @return string[]
48 47
      * @psalm-return list<string>
49 48
      */
50
-    public static function getInstalledPackages()
51
-    {
49
+    public static function getInstalledPackages() {
52 50
         $packages = array();
53 51
         foreach (self::getInstalled() as $installed) {
54 52
             $packages[] = array_keys($installed['versions']);
@@ -68,8 +66,7 @@  discard block
 block discarded – undo
68 66
      * @return string[]
69 67
      * @psalm-return list<string>
70 68
      */
71
-    public static function getInstalledPackagesByType($type)
72
-    {
69
+    public static function getInstalledPackagesByType($type) {
73 70
         $packagesByType = array();
74 71
 
75 72
         foreach (self::getInstalled() as $installed) {
@@ -92,8 +89,7 @@  discard block
 block discarded – undo
92 89
      * @param  bool   $includeDevRequirements
93 90
      * @return bool
94 91
      */
95
-    public static function isInstalled($packageName, $includeDevRequirements = true)
96
-    {
92
+    public static function isInstalled($packageName, $includeDevRequirements = true) {
97 93
         foreach (self::getInstalled() as $installed) {
98 94
             if (isset($installed['versions'][$packageName])) {
99 95
                 return $includeDevRequirements || empty($installed['versions'][$packageName]['dev_requirement']);
@@ -115,8 +111,7 @@  discard block
 block discarded – undo
115 111
      * @param  string|null   $constraint  A version constraint to check for, if you pass one you have to make sure composer/semver is required by your package
116 112
      * @return bool
117 113
      */
118
-    public static function satisfies(VersionParser $parser, $packageName, $constraint)
119
-    {
114
+    public static function satisfies(VersionParser $parser, $packageName, $constraint) {
120 115
         $constraint = $parser->parseConstraints($constraint);
121 116
         $provided = $parser->parseConstraints(self::getVersionRanges($packageName));
122 117
 
@@ -132,8 +127,7 @@  discard block
 block discarded – undo
132 127
      * @param  string $packageName
133 128
      * @return string Version constraint usable with composer/semver
134 129
      */
135
-    public static function getVersionRanges($packageName)
136
-    {
130
+    public static function getVersionRanges($packageName) {
137 131
         foreach (self::getInstalled() as $installed) {
138 132
             if (!isset($installed['versions'][$packageName])) {
139 133
                 continue;
@@ -163,8 +157,7 @@  discard block
 block discarded – undo
163 157
      * @param  string      $packageName
164 158
      * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present
165 159
      */
166
-    public static function getVersion($packageName)
167
-    {
160
+    public static function getVersion($packageName) {
168 161
         foreach (self::getInstalled() as $installed) {
169 162
             if (!isset($installed['versions'][$packageName])) {
170 163
                 continue;
@@ -184,8 +177,7 @@  discard block
 block discarded – undo
184 177
      * @param  string      $packageName
185 178
      * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present
186 179
      */
187
-    public static function getPrettyVersion($packageName)
188
-    {
180
+    public static function getPrettyVersion($packageName) {
189 181
         foreach (self::getInstalled() as $installed) {
190 182
             if (!isset($installed['versions'][$packageName])) {
191 183
                 continue;
@@ -205,8 +197,7 @@  discard block
 block discarded – undo
205 197
      * @param  string      $packageName
206 198
      * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as reference
207 199
      */
208
-    public static function getReference($packageName)
209
-    {
200
+    public static function getReference($packageName) {
210 201
         foreach (self::getInstalled() as $installed) {
211 202
             if (!isset($installed['versions'][$packageName])) {
212 203
                 continue;
@@ -226,8 +217,7 @@  discard block
 block discarded – undo
226 217
      * @param  string      $packageName
227 218
      * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as install path. Packages of type metapackages also have a null install path.
228 219
      */
229
-    public static function getInstallPath($packageName)
230
-    {
220
+    public static function getInstallPath($packageName) {
231 221
         foreach (self::getInstalled() as $installed) {
232 222
             if (!isset($installed['versions'][$packageName])) {
233 223
                 continue;
@@ -243,8 +233,7 @@  discard block
 block discarded – undo
243 233
      * @return array
244 234
      * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
245 235
      */
246
-    public static function getRootPackage()
247
-    {
236
+    public static function getRootPackage() {
248 237
         $installed = self::getInstalled();
249 238
 
250 239
         return $installed[0]['root'];
@@ -257,8 +246,7 @@  discard block
 block discarded – undo
257 246
      * @return array[]
258 247
      * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
259 248
      */
260
-    public static function getRawData()
261
-    {
249
+    public static function getRawData() {
262 250
         @trigger_error('getRawData only returns the first dataset loaded, which may not be what you expect. Use getAllRawData() instead which returns all datasets for all autoloaders present in the process.', E_USER_DEPRECATED);
263 251
 
264 252
         if (null === self::$installed) {
@@ -280,8 +268,7 @@  discard block
 block discarded – undo
280 268
      * @return array[]
281 269
      * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
282 270
      */
283
-    public static function getAllRawData()
284
-    {
271
+    public static function getAllRawData() {
285 272
         return self::getInstalled();
286 273
     }
287 274
 
@@ -303,8 +290,7 @@  discard block
 block discarded – undo
303 290
      *
304 291
      * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
305 292
      */
306
-    public static function reload($data)
307
-    {
293
+    public static function reload($data) {
308 294
         self::$installed = $data;
309 295
         self::$installedByVendor = array();
310 296
     }
@@ -313,8 +299,7 @@  discard block
 block discarded – undo
313 299
      * @return array[]
314 300
      * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
315 301
      */
316
-    private static function getInstalled()
317
-    {
302
+    private static function getInstalled() {
318 303
         if (null === self::$canGetVendors) {
319 304
             self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders');
320 305
         }
Please login to merge, or discard this patch.
includes/fields/class-gravityview-field-total.php 2 patches
Spacing   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -52,13 +52,13 @@  discard block
 block discarded – undo
52 52
 	 *
53 53
 	 * @return array Blocklist, with "total" added. If not edit context, original field blocklist. Otherwise, blocklist including total.
54 54
 	 */
55
-	public function add_to_blocklist( $blocklist = array(), $context = NULL  ){
55
+	public function add_to_blocklist( $blocklist = array(), $context = NULL ) {
56 56
 
57
-		if( empty( $context ) || $context !== 'edit' ) {
57
+		if ( empty( $context ) || $context !== 'edit' ) {
58 58
 			return $blocklist;
59 59
 		}
60 60
 
61
-		$blocklist[] = 'total';
61
+		$blocklist[ ] = 'total';
62 62
 
63 63
 		return $blocklist;
64 64
 	}
@@ -76,7 +76,7 @@  discard block
 block discarded – undo
76 76
 	 */
77 77
 	function edit_entry_recalculate_totals( $form = array(), $entry_id = 0, $Edit_Entry_Render = null ) {
78 78
 
79
-		$original_form = GFAPI::get_form( $form['id'] );
79
+		$original_form = GFAPI::get_form( $form[ 'id' ] );
80 80
 
81 81
 		$total_fields = GFCommon::get_fields_by_type( $original_form, 'total' );
82 82
 
@@ -87,12 +87,12 @@  discard block
 block discarded – undo
87 87
 
88 88
 			/** @type GF_Field_Total $total_field */
89 89
 			foreach ( $total_fields as $total_field ) {
90
-				$entry["{$total_field->id}"] = GFCommon::get_order_total( $original_form, $entry );
90
+				$entry[ "{$total_field->id}" ] = GFCommon::get_order_total( $original_form, $entry );
91 91
 			}
92 92
 
93 93
 			$return_entry = GFAPI::update_entry( $entry );
94 94
 
95
-			if( is_wp_error( $return_entry ) ) {
95
+			if ( is_wp_error( $return_entry ) ) {
96 96
 				gravityview()->log->error( 'Updating the entry total fields failed', array( 'data' => $return_entry ) );
97 97
 			} else {
98 98
 				gravityview()->log->debug( 'Updating the entry total fields succeeded' );
Please login to merge, or discard this patch.
Braces   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -52,7 +52,7 @@
 block discarded – undo
52 52
 	 *
53 53
 	 * @return array Blocklist, with "total" added. If not edit context, original field blocklist. Otherwise, blocklist including total.
54 54
 	 */
55
-	public function add_to_blocklist( $blocklist = array(), $context = NULL  ){
55
+	public function add_to_blocklist( $blocklist = array(), $context = NULL  ) {
56 56
 
57 57
 		if( empty( $context ) || $context !== 'edit' ) {
58 58
 			return $blocklist;
Please login to merge, or discard this patch.
includes/fields/class-gravityview-field-calculation.php 1 patch
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -49,8 +49,8 @@
 block discarded – undo
49 49
 	public function blocklist_field_types( $field_types = array(), $context = '' ) {
50 50
 
51 51
 		// Allow Calculation field in Edit Entry
52
-		if( 'edit' !== $context ) {
53
-			$field_types[] = $this->name;
52
+		if ( 'edit' !== $context ) {
53
+			$field_types[ ] = $this->name;
54 54
 		}
55 55
 
56 56
 		return $field_types;
Please login to merge, or discard this patch.
includes/fields/class-gravityview-field.php 1 patch
Spacing   +22 added lines, -22 removed lines patch added patch discarded remove patch
@@ -143,17 +143,17 @@  discard block
 block discarded – undo
143 143
 
144 144
 		add_filter( 'gravityview/sortable/field_blocklist', array( $this, '_filter_sortable_fields' ), 1 );
145 145
 
146
-		if( $this->entry_meta_key ) {
146
+		if ( $this->entry_meta_key ) {
147 147
 			add_filter( 'gform_entry_meta', array( $this, 'add_entry_meta' ) );
148 148
 			add_filter( 'gravityview/common/sortable_fields', array( $this, 'add_sortable_field' ), 10, 2 );
149 149
 		}
150 150
 
151
-		if( $this->_custom_merge_tag ) {
151
+		if ( $this->_custom_merge_tag ) {
152 152
 			add_filter( 'gform_custom_merge_tags', array( $this, '_filter_gform_custom_merge_tags' ), 10, 4 );
153 153
 			add_filter( 'gform_replace_merge_tags', array( $this, '_filter_gform_replace_merge_tags' ), 10, 7 );
154 154
 		}
155 155
 
156
-		if( 'meta' === $this->group || '' !== $this->default_search_label ) {
156
+		if ( 'meta' === $this->group || '' !== $this->default_search_label ) {
157 157
 			add_filter( 'gravityview_search_field_label', array( $this, 'set_default_search_label' ), 10, 3 );
158 158
 		}
159 159
 
@@ -161,7 +161,7 @@  discard block
 block discarded – undo
161 161
 		 * Auto-assign label from Gravity Forms label, if exists
162 162
 		 * @since 1.20
163 163
 		 */
164
-		if( empty( $this->label ) && ! empty( $this->_gf_field_class_name ) && class_exists( $this->_gf_field_class_name ) ) {
164
+		if ( empty( $this->label ) && ! empty( $this->_gf_field_class_name ) && class_exists( $this->_gf_field_class_name ) ) {
165 165
 			$this->label = ucfirst( GF_Fields::get( $this->name )->get_form_editor_field_title() );
166 166
 		}
167 167
 
@@ -207,7 +207,7 @@  discard block
 block discarded – undo
207 207
 			'type'  => $this->name
208 208
 		);
209 209
 
210
-		$fields["{$this->entry_meta_key}"] = $added_field;
210
+		$fields[ "{$this->entry_meta_key}" ] = $added_field;
211 211
 
212 212
 		return $fields;
213 213
 	}
@@ -227,7 +227,7 @@  discard block
 block discarded – undo
227 227
 	 */
228 228
 	function set_default_search_label( $label = '', $gf_field = null, $field = array() ) {
229 229
 
230
-		if( $this->name === $field['field'] && '' === $label ) {
230
+		if ( $this->name === $field[ 'field' ] && '' === $label ) {
231 231
 			$label = esc_html( $this->default_search_label );
232 232
 		}
233 233
 
@@ -248,7 +248,7 @@  discard block
 block discarded – undo
248 248
 	 *
249 249
 	 * @return string Original text if {_custom_merge_tag} isn't found. Otherwise, replaced text.
250 250
 	 */
251
-	public function _filter_gform_replace_merge_tags( $text, $form = array(), $entry = array(), $url_encode = false, $esc_html = false  ) {
251
+	public function _filter_gform_replace_merge_tags( $text, $form = array(), $entry = array(), $url_encode = false, $esc_html = false ) {
252 252
 
253 253
 		// Is there is field merge tag? Strip whitespace off the ned, too.
254 254
 		preg_match_all( '/{' . preg_quote( $this->_custom_merge_tag ) . ':?(.*?)(?:\s)?}/ism', $text, $matches, PREG_SET_ORDER );
@@ -281,19 +281,19 @@  discard block
 block discarded – undo
281 281
 	 */
282 282
 	public function replace_merge_tag( $matches = array(), $text = '', $form = array(), $entry = array(), $url_encode = false, $esc_html = false ) {
283 283
 
284
-		foreach( $matches as $match ) {
284
+		foreach ( $matches as $match ) {
285 285
 
286
-			$full_tag = $match[0];
286
+			$full_tag = $match[ 0 ];
287 287
 
288 288
 			// Strip the Merge Tags
289
-			$tag = str_replace( array( '{', '}'), '', $full_tag );
289
+			$tag = str_replace( array( '{', '}' ), '', $full_tag );
290 290
 
291 291
 			// Replace the value from the entry, if exists
292
-			if( isset( $entry[ $tag ] ) ) {
292
+			if ( isset( $entry[ $tag ] ) ) {
293 293
 
294 294
 				$value = $entry[ $tag ];
295 295
 
296
-				if( is_callable( array( $this, 'get_content') ) ) {
296
+				if ( is_callable( array( $this, 'get_content' ) ) ) {
297 297
 					$value = $this->get_content( $value );
298 298
 				}
299 299
 
@@ -366,8 +366,8 @@  discard block
 block discarded – undo
366 366
 	 */
367 367
 	public function _filter_sortable_fields( $not_sortable ) {
368 368
 
369
-		if( ! $this->is_sortable ) {
370
-			$not_sortable[] = $this->name;
369
+		if ( ! $this->is_sortable ) {
370
+			$not_sortable[ ] = $this->name;
371 371
 		}
372 372
 
373 373
 		return $not_sortable;
@@ -384,7 +384,7 @@  discard block
 block discarded – undo
384 384
 	 */
385 385
 	function add_entry_meta( $entry_meta ) {
386 386
 
387
-		if( ! isset( $entry_meta["{$this->entry_meta_key}"] ) ) {
387
+		if ( ! isset( $entry_meta[ "{$this->entry_meta_key}" ] ) ) {
388 388
 
389 389
 			$added_meta = array(
390 390
 				'label'             => $this->label,
@@ -393,13 +393,13 @@  discard block
 block discarded – undo
393 393
 			);
394 394
 
395 395
 			if ( $this->entry_meta_update_callback && is_callable( $this->entry_meta_update_callback ) ) {
396
-				$added_meta['update_entry_meta_callback'] = $this->entry_meta_update_callback;
396
+				$added_meta[ 'update_entry_meta_callback' ] = $this->entry_meta_update_callback;
397 397
 			}
398 398
 
399
-			$entry_meta["{$this->entry_meta_key}"] = $added_meta;
399
+			$entry_meta[ "{$this->entry_meta_key}" ] = $added_meta;
400 400
 
401 401
 		} else {
402
-			gravityview()->log->error( 'Entry meta already set: {meta_key}', array( 'meta_key' => $this->entry_meta_key, 'data' =>  $entry_meta["{$this->entry_meta_key}"] ) );
402
+			gravityview()->log->error( 'Entry meta already set: {meta_key}', array( 'meta_key' => $this->entry_meta_key, 'data' =>  $entry_meta[ "{$this->entry_meta_key}" ] ) );
403 403
 		}
404 404
 
405 405
 		return $entry_meta;
@@ -434,7 +434,7 @@  discard block
 block discarded – undo
434 434
 			'date_display' => array(
435 435
 				'type' => 'text',
436 436
 				'label' => __( 'Override Date Format', 'gravityview' ),
437
-				'desc' => sprintf( __( 'Define how the date is displayed (using %sthe PHP date format%s)', 'gravityview'), '<a href="https://wordpress.org/support/article/formatting-date-and-time/" rel="external">', '</a>' ),
437
+				'desc' => sprintf( __( 'Define how the date is displayed (using %sthe PHP date format%s)', 'gravityview' ), '<a href="https://wordpress.org/support/article/formatting-date-and-time/" rel="external">', '</a>' ),
438 438
 				/**
439 439
 				 * @filter `gravityview_date_format` Override the date format with a [PHP date format](https://codex.wordpress.org/Formatting_Date_and_Time)
440 440
 				 * @param[in,out] null|string $date_format Date Format (default: null)
@@ -464,7 +464,7 @@  discard block
 block discarded – undo
464 464
 
465 465
 		$options = $this->field_support_options();
466 466
 
467
-		if( isset( $options[ $key ] ) ) {
467
+		if ( isset( $options[ $key ] ) ) {
468 468
 			$field_options[ $key ] = $options[ $key ];
469 469
 		}
470 470
 
@@ -528,11 +528,11 @@  discard block
 block discarded – undo
528 528
 		$connected_form = \GV\Utils::_POST( 'form_id' );
529 529
 
530 530
 		// Otherwise, get the Form ID from the Post page
531
-		if( empty( $connected_form ) ) {
531
+		if ( empty( $connected_form ) ) {
532 532
 			$connected_form = gravityview_get_form_id( get_the_ID() );
533 533
 		}
534 534
 
535
-		if( empty( $connected_form ) ) {
535
+		if ( empty( $connected_form ) ) {
536 536
 			gravityview()->log->error( 'Form not found for form ID "{form_id}"', array( 'form_id' => $connected_form ) );
537 537
 			return false;
538 538
 		}
Please login to merge, or discard this patch.