MediaWiki master
ExtensionDependencyError.php
Go to the documentation of this file.
1<?php
8
9use Exception;
10
17class ExtensionDependencyError extends Exception {
18
22 public $missingExtensions = [];
23
27 public $missingSkins = [];
28
33
37 public $incompatibleSkins = [];
38
42 public $incompatibleCore = false;
43
47 public $incompatiblePhp = false;
48
53
57 public $missingAbilities = [];
58
62 public function __construct( array $errors ) {
63 $msg = '';
64 foreach ( $errors as $info ) {
65 $msg .= $info['msg'] . "\n";
66 switch ( $info['type'] ) {
67 case 'incompatible-core':
68 $this->incompatibleCore = true;
69 break;
70 case 'incompatible-php':
71 $this->incompatiblePhp = true;
72 break;
73 case 'missing-phpExtension':
74 $this->missingPhpExtensions[] = $info['missing'];
75 break;
76 case 'missing-ability':
77 $this->missingAbilities[] = $info['missing'];
78 break;
79 case 'missing-skins':
80 $this->missingSkins[] = $info['missing'];
81 break;
82 case 'missing-extensions':
83 $this->missingExtensions[] = $info['missing'];
84 break;
85 case 'incompatible-skins':
86 $this->incompatibleSkins[] = $info['incompatible'];
87 break;
88 case 'incompatible-extensions':
89 $this->incompatibleExtensions[] = $info['incompatible'];
90 break;
91 // default: continue
92 }
93 }
94
95 parent::__construct( $msg );
96 }
97
98}
99
101class_alias( ExtensionDependencyError::class, 'ExtensionDependencyError' );