Version Description
Fixes and improvements
- Fix bug when using switch_to_blog() in combination with Timber images by @gchtr in https://github.com/timber/timber/pull/2478
- Fix the
thumbnail()
method return type by @titouanmathis in https://github.com/timber/timber/pull/2463 - Merge in 2.x GH Actions changes by @jarednova in https://github.com/timber/timber/pull/2484
- Adds @nlemoine to the contribs list! by @jarednova in https://github.com/timber/timber/pull/2488
Bump version of Upstatement/Routes to 0.8.1 by @jarednova in https://github.com/timber/timber/pull/2512
@titouanmathis made their first contribution in https://github.com/timber/timber/pull/2463
Full Changelog: https://github.com/timber/timber/compare/1.19.0...1.19.1
Download this release
Release Info
Developer | jarednova |
Plugin | Timber |
Version | 1.19.1 |
Comparing to | |
See all releases |
Code changes from version 1.19.0 to 1.19.1
- README.md +2 -3
- lib/Image.php +9 -1
- lib/Post.php +1 -1
- lib/Timber.php +1 -1
- readme.txt +20 -2
- timber.php +1 -1
- vendor/altorouter/altorouter/AltoRouter.php +1 -1
- vendor/altorouter/altorouter/README.md +1 -1
- vendor/autoload.php +1 -1
- vendor/composer/ClassLoader.php +142 -15
- vendor/composer/InstalledVersions.php +337 -0
- vendor/composer/autoload_classmap.php +1 -0
- vendor/composer/autoload_real.php +11 -9
- vendor/composer/autoload_static.php +7 -6
- vendor/composer/installed.json +510 -476
- vendor/composer/installed.php +89 -0
- vendor/composer/platform_check.php +26 -0
- vendor/upstatement/routes/README.md +0 -1
- vendor/upstatement/routes/Routes.php +3 -3
- vendor/upstatement/routes/composer.json +6 -6
README.md
CHANGED
@@ -5,9 +5,9 @@
|
|
5 |
By
|
6 |
[Jared Novack](https://github.com/jarednova) ([@jarednova](https://twitter.com/jarednova)),
|
7 |
[Lukas Gächter](https://github.com/gchtr) ([@lgaechter](https://twitter.com/lgaechter)),
|
8 |
-
[Pascal Knecht](https://github.com/pascalknecht) ([@pascalknecht](https://twitter.com/revenwo)),
|
9 |
-
[Maciej Palmowski](https://github.com/palmiak) ([@palmiak_fp](https://twitter.com/palmiak_fp)),
|
10 |
[Coby Tamayo](https://github.com/acobster) ([@cobytamayo](https://keybase.io/acobster)),
|
|
|
|
|
11 |
[Upstatement](https://twitter.com/upstatement) and [hundreds of other GitHub contributors](https://github.com/timber/timber/graphs/contributors)
|
12 |
|
13 |
[![Build Status](https://img.shields.io/travis/timber/timber/master?style=flat-square)](https://app.travis-ci.com/github/timber/timber/branches)
|
@@ -17,7 +17,6 @@ By
|
|
17 |
[![WordPress Download Count](https://img.shields.io/wordpress/plugin/dt/timber-library.svg?style=flat-square)](https://wordpress.org/plugins/timber-library/)
|
18 |
[![WordPress Rating](https://img.shields.io/wordpress/plugin/r/timber-library.svg?style=flat-square)](https://wordpress.org/support/plugin/timber-library/reviews/)
|
19 |
|
20 |
-
|
21 |
### Because WordPress is awesome, but the_loop isn't
|
22 |
Timber helps you create fully-customized WordPress themes faster with more sustainable code. With Timber, you write your HTML using the [Twig Template Engine](https://twig.symfony.com/) separate from your PHP files.
|
23 |
|
5 |
By
|
6 |
[Jared Novack](https://github.com/jarednova) ([@jarednova](https://twitter.com/jarednova)),
|
7 |
[Lukas Gächter](https://github.com/gchtr) ([@lgaechter](https://twitter.com/lgaechter)),
|
|
|
|
|
8 |
[Coby Tamayo](https://github.com/acobster) ([@cobytamayo](https://keybase.io/acobster)),
|
9 |
+
[Maciej Palmowski](https://github.com/palmiak) ([@palmiak_fp](https://twitter.com/palmiak_fp)),
|
10 |
+
[Nicolas Lemoine](https://github.com/nlemoine) ([@nlemoine](https://niconico.fr/))
|
11 |
[Upstatement](https://twitter.com/upstatement) and [hundreds of other GitHub contributors](https://github.com/timber/timber/graphs/contributors)
|
12 |
|
13 |
[![Build Status](https://img.shields.io/travis/timber/timber/master?style=flat-square)](https://app.travis-ci.com/github/timber/timber/branches)
|
17 |
[![WordPress Download Count](https://img.shields.io/wordpress/plugin/dt/timber-library.svg?style=flat-square)](https://wordpress.org/plugins/timber-library/)
|
18 |
[![WordPress Rating](https://img.shields.io/wordpress/plugin/r/timber-library.svg?style=flat-square)](https://wordpress.org/support/plugin/timber-library/reviews/)
|
19 |
|
|
|
20 |
### Because WordPress is awesome, but the_loop isn't
|
21 |
Timber helps you create fully-customized WordPress themes faster with more sustainable code. With Timber, you write your HTML using the [Twig Template Engine](https://twig.symfony.com/) separate from your PHP files.
|
22 |
|
lib/Image.php
CHANGED
@@ -240,10 +240,18 @@ class Image extends Post implements CoreInterface {
|
|
240 |
return $url;
|
241 |
}
|
242 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
243 |
public static function wp_upload_dir() {
|
244 |
static $wp_upload_dir = false;
|
245 |
|
246 |
-
if (
|
247 |
$wp_upload_dir = wp_upload_dir();
|
248 |
}
|
249 |
|
240 |
return $url;
|
241 |
}
|
242 |
|
243 |
+
/**
|
244 |
+
* Gets cached version of wp_upload_dir().
|
245 |
+
*
|
246 |
+
* Because wp_upload_dir() returns a different result for each site in a multisite, we shouldn’t
|
247 |
+
* return the cached version when we switched to a different site in a multisite environment.
|
248 |
+
*
|
249 |
+
* @todo Deprecate this function in the future and use wp_upload_dir() directly.
|
250 |
+
*/
|
251 |
public static function wp_upload_dir() {
|
252 |
static $wp_upload_dir = false;
|
253 |
|
254 |
+
if ( ! $wp_upload_dir || ( is_multisite() && ms_is_switched() ) ) {
|
255 |
$wp_upload_dir = wp_upload_dir();
|
256 |
}
|
257 |
|
lib/Post.php
CHANGED
@@ -1570,7 +1570,7 @@ class Post extends Core implements CoreInterface {
|
|
1570 |
* ```twig
|
1571 |
* <img src="{{ post.thumbnail.src }}" />
|
1572 |
* ```
|
1573 |
-
* @return
|
1574 |
*/
|
1575 |
public function thumbnail() {
|
1576 |
$tid = get_post_thumbnail_id($this->ID);
|
1570 |
* ```twig
|
1571 |
* <img src="{{ post.thumbnail.src }}" />
|
1572 |
* ```
|
1573 |
+
* @return Image|null of your thumbnail
|
1574 |
*/
|
1575 |
public function thumbnail() {
|
1576 |
$tid = get_post_thumbnail_id($this->ID);
|
lib/Timber.php
CHANGED
@@ -35,7 +35,7 @@ use Timber\Loader;
|
|
35 |
*/
|
36 |
class Timber {
|
37 |
|
38 |
-
public static $version = '1.19.
|
39 |
public static $locations;
|
40 |
public static $dirname = 'views';
|
41 |
public static $twig_cache = false;
|
35 |
*/
|
36 |
class Timber {
|
37 |
|
38 |
+
public static $version = '1.19.1';
|
39 |
public static $locations;
|
40 |
public static $dirname = 'views';
|
41 |
public static $twig_cache = false;
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: jarednova
|
|
3 |
Tags: template engine, templates, twig
|
4 |
Requires at least: 4.9.8
|
5 |
Tested up to: 5.8.1
|
6 |
-
Stable tag: 1.19.
|
7 |
Requires PHP: 5.6
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
@@ -37,6 +37,21 @@ _Twig is the template language powering Timber; if you need a little background
|
|
37 |
**Changes for Theme Developers**
|
38 |
|
39 |
**Fixes and improvements**
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
40 |
|
41 |
= 1.19.0 =
|
42 |
|
@@ -46,6 +61,7 @@ _Twig is the template language powering Timber; if you need a little background
|
|
46 |
* You can pass additional variables to the `timber/loader/loader` filter #2324 (thanks @neojp)
|
47 |
|
48 |
**Fixes and improvements**
|
|
|
49 |
* Fix for double quotes that might appear in a "Read More" in Gutenberg #2337 #2343 (thanks @Keysaw)
|
50 |
* Fix implementation of WP's `get_the_date` and `get_the_time` filters #2350 (thanks @shvlv)
|
51 |
* Fix for how the `wp:more` tag works with `noteaser` #2348 #2351 (thanks @jhhazelaar)
|
@@ -55,7 +71,9 @@ _Twig is the template language powering Timber; if you need a little background
|
|
55 |
* Fix for sidebar retrieval in PHP 8 #2385 (thanks @marciojc)
|
56 |
* Fix for proper ignoring of the Cache directory on case-insensitive file systems #342 #2416 (thanks @toonvandeputte)
|
57 |
|
58 |
-
|
|
|
|
|
59 |
|
60 |
**Fixes and improvements**
|
61 |
|
3 |
Tags: template engine, templates, twig
|
4 |
Requires at least: 4.9.8
|
5 |
Tested up to: 5.8.1
|
6 |
+
Stable tag: 1.19.1
|
7 |
Requires PHP: 5.6
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
37 |
**Changes for Theme Developers**
|
38 |
|
39 |
**Fixes and improvements**
|
40 |
+
* Fix documented return type for Timber\Image::thumbnail #2463 (thanks @titouanmathis)
|
41 |
+
|
42 |
+
= 1.19.1 =
|
43 |
+
|
44 |
+
**Fixes and improvements**
|
45 |
+
|
46 |
+
* Fix bug when using switch_to_blog() in combination with Timber images by @gchtr in https://github.com/timber/timber/pull/2478
|
47 |
+
* Fix the `thumbnail()` method return type by @titouanmathis in https://github.com/timber/timber/pull/2463
|
48 |
+
* Merge in 2.x GH Actions changes by @jarednova in https://github.com/timber/timber/pull/2484
|
49 |
+
* Adds @nlemoine to the contribs list! by @jarednova in https://github.com/timber/timber/pull/2488
|
50 |
+
* Bump version of Upstatement/Routes to 0.8.1 by @jarednova in https://github.com/timber/timber/pull/2512
|
51 |
+
|
52 |
+
* @titouanmathis made their first contribution in https://github.com/timber/timber/pull/2463
|
53 |
+
|
54 |
+
**Full Changelog**: https://github.com/timber/timber/compare/1.19.0...1.19.1
|
55 |
|
56 |
= 1.19.0 =
|
57 |
|
61 |
* You can pass additional variables to the `timber/loader/loader` filter #2324 (thanks @neojp)
|
62 |
|
63 |
**Fixes and improvements**
|
64 |
+
|
65 |
* Fix for double quotes that might appear in a "Read More" in Gutenberg #2337 #2343 (thanks @Keysaw)
|
66 |
* Fix implementation of WP's `get_the_date` and `get_the_time` filters #2350 (thanks @shvlv)
|
67 |
* Fix for how the `wp:more` tag works with `noteaser` #2348 #2351 (thanks @jhhazelaar)
|
71 |
* Fix for sidebar retrieval in PHP 8 #2385 (thanks @marciojc)
|
72 |
* Fix for proper ignoring of the Cache directory on case-insensitive file systems #342 #2416 (thanks @toonvandeputte)
|
73 |
|
74 |
+
* Fixed a bug when using `switch_to_blog()` in combination with Timber images #1312 #2478 (thanks @gchtr)
|
75 |
+
|
76 |
+
= 1.18.2 =
|
77 |
|
78 |
**Fixes and improvements**
|
79 |
|
timber.php
CHANGED
@@ -4,7 +4,7 @@ Plugin Name: Timber
|
|
4 |
Description: The WordPress Timber Library allows you to write themes using the power of Twig templates.
|
5 |
Plugin URI: https://upstatement.com/timber
|
6 |
Author: Jared Novack + Upstatement
|
7 |
-
Version: 1.19.
|
8 |
Author URI: http://upstatement.com/
|
9 |
*/
|
10 |
// we look for Composer files first in the plugins dir.
|
4 |
Description: The WordPress Timber Library allows you to write themes using the power of Twig templates.
|
5 |
Plugin URI: https://upstatement.com/timber
|
6 |
Author: Jared Novack + Upstatement
|
7 |
+
Version: 1.19.1
|
8 |
Author URI: http://upstatement.com/
|
9 |
*/
|
10 |
// we look for Composer files first in the plugins dir.
|
vendor/altorouter/altorouter/AltoRouter.php
CHANGED
@@ -204,7 +204,7 @@ class AltoRouter
|
|
204 |
$requestUrl = substr($requestUrl, 0, $strpos);
|
205 |
}
|
206 |
|
207 |
-
$lastRequestUrlChar = $requestUrl[strlen($requestUrl)-1];
|
208 |
|
209 |
// set Request Method if it isn't passed as a parameter
|
210 |
if ($requestMethod === null) {
|
204 |
$requestUrl = substr($requestUrl, 0, $strpos);
|
205 |
}
|
206 |
|
207 |
+
$lastRequestUrlChar = $requestUrl ? $requestUrl[strlen($requestUrl)-1] : '';
|
208 |
|
209 |
// set Request Method if it isn't passed as a parameter
|
210 |
if ($requestMethod === null) {
|
vendor/altorouter/altorouter/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
# AltoRouter
|
2 |
AltoRouter is a small but powerful routing class, heavily inspired by [klein.php](https://github.com/chriso/klein.php/).
|
3 |
|
4 |
```php
|
1 |
+
# AltoRouter [![Build Status](https://img.shields.io/travis/dannyvankooten/AltoRouter/master)](https://travis-ci.org/dannyvankooten/AltoRouter) [![Latest Stable Version](https://poser.pugx.org/altorouter/altorouter/v/stable.svg)](https://packagist.org/packages/altorouter/altorouter) [![License](https://poser.pugx.org/altorouter/altorouter/license.svg)](https://packagist.org/packages/altorouter/altorouter) [![Code Climate](https://codeclimate.com/github/dannyvankooten/AltoRouter/badges/gpa.svg)](https://codeclimate.com/github/dannyvankooten/AltoRouter) [![Test Coverage](https://codeclimate.com/github/dannyvankooten/AltoRouter/badges/coverage.svg)](https://codeclimate.com/github/dannyvankooten/AltoRouter)
|
2 |
AltoRouter is a small but powerful routing class, heavily inspired by [klein.php](https://github.com/chriso/klein.php/).
|
3 |
|
4 |
```php
|
vendor/autoload.php
CHANGED
@@ -4,4 +4,4 @@
|
|
4 |
|
5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
|
7 |
-
return
|
4 |
|
5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
|
7 |
+
return ComposerAutoloaderInit88b27880b72a8f9d46918e01e89ec929::getLoader();
|
vendor/composer/ClassLoader.php
CHANGED
@@ -37,57 +37,130 @@ namespace Composer\Autoload;
|
|
37 |
*
|
38 |
* @author Fabien Potencier <fabien@symfony.com>
|
39 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
40 |
-
* @see
|
41 |
-
* @see
|
42 |
*/
|
43 |
class ClassLoader
|
44 |
{
|
|
|
|
|
|
|
45 |
// PSR-4
|
|
|
|
|
|
|
|
|
46 |
private $prefixLengthsPsr4 = array();
|
|
|
|
|
|
|
|
|
47 |
private $prefixDirsPsr4 = array();
|
|
|
|
|
|
|
|
|
48 |
private $fallbackDirsPsr4 = array();
|
49 |
|
50 |
// PSR-0
|
|
|
|
|
|
|
|
|
51 |
private $prefixesPsr0 = array();
|
|
|
|
|
|
|
|
|
52 |
private $fallbackDirsPsr0 = array();
|
53 |
|
|
|
54 |
private $useIncludePath = false;
|
|
|
|
|
|
|
|
|
|
|
55 |
private $classMap = array();
|
|
|
|
|
56 |
private $classMapAuthoritative = false;
|
|
|
|
|
|
|
|
|
|
|
57 |
private $missingClasses = array();
|
|
|
|
|
58 |
private $apcuPrefix;
|
59 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
public function getPrefixes()
|
61 |
{
|
62 |
if (!empty($this->prefixesPsr0)) {
|
63 |
-
return call_user_func_array('array_merge', $this->prefixesPsr0);
|
64 |
}
|
65 |
|
66 |
return array();
|
67 |
}
|
68 |
|
|
|
|
|
|
|
|
|
69 |
public function getPrefixesPsr4()
|
70 |
{
|
71 |
return $this->prefixDirsPsr4;
|
72 |
}
|
73 |
|
|
|
|
|
|
|
|
|
74 |
public function getFallbackDirs()
|
75 |
{
|
76 |
return $this->fallbackDirsPsr0;
|
77 |
}
|
78 |
|
|
|
|
|
|
|
|
|
79 |
public function getFallbackDirsPsr4()
|
80 |
{
|
81 |
return $this->fallbackDirsPsr4;
|
82 |
}
|
83 |
|
|
|
|
|
|
|
|
|
84 |
public function getClassMap()
|
85 |
{
|
86 |
return $this->classMap;
|
87 |
}
|
88 |
|
89 |
/**
|
90 |
-
* @param
|
|
|
|
|
|
|
91 |
*/
|
92 |
public function addClassMap(array $classMap)
|
93 |
{
|
@@ -102,9 +175,11 @@ class ClassLoader
|
|
102 |
* Registers a set of PSR-0 directories for a given prefix, either
|
103 |
* appending or prepending to the ones previously set for this prefix.
|
104 |
*
|
105 |
-
* @param string
|
106 |
-
* @param
|
107 |
-
* @param bool
|
|
|
|
|
108 |
*/
|
109 |
public function add($prefix, $paths, $prepend = false)
|
110 |
{
|
@@ -147,11 +222,13 @@ class ClassLoader
|
|
147 |
* Registers a set of PSR-4 directories for a given namespace, either
|
148 |
* appending or prepending to the ones previously set for this namespace.
|
149 |
*
|
150 |
-
* @param string
|
151 |
-
* @param
|
152 |
-
* @param bool
|
153 |
*
|
154 |
* @throws \InvalidArgumentException
|
|
|
|
|
155 |
*/
|
156 |
public function addPsr4($prefix, $paths, $prepend = false)
|
157 |
{
|
@@ -195,8 +272,10 @@ class ClassLoader
|
|
195 |
* Registers a set of PSR-0 directories for a given prefix,
|
196 |
* replacing any others previously set for this prefix.
|
197 |
*
|
198 |
-
* @param string
|
199 |
-
* @param
|
|
|
|
|
200 |
*/
|
201 |
public function set($prefix, $paths)
|
202 |
{
|
@@ -211,10 +290,12 @@ class ClassLoader
|
|
211 |
* Registers a set of PSR-4 directories for a given namespace,
|
212 |
* replacing any others previously set for this namespace.
|
213 |
*
|
214 |
-
* @param string
|
215 |
-
* @param
|
216 |
*
|
217 |
* @throws \InvalidArgumentException
|
|
|
|
|
218 |
*/
|
219 |
public function setPsr4($prefix, $paths)
|
220 |
{
|
@@ -234,6 +315,8 @@ class ClassLoader
|
|
234 |
* Turns on searching the include path for class files.
|
235 |
*
|
236 |
* @param bool $useIncludePath
|
|
|
|
|
237 |
*/
|
238 |
public function setUseIncludePath($useIncludePath)
|
239 |
{
|
@@ -256,6 +339,8 @@ class ClassLoader
|
|
256 |
* that have not been registered with the class map.
|
257 |
*
|
258 |
* @param bool $classMapAuthoritative
|
|
|
|
|
259 |
*/
|
260 |
public function setClassMapAuthoritative($classMapAuthoritative)
|
261 |
{
|
@@ -276,6 +361,8 @@ class ClassLoader
|
|
276 |
* APCu prefix to use to cache found/not-found classes, if the extension is enabled.
|
277 |
*
|
278 |
* @param string|null $apcuPrefix
|
|
|
|
|
279 |
*/
|
280 |
public function setApcuPrefix($apcuPrefix)
|
281 |
{
|
@@ -296,25 +383,44 @@ class ClassLoader
|
|
296 |
* Registers this instance as an autoloader.
|
297 |
*
|
298 |
* @param bool $prepend Whether to prepend the autoloader or not
|
|
|
|
|
299 |
*/
|
300 |
public function register($prepend = false)
|
301 |
{
|
302 |
spl_autoload_register(array($this, 'loadClass'), true, $prepend);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
303 |
}
|
304 |
|
305 |
/**
|
306 |
* Unregisters this instance as an autoloader.
|
|
|
|
|
307 |
*/
|
308 |
public function unregister()
|
309 |
{
|
310 |
spl_autoload_unregister(array($this, 'loadClass'));
|
|
|
|
|
|
|
|
|
311 |
}
|
312 |
|
313 |
/**
|
314 |
* Loads the given class or interface.
|
315 |
*
|
316 |
* @param string $class The name of the class
|
317 |
-
* @return
|
318 |
*/
|
319 |
public function loadClass($class)
|
320 |
{
|
@@ -323,6 +429,8 @@ class ClassLoader
|
|
323 |
|
324 |
return true;
|
325 |
}
|
|
|
|
|
326 |
}
|
327 |
|
328 |
/**
|
@@ -367,6 +475,21 @@ class ClassLoader
|
|
367 |
return $file;
|
368 |
}
|
369 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
370 |
private function findFileWithExtension($class, $ext)
|
371 |
{
|
372 |
// PSR-4 lookup
|
@@ -438,6 +561,10 @@ class ClassLoader
|
|
438 |
* Scope isolated include.
|
439 |
*
|
440 |
* Prevents access to $this/self from included files.
|
|
|
|
|
|
|
|
|
441 |
*/
|
442 |
function includeFile($file)
|
443 |
{
|
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 |
+
/** @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-var 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 |
{
|
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 |
{
|
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 |
{
|
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 |
{
|
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 |
{
|
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 |
{
|
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 |
{
|
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 |
{
|
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 |
{
|
429 |
|
430 |
return true;
|
431 |
}
|
432 |
+
|
433 |
+
return null;
|
434 |
}
|
435 |
|
436 |
/**
|
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
|
561 |
* Scope isolated include.
|
562 |
*
|
563 |
* Prevents access to $this/self from included files.
|
564 |
+
*
|
565 |
+
* @param string $file
|
566 |
+
* @return void
|
567 |
+
* @private
|
568 |
*/
|
569 |
function includeFile($file)
|
570 |
{
|
vendor/composer/InstalledVersions.php
ADDED
@@ -0,0 +1,337 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 its 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, type: 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, 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}>}
|
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, 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}>}>
|
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, 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 |
+
*/
|
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, 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}>}>
|
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/autoload_classmap.php
CHANGED
@@ -7,6 +7,7 @@ $baseDir = dirname($vendorDir);
|
|
7 |
|
8 |
return array(
|
9 |
'AltoRouter' => $vendorDir . '/altorouter/altorouter/AltoRouter.php',
|
|
|
10 |
'Composer\\Installers\\AglInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AglInstaller.php',
|
11 |
'Composer\\Installers\\AimeosInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AimeosInstaller.php',
|
12 |
'Composer\\Installers\\AnnotateCmsInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php',
|
7 |
|
8 |
return array(
|
9 |
'AltoRouter' => $vendorDir . '/altorouter/altorouter/AltoRouter.php',
|
10 |
+
'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php',
|
11 |
'Composer\\Installers\\AglInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AglInstaller.php',
|
12 |
'Composer\\Installers\\AimeosInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AimeosInstaller.php',
|
13 |
'Composer\\Installers\\AnnotateCmsInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php',
|
vendor/composer/autoload_real.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
-
class
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
@@ -22,15 +22,17 @@ class ComposerAutoloaderInit6083f74763027d293cf808f57b917514
|
|
22 |
return self::$loader;
|
23 |
}
|
24 |
|
25 |
-
|
26 |
-
|
27 |
-
|
|
|
|
|
28 |
|
29 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
30 |
if ($useStaticLoader) {
|
31 |
-
|
32 |
|
33 |
-
call_user_func(\Composer\Autoload\
|
34 |
} else {
|
35 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
36 |
foreach ($map as $namespace => $path) {
|
@@ -51,19 +53,19 @@ class ComposerAutoloaderInit6083f74763027d293cf808f57b917514
|
|
51 |
$loader->register(true);
|
52 |
|
53 |
if ($useStaticLoader) {
|
54 |
-
$includeFiles = Composer\Autoload\
|
55 |
} else {
|
56 |
$includeFiles = require __DIR__ . '/autoload_files.php';
|
57 |
}
|
58 |
foreach ($includeFiles as $fileIdentifier => $file) {
|
59 |
-
|
60 |
}
|
61 |
|
62 |
return $loader;
|
63 |
}
|
64 |
}
|
65 |
|
66 |
-
function
|
67 |
{
|
68 |
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
69 |
require $file;
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
+
class ComposerAutoloaderInit88b27880b72a8f9d46918e01e89ec929
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
22 |
return self::$loader;
|
23 |
}
|
24 |
|
25 |
+
require __DIR__ . '/platform_check.php';
|
26 |
+
|
27 |
+
spl_autoload_register(array('ComposerAutoloaderInit88b27880b72a8f9d46918e01e89ec929', 'loadClassLoader'), true, true);
|
28 |
+
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
|
29 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit88b27880b72a8f9d46918e01e89ec929', 'loadClassLoader'));
|
30 |
|
31 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
32 |
if ($useStaticLoader) {
|
33 |
+
require __DIR__ . '/autoload_static.php';
|
34 |
|
35 |
+
call_user_func(\Composer\Autoload\ComposerStaticInit88b27880b72a8f9d46918e01e89ec929::getInitializer($loader));
|
36 |
} else {
|
37 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
38 |
foreach ($map as $namespace => $path) {
|
53 |
$loader->register(true);
|
54 |
|
55 |
if ($useStaticLoader) {
|
56 |
+
$includeFiles = Composer\Autoload\ComposerStaticInit88b27880b72a8f9d46918e01e89ec929::$files;
|
57 |
} else {
|
58 |
$includeFiles = require __DIR__ . '/autoload_files.php';
|
59 |
}
|
60 |
foreach ($includeFiles as $fileIdentifier => $file) {
|
61 |
+
composerRequire88b27880b72a8f9d46918e01e89ec929($fileIdentifier, $file);
|
62 |
}
|
63 |
|
64 |
return $loader;
|
65 |
}
|
66 |
}
|
67 |
|
68 |
+
function composerRequire88b27880b72a8f9d46918e01e89ec929($fileIdentifier, $file)
|
69 |
{
|
70 |
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
71 |
require $file;
|
vendor/composer/autoload_static.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
|
5 |
namespace Composer\Autoload;
|
6 |
|
7 |
-
class
|
8 |
{
|
9 |
public static $files = array (
|
10 |
'320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php',
|
@@ -68,6 +68,7 @@ class ComposerStaticInit6083f74763027d293cf808f57b917514
|
|
68 |
|
69 |
public static $classMap = array (
|
70 |
'AltoRouter' => __DIR__ . '/..' . '/altorouter/altorouter/AltoRouter.php',
|
|
|
71 |
'Composer\\Installers\\AglInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AglInstaller.php',
|
72 |
'Composer\\Installers\\AimeosInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AimeosInstaller.php',
|
73 |
'Composer\\Installers\\AnnotateCmsInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php',
|
@@ -624,11 +625,11 @@ class ComposerStaticInit6083f74763027d293cf808f57b917514
|
|
624 |
public static function getInitializer(ClassLoader $loader)
|
625 |
{
|
626 |
return \Closure::bind(function () use ($loader) {
|
627 |
-
$loader->prefixLengthsPsr4 =
|
628 |
-
$loader->prefixDirsPsr4 =
|
629 |
-
$loader->fallbackDirsPsr4 =
|
630 |
-
$loader->prefixesPsr0 =
|
631 |
-
$loader->classMap =
|
632 |
|
633 |
}, null, ClassLoader::class);
|
634 |
}
|
4 |
|
5 |
namespace Composer\Autoload;
|
6 |
|
7 |
+
class ComposerStaticInit88b27880b72a8f9d46918e01e89ec929
|
8 |
{
|
9 |
public static $files = array (
|
10 |
'320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php',
|
68 |
|
69 |
public static $classMap = array (
|
70 |
'AltoRouter' => __DIR__ . '/..' . '/altorouter/altorouter/AltoRouter.php',
|
71 |
+
'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php',
|
72 |
'Composer\\Installers\\AglInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AglInstaller.php',
|
73 |
'Composer\\Installers\\AimeosInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AimeosInstaller.php',
|
74 |
'Composer\\Installers\\AnnotateCmsInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php',
|
625 |
public static function getInitializer(ClassLoader $loader)
|
626 |
{
|
627 |
return \Closure::bind(function () use ($loader) {
|
628 |
+
$loader->prefixLengthsPsr4 = ComposerStaticInit88b27880b72a8f9d46918e01e89ec929::$prefixLengthsPsr4;
|
629 |
+
$loader->prefixDirsPsr4 = ComposerStaticInit88b27880b72a8f9d46918e01e89ec929::$prefixDirsPsr4;
|
630 |
+
$loader->fallbackDirsPsr4 = ComposerStaticInit88b27880b72a8f9d46918e01e89ec929::$fallbackDirsPsr4;
|
631 |
+
$loader->prefixesPsr0 = ComposerStaticInit88b27880b72a8f9d46918e01e89ec929::$prefixesPsr0;
|
632 |
+
$loader->classMap = ComposerStaticInit88b27880b72a8f9d46918e01e89ec929::$classMap;
|
633 |
|
634 |
}, null, ClassLoader::class);
|
635 |
}
|
vendor/composer/installed.json
CHANGED
@@ -1,476 +1,510 @@
|
|
1 |
-
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
"
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
"
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
"
|
19 |
-
|
20 |
-
|
21 |
-
"
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
"
|
30 |
-
"
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
"
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
"
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
"
|
68 |
-
|
69 |
-
|
70 |
-
"
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
"
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
"
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
"
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
"
|
122 |
-
"
|
123 |
-
"
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
"
|
197 |
-
"
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
"
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
"
|
222 |
-
"
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
"
|
244 |
-
"
|
245 |
-
|
246 |
-
|
247 |
-
"
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
"
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
"
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
"
|
279 |
-
"
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
"
|
301 |
-
},
|
302 |
-
|
303 |
-
"
|
304 |
-
"
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
"
|
320 |
-
}
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
"": "
|
326 |
-
}
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
"
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
}
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
"
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
"
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
"
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
"
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
"
|
385 |
-
}
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
"
|
391 |
-
},
|
392 |
-
"
|
393 |
-
"
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
"
|
404 |
-
|
405 |
-
|
406 |
-
},
|
407 |
-
|
408 |
-
|
409 |
-
"
|
410 |
-
|
411 |
-
|
412 |
-
"
|
413 |
-
|
414 |
-
|
415 |
-
}
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
"
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
"
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
"
|
447 |
-
},
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
-
"
|
453 |
-
"
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
|
464 |
-
"
|
465 |
-
|
466 |
-
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
"
|
474 |
-
|
475 |
-
|
476 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"packages": [
|
3 |
+
{
|
4 |
+
"name": "altorouter/altorouter",
|
5 |
+
"version": "2.0.2",
|
6 |
+
"version_normalized": "2.0.2.0",
|
7 |
+
"source": {
|
8 |
+
"type": "git",
|
9 |
+
"url": "https://github.com/dannyvankooten/AltoRouter.git",
|
10 |
+
"reference": "f6fede4f94ced7c22ba63a9b8af0bf2dc38e3cb2"
|
11 |
+
},
|
12 |
+
"dist": {
|
13 |
+
"type": "zip",
|
14 |
+
"url": "https://api.github.com/repos/dannyvankooten/AltoRouter/zipball/f6fede4f94ced7c22ba63a9b8af0bf2dc38e3cb2",
|
15 |
+
"reference": "f6fede4f94ced7c22ba63a9b8af0bf2dc38e3cb2",
|
16 |
+
"shasum": ""
|
17 |
+
},
|
18 |
+
"require": {
|
19 |
+
"php": ">=5.6.0"
|
20 |
+
},
|
21 |
+
"require-dev": {
|
22 |
+
"codeclimate/php-test-reporter": "dev-master",
|
23 |
+
"phpunit/phpunit": "5.7.*",
|
24 |
+
"squizlabs/php_codesniffer": "3.4.2"
|
25 |
+
},
|
26 |
+
"time": "2020-03-09T08:34:59+00:00",
|
27 |
+
"type": "library",
|
28 |
+
"installation-source": "dist",
|
29 |
+
"autoload": {
|
30 |
+
"classmap": [
|
31 |
+
"AltoRouter.php"
|
32 |
+
]
|
33 |
+
},
|
34 |
+
"notification-url": "https://packagist.org/downloads/",
|
35 |
+
"license": [
|
36 |
+
"MIT"
|
37 |
+
],
|
38 |
+
"authors": [
|
39 |
+
{
|
40 |
+
"name": "Danny van Kooten",
|
41 |
+
"email": "dannyvankooten@gmail.com",
|
42 |
+
"homepage": "http://dannyvankooten.com/"
|
43 |
+
},
|
44 |
+
{
|
45 |
+
"name": "Koen Punt",
|
46 |
+
"homepage": "https://github.com/koenpunt"
|
47 |
+
},
|
48 |
+
{
|
49 |
+
"name": "niahoo",
|
50 |
+
"homepage": "https://github.com/niahoo"
|
51 |
+
}
|
52 |
+
],
|
53 |
+
"description": "A lightning fast router for PHP",
|
54 |
+
"homepage": "https://github.com/dannyvankooten/AltoRouter",
|
55 |
+
"keywords": [
|
56 |
+
"lightweight",
|
57 |
+
"router",
|
58 |
+
"routing"
|
59 |
+
],
|
60 |
+
"support": {
|
61 |
+
"issues": "https://github.com/dannyvankooten/AltoRouter/issues",
|
62 |
+
"source": "https://github.com/dannyvankooten/AltoRouter/tree/2.0.2"
|
63 |
+
},
|
64 |
+
"install-path": "../altorouter/altorouter"
|
65 |
+
},
|
66 |
+
{
|
67 |
+
"name": "composer/installers",
|
68 |
+
"version": "v1.12.0",
|
69 |
+
"version_normalized": "1.12.0.0",
|
70 |
+
"source": {
|
71 |
+
"type": "git",
|
72 |
+
"url": "https://github.com/composer/installers.git",
|
73 |
+
"reference": "d20a64ed3c94748397ff5973488761b22f6d3f19"
|
74 |
+
},
|
75 |
+
"dist": {
|
76 |
+
"type": "zip",
|
77 |
+
"url": "https://api.github.com/repos/composer/installers/zipball/d20a64ed3c94748397ff5973488761b22f6d3f19",
|
78 |
+
"reference": "d20a64ed3c94748397ff5973488761b22f6d3f19",
|
79 |
+
"shasum": ""
|
80 |
+
},
|
81 |
+
"require": {
|
82 |
+
"composer-plugin-api": "^1.0 || ^2.0"
|
83 |
+
},
|
84 |
+
"replace": {
|
85 |
+
"roundcube/plugin-installer": "*",
|
86 |
+
"shama/baton": "*"
|
87 |
+
},
|
88 |
+
"require-dev": {
|
89 |
+
"composer/composer": "1.6.* || ^2.0",
|
90 |
+
"composer/semver": "^1 || ^3",
|
91 |
+
"phpstan/phpstan": "^0.12.55",
|
92 |
+
"phpstan/phpstan-phpunit": "^0.12.16",
|
93 |
+
"symfony/phpunit-bridge": "^4.2 || ^5",
|
94 |
+
"symfony/process": "^2.3"
|
95 |
+
},
|
96 |
+
"time": "2021-09-13T08:19:44+00:00",
|
97 |
+
"type": "composer-plugin",
|
98 |
+
"extra": {
|
99 |
+
"class": "Composer\\Installers\\Plugin",
|
100 |
+
"branch-alias": {
|
101 |
+
"dev-main": "1.x-dev"
|
102 |
+
}
|
103 |
+
},
|
104 |
+
"installation-source": "dist",
|
105 |
+
"autoload": {
|
106 |
+
"psr-4": {
|
107 |
+
"Composer\\Installers\\": "src/Composer/Installers"
|
108 |
+
}
|
109 |
+
},
|
110 |
+
"notification-url": "https://packagist.org/downloads/",
|
111 |
+
"license": [
|
112 |
+
"MIT"
|
113 |
+
],
|
114 |
+
"authors": [
|
115 |
+
{
|
116 |
+
"name": "Kyle Robinson Young",
|
117 |
+
"email": "kyle@dontkry.com",
|
118 |
+
"homepage": "https://github.com/shama"
|
119 |
+
}
|
120 |
+
],
|
121 |
+
"description": "A multi-framework Composer library installer",
|
122 |
+
"homepage": "https://composer.github.io/installers/",
|
123 |
+
"keywords": [
|
124 |
+
"Craft",
|
125 |
+
"Dolibarr",
|
126 |
+
"Eliasis",
|
127 |
+
"Hurad",
|
128 |
+
"ImageCMS",
|
129 |
+
"Kanboard",
|
130 |
+
"Lan Management System",
|
131 |
+
"MODX Evo",
|
132 |
+
"MantisBT",
|
133 |
+
"Mautic",
|
134 |
+
"Maya",
|
135 |
+
"OXID",
|
136 |
+
"Plentymarkets",
|
137 |
+
"Porto",
|
138 |
+
"RadPHP",
|
139 |
+
"SMF",
|
140 |
+
"Starbug",
|
141 |
+
"Thelia",
|
142 |
+
"Whmcs",
|
143 |
+
"WolfCMS",
|
144 |
+
"agl",
|
145 |
+
"aimeos",
|
146 |
+
"annotatecms",
|
147 |
+
"attogram",
|
148 |
+
"bitrix",
|
149 |
+
"cakephp",
|
150 |
+
"chef",
|
151 |
+
"cockpit",
|
152 |
+
"codeigniter",
|
153 |
+
"concrete5",
|
154 |
+
"croogo",
|
155 |
+
"dokuwiki",
|
156 |
+
"drupal",
|
157 |
+
"eZ Platform",
|
158 |
+
"elgg",
|
159 |
+
"expressionengine",
|
160 |
+
"fuelphp",
|
161 |
+
"grav",
|
162 |
+
"installer",
|
163 |
+
"itop",
|
164 |
+
"joomla",
|
165 |
+
"known",
|
166 |
+
"kohana",
|
167 |
+
"laravel",
|
168 |
+
"lavalite",
|
169 |
+
"lithium",
|
170 |
+
"magento",
|
171 |
+
"majima",
|
172 |
+
"mako",
|
173 |
+
"mediawiki",
|
174 |
+
"miaoxing",
|
175 |
+
"modulework",
|
176 |
+
"modx",
|
177 |
+
"moodle",
|
178 |
+
"osclass",
|
179 |
+
"pantheon",
|
180 |
+
"phpbb",
|
181 |
+
"piwik",
|
182 |
+
"ppi",
|
183 |
+
"processwire",
|
184 |
+
"puppet",
|
185 |
+
"pxcms",
|
186 |
+
"reindex",
|
187 |
+
"roundcube",
|
188 |
+
"shopware",
|
189 |
+
"silverstripe",
|
190 |
+
"sydes",
|
191 |
+
"sylius",
|
192 |
+
"symfony",
|
193 |
+
"tastyigniter",
|
194 |
+
"typo3",
|
195 |
+
"wordpress",
|
196 |
+
"yawik",
|
197 |
+
"zend",
|
198 |
+
"zikula"
|
199 |
+
],
|
200 |
+
"support": {
|
201 |
+
"issues": "https://github.com/composer/installers/issues",
|
202 |
+
"source": "https://github.com/composer/installers/tree/v1.12.0"
|
203 |
+
},
|
204 |
+
"funding": [
|
205 |
+
{
|
206 |
+
"url": "https://packagist.com",
|
207 |
+
"type": "custom"
|
208 |
+
},
|
209 |
+
{
|
210 |
+
"url": "https://github.com/composer",
|
211 |
+
"type": "github"
|
212 |
+
},
|
213 |
+
{
|
214 |
+
"url": "https://tidelift.com/funding/github/packagist/composer/composer",
|
215 |
+
"type": "tidelift"
|
216 |
+
}
|
217 |
+
],
|
218 |
+
"install-path": "./installers"
|
219 |
+
},
|
220 |
+
{
|
221 |
+
"name": "symfony/polyfill-ctype",
|
222 |
+
"version": "v1.19.0",
|
223 |
+
"version_normalized": "1.19.0.0",
|
224 |
+
"source": {
|
225 |
+
"type": "git",
|
226 |
+
"url": "https://github.com/symfony/polyfill-ctype.git",
|
227 |
+
"reference": "aed596913b70fae57be53d86faa2e9ef85a2297b"
|
228 |
+
},
|
229 |
+
"dist": {
|
230 |
+
"type": "zip",
|
231 |
+
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/aed596913b70fae57be53d86faa2e9ef85a2297b",
|
232 |
+
"reference": "aed596913b70fae57be53d86faa2e9ef85a2297b",
|
233 |
+
"shasum": ""
|
234 |
+
},
|
235 |
+
"require": {
|
236 |
+
"php": ">=5.3.3"
|
237 |
+
},
|
238 |
+
"suggest": {
|
239 |
+
"ext-ctype": "For best performance"
|
240 |
+
},
|
241 |
+
"time": "2020-10-23T09:01:57+00:00",
|
242 |
+
"type": "library",
|
243 |
+
"extra": {
|
244 |
+
"branch-alias": {
|
245 |
+
"dev-main": "1.19-dev"
|
246 |
+
},
|
247 |
+
"thanks": {
|
248 |
+
"name": "symfony/polyfill",
|
249 |
+
"url": "https://github.com/symfony/polyfill"
|
250 |
+
}
|
251 |
+
},
|
252 |
+
"installation-source": "dist",
|
253 |
+
"autoload": {
|
254 |
+
"psr-4": {
|
255 |
+
"Symfony\\Polyfill\\Ctype\\": ""
|
256 |
+
},
|
257 |
+
"files": [
|
258 |
+
"bootstrap.php"
|
259 |
+
]
|
260 |
+
},
|
261 |
+
"notification-url": "https://packagist.org/downloads/",
|
262 |
+
"license": [
|
263 |
+
"MIT"
|
264 |
+
],
|
265 |
+
"authors": [
|
266 |
+
{
|
267 |
+
"name": "Gert de Pagter",
|
268 |
+
"email": "BackEndTea@gmail.com"
|
269 |
+
},
|
270 |
+
{
|
271 |
+
"name": "Symfony Community",
|
272 |
+
"homepage": "https://symfony.com/contributors"
|
273 |
+
}
|
274 |
+
],
|
275 |
+
"description": "Symfony polyfill for ctype functions",
|
276 |
+
"homepage": "https://symfony.com",
|
277 |
+
"keywords": [
|
278 |
+
"compatibility",
|
279 |
+
"ctype",
|
280 |
+
"polyfill",
|
281 |
+
"portable"
|
282 |
+
],
|
283 |
+
"support": {
|
284 |
+
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.19.0"
|
285 |
+
},
|
286 |
+
"funding": [
|
287 |
+
{
|
288 |
+
"url": "https://symfony.com/sponsor",
|
289 |
+
"type": "custom"
|
290 |
+
},
|
291 |
+
{
|
292 |
+
"url": "https://github.com/fabpot",
|
293 |
+
"type": "github"
|
294 |
+
},
|
295 |
+
{
|
296 |
+
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
297 |
+
"type": "tidelift"
|
298 |
+
}
|
299 |
+
],
|
300 |
+
"install-path": "../symfony/polyfill-ctype"
|
301 |
+
},
|
302 |
+
{
|
303 |
+
"name": "twig/cache-extension",
|
304 |
+
"version": "v1.5.0",
|
305 |
+
"version_normalized": "1.5.0.0",
|
306 |
+
"source": {
|
307 |
+
"type": "git",
|
308 |
+
"url": "https://github.com/twigphp/twig-cache-extension.git",
|
309 |
+
"reference": "2c243643f59132194458bd03c745b079bbb12e78"
|
310 |
+
},
|
311 |
+
"dist": {
|
312 |
+
"type": "zip",
|
313 |
+
"url": "https://api.github.com/repos/twigphp/twig-cache-extension/zipball/2c243643f59132194458bd03c745b079bbb12e78",
|
314 |
+
"reference": "2c243643f59132194458bd03c745b079bbb12e78",
|
315 |
+
"shasum": ""
|
316 |
+
},
|
317 |
+
"require": {
|
318 |
+
"php": ">=5.3.2",
|
319 |
+
"twig/twig": "^1.38|^2.4|^3.0"
|
320 |
+
},
|
321 |
+
"require-dev": {
|
322 |
+
"doctrine/cache": "~1.0",
|
323 |
+
"phpunit/phpunit": "^5.0 || ^4.8.36",
|
324 |
+
"psr/cache": "^1.0",
|
325 |
+
"sebastian/comparator": "^1.2.4|^2.0"
|
326 |
+
},
|
327 |
+
"suggest": {
|
328 |
+
"psr/cache-implementation": "To make use of PSR-6 cache implementation via PsrCacheAdapter."
|
329 |
+
},
|
330 |
+
"time": "2020-10-04T09:56:48+00:00",
|
331 |
+
"type": "library",
|
332 |
+
"extra": {
|
333 |
+
"branch-alias": {
|
334 |
+
"dev-master": "1.5-dev"
|
335 |
+
}
|
336 |
+
},
|
337 |
+
"installation-source": "dist",
|
338 |
+
"autoload": {
|
339 |
+
"psr-4": {
|
340 |
+
"": "lib/"
|
341 |
+
}
|
342 |
+
},
|
343 |
+
"notification-url": "https://packagist.org/downloads/",
|
344 |
+
"license": [
|
345 |
+
"MIT"
|
346 |
+
],
|
347 |
+
"authors": [
|
348 |
+
{
|
349 |
+
"name": "Alexander",
|
350 |
+
"email": "iam.asm89@gmail.com"
|
351 |
+
}
|
352 |
+
],
|
353 |
+
"description": "Cache fragments of templates directly within Twig.",
|
354 |
+
"homepage": "https://github.com/twigphp/twig-cache-extension",
|
355 |
+
"keywords": [
|
356 |
+
"cache",
|
357 |
+
"extension",
|
358 |
+
"twig"
|
359 |
+
],
|
360 |
+
"support": {
|
361 |
+
"issues": "https://github.com/twigphp/twig-cache-extension/issues",
|
362 |
+
"source": "https://github.com/twigphp/twig-cache-extension/tree/v1.5.0"
|
363 |
+
},
|
364 |
+
"funding": [
|
365 |
+
{
|
366 |
+
"url": "https://github.com/fabpot",
|
367 |
+
"type": "github"
|
368 |
+
},
|
369 |
+
{
|
370 |
+
"url": "https://tidelift.com/funding/github/packagist/twig/twig",
|
371 |
+
"type": "tidelift"
|
372 |
+
}
|
373 |
+
],
|
374 |
+
"abandoned": "twig/cache-extra",
|
375 |
+
"install-path": "../twig/cache-extension"
|
376 |
+
},
|
377 |
+
{
|
378 |
+
"name": "twig/twig",
|
379 |
+
"version": "v1.42.5",
|
380 |
+
"version_normalized": "1.42.5.0",
|
381 |
+
"source": {
|
382 |
+
"type": "git",
|
383 |
+
"url": "https://github.com/twigphp/Twig.git",
|
384 |
+
"reference": "87b2ea9d8f6fd014d0621ca089bb1b3769ea3f8e"
|
385 |
+
},
|
386 |
+
"dist": {
|
387 |
+
"type": "zip",
|
388 |
+
"url": "https://api.github.com/repos/twigphp/Twig/zipball/87b2ea9d8f6fd014d0621ca089bb1b3769ea3f8e",
|
389 |
+
"reference": "87b2ea9d8f6fd014d0621ca089bb1b3769ea3f8e",
|
390 |
+
"shasum": ""
|
391 |
+
},
|
392 |
+
"require": {
|
393 |
+
"php": ">=5.5.0",
|
394 |
+
"symfony/polyfill-ctype": "^1.8"
|
395 |
+
},
|
396 |
+
"require-dev": {
|
397 |
+
"psr/container": "^1.0",
|
398 |
+
"symfony/phpunit-bridge": "^4.4|^5.0"
|
399 |
+
},
|
400 |
+
"time": "2020-02-11T05:59:23+00:00",
|
401 |
+
"type": "library",
|
402 |
+
"extra": {
|
403 |
+
"branch-alias": {
|
404 |
+
"dev-master": "1.42-dev"
|
405 |
+
}
|
406 |
+
},
|
407 |
+
"installation-source": "dist",
|
408 |
+
"autoload": {
|
409 |
+
"psr-0": {
|
410 |
+
"Twig_": "lib/"
|
411 |
+
},
|
412 |
+
"psr-4": {
|
413 |
+
"Twig\\": "src/"
|
414 |
+
}
|
415 |
+
},
|
416 |
+
"notification-url": "https://packagist.org/downloads/",
|
417 |
+
"license": [
|
418 |
+
"BSD-3-Clause"
|
419 |
+
],
|
420 |
+
"authors": [
|
421 |
+
{
|
422 |
+
"name": "Fabien Potencier",
|
423 |
+
"email": "fabien@symfony.com",
|
424 |
+
"homepage": "http://fabien.potencier.org",
|
425 |
+
"role": "Lead Developer"
|
426 |
+
},
|
427 |
+
{
|
428 |
+
"name": "Twig Team",
|
429 |
+
"role": "Contributors"
|
430 |
+
},
|
431 |
+
{
|
432 |
+
"name": "Armin Ronacher",
|
433 |
+
"email": "armin.ronacher@active-4.com",
|
434 |
+
"role": "Project Founder"
|
435 |
+
}
|
436 |
+
],
|
437 |
+
"description": "Twig, the flexible, fast, and secure template language for PHP",
|
438 |
+
"homepage": "https://twig.symfony.com",
|
439 |
+
"keywords": [
|
440 |
+
"templating"
|
441 |
+
],
|
442 |
+
"support": {
|
443 |
+
"issues": "https://github.com/twigphp/Twig/issues",
|
444 |
+
"source": "https://github.com/twigphp/Twig/tree/1.x"
|
445 |
+
},
|
446 |
+
"install-path": "../twig/twig"
|
447 |
+
},
|
448 |
+
{
|
449 |
+
"name": "upstatement/routes",
|
450 |
+
"version": "0.8.1",
|
451 |
+
"version_normalized": "0.8.1.0",
|
452 |
+
"source": {
|
453 |
+
"type": "git",
|
454 |
+
"url": "https://github.com/Upstatement/routes.git",
|
455 |
+
"reference": "02eb866668f5478d794547aa79e73dd92a989ad9"
|
456 |
+
},
|
457 |
+
"dist": {
|
458 |
+
"type": "zip",
|
459 |
+
"url": "https://api.github.com/repos/Upstatement/routes/zipball/02eb866668f5478d794547aa79e73dd92a989ad9",
|
460 |
+
"reference": "02eb866668f5478d794547aa79e73dd92a989ad9",
|
461 |
+
"shasum": ""
|
462 |
+
},
|
463 |
+
"require": {
|
464 |
+
"altorouter/altorouter": "^2.0.2",
|
465 |
+
"composer/installers": "~1.0",
|
466 |
+
"php": ">=5.6.0"
|
467 |
+
},
|
468 |
+
"require-dev": {
|
469 |
+
"phpunit/phpunit": "5.7.16",
|
470 |
+
"satooshi/php-coveralls": "*",
|
471 |
+
"wp-cli/wp-cli": "*"
|
472 |
+
},
|
473 |
+
"time": "2021-10-16T00:12:03+00:00",
|
474 |
+
"type": "library",
|
475 |
+
"installation-source": "dist",
|
476 |
+
"autoload": {
|
477 |
+
"psr-0": {
|
478 |
+
"Routes": ""
|
479 |
+
}
|
480 |
+
},
|
481 |
+
"notification-url": "https://packagist.org/downloads/",
|
482 |
+
"license": [
|
483 |
+
"MIT"
|
484 |
+
],
|
485 |
+
"authors": [
|
486 |
+
{
|
487 |
+
"name": "Jared Novack",
|
488 |
+
"email": "jared@upstatement.com",
|
489 |
+
"homepage": "https://www.upstatement.com"
|
490 |
+
}
|
491 |
+
],
|
492 |
+
"description": "Manage rewrites and routes in WordPress with this dead-simple plugin",
|
493 |
+
"homepage": "https://www.upstatement.com",
|
494 |
+
"keywords": [
|
495 |
+
"redirects",
|
496 |
+
"rewrite",
|
497 |
+
"routes",
|
498 |
+
"routing"
|
499 |
+
],
|
500 |
+
"support": {
|
501 |
+
"issues": "https://github.com/Upstatement/routes/issues",
|
502 |
+
"source": "https://github.com/Upstatement/routes",
|
503 |
+
"wiki": "https://github.com/Upstatement/routes/wiki"
|
504 |
+
},
|
505 |
+
"install-path": "../upstatement/routes"
|
506 |
+
}
|
507 |
+
],
|
508 |
+
"dev": false,
|
509 |
+
"dev-package-names": []
|
510 |
+
}
|
vendor/composer/installed.php
ADDED
@@ -0,0 +1,89 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php return array(
|
2 |
+
'root' => array(
|
3 |
+
'pretty_version' => '1.19.1.x-dev',
|
4 |
+
'version' => '1.19.1.9999999-dev',
|
5 |
+
'type' => 'library',
|
6 |
+
'install_path' => __DIR__ . '/../../',
|
7 |
+
'aliases' => array(),
|
8 |
+
'reference' => '3e213fbd3587eb36adec2d5a081824c4722a0acf',
|
9 |
+
'name' => 'timber/timber',
|
10 |
+
'dev' => false,
|
11 |
+
),
|
12 |
+
'versions' => array(
|
13 |
+
'altorouter/altorouter' => array(
|
14 |
+
'pretty_version' => '2.0.2',
|
15 |
+
'version' => '2.0.2.0',
|
16 |
+
'type' => 'library',
|
17 |
+
'install_path' => __DIR__ . '/../altorouter/altorouter',
|
18 |
+
'aliases' => array(),
|
19 |
+
'reference' => 'f6fede4f94ced7c22ba63a9b8af0bf2dc38e3cb2',
|
20 |
+
'dev_requirement' => false,
|
21 |
+
),
|
22 |
+
'composer/installers' => array(
|
23 |
+
'pretty_version' => 'v1.12.0',
|
24 |
+
'version' => '1.12.0.0',
|
25 |
+
'type' => 'composer-plugin',
|
26 |
+
'install_path' => __DIR__ . '/./installers',
|
27 |
+
'aliases' => array(),
|
28 |
+
'reference' => 'd20a64ed3c94748397ff5973488761b22f6d3f19',
|
29 |
+
'dev_requirement' => false,
|
30 |
+
),
|
31 |
+
'roundcube/plugin-installer' => array(
|
32 |
+
'dev_requirement' => false,
|
33 |
+
'replaced' => array(
|
34 |
+
0 => '*',
|
35 |
+
),
|
36 |
+
),
|
37 |
+
'shama/baton' => array(
|
38 |
+
'dev_requirement' => false,
|
39 |
+
'replaced' => array(
|
40 |
+
0 => '*',
|
41 |
+
),
|
42 |
+
),
|
43 |
+
'symfony/polyfill-ctype' => array(
|
44 |
+
'pretty_version' => 'v1.19.0',
|
45 |
+
'version' => '1.19.0.0',
|
46 |
+
'type' => 'library',
|
47 |
+
'install_path' => __DIR__ . '/../symfony/polyfill-ctype',
|
48 |
+
'aliases' => array(),
|
49 |
+
'reference' => 'aed596913b70fae57be53d86faa2e9ef85a2297b',
|
50 |
+
'dev_requirement' => false,
|
51 |
+
),
|
52 |
+
'timber/timber' => array(
|
53 |
+
'pretty_version' => '1.19.1.x-dev',
|
54 |
+
'version' => '1.19.1.9999999-dev',
|
55 |
+
'type' => 'library',
|
56 |
+
'install_path' => __DIR__ . '/../../',
|
57 |
+
'aliases' => array(),
|
58 |
+
'reference' => '3e213fbd3587eb36adec2d5a081824c4722a0acf',
|
59 |
+
'dev_requirement' => false,
|
60 |
+
),
|
61 |
+
'twig/cache-extension' => array(
|
62 |
+
'pretty_version' => 'v1.5.0',
|
63 |
+
'version' => '1.5.0.0',
|
64 |
+
'type' => 'library',
|
65 |
+
'install_path' => __DIR__ . '/../twig/cache-extension',
|
66 |
+
'aliases' => array(),
|
67 |
+
'reference' => '2c243643f59132194458bd03c745b079bbb12e78',
|
68 |
+
'dev_requirement' => false,
|
69 |
+
),
|
70 |
+
'twig/twig' => array(
|
71 |
+
'pretty_version' => 'v1.42.5',
|
72 |
+
'version' => '1.42.5.0',
|
73 |
+
'type' => 'library',
|
74 |
+
'install_path' => __DIR__ . '/../twig/twig',
|
75 |
+
'aliases' => array(),
|
76 |
+
'reference' => '87b2ea9d8f6fd014d0621ca089bb1b3769ea3f8e',
|
77 |
+
'dev_requirement' => false,
|
78 |
+
),
|
79 |
+
'upstatement/routes' => array(
|
80 |
+
'pretty_version' => '0.8.1',
|
81 |
+
'version' => '0.8.1.0',
|
82 |
+
'type' => 'library',
|
83 |
+
'install_path' => __DIR__ . '/../upstatement/routes',
|
84 |
+
'aliases' => array(),
|
85 |
+
'reference' => '02eb866668f5478d794547aa79e73dd92a989ad9',
|
86 |
+
'dev_requirement' => false,
|
87 |
+
),
|
88 |
+
),
|
89 |
+
);
|
vendor/composer/platform_check.php
ADDED
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
// platform_check.php @generated by Composer
|
4 |
+
|
5 |
+
$issues = array();
|
6 |
+
|
7 |
+
if (!(PHP_VERSION_ID >= 50600)) {
|
8 |
+
$issues[] = 'Your Composer dependencies require a PHP version ">= 5.6.0". You are running ' . PHP_VERSION . '.';
|
9 |
+
}
|
10 |
+
|
11 |
+
if ($issues) {
|
12 |
+
if (!headers_sent()) {
|
13 |
+
header('HTTP/1.1 500 Internal Server Error');
|
14 |
+
}
|
15 |
+
if (!ini_get('display_errors')) {
|
16 |
+
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
|
17 |
+
fwrite(STDERR, 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . implode(PHP_EOL, $issues) . PHP_EOL.PHP_EOL);
|
18 |
+
} elseif (!headers_sent()) {
|
19 |
+
echo 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . str_replace('You are running '.PHP_VERSION.'.', '', implode(PHP_EOL, $issues)) . PHP_EOL.PHP_EOL;
|
20 |
+
}
|
21 |
+
}
|
22 |
+
trigger_error(
|
23 |
+
'Composer detected issues in your platform: ' . implode(' ', $issues),
|
24 |
+
E_USER_ERROR
|
25 |
+
);
|
26 |
+
}
|
vendor/upstatement/routes/README.md
CHANGED
@@ -105,7 +105,6 @@ Routes::map('info/:name/page/:pg', function($params){
|
|
105 |
$query = 'posts_per_page=3&post_type='.$params['name'].'&paged='.intval($params['pg']);
|
106 |
|
107 |
//load up a template which will use that query
|
108 |
-
$params = array();
|
109 |
$params['my_title'] = 'This is my custom title';
|
110 |
Routes::load('archive.php', $params, $query, 200);
|
111 |
});
|
105 |
$query = 'posts_per_page=3&post_type='.$params['name'].'&paged='.intval($params['pg']);
|
106 |
|
107 |
//load up a template which will use that query
|
|
|
108 |
$params['my_title'] = 'This is my custom title';
|
109 |
Routes::load('archive.php', $params, $query, 200);
|
110 |
});
|
vendor/upstatement/routes/Routes.php
CHANGED
@@ -1,10 +1,10 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
Plugin Name: Routes
|
4 |
-
Plugin URI: http://
|
5 |
-
Description:
|
6 |
Author: Jared Novack + Upstatement
|
7 |
-
Version: 0.
|
8 |
Author URI: http://upstatement.com/
|
9 |
|
10 |
Usage:
|
1 |
<?php
|
2 |
/*
|
3 |
Plugin Name: Routes
|
4 |
+
Plugin URI: http://www.upstatement.com
|
5 |
+
Description: Routes makes it easy to add custom routing to your WordPress site. That's why we call it Routes. That is all.
|
6 |
Author: Jared Novack + Upstatement
|
7 |
+
Version: 0.8.1
|
8 |
Author URI: http://upstatement.com/
|
9 |
|
10 |
Usage:
|
vendor/upstatement/routes/composer.json
CHANGED
@@ -7,23 +7,23 @@
|
|
7 |
"rewrite",
|
8 |
"redirects"
|
9 |
],
|
10 |
-
"homepage": "
|
11 |
"license": "MIT",
|
12 |
"authors": [
|
13 |
{
|
14 |
"name": "Jared Novack",
|
15 |
"email": "jared@upstatement.com",
|
16 |
-
"homepage": "
|
17 |
}
|
18 |
],
|
19 |
"support": {
|
20 |
-
"issues": "https://github.com/
|
21 |
-
"wiki": "https://github.com/
|
22 |
-
"source": "https://github.com/
|
23 |
},
|
24 |
"require": {
|
25 |
"php": ">=5.6.0",
|
26 |
-
"altorouter/altorouter": "^2.0",
|
27 |
"composer/installers": "~1.0"
|
28 |
},
|
29 |
"require-dev": {
|
7 |
"rewrite",
|
8 |
"redirects"
|
9 |
],
|
10 |
+
"homepage": "https://www.upstatement.com",
|
11 |
"license": "MIT",
|
12 |
"authors": [
|
13 |
{
|
14 |
"name": "Jared Novack",
|
15 |
"email": "jared@upstatement.com",
|
16 |
+
"homepage": "https://www.upstatement.com"
|
17 |
}
|
18 |
],
|
19 |
"support": {
|
20 |
+
"issues": "https://github.com/Upstatement/routes/issues",
|
21 |
+
"wiki": "https://github.com/Upstatement/routes/wiki",
|
22 |
+
"source": "https://github.com/Upstatement/routes"
|
23 |
},
|
24 |
"require": {
|
25 |
"php": ">=5.6.0",
|
26 |
+
"altorouter/altorouter": "^2.0.2",
|
27 |
"composer/installers": "~1.0"
|
28 |
},
|
29 |
"require-dev": {
|