Revisão 68c328a2
.gitignore | ||
---|---|---|
1 |
/vendor |
|
2 | 1 |
/.idea |
3 | 2 |
Homestead.json |
4 | 3 |
Homestead.yaml |
app/Commons/Ldap.php | ||
---|---|---|
1 |
<?php |
|
2 |
|
|
3 |
namespace App\Commons; |
|
4 |
|
|
5 |
use LdapRecord\Connection; |
|
6 |
use Illuminate\Support\Facades\DB; |
|
7 |
|
|
8 |
class Ldap |
|
9 |
{ |
|
10 |
private $conn; |
|
11 |
private $ldapBaseDn; |
|
12 |
|
|
13 |
public function __construct() |
|
14 |
{ |
|
15 |
$this->conn = ""; |
|
16 |
|
|
17 |
$configEAdmin = DB::connection('pgsql-expresso')->table('phpgw_emailadmin') |
|
18 |
->where('description', env('KEY_EMAILADMIN_SOGO') ) |
|
19 |
->first(); |
|
20 |
|
|
21 |
// Base DN |
|
22 |
$this->ldapBaseDn = $configEAdmin->smtpldapbasedn; |
|
23 |
|
|
24 |
$this->conn = new Connection([ |
|
25 |
'hosts' => [ $configEAdmin->smtpldapserver ], |
|
26 |
'base_dn' => $configEAdmin->smtpldapbasedn, |
|
27 |
'username' => $configEAdmin->smtpldapadmindn, |
|
28 |
'password' => $configEAdmin->smtpldapadminpw, |
|
29 |
]); |
|
30 |
|
|
31 |
} |
|
32 |
|
|
33 |
public function getUidNumber( string $user ) |
|
34 |
{ |
|
35 |
$query = $this->conn->query() |
|
36 |
->select('uidnumber') |
|
37 |
->where('uid','=', $user) |
|
38 |
->get(); |
|
39 |
|
|
40 |
return $query[0]['uidnumber'][0] ?? false ; |
|
41 |
} |
|
42 |
|
|
43 |
public function getUid( string $user ) |
|
44 |
{ |
|
45 |
$query = $this->conn->query() |
|
46 |
->select('uid') |
|
47 |
->where('uidnumber','=', $user) |
|
48 |
->get(); |
|
49 |
|
|
50 |
return $query[0]['uid'][0] ?? false ; |
|
51 |
} |
|
52 |
|
|
53 |
public function getUsersOu( string $organization ) |
|
54 |
{ |
|
55 |
$baseDn = "ou=".$organization.",".$this->ldapBaseDn; |
|
56 |
|
|
57 |
$query = $this->conn->query() |
|
58 |
->setDn( $baseDn ) |
|
59 |
->select('cn', 'uid', 'uidnumber') |
|
60 |
->where([ |
|
61 |
['phpgwaccounttype', '=', 'u'], |
|
62 |
['phpgwaccountstatus', '=', 'A'] |
|
63 |
])->get(); |
|
64 |
|
|
65 |
return $query; |
|
66 |
} |
|
67 |
} |
app/Console/Commands/Expresso/GetUsersOULdap.php | ||
---|---|---|
1 |
<?php |
|
2 |
|
|
3 |
namespace App\Console\Commands\Expresso; |
|
4 |
|
|
5 |
use App\Commons\Ldap; |
|
6 |
use Illuminate\Console\Command; |
|
7 |
use Illuminate\Support\Facades\DB; |
|
8 |
use Storage; |
|
9 |
|
|
10 |
class GetUsersOULdap extends Command |
|
11 |
{ |
|
12 |
/** |
|
13 |
* The name and signature of the console command. |
|
14 |
* |
|
15 |
* @var string |
|
16 |
*/ |
|
17 |
protected $signature = 'expresso:get-users-organizations {--ou=} {cmd?}'; |
|
18 |
|
|
19 |
/** |
|
20 |
* The console command description. |
|
21 |
* |
|
22 |
* @var string |
|
23 |
*/ |
|
24 |
protected $description = 'Lista os usuarios de uma organização ( OU )'; |
|
25 |
|
|
26 |
/** |
|
27 |
* Create a new command instance. |
|
28 |
* |
|
29 |
* @return void |
|
30 |
*/ |
|
31 |
public function __construct() |
|
32 |
{ |
|
33 |
parent::__construct(); |
|
34 |
} |
|
35 |
|
|
36 |
/** |
|
37 |
* Execute the console command. |
|
38 |
* |
|
39 |
* @return mixed |
|
40 |
*/ |
|
41 |
public function handle() |
|
42 |
{ |
|
43 |
$arguments = $this->arguments(); |
|
44 |
|
|
45 |
$organization = $this->option('ou') ?? null; |
|
46 |
|
|
47 |
if( isset($arguments['cmd']) && $arguments['cmd'] == 'help' ) |
|
48 |
{ |
|
49 |
$this->help(); |
|
50 |
|
|
51 |
} else { |
|
52 |
|
|
53 |
if( !is_null($organization) ){ |
|
54 |
|
|
55 |
$users = $this->getUsersOu($organization); |
|
56 |
$fileName = $arguments['cmd'] ?? null; |
|
57 |
|
|
58 |
if( is_null($fileName) ) { |
|
59 |
foreach( $users as $user ) |
|
60 |
{ |
|
61 |
$line = "" ; |
|
62 |
$line .= "cn : " . ( $user['cn'][0] ?? "" ) . PHP_EOL; |
|
63 |
$line .= "uid : " . ( $user['uid'][0] ?? "" ) . PHP_EOL ; |
|
64 |
$line .= "uidnumber : " . ( $user['uidnumber'][0] ?? "" ) . PHP_EOL ; |
|
65 |
$line .= "----------------------------------------------------------------------------" . PHP_EOL; |
|
66 |
|
|
67 |
print_r( $line ); |
|
68 |
} |
|
69 |
}else { |
|
70 |
$this->writeFile( $users, $fileName ); |
|
71 |
} |
|
72 |
|
|
73 |
} |
|
74 |
} |
|
75 |
|
|
76 |
$this->newLine(); |
|
77 |
} |
|
78 |
|
|
79 |
private function getUsersOu( $organization ) |
|
80 |
{ |
|
81 |
$result = new Ldap(); |
|
82 |
|
|
83 |
return $result->getUsersOu( $organization ); |
|
84 |
} |
|
85 |
|
|
86 |
private function help() |
|
87 |
{ |
|
88 |
$this->newLine(); |
|
89 |
$this->info('EXEMPLO DE UTILIZACAO : '); |
|
90 |
$this->info('Ex: php artisan get-users-organizations --ou=<ORGANIZATION> { print | file }'); |
|
91 |
$this->newLine(); |
|
92 |
} |
|
93 |
|
|
94 |
private function writeFile( array $users, string $fileName ) |
|
95 |
{ |
|
96 |
$this->newLine(); |
|
97 |
|
|
98 |
if( is_array($users) && count($users) > 0 ){ |
|
99 |
|
|
100 |
$line = ""; |
|
101 |
foreach( $users as $user ) |
|
102 |
{ |
|
103 |
$line .= ( $user['cn'][0] ?? "" ) . ";"; |
|
104 |
$line .= ( $user['uid'][0] ?? "" ) . ";" ; |
|
105 |
$line .= ( $user['uidnumber'][0] ?? "" ) . PHP_EOL ; |
|
106 |
|
|
107 |
Storage::put('/EXPRESSO/'.$fileName, $line ); |
|
108 |
} |
|
109 |
} |
|
110 |
|
|
111 |
$this->info('Arquivo gerado com sucesso : /EXPRESSO/'. $fileName ); |
|
112 |
} |
|
113 |
} |
app/Console/Commands/Teste.php | ||
---|---|---|
1 |
<?php |
|
2 |
|
|
3 |
namespace App\Console\Commands; |
|
4 |
|
|
5 |
use App\Commons\Ldap; |
|
6 |
use Illuminate\Console\Command; |
|
7 |
use Illuminate\Support\Facades\DB; |
|
8 |
use LdapRecord\Connection; |
|
9 |
use Storage; |
|
10 |
|
|
11 |
class Teste extends Command |
|
12 |
{ |
|
13 |
/** |
|
14 |
* The name and signature of the console command. |
|
15 |
* |
|
16 |
* @var string |
|
17 |
*/ |
|
18 |
protected $signature = 'teste:comando'; |
|
19 |
|
|
20 |
/** |
|
21 |
* The console command description. |
|
22 |
* |
|
23 |
* @var string |
|
24 |
*/ |
|
25 |
protected $description = 'Comando teste'; |
|
26 |
|
|
27 |
/** |
|
28 |
* Create a new command instance. |
|
29 |
* |
|
30 |
* @return void |
|
31 |
*/ |
|
32 |
public function __construct() |
|
33 |
{ |
|
34 |
parent::__construct(); |
|
35 |
} |
|
36 |
|
|
37 |
/** |
|
38 |
* Execute the console command. |
|
39 |
* |
|
40 |
* @return mixed |
|
41 |
*/ |
|
42 |
public function handle() |
|
43 |
{ |
|
44 |
$ldap = new Ldap(); |
|
45 |
|
|
46 |
//print_r( $ldap->getUidNumber("alexandrecorreia") ); |
|
47 |
|
|
48 |
//print_r( $ldap->getUid("500074") ); |
|
49 |
|
|
50 |
print_r( $ldap->getUsersOu("celepar") ); |
|
51 |
|
|
52 |
} |
|
53 |
} |
|
54 |
|
app/Console/Kernel.php | ||
---|---|---|
13 | 13 |
* @var array |
14 | 14 |
*/ |
15 | 15 |
protected $commands = [ |
16 |
|
|
17 |
// Commands Expresso |
|
18 |
\App\Console\Commands\Expresso\GetUsersOULdap::class, |
|
16 | 19 |
\App\Console\Commands\Expresso\SieveGetUid::class, |
17 |
\App\Console\Commands\Sogo\Preferences::class |
|
20 |
|
|
21 |
// Commands SOGO |
|
22 |
\App\Console\Commands\Sogo\Preferences::class, |
|
23 |
|
|
24 |
// TESTE |
|
25 |
\App\Console\Commands\Teste::class |
|
18 | 26 |
]; |
19 | 27 |
|
20 | 28 |
/** |
app/ldap/config.php | ||
---|---|---|
1 |
<?php |
|
2 |
|
|
3 |
use Illuminate\Support\Facades\DB; |
|
4 |
|
|
5 |
// $ldapConfig = DB::connection('pgsql-expresso') |
|
6 |
// ->table('phpgw_config') |
|
7 |
// ->where('config_app', 'phpgwapi') |
|
8 |
// ->whereIn('config_name', ['ldap_context','ldap_host','ldap_root_dn','ldap_root_pw']) |
|
9 |
// ->get(); |
|
10 |
|
|
11 |
// return [ |
|
12 |
// 'hosts' => '', |
|
13 |
// 'base_dn' => 'dc=local,dc=com', |
|
14 |
// 'username' => 'cn=admin,dc=local,dc=com', |
|
15 |
// 'password' => 'password', |
|
16 |
// 'port' => 389, |
|
17 |
// // 'use_ssl' => false, |
|
18 |
// // 'use_tls' => false, |
|
19 |
// // 'version' => 3, |
|
20 |
// // 'timeout' => 5, |
|
21 |
// // 'follow_referrals' => false, |
|
22 |
|
|
23 |
// // // Custom LDAP Options |
|
24 |
// // 'options' => [ |
|
25 |
// // // See: http://php.net/ldap_set_option |
|
26 |
// // LDAP_OPT_X_TLS_REQUIRE_CERT => LDAP_OPT_X_TLS_HARD |
|
27 |
// // ] |
|
28 |
// ]; |
vendor/autoload.php | ||
---|---|---|
1 |
<?php |
|
2 |
|
|
3 |
// autoload.php @generated by Composer |
|
4 |
|
|
5 |
require_once __DIR__ . '/composer/autoload_real.php'; |
|
6 |
|
|
7 |
return ComposerAutoloaderInit112a02803baecbc9e3ecf71a30aa6774::getLoader(); |
vendor/bin/carbon | ||
---|---|---|
1 |
../nesbot/carbon/bin/carbon |
vendor/bin/php-parse | ||
---|---|---|
1 |
../nikic/php-parser/bin/php-parse |
vendor/bin/phpunit | ||
---|---|---|
1 |
../phpunit/phpunit/phpunit |
vendor/bin/var-dump-server | ||
---|---|---|
1 |
../symfony/var-dumper/Resources/bin/var-dump-server |
vendor/brick/math | ||
---|---|---|
1 |
Subproject commit ca57d18f028f84f777b2168cd1911b0dee2343ae |
vendor/composer/ClassLoader.php | ||
---|---|---|
1 |
<?php |
|
2 |
|
|
3 |
/* |
|
4 |
* This file is part of Composer. |
|
5 |
* |
|
6 |
* (c) Nils Adermann <naderman@naderman.de> |
|
7 |
* Jordi Boggiano <j.boggiano@seld.be> |
|
8 |
* |
|
9 |
* For the full copyright and license information, please view the LICENSE |
|
10 |
* file that was distributed with this source code. |
|
11 |
*/ |
|
12 |
|
|
13 |
namespace Composer\Autoload; |
|
14 |
|
|
15 |
/** |
|
16 |
* ClassLoader implements a PSR-0, PSR-4 and classmap class loader. |
|
17 |
* |
|
18 |
* $loader = new \Composer\Autoload\ClassLoader(); |
|
19 |
* |
|
20 |
* // register classes with namespaces |
|
21 |
* $loader->add('Symfony\Component', __DIR__.'/component'); |
|
22 |
* $loader->add('Symfony', __DIR__.'/framework'); |
|
23 |
* |
|
24 |
* // activate the autoloader |
|
25 |
* $loader->register(); |
|
26 |
* |
|
27 |
* // to enable searching the include path (eg. for PEAR packages) |
|
28 |
* $loader->setUseIncludePath(true); |
|
29 |
* |
|
30 |
* In this example, if you try to use a class in the Symfony\Component |
|
31 |
* namespace or one of its children (Symfony\Component\Console for instance), |
|
32 |
* the autoloader will first look for the class under the component/ |
|
33 |
* directory, and it will then fallback to the framework/ directory if not |
|
34 |
* found before giving up. |
|
35 |
* |
|
36 |
* This class is loosely based on the Symfony UniversalClassLoader. |
|
37 |
* |
|
38 |
* @author Fabien Potencier <fabien@symfony.com> |
|
39 |
* @author Jordi Boggiano <j.boggiano@seld.be> |
|
40 |
* @see https://www.php-fig.org/psr/psr-0/ |
|
41 |
* @see https://www.php-fig.org/psr/psr-4/ |
|
42 |
*/ |
|
43 |
class ClassLoader |
|
44 |
{ |
|
45 |
private $vendorDir; |
|
46 |
|
|
47 |
// PSR-4 |
|
48 |
private $prefixLengthsPsr4 = array(); |
|
49 |
private $prefixDirsPsr4 = array(); |
|
50 |
private $fallbackDirsPsr4 = array(); |
|
51 |
|
|
52 |
// PSR-0 |
|
53 |
private $prefixesPsr0 = array(); |
|
54 |
private $fallbackDirsPsr0 = array(); |
|
55 |
|
|
56 |
private $useIncludePath = false; |
|
57 |
private $classMap = array(); |
|
58 |
private $classMapAuthoritative = false; |
|
59 |
private $missingClasses = array(); |
|
60 |
private $apcuPrefix; |
|
61 |
|
|
62 |
private static $registeredLoaders = array(); |
|
63 |
|
|
64 |
public function __construct($vendorDir = null) |
|
65 |
{ |
|
66 |
$this->vendorDir = $vendorDir; |
|
67 |
} |
|
68 |
|
|
69 |
public function getPrefixes() |
|
70 |
{ |
|
71 |
if (!empty($this->prefixesPsr0)) { |
|
72 |
return call_user_func_array('array_merge', array_values($this->prefixesPsr0)); |
|
73 |
} |
|
74 |
|
|
75 |
return array(); |
|
76 |
} |
|
77 |
|
|
78 |
public function getPrefixesPsr4() |
|
79 |
{ |
|
80 |
return $this->prefixDirsPsr4; |
|
81 |
} |
|
82 |
|
|
83 |
public function getFallbackDirs() |
|
84 |
{ |
|
85 |
return $this->fallbackDirsPsr0; |
|
86 |
} |
|
87 |
|
|
88 |
public function getFallbackDirsPsr4() |
|
89 |
{ |
|
90 |
return $this->fallbackDirsPsr4; |
|
91 |
} |
|
92 |
|
|
93 |
public function getClassMap() |
|
94 |
{ |
|
95 |
return $this->classMap; |
|
96 |
} |
|
97 |
|
|
98 |
/** |
|
99 |
* @param array $classMap Class to filename map |
|
100 |
*/ |
|
101 |
public function addClassMap(array $classMap) |
|
102 |
{ |
|
103 |
if ($this->classMap) { |
|
104 |
$this->classMap = array_merge($this->classMap, $classMap); |
|
105 |
} else { |
|
106 |
$this->classMap = $classMap; |
|
107 |
} |
|
108 |
} |
|
109 |
|
|
110 |
/** |
|
111 |
* Registers a set of PSR-0 directories for a given prefix, either |
|
112 |
* appending or prepending to the ones previously set for this prefix. |
|
113 |
* |
|
114 |
* @param string $prefix The prefix |
|
115 |
* @param array|string $paths The PSR-0 root directories |
|
116 |
* @param bool $prepend Whether to prepend the directories |
|
117 |
*/ |
|
118 |
public function add($prefix, $paths, $prepend = false) |
|
119 |
{ |
|
120 |
if (!$prefix) { |
|
121 |
if ($prepend) { |
|
122 |
$this->fallbackDirsPsr0 = array_merge( |
|
123 |
(array) $paths, |
|
124 |
$this->fallbackDirsPsr0 |
|
125 |
); |
|
126 |
} else { |
|
127 |
$this->fallbackDirsPsr0 = array_merge( |
|
128 |
$this->fallbackDirsPsr0, |
|
129 |
(array) $paths |
|
130 |
); |
|
131 |
} |
|
132 |
|
|
133 |
return; |
|
134 |
} |
|
135 |
|
|
136 |
$first = $prefix[0]; |
|
137 |
if (!isset($this->prefixesPsr0[$first][$prefix])) { |
|
138 |
$this->prefixesPsr0[$first][$prefix] = (array) $paths; |
|
139 |
|
|
140 |
return; |
|
141 |
} |
|
142 |
if ($prepend) { |
|
143 |
$this->prefixesPsr0[$first][$prefix] = array_merge( |
|
144 |
(array) $paths, |
|
145 |
$this->prefixesPsr0[$first][$prefix] |
|
146 |
); |
|
147 |
} else { |
|
148 |
$this->prefixesPsr0[$first][$prefix] = array_merge( |
|
149 |
$this->prefixesPsr0[$first][$prefix], |
|
150 |
(array) $paths |
|
151 |
); |
|
152 |
} |
|
153 |
} |
|
154 |
|
|
155 |
/** |
|
156 |
* Registers a set of PSR-4 directories for a given namespace, either |
|
157 |
* appending or prepending to the ones previously set for this namespace. |
|
158 |
* |
|
159 |
* @param string $prefix The prefix/namespace, with trailing '\\' |
|
160 |
* @param array|string $paths The PSR-4 base directories |
|
161 |
* @param bool $prepend Whether to prepend the directories |
|
162 |
* |
|
163 |
* @throws \InvalidArgumentException |
|
164 |
*/ |
|
165 |
public function addPsr4($prefix, $paths, $prepend = false) |
|
166 |
{ |
|
167 |
if (!$prefix) { |
|
168 |
// Register directories for the root namespace. |
|
169 |
if ($prepend) { |
|
170 |
$this->fallbackDirsPsr4 = array_merge( |
|
171 |
(array) $paths, |
|
172 |
$this->fallbackDirsPsr4 |
|
173 |
); |
|
174 |
} else { |
|
175 |
$this->fallbackDirsPsr4 = array_merge( |
|
176 |
$this->fallbackDirsPsr4, |
|
177 |
(array) $paths |
|
178 |
); |
|
179 |
} |
|
180 |
} elseif (!isset($this->prefixDirsPsr4[$prefix])) { |
|
181 |
// Register directories for a new namespace. |
|
182 |
$length = strlen($prefix); |
|
183 |
if ('\\' !== $prefix[$length - 1]) { |
|
184 |
throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); |
|
185 |
} |
|
186 |
$this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; |
|
187 |
$this->prefixDirsPsr4[$prefix] = (array) $paths; |
|
188 |
} elseif ($prepend) { |
|
189 |
// Prepend directories for an already registered namespace. |
|
190 |
$this->prefixDirsPsr4[$prefix] = array_merge( |
|
191 |
(array) $paths, |
|
192 |
$this->prefixDirsPsr4[$prefix] |
|
193 |
); |
|
194 |
} else { |
|
195 |
// Append directories for an already registered namespace. |
|
196 |
$this->prefixDirsPsr4[$prefix] = array_merge( |
|
197 |
$this->prefixDirsPsr4[$prefix], |
|
198 |
(array) $paths |
|
199 |
); |
|
200 |
} |
|
201 |
} |
|
202 |
|
|
203 |
/** |
|
204 |
* Registers a set of PSR-0 directories for a given prefix, |
|
205 |
* replacing any others previously set for this prefix. |
|
206 |
* |
|
207 |
* @param string $prefix The prefix |
|
208 |
* @param array|string $paths The PSR-0 base directories |
|
209 |
*/ |
|
210 |
public function set($prefix, $paths) |
|
211 |
{ |
|
212 |
if (!$prefix) { |
|
213 |
$this->fallbackDirsPsr0 = (array) $paths; |
|
214 |
} else { |
|
215 |
$this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths; |
|
216 |
} |
|
217 |
} |
|
218 |
|
|
219 |
/** |
|
220 |
* Registers a set of PSR-4 directories for a given namespace, |
|
221 |
* replacing any others previously set for this namespace. |
|
222 |
* |
|
223 |
* @param string $prefix The prefix/namespace, with trailing '\\' |
|
224 |
* @param array|string $paths The PSR-4 base directories |
|
225 |
* |
|
226 |
* @throws \InvalidArgumentException |
|
227 |
*/ |
|
228 |
public function setPsr4($prefix, $paths) |
|
229 |
{ |
|
230 |
if (!$prefix) { |
|
231 |
$this->fallbackDirsPsr4 = (array) $paths; |
|
232 |
} else { |
|
233 |
$length = strlen($prefix); |
|
234 |
if ('\\' !== $prefix[$length - 1]) { |
|
235 |
throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); |
|
236 |
} |
|
237 |
$this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; |
|
238 |
$this->prefixDirsPsr4[$prefix] = (array) $paths; |
|
239 |
} |
|
240 |
} |
|
241 |
|
|
242 |
/** |
|
243 |
* Turns on searching the include path for class files. |
|
244 |
* |
|
245 |
* @param bool $useIncludePath |
|
246 |
*/ |
|
247 |
public function setUseIncludePath($useIncludePath) |
|
248 |
{ |
|
249 |
$this->useIncludePath = $useIncludePath; |
|
250 |
} |
|
251 |
|
|
252 |
/** |
|
253 |
* Can be used to check if the autoloader uses the include path to check |
|
254 |
* for classes. |
|
255 |
* |
|
256 |
* @return bool |
|
257 |
*/ |
|
258 |
public function getUseIncludePath() |
|
259 |
{ |
|
260 |
return $this->useIncludePath; |
|
261 |
} |
|
262 |
|
|
263 |
/** |
|
264 |
* Turns off searching the prefix and fallback directories for classes |
|
265 |
* that have not been registered with the class map. |
|
266 |
* |
|
267 |
* @param bool $classMapAuthoritative |
|
268 |
*/ |
|
269 |
public function setClassMapAuthoritative($classMapAuthoritative) |
|
270 |
{ |
|
271 |
$this->classMapAuthoritative = $classMapAuthoritative; |
|
272 |
} |
|
273 |
|
|
274 |
/** |
|
275 |
* Should class lookup fail if not found in the current class map? |
|
276 |
* |
|
277 |
* @return bool |
|
278 |
*/ |
|
279 |
public function isClassMapAuthoritative() |
|
280 |
{ |
|
281 |
return $this->classMapAuthoritative; |
|
282 |
} |
|
283 |
|
|
284 |
/** |
|
285 |
* APCu prefix to use to cache found/not-found classes, if the extension is enabled. |
|
286 |
* |
|
287 |
* @param string|null $apcuPrefix |
|
288 |
*/ |
|
289 |
public function setApcuPrefix($apcuPrefix) |
|
290 |
{ |
|
291 |
$this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null; |
|
292 |
} |
|
293 |
|
|
294 |
/** |
|
295 |
* The APCu prefix in use, or null if APCu caching is not enabled. |
|
296 |
* |
|
297 |
* @return string|null |
|
298 |
*/ |
|
299 |
public function getApcuPrefix() |
|
300 |
{ |
|
301 |
return $this->apcuPrefix; |
|
302 |
} |
|
303 |
|
|
304 |
/** |
|
305 |
* Registers this instance as an autoloader. |
|
306 |
* |
|
307 |
* @param bool $prepend Whether to prepend the autoloader or not |
|
308 |
*/ |
|
309 |
public function register($prepend = false) |
|
310 |
{ |
|
311 |
spl_autoload_register(array($this, 'loadClass'), true, $prepend); |
|
312 |
|
|
313 |
if (null === $this->vendorDir) { |
|
314 |
return; |
|
315 |
} |
|
316 |
|
|
317 |
if ($prepend) { |
|
318 |
self::$registeredLoaders = array($this->vendorDir => $this) + self::$registeredLoaders; |
|
319 |
} else { |
|
320 |
unset(self::$registeredLoaders[$this->vendorDir]); |
|
321 |
self::$registeredLoaders[$this->vendorDir] = $this; |
|
322 |
} |
|
323 |
} |
|
324 |
|
|
325 |
/** |
|
326 |
* Unregisters this instance as an autoloader. |
|
327 |
*/ |
|
328 |
public function unregister() |
|
329 |
{ |
|
330 |
spl_autoload_unregister(array($this, 'loadClass')); |
|
331 |
|
|
332 |
if (null !== $this->vendorDir) { |
|
333 |
unset(self::$registeredLoaders[$this->vendorDir]); |
|
334 |
} |
|
335 |
} |
|
336 |
|
|
337 |
/** |
|
338 |
* Loads the given class or interface. |
|
339 |
* |
|
340 |
* @param string $class The name of the class |
|
341 |
* @return true|null True if loaded, null otherwise |
|
342 |
*/ |
|
343 |
public function loadClass($class) |
|
344 |
{ |
|
345 |
if ($file = $this->findFile($class)) { |
|
346 |
includeFile($file); |
|
347 |
|
|
348 |
return true; |
|
349 |
} |
|
350 |
|
|
351 |
return null; |
|
352 |
} |
|
353 |
|
|
354 |
/** |
|
355 |
* Finds the path to the file where the class is defined. |
|
356 |
* |
|
357 |
* @param string $class The name of the class |
|
358 |
* |
|
359 |
* @return string|false The path if found, false otherwise |
|
360 |
*/ |
|
361 |
public function findFile($class) |
|
362 |
{ |
|
363 |
// class map lookup |
|
364 |
if (isset($this->classMap[$class])) { |
|
365 |
return $this->classMap[$class]; |
|
366 |
} |
|
367 |
if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) { |
|
368 |
return false; |
|
369 |
} |
|
370 |
if (null !== $this->apcuPrefix) { |
|
371 |
$file = apcu_fetch($this->apcuPrefix.$class, $hit); |
|
372 |
if ($hit) { |
|
373 |
return $file; |
|
374 |
} |
|
375 |
} |
|
376 |
|
|
377 |
$file = $this->findFileWithExtension($class, '.php'); |
|
378 |
|
|
379 |
// Search for Hack files if we are running on HHVM |
|
380 |
if (false === $file && defined('HHVM_VERSION')) { |
|
381 |
$file = $this->findFileWithExtension($class, '.hh'); |
|
382 |
} |
|
383 |
|
|
384 |
if (null !== $this->apcuPrefix) { |
|
385 |
apcu_add($this->apcuPrefix.$class, $file); |
|
386 |
} |
|
387 |
|
|
388 |
if (false === $file) { |
|
389 |
// Remember that this class does not exist. |
|
390 |
$this->missingClasses[$class] = true; |
|
391 |
} |
|
392 |
|
|
393 |
return $file; |
|
394 |
} |
|
395 |
|
|
396 |
/** |
|
397 |
* Returns the currently registered loaders indexed by their corresponding vendor directories. |
|
398 |
* |
|
399 |
* @return self[] |
|
400 |
*/ |
|
401 |
public static function getRegisteredLoaders() |
|
402 |
{ |
|
403 |
return self::$registeredLoaders; |
|
404 |
} |
|
405 |
|
|
406 |
private function findFileWithExtension($class, $ext) |
|
407 |
{ |
|
408 |
// PSR-4 lookup |
|
409 |
$logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext; |
|
410 |
|
|
411 |
$first = $class[0]; |
|
412 |
if (isset($this->prefixLengthsPsr4[$first])) { |
|
413 |
$subPath = $class; |
|
414 |
while (false !== $lastPos = strrpos($subPath, '\\')) { |
|
415 |
$subPath = substr($subPath, 0, $lastPos); |
|
416 |
$search = $subPath . '\\'; |
|
417 |
if (isset($this->prefixDirsPsr4[$search])) { |
|
418 |
$pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1); |
|
419 |
foreach ($this->prefixDirsPsr4[$search] as $dir) { |
|
420 |
if (file_exists($file = $dir . $pathEnd)) { |
|
421 |
return $file; |
|
422 |
} |
|
423 |
} |
|
424 |
} |
|
425 |
} |
|
426 |
} |
|
427 |
|
|
428 |
// PSR-4 fallback dirs |
|
429 |
foreach ($this->fallbackDirsPsr4 as $dir) { |
|
430 |
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) { |
|
431 |
return $file; |
|
432 |
} |
|
433 |
} |
|
434 |
|
|
435 |
// PSR-0 lookup |
|
436 |
if (false !== $pos = strrpos($class, '\\')) { |
|
437 |
// namespaced class name |
|
438 |
$logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1) |
|
439 |
. strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR); |
|
440 |
} else { |
|
441 |
// PEAR-like class name |
|
442 |
$logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext; |
|
443 |
} |
|
444 |
|
|
445 |
if (isset($this->prefixesPsr0[$first])) { |
|
446 |
foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) { |
|
447 |
if (0 === strpos($class, $prefix)) { |
|
448 |
foreach ($dirs as $dir) { |
|
449 |
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { |
|
450 |
return $file; |
|
451 |
} |
|
452 |
} |
|
453 |
} |
|
454 |
} |
|
455 |
} |
|
456 |
|
|
457 |
// PSR-0 fallback dirs |
|
458 |
foreach ($this->fallbackDirsPsr0 as $dir) { |
|
459 |
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { |
|
460 |
return $file; |
|
461 |
} |
|
462 |
} |
|
463 |
|
|
464 |
// PSR-0 include paths. |
|
465 |
if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) { |
|
466 |
return $file; |
|
467 |
} |
|
468 |
|
|
469 |
return false; |
|
470 |
} |
|
471 |
} |
|
472 |
|
|
473 |
/** |
|
474 |
* Scope isolated include. |
|
475 |
* |
|
476 |
* Prevents access to $this/self from included files. |
|
477 |
*/ |
|
478 |
function includeFile($file) |
|
479 |
{ |
|
480 |
include $file; |
|
481 |
} |
vendor/composer/InstalledVersions.php | ||
---|---|---|
1 |
<?php |
|
2 |
|
|
3 |
/* |
|
4 |
* This file is part of Composer. |
|
5 |
* |
|
6 |
* (c) Nils Adermann <naderman@naderman.de> |
|
7 |
* Jordi Boggiano <j.boggiano@seld.be> |
|
8 |
* |
|
9 |
* For the full copyright and license information, please view the LICENSE |
|
10 |
* file that was distributed with this source code. |
|
11 |
*/ |
|
12 |
|
|
13 |
namespace Composer; |
|
14 |
|
|
15 |
use Composer\Autoload\ClassLoader; |
|
16 |
use Composer\Semver\VersionParser; |
|
17 |
|
|
18 |
/** |
|
19 |
* This class is copied in every Composer installed project and available to all |
|
20 |
* |
|
21 |
* See also https://getcomposer.org/doc/07-runtime.md#installed-versions |
|
22 |
* |
|
23 |
* To require it's presence, you can require `composer-runtime-api ^2.0` |
|
24 |
*/ |
|
25 |
class InstalledVersions |
|
26 |
{ |
|
27 |
private static $installed; |
|
28 |
private static $canGetVendors; |
|
29 |
private static $installedByVendor = array(); |
|
30 |
|
|
31 |
/** |
|
32 |
* Returns a list of all package names which are present, either by being installed, replaced or provided |
|
33 |
* |
|
34 |
* @return string[] |
|
35 |
* @psalm-return list<string> |
|
36 |
*/ |
|
37 |
public static function getInstalledPackages() |
|
38 |
{ |
|
39 |
$packages = array(); |
|
40 |
foreach (self::getInstalled() as $installed) { |
|
41 |
$packages[] = array_keys($installed['versions']); |
|
42 |
} |
|
43 |
|
|
44 |
if (1 === \count($packages)) { |
|
45 |
return $packages[0]; |
|
46 |
} |
|
47 |
|
|
48 |
return array_keys(array_flip(\call_user_func_array('array_merge', $packages))); |
|
49 |
} |
|
50 |
|
|
51 |
/** |
|
52 |
* Returns a list of all package names with a specific type e.g. 'library' |
|
53 |
* |
|
54 |
* @param string $type |
|
55 |
* @return string[] |
|
56 |
* @psalm-return list<string> |
|
57 |
*/ |
|
58 |
public static function getInstalledPackagesByType($type) |
|
59 |
{ |
|
60 |
$packagesByType = array(); |
|
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; |
|
66 |
} |
|
67 |
} |
|
68 |
} |
|
69 |
|
|
70 |
return $packagesByType; |
|
71 |
} |
|
72 |
|
|
73 |
/** |
|
74 |
* Checks whether the given package is installed |
|
75 |
* |
|
76 |
* This also returns true if the package name is provided or replaced by another package |
|
77 |
* |
|
78 |
* @param string $packageName |
|
79 |
* @param bool $includeDevRequirements |
|
80 |
* @return bool |
|
81 |
*/ |
|
82 |
public static function isInstalled($packageName, $includeDevRequirements = true) |
|
83 |
{ |
|
84 |
foreach (self::getInstalled() as $installed) { |
|
85 |
if (isset($installed['versions'][$packageName])) { |
|
86 |
return $includeDevRequirements || empty($installed['versions'][$packageName]['dev_requirement']); |
|
87 |
} |
|
88 |
} |
|
89 |
|
|
90 |
return false; |
|
91 |
} |
|
92 |
|
|
93 |
/** |
|
94 |
* Checks whether the given package satisfies a version constraint |
|
95 |
* |
|
96 |
* e.g. If you want to know whether version 2.3+ of package foo/bar is installed, you would call: |
|
97 |
* |
|
98 |
* Composer\InstalledVersions::satisfies(new VersionParser, 'foo/bar', '^2.3') |
|
99 |
* |
|
100 |
* @param VersionParser $parser Install composer/semver to have access to this class and functionality |
|
101 |
* @param string $packageName |
|
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 |
* @return bool |
|
104 |
*/ |
|
105 |
public static function satisfies(VersionParser $parser, $packageName, $constraint) |
|
106 |
{ |
|
107 |
$constraint = $parser->parseConstraints($constraint); |
|
108 |
$provided = $parser->parseConstraints(self::getVersionRanges($packageName)); |
|
109 |
|
|
110 |
return $provided->matches($constraint); |
|
111 |
} |
|
112 |
|
|
113 |
/** |
|
114 |
* Returns a version constraint representing all the range(s) which are installed for a given package |
|
115 |
* |
|
116 |
* It is easier to use this via isInstalled() with the $constraint argument if you need to check |
|
117 |
* whether a given version of a package is installed, and not just whether it exists |
|
118 |
* |
|
119 |
* @param string $packageName |
|
120 |
* @return string Version constraint usable with composer/semver |
|
121 |
*/ |
|
122 |
public static function getVersionRanges($packageName) |
|
123 |
{ |
|
124 |
foreach (self::getInstalled() as $installed) { |
|
125 |
if (!isset($installed['versions'][$packageName])) { |
|
126 |
continue; |
|
127 |
} |
|
128 |
|
|
129 |
$ranges = array(); |
|
130 |
if (isset($installed['versions'][$packageName]['pretty_version'])) { |
|
131 |
$ranges[] = $installed['versions'][$packageName]['pretty_version']; |
|
132 |
} |
|
133 |
if (array_key_exists('aliases', $installed['versions'][$packageName])) { |
|
134 |
$ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']); |
|
135 |
} |
|
136 |
if (array_key_exists('replaced', $installed['versions'][$packageName])) { |
|
137 |
$ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']); |
|
138 |
} |
|
139 |
if (array_key_exists('provided', $installed['versions'][$packageName])) { |
|
140 |
$ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']); |
|
141 |
} |
|
142 |
|
|
143 |
return implode(' || ', $ranges); |
|
144 |
} |
|
145 |
|
|
146 |
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); |
|
147 |
} |
|
148 |
|
|
149 |
/** |
|
150 |
* @param string $packageName |
|
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 |
*/ |
|
153 |
public static function getVersion($packageName) |
|
154 |
{ |
|
155 |
foreach (self::getInstalled() as $installed) { |
|
156 |
if (!isset($installed['versions'][$packageName])) { |
|
157 |
continue; |
|
158 |
} |
|
159 |
|
|
160 |
if (!isset($installed['versions'][$packageName]['version'])) { |
|
161 |
return null; |
|
162 |
} |
|
163 |
|
|
164 |
return $installed['versions'][$packageName]['version']; |
|
165 |
} |
|
166 |
|
|
167 |
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); |
|
168 |
} |
|
169 |
|
|
170 |
/** |
|
171 |
* @param string $packageName |
|
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 |
*/ |
|
174 |
public static function getPrettyVersion($packageName) |
|
175 |
{ |
|
176 |
foreach (self::getInstalled() as $installed) { |
|
177 |
if (!isset($installed['versions'][$packageName])) { |
|
178 |
continue; |
|
179 |
} |
|
180 |
|
|
181 |
if (!isset($installed['versions'][$packageName]['pretty_version'])) { |
|
182 |
return null; |
|
183 |
} |
|
184 |
|
|
185 |
return $installed['versions'][$packageName]['pretty_version']; |
|
186 |
} |
|
187 |
|
|
188 |
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); |
|
189 |
} |
|
190 |
|
|
191 |
/** |
|
192 |
* @param string $packageName |
|
193 |
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as reference |
|
194 |
*/ |
|
195 |
public static function getReference($packageName) |
|
196 |
{ |
|
197 |
foreach (self::getInstalled() as $installed) { |
|
198 |
if (!isset($installed['versions'][$packageName])) { |
|
199 |
continue; |
|
200 |
} |
|
201 |
|
|
202 |
if (!isset($installed['versions'][$packageName]['reference'])) { |
|
203 |
return null; |
|
204 |
} |
|
205 |
|
|
206 |
return $installed['versions'][$packageName]['reference']; |
|
207 |
} |
|
208 |
|
|
209 |
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); |
|
210 |
} |
|
211 |
|
|
212 |
/** |
|
213 |
* @param string $packageName |
|
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 |
*/ |
|
216 |
public static function getInstallPath($packageName) |
|
217 |
{ |
|
218 |
foreach (self::getInstalled() as $installed) { |
|
219 |
if (!isset($installed['versions'][$packageName])) { |
|
220 |
continue; |
|
221 |
} |
|
222 |
|
|
223 |
return isset($installed['versions'][$packageName]['install_path']) ? $installed['versions'][$packageName]['install_path'] : null; |
|
224 |
} |
|
225 |
|
|
226 |
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); |
|
227 |
} |
|
228 |
|
|
229 |
/** |
|
230 |
* @return array |
|
231 |
* @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string} |
|
232 |
*/ |
|
233 |
public static function getRootPackage() |
|
234 |
{ |
|
235 |
$installed = self::getInstalled(); |
|
236 |
|
|
237 |
return $installed[0]['root']; |
|
238 |
} |
|
239 |
|
|
240 |
/** |
|
241 |
* Returns the raw installed.php data for custom implementations |
|
242 |
* |
|
243 |
* @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. |
|
244 |
* @return array[] |
|
245 |
* @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string}>} |
|
246 |
*/ |
|
247 |
public static function getRawData() |
|
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); |
|
250 |
|
|
251 |
if (null === self::$installed) { |
|
252 |
// only require the installed.php file if this file is loaded from its dumped location, |
|
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') { |
|
255 |
self::$installed = include __DIR__ . '/installed.php'; |
|
256 |
} else { |
|
257 |
self::$installed = array(); |
|
258 |
} |
|
259 |
} |
|
260 |
|
|
261 |
return self::$installed; |
|
262 |
} |
|
263 |
|
|
264 |
/** |
|
265 |
* Returns the raw data of all installed.php which are currently loaded for custom implementations |
|
266 |
* |
|
267 |
* @return array[] |
|
268 |
* @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string}>}> |
|
269 |
*/ |
|
270 |
public static function getAllRawData() |
|
271 |
{ |
|
272 |
return self::getInstalled(); |
|
273 |
} |
|
274 |
|
|
275 |
/** |
|
276 |
* Lets you reload the static array from another file |
|
277 |
* |
|
278 |
* This is only useful for complex integrations in which a project needs to use |
|
279 |
* this class but then also needs to execute another project's autoloader in process, |
|
280 |
* and wants to ensure both projects have access to their version of installed.php. |
|
281 |
* |
|
282 |
* A typical case would be PHPUnit, where it would need to make sure it reads all |
|
283 |
* the data it needs from this class, then call reload() with |
|
284 |
* `require $CWD/vendor/composer/installed.php` (or similar) as input to make sure |
|
285 |
* the project in which it runs can then also use this class safely, without |
|
286 |
* interference between PHPUnit's dependencies and the project's dependencies. |
|
287 |
* |
|
288 |
* @param array[] $data A vendor/composer/installed.php data set |
|
289 |
* @return void |
|
290 |
* |
|
291 |
* @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string}>} $data |
|
292 |
*/ |
|
293 |
public static function reload($data) |
|
294 |
{ |
|
295 |
self::$installed = $data; |
|
296 |
self::$installedByVendor = array(); |
|
297 |
} |
|
298 |
|
|
299 |
/** |
|
300 |
* @return array[] |
|
301 |
* @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string}>}> |
|
302 |
*/ |
|
303 |
private static function getInstalled() |
|
304 |
{ |
|
305 |
if (null === self::$canGetVendors) { |
|
306 |
self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders'); |
|
307 |
} |
|
308 |
|
|
309 |
$installed = array(); |
|
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]; |
|
319 |
} |
|
320 |
} |
|
321 |
} |
|
322 |
} |
|
323 |
|
|
324 |
if (null === self::$installed) { |
|
325 |
// only require the installed.php file if this file is loaded from its dumped location, |
|
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') { |
|
328 |
self::$installed = require __DIR__ . '/installed.php'; |
|
329 |
} else { |
|
330 |
self::$installed = array(); |
|
331 |
} |
|
332 |
} |
|
333 |
$installed[] = self::$installed; |
|
334 |
|
|
335 |
return $installed; |
|
336 |
} |
|
337 |
} |
vendor/composer/LICENSE | ||
---|---|---|
1 |
|
|
2 |
Copyright (c) Nils Adermann, Jordi Boggiano |
|
3 |
|
|
4 |
Permission is hereby granted, free of charge, to any person obtaining a copy |
|
5 |
of this software and associated documentation files (the "Software"), to deal |
|
6 |
in the Software without restriction, including without limitation the rights |
|
7 |
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
|
8 |
copies of the Software, and to permit persons to whom the Software is furnished |
|
9 |
to do so, subject to the following conditions: |
|
10 |
|
|
11 |
The above copyright notice and this permission notice shall be included in all |
|
12 |
copies or substantial portions of the Software. |
|
13 |
|
|
14 |
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
|
15 |
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
|
16 |
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
|
17 |
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
|
18 |
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
|
19 |
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN |
|
20 |
THE SOFTWARE. |
|
21 |
|
vendor/composer/autoload_classmap.php | ||
---|---|---|
1 |
<?php |
|
2 |
|
|
3 |
// autoload_classmap.php @generated by Composer |
|
4 |
|
|
5 |
$vendorDir = dirname(dirname(__FILE__)); |
|
6 |
$baseDir = dirname($vendorDir); |
|
7 |
|
|
8 |
return array( |
|
9 |
'App\\Console\\Commands\\Expresso\\SieveGetUid' => $baseDir . '/app/Console/Commands/Expresso/SieveGetUid.php', |
|
10 |
'App\\Console\\Commands\\Sogo\\Preferences' => $baseDir . '/app/Console/Commands/Sogo/Preferences.php', |
|
11 |
'App\\Console\\Kernel' => $baseDir . '/app/Console/Kernel.php', |
|
12 |
'App\\Events\\Event' => $baseDir . '/app/Events/Event.php', |
|
13 |
'App\\Events\\ExampleEvent' => $baseDir . '/app/Events/ExampleEvent.php', |
|
14 |
'App\\Exceptions\\Handler' => $baseDir . '/app/Exceptions/Handler.php', |
|
15 |
'App\\Http\\Controllers\\Controller' => $baseDir . '/app/Http/Controllers/Controller.php', |
|
16 |
'App\\Http\\Controllers\\ExampleController' => $baseDir . '/app/Http/Controllers/ExampleController.php', |
|
17 |
'App\\Http\\Middleware\\Authenticate' => $baseDir . '/app/Http/Middleware/Authenticate.php', |
|
18 |
'App\\Http\\Middleware\\ExampleMiddleware' => $baseDir . '/app/Http/Middleware/ExampleMiddleware.php', |
|
19 |
'App\\Jobs\\ExampleJob' => $baseDir . '/app/Jobs/ExampleJob.php', |
|
20 |
'App\\Jobs\\Job' => $baseDir . '/app/Jobs/Job.php', |
|
21 |
'App\\Listeners\\ExampleListener' => $baseDir . '/app/Listeners/ExampleListener.php', |
|
22 |
'App\\Models\\Expresso\\SieveRules' => $baseDir . '/app/Models/Expresso/SieveRules.php', |
|
23 |
'App\\Models\\User' => $baseDir . '/app/Models/User.php', |
|
24 |
'App\\Providers\\AppServiceProvider' => $baseDir . '/app/Providers/AppServiceProvider.php', |
|
25 |
'App\\Providers\\AuthServiceProvider' => $baseDir . '/app/Providers/AuthServiceProvider.php', |
|
26 |
'App\\Providers\\EventServiceProvider' => $baseDir . '/app/Providers/EventServiceProvider.php', |
|
27 |
'Attribute' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/Attribute.php', |
|
28 |
'Brick\\Math\\BigDecimal' => $vendorDir . '/brick/math/src/BigDecimal.php', |
|
29 |
'Brick\\Math\\BigInteger' => $vendorDir . '/brick/math/src/BigInteger.php', |
|
30 |
'Brick\\Math\\BigNumber' => $vendorDir . '/brick/math/src/BigNumber.php', |
|
31 |
'Brick\\Math\\BigRational' => $vendorDir . '/brick/math/src/BigRational.php', |
|
32 |
'Brick\\Math\\Exception\\DivisionByZeroException' => $vendorDir . '/brick/math/src/Exception/DivisionByZeroException.php', |
|
33 |
'Brick\\Math\\Exception\\IntegerOverflowException' => $vendorDir . '/brick/math/src/Exception/IntegerOverflowException.php', |
|
34 |
'Brick\\Math\\Exception\\MathException' => $vendorDir . '/brick/math/src/Exception/MathException.php', |
|
35 |
'Brick\\Math\\Exception\\NegativeNumberException' => $vendorDir . '/brick/math/src/Exception/NegativeNumberException.php', |
|
36 |
'Brick\\Math\\Exception\\NumberFormatException' => $vendorDir . '/brick/math/src/Exception/NumberFormatException.php', |
|
37 |
'Brick\\Math\\Exception\\RoundingNecessaryException' => $vendorDir . '/brick/math/src/Exception/RoundingNecessaryException.php', |
|
38 |
'Brick\\Math\\Internal\\Calculator' => $vendorDir . '/brick/math/src/Internal/Calculator.php', |
|
39 |
'Brick\\Math\\Internal\\Calculator\\BcMathCalculator' => $vendorDir . '/brick/math/src/Internal/Calculator/BcMathCalculator.php', |
|
40 |
'Brick\\Math\\Internal\\Calculator\\GmpCalculator' => $vendorDir . '/brick/math/src/Internal/Calculator/GmpCalculator.php', |
|
41 |
'Brick\\Math\\Internal\\Calculator\\NativeCalculator' => $vendorDir . '/brick/math/src/Internal/Calculator/NativeCalculator.php', |
|
42 |
'Brick\\Math\\RoundingMode' => $vendorDir . '/brick/math/src/RoundingMode.php', |
|
43 |
'Carbon\\Carbon' => $vendorDir . '/nesbot/carbon/src/Carbon/Carbon.php', |
|
44 |
'Carbon\\CarbonConverterInterface' => $vendorDir . '/nesbot/carbon/src/Carbon/CarbonConverterInterface.php', |
|
45 |
'Carbon\\CarbonImmutable' => $vendorDir . '/nesbot/carbon/src/Carbon/CarbonImmutable.php', |
|
46 |
'Carbon\\CarbonInterface' => $vendorDir . '/nesbot/carbon/src/Carbon/CarbonInterface.php', |
|
47 |
'Carbon\\CarbonInterval' => $vendorDir . '/nesbot/carbon/src/Carbon/CarbonInterval.php', |
|
48 |
'Carbon\\CarbonPeriod' => $vendorDir . '/nesbot/carbon/src/Carbon/CarbonPeriod.php', |
|
49 |
'Carbon\\CarbonTimeZone' => $vendorDir . '/nesbot/carbon/src/Carbon/CarbonTimeZone.php', |
|
50 |
'Carbon\\Cli\\Invoker' => $vendorDir . '/nesbot/carbon/src/Carbon/Cli/Invoker.php', |
|
51 |
'Carbon\\Doctrine\\CarbonDoctrineType' => $vendorDir . '/nesbot/carbon/src/Carbon/Doctrine/CarbonDoctrineType.php', |
|
52 |
'Carbon\\Doctrine\\CarbonImmutableType' => $vendorDir . '/nesbot/carbon/src/Carbon/Doctrine/CarbonImmutableType.php', |
|
53 |
'Carbon\\Doctrine\\CarbonType' => $vendorDir . '/nesbot/carbon/src/Carbon/Doctrine/CarbonType.php', |
|
54 |
'Carbon\\Doctrine\\CarbonTypeConverter' => $vendorDir . '/nesbot/carbon/src/Carbon/Doctrine/CarbonTypeConverter.php', |
|
55 |
'Carbon\\Doctrine\\DateTimeDefaultPrecision' => $vendorDir . '/nesbot/carbon/src/Carbon/Doctrine/DateTimeDefaultPrecision.php', |
|
56 |
'Carbon\\Doctrine\\DateTimeImmutableType' => $vendorDir . '/nesbot/carbon/src/Carbon/Doctrine/DateTimeImmutableType.php', |
|
57 |
'Carbon\\Doctrine\\DateTimeType' => $vendorDir . '/nesbot/carbon/src/Carbon/Doctrine/DateTimeType.php', |
|
58 |
'Carbon\\Exceptions\\BadComparisonUnitException' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/BadComparisonUnitException.php', |
|
59 |
'Carbon\\Exceptions\\BadFluentConstructorException' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/BadFluentConstructorException.php', |
|
60 |
'Carbon\\Exceptions\\BadFluentSetterException' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/BadFluentSetterException.php', |
|
61 |
'Carbon\\Exceptions\\BadMethodCallException' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/BadMethodCallException.php', |
|
62 |
'Carbon\\Exceptions\\Exception' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/Exception.php', |
|
63 |
'Carbon\\Exceptions\\ImmutableException' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/ImmutableException.php', |
|
64 |
'Carbon\\Exceptions\\InvalidArgumentException' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/InvalidArgumentException.php', |
|
65 |
'Carbon\\Exceptions\\InvalidCastException' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/InvalidCastException.php', |
|
66 |
'Carbon\\Exceptions\\InvalidDateException' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/InvalidDateException.php', |
|
67 |
'Carbon\\Exceptions\\InvalidFormatException' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/InvalidFormatException.php', |
|
68 |
'Carbon\\Exceptions\\InvalidIntervalException' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/InvalidIntervalException.php', |
|
69 |
'Carbon\\Exceptions\\InvalidPeriodDateException' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/InvalidPeriodDateException.php', |
|
70 |
'Carbon\\Exceptions\\InvalidPeriodParameterException' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/InvalidPeriodParameterException.php', |
|
71 |
'Carbon\\Exceptions\\InvalidTimeZoneException' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/InvalidTimeZoneException.php', |
|
72 |
'Carbon\\Exceptions\\InvalidTypeException' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/InvalidTypeException.php', |
|
73 |
'Carbon\\Exceptions\\NotACarbonClassException' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/NotACarbonClassException.php', |
|
74 |
'Carbon\\Exceptions\\NotAPeriodException' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/NotAPeriodException.php', |
|
75 |
'Carbon\\Exceptions\\NotLocaleAwareException' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/NotLocaleAwareException.php', |
|
76 |
'Carbon\\Exceptions\\OutOfRangeException' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/OutOfRangeException.php', |
|
77 |
'Carbon\\Exceptions\\ParseErrorException' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/ParseErrorException.php', |
|
78 |
'Carbon\\Exceptions\\RuntimeException' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/RuntimeException.php', |
|
79 |
'Carbon\\Exceptions\\UnitException' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/UnitException.php', |
|
80 |
'Carbon\\Exceptions\\UnitNotConfiguredException' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/UnitNotConfiguredException.php', |
|
81 |
'Carbon\\Exceptions\\UnknownGetterException' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/UnknownGetterException.php', |
|
82 |
'Carbon\\Exceptions\\UnknownMethodException' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/UnknownMethodException.php', |
|
83 |
'Carbon\\Exceptions\\UnknownSetterException' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/UnknownSetterException.php', |
|
84 |
'Carbon\\Exceptions\\UnknownUnitException' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/UnknownUnitException.php', |
|
85 |
'Carbon\\Exceptions\\UnreachableException' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/UnreachableException.php', |
|
86 |
'Carbon\\Factory' => $vendorDir . '/nesbot/carbon/src/Carbon/Factory.php', |
|
87 |
'Carbon\\FactoryImmutable' => $vendorDir . '/nesbot/carbon/src/Carbon/FactoryImmutable.php', |
|
88 |
'Carbon\\Language' => $vendorDir . '/nesbot/carbon/src/Carbon/Language.php', |
|
89 |
'Carbon\\Laravel\\ServiceProvider' => $vendorDir . '/nesbot/carbon/src/Carbon/Laravel/ServiceProvider.php', |
|
90 |
'Carbon\\PHPStan\\Macro' => $vendorDir . '/nesbot/carbon/src/Carbon/PHPStan/Macro.php', |
|
91 |
'Carbon\\PHPStan\\MacroExtension' => $vendorDir . '/nesbot/carbon/src/Carbon/PHPStan/MacroExtension.php', |
|
92 |
'Carbon\\PHPStan\\MacroScanner' => $vendorDir . '/nesbot/carbon/src/Carbon/PHPStan/MacroScanner.php', |
|
93 |
'Carbon\\Traits\\Boundaries' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Boundaries.php', |
|
94 |
'Carbon\\Traits\\Cast' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Cast.php', |
|
95 |
'Carbon\\Traits\\Comparison' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Comparison.php', |
|
96 |
'Carbon\\Traits\\Converter' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Converter.php', |
|
97 |
'Carbon\\Traits\\Creator' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Creator.php', |
|
98 |
'Carbon\\Traits\\Date' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Date.php', |
|
99 |
'Carbon\\Traits\\Difference' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Difference.php', |
|
100 |
'Carbon\\Traits\\IntervalRounding' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/IntervalRounding.php', |
|
101 |
'Carbon\\Traits\\IntervalStep' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/IntervalStep.php', |
|
102 |
'Carbon\\Traits\\Localization' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Localization.php', |
|
103 |
'Carbon\\Traits\\Macro' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Macro.php', |
|
104 |
'Carbon\\Traits\\Mixin' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Mixin.php', |
|
105 |
'Carbon\\Traits\\Modifiers' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Modifiers.php', |
|
106 |
'Carbon\\Traits\\Mutability' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Mutability.php', |
|
107 |
'Carbon\\Traits\\ObjectInitialisation' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/ObjectInitialisation.php', |
|
108 |
'Carbon\\Traits\\Options' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Options.php', |
|
109 |
'Carbon\\Traits\\Rounding' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Rounding.php', |
|
110 |
'Carbon\\Traits\\Serialization' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Serialization.php', |
|
111 |
'Carbon\\Traits\\Test' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Test.php', |
|
112 |
'Carbon\\Traits\\Timestamp' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Timestamp.php', |
|
113 |
'Carbon\\Traits\\Units' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Units.php', |
|
114 |
'Carbon\\Traits\\Week' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Week.php', |
|
115 |
'Carbon\\Translator' => $vendorDir . '/nesbot/carbon/src/Carbon/Translator.php', |
|
116 |
'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php', |
|
117 |
'Cron\\AbstractField' => $vendorDir . '/dragonmantank/cron-expression/src/Cron/AbstractField.php', |
|
118 |
'Cron\\CronExpression' => $vendorDir . '/dragonmantank/cron-expression/src/Cron/CronExpression.php', |
|
119 |
'Cron\\DayOfMonthField' => $vendorDir . '/dragonmantank/cron-expression/src/Cron/DayOfMonthField.php', |
|
120 |
'Cron\\DayOfWeekField' => $vendorDir . '/dragonmantank/cron-expression/src/Cron/DayOfWeekField.php', |
|
121 |
'Cron\\FieldFactory' => $vendorDir . '/dragonmantank/cron-expression/src/Cron/FieldFactory.php', |
|
122 |
'Cron\\FieldFactoryInterface' => $vendorDir . '/dragonmantank/cron-expression/src/Cron/FieldFactoryInterface.php', |
|
123 |
'Cron\\FieldInterface' => $vendorDir . '/dragonmantank/cron-expression/src/Cron/FieldInterface.php', |
|
124 |
'Cron\\HoursField' => $vendorDir . '/dragonmantank/cron-expression/src/Cron/HoursField.php', |
|
125 |
'Cron\\MinutesField' => $vendorDir . '/dragonmantank/cron-expression/src/Cron/MinutesField.php', |
|
126 |
'Cron\\MonthField' => $vendorDir . '/dragonmantank/cron-expression/src/Cron/MonthField.php', |
|
127 |
'Database\\Factories\\UserFactory' => $baseDir . '/database/factories/UserFactory.php', |
|
128 |
'Database\\Seeders\\DatabaseSeeder' => $baseDir . '/database/seeders/DatabaseSeeder.php', |
|
129 |
'DeepCopy\\DeepCopy' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/DeepCopy.php', |
|
130 |
'DeepCopy\\Exception\\CloneException' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Exception/CloneException.php', |
|
131 |
'DeepCopy\\Exception\\PropertyException' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Exception/PropertyException.php', |
|
132 |
'DeepCopy\\Filter\\Doctrine\\DoctrineCollectionFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Filter/Doctrine/DoctrineCollectionFilter.php', |
|
133 |
'DeepCopy\\Filter\\Doctrine\\DoctrineEmptyCollectionFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Filter/Doctrine/DoctrineEmptyCollectionFilter.php', |
|
134 |
'DeepCopy\\Filter\\Doctrine\\DoctrineProxyFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Filter/Doctrine/DoctrineProxyFilter.php', |
|
135 |
'DeepCopy\\Filter\\Filter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Filter/Filter.php', |
|
136 |
'DeepCopy\\Filter\\KeepFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Filter/KeepFilter.php', |
|
137 |
'DeepCopy\\Filter\\ReplaceFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Filter/ReplaceFilter.php', |
|
138 |
'DeepCopy\\Filter\\SetNullFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Filter/SetNullFilter.php', |
|
139 |
'DeepCopy\\Matcher\\Doctrine\\DoctrineProxyMatcher' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Matcher/Doctrine/DoctrineProxyMatcher.php', |
|
140 |
'DeepCopy\\Matcher\\Matcher' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Matcher/Matcher.php', |
|
141 |
'DeepCopy\\Matcher\\PropertyMatcher' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Matcher/PropertyMatcher.php', |
|
142 |
'DeepCopy\\Matcher\\PropertyNameMatcher' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Matcher/PropertyNameMatcher.php', |
|
143 |
'DeepCopy\\Matcher\\PropertyTypeMatcher' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Matcher/PropertyTypeMatcher.php', |
|
144 |
'DeepCopy\\Reflection\\ReflectionHelper' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Reflection/ReflectionHelper.php', |
|
145 |
'DeepCopy\\TypeFilter\\Date\\DateIntervalFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Date/DateIntervalFilter.php', |
|
146 |
'DeepCopy\\TypeFilter\\ReplaceFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/ReplaceFilter.php', |
|
147 |
'DeepCopy\\TypeFilter\\ShallowCopyFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/ShallowCopyFilter.php', |
|
148 |
'DeepCopy\\TypeFilter\\Spl\\ArrayObjectFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Spl/ArrayObjectFilter.php', |
|
149 |
'DeepCopy\\TypeFilter\\Spl\\SplDoublyLinkedList' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Spl/SplDoublyLinkedList.php', |
|
150 |
'DeepCopy\\TypeFilter\\Spl\\SplDoublyLinkedListFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Spl/SplDoublyLinkedListFilter.php', |
|
151 |
'DeepCopy\\TypeFilter\\TypeFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/TypeFilter.php', |
|
152 |
'DeepCopy\\TypeMatcher\\TypeMatcher' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeMatcher/TypeMatcher.php', |
|
153 |
'Doctrine\\Common\\Lexer\\AbstractLexer' => $vendorDir . '/doctrine/lexer/lib/Doctrine/Common/Lexer/AbstractLexer.php', |
|
154 |
'Doctrine\\Inflector\\CachedWordInflector' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/CachedWordInflector.php', |
|
155 |
'Doctrine\\Inflector\\GenericLanguageInflectorFactory' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/GenericLanguageInflectorFactory.php', |
|
156 |
'Doctrine\\Inflector\\Inflector' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Inflector.php', |
|
157 |
'Doctrine\\Inflector\\InflectorFactory' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/InflectorFactory.php', |
|
158 |
'Doctrine\\Inflector\\Language' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Language.php', |
|
159 |
'Doctrine\\Inflector\\LanguageInflectorFactory' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/LanguageInflectorFactory.php', |
|
160 |
'Doctrine\\Inflector\\NoopWordInflector' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/NoopWordInflector.php', |
|
161 |
'Doctrine\\Inflector\\Rules\\English\\Inflectible' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/English/Inflectible.php', |
|
162 |
'Doctrine\\Inflector\\Rules\\English\\InflectorFactory' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/English/InflectorFactory.php', |
|
163 |
'Doctrine\\Inflector\\Rules\\English\\Rules' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/English/Rules.php', |
|
164 |
'Doctrine\\Inflector\\Rules\\English\\Uninflected' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/English/Uninflected.php', |
|
165 |
'Doctrine\\Inflector\\Rules\\French\\Inflectible' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/French/Inflectible.php', |
|
166 |
'Doctrine\\Inflector\\Rules\\French\\InflectorFactory' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/French/InflectorFactory.php', |
|
167 |
'Doctrine\\Inflector\\Rules\\French\\Rules' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/French/Rules.php', |
|
168 |
'Doctrine\\Inflector\\Rules\\French\\Uninflected' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/French/Uninflected.php', |
|
169 |
'Doctrine\\Inflector\\Rules\\NorwegianBokmal\\Inflectible' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/NorwegianBokmal/Inflectible.php', |
|
170 |
'Doctrine\\Inflector\\Rules\\NorwegianBokmal\\InflectorFactory' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/NorwegianBokmal/InflectorFactory.php', |
|
171 |
'Doctrine\\Inflector\\Rules\\NorwegianBokmal\\Rules' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/NorwegianBokmal/Rules.php', |
|
172 |
'Doctrine\\Inflector\\Rules\\NorwegianBokmal\\Uninflected' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/NorwegianBokmal/Uninflected.php', |
|
173 |
'Doctrine\\Inflector\\Rules\\Pattern' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/Pattern.php', |
|
174 |
'Doctrine\\Inflector\\Rules\\Patterns' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/Patterns.php', |
|
175 |
'Doctrine\\Inflector\\Rules\\Portuguese\\Inflectible' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/Portuguese/Inflectible.php', |
|
176 |
'Doctrine\\Inflector\\Rules\\Portuguese\\InflectorFactory' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/Portuguese/InflectorFactory.php', |
|
177 |
'Doctrine\\Inflector\\Rules\\Portuguese\\Rules' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/Portuguese/Rules.php', |
|
178 |
'Doctrine\\Inflector\\Rules\\Portuguese\\Uninflected' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/Portuguese/Uninflected.php', |
|
179 |
'Doctrine\\Inflector\\Rules\\Ruleset' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/Ruleset.php', |
|
180 |
'Doctrine\\Inflector\\Rules\\Spanish\\Inflectible' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/Spanish/Inflectible.php', |
|
181 |
'Doctrine\\Inflector\\Rules\\Spanish\\InflectorFactory' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/Spanish/InflectorFactory.php', |
|
182 |
'Doctrine\\Inflector\\Rules\\Spanish\\Rules' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/Spanish/Rules.php', |
|
183 |
'Doctrine\\Inflector\\Rules\\Spanish\\Uninflected' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/Spanish/Uninflected.php', |
|
184 |
'Doctrine\\Inflector\\Rules\\Substitution' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/Substitution.php', |
|
185 |
'Doctrine\\Inflector\\Rules\\Substitutions' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/Substitutions.php', |
|
186 |
'Doctrine\\Inflector\\Rules\\Transformation' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/Transformation.php', |
|
187 |
'Doctrine\\Inflector\\Rules\\Transformations' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/Transformations.php', |
|
188 |
'Doctrine\\Inflector\\Rules\\Turkish\\Inflectible' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/Turkish/Inflectible.php', |
|
189 |
'Doctrine\\Inflector\\Rules\\Turkish\\InflectorFactory' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/Turkish/InflectorFactory.php', |
|
190 |
'Doctrine\\Inflector\\Rules\\Turkish\\Rules' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/Turkish/Rules.php', |
|
191 |
'Doctrine\\Inflector\\Rules\\Turkish\\Uninflected' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/Turkish/Uninflected.php', |
|
192 |
'Doctrine\\Inflector\\Rules\\Word' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/Word.php', |
|
193 |
'Doctrine\\Inflector\\RulesetInflector' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/RulesetInflector.php', |
|
194 |
'Doctrine\\Inflector\\WordInflector' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/WordInflector.php', |
|
195 |
'Doctrine\\Instantiator\\Exception\\ExceptionInterface' => $vendorDir . '/doctrine/instantiator/src/Doctrine/Instantiator/Exception/ExceptionInterface.php', |
|
196 |
'Doctrine\\Instantiator\\Exception\\InvalidArgumentException' => $vendorDir . '/doctrine/instantiator/src/Doctrine/Instantiator/Exception/InvalidArgumentException.php', |
|
197 |
'Doctrine\\Instantiator\\Exception\\UnexpectedValueException' => $vendorDir . '/doctrine/instantiator/src/Doctrine/Instantiator/Exception/UnexpectedValueException.php', |
|
198 |
'Doctrine\\Instantiator\\Instantiator' => $vendorDir . '/doctrine/instantiator/src/Doctrine/Instantiator/Instantiator.php', |
|
199 |
'Doctrine\\Instantiator\\InstantiatorInterface' => $vendorDir . '/doctrine/instantiator/src/Doctrine/Instantiator/InstantiatorInterface.php', |
|
200 |
'Dotenv\\Dotenv' => $vendorDir . '/vlucas/phpdotenv/src/Dotenv.php', |
|
201 |
'Dotenv\\Exception\\ExceptionInterface' => $vendorDir . '/vlucas/phpdotenv/src/Exception/ExceptionInterface.php', |
|
202 |
'Dotenv\\Exception\\InvalidEncodingException' => $vendorDir . '/vlucas/phpdotenv/src/Exception/InvalidEncodingException.php', |
|
203 |
'Dotenv\\Exception\\InvalidFileException' => $vendorDir . '/vlucas/phpdotenv/src/Exception/InvalidFileException.php', |
|
204 |
'Dotenv\\Exception\\InvalidPathException' => $vendorDir . '/vlucas/phpdotenv/src/Exception/InvalidPathException.php', |
|
205 |
'Dotenv\\Exception\\ValidationException' => $vendorDir . '/vlucas/phpdotenv/src/Exception/ValidationException.php', |
|
206 |
'Dotenv\\Loader\\Loader' => $vendorDir . '/vlucas/phpdotenv/src/Loader/Loader.php', |
|
207 |
'Dotenv\\Loader\\LoaderInterface' => $vendorDir . '/vlucas/phpdotenv/src/Loader/LoaderInterface.php', |
|
208 |
'Dotenv\\Loader\\Resolver' => $vendorDir . '/vlucas/phpdotenv/src/Loader/Resolver.php', |
|
209 |
'Dotenv\\Parser\\Entry' => $vendorDir . '/vlucas/phpdotenv/src/Parser/Entry.php', |
|
210 |
'Dotenv\\Parser\\EntryParser' => $vendorDir . '/vlucas/phpdotenv/src/Parser/EntryParser.php', |
|
211 |
'Dotenv\\Parser\\Lexer' => $vendorDir . '/vlucas/phpdotenv/src/Parser/Lexer.php', |
|
212 |
'Dotenv\\Parser\\Lines' => $vendorDir . '/vlucas/phpdotenv/src/Parser/Lines.php', |
|
213 |
'Dotenv\\Parser\\Parser' => $vendorDir . '/vlucas/phpdotenv/src/Parser/Parser.php', |
|
214 |
'Dotenv\\Parser\\ParserInterface' => $vendorDir . '/vlucas/phpdotenv/src/Parser/ParserInterface.php', |
|
215 |
'Dotenv\\Parser\\Value' => $vendorDir . '/vlucas/phpdotenv/src/Parser/Value.php', |
|
216 |
'Dotenv\\Repository\\AdapterRepository' => $vendorDir . '/vlucas/phpdotenv/src/Repository/AdapterRepository.php', |
|
217 |
'Dotenv\\Repository\\Adapter\\AdapterInterface' => $vendorDir . '/vlucas/phpdotenv/src/Repository/Adapter/AdapterInterface.php', |
|
218 |
'Dotenv\\Repository\\Adapter\\ApacheAdapter' => $vendorDir . '/vlucas/phpdotenv/src/Repository/Adapter/ApacheAdapter.php', |
|
219 |
'Dotenv\\Repository\\Adapter\\ArrayAdapter' => $vendorDir . '/vlucas/phpdotenv/src/Repository/Adapter/ArrayAdapter.php', |
|
220 |
'Dotenv\\Repository\\Adapter\\EnvConstAdapter' => $vendorDir . '/vlucas/phpdotenv/src/Repository/Adapter/EnvConstAdapter.php', |
|
221 |
'Dotenv\\Repository\\Adapter\\GuardedWriter' => $vendorDir . '/vlucas/phpdotenv/src/Repository/Adapter/GuardedWriter.php', |
|
222 |
'Dotenv\\Repository\\Adapter\\ImmutableWriter' => $vendorDir . '/vlucas/phpdotenv/src/Repository/Adapter/ImmutableWriter.php', |
|
223 |
'Dotenv\\Repository\\Adapter\\MultiReader' => $vendorDir . '/vlucas/phpdotenv/src/Repository/Adapter/MultiReader.php', |
|
224 |
'Dotenv\\Repository\\Adapter\\MultiWriter' => $vendorDir . '/vlucas/phpdotenv/src/Repository/Adapter/MultiWriter.php', |
|
225 |
'Dotenv\\Repository\\Adapter\\PutenvAdapter' => $vendorDir . '/vlucas/phpdotenv/src/Repository/Adapter/PutenvAdapter.php', |
|
226 |
'Dotenv\\Repository\\Adapter\\ReaderInterface' => $vendorDir . '/vlucas/phpdotenv/src/Repository/Adapter/ReaderInterface.php', |
|
227 |
'Dotenv\\Repository\\Adapter\\ReplacingWriter' => $vendorDir . '/vlucas/phpdotenv/src/Repository/Adapter/ReplacingWriter.php', |
|
228 |
'Dotenv\\Repository\\Adapter\\ServerConstAdapter' => $vendorDir . '/vlucas/phpdotenv/src/Repository/Adapter/ServerConstAdapter.php', |
|
229 |
'Dotenv\\Repository\\Adapter\\WriterInterface' => $vendorDir . '/vlucas/phpdotenv/src/Repository/Adapter/WriterInterface.php', |
|
230 |
'Dotenv\\Repository\\RepositoryBuilder' => $vendorDir . '/vlucas/phpdotenv/src/Repository/RepositoryBuilder.php', |
|
231 |
'Dotenv\\Repository\\RepositoryInterface' => $vendorDir . '/vlucas/phpdotenv/src/Repository/RepositoryInterface.php', |
|
232 |
'Dotenv\\Store\\FileStore' => $vendorDir . '/vlucas/phpdotenv/src/Store/FileStore.php', |
|
233 |
'Dotenv\\Store\\File\\Paths' => $vendorDir . '/vlucas/phpdotenv/src/Store/File/Paths.php', |
|
234 |
'Dotenv\\Store\\File\\Reader' => $vendorDir . '/vlucas/phpdotenv/src/Store/File/Reader.php', |
|
235 |
'Dotenv\\Store\\StoreBuilder' => $vendorDir . '/vlucas/phpdotenv/src/Store/StoreBuilder.php', |
|
236 |
'Dotenv\\Store\\StoreInterface' => $vendorDir . '/vlucas/phpdotenv/src/Store/StoreInterface.php', |
|
237 |
'Dotenv\\Store\\StringStore' => $vendorDir . '/vlucas/phpdotenv/src/Store/StringStore.php', |
|
238 |
'Dotenv\\Util\\Regex' => $vendorDir . '/vlucas/phpdotenv/src/Util/Regex.php', |
|
239 |
'Dotenv\\Util\\Str' => $vendorDir . '/vlucas/phpdotenv/src/Util/Str.php', |
|
240 |
'Dotenv\\Validator' => $vendorDir . '/vlucas/phpdotenv/src/Validator.php', |
|
241 |
'Egulias\\EmailValidator\\EmailLexer' => $vendorDir . '/egulias/email-validator/src/EmailLexer.php', |
|
242 |
'Egulias\\EmailValidator\\EmailParser' => $vendorDir . '/egulias/email-validator/src/EmailParser.php', |
|
243 |
'Egulias\\EmailValidator\\EmailValidator' => $vendorDir . '/egulias/email-validator/src/EmailValidator.php', |
|
244 |
'Egulias\\EmailValidator\\Exception\\AtextAfterCFWS' => $vendorDir . '/egulias/email-validator/src/Exception/AtextAfterCFWS.php', |
|
245 |
'Egulias\\EmailValidator\\Exception\\CRLFAtTheEnd' => $vendorDir . '/egulias/email-validator/src/Exception/CRLFAtTheEnd.php', |
|
246 |
'Egulias\\EmailValidator\\Exception\\CRLFX2' => $vendorDir . '/egulias/email-validator/src/Exception/CRLFX2.php', |
|
247 |
'Egulias\\EmailValidator\\Exception\\CRNoLF' => $vendorDir . '/egulias/email-validator/src/Exception/CRNoLF.php', |
|
248 |
'Egulias\\EmailValidator\\Exception\\CharNotAllowed' => $vendorDir . '/egulias/email-validator/src/Exception/CharNotAllowed.php', |
|
249 |
'Egulias\\EmailValidator\\Exception\\CommaInDomain' => $vendorDir . '/egulias/email-validator/src/Exception/CommaInDomain.php', |
|
250 |
'Egulias\\EmailValidator\\Exception\\ConsecutiveAt' => $vendorDir . '/egulias/email-validator/src/Exception/ConsecutiveAt.php', |
|
251 |
'Egulias\\EmailValidator\\Exception\\ConsecutiveDot' => $vendorDir . '/egulias/email-validator/src/Exception/ConsecutiveDot.php', |
|
252 |
'Egulias\\EmailValidator\\Exception\\DomainAcceptsNoMail' => $vendorDir . '/egulias/email-validator/src/Exception/DomainAcceptsNoMail.php', |
|
253 |
'Egulias\\EmailValidator\\Exception\\DomainHyphened' => $vendorDir . '/egulias/email-validator/src/Exception/DomainHyphened.php', |
|
254 |
'Egulias\\EmailValidator\\Exception\\DotAtEnd' => $vendorDir . '/egulias/email-validator/src/Exception/DotAtEnd.php', |
|
255 |
'Egulias\\EmailValidator\\Exception\\DotAtStart' => $vendorDir . '/egulias/email-validator/src/Exception/DotAtStart.php', |
|
256 |
'Egulias\\EmailValidator\\Exception\\ExpectingAT' => $vendorDir . '/egulias/email-validator/src/Exception/ExpectingAT.php', |
|
257 |
'Egulias\\EmailValidator\\Exception\\ExpectingATEXT' => $vendorDir . '/egulias/email-validator/src/Exception/ExpectingATEXT.php', |
|
258 |
'Egulias\\EmailValidator\\Exception\\ExpectingCTEXT' => $vendorDir . '/egulias/email-validator/src/Exception/ExpectingCTEXT.php', |
|
259 |
'Egulias\\EmailValidator\\Exception\\ExpectingDTEXT' => $vendorDir . '/egulias/email-validator/src/Exception/ExpectingDTEXT.php', |
|
260 |
'Egulias\\EmailValidator\\Exception\\ExpectingDomainLiteralClose' => $vendorDir . '/egulias/email-validator/src/Exception/ExpectingDomainLiteralClose.php', |
Exportar para Unified diff